Browse Source

Merge branch 'superman' of http://git.shengws.com:3000/zhangbj/xt_vue into superman

zhengchengwu 6 years ago
parent
commit
fd6007349c
100 changed files with 2730 additions and 9330 deletions
  1. 268 362
      src/api/stock.js
  2. 3 3
      src/components/Hamburger/index.vue
  3. 58 49
      src/lang/zh.js
  4. 4 4
      src/router/index.js
  5. 12 4
      src/styles/index.scss
  6. 1 1
      src/views/layout/components/Navbar.vue
  7. 2 0
      src/views/layout/components/Sidebar/index.vue
  8. 1 1
      src/views/layout/components/TagsView.vue
  9. 1 1
      src/views/login/index.vue
  10. 2 3
      src/xt_pages/data/components/tableson.vue
  11. 4 4
      src/xt_pages/data/components/templateTable.vue
  12. 26 20
      src/xt_pages/data/druguse.vue
  13. 34 32
      src/xt_pages/data/druguseTemplate.vue
  14. 2 2
      src/xt_pages/device/components/maintain/maintain_record_list_dialog.vue
  15. 3 3
      src/xt_pages/device/components/partition_dialog.vue
  16. 12 4
      src/xt_pages/device/components/quality_control/quality_record_list_dialog.vue
  17. 3 1
      src/xt_pages/device/components/sterilize_plan/sterilize_plan_pane.vue
  18. 6 5
      src/xt_pages/device/components/use_registration_pane.vue
  19. 2 2
      src/xt_pages/device/components/water_pane.vue
  20. 2 2
      src/xt_pages/device/group_main.vue
  21. 2 2
      src/xt_pages/device/number_main.vue
  22. 2 2
      src/xt_pages/device/zone_main.vue
  23. 1 64
      src/xt_pages/dialysis/bloodPresssWatch.vue
  24. 1 1
      src/xt_pages/dialysis/details/dialog/DoctorAdviceDialog.vue
  25. 1 31
      src/xt_pages/dialysis/dialysisPrepare.vue
  26. 0 48
      src/xt_pages/dialysis/doctorAdvice.vue
  27. 0 64
      src/xt_pages/dialysis/schedualPatient2.vue
  28. 0 60
      src/xt_pages/qcd/dialysisTotal.vue
  29. 0 60
      src/xt_pages/qcd/outcomeIndicators/control.vue
  30. 0 60
      src/xt_pages/qcd/outcomeIndicators/query.vue
  31. 0 60
      src/xt_pages/qcd/patientAnalysis/bloodPressure.vue
  32. 0 60
      src/xt_pages/qcd/patientAnalysis/dialysisAge.vue
  33. 0 60
      src/xt_pages/qcd/patientAnalysis/lapseto.vue
  34. 0 60
      src/xt_pages/qcd/patientAnalysis/total.vue
  35. 1 60
      src/xt_pages/qcd/patientAnalysis/weight.vue
  36. 0 60
      src/xt_pages/qcd/processIndicators.1.vue
  37. 0 60
      src/xt_pages/qcd/processIndicators.vue
  38. 9 3
      src/xt_pages/role/admin.vue
  39. 15 4
      src/xt_pages/role/role.vue
  40. 23 28
      src/xt_pages/stock/Dialog/goodInfoDailog.vue
  41. 160 2
      src/xt_pages/stock/Dialog/salesReturnDialog.vue
  42. 121 186
      src/xt_pages/stock/Dialog/stockInDialog.vue
  43. 23 14
      src/xt_pages/stock/addStockIn.vue
  44. 23 14
      src/xt_pages/stock/addStockOut.vue
  45. 8 6
      src/xt_pages/stock/cancelStock.vue
  46. 123 118
      src/xt_pages/stock/cancelStockOrder.vue
  47. 49 51
      src/xt_pages/stock/cancelStockOrderAdd.vue
  48. 20 8
      src/xt_pages/stock/cancelStockOrderDetail.vue
  49. 106 101
      src/xt_pages/stock/cancelStockOrderEdit.vue
  50. 2 2
      src/xt_pages/stock/config/dealer.vue
  51. 2 2
      src/xt_pages/stock/config/goodInfo.vue
  52. 2 2
      src/xt_pages/stock/config/goodType.vue
  53. 2 2
      src/xt_pages/stock/config/manufacturer.vue
  54. 17 26
      src/xt_pages/stock/index.vue
  55. 0 25
      src/xt_pages/stock/otherCancelStockDetail.vue
  56. 120 117
      src/xt_pages/stock/otherCancelStockOrder.vue
  57. 0 408
      src/xt_pages/stock/otherCancelStockOrderAdd.vue
  58. 0 232
      src/xt_pages/stock/otherCancelStockOrderDetail.vue
  59. 0 391
      src/xt_pages/stock/otherCancelStockOrderEdit.vue
  60. 0 24
      src/xt_pages/stock/otherSalesReturnDetail.vue
  61. 124 116
      src/xt_pages/stock/otherSalesReturnOrder.vue
  62. 0 414
      src/xt_pages/stock/otherSalesReturnOrderAdd.vue
  63. 0 232
      src/xt_pages/stock/otherSalesReturnOrderDetail.vue
  64. 0 391
      src/xt_pages/stock/otherSalesReturnOrderEdit.vue
  65. 0 24
      src/xt_pages/stock/otherStockInDetail.vue
  66. 57 51
      src/xt_pages/stock/otherStockInOrder.vue
  67. 0 613
      src/xt_pages/stock/otherStockInOrderAdd.vue
  68. 0 281
      src/xt_pages/stock/otherStockInOrderDetail.vue
  69. 0 502
      src/xt_pages/stock/otherStockInOrderEdit.vue
  70. 0 26
      src/xt_pages/stock/otherStockOutDetail.vue
  71. 155 79
      src/xt_pages/stock/otherStockOutOrder.vue
  72. 0 443
      src/xt_pages/stock/otherStockOutOrderAdd.vue
  73. 0 258
      src/xt_pages/stock/otherStockOutOrderDetail.vue
  74. 0 425
      src/xt_pages/stock/otherStockOutOrderEdit.vue
  75. 8 5
      src/xt_pages/stock/salesReturn.vue
  76. 38 17
      src/xt_pages/stock/salesReturnEdit.vue
  77. 122 114
      src/xt_pages/stock/salesReturnOrder.vue
  78. 162 153
      src/xt_pages/stock/salesReturnOrderAdd.vue
  79. 67 55
      src/xt_pages/stock/salesReturnOrderDetail.vue
  80. 0 1
      src/xt_pages/stock/salesReutrnRecord.vue
  81. 0 1
      src/xt_pages/stock/stockIn.vue
  82. 53 56
      src/xt_pages/stock/stockInOrder.vue
  83. 194 182
      src/xt_pages/stock/stockInOrderAdd.vue
  84. 21 12
      src/xt_pages/stock/stockInOrderDetail.vue
  85. 34 17
      src/xt_pages/stock/stockInOrderEdit.vue
  86. 0 1
      src/xt_pages/stock/stockOut.vue
  87. 139 79
      src/xt_pages/stock/stockOutOrder.vue
  88. 65 49
      src/xt_pages/stock/stockOutOrderAdd.vue
  89. 94 81
      src/xt_pages/stock/stockOutOrderDetail.vue
  90. 37 18
      src/xt_pages/stock/stockOutOrderEdit.vue
  91. 0 1234
      src/xt_pages/user/components/PatientDetail.vue
  92. 1 1
      src/xt_pages/user/components/PatientSidebar.vue
  93. 24 17
      src/xt_pages/user/dialysisSolution.1.vue
  94. 7 5
      src/xt_pages/user/dialysisSolution.vue
  95. 5 64
      src/xt_pages/user/doctorAdvice.vue
  96. 0 64
      src/xt_pages/user/patient.vue
  97. 21 21
      src/xt_pages/user/patientInfo.vue
  98. 23 87
      src/xt_pages/user/patients.vue
  99. 0 60
      src/xt_pages/user/proeducation.vue
  100. 0 0
      src/xt_pages/workforce/components/tableData.vue

+ 268 - 362
src/api/stock.js View File

@@ -1,632 +1,538 @@
1 1
 import request from '@/utils/request'
2 2
 
3
-
4
-export function createDealer(params){
3
+export function createDealer(params) {
5 4
   return request({
6
-    url:'/api/stock/dealer/create',
7
-    method:'post',
8
-    params:params
5
+    url: '/api/stock/dealer/create',
6
+    method: 'post',
7
+    params: params
9 8
   })
10 9
 }
11 10
 
12
-
13
-export function modifyDealer(params){
11
+export function modifyDealer(params) {
14 12
   return request({
15
-    url:'/api/stock/dealer/modify',
16
-    method:'post',
17
-    params:params
13
+    url: '/api/stock/dealer/modify',
14
+    method: 'post',
15
+    params: params
18 16
   })
19 17
 }
20 18
 
21
-
22
-
23
-export function getDealersList(params){
19
+export function getDealersList(params) {
24 20
   return request({
25
-    url:'/api/stock/dealer/list',
26
-    method:'get',
27
-    params:params
21
+    url: '/api/stock/dealer/list',
22
+    method: 'get',
23
+    params: params
28 24
   })
29 25
 }
30 26
 
31
-
32
-export function deleteDealer(params){
27
+export function deleteDealer(params) {
33 28
   return request({
34
-    url:'/api/stock/dealer/delete',
35
-    method:'post',
36
-    params:params
29
+    url: '/api/stock/dealer/delete',
30
+    method: 'post',
31
+    params: params
37 32
   })
38 33
 }
39 34
 
40
-
41
-
42
-export function GetDealer(params){
35
+export function GetDealer(params) {
43 36
   return request({
44
-    url:'/api/stock/dealer/get',
45
-    method:'get',
46
-    params:params
37
+    url: '/api/stock/dealer/get',
38
+    method: 'get',
39
+    params: params
47 40
   })
48 41
 }
49 42
 
50
-
51
-
52
-
53
-
54
-export function createManufacturer(params){
43
+export function createManufacturer(params) {
55 44
   return request({
56
-    url:'/api/stock/manufacturer/create',
57
-    method:'post',
58
-    params:params
45
+    url: '/api/stock/manufacturer/create',
46
+    method: 'post',
47
+    params: params
59 48
   })
60 49
 }
61 50
 
62
-
63
-export function modifyManufacturer(params){
51
+export function modifyManufacturer(params) {
64 52
   return request({
65
-    url:'/api/stock/manufacturer/modify',
66
-    method:'post',
67
-    params:params
53
+    url: '/api/stock/manufacturer/modify',
54
+    method: 'post',
55
+    params: params
68 56
   })
69 57
 }
70 58
 
71
-
72
-
73
-export function getManufacturerList(params){
59
+export function getManufacturerList(params) {
74 60
   return request({
75
-    url:'/api/stock/manufacturer/list',
76
-    method:'get',
77
-    params:params
61
+    url: '/api/stock/manufacturer/list',
62
+    method: 'get',
63
+    params: params
78 64
   })
79 65
 }
80 66
 
81
-
82
-export function deleteManufacturer(params){
67
+export function deleteManufacturer(params) {
83 68
   return request({
84
-    url:'/api/stock/manufacturer/delete',
85
-    method:'post',
86
-    params:params
69
+    url: '/api/stock/manufacturer/delete',
70
+    method: 'post',
71
+    params: params
87 72
   })
88 73
 }
89 74
 
90
-
91
-
92
-export function GetManufacturer(params){
75
+export function GetManufacturer(params) {
93 76
   return request({
94
-    url:'/api/stock/manufacturer/get',
95
-    method:'get',
96
-    params:params
77
+    url: '/api/stock/manufacturer/get',
78
+    method: 'get',
79
+    params: params
97 80
   })
98 81
 }
99 82
 
100
-
101
-
102
-
103
-
104
-
105
-
106
-
107
-
108
-
109
-export function createGoodType(params){
83
+export function createGoodType(params) {
110 84
   return request({
111
-    url:'/api/stock/good/type/create',
112
-    method:'post',
113
-    params:params
85
+    url: '/api/stock/good/type/create',
86
+    method: 'post',
87
+    params: params
114 88
   })
115 89
 }
116 90
 
117
-
118
-export function modifyGoodType(params){
91
+export function modifyGoodType(params) {
119 92
   return request({
120
-    url:'/api/stock/good/type/modify',
121
-    method:'post',
122
-    params:params
93
+    url: '/api/stock/good/type/modify',
94
+    method: 'post',
95
+    params: params
123 96
   })
124 97
 }
125 98
 
126
-
127
-
128
-export function getGoodTypeList(params){
99
+export function getGoodTypeList(params) {
129 100
   return request({
130
-    url:'/api/stock/good/type/list',
131
-    method:'get',
132
-    params:params
101
+    url: '/api/stock/good/type/list',
102
+    method: 'get',
103
+    params: params
133 104
   })
134 105
 }
135 106
 
136
-
137
-export function deleteGoodType(params){
107
+export function deleteGoodType(params) {
138 108
   return request({
139
-    url:'/api/type/delete',
140
-    method:'post',
141
-    params:params
109
+    url: '/api/type/delete',
110
+    method: 'post',
111
+    params: params
142 112
   })
143 113
 }
144 114
 
145
-
146
-
147
-export function GetGoodType(params){
115
+export function GetGoodType(params) {
148 116
   return request({
149
-    url:'/api/stock/good/type/get',
150
-    method:'get',
151
-    params:params
117
+    url: '/api/stock/good/type/get',
118
+    method: 'get',
119
+    params: params
152 120
   })
153 121
 }
154 122
 
155
-
156
-
157
-
158
-
159
-
160
-
161
-
162
-
163
-export function createGoodInfo(params){
123
+export function createGoodInfo(params) {
164 124
   return request({
165
-    url:'/api/stock/good/info/create',
166
-    method:'post',
167
-    params:params
125
+    url: '/api/stock/good/info/create',
126
+    method: 'post',
127
+    params: params
168 128
   })
169 129
 }
170 130
 
171
-
172
-export function modifyGoodInfo(params){
131
+export function modifyGoodInfo(params) {
173 132
   return request({
174
-    url:'/api/stock/good/info/modify',
175
-    method:'post',
176
-    params:params
133
+    url: '/api/stock/good/info/modify',
134
+    method: 'post',
135
+    params: params
177 136
   })
178 137
 }
179 138
 
180
-
181
-
182
-export function getGoodInfoList(params){
139
+export function getGoodInfoList(params) {
183 140
   return request({
184
-    url:'/api/stock/good/info/list',
185
-    method:'get',
186
-    params:params
141
+    url: '/api/stock/good/info/list',
142
+    method: 'get',
143
+    params: params
187 144
   })
188 145
 }
189 146
 
190
-
191
-export function deleteGoodInfo(params){
147
+export function deleteGoodInfo(params) {
192 148
   return request({
193
-    url:'/api/info/delete',
194
-    method:'post',
195
-    params:params
149
+    url: '/api/info/delete',
150
+    method: 'post',
151
+    params: params
196 152
   })
197 153
 }
198 154
 
199
-
200
-
201
-export function GetGoodInfoByGoodId(params){
155
+export function GetGoodInfoByGoodId(params) {
202 156
   return request({
203
-    url:'/api/stock/good/info/get',
204
-    method:'get',
205
-    params:params
157
+    url: '/api/stock/good/info/get',
158
+    method: 'get',
159
+    params: params
206 160
   })
207 161
 }
208 162
 
209
-export function GetGoodInfo(params){
163
+export function GetGoodInfo(params) {
210 164
   return request({
211
-    url:'/api/stock/good/info',
212
-    method:'get',
213
-    params:params
165
+    url: '/api/stock/good/info',
166
+    method: 'get',
167
+    params: params
214 168
   })
215 169
 }
216 170
 
217
-
218
-
219
-export function GetAllDeals(params){
171
+export function GetAllDeals(params) {
220 172
   return request({
221
-    url:'/api/stock/dealer/all',
222
-    method:'get',
223
-    params:params
173
+    url: '/api/stock/dealer/all',
174
+    method: 'get',
175
+    params: params
224 176
   })
225 177
 }
226 178
 
227
-
228
-export function GetAllManufacturer(params){
179
+export function GetAllManufacturer(params) {
229 180
   return request({
230
-    url:'/api/stock/manufacturer/all',
231
-    method:'get',
232
-    params:params
181
+    url: '/api/stock/manufacturer/all',
182
+    method: 'get',
183
+    params: params
233 184
   })
234 185
 }
235 186
 
236
-
237
-export function GetAllGoodType(params){
187
+export function GetAllGoodType(params) {
238 188
   return request({
239
-    url:'/api/stock/good/type/all',
240
-    method:'get',
241
-    params:params
189
+    url: '/api/stock/good/type/all',
190
+    method: 'get',
191
+    params: params
242 192
   })
243 193
 }
244 194
 
245
-
246
-export function GetAllGoodInfo(params){
195
+export function GetAllGoodInfo(params) {
247 196
   return request({
248
-    url:'/api/stock/good/info/all',
249
-    method:'get',
250
-    params:params
197
+    url: '/api/stock/good/info/all',
198
+    method: 'get',
199
+    params: params
251 200
   })
252 201
 }
253 202
 
254
-export function postWarehouse(params,warehousing_time,manufacturer_id,dealer_id,type){
203
+export function postWarehouse(params, warehousing_time, manufacturer_id, dealer_id, type) {
255 204
   return request({
256
-    url:'/api/warehouse/create?warehousing_time='+warehousing_time+"&manufacturer_id="+manufacturer_id+"&dealer_id="+dealer_id+"&type="+type,
257
-    method:'post',
258
-    data:params
205
+    url: '/api/warehouse/create?warehousing_time=' + warehousing_time + '&manufacturer_id=' + manufacturer_id + '&dealer_id=' + dealer_id + '&type=' + type,
206
+    method: 'post',
207
+    data: params
259 208
   })
260 209
 }
261 210
 
262
-
263
-export function getWarehouseList(params){
211
+export function getWarehouseList(params) {
264 212
   return request({
265
-    url:'/api/warehouse/list',
266
-    method:'get',
267
-    params:params
213
+    url: '/api/warehouse/list',
214
+    method: 'get',
215
+    params: params
268 216
   })
269 217
 }
270 218
 
271
-export function getWarehouseInfoList(params){
219
+export function getWarehouseInfoList(params) {
272 220
   return request({
273
-    url:'/api/warehouseinfo/list',
274
-    method:'get',
275
-    params:params
221
+    url: '/api/warehouseinfo/list',
222
+    method: 'get',
223
+    params: params
276 224
   })
277 225
 }
278 226
 
279
-
280
-export function postSalesReturn(params,salesReturnTime,salesReturnTotal,dealer_id,manufacturer_id,type){
227
+export function postSalesReturn(params, salesReturnTime, salesReturnTotal, dealer_id, manufacturer_id, type) {
281 228
   return request({
282
-    url:'/api/salesreturn/create?time='+salesReturnTime+"&total="+salesReturnTotal+"&dealer_id="+dealer_id+"&manufacturer_id="+manufacturer_id+"&type="+type,
283
-    method:'post',
284
-    data:params
229
+    url: '/api/salesreturn/create?time=' + salesReturnTime + '&total=' + salesReturnTotal + '&dealer_id=' + dealer_id + '&manufacturer_id=' + manufacturer_id + '&type=' + type,
230
+    method: 'post',
231
+    data: params
285 232
   })
286 233
 }
287 234
 
288
-export function getWarehouseInfo(params){
235
+export function getWarehouseInfo(params) {
289 236
   return request({
290
-    url:'/api/info/get',
291
-    method:'get',
292
-    params:params
237
+    url: '/api/info/get',
238
+    method: 'get',
239
+    params: params
293 240
   })
294 241
 }
295 242
 
296
-
297
-
298
-export function getSalesReturnList(params){
243
+export function getSalesReturnList(params) {
299 244
   return request({
300
-    url:'/api/salesreturn/list',
301
-    method:'get',
302
-    params:params
245
+    url: '/api/salesreturn/list',
246
+    method: 'get',
247
+    params: params
303 248
   })
304 249
 }
305 250
 
306
-
307
-export function getSalesReturnInfoList(params){
251
+export function getSalesReturnInfoList(params) {
308 252
   return request({
309
-    url:'/api/return/info',
310
-    method:'get',
311
-    params:params
253
+    url: '/api/return/info',
254
+    method: 'get',
255
+    params: params
312 256
   })
313 257
 }
314 258
 
315
-export function getAllWarehouseInfo(params){
259
+export function getAllWarehouseInfo(params) {
316 260
   return request({
317
-    url:'/api/warehouseinfo',
318
-    method:'get',
319
-    params:params
261
+    url: '/api/warehouseinfo',
262
+    method: 'get',
263
+    params: params
320 264
   })
321 265
 }
322 266
 
323
-
324
-
325
-
326
-
327
-export function getWarehouseOutInfoList(params){
267
+export function getWarehouseOutInfoList(params) {
328 268
   return request({
329
-    url:'/api/stock/out/info',
330
-    method:'get',
331
-    params:params
269
+    url: '/api/stock/out/info',
270
+    method: 'get',
271
+    params: params
332 272
   })
333 273
 }
334 274
 
335
-
336
-export function postWarehouseOut(params,warehousing_time,dealer_id,manufacturer_id,type){
275
+export function postWarehouseOut(params, warehousing_time, dealer_id, manufacturer_id, type) {
337 276
   return request({
338
-    url:'/api/warehouseout/create?warehousing_out_time='+warehousing_time+"&dealer_id="+dealer_id+"&manufacturer_id="+manufacturer_id+"&type="+type,
339
-    method:'post',
340
-    data:params
277
+    url: '/api/warehouseout/create?warehousing_out_time=' + warehousing_time + '&dealer_id=' + dealer_id + '&manufacturer_id=' + manufacturer_id + '&type=' + type,
278
+    method: 'post',
279
+    data: params
341 280
   })
342 281
 }
343 282
 
344
-
345
-export function getWarehouseInfoCountByGoodId(params){
283
+export function getWarehouseInfoCountByGoodId(params) {
346 284
   return request({
347
-    url:'/api/info/count',
348
-    method:'get',
349
-    params:params
285
+    url: '/api/info/count',
286
+    method: 'get',
287
+    params: params
350 288
   })
351 289
 }
352 290
 
353
-export function getWarehouseInfoByGoodTypeId(params){
291
+export function getWarehouseInfoByGoodTypeId(params) {
354 292
   return request({
355
-    url:'/api/warehouse/type',
356
-    method:'get',
357
-    params:params
293
+    url: '/api/warehouse/type',
294
+    method: 'get',
295
+    params: params
358 296
   })
359 297
 }
360 298
 
361
-
362
-
363
-
364
-export function getCancelStockInfoList(params){
299
+export function getCancelStockInfoList(params) {
365 300
   return request({
366
-    url:'/api/cancel/info',
367
-    method:'get',
368
-    params:params
301
+    url: '/api/cancel/info',
302
+    method: 'get',
303
+    params: params
369 304
   })
370 305
 }
371 306
 
372
-
373
-export function getAllStockOutList(params){
307
+export function getAllStockOutList(params) {
374 308
   return request({
375
-    url:'/api/out/list',
376
-    method:'get',
377
-    params:params
309
+    url: '/api/out/list',
310
+    method: 'get',
311
+    params: params
378 312
   })
379 313
 }
380 314
 
381
-
382
-
383
-
384
-export function getAllStockQueryList(params){
315
+export function getAllStockQueryList(params) {
385 316
   return request({
386
-    url:'/api/stock/query',
387
-    method:'get',
388
-    params:params
317
+    url: '/api/stock/query',
318
+    method: 'get',
319
+    params: params
389 320
   })
390 321
 }
391 322
 
392
-
393
-export function getWarehouseInfoByOrdeNumber(params){
323
+export function getWarehouseInfoByOrdeNumber(params) {
394 324
   return request({
395
-    url:'/api/stock/warehouse/get',
396
-    method:'get',
397
-    params:params
325
+    url: '/api/stock/warehouse/get',
326
+    method: 'get',
327
+    params: params
398 328
   })
399 329
 }
400 330
 
401
-
402
-export function modifyWarehouseInfo(params){
331
+export function modifyWarehouseInfo(params) {
403 332
   return request({
404
-    url:'/api/warehouse/edit',
405
-    method:'post',
406
-    params:params
333
+    url: '/api/warehouse/edit',
334
+    method: 'post',
335
+    params: params
407 336
   })
408 337
 }
409 338
 
410
-
411
-export function deleteWarehouseInfo(params){
339
+export function deleteWarehouseInfo(params) {
412 340
   return request({
413
-    url:'/api/warehouse/delete',
414
-    method:'post',
415
-    params:params
341
+    url: '/api/warehouse/delete',
342
+    method: 'post',
343
+    params: params
416 344
   })
417 345
 }
418 346
 
419
-
420
-export function getWarehouseOutInfoByOrdeNumber(params){
347
+export function getWarehouseOutInfoByOrdeNumber(params) {
421 348
   return request({
422
-    url:'/api/stock/out/get',
423
-    method:'get',
424
-    params:params
349
+    url: '/api/stock/out/get',
350
+    method: 'get',
351
+    params: params
425 352
   })
426 353
 }
427 354
 
428
-export function modifyWarehouseOutInfo(params){
355
+export function modifyWarehouseOutInfo(params) {
429 356
   return request({
430
-    url:'/api/stock/out/edit',
431
-    method:'post',
432
-    params:params
357
+    url: '/api/stock/out/edit',
358
+    method: 'post',
359
+    params: params
433 360
   })
434 361
 }
435 362
 
436
-
437
-
438
-
439
-
440
-export function GetAllConfig(){
363
+export function GetAllConfig() {
441 364
   return request({
442
-    url:'/api/stock/config',
443
-    method:'get',
365
+    url: '/api/stock/config',
366
+    method: 'get'
444 367
   })
445 368
 }
446 369
 
447
-export function GetAllGoodInfoByID(params){
370
+export function GetAllGoodInfoByID(params) {
448 371
   return request({
449
-    url:'/api/good/get',
450
-    method:'get',
451
-    params:params
372
+    url: '/api/good/get',
373
+    method: 'get',
374
+    params: params
452 375
 
453 376
   })
454 377
 }
455 378
 
456
-
457
-export function DeleteWarehouseInfoItem(params){
379
+export function DeleteWarehouseInfoItem(params) {
458 380
   return request({
459
-    url:'/api/warehouseinfo/delete',
460
-    method:'post',
461
-    params:params
381
+    url: '/api/warehouseinfo/delete',
382
+    method: 'post',
383
+    params: params
462 384
 
463 385
   })
464 386
 }
465 387
 
466
-
467
-
468
-export function EditWarehouse(params,warehousing_time,id){
388
+export function EditWarehouse(params, warehousing_time, id) {
469 389
   return request({
470
-    url:'/api/warehouse/edit?warehousing_time='+warehousing_time+'&id='+id,
471
-    method:'post',
472
-    data:params
390
+    url: '/api/warehouse/edit?warehousing_time=' + warehousing_time + '&id=' + id,
391
+    method: 'post',
392
+    data: params
473 393
   })
474 394
 }
475 395
 
476
-
477
-export function getSalesReturnConfig(){
396
+export function getSalesReturnConfig(params) {
478 397
   return request({
479
-    url:'/api/return/config',
480
-    method:'get',
398
+    url: '/api/return/config',
399
+    method: 'get',
400
+    params: params
401
+
481 402
   })
482 403
 }
483 404
 
484
-export function deleteSalesReturn(params){
405
+export function deleteSalesReturn(params) {
485 406
   return request({
486
-    url:'/api/salesreturn/delete',
487
-    method:'post',
488
-    params:params
407
+    url: '/api/salesreturn/delete',
408
+    method: 'post',
409
+    params: params
489 410
   })
490 411
 }
491 412
 
492
-
493
-export function getSaleReturnInfoList(params){
413
+export function getSaleReturnInfoList(params) {
494 414
   return request({
495
-    url:'/api/stock/salesReturn/list',
496
-    method:'get',
497
-    params:params
415
+    url: '/api/stock/salesReturn/list',
416
+    method: 'get',
417
+    params: params
498 418
   })
499 419
 }
500 420
 
501
-
502
-export function getReturnList(params){
421
+export function getReturnList(params) {
503 422
   return request({
504
-    url:'/api/salesreturninfo/list',
505
-    method:'get',
506
-    params:params
423
+    url: '/api/salesreturninfo/list',
424
+    method: 'get',
425
+    params: params
507 426
   })
508 427
 }
509
-export function deleteSalesReturnInfo(params){
428
+export function deleteSalesReturnInfo(params) {
510 429
   return request({
511
-    url:'/api/salesreturninfo/delete',
512
-    method:'post',
513
-    params:params
430
+    url: '/api/salesreturninfo/delete',
431
+    method: 'post',
432
+    params: params
514 433
   })
515 434
 }
516 435
 
517
-
518
-
519
-export function editSalesReturnInfo(params,return_time,id){
436
+export function editSalesReturnInfo(params, return_time, id) {
520 437
   return request({
521
-    url:'/api/salesreturn/edit?return_time='+return_time+"&id="+id,
522
-    method:'post',
523
-    data:params
438
+    url: '/api/salesreturn/edit?return_time=' + return_time + '&id=' + id,
439
+    method: 'post',
440
+    data: params
524 441
   })
525 442
 }
526 443
 
527
-
528
-export function deleteWarehouseOut(params){
444
+export function deleteWarehouseOut(params) {
529 445
   return request({
530
-    url:'/api/warehouseout/delete',
531
-    method:'post',
532
-    params:params
446
+    url: '/api/warehouseout/delete',
447
+    method: 'post',
448
+    params: params
533 449
   })
534 450
 }
535 451
 
536
-export function deleteWarehouseOutInfo(params){
452
+export function deleteWarehouseOutInfo(params) {
537 453
   return request({
538
-    url:'/api/warehouseoutinfo/delete',
539
-    method:'post',
540
-    params:params
454
+    url: '/api/warehouseoutinfo/delete',
455
+    method: 'post',
456
+    params: params
541 457
   })
542 458
 }
543 459
 
544
-
545
-export function getWarehouseOutList(params){
460
+export function getWarehouseOutList(params) {
546 461
   return request({
547
-    url:'/api/warehouseout/list',
548
-    method:'get',
549
-    params:params
462
+    url: '/api/warehouseout/list',
463
+    method: 'get',
464
+    params: params
550 465
   })
551 466
 }
552 467
 
553
-export function getWarehouseOutInfo(params){
468
+export function getWarehouseOutInfo(params) {
554 469
   return request({
555
-    url:'/api/warehouseout/info',
556
-    method:'get',
557
-    params:params
470
+    url: '/api/warehouseout/info',
471
+    method: 'get',
472
+    params: params
558 473
   })
559 474
 }
560 475
 
561
-
562
-export function editWarehouseoutInfo(params,warehouse_out_time,id){
476
+export function editWarehouseoutInfo(params, warehouse_out_time, id) {
563 477
   return request({
564
-    url:'/api/warehouseout/edit?warehouse_out_time='+warehouse_out_time+"&id="+id,
565
-    method:'post',
566
-    data:params
478
+    url: '/api/warehouseout/edit?warehouse_out_time=' + warehouse_out_time + '&id=' + id,
479
+    method: 'post',
480
+    data: params
567 481
   })
568 482
 }
569 483
 
570
-
571
-
572
-
573
-export function getCancelStockList(params){
484
+export function getCancelStockList(params) {
574 485
   return request({
575
-    url:'/api/cancelstock/list',
576
-    method:'get',
577
-    params:params
486
+    url: '/api/cancelstock/list',
487
+    method: 'get',
488
+    params: params
578 489
   })
579 490
 }
580 491
 
581
-
582
-
583
-export function editCancelStockInfo(params,cancel_stock_time,id){
492
+export function editCancelStockInfo(params, cancel_stock_time, id) {
584 493
   return request({
585
-    url:'/api/cancelstockinfo/edit?cancel_time='+cancel_stock_time+"&id="+id,
586
-    method:'post',
587
-    data:params
494
+    url: '/api/cancelstockinfo/edit?cancel_time=' + cancel_stock_time + '&id=' + id,
495
+    method: 'post',
496
+    data: params
588 497
   })
589 498
 }
590 499
 
591
-
592
-export function getCancelStockInfo(params){
500
+export function getCancelStockInfo(params) {
593 501
   return request({
594
-    url:'/api/cancelstock/info',
595
-    method:'get',
596
-    params:params
502
+    url: '/api/cancelstock/info',
503
+    method: 'get',
504
+    params: params
597 505
   })
598 506
 }
599 507
 
600
-
601
-
602
-export function deleteCancelStock(params){
508
+export function deleteCancelStock(params) {
603 509
   return request({
604
-    url:'/api/cancelstock/delete',
605
-    method:'post',
606
-    params:params
510
+    url: '/api/cancelstock/delete',
511
+    method: 'post',
512
+    params: params
607 513
   })
608 514
 }
609 515
 
610
-export function deleteCancelStockInfo(params){
516
+export function deleteCancelStockInfo(params) {
611 517
   return request({
612
-    url:'/api/cancelstockinfo/delete',
613
-    method:'post',
614
-    params:params
518
+    url: '/api/cancelstockinfo/delete',
519
+    method: 'post',
520
+    params: params
615 521
   })
616 522
 }
617 523
 
618
-export function postCancelStock(params,cancelStockTime,manufacturer_id,dealer_id,type){
524
+export function postCancelStock(params, cancelStockTime, manufacturer_id, dealer_id, type) {
619 525
   return request({
620
-    url:'/api/cancelstock/create?time='+cancelStockTime+"&manufacturer_id="+manufacturer_id+"&dealer_id="+dealer_id+"&type="+type,
621
-    method:'post',
622
-    data:params
526
+    url: '/api/cancelstock/create?time=' + cancelStockTime + '&manufacturer_id=' + manufacturer_id + '&dealer_id=' + dealer_id + '&type=' + type,
527
+    method: 'post',
528
+    data: params
623 529
   })
624 530
 }
625
-export function getCancelStockConfig(){
531
+export function getCancelStockConfig(params) {
626 532
   return request({
627
-    url:'/api/cancelstockinfo/config',
628
-    method:'get',
533
+    url: '/api/cancelstockinfo/config',
534
+    method: 'get',
535
+    params: params
629 536
   })
630 537
 }
631 538
 
632
-

+ 3 - 3
src/components/Hamburger/index.vue View File

@@ -1,6 +1,6 @@
1 1
 <template>
2 2
   <div>
3
-    <svg t="1492500959545" @click="toggleClick" class="hamburger" :class="{'is-active':isActive}" style="" viewBox="0 0 1024 1024"
3
+    <svg t="1492500959545" @click="toggleClick" class="hamburger" :class="{'is-active':isActive}" style="fill:#bfcbd9" viewBox="0 0 1024 1024"
4 4
       version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1691" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64">
5 5
       <path d="M966.8023 568.849776 57.196677 568.849776c-31.397081 0-56.850799-25.452695-56.850799-56.850799l0 0c0-31.397081 25.452695-56.849776 56.850799-56.849776l909.605623 0c31.397081 0 56.849776 25.452695 56.849776 56.849776l0 0C1023.653099 543.397081 998.200404 568.849776 966.8023 568.849776z"
6 6
         p-id="1692"></path>
@@ -32,8 +32,8 @@ export default {
32 32
 .hamburger {
33 33
   display: inline-block;
34 34
   cursor: pointer;
35
-  width: 20px;
36
-  height: 20px;
35
+  width: 16px;
36
+  height: 16px;
37 37
   transform: rotate(90deg);
38 38
   transition: .38s;
39 39
   transform-origin: 50% 50%;

+ 58 - 49
src/lang/zh.js View File

@@ -68,8 +68,8 @@ export default {
68 68
     paper: '透析管理',
69 69
     advice: '今日医嘱',
70 70
     prepare: '透析准备',
71
-    dialysisPrintOrder:'打印透析单',
72
-    details:'透析',
71
+    dialysisPrintOrder: '打印透析单',
72
+    details: '透析',
73 73
     data_dictionary: '数据字典',
74 74
     field_config: '字段配置',
75 75
     template: '模版配置',
@@ -89,8 +89,8 @@ export default {
89 89
     weight: '干体重',
90 90
     dialysisRecord: '透析记录',
91 91
     scheduling: '排班信息',
92
-    proeducation:'宣教信息',
93
-    doctorAdvice:'医嘱信息',
92
+    proeducation: '宣教信息',
93
+    doctorAdvice: '医嘱信息',
94 94
     device: '设备',
95 95
     deviceManage: '设备管理',
96 96
     dialysisMachineManage: '透析机管理',
@@ -99,51 +99,60 @@ export default {
99 99
     sign: '治疗签到',
100 100
     remind: '排班提醒',
101 101
     signWeight: '签到称重',
102
-    deviceZoneManage: "分区管理",
103
-    deviceGroupManage: "分组管理",
104
-    deviceNumberManage: "床位管理",
105
-    service:'我的服务',
106
-    invoice:'发票管理',
107
-    invoiceApply:'申请发票',
108
-    servicePay:'立即支付',
109
-    serviceOrder:'购买服务',
110
-    payType:'选择支付方式',
111
-    weChatPay:'确认支付',
112
-    completeOrder:'购买结果',
113
-    orderRecord:'订单详情',
114
-    recordList:'订单记录',
115
-    stockManage:'库存管理',
116
-    goodType:'物品类型',
117
-    stockIn:'入库管理',
118
-    stockOut:'出库管理',
119
-    manufacturer:'厂家',
120
-    dealer:'经销商',
121
-    salesReturn:'退货',
122
-    salesReutrnRecord:'退货记录',
123
-    warehouseRecord:'入库记录',
124
-    addStockOut:'出库',
125
-    cancelStock:'出库退库',
126
-    cancelStockRecord:'退库记录',
127
-    stockOutRecord:'出库记录',
128
-    addStockIn:'入库',
129
-    stockQuery:'库存查询',
130
-    workforce_template: "排班模板设置",
131
-    statistics:"统计分析",
132
-    config:'库存配置',
133
-    goodInfo:'物品信息',
134
-    CourseOfDiseaseManage: "病程管理",
135
-    RescueRecord: "抢救记录",
136
-    special_permission_manage: "特殊权限管理",
137
-    schedule_print: "排班打印",
102
+    deviceZoneManage: '分区管理',
103
+    deviceGroupManage: '分组管理',
104
+    deviceNumberManage: '床位管理',
105
+    service: '我的服务',
106
+    invoice: '发票管理',
107
+    invoiceApply: '申请发票',
108
+    servicePay: '立即支付',
109
+    serviceOrder: '购买服务',
110
+    payType: '选择支付方式',
111
+    weChatPay: '确认支付',
112
+    completeOrder: '购买结果',
113
+    orderRecord: '订单详情',
114
+    recordList: '订单记录',
115
+    stockManage: '库存管理',
116
+    goodType: '物品类型',
117
+    stockIn: '入库管理',
118
+    stockOut: '出库管理',
119
+    manufacturer: '厂家',
120
+    dealer: '经销商',
121
+    salesReturn: '退货',
122
+    salesReutrnRecord: '退货记录',
123
+    warehouseRecord: '入库记录',
124
+    addStockOut: '出库',
125
+    cancelStock: '出库退库',
126
+    cancelStockRecord: '退库记录',
127
+    stockOutRecord: '出库记录',
128
+    addStockIn: '入库',
129
+    stockQuery: '库存查询',
130
+    workforce_template: '排班模板设置',
131
+    statistics: '统计分析',
132
+    config: '库存配置',
133
+    goodInfo: '物品信息',
134
+    CourseOfDiseaseManage: '病程管理',
135
+    RescueRecord: '抢救记录',
136
+    special_permission_manage: '特殊权限管理',
137
+    schedule_print: '排班打印',
138
+
139
+    stockInOrder: '入库单',
140
+    salesReturnOrder: '退货单',
141
+    stockOutOrder: '出库单',
142
+    cancelStockOrder: '出库退库单',
143
+    otherStockInOrder: '其他入库单',
144
+    otherSalesReturnOrder: '其他退货单',
145
+    otherStockOutOrder: '其他出库单',
146
+    otherCancelStockOrder: '其他出库退库单',
147
+    stockInOrderAdd: '新增入库单',
148
+    salesReturnOrderAdd: '新增退货单',
149
+    stockOutOrderAdd: '新增出库单',
150
+    cancelStockOrderAdd: '新增出库退库单',
151
+    stockInDetail: '入库单详情',
152
+    salesReturnDetail: '退货单详情',
153
+    stockOutDetail: '出库单详情',
154
+    cancelStockDetail: '出库退库单详情'
138 155
 
139
-    stockInOrder:"入库单",
140
-    salesReturnOrder:"退货单",
141
-    stockOutOrder:"出库单",
142
-    cancelStockOrder:"出库退库单",
143
-    otherStockInOrder:"其他入库单",
144
-    otherSalesReturnOrder:"其他退货单",
145
-    otherStockOutOrder:"其他出库单",
146
-    otherCancelStockOrder:"其他出库退库单",
147 156
   },
148 157
   navbar: {
149 158
     logOut: '退出登录',
@@ -245,6 +254,6 @@ export default {
245 254
     config_value: '字段值',
246 255
     remark: '备注',
247 256
     course_disease: '病程',
248
-    rescue_record: '抢救记录',
257
+    rescue_record: '抢救记录'
249 258
   }
250 259
 }

+ 4 - 4
src/router/index.js View File

@@ -496,28 +496,28 @@ export const xt_constantRouterMap = [
496 496
         name: 'stockOutOrderAdd',
497 497
         hidden: true,
498 498
         is_menu: false,
499
-        meta: { title: 'stockOutOrderAdd', noCache: true }
499
+        meta: { title: 'stockOutOrderAdd' }
500 500
       }, {
501 501
         path: '/stock/out/detail',
502 502
         component: () => import('@/xt_pages/stock/stockOutDetail'),
503 503
         name: 'stockOutDetail',
504 504
         hidden: true,
505 505
         is_menu: false,
506
-        meta: { title: 'stockOutDetail', noCache: true }
506
+        meta: { title: 'stockOutDetail' }
507 507
       }, {
508 508
         path: '/stock/cancel/add',
509 509
         component: () => import('@/xt_pages/stock/cancelStockOrderAdd'),
510 510
         name: 'cancelStockOrderAdd',
511 511
         hidden: true,
512 512
         is_menu: false,
513
-        meta: { title: 'cancelStockOrderAdd', noCache: true }
513
+        meta: { title: 'cancelStockOrderAdd' }
514 514
       }, {
515 515
         path: '/stock/cancel/detail',
516 516
         component: () => import('@/xt_pages/stock/cancelStockDetail'),
517 517
         name: 'cancelStockDetail',
518 518
         hidden: true,
519 519
         is_menu: false,
520
-        meta: { title: 'cancelStockDetail', noCache: true }
520
+        meta: { title: 'cancelStockDetail' }
521 521
       }
522 522
 
523 523
     ]

+ 12 - 4
src/styles/index.scss View File

@@ -139,7 +139,7 @@ code {
139 139
   padding: 20px;
140 140
   background: #fff;
141 141
   margin: 0 15px 15px 15px;
142
-  min-height: calc(100vh - 185px);
142
+  min-height: calc(100vh - 178px);
143 143
 }
144 144
 
145 145
 .components-container {
@@ -385,12 +385,12 @@ code {
385 385
           float: left;
386 386
           list-style: none;
387 387
           cursor: pointer;
388
-          padding: 6px 0;
388
+          padding: 6px 10px;
389 389
           color: #606266;
390 390
           border-radius: 4px;
391 391
           margin: 0 8px 0 0;
392 392
           font-size: 14px;
393
-          width: 70px;
393
+          // width: 70px;
394 394
           text-align: center;
395 395
           &:hover {
396 396
             background: #f5f7fa;
@@ -412,11 +412,19 @@ code {
412 412
     .cell {
413 413
       margin: 0;
414 414
       padding: 0 12px;
415
+      display: inline-block;
416
+    }
417
+  }
418
+  th{
419
+    .cell{
420
+      color: #999!important;
421
+      
415 422
     }
416 423
   }
417 424
   td {
418 425
     .cell {
419 426
       padding: 0 12px;
427
+      color: #606266;
420 428
     }
421 429
   }
422 430
 }
@@ -443,7 +451,7 @@ code {
443 451
 
444 452
 
445 453
 .el-dialog__wrapper{
446
-  z-index: 9999 !important;
454
+  // z-index: 2012 !important;
447 455
 }
448 456
 
449 457
 .el-dialog{

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

@@ -127,7 +127,7 @@ export default {
127 127
   top: 0;
128 128
   left: 0;
129 129
   right: 0;
130
-  z-index: 999;
130
+  z-index: 2052;
131 131
   .nav-logo {
132 132
     width: 162px;
133 133
     display: flex;

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

@@ -5,12 +5,14 @@
5 5
     </div>
6 6
     <el-menu
7 7
       mode="vertical"
8
+      unique-opened="ture"
8 9
       :show-timeout="200"
9 10
       :default-active="$route.path"
10 11
       :collapse="isCollapse"
11 12
       background-color="#304156"
12 13
       text-color="#bfcbd9"
13 14
       active-text-color="#409EFF"
15
+
14 16
     >
15 17
       <sidebar-item v-for="route in permission_routers" :key="route.name" :item="route" :base-path="route.path"></sidebar-item>
16 18
     </el-menu>

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

@@ -124,7 +124,7 @@ export default {
124 124
     border-bottom: 1px solid #d8dce5;
125 125
     box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 3px 0 rgba(0, 0, 0, .04);
126 126
     position: fixed;
127
-    z-index: 999;
127
+    z-index: 2052;
128 128
     top: 60px;
129 129
     .tags-view-item {
130 130
       display: inline-block;

+ 1 - 1
src/views/login/index.vue View File

@@ -179,7 +179,7 @@ export default {
179 179
         }
180 180
       }
181 181
     }
182
-    .el-form-item {
182
+     {
183 183
       border: 1px solid rgba(255, 255, 255, 0.1);
184 184
       background: rgba(0, 0, 0, 0.1);
185 185
       border-radius: 5px;

+ 2 - 3
src/xt_pages/data/components/tableson.vue View File

@@ -15,15 +15,14 @@
15 15
         <template slot-scope="scope">
16 16
 
17 17
          <el-tooltip class="item" effect="dark" content="编辑" placement="top">
18
-           <el-button icon="el-icon-edit-outline" type="primary" size="mini" @click="handleUpdate(scope.row)"></el-button>
18
+           <el-button icon="el-icon-edit-outline" type="primary" size="small" @click="handleUpdate(scope.row)"></el-button>
19 19
          </el-tooltip>
20 20
 
21 21
          <el-tooltip class="item" effect="dark" content="删除" placement="top">
22
-          <el-button icon="el-icon-delete" v-if="scope.row.status!='deleted'" size="mini" type="danger" @click="handleModifyStatus(scope.row,'deleted')">
22
+          <el-button icon="el-icon-delete" v-if="scope.row.status!='deleted'" size="small" type="danger" @click="handleModifyStatus(scope.row,'deleted')">
23 23
           </el-button>
24 24
          </el-tooltip>
25 25
          
26
-       
27 26
         </template>
28 27
       </el-table-column>
29 28
     </el-table>

+ 4 - 4
src/xt_pages/data/components/templateTable.vue View File

@@ -23,10 +23,10 @@
23 23
       <el-table-column align="center" :label="$t('table.actions')" width="230" class-name="small-padding fixed-width">
24 24
         <template slot-scope="scope">
25 25
           <el-tooltip class="item" effect="dark" content="编辑" placement="top">
26
-           <el-button icon="el-icon-edit-outline" type="primary" size="mini" @click="handleUpdate(scope.row)"></el-button>
26
+           <el-button icon="el-icon-edit-outline" type="primary" size="small" @click="handleUpdate(scope.row)"></el-button>
27 27
           </el-tooltip>
28 28
           <el-tooltip class="item" effect="dark" content="删除" placement="top">
29
-            <el-button icon="el-icon-delete" v-if="scope.row.status!='deleted'" size="mini" type="danger" @click="handleModifyStatus(scope.row,'deleted')">
29
+            <el-button icon="el-icon-delete" v-if="scope.row.status!='deleted'" size="small" type="danger" @click="handleModifyStatus(scope.row,'deleted')">
30 30
             </el-button>
31 31
           </el-tooltip>
32 32
           
@@ -194,8 +194,8 @@ export default {
194 194
     handleModifyStatus(row, status) {
195 195
       this.temp = Object.assign({}, row); // copy obj
196 196
       this.$confirm("此操作将永久删除该配置项, 是否继续?", "提示", {
197
-        confirmButtonText: "确定",
198
-        cancelButtonText: "取消",
197
+        confirmButtonText: "确 定",
198
+        cancelButtonText: "取 消",
199 199
         type: "warning"
200 200
       }).then(() => {
201 201
           const tempData = Object.assign({}, this.temp);

+ 26 - 20
src/xt_pages/data/druguse.vue View File

@@ -66,15 +66,17 @@
66 66
               <template slot-scope="scope">
67 67
                 <el-button
68 68
                   type="primary"
69
-                  size="mini"
69
+                  size="small"
70
+                  icon="el-icon-edit-outline"
70 71
                   @click="handleUpdateAdviceTemplate(scope.row, scope.$index)"
71
-                >{{$t('table.edit')}}</el-button>
72
+                ></el-button>
72 73
                 <el-button
73 74
                   v-if="scope.row.status!='deleted'"
74
-                  size="mini"
75
+                  size="small"
75 76
                   type="danger"
77
+                  icon="el-icon-delete"
76 78
                   @click="handleDeleteAdviceTemplate(scope.row, scope.$index)"
77
-                >{{$t('table.delete')}}</el-button>
79
+                ></el-button>
78 80
               </template>
79 81
             </el-table-column>
80 82
           </el-table>
@@ -301,15 +303,17 @@
301 303
                 <el-button
302 304
                   v-show="scope.row.org_id!=0"
303 305
                   type="primary"
304
-                  size="mini"
306
+                  size="small"
307
+                  icon="el-icon-edit-outline"
305 308
                   @click="handleUpdateDrugWay(scope.row, scope.$index)"
306
-                >{{$t('table.edit')}}</el-button>
309
+                ></el-button>
307 310
                 <el-button
308 311
                   v-show="scope.row.org_id!=0"
309
-                  size="mini"
312
+                  size="small"
310 313
                   type="danger"
314
+                  icon="el-icon-delete"
311 315
                   @click="handleDeleteDrugWay(scope.row, scope.$index)"
312
-                >{{$t('table.delete')}}</el-button>
316
+                ></el-button>
313 317
               </template>
314 318
             </el-table-column>
315 319
           </el-table>
@@ -369,15 +373,17 @@
369 373
                 <el-button
370 374
                   v-show="scope.row.org_id!=0"
371 375
                   type="primary"
372
-                  size="mini"
376
+                  size="small"
377
+                  icon="el-icon-edit-outline"
373 378
                   @click="handleUpdateEF(scope.row, scope.$index)"
374
-                >{{$t('table.edit')}}</el-button>
379
+                ></el-button>
375 380
                 <el-button
376 381
                   v-show="scope.row.org_id!=0"
377
-                  size="mini"
382
+                  size="small"
378 383
                   type="danger"
384
+                  icon="el-icon-delete"
379 385
                   @click="handleDeleteEF(scope.row, scope.$index)"
380
-                >{{$t('table.delete')}}</el-button>
386
+                ></el-button>
381 387
               </template>
382 388
             </el-table-column>
383 389
           </el-table>
@@ -584,8 +590,8 @@ export default {
584 590
     },
585 591
     handleDeleteDrugDic(row, index) {
586 592
       this.$confirm("确认删除此医嘱模板?", "删除", {
587
-        confirmButtonText: "确定",
588
-        cancelButtonText: "取消",
593
+        confirmButtonText: "确 定",
594
+        cancelButtonText: "取 消",
589 595
         type: "warning"
590 596
       })
591 597
         .then(() => {
@@ -608,8 +614,8 @@ export default {
608 614
     },
609 615
     handleDeleteAdviceTemplate(row, index) {
610 616
       this.$confirm("确认删除此医嘱模板?", "删除", {
611
-        confirmButtonText: "确定",
612
-        cancelButtonText: "取消",
617
+        confirmButtonText: "确 定",
618
+        cancelButtonText: "取 消",
613 619
         type: "warning"
614 620
       })
615 621
         .then(() => {
@@ -819,8 +825,8 @@ export default {
819 825
     },
820 826
     handleDeleteDrugWay(row, index) {
821 827
       this.$confirm("确认删除此给药途径?", "删除", {
822
-        confirmButtonText: "确定",
823
-        cancelButtonText: "取消",
828
+        confirmButtonText: "确 定",
829
+        cancelButtonText: "取 消",
824 830
         type: "warning"
825 831
       })
826 832
         .then(() => {
@@ -914,8 +920,8 @@ export default {
914 920
     },
915 921
     handleDeleteEF(row, index) {
916 922
       this.$confirm("确认删除此执行频率?", "删除", {
917
-        confirmButtonText: "确定",
918
-        cancelButtonText: "取消",
923
+        confirmButtonText: "确 定",
924
+        cancelButtonText: "取 消",
919 925
         type: "warning"
920 926
       })
921 927
         .then(() => {

+ 34 - 32
src/xt_pages/data/druguseTemplate.vue View File

@@ -138,7 +138,7 @@
138 138
                 <el-tooltip class="item" effect="dark" content="编辑" placement="top">
139 139
                   <el-button
140 140
                     type="primary"
141
-                    size="mini"
141
+                    size="small"
142 142
                     icon="el-icon-edit-outline"
143 143
                     v-if="isShow(scope.$index, scope.row)"
144 144
                     @click="handleUpdateAdviceTemplate(scope.row, scope.$index)"
@@ -147,7 +147,7 @@
147 147
                 </el-tooltip>
148 148
                 <el-tooltip class="item" effect="dark" content="删除" placement="top">
149 149
                   <el-button
150
-                    size="mini"
150
+                    size="small"
151 151
                     type="danger"
152 152
                     icon="el-icon-delete"
153 153
                     @click="handleDeleteAdviceTemplate(scope.row, scope.$index)"
@@ -547,8 +547,6 @@
547 547
                 <el-table-column prop="breathing_rate" align="center" label="给药途径">
548 548
                   <template slot-scope="scope">
549 549
                     <span v-if="scope.row.parent_id == 0">{{scope.row.delivery_way}}</span>
550
-
551
-
552 550
                   </template>
553 551
 
554 552
                 </el-table-column>
@@ -873,16 +871,18 @@
873 871
                 <el-button
874 872
                   v-show="scope.row.org_id!=0"
875 873
                   type="primary"
876
-                  size="mini"
874
+                  size="small"
875
+                  icon="el-icon-edit-outline"
877 876
                   @click="handleUpdateDrugWay(scope.row, scope.$index)"
878
-                >{{$t('table.edit')}}
877
+                >
879 878
                 </el-button>
880 879
                 <el-button
881 880
                   v-show="scope.row.org_id!=0"
882
-                  size="mini"
881
+                  size="small"
883 882
                   type="danger"
883
+                  icon="el-icon-delete"
884 884
                   @click="handleDeleteDrugWay(scope.row, scope.$index)"
885
-                >{{$t('table.delete')}}
885
+                >
886 886
                 </el-button>
887 887
               </template>
888 888
             </el-table-column>
@@ -943,16 +943,18 @@
943 943
                 <el-button
944 944
                   v-show="scope.row.org_id!=0"
945 945
                   type="primary"
946
-                  size="mini"
946
+                  size="small"
947
+                  icon="el-icon-edit-outline"
947 948
                   @click="handleUpdateEF(scope.row, scope.$index)"
948
-                >{{$t('table.edit')}}
949
+                >
949 950
                 </el-button>
950 951
                 <el-button
951 952
                   v-show="scope.row.org_id!=0"
952
-                  size="mini"
953
+                  size="small"
953 954
                   type="danger"
955
+                  icon="el-icon-delete"
954 956
                   @click="handleDeleteEF(scope.row, scope.$index)"
955
-                >{{$t('table.delete')}}
957
+                >
956 958
                 </el-button>
957 959
               </template>
958 960
             </el-table-column>
@@ -1211,8 +1213,8 @@
1211 1213
           return
1212 1214
         }
1213 1215
         this.$confirm('删除记录', '是否删除该医嘱记录', {
1214
-          confirmButtonText: '确定',
1215
-          cancelButtonText: '取消',
1216
+          confirmButtonText: '确 定',
1217
+          cancelButtonText: '取 消',
1216 1218
           type: 'warning'
1217 1219
         }).then(() => {
1218 1220
           this.adviceTableData.splice(this.table_current_index, 1)
@@ -1245,8 +1247,8 @@
1245 1247
         this.advice_content_name = "医嘱内容"
1246 1248
       }, cancelTableHandle: function () {
1247 1249
         this.$confirm('放弃编辑', '是否放弃编辑,已编辑的数据将无法恢复', {
1248
-          confirmButtonText: '确定',
1249
-          cancelButtonText: '取消',
1250
+          confirmButtonText: '确 定',
1251
+          cancelButtonText: '取 消',
1250 1252
           type: 'warning'
1251 1253
         }).then(() => {
1252 1254
           this.adviceTableData = []
@@ -1308,8 +1310,8 @@
1308 1310
       },
1309 1311
       handleDeleteDrugDic(row, index) {
1310 1312
         this.$confirm("确认删除此医嘱模板?", "删除", {
1311
-          confirmButtonText: "确定",
1312
-          cancelButtonText: "取消",
1313
+          confirmButtonText: "确 定",
1314
+          cancelButtonText: "取 消",
1313 1315
           type: "warning"
1314 1316
         })
1315 1317
           .then(() => {
@@ -1333,8 +1335,8 @@
1333 1335
       },
1334 1336
       handleDeleteAdviceTemplate(row, index) {
1335 1337
         this.$confirm("确认删除此医嘱模板?", "删除", {
1336
-          confirmButtonText: "确定",
1337
-          cancelButtonText: "取消",
1338
+          confirmButtonText: "确 定",
1339
+          cancelButtonText: "取 消",
1338 1340
           type: "warning"
1339 1341
         })
1340 1342
           .then(() => {
@@ -1605,8 +1607,8 @@
1605 1607
       },
1606 1608
       handleDeleteDrugWay(row, index) {
1607 1609
         this.$confirm("确认删除此给药途径?", "删除", {
1608
-          confirmButtonText: "确定",
1609
-          cancelButtonText: "取消",
1610
+          confirmButtonText: "确 定",
1611
+          cancelButtonText: "取 消",
1610 1612
           type: "warning"
1611 1613
         })
1612 1614
           .then(() => {
@@ -1701,8 +1703,8 @@
1701 1703
       },
1702 1704
       handleDeleteEF(row, index) {
1703 1705
         this.$confirm("确认删除此执行频率?", "删除", {
1704
-          confirmButtonText: "确定",
1705
-          cancelButtonText: "取消",
1706
+          confirmButtonText: "确 定",
1707
+          cancelButtonText: "取 消",
1706 1708
           type: "warning"
1707 1709
         })
1708 1710
           .then(() => {
@@ -1848,8 +1850,8 @@
1848 1850
           return
1849 1851
         }
1850 1852
         this.$confirm('删除记录', '是否删除该医嘱记录', {
1851
-          confirmButtonText: '确定',
1852
-          cancelButtonText: '取消',
1853
+          confirmButtonText: '确 定',
1854
+          cancelButtonText: '取 消',
1853 1855
           type: 'warning'
1854 1856
         }).then(() => {
1855 1857
           let id = this.adviceTableDataTwo[this.table_current_index_two].id
@@ -2090,8 +2092,8 @@
2090 2092
         this.hoverOrderArr = []
2091 2093
 
2092 2094
         this.$confirm('删除记录', '是否删除该医嘱', {
2093
-          confirmButtonText: '确定',
2094
-          cancelButtonText: '取消',
2095
+          confirmButtonText: '确 定',
2096
+          cancelButtonText: '取 消',
2095 2097
           type: 'warning'
2096 2098
         }).then(() => {
2097 2099
           let id = row.id
@@ -2150,8 +2152,8 @@
2150 2152
         this.hoverOrderArr = []
2151 2153
 
2152 2154
         this.$confirm('删除子药', '是否删除该子药', {
2153
-          confirmButtonText: '确定',
2154
-          cancelButtonText: '取消',
2155
+          confirmButtonText: '确 定',
2156
+          cancelButtonText: '取 消',
2155 2157
           type: 'warning'
2156 2158
         }).then(() => {
2157 2159
           let id = row.id
@@ -2226,8 +2228,8 @@
2226 2228
           return
2227 2229
         }
2228 2230
         this.$confirm('删除记录', '是否删除该医嘱记录', {
2229
-          confirmButtonText: '确定',
2230
-          cancelButtonText: '取消',
2231
+          confirmButtonText: '确 定',
2232
+          cancelButtonText: '取 消',
2231 2233
           type: 'warning'
2232 2234
         }).then(() => {
2233 2235
           this.adviceTableData.splice(this.table_current_index, 1)

+ 2 - 2
src/xt_pages/device/components/maintain/maintain_record_list_dialog.vue View File

@@ -37,10 +37,10 @@
37 37
                     <el-table-column label="操作" align="center" width="100" :resizable="false">
38 38
                         <template slot-scope="scope">
39 39
                             <div>
40
-                                <el-button icon="el-icon-edit" size="small">编辑</el-button>
40
+                                <el-button icon="el-icon-edit" size="small"></el-button>
41 41
                             </div>
42 42
                             <div style="margin-top: 5px;">
43
-                                <el-button type="danger" icon="el-icon-delete" size="small">移除</el-button>
43
+                                <el-button type="danger" icon="el-icon-delete" size="small"></el-button>
44 44
                             </div>
45 45
                         </template>
46 46
                     </el-table-column>

+ 3 - 3
src/xt_pages/device/components/partition_dialog.vue View File

@@ -12,7 +12,7 @@
12 12
                         <!-- <el-table-column prop="amount" label="机号数量" align="center"></el-table-column> -->
13 13
                         <el-table-column label="操作" align="center"> 
14 14
                             <template slot-scope="scope">
15
-                                <el-button type="primary" icon="el-icon-edit" size="mini" @click="modifyZoneAt(scope.row)">编辑</el-button>
15
+                                <el-button type="primary" icon="el-icon-edit" size="small" @click="modifyZoneAt(scope.row)"></el-button>
16 16
 
17 17
                                 <!-- <el-popover placement="top" width="160" v-model="scope.row.willDelete">
18 18
                                     <el-button type="danger" slot="reference" icon="el-icon-delete" size="mini">删除</el-button>
@@ -36,7 +36,7 @@
36 36
                         <!-- <el-table-column prop="amount" label="机号数量" align="center"></el-table-column> -->
37 37
                         <el-table-column label="操作" align="center"> 
38 38
                             <template slot-scope="scope">
39
-                                <el-button type="primary" icon="el-icon-edit" size="mini" @click="modifyDeviceNumberAt(scope.row)">编辑</el-button>
39
+                                <el-button type="primary" icon="el-icon-edit" size="small" @click="modifyDeviceNumberAt(scope.row)"></el-button>
40 40
 
41 41
                                 <!-- <el-popover placement="top" width="160" v-model="scope.row.visible">
42 42
                                     <p>确定要删除吗?</p>
@@ -58,7 +58,7 @@
58 58
                         <!-- <el-table-column prop="amount" label="机号数量" align="center"></el-table-column> -->
59 59
                         <el-table-column label="操作" align="center">
60 60
                             <template slot-scope="scope">
61
-                                <el-button type="primary" icon="el-icon-edit" size="mini" @click="modifyGroupAt(scope.row)">编辑</el-button>
61
+                                <el-button type="primary" icon="el-icon-edit" size="small" @click="modifyGroupAt(scope.row)"></el-button>
62 62
 
63 63
                                 <!-- <el-popover placement="top" width="160" v-model="scope.row.visible">
64 64
                                     <p>确定要删除吗?</p>

+ 12 - 4
src/xt_pages/device/components/quality_control/quality_record_list_dialog.vue View File

@@ -40,8 +40,12 @@
40 40
                     <el-table-column label="检测结果(cfu/ml)" prop="detection_result" align="center" width="100" :resizable="false"></el-table-column>
41 41
                     <el-table-column label="操作" align="center" width="215" :resizable="false">
42 42
                         <template slot-scope="scope">
43
-                            <el-button icon="el-icon-edit" size="small">编辑</el-button>
44
-                            <el-button type="danger" icon="el-icon-delete" size="small">移除</el-button>
43
+                          <el-tooltip class="item" effect="dark" content="编辑" placement="top">
44
+                            <el-button type="primary" icon="el-icon-edit" size="small"></el-button>
45
+                          </el-tooltip>
46
+                          <el-tooltip  class="item" effect="dark" content="移除" placement="top">
47
+                            <el-button  type="danger" icon="el-icon-delete" size="small"></el-button>
48
+                          </el-tooltip>                          
45 49
                         </template>
46 50
                     </el-table-column>
47 51
                 </el-table>
@@ -69,8 +73,12 @@
69 73
                     </el-table-column>
70 74
                     <el-table-column label="操作" align="center" width="185" :resizable="false">
71 75
                         <template slot-scope="scope">
72
-                            <el-button icon="el-icon-edit" size="small">编辑</el-button>
73
-                            <el-button type="danger" icon="el-icon-delete" size="small">移除</el-button>
76
+                          <el-tooltip class="item" effect="dark" content="编辑" placement="top">  
77
+                            <el-button type="primary" icon="el-icon-edit" size="small"></el-button>
78
+                          </el-tooltip>
79
+                          <el-tooltip class="item" effect="dark" content="移除" placement="top">                            
80
+                            <el-button type="danger" icon="el-icon-delete" size="small"></el-button>
81
+                          </el-tooltip>
74 82
                         </template>
75 83
                     </el-table-column>
76 84
                 </el-table>

+ 3 - 1
src/xt_pages/device/components/sterilize_plan/sterilize_plan_pane.vue View File

@@ -23,7 +23,9 @@
23 23
                     </el-table-column>
24 24
                     <el-table-column label="操作" min-width="15%" align="center">
25 25
                         <template slot-scope="scope">
26
-                            <el-button type="danger" size="small">移除</el-button>
26
+                          <el-tooltip class="item" effect="dark" content="删除" placement="top">
27
+                            <el-button type="danger" size="small" icon="el-icon-delete"></el-button>
28
+                           </el-tooltip>
27 29
                         </template>
28 30
                     </el-table-column>
29 31
                 </el-table>

+ 6 - 5
src/xt_pages/device/components/use_registration_pane.vue View File

@@ -241,18 +241,19 @@
241 241
                 <el-table-column  prop="sign" label="签名" min-width="30px;" align="center" > </el-table-column>
242 242
                 <el-table-column  prop="operation" label="操作" min-width="60px;" align="center" > 
243 243
                   <template  slot-scope="scope">
244
-                    <el-button type="primary"   icon="el-icon-edit" size="mini"></el-button>
245
-                    <!-- <el-button type="danger" slot="reference"  icon="el-icon-delete" size="mini" ></el-button> -->
244
+
245
+                    <el-button type="primary"   icon="el-icon-edit" size="small"></el-button>
246
+                    <!-- <el-button type="danger" slot="reference"  icon="el-icon-delete" size="small" ></el-button> -->
246 247
                      <el-popover
247 248
                                 placement="top"
248 249
                                 width="160"
249 250
                                 v-model="scope.row.visible">
250 251
                                 <p>确定要删除吗?</p>
251 252
                                 <div style="text-align: right; margin: 0">
252
-                                    <el-button type="primary" size="mini" @click="scope.row.visible = false;">确定</el-button>                            
253
-                                    <el-button size="mini" type="text" @click="scope.row.visible = false;">取消</el-button>
253
+                                    <el-button size="mini" type="text" @click="scope.row.visible = false;">取 消</el-button>                                    
254
+                                    <el-button type="primary" size="mini" @click="scope.row.visible = false;">确 定</el-button>                            
254 255
                                 </div>
255
-                           <el-button type="danger" slot="reference"  icon="el-icon-delete" size="mini" ></el-button>
256
+                           <el-button type="danger" slot="reference"  icon="el-icon-delete" size="small" ></el-button>
256 257
                      </el-popover>
257 258
                   </template> 
258 259
                 </el-table-column>

+ 2 - 2
src/xt_pages/device/components/water_pane.vue View File

@@ -190,8 +190,8 @@
190 190
                 <el-table-column  prop="sign" label="签名" min-width="30px;" align="center" > </el-table-column>
191 191
                 <el-table-column  prop="operation" label="操作" min-width="70px;" align="center" > 
192 192
                   <template  slot-scope="scope">
193
-                    <el-button type="primary"   icon="el-icon-edit" size="mini"  ></el-button>
194
-                    <!-- <el-button type="danger" slot="reference"  icon="el-icon-delete" size="mini" ></el-button> -->
193
+                    <el-button type="primary"   icon="el-icon-edit" size="small"  ></el-button>
194
+                    <!-- <el-button type="danger" slot="reference"  icon="el-icon-delete" size="small" ></el-button> -->
195 195
                     <el-popover
196 196
                                 placement="top"
197 197
                                 width="160"

+ 2 - 2
src/xt_pages/device/group_main.vue View File

@@ -12,10 +12,10 @@
12 12
                     <el-table-column label="操作" align="center">
13 13
                         <template slot-scope="scope">
14 14
                            <el-tooltip class="item" effect="dark" content="编辑" placement="top">
15
-                            <el-button :disabled="$store.getters.xt_user.subscibe.state==3?true:false" type="primary" icon="el-icon-edit-outline" size="mini" @click="modifyGroupAt(scope.row)"></el-button>
15
+                            <el-button :disabled="$store.getters.xt_user.subscibe.state==3?true:false" type="primary" icon="el-icon-edit-outline" size="small" @click="modifyGroupAt(scope.row)"></el-button>
16 16
                            </el-tooltip>
17 17
                            <el-tooltip class="item" effect="dark" content="删除" placement="top">
18
-                            <el-button :disabled="$store.getters.xt_user.subscibe.state==3?true:false" type="danger" icon="el-icon-delete" size="mini" @click="deleteGroupAt(scope.row)"></el-button>
18
+                            <el-button :disabled="$store.getters.xt_user.subscibe.state==3?true:false" type="danger" icon="el-icon-delete" size="small" @click="deleteGroupAt(scope.row)"></el-button>
19 19
                            </el-tooltip>
20 20
                         </template>  
21 21
                     </el-table-column>

+ 2 - 2
src/xt_pages/device/number_main.vue View File

@@ -14,10 +14,10 @@
14 14
                     <el-table-column label="操作" align="center"> 
15 15
                         <template slot-scope="scope">
16 16
                            <el-tooltip class="item" effect="dark" content="编辑" placement="top">
17
-                            <el-button :disabled="$store.getters.xt_user.subscibe.state==3?true:false" type="primary" icon="el-icon-edit-outline" size="mini" @click="modifyDeviceNumberAt(scope.row)"></el-button>
17
+                            <el-button :disabled="$store.getters.xt_user.subscibe.state==3?true:false" type="primary" icon="el-icon-edit-outline" size="small" @click="modifyDeviceNumberAt(scope.row)"></el-button>
18 18
                            </el-tooltip>
19 19
                            <el-tooltip class="item" effect="dark" content="删除" placement="top">                           
20
-                            <el-button :disabled="$store.getters.xt_user.subscibe.state==3?true:false" type="danger" icon="el-icon-delete" size="mini" @click="deleteDeviceNumberAt(scope.row)"></el-button>
20
+                            <el-button :disabled="$store.getters.xt_user.subscibe.state==3?true:false" type="danger" icon="el-icon-delete" size="small" @click="deleteDeviceNumberAt(scope.row)"></el-button>
21 21
                            </el-tooltip>                           
22 22
                         </template>  
23 23
                     </el-table-column>

+ 2 - 2
src/xt_pages/device/zone_main.vue View File

@@ -17,10 +17,10 @@
17 17
                     <el-table-column label="操作" align="center"> 
18 18
                         <template slot-scope="scope">
19 19
                           <el-tooltip class="item" effect="dark" content="编辑" placement="top">
20
-                            <el-button :disabled="$store.getters.xt_user.subscibe.state==3?true:false" type="primary" icon="el-icon-edit-outline" size="mini" @click="modifyZoneAt(scope.row)"></el-button>
20
+                            <el-button :disabled="$store.getters.xt_user.subscibe.state==3?true:false" type="primary" icon="el-icon-edit-outline" size="small" @click="modifyZoneAt(scope.row)"></el-button>
21 21
                           </el-tooltip>  
22 22
                           <el-tooltip class="item" effect="dark" content="删除" placement="top">                          
23
-                            <el-button :disabled="$store.getters.xt_user.subscibe.state==3?true:false" type="danger" icon="el-icon-delete" size="mini" @click="deleteZoneAt(scope.row)"></el-button>
23
+                            <el-button :disabled="$store.getters.xt_user.subscibe.state==3?true:false" type="danger" icon="el-icon-delete" size="small" @click="deleteZoneAt(scope.row)"></el-button>
24 24
                           </el-tooltip>  
25 25
                         </template>  
26 26
                     </el-table-column>

+ 1 - 64
src/xt_pages/dialysis/bloodPresssWatch.vue View File

@@ -418,70 +418,7 @@
418 418
         cursor: pointer;
419 419
       }
420 420
     }
421
-    // .cell {
422
-    //   margin: 0px 0 15px 0;
423
-    //   -moz-box-sizing: border-box;
424
-    //   -webkit-box-sizing: border-box;
425
-    //   -o-box-sizing: border-box;
426
-    //   -ms-box-sizing: border-box;
427
-    //   box-sizing: border-box;
428
-    //   display: -webkit-box;
429
-    //   display: -ms-flexbox;
430
-    //   // display: flex;
431
-    //   -webkit-box-align: flex-start;
432
-    //   -ms-flex-align: flex-start;
433
-    //   align-items: flex-start;
434
-    //   text-align: left;
435
-    //   justify-content: flex-start;
436
-    //   color: #333;
437
-    //   .title {
438
-    //     width: 80px;
439
-    //     display: inline-block;
440
-    //     font-weight: normal;
441
-    //     color: #909399;
442
-    //     padding: 6px 0;
443
-    //     font-weight: 700;
444
-    //     .name {
445
-    //       width: 60px;
446
-    //       text-align: justify;
447
-    //       text-justify: distribute-all-lines;
448
-    //       text-align-last: justify;
449
-    //       -moz-text-align-last: justify;
450
-    //       -webkit-text-align-last: justify;
451
-    //       display: inline-block;
452
-    //     }
453
-    //   }
454
-    //   .time {
455
-    //     -webkit-box-flex: 1;
456
-    //     -ms-flex: 1;
457
-    //     flex: 1;
458
-    //     ul {
459
-    //       padding: 0;
460
-    //       margin: 0;
461
-    //       li {
462
-    //         float: left;
463
-    //         list-style: none;
464
-    //         cursor: pointer;
465
-    //         padding: 3px 0;
466
-    //         width: 70px;
467
-    //         color: #606266;
468
-    //         border-radius: 4px;
469
-    //         margin: 0 10px 0 0;
470
-    //         color: #409eff;
471
-    //         border: 1px #409eff solid;
472
-    //         text-align: center;
473
-    //         &:hover {
474
-    //           background: #409eff;
475
-    //           color: #fff;
476
-    //         }
477
-    //       }
478
-    //       .active {
479
-    //         background: #409eff;
480
-    //         color: #fff;
481
-    //       }
482
-    //     }
483
-    //   }
484
-    // }
421
+    
485 422
     .amount {
486 423
       font-weight: normal;
487 424
       padding: 10px 0 0 0;

+ 1 - 1
src/xt_pages/dialysis/details/dialog/DoctorAdviceDialog.vue View File

@@ -98,7 +98,7 @@
98 98
         </el-table-column>
99 99
         <!--<el-table-column label="操作" min-width="20" align="center">-->
100 100
           <!--<template slot-scope="scope">-->
101
-            <!--<el-button type="primary" size="mini"-->
101
+            <!--<el-button type="primary" size="small"-->
102 102
                        <!--@click="scope.row.groupno>0?openEditGroupAdvice(scope.row.groupno):openEdit(scope.$index, scope.row)"-->
103 103
                        <!--v-if="isShowStartTime(scope.$index, scope.row)">编辑-->
104 104
             <!--</el-button>-->

+ 1 - 31
src/xt_pages/dialysis/dialysisPrepare.vue View File

@@ -159,35 +159,5 @@
159 159
 
160 160
 
161 161
 <style rel="stylesheet/scss" lang="scss" scoped>
162
-  .cell {
163
-  .name {
164
-    float: left;
165
-    width: 88px;
166
-    text-align: right;
167
-    color: #606266;
168
-    height: 36px;
169
-    line-height: 36px;
170
-  }
171
-  .type {
172
-    float: left;
173
-    ul {
174
-      padding: 0;
175
-      margin: 0;
176
-      li {
177
-        float: left;
178
-        list-style-type: none;
179
-        padding: 0 10px;
180
-        border-radius: 6px;
181
-        margin: 0 10px;
182
-        height: 36px;
183
-        line-height: 36px;
184
-        color:#606266;
185
-        &:hover{
186
-          background: #409eff;
187
-          color: #fff;
188
-        }
189
-      }
190
-    }
191
-  }
192
-}
162
+
193 163
 </style>

+ 0 - 48
src/xt_pages/dialysis/doctorAdvice.vue View File

@@ -217,52 +217,4 @@ export default {
217 217
 
218 218
 
219 219
 <style rel="stylesheet/scss"  lang="scss" scoped >
220
-// .title{
221
-//   float: left;
222
-//   width: 80px;
223
-//   height: 36px;
224
-//   line-height: 36px;
225
-//   text-align: right;
226
-// }
227
-.cell {
228
-  .name {
229
-    float: left;
230
-    width: 88px;
231
-    text-align: right;
232
-    color: #606266;
233
-    height: 36px;
234
-    line-height: 36px;
235
-  }
236
-  .type {
237
-    float: left;
238
-    ul {
239
-      padding: 0;
240
-      margin: 0;
241
-      li {
242
-        float: left;
243
-        list-style-type: none;
244
-        padding: 0 10px;
245
-        border-radius: 6px;
246
-        margin: 0 10px;
247
-        height: 36px;
248
-        line-height: 36px;
249
-        color:#606266;
250
-        &:hover{
251
-          background: #409eff;
252
-          color: #fff;
253
-        }
254
-      }
255
-    }
256
-  }
257
-  .collate{
258
-    float: left;
259
-    margin: 0 0 0 20px;
260
-    .tit{
261
-      color: #606266;
262
-      margin: 0 6px 0 0;
263
-      font-weight: normal;
264
-    }
265
-
266
-  }
267
-}
268 220
 </style>

+ 0 - 64
src/xt_pages/dialysis/schedualPatient2.vue View File

@@ -318,70 +318,6 @@
318 318
         cursor: pointer;
319 319
       }
320 320
     }
321
-    .cell {
322
-      margin: 0px 0 15px 0;
323
-      -moz-box-sizing: border-box;
324
-      -webkit-box-sizing: border-box;
325
-      -o-box-sizing: border-box;
326
-      -ms-box-sizing: border-box;
327
-      box-sizing: border-box;
328
-      display: -webkit-box;
329
-      display: -ms-flexbox;
330
-      // display: flex;
331
-      -webkit-box-align: flex-start;
332
-      -ms-flex-align: flex-start;
333
-      align-items: flex-start;
334
-      text-align: left;
335
-      justify-content: flex-start;
336
-      color: #333;
337
-      .title {
338
-        width: 80px;
339
-        display: inline-block;
340
-        font-weight: normal;
341
-        color: #909399;
342
-        padding: 6px 0;
343
-        font-weight: 700;
344
-        .name {
345
-          width: 60px;
346
-          text-align: justify;
347
-          text-justify: distribute-all-lines;
348
-          text-align-last: justify;
349
-          -moz-text-align-last: justify;
350
-          -webkit-text-align-last: justify;
351
-          display: inline-block;
352
-        }
353
-      }
354
-      .time {
355
-        -webkit-box-flex: 1;
356
-        -ms-flex: 1;
357
-        flex: 1;
358
-        ul {
359
-          padding: 0;
360
-          margin: 0;
361
-          li {
362
-            float: left;
363
-            list-style: none;
364
-            cursor: pointer;
365
-            padding: 3px 0;
366
-            width: 70px;
367
-            color: #606266;
368
-            border-radius: 4px;
369
-            margin: 0 10px 0 0;
370
-            color: #409eff;
371
-            border: 1px #409eff solid;
372
-            text-align: center;
373
-            &:hover {
374
-              background: #409eff;
375
-              color: #fff;
376
-            }
377
-          }
378
-          .active {
379
-            background: #409eff;
380
-            color: #fff;
381
-          }
382
-        }
383
-      }
384
-    }
385 321
     .amount {
386 322
       font-weight: normal;
387 323
       padding: 10px 0 0 0;

+ 0 - 60
src/xt_pages/qcd/dialysisTotal.vue View File

@@ -448,66 +448,6 @@ export default {
448 448
       cursor: pointer;
449 449
     }
450 450
   }
451
-  .cell {
452
-    margin: 0px 0 15px 0;
453
-    -moz-box-sizing: border-box;
454
-    -webkit-box-sizing: border-box;
455
-    -o-box-sizing: border-box;
456
-    -ms-box-sizing: border-box;
457
-    box-sizing: border-box;
458
-    display: -webkit-box;
459
-    display: -ms-flexbox;
460
-    // display: flex;
461
-    -webkit-box-align: flex-start;
462
-    -ms-flex-align: flex-start;
463
-    align-items: flex-start;
464
-    text-align: left;
465
-    justify-content: flex-start;
466
-    color: #333;
467
-    .title {
468
-      width: 80px;
469
-      display: inline-block;
470
-      font-weight: normal;
471
-      color: #909399;
472
-      padding: 6px 0;
473
-      font-weight: 700;
474
-      .name {
475
-        width: 60px;
476
-        text-align: justify;
477
-        text-justify: distribute-all-lines;
478
-        text-align-last: justify;
479
-        -moz-text-align-last: justify;
480
-        -webkit-text-align-last: justify;
481
-        display: inline-block;
482
-      }
483
-    }
484
-    .time {
485
-      -webkit-box-flex: 1;
486
-      -ms-flex: 1;
487
-      flex: 1;
488
-      ul {
489
-        padding: 0;
490
-        margin: 0;
491
-        li {
492
-          float: left;
493
-          list-style: none;
494
-          cursor: pointer;
495
-          padding: 6px 10px;
496
-          color: #606266;
497
-          border-radius: 4px;
498
-          margin: 0 4px 0 0;
499
-          &:hover {
500
-            background: #409eff;
501
-            color: #fff;
502
-          }
503
-        }
504
-        .active {
505
-          background: #409eff;
506
-          color: #fff;
507
-        }
508
-      }
509
-    }
510
-  }
511 451
   .amount {
512 452
     font-weight: normal;
513 453
     padding: 10px 0 0 0;

+ 0 - 60
src/xt_pages/qcd/outcomeIndicators/control.vue View File

@@ -428,66 +428,6 @@ export default {
428 428
       cursor: pointer;
429 429
     }
430 430
   }
431
-  .cell {
432
-    margin: 0px 0 15px 0;
433
-    -moz-box-sizing: border-box;
434
-    -webkit-box-sizing: border-box;
435
-    -o-box-sizing: border-box;
436
-    -ms-box-sizing: border-box;
437
-    box-sizing: border-box;
438
-    display: -webkit-box;
439
-    display: -ms-flexbox;
440
-    // display: flex;
441
-    -webkit-box-align: flex-start;
442
-    -ms-flex-align: flex-start;
443
-    align-items: flex-start;
444
-    text-align: left;
445
-    justify-content: flex-start;
446
-    color: #333;
447
-    .title {
448
-      width: 80px;
449
-      display: inline-block;
450
-      font-weight: normal;
451
-      color: #909399;
452
-      padding: 6px 0;
453
-      font-weight: 700;
454
-      .name {
455
-        width: 60px;
456
-        text-align: justify;
457
-        text-justify: distribute-all-lines;
458
-        text-align-last: justify;
459
-        -moz-text-align-last: justify;
460
-        -webkit-text-align-last: justify;
461
-        display: inline-block;
462
-      }
463
-    }
464
-    .time {
465
-      -webkit-box-flex: 1;
466
-      -ms-flex: 1;
467
-      flex: 1;
468
-      ul {
469
-        padding: 0;
470
-        margin: 0;
471
-        li {
472
-          float: left;
473
-          list-style: none;
474
-          cursor: pointer;
475
-          padding: 6px 10px;
476
-          color: #606266;
477
-          border-radius: 4px;
478
-          margin: 0 4px 0 0;
479
-          &:hover {
480
-            background: #409eff;
481
-            color: #fff;
482
-          }
483
-        }
484
-        .active {
485
-          background: #409eff;
486
-          color: #fff;
487
-        }
488
-      }
489
-    }
490
-  }
491 431
   .amount {
492 432
     font-weight: normal;
493 433
     padding: 10px 0 0 0;

+ 0 - 60
src/xt_pages/qcd/outcomeIndicators/query.vue View File

@@ -355,66 +355,6 @@ export default {
355 355
       cursor: pointer;
356 356
     }
357 357
   }
358
-  .cell {
359
-    margin: 0px 0 15px 0;
360
-    -moz-box-sizing: border-box;
361
-    -webkit-box-sizing: border-box;
362
-    -o-box-sizing: border-box;
363
-    -ms-box-sizing: border-box;
364
-    box-sizing: border-box;
365
-    display: -webkit-box;
366
-    display: -ms-flexbox;
367
-    // display: flex;
368
-    -webkit-box-align: flex-start;
369
-    -ms-flex-align: flex-start;
370
-    align-items: flex-start;
371
-    text-align: left;
372
-    justify-content: flex-start;
373
-    color: #333;
374
-    .title {
375
-      width: 80px;
376
-      display: inline-block;
377
-      font-weight: normal;
378
-      color: #909399;
379
-      padding: 6px 0;
380
-      font-weight: 700;
381
-      .name {
382
-        width: 60px;
383
-        text-align: justify;
384
-        text-justify: distribute-all-lines;
385
-        text-align-last: justify;
386
-        -moz-text-align-last: justify;
387
-        -webkit-text-align-last: justify;
388
-        display: inline-block;
389
-      }
390
-    }
391
-    .time {
392
-      -webkit-box-flex: 1;
393
-      -ms-flex: 1;
394
-      flex: 1;
395
-      ul {
396
-        padding: 0;
397
-        margin: 0;
398
-        li {
399
-          float: left;
400
-          list-style: none;
401
-          cursor: pointer;
402
-          padding: 6px 10px;
403
-          color: #606266;
404
-          border-radius: 4px;
405
-          margin: 0 4px 0 0;
406
-          &:hover {
407
-            background: #409eff;
408
-            color: #fff;
409
-          }
410
-        }
411
-        .active {
412
-          background: #409eff;
413
-          color: #fff;
414
-        }
415
-      }
416
-    }
417
-  }
418 358
   .amount {
419 359
     font-weight: normal;
420 360
     padding: 10px 0 0 0;

+ 0 - 60
src/xt_pages/qcd/patientAnalysis/bloodPressure.vue View File

@@ -452,66 +452,6 @@ export default {
452 452
       cursor: pointer;
453 453
     }
454 454
   }
455
-  .cell {
456
-    margin: 0px 0 15px 0;
457
-    -moz-box-sizing: border-box;
458
-    -webkit-box-sizing: border-box;
459
-    -o-box-sizing: border-box;
460
-    -ms-box-sizing: border-box;
461
-    box-sizing: border-box;
462
-    display: -webkit-box;
463
-    display: -ms-flexbox;
464
-    // display: flex;
465
-    -webkit-box-align: flex-start;
466
-    -ms-flex-align: flex-start;
467
-    align-items: flex-start;
468
-    text-align: left;
469
-    justify-content: flex-start;
470
-    color: #333;
471
-    .title {
472
-      width: 80px;
473
-      display: inline-block;
474
-      font-weight: normal;
475
-      color: #909399;
476
-      padding: 6px 0;
477
-      font-weight: 700;
478
-      .name {
479
-        width: 60px;
480
-        text-align: justify;
481
-        text-justify: distribute-all-lines;
482
-        text-align-last: justify;
483
-        -moz-text-align-last: justify;
484
-        -webkit-text-align-last: justify;
485
-        display: inline-block;
486
-      }
487
-    }
488
-    .time {
489
-      -webkit-box-flex: 1;
490
-      -ms-flex: 1;
491
-      flex: 1;
492
-      ul {
493
-        padding: 0;
494
-        margin: 0;
495
-        li {
496
-          float: left;
497
-          list-style: none;
498
-          cursor: pointer;
499
-          padding: 6px 10px;
500
-          color: #606266;
501
-          border-radius: 4px;
502
-          margin: 0 4px 0 0;
503
-          &:hover {
504
-            background: #409eff;
505
-            color: #fff;
506
-          }
507
-        }
508
-        .active {
509
-          background: #409eff;
510
-          color: #fff;
511
-        }
512
-      }
513
-    }
514
-  }
515 455
   .amount {
516 456
     font-weight: normal;
517 457
     padding: 10px 0 0 0;

+ 0 - 60
src/xt_pages/qcd/patientAnalysis/dialysisAge.vue View File

@@ -416,66 +416,6 @@ export default {
416 416
       cursor: pointer;
417 417
     }
418 418
   }
419
-  .cell {
420
-    margin: 0px 0 15px 0;
421
-    -moz-box-sizing: border-box;
422
-    -webkit-box-sizing: border-box;
423
-    -o-box-sizing: border-box;
424
-    -ms-box-sizing: border-box;
425
-    box-sizing: border-box;
426
-    display: -webkit-box;
427
-    display: -ms-flexbox;
428
-    // display: flex;
429
-    -webkit-box-align: flex-start;
430
-    -ms-flex-align: flex-start;
431
-    align-items: flex-start;
432
-    text-align: left;
433
-    justify-content: flex-start;
434
-    color: #333;
435
-    .title {
436
-      width: 80px;
437
-      display: inline-block;
438
-      font-weight: normal;
439
-      color: #909399;
440
-      padding: 6px 0;
441
-      font-weight: 700;
442
-      .name {
443
-        width: 60px;
444
-        text-align: justify;
445
-        text-justify: distribute-all-lines;
446
-        text-align-last: justify;
447
-        -moz-text-align-last: justify;
448
-        -webkit-text-align-last: justify;
449
-        display: inline-block;
450
-      }
451
-    }
452
-    .time {
453
-      -webkit-box-flex: 1;
454
-      -ms-flex: 1;
455
-      flex: 1;
456
-      ul {
457
-        padding: 0;
458
-        margin: 0;
459
-        li {
460
-          float: left;
461
-          list-style: none;
462
-          cursor: pointer;
463
-          padding: 6px 10px;
464
-          color: #606266;
465
-          border-radius: 4px;
466
-          margin: 0 4px 0 0;
467
-          &:hover {
468
-            background: #409eff;
469
-            color: #fff;
470
-          }
471
-        }
472
-        .active {
473
-          background: #409eff;
474
-          color: #fff;
475
-        }
476
-      }
477
-    }
478
-  }
479 419
   .amount {
480 420
     font-weight: normal;
481 421
     padding: 10px 0 0 0;

+ 0 - 60
src/xt_pages/qcd/patientAnalysis/lapseto.vue View File

@@ -398,66 +398,6 @@ export default {
398 398
       cursor: pointer;
399 399
     }
400 400
   }
401
-  .cell {
402
-    margin: 0px 0 15px 0;
403
-    -moz-box-sizing: border-box;
404
-    -webkit-box-sizing: border-box;
405
-    -o-box-sizing: border-box;
406
-    -ms-box-sizing: border-box;
407
-    box-sizing: border-box;
408
-    display: -webkit-box;
409
-    display: -ms-flexbox;
410
-    // display: flex;
411
-    -webkit-box-align: flex-start;
412
-    -ms-flex-align: flex-start;
413
-    align-items: flex-start;
414
-    text-align: left;
415
-    justify-content: flex-start;
416
-    color: #333;
417
-    .title {
418
-      width: 80px;
419
-      display: inline-block;
420
-      font-weight: normal;
421
-      color: #909399;
422
-      padding: 6px 0;
423
-      font-weight: 700;
424
-      .name {
425
-        width: 60px;
426
-        text-align: justify;
427
-        text-justify: distribute-all-lines;
428
-        text-align-last: justify;
429
-        -moz-text-align-last: justify;
430
-        -webkit-text-align-last: justify;
431
-        display: inline-block;
432
-      }
433
-    }
434
-    .time {
435
-      -webkit-box-flex: 1;
436
-      -ms-flex: 1;
437
-      flex: 1;
438
-      ul {
439
-        padding: 0;
440
-        margin: 0;
441
-        li {
442
-          float: left;
443
-          list-style: none;
444
-          cursor: pointer;
445
-          padding: 6px 10px;
446
-          color: #606266;
447
-          border-radius: 4px;
448
-          margin: 0 4px 0 0;
449
-          &:hover {
450
-            background: #409eff;
451
-            color: #fff;
452
-          }
453
-        }
454
-        .active {
455
-          background: #409eff;
456
-          color: #fff;
457
-        }
458
-      }
459
-    }
460
-  }
461 401
   .amount {
462 402
     font-weight: normal;
463 403
     padding: 10px 0 0 0;

+ 0 - 60
src/xt_pages/qcd/patientAnalysis/total.vue View File

@@ -361,66 +361,6 @@ export default {
361 361
       cursor: pointer;
362 362
     }
363 363
   }
364
-  .cell {
365
-    margin: 0px 0 15px 0;
366
-    -moz-box-sizing: border-box;
367
-    -webkit-box-sizing: border-box;
368
-    -o-box-sizing: border-box;
369
-    -ms-box-sizing: border-box;
370
-    box-sizing: border-box;
371
-    display: -webkit-box;
372
-    display: -ms-flexbox;
373
-    // display: flex;
374
-    -webkit-box-align: flex-start;
375
-    -ms-flex-align: flex-start;
376
-    align-items: flex-start;
377
-    text-align: left;
378
-    justify-content: flex-start;
379
-    color: #333;
380
-    .title {
381
-      width: 80px;
382
-      display: inline-block;
383
-      font-weight: normal;
384
-      color: #909399;
385
-      padding: 6px 0;
386
-      font-weight: 700;
387
-      .name {
388
-        width: 60px;
389
-        text-align: justify;
390
-        text-justify: distribute-all-lines;
391
-        text-align-last: justify;
392
-        -moz-text-align-last: justify;
393
-        -webkit-text-align-last: justify;
394
-        display: inline-block;
395
-      }
396
-    }
397
-    .time {
398
-      -webkit-box-flex: 1;
399
-      -ms-flex: 1;
400
-      flex: 1;
401
-      ul {
402
-        padding: 0;
403
-        margin: 0;
404
-        li {
405
-          float: left;
406
-          list-style: none;
407
-          cursor: pointer;
408
-          padding: 6px 10px;
409
-          color: #606266;
410
-          border-radius: 4px;
411
-          margin: 0 4px 0 0;
412
-          &:hover {
413
-            background: #409eff;
414
-            color: #fff;
415
-          }
416
-        }
417
-        .active {
418
-          background: #409eff;
419
-          color: #fff;
420
-        }
421
-      }
422
-    }
423
-  }
424 364
   .amount {
425 365
     font-weight: normal;
426 366
     padding: 10px 0 0 0;

+ 1 - 60
src/xt_pages/qcd/patientAnalysis/weight.vue View File

@@ -493,66 +493,7 @@ export default {
493 493
       cursor: pointer;
494 494
     }
495 495
   }
496
-  .cell {
497
-    margin: 0px 0 15px 0;
498
-    -moz-box-sizing: border-box;
499
-    -webkit-box-sizing: border-box;
500
-    -o-box-sizing: border-box;
501
-    -ms-box-sizing: border-box;
502
-    box-sizing: border-box;
503
-    display: -webkit-box;
504
-    display: -ms-flexbox;
505
-    // display: flex;
506
-    -webkit-box-align: flex-start;
507
-    -ms-flex-align: flex-start;
508
-    align-items: flex-start;
509
-    text-align: left;
510
-    justify-content: flex-start;
511
-    color: #333;
512
-    .title {
513
-      width: 80px;
514
-      display: inline-block;
515
-      font-weight: normal;
516
-      color: #909399;
517
-      padding: 6px 0;
518
-      font-weight: 700;
519
-      .name {
520
-        width: 60px;
521
-        text-align: justify;
522
-        text-justify: distribute-all-lines;
523
-        text-align-last: justify;
524
-        -moz-text-align-last: justify;
525
-        -webkit-text-align-last: justify;
526
-        display: inline-block;
527
-      }
528
-    }
529
-    .time {
530
-      -webkit-box-flex: 1;
531
-      -ms-flex: 1;
532
-      flex: 1;
533
-      ul {
534
-        padding: 0;
535
-        margin: 0;
536
-        li {
537
-          float: left;
538
-          list-style: none;
539
-          cursor: pointer;
540
-          padding: 6px 10px;
541
-          color: #606266;
542
-          border-radius: 4px;
543
-          margin: 0 4px 0 0;
544
-          &:hover {
545
-            background: #409eff;
546
-            color: #fff;
547
-          }
548
-        }
549
-        .active {
550
-          background: #409eff;
551
-          color: #fff;
552
-        }
553
-      }
554
-    }
555
-  }
496
+
556 497
   .amount {
557 498
     font-weight: normal;
558 499
     padding: 10px 0 0 0;

+ 0 - 60
src/xt_pages/qcd/processIndicators.1.vue View File

@@ -362,66 +362,6 @@ export default {
362 362
       cursor: pointer;
363 363
     }
364 364
   }
365
-  .cell {
366
-    margin: 0px 0 15px 0;
367
-    -moz-box-sizing: border-box;
368
-    -webkit-box-sizing: border-box;
369
-    -o-box-sizing: border-box;
370
-    -ms-box-sizing: border-box;
371
-    box-sizing: border-box;
372
-    display: -webkit-box;
373
-    display: -ms-flexbox;
374
-    // display: flex;
375
-    -webkit-box-align: flex-start;
376
-    -ms-flex-align: flex-start;
377
-    align-items: flex-start;
378
-    text-align: left;
379
-    justify-content: flex-start;
380
-    color: #333;
381
-    .title {
382
-      width: 80px;
383
-      display: inline-block;
384
-      font-weight: normal;
385
-      color: #909399;
386
-      padding: 6px 0;
387
-      font-weight: 700;
388
-      .name {
389
-        width: 60px;
390
-        text-align: justify;
391
-        text-justify: distribute-all-lines;
392
-        text-align-last: justify;
393
-        -moz-text-align-last: justify;
394
-        -webkit-text-align-last: justify;
395
-        display: inline-block;
396
-      }
397
-    }
398
-    .time {
399
-      -webkit-box-flex: 1;
400
-      -ms-flex: 1;
401
-      flex: 1;
402
-      ul {
403
-        padding: 0;
404
-        margin: 0;
405
-        li {
406
-          float: left;
407
-          list-style: none;
408
-          cursor: pointer;
409
-          padding: 6px 10px;
410
-          color: #606266;
411
-          border-radius: 4px;
412
-          margin: 0 4px 0 0;
413
-          &:hover {
414
-            background: #409eff;
415
-            color: #fff;
416
-          }
417
-        }
418
-        .active {
419
-          background: #409eff;
420
-          color: #fff;
421
-        }
422
-      }
423
-    }
424
-  }
425 365
   .amount {
426 366
     font-weight: normal;
427 367
     padding: 10px 0 0 0;

+ 0 - 60
src/xt_pages/qcd/processIndicators.vue View File

@@ -378,66 +378,6 @@ export default {
378 378
       cursor: pointer;
379 379
     }
380 380
   }
381
-  .cell {
382
-    margin: 0px 0 15px 0;
383
-    -moz-box-sizing: border-box;
384
-    -webkit-box-sizing: border-box;
385
-    -o-box-sizing: border-box;
386
-    -ms-box-sizing: border-box;
387
-    box-sizing: border-box;
388
-    display: -webkit-box;
389
-    display: -ms-flexbox;
390
-    // display: flex;
391
-    -webkit-box-align: flex-start;
392
-    -ms-flex-align: flex-start;
393
-    align-items: flex-start;
394
-    text-align: left;
395
-    justify-content: flex-start;
396
-    color: #333;
397
-    .title {
398
-      width: 80px;
399
-      display: inline-block;
400
-      font-weight: normal;
401
-      color: #909399;
402
-      padding: 6px 0;
403
-      font-weight: 700;
404
-      .name {
405
-        width: 60px;
406
-        text-align: justify;
407
-        text-justify: distribute-all-lines;
408
-        text-align-last: justify;
409
-        -moz-text-align-last: justify;
410
-        -webkit-text-align-last: justify;
411
-        display: inline-block;
412
-      }
413
-    }
414
-    .time {
415
-      -webkit-box-flex: 1;
416
-      -ms-flex: 1;
417
-      flex: 1;
418
-      ul {
419
-        padding: 0;
420
-        margin: 0;
421
-        li {
422
-          float: left;
423
-          list-style: none;
424
-          cursor: pointer;
425
-          padding: 6px 10px;
426
-          color: #606266;
427
-          border-radius: 4px;
428
-          margin: 0 4px 0 0;
429
-          &:hover {
430
-            background: #409eff;
431
-            color: #fff;
432
-          }
433
-        }
434
-        .active {
435
-          background: #409eff;
436
-          color: #fff;
437
-        }
438
-      }
439
-    }
440
-  }
441 381
   .amount {
442 382
     font-weight: normal;
443 383
     padding: 10px 0 0 0;

+ 9 - 3
src/xt_pages/role/admin.vue View File

@@ -31,10 +31,16 @@
31 31
       <el-table-column label="操作" width="210px">
32 32
         <template slot-scope="scope">
33 33
           <router-link :to="{ path:'/role/admin/edit', query:{ id:scope.row.user_id }}">
34
-            <el-button type="primary" icon="el-icon-edit-outline">编辑</el-button>
34
+            <el-tooltip class="item" effect="dark" content="编辑" placement="top">
35
+              <el-button type="primary" icon="el-icon-edit-outline" size="small"></el-button>
36
+            </el-tooltip> 
35 37
           </router-link>
36
-          <el-button type="danger" icon="el-icon-delete" v-if="scope.row.status == 1" @click="disableAdminAction(scope.row)">移除</el-button>
37
-          <el-button size="medium" type="info" icon="el-icon-refresh" v-if="scope.row.status == 0" @click="recoverAdminAction(scope.row)">恢复</el-button>
38
+          <el-tooltip class="item" effect="dark" content="移除" placement="top">
39
+            <el-button type="danger" size="small" icon="el-icon-delete" v-if="scope.row.status == 1" @click="disableAdminAction(scope.row)"></el-button>
40
+          </el-tooltip>
41
+          <el-tooltip class="item" effect="dark" content="恢复" placement="top">
42
+            <el-button size="small" type="info" icon="el-icon-refresh" v-if="scope.row.status == 0" @click="recoverAdminAction(scope.row)"></el-button>
43
+          </el-tooltip>
38 44
         </template>
39 45
       </el-table-column>
40 46
     </el-table>

+ 15 - 4
src/xt_pages/role/role.vue View File

@@ -22,11 +22,22 @@
22 22
       <el-table-column label="操作" min-width="40%">
23 23
         <template slot-scope="scope">
24 24
           <router-link :to='{ path:"/role/perview", query:{ id:scope.row.id }}'>
25
-            <el-button type="warning" icon="el-icon-setting">权限设置</el-button>
25
+            <el-tooltip class="item" effect="dark" content="权限设置" placement="top">
26
+              <el-button type="warning" icon="el-icon-setting" size="small"></el-button>
27
+            </el-tooltip>
26 28
           </router-link>
27
-          <el-button type="primary" icon="el-icon-edit-outline" @click="modifyRoleAction(scope.row)">编辑</el-button>
28
-          <el-button type="danger" icon="el-icon-delete" v-if="scope.row.status === 1" @click="disableRoleAction(scope.row)">移除</el-button>
29
-          <el-button type="info" icon="el-icon-refresh" v-if="scope.row.status !== 1" @click="recoverRoleAction(scope.row)">恢复</el-button>
29
+          <el-tooltip class="item" effect="dark" content="编辑" placement="top">
30
+           <el-button type="primary" size="small" icon="el-icon-edit-outline" @click="modifyRoleAction(scope.row)"></el-button>
31
+          </el-tooltip>
32
+          
33
+          <el-tooltip class="item" effect="dark" content="移除" placement="top">
34
+           <el-button type="danger" size="small" icon="el-icon-delete" v-if="scope.row.status === 1" @click="disableRoleAction(scope.row)"></el-button>
35
+          </el-tooltip>
36
+          
37
+          <el-tooltip class="item" effect="dark" content="恢复" placement="top">
38
+           <el-button type="info" size="small" icon="el-icon-refresh" v-if="scope.row.status !== 1" @click="recoverRoleAction(scope.row)"></el-button>
39
+          </el-tooltip>
40
+          
30 41
         </template>
31 42
       </el-table-column>
32 43
     </el-table>

+ 23 - 28
src/xt_pages/stock/Dialog/goodInfoDailog.vue View File

@@ -2,7 +2,7 @@
2 2
   <el-dialog width="854px" :title="titles" :visible.sync="visibility" :show-close="isClose" :close-on-click-modal="isClose"
3 3
              :close-on-press-escape="isClose">
4 4
 
5
-    <el-form class="demo-form-inline" 
5
+    <el-form class="demo-form-inline"
6 6
              :rules="rules" :model="form" ref="form"
7 7
              label-width="116px">
8 8
       <el-row>
@@ -40,7 +40,7 @@
40 40
         </el-col>
41 41
       </el-row>
42 42
 
43
-      <el-row>     
43
+      <el-row>
44 44
         <el-col :span="8">
45 45
           <el-form-item label="生产厂家" prop="dealer">
46 46
             <el-select  v-model="form.manufacturer" placeholder="请选择">
@@ -73,8 +73,8 @@
73 73
           </el-form-item>
74 74
         </el-col>
75 75
       </el-row>
76
-      
77
-      <el-row>           
76
+
77
+      <el-row>
78 78
         <el-col :span="8">
79 79
           <el-form-item label="出货价" prop="sell_price">
80 80
             <el-input  type="number" v-model="form.sell_price"></el-input>
@@ -93,8 +93,8 @@
93 93
           </el-form-item>
94 94
         </el-col>
95 95
       </el-row>
96
-    
97
-      <el-row>           
96
+
97
+      <el-row>
98 98
        <el-col :span="16">
99 99
         <el-form-item label="是否可复用" prop="is_reuse">
100 100
             <el-radio v-model="form.is_reuse" label="1">可以</el-radio>
@@ -102,7 +102,7 @@
102 102
           </el-form-item>
103 103
         </el-col>
104 104
       </el-row>
105
-      
105
+
106 106
       <el-col>
107 107
         <el-form-item label="备注" prop="remark">
108 108
           <el-input type="textarea" :row="5" v-model="form.remark"
@@ -123,10 +123,8 @@
123 123
 </template>
124 124
 
125 125
 <script>
126
-
127
-
128 126
   export default {
129
-    name: "goodInfoDailog",
127
+    name: 'goodInfoDailog',
130 128
     data() {
131 129
       return {
132 130
         good_unit: '',
@@ -142,15 +140,15 @@
142 140
           dealer: '',
143 141
           expiry_date_warn_day_count: '',
144 142
           stock_warn_count: '',
145
-          is_reuse: '2',
143
+          is_reuse: '2'
146 144
         },
147 145
 
148 146
         rules: {
149 147
           specification_name: [
150
-            {required: true, message: '请输入规格名称', trigger: 'blur'},
148
+            { required: true, message: '请输入规格名称', trigger: 'blur' }
151 149
           ],
152 150
           good_id: [
153
-            {required: true, message: '请选择物品类型', trigger: 'change'}
151
+            { required: true, message: '请选择物品类型', trigger: 'change' }
154 152
           ]
155 153
 
156 154
         }
@@ -163,33 +161,31 @@
163 161
       },
164 162
       titles: {
165 163
         type: String,
166
-        default: "",
164
+        default: ''
167 165
       },
168 166
       formValue: {
169 167
         type: Object
170 168
       },
171 169
       isCreated: {
172 170
         type: Number,
173
-        default: 1,
171
+        default: 1
174 172
 
175 173
       }
176 174
 
177 175
     },
178 176
     methods: {
179
-      cancle: function (formName) {
180
-
181
-        this.$emit('dialog-cancle', this.getValue());
182
-
177
+      cancle: function(formName) {
178
+        this.$emit('dialog-cancle', this.getValue())
183 179
       },
184
-      comfirm: function (formName) {
180
+      comfirm: function(formName) {
185 181
         this.$refs[formName].validate((valid) => {
186 182
           if (valid) {
187
-            this.$emit('dialog-comfirm', this.getValue());
183
+            this.$emit('dialog-comfirm', this.getValue())
188 184
           }
189
-        });
185
+        })
190 186
       },
191
-      getValue: function () {
192
-        let form = {}
187
+      getValue: function() {
188
+        const form = {}
193 189
         form['specification_name'] = this.form.specification_name
194 190
         form['good_unit'] = this.good_unit
195 191
         form['buy_price'] = this.form.buy_price
@@ -203,17 +199,16 @@
203 199
         form['isCreated'] = this.isCreated
204 200
         form['good_id'] = this.form.good_id
205 201
         return form
206
-      }, changeSelected: function (val) {
207
-
202
+      }, changeSelected: function(val) {
208 203
         console.log(val)
209 204
       }
210 205
     },
211 206
     watch: {
212 207
       visibility(val) {
213
-
214 208
         this.form = this.formValue
209
+        console.log(this.form)
215 210
         this.good_unit = this.formValue.good_unit
216
-        if(this.isCreated == 1){
211
+        if (this.isCreated == 1) {
217 212
           this.good_unit = ''
218 213
         }
219 214
       }

+ 160 - 2
src/xt_pages/stock/Dialog/salesReturnDialog.vue View File

@@ -1,11 +1,169 @@
1 1
 <template>
2
+  <el-dialog :title="propForm.title" :visible.sync="visibility" :show-close="isClose" :close-on-click-modal="isClose"
3
+             :close-on-press-escape="isClose">
4
+
5
+    <div class="filter-container">
6
+      <el-input style="width: 150px;" class="filter-item" placeholder="规格名称" v-model="keywords"/>
7
+      <el-button class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
8
+    </div>
9
+
10
+    <el-row :gutter="20">
11
+      <el-col :span="8">
12
+        <el-table
13
+          :data="propForm.goodType"
14
+          ref="templatetable"
15
+          border
16
+          highlight-current-row
17
+          max-height="250"
18
+          @current-change="goodTypeTableChange"
19
+          style="width: 100%">
20
+          <el-table-column
21
+            prop="type_name"
22
+            label="商品类型">
23
+          </el-table-column>
24
+        </el-table>
25
+      </el-col>
26
+      <el-col :span="16">
27
+        <el-table
28
+          :data="goodInfoTableData"
29
+          border
30
+          ref="multipleTable"
31
+          max-height="250"
32
+          @selection-change="changeGoodInfoTableData"
33
+          @select-all="changeAllGoodInfoTableData"
34
+          row-key="row_key"
35
+          style="width: 100%"
36
+        >
37
+          <el-table-column
38
+            type="selection"
39
+            width="55">
40
+          </el-table-column>
41
+          <el-table-column
42
+            label="规格名称"
43
+            property="specification_name"
44
+            style="word-break: keep-all;white-space:nowrap;"
45
+          ></el-table-column>
46
+          <el-table-column
47
+            label="单位"
48
+            property="good_unit"
49
+          >
50
+            <template slot-scope="scope">
51
+              <span>{{getName(scope.row.good_unit)}}</span>
52
+            </template>
53
+          </el-table-column>
54
+
55
+        </el-table>
56
+      </el-col>
57
+    </el-row>
58
+
59
+
60
+    <span slot="footer" class="dialog-footer">
61
+    <el-button @click="cancle()">取 消</el-button>
62
+    <el-button type="primary" @click="comfirm()">确 定</el-button>
63
+  </span>
64
+  </el-dialog>
2 65
 
3 66
 </template>
4 67
 
5 68
 <script>
6
-    export default {
7
-        name: "sales-return-dialog"
69
+  export default {
70
+    name: 'salesReturnDialog',
71
+    data() {
72
+      return {
73
+        goodInfo: [],
74
+        goodInfoTableData: [],
75
+        keywords: '',
76
+        multipleSelection: [],
77
+        currentGoodTypeId: 0,
78
+        isClose: false
79
+      }
80
+    },
81
+    props: {
82
+      propForm: {
83
+        type: Object
84
+      },
85
+      visibility: {
86
+        type: Boolean,
87
+        default: false
88
+      }
89
+
90
+    },
91
+    methods: {
92
+      goodTypeTableChange: function(currentRow, oldCurrentRow) {
93
+        this.currentGoodTypeId = currentRow.id
94
+
95
+        this.goodInfoTableData = []
96
+        this.goodInfo = []
97
+        for (let i = 0; i < this.propForm.goodInfo.length; i++) {
98
+          if (this.currentGoodTypeId == this.propForm.goodInfo[i].good_type_id) {
99
+            this.goodInfo.push(this.propForm.goodInfo[i])
100
+            this.goodInfoTableData.push(this.propForm.goodInfo[i])
101
+          }
102
+        }
103
+      },
104
+      cancle: function() {
105
+        this.$emit('dialog-cancle', this.getValue())
106
+        this.$refs.multipleTable.clearSelection()
107
+      },
108
+      comfirm: function() {
109
+        this.$emit('dialog-comfirm', this.getValue())
110
+        this.$refs.multipleTable.clearSelection()
111
+      },
112
+      getValue: function() {
113
+        const obj = {
114
+          selectedGoodInfo: this.multipleSelection,
115
+          goodTypeId: this.currentGoodTypeId
116
+        }
117
+        return obj
118
+      }, goodTypeSelect: function(id) {
119
+        this.tempGoodInfo = []
120
+        this.goodInfo = []
121
+        for (let i = 0; i < this.propForm.goodInfo.length; i++) {
122
+          if (this.propForm.goodInfo[i].good_type_id == id) {
123
+            this.tempGoodInfo.push(this.propForm.goodInfo[i])
124
+          }
125
+        }
126
+      }, goodInfoSelect: function(id) {
127
+        let index = 0
128
+        for (let i = 0; i < this.propForm.goodInfo.length; i++) {
129
+          if (this.propForm.goodInfo[i].id == id) {
130
+            index = i
131
+          }
132
+        }
133
+        this.form.good_type_id = this.propForm.goodInfo[index].good_type_id
134
+      }, getName: function(id) {
135
+        if (id == 0) {
136
+          return ''
137
+        }
138
+
139
+        for (let i = 0; i < this.propForm.goodUnit.length; i++) {
140
+          if (this.propForm.goodUnit[i].id == id) {
141
+            return this.propForm.goodUnit[i].name
142
+          }
143
+        }
144
+      }, search: function() {
145
+        if (this.keywords.length <= 0) {
146
+          this.$message.error('搜索关键字不能为空')
147
+          return
148
+        }
149
+        const searchArr = []
150
+        for (let i = 0; i < this.goodInfoTableData.length; i++) {
151
+          if (this.goodInfoTableData[i].specification_name.indexOf(this.keywords) != -1) {
152
+            searchArr.push(this.goodInfoTableData[i])
153
+          }
154
+        }
155
+        this.goodInfoTableData = []
156
+        for (let i = 0; i < searchArr.length; i++) {
157
+          this.goodInfoTableData.push(searchArr[i])
158
+        }
159
+      }, changeGoodInfoTableData: function(val) {
160
+        this.multipleSelection = val
161
+      }, changeAllGoodInfoTableData: function(val) {
162
+        this.multipleSelection = val
163
+      }
8 164
     }
165
+  }
166
+
9 167
 </script>
10 168
 
11 169
 <style scoped>

+ 121 - 186
src/xt_pages/stock/Dialog/stockInDialog.vue View File

@@ -1,146 +1,83 @@
1 1
 <template>
2 2
   <el-dialog :title="propForm.title" :visible.sync="visibility" :show-close="isClose" :close-on-click-modal="isClose"
3
-             :close-on-press-escape="isClose" width="854px">
3
+             :close-on-press-escape="isClose">
4 4
 
5
-    <el-form  class="demo-form-inline" 
6
-              :rules="rules" :model="form" ref="form"
7
-             label-width="100px">
8
-    <el-row>
9
-      <el-col :span="8">
10
-        <el-form-item label="物品类型" prop="good_type_id">
11
-          <el-select v-model="form.good_type_id" placeholder="请选择"     @change="goodTypeSelect"
12
-          >
13
-            <el-option
14
-              v-for="item in tempGoodType"
15
-              :key="item.id"
16
-              :label="item.type_name"
17
-              :value="item.id">
18
-            </el-option>
19
-          </el-select>
20
-        </el-form-item>
21
-      </el-col>
22
-
23
-      <el-col :span="8">
24
-        <el-form-item label="规格名称" prop="good_id">
25
-          <el-select v-model="form.good_id" placeholder="请选择"  @change="goodInfoSelect">
26
-            <el-option
27
-              v-for="item in tempGoodInfo"
28
-
29
-              :key="item.id"
30
-              :label="item.specification_name"
31
-              :value="item.id">
32
-            </el-option>
33
-          </el-select>
34
-        </el-form-item>
35
-      </el-col>
36
-
37
-      <el-col :span="8">
38
-        <el-form-item label="批号" prop="number">
39
-          <el-input v-model="form.number"></el-input>
40
-        </el-form-item>
41
-      </el-col>
42
-    </el-row>
43
-    
44
-    <el-row>    
45
-      <el-col :span="8">
46
-        <el-form-item label="生产日期" prop="product_date">
47
-          <el-date-picker v-model="form.product_date" prefix-icon="el-icon-date" :editable="false"
48
-                          style="width: 173px;"
49
-                          type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
50
-                          value-format="yyyy-MM-dd"></el-date-picker>
51
-        </el-form-item>
52
-      </el-col>
5
+    <div class="filter-container">
6
+      <el-input style="width: 150px;" class="filter-item" placeholder="规格名称" v-model="keywords"/>
7
+      <el-button class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
8
+    </div>
53 9
 
10
+    <el-row :gutter="20">
54 11
       <el-col :span="8">
55
-
56
-        <el-form-item label="有效日期" prop="expiry_date">
57
-          <el-date-picker v-model="form.expiry_date" prefix-icon="el-icon-date" :editable="false"
58
-                          style="width: 173px;"
59
-                          type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
60
-                          value-format="yyyy-MM-dd"></el-date-picker>
61
-        </el-form-item>
62
-
63
-
64
-      </el-col>
65
-
66
-      <el-col :span="8">
67
-        <el-form-item label="入库数量" prop="warehousing_count">
68
-          <el-input type="number" v-model="form.warehousing_count"></el-input>
69
-        </el-form-item>
70
-      </el-col>
71
-    </el-row>
72
-    <el-row>        
73
-      <el-col :span="8">
74
-        <el-form-item label="物品单价" prop="price">
75
-          <el-input type="number"  v-model="form.price"></el-input>
76
-        </el-form-item>
12
+        <el-table
13
+          :data="propForm.goodType"
14
+          ref="templatetable"
15
+          border
16
+          highlight-current-row
17
+          max-height="250"
18
+          @current-change="goodTypeTableChange"
19
+          style="width: 100%">
20
+          <el-table-column
21
+            prop="type_name"
22
+            label="商品类型">
23
+          </el-table-column>
24
+        </el-table>
77 25
       </el-col>
26
+      <el-col :span="16">
27
+        <el-table
28
+          :data="goodInfoTableData"
29
+          border
30
+          ref="multipleTable"
31
+          max-height="250"
32
+          @selection-change="changeGoodInfoTableData"
33
+          @select-all="changeAllGoodInfoTableData"
34
+          row-key="row_key"
35
+          style="width: 100%"
36
+        >
37
+          <el-table-column
38
+            type="selection"
39
+            width="55">
40
+          </el-table-column>
41
+          <el-table-column
42
+            label="规格名称"
43
+            property="specification_name"
44
+            style="word-break: keep-all;white-space:nowrap;"
45
+          ></el-table-column>
46
+          <el-table-column
47
+            label="单位"
48
+            property="good_unit"
49
+          >
50
+            <template slot-scope="scope">
51
+              <span>{{getName(scope.row.good_unit)}}</span>
52
+            </template>
53
+          </el-table-column>
78 54
 
79
-      <el-col>
80
-        <el-form-item label="备注" prop="remark">
81
-          <el-input type="textarea" :row="5" v-model="form.remark"
82
-                    placeholder="请输入内容">
83
-          </el-input>
84
-        </el-form-item>
55
+        </el-table>
85 56
       </el-col>
86 57
     </el-row>
87
-    
88
-    </el-form>
89 58
 
90 59
 
91 60
     <span slot="footer" class="dialog-footer">
92
-    <el-button v-if="propForm.isCreated == 3" @click="cancle('form')">取 消</el-button>
93
-    <el-button v-if="propForm.isCreated != 3 " @click="cancle('form')">取 消</el-button>
94
-    <el-button v-if="propForm.isCreated != 3" type="primary" @click="comfirm('form')">保 存</el-button>
61
+    <el-button @click="cancle('form')">取 消</el-button>
62
+    <el-button type="primary" @click="comfirm('form')">确 定</el-button>
95 63
   </span>
96 64
   </el-dialog>
97 65
 
98 66
 </template>
99 67
 
100 68
 <script>
69
+  import { GetGoodInfoByGoodId } from '@/api/stock'
70
+
101 71
   export default {
102
-    name: "stockInDialog",
72
+    name: 'stockInDialog',
103 73
     data() {
104 74
       return {
105
-        form:{
106
-          good_type_id: '',
107
-          good_id: '',
108
-          number: '',
109
-          product_date: '',
110
-          expiry_date: '',
111
-          warehousing_count: '',
112
-          price: '',
113
-          remark: '',
114
-          dealer: '',
115
-          manufacturer: '',
116
-        },
117
-        tempGoodType: [],
118
-        tempGoodInfo: [],
119
-        isClose: false,
120
-        size: 11,
121
-        isShow: true,
122
-        rules: {
123
-          good_id: [
124
-            {required: true, message: '请选择物品类型', trigger: 'change'}
125
-          ],
126
-          good_type_id: [
127
-            {required: true, message: '请选择规格名称', trigger: 'change'}
128
-          ],
129
-          number: [
130
-            {required: true, message: '请输入批号', trigger: 'blur'}
131
-          ],
132
-          expiry_date: [
133
-            {required: true, message: '请选择日期', trigger: 'change'}
134
-          ],
135
-          warehousing_count: [
136
-            {required: true, message: '请选择入库数量', trigger: 'blur'}
137
-          ],
138
-          price: [
139
-            {required: true, message: '请选择物品单价', trigger: 'blur'}
140
-          ],
141
-
142
-
143
-        }
75
+        goodInfo: [],
76
+        goodInfoTableData: [],
77
+        keywords: '',
78
+        multipleSelection: [],
79
+        currentGoodTypeId: 0,
80
+        isClose: false
144 81
       }
145 82
     },
146 83
     props: {
@@ -150,90 +87,88 @@
150 87
       visibility: {
151 88
         type: Boolean,
152 89
         default: false
153
-      },
90
+      }
154 91
 
155 92
     },
156 93
     methods: {
157
-      cancle: function (formName) {
158
-        this.$emit('dialog-cancle', this.getValue());
159
-        this.$refs[formName].resetFields();
160
-      },
161
-      comfirm: function (formName) {
162
-        this.$refs[formName].validate((valid) => {
163
-          if (valid) {
164
-            this.$emit('dialog-comfirm', this.getValue());
165
-
166
-          }
167
-        });
168
-      },
169
-      getValue: function () {
170
-        let form = {}
171
-        form['good_type_id'] = this.form.good_type_id
172
-        form['good_id'] = this.form.good_id
173
-        form['number'] = this.form.number
174
-        form['product_date'] = this.form.product_date
175
-        form['expiry_date'] = this.form.expiry_date
176
-        form['warehousing_count'] = this.form.warehousing_count
177
-        form['price'] = this.form.price
178
-        if(this.form.remark == undefined){
179
-          form['remark'] = ""
180
-        }else{
181
-          form['remark'] = this.form.remark
94
+      goodTypeTableChange: function(currentRow, oldCurrentRow) {
95
+        this.currentGoodTypeId = currentRow.id
96
+        const params = {
97
+          id: currentRow.id
182 98
         }
183
-
184
-        console.log(form['remark'])
185
-        form['isCreated'] = this.propForm.isCreated
186
-        for(let i = 0; i <this.propForm.goodInfo.length; i++){
187
-
188
-          if(this.propForm.goodInfo[i].id == this.propForm.formValue.good_id){
189
-
190
-            form['dealer'] = this.propForm.goodInfo[i].dealer
191
-            form['manufacturer'] = this.propForm.goodInfo[i].manufacturer
99
+        this.goodInfoTableData = []
100
+        this.goodInfo = []
101
+        GetGoodInfoByGoodId(params).then(response => {
102
+          if (response.data.state == 0) {
103
+            this.$message.error(response.data.msg)
104
+            return false
105
+          } else {
106
+            for (let i = 0; i < response.data.data.list.length; i++) {
107
+              this.goodInfo.push(response.data.data.list[i])
108
+              this.goodInfoTableData.push(response.data.data.list[i])
109
+            }
192 110
           }
111
+        })
112
+      },
113
+      cancle: function(formName) {
114
+        this.$emit('dialog-cancle', this.getValue())
115
+        this.$refs.multipleTable.clearSelection()
116
+      },
117
+      comfirm: function(formName) {
118
+        this.$emit('dialog-comfirm', this.getValue())
119
+        this.$refs.multipleTable.clearSelection()
120
+      },
121
+      getValue: function() {
122
+        const obj = {
123
+          selectedGoodInfo: this.multipleSelection,
124
+          goodTypeId: this.currentGoodTypeId
193 125
         }
194
-
195
-
196
-        return form
197
-      }, goodTypeSelect: function (id) {
198
-
126
+        return obj
127
+      }, goodTypeSelect: function(id) {
199 128
         this.tempGoodInfo = []
129
+        this.goodInfo = []
200 130
         for (let i = 0; i < this.propForm.goodInfo.length; i++) {
201 131
           if (this.propForm.goodInfo[i].good_type_id == id) {
202 132
             this.tempGoodInfo.push(this.propForm.goodInfo[i])
203 133
           }
204 134
         }
205
-      }, goodInfoSelect: function (id) {
206
-        let index = 0;
135
+      }, goodInfoSelect: function(id) {
136
+        let index = 0
207 137
         for (let i = 0; i < this.propForm.goodInfo.length; i++) {
208 138
           if (this.propForm.goodInfo[i].id == id) {
209 139
             index = i
210 140
           }
211 141
         }
212 142
         this.form.good_type_id = this.propForm.goodInfo[index].good_type_id
213
-      }
214
-    },
215
-    watch: {
216
-      visibility(val) {
217
-        this.form = this.propForm.formValue
218
-        this.tempGoodInfo = this.propForm.goodInfo
219
-        this.tempGoodType = this.propForm.goodType
220
-        if(!val) {
221
-          this.form.good_type_id = ''
222
-          this.form.good_id = ''
223
-          this.form.number = ''
224
-          this.form.product_date = ''
225
-          this.form.expiry_date = ''
226
-          this.form.warehousing_count = ''
227
-          this.form.product_date = ''
228
-          this.form.price = ''
229
-          this.form.remark = ''
230
-
143
+      }, getName: function(id) {
144
+        if (id == 0) {
145
+          return ''
231 146
         }
232
-        !val && setTimeout(() => {
233
-          this.$refs['form'].resetFields();
234
-
235 147
 
236
-        }, 0);
148
+        for (let i = 0; i < this.propForm.goodUnit.length; i++) {
149
+          if (this.propForm.goodUnit[i].id == id) {
150
+            return this.propForm.goodUnit[i].name
151
+          }
152
+        }
153
+      }, search: function() {
154
+        if (this.keywords.length <= 0) {
155
+          this.$message.error('搜索关键字不能为空')
156
+          return
157
+        }
158
+        const searchArr = []
159
+        for (let i = 0; i < this.goodInfoTableData.length; i++) {
160
+          if (this.goodInfoTableData[i].specification_name.indexOf(this.keywords) != -1) {
161
+            searchArr.push(this.goodInfoTableData[i])
162
+          }
163
+        }
164
+        this.goodInfoTableData = []
165
+        for (let i = 0; i < searchArr.length; i++) {
166
+          this.goodInfoTableData.push(searchArr[i])
167
+        }
168
+      }, changeGoodInfoTableData: function(val) {
169
+        this.multipleSelection = val
170
+      }, changeAllGoodInfoTableData: function(val) {
171
+        this.multipleSelection = val
237 172
       }
238 173
     }
239 174
   }

+ 23 - 14
src/xt_pages/stock/addStockIn.vue View File

@@ -72,20 +72,29 @@
72 72
           </el-table-column>
73 73
           <el-table-column label="操作" align="center" min-width="70">
74 74
             <template slot-scope="scope">
75
-              <el-button
76
-                size="mini"
77
-                @click="handleEdit(scope.$index, scope.row)">编辑
78
-              </el-button>
79
-              <el-button
80
-                size="mini"
81
-                type="danger"
82
-                @click="handleDelete(scope.$index, scope.row)">删除
83
-              </el-button>
84
-              <el-button
85
-                size="mini"
86
-                type="primary"
87
-                @click="showDetails(scope.$index, scope.row)">查看详情
88
-              </el-button>
75
+              <el-tooltip class="item" effect="dark" content="添加" placement="top">
76
+                <el-button
77
+                  size="small"
78
+                  icon="el-icon-circle-plus-outline"
79
+                  @click="handleEdit(scope.$index, scope.row)">
80
+                </el-button>
81
+              </el-tooltip>
82
+              <el-tooltip class="item" effect="dark" content="删除" placement="top">
83
+                <el-button
84
+                  size="small"
85
+                  icon="el-icon-delete"
86
+                  type="danger"
87
+                  @click="handleDelete(scope.$index, scope.row)">
88
+                </el-button>
89
+              </el-tooltip>
90
+              <el-tooltip class="item" effect="dark" content="查看详情" placement="top">
91
+                <el-button
92
+                  size="small"
93
+                  icon="el-icon-document"
94
+                  type="primary"
95
+                  @click="showDetails(scope.$index, scope.row)">
96
+                </el-button>
97
+              </el-tooltip>
89 98
             </template>
90 99
           </el-table-column>
91 100
         </el-table>

+ 23 - 14
src/xt_pages/stock/addStockOut.vue View File

@@ -61,20 +61,29 @@
61 61
           </el-table-column>
62 62
           <el-table-column label="操作" align="center" min-width="70">
63 63
             <template slot-scope="scope">
64
-              <el-button
65
-                size="mini"
66
-                @click="handleEdit(scope.$index, scope.row)">编辑
67
-              </el-button>
68
-              <el-button
69
-                size="mini"
70
-                type="danger"
71
-                @click="handleDelete(scope.$index, scope.row)">删除
72
-              </el-button>
73
-              <el-button
74
-                size="mini"
75
-                type="primary"
76
-                @click="showDetails(scope.$index, scope.row)">查看详情
77
-              </el-button>
64
+              <el-tooltip class="item" effect="dark" content="添加" placement="top">
65
+                <el-button
66
+                  size="small"
67
+                  icon="el-icon-circle-plus-outline"
68
+                  @click="handleEdit(scope.$index, scope.row)">
69
+                </el-button>
70
+              </el-tooltip>
71
+              <el-tooltip class="item" effect="dark" content="删除" placement="top">
72
+                <el-button
73
+                  size="small"
74
+                  icon="el-icon-delete"
75
+                  type="danger"
76
+                  @click="handleDelete(scope.$index, scope.row)">
77
+                </el-button>
78
+              </el-tooltip>
79
+              <el-tooltip class="item" effect="dark" content="查看详情" placement="top">
80
+                <el-button
81
+                  size="small"
82
+                  icon="el-icon-document"
83
+                  type="primary"
84
+                  @click="showDetails(scope.$index, scope.row)">
85
+                </el-button>
86
+              </el-tooltip>
78 87
             </template>
79 88
           </el-table-column>
80 89
         </el-table>

+ 8 - 6
src/xt_pages/stock/cancelStock.vue View File

@@ -62,12 +62,14 @@
62 62
 
63 63
           <el-table-column label="操作" align="center" min-width="30">
64 64
             <template slot-scope="scope">
65
-              <el-button
66
-                size="mini"
67
-                type="danger"
68
-                @click="handleDelete(scope.$index, scope.row)">删除
69
-              </el-button>
70
-
65
+              <el-tooltip class="item" effect="dark" content="删除" placement="top">
66
+                <el-button
67
+                  size="small"
68
+                  type="danger"
69
+                  icon="el-icon-delete"
70
+                  @click="handleDelete(scope.$index, scope.row)">
71
+                </el-button>
72
+              </el-tooltip>
71 73
             </template>
72 74
           </el-table-column>
73 75
         </el-table>

+ 123 - 118
src/xt_pages/stock/cancelStockOrder.vue View File

@@ -1,131 +1,132 @@
1 1
 <template>
2 2
 
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-
6
-    <div class="filter-container">
7
-
8
-
9
-      <el-row style="float:right;">
10
-        <el-button @click="AddNewOrder" type="primary">新增</el-button>
11
-      </el-row>
3
+  <div class="main-contain">
4
+    <div class="position">
5
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
6
+      <el-button size="small" @click="AddNewOrder" class="filter-item" style="float:right;" type="primary"
7
+                 icon="el-icon-circle-plus-outline">新增
8
+      </el-button>
12 9
     </div>
13 10
 
14
-    <div class="filter-container" style="margin-top:20px">
15
-      <el-input style="width: 300px;" class="filter-item" placeholder="单据日期/单据编码/制单人/供应商"/>
16
-      <el-button class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
17
-    </div>
18
-
19
-    <div class="filter-container">
20
-      <span>入库时间:</span>
21
-      <el-date-picker v-model="start_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
22
-                      type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
23
-                      value-format="yyyy-MM-dd" @change="startTimeChange"></el-date-picker>
24
-      <span class="">-</span>
25
-      <el-date-picker v-model="end_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
26
-                      type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
27
-                      value-format="yyyy-MM-dd" @change="endTimeChange"></el-date-picker>
28
-    </div>
29
-
30
-    <div class="filter-container" style="margin-top: 10px">
31
-      <el-checkbox style="width: 30px" v-model="checked" @change="changeAllSelected">全选</el-checkbox>
32
-      <el-button size="small" icon="el-icon-delete" @click="batchDelete">删除</el-button>
11
+    <div class="app-container">
12
+
13
+
14
+      <div class="cell" style="margin-top:20px">
15
+        <el-input style="width: 300px;" class="filter-item" placeholder="单据日期/单据编码/制单人/供应商"/>
16
+        <el-button class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
17
+      </div>
18
+
19
+      <div class="cell">
20
+        <span>出库退库时间:&nbsp;&nbsp;</span>
21
+        <el-date-picker v-model="start_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
22
+                        type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
23
+                        value-format="yyyy-MM-dd" @change="startTimeChange"></el-date-picker>
24
+        <span class="">-</span>
25
+        <el-date-picker v-model="end_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
26
+                        type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
27
+                        value-format="yyyy-MM-dd" @change="endTimeChange"></el-date-picker>
28
+      </div>
29
+
30
+      <div class="filter-container" style="margin-top: 10px">
31
+        <el-checkbox style="width: 30px" v-model="checked" @change="changeAllSelected">全选</el-checkbox>
32
+        <el-button size="small" icon="el-icon-delete" @click="batchDelete">删除</el-button>
33
+
34
+      </div>
35
+
36
+      <el-row :gutter="12" style="margin-top: 10px">
37
+        <el-table
38
+          :data="cancelStockDate"
39
+          :class="signAndWeighBoxPatients"
40
+          style="width: 100%" border
41
+          highlight-current-row
42
+          ref="multipleTable"
43
+          @selection-change="select"
44
+          :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}"
45
+
46
+        >
47
+          <el-table-column
48
+            type="selection"
49
+            width="55">
50
+          </el-table-column>
51
+
52
+          <el-table-column label="单据日期" align="center">
53
+            <template slot-scope="scope">
54
+              {{ scope.row.return_time | parseTime('{y}-{m}-{d}')}}
55
+            </template>
56
+          </el-table-column>
57
+
58
+          <el-table-column label="单据编号" align="center">
59
+            <template slot-scope="scope">
60
+              {{scope.row.order_number}}
61
+            </template>
62
+          </el-table-column>
63
+
64
+          <el-table-column label="制单人" align="center">
65
+            <template slot-scope="scope">
66
+              {{getXuserName(scope.row.creater)}}
67
+            </template>
68
+          </el-table-column>
69
+
70
+
71
+          <el-table-column label="厂家" align="center">
72
+            <template slot-scope="scope">
73
+              {{getManufactuerName(scope.row.manufacturer)}}
74
+            </template>
75
+          </el-table-column>
76
+
77
+          <el-table-column label="经销商" align="center">
78
+            <template slot-scope="scope">
79
+              {{getDealerName(scope.row.dealer)}}
80
+            </template>
81
+          </el-table-column>
82
+
83
+          <el-table-column label="操作" align="center">
84
+            <template slot-scope="scope">
85
+
86
+              <el-button
87
+                size="mini"
88
+                type="primary"
89
+                icon="el-icon-edit"
90
+                @click="handleEdit(scope.$index, scope.row)">
91
+              </el-button>
92
+
93
+              <el-button
94
+                size="mini"
95
+                type="danger"
96
+                icon="el-icon-delete"
97
+                @click="handleDelete(scope.$index, scope.row)">
98
+              </el-button>
99
+
100
+            </template>
101
+          </el-table-column>
102
+
103
+        </el-table>
104
+
105
+        <el-pagination
106
+          @size-change="handleSizeChange"
107
+          @current-change="handleCurrentChange"
108
+          :page-sizes="[7]"
109
+          :page-size="7"
110
+          background
111
+          style="margin-top:20px;float: right"
112
+          layout="total, sizes, prev, pager, next, jumper"
113
+          :total="total">
114
+        </el-pagination>
33 115
 
116
+      </el-row>
34 117
     </div>
35
-
36
-    <el-row :gutter="12" style="margin-top: 10px">
37
-      <el-table
38
-        :data="cancelStockDate"
39
-        :class="signAndWeighBoxPatients"
40
-        style="width: 100%" border
41
-        highlight-current-row
42
-        ref="multipleTable"
43
-        @selection-change="select"
44
-
45
-      >
46
-        <el-table-column
47
-          type="selection"
48
-          width="55">
49
-        </el-table-column>
50
-
51
-        <el-table-column label="单据日期" align="center">
52
-          <template slot-scope="scope">
53
-            {{ scope.row.return_time | parseTime('{y}-{m}-{d}')}}
54
-          </template>
55
-        </el-table-column>
56
-
57
-        <el-table-column label="单据编号" align="center">
58
-          <template slot-scope="scope">
59
-            {{scope.row.order_number}}
60
-          </template>
61
-        </el-table-column>
62
-
63
-        <el-table-column label="制单人" align="center">
64
-          <template slot-scope="scope">
65
-            {{getXuserName(scope.row.creater)}}
66
-          </template>
67
-        </el-table-column>
68
-
69
-
70
-        <el-table-column label="厂家" align="center">
71
-          <template slot-scope="scope">
72
-            {{getManufactuerName(scope.row.manufacturer)}}
73
-          </template>
74
-        </el-table-column>
75
-
76
-        <el-table-column label="经销商" align="center">
77
-          <template slot-scope="scope">
78
-            {{getDealerName(scope.row.dealer)}}
79
-          </template>
80
-        </el-table-column>
81
-
82
-        <el-table-column label="操作" align="center">
83
-          <template slot-scope="scope">
84
-            <el-button
85
-              size="mini"
86
-              type="primary"
87
-              icon="el-icon-edit"
88
-              @click="handleEdit(scope.$index, scope.row)">
89
-            </el-button>
90
-
91
-            <el-button
92
-              size="mini"
93
-              type="danger"
94
-              icon="el-icon-delete"
95
-              @click="handleDelete(scope.$index, scope.row)">
96
-            </el-button>
97
-
98
-          </template>
99
-        </el-table-column>
100
-
101
-      </el-table>
102
-
103
-      <el-pagination
104
-        @size-change="handleSizeChange"
105
-        @current-change="handleCurrentChange"
106
-        :page-sizes="[7]"
107
-        :page-size="7"
108
-        background
109
-        style="margin-top:20px;float: right"
110
-        layout="total, sizes, prev, pager, next, jumper"
111
-        :total="total">
112
-      </el-pagination>
113
-
114
-    </el-row>
115 118
   </div>
116 119
 </template>
117 120
 
118 121
 <script>
119 122
   import { uParseTime } from '@/utils/tools'
120 123
   import { fetchAllAdminUsers, fetchAllDoctorAndNurse } from '@/api/doctor'
121
-  import {
122
-    deleteCancelStock,
123
-    GetAllConfig,
124
-    getCancelStockList,
125
-  } from '@/api/stock'
124
+  import { deleteCancelStock, GetAllConfig, getCancelStockList } from '@/api/stock'
125
+  import BreadCrumb from '../components/bread-crumb'
126 126
 
127 127
   export default {
128 128
     name: 'salesReturnOrder',
129
+    components: { BreadCrumb },
129 130
     created() {
130 131
       var year = new Date().getFullYear()
131 132
       var month = new Date().getMonth() + 1
@@ -156,7 +157,11 @@
156 157
     },
157 158
     data() {
158 159
       return {
159
-        type:1,
160
+        crumbs: [
161
+          { path: false, name: '库存管理' },
162
+          { path: '/stock/cancel', name: '出库退库单' }
163
+        ],
164
+        type: 1,
160 165
         page: 1,
161 166
         limit: 7,
162 167
         checked: false,
@@ -173,13 +178,13 @@
173 178
         goodInfo: [],
174 179
         manufacturer: [],
175 180
         selectedTableData: [],
176
-        dealer: [],
181
+        dealer: []
177 182
 
178 183
       }
179 184
     },
180 185
     methods: {
181
-      AddNewOrder:function(){
182
-        this.$router.push({ name: 'cancelStockOrderAdd'})
186
+      AddNewOrder: function() {
187
+        this.$router.push({ name: 'cancelStockOrderAdd', query: { type: this.type }})
183 188
       },
184 189
       GetCancelStock: function() {
185 190
         const Params = {
@@ -187,7 +192,7 @@
187 192
           limit: this.limit,
188 193
           start_time: this.start_time,
189 194
           end_time: this.end_time,
190
-          type: this.type,
195
+          type: this.type
191 196
         }
192 197
         this.cancelStockDate = []
193 198
         getCancelStockList(Params).then(response => {

+ 49 - 51
src/xt_pages/stock/cancelStockOrderAdd.vue View File

@@ -1,6 +1,10 @@
1 1
 <template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+    </div>
2 6
 
3
-  <div class="app-container sign-and-weigh-box">
7
+  <div class="app-container">
4 8
 
5 9
     <sales-return-dialog :propForm="propForm"
6 10
                          :visibility="isVisibility"
@@ -11,13 +15,11 @@
11 15
 
12 16
       <el-row>
13 17
         <el-col :span="8"><div>
14
-          <span>退时间:</span>
18
+          <span>退时间:</span>
15 19
           <el-date-picker v-model="return_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
16 20
                           type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
17 21
                           value-format="yyyy-MM-dd"></el-date-picker>
18 22
         </div></el-col>
19
-
20
-
21 23
         <el-col :span="8">
22 24
           <div>
23 25
             <el-form ref="form" :model="form" :rules="ruleForm" label-width="80px">
@@ -54,11 +56,13 @@
54 56
             <el-table-column label="操作" align="center" min-width="30">
55 57
               <template slot-scope="scope">
56 58
                 <el-button
57
-                  size="mini"
59
+                  size="small"
60
+                  icon="el-icon-edit-outline"
58 61
                   @click="handleEdit(scope.$index, scope.row)">+
59 62
                 </el-button>
60 63
                 <el-button
61
-                  size="mini"
64
+                  size="small"
65
+                  icon="el-icon-delete"
62 66
                   type="danger"
63 67
                   @click="handleDelete(scope.$index, scope.row)">-
64 68
                 </el-button>
@@ -86,34 +90,26 @@
86 90
                 <span>规格名称<span style="color: red">*</span></span>
87 91
               </template>
88 92
               <template slot-scope="scope">
89
-
90 93
                 <el-form-item  style="padding-top: 15px">
91 94
                   <el-input placeholder="请输入规格名称"  v-model="scope.row.good_id" :value="specificationName(scope.row.good_id)" @focus="showDialog(scope.$index, scope.row)" ></el-input>
92 95
                 </el-form-item>
93
-
94 96
               </template>
95 97
             </el-table-column>
96 98
 
97
-
98 99
             <el-table-column  min-width="23" align="center">
99 100
               <template slot="header" slot-scope="scope">
100 101
                 <span>退库数量<span style="color: red">*</span></span>
101 102
               </template>
102 103
               <template slot-scope="scope">
103
-                <!--{{scope.row.warehousing_count}}-->
104
-                <!--<el-input type="number" v-model="scope.row.warehousing_count"   @blur="handleBlur(scope.$index, scope.row)"></el-input>-->
105
-
106 104
                 <el-form-item :prop="'recordData.' + scope.$index + '.return_count'" :rules='tableRules.return_count' style="padding-top: 17px">
107 105
                   <el-input type="number"  v-model="scope.row.return_count" ></el-input>
108 106
                 </el-form-item>
109 107
               </template>
110 108
             </el-table-column>
111
-
112 109
           </el-table>
113 110
         </el-form>
114 111
       </el-col>
115 112
 
116
-
117 113
       <span  class="dialog-footer" style="margin-top: 20px;float:right">
118 114
         <el-button @click="back()">取 消</el-button>
119 115
         <el-button type="primary" @click="submit()">确 定</el-button>
@@ -121,33 +117,41 @@
121 117
 
122 118
     </el-row>
123 119
   </div>
120
+  </div>
124 121
 </template>
125 122
 
126 123
 <script>
127 124
   import { uParseTime } from '@/utils/tools'
128 125
   import {
129 126
     getCancelStockConfig,
130
-    postCancelStock,
127
+    postCancelStock
131 128
   } from '@/api/stock'
132 129
   import SalesReturnDialog from './Dialog/salesReturnDialog'
130
+  import BreadCrumb from '../components/bread-crumb'
133 131
 
134 132
   export default {
135
-    components: { SalesReturnDialog},
133
+    components: { BreadCrumb, SalesReturnDialog },
136 134
     name: 'salesReturnOrderAdd',
137 135
 
138 136
     data() {
139 137
       return {
140
-        type:2,
138
+        crumbs: [
139
+          { path: false, name: '库存管理' },
140
+          { path: '/stock/return', name: '退库单' },
141
+          { path: '/stock/return/add', name: '新增退库单' }
142
+        ],
143
+
144
+        type: this.$route.query.type,
141 145
         signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
142 146
         return_time: '',
143 147
         currentIndex: 0,
144 148
         recordInfo: {
145
-          recordData: [],
149
+          recordData: []
146 150
         },
147 151
         tableRules: {
148 152
           return_count: [
149 153
             { required: true, message: '数量不能为空', trigge: 'blur' }
150
-          ],
154
+          ]
151 155
         },
152 156
         ruleForm: {
153 157
           manufacturer: [
@@ -160,7 +164,7 @@
160 164
         propForm: {
161 165
           goodType: [],
162 166
           goodInfo: [],
163
-          goodUnit: [],
167
+          goodUnit: []
164 168
         },
165 169
         form: {
166 170
           manufacturer: '',
@@ -194,38 +198,39 @@
194 198
       }, cancle: function() {
195 199
         this.isVisibility = false
196 200
       }, GetConfigInfo: function() {
197
-        getCancelStockConfig().then(response => {
201
+        const params = {
202
+          type: this.$route.query.type
203
+        }
204
+        getCancelStockConfig(params).then(response => {
198 205
           if (response.data.state == 0) {
199 206
             this.$message.error(response.data.msg)
200 207
             return false
201 208
           } else {
202
-            var warehouseOutList =  response.data.data.warehouseOutList
203
-            var warehouseOutInfoList =  response.data.data.warehouseOutInfoList
204
-            for (let i = 0; i <warehouseOutList.length; i++ ){
205
-              if(warehouseOutList[i].Manufacturer.id > 0){
209
+            var warehouseOutList = response.data.data.warehouseOutList
210
+            var warehouseOutInfoList = response.data.data.warehouseOutInfoList
211
+            for (let i = 0; i < warehouseOutList.length; i++) {
212
+              if (warehouseOutList[i].Manufacturer.id > 0) {
206 213
                 this.manufacturer.push(warehouseOutList[i].Manufacturer)
207 214
               }
208
-              if(warehouseOutList[i].Dealer.id > 0){
215
+              if (warehouseOutList[i].Dealer.id > 0) {
209 216
                 this.dealer.push(warehouseOutList[i].Dealer)
210 217
               }
211 218
             }
212 219
 
213 220
             for (let i = 0; i < warehouseOutInfoList.length; i++) {
214 221
               this.propForm.goodInfo.push(warehouseOutInfoList[i].GoodInfo)
215
-
216 222
             }
217 223
 
218
-
219 224
             const obj = {}
220 225
             const obj2 = {}
221 226
             const obj4 = {}
222
-            //去重复
223
-            this.manufacturer =  this.manufacturer.reduce((cur, next) => {
227
+            // 去重复
228
+            this.manufacturer = this.manufacturer.reduce((cur, next) => {
224 229
               obj[next.id] ? '' : obj[next.id] = true && cur.push(next)
225 230
               return cur
226 231
             }, [])
227
-            //去重复
228
-            this.dealer =  this.dealer.reduce((cur, next) => {
232
+            // 去重复
233
+            this.dealer = this.dealer.reduce((cur, next) => {
229 234
               obj2[next.id] ? '' : obj2[next.id] = true && cur.push(next)
230 235
               return cur
231 236
             }, [])
@@ -233,8 +238,6 @@
233 238
               obj4[next.id] ? '' : obj4[next.id] = true && cur.push(next)
234 239
               return cur
235 240
             }, [])
236
-
237
-
238 241
           }
239 242
         })
240 243
       }, typeName: function(good_type_id) {
@@ -262,7 +265,6 @@
262 265
       }, handleDelete: function(index, row) {
263 266
         this.recordInfo.recordData.splice(index, 1)
264 267
       }, calculate: function(val) {
265
-
266 268
         if (val == 0) {
267 269
           return ''
268 270
         }
@@ -282,20 +284,16 @@
282 284
         } else {
283 285
           this.isVisibility = true
284 286
           console.log(this.form.manufacturer)
285
-          for (let i = 0; i < this.propForm.goodInfo.length; i++){
286
-            if(this.propForm.goodInfo[i].manufacturer == this.form.manufacturer){
287
+          for (let i = 0; i < this.propForm.goodInfo.length; i++) {
288
+            if (this.propForm.goodInfo[i].manufacturer == this.form.manufacturer) {
287 289
               this.propForm.goodType.push(this.propForm.goodInfo[i].GoodsType)
288 290
             }
289
-
290 291
           }
291 292
           const obj3 = {}
292 293
           this.propForm.goodType = this.propForm.goodType.reduce((cur, next) => {
293 294
             obj3[next.id] ? '' : obj3[next.id] = true && cur.push(next)
294 295
             return cur
295 296
           }, [])
296
-
297
-
298
-
299 297
         }
300 298
       }, back() {
301 299
         this.$router.go(-1)
@@ -322,21 +320,21 @@
322 320
             const params = {
323 321
               'cancelStock': this.recordInfo.recordData
324 322
             }
325
-            postCancelStock(params,this.return_time,this.form.manufacturer,this.form.dealer,this.type).then(response=>{
326
-              if (response.data.state==0) {
327
-                this.$message.error(response.data.msg);
328
-                return false;
329
-              }else {
323
+            postCancelStock(params, this.return_time, this.form.manufacturer, this.form.dealer, this.type).then(response => {
324
+              if (response.data.state == 0) {
325
+                this.$message.error(response.data.msg)
326
+                return false
327
+              } else {
330 328
                 this.$notify({
331
-                  title: "成功",
332
-                  message: "退货成功",
333
-                  type: "success",
329
+                  title: '成功',
330
+                  message: '退货成功',
331
+                  type: 'success',
334 332
                   duration: 2000
335
-                });
333
+                })
336 334
                 this.recordInfo.recordData = []
337 335
                 this.$router.back(-1)
338 336
               }
339
-            });
337
+            })
340 338
           } else {
341 339
             return false
342 340
           }

+ 20 - 8
src/xt_pages/stock/cancelStockOrderDetail.vue View File

@@ -1,9 +1,12 @@
1 1
 <template>
2
-
3
-  <div class="app-container sign-and-weigh-box">
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+    </div>
6
+  <div class="app-container">
4 7
 
5 8
     <div class="filter-container">
6
-      <span style="font-size: 20px">退货单详情</span>
9
+      <span style="font-size: 20px">退单详情</span>
7 10
       <el-row style="float:right;">
8 11
         <span>{{CancelStockInfo.cancelStock.order_number}}</span>
9 12
       </el-row>
@@ -11,10 +14,10 @@
11 14
 
12 15
 
13 16
 
14
-    <div class="filter-container">
15
-      <span>单据日期:  {{CancelStockInfo.cancelStock.return_time | parseTime('{y}-{m}-{d}')}} </span>
16
-      <span>厂商 {{getManufactuerName(CancelStockInfo.cancelStock.manufacturer)}}</span>
17
-      <span>经销商 {{getDealerName(CancelStockInfo.cancelStock.dealer)}}</span>
17
+    <div class="cell">
18
+      <span style="width: 300px">单据日期:  {{CancelStockInfo.cancelStock.return_time | parseTime('{y}-{m}-{d}')}} </span>
19
+      <span style="width: 300px">厂商 {{getManufactuerName(CancelStockInfo.cancelStock.manufacturer)}}</span>
20
+      <span style="width: 300px">经销商 {{getDealerName(CancelStockInfo.cancelStock.dealer)}}</span>
18 21
     </div>
19 22
 
20 23
     <div class="filter-container" style="margin-top: 10px">
@@ -57,14 +60,18 @@
57 60
       </el-table>
58 61
     </el-row>
59 62
   </div>
63
+  </div>
64
+
60 65
 </template>
61 66
 
62 67
 <script>
63 68
   import { uParseTime } from '@/utils/tools'
64
-  import { GetAllConfig,getCancelStockInfo,deleteCancelStock } from '@/api/stock'
69
+  import { GetAllConfig, getCancelStockInfo, deleteCancelStock } from '@/api/stock'
70
+  import BreadCrumb from '../components/bread-crumb'
65 71
 
66 72
   export default {
67 73
     name: 'cancelStockOrderDetail',
74
+    components: { BreadCrumb },
68 75
     created() {
69 76
       const order_id = this.$route.query.id
70 77
       this.GetConfigInfo()
@@ -72,6 +79,11 @@
72 79
     },
73 80
     data() {
74 81
       return {
82
+        crumbs: [
83
+          { path: false, name: '库存管理' },
84
+          { path: '/stock/cancel', name: '退库单' },
85
+          { path: '/stock/cancel/add', name: '退库单详情' }
86
+        ],
75 87
         isEdit: 0,
76 88
         checked: false,
77 89
         signAndWeighBoxPatients: 'sign-and-weigh-box-patients',

+ 106 - 101
src/xt_pages/stock/cancelStockOrderEdit.vue View File

@@ -1,121 +1,125 @@
1 1
 <template>
2
-
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-    <sales-return-dialog :propForm="propForm"
6
-                         :visibility="isVisibility"
7
-                         v-on:dialog-comfirm="comfirm"
8
-                         v-on:dialog-cancle="cancle"></sales-return-dialog>
9
-
10
-    <div class="filter-container">
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+    </div>
6
+    <div class="app-container">
7
+      <sales-return-dialog :propForm="propForm"
8
+                           :visibility="isVisibility"
9
+                           v-on:dialog-comfirm="comfirm"
10
+                           v-on:dialog-cancle="cancle"></sales-return-dialog>
11
+
12
+      <div class="filter-container">
13
+
14
+        <el-row>
15
+          <el-col :span="8">
16
+            <div>
17
+              <span>退库时间:</span>
18
+              <el-date-picker v-model="return_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
19
+                              type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
20
+                              value-format="yyyy-MM-dd"></el-date-picker>
21
+            </div>
22
+          </el-col>
23
+        </el-row>
24
+      </div>
11 25
 
12 26
       <el-row>
13
-        <el-col :span="8">
14
-          <div>
15
-            <span>入库时间:</span>
16
-            <el-date-picker v-model="return_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
17
-                            type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
18
-                            value-format="yyyy-MM-dd"></el-date-picker>
19
-          </div>
27
+        <el-col>
28
+          <el-form :rules="tableRules" :model="recordInfo" ref="tableForm">
29
+            <el-table :data="recordInfo.recordData" :class="signAndWeighBoxPatients" style="width: 100%" border
30
+                      max-height="450"
31
+            >
32
+
33
+              <el-table-column label="操作" align="center" min-width="30">
34
+                <template slot-scope="scope">
35
+                  <el-button
36
+                    size="mini"
37
+                    @click="handleEdit(scope.$index, scope.row)">+
38
+                  </el-button>
39
+                  <el-button
40
+                    size="mini"
41
+                    type="danger"
42
+                    @click="handleDelete(scope.$index, scope.row)">-
43
+                  </el-button>
44
+                </template>
45
+              </el-table-column>
46
+
47
+              <el-table-column min-width="35" align="center">
48
+
49
+                <template slot="header" slot-scope="scope">
50
+                  <span>物品类型<span style="color: red">*</span></span>
51
+                </template>
52
+
53
+                <template slot-scope="scope">
54
+                  <el-form-item style="padding-top: 15px">
55
+                    <el-input placeholder="请输入物品类型" v-model="scope.row.good_type_id"
56
+                              :value="typeName(scope.row.good_type_id)"
57
+                              @focus="showDialog(scope.$index, scope.row)"></el-input>
58
+                  </el-form-item>
59
+                </template>
60
+              </el-table-column>
61
+              <el-table-column min-width="35" align="center">
62
+                <template slot="header" slot-scope="scope">
63
+                  <span>规格名称<span style="color: red">*</span></span>
64
+                </template>
65
+                <template slot-scope="scope">
66
+
67
+                  <el-form-item style="padding-top: 15px">
68
+                    <el-input placeholder="请输入规格名称" v-model="scope.row.good_id"
69
+                              :value="specificationName(scope.row.good_id)"
70
+                              @focus="showDialog(scope.$index, scope.row)"></el-input>
71
+                  </el-form-item>
72
+
73
+                </template>
74
+              </el-table-column>
75
+
76
+
77
+              <el-table-column min-width="23" align="center">
78
+                <template slot="header" slot-scope="scope">
79
+                  <span>退货数量<span style="color: red">*</span></span>
80
+                </template>
81
+                <template slot-scope="scope">
82
+                  <el-form-item :prop="'recordData.' + scope.$index + '.count'" :rules='tableRules.count'
83
+                                style="padding-top: 17px">
84
+                    <el-input type="number" v-model="scope.row.count"></el-input>
85
+                  </el-form-item>
86
+                </template>
87
+              </el-table-column>
88
+
89
+
90
+            </el-table>
91
+          </el-form>
20 92
         </el-col>
21
-      </el-row>
22
-    </div>
23 93
 
24
-    <el-row>
25
-      <el-col>
26
-        <el-form :rules="tableRules" :model="recordInfo" ref="tableForm">
27
-          <el-table :data="recordInfo.recordData" :class="signAndWeighBoxPatients" style="width: 100%" border
28
-                    max-height="450"
29
-          >
30
-
31
-            <el-table-column label="操作" align="center" min-width="30">
32
-              <template slot-scope="scope">
33
-                <el-button
34
-                  size="mini"
35
-                  @click="handleEdit(scope.$index, scope.row)">+
36
-                </el-button>
37
-                <el-button
38
-                  size="mini"
39
-                  type="danger"
40
-                  @click="handleDelete(scope.$index, scope.row)">-
41
-                </el-button>
42
-              </template>
43
-            </el-table-column>
44
-
45
-            <el-table-column min-width="35" align="center">
46
-
47
-              <template slot="header" slot-scope="scope">
48
-                <span>物品类型<span style="color: red">*</span></span>
49
-              </template>
50
-
51
-              <template slot-scope="scope">
52
-                <el-form-item style="padding-top: 15px">
53
-                  <el-input placeholder="请输入物品类型" v-model="scope.row.good_type_id"
54
-                            :value="typeName(scope.row.good_type_id)"
55
-                            @focus="showDialog(scope.$index, scope.row)"></el-input>
56
-                </el-form-item>
57
-              </template>
58
-            </el-table-column>
59
-            <el-table-column min-width="35" align="center">
60
-              <template slot="header" slot-scope="scope">
61
-                <span>规格名称<span style="color: red">*</span></span>
62
-              </template>
63
-              <template slot-scope="scope">
64
-
65
-                <el-form-item style="padding-top: 15px">
66
-                  <el-input placeholder="请输入规格名称" v-model="scope.row.good_id"
67
-                            :value="specificationName(scope.row.good_id)"
68
-                            @focus="showDialog(scope.$index, scope.row)"></el-input>
69
-                </el-form-item>
70
-
71
-              </template>
72
-            </el-table-column>
73
-
74
-
75
-            <el-table-column min-width="23" align="center">
76
-              <template slot="header" slot-scope="scope">
77
-                <span>退货数量<span style="color: red">*</span></span>
78
-              </template>
79
-              <template slot-scope="scope">
80
-                <el-form-item :prop="'recordData.' + scope.$index + '.count'" :rules='tableRules.count'
81
-                              style="padding-top: 17px">
82
-                  <el-input type="number" v-model="scope.row.count"></el-input>
83
-                </el-form-item>
84
-              </template>
85
-            </el-table-column>
86
-
87
-
88
-          </el-table>
89
-        </el-form>
90
-      </el-col>
91
-
92
-
93
-      <span class="dialog-footer" style="margin-top: 20px;float:right">
94
+
95
+        <span class="dialog-footer" style="margin-top: 20px;float:right">
94 96
         <el-button @click="back()">取 消</el-button>
95 97
         <el-button type="primary" @click="submit()">确 定</el-button>
96 98
       </span>
97
-
98
-    </el-row>
99
+      </el-row>
100
+    </div>
99 101
   </div>
102
+
100 103
 </template>
101 104
 
102 105
 <script>
103 106
   import { uParseTime } from '@/utils/tools'
104 107
 
105
-  import {
106
-    deleteCancelStockInfo,
107
-    getCancelStockInfo,
108
-    getCancelStockConfig,
109
-    editCancelStockInfo
110
-  } from '@/api/stock'
108
+  import { deleteCancelStockInfo, editCancelStockInfo, getCancelStockConfig, getCancelStockInfo } from '@/api/stock'
111 109
   import SalesReturnDialog from './Dialog/salesReturnDialog'
110
+  import BreadCrumb from '../components/bread-crumb'
112 111
 
113 112
   export default {
114
-    components: { SalesReturnDialog },
113
+    components: { BreadCrumb, SalesReturnDialog },
115 114
     name: 'cancelStockOrderEdit',
116 115
 
117 116
     data() {
118 117
       return {
118
+        crumbs: [
119
+          { path: false, name: '库存管理' },
120
+          { path: '/stock/cancel', name: '退库单' },
121
+          { path: '/stock/cancel/detail', name: '编辑退库单' }
122
+        ],
119 123
         signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
120 124
         warehousing_time: '',
121 125
         adminUserOptions: null,
@@ -183,7 +187,10 @@
183 187
       }, cancle: function() {
184 188
         this.isVisibility = false
185 189
       }, GetConfigInfo: function() {
186
-        getCancelStockConfig().then(response => {
190
+        const params = {
191
+          type: this.$route.query.type
192
+        }
193
+        getCancelStockConfig(params).then(response => {
187 194
           if (response.data.state == 0) {
188 195
             this.$message.error(response.data.msg)
189 196
             return false
@@ -192,7 +199,6 @@
192 199
             for (let i = 0; i < warehouseOutInfoList.length; i++) {
193 200
               this.propForm.goodInfo.push(warehouseOutInfoList[i].GoodInfo)
194 201
               this.propForm.goodType.push(warehouseOutInfoList[i].GoodInfo.GoodsType)
195
-
196 202
             }
197 203
             const obj3 = {}
198 204
             const obj4 = {}
@@ -279,7 +285,6 @@
279 285
           obj3[next.id] ? '' : obj3[next.id] = true && cur.push(next)
280 286
           return cur
281 287
         }, [])
282
-
283 288
       }, back() {
284 289
         this.$router.go(-1)
285 290
       }, submit() {
@@ -328,7 +333,7 @@
328 333
             return false
329 334
           } else {
330 335
             for (let i = 0; i < response.data.data.list.length; i++) {
331
-              response.data.data.list[i].count =  response.data.data.list[i].count.toString();
336
+              response.data.data.list[i].count = response.data.data.list[i].count.toString()
332 337
               this.recordInfo.recordData.push(response.data.data.list[i])
333 338
             }
334 339
             this.cancelStock = response.data.data.info

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

@@ -57,7 +57,7 @@
57 57
             <template slot-scope="scope">
58 58
               <el-tooltip class="item" effect="dark" content="编辑" placement="top">
59 59
                 <el-button
60
-                  size="mini"
60
+                  size="small"
61 61
                   type="primary"
62 62
                   icon="el-icon-edit-outline"
63 63
                   @click="handleEdit(scope.$index, scope.row)">
@@ -65,7 +65,7 @@
65 65
               </el-tooltip>
66 66
               <el-tooltip class="item" effect="dark" content="删除" placement="top">
67 67
                 <el-button
68
-                  size="mini"
68
+                  size="small"
69 69
                   type="danger"
70 70
                   icon="el-icon-delete"
71 71
                   @click="handleDelete(scope.$index, scope.row)">

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

@@ -57,7 +57,7 @@
57 57
             <template slot-scope="scope">
58 58
               <el-tooltip class="item" effect="dark" content="编辑" placement="top">
59 59
                 <el-button
60
-                  size="mini"
60
+                  size="small"
61 61
                   type="primary"
62 62
                   icon="el-icon-edit-outline"
63 63
                   @click="handleGoodInfoEdit(scope.$index, scope.row)">
@@ -65,7 +65,7 @@
65 65
               </el-tooltip>
66 66
               <el-tooltip class="item" effect="dark" content="删除" placement="top">              
67 67
                 <el-button
68
-                  size="mini"
68
+                  size="small"
69 69
                   type="danger"
70 70
                   icon="el-icon-delete"
71 71
                   @click="handleGoodInfoDelete(scope.$index, scope.row)">

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

@@ -38,7 +38,7 @@
38 38
             <template slot-scope="scope">
39 39
               <el-tooltip class="item" effect="dark" content="编辑" placement="top">
40 40
                 <el-button
41
-                  size="mini"
41
+                  size="small"
42 42
                   type="primary"
43 43
                   icon="el-icon-edit-outline"
44 44
                   @click="handleEdit(scope.$index, scope.row)">
@@ -46,7 +46,7 @@
46 46
               </el-tooltip>
47 47
               <el-tooltip class="item" effect="dark" content="删除" placement="top">
48 48
                 <el-button
49
-                  size="mini"
49
+                  size="small"
50 50
                   type="danger"
51 51
                   icon="el-icon-delete"
52 52
                   @click="handleDelete(scope.$index, scope.row)">

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

@@ -53,7 +53,7 @@
53 53
             <template slot-scope="scope">
54 54
               <el-tooltip class="item" effect="dark" content="编辑" placement="top">
55 55
                 <el-button
56
-                  size="mini"
56
+                  size="small"
57 57
                   type="primary"
58 58
                   icon="el-icon-edit-outline"
59 59
                   @click="handleEdit(scope.$index, scope.row)">
@@ -61,7 +61,7 @@
61 61
               </el-tooltip>
62 62
               <el-tooltip class="item" effect="dark" content="删除" placement="top">              
63 63
                 <el-button
64
-                  size="mini"
64
+                  size="small"
65 65
                   type="danger"
66 66
                   icon="el-icon-delete"
67 67
                   @click="handleDelete(scope.$index, scope.row)">

+ 17 - 26
src/xt_pages/stock/index.vue View File

@@ -1,7 +1,7 @@
1 1
 <template>
2 2
 <div class="main-contain">
3 3
   <div class="position">
4
-    <bread-crumb></bread-crumb>
4
+    <bread-crumb :crumbs='crumbs'></bread-crumb>
5 5
   </div>
6 6
   <div class="app-container">
7 7
     <div class="service-box">
@@ -26,13 +26,13 @@
26 26
 </template>
27 27
 
28 28
 <script>
29
-  import Dealer from "./config/dealer";
30
-  import Manufacturer from "./config/manufacturer";
31
-  import GoodInfo from "./config/goodInfo";
32
-  import GoodType from "./config/goodType";
33
-  import BreadCrumb from "@/xt_pages/components/bread-crumb";
34
-  export default {
35
-    name: "service",
29
+  import Dealer from './config/dealer'
30
+import Manufacturer from './config/manufacturer'
31
+import GoodInfo from './config/goodInfo'
32
+import GoodType from './config/goodType'
33
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
34
+export default {
35
+    name: 'service',
36 36
     components: {
37 37
       GoodType,
38 38
       GoodInfo,
@@ -42,28 +42,19 @@
42 42
     },
43 43
     data() {
44 44
       return {
45
-        activeName: "first"
46
-      };
47
-    },
45
+        crumbs: [
46
+          { path: false, name: '库存管理' },
47
+          { path: '/stock/config', name: '库存配置' }
48
+        ],
49
+        activeName: 'first'
50
+      }
51
+  },
48 52
     methods: {
49 53
       handleClick(tab, event) {
50
-        console.log(tab, event, this.activeName);
51
-
52
-        // switch (this.activeName) {
53
-        //   case "invoice":
54
-        //     this.$router.push("/service/invoice");
55
-        //
56
-        //     break;
57
-        //   case "third":
58
-        //     this.$router.push("/service/recordList");
59
-        //     break;
60
-        //
61
-        //   default:
62
-        //     break;
63
-        // }
54
+        console.log(tab, event, this.activeName)
64 55
       }
65 56
     }
66
-  };
57
+  }
67 58
 </script>
68 59
 
69 60
 

+ 0 - 25
src/xt_pages/stock/otherCancelStockDetail.vue View File

@@ -1,25 +0,0 @@
1
-<template>
2
-  <other-cancel-stock-order-detail v-if="isEdit == 0"   v-on:edit-record="isEdit = 1"></other-cancel-stock-order-detail>
3
-  <other-cancel-stock-order-edit v-else></other-cancel-stock-order-edit>
4
-</template>
5
-
6
-<script>
7
-  import CancelStockOrderDetail from './cancelStockOrderDetail'
8
-  import CancelStockOrderEdit from './cancelStockOrderEdit'
9
-  import OtherCancelStockOrderDetail from './otherCancelStockOrderDetail'
10
-  import OtherCancelStockOrderEdit from './otherCancelStockOrderEdit'
11
-  export default {
12
-    name: 'cancelStockDetail',
13
-    components: { OtherCancelStockOrderEdit, OtherCancelStockOrderDetail },
14
-    data() {
15
-      return {
16
-        isEdit: 0
17
-      }
18
-    },
19
-  }
20
-
21
-</script>
22
-
23
-<style scoped>
24
-
25
-</style>

+ 120 - 117
src/xt_pages/stock/otherCancelStockOrder.vue View File

@@ -1,131 +1,130 @@
1 1
 <template>
2 2
 
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-
6
-    <div class="filter-container">
7
-
8
-
9
-      <el-row style="float:right;">
10
-        <el-button @click="AddNewOrder" type="primary">新增</el-button>
11
-      </el-row>
3
+  <div class="main-contain">
4
+    <div class="position">
5
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
6
+      <el-button size="small" @click="AddNewOrder" class="filter-item" style="float:right;" type="primary"
7
+                 icon="el-icon-circle-plus-outline">新增
8
+      </el-button>
12 9
     </div>
13 10
 
14
-    <div class="filter-container" style="margin-top:20px">
15
-      <el-input style="width: 300px;" class="filter-item" placeholder="单据日期/单据编码/制单人/供应商"/>
16
-      <el-button class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
17
-    </div>
18
-
19
-    <div class="filter-container">
20
-      <span>入库时间:</span>
21
-      <el-date-picker v-model="start_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
22
-                      type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
23
-                      value-format="yyyy-MM-dd" @change="startTimeChange"></el-date-picker>
24
-      <span class="">-</span>
25
-      <el-date-picker v-model="end_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
26
-                      type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
27
-                      value-format="yyyy-MM-dd" @change="endTimeChange"></el-date-picker>
28
-    </div>
29
-
30
-    <div class="filter-container" style="margin-top: 10px">
31
-      <el-checkbox style="width: 30px" v-model="checked" @change="changeAllSelected">全选</el-checkbox>
32
-      <el-button size="small" icon="el-icon-delete" @click="batchDelete">删除</el-button>
11
+    <div class="app-container">
12
+
13
+      <div class="cell" style="margin-top:20px">
14
+        <el-input style="width: 300px;" class="filter-item" placeholder="单据日期/单据编码/制单人/供应商"/>
15
+        <el-button class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
16
+      </div>
17
+
18
+      <div class="cell">
19
+        <span>其他出库退库时间:&nbsp;&nbsp;</span>
20
+        <el-date-picker v-model="start_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
21
+                        type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
22
+                        value-format="yyyy-MM-dd" @change="startTimeChange"></el-date-picker>
23
+        <span class="">-</span>
24
+        <el-date-picker v-model="end_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
25
+                        type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
26
+                        value-format="yyyy-MM-dd" @change="endTimeChange"></el-date-picker>
27
+      </div>
28
+
29
+      <div class="filter-container" style="margin-top: 10px">
30
+        <el-checkbox style="width: 30px" v-model="checked" @change="changeAllSelected">全选</el-checkbox>
31
+        <el-button size="small" icon="el-icon-delete" @click="batchDelete">删除</el-button>
32
+
33
+      </div>
34
+
35
+      <el-row :gutter="12" style="margin-top: 10px">
36
+        <el-table
37
+          :data="cancelStockDate"
38
+          :class="signAndWeighBoxPatients"
39
+          style="width: 100%" border
40
+          highlight-current-row
41
+          ref="multipleTable"
42
+          @selection-change="select"
43
+          :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}"
44
+
45
+        >
46
+          <el-table-column
47
+            type="selection"
48
+            width="55">
49
+          </el-table-column>
50
+
51
+          <el-table-column label="单据日期" align="center">
52
+            <template slot-scope="scope">
53
+              {{ scope.row.return_time | parseTime('{y}-{m}-{d}')}}
54
+            </template>
55
+          </el-table-column>
56
+
57
+          <el-table-column label="单据编号" align="center">
58
+            <template slot-scope="scope">
59
+              {{scope.row.order_number}}
60
+            </template>
61
+          </el-table-column>
62
+
63
+          <el-table-column label="制单人" align="center">
64
+            <template slot-scope="scope">
65
+              {{getXuserName(scope.row.creater)}}
66
+            </template>
67
+          </el-table-column>
68
+
69
+
70
+          <el-table-column label="厂家" align="center">
71
+            <template slot-scope="scope">
72
+              {{getManufactuerName(scope.row.manufacturer)}}
73
+            </template>
74
+          </el-table-column>
75
+
76
+          <el-table-column label="经销商" align="center">
77
+            <template slot-scope="scope">
78
+              {{getDealerName(scope.row.dealer)}}
79
+            </template>
80
+          </el-table-column>
81
+
82
+          <el-table-column label="操作" align="center">
83
+            <template slot-scope="scope">
84
+              <el-button
85
+                size="mini"
86
+                type="primary"
87
+                icon="el-icon-edit"
88
+                @click="handleEdit(scope.$index, scope.row)">
89
+              </el-button>
90
+
91
+              <el-button
92
+                size="mini"
93
+                type="danger"
94
+                icon="el-icon-delete"
95
+                @click="handleDelete(scope.$index, scope.row)">
96
+              </el-button>
97
+
98
+            </template>
99
+          </el-table-column>
100
+
101
+        </el-table>
102
+
103
+        <el-pagination
104
+          @size-change="handleSizeChange"
105
+          @current-change="handleCurrentChange"
106
+          :page-sizes="[7]"
107
+          :page-size="7"
108
+          background
109
+          style="margin-top:20px;float: right"
110
+          layout="total, sizes, prev, pager, next, jumper"
111
+          :total="total">
112
+        </el-pagination>
33 113
 
114
+      </el-row>
34 115
     </div>
35
-
36
-    <el-row :gutter="12" style="margin-top: 10px">
37
-      <el-table
38
-        :data="cancelStockDate"
39
-        :class="signAndWeighBoxPatients"
40
-        style="width: 100%" border
41
-        highlight-current-row
42
-        ref="multipleTable"
43
-        @selection-change="select"
44
-
45
-      >
46
-        <el-table-column
47
-          type="selection"
48
-          width="55">
49
-        </el-table-column>
50
-
51
-        <el-table-column label="单据日期" align="center">
52
-          <template slot-scope="scope">
53
-            {{ scope.row.return_time | parseTime('{y}-{m}-{d}')}}
54
-          </template>
55
-        </el-table-column>
56
-
57
-        <el-table-column label="单据编号" align="center">
58
-          <template slot-scope="scope">
59
-            {{scope.row.order_number}}
60
-          </template>
61
-        </el-table-column>
62
-
63
-        <el-table-column label="制单人" align="center">
64
-          <template slot-scope="scope">
65
-            {{getXuserName(scope.row.creater)}}
66
-          </template>
67
-        </el-table-column>
68
-
69
-
70
-        <el-table-column label="厂家" align="center">
71
-          <template slot-scope="scope">
72
-            {{getManufactuerName(scope.row.manufacturer)}}
73
-          </template>
74
-        </el-table-column>
75
-
76
-        <el-table-column label="经销商" align="center">
77
-          <template slot-scope="scope">
78
-            {{getDealerName(scope.row.dealer)}}
79
-          </template>
80
-        </el-table-column>
81
-
82
-        <el-table-column label="操作" align="center">
83
-          <template slot-scope="scope">
84
-            <el-button
85
-              size="mini"
86
-              type="primary"
87
-              icon="el-icon-edit"
88
-              @click="handleEdit(scope.$index, scope.row)">
89
-            </el-button>
90
-
91
-            <el-button
92
-              size="mini"
93
-              type="danger"
94
-              icon="el-icon-delete"
95
-              @click="handleDelete(scope.$index, scope.row)">
96
-            </el-button>
97
-
98
-          </template>
99
-        </el-table-column>
100
-
101
-      </el-table>
102
-
103
-      <el-pagination
104
-        @size-change="handleSizeChange"
105
-        @current-change="handleCurrentChange"
106
-        :page-sizes="[7]"
107
-        :page-size="7"
108
-        background
109
-        style="margin-top:20px;float: right"
110
-        layout="total, sizes, prev, pager, next, jumper"
111
-        :total="total">
112
-      </el-pagination>
113
-
114
-    </el-row>
115 116
   </div>
116 117
 </template>
117 118
 
118 119
 <script>
119 120
   import { uParseTime } from '@/utils/tools'
120 121
   import { fetchAllAdminUsers, fetchAllDoctorAndNurse } from '@/api/doctor'
121
-  import {
122
-    deleteCancelStock,
123
-    GetAllConfig,
124
-    getCancelStockList,
125
-  } from '@/api/stock'
122
+  import { deleteCancelStock, GetAllConfig, getCancelStockList } from '@/api/stock'
123
+  import BreadCrumb from '../components/bread-crumb'
126 124
 
127 125
   export default {
128 126
     name: 'salesReturnOrder',
127
+    components: { BreadCrumb },
129 128
     created() {
130 129
       var year = new Date().getFullYear()
131 130
       var month = new Date().getMonth() + 1
@@ -156,6 +155,10 @@
156 155
     },
157 156
     data() {
158 157
       return {
158
+        crumbs: [
159
+          { path: false, name: '库存管理' },
160
+          { path: '/stock/cancel', name: '其他出库退库单' }
161
+        ],
159 162
         type: 2,
160 163
         page: 1,
161 164
         limit: 7,
@@ -173,13 +176,13 @@
173 176
         goodInfo: [],
174 177
         manufacturer: [],
175 178
         selectedTableData: [],
176
-        dealer: [],
179
+        dealer: []
177 180
 
178 181
       }
179 182
     },
180 183
     methods: {
181
-      AddNewOrder:function(){
182
-        this.$router.push({ name: 'cancelStockOrderAdd'})
184
+      AddNewOrder: function() {
185
+        this.$router.push({ name: 'cancelStockOrderAdd', query: { type: this.type }})
183 186
       },
184 187
       GetCancelStock: function() {
185 188
         const Params = {
@@ -187,7 +190,7 @@
187 190
           limit: this.limit,
188 191
           start_time: this.start_time,
189 192
           end_time: this.end_time,
190
-          type: this.type,
193
+          type: this.type
191 194
         }
192 195
         this.cancelStockDate = []
193 196
         getCancelStockList(Params).then(response => {

+ 0 - 408
src/xt_pages/stock/otherCancelStockOrderAdd.vue View File

@@ -1,408 +0,0 @@
1
-<template>
2
-
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-    <sales-return-dialog :propForm="propForm"
6
-                         :visibility="isVisibility"
7
-                         v-on:dialog-comfirm="comfirm"
8
-                         v-on:dialog-cancle="cancle"></sales-return-dialog>
9
-
10
-    <div class="filter-container">
11
-
12
-      <el-row>
13
-        <el-col :span="8"><div>
14
-          <span>退货时间:</span>
15
-          <el-date-picker v-model="return_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
16
-                          type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
17
-                          value-format="yyyy-MM-dd"></el-date-picker>
18
-        </div></el-col>
19
-
20
-
21
-        <el-col :span="8">
22
-          <div>
23
-            <el-form ref="form" :model="form" :rules="ruleForm" label-width="80px">
24
-              <el-form-item label="厂商:" prop="manufacturer">
25
-                <el-select v-model="form.manufacturer" placeholder="请选择厂商">
26
-                  <el-option v-for="(option, index) in manufacturer" :key="index" :label="option.manufacturer_name" :value="option.id"></el-option>
27
-                </el-select>
28
-              </el-form-item>
29
-            </el-form>
30
-          </div>
31
-        </el-col>
32
-        <el-col :span="8">
33
-          <div>
34
-            <el-form ref="form" :model="form" label-width="80px">
35
-              <el-form-item label="经销商:">
36
-                <el-select v-model="form.dealer" placeholder="请选择经销商">
37
-                  <el-option v-for="(option, index) in dealer" :key="index" :label="option.dealer_name" :value="option.id"></el-option>
38
-                </el-select>
39
-              </el-form-item>
40
-            </el-form>
41
-          </div>
42
-        </el-col>
43
-      </el-row>
44
-
45
-    </div>
46
-
47
-    <el-row>
48
-      <el-col>
49
-        <el-form  :rules="tableRules" :model="recordInfo" ref="tableForm">
50
-          <el-table :data="recordInfo.recordData" :class="signAndWeighBoxPatients" style="width: 100%" border
51
-                    max-height="450"
52
-          >
53
-
54
-            <el-table-column label="操作" align="center" min-width="30">
55
-              <template slot-scope="scope">
56
-                <el-button
57
-                  size="mini"
58
-                  @click="handleEdit(scope.$index, scope.row)">+
59
-                </el-button>
60
-                <el-button
61
-                  size="mini"
62
-                  type="danger"
63
-                  @click="handleDelete(scope.$index, scope.row)">-
64
-                </el-button>
65
-              </template>
66
-            </el-table-column>
67
-
68
-            <el-table-column min-width="35" align="center">
69
-
70
-              <template slot="header" slot-scope="scope">
71
-                <span>物品类型<span style="color: red">*</span></span>
72
-              </template>
73
-
74
-              <template slot-scope="scope" >
75
-                <!--<span @click="showDialog(scope.$index, scope.row)" v-if="scope.row.good_type_id == 0" style="color:#c5c8cf">请输入类型</span>-->
76
-                <!--<span @click="showDialog(scope.$index, scope.row)" v-if="scope.row.good_type_id != 0">{{typeName(scope.row.good_type_id)}}</span>-->
77
-
78
-                <el-form-item  style="padding-top: 15px">
79
-                  <el-input placeholder="请输入物品类型"  v-model="scope.row.good_type_id" :value="typeName(scope.row.good_type_id)" @focus="showDialog(scope.$index, scope.row)" ></el-input>
80
-                </el-form-item>
81
-
82
-              </template>
83
-            </el-table-column>
84
-            <el-table-column min-width="35" align="center">
85
-              <template slot="header" slot-scope="scope">
86
-                <span>规格名称<span style="color: red">*</span></span>
87
-              </template>
88
-              <template slot-scope="scope">
89
-
90
-                <el-form-item  style="padding-top: 15px">
91
-                  <el-input placeholder="请输入规格名称"  v-model="scope.row.good_id" :value="specificationName(scope.row.good_id)" @focus="showDialog(scope.$index, scope.row)" ></el-input>
92
-                </el-form-item>
93
-
94
-              </template>
95
-            </el-table-column>
96
-
97
-
98
-            <el-table-column  min-width="23" align="center">
99
-              <template slot="header" slot-scope="scope">
100
-                <span>退库数量<span style="color: red">*</span></span>
101
-              </template>
102
-              <template slot-scope="scope">
103
-                <!--{{scope.row.warehousing_count}}-->
104
-                <!--<el-input type="number" v-model="scope.row.warehousing_count"   @blur="handleBlur(scope.$index, scope.row)"></el-input>-->
105
-
106
-                <el-form-item :prop="'recordData.' + scope.$index + '.return_count'" :rules='tableRules.return_count' style="padding-top: 17px">
107
-                  <el-input type="number"  v-model="scope.row.return_count" ></el-input>
108
-                </el-form-item>
109
-              </template>
110
-            </el-table-column>
111
-
112
-          </el-table>
113
-        </el-form>
114
-      </el-col>
115
-
116
-
117
-      <span  class="dialog-footer" style="margin-top: 20px;float:right">
118
-        <el-button @click="back()">取 消</el-button>
119
-        <el-button type="primary" @click="submit()">确 定</el-button>
120
-      </span>
121
-
122
-    </el-row>
123
-  </div>
124
-</template>
125
-
126
-<script>
127
-  import { uParseTime } from '@/utils/tools'
128
-  import {
129
-    getCancelStockConfig,
130
-    postCancelStock,
131
-  } from '@/api/stock'
132
-  import SalesReturnDialog from './Dialog/salesReturnDialog'
133
-
134
-  export default {
135
-    components: { SalesReturnDialog},
136
-    name: 'salesReturnOrderAdd',
137
-
138
-    data() {
139
-      return {
140
-        signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
141
-        return_time: '',
142
-        currentIndex: 0,
143
-        type:2,
144
-        recordInfo: {
145
-          recordData: [],
146
-        },
147
-        tableRules: {
148
-          return_count: [
149
-            { required: true, message: '数量不能为空', trigge: 'blur' }
150
-          ],
151
-        },
152
-        ruleForm: {
153
-          manufacturer: [
154
-            { required: true, message: '请选择厂商', trigger: 'change' }
155
-          ]
156
-
157
-        },
158
-        // prop
159
-        isVisibility: false,
160
-        propForm: {
161
-          goodType: [],
162
-          goodInfo: [],
163
-          goodUnit: [],
164
-        },
165
-        form: {
166
-          manufacturer: '',
167
-          dealer: ''
168
-        },
169
-
170
-        manufacturer: [],
171
-        dealer: [],
172
-        goodType: []
173
-      }
174
-    },
175
-    methods: {
176
-      comfirm: function(val) {
177
-        this.isVisibility = false
178
-        if (val.selectedGoodInfo.length > 0) {
179
-          for (let i = val.selectedGoodInfo.length - 1; ;i--) {
180
-            if (i == 0) {
181
-              this.recordInfo.recordData[this.currentIndex].good_type_id = val.goodTypeId
182
-              this.recordInfo.recordData[this.currentIndex].good_id = val.selectedGoodInfo[i].id
183
-            } else {
184
-              const tempForm = {}
185
-              tempForm['good_type_id'] = val.goodTypeId
186
-              tempForm['good_id'] = val.selectedGoodInfo[i].id
187
-              tempForm['return_count'] = ''
188
-              this.recordInfo.recordData.push(tempForm)
189
-            }
190
-          }
191
-        }
192
-
193
-        this.currentIndex = -1
194
-      }, cancle: function() {
195
-        this.isVisibility = false
196
-      }, GetConfigInfo: function() {
197
-        getCancelStockConfig().then(response => {
198
-          if (response.data.state == 0) {
199
-            this.$message.error(response.data.msg)
200
-            return false
201
-          } else {
202
-            var warehouseOutList =  response.data.data.warehouseOutList
203
-            var warehouseOutInfoList =  response.data.data.warehouseOutInfoList
204
-            for (let i = 0; i <warehouseOutList.length; i++ ){
205
-              if(warehouseOutList[i].Manufacturer.id > 0){
206
-                this.manufacturer.push(warehouseOutList[i].Manufacturer)
207
-              }
208
-              if(warehouseOutList[i].Dealer.id > 0){
209
-                this.dealer.push(warehouseOutList[i].Dealer)
210
-              }
211
-            }
212
-
213
-            for (let i = 0; i < warehouseOutInfoList.length; i++) {
214
-              this.propForm.goodInfo.push(warehouseOutInfoList[i].GoodInfo)
215
-
216
-            }
217
-
218
-
219
-            const obj = {}
220
-            const obj2 = {}
221
-            const obj4 = {}
222
-            //去重复
223
-            this.manufacturer =  this.manufacturer.reduce((cur, next) => {
224
-              obj[next.id] ? '' : obj[next.id] = true && cur.push(next)
225
-              return cur
226
-            }, [])
227
-            //去重复
228
-            this.dealer =  this.dealer.reduce((cur, next) => {
229
-              obj2[next.id] ? '' : obj2[next.id] = true && cur.push(next)
230
-              return cur
231
-            }, [])
232
-            this.propForm.goodInfo = this.propForm.goodInfo.reduce((cur, next) => {
233
-              obj4[next.id] ? '' : obj4[next.id] = true && cur.push(next)
234
-              return cur
235
-            }, [])
236
-
237
-
238
-          }
239
-        })
240
-      }, typeName: function(good_type_id) {
241
-        let name = ''
242
-        for (let i = 0; i < this.propForm.goodType.length; i++) {
243
-          if (this.propForm.goodType[i].id == good_type_id) {
244
-            name = this.propForm.goodType[i].type_name
245
-          }
246
-        }
247
-        return name
248
-      }, specificationName: function(good_info_id) {
249
-        let name = ''
250
-        for (let i = 0; i < this.propForm.goodInfo.length; i++) {
251
-          if (this.propForm.goodInfo[i].id == good_info_id) {
252
-            name = this.propForm.goodInfo[i].specification_name
253
-          }
254
-        }
255
-        return name
256
-      }, handleEdit: function(index, row) {
257
-        const tempObj = {}
258
-        tempObj['good_type_id'] = 0
259
-        tempObj['good_id'] = 0
260
-        tempObj['return_count'] = ''
261
-        this.recordInfo.recordData.push(tempObj)
262
-      }, handleDelete: function(index, row) {
263
-        this.recordInfo.recordData.splice(index, 1)
264
-      }, calculate: function(val) {
265
-
266
-        if (val == 0) {
267
-          return ''
268
-        }
269
-
270
-        return Math.round(parseFloat(val) * 100) / 100
271
-      }, getTime(val, temp) {
272
-        if (val != 0) {
273
-          return uParseTime(val, temp)
274
-        } else {
275
-          return ''
276
-        }
277
-      }, showDialog(index, row) {
278
-        this.currentIndex = index
279
-        if (this.form.manufacturer == '' || this.form.manufacturer == 0) {
280
-          this.$message.error('请先选择厂商')
281
-          return
282
-        } else {
283
-          this.isVisibility = true
284
-          console.log(this.form.manufacturer)
285
-          for (let i = 0; i < this.propForm.goodInfo.length; i++){
286
-            if(this.propForm.goodInfo[i].manufacturer == this.form.manufacturer){
287
-              this.propForm.goodType.push(this.propForm.goodInfo[i].GoodsType)
288
-            }
289
-
290
-          }
291
-          const obj3 = {}
292
-          this.propForm.goodType = this.propForm.goodType.reduce((cur, next) => {
293
-            obj3[next.id] ? '' : obj3[next.id] = true && cur.push(next)
294
-            return cur
295
-          }, [])
296
-
297
-
298
-
299
-        }
300
-      }, back() {
301
-        this.$router.go(-1)
302
-      }, submit() {
303
-        this.$refs['tableForm'].validate((valid) => {
304
-          if (valid) {
305
-            if (this.form.manufacturer == 0) {
306
-              this.$message.error('厂商不能为空')
307
-              return
308
-            }
309
-            const array = this.recordInfo.recordData
310
-            let total = 0
311
-            for (let i = 0; i < array.length; i++) {
312
-              if (array[i].good_type_id == 0) {
313
-                this.$message.error('物品类型不能为空')
314
-                return
315
-              }
316
-              if (array[i].good_id == 0) {
317
-                this.$message.error('规格名称不能为空')
318
-                return
319
-              }
320
-              total = total + array[i].price * array[i].return_count
321
-            }
322
-            const params = {
323
-              'cancelStock': this.recordInfo.recordData
324
-            }
325
-            postCancelStock(params,this.return_time,this.form.manufacturer,this.form.dealer,this.type).then(response=>{
326
-              if (response.data.state==0) {
327
-                this.$message.error(response.data.msg);
328
-                return false;
329
-              }else {
330
-                this.$notify({
331
-                  title: "成功",
332
-                  message: "退货成功",
333
-                  type: "success",
334
-                  duration: 2000
335
-                });
336
-                this.recordInfo.recordData = []
337
-                this.$router.back(-1)
338
-              }
339
-            });
340
-          } else {
341
-            return false
342
-          }
343
-        })
344
-      }
345
-    },
346
-    created() {
347
-      var year = new Date().getFullYear()
348
-      var month = new Date().getMonth() + 1
349
-      var day = new Date().getDate()
350
-      if (parseInt(month) < 10) {
351
-        month = '0' + month
352
-      }
353
-      if (parseInt(day) < 10) {
354
-        day = '0' + day
355
-      }
356
-      const endTime = year + '-' + month + '-' + day
357
-      this.return_time = endTime
358
-      const tempObj = {}
359
-      tempObj['good_type_id'] = 0
360
-      tempObj['good_id'] = 0
361
-      tempObj['return_count'] = ''
362
-      this.recordInfo.recordData.push(tempObj)
363
-      this.GetConfigInfo()
364
-      this.propForm.goodUnit = this.$store.getters.good_unit
365
-    }
366
-
367
-  }
368
-</script>
369
-
370
-<style rel="stylesheet/css" lang="scss" scoped>
371
-  .information {
372
-    border: 1px #dcdfe6 solid;
373
-    padding: 30px 20px 30px 20px;
374
-
375
-  .border {
376
-    border-bottom: 1px #dcdfe6 solid;
377
-    margin: 0px 0 20px 0;
378
-  }
379
-  }
380
-
381
-  .title {
382
-    background: #409eff;
383
-    height: 44px;
384
-    line-height: 44px;
385
-    padding: 0 0 0 10px;
386
-    color: #fff;
387
-    margin: 0 0 10px 0;
388
-  // border-radius: 4px 4px 0 0;
389
-  }
390
-
391
-  .edit_separater {
392
-    border-top: 1px solid rgb(233, 233, 233);
393
-    margin-top: 15px;
394
-    margin-bottom: 15px;
395
-  }
396
-
397
-</style>
398
-
399
-<style>
400
-  .sign-and-weigh-box .sign-and-weigh-box-patients .cell {
401
-    font-size: 12px;
402
-  }
403
-
404
-  .sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
405
-    background: #6fb5fa;
406
-  }
407
-
408
-</style>

+ 0 - 232
src/xt_pages/stock/otherCancelStockOrderDetail.vue View File

@@ -1,232 +0,0 @@
1
-<template>
2
-
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-    <div class="filter-container">
6
-      <span style="font-size: 20px">退货单详情</span>
7
-      <el-row style="float:right;">
8
-        <span>{{CancelStockInfo.cancelStock.order_number}}</span>
9
-      </el-row>
10
-    </div>
11
-
12
-
13
-
14
-    <div class="filter-container">
15
-      <span>单据日期:  {{CancelStockInfo.cancelStock.return_time | parseTime('{y}-{m}-{d}')}} </span>
16
-      <span>厂商 {{getManufactuerName(CancelStockInfo.cancelStock.manufacturer)}}</span>
17
-      <span>经销商 {{getDealerName(CancelStockInfo.cancelStock.dealer)}}</span>
18
-    </div>
19
-
20
-    <div class="filter-container" style="margin-top: 10px">
21
-      <el-button size="small" icon="el-icon-edit" @click="editRecord">编辑</el-button>
22
-      <el-button size="small" icon="el-icon-delete" @click="deleteRecord">删除</el-button>
23
-    </div>
24
-
25
-    <el-row :gutter="12" style="margin-top: 10px">
26
-      <el-table :data="CancelStockInfo.cancelStockInfoData" :class="signAndWeighBoxPatients" style="width: 100%" border
27
-      >
28
-        <el-table-column min-width="35" align="center">
29
-          <template slot="header" slot-scope="scope">
30
-            <span>物品类型</span>
31
-          </template>
32
-
33
-          <template slot-scope="scope">
34
-            <span v-if="scope.row.good_type_id != 0">{{getTypeName(scope.row.good_type_id)}}</span>
35
-          </template>
36
-        </el-table-column>
37
-        <el-table-column min-width="35" align="center">
38
-          <template slot="header" slot-scope="scope">
39
-            <span>规格名称</span>
40
-          </template>
41
-          <template slot-scope="scope">
42
-            <span v-if="scope.row.good_id != 0">{{getSpecificationName(scope.row.good_id)}}</span>
43
-          </template>
44
-        </el-table-column>
45
-
46
-        <el-table-column min-width="23" align="center">
47
-          <template slot="header" slot-scope="scope">
48
-            <span>退货数量</span>
49
-          </template>
50
-          <template slot-scope="scope">
51
-            <span>{{scope.row.count}}</span>
52
-
53
-          </template>
54
-        </el-table-column>
55
-
56
-
57
-      </el-table>
58
-    </el-row>
59
-  </div>
60
-</template>
61
-
62
-<script>
63
-  import { uParseTime } from '@/utils/tools'
64
-  import { GetAllConfig,getCancelStockInfo,deleteCancelStock } from '@/api/stock'
65
-
66
-  export default {
67
-    name: 'cancelStockOrderDetail',
68
-    created() {
69
-      const order_id = this.$route.query.id
70
-      this.GetConfigInfo()
71
-      this.GetOrderDetail(order_id)
72
-    },
73
-    data() {
74
-      return {
75
-        isEdit: 0,
76
-        checked: false,
77
-        signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
78
-        goodType: [],
79
-        goodInfo: [],
80
-        manufacturer: [],
81
-        dealer: [],
82
-
83
-        CancelStockInfo: {
84
-          loading: false,
85
-          cancelStockInfoData: [],
86
-          cancelStock: {}
87
-        }
88
-      }
89
-    },
90
-    methods: {
91
-      getSpecificationName: function(id) {
92
-        let name = ''
93
-        for (let i = 0; i < this.goodInfo.length; i++) {
94
-          if (this.goodInfo[i].id == id) {
95
-            name = this.goodInfo[i].specification_name
96
-          }
97
-        }
98
-        return name
99
-      }, getTypeName: function(id) {
100
-        let name = ''
101
-        for (let i = 0; i < this.goodType.length; i++) {
102
-          if (this.goodType[i].id == id) {
103
-            name = this.goodType[i].type_name
104
-          }
105
-        }
106
-        return name
107
-      }, GetConfigInfo: function() {
108
-        GetAllConfig().then(response => {
109
-          if (response.data.state == 0) {
110
-            this.$message.error(response.data.msg)
111
-            return false
112
-          } else {
113
-            this.manufacturer = response.data.data.manufacturer
114
-            this.dealer = response.data.data.dealer
115
-            this.goodInfo = response.data.data.goodInfo
116
-            this.goodType = response.data.data.goodType
117
-          }
118
-        })
119
-      }, getManufactuerName: function(manufacturer_id) {
120
-        for (let i = 0; i < this.manufacturer.length; i++) {
121
-          if (this.manufacturer[i].id == manufacturer_id) {
122
-            return this.manufacturer[i].manufacturer_name
123
-          }
124
-        }
125
-      }, getDealerName: function(dealer_id) {
126
-        for (let i = 0; i < this.dealer.length; i++) {
127
-          if (this.dealer[i].id == dealer_id) {
128
-            return this.dealer[i].dealer_name
129
-          }
130
-        }
131
-      }, calculate: function(val) {
132
-        if (val == 0) {
133
-          return ''
134
-        }
135
-        return Math.round(parseFloat(val) * 100) / 100
136
-      }, GetOrderDetail: function(order_id) {
137
-        const params = {
138
-          'id': order_id
139
-        }
140
-        getCancelStockInfo(params).then(response => {
141
-          if (response.data.state == 0) {
142
-            this.$message.error(response.data.msg)
143
-            return false
144
-          } else {
145
-            for (let i = 0; i < response.data.data.list.length; i++) {
146
-              this.CancelStockInfo.cancelStockInfoData.push(response.data.data.list[i])
147
-            }
148
-            this.CancelStockInfo.cancelStock = response.data.data.info
149
-          }
150
-        })
151
-      }, deleteRecord: function() {
152
-        const ids = []
153
-        ids.push(this.CancelStockInfo.cancelStock.id)
154
-        const idStr = ids.join(',')
155
-
156
-        const params = {
157
-          ids: idStr
158
-        }
159
-
160
-        this.$confirm('确认删除退货单?', '删除退货单记录', {
161
-          confirmButtonText: '确定',
162
-          cancelButtonText: '取消',
163
-          type: 'warning'
164
-        }).then(() => {
165
-          deleteCancelStock(params).then(response => {
166
-            if (response.data.state == 0) {
167
-              this.$message.error(response.data.msg)
168
-              return false
169
-            } else {
170
-              this.$notify({
171
-                title: '成功',
172
-                message: '删除成功',
173
-                type: 'success',
174
-                duration: 2000
175
-              })
176
-
177
-              this.$router.back(-1)
178
-            }
179
-          })
180
-        }).catch(() => {
181
-        })
182
-      }, editRecord: function() {
183
-        this.$emit('edit-record')
184
-      }
185
-    }
186
-  }
187
-</script>
188
-
189
-<style rel="stylesheet/css" lang="scss" scoped>
190
-  .information {
191
-    border: 1px #dcdfe6 solid;
192
-    padding: 30px 20px 30px 20px;
193
-
194
-  .border {
195
-    border-bottom: 1px #dcdfe6 solid;
196
-    margin: 0px 0 20px 0;
197
-  }
198
-
199
-  }
200
-
201
-  .title {
202
-    background: #409eff;
203
-    height: 44px;
204
-    line-height: 44px;
205
-    padding: 0 0 0 10px;
206
-    color: #fff;
207
-    margin: 0 0 10px 0;
208
-  }
209
-
210
-  .edit_separater {
211
-    border-top: 1px solid rgb(233, 233, 233);
212
-    margin-top: 15px;
213
-    margin-bottom: 15px;
214
-  }
215
-
216
-</style>
217
-
218
-<style>
219
-  .sign-and-weigh-box .sign-and-weigh-box-patients .cell {
220
-    font-size: 12px;
221
-  }
222
-
223
-  .sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
224
-    background: #6fb5fa;
225
-  }
226
-
227
-  .count {
228
-    color: #bd2c00;
229
-
230
-  }
231
-
232
-</style>

+ 0 - 391
src/xt_pages/stock/otherCancelStockOrderEdit.vue View File

@@ -1,391 +0,0 @@
1
-<template>
2
-
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-    <sales-return-dialog :propForm="propForm"
6
-                         :visibility="isVisibility"
7
-                         v-on:dialog-comfirm="comfirm"
8
-                         v-on:dialog-cancle="cancle"></sales-return-dialog>
9
-
10
-    <div class="filter-container">
11
-
12
-      <el-row>
13
-        <el-col :span="8">
14
-          <div>
15
-            <span>入库时间:</span>
16
-            <el-date-picker v-model="return_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
17
-                            type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
18
-                            value-format="yyyy-MM-dd"></el-date-picker>
19
-          </div>
20
-        </el-col>
21
-      </el-row>
22
-    </div>
23
-
24
-    <el-row>
25
-      <el-col>
26
-        <el-form :rules="tableRules" :model="recordInfo" ref="tableForm">
27
-          <el-table :data="recordInfo.recordData" :class="signAndWeighBoxPatients" style="width: 100%" border
28
-                    max-height="450"
29
-          >
30
-
31
-            <el-table-column label="操作" align="center" min-width="30">
32
-              <template slot-scope="scope">
33
-                <el-button
34
-                  size="mini"
35
-                  @click="handleEdit(scope.$index, scope.row)">+
36
-                </el-button>
37
-                <el-button
38
-                  size="mini"
39
-                  type="danger"
40
-                  @click="handleDelete(scope.$index, scope.row)">-
41
-                </el-button>
42
-              </template>
43
-            </el-table-column>
44
-
45
-            <el-table-column min-width="35" align="center">
46
-
47
-              <template slot="header" slot-scope="scope">
48
-                <span>物品类型<span style="color: red">*</span></span>
49
-              </template>
50
-
51
-              <template slot-scope="scope">
52
-                <el-form-item style="padding-top: 15px">
53
-                  <el-input placeholder="请输入物品类型" v-model="scope.row.good_type_id"
54
-                            :value="typeName(scope.row.good_type_id)"
55
-                            @focus="showDialog(scope.$index, scope.row)"></el-input>
56
-                </el-form-item>
57
-              </template>
58
-            </el-table-column>
59
-            <el-table-column min-width="35" align="center">
60
-              <template slot="header" slot-scope="scope">
61
-                <span>规格名称<span style="color: red">*</span></span>
62
-              </template>
63
-              <template slot-scope="scope">
64
-
65
-                <el-form-item style="padding-top: 15px">
66
-                  <el-input placeholder="请输入规格名称" v-model="scope.row.good_id"
67
-                            :value="specificationName(scope.row.good_id)"
68
-                            @focus="showDialog(scope.$index, scope.row)"></el-input>
69
-                </el-form-item>
70
-
71
-              </template>
72
-            </el-table-column>
73
-
74
-
75
-            <el-table-column min-width="23" align="center">
76
-              <template slot="header" slot-scope="scope">
77
-                <span>退货数量<span style="color: red">*</span></span>
78
-              </template>
79
-              <template slot-scope="scope">
80
-                <el-form-item :prop="'recordData.' + scope.$index + '.count'" :rules='tableRules.count'
81
-                              style="padding-top: 17px">
82
-                  <el-input type="number" v-model="scope.row.count"></el-input>
83
-                </el-form-item>
84
-              </template>
85
-            </el-table-column>
86
-
87
-
88
-          </el-table>
89
-        </el-form>
90
-      </el-col>
91
-
92
-
93
-      <span class="dialog-footer" style="margin-top: 20px;float:right">
94
-        <el-button @click="back()">取 消</el-button>
95
-        <el-button type="primary" @click="submit()">确 定</el-button>
96
-      </span>
97
-
98
-    </el-row>
99
-  </div>
100
-</template>
101
-
102
-<script>
103
-  import { uParseTime } from '@/utils/tools'
104
-
105
-  import {
106
-    deleteCancelStockInfo,
107
-    getCancelStockInfo,
108
-    getCancelStockConfig,
109
-    editCancelStockInfo
110
-  } from '@/api/stock'
111
-  import SalesReturnDialog from './Dialog/salesReturnDialog'
112
-
113
-  export default {
114
-    components: { SalesReturnDialog },
115
-    name: 'cancelStockOrderEdit',
116
-
117
-    data() {
118
-      return {
119
-        signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
120
-        warehousing_time: '',
121
-        adminUserOptions: null,
122
-        currentIndex: 0,
123
-        return_time: '',
124
-        recordInfo: {
125
-          recordData: [],
126
-          stock_in_code: '',
127
-          current_index: ''
128
-
129
-        },
130
-        tableRules: {
131
-          count: [
132
-            { required: true, message: '数量不能为空', trigge: 'blur' }
133
-          ]
134
-
135
-        },
136
-        ruleForm: {
137
-          manufacturer: [
138
-            { required: true, message: '请选择厂商', trigger: 'change' }
139
-          ]
140
-
141
-        },
142
-
143
-        // prop
144
-        isVisibility: false,
145
-        propForm: {
146
-          goodType: [],
147
-          goodInfo: [],
148
-          goodUnit: [],
149
-          title: '入库'
150
-        },
151
-
152
-        form: {
153
-          manufacturer: '',
154
-          dealer: ''
155
-        },
156
-
157
-        cancelStock: {},
158
-        manufacturer: [],
159
-        dealer: [],
160
-        goodType: []
161
-      }
162
-    },
163
-    methods: {
164
-      comfirm: function(val) {
165
-        this.isVisibility = false
166
-        if (val.selectedGoodInfo.length > 0) {
167
-          for (let i = val.selectedGoodInfo.length - 1; ; i--) {
168
-            if (i == 0) {
169
-              this.recordInfo.recordData[this.currentIndex].good_type_id = val.goodTypeId
170
-              this.recordInfo.recordData[this.currentIndex].good_id = val.selectedGoodInfo[i].id
171
-            } else {
172
-              const tempForm = {}
173
-              tempForm['id'] = 0
174
-              tempForm['good_type_id'] = val.goodTypeId
175
-              tempForm['good_id'] = val.selectedGoodInfo[i].id
176
-              tempForm['count'] = ''
177
-              this.recordInfo.recordData.push(tempForm)
178
-            }
179
-          }
180
-        }
181
-
182
-        this.currentIndex = -1
183
-      }, cancle: function() {
184
-        this.isVisibility = false
185
-      }, GetConfigInfo: function() {
186
-        getCancelStockConfig().then(response => {
187
-          if (response.data.state == 0) {
188
-            this.$message.error(response.data.msg)
189
-            return false
190
-          } else {
191
-            var warehouseOutInfoList = response.data.data.warehouseOutInfoList
192
-            for (let i = 0; i < warehouseOutInfoList.length; i++) {
193
-              this.propForm.goodInfo.push(warehouseOutInfoList[i].GoodInfo)
194
-              this.propForm.goodType.push(warehouseOutInfoList[i].GoodInfo.GoodsType)
195
-
196
-            }
197
-            const obj3 = {}
198
-            const obj4 = {}
199
-            this.propForm.goodInfo = this.propForm.goodInfo.reduce((cur, next) => {
200
-              obj4[next.id] ? '' : obj4[next.id] = true && cur.push(next)
201
-              return cur
202
-            }, [])
203
-            this.propForm.goodType = this.propForm.goodType.reduce((cur, next) => {
204
-              obj3[next.id] ? '' : obj3[next.id] = true && cur.push(next)
205
-              return cur
206
-            }, [])
207
-          }
208
-        })
209
-      }, typeName: function(good_type_id) {
210
-        let name = ''
211
-        for (let i = 0; i < this.propForm.goodType.length; i++) {
212
-          if (this.propForm.goodType[i].id == good_type_id) {
213
-            name = this.propForm.goodType[i].type_name
214
-          }
215
-        }
216
-        return name
217
-      }, specificationName: function(good_info_id) {
218
-        let name = ''
219
-        for (let i = 0; i < this.propForm.goodInfo.length; i++) {
220
-          if (this.propForm.goodInfo[i].id == good_info_id) {
221
-            name = this.propForm.goodInfo[i].specification_name
222
-          }
223
-        }
224
-        return name
225
-      }, handleEdit: function(index, row) {
226
-        const tempObj = {}
227
-        tempObj['id'] = 0
228
-        tempObj['good_type_id'] = 0
229
-        tempObj['good_id'] = 0
230
-        tempObj['count'] = ''
231
-        this.recordInfo.recordData.push(tempObj)
232
-      }, handleDelete: function(index, row) {
233
-        if (row.id == 0) {
234
-          this.recordInfo.recordData.splice(index, 1)
235
-        } else {
236
-          const params = {
237
-            id: row.id
238
-          }
239
-          this.$confirm('确认删除该退库物品信息记录?', '删除退库物品信息记录', {
240
-            confirmButtonText: '确定',
241
-            cancelButtonText: '取消',
242
-            type: 'warning'
243
-          }).then(() => {
244
-            deleteCancelStockInfo(params).then(response => {
245
-              if (response.data.state == 0) {
246
-                this.$message.error(response.data.msg)
247
-                return false
248
-              } else {
249
-                this.$notify({
250
-                  title: '成功',
251
-                  message: '删除成功',
252
-                  type: 'success',
253
-                  duration: 2000
254
-                })
255
-                this.recordInfo.recordData.splice(index, 1)
256
-              }
257
-            })
258
-          }).catch(() => {
259
-          })
260
-        }
261
-      }, getTime(val, temp) {
262
-        if (val != 0) {
263
-          return uParseTime(val, temp)
264
-        } else {
265
-          return ''
266
-        }
267
-      }, showDialog(index, row) {
268
-        this.currentIndex = index
269
-
270
-        this.isVisibility = true
271
-        console.log(this.form.manufacturer)
272
-        for (let i = 0; i < this.propForm.goodInfo.length; i++) {
273
-          if (this.propForm.goodInfo[i].manufacturer == this.form.manufacturer) {
274
-            this.propForm.goodType.push(this.propForm.goodInfo[i].GoodsType)
275
-          }
276
-        }
277
-        const obj3 = {}
278
-        this.propForm.goodType = this.propForm.goodType.reduce((cur, next) => {
279
-          obj3[next.id] ? '' : obj3[next.id] = true && cur.push(next)
280
-          return cur
281
-        }, [])
282
-
283
-      }, back() {
284
-        this.$router.go(-1)
285
-      }, submit() {
286
-        this.$refs['tableForm'].validate((valid) => {
287
-          if (valid) {
288
-            const array = this.recordInfo.recordData
289
-            for (let i = 0; i < array.length; i++) {
290
-              if (array[i].good_type_id == 0) {
291
-                this.$message.error('物品类型不能为空')
292
-                return
293
-              }
294
-              if (array[i].good_id == 0) {
295
-                this.$message.error('规格名称不能为空')
296
-                return
297
-              }
298
-            }
299
-
300
-            const params = {
301
-              'cancelStock': this.recordInfo.recordData
302
-            }
303
-            editCancelStockInfo(params, this.return_time, this.$route.query.id).then(response => {
304
-              if (response.data.state == 0) {
305
-                this.$message.error(response.data.msg)
306
-                return false
307
-              } else {
308
-                this.$notify({
309
-                  title: '成功',
310
-                  message: '退库成功',
311
-                  type: 'success',
312
-                  duration: 2000
313
-                })
314
-                this.$router.back(-1)
315
-              }
316
-            })
317
-          } else {
318
-            return false
319
-          }
320
-        })
321
-      }, GetOrderDetail: function(order_id) {
322
-        const params = {
323
-          'id': order_id
324
-        }
325
-        getCancelStockInfo(params).then(response => {
326
-          if (response.data.state == 0) {
327
-            this.$message.error(response.data.msg)
328
-            return false
329
-          } else {
330
-            for (let i = 0; i < response.data.data.list.length; i++) {
331
-              response.data.data.list[i].count =  response.data.data.list[i].count.toString();
332
-              this.recordInfo.recordData.push(response.data.data.list[i])
333
-            }
334
-            this.cancelStock = response.data.data.info
335
-            this.return_time = this.getTime(this.cancelStock.return_time, '{y}-{m}-{d}')
336
-            this.form.manufacturer = this.cancelStock.manufacturer
337
-            this.form.dealer = this.cancelStock.dealer
338
-          }
339
-        })
340
-      }
341
-    },
342
-    created() {
343
-      this.GetConfigInfo()
344
-      this.propForm.goodUnit = this.$store.getters.good_unit
345
-      const order_id = this.$route.query.id
346
-      this.GetOrderDetail(order_id)
347
-    }
348
-
349
-  }
350
-</script>
351
-
352
-<style rel="stylesheet/css" lang="scss" scoped>
353
-  .information {
354
-    border: 1px #dcdfe6 solid;
355
-    padding: 30px 20px 30px 20px;
356
-
357
-  .border {
358
-    border-bottom: 1px #dcdfe6 solid;
359
-    margin: 0px 0 20px 0;
360
-  }
361
-
362
-  }
363
-
364
-  .title {
365
-    background: #409eff;
366
-    height: 44px;
367
-    line-height: 44px;
368
-    padding: 0 0 0 10px;
369
-    color: #fff;
370
-    margin: 0 0 10px 0;
371
-    border-radius: 4px 4px 0 0;
372
-  }
373
-
374
-  .edit_separater {
375
-    border-top: 1px solid rgb(233, 233, 233);
376
-    margin-top: 15px;
377
-    margin-bottom: 15px;
378
-  }
379
-
380
-</style>
381
-
382
-<style>
383
-  .sign-and-weigh-box .sign-and-weigh-box-patients .cell {
384
-    font-size: 12px;
385
-  }
386
-
387
-  .sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
388
-    background: #6fb5fa;
389
-  }
390
-
391
-</style>

+ 0 - 24
src/xt_pages/stock/otherSalesReturnDetail.vue View File

@@ -1,24 +0,0 @@
1
-<template>
2
-  <other-sales-return-order-detaill v-if="isEdit == 0"   v-on:edit-record="isEdit = 1"></other-sales-return-order-detaill>
3
-  <other-sales-reuturn-order-edit v-else></other-sales-reuturn-order-edit>
4
-</template>
5
-
6
-<script>
7
-  import OtherSalesReturnOrderDetail from './otherSalesReturnOrderDetail'
8
-  import OtherSalesReturnOrderEdit from './otherSalesReturnOrderEdit'
9
-  export default {
10
-    name: 'otherSalesReturnDetail',
11
-    components: { OtherSalesReturnOrderEdit, OtherSalesReturnOrderDetail},
12
-    data() {
13
-      return {
14
-        isEdit: 0
15
-      }
16
-    }
17
-
18
-  }
19
-
20
-</script>
21
-
22
-<style scoped>
23
-
24
-</style>

+ 124 - 116
src/xt_pages/stock/otherSalesReturnOrder.vue View File

@@ -1,118 +1,120 @@
1 1
 <template>
2 2
 
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-
6
-    <div class="filter-container">
7
-
8
-
9
-      <el-row style="float:right;">
10
-        <el-button @click="AddNewOrder" type="primary">新增</el-button>
11
-      </el-row>
12
-    </div>
13
-
14
-    <div class="filter-container" style="margin-top:20px">
15
-      <el-input style="width: 300px;" class="filter-item" placeholder="单据日期/单据编码/制单人/供应商"/>
16
-      <el-button class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
3
+  <div class="main-contain">
4
+    <div class="position">
5
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
6
+      <el-button size="small" @click="AddNewOrder" class="filter-item" style="float:right;" type="primary"
7
+                 icon="el-icon-circle-plus-outline">新增
8
+      </el-button>
17 9
     </div>
18 10
 
19
-    <div class="filter-container">
20
-      <span>入库时间:</span>
21
-      <el-date-picker v-model="start_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
22
-                      type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
23
-                      value-format="yyyy-MM-dd" @change="startTimeChange"></el-date-picker>
24
-      <span class="">-</span>
25
-      <el-date-picker v-model="end_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
26
-                      type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
27
-                      value-format="yyyy-MM-dd" @change="endTimeChange"></el-date-picker>
28
-    </div>
29
-
30
-    <div class="filter-container" style="margin-top: 10px">
31
-      <el-checkbox style="width: 30px" v-model="checked" @change="changeAllSelected">全选</el-checkbox>
32
-      <el-button size="small" icon="el-icon-delete" @click="batchDelete">删除</el-button>
11
+    <div class="app-container">
12
+
13
+      <div class="filter-container" style="margin-top:20px">
14
+        <el-input style="width: 300px;" class="filter-item" placeholder="单据日期/单据编码/制单人/供应商"/>
15
+        <el-button class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
16
+      </div>
17
+
18
+      <div class="filter-container">
19
+        <span>其他退货时间:&nbsp;&nbsp;</span>
20
+        <el-date-picker v-model="start_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
21
+                        type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
22
+                        value-format="yyyy-MM-dd" @change="startTimeChange"></el-date-picker>
23
+        <span class="">-</span>
24
+        <el-date-picker v-model="end_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
25
+                        type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
26
+                        value-format="yyyy-MM-dd" @change="endTimeChange"></el-date-picker>
27
+      </div>
28
+
29
+      <div class="filter-container" style="margin-top: 10px">
30
+        <el-checkbox style="width: 30px" v-model="checked" @change="changeAllSelected">全选</el-checkbox>
31
+        <el-button size="small" icon="el-icon-delete" @click="batchDelete">删除</el-button>
32
+
33
+      </div>
34
+
35
+      <el-row :gutter="12" style="margin-top: 10px">
36
+        <el-table
37
+          :data="saleReturnDate"
38
+          :class="signAndWeighBoxPatients"
39
+          style="width: 100%" border
40
+          highlight-current-row
41
+          ref="multipleTable"
42
+          @selection-change="select"
43
+          :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}"
44
+
45
+        >
46
+          <el-table-column
47
+            type="selection"
48
+            width="55">
49
+          </el-table-column>
50
+
51
+          <el-table-column label="单据日期" align="center">
52
+            <template slot-scope="scope">
53
+              {{ scope.row.opera_time | parseTime('{y}-{m}-{d}')}}
54
+            </template>
55
+          </el-table-column>
56
+
57
+          <el-table-column label="单据编号" align="center">
58
+            <template slot-scope="scope">
59
+              {{scope.row.order_number}}
60
+            </template>
61
+          </el-table-column>
62
+
63
+          <el-table-column label="制单人" align="center">
64
+            <template slot-scope="scope">
65
+              {{getXuserName(scope.row.creater)}}
66
+            </template>
67
+          </el-table-column>
68
+
69
+
70
+          <el-table-column label="厂家" align="center">
71
+            <template slot-scope="scope">
72
+              {{getManufactuerName(scope.row.manufacturer)}}
73
+            </template>
74
+          </el-table-column>
75
+
76
+          <el-table-column label="经销商" align="center">
77
+            <template slot-scope="scope">
78
+              {{getDealerName(scope.row.dealer)}}
79
+            </template>
80
+          </el-table-column>
81
+
82
+          <el-table-column label="操作" align="center">
83
+            <template slot-scope="scope">
84
+              <el-button
85
+                size="mini"
86
+                type="primary"
87
+                icon="el-icon-edit"
88
+                @click="handleEdit(scope.$index, scope.row)">
89
+              </el-button>
90
+
91
+              <el-button
92
+                size="mini"
93
+                type="danger"
94
+                icon="el-icon-delete"
95
+                @click="handleDelete(scope.$index, scope.row)">
96
+              </el-button>
97
+
98
+            </template>
99
+          </el-table-column>
100
+
101
+        </el-table>
102
+
103
+        <el-pagination
104
+          @size-change="handleSizeChange"
105
+          @current-change="handleCurrentChange"
106
+          :page-sizes="[7]"
107
+          :page-size="7"
108
+          background
109
+          style="margin-top:20px;float: right"
110
+          layout="total, sizes, prev, pager, next, jumper"
111
+          :total="total">
112
+        </el-pagination>
33 113
 
114
+      </el-row>
34 115
     </div>
35
-
36
-    <el-row :gutter="12" style="margin-top: 10px">
37
-      <el-table
38
-        :data="saleReturnDate"
39
-        :class="signAndWeighBoxPatients"
40
-        style="width: 100%" border
41
-        highlight-current-row
42
-        ref="multipleTable"
43
-        @selection-change="select"
44
-
45
-      >
46
-        <el-table-column
47
-          type="selection"
48
-          width="55">
49
-        </el-table-column>
50
-
51
-        <el-table-column label="单据日期" align="center">
52
-          <template slot-scope="scope">
53
-            {{ scope.row.opera_time | parseTime('{y}-{m}-{d}')}}
54
-          </template>
55
-        </el-table-column>
56
-
57
-        <el-table-column label="单据编号" align="center">
58
-          <template slot-scope="scope">
59
-            {{scope.row.order_number}}
60
-          </template>
61
-        </el-table-column>
62
-
63
-        <el-table-column label="制单人" align="center">
64
-          <template slot-scope="scope">
65
-            {{getXuserName(scope.row.creater)}}
66
-          </template>
67
-        </el-table-column>
68
-
69
-
70
-        <el-table-column label="厂家" align="center">
71
-          <template slot-scope="scope">
72
-            {{getManufactuerName(scope.row.manufacturer)}}
73
-          </template>
74
-        </el-table-column>
75
-
76
-        <el-table-column label="经销商" align="center">
77
-          <template slot-scope="scope">
78
-            {{getDealerName(scope.row.dealer)}}
79
-          </template>
80
-        </el-table-column>
81
-
82
-        <el-table-column label="操作" align="center">
83
-          <template slot-scope="scope">
84
-            <el-button
85
-              size="mini"
86
-              type="primary"
87
-              icon="el-icon-edit"
88
-              @click="handleEdit(scope.$index, scope.row)">
89
-            </el-button>
90
-
91
-            <el-button
92
-              size="mini"
93
-              type="danger"
94
-              icon="el-icon-delete"
95
-              @click="handleDelete(scope.$index, scope.row)">
96
-            </el-button>
97
-
98
-          </template>
99
-        </el-table-column>
100
-
101
-      </el-table>
102
-
103
-      <el-pagination
104
-        @size-change="handleSizeChange"
105
-        @current-change="handleCurrentChange"
106
-        :page-sizes="[7]"
107
-        :page-size="7"
108
-        background
109
-        style="margin-top:20px;float: right"
110
-        layout="total, sizes, prev, pager, next, jumper"
111
-        :total="total">
112
-      </el-pagination>
113
-
114
-    </el-row>
115 116
   </div>
117
+
116 118
 </template>
117 119
 
118 120
 <script>
@@ -121,13 +123,15 @@
121 123
   import {
122 124
     deleteSalesReturn,
123 125
     GetAllConfig,
124
-    getWarehouseInfoList,
125 126
     getSalesReturnList,
127
+    getWarehouseInfoList,
126 128
     getWarehouseList
127 129
   } from '@/api/stock'
130
+  import BreadCrumb from '../components/bread-crumb'
128 131
 
129 132
   export default {
130
-    name: 'otherSalesReturnOrder',
133
+    name: 'salesReturnOrder',
134
+    components: { BreadCrumb },
131 135
     created() {
132 136
       var year = new Date().getFullYear()
133 137
       var month = new Date().getMonth() + 1
@@ -158,7 +162,11 @@
158 162
     },
159 163
     data() {
160 164
       return {
161
-        type:2,
165
+        crumbs: [
166
+          { path: false, name: '库存管理' },
167
+          { path: '/stock/return', name: '其他退货单' }
168
+        ],
169
+        type: 2,
162 170
         page: 1,
163 171
         limit: 7,
164 172
         checked: false,
@@ -175,13 +183,13 @@
175 183
         goodInfo: [],
176 184
         manufacturer: [],
177 185
         selectedTableData: [],
178
-        dealer: [],
186
+        dealer: []
179 187
 
180 188
       }
181 189
     },
182 190
     methods: {
183
-      AddNewOrder:function(){
184
-        this.$router.push({ name: 'salesReturnOrderAdd'})
191
+      AddNewOrder: function() {
192
+        this.$router.push({ name: 'salesReturnOrderAdd', query: { type: this.type }})
185 193
       },
186 194
       GetSalesReturn: function() {
187 195
         const Params = {
@@ -189,7 +197,7 @@
189 197
           limit: this.limit,
190 198
           start_time: this.start_time,
191 199
           end_time: this.end_time,
192
-          type: this.type,
200
+          type: this.type
193 201
         }
194 202
         this.saleReturnDate = []
195 203
         getSalesReturnList(Params).then(response => {
@@ -272,7 +280,7 @@
272 280
           }
273 281
         }
274 282
       }, handleEdit: function(index, row) {
275
-        this.$router.push({ name: 'salesReturnDetail', query: { id: row.id }})
283
+        this.$router.push({ name: 'salesReturnDetail', query: { id: row.id, type: this.type }})
276 284
       }, handleDelete: function(index, row) {
277 285
         const ids = []
278 286
         ids.push(row.id)

+ 0 - 414
src/xt_pages/stock/otherSalesReturnOrderAdd.vue View File

@@ -1,414 +0,0 @@
1
-<template>
2
-
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-    <sales-return-dialog :propForm="propForm"
6
-                         :visibility="isVisibility"
7
-                         v-on:dialog-comfirm="comfirm"
8
-                         v-on:dialog-cancle="cancle"></sales-return-dialog>
9
-
10
-    <div class="filter-container">
11
-
12
-      <el-row>
13
-        <el-col :span="8"><div>
14
-          <span>退货时间:</span>
15
-          <el-date-picker v-model="return_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
16
-                          type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
17
-                          value-format="yyyy-MM-dd"></el-date-picker>
18
-        </div></el-col>
19
-
20
-
21
-        <el-col :span="8">
22
-          <div>
23
-            <el-form ref="form" :model="form" :rules="ruleForm" label-width="80px">
24
-              <el-form-item label="厂商:" prop="manufacturer">
25
-                <el-select v-model="form.manufacturer" placeholder="请选择厂商">
26
-                  <el-option v-for="(option, index) in manufacturer" :key="index" :label="option.manufacturer_name" :value="option.id"></el-option>
27
-                </el-select>
28
-              </el-form-item>
29
-            </el-form>
30
-          </div>
31
-        </el-col>
32
-        <el-col :span="8">
33
-          <div>
34
-            <el-form ref="form" :model="form" label-width="80px">
35
-              <el-form-item label="经销商:">
36
-                <el-select v-model="form.dealer" placeholder="请选择经销商">
37
-                  <el-option v-for="(option, index) in dealer" :key="index" :label="option.dealer_name" :value="option.id"></el-option>
38
-                </el-select>
39
-              </el-form-item>
40
-            </el-form>
41
-          </div>
42
-        </el-col>
43
-      </el-row>
44
-
45
-    </div>
46
-
47
-    <el-row>
48
-      <el-col>
49
-        <el-form  :rules="tableRules" :model="recordInfo" ref="tableForm">
50
-          <el-table :data="recordInfo.recordData" :class="signAndWeighBoxPatients" style="width: 100%" border
51
-                    max-height="450"
52
-          >
53
-
54
-            <el-table-column label="操作" align="center" min-width="30">
55
-              <template slot-scope="scope">
56
-                <el-button
57
-                  size="mini"
58
-                  @click="handleEdit(scope.$index, scope.row)">+
59
-                </el-button>
60
-                <el-button
61
-                  size="mini"
62
-                  type="danger"
63
-                  @click="handleDelete(scope.$index, scope.row)">-
64
-                </el-button>
65
-              </template>
66
-            </el-table-column>
67
-
68
-            <el-table-column min-width="35" align="center">
69
-
70
-              <template slot="header" slot-scope="scope">
71
-                <span>物品类型<span style="color: red">*</span></span>
72
-              </template>
73
-
74
-              <template slot-scope="scope" >
75
-                <!--<span @click="showDialog(scope.$index, scope.row)" v-if="scope.row.good_type_id == 0" style="color:#c5c8cf">请输入类型</span>-->
76
-                <!--<span @click="showDialog(scope.$index, scope.row)" v-if="scope.row.good_type_id != 0">{{typeName(scope.row.good_type_id)}}</span>-->
77
-
78
-                <el-form-item  style="padding-top: 15px">
79
-                  <el-input placeholder="请输入物品类型"  v-model="scope.row.good_type_id" :value="typeName(scope.row.good_type_id)" @focus="showDialog(scope.$index, scope.row)" ></el-input>
80
-                </el-form-item>
81
-
82
-              </template>
83
-            </el-table-column>
84
-            <el-table-column min-width="35" align="center">
85
-              <template slot="header" slot-scope="scope">
86
-                <span>规格名称<span style="color: red">*</span></span>
87
-              </template>
88
-              <template slot-scope="scope">
89
-
90
-                <el-form-item  style="padding-top: 15px">
91
-                  <el-input placeholder="请输入规格名称"  v-model="scope.row.good_id" :value="specificationName(scope.row.good_id)" @focus="showDialog(scope.$index, scope.row)" ></el-input>
92
-                </el-form-item>
93
-
94
-              </template>
95
-            </el-table-column>
96
-
97
-
98
-            <el-table-column  min-width="23" align="center">
99
-              <template slot="header" slot-scope="scope">
100
-                <span>退货数量<span style="color: red">*</span></span>
101
-              </template>
102
-              <template slot-scope="scope">
103
-                <!--{{scope.row.warehousing_count}}-->
104
-                <!--<el-input type="number" v-model="scope.row.warehousing_count"   @blur="handleBlur(scope.$index, scope.row)"></el-input>-->
105
-
106
-                <el-form-item :prop="'recordData.' + scope.$index + '.return_count'" :rules='tableRules.return_count' style="padding-top: 17px">
107
-                  <el-input type="number"  v-model="scope.row.return_count" ></el-input>
108
-                </el-form-item>
109
-              </template>
110
-            </el-table-column>
111
-
112
-          </el-table>
113
-        </el-form>
114
-      </el-col>
115
-
116
-
117
-      <span  class="dialog-footer" style="margin-top: 20px;float:right">
118
-        <el-button @click="back()">取 消</el-button>
119
-        <el-button type="primary" @click="submit()">确 定</el-button>
120
-      </span>
121
-
122
-    </el-row>
123
-  </div>
124
-</template>
125
-
126
-<script>
127
-  import { uParseTime } from '@/utils/tools'
128
-  import {
129
-    getSalesReturnConfig,
130
-    postSalesReturn,
131
-  } from '@/api/stock'
132
-  import SalesReturnDialog from './Dialog/salesReturnDialog'
133
-
134
-  export default {
135
-    components: { SalesReturnDialog},
136
-    name: 'otherSalesReturnOrderAdd',
137
-
138
-    data() {
139
-      return {
140
-        signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
141
-        return_time: '',
142
-        currentIndex: 0,
143
-        type:2,
144
-        recordInfo: {
145
-          recordData: [],
146
-        },
147
-        tableRules: {
148
-          price: [
149
-            { required: true, message: '单价不能为空', trigger: 'blur' }
150
-          ],
151
-          return_count: [
152
-            { required: true, message: '数量不能为空', trigge: 'blur' }
153
-          ],
154
-        },
155
-        ruleForm: {
156
-          manufacturer: [
157
-            { required: true, message: '请选择厂商', trigger: 'change' }
158
-          ]
159
-
160
-        },
161
-        // prop
162
-        isVisibility: false,
163
-        propForm: {
164
-          goodType: [],
165
-          goodInfo: [],
166
-          goodUnit: [],
167
-        },
168
-        form: {
169
-          manufacturer: '',
170
-          dealer: ''
171
-        },
172
-
173
-        manufacturer: [],
174
-        dealer: [],
175
-        goodType: []
176
-      }
177
-    },
178
-    methods: {
179
-      comfirm: function(val) {
180
-        this.isVisibility = false
181
-        if (val.selectedGoodInfo.length > 0) {
182
-          for (let i = val.selectedGoodInfo.length - 1; ;i--) {
183
-            if (i == 0) {
184
-              this.recordInfo.recordData[this.currentIndex].good_type_id = val.goodTypeId
185
-              this.recordInfo.recordData[this.currentIndex].good_id = val.selectedGoodInfo[i].id
186
-            } else {
187
-              const tempForm = {}
188
-              tempForm['good_type_id'] = val.goodTypeId
189
-              tempForm['good_id'] = val.selectedGoodInfo[i].id
190
-              tempForm['return_count'] = ''
191
-              tempForm['price'] = ''
192
-              this.recordInfo.recordData.push(tempForm)
193
-            }
194
-          }
195
-        }
196
-
197
-        this.currentIndex = -1
198
-      }, cancle: function() {
199
-        this.isVisibility = false
200
-      }, GetConfigInfo: function() {
201
-        getSalesReturnConfig().then(response => {
202
-          if (response.data.state == 0) {
203
-            this.$message.error(response.data.msg)
204
-            return false
205
-          } else {
206
-            var warehouseList =  response.data.data.warehouseList
207
-            var warehouseInfoList =  response.data.data.warehouseInfoList
208
-            for (let i = 0; i <warehouseList.length; i++ ){
209
-              if(warehouseList[i].Manufacturer.id > 0){
210
-                this.manufacturer.push(warehouseList[i].Manufacturer)
211
-              }
212
-              if(warehouseList[i].Dealer.id > 0){
213
-                this.dealer.push(warehouseList[i].Dealer)
214
-              }
215
-            }
216
-
217
-            for (let i = 0; i < warehouseInfoList.length; i++) {
218
-              this.propForm.goodInfo.push(warehouseInfoList[i].GoodInfo)
219
-
220
-            }
221
-
222
-
223
-            const obj = {}
224
-            const obj2 = {}
225
-            const obj4 = {}
226
-            //去重复
227
-            this.manufacturer =  this.manufacturer.reduce((cur, next) => {
228
-              obj[next.id] ? '' : obj[next.id] = true && cur.push(next)
229
-              return cur
230
-            }, [])
231
-            //去重复
232
-            this.dealer =  this.dealer.reduce((cur, next) => {
233
-              obj2[next.id] ? '' : obj2[next.id] = true && cur.push(next)
234
-              return cur
235
-            }, [])
236
-            this.propForm.goodInfo = this.propForm.goodInfo.reduce((cur, next) => {
237
-              obj4[next.id] ? '' : obj4[next.id] = true && cur.push(next)
238
-              return cur
239
-            }, [])
240
-
241
-
242
-          }
243
-        })
244
-      }, typeName: function(good_type_id) {
245
-        let name = ''
246
-        for (let i = 0; i < this.propForm.goodType.length; i++) {
247
-          if (this.propForm.goodType[i].id == good_type_id) {
248
-            name = this.propForm.goodType[i].type_name
249
-          }
250
-        }
251
-        return name
252
-      }, specificationName: function(good_info_id) {
253
-        let name = ''
254
-        for (let i = 0; i < this.propForm.goodInfo.length; i++) {
255
-          if (this.propForm.goodInfo[i].id == good_info_id) {
256
-            name = this.propForm.goodInfo[i].specification_name
257
-          }
258
-        }
259
-        return name
260
-      }, handleEdit: function(index, row) {
261
-        const tempObj = {}
262
-        tempObj['good_type_id'] = 0
263
-        tempObj['good_id'] = 0
264
-        tempObj['return_count'] = ''
265
-        tempObj['price'] = ''
266
-        this.recordInfo.recordData.push(tempObj)
267
-      }, handleDelete: function(index, row) {
268
-        this.recordInfo.recordData.splice(index, 1)
269
-      }, calculate: function(val) {
270
-
271
-        if (val == 0) {
272
-          return ''
273
-        }
274
-
275
-        return Math.round(parseFloat(val) * 100) / 100
276
-      }, getTime(val, temp) {
277
-        if (val != 0) {
278
-          return uParseTime(val, temp)
279
-        } else {
280
-          return ''
281
-        }
282
-      }, showDialog(index, row) {
283
-        this.currentIndex = index
284
-        if (this.form.manufacturer == '' || this.form.manufacturer == 0) {
285
-          this.$message.error('请先选择厂商')
286
-          return
287
-        } else {
288
-          this.isVisibility = true
289
-          console.log(this.form.manufacturer)
290
-          for (let i = 0; i < this.propForm.goodInfo.length; i++){
291
-            if(this.propForm.goodInfo[i].manufacturer == this.form.manufacturer){
292
-              this.propForm.goodType.push(this.propForm.goodInfo[i].GoodsType)
293
-            }
294
-
295
-          }
296
-          const obj3 = {}
297
-          this.propForm.goodType = this.propForm.goodType.reduce((cur, next) => {
298
-            obj3[next.id] ? '' : obj3[next.id] = true && cur.push(next)
299
-            return cur
300
-          }, [])
301
-
302
-
303
-
304
-        }
305
-      }, back() {
306
-        this.$router.go(-1)
307
-      }, submit() {
308
-        this.$refs['tableForm'].validate((valid) => {
309
-          if (valid) {
310
-            if (this.form.manufacturer == 0) {
311
-              this.$message.error('厂商不能为空')
312
-              return
313
-            }
314
-            const array = this.recordInfo.recordData
315
-            let total = 0
316
-            for (let i = 0; i < array.length; i++) {
317
-              if (array[i].good_type_id == 0) {
318
-                this.$message.error('物品类型不能为空')
319
-                return
320
-              }
321
-              if (array[i].good_id == 0) {
322
-                this.$message.error('规格名称不能为空')
323
-                return
324
-              }
325
-              total = total + array[i].price * array[i].return_count
326
-            }
327
-            const params = {
328
-              'salesReturn': this.recordInfo.recordData
329
-            }
330
-            postSalesReturn(params,this.return_time,total,this.form.dealer,this.form.manufacturer,this.type).then(response=>{
331
-              if (response.data.state==0) {
332
-                this.$message.error(response.data.msg);
333
-                return false;
334
-              }else {
335
-                this.$notify({
336
-                  title: "成功",
337
-                  message: "退货成功",
338
-                  type: "success",
339
-                  duration: 2000
340
-                });
341
-                this.recordInfo.recordData = []
342
-                this.$router.back(-1)
343
-              }
344
-            });
345
-          } else {
346
-            return false
347
-          }
348
-        })
349
-      }
350
-    },
351
-    created() {
352
-      var year = new Date().getFullYear()
353
-      var month = new Date().getMonth() + 1
354
-      var day = new Date().getDate()
355
-      if (parseInt(month) < 10) {
356
-        month = '0' + month
357
-      }
358
-      if (parseInt(day) < 10) {
359
-        day = '0' + day
360
-      }
361
-      const endTime = year + '-' + month + '-' + day
362
-      this.return_time = endTime
363
-      const tempObj = {}
364
-      tempObj['good_type_id'] = 0
365
-      tempObj['good_id'] = 0
366
-      tempObj['return_count'] = ''
367
-      tempObj['price'] = ''
368
-      this.recordInfo.recordData.push(tempObj)
369
-      this.GetConfigInfo()
370
-      this.propForm.goodUnit = this.$store.getters.good_unit
371
-    }
372
-
373
-  }
374
-</script>
375
-
376
-<style rel="stylesheet/css" lang="scss" scoped>
377
-  .information {
378
-    border: 1px #dcdfe6 solid;
379
-    padding: 30px 20px 30px 20px;
380
-
381
-  .border {
382
-    border-bottom: 1px #dcdfe6 solid;
383
-    margin: 0px 0 20px 0;
384
-  }
385
-  }
386
-
387
-  .title {
388
-    background: #409eff;
389
-    height: 44px;
390
-    line-height: 44px;
391
-    padding: 0 0 0 10px;
392
-    color: #fff;
393
-    margin: 0 0 10px 0;
394
-  // border-radius: 4px 4px 0 0;
395
-  }
396
-
397
-  .edit_separater {
398
-    border-top: 1px solid rgb(233, 233, 233);
399
-    margin-top: 15px;
400
-    margin-bottom: 15px;
401
-  }
402
-
403
-</style>
404
-
405
-<style>
406
-  .sign-and-weigh-box .sign-and-weigh-box-patients .cell {
407
-    font-size: 12px;
408
-  }
409
-
410
-  .sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
411
-    background: #6fb5fa;
412
-  }
413
-
414
-</style>

+ 0 - 232
src/xt_pages/stock/otherSalesReturnOrderDetail.vue View File

@@ -1,232 +0,0 @@
1
-<template>
2
-
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-    <div class="filter-container">
6
-      <span style="font-size: 20px">退货单详情</span>
7
-      <el-row style="float:right;">
8
-        <span>{{ReturnInfo.salesReturn.order_number}}</span>
9
-      </el-row>
10
-    </div>
11
-
12
-
13
-
14
-    <div class="filter-container">
15
-      <span>单据日期:  {{ReturnInfo.salesReturn.return_time | parseTime('{y}-{m}-{d}')}} </span>
16
-      <span>厂商 {{getManufactuerName(ReturnInfo.salesReturn.manufacturer)}}</span>
17
-      <span>经销商 {{getDealerName(ReturnInfo.salesReturn.dealer)}}</span>
18
-    </div>
19
-
20
-    <div class="filter-container" style="margin-top: 10px">
21
-      <el-button size="small" icon="el-icon-edit" @click="editRecord">编辑</el-button>
22
-      <el-button size="small" icon="el-icon-delete" @click="deleteRecord">删除</el-button>
23
-    </div>
24
-
25
-    <el-row :gutter="12" style="margin-top: 10px">
26
-      <el-table :data="ReturnInfo.returnInfoData" :class="signAndWeighBoxPatients" style="width: 100%" border
27
-      >
28
-        <el-table-column min-width="35" align="center">
29
-          <template slot="header" slot-scope="scope">
30
-            <span>物品类型</span>
31
-          </template>
32
-
33
-          <template slot-scope="scope">
34
-            <span v-if="scope.row.good_type_id != 0">{{getTypeName(scope.row.good_type_id)}}</span>
35
-          </template>
36
-        </el-table-column>
37
-        <el-table-column min-width="35" align="center">
38
-          <template slot="header" slot-scope="scope">
39
-            <span>规格名称</span>
40
-          </template>
41
-          <template slot-scope="scope">
42
-            <span v-if="scope.row.good_id != 0">{{getSpecificationName(scope.row.good_id)}}</span>
43
-          </template>
44
-        </el-table-column>
45
-
46
-        <el-table-column min-width="23" align="center">
47
-          <template slot="header" slot-scope="scope">
48
-            <span>退货数量</span>
49
-          </template>
50
-          <template slot-scope="scope">
51
-            <span>{{scope.row.count}}</span>
52
-
53
-          </template>
54
-        </el-table-column>
55
-
56
-
57
-      </el-table>
58
-    </el-row>
59
-  </div>
60
-</template>
61
-
62
-<script>
63
-  import { uParseTime } from '@/utils/tools'
64
-  import { GetAllConfig,getReturnList,deleteSalesReturn } from '@/api/stock'
65
-
66
-  export default {
67
-    name: 'otherSalesReturnOrderDetail',
68
-    created() {
69
-      const order_id = this.$route.query.id
70
-      this.GetConfigInfo()
71
-      this.GetOrderDetail(order_id)
72
-    },
73
-    data() {
74
-      return {
75
-        isEdit: 0,
76
-        checked: false,
77
-        signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
78
-        goodType: [],
79
-        goodInfo: [],
80
-        manufacturer: [],
81
-        dealer: [],
82
-
83
-        ReturnInfo: {
84
-          loading: false,
85
-          returnInfoData: [],
86
-          salesReturn: {}
87
-        }
88
-      }
89
-    },
90
-    methods: {
91
-      getSpecificationName: function(id) {
92
-        let name = ''
93
-        for (let i = 0; i < this.goodInfo.length; i++) {
94
-          if (this.goodInfo[i].id == id) {
95
-            name = this.goodInfo[i].specification_name
96
-          }
97
-        }
98
-        return name
99
-      }, getTypeName: function(id) {
100
-        let name = ''
101
-        for (let i = 0; i < this.goodType.length; i++) {
102
-          if (this.goodType[i].id == id) {
103
-            name = this.goodType[i].type_name
104
-          }
105
-        }
106
-        return name
107
-      }, GetConfigInfo: function() {
108
-        GetAllConfig().then(response => {
109
-          if (response.data.state == 0) {
110
-            this.$message.error(response.data.msg)
111
-            return false
112
-          } else {
113
-            this.manufacturer = response.data.data.manufacturer
114
-            this.dealer = response.data.data.dealer
115
-            this.goodInfo = response.data.data.goodInfo
116
-            this.goodType = response.data.data.goodType
117
-          }
118
-        })
119
-      }, getManufactuerName: function(manufacturer_id) {
120
-        for (let i = 0; i < this.manufacturer.length; i++) {
121
-          if (this.manufacturer[i].id == manufacturer_id) {
122
-            return this.manufacturer[i].manufacturer_name
123
-          }
124
-        }
125
-      }, getDealerName: function(dealer_id) {
126
-        for (let i = 0; i < this.dealer.length; i++) {
127
-          if (this.dealer[i].id == dealer_id) {
128
-            return this.dealer[i].dealer_name
129
-          }
130
-        }
131
-      }, calculate: function(val) {
132
-        if (val == 0) {
133
-          return ''
134
-        }
135
-        return Math.round(parseFloat(val) * 100) / 100
136
-      }, GetOrderDetail: function(order_id) {
137
-        const params = {
138
-          'id': order_id
139
-        }
140
-        getReturnList(params).then(response => {
141
-          if (response.data.state == 0) {
142
-            this.$message.error(response.data.msg)
143
-            return false
144
-          } else {
145
-            for (let i = 0; i < response.data.data.list.length; i++) {
146
-              this.ReturnInfo.returnInfoData.push(response.data.data.list[i])
147
-            }
148
-            this.ReturnInfo.salesReturn = response.data.data.salesReturn
149
-          }
150
-        })
151
-      }, deleteRecord: function() {
152
-        const ids = []
153
-        ids.push(this.ReturnInfo.salesReturn.id)
154
-        const idStr = ids.join(',')
155
-
156
-        const params = {
157
-          ids: idStr
158
-        }
159
-
160
-        this.$confirm('确认删除退货单?', '删除退货单记录', {
161
-          confirmButtonText: '确定',
162
-          cancelButtonText: '取消',
163
-          type: 'warning'
164
-        }).then(() => {
165
-          deleteSalesReturn(params).then(response => {
166
-            if (response.data.state == 0) {
167
-              this.$message.error(response.data.msg)
168
-              return false
169
-            } else {
170
-              this.$notify({
171
-                title: '成功',
172
-                message: '删除成功',
173
-                type: 'success',
174
-                duration: 2000
175
-              })
176
-
177
-              this.$router.back(-1)
178
-            }
179
-          })
180
-        }).catch(() => {
181
-        })
182
-      }, editRecord: function() {
183
-        this.$emit('edit-record')
184
-      }
185
-    }
186
-  }
187
-</script>
188
-
189
-<style rel="stylesheet/css" lang="scss" scoped>
190
-  .information {
191
-    border: 1px #dcdfe6 solid;
192
-    padding: 30px 20px 30px 20px;
193
-
194
-  .border {
195
-    border-bottom: 1px #dcdfe6 solid;
196
-    margin: 0px 0 20px 0;
197
-  }
198
-
199
-  }
200
-
201
-  .title {
202
-    background: #409eff;
203
-    height: 44px;
204
-    line-height: 44px;
205
-    padding: 0 0 0 10px;
206
-    color: #fff;
207
-    margin: 0 0 10px 0;
208
-  }
209
-
210
-  .edit_separater {
211
-    border-top: 1px solid rgb(233, 233, 233);
212
-    margin-top: 15px;
213
-    margin-bottom: 15px;
214
-  }
215
-
216
-</style>
217
-
218
-<style>
219
-  .sign-and-weigh-box .sign-and-weigh-box-patients .cell {
220
-    font-size: 12px;
221
-  }
222
-
223
-  .sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
224
-    background: #6fb5fa;
225
-  }
226
-
227
-  .count {
228
-    color: #bd2c00;
229
-
230
-  }
231
-
232
-</style>

+ 0 - 391
src/xt_pages/stock/otherSalesReturnOrderEdit.vue View File

@@ -1,391 +0,0 @@
1
-<template>
2
-
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-    <sales-return-dialog :propForm="propForm"
6
-                         :visibility="isVisibility"
7
-                         v-on:dialog-comfirm="comfirm"
8
-                         v-on:dialog-cancle="cancle"></sales-return-dialog>
9
-
10
-    <div class="filter-container">
11
-
12
-      <el-row>
13
-        <el-col :span="8">
14
-          <div>
15
-            <span>入库时间:</span>
16
-            <el-date-picker v-model="return_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
17
-                            type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
18
-                            value-format="yyyy-MM-dd"></el-date-picker>
19
-          </div>
20
-        </el-col>
21
-      </el-row>
22
-    </div>
23
-
24
-    <el-row>
25
-      <el-col>
26
-        <el-form :rules="tableRules" :model="recordInfo" ref="tableForm">
27
-          <el-table :data="recordInfo.recordData" :class="signAndWeighBoxPatients" style="width: 100%" border
28
-                    max-height="450"
29
-          >
30
-
31
-            <el-table-column label="操作" align="center" min-width="30">
32
-              <template slot-scope="scope">
33
-                <el-button
34
-                  size="mini"
35
-                  @click="handleEdit(scope.$index, scope.row)">+
36
-                </el-button>
37
-                <el-button
38
-                  size="mini"
39
-                  type="danger"
40
-                  @click="handleDelete(scope.$index, scope.row)">-
41
-                </el-button>
42
-              </template>
43
-            </el-table-column>
44
-
45
-            <el-table-column min-width="35" align="center">
46
-
47
-              <template slot="header" slot-scope="scope">
48
-                <span>物品类型<span style="color: red">*</span></span>
49
-              </template>
50
-
51
-              <template slot-scope="scope">
52
-                <el-form-item style="padding-top: 15px">
53
-                  <el-input placeholder="请输入物品类型" v-model="scope.row.good_type_id"
54
-                            :value="typeName(scope.row.good_type_id)"
55
-                            @focus="showDialog(scope.$index, scope.row)"></el-input>
56
-                </el-form-item>
57
-              </template>
58
-            </el-table-column>
59
-            <el-table-column min-width="35" align="center">
60
-              <template slot="header" slot-scope="scope">
61
-                <span>规格名称<span style="color: red">*</span></span>
62
-              </template>
63
-              <template slot-scope="scope">
64
-
65
-                <el-form-item style="padding-top: 15px">
66
-                  <el-input placeholder="请输入规格名称" v-model="scope.row.good_id"
67
-                            :value="specificationName(scope.row.good_id)"
68
-                            @focus="showDialog(scope.$index, scope.row)"></el-input>
69
-                </el-form-item>
70
-
71
-              </template>
72
-            </el-table-column>
73
-
74
-
75
-            <el-table-column min-width="23" align="center">
76
-              <template slot="header" slot-scope="scope">
77
-                <span>退货数量<span style="color: red">*</span></span>
78
-              </template>
79
-              <template slot-scope="scope">
80
-                <el-form-item :prop="'recordData.' + scope.$index + '.count'" :rules='tableRules.count'
81
-                              style="padding-top: 17px">
82
-                  <el-input type="number" v-model="scope.row.count"></el-input>
83
-                </el-form-item>
84
-              </template>
85
-            </el-table-column>
86
-
87
-
88
-          </el-table>
89
-        </el-form>
90
-      </el-col>
91
-
92
-
93
-      <span class="dialog-footer" style="margin-top: 20px;float:right">
94
-        <el-button @click="back()">取 消</el-button>
95
-        <el-button type="primary" @click="submit()">确 定</el-button>
96
-      </span>
97
-
98
-    </el-row>
99
-  </div>
100
-</template>
101
-
102
-<script>
103
-  import { uParseTime } from '@/utils/tools'
104
-
105
-  import {
106
-    deleteSalesReturnInfo,
107
-    getReturnList,
108
-    getSalesReturnConfig,
109
-    editSalesReturnInfo
110
-  } from '@/api/stock'
111
-  import SalesReturnDialog from './Dialog/salesReturnDialog'
112
-
113
-  export default {
114
-    components: { SalesReturnDialog },
115
-    name: 'otherSalesReutrnOrderEdit',
116
-
117
-    data() {
118
-      return {
119
-        signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
120
-        warehousing_time: '',
121
-        adminUserOptions: null,
122
-        currentIndex: 0,
123
-        return_time: '',
124
-        recordInfo: {
125
-          recordData: [],
126
-          stock_in_code: '',
127
-          current_index: ''
128
-
129
-        },
130
-        tableRules: {
131
-          count: [
132
-            { required: true, message: '数量不能为空', trigge: 'blur' }
133
-          ]
134
-
135
-        },
136
-        ruleForm: {
137
-          manufacturer: [
138
-            { required: true, message: '请选择厂商', trigger: 'change' }
139
-          ]
140
-
141
-        },
142
-
143
-        // prop
144
-        isVisibility: false,
145
-        propForm: {
146
-          goodType: [],
147
-          goodInfo: [],
148
-          goodUnit: [],
149
-          title: '入库'
150
-        },
151
-
152
-        form: {
153
-          manufacturer: '',
154
-          dealer: ''
155
-        },
156
-
157
-        salesReturn: {},
158
-        manufacturer: [],
159
-        dealer: [],
160
-        goodType: []
161
-      }
162
-    },
163
-    methods: {
164
-      comfirm: function(val) {
165
-        this.isVisibility = false
166
-        if (val.selectedGoodInfo.length > 0) {
167
-          for (let i = val.selectedGoodInfo.length - 1; ; i--) {
168
-            if (i == 0) {
169
-              this.recordInfo.recordData[this.currentIndex].good_type_id = val.goodTypeId
170
-              this.recordInfo.recordData[this.currentIndex].good_id = val.selectedGoodInfo[i].id
171
-            } else {
172
-              const tempForm = {}
173
-              tempForm['id'] = 0
174
-              tempForm['good_type_id'] = val.goodTypeId
175
-              tempForm['good_id'] = val.selectedGoodInfo[i].id
176
-              tempForm['count'] = ''
177
-              this.recordInfo.recordData.push(tempForm)
178
-            }
179
-          }
180
-        }
181
-
182
-        this.currentIndex = -1
183
-      }, cancle: function() {
184
-        this.isVisibility = false
185
-      }, GetConfigInfo: function() {
186
-        getSalesReturnConfig().then(response => {
187
-          if (response.data.state == 0) {
188
-            this.$message.error(response.data.msg)
189
-            return false
190
-          } else {
191
-            var warehouseInfoList = response.data.data.warehouseInfoList
192
-            for (let i = 0; i < warehouseInfoList.length; i++) {
193
-              this.propForm.goodInfo.push(warehouseInfoList[i].GoodInfo)
194
-              this.propForm.goodType.push(warehouseInfoList[i].GoodInfo.GoodsType)
195
-
196
-            }
197
-            const obj3 = {}
198
-            const obj4 = {}
199
-            this.propForm.goodInfo = this.propForm.goodInfo.reduce((cur, next) => {
200
-              obj4[next.id] ? '' : obj4[next.id] = true && cur.push(next)
201
-              return cur
202
-            }, [])
203
-            this.propForm.goodType = this.propForm.goodType.reduce((cur, next) => {
204
-              obj3[next.id] ? '' : obj3[next.id] = true && cur.push(next)
205
-              return cur
206
-            }, [])
207
-          }
208
-        })
209
-      }, typeName: function(good_type_id) {
210
-        let name = ''
211
-        for (let i = 0; i < this.propForm.goodType.length; i++) {
212
-          if (this.propForm.goodType[i].id == good_type_id) {
213
-            name = this.propForm.goodType[i].type_name
214
-          }
215
-        }
216
-        return name
217
-      }, specificationName: function(good_info_id) {
218
-        let name = ''
219
-        for (let i = 0; i < this.propForm.goodInfo.length; i++) {
220
-          if (this.propForm.goodInfo[i].id == good_info_id) {
221
-            name = this.propForm.goodInfo[i].specification_name
222
-          }
223
-        }
224
-        return name
225
-      }, handleEdit: function(index, row) {
226
-        const tempObj = {}
227
-        tempObj['id'] = 0
228
-        tempObj['good_type_id'] = 0
229
-        tempObj['good_id'] = 0
230
-        tempObj['count'] = ''
231
-        this.recordInfo.recordData.push(tempObj)
232
-      }, handleDelete: function(index, row) {
233
-        if (row.id == 0) {
234
-          this.recordInfo.recordData.splice(index, 1)
235
-        } else {
236
-          const params = {
237
-            id: row.id
238
-          }
239
-          this.$confirm('确认删除该退货物品信息记录?', '删除退货物品信息记录', {
240
-            confirmButtonText: '确定',
241
-            cancelButtonText: '取消',
242
-            type: 'warning'
243
-          }).then(() => {
244
-            deleteSalesReturnInfo(params).then(response => {
245
-              if (response.data.state == 0) {
246
-                this.$message.error(response.data.msg)
247
-                return false
248
-              } else {
249
-                this.$notify({
250
-                  title: '成功',
251
-                  message: '删除成功',
252
-                  type: 'success',
253
-                  duration: 2000
254
-                })
255
-                this.recordInfo.recordData.splice(index, 1)
256
-              }
257
-            })
258
-          }).catch(() => {
259
-          })
260
-        }
261
-      }, getTime(val, temp) {
262
-        if (val != 0) {
263
-          return uParseTime(val, temp)
264
-        } else {
265
-          return ''
266
-        }
267
-      }, showDialog(index, row) {
268
-        this.currentIndex = index
269
-
270
-        this.isVisibility = true
271
-        console.log(this.form.manufacturer)
272
-        for (let i = 0; i < this.propForm.goodInfo.length; i++) {
273
-          if (this.propForm.goodInfo[i].manufacturer == this.form.manufacturer) {
274
-            this.propForm.goodType.push(this.propForm.goodInfo[i].GoodsType)
275
-          }
276
-        }
277
-        const obj3 = {}
278
-        this.propForm.goodType = this.propForm.goodType.reduce((cur, next) => {
279
-          obj3[next.id] ? '' : obj3[next.id] = true && cur.push(next)
280
-          return cur
281
-        }, [])
282
-
283
-      }, back() {
284
-        this.$router.go(-1)
285
-      }, submit() {
286
-        this.$refs['tableForm'].validate((valid) => {
287
-          if (valid) {
288
-            const array = this.recordInfo.recordData
289
-            for (let i = 0; i < array.length; i++) {
290
-              if (array[i].good_type_id == 0) {
291
-                this.$message.error('物品类型不能为空')
292
-                return
293
-              }
294
-              if (array[i].good_id == 0) {
295
-                this.$message.error('规格名称不能为空')
296
-                return
297
-              }
298
-            }
299
-
300
-            const params = {
301
-              'salesReturn': this.recordInfo.recordData
302
-            }
303
-            editSalesReturnInfo(params, this.return_time, this.$route.query.id).then(response => {
304
-              if (response.data.state == 0) {
305
-                this.$message.error(response.data.msg)
306
-                return false
307
-              } else {
308
-                this.$notify({
309
-                  title: '成功',
310
-                  message: '退货成功',
311
-                  type: 'success',
312
-                  duration: 2000
313
-                })
314
-                this.$router.back(-1)
315
-              }
316
-            })
317
-          } else {
318
-            return false
319
-          }
320
-        })
321
-      }, GetOrderDetail: function(order_id) {
322
-        const params = {
323
-          'id': order_id
324
-        }
325
-        getReturnList(params).then(response => {
326
-          if (response.data.state == 0) {
327
-            this.$message.error(response.data.msg)
328
-            return false
329
-          } else {
330
-            for (let i = 0; i < response.data.data.list.length; i++) {
331
-              this.recordInfo.list[i].count =  this.recordInfo.list[i].count.toString();
332
-              this.recordInfo.recordData.push(response.data.data.list[i])
333
-            }
334
-            this.salesReturn = response.data.data.salesReturn
335
-            this.return_time = this.getTime(this.salesReturn.return_time, '{y}-{m}-{d}')
336
-            this.form.manufacturer = this.salesReturn.manufacturer
337
-            this.form.dealer = this.salesReturn.dealer
338
-          }
339
-        })
340
-      }
341
-    },
342
-    created() {
343
-      this.GetConfigInfo()
344
-      this.propForm.goodUnit = this.$store.getters.good_unit
345
-      const order_id = this.$route.query.id
346
-      this.GetOrderDetail(order_id)
347
-    }
348
-
349
-  }
350
-</script>
351
-
352
-<style rel="stylesheet/css" lang="scss" scoped>
353
-  .information {
354
-    border: 1px #dcdfe6 solid;
355
-    padding: 30px 20px 30px 20px;
356
-
357
-  .border {
358
-    border-bottom: 1px #dcdfe6 solid;
359
-    margin: 0px 0 20px 0;
360
-  }
361
-
362
-  }
363
-
364
-  .title {
365
-    background: #409eff;
366
-    height: 44px;
367
-    line-height: 44px;
368
-    padding: 0 0 0 10px;
369
-    color: #fff;
370
-    margin: 0 0 10px 0;
371
-    border-radius: 4px 4px 0 0;
372
-  }
373
-
374
-  .edit_separater {
375
-    border-top: 1px solid rgb(233, 233, 233);
376
-    margin-top: 15px;
377
-    margin-bottom: 15px;
378
-  }
379
-
380
-</style>
381
-
382
-<style>
383
-  .sign-and-weigh-box .sign-and-weigh-box-patients .cell {
384
-    font-size: 12px;
385
-  }
386
-
387
-  .sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
388
-    background: #6fb5fa;
389
-  }
390
-
391
-</style>

+ 0 - 24
src/xt_pages/stock/otherStockInDetail.vue View File

@@ -1,24 +0,0 @@
1
-<template>
2
-  <other-stock-in-order-detail v-if="isEdit == 0"   v-on:edit-record="isEdit = 1"></other-stock-in-order-detail>
3
-  <other-stock-in-order-edit v-else></other-stock-in-order-edit>
4
-</template>
5
-
6
-<script>
7
-  import OtherStockInOrderEdit from './otherStockInOrderEdit'
8
-  import OtherStockInOrderDetail from './otherStockInOrderDetail'
9
-  export default {
10
-    name: 'otherStockInDetail',
11
-    components: { OtherStockInOrderDetail, OtherStockInOrderEdit },
12
-    data() {
13
-      return {
14
-        isEdit: 0
15
-      }
16
-    }
17
-
18
-  }
19
-
20
-</script>
21
-
22
-<style scoped>
23
-
24
-</style>

+ 57 - 51
src/xt_pages/stock/otherStockInOrder.vue View File

@@ -1,39 +1,35 @@
1 1
 <template>
2 2
 
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-
6
-    <div class="filter-container">
7
-
8
-
9
-      <el-row style="float:right;">
10
-        <el-button @click="handleWarehouse" type="primary">新增</el-button>
11
-      </el-row>
12
-    </div>
13
-
14
-    <div class="filter-container" style="margin-top:20px">
15
-      <el-input style="width: 300px;" class="filter-item" placeholder="单据日期/单据编码/制单人/供应商"/>
16
-      <el-button class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
17
-    </div>
18
-
19
-    <div class="filter-container">
20
-      <span>入库时间:</span>
21
-      <el-date-picker v-model="start_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
22
-                      type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
23
-                      value-format="yyyy-MM-dd" @change="startTimeChange"></el-date-picker>
24
-      <span class="">-</span>
25
-      <el-date-picker v-model="end_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
26
-                      type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
27
-                      value-format="yyyy-MM-dd" @change="endTimeChange"></el-date-picker>
3
+  <div class="main-contain">
4
+    <div class="position">
5
+      <!--<bread-crumb :crumbs='crumbs'></bread-crumb>-->
6
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
7
+      <el-button size="small"  @click="handleWarehouse" class="filter-item" style="float:right;" type="primary" icon="el-icon-circle-plus-outline" >新增</el-button>
28 8
     </div>
29 9
 
30
-    <div class="filter-container" style="margin-top: 10px">
31
-      <el-checkbox style="width: 30px" v-model="checked" @change="changeAllSelected">全选</el-checkbox>
32
-      <el-button size="small" icon="el-icon-delete" @click="batchDelete">删除</el-button>
33
-
34
-    </div>
10
+    <div class="app-container">
11
+
12
+      <div class="cell">
13
+        <el-input style="width: 300px;" class="filter-item" placeholder="单据日期/单据编码/制单人/供应商"/>
14
+        <el-button class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
15
+      </div>
16
+
17
+      <div class="cell">
18
+        <span>其他入库时间:&nbsp;&nbsp;</span>
19
+        <el-date-picker v-model="start_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
20
+                        type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
21
+                        value-format="yyyy-MM-dd" @change="startTimeChange"></el-date-picker>
22
+        <span class="">-</span>
23
+        <el-date-picker v-model="end_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
24
+                        type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
25
+                        value-format="yyyy-MM-dd" @change="endTimeChange"></el-date-picker>
26
+      </div>
27
+
28
+      <div class="cell clearfix">
29
+        <el-checkbox style="width: 30px" v-model="checked" @change="changeAllSelected">全选</el-checkbox>
30
+        <el-button size="small" icon="el-icon-delete" @click="batchDelete">删除</el-button>
31
+      </div>
35 32
 
36
-    <el-row :gutter="12" style="margin-top: 10px">
37 33
       <el-table
38 34
         :data="Warehouse.warehouseDate"
39 35
         :class="signAndWeighBoxPatients"
@@ -42,14 +38,17 @@
42 38
         v-loading="Warehouse.loading"
43 39
         ref="multipleTable"
44 40
         @selection-change="select"
41
+        :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}"
42
+
45 43
 
46 44
       >
47 45
         <el-table-column
46
+          align="center"
48 47
           type="selection"
49 48
           width="55">
50 49
         </el-table-column>
51 50
 
52
-        <el-table-column label="单据日期" align="center">
51
+        <el-table-column label="单据日期"  align="center">
53 52
           <template slot-scope="scope">
54 53
             {{ scope.row.warehousing_time | parseTime('{y}-{m}-{d}')}}
55 54
           </template>
@@ -82,20 +81,22 @@
82 81
 
83 82
         <el-table-column label="操作" align="center">
84 83
           <template slot-scope="scope">
85
-            <el-button
86
-              size="mini"
87
-              type="primary"
88
-              icon="el-icon-edit"
89
-              @click="handleEdit(scope.$index, scope.row)">
90
-            </el-button>
91
-
92
-            <el-button
93
-              size="mini"
94
-              type="danger"
95
-              icon="el-icon-delete"
96
-              @click="handleDelete(scope.$index, scope.row)">
97
-            </el-button>
98
-
84
+            <el-tooltip class="item" effect="dark" content="编辑" placement="top">  
85
+              <el-button
86
+                size="small"
87
+                type="primary"
88
+                icon="el-icon-edit"
89
+                @click="handleEdit(scope.$index, scope.row)">
90
+              </el-button>
91
+            </el-tooltip>
92
+            <el-tooltip class="item" effect="dark" content="删除" placement="top">
93
+              <el-button
94
+                size="small"
95
+                type="danger"
96
+                icon="el-icon-delete"
97
+                @click="handleDelete(scope.$index, scope.row)">
98
+              </el-button>
99
+            </el-tooltip>
99 100
           </template>
100 101
         </el-table-column>
101 102
 
@@ -111,8 +112,7 @@
111 112
         layout="total, sizes, prev, pager, next, jumper"
112 113
         :total="total">
113 114
       </el-pagination>
114
-
115
-    </el-row>
115
+    </div>
116 116
   </div>
117 117
 </template>
118 118
 
@@ -127,9 +127,11 @@
127 127
     getWarehouseInfoList,
128 128
     getWarehouseList
129 129
   } from '@/api/stock'
130
+  import BreadCrumb from '../components/bread-crumb'
130 131
 
131 132
   export default {
132
-    name: 'otherStockInOrder',
133
+    name: 'stockIn',
134
+    components: { BreadCrumb },
133 135
     created() {
134 136
       var year = new Date().getFullYear()
135 137
       var month = new Date().getMonth() + 1
@@ -160,6 +162,10 @@
160 162
     },
161 163
     data() {
162 164
       return {
165
+        crumbs: [
166
+          { path: false, name: '库存管理' },
167
+          { path: '/stock/in/other', name: '其他入库单' }
168
+        ],
163 169
         page: 1,
164 170
         limit: 7,
165 171
         checked: false,
@@ -196,7 +202,7 @@
196 202
           limit: this.limit,
197 203
           start_time: this.start_time,
198 204
           end_time: this.end_time,
199
-          type : this.type,
205
+          type: this.type
200 206
         }
201 207
         this.Warehouse.warehouseDate = []
202 208
         getWarehouseList(Params).then(response => {
@@ -316,7 +322,7 @@
316 322
       }, clicks: function() {
317 323
         console.log(this.WarehouseInfo.warehouseInfoDate)
318 324
       }, handleWarehouse: function() {
319
-        this.$router.push({ path: '/stock/in/add' })
325
+        this.$router.push({ path: '/stock/in/add', query: { type: this.type }})
320 326
       }, handleReturnSales: function() {
321 327
         // this.$router.push({path:'/patients/create'}
322 328
         if (this.multipleSelection.length <= 0) {

+ 0 - 613
src/xt_pages/stock/otherStockInOrderAdd.vue View File

@@ -1,613 +0,0 @@
1
-<template>
2
-
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-    <stock-in-dialog :propForm="propForm"
6
-                     :visibility="isVisibility"
7
-                     v-on:dialog-comfirm="comfirm"
8
-                     v-on:dialog-cancle="cancle"></stock-in-dialog>
9
-
10
-    <div class="filter-container">
11
-
12
-      <el-row>
13
-        <el-col :span="8"><div>
14
-          <span>入库时间:</span>
15
-          <el-date-picker v-model="warehousing_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
16
-                          type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
17
-                          value-format="yyyy-MM-dd"></el-date-picker>
18
-        </div></el-col>
19
-
20
-
21
-        <el-col :span="8">
22
-          <div>
23
-            <el-form ref="form" :model="form" :rules="ruleForm" label-width="80px">
24
-              <el-form-item label="厂商:" prop="manufacturer">
25
-                <el-select v-model="form.manufacturer" placeholder="请选择厂商">
26
-                  <el-option v-for="(option, index) in manufacturer" :key="index" :label="option.manufacturer_name" :value="option.id"></el-option>
27
-                </el-select>
28
-              </el-form-item>
29
-            </el-form>
30
-          </div>
31
-        </el-col>
32
-        <el-col :span="8">
33
-          <div>
34
-            <el-form ref="form" :model="form" label-width="80px">
35
-              <el-form-item label="经销商:">
36
-                <el-select v-model="form.dealer" placeholder="请选择经销商">
37
-                  <el-option v-for="(option, index) in dealer" :key="index" :label="option.dealer_name" :value="option.id"></el-option>
38
-                </el-select>
39
-              </el-form-item>
40
-            </el-form>
41
-          </div>
42
-        </el-col>
43
-      </el-row>
44
-
45
-    </div>
46
-
47
-    <el-row>
48
-      <el-col>
49
-        <el-form  :rules="tableRules" :model="recordInfo" ref="tableForm">
50
-          <el-table :data="recordInfo.recordData" :class="signAndWeighBoxPatients" style="width: 100%" border
51
-                    max-height="450"
52
-          >
53
-
54
-            <el-table-column label="操作" align="center" min-width="30">
55
-              <template slot-scope="scope">
56
-                <el-button
57
-                  size="mini"
58
-                  @click="handleEdit(scope.$index, scope.row)">+
59
-                </el-button>
60
-                <el-button
61
-                  size="mini"
62
-                  type="danger"
63
-                  @click="handleDelete(scope.$index, scope.row)">-
64
-                </el-button>
65
-              </template>
66
-            </el-table-column>
67
-
68
-            <el-table-column min-width="35" align="center">
69
-
70
-              <template slot="header" slot-scope="scope">
71
-                <span>物品类型<span style="color: red">*</span></span>
72
-              </template>
73
-
74
-              <template slot-scope="scope" >
75
-                <!--<span @click="showDialog(scope.$index, scope.row)" v-if="scope.row.good_type_id == 0" style="color:#c5c8cf">请输入类型</span>-->
76
-                <!--<span @click="showDialog(scope.$index, scope.row)" v-if="scope.row.good_type_id != 0">{{typeName(scope.row.good_type_id)}}</span>-->
77
-
78
-                <el-form-item  style="padding-top: 15px">
79
-                  <el-input placeholder="请输入物品类型"  v-model="scope.row.good_type_id" :value="typeName(scope.row.good_type_id)" @focus="showDialog(scope.$index, scope.row)" ></el-input>
80
-                </el-form-item>
81
-
82
-              </template>
83
-            </el-table-column>
84
-            <el-table-column min-width="35" align="center">
85
-              <template slot="header" slot-scope="scope">
86
-                <span>规格名称<span style="color: red">*</span></span>
87
-              </template>
88
-              <template slot-scope="scope">
89
-
90
-                <el-form-item  style="padding-top: 15px">
91
-                  <el-input placeholder="请输入规格名称"  v-model="scope.row.good_id" :value="specificationName(scope.row.good_id)" @focus="showDialog(scope.$index, scope.row)" ></el-input>
92
-                </el-form-item>
93
-
94
-              </template>
95
-            </el-table-column>
96
-
97
-
98
-            <el-table-column  min-width="23" align="center">
99
-              <template slot="header" slot-scope="scope">
100
-                <span>单价<span style="color: red">*</span></span>
101
-              </template>
102
-              <template slot-scope="scope">
103
-                <!--<el-input type="number" v-model="scope.row.price"  @blur="handleBlur(scope.$index, scope.row)"></el-input>-->
104
-                <el-form-item :prop="'recordData.' + scope.$index + '.price'" :rules='tableRules.price' style="padding-top: 17px">
105
-                  <el-input type="number"  v-model="scope.row.price" ></el-input>
106
-                </el-form-item>
107
-
108
-
109
-              </template>
110
-            </el-table-column>
111
-
112
-            <el-table-column  min-width="23" align="center">
113
-              <template slot="header" slot-scope="scope">
114
-                <span>入库数量<span style="color: red">*</span></span>
115
-              </template>
116
-              <template slot-scope="scope">
117
-                <!--{{scope.row.warehousing_count}}-->
118
-                <!--<el-input type="number" v-model="scope.row.warehousing_count"   @blur="handleBlur(scope.$index, scope.row)"></el-input>-->
119
-
120
-                <el-form-item :prop="'recordData.' + scope.$index + '.warehousing_count'" :rules='tableRules.warehousing_count' style="padding-top: 17px">
121
-                  <el-input type="number"  v-model="scope.row.warehousing_count" ></el-input>
122
-                </el-form-item>
123
-              </template>
124
-            </el-table-column>
125
-
126
-            <el-table-column label="总价" min-width="20" align="center">
127
-              <template slot-scope="scope">
128
-                {{calculate(scope.row.price*scope.row.warehousing_count)}}
129
-              </template>
130
-            </el-table-column>
131
-
132
-            <el-table-column  align="center" min-width="25">
133
-              <template slot="header" slot-scope="scope">
134
-                <span>批号<span style="color: red">*</span></span>
135
-              </template>
136
-              <template slot-scope="scope">
137
-                <!--<el-input  v-model="scope.row.numbers"></el-input>-->
138
-
139
-                <el-form-item :prop="'recordData.' + scope.$index + '.number'" :rules='tableRules.number' style="padding-top: 17px">
140
-                  <el-input  v-model="scope.row.number" ></el-input>
141
-                </el-form-item>
142
-
143
-              </template>
144
-            </el-table-column>
145
-            <el-table-column label="生产日期" min-width="40" align="center">
146
-              <template slot-scope="scope" >
147
-                <!--{{scope.row.product_date | parseTime("{y}-{m}-{d}")}}-->
148
-                <el-date-picker prefix-icon="el-icon-date" style="width: 145px" v-model="scope.row.product_date"
149
-                                type="date" placeholder="选择日期时间" format="yyyy-MM-dd"
150
-                                value-format="yyyy-MM-dd"></el-date-picker>
151
-
152
-              </template>
153
-            </el-table-column>
154
-            <el-table-column label="有效日期" min-width="40" align="center">
155
-              <template slot-scope="scope">
156
-                <!--{{ scope.row.expiry_date | parseTime("{y}-{m}-{d}")}}-->
157
-                <el-date-picker  prefix-icon="el-icon-date" style="width: 145px" v-model="scope.row.expiry_date"
158
-                                 type="date" placeholder="选择日期时间"  format="yyyy-MM-dd"
159
-                                 value-format="yyyy-MM-dd"></el-date-picker>
160
-
161
-              </template>
162
-            </el-table-column>
163
-            <el-table-column label="备注" min-width="20" align="center">
164
-              <template slot-scope="scope">
165
-                <el-input  v-model="scope.row.remark"></el-input>
166
-              </template>
167
-            </el-table-column>
168
-          </el-table>
169
-        </el-form>
170
-      </el-col>
171
-
172
-
173
-      <span  class="dialog-footer" style="margin-top: 20px;float:right">
174
-        <el-button @click="back()">取 消</el-button>
175
-        <el-button type="primary" @click="submit()">确 定</el-button>
176
-      </span>
177
-
178
-    </el-row>
179
-  </div>
180
-</template>
181
-
182
-<script>
183
-  import stockInDialog from './Dialog/stockInDialog'
184
-  import { uParseTime } from '@/utils/tools'
185
-
186
-  import {
187
-    GetAllGoodInfo,
188
-    GetAllGoodType,
189
-    postWarehouse,
190
-    GetAllConfig,
191
-    GetAllGoodInfoByID,
192
-    getWarehouseInfoByOrdeNumber,
193
-    modifyWarehouseInfo,
194
-    deleteWarehouseInfo
195
-  } from '@/api/stock'
196
-
197
-  export default {
198
-    components: { stockInDialog },
199
-    name: 'stockIn',
200
-
201
-    data() {
202
-      var checkGoodId = (rule, value, callback) => {
203
-        setTimeout(() => {
204
-          if (value == '' || value == 0) {
205
-            return callback(new Error('规格名称不能为空'))
206
-          }
207
-        }, 2000)
208
-      }
209
-
210
-      return {
211
-        signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
212
-        warehousing_time: '',
213
-        adminUserOptions: null,
214
-        currentIndex: 0,
215
-
216
-        recordInfo: {
217
-          recordData: [],
218
-          stock_in_code: '',
219
-          current_index: ''
220
-
221
-        },
222
-        tableRules: {
223
-          price: [
224
-            { required: true, message: '单价不能为空', trigger: 'blur' }
225
-          ],
226
-          warehousing_count: [
227
-            { required: true, message: '数量不能为空', trigge: 'blur' }
228
-          ],
229
-          number: [
230
-            { required: true, message: '批号不能为空', trigge: 'blur' }
231
-          ],
232
-          good_id: [
233
-            { validator: checkGoodId, trigger: 'blur' }
234
-          ]
235
-
236
-        },
237
-        ruleForm: {
238
-          manufacturer: [
239
-            { required: true, message: '请选择厂商', trigger: 'change' }
240
-          ]
241
-
242
-        },
243
-
244
-        total: '',
245
-        product_date: '',
246
-        expiry_date: '',
247
-        numbers: '',
248
-
249
-        type: 2,
250
-
251
-        // prop
252
-        isVisibility: false,
253
-        propForm: {
254
-          goodType: [],
255
-          goodInfo: [],
256
-          goodUnit: [],
257
-          title: '入库',
258
-          formValue: {
259
-            good_type_id: '',
260
-            good_id: '',
261
-            number: '',
262
-            product_date: '',
263
-            expiry_date: '',
264
-            warehousing_count: '',
265
-            price: '',
266
-            remark: '',
267
-            dealer: '',
268
-            manufacturer: ''
269
-
270
-          },
271
-          isCreated: 1
272
-
273
-        },
274
-
275
-        goodInfo: {
276
-          loading: false,
277
-          goodTypeData: [],
278
-          type_code: ''
279
-        },
280
-        form: {
281
-          manufacturer: '',
282
-          dealer: ''
283
-        },
284
-
285
-        formValue: {
286
-          good_type_id: '',
287
-          good_id: '',
288
-          number: '',
289
-          product_date: '',
290
-          expiry_date: '',
291
-          warehousing_count: '',
292
-          price: '',
293
-          remark: '',
294
-          dealer: '',
295
-          manufacturer: ''
296
-
297
-        },
298
-
299
-        manufacturer: [],
300
-        dealer: [],
301
-        goodType: []
302
-      }
303
-    },
304
-    methods: {
305
-      handleSave: function() {
306
-        if (this.recordInfo.recordData.length <= 0) {
307
-          this.$message.error('请添加入库信息')
308
-          return
309
-        }
310
-        sessionStorage.removeItem('warehousing_orders')
311
-        this.$router.back(-1)
312
-      }, handleCancle: function() {
313
-        this.$confirm('是否放弃编辑返回上一页?', '放弃编辑', {
314
-          confirmButtonText: '确定',
315
-          cancelButtonText: '取消',
316
-          type: 'warning'
317
-        }).then(() => {
318
-          sessionStorage.removeItem('warehousing_orders')
319
-          this.$router.back(-1)
320
-        }).catch(() => {
321
-
322
-        })
323
-      }, handleCreate: function() {
324
-        this.propForm.formValue = {}
325
-        this.propForm.isCreated = 1
326
-        this.isVisibility = true
327
-      }, comfirm: function(val) {
328
-        this.isVisibility = false
329
-        if (val.selectedGoodInfo.length > 0) {
330
-          for (let i = val.selectedGoodInfo.length - 1; ;i--) {
331
-            if (i == 0) {
332
-              this.recordInfo.recordData[this.currentIndex].good_type_id = val.goodTypeId
333
-              this.recordInfo.recordData[this.currentIndex].good_id = val.selectedGoodInfo[i].id
334
-            } else {
335
-              const tempForm = {}
336
-              tempForm['good_type_id'] = val.goodTypeId
337
-              tempForm['good_id'] = val.selectedGoodInfo[i].id
338
-              tempForm['number'] = ''
339
-              tempForm['product_date'] = 0
340
-              tempForm['expiry_date'] = 0
341
-              tempForm['warehousing_count'] = ''
342
-              tempForm['price'] = ''
343
-              tempForm['remark'] = ''
344
-              tempForm['dealer'] = ''
345
-              tempForm['manufacturer'] = ''
346
-              this.recordInfo.recordData.push(tempForm)
347
-            }
348
-          }
349
-        }
350
-
351
-        this.currentIndex = -1
352
-      }, cancle: function() {
353
-        this.isVisibility = false
354
-      }, GetAllGoodType: function() {
355
-        GetAllGoodType().then(response => {
356
-          if (response.data.state == 0) {
357
-            this.$message.error(response.data.msg)
358
-            return false
359
-          } else {
360
-            for (let i = 0; i < response.data.data.goodType.length; i++) {
361
-              this.propForm.goodType.push(response.data.data.goodType[i])
362
-            }
363
-          }
364
-        })
365
-      }, GetAllGoodInfo: function() {
366
-        GetAllGoodInfo().then(response => {
367
-          if (response.data.state == 0) {
368
-            this.$message.error(response.data.msg)
369
-            return false
370
-          } else {
371
-            for (let i = 0; i < response.data.data.goodInfo.length; i++) {
372
-              this.propForm.goodInfo.push(response.data.data.goodInfo[i])
373
-            }
374
-          }
375
-        })
376
-      }, GetConfigInfo: function() {
377
-        GetAllConfig().then(response => {
378
-          if (response.data.state == 0) {
379
-            this.$message.error(response.data.msg)
380
-            return false
381
-          } else {
382
-            this.manufacturer = response.data.data.manufacturer
383
-            this.dealer = response.data.data.dealer
384
-            this.goodType = response.data.data.goodType
385
-            this.goodInfo = response.data.data.goodInfo
386
-          }
387
-        })
388
-      }, typeName: function(good_type_id) {
389
-        let name = '请输入物品类型'
390
-        for (let i = 0; i < this.goodType.length; i++) {
391
-          if (this.goodType[i].id == good_type_id) {
392
-            name = this.goodType[i].type_name
393
-          }
394
-        }
395
-        return name
396
-      }, specificationName: function(good_info_id) {
397
-        let name = ''
398
-        for (let i = 0; i < this.goodInfo.length; i++) {
399
-          if (this.goodInfo[i].id == good_info_id) {
400
-            name = this.goodInfo[i].specification_name
401
-          }
402
-        }
403
-        return name
404
-      }, handleEdit: function(index, row) {
405
-        const tempObj = {}
406
-        tempObj['good_type_id'] = 0
407
-        tempObj['good_id'] = 0
408
-        tempObj['number'] = ''
409
-        tempObj['product_date'] = ''
410
-        tempObj['expiry_date'] = ''
411
-        tempObj['warehousing_count'] = ''
412
-        tempObj['price'] = ''
413
-        tempObj['remark'] = ''
414
-        tempObj['dealer'] = ''
415
-        tempObj['manufacturer'] = ''
416
-        this.recordInfo.recordData.push(tempObj)
417
-      }, handleDelete: function(index, row) {
418
-        this.recordInfo.recordData.splice(index, 1)
419
-      }, calculate: function(val) {
420
-        if (val == 0) {
421
-          return ''
422
-        }
423
-        return Math.round(parseFloat(val) * 100) / 100
424
-      }, GetWarehouseInfoByOrdeNumber: function() {
425
-        const params = {
426
-          'warehousing_order': sessionStorage.getItem('warehousing_orders')
427
-        }
428
-        this.recordInfo.recordData = []
429
-        getWarehouseInfoByOrdeNumber(params).then(response => {
430
-          if (response.data.state != 0) {
431
-            for (let i = 0; i < response.data.data.info.length; i++) {
432
-              this.recordInfo.recordData.push(response.data.data.info[i])
433
-            }
434
-          }
435
-        })
436
-      }, getTime(val, temp) {
437
-        if (val != 0) {
438
-          return uParseTime(val, temp)
439
-        } else {
440
-          return ''
441
-        }
442
-      }, showDialog(index, row) {
443
-        this.currentIndex = index
444
-        if (this.form.manufacturer == '' || this.form.manufacturer == 0) {
445
-          this.$message.error('请先选择厂商')
446
-          return
447
-        } else {
448
-          this.isVisibility = true
449
-          const params = {
450
-            id: this.form.manufacturer
451
-          }
452
-          GetAllGoodInfoByID(params).then(response => {
453
-            if (response.data.state == 0) {
454
-              this.$message.error(response.data.msg)
455
-              return false
456
-            } else {
457
-              if (response.data.data.goodInfo.length == 0) {
458
-                this.$message.error('该厂商没商品,请添加商品')
459
-              } else {
460
-                for (let i = 0; i < response.data.data.goodInfo.length; i++) {
461
-                  this.propForm.goodType.push(response.data.data.goodInfo[i].GoodsType)
462
-                }
463
-
464
-                const obj = {}
465
-                this.propForm.goodType = this.propForm.goodType.reduce((cur, next) => {
466
-                  obj[next.id] ? '' : obj[next.id] = true && cur.push(next)
467
-                  return cur
468
-                }, []) // 设置cur默认类型为数组,并且初始值为空的数组
469
-              }
470
-            }
471
-          })
472
-        }
473
-      }, getSummaries(param) {
474
-        const { columns, data } = param
475
-        const sums = []
476
-        columns.forEach((column, index) => {
477
-          if (index === 0) {
478
-            sums[index] = '总价'
479
-            return
480
-          }
481
-          const values = data.map(item => Number(item[column.property]))
482
-          if (!values.every(value => isNaN(value))) {
483
-            sums[index] = values.reduce((prev, curr) => {
484
-              const value = Number(curr)
485
-              if (!isNaN(value)) {
486
-                return prev + curr
487
-              } else {
488
-                return prev
489
-              }
490
-            }, 0)
491
-            sums[index] += ' 元'
492
-          } else {
493
-            sums[index] = 'N/A'
494
-          }
495
-        })
496
-
497
-        return sums
498
-      }, back() {
499
-        this.$router.go(-1)
500
-      }, submit() {
501
-        this.$refs['tableForm'].validate((valid) => {
502
-          if (valid) {
503
-            if (this.form.manufacturer == 0) {
504
-              this.$message.error('厂商不能为空')
505
-              return
506
-            }
507
-            const array = this.recordInfo.recordData
508
-            for (let i = 0; i < array.length; i++) {
509
-              if (array[i].good_type_id == 0) {
510
-                this.$message.error('物品类型不能为空')
511
-                return
512
-              }
513
-              if (array[i].good_id == 0) {
514
-                this.$message.error('规格名称不能为空')
515
-                return
516
-              }
517
-            }
518
-
519
-            const params = {
520
-              'stockIn': this.recordInfo.recordData
521
-            }
522
-            postWarehouse(params, this.warehousing_time, this.form.manufacturer, this.form.dealer,this.type).then(response => {
523
-              if (response.data.state == 0) {
524
-                this.$message.error(response.data.msg)
525
-                return false
526
-              } else {
527
-                this.$notify({
528
-                  title: '成功',
529
-                  message: '入库成功',
530
-                  type: 'success',
531
-                  duration: 2000
532
-                })
533
-                this.$router.back(-1)
534
-              }
535
-            })
536
-          } else {
537
-            return false
538
-          }
539
-        })
540
-      }
541
-    },
542
-    created() {
543
-      var year = new Date().getFullYear()
544
-      var month = new Date().getMonth() + 1
545
-      var day = new Date().getDate()
546
-      if (parseInt(month) < 10) {
547
-        month = '0' + month
548
-      }
549
-      if (parseInt(day) < 10) {
550
-        day = '0' + day
551
-      }
552
-      const endTime = year + '-' + month + '-' + day
553
-      this.warehousing_time = endTime
554
-
555
-      const tempObj = {}
556
-      tempObj['good_type_id'] = 0
557
-      tempObj['good_id'] = 0
558
-      tempObj['number'] = ''
559
-      tempObj['product_date'] = ''
560
-      tempObj['expiry_date'] = ''
561
-      tempObj['warehousing_count'] = ''
562
-      tempObj['price'] = ''
563
-      tempObj['remark'] = ''
564
-      tempObj['dealer'] = ''
565
-      tempObj['manufacturer'] = ''
566
-
567
-      this.recordInfo.recordData.push(tempObj)
568
-      this.GetConfigInfo()
569
-      this.propForm.goodUnit = this.$store.getters.good_unit
570
-    }
571
-
572
-  }
573
-</script>
574
-
575
-<style rel="stylesheet/css" lang="scss" scoped>
576
-  .information {
577
-    border: 1px #dcdfe6 solid;
578
-    padding: 30px 20px 30px 20px;
579
-
580
-  .border {
581
-    border-bottom: 1px #dcdfe6 solid;
582
-    margin: 0px 0 20px 0;
583
-  }
584
-  }
585
-
586
-  .title {
587
-    background: #409eff;
588
-    height: 44px;
589
-    line-height: 44px;
590
-    padding: 0 0 0 10px;
591
-    color: #fff;
592
-    margin: 0 0 10px 0;
593
-  // border-radius: 4px 4px 0 0;
594
-  }
595
-
596
-  .edit_separater {
597
-    border-top: 1px solid rgb(233, 233, 233);
598
-    margin-top: 15px;
599
-    margin-bottom: 15px;
600
-  }
601
-
602
-</style>
603
-
604
-<style>
605
-  .sign-and-weigh-box .sign-and-weigh-box-patients .cell {
606
-    font-size: 12px;
607
-  }
608
-
609
-  .sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
610
-    background: #6fb5fa;
611
-  }
612
-
613
-</style>

+ 0 - 281
src/xt_pages/stock/otherStockInOrderDetail.vue View File

@@ -1,281 +0,0 @@
1
-<template>
2
-
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-    <div class="filter-container">
6
-      <span style="font-size: 20px">耗材入库单详情</span>
7
-      <el-row style="float:right;">
8
-        <span>{{WarehouseInfo.warehouse.warehousing_order}}</span>
9
-      </el-row>
10
-    </div>
11
-
12
-
13
-
14
-    <div class="filter-container">
15
-      <span>单据日期:  {{WarehouseInfo.warehouse.warehousing_time | parseTime('{y}-{m}-{d}')}} </span>
16
-      <span>厂商 {{getManufactuerName(WarehouseInfo.warehouse.manufacturer)}}</span>
17
-      <span>经销商 {{getDealerName(WarehouseInfo.warehouse.dealer)}}</span>
18
-    </div>
19
-
20
-    <div class="filter-container" style="margin-top: 10px">
21
-      <el-button size="small" icon="el-icon-edit" @click="editRecord">编辑</el-button>
22
-      <el-button size="small" icon="el-icon-delete" @click="deleteRecord">删除</el-button>
23
-    </div>
24
-
25
-    <el-row :gutter="12" style="margin-top: 10px">
26
-      <el-table :data="WarehouseInfo.warehouseInfoDate" :class="signAndWeighBoxPatients" style="width: 100%" border
27
-      >
28
-        <el-table-column min-width="35" align="center">
29
-          <template slot="header" slot-scope="scope">
30
-            <span>物品类型</span>
31
-          </template>
32
-
33
-          <template slot-scope="scope">
34
-            <span v-if="scope.row.good_type_id != 0">{{getTypeName(scope.row.good_type_id)}}</span>
35
-          </template>
36
-        </el-table-column>
37
-        <el-table-column min-width="35" align="center">
38
-          <template slot="header" slot-scope="scope">
39
-            <span>规格名称</span>
40
-          </template>
41
-          <template slot-scope="scope">
42
-            <span v-if="scope.row.good_id != 0">{{getSpecificationName(scope.row.good_id)}}</span>
43
-          </template>
44
-        </el-table-column>
45
-
46
-
47
-        <el-table-column min-width="23" align="center">
48
-          <template slot="header" slot-scope="scope">
49
-            <span>单价</span>
50
-          </template>
51
-          <template slot-scope="scope">
52
-            <span>{{scope.row.price}}</span>
53
-          </template>
54
-        </el-table-column>
55
-
56
-        <el-table-column min-width="23" align="center">
57
-          <template slot="header" slot-scope="scope">
58
-            <span>入库数量</span>
59
-          </template>
60
-          <template slot-scope="scope">
61
-            <span>{{scope.row.warehousing_count}}</span>
62
-
63
-          </template>
64
-        </el-table-column>
65
-
66
-        <el-table-column label="总价" min-width="20" align="center">
67
-          <template slot-scope="scope">
68
-            {{calculate(scope.row.price*scope.row.warehousing_count)}}
69
-          </template>
70
-        </el-table-column>
71
-
72
-        <el-table-column align="center" min-width="25">
73
-          <template slot="header" slot-scope="scope">
74
-            <span>批号</span>
75
-          </template>
76
-          <template slot-scope="scope">
77
-            <span>{{scope.row.number}}</span>
78
-          </template>
79
-        </el-table-column>
80
-        <el-table-column label="生产日期" min-width="40" align="center">
81
-          <template slot-scope="scope">
82
-            {{scope.row.product_date | parseTime('{y}-{m}-{d}')}}
83
-
84
-          </template>
85
-        </el-table-column>
86
-        <el-table-column label="有效日期" min-width="40" align="center">
87
-          <template slot-scope="scope">
88
-            {{ scope.row.expiry_date | parseTime('{y}-{m}-{d}')}}
89
-          </template>
90
-        </el-table-column>
91
-        <el-table-column label="备注" min-width="20"  align="center">
92
-          <template slot-scope="scope">
93
-            <el-popover placement="top-start"  width="250" trigger="hover" >
94
-              <div>{{scope.row.remark}}</div>
95
-              <span slot="reference" v-if="scope.row.remark.length > 20">{{ scope.row.remark.substr(0,20)+'...' }}</span>
96
-              <span slot="reference" v-else>{{ scope.row.remark}}</span>
97
-            </el-popover>
98
-
99
-          </template>
100
-        </el-table-column>
101
-      </el-table>
102
-    </el-row>
103
-  </div>
104
-</template>
105
-
106
-<script>
107
-  import { uParseTime } from '@/utils/tools'
108
-  import { GetAllConfig, getWarehouseInfoList, deleteWarehouseInfo } from '@/api/stock'
109
-
110
-  export default {
111
-    name: 'otherStockInOrderDetail',
112
-    created() {
113
-      const order_id = this.$route.query.id
114
-      this.GetConfigInfo()
115
-      this.GetOrderDetail(order_id)
116
-    },
117
-    data() {
118
-      return {
119
-        isEdit: 0,
120
-        checked: false,
121
-        signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
122
-        goodType: [],
123
-        goodInfo: [],
124
-        manufacturer: [],
125
-        dealer: [],
126
-        Warehouse: {
127
-          loading: false,
128
-          warehouseDate: [],
129
-          tableCurrentIndex: ''
130
-        },
131
-
132
-        WarehouseInfo: {
133
-          loading: false,
134
-          warehouseInfoDate: [],
135
-          warehouse: {}
136
-        }
137
-      }
138
-    },
139
-    methods: {
140
-      getSpecificationName: function(id) {
141
-        let name = ''
142
-        for (let i = 0; i < this.goodInfo.length; i++) {
143
-          if (this.goodInfo[i].id == id) {
144
-            name = this.goodInfo[i].specification_name
145
-          }
146
-        }
147
-        return name
148
-      }, getTypeName: function(id) {
149
-        let name = ''
150
-        for (let i = 0; i < this.goodType.length; i++) {
151
-          if (this.goodType[i].id == id) {
152
-            name = this.goodType[i].type_name
153
-          }
154
-        }
155
-        return name
156
-      }, GetConfigInfo: function() {
157
-        GetAllConfig().then(response => {
158
-          if (response.data.state == 0) {
159
-            this.$message.error(response.data.msg)
160
-            return false
161
-          } else {
162
-            this.manufacturer = response.data.data.manufacturer
163
-            this.dealer = response.data.data.dealer
164
-            this.goodInfo = response.data.data.goodInfo
165
-            this.goodType = response.data.data.goodType
166
-          }
167
-        })
168
-      }, getManufactuerName: function(manufacturer_id) {
169
-        for (let i = 0; i < this.manufacturer.length; i++) {
170
-          if (this.manufacturer[i].id == manufacturer_id) {
171
-            return this.manufacturer[i].manufacturer_name
172
-          }
173
-        }
174
-      }, getDealerName: function(dealer_id) {
175
-        for (let i = 0; i < this.dealer.length; i++) {
176
-          if (this.dealer[i].id == dealer_id) {
177
-            return this.dealer[i].dealer_name
178
-          }
179
-        }
180
-      }, calculate: function(val) {
181
-        if (val == 0) {
182
-          return ''
183
-        }
184
-        return Math.round(parseFloat(val) * 100) / 100
185
-      }, GetOrderDetail: function(order_id) {
186
-        const params = {
187
-          'id': order_id
188
-        }
189
-        getWarehouseInfoList(params).then(response => {
190
-          if (response.data.state == 0) {
191
-            this.$message.error(response.data.msg)
192
-            return false
193
-          } else {
194
-            for (let i = 0; i < response.data.data.info.length; i++) {
195
-              this.WarehouseInfo.warehouseInfoDate.push(response.data.data.info[i])
196
-            }
197
-            this.WarehouseInfo.warehouse = response.data.data.warehousing
198
-          }
199
-        })
200
-      }, deleteRecord: function() {
201
-        const ids = []
202
-        ids.push(this.WarehouseInfo.warehouse.id)
203
-        const idStr = ids.join(',')
204
-
205
-        const params = {
206
-          ids: idStr
207
-        }
208
-
209
-        this.$confirm('确认删除入库单记录?', '删除入库单记录', {
210
-          confirmButtonText: '确定',
211
-          cancelButtonText: '取消',
212
-          type: 'warning'
213
-        }).then(() => {
214
-          deleteWarehouseInfo(params).then(response => {
215
-            if (response.data.state == 0) {
216
-              this.$message.error(response.data.msg)
217
-              return false
218
-            } else {
219
-              this.$notify({
220
-                title: '成功',
221
-                message: '删除成功',
222
-                type: 'success',
223
-                duration: 2000
224
-              })
225
-
226
-              this.$router.back(-1)
227
-            }
228
-          })
229
-        }).catch(() => {
230
-        })
231
-      }, editRecord: function() {
232
-        this.$emit('edit-record')
233
-      }
234
-    }
235
-  }
236
-</script>
237
-
238
-<style rel="stylesheet/css" lang="scss" scoped>
239
-  .information {
240
-    border: 1px #dcdfe6 solid;
241
-    padding: 30px 20px 30px 20px;
242
-
243
-  .border {
244
-    border-bottom: 1px #dcdfe6 solid;
245
-    margin: 0px 0 20px 0;
246
-  }
247
-
248
-  }
249
-
250
-  .title {
251
-    background: #409eff;
252
-    height: 44px;
253
-    line-height: 44px;
254
-    padding: 0 0 0 10px;
255
-    color: #fff;
256
-    margin: 0 0 10px 0;
257
-  }
258
-
259
-  .edit_separater {
260
-    border-top: 1px solid rgb(233, 233, 233);
261
-    margin-top: 15px;
262
-    margin-bottom: 15px;
263
-  }
264
-
265
-</style>
266
-
267
-<style>
268
-  .sign-and-weigh-box .sign-and-weigh-box-patients .cell {
269
-    font-size: 12px;
270
-  }
271
-
272
-  .sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
273
-    background: #6fb5fa;
274
-  }
275
-
276
-  .count {
277
-    color: #bd2c00;
278
-
279
-  }
280
-
281
-</style>

+ 0 - 502
src/xt_pages/stock/otherStockInOrderEdit.vue View File

@@ -1,502 +0,0 @@
1
-<template>
2
-
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-    <sales-return-dialog :propForm="propForm"
6
-                         :visibility="isVisibility"
7
-                         v-on:dialog-comfirm="comfirm"
8
-                         v-on:dialog-cancle="cancle"></sales-return-dialog>
9
-
10
-    <div class="filter-container">
11
-
12
-      <el-row>
13
-        <el-col :span="8"><div>
14
-          <span>入库时间:</span>
15
-          <el-date-picker v-model="warehousing_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
16
-                          type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
17
-                          value-format="yyyy-MM-dd"></el-date-picker>
18
-        </div></el-col>
19
-      </el-row>
20
-    </div>
21
-
22
-    <el-row>
23
-      <el-col>
24
-        <el-form  :rules="tableRules" :model="recordInfo" ref="tableForm">
25
-          <el-table :data="recordInfo.recordData" :class="signAndWeighBoxPatients" style="width: 100%" border
26
-                    max-height="450"
27
-          >
28
-
29
-            <el-table-column label="操作" align="center" min-width="30">
30
-              <template slot-scope="scope">
31
-                <el-button
32
-                  size="mini"
33
-                  @click="handleEdit(scope.$index, scope.row)">+
34
-                </el-button>
35
-                <el-button
36
-                  size="mini"
37
-                  type="danger"
38
-                  @click="handleDelete(scope.$index, scope.row)">-
39
-                </el-button>
40
-              </template>
41
-            </el-table-column>
42
-
43
-            <el-table-column min-width="35" align="center">
44
-
45
-              <template slot="header" slot-scope="scope">
46
-                <span>物品类型<span style="color: red">*</span></span>
47
-              </template>
48
-
49
-              <template slot-scope="scope" >
50
-                <!--<span @click="showDialog(scope.$index, scope.row)" v-if="scope.row.good_type_id == 0" style="color:#c5c8cf">请输入类型</span>-->
51
-                <!--<span @click="showDialog(scope.$index, scope.row)" v-if="scope.row.good_type_id != 0">{{typeName(scope.row.good_type_id)}}</span>-->
52
-
53
-                <el-form-item  style="padding-top: 15px">
54
-                  <el-input placeholder="请输入物品类型"  v-model="scope.row.good_type_id" :value="typeName(scope.row.good_type_id)" @focus="showDialog(scope.$index, scope.row)" ></el-input>
55
-                </el-form-item>
56
-
57
-              </template>
58
-            </el-table-column>
59
-            <el-table-column min-width="35" align="center">
60
-              <template slot="header" slot-scope="scope">
61
-                <span>规格名称<span style="color: red">*</span></span>
62
-              </template>
63
-              <template slot-scope="scope">
64
-
65
-                <el-form-item  style="padding-top: 15px">
66
-                  <el-input placeholder="请输入规格名称"  v-model="scope.row.good_id" :value="specificationName(scope.row.good_id)" @focus="showDialog(scope.$index, scope.row)" ></el-input>
67
-                </el-form-item>
68
-
69
-              </template>
70
-            </el-table-column>
71
-
72
-
73
-            <el-table-column  min-width="23" align="center">
74
-              <template slot="header" slot-scope="scope">
75
-                <span>单价<span style="color: red">*</span></span>
76
-              </template>
77
-              <template slot-scope="scope">
78
-                <!--<el-input type="number" v-model="scope.row.price"  @blur="handleBlur(scope.$index, scope.row)"></el-input>-->
79
-                <el-form-item :prop="'recordData.' + scope.$index + '.price'" :rules='tableRules.price' style="padding-top: 17px">
80
-                  <el-input type="number"  v-model="scope.row.price" ></el-input>
81
-                </el-form-item>
82
-
83
-
84
-
85
-
86
-              </template>
87
-            </el-table-column>
88
-
89
-            <el-table-column  min-width="23" align="center">
90
-              <template slot="header" slot-scope="scope">
91
-                <span>入库数量<span style="color: red">*</span></span>
92
-              </template>
93
-              <template slot-scope="scope">
94
-                <!--{{scope.row.warehousing_count}}-->
95
-                <!--<el-input type="number" v-model="scope.row.warehousing_count"   @blur="handleBlur(scope.$index, scope.row)"></el-input>-->
96
-
97
-                <el-form-item :prop="'recordData.' + scope.$index + '.warehousing_count'" :rules='tableRules.warehousing_count' style="padding-top: 17px">
98
-                  <el-input type="number"  v-model="scope.row.warehousing_count" ></el-input>
99
-                </el-form-item>
100
-              </template>
101
-            </el-table-column>
102
-
103
-            <el-table-column label="总价" min-width="20" align="center">
104
-              <template slot-scope="scope">
105
-                {{calculate(scope.row.price*scope.row.warehousing_count)}}
106
-              </template>
107
-            </el-table-column>
108
-
109
-            <el-table-column  align="center" min-width="25">
110
-              <template slot="header" slot-scope="scope">
111
-                <span>批号<span style="color: red">*</span></span>
112
-              </template>
113
-              <template slot-scope="scope">
114
-                <!--<el-input  v-model="scope.row.numbers"></el-input>-->
115
-
116
-                <el-form-item :prop="'recordData.' + scope.$index + '.number'" :rules='tableRules.number' style="padding-top: 17px">
117
-                  <el-input  v-model="scope.row.number" ></el-input>
118
-                </el-form-item>
119
-
120
-              </template>
121
-            </el-table-column>
122
-            <el-table-column label="生产日期" min-width="40" align="center">
123
-              <template slot-scope="scope" >
124
-                <!--{{scope.row.product_date | parseTime("{y}-{m}-{d}")}}-->
125
-                <el-date-picker prefix-icon="el-icon-date" style="width: 145px" v-model="scope.row.product_date"
126
-                                type="date" placeholder="选择日期时间" format="yyyy-MM-dd"
127
-                                value-format="yyyy-MM-dd"></el-date-picker>
128
-
129
-              </template>
130
-            </el-table-column>
131
-            <el-table-column label="有效日期" min-width="40" align="center">
132
-              <template slot-scope="scope">
133
-                <!--{{ scope.row.expiry_date | parseTime("{y}-{m}-{d}")}}-->
134
-                <el-date-picker  prefix-icon="el-icon-date" style="width: 145px" v-model="scope.row.expiry_date"
135
-                                 type="date" placeholder="选择日期时间"  format="yyyy-MM-dd"
136
-                                 value-format="yyyy-MM-dd"></el-date-picker>
137
-
138
-              </template>
139
-            </el-table-column>
140
-            <el-table-column label="备注" min-width="20" align="center">
141
-              <template slot-scope="scope">
142
-                <el-input  v-model="scope.row.remark"></el-input>
143
-              </template>
144
-            </el-table-column>
145
-          </el-table>
146
-        </el-form>
147
-      </el-col>
148
-
149
-
150
-      <span  class="dialog-footer" style="margin-top: 20px;float:right">
151
-        <el-button @click="back()">取 消</el-button>
152
-        <el-button type="primary" @click="submit()">确 定</el-button>
153
-      </span>
154
-
155
-    </el-row>
156
-  </div>
157
-</template>
158
-
159
-<script>
160
-  import stockInDialog from './Dialog/stockInDialog'
161
-  import { uParseTime } from '@/utils/tools'
162
-
163
-  import {
164
-    GetAllConfig,
165
-    getWarehouseInfoList,
166
-    GetAllGoodInfoByID,
167
-    getWarehouseInfoByOrdeNumber,
168
-    modifyWarehouseInfo,
169
-    deleteWarehouseInfo,
170
-    DeleteWarehouseInfoItem,
171
-    EditWarehouse
172
-  } from '@/api/stock'
173
-  import SalesReturnDialog from './Dialog/salesReturnDialog'
174
-
175
-  export default {
176
-    components: { SalesReturnDialog, stockInDialog },
177
-    name: 'stockInOrderEdit',
178
-
179
-    data() {
180
-      var checkGoodId = (rule, value, callback) => {
181
-        setTimeout(() => {
182
-          if (value == '' || value == 0) {
183
-            return callback(new Error('规格名称不能为空'))
184
-          }
185
-        }, 2000)
186
-      }
187
-
188
-      return {
189
-        signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
190
-        warehousing_time: '',
191
-        adminUserOptions: null,
192
-        currentIndex: 0,
193
-
194
-        recordInfo: {
195
-          recordData: [],
196
-          stock_in_code: '',
197
-          current_index: ''
198
-
199
-        },
200
-        tableRules: {
201
-          price: [
202
-            { required: true, message: '单价不能为空', trigger: 'blur' }
203
-          ],
204
-          warehousing_count: [
205
-            { required: true, message: '数量不能为空', trigge: 'blur' }
206
-          ],
207
-          number: [
208
-            { required: true, message: '批号不能为空', trigge: 'blur' }
209
-          ],
210
-          good_id: [
211
-            { validator: checkGoodId, trigger: 'blur' }
212
-          ]
213
-
214
-        },
215
-        ruleForm: {
216
-          manufacturer: [
217
-            { required: true, message: '请选择厂商', trigger: 'change' }
218
-          ]
219
-
220
-        },
221
-
222
-        total: '',
223
-        product_date: '',
224
-        expiry_date: '',
225
-        numbers: '',
226
-        // prop
227
-        isVisibility: false,
228
-        propForm: {
229
-          goodType: [],
230
-          goodInfo: [],
231
-          goodUnit: [],
232
-          title: '入库',
233
-          isCreated: 1
234
-
235
-        },
236
-
237
-        form: {
238
-          manufacturer: '',
239
-          dealer: ''
240
-        },
241
-        warehouse: {},
242
-        manufacturer: [],
243
-        dealer: [],
244
-        goodType: []
245
-      }
246
-    },
247
-    methods: {
248
-      comfirm: function(val) {
249
-        this.isVisibility = false
250
-        if (val.selectedGoodInfo.length > 0) {
251
-          for (let i = val.selectedGoodInfo.length - 1; ;i--) {
252
-            if (i == 0) {
253
-              this.recordInfo.recordData[this.currentIndex].good_type_id = val.goodTypeId
254
-              this.recordInfo.recordData[this.currentIndex].good_id = val.selectedGoodInfo[i].id
255
-            } else {
256
-              const tempForm = {}
257
-              tempForm['id'] = 0
258
-              tempForm['good_type_id'] = val.goodTypeId
259
-              tempForm['good_id'] = val.selectedGoodInfo[i].id
260
-              tempForm['number'] = ''
261
-              tempForm['product_date'] = ''
262
-              tempForm['expiry_date'] = ''
263
-              tempForm['warehousing_count'] = ''
264
-              tempForm['price'] = ''
265
-              tempForm['remark'] = ''
266
-              tempForm['dealer'] = ''
267
-              tempForm['manufacturer'] = ''
268
-              this.recordInfo.recordData.push(tempForm)
269
-            }
270
-          }
271
-        }
272
-
273
-        this.currentIndex = -1
274
-      }, cancle: function() {
275
-        this.isVisibility = false
276
-      },  GetConfigInfo: function() {
277
-        GetAllConfig().then(response => {
278
-          if (response.data.state == 0) {
279
-            this.$message.error(response.data.msg)
280
-            return false
281
-          } else {
282
-            this.manufacturer = response.data.data.manufacturer
283
-            this.dealer = response.data.data.dealer
284
-            this.goodType = response.data.data.goodType
285
-            this.goodInfo = response.data.data.goodInfo
286
-          }
287
-        })
288
-
289
-      }, typeName: function(good_type_id) {
290
-        let name = '请输入物品类型'
291
-        for (let i = 0; i < this.goodType.length; i++) {
292
-          if (this.goodType[i].id == good_type_id) {
293
-            name = this.goodType[i].type_name
294
-          }
295
-        }
296
-        return name
297
-      }, specificationName: function(good_info_id) {
298
-        let name = ''
299
-        for (let i = 0; i < this.goodInfo.length; i++) {
300
-          if (this.goodInfo[i].id == good_info_id) {
301
-            name = this.goodInfo[i].specification_name
302
-          }
303
-        }
304
-        return name
305
-      }, handleEdit: function(index, row) {
306
-        const tempObj = {}
307
-        tempObj['id'] = 0
308
-        tempObj['good_type_id'] = 0
309
-        tempObj['good_id'] = 0
310
-        tempObj['number'] = ''
311
-        tempObj['product_date'] = ''
312
-        tempObj['expiry_date'] = ''
313
-        tempObj['warehousing_count'] = ''
314
-        tempObj['price'] = ''
315
-        tempObj['remark'] = ''
316
-        tempObj['dealer'] = ''
317
-        tempObj['manufacturer'] = ''
318
-        this.recordInfo.recordData.push(tempObj)
319
-      }, handleDelete: function(index, row) {
320
-        if (row.id == 0) {
321
-          this.recordInfo.recordData.splice(index, 1)
322
-        } else {
323
-          const params = {
324
-            id: row.id
325
-          }
326
-          this.$confirm('确认删除该入库物品信息记录?', '删除入库物品信息记录', {
327
-            confirmButtonText: '确定',
328
-            cancelButtonText: '取消',
329
-            type: 'warning'
330
-          }).then(() => {
331
-            DeleteWarehouseInfoItem(params).then(response => {
332
-              if (response.data.state == 0) {
333
-                this.$message.error(response.data.msg)
334
-                return false
335
-              } else {
336
-                this.$notify({
337
-                  title: '成功',
338
-                  message: '删除成功',
339
-                  type: 'success',
340
-                  duration: 2000
341
-                })
342
-                this.recordInfo.recordData.splice(index, 1)
343
-              }
344
-            })
345
-          }).catch(() => {
346
-          })
347
-        }
348
-      }, calculate: function(val) {
349
-        if (val == 0) {
350
-          return ''
351
-        }
352
-        return Math.round(parseFloat(val) * 100) / 100
353
-      },  getTime(val, temp) {
354
-        if (val != 0) {
355
-          return uParseTime(val, temp)
356
-        } else {
357
-          return ''
358
-        }
359
-      }, showDialog(index, row) {
360
-        this.currentIndex = index
361
-        if (this.form.manufacturer == '' || this.form.manufacturer == 0) {
362
-          this.$message.error('请先选择厂商')
363
-          return
364
-        } else {
365
-          this.isVisibility = true
366
-          const params = {
367
-            id: this.form.manufacturer
368
-          }
369
-          GetAllGoodInfoByID(params).then(response => {
370
-            if (response.data.state == 0) {
371
-              this.$message.error(response.data.msg)
372
-              return false
373
-            } else {
374
-              if (response.data.data.goodInfo.length == 0) {
375
-                this.$message.error('该厂商没商品,请添加商品')
376
-              } else {
377
-                for (let i = 0; i < response.data.data.goodInfo.length; i++) {
378
-                  this.propForm.goodType.push(response.data.data.goodInfo[i].GoodsType)
379
-                }
380
-
381
-                const obj = {}
382
-                this.propForm.goodType = this.propForm.goodType.reduce((cur, next) => {
383
-                  obj[next.id] ? '' : obj[next.id] = true && cur.push(next)
384
-                  return cur
385
-                }, []) // 设置cur默认类型为数组,并且初始值为空的数组
386
-              }
387
-            }
388
-          })
389
-        }
390
-      }, back() {
391
-        this.$router.go(-1)
392
-      }, submit() {
393
-        this.$refs['tableForm'].validate((valid) => {
394
-          if (valid) {
395
-            const array = this.recordInfo.recordData
396
-            for (let i = 0; i < array.length; i++) {
397
-              if (array[i].good_type_id == 0) {
398
-                this.$message.error('物品类型不能为空')
399
-                return
400
-              }
401
-              if (array[i].good_id == 0) {
402
-                this.$message.error('规格名称不能为空')
403
-                return
404
-              }
405
-            }
406
-
407
-            const params = {
408
-              'stockIn': this.recordInfo.recordData
409
-            }
410
-            EditWarehouse(params, this.warehousing_time, this.$route.query.id).then(response => {
411
-              if (response.data.state == 0) {
412
-                this.$message.error(response.data.msg)
413
-                return false
414
-              } else {
415
-                this.$notify({
416
-                  title: '成功',
417
-                  message: '入库成功',
418
-                  type: 'success',
419
-                  duration: 2000
420
-                })
421
-                this.$router.back(-1)
422
-              }
423
-            })
424
-          } else {
425
-            return false
426
-          }
427
-        })
428
-      }, GetOrderDetail: function(order_id) {
429
-        const params = {
430
-          'id': order_id
431
-        }
432
-        getWarehouseInfoList(params).then(response => {
433
-          if (response.data.state == 0) {
434
-            this.$message.error(response.data.msg)
435
-            return false
436
-          } else {
437
-            for (let i = 0; i < response.data.data.info.length; i++) {
438
-              response.data.data.info[i].product_date = this.getTime(response.data.data.info[i].product_date, '{y}-{m}-{d}')
439
-              response.data.data.info[i].expiry_date = this.getTime(response.data.data.info[i].expiry_date, '{y}-{m}-{d}')
440
-              response.data.data.info[i].price = response.data.data.info[i].price.toString()
441
-              response.data.data.info[i].warehousing_count = response.data.data.info[i].warehousing_count.toString()
442
-
443
-              this.recordInfo.recordData.push(response.data.data.info[i])
444
-            }
445
-
446
-            this.warehouse = response.data.data.warehousing
447
-            this.form.manufacturer = this.warehouse.manufacturer
448
-            this.form.dealer = this.warehouse.dealer
449
-            this.warehousing_time = this.getTime(this.warehouse.warehousing_time, '{y}-{m}-{d}')
450
-          }
451
-        })
452
-      }
453
-    },
454
-    created() {
455
-      this.GetConfigInfo()
456
-      this.propForm.goodUnit = this.$store.getters.good_unit
457
-      const order_id = this.$route.query.id
458
-      this.GetOrderDetail(order_id)
459
-    }
460
-
461
-  }
462
-</script>
463
-
464
-<style rel="stylesheet/css" lang="scss" scoped>
465
-  .information {
466
-    border: 1px #dcdfe6 solid;
467
-    padding: 30px 20px 30px 20px;
468
-
469
-  .border {
470
-    border-bottom: 1px #dcdfe6 solid;
471
-    margin: 0px 0 20px 0;
472
-  }
473
-  }
474
-
475
-  .title {
476
-    background: #409eff;
477
-    height: 44px;
478
-    line-height: 44px;
479
-    padding: 0 0 0 10px;
480
-    color: #fff;
481
-    margin: 0 0 10px 0;
482
-    border-radius: 4px 4px 0 0;
483
-  }
484
-
485
-  .edit_separater {
486
-    border-top: 1px solid rgb(233, 233, 233);
487
-    margin-top: 15px;
488
-    margin-bottom: 15px;
489
-  }
490
-
491
-</style>
492
-
493
-<style>
494
-  .sign-and-weigh-box .sign-and-weigh-box-patients .cell {
495
-    font-size: 12px;
496
-  }
497
-
498
-  .sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
499
-    background: #6fb5fa;
500
-  }
501
-
502
-</style>

+ 0 - 26
src/xt_pages/stock/otherStockOutDetail.vue View File

@@ -1,26 +0,0 @@
1
-<template>
2
-  <other-stock-out-order-detail v-if="isEdit == 0"   v-on:edit-record="isEdit = 1"></other-stock-out-order-detail>
3
-  <other-stock-out-order-edit v-else></other-stock-out-order-edit>
4
-</template>
5
-
6
-<script>
7
-  import StockOutOrderDetail from './stockOutOrderDetail'
8
-  import StockOutEdit from './stockOutOrderEdit'
9
-  import OtherStockOutOrderEdit from './otherStockOutOrderEdit'
10
-  import OtherStockOutOrderDetail from './otherStockOutOrderDetail'
11
-  export default {
12
-    name: 'otherStockOutDetail',
13
-    components: { OtherStockOutOrderDetail, OtherStockOutOrderEdit, StockOutEdit, StockOutOrderDetail},
14
-    data() {
15
-      return {
16
-        isEdit: 0
17
-      }
18
-    }
19
-
20
-  }
21
-
22
-</script>
23
-
24
-<style scoped>
25
-
26
-</style>

+ 155 - 79
src/xt_pages/stock/otherStockOutOrder.vue View File

@@ -1,47 +1,42 @@
1 1
 <template>
2 2
 
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-
6
-    <div class="filter-container">
7
-
8
-
9
-      <el-row style="float:right;">
10
-        <el-button @click="AddNewOrder" type="primary">新增</el-button>
11
-      </el-row>
12
-    </div>
13
-
14
-    <div class="filter-container" style="margin-top:20px">
15
-      <el-input style="width: 300px;" class="filter-item" placeholder="单据日期/单据编码/制单人/供应商"/>
16
-      <el-button class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
3
+  <div class="main-contain">
4
+    <div class="position">
5
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
6
+      <el-button size="small"  @click="AddNewOrder" class="filter-item" style="float:right;" type="primary" icon="el-icon-circle-plus-outline" >新增</el-button>
17 7
     </div>
8
+    <div class="app-container">
9
+      <div class="cell">
10
+        <el-input style="width: 300px;" class="filter-item" placeholder="单据日期/单据编码/制单人/供应商"/>
11
+        <el-button class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
12
+      </div>
13
+
14
+
15
+      <div class="cell">
16
+        <span>其他出库时间:&nbsp;&nbsp;</span>
17
+        <el-date-picker v-model="start_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
18
+                        type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
19
+                        value-format="yyyy-MM-dd" @change="startTimeChange"></el-date-picker>
20
+        <span class="">-</span>
21
+        <el-date-picker v-model="end_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
22
+                        type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
23
+                        value-format="yyyy-MM-dd" @change="endTimeChange"></el-date-picker>
24
+      </div>
25
+
26
+      <div class="cell clearfix">
27
+        <el-checkbox style="width: 30px" v-model="checked" @change="changeAllSelected">全选</el-checkbox>
28
+        <el-button size="small" icon="el-icon-delete" @click="batchDelete">删除</el-button>
29
+      </div>
18 30
 
19
-    <div class="filter-container">
20
-      <span>入库时间:</span>
21
-      <el-date-picker v-model="start_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
22
-                      type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
23
-                      value-format="yyyy-MM-dd" @change="startTimeChange"></el-date-picker>
24
-      <span class="">-</span>
25
-      <el-date-picker v-model="end_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
26
-                      type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
27
-                      value-format="yyyy-MM-dd" @change="endTimeChange"></el-date-picker>
28
-    </div>
29
-
30
-    <div class="filter-container" style="margin-top: 10px">
31
-      <el-checkbox style="width: 30px" v-model="checked" @change="changeAllSelected">全选</el-checkbox>
32
-      <el-button size="small" icon="el-icon-delete" @click="batchDelete">删除</el-button>
33
-
34
-    </div>
35
-
36
-    <el-row :gutter="12" style="margin-top: 10px">
37 31
       <el-table
38 32
         :data="warehouseOutDate"
39 33
         :class="signAndWeighBoxPatients"
40 34
         style="width: 100%" border
41 35
         highlight-current-row
42 36
         ref="multipleTable"
43
-        @selection-change="select"
44 37
 
38
+        @selection-change="select"
39
+        :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}"
45 40
       >
46 41
         <el-table-column
47 42
           type="selection"
@@ -65,8 +60,6 @@
65 60
             {{getXuserName(scope.row.creater)}}
66 61
           </template>
67 62
         </el-table-column>
68
-
69
-
70 63
         <el-table-column label="厂家" align="center">
71 64
           <template slot-scope="scope">
72 65
             {{getManufactuerName(scope.row.manufacturer)}}
@@ -94,12 +87,9 @@
94 87
               icon="el-icon-delete"
95 88
               @click="handleDelete(scope.$index, scope.row)">
96 89
             </el-button>
97
-
98 90
           </template>
99 91
         </el-table-column>
100
-
101 92
       </el-table>
102
-
103 93
       <el-pagination
104 94
         @size-change="handleSizeChange"
105 95
         @current-change="handleCurrentChange"
@@ -111,21 +101,30 @@
111 101
         :total="total">
112 102
       </el-pagination>
113 103
 
114
-    </el-row>
104
+
105
+    </div>
115 106
   </div>
107
+
108
+
109
+
110
+
111
+
116 112
 </template>
117 113
 
118 114
 <script>
119 115
   import { uParseTime } from '@/utils/tools'
120 116
   import { fetchAllAdminUsers, fetchAllDoctorAndNurse } from '@/api/doctor'
117
+
121 118
   import {
122 119
     deleteWarehouseOut,
123 120
     GetAllConfig,
124
-    getWarehouseOutList,
121
+    getWarehouseOutList
125 122
   } from '@/api/stock'
123
+  import BreadCrumb from '../components/bread-crumb'
126 124
 
127 125
   export default {
128
-    name: 'otherStockOutOrder',
126
+    name: 'salesReturnOrder',
127
+    components: { BreadCrumb },
129 128
     created() {
130 129
       var year = new Date().getFullYear()
131 130
       var month = new Date().getMonth() + 1
@@ -156,6 +155,10 @@
156 155
     },
157 156
     data() {
158 157
       return {
158
+        crumbs: [
159
+          { path: false, name: '库存管理' },
160
+          { path: '/stock/out', name: '其他出库单' }
161
+        ],
159 162
         page: 1,
160 163
         limit: 7,
161 164
         checked: false,
@@ -173,13 +176,13 @@
173 176
         manufacturer: [],
174 177
         selectedTableData: [],
175 178
         dealer: [],
176
-        type:2,
179
+        type: 2
177 180
 
178 181
       }
179 182
     },
180 183
     methods: {
181
-      AddNewOrder:function(){
182
-        this.$router.push({ name: 'stockOutOrderAdd'})
184
+      AddNewOrder: function() {
185
+        this.$router.push({ name: 'stockOutOrderAdd', query: { type: this.type }})
183 186
       },
184 187
       GetWarehouseOut: function() {
185 188
         const Params = {
@@ -187,7 +190,7 @@
187 190
           limit: this.limit,
188 191
           start_time: this.start_time,
189 192
           end_time: this.end_time,
190
-          type: this.type,
193
+          type: this.type
191 194
         }
192 195
         this.warehouseOutDate = []
193 196
         getWarehouseOutList(Params).then(response => {
@@ -270,7 +273,7 @@
270 273
           }
271 274
         }
272 275
       }, handleEdit: function(index, row) {
273
-        this.$router.push({ name: 'stockOutDetail', query: { id: row.id }})
276
+        this.$router.push({ name: 'stockOutDetail', query: { id: row.id, type: this.type }})
274 277
       }, handleDelete: function(index, row) {
275 278
         const ids = []
276 279
         ids.push(row.id)
@@ -361,48 +364,121 @@
361 364
   }
362 365
 </script>
363 366
 
364
-<style rel="stylesheet/css" lang="scss" scoped>
365
-  .information {
367
+<style rel="stylesheet/scss" lang="scss" scoped>
368
+  .app-container {
369
+  // margin: 20px;
370
+    font-size: 15px;
371
+  .filter-container {
372
+    padding-bottom: 5px;
373
+  }
374
+  .search-component {
375
+    width: 500px;
376
+  .searchBox {
377
+    width: 300px;
378
+    height: 36px;
379
+    line-height: 36px;
380
+    padding-left: 15px;
366 381
     border: 1px #dcdfe6 solid;
367
-    padding: 30px 20px 30px 20px;
368
-
369
-  .border {
370
-    border-bottom: 1px #dcdfe6 solid;
371
-    margin: 0px 0 20px 0;
382
+    border-right: none;
383
+    outline: none;
384
+    float: left;
385
+    border-radius: 6px 0 0 6px;
386
+    font-size: 14px;
387
+    color: #333;
388
+    background: #fff;
389
+    box-shadow: 3px 3px 4px rgba(135, 135, 135, 0.05);
372 390
   }
373
-
391
+  .searchBtn {
392
+    background-color: #409eff;
393
+    color: #fff;
394
+    font-size: 15px;
395
+    text-align: center;
396
+    height: 36px;
397
+    line-height: 36px;
398
+    float: left;
399
+    outline: none;
400
+    width: 70px;
401
+    border: none;
402
+    border-radius: 0 6px 6px 0;
403
+    font-family: "Microsoft Yahei";
404
+    cursor: pointer;
374 405
   }
375
-
406
+  }
407
+  .cell {
408
+    margin: 0px 0 15px 0;
409
+    -moz-box-sizing: border-box;
410
+    -webkit-box-sizing: border-box;
411
+    -o-box-sizing: border-box;
412
+    -ms-box-sizing: border-box;
413
+    box-sizing: border-box;
414
+    display: -webkit-box;
415
+    display: -ms-flexbox;
416
+  // display: flex;
417
+    -webkit-box-align: flex-start;
418
+    -ms-flex-align: flex-start;
419
+    align-items: flex-start;
420
+    text-align: left;
421
+    justify-content: flex-start;
422
+    color: #333;
376 423
   .title {
424
+    width: 80px;
425
+    display: inline-block;
426
+    font-weight: normal;
427
+    color: #909399;
428
+    padding: 6px 0;
429
+    font-weight: 700;
430
+  .name {
431
+    width: 60px;
432
+    text-align: justify;
433
+    text-justify: distribute-all-lines;
434
+    text-align-last: justify;
435
+    -moz-text-align-last: justify;
436
+    -webkit-text-align-last: justify;
437
+    display: inline-block;
438
+  }
439
+  }
440
+  .time {
441
+    -webkit-box-flex: 1;
442
+    -ms-flex: 1;
443
+    flex: 1;
444
+  ul {
445
+    padding: 0;
446
+    margin: 0;
447
+  li {
448
+    float: left;
449
+    list-style: none;
450
+    cursor: pointer;
451
+    padding: 3px 0;
452
+    width: 70px;
453
+    color: #606266;
454
+    border-radius: 4px;
455
+    margin: 0 10px 0 0;
456
+    color: #409eff;
457
+    border: 1px #409eff solid;
458
+    text-align:center;
459
+  &:hover {
460
+     background: #409eff;
461
+     color: #fff;
462
+   }
463
+  }
464
+  .active {
377 465
     background: #409eff;
378
-    height: 44px;
379
-    line-height: 44px;
380
-    padding: 0 0 0 10px;
381 466
     color: #fff;
382
-    margin: 0 0 10px 0;
383
-
384 467
   }
385
-
386
-  .edit_separater {
387
-    border-top: 1px solid rgb(233, 233, 233);
388
-    margin-top: 15px;
389
-    margin-bottom: 15px;
390 468
   }
391
-
392
-</style>
393
-
394
-<style>
395
-  .sign-and-weigh-box .sign-and-weigh-box-patients .cell {
396
-    font-size: 12px;
397 469
   }
398
-
399
-  .sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
400
-    background: #6fb5fa;
401 470
   }
402
-
403
-  .count {
404
-    color: #bd2c00;
405
-
471
+  .amount {
472
+    font-weight: normal;
473
+    padding: 10px 0 0 0;
474
+    color: #606266;
475
+    font-size: 14px;
476
+  span {
477
+    color: #ef2525;
478
+    font-family: "Arial";
479
+    padding: 0 2px;
480
+  }
481
+  }
406 482
   }
407
-
408 483
 </style>
484
+

+ 0 - 443
src/xt_pages/stock/otherStockOutOrderAdd.vue View File

@@ -1,443 +0,0 @@
1
-<template>
2
-
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-    <sales-return-dialog :propForm="propForm"
6
-                         :visibility="isVisibility"
7
-                         v-on:dialog-comfirm="comfirm"
8
-                         v-on:dialog-cancle="cancle"></sales-return-dialog>
9
-
10
-    <div class="filter-container">
11
-
12
-      <el-row>
13
-        <el-col :span="8"><div>
14
-          <span>退货时间:</span>
15
-          <el-date-picker v-model="warehouse_out_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
16
-                          type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
17
-                          value-format="yyyy-MM-dd"></el-date-picker>
18
-        </div></el-col>
19
-
20
-
21
-        <el-col :span="8">
22
-          <div>
23
-            <el-form ref="form" :model="form" :rules="ruleForm" label-width="80px">
24
-              <el-form-item label="厂商:" prop="manufacturer">
25
-                <el-select v-model="form.manufacturer" placeholder="请选择厂商">
26
-                  <el-option v-for="(option, index) in manufacturer" :key="index" :label="option.manufacturer_name" :value="option.id"></el-option>
27
-                </el-select>
28
-              </el-form-item>
29
-            </el-form>
30
-          </div>
31
-        </el-col>
32
-        <el-col :span="8">
33
-          <div>
34
-            <el-form ref="form" :model="form" label-width="80px">
35
-              <el-form-item label="经销商:">
36
-                <el-select v-model="form.dealer" placeholder="请选择经销商">
37
-                  <el-option v-for="(option, index) in dealer" :key="index" :label="option.dealer_name" :value="option.id"></el-option>
38
-                </el-select>
39
-              </el-form-item>
40
-            </el-form>
41
-          </div>
42
-        </el-col>
43
-      </el-row>
44
-
45
-    </div>
46
-
47
-    <el-row>
48
-      <el-col>
49
-        <el-form  :rules="tableRules" :model="recordInfo" ref="tableForm">
50
-          <el-table :data="recordInfo.recordData" :class="signAndWeighBoxPatients" style="width: 100%" border
51
-                    max-height="450"
52
-          >
53
-
54
-            <el-table-column label="操作" align="center" min-width="30">
55
-              <template slot-scope="scope">
56
-                <el-button
57
-                  size="mini"
58
-                  @click="handleEdit(scope.$index, scope.row)">+
59
-                </el-button>
60
-                <el-button
61
-                  size="mini"
62
-                  type="danger"
63
-                  @click="handleDelete(scope.$index, scope.row)">-
64
-                </el-button>
65
-              </template>
66
-            </el-table-column>
67
-
68
-            <el-table-column min-width="35" align="center">
69
-
70
-              <template slot="header" slot-scope="scope">
71
-                <span>物品类型<span style="color: red">*</span></span>
72
-              </template>
73
-
74
-              <template slot-scope="scope" >
75
-                <!--<span @click="showDialog(scope.$index, scope.row)" v-if="scope.row.good_type_id == 0" style="color:#c5c8cf">请输入类型</span>-->
76
-                <!--<span @click="showDialog(scope.$index, scope.row)" v-if="scope.row.good_type_id != 0">{{typeName(scope.row.good_type_id)}}</span>-->
77
-
78
-                <el-form-item  style="padding-top: 15px">
79
-                  <el-input placeholder="请输入物品类型"  v-model="scope.row.good_type_id" :value="typeName(scope.row.good_type_id)" @focus="showDialog(scope.$index, scope.row)" ></el-input>
80
-                </el-form-item>
81
-
82
-              </template>
83
-            </el-table-column>
84
-            <el-table-column min-width="35" align="center">
85
-              <template slot="header" slot-scope="scope">
86
-                <span>规格名称<span style="color: red">*</span></span>
87
-              </template>
88
-              <template slot-scope="scope">
89
-
90
-                <el-form-item  style="padding-top: 15px">
91
-                  <el-input placeholder="请输入规格名称"  v-model="scope.row.good_id" :value="specificationName(scope.row.good_id)" @focus="showDialog(scope.$index, scope.row)" ></el-input>
92
-                </el-form-item>
93
-
94
-              </template>
95
-            </el-table-column>
96
-
97
-
98
-            <el-table-column  min-width="23" align="center">
99
-              <template slot="header" slot-scope="scope">
100
-                <span>单价<span style="color: red">*</span></span>
101
-              </template>
102
-              <template slot-scope="scope">
103
-                <!--<el-input type="number" v-model="scope.row.price"  @blur="handleBlur(scope.$index, scope.row)"></el-input>-->
104
-                <el-form-item :prop="'recordData.' + scope.$index + '.price'" :rules='tableRules.price' style="padding-top: 17px">
105
-                  <el-input type="number"  v-model="scope.row.price" ></el-input>
106
-                </el-form-item>
107
-
108
-
109
-              </template>
110
-            </el-table-column>
111
-
112
-            <el-table-column  min-width="23" align="center">
113
-              <template slot="header" slot-scope="scope">
114
-                <span>出库数量<span style="color: red">*</span></span>
115
-              </template>
116
-              <template slot-scope="scope">
117
-                <el-form-item :prop="'recordData.' + scope.$index + '.count'" :rules='tableRules.count' style="padding-top: 17px">
118
-                  <el-input type="number"  v-model="scope.row.count" ></el-input>
119
-                </el-form-item>
120
-              </template>
121
-            </el-table-column>
122
-
123
-            <el-table-column label="总价" min-width="20" align="center">
124
-              <template slot-scope="scope">
125
-                {{calculate(scope.row.price*scope.row.count)}}
126
-              </template>
127
-            </el-table-column>
128
-            <el-table-column label="备注" min-width="20" align="center">
129
-              <template slot-scope="scope">
130
-                <el-input  v-model="scope.row.remark"></el-input>
131
-              </template>
132
-            </el-table-column>
133
-          </el-table>
134
-        </el-form>
135
-      </el-col>
136
-
137
-
138
-      <span  class="dialog-footer" style="margin-top: 20px;float:right">
139
-        <el-button @click="back()">取 消</el-button>
140
-        <el-button type="primary" @click="submit()">确 定</el-button>
141
-      </span>
142
-
143
-    </el-row>
144
-  </div>
145
-</template>
146
-
147
-<script>
148
-  import { uParseTime } from '@/utils/tools'
149
-  import {
150
-    getSalesReturnConfig,
151
-    postWarehouseOut,
152
-  } from '@/api/stock'
153
-  import SalesReturnDialog from './Dialog/salesReturnDialog'
154
-
155
-  export default {
156
-    components: { SalesReturnDialog},
157
-    name: 'otherStockOutOrderAdd',
158
-
159
-    data() {
160
-      return {
161
-        type:2,
162
-        signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
163
-        warehouse_out_time: '',
164
-        currentIndex: 0,
165
-        recordInfo: {
166
-          recordData: [],
167
-        },
168
-        tableRules: {
169
-          price: [
170
-            { required: true, message: '单价不能为空', trigger: 'blur' }
171
-          ],
172
-          count: [
173
-            { required: true, message: '数量不能为空', trigge: 'blur' }
174
-          ],
175
-        },
176
-        ruleForm: {
177
-          manufacturer: [
178
-            { required: true, message: '请选择厂商', trigger: 'change' }
179
-          ]
180
-
181
-        },
182
-        // prop
183
-        isVisibility: false,
184
-        propForm: {
185
-          goodType: [],
186
-          goodInfo: [],
187
-          goodUnit: [],
188
-        },
189
-        form: {
190
-          manufacturer: '',
191
-          dealer: ''
192
-        },
193
-
194
-        manufacturer: [],
195
-        dealer: [],
196
-        goodType: []
197
-      }
198
-    },
199
-    methods: {
200
-      comfirm: function(val) {
201
-        this.isVisibility = false
202
-        if (val.selectedGoodInfo.length > 0) {
203
-          for (let i = val.selectedGoodInfo.length - 1; ;i--) {
204
-            if (i == 0) {
205
-              this.recordInfo.recordData[this.currentIndex].good_type_id = val.goodTypeId
206
-              this.recordInfo.recordData[this.currentIndex].good_id = val.selectedGoodInfo[i].id
207
-            } else {
208
-              const tempForm = {}
209
-              tempForm['good_type_id'] = val.goodTypeId
210
-              tempForm['good_id'] = val.selectedGoodInfo[i].id
211
-              tempForm['count'] = ''
212
-              tempForm['price'] = ''
213
-              tempForm['remark'] = ''
214
-
215
-              this.recordInfo.recordData.push(tempForm)
216
-            }
217
-          }
218
-        }
219
-
220
-        this.currentIndex = -1
221
-      }, cancle: function() {
222
-        this.isVisibility = false
223
-      }, GetConfigInfo: function() {
224
-        getSalesReturnConfig().then(response => {
225
-          if (response.data.state == 0) {
226
-            this.$message.error(response.data.msg)
227
-            return false
228
-          } else {
229
-            var warehouseList =  response.data.data.warehouseList
230
-            var warehouseInfoList =  response.data.data.warehouseInfoList
231
-            for (let i = 0; i <warehouseList.length; i++ ){
232
-              if(warehouseList[i].Manufacturer.id > 0){
233
-                this.manufacturer.push(warehouseList[i].Manufacturer)
234
-              }
235
-              if(warehouseList[i].Dealer.id > 0){
236
-                this.dealer.push(warehouseList[i].Dealer)
237
-              }
238
-            }
239
-            for (let i = 0; i < warehouseInfoList.length; i++) {
240
-              this.propForm.goodInfo.push(warehouseInfoList[i].GoodInfo)
241
-
242
-            }
243
-            const obj = {}
244
-            const obj2 = {}
245
-            const obj4 = {}
246
-            //去重复
247
-            this.manufacturer =  this.manufacturer.reduce((cur, next) => {
248
-              obj[next.id] ? '' : obj[next.id] = true && cur.push(next)
249
-              return cur
250
-            }, [])
251
-            //去重复
252
-            this.dealer =  this.dealer.reduce((cur, next) => {
253
-              obj2[next.id] ? '' : obj2[next.id] = true && cur.push(next)
254
-              return cur
255
-            }, [])
256
-            this.propForm.goodInfo = this.propForm.goodInfo.reduce((cur, next) => {
257
-              obj4[next.id] ? '' : obj4[next.id] = true && cur.push(next)
258
-              return cur
259
-            }, [])
260
-
261
-
262
-          }
263
-        })
264
-      }, typeName: function(good_type_id) {
265
-        let name = ''
266
-        for (let i = 0; i < this.propForm.goodType.length; i++) {
267
-          if (this.propForm.goodType[i].id == good_type_id) {
268
-            name = this.propForm.goodType[i].type_name
269
-          }
270
-        }
271
-        return name
272
-      }, specificationName: function(good_info_id) {
273
-        let name = ''
274
-        for (let i = 0; i < this.propForm.goodInfo.length; i++) {
275
-          if (this.propForm.goodInfo[i].id == good_info_id) {
276
-            name = this.propForm.goodInfo[i].specification_name
277
-          }
278
-        }
279
-        return name
280
-      }, handleEdit: function(index, row) {
281
-        const tempObj = {}
282
-        tempObj['good_type_id'] = 0
283
-        tempObj['good_id'] = 0
284
-        tempObj['count'] = ''
285
-        tempObj['price'] = ''
286
-        tempObj['remark'] = ''
287
-
288
-
289
-        this.recordInfo.recordData.push(tempObj)
290
-      }, handleDelete: function(index, row) {
291
-        this.recordInfo.recordData.splice(index, 1)
292
-      }, calculate: function(val) {
293
-        if(isNaN(val)){
294
-          return ''
295
-        }
296
-        if (val == 0) {
297
-          return ''
298
-        }
299
-        return Math.round(parseFloat(val) * 100) / 100
300
-      }, getTime(val, temp) {
301
-        if (val != 0) {
302
-          return uParseTime(val, temp)
303
-        } else {
304
-          return ''
305
-        }
306
-      }, showDialog(index, row) {
307
-        this.currentIndex = index
308
-        if (this.form.manufacturer == '' || this.form.manufacturer == 0) {
309
-          this.$message.error('请先选择厂商')
310
-          return
311
-        } else {
312
-          this.isVisibility = true
313
-          console.log(this.form.manufacturer)
314
-          for (let i = 0; i < this.propForm.goodInfo.length; i++){
315
-            if(this.propForm.goodInfo[i].manufacturer == this.form.manufacturer){
316
-              this.propForm.goodType.push(this.propForm.goodInfo[i].GoodsType)
317
-            }
318
-
319
-          }
320
-          const obj3 = {}
321
-          this.propForm.goodType = this.propForm.goodType.reduce((cur, next) => {
322
-            obj3[next.id] ? '' : obj3[next.id] = true && cur.push(next)
323
-            return cur
324
-          }, [])
325
-
326
-
327
-
328
-        }
329
-      }, back() {
330
-        this.$router.go(-1)
331
-      }, submit() {
332
-        this.$refs['tableForm'].validate((valid) => {
333
-          if (valid) {
334
-            if (this.form.manufacturer == 0) {
335
-              this.$message.error('厂商不能为空')
336
-              return
337
-            }
338
-            const array = this.recordInfo.recordData
339
-            let total = 0
340
-            for (let i = 0; i < array.length; i++) {
341
-              if (array[i].good_type_id == 0) {
342
-                this.$message.error('物品类型不能为空')
343
-                return
344
-              }
345
-              if (array[i].good_id == 0) {
346
-                this.$message.error('规格名称不能为空')
347
-                return
348
-              }
349
-              total = total + array[i].price * array[i].return_count
350
-            }
351
-            const params = {
352
-              'stockOut': this.recordInfo.recordData
353
-            }
354
-            console.log(this.form.dealer)
355
-
356
-
357
-            postWarehouseOut(params,this.warehouse_out_time,this.form.dealer,this.form.manufacturer,this.type).then(response=>{
358
-              if (response.data.state==0) {
359
-                this.$message.error(response.data.msg);
360
-                return false;
361
-              }else {
362
-                this.$notify({
363
-                  title: "成功",
364
-                  message: "退货成功",
365
-                  type: "success",
366
-                  duration: 2000
367
-                });
368
-                this.recordInfo.recordData = []
369
-                this.$router.back(-1)
370
-              }
371
-            });
372
-          } else {
373
-            return false
374
-          }
375
-        })
376
-      }
377
-    },
378
-    created() {
379
-      var year = new Date().getFullYear()
380
-      var month = new Date().getMonth() + 1
381
-      var day = new Date().getDate()
382
-      if (parseInt(month) < 10) {
383
-        month = '0' + month
384
-      }
385
-      if (parseInt(day) < 10) {
386
-        day = '0' + day
387
-      }
388
-      const endTime = year + '-' + month + '-' + day
389
-      this.warehouse_out_time = endTime
390
-      const tempObj = {}
391
-      tempObj['good_type_id'] = 0
392
-      tempObj['good_id'] = 0
393
-      tempObj['return_count'] = 0
394
-      tempObj['price'] = ''
395
-      tempObj['remark'] = ''
396
-
397
-      this.recordInfo.recordData.push(tempObj)
398
-      this.GetConfigInfo()
399
-      this.propForm.goodUnit = this.$store.getters.good_unit
400
-    }
401
-
402
-  }
403
-</script>
404
-
405
-<style rel="stylesheet/css" lang="scss" scoped>
406
-  .information {
407
-    border: 1px #dcdfe6 solid;
408
-    padding: 30px 20px 30px 20px;
409
-
410
-  .border {
411
-    border-bottom: 1px #dcdfe6 solid;
412
-    margin: 0px 0 20px 0;
413
-  }
414
-  }
415
-
416
-  .title {
417
-    background: #409eff;
418
-    height: 44px;
419
-    line-height: 44px;
420
-    padding: 0 0 0 10px;
421
-    color: #fff;
422
-    margin: 0 0 10px 0;
423
-  // border-radius: 4px 4px 0 0;
424
-  }
425
-
426
-  .edit_separater {
427
-    border-top: 1px solid rgb(233, 233, 233);
428
-    margin-top: 15px;
429
-    margin-bottom: 15px;
430
-  }
431
-
432
-</style>
433
-
434
-<style>
435
-  .sign-and-weigh-box .sign-and-weigh-box-patients .cell {
436
-    font-size: 12px;
437
-  }
438
-
439
-  .sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
440
-    background: #6fb5fa;
441
-  }
442
-
443
-</style>

+ 0 - 258
src/xt_pages/stock/otherStockOutOrderDetail.vue View File

@@ -1,258 +0,0 @@
1
-<template>
2
-
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-    <div class="filter-container">
6
-      <span style="font-size: 20px">退货单详情</span>
7
-      <el-row style="float:right;">
8
-        <span>{{warehousingOutInfo.info.warehouse_out_order_number}}</span>
9
-      </el-row>
10
-    </div>
11
-
12
-
13
-
14
-    <div class="filter-container">
15
-      <span>单据日期:  {{warehousingOutInfo.info.warehouse_out_time | parseTime('{y}-{m}-{d}')}} </span>
16
-      <span>厂商 {{getManufactuerName(warehousingOutInfo.info.manufacturer)}}</span>
17
-      <span>经销商 {{getDealerName(warehousingOutInfo.info.dealer)}}</span>
18
-    </div>
19
-
20
-    <div class="filter-container" style="margin-top: 10px">
21
-      <el-button size="small" icon="el-icon-edit" @click="editRecord">编辑</el-button>
22
-      <el-button size="small" icon="el-icon-delete" @click="deleteRecord">删除</el-button>
23
-    </div>
24
-
25
-    <el-row :gutter="12" style="margin-top: 10px">
26
-      <el-table :data="warehousingOutInfo.warehousingOutData" :class="signAndWeighBoxPatients" style="width: 100%" border
27
-      >
28
-        <el-table-column min-width="35" align="center">
29
-          <template slot="header" slot-scope="scope">
30
-            <span>物品类型</span>
31
-          </template>
32
-
33
-          <template slot-scope="scope">
34
-            <span v-if="scope.row.good_type_id != 0">{{getTypeName(scope.row.good_type_id)}}</span>
35
-          </template>
36
-        </el-table-column>
37
-        <el-table-column min-width="35" align="center">
38
-          <template slot="header" slot-scope="scope">
39
-            <span>规格名称</span>
40
-          </template>
41
-          <template slot-scope="scope">
42
-            <span v-if="scope.row.good_id != 0">{{getSpecificationName(scope.row.good_id)}}</span>
43
-          </template>
44
-        </el-table-column>
45
-
46
-
47
-        <el-table-column min-width="23" align="center">
48
-          <template slot="header" slot-scope="scope">
49
-            <span>单价</span>
50
-          </template>
51
-          <template slot-scope="scope">
52
-            <span>{{scope.row.price}}</span>
53
-          </template>
54
-        </el-table-column>
55
-
56
-        <el-table-column min-width="23" align="center">
57
-          <template slot="header" slot-scope="scope">
58
-            <span>出库数量</span>
59
-          </template>
60
-          <template slot-scope="scope">
61
-            <span>{{scope.row.count}}</span>
62
-
63
-          </template>
64
-        </el-table-column>
65
-        <el-table-column label="总价" min-width="20" align="center">
66
-          <template slot-scope="scope">
67
-            {{calculate(scope.row.price*scope.row.count)}}
68
-          </template>
69
-        </el-table-column>
70
-
71
-        <el-table-column label="备注" min-width="20"  align="center">
72
-          <template slot-scope="scope">
73
-            <el-popover placement="top-start"  width="250" trigger="hover" >
74
-              <div>{{scope.row.remark}}</div>
75
-              <span slot="reference" v-if="scope.row.remark.length > 20">{{ scope.row.remark.substr(0,20)+'...' }}</span>
76
-              <span slot="reference" v-else>{{ scope.row.remark}}</span>
77
-            </el-popover>
78
-
79
-          </template>
80
-        </el-table-column>
81
-
82
-
83
-      </el-table>
84
-    </el-row>
85
-  </div>
86
-</template>
87
-
88
-<script>
89
-  import { uParseTime } from '@/utils/tools'
90
-  import { GetAllConfig,getWarehouseOutInfo,deleteWarehouseOut } from '@/api/stock'
91
-
92
-  export default {
93
-    name: 'otherStockOutOrderDetail',
94
-    created() {
95
-      const order_id = this.$route.query.id
96
-      this.GetConfigInfo()
97
-      this.GetOrderDetail(order_id)
98
-    },
99
-    data() {
100
-      return {
101
-        isEdit: 0,
102
-        checked: false,
103
-        signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
104
-        goodType: [],
105
-        goodInfo: [],
106
-        manufacturer: [],
107
-        dealer: [],
108
-
109
-        warehousingOutInfo: {
110
-          loading: false,
111
-          warehousingOutData: [],
112
-          info: {}
113
-        }
114
-      }
115
-    },
116
-    methods: {
117
-      getSpecificationName: function(id) {
118
-        let name = ''
119
-        for (let i = 0; i < this.goodInfo.length; i++) {
120
-          if (this.goodInfo[i].id == id) {
121
-            name = this.goodInfo[i].specification_name
122
-          }
123
-        }
124
-        return name
125
-      }, getTypeName: function(id) {
126
-        let name = ''
127
-        for (let i = 0; i < this.goodType.length; i++) {
128
-          if (this.goodType[i].id == id) {
129
-            name = this.goodType[i].type_name
130
-          }
131
-        }
132
-        return name
133
-      }, GetConfigInfo: function() {
134
-        GetAllConfig().then(response => {
135
-          if (response.data.state == 0) {
136
-            this.$message.error(response.data.msg)
137
-            return false
138
-          } else {
139
-            this.manufacturer = response.data.data.manufacturer
140
-            this.dealer = response.data.data.dealer
141
-            this.goodInfo = response.data.data.goodInfo
142
-            this.goodType = response.data.data.goodType
143
-          }
144
-        })
145
-      }, getManufactuerName: function(manufacturer_id) {
146
-        for (let i = 0; i < this.manufacturer.length; i++) {
147
-          if (this.manufacturer[i].id == manufacturer_id) {
148
-            return this.manufacturer[i].manufacturer_name
149
-          }
150
-        }
151
-      }, getDealerName: function(dealer_id) {
152
-        for (let i = 0; i < this.dealer.length; i++) {
153
-          if (this.dealer[i].id == dealer_id) {
154
-            return this.dealer[i].dealer_name
155
-          }
156
-        }
157
-      }, calculate: function(val) {
158
-        if (val == 0) {
159
-          return ''
160
-        }
161
-        return Math.round(parseFloat(val) * 100) / 100
162
-      }, GetOrderDetail: function(order_id) {
163
-        const params = {
164
-          'id': order_id
165
-        }
166
-        getWarehouseOutInfo(params).then(response => {
167
-          if (response.data.state == 0) {
168
-            this.$message.error(response.data.msg)
169
-            return false
170
-          } else {
171
-            for (let i = 0; i < response.data.data.list.length; i++) {
172
-              this.warehousingOutInfo.warehousingOutData.push(response.data.data.list[i])
173
-            }
174
-            this.warehousingOutInfo.info = response.data.data.info
175
-          }
176
-        })
177
-      }, deleteRecord: function() {
178
-        const ids = []
179
-        ids.push(this.warehousingOutInfo.info.id)
180
-        const idStr = ids.join(',')
181
-
182
-        const params = {
183
-          ids: idStr
184
-        }
185
-
186
-        this.$confirm('确认删除退货单?', '删除退货单记录', {
187
-          confirmButtonText: '确定',
188
-          cancelButtonText: '取消',
189
-          type: 'warning'
190
-        }).then(() => {
191
-          deleteWarehouseOut(params).then(response => {
192
-            if (response.data.state == 0) {
193
-              this.$message.error(response.data.msg)
194
-              return false
195
-            } else {
196
-              this.$notify({
197
-                title: '成功',
198
-                message: '删除成功',
199
-                type: 'success',
200
-                duration: 2000
201
-              })
202
-
203
-              this.$router.back(-1)
204
-            }
205
-          })
206
-        }).catch(() => {
207
-        })
208
-      }, editRecord: function() {
209
-        this.$emit('edit-record')
210
-      }
211
-    }
212
-  }
213
-</script>
214
-
215
-<style rel="stylesheet/css" lang="scss" scoped>
216
-  .information {
217
-    border: 1px #dcdfe6 solid;
218
-    padding: 30px 20px 30px 20px;
219
-
220
-  .border {
221
-    border-bottom: 1px #dcdfe6 solid;
222
-    margin: 0px 0 20px 0;
223
-  }
224
-
225
-  }
226
-
227
-  .title {
228
-    background: #409eff;
229
-    height: 44px;
230
-    line-height: 44px;
231
-    padding: 0 0 0 10px;
232
-    color: #fff;
233
-    margin: 0 0 10px 0;
234
-  }
235
-
236
-  .edit_separater {
237
-    border-top: 1px solid rgb(233, 233, 233);
238
-    margin-top: 15px;
239
-    margin-bottom: 15px;
240
-  }
241
-
242
-</style>
243
-
244
-<style>
245
-  .sign-and-weigh-box .sign-and-weigh-box-patients .cell {
246
-    font-size: 12px;
247
-  }
248
-
249
-  .sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
250
-    background: #6fb5fa;
251
-  }
252
-
253
-  .count {
254
-    color: #bd2c00;
255
-
256
-  }
257
-
258
-</style>

+ 0 - 425
src/xt_pages/stock/otherStockOutOrderEdit.vue View File

@@ -1,425 +0,0 @@
1
-<template>
2
-
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-    <sales-return-dialog :propForm="propForm"
6
-                         :visibility="isVisibility"
7
-                         v-on:dialog-comfirm="comfirm"
8
-                         v-on:dialog-cancle="cancle"></sales-return-dialog>
9
-
10
-    <div class="filter-container">
11
-
12
-      <el-row>
13
-        <el-col :span="8">
14
-          <div>
15
-            <span>入库时间:</span>
16
-            <el-date-picker v-model="warehouse_out_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
17
-                            type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
18
-                            value-format="yyyy-MM-dd"></el-date-picker>
19
-          </div>
20
-        </el-col>
21
-      </el-row>
22
-    </div>
23
-
24
-    <el-row>
25
-      <el-col>
26
-        <el-form :rules="tableRules" :model="recordInfo" ref="tableForm">
27
-          <el-table :data="recordInfo.recordData" :class="signAndWeighBoxPatients" style="width: 100%" border
28
-                    max-height="450"
29
-          >
30
-
31
-            <el-table-column label="操作" align="center" min-width="30">
32
-              <template slot-scope="scope">
33
-                <el-button
34
-                  size="mini"
35
-                  @click="handleEdit(scope.$index, scope.row)">+
36
-                </el-button>
37
-                <el-button
38
-                  size="mini"
39
-                  type="danger"
40
-                  @click="handleDelete(scope.$index, scope.row)">-
41
-                </el-button>
42
-              </template>
43
-            </el-table-column>
44
-
45
-            <el-table-column min-width="35" align="center">
46
-
47
-              <template slot="header" slot-scope="scope">
48
-                <span>物品类型<span style="color: red">*</span></span>
49
-              </template>
50
-
51
-              <template slot-scope="scope">
52
-                <el-form-item style="padding-top: 15px">
53
-                  <el-input placeholder="请输入物品类型" v-model="scope.row.good_type_id"
54
-                            :value="typeName(scope.row.good_type_id)"
55
-                            @focus="showDialog(scope.$index, scope.row)"></el-input>
56
-                </el-form-item>
57
-              </template>
58
-            </el-table-column>
59
-            <el-table-column min-width="35" align="center">
60
-              <template slot="header" slot-scope="scope">
61
-                <span>规格名称<span style="color: red">*</span></span>
62
-              </template>
63
-              <template slot-scope="scope">
64
-
65
-                <el-form-item style="padding-top: 15px">
66
-                  <el-input placeholder="请输入规格名称" v-model="scope.row.good_id"
67
-                            :value="specificationName(scope.row.good_id)"
68
-                            @focus="showDialog(scope.$index, scope.row)"></el-input>
69
-                </el-form-item>
70
-
71
-              </template>
72
-            </el-table-column>
73
-
74
-
75
-            <el-table-column  min-width="23" align="center">
76
-              <template slot="header" slot-scope="scope">
77
-                <span>单价<span style="color: red">*</span></span>
78
-              </template>
79
-              <template slot-scope="scope">
80
-                <!--<el-input type="number" v-model="scope.row.price"  @blur="handleBlur(scope.$index, scope.row)"></el-input>-->
81
-                <el-form-item :prop="'recordData.' + scope.$index + '.price'" :rules='tableRules.price' style="padding-top: 17px">
82
-                  <el-input type="number"  v-model="scope.row.price" ></el-input>
83
-                </el-form-item>
84
-
85
-
86
-              </template>
87
-            </el-table-column>
88
-
89
-            <el-table-column  min-width="23" align="center">
90
-              <template slot="header" slot-scope="scope">
91
-                <span>出库数量<span style="color: red">*</span></span>
92
-              </template>
93
-              <template slot-scope="scope">
94
-                <el-form-item :prop="'recordData.' + scope.$index + '.count'" :rules='tableRules.count' style="padding-top: 17px">
95
-                  <el-input type="number"  v-model="scope.row.count" ></el-input>
96
-                </el-form-item>
97
-              </template>
98
-            </el-table-column>
99
-
100
-            <el-table-column label="总价" min-width="20" align="center">
101
-              <template slot-scope="scope">
102
-                {{calculate(scope.row.price*scope.row.count)}}
103
-              </template>
104
-            </el-table-column>
105
-            <el-table-column label="备注" min-width="20" align="center">
106
-              <template slot-scope="scope">
107
-                <el-input  v-model="scope.row.remark"></el-input>
108
-              </template>
109
-            </el-table-column>
110
-          </el-table>
111
-        </el-form>
112
-      </el-col>
113
-
114
-
115
-      <span class="dialog-footer" style="margin-top: 20px;float:right">
116
-        <el-button @click="back()">取 消</el-button>
117
-        <el-button type="primary" @click="submit()">确 定</el-button>
118
-      </span>
119
-
120
-    </el-row>
121
-  </div>
122
-</template>
123
-
124
-<script>
125
-  import { uParseTime } from '@/utils/tools'
126
-
127
-  import {
128
-    deleteWarehouseOutInfo,
129
-    getWarehouseOutInfo,
130
-    getSalesReturnConfig,
131
-    editWarehouseoutInfo
132
-  } from '@/api/stock'
133
-  import SalesReturnDialog from './Dialog/salesReturnDialog'
134
-
135
-  export default {
136
-    components: { SalesReturnDialog},
137
-    name: 'otherStockOutOrderEdit',
138
-
139
-    data() {
140
-      return {
141
-        signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
142
-
143
-        adminUserOptions: null,
144
-        currentIndex: 0,
145
-        warehouse_out_time: '',
146
-        recordInfo: {
147
-          recordData: [],
148
-          stock_in_code: '',
149
-          current_index: ''
150
-
151
-        },
152
-        tableRules: {
153
-          count: [
154
-            { required: true, message: '数量不能为空', trigge: 'blur' }
155
-          ],
156
-          price: [
157
-            { required: true, message: '单价不能为空', trigger: 'blur' }
158
-          ],
159
-
160
-        },
161
-        ruleForm: {
162
-          manufacturer: [
163
-            { required: true, message: '请选择厂商', trigger: 'change' }
164
-          ]
165
-        },
166
-        // prop
167
-        isVisibility: false,
168
-        propForm: {
169
-          goodType: [],
170
-          goodInfo: [],
171
-          goodUnit: [],
172
-          title: '入库'
173
-        },
174
-
175
-        form: {
176
-          manufacturer: '',
177
-          dealer: ''
178
-        },
179
-
180
-        warehouseOut: {},
181
-        manufacturer: [],
182
-        dealer: [],
183
-        goodType: []
184
-      }
185
-    },
186
-    methods: {
187
-      comfirm: function(val) {
188
-        this.isVisibility = false
189
-        if (val.selectedGoodInfo.length > 0) {
190
-          for (let i = val.selectedGoodInfo.length - 1; ; i--) {
191
-            if (i == 0) {
192
-              this.recordInfo.recordData[this.currentIndex].good_type_id = val.goodTypeId
193
-              this.recordInfo.recordData[this.currentIndex].good_id = val.selectedGoodInfo[i].id
194
-            } else {
195
-              const tempForm = {}
196
-              tempForm['id'] = 0
197
-              tempForm['good_type_id'] = val.goodTypeId
198
-              tempForm['good_id'] = val.selectedGoodInfo[i].id
199
-              tempForm['count'] = ''
200
-              tempForm['price'] = ''
201
-              tempForm['remark'] = ''
202
-
203
-              this.recordInfo.recordData.push(tempForm)
204
-            }
205
-          }
206
-        }
207
-
208
-        this.currentIndex = -1
209
-      }, cancle: function() {
210
-        this.isVisibility = false
211
-      }, GetConfigInfo: function() {
212
-        getSalesReturnConfig().then(response => {
213
-          if (response.data.state == 0) {
214
-            this.$message.error(response.data.msg)
215
-            return false
216
-          } else {
217
-            var warehouseInfoList = response.data.data.warehouseInfoList
218
-            for (let i = 0; i < warehouseInfoList.length; i++) {
219
-              this.propForm.goodInfo.push(warehouseInfoList[i].GoodInfo)
220
-              this.propForm.goodType.push(warehouseInfoList[i].GoodInfo.GoodsType)
221
-
222
-            }
223
-            const obj3 = {}
224
-            const obj4 = {}
225
-            this.propForm.goodInfo = this.propForm.goodInfo.reduce((cur, next) => {
226
-              obj4[next.id] ? '' : obj4[next.id] = true && cur.push(next)
227
-              return cur
228
-            }, [])
229
-            this.propForm.goodType = this.propForm.goodType.reduce((cur, next) => {
230
-              obj3[next.id] ? '' : obj3[next.id] = true && cur.push(next)
231
-              return cur
232
-            }, [])
233
-          }
234
-        })
235
-      }, typeName: function(good_type_id) {
236
-        let name = ''
237
-        for (let i = 0; i < this.propForm.goodType.length; i++) {
238
-          if (this.propForm.goodType[i].id == good_type_id) {
239
-            name = this.propForm.goodType[i].type_name
240
-          }
241
-        }
242
-        return name
243
-      }, specificationName: function(good_info_id) {
244
-        let name = ''
245
-        for (let i = 0; i < this.propForm.goodInfo.length; i++) {
246
-          if (this.propForm.goodInfo[i].id == good_info_id) {
247
-            name = this.propForm.goodInfo[i].specification_name
248
-          }
249
-        }
250
-        return name
251
-      }, handleEdit: function(index, row) {
252
-        const tempObj = {}
253
-        tempObj['id'] = 0
254
-        tempObj['good_type_id'] = 0
255
-        tempObj['good_id'] = 0
256
-        tempObj['count'] = ''
257
-        tempObj['price'] = ''
258
-        tempObj['remark'] = ''
259
-        this.recordInfo.recordData.push(tempObj)
260
-      }, handleDelete: function(index, row) {
261
-        if (row.id == 0) {
262
-          this.recordInfo.recordData.splice(index, 1)
263
-        } else {
264
-          const params = {
265
-            id: row.id
266
-          }
267
-          this.$confirm('确认删除该退货物品信息记录?', '删除退货物品信息记录', {
268
-            confirmButtonText: '确定',
269
-            cancelButtonText: '取消',
270
-            type: 'warning'
271
-          }).then(() => {
272
-            deleteWarehouseOutInfo(params).then(response => {
273
-              if (response.data.state == 0) {
274
-                this.$message.error(response.data.msg)
275
-                return false
276
-              } else {
277
-                this.$notify({
278
-                  title: '成功',
279
-                  message: '删除成功',
280
-                  type: 'success',
281
-                  duration: 2000
282
-                })
283
-                this.recordInfo.recordData.splice(index, 1)
284
-              }
285
-            })
286
-          }).catch(() => {
287
-          })
288
-        }
289
-      }, getTime(val, temp) {
290
-        if (val != 0) {
291
-          return uParseTime(val, temp)
292
-        } else {
293
-          return ''
294
-        }
295
-      }, showDialog(index, row) {
296
-        this.currentIndex = index
297
-
298
-        this.isVisibility = true
299
-        console.log(this.form.manufacturer)
300
-        for (let i = 0; i < this.propForm.goodInfo.length; i++) {
301
-          if (this.propForm.goodInfo[i].manufacturer == this.form.manufacturer) {
302
-            this.propForm.goodType.push(this.propForm.goodInfo[i].GoodsType)
303
-          }
304
-        }
305
-        const obj3 = {}
306
-        this.propForm.goodType = this.propForm.goodType.reduce((cur, next) => {
307
-          obj3[next.id] ? '' : obj3[next.id] = true && cur.push(next)
308
-          return cur
309
-        }, [])
310
-
311
-      }, back() {
312
-        this.$router.go(-1)
313
-      }, submit() {
314
-        this.$refs['tableForm'].validate((valid) => {
315
-          if (valid) {
316
-            const array = this.recordInfo.recordData
317
-            for (let i = 0; i < array.length; i++) {
318
-              if (array[i].good_type_id == 0) {
319
-                this.$message.error('物品类型不能为空')
320
-                return
321
-              }
322
-              if (array[i].good_id == 0) {
323
-                this.$message.error('规格名称不能为空')
324
-                return
325
-              }
326
-            }
327
-
328
-            const params = {
329
-              'stockOut': this.recordInfo.recordData
330
-            }
331
-            editWarehouseoutInfo(params, this.warehouse_out_time, this.$route.query.id).then(response => {
332
-              if (response.data.state == 0) {
333
-                this.$message.error(response.data.msg)
334
-                return false
335
-              } else {
336
-                this.$notify({
337
-                  title: '成功',
338
-                  message: '退货成功',
339
-                  type: 'success',
340
-                  duration: 2000
341
-                })
342
-                this.$router.back(-1)
343
-              }
344
-            })
345
-          } else {
346
-            return false
347
-          }
348
-        })
349
-      }, GetOrderDetail: function(order_id) {
350
-        const params = {
351
-          'id': order_id
352
-        }
353
-        getWarehouseOutInfo(params).then(response => {
354
-          if (response.data.state == 0) {
355
-            this.$message.error(response.data.msg)
356
-            return false
357
-          } else {
358
-            for (let i = 0; i < response.data.data.list.length; i++) {
359
-              response.data.data.list[i].price = response.data.data.list[i].price.toString()
360
-              response.data.data.list[i].count = response.data.data.list[i].count.toString()
361
-              this.recordInfo.recordData.push(response.data.data.list[i])
362
-            }
363
-            this.warehouseOut = response.data.data.info
364
-            this.warehouse_out_time = this.getTime(this.warehouseOut.warehouse_out_time, '{y}-{m}-{d}')
365
-
366
-          }
367
-
368
-        })
369
-      }, calculate: function(val) {
370
-        if (val == 0) {
371
-          return ''
372
-        }
373
-        return Math.round(parseFloat(val) * 100) / 100
374
-      }
375
-    },
376
-    created() {
377
-      this.GetConfigInfo()
378
-      this.propForm.goodUnit = this.$store.getters.good_unit
379
-      const order_id = this.$route.query.id
380
-      this.GetOrderDetail(order_id)
381
-    }
382
-
383
-  }
384
-</script>
385
-
386
-<style rel="stylesheet/css" lang="scss" scoped>
387
-  .information {
388
-    border: 1px #dcdfe6 solid;
389
-    padding: 30px 20px 30px 20px;
390
-
391
-  .border {
392
-    border-bottom: 1px #dcdfe6 solid;
393
-    margin: 0px 0 20px 0;
394
-  }
395
-
396
-  }
397
-
398
-  .title {
399
-    background: #409eff;
400
-    height: 44px;
401
-    line-height: 44px;
402
-    padding: 0 0 0 10px;
403
-    color: #fff;
404
-    margin: 0 0 10px 0;
405
-    border-radius: 4px 4px 0 0;
406
-  }
407
-
408
-  .edit_separater {
409
-    border-top: 1px solid rgb(233, 233, 233);
410
-    margin-top: 15px;
411
-    margin-bottom: 15px;
412
-  }
413
-
414
-</style>
415
-
416
-<style>
417
-  .sign-and-weigh-box .sign-and-weigh-box-patients .cell {
418
-    font-size: 12px;
419
-  }
420
-
421
-  .sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
422
-    background: #6fb5fa;
423
-  }
424
-
425
-</style>

+ 8 - 5
src/xt_pages/stock/salesReturn.vue View File

@@ -62,11 +62,14 @@
62 62
           </el-table-column>
63 63
           <el-table-column label="操作" align="center" min-width="30">
64 64
             <template slot-scope="scope">
65
-              <el-button
66
-                size="mini"
67
-                type="danger"
68
-                @click="handleDelete(scope.$index, scope.row)">删除
69
-              </el-button>
65
+              <el-tooltip class="item" effect="dark" content="删除" placement="top">
66
+                  <el-button
67
+                    size="small"
68
+                    type="danger"
69
+                    icon="el-icon-delete"
70
+                    @click="handleDelete(scope.$index, scope.row)">
71
+                  </el-button>
72
+              </el-tooltip>
70 73
 
71 74
             </template>
72 75
           </el-table-column>

+ 38 - 17
src/xt_pages/stock/salesReturnEdit.vue View File

@@ -1,6 +1,10 @@
1 1
 <template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+    </div>
2 6
 
3
-  <div class="app-container sign-and-weigh-box">
7
+  <div class="app-container">
4 8
 
5 9
     <sales-return-dialog :propForm="propForm"
6 10
                      :visibility="isVisibility"
@@ -12,7 +16,7 @@
12 16
       <el-row>
13 17
         <el-col :span="8">
14 18
           <div>
15
-            <span>入库时间:</span>
19
+            <span>退货时间:</span>
16 20
             <el-date-picker v-model="return_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
17 21
                             type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
18 22
                             value-format="yyyy-MM-dd"></el-date-picker>
@@ -30,15 +34,22 @@
30 34
 
31 35
             <el-table-column label="操作" align="center" min-width="30">
32 36
               <template slot-scope="scope">
33
-                <el-button
34
-                  size="mini"
35
-                  @click="handleEdit(scope.$index, scope.row)">+
36
-                </el-button>
37
-                <el-button
38
-                  size="mini"
39
-                  type="danger"
40
-                  @click="handleDelete(scope.$index, scope.row)">-
41
-                </el-button>
37
+                 <el-tooltip class="item" effect="dark" content="编辑" placement="top">  
38
+                  <el-button
39
+                    size="small"
40
+                    type="primary"
41
+                    icon="el-icon-edit"
42
+                    @click="handleEdit(scope.$index, scope.row)">
43
+                  </el-button>
44
+                  </el-tooltip>
45
+                  <el-tooltip class="item" effect="dark" content="删除" placement="top">
46
+                    <el-button
47
+                      size="small"
48
+                      type="danger"
49
+                      icon="el-icon-delete"
50
+                      @click="handleDelete(scope.$index, scope.row)">
51
+                    </el-button>
52
+                </el-tooltip>
42 53
               </template>
43 54
             </el-table-column>
44 55
 
@@ -97,6 +108,8 @@
97 108
 
98 109
     </el-row>
99 110
   </div>
111
+  </div>
112
+
100 113
 </template>
101 114
 
102 115
 <script>
@@ -109,13 +122,19 @@
109 122
     editSalesReturnInfo
110 123
   } from '@/api/stock'
111 124
   import SalesReturnDialog from './Dialog/salesReturnDialog'
125
+  import BreadCrumb from '../components/bread-crumb'
112 126
 
113 127
   export default {
114
-    components: { SalesReturnDialog },
128
+    components: { BreadCrumb, SalesReturnDialog },
115 129
     name: 'salesReturnEdit',
116 130
 
117 131
     data() {
118 132
       return {
133
+        crumbs: [
134
+          { path: false, name: '库存管理' },
135
+          { path: '/stock/return', name: '退货单' },
136
+          { path: '/stock/in/detail', name: '编辑退货单' }
137
+        ],
119 138
         signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
120 139
         warehousing_time: '',
121 140
         adminUserOptions: null,
@@ -161,7 +180,7 @@
161 180
       }
162 181
     },
163 182
     methods: {
164
-       comfirm: function(val) {
183
+      comfirm: function(val) {
165 184
         this.isVisibility = false
166 185
         if (val.selectedGoodInfo.length > 0) {
167 186
           for (let i = val.selectedGoodInfo.length - 1; ; i--) {
@@ -183,7 +202,11 @@
183 202
       }, cancle: function() {
184 203
         this.isVisibility = false
185 204
       }, GetConfigInfo: function() {
186
-        getSalesReturnConfig().then(response => {
205
+        const params = {
206
+          type: this.$route.query.type
207
+
208
+        }
209
+        getSalesReturnConfig(params).then(response => {
187 210
           if (response.data.state == 0) {
188 211
             this.$message.error(response.data.msg)
189 212
             return false
@@ -192,7 +215,6 @@
192 215
             for (let i = 0; i < warehouseInfoList.length; i++) {
193 216
               this.propForm.goodInfo.push(warehouseInfoList[i].GoodInfo)
194 217
               this.propForm.goodType.push(warehouseInfoList[i].GoodInfo.GoodsType)
195
-
196 218
             }
197 219
             const obj3 = {}
198 220
             const obj4 = {}
@@ -279,7 +301,6 @@
279 301
           obj3[next.id] ? '' : obj3[next.id] = true && cur.push(next)
280 302
           return cur
281 303
         }, [])
282
-
283 304
       }, back() {
284 305
         this.$router.go(-1)
285 306
       }, submit() {
@@ -328,7 +349,7 @@
328 349
             return false
329 350
           } else {
330 351
             for (let i = 0; i < response.data.data.list.length; i++) {
331
-              this.recordInfo.list[i].count =  this.recordInfo.list[i].count.toString();
352
+              response.data.data.list[i].count = response.data.data.list[i].count.toString()
332 353
               this.recordInfo.recordData.push(response.data.data.list[i])
333 354
             }
334 355
             this.salesReturn = response.data.data.salesReturn

+ 122 - 114
src/xt_pages/stock/salesReturnOrder.vue View File

@@ -1,118 +1,120 @@
1 1
 <template>
2 2
 
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-
6
-    <div class="filter-container">
7
-
8
-
9
-      <el-row style="float:right;">
10
-        <el-button @click="AddNewOrder" type="primary">新增</el-button>
11
-      </el-row>
12
-    </div>
13
-
14
-    <div class="filter-container" style="margin-top:20px">
15
-      <el-input style="width: 300px;" class="filter-item" placeholder="单据日期/单据编码/制单人/供应商"/>
16
-      <el-button class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
3
+  <div class="main-contain">
4
+    <div class="position">
5
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
6
+      <el-button size="small" @click="AddNewOrder" class="filter-item" style="float:right;" type="primary"
7
+                 icon="el-icon-circle-plus-outline">新增
8
+      </el-button>
17 9
     </div>
18 10
 
19
-    <div class="filter-container">
20
-      <span>入库时间:</span>
21
-      <el-date-picker v-model="start_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
22
-                      type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
23
-                      value-format="yyyy-MM-dd" @change="startTimeChange"></el-date-picker>
24
-      <span class="">-</span>
25
-      <el-date-picker v-model="end_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
26
-                      type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
27
-                      value-format="yyyy-MM-dd" @change="endTimeChange"></el-date-picker>
28
-    </div>
29
-
30
-    <div class="filter-container" style="margin-top: 10px">
31
-      <el-checkbox style="width: 30px" v-model="checked" @change="changeAllSelected">全选</el-checkbox>
32
-      <el-button size="small" icon="el-icon-delete" @click="batchDelete">删除</el-button>
11
+    <div class="app-container">
12
+
13
+      <div class="filter-container" >
14
+        <el-input style="width: 400px;" class="filter-item" placeholder="单据日期/单据编码/制单人/供应商"/>
15
+        <el-button class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
16
+      </div>
17
+
18
+      <div class="filter-container">
19
+        <label class="title"><span class="name">退货时间</span> : </label>
20
+        <el-date-picker v-model="start_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
21
+                        type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
22
+                        value-format="yyyy-MM-dd" @change="startTimeChange"></el-date-picker>
23
+        <span class="">-</span>
24
+        <el-date-picker v-model="end_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
25
+                        type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
26
+                        value-format="yyyy-MM-dd" @change="endTimeChange"></el-date-picker>
27
+      </div>
28
+
29
+      <div class="filter-container" style="margin-top: 10px">
30
+        <el-checkbox style="width: 30px" v-model="checked" @change="changeAllSelected">全选</el-checkbox>
31
+        <el-button size="small" icon="el-icon-delete" @click="batchDelete">删除</el-button>
32
+
33
+      </div>
34
+
35
+      <el-row :gutter="12" style="margin-top: 10px">
36
+        <el-table
37
+          :data="saleReturnDate"
38
+          :class="signAndWeighBoxPatients"
39
+          style="width: 100%" border
40
+          highlight-current-row
41
+          ref="multipleTable"
42
+          @selection-change="select"
43
+          :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}"
44
+
45
+        >
46
+          <el-table-column
47
+            type="selection"
48
+            width="55">
49
+          </el-table-column>
50
+
51
+          <el-table-column label="单据日期" align="center">
52
+            <template slot-scope="scope">
53
+              {{ scope.row.opera_time | parseTime('{y}-{m}-{d}')}}
54
+            </template>
55
+          </el-table-column>
56
+
57
+          <el-table-column label="单据编号" align="center">
58
+            <template slot-scope="scope">
59
+              {{scope.row.order_number}}
60
+            </template>
61
+          </el-table-column>
62
+
63
+          <el-table-column label="制单人" align="center">
64
+            <template slot-scope="scope">
65
+              {{getXuserName(scope.row.creater)}}
66
+            </template>
67
+          </el-table-column>
68
+
69
+
70
+          <el-table-column label="厂家" align="center">
71
+            <template slot-scope="scope">
72
+              {{getManufactuerName(scope.row.manufacturer)}}
73
+            </template>
74
+          </el-table-column>
75
+
76
+          <el-table-column label="经销商" align="center">
77
+            <template slot-scope="scope">
78
+              {{getDealerName(scope.row.dealer)}}
79
+            </template>
80
+          </el-table-column>
81
+
82
+          <el-table-column label="操作" align="center">
83
+            <template slot-scope="scope">
84
+              <el-button
85
+                size="mini"
86
+                type="primary"
87
+                icon="el-icon-edit"
88
+                @click="handleEdit(scope.$index, scope.row)">
89
+              </el-button>
90
+
91
+              <el-button
92
+                size="mini"
93
+                type="danger"
94
+                icon="el-icon-delete"
95
+                @click="handleDelete(scope.$index, scope.row)">
96
+              </el-button>
97
+
98
+            </template>
99
+          </el-table-column>
100
+
101
+        </el-table>
102
+
103
+        <el-pagination
104
+          @size-change="handleSizeChange"
105
+          @current-change="handleCurrentChange"
106
+          :page-sizes="[7]"
107
+          :page-size="7"
108
+          background
109
+          style="margin-top:20px;float: right"
110
+          layout="total, sizes, prev, pager, next, jumper"
111
+          :total="total">
112
+        </el-pagination>
33 113
 
114
+      </el-row>
34 115
     </div>
35
-
36
-    <el-row :gutter="12" style="margin-top: 10px">
37
-      <el-table
38
-        :data="saleReturnDate"
39
-        :class="signAndWeighBoxPatients"
40
-        style="width: 100%" border
41
-        highlight-current-row
42
-        ref="multipleTable"
43
-        @selection-change="select"
44
-
45
-      >
46
-        <el-table-column
47
-          type="selection"
48
-          width="55">
49
-        </el-table-column>
50
-
51
-        <el-table-column label="单据日期" align="center">
52
-          <template slot-scope="scope">
53
-            {{ scope.row.opera_time | parseTime('{y}-{m}-{d}')}}
54
-          </template>
55
-        </el-table-column>
56
-
57
-        <el-table-column label="单据编号" align="center">
58
-          <template slot-scope="scope">
59
-            {{scope.row.order_number}}
60
-          </template>
61
-        </el-table-column>
62
-
63
-        <el-table-column label="制单人" align="center">
64
-          <template slot-scope="scope">
65
-            {{getXuserName(scope.row.creater)}}
66
-          </template>
67
-        </el-table-column>
68
-
69
-
70
-        <el-table-column label="厂家" align="center">
71
-          <template slot-scope="scope">
72
-            {{getManufactuerName(scope.row.manufacturer)}}
73
-          </template>
74
-        </el-table-column>
75
-
76
-        <el-table-column label="经销商" align="center">
77
-          <template slot-scope="scope">
78
-            {{getDealerName(scope.row.dealer)}}
79
-          </template>
80
-        </el-table-column>
81
-
82
-        <el-table-column label="操作" align="center">
83
-          <template slot-scope="scope">
84
-            <el-button
85
-              size="mini"
86
-              type="primary"
87
-              icon="el-icon-edit"
88
-              @click="handleEdit(scope.$index, scope.row)">
89
-            </el-button>
90
-
91
-            <el-button
92
-              size="mini"
93
-              type="danger"
94
-              icon="el-icon-delete"
95
-              @click="handleDelete(scope.$index, scope.row)">
96
-            </el-button>
97
-
98
-          </template>
99
-        </el-table-column>
100
-
101
-      </el-table>
102
-
103
-      <el-pagination
104
-        @size-change="handleSizeChange"
105
-        @current-change="handleCurrentChange"
106
-        :page-sizes="[7]"
107
-        :page-size="7"
108
-        background
109
-        style="margin-top:20px;float: right"
110
-        layout="total, sizes, prev, pager, next, jumper"
111
-        :total="total">
112
-      </el-pagination>
113
-
114
-    </el-row>
115 116
   </div>
117
+
116 118
 </template>
117 119
 
118 120
 <script>
@@ -121,13 +123,15 @@
121 123
   import {
122 124
     deleteSalesReturn,
123 125
     GetAllConfig,
124
-    getWarehouseInfoList,
125 126
     getSalesReturnList,
127
+    getWarehouseInfoList,
126 128
     getWarehouseList
127 129
   } from '@/api/stock'
130
+  import BreadCrumb from '../components/bread-crumb'
128 131
 
129 132
   export default {
130 133
     name: 'salesReturnOrder',
134
+    components: { BreadCrumb },
131 135
     created() {
132 136
       var year = new Date().getFullYear()
133 137
       var month = new Date().getMonth() + 1
@@ -158,6 +162,10 @@
158 162
     },
159 163
     data() {
160 164
       return {
165
+        crumbs: [
166
+          { path: false, name: '库存管理' },
167
+          { path: '/stock/return', name: '退货单' }
168
+        ],
161 169
         type: 1,
162 170
         page: 1,
163 171
         limit: 7,
@@ -175,13 +183,13 @@
175 183
         goodInfo: [],
176 184
         manufacturer: [],
177 185
         selectedTableData: [],
178
-        dealer: [],
186
+        dealer: []
179 187
 
180 188
       }
181 189
     },
182 190
     methods: {
183
-      AddNewOrder:function(){
184
-        this.$router.push({ name: 'salesReturnOrderAdd'})
191
+      AddNewOrder: function() {
192
+        this.$router.push({ name: 'salesReturnOrderAdd', query: { type: this.type }})
185 193
       },
186 194
       GetSalesReturn: function() {
187 195
         const Params = {
@@ -189,7 +197,7 @@
189 197
           limit: this.limit,
190 198
           start_time: this.start_time,
191 199
           end_time: this.end_time,
192
-          type:this.type,
200
+          type: this.type
193 201
         }
194 202
         this.saleReturnDate = []
195 203
         getSalesReturnList(Params).then(response => {
@@ -272,7 +280,7 @@
272 280
           }
273 281
         }
274 282
       }, handleEdit: function(index, row) {
275
-        this.$router.push({ name: 'salesReturnDetail', query: { id: row.id }})
283
+        this.$router.push({ name: 'salesReturnDetail', query: { id: row.id, type: this.type }})
276 284
       }, handleDelete: function(index, row) {
277 285
         const ids = []
278 286
         ids.push(row.id)

+ 162 - 153
src/xt_pages/stock/salesReturnOrderAdd.vue View File

@@ -1,148 +1,163 @@
1 1
 <template>
2
-
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-    <sales-return-dialog :propForm="propForm"
6
-                     :visibility="isVisibility"
7
-                     v-on:dialog-comfirm="comfirm"
8
-                     v-on:dialog-cancle="cancle"></sales-return-dialog>
9
-
10
-    <div class="filter-container">
11
-
12
-      <el-row>
13
-        <el-col :span="8"><div>
14
-          <span>退货时间:</span>
15
-          <el-date-picker v-model="return_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
16
-                          type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
17
-                          value-format="yyyy-MM-dd"></el-date-picker>
18
-        </div></el-col>
19
-
20
-
21
-        <el-col :span="8">
22
-          <div>
23
-            <el-form ref="form" :model="form" :rules="ruleForm" label-width="80px">
24
-              <el-form-item label="厂商:" prop="manufacturer">
25
-                <el-select v-model="form.manufacturer" placeholder="请选择厂商">
26
-                  <el-option v-for="(option, index) in manufacturer" :key="index" :label="option.manufacturer_name" :value="option.id"></el-option>
27
-                </el-select>
28
-              </el-form-item>
29
-            </el-form>
30
-          </div>
31
-        </el-col>
32
-        <el-col :span="8">
33
-          <div>
34
-            <el-form ref="form" :model="form" label-width="80px">
35
-              <el-form-item label="经销商:">
36
-                <el-select v-model="form.dealer" placeholder="请选择经销商">
37
-                  <el-option v-for="(option, index) in dealer" :key="index" :label="option.dealer_name" :value="option.id"></el-option>
38
-                </el-select>
39
-              </el-form-item>
40
-            </el-form>
41
-          </div>
42
-        </el-col>
43
-      </el-row>
44
-
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
45 5
     </div>
46 6
 
47
-    <el-row>
48
-      <el-col>
49
-        <el-form  :rules="tableRules" :model="recordInfo" ref="tableForm">
50
-          <el-table :data="recordInfo.recordData" :class="signAndWeighBoxPatients" style="width: 100%" border
51
-                    max-height="450"
52
-          >
53
-
54
-            <el-table-column label="操作" align="center" min-width="30">
55
-              <template slot-scope="scope">
56
-                <el-button
57
-                  size="mini"
58
-                  @click="handleEdit(scope.$index, scope.row)">+
59
-                </el-button>
60
-                <el-button
61
-                  size="mini"
62
-                  type="danger"
63
-                  @click="handleDelete(scope.$index, scope.row)">-
64
-                </el-button>
65
-              </template>
66
-            </el-table-column>
67
-
68
-            <el-table-column min-width="35" align="center">
69
-
70
-              <template slot="header" slot-scope="scope">
71
-                <span>物品类型<span style="color: red">*</span></span>
72
-              </template>
73
-
74
-              <template slot-scope="scope" >
75
-                <!--<span @click="showDialog(scope.$index, scope.row)" v-if="scope.row.good_type_id == 0" style="color:#c5c8cf">请输入类型</span>-->
76
-                <!--<span @click="showDialog(scope.$index, scope.row)" v-if="scope.row.good_type_id != 0">{{typeName(scope.row.good_type_id)}}</span>-->
77
-
78
-                <el-form-item  style="padding-top: 15px">
79
-                  <el-input placeholder="请输入物品类型"  v-model="scope.row.good_type_id" :value="typeName(scope.row.good_type_id)" @focus="showDialog(scope.$index, scope.row)" ></el-input>
7
+    <div class="app-container">
8
+      <sales-return-dialog :propForm="propForm"
9
+                           :visibility="isVisibility"
10
+                           v-on:dialog-comfirm="comfirm"
11
+                           v-on:dialog-cancle="cancle"></sales-return-dialog>
12
+      <div class="filter-container">
13
+        <el-row>
14
+          <el-col :span="8">
15
+            <div>
16
+              <span>退货时间:</span>
17
+              <el-date-picker v-model="return_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
18
+                              type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
19
+                              value-format="yyyy-MM-dd"></el-date-picker>
20
+            </div>
21
+          </el-col>
22
+
23
+
24
+          <el-col :span="8">
25
+            <div>
26
+              <el-form ref="form" :model="form" :rules="ruleForm" label-width="80px">
27
+                <el-form-item label="厂商:" prop="manufacturer">
28
+                  <el-select v-model="form.manufacturer" placeholder="请选择厂商">
29
+                    <el-option v-for="(option, index) in manufacturer" :key="index" :label="option.manufacturer_name"
30
+                               :value="option.id"></el-option>
31
+                  </el-select>
80 32
                 </el-form-item>
81
-
82
-              </template>
83
-            </el-table-column>
84
-            <el-table-column min-width="35" align="center">
85
-              <template slot="header" slot-scope="scope">
86
-                <span>规格名称<span style="color: red">*</span></span>
87
-              </template>
88
-              <template slot-scope="scope">
89
-
90
-                <el-form-item  style="padding-top: 15px">
91
-                  <el-input placeholder="请输入规格名称"  v-model="scope.row.good_id" :value="specificationName(scope.row.good_id)" @focus="showDialog(scope.$index, scope.row)" ></el-input>
33
+              </el-form>
34
+            </div>
35
+          </el-col>
36
+          <el-col :span="8">
37
+            <div>
38
+              <el-form ref="form" :model="form" label-width="80px">
39
+                <el-form-item label="经销商:">
40
+                  <el-select v-model="form.dealer" placeholder="请选择经销商">
41
+                    <el-option v-for="(option, index) in dealer" :key="index" :label="option.dealer_name"
42
+                               :value="option.id"></el-option>
43
+                  </el-select>
92 44
                 </el-form-item>
93
-
94
-              </template>
95
-            </el-table-column>
96
-
97
-
98
-            <el-table-column  min-width="23" align="center">
99
-              <template slot="header" slot-scope="scope">
100
-                <span>退货数量<span style="color: red">*</span></span>
101
-              </template>
102
-              <template slot-scope="scope">
103
-                <!--{{scope.row.warehousing_count}}-->
104
-                <!--<el-input type="number" v-model="scope.row.warehousing_count"   @blur="handleBlur(scope.$index, scope.row)"></el-input>-->
105
-
106
-                <el-form-item :prop="'recordData.' + scope.$index + '.return_count'" :rules='tableRules.return_count' style="padding-top: 17px">
107
-                  <el-input type="number"  v-model="scope.row.return_count" ></el-input>
108
-                </el-form-item>
109
-              </template>
110
-            </el-table-column>
111
-
112
-          </el-table>
113
-        </el-form>
114
-      </el-col>
45
+              </el-form>
46
+            </div>
47
+          </el-col>
48
+        </el-row>
49
+        <el-row>
50
+          <el-col>
51
+            <el-form :rules="tableRules" :model="recordInfo" ref="tableForm">
52
+              <el-table :data="recordInfo.recordData" :class="signAndWeighBoxPatients" style="width: 100%" border
53
+                        max-height="450"
54
+              >
55
+
56
+                <el-table-column label="操作" align="center" min-width="30">
57
+                  <template slot-scope="scope">
58
+                    <el-button
59
+                      size="mini"
60
+                      @click="handleEdit(scope.$index, scope.row)">+
61
+                    </el-button>
62
+                    <el-button
63
+                      size="mini"
64
+                      type="danger"
65
+                      @click="handleDelete(scope.$index, scope.row)">-
66
+                    </el-button>
67
+                  </template>
68
+                </el-table-column>
69
+
70
+                <el-table-column min-width="35" align="center">
71
+
72
+                  <template slot="header" slot-scope="scope">
73
+                    <span>物品类型<span style="color: red">*</span></span>
74
+                  </template>
75
+
76
+                  <template slot-scope="scope">
77
+                    <!--<span @click="showDialog(scope.$index, scope.row)" v-if="scope.row.good_type_id == 0" style="color:#c5c8cf">请输入类型</span>-->
78
+                    <!--<span @click="showDialog(scope.$index, scope.row)" v-if="scope.row.good_type_id != 0">{{typeName(scope.row.good_type_id)}}</span>-->
79
+
80
+                    <el-form-item style="padding-top: 15px">
81
+                      <el-input placeholder="请输入物品类型" v-model="scope.row.good_type_id"
82
+                                :value="typeName(scope.row.good_type_id)"
83
+                                @focus="showDialog(scope.$index, scope.row)"></el-input>
84
+                    </el-form-item>
85
+
86
+                  </template>
87
+                </el-table-column>
88
+                <el-table-column min-width="35" align="center">
89
+                  <template slot="header" slot-scope="scope">
90
+                    <span>规格名称<span style="color: red">*</span></span>
91
+                  </template>
92
+                  <template slot-scope="scope">
93
+
94
+                    <el-form-item style="padding-top: 15px">
95
+                      <el-input placeholder="请输入规格名称" v-model="scope.row.good_id"
96
+                                :value="specificationName(scope.row.good_id)"
97
+                                @focus="showDialog(scope.$index, scope.row)"></el-input>
98
+                    </el-form-item>
99
+
100
+                  </template>
101
+                </el-table-column>
102
+
103
+
104
+                <el-table-column min-width="23" align="center">
105
+                  <template slot="header" slot-scope="scope">
106
+                    <span>退货数量<span style="color: red">*</span></span>
107
+                  </template>
108
+                  <template slot-scope="scope">
109
+                    <!--{{scope.row.warehousing_count}}-->
110
+                    <!--<el-input type="number" v-model="scope.row.warehousing_count"   @blur="handleBlur(scope.$index, scope.row)"></el-input>-->
111
+
112
+                    <el-form-item :prop="'recordData.' + scope.$index + '.return_count'" :rules='tableRules.return_count'
113
+                                  style="padding-top: 17px">
114
+                      <el-input type="number" v-model="scope.row.return_count"></el-input>
115
+                    </el-form-item>
116
+                  </template>
117
+                </el-table-column>
118
+
119
+              </el-table>
120
+            </el-form>
121
+          </el-col>
115 122
 
116 123
 
117
-      <span  class="dialog-footer" style="margin-top: 20px;float:right">
124
+          <span class="dialog-footer" style="margin-top: 20px;float:right">
118 125
         <el-button @click="back()">取 消</el-button>
119 126
         <el-button type="primary" @click="submit()">确 定</el-button>
120 127
       </span>
121 128
 
122
-    </el-row>
129
+        </el-row>
130
+      </div>
131
+
132
+    </div>
123 133
   </div>
134
+
124 135
 </template>
125 136
 
126 137
 <script>
127 138
   import { uParseTime } from '@/utils/tools'
128
-  import {
129
-    getSalesReturnConfig,
130
-    postSalesReturn,
131
-  } from '@/api/stock'
139
+  import { getSalesReturnConfig, postSalesReturn } from '@/api/stock'
132 140
   import SalesReturnDialog from './Dialog/salesReturnDialog'
141
+  import BreadCrumb from '../components/bread-crumb'
133 142
 
134 143
   export default {
135
-    components: { SalesReturnDialog},
144
+    components: { BreadCrumb, SalesReturnDialog },
136 145
     name: 'salesReturnOrderAdd',
137 146
 
138 147
     data() {
139 148
       return {
140
-        type:1,
149
+        crumbs: [
150
+          { path: false, name: '库存管理' },
151
+          { path: '/stock/return', name: '退回单' },
152
+          { path: '/stock/return/add', name: '新增退货单' }
153
+        ],
154
+
155
+        type: this.$route.query.type,
141 156
         signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
142 157
         return_time: '',
143 158
         currentIndex: 0,
144 159
         recordInfo: {
145
-          recordData: [],
160
+          recordData: []
146 161
         },
147 162
         tableRules: {
148 163
           price: [
@@ -150,7 +165,7 @@
150 165
           ],
151 166
           return_count: [
152 167
             { required: true, message: '数量不能为空', trigge: 'blur' }
153
-          ],
168
+          ]
154 169
         },
155 170
         ruleForm: {
156 171
           manufacturer: [
@@ -163,7 +178,7 @@
163 178
         propForm: {
164 179
           goodType: [],
165 180
           goodInfo: [],
166
-          goodUnit: [],
181
+          goodUnit: []
167 182
         },
168 183
         form: {
169 184
           manufacturer: '',
@@ -179,7 +194,7 @@
179 194
       comfirm: function(val) {
180 195
         this.isVisibility = false
181 196
         if (val.selectedGoodInfo.length > 0) {
182
-          for (let i = val.selectedGoodInfo.length - 1; ;i--) {
197
+          for (let i = val.selectedGoodInfo.length - 1; ; i--) {
183 198
             if (i == 0) {
184 199
               this.recordInfo.recordData[this.currentIndex].good_type_id = val.goodTypeId
185 200
               this.recordInfo.recordData[this.currentIndex].good_id = val.selectedGoodInfo[i].id
@@ -198,38 +213,39 @@
198 213
       }, cancle: function() {
199 214
         this.isVisibility = false
200 215
       }, GetConfigInfo: function() {
201
-        getSalesReturnConfig().then(response => {
216
+        const params = {
217
+          type: this.type
218
+        }
219
+        getSalesReturnConfig(params).then(response => {
202 220
           if (response.data.state == 0) {
203 221
             this.$message.error(response.data.msg)
204 222
             return false
205 223
           } else {
206
-            var warehouseList =  response.data.data.warehouseList
207
-            var warehouseInfoList =  response.data.data.warehouseInfoList
208
-            for (let i = 0; i <warehouseList.length; i++ ){
209
-              if(warehouseList[i].Manufacturer.id > 0){
224
+            var warehouseList = response.data.data.warehouseList
225
+            var warehouseInfoList = response.data.data.warehouseInfoList
226
+            for (let i = 0; i < warehouseList.length; i++) {
227
+              if (warehouseList[i].Manufacturer.id > 0) {
210 228
                 this.manufacturer.push(warehouseList[i].Manufacturer)
211 229
               }
212
-              if(warehouseList[i].Dealer.id > 0){
230
+              if (warehouseList[i].Dealer.id > 0) {
213 231
                 this.dealer.push(warehouseList[i].Dealer)
214 232
               }
215 233
             }
216 234
 
217 235
             for (let i = 0; i < warehouseInfoList.length; i++) {
218 236
               this.propForm.goodInfo.push(warehouseInfoList[i].GoodInfo)
219
-
220 237
             }
221 238
 
222
-
223 239
             const obj = {}
224 240
             const obj2 = {}
225 241
             const obj4 = {}
226
-            //去重复
227
-            this.manufacturer =  this.manufacturer.reduce((cur, next) => {
242
+            // 去重复
243
+            this.manufacturer = this.manufacturer.reduce((cur, next) => {
228 244
               obj[next.id] ? '' : obj[next.id] = true && cur.push(next)
229 245
               return cur
230 246
             }, [])
231
-            //去重复
232
-            this.dealer =  this.dealer.reduce((cur, next) => {
247
+            // 去重复
248
+            this.dealer = this.dealer.reduce((cur, next) => {
233 249
               obj2[next.id] ? '' : obj2[next.id] = true && cur.push(next)
234 250
               return cur
235 251
             }, [])
@@ -237,8 +253,6 @@
237 253
               obj4[next.id] ? '' : obj4[next.id] = true && cur.push(next)
238 254
               return cur
239 255
             }, [])
240
-
241
-
242 256
           }
243 257
         })
244 258
       }, typeName: function(good_type_id) {
@@ -267,7 +281,6 @@
267 281
       }, handleDelete: function(index, row) {
268 282
         this.recordInfo.recordData.splice(index, 1)
269 283
       }, calculate: function(val) {
270
-
271 284
         if (val == 0) {
272 285
           return ''
273 286
         }
@@ -287,20 +300,16 @@
287 300
         } else {
288 301
           this.isVisibility = true
289 302
           console.log(this.form.manufacturer)
290
-          for (let i = 0; i < this.propForm.goodInfo.length; i++){
291
-            if(this.propForm.goodInfo[i].manufacturer == this.form.manufacturer){
303
+          for (let i = 0; i < this.propForm.goodInfo.length; i++) {
304
+            if (this.propForm.goodInfo[i].manufacturer == this.form.manufacturer) {
292 305
               this.propForm.goodType.push(this.propForm.goodInfo[i].GoodsType)
293 306
             }
294
-
295 307
           }
296 308
           const obj3 = {}
297 309
           this.propForm.goodType = this.propForm.goodType.reduce((cur, next) => {
298 310
             obj3[next.id] ? '' : obj3[next.id] = true && cur.push(next)
299 311
             return cur
300 312
           }, [])
301
-
302
-
303
-
304 313
         }
305 314
       }, back() {
306 315
         this.$router.go(-1)
@@ -327,21 +336,21 @@
327 336
             const params = {
328 337
               'salesReturn': this.recordInfo.recordData
329 338
             }
330
-            postSalesReturn(params,this.return_time,total,this.form.dealer,this.form.manufacturer,this.type).then(response=>{
331
-              if (response.data.state==0) {
332
-                this.$message.error(response.data.msg);
333
-                return false;
334
-              }else {
339
+            postSalesReturn(params, this.return_time, total, this.form.dealer, this.form.manufacturer, this.type).then(response => {
340
+              if (response.data.state == 0) {
341
+                this.$message.error(response.data.msg)
342
+                return false
343
+              } else {
335 344
                 this.$notify({
336
-                  title: "成功",
337
-                  message: "退货成功",
338
-                  type: "success",
345
+                  title: '成功',
346
+                  message: '退货成功',
347
+                  type: 'success',
339 348
                   duration: 2000
340
-                });
349
+                })
341 350
                 this.recordInfo.recordData = []
342 351
                 this.$router.back(-1)
343 352
               }
344
-            });
353
+            })
345 354
           } else {
346 355
             return false
347 356
           }
@@ -382,6 +391,7 @@
382 391
     border-bottom: 1px #dcdfe6 solid;
383 392
     margin: 0px 0 20px 0;
384 393
   }
394
+
385 395
   }
386 396
 
387 397
   .title {
@@ -391,7 +401,6 @@
391 401
     padding: 0 0 0 10px;
392 402
     color: #fff;
393 403
     margin: 0 0 10px 0;
394
-  // border-radius: 4px 4px 0 0;
395 404
   }
396 405
 
397 406
   .edit_separater {

+ 67 - 55
src/xt_pages/stock/salesReturnOrderDetail.vue View File

@@ -1,70 +1,77 @@
1 1
 <template>
2
-
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-    <div class="filter-container">
6
-      <span style="font-size: 20px">退货单详情</span>
7
-      <el-row style="float:right;">
8
-        <span>{{ReturnInfo.salesReturn.order_number}}</span>
9
-      </el-row>
10
-    </div>
11
-
12
-
13
-
14
-    <div class="filter-container">
15
-      <span>单据日期:  {{ReturnInfo.salesReturn.return_time | parseTime('{y}-{m}-{d}')}} </span>
16
-      <span>厂商 {{getManufactuerName(ReturnInfo.salesReturn.manufacturer)}}</span>
17
-      <span>经销商 {{getDealerName(ReturnInfo.salesReturn.dealer)}}</span>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
18 5
     </div>
19 6
 
20
-    <div class="filter-container" style="margin-top: 10px">
21
-      <el-button size="small" icon="el-icon-edit" @click="editRecord">编辑</el-button>
22
-      <el-button size="small" icon="el-icon-delete" @click="deleteRecord">删除</el-button>
7
+    <div class="app-container">
8
+
9
+      <div class="filter-container">
10
+        <span style="font-size: 18px">退货单详情</span>
11
+        <el-row style="float:right;">
12
+          <span>{{ReturnInfo.salesReturn.order_number}}</span>
13
+        </el-row>
14
+      </div>
15
+
16
+
17
+      <div class="cell">
18
+        <span style="width: 300px">单据日期:  {{ReturnInfo.salesReturn.return_time | parseTime('{y}-{m}-{d}')}} </span>
19
+        <span style="width: 300px">厂商: {{getManufactuerName(ReturnInfo.salesReturn.manufacturer)}}</span>
20
+        <span style="width: 300px">经销商: {{getDealerName(ReturnInfo.salesReturn.dealer)}}</span>
21
+      </div>
22
+
23
+      <div class="filter-container" style="margin-top: 10px">
24
+        <el-button size="small" icon="el-icon-edit" @click="editRecord">编辑</el-button>
25
+        <el-button size="small" icon="el-icon-delete" @click="deleteRecord">删除</el-button>
26
+      </div>
27
+
28
+      <el-row :gutter="12" style="margin-top: 10px">
29
+        <el-table :data="ReturnInfo.returnInfoData" :class="signAndWeighBoxPatients" style="width: 100%" border
30
+        >
31
+          <el-table-column min-width="35" align="center">
32
+            <template slot="header" slot-scope="scope">
33
+              <span>物品类型</span>
34
+            </template>
35
+
36
+            <template slot-scope="scope">
37
+              <span v-if="scope.row.good_type_id != 0">{{getTypeName(scope.row.good_type_id)}}</span>
38
+            </template>
39
+          </el-table-column>
40
+          <el-table-column min-width="35" align="center">
41
+            <template slot="header" slot-scope="scope">
42
+              <span>规格名称</span>
43
+            </template>
44
+            <template slot-scope="scope">
45
+              <span v-if="scope.row.good_id != 0">{{getSpecificationName(scope.row.good_id)}}</span>
46
+            </template>
47
+          </el-table-column>
48
+
49
+          <el-table-column min-width="23" align="center">
50
+            <template slot="header" slot-scope="scope">
51
+              <span>退货数量</span>
52
+            </template>
53
+            <template slot-scope="scope">
54
+              <span>{{scope.row.count}}</span>
55
+
56
+            </template>
57
+          </el-table-column>
58
+
59
+
60
+        </el-table>
61
+      </el-row>
23 62
     </div>
24
-
25
-    <el-row :gutter="12" style="margin-top: 10px">
26
-      <el-table :data="ReturnInfo.returnInfoData" :class="signAndWeighBoxPatients" style="width: 100%" border
27
-      >
28
-        <el-table-column min-width="35" align="center">
29
-          <template slot="header" slot-scope="scope">
30
-            <span>物品类型</span>
31
-          </template>
32
-
33
-          <template slot-scope="scope">
34
-            <span v-if="scope.row.good_type_id != 0">{{getTypeName(scope.row.good_type_id)}}</span>
35
-          </template>
36
-        </el-table-column>
37
-        <el-table-column min-width="35" align="center">
38
-          <template slot="header" slot-scope="scope">
39
-            <span>规格名称</span>
40
-          </template>
41
-          <template slot-scope="scope">
42
-            <span v-if="scope.row.good_id != 0">{{getSpecificationName(scope.row.good_id)}}</span>
43
-          </template>
44
-        </el-table-column>
45
-
46
-        <el-table-column min-width="23" align="center">
47
-          <template slot="header" slot-scope="scope">
48
-            <span>退货数量</span>
49
-          </template>
50
-          <template slot-scope="scope">
51
-            <span>{{scope.row.count}}</span>
52
-
53
-          </template>
54
-        </el-table-column>
55
-
56
-
57
-      </el-table>
58
-    </el-row>
59 63
   </div>
64
+
60 65
 </template>
61 66
 
62 67
 <script>
63 68
   import { uParseTime } from '@/utils/tools'
64
-  import { GetAllConfig,getReturnList,deleteSalesReturn } from '@/api/stock'
69
+  import { deleteSalesReturn, GetAllConfig, getReturnList } from '@/api/stock'
70
+  import BreadCrumb from '../components/bread-crumb'
65 71
 
66 72
   export default {
67 73
     name: 'stockInOrderDetail',
74
+    components: { BreadCrumb },
68 75
     created() {
69 76
       const order_id = this.$route.query.id
70 77
       this.GetConfigInfo()
@@ -72,6 +79,11 @@
72 79
     },
73 80
     data() {
74 81
       return {
82
+        crumbs: [
83
+          { path: false, name: '库存管理' },
84
+          { path: '/stock/return', name: '退货单' },
85
+          { path: '/stock/return/detail', name: '退货单详情' }
86
+        ],
75 87
         isEdit: 0,
76 88
         checked: false,
77 89
         signAndWeighBoxPatients: 'sign-and-weigh-box-patients',

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

@@ -26,7 +26,6 @@
26 26
                   highlight-current-row
27 27
                   @row-click="onRowClick"
28 28
                   :row-class-name="tableRowClassName"
29
-                  highlight-current-row
30 29
                   v-loading="salesReturn.loading"
31 30
         >
32 31
           <el-table-column label="退货单号" min-width="40" align="center">

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

@@ -31,7 +31,6 @@
31 31
                   highlight-current-row
32 32
                   @row-click="onRowClick"
33 33
                   :row-class-name="tableRowClassName"
34
-                  highlight-current-row
35 34
                   v-loading="Warehouse.loading"
36 35
         >
37 36
           <el-table-column label="入库单号" min-width="40" align="center">

+ 53 - 56
src/xt_pages/stock/stockInOrder.vue View File

@@ -1,39 +1,34 @@
1 1
 <template>
2 2
 
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-
6
-    <div class="filter-container">
7
-
8
-
9
-      <el-row style="float:right;">
10
-        <el-button @click="handleWarehouse" type="primary">新增</el-button>
11
-      </el-row>
12
-    </div>
13
-
14
-    <div class="filter-container" style="margin-top:20px">
15
-      <el-input style="width: 300px;" class="filter-item" placeholder="单据日期/单据编码/制单人/供应商"/>
16
-      <el-button class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
3
+  <div class="main-contain">
4
+    <div class="position">
5
+      <!--<bread-crumb :crumbs='crumbs'></bread-crumb>-->
6
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
7
+      <el-button size="small"  @click="handleWarehouse" class="filter-item" style="float:right;" type="primary" icon="el-icon-circle-plus-outline" >新增</el-button>
17 8
     </div>
18 9
 
10
+    <div class="app-container">
19 11
     <div class="filter-container">
20
-      <span>入库时间:</span>
21
-      <el-date-picker v-model="start_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
22
-                      type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
23
-                      value-format="yyyy-MM-dd" @change="startTimeChange"></el-date-picker>
24
-      <span class="">-</span>
25
-      <el-date-picker v-model="end_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
26
-                      type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
27
-                      value-format="yyyy-MM-dd" @change="endTimeChange"></el-date-picker>
12
+      <el-input   style="width: 400px;" v-model="searchKey" class="filter-item" />
13
+      <el-button  class="filter-item" type="primary" icon="el-icon-search" @click="search" >搜索</el-button>
28 14
     </div>
29 15
 
30
-    <div class="filter-container" style="margin-top: 10px">
31
-      <el-checkbox style="width: 30px" v-model="checked" @change="changeAllSelected">全选</el-checkbox>
32
-      <el-button size="small" icon="el-icon-delete" @click="batchDelete">删除</el-button>
16
+      <div class="cell">
17
+        <label class="title"><span class="name">入库时间</span> : </label>
18
+        <el-date-picker v-model="start_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
19
+                        type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
20
+                        value-format="yyyy-MM-dd" @change="startTimeChange"></el-date-picker>
21
+        <span class="">-</span>
22
+        <el-date-picker v-model="end_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
23
+                        type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
24
+                        value-format="yyyy-MM-dd" @change="endTimeChange"></el-date-picker>
25
+      </div>
26
+
27
+      <div class="cell clearfix">
28
+        <el-checkbox style="width: 30px" v-model="checked" @change="changeAllSelected">全选</el-checkbox>
29
+        <el-button size="small" icon="el-icon-delete" @click="batchDelete">删除</el-button>
30
+      </div>
33 31
 
34
-    </div>
35
-
36
-    <el-row :gutter="12" style="margin-top: 10px">
37 32
       <el-table
38 33
         :data="Warehouse.warehouseDate"
39 34
         :class="signAndWeighBoxPatients"
@@ -42,14 +37,17 @@
42 37
         v-loading="Warehouse.loading"
43 38
         ref="multipleTable"
44 39
         @selection-change="select"
40
+        :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}"
41
+
45 42
 
46 43
       >
47 44
         <el-table-column
45
+          align="center"
48 46
           type="selection"
49 47
           width="55">
50 48
         </el-table-column>
51 49
 
52
-        <el-table-column label="单据日期" align="center">
50
+        <el-table-column label="单据日期"  align="center">
53 51
           <template slot-scope="scope">
54 52
             {{ scope.row.warehousing_time | parseTime('{y}-{m}-{d}')}}
55 53
           </template>
@@ -82,19 +80,22 @@
82 80
 
83 81
         <el-table-column label="操作" align="center">
84 82
           <template slot-scope="scope">
85
-            <el-button
86
-              size="mini"
87
-              type="primary"
88
-              icon="el-icon-edit"
89
-              @click="handleEdit(scope.$index, scope.row)">
90
-            </el-button>
91
-
92
-            <el-button
93
-              size="mini"
94
-              type="danger"
95
-              icon="el-icon-delete"
96
-              @click="handleDelete(scope.$index, scope.row)">
97
-            </el-button>
83
+             <el-tooltip class="item" effect="dark" content="编辑" placement="top">
84
+                  <el-button
85
+                    size="small"
86
+                    type="primary"
87
+                    icon="el-icon-edit-outline"
88
+                    @click="handleEdit(scope.$index, scope.row)">
89
+                  </el-button>
90
+                  </el-tooltip>
91
+                  <el-tooltip class="item" effect="dark" content="删除" placement="top">
92
+                    <el-button
93
+                      size="small"
94
+                      type="danger"
95
+                      icon="el-icon-delete"
96
+                      @click="handleDelete(scope.$index, scope.row)">
97
+                    </el-button>
98
+            </el-tooltip>
98 99
 
99 100
           </template>
100 101
         </el-table-column>
@@ -111,8 +112,7 @@
111 112
         layout="total, sizes, prev, pager, next, jumper"
112 113
         :total="total">
113 114
       </el-pagination>
114
-
115
-    </el-row>
115
+    </div>
116 116
   </div>
117 117
 </template>
118 118
 
@@ -127,9 +127,11 @@
127 127
     getWarehouseInfoList,
128 128
     getWarehouseList
129 129
   } from '@/api/stock'
130
+  import BreadCrumb from '../components/bread-crumb'
130 131
 
131 132
   export default {
132 133
     name: 'stockIn',
134
+    components: { BreadCrumb },
133 135
     created() {
134 136
       var year = new Date().getFullYear()
135 137
       var month = new Date().getMonth() + 1
@@ -160,6 +162,11 @@
160 162
     },
161 163
     data() {
162 164
       return {
165
+        crumbs: [
166
+          { path: false, name: '库存管理' },
167
+          { path: '/stock/in', name: '入库单' }
168
+        ],
169
+        type: 1,
163 170
         page: 1,
164 171
         limit: 7,
165 172
         checked: false,
@@ -195,7 +202,7 @@
195 202
           limit: this.limit,
196 203
           start_time: this.start_time,
197 204
           end_time: this.end_time,
198
-          type : 1,
205
+          type: this.type
199 206
         }
200 207
         this.Warehouse.warehouseDate = []
201 208
         getWarehouseList(Params).then(response => {
@@ -315,7 +322,7 @@
315 322
       }, clicks: function() {
316 323
         console.log(this.WarehouseInfo.warehouseInfoDate)
317 324
       }, handleWarehouse: function() {
318
-        this.$router.push({ path: '/stock/in/add' })
325
+        this.$router.push({ path: '/stock/in/add', query: { type: this.type }})
319 326
       }, handleReturnSales: function() {
320 327
         // this.$router.push({path:'/patients/create'}
321 328
         if (this.multipleSelection.length <= 0) {
@@ -472,16 +479,6 @@
472 479
 
473 480
   }
474 481
 
475
-  .title {
476
-    background: #409eff;
477
-    height: 44px;
478
-    line-height: 44px;
479
-    padding: 0 0 0 10px;
480
-    color: #fff;
481
-    margin: 0 0 10px 0;
482
-
483
-  }
484
-
485 482
   .edit_separater {
486 483
     border-top: 1px solid rgb(233, 233, 233);
487 484
     margin-top: 15px;

+ 194 - 182
src/xt_pages/stock/stockInOrderAdd.vue View File

@@ -1,194 +1,199 @@
1 1
 <template>
2 2
 
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-    <stock-in-dialog :propForm="propForm"
6
-                     :visibility="isVisibility"
7
-                     v-on:dialog-comfirm="comfirm"
8
-                     v-on:dialog-cancle="cancle"></stock-in-dialog>
9
-
10
-    <div class="filter-container">
11
-
12
-      <el-row>
13
-        <el-col :span="8">
14
-          <div>
15
-            <span>入库时间:</span>
16
-            <el-date-picker v-model="warehousing_time" prefix-icon="el-icon-date" :editable="false"
17
-                            style="width: 196px;"
18
-                            type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
19
-                            value-format="yyyy-MM-dd"></el-date-picker>
20
-          </div>
21
-        </el-col>
22
-
23
-
24
-        <el-col :span="8">
25
-          <div>
26
-            <el-form ref="form" :model="form" :rules="ruleForm" label-width="80px">
27
-              <el-form-item label="厂商:" prop="manufacturer">
28
-                <el-select v-model="form.manufacturer" placeholder="请选择厂商">
29
-                  <el-option v-for="(option, index) in manufacturer" :key="index" :label="option.manufacturer_name"
30
-                             :value="option.id"></el-option>
31
-                </el-select>
32
-              </el-form-item>
33
-            </el-form>
34
-          </div>
35
-        </el-col>
36
-        <el-col :span="8">
37
-          <div>
38
-            <el-form ref="form" :model="form" label-width="80px">
39
-              <el-form-item label="经销商:">
40
-                <el-select v-model="form.dealer" placeholder="请选择经销商">
41
-                  <el-option v-for="(option, index) in dealer" :key="index" :label="option.dealer_name"
42
-                             :value="option.id"></el-option>
43
-                </el-select>
3
+  <div class="main-contain">
4
+    <div class="position">
5
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
6
+    </div>
7
+    <div class="app-container">
8
+
9
+      <stock-in-dialog :propForm="propForm"
10
+                       :visibility="isVisibility"
11
+                       v-on:dialog-comfirm="comfirm"
12
+                       v-on:dialog-cancle="cancle"></stock-in-dialog>
13
+
14
+      <div class="filter-container">
15
+
16
+        <el-row>
17
+          <el-col :span="8">
18
+            <el-form ref="form" :model="form" label-width="100px">
19
+              <el-form-item label="入库时间:">
20
+                <el-date-picker v-model="warehousing_time" prefix-icon="el-icon-date" :editable="false"
21
+                                style="width: 196px;"
22
+                                type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
23
+                                value-format="yyyy-MM-dd"></el-date-picker>
44 24
               </el-form-item>
45 25
             </el-form>
46
-          </div>
47
-        </el-col>
48
-      </el-row>
49
-
50
-    </div>
26
+          </el-col>
51 27
 
52
-    <el-row>
53
-      <el-col>
54
-        <el-form :rules="tableRules" :model="recordInfo" ref="tableForm">
55
-          <el-table :data="recordInfo.recordData" :class="signAndWeighBoxPatients" style="width: 100%" border
56
-                    max-height="450"
57
-          >
58
-
59
-            <el-table-column label="操作" align="center" min-width="30">
60
-              <template slot-scope="scope">
61
-                <el-button
62
-                  size="mini"
63
-                  @click="handleEdit(scope.$index, scope.row)">+
64
-                </el-button>
65
-                <el-button
66
-                  size="mini"
67
-                  type="danger"
68
-                  @click="handleDelete(scope.$index, scope.row)">-
69
-                </el-button>
70
-              </template>
71
-            </el-table-column>
72
-
73
-            <el-table-column min-width="35" align="center">
74
-
75
-              <template slot="header" slot-scope="scope">
76
-                <span>物品类型<span style="color: red">*</span></span>
77
-              </template>
78
-
79
-              <template slot-scope="scope">
80
-                <!--<span @click="showDialog(scope.$index, scope.row)" v-if="scope.row.good_type_id == 0" style="color:#c5c8cf">请输入类型</span>-->
81
-                <!--<span @click="showDialog(scope.$index, scope.row)" v-if="scope.row.good_type_id != 0">{{typeName(scope.row.good_type_id)}}</span>-->
82
-
83
-                <el-form-item style="padding-top: 15px">
84
-                  <el-input placeholder="请输入物品类型" v-model="scope.row.good_type_id"
85
-                            :value="typeName(scope.row.good_type_id)"
86
-                            @focus="showDialog(scope.$index, scope.row)"></el-input>
87
-                </el-form-item>
88 28
 
89
-              </template>
90
-            </el-table-column>
91
-            <el-table-column min-width="35" align="center">
92
-              <template slot="header" slot-scope="scope">
93
-                <span>规格名称<span style="color: red">*</span></span>
94
-              </template>
95
-              <template slot-scope="scope">
96
-
97
-                <el-form-item style="padding-top: 15px">
98
-                  <el-input placeholder="请输入规格名称" v-model="scope.row.good_id"
99
-                            :value="specificationName(scope.row.good_id)"
100
-                            @focus="showDialog(scope.$index, scope.row)"></el-input>
29
+          <el-col :span="8">
30
+            <div>
31
+              <el-form ref="form" :model="form" :rules="ruleForm" label-width="80px">
32
+                <el-form-item label="厂商:" prop="manufacturer">
33
+                  <el-select v-model="form.manufacturer" placeholder="请选择厂商">
34
+                    <el-option v-for="(option, index) in manufacturer" :key="index" :label="option.manufacturer_name"
35
+                               :value="option.id"></el-option>
36
+                  </el-select>
101 37
                 </el-form-item>
102
-
103
-              </template>
104
-            </el-table-column>
105
-
106
-
107
-            <el-table-column min-width="23" align="center">
108
-              <template slot="header" slot-scope="scope">
109
-                <span>单价<span style="color: red">*</span></span>
110
-              </template>
111
-              <template slot-scope="scope">
112
-                <!--<el-input type="number" v-model="scope.row.price"  @blur="handleBlur(scope.$index, scope.row)"></el-input>-->
113
-                <el-form-item :prop="'recordData.' + scope.$index + '.price'" :rules='tableRules.price'
114
-                              style="padding-top: 17px">
115
-                  <el-input type="number" v-model="scope.row.price"></el-input>
38
+              </el-form>
39
+            </div>
40
+          </el-col>
41
+          <el-col :span="8">
42
+            <div>
43
+              <el-form ref="form" :model="form" label-width="80px">
44
+                <el-form-item label="经销商:">
45
+                  <el-select v-model="form.dealer" placeholder="请选择经销商">
46
+                    <el-option v-for="(option, index) in dealer" :key="index" :label="option.dealer_name"
47
+                               :value="option.id"></el-option>
48
+                  </el-select>
116 49
                 </el-form-item>
50
+              </el-form>
51
+            </div>
52
+          </el-col>
53
+        </el-row>
54
+
55
+
56
+        <el-row>
57
+          <el-col>
58
+            <el-form :rules="tableRules" :model="recordInfo" ref="tableForm">
59
+              <el-table :data="recordInfo.recordData" :class="signAndWeighBoxPatients" style="width: 100%" border
60
+                        max-height="450"
61
+              >
62
+
63
+                <el-table-column label="操作" align="center" min-width="30">
64
+                  <template slot-scope="scope">
65
+                    <el-button
66
+                      size="mini"
67
+                      @click="handleEdit(scope.$index, scope.row)">+
68
+                    </el-button>
69
+                    <el-button
70
+                      size="mini"
71
+                      type="danger"
72
+                      @click="handleDelete(scope.$index, scope.row)">-
73
+                    </el-button>
74
+                  </template>
75
+                </el-table-column>
76
+
77
+                <el-table-column min-width="35" align="center">
78
+
79
+                  <template slot="header" slot-scope="scope">
80
+                    <span>物品类型<span style="color: red">*</span></span>
81
+                  </template>
82
+
83
+                  <template slot-scope="scope">
84
+                    <el-form-item style="padding-top: 15px">
85
+                      <el-input placeholder="请输入物品类型" v-model="scope.row.good_type_id"
86
+                                :value="typeName(scope.row.good_type_id)"
87
+                                @focus="showDialog(scope.$index, scope.row)"></el-input>
88
+                    </el-form-item>
89
+                  </template>
90
+                </el-table-column>
91
+                <el-table-column min-width="35" align="center">
92
+                  <template slot="header" slot-scope="scope">
93
+                    <span>规格名称<span style="color: red">*</span></span>
94
+                  </template>
95
+                  <template slot-scope="scope">
96
+
97
+                    <el-form-item style="padding-top: 15px">
98
+                      <el-input placeholder="请输入规格名称" v-model="scope.row.good_id"
99
+                                :value="specificationName(scope.row.good_id)"
100
+                                @focus="showDialog(scope.$index, scope.row)"></el-input>
101
+                    </el-form-item>
102
+
103
+                  </template>
104
+                </el-table-column>
105
+
106
+
107
+                <el-table-column min-width="23" align="center">
108
+                  <template slot="header" slot-scope="scope">
109
+                    <span>单价<span style="color: red">*</span></span>
110
+                  </template>
111
+                  <template slot-scope="scope">
112
+                    <!--<el-input type="number" v-model="scope.row.price"  @blur="handleBlur(scope.$index, scope.row)"></el-input>-->
113
+                    <el-form-item :prop="'recordData.' + scope.$index + '.price'" :rules='tableRules.price'
114
+                                  style="padding-top: 17px">
115
+                      <el-input type="number" v-model="scope.row.price"></el-input>
116
+                    </el-form-item>
117
+
118
+
119
+                  </template>
120
+                </el-table-column>
121
+
122
+                <el-table-column min-width="23" align="center">
123
+                  <template slot="header" slot-scope="scope">
124
+                    <span>入库数量<span style="color: red">*</span></span>
125
+                  </template>
126
+                  <template slot-scope="scope">
127
+                    <!--{{scope.row.warehousing_count}}-->
128
+                    <!--<el-input type="number" v-model="scope.row.warehousing_count"   @blur="handleBlur(scope.$index, scope.row)"></el-input>-->
129
+
130
+                    <el-form-item :prop="'recordData.' + scope.$index + '.warehousing_count'"
131
+                                  :rules='tableRules.warehousing_count' style="padding-top: 17px">
132
+                      <el-input type="number" v-model="scope.row.warehousing_count"></el-input>
133
+                    </el-form-item>
134
+                  </template>
135
+                </el-table-column>
136
+
137
+                <el-table-column label="总价" min-width="20" align="center">
138
+                  <template slot-scope="scope">
139
+                    {{calculate(scope.row.price*scope.row.warehousing_count)}}
140
+                  </template>
141
+                </el-table-column>
142
+
143
+                <el-table-column align="center" min-width="25">
144
+                  <template slot="header" slot-scope="scope">
145
+                    <span>批号<span style="color: red">*</span></span>
146
+                  </template>
147
+                  <template slot-scope="scope">
148
+                    <!--<el-input  v-model="scope.row.numbers"></el-input>-->
149
+
150
+                    <el-form-item :prop="'recordData.' + scope.$index + '.number'" :rules='tableRules.number'
151
+                                  style="padding-top: 17px">
152
+                      <el-input v-model="scope.row.number"></el-input>
153
+                    </el-form-item>
154
+
155
+                  </template>
156
+                </el-table-column>
157
+                <el-table-column label="生产日期" min-width="40" align="center">
158
+                  <template slot-scope="scope">
159
+                    <!--{{scope.row.product_date | parseTime("{y}-{m}-{d}")}}-->
160
+                    <el-date-picker prefix-icon="el-icon-date" style="width: 145px" v-model="scope.row.product_date"
161
+                                    type="date" placeholder="选择日期时间" format="yyyy-MM-dd"
162
+                                    value-format="yyyy-MM-dd"></el-date-picker>
163
+
164
+                  </template>
165
+                </el-table-column>
166
+                <el-table-column label="有效日期" min-width="40" align="center">
167
+                  <template slot-scope="scope">
168
+                    <!--{{ scope.row.expiry_date | parseTime("{y}-{m}-{d}")}}-->
169
+                    <el-date-picker prefix-icon="el-icon-date" style="width: 145px" v-model="scope.row.expiry_date"
170
+                                    type="date" placeholder="选择日期时间" format="yyyy-MM-dd"
171
+                                    value-format="yyyy-MM-dd"></el-date-picker>
172
+
173
+                  </template>
174
+                </el-table-column>
175
+                <el-table-column label="备注" min-width="20" align="center">
176
+                  <template slot-scope="scope">
177
+                    <el-input v-model="scope.row.remark"></el-input>
178
+                  </template>
179
+                </el-table-column>
180
+              </el-table>
181
+            </el-form>
182
+          </el-col>
117 183
 
118 184
 
119
-              </template>
120
-            </el-table-column>
121
-
122
-            <el-table-column min-width="23" align="center">
123
-              <template slot="header" slot-scope="scope">
124
-                <span>入库数量<span style="color: red">*</span></span>
125
-              </template>
126
-              <template slot-scope="scope">
127
-                <!--{{scope.row.warehousing_count}}-->
128
-                <!--<el-input type="number" v-model="scope.row.warehousing_count"   @blur="handleBlur(scope.$index, scope.row)"></el-input>-->
129
-
130
-                <el-form-item :prop="'recordData.' + scope.$index + '.warehousing_count'"
131
-                              :rules='tableRules.warehousing_count' style="padding-top: 17px">
132
-                  <el-input type="number" v-model="scope.row.warehousing_count"></el-input>
133
-                </el-form-item>
134
-              </template>
135
-            </el-table-column>
136
-
137
-            <el-table-column label="总价" min-width="20" align="center">
138
-              <template slot-scope="scope">
139
-                {{calculate(scope.row.price*scope.row.warehousing_count)}}
140
-              </template>
141
-            </el-table-column>
142
-
143
-            <el-table-column align="center" min-width="25">
144
-              <template slot="header" slot-scope="scope">
145
-                <span>批号<span style="color: red">*</span></span>
146
-              </template>
147
-              <template slot-scope="scope">
148
-                <!--<el-input  v-model="scope.row.numbers"></el-input>-->
149
-
150
-                <el-form-item :prop="'recordData.' + scope.$index + '.number'" :rules='tableRules.number'
151
-                              style="padding-top: 17px">
152
-                  <el-input v-model="scope.row.number"></el-input>
153
-                </el-form-item>
154
-
155
-              </template>
156
-            </el-table-column>
157
-            <el-table-column label="生产日期" min-width="40" align="center">
158
-              <template slot-scope="scope">
159
-                <!--{{scope.row.product_date | parseTime("{y}-{m}-{d}")}}-->
160
-                <el-date-picker prefix-icon="el-icon-date" style="width: 145px" v-model="scope.row.product_date"
161
-                                type="date" placeholder="选择日期时间" format="yyyy-MM-dd"
162
-                                value-format="yyyy-MM-dd"></el-date-picker>
163
-
164
-              </template>
165
-            </el-table-column>
166
-            <el-table-column label="有效日期" min-width="40" align="center">
167
-              <template slot-scope="scope">
168
-                <!--{{ scope.row.expiry_date | parseTime("{y}-{m}-{d}")}}-->
169
-                <el-date-picker prefix-icon="el-icon-date" style="width: 145px" v-model="scope.row.expiry_date"
170
-                                type="date" placeholder="选择日期时间" format="yyyy-MM-dd"
171
-                                value-format="yyyy-MM-dd"></el-date-picker>
172
-
173
-              </template>
174
-            </el-table-column>
175
-            <el-table-column label="备注" min-width="20" align="center">
176
-              <template slot-scope="scope">
177
-                <el-input v-model="scope.row.remark"></el-input>
178
-              </template>
179
-            </el-table-column>
180
-          </el-table>
181
-        </el-form>
182
-      </el-col>
185
+          <span class="dialog-footer" style="margin-top: 20px;float:right">
186
+          <el-button @click="back()">取 消</el-button>
187
+          <el-button type="primary" @click="submit()">确 定</el-button>
188
+        </span>
183 189
 
190
+        </el-row>
184 191
 
185
-      <span class="dialog-footer" style="margin-top: 20px;float:right">
186
-        <el-button @click="back()">取 消</el-button>
187
-        <el-button type="primary" @click="submit()">确 定</el-button>
188
-      </span>
192
+      </div>
189 193
 
190
-    </el-row>
194
+    </div>
191 195
   </div>
196
+
192 197
 </template>
193 198
 
194 199
 <script>
@@ -205,9 +210,10 @@
205 210
     modifyWarehouseInfo,
206 211
     postWarehouse
207 212
   } from '@/api/stock'
213
+  import BreadCrumb from '../components/bread-crumb'
208 214
 
209 215
   export default {
210
-    components: { stockInDialog },
216
+    components: { BreadCrumb, stockInDialog },
211 217
     name: 'stockIn',
212 218
 
213 219
     data() {
@@ -220,6 +226,11 @@
220 226
       }
221 227
 
222 228
       return {
229
+        crumbs: [
230
+          { path: false, name: '库存管理' },
231
+          { path: '/stock/in', name: '入库单' },
232
+          { path: '/stock/in/add', name: '新增入库单' }
233
+        ],
223 234
         signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
224 235
         warehousing_time: '',
225 236
         adminUserOptions: null,
@@ -252,7 +263,7 @@
252 263
           ]
253 264
 
254 265
         },
255
-        type: 1,
266
+        type: this.$route.query.type,
256 267
         total: '',
257 268
         product_date: '',
258 269
         expiry_date: '',
@@ -346,8 +357,8 @@
346 357
               tempForm['good_type_id'] = val.goodTypeId
347 358
               tempForm['good_id'] = val.selectedGoodInfo[i].id
348 359
               tempForm['number'] = ''
349
-              tempForm['product_date'] = 0
350
-              tempForm['expiry_date'] = 0
360
+              tempForm['product_date'] = ''
361
+              tempForm['expiry_date'] = ''
351 362
               tempForm['warehousing_count'] = ''
352 363
               tempForm['price'] = ''
353 364
               tempForm['remark'] = ''
@@ -396,7 +407,7 @@
396 407
           }
397 408
         })
398 409
       }, typeName: function(good_type_id) {
399
-        let name = '请输入物品类型'
410
+        let name = ''
400 411
         for (let i = 0; i < this.goodType.length; i++) {
401 412
           if (this.goodType[i].id == good_type_id) {
402 413
             name = this.goodType[i].type_name
@@ -621,3 +632,4 @@
621 632
   }
622 633
 
623 634
 </style>
635
+s

+ 21 - 12
src/xt_pages/stock/stockInOrderDetail.vue View File

@@ -1,23 +1,23 @@
1 1
 <template>
2
-
3
-  <div class="app-container sign-and-weigh-box">
4
-
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+    </div>
6
+  <div class="app-container">
5 7
     <div class="filter-container">
6
-      <span style="font-size: 20px">耗材入库单详情</span>
8
+      <span style="font-size: 18px">耗材入库单详情</span>
7 9
       <el-row style="float:right;">
8
-        <span>{{WarehouseInfo.warehouse.warehousing_order}}</span>
10
+        <span>入库单号: {{WarehouseInfo.warehouse.warehousing_order}}</span>
9 11
       </el-row>
10 12
     </div>
11 13
 
12
-
13
-
14
-    <div class="filter-container">
15
-      <span>单据日期:  {{WarehouseInfo.warehouse.warehousing_time | parseTime('{y}-{m}-{d}')}} </span>
16
-      <span>厂商 {{getManufactuerName(WarehouseInfo.warehouse.manufacturer)}}</span>
17
-      <span>经销商 {{getDealerName(WarehouseInfo.warehouse.dealer)}}</span>
14
+    <div class="cell">
15
+      <span style="width: 300px">单据日期:  {{WarehouseInfo.warehouse.warehousing_time | parseTime('{y}-{m}-{d}')}}</span>
16
+      <span style="width: 300px">厂商: {{getManufactuerName(WarehouseInfo.warehouse.manufacturer)}}</span>
17
+      <span style="width: 300px">经销商: {{getDealerName(WarehouseInfo.warehouse.dealer)}}</span>
18 18
     </div>
19 19
 
20
-    <div class="filter-container" style="margin-top: 10px">
20
+    <div class="cell" style="margin-top: 10px">
21 21
       <el-button size="small" icon="el-icon-edit" @click="editRecord">编辑</el-button>
22 22
       <el-button size="small" icon="el-icon-delete" @click="deleteRecord">删除</el-button>
23 23
     </div>
@@ -101,14 +101,18 @@
101 101
       </el-table>
102 102
     </el-row>
103 103
   </div>
104
+  </div>
105
+
104 106
 </template>
105 107
 
106 108
 <script>
107 109
   import { uParseTime } from '@/utils/tools'
108 110
   import { GetAllConfig, getWarehouseInfoList, deleteWarehouseInfo } from '@/api/stock'
111
+  import BreadCrumb from '../components/bread-crumb'
109 112
 
110 113
   export default {
111 114
     name: 'stockInOrderDetail',
115
+    components: { BreadCrumb },
112 116
     created() {
113 117
       const order_id = this.$route.query.id
114 118
       this.GetConfigInfo()
@@ -116,6 +120,11 @@
116 120
     },
117 121
     data() {
118 122
       return {
123
+        crumbs: [
124
+          { path: false, name: '库存管理' },
125
+          { path: '/stock/in', name: '入库单' },
126
+          { path: '/stock/in/detail', name: '入库单详情' }
127
+        ],
119 128
         isEdit: 0,
120 129
         checked: false,
121 130
         signAndWeighBoxPatients: 'sign-and-weigh-box-patients',

+ 34 - 17
src/xt_pages/stock/stockInOrderEdit.vue View File

@@ -1,11 +1,15 @@
1 1
 <template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+    </div>
2 6
 
3 7
   <div class="app-container sign-and-weigh-box">
4 8
 
5
-    <sales-return-dialog :propForm="propForm"
9
+    <stock-in-dialog :propForm="propForm"
6 10
                      :visibility="isVisibility"
7 11
                      v-on:dialog-comfirm="comfirm"
8
-                     v-on:dialog-cancle="cancle"></sales-return-dialog>
12
+                     v-on:dialog-cancle="cancle"></stock-in-dialog>
9 13
 
10 14
     <div class="filter-container">
11 15
 
@@ -28,15 +32,22 @@
28 32
 
29 33
             <el-table-column label="操作" align="center" min-width="30">
30 34
               <template slot-scope="scope">
31
-                <el-button
32
-                  size="mini"
33
-                  @click="handleEdit(scope.$index, scope.row)">+
34
-                </el-button>
35
-                <el-button
36
-                  size="mini"
37
-                  type="danger"
38
-                  @click="handleDelete(scope.$index, scope.row)">-
39
-                </el-button>
35
+                <el-tooltip class="item" effect="dark" content="编辑" placement="top">  
36
+                  <el-button
37
+                    size="small"
38
+                    type="primary"
39
+                    icon="el-icon-edit-outline"
40
+                    @click="handleEdit(scope.$index, scope.row)">
41
+                  </el-button>
42
+                  </el-tooltip>
43
+                  <el-tooltip class="item" effect="dark" content="删除" placement="top">
44
+                    <el-button
45
+                      size="small"
46
+                      type="danger"
47
+                      icon="el-icon-delete"
48
+                      @click="handleDelete(scope.$index, scope.row)">
49
+                    </el-button>
50
+                </el-tooltip>     
40 51
               </template>
41 52
             </el-table-column>
42 53
 
@@ -154,6 +165,8 @@
154 165
 
155 166
     </el-row>
156 167
   </div>
168
+  </div>
169
+
157 170
 </template>
158 171
 
159 172
 <script>
@@ -170,10 +183,10 @@ import {
170 183
   DeleteWarehouseInfoItem,
171 184
   EditWarehouse
172 185
   } from '@/api/stock'
173
-  import SalesReturnDialog from './Dialog/salesReturnDialog'
186
+  import BreadCrumb from '../components/bread-crumb'
174 187
 
175 188
 export default {
176
-    components: { SalesReturnDialog, stockInDialog },
189
+    components: { BreadCrumb, stockInDialog },
177 190
     name: 'stockIn',
178 191
 
179 192
     data() {
@@ -186,6 +199,11 @@ export default {
186 199
       }
187 200
 
188 201
       return {
202
+        crumbs: [
203
+          { path: false, name: '库存管理' },
204
+          { path: '/stock/in', name: '入库单' },
205
+          { path: '/stock/in/detail', name: '编辑入库单' }
206
+        ],
189 207
         signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
190 208
         warehousing_time: '',
191 209
         adminUserOptions: null,
@@ -273,7 +291,7 @@ export default {
273 291
         this.currentIndex = -1
274 292
       }, cancle: function() {
275 293
         this.isVisibility = false
276
-      },  GetConfigInfo: function() {
294
+      }, GetConfigInfo: function() {
277 295
         GetAllConfig().then(response => {
278 296
           if (response.data.state == 0) {
279 297
             this.$message.error(response.data.msg)
@@ -285,9 +303,8 @@ export default {
285 303
             this.goodInfo = response.data.data.goodInfo
286 304
           }
287 305
         })
288
-
289 306
       }, typeName: function(good_type_id) {
290
-        let name = '请输入物品类型'
307
+        let name = ''
291 308
         for (let i = 0; i < this.goodType.length; i++) {
292 309
           if (this.goodType[i].id == good_type_id) {
293 310
             name = this.goodType[i].type_name
@@ -350,7 +367,7 @@ export default {
350 367
           return ''
351 368
         }
352 369
         return Math.round(parseFloat(val) * 100) / 100
353
-      },  getTime(val, temp) {
370
+      }, getTime(val, temp) {
354 371
         if (val != 0) {
355 372
           return uParseTime(val, temp)
356 373
         } else {

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

@@ -32,7 +32,6 @@
32 32
                   highlight-current-row
33 33
                   @row-click="onRowClick"
34 34
                   :row-class-name="tableRowClassName"
35
-                  highlight-current-row
36 35
                   v-loading="WarehouseOut.loading"
37 36
         >
38 37
           <el-table-column label="出库单号" min-width="40" align="center">

+ 139 - 79
src/xt_pages/stock/stockOutOrder.vue View File

@@ -1,47 +1,42 @@
1 1
 <template>
2 2
 
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-
6
-    <div class="filter-container">
7
-
8
-
9
-      <el-row style="float:right;">
10
-        <el-button @click="AddNewOrder" type="primary">新增</el-button>
11
-      </el-row>
12
-    </div>
13
-
14
-    <div class="filter-container" style="margin-top:20px">
15
-      <el-input style="width: 300px;" class="filter-item" placeholder="单据日期/单据编码/制单人/供应商"/>
16
-      <el-button class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
3
+  <div class="main-contain">
4
+    <div class="position">
5
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
6
+      <el-button size="small"  @click="AddNewOrder" class="filter-item" style="float:right;" type="primary" icon="el-icon-circle-plus-outline" >新增</el-button>
17 7
     </div>
8
+    <div class="app-container">
9
+      <div class="cell">
10
+        <el-input style="width: 400px;" class="filter-item" placeholder="单据日期/单据编码/制单人/供应商"/>
11
+        <el-button class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
12
+      </div>
13
+
14
+
15
+      <div class="cell">
16
+        <label class="title"><span class="name">出库时间</span> : </label>
17
+        <el-date-picker v-model="start_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
18
+                        type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
19
+                        value-format="yyyy-MM-dd" @change="startTimeChange"></el-date-picker>
20
+        <span class="">-</span>
21
+        <el-date-picker v-model="end_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
22
+                        type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
23
+                        value-format="yyyy-MM-dd" @change="endTimeChange"></el-date-picker>
24
+      </div>
25
+
26
+      <div class="cell clearfix">
27
+        <el-checkbox style="width: 30px" v-model="checked" @change="changeAllSelected">全选</el-checkbox>
28
+        <el-button size="small" icon="el-icon-delete" @click="batchDelete">删除</el-button>
29
+      </div>
18 30
 
19
-    <div class="filter-container">
20
-      <span>入库时间:</span>
21
-      <el-date-picker v-model="start_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
22
-                      type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
23
-                      value-format="yyyy-MM-dd" @change="startTimeChange"></el-date-picker>
24
-      <span class="">-</span>
25
-      <el-date-picker v-model="end_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
26
-                      type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
27
-                      value-format="yyyy-MM-dd" @change="endTimeChange"></el-date-picker>
28
-    </div>
29
-
30
-    <div class="filter-container" style="margin-top: 10px">
31
-      <el-checkbox style="width: 30px" v-model="checked" @change="changeAllSelected">全选</el-checkbox>
32
-      <el-button size="small" icon="el-icon-delete" @click="batchDelete">删除</el-button>
33
-
34
-    </div>
35
-
36
-    <el-row :gutter="12" style="margin-top: 10px">
37 31
       <el-table
38 32
         :data="warehouseOutDate"
39 33
         :class="signAndWeighBoxPatients"
40 34
         style="width: 100%" border
41 35
         highlight-current-row
42 36
         ref="multipleTable"
43
-        @selection-change="select"
44 37
 
38
+        @selection-change="select"
39
+        :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}"
45 40
       >
46 41
         <el-table-column
47 42
           type="selection"
@@ -65,8 +60,6 @@
65 60
             {{getXuserName(scope.row.creater)}}
66 61
           </template>
67 62
         </el-table-column>
68
-
69
-
70 63
         <el-table-column label="厂家" align="center">
71 64
           <template slot-scope="scope">
72 65
             {{getManufactuerName(scope.row.manufacturer)}}
@@ -94,12 +87,9 @@
94 87
               icon="el-icon-delete"
95 88
               @click="handleDelete(scope.$index, scope.row)">
96 89
             </el-button>
97
-
98 90
           </template>
99 91
         </el-table-column>
100
-
101 92
       </el-table>
102
-
103 93
       <el-pagination
104 94
         @size-change="handleSizeChange"
105 95
         @current-change="handleCurrentChange"
@@ -111,21 +101,30 @@
111 101
         :total="total">
112 102
       </el-pagination>
113 103
 
114
-    </el-row>
104
+
105
+    </div>
115 106
   </div>
107
+
108
+
109
+
110
+
111
+
116 112
 </template>
117 113
 
118 114
 <script>
119 115
   import { uParseTime } from '@/utils/tools'
120 116
   import { fetchAllAdminUsers, fetchAllDoctorAndNurse } from '@/api/doctor'
117
+
121 118
   import {
122 119
     deleteWarehouseOut,
123 120
     GetAllConfig,
124
-    getWarehouseOutList,
121
+    getWarehouseOutList
125 122
   } from '@/api/stock'
123
+  import BreadCrumb from '../components/bread-crumb'
126 124
 
127 125
   export default {
128 126
     name: 'salesReturnOrder',
127
+    components: { BreadCrumb },
129 128
     created() {
130 129
       var year = new Date().getFullYear()
131 130
       var month = new Date().getMonth() + 1
@@ -156,6 +155,10 @@
156 155
     },
157 156
     data() {
158 157
       return {
158
+        crumbs: [
159
+          { path: false, name: '库存管理' },
160
+          { path: '/stock/out', name: '出库单' }
161
+        ],
159 162
         page: 1,
160 163
         limit: 7,
161 164
         checked: false,
@@ -173,13 +176,13 @@
173 176
         manufacturer: [],
174 177
         selectedTableData: [],
175 178
         dealer: [],
176
-        type:1,
179
+        type: 1
177 180
 
178 181
       }
179 182
     },
180 183
     methods: {
181
-      AddNewOrder:function(){
182
-        this.$router.push({ name: 'stockOutOrderAdd'})
184
+      AddNewOrder: function() {
185
+        this.$router.push({ name: 'stockOutOrderAdd', query: { type: this.type }})
183 186
       },
184 187
       GetWarehouseOut: function() {
185 188
         const Params = {
@@ -187,7 +190,7 @@
187 190
           limit: this.limit,
188 191
           start_time: this.start_time,
189 192
           end_time: this.end_time,
190
-          type: this.type,
193
+          type: this.type
191 194
         }
192 195
         this.warehouseOutDate = []
193 196
         getWarehouseOutList(Params).then(response => {
@@ -270,7 +273,7 @@
270 273
           }
271 274
         }
272 275
       }, handleEdit: function(index, row) {
273
-        this.$router.push({ name: 'stockOutDetail', query: { id: row.id }})
276
+        this.$router.push({ name: 'stockOutDetail', query: { id: row.id, type: this.type }})
274 277
       }, handleDelete: function(index, row) {
275 278
         const ids = []
276 279
         ids.push(row.id)
@@ -361,48 +364,105 @@
361 364
   }
362 365
 </script>
363 366
 
364
-<style rel="stylesheet/css" lang="scss" scoped>
365
-  .information {
367
+<style rel="stylesheet/scss" lang="scss" scoped>
368
+  .app-container {
369
+  // margin: 20px;
370
+    font-size: 15px;
371
+  .filter-container {
372
+    padding-bottom: 5px;
373
+  }
374
+  .search-component {
375
+    width: 500px;
376
+  .searchBox {
377
+    width: 300px;
378
+    height: 36px;
379
+    line-height: 36px;
380
+    padding-left: 15px;
366 381
     border: 1px #dcdfe6 solid;
367
-    padding: 30px 20px 30px 20px;
368
-
369
-  .border {
370
-    border-bottom: 1px #dcdfe6 solid;
371
-    margin: 0px 0 20px 0;
382
+    border-right: none;
383
+    outline: none;
384
+    float: left;
385
+    border-radius: 6px 0 0 6px;
386
+    font-size: 14px;
387
+    color: #333;
388
+    background: #fff;
389
+    box-shadow: 3px 3px 4px rgba(135, 135, 135, 0.05);
372 390
   }
373
-
391
+  .searchBtn {
392
+    background-color: #409eff;
393
+    color: #fff;
394
+    font-size: 15px;
395
+    text-align: center;
396
+    height: 36px;
397
+    line-height: 36px;
398
+    float: left;
399
+    outline: none;
400
+    width: 70px;
401
+    border: none;
402
+    border-radius: 0 6px 6px 0;
403
+    font-family: "Microsoft Yahei";
404
+    cursor: pointer;
374 405
   }
375
-
376
-  .title {
406
+  }
407
+  .cell {
408
+    margin: 0px 0 15px 0;
409
+    -moz-box-sizing: border-box;
410
+    -webkit-box-sizing: border-box;
411
+    -o-box-sizing: border-box;
412
+    -ms-box-sizing: border-box;
413
+    box-sizing: border-box;
414
+    display: -webkit-box;
415
+    display: -ms-flexbox;
416
+  // display: flex;
417
+    -webkit-box-align: flex-start;
418
+    -ms-flex-align: flex-start;
419
+    align-items: flex-start;
420
+    text-align: left;
421
+    justify-content: flex-start;
422
+    color: #333;
423
+
424
+  .time {
425
+    -webkit-box-flex: 1;
426
+    -ms-flex: 1;
427
+    flex: 1;
428
+  ul {
429
+    padding: 0;
430
+    margin: 0;
431
+  li {
432
+    float: left;
433
+    list-style: none;
434
+    cursor: pointer;
435
+    padding: 3px 0;
436
+    width: 70px;
437
+    color: #606266;
438
+    border-radius: 4px;
439
+    margin: 0 10px 0 0;
440
+    color: #409eff;
441
+    border: 1px #409eff solid;
442
+    text-align:center;
443
+  &:hover {
444
+     background: #409eff;
445
+     color: #fff;
446
+   }
447
+  }
448
+  .active {
377 449
     background: #409eff;
378
-    height: 44px;
379
-    line-height: 44px;
380
-    padding: 0 0 0 10px;
381 450
     color: #fff;
382
-    margin: 0 0 10px 0;
383
-
384 451
   }
385
-
386
-  .edit_separater {
387
-    border-top: 1px solid rgb(233, 233, 233);
388
-    margin-top: 15px;
389
-    margin-bottom: 15px;
390 452
   }
391
-
392
-</style>
393
-
394
-<style>
395
-  .sign-and-weigh-box .sign-and-weigh-box-patients .cell {
396
-    font-size: 12px;
397 453
   }
398
-
399
-  .sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
400
-    background: #6fb5fa;
401 454
   }
402
-
403
-  .count {
404
-    color: #bd2c00;
405
-
455
+  .amount {
456
+    font-weight: normal;
457
+    padding: 10px 0 0 0;
458
+    color: #606266;
459
+    font-size: 14px;
460
+  span {
461
+    color: #ef2525;
462
+    font-family: "Arial";
463
+    padding: 0 2px;
464
+  }
465
+  }
406 466
   }
407
-
408 467
 </style>
468
+

+ 65 - 49
src/xt_pages/stock/stockOutOrderAdd.vue View File

@@ -1,6 +1,11 @@
1 1
 <template>
2 2
 
3
-  <div class="app-container sign-and-weigh-box">
3
+  <div class="main-contain">
4
+    <div class="position">
5
+    <bread-crumb :crumbs='crumbs'></bread-crumb>
6
+  </div>
7
+
8
+  <div class="app-container">
4 9
 
5 10
     <sales-return-dialog :propForm="propForm"
6 11
                          :visibility="isVisibility"
@@ -11,7 +16,7 @@
11 16
 
12 17
       <el-row>
13 18
         <el-col :span="8"><div>
14
-          <span>退货时间:</span>
19
+          <span>出库时间:</span>
15 20
           <el-date-picker v-model="warehouse_out_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
16 21
                           type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
17 22
                           value-format="yyyy-MM-dd"></el-date-picker>
@@ -53,15 +58,23 @@
53 58
 
54 59
             <el-table-column label="操作" align="center" min-width="30">
55 60
               <template slot-scope="scope">
56
-                <el-button
57
-                  size="mini"
58
-                  @click="handleEdit(scope.$index, scope.row)">+
59
-                </el-button>
60
-                <el-button
61
-                  size="mini"
62
-                  type="danger"
63
-                  @click="handleDelete(scope.$index, scope.row)">-
64
-                </el-button>
61
+                <el-tooltip class="item" effect="dark" content="编辑" placement="top">  
62
+                  <el-button
63
+                    size="small"
64
+                    type="primary"
65
+                    icon="el-icon-edit-outline"
66
+                    @click="handleEdit(scope.$index, scope.row)">
67
+                  </el-button>
68
+                  </el-tooltip>
69
+                  <el-tooltip class="item" effect="dark" content="删除" placement="top">
70
+                    <el-button
71
+                      size="small"
72
+                      type="danger"
73
+                      icon="el-icon-delete"
74
+                      @click="handleDelete(scope.$index, scope.row)">
75
+                    </el-button>
76
+                </el-tooltip>     
77
+
65 78
               </template>
66 79
             </el-table-column>
67 80
 
@@ -142,28 +155,36 @@
142 155
 
143 156
     </el-row>
144 157
   </div>
158
+  </div>
159
+
145 160
 </template>
146 161
 
147 162
 <script>
148 163
   import { uParseTime } from '@/utils/tools'
149 164
   import {
150 165
     getSalesReturnConfig,
151
-    postWarehouseOut,
166
+    postWarehouseOut
152 167
   } from '@/api/stock'
153 168
   import SalesReturnDialog from './Dialog/salesReturnDialog'
169
+  import BreadCrumb from '../components/bread-crumb'
154 170
 
155 171
   export default {
156
-    components: { SalesReturnDialog},
172
+    components: { BreadCrumb, SalesReturnDialog },
157 173
     name: 'salesReturnOrderAdd',
158 174
 
159 175
     data() {
160 176
       return {
161
-        type:1,
177
+        crumbs: [
178
+          { path: false, name: '库存管理' },
179
+          { path: '/stock/out', name: '出库单' },
180
+          { path: '/stock/out/add', name: '新增出库单' }
181
+        ],
182
+        type: this.$route.query.type,
162 183
         signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
163 184
         warehouse_out_time: '',
164 185
         currentIndex: 0,
165 186
         recordInfo: {
166
-          recordData: [],
187
+          recordData: []
167 188
         },
168 189
         tableRules: {
169 190
           price: [
@@ -171,7 +192,7 @@
171 192
           ],
172 193
           count: [
173 194
             { required: true, message: '数量不能为空', trigge: 'blur' }
174
-          ],
195
+          ]
175 196
         },
176 197
         ruleForm: {
177 198
           manufacturer: [
@@ -184,7 +205,7 @@
184 205
         propForm: {
185 206
           goodType: [],
186 207
           goodInfo: [],
187
-          goodUnit: [],
208
+          goodUnit: []
188 209
         },
189 210
         form: {
190 211
           manufacturer: '',
@@ -221,35 +242,38 @@
221 242
       }, cancle: function() {
222 243
         this.isVisibility = false
223 244
       }, GetConfigInfo: function() {
224
-        getSalesReturnConfig().then(response => {
245
+        const params = {
246
+          type: this.$route.query.type
247
+
248
+        }
249
+        getSalesReturnConfig(params).then(response => {
225 250
           if (response.data.state == 0) {
226 251
             this.$message.error(response.data.msg)
227 252
             return false
228 253
           } else {
229
-            var warehouseList =  response.data.data.warehouseList
230
-            var warehouseInfoList =  response.data.data.warehouseInfoList
231
-            for (let i = 0; i <warehouseList.length; i++ ){
232
-              if(warehouseList[i].Manufacturer.id > 0){
254
+            var warehouseList = response.data.data.warehouseList
255
+            var warehouseInfoList = response.data.data.warehouseInfoList
256
+            for (let i = 0; i < warehouseList.length; i++) {
257
+              if (warehouseList[i].Manufacturer.id > 0) {
233 258
                 this.manufacturer.push(warehouseList[i].Manufacturer)
234 259
               }
235
-              if(warehouseList[i].Dealer.id > 0){
260
+              if (warehouseList[i].Dealer.id > 0) {
236 261
                 this.dealer.push(warehouseList[i].Dealer)
237 262
               }
238 263
             }
239 264
             for (let i = 0; i < warehouseInfoList.length; i++) {
240 265
               this.propForm.goodInfo.push(warehouseInfoList[i].GoodInfo)
241
-
242 266
             }
243 267
             const obj = {}
244 268
             const obj2 = {}
245 269
             const obj4 = {}
246
-            //去重复
247
-            this.manufacturer =  this.manufacturer.reduce((cur, next) => {
270
+            // 去重复
271
+            this.manufacturer = this.manufacturer.reduce((cur, next) => {
248 272
               obj[next.id] ? '' : obj[next.id] = true && cur.push(next)
249 273
               return cur
250 274
             }, [])
251
-            //去重复
252
-            this.dealer =  this.dealer.reduce((cur, next) => {
275
+            // 去重复
276
+            this.dealer = this.dealer.reduce((cur, next) => {
253 277
               obj2[next.id] ? '' : obj2[next.id] = true && cur.push(next)
254 278
               return cur
255 279
             }, [])
@@ -257,8 +281,6 @@
257 281
               obj4[next.id] ? '' : obj4[next.id] = true && cur.push(next)
258 282
               return cur
259 283
             }, [])
260
-
261
-
262 284
           }
263 285
         })
264 286
       }, typeName: function(good_type_id) {
@@ -285,12 +307,11 @@
285 307
         tempObj['price'] = ''
286 308
         tempObj['remark'] = ''
287 309
 
288
-
289 310
         this.recordInfo.recordData.push(tempObj)
290 311
       }, handleDelete: function(index, row) {
291 312
         this.recordInfo.recordData.splice(index, 1)
292 313
       }, calculate: function(val) {
293
-        if(isNaN(val)){
314
+        if (isNaN(val)) {
294 315
           return ''
295 316
         }
296 317
         if (val == 0) {
@@ -311,20 +332,16 @@
311 332
         } else {
312 333
           this.isVisibility = true
313 334
           console.log(this.form.manufacturer)
314
-          for (let i = 0; i < this.propForm.goodInfo.length; i++){
315
-            if(this.propForm.goodInfo[i].manufacturer == this.form.manufacturer){
335
+          for (let i = 0; i < this.propForm.goodInfo.length; i++) {
336
+            if (this.propForm.goodInfo[i].manufacturer == this.form.manufacturer) {
316 337
               this.propForm.goodType.push(this.propForm.goodInfo[i].GoodsType)
317 338
             }
318
-
319 339
           }
320 340
           const obj3 = {}
321 341
           this.propForm.goodType = this.propForm.goodType.reduce((cur, next) => {
322 342
             obj3[next.id] ? '' : obj3[next.id] = true && cur.push(next)
323 343
             return cur
324 344
           }, [])
325
-
326
-
327
-
328 345
         }
329 346
       }, back() {
330 347
         this.$router.go(-1)
@@ -353,22 +370,21 @@
353 370
             }
354 371
             console.log(this.form.dealer)
355 372
 
356
-
357
-            postWarehouseOut(params,this.warehouse_out_time,this.form.dealer,this.form.manufacturer,this.type).then(response=>{
358
-              if (response.data.state==0) {
359
-                this.$message.error(response.data.msg);
360
-                return false;
361
-              }else {
373
+            postWarehouseOut(params, this.warehouse_out_time, this.form.dealer, this.form.manufacturer, this.type).then(response => {
374
+              if (response.data.state == 0) {
375
+                this.$message.error(response.data.msg)
376
+                return false
377
+              } else {
362 378
                 this.$notify({
363
-                  title: "成功",
364
-                  message: "退货成功",
365
-                  type: "success",
379
+                  title: '成功',
380
+                  message: '退货成功',
381
+                  type: 'success',
366 382
                   duration: 2000
367
-                });
383
+                })
368 384
                 this.recordInfo.recordData = []
369 385
                 this.$router.back(-1)
370 386
               }
371
-            });
387
+            })
372 388
           } else {
373 389
             return false
374 390
           }

+ 94 - 81
src/xt_pages/stock/stockOutOrderDetail.vue View File

@@ -1,96 +1,104 @@
1 1
 <template>
2
-
3
-  <div class="app-container sign-and-weigh-box">
4
-
5
-    <div class="filter-container">
6
-      <span style="font-size: 20px">退货单详情</span>
7
-      <el-row style="float:right;">
8
-        <span>{{warehousingOutInfo.info.warehouse_out_order_number}}</span>
9
-      </el-row>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
10 5
     </div>
11 6
 
12
-
13
-
14
-    <div class="filter-container">
15
-      <span>单据日期:  {{warehousingOutInfo.info.warehouse_out_time | parseTime('{y}-{m}-{d}')}} </span>
16
-      <span>厂商 {{getManufactuerName(warehousingOutInfo.info.manufacturer)}}</span>
17
-      <span>经销商 {{getDealerName(warehousingOutInfo.info.dealer)}}</span>
18
-    </div>
19
-
20
-    <div class="filter-container" style="margin-top: 10px">
21
-      <el-button size="small" icon="el-icon-edit" @click="editRecord">编辑</el-button>
22
-      <el-button size="small" icon="el-icon-delete" @click="deleteRecord">删除</el-button>
7
+    <div class="app-container">
8
+
9
+      <div class="filter-container">
10
+        <span style="font-size: 18px">出库单详情</span>
11
+        <el-row style="float:right;">
12
+          <span>{{warehousingOutInfo.info.warehouse_out_order_number}}</span>
13
+        </el-row>
14
+      </div>
15
+
16
+
17
+      <div class="cell">
18
+        <span style="width: 300px;">单据日期:  {{warehousingOutInfo.info.warehouse_out_time | parseTime('{y}-{m}-{d}')}} </span>
19
+        <span style="width: 300px;">厂商 {{getManufactuerName(warehousingOutInfo.info.manufacturer)}}</span>
20
+        <span style="width: 300px;">经销商 {{getDealerName(warehousingOutInfo.info.dealer)}}</span>
21
+      </div>
22
+
23
+      <div class="filter-container" style="margin-top: 10px">
24
+        <el-button size="small" icon="el-icon-edit" @click="editRecord">编辑</el-button>
25
+        <el-button size="small" icon="el-icon-delete" @click="deleteRecord">删除</el-button>
26
+      </div>
27
+
28
+      <el-row :gutter="12" style="margin-top: 10px">
29
+        <el-table :data="warehousingOutInfo.warehousingOutData" :class="signAndWeighBoxPatients" style="width: 100%"
30
+                  border
31
+        >
32
+          <el-table-column min-width="35" align="center">
33
+            <template slot="header" slot-scope="scope">
34
+              <span>物品类型</span>
35
+            </template>
36
+
37
+            <template slot-scope="scope">
38
+              <span v-if="scope.row.good_type_id != 0">{{getTypeName(scope.row.good_type_id)}}</span>
39
+            </template>
40
+          </el-table-column>
41
+          <el-table-column min-width="35" align="center">
42
+            <template slot="header" slot-scope="scope">
43
+              <span>规格名称</span>
44
+            </template>
45
+            <template slot-scope="scope">
46
+              <span v-if="scope.row.good_id != 0">{{getSpecificationName(scope.row.good_id)}}</span>
47
+            </template>
48
+          </el-table-column>
49
+
50
+
51
+          <el-table-column min-width="23" align="center">
52
+            <template slot="header" slot-scope="scope">
53
+              <span>单价</span>
54
+            </template>
55
+            <template slot-scope="scope">
56
+              <span>{{scope.row.price}}</span>
57
+            </template>
58
+          </el-table-column>
59
+
60
+          <el-table-column min-width="23" align="center">
61
+            <template slot="header" slot-scope="scope">
62
+              <span>出库数量</span>
63
+            </template>
64
+            <template slot-scope="scope">
65
+              <span>{{scope.row.count}}</span>
66
+
67
+            </template>
68
+          </el-table-column>
69
+          <el-table-column label="总价" min-width="20" align="center">
70
+            <template slot-scope="scope">
71
+              {{calculate(scope.row.price*scope.row.count)}}
72
+            </template>
73
+          </el-table-column>
74
+
75
+          <el-table-column label="备注" min-width="20" align="center">
76
+            <template slot-scope="scope">
77
+              <el-popover placement="top-start" width="250" trigger="hover">
78
+                <div>{{scope.row.remark}}</div>
79
+                <span slot="reference"
80
+                      v-if="scope.row.remark.length > 20">{{ scope.row.remark.substr(0,20)+'...' }}</span>
81
+                <span slot="reference" v-else>{{ scope.row.remark}}</span>
82
+              </el-popover>
83
+
84
+            </template>
85
+          </el-table-column>
86
+
87
+
88
+        </el-table>
89
+      </el-row>
23 90
     </div>
24
-
25
-    <el-row :gutter="12" style="margin-top: 10px">
26
-      <el-table :data="warehousingOutInfo.warehousingOutData" :class="signAndWeighBoxPatients" style="width: 100%" border
27
-      >
28
-        <el-table-column min-width="35" align="center">
29
-          <template slot="header" slot-scope="scope">
30
-            <span>物品类型</span>
31
-          </template>
32
-
33
-          <template slot-scope="scope">
34
-            <span v-if="scope.row.good_type_id != 0">{{getTypeName(scope.row.good_type_id)}}</span>
35
-          </template>
36
-        </el-table-column>
37
-        <el-table-column min-width="35" align="center">
38
-          <template slot="header" slot-scope="scope">
39
-            <span>规格名称</span>
40
-          </template>
41
-          <template slot-scope="scope">
42
-            <span v-if="scope.row.good_id != 0">{{getSpecificationName(scope.row.good_id)}}</span>
43
-          </template>
44
-        </el-table-column>
45
-
46
-
47
-        <el-table-column min-width="23" align="center">
48
-          <template slot="header" slot-scope="scope">
49
-            <span>单价</span>
50
-          </template>
51
-          <template slot-scope="scope">
52
-            <span>{{scope.row.price}}</span>
53
-          </template>
54
-        </el-table-column>
55
-
56
-        <el-table-column min-width="23" align="center">
57
-          <template slot="header" slot-scope="scope">
58
-            <span>出库数量</span>
59
-          </template>
60
-          <template slot-scope="scope">
61
-            <span>{{scope.row.count}}</span>
62
-
63
-          </template>
64
-        </el-table-column>
65
-        <el-table-column label="总价" min-width="20" align="center">
66
-          <template slot-scope="scope">
67
-            {{calculate(scope.row.price*scope.row.count)}}
68
-          </template>
69
-        </el-table-column>
70
-
71
-        <el-table-column label="备注" min-width="20"  align="center">
72
-          <template slot-scope="scope">
73
-            <el-popover placement="top-start"  width="250" trigger="hover" >
74
-              <div>{{scope.row.remark}}</div>
75
-              <span slot="reference" v-if="scope.row.remark.length > 20">{{ scope.row.remark.substr(0,20)+'...' }}</span>
76
-              <span slot="reference" v-else>{{ scope.row.remark}}</span>
77
-            </el-popover>
78
-
79
-          </template>
80
-        </el-table-column>
81
-
82
-
83
-      </el-table>
84
-    </el-row>
85 91
   </div>
86 92
 </template>
87 93
 
88 94
 <script>
89 95
   import { uParseTime } from '@/utils/tools'
90
-  import { GetAllConfig,getWarehouseOutInfo,deleteWarehouseOut } from '@/api/stock'
96
+  import { deleteWarehouseOut, GetAllConfig, getWarehouseOutInfo } from '@/api/stock'
97
+  import BreadCrumb from '../components/bread-crumb'
91 98
 
92 99
   export default {
93 100
     name: 'stockInOrderDetail',
101
+    components: { BreadCrumb },
94 102
     created() {
95 103
       const order_id = this.$route.query.id
96 104
       this.GetConfigInfo()
@@ -98,6 +106,11 @@
98 106
     },
99 107
     data() {
100 108
       return {
109
+        crumbs: [
110
+          { path: false, name: '库存管理' },
111
+          { path: '/stock/out', name: '出库单' },
112
+          { path: '/stock/out/detail', name: '出库单详情' }
113
+        ],
101 114
         isEdit: 0,
102 115
         checked: false,
103 116
         signAndWeighBoxPatients: 'sign-and-weigh-box-patients',

+ 37 - 18
src/xt_pages/stock/stockOutOrderEdit.vue View File

@@ -1,6 +1,10 @@
1 1
 <template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+    </div>
2 6
 
3
-  <div class="app-container sign-and-weigh-box">
7
+  <div class="app-container">
4 8
 
5 9
     <sales-return-dialog :propForm="propForm"
6 10
                      :visibility="isVisibility"
@@ -12,7 +16,7 @@
12 16
       <el-row>
13 17
         <el-col :span="8">
14 18
           <div>
15
-            <span>库时间:</span>
19
+            <span>库时间:</span>
16 20
             <el-date-picker v-model="warehouse_out_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
17 21
                             type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
18 22
                             value-format="yyyy-MM-dd"></el-date-picker>
@@ -30,15 +34,23 @@
30 34
 
31 35
             <el-table-column label="操作" align="center" min-width="30">
32 36
               <template slot-scope="scope">
33
-                <el-button
34
-                  size="mini"
35
-                  @click="handleEdit(scope.$index, scope.row)">+
36
-                </el-button>
37
-                <el-button
38
-                  size="mini"
39
-                  type="danger"
40
-                  @click="handleDelete(scope.$index, scope.row)">-
41
-                </el-button>
37
+                 <el-tooltip class="item" effect="dark" content="编辑" placement="top">  
38
+                  <el-button
39
+                    size="small"
40
+                    type="primary"
41
+                    icon="el-icon-edit-outline"
42
+                    @click="handleEdit(scope.$index, scope.row)">
43
+                  </el-button>
44
+                  </el-tooltip>
45
+                  <el-tooltip class="item" effect="dark" content="删除" placement="top">
46
+                    <el-button
47
+                      size="small"
48
+                      type="danger"
49
+                      icon="el-icon-delete"
50
+                      @click="handleDelete(scope.$index, scope.row)">
51
+                    </el-button>
52
+                </el-tooltip>     
53
+
42 54
               </template>
43 55
             </el-table-column>
44 56
 
@@ -119,6 +131,8 @@
119 131
 
120 132
     </el-row>
121 133
   </div>
134
+  </div>
135
+
122 136
 </template>
123 137
 
124 138
 <script>
@@ -131,13 +145,19 @@
131 145
     editWarehouseoutInfo
132 146
   } from '@/api/stock'
133 147
   import SalesReturnDialog from './Dialog/salesReturnDialog'
148
+  import BreadCrumb from '../components/bread-crumb'
134 149
 
135 150
   export default {
136
-    components: { SalesReturnDialog},
151
+    components: { BreadCrumb, SalesReturnDialog },
137 152
     name: 'salesReturnEdit',
138 153
 
139 154
     data() {
140 155
       return {
156
+        crumbs: [
157
+          { path: false, name: '库存管理' },
158
+          { path: '/stock/out', name: '出库单' },
159
+          { path: '/stock/out/detail', name: '编辑出库单' }
160
+        ],
141 161
         signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
142 162
 
143 163
         adminUserOptions: null,
@@ -155,7 +175,7 @@
155 175
           ],
156 176
           price: [
157 177
             { required: true, message: '单价不能为空', trigger: 'blur' }
158
-          ],
178
+          ]
159 179
 
160 180
         },
161 181
         ruleForm: {
@@ -209,7 +229,10 @@
209 229
       }, cancle: function() {
210 230
         this.isVisibility = false
211 231
       }, GetConfigInfo: function() {
212
-        getSalesReturnConfig().then(response => {
232
+        const params = {
233
+          type: this.$route.query.type
234
+        }
235
+        getSalesReturnConfig(params).then(response => {
213 236
           if (response.data.state == 0) {
214 237
             this.$message.error(response.data.msg)
215 238
             return false
@@ -218,7 +241,6 @@
218 241
             for (let i = 0; i < warehouseInfoList.length; i++) {
219 242
               this.propForm.goodInfo.push(warehouseInfoList[i].GoodInfo)
220 243
               this.propForm.goodType.push(warehouseInfoList[i].GoodInfo.GoodsType)
221
-
222 244
             }
223 245
             const obj3 = {}
224 246
             const obj4 = {}
@@ -307,7 +329,6 @@
307 329
           obj3[next.id] ? '' : obj3[next.id] = true && cur.push(next)
308 330
           return cur
309 331
         }, [])
310
-
311 332
       }, back() {
312 333
         this.$router.go(-1)
313 334
       }, submit() {
@@ -362,9 +383,7 @@
362 383
             }
363 384
             this.warehouseOut = response.data.data.info
364 385
             this.warehouse_out_time = this.getTime(this.warehouseOut.warehouse_out_time, '{y}-{m}-{d}')
365
-
366 386
           }
367
-
368 387
         })
369 388
       }, calculate: function(val) {
370 389
         if (val == 0) {

File diff suppressed because it is too large
+ 0 - 1234
src/xt_pages/user/components/PatientDetail.vue


+ 1 - 1
src/xt_pages/user/components/PatientSidebar.vue View File

@@ -202,7 +202,7 @@
202 202
     float: left;
203 203
     bottom: 0;
204 204
     left: 0;
205
-    z-index: 1001;
205
+    z-index: 99;
206 206
     overflow: hidden;
207 207
   }
208 208
 

+ 24 - 17
src/xt_pages/user/dialysisSolution.1.vue View File

@@ -81,24 +81,31 @@
81 81
      </el-table-column>
82 82
      <el-table-column label="操作" align="center" min-width="140">
83 83
       <template slot-scope="scope">
84
-        <el-button
85
-          size="mini"
86
-          type="primary"
87
-          @click="openEdit(scope.$index, scope.row)" v-if="scope.row.parent_id===0">编辑</el-button>
84
+        <el-tooltip class="item" effect="dark" content="编辑" placement="top">
85
+          <el-button
86
+            size="small"
87
+            type="primary"
88
+            @click="openEdit(scope.$index, scope.row)" v-if="scope.row.parent_id===0"></el-button>
89
+          </el-tooltip>  
90
+          <el-tooltip class="item" effect="dark" content="编辑" placement="top">          
91
+          <el-button
92
+            size="small"
93
+            type="primary"
94
+            @click="openChildEdit(scope.$index, scope.row)" v-else></el-button>
95
+          </el-tooltip>  
96
+          <el-tooltip class="item" effect="dark" content="新增" placement="top">          
97
+          <el-button
98
+            size="small"
99
+            type="success"
100
+            @click="openNewChild(scope.$index, scope.row)" v-if="scope.row.parent_id===0"></el-button>
101
+          </el-tooltip>  
102
+          <el-tooltip class="item" effect="dark" content="删除" placement="top"> 
103
+          <el-button
104
+            size="small"
105
+            type="danger"
106
+            @click="handleDelete(scope.$index, scope.row)"></el-button>
107
+          </el-tooltip>  
88 108
           
89
-        <el-button
90
-          size="mini"
91
-          type="primary"
92
-          @click="openChildEdit(scope.$index, scope.row)" v-else>编辑</el-button>
93
-
94
-        <el-button
95
-          size="mini"
96
-          type="success"
97
-          @click="openNewChild(scope.$index, scope.row)" v-if="scope.row.parent_id===0">新增</el-button>
98
-        <el-button
99
-          size="mini"
100
-          type="danger"
101
-          @click="handleDelete(scope.$index, scope.row)">删除</el-button>
102 109
       </template>
103 110
     </el-table-column>
104 111
    </el-table>

+ 7 - 5
src/xt_pages/user/dialysisSolution.vue View File

@@ -89,11 +89,13 @@
89 89
      </el-table-column> -->
90 90
      <el-table-column label="操作" align="center" min-width="140">
91 91
       <template slot-scope="scope">
92
-        <el-button
93
-          size="mini"
94
-          type="primary"
95
-          @click="openEdit(scope.$index, scope.row)" >编辑</el-button>
96
-
92
+        <el-tooltip class="item" effect="dark" content="编辑" placement="top">
93
+          <el-button
94
+            size="small"
95
+            type="primary"
96
+            icon="el-icon-edit-outline"
97
+            @click="openEdit(scope.$index, scope.row)" ></el-button>
98
+        </el-tooltip>
97 99
      <!--   <el-button
98 100
           size="mini"
99 101
           type="primary"

+ 5 - 64
src/xt_pages/user/doctorAdvice.vue View File

@@ -3,10 +3,10 @@
3 3
         <patient-sidebar :id="patientID" defaultActive="1-4" v-on:tran-patient="onTranPatient"></patient-sidebar>
4 4
         <div class="patient-app-container advice-container app-container">
5 5
             <div class="filter-container">
6
-                <el-input   style="width: 400px;" v-model="listQuery.keywords" class="filter-item" />
7
-                <el-button  class="filter-item" type="primary" icon="el-icon-search" @click="changeKey" >搜索</el-button>
8
-                <el-button  class="filter-item" style="float:right;" @click="printThisInfo()" :type="adviceType==1 || adviceType == 3?'primary':'warning'" icon="el-icon-printer" >打印医嘱</el-button>
9
-                <el-button :disabled="$store.getters.xt_user.subscibe.state==3?true:false" class="filter-item" style="float:right;" @click="openNew" type="primary" icon="el-icon-plus" >新增医嘱</el-button>
6
+                <el-input  size="small" style="width: 400px;" v-model="listQuery.keywords" class="filter-item" />
7
+                <el-button size="small"  class="filter-item" type="primary" icon="el-icon-search" @click="changeKey" >搜索</el-button>
8
+                <el-button size="small" class="filter-item" style="float:right;" @click="printThisInfo()" :type="adviceType==1 || adviceType == 3?'primary':'warning'" icon="el-icon-printer" >打印医嘱</el-button>
9
+                <el-button size="small" :disabled="$store.getters.xt_user.subscibe.state==3?true:false" class="filter-item" style="float:right;" @click="openNew" type="primary" icon="el-icon-plus" >新增医嘱</el-button>
10 10
             </div>
11 11
             <div class="cell clearfix">
12 12
                 <label class="title"><span class="name">医嘱类型</span> : </label>
@@ -2839,66 +2839,7 @@ export default {
2839 2839
       cursor: pointer;
2840 2840
     }
2841 2841
   }
2842
-  .cell {
2843
-    margin: 0px 0 15px 0;
2844
-    -moz-box-sizing: border-box;
2845
-    -webkit-box-sizing: border-box;
2846
-    -o-box-sizing: border-box;
2847
-    -ms-box-sizing: border-box;
2848
-    box-sizing: border-box;
2849
-    display: -webkit-box;
2850
-    display: -ms-flexbox;
2851
-    // display: flex;
2852
-    -webkit-box-align: flex-start;
2853
-    -ms-flex-align: flex-start;
2854
-    align-items: flex-start;
2855
-    text-align: left;
2856
-    justify-content: flex-start;
2857
-    color: #333;
2858
-    .title {
2859
-      width: 80px;
2860
-      display: inline-block;
2861
-      font-weight: normal;
2862
-      color: #909399;
2863
-      padding: 6px 0;
2864
-      font-weight: 700;
2865
-      .name {
2866
-        width: 60px;
2867
-        text-align: justify;
2868
-        text-justify: distribute-all-lines;
2869
-        text-align-last: justify;
2870
-        -moz-text-align-last: justify;
2871
-        -webkit-text-align-last: justify;
2872
-        display: inline-block;
2873
-      }
2874
-    }
2875
-    .time {
2876
-      -webkit-box-flex: 1;
2877
-      -ms-flex: 1;
2878
-      flex: 1;
2879
-      ul {
2880
-        padding: 0;
2881
-        margin: 0;
2882
-        li {
2883
-          float: left;
2884
-          list-style: none;
2885
-          cursor: pointer;
2886
-          padding: 6px 10px;
2887
-          color: #606266;
2888
-          border-radius: 4px;
2889
-          margin: 0 4px 0 0;
2890
-          &:hover {
2891
-            background: #409eff;
2892
-            color: #fff;
2893
-          }
2894
-        }
2895
-        .active {
2896
-          background: #409eff;
2897
-          color: #fff;
2898
-        }
2899
-      }
2900
-    }
2901
-  }
2842
+
2902 2843
   .amount {
2903 2844
     font-weight: normal;
2904 2845
     padding: 10px 0 0 0;

+ 0 - 64
src/xt_pages/user/patient.vue View File

@@ -393,70 +393,6 @@ export default {
393 393
       cursor: pointer;
394 394
     }
395 395
   }
396
-  .cell {
397
-    margin: 0px 0 15px 0;
398
-    -moz-box-sizing: border-box;
399
-    -webkit-box-sizing: border-box;
400
-    -o-box-sizing: border-box;
401
-    -ms-box-sizing: border-box;
402
-    box-sizing: border-box;
403
-    display: -webkit-box;
404
-    display: -ms-flexbox;
405
-    // display: flex;
406
-    -webkit-box-align: flex-start;
407
-    -ms-flex-align: flex-start;
408
-    align-items: flex-start;
409
-    text-align: left;
410
-    justify-content: flex-start;
411
-    color: #333;
412
-    .title {
413
-      width: 80px;
414
-      display: inline-block;
415
-      font-weight: normal;
416
-      color: #909399;
417
-      padding: 6px 0;
418
-      font-weight: 700;
419
-      .name {
420
-        width: 60px;
421
-        text-align: justify;
422
-        text-justify: distribute-all-lines;
423
-        text-align-last: justify;
424
-        -moz-text-align-last: justify;
425
-        -webkit-text-align-last: justify;
426
-        display: inline-block;
427
-      }
428
-    }
429
-    .time {
430
-      -webkit-box-flex: 1;
431
-      -ms-flex: 1;
432
-      flex: 1;
433
-      ul {
434
-        padding: 0;
435
-        margin: 0;
436
-        li {
437
-          float: left;
438
-          list-style: none;
439
-          cursor: pointer;
440
-          padding: 3px 0;
441
-          width: 70px;
442
-          color: #606266;
443
-          border-radius: 4px;
444
-          margin: 0 10px 0 0;
445
-          color: #409eff;
446
-          border: 1px #409eff solid;
447
-          text-align:center;
448
-          &:hover {
449
-            background: #409eff;
450
-            color: #fff;
451
-          }
452
-        }
453
-        .active {
454
-          background: #409eff;
455
-          color: #fff;
456
-        }
457
-      }
458
-    }
459
-  }
460 396
   .amount {
461 397
     font-weight: normal;
462 398
     padding: 10px 0 0 0;

+ 21 - 21
src/xt_pages/user/patientInfo.vue View File

@@ -2,38 +2,38 @@
2 2
 <template>
3 3
   <div class="patient-container">
4 4
   <patient-sidebar :id="patientID"></patient-sidebar>
5
-  <patient-detail :is-edit='true' :class='panelClass' v-on:tran-patient-info="patientInfo=$event"></patient-detail>
5
+  <!--<patient-detail :is-edit='true' :class='panelClass' v-on:tran-patient-info="patientInfo=$event"></patient-detail>-->
6 6
   </div>
7 7
 </template>
8 8
 
9 9
 <script>
10
-import PatientDetail from './components/PatientDetail'
10
+// import PatientDetail from './components/PatientDetail'
11 11
 import PatientSidebar from './components/PatientSidebar'
12 12
 
13 13
 export default {
14 14
   name: 'editForm',
15
-  components: { PatientDetail,PatientSidebar },
15
+  components: { PatientDetail, PatientSidebar },
16 16
 
17
-  data(){
18
-    return{
19
-      patientID:0,
20
-      panelClass:"patient-app-container",
21
-      patientInfo:{
22
-        id:0
23
-      },
17
+  data() {
18
+    return {
19
+      patientID: 0,
20
+      panelClass: 'patient-app-container',
21
+      patientInfo: {
22
+        id: 0
23
+      }
24 24
     }
25 25
   },
26
-  created(){
27
-    const id = this.$route.params && this.$route.params.id;
28
-      this.patientID = parseInt(id);
29
-      if (isNaN(this.patientID) || this.patientID <= 0) {
30
-          console.log("patient info not had id");
31
-          this.$notify.error({
32
-          title: "错误",
33
-          message: "无效的id"
34
-          });
35
-          this.$router.push('/patients/patients');
36
-      }
26
+  created() {
27
+    const id = this.$route.params && this.$route.params.id
28
+    this.patientID = parseInt(id)
29
+    if (isNaN(this.patientID) || this.patientID <= 0) {
30
+      console.log('patient info not had id')
31
+      this.$notify.error({
32
+        title: '错误',
33
+        message: '无效的id'
34
+      })
35
+      this.$router.push('/patients/patients')
36
+    }
37 37
   }
38 38
 
39 39
 }

+ 23 - 87
src/xt_pages/user/patients.vue View File

@@ -1,16 +1,16 @@
1 1
 <template>
2
+<div class="main-contain">
3
+  <div class="position">
4
+    <bread-crumb></bread-crumb>
5
+    <el-button :disabled="$store.getters.xt_user.subscibe.state==3?true:false" @click="$router.push({path:'/patients/create'})" class="filter-item" style="float:right;" type="primary" icon="el-icon-circle-plus-outline" size="small">新增</el-button>
6
+  </div>
2 7
   <div class="app-container">
3
-    <div class="filter-container">
8
+    <div class="cell">
9
+      <label class="title"><span class="name">病人搜索</span> : </label>
4 10
       <el-input   style="width: 400px;" v-model="searchKey" class="filter-item" placeholder="病人姓名/透析号" size="small"/>
5 11
       <el-button  class="filter-item" type="primary" icon="el-icon-search" @click="search" size="small" >搜索</el-button>
6
-      <!-- <el-button  class="filter-item" type="primary" style="float:right;" icon="el-icon-download" >批量导入</el-button> -->
7
-      <!-- <el-button  type="primary" plain style="float:right;" icon="el-icon-download" >批量导入</el-button>       -->
8
-      <el-button :disabled="$store.getters.xt_user.subscibe.state==3?true:false" @click="$router.push({path:'/patients/create'})" class="filter-item" style="float:right;" type="primary" icon="el-icon-zoom-in" size="small">新增病人</el-button>
9 12
     </div>
10
-    <!-- <div class="search-component clearfix">
11
-      <input type="text" class="searchBox" placeholder="姓名/首拼/透析号" v-model="searchVal">
12
-      <button class="searchBtn">搜 索</button>
13
-    </div> -->
13
+   
14 14
     <div class="cell">
15 15
       <label class="title"><span class="name">日期查询</span> : </label>
16 16
       <el-date-picker v-model="listQuery.start_time" size="small"  prefix-icon="el-icon-date" @change="changeTime" :editable="false" style="width: 196px;" type="date" placeholder="选择日期时间" align="right" :picker-options="pickerOptions1"  format="yyyy-MM-dd" value-format="yyyy-MM-dd" > </el-date-picker>
@@ -33,14 +33,6 @@
33 33
         </ul>
34 34
       </div>
35 35
     </div>
36
-    <!-- <div class="cell clearfix">
37
-	    <label class="title"><span class="name">病人来源</span> : </label>
38
-	    <div class="time ">
39
-        <ul class="">
40
-          <li :class="item.value==sourceType?'active':''" :style="item.source>0&&lapsetoType!=1?'display:none;':''" @click="selectLapseTo(item.value, item.source, item.lapseto)" v-for="item in sourceArr" :key="item.value" >{{item.label}}</li>
41
-        </ul>
42
-      </div>
43
-    </div> -->
44 36
     <div class="cell clearfix">
45 37
       <label class="title"><span class="name">转归情况</span> : </label>
46 38
       <div class="time ">
@@ -67,7 +59,7 @@
67 59
           :value="item.id">
68 60
         </el-option>
69 61
       </el-select>
70
-      <el-select v-model="listQuery.reimbursement_way"  size="small" clearable  placeholder="付费方式"  @change="changeOtherSearch">
62
+      <el-select style="margin-left: 10px;" v-model="listQuery.reimbursement_way"  size="small" clearable  placeholder="付费方式"  @change="changeOtherSearch">
71 63
         <el-option
72 64
           v-for="item in reimbursement_ways"
73 65
           :key="item.id"
@@ -103,12 +95,8 @@
103 95
       </el-select>
104 96
     </div>
105 97
 
106
-    <!-- <div class="amount" >总<span>{{pageTotal}}</span>条 已选择{{pageSelect}}位患者</div> -->
107 98
     <el-table
108
-      ref="multipleTable" :data="tableData" border fit highlight-current-row  style="width: 100%;margin-top: 10px;" @selection-change="handleSelectionChange">
109
-      <!-- <el-table-column type="selection" label="全选" width="60px" align="center">
110
-        <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
111
-      </el-table-column> -->
99
+      ref="multipleTable" :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}" :data="tableData" border fit highlight-current-row  style="width: 100%;margin-top: 10px;" @selection-change="handleSelectionChange">
112 100
       <el-table-column align="center" label="全选" width="60px" type="selection" ></el-table-column>
113 101
       <el-table-column type="index" label="序号" width="60px" align="center"></el-table-column>
114 102
       <el-table-column  label="透析号" min-width="80" property="dialysis_no" align="center"></el-table-column>
@@ -151,8 +139,13 @@
151 139
       </el-table-column>
152 140
       <el-table-column  label="操作" align="center" min-width="140">
153 141
         <template slot-scope="scope">
154
-          <el-button type="primary" icon="el-icon-edit" size="mini" @click="OpenSetLapseto(scope.row, scope.$index)">转归</el-button>
155
-          <el-button type="primary" size="mini" @click="OpenView(scope.row.name,scope.row.dialysis_no,scope.row.id)">预览</el-button>
142
+          <el-tooltip class="item" effect="dark" content="转归" placement="top">
143
+            <el-button type="primary" icon="el-icon-edit" size="small" @click="OpenSetLapseto(scope.row, scope.$index)"></el-button>
144
+          </el-tooltip>
145
+          <el-tooltip class="item" effect="dark" content="预览" placement="top">          
146
+            <el-button type="danger" icon="el-icon-tickets" size="small" @click="OpenView(scope.row.name,scope.row.dialysis_no,scope.row.id)"></el-button>
147
+          </el-tooltip>
148
+          
156 149
         </template>
157 150
       </el-table-column>
158 151
     </el-table>
@@ -247,6 +240,7 @@
247 240
       </div>
248 241
     </div>
249 242
   </div>
243
+</div>
250 244
 </template>
251 245
 
252 246
 <script>
@@ -255,12 +249,14 @@
255 249
   import Vue from 'vue'
256 250
   import  print from 'print-js'
257 251
   import { Base64 } from 'js-base64'
258
-  import {
259
-    uParseTime
260
-  } from '@/utils/tools'
252
+  import { uParseTime} from '@/utils/tools'
261 253
   import { log } from 'util'
254
+  import BreadCrumb from "@/xt_pages/components/bread-crumb";
262 255
   export default {
263 256
     name: 'Patient',
257
+    components:{
258
+      BreadCrumb
259
+    },
264 260
     data() {
265 261
       return {
266 262
         lapsetoRules: {
@@ -674,66 +670,6 @@
674 670
         cursor: pointer;
675 671
       }
676 672
     }
677
-    .cell {
678
-      margin: 0px 0 15px 0;
679
-      -moz-box-sizing: border-box;
680
-      -webkit-box-sizing: border-box;
681
-      -o-box-sizing: border-box;
682
-      -ms-box-sizing: border-box;
683
-      box-sizing: border-box;
684
-      display: -webkit-box;
685
-      display: -ms-flexbox;
686
-      // display: flex;
687
-      -webkit-box-align: flex-start;
688
-      -ms-flex-align: flex-start;
689
-      align-items: flex-start;
690
-      text-align: left;
691
-      justify-content: flex-start;
692
-      color: #333;
693
-      .title {
694
-        width: 80px;
695
-        display: inline-block;
696
-        font-weight: normal;
697
-        color: #909399;
698
-        padding: 6px 0;
699
-        font-weight: 700;
700
-        .name {
701
-          width: 60px;
702
-          text-align: justify;
703
-          text-justify: distribute-all-lines;
704
-          text-align-last: justify;
705
-          -moz-text-align-last: justify;
706
-          -webkit-text-align-last: justify;
707
-          display: inline-block;
708
-        }
709
-      }
710
-      .time {
711
-        -webkit-box-flex: 1;
712
-        -ms-flex: 1;
713
-        flex: 1;
714
-        ul {
715
-          padding: 0;
716
-          margin: 0;
717
-          li {
718
-            float: left;
719
-            list-style: none;
720
-            cursor: pointer;
721
-            padding: 6px 10px;
722
-            color: #606266;
723
-            border-radius: 4px;
724
-            margin: 0 4px 0 0;
725
-            &:hover {
726
-              background: #409eff;
727
-              color: #fff;
728
-            }
729
-          }
730
-          .active {
731
-            background: #409eff;
732
-            color: #fff;
733
-          }
734
-        }
735
-      }
736
-    }
737 673
     .amount {
738 674
       font-weight: normal;
739 675
       padding: 10px 0 0 0;

+ 0 - 60
src/xt_pages/user/proeducation.vue View File

@@ -154,66 +154,6 @@ export default {
154 154
       cursor: pointer;
155 155
     }
156 156
   }
157
-  .cell {
158
-    margin: 0px 0 15px 0;
159
-    -moz-box-sizing: border-box;
160
-    -webkit-box-sizing: border-box;
161
-    -o-box-sizing: border-box;
162
-    -ms-box-sizing: border-box;
163
-    box-sizing: border-box;
164
-    display: -webkit-box;
165
-    display: -ms-flexbox;
166
-    // display: flex;
167
-    -webkit-box-align: flex-start;
168
-    -ms-flex-align: flex-start;
169
-    align-items: flex-start;
170
-    text-align: left;
171
-    justify-content: flex-start;
172
-    color: #333;
173
-    .title {
174
-      width: 80px;
175
-      display: inline-block;
176
-      font-weight: normal;
177
-      color: #909399;
178
-      padding: 6px 0;
179
-      font-weight: 700;
180
-      .name {
181
-        width: 60px;
182
-        text-align: justify;
183
-        text-justify: distribute-all-lines;
184
-        text-align-last: justify;
185
-        -moz-text-align-last: justify;
186
-        -webkit-text-align-last: justify;
187
-        display: inline-block;
188
-      }
189
-    }
190
-    .time {
191
-      -webkit-box-flex: 1;
192
-      -ms-flex: 1;
193
-      flex: 1;
194
-      ul {
195
-        padding: 0;
196
-        margin: 0;
197
-        li {
198
-          float: left;
199
-          list-style: none;
200
-          cursor: pointer;
201
-          padding: 6px 10px;
202
-          color: #606266;
203
-          border-radius: 4px;
204
-          margin: 0 4px 0 0;
205
-          &:hover {
206
-            background: #409eff;
207
-            color: #fff;
208
-          }
209
-        }
210
-        .active {
211
-          background: #409eff;
212
-          color: #fff;
213
-        }
214
-      }
215
-    }
216
-  }
217 157
   .amount {
218 158
     font-weight: normal;
219 159
     padding: 10px 0 0 0;

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


Some files were not shown because too many files changed in this diff