ソースを参照

Merge branch '20201109_pc_vue_new_branch' of http://git.shengws.com/csx/Vue_New into 20201109_pc_vue_new_branch

csx 4 年 前
コミット
cb07e86610
共有42 個のファイルを変更した1698 個の追加476 個の削除を含む
  1. 5 0
      src/api/drug/drug_stock.js
  2. 15 0
      src/api/stock.js
  3. 1 1
      src/xt_pages/data/components/addConsumable.vue
  4. 4 2
      src/xt_pages/dialysis/details/dialog/monitor_dialog.vue
  5. 2 2
      src/xt_pages/dialysis/details/dialysisMonitoring.vue
  6. 28 1
      src/xt_pages/dialysis/template/DialysisPrintOrderNine.vue
  7. 7 2
      src/xt_pages/dialysis/template/DialysisPrintOrderOne.vue
  8. 24 26
      src/xt_pages/dialysis/template/DialysisPrintOrderThirty.vue
  9. 3 1
      src/xt_pages/dialysis/template/DialysisPrintOrderTwentyFive.vue
  10. 4 0
      src/xt_pages/medicalScheduling/index.vue
  11. 55 17
      src/xt_pages/outpatientCharges/components/chargeDialog.vue
  12. 3 8
      src/xt_pages/outpatientCharges/components/prescriptionTable.vue
  13. 20 12
      src/xt_pages/outpatientCharges/components/registerDialog.vue
  14. 17 13
      src/xt_pages/outpatientCharges/outpatientChargesManagement.vue
  15. 26 3
      src/xt_pages/outpatientCharges/summaryDetail.vue
  16. 1 1
      src/xt_pages/outpatientCharges/treatPrint.vue
  17. 13 13
      src/xt_pages/outpatientCharges/treatTemplate/printOne.vue
  18. 2 4
      src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue
  19. 47 30
      src/xt_pages/outpatientDoctorStation/components/deskRecord.vue
  20. 39 11
      src/xt_pages/outpatientDoctorStation/components/inquiriesDetail.vue
  21. 7 11
      src/xt_pages/outpatientDoctorStation/components/newPrescriptionTable.vue
  22. 124 178
      src/xt_pages/outpatientDoctorStation/components/recordTemplateDetail.vue
  23. 37 11
      src/xt_pages/outpatientDoctorStation/doctorDesk.vue
  24. 0 1
      src/xt_pages/outpatientDoctorStation/recordPrint.vue
  25. 2 1
      src/xt_pages/outpatientDoctorStation/recordTemplate/printOne.vue
  26. 25 5
      src/xt_pages/outpatientDoctorStation/template/printOne.vue
  27. 2 0
      src/xt_pages/outpatientDoctorStation/template/printTwo.vue
  28. 2 3
      src/xt_pages/outpatientDoctorStation/treatTemplate/printOne.vue
  29. 10 9
      src/xt_pages/outpatientRegistration/registrationHistory.vue
  30. 12 2
      src/xt_pages/stock/Dialog/goodTypeDialog.vue
  31. 3 7
      src/xt_pages/stock/Dialog/manufacturerOrDealerDialog.vue
  32. 42 37
      src/xt_pages/stock/Dialog/stockInDialog.vue
  33. 5 2
      src/xt_pages/stock/config/goodType.vue
  34. 6 3
      src/xt_pages/stock/drugs/drugStockInOrderAdd.vue
  35. 763 42
      src/xt_pages/stock/stockInOrder.vue
  36. 4 2
      src/xt_pages/stock/stockInOrderAdd.vue
  37. 1 0
      src/xt_pages/stock/stockInOrderEdit.vue
  38. 320 5
      src/xt_pages/stock/stockOutOrder.vue
  39. 8 4
      src/xt_pages/stock/stockOutOrderDetail.vue
  40. 4 2
      src/xt_pages/stock/stockOutOrderEdit.vue
  41. 2 1
      src/xt_pages/stock/stockUserDetail.vue
  42. 3 3
      src/xt_pages/workforce/components/tableData.vue

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

1
 import request from '@/utils/request'
1
 import request from '@/utils/request'
2
 
2
 
3
 export function postDrugWarehouse(params, warehousing_time, manufacturer_id, dealer_id, type) {
3
 export function postDrugWarehouse(params, warehousing_time, manufacturer_id, dealer_id, type) {
4
+  console.log("params----",params)
5
+  console.log("warehousintg",warehousing_time)
6
+  console.log("manufactureer_id",manufacturer_id)
7
+  console.log("dealer_id",dealer_id)
8
+  console.log("type",type)
4
   return request({
9
   return request({
5
     url: '/api/drugwarehouse/create?warehousing_time=' + warehousing_time + '&manufacturer_id=' + manufacturer_id + '&dealer_id=' + dealer_id + '&type=' + type,
10
     url: '/api/drugwarehouse/create?warehousing_time=' + warehousing_time + '&manufacturer_id=' + manufacturer_id + '&dealer_id=' + dealer_id + '&type=' + type,
6
     method: 'post',
11
     method: 'post',

+ 15 - 0
src/api/stock.js ファイルの表示

386
 }
386
 }
387
 
387
 
388
 export function EditWarehouse(params, warehousing_time, id, type, manufacturer_id, dealer_id) {
388
 export function EditWarehouse(params, warehousing_time, id, type, manufacturer_id, dealer_id) {
389
+  console.log("params",params)
390
+  console.log("warehousing",warehousing_time)
391
+  console.log("id",id)
392
+  console.log("type",type)
393
+  console.log("manufacturer_id",manufacturer_id)
394
+  console.log("dealer_id",dealer_id)
389
   return request({
395
   return request({
390
     url: '/api/warehouse/edit?warehousing_time=' + warehousing_time + '&id=' + id + '&type=' + type + '&manufacturer_id=' + manufacturer_id + '&dealer_id=' + dealer_id,
396
     url: '/api/warehouse/edit?warehousing_time=' + warehousing_time + '&id=' + id + '&type=' + type + '&manufacturer_id=' + manufacturer_id + '&dealer_id=' + dealer_id,
391
     method: 'post',
397
     method: 'post',
560
   })
566
   })
561
 }
567
 }
562
 
568
 
569
+
570
+export function PostSearchStock(keyword,params){
571
+  
572
+  return request({
573
+    url:'/api/warehouseout/postsearchstock?keyword='+keyword,
574
+    method:"get",
575
+    params:params
576
+  })
577
+}

+ 1 - 1
src/xt_pages/data/components/addConsumable.vue ファイルの表示

9
             <el-tab-pane label="基础数据" name="first">
9
             <el-tab-pane label="基础数据" name="first">
10
                 <div>
10
                 <div>
11
                     <el-form :model="form" :rules="rules" ref="form" label-width="100px" style="display: flex;flex-wrap: wrap;justify-content: space-between;">
11
                     <el-form :model="form" :rules="rules" ref="form" label-width="100px" style="display: flex;flex-wrap: wrap;justify-content: space-between;">
12
-                        <el-form-item label="耗材名称 : " prop="name" style="width:100%">
12
+                        <el-form-item label="耗材名称22 : " prop="name" style="width:100%">
13
                             <el-input v-model="form.good_name" placeholder="" maxlength="30"></el-input>
13
                             <el-input v-model="form.good_name" placeholder="" maxlength="30"></el-input>
14
                         </el-form-item>
14
                         </el-form-item>
15
                         <el-form-item label="拼音 : " prop="name" style="width:50%">
15
                         <el-form-item label="拼音 : " prop="name" style="width:50%">

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

143
             v-if="
143
             v-if="
144
               isShow('超滤量') &&
144
               isShow('超滤量') &&
145
                 (template_id == 6 ||
145
                 (template_id == 6 ||
146
+                  template_id == 9 ||
146
                   template_id == 10 ||
147
                   template_id == 10 ||
147
                   template_id == 11 ||
148
                   template_id == 11 ||
148
                   template_id == 12 ||
149
                   template_id == 12 ||
178
             v-if="
179
             v-if="
179
               isShow('超滤量') &&
180
               isShow('超滤量') &&
180
                 template_id != 6 &&
181
                 template_id != 6 &&
182
+                template_id !=9 &&
181
                 template_id != 10 &&
183
                 template_id != 10 &&
182
                 template_id != 11 &&
184
                 template_id != 11 &&
183
                 template_id != 12 &&
185
                 template_id != 12 &&
509
 
511
 
510
           <el-col
512
           <el-col
511
             :span="8"
513
             :span="8"
512
-            v-if=" isShow('超滤量') && (template_id == 6 || 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 == 27 || template_id == 29 || template_id == 30 || org_id == 9555) " >
514
+            v-if=" isShow('超滤量') && (template_id == 6 || template_id == 9 || 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 == 27 || template_id == 29 || template_id == 30 || org_id == 9555) " >
513
             <el-form-item label="超滤量(ml):">
515
             <el-form-item label="超滤量(ml):">
514
               <el-input v-model="form.ultrafiltration_volume"></el-input>
516
               <el-input v-model="form.ultrafiltration_volume"></el-input>
515
             </el-form-item>
517
             </el-form-item>
517
 
519
 
518
           <el-col
520
           <el-col
519
             :span="8"
521
             :span="8"
520
-            v-if=" isShow('超滤量') && template_id != 6 && 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!=27 && template_id!=29 && template_id!=30 && org_id !=9555" >
522
+            v-if=" isShow('超滤量') && template_id != 6 && template_id !=9 && 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!=27 && template_id!=29 && template_id!=30 && org_id !=9555" >
521
             <el-form-item label="超滤量(L):">
523
             <el-form-item label="超滤量(L):">
522
               <el-input v-model="form.ultrafiltration_volume"></el-input>
524
               <el-input v-model="form.ultrafiltration_volume"></el-input>
523
             </el-form-item>
525
             </el-form-item>

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

14
           <th width="76px">静脉压/动脉压({{monitores[0]&&monitores[0]['venous_pressure_type'] == 2 ? 'kpa' : 'mmHg'}})</th>
14
           <th width="76px">静脉压/动脉压({{monitores[0]&&monitores[0]['venous_pressure_type'] == 2 ? 'kpa' : 'mmHg'}})</th>
15
           <th v-if="isShow('血流量')" width="92px">血流量(ml/min)</th>
15
           <th v-if="isShow('血流量')" width="92px">血流量(ml/min)</th>
16
           <th v-if="isShow('跨膜压')" width="76px">跨膜压({{monitores[0]&&monitores[0]['transmembrane_pressure_type'] == 2 ? 'kpa' : 'mmHg'}})</th>
16
           <th v-if="isShow('跨膜压')" width="76px">跨膜压({{monitores[0]&&monitores[0]['transmembrane_pressure_type'] == 2 ? 'kpa' : 'mmHg'}})</th>
17
-          <th v-if=" isShow('超滤量') &&(template_id == 6 || 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 || this.$store.getters.xt_user.template_info.org_id == 9555)" width="76px" > 超滤量(ml)</th>
18
-          <th v-if=" isShow('超滤量') && template_id != 6 && 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 && this.$store.getters.xt_user.template_info.org_id != 9555"  width="76px"> 超滤量(L) </th>
17
+          <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 || this.$store.getters.xt_user.template_info.org_id == 9555)" width="76px" > 超滤量(ml)</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 && this.$store.getters.xt_user.template_info.org_id != 9555"  width="76px"> 超滤量(L) </th>
19
           <th v-if="isShow('超滤率') && (template_id ==6 || 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)" width="50px"> 超滤率 <br />(ml/h) </th>
19
           <th v-if="isShow('超滤率') && (template_id ==6 || 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)" width="50px"> 超滤率 <br />(ml/h) </th>
20
           <th v-if="isShow('超滤率') && template_id !=6 && 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" width="50px"> 超滤率 <br />(L/h) </th>
20
           <th v-if="isShow('超滤率') && template_id !=6 && 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" width="50px"> 超滤率 <br />(L/h) </th>
21
           <th v-if="isShow('钠浓度')" width="92px">钠浓度(mmol/L)</th>
21
           <th v-if="isShow('钠浓度')" width="92px">钠浓度(mmol/L)</th>

+ 28 - 1
src/xt_pages/dialysis/template/DialysisPrintOrderNine.vue ファイルの表示

349
               </tr>
349
               </tr>
350
               </tbody>
350
               </tbody>
351
             </table>
351
             </table>
352
+           
352
           </td>
353
           </td>
353
         </tr>
354
         </tr>
354
         </tbody>
355
         </tbody>
789
           <td width="80" style="line-height:20px">TMP<br />{{monitors[0] && monitors[0]['transmembrane_pressure_type'] == 2 ? 'kpa' : 'mmHg'}}</td>
790
           <td width="80" style="line-height:20px">TMP<br />{{monitors[0] && monitors[0]['transmembrane_pressure_type'] == 2 ? 'kpa' : 'mmHg'}}</td>
790
           <td width="60" style="line-height:20px">血流量<br />ml/min</td>
791
           <td width="60" style="line-height:20px">血流量<br />ml/min</td>
791
           <td width="60" style="line-height:20px">电导度<br />mS/cm</td>
792
           <td width="60" style="line-height:20px">电导度<br />mS/cm</td>
793
+          <td width="60" v-if="org_id  == 10032" style="line-height:20px">超滤量<br />ml</td>
794
+          <td width="60" v-if="org_id  == 10032" style="line-height:20px">透析液温度<br />℃</td>
792
           <!-- <td width="60">钠浓度<br/>mmol/L</td>
795
           <!-- <td width="60">钠浓度<br/>mmol/L</td>
793
         <td width="80">透析液温度<br/>℃</td>
796
         <td width="80">透析液温度<br/>℃</td>
794
         <td width="60">置换率<br/>ml/min</td> -->
797
         <td width="60">置换率<br/>ml/min</td> -->
836
           </td>
839
           </td>
837
           <td>
840
           <td>
838
             &nbsp;{{ monitor.conductivity ? monitor.conductivity : "" }}
841
             &nbsp;{{ monitor.conductivity ? monitor.conductivity : "" }}
842
+          </td>
843
+           <td v-if="org_id  == 10032">
844
+            &nbsp;{{ monitor.ultrafiltration_volume ? monitor.ultrafiltration_volume : "" }}
845
+          </td>
846
+           <td v-if="org_id  == 10032">
847
+            &nbsp;{{ monitor.dialysate_temperature ? monitor.dialysate_temperature : "" }}
839
           </td>
848
           </td>
840
           <!-- <td>&nbsp;{{monitor.sodium_concentration}}</td>
849
           <!-- <td>&nbsp;{{monitor.sodium_concentration}}</td>
841
         <td>&nbsp;{{monitor.dialysate_temperature}}</td>
850
         <td>&nbsp;{{monitor.dialysate_temperature}}</td>
843
           <td>
852
           <td>
844
             &nbsp;{{ monitor.symptom }} &nbsp;{{ monitor.dispose }} &nbsp;{{ monitor.result }}
853
             &nbsp;{{ monitor.symptom }} &nbsp;{{ monitor.dispose }} &nbsp;{{ monitor.result }}
845
           </td>
854
           </td>
855
+         
846
         </tr>
856
         </tr>
847
         </tbody>
857
         </tbody>
848
       </table>
858
       </table>
1221
                 </tbody>
1231
                 </tbody>
1222
               </table>
1232
               </table>
1223
 
1233
 
1234
+              <table class="table-box" v-if="org_id == 10032">
1235
+                <tbody>
1236
+                  <tr>
1237
+                   <td width="100">特殊病情处理:</td>
1238
+                   <td width= "480">
1239
+                     <div class="under-line">
1240
+                      &nbsp;
1241
+                      <span>{{ predialysis.remark }}</span>
1242
+                     </div>
1243
+                   </td>
1244
+                    <td></td>
1245
+                  </tr>
1246
+                </tbody>
1247
+              </table>
1248
+
1224
               <!-- <table class="table-box">
1249
               <!-- <table class="table-box">
1225
                 <tbody>
1250
                 <tbody>
1226
                   <tr>
1251
                   <tr>
1740
         doctorForm: {
1765
         doctorForm: {
1741
           doctor: '',
1766
           doctor: '',
1742
           url: ''
1767
           url: ''
1743
-        }
1768
+        },
1769
+        org_id:0,
1744
       }
1770
       }
1745
   },
1771
   },
1746
     methods: {
1772
     methods: {
2296
     created() {
2322
     created() {
2297
       var xtuser = this.$store.getters.xt_user
2323
       var xtuser = this.$store.getters.xt_user
2298
       this.orgname = xtuser.org.org_name
2324
       this.orgname = xtuser.org.org_name
2325
+      this.org_id = xtuser.org.id
2299
       // this.orgname = "遂溪方济医院";
2326
       // this.orgname = "遂溪方济医院";
2300
       this.modeOptions = this.$store.getters.treatment_mode
2327
       this.modeOptions = this.$store.getters.treatment_mode
2301
       this.replacementWays = this.$store.getters.replacement_ways
2328
       this.replacementWays = this.$store.getters.replacement_ways

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

554
             <td width="60">置换量<br />L</td>
554
             <td width="60">置换量<br />L</td>
555
             <td width="60">静脉压<br />mmHg</td>
555
             <td width="60">静脉压<br />mmHg</td>
556
             <td width="60">跨膜压<br />mmHg</td>
556
             <td width="60">跨膜压<br />mmHg</td>
557
+            <td width="60" v-if="org_id == 9987">ktv</td>
557
             <!-- <td width="60">钠浓度<br/>mmol/L</td>
558
             <!-- <td width="60">钠浓度<br/>mmol/L</td>
558
           <td width="80">透析液温度<br/>℃</td>
559
           <td width="80">透析液温度<br/>℃</td>
559
           <td width="60">置换率<br/>ml/min</td> -->
560
           <td width="60">置换率<br/>ml/min</td> -->
609
             <td>
610
             <td>
610
               &nbsp;{{ monitor.symptom }} &nbsp;{{ monitor.dispose }} &nbsp;{{ monitor.result }}
611
               &nbsp;{{ monitor.symptom }} &nbsp;{{ monitor.dispose }} &nbsp;{{ monitor.result }}
611
             </td>
612
             </td>
613
+            <td v-if="org_id == 9987">
614
+               &nbsp;{{monitor.ktv}}
615
+            </td>
612
           </tr>
616
           </tr>
613
         </tbody>
617
         </tbody>
614
       </table>
618
       </table>
1113
         zongliang_unit: 'mg',
1117
         zongliang_unit: 'mg',
1114
         gaimingcheng_unit: '',
1118
         gaimingcheng_unit: '',
1115
         gaijiliang_unit: ''
1119
         gaijiliang_unit: ''
1116
-      }
1120
+      },
1121
+      org_id:0,
1117
     }
1122
     }
1118
   },
1123
   },
