Переглянути джерело

多列填写至少填一个

zhouna 5 роки тому
батько
коміт
5598fb3be9
2 змінених файлів з 22 додано та 8 видалено
  1. 1 1
      src/common/Dialog.vue
  2. 21 7
      src/common/MultSelect.vue

+ 1 - 1
src/common/Dialog.vue

@@ -66,7 +66,7 @@ export default {
     background-color: #colors[bgques];
     border-radius: 0 0.24rem 0.24rem 0.24rem;
     margin-top: 0.3rem;
-    font-size: 0.3rem;
+    font-size: 0.28rem;
     padding: 0.24rem;
     display: inline-block;
   }

+ 21 - 7
src/common/MultSelect.vue

@@ -8,10 +8,10 @@
         :key="item.id"
       >
         <span v-if="((item.description||item.name).indexOf('${'))==-1">{{item.description||item.name}}</span>
-        <OptionInp v-else :item="item" @handleInp="inpVal" :inx="idx" @handleSelec="handleClick(item,idx,false,true)"/>
+        <OptionInp v-else :item="item" @handleInp="inpVal" :inx="idx"/>
       </li>
     </ul>
-    <div class="realSure sure" @click="makeSuer">
+    <div :class="sure?'realSure sure':'sure'" @click="makeSuer">
       确定 <span v-if="numPlus">({{numPlus}})</span>
     </div>
   </div>
@@ -28,7 +28,8 @@ export default {
       connectResult: [], //id
       contentResult: "", //name
       rules: [], //规则所需数据value
-      numPlus:0     //已选答案个数
+      numPlus:0,     //已选答案个数
+      sure:false
     };
   },
   mounted() {
@@ -59,6 +60,16 @@ export default {
       let detailList = this.result;
       let currItem = detailList[index];
       currItem.value = val;
+      if(val){
+        this.sure=true;
+      }else{
+        if(detailList.findIndex((it)=>it.value)!==-1){
+          this.sure=true;
+        }else{
+          this.sure=false;
+        }
+      }
+
     },
     handleClick(it,index,flg,ipt){
       if(flg){
@@ -100,8 +111,10 @@ export default {
         const msg = getExpStr(text);
         const msgp = getExpStr(text);
         if(result[i].name.indexOf("${")!==-1){
-          tmpResult.push(msg.prefix+(result[i].value||"")+msg.suffix);
-          tmpResultp.push(msgp.prefix+(result[i].value||"")+msgp.suffix);
+          if(result[i].value){
+            tmpResult.push(msg.prefix+(result[i].value||"")+msg.suffix);
+            tmpResultp.push(msgp.prefix+(result[i].value||"")+msgp.suffix);
+          }
         }else {
           //tmpIds=tmpIds.concat(result[i].connectId)
           tmpResult.push(text);
@@ -157,17 +170,18 @@ export default {
   @import "../less/base.less";
 .select {
   background-color: #fff;
-  padding: 0.2rem 0 0 0;
+  padding: 0.12rem 0 0 0;
   position: fixed;
   width: 100%;
   bottom: 0;
   box-sizing: border-box;
+  box-shadow: 0 0 30px -10px rgba(104, 124, 189, 0.25);
   li {
     padding: 0.14rem 0.2rem;
     border:1px #DFE0E4 solid;
     border-radius: 0.36rem;
     font-size: 0.26rem;
-    margin: 0.15rem;
+    margin: 0.15rem 0.15rem 0;
     float: left;
     color: #666;
   }