apply-clients 3.2.41 → 3.2.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/App.vue +20 -20
- package/src/apply.js +185 -175
- package/src/components/app_apply/Process/AppExplorationUser.vue +1 -1
- package/src/components/app_apply/ProgressReport/ProgressReportList.vue +209 -208
- package/src/components/app_apply/Supervisory/AppProcessSupervisory.vue +183 -183
- package/src/components/image/tubiao.png +0 -0
- package/src/components/product/Ledger/ContractManagement/OtherContract/OtherContractInformation.vue +429 -429
- package/src/components/product/Ledger/ContractManagement/OtherContract/OtherContractList.vue +267 -267
- package/src/components/product/Ledger/ContractManagement/PurchaseContract/PurchaseContractInformation.vue +715 -682
- package/src/components/product/Ledger/ContractManagement/PurchaseContract/PurchaseContractList.vue +304 -304
- package/src/components/product/Ledger/ContractManagement/RepairContract/RepairContractInformation.vue +286 -286
- package/src/components/product/Ledger/ContractManagement/RepairContract/RepairContractList.vue +258 -258
- package/src/components/product/Ledger/FacilityManagement/FacilityInventory/FacilityInventory.vue +31 -0
- package/src/components/product/Ledger/FacilityManagement/FacilityInventory/FacilityInventoryList.vue +5 -0
- package/src/components/product/Ledger/FacilityManagement/FacilityInventory/addoldFacilityInformation.vue +326 -0
- package/src/components/product/Ledger/FileDownload/FileDownload.vue +42 -0
- package/src/components/product/Ledger/Function/InstallInfoSelect.vue +4 -1
- package/src/components/product/Ledger/ImportApply/ImportApply.vue +68 -0
- package/src/components/product/Ledger/MaterialManagement/DeliveryRecord/DeliveryRecordList.vue +39 -3
- package/src/components/product/Ledger/MaterialManagement/InventoryInformation/InventoryInformationList.vue +32 -2
- package/src/components/product/Ledger/MaterialManagement/InventoryInformation/MaterialInformation.vue +1 -1
- package/src/components/product/Ledger/MaterialManagement/InventoryInformation/MaterialOutStock.vue +438 -430
- package/src/components/product/Ledger/MaterialManagement/InventoryInformation/MaterialOutboundOrder.vue +457 -449
- package/src/components/product/Ledger/MaterialManagement/InventoryInformation/PurchaseMaterial.vue +10 -2
- package/src/components/product/Ledger/MaterialManagement/InventoryInformation/PurchaseOrder.vue +10 -2
- package/src/components/product/Ledger/MaterialManagement/InventoryInformation/ReturnMaterial.vue +10 -2
- package/src/components/product/Ledger/MaterialManagement/OutboundOrder/OutboundOrderInformation.vue +3 -1
- package/src/components/product/Ledger/MaterialManagement/OutboundOrder/OutboundOrderList.vue +31 -2
- package/src/components/product/Ledger/MaterialManagement/OutboundOrder/PrintMaterialBill.vue +2 -2
- package/src/components/product/Ledger/MaterialManagement/PurchaseRecords/PrintPurchaseOrder.vue +5 -4
- package/src/components/product/Ledger/MaterialManagement/PurchaseRecords/PurchaseRecordsInformation.vue +5 -1
- package/src/components/product/Ledger/MaterialManagement/PurchaseRecords/PurchaseRecordsList.vue +33 -7
- package/src/components/product/Ledger/MaterialManagement/WarehousingRecord/WarehousingRecordList.vue +45 -3
- package/src/components/product/Ledger/Process/ProcessSelect.vue +3 -5
- package/src/components/product/Ledger/Process/Service/ServiceControl.vue +42 -5
- package/src/components/product/Ledger/QinhuaMaterial/PickingRecord/PickingInformation.vue +24 -3
- package/src/components/product/Ledger/QinhuaMaterial/SeasoningRecord/SeasoningRecordList.vue +14 -2
- package/src/components/product/Ledger/Supervisory/Service/RenWuDan.vue +78 -0
- package/src/components/product/Ledger/Supervisory/Service/SupervisoryServiceControl.vue +38 -2
- package/src/components/product/Ledger/Supervisory/SupervisoryList.vue +182 -7
- package/src/components/product/ServiceView.vue +761 -850
- package/static/images/lefticon//346/226/207/344/273/266/346/250/241/345/235/227.png +0 -0
|
@@ -1,449 +1,457 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="select-overspread" style="background-color: #ffffff;padding: 20px;overflow: scroll">
|
|
3
|
-
<validator name="v">
|
|
4
|
-
<form class="form-horizontal">
|
|
5
|
-
<div class="form-group">
|
|
6
|
-
<div class="col-sm-4 form-group item" :class="[$v.f_ticket_number.required ? 'has-error' : '']">
|
|
7
|
-
<label class="control-label-justify control-label col-sm-6">编号</label>
|
|
8
|
-
<div class="col-sm-6">
|
|
9
|
-
<input class="form-control input_view" style=""
|
|
10
|
-
type="text"
|
|
11
|
-
@change="getTicketNumber()"
|
|
12
|
-
v-validate:f_ticket_number = "['required']"
|
|
13
|
-
v-model="model.f_ticket_number"
|
|
14
|
-
:value="model.f_ticket_number"/>
|
|
15
|
-
</div>
|
|
16
|
-
</div>
|
|
17
|
-
<div class="col-sm-4 form-group item" :class="[$v.f_entry_type.required ? 'has-error' : '']">
|
|
18
|
-
<label class="control-label-justify control-label col-sm-6">项目类型</label>
|
|
19
|
-
<div class="col-sm-6">
|
|
20
|
-
<input-select
|
|
21
|
-
class="select select_list"
|
|
22
|
-
:value.sync="model.outboundOrder"
|
|
23
|
-
v-model="model.outboundOrder"
|
|
24
|
-
:options="cailiaotype"
|
|
25
|
-
:valueSingle="true"></input-select>
|
|
26
|
-
</div>
|
|
27
|
-
</div>
|
|
28
|
-
<div class="col-sm-4 form-group item" :class="[$v.f_warehouse.required ? 'has-error' : '']">
|
|
29
|
-
<label class="control-label-justify control-label col-sm-6">发料仓库</label>
|
|
30
|
-
<div class="col-sm-6">
|
|
31
|
-
<input class="form-control input_view" style=""
|
|
32
|
-
type="text"
|
|
33
|
-
v-validate:f_warehouse = "['required']"
|
|
34
|
-
v-model="model.f_warehouse"
|
|
35
|
-
:value="model.f_warehouse"/>
|
|
36
|
-
</div>
|
|
37
|
-
</div>
|
|
38
|
-
<div class="col-sm-4 form-group item" :class="[$v.f_picking_unit.required ? 'has-error' : '']">
|
|
39
|
-
<label class="control-label-justify control-label col-sm-6">施工单位</label>
|
|
40
|
-
<div class="col-sm-6">
|
|
41
|
-
<input-select class="select select_list"
|
|
42
|
-
:value.sync="model.outboundOrder"
|
|
43
|
-
v-model="model.outboundOrder"
|
|
44
|
-
:options="shigongdanwei"
|
|
45
|
-
:valueSingle="true">
|
|
46
|
-
</input-select>
|
|
47
|
-
</div>
|
|
48
|
-
</div>
|
|
49
|
-
<div class="col-sm-4 form-group item">
|
|
50
|
-
<label class="control-label-justify control-label col-sm-6">CEA号</label>
|
|
51
|
-
<div class="col-sm-6">
|
|
52
|
-
<input-select
|
|
53
|
-
class="select select_list"
|
|
54
|
-
:value.sync="cea"
|
|
55
|
-
v-model="cea"
|
|
56
|
-
:options="ceaList"
|
|
57
|
-
:valueSingle="true"></input-select>
|
|
58
|
-
<input class="form-control input_view" type="text"
|
|
59
|
-
v-show="false"
|
|
60
|
-
v-model="model.f_cea_number"
|
|
61
|
-
:value="cea.f_cea_number"/>
|
|
62
|
-
</div>
|
|
63
|
-
</div>
|
|
64
|
-
<div class="col-sm-4 form-group item" :class="[$v.f_picking_site.required ? 'has-error' : '']">
|
|
65
|
-
<label class="control-label-justify control-label col-sm-6">工地名称</label>
|
|
66
|
-
<div class="col-sm-6">
|
|
67
|
-
<input class="form-control input_view" style=""
|
|
68
|
-
type="text"
|
|
69
|
-
v-validate:f_picking_site = "['required']"
|
|
70
|
-
v-model="model.f_picking_site"
|
|
71
|
-
:value="cea.f_entry_name"/>
|
|
72
|
-
</div>
|
|
73
|
-
</div>
|
|
74
|
-
<div class="col-sm-12">
|
|
75
|
-
<data-grid :model="model" partial='list' v-ref:grid style="overflow: auto" class="list_area table_sy">
|
|
76
|
-
<template partial='head'>
|
|
77
|
-
<tr>
|
|
78
|
-
<th style="white-space: nowrap;">序号</th>
|
|
79
|
-
<th style="white-space: nowrap;">材料名称</th>
|
|
80
|
-
<th style="white-space: nowrap;">材料型号</th>
|
|
81
|
-
<th style="white-space: nowrap;">材料规格</th>
|
|
82
|
-
<th style="white-space: nowrap;">单位</th>
|
|
83
|
-
<th style="white-space: nowrap;"
|
|
84
|
-
<th style="white-space: nowrap;"
|
|
85
|
-
<th style="white-space: nowrap;"
|
|
86
|
-
<th style="white-space: nowrap;"
|
|
87
|
-
<th style="white-space: nowrap;">
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
<td style="text-align: center;">{{
|
|
98
|
-
<td style="text-align: center;">{{row.
|
|
99
|
-
<td style="text-align: center;">{{row.
|
|
100
|
-
<td style="text-align: center;">{{row.
|
|
101
|
-
<td style="text-align: center;">{{row.
|
|
102
|
-
<td style="text-align: center;">{{row.
|
|
103
|
-
<td style="text-align: center;">{{row.
|
|
104
|
-
<td style="text-align: center;">{{row.
|
|
105
|
-
<td style="text-align: center;">
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
:
|
|
136
|
-
|
|
137
|
-
:
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
<
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
</
|
|
212
|
-
|
|
213
|
-
<
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
},
|
|
259
|
-
async
|
|
260
|
-
this.
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
this
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
},
|
|
329
|
-
//
|
|
330
|
-
async
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
.control-label-justify
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
width:
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
1
|
+
<template>
|
|
2
|
+
<div class="select-overspread" style="background-color: #ffffff;padding: 20px;overflow: scroll">
|
|
3
|
+
<validator name="v">
|
|
4
|
+
<form class="form-horizontal">
|
|
5
|
+
<div class="form-group">
|
|
6
|
+
<div class="col-sm-4 form-group item" :class="[$v.f_ticket_number.required ? 'has-error' : '']">
|
|
7
|
+
<label class="control-label-justify control-label col-sm-6">编号</label>
|
|
8
|
+
<div class="col-sm-6">
|
|
9
|
+
<input class="form-control input_view" style=""
|
|
10
|
+
type="text"
|
|
11
|
+
@change="getTicketNumber()"
|
|
12
|
+
v-validate:f_ticket_number = "['required']"
|
|
13
|
+
v-model="model.f_ticket_number"
|
|
14
|
+
:value="model.f_ticket_number"/>
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
<div class="col-sm-4 form-group item" :class="[$v.f_entry_type.required ? 'has-error' : '']">
|
|
18
|
+
<label class="control-label-justify control-label col-sm-6">项目类型</label>
|
|
19
|
+
<div class="col-sm-6">
|
|
20
|
+
<input-select
|
|
21
|
+
class="select select_list"
|
|
22
|
+
:value.sync="model.outboundOrder"
|
|
23
|
+
v-model="model.outboundOrder"
|
|
24
|
+
:options="cailiaotype"
|
|
25
|
+
:valueSingle="true"></input-select>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
<div class="col-sm-4 form-group item" :class="[$v.f_warehouse.required ? 'has-error' : '']">
|
|
29
|
+
<label class="control-label-justify control-label col-sm-6">发料仓库</label>
|
|
30
|
+
<div class="col-sm-6">
|
|
31
|
+
<input class="form-control input_view" style=""
|
|
32
|
+
type="text"
|
|
33
|
+
v-validate:f_warehouse = "['required']"
|
|
34
|
+
v-model="model.f_warehouse"
|
|
35
|
+
:value="model.f_warehouse"/>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="col-sm-4 form-group item" :class="[$v.f_picking_unit.required ? 'has-error' : '']">
|
|
39
|
+
<label class="control-label-justify control-label col-sm-6">施工单位</label>
|
|
40
|
+
<div class="col-sm-6">
|
|
41
|
+
<input-select class="select select_list"
|
|
42
|
+
:value.sync="model.outboundOrder"
|
|
43
|
+
v-model="model.outboundOrder"
|
|
44
|
+
:options="shigongdanwei"
|
|
45
|
+
:valueSingle="true">
|
|
46
|
+
</input-select>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
<div class="col-sm-4 form-group item">
|
|
50
|
+
<label class="control-label-justify control-label col-sm-6">CEA号</label>
|
|
51
|
+
<div class="col-sm-6">
|
|
52
|
+
<input-select
|
|
53
|
+
class="select select_list"
|
|
54
|
+
:value.sync="cea"
|
|
55
|
+
v-model="cea"
|
|
56
|
+
:options="ceaList"
|
|
57
|
+
:valueSingle="true"></input-select>
|
|
58
|
+
<input class="form-control input_view" type="text"
|
|
59
|
+
v-show="false"
|
|
60
|
+
v-model="model.f_cea_number"
|
|
61
|
+
:value="cea.f_cea_number"/>
|
|
62
|
+
</div>
|
|
63
|
+
</div>
|
|
64
|
+
<div class="col-sm-4 form-group item" :class="[$v.f_picking_site.required ? 'has-error' : '']">
|
|
65
|
+
<label class="control-label-justify control-label col-sm-6">工地名称</label>
|
|
66
|
+
<div class="col-sm-6">
|
|
67
|
+
<input class="form-control input_view" style=""
|
|
68
|
+
type="text"
|
|
69
|
+
v-validate:f_picking_site = "['required']"
|
|
70
|
+
v-model="model.f_picking_site"
|
|
71
|
+
:value="cea.f_entry_name"/>
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
<div class="col-sm-12">
|
|
75
|
+
<data-grid :model="model" partial='list' v-ref:grid style="overflow: auto" class="list_area table_sy">
|
|
76
|
+
<template partial='head'>
|
|
77
|
+
<tr>
|
|
78
|
+
<th style="white-space: nowrap;">序号</th>
|
|
79
|
+
<th style="white-space: nowrap;">材料名称</th>
|
|
80
|
+
<th style="white-space: nowrap;">材料型号</th>
|
|
81
|
+
<th style="white-space: nowrap;">材料规格</th>
|
|
82
|
+
<th style="white-space: nowrap;">单位</th>
|
|
83
|
+
<th style="white-space: nowrap;">含税单价</th>
|
|
84
|
+
<th style="white-space: nowrap;">不含税单价</th>
|
|
85
|
+
<th style="white-space: nowrap;">预出库数量</th>
|
|
86
|
+
<th style="white-space: nowrap;">金额</th>
|
|
87
|
+
<th style="white-space: nowrap;">备注</th>
|
|
88
|
+
<th style="white-space: nowrap;">
|
|
89
|
+
<button @click="$parent.$parent.openShowMaterial()" type="button" class="btn btn-info">
|
|
90
|
+
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span>
|
|
91
|
+
</button>
|
|
92
|
+
</th>
|
|
93
|
+
</tr>
|
|
94
|
+
</template>
|
|
95
|
+
<template partial='body'>
|
|
96
|
+
<tr>
|
|
97
|
+
<td style="text-align: center;">{{$index+1}}</td>
|
|
98
|
+
<td style="text-align: center;">{{row.f_material_name}}</td>
|
|
99
|
+
<td style="text-align: center;">{{row.f_material_model}}</td>
|
|
100
|
+
<td style="text-align: center;">{{row.f_material_norm}}</td>
|
|
101
|
+
<td style="text-align: center;">{{row.f_unit}}</td>
|
|
102
|
+
<td style="text-align: center;">{{row.f_price}}</td>
|
|
103
|
+
<td style="text-align: center;">{{row.f_noprice}}</td>
|
|
104
|
+
<td style="text-align: center;">{{row.f_prepare_quantity}}</td>
|
|
105
|
+
<td style="text-align: center;">{{row.f_price * row.f_prepare_quantity}}</td>
|
|
106
|
+
<td style="text-align: center;">{{row.f_remarks}}</td>
|
|
107
|
+
<td style="text-align: center;">
|
|
108
|
+
<button type="button" name="button" class="btn btn-link" @click="$parent.$parent.openUpdateMaterial($index,row)">修改</button>
|
|
109
|
+
<button type="button" name="button" class="btn btn-link" @click="$parent.$parent.deleteMaterial($index)">删除</button>
|
|
110
|
+
</td>
|
|
111
|
+
</tr>
|
|
112
|
+
</template>
|
|
113
|
+
</data-grid>
|
|
114
|
+
</div>
|
|
115
|
+
|
|
116
|
+
<div class="col-sm-12 form-group" style="text-align: center">
|
|
117
|
+
<button class="btn btn-primary" @click.prevent="addOutboundOrder()" :disabled="!($v.valid && model.data.length > 0)">保存</button>
|
|
118
|
+
</div>
|
|
119
|
+
</div>
|
|
120
|
+
</form>
|
|
121
|
+
</validator>
|
|
122
|
+
<validator name="mv">
|
|
123
|
+
<modal v-if="showMaterial" :show.sync="showMaterial" backdrop="false" large>
|
|
124
|
+
<header slot="modal-header" class="modal-header">
|
|
125
|
+
<button type="button" class="close" @click="closeModal()"><span>×</span></button>
|
|
126
|
+
<span class="modal-title"><font size="3">添加材料</font></span>
|
|
127
|
+
</header>
|
|
128
|
+
<article slot="modal-body" class="form-horizontal modal-body clearfix">
|
|
129
|
+
<div class="col-sm-12 form-group" :class="[$mv.material.required ? 'has-error' : '']">
|
|
130
|
+
<label class="control-label col-sm-2">选择材料</label>
|
|
131
|
+
<div class="col-sm-9">
|
|
132
|
+
<input type="text" v-show="false" v-model="material.id" v-validate:material = "['required']" >
|
|
133
|
+
<input-select
|
|
134
|
+
class="select select_list"
|
|
135
|
+
:value.sync="material"
|
|
136
|
+
v-model="material"
|
|
137
|
+
:options="materialList"
|
|
138
|
+
@change="changePickMaterial()"
|
|
139
|
+
:valueSingle="true"></input-select>
|
|
140
|
+
</div>
|
|
141
|
+
</div>
|
|
142
|
+
<div class="col-sm-12 form-group" :class="[$mv.material.required ? 'has-error' : '']">
|
|
143
|
+
<label class="control-label col-sm-2">材料名称</label>
|
|
144
|
+
<div class="col-sm-9">
|
|
145
|
+
<input class="form-control" type="text" :value="material.f_material_name" readonly />
|
|
146
|
+
</div>
|
|
147
|
+
</div>
|
|
148
|
+
<div class="col-sm-12 form-group" :class="[$mv.material.required ? 'has-error' : '']">
|
|
149
|
+
<label class="control-label col-sm-2">材料型号</label>
|
|
150
|
+
<div class="col-sm-9">
|
|
151
|
+
<input class="form-control" type="text" :value="material.f_material_model" readonly/>
|
|
152
|
+
</div>
|
|
153
|
+
</div>
|
|
154
|
+
<div class="col-sm-12 form-group" :class="[$mv.material.required ? 'has-error' : '']">
|
|
155
|
+
<label class="control-label col-sm-2">材料规格</label>
|
|
156
|
+
<div class="col-sm-9">
|
|
157
|
+
<input class="form-control" type="text" :value="material.f_material_norm" readonly/>
|
|
158
|
+
</div>
|
|
159
|
+
</div>
|
|
160
|
+
<div class="col-sm-12 form-group" :class="[$mv.material.required ? 'has-error' : '']">
|
|
161
|
+
<label class="control-label col-sm-2">单  位</label>
|
|
162
|
+
<div class="col-sm-9">
|
|
163
|
+
<input class="form-control" type="text" :value="material.f_unit" readonly/>
|
|
164
|
+
</div>
|
|
165
|
+
</div>
|
|
166
|
+
<div class="col-sm-12 form-group" :class="[$mv.f_price.required ? 'has-error' : '']">
|
|
167
|
+
<label class="control-label col-sm-2">含税单价</label>
|
|
168
|
+
<div class="col-sm-9">
|
|
169
|
+
<input class="form-control" type="number" readonly v-validate:f_price = "['required']" v-model="material.f_price" :value="material.f_price"/>
|
|
170
|
+
</div>
|
|
171
|
+
</div>
|
|
172
|
+
<div class="col-sm-12 form-group" :class="[$mv.f_noprice.required ? 'has-error' : '']">
|
|
173
|
+
<label class="control-label col-sm-2">不含税单价</label>
|
|
174
|
+
<div class="col-sm-9">
|
|
175
|
+
<input class="form-control" type="number" readonly v-validate:f_noprice = "['required']" v-model="material.f_noprice" :value="material.f_noprice"/>
|
|
176
|
+
</div>
|
|
177
|
+
</div>
|
|
178
|
+
<div class="col-sm-12 form-group" :class="[$mv.material.required ? 'has-error' : '']">
|
|
179
|
+
<label class="control-label col-sm-2">可出数量</label>
|
|
180
|
+
<div class="col-sm-9">
|
|
181
|
+
<input class="form-control" type="number" :value="material.f_prepare_surplus" readonly/>
|
|
182
|
+
</div>
|
|
183
|
+
</div>
|
|
184
|
+
|
|
185
|
+
<div class="col-sm-12 form-group" :class="[$mv.f_prepare_quantity.required ? 'has-error' : '']">
|
|
186
|
+
<label class="control-label col-sm-2">数  量</label>
|
|
187
|
+
<div class="col-sm-9">
|
|
188
|
+
<input class="form-control"
|
|
189
|
+
type="number"
|
|
190
|
+
@change="changePrepareQuantity()"
|
|
191
|
+
v-validate:f_prepare_quantity = "{required: true}"
|
|
192
|
+
v-model="material.f_prepare_quantity"
|
|
193
|
+
:value="material.f_prepare_quantity"/>
|
|
194
|
+
</div>
|
|
195
|
+
</div>
|
|
196
|
+
<div class="col-sm-12 form-group">
|
|
197
|
+
<label class="control-label col-sm-2">备  注</label>
|
|
198
|
+
<div class="col-sm-9">
|
|
199
|
+
<textarea
|
|
200
|
+
class="form-control input_view"
|
|
201
|
+
style="width: 100%;height: 100%"
|
|
202
|
+
rows="2"
|
|
203
|
+
@change="changeRemarks()"
|
|
204
|
+
v-model="material.f_remarks"
|
|
205
|
+
:value="material.f_remarks"
|
|
206
|
+
>
|
|
207
|
+
</textarea>
|
|
208
|
+
</div>
|
|
209
|
+
</div>
|
|
210
|
+
|
|
211
|
+
</article>
|
|
212
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
213
|
+
<button class="btn btn-primary" type="button" @click.prevent="saveOrUpdateMaterial()" :disabled='!$mv.valid'>确认</button>
|
|
214
|
+
</footer>
|
|
215
|
+
</modal>
|
|
216
|
+
</validator>
|
|
217
|
+
|
|
218
|
+
</div>
|
|
219
|
+
</template>
|
|
220
|
+
|
|
221
|
+
<script>
|
|
222
|
+
import {HttpResetClass} from 'vue-client'
|
|
223
|
+
import {isEmpty} from '../../../../Util'
|
|
224
|
+
export default {
|
|
225
|
+
title: '材料出库单',
|
|
226
|
+
data () {
|
|
227
|
+
return {
|
|
228
|
+
cailiaotype: [{label: '全部', value: ''}, ...this.$appdata.getParam('材料项目类型')],
|
|
229
|
+
shigongdanwei:[{label:'全部',value:''},...this.$appdata.getParam('施工单位')],
|
|
230
|
+
model: {
|
|
231
|
+
data: []
|
|
232
|
+
},
|
|
233
|
+
cea: {},
|
|
234
|
+
material: {},
|
|
235
|
+
ceaList: [],
|
|
236
|
+
materialList: [],
|
|
237
|
+
showMaterial: false,
|
|
238
|
+
index: null
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
ready () {
|
|
242
|
+
this.getCEAList()
|
|
243
|
+
},
|
|
244
|
+
methods: {
|
|
245
|
+
addOutboundOrder () {
|
|
246
|
+
this.$dispatch('addOutboundOrder', this.model)
|
|
247
|
+
},
|
|
248
|
+
changePickMaterial () {
|
|
249
|
+
if (!isEmpty(this.material.id)) {
|
|
250
|
+
for (const item of this.model.data) {
|
|
251
|
+
if (item.id === this.material.id) {
|
|
252
|
+
this.$showAlert('该物料已经存在,如需再次添加,请进行修改操作!!!', 'warning', 3000)
|
|
253
|
+
this.closeModal()
|
|
254
|
+
break
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
},
|
|
259
|
+
async openUpdateMaterial (index, material) {
|
|
260
|
+
await this.getMaterialByType()
|
|
261
|
+
|
|
262
|
+
this.index = index
|
|
263
|
+
this.material = material
|
|
264
|
+
|
|
265
|
+
this.showMaterial = true
|
|
266
|
+
},
|
|
267
|
+
async deleteMaterial (index) {
|
|
268
|
+
this.index = index
|
|
269
|
+
await this.$showMessage('您确定要删除这条记录吗?').then((res) => {
|
|
270
|
+
if (res === 'confirm') {
|
|
271
|
+
this.model.data.splice(this.index, 1)
|
|
272
|
+
}
|
|
273
|
+
})
|
|
274
|
+
this.closeModal()
|
|
275
|
+
},
|
|
276
|
+
saveOrUpdateMaterial () {
|
|
277
|
+
if (isEmpty(this.index)) {
|
|
278
|
+
this.model.data.push(this.material)
|
|
279
|
+
} else {
|
|
280
|
+
this.model.data.splice(this.index, 1, this.material)
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
this.closeModal()
|
|
284
|
+
},
|
|
285
|
+
closeModal () {
|
|
286
|
+
this.showMaterial = false
|
|
287
|
+
this.index = null
|
|
288
|
+
this.material = null
|
|
289
|
+
this.materialList = []
|
|
290
|
+
},
|
|
291
|
+
changeRemarks () {
|
|
292
|
+
if (!this.material.id || isEmpty(this.material.id)) {
|
|
293
|
+
this.$showAlert('请先选择物料!!!', 'warning', 3000)
|
|
294
|
+
this.material = null
|
|
295
|
+
return
|
|
296
|
+
}
|
|
297
|
+
},
|
|
298
|
+
changePrepareQuantity () {
|
|
299
|
+
if (!this.material.id || isEmpty(this.material.id)) {
|
|
300
|
+
this.$showAlert('请先选择物料!!!', 'warning', 3000)
|
|
301
|
+
this.material = null
|
|
302
|
+
return
|
|
303
|
+
}
|
|
304
|
+
if (this.material.f_prepare_quantity > this.material.f_prepare_surplus) {
|
|
305
|
+
this.$showAlert('超出可出库数量了!!!', 'warning', 3000)
|
|
306
|
+
this.material.f_prepare_quantity = null
|
|
307
|
+
return
|
|
308
|
+
}
|
|
309
|
+
},
|
|
310
|
+
// 获取有效可出库物料
|
|
311
|
+
async getMaterialByType () {
|
|
312
|
+
let data = {
|
|
313
|
+
condition: '1=1'
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
let res = await this.$resetpost(
|
|
317
|
+
`rs/sql/getMaterialByType`,
|
|
318
|
+
{data: data},
|
|
319
|
+
{resolveMsg: null, rejectMsg: '物料查询失败!!!'}
|
|
320
|
+
)
|
|
321
|
+
|
|
322
|
+
res.data.forEach(item => {
|
|
323
|
+
this.materialList.push({
|
|
324
|
+
'label': `${item.f_material_name}--${item.f_material_model}--${item.f_material_norm}--${item.f_unit}--${item.f_price}`,
|
|
325
|
+
'value': item
|
|
326
|
+
})
|
|
327
|
+
})
|
|
328
|
+
},
|
|
329
|
+
// 选择物料
|
|
330
|
+
async openShowMaterial () {
|
|
331
|
+
await this.getMaterialByType()
|
|
332
|
+
|
|
333
|
+
this.material = null
|
|
334
|
+
|
|
335
|
+
this.showMaterial = true
|
|
336
|
+
},
|
|
337
|
+
// 查询编号
|
|
338
|
+
async getTicketNumber () {
|
|
339
|
+
let data = {
|
|
340
|
+
tablename: 't_outbound_order',
|
|
341
|
+
condition: `f_ticket_number = '${this.model.f_ticket_number}'`
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
let res = await this.$resetpost(
|
|
345
|
+
`rs/sql/singleTable`,
|
|
346
|
+
{data: data},
|
|
347
|
+
{resolveMsg: null,rejectMsg: '票号查询失败!!!'}
|
|
348
|
+
)
|
|
349
|
+
|
|
350
|
+
if (res.data.length > 0) {
|
|
351
|
+
this.$showAlert('票号已经存在!!!', 'warning', 3000)
|
|
352
|
+
this.model.f_ticket_number = null
|
|
353
|
+
return
|
|
354
|
+
}
|
|
355
|
+
},
|
|
356
|
+
// 获取CEA
|
|
357
|
+
async getCEAList () {
|
|
358
|
+
let data = {
|
|
359
|
+
tablename: 't_apply',
|
|
360
|
+
condition: `f_cea_number is not null and f_sub_state != '完工'`
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
let res = await this.$resetpost(
|
|
364
|
+
`rs/sql/singleTable`,
|
|
365
|
+
{data: data},
|
|
366
|
+
{resolveMsg: null, rejectMsg: 'CEA号查询失败!!!'}
|
|
367
|
+
)
|
|
368
|
+
|
|
369
|
+
if (res.data.length <= 0) {
|
|
370
|
+
this.$showAlert('暂无工程!!!', 'warning', 3000)
|
|
371
|
+
return
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
res.data.forEach(item => {
|
|
375
|
+
this.ceaList.push({
|
|
376
|
+
'label': item.f_cea_number,
|
|
377
|
+
'value': {
|
|
378
|
+
id: item.id,
|
|
379
|
+
f_cea_number: item.f_cea_number,
|
|
380
|
+
f_entry_name: item.f_entry_name
|
|
381
|
+
}
|
|
382
|
+
})
|
|
383
|
+
})
|
|
384
|
+
}
|
|
385
|
+
},
|
|
386
|
+
events: {
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
</script>
|
|
390
|
+
|
|
391
|
+
<style scoped>
|
|
392
|
+
.item{
|
|
393
|
+
height: 40px;
|
|
394
|
+
margin-bottom: 20px;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
th{
|
|
398
|
+
font-size: 15px !important;
|
|
399
|
+
text-align: center !important;
|
|
400
|
+
background-color: #dfedfb!important;
|
|
401
|
+
color: #666666 !important;
|
|
402
|
+
font-family: PINGFANG-BOLD !important;
|
|
403
|
+
font-weight: normal!important;
|
|
404
|
+
}
|
|
405
|
+
/*清除model中的浮动*/
|
|
406
|
+
.clearfix:after,.clearfix:before{
|
|
407
|
+
display: table;
|
|
408
|
+
}
|
|
409
|
+
.clearfix:after{
|
|
410
|
+
clear: both;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
.input_view{
|
|
414
|
+
padding: 8px;
|
|
415
|
+
background-color: #ffffff;
|
|
416
|
+
border-radius: 2px;
|
|
417
|
+
border: solid 1px #c7c7c7!important;
|
|
418
|
+
color: #333333!important;
|
|
419
|
+
font-size: 15px!important;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
.input_view[readonly]{
|
|
423
|
+
border: 1px solid #DDD!important;
|
|
424
|
+
/*background-color: #F5F5F5;*/
|
|
425
|
+
color:#ACA899!important;
|
|
426
|
+
}
|
|
427
|
+
.input_view:disabled{
|
|
428
|
+
border: 1px solid #DDD!important;
|
|
429
|
+
/*background-color: #F5F5F5;*/
|
|
430
|
+
color:#ACA899!important;
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
.control-label-justify {
|
|
434
|
+
display: inline-block;
|
|
435
|
+
vertical-align: top;
|
|
436
|
+
width: 110px;
|
|
437
|
+
text-align: justify;
|
|
438
|
+
font-family: PingFang-SC-Bold;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
.control-label-justify::after {
|
|
442
|
+
content: "";
|
|
443
|
+
display: inline-block;
|
|
444
|
+
width: 70px;
|
|
445
|
+
overflow: hidden;
|
|
446
|
+
height: 0;
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
input::-webkit-outer-spin-button,
|
|
450
|
+
input::-webkit-inner-spin-button {
|
|
451
|
+
-webkit-appearance: none;
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
input[type="number"] {
|
|
455
|
+
-moz-appearance: textfield;
|
|
456
|
+
}
|
|
457
|
+
</style>
|