Browse Source

添加影像检查

李帅 4 weeks ago
parent
commit
de658fc2f2

+ 11 - 10
src/utils/request.js

@@ -21,7 +21,7 @@ const service = axios.create({
21 21
   // baseURL: "http://106.74.15.131:81/api",
22 22
   
23 23
   // axios中请求配置有baseURL选项,表示请求URL公共部分
24
-  // baseURL: "http://192.168.3.142:8081/api",
24
+  // baseURL: "http://192.168.3.142:8080/api",
25 25
   // baseURL: "http://192.168.3.90:8080/api",
26 26
   // baseURL: "http://172.16.100.153:8081/api",
27 27
   // baseURL: "http://192.168.97.176:8081/api",
@@ -127,15 +127,16 @@ service.interceptors.response.use(res => {
127 127
       Notification.error({ title: msg })
128 128
       return Promise.reject('error')
129 129
     } else {
130
-      if(res.data.msg && res.data.msg ==="退出成功"){
131
-        return res.data
132
-      } else {
133
-        if(JSON.parse(cyptoTool.methods.decrypt(res.data)).code === 500) {
134
-          JSON.parse(cyptoTool.methods.decrypt(res.data)) 
135
-          return Message.error(JSON.parse(cyptoTool.methods.decrypt(res.data)).msg)
136
-        }
137
-        return  JSON.parse(cyptoTool.methods.decrypt(res.data)) 
138
-      }
130
+      // if(res.data.msg && res.data.msg ==="退出成功"){
131
+      //   return res.data
132
+      // } else {
133
+      //   if(JSON.parse(cyptoTool.methods.decrypt(res.data)).code === 500) {
134
+      //     JSON.parse(cyptoTool.methods.decrypt(res.data)) 
135
+      //     return Message.error(JSON.parse(cyptoTool.methods.decrypt(res.data)).msg)
136
+      //   }
137
+      //   return  JSON.parse(cyptoTool.methods.decrypt(res.data)) 
138
+      // }
139
+      return res.data
139 140
     }
140 141
   },
141 142
   error => {

+ 6 - 0
src/views/medicalRecords/recordDetailDialog.vue

@@ -50,6 +50,12 @@
50 50
           </div>
51 51
         </div>
52 52
         <div style="display: flex; margin-top: 30px">
53
+          <div style="width: 80px; font-weight: 700">影像检查:</div>
54
+          <div style="flex: 1; display: flex; flex-direction: column">
55
+            {{ recordDetailObj.imageInspectContent }}
56
+          </div>
57
+        </div>
58
+        <div style="display: flex; margin-top: 30px">
53 59
           <div style="width: 80px; font-weight: 700">诊断:</div>
54 60
           <div style="flex: 1; display: flex; flex-direction: column">
55 61
             {{ recordDetailObj.diagnosisContent }}

+ 44 - 0
src/views/patientCenter/index.vue

@@ -466,6 +466,7 @@
466 466
               @changeInspect="changeInspect"
467 467
               @changeDiagnosis="changeDiagnosis"
468 468
               @changeTreatmentPlanning="changeTreatmentPlanning"
469
+              @changeImageingInspect="changeImageingInspect"
469 470
               @changeDispose="changeDispose"
470 471
               @changeNote="changeNote"
471 472
               :widthSize="widthSize"
@@ -483,6 +484,9 @@
483 484
               :treatmentPlanningContent="treatmentPlanningContent"
484 485
               :treatmentPlanningStr="treatmentPlanningStr"
485 486
               :treatmentPlanningOptions="treatmentPlanningOptions"
487
+              :imageInspectContent="imageInspectContent"
488
+              :imageInspectStr="imageInspectStr"
489
+              :imageInspectOption="imageInspectOption"
486 490
               :disposeContent="disposeContent"
487 491
               :disposeStr="disposeStr"
488 492
               :disposeOptions="disposeOptions"
@@ -753,6 +757,11 @@ export default {
753 757
       treatmentPlanningOptions:{}, //治疗计划的下拉对应内容
754 758
       treatmentPlanningMap: new Map(), //治疗计划的map
755 759
 
760
+      imageInspectContent:"", //影像检查的合并内容
761
+      imageInspectStr:[], //影像检查的合并一句话的格式
762
+      imageInspectOption:{}, //影像检查的下拉对应内容
763
+      imageInspectMap: new Map(), //影像检查的map
764
+
756 765
       disposeContent:"", //处置的合并内容
757 766
       disposeStr:[], //处置的合并一句话的格式
758 767
       disposeOptions:{}, //处置的下拉对应内容
@@ -1087,6 +1096,14 @@ export default {
1087 1096
         }
1088 1097
       ]
1089 1098
 
1099
+      this.imageInspectContent = obj.imageInspectContent
1100
+      this.imageInspectStr = [
1101
+        {
1102
+          type: 'string',
1103
+          value: obj.imageInspectContent
1104
+        }
1105
+      ]
1106
+
1090 1107
       this.disposeContent = obj.disposeContent
1091 1108
       this.disposeStr = [
1092 1109
         {
@@ -1205,6 +1222,25 @@ export default {
1205 1222
         this.treatmentPlanningOptions = Object.assign(this.treatmentPlanningOptions, list.treatmentPlanningOption.dic_data);
1206 1223
       }
1207 1224
 
1225
+        // 判断是否有相同的合并内容 如果相同则直接合并如果不同加新的合并内容 //影像检查
1226
+        if(this.imageInspectMap.has("_" + list.imageInspectContent)){
1227
+        let imageInspectOptionStr = this.imageInspectMap.get("_" + list.imageInspectContent) // 老牙位
1228
+        let str = this.initToothPosition(this.yaKey) + imageInspectOptionStr // 老新结合 牙位
1229
+        this.imageInspectMap.set("_" + list.imageInspectContent,str)
1230
+        this.imageInspectContent = this.imageInspectContent.replace(imageInspectOptionStr,str)
1231
+        this.imageInspectStr = this.imageInspectStr.map(item=>{
1232
+          if(item.value == imageInspectOptionsStr){
1233
+            item.value = str
1234
+          }
1235
+          return item
1236
+        })
1237
+      }else {
1238
+        this.imageInspectMap.set("_" + list.imageInspectContent,this.initToothPosition(this.yaKey))
1239
+        this.imageInspectContent = this.imageInspectContent + this.initToothPosition(this.yaKey) + list.imageInspectContent
1240
+        this.imageInspectStr = [...this.imageInspectStr,{type:'string',value:this.initToothPosition(this.yaKey)},...list.imageInspectOption.str]
1241
+        this.imageInspectOptions = Object.assign(this.imageInspectOption, list.imageInspectOption.dic_data);
1242
+      }
1243
+
1208 1244
       // 判断是否有相同的合并内容 如果相同则直接合并如果不同加新的合并内容 //处置
1209 1245
       if(this.disposeMap.has("_" + list.disposeContent)){
1210 1246
         let disposeOptionsStr = this.disposeMap.get("_" + list.disposeContent) // 老牙位
@@ -1297,6 +1333,11 @@ export default {
1297 1333
       this.treatmentPlanningOptions={}
1298 1334
       this.treatmentPlanningMap= new Map()
1299 1335
 
1336
+      this.imageInspectContent=""
1337
+      this.imageInspectStr=[]
1338
+      this.imageInspectOption={}
1339
+      this.imageInspectMap= new Map()
1340
+
1300 1341
       this.disposeContent=""
1301 1342
       this.disposeStr=[]
1302 1343
       this.disposeOptions={}
@@ -1401,6 +1442,9 @@ export default {
1401 1442
     changeTreatmentPlanning(name){
1402 1443
       this.treatmentPlanningContent = name;
1403 1444
     },
1445
+    changeImageingInspect(name){
1446
+      this.imageInspectContent = name;
1447
+    },
1404 1448
     changeDispose(name){
1405 1449
       this.disposeContent = name;
1406 1450
     },

+ 1 - 1
src/views/patientCenter/medical/addMedicalTreeDialog.vue

@@ -4,7 +4,7 @@
4 4
       title="选择模版"
5 5
       :visible.sync="addMedicalTreeDialogFlag"
6 6
       v-if="addMedicalTreeDialogFlag"
7
-      width="1100px"
7
+      width="1200px"
8 8
       :close-on-press-escape="false"
9 9
       :close-on-click-modal="false"
10 10
       :before-close="beforeClose"

+ 6 - 0
src/views/patientCenter/medical/index.vue

@@ -90,6 +90,12 @@
90 90
                     </div>
91 91
                   </div>
92 92
                   <div style="display: flex; margin-top: 10px">
93
+                    <div style="width: 80px; font-weight: 700">影像检查:</div>
94
+                    <div style="flex: 1; display: flex; flex-direction: column">
95
+                        {{ item.imageInspectContent }}
96
+                    </div>
97
+                  </div>
98
+                  <div style="display: flex; margin-top: 10px">
93 99
                     <div style="width: 80px; font-weight: 700">诊断:</div>
94 100
                     <div style="flex: 1; display: flex; flex-direction: column">
95 101
                         {{ item.diagnosisContent }}

+ 81 - 0
src/views/patientCenter/medical/yaChi.vue

@@ -2766,6 +2766,64 @@ flex: 1;
2766 2766
           ></div>
2767 2767
         </div>
2768 2768
 
2769
+        <!-- 影像检查 -->
2770
+        <div class="dic_box">
2771
+          <span class="leftWidth"> 影像检查: </span>
2772
+
2773
+          <div
2774
+            ref="imageInspectText"
2775
+            style="
2776
+              display: flex;
2777
+              align-items: center;
2778
+              line-height: 21px;
2779
+              min-width: 400px;
2780
+              flex-wrap: wrap;
2781
+              flex: 1;
2782
+            "
2783
+            contenteditable="true"
2784
+            @input="changeImageingInspect"
2785
+          >
2786
+            <div
2787
+              v-for="(item, index) in imageInspectStr"
2788
+              :key="index"
2789
+              style="display: flex"
2790
+            >
2791
+              <!-- 如果是字符串类型,则直接显示文本 -->
2792
+              <span class="string" v-if="item.type === 'string'">
2793
+                {{ item.value }}
2794
+              </span>
2795
+              <!-- 如果是选择框类型,则渲染一个 select 元素 -->
2796
+              <span
2797
+                contenteditable="false"
2798
+                class="select"
2799
+                v-else-if="item.type === 'select'"
2800
+              >
2801
+                <select>
2802
+                  <option
2803
+                    v-for="(option, optIndex) in imageInspectOption[
2804
+                      item.value
2805
+                    ]"
2806
+                    :key="optIndex"
2807
+                  >
2808
+                    {{ option }}
2809
+                  </option>
2810
+                </select>
2811
+              </span>
2812
+            </div>
2813
+          </div>
2814
+        </div>
2815
+        <div style="display: flex; justify-content: flex-end">
2816
+          <div
2817
+            style="
2818
+              width: calc(100% - 70px);
2819
+              height: 2px;
2820
+              background-color: #e0e0e0;
2821
+              margin: 10px 0;
2822
+              text-align: right;
2823
+            "
2824
+          ></div>
2825
+        </div>
2826
+
2769 2827
         <!-- 诊断 -->
2770 2828
         <div class="dic_box">
2771 2829
           <span class="leftWidth"> 诊断: </span>
@@ -3162,6 +3220,10 @@ export default {
3162 3220
       type: Object,
3163 3221
       default: {}
3164 3222
     },
3223
+    imageInspectOption: {
3224
+      type: Object,
3225
+      default: {}
3226
+    },
3165 3227
     disposeContent: {
3166 3228
       type: String,
3167 3229
       default: ''
@@ -3194,6 +3256,10 @@ export default {
3194 3256
       type: Array,
3195 3257
       default: []
3196 3258
     },
3259
+    imageInspectStr: {
3260
+      type: Array,
3261
+      default: []
3262
+    },
3197 3263
     diagnosisOptions: {
3198 3264
       type: Object,
3199 3265
       default: {}
@@ -3317,6 +3383,21 @@ export default {
3317 3383
       text = newVal.replace(/\s/g, '')
3318 3384
       this.$emit('changeDiagnosis', text)
3319 3385
     },
3386
+    changeImageingInspect() {
3387
+      const ele = this.$refs.imageInspectText
3388
+      let text = null
3389
+      let newVal = ''
3390
+      Array.from(ele.children).forEach((item) => {
3391
+        const child = item.children[0]
3392
+        if (item.children[0].className === 'string') {
3393
+          newVal = newVal + child.textContent
3394
+        } else if (item.children[0].className === 'select') {
3395
+          newVal = newVal + child.children[0].value
3396
+        }
3397
+      })
3398
+      text = newVal.replace(/\s/g, '')
3399
+      this.$emit('changeImageingInspect', text)
3400
+    },
3320 3401
     changeTreatmentPlanning() {
3321 3402
       const ele = this.$refs.treatmentPlanningText
3322 3403
       let text = null

+ 6 - 0
src/views/patientCenter/printMedical.vue

@@ -105,6 +105,12 @@
105 105
           </span>
106 106
         </div>
107 107
         <div class="row_df_box">
108
+          <span style="width: 80px"> 影像检查: </span>
109
+          <span style="display: flex; flex: 1; flex-direction: column">
110
+            {{ tableData.imageInspectContent }}
111
+          </span>
112
+        </div>
113
+        <div class="row_df_box">
108 114
           <span style="width: 80px"> 诊断: </span>
109 115
           <span style="display: flex; flex: 1; flex-direction: column">
110 116
             {{ tableData.diagnosisContent }}

+ 14 - 0
src/views/returnVisit/addVisitDialog.vue

@@ -394,6 +394,20 @@
394 394
                             </div>
395 395
                             <div style="display: flex; margin-top: 10px">
396 396
                               <div style="width: 80px; font-weight: 700">
397
+                                影像检查:
398
+                              </div>
399
+                              <div
400
+                                style="
401
+                                  flex: 1;
402
+                                  display: flex;
403
+                                  flex-direction: column;
404
+                                "
405
+                              >
406
+                                {{ item.imageInspectContent }}
407
+                              </div>
408
+                            </div>
409
+                            <div style="display: flex; margin-top: 10px">
410
+                              <div style="width: 80px; font-weight: 700">
397 411
                                 诊断:
398 412
                               </div>
399 413
                               <div