فهرست منبع

bug-468 中医诊断: 保存时获取数据异常处理

cc12458 5 ماه پیش
والد
کامیت
aa41a5c698
1فایلهای تغییر یافته به همراه47 افزوده شده و 59 حذف شده
  1. 47 59
      src/views/diagnosis/Diagnosis.vue

+ 47 - 59
src/views/diagnosis/Diagnosis.vue

@@ -195,7 +195,7 @@
                 <!-- 西医诊断 -->
                 <div class="table-item flex-vertical-center-l" v-if="scope.row.type!='zyzd'">
                   <span>{{scope.row.type=='zyzd'?'中医':'西医'}}病名:</span>
-                  <div class="input">
+                  <div class="input" style="width: auto;">
                     <!-- <el-select size='small' v-model="scope.row.xname" filterable
                                             :placeholder="type=='zyzd'?'请输入':'请输入'">
                                             <el-option :label="item.westname" :value="item.westcode"
@@ -901,69 +901,57 @@ export default {
         background: "rgba(0, 0, 0, 0.7)"
       });
 
-      let namemedicine = this.cDiseaseNameL.filter(item => {
-        return item.disid == this.zy_dise_id;
-      });
-      let diagnosis = this.xDiseaseNameL.filter(item => {
-        return item.westcode == this.dise_name;
-      });
-
-      let secondaryDiagnosises = [];
-      this.tableData.forEach(item => {
-        let isyndrometypes = [];
-        let TCMITEM = this.$refs["TCM" + item.id].getParams();
-        if (item.xname || TCMITEM.namemedicine) {
-          // 中医病名
-          let inamemedicine = this.cDiseaseNameL.filter(item1 => {
-            return item1.disid == item.cname;
-          });
-          let idiagnosis = this.xDiseaseNameL.filter(item1 => {
-            return item1.westcode == item.xname;
-          });
-          if (item.cid) {
-            isyndrometypes = item.cCardTypeL.filter(item1 => {
-              return item1.symid == item.zhengxing;
-            });
+      const get = (item) => {
+        switch (item.type) {
+            /* 中医次诊断 */
+          case 'zyzd': {
+            const seqn = item.id || '';
+            try {
+              const TCMITEM = this.$refs[`TCM${seqn}`].getParams();
+              return TCMITEM.namemedicine ? {
+                seqn,
+                maindiagnosis: '0',
+                recordsid: this.getPatiensInfo.pid,
+                pid: item.pid || '',
+
+                westcode: '', diagnosis: '',
+
+                ...TCMITEM,
+              } : null;
+            } catch {
+              return null;
+            }
           }
-
-          let obj = {
-            disid: item.type == "zyzd" ? TCMITEM.disid : "",
-            symptomid: TCMITEM.symptomid,
-            westcode: item.type == "xyzd" ? item.xid : "",
-            seqn: item.id,
-            secondarydiagnosis: item.type == "zyzd" ? "0" : "1",
-
-            namemedicine: item.type == "zyzd" ? TCMITEM.namemedicine : "",
-
-            syndrometypes: item.type == "zyzd" ? TCMITEM.syndrometypes : "",
-            treatment: item.type == "zyzd" ? TCMITEM.treatment : "",
-            recordsid: this.getPatiensInfo.pid,
-            pid: item.pid ? item.pid : "",
-
-            diagnosis: item.type == "zyzd" ? "" : item.xname
-          };
-
-          secondaryDiagnosises.push(obj);
+            /* 西医次诊断 */
+          case 'xyzd':
+            return item.xname ? {
+              seqn: item.id,
+              maindiagnosis: '1',
+              recordsid: this.getPatiensInfo.pid,
+              pid: item.pid || '',
+
+              westcode: item.xid, diagnosis: item.xname,
+
+              disid: '', namemedicine: '',
+              symptomid: '', syndrometypes: '',
+              treatmentCode: '', treatment: '',
+            } : null;
+          default:
+            return null;
         }
-      });
+      }
 
-      // secondaryDiagnosises = JSON.stringify(secondaryDiagnosises)
-      let TCM = this.$refs.TCM.getParams();
       let params = {
-        mainDiagnosis: {
-          maindiagnosis: this.type == "zyzd" ? "0" : "1",
-          westcode: this.type == "xyzd" ? this.dise_name : "",
-          disid: this.type == "zyzd" ? TCM.disid : "",
-          symptomid: TCM.symptomid,
-
-          namemedicine: this.type == "zyzd" ? TCM.namemedicine : "",
-          syndrometypes: this.type == "zyzd" ? TCM.syndrometypes : "",
-          treatment: this.type == "zyzd" ? TCM.treatment : "",
-          recordsid: this.getPatiensInfo.pid,
+        mainDiagnosis: get({
+          id: '',
+          type: this.type,
           pid: this.isEdit,
-          diagnosis: this.type == "zyzd" ? "" : diagnosis[0].westname
-        },
-        secondaryDiagnosises
+        }),
+        secondaryDiagnosises:  this.tableData.map(get).filter(Boolean).map(item => {
+          item['secondarydiagnosis'] = item.maindiagnosis;
+          delete item['maindiagnosis'];
+          return item;
+        })
       };
       let res = await addDiagnosisData(params);
       if (res.ResultCode == 0) {