更新大理市民卡app
diff --git a/pages/sub_medical/addPatient.vue b/pages/sub_medical/addPatient.vue
new file mode 100644
index 0000000..94cfda8
--- /dev/null
+++ b/pages/sub_medical/addPatient.vue
@@ -0,0 +1,79 @@
+<template>
+ <view class="addPatient">
+ <view class="addPatient-items">
+ <u-field v-model="name" label="姓名" placeholder="请输入姓名" required></u-field>
+ <u-field v-model="sex" label="性别" :placeholder="sexVal" required disabled @click="openPicker"></u-field>
+ <u-field v-model="cardno" label="证件号" placeholder="请输入身份证号" required></u-field>
+ <u-field v-model="mobile" label="联系电话" placeholder="请输入联系电话"></u-field>
+ </view>
+ <u-picker mode="selector" v-model="show" :default-selector="[0]" :range="list" @confirm="confirm"></u-picker>
+ <u-button @click="add_patient" :custom-style="addBtn">添加就诊人</u-button>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ name: '',
+ sex: '',
+ cardno: '',
+ mobile: '',
+ list:['男','女'],
+ sexVal: '请选择性别',
+ show:false,
+ addBtn: {
+ backgroundColor: ' #2FA8E1',
+ padding: '50rpx 0',
+ color: '#FFFFFF',
+ width: ' 600rpx',
+ fontSize: '30rpx',
+ border: '1px solid #2FA8E1',
+ marginTop:'50rpx'
+ },
+ }
+ },
+ methods: {
+ openPicker(){
+ this.show = !this.show
+ },
+ confirm(e){
+ let index = e[0]
+ this.sexVal = this.list[index]
+ this.sex = index + 1
+ },
+ add_patient(){
+ let that = this
+ let {name,sex,cardno,mobile} = that
+ if(name == '' || sex == '' || cardno == '' || mobile == ''){
+ uni.showModal({
+ title:'提示',
+ content:'请填写就诊人信息',
+ showCancel:false
+ })
+ return false
+ }
+ let params = {
+ name,sex,cardno,mobile,
+ hospitalcode:''
+ }
+ that.$u.post('/medicineapi/medicalcard/add',params).then(res=>{
+ console.log(res.data)
+ })
+ }
+ },
+ onLoad() {
+
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .addPatient {
+ font-family: "PingFang-SC-Medium";
+ &-items {
+ background-color: #FFFFFF;
+ margin-top: 30rpx;
+ }
+ }
+</style>
diff --git a/pages/sub_medical/appointment.vue b/pages/sub_medical/appointment.vue
new file mode 100644
index 0000000..5de78b7
--- /dev/null
+++ b/pages/sub_medical/appointment.vue
@@ -0,0 +1,279 @@
+<template>
+ <view class="appointment">
+ <view class="appointment-header" @click="getLocal">
+ <u-image src="./images/app_bannar.png" width="100%" mode="widthFix"></u-image>
+ <u-icon name="map" color="#52B6E6" size="36" :label="local" class="appointment-header-icon"></u-icon>
+ </view>
+ <view class="appointment-search">
+ <u-search placeholder="搜索医院名称" v-model="hospial" :show-action="false" bg-color="#ffffff" @focus="toPath('/pages/sub_medical/hospital')"></u-search>
+ </view>
+ <view class="appointment-record">
+ <u-cell-group>
+ <u-cell-item title="我的挂号记录" value="查看更多" @click="toPath('/pages/sub_medical/record')"></u-cell-item>
+ </u-cell-group>
+ <view class="appointment-record-msg" v-if="record_list.length != 0">
+ <view class="appointment-record-msg-left">
+ <u-image src="/static/images/active/mrlfl.png" width="100" mode="widthFix"></u-image>
+ </view>
+ <view class="appointment-record-msg-center">
+ <view class="appointment-record-msg-center-item">
+ <text class="appointment-record-msg-center-item-title">就诊人员:</text>
+ <text class="appointment-record-msg-center-item-value">李小萌</text>
+ </view>
+ <view class="appointment-record-msg-center-item">
+ <text class="appointment-record-msg-center-item-title">就诊医院:</text>
+ <text class="appointment-record-msg-center-item-value">大理市第二人民医院</text>
+ </view>
+ <view class="appointment-record-msg-center-item">
+ <text class="appointment-record-msg-center-item-title">就诊科室:</text>
+ <text class="appointment-record-msg-center-item-value">普外科</text>
+ </view>
+ <view class="appointment-record-msg-center-item">
+ <text class="appointment-record-msg-center-item-title">就诊时间:</text>
+ <text class="appointment-record-msg-center-item-value">2020-10-27【上午】</text>
+ </view>
+ </view>
+ <view class="appointment-record-msg-right">
+ <text class="appointment-record-msg-status">挂号成功</text>
+ </view>
+ </view>
+ <view class="appointment-record-nomsg" v-else>
+ <text>暂无挂号记录</text>
+ </view>
+ <!-- <view class="appointment-record-btn">
+ <u-button :plain="true" size="mini" type="primary" shape="circle">取消预约</u-button>
+ </view> -->
+ </view>
+ <view class="appointment-hospital">
+ <u-cell-group>
+ <u-cell-item title="本地医院" value="查看更多" @click="toPath('/pages/sub_medical/hospital')"></u-cell-item>
+ </u-cell-group>
+ <view class="appointment-hospital-msg" v-if="hospital_list.length != 0">
+ <view class="appointment-hospital-msg-box" @click="toPath('/pages/sub_medical/outpatient')" v-for="(v,i) in hospital_list" :key="i">
+ <view class="appointment-hospital-msg-left">
+ <u-image :src="v.src" width="100" mode="widthFix"></u-image>
+ </view>
+ <view class="appointment-hospital-msg-right">
+ <view class="appointment-hospital-msg-right-item">
+ <text class="appointment-hospital-msg-right-item-logo">{{v.level}}</text>
+ <text class="appointment-hospital-msg-right-item-value" style="color: #333333;font-size: 32rpx;">{{v.name}}</text>
+ </view>
+ <view class="appointment-hospital-msg-right-item">
+ <text class="appointment-hospital-msg-right-item-title">地理位置:</text>
+ <text class="appointment-hospital-msg-right-item-value">{{v.address}}</text>
+ </view>
+ <view class="appointment-hospital-msg-right-item">
+ <text class="appointment-hospital-msg-right-item-title">门诊时间:</text>
+ <text class="appointment-hospital-msg-right-item-value">{{v.time}}</text>
+ </view>
+ </view>
+ </view>
+ </view>
+ <view class="appointment-hospital-nomsg" v-else>
+ <text>暂无医院数据</text>
+ </view>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ local: '大理',
+ hospial: '',
+ hospital_list:[],
+ record_list:[]
+ }
+ },
+ onLoad() {
+ this.get_hospital_list()
+ this.getLocal()
+ },
+ methods: {
+ getLocal() {
+ let that = this
+ uni.getLocation({
+ type: 'gcj02',
+ geocode: true,
+ success(res) {
+ console.log(res)
+ // #ifdef APP-PLUS
+ that.local = res.address.city
+ // #endif
+ },
+ fail(ret){
+ that.local = '获取位置失败'
+ console.log(ret)
+ }
+ })
+ },
+ get_hospital_list(){
+ let that = this
+ let params = {
+ pageno:1,
+ pagesize:3,
+ name:''
+ }
+ that.$u.get('/medicineapi/hospital/list',params).then(res=>{
+ that.hospital_list = res.data.list
+ console.log(res.data.list)
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ /deep/.u-btn--primary--plain {
+ background-color: #FFFFFF !important;
+ }
+
+ .u-cell {
+ padding: 30rpx 20rpx;
+ }
+
+ /deep/.u-cell__right-icon-wrap {
+ height: 54rpx;
+ }
+
+ uni-button {
+ margin-left: 0;
+ margin-right: 0;
+ }
+
+ .appointment {
+ font-family: "PingFang-SC-Medium";
+
+ &-header {
+ position: relative;
+
+ &-icon {
+ position: absolute;
+ top: 20rpx;
+ left: 20rpx;
+ }
+ }
+
+ &-search {
+ padding: 30rpx;
+ }
+
+ &-record {
+ background-color: #FFFFFF;
+ &-nomsg{
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ padding: 50rpx 30rpx;
+ }
+
+ &-msg {
+ padding: 30rpx 10rpx;
+ display: flex;
+ justify-content: space-between;
+
+ // align-items: center;
+ &-left {
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ }
+
+ &-center {
+ flex: 3;
+
+ &-item {
+ padding: 0 0 10rpx;
+
+ &-title {
+ color: #909399;
+ }
+ }
+ }
+
+ &-right {
+ display: flex;
+ justify-content: center;
+ flex: 1;
+ color: #3DC64F;
+
+ &-item {}
+ }
+ }
+
+ &-btn {
+ padding: 0rpx 30rpx 30rpx;
+ display: flex;
+ justify-content: flex-end;
+ }
+ }
+
+ &-hospital {
+ background-color: #FFFFFF;
+ margin: 30rpx 0;
+
+ &-nomsg{
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ padding: 50rpx 30rpx;
+ }
+
+ &-msg {
+ &-box {
+ display: flex;
+ justify-content: space-between;
+ padding: 30rpx 10rpx;
+ }
+
+ &-left {
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ }
+
+ &-right {
+ display: flex;
+ flex: 4;
+ flex-direction: column;
+
+ &-item {
+ padding: 0 0 10rpx;
+ display: flex;
+ align-items: center;
+
+ &-logo {
+ display: inline-block;
+ background-color: #17C46F;
+ padding: 4rpx;
+ color: #FFFFFF;
+ font-size: 20rpx;
+ border-radius: 5rpx;
+ margin-right: 10rpx;
+ }
+
+ &-title {
+ display: inline-block;
+ // flex: 1;
+ width: 140rpx;
+ color: #B5B5B5;
+ font-size: 26rpx;
+ }
+
+ &-value {
+ display: inline-block;
+ // flex: 4;
+ color: #B5B5B5;
+ width: 400rpx;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ font-size: 28rpx;
+ }
+ }
+ }
+ }
+ }
+ }
+</style>
diff --git a/pages/sub_medical/cashFlow.vue b/pages/sub_medical/cashFlow.vue
new file mode 100644
index 0000000..efe1ff2
--- /dev/null
+++ b/pages/sub_medical/cashFlow.vue
@@ -0,0 +1,153 @@
+<template>
+ <view class="cashFlow">
+ <view style="padding: 30rpx 0;">
+ <view class="cashFlow-header">
+ <view :class="'cashFlow-header-items left ' + (leftOright?'color':'')" @click="changeTurnoverList(true)">待缴费</view>
+ <view :class="'cashFlow-header-items right ' + (leftOright?'':'color')" @click="changeTurnoverList(false)">已缴费</view>
+ </view>
+ </view>
+ <view v-if="leftOright">
+ <scroll-view scroll-y :enable-back-to-top="true" @scrolltolower="" class="scrollView">
+ <view class="cashFlow-ul">
+ <view class="cashFlow-ul-item">
+ <view class="cashFlow-ul-item-left">
+ <view class="cashFlow-ul-item-left-top">
+ <u-image src="./images/pay.png" width="80" height="80"></u-image>
+ <text>挂号费</text>
+ </view>
+ <view class="cashFlow-ul-item-left-bottom">
+ <text class="cashFlow-ul-item-left-bottom-bold">01</text>
+ <text class="cashFlow-ul-item-left-bottom-normal">天内缴费,截止日期2020/10/28 23:59:59</text>
+ </view>
+ </view>
+ <view class="cashFlow-ul-item-right">
+ <text>¥23.5</text>
+ </view>
+ </view>
+ </view>
+ </scroll-view>
+ </view>
+ <view v-if="!leftOright">
+ <scroll-view scroll-y :enable-back-to-top="true" @scrolltolower="" class="scrollView">
+ <view class="cashFlow-ul">
+ <view class="cashFlow-ul-item">
+ <view class="cashFlow-ul-item-left">
+ <view class="cashFlow-ul-item-left-top">
+ <u-image src="./images/pay.png" width="80" height="80"></u-image>
+ <text>挂号费</text>
+ </view>
+ <view class="cashFlow-ul-item-left-bottom">
+ <text class="cashFlow-ul-item-left-bottom-normal">缴费日期:</text>
+ <text class="cashFlow-ul-item-left-bottom-normal">2020-10-28 12:30:59</text>
+ </view>
+ </view>
+ <view class="cashFlow-ul-item-right">
+ <text>¥23.5</text>
+ </view>
+ </view>
+ </view>
+ </scroll-view>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ leftOright: true
+ }
+ },
+ methods: {
+ changeTurnoverList(e) {
+ this.leftOright = e
+ },
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .scrollView{
+ height: calc(100vh - 130rpx - 100rpx);
+ }
+ .cashFlow {
+ font-family: "PingFang-SC-Medium";
+ &-header {
+ width: 80%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ border-radius: 50rpx;
+ margin: 0rpx auto;
+
+ &-items {
+ width: 50%;
+ text-align: center;
+ background-color: #ffffff;
+ padding: 20rpx;
+ color: #999999;
+ border-top: 2rpx solid #F1F1F1;
+ border-bottom: 2rpx solid #F1F1F1;
+ }
+ .left {
+ border-top-left-radius: 50rpx;
+ border-bottom-left-radius: 50rpx;
+ border-left: 2rpx solid #F1F1F1;
+ }
+
+ .right {
+ border-top-right-radius: 50rpx;
+ border-bottom-right-radius: 50rpx;
+ border-right: 2rpx solid #F1F1F1;
+ }
+
+ .color {
+ background-color: #3599fb;
+ color: #ffffff;
+ padding: 20rpx;
+ border: 2rpx solid transparent;
+ }
+ }
+ &-ul{
+ padding: 0 20rpx;
+ &-item{
+ background-color: #FFFFFF;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 30rpx 20rpx;
+ border-radius: 10rpx;
+ &-left{
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ &-top{
+ display: flex;
+ align-items: center;
+ text{
+ font-size: 36rpx;
+ margin-left: 10rpx;
+ font-weight: bold;
+ }
+ }
+ &-bottom{
+ margin-top: 20rpx;
+ &-bold{
+ font-size: 32rpx;
+ font-weight: bold;
+ }
+ &-normal{
+ color: #a1a1a1;
+ }
+ }
+ }
+ &-right{
+ font-size: 40rpx;
+ color: #FF6F6F;
+ font-weight: bold;
+ }
+ }
+ }
+
+ }
+</style>
diff --git a/pages/sub_medical/confirm.vue b/pages/sub_medical/confirm.vue
new file mode 100644
index 0000000..155b690
--- /dev/null
+++ b/pages/sub_medical/confirm.vue
@@ -0,0 +1,122 @@
+<template>
+ <view class="confirm">
+ <view class="confirm-header">
+ <u-image src="./images/hospital.png" width="100" mode="widthFix"></u-image>
+ <view class="confirm-header-partmsg">
+ <text class="confirm-header-partmsg-title">心内科</text>
+ <text class="confirm-header-partmsg-subtitle">大理市第一人民医院(总院)</text>
+ </view>
+ </view>
+ <view class="confirm-part">
+ <view class="confirm-part-item">
+ <text class="confirm-part-item-title">就诊时间:</text>
+ <text class="confirm-part-item-subtitle">2020-10-20/周一/上午</text>
+ </view>
+ <view class="confirm-part-item">
+ <text class="confirm-part-item-title">就诊地点:</text>
+ <text class="confirm-part-item-subtitle">云南省大理市大苏打大撒</text>
+ </view>
+ </view>
+ <view class="confirm-member">
+ <u-cell-group>
+ <u-cell-item title="选择就诊人" value="就诊人管理" :value-style="style" @click="toPath('/pages/sub_medical/patient')"></u-cell-item>
+ </u-cell-group>
+ <view class="confirm-member-msg">
+ <u-field label="就诊人员" placeholder="李小明/男/24岁" disabled required :placeholder-style="mstyle" input-align="right" :border-bottom="false"></u-field>
+ <u-field label="证件号码" placeholder="32323423423****3123" disabled required :placeholder-style="mstyle" input-align="right" :border-bottom="false"></u-field>
+ <u-field label="就诊卡号" placeholder="321321441" disabled required :placeholder-style="mstyle" input-align="right" :border-bottom="false"></u-field>
+ <u-field label="联系电话" placeholder="130****3322" disabled :placeholder-style="mstyle" input-align="right" :border-bottom="false"></u-field>
+ </view>
+ </view>
+ <u-button :custom-style="btn">提交预约</u-button>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ style: {
+ color: '#2FA8E1'
+ },
+ mstyle:'color:#333333',
+ btn: {
+ backgroundColor: ' #2FA8E1',
+ padding: '50rpx 0',
+ color: '#FFFFFF',
+ width: ' 650rpx',
+ fontSize: '30rpx',
+ border: '1px solid #2FA8E1',
+ marginTop:'50rpx'
+ },
+ }
+ },
+ onLoad() {
+
+ },
+ methods: {
+
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .u-field{
+ color: #a1a1a1;
+ }
+ .u-cell {
+ padding: 30rpx 10rpx;
+ }
+ .u-cell__right-icon-wrap {
+ height: 54rpx;
+ }
+ .confirm {
+ font-family: "PingFang-SC-Medium";
+
+ &-header {
+ padding: 10rpx;
+ background-color: #FFFFFF;
+ display: flex;
+ align-items: center;
+ margin-bottom: 3rpx;
+
+ &-partmsg {
+ margin-left: 30rpx;
+ display: flex;
+ flex-direction: column;
+
+ &-title {
+ font-size: 32rpx;
+ font-weight: bold;
+ margin-bottom: 6rpx;
+ }
+
+ &-subtitle {
+ color: #6A6A6A;
+ }
+ }
+ }
+
+ &-part {
+ background-color: #FFFFFF;
+ padding: 30rpx 20rpx;
+
+ &-item {
+ margin-bottom: 10rpx;
+
+ &-title {
+ color: #A1A1A1;
+ }
+
+ &-subtitle {
+ color: #333333;
+ }
+ }
+ }
+
+ &-member {
+ background-color: #FFFFFF;
+ margin: 30rpx 0;
+ }
+ }
+</style>
diff --git a/pages/sub_medical/hospital.vue b/pages/sub_medical/hospital.vue
new file mode 100644
index 0000000..1b66fc1
--- /dev/null
+++ b/pages/sub_medical/hospital.vue
@@ -0,0 +1,167 @@
+<template>
+ <view class="hospital">
+ <view class="hospital-search">
+ <u-search placeholder="搜索医院名称" v-model="hospial" :show-action="false" bg-color="#ffffff" :focus="isFocus" @search="get_hospital_list"></u-search>
+ </view>
+ <view class="hospital-drop">
+ <view class="hospital-drop-item">
+ <u-dropdown border-bottom class="drop">
+ <u-dropdown-item v-model="value1" title="医院排序" :options="options1"></u-dropdown-item>
+ </u-dropdown>
+ </view>
+ </view>
+ <view class="hospital-ul">
+ <view class="hospital-ul-noitem" v-if="hospital_list.length == 0">
+ <text>{{notice}}</text>
+ </view>
+ <view class="hospital-ul-item" v-else >
+ <view class="hospital-ul-item-box" v-for="(v,i) in hospital_list" :key="i">
+ <view class="hospital-ul-item-left">
+ <u-image :src="v.src" width="100" mode="widthFix"></u-image>
+ </view>
+ <view class="hospital-ul-item-right">
+ <view class="hospital-ul-item-right-item">
+ <text class="hospital-ul-item-right-item-logo">{{v.level}}</text>
+ <text class="hospital-ul-item-right-item-value" style="color: #333333;font-size: 32rpx;">{{v.name}}</text>
+ </view>
+ <view class="hospital-ul-item-right-item">
+ <text class="hospital-ul-item-right-item-title">地理位置:</text>
+ <text class="hospital-ul-item-right-item-value">{{v.address}}</text>
+ </view>
+ <view class="hospital-ul-item-right-item">
+ <text class="hospital-ul-item-right-item-title">门诊时间:</text>
+ <text class="hospital-ul-item-right-item-value">{{v.time}}</text>
+ </view>
+ </view>
+ </view>
+ </view>
+
+ </view>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ isFocus: true,
+ hospial: '',
+ value1: 1,
+ options1: [{
+ label: '默认排序',
+ value: 1,
+ }],
+ hospital_list: [],
+ notice:'暂无数据'
+ }
+ },
+ onLoad() {
+
+ },
+ methods: {
+ get_hospital_list() {
+ let that = this
+ let name = that.hospial
+ let params = {
+ pageno: 1,
+ pagesize: 10,
+ name: name
+ }
+ that.$u.get('/medicineapi/hospital/list', params).then(res => {
+ that.hospital_list = res.data.list
+ that.notice = '没有搜索到此关键词'
+ console.log(res.data.list)
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .drop {
+ /deep/.u-dropdown__menu__item {
+ padding: 0 30rpx;
+ justify-content: flex-start;
+ }
+ }
+
+ .hospital {
+ font-family: "PingFang-SC-Medium";
+
+ &-search {
+ padding: 30rpx;
+ }
+
+ &-drop {
+ background-color: #FFFFFF;
+
+ &-item {}
+ }
+
+ &-ul {
+ background-color: #FFFFFF;
+
+ &-noitem {
+ display: flex;
+ justify-content: center;
+ padding: 50rpx 30rpx;
+ align-items: center;
+ }
+
+ &-item {
+ &-box {
+ display: flex;
+ justify-content: space-between;
+ padding: 30rpx 10rpx;
+ }
+
+ &-left {
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ }
+
+ &-right {
+ display: flex;
+ flex: 4;
+ flex-direction: column;
+
+ &-item {
+ padding: 0 0 10rpx;
+ display: flex;
+ align-items: center;
+
+ &-logo {
+ display: inline-block;
+ background-color: #17C46F;
+ padding: 4rpx;
+ color: #FFFFFF;
+ font-size: 20rpx;
+ border-radius: 5rpx;
+ margin-right: 10rpx;
+ }
+
+ &-title {
+ display: inline-block;
+ // flex: 1;
+ width: 140rpx;
+ color: #B5B5B5;
+ font-size: 26rpx;
+ }
+
+ &-value {
+ display: inline-block;
+ // flex: 4;
+ color: #B5B5B5;
+ width: 400rpx;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ font-size: 28rpx;
+ }
+ }
+ }
+ }
+ }
+ }
+</style>
diff --git a/pages/sub_medical/images/app_bannar.png b/pages/sub_medical/images/app_bannar.png
new file mode 100644
index 0000000..959dc59
--- /dev/null
+++ b/pages/sub_medical/images/app_bannar.png
Binary files differ
diff --git a/pages/sub_medical/images/cush.png b/pages/sub_medical/images/cush.png
new file mode 100644
index 0000000..5f0697e
--- /dev/null
+++ b/pages/sub_medical/images/cush.png
Binary files differ
diff --git a/pages/sub_medical/images/hospital.png b/pages/sub_medical/images/hospital.png
new file mode 100644
index 0000000..50fee69
--- /dev/null
+++ b/pages/sub_medical/images/hospital.png
Binary files differ
diff --git a/pages/sub_medical/images/pat_bannar.png b/pages/sub_medical/images/pat_bannar.png
new file mode 100644
index 0000000..e1381a8
--- /dev/null
+++ b/pages/sub_medical/images/pat_bannar.png
Binary files differ
diff --git a/pages/sub_medical/images/pay.png b/pages/sub_medical/images/pay.png
new file mode 100644
index 0000000..0265784
--- /dev/null
+++ b/pages/sub_medical/images/pay.png
Binary files differ
diff --git a/pages/sub_medical/images/report.png b/pages/sub_medical/images/report.png
new file mode 100644
index 0000000..06db6e5
--- /dev/null
+++ b/pages/sub_medical/images/report.png
Binary files differ
diff --git a/pages/sub_medical/images/success.png b/pages/sub_medical/images/success.png
new file mode 100644
index 0000000..86386db
--- /dev/null
+++ b/pages/sub_medical/images/success.png
Binary files differ
diff --git a/pages/sub_medical/outpatient.vue b/pages/sub_medical/outpatient.vue
new file mode 100644
index 0000000..6eac58a
--- /dev/null
+++ b/pages/sub_medical/outpatient.vue
@@ -0,0 +1,178 @@
+<template>
+ <view class="outpatient">
+ <view class="outpatient-headerbox">
+ <view class="outpatient-header">
+ <view class="outpatient-header-img">
+ <u-image src="/static/images/active/mrlfl.png" width="120" mode="widthFix"></u-image>
+ </view>
+ <view class="outpatient-header-msg">
+ <text class="outpatient-header-msg-title">大理市第一人民医院</text>
+ <text class="outpatient-header-msg-logo">三甲</text>
+ <text class="outpatient-header-msg-to">热门科室:皮肤科、普外科</text>
+ </view>
+ </view>
+ <u-icon name="map" color="#52B6E6" size="36" :label="local" class="outpatient-headerbox-icon" label-color="#A1A1A1"></u-icon>
+ <u-icon name="clock" color="#52B6E6" size="36" :label="time" class="outpatient-headerbox-icon" label-color="#A1A1A1"></u-icon>
+ <u-icon name="phone" color="#52B6E6" size="36" :label="tel" class="outpatient-headerbox-icon" label-color="#A1A1A1"></u-icon>
+ </view>
+ <view class="outpatient-search">
+ <u-search placeholder="搜索科室名称" v-model="part" :show-action="false" bg-color="#ffffff"></u-search>
+ </view>
+ <view class="outpatient-kinds">
+ <view class="outpatient-kinds-left">
+ <scroll-view scroll-y="true" class="scrollView" :style="{height:height+'px'}">
+ <view class="outpatient-kinds-left-item">
+ <view class="outpatient-kinds-left-item-line"> </view>
+ <u-cell-item title="全部" :arrow="false" bg-color="#ffffff" :title-style="style"></u-cell-item>
+ </view>
+ </scroll-view>
+ </view>
+ <view class="outpatient-kinds-right">
+ <scroll-view scroll-y="true" class="scrollView" :style="{height:height+'px'}">
+ <view class="outpatient-kinds-right-item" @click="toPath('/pages/sub_medical/queryDate')">
+ <u-cell-item title="心内科" :arrow="false"></u-cell-item>
+ </view>
+ <view class="outpatient-kinds-right-item">
+ <u-cell-item title="心内科" :arrow="false"></u-cell-item>
+ </view>
+ <view class="outpatient-kinds-right-item">
+ <u-cell-item title="心内科" :arrow="false"></u-cell-item>
+ </view>
+ <view class="outpatient-kinds-right-item">
+ <u-cell-item title="心内科" :arrow="false"></u-cell-item>
+ </view>
+ <view class="outpatient-kinds-right-item">
+ <u-cell-item title="心内科" :arrow="false"></u-cell-item>
+ </view>
+ </scroll-view>
+ </view>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ local: '云南省大理市下关泰安路36号',
+ time: '上午8:00-11:30;下午14:00-17:30 周六、日照常。',
+ tel: '021-3123320',
+ part: '',
+ height: '',
+ style: {
+ color: '#40AFE3',
+ fontWeight: 'bold'
+ }
+ }
+ },
+ onLoad() {
+ this.getSrcollViewHeight()
+ },
+ methods: {
+ getSrcollViewHeight() {
+ let winHeight
+ let that = this
+ uni.getSystemInfo({
+ success: function(res) {
+ winHeight = res.windowHeight
+ }
+ });
+ //console.log(winHeight)
+ const query = uni.createSelectorQuery().in(that);
+ query.select('.outpatient-search').boundingClientRect(data => {
+ console.log(data)
+ if (!data) {
+ setTimeout(() => {
+ that.getSrcollViewHeight()
+ }, 10)
+ return
+ }
+ that.height = winHeight - data.top - data.height
+ // that.height = (data.bottom - data.height)*2
+ }).exec();
+ },
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .u-cell{
+ padding: 20rpx 32rpx;
+ }
+ .outpatient {
+ font-family: "PingFang-SC-Medium";
+
+ &-headerbox {
+ background-color: #FFFFFF;
+ padding: 30rpx 20rpx;
+
+ &-icon {
+ margin-bottom: 10rpx;
+ font-size: 28rpx;
+ }
+ }
+
+ &-header {
+ display: flex;
+ align-items: center;
+ margin-bottom: 30rpx;
+
+ &-img {
+ justify-content: center;
+
+ }
+
+ &-msg {
+ margin-left: 20rpx;
+ display: flex;
+ flex-direction: column;
+
+ &-title {
+ font-size: 32rpx;
+ }
+
+ &-logo {
+ display: inline-block;
+ background-color: #17C46F;
+ padding: 4rpx;
+ width: 80rpx;
+ color: #FFFFFF;
+ text-align: center;
+ font-size: 20rpx;
+ border-radius: 5rpx;
+ margin: 10rpx 0;
+ }
+
+ &-to {
+ color: #A1A1A1;
+ }
+ }
+
+ }
+
+ &-search {
+ padding: 30rpx;
+ }
+ &-kinds {
+ display: flex;
+ &-left {
+ flex: 1;
+ &-item {
+ display: flex;
+ background-color: #FFFFFF;
+ &-line {
+ width: 10rpx;
+ height: 110rpx;
+ background-color: #40AFE3;
+ }
+ }
+ }
+
+ &-right {
+ flex: 3;
+ background-color: #FFFFFF;
+ }
+ }
+
+ }
+</style>
diff --git a/pages/sub_medical/patient.vue b/pages/sub_medical/patient.vue
new file mode 100644
index 0000000..f6d549c
--- /dev/null
+++ b/pages/sub_medical/patient.vue
@@ -0,0 +1,102 @@
+<template>
+ <view class="patient">
+ <view class="patient-bgc">
+ <!-- #ifdef APP-PLUS -->
+ <u-navbar title="就诊人管理" :background="background" title-color="#ffffff" :border-bottom="false" back-icon-color="#ffffff"></u-navbar>
+ <!-- #endif -->
+ </view>
+ <view class="patient-ul">
+ <view class="patient-ul-item">
+ <u-field label="当前就诊人" placeholder="" disabled input-align="right" label-width="150">
+ <u-button size="mini" slot="right" plain type="primary" shape="circle" @click="deleteMenber" :custom-style="btn">删除</u-button>
+ </u-field>
+ <view class="patient-ul-item-msg">
+ <u-field label="就诊人员" placeholder="李小明/男/24岁" disabled :placeholder-style="mstyle" input-align="right" :border-bottom="false"></u-field>
+ <u-field label="证件号码" placeholder="2324324*****323123" disabled :placeholder-style="mstyle" input-align="right" :border-bottom="false"></u-field>
+ <u-field label="就诊卡号" placeholder="30230248912" disabled :placeholder-style="mstyle" input-align="right" :border-bottom="false"></u-field>
+ <u-field label="联系电话" placeholder="131****3421" disabled :placeholder-style="mstyle" input-align="right" :border-bottom="false"></u-field>
+ </view>
+ </view>
+ <view class="patient-ul-item">
+ <u-field label="就诊人" placeholder="" disabled input-align="right" label-width="150">
+ <u-button size="mini" slot="right" type="primary" plain shape="circle" @click="deleteMenber" :custom-style="btn">删除</u-button>
+ </u-field>
+ <view class="patient-ul-item-msg">
+ <u-field label="就诊人员" placeholder="李小明/男/24岁" disabled :placeholder-style="mstyle" input-align="right" :border-bottom="false"></u-field>
+ <u-field label="证件号码" placeholder="2324324*****323123" disabled :placeholder-style="mstyle" input-align="right" :border-bottom="false"></u-field>
+ <u-field label="就诊卡号" placeholder="30230248912" disabled :placeholder-style="mstyle" input-align="right" :border-bottom="false"></u-field>
+ <u-field label="联系电话" placeholder="131****3421" disabled :placeholder-style="mstyle" input-align="right" :border-bottom="false"></u-field>
+ </view>
+ </view>
+ </view>
+ <u-button @click="" :custom-style="addBtn">添加就诊人</u-button>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ background: {
+ 'background': 'no'
+ },
+ btn:{
+ padding:'0 30rpx',
+ background:'#ffffff'
+ },
+ addBtn: {
+ backgroundColor: ' #2FA8E1',
+ padding: '50rpx 0',
+ color: '#FFFFFF',
+ width: ' 600rpx',
+ fontSize: '30rpx',
+ border: '1px solid #2FA8E1',
+ },
+ mstyle:'color:#333333',
+ }
+ },
+ onLoad() {
+
+ },
+ methods: {
+ deleteMenber(){
+ let that = this
+ let cardid = '123'
+ that.$u.post('/medicineapi/medicalcard/delete/' + cardid).then(res=>{
+ console.log(res.data)
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ /deep/.u-btn--primary--plain{
+ background-color: #FFFFFF !important;
+ }
+ .patient {
+ font-family: "PingFang-SC-Medium";
+ &-bgc {
+ background-image: url(./images/pat_bannar.png);
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: cover;
+ padding-bottom: 340rpx;
+ }
+
+ &-ul {
+ margin-top: -270rpx;
+ padding: 0 30rpx;
+ &-item{
+ margin-bottom: 30rpx;
+ background-color: #FFFFFF;
+ border-radius: 10rpx;
+ &-msg{
+ .u-field{
+ color: #a1a1a1;
+ }
+ }
+ }
+ }
+ }
+</style>
diff --git a/pages/sub_medical/pay.vue b/pages/sub_medical/pay.vue
new file mode 100644
index 0000000..751d7d3
--- /dev/null
+++ b/pages/sub_medical/pay.vue
@@ -0,0 +1,57 @@
+<template>
+ <view class="pay">
+ <u-cell-group>
+ <u-cell-item title="挂号费" :title-style="tstyle" :arrow="false">
+ <u-image slot="icon" src="./images/cush.png" width="60" height="60" mode="aspectFit"></u-image>
+ </u-cell-item>
+ <u-cell-item title="缴费金额" :arrow="false" value="23.50元" :value-style="vstyle"></u-cell-item>
+ </u-cell-group>
+ <u-cell-group>
+ <u-cell-item title="商户名称" :arrow="false" value="大理市第一人民医院"></u-cell-item>
+ <u-cell-item title="截止日期" :arrow="false" value="2020/10/28 23:29:29"></u-cell-item>
+ <u-cell-item title="交易状态" :arrow="false" value="未支付"></u-cell-item>
+ </u-cell-group>
+ <u-button @click="" :custom-style="payBtn">立即支付</u-button>
+ </view>
+</template>
+
+<script>
+ export default{
+ data(){
+ return{
+ tstyle: {
+ marginLeft: '10rpx',
+ fontWeight: 'bold'
+ },
+ vstyle: {
+ color: '#FF6F6F'
+ },
+ payBtn: {
+ backgroundColor: ' #2FA8E1',
+ padding: '50rpx 0',
+ color: '#FFFFFF',
+ width: ' 600rpx',
+ fontSize: '30rpx',
+ border: '1px solid #2FA8E1',
+ marginTop: '50rpx'
+ },
+ }
+ },
+ methods:{
+
+ },
+ onLoad(){
+
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .u-cell-box{
+ margin-bottom: 30rpx;
+ }
+ .pay{
+ font-family: "PingFang-SC-Medium";
+ }
+
+</style>
diff --git a/pages/sub_medical/payResult.vue b/pages/sub_medical/payResult.vue
new file mode 100644
index 0000000..bd09b48
--- /dev/null
+++ b/pages/sub_medical/payResult.vue
@@ -0,0 +1,80 @@
+<template>
+ <view class="payResult">
+ <view class="payResult-status" v-if="msg.billstatus ==2">
+ <icon type="success" size="60" color="#3599FB"></icon>
+ <text class="payResult-status-text">支付成功</text>
+ </view>
+ <view class="payResult-status" v-if="msg.billstatus !=2">
+ <icon type="warn" size="60"></icon>
+ <text class="payResult-status-text">支付失败</text>
+ </view>
+ <view class="payResult-money" v-if="msg.billstatus ==2"><text>-¥{{msg.amount?msg.amount:'0.00'}}</text></view>
+ <view class="payResult-msg">
+ <u-cell-group>
+ <u-cell-item title="商户名" :value="msg.shopname?msg.shopname:'未知商户'" :arrow="false" bg-color="#FFFFFF"></u-cell-item>
+ <u-cell-item title="交易方式" :value="msg.billname?msg.billname:'未知方式'" :arrow="false" bg-color="#FFFFFF"></u-cell-item>
+ <u-cell-item title="交易时间" :value="msg.paytime?msg.paytime:'未知时间'" :arrow="false" bg-color="#FFFFFF"></u-cell-item>
+ <u-cell-item title="订单号" :value="msg.refno?msg.refno:'未知订单号'" :arrow="false" bg-color="#FFFFFF"></u-cell-item>
+ </u-cell-group>
+ </view>
+ <u-button class="btn":custom-style="btn" @tap="goBack">返回首页</u-button>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ msg: {},
+ btn: {
+ backgroundColor: ' #2FA8E1',
+ padding: '50rpx 0',
+ color: '#FFFFFF',
+ width: ' 600rpx',
+ fontSize: '30rpx',
+ border: '1px solid #2FA8E1',
+ marginTop: '50rpx'
+ }
+ }
+ },
+ onLoad(options) {
+ let that = this;
+ if (options.data) {
+ let msg = JSON.parse(options.data);
+ msg.amount = msg.amount.toFixed(2);
+ that.msg = msg
+ }
+ },
+ methods: {
+ goBack() {
+ uni.switchTab({
+ url: '/pages/sub_tabbar/index'
+ });
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .payResult {
+ background-color: #FFFFFF;
+ height: 100vh;
+ box-sizing: border-box;
+ padding: 30rpx 0;
+ display: flex;
+ flex-direction: column;
+ &-status{
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+ &-text{
+ font-size: 40rpx;
+ margin-top: 30rpx;
+ }
+ }
+ &-msg{
+ margin-top: 50rpx;
+ }
+ }
+</style>
diff --git a/pages/sub_medical/queryDate.vue b/pages/sub_medical/queryDate.vue
new file mode 100644
index 0000000..d2ff8d8
--- /dev/null
+++ b/pages/sub_medical/queryDate.vue
@@ -0,0 +1,129 @@
+<template>
+ <view class="queryDate">
+ <view class="queryDate-header">
+ <u-image src="./images/hospital.png" width="120" mode="widthFix"></u-image>
+ <view class="queryDate-header-partmsg">
+ <text class="queryDate-header-partmsg-title">心内科</text>
+ <text class="queryDate-header-partmsg-subtitle">大理市第一人民医院(总院)</text>
+ </view>
+ </view>
+ <view class="queryDate-query">
+ <text class="queryDate-query-title">排班信息</text>
+ <u-line margin="30rpx 0 10rpx"/>
+ <view class="queryDate-query-calendar">
+ <my-calendar @change="getDate"></my-calendar>
+ </view>
+ <u-line></u-line>
+ <view class="queryDate-query-cell">
+ <text class="queryDate-query-cell-title">就诊时间:上午</text>
+ <view class="queryDate-query-cell-num">
+ <text class="queryDate-query-cell-num-now" :class="isMorFull?'err':'success'">21</text>
+ <text class="queryDate-query-cell-num-all">/40</text>
+ </view>
+ <u-button size="mini" :type="isMorFull?'':'primary'" plain shape="circle" :disabled="isMorFull"
+ @click="toPath('/pages/sub_medical/confirm')">{{isMorFull?'已约满':'可预约'}}</u-button>
+ </view>
+ <u-line></u-line>
+ <view class="queryDate-query-cell">
+ <text class="queryDate-query-cell-title">就诊时间:下午</text>
+ <view class="queryDate-query-cell-num">
+ <text class="queryDate-query-cell-num-now " :class="isAftFull?'err':'success'">21</text>
+ <text class="queryDate-query-cell-num-all">/40</text>
+ </view>
+ <u-button size="mini" :type="isAftFull?'':'primary'" plain shape="circle" :disabled="isAftFull">{{isAftFull?'已约满':'可预约'}}</u-button>
+ </view>
+ <u-line></u-line>
+ <view class="queryDate-query-cell">
+ <text class="queryDate-query-cell-title">就诊时间:晚上</text>
+ <view class="queryDate-query-cell-num">
+ <text class="queryDate-query-cell-num-now" :class="isEveFull?'err':'success'">40</text>
+ <text class="queryDate-query-cell-num-all">/40</text>
+ </view>
+ <u-button size="mini" :type="isEveFull?'':'primary'" plain shape="circle" :disabled="isEveFull">{{isEveFull?'已约满':'可预约'}}</u-button>
+ </view>
+ </view>
+ </view>
+</template>
+
+<script>
+ import myCalendar from './z_components/calendar/calendar.vue'
+ export default {
+ components: {
+ myCalendar,
+ },
+ data() {
+ return {
+ isEveFull:true,
+ isAftFull:false,
+ isMorFull:false,
+ }
+ },
+ methods: {
+ getDate(e){
+ console.log(e)
+ }
+ },
+ onLoad() {
+
+ }
+ }
+</script>
+
+<style scoped lang="scss">
+ /deep/.u-btn--primary--plain{
+ background-color: #FFFFFF !important;
+ }
+ uni-button{
+ margin-left: 0;
+ margin-right: 0;
+ }
+ .err{
+ color: #FF5353;
+ }
+ .success{
+ color: #17C46F;
+ }
+ .queryDate {
+ font-family: "PingFang-SC-Medium";
+
+ &-header {
+ padding: 0 30rpx;
+ background-color: #FFFFFF;
+ display: flex;
+ align-items: center;
+
+ &-partmsg {
+ margin-left: 30rpx;
+ display: flex;
+ flex-direction: column;
+
+ &-title {
+ font-size: 32rpx;
+ font-weight: bold;
+ margin-bottom: 6rpx;
+ }
+
+ &-subtitle {
+ color: #6A6A6A;
+ }
+ }
+ }
+ &-query{
+ margin-top: 10rpx;
+ background-color: #FFFFFF;
+ padding: 30rpx;
+ &-title{
+ font-size: 34rpx;
+ }
+ &-cell{
+ display: flex;
+ padding: 30rpx 0;
+ align-items: center;
+ justify-content: space-between;
+ }
+ &-calendar{
+ position: relative;
+ }
+ }
+ }
+</style>
diff --git a/pages/sub_medical/record.vue b/pages/sub_medical/record.vue
new file mode 100644
index 0000000..3cfa72d
--- /dev/null
+++ b/pages/sub_medical/record.vue
@@ -0,0 +1,102 @@
+<template>
+ <view class="record">
+ <view class="record-item">
+ <view class="record-item-msg">
+ <view class="record-item-msg-left">
+ <u-image src="/static/images/active/mrlfl.png" width="100" mode="widthFix"></u-image>
+ </view>
+ <view class="record-item-msg-center">
+ <view class="record-item-msg-center-item">
+ <text class="record-item-msg-center-item-title">就诊人员:</text>
+ <text class="record-item-msg-center-item-value">李小萌</text>
+ </view>
+ <view class="record-item-msg-center-item">
+ <text class="record-item-msg-center-item-title">就诊医院:</text>
+ <text class="record-item-msg-center-item-value">大理市第二人民医院</text>
+ </view>
+ <view class="record-item-msg-center-item">
+ <text class="record-item-msg-center-item-title">就诊科室:</text>
+ <text class="record-item-msg-center-item-value">普外科</text>
+ </view>
+ <view class="record-item-msg-center-item">
+ <text class="record-item-msg-center-item-title">就诊时间:</text>
+ <text class="record-item-msg-center-item-value">2020-10-27【上午】</text>
+ </view>
+ </view>
+ <view class="record-item-msg-right">
+ <text class="record-item-msg-status">挂号成功</text>
+ </view>
+ </view>
+ <!-- <view class="record-item-btn">
+ <u-button :plain="true" size="mini" type="primary" shape="circle">取消预约</u-button>
+ </view> -->
+ </view>
+ </view>
+</template>
+
+<script>
+ export default{
+ data(){
+ return{
+
+ }
+ },
+ onLoad(){
+
+ },
+ methods:{
+
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ /deep/.u-btn--primary--plain{
+ background-color: #FFFFFF !important;
+ }
+ uni-button{
+ margin-left: 0;
+ margin-right: 0;
+ }
+ .record{
+ font-family: "PingFang-SC-Medium";
+ &-item{
+ background-color: #FFFFFF;
+ margin-bottom: 30rpx;
+ &-msg{
+ padding: 30rpx 10rpx;
+ display: flex;
+ justify-content: space-between;
+ // align-items: center;
+ &-left{
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ }
+ &-center{
+ flex: 3;
+ &-item{
+ padding: 0 0 10rpx;
+ &-title{
+ color: #909399;
+ }
+ }
+ }
+ &-right{
+ display: flex;
+ justify-content: center;
+ flex: 1;
+ color: #3DC64F;
+ &-item{
+
+ }
+ }
+ }
+ &-btn{
+ padding: 0rpx 30rpx 30rpx;
+ display: flex;
+ justify-content: flex-end;
+ }
+ }
+ }
+</style>
diff --git a/pages/sub_medical/report.vue b/pages/sub_medical/report.vue
new file mode 100644
index 0000000..95a5bd7
--- /dev/null
+++ b/pages/sub_medical/report.vue
@@ -0,0 +1,49 @@
+<template>
+ <view class="report">
+ <view class="report-title">
+ <u-icon name="login" custom-prefix="custom-icon" size="40" color="#666666" label="李小明【3213232423】"></u-icon>
+ </view>
+ <view class="report-item">
+ <u-cell-item title="体测报告" :title-style="tstyle">
+ <u-image slot="icon" src="./images/report.png" width="70" height="70" mode="aspectFit"></u-image>
+ </u-cell-item>
+ </view>
+ <view class="report-item">
+ <u-cell-item title="肝功能报告" :title-style="tstyle">
+ <u-image slot="icon" src="./images/report.png" width="70" height="70" mode="aspectFit"></u-image>
+ </u-cell-item>
+ </view>
+ <view class="report-item">
+ <u-cell-item title="肝功能报告" :title-style="tstyle">
+ <u-image slot="icon" src="./images/report.png" width="70" height="70" mode="aspectFit"></u-image>
+ </u-cell-item>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ tstyle: {
+ marginLeft: '20rpx'
+ }
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .report {
+ font-family: "PingFang-SC-Medium";
+ padding: 10rpx;
+ &-title {
+ margin: 30rpx 10rpx;
+ }
+ &-item{
+ border-radius: 10rpx;
+ margin-bottom: 20rpx;
+ background-color: #FFFFFF;
+ }
+ }
+</style>
diff --git a/pages/sub_medical/reportDetail.vue b/pages/sub_medical/reportDetail.vue
new file mode 100644
index 0000000..9f14cf1
--- /dev/null
+++ b/pages/sub_medical/reportDetail.vue
@@ -0,0 +1,37 @@
+<template>
+ <view class="reportDetail">
+ <view class="reportDetail-title">
+ <text>体测报告</text>
+ </view>
+ <view class="reportDetail-content">
+ <text>体测报告</text>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default{
+ data(){
+ return{
+
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .reportDetail{
+ font-family: "PingFang-SC-Medium";
+ padding: 30rpx;
+ &-title{
+ display: flex;
+ justify-content: center;
+ font-size: 32rpx;
+ font-weight: bold;
+ }
+ &-content{
+ font-size: 28rpx;
+ }
+ }
+
+</style>
diff --git a/pages/sub_medical/result.vue b/pages/sub_medical/result.vue
new file mode 100644
index 0000000..a68ab85
--- /dev/null
+++ b/pages/sub_medical/result.vue
@@ -0,0 +1,69 @@
+<template>
+ <view class="result">
+ <view class="result-header">
+ <u-image src="./images//success.png" width="500" height="300"></u-image>
+ <text class="result-header-text">预约成功</text>
+ </view>
+ <view class="result-member">
+ <u-field label="预约信息" placeholder="" disabled input-align="right" label-width="150"></u-field>
+ <view class="result-member-msg">
+ <u-field label="预约医院" placeholder="大理市第一人民医院(总院)" disabled :placeholder-style="mstyle" input-align="right" :border-bottom="false"></u-field>
+ <u-field label="预约科室" placeholder="心内科" disabled :placeholder-style="mstyle" input-align="right" :border-bottom="false"></u-field>
+ <u-field label="预约时间" placeholder="2020-10-26/周一/上午" disabled :placeholder-style="mstyle" input-align="right" :border-bottom="false"></u-field>
+ </view>
+ </view>
+ <view class="result-member">
+ <u-field label="就诊人信息" placeholder="" disabled input-align="right" label-width="150"></u-field>
+ <view class="result-member-msg">
+ <u-field label="就诊人员" placeholder="李小明/男/24岁" disabled required :placeholder-style="mstyle" input-align="right" :border-bottom="false"></u-field>
+ <u-field label="联系方式" placeholder="123****3123" disabled required :placeholder-style="mstyle" input-align="right" :border-bottom="false"></u-field>
+ </view>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default{
+ data(){
+ return{
+ mstyle:'color:#333333',
+ }
+ },
+ methods:{
+
+ },
+ onLoad(){
+
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+
+ .result{
+ font-family: "PingFang-SC-Medium";
+ &-header{
+ background-color: #FFFFFF;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ padding: 30rpx;
+ &-text{
+ margin-top: 30rpx;
+ color: #2FA8E1;
+ font-size: 42rpx;
+ }
+ }
+ &-member{
+ margin-top: 30rpx;
+ background-color: #FFFFFF;
+ &-msg{
+ .u-field{
+ color: #a1a1a1;
+ }
+ }
+
+ }
+ }
+</style>
diff --git a/pages/sub_medical/z_components/calendar/calendar.vue b/pages/sub_medical/z_components/calendar/calendar.vue
new file mode 100644
index 0000000..98c0113
--- /dev/null
+++ b/pages/sub_medical/z_components/calendar/calendar.vue
@@ -0,0 +1,169 @@
+<template>
+ <view class="calendar">
+ <view class="calendar-weekname">
+ <view class="calendar-weekname-item" v-for="(v,i) in weekname" :key="i">{{v}}</view>
+ </view>
+ <swiper :indicator-dots="true" indicator-color="#CCCCCC" :interval="3000" :duration="1000" indicator-active-color="#2FA8E1"
+ duration="400" @change="dot_init">
+ <swiper-item>
+ <view class="swiper-item">
+ <view :class="v.isCheck?'swiper-item-item check':'swiper-item-item'" v-for="(v,i) in start_list" :key="i" @click='getDate(start_list,v)'>{{v.day}}</view>
+ </view>
+ </swiper-item>
+ <swiper-item>
+ <view class="swiper-item">
+ <view :class="v.isCheck?'swiper-item-item check':'swiper-item-item'" v-for="(v,i) in next_list" :key="i" @click='getDate(next_list,v)'>{{v.day}}</view>
+ </view>
+ </swiper-item>
+ <swiper-item>
+ <view class="swiper-item">
+ <view :class="v.isCheck?'swiper-item-item check':'swiper-item-item'" v-for="(v,i) in end_list" :key="i" @click='getDate(end_list,v)'>{{v.day}}</view>
+ </view>
+ </swiper-item>
+ </swiper>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ weekname: ['日', '一', '二', '三', '四', '五', '六'],
+ start_list: [],
+ next_list:[],
+ end_list:[]
+ }
+ },
+ methods: {
+ //切换item时
+ dot_init(e){
+ this.start_list.forEach(item0 => {
+ item0.isCheck = false
+ })
+ this.next_list.forEach(item1=>{
+ item1.isCheck = false
+ })
+ this.end_list.forEach(item2=>{
+ item2.isCheck = false
+ })
+ this.start_list[0].isCheck = true
+ },
+ //获取当前信息
+ getDate(list, item) {
+ this.start_list.forEach(item0 => {
+ item0.isCheck = false
+ })
+ this.next_list.forEach(item1=>{
+ item1.isCheck = false
+ })
+ this.end_list.forEach(item2=>{
+ item2.isCheck = false
+ })
+ item.isCheck = true
+ this.$emit('change',item)
+ },
+ //获取日历列表
+ getlist(arr,n) {
+ let date = new Date()
+ let year = date.getFullYear() //当前年份
+ let month = date.getMonth() + 1 //当前月份
+ let total = new Date(year, month, 0).getDate() //当前月份总天数
+ let day = date.getDate() + 7*n //当前天数
+ let list = []
+ this.weekname.forEach((item, index) => {
+ //判断是否超过当前月份总天数 天数是否<10
+ let is_day = day + index <= total ? (day + index >= 10 ? day + index : '0' + (day + index)) : '0' + (day + index -
+ total)
+ let is_day1 = day + index <= total ? day + index : day + index - total
+ //判断是否超过当前月份总天数 月份<10
+ let is_month = day + index <= total ? (month >= 10 ? month : '0' + month) : (month + 1 >= 10 ? month + 1 : '0' +
+ (month + 1))
+ //判断是否超过12月 月份是否<10
+ let is_year = is_month <= 12 ? year : year + 1
+ list.push({
+ day: is_day1,
+ isCheck: index == 0 ? true : false,
+ date: is_year + '' + is_month + '' + is_day
+ })
+ })
+ this[arr] = list
+ //console.log(nowlist)
+ },
+ //获取当天星期列表
+ get_week_list() {
+ let date = new Date()
+ let start_week = date.getDay()
+ let new_start_week = this.numTransfer(start_week)
+ let week_list = this.weekname
+ let splice_week_list = week_list.splice(start_week, week_list.length - start_week)
+ week_list = splice_week_list.concat(week_list)
+ // console.log(week_list)
+ this.weekname = week_list
+ },
+ //数字转中文
+ numTransfer(e) {
+ switch (e) {
+ case 0:
+ return '天'
+ case 1:
+ return '一'
+ case 2:
+ return '二'
+ case 3:
+ return '三'
+ case 4:
+ return '四'
+ case 5:
+ return '五'
+ case 6:
+ return '六'
+ }
+ },
+ //初始化
+ init(){
+ this.get_week_list()
+ this.getlist('start_list',0)
+ this.getlist('next_list',1)
+ this.getlist('end_list',2)
+ }
+ },
+ created() {
+ this.init()
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ uni-swiper {
+ height: 120rpx;
+ }
+
+ .check {
+ background-color: #2FA8E1;
+ color: #FFFFFF;
+ }
+
+ .calendar {
+ touch-action: none;
+ &-weekname {
+ display: flex;
+ justify-content: space-around;
+ margin-bottom: 30rpx;
+ }
+
+ .swiper {
+ &-item {
+ display: flex;
+ justify-content: space-around;
+
+ &-item {
+ width: 50rpx;
+ height: 50rpx;
+ text-align: center;
+ line-height: 50rpx;
+ border-radius: 50%;
+ }
+ }
+ }
+ }
+</style>