ソースを参照

Merge remote-tracking branch 'origin/20230223_pc_vue_new_branch' into 20230223_pc_vue_new_branch

yq1 10 ヶ月 前
コミット
a98f77a98a

+ 9 - 0
src/api/drug/drug.js ファイルの表示

@@ -620,6 +620,15 @@ export function getPurchaseNewDrugQuery(params) {
620 620
   })
621 621
 }
622 622
 
623
+export function getPurchaseDrugQueryList(params){
624
+  
625
+  return request({
626
+    url:"/api/stock/getpurchaseDrugQueryList",
627
+    method:"get",
628
+    params:params,
629
+  })
630
+}
631
+
623 632
 export function getGoodOverCount(params) {
624 633
   return request({
625 634
     url: '/api/stock/getgoodovercount',

+ 6 - 0
src/xt_pages/dialysis/details/consumable/dialysisGather.vue ファイルの表示

@@ -206,6 +206,12 @@
206 206
              </template>
207 207
           </el-table-column>
208 208
 
209
+          <el-table-column align="center" label="穿刺针" v-if="gatherSetting.puncture_needle==1">
210
+             <template slot-scope="scope">
211
+               <span>{{ scope.row.assessment_befor_dislysis.puncture_needle }}</span>
212
+             </template>
213
+          </el-table-column>
214
+
209 215
           <el-table-column align="center" label="封管液" v-if="gatherSetting.tube==1">
210 216
              <template slot-scope="scope">
211 217
                <span v-if="getBloodAccessOption(scope.row.dialysis_prescription.blood_access).indexOf('导管')!==-1">1</span>

+ 4 - 0
src/xt_pages/dialysis/details/consumable/dialysisGatherPrint.vue ファイルの表示

@@ -34,6 +34,7 @@
34 34
                   <td width="100"  v-if="gatherSetting.dialysis_irrigation ==1">灌流器</td>
35 35
                   <td width="100"  v-if="gatherSetting.dialysis_strainer ==1">滤过器</td>
36 36
                   <td width="100"  v-if="gatherSetting.change_nurse ==1">换药包/穿刺针</td>
37
+                  <td width="100"  v-if="gatherSetting.puncture_needle ==1">穿刺针</td>
37 38
                   <td width="100" v-if="gatherSetting.anticoagulant==1">抗凝剂(首剂)(维持)(总量)</td>
38 39
                   <td width="200" v-if="gatherSetting.tube==1">封管液</td>
39 40
                   <td width="100" v-if="gatherSetting.kalium==1">钾</td>
@@ -126,6 +127,9 @@
126 127
                     <span v-if="(getBloodAccessOption(item.dialysis_prescription.blood_access)).indexOf('内瘘')==-1">0</span>
127 128
                     <span v-if="(getBloodAccessOption(item.dialysis_prescription.blood_access)).indexOf('内瘘')!=-1">1</span>
128 129
                   </td>
130
+                  <td  width="100"  v-if="gatherSetting.puncture_needle ==1">
131
+                    {{ item.assessment_befor_dislysis.puncture_needle }}
132
+                  </td>
129 133
                   <td width="100" v-if="gatherSetting.anticoagulant==1">
130 134
                   
131 135
 

+ 11 - 8
src/xt_pages/dialysis/details/dialog/monitor_dialog.vue ファイルの表示

@@ -265,7 +265,8 @@
265 265
                 org_id == 10551 ||
266 266
                 org_id == 10599 ||
267 267
                 org_id == 10597 ||
268
-                org_id == 10599) &&
268
+                org_id == 10599 || 
269
+                org_id == 10610) &&
269 270
                 org_id!=10387
270 271
             "
271 272
           >
@@ -336,7 +337,7 @@
336 337
               && org_id!=10432 && org_id!=10445
337 338
               && org_id!=10410 && org_id!=10495 &&
338 339
                org_id!=10485 && org_id!=10395 && org_id!=10375
339
-               && org_id!=10480  && org_id!=10551 && org_id!=10597 && org_id!=10599)
340
+               && org_id!=10480  && org_id!=10551 && org_id!=10597 && org_id!=10599 && org_id!=10610)
340 341
               || org_id == 10387
341 342
             "
342 343
           >
@@ -392,7 +393,7 @@
392 393
                 org_id == 10410 ||
393 394
                 org_id == 10495  ||
394 395
                 org_id == 10395
395
-                || org_id == 10485 || org_id == 10375 || org_id ==10480 || org_id ==10551 || org_id ==10597 || org_id ==10599)
396
+                || org_id == 10485 || org_id == 10375 || org_id ==10480 || org_id ==10551 || org_id ==10597 || org_id ==10599 || org_id ==10610)
396 397
                 && org_id!=10387
397 398
             "
398 399
           >
@@ -445,7 +446,7 @@
445 446
               org_id!=10432 &&
446 447
               org_id!=10445 &&
447 448
               org_id!=10410 && org_id!=10495
448
-              && org_id!=10485 && org_id!=10395 && org_id!=10375 && org_id!=10480 && org_id!=10551 && org_id!=10597 && org_id!=10599 ) ||
449
+              && org_id!=10485 && org_id!=10395 && org_id!=10375 && org_id!=10480 && org_id!=10551 && org_id!=10597 && org_id!=10599&& org_id!=10610 ) ||
449 450
               org_id == 10387
450 451
             "
451 452
           >
@@ -1176,7 +1177,7 @@
1176 1177
                 org_id== 10432 ||
1177 1178
                 org_id== 10445 ||
1178 1179
                 org_id== 10410 ||
1179
-                org_id == 10485 || org_id == 10375 || org_id == 10480 || org_id == 10551) &&
1180
+                org_id == 10485 || org_id == 10375 || org_id == 10480 || org_id == 10551 || org_id ==10610) &&
1180 1181
                 org_id!=10387
1181 1182
             "
1182 1183
           >
@@ -1224,7 +1225,7 @@
1224 1225
               org_id!=10445 &&
1225 1226
               org_id!=10410 &&
1226 1227
               org_id!=10485 &&
1227
-              org_id!=10375 &&  org_id!=10480 &&  org_id!=10551)
1228
+              org_id!=10375 &&  org_id!=10480 &&  org_id!=10551 && org_id!=10610)
1228 1229
               || org_id == 10387
1229 1230
             "
1230 1231
           >
@@ -1287,7 +1288,8 @@
1287 1288
                 org_id == 10480 ||
1288 1289
                 org_id == 10551 ||
1289 1290
                 org_id == 10597||
1290
-                org_id == 10599)
1291
+                org_id == 10599 ||
1292
+                org_id ==10610)
1291 1293
                 && org_id!=10387
1292 1294
             "
1293 1295
           >
@@ -1350,7 +1352,8 @@
1350 1352
               org_id!=10480 &&
1351 1353
               org_id!=10551 &&
1352 1354
               org_id!=10597 &&
1353
-              org_id!=10599
1355
+              org_id!=10599 &&
1356
+              org_id!=10610
1354 1357
               )
1355 1358
               || org_id == 10387
1356 1359
             "

+ 4 - 4
src/xt_pages/dialysis/details/dialysisMonitoring.vue ファイルの表示

@@ -15,10 +15,10 @@
15 15
           <th width="76px">静脉压/动脉压({{monitores[0]&&monitores[0]['venous_pressure_type'] == 2 ? 'kpa' : 'mmHg'}})</th>
16 16
           <th v-if="isShow('血流量')" width="92px">血流量(ml/min)</th>
17 17
           <th v-if="isShow('跨膜压')" width="76px">跨膜压({{monitores[0]&&monitores[0]['transmembrane_pressure_type'] == 2 ? 'kpa' : 'mmHg'}})</th>
