ソースを参照

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

csx 3 年 前
コミット
f0ee28d3d2

BIN
src/assets/purchase/ban.png ファイルの表示


+ 2 - 0
src/lang/en.js ファイルの表示

@@ -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 ファイルの表示

@@ -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 ファイルの表示

@@ -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 ファイルの表示

@@ -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
+}

+ 33 - 0
src/router/modules/wareHouseManage.js ファイルの表示

@@ -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 - 1
src/views/layout/Layout.vue ファイルの表示

@@ -130,7 +130,7 @@ export default {
130 130
     let menzhen = ['hospitalStation',"hospitalRecord","hospitalCharges","hisTool",'outpatientRegistration','outpatientDoctorStation','outpatientCharges','outpatientPharmacy','outpatientRecord'];
131 131
     let bingli = ['User','createPatient'];
132 132
     let touxi = ['home','workforce', 'dialysisrecord', 'dialysis', 'medicalScheduling', 'signIndex', 'qcd', 'device', 'quality_control'];
133
-    let kucun = ['stockManage','stockDrugs','selfPreparedMedicine','otherManagement'];
133
+    let kucun = ['stockManage','stockDrugs','selfPreparedMedicine','inventoryTransfer','wareHouseManage','otherManagement'];
134 134
     let caigou = ['supplyManage','supplyList'];
135 135
     let peizhi = ['system','roleManage','DepartManage', 'bedManagement', 'dictionaryManagement', 'templateManagement','showconfig','printTemplate','integration_config','basicConfig'];
136 136
     let kuyishopping = ['kuyiShopping'];

+ 1 - 1
src/views/layout/components/Sidebar/index.vue ファイルの表示

@@ -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
+ 2321 - 881
src/xt_pages/dialysis/template/DialysisPrintOrderFortySeven.vue


+ 49 - 49
src/xt_pages/hospitalStation/components/settlePrescriptionTable.vue ファイルの表示

@@ -18,31 +18,26 @@
18 18
         width="40"
19 19
         label="序号"
20 20
       ></el-table-column>
21
-      <el-table-column align="center" prop="name" width="100" 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,32 +45,31 @@
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
-          <div>{{ scope.row.retail_price}}元</div>
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
             {{
78
-              (scope.row.prescribing_number * scope.row.retail_price).toFixed(2)
70
+              (scope.row.prescribing_number * scope.row.retail_price).toFixed(
71
+                2
72
+              )
79 73
             }}元
80 74
           </div>
81 75
 
@@ -83,13 +77,13 @@
83 77
         </template>
84 78
       </el-table-column>
85 79
 
86
-      <el-table-column align="center" prop="name" width="60" label="全自费金额">
80
+      <el-table-column align="center" prop="name" width="80" label="全自费金额">
87 81
         <template slot-scope="scope">
88 82
           <div>{{ scope.row.fulamt_ownpay_amt }}元</div>
89 83
         </template>
90 84
       </el-table-column>
91 85
 
92
-      <el-table-column align="center" prop="name" width="60" label="超限价金额">
86
+      <el-table-column align="center" prop="name" width="80" label="超限价金额">
93 87
         <template slot-scope="scope">
94 88
           <div>{{ scope.row.overlmt_amt }}元</div>
95 89
         </template>
@@ -98,7 +92,7 @@
98 92
       <el-table-column
99 93
         align="center"
100 94
         prop="name"
101
-        width="60"
95
+        width="80"
102 96
         label="先行自付金额"
103 97
       >
104 98
         <template slot-scope="scope">
@@ -109,7 +103,7 @@
109 103
       <el-table-column
110 104
         align="center"
111 105
         prop="name"
112
-        width="60"
106
+        width="70"
113 107
         label="符合正常范围金额"
114 108
       >
115 109
         <template slot-scope="scope">
@@ -117,7 +111,7 @@
117 111
         </template>
118 112
       </el-table-column>
119 113
 
120
-      <el-table-column align="center" prop="name" width="50" label="备注">
114
+      <el-table-column align="center" prop="name" width="60" label="备注">
121 115
         <template slot-scope="scope">
122 116
           <!--<el-input v-model="scope.row.remark" :title="scope.row.remark" placeholder="" readonly></el-input>-->
123 117
           <div>{{ scope.row.remark }}</div>
@@ -142,7 +136,12 @@
142 136
         width="40"
143 137
         label="序号"
144 138
       ></el-table-column>
145
-      <el-table-column align="center" prop="project_name" width="100" label="名称">
139
+      <el-table-column
140
+        align="center"
141
+        prop="project_name"
142
+        width="400"
143
+        label="名称"
144
+      >
146 145
         <template slot-scope="scope">{{ scope.row.project_name }}</template>
147 146
       </el-table-column>
148 147
       <el-table-column
@@ -155,15 +154,17 @@
155 154
           getGroup(scope.row.statistical_classification)
156 155
         }}</template>
157 156
       </el-table-column>
157
+
158 158
       <el-table-column
159 159
         align="center"
160 160
         prop="single_dose"
