陈少旭 2 个月前
父节点
当前提交
dcc8145948

+ 443 - 0
src/xt_pages/outpatientCharges/components/otherPrescriptionTable.vue 查看文件

@@ -0,0 +1,443 @@
1
+<template>
2
+  <div class="prescriptionTable">
3
+    <el-table
4
+      v-if="prescription.type == 1"
5
+      :data="prescription.advices"
6
+      border
7
+      ref="multipleTable"
8
+      height="370"
9
+      style="width: 99%"
10
+      :row-style="changColor"
11
+      :header-cell-style="{
12
+        color: '#606266',
13
+      }"
14
+      highlight-current-row
15
+
16
+    >
17
+      <el-table-column
18
+        fixed
19
+        align="center"
20
+        type="index"
21
+        width="50"
22
+        label="序号"
23
+      ></el-table-column>
24
+      <el-table-column
25
+        fixed
26
+        align="center"
27
+        prop="name"
28
+        width="300"
29
+        label="名称"
30
+      >
31
+        <template slot-scope="scope"
32
+        ><span :title="scope.row.drug_name">{{
33
+            scope.row.drug_name
34
+          }}</span></template
35
+        >
36
+      </el-table-column>
37
+      <el-table-column align="center" prop="name" width="80" label="规格/型号">
38
+        <template slot-scope="scope">
39
+          <div>{{ scope.row.spec }}</div>
40
+        </template>
41
+      </el-table-column>
42
+
43
+      <el-table-column align="center" prop="name" width="80" label="单次用量">
44
+        <template slot-scope="scope">
45
+          <!--<el-input v-model="scope.row.delivery_way" readonly></el-input>-->
46
+          <div>{{ scope.row.single_dose }}{{ scope.row.single_dose_unit }}</div>
47
+        </template>
48
+      </el-table-column>
49
+      <el-table-column align="center" prop="name" width="80" label="用法">
50
+        <template slot-scope="scope">
51
+          <!--<el-input v-model="scope.row.delivery_way" readonly></el-input>-->
52
+          <div>{{ scope.row.delivery_way }}</div>
53
+        </template>
54
+      </el-table-column>
55
+      <el-table-column align="center" prop="name" width="80" label="频率">
56
+        <template slot-scope="scope">
57
+          <div>{{ scope.row.execution_frequency }}</div>
58
+
59
+          <!--<el-input v-model="scope.row.execution_frequency" readonly></el-input>-->
60
+        </template>
61
+      </el-table-column>
62
+
63
+      <el-table-column align="center" prop="day" width="80" label="天数">
64
+        <template slot-scope="scope">{{ scope.row.day }}天</template>
65
+      </el-table-column>
66
+      <el-table-column align="center" prop="name" width="80" label="总量">
67
+        <template slot-scope="scope">{{ scope.row.prescribing_number }}{{scope.row.prescribing_number_unit}}</template>
68
+      </el-table-column>
69
+      <el-table-column align="center" prop="name" width="80" label="单价">
70
+        <template slot-scope="scope">
71
+          <div>{{ scope.row.retail_price }}元</div>
72
+
73
+          <!--<el-input v-model="scope.row.retail_price" placeholder="" readonly></el-input>-->
74
+        </template>
75
+      </el-table-column>
76
+
77
+
78
+
79
+      <el-table-column align="center" prop="name" width="220" label="医保编码">
80
+        <template slot-scope="scope">
81
+          <div>{{ scope.row.code }}</div>
82
+        </template>
83
+      </el-table-column>
84
+
85
+      <el-table-column align="center" prop="name" width="60" label="金额">
86
+        <template slot-scope="scope">
87
+          <div>{{ scope.row.det_item_fee_sumamt }}</div>
88
+        </template>
89
+      </el-table-column>
90
+
91
+      <el-table-column align="center" prop="name" width="120" label="生产厂家">
92
+        <template slot-scope="scope">
93
+          <div>{{ getName(scope.row.name_id) }}</div>
94
+        </template>
95
+      </el-table-column>
96
+
97
+      <el-table-column align="center" prop="name" width="90" label="全自费金额">
98
+        <template slot-scope="scope">
99
+          <div>{{ scope.row.fulamt_ownpay_amt }}元</div>
100
+        </template>
101
+      </el-table-column>
102
+
103
+      <el-table-column align="center" prop="name" width="90" label="超限价金额">
104
+        <template slot-scope="scope">
105
+          <div>{{ scope.row.overlmt_amt }}元</div>
106
+        </template>
107
+      </el-table-column>
108
+
109
+      <el-table-column
110
+        align="center"
111
+        prop="name"
112
+        width="90"
113
+        label="先行自付金额"
114
+      >
115
+        <template slot-scope="scope">
116
+          <div>{{ scope.row.preselfpay_amt }}元</div>
117
+        </template>
118
+      </el-table-column>
119
+
120
+      <el-table-column
121
+        align="center"
122
+        prop="name"
123
+        width="130"
124
+        label="符合正常范围金额"
125
+      >
126
+        <template slot-scope="scope">
127
+          <div>{{ scope.row.inscp_scp_amt }}元</div>
128
+        </template>
129
+      </el-table-column>
130
+
131
+      <el-table-column align="center" prop="name" width="50" label="备注">
132
+        <template slot-scope="scope">
133
+          <!--<el-input v-model="scope.row.remark" :title="scope.row.remark" placeholder="" readonly></el-input>-->
134
+          <div>{{ scope.row.remark }}</div>
135
+        </template>
136
+      </el-table-column>
137
+    </el-table>
138
+
139
+    <el-table
140
+      v-if="prescription.type == 2"
141
+      :data="prescription.project"
142
+      border
143
+      height="370"
144
+      ref="multipleTable"
145
+      style="width: 99%"
146
+      :row-style="changColor"
147
+      :header-cell-style="{
148
+        backgroundColor: 'rgb(245, 247, 250)',
149
+        color: '#606266',
150
+      }"
151
+      highlight-current-row
152
+    >
153
+      <el-table-column
154
+        fixed
155
+        align="center"
156
+        type="index"
157
+        width="50"
158
+        label="序号"
159
+      ></el-table-column>
160
+      <el-table-column
161
+        fixed
162
+        align="center"
163
+        prop="project_name"
164
+        width="280"
165
+        label="名称"
166
+      >
167
+        <template slot-scope="scope">{{ scope.row.project_name }}</template>
168
+      </el-table-column>
169
+
170
+      <el-table-column
171
+        align="center"
172
+        prop="statistical_classification"
173
+        width="80"
174
+        label="组"
175
+      >
176
+        <template slot-scope="scope">{{
177
+            scope.row.type == 2
178
+              ? getGroup(scope.row.statistical_classification)
179
+              : "耗材"
180
+          }}</template>
181
+      </el-table-column>
182
+
183
+      <el-table-column align="center" prop="name" width="80" label="规格/型号">
184
+        <template slot-scope="scope">
185
+          <div>{{ scope.row.spec }}</div>
186
+        </template>
187
+      </el-table-column>
188
+
189
+      <el-table-column
190
+        align="center"
191
+        prop="single_dose"
192
+        width="80"
193
+        label="单次用量"
194
+      >
195
+        <template slot-scope="scope"
196
+        >{{ scope.row.single_dose }}{{ scope.row.unit }}</template
197
+        >
198
+      </el-table-column>
199
+
200
+      <el-table-column
201
+        align="center"
202
+        prop="delivery_way"
203
+        width="80"
204
+        label="用法"
205
+      >
206
+        <template slot-scope="scope">{{ scope.row.delivery_way }}</template>
207
+      </el-table-column>
208
+
209
+      <el-table-column
210
+        align="center"
211
+        prop="execution_frequency"
212
+        width="80"
213
+        label="频率"
214
+      >
215
+        <template slot-scope="scope">{{
216
+            scope.row.execution_frequency
217
+          }}</template>
218
+      </el-table-column>
219
+
220
+      <el-table-column
221
+        align="center"
222
+        prop="number_days"
223
+        width="50"
224
+        label="天数"
225
+      >
226
+        <template slot-scope="scope">{{ scope.row.number_days }}天</template>
227
+      </el-table-column>
228
+
229
+      <el-table-column align="center" prop="total" width="50" label="总量">
230
+        <template slot-scope="scope">
231
+          <div>{{ scope.row.total }} {{ scope.row.unit }}</div>
232
+        </template>
233
+      </el-table-column>
234
+
235
+      <el-table-column align="center" prop="name" width="50" label="单价">
236
+        <template slot-scope="scope">{{ scope.row.price }}元</template>
237
+      </el-table-column>
238
+
239
+
240
+      <el-table-column align="center" prop="name" width="220" label="医保编码">
241
+        <template slot-scope="scope">
242
+          <div>{{ scope.row.medical_code }}</div>
243
+        </template>
244
+      </el-table-column>
245
+
246
+
247
+
248
+      <el-table-column align="center" prop="name" width="60" label="金额">
249
+        <template slot-scope="scope">
250
+          <div>{{ scope.row.det_item_fee_sumamt }}元</div>
251
+        </template>
252
+      </el-table-column>
253
+
254
+      <el-table-column align="center" prop="name" width="120" label="生产厂家">
255
+        <template slot-scope="scope">
256
+          <div>{{ getName(scope.row.name_id) }}</div>
257
+        </template>
258
+      </el-table-column>
259
+
260
+      <el-table-column align="center" prop="name" width="90" label="全自费金额">
261
+        <template slot-scope="scope">
262
+          <div>{{ scope.row.fulamt_ownpay_amt }}元</div>
263
+        </template>
264
+      </el-table-column>
265
+
266
+      <el-table-column align="center" prop="name" width="90" label="超限价金额">
267
+        <template slot-scope="scope">
268
+          <div>{{ scope.row.overlmt_amt }}元</div>
269
+        </template>
270
+      </el-table-column>
271
+
272
+      <el-table-column
273
+        align="center"
274
+        prop="name"
275
+        width="90"
276
+        label="先行自付金额"
277
+      >
278
+        <template slot-scope="scope">
279
+          <div>{{ scope.row.preselfpay_amt }}元</div>
280
+        </template>
281
+      </el-table-column>
282
+
283
+      <el-table-column
284
+        align="center"
285
+        prop="name"
286
+        width="130"
287
+        label="符合正常范围金额"
288
+      >
289
+        <template slot-scope="scope">
290
+          <div>{{ scope.row.inscp_scp_amt }}元</div>
291
+        </template>
292
+      </el-table-column>
293
+
294
+      <el-table-column align="center" prop="name" width="50" label="备注">
295
+        <template slot-scope="scope">{{ scope.row.remark }}</template>
296
+      </el-table-column>
297
+    </el-table>
298
+
299
+    <div class="additionalBox">
300
+      <div
301
+        class="additionalOne"
302
+        v-for="(item, index) in prescription.addition"
303
+        :key="index"
304
+      >
305
+        <span :title="item.item_name">{{ item.item_name }}</span>
306
+        <el-input
307
+          v-model="item.price"
308
+          placeholder=""
309
+          style="width: 50px"
310
+          readonly
311
+        ></el-input>
312
+        共
313
+        <el-input
314
+          v-model="item.count"
315
+          placeholder=""
316
+          style="width: 50px"
317
+          readonly
318
+        ></el-input>
319
+        次
320
+        <!--<i class="el-icon-delete deleteIcon" @click="delAddition(index,item)"></i>-->
321
+      </div>
322
+    </div>
323
+  </div>
324
+</template>
325
+
326
+<script>
327
+import { getInitData } from "@/api/his/his";
328
+import { getDictionaryDataConfig } from "@/utils/data";
329
+
330
+export default {
331
+  props: {
332
+    prescription: Object,
333
+    his_patient: Object,
334
+    schedule: Object,
335
+    manufacturers: Array,
336
+  },
337
+  data() {
338
+    return {
339
+      drugways: [],
340
+      efs: [],
341
+    };
342
+  },
343
+  mounted() {
344
+    // getInitData().then(response => {
345
+    //   if (response.data.state == 0) {
346
+    //     this.$message.error(response.data.msg)
347
+    //     return false
348
+    //   } else {
349
+    //     this.drugways = response.data.data.drugways
350
+    //     this.efs = response.data.data.efs
351
+    //   }
352
+    // })
353
+  },
354
+  methods: {
355
+    changColor({ row, rowIndex }) {
356
+      if (rowIndex % 2 == 1) {
357
+        // 变颜色的条件
358
+        return {
359
+          backgroundColor: "#C4E1FF",
360
+          color: "#303133", // 这个return的就是样式 可以是color 也可以是backgroundColor
361
+        };
362
+      } else {
363
+        return {
364
+          backgroundColor: "#ACD6FF",
365
+          color: "#303133",
366
+        };
367
+      }
368
+    },
369
+
370
+    getName(id) {
371
+      let name = "";
372
+      for (let i = 0; i < this.manufacturers.length; i++) {
373
+        if (id == this.manufacturers[i].id) {
374
+          name = this.manufacturers[i].manufacturer_name;
375
+        }
376
+      }
377
+      return name;
378
+    },
379
+    getGroup(id) {
380
+      var name = "";
381
+      var statistics_category = getDictionaryDataConfig(
382
+        "system",
383
+        "statistics_category"
384
+      );
385
+      // console.log("2235", statistics_category);
386
+      for (let i = 0; i < statistics_category.length; i++) {
387
+        if (id == statistics_category[i].id) {
388
+          name = statistics_category[i].name;
389
+        }
390
+      }
391
+      return name;
392
+    },
393
+  },
394
+  watch:{
395
+    prescription:function(){
396
+      this.$nextTick(() => {
397
+        this.$refs.multipleTable.doLayout();
398
+        // table加ref="multipleTable"
399
+      })
400
+    }
401
+  },
402
+  created(){
403
+    console.log('prescription',this.prescription);
404
+  }
405
+};
406
+</script>
407
+
408
+
409
+<style lang="scss">
410
+.prescriptionTable {
411
+.additionalBox {
412
+  margin-top: 20px;
413
+  display: flex;
414
+  flex-wrap: wrap;
415
+.additionalOne {
416
+  margin-right: 20px;
417
+  margin-bottom: 10px;
418
+  display: flex;
419
+  align-items: center;
420
+> span {
421
+  white-space: nowrap;
422
+  overflow: hidden;
423
+  text-overflow: ellipsis;
424
+  width: 80px;
425
+  display: inline-block;
426
+  font-size: 14px;
427
+}
428
+}
429
+.deleteIcon {
430
+  color: red;
431
+  margin-left: 5px;
432
+}
433
+}
434
+.el-table th .cell,
435
+.el-table td .cell {
436
+  padding: 0 2px;
437
+  white-space: pre-line;
438
+}
439
+.el-icon-delete {
440
+  color: red;
441
+}
442
+}
443
+</style>