1119
   methods: {
1124
   methods: {
1603
     this.precaution_arr = getDataConfig('hemodialysis', 'precaution')
1608
     this.precaution_arr = getDataConfig('hemodialysis', 'precaution')
1604
     this.intake_arr = getDataConfig('hemodialysis', 'intake')
1609
     this.intake_arr = getDataConfig('hemodialysis', 'intake')
1605
     this.nutrition_arr = getDataConfig('hemodialysis', 'nutrition')
1610
     this.nutrition_arr = getDataConfig('hemodialysis', 'nutrition')
1606
-
1611
+    this.org_id = this.org_template_info.org_id
1607
     // this.bloodAccessParOpera = getDataConfig('hemodialysis', 'vascular_access_desc')
1612
     // this.bloodAccessParOpera = getDataConfig('hemodialysis', 'vascular_access_desc')
1608
 
1613
 
1609
     var bloodAccessParOpera = getDataConfig(
1614
     var bloodAccessParOpera = getDataConfig(

+ 24 - 26
src/xt_pages/dialysis/template/DialysisPrintOrderThirty.vue ファイルの表示

65
             <td width="10"></td>
65
             <td width="10"></td>
66
             <td width="70">有/无特殊:</td>
66
             <td width="70">有/无特殊:</td>
67
             <td width="200">
67
             <td width="200">
68
-                <div class="under-line" style="text-align:left">&nbsp;</div>
68
+                <div class="under-line" style="text-align:left">&nbsp;{{ prescription.remark ? prescription.remark : '' }}</div>
69
             </td>
69
             </td>
70
           </tr>
70
           </tr>
71
         </tbody>
71
         </tbody>
311
                 <table class="table-box">
311
                 <table class="table-box">
312
                     <tbody>
312
                     <tbody>
313
                     <tr>
313
                     <tr>
314
-                        <td wdith='70'>下机情况:</td>
315
-                        <td wdith='30'>凝血:</td>
316
-                        <td width="240">
317
-                            <label-box :isChecked="afterdialysis.cruor?(afterdialysis.cruor.indexOf('无') > -1 ? true : false):false" showValue="无"></label-box>&nbsp;
318
-                            <label-box :isChecked="afterdialysis.cruor?(afterdialysis.cruor.indexOf('有') > -1 ? true : false):false" showValue="有"></label-box>&nbsp;
319
-                            <label-box :isChecked="afterdialysis.cruor?(afterdialysis.cruor.indexOf('透析器-Ⅰ度') > -1 ? true : false):false" showValue="Ⅰ"></label-box>&nbsp;
320
-                            <label-box :isChecked="afterdialysis.cruor?(afterdialysis.cruor.indexOf('透析器-Ⅱ度') > -1 ? true : false):false" showValue="Ⅱ"></label-box>&nbsp;
321
-                            <label-box :isChecked="afterdialysis.cruor?(afterdialysis.cruor.indexOf('透析器-Ⅲ度') > -1 ? true : false):false" showValue="Ⅲ"></label-box>&nbsp;
322
-                            <label-box :isChecked="afterdialysis.cruor?(afterdialysis.cruor.indexOf('透析器-Ⅳ度') > -1 ? true : false):false" showValue="Ⅳ"></label-box>&nbsp;
323
-                        </td>
324
-                        <td width="70">静脉管道:</td>
325
-                        <td width="200">
326
-                            <label-box :isChecked="afterdialysis.intravenous_tube == 1 ? true : false" showValue="无"></label-box>&nbsp;
327
-                            <label-box :isChecked="afterdialysis.intravenous_tube == 2 ? true : false" showValue="+"></label-box>&nbsp;
328
-                            <label-box :isChecked="afterdialysis.intravenous_tube == 3 ? true : false" showValue="+ +"></label-box>&nbsp;
329
-                            <label-box :isChecked="afterdialysis.intravenous_tube == 4 ? true : false" showValue="+ + +"></label-box>&nbsp;
330
-                        </td>
331
-                        <td width="70">动脉管道:</td>
332
-                        <td width="200">
333
-                            <label-box :isChecked="afterdialysis.arterial_tube == 1 ? true : false" showValue="无"></label-box>&nbsp;
334
-                            <label-box :isChecked="afterdialysis.arterial_tube == 2 ? true : false" showValue="+"></label-box>&nbsp;
335
-                            <label-box :isChecked="afterdialysis.arterial_tube == 3 ? true : false" showValue="+ +"></label-box>&nbsp;
336
-                            <label-box :isChecked="afterdialysis.arterial_tube == 4 ? true : false" showValue="+ + +"></label-box>&nbsp;
337
-                        </td>
338
-                        <td></td>
314
+                      <td wdith='70'>下机情况:</td>
315
+                      <td wdith='30'>凝血:</td>
316
+                      <td width="240">
317
+                          <label-box :isChecked="afterdialysis.cruor?(afterdialysis.cruor.indexOf('无凝血') > -1 ? true : false):false" showValue="无"></label-box>&nbsp;
318
+                          <label-box :isChecked="afterdialysis.cruor?(afterdialysis.cruor.indexOf('有凝血') > -1 ? true : false):false" showValue="有"></label-box>&nbsp;
319
+                          <label-box :isChecked="afterdialysis.cruor?(afterdialysis.cruor.indexOf('透析器-Ⅰ度') > -1 ? true : false):false" showValue="Ⅰ"></label-box>&nbsp;
320
+                          <label-box :isChecked="afterdialysis.cruor?(afterdialysis.cruor.indexOf('透析器-Ⅱ度') > -1 ? true : false):false" showValue="Ⅱ"></label-box>&nbsp;
321
+                          <label-box :isChecked="afterdialysis.cruor?(afterdialysis.cruor.indexOf('透析器-Ⅲ度') > -1 ? true : false):false" showValue="Ⅲ"></label-box>&nbsp;
322
+                          <label-box :isChecked="afterdialysis.cruor?(afterdialysis.cruor.indexOf('透析器-Ⅳ度') > -1 ? true : false):false" showValue="Ⅳ"></label-box>&nbsp;
323
+                      </td>
324
+                      <td width='50'></td>
325
+                      <td width="70">静脉壶:</td>
326
+                      <td width="90">
327
+                        <label-box :isChecked="afterdialysis.cruor?(afterdialysis.cruor.indexOf('静脉壶凝血-无') > -1 ? true : false):false" showValue="无"></label-box>&nbsp;&nbsp;
328
+                        <label-box :isChecked="afterdialysis.cruor?(afterdialysis.cruor.indexOf('静脉壶凝血-有') > -1 ? true : false):false" showValue="有"></label-box>&nbsp;
329
+                      </td>
330
+                      <td width='50'></td>
331
+                      <td width="70">动脉壶:</td>
332
+                      <td width="90">
333
+                        <label-box :isChecked="afterdialysis.cruor?(afterdialysis.cruor.indexOf('动脉壶凝血-无') > -1 ? true : false):false" showValue="无"></label-box>&nbsp;&nbsp;
334
+                        <label-box :isChecked="afterdialysis.cruor?(afterdialysis.cruor.indexOf('动脉壶凝血-有') > -1 ? true : false):false" showValue="有"></label-box>&nbsp;
335
+                      </td>
336
+                      <td width="160"></td>
339
                     </tr>
337
                     </tr>
340
                     </tbody>
338
                     </tbody>
341
                 </table>
339
                 </table>

+ 3 - 1
src/xt_pages/dialysis/template/DialysisPrintOrderTwentyFive.vue ファイルの表示

331
                     <label-box :isChecked="predialysis.is_hemorrhage == 2 ? true : false" showValue="无"></label-box>
331
                     <label-box :isChecked="predialysis.is_hemorrhage == 2 ? true : false" showValue="无"></label-box>
332
                   </div>
332
                   </div>
333
                 </td>
333
                 </td>
334
-                <td width="420">
334
+                <td width="600">
335
                   <div>
335
                   <div>
336
                     <label-box :isChecked="predialysis.is_hemorrhage == 1 && predialysis.hemorrhage.indexOf('牙龈出血') > -1 ? true : false" showValue="牙龈出血"></label-box>
336
                     <label-box :isChecked="predialysis.is_hemorrhage == 1 && predialysis.hemorrhage.indexOf('牙龈出血') > -1 ? true : false" showValue="牙龈出血"></label-box>
337
                     &nbsp;
337
                     &nbsp;
342
                     <label-box :isChecked="predialysis.is_hemorrhage == 1 && predialysis.hemorrhage.indexOf('女性经期') > -1 ? true : false" showValue="女性经期"></label-box>
342
                     <label-box :isChecked="predialysis.is_hemorrhage == 1 && predialysis.hemorrhage.indexOf('女性经期') > -1 ? true : false" showValue="女性经期"></label-box>
343
                     &nbsp;
343
                     &nbsp;
344
                     <label-box :isChecked="predialysis.is_hemorrhage == 1 && predialysis.hemorrhage.indexOf('血尿') > -1 ? true : false" showValue="血尿"></label-box>
344
                     <label-box :isChecked="predialysis.is_hemorrhage == 1 && predialysis.hemorrhage.indexOf('血尿') > -1 ? true : false" showValue="血尿"></label-box>
345
+                    &nbsp;
346
+                    <label-box :isChecked="predialysis.is_hemorrhage == 1 && predialysis.hemorrhage.indexOf('眼结膜出血') > -1 ? true : false" showValue="眼结膜出血"></label-box>
345
                   </div>
347
                   </div>
346
                 </td>
348
                 </td>
347
 
349
 

+ 4 - 0
src/xt_pages/medicalScheduling/index.vue ファイルの表示

1991
         white-space: pre-line;/*保留换行符*/
1991
         white-space: pre-line;/*保留换行符*/
1992
     }
1992
     }
1993
 }
1993
 }
1994
+.el-dropdown-menu{
1995
+    max-height:96%;
1996
+    overflow-y: auto;
1997
+}
1994
 
1998
 
1995
 </style>
1999
 </style>

+ 55 - 17
src/xt_pages/outpatientCharges/components/chargeDialog.vue ファイルの表示

1
 <template>
1
 <template>
2
-  <el-dialog width="854px" title="收费单" :visible.sync="visibility" :close-on-click-modal="isClose"
2
+  <el-dialog width="854px" title="收费单" class="chargeDialog" :visible.sync="visibility" :close-on-click-modal="isClose"
3
              :close-on-press-escape="isClose">
3
              :close-on-press-escape="isClose">
4
 
4
 
5
     <el-form :model="form"  ref="formValue" label-width="100px">
5
     <el-form :model="form"  ref="formValue" label-width="100px">
6
 
6
 
7
-      <el-form-item label="日期:">
7
+      <el-form-item label="日期:" style="width:100%;">
8
         <div>{{record_date}}</div>
8
         <div>{{record_date}}</div>
9
       </el-form-item>
9
       </el-form-item>
10
 
10
 
11
-
12
-      <el-form-item label="医保:" prop="name" :validate-event="is_Name">
13
-        <el-input type="number" v-model="form.medical_insurance_price"></el-input>
11
+      <el-form-item label="总计:" prop="name" :validate-event="is_Name" style="width:33%;">
12
+        <el-input type="number" v-model="form.total" :disabled="true"></el-input>
13
+      </el-form-item>
14
+      <el-form-item label="医保:" prop="name" :validate-event="is_Name" style="width:33%;">
15
+        <el-input type="number" v-model="form.medical_insurance_price" :disabled="true"></el-input>
14
       </el-form-item>
16
       </el-form-item>
15
 
17
 
16
 
18
 
17
-      <el-form-item label="自费:" prop="age" :validate-event="is_Name">
18
-        <el-input type="number" v-model="form.private_price"></el-input>
19
+      <el-form-item label="自费:" prop="age" :validate-event="is_Name" style="width:33%;">
20
+        <el-input type="number" v-model="form.private_price" :disabled="true"></el-input>
19
       </el-form-item>
21
       </el-form-item>
20
 
22
 
21
 
23
 
22
-      <el-form-item label="支付方式:">
23
-        <el-select v-model="form.pay_way" placeholder="请选择">
24
+      <el-form-item label="支付方式:" style="width:100%;">
25
+        <!-- <el-select v-model="form.pay_way" placeholder="请选择">
24
           <el-option
26
           <el-option
25
             v-for="(item,index) in payWays"
27
             v-for="(item,index) in payWays"
26
             :key="index"
28
             :key="index"
27
             :label="item.label"
29
             :label="item.label"
28
             :value="item.value">
30
             :value="item.value">
29
           </el-option>
31
           </el-option>
30
-        </el-select>
32
+        </el-select> -->
33
+        <el-radio-group v-model="form.pay_way">
34
+          <el-radio :label="index" v-for="(item,index) in payWays" :key="index">{{ item.label }}</el-radio>
35
+        </el-radio-group>
31
       </el-form-item>
36
       </el-form-item>
32
 
37
 
33
 
38
 
34
       <el-form-item label="付款金额:" prop="id_card" :validate-event="is_Name">
39
       <el-form-item label="付款金额:" prop="id_card" :validate-event="is_Name">
35
-        <el-input type="number" v-model="form.pay_price"></el-input>
40
+        <el-input type="number" v-model="form.pay_price" :disabled="true"></el-input>
36
       </el-form-item>
41
       </el-form-item>
37
 
42
 
38
 
43
 
42
 
47
 
43
       <el-form-item class="specialFormItem" label="折扣金额:">
48
       <el-form-item class="specialFormItem" label="折扣金额:">
44
         <div style="display:flex;">
49
         <div style="display:flex;">
45
-          <el-input v-model="form.discount_price"></el-input>
50
+          <el-input v-model="form.discount_price" :disabled="form.preferential_price != 0" @change="changeDiscountPrice"></el-input>
46
         </div>
51
         </div>
47
       </el-form-item>
52
       </el-form-item>
48
       <el-form-item class="specialFormItem" label="优惠金额:">
53
       <el-form-item class="specialFormItem" label="优惠金额:">
49
         <div style="display:flex;">
54
         <div style="display:flex;">
50
-          <el-input v-model="form.preferential_price"></el-input>
55
+          <el-input v-model="form.preferential_price" :disabled="form.discount_price != 0" @change="changePreferentialPrice"></el-input>
51
         </div>
56
         </div>
52
       </el-form-item>
57
       </el-form-item>
53
       <el-form-item label="实收金额:">
58
       <el-form-item label="实收金额:">
54
         <div style="display:flex;">
59
         <div style="display:flex;">
55
-          <el-input v-model="form.reality_price"></el-input>
60
+          <el-input v-model="form.reality_price" @change="realityPrice"></el-input>
56
         </div>
61
         </div>
57
       </el-form-item>
62
       </el-form-item>
58
       <el-form-item label="找回金额:">
63
       <el-form-item label="找回金额:">
82
       return {
87
       return {
83
         record_date:'',
88
         record_date:'',
84
         form: {
89
         form: {
85
-          medical_insurance_price:'',
90
+          medical_insurance_price:0,
86
           private_price:'',
91
           private_price:'',
87
           pay_way:'',
92
           pay_way:'',
88
           pay_price:'',
93
           pay_price:'',
91
           preferential_price:'',
96
           preferential_price:'',
92
           reality_price:'',
97
           reality_price:'',
93
           found_price:'',
98
           found_price:'',
99
+          total:0,
94
 
100
 
95
         },
101
         },
96
         payWays: [
102
         payWays: [
144
         this.total = total
150
         this.total = total
145
         this.form.private_price = total
151
         this.form.private_price = total
146
         this.form.pay_price = total
152
         this.form.pay_price = total
153
+        this.form.total = total + this.form.medical_insurance_price
154
+        this.form.discount_price = 0.0
155
+        this.form.preferential_price = 0.0
147
 
156
 
148
         this.visibility = true
157
         this.visibility = true
149
 
158
 
167
         let form = {}
176
         let form = {}
168
         form = this.form
177
         form = this.form
169
         return form
178
         return form
179
+      },
180
+      realityPrice(val){
181
+        if(val < (this.form.total - this.form.discount_price - this.form.preferential_price)){
182
+          this.$message.error('实收金额不能小于收费金额')
183
+          return
184
+        }
185
+        this.form.found_price = parseInt(val) - parseInt(this.form.total) + parseInt(this.form.discount_price) + parseInt(this.form.preferential_price)
186
+      },
187
+      changeDiscountPrice(val){
188
+        if(val > this.form.total){
189
+          this.$message.error('折扣金额不能超过费用总额')
190
+          return
191
+        }
192
+        this.form.reality_price = parseInt(this.form.total) - parseInt(val) - parseInt(this.form.preferential_price)
193
+      },
194
+      changePreferentialPrice(val){
195
+        if(val > this.form.total){
196
+          this.$message.error('优惠金额不能超过费用总额')
197
+          return
198
+        }
199
+        this.form.reality_price = parseInt(this.form.total) - parseInt(val) - parseInt(this.form.discount_price)
170
       }
200
       }
171
     },mounted() {
201
     },mounted() {
172
       var nowDate = new Date()
202
       var nowDate = new Date()
189
   }
219
   }
190
 </script>
220
 </script>
191
 
221
 
192
-<style scoped>
193
-
222
+<style lang="scss" scoped>
223
+.chargeDialog{
224
+  .el-form{
225
+    display: flex;
226
+    flex-wrap: wrap;
227
+  }
228
+  .el-form-item{
229
+    width:50%;
230
+  }
231
+}
194
 </style>
232
 </style>

+ 3 - 8
src/xt_pages/outpatientCharges/components/prescriptionTable.vue ファイルの表示

61
         <template slot-scope="scope">{{ scope.row.project_name }}</template>
61
         <template slot-scope="scope">{{ scope.row.project_name }}</template>
62
       </el-table-column>
62
       </el-table-column>
63
       <el-table-column align="center" prop="statistical_classification" width="100" label="组">
63
       <el-table-column align="center" prop="statistical_classification" width="100" label="组">
64
-        <template slot-scope="scope">
65
-          {{getGroup(scope.row.statistical_classification)}}
66
-        </template>
64
+        <template slot-scope="scope">{{getGroup(scope.row.statistical_classification)}}</template>
67
       </el-table-column>
65
       </el-table-column>
68
       <el-table-column align="center" prop="single_dose" width="80" label="单次用量">
66
       <el-table-column align="center" prop="single_dose" width="80" label="单次用量">
69
-        <template slot-scope="scope">
70
-          <!--<el-input v-model="scope.row.single_dose" placeholder="" readonly></el-input>-->
71
-          {{scope.row.single_dose}}
72
-        </template>
67
+        <template slot-scope="scope">{{scope.row.single_dose}}</template>
73
       </el-table-column>
68
       </el-table-column>
74
       <el-table-column align="center" prop="delivery_way" width="80" label="用法">
69
       <el-table-column align="center" prop="delivery_way" width="80" label="用法">
75
         <template slot-scope="scope">
70
         <template slot-scope="scope">
121
 
116
 
122
     <div class="additionalBox">
117
     <div class="additionalBox">
123
       <div class="additionalOne" v-for="(item,index) in prescription.addition" :key="index">
118
       <div class="additionalOne" v-for="(item,index) in prescription.addition" :key="index">
124
-        <span>{{item.item_name}}</span>
119
+        <span :title="item.item_name">{{item.item_name}}</span>
125
         <el-input v-model="item.price" placeholder="" style="width:50px;" readonly></el-input>
120
         <el-input v-model="item.price" placeholder="" style="width:50px;" readonly></el-input>
126
121
127
         <el-input v-model="item.count" placeholder="" style="width:50px;" readonly></el-input>
122
         <el-input v-model="item.count" placeholder="" style="width:50px;" readonly></el-input>

+ 20 - 12
src/xt_pages/outpatientCharges/components/registerDialog.vue ファイルの表示

1
 <template>
1
 <template>
2
-  <el-dialog width="854px" :title="titles" :visible.sync="visibility" :close-on-click-modal="isClose"
2
+  <el-dialog width="854px" class="registerDialog" :title="titles" :visible.sync="visibility" :close-on-click-modal="isClose"
3
              :close-on-press-escape="isClose">
3
              :close-on-press-escape="isClose">
4
 
4
 
5
     <el-form :model="form"  :rules="rules"  ref="formValue"  label-width="100px">
5
     <el-form :model="form"  :rules="rules"  ref="formValue"  label-width="100px">
6
       <el-form-item label="患者姓名:"  prop="name" :validate-event="is_Name">
6
       <el-form-item label="患者姓名:"  prop="name" :validate-event="is_Name">
7
-         <el-input  v-model="form.name"></el-input>
7
+         <el-input  v-model="form.name" :disabled="true"></el-input>
8
       </el-form-item>
8
       </el-form-item>
9
 
9
 
10
       <el-form-item label="性别:" prop="gender" :validate-event="is_Name">
10
       <el-form-item label="性别:" prop="gender" :validate-event="is_Name">
11
-        <el-select v-model="form.gender" placeholder="请选择">
11
+        <el-select v-model="form.gender" placeholder="请选择" style="width:100%;">
12
           <el-option
12
           <el-option
13
             v-for="item in sex"
13
             v-for="item in sex"
14
             :key="item.value"
14
             :key="item.value"
24
 
24
 
25
 
25
 
26
       <el-form-item label="出生日期:" prop="birthday" :validate-event="is_Name">
26
       <el-form-item label="出生日期:" prop="birthday" :validate-event="is_Name">
27
-        <el-date-picker v-model="form.birthday" type="date" @change="getBirthday" placeholder="选择日期"></el-date-picker>
27
+        <el-date-picker v-model="form.birthday" type="date" @change="getBirthday" placeholder="选择日期" style="width:100%;"></el-date-picker>
28
       </el-form-item>
28
       </el-form-item>
29
 
29
 
30
       <el-form-item label="手机号码:" prop="phone">
30
       <el-form-item label="手机号码:" prop="phone">
33
 
33
 
34
 
34
 
35
       <el-form-item label="医疗类别:">
35
       <el-form-item label="医疗类别:">
36
-        <el-select v-model="form.medical_care" placeholder="请选择">
36
+        <el-select v-model="form.medical_care" placeholder="请选择" style="width:100%;">
37
           <el-option
37
           <el-option
38
             v-for="(item,index) in getDictionaryDataConfig('system','social_type')"
38
             v-for="(item,index) in getDictionaryDataConfig('system','social_type')"
39
             :key="index"
39
             :key="index"
45
 
45
 
46
 
46
 
47
       <el-form-item label="证件类型:">
47
       <el-form-item label="证件类型:">
48
-        <el-select v-model="form.certificates" placeholder="请选择">
48
+        <el-select v-model="form.certificates" placeholder="请选择"  style="width:100%;">
49
           <el-option
49
           <el-option
50
             v-for="item in certificates"
50
             v-for="item in certificates"
51
             :key="item.value"
51
             :key="item.value"
61
 
61
 
62
 
62
 
63
       <el-form-item label="结算类型:">
63
       <el-form-item label="结算类型:">
64
-        <el-select v-model="form.settlement_value" placeholder="请选择">
64
+        <el-select v-model="form.settlement_value" placeholder="请选择" style="width:100%;">
65
           <el-option
65
           <el-option
66
             v-for="item in settlement"
66
             v-for="item in settlement"
67
             :key="item.value"
67
             :key="item.value"
73
 
73
 
74
 
74
 
75
       <el-form-item label="社保类型:">
75
       <el-form-item label="社保类型:">
76
-        <el-select v-model="form.social_type" placeholder="请选择">
76
+        <el-select v-model="form.social_type" placeholder="请选择" style="width:100%;">
77
           <el-option
77
           <el-option
78
             v-for="item in medicalCare"
78
             v-for="item in medicalCare"
79
             :key="item.value"
79
             :key="item.value"
89
       </el-form-item>
89
       </el-form-item>
90
 
90
 
91
       <el-form-item label="挂号类型:"  prop="register_type"  :validate-event="is_Name">
91
       <el-form-item label="挂号类型:"  prop="register_type"  :validate-event="is_Name">
92
-        <el-select v-model="form.register_type"  placeholder="请选择">
92
+        <el-select v-model="form.register_type"  placeholder="请选择" style="width:100%;">
93
           <el-option
93
           <el-option
94
             v-for="item in register"
94
             v-for="item in register"
95
             :key="item.value"
95
             :key="item.value"
108
 
108
 
109
     <span slot="footer" class="dialog-footer">
109
     <span slot="footer" class="dialog-footer">
110
     <el-button  @click="cancel('formValue')">取 消</el-button>
110
     <el-button  @click="cancel('formValue')">取 消</el-button>
111
-    <el-button  type="primary" @click="confirm('formValue')">保 存</el-button>
111
+    <el-button  type="primary" @click="confirm('formValue')">挂 号</el-button>
112
   </span>
112
   </span>
113
   </el-dialog>
113
   </el-dialog>
114
 
114
 
317
   }
317
   }
318
 </script>
318
 </script>
319
 
319
 
320
-<style scoped>
321
-
320
+<style lang="scss" scoped>
321
+.registerDialog{
322
+  .el-form{
323
+    display: flex;
324
+    flex-wrap: wrap;
325
+  }
326
+  .el-form-item{
327
+    width:50%;
328
+  }
329
+}
322
 </style>
330
 </style>

+ 17 - 13
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue ファイルの表示

5
     </div>
5
     </div>
6
     <div class="app-container" style="display:flex;flex: 1;padding: 10px 20px 0px 20px;">
6
     <div class="app-container" style="display:flex;flex: 1;padding: 10px 20px 0px 20px;">
7
       <div class="mainLeft">
7
       <div class="mainLeft">
