ソースを参照

修复无号时也能缴费的bug

lighter 4 年 前
コミット
eef69374f7

+ 10 - 3
src/views/hospital-service/appointment/DoctorArrangement.vue

@@ -181,6 +181,9 @@ export default {
         : '<span style="font-size: 12px;color:red">无号</span>'
     }
     const handleClickDate = (index) => {
+      if (index > 6) {
+        return
+      }
       data.currentIndex = index
       data.date = data.nextSevenDate[index].fullDate
       const param = {
@@ -188,9 +191,13 @@ export default {
         deptCode: deptCode,
         doctorCode: doctorCode,
       }
-      getDoctorArrangement(param).then((res) => {
-        data.arrangements = res
-      })
+      getDoctorArrangement(param)
+        .then((res) => {
+          data.arrangements = res
+        })
+        .catch(() => {
+          handleClickDate(++index)
+        })
     }
 
     const showDoctorQrCode = () => {

+ 25 - 7
src/views/hospital-service/appointment/SelectDoctorAndDate.vue

@@ -23,14 +23,13 @@
       </van-grid-item>
     </van-grid>
     <div style="height: 5px"></div>
+    <van-tag type="primary" plain style="margin-left: 5px">{{ selectDate }}</van-tag>
+    <div style="height: 5px"></div>
     <div v-for="(item, index) in data.doctorSources" :key="index">
-      <van-cell
-        center
-        :title="item.doctorName + ' | ' + item.chargeType"
-        :label="selectDate"
-        is-link
-        :to="'/doctorArrangement/' + data.dateSelected + '/' + deptCode + '/' + item.doctorCode"
-      >
+      <van-cell center :title="item.doctorName + ' | ' + item.chargeType" is-link @click="toDoctorArangement(item)">
+        <template #label>
+          <div :style="labelStyle" v-show="item.specialty">擅长:{{ item.specialty }}</div>
+        </template>
         <template #default>
           <span v-html="hasLeftNum(item.leftNum)"></span>
         </template>
@@ -47,9 +46,18 @@ import { getOneWeekText, getNextSevenDate } from '../../../utils/date'
 import { onMounted, reactive, ref } from 'vue'
 import { getSourcesByDate, getDoctorSources } from '../../../api/appointment'
 import Cookies from 'js-cookie'
+import store from '../../../store'
+import { Toast } from 'vant'
 export default {
   name: 'SelectDoctorAndDate',
   setup() {
+    const windowSize = store.state.windowSize
+    const labelStyle = {
+      width: windowSize.w - 100 + 'px',
+      overflow: 'hidden',
+      textOverflow: 'ellipsis',
+      whiteSpace: 'nowrap',
+    }
     const router = useRouter()
     const deptCode = router.currentRoute.value.params.deptCode
     const selectDate = ref('')
@@ -99,6 +107,14 @@ export default {
           }
         })
     }
+    const toDoctorArangement = (val) => {
+      if (val.leftNum === 0) {
+        Toast.fail(val.doctorName + '医生已无号')
+      } else {
+        const to = '/doctorArrangement/' + data.dateSelected + '/' + deptCode + '/' + val.doctorCode
+        router.push(to)
+      }
+    }
     onMounted(() => {
       const param = {
         start: data.nextSevenDate[0].fullDate,
@@ -122,6 +138,8 @@ export default {
       disabledBtn,
       badgeColor,
       hasLeftNum,
+      labelStyle,
+      toDoctorArangement,
     }
   },
 }

+ 0 - 2
src/views/mine/mz-pay-record/MzFeePaymentDetail.vue

@@ -43,11 +43,9 @@ export default {
     const list = ref([])
     onMounted(() => {
       getMzPaidDetail(params.hisOrdNum).then((res) => {
-        console.log(res)
         list.value = res
       })
     })
-
     return {
       params,
       list,