Przeglądaj źródła

picker温度默认值设置

zhouna 5 lat temu
rodzic
commit
8240bb9103
3 zmienionych plików z 35 dodań i 11 usunięć
  1. 18 4
      src/common/Picker.vue
  2. 9 5
      src/components/MainPage.vue
  3. 8 2
      src/utils/tools.js

+ 18 - 4
src/common/Picker.vue

@@ -2,7 +2,7 @@
 <portal to="notification-outlet">
         <div class="pickerBox" @touchmove.prevent>
             <div class="picker">
-                <van-picker :columns="columns"
+                <van-picker :columns="columnsp"
                     :visible-item-count = "5"
                     :swipe-duration = "time"
                     :item-height ="36"
@@ -35,33 +35,47 @@ export default {
             '40.8°C', '40.9°C', '41.0°C', '41.1°C', '41.2°C', '41.3°C', '41.4°C', '41.5°C', '41.6°C',
             '41.7°C', '41.8°C', '41.9°C', '42.0°C'];
         }
+      },
+      columnsp:{
+        default:function() {
+          return ['37.0°C', '37.1°C', '37.2°C','37.3°C', '37.4°C', '37.5°C', '37.6°C', '37.7°C', '37.8°C', '37.9°C', '38.0°C',
+            '38.1°C', '38.2°C', '38.3°C', '38.4°C', '38.5°C', '38.6C', '38.7°C', '38.8°C', '38.9°C',
+            '39.0°C', '39.1°C', '39.2°C', '39.3°C', '39.4°C', '39.5°C', '39.6°C', '39.7°C', '39.8°C',
+            '39.9°C', '40.0°C', '40.1°C', '40.2°C', '40.3°C', '40.4°C', '40.5°C', '40.6°C', '40.7°C',
+            '40.8°C', '40.9°C', '41.0°C', '41.1°C', '41.2°C', '41.3°C', '41.4°C', '41.5°C', '41.6°C',
+            '41.7°C', '41.8°C', '41.9°C', '42.0°C'];
+        }
       }
       },
     data() {
         return {
             time: 100,
             selectIndex: 0,
-            selectValue: ''
+            selectValue: '',
+            selectValuep: '',
         }
     },
     mounted(){
       this.selectValue=this.defaultVal||this.columns[0];
+      this.selectValuep=this.defaultVal||this.columnsp[0];
     },
     methods: {
         changeTemp(picker, value, index) {
             this.selectIndex = index;
             this.selectValue = typeof(value)==="string"?value:value.join("");
+            this.selectValuep = typeof(value)==="string"?this.columnsp[index]:value.join("");
         },
         onConfirm() {
             let number = this.num;
             const value = this.selectValue;
+            const valuep = this.selectValuep;
             if(+this.symptomResult.flag===1){   //为时间控件
               const orgChoose = this.$store.state.symptom.choose;
               orgChoose[0].special = value;
-              orgChoose[0].specialP = value;
+              orgChoose[0].specialP = valuep;
               this.$store.commit('setChoose', { choose: orgChoose, type: 1 });
             }
-            this.$emit('confirm','', {val:value,valp:value,flag:this.symptomResult.flag}, ++number)
+            this.$emit('confirm','', {val:value,valp:valuep,flag:this.symptomResult.flag}, ++number)
 
         },
 

+ 9 - 5
src/components/MainPage.vue

@@ -55,9 +55,9 @@
     <Select @updataResult="updataResultSingle" :num="num" @warning="showWarn" @getExtQa="addExtQa" :symptomResult="symptomResult" v-if="type == 2"></Select>
     <Radio @updataResultSingle="updataResultSingle" @warning="showWarn" @getExtQa="addExtQa" :num="num" :symptomResult="symptomResult" v-if="type == 1"></Radio>
     <!--普通单列拨盘-->
-    <Picker v-if="type==10" @confirm="updataResultSingle" :columns="getColumns()" :num="num" :defaultIndex = "defaultIndex"></Picker>
+    <Picker v-if="type==10" @confirm="updataResultSingle" :columns="getColumns().arr" :columnsp="getColumns().arrp" :num="num" :defaultIndex = "defaultIndex"></Picker>
     <!--时间拨盘,拨盘内容写死-->
-    <Picker v-if="type == 9" :symptomResult="symptomResult" :columns="getTimeColumns()" :defaultVal="pickDVal" @confirm="updataResultSingle" :num="num" :defaultIndex = "defaultIndex"></Picker>
+    <Picker v-if="type == 9" :symptomResult="symptomResult" :columns="timeColumns" :columnsp="timeColumns" :defaultVal="pickDVal" @confirm="updataResultSingle" :num="num" :defaultIndex = "defaultIndex"></Picker>
     <PushSymptom v-if="type == 99" @updataResult="updataResultSingle" :num="num" @warning="showWarn"></PushSymptom>
     <!-- 上传图片 -->
     <UploadImg v-if="type==4"
@@ -114,6 +114,7 @@ export default {
       pickDVal:'1天',    //时间控件默认值
       allMoudles:[],
       showUsual:false,    //常用症状显示
+      timeColumns:[],   //固定2列时间滑块数据
       activeTab:1,      //当前模块
       activeNum:0,    //当前问题的index,整体顺序
       scroll:null,
@@ -154,6 +155,7 @@ export default {
     this.userInfo = userInfo;
     let tmpModule = moduleConfig(this.config,this.tmpAllMoudles);
     this.allMoudles = tmpModule.data;
+    this.getTimeColumns();
     this.updata()
   },
   mounted(){
@@ -205,8 +207,10 @@ export default {
   },
   methods:{
     getColumns(){   //后台数据为空,则使用默认值
-      const arr=getValuesArr(this.symptomResult.questionDetailList);
-      return arr.length>0?arr:undefined;
+      const obj=getValuesArr(this.symptomResult.questionDetailList);
+      const arr=obj.vals?obj.vals:undefined;
+      const arrp=obj.vals?obj.valsp:undefined;
+      return {arr,arrp};
     },
     previewRes(){
       this.$router.push({
@@ -235,7 +239,7 @@ export default {
         num.push(i)
       }
       let unit = ['分钟', '小时', '天', '周', '月','年'];
-      return [
+      this.timeColumns= [
         {
           values:num,
           className:'column1',

+ 8 - 2
src/utils/tools.js

@@ -432,9 +432,15 @@ const getRouteName = (flg,active,order) => {
   }
 };
 function getValuesArr(arr){
-  return arr.map((it)=>{
-    return it.name;
+  let vals = [],valsp=[];
+  arr.map((it)=>{
+    vals.push(it.name);
+    valsp.push(it.description||it.name);
   });
+  return {
+    vals,
+    valsp
+  };
 }
 
 //数值求和