8
-        <div class="mainCell" style="justify-content: space-between;">
9
-          <p>未收费:<span style="color: red">{{cal_one}}</span>人</p>
10
-          <p>已收费:<span style="color: red">{{cal_two}}</span>人</p>
11
-          <p>已退费:<span style="color: red">{{cal_three}}</span>人</p>
12
-        </div>
8
+         <!-- <div class="mainCell" style="justify-content: space-between;font-size:14px;">
9
+          <p >未收费:<span style="color: red">{{cal_one}}</span>人</p>
10
+          <p>已收费:<span  style="color: red">{{cal_two}}</span>人</p>
11
+          <p>已退费:<span  style="color: red">{{cal_three}}</span>人</p>
12
+        </div> -->
13
         <div class="mainCell">
13
         <div class="mainCell">
14
           <el-radio-group v-model="radio" @change="changeRadio">
14
           <el-radio-group v-model="radio" @change="changeRadio">
15
-            <el-radio :label=1>未收费</el-radio>
15
+            <!-- <el-radio :label=1>未收费</el-radio>
16
             <el-radio :label=2>已收费</el-radio>
16
             <el-radio :label=2>已收费</el-radio>
17
             <el-radio :label=3>已退费</el-radio>
17
             <el-radio :label=3>已退费</el-radio>
18
+            <el-radio :label=4>全部</el-radio> -->
19
+            <el-radio :label=1>未收费<span style="color: red;margin-bottom:10px;display: inline-block;">{{cal_one}}</span>人</el-radio>
20
+            <el-radio :label=2>已收费<span style="color: red;margin-bottom:10px;display: inline-block;">{{cal_two}}</span>人</el-radio>
21
+            <el-radio :label=3>已退费<span style="color: red;margin-bottom:10px;display: inline-block;">{{cal_three}}</span>人</el-radio>
18
             <el-radio :label=4>全部</el-radio>
22
             <el-radio :label=4>全部</el-radio>
19
-            <!--<el-radio :label=1>未收费<span style="color: red;margin-bottom:10px;display: inline-block;">{{cal_one}}</span>人</el-radio>-->
20
-            <!--<el-radio :label=2>已收费<span style="color: red;margin-bottom:10px;display: inline-block;">{{cal_two}}</span>人</el-radio>-->
21
-            <!--<el-radio :label=3>已退费<span style="color: red;margin-bottom:10px;display: inline-block;">{{cal_three}}</span>人</el-radio>-->
22
-            <!--<el-radio :label=4>全部</el-radio>-->
23
 
23
 
24
           </el-radio-group>
24
           </el-radio-group>
25
         </div>
25
         </div>
55
                      v-if="this.hisPatientInfo && this.hisPatientInfo.id == 0"
55
                      v-if="this.hisPatientInfo && this.hisPatientInfo.id == 0"
56
                      type="primary">挂号
56
                      type="primary">挂号
57
           </el-button>
57
           </el-button>
58
-          <el-button v-loading="loadingtwo" v-if="this.info.prescription_status == 1" size="small"
58
+          <el-button v-loading="loadingtwo" size="small"
59
                      @click="open(4)"
59
                      @click="open(4)"
60
                      type="primary">收费
60
                      type="primary">收费
61
           </el-button>
61
           </el-button>
214
                        :addtions_charge="addtions_charge"></additionalCharges>
214
                        :addtions_charge="addtions_charge"></additionalCharges>
215
 
215
 
216
     <register-dialog ref='register' v-on:confirm="confirm" v-on:cancel="cancel"></register-dialog>
216
     <register-dialog ref='register' v-on:confirm="confirm" v-on:cancel="cancel"></register-dialog>
217
-  <charge-dialog ref='charge' v-on:confirm="chargeConfirm" v-on:cancel="chargeCancel"></charge-dialog>
217
+    <charge-dialog ref='charge' v-on:confirm="chargeConfirm" v-on:cancel="chargeCancel"></charge-dialog>
218
     <el-dialog
218
     <el-dialog
219
       class="centerDialog"
219
       class="centerDialog"
220
       width="900px"
220
       width="900px"
327
           if (response.data.state == 0) {
327
           if (response.data.state == 0) {
328
             this.$message.error(response.data.msg)
328
             this.$message.error(response.data.msg)
329
             this.loadingtwo = false
329
             this.loadingtwo = false
330
+            this.$refs.charge.hide()
330
             return false
331
             return false
331
           } else {
332
           } else {
332
             this.state = '已收费'
333
             this.state = '已收费'
333
             this.$message({message: '收费成功', type: 'success'})
334
             this.$message({message: '收费成功', type: 'success'})
335
+            this.$refs.charge.hide()
334
             this.loadingtwo = false
336
             this.loadingtwo = false
335
             this.cal_one = this.cal_one - 1
337
             this.cal_one = this.cal_one - 1
336
             this.cal_two = this.cal_two + 1
338
             this.cal_two = this.cal_two + 1
352
             this.$refs.register.hide()
354
             this.$refs.register.hide()
353
             return false
355
             return false
354
           } else {
356
           } else {
357
+            this.getPatientList()
355
             this.$message({message: '挂号成功', type: 'success'})
358
             this.$message({message: '挂号成功', type: 'success'})
356
             this.$refs.register.hide()
359
             this.$refs.register.hide()
357
             this.loadingone = false
360
             this.loadingone = false
362
 
365
 
363
 
366
 
364
       }, cancel() {
367
       }, cancel() {
368
+        
365
         this.$refs.register.hide()
369
         this.$refs.register.hide()
366
 
370
 
367
 
371
 
930
     height: 100%;
934
     height: 100%;
931
     display: flex;
935
     display: flex;
932
     flex-direction: column;
936
     flex-direction: column;
933
-    margin-top: 20px;
937
+    padding-top: 20px;
934
 
938
 
935
   .el-radio {
939
   .el-radio {
936
     margin-right: 5px;
940
     margin-right: 5px;

+ 26 - 3
src/xt_pages/outpatientCharges/summaryDetail.vue ファイルの表示

66
 
66
 
67
                       <div class="additionalBox">
67
                       <div class="additionalBox">
68
                         <div class="additionalOne" v-for="(item,index) in additions" :key="index">
68
                         <div class="additionalOne" v-for="(item,index) in additions" :key="index">
69
-                          <span>{{item.item_name}}</span>
69
+                          <span :title="item.item_name">{{item.item_name}}</span>
70
                           <el-input v-model="item.price" placeholder="" style="width:50px;" readonly></el-input>
70
                           <el-input v-model="item.price" placeholder="" style="width:50px;" readonly></el-input>
71
71
72
                           <el-input v-model="item.count" placeholder="" style="width:50px;" readonly></el-input>
72
                           <el-input v-model="item.count" placeholder="" style="width:50px;" readonly></el-input>
95
                         <li style="width:50%;">体重:{{patientInfo.weight?patientInfo.weight:''}}</li>
95
                         <li style="width:50%;">体重:{{patientInfo.weight?patientInfo.weight:''}}</li>
96
                         <li style="width:50%;">电话:{{patientInfo.phone}}</li>
96
                         <li style="width:50%;">电话:{{patientInfo.phone}}</li>
97
                     </ul>
97
                     </ul>
98
-                    <p class="centerRightTitle">收费信息</p>
98
+                    <p class="centerRightTitle" style="margin-top:10px;">收费信息</p>
99
                     <ul class="basicUl">
99
                     <ul class="basicUl">
100
                         <li style="width:50%;">应收金额:{{order.medfee_sumamt }}元</li>
100
                         <li style="width:50%;">应收金额:{{order.medfee_sumamt }}元</li>
101
                         <li style="width:50%;">实收金额:{{order.reality_price}}元</li>
101
                         <li style="width:50%;">实收金额:{{order.reality_price}}元</li>
360
     }
360
     }
361
     .centerRightTitle{
361
     .centerRightTitle{
362
         color:#409EFF;
362
         color:#409EFF;
363
-        padding: 10px 0;
363
+        padding:0 0 10px 0;
364
     }
364
     }
365
     .basicUl{
365
     .basicUl{
366
         border-top: 1px solid #e5e5e5;
366
         border-top: 1px solid #e5e5e5;
377
             font-size: 14px;
377
             font-size: 14px;
378
         }
378
         }
379
     }
379
     }
380
+    .additionalBox{
381
+      margin-top: 20px;
382
+      display: flex;
383
+      flex-wrap: wrap;
384
+      .additionalOne{
385
+        margin-right:20px;
386
+        margin-bottom:10px;
387
+        display: flex;
388
+        align-items: center;
389
+        >span{
390
+          white-space: nowrap;
391
+          overflow: hidden;
392
+          text-overflow: ellipsis;
393
+          width:80px;
394
+          display: inline-block;
395
+          font-size: 14px;
396
+        }
397
+      }
398
+      .deleteIcon{
399
+        color:red;
400
+        margin-left:5px;
401
+      }
402
+    }
380
 }
403
 }
381
 </style>
404
 </style>
382
 
405
 

+ 1 - 1
src/xt_pages/outpatientCharges/treatPrint.vue ファイルの表示

82
       this.print_time = uParseTime(ptime, "{y}-{m}-{d} {h}:{i}");
82
       this.print_time = uParseTime(ptime, "{y}-{m}-{d} {h}:{i}");
83
 
83
 
84
       const style =
84
       const style =
85
-        '@media print {.printTitle{font-size: 22px;text-align: center;font-weight: bold;}.infoMain{display: flex;flex-wrap: wrap;padding:0 10px;margin-top:10px;}.infoMain .infoP{width: 33%;line-height: 1px;}.chargeBox{border: 1px solid #000;}.chargeUl{display:flex;justify-content: space-between;text-align: center;}.chargeUl p{line-height: 1px;}.chargeP{line-height: 1px;padding-bottom:16px;}.moneyBox{display: flex;justify-content: space-between;padding: 0 10px;background: #eeeeee;-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;-ms-print-color-adjust:exact;print-color-adjust:exact;height: 40px;align-items: center;border:1px solid #000; border-top:none}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}}';
85
+        '@media print {.printTitle{font-size: 22px;text-align: center;font-weight: bold;}.infoMain{display: flex;flex-wrap: wrap;padding:0 10px;margin-top:10px;}.infoMain .infoP{width: 33%;}.chargeBox{border: 1px solid #000;}.chargeUl{display:flex;justify-content: space-between;text-align: center;}.chargeUl p{line-height: 1px;}.chargeP{line-height: 1px;padding-bottom:16px;}.moneyBox{display: flex;justify-content: space-between;padding: 0 10px;background: #eeeeee;-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;-ms-print-color-adjust:exact;print-color-adjust:exact;height: 40px;align-items: center;border:1px solid #000; border-top:none}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar div{width:150px;}}';
86
         printJS({
86
         printJS({
87
             printable: "prescription-print",
87
             printable: "prescription-print",
88
             type: "html",
88
             type: "html",

+ 13 - 13
src/xt_pages/outpatientCharges/treatTemplate/printOne.vue ファイルの表示

2
     <div id='prescription-print' class="prescription-print">
2
     <div id='prescription-print' class="prescription-print">
3
         <div class="printTitle">{{orgname}}&nbsp;&nbsp; 血液透析中心医药费收据及收费项目清单</div>
3
         <div class="printTitle">{{orgname}}&nbsp;&nbsp; 血液透析中心医药费收据及收费项目清单</div>
4
         <div class="infoMain">
4
         <div class="infoMain">
5
-            <p class="infoP">医院(药店)编号:</p>
6
-            <p class="infoP">名称:血液透析中心</p>
7
-            <p class="infoP">医生工号:</p>
8
-            <p class="infoP">门诊流水号:</p>
9
-            <p class="infoP">科别:{{list.p_info.departments?list.p_info.departments:""}}</p>
10
-            <p class="infoP">处方单据号:</p>
11
-            <p class="infoP">姓名:{{patient.name}}</p>
12
-            <p class="infoP">医疗账号:</p>
13
-            <p class="infoP">医疗类别:普通</p>
5
+            <div class="infoP">医院(药店)编号:</div>
6
+            <div class="infoP">名称:血液透析中心</div>
7
+            <div class="infoP">医生工号:</div>
8
+            <div class="infoP">门诊流水号:</div>
9
+            <div class="infoP">科别:{{list.p_info.departments?list.p_info.departments:""}}</div>
10
+            <div class="infoP">处方单据号:</div>
11
+            <div class="infoP">姓名:{{patient.name}}</div>
12
+            <div class="infoP">医疗账号:</div>
13
+            <div class="infoP">医疗类别:普通</div>
14
         </div>
14
         </div>
15
         <div class="chargeBox">
15
         <div class="chargeBox">
16
             <div style="display:flex;justify-content: space-between;border-bottom:1px solid #000;">
16
             <div style="display:flex;justify-content: space-between;border-bottom:1px solid #000;">
49
                         <p style="width:50%;">{{list.order_info.psn_cash_pay}}</p>
49
                         <p style="width:50%;">{{list.order_info.psn_cash_pay}}</p>
50
                     </div>
50
                     </div>
51
                 </div>
51
                 </div>
52
-                <div style="width:80%;display:flex;height:600px;">
52
+                <div style="width:80%;display:flex;height:300px;">
53
                   
53
                   
54
                     <div style="border-left:1px solid #000;border-right:1px solid #000;width:40%;text-align:center;">
54
                     <div style="border-left:1px solid #000;border-right:1px solid #000;width:40%;text-align:center;">
55
                         <p v-for="(item,i) in prescription[0].advices" :key="i" class="chargeP">{{item.advice_name}}</p>
55
                         <p v-for="(item,i) in prescription[0].advices" :key="i" class="chargeP">{{item.advice_name}}</p>
78
             <p>找赎金:</p>
78
             <p>找赎金:</p>
79
         </div>
79
         </div>
80
         <div class="actionBar">
80
         <div class="actionBar">
81
-            <p>收费员:</p>
82
-            <p>日期:{{this.$route.query.record_date}}</p>
81
+            <div>收费员:</div>
82
+            <div>日期:{{this.$route.query.record_date}}</div>
83
         </div>
83
         </div>
84
     </div>
84
     </div>
85
 </template>
85
 </template>
206
     line-height: 24px;
206
     line-height: 24px;
207
     padding:0 10px;
207
     padding:0 10px;
208
 }
208
 }
209
-.actionBar p{
209
+.actionBar div{
210
     width:150px;
210
     width:150px;
211
 }
211
 }
212
 </style>
212
 </style>

+ 2 - 4
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue ファイルの表示

68
               placeholder="请输入内容"
68
               placeholder="请输入内容"
69
             ></el-autocomplete>
69
             ></el-autocomplete>
70
           </el-form-item>
70
           </el-form-item>
71
-          <el-form-item label="过敏病史: " prop="name" style="visibility: hidden;">
72
-            <el-input placeholder="" readonly></el-input>
73
-          </el-form-item>
74
         </el-form>
71
         </el-form>
75
         <div class="tabsBox">
72
         <div class="tabsBox">
76
 
73
 
1492
 
1489
 
1493
   .tabsBox {
1490
   .tabsBox {
1494
     position: relative;
1491
     position: relative;
1495
-    height: 76%;
1492
+    // height: 76%;
1493
+    flex: 1;
1496
     overflow-y: auto;
1494
     overflow-y: auto;
1497
     margin-bottom: 60px;
1495
     margin-bottom: 60px;
1498
     margin-top: 4px;
1496
     margin-top: 4px;

+ 47 - 30
src/xt_pages/outpatientDoctorStation/components/deskRecord.vue ファイルの表示

50
       <el-form-item label="家庭住址: " prop="name">
50
       <el-form-item label="家庭住址: " prop="name">
51
         <el-input v-model="patientInfo.home_address" placeholder="" :disabled="true"></el-input>
51
         <el-input v-model="patientInfo.home_address" placeholder="" :disabled="true"></el-input>
52
       </el-form-item>
52
       </el-form-item>
53
-      <el-form-item label="疾病类型: " prop="name">
54
-        <el-select v-model="delivery_way" style="width:100%;" placeholder="请选择">
55
-         <el-option
56
-            v-for="item in wayOptions"
57
-           :key="item.id"
58
-           :label="item.name"
59
-           :value="item.id"
60
-          />
61
-        </el-select>
62
-      </el-form-item>
63
-      <el-form-item label="诊断: " prop="name">
64
-        <el-input v-model="patientInfo.health_care_no" placeholder=""></el-input>
65
-      </el-form-item>
66
       <el-form-item label="过敏史: " prop="name">
53
       <el-form-item label="过敏史: " prop="name">
67
         <el-input v-model="patientInfo.home_address" placeholder=""></el-input>
54
         <el-input v-model="patientInfo.home_address" placeholder=""></el-input>
68
       </el-form-item>
55
       </el-form-item>
90
     </el-form>
77
     </el-form>
91
     <div class="mainTitle">病历信息:</div>
78
     <div class="mainTitle">病历信息:</div>
92
     <el-form class="recordForm" :model="case_history" ref="form" label-width="80px">
79
     <el-form class="recordForm" :model="case_history" ref="form" label-width="80px">
93
-     
80
+     <el-form-item label="疾病类型: " prop="name" style="width:49%;">
81
+        <el-select v-model="case_history.sick" style="width:100%;" placeholder="请选择">
82
+          <el-option
83
+            v-for="(item,index) in sick"
84
+            :key="index"
85
+            :label="item.class_name"
86
+            :value="item.id">
87
+          </el-option>
88
+        </el-select>
89
+      </el-form-item>
90
+      <el-form-item label="诊断: " prop="name" style="width:49%;">
91
+        <el-select style="width:100%;" v-model="case_history.diagnose" placeholder="">
92
+          <el-option
93
+            v-for="(item,index) in diagnoses"
94
+            :key="index"
95
+            :label="item.class_name"
96
+            :value="item.id">
97
+          </el-option>
98
+        </el-select>
99
+      </el-form-item>
94
 
100
 
95
-      <el-form-item label="发病日期: " prop="name">
101
+      <el-form-item label="发病日期: " prop="name" style="width:49%;">
96
         <el-date-picker
102
         <el-date-picker
97
           style="width:100%;"
103
           style="width:100%;"
98
           v-model="start_time"
104
           v-model="start_time"
99
           type="date"
105
           type="date"
100
-          placeholder="选择日期">
106
+          placeholder="选择日期"
107
+           :picker-options="pickerOptions0">
101
         </el-date-picker>
108
         </el-date-picker>
102
       </el-form-item>
109
       </el-form-item>
103
-      <el-form-item label="" prop="name">
110
+      <el-form-item label="" prop="name" style="width:49%;">
104
         <el-checkbox v-model="case_history.is_infect">是否传染</el-checkbox>
111
         <el-checkbox v-model="case_history.is_infect">是否传染</el-checkbox>
105
       </el-form-item>
112
       </el-form-item>
106
-      <el-form-item label="" prop="name" style="visibility: hidden;">
107
-        <div></div>
108
-      </el-form-item>
109
       <el-form-item label="主诉:" style="width:49%;">
113
       <el-form-item label="主诉:" style="width:49%;">
110
         <el-select @change="changeMainTemplate" v-model="value" style="width:100%;margin-bottom:10px;">
114
         <el-select @change="changeMainTemplate" v-model="value" style="width:100%;margin-bottom:10px;">
111
             <el-option
115
             <el-option
238
   import medicalRecord from './medicalRecord'
242
   import medicalRecord from './medicalRecord'
239
   import saveRecordTemplate from './saveRecordTemplate'
243
   import saveRecordTemplate from './saveRecordTemplate'
240
   import { getDictionaryDataConfig } from "@/utils/data";
244
   import { getDictionaryDataConfig } from "@/utils/data";
241
-  import {  createCaseHistory } from '@/api/his/his'
245
+  import {  createCaseHistory,getInitData } from '@/api/his/his'
242
   import { getDataConfig } from "@/utils/data";
246
   import { getDataConfig } from "@/utils/data";
243
   import { getTemplateDetail,getMedicalTemplateList } from "@/api/project/project"
247
   import { getTemplateDetail,getMedicalTemplateList } from "@/api/project/project"
244
   export default {
248
   export default {
270
         //   family_history:"",
274
         //   family_history:"",
271
 
275
 
272
         // },
276
         // },
277
+          pickerOptions0: {
278
+          disabledDate(time) {
279
+            return time.getTime() < Date.now() - 8.64e7;
280
+          }
281
+        },
273
         formValue:{
282
         formValue:{
274
           temperature:"",
283
           temperature:"",
275
           blood_sugar:"",
284
           blood_sugar:"",
303
         valueSix:'',
312
         valueSix:'',
304
         valueSeven:'',
313
         valueSeven:'',
305
         diagnoses:[],
314
         diagnoses:[],
306
-        state1:"",
307
-        diagnose:""
315
+        sick:[],
308
       }
316
       }
309
     },
317
     },
310
     methods: {
318
     methods: {
376
 
384
 
377
 
385
 
378
       getTemplateDetail(id){
386
       getTemplateDetail(id){
379
-          console.log("22222")
387
+         
380
           getTemplateDetail(id).then(response=>{
388
           getTemplateDetail(id).then(response=>{
381
               if(response.data.state == 1){
389
               if(response.data.state == 1){
382
                 var templatedetail =  response.data.data.templateDetail
390
                 var templatedetail =  response.data.data.templateDetail
390
                 this.case_history.diagnostic = templatedetail.diagnostic
398
                 this.case_history.diagnostic = templatedetail.diagnostic
391
                 this.case_history.doctor_advice = templatedetail.doctor_advice
399
                 this.case_history.doctor_advice = templatedetail.doctor_advice
392
                 this.case_history.remark = templatedetail.remark
400
                 this.case_history.remark = templatedetail.remark
393
-                this.sick = templatedetail.sick
394
-                this.diagnose = templatedetail.diagnose
401
+                this.case_history.sick = templatedetail.sick
402
+                this.case_history.diagnose = templatedetail.diagnose
395
               }
403
               }
396
           })
404
           })
397
         },
405
         },
513
           } else {
521
           } else {
514
             this.sick = response.data.data.sick
522
             this.sick = response.data.data.sick
515
             this.diagnoses = response.data.data.diagnose
523
             this.diagnoses = response.data.data.diagnose
524
+          
516
           }
525
           }
517
         })
526
         })
518
 
527
 
520
     },
529
     },
