Browse Source

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

XMLWAN 3 years ago
parent
commit
dab5a0429a
31 changed files with 4976 additions and 1029 deletions
  1. 11 0
      src/api/his/his_hospital.js
  2. BIN
      src/assets/purchase/ban.png
  3. 2 0
      src/lang/en.js
  4. 4 0
      src/lang/zh.js
  5. 5 1
      src/router/index.js
  6. 17 0
      src/router/modules/inventoryTransfer.js
  7. 24 0
      src/router/modules/stock.js
  8. 33 0
      src/router/modules/wareHouseManage.js
  9. 1 3
      src/views/layout/Layout.vue
  10. 1 1
      src/views/layout/components/Sidebar/index.vue
  11. 2294 883
      src/xt_pages/dialysis/template/DialysisPrintOrderFortySeven.vue
  12. 66 37
      src/xt_pages/hospitalStation/chargeDetailManagement.vue
  13. 2 2
      src/xt_pages/hospitalStation/components/deskPrescription.vue
  14. 1110 0
      src/xt_pages/hospitalStation/components/hospitalRegisterDialog.vue
  15. 44 46
      src/xt_pages/hospitalStation/components/settlePrescriptionTable.vue
  16. 2 2
      src/xt_pages/hospitalStation/invoiceTemplate/printTwo.vue
  17. 121 9
      src/xt_pages/hospitalStation/outpatientChargesManagement.vue
  18. 8 2
      src/xt_pages/hospitalStation/summary.vue
  19. 30 30
      src/xt_pages/outpatientCharges/components/prescriptionTable.vue
  20. 1 1
      src/xt_pages/outpatientCharges/components/registerDialog.vue
  21. 3 3
      src/xt_pages/outpatientCharges/invoicePrint.vue
  22. 6 2
      src/xt_pages/outpatientCharges/invoiceTemplate/printFour.vue
  23. 1 1
      src/xt_pages/outpatientCharges/outpatientChargesManagement.vue
  24. 4 2
      src/xt_pages/outpatientCharges/statementTemplate/printOne.vue
  25. 226 0
      src/xt_pages/stock/inventoryTransfer/Addtrans.vue
  26. 228 0
      src/xt_pages/stock/inventoryTransfer/index.vue
  27. 176 0
      src/xt_pages/stock/inventoryTransfer/transDetails.vue
  28. 91 0
      src/xt_pages/stock/warehouseManage/components/AddWareHouse.vue
  29. 336 0
      src/xt_pages/stock/warehouseManage/query.vue
  30. 119 0
      src/xt_pages/stock/warehouseManage/waresetting.vue
  31. 10 4
      src/xt_pages/supply/components/addGoodReturn.vue

+ 11 - 0
src/api/his/his_hospital.js View File

@@ -10,3 +10,14 @@ export function upLoadChargeInfo(params) {
10 10
   });
11 11
 }
12 12
 
13
+
14
+export function refundDetail(params) {
15
+  return request({
16
+    url: "/api/hospital/refunddetail",
17
+    method: "get",
18
+    params:params
19
+  });
20
+}
21
+
22
+
23
+

BIN
src/assets/purchase/ban.png View File


+ 2 - 0
src/lang/en.js View File