18
-          <th v-if=" isShow('超滤量') &&(template_id == 6 || template_id == 9 || template_id == 10 || template_id == 11 || template_id == 13 || template_id == 17 || template_id == 18 || template_id == 19 || template_id == 20 || template_id == 21 || template_id == 22 || template_id == 23 || template_id == 24 || template_id == 26 || template_id == 27 || template_id == 28 || template_id == 29 || template_id == 30 || template_id == 31 || template_id == 32 || template_id == 34 || template_id == 35 || template_id == 36 || template_id == 38 || template_id == 39 || template_id == 40  || template_id == 41 || template_id == 43 || template_id == 44 || template_id == 46 || template_id == 47 || template_id == 48 || this.$store.getters.xt_user.template_info.org_id == 9555 || template_id == 53 || template_id == 54 || template_id == 56 || template_id == 60 || template_id == 65 || this.$store.getters.xt_user.template_info.org_id == 10340  || this.$store.getters.xt_user.template_info.org_id == 10432 || this.$store.getters.xt_user.template_info.org_id == 10445 || this.$store.getters.xt_user.template_info.org_id == 10410 || this.$store.getters.xt_user.template_info.org_id == 10485 || this.$store.getters.xt_user.template_info.org_id == 10375 || this.$store.getters.xt_user.template_info.org_id == 10480 || this.$store.getters.xt_user.template_info.org_id == 10599 || this.$store.getters.xt_user.template_info.org_id == 10597) &&this.$store.getters.xt_user.template_info.org_id!=10387 " width="76px" > 超滤量(ml)</th>
19
-          <th v-if=" isShow('超滤量') && (template_id != 6 && template_id != 9 && template_id != 10 && template_id != 11 && template_id != 13 && template_id != 17 && template_id != 18 && template_id != 19 && template_id != 20 && template_id != 21 && template_id != 22 && template_id != 23 && template_id != 24 && template_id != 26 && template_id !=27 && template_id!=28 && template_id!=29 && template_id!=30 && template_id!=31 && template_id!=32 && template_id!=34 && template_id!=35 && template_id!=36 && template_id!=38 && template_id != 39 && template_id != 40  && template_id != 41 && template_id != 43 && template_id != 44 && template_id != 46  && template_id != 47 && template_id != 48 && template_id != 53  && template_id != 54  && template_id != 56  && template_id != 60 && template_id != 65 && this.$store.getters.xt_user.template_info.org_id != 9555 &&  this.$store.getters.xt_user.template_info.org_id != 10340 && this.$store.getters.xt_user.template_info.org_id!=10432  && this.$store.getters.xt_user.template_info.org_id!=10445 && this.$store.getters.xt_user.template_info.org_id!=10410 && this.$store.getters.xt_user.template_info.org_id!=10485  && this.$store.getters.xt_user.template_info.org_id!=10375 && this.$store.getters.xt_user.template_info.org_id!=10480 && this.$store.getters.xt_user.template_info.org_id!=10599  && this.$store.getters.xt_user.template_info.org_id!=10597) || this.$store.getters.xt_user.template_info.org_id == 10387"  width="76px"> 超滤量(L) </th>
20
-          <th v-if="isShow('超滤率') && (template_id ==6 || template_id == 65 || template_id == 10 || template_id == 11 || template_id == 12 || template_id == 13 || template_id == 17 || template_id == 18 || template_id == 19 || template_id == 20 || template_id == 21 || template_id == 22 || template_id == 23 || template_id == 24 || template_id == 26 || template_id == 29 || template_id == 30 || template_id == 31 || template_id == 34 || template_id == 35 || template_id == 38 || template_id == 41 || template_id == 43 || template_id == 44 || template_id == 46 || template_id == 47  || template_id == 48  || template_id == 53 || template_id == 54 || template_id == 56  || template_id == 60 || this.$store.getters.xt_user.template_info.org_id == 10432 || this.$store.getters.xt_user.template_info.org_id == 10445 || this.$store.getters.xt_user.template_info.org_id == 10410 || this.$store.getters.xt_user.template_info.org_id == 10485 || this.$store.getters.xt_user.template_info.org_id == 10375 || this.$store.getters.xt_user.template_info.org_id == 10480 || this.$store.getters.xt_user.template_info.org_id == 10597 || this.$store.getters.xt_user.template_info.org_id == 10599) && this.$store.getters.xt_user.template_info.org_id!=10387" width="50px"> 超滤率 <br />(ml/h) </th>
21
-          <th v-if="isShow('超滤率') && (template_id !=6 && template_id !=65 && template_id !=10 && template_id !=11 && template_id !=12 && template_id !=13 && template_id !=17 && template_id !=18 && template_id !=19 && template_id !=20 && template_id !=21 && template_id !=22 && template_id !=23 && template_id !=24 && template_id !=26 && template_id !=29 && template_id !=30 && template_id !=31 && template_id !=34 && template_id !=35 && template_id !=38  && template_id !=41 && template_id !=43 && template_id !=44 && template_id !=46 && template_id !=47 &&  template_id !=48 &&  template_id !=53 &&  template_id !=54 &&  template_id !=56 &&  template_id !=60 && this.$store.getters.xt_user.template_info.org_id!=10432  && this.$store.getters.xt_user.template_info.org_id!=10445 && this.$store.getters.xt_user.template_info.org_id!=10410 &&this.$store.getters.xt_user.template_info.org_id!=10485 &&this.$store.getters.xt_user.template_info.org_id!=10375 && this.$store.getters.xt_user.template_info.org_id!=10480 && this.$store.getters.xt_user.template_info.org_id!=10597 && this.$store.getters.xt_user.template_info.org_id!=10599 ) || this.$store.getters.xt_user.template_info.org_id==10387" width="50px"> 超滤率 <br />(L/h) </th>
18
+          <th v-if=" isShow('超滤量') &&(template_id == 6 || template_id == 9 || template_id == 10 || template_id == 11 || template_id == 13 || template_id == 17 || template_id == 18 || template_id == 19 || template_id == 20 || template_id == 21 || template_id == 22 || template_id == 23 || template_id == 24 || template_id == 26 || template_id == 27 || template_id == 28 || template_id == 29 || template_id == 30 || template_id == 31 || template_id == 32 || template_id == 34 || template_id == 35 || template_id == 36 || template_id == 38 || template_id == 39 || template_id == 40  || template_id == 41 || template_id == 43 || template_id == 44 || template_id == 46 || template_id == 47 || template_id == 48 || this.$store.getters.xt_user.template_info.org_id == 9555 || template_id == 53 || template_id == 54 || template_id == 56 || template_id == 60 || template_id == 65 || this.$store.getters.xt_user.template_info.org_id == 10340  || this.$store.getters.xt_user.template_info.org_id == 10432 || this.$store.getters.xt_user.template_info.org_id == 10445 || this.$store.getters.xt_user.template_info.org_id == 10410 || this.$store.getters.xt_user.template_info.org_id == 10485 || this.$store.getters.xt_user.template_info.org_id == 10375 || this.$store.getters.xt_user.template_info.org_id == 10480 || this.$store.getters.xt_user.template_info.org_id == 10599 || this.$store.getters.xt_user.template_info.org_id == 10597  || this.$store.getters.xt_user.template_info.org_id == 10610) &&this.$store.getters.xt_user.template_info.org_id!=10387 " width="76px" > 超滤量(ml)</th>
19
+          <th v-if=" isShow('超滤量') && (template_id != 6 && template_id != 9 && template_id != 10 && template_id != 11 && template_id != 13 && template_id != 17 && template_id != 18 && template_id != 19 && template_id != 20 && template_id != 21 && template_id != 22 && template_id != 23 && template_id != 24 && template_id != 26 && template_id !=27 && template_id!=28 && template_id!=29 && template_id!=30 && template_id!=31 && template_id!=32 && template_id!=34 && template_id!=35 && template_id!=36 && template_id!=38 && template_id != 39 && template_id != 40  && template_id != 41 && template_id != 43 && template_id != 44 && template_id != 46  && template_id != 47 && template_id != 48 && template_id != 53  && template_id != 54  && template_id != 56  && template_id != 60 && template_id != 65 && this.$store.getters.xt_user.template_info.org_id != 9555 &&  this.$store.getters.xt_user.template_info.org_id != 10340 && this.$store.getters.xt_user.template_info.org_id!=10432  && this.$store.getters.xt_user.template_info.org_id!=10445 && this.$store.getters.xt_user.template_info.org_id!=10410 && this.$store.getters.xt_user.template_info.org_id!=10485  && this.$store.getters.xt_user.template_info.org_id!=10375 && this.$store.getters.xt_user.template_info.org_id!=10480 && this.$store.getters.xt_user.template_info.org_id!=10599  && this.$store.getters.xt_user.template_info.org_id!=10597 && this.$store.getters.xt_user.template_info.org_id!=10610) || this.$store.getters.xt_user.template_info.org_id == 10387"  width="76px"> 超滤量(L) </th>
20
+          <th v-if="isShow('超滤率') && (template_id ==6 || template_id == 65 || template_id == 10 || template_id == 11 || template_id == 12 || template_id == 13 || template_id == 17 || template_id == 18 || template_id == 19 || template_id == 20 || template_id == 21 || template_id == 22 || template_id == 23 || template_id == 24 || template_id == 26 || template_id == 29 || template_id == 30 || template_id == 31 || template_id == 34 || template_id == 35 || template_id == 38 || template_id == 41 || template_id == 43 || template_id == 44 || template_id == 46 || template_id == 47  || template_id == 48  || template_id == 53 || template_id == 54 || template_id == 56  || template_id == 60 || this.$store.getters.xt_user.template_info.org_id == 10432 || this.$store.getters.xt_user.template_info.org_id == 10445 || this.$store.getters.xt_user.template_info.org_id == 10410 || this.$store.getters.xt_user.template_info.org_id == 10485 || this.$store.getters.xt_user.template_info.org_id == 10375 || this.$store.getters.xt_user.template_info.org_id == 10480 || this.$store.getters.xt_user.template_info.org_id == 10597 || this.$store.getters.xt_user.template_info.org_id == 10599  || this.$store.getters.xt_user.template_info.org_id == 10610) && this.$store.getters.xt_user.template_info.org_id!=10387" width="50px"> 超滤率 <br />(ml/h) </th>
21
+          <th v-if="isShow('超滤率') && (template_id !=6 && template_id !=65 && template_id !=10 && template_id !=11 && template_id !=12 && template_id !=13 && template_id !=17 && template_id !=18 && template_id !=19 && template_id !=20 && template_id !=21 && template_id !=22 && template_id !=23 && template_id !=24 && template_id !=26 && template_id !=29 && template_id !=30 && template_id !=31 && template_id !=34 && template_id !=35 && template_id !=38  && template_id !=41 && template_id !=43 && template_id !=44 && template_id !=46 && template_id !=47 &&  template_id !=48 &&  template_id !=53 &&  template_id !=54 &&  template_id !=56 &&  template_id !=60 && this.$store.getters.xt_user.template_info.org_id!=10432  && this.$store.getters.xt_user.template_info.org_id!=10445 && this.$store.getters.xt_user.template_info.org_id!=10410 &&this.$store.getters.xt_user.template_info.org_id!=10485 &&this.$store.getters.xt_user.template_info.org_id!=10375 && this.$store.getters.xt_user.template_info.org_id!=10480 && this.$store.getters.xt_user.template_info.org_id!=10597 && this.$store.getters.xt_user.template_info.org_id!=10599 && this.$store.getters.xt_user.template_info.org_id!=10610 ) || this.$store.getters.xt_user.template_info.org_id==10387" width="50px"> 超滤率 <br />(L/h) </th>
22 22
           <th v-if="isShow('钠浓度')" width="92px">钠浓度(mmol/L)</th>