521
     created(){
530
     created(){
522
        this.getlist()
531
        this.getlist()
532
+       this.getInitData()
523
        this.wayOptions = getDataConfig("patient", "reimbursement_ways");
533
        this.wayOptions = getDataConfig("patient", "reimbursement_ways");
524
        console.log("232322323",this)
534
        console.log("232322323",this)
525
        if(this.patientInfo.gender = 1){
535
        if(this.patientInfo.gender = 1){
527
        }else if(this.patientInfo.gender = 2){
537
        }else if(this.patientInfo.gender = 2){
528
           this.patientInfo.gender = '女'
538
           this.patientInfo.gender = '女'
529
         }
539
         }
530
-     this.getInitData()
540
+    
531
     },
541
     },
532
     watch:{
542
     watch:{
533
       detalid:function(val){
543
       detalid:function(val){
546
         deep: true
556
         deep: true
547
       },
557
       },
548
       case_history:function(val){
558
       case_history:function(val){
549
-        console.log("val",val)
550
-        if(val.breathing == 0){
551
-           this.case_history.breathing = ''
559
+        console.log("南京人明",this.case_history)
560
+        if(this.case_history.breathing == 0){
561
+           this.case_history.breathing = ""
562
+        }
563
+        if(this.case_history.sick == 0){
564
+          this.case_history.sick = ""
565
+        }
566
+        if(this.case_history.diagnose == 0){
567
+           this.case_history.diagnose = ""
552
         }
568
         }
569
+        
553
       }
570
       }
554
     }
571
     }
555
   }
572
   }

+ 39 - 11
src/xt_pages/outpatientDoctorStation/components/inquiriesDetail.vue ファイルの表示

1
 <template>
1
 <template>
2
+<div>
2
   <el-dialog
3
   <el-dialog
3
     title="详情"
4
     title="详情"
4
     width="1000px"
5
     width="1000px"
6
     :before-close="_close"
7
     :before-close="_close"
7
     class="detailDialog"
8
     class="detailDialog"
8
   >
9
   >
9
-    <!-- <div style="position: absolute;right:20px;z-index:99">
10
+    <div style="position: absolute;right:20px;z-index:99">
10
       <el-button v-if="activeName == 'first'" @click="open(1)" type="primary">打印</el-button>
11
       <el-button v-if="activeName == 'first'" @click="open(1)" type="primary">打印</el-button>
11
       <el-button v-if="activeName == 'second'" @click="open(2)" type="primary">打印</el-button>
12
       <el-button v-if="activeName == 'second'" @click="open(2)" type="primary">打印</el-button>
12
-    </div> -->
13
+    </div>
13
     <el-tabs v-model="activeName">
14
     <el-tabs v-model="activeName">
14
 
15
 
15
       <el-tab-pane label="处方详情" name="first">
16
       <el-tab-pane label="处方详情" name="first">
33
         <div class="commonCell">
34
         <div class="commonCell">
34
           <p style="color:#409EFF;">基本信息</p>
35
           <p style="color:#409EFF;">基本信息</p>
35
           <div class="detailMain">
36
           <div class="detailMain">
36
-            <span style="width:260px;">处方号:{{order.prescription_number}}</span>
37
+            <span style="width:270px;">处方号:{{order.prescription_number}}</span>
37
             <span style="width:180px;">姓名:{{order.patient.name}}</span>
38
             <span style="width:180px;">姓名:{{order.patient.name}}</span>
38
             <span style="width:240px;">证件号:{{order.patient.id_card_no}}</span>
39
             <span style="width:240px;">证件号:{{order.patient.id_card_no}}</span>
39
             <span style="width:180px;">联系电话:{{order.patient.phone}}</span>
40
             <span style="width:180px;">联系电话:{{order.patient.phone}}</span>
40
-            <span style="width:260px;">医生:{{order.doctor}}</span>
41
+            <span style="width:270px;">医生:{{order.doctor}}</span>
41
             <span style="width:180px;">科室:{{getDepartMent(order.departments)}}</span>
42
             <span style="width:180px;">科室:{{getDepartMent(order.departments)}}</span>
42
             <span style="width:240px;">创建时间: {{getTimes(order.ctime,"{y}-{m}-{d} {h}:{i}")}}</span>
43
             <span style="width:240px;">创建时间: {{getTimes(order.ctime,"{y}-{m}-{d} {h}:{i}")}}</span>
43
             <!-- <span style="width:180px;">疾病名称:{{case_history.diagnostic}}</span>
44
             <!-- <span style="width:180px;">疾病名称:{{case_history.diagnostic}}</span>
102
       <el-button @click="hide">取 消</el-button>
103
       <el-button @click="hide">取 消</el-button>
103
       <!--<el-button type="primary" :loading="submitLoading" @click="hide">确定</el-button>-->
104
       <!--<el-button type="primary" :loading="submitLoading" @click="hide">确定</el-button>-->
104
     </div>
105
     </div>
106
+    <el-dialog
107
+      class="centerDialog detailDialog"
108
+      width="600px"
109
+      title="打印"
110
+      :visible.sync="innerVisible"
111
+      append-to-body>
112
+
113
+      <print v-if="activeName == 'first'" :paramsObj='paramsObj'></print>
114
+      <recordPrint v-if="activeName == 'second'" :patientid="patientid"></recordPrint>
115
+    </el-dialog>
105
   </el-dialog>
116
   </el-dialog>
117
+</div>
106
 </template>
118
 </template>
107
 
119
 
108
 
120
 
112
   import { getHisPrescriptionInfo } from '@/api/his/his'
124
   import { getHisPrescriptionInfo } from '@/api/his/his'
113
   import NewPrescriptionTable from './newPrescriptionTable'
125
   import NewPrescriptionTable from './newPrescriptionTable'
114
   import { uParseTime } from '@/utils/tools'
126
   import { uParseTime } from '@/utils/tools'
115
- import { getAllDoctorList } from "@/api/project/project"
116
-import moment from 'moment';
127
+  import { getAllDoctorList } from "@/api/project/project"
128
+  import moment from 'moment';
129
+  import print from '../print'
130
+  import recordPrint from '../recordPrint'
117
 
131
 
118
   export default {
132
   export default {
119
-    components: { NewPrescriptionTable },
133
+    components: { NewPrescriptionTable,print,recordPrint },
120
     data() {
134
     data() {
121
       return {
135
       return {
122
         visible: false,
136
         visible: false,
147
         case_history:{},
161
         case_history:{},
148
         order:{},
162
         order:{},
149
         doctorList:[],
163
         doctorList:[],
150
-        departmentList:[]
164
+        departmentList:[],
165
+        innerVisible:false,
166
+        paramsObj:{},
167
+        patientid:''
151
       }
168
       }
152
     },
169
     },
153
     methods: {
170
     methods: {
160
            var prescription_id = arr[0]
177
            var prescription_id = arr[0]
161
            var record_date = this.format(this.order.record_date)
178
            var record_date = this.format(this.order.record_date)
162
            var ids = arr.toString()
179
            var ids = arr.toString()
163
-           this.$router.push("/outpatientDoctorStation/print?record="+record_date+"&prescription_id="+prescription_id+"&ids="+ids+"&patient_id="+this.patientInfo.id)
180
+
181
+           let obj = {
182
+             record:record_date,
183
+             prescription_id:prescription_id,
184
+             ids:ids,
185
+             patient_id:this.patientInfo.id
186
+           }
187
+           this.paramsObj = obj
188
+           this.innerVisible = true
189
+          //  this.$router.push("/outpatientDoctorStation/print?record="+record_date+"&prescription_id="+prescription_id+"&ids="+ids+"&patient_id="+this.patientInfo.id)
164
 
190
 
165
         }else if(index == 2){
191
         }else if(index == 2){
166
-           var record_date = this.format(this.case_history.sick_date)
167
-          this.$router.push("/outpatientDoctorStation/recordPrint?record="+record_date+"&patient_id="+this.case_history.patient_id)
192
+          var record_date = this.format(this.case_history.sick_date)
193
+          this.patientid = this.patientInfo.id
194
+          this.innerVisible = true
195
+          // this.$router.push("/outpatientDoctorStation/recordPrint?record="+record_date+"&patient_id="+this.case_history.patient_id)
168
         }
196
         }
169
       },
197
       },
170
       getTimes(time,temp) {
198
       getTimes(time,temp) {

+ 7 - 11
src/xt_pages/outpatientDoctorStation/components/newPrescriptionTable.vue ファイルの表示

61
       <el-table-column align="center" prop="project_name" label="名称">
61
       <el-table-column align="center" prop="project_name" label="名称">
62
         <template slot-scope="scope">{{ scope.row.project_name }}</template>
62
         <template slot-scope="scope">{{ scope.row.project_name }}</template>
63
       </el-table-column>
63
       </el-table-column>
64
-      <el-table-column align="center" prop="statistical_classification" width="50" label="组">
64
+      <el-table-column align="center" prop="statistical_classification" width="100" label="组">
65
         <template slot-scope="scope">
65
         <template slot-scope="scope">
66
-          {{getGroup(scope.row.statistical_classification)}}
66
+          <div>{{getGroup(scope.row.statistical_classification)}}</div>
67
         </template>
67
         </template>
68
       </el-table-column>
68
       </el-table-column>
69
-      <el-table-column align="center" prop="single_dose" width="130" :label="'单次\n用量'">
69
+      <el-table-column align="center" prop="single_dose" width="100" label="单次用量">
70
         <template slot-scope="scope">
70
         <template slot-scope="scope">
71
           <!--<el-input v-model="scope.row.single_dose" placeholder="" readonly></el-input>-->
71
           <!--<el-input v-model="scope.row.single_dose" placeholder="" readonly></el-input>-->
72
           <div> {{scope.row.single_dose}}</div>
72
           <div> {{scope.row.single_dose}}</div>
80
 
80
 
81
         </template>
81
         </template>
82
       </el-table-column>
82
       </el-table-column>
83
-      <el-table-column align="center" prop="execution_frequency" width="130" label="频率">
83
+      <el-table-column align="center" prop="execution_frequency" width="100" label="频率">
84
         <template slot-scope="scope">
84
         <template slot-scope="scope">
85
           <!--<el-input v-model="scope.row.execution_frequency" placeholder="" readonly></el-input>-->
85
           <!--<el-input v-model="scope.row.execution_frequency" placeholder="" readonly></el-input>-->
86
           <div> {{scope.row.execution_frequency}}</div>
86
           <div> {{scope.row.execution_frequency}}</div>
87
 
87
 
88
         </template>
88
         </template>
89
       </el-table-column>
89
       </el-table-column>
90
-      <el-table-column align="center" prop="number_days" width="130" label="天数">
90
+      <el-table-column align="center" prop="number_days" width="100" label="天数">
91
         <template slot-scope="scope">
91
         <template slot-scope="scope">
92
           <!--<el-input v-model="scope.row.number_days" placeholder="" readonly></el-input>-->
92
           <!--<el-input v-model="scope.row.number_days" placeholder="" readonly></el-input>-->
93
           <div> {{scope.row.number_days}}</div>
93
           <div> {{scope.row.number_days}}</div>
94
 
94
 
95
         </template>
95
         </template>
96
       </el-table-column>
96
       </el-table-column>
97
-      <el-table-column align="center" prop="total" width="100" label="总量">
97
+      <el-table-column align="center" prop="total" width="80" label="总量">
98
         <template slot-scope="scope">
98
         <template slot-scope="scope">
99
-          <div style="display:flex;">
100
-            <!--<el-input v-model="scope.row.total" style="width:50" placeholder="" readonly></el-input>-->
101
             <div> {{scope.row.total}}</div>
99
             <div> {{scope.row.total}}</div>
102
-
103
-          </div>
104
         </template>
100
         </template>
105
       </el-table-column>
101
       </el-table-column>
106
-      <el-table-column align="center" prop="name" width="50" label="单价">
102
+      <el-table-column align="center" prop="name" width="70" label="单价">
107
         <template slot-scope="scope">
103
         <template slot-scope="scope">
108
           <!--<el-input v-model="scope.row.price" placeholder="" readonly></el-input>-->
104
           <!--<el-input v-model="scope.row.price" placeholder="" readonly></el-input>-->
109
           <div> {{scope.row.price}}</div>
105
           <div> {{scope.row.price}}</div>

+ 124 - 178
src/xt_pages/outpatientDoctorStation/components/recordTemplateDetail.vue ファイルの表示

1
 <template>
1
 <template>
2
     <el-dialog
2
     <el-dialog
3
-        title="病历模板详情"
4
-        width="1000px"
5
-        :visible.sync="visible"
6
-        :before-close="_close"
7
-        class="recordDialog"
8
-        append-to-body
3
+      title="病历模板详情"
4
+      width="1000px"
5
+      :visible.sync="visible"
6
+      :before-close="_close"
7
+      class="recordDialog"
8
+      append-to-body
9
     >
9
     >
10
         <el-form class="recordForm" :model="form" ref="form" label-width="80px">
10
         <el-form class="recordForm" :model="form" ref="form" label-width="80px">
11
-            <el-form-item label="模板名称: " prop="name" style="width:100%;">
12
-                <el-input v-model="form.template_name" placeholder=""></el-input>
13
-            </el-form-item>
14
-            <el-form-item label="模板说明: " prop="name" style="width:100%;">
15
-                <el-input v-model="form.template_remark" placeholder=""></el-input>
16
-            </el-form-item>
17
-           <el-row :gutter = "20">
18
-        <el-col :span="24">
19
-          <el-form-item label="主诉:">
20
-              <el-select @change="changeMainTemplate" v-model="value" style="width:200px">
21
-                  <el-option
22
-                    v-for="(item, index) in tabledata"
23
-                    :label="item.title"
24
-                    :value="item.content"
25
-                    :key="index"
26
-                  ></el-option>
27
-              </el-select>
11
+          <el-form-item label="模板名称: " prop="name" style="width:100%;">
12
+            <el-input v-model="form.template_name" placeholder=""></el-input>
28
           </el-form-item>
13
           </el-form-item>
29
-      </el-col>
30
-      <el-col :span="24">
31
-        <el-form-item  prop="name" style="width:100%;">
32
-          <el-input
33
-            type="textarea"
34
-            :rows="2"
35
-            placeholder="请输入内容"
36
-            v-model="form.chief_conplaint">
37
-          </el-input>
38
-        </el-form-item>
39
-      </el-col>
40
-      </el-row>
41
-      <el-row :gutter="20">
42
-        <el-col :span="24">
43
-           <el-form-item label="现病史:">
44
-              <el-select @change="changeMainTemplateOne" v-model="valueOne" style="width:200px">
45
-                  <el-option
46
-                    v-for="(item, index) in tabledataOne"
47
-                    :label="item.title"
48
-                    :value="item.content"
49
-                    :key="index"
50
-                  ></el-option>
51
-              </el-select>
14
+          <el-form-item label="模板说明: " prop="name" style="width:100%;">
15
+            <el-input v-model="form.template_remark" placeholder=""></el-input>
16
+          </el-form-item>
17
+          <el-form-item label="主诉:" class="width50">
18
+            <el-select @change="changeMainTemplate" v-model="value" style="width:100%;margin-bottom:10px;">
19
+              <el-option
20
+                v-for="(item, index) in tabledata"
21
+                :label="item.title"
22
+                :value="item.content"
23
+                :key="index"
24
+              ></el-option>
25
+            </el-select>
26
+            <el-input
27
+              type="textarea"
28
+              :rows="2"
29
+              placeholder="请输入内容"
30
+              v-model="form.chief_conplaint">
31
+            </el-input>
52
           </el-form-item>
32
           </el-form-item>
53
-        </el-col>
54
-        <el-col :span="24">
55
-          <el-form-item  prop="name" style="width:100%;">
33
+          <el-form-item label="现病史:" class="width50">
34
+            <el-select @change="changeMainTemplateOne" v-model="valueOne" style="width:100%;margin-bottom:10px;">
35
+              <el-option
36
+                v-for="(item, index) in tabledataOne"
37
+                :label="item.title"
38
+                :value="item.content"
39
+                :key="index"
40
+              ></el-option>
41
+            </el-select>
56
             <el-input
42
             <el-input
57
               type="textarea"
43
               type="textarea"
58
               :rows="2"
44
               :rows="2"
60
               v-model="form.history_of_present_illness">
46
               v-model="form.history_of_present_illness">
61
             </el-input>
47
             </el-input>
62
           </el-form-item>
48
           </el-form-item>
63
-        </el-col>
64
-      </el-row>
65
-      <el-row :gutter="20">
66
-         <el-col :span="24">
67
-           <el-form-item label="既往史:">
68
-            <el-select @change="changeMainTemplateTwo" v-model="valueTwo" style="width:200px">
69
-                  <el-option
70
-                    v-for="(item, index) in tabledataTwo"
71
-                    :label="item.title"
72
-                    :value="item.content"
73
-                    :key="index"
74
-                  ></el-option>
75
-             </el-select>
76
-            </el-form-item>
77
-         </el-col>
78
-         <el-col :span="24">
79
-            <el-form-item  prop="name" style="width:100%;">
80
-              <el-input
81
-                type="textarea"
82
-                :rows="2"
83
-                placeholder="请输入内容"
84
-                v-model="form.past_history">
85
-              </el-input>
86
-           </el-form-item>
87
-         </el-col>
88
-      </el-row>
89
-        <el-row :gutter="24">
90
-        <el-col :span="20">
91
-            <el-form-item label="个人史:">
92
-                <el-select @change="changeMainTemplateThree" v-model="valueThree" style="width:200px">
93
-                    <el-option
94
-                        v-for="(item, index) in tabledataThree"
95
-                        :label="item.title"
96
-                        :value="item.content"
97
-                        :key="index"
98
-                    ></el-option>
99
-                </el-select>
100
-                </el-form-item>
101
-        </el-col>
102
-        <el-col :span="20">
103
-            <el-form-item  prop="name" style="width:100%;">
49
+          <el-form-item label="既往史:" class="width50">
50
+            <el-select @change="changeMainTemplateTwo" v-model="valueTwo" style="width:100%;margin-bottom:10px;">
51
+              <el-option
52
+                v-for="(item, index) in tabledataTwo"
53
+                :label="item.title"
54
+                :value="item.content"
55
+                :key="index"
56
+              ></el-option>
57
+            </el-select>
104
             <el-input
58
             <el-input
105
-                type="textarea"
106
-                :rows="2"
107
-                placeholder="请输入内容"
108
-                v-model="form.personal_history">
59
+              type="textarea"
60
+              :rows="2"
61
+              placeholder="请输入内容"
62
+              v-model="form.past_history">
109
             </el-input>
63
             </el-input>
110
-            </el-form-item>
111
-        </el-col>
112
-        </el-row>
113
-        <el-row :gutter="24">
114
-        <el-col :span="20">
115
-            <el-form-item  label="家族史:">
116
-                <el-select @change="changeMainTemplateFour" v-model="valueFour" style="width:200px">
117
-                    <el-option
118
-                        v-for="(item, index) in tabledataFour"
119
-                        :label="item.title"
120
-                        :value="item.content"
121
-                        :key="index"
122
-                    ></el-option>
123
-                </el-select>
124
-            </el-form-item>
125
-        </el-col>
126
-            <el-col :span="20">
127
-            <el-form-item prop="name" style="width:100%;">
128
-                <el-input
129
-                type="textarea"
130
-                :rows="2"
131
-                placeholder="请输入内容"
132
-                v-model="form.family_history">
133
-                </el-input>
134
-            </el-form-item>
135
-        </el-col>
136
-        </el-row>
137
-        <el-row :gutter="24">
138
-        <el-col :span="20">
139
-            <el-form-item label="诊断信息:">
140
-                <el-select @change="changeMainTemplateFive" v-model="valueFive" style="width:200px">
141
-                    <el-option
142
-                        v-for="(item, index) in tabledataFive"
143
-                        :label="item.title"
144
-                        :value="item.content"
145
-                        :key="index"
146
-                    ></el-option>
147
-                </el-select>
148
-            </el-form-item>
149
-        </el-col>
150
-        <el-col :span="20">
151
-            <el-form-item  prop="name" style="width:100%;">
64
+          </el-form-item>
65
+          <el-form-item label="个人史:" class="width50">
66
+            <el-select @change="changeMainTemplateThree" v-model="valueThree" style="width:100%;margin-bottom:10px;">
67
+              <el-option
68
+                v-for="(item, index) in tabledataThree"
69
+                :label="item.title"
70
+                :value="item.content"
71
+                :key="index"
72
+              ></el-option>
73
+            </el-select>
152
             <el-input
74
             <el-input
153
-                type="textarea"
154
-                :rows="2"
155
-                placeholder="请输入内容"
156
-                v-model="form.diagnostic">
75
+              type="textarea"
76
+              :rows="2"
77
+              placeholder="请输入内容"
78
+              v-model="form.personal_history">
157
             </el-input>
79
             </el-input>
158
-        </el-form-item>
159
-        </el-col>
160
-        </el-row>
161
-
162
-        <el-row :gutter="24">
163
-        <el-col :span="20">
164
-            <el-form-item label="医嘱:">
165
-                <el-select @change="changeMainTemplateSix" v-model="valueSix" style="width:200px">
166
-                    <el-option
167
-                        v-for="(item, index) in tabledataSix"
168
-                        :label="item.title"
169
-                        :value="item.content"
170
-                        :key="index"
171
-                    ></el-option>
172
-                </el-select>
173
-            </el-form-item>
174
-        </el-col>
175
-        <el-col :span="20">
176
-            <el-form-item  prop="doctor_advice" style="width:100%;">
80
+          </el-form-item>
81
+          <el-form-item  label="家族史:" class="width50">
82
+            <el-select @change="changeMainTemplateFour" v-model="valueFour" style="width:100%;margin-bottom:10px;">
83
+              <el-option
84
+                v-for="(item, index) in tabledataFour"
85
+                :label="item.title"
86
+                :value="item.content"
87
+                :key="index"
88
+              ></el-option>
89
+            </el-select>
177
             <el-input
90
             <el-input
178
-                type="textarea"
179
-                :rows="2"
180
-                placeholder="请输入内容"
181
-                v-model="form.doctor_advice">
91
+            type="textarea"
92
+            :rows="2"
93
+            placeholder="请输入内容"
94
+            v-model="form.family_history">
95
+            </el-input>
96
+          </el-form-item>
97
+          <el-form-item label="诊断信息:" class="width50">
98
+            <el-select @change="changeMainTemplateFive" v-model="valueFive" style="width:100%;margin-bottom:10px;">
99
+              <el-option
100
+                v-for="(item, index) in tabledataFive"
101
+                :label="item.title"
102
+                :value="item.content"
103
+                :key="index"
104
+              ></el-option>
105
+            </el-select>
106
+            <el-input
107
+              type="textarea"
108
+              :rows="2"
109
+              placeholder="请输入内容"
110
+              v-model="form.diagnostic">
182
             </el-input>
111
             </el-input>
183
-            </el-form-item>
184
-        </el-col>
185
-        </el-row>
112
+          </el-form-item>
113
+          <el-form-item label="医嘱:" class="width50">
114
+            <el-select @change="changeMainTemplateSix" v-model="valueSix" style="width:100%;margin-bottom:10px;">
115
+              <el-option
116
+                v-for="(item, index) in tabledataSix"
117
+                :label="item.title"
118
+                :value="item.content"
119
+                :key="index"
120
+              ></el-option>
121
+            </el-select>
122
+            <el-input
123
+              type="textarea"
124
+              :rows="2"
125
+              placeholder="请输入内容"
126
+              v-model="form.doctor_advice">
127
+            </el-input>
128
+          </el-form-item>
186
 
129
 
187
-            <el-form-item label ="备注"  prop="name" style="width:100%;">
130
+          <el-form-item label ="备注"  prop="name" class="width50">
188
             <el-input
131
             <el-input
189
-                type="textarea"
190
-                :rows="2"
191
-                placeholder="请输入内容"
192
-                v-model="form.remark">
132
+              type="textarea"
133
+              :rows="2"
134
+              placeholder="请输入内容"
135
+              v-model="form.remark">
193
             </el-input>
136
             </el-input>
194
-            </el-form-item>
137
+          </el-form-item>
195
         </el-form>
138
         </el-form>
196
         <div slot="footer" class="dialog-footer">
139
         <div slot="footer" class="dialog-footer">
197
             <el-button @click="hide">取 消</el-button>
140
             <el-button @click="hide">取 消</el-button>
421
 
364
 
422
 <style lang="scss" scoped>
365
 <style lang="scss" scoped>
423
 .recordForm{
366
 .recordForm{
424
-    display: flex;
425
-    flex-wrap: wrap;
426
-    .el-form-item{
427
-        width:24%;
428
-        margin-right: 1%;
429
-    }
367
+  display: flex;
368
+  flex-wrap: wrap;
369
+  .el-form-item{
370
+    width:24%;
371
+    margin-right: 1%;
372
+  }
373
+  .width50{
374
+    width: 49%;
375
+  }
430
 }
376
 }
431
 </style>
377
 </style>
432
 
378
 

+ 37 - 11
src/xt_pages/outpatientDoctorStation/doctorDesk.vue ファイルの表示

54
               <el-button size="small" ref="button_six"   @click="open(6)">治疗单</el-button>
54
               <el-button size="small" ref="button_six"   @click="open(6)">治疗单</el-button>
55
               <el-button slot="reference" style="margin:0 10px;" type="primary" size="small">打印</el-button>
55
               <el-button slot="reference" style="margin:0 10px;" type="primary" size="small">打印</el-button>
56
             </el-popover>
56
             </el-popover>
57
-            <!--<el-button size="small" ref="button_three" @click="open(4)" type="primary">选择模板</el-button>-->
58
-            <!--<el-button size="small" ref="button_four"  @click="open(5)" type="primary" :disabled='prescriptions && prescriptions[0].advices && prescriptions[0].project ? prescriptions[0].advices.length == 0 && prescriptions[0].project.length == 0 : false'>存模板</el-button>-->
57
+            <!-- <el-button size="small" ref="button_three" @click="open(4)" type="primary">选择模板</el-button>-->
58
+            <!--<el-button size="small" ref="button_four"  @click="open(5)" type="primary" :disabled='prescriptions && prescriptions[0].advices && prescriptions[0].project ? prescriptions[0].advices.length == 0 && prescriptions[0].project.length == 0 : false'>存模板</el-button> -->
59
           </div>
59
           </div>
60
           <div class="mainCell fixedCell" style="float:right" v-if="titleType == '电子病历'">
60
           <div class="mainCell fixedCell" style="float:right" v-if="titleType == '电子病历'">
61
             <el-button size="small" @click="opentwo(1)" type="primary">保存</el-button>
61
             <el-button size="small" @click="opentwo(1)" type="primary">保存</el-button>
305
 
305
 
306
           }
306
           }
