Browse Source

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

csx 4 years ago
parent
commit
cb07e86610
42 changed files with 1698 additions and 476 deletions
  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 View File

@@ -1,6 +1,11 @@
1 1
 import request from '@/utils/request'
2 2
 
3 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 9
   return request({
5 10
     url: '/api/drugwarehouse/create?warehousing_time=' + warehousing_time + '&manufacturer_id=' + manufacturer_id + '&dealer_id=' + dealer_id + '&type=' + type,
6 11
     method: 'post',

+ 15 - 0
src/api/stock.js View File

@@ -386,6 +386,12 @@ export function DeleteWarehouseInfoItem(params) {
386 386
 }
387 387
 
388 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 395
   return request({
390 396
     url: '/api/warehouse/edit?warehousing_time=' + warehousing_time + '&id=' + id + '&type=' + type + '&manufacturer_id=' + manufacturer_id + '&dealer_id=' + dealer_id,
391 397
     method: 'post',
@@ -560,3 +566,12 @@ export function getWarehouseOutUser(params) {
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 View File

@@ -9,7 +9,7 @@
9 9
             <el-tab-pane label="基础数据" name="first">
10 10
                 <div>
11 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 13
                             <el-input v-model="form.good_name" placeholder="" maxlength="30"></el-input>
14 14
                         </el-form-item>
15 15
                         <el-form-item label="拼音 : " prop="name" style="width:50%">

+ 4 - 2
src/xt_pages/dialysis/details/dialog/monitor_dialog.vue View File

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

+ 2 - 2
src/xt_pages/dialysis/details/dialysisMonitoring.vue View File

@@ -14,8 +14,8 @@
14 14
           <th width="76px">静脉压/动脉压({{monitores[0]&&monitores[0]['venous_pressure_type'] == 2 ? 'kpa' : 'mmHg'}})</th>
15 15
           <th v-if="isShow('血流量')" width="92px">血流量(ml/min)</th>
16 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 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 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 21
           <th v-if="isShow('钠浓度')" width="92px">钠浓度(mmol/L)</th>

+ 28 - 1
src/xt_pages/dialysis/template/DialysisPrintOrderNine.vue View File

@@ -349,6 +349,7 @@
349 349
               </tr>
350 350
               </tbody>
351 351
             </table>
352
+           
352 353
           </td>
353 354
         </tr>
354 355
         </tbody>
@@ -789,6 +790,8 @@
789 790
           <td width="80" style="line-height:20px">TMP<br />{{monitors[0] && monitors[0]['transmembrane_pressure_type'] == 2 ? 'kpa' : 'mmHg'}}</td>
790 791
           <td width="60" style="line-height:20px">血流量<br />ml/min</td>
791 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 795
           <!-- <td width="60">钠浓度<br/>mmol/L</td>
793 796
         <td width="80">透析液温度<br/>℃</td>
794 797
         <td width="60">置换率<br/>ml/min</td> -->
@@ -836,6 +839,12 @@
836 839
           </td>
837 840
           <td>
838 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 848
           </td>
840 849
           <!-- <td>&nbsp;{{monitor.sodium_concentration}}</td>
841 850
         <td>&nbsp;{{monitor.dialysate_temperature}}</td>
@@ -843,6 +852,7 @@
843 852
           <td>
844 853
             &nbsp;{{ monitor.symptom }} &nbsp;{{ monitor.dispose }} &nbsp;{{ monitor.result }}
845 854
           </td>
855
+         
846 856
         </tr>
847 857
         </tbody>
848 858
       </table>
@@ -1221,6 +1231,21 @@
1221 1231
                 </tbody>
1222 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 1249
               <!-- <table class="table-box">
1225 1250
                 <tbody>
1226 1251
                   <tr>
@@ -1740,7 +1765,8 @@ export default {
1740 1765
         doctorForm: {
1741 1766
           doctor: '',
1742 1767
           url: ''
1743
-        }
1768
+        },
1769
+        org_id:0,
1744 1770
       }
1745 1771
   },
1746 1772
     methods: {
@@ -2296,6 +2322,7 @@ export default {
2296 2322
     created() {
2297 2323
       var xtuser = this.$store.getters.xt_user
2298 2324
       this.orgname = xtuser.org.org_name
2325
+      this.org_id = xtuser.org.id
2299 2326
       // this.orgname = "遂溪方济医院";
2300 2327
       this.modeOptions = this.$store.getters.treatment_mode
2301 2328
       this.replacementWays = this.$store.getters.replacement_ways

+ 7 - 2
src/xt_pages/dialysis/template/DialysisPrintOrderOne.vue View File

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

+ 24 - 26
src/xt_pages/dialysis/template/DialysisPrintOrderThirty.vue View File

@@ -65,7 +65,7 @@
65 65
             <td width="10"></td>
66 66
             <td width="70">有/无特殊:</td>
67 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 69
             </td>
70 70
           </tr>
71 71
         </tbody>
@@ -311,31 +311,29 @@
311 311
                 <table class="table-box">
312 312
                     <tbody>
313 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 337
                     </tr>
340 338
                     </tbody>
341 339
                 </table>

+ 3 - 1
src/xt_pages/dialysis/template/DialysisPrintOrderTwentyFive.vue View File

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

+ 4 - 0
src/xt_pages/medicalScheduling/index.vue View File

@@ -1991,5 +1991,9 @@ export default {
1991 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 1999
 </style>

+ 55 - 17
src/xt_pages/outpatientCharges/components/chargeDialog.vue View File

@@ -1,38 +1,43 @@
1 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 3
              :close-on-press-escape="isClose">
4 4
 
5 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 8
         <div>{{record_date}}</div>
9 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 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 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 26
           <el-option
25 27
             v-for="(item,index) in payWays"
26 28
             :key="index"
27 29
             :label="item.label"
28 30
             :value="item.value">
29 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 36
       </el-form-item>
32 37
 
33 38
 
34 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 41
       </el-form-item>
37 42
 
38 43
 
@@ -42,17 +47,17 @@
42 47
 
43 48
       <el-form-item class="specialFormItem" label="折扣金额:">
44 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 51
         </div>
47 52
       </el-form-item>
48 53
       <el-form-item class="specialFormItem" label="优惠金额:">
49 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 56
         </div>
52 57
       </el-form-item>
53 58
       <el-form-item label="实收金额:">
54 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 61
         </div>
57 62
       </el-form-item>
58 63
       <el-form-item label="找回金额:">
@@ -82,7 +87,7 @@
82 87
       return {
83 88
         record_date:'',
84 89
         form: {
85
-          medical_insurance_price:'',
90
+          medical_insurance_price:0,
86 91
           private_price:'',
87 92
           pay_way:'',
88 93
           pay_price:'',
@@ -91,6 +96,7 @@
91 96
           preferential_price:'',
92 97
           reality_price:'',
93 98
           found_price:'',
99
+          total:0,
94 100
 
95 101
         },
96 102
         payWays: [
@@ -144,6 +150,9 @@
144 150
         this.total = total
145 151
         this.form.private_price = total
146 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 157
         this.visibility = true
149 158
 
@@ -167,6 +176,27 @@
167 176
         let form = {}
168 177
         form = this.form
169 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 201
     },mounted() {
172 202
       var nowDate = new Date()
@@ -189,6 +219,14 @@
189 219
   }
190 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 232
 </style>

+ 3 - 8
src/xt_pages/outpatientCharges/components/prescriptionTable.vue View File

@@ -61,15 +61,10 @@
61 61
         <template slot-scope="scope">{{ scope.row.project_name }}</template>
62 62
       </el-table-column>
63 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 65
       </el-table-column>
68 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 68
       </el-table-column>
74 69
       <el-table-column align="center" prop="delivery_way" width="80" label="用法">
75 70
         <template slot-scope="scope">
@@ -121,7 +116,7 @@
121 116
 
122 117
     <div class="additionalBox">
123 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 120
         <el-input v-model="item.price" placeholder="" style="width:50px;" readonly></el-input>
126 121
127 122
         <el-input v-model="item.count" placeholder="" style="width:50px;" readonly></el-input>

+ 20 - 12
src/xt_pages/outpatientCharges/components/registerDialog.vue View File

@@ -1,14 +1,14 @@
1 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 3
              :close-on-press-escape="isClose">
4 4
 
5 5
     <el-form :model="form"  :rules="rules"  ref="formValue"  label-width="100px">
6 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 8
       </el-form-item>
9 9
 
10 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 12
           <el-option
13 13
             v-for="item in sex"
14 14
             :key="item.value"
@@ -24,7 +24,7 @@
24 24
 
25 25
 
26 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 28
       </el-form-item>
29 29
 
30 30
       <el-form-item label="手机号码:" prop="phone">
@@ -33,7 +33,7 @@
33 33
 
34 34
 
35 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 37
           <el-option
38 38
             v-for="(item,index) in getDictionaryDataConfig('system','social_type')"
39 39
             :key="index"
@@ -45,7 +45,7 @@
45 45
 
46 46
 
47 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 49
           <el-option
50 50
             v-for="item in certificates"
51 51
             :key="item.value"
@@ -61,7 +61,7 @@
61 61
 
62 62
 
63 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 65
           <el-option
66 66
             v-for="item in settlement"
67 67
             :key="item.value"
@@ -73,7 +73,7 @@
73 73
 
74 74
 
75 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 77
           <el-option
78 78
             v-for="item in medicalCare"
79 79
             :key="item.value"
@@ -89,7 +89,7 @@
89 89
       </el-form-item>
90 90
 
91 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 93
           <el-option
94 94
             v-for="item in register"
95 95
             :key="item.value"
@@ -108,7 +108,7 @@
108 108
 
109 109
     <span slot="footer" class="dialog-footer">
110 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 112
   </span>
113 113
   </el-dialog>
114 114
 
@@ -317,6 +317,14 @@
317 317
   }
318 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 330
 </style>

+ 17 - 13
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue View File

@@ -5,21 +5,21 @@
5 5
     </div>
6 6
     <div class="app-container" style="display:flex;flex: 1;padding: 10px 20px 0px 20px;">
7 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 13
         <div class="mainCell">
14 14
           <el-radio-group v-model="radio" @change="changeRadio">
15
-            <el-radio :label=1>未收费</el-radio>
15
+            <!-- <el-radio :label=1>未收费</el-radio>
16 16
             <el-radio :label=2>已收费</el-radio>
17 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 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 24
           </el-radio-group>
25 25
         </div>
@@ -55,7 +55,7 @@
55 55
                      v-if="this.hisPatientInfo && this.hisPatientInfo.id == 0"
56 56
                      type="primary">挂号
57 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 59
                      @click="open(4)"
60 60
                      type="primary">收费
61 61
           </el-button>
@@ -214,7 +214,7 @@
214 214
                        :addtions_charge="addtions_charge"></additionalCharges>
215 215
 
216 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 218
     <el-dialog
219 219
       class="centerDialog"
220 220
       width="900px"
@@ -327,10 +327,12 @@
327 327
           if (response.data.state == 0) {
328 328
             this.$message.error(response.data.msg)
329 329
             this.loadingtwo = false
330
+            this.$refs.charge.hide()
330 331
             return false
331 332
           } else {
332 333
             this.state = '已收费'
333 334
             this.$message({message: '收费成功', type: 'success'})
335
+            this.$refs.charge.hide()
334 336
             this.loadingtwo = false
335 337
             this.cal_one = this.cal_one - 1
336 338
             this.cal_two = this.cal_two + 1
@@ -352,6 +354,7 @@
352 354
             this.$refs.register.hide()
353 355
             return false
354 356
           } else {
357
+            this.getPatientList()
355 358
             this.$message({message: '挂号成功', type: 'success'})
356 359
             this.$refs.register.hide()
357 360
             this.loadingone = false
@@ -362,6 +365,7 @@
362 365
 
363 366
 
364 367
       }, cancel() {
368
+        
365 369
         this.$refs.register.hide()
366 370
 
367 371
 
@@ -930,7 +934,7 @@
930 934
     height: 100%;
931 935
     display: flex;
932 936
     flex-direction: column;
933
-    margin-top: 20px;
937
+    padding-top: 20px;
934 938
 
935 939
   .el-radio {
936 940
     margin-right: 5px;

+ 26 - 3
src/xt_pages/outpatientCharges/summaryDetail.vue View File

@@ -66,7 +66,7 @@
66 66
 
67 67
                       <div class="additionalBox">
68 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 70
                           <el-input v-model="item.price" placeholder="" style="width:50px;" readonly></el-input>
71 71
72 72
                           <el-input v-model="item.count" placeholder="" style="width:50px;" readonly></el-input>
@@ -95,7 +95,7 @@
95 95
                         <li style="width:50%;">体重:{{patientInfo.weight?patientInfo.weight:''}}</li>
96 96
                         <li style="width:50%;">电话:{{patientInfo.phone}}</li>
97 97
                     </ul>
98
-                    <p class="centerRightTitle">收费信息</p>
98
+                    <p class="centerRightTitle" style="margin-top:10px;">收费信息</p>
99 99
                     <ul class="basicUl">
100 100
                         <li style="width:50%;">应收金额:{{order.medfee_sumamt }}元</li>
101 101
                         <li style="width:50%;">实收金额:{{order.reality_price}}元</li>
@@ -360,7 +360,7 @@ export default {
360 360
     }
361 361
     .centerRightTitle{
362 362
         color:#409EFF;
363
-        padding: 10px 0;
363
+        padding:0 0 10px 0;
364 364
     }
365 365
     .basicUl{
366 366
         border-top: 1px solid #e5e5e5;
@@ -377,6 +377,29 @@ export default {
377 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 404
 </style>
382 405
 

+ 1 - 1
src/xt_pages/outpatientCharges/treatPrint.vue View File

@@ -82,7 +82,7 @@ export default {
82 82
       this.print_time = uParseTime(ptime, "{y}-{m}-{d} {h}:{i}");
83 83
 
84 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 86
         printJS({
87 87
             printable: "prescription-print",
88 88
             type: "html",

+ 13 - 13
src/xt_pages/outpatientCharges/treatTemplate/printOne.vue View File

@@ -2,15 +2,15 @@
2 2
     <div id='prescription-print' class="prescription-print">
3 3
         <div class="printTitle">{{orgname}}&nbsp;&nbsp; 血液透析中心医药费收据及收费项目清单</div>
4 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 14
         </div>
15 15
         <div class="chargeBox">
16 16
             <div style="display:flex;justify-content: space-between;border-bottom:1px solid #000;">
@@ -49,7 +49,7 @@
49 49
                         <p style="width:50%;">{{list.order_info.psn_cash_pay}}</p>
50 50
                     </div>
51 51
                 </div>
52
-                <div style="width:80%;display:flex;height:600px;">
52
+                <div style="width:80%;display:flex;height:300px;">
53 53
                   
54 54
                     <div style="border-left:1px solid #000;border-right:1px solid #000;width:40%;text-align:center;">
55 55
                         <p v-for="(item,i) in prescription[0].advices" :key="i" class="chargeP">{{item.advice_name}}</p>
@@ -78,8 +78,8 @@
78 78
             <p>找赎金:</p>
79 79
         </div>
80 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 83
         </div>
84 84
     </div>
85 85
 </template>
@@ -206,7 +206,7 @@ export default {
206 206
     line-height: 24px;
207 207
     padding:0 10px;
208 208
 }
209
-.actionBar p{
209
+.actionBar div{
210 210
     width:150px;
211 211
 }
212 212
 </style>

+ 2 - 4
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue View File

@@ -68,9 +68,6 @@
68 68
               placeholder="请输入内容"
69 69
             ></el-autocomplete>
70 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 71
         </el-form>
75 72
         <div class="tabsBox">
76 73
 
@@ -1492,7 +1489,8 @@
1492 1489
 
1493 1490
   .tabsBox {
1494 1491
     position: relative;
1495
-    height: 76%;
1492
+    // height: 76%;
1493
+    flex: 1;
1496 1494
     overflow-y: auto;
1497 1495
     margin-bottom: 60px;
1498 1496
     margin-top: 4px;

+ 47 - 30
src/xt_pages/outpatientDoctorStation/components/deskRecord.vue View File

@@ -50,19 +50,6 @@
50 50
       <el-form-item label="家庭住址: " prop="name">
51 51
         <el-input v-model="patientInfo.home_address" placeholder="" :disabled="true"></el-input>
52 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 53
       <el-form-item label="过敏史: " prop="name">
67 54
         <el-input v-model="patientInfo.home_address" placeholder=""></el-input>
68 55
       </el-form-item>
@@ -90,22 +77,39 @@
90 77
     </el-form>
91 78
     <div class="mainTitle">病历信息:</div>
92 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 102
         <el-date-picker
97 103
           style="width:100%;"
98 104
           v-model="start_time"
99 105
           type="date"
100
-          placeholder="选择日期">
106
+          placeholder="选择日期"
107
+           :picker-options="pickerOptions0">
101 108
         </el-date-picker>
102 109
       </el-form-item>
103
-      <el-form-item label="" prop="name">
110
+      <el-form-item label="" prop="name" style="width:49%;">
104 111
         <el-checkbox v-model="case_history.is_infect">是否传染</el-checkbox>
105 112
       </el-form-item>
106
-      <el-form-item label="" prop="name" style="visibility: hidden;">
107
-        <div></div>
108
-      </el-form-item>
109 113
       <el-form-item label="主诉:" style="width:49%;">
110 114
         <el-select @change="changeMainTemplate" v-model="value" style="width:100%;margin-bottom:10px;">
111 115
             <el-option
@@ -238,7 +242,7 @@
238 242
   import medicalRecord from './medicalRecord'
239 243
   import saveRecordTemplate from './saveRecordTemplate'
240 244
   import { getDictionaryDataConfig } from "@/utils/data";
241
-  import {  createCaseHistory } from '@/api/his/his'
245
+  import {  createCaseHistory,getInitData } from '@/api/his/his'
242 246
   import { getDataConfig } from "@/utils/data";
243 247
   import { getTemplateDetail,getMedicalTemplateList } from "@/api/project/project"
244 248
   export default {
@@ -270,6 +274,11 @@
270 274
         //   family_history:"",
271 275
 
272 276
         // },
277
+          pickerOptions0: {
278
+          disabledDate(time) {
279
+            return time.getTime() < Date.now() - 8.64e7;
280
+          }
281
+        },
273 282
         formValue:{
274 283
           temperature:"",
275 284
           blood_sugar:"",
@@ -303,8 +312,7 @@
303 312
         valueSix:'',
304 313
         valueSeven:'',
305 314
         diagnoses:[],
306
-        state1:"",
307
-        diagnose:""
315
+        sick:[],
308 316
       }
309 317
     },
310 318
     methods: {
@@ -376,7 +384,7 @@
376 384
 
377 385
 
378 386
       getTemplateDetail(id){
379
-          console.log("22222")
387
+         
380 388
           getTemplateDetail(id).then(response=>{
381 389
               if(response.data.state == 1){
382 390
                 var templatedetail =  response.data.data.templateDetail
@@ -390,8 +398,8 @@
390 398
                 this.case_history.diagnostic = templatedetail.diagnostic
391 399
                 this.case_history.doctor_advice = templatedetail.doctor_advice
392 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,6 +521,7 @@
513 521
           } else {
514 522
             this.sick = response.data.data.sick
515 523
             this.diagnoses = response.data.data.diagnose
524
+          
516 525
           }
517 526
         })
518 527
 
@@ -520,6 +529,7 @@
520 529
     },
521 530
     created(){
522 531
        this.getlist()
532
+       this.getInitData()
523 533
        this.wayOptions = getDataConfig("patient", "reimbursement_ways");
524 534
        console.log("232322323",this)
525 535
        if(this.patientInfo.gender = 1){
@@ -527,7 +537,7 @@
527 537
        }else if(this.patientInfo.gender = 2){
528 538
           this.patientInfo.gender = '女'
529 539
         }
530
-     this.getInitData()
540
+    
531 541
     },
532 542
     watch:{
533 543
       detalid:function(val){
@@ -546,10 +556,17 @@
546 556
         deep: true
547 557
       },
548 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 View File

@@ -1,4 +1,5 @@
1 1
 <template>
2
+<div>
2 3
   <el-dialog
3 4
     title="详情"
4 5
     width="1000px"
@@ -6,10 +7,10 @@
6 7
     :before-close="_close"
7 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 11
       <el-button v-if="activeName == 'first'" @click="open(1)" type="primary">打印</el-button>
11 12
       <el-button v-if="activeName == 'second'" @click="open(2)" type="primary">打印</el-button>
12
-    </div> -->
13
+    </div>
13 14
     <el-tabs v-model="activeName">
14 15
 
15 16
       <el-tab-pane label="处方详情" name="first">
@@ -33,11 +34,11 @@
33 34
         <div class="commonCell">
34 35
           <p style="color:#409EFF;">基本信息</p>
35 36
           <div class="detailMain">
36
-            <span style="width:260px;">处方号:{{order.prescription_number}}</span>
37
+            <span style="width:270px;">处方号:{{order.prescription_number}}</span>
37 38
             <span style="width:180px;">姓名:{{order.patient.name}}</span>
38 39
             <span style="width:240px;">证件号:{{order.patient.id_card_no}}</span>
39 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 42
             <span style="width:180px;">科室:{{getDepartMent(order.departments)}}</span>
42 43
             <span style="width:240px;">创建时间: {{getTimes(order.ctime,"{y}-{m}-{d} {h}:{i}")}}</span>
43 44
             <!-- <span style="width:180px;">疾病名称:{{case_history.diagnostic}}</span>
@@ -102,7 +103,18 @@
102 103
       <el-button @click="hide">取 消</el-button>
103 104
       <!--<el-button type="primary" :loading="submitLoading" @click="hide">确定</el-button>-->
104 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 116
   </el-dialog>
117
+</div>
106 118
 </template>
107 119
 
108 120
 
@@ -112,11 +124,13 @@
112 124
   import { getHisPrescriptionInfo } from '@/api/his/his'
113 125
   import NewPrescriptionTable from './newPrescriptionTable'
114 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 132
   export default {
119
-    components: { NewPrescriptionTable },
133
+    components: { NewPrescriptionTable,print,recordPrint },
120 134
     data() {
121 135
       return {
122 136
         visible: false,
@@ -147,7 +161,10 @@ import moment from 'moment';
147 161
         case_history:{},
148 162
         order:{},
149 163
         doctorList:[],
150
-        departmentList:[]
164
+        departmentList:[],
165
+        innerVisible:false,
166
+        paramsObj:{},
167
+        patientid:''
151 168
       }
152 169
     },
153 170
     methods: {
@@ -160,11 +177,22 @@ import moment from 'moment';
160 177
            var prescription_id = arr[0]
161 178
            var record_date = this.format(this.order.record_date)
162 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 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 198
       getTimes(time,temp) {

+ 7 - 11
src/xt_pages/outpatientDoctorStation/components/newPrescriptionTable.vue View File

@@ -61,12 +61,12 @@
61 61
       <el-table-column align="center" prop="project_name" label="名称">
62 62
         <template slot-scope="scope">{{ scope.row.project_name }}</template>
63 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 65
         <template slot-scope="scope">
66
-          {{getGroup(scope.row.statistical_classification)}}
66
+          <div>{{getGroup(scope.row.statistical_classification)}}</div>
67 67
         </template>
68 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 70
         <template slot-scope="scope">
71 71
           <!--<el-input v-model="scope.row.single_dose" placeholder="" readonly></el-input>-->
72 72
           <div> {{scope.row.single_dose}}</div>
@@ -80,30 +80,26 @@
80 80
 
81 81
         </template>
82 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 84
         <template slot-scope="scope">
85 85
           <!--<el-input v-model="scope.row.execution_frequency" placeholder="" readonly></el-input>-->
86 86
           <div> {{scope.row.execution_frequency}}</div>
87 87
 
88 88
         </template>
89 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 91
         <template slot-scope="scope">
92 92
           <!--<el-input v-model="scope.row.number_days" placeholder="" readonly></el-input>-->
93 93
           <div> {{scope.row.number_days}}</div>
94 94
 
95 95
         </template>
96 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 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 99
             <div> {{scope.row.total}}</div>
102
-
103
-          </div>
104 100
         </template>
105 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 103
         <template slot-scope="scope">
108 104
           <!--<el-input v-model="scope.row.price" placeholder="" readonly></el-input>-->
109 105
           <div> {{scope.row.price}}</div>

+ 124 - 178
src/xt_pages/outpatientDoctorStation/components/recordTemplateDetail.vue View File

@@ -1,58 +1,44 @@
1 1
 <template>
2 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 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 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 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 42
             <el-input
57 43
               type="textarea"
58 44
               :rows="2"
@@ -60,138 +46,95 @@
60 46
               v-model="form.history_of_present_illness">
61 47
             </el-input>
62 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 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 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 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 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 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 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 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 136
             </el-input>
194
-            </el-form-item>
137
+          </el-form-item>
195 138
         </el-form>
196 139
         <div slot="footer" class="dialog-footer">
197 140
             <el-button @click="hide">取 消</el-button>
@@ -421,12 +364,15 @@ export default {
421 364
 
422 365
 <style lang="scss" scoped>
423 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 377
 </style>
432 378
 

+ 37 - 11
src/xt_pages/outpatientDoctorStation/doctorDesk.vue View File

@@ -54,8 +54,8 @@
54 54
               <el-button size="small" ref="button_six"   @click="open(6)">治疗单</el-button>
55 55
               <el-button slot="reference" style="margin:0 10px;" type="primary" size="small">打印</el-button>
56 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 59
           </div>
60 60
           <div class="mainCell fixedCell" style="float:right" v-if="titleType == '电子病历'">
61 61
             <el-button size="small" @click="opentwo(1)" type="primary">保存</el-button>
@@ -305,7 +305,8 @@
305 305
 
306 306
           }
307 307
         })
308
-      },getPatientInfo(val){
308
+      },
309
+      getPatientInfo(val){
309 310
         this.patientid = val.patients.id
310 311
         let params = {
311 312
           'record_date': this.record_date,
@@ -354,6 +355,15 @@
354 355
             if (this.case_history.sick_type <= 0) {
355 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 367
             this.case_history.sick_date = uParseTime(this.case_history.sick_date, '{y}-{m}-{d}')
358 368
             if (this.case_history.is_infect == 1) {
359 369
               this.case_history.is_infect = true
@@ -497,13 +507,20 @@
497 507
                 this.hisPatientInfo = response.data.data.his_info
498 508
                 this.case_history = response.data.data.case_history
499 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 512
                 this.case_history = case_history
505 513
                 this.info = response.data.data.info
506 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 524
                 if (this.case_history.temperature <= 0) {
508 525
                   this.case_history.temperature = ''
509 526
                 }
@@ -638,12 +655,20 @@
638 655
               this.case_history = response.data.data.case_history
639 656
               var case_history = response.data.data.case_history
640 657
               console.log("case_history22222222",case_history)
641
-              if (case_history.breathing  == 0) {
642
-                case_history.breathing = ""
643
-              }
658
+             
644 659
               this.case_history = case_history
645 660
               this.info = response.data.data.info
646 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 672
               if (this.case_history.temperature <= 0) {
648 673
                 this.case_history.temperature = ''
649 674
               }
@@ -762,6 +787,7 @@
762 787
 
763 788
       },
764 789
       currentChange(currentRow, oldCurrentRow){
790
+       
765 791
         let isShowDailog = false
766 792
         for (let i = 0; i < this.prescriptions.length; i++){
767 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,7 +885,7 @@
859 885
        // console.log("99999",this.selecting_schs)
860 886
       },
861 887
       handleClick(){
862
-
888
+       
863 889
       },
864 890
       savePrint(){
865 891
         var arr = []

+ 0 - 1
src/xt_pages/outpatientDoctorStation/recordPrint.vue View File

@@ -50,7 +50,6 @@ export default {
50 50
       educationOptions:[],
51 51
       history:{},
52 52
       keyword:"",
53
-      patientid:''
54 53
     };
55 54
   },
56 55
   methods: {

+ 2 - 1
src/xt_pages/outpatientDoctorStation/recordTemplate/printOne.vue View File

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

+ 25 - 5
src/xt_pages/outpatientDoctorStation/template/printOne.vue View File

@@ -13,7 +13,7 @@
13 13
           </div>
14 14
           <div class="infoMain">
15 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 17
               <div style="margin-bottom: 10px;">医保卡号:{{item.hisPatient.number?item.hisPatient.number:""}}</div>
18 18
               <div style="margin-bottom: 10px;">电话:{{item.patient.phone}}</div>
19 19
               <div>地址:{{item.patient.home_address}}</div>
@@ -23,11 +23,19 @@
23 23
               <div class="Rp">Rp:</div>
24 24
               <div class="drugsBox" v-for="(it,index) in item.advices" :key="index">
25 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 27
               </div>
28 28
               <div class="drugsBox" v-for="(it,i) in item.additionalcharge" :key="i">
29 29
                 <div class="drugsOne">{{it.item_name?it.item_name:""}}:&nbsp;{{it.price}}元/{{it.count}}次</div>
30 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 40
           </div>
33 41
           <div class="doctorBox">
@@ -75,8 +83,8 @@ export default {
75 83
         prescriptionInfo:[],
76 84
         hisPatient:{},
77 85
         department:[],
78
-        prescriptions:[]
79
-        
86
+        prescriptions:[],
87
+        projectList:[]
80 88
       }
81 89
     },
82 90
    methods:{
@@ -126,6 +134,9 @@ export default {
126 134
             var hisPatient = response.data.data.hisPatient
127 135
             console.log("hisPatient",hisPatient)
128 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,7 +210,16 @@ export default {
199 210
 
200 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 225
    created(){

+ 2 - 0
src/xt_pages/outpatientDoctorStation/template/printTwo.vue View File

@@ -23,6 +23,8 @@
23 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 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 25
             </div>
26
+
27
+            
26 28
         </div>
27 29
         <div class="doctorBox">
28 30
             <p>医师:{{getDoctor(advicePrint[0].advice_doctor)?getDoctor(advicePrint[0].advice_doctor):""}}</p>

+ 2 - 3
src/xt_pages/outpatientDoctorStation/treatTemplate/printOne.vue View File

@@ -305,9 +305,8 @@ export default {
305 305
             this.prescriptions = advicePrint
306 306
             var projectlist =  response.data.data.projectlist
307 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 View File

@@ -102,10 +102,10 @@
102 102
                 </el-table-column>
103 103
                 <el-table-column align="center" prop="name" label="操作" width="180">
104 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 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 109
                       <el-button size="mini" type="primary" @click="open(scope.row)">详情</el-button>
110 110
                     </template>
111 111
                 </el-table-column>
@@ -250,7 +250,7 @@ export default {
250 250
             ],
251 251
             start_time:moment().format("YYYY-MM-DD"),
252 252
             end_time:moment().format("YYYY-MM-DD"),
253
-            limit:20,
253
+            limit:10,
254 254
             page:1,
255 255
             total:0,
256 256
             departMent:[],
@@ -352,7 +352,8 @@ export default {
352 352
             startUnix:'',
353 353
 
354 354
             dialogVisible:false,
355
-            form:{}
355
+            form:{},
356
+            is_Name:false
356 357
         }
357 358
     },
358 359
     created(){
@@ -410,11 +411,11 @@ export default {
410 411
         },
411 412
        handleSizeChange(val) {
412 413
           this.limit = val
413
-          this.getList()
414
+          this.getlist()
414 415
        },
415 416
         handleCurrentChange(val) {
416 417
         this.page = val
417
-        this.getList()
418
+        this.getlist()
418 419
         },
419 420
         getlist(){
420 421
           var params = {
@@ -561,8 +562,8 @@ export default {
561 562
         let arr = this.medicalCare
562 563
         let str = ''
563 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 568
         return str
568 569
       },

+ 12 - 2
src/xt_pages/stock/Dialog/goodTypeDialog.vue View File

@@ -9,6 +9,14 @@
9 9
           </el-form-item>
10 10
         </el-col>
11 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 20
       <el-row>
13 21
          <el-col >
14 22
           <el-form-item label="备注">
@@ -17,7 +25,7 @@
17 25
           </el-form-item>
18 26
         </el-col>
19 27
       </el-row>
20
-
28
+   
21 29
 
22 30
     </el-form>
23 31
 
@@ -48,7 +56,8 @@ export default {
48 56
         type_name: [
49 57
           { required: true, message: "请输入类型名称", trigger: "blur" }
50 58
         ]
51
-      }
59
+      },
60
+       out_stock: '1'
52 61
     };
53 62
   },
54 63
   props: {
@@ -87,6 +96,7 @@ export default {
87 96
       form["type_name"] = this.formValue.type_name;
88 97
       form["remark"] = this.formValue.remark;
89 98
       form["isCreated"] = this.isCreated;
99
+      form['out_stock'] = this.out_stock;
90 100
       return form;
91 101
     }
92 102
   },

+ 3 - 7
src/xt_pages/stock/Dialog/manufacturerOrDealerDialog.vue View File

@@ -20,12 +20,12 @@
20 20
       </el-col>
21 21
 
22 22
       <el-col :span="8">
23
-        <el-form-item label="拼音" prop="pinyin">
23
+        <el-form-item label="拼音">
24 24
           <el-input  v-model="formValue.pinyin"></el-input>
25 25
         </el-form-item>
26 26
       </el-col>
27 27
       <el-col :span="8">
28
-        <el-form-item label="五笔" prop="wubi">
28
+        <el-form-item label="五笔">
29 29
           <el-input  v-model="formValue.wubi"></el-input>
30 30
         </el-form-item>
31 31
       </el-col>
@@ -119,11 +119,7 @@
119 119
           ],
120 120
           dealer_name: [
121 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 View File

@@ -10,7 +10,7 @@
10 10
     <el-row :gutter="20">
11 11
       <el-col :span="8">
12 12
         <el-table
13
-          :data="propForm.goods"
13
+          :data="propForm.goodType"
14 14
           ref="table"
15 15
           border
16 16
           highlight-current-row
@@ -24,7 +24,8 @@
24 24
             align="center"
25 25
             label="商品类型">
26 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 29
             </template>
29 30
           </el-table-column>
30 31
         </el-table>
@@ -102,7 +103,8 @@
102 103
         isClose: false,
103 104
         visibility: false,
104 105
         SelectedDatas: [],
105
-        table_current_index: -1
106
+        table_current_index: -1,
107
+        tableData:[],
106 108
       }
107 109
     },
108 110
     props: {
@@ -110,6 +112,10 @@
110 112
         type: Object
111 113
       }
112 114
     },
115
+    created(){
116
+      this.tableData = this.propForm.goodType
117
+      console.log("222233333",this.tableData)
118
+    },
113 119
     methods: {
114 120
       hide: function() {
115 121
         this.visibility = false
@@ -131,30 +137,27 @@
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 161
       cancle: function(formName) {
159 162
         this.goodInfo = []
160 163
         this.goodInfoTableData = []
@@ -213,22 +216,24 @@
213 216
             return this.propForm.goodUnit[i].name
214 217
           }
215 218
         }
216
-      }, search: function() {
219
+      }, 
220
+     
221
+      search:function() {
217 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 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 237
       }, changeAllGoodInfoTableData: function(selection) {
233 238
 
234 239
         var goodInfos = this.propForm.goods[this.table_current_index][this.currentGoodTypeId]

+ 5 - 2
src/xt_pages/stock/config/goodType.vue View File

@@ -313,9 +313,10 @@ export default {
313 313
           type_name: val.type_name,
314 314
           remark: val.remark,
315 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 320
         modifyGoodType(params).then(response => {
320 321
           if (response.data.state == 0) {
321 322
             this.$message.error(response.data.msg);
@@ -333,7 +334,9 @@ export default {
333 334
         });
334 335
       } else if (val.isCreated == 1) {
335 336
         //新增
337
+       
336 338
         createGoodType(val).then(response => {
339
+          
337 340
           if (response.data.state == 0) {
338 341
             this.$message.error(response.data.msg);
339 342
             return false;

+ 6 - 3
src/xt_pages/stock/drugs/drugStockInOrderAdd.vue View File

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

+ 763 - 42
src/xt_pages/stock/stockInOrder.vue View File

@@ -124,8 +124,22 @@
124 124
           </template>
125 125
         </el-table-column>
126 126
 
127
-        <el-table-column label="操作" align="center">
127
+        <el-table-column label="操作" align="center" width="260px">
128 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 143
             <el-tooltip
130 144
               class="item"
131 145
               effect="dark"
@@ -140,6 +154,7 @@
140 154
               >
141 155
               </el-button>
142 156
             </el-tooltip>
157
+
143 158
             <el-tooltip
144 159
               class="item"
145 160
               effect="dark"
@@ -170,10 +185,363 @@
170 185
       >
171 186
       </el-pagination>
172 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 540
   </div>
174 541
 </template>
175 542
 
176 543
 <script>
544
+import stockInDialog from "./Dialog/stockInDialog";
177 545
 import { uParseTime } from "@/utils/tools";
178 546
 import { fetchAllAdminUsers, fetchAllDoctorAndNurse } from "@/api/doctor";
179 547
 import {
@@ -182,43 +550,19 @@ import {
182 550
   GetAllGoodInfo,
183 551
   GetAllGoodType,
184 552
   getWarehouseInfoList,
185
-  getWarehouseList
553
+  getWarehouseList,
554
+  DeleteWarehouseInfoItem,
555
+  GetAllGoodInfoByID,
556
+  EditWarehouse
186 557
 } from "@/api/stock";
558
+
559
+import { GetAllDrugInfoByID,postDrugWarehouse} from "@/api/drug/drug_stock";
187 560
 import BreadCrumb from "../components/bread-crumb";
188 561
 
189 562
 export default {
190 563
   name: "stockIn",
191
-  components: { BreadCrumb },
564
+  components: { BreadCrumb, stockInDialog },
192 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 567
     var nowDate = new Date();
224 568
     var nowYear = nowDate.getFullYear();
@@ -231,21 +575,38 @@ export default {
231 575
       "-" +
232 576
       (nowDay < 10 ? "0" + nowDay : nowDay);
233 577
     nowDate.setMonth(nowDate.getMonth() - 1);
234
-    nowYear = nowDate.getFullYear();
235
-    nowMonth = nowDate.getMonth() + 1;
236
-    nowDay = nowDate.getDate();
578
+  
237 579
     this.start_time =
238 580
       nowYear +
239 581
       "-" +
240 582
       (nowMonth < 10 ? "0" + nowMonth : nowMonth) +
241 583
       "-" +
242 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 595
     this.GetWarehouse();
245 596
     this.GetConfigInfo();
246 597
     this.fetchAllAdminUsers();
598
+    this.GetAllGoodType()
599
+    this.GetAllGoodInfo()
247 600
   },
248 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 610
     return {
250 611
       crumbs: [
251 612
         { path: false, name: "库存管理" },
@@ -277,10 +638,59 @@ export default {
277 638
 
278 639
       WarehouseInfo: {
279 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 695
   methods: {
286 696
     search: function() {
@@ -349,9 +759,7 @@ export default {
349 759
         } else {
350 760
           this.WarehouseInfo.loading = false;
351 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,6 +833,7 @@ export default {
425 833
           this.$message.error(response.data.msg);
426 834
           return false;
427 835
         } else {
836
+          
428 837
           for (let i = 0; i < response.data.data.goodType.length; i++) {
429 838
             this.goodType.push(response.data.data.goodType[i]);
430 839
           }
@@ -437,7 +846,9 @@ export default {
437 846
           this.$message.error(response.data.msg);
438 847
           return false;
439 848
         } else {
849
+          
440 850
           for (let i = 0; i < response.data.data.goodInfo.length; i++) {
851
+
441 852
             this.goodInfo.push(response.data.data.goodInfo[i]);
442 853
           }
443 854
         }
@@ -502,6 +913,13 @@ export default {
502 913
       // 把时间日期转成时间戳
503 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 923
     calculate: function(val) {
506 924
       return Math.round(parseFloat(val) * 100) / 100;
507 925
     },
@@ -513,6 +931,9 @@ export default {
513 931
         } else {
514 932
           this.manufacturer = response.data.data.manufacturer;
515 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,7 +965,7 @@ export default {
544 965
       const params = {
545 966
         ids: idStr
546 967
       };
547
-
968
+     
548 969
       this.$confirm("确认删除入库单记录?", "删除入库单记录", {
549 970
         confirmButtonText: "确定",
550 971
         cancelButtonText: "取消",
@@ -626,7 +1047,307 @@ export default {
626 1047
           });
627 1048
         })
628 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 1353
 </script>

+ 4 - 2
src/xt_pages/stock/stockInOrderAdd.vue View File

@@ -15,7 +15,8 @@
15 15
       <stock-in-dialog ref="dialog" :propForm="propForm"
16 16
                        :visibility="isVisibility"
17 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 22
       <div class="cell clearfix">
@@ -374,7 +375,8 @@
374 375
         this.propForm.goodType = []
375 376
         this.propForm.goods = []
376 377
         this.$refs.dialog.hide()
377
-      }, GetAllGoodType: function() {
378
+      }, 
379
+      GetAllGoodType: function() {
378 380
         GetAllGoodType().then(response => {
379 381
           if (response.data.state == 0) {
380 382
             this.$message.error(response.data.msg)

+ 1 - 0
src/xt_pages/stock/stockInOrderEdit.vue View File

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

+ 320 - 5
src/xt_pages/stock/stockOutOrder.vue View File

@@ -119,8 +119,24 @@
119 119
           </template>
120 120
         </el-table-column>
121 121
 
122
-        <el-table-column label="操作" align="center">
122
+        <el-table-column label="操作" align="center" width="300px">
123 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 140
             <el-tooltip
125 141
               class="item"
126 142
               effect="dark"
@@ -165,6 +181,187 @@
165 181
       >
166 182
       </el-pagination>
167 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 365
   </div>
169 366
 </template>
170 367
 
@@ -175,7 +372,9 @@ import { fetchAllAdminUsers, fetchAllDoctorAndNurse } from "@/api/doctor";
175 372
 import {
176 373
   deleteWarehouseOut,
177 374
   GetAllConfig,
178
-  getWarehouseOutList
375
+  getWarehouseOutList,
376
+  getWarehouseOutInfo,
377
+  getWarehouseOutUser
179 378
 } from "@/api/stock";
180 379
 import BreadCrumb from "../components/bread-crumb";
181 380
 
@@ -203,8 +402,9 @@ export default {
203 402
       (nowMonth < 10 ? "0" + nowMonth : nowMonth) +
204 403
       "-" +
205 404
       (nowDay < 10 ? "0" + nowDay : nowDay);
206
-    this.GetWarehouseOut();
207 405
     this.GetConfigInfo();
406
+    this.GetWarehouseOut();
407
+   
208 408
     this.fetchAllAdminUsers();
209 409
   },
210 410
   data() {
@@ -231,7 +431,19 @@ export default {
231 431
       manufacturer: [],
232 432
       selectedTableData: [],
233 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 449
   methods: {
@@ -366,6 +578,8 @@ export default {
366 578
         } else {
367 579
           this.manufacturer = response.data.data.manufacturer;
368 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,7 +693,108 @@ export default {
479 693
           });
480 694
         })
481 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 800
 </script>

+ 8 - 4
src/xt_pages/stock/stockOutOrderDetail.vue View File

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

+ 4 - 2
src/xt_pages/stock/stockOutOrderEdit.vue View File

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

+ 2 - 1
src/xt_pages/stock/stockUserDetail.vue View File

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

+ 3 - 3
src/xt_pages/workforce/components/tableData.vue View File

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