Browse Source

518合并代码

XMLWAN 2 years ago
parent
commit
9603d5052d

+ 6 - 2
src/api/dialysis_record.js View File

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
   var params = {
78
   var params = {
79
     patient_id: patient_id,
79
     patient_id: patient_id,
80
     date: schedule_date,
80
     date: schedule_date,
81
     nurse: nurse_id,
81
     nurse: nurse_id,
82
     end_time: end_time,
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
   return request({
89
   return request({
86
     url: '/api/dialysis/finish',
90
     url: '/api/dialysis/finish',

+ 5 - 5
src/lang/zh.js View File

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

+ 153 - 2
src/xt_pages/Pharmacy/DrugDispensing.vue View File

13
           <div class="list">
13
           <div class="list">
14
             <el-date-picker
14
             <el-date-picker
15
               style="width: 300px"
15
               style="width: 300px"
16
-              v-model="datepick"
16
+              v-model="start_time"
17
               type="date"
17
               type="date"
18
+              format="yyyy-MM-dd"
19
+              value-format="yyyy-MM-dd"
18
               placeholder="选择日期"
20
               placeholder="选择日期"
19
             >
21
             >
20
             </el-date-picker>
22
             </el-date-picker>
44
           </div>
46
           </div>
45
 
47
 
46
           <el-table
48
           <el-table
49
+            v-if="state == 1"
47
             :height="tableHeight"
50
             :height="tableHeight"
48
             :data="tableData"
51
             :data="tableData"
49
             border
52
             border
50
             style="width: 100%"
53
             style="width: 100%"
54
+            highlight-current-row
55
+            ref="singleTable"
56
+            @current-change="handleCurrentChange"
51
           >
57
           >
52
             <el-table-column prop="name" label="名称" width="100">
58
             <el-table-column prop="name" label="名称" width="100">
59
+               <template slot-scope="scope">
60
+                {{scope.row.drug_name}}
61
+              </template>
53
             </el-table-column>
62
             </el-table-column>
54
             <el-table-column prop="specifications" label="规格" width="100">
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
             </el-table-column>
67
             </el-table-column>
56
             <el-table-column prop="stock" label="库存" width="100">
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
             </el-table-column>
98
             </el-table-column>
58
           </el-table>
99
           </el-table>
59
         </div>
100
         </div>
78
             >
119
             >
79
             <el-table-column type="selection" width="55"> </el-table-column>
120
             <el-table-column type="selection" width="55"> </el-table-column>
80
             <el-table-column type="index" label="序号" width="120" align="center">
121
             <el-table-column type="index" label="序号" width="120" align="center">
122
+              <template slot-scope="scope">
123
+                {{scope.$index + 1}}
124
+              </template>
81
             </el-table-column>
125
             </el-table-column>
82
             <el-table-column prop="name" label="患者名称" width="180" align="center">
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
             </el-table-column>
130
             </el-table-column>
84
             <el-table-column prop="name" label="单次用量" width="170" align="center">
131
             <el-table-column prop="name" label="单次用量" width="170" align="center">
132
+               <template  slot-scope="scope">
133
+                 {{scope.row.single_dose}}
134
+               </template>
85
             </el-table-column>
135
             </el-table-column>
86
             <el-table-column prop="name" label="用法" width="160" align="center">
136
             <el-table-column prop="name" label="用法" width="160" align="center">
137
+               <template  slot-scope="scope">
138
+                 {{scope.row.delivery_way}}
139
+               </template>
87
             </el-table-column>
140
             </el-table-column>
88
             <el-table-column prop="name" label="频率" width="160" align="center">
141
             <el-table-column prop="name" label="频率" width="160" align="center">
142
+                <template  slot-scope="scope">
143
+                 {{scope.row.execution_frequency}}
144
+               </template>
89
             </el-table-column>
145
             </el-table-column>
90
             <el-table-column prop="name" label="天数" width="160" align="center">
146
             <el-table-column prop="name" label="天数" width="160" align="center">
147
+               <template  slot-scope="scope">
148
+                 {{scope.row.day}}
149
+               </template>
91
             </el-table-column>
150
             </el-table-column>
92
             <el-table-column prop="name" label="总量" width="160" align="center">
151
             <el-table-column prop="name" label="总量" width="160" align="center">
152
+                <template  slot-scope="scope">
153
+                 {{scope.row.prescribing_number}}
154
+               </template>
93
             </el-table-column>
155
             </el-table-column>
94
             <el-table-column prop="name" label="数据来源" width="162" align="center">
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
             </el-table-column>
161
             </el-table-column>
96
           </el-table>
162
           </el-table>
97
         </div>
163
         </div>
112
 <script>
178
 <script>
113
 import drugPrint from "./print/drugPrint.vue";
179
 import drugPrint from "./print/drugPrint.vue";
114
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
180
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
181
+import { getTodayAdviceList,getPharmacyBaseDrug,updatePharmacyBaseDrug } from "@/api/his/advice";
182
+const moment = require('moment')
115
 export default {
183
 export default {
116
   components: {
184
   components: {
117
     BreadCrumb,
185
     BreadCrumb,
131
       tableData: [],
199
       tableData: [],
132
       tableData_list: [],
200
       tableData_list: [],
133
       multipleSelection: [],
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
   methods: {
208
   methods: {
209
+     searchAction() {
210
+      this.getlist();
211
+    },
138
     // 跳转打印页面
212
     // 跳转打印页面
139
     toPrint() {
213
     toPrint() {
140
       // this.$router.push({ path: "/Pharmacy/print/patientPrint" });
214
       // this.$router.push({ path: "/Pharmacy/print/patientPrint" });
171
     handleSelectionChange(val) {
245
     handleSelectionChange(val) {
172
       this.multipleSelection = val;
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
 </script>
328
 </script>
178
 
329
 

+ 150 - 0
src/xt_pages/data/components/dialysisOff.vue View File

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 View File

48
               @change="changeAfterData"
48
               @change="changeAfterData"
49
             ></dialysis-after>
49
             ></dialysis-after>
50
           </el-tab-pane>
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
           <el-tab-pane label="透析小结">
57
           <el-tab-pane label="透析小结">
52
             <dialysis-summary
58
             <dialysis-summary
53
               :dialysis_summary_data="dialysis_summary_data"
59
               :dialysis_summary_data="dialysis_summary_data"
70
 import ReceiveTreatmentAsses from "./components/receiveTreatmentAsses";
76
 import ReceiveTreatmentAsses from "./components/receiveTreatmentAsses";
71
 import DialysisSummary from "./components/dialysisSummary";
77
 import DialysisSummary from "./components/dialysisSummary";
72
 import doubleCheck from "./components/doubleCheck.vue"
78
 import doubleCheck from "./components/doubleCheck.vue"
79
+import dialysisOff from "./components/dialysisOff.vue"
73
 import { getFiledConfigList } from "@/utils/data_config"; // getConfigList from sessionStorage
80
 import { getFiledConfigList } from "@/utils/data_config"; // getConfigList from sessionStorage
74
 import store from "@/store";
81
 import store from "@/store";
75
 import DialysisComputer from './components/dialysisComputer'
82
 import DialysisComputer from './components/dialysisComputer'
85
     DialysisAfter,
92
     DialysisAfter,
86
     BreadCrumb,
93
     BreadCrumb,
87
     DialysisSummary,
94
     DialysisSummary,
88
-    doubleCheck
95
+    doubleCheck,
96
+    dialysisOff
89
   },
97
   },
90
   data() {
98
   data() {
91
     return {
99
     return {
102
       dialysis_summary_data: [],
110
       dialysis_summary_data: [],
103
       dialysis_computer_data:[],
111
       dialysis_computer_data:[],
104
       double_check_date:[],
112
       double_check_date:[],
113
+      dialysis_off_data:[],
105
     };
114
     };
106
   },
115
   },
107
   methods: {
116
   methods: {
164
           this.double_check_date[i].is_show = object.is_show;
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
   created() {
187
   created() {
171
     var filedList = store.getters.xt_user.fileds;
188
     var filedList = store.getters.xt_user.fileds;
172
-   
189
+    
173
   
190
   
174
     for (let i = 0; i < filedList.length; i++) {
191
     for (let i = 0; i < filedList.length; i++) {
175
       switch (filedList[i].module) {
192
       switch (filedList[i].module) {
197
         case 8:
214
         case 8:
198
           this.double_check_date.push(filedList[i]);
215
           this.double_check_date.push(filedList[i]);
199
           break;
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 View File

128
         </el-select>
128
         </el-select>
129
       </el-form-item>
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
         <el-input style="width:200px" v-model="doubleReview.employee_number"></el-input>
132
         <el-input style="width:200px" v-model="doubleReview.employee_number"></el-input>
133
       </el-form-item>
133
       </el-form-item>
134
 
134
 

+ 129 - 23
src/xt_pages/dialysis/details/dialog/finish_dialog.vue View File

4
       <!-- <div class="txsj">
4
       <!-- <div class="txsj">
5
       </div> -->
5
       </div> -->
6
       <div class="warnTxt" v-if="showTxt != ''">{{ showTxt }}</div>
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
         <el-form-item label="下机护士">
8
         <el-form-item label="下机护士">
9
           <el-select v-model="form.nurse_id" :disabled="!(dialysis_order.id != 0)">
9
           <el-select v-model="form.nurse_id" :disabled="!(dialysis_order.id != 0)">
10
             <el-option v-for="(admin, index) in admins" :key="index" :value="admin.id" :label="admin.name"></el-option>
10
             <el-option v-for="(admin, index) in admins" :key="index" :value="admin.id" :label="admin.name"></el-option>
22
           ></el-date-picker>
22
           ></el-date-picker>
23
         </el-form-item>
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
         <el-form-item>
50
         <el-form-item>
26
           <el-button v-if="(dialysis_order.id != 0 && dialysis_order.stage == 1)" @click="submit" :loading="loading"
51
           <el-button v-if="(dialysis_order.id != 0 && dialysis_order.stage == 1)" @click="submit" :loading="loading"
27
                      type="primary">执行下机
52
                      type="primary">执行下机
28
           </el-button>
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
           <el-button
54
           <el-button
34
             v-if="dialysis_order.stage == 2 "
55
             v-if="dialysis_order.stage == 2 "
35
             type="primary" @click="modifyFinish">修改下机
56
             type="primary" @click="modifyFinish">修改下机
36
           </el-button>
57
           </el-button>
37
-
38
-
39
         </el-form-item>
58
         </el-form-item>
59
+        
60
+
40
 
61
 
41
       </el-form>
62
       </el-form>
42
     </el-dialog>
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
   </div>
71
   </div>
44
 </template>
72
 </template>
45
 
73
 
47
   import axios from 'axios'
75
   import axios from 'axios'
48
   import { finishDialysis,PostModifyFinishDialysis } from '@/api/dialysis_record'
76
   import { finishDialysis,PostModifyFinishDialysis } from '@/api/dialysis_record'
49
   import { parseTime } from '@/utils'
77
   import { parseTime } from '@/utils'
50
-
78
+  import multiSelectBox from './MultiSelectBox'
51
   import request from '@/utils/request'
79
   import request from '@/utils/request'
52
-
80
+  import store from "@/store";
81
+  import { getDataConfig } from '@/utils/data'
53
   export default {
82
   export default {
83
+    components: {
84
+      multiSelectBox
85
+    },
54
     name: 'FinishDialog',
86
     name: 'FinishDialog',
55
     data() {
87
     data() {
56
       return {
88
       return {
63
         schedule_date: 0,
95
         schedule_date: 0,
64
         isPremission:false,
96
         isPremission:false,
65
         end_time: '',
97
         end_time: '',
66
-
98
+        isVisibility: false,
67
         form: {
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
     props: {
119
     props: {
89
       }
136
       }
90
     },
137
     },
91
     created() {
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
     watch: {
143
     watch: {
95
       'dialysis_order.id': function() {
144
       'dialysis_order.id': function() {
98
         } else if (this.dialysis_order.stage == 1) {
147
         } else if (this.dialysis_order.stage == 1) {
99
           this.form.nurse_id = this.$store.getters.xt_user.user.id
148
           this.form.nurse_id = this.$store.getters.xt_user.user.id
100
         } else {
149
         } else {
150
+          console.log("orde32332323232332",this.dialysis_order)
101
           this.form.nurse_id = this.dialysis_order.finish_nurse
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
       patient:{
158
       patient:{
109
       }
163
       }
110
     },
164
     },
111
     methods: {
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
       show: function(record) {
176
       show: function(record) {
113
         this.record = record
177
         this.record = record
114
         console.log("下机",record)
178
         console.log("下机",record)
185
       },
249
       },
186
       hide: function() {
250
       hide: function() {
187
         this.visible = false
251
         this.visible = false
188
-      },modifyFinish:function(){
252
+      },
253
+      modifyFinish:function(){
189
         let ParamsQuery = {};
254
         let ParamsQuery = {};
190
         ParamsQuery["id"] = this.dialysis_order.id;
255
         ParamsQuery["id"] = this.dialysis_order.id;
191
         ParamsQuery["nurse"] = this.form.nurse_id;
256
         ParamsQuery["nurse"] = this.form.nurse_id;
192
         ParamsQuery["end_time"] = this.end_time;
257
         ParamsQuery["end_time"] = this.end_time;
193
         ParamsQuery["mode"] = "2"
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
         if(this.dialysis_order.finish_creator  != this.$store.getters.xt_user.user.id){
263
         if(this.dialysis_order.finish_creator  != this.$store.getters.xt_user.user.id){
195
           ParamsQuery["mode"] = "3"
264
           ParamsQuery["mode"] = "3"
196
         }
265
         }
215
       submit: function() {
284
       submit: function() {
216
         this.loading = true
285
         this.loading = true
217
         let mode = "1"
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
           this.loading = false
288
           this.loading = false
220
           var resp = rs.data
289
           var resp = rs.data
221
           if (resp.state == 1) {
290
           if (resp.state == 1) {
225
               this.$set(this_order, key, dialysis_order[key])
294
               this.$set(this_order, key, dialysis_order[key])
226
             }
295
             }
227
             let orgId = parseInt(sessionStorage.getItem("org_id"));
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
             this.hide()
297
             this.hide()
233
             this.$emit('assessmentAfterDislysis', resp.data.assessmentAfterDislysis)
298
             this.$emit('assessmentAfterDislysis', resp.data.assessmentAfterDislysis)
234
 
299
 
251
           module:6
316
           module:6
252
         }
317
         }
253
       }).then(res => {
318
       }).then(res => {
254
-        console.log(res)
255
-        console.log("下机",this.record)
256
-        // console.log("上机",this.record)
257
         if(res.data.state == 0){
319
         if(res.data.state == 0){
258
           this.hasPermission = false
320
           this.hasPermission = false
259
         }else if(res.data.state == 1){
321
         }else if(res.data.state == 1){
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
 </script>
389
 </script>

+ 7 - 4
src/xt_pages/outpatientTool/components/detailStatistics.vue View File

167
     <div style="display: flex; justify-content: space-around; margin-top: 25px">
167
     <div style="display: flex; justify-content: space-around; margin-top: 25px">
168
       <div>总费用:{{ getAllPice() }}</div>
168
       <div>总费用:{{ getAllPice() }}</div>
169
       <div>
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
       </div>
174
       </div>
175
       <div>基金支付记账:{{ getFundPaySumamt() }}</div>
175
       <div>基金支付记账:{{ getFundPaySumamt() }}</div>
176
       <div>补充医疗支付记账:{{ getHifesPay() }}</div>
176
       <div>补充医疗支付记账:{{ getHifesPay() }}</div>
223
       id: 0,
223
       id: 0,
224
       start_time: "",
224
       start_time: "",
225
       end_time: "",
225
       end_time: "",
226
+      org_id:0,
226
     };
227
     };
227
   },
228
   },
228
   methods: {
229
   methods: {
527
     },
528
     },
528
   },
529
   },
529
   created() {
530
   created() {
531
+    this.org_id = this.$store.getters.xt_user.org.id;
532
+    console.log("org_id233232323232",this.org_id)
530
     this.start_time = this.chargeDate[0];
533
     this.start_time = this.chargeDate[0];
531
     this.end_time = this.chargeDate[1];
534
     this.end_time = this.chargeDate[1];
532
     this.getHisSummaryDetailList();
535
     this.getHisSummaryDetailList();