307
         })
307
         })
308
-      },getPatientInfo(val){
308
+      },
309
+      getPatientInfo(val){
309
         this.patientid = val.patients.id
310
         this.patientid = val.patients.id
310
         let params = {
311
         let params = {
311
           'record_date': this.record_date,
312
           'record_date': this.record_date,
354
             if (this.case_history.sick_type <= 0) {
355
             if (this.case_history.sick_type <= 0) {
355
               this.case_history.sick_type = ''
356
               this.case_history.sick_type = ''
356
             }
357
             }
358
+
359
+             if (this.case_history.sick <= 0) {
360
+              this.case_history.sick= ''
361
+            }
362
+
363
+            if(this.case_history.diagnose <= 0){
364
+               this.case_history.diagnose = ''
365
+            }
366
+
357
             this.case_history.sick_date = uParseTime(this.case_history.sick_date, '{y}-{m}-{d}')
367
             this.case_history.sick_date = uParseTime(this.case_history.sick_date, '{y}-{m}-{d}')
358
             if (this.case_history.is_infect == 1) {
368
             if (this.case_history.is_infect == 1) {
359
               this.case_history.is_infect = true
369
               this.case_history.is_infect = true
497
                 this.hisPatientInfo = response.data.data.his_info
507
                 this.hisPatientInfo = response.data.data.his_info
498
                 this.case_history = response.data.data.case_history
508
                 this.case_history = response.data.data.case_history
499
                 var case_history = response.data.data.case_history
509
                 var case_history = response.data.data.case_history
500
-                console.log("case_history22222222",case_history)
501
-                if (case_history.breathing  == 0) {
502
-                  case_history.breathing = ""
503
-                }
510
+                console.log("切换患者查询病历",case_history)
511
+               
504
                 this.case_history = case_history
512
                 this.case_history = case_history
505
                 this.info = response.data.data.info
513
                 this.info = response.data.data.info
506
                 this.patientInfo.birth = uParseTime(this.patientInfo.birthday, '{y}-{m}-{d}')
514
                 this.patientInfo.birth = uParseTime(this.patientInfo.birthday, '{y}-{m}-{d}')
515
+                 if (this.case_history.breathing  <= 0) {
516
+                    this.case_history.breathing = ""
517
+                }
518
+                if(this.case_history.sick <= 0){
519
+                  this.case_history.sick = ""
520
+                }
521
+                if(this.case_history.diagnose <= 0){
522
+                   this.case_history.diagnose = ""
523
+                }
507
                 if (this.case_history.temperature <= 0) {
524
                 if (this.case_history.temperature <= 0) {
508
                   this.case_history.temperature = ''
525
                   this.case_history.temperature = ''
509
                 }
526
                 }
638
               this.case_history = response.data.data.case_history
655
               this.case_history = response.data.data.case_history
639
               var case_history = response.data.data.case_history
656
               var case_history = response.data.data.case_history
640
               console.log("case_history22222222",case_history)
657
               console.log("case_history22222222",case_history)
641
-              if (case_history.breathing  == 0) {
642
-                case_history.breathing = ""
643
-              }
658
+             
644
               this.case_history = case_history
659
               this.case_history = case_history
645
               this.info = response.data.data.info
660
               this.info = response.data.data.info
646
               this.patientInfo.birth = uParseTime(this.patientInfo.birthday, '{y}-{m}-{d}')
661
               this.patientInfo.birth = uParseTime(this.patientInfo.birthday, '{y}-{m}-{d}')
662
+              if (this.case_history.breathing  <= 0) {
663
+                  this.case_history.breathing = ""
664
+              }
665
+              if(this.case_history.sick <= 0){
666
+                  this.case_history.sick = ""
667
+              }
668
+              if(this.case_history.diagnose <= 0){
669
+                   this.case_history.diagnose = ""
670
+              }
671
+
647
               if (this.case_history.temperature <= 0) {
672
               if (this.case_history.temperature <= 0) {
648
                 this.case_history.temperature = ''
673
                 this.case_history.temperature = ''
649
               }
674
               }
762
 
787
 
763
       },
788
       },
764
       currentChange(currentRow, oldCurrentRow){
789
       currentChange(currentRow, oldCurrentRow){
790
+       
765
         let isShowDailog = false
791
         let isShowDailog = false
766
         for (let i = 0; i < this.prescriptions.length; i++){
792
         for (let i = 0; i < this.prescriptions.length; i++){
767
           if((this.prescriptions[i].id == 0 && this.prescriptions[i].advices.length > 0) || (this.prescriptions[i].id == 0 && this.prescriptions[i].project.length > 0)){
793
           if((this.prescriptions[i].id == 0 && this.prescriptions[i].advices.length > 0) || (this.prescriptions[i].id == 0 && this.prescriptions[i].project.length > 0)){
859
        // console.log("99999",this.selecting_schs)
885
        // console.log("99999",this.selecting_schs)
860
       },
886
       },
861
       handleClick(){
887
       handleClick(){
862
-
888
+       
863
       },
889
       },
864
       savePrint(){
890
       savePrint(){
865
         var arr = []
891
         var arr = []

+ 0 - 1
src/xt_pages/outpatientDoctorStation/recordPrint.vue ファイルの表示

50
       educationOptions:[],
50
       educationOptions:[],
51
       history:{},
51
       history:{},
52
       keyword:"",
52
       keyword:"",
53
-      patientid:''
54
     };
53
     };
55
   },
54
   },
56
   methods: {
55
   methods: {

+ 2 - 1
src/xt_pages/outpatientDoctorStation/recordTemplate/printOne.vue ファイルの表示

108
         return{
108
         return{
109
             educationOptions:[],
109
             educationOptions:[],
110
             departmentList:[],
110
             departmentList:[],
111
-            orgname:''
111
+            orgname:'',
112
+            history:{}
112
         }                   
113
         }                   
113
     },
114
     },
114
     methods:{
115
     methods:{

+ 25 - 5
src/xt_pages/outpatientDoctorStation/template/printOne.vue ファイルの表示

13
           </div>
13
           </div>
14
           <div class="infoMain">
14
           <div class="infoMain">
15
               <div style="margin-bottom: 10px;">门诊号:{{hisPatient.number?hisPatient.number:""}}</div>
15
               <div style="margin-bottom: 10px;">门诊号:{{hisPatient.number?hisPatient.number:""}}</div>
16
-              <div style="margin-bottom: 10px;">科室:{{getDepart(hisPatient.departments)?getDepart(hisPatient.departments):''}}</div>
16
+              <div style="margin-bottom: 10px;">科室:{{item.info?getDepart(item.info.departments):''}}</div>
17
               <div style="margin-bottom: 10px;">医保卡号:{{item.hisPatient.number?item.hisPatient.number:""}}</div>
17
               <div style="margin-bottom: 10px;">医保卡号:{{item.hisPatient.number?item.hisPatient.number:""}}</div>
18
               <div style="margin-bottom: 10px;">电话:{{item.patient.phone}}</div>
18
               <div style="margin-bottom: 10px;">电话:{{item.patient.phone}}</div>
19
               <div>地址:{{item.patient.home_address}}</div>
19
               <div>地址:{{item.patient.home_address}}</div>
23
               <div class="Rp">Rp:</div>
23
               <div class="Rp">Rp:</div>
24
               <div class="drugsBox" v-for="(it,index) in item.advices" :key="index">
24
               <div class="drugsBox" v-for="(it,index) in item.advices" :key="index">
25
                   <div class="drugsOne">{{it.advice_name?it.advice_name:""}}&nbsp;&nbsp;{{it.single_dose}}{{it.single_dose_unit}}&nbsp;×&nbsp; {{it.prescribing_number}}{{it.prescribing_number_unit}}</div>
25
                   <div class="drugsOne">{{it.advice_name?it.advice_name:""}}&nbsp;&nbsp;{{it.single_dose}}{{it.single_dose_unit}}&nbsp;×&nbsp; {{it.prescribing_number}}{{it.prescribing_number_unit}}</div>
26
-                  <div style="margin-left:100px;"><span>用法:{{it.single_dose}}{{it.single_dose_unit}}</span>&nbsp;&nbsp;<span>{{it.execution_frequency}}</span>&nbsp;&nbsp;<span>{{it.advice_desc}}</span></div>
26
+                  <div style="margin-left:100px;"><span>用法:{{it.single_dose}}{{it.single_dose_unit}}</span>&nbsp;&nbsp;<span>{{it.execution_frequency}}&nbsp;{{it.delivery_way}}&nbsp;{{it.day}}天</span>&nbsp;&nbsp;<span>{{it.advice_desc}}</span></div>
27
               </div>
27
               </div>
28
               <div class="drugsBox" v-for="(it,i) in item.additionalcharge" :key="i">
28
               <div class="drugsBox" v-for="(it,i) in item.additionalcharge" :key="i">
29
                 <div class="drugsOne">{{it.item_name?it.item_name:""}}:&nbsp;{{it.price}}元/{{it.count}}次</div>
29
                 <div class="drugsOne">{{it.item_name?it.item_name:""}}:&nbsp;{{it.price}}元/{{it.count}}次</div>
30
                </div>
30
                </div>
31
+               
32
+              <div class="drugsBox" v-for="(it,index) in item.project" :key="index">
33
+                  <div class="drugsOne">{{getProjectName(it.project_id)?getProjectName(it.project_id):""}}&nbsp;&nbsp;{{it.single_dose}}{{it.single_dose_unit}}&nbsp;×&nbsp; {{it.count}}{{unit}}</div>
34
+                  <div style="margin-left:100px;"><span>用法:{{it.single_dose}}{{it.single_dose_unit}}</span>&nbsp;&nbsp;<span>{{it.delivery_way}}</span>&nbsp;&nbsp;<span>{{it.advice_desc}}</span></div>
35
+              </div>
36
+              <div class="drugsBox" v-for="(it,i) in item.additionalcharge" :key="i">
37
+                <div class="drugsOne">{{it.project_id?it.project_id:""}}:&nbsp;{{it.price}}元/{{it.count}}次</div>
38
+               </div>
31
 
39
 
32
           </div>
40
           </div>
33
           <div class="doctorBox">
41
           <div class="doctorBox">
75
         prescriptionInfo:[],
83
         prescriptionInfo:[],
76
         hisPatient:{},
84
         hisPatient:{},
77
         department:[],
85
         department:[],
78
-        prescriptions:[]
79
-        
86
+        prescriptions:[],
87
+        projectList:[]
80
       }
88
       }
81
     },
89
     },
82
    methods:{
90
    methods:{
126
             var hisPatient = response.data.data.hisPatient
134
             var hisPatient = response.data.data.hisPatient
127
             console.log("hisPatient",hisPatient)
135
             console.log("hisPatient",hisPatient)
128
             this.hisPatient = hisPatient
136
             this.hisPatient = hisPatient
137
+            var projectlist =  response.data.data.projectlist
138
+            console.log("所有项目列表",projectlist)
139
+            this.projectList = projectlist
129
           }
140
           }
130
        })
141
        })
131
      },
142
      },
199
 
210
 
200
         return total + addtotal
211
         return total + addtotal
201
       },
212
       },
202
-
213
+      
214
+     getProjectName(id){
215
+        var project_name = ""
216
+        for(let i=0;i<this.projectList.length;i++){
217
+           if(id == this.projectList[i].id){
218
+               project_name = this.projectList[i].project_name
219
+           }
220
+        }
221
+        return project_name
222
+     },
203
 
223
 
204
    },
224
    },
205
    created(){
225
    created(){

+ 2 - 0
src/xt_pages/outpatientDoctorStation/template/printTwo.vue ファイルの表示

23
                 <div class="drugsOne">{{item.advice_name?item.advice_name:""}}&nbsp;&nbsp;{{item.single_dose}}{{item.single_dose_unit}}&nbsp;×&nbsp; {{item.prescribing_number}}{{item.prescribing_number_unit}}</div>
23
                 <div class="drugsOne">{{item.advice_name?item.advice_name:""}}&nbsp;&nbsp;{{item.single_dose}}{{item.single_dose_unit}}&nbsp;×&nbsp; {{item.prescribing_number}}{{item.prescribing_number_unit}}</div>
24
                 <div style="margin-left:100px;"><span>用法:{{item.single_dose}}{{item.single_dose_unit}}</span>&nbsp;&nbsp;<span>{{item.execution_frequency}}</span>&nbsp;&nbsp;<span>{{item.advice_desc}}</span></div>
24
                 <div style="margin-left:100px;"><span>用法:{{item.single_dose}}{{item.single_dose_unit}}</span>&nbsp;&nbsp;<span>{{item.execution_frequency}}</span>&nbsp;&nbsp;<span>{{item.advice_desc}}</span></div>
25
             </div>
25
             </div>
26
+
27
+            
26
         </div>
28
         </div>
27
         <div class="doctorBox">
29
         <div class="doctorBox">
28
             <p>医师:{{getDoctor(advicePrint[0].advice_doctor)?getDoctor(advicePrint[0].advice_doctor):""}}</p>
30
             <p>医师:{{getDoctor(advicePrint[0].advice_doctor)?getDoctor(advicePrint[0].advice_doctor):""}}</p>

+ 2 - 3
src/xt_pages/outpatientDoctorStation/treatTemplate/printOne.vue ファイルの表示

305
             this.prescriptions = advicePrint
305
             this.prescriptions = advicePrint
306
             var projectlist =  response.data.data.projectlist
306
             var projectlist =  response.data.data.projectlist
307
             console.log("所有项目列表",projectlist)
307
             console.log("所有项目列表",projectlist)
308
-            this.projectList = projectlist
309
-            console.log("hisPatient",hisPatient)
310
-            this.hisPatient = hisPatient
308
+            this.projectList = projectlist       
309
+            this.hisPatient = response.data.data.hisPatient
311
 
310
 
312
           }
311
           }
313
        })
312
        })

+ 10 - 9
src/xt_pages/outpatientRegistration/registrationHistory.vue ファイルの表示

102
                 </el-table-column>
102
                 </el-table-column>
103
                 <el-table-column align="center" prop="name" label="操作" width="180">
103
                 <el-table-column align="center" prop="name" label="操作" width="180">
104
                     <template slot-scope="scope">
104
                     <template slot-scope="scope">
105
-                      <el-button size="mini" type="primary" v-if="scope.row.is_return == 1 && scope.row.record_date < startUnix" :disabled="true">已过号</el-button> 
105
+                      <el-button size="mini" type="primary" v-if="scope.row.record_date < startUnix" :disabled="true">已过号</el-button> 
106
                       <el-button size="mini" type="primary" v-if="scope.row.is_return == 1 && scope.row.record_date >= startUnix" @click ="toReturnPatient(scope.row.id)">退号</el-button> 
106
                       <el-button size="mini" type="primary" v-if="scope.row.is_return == 1 && scope.row.record_date >= startUnix" @click ="toReturnPatient(scope.row.id)">退号</el-button> 
107
-                      <el-button size="mini" type="primary" v-if="scope.row.is_return == 2" :disabled="true">已退号</el-button>
108
-                      <el-button size="mini" type="primary" v-if="scope.row.is_return == 3" >已就诊</el-button>  
107
+                      <el-button size="mini" type="primary" v-if="scope.row.record_date == startUnix && scope.row.is_return == 2" :disabled="true">已退号</el-button>
108
+                      <el-button size="mini" type="primary" v-if="scope.row.record_date == startUnix && scope.row.is_return == 3" :disabled="true">已就诊</el-button>  
109
                       <el-button size="mini" type="primary" @click="open(scope.row)">详情</el-button>
109
                       <el-button size="mini" type="primary" @click="open(scope.row)">详情</el-button>
110
                     </template>
110
                     </template>
111
                 </el-table-column>
111
                 </el-table-column>
250
             ],
250
             ],
251
             start_time:moment().format("YYYY-MM-DD"),
251
             start_time:moment().format("YYYY-MM-DD"),
252
             end_time:moment().format("YYYY-MM-DD"),
252
             end_time:moment().format("YYYY-MM-DD"),
253
-            limit:20,
253
+            limit:10,
254
             page:1,
254
             page:1,
255
             total:0,
255
             total:0,
256
             departMent:[],
256
             departMent:[],
352
             startUnix:'',
352
             startUnix:'',
353
 
353
 
354
             dialogVisible:false,
354
             dialogVisible:false,
355
-            form:{}
355
+            form:{},
356
+            is_Name:false
356
         }
357
         }
357
     },
358
     },
358
     created(){
359
     created(){
410
         },
411
         },
411
        handleSizeChange(val) {
412
        handleSizeChange(val) {
412
           this.limit = val
413
           this.limit = val
413
-          this.getList()
414
+          this.getlist()
414
        },
415
        },
415
         handleCurrentChange(val) {
416
         handleCurrentChange(val) {
416
         this.page = val
417
         this.page = val
417
-        this.getList()
418
+        this.getlist()
418
         },
419
         },