23 23
           <th v-if="isShow('透析液温度')" width="92px">透析液温度(℃)</th>
24 24
           <th v-if=" isShow('置换率') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 20 || template_id == 26 || template_id == 29 || template_id == 46  || template_id == 48 || template_id == 53  || template_id == 54 || template_id == 56 || org_id == 10432 || org_id == 10445 || org_id == 10410) && org_id!=10558" width="92px" > 置换率(ml/min) </th>

+ 32 - 7
src/xt_pages/dialysis/template/DialysisPrintOrderseventyone.vue ファイルの表示

@@ -319,11 +319,15 @@
319 319
             </td>
320 320
             <td style="min-width: 45px">
321 321
               <span v-if="getTime(monitor.operate_time) != ''">
322
-                {{
322
+                <span v-if="monindex == 1">0</span>
323
+                <span v-if="monindex != 1">
324
+                  {{
323 325
                   monitor.ultrafiltration_volume
324 326
                     ? monitor.ultrafiltration_volume
325 327
                     : " "
326
-                }}
328
+                 }}
329
+                </span>
330
+              
327 331
               </span>
328 332
             </td>
329 333
             <!-- 生命体征 -->
@@ -378,10 +382,10 @@
378 382
               <template 
379 383
               v-if=" (dialysisOrder && monitor.operate_time == dialysisOrder.start_time)&&(org_id!=10414) "
380 384
               >
381
-                【开始透析】
385
+                开始上机,引血100ml/min
382 386
               </template>
383
-              <span v-if="monitor.symptom || monitor.dispose || monitor.result">
384
-                {{ monitor.symptom }} &nbsp;{{ monitor.dispose }} &nbsp;{{
387
+              <span v-if="monitor.symptom || monitor.dispose || monitor.result || monitor.end ">
388
+                {{ monitor.end }}  {{ monitor.symptom }} &nbsp;{{ monitor.dispose }} &nbsp;{{
385 389
                   monitor.result
386 390
                 }}
387 391
               </span>
@@ -1223,6 +1227,25 @@ export default {
1223 1227
               this.monitors.push([]);
1224 1228
             }
1225 1229
           }
1230
+
1231
+          var tempmonitorflag = true;
1232
+          for (let index = 0; index < this.monitors.length; index++) {
1233
+            const monitor = this.monitors[index];
1234
+            this.monitors[index].end = "";
1235
+            if (Object.keys(monitor).length > 0 && index > 1) {
1236
+              if (
1237
+                (this.dialysisOrder &&
1238
+                monitor.operate_time == this.dialysisOrder.end_time)&&(this.org_id!=10414)
1239
+              ) {
1240
+                this.monitors[index].end = "结束治疗,予下机";
1241
+                tempmonitorflag = false;
1242
+              }
1243
+              if ((tempmonitorflag && index == this.monitors.length - 1)&&(this.org_id!=10414)) {
1244
+                this.monitors[index].end = "结束治疗,予下机";
1245
+              }
1246
+            }
1247
+          }
1248
+
1226 1249
           this.jilurow = this.monitors.length + 1;
1227 1250
 
1228 1251
           this.advice_jilurow = this.advices.length + 1;
@@ -1456,11 +1479,13 @@ export default {
1456 1479
       }
1457 1480
     },
