Quellcode durchsuchen

补充内容模块添加

zhouna vor 5 Jahren
Ursprung
Commit
6358c6678d
6 geänderte Dateien mit 48 neuen und 37 gelöschten Zeilen
  1. 5 11
      src/common/Dialog.vue
  2. 4 6
      src/common/Picker.vue
  3. 9 4
      src/components/MainPage.vue
  4. 4 7
      src/components/Preview.vue
  5. 13 6
      src/store.js
  6. 13 3
      src/utils/tools.js

+ 5 - 11
src/common/Dialog.vue

@@ -21,6 +21,7 @@
   </div>
 </template>
 <script>
+  import {getNSum} from '@utils/tools';
 export default {
   props:['item','idx','cancelNum','num','extNum','isLast','cancelTab'],
   data() {
@@ -29,17 +30,10 @@ export default {
   computed:{
     showEdit(){
       const {cancelNum,idx,num,extNum,cancelTab}=this;
-      let cancelExt=0,realExt=(extNum[0]||0)+(extNum[1]||0);
-      switch(+cancelTab){
-        case 1:
-          cancelExt=extNum[0]||0;
-          break;
-        case 2:
-          cancelExt=(extNum[0]||0)+(extNum[1]||0);
-          break;
-        default:
-          cancelExt=0;
-      }
+      let cancelExt=0,realExt=getNSum(extNum);
+      const extArr = [...extNum];
+      extArr.splice(0,+cancelTab);
+      cancelExt=getNSum(extArr);
       const  realCNum = ((cancelExt+1)||1)+cancelNum;   //第一个问题不在计数中,所以+1
       const realNum = ((realExt+1)||1)+num;
       const realIdx = ((realExt+1)||1)+idx;

+ 4 - 6
src/common/Picker.vue

@@ -28,7 +28,7 @@ export default {
         }},
       defaultIndex:{default:0},
       num:{default:0},
-      /*defaultVal:{default:"37.3°C"},*/
+      defaultVal:{default:""},
       columns:{
         default:function() {
           return ['37.3°C', '37.4°C', '37.5°C', '37.6°C', '37.7°C', '37.8°C', '37.9°C', '38.0°C',
@@ -44,13 +44,11 @@ export default {
         return {
             time: 100,
             selectIndex: 0,
-            selectValue: this.defaultVal
+            selectValue: ''
         }
     },
-    computed:{
-      defaultVal(){
-        return this.columns[0]
-      }
+    mounted(){
+      this.selectValue=this.defaultVal||this.columns[0];
     },
     methods: {
         changeTemp(picker, value, index) {

+ 9 - 4
src/components/MainPage.vue

@@ -39,11 +39,14 @@
         <div v-for="(item,idx) in symptomQasList" :key="'0'+item.id" v-if="activeTab">
           <Dialog :idx="idx" v-if="item.show" :item="item" @cancel="cancelSelected" :num="num" :cancelNum="canceledQa" :extNum ="[]" :cancelTab="cancelTab" :isLast="idx===symptomQasList.length-1"/>
         </div>
-        <div v-for="(item,idx) in diagnoseQasList" :key="'1'+item.id" v-if="activeTab==moduleKeys[1]||activeTab==moduleKeys[2]">
+        <div v-for="(item,idx) in diagnoseQasList" :key="'1'+item.id" v-if="activeTab==moduleKeys[1]||activeTab==moduleKeys[2]||activeTab==moduleKeys[3]">
           <Dialog :idx="idx" v-if="item.show" :item="item" @cancel="cancelSelected" :num="num" :extNum ="[symptomQasList.length]" :cancelNum="canceledQa" :cancelTab="cancelTab" :isLast="idx===diagnoseQasList.length-1"/>
         </div>
-        <div v-for="(item,idx) in othersQasList" :key="'2'+item.id" v-if="activeTab==moduleKeys[2]">
-          <Dialog :idx="idx" v-if="item.show" :item="item" @cancel="cancelSelected" :num="num" :extNum ="[symptomQasList.length,diagnoseQasList.length]" :cancelNum="canceledQa" :cancelTab="cancelTab"/>
+        <div v-for="(item,idx) in othersQasList" :key="'2'+item.id" v-if="activeTab==moduleKeys[2]||activeTab==moduleKeys[3]">
+          <Dialog :idx="idx" v-if="item.show" :item="item" @cancel="cancelSelected" :num="num" :extNum ="[symptomQasList.length,diagnoseQasList.length]" :cancelNum="canceledQa" :cancelTab="cancelTab" :isLast="idx===othersQasList.length-1"/>
+        </div>
+        <div v-for="(item,idx) in addContentQasList" :key="'3'+item.id" v-if="activeTab==moduleKeys[3]">
+          <Dialog :idx="idx" v-if="item.show" :item="item" @cancel="cancelSelected" :num="num" :extNum ="[symptomQasList.length,diagnoseQasList.length,othersQasList.length]" :cancelNum="canceledQa" :cancelTab="cancelTab"/>
         </div>
       </div>
     </div>
@@ -124,10 +127,12 @@ export default {
       symptomQasList:[],//症状详情所有的问题
       diagnoseQasList:[], //诊疗详情所有问题
       othersQasList:[],//其他情况所有问题
+      addContentQasList:[],
       moduleMap:{
         1:'symptom',
         51:'diagnose',
-        3:'others'
+        3:'others',
+        52:'addContent'
       },
       defaultIndex: 0, //温度默认值
       order:0,

+ 4 - 7
src/components/Preview.vue

@@ -53,10 +53,10 @@
             </li>
             <li v-if="tabType[moduleCP['suplement']]==1">
               <h4><i></i> 补充内容:</h4>
-              <p>{{addContent.txt}}</p>
+              <p>{{getDetailText(addContent.text,false).view}}</p>
             </li>
-            <li v-if="JSON.stringify(diagnose.imgSrc) !='{}'" class="imgLis">
-              <h4 class="imgTitle"><i></i> 最近一次治疗报告:</h4>
+            <li v-if="diagnose.imgSrc.length>0" class="imgLis">
+              <h4 class="imgTitle"><i></i>最近一次治疗报告:</h4>
               <div v-for="(value,key,idx) in diagnose.imgSrc" class="imgView">
                 <img :src="value" alt="">
               </div>
@@ -148,7 +148,6 @@ export default {
     let diagnoseDate = this.$store.state.diagnose;
     let othersDate = this.$store.state.others;
     let addContentDate = this.$store.state.addContent;
-    console.log(symptomDate)
     return {
       msg: '预览',
       pathInfo: pathInfo,
@@ -299,9 +298,7 @@ export default {
         }else if(i == 2){
           detailList[2] = this.getDetailText(others.text,3)
         }else if(i == 3){
-          detailList[3].content=addContent.txtDoc
-          detailList[3].contentJson=addContent.txtDoc
-          detailList[3].contentValue=addContent.txtDoc
+          detailList[3]=this.getDetailText(others.text,4);
         }
       }
       let params = {

+ 13 - 6
src/store.js

@@ -34,6 +34,7 @@ const store = new Vuex.Store({
     },
     addContent:{
       origin:[],
+      datas:[],
       txt:'',
       txtDoc:''
     },
@@ -116,7 +117,8 @@ const store = new Vuex.Store({
       }
       state.addContent={
         origin:[],
-        txt:'',
+        datas:[],
+        text:[],
         txtDoc:''
       }
     },
@@ -168,7 +170,7 @@ const store = new Vuex.Store({
         "1": param.length > 0 && param.filter(item => item.code == "symptoms_show")[0].value,
         "51": param.length > 0 && param.filter(item => item.code == "diagnosis_show")[0].value,
         "3": param.length > 0 && param.filter(item => item.code == "omhistory_show")[0].value,
-        "52": 0,//param.length > 0 && param.filter(item => item.code == "replenish_show")[0].value,
+        "52": param.length > 0 && param.filter(item => item.code == "replenish_show")[0].value,
       }
       state.tabType = tabType
     },
@@ -183,6 +185,10 @@ const store = new Vuex.Store({
           const org = param[k].moduleDetailDTOList;
           state.others.origin = JSON.parse(JSON.stringify(org));
           state.others.datas = JSON.parse(JSON.stringify(org));
+        }else if(param[k].type == moduleCP['suplement']){
+          const org = param[k].moduleDetailDTOList;
+          state.addContent.origin = JSON.parse(JSON.stringify(org));
+          state.addContent.datas = JSON.parse(JSON.stringify(org));
         }
       }
     },
@@ -323,10 +329,11 @@ const store = new Vuex.Store({
           state.others.text = otherText;*/
           break;
         case moduleCP['suplement']:
-          let addText = state.addContent.txt
-          state.addContent.origin = param.data
-          state.addContent.txt = getAllStr(param).allStr
-          state.addContent.txtDoc = getAllStr(param).allStrDoc
+          let addText = state.addContent.text
+          if(param.isEdit){
+            addText.pop();
+          }
+          addText.push(param);
           break;
         default:
           break;

+ 13 - 3
src/utils/tools.js

@@ -188,10 +188,10 @@ const moduleConfig = (config,modules) => {
       }else if(tmpCode=="omhistory_show"&&tmpType==moduleCP['other']&&tmpVal==1){
         activeModule.push(modules[j])
         activeModuleObj.omhistory_show = modules[j]
-      }/*else if(tmpCode=="replenish_show"&&tmpType==moduleCP['suplement']&&tmpVal==1){
+      }else if(tmpCode=="replenish_show"&&tmpType==moduleCP['suplement']&&tmpVal==1){
         activeModule.push(modules[j])
         activeModuleObj.replenish_show = modules[j]
-      }*/
+      }
     }
   }
   return {
@@ -437,6 +437,15 @@ function getValuesArr(arr){
   });
 }
 
+//数值求和
+function getNSum(arr){
+  function getSum(total,num){
+    return total+num;
+  };
+  return arr.reduce(getSum,0);
+};
+
+
 module.exports =  {
   imageUrlPrefix,
   getUrlArgObject,
@@ -465,7 +474,8 @@ module.exports =  {
   configer,
   setTitle,
   getRouteName,
-  getValuesArr
+  getValuesArr,
+  getNSum
 }