419
         getlist(){
420
         getlist(){
420
           var params = {
421
           var params = {
561
         let arr = this.medicalCare
562
         let arr = this.medicalCare
562
         let str = ''
563
         let str = ''
563
         arr.map(item => {
564
         arr.map(item => {
564
-          if(item.value == type)
565
-          str = item.label
565
+          if(item.id == type)
566
+          str = item.name
566
         })
567
         })
567
         return str
568
         return str
568
       },
569
       },

+ 12 - 2
src/xt_pages/stock/Dialog/goodTypeDialog.vue ファイルの表示

9
           </el-form-item>
9
           </el-form-item>
10
         </el-col>
10
         </el-col>
11
       </el-row>
11
       </el-row>
12
+      <el-row>
13
+        <el-col>
14
+          <el-form-item label="耗材出库" prop="out_stock">
15
+             <el-radio v-model="out_stock" label="1">是</el-radio>
16
+             <el-radio v-model="out_stock" label="2">否</el-radio>
17
+          </el-form-item>     
18
+        </el-col>
19
+      </el-row>
12
       <el-row>
20
       <el-row>
13
          <el-col >
21
          <el-col >
14
           <el-form-item label="备注">
22
           <el-form-item label="备注">
17
           </el-form-item>
25
           </el-form-item>
18
         </el-col>
26
         </el-col>
19
       </el-row>
27
       </el-row>
20
-
28
+   
21
 
29
 
22
     </el-form>
30
     </el-form>
23
 
31
 
48
         type_name: [
56
         type_name: [
49
           { required: true, message: "请输入类型名称", trigger: "blur" }
57
           { required: true, message: "请输入类型名称", trigger: "blur" }
50
         ]
58
         ]
51
-      }
59
+      },
60
+       out_stock: '1'
52
     };
61
     };
53
   },
62
   },
54
   props: {
63
   props: {
87
       form["type_name"] = this.formValue.type_name;
96
       form["type_name"] = this.formValue.type_name;
88
       form["remark"] = this.formValue.remark;
97
       form["remark"] = this.formValue.remark;
89
       form["isCreated"] = this.isCreated;
98
       form["isCreated"] = this.isCreated;
99
+      form['out_stock'] = this.out_stock;
90
       return form;
100
       return form;
91
     }
101
     }
92
   },
102
   },

+ 3 - 7
src/xt_pages/stock/Dialog/manufacturerOrDealerDialog.vue ファイルの表示

20
       </el-col>
20
       </el-col>
21
 
21
 
22
       <el-col :span="8">
22
       <el-col :span="8">
23
-        <el-form-item label="拼音" prop="pinyin">
23
+        <el-form-item label="拼音">
24
           <el-input  v-model="formValue.pinyin"></el-input>
24
           <el-input  v-model="formValue.pinyin"></el-input>
25
         </el-form-item>
25
         </el-form-item>
26
       </el-col>
26
       </el-col>
27
       <el-col :span="8">
27
       <el-col :span="8">
28
-        <el-form-item label="五笔" prop="wubi">
28
+        <el-form-item label="五笔">
29
           <el-input  v-model="formValue.wubi"></el-input>
29
           <el-input  v-model="formValue.wubi"></el-input>
30
         </el-form-item>
30
         </el-form-item>
31
       </el-col>
31
       </el-col>
119
           ],
119
           ],
120
           dealer_name: [
120
           dealer_name: [
121
             {required: true, message: '请输入经销商名称', trigger: 'blur'},
121
             {required: true, message: '请输入经销商名称', trigger: 'blur'},
122
-          ], pinyin: [
123
-            {required: true, message: '请输入拼音', trigger: 'blur'},
124
-          ], wubi: [
125
-            {required: true, message: '请输入五笔', trigger: 'blur'},
126
-          ],
122
+          ], 
127
 
123
 
128
         }
124
         }
129
       }
125
       }

+ 42 - 37
src/xt_pages/stock/Dialog/stockInDialog.vue ファイルの表示

10
     <el-row :gutter="20">
10
     <el-row :gutter="20">
11
       <el-col :span="8">
11
       <el-col :span="8">
12
         <el-table
12
         <el-table
13
-          :data="propForm.goods"
13
+          :data="propForm.goodType"
14
           ref="table"
14
           ref="table"
15
           border
15
           border
16
           highlight-current-row
16
           highlight-current-row
24
             align="center"
24
             align="center"
25
             label="商品类型">
25
             label="商品类型">
26
             <template slot-scope="scope">
26
             <template slot-scope="scope">
27
-              <span>{{getGoodTypeName(scope.row)}}</span>
27
+              <!-- <span>{{getGoodTypeName(scope.row)}}</span> -->
28
+              <span>{{scope.row.type_name}}</span>
28
             </template>
29
             </template>
29
           </el-table-column>
30
           </el-table-column>
30
         </el-table>
31
         </el-table>
102
         isClose: false,
103
         isClose: false,
103
         visibility: false,
104
         visibility: false,
104
         SelectedDatas: [],
105
         SelectedDatas: [],
105
-        table_current_index: -1
106
+        table_current_index: -1,
107
+        tableData:[],
106
       }
108
       }
107
     },
109
     },
108
     props: {
110
     props: {
110
         type: Object
112
         type: Object
111
       }
113
       }
112
     },
114
     },
115
+    created(){
116
+      this.tableData = this.propForm.goodType
117
+      console.log("222233333",this.tableData)
118
+    },
113
     methods: {
119
     methods: {
114
       hide: function() {
120
       hide: function() {
115
         this.visibility = false
121
         this.visibility = false
131
           }
137
           }
132
         }
138
         }
133
       },
139
       },
134
-      goodTypeTableChange: function(currentRow, oldCurrentRow) {
135
-        let keyName = ''
136
-        for (var key in currentRow) {
137
-          if (key != 'index') {
138
-            keyName = key
139
-          }
140
-        }
141
-        this.goodInfoTableData = []
142
-        this.goodInfo = []
143
-        if (keyName.length > 0) {
144
-          this.currentGoodTypeId = parseInt(keyName)
145
-          this.goodInfo = currentRow[keyName]
146
-          this.goodInfoTableData = (currentRow[keyName])
140
+       goodTypeTableChange: function(currentRow, oldCurrentRow) {
141
+       
142
+        let keyName = ""
143
+        var arr = []
144
+        for(let i= 0;i<this.propForm.goods.length;i++){
145
+            for(var key in this.propForm.goods[i]){
146
+               if(key == currentRow.id){
147
+                  keyName = key
148
+                  arr.push(this.propForm.goods[i])
149
+               }
150
+            }
147
         }
151
         }
148
-
149
-        for (let i = 0; i < this.goodInfoTableData.length; i++) {
150
-          if (this.goodInfoTableData[i].isSelected) {
151
-            this.$nextTick(function() {
152
-              this.$refs.multipleTable.toggleRowSelection(this.goodInfoTableData[i])
153
-            })
152
+        this.currentGoodTypeId = parseInt(keyName)
153
+        this.goodInfoTableData = arr[keyName]
154
+        for(let i=0;i<arr.length;i++){
155
+          for(var key in arr[i]){
156
+              this.goodInfo = arr[i][keyName]
157
+              this.goodInfoTableData = arr[i][keyName]
154
           }
158
           }
155
-        }
156
-
157
-      },
159
+         }
160
+       },
158
       cancle: function(formName) {
161
       cancle: function(formName) {
159
         this.goodInfo = []
162
         this.goodInfo = []
160
         this.goodInfoTableData = []
163
         this.goodInfoTableData = []
213
             return this.propForm.goodUnit[i].name
216
             return this.propForm.goodUnit[i].name
214
           }
217
           }
215
         }
218
         }
216
-      }, search: function() {
219
+      }, 
220
+     
221
+      search:function() {
217
         if (this.keywords.length <= 0) {
222
         if (this.keywords.length <= 0) {
218
-          this.$message.error('搜索关键字不能为空')
219
-          return
223
+           console.log("0000000",this.propForm.goodType)
224
+           this.propForm.goodType = this.propForm.goodType
220
         }
225
         }
221
         const searchArr = []
226
         const searchArr = []
222
-        for (let i = 0; i < this.goodInfoTableData.length; i++) {
223
-          if (this.goodInfoTableData[i].specification_name.indexOf(this.keywords) != -1) {
224
-            searchArr.push(this.goodInfoTableData[i])
225
-          }
226
-        }
227
-        this.goodInfoTableData = []
228
-        for (let i = 0; i < searchArr.length; i++) {
229
-          this.goodInfoTableData.push(searchArr[i])
227
+        for(let i=0;i<this.propForm.goodType.length;i++){
228
+           if(this.propForm.goodType[i].type_name.indexOf(this.keywords)!=-1){
229
+              searchArr.push(this.propForm.goodType[i])
230
+           }
230
         }
231
         }
231
-      }, changeGoodInfoTableData: function(val) {
232
+        console.log("searchArr",searchArr)
233
+        this.propForm.goodType = []
234
+        this.propForm.goodType = searchArr
235
+      },
236
+      changeGoodInfoTableData: function(val) {
232
       }, changeAllGoodInfoTableData: function(selection) {
237
       }, changeAllGoodInfoTableData: function(selection) {
233
 
238
 
234
         var goodInfos = this.propForm.goods[this.table_current_index][this.currentGoodTypeId]
239
         var goodInfos = this.propForm.goods[this.table_current_index][this.currentGoodTypeId]

+ 5 - 2
src/xt_pages/stock/config/goodType.vue ファイルの表示

313
           type_name: val.type_name,
313
           type_name: val.type_name,
314
           remark: val.remark,
314
           remark: val.remark,
315
           type_code: this.goodType.type_code,
315
           type_code: this.goodType.type_code,
316
-          id: this.goodType.editTypeId
316
+          id: this.goodType.editTypeId,
317
+          out_stock:val.out_stock,
317
         };
318
         };
318
-
319
+      
319
         modifyGoodType(params).then(response => {
320
         modifyGoodType(params).then(response => {
320
           if (response.data.state == 0) {
321
           if (response.data.state == 0) {
321
             this.$message.error(response.data.msg);
322
             this.$message.error(response.data.msg);
333
         });
334
         });
334
       } else if (val.isCreated == 1) {
335
       } else if (val.isCreated == 1) {
335
         //新增
336
         //新增
337
+       
336
         createGoodType(val).then(response => {
338
         createGoodType(val).then(response => {
339
+          
337
           if (response.data.state == 0) {
340
           if (response.data.state == 0) {
338
             this.$message.error(response.data.msg);
341
             this.$message.error(response.data.msg);
339
             return false;
342
             return false;

+ 6 - 3
src/xt_pages/stock/drugs/drugStockInOrderAdd.vue ファイルの表示

390
         this.propForm.formValue = {}
390
         this.propForm.formValue = {}
391
         this.propForm.isCreated = 1
391
         this.propForm.isCreated = 1
392
         this.isVisibility = true
392
         this.isVisibility = true
393
-      }, comfirm: function(val) {
393
+      }, 
394
+      comfirm: function(val) {
394
 
395
 
395
         this.$refs.dialog.hide()
396
         this.$refs.dialog.hide()
396
         if (val.selectedGoodInfo.length > 0) {
397
         if (val.selectedGoodInfo.length > 0) {
419
         }
420
         }
420
 
421
 
421
         this.currentIndex = -1
422
         this.currentIndex = -1
422
-      }, cancle: function() {
423
+      }, 
424
+      cancle: function() {
423
         this.$refs.dialog.hide()
425
         this.$refs.dialog.hide()
424
-      },  GetConfigInfo: function() {
426
+      },  
427
+      GetConfigInfo: function() {
425
         const loading = this.$loading({
428
         const loading = this.$loading({
426
           lock: true,
429
           lock: true,
427
           text: 'Loading',
430
           text: 'Loading',

+ 763 - 42
src/xt_pages/stock/stockInOrder.vue ファイルの表示

124
           </template>
124
           </template>
125
         </el-table-column>
125
         </el-table-column>
126
 
126
 
127
-        <el-table-column label="操作" align="center">
127
+        <el-table-column label="操作" align="center" width="260px">
128
           <template slot-scope="scope">
128
           <template slot-scope="scope">
129
+            <el-tooltip
130
+              class="item"
131
+              effect="dark"
132
+              content="详情"
133
+              placement="top"
134
+            >
135
+              <el-button
136
+                size="small"
137
+                type="warning"
138
+                icon="el-icon-document"
139
+                @click="handleSearch(scope.row.id)"
140
+              >
141
+              </el-button>
142
+            </el-tooltip>
129
             <el-tooltip
143
             <el-tooltip
130
               class="item"
144
               class="item"
131
               effect="dark"
145
               effect="dark"
140
               >
154
               >
141
               </el-button>
155
               </el-button>
142
             </el-tooltip>
156
             </el-tooltip>
157
+
143
             <el-tooltip
158
             <el-tooltip
144
               class="item"
159
               class="item"
145
               effect="dark"
160
               effect="dark"
170
       >
185
       >
171
       </el-pagination>
186
       </el-pagination>
172
     </div>
187
     </div>
188
+
189
+
190
+
191
+    <el-dialog
192
+      title="详情"
193
+      :visible.sync="dialogVisible"
194
+      width="80%"
195
+     >
196
+      <span>
197
+        <div>
198
+          <el-row>
199
+           <span style="font-size: 18px;color: #606266">入库单详情</span>
200
+          </el-row>
201
+            <el-row style="float:left;">
202
+            <span style="color: #606266"
203
+              >入库单号: {{ WarehouseInfo.warehouse.warehousing_order }}</span
204
+            >
205
+          </el-row>
206
+        </div>
207
+         <div class="cell clearfix">
208
+          <span style="width: 300px;color: #606266;float:right">单据日期:{{ WarehouseInfo.warehouse.warehousing_time | parseTime("{y}-{m}-{d}")}} </span>
209
+          <span style="width: 300px;color: #606266;float:right">厂商:{{ getManufactuerName(WarehouseInfo.warehouse.manufacturer) }}</span>
210
+          <span style="width: 300px;color: #606266"
211
+            >经销商:{{ getDealerName(WarehouseInfo.warehouse.dealer) }} </span>
212
+       </div>
213
+        <div class="cell clearfix" style="margin-top: 10px">
214
+          <el-button size="small" icon="el-icon-edit" @click="editRecord"
215
+            >编辑</el-button
216
+          >
217
+          <el-button size="small" icon="el-icon-delete" @click="deleteRecord"
218
+            >删除</el-button
219
+          >
220
+
221
+      <el-row :gutter="12" style="margin-top: 10px">
222
+        <el-table
223
+          :data="WarehouseInfo.warehouseInfoDate"
224
+          :class="signAndWeighBoxPatients"
225
+          style="width: 100%"
226
+          border
227
+          :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)' }"
228
+        >
229
+          <el-table-column min-width="35" align="center">
230
+            <template slot="header" slot-scope="scope">
231
+              <span>商品类型</span>
232
+            </template>
233
+
234
+            <template slot-scope="scope">
235
+              <span v-if="scope.row.good_type_id != 0">{{
236
+                getTypeName(scope.row.good_type_id)
237
+              }}</span>
238
+            </template>
239
+          </el-table-column>
240
+          <el-table-column min-width="35" align="center">
241
+            <template slot="header" slot-scope="scope">
242
+              <span>规格名称</span>
243
+            </template>
244
+            <template slot-scope="scope">
245
+              <span v-if="scope.row.good_id != 0">{{
246
+                getSpecificationName(scope.row.good_id)
247
+              }}</span>
248
+            </template>
249
+          </el-table-column>
250
+
251
+          <el-table-column min-width="23" align="center">
252
+            <template slot="header" slot-scope="scope">
253
+              <span>单价</span>
254
+            </template>
255
+            <template slot-scope="scope">
256
+              <span>{{ scope.row.price }}</span>
257
+            </template>
258
+          </el-table-column>
259
+
260
+          <el-table-column min-width="23" align="center">
261
+            <template slot="header" slot-scope="scope">
262
+              <span>入库数量</span>
263
+            </template>
264
+            <template slot-scope="scope">
265
+              <span>{{ scope.row.warehousing_count }}</span>
266
+            </template>
267
+          </el-table-column>
268
+
269
+          <el-table-column label="总价" min-width="20" align="center">
270
+            <template slot-scope="scope">
271
+              {{ calculate(scope.row.price * scope.row.warehousing_count) }}
272
+            </template>
273
+          </el-table-column>
274
+
275
+          <el-table-column align="center" min-width="25">
276
+            <template slot="header" slot-scope="scope">
277
+              <span>批号</span>
278
+            </template>
279
+            <template slot-scope="scope">
280
+              <span>{{ scope.row.number }}</span>
281
+            </template>
282
+          </el-table-column>
283
+          <el-table-column label="生产日期" min-width="40" align="center">
284
+            <template v-if="scope.row.product_date != 0" slot-scope="scope">
285
+              {{ scope.row.product_date }}
286
+            </template>
287
+          </el-table-column>
288
+          <el-table-column label="有效日期" min-width="40" align="center">
289
+            <template v-if="scope.row.expiry_date != 0" slot-scope="scope">
290
+              {{ scope.row.expiry_date  }}
291
+            </template>
292
+          </el-table-column>
293
+          <el-table-column label="备注" min-width="20" align="center">
294
+            <template slot-scope="scope">
295
+              <el-popover placement="top-start" width="250" trigger="hover">
296
+                <div>{{ scope.row.remark }}</div>
297
+                <span slot="reference" v-if="scope.row.remark.length > 20">{{
298
+                  scope.row.remark.substr(0, 20) + "..."
299
+                }}</span>
300
+                <span slot="reference" v-else>{{ scope.row.remark }}</span>
301
+              </el-popover>
302
+            </template>
303
+          </el-table-column>
304
+        </el-table>
305
+      </el-row>
306
+      </div>
307
+
308
+      </span>
309
+      <span slot="footer" class="dialog-footer">
310
+        <el-button @click="dialogVisible = false">取 消</el-button>
311
+        <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
312
+      </span>
313
+    </el-dialog>
314
+
315
+
316
+    <el-dialog
317
+      title="新增"
318
+      :visible.sync="editDialogVisible"
319
+      width="80%"
320
+    >
321
+      <span>
322
+       
323
+        <div style="margin-bottom:10px">
324
+          <label class="title"><span class="name">入库时间</span> : </label>
325
+          <el-date-picker size="small" v-model="warehousing_time" prefix-icon="el-icon-date" :editable="false"
326
+                          style="width: 196px;" type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
327
+                          value-format="yyyy-MM-dd"></el-date-picker>
328
+          <label class="title" style="margin-left:10px;"><span class="name">经 销 商</span> : </label>
329
+          <el-select size="small" v-model="form.dealer" clearable placeholder="请选择经销商" @change="changeDealer">
330
+            <el-option
331
+              v-for="(option, index) in dealer"
332
+              :key="index"
333
+              :label="option.dealer_name"
334
+              :value="option.id">
335
+            </el-option>
336
+          </el-select>
337
+          <label class="title" style="margin-left:10px;"><span class="name">厂商</span> : </label>
338
+
339
+          <el-select size="small" v-model="form.manufacturer" clearable placeholder="请选择厂商" @change="changeManufacturer">
340
+            <el-option
341
+              v-for="(option, index) in manufacturer"
342
+              :key="index"
343
+              :label="option.manufacturer_name"
344
+              :value="option.id">
345
+            </el-option>
346
+          </el-select>
347
+        </div>
348
+
349
+        <el-form :rules="tableRules" :model="recordInfo" ref="tableForm">
350
+        <el-table
351
+          id="oictable"
352
+          :data="recordInfo.recordData"
353
+          :class="signAndWeighBoxPatients"
354
+          style="width: 100%"
355
+          border
356
+          max-height="450"
357
+          :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)' }"
358
+        >
359
+          <el-table-column align="center" width="200">
360
+            <template slot="header" slot-scope="scope">
361
+              <span>商品类型<span style="color: red">*</span></span>
362
+            </template>
363
+
364
+            <template slot-scope="scope">
365
+              <el-form-item style="padding-top: 15px">
366
+                <el-input
367
+                  placeholder="请输入商品类型"
368
+                  v-model="scope.row.good_type_id"
369
+                  :value="typeName(scope.row.good_type_id)"
370
+                  @focus="showDialog(scope.$index, scope.row)"
371
+                ></el-input>
372
+              </el-form-item>
373
+            </template>
374
+          </el-table-column>
375
+          <el-table-column align="center" width="200">
376
+            <template slot="header" slot-scope="scope">
377
+              <span>规格名称<span style="color: red">*</span></span>
378
+            </template>
379
+            <template slot-scope="scope">
380
+              <el-form-item style="padding-top: 15px">
381
+                <el-input
382
+                  placeholder="请输入规格名称"
383
+                  v-model="scope.row.good_id"
384
+                  :value="specificationName(scope.row.good_id)"
385
+                  @focus="showDialog(scope.$index, scope.row)"
386
+                ></el-input>
387
+              </el-form-item>
388
+            </template>
389
+          </el-table-column>
390
+
391
+          <el-table-column align="center" width="150">
392
+            <template slot="header" slot-scope="scope">
393
+              <span>单价<span style="color: red">*</span></span>
394
+            </template>
395
+            <template slot-scope="scope">
396
+              <!--<el-input type="number" v-model="scope.row.price"  @blur="handleBlur(scope.$index, scope.row)"></el-input>-->
397
+              <el-form-item
398
+                :prop="'recordData.' + scope.$index + '.price'"
399
+                :rules="tableRules.price"
400
+                style="padding-top: 17px"
401
+              >
402
+                <el-input
403
+                  placeholder="请输入单价"
404
+                  type="number"
405
+                  v-model="scope.row.price"
406
+                ></el-input>
407
+              </el-form-item>
408
+            </template>
409
+          </el-table-column>
410
+
411
+          <el-table-column align="center" width="180">
412
+            <template slot="header" slot-scope="scope">
413
+              <span>入库数量<span style="color: red">*</span></span>
414
+            </template>
415
+            <template slot-scope="scope">
416
+              <!--{{scope.row.warehousing_count}}-->
417
+              <!--<el-input type="number" v-model="scope.row.warehousing_count"   @blur="handleBlur(scope.$index, scope.row)"></el-input>-->
418
+
419
+              <el-form-item
420
+                :prop="'recordData.' + scope.$index + '.warehousing_count'"
421
+                :rules="tableRules.warehousing_count"
422
+                style="padding-top: 17px"
423
+              >
424
+                <el-input
425
+                  placeholder="请输入入库数量"
426
+                  type="number"
427
+                  v-model="scope.row.warehousing_count"
428
+                ></el-input>
429
+              </el-form-item>
430
+            </template>
431
+          </el-table-column>
432
+          <el-table-column label="总价" align="center" width="150">
433
+            <template slot-scope="scope">
434
+              {{ calculate(scope.row.price * scope.row.warehousing_count) }}
435
+            </template>
436
+          </el-table-column>
437
+
438
+          <el-table-column align="center" width="150">
439
+            <template slot="header" slot-scope="scope">
440
+              <span>批号</span>
441
+            </template>
442
+            <template slot-scope="scope">
443
+              <el-form-item style="padding-top: 15px">
444
+                <el-input
445
+                  placeholder="请输入批号"
446
+                  v-model="scope.row.number"
447
+                ></el-input>
448
+              </el-form-item>
449
+            </template>
450
+          </el-table-column>
451
+
452
+          <el-table-column label="生产日期" width="250" align="center">
453
+            <template slot-scope="scope">
454
+            
455
+              <el-date-picker
456
+                prefix-icon="el-icon-date"
457
+                style="width: 145px"
458
+                v-model="scope.row.product_date"
459
+                type="date"
460
+                placeholder="选择日期时间"
461
+                format="yyyy-MM-dd"
462
+                value-format="yyyy-MM-dd"
463
+              ></el-date-picker>
464
+            </template>
465
+          </el-table-column>
466
+          <el-table-column label="有效日期" width="250" align="center">
467
+            <template slot-scope="scope">
468
+             
469
+              <el-date-picker
470
+                prefix-icon="el-icon-date"
471
+                style="width: 145px"
472
+                v-model="scope.row.expiry_date"
473
+                type="date"
474
+                placeholder="选择日期时间"
475
+                format="yyyy-MM-dd"
476
+                value-format="yyyy-MM-dd"
477
+              ></el-date-picker>
478
+            </template>
479
+          </el-table-column>
480
+          <el-table-column label="备注" width="150" align="center">
481
+            <template slot-scope="scope">
482
+              <el-input v-model="scope.row.remark"></el-input>
483
+            </template>
484
+          </el-table-column>
485
+
486
+          <el-table-column
487
+            label="操作"
488
+            fixed="right"
489
+            align="center"
490
+            width="150"
491
+          >
492
+            <template slot-scope="scope">
493
+              <el-tooltip
494
+                class="item"
495
+                effect="dark"
496
+                content="新增"
497
+                placement="top"
498
+              >
499
+                <el-button
500
+                  size="mini"
501
+                  type="primary"
502
+                  icon="el-icon-circle-plus-outline"
503
+                  @click="handleEditTwo(scope.$index, scope.row)"
504
+                >
505
+                </el-button>
506
+              </el-tooltip>
507
+              <el-tooltip
508
+                class="item"
509
+                effect="dark"
510
+                content="删除"
511
+                placement="top"
512
+              >
513
+                <el-button
514
+                  size="mini"
515
+                  type="danger"
516
+                  icon="el-icon-delete"
517
+                  @click="DeleteWarehouseInfoItem(scope.$index, scope.row)"
518
+                >
519
+                </el-button>
520
+              </el-tooltip>
521
+            </template>
522
+          </el-table-column>
523
+        </el-table>
524
+      </el-form>
525
+      </span>
526
+      <span slot="footer" class="dialog-footer">
527
+        <el-button @click="editDialogVisible = false">取 消</el-button>
528
+        <el-button type="primary" @click="submit()">保 存</el-button>
529
+      </span>
530
+    </el-dialog>
531
+
532
+
533
+     <stock-in-dialog
534
+        ref="dialog"
535
+        :propForm="propForm"
536
+        :visibility="isVisibility"
537
+        v-on:dialog-comfirm="comfirm"
538
+        v-on:dialog-cancle="cancle">
539
+    </stock-in-dialog>
173
   </div>
540
   </div>
174
 </template>
541
 </template>
175
 
542
 
176
 <script>
543
 <script>
544
+import stockInDialog from "./Dialog/stockInDialog";
177
 import { uParseTime } from "@/utils/tools";
545
 import { uParseTime } from "@/utils/tools";
178
 import { fetchAllAdminUsers, fetchAllDoctorAndNurse } from "@/api/doctor";
546
 import { fetchAllAdminUsers, fetchAllDoctorAndNurse } from "@/api/doctor";
179
 import {
547
 import {
182
   GetAllGoodInfo,
550
   GetAllGoodInfo,
183
   GetAllGoodType,
551
   GetAllGoodType,
184
   getWarehouseInfoList,
552
   getWarehouseInfoList,
185
-  getWarehouseList
553
+  getWarehouseList,
554
+  DeleteWarehouseInfoItem,
555
+  GetAllGoodInfoByID,
556
+  EditWarehouse
186
 } from "@/api/stock";
557
 } from "@/api/stock";
558
+
559
+import { GetAllDrugInfoByID,postDrugWarehouse} from "@/api/drug/drug_stock";
187
 import BreadCrumb from "../components/bread-crumb";
560
 import BreadCrumb from "../components/bread-crumb";
188
 
561
 
189
 export default {
562
 export default {
190
   name: "stockIn",
563
   name: "stockIn",
191
-  components: { BreadCrumb },
564
+  components: { BreadCrumb, stockInDialog },
192
   created() {
565
   created() {
193
-    // var nowDate = new Date();
194
-    //
195
-    // var year = new Date().getFullYear()
196
-    // var month = new Date().getMonth() + 1
197
-    // var day = nowDate.getDate()
198
-    // if (parseInt(month) < 10) {
199
-    //   month = '0' + month
200
-    // }
201
-    // if (parseInt(day) < 10) {
202
-    //   day = '0' + day
203
-    // }
204
-    // const endTime = year + '-' + month + '-' + day
205
-    // this.end_time = endTime
206
-    //
207
-    //
208
-    // var year = new Date().getFullYear()
209
-    // var month = new Date().getMonth()
210
-    // var day = new Date().getDate()
211
-    //
212
-    // day.setMonth(day.getMonth() - 3);
213
-    //
214
-    // if (parseInt(month) < 10) {
215
-    //   month = '0' + month
216
-    // }
217
-    // if (parseInt(day) < 10) {
218
-    //   day = '0' + day
219
-    // }
220
-    // const startTime = year + '-' + month + '-' + day
221
-    // this.start_time = startTime
222
 
566
 
223
     var nowDate = new Date();
567
     var nowDate = new Date();
224
     var nowYear = nowDate.getFullYear();
568
     var nowYear = nowDate.getFullYear();
231
       "-" +
575
       "-" +
232
       (nowDay < 10 ? "0" + nowDay : nowDay);
576
       (nowDay < 10 ? "0" + nowDay : nowDay);
233
     nowDate.setMonth(nowDate.getMonth() - 1);
577
     nowDate.setMonth(nowDate.getMonth() - 1);
234
-    nowYear = nowDate.getFullYear();
235
-    nowMonth = nowDate.getMonth() + 1;
236
-    nowDay = nowDate.getDate();
578
+  
237
     this.start_time =
579
     this.start_time =
238
       nowYear +
580
       nowYear +
239
       "-" +
581
       "-" +
240
       (nowMonth < 10 ? "0" + nowMonth : nowMonth) +
582
       (nowMonth < 10 ? "0" + nowMonth : nowMonth) +
241
       "-" +
583
       "-" +
242
       (nowDay < 10 ? "0" + nowDay : nowDay);
584
       (nowDay < 10 ? "0" + nowDay : nowDay);
585
+   
586
+
587
+      // this.warehousing_time =
588
+      //   nowYear +
589
+      //   '-' +
590
+      //   (nowMonth < 10 ? '0' + nowMonth : nowMonth) +
591
+      //   '-' +
592
+      //   (nowDay < 10 ? '0' + nowDay : nowDay)
243
 
593
 
594
+    
244
     this.GetWarehouse();
595
     this.GetWarehouse();
245
     this.GetConfigInfo();
596
     this.GetConfigInfo();
246
     this.fetchAllAdminUsers();
597
     this.fetchAllAdminUsers();
598
+    this.GetAllGoodType()
599
+    this.GetAllGoodInfo()
247
   },
600
   },
248
   data() {
601
   data() {
602
+
603
+    var checkGoodId = (rule, value, callback) => {
604
+      setTimeout(() => {
605
+        if (value == "" || value == 0) {
606
+          return callback(new Error("规格名称不能为空"));
607
+        }
608
+      }, 2000);
609
+    };
249
     return {
610
     return {
250
       crumbs: [
611
       crumbs: [
251
         { path: false, name: "库存管理" },
612
         { path: false, name: "库存管理" },
277
 
638
 
278
       WarehouseInfo: {
639
       WarehouseInfo: {
279
         loading: false,
640
         loading: false,
280
-        warehouseInfoDate: []
641
+        warehouseInfoDate: [],
642
+        warehouse: {}
643
+      },
644
+      startTime: "",
645
+      dialogVisible:false,
646
+      editDialogVisible:false,
647
+
648
+      recordInfo: {
649
+        recordData: [],
650
+        stock_in_code: "",
651
+        current_index: ""
652
+      },
653
+
654
+      tableRules: {
655
+        price: [{ required: true, message: "单价不能为空", trigger: "blur" }],
656
+        warehousing_count: [
657
+          { required: true, message: "数量不能为空", trigge: "blur" }
658
+        ],
659
+
660
+        good_id: [{ validator: checkGoodId, trigger: "blur" }]
661
+      },
662
+
663
+      form: {
664
+        manufacturer:0,
665
+        dealer:0
666
+      }, 
667
+      warehousing_time: '',
668
+     warehouse:{},
669
+      propForm: {
670
+        goods: [],
671
+        goodType: [],
672
+        goodInfo: [],
673
+        goodUnit: [],
674
+        title: '入库',
675
+        formValue: {
676
+        good_type_id: '',
677
+        good_id: '',
678
+        number: '',
679
+        product_date: '',
680
+        expiry_date: '',
681
+        warehousing_count: '',
682
+        price: '',
683
+        remark: '',
684
+        dealer: '',
685
+        manufacturer: ''
686
+      },
687
+        isCreated: 1,
688
+        isVisibility: false,
689
+        drug_id:1
281
       },
690
       },
282
-      startTime: ""
283
     };
691
     };
692
+
693
+  
284
   },
694
   },
285
   methods: {
695
   methods: {
286
     search: function() {
696
     search: function() {
349
         } else {
759
         } else {
350
           this.WarehouseInfo.loading = false;
760
           this.WarehouseInfo.loading = false;
351
           for (let i = 0; i < response.data.data.info.length; i++) {
761
           for (let i = 0; i < response.data.data.info.length; i++) {
352
-            this.WarehouseInfo.warehouseInfoDate.push(
353
-              response.data.data.info[i]
354
-            );
762
+            this.WarehouseInfo.warehouseInfoDate.push(response.data.data.info[i]);
355
           }
763
           }
356
         }
764
         }
357
       });
765
       });
425
           this.$message.error(response.data.msg);
833
           this.$message.error(response.data.msg);
426
           return false;
834
           return false;
427
         } else {
835
         } else {
836
+          
428
           for (let i = 0; i < response.data.data.goodType.length; i++) {
837
           for (let i = 0; i < response.data.data.goodType.length; i++) {
429
             this.goodType.push(response.data.data.goodType[i]);
838
             this.goodType.push(response.data.data.goodType[i]);
430
           }
839
           }
437
           this.$message.error(response.data.msg);
846
           this.$message.error(response.data.msg);
438
           return false;
847
           return false;
439
         } else {
848
         } else {
849
+          
440
           for (let i = 0; i < response.data.data.goodInfo.length; i++) {
850
           for (let i = 0; i < response.data.data.goodInfo.length; i++) {
851
+
441
             this.goodInfo.push(response.data.data.goodInfo[i]);
852
             this.goodInfo.push(response.data.data.goodInfo[i]);
442
           }
853
           }
443
         }
854
         }
502
       // 把时间日期转成时间戳
913
       // 把时间日期转成时间戳
503
       return new Date(time).getTime() / 1000;
914
       return new Date(time).getTime() / 1000;
504
     },
915
     },
916
+    getTime(val, temp) {
917
+      if (val != 0) {
918
+        return uParseTime(val, temp);
919
+      } else {
920
+        return "";
921
+      }
922
+    },
505
     calculate: function(val) {
923
     calculate: function(val) {
506
       return Math.round(parseFloat(val) * 100) / 100;
924
       return Math.round(parseFloat(val) * 100) / 100;
507
     },
925
     },
513
         } else {
931
         } else {
514
           this.manufacturer = response.data.data.manufacturer;
932
           this.manufacturer = response.data.data.manufacturer;
515
           this.dealer = response.data.data.dealer;
933
           this.dealer = response.data.data.dealer;
934
+          this.manufacturer.splice(0, 0, { id: 0, manufacturer_name: "全部" });
935
+          this.dealer.splice(0, 0, { id: 0, dealer_name: "全部" });
936
+         
516
         }
937
         }
517
       });
938
       });
518
     },
939
     },