+ 7 - 2
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue 查看文件

@@ -28,7 +28,7 @@
28 28
           <el-radio-group v-model="radio" @change="changeRadio">
29 29
             <el-radio :label=1>未收费<span
30 30
               style="color: red;margin-bottom:10px;display: inline-block;">{{ cal_one }}</span>人
31
-            </el-radio>
31
+            </el-radio>,
32 32
             <el-radio :label=2>已收费<span
33 33
               style="color: red;margin-bottom:10px;display: inline-block;">{{ cal_two }}</span>人
34 34
             </el-radio>
@@ -729,9 +729,12 @@
729 729
                           </el-tab-pane>
730 730
 
731 731
 
732
-                          <prescription-table ref="prescription_tables"
732
+                          <prescription-table v-if="activeName == 'first' || activeName == 'second'"  ref="prescription_tables"
733 733
                                               :prescription="items.curPrescriptions"
734 734
                                               :manufacturers="manufacturers"></prescription-table>
735
+                          <other-prescription-table v-if="activeName == 'third'" ref="prescription_tables"
736
+                                                    :prescription="items.curPrescriptions"
737
+                                                    :manufacturers="manufacturers"></other-prescription-table>
735 738
                           <!--</el-radio-group>-->
736 739
                         </el-tabs>
737 740
                       </div>
@@ -1022,10 +1025,12 @@ import cryptoJs from 'crypto-js'
1022 1025
 import NewStatementPrintThree from './newStatementPrintThree.vue'
1023 1026
 import CallUnAssociationPrescription from './components/callUnAssociationPrescription.vue'
1024 1027
 import { associationprescription, checkHISPatient } from '../../api/his/his_tools'
1028
+import OtherPrescriptionTable from './components/otherPrescriptionTable.vue'
1025 1029
 
1026 1030
 const moment = require('moment')
1027 1031
 export default {
1028 1032
   components: {
1033
+    OtherPrescriptionTable,
1029 1034
     CallUnAssociationPrescription,
1030 1035
     NewStatementPrintThree,
1031 1036
     RegisterDialog9504,