Преглед на файлове

1.修复首页卡片样式。2.修复表单0字段显示。3.修复切换医院医生不选中。

wzz преди 2 седмици
родител
ревизия
8f8180888e
променени са 3 файла, в които са добавени 31 реда и са изтрити 5 реда
  1. 16 4
      src/pages/index/index.vue
  2. 4 0
      src/pages/selfCenter/info.vue
  3. 11 1
      src/pages/sickForm/history.vue

+ 16 - 4
src/pages/index/index.vue

@@ -22,7 +22,7 @@
     <view class="page-nav-box">
       <view v-for="(item, index) in navList" :key="index" class="nav-content" @click="goDetailPage(item)">
         <view class="nav-badge" :style="{ background: badgeOf(item.task_name).color }">{{ badgeOf(item.task_name).label }}</view>
-        <view>{{ item.task_name }}</view>
+        <view class="nav-task-name">{{ item.task_name }}</view>
         <view v-if="item.finish_flag" style="color: #ff7356;font-size: 22rpx;">已完成</view>
         <view v-else style="color: #d9001b;font-size: 22rpx;">未完成</view>
       </view>
@@ -213,7 +213,7 @@ export default {
   width: 98%;
   display: flex;
   flex-wrap: wrap;
-  align-items: center;
+  align-items: flex-start;
   padding: 20rpx 10rpx 30rpx 10rpx;
   border-radius: 16rpx;
   background-color: #fff;
@@ -223,13 +223,14 @@ export default {
   display: flex;
   flex-direction: column;
   align-items: center;
-  margin-top: 20rpx;
+  margin-top: 40rpx;
+  padding: 0 6rpx;
   font-size: 28rpx;
-  justify-content: space-around;
   letter-spacing: 0.02em;
   color: #0d1937;
   font-family: PingFang SC;
   font-style: normal;
+  box-sizing: border-box;
 }
 .nav-badge {
   width: 80px;
@@ -241,6 +242,17 @@ export default {
   color: #fff;
   font-weight: bold;
   font-size: 26rpx;
+  margin-bottom: 20rpx;
+}
+.nav-task-name {
+  height: 76rpx;
+  line-height: 38rpx;
+  text-align: center;
+  overflow: hidden;
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 2;
+  margin-bottom: 2rpx;
 }
 .notice-box {
   width: 90%;

+ 4 - 0
src/pages/selfCenter/info.vue

@@ -135,6 +135,10 @@ export default {
 				this.baseFormData[key] = Number(this.baseFormData[key])
 			})
 			if (this.baseFormData.work_address == null || this.baseFormData.work_address == undefined) this.baseFormData.work_address = ''
+			// 后台返回 0 代表没填过,这几个数字字段不应该显示字面上的 "0",统一归一化成空字符串
+			['age','height','weight','children_age','symptom_duration'].forEach((key)=>{
+				if (this.baseFormData[key] == '0') this.baseFormData[key] = ''
+			})
 			this.getUserSelect();
 	     }
 	   },

+ 11 - 1
src/pages/sickForm/history.vue

@@ -352,7 +352,10 @@ export default {
 		 this.pickerIndexObj[typeName] = rangeArr.findIndex(item => item.value === selectedId);
 	  },
 	  makeFromData(){
-			if(this.baseFormData.age == '0')this.baseFormData.age = '';
+			// 后台返回 0 代表没填过,这几个数字输入框不应该显示字面上的 "0",统一归一化成空字符串
+			['age','height','weight','children_age','symptom_duration'].forEach((key)=>{
+				if (this.baseFormData[key] == '0') this.baseFormData[key] = ''
+			})
 			this.baseFormData.sex = Number(this.baseFormData.sex);
 			if(this.baseFormData.sex == '0')this.baseFormData.sex = '';
 			this.baseFormData.profession = Number(this.baseFormData.profession);
@@ -394,6 +397,13 @@ export default {
 	     if (res.code === 200) {
 			this.doctorRange = this.objToArr(res.data);
 			this.pickerEchoShow(this.doctorRange,this.baseFormData.doctor_id,'doctor')
+			// 切换医院后,原来选的医生 id 在新医院的医生列表里匹配不到,会导致选择器空白;
+			// 匹配不到但列表非空时,默认选中返回的第一个医生
+			if (this.pickerIndexObj.doctor === -1 && this.doctorRange.length) {
+				this.pickerIndexObj.doctor = 0
+				this.baseFormData.doctor_id = this.doctorRange[0].value
+				this.baseFormData.doctor_name = this.doctorRange[0].text
+			}
 	     }
 	   },
 	  async submitForm() {