544
       const params = {
965
       const params = {
545
         ids: idStr
966
         ids: idStr
546
       };
967
       };
547
-
968
+     
548
       this.$confirm("确认删除入库单记录?", "删除入库单记录", {
969
       this.$confirm("确认删除入库单记录?", "删除入库单记录", {
549
         confirmButtonText: "确定",
970
         confirmButtonText: "确定",
550
         cancelButtonText: "取消",
971
         cancelButtonText: "取消",
626
           });
1047
           });
627
         })
1048
         })
628
         .catch(() => {});
1049
         .catch(() => {});
629
-    }
1050
+    },
1051
+
1052
+    handleSearch(id){
1053
+      this.GetOrderDetail(id)
1054
+      this.drug_id = id
1055
+      this.dialogVisible = true
1056
+    },
1057
+
1058
+    GetOrderDetail: function(id) {
1059
+      const params = {
1060
+        id: id
1061
+      };
1062
+      getWarehouseInfoList(params).then(response => {
1063
+        if (response.data.state == 0) {
1064
+          this.$message.error(response.data.msg);
1065
+          return false;
1066
+        } else {
1067
+         
1068
+          for (let i = 0; i < response.data.data.info.length; i++) {
1069
+            this.WarehouseInfo.warehouseInfoDate.push(response.data.data.info[i]);
1070
+            response.data.data.info[i].product_date = this.getTime(
1071
+              response.data.data.info[i].product_date,
1072
+              "{y}-{m}-{d}"
1073
+            );
1074
+            response.data.data.info[i].expiry_date = this.getTime(
1075
+              response.data.data.info[i].expiry_date,
1076
+              "{y}-{m}-{d}"
1077
+            );
1078
+            
1079
+           response.data.data.info[i].price = response.data.data.info[i].price.toString();
1080
+           response.data.data.info[i].warehousing_count = response.data.data.info[i].warehousing_count.toString();
1081
+
1082
+            this.recordInfo.recordData.push(response.data.data.info[i]);
1083
+
1084
+          
1085
+          }
1086
+           this.warehouse = response.data.data.warehousing;
1087
+           this.warehousing_time = this.getTime(this.warehouse.warehousing_time,"{y}-{m}-{d}");
1088
+           console.log("单据日期",this.warehousing_time)
1089
+          this.WarehouseInfo.warehouse = response.data.data.warehousing;
1090
+         
1091
+        }
1092
+      });
1093
+    },
1094
+
1095
+     editRecord: function() {
1096
+     
1097
+     
1098
+      this.editDialogVisible = true
1099
+    },
1100
+
1101
+     deleteRecord: function() {
1102
+      const ids = [];
1103
+      ids.push(this.WarehouseInfo.warehouse.id);
1104
+      const idStr = ids.join(",");
1105
+
1106
+      const params = {
1107
+        ids: idStr
1108
+      };
1109
+
1110
+      this.$confirm("确认删除入库单记录?", "删除入库单记录", {
1111
+        confirmButtonText: "确定",
1112
+        cancelButtonText: "取消",
1113
+        type: "warning"
1114
+      })
1115
+        .then(() => {
1116
+          deleteWarehouseInfo(params).then(response => {
1117
+            if (response.data.state == 0) {
1118
+              this.$message.error(response.data.msg);
1119
+              return false;
1120
+            } else {
1121
+              this.$notify({
1122
+                title: "成功",
1123
+                message: "删除成功",
1124
+                type: "success",
1125
+                duration: 2000
1126
+              });
1127
+
1128
+              this.$router.back(-1);
1129
+            }
1130
+          });
1131
+        })
1132
+        .catch(() => {});
1133
+    },
1134
+
1135
+     typeName: function(good_type_id) {
1136
+     
1137
+      let name = "";
1138
+      for (let i = 0; i < this.goodType.length; i++) {
1139
+        if (this.goodType[i].id == good_type_id) {
1140
+          name = this.goodType[i].type_name;
1141
+        }
1142
+      }
1143
+      return name;
1144
+    },
1145
+
1146
+    showDialog(index, row) {
1147
+      this.currentIndex = index;
1148
+      const params = {
1149
+        manufacturer_id: this.form.manufacturer,
1150
+        dealer_id: this.form.dealer
1151
+      };
1152
+      this.propForm.goods = []
1153
+
1154
+      GetAllGoodInfoByID(params).then(response => {
1155
+        if (response.data.state == 0) {
1156
+          this.$message.error(response.data.msg);
1157
+          return false;
1158
+        } else {
1159
+          if (response.data.data.goodInfo.length <= 0) {
1160
+            this.$message.error("该厂商或经销商没有物品信息");
1161
+            return;
1162
+          }
1163
+          this.$refs.dialog.show();
1164
+          for (let i = 0; i < response.data.data.goodInfo.length; i++) {
1165
+            this.propForm.goodType.push(
1166
+              response.data.data.goodInfo[i].type
1167
+            );
1168
+          }
1169
+          const obj = {};
1170
+          this.propForm.goodType = this.propForm.goodType.reduce(
1171
+            (cur, next) => {
1172
+              obj[next.id] ? "" : (obj[next.id] = true && cur.push(next));
1173
+              return cur;
1174
+            },
1175
+            []
1176
+          ); // 设置cur默认类型为数组,并且初始值为空的数组
1177
+        }
1178
+
1179
+        for (let i = 0; i < this.propForm.goodType.length; i++) {
1180
+          let goodInfo = [];
1181
+          let goodObj = {};
1182
+
1183
+          for (let a = 0; a < response.data.data.goodInfo.length; a++) {
1184
+            var respObj = response.data.data.goodInfo[a];
1185
+            respObj["isSelected"] = false;
1186
+            if (respObj.type.id == this.propForm.goodType[i].id) {
1187
+              goodInfo.push(respObj);
1188
+            }
1189
+          }
1190
+          const obj = {};
1191
+          goodInfo = goodInfo.reduce((cur, next) => {
1192
+            obj[next.id] ? "" : (obj[next.id] = true && cur.push(next));
1193
+            return cur;
1194
+          }, []); // 设置cur默认类型为数组,并且初始值为空的数组
1195
+
1196
+          this.$set(goodObj, this.propForm.goodType[i].id, goodInfo);
1197
+          this.propForm.goods.push(goodObj);
1198
+        }
1199
+      });
1200
+    },
1201
+
1202
+    specificationName: function(drug_id) {
1203
+     
1204
+        let name = "";
1205
+        for (let i = 0; i < this.goodInfo.length; i++) {
1206
+          if (this.goodInfo[i].id == drug_id) {
1207
+            name = this.goodInfo[i].specification_name;
1208
+          }
1209
+        }
1210
+        return name;
1211
+    }, 
1212
+
1213
+     submit() {
1214
+      this.$refs["tableForm"].validate(valid => {
1215
+        if (valid) {
1216
+          const array = this.recordInfo.recordData;
1217
+          console.log('array',array)
1218
+          for (let i = 0; i < array.length; i++) {
1219
+            if (array[i].good_type_id == 0) {
1220
+              this.$message.error("商品类型不能为空");
1221
+              return;
1222
+            }
1223
+            if (array[i].good_id == 0) {
1224
+              this.$message.error("规格名称不能为空");
1225
+              return;
1226
+            }
1227
+          }
1228
+
1229
+          const params = {
1230
+            stockIn: this.recordInfo.recordData
1231
+          };
1232
+          EditWarehouse(
1233
+            params,
1234
+            this.warehousing_time,
1235
+            this.drug_id,
1236
+            this.type,
1237
+            this.form.manufacturer,
1238
+            this.form.dealer
1239
+          ).then(response => {
1240
+            if (response.data.state == 0) {
1241
+              this.$message.error(response.data.msg);
1242
+              return false;
1243
+            } else {
1244
+              this.$message.success("入库成功");
1245
+              this.dialogVisible = false
1246
+              this.editDialogVisible = false
1247
+             
1248
+            }
1249
+          });
1250
+        } else {
1251
+          return false;
1252
+        }
1253
+      });
1254
+    },
1255
+
1256
+      changeManufacturer(val) {
1257
+
1258
+      }, 
1259
+      changeDealer(val) {
1260
+
1261
+      },
1262
+
1263
+     DeleteWarehouseInfoItem: function(index, row) {
1264
+      if (row.id == 0) {
1265
+        this.recordInfo.recordData.splice(index, 1);
1266
+      } else {
1267
+        const params = {
1268
+          id: row.id
1269
+        };
1270
+        this.$confirm("确认删除该入库商品信息记录?", "删除入库商品信息记录", {
1271
+          confirmButtonText: "确定",
1272
+          cancelButtonText: "取消",
1273
+          type: "warning"
1274
+        })
1275
+          .then(() => {
1276
+            DeleteWarehouseInfoItem(params).then(response => {
1277
+              if (response.data.state == 0) {
1278
+                this.$message.error(response.data.msg);
1279
+                return false;
1280
+              } else {
1281
+                this.$message.success("删除成功");
1282
+
1283
+                this.recordInfo.recordData.splice(index, 1);
1284
+              }
1285
+            });
1286
+          })
1287
+          .catch(() => {});
1288
+      }
1289
+    },
1290
+    handleEditTwo: function(index, row) {
1291
+      const tempObj = {};
1292
+      tempObj["id"] = 0;
1293
+      tempObj["good_type_id"] = 0;
1294
+      tempObj["good_id"] = 0;
1295
+      tempObj["number"] = "";
1296
+      tempObj["product_date"] = "";
1297
+      tempObj["expiry_date"] = "";
1298
+      tempObj["warehousing_count"] = "";
1299
+      tempObj["price"] = "";
1300
+      tempObj["remark"] = "";
1301
+      tempObj["dealer"] = "";
1302
+      tempObj["manufacturer"] = "";
1303
+      this.recordInfo.recordData.push(tempObj);
1304
+    },
1305
+
1306
+     comfirm: function(val) {
1307
+      this.$refs.dialog.hide();
1308
+      this.propForm.goodType = [];
1309
+      this.propForm.goods = [];
1310
+
1311
+      if (val.selectedGoodInfo.length > 0) {
1312
+        for (let i = val.selectedGoodInfo.length - 1; ; i--) {
1313
+          if (i == 0) {
1314
+            this.recordInfo.recordData[this.currentIndex].good_type_id =
1315
+              val.selectedGoodInfo[i].good_type_id;
1316
+            this.recordInfo.recordData[this.currentIndex].good_id =
1317
+              val.selectedGoodInfo[i].id;
1318
+            this.recordInfo.recordData[
1319
+              this.currentIndex
1320
+            ].price = val.selectedGoodInfo[i].buy_price.toString();
1321
+          } else {
1322
+            const tempForm = {};
1323
+            tempForm["id"] = 0;
1324
+            tempForm["good_type_id"] = val.selectedGoodInfo[i].good_type_id;
1325
+            tempForm["good_id"] = val.selectedGoodInfo[i].id;
1326
+            tempForm["number"] = "";
1327
+            tempForm["product_date"] = "";
1328
+            tempForm["expiry_date"] = "";
1329
+            tempForm["warehousing_count"] = "";
1330
+            tempForm["price"] = val.selectedGoodInfo[i].buy_price.toString();
1331
+            tempForm["remark"] = "";
1332
+            tempForm["dealer"] = "";
1333
+            tempForm["manufacturer"] = "";
1334
+            this.recordInfo.recordData.splice(
1335
+              this.currentIndex + 1,
1336
+              0,
1337
+              tempForm
1338
+            );
1339
+          }
1340
+        }
1341
+      }
1342
+
1343
+      this.currentIndex = -1;
1344
+    },
1345
+    cancle: function() {
1346
+      this.$refs.dialog.hide();
1347
+      this.propForm.goods = [];
1348
+
1349
+      this.propForm.goodType = [];
1350
+    },
630
   }
