From e9396b8507763d01dff96d81c05f4fedec64ffb3 Mon Sep 17 00:00:00 2001
From: pengjun <158915633@qq.com>
Date: Sat, 4 May 2024 19:00:39 +0800
Subject: [PATCH] sumseo
---
 .../doctorCheck/PatientRegisterBase.vue       |  33 ++--
 src/components/sumDoctorCheck/SumSug.vue      | 146 +++++++++++-------
 2 files changed, 109 insertions(+), 70 deletions(-)
diff --git a/src/components/doctorCheck/PatientRegisterBase.vue b/src/components/doctorCheck/PatientRegisterBase.vue
index 5745fe2..b4a7b88 100644
--- a/src/components/doctorCheck/PatientRegisterBase.vue
+++ b/src/components/doctorCheck/PatientRegisterBase.vue
@@ -160,6 +160,7 @@ export default {
       this.dataTransOpts.refresh.register_check.M++
 
       //触发总检医生诊台相关刷新
+      // console.log('afterFind',rd)
       this.dataTransOpts.refresh.sumDoctor.M++
       // this.dataTransOpts.refresh.sum_diagnosis.M++      
 
@@ -181,13 +182,12 @@ export default {
       postapi('/api/app/patientregister/GetAlreadyRegisterPatientRegisterByNo', body)
         .then((res) => {
           if (res.code > -1) {
-            this.dataTransOpts.tableS.patient_register = deepCopy(res.data)
-            console.log('res.data',res.data)
-            console.log('this.dataTransOpts.tableS.patient_register',this.dataTransOpts.tableS.patient_register)
+            this.dataTransOpts.tableS.patient_register = res.data
+            // console.log('res.data',res.data)
+            // console.log('this.dataTransOpts.tableS.patient_register',this.dataTransOpts.tableS.patient_register)
           }
-        })
-        .finally(() => {
           this.afterFind(this.dataTransOpts.tableS.patient_register)
+
         });
     },
 
@@ -203,11 +203,11 @@ export default {
       this.dataTransOpts.tableS.patient_register = { id: '', patientNo }
       postapi('/api/app/patientregister/GetAlreadyRegisterPatientRegisterByNo', body)
         .then((res) => {
-          if (res.code != -1) {
-            if (res.data) this.dataTransOpts.tableS.patient_register = deepCopy(res.data)
+          if (res.code > -1) {
+            this.dataTransOpts.tableS.patient_register = res.data
           }
         })
-        .finally(() => {
+        .finally(() =>{
           this.afterFind(this.dataTransOpts.tableS.patient_register)
         });
     },
@@ -223,13 +223,14 @@ export default {
       // 
       postapi('/api/app/patientregister/getlistinfilter', body)
         .then(res => {
-          if (res.code != -1) {
+          if (res.code > -1) {
             if (res.data.items.length == 1) {
               this.dataTransOpts.tableS.patient_register = res.data.items[0]
               // this.dataTransOpts.tableS.patient_register.id = res.data.items[0].id
               // this.dataTransOpts.tableS.patient_register.patientRegisterNo = res.data.items[0].patientRegisterNo
               this.dataTransOpts.refresh.patient_register.S++              
               // this.getPatientRegister(res.data.items[0].id)
+
             } else if (res.data.items.length > 1) {
               this.PatientRegisterList = res.data.items
               this.dialogWin.PatientRegisterForChoose = true // 弹窗
@@ -239,6 +240,7 @@ export default {
             }
           }
         })
+        
       // setTimeout(() => {
       //   //触发检查医生诊台相关刷新
       //   this.dataTransOpts.refresh.register_check.M++
@@ -251,22 +253,19 @@ export default {
 
     //根据patientRegisterNo 获取 人员信息
     getPatientRegister(patientRegisterNo) {
-      if (!patientRegisterNo) {
-        this.afterFind({ id: '', patientRegisterNo: '' })
-        return
-      }
+      // this.afterFind({ id: '', patientRegisterNo: '' })
+      if (!patientRegisterNo) return
       let body = { patientRegisterNo }
       postapi('/api/app/patientregister/GetAlreadyRegisterPatientRegisterByNo', body)
         .then((res) => {
-          if (res.code != -1) {
-            if (res.data) this.dataTransOpts.tableS.patient_register = deepCopy(res.data)
+          if (res.code > -1) {
+            this.dataTransOpts.tableS.patient_register = res.data            
           }
         })
-        .finally(() => {
+        .finally(() =>{
           this.afterFind(this.dataTransOpts.tableS.patient_register)
         });
 
-
     },
 
 
diff --git a/src/components/sumDoctorCheck/SumSug.vue b/src/components/sumDoctorCheck/SumSug.vue
index 4e6eb58..2866131 100644
--- a/src/components/sumDoctorCheck/SumSug.vue
+++ b/src/components/sumDoctorCheck/SumSug.vue
@@ -5,7 +5,7 @@
       
         
-          
+          
           
             
               
@@ -47,7 +47,7 @@
       
         
-          
+          
           
           
             
@@ -72,17 +72,17 @@
                 
                 
                   
                   
@@ -202,20 +202,33 @@
           
             
-              
+              
                 {{ item.displayName }}
               
             
            
           录入结果:
-          
         
         
       
+
+      
+        
+          
+            
+          
+        
+        
+      
      
    
 
@@ -226,7 +239,7 @@ import { getapi, postapi, putapi, deletapi } from "@/api/api";
 import { getPagePriv, checkPagePriv, deepCopy, arrayExistObj } from '../../utlis/proFunc';
 export default {
   components: {},
-  props: ["patientRegisterId","tabChoosed"],
+  props: ["patientRegisterId", "tabChoosed"],
   data() {
     return {
       pagePriv: {
@@ -235,7 +248,10 @@ export default {
       },
       sumDetails: [],
       suggestionCurRow: 0, //当前操作建议的行
+      dialogDiagnosises: false, // 诊断选择窗口
       diagnosises: [], // 诊断
+      diagnosisesFilter: [], // 可选的诊断
+      choosedDiagnosisIds: [],  // 已选的诊断集合
       collapse: false,  // 折叠/展开全部建议
 
       dialogWinSymbols: false,
@@ -257,6 +273,7 @@ export default {
     //获取用户当前页面的权限
     let userPriv = window.sessionStorage.getItem('userPriv')
     if (userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName))
+
   },
 
   //挂载完成
@@ -369,12 +386,36 @@ export default {
       })
     },
 
+    //选择诊断
+    btnChooseDiagnosis(index) {
+      this.suggestionCurRow = index
+      this.choosedDiagnosisIds = this.sumDoctorCheck.suggestionList[index].diagnosisIds
+      let diagnosisIds = []
+      this.sumDoctorCheck.suggestionList.forEach((e, i) => {
+        if (i != index) {
+          if (e.diagnosisIds) diagnosisIds = diagnosisIds.concat(e.diagnosisIds)
+        }
+      });
+      this.diagnosisesFilter = this.diagnosises.filter(e => {
+        return diagnosisIds.indexOf(e.id) == -1
+      })
+      this.dialogDiagnosises = true
+
+    },
+
+    btnOkDiagnosis() {
+      this.changeDiagnosis(this.choosedDiagnosisIds)
+      this.dialogDiagnosises = false
+
+    },
+
     // 获取人员是否已总检过
     getHaveSumData(patientRegisterId) {
       this.sumDoctorCheck.summaryList = [];
       this.sumDoctorCheck.suggestionList = [];
       if (!patientRegisterId) return
 
+      // console.log('getHaveSumData', this.dataTransOpts.tableS.patient_register.completeFlag)
       if (this.dataTransOpts.tableS.patient_register.completeFlag == '3') {
         this.summaryList(patientRegisterId, 'Y')
         this.suggestionList(patientRegisterId, 'Y')
@@ -403,9 +444,6 @@ export default {
         })
     },
 
-
-
-
     //获取综述
     summaryList(RegisterId, isGetExistData) {
       if (!RegisterId) {
@@ -465,6 +503,7 @@ export default {
         isGetExistData,
       }
       // 旧接口: console.log(`/api/app/sumsuggestionheader/getsumsuggestionlist?PatientRegisterId=${RegisterId}`)
+
       postapi('/api/app/sumsuggestionheader/getsumsuggestionlist', body)
         .then((res) => {
           console.log("suggestionList", res.data);
@@ -492,12 +531,10 @@ export default {
                 });
               }
             });
-            this.sumDoctorCheck.suggestionList = res.data;            
+            this.sumDoctorCheck.suggestionList = res.data;
           }
-        })
-        .catch((err) => {
-          this.$message({ type: "error", message: `操作失败,原因:${err}` });
         });
+
     },
 
     // 按钮可用
@@ -517,37 +554,25 @@ export default {
       return ret
     },
 
-    // 可选诊断处理
-    disabledDiagnosis(diagnosisId, index) {
-      let ret = false
-      let diagnosisIds = []
-      this.sumDoctorCheck.suggestionList.forEach((e, i) => {
-        if (i != index) {
-          if (e.diagnosisIds) diagnosisIds = diagnosisIds.concat(e.diagnosisIds)
-        }
-      });
-      if (diagnosisIds.indexOf(diagnosisId) > -1) ret = true
-      return ret
-    },
-
     // 诊断选择
     changeDiagnosis(v) {
-      console.log('changeDiagnosis', v)
+      // console.log('changeDiagnosis', v)
       let suggestionTitle = []
       if (v.length == 0) {
         this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['suggestionTitle'] = ''
         return
       }
       //先找到是操作的建议行
-      let lv = `${v}`
-      let suggestionList = deepCopy(this.sumDoctorCheck.suggestionList)
-      suggestionList.forEach(e => {
-        e.diagnosisIds = `${e.diagnosisIds}`
-      });
-      let lfind = arrayExistObj(suggestionList, 'diagnosisIds', lv)
-      if (lfind == -1) return
-      this.suggestionCurRow = lfind
-      let sumSuggestionHeaderId = this.sumDoctorCheck.suggestionList[lfind].id
+      // let lv = `${v}`
+      // let suggestionList = deepCopy(this.sumDoctorCheck.suggestionList)
+      // suggestionList.forEach(e => {
+      //   e.diagnosisIds = `${e.diagnosisIds}`
+      // });
+      // let lfind = arrayExistObj(suggestionList, 'diagnosisIds', lv)
+      // if (lfind == -1) return
+      // this.suggestionCurRow = lfind
+
+      let sumSuggestionHeaderId = this.sumDoctorCheck.suggestionList[this.suggestionCurRow].id
       v.forEach(e => {
         let ld = arrayExistObj(this.diagnosises, 'id', e)
         if (ld > -1) {
@@ -555,11 +580,13 @@ export default {
           //添加医学解释
           let medicalInterpretations = this.diagnosises[ld]['medicalInterpretations']
           if (medicalInterpretations) {
-            if (!this.sumDoctorCheck.suggestionList[lfind]['medicalInterpretations']) this.sumDoctorCheck.suggestionList[lfind]['medicalInterpretations'] = []
+            if (!this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['medicalInterpretations']) {
+              this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['medicalInterpretations'] = []
+            }
             medicalInterpretations.forEach(e2 => {
-              let lf = arrayExistObj(this.sumDoctorCheck.suggestionList[lfind]['medicalInterpretations'], "suggestionContent", e2.suggestionContent)
+              let lf = arrayExistObj(this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['medicalInterpretations'], "suggestionContent", e2.suggestionContent)
               if (lf == -1) {
-                this.sumDoctorCheck.suggestionList[lfind]['medicalInterpretations'].push({
+                this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['medicalInterpretations'].push({
                   sumSuggestionHeaderId,
                   suggestionContent: e2.suggestionContent,
                   displayOrder: Math.random(),
@@ -571,11 +598,13 @@ export default {
           //添加常见原因
           let commonReasons = this.diagnosises[ld]['commonReasons']
           if (commonReasons) {
-            if (!this.sumDoctorCheck.suggestionList[lfind]['commonReasons']) this.sumDoctorCheck.suggestionList[lfind]['commonReasons'] = []
+            if (!this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['commonReasons']) {
+              this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['commonReasons'] = []
+            }
             commonReasons.forEach(e2 => {
-              let lf = arrayExistObj(this.sumDoctorCheck.suggestionList[lfind]['commonReasons'], "suggestionContent", e2.suggestionContent)
+              let lf = arrayExistObj(this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['commonReasons'], "suggestionContent", e2.suggestionContent)
               if (lf == -1) {
-                this.sumDoctorCheck.suggestionList[lfind]['commonReasons'].push({
+                this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['commonReasons'].push({
                   sumSuggestionHeaderId,
                   suggestionContent: e2.suggestionContent,
                   displayOrder: Math.random(),
@@ -587,11 +616,13 @@ export default {
           //添加常见原因
           let healthGuidances = this.diagnosises[ld]['healthGuidances']
           if (healthGuidances) {
-            if (!this.sumDoctorCheck.suggestionList[lfind]['healthGuidances']) this.sumDoctorCheck.suggestionList[lfind]['healthGuidances'] = []
+            if (!this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['healthGuidances']) {
+              this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['healthGuidances'] = []
+            }
             healthGuidances.forEach(e2 => {
-              let lf = arrayExistObj(this.sumDoctorCheck.suggestionList[lfind]['healthGuidances'], "suggestionContent", e2.suggestionContent)
+              let lf = arrayExistObj(this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['healthGuidances'], "suggestionContent", e2.suggestionContent)
               if (lf == -1) {
-                this.sumDoctorCheck.suggestionList[lfind]['healthGuidances'].push({
+                this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['healthGuidances'].push({
                   sumSuggestionHeaderId,
                   suggestionContent: e2.suggestionContent,
                   displayOrder: Math.random(),
@@ -601,7 +632,9 @@ export default {
           }
         }
       });
+      this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['diagnosisIds'] = v
       this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['suggestionTitle'] = `${suggestionTitle}`
+      this.sumDoctorCheck.suggestionList[this.suggestionCurRow]['diagnosisNames'] = `${suggestionTitle}`
       this.$nextTick(() => {
         this.$refs['tableSuggestion'].doLayout()
       })
@@ -878,7 +911,7 @@ export default {
       // immediate:true,
       handler(newVal, oldVal) {
         console.log(`watch 总检--综述建议 newVal: ${newVal}, oldVal: ${oldVal} patientRegisterId: ${this.dataTransOpts.tableS.patient_register.id}`);
-        if(newVal != oldVal && this.tabChoosed == '1') this.getHaveSumData(this.dataTransOpts.tableS.patient_register.id)
+        if (newVal != oldVal && this.tabChoosed == '1') this.getHaveSumData(this.dataTransOpts.tableS.patient_register.id)
       }
     },
   },
@@ -887,13 +920,17 @@ export default {