1458 1481
     "prescription.dialyzate": function() {
1482
+      console.log("this.prescription",this.prescription.dialyzate)
1459 1483
       if(this.prescription.dialyzate !='undefined'){
1460
-        if(prescription.dialyzate.indexOf('碳酸')>-1){
1484
+        this.prescription.dialyzate="碳酸"
1485
+        if(this.prescription.dialyzate.indexOf('碳酸')>-1){
1461 1486
           this.prescription_dialyzate1 =true
1462 1487
           this.prescription_dialyzate2 = false
1463
-        }else if(prescription.dialyzate.indexOf('醋酸')>-1){
1488
+        }else if(this.prescription.dialyzate.indexOf('醋酸')>-1){
1464 1489
           this.prescription_dialyzate1 =false
1465 1490
           this.prescription_dialyzate2 = true
1466 1491
         }else{

+ 39 - 2
src/xt_pages/outpatientCharges/chargeDetailManagement.vue ファイルの表示

@@ -215,6 +215,18 @@
215 215
                           </el-option>
216 216
                         </el-select>
217 217
 
218
+                        <label>
219
+                          就诊类型:
220
+                        </label>
221
+                        <el-select filterable v-model="charge_type" placeholder="请选择就诊类型">
222
+                          <el-option
223
+                            v-for="(item,index) in register"
224
+                            :key="index"
225
+                            :label="item.label"
226
+                            :value="item.value">
227
+                          </el-option>
228
+                        </el-select>
229
+
218 230
                       </div>
219 231
 
220 232
                       <!--<prescription-table :preTableData='preTableData'></prescription-table>-->
@@ -244,6 +256,28 @@
244 256
       </div>
245 257
     </div>
246 258
 
259
+    <el-dialog
260
+      title="提示"
261
+      :visible.sync="dialogVisible"
262
+      width="30%"
263
+    >
264
+      <el-select
265
+                 style="width:50%;" v-model="charge_type"
266
+                 placeholder="上传费用类型" >
267
+        <el-option
268
+          v-for="(item,index) in register"
269
+          :key="index"
270
+          :label="item.label"
271
+          :value="item.value">
272
+        </el-option>
273
+      </el-select>
274
+
275
+      <span slot="footer" class="dialog-footer">
276
+                <el-button @click="dialogVisible = false">取 消</el-button>
277
+                <el-button type="primary" @click="comfirmChangeMedType">确 定</el-button>
278
+             </span>
279
+    </el-dialog>
280
+
247 281
   </div>
248 282
 
249 283
 </template>
@@ -269,13 +303,15 @@ export default {
269 303
   },
270 304
   data() {
271 305
     return {
306
+      dialogVisible:false,
307
+      charge_type:1,
272 308
       isloading: false,
273 309
       isdisabled: false,
274 310
       register: [
275
-        { value: 11, label: '普通门诊' },
311
+        { value: 1, label: '门诊' },
276 312
         // { value: 12, label: '门诊挂号' },
277 313
         // { value: 13, label: '急诊' },
278
-        { value: 14, label: '门诊慢性病' }
314
+        { value: 2, label: '住院' }
279 315
         // { value: 15, label: '门诊统筹' },
280 316
         // { value: 16, label: '门诊慢性病' },
281 317
         // { value: 21, label: '普通住院' }
@@ -739,6 +775,7 @@ export default {
739 775
           sick_type: this.sick_type,
740 776
           settle_type: this.activeName,
741 777
           p_id:id,
778
+          charge_type:this.charge_type,
742 779
         }
743 780
         if (this.activeName == "first"){
744 781
           obj['settle_accounts_type'] = 2

+ 384 - 0
src/xt_pages/outpatientCharges/components/callUnAssociationPrescription.vue ファイルの表示

@@ -0,0 +1,384 @@
1
+<template>
2
+  <el-dialog
3
+    :title="name"
4
+    :visible.sync="isLastOrNextVisible"
5
+    @close="hide"
6
+    width="1010px"
7
+    class="callPrescription"
8
+    :modal-append-to-body="false"
9
+  >
10
+    <div v-for="(item,index) in allPrescription" :key="index">
11
+      <div class="quote" v-if="item.prescriptions.length > 0">引用 {{getTime(item.record_date, '{y}年{m}月{d}日')}} 的处方</div>
12
+      <el-checkbox-group v-model="item.check_group">
13
+        <div v-for="(subItem,index2) in item.prescriptions" :key="index2">
14
+          <el-checkbox style="margin:10px 0;" :label="subItem.id">{{'处方' + (index2+ 1)}}</el-checkbox>
15
+          <el-table v-if="subItem.type  == 1" :data="subItem.doctor_advice" border style="width: 99%;"
16
+                    :row-style="{ color: '#303133' }"
17
+                    :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
18
+            <el-table-column align="center" type="index" width="60" label="序号"></el-table-column>
19
+            <el-table-column align="center" prop="drug_name"  width="160" label="名称">
20
+              <template slot-scope="scope">
21
+                <span>{{ scope.row.advice_name }}</span>
22
+              </template>
23
+            </el-table-column>
24
+
25
+            <el-table-column align="center" prop="single_dose" width="90" label="单次用量">
26
+              <template slot-scope="scope">
27
+                <div>{{scope.row.single_dose}}{{scope.row.single_dose_unit}}</div>
28
+              </template>
29
+            </el-table-column>
30
+            <el-table-column align="center" prop="delivery_way" width="100" label="用法">
31
+              <template slot-scope="scope">
32
+                {{scope.row.delivery_way}}
33
+              </template>
34
+            </el-table-column>
35
+            <el-table-column align="center" prop="execution_frequency" width="100" label="频率">
36
+              <template slot-scope="scope">
37
+                {{scope.row.execution_frequency}}
38
+              </template>
39
+            </el-table-column>
40
+
41
+            <el-table-column align="center" prop="day" width="60" label="天数">
42
+              <template slot-scope="scope">
43
+                {{scope.row.day}}
44
+              </template>
45
+            </el-table-column>
46
+
47
+            <el-table-column align="center" prop="prescribing_number" width="100" label="总量">
48
+              <template slot-scope="scope">
49
+                <div>{{scope.row.prescribing_number}} {{scope.row.prescribing_number_unit}}</div>
50
+              </template>
51
+            </el-table-column>
52
+            <el-table-column align="center" prop="retail_price" width="80" label="单价">
53
+              <template slot-scope="scope">
54
+                <div>{{scope.row.price}}元</div>
55
+              </template>
56
+            </el-table-column>
57
+            <el-table-column align="center" prop="remark" label="备注">
58
+              <template slot-scope="scope">
59
+                <div>{{scope.row.remark}}</div>
60
+              </template>
61
+            </el-table-column>
62
+          </el-table>
63
+          <el-table v-if="subItem.type == 2" :data="subItem.project" border style="width: 99%;"
64
+                    :row-style="{ color: '#303133' }"
65
+                    :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
66
+            <el-table-column align="center" type="index" width="60" label="序号"></el-table-column>
67
+            <el-table-column align="center" prop="project_name" width="160" label="名称">
68
+              <template slot-scope="scope">
69
+                <span>{{ scope.row.type == 2?scope.row.project.project_name:scope.row.good_info.good_name}}</span>
70
+              </template>
71
+            </el-table-column>
72
+            <el-table-column align="center" prop="statistical_classification" width="100" label="组">
73
+              <template slot-scope="scope">{{scope.row.type == 2 ?getGroup(scope.row.statistical_classification):"耗材"}}</template>
74
+            </el-table-column>
75
+            <el-table-column align="center" prop="single_dose" width="90" label="单次用量">
76
+              <template slot-scope="scope">
77
+                <!--<el-input v-model="scope.row.single_dose" placeholder=""></el-input>-->
78
+                <span>{{ scope.row.single_dose }}</span>
79
+
80
+              </template>
81
+            </el-table-column>
82
+            <el-table-column align="center" prop="delivery_way" width="100" label="用法">
83
+              <template slot-scope="scope">
84
+                <!--<el-input v-model="scope.row.delivery_way" placeholder=""></el-input>-->
85
+                <span>{{ scope.row.delivery_way }}</span>
86
+
87
+              </template>
88
+            </el-table-column>
89
+            <el-table-column align="center" prop="execution_frequency" width="100" label="频率">
90
+              <template slot-scope="scope">
91
+                <!--<el-input v-model="scope.row.execution_frequency" placeholder=""></el-input>-->
92
+                <span>{{ scope.row.execution_frequency }}</span>
93
+
94
+              </template>
95
+            </el-table-column>
96
+            <el-table-column align="center" prop="number_days" width="70" label="天数">
97
+              <template slot-scope="scope">
98
+                <!--<el-input v-model="scope.row.number_days" placeholder=""></el-input>-->
99
+                <span>{{ scope.row.number_days }}</span>
100
+
101
+              </template>
102
+            </el-table-column>
103
+            <el-table-column align="center" prop="total" width="70" label="总量">
104
+              <template slot-scope="scope">
105
+                <div>{{ scope.row.count }}{{scope.row.unit}}</div>
106
+              </template>
107
+            </el-table-column>
108
+            <el-table-column align="center" prop="name" width="60" label="单价">
109
+              <template slot-scope="scope">
110
+                <!--<el-input v-model="scope.row.price" placeholder="" readonly></el-input>-->
111
+                <span>{{ scope.row.price }}</span>
112
+
113
+              </template>
114
+            </el-table-column>
115
+            <el-table-column align="center" prop="name" label="备注">
116
+              <template slot-scope="scope">
117
+                <!--<el-input v-model="scope.row.remark" :title="scope.row.remark"></el-input>-->
118
+                <span>{{ scope.row.remark }}</span>
119
+
120
+              </template>
121
+            </el-table-column>
122
+          </el-table>
123
+        </div>
124
+      </el-checkbox-group>
125
+
126
+    </div>
127
+
128
+
129
+    <div slot="footer" class="dialog-footer">
130
+      <el-button @click="isLastOrNextVisible = false">取 消</el-button>
131
+      <el-button type="primary" @click="save">保存</el-button>
132
+    </div>
133
+  </el-dialog>
134
+
135
+
136
+</template>
137
+
138
+<script>
139
+  import { uParseTime } from '@/utils/tools'
140
+  import { getDictionaryDataConfig} from "@/utils/data";
141
+  const moment = require('moment')
142
+  import {
143
+    getCallHisPrescription
144
+  } from '@/api/his/his'
145
+  export default {
146
+    name: "callUnAssociationPrescription",
147
+    data() {
148
+      return {
149
+        start_time:"",
150
+        end_time:"",
151
+        name:"",
152
+        request_record_date:'',
153
+        patient_id:0,
154
+        allPrescription: [],
155
+        isLastOrNextVisible: false,
156
+
157
+      }
158
+    }, methods: {
159
+      changeTime(){
160
+        let params={
161
+          patient_id:this.patient_id,
162
+          start_time: this.start_time,
163
+          end_time:this.end_time,
164
+          p_type:2,
165
+        };
166
+        this.GetCallHisPrescription(params)
167
+      },
168
+      changeEndTime(){
169
+        let params={
170
+          patient_id:this.patient_id,
171
+          start_time: this.start_time,
172
+          end_time:this.end_time,
173
+          p_type:2,
174
+
175
+        };
176
+        this.GetCallHisPrescription(params)
177
+      },
178
+      GetCallHisPrescription(params){
179
+        console.log("param222222222",params)
180
+        getCallHisPrescription(params).then(response => {
181
+          if (response.data.state == 1) {
182
+            this.allPrescription = response.data.data.prescriptions;
183
+            for (let i = 0; i < this.allPrescription.length; i++){
184
+              this.allPrescription[i].check_group = []
185
+            }
186
+            this.request_record_date = uParseTime(response.data.data.prescriptions[0].record_date, '{y}-{m}-{d}')
187
+          } else {
188
+            this.$message.error(response.data.msg)
189
+
190
+          }
191
+        })
192
+      },
193
+      save() {
194
+        let replace_one = [];
195
+        let replace_two = [];
196
+
197
+        let checkGroup = [];
198
+        let allPrescriptions = [];
199
+        let targetPrescriptions = [];
200
+        let prescriptions = [];
201
+
202
+
203
+
204
+
205
+
206
+
207
+        for (let i = 0; i < this.allPrescription.length; i++) {
208
+          for (let a = 0; a < this.allPrescription[i].check_group.length; a++) {
209
+            checkGroup.push(this.allPrescription[i].check_group[a])
210
+          }
211
+          for (let a = 0; a < this.allPrescription[i].prescriptions.length; a++) {
212
+            allPrescriptions.push(this.allPrescription[i].prescriptions[a])
213
+          }
214
+        }
215
+        for (let i = 0; i < allPrescriptions.length; i++){
216
+          for (let a = 0; a < checkGroup.length; a++){
217
+            if(allPrescriptions[i].id == checkGroup[a]){
218
+              targetPrescriptions.push(allPrescriptions[i])
219
+            }
220
+          }
221
+        }
222
+
223
+        for (let i = 0; i < targetPrescriptions.length; i++) {
224
+          var prescription = targetPrescriptions[i];
225
+          for (let b = 0; b < prescription.doctor_advice.length; b++) {
226
+            console.log(prescription.doctor_advice[b].drug.is_special_diseases)
227
+            if (prescription.med_type == "14" && prescription.doctor_advice[b].drug.is_special_diseases != 1) {
228
+              prescription.doctor_advice.splice(b--,1)
229
+            }
230
+          }
231
+          for (let b = 0; b < prescription.project.length; b++) {
232
+            if(prescription.project[b].type == 2){
233
+              if (prescription.med_type == "14" && prescription.project[b].project.disease_directory != 1) {
234
+                prescription.project.splice(b--,1)
235
+              }
236
+            }else if(prescription.project[b].type == 3){
237
+              if (prescription.med_type == "14" && prescription.project[b].good_info.is_special_diseases != 1) {
238
+                prescription.project.splice(b--,1)
239
+              }
240
+            }
241
+          }
242
+        }
243
+
244
+
245
+
246
+        if (targetPrescriptions.length > 0) {
247
+          for (let i = 0; i < targetPrescriptions.length; i++) {
248
+            var prescription = targetPrescriptions[i];
249
+            let tempAdvice = [];
250
+            let tempProject = [];
251
+            let tempAddition = [];
252
+            for (let b = 0; b < prescription.doctor_advice.length; b++) {
253
+              let index = b + 1
254
+              let obj = {
255
+                advice_id: 0,
256
+                drug_name: prescription.doctor_advice[b].advice_name,
257
+                single_dose: prescription.doctor_advice[b].single_dose,
258
+                delivery_way: prescription.doctor_advice[b].delivery_way,
259
+                execution_frequency: prescription.doctor_advice[b].execution_frequency,
260
+                // retail_price: prescription.doctor_advice[b].price.toString(),
261
+                remark: prescription.doctor_advice[b].remark,
262
+                day:prescription.doctor_advice[b].day,
263
+                prescribing_number:prescription.doctor_advice[b].prescribing_number.toString(),
264
+                single_dose_unit:prescription.doctor_advice[b].single_dose_unit,
265
+                prescribing_number_unit:prescription.doctor_advice[b].prescribing_number_unit,
266
+                medical_insurance_number:prescription.doctor_advice[b].med_list_codg,
267
+                id:prescription.doctor_advice[b].drug_id,
268
+                drug:prescription.doctor_advice[b].drug,
269
+                groupno: index,
270
+                hosp_appr_flag:"1",
271
+              };
272
+              if (obj.prescribing_number_unit == prescription.doctor_advice[b].drug.min_unit){
273
+                obj['retail_price'] =  prescription.doctor_advice[b].drug.min_price
274
+              } else if(obj.prescribing_number_unit == prescription.doctor_advice[b].drug.max_unit){
275
+                obj['retail_price'] =  prescription.doctor_advice[b].drug.retail_price
276
+              } else {
277
+                obj['retail_price'] =  prescription.doctor_advice[b].drug.min_price
278
+              }
279
+
280
+              tempAdvice.push(obj)
281
+
282
+            }
283
+
284
+
285
+
286
+            for (let b = 0; b < prescription.project.length; b++) {
287
+              let obj = {
288
+                id: 0,
289
+                project_id: prescription.project[b].project_id,
290
+                project_name: prescription.project[b].project.project_name,
291
+                statistical_classification: prescription.project[b].project.statistical_classification,
292
+                single_dose: prescription.project[b].single_dose,
293
+                delivery_way: prescription.project[b].delivery_way,
294
+                execution_frequency: prescription.project[b].execution_frequency,
295
+                number_days: prescription.project[b].day,
296
+                total:prescription.project[b].count,
297
+                remark:prescription.project[b].remark,
298
+                unit: prescription.project[b].unit,
299
+                type: prescription.project[b].type,
300
+                // medical_code:prescription.project[b].project.medical_code,
301
+              };
302
+              if(prescription.project[b].type == 2){
303
+                obj['statistical_classification'] =  prescription.project[b].project.statistical_classification
304
+                obj['medical_code'] =  prescription.project[b].project.medical_code
305
+                obj['project_name'] =  prescription.project[b].project.project_name
306
+                obj['price'] = prescription.project[b].project.price
307
+                obj['project']=prescription.project[b].project
308
+
309
+              }else if(prescription.project[b].type == 3){
310
+                obj['statistical_classification'] = ""
311
+                obj['medical_code'] =  prescription.project[b].good_info.medical_insurance_number
312
+                obj['project_name'] =  prescription.project[b].good_info.good_name
313
+                obj['price'] = prescription.project[b].good_info.packing_price
314
+                obj['good_info']=prescription.project[b].good_info
315
+
316
+              }
317
+
318
+              tempProject.push(obj)
319
+            }
320
+            let obj = {
321
+              id: 0,
322
+              advices: tempAdvice,
323
+              project: tempProject,
324
+              addition:tempAddition,
325
+              type:prescription.type,
326
+              order_status:0,
327
+              med_type: parseInt(prescription.med_type)
328
+
329
+            };
330
+            prescriptions.push(obj)
331
+          }
332
+        }
333
+
334
+          this.$emit('call',prescriptions)
335
+        }
336
+      },
337
+      show(name,id,end_time, start_time,prescriptions){
338
+        this.isLastOrNextVisible = true
339
+        this.start_time  = start_time
340
+        this.end_time = end_time;
341
+
342
+        this.patient_id = id;
343
+        this.name = '处方调用' + '('+name +')';
344
+
345
+        this.allPrescription = prescriptions;
346
+        for (let i = 0; i < this.allPrescription.length; i++){
347
+          this.allPrescription[i].check_group = []
348
+        }
349
+
350
+      },close(){
351
+        this.isLastOrNextVisible = false
352
+      },hide(){
353
+        this.$emit('callCancel')
354
+
355
+      },getTime(time, template){
356
+        return uParseTime(time,template)
357
+
358
+      }, getGroup(id){
359
+        var name = "";
360
+        var statistics_category =  getDictionaryDataConfig('system','statistics_category');
361
+        for(let i=0;i<statistics_category.length;i++){
362
+          if(id == statistics_category[i].id){
363
+            name = statistics_category[i].name
364
+          }
365
+        }
366
+        return name
367
+      },   getDictionaryDataConfig(module, filed_name) {
368
+        return getDictionaryDataConfig(module, filed_name)
369
+      },
370
+    }
371
+  }
372
+</script>
373
+
374
+<style lang="scss">
375
+.callPrescription{
376
+  .el-dialog__body{
377
+    padding:0px 20px 30px;
378
+  }
379
+  .quote{
380
+    margin-top: 10px;
381
+    font-size: 14px;
382
+  }
383
+}
384
+</style>

+ 122 - 145
src/xt_pages/stock/drugs/components/purchaseDrugQuery.vue ファイルの表示

@@ -17,9 +17,9 @@
17 17
             align="right"
18 18
             format="yyyy-MM-dd"
19 19
             value-format="yyyy-MM-dd"
20
+            :picker-options="pickerOptions"
20 21
             @change="startTimeChange"
21
-             :picker-options="pickerOptions"
22
-             :clearable="false"
22
+            :clearable="false"
23 23
            ></el-date-picker>
24 24
             <span>-</span>
25 25
             <el-date-picker
@@ -33,8 +33,8 @@
33 33
               align="right"
34 34
               format="yyyy-MM-dd"
35 35
               value-format="yyyy-MM-dd"
36
-              @change="endTimeChange"
37 36
               :picker-options="pickerOptions"
37
+              @change="endTimeChange"
38 38
               :clearable="false"
39 39
           ></el-date-picker>
40 40
           <span style="font-size:14px;color:#606266">药品类型:</span>
@@ -72,6 +72,11 @@
72 72
                  {{getDrugTypeName(scope.row.drug_type)}}
73 73
               </template>
74 74
             </el-table-column>
75
+            <el-table-column label="药品别名" align="center">
76
+              <template slot-scope="scope">
77
+                 {{scope.row.drug_alias}}
78
+              </template>
79
+            </el-table-column>
75 80
             <el-table-column label="药品名称" align="center">
76 81
               <template slot-scope="scope">
77 82
                  {{scope.row.drug_name}}
@@ -92,6 +97,11 @@
92 97
                  {{getDearName(scope.row.dealer)}}
93 98
               </template>
94 99
             </el-table-column>
100
+            <el-table-column label="单位" align="center">
101
+              <template slot-scope="scope">
102
+                 {{ scope.row.min_unit }}
103
+              </template>
104
+            </el-table-column>
95 105
             <el-table-column label="期初结余" align="center">
96 106
 
97 107
                  <el-table-column prop="drugIn" label="数量" width="100" align="center">
@@ -161,7 +171,7 @@
161 171
   </div>
162 172
 </template>
163 173
 <script>
164
-import { getStorehouseList,getPurchaseDrugQuery } from "@/api/drug/drug"
174
+import { getStorehouseList,getPurchaseDrugQueryList,getDrugOverCount } from "@/api/drug/drug"
165 175
 const moment = require('moment')
166 176
 import { uParseTime } from '@/utils/tools'
167 177
 export default {
@@ -202,7 +212,7 @@ export default {
202 212
      loading:false,
203 213
      pickerOptions:{ //禁用当前日期之前的日期
204 214
            disabledDate(v) {
205
-            return v.getTime() < 1667232000000
215
+            return v.getTime() < 1667491200000
206 216
           },
207 217
       },
208 218
      dealerList:[]
@@ -229,7 +239,6 @@ export default {
229 239
            this.manufacturerList = response.data.data.manufacturerList
230 240
 
231 241
            this.patientList = response.data.data.patientList
232
-
233 242
            this.dealerList = response.data.data.dealerList
234 243
          }
235 244
       })
@@ -244,7 +253,7 @@ export default {
244 253
           start_time:this.start_time,
245 254
           end_time:this.end_time,
246 255
         }
247
-      getPurchaseDrugQuery(params).then(response=>{
256
+        getPurchaseDrugQueryList(params).then(response=>{
248 257
          if(response.data.state == 1){
249 258
             this.loading = false
250 259
             var list = response.data.data.list
@@ -389,33 +398,36 @@ export default {
389 398
              }
390 399
             }
391 400
 
392
-          
401
+            console.log("list23323223322332232323322323wode",list)
393 402
             for(let i=0;i<list.length;i++){
394 403
               list[i].last_price_in = 0
395
-              list[i].drugInOne = 0
396
-              list[i].drugAddOne =0
404
+              list[i].drugAddOne= 0
397 405
               list[i].drugOutOne =0
398
-              list[i].drugIn = this.getDrugWarehouseInfoOne(list[i].DrugWarehouseInfoStart,list[i].min_number,list[i].min_unit,list[i].max_unit,list[i].DrugWarehouseOutInfoStart,list[i].WareStartStockInventoryProfit,list[i].WareStartStockInventoryLosses,list[i].WareStartStockCancelInfo)
399
-              list[i].drugInOne = this.getDrugWarehouseInfoTwentyOne(list[i].DrugWarehouseInfoStart,list[i].min_number,list[i].min_unit,list[i].max_unit,list[i].DrugWarehouseOutInfoStart,list[i].WareStartStockInventoryProfit,list[i].WareStartStockInventoryLosses,list[i].WareStartStockCancelInfo)
400
-              list[i].drugInMoney = this.getDrugInMoneyOne(list[i].DrugWarehouseInfoStart,list[i].min_number,list[i].min_unit,list[i].max_unit,list[i].DrugWarehouseOutInfoStart,list[i].WareStartStockInventoryProfit,list[i].WareStartStockInventoryLosses,list[i].WareStartStockCancelInfo)
401
-              list[i].drugSaleMoney = this.getSaleMoneyOne(list[i].DrugWarehouseInfoStart,list[i].min_number,list[i].min_unit,list[i].max_unit,list[i].DrugWarehouseOutInfoStart,list[i].WareStartStockInventoryProfit,list[i].WareStartStockInventoryLosses,list[i].WareStartStockCancelInfo)
406
+              list[i].drugIn = this.GetDrugStartFlow(list[i].DrugStatFlow.over_count,list[i].min_number,list[i].min_unit,list[i].max_unit) 
407
+          
408
+              list[i].drugInMoney = list[i].last_price
409
+              list[i].drugSaleMoney = (list[i].drugIn * list[i].drugInMoney).toFixed(2)
402 410
 
403 411
               list[i].drugAdd = this.drugAddInfo(list[i].DrugWarehouseInfoStartEnd,list[i].min_number,list[i].min_unit,list[i].max_unit,list[i].WareStartEndStockInventoryProfit)
404
-              list[i].drugAddOne = this.drugAddInfoTwetyOne(list[i].DrugWarehouseInfoStartEnd,list[i].min_number,list[i].min_unit,list[i].max_unit,list[i].WareStartEndStockInventoryProfit)
405
-              list[i].drugAddPrice = this.getdrugAddPrice(list[i].DrugWarehouseInfoStartEnd,list[i].min_number,list[i].min_unit,list[i].max_unit,list[i].WareStartEndStockInventoryProfit)
406
-              list[i].drugAddSalePrice = this.drugAddSalePrice(list[i].DrugWarehouseInfoStartEnd,list[i].min_number,list[i].min_unit,list[i].max_unit,list[i].WareStartEndStockInventoryProfit)
412
+              list[i].drugAddOne = this.drugAddInfoOne(list[i].DrugWarehouseInfoStartEnd,list[i].min_number,list[i].min_unit,list[i].max_unit,list[i].WareStartEndStockInventoryProfit)
413
+           
414
+              list[i].drugAddPrice = list[i].last_price
415
+              list[i].drugAddSalePrice = (list[i].drugAdd * list[i].drugAddPrice).toFixed(2)
407 416
 
408 417
               list[i].drugOut=  this.getDrugOut(list[i].DrugWarehouseOutInfoStartEnd,list[i].min_number,list[i].min_unit,list[i].max_unit,list[i].WareStartEndStockInventoryLosses,list[i].WareStartEndStockCancelInfo)
409
-              list[i].drugOutOne=  this.getDrugOutTwetyOne(list[i].DrugWarehouseOutInfoStartEnd,list[i].min_number,list[i].min_unit,list[i].max_unit,list[i].WareStartEndStockInventoryLosses,list[i].WareStartEndStockCancelInfo)
410
-              list[i].drugOutPrice = this.getDrugOutPrice(list[i].DrugWarehouseOutInfoStartEnd,list[i].min_number,list[i].min_unit,list[i].max_unit,list[i].WareStartEndStockInventoryLosses,list[i].WareStartEndStockCancelInfo)
411
-              list[i].drugOutSalePrice = this.getDrugOutSaleprice(list[i].DrugWarehouseOutInfoStartEnd,list[i].min_number,list[i].min_unit,list[i].max_unit,list[i].WareStartEndStockInventoryLosses,list[i].WareStartEndStockCancelInfo)
412
-
413
-              // list[i].overDrug = this.getDrugWarehouseInfo(list[i].DrugWarehouseInfoEnd,list[i].DrugWarehouseOutInfoEnd,list[i].min_number,list[i].min_unit,list[i].max_unit,list[i].WareEndStockInventoryProfit,list[i].WareEndStockInventoryLosses,list[i].WareEndStockCancelInfo)
414
-              list[i].overDrug = this.getOverDrug(list[i].drugInOne,list[i].drugAddOne,list[i].drugOutOne,list[i].min_number,list[i].min_unit,list[i].max_unit)
415
-              list[i].overDrugPrice =  this.getDrugInMoney(list[i].DrugWarehouseInfoEnd,list[i].DrugWarehouseOutInfoEnd,list[i].min_number,list[i].min_unit,list[i].max_unit,list[i].WareEndStockInventoryProfit,list[i].WareEndStockInventoryLosses,list[i].WareEndStockCancelInfo)
416
-              list[i].oveDrugSaleMoney =  this.getSaleMoney(list[i].DrugWarehouseInfoEnd,list[i].DrugWarehouseOutInfoEnd,list[i].min_number,list[i].min_unit,list[i].max_unit,list[i].WareEndStockInventoryProfit,list[i].WareEndStockInventoryLosses,list[i].WareEndStockCancelInfo)
418
+              list[i].drugOutOne =this.getDrugOutOne(list[i].DrugWarehouseOutInfoStartEnd,list[i].min_number,list[i].min_unit,list[i].max_unit,list[i].WareStartEndStockInventoryLosses,list[i].WareStartEndStockCancelInfo)
419
+           
420
+              list[i].drugOutPrice = list[i].min_price
421
+              list[i].drugOutSalePrice = (list[i].drugOut*list[i].drugOutPrice).toFixed(2)
422
+
423
+          
424
+           
425
+             list[i].overDrug = this.GetDrugOver(list[i].DrugStatFlow.over_count,list[i].drugAddOne,list[i].drugOutOne,list[i].min_number,list[i].min_unit,list[i].max_unit)
426
+            
427
+            
428
+             list[i].overDrugPrice = list[i].last_price
429
+             list[i].oveDrugSaleMoney = (list[i].overDrug * list[i].overDrugPrice).toFixed(2)
417 430
             }
418
-            console.log("我的世界搜哦对哦奥法",list)
419 431
             this.tableList = list;
420 432
             this.total = response.data.data.total
421 433
             this.manufacturerList = response.data.data.manufacturerList
@@ -533,7 +545,10 @@ export default {
533 545
       totalfive += arr5[i].count
534 546
      }
535 547
   }
536
-  
548
+  // console.log("totalONE223323232323232",totalOne)
549
+  // console.log("totalTwo2oo2o32o3o32o23",totalTwo)
550
+  // console.log("totalfive",totalfive)
551
+  // console.log("00-------------------------")
537 552
   total = totalOne - totalTwo + totalthree - totalfour + totalfive
538 553
   if (total < min_number) {
539 554
      min_str = total + min_unit;
@@ -559,48 +574,6 @@ export default {
559 574
   }
560 575
 
561 576
 
562
-  },
563
-
564
-  getDrugWarehouseInfoTwentyOne(arr,min_number,min_unit,max_unit,arr2,arr3,arr4,arr5){
565
-   var total = 0
566
-   var totalOne =0
567
-   var totalTwo = 0
568
-   var totalthree= 0
569
-   var totalfour = 0
570
-   var totalfive = 0
571
-   var max_str = "";
572
-   var min_str = "";
573
-   if(arr!=null && arr.length > 0){
574
-    for(let i=0;i<arr.length;i++){
575
-      totalOne += arr[i].count
576
-     }
577
-   }
578
-   if(arr2!=null && arr2.length > 0){
579
-    for(let i=0;i<arr2.length;i++){
580
-      totalTwo += arr2[i].count
581
-     }
582
-   }
583
-   if(arr3!=null && arr3.length > 0){
584
-    for(let i=0;i<arr3.length;i++){
585
-      totalthree += arr3[i].count
586
-     }
587
-   }
588
-  if(arr4!=null && arr4.length > 0){
589
-    for(let i=0;i<arr4.length;i++){
590
-      totalfour += arr4[i].count
591
-     }
592
-  }
593
-
594
-  if(arr5!=null && arr5.length > 0){
595
-    for(let i=0;i<arr5.length;i++){
596
-      totalfive += arr5[i].count
597
-     }
598
-  }
599
-  
600
-  total = totalOne - totalTwo + totalthree - totalfour + totalfive
601
- 
602
-  
603
-   return total
604 577
   },
605 578
   getDrugWarehouseInfo(arr,arr4,min_number,min_unit,max_unit,arr2,arr3,arr5){
606 579
    var total = 0
@@ -852,12 +825,7 @@ export default {
852 825
    }
853 826
 
854 827
    total_price =(totalOne - totalTwo + total_three - total_four + totalFive).toFixed(2)
855
-   console.log("totalONE232332323323223322323wi",totalOne)
856
-   console.log("totalTwo99999999999999988888888",totalTwo)
857
-   console.log("total_three99999999999999988888888",total_three)
858
-   console.log("total_four99999999999999988888888",total_four)
859
-   console.log("totalFive99999999999999988888888",totalFive)
860
-   console.log("-------------------------------------------")
828
+ 
861 829
    if(total_price >0){
862 830
     return total_price
863 831
    }else{
@@ -1059,7 +1027,8 @@ export default {
1059 1027
    }
1060 1028
   },
1061 1029
    open(){
1062
-    // this.start_time = moment().year(2022).month(10).date(1).format('YYYY-MM-DD')
1030
+   
1031
+    // this.start_time = moment().year(2022).month(10).date(4).format('YYYY-MM-DD')
1063 1032
     this.start_time = moment().startOf('month').format('YYYY-MM-DD')
1064 1033
     this.end_time = moment(new Date()).add('year',0).format("YYYY-MM-DD")
1065 1034
     this.houseList= []
@@ -1086,30 +1055,11 @@ export default {
1086 1055
     }
1087 1056
     total = totalone + totaltwo
1088 1057
 
1089
-    if (total < min_number) {
1090
-      min_str = total + min_unit;
1091
-    }
1092
-    if (total == 0) {
1093
-      min_str = "";
1094
-      max_str = "";
1095
-    }
1096
-    if (total >= min_number) {
1097
-      if (parseInt(total / min_number) != 0) {
1098
-        max_str = parseInt(total / min_number) + max_unit;
1099
-      }
1100
-      if (total % min_number != 0) {
1101
-        min_str = (total % min_number) + min_unit;
1102
-      }
1103
-    }
1104
-    if(max_str == "" && min_str == ""){
1105
-      return "0"
1106
-    }else{
1107
-      return max_str + min_str
1108
-    }
1058
+     
1059
+    return total
1109 1060
 
1110 1061
    },
1111
-
1112
-  drugAddInfoTwetyOne(arr,min_number,min_unit,max_unit,arr2){
1062
+   drugAddInfoOne(arr,min_number,min_unit,max_unit,arr2){
1113 1063
     var total = 0
1114 1064
     var totalone = 0
1115 1065
     var totaltwo = 0
@@ -1128,7 +1078,6 @@ export default {
1128 1078
     total = totalone + totaltwo
1129 1079
 
1130 1080
     
1131
-    
1132 1081
     return total
1133 1082
 
1134 1083
    },
@@ -1197,30 +1146,13 @@ export default {
1197 1146
         totalthree +=arr3[i].count
1198 1147
       }
1199 1148
     }
1149
+   
1200 1150
     total = totalone + totaltwo - totalthree
1201
-    if (total < min_number) {
1202
-      min_str = total + min_unit;
1203
-    }
1204
-    if (total == 0) {
1205
-      min_str = "";
1206
-      max_str = "";
1207
-    }
1208
-    if (total >= min_number) {
1209
-      if (parseInt(total / min_number) != 0) {
1210
-        max_str = parseInt(total / min_number) + max_unit;
1211
-      }
1212
-      if (total % min_number != 0) {
1213
-        min_str = (total % min_number) + min_unit;
1214
-      }
1215
-   }
1216
-   if(max_str == "" && min_str == ""){
1217
-     return "0"
1218
-   }else{
1219
-    return max_str + min_str;
1220
-   }
1151
+    
1152
+    return total
1221 1153
 
1222 1154
    },
1223
-   getDrugOutTwetyOne(arr,min_number,min_unit,max_unit,arr2,arr3){
1155
+   getDrugOutOne(arr,min_number,min_unit,max_unit,arr2,arr3){
1224 1156
     var total = 0
1225 1157
     var totalone = 0
1226 1158
     var totaltwo = 0
@@ -1243,7 +1175,7 @@ export default {
1243 1175
       }
1244 1176
     }
1245 1177
     total = totalone + totaltwo - totalthree
1246
-     
1178
+    
1247 1179
     return total
1248 1180
 
1249 1181
    },
@@ -1320,6 +1252,7 @@ export default {
1320 1252
     this.$router.push({path:"/drugs/purchase/query/print?start_time="+this.start_time+"&end_time="+this.end_time+"&page="+this.page+"&limit="+this.limit+"&keyword="+this.keyword+"&good_type="+this.good_type})
1321 1253
    },
1322 1254
     exportList: function() {
1255
+       
1323 1256
        for(let i=0;i<this.tableList.length;i++){
1324 1257
           this.tableList[i].index = i+1
1325 1258
           this.tableList[i].query_date = this.start_time+"~"+this.end_time
@@ -1328,12 +1261,14 @@ export default {
1328 1261
           this.tableList[i].dealer_name = this.getDearName(this.tableList[i].dealer)
1329 1262
           this.tableList[i].specification_name = this.tableList[i].dose + this.tableList[i].dose_unit +"*"+this.tableList[i].min_number + this.tableList[i].min_unit+"/"+this.tableList[i].max_unit
1330 1263
 
1264
+          // this.tableList[i].drugInMoney = this.tableList[i].last_price
1265
+
1331 1266
         }
1332 1267
         import('@/vendor/Export2Excel').then(excel => {
1333
-           const multiHeader = [['序号', '查询日期','  药品类型','药品名称','规格&单位','生产产商','经销商', '期初结余' , '', '', '本期增加', '', '', '本期减少' , '', '', '期末结余' , '', '']]
1334
-           const header = ['', '','','','','','', '数量', '进货金额', '销售金额', '数量', '进货金额', '销售金额', '数量', '进货金额', '销售金额', '数量', '进货金额', '销售金额']
1335
-           const merges = ['A1:A2', 'B1:B2','C1:C2','D1:D2','E1:E2','F1:F2','G1:G2','H1:J1', 'K1:M1', 'N1:P1', 'Q1:S1']
1336
-           const filterVal = ['index', 'query_date', 'good_type','drug_name','specification_name','manufacturer_name','dealer_name','drugIn','drugInMoney','drugSaleMoney','drugAdd','drugAddPrice','drugAddSalePrice','drugOut','drugOutPrice','drugOutSalePrice','overDrug','overDrugPrice','oveDrugSaleMoney']
1268
+           const multiHeader = [['序号', '查询日期','  药品类型','药品别名','药品名称','规格&单位','生产产商','经销商','单位', '期初结余' , '', '', '本期增加', '', '', '本期减少' , '', '', '期末结余' , '', '']]
1269
+           const header = ['', '','','','','','','','', '数量', '进货金额', '销售金额', '数量', '进货金额', '销售金额', '数量', '进货金额', '销售金额', '数量', '进货金额', '销售金额']
1270
+           const merges = ['A1:A2', 'B1:B2','C1:C2','D1:D2','E1:E2','F1:F2','G1:G2','H1:H2','I1:I2', 'J1:L1', 'M1:O1', 'P1:R1','S1:U1']
1271
+           const filterVal = ['index', 'query_date', 'good_type','drug_alias','drug_name','specification_name','manufacturer_name','dealer_name','min_unit','drugIn','drugInMoney','drugSaleMoney','drugAdd','drugAddPrice','drugAddSalePrice','drugOut','drugOutPrice','drugOutSalePrice','overDrug','overDrugPrice','oveDrugSaleMoney']
1337 1272
 
1338 1273
            const data = this.formatJson(filterVal, this.tableList)
1339 1274
 
@@ -1352,19 +1287,38 @@ export default {
1352 1287
     formatJson(filterVal, jsonData) {
1353 1288
       return jsonData.map(v => filterVal.map(j => v[j]));
1354 1289
     },
1355
-    getDearName(id){
1356
-      var dear_name = ""
1357
-      for(let i=0;i<this.dealerList.length;i++){
1358
-        if(id == this.dealerList[i].id){
1359
-          dear_name = this.dealerList[i].dealer_name
1360
-        }
1361
-      }
1362
-      return dear_name
1290
+    GetDrugStartFlow(total,min_number,min_unit,max_unit){
1291
+      // var min_str = ""
1292
+      // var max_str = ""
1293
+      // if (total < min_number) {
1294
+      //   min_str = total + min_unit;
1295
+      // }
1296
+      // if (total == 0) {
1297
+      //   min_str = "";
1298
+      //   max_str = "";
1299
+      // }
1300
+      // if (total >= min_number) {
1301
+      //   if (parseInt(total / min_number) != 0) {
1302
+      //       max_str = parseInt(total / min_number) + max_unit;
1303
+      //   }
1304
+      //   if (total % min_number != 0) {
1305
+      //       min_str = (total % min_number) + min_unit;
1306
+      //   }
1307
+      // }
1308
+      //   if(max_str == "" && min_str == ""){
1309
+      //       return "0"
1310
+      //   }else{
1311
+      //       return max_str + min_str;
1312
+      //   }
1313
+      return total
1363 1314
     },
1364
-    getOverDrug(totalone,totaltwo,totalthree,min_number,min_unit,max_unit){
1365
-      var total = 0
1366
-      total = totalone + totaltwo - totalthree
1367
-      if (total < min_number) {
1315
+
1316
+  
1317
+    GetDrugEndFlow(total,min_number,min_unit,max_unit){
1318
+
1319
+     var min_str = ""
1320
+     var max_str = ""    
1321
+     if (total < min_number) {
1368 1322
         min_str = total + min_unit;
1369 1323
       }
1370 1324
       if (total == 0) {
@@ -1373,18 +1327,41 @@ export default {
1373 1327
       }
1374 1328
       if (total >= min_number) {
1375 1329
         if (parseInt(total / min_number) != 0) {
1376
-          max_str = parseInt(total / min_number) + max_unit;
1330
+            max_str = parseInt(total / min_number) + max_unit;
1377 1331
         }
1378 1332
         if (total % min_number != 0) {
1379
-          min_str = (total % min_number) + min_unit;
1333
+            min_str = (total % min_number) + min_unit;
1380 1334
         }
1335
+      }
1336
+     if(max_str == "" && min_str == ""){
1337
+            return "0"
1338
+        }else{
1339
+            return max_str + min_str;
1340
+       }
1341
+    },
1342
+    toOverCount(){
1343
+      getDrugOverCount().then(response=>{
1344
+        if(response.data.state == 1){
1345
+          var msg = response.data.data.msg
1346
+          this.$message.success("调试成功")
1347
+        }
1348
+      })  
1349
+    },
1350
+    getDearName(id){
1351
+      var dear_name = ""
1352
+      for(let i=0;i<this.dealerList.length;i++){
1353
+        if(id == this.dealerList[i].id){
1354
+          dear_name = this.dealerList[i].dealer_name
1355
+        }
1356
+      }
1357
+      return dear_name
1358
+    },
1359
+    GetDrugOver(totalone,totaltwo,totalthree,min_number,min_unit,max_unit){
1360
+      var total = 0
1361
+    
1362
+      total = totalone + totaltwo - totalthree
1363
+      return total
1381 1364
     }
1382
-    if(max_str == "" && min_str == ""){
1383
-      return "0"
1384
-    }else{
1385
-      return max_str + min_str;
1386
-    }
1387
-   }
1388 1365
   }
1389 1366
 }
1390 1367
 </script>

File diff suppressed because it is too large
+ 1094 - 999
src/xt_pages/stock/drugs/components/purchaseDrugQueryPrint.vue


+ 5 - 5
src/xt_pages/stock/drugs/drugNewQuery.vue ファイルの表示

@@ -10,14 +10,14 @@
10 10
               <DrugQuery></DrugQuery>
11 11
             </el-tab-pane>
12 12
           
13
-           <!-- <el-tab-pane label="进销存查询" name="second">
14
-              <PurchaseDrugQuery ref="mychild"></PurchaseDrugQuery>
15
-            </el-tab-pane>  -->
16
-
17
-             <el-tab-pane label="进销存查询" name="five">
13
+           <el-tab-pane label="进销存查询" name="five">
18 14
                <PurchaseNewDrugQuery ref="mychildfive"></PurchaseNewDrugQuery>
19 15
             </el-tab-pane>
20 16
         
17
+            <!-- <el-tab-pane label="进销存查询" name="second">
18
+              <PurchaseDrugQuery ref="mychild"></PurchaseDrugQuery>
19
+            </el-tab-pane>  -->
20
+
21 21
             <el-tab-pane label="有效期查询" name="third">
22 22
                 <ExpiryDateDrugQuery ref="mychildOne"></ExpiryDateDrugQuery>
23 23
             </el-tab-pane>

+ 3 - 0
src/xt_pages/user/physiqueprinting.vue ファイルの表示

@@ -123,6 +123,9 @@
123 123
             {{ patient.diagnose }}
124 124
             <span style="font-weight: bold;">病历书写者:</span>
125 125
             {{getDoctorName(item.doctor_id)}}
126
+          
127
+          </div>
128
+          <div style="float: right;">
126 129
             <span style="font-weight: bold;">日期:</span>
127 130
             {{getTime(item.record_time,'{y}-{m}-{d}')}}
128 131
           </div>