1351
   }
631
 };
1352
 };
632
 </script>
1353
 </script>

+ 4 - 2
src/xt_pages/stock/stockInOrderAdd.vue ファイルの表示

15
       <stock-in-dialog ref="dialog" :propForm="propForm"
15
       <stock-in-dialog ref="dialog" :propForm="propForm"
16
                        :visibility="isVisibility"
16
                        :visibility="isVisibility"
17
                        v-on:dialog-comfirm="comfirm"
17
                        v-on:dialog-comfirm="comfirm"
18
-                       v-on:dialog-cancle="cancle"></stock-in-dialog>
18
+                       v-on:dialog-cancle="cancle">
19
+      </stock-in-dialog>
19
 
20
 
20
 
21
 
21
       <div class="cell clearfix">
22
       <div class="cell clearfix">
374
         this.propForm.goodType = []
375
         this.propForm.goodType = []
375
         this.propForm.goods = []
376
         this.propForm.goods = []
376
         this.$refs.dialog.hide()
377
         this.$refs.dialog.hide()
377
-      }, GetAllGoodType: function() {
378
+      }, 
379
+      GetAllGoodType: function() {
378
         GetAllGoodType().then(response => {
380
         GetAllGoodType().then(response => {
379
           if (response.data.state == 0) {
381
           if (response.data.state == 0) {
380
             this.$message.error(response.data.msg)
382
             this.$message.error(response.data.msg)

+ 1 - 0
src/xt_pages/stock/stockInOrderEdit.vue ファイルの表示

559
       this.$router.go(-1);
559
       this.$router.go(-1);
560
     },
560
     },
561
     submit() {
561
     submit() {
562
+     
562
       this.$refs["tableForm"].validate(valid => {
563
       this.$refs["tableForm"].validate(valid => {
563
         if (valid) {
564
         if (valid) {
564
           const array = this.recordInfo.recordData;
565
           const array = this.recordInfo.recordData;

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

119
           </template>
119
           </template>
120
         </el-table-column>
120
         </el-table-column>
121
 
121
 
122
-        <el-table-column label="操作" align="center">
122
+        <el-table-column label="操作" align="center" width="300px">
123
           <template slot-scope="scope">
123
           <template slot-scope="scope">
124
+           
125
+            <el-tooltip
126
+              class="item"
127
+              effect="dark"
128
+              content="详情"
129
+              placement="top"
130
+            >
131
+              <el-button
132
+                size="small"
133
+                type="warning"
134
+                icon="el-icon-document"
135
+                @click="handleSearch(scope.row.id)"
136
+              >
137
+              </el-button>
138
+            </el-tooltip>
139
+
124
             <el-tooltip
140
             <el-tooltip
125
               class="item"
141
               class="item"
126
               effect="dark"
142
               effect="dark"
165
       >
181
       >
166
       </el-pagination>
182
       </el-pagination>
167
     </div>
183
     </div>
184
+
185
+
186
+
187
+
188
+    <!-- 新增弹窗 -->
189
+
190
+    <el-dialog
191
+      title="提示"
192
+      :visible.sync="dialogVisible"
193
+      width="80%"
194
+     >
195
+      <span>
196
+        <div class="filter-container">
197
+          <span style="font-size: 18px;color: #606266">出库单详情</span>
198
+          <el-row style="float:right;">
199
+            <span style="color: #606266">{{warehousingOutInfo.info.warehouse_out_order_number}}</span>
200
+          </el-row>
201
+        </div>
202
+
203
+        <div class="cell clearfix">
204
+          <span style="width: 300px;color: #606266">单据日期:  {{warehousingOutInfo.info.warehouse_out_time | parseTime('{y}-{m}-{d}')}} </span>
205
+          <span style="width: 300px;color: #606266">厂商 {{getManufactuerName(warehousingOutInfo.info.manufacturer)}}</span>
206
+          <span style="width: 300px;color: #606266">经销商 {{getDealerName(warehousingOutInfo.info.dealer)}}</span>
207
+        </div>
208
+
209
+        <div class="filter-container" style="margin-top: 10px">
210
+        <el-button size="small" icon="el-icon-edit" @click="editRecord" v-if="warehousingOutInfo.info.is_sys != 1">编辑</el-button>
211
+        <el-button size="small" icon="el-icon-delete" @click="deleteRecord" v-if="warehousingOutInfo.info.is_sys != 1">删除</el-button>
212
+        </div>
213
+
214
+
215
+         <el-row :gutter="12" style="margin-top: 10px">
216
+          <el-table :data="warehousingOutInfo.warehousingOutData" :class="signAndWeighBoxPatients" style="width: 100%"
217
+                    border :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}"
218
+                  
219
+          >
220
+            <el-table-column min-width="35" align="center">
221
+              <template slot="header" slot-scope="scope">
222
+                <span>商品类型</span>
223
+              </template>
224
+
225
+              <template slot-scope="scope">
226
+                <span v-if="scope.row.good_type_id != 0">{{getTypeName(scope.row.good_type_id)}}</span>
227
+              </template>
228
+            </el-table-column>
229
+            <el-table-column min-width="35" align="center">
230
+              <template slot="header" slot-scope="scope">
231
+                <span>规格名称</span>
232
+              </template>
233
+              <template slot-scope="scope">
234
+                <span v-if="scope.row.good_id != 0">{{getSpecificationName(scope.row.good_id)}}</span>
235
+              </template>
236
+            </el-table-column>
237
+
238
+
239
+            <el-table-column min-width="23" align="center">
240
+              <template slot="header" slot-scope="scope">
241
+                <span>单价</span>
242
+              </template>
243
+              <template slot-scope="scope">
244
+                <span>{{scope.row.price}}</span>
245
+              </template>
246
+            </el-table-column>
247
+
248
+            <el-table-column min-width="23" align="center">
249
+              <template slot="header" slot-scope="scope">
250
+                <span>出库数量</span>
251
+              </template>
252
+              <template slot-scope="scope">
253
+                <span>{{scope.row.count}}</span>
254
+
255
+              </template>
256
+            </el-table-column>
257
+            <el-table-column label="总价" min-width="20" align="center">
258
+              <template slot-scope="scope">
259
+                {{calculate(scope.row.price*scope.row.count)}}
260
+              </template>
261
+            </el-table-column>
262
+
263
+            <el-table-column label="备注" min-width="20" align="center">
264
+              <template slot-scope="scope">
265
+                <el-popover placement="top-start" width="250" trigger="hover">
266
+                  <div>{{scope.row.remark}}</div>
267
+                  <span slot="reference"
268
+                        v-if="scope.row.remark.length > 20">{{ scope.row.remark.substr(0,20)+'...' }}</span>
269
+                  <span slot="reference" v-else>{{ scope.row.remark}}</span>
270
+                </el-popover>
271
+
272
+              </template>
273
+            </el-table-column>
274
+
275
+            <el-table-column label="" align="center"  >
276
+              <template slot-scope="scope" v-if="scope.row.is_sys == 1">
277
+              <div style="color: #589ff8" @click="jump(scope.row.id)">使用明细</div>
278
+              </template>
279
+            </el-table-column>
280
+             
281
+
282
+
283
+          </el-table>
284
+      </el-row>
285
+      </span>
286
+      <span slot="footer" class="dialog-footer">
287
+        <el-button @click="dialogVisible = false">取 消</el-button>
288
+        <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
289
+      </span>
290
+   </el-dialog>
291
+
292
+
293
+  <!-- 使用明细查询 -->
294
+   <el-dialog
295
+    title="出库单详情"
296
+    :visible.sync="editdialogVisible"
297
+    width="80%">
298
+    <span>
299
+      <div class="filter-container">
300
+        <span style="font-size: 18px;color: #606266">商品使用明细</span>
301
+      </div>
302
+     
303
+      <div class="cell clearfix">
304
+        <span style="width: 300px;color: #606266">商品类型: {{type_name}} </span>
305
+        <span style="width: 300px;color: #606266">规格名称: {{specification_name}}</span>
306
+      </div>
307
+
308
+       <el-row :gutter="12" style="margin-top: 10px">
309
+        <el-table :data="userList" :class="signAndWeighBoxPatients" style="width: 80%"
310
+                  border :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}"
311
+        >
312
+          <el-table-column min-width="35" align="center">
313
+            <template slot="header" slot-scope="scope">
314
+              <span>序号</span>
315
+            </template>
316
+            <template slot-scope="scope">
317
+              <span v-if="scope.row.is_total == 0">{{scope.$index+1}}</span>
318
+              <span v-if="scope.row.is_total == 1">{{'合计'}}</span>
319
+            </template>
320
+          </el-table-column>
321
+
322
+          <el-table-column min-width="35" align="center">
323
+            <template slot="header" slot-scope="scope">
324
+              <span>使用人</span>
325
+            </template>
326
+            <template slot-scope="scope">
327
+              <span v-if="scope.row.is_total == 0">{{scope.row.user.name}}</span>
328
+              <span v-if="scope.row.is_total == 1"></span>
329
+            </template>
330
+          </el-table-column>
331
+          <el-table-column min-width="35" align="center">
332
+            <template slot="header" slot-scope="scope">
333
+              <span>使用数量</span>
334
+            </template>
335
+            <template slot-scope="scope">
336
+              <span v-if="scope.row.is_total == 0">{{scope.row.count}}</span>
337
+              <span  v-if="scope.row.is_total == 1">{{scope.row.total}} </span>
338
+
339
+            </template>
340
+          </el-table-column>
341
+          <el-table-column min-width="35" align="center">
342
+            <template slot="header" slot-scope="scope">
343
+              <span>使用时间</span>
344
+            </template>
345
+            <template slot-scope="scope">
346
+              <span>{{scope.row.ctime | parseTime('{y}-{m}-{d} {h}:{i}')}} </span>
347
+
348
+            </template>
349
+          </el-table-column>
350
+
351
+        </el-table>
352
+      </el-row>
353
+    </span>
354
+    <span slot="footer" class="dialog-footer">
355
+      <el-button @click="editdialogVisible = false">取 消</el-button>
356
+      <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
357
+    </span>
358
+  </el-dialog>
359
+  
360
+
361
+
362
+  <!-- 编辑 -->
363
+  
364
+  
168
   </div>
365
   </div>
169
 </template>
366
 </template>
170
 
367
 
175
 import {
372
 import {
176
   deleteWarehouseOut,
373
   deleteWarehouseOut,
177
   GetAllConfig,
374
   GetAllConfig,
178
-  getWarehouseOutList
375
+  getWarehouseOutList,
376
+  getWarehouseOutInfo,
377
+  getWarehouseOutUser
179
 } from "@/api/stock";
378
 } from "@/api/stock";
180
 import BreadCrumb from "../components/bread-crumb";
379
 import BreadCrumb from "../components/bread-crumb";
181
 
380
 
203
       (nowMonth < 10 ? "0" + nowMonth : nowMonth) +
402
       (nowMonth < 10 ? "0" + nowMonth : nowMonth) +
204
       "-" +
403
       "-" +
205
       (nowDay < 10 ? "0" + nowDay : nowDay);
404
       (nowDay < 10 ? "0" + nowDay : nowDay);
206
-    this.GetWarehouseOut();
207
     this.GetConfigInfo();
405
     this.GetConfigInfo();
406
+    this.GetWarehouseOut();
407
+   
208
     this.fetchAllAdminUsers();
408
     this.fetchAllAdminUsers();
209
   },
409
   },
210
   data() {
410
   data() {
231
       manufacturer: [],
431
       manufacturer: [],
232
       selectedTableData: [],
432
       selectedTableData: [],
233
       dealer: [],
433
       dealer: [],
234
-      type: 1
434
+      type: 1,
435
+      drug_id:0,
436
+      dialogVisible:false,
437
+      editdialogVisible:false,
438
+      warehousingOutInfo: {
439
+        loading: false,
440
+        warehousingOutData: [],
441
+        info: {}
442
+      },
443
+      userList:[],
444
+      type_name:'',
445
+      specification_name:"",
446
+      
235
     };
447
     };
236
   },
448
   },
237
   methods: {
449
   methods: {
366
         } else {
578
         } else {
367
           this.manufacturer = response.data.data.manufacturer;
579
           this.manufacturer = response.data.data.manufacturer;
368
           this.dealer = response.data.data.dealer;
580
           this.dealer = response.data.data.dealer;
581
+          this.goodInfo = response.data.data.goodInfo
582
+          this.goodType = response.data.data.goodType
369
         }
583
         }
370
       });
584
       });
371
     },
585
     },
479
           });
693
           });
480
         })
694
         })
481
         .catch(() => {});
695
         .catch(() => {});
482
-    }
696
+    },
697
+
698
+ 
699
+
700
+    
701
+    //新增
702
+    handleSearch(id){ 
703
+      this.warehousingOutInfo.info = []
704
+      this.warehousingOutInfo.warehousingOutData = []
705
+      this.GetOrderDetailOne(id)
706
+      this.dialogVisible = true
707
+    },
708
+  
709
+    //获取出库单详情数据
710
+    GetOrderDetailOne(id) {
711
+        const params = {
712
+          'id': id
713
+        }
714
+      getWarehouseOutInfo(params).then(response => {
715
+          if (response.data.state == 0) {
716
+
717
+            this.$message.error(response.data.msg)
718
+            return false
719
+          } else {
720
+            for (let i = 0; i < response.data.data.list.length; i++) {
721
+              this.warehousingOutInfo.warehousingOutData.push(response.data.data.list[i])
722
+            }
723
+
724
+            this.warehousingOutInfo.info = response.data.data.info
725
+            // this.handleSpanTempArr()
726
+          }
727
+        })
728
+     }, 
729
+
730
+      getTypeName: function(id) {
731
+        let name = ''
732
+        for (let i = 0; i < this.goodType.length; i++) {
733
+          if (this.goodType[i].id == id) {
734
+            name = this.goodType[i].type_name
735
+          }
736
+        }
737
+        return name
738
+      },
739
+
740
+     getSpecificationName: function(id) {
741
+        let name = ''
742
+        for (let i = 0; i < this.goodInfo.length; i++) {
743
+          if (this.goodInfo[i].id == id) {
744
+            name = this.goodInfo[i].specification_name
745
+          }
746
+        }
747
+        return name
748
+      },
749
+     getManufactuerName: function(manufacturer_id) {
750
+        for (let i = 0; i < this.manufacturer.length; i++) {
751
+          if (this.manufacturer[i].id == manufacturer_id) {
752
+            return this.manufacturer[i].manufacturer_name
753
+          }
754
+        }
755
+      }, 
756
+
757
+    jump(id){
758
+      this.userList = []
759
+      this.GetOrderDetail(id)
760
+     
761
+    },
762
+
763
+     GetOrderDetail: function(order_id) {
764
+        const params = {
765
+          'id': order_id
766
+        }
767
+      
768
+        getWarehouseOutUser(params).then(response => {
769
+          if (response.data.state == 0) {
770
+            this.$message.error(response.data.msg)
771
+            return false
772
+          } else {
773
+            var total = 0
774
+            for (let i = 0; i < response.data.data.list.length; i++) {
775
+              var obj = response.data.data.list[i]
776
+              obj['is_total'] = 0
777
+              this.userList.push(obj)
778
+              total = total + response.data.data.list[i].count
779
+            }
780
+            this.userList.push({
781
+              is_total: 1,
782
+              total: total,
783
+            })
784
+            this.type_name = this.userList[0].type.type_name
785
+            this.specification_name = this.userList[0].info.specification_name
786
+            console.log("详情数据区",this.userList)
787
+              this.editdialogVisible = true
788
+          }
789
+        })
790
+      },
791
+
792
+      editRecord(){
793
+     
794
+      },
795
+      deleteRecord(){
796
+
797
+      }
483
   }
798
   }
484
 };
799
 };
485
 </script>
800
 </script>

+ 8 - 4
src/xt_pages/stock/stockOutOrderDetail.vue ファイルの表示

152
           }
152
           }
153
         }
153
         }
154
         return name
154
         return name
155
-      }, getTypeName: function(id) {
155
+      },
156
+       getTypeName: function(id) {
156
         let name = ''
157
         let name = ''
157
         for (let i = 0; i < this.goodType.length; i++) {
158
         for (let i = 0; i < this.goodType.length; i++) {
158
           if (this.goodType[i].id == id) {
159
           if (this.goodType[i].id == id) {
160
           }
161
           }
161
         }
162
         }
162
         return name
163
         return name
163
-      }, GetConfigInfo: function() {
164
+      },
165
+       GetConfigInfo: function() {
164
         GetAllConfig().then(response => {
166
         GetAllConfig().then(response => {
165
           if (response.data.state == 0) {
167
           if (response.data.state == 0) {
166
             this.$message.error(response.data.msg)
168
             this.$message.error(response.data.msg)
184
             return this.dealer[i].dealer_name
186
             return this.dealer[i].dealer_name
185
           }
187
           }
186
         }
188
         }
187
-      }, calculate: function(val) {
189
+      }, 
190
+      calculate: function(val) {
188
         if (val == 0) {
191
         if (val == 0) {
189
           return ''
192
           return ''
190
         }
193
         }
191
         return Math.round(parseFloat(val) * 100) / 100
194
         return Math.round(parseFloat(val) * 100) / 100
192
-      }, GetOrderDetail: function(order_id) {
195
+      },
196
+       GetOrderDetail: function(order_id) {
193
         const params = {
197
         const params = {
194
           'id': order_id
198
           'id': order_id
195
         }
199
         }

+ 4 - 2
src/xt_pages/stock/stockOutOrderEdit.vue ファイルの表示

315
           }
315
           }
316
         }
316
         }
317
         return name;
317
         return name;
318
-      }, handleEdit: function(index, row) {
318
+      }, 
319
+      handleEdit: function(index, row) {
319
         const tempObj = {}
320
         const tempObj = {}
320
         tempObj['id'] = 0
321
         tempObj['id'] = 0
321
         tempObj['good_type_id'] = 0
322
         tempObj['good_type_id'] = 0
422
 
423
 
423
       back() {
424
       back() {
424
         this.$router.go(-1)
425
         this.$router.go(-1)
425
-      }, submit() {
426
+      },
427
+       submit() {
426
         this.$refs['tableForm'].validate((valid) => {
428
         this.$refs['tableForm'].validate((valid) => {
427
           if (valid) {
429
           if (valid) {
428
             const array = this.recordInfo.recordData
430
             const array = this.recordInfo.recordData

+ 2 - 1
src/xt_pages/stock/stockUserDetail.vue ファイルの表示

106
           }
106
           }
107
         }
107
         }
108
         return name
108
         return name
109
-      }, GetOrderDetail: function(order_id) {
109
+      },
110
+       GetOrderDetail: function(order_id) {
110
         const params = {
111
         const params = {
111
           'id': order_id
112
           'id': order_id
112
         }
113
         }

+ 3 - 3
src/xt_pages/workforce/components/tableData.vue ファイルの表示

1950
     ScheduleItem
1950
     ScheduleItem
1951
   },
1951
   },
1952
   mounted() {
1952
   mounted() {
1953
-    console.log(this.tableContainHeight);
1953
+    console.log('this.tableContainHeight,',this.$refs.table.$el.offsetTop);
1954
     this.tableContainHeight =
1954
     this.tableContainHeight =
1955
-      window.innerHeight - this.$refs.table.$el.offsetTop - 160;
1955
+      window.innerHeight - this.$refs.table.$el.offsetTop - 120;
1956
     console.log(this.tableContainHeight);
1956
     console.log(this.tableContainHeight);
1957
     // var theType = this.weekType(this.weekTime);
1957
     // var theType = this.weekType(this.weekTime);
1958
     // this.getSchedules(theType);
1958
     // this.getSchedules(theType);
1963
         if (window.fullHeight < 200) {
1963
         if (window.fullHeight < 200) {
1964
           that.tableHeight = 200;
1964
           that.tableHeight = 200;
1965
         } else {
1965
         } else {
1966
-          that.tableHeight = window.fullHeight - 200;
1966
+          that.tableHeight = window.fullHeight - 160;
1967
         }
1967
         }
1968
       })();
1968
       })();
1969
     };
1969
     };