ソースを参照

518合并代码

XMLWAN 2 年 前
コミット
9603d5052d

+ 6 - 2
src/api/dialysis_record.js ファイルの表示

@@ -74,13 +74,17 @@ export function startDialysis(patient_id, schedule_date, nurse_id, bed_id, lood_
74 74
   })
75 75
 }
76 76
 
77
-export function finishDialysis(patient_id, schedule_date, end_time, nurse_id, mode) {
77
+export function finishDialysis(patient_id, schedule_date, end_time, nurse_id, mode, puncture_point_haematoma, internal_fistula, catheter, cruor) {
78 78
   var params = {
79 79
     patient_id: patient_id,
80 80
     date: schedule_date,
81 81
     nurse: nurse_id,
82 82
     end_time: end_time,
83
-    mode: mode
83
+    mode: mode,
84
+    puncture_point_haematoma: puncture_point_haematoma,
85
+    internal_fistula: internal_fistula,
86
+    catheter: catheter,
87
+    cruor: cruor
84 88
   }
85 89
   return request({
86 90
     url: '/api/dialysis/finish',

+ 5 - 5
src/lang/zh.js ファイルの表示

@@ -120,7 +120,7 @@ export default {
120 120
     completeOrder: '购买结果',
121 121
     orderRecord: '订单详情',
122 122
     recordList: '订单记录',
123
-    // stockManage: '耗材管理',
123
+    stockManage: '耗材管理',
124 124
     supplyManage: '采购管理',
125 125
     supplyList: '供应商管理',
126 126
     goodType: '商品类型',
@@ -159,11 +159,11 @@ export default {
159 159
     schedule_print: '排班打印',
160 160
 
161 161
     // 药房管理
162
-    PatientDispensing:'患者发药',
163
-    DrugDispensing:'药品发药',
164
-    DispensingDetails:'发药明细',
162
+    PatientDispensing: '患者发药',
163
+    DrugDispensing: '药品发药',
164
+    DispensingDetails: '发药明细',
165 165
     // ConsumablesManagement:'耗材管理',
166
-    MedicianManagement:'药品管理',
166
+    MedicianManagement: '药品管理',
167 167
 
168 168
     otherManagement: '其他管理',
169 169
     drugsExpiryDate: '药品有效期预警',

+ 153 - 2
src/xt_pages/Pharmacy/DrugDispensing.vue ファイルの表示

@@ -13,8 +13,10 @@
13 13
           <div class="list">
14 14
             <el-date-picker
15 15
               style="width: 300px"
16
-              v-model="datepick"
16
+              v-model="start_time"
17 17
               type="date"
18
+              format="yyyy-MM-dd"
19
+              value-format="yyyy-MM-dd"
18 20
               placeholder="选择日期"
19 21
             >
20 22
             </el-date-picker>
@@ -44,16 +46,55 @@
44 46
           </div>
45 47
 
46 48
           <el-table
49
+            v-if="state == 1"
47 50
             :height="tableHeight"
48 51
             :data="tableData"
49 52
             border
50 53
             style="width: 100%"
54
+            highlight-current-row
55
+            ref="singleTable"
56
+            @current-change="handleCurrentChange"
51 57
           >
52 58
             <el-table-column prop="name" label="名称" width="100">
59
+               <template slot-scope="scope">
60
+                {{scope.row.drug_name}}
61
+              </template>
53 62
             </el-table-column>
54 63
             <el-table-column prop="specifications" label="规格" width="100">
64
+              <template slot-scope="scope">
65
+                {{scope.row.dose}}{{scope.row.dose_unit}}*{{scope.row.min_number}}{{scope.row.min_unit}}/{{scope.row.max_unit}}
66
+              </template>
55 67
             </el-table-column>
56 68
             <el-table-column prop="stock" label="库存" width="100">
69
+               <template slot-scope="scope">
70
+                {{getWarehoseInfo(scope.row.drug_warehouse_info,scope.row.max_unit,scope.row.min_unit,scope.row.min_number)}}
71
+              </template>
72
+            </el-table-column>
73
+          </el-table>
74
+
75
+          <el-table
76
+            v-if="state == 2"
77
+            :height="tableHeight"
78
+            :data="tableData"
79
+            border
80
+            style="width: 100%"
81
+            highlight-current-row
82
+            ref="singleTable"
83
+          >
84
+            <el-table-column prop="name" label="名称" width="100">
85
+               <template slot-scope="scope">
86
+                {{scope.row.drug_name}}
87
+              </template>
88
+            </el-table-column>
89
+            <el-table-column prop="specifications" label="规格" width="100">
90
+              <template slot-scope="scope">
91
+                {{scope.row.dose}}{{scope.row.dose_unit}}*{{scope.row.min_number}}{{scope.row.min_unit}}/{{scope.row.max_unit}}
92
+              </template>
93
+            </el-table-column>
94
+            <el-table-column prop="stock" label="库存" width="100">
95
+               <template slot-scope="scope">
96
+                {{getWarehoseInfo(scope.row.drug_warehouse_info,scope.row.max_unit,scope.row.min_unit,scope.row.min_number)}}
97
+              </template>
57 98
             </el-table-column>
58 99
           </el-table>
59 100
         </div>
@@ -78,20 +119,45 @@
78 119
             >
79 120
             <el-table-column type="selection" width="55"> </el-table-column>
80 121
             <el-table-column type="index" label="序号" width="120" align="center">
122
+              <template slot-scope="scope">
123
+                {{scope.$index + 1}}
124
+              </template>
81 125
             </el-table-column>
82 126
             <el-table-column prop="name" label="患者名称" width="180" align="center">
127
+                <template slot-scope="scope">
128
+                 {{getPatientName(scope.row.patient_id)}}
129
+              </template>
83 130
             </el-table-column>
84 131
             <el-table-column prop="name" label="单次用量" width="170" align="center">
132
+               <template  slot-scope="scope">
133
+                 {{scope.row.single_dose}}
134
+               </template>
85 135
             </el-table-column>
86 136
             <el-table-column prop="name" label="用法" width="160" align="center">
137
+               <template  slot-scope="scope">
138
+                 {{scope.row.delivery_way}}
139
+               </template>
87 140
             </el-table-column>
88 141
             <el-table-column prop="name" label="频率" width="160" align="center">
142
+                <template  slot-scope="scope">
143
+                 {{scope.row.execution_frequency}}
144
+               </template>
89 145
             </el-table-column>
90 146
             <el-table-column prop="name" label="天数" width="160" align="center">
147
+               <template  slot-scope="scope">
148
+                 {{scope.row.day}}
149
+               </template>
91 150
             </el-table-column>
92 151
             <el-table-column prop="name" label="总量" width="160" align="center">
152
+                <template  slot-scope="scope">
153
+                 {{scope.row.prescribing_number}}
154
+               </template>
93 155
             </el-table-column>
94 156
             <el-table-column prop="name" label="数据来源" width="162" align="center">
157
+                <template  slot-scope="scope">
158
+                 <span v-if="scope.row.type == 1">血透</span>
159
+                 <span v-if="scope.row.type == 2">HIS</span>
160
+               </template>
95 161
             </el-table-column>
96 162
           </el-table>
97 163
         </div>
@@ -112,6 +178,8 @@
112 178
 <script>
113 179
 import drugPrint from "./print/drugPrint.vue";
114 180
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
181
+import { getTodayAdviceList,getPharmacyBaseDrug,updatePharmacyBaseDrug } from "@/api/his/advice";
182
+const moment = require('moment')
115 183
 export default {
116 184
   components: {
117 185
     BreadCrumb,
@@ -131,10 +199,16 @@ export default {
131 199
       tableData: [],
132 200
       tableData_list: [],
133 201
       multipleSelection: [],
202
+      start_time:moment(new Date()).add('year',0).format("YYYY-MM-DD"),
203
+      patientList:[],
204
+      keywords:"",
134 205
     };
135 206
   },
136 207
 
137 208
   methods: {
209
+     searchAction() {
210
+      this.getlist();
211
+    },
138 212
     // 跳转打印页面
139 213
     toPrint() {
140 214
       // this.$router.push({ path: "/Pharmacy/print/patientPrint" });
@@ -171,8 +245,85 @@ export default {
171 245
     handleSelectionChange(val) {
172 246
       this.multipleSelection = val;
173 247
     },
248
+    getlist(){
249
+      var params = {
250
+        start_time:this.start_time,
251
+        keywords:this.keywords,
252
+      }  
253
+      getTodayAdviceList(params).then(response=>{
254
+         if(response.data.state == 1){
255
+           var list =  response.data.data.list
256
+           this.$refs.singleTable.setCurrentRow(list[0])
257
+           this.tableData = list
258
+         }
259
+      }) 
260
+    }, 
261
+   getWarehoseInfo(arr, max_unit, min_unit, min_number) {
262
+      var total = 0;
263
+      var max_str = "";
264
+      var min_str = "";
265
+      if (arr.length > 0) {
266
+        for (let i = 0; i < arr.length; i++) {
267
+          total += parseInt(arr[i].stock_max_number+ arr[i].stock_min_number);
268
+        }
269
+      }
270
+      if (total < min_number) {
271
+        min_str = total + min_unit;
272
+      }
273
+      if (total == 0) {
274
+        min_str = "";
275
+        max_str = "";
276
+      }
277
+      if (total >= min_number) {
278
+        if (parseInt(total / min_number) != 0) {
279
+          max_str = parseInt(total / min_number) + max_unit;
280
+        }
281
+        if (total % min_number != 0) {
282
+          min_str = (total % min_number) + min_unit;
283
+        }
284
+      }
285
+      return max_str + min_str;
286
+    },
287
+
288
+    handleCurrentChange(row) {
289
+      this.getPharmacyBaseDrug(row.id)
290
+    },
291
+    getPharmacyBaseDrug(drug_id){
292
+      var params = {
293
+        start_time:this.start_time,
294
+        drug_id:drug_id,
295
+      }
296
+      getPharmacyBaseDrug(params).then(response=>{
297
+        if(response.data.state == 1){
298
+           var advicelist = response.data.data.advicelist
299
+           for(let i=0;i<advicelist.length;i++){
300
+             advicelist[i].type = 1
301
+             advicelist[i].day = " "
302
+             this.tableData_list.push(advicelist[i])
303
+           }
304
+           var hisAdviceList = response.data.data.hisAdviceList
305
+           for(let i=0;i<hisAdviceList.length;i++){
306
+             hisAdviceList[i].type = 2
307
+             this.tableData_list.push(hisAdviceList[i])
308
+           }
309
+           var patient = response.data.data.patient
310
+           this.patientList = patient
311
+        }
312
+      })
313
+    },
314
+    getPatientName(id){
315
+       var name = ""
316
+       for(let i=0;i<this.patientList.length;i++){
317
+          if(id == this.patientList[i].id){
318
+             name = this.patientList[i].name
319
+          }
320
+       }
321
+       return name
322
+    },
323
+  },
324
+  created() {
325
+    this.getlist()
174 326
   },
175
-  created() {},
176 327
 };
177 328
 </script>
178 329
 

+ 150 - 0
src/xt_pages/data/components/dialysisOff.vue ファイルの表示

@@ -0,0 +1,150 @@
1
+<template>
2
+  <div class="">
3
+    <el-table
4
+      :row-style="{ color: '#303133' }"
5
+      :header-cell-style="{
6
+        backgroundColor: 'rgb(245, 247, 250)',
7
+        color: '#606266'
8
+      }"
9
+      :data="dialysis_off_data"
10
+      border
11
+      fit
12
+      highlight-current-row
13
+      style="width: 100%;min-height:500px;"
14
+    >
15
+      <el-table-column align="center" label="字段名">
16
+        <template slot-scope="scope">
17
+          <span>{{ scope.row.filed_name_cn }}</span>
18
+        </template>
19
+      </el-table-column>
20
+      <el-table-column align="center" label="字段">
21
+        <template slot-scope="scope">
22
+          <span>{{ scope.row.filed_name }}</span>
23
+        </template>
24
+      </el-table-column>
25
+
26
+      <el-table-column align="center" label="是否显示">
27
+        <template slot-scope="scope">
28
+          <span v-if="scope.row.is_show == 1">是</span>
29
+          <span v-if="scope.row.is_show == 2">否</span>
30
+        </template>
31
+      </el-table-column>
32
+
33
+      <el-table-column label="操作" align="center">
34
+        <template slot-scope="scope">
35
+          <el-tooltip
36
+            class="item"
37
+            effect="dark"
38
+            content="不展示"
39
+            placement="top"
40
+            v-if="scope.row.is_show == 1"
41
+          >
42
+            <el-button
43
+              size="small"
44
+              type="danger"
45
+              icon="el-icon-remove-outline"
46
+              @click="handleHide(scope.$index, scope.row)"
47
+            >
48
+            </el-button>
49
+          </el-tooltip>
50
+
51
+          <el-tooltip
52
+            class="item"
53
+            effect="dark"
54
+            content="展示"
55
+            placement="top"
56
+            v-if="scope.row.is_show == 2"
57
+          >
58
+            <el-button
59
+              size="small"
60
+              type="primary"
61
+              icon="el-icon-view"
62
+              @click="handleShow(scope.$index, scope.row)"
63
+            >
64
+            </el-button>
65
+          </el-tooltip>
66
+        </template>
67
+      </el-table-column>
68
+    </el-table>
69
+  </div>
70
+</template>
71
+
72
+<script>
73
+import { updateFieldIsShow } from "@/api/data";
74
+import store from "@/store";
75
+
76
+export default {
77
+  name: "dialysisAfter",
78
+
79
+  props: {
80
+    dialysis_off_data: {
81
+      type: Array
82
+    }
83
+  },
84
+  methods: {
85
+    handleHide: function(index, row) {
86
+      this.$confirm("是否将该字段设为不可见?", "提示", {
87
+        confirmButtonText: "确 定",
88
+        cancelButtonText: "取 消",
89
+        type: "warning"
90
+      })
91
+        .then(() => {
92
+          updateFieldIsShow(row.id, 2).then(response => {
93
+            if (response.data.state == 1) {
94
+              let params = {
95
+                id: response.data.data.id,
96
+                is_show: response.data.data.is_show
97
+              };
98
+              store.dispatch("updateFiledConfigList", params).then(() => {});
99
+              this.$emit("change", params);
100
+            }
101
+          });
102
+          this.$message({
103
+            type: "success",
104
+            message: "设置成功!"
105
+          });
106
+        })
107
+        .catch(() => {});
108
+    },
109
+    handleShow: function(index, row) {
110
+      this.$confirm("是否将该字段设为可见?", "提示", {
111
+        confirmButtonText: "确 定",
112
+        cancelButtonText: "取 消",
113
+        type: "warning"
114
+      }).then(() => {
115
+          updateFieldIsShow(row.id, 1).then(response => {
116
+            if (response.data.state == 1) {
117
+              let params = {
118
+                id: response.data.data.id,
119
+                is_show: response.data.data.is_show
120
+              };
121
+              store.dispatch("updateFiledConfigList", params).then(() => {});
122
+              this.$emit("change", params);
123
+            }
124
+          });
125
+          this.$message({
126
+            type: "success",
127
+            message: "设置成功!"
128
+          });
129
+        })
130
+        .catch(() => {});
131
+    }
132
+  },
133
+ 
134
+};
135
+</script>
136
+
137
+<style scoped></style>
138
+<style>
139
+.el-table td,
140
+.el-table th.is-leaf,
141
+.el-table--border,
142
+.el-table--group {
143
+  border-color: #d0d3da;
144
+}
145
+.el-table--border::after,
146
+.el-table--group::after,
147
+.el-table::before {
148
+  background-color: #d0d3da;
149
+}
150
+</style>

+ 22 - 2
src/xt_pages/data/showConfig.vue ファイルの表示

@@ -48,6 +48,12 @@
48 48
               @change="changeAfterData"
49 49
             ></dialysis-after>
50 50
           </el-tab-pane>
51
+          <el-tab-pane label="透析下机">
52
+            <dialysis-off
53
+              :dialysis_off_data="dialysis_off_data"
54
+              @change="changeDialysisOffData"
55
+            ></dialysis-off>
56
+          </el-tab-pane>
51 57
           <el-tab-pane label="透析小结">
52 58
             <dialysis-summary
53 59
               :dialysis_summary_data="dialysis_summary_data"
@@ -70,6 +76,7 @@ import DialysisMonitor from "./components/dialysisMonitor";
70 76
 import ReceiveTreatmentAsses from "./components/receiveTreatmentAsses";
71 77
 import DialysisSummary from "./components/dialysisSummary";
72 78
 import doubleCheck from "./components/doubleCheck.vue"
79
+import dialysisOff from "./components/dialysisOff.vue"
73 80
 import { getFiledConfigList } from "@/utils/data_config"; // getConfigList from sessionStorage
74 81
 import store from "@/store";
75 82
 import DialysisComputer from './components/dialysisComputer'
@@ -85,7 +92,8 @@ export default {
85 92
     DialysisAfter,
86 93
     BreadCrumb,
87 94
     DialysisSummary,
88
-    doubleCheck
95
+    doubleCheck,
96
+    dialysisOff
89 97
   },
90 98
   data() {
91 99
     return {
@@ -102,6 +110,7 @@ export default {
102 110
       dialysis_summary_data: [],
103 111
       dialysis_computer_data:[],
104 112
       double_check_date:[],
113
+      dialysis_off_data:[],
105 114
     };
106 115
   },
107 116
   methods: {
@@ -164,12 +173,20 @@ export default {
164 173
           this.double_check_date[i].is_show = object.is_show;
165 174
         }
166 175
       }
176
+    },
177
+    changeDialysisOffData:function(object){
178
+
179
+     for (let i = 0; i < this.dialysis_off_data.length; i++) {
180
+        if (this.dialysis_off_data[i].id == object.id) {
181
+          this.dialysis_off_data[i].is_show = object.is_show;
182
+        }
183
+      }
167 184
     }
168 185
 
169 186
   },
170 187
   created() {
171 188
     var filedList = store.getters.xt_user.fileds;
172
-   
189
+    
173 190
   
174 191
     for (let i = 0; i < filedList.length; i++) {
175 192
       switch (filedList[i].module) {
@@ -197,6 +214,9 @@ export default {
197 214
         case 8:
198 215
           this.double_check_date.push(filedList[i]);
199 216
           break;
217
+        case 9:
218
+        this.dialysis_off_data.push(filedList[i]);
219
+        break;
200 220
       }
201 221
     }
202 222
    

+ 1 - 1
src/xt_pages/dialysis/details/dialog/doubleCheckDialog.vue ファイルの表示

@@ -128,7 +128,7 @@
128 128
         </el-select>
129 129
       </el-form-item>
130 130
 
131
-      <el-form-item label="第二核对人员工号:" v-if="isShowFiled('第二核对人员工号')" label-width="140px">
131
+      <el-form-item label="第二核对人员工号:" isShowFiled label-width="140px">
132 132
         <el-input style="width:200px" v-model="doubleReview.employee_number"></el-input>
133 133
       </el-form-item>
134 134
 

+ 129 - 23
src/xt_pages/dialysis/details/dialog/finish_dialog.vue ファイルの表示

@@ -4,7 +4,7 @@
4 4
       <!-- <div class="txsj">
5 5
       </div> -->
6 6
       <div class="warnTxt" v-if="showTxt != ''">{{ showTxt }}</div>
7
-      <el-form :model="form" label-width="80px">
7
+      <el-form :model="form" label-width="100px">
8 8
         <el-form-item label="下机护士">
9 9
           <el-select v-model="form.nurse_id" :disabled="!(dialysis_order.id != 0)">
10 10
             <el-option v-for="(admin, index) in admins" :key="index" :value="admin.id" :label="admin.name"></el-option>
@@ -22,24 +22,52 @@
22 22
           ></el-date-picker>
23 23
         </el-form-item>
24 24
 
25
+        <el-form-item label="穿刺处血肿:" v-if="isShowFiled('穿刺处血肿')" :label-width="150">
26
+           <el-radio-group v-model="form.puncture_point_haematoma">
27
+              <el-radio :label="1">有</el-radio>
28
+              <el-radio :label="2">无</el-radio>
29
+           </el-radio-group>
30
+        </el-form-item>
31
+        
32
+        <el-form-item label="内瘘: " v-if="isShowFiled('内瘘')">
33
+            <el-input v-model="form.internal_fistula" readonly  @focus="showInnerDialog('7')" style="width:200px"></el-input>
34
+        </el-form-item>
35
+
36
+    
37
+        <el-form-item label="导管: " v-if="isShowFiled('导管')">
38
+          <el-input v-model="form.catheter" @focus="showInnerDialog('4')" style="width:200px"></el-input>
39
+        </el-form-item>
40
+
41
+        <el-form-item label="透析器凝血: ">
42
+          <el-input
43
+            style="width:200px"
44
+            v-model="form.cruor"
45
+            readonly
46
+            @focus="showInnerDialog('1')"
47
+          ></el-input>
48
+       </el-form-item> 
49
+
25 50
         <el-form-item>
26 51
           <el-button v-if="(dialysis_order.id != 0 && dialysis_order.stage == 1)" @click="submit" :loading="loading"
27 52
                      type="primary">执行下机
28 53
           </el-button>
29
-          <!--<el-button v-else-if="(dialysis_order.id != 0 && dialysis_order.stage == 2)" :disabled="true" type="info">-->
30
-            <!--已下机-->
31
-          <!--</el-button>-->
32
-          <!--<el-button v-else :disabled="true" type="info">未上机</el-button>-->
33 54
           <el-button
34 55
             v-if="dialysis_order.stage == 2 "
35 56
             type="primary" @click="modifyFinish">修改下机
36 57
           </el-button>
37
-
38
-
39 58
         </el-form-item>
59
+        
60
+
40 61
 
41 62
       </el-form>
42 63
     </el-dialog>
64
+
65
+    <multi-select-box
66
+      :propsForm="InnerDialogProps"
67
+      v-on:dialog-comfirm="innerDialogComfirm"
68
+      v-on:dialog-cancle="innerDialogCancle"
69
+    ></multi-select-box>
70
+
43 71
   </div>
44 72
 </template>
45 73
 
@@ -47,10 +75,14 @@
47 75
   import axios from 'axios'
48 76
   import { finishDialysis,PostModifyFinishDialysis } from '@/api/dialysis_record'
49 77
   import { parseTime } from '@/utils'
50
-
78
+  import multiSelectBox from './MultiSelectBox'
51 79
   import request from '@/utils/request'
52
-
80
+  import store from "@/store";
81
+  import { getDataConfig } from '@/utils/data'
53 82
   export default {
83
+    components: {
84
+      multiSelectBox
85
+    },
54 86
     name: 'FinishDialog',
55 87
     data() {
56 88
       return {
@@ -63,10 +95,25 @@
63 95
         schedule_date: 0,
64 96
         isPremission:false,
65 97
         end_time: '',
66
-
98
+        isVisibility: false,
67 99
         form: {
68
-          nurse_id: 0
69
-        }
100
+          nurse_id: 0,
101
+          puncture_point_haematoma:2,
102
+          internal_fistula:"",
103
+          catheter:"",
104
+          cruor:"",
105
+        },
106
+        internal_fistula: [],
107
+        InnerDialogProps: {
108
+          values: [],
109
+          visibility: false,
110
+          isShowTextArea: true,
111
+          customContent: '',
112
+          titles: '',
113
+          type: '' // 不同弹框类型,用来匹配数据
114
+        },
115
+        catheter: [],
116
+        cruorOptions: [],
70 117
       }
71 118
     },
72 119
     props: {
@@ -89,7 +136,9 @@
89 136
       }
90 137
     },
91 138
     created() {
92
-
139
+      this.internal_fistula = getDataConfig('hemodialysis', 'internal_fistula')
140
+      this.catheter = getDataConfig('hemodialysis', 'catheter')
141
+      this.cruorOptions = getDataConfig('hemodialysis', 'cruor')
93 142
     },
94 143
     watch: {
95 144
       'dialysis_order.id': function() {
@@ -98,7 +147,12 @@
98 147
         } else if (this.dialysis_order.stage == 1) {
99 148
           this.form.nurse_id = this.$store.getters.xt_user.user.id
100 149
         } else {
150
+          console.log("orde32332323232332",this.dialysis_order)
101 151
           this.form.nurse_id = this.dialysis_order.finish_nurse
152
+          this.form.catheter = this.dialysis_order.catheter
153
+          this.form.cruor = this.dialysis_order.cruor
154
+          this.form.internal_fistula = this.dialysis_order.blood_access_internal_fistula
155
+          this.form.puncture_point_haematoma = this.dialysis_order.puncture_point_haematoma
102 156
         }
103 157
       },
104 158
       patient:{
@@ -109,6 +163,16 @@
109 163
       }
110 164
     },
111 165
     methods: {
166
+       isShowFiled(name) {
167
+        var filedList = store.getters.xt_user.fileds
168
+       
169
+        for (let i = 0; i < filedList.length; i++) {
170
+          if (filedList[i].module == 9 && filedList[i].filed_name_cn == name && filedList[i].is_show == 1) {
171
+            return true
172
+          }
173
+        }
174
+        return false
175
+      },
112 176
       show: function(record) {
113 177
         this.record = record
114 178
         console.log("下机",record)
@@ -185,12 +249,17 @@
185 249
       },
186 250
       hide: function() {
187 251
         this.visible = false
188
-      },modifyFinish:function(){
252
+      },
253
+      modifyFinish:function(){
189 254
         let ParamsQuery = {};
190 255
         ParamsQuery["id"] = this.dialysis_order.id;
191 256
         ParamsQuery["nurse"] = this.form.nurse_id;
192 257
         ParamsQuery["end_time"] = this.end_time;
193 258
         ParamsQuery["mode"] = "2"
259
+        ParamsQuery["puncture_point_haematoma"] = this.form.puncture_point_haematoma
260
+        ParamsQuery["internal_fistula"] = this.form.internal_fistula
261
+        ParamsQuery["catheter"] = this.form.catheter
262
+        ParamsQuery["cruor"] = this.form.cruor
194 263
         if(this.dialysis_order.finish_creator  != this.$store.getters.xt_user.user.id){
195 264
           ParamsQuery["mode"] = "3"
196 265
         }
@@ -215,7 +284,7 @@
215 284
       submit: function() {
216 285
         this.loading = true
217 286
         let mode = "1"
218
-        finishDialysis(this.patient_id,this.schedule_date ? parseTime(this.schedule_date, '{y}-{m}-{d}') : parseTime(new Date(), '{y}-{m}-{d}'), this.end_time, this.form.nurse_id,mode).then(rs => {
287
+        finishDialysis(this.patient_id,this.schedule_date ? parseTime(this.schedule_date, '{y}-{m}-{d}') : parseTime(new Date(), '{y}-{m}-{d}'), this.end_time, this.form.nurse_id,mode,this.form.puncture_point_haematoma,this.form.internal_fistula,this.form.catheter,this.form.cruor).then(rs => {
219 288
           this.loading = false
220 289
           var resp = rs.data
221 290
           if (resp.state == 1) {
@@ -225,10 +294,6 @@
225 294
               this.$set(this_order, key, dialysis_order[key])
226 295
             }
227 296
             let orgId = parseInt(sessionStorage.getItem("org_id"));
228
-            // axios.get('/api/index/downpatient?org_id='+ orgId + '&admin_user_id='+ this.form.nurse_id + '&patient_id=' + this.patient_id).then((res) => {
229
-            //   console.log('res',res.data)
230
-
231
-            // }) 
232 297
             this.hide()
233 298
             this.$emit('assessmentAfterDislysis', resp.data.assessmentAfterDislysis)
234 299
 
@@ -251,9 +316,6 @@
251 316
           module:6
252 317
         }
253 318
       }).then(res => {
254
-        console.log(res)
255
-        console.log("下机",this.record)
256
-        // console.log("上机",this.record)
257 319
         if(res.data.state == 0){
258 320
           this.hasPermission = false
259 321
         }else if(res.data.state == 1){
@@ -277,7 +339,51 @@
277 339
           }
278 340
         }
279 341
       })
280
-    }
342
+    },
343
+    showInnerDialog: function(val) {
344
+        this.InnerDialogProps.visibility = true
345
+        switch (val) {
346
+          case '7': // 内瘘
347
+            this.InnerDialogProps.values = this.internal_fistula
348
+            this.InnerDialogProps.titles = '内瘘'
349
+            this.InnerDialogProps.type = 'internal_fistula'
350
+            this.InnerDialogProps.selected = this.form.internal_fistula
351
+            this.InnerDialogProps.isShowTextArea = false
352
+            break
353
+           case '4': // 导管
354
+            this.InnerDialogProps.values = this.catheter
355
+            this.InnerDialogProps.titles = '导管'
356
+            this.InnerDialogProps.type = 'catheter'
357
+            this.InnerDialogProps.selected = this.form.catheter
358
+            this.InnerDialogProps.isShowTextArea = false
359
+            break
360
+            case '1':
361
+            this.InnerDialogProps.values = this.cruorOptions
362
+            this.InnerDialogProps.titles = '凝血'
363
+            this.InnerDialogProps.type = 'cruor'
364
+            this.InnerDialogProps.selected = this.form.cruor
365
+            this.InnerDialogProps.isShowTextArea = false
366
+            break
367
+          
368
+        }
369
+      },
370
+      innerDialogComfirm: function(val) {
371
+        this.InnerDialogProps.visibility = false
372
+        switch (val.type) {
373
+          case 'internal_fistula':
374
+            this.form.internal_fistula = val.value.join(',')
375
+            break
376
+          case 'catheter':
377
+            this.form.catheter = val.value.join(',')
378
+            break
379
+          case 'cruor':
380
+          this.form.cruor = val.value.join(',')
381
+          break
382
+        }
383
+      },
384
+      innerDialogCancle: function() {
385
+        this.InnerDialogProps.visibility = false
386
+      }, 
281 387
     }
282 388
   }
283 389
 </script>

+ 7 - 4
src/xt_pages/outpatientTool/components/detailStatistics.vue ファイルの表示

@@ -167,10 +167,10 @@
167 167
     <div style="display: flex; justify-content: space-around; margin-top: 25px">
168 168
       <div>总费用:{{ getAllPice() }}</div>
169 169
       <div>
170
-        个人支付: <span v-if="his_patient.balance_accounts_type == 2"></span>
171
-        {{ getAllPice() }}
172
-        <span v-if="his_patient.balance_accounts_type != 2"></span>
173
-        {{ getActPay() }}
170
+        个人支付: 
171
+        <span v-if="his_patient.balance_accounts_type == 2">{{ getAllPice() }}</span>  
172
+        <span v-if="his_patient.balance_accounts_type != 2">{{ getActPay() }}</span>
173
+      
174 174
       </div>
175 175
       <div>基金支付记账:{{ getFundPaySumamt() }}</div>
176 176
       <div>补充医疗支付记账:{{ getHifesPay() }}</div>
@@ -223,6 +223,7 @@ export default {
223 223
       id: 0,
224 224
       start_time: "",
225 225
       end_time: "",
226
+      org_id:0,
226 227
     };
227 228
   },
228 229
   methods: {
@@ -527,6 +528,8 @@ export default {
527 528
     },
528 529
   },
529 530
   created() {
531
+    this.org_id = this.$store.getters.xt_user.org.id;
532
+    console.log("org_id233232323232",this.org_id)
530 533
     this.start_time = this.chargeDate[0];
531 534
     this.end_time = this.chargeDate[1];
532 535
     this.getHisSummaryDetailList();