161 161
         width="80"
162 162
         label="单次用量"
163 163
       >
164
-        <template slot-scope="scope"
165
-          >{{ scope.row.single_dose }}{{ scope.row.unit }}</template
166
-        >
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>
167 168
       </el-table-column>
168 169
       <el-table-column
169 170
         align="center"
@@ -190,7 +191,7 @@
190 191
       <el-table-column
191 192
         align="center"
192 193
         prop="number_days"
193
-        width="50"
194
+        width="80"
194 195
         label="天数"
195 196
       >
196 197
         <template slot-scope="scope">
@@ -198,36 +199,35 @@
198 199
           {{ scope.row.number_days }}天
199 200
         </template>
200 201
       </el-table-column>
201
-      <el-table-column align="center" prop="total" width="50" label="总量">
202
+
203
+      <el-table-column align="center" prop="total" width="80" label="总量">
202 204
         <template slot-scope="scope">
203
-          <div style="display: flex">
204
-            <!--<el-input v-model="scope.row.total" placeholder="" readonly></el-input>-->
205
-            {{ scope.row.total }} {{ scope.row.unit }}
206
-          </div>
205
+          <!--<el-input v-model="scope.row.total" placeholder="" readonly></el-input>-->
206
+          {{ scope.row.total }} {{ scope.row.unit }}
207 207
         </template>
208 208
       </el-table-column>
209
-      <el-table-column align="center" prop="name" width="50" label="单价">
209
+
210
+      <el-table-column align="center" prop="name" width="100" label="单价">
210 211
         <template slot-scope="scope">
211 212
           <!--<el-input v-model="scope.row.price" placeholder="" readonly></el-input>-->
212
-          {{ scope.row.price.toFixed(2) }}元
213
+          {{ scope.row.price }}元
213 214
         </template>
214 215
       </el-table-column>
215 216
 
216
-      <el-table-column align="center" prop="name" width="60" label="总价">
217
+       <el-table-column align="center" prop="name" width="100" label="总价">
217 218
         <template slot-scope="scope">
218
-          <div>{{ (scope.row.total * scope.row.price.toFixed(2)) }}元</div>
219
-
220 219
           <!--<el-input v-model="scope.row.retail_price" placeholder="" readonly></el-input>-->
220
+          {{ (scope.row.total * scope.row.price).toFixed(2) }}元
221 221
         </template>
222 222
       </el-table-column>
223 223
 
224
-      <el-table-column align="center" prop="name" width="60" label="全自费金额">
224
+      <el-table-column align="center" prop="name" width="80" label="全自费金额">
225 225
         <template slot-scope="scope">
226 226
           <div>{{ scope.row.fulamt_ownpay_amt }}元</div>
227 227
         </template>
228 228
       </el-table-column>
229 229
 
230
-      <el-table-column align="center" prop="name" width="60" label="超限价金额">
230
+      <el-table-column align="center" prop="name" width="80" label="超限价金额">
231 231
         <template slot-scope="scope">
232 232
           <div>{{ scope.row.overlmt_amt }}元</div>
233 233
         </template>
@@ -236,7 +236,7 @@
236 236
       <el-table-column
237 237
         align="center"
238 238
         prop="name"
239
-        width="60"
239
+        width="80"
240 240
         label="先行自付金额"
241 241
       >
242 242
         <template slot-scope="scope">
@@ -247,7 +247,7 @@
247 247
       <el-table-column
248 248
         align="center"
249 249
         prop="name"
250
-        width="60"
250
+        width="70"
251 251
         label="符合正常范围金额"
252 252
       >
253 253
         <template slot-scope="scope">

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

@@ -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) {

+ 224 - 0
src/xt_pages/stock/inventoryTransfer/index.vue ファイルの表示

@@ -0,0 +1,224 @@
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
+
186
+    // 删除
187
+    toDelete() {},
188
+
189
+    // 详情查看
190
+    toDetails() {},
191
+
192
+    // 表单全选
193
+    handleSelectionChange() {},
194
+
195
+    // 页表操作
196
+    handleSizeChange(val) {
197
+      this.limit = val;
198
+      this.init();
199
+    },
200
+    handleCurrentChange(val) {
201
+      this.page = val;
202
+      this.init();
203
+    },
204
+
205
+    // 表格样式
206
+    changColor({ rowIndex }) {
207
+      if (rowIndex % 2 == 1) {
208
+        return {
209
+          backgroundColor: "#C4E1FF",
210
+          color: "#303133",
211
+        };
212
+      } else {
213
+        return {
214
+          backgroundColor: "#ACD6FF",
215
+          color: "#303133",
216
+        };
217
+      }
218
+    },
219
+  },
220
+};
221
+</script>
222
+
223
+<style rel="stylesheet/css" lang="scss" scoped>
224
+</style>

+ 91 - 0
src/xt_pages/stock/warehouseManage/components/AddWareHouse.vue ファイルの表示

@@ -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 ファイルの表示

@@ -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 ファイルの表示

@@ -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 ファイルの表示

@@ -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