@@ -95,6 +95,8 @@ export default {
95 95
     deviceZoneManage: 'Device Zone Manage',
96 96
     deviceGroupManage: 'Device Group Manage',
97 97
     stockManage: 'Stock Manage',
98
+    wareHouseManage:'Ware House Manage',
99
+    inventoryTransfer:'inventoryTransfer',
98 100
     supplyManage: 'Supply Manage',
99 101
     supplyQuery: 'supply query',
100 102
     baseInfo: 'base Info',

+ 4 - 0
src/lang/zh.js View File

@@ -1,4 +1,5 @@
1 1
 export default {
2
+// 须在src/lang中进行国际化配置
2 3
   route: {
3 4
     dashboard: '首页',
4 5
     introduction: '简述',
@@ -172,6 +173,9 @@ export default {
172 173
     selfPreparedMedicineQuery: '自备药查询',
173 174
     selfPreparedMedicineIndex: '自备药管理',
174 175
     selfPreparedMedicine: '自备药管理',
176
+    wareHouseManage:'仓库管理',
177
+    inventoryTransfer:'库存调拨',
178
+
175 179
     consumablesManagement: '耗材管理',
176 180
     warehouseReceipt: '出入库',
177 181
     warehouseReceiptOther: '出入库',

+ 5 - 1
src/router/index.js View File

@@ -22,6 +22,8 @@ import slow from './modules/slow'
22 22
 import scrm from './modules/scrm'
23 23
 import shop from './modules/shop'
24 24
 import selfPreparedMedicine from './modules/selfPreparedMedicine'
25
+import wareHouseManage from './modules/wareHouseManage'
26
+import inventoryTransfer from './modules/inventoryTransfer'
25 27
 import drugs from './modules/drugs'
26 28
 import outpatientRegistration from './modules/outpatientRegistration'
27 29
 import outpatientDoctorStation from './modules/outpatientDoctorStation'
@@ -149,7 +151,9 @@ var _asy_router_map = [
149 151
   dialysis,
150 152
   stock,
151 153
   drugs,
152
-  selfPreparedMedicine,
154
+  selfPreparedMedicine,  //自备药管理模块
155
+  wareHouseManage,  //仓库管理模块
156
+  inventoryTransfer,    //库存调拨模块
153 157
   otherManagement,
154 158
   qcd,
155 159
   device,

+ 17 - 0
src/router/modules/inventoryTransfer.js View File

@@ -0,0 +1,17 @@
1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default {
4
+  path: '/inventoryTransfer',
5
+  component: Layout,
6
+  name:'inventoryTransfer',
7
+  redirct: 'noredirect',
8
+  children: [{
9
+    path: '/stock/inventoryTransfer',
10
+    component: () => import('@/xt_pages/stock/inventoryTransfer/index.vue'),
11
+    name: '库存调拨',
12
+    meta: {
13
+      title: '库存调拨',
14
+      noCache: true
15
+    }
16
+  },]
17
+}

+ 24 - 0
src/router/modules/stock.js View File

@@ -348,6 +348,30 @@ export default {
348 348
         title: '退库打印',
349 349
         noCache: true
350 350
       }
351
+    },
352
+
353
+    {
354
+      path: '/stock/inventoryTransfer/Addtrans',
355
+      component: () => import('@/xt_pages/stock/inventoryTransfer/Addtrans'),
356
+      hidden: true,
357
+      is_menu: false,
358
+      name: 'Addtrans',
359
+      meta: {
360
+        title: '新增调拨',
361
+        noCache: true
362
+      }
363
+    },
364
+
365
+    {
366
+      path: '/stock/inventoryTransfer/transDetails',
367
+      component: () => import('@/xt_pages/stock/inventoryTransfer/transDetails'),
368
+      hidden: true,
369
+      is_menu: false,
370
+      name: 'Addtrans',
371
+      meta: {
372
+        title: '调拨详情',
373
+        noCache: true
374
+      }
351 375
     }
352 376
   ]
353 377
 }

+ 33 - 0
src/router/modules/wareHouseManage.js View File

@@ -0,0 +1,33 @@
1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default {
4
+    path: '/stock/wareHouseManage',
5
+    component: Layout,
6
+    redirect: 'noredirect',
7
+    name: 'wareHouseManage',
8
+    alwaysShow: true,
9
+    meta: {
10
+        title: 'wareHouseManage',
11
+        icon: 'stock',
12
+        isChild: true
13
+    },
14
+    children: [
15
+        {
16
+            path: '/stock/warehousequery',
17
+            component: () => import('@/xt_pages/stock/warehouseManage/query'),
18
+            name: 'warehousequery',
19
+            meta: { title: '仓库信息', noCache: true },
20
+        },
21
+        {
22
+            path: '/stock/waresetting',
23
+            component: () => import('@/xt_pages/stock/warehouseManage/waresetting'),
24
+            name: 'waresetting',
25
+            hidden: true,
26
+            is_menu: false,    
27
+            meta: { title: '仓库设置', noCache: true },
28
+        }
29
+
30
+    ]
31
+
32
+
33
+}

+ 1 - 3
src/views/layout/Layout.vue View File

@@ -16,12 +16,10 @@
16 16
           <i class="iconfont icon-computer_fill navIcon"></i>
17 17
           <p>透析管理</p>
18 18
         </div>
19
-
20 19
        <div v-if="caigouShow" :class="index == 5 ? 'navOne navActive' : 'navOne'" @click="clickActive(5,'采购管理')">
21 20
          <i class="iconfont icon-kccx navIcon"></i>
22 21
          <p>采购管理</p>
23 22
       </div>
24
-
25 23
         <div v-if="kucunShow" :class="index == 3 ? 'navOne navActive' : 'navOne'" @click="clickActive(3,'库房管理')">
26 24
           <i class="iconfont icon-kccx navIcon"></i>
27 25
           <p>库房管理</p>
@@ -132,7 +130,7 @@ export default {
132 130
     let menzhen = ['hospitalStation',"hospitalRecord","hospitalCharges","hisTool",'outpatientRegistration','outpatientDoctorStation','outpatientCharges','outpatientPharmacy','outpatientRecord'];
133 131
     let bingli = ['User','createPatient'];
134 132
     let touxi = ['home','workforce', 'dialysisrecord', 'dialysis', 'medicalScheduling', 'signIndex', 'qcd', 'device', 'quality_control'];
135
-    let kucun = ['stockManage','stockDrugs','selfPreparedMedicine','otherManagement'];
133
+    let kucun = ['stockManage','stockDrugs','selfPreparedMedicine','inventoryTransfer','wareHouseManage','otherManagement'];
136 134
     let caigou = ['supplyManage','supplyList'];
137 135
     let peizhi = ['system','roleManage','DepartManage', 'bedManagement', 'dictionaryManagement', 'templateManagement','showconfig','printTemplate','integration_config','basicConfig'];
138 136
     let kuyishopping = ['kuyiShopping'];

+ 1 - 1
src/views/layout/components/Sidebar/index.vue View File

@@ -121,7 +121,7 @@ export default {
121 121
             this.$emit('func',a)
122 122
           }
123 123
         }else if(newVal == '库房管理'){
124
-          let nameArr = ['stockManage','stockDrugs','selfPreparedMedicine','otherManagement'];
124
+          let nameArr = ['stockManage','stockDrugs','selfPreparedMedicine','inventoryTransfer','wareHouseManage','otherManagement'];
125 125
           let routerArr = [];
126 126
           this.permission_routers.map(item => {
127 127
             if(nameArr.indexOf(item.name) > -1){

File diff suppressed because it is too large
+ 2294 - 883
src/xt_pages/dialysis/template/DialysisPrintOrderFortySeven.vue


+ 66 - 37
src/xt_pages/hospitalStation/chargeDetailManagement.vue View File

@@ -95,6 +95,15 @@
95 95
             >撤销明细
96 96
             </el-button>
97 97
 
98
+
99
+
100
+            <el-button
101
+                v-if="( this.radio == 2 &&this.hisPatientInfo.balance_accounts_type == 2  && this.hisPatientInfo.id > 0 && this.hisPatientInfo.in_hospital_status == 1 && this.hisPatientInfo.out_hospital_status == 0)"
102
+                size="small" @click="open(2)" type="primary"
103
+            >撤销明细
104
+            </el-button>
105
+
106
+
98 107
           </div>
99 108
           <div v-if="activeName == 'second'">
100 109
 
@@ -331,7 +340,7 @@ import charged from './components/charged'
331 340
 import medicalInsuranceRefund from './components/medicalInsuranceRefund'
332 341
 import additionalCharges from './components/additionalCharges'
333 342
 import { getHisHospitalDetailInfo, getHisHospitalDetailList, getMonthHisHospitalDetailInfo } from '@/api/his/his'
334
-import { upLoadChargeInfo } from '@/api/his/his_hospital'
343
+import { upLoadChargeInfo,refundDetail } from '@/api/his/his_hospital'
335 344
 
336 345
 import { uParseTime } from '@/utils/tools'
337 346
 
@@ -762,43 +771,65 @@ export default {
762 771
             cancelButtonText: '取 消',
763 772
             type: 'warning'
764 773
           }).then(() => {
765
-
766
-            let params = {
767
-              'settle_accounts_type': settle_accounts_type,
768
-              'patient_id': that.hisPatientInfo.patient_id,
769
-              'his_patient_id': that.hisPatientInfo.id,
770
-              'record_time': that.record_date,
771
-              'admin_user_id': that.$store.getters.xt_user.user.id
772
-            }
773
-            axios.get('http://127.0.0.1:9532/zh/api/refunddetail', {
774
-              params: params
775
-            })
776
-                .then(function(response) {
777
-                  if (response.data.state == 0) {
778
-                    that.$message.error(response.data.msg)
779
-                    that.loadingtwo = false
780
-                    return false
781
-                  } else {
782
-                    if (response.data.data.failed_code == -10) {
783
-                      // that.$message.error(response.data.data.msg)
784
-                      that.$confirm(response.data.data.msg, '医保错误信息', {
785
-                        confirmButtonText: '确 定',
786
-                        type: 'warning'
787
-                      }).then(() => {
788
-
789
-                      }).catch(() => {
790
-                      })
774
+            if (that.hisPatientInfo.balance_accounts_type != 2){
775
+              let params = {
776
+                'settle_accounts_type': settle_accounts_type,
777
+                'patient_id': that.hisPatientInfo.patient_id,
778
+                'his_patient_id': that.hisPatientInfo.id,
779
+                'record_time': that.record_date,
780
+                'admin_user_id': that.$store.getters.xt_user.user.id
781
+              }
782
+              axios.get('http://127.0.0.1:9532/zh/api/refunddetail', {
783
+                params: params
784
+              })
785
+                  .then(function(response) {
786
+                    if (response.data.state == 0) {
787
+                      that.$message.error(response.data.msg)
788
+                      that.loadingtwo = false
789
+                      return false
791 790
                     } else {
792
-                      that.$message.success('撤销明细成功')
793
-                      that.radio = 1
794
-                      that.getPatientList()
795
-                    }
791
+                      if (response.data.data.failed_code == -10) {
792
+                        // that.$message.error(response.data.data.msg)
793
+                        that.$confirm(response.data.data.msg, '医保错误信息', {
794
+                          confirmButtonText: '确 定',
795
+                          type: 'warning'
796
+                        }).then(() => {
797
+
798
+                        }).catch(() => {
799
+                        })
800
+                      } else {
801
+                        that.$message.success('撤销明细成功')
802
+                        that.radio = 1
803
+                        that.getPatientList()
804
+                      }
796 805
 
797
-                  }
798
-                })
799
-                .catch(function(error) {
800
-                })
806
+                    }
807
+                  })
808
+                  .catch(function(error) {
809
+                  })
810
+
811
+
812
+            }else{
813
+              let params = {
814
+                'settle_accounts_type': settle_accounts_type,
815
+                'patient_id': that.hisPatientInfo.patient_id,
816
+                'his_patient_id': that.hisPatientInfo.id,
817
+                'record_time': that.record_date,
818
+                'admin_user_id': that.$store.getters.xt_user.user.id
819
+              }
820
+              refundDetail(params).then(response => {
821
+                if (response.data.state == 0) {
822
+                  this.loading = false
823
+                  this.$message.error(response.data.msg)
824
+                  return false
825
+                } else {
826
+                  that.$message.success('撤销明细成功')
827
+                  that.radio = 1
828
+                  that.getPatientList()
829
+                }
830
+              })
801 831
 
832
+            }
802 833
           }).catch(() => {
803 834
           })
804 835
         } else {
@@ -927,8 +958,6 @@ export default {
927 958
               that.changePatientInfo()
928 959
             }
929 960
           })
930
-
931
-
932 961
         }
933 962
       }
934 963
     }, changePatientInfo() {

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

@@ -1689,12 +1689,12 @@ export default {
1689 1689
       for (let i = 0; i < this.month_prescriptions.length; i++) {
1690 1690
         if (this.month_prescriptions[i].advices != null) {
1691 1691
           for (let a = 0; a < this.month_prescriptions[i].advices.length; a++) {
1692
-            total = total.toFixed(2) + (this.month_prescriptions[i].advices[a].retail_price * this.month_prescriptions[i].advices[a].prescribing_number).toFixed(2)
1692
+            total = total + (this.month_prescriptions[i].advices[a].retail_price* this.month_prescriptions[i].advices[a].prescribing_number)
1693 1693
           }
1694 1694
         }
1695 1695
         if (this.month_prescriptions[i].project != null) {
1696 1696
           for (let b = 0; b < this.month_prescriptions[i].project.length; b++) {
1697
-            total = total.toFixed(2) + (this.month_prescriptions[i].project[b].price * this.month_prescriptions[i].project[b].total).toFixed(2)
1697
+            total = total+ (this.month_prescriptions[i].project[b].price * this.month_prescriptions[i].project[b].total)
1698 1698
           }
1699 1699
         }
1700 1700
 

File diff suppressed because it is too large
+ 1110 - 0
src/xt_pages/hospitalStation/components/hospitalRegisterDialog.vue


+ 44 - 46
src/xt_pages/hospitalStation/components/settlePrescriptionTable.vue View File

@@ -18,31 +18,26 @@
18 18
         width="40"
19 19
         label="序号"
20 20
       ></el-table-column>
21
-      <el-table-column align="center" prop="name" label="名称">
21
+      <el-table-column align="center" prop="name" width="400" label="名称">
22 22
         <template slot-scope="scope"
23 23
           ><span :title="scope.row.drug_name">{{
24 24
             scope.row.drug_name
25 25
           }}</span></template
26 26
         >
27 27
       </el-table-column>
28
-
29
-      <el-table-column align="center" prop="name" width="90" label="单次用量">
28
+      <el-table-column align="center" prop="name" width="80" label="单次用量">
30 29
         <template slot-scope="scope">
31
-          <!--<el-input v-model="scope.row.single_dose" readonly style="width:65%;"></el-input>-->
32
-          <div>
33
-            {{ scope.row.single_dose }}&nbsp;&nbsp;{{
34
-              scope.row.single_dose_unit
35
-            }}
36
-          </div>
30
+          <!--<el-input v-model="scope.row.delivery_way" readonly></el-input>-->
31
+          <div>{{ scope.row.single_dose }}{{ scope.row.single_dose_unit }}</div>
37 32
         </template>
38 33
       </el-table-column>
39
-      <el-table-column align="center" prop="name" width="100" label="用法">
34
+      <el-table-column align="center" prop="name" width="80" label="用法">
40 35
         <template slot-scope="scope">
41 36
           <!--<el-input v-model="scope.row.delivery_way" readonly></el-input>-->
42 37
           <div>{{ scope.row.delivery_way }}</div>
43 38
         </template>
44 39
       </el-table-column>
45
-      <el-table-column align="center" prop="name" width="100" label="频率">
40
+      <el-table-column align="center" prop="name" width="80" label="频率">
46 41
         <template slot-scope="scope">
47 42
           <div>{{ scope.row.execution_frequency }}</div>
48 43
 
@@ -50,28 +45,25 @@
50 45
         </template>
51 46
       </el-table-column>
52 47
 
53
-      <el-table-column align="center" prop="day" width="50" label="天数">
48
+      <el-table-column align="center" prop="day" width="80" label="天数">
54 49
         <template slot-scope="scope">{{ scope.row.day }}天</template>
55 50
       </el-table-column>
56 51
 
57
-      <el-table-column align="center" prop="name" width="100" label="总量">
58
-        <template slot-scope="scope">
59
-          <!--<el-input v-model="scope.row.prescribing_number" style="width:60%" readonly placeholder=""></el-input>-->
60
-          <div>
61
-            {{ scope.row.prescribing_number }}&nbsp;&nbsp;{{
62
-              scope.row.prescribing_number_unit
63
-            }}
64
-          </div>
65
-        </template>
52
+      <el-table-column align="center" prop="name" width="80" label="总量">
53
+        <template slot-scope="scope"
54
+          >{{ scope.row.prescribing_number
55
+          }}{{ scope.row.prescribing_number_unit }}</template
56
+        >
66 57
       </el-table-column>
67
-      <el-table-column align="center" prop="name" width="60" label="单价">
58
+      <el-table-column align="center" prop="name" width="100" label="单价">
68 59
         <template slot-scope="scope">
69 60
           <div>{{ scope.row.retail_price }}元</div>
70 61
 
71 62
           <!--<el-input v-model="scope.row.retail_price" placeholder="" readonly></el-input>-->
72 63
         </template>
73 64
       </el-table-column>
74
-      <el-table-column align="center" prop="name" width="60" label="总价">
65
+
66
+      <el-table-column align="center" prop="name" width="100" label="总价">
75 67
         <template slot-scope="scope">
76 68
           <div>
77 69
             {{
@@ -85,13 +77,13 @@
85 77
         </template>
86 78
       </el-table-column>
87 79
 
88
-      <el-table-column align="center" prop="name" width="60" label="全自费金额">
80
+      <el-table-column align="center" prop="name" width="80" label="全自费金额">
89 81
         <template slot-scope="scope">
90 82
           <div>{{ scope.row.fulamt_ownpay_amt }}元</div>
91 83
         </template>
92 84
       </el-table-column>
93 85
 
94
-      <el-table-column align="center" prop="name" width="60" label="超限价金额">
86
+      <el-table-column align="center" prop="name" width="80" label="超限价金额">
95 87
         <template slot-scope="scope">
96 88
           <div>{{ scope.row.overlmt_amt }}元</div>
97 89
         </template>
@@ -100,7 +92,7 @@
100 92
       <el-table-column
101 93
         align="center"
102 94
         prop="name"
103
-        width="60"
95
+        width="80"
104 96
         label="先行自付金额"
105 97
       >
106 98
         <template slot-scope="scope">
@@ -111,7 +103,7 @@
111 103
       <el-table-column
112 104
         align="center"
113 105
         prop="name"
114
-        width="60"
106
+        width="70"
115 107
         label="符合正常范围金额"
116 108
       >
117 109
         <template slot-scope="scope">
@@ -119,7 +111,7 @@
119 111
         </template>
120 112
       </el-table-column>
121 113
 
122
-      <el-table-column align="center" prop="name" width="50" label="备注">
114
+      <el-table-column align="center" prop="name" width="60" label="备注">
123 115
         <template slot-scope="scope">
124 116
           <!--<el-input v-model="scope.row.remark" :title="scope.row.remark" placeholder="" readonly></el-input>-->
125 117
           <div>{{ scope.row.remark }}</div>
@@ -144,7 +136,12 @@
144 136
         width="40"
145 137
         label="序号"
146 138
       ></el-table-column>
147
-      <el-table-column align="center" prop="project_name" label="名称">
139
+      <el-table-column
140
+        align="center"
141
+        prop="project_name"
142
+        width="400"
143
+        label="名称"
144
+      >
148 145
         <template slot-scope="scope">{{ scope.row.project_name }}</template>
149 146
       </el-table-column>
150 147
       <el-table-column
@@ -157,15 +154,17 @@
157 154
           getGroup(scope.row.statistical_classification)
158 155
         }}</template>
159 156
       </el-table-column>
157
+
160 158
       <el-table-column
161 159
         align="center"
162 160
         prop="single_dose"
163 161
         width="80"
164 162
         label="单次用量"
165 163
       >
166
-        <template slot-scope="scope"
167
-          >{{ scope.row.single_dose }}{{ scope.row.unit }}</template
168
-        >
164
+        <template slot-scope="scope">
165
+          <!--<el-input v-model="scope.row.delivery_way" placeholder="" readonly></el-input>-->
166
+          {{ scope.row.single_dose }}{{ scope.row.unit }}
167
+        </template>
169 168
       </el-table-column>
170 169
       <el-table-column
171 170
         align="center"
@@ -192,7 +191,7 @@
192 191
       <el-table-column
193 192
         align="center"
194 193
         prop="number_days"
195
-        width="50"
194
+        width="80"
196 195
         label="天数"
197 196
       >
198 197
         <template slot-scope="scope">
@@ -200,36 +199,35 @@
200 199
           {{ scope.row.number_days }}天
201 200
         </template>
202 201
       </el-table-column>
203
-      <el-table-column align="center" prop="total" width="50" label="总量">
202
+
203
+      <el-table-column align="center" prop="total" width="80" label="总量">
204 204
         <template slot-scope="scope">
205
-          <div style="display: flex">
206
-            <!--<el-input v-model="scope.row.total" placeholder="" readonly></el-input>-->
207
-            {{ scope.row.total }} {{ scope.row.unit }}
208
-          </div>
205
+          <!--<el-input v-model="scope.row.total" placeholder="" readonly></el-input>-->
206
+          {{ scope.row.total }} {{ scope.row.unit }}
209 207
         </template>
210 208
       </el-table-column>
211
-      <el-table-column align="center" prop="name" width="50" label="单价">
209
+
210
+      <el-table-column align="center" prop="name" width="100" label="单价">
212 211
         <template slot-scope="scope">
213 212
           <!--<el-input v-model="scope.row.price" placeholder="" readonly></el-input>-->
214 213
           {{ scope.row.price }}元
215 214
         </template>
216 215
       </el-table-column>
217 216
 
218
-      <el-table-column align="center" prop="name" width="60" label="总价">
217
+       <el-table-column align="center" prop="name" width="100" label="总价">
219 218
         <template slot-scope="scope">
220
-          <div>{{ (scope.row.total * scope.row.price).toFixed(2) }}元</div>
221
-
222 219
           <!--<el-input v-model="scope.row.retail_price" placeholder="" readonly></el-input>-->
220
+          {{ (scope.row.total * scope.row.price).toFixed(2) }}元
223 221
         </template>
224 222
       </el-table-column>
225 223
 
226
-      <el-table-column align="center" prop="name" width="60" label="全自费金额">
224
+      <el-table-column align="center" prop="name" width="80" label="全自费金额">
227 225
         <template slot-scope="scope">
228 226
           <div>{{ scope.row.fulamt_ownpay_amt }}元</div>
229 227
         </template>
230 228
       </el-table-column>
231 229
 
232
-      <el-table-column align="center" prop="name" width="60" label="超限价金额">
230
+      <el-table-column align="center" prop="name" width="80" label="超限价金额">
233 231
         <template slot-scope="scope">
234 232
           <div>{{ scope.row.overlmt_amt }}元</div>
235 233
         </template>
@@ -238,7 +236,7 @@
238 236
       <el-table-column
239 237
         align="center"
240 238
         prop="name"
241
-        width="60"
239
+        width="80"
242 240
         label="先行自付金额"
243 241
       >
244 242
         <template slot-scope="scope">
@@ -249,7 +247,7 @@
249 247
       <el-table-column
250 248
         align="center"
251 249
         prop="name"
252
-        width="60"
250
+        width="70"
253 251
         label="符合正常范围金额"
254 252
       >
255 253
         <template slot-scope="scope">

+ 2 - 2
src/xt_pages/hospitalStation/invoiceTemplate/printTwo.vue View File

@@ -6,14 +6,14 @@
6 6
         </div>
7 7
         <div style="display:flex;justify-content: space-between;">
8 8
             <!-- <div>{{ list.department_name }}</div> -->
9
-            <div  style="position: absolute;top:50px;left:260px">{{ list.his_hospital_record.id_card_no }}</div>
9
+            <div  style="position: absolute;top:50px;left:260px">{{ list.his_hospital_record.id_card_no?list.order.certno:''}}</div>
10 10
             <div></div>
11 11
         </div>
12 12
         <div style="display:flex;justify-content: space-between;">
13 13
             <!-- <div>{{ list.department_name }}</div> -->
14 14
             <div  style="position: absolute;top:70px;left:90px">门诊</div>
15 15
             <div></div>
16
-            <div  style="position: absolute;top:70px;left:240px">{{ list.his_hospital_record.number }}</div>
16
+            <div  style="position: absolute;top:70px;left:240px">{{ list.his_hospital_record.number?list.order.mdtrt_id:''}}</div>
17 17
             <div  style="position: absolute;left:470px;top:70px;">
18 18
                 <span>{{  paramsObj.setl_time ? paramsObj.setl_time.split(' ')[0].slice(0,4) : getTime(list.date, '{y}-{m}-{d}').slice(0,4) }}</span>
19 19
             </div>

+ 121 - 9
src/xt_pages/hospitalStation/outpatientChargesManagement.vue View File

@@ -1169,7 +1169,7 @@ export default {
1169 1169
       if (this.curPrescriptions.type == 1) {
1170 1170
         if (this.curPrescriptions.advices != null) {
1171 1171
           for (let a = 0; a < this.curPrescriptions.advices.length; a++) {
1172
-            total = parseFloat(total) + parseFloat(this.curPrescriptions.advices[a].retail_price * this.curPrescriptions.advices[a].prescribing_number)
1172
+            total = parseFloat(total) + parseFloat(this.curPrescriptions.advices[a].retail_price  * this.curPrescriptions.advices[a].prescribing_number)
1173 1173
 
1174 1174
           }
1175 1175
         }
@@ -1190,14 +1190,14 @@ export default {
1190 1190
       if (this.curMonthPrescriptions.type == 1) {
1191 1191
         if (this.curMonthPrescriptions.advices != null) {
1192 1192
           for (let a = 0; a < this.curMonthPrescriptions.advices.length; a++) {
1193
-            total = parseFloat(total) + parseFloat(this.curMonthPrescriptions.advices[a].retail_price * this.curMonthPrescriptions.advices[a].prescribing_number)
1193
+            total = parseFloat(total) + parseFloat(this.curMonthPrescriptions.advices[a].retail_price* this.curMonthPrescriptions.advices[a].prescribing_number)
1194 1194
 
1195 1195
           }
1196 1196
         }
1197 1197
       } else {
1198 1198
         if (this.curMonthPrescriptions.project != null) {
1199 1199
           for (let b = 0; b < this.curMonthPrescriptions.project.length; b++) {
1200
-            total = parseFloat(total) + parseFloat(this.curMonthPrescriptions.project[b].price * this.curMonthPrescriptions.project[b].total)
1200
+            total = parseFloat(total) + parseFloat(this.curMonthPrescriptions.project[b].price  * this.curMonthPrescriptions.project[b].total)
1201 1201
 
1202 1202
           }
1203 1203
         }
@@ -1211,14 +1211,14 @@ export default {
1211 1211
       if (this.curSettlePrescriptions.type == 1) {
1212 1212
         if (this.curSettlePrescriptions.advices != null) {
1213 1213
           for (let a = 0; a < this.curSettlePrescriptions.advices.length; a++) {
1214
-            total = parseFloat(total) + parseFloat(this.curSettlePrescriptions.advices[a].retail_price * this.curSettlePrescriptions.advices[a].prescribing_number)
1214
+            total = parseFloat(total) + parseFloat(this.curSettlePrescriptions.advices[a].retail_price.toFixed(2)  * this.curSettlePrescriptions.advices[a].prescribing_number)
1215 1215
 
1216 1216
           }
1217 1217
         }
1218 1218
       } else {
1219 1219
         if (this.curSettlePrescriptions.project != null) {
1220 1220
           for (let b = 0; b < this.curSettlePrescriptions.project.length; b++) {
1221
-            total = parseFloat(total) + parseFloat(this.curSettlePrescriptions.project[b].price * this.curSettlePrescriptions.project[b].total)
1221
+            total = parseFloat(total) + parseFloat(this.curSettlePrescriptions.project[b].price.toFixed(2)   * this.curSettlePrescriptions.project[b].total)
1222 1222
 
1223 1223
           }
1224 1224
         }
@@ -1228,17 +1228,23 @@ export default {
1228 1228
 
1229 1229
     },
1230 1230
     getSettleTotal() {
1231
-      var total = 0
1231
+      var total = 0.0
1232 1232
       for (let i = 0; i < this.settle_prescriptions.length; i++) {
1233 1233
         if (this.settle_prescriptions[i].advices != null) {
1234 1234
           for (let a = 0; a < this.settle_prescriptions[i].advices.length; a++) {
1235
+            // console.log(parseFloat(this.settle_prescriptions[i].advices[a].retail_price.toFixed(2)))
1236
+            // console.log(this.settle_prescriptions[i].advices[a].prescribing_number)
1235 1237
             total = parseFloat(total) + parseFloat(this.settle_prescriptions[i].advices[a].retail_price * this.settle_prescriptions[i].advices[a].prescribing_number)
1238
+
1239
+            // console.log(parseFloat(this.settle_prescriptions[i].advices[a].retail_price.toFixed(2) * this.settle_prescriptions[i].advices[a].prescribing_number))
1240
+            // total = parseFloat(total) + parseFloat(this.settle_prescriptions[i].advices[a].retail_price).toFixed(2) * this.settle_prescriptions[i].advices[a].prescribing_number
1236 1241
           }
1237 1242
         }
1238 1243
         if (this.settle_prescriptions[i].project != null) {
1239 1244
           for (let b = 0; b < this.settle_prescriptions[i].project.length; b++) {
1245
+            total = parseFloat(total) + parseFloat(this.settle_prescriptions[i].project[b].price  * this.settle_prescriptions[i].project[b].total)
1240 1246
 
1241
-            total = parseFloat(total) + parseFloat(this.settle_prescriptions[i].project[b].price * this.settle_prescriptions[i].project[b].total)
1247
+            // total = parseFloat(total) + parseFloat(this.settle_prescriptions[i].project[b].price.toFixed(2))* this.settle_prescriptions[i].project[b].total
1242 1248
           }
1243 1249
         }
1244 1250
 
@@ -1257,7 +1263,7 @@ export default {
1257 1263
         if (this.prescriptions[i].project != null) {
1258 1264
           for (let b = 0; b < this.prescriptions[i].project.length; b++) {
1259 1265
 
1260
-            total = parseFloat(total) + parseFloat(this.prescriptions[i].project[b].price * this.prescriptions[i].project[b].total)
1266
+            total = parseFloat(total) + parseFloat(this.prescriptions[i].project[b].price  * this.prescriptions[i].project[b].total)
1261 1267
           }
1262 1268
         }
1263 1269
 
@@ -1276,7 +1282,7 @@ export default {
1276 1282
         if (this.month_prescriptions[i].project != null) {
1277 1283
           for (let a = 0; a < this.month_prescriptions[i].project.length; a++) {
1278 1284
 
1279
-            total = parseFloat(total) + parseFloat(this.month_prescriptions[i].project[a].price * this.month_prescriptions[i].project[a].total)
1285
+            total = parseFloat(total) + parseFloat(this.month_prescriptions[i].project[a].price  * this.month_prescriptions[i].project[a].total)
1280 1286
           }
1281 1287
         }
1282 1288
 
@@ -2637,7 +2643,113 @@ export default {
2637 2643
 
2638 2644
       this.curMonthPrescriptions = this.month_prescriptions[0]
2639 2645
 
2646
+
2640 2647
     },
2648
+    setSettlePrescriptionTwo(month_prescriptions) {
2649
+      this.settle_prescriptions = []
2650
+
2651
+      for (let i = 0; i < month_prescriptions.length; i++) {
2652
+        var prescription = month_prescriptions[i]
2653
+        let tempAdvice = []
2654
+        let tempProject = []
2655
+        let tempAddition = []
2656
+        for (let b = 0; b < prescription.advices.length; b++) {
2657
+          let spec = prescription.advices[b].drug.dose + prescription.advices[b].drug.dose_unit + '*' + prescription.advices[b].drug.min_number + prescription.advices[b].drug.min_unit + '/' + prescription.advices[b].drug.max_unit
2658
+
2659
+          let obj = {
2660
+            advice_id: prescription.advices[b].id,
2661
+            drug_name: prescription.advices[b].advice_name,
2662
+            single_dose: prescription.advices[b].single_dose,
2663
+            delivery_way: prescription.advices[b].delivery_way,
2664
+            execution_frequency: prescription.advices[b].execution_frequency,
2665
+            retail_price: prescription.advices[b].price.toString(),
2666
+            remark: prescription.advices[b].remark,
2667
+            day: prescription.advices[b].day,
2668
+            prescribing_number: prescription.advices[b].prescribing_number.toString(),
2669
+            single_dose_unit: prescription.advices[b].single_dose_unit,
2670
+            prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
2671
+            medical_insurance_number: prescription.advices[b].med_list_codg,
2672
+
2673
+            code: prescription.advices[b].drug.medical_insurance_number,
2674
+            spec: spec,
2675
+            det_item_fee_sumamt: prescription.advices[b].order_info.det_item_fee_sumamt,
2676
+            name_id: prescription.advices[b].drug.manufacturer,
2677
+            fulamt_ownpay_amt: prescription.advices[b].order_info.fulamt_ownpay_amt,
2678
+            overlmt_amt: prescription.advices[b].order_info.overlmt_amt,
2679
+            preselfpay_amt: prescription.advices[b].order_info.preselfpay_amt,
2680
+            inscp_scp_amt: prescription.advices[b].order_info.inscp_scp_amt
2681
+
2682
+
2683
+
2684
+          }
2685
+          tempAdvice.push(obj)
2686
+        }
2687
+
2688
+        for (let b = 0; b < prescription.project.length; b++) {
2689
+          let obj = {
2690
+            id: prescription.project[b].id,
2691
+            project_id: prescription.project[b].project.id,
2692
+            // project_name: prescription.project[b].project.project_name,
2693
+            // statistical_classification: prescription.project[b].project.statistical_classification,
2694
+            single_dose: prescription.project[b].single_dose,
2695
+            delivery_way: prescription.project[b].delivery_way,
2696
+            execution_frequency: prescription.project[b].execution_frequency,
2697
+            number_days: prescription.project[b].day,
2698
+            total: prescription.project[b].count.toString(),
2699
+            price: prescription.project[b].price,
2700
+            remark: prescription.project[b].remark,
2701
+            // medical_code: prescription.project[b].project.medical_code,
2702
+            unit: prescription.project[b].project.unit,
2703
+            type: prescription.project[b].type,
2704
+            det_item_fee_sumamt: prescription.project[b].order_info.det_item_fee_sumamt,
2705
+            fulamt_ownpay_amt: prescription.project[b].order_info.fulamt_ownpay_amt,
2706
+            overlmt_amt: prescription.project[b].order_info.overlmt_amt,
2707
+            preselfpay_amt: prescription.project[b].order_info.preselfpay_amt,
2708
+            inscp_scp_amt: prescription.project[b].order_info.inscp_scp_amt
2709
+
2710
+          }
2711
+
2712
+          if (prescription.project[b].type == 2) {
2713
+            obj['statistical_classification'] = prescription.project[b].team.project_team
2714
+            obj['medical_code'] = prescription.project[b].project.medical_code
2715
+            obj['project_name'] = prescription.project[b].project.project_name
2716
+            obj['spec'] = ''
2717
+            obj['name_id'] = 0
2718
+
2719
+          } else if (prescription.project[b].type == 3) {
2720
+            obj['statistical_classification'] = prescription.project[b].team.project_team
2721
+            obj['medical_code'] = prescription.project[b].good_info.medical_insurance_number
2722
+            obj['project_name'] = prescription.project[b].good_info.good_name
2723
+            obj['spec'] = prescription.project[b].good_info.specification_name
2724
+            obj['name_id'] = prescription.project[b].good_info.manufacturer
2725
+
2726
+          }
2727
+
2728
+          tempProject.push(obj)
2729
+        }
2730
+
2731
+        let index = i + 1
2732
+        let obj = {
2733
+          id: prescription.id,
2734
+          name: '处方' + index,
2735
+          advices: tempAdvice,
2736
+          project: tempProject,
2737
+          addition: tempAddition,
2738
+          order_status: prescription.order_status,
2739
+          type: prescription.type
2740
+        }
2741
+        this.settle_prescriptions.push(obj)
2742
+        this.curSettlePrescriptions = this.settle_prescriptions[0]
2743
+        for (let i = 0; i < this.settle_prescriptions.length; i++) {
2744
+          if (this.settle_prescriptions[i].order_status != 4) {
2745
+            this.isShowUpload = 2
2746
+          }
2747
+
2748
+        }
2749
+
2750
+      }
2751
+    },
2752
+
2641 2753
     setSettlePrescription(month_prescriptions) {
2642 2754
       this.settle_prescriptions = []
2643 2755
 

+ 8 - 2
src/xt_pages/hospitalStation/summary.vue View File

@@ -159,8 +159,9 @@
159 159
                 width="1200px"
160 160
                 title="打印"
161 161
                 :visible.sync="statementVisible">
162
-            <!--<statementPrint ref="print" :paramsObj='orderObj'></statementPrint>-->
163
-            <new-statement-print ref="print" :paramsObj='orderObj'></new-statement-print>
162
+            <statementPrint ref="print" :paramsObj='orderObj'></statementPrint>
163
+<!--            <new-statement-print ref="print" :paramsObj='orderObj'></new-statement-print>-->
164
+<!--          <state-->
164 165
         </el-dialog>
165 166
         <el-dialog
166 167
                 class="centerDialog"
@@ -182,6 +183,7 @@
182 183
                 width="1200px"
183 184
                 title="打印"
184 185
                 :visible.sync="statementVisible9504">
186
+
185 187
             <!--<statementPrint ref="print" :paramsObj='orderObj'></statementPrint>-->
186 188
             <!--<new-statement-print ref="print" :paramsObj='orderObj9504'></new-statement-print>-->
187 189
             <new-statement-print-two ref="print" :paramsObj='orderObj9504'></new-statement-print-two>
@@ -218,6 +220,8 @@
218 220
   import { fetchAllAdminUsers } from '@/api/doctor'
219 221
   import axios from 'axios'
220 222
   import invoicePrint from './invoicePrint'
223
+  import statementPrint from './statementPrint'
224
+
221 225
   // import settlementPrint from './settlementPrint'
222 226
 
223 227
   export default {
@@ -227,6 +231,7 @@
227 231
       BreadCrumb,
228 232
       listPrint,
229 233
       allListPrint,
234
+      statementPrint,
230 235
       invoicePrint
231 236
       // settlementPrint
232 237
     },
@@ -263,6 +268,7 @@
263 268
           { value: 2, label: '结算时间' }
264 269
         ],
265 270
         p_types:[
271
+          { value: 0, label: '全部' },
266 272
           { value: 1, label: '住院' },
267 273
           { value: 2, label: '门诊' }
268 274
         ],

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

@@ -6,7 +6,6 @@
6 6
       border
7 7
       style="width: 99%"
8 8
       :row-style="changColor"
9
-      :row-class-name="tableRowClassName"
10 9
       :header-cell-style="{
11 10
         color: '#606266',
12 11
       }"
@@ -19,7 +18,13 @@
19 18
         width="40"
20 19
         label="序号"
21 20
       ></el-table-column>
22
-      <el-table-column fixed align="center" prop="name" width="400" label="名称">
21
+      <el-table-column
22
+        fixed
23
+        align="center"
24
+        prop="name"
25
+        width="400"
26
+        label="名称"
27
+      >
23 28
         <template slot-scope="scope"
24 29
           ><span :title="scope.row.drug_name">{{
25 30
             scope.row.drug_name
@@ -27,14 +32,10 @@
27 32
         >
28 33
       </el-table-column>
29 34
 
30
-      <el-table-column align="center" prop="name" width="70" label="单次用量">
35
+      <el-table-column align="center" prop="name" width="80" label="单次用量">
31 36
         <template slot-scope="scope">
32
-          <!--<el-input v-model="scope.row.single_dose" readonly style="width:65%;"></el-input>-->
33
-          <div>
34
-            {{ scope.row.single_dose }}&nbsp;&nbsp;{{
35
-              scope.row.single_dose_unit
36
-            }}
37
-          </div>
37
+          <!--<el-input v-model="scope.row.delivery_way" readonly></el-input>-->
38
+          <div>{{ scope.row.single_dose }}{{ scope.row.single_dose_unit }}</div>
38 39
         </template>
39 40
       </el-table-column>
40 41
       <el-table-column align="center" prop="name" width="80" label="用法">
@@ -54,16 +55,8 @@
54 55
       <el-table-column align="center" prop="day" width="80" label="天数">
55 56
         <template slot-scope="scope">{{ scope.row.day }}天</template>
56 57
       </el-table-column>
57
-
58 58
       <el-table-column align="center" prop="name" width="80" label="总量">
59
-        <template slot-scope="scope">
60
-          <!--<el-input v-model="scope.row.prescribing_number" style="width:60%" readonly placeholder=""></el-input>-->
61
-          <div>
62
-            {{ scope.row.prescribing_number }}&nbsp;&nbsp;{{
63
-              scope.row.prescribing_number_unit
64
-            }}
65
-          </div>
66
-        </template>
59
+        <template slot-scope="scope">{{ scope.row.prescribing_number }}{{scope.row.prescribing_number_unit}}</template>
67 60
       </el-table-column>
68 61
       <el-table-column align="center" prop="name" width="80" label="单价">
69 62
         <template slot-scope="scope">
@@ -163,7 +156,13 @@
163 156
         width="40"
164 157
         label="序号"
165 158
       ></el-table-column>
166
-      <el-table-column fixed align="center" prop="project_name" width="400" label="名称">
159
+      <el-table-column
160
+        fixed
161
+        align="center"
162
+        prop="project_name"
163
+        width="400"
164
+        label="名称"
165
+      >
167 166
         <template slot-scope="scope">{{ scope.row.project_name }}</template>
168 167
       </el-table-column>
169 168
       <el-table-column
@@ -347,17 +346,18 @@ export default {
347 346
   },
348 347
   methods: {
349 348
     changColor({ row, rowIndex }) {
350
-     if (rowIndex % 2 == 1) { // 变颜色的条件
351
-		return {
352
-		backgroundColor: "#C4E1FF",
353
-    color: '#303133'  // 这个return的就是样式 可以是color 也可以是backgroundColor
354
-		}
355
-	}else{
356
-    return {
357
-      backgroundColor:"#ACD6FF",
358
-      color: '#303133'
359
-    }
360
-  }
349
+      if (rowIndex % 2 == 1) {
350
+        // 变颜色的条件
351
+        return {
352
+          backgroundColor: "#C4E1FF",
353
+          color: "#303133", // 这个return的就是样式 可以是color 也可以是backgroundColor
354
+        };
355
+      } else {
356
+        return {
357
+          backgroundColor: "#ACD6FF",
358
+          color: "#303133",
359
+        };
360
+      }
361 361
     },
362 362
 
363 363
     getName(id) {

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

@@ -702,7 +702,7 @@
702 702
         this.form.id_card_type = 2
703 703
         this.form.certificates = 1
704 704
 
705
-        if (this.$store.getters.xt_user.org_id == 10188){
705
+        if (this.$store.getters.xt_user.org_id == 10188  || this.$store.getters.xt_user.org_id == 10217){
706 706
           this.form.id_card_type = 1
707 707
         }
708 708
 

+ 3 - 3
src/xt_pages/outpatientCharges/invoicePrint.vue View File

@@ -13,13 +13,13 @@
13 13
     </template>
14 14
     <div class="app-container" style="padding-top:40px;">
15 15
         <div class='dialysisPage'>
16
-          <div v-if="org_id != 10106 && org_id != 10215 && org_id != 4 && org_id != 10188 && org_id != 0" >
17
-            <printOne v-if="org_id != 10088" :paramsObj="invoiceParams"></printOne>
16
+          <div v-if="org_id != 10106 && org_id != 10215 && org_id != 4 && org_id != 10188 && org_id != 10217  && org_id != 0" >
17
+            <printOne v-if="org_id != 10088 " :paramsObj="invoiceParams"></printOne>
18 18
             <printThree v-if="org_id == 10088" :paramsObj="invoiceParams"></printThree>
19 19
           </div>
20 20
           <printTwo v-if="org_id == 10106" :paramsObj="invoiceParams"></printTwo>
21 21
           <printFour v-if="org_id == 10215 || org_id == 4" :paramsObj="invoiceParams"></printFour>
22
-          <printFive v-if="org_id == 10188 || org_id == 0" :paramsObj="invoiceParams"></printFive>
22
+          <printFive v-if="org_id == 10188 || org_id == 0 ||org_id == 10217" :paramsObj="invoiceParams"></printFive>
23 23
         </div>
24 24
     </div>
25 25
   </div>

+ 6 - 2
src/xt_pages/outpatientCharges/invoiceTemplate/printFour.vue View File

@@ -6,14 +6,14 @@
6 6
         </div>
7 7
         <div style="display:flex;justify-content: space-between;">
8 8
             <!-- <div>{{ list.department_name }}</div> -->
9
-            <div  style="position: absolute;top:50px;left:260px">{{ list.id_card_no }}</div>
9
+            <div  style="position: absolute;top:50px;left:260px">{{ list.order.certno }}</div>
10 10
             <div></div>
11 11
         </div>
12 12
         <div style="display:flex;justify-content: space-between;">
13 13
             <!-- <div>{{ list.department_name }}</div> -->
14 14
             <div  style="position: absolute;top:70px;left:90px">门诊</div>
15 15
             <div></div>
16
-            <div  style="position: absolute;top:70px;left:240px">{{ list.number }}</div>
16
+            <div  style="position: absolute;top:70px;left:240px">{{ list.order.mdtrt_id }}</div>
17 17
             <div  style="position: absolute;left:470px;top:70px;">
18 18
                 <span>{{  paramsObj.setl_time ? paramsObj.setl_time.split(' ')[0].slice(0,4) : getTime(list.date, '{y}-{m}-{d}').slice(0,4) }}</span>
19 19
             </div>
@@ -181,6 +181,10 @@ export default {
181 181
                 this.list = res.data.data
182 182
                 this.totalPrice = this.list.westernMedicineCostTotal + this.list.checkCostTotal + this.list.treatCostTotal + this.list.bedCostTotal + this.list.chineseTraditionalMedicineCostTotal +
183 183
                                     this.list.laboratoryCostTotal + this.list.operationCostTotal + this.list.otherCostTotal + this.list.materialCostTotal
184
+                if(this.totalPrice == 0){
185
+
186
+                  this.totalPrice = this.list.medfee_sumamt
187
+                }
184 188
                 this.smalltoBIG(this.totalPrice)
185 189
                 var data = new Date(res.data.data.date * 1000);
186 190
                 var month =data.getMonth() < 9 ? "0" + (data.getMonth() + 1) : data.getMonth() + 1;

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

@@ -2680,7 +2680,7 @@ export default {
2680 2680
         }
2681 2681
 
2682 2682
         if (this.hisPatientInfo.id_card_type == 1) {
2683
-          if (this.hisPatientInfo.balance_accounts_type != 2 && this.$store.getters.xt_user.org_id != 10088 && this.$store.getters.xt_user.org_id != 10106 && this.$store.getters.xt_user.org_id != 10188) {
2683
+          if (this.hisPatientInfo.balance_accounts_type != 2 && this.$store.getters.xt_user.org_id != 10088 && this.$store.getters.xt_user.org_id != 10106 && this.$store.getters.xt_user.org_id != 10188 && this.$store.getters.xt_user.org_id != 10217) {
2684 2684
             this.pwdFormVisible = true
2685 2685
             this.pwd = ''
2686 2686
           } else {

+ 4 - 2
src/xt_pages/outpatientCharges/statementTemplate/printOne.vue View File

@@ -2,7 +2,7 @@
2 2
   <div id="statement-print" class="statement-print">
3 3
     <div class="statementTitle" v-if="this.$store.getters.xt_user.org_id == 10188 || this.$store.getters.xt_user.org_id == 10217">江苏省社会医疗保险医疗费用结算单</div>
4 4
     <div class="statementTitle" v-if="this.$store.getters.xt_user.org_id == 10088">广水源生堂社会医疗保险医疗费用结算单</div>
5
-    <div class="statementTitle" v-if="this.$store.getters.xt_user.org_id != 10188 && this.$store.getters.xt_user.org_id != 10088">广东省社会医疗保险医疗费用结算单</div>
5
+    <div class="statementTitle" v-if="this.$store.getters.xt_user.org_id != 10188 && this.$store.getters.xt_user.org_id != 10217 &&this.$store.getters.xt_user.org_id != 10088">广东省社会医疗保险医疗费用结算单</div>
6 6
 
7 7
     <table class="statementTable" border="1">
8 8
       <tr>
@@ -290,7 +290,9 @@
290 290
         <td>收款人:</td>
291 291
         <td colspan="2">{{info.charge_admin.user_name}}</td>
292 292
         <td>审核人:</td>
293
-        <td colspan="2">{{info.p_admin.user_name}}</td>
293
+        <td colspan="2" v-if="this.$store.getters.xt_user.org_id == 10106">{{'梅晓辉'}}</td>
294
+        <td colspan="2" v-if="this.$store.getters.xt_user.org_id != 10106">{{info.p_admin.user_name}}</td>
295
+
294 296
         <td>制单人:</td>
295 297
         <td colspan="2">{{info.p_admin.user_name}}</td>
296 298
         <td>打印日期</td>

+ 226 - 0
src/xt_pages/stock/inventoryTransfer/Addtrans.vue View File

@@ -0,0 +1,226 @@
1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+      <div>
6
+        <el-button type="primary" @click="save">保存</el-button>
7
+        <el-button type="warning" @click="examine">审核</el-button>
8
+      </div>
9
+    </div>
10
+    <div class="app-container">
11
+      <div
12
+        style="
13
+          justify-content: flex-start;
14
+          margin: 0px 0 12px 0;
15
+          display: flex;
16
+          align-items: center;
17
+        "
18
+      >
19
+        <el-form
20
+          :inline="true"
21
+          :rules="rules"
22
+          :model="formInline"
23
+          class="demo-form-inline"
24
+        >
25
+          <el-form-item label="单据日期:">
26
+            <el-date-picker
27
+              v-model="value1"
28
+              type="date"
29
+              placeholder="选择日期"
30
+            ></el-date-picker>
31
+          </el-form-item>
32
+          <el-form-item label="调出仓库:" prop="region">
33
+            <el-select v-model="formInline.region" placeholder="活动区域">
34
+              <el-option label="区域一" value="shanghai"></el-option>
35
+              <el-option label="区域二" value="beijing"></el-option>
36
+            </el-select>
37
+          </el-form-item>
38
+          <el-form-item label="调入仓库:" prop="region">
39
+            <el-select v-model="formInline.region" placeholder="活动区域">
40
+              <el-option label="区域一" value="shanghai"></el-option>
41
+              <el-option label="区域二" value="beijing"></el-option>
42
+            </el-select>
43
+          </el-form-item>
44
+        </el-form>
45
+      </div>
46
+      <el-table
47
+        :row-style="changColor"
48
+        :header-cell-style="{
49
+          backgroundColor: 'rgb(245, 247, 250)',
50
+          color: '#606266',
51
+        }"
52
+        :data="tableData"
53
+        :class="signAndWeighBoxPatients"
54
+        border
55
+      >
56
+        >
57
+        <el-table-column label="单据编号" align="center">
58
+          <template slot-scope="scope">
59
+            <span>{{ scope.row.drug_name ? scope.row.drug_name : "" }}</span>
60
+          </template>
61
+        </el-table-column>
62
+        <el-table-column align="center">
63
+          <template slot="header" slot-scope="scope">
64
+            商品名称<span style="color:red;">*</span>
65
+          </template>
66
+          <template slot-scope="scope">
67
+        <span>{{ scope.row.Count ? scope.row.Count : "" }}</span>
68
+          </template>
69
+        </el-table-column>
70
+        <el-table-column label="商品类型" align="center">
71
+          <template slot-scope="scope">
72
+            <span>{{ scope.row.Count ? scope.row.Count : "" }}</span>
73
+          </template>
74
+        </el-table-column>
75
+        <el-table-column label="规格&&单位" align="center">
76
+          <template slot-scope="scope">
77
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
78
+          </template>
79
+        </el-table-column>
80
+        <el-table-column label="调拨数量" align="center">
81
+          <template slot-scope="scope">
82
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
83
+          </template>
84
+        </el-table-column>
85
+        <el-table-column label="库存总数" align="center">
86
+          <template slot-scope="scope">
87
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
88
+          </template>
89
+        </el-table-column>
90
+        <el-table-column label="制单人" align="center">
91
+          <template slot-scope="scope">
92
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
93
+          </template>
94
+        </el-table-column>
95
+        <el-table-column label="备注" align="center">
96
+          <template slot-scope="scope">
97
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
98
+          </template>
99
+        </el-table-column>
100
+
101
+
102
+
103
+        <el-table-column label="操作" align="center" width="260px">
104
+          <template slot-scope="scope">
105
+            <el-tooltip class="item" content="新增" placement="top-start">
106
+              <el-button
107
+                icon="el-icon-plus"
108
+                size="small"
109
+                type="primary"
110
+                @click="toAdd(scope.row)"
111
+              >
112
+              </el-button>
113
+            </el-tooltip>
114
+
115
+            <el-tooltip class="item" content="删除" placement="top-start">
116
+              <el-button
117
+                icon="el-icon-delete"
118
+                size="small"
119
+                type="danger"
120
+                @click="toDelete(scope.row, scope.row.$index)"
121
+              >
122
+              </el-button>
123
+            </el-tooltip>
124
+          </template>
125
+        </el-table-column>
126
+      </el-table>
127
+      <el-pagination
128
+        @size-change="handleSizeChange"
129
+        @current-change="handleCurrentChange"
130
+        :page-sizes="[10, 50, 100, 200, 500, 1000]"
131
+        :page-size="10"
132
+        background
133
+        align="right"
134
+        style="margin-top: 20px"
135
+        layout="total, sizes, prev, pager, next, jumper"
136
+        :total="total"
137
+      >
138
+      </el-pagination>
139
+    </div>
140
+  </div>
141
+</template>
142
+
143
+<script>
144
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
145
+export default {
146
+  components: {
147
+    BreadCrumb,
148
+  },
149
+  data() {
150
+    return {
151
+      crumbs: [
152
+        { path: false, name: "库房管理" },
153
+        { path: "/stock/warehousequery", name: "新增调拨" },
154
+      ],
155
+      value1: "",
156
+      total: 0,
157
+      page: 1,
158
+      limit: 10,
159
+      tableData: [{}, {}],
160
+      formInline: {
161
+        user: "",
162
+        region: "",
163
+      },
164
+      rules: {
165
+        region: [
166
+          { required: true, message: "请选择活动区域", trigger: "change" },
167
+        ],
168
+      },
169
+    };
170
+  },
171
+
172
+  methods: {
173
+    // 初始化数据
174
+    init() {},
175
+
176
+    // 反审核
177
+    approval() {},
178
+
179
+    // 审核
180
+    examine() {},
181
+
182
+    // 保存
183
+    save() {},
184
+
185
+    // 表单添加
186
+    toAdd() {},
187
+
188
+    // 删除
189
+    toDelete() {},
190
+
191
+    // 详情查看
192
+    toDetails() {},
193
+
194
+    // 表单全选
195
+    handleSelectionChange() {},
196
+
197
+    // 页表操作
198
+    handleSizeChange(val) {
199
+      this.limit = val;
200
+      this.init();
201
+    },
202
+    handleCurrentChange(val) {
203
+      this.page = val;
204
+      this.init();
205
+    },
206
+
207
+    // 表格样式
208
+    changColor({ rowIndex }) {
209
+      if (rowIndex % 2 == 1) {
210
+        return {
211
+          backgroundColor: "#C4E1FF",
212
+          color: "#303133",
213
+        };
214
+      } else {
215
+        return {
216
+          backgroundColor: "#ACD6FF",
217
+          color: "#303133",
218
+        };
219
+      }
220
+    },
221
+  },
222
+};
223
+</script>
224
+
225
+<style rel="stylesheet/css" lang="scss" scoped>
226
+</style>

+ 228 - 0
src/xt_pages/stock/inventoryTransfer/index.vue View File

@@ -0,0 +1,228 @@
1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+      <div>
6
+        <el-button type="warning" @click="approval">反审核</el-button>
7
+        <el-button type="warning" @click="examine">审核</el-button>
8
+        <el-button type="primary" @click="Add">新增</el-button>
9
+      </div>
10
+    </div>
11
+    <div class="app-container">
12
+      <div
13
+        style="
14
+          justify-content: flex-start;
15
+          margin: 0px 0 12px 0;
16
+          display: flex;
17
+          align-items: center;
18
+        "
19
+      >
20
+        <div>
21
+          <el-input
22
+            size="small"
23
+            style="width: 200px; margin-left: 10px"
24
+            class="filter-item"
25
+            v-model.trim="keywords"
26
+          />
27
+          <el-button
28
+            size="small"
29
+            class="filter-item"
30
+            type="primary"
31
+            icon="el-icon-search"
32
+            @click="search"
33
+            >查看</el-button
34
+          >
35
+        </div>
36
+        <div>
37
+          单据日期:
38
+          <el-date-picker v-model="value1" type="date" placeholder="选择日期">
39
+          </el-date-picker>
40
+          <el-button
41
+            size="small"
42
+            class="filter-item"
43
+            type="primary"
44
+            icon="el-icon-search"
45
+            @click="search"
46
+            >查看</el-button
47
+          >
48
+        </div>
49
+      </div>
50
+      <el-table
51
+        :row-style="changColor"
52
+        :header-cell-style="{
53
+          backgroundColor: 'rgb(245, 247, 250)',
54
+          color: '#606266',
55
+        }"
56
+        :data="tableData"
57
+        :class="signAndWeighBoxPatients"
58
+        border
59
+        @selection-change="handleSelectionChange"
60
+      >
61
+        >
62
+        <el-table-column type="selection" width="55"> </el-table-column>
63
+        <el-table-column label="单据编号" align="center">
64
+          <template slot-scope="scope">
65
+            <span>{{ scope.row.drug_name ? scope.row.drug_name : "" }}</span>
66
+          </template>
67
+        </el-table-column>
68
+        <el-table-column label="单据日期" align="center">
69
+          <template slot-scope="scope">
70
+            <span>{{ scope.row.drug_spec ? scope.row.drug_spec : "" }}</span>
71
+          </template>
72
+        </el-table-column>
73
+        <el-table-column label="商品名称" align="center">
74
+          <template slot-scope="scope">
75
+            <span>{{ scope.row.Count ? scope.row.Count : "" }}</span>
76
+          </template>
77
+        </el-table-column>
78
+        <el-table-column label="调出仓库" align="center">
79
+          <template slot-scope="scope">
80
+            <span>{{ scope.row.Count ? scope.row.Count : "" }}</span>
81
+          </template>
82
+        </el-table-column>
83
+        <el-table-column label="调入仓库" align="center">
84
+          <template slot-scope="scope">
85
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
86
+          </template>
87
+        </el-table-column>
88
+        <el-table-column label="制单人" align="center">
89
+          <template slot-scope="scope">
90
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
91
+          </template>
92
+        </el-table-column>
93
+        <el-table-column label="审核人" align="center">
94
+          <template slot-scope="scope">
95
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
96
+          </template>
97
+        </el-table-column>
98
+        <el-table-column label="审核时间" align="center">
99
+          <template slot-scope="scope">
100
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
101
+          </template>
102
+        </el-table-column>
103
+        <el-table-column label="操作" align="center" width="260px">
104
+          <template slot-scope="scope">
105
+            <el-tooltip class="item" content="编辑" placement="top-start">
106
+              <el-button
107
+                icon="el-icon-edit-outline"
108
+                size="small"
109
+                type="primary"
110
+                @click="toEdit(scope.row)"
111
+              >
112
+              </el-button>
113
+            </el-tooltip>
114
+
115
+            <el-tooltip class="item" content="删除" placement="top-start">
116
+              <el-button
117
+                icon="el-icon-delete"
118
+                size="small"
119
+                type="danger"
120
+                @click="toDelete(scope.row, scope.row.$index)"
121
+              >
122
+              </el-button>
123
+            </el-tooltip>
124
+
125
+            <el-tooltip class="item" content="详情" placement="top-start">
126
+              <el-button
127
+                icon="el-icon-view"
128
+                size="small"
129
+                type="primary"
130
+                @click="toDetails(scope.row, scope.row.$index)"
131
+              >
132
+              </el-button>
133
+            </el-tooltip>
134
+          </template>
135
+        </el-table-column>
136
+      </el-table>
137
+      <el-pagination
138
+        @size-change="handleSizeChange"
139
+        @current-change="handleCurrentChange"
140
+        :page-sizes="[10, 50, 100, 200, 500, 1000]"
141
+        :page-size="10"
142
+        background
143
+        align="right"
144
+        style="margin-top: 20px"
145
+        layout="total, sizes, prev, pager, next, jumper"
146
+        :total="total"
147
+      >
148
+      </el-pagination>
149
+    </div>
150
+  </div>
151
+</template>
152
+
153
+<script>
154
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
155
+export default {
156
+  components: {
157
+    BreadCrumb,
158
+  },
159
+  data() {
160
+    return {
161
+      crumbs: [
162
+        { path: false, name: "库房管理" },
163
+        { path: "/stock/warehousequery", name: "库存调拨" },
164
+      ],
165
+      value1: "",
166
+      total: 0,
167
+      page: 1,
168
+      limit: 10,
169
+      tableData: [{}, {}],
170
+    };
171
+  },
172
+
173
+  methods: {
174
+    // 初始化数据
175
+    init() {},
176
+
177
+    // 反审核
178
+    approval() {},
179
+
180
+    // 审核
181
+    examine() {},
182
+
183
+    // 添加
184
+    Add() {
185
+        this.$router.push({path:"/stock/inventoryTransfer/Addtrans"})
186
+    },
187
+
188
+    // 删除
189
+    toDelete() {},
190
+
191
+    // 详情查看
192
+    toDetails() {
193
+        this.$router.push({path:"/stock/inventoryTransfer/transDetails"})
194
+    },
195
+
196
+    // 表单全选
197
+    handleSelectionChange() {},
198
+
199
+    // 页表操作
200
+    handleSizeChange(val) {
201
+      this.limit = val;
202
+      this.init();
203
+    },
204
+    handleCurrentChange(val) {
205
+      this.page = val;
206
+      this.init();
207
+    },
208
+
209
+    // 表格样式
210
+    changColor({ rowIndex }) {
211
+      if (rowIndex % 2 == 1) {
212
+        return {
213
+          backgroundColor: "#C4E1FF",
214
+          color: "#303133",
215
+        };
216
+      } else {
217
+        return {
218
+          backgroundColor: "#ACD6FF",
219
+          color: "#303133",
220
+        };
221
+      }
222
+    },
223
+  },
224
+};
225
+</script>
226
+
227
+<style rel="stylesheet/css" lang="scss" scoped>
228
+</style>

+ 176 - 0
src/xt_pages/stock/inventoryTransfer/transDetails.vue View File

@@ -0,0 +1,176 @@
1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+    </div>
6
+    <div class="app-container">
7
+      <el-table
8
+        :row-style="changColor"
9
+        :header-cell-style="{
10
+          backgroundColor: 'rgb(245, 247, 250)',
11
+          color: '#606266',
12
+        }"
13
+        :data="tableData"
14
+        :class="signAndWeighBoxPatients"
15
+        border
16
+      >
17
+        >
18
+        <el-table-column align="center">
19
+          <template slot="header" slot-scope="scope">
20
+            商品名称<span style="color: red">*</span>
21
+          </template>
22
+          <template slot-scope="scope">
23
+            <span>{{ scope.row.Count ? scope.row.Count : "" }}</span>
24
+          </template>
25
+        </el-table-column>
26
+        <el-table-column label="商品类型" align="center">
27
+          <template slot-scope="scope">
28
+            <span>{{ scope.row.Count ? scope.row.Count : "" }}</span>
29
+          </template>
30
+        </el-table-column>
31
+        <el-table-column label="规格&&单位" align="center">
32
+          <template slot-scope="scope">
33
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
34
+          </template>
35
+        </el-table-column>
36
+        <el-table-column label="调拨数量" align="center">
37
+          <template slot-scope="scope">
38
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
39
+          </template>
40
+        </el-table-column>
41
+        <el-table-column label="调出仓库" align="center">
42
+          <template slot-scope="scope">
43
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
44
+          </template>
45
+        </el-table-column>
46
+        <el-table-column label="调入仓库" align="center">
47
+          <template slot-scope="scope">
48
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
49
+          </template>
50
+        </el-table-column>
51
+        <el-table-column label="库存总数" align="center">
52
+          <template slot-scope="scope">
53
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
54
+          </template>
55
+        </el-table-column>
56
+        <el-table-column label="制单人" align="center">
57
+          <template slot-scope="scope">
58
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
59
+          </template>
60
+        </el-table-column>
61
+        <el-table-column label="审核人" align="center">
62
+          <template slot-scope="scope">
63
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
64
+          </template>
65
+        </el-table-column>
66
+        <el-table-column label="审核时间" align="center">
67
+          <template slot-scope="scope">
68
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
69
+          </template>
70
+        </el-table-column>
71
+        <el-table-column label="备注" align="center">
72
+          <template slot-scope="scope">
73
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
74
+          </template>
75
+        </el-table-column>
76
+      </el-table>
77
+      <el-pagination
78
+        @size-change="handleSizeChange"
79
+        @current-change="handleCurrentChange"
80
+        :page-sizes="[10, 50, 100, 200, 500, 1000]"
81
+        :page-size="10"
82
+        background
83
+        align="right"
84
+        style="margin-top: 20px"
85
+        layout="total, sizes, prev, pager, next, jumper"
86
+        :total="total"
87
+      >
88
+      </el-pagination>
89
+    </div>
90
+  </div>
91
+</template>
92
+
93
+<script>
94
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
95
+export default {
96
+  components: {
97
+    BreadCrumb,
98
+  },
99
+  data() {
100
+    return {
101
+      crumbs: [
102
+        { path: false, name: "库房管理" },
103
+        { path: "/stock/warehousequery", name: "调拨详情" },
104
+      ],
105
+      value1: "",
106
+      total: 0,
107
+      page: 1,
108
+      limit: 10,
109
+      tableData: [{}, {}],
110
+      formInline: {
111
+        user: "",
112
+        region: "",
113
+      },
114
+      rules: {
115
+        region: [
116
+          { required: true, message: "请选择活动区域", trigger: "change" },
117
+        ],
118
+      },
119
+    };
120
+  },
121
+
122
+  methods: {
123
+    // 初始化数据
124
+    init() {},
125
+
126
+    // 反审核
127
+    approval() {},
128
+
129
+    // 审核
130
+    examine() {},
131
+
132
+    // 保存
133
+    save() {},
134
+
135
+    // 表单添加
136
+    toAdd() {},
137
+
138
+    // 删除
139
+    toDelete() {},
140
+
141
+    // 详情查看
142
+    toDetails() {},
143
+
144
+    // 表单全选
145
+    handleSelectionChange() {},
146
+
147
+    // 页表操作
148
+    handleSizeChange(val) {
149
+      this.limit = val;
150
+      this.init();
151
+    },
152
+    handleCurrentChange(val) {
153
+      this.page = val;
154
+      this.init();
155
+    },
156
+
157
+    // 表格样式
158
+    changColor({ rowIndex }) {
159
+      if (rowIndex % 2 == 1) {
160
+        return {
161
+          backgroundColor: "#C4E1FF",
162
+          color: "#303133",
163
+        };
164
+      } else {
165
+        return {
166
+          backgroundColor: "#ACD6FF",
167
+          color: "#303133",
168
+        };
169
+      }
170
+    },
171
+  },
172
+};
173
+</script>
174
+
175
+<style rel="stylesheet/css" lang="scss" scoped>
176
+</style>

+ 91 - 0
src/xt_pages/stock/warehouseManage/components/AddWareHouse.vue View File

@@ -0,0 +1,91 @@
1
+<template>
2
+  <el-dialog
3
+    title="新增仓库信息"
4
+    :visible.sync="dialogVisible"
5
+    width="30%"
6
+  >
7
+    <div class="main_contain">
8
+      <el-form
9
+        :model="ruleForm"
10
+        :rules="rules"
11
+        :label-position="labelPosition"
12
+        ref="ruleForm"
13
+        label-width="100px"
14
+        class="demo-ruleForm"
15
+      >
16
+        <el-form-item label="活动名称">
17
+          <span>SH-6732</span>
18
+        </el-form-item>
19
+        <el-form-item label="仓库名称" prop="region">
20
+          <el-input v-model="ruleForm.name"></el-input>
21
+        </el-form-item>
22
+        <el-form-item label="仓库地址" prop="desc">
23
+          <el-input type="textarea" v-model="ruleForm.desc"></el-input>
24
+        </el-form-item>
25
+        <el-form-item label="状态" prop="resource">
26
+          <el-radio-group v-model="ruleForm.resource">
27
+            <el-radio label="启用"></el-radio>
28
+            <el-radio label="禁用"></el-radio>
29
+          </el-radio-group>
30
+        </el-form-item>
31
+        <el-form-item label="仓库管理员" prop="region">
32
+          <el-select v-model="ruleForm.region" placeholder="请选择活动区域">
33
+            <el-option label="区域一" value="shanghai"></el-option>
34
+            <el-option label="区域二" value="beijing"></el-option>
35
+          </el-select>
36
+        </el-form-item>
37
+      </el-form>
38
+    </div>
39
+    <span slot="footer" class="dialog-footer">
40
+      <el-button @click="dialogVisible = false">取 消</el-button>
41
+      <el-button type="primary" @click="dialogVisible = false">保存</el-button>
42
+    </span>
43
+  </el-dialog>
44
+</template>
45
+
46
+<script>
47
+export default {
48
+  data() {
49
+    return {
50
+      dialogVisible: false,
51
+      labelPosition:'left',
52
+      ruleForm: {
53
+        name: "",
54
+        region: "",
55
+        date1: "",
56
+        date2: "",
57
+        delivery: false,
58
+        type: [],
59
+        resource: "",
60
+        desc: "",
61
+      },
62
+      rules: {
63
+        region: [{ required: true, message: "请选择活动区域", trigger: "change" }],
64
+        type: [{
65
+            type: "array",
66
+            required: true,
67
+            message: "请至少选择一个活动性质",
68
+            trigger: "change",
69
+          },],
70
+        desc: [{ required: true, message: "请填写活动形式", trigger: "blur" }],
71
+      },
72
+    };
73
+  },
74
+  methods: {
75
+  },
76
+};
77
+</script>
78
+
79
+<style lang="scss" scoped>
80
+.main_contain {
81
+  width: 60%;
82
+  display: flex;
83
+  flex-direction: column;
84
+  margin: 0 auto;
85
+  .main_list {
86
+    height: 30px;
87
+    display: flex;
88
+    line-height: 30px;
89
+  }
90
+}
91
+</style>

+ 336 - 0
src/xt_pages/stock/warehouseManage/query.vue View File

@@ -0,0 +1,336 @@
1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+    </div>
6
+    <div class="app-container">
7
+      <div
8
+        style="
9
+          justify-content: space-between;
10
+          margin: 0px 0 12px 0;
11
+          display: flex;
12
+          align-items: center;
13
+        "
14
+      >
15
+        <div>
16
+          <el-input
17
+            size="small"
18
+            style="width: 200px; margin-left: 10px"
19
+            class="filter-item"
20
+            v-model.trim="keywords"
21
+            placeholder="药品名称"
22
+          />
23
+          <el-button
24
+            size="small"
25
+            class="filter-item"
26
+            type="primary"
27
+            icon="el-icon-search"
28
+            @click="search"
29
+            >搜索</el-button
30
+          >
31
+        </div>
32
+        <div>
33
+          <el-button size="small" type="primary" @click="AddWareHouse"
34
+            >新增</el-button
35
+          >
36
+          <el-button size="small" type="primary" @click="toPrint"
37
+            >设置</el-button
38
+          >
39
+        </div>
40
+      </div>
41
+
42
+      <el-table
43
+        :row-style="{ color: '#303133' }"
44
+        :header-cell-style="{
45
+          backgroundColor: 'rgb(245, 247, 250)',
46
+          color: '#606266',
47
+        }"
48
+        :data="tableData"
49
+        :class="signAndWeighBoxPatients"
50
+        border
51
+      >
52
+        <el-table-column label="仓库编号" align="center">
53
+          <template slot-scope="scope">
54
+            <span>{{ scope.row.drug_name ? scope.row.drug_name : "" }}</span>
55
+          </template>
56
+        </el-table-column>
57
+        <el-table-column label="仓库名称" align="center">
58
+          <template slot-scope="scope">
59
+            <span>{{ scope.row.drug_spec ? scope.row.drug_spec : "" }}</span>
60
+          </template>
61
+        </el-table-column>
62
+        <el-table-column label="仓库地址" align="center">
63
+          <template slot-scope="scope">
64
+            <span>{{ scope.row.Count ? scope.row.Count : "" }}</span>
65
+          </template>
66
+        </el-table-column>
67
+        <el-table-column label="仓库管理员" align="center">
68
+          <template slot-scope="scope">
69
+            <span>{{ scope.row.Count ? scope.row.Count : "" }}</span>
70
+          </template>
71
+        </el-table-column>
72
+        <el-table-column label="状态" align="center">
73
+          <template slot-scope="scope">
74
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
75
+          </template>
76
+        </el-table-column>
77
+
78
+        <el-table-column label="操作" align="center" width="260px">
79
+          <template slot-scope="scope">
80
+            <el-tooltip class="item" content="编辑" placement="top-start">
81
+              <el-button
82
+                icon="el-icon-edit-outline"
83
+                size="small"
84
+                type="primary"
85
+                @click="toEdit(scope.row)"
86
+              >
87
+              </el-button>
88
+            </el-tooltip>
89
+
90
+            <el-tooltip class="item" content="禁用" placement="top-start">
91
+              <el-button
92
+                size="small"
93
+                type="danger"
94
+                @click="toDelete(scope.row, scope.row.$index)"
95
+                ><img
96
+                  src="../../../assets/purchase/ban.png"
97
+                  alt=""
98
+                  style="width: 12px"
99
+                />
100
+              </el-button>
101
+            </el-tooltip>
102
+
103
+            <el-tooltip class="item" content="删除" placement="top-start">
104
+              <el-button
105
+                icon="el-icon-delete"
106
+                size="small"
107
+                type="danger"
108
+                @click="toDelete(scope.row, scope.row.$index)"
109
+              >
110
+              </el-button>
111
+            </el-tooltip>
112
+          </template>
113
+        </el-table-column>
114
+      </el-table>
115
+      <el-pagination
116
+        @size-change="handleSizeChange"
117
+        @current-change="handleCurrentChange"
118
+        :page-sizes="[10, 50, 100, 200, 500, 1000]"
119
+        :page-size="10"
120
+        background
121
+        align="right"
122
+        style="margin-top: 20px"
123
+        layout="total, sizes, prev, pager, next, jumper"
124
+        :total="total"
125
+      >
126
+      </el-pagination>
127
+    </div>
128
+
129
+    <AddWareHouse ref="AddWareHouse"></AddWareHouse>
130
+  </div>
131
+</template>
132
+
133
+<script>
134
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
135
+import { getDictionaryDataConfig, getDataConfig } from "@/utils/data";
136
+import { getSelfStockQuery } from "@/api/drug/drug";
137
+import AddWareHouse from "./components/AddWareHouse.vue";
138
+export default {
139
+  name: "stockIn",
140
+  created() {
141
+    var types = getDictionaryDataConfig("system", "drug_type");
142
+    console.log("44444", types);
143
+    var arr = [];
144
+    var obj = { id: 0, name: "全部" };
145
+    arr.push(obj);
146
+    arr.push(...types);
147
+    this.drugType = arr;
148
+    console.log("arrr", arr);
149
+    this.getlist();
150
+  },
151
+  components: {
152
+    BreadCrumb,
153
+    AddWareHouse,
154
+  },
155
+  data() {
156
+    return {
157
+      crumbs: [
158
+        { path: false, name: "库房管理" },
159
+        { path: "/stock/warehousequery", name: "仓库管理" },
160
+      ],
161
+      keywords: "",
162
+      total: 0,
163
+      multipleSelection: [],
164
+      signAndWeighBoxPatients: "sign-and-weigh-box-patients",
165
+      start_time: "",
166
+      end_time: "",
167
+      page: 1,
168
+      limit: 10,
169
+      tableData: [],
170
+      drugType: [],
171
+      type_name: 0,
172
+      stockOutData: [],
173
+    };
174
+  },
175
+  methods: {
176
+    getlist() {
177
+      var params = {
178
+        type_name: this.type_name,
179
+        start_time: this.start_time,
180
+        end_time: this.end_time,
181
+        keywords: this.keywords,
182
+        page: this.page,
183
+        limit: this.limit,
184
+      };
185
+      console.log("params", params);
186
+      getSelfStockQuery(params).then((response) => {
187
+        if (response.data.state == 1) {
188
+          var stockQuery = response.data.data.stockQuery;
189
+          console.log("入库", stockQuery);
190
+          this.total = response.data.data.total;
191
+          console.log("total", this.total);
192
+          var stockOutQuery = response.data.data.stockOutQuery;
193
+          console.log("stockOut", stockOutQuery);
194
+          for (let i = 0; i < stockQuery.length; i++) {
195
+            for (let j = 0; j < stockOutQuery.length; j++) {
196
+              if (stockQuery[i].drug_name_id == stockOutQuery[j].drug_name_id) {
197
+                stockQuery[i].outCount = stockOutQuery[j].Count;
198
+                stockQuery[i].total =
199
+                  stockQuery[i].Count - stockOutQuery[j].Count;
200
+              }
201
+            }
202
+          }
203
+          console.log("表格数据", stockQuery);
204
+          this.tableData = stockQuery;
205
+        }
206
+      });
207
+    },
208
+    handleSizeChange(val) {
209
+      this.limit = val;
210
+      this.getlist();
211
+    },
212
+    handleCurrentChange(val) {
213
+      this.page = val;
214
+      this.getlist();
215
+    },
216
+
217
+    startTimeChange: function (val) {
218
+      var time = this.getTimestamp(val) - this.getTimestamp(this.end_time);
219
+
220
+      if (time > 0) {
221
+        this.$message.error("开始时间不能大于结束时间");
222
+        this.start_time = "";
223
+      } else {
224
+        this.getlist();
225
+      }
226
+    },
227
+    endTimeChange: function (val) {
228
+      var time = this.getTimestamp(val) - this.getTimestamp(this.start_time);
229
+      if (time < 0) {
230
+        this.$message.error("结束时间不能小于开始时间");
231
+        this.end_time = "";
232
+      } else {
233
+        this.getlist();
234
+      }
235
+    },
236
+
237
+    search: function () {
238
+      this.getlist();
239
+    },
240
+    // 新增仓库
241
+    AddWareHouse() {
242
+      this.$refs.AddWareHouse.dialogVisible = true;
243
+    },
244
+    // 删除仓库
245
+    toDelete(val, index) {
246
+      this.$confirm("是否确认删除这条仓库信息?", "删除仓库信息", {
247
+        confirmButtonText: "确 定",
248
+        cancelButtonText: "取 消",
249
+        type: "warning",
250
+      })
251
+        .then(() => {
252
+          this.$message.success("删除成功");
253
+        })
254
+        .catch(() => {});
255
+    },
256
+    // 编辑仓库
257
+    toEdit() {
258
+        this.$refs.AddWareHouse.dialogVisible = true;
259
+    },
260
+    formatJson(filterVal, jsonData) {
261
+      return jsonData.map((v) => filterVal.map((j) => v[j]));
262
+    },
263
+    changeTypeName() {
264
+      this.getlist();
265
+    },
266
+
267
+    //路由跳转 ----- 仓库设置
268
+    toPrint() {
269
+      this.$router.push({ path: "/stock/waresetting" });
270
+    },
271
+
272
+    getTimestamp(time) {
273
+      // 把时间日期转成时间戳
274
+      return new Date(time).getTime() / 1000;
275
+    },
276
+    getDictionaryDataConfig(module, filed_name) {
277
+      return getDictionaryDataConfig(module, filed_name);
278
+    },
279
+    getDataConfig(module, filed_name) {
280
+      return getDataConfig(module, filed_name);
281
+    },
282
+  },
283
+};
284
+</script>
285
+
286
+<style rel="stylesheet/css" lang="scss" scoped>
287
+.information {
288
+  border: 1px #dcdfe6 solid;
289
+  padding: 30px 20px 30px 20px;
290
+
291
+  .border {
292
+    border-bottom: 1px #dcdfe6 solid;
293
+    margin: 0px 0 20px 0;
294
+  }
295
+}
296
+
297
+.title {
298
+  background: #409eff;
299
+  height: 44px;
300
+  line-height: 44px;
301
+  padding: 0 0 0 10px;
302
+  color: #fff;
303
+  margin: 0 0 10px 0;
304
+}
305
+
306
+.edit_separater {
307
+  border-top: 1px solid rgb(233, 233, 233);
308
+  margin-top: 15px;
309
+  margin-bottom: 15px;
310
+}
311
+</style>
312
+
313
+<style>
314
+.sign-and-weigh-box .sign-and-weigh-box-patients .cell {
315
+  font-size: 12px;
316
+}
317
+
318
+.sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
319
+  background: #6fb5fa;
320
+}
321
+
322
+.count {
323
+  color: #bd2c00;
324
+}
325
+.el-table td,
326
+.el-table th.is-leaf,
327
+.el-table--border,
328
+.el-table--group {
329
+  border-color: #d0d3da;
330
+}
331
+.el-table--border::after,
332
+.el-table--group::after,
333
+.el-table::before {
334
+  background-color: #d0d3da;
335
+}
336
+</style>

+ 119 - 0
src/xt_pages/stock/warehouseManage/waresetting.vue View File

@@ -0,0 +1,119 @@
1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+
6
+      <el-button type="primary" @click="returnTo">返回</el-button>
7
+    </div>
8
+    <div class="app-container">
9
+      <div class="set-contanin">
10
+        <div class="select-list">
11
+          <div style="line-height: 36px; white-space: nowrap">
12
+            请选择耗材自动入库仓库:
13
+          </div>
14
+          <el-select v-model="value" placeholder="请选择">
15
+            <el-option
16
+              v-for="item in options"
17
+              :key="item.value"
18
+              :label="item.label"
19
+              :value="item.value"
20
+            >
21
+            </el-option>
22
+          </el-select>
23
+        </div>
24
+        <div class="select-list">
25
+          <div style="line-height: 36px; white-space: nowrap">
26
+            请选择耗材自动出库仓库:
27
+          </div>
28
+          <el-select v-model="value" placeholder="请选择">
29
+            <el-option
30
+              v-for="item in options"
31
+              :key="item.value"
32
+              :label="item.label"
33
+              :value="item.value"
34
+            >
35
+            </el-option>
36
+          </el-select>
37
+        </div>
38
+        <div class="select-list">
39
+          <div style="line-height: 36px; white-space: nowrap">
40
+            请选择药品自动入库仓库:
41
+          </div>
42
+          <el-select v-model="value" placeholder="请选择">
43
+            <el-option
44
+              v-for="item in options"
45
+              :key="item.value"
46
+              :label="item.label"
47
+              :value="item.value"
48
+            >
49
+            </el-option>
50
+          </el-select>
51
+        </div>
52
+        <div class="select-list">
53
+          <div style="line-height: 36px; white-space: nowrap">
54
+            请选择药品自动出库仓库:
55
+          </div>
56
+          <el-select v-model="value" placeholder="请选择">
57
+            <el-option
58
+              v-for="item in options"
59
+              :key="item.value"
60
+              :label="item.label"
61
+              :value="item.value"
62
+            >
63
+            </el-option>
64
+          </el-select>
65
+        </div>
66
+      </div>
67
+    </div>
68
+  </div>
69
+</template>
70
+
71
+<script>
72
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
73
+export default {
74
+  components: {
75
+    BreadCrumb,
76
+  },
77
+  data() {
78
+    return {
79
+      crumbs: [
80
+        { path: false, name: "库房管理" },
81
+        { path: false, name: "仓库管理" },
82
+        { path: false, name: "仓库设置" },
83
+      ],
84
+      options:[]
85
+    };
86
+  },
87
+
88
+  created(){
89
+
90
+  },
91
+
92
+  methods:{
93
+      returnTo(){
94
+          this.$router.back(-1)
95
+      }
96
+  }
97
+};
98
+</script>
99
+
100
+<style rel="stylesheet/css" lang="scss" scoped>
101
+.set-contanin {
102
+  width: 30%;
103
+  height: 50%;
104
+  position: absolute;
105
+  top: 0;
106
+  left: 0;
107
+  right: 0;
108
+  bottom: 0;
109
+  /* 横竖都居中 */
110
+  margin: auto;
111
+  .select-list {
112
+    display: flex;
113
+    padding: 10px 0;
114
+  }
115
+}
116
+/deep/ .el-input__inner {
117
+  width: 202px;
118
+}
119
+</style>

+ 10 - 4
src/xt_pages/supply/components/addGoodReturn.vue View File

@@ -824,10 +824,18 @@ export default {
824 824
     },
825 825
   getAllPrice() {
826 826
       var total_price = 0;
827
+      console.log(this.recordInfo.tableList,'this.recordInfo.tableList')
827 828
       for (let i = 0; i < this.recordInfo.tableList.length; i++) {
828
-        total_price += this.recordInfo.tableList[i].supply_price *this.recordInfo.tableList[i].supply_count - (this.recordInfo.tableList[i].supply_price*this.recordInfo.tableList[i].supply_count*(this.recordInfo.tableList[i].deposit_rate/100));
829
+        total_price += 
830
+        this.recordInfo.tableList[i].supply_price*
831
+        this.recordInfo.tableList[i].supply_count - 
832
+        (this.recordInfo.tableList[i].supply_price*
833
+        this.recordInfo.tableList[i].supply_count*
834
+        (this.recordInfo.tableList[i].deposit_rate/100));
835
+        console.log(total_price,'this.total_price')
829 836
       }
830 837
       this.total_price = total_price;
838
+      
831 839
       // this.discount_amount = (this.total_price * this.rate_of_concession * 0.01).toFixed(2);
832 840
       if(total_price > 0){
833 841
         return total_price.toFixed(2);
@@ -892,12 +900,12 @@ export default {
892 900
       var ids = this.$route.query.ids;
893 901
       getGoodOrderDetailList(id,ids).then((response) => {
894 902
         if (response.data.state == 1) {
903
+          console.log(response.data.data.list,'oooresponse.data.data.list')
895 904
           var out = response.data.data.out;
896 905
           this.id = out.id;
897 906
           this.supplier_name = out.supplier_id;
898 907
           this.rate_of_concession = out.rate_of_concession;
899 908
           this.discount_amount = out.discount_amount;
900
-
901 909
           this.start_time = this.getTimes(out.document_date);
902 910
           var orderInfo = response.data.data.list;
903 911
           console.log("orderINFO233232232332", orderInfo);
@@ -977,8 +985,6 @@ export default {
977 985
                   orderInfo[i].unitList[0].name = goodList[j].packing_unit;
978 986
                   orderInfo[i].count =  this.getTotalStockCountSix(orderInfo[i].good_warehouse_info,orderInfo[i].warehouse_out_id)
979 987
                 }
980
-
981
-               
982 988
               }
983 989
               orderInfo[i].sum_count = orderInfo[i].count
984 990
               orderInfo[i].min_number = 0