|
1
2
3
4
|
<!DOCTYPE HTML>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<meta charset="utf-8">
<head th:include="include :: header"></head>
|
|
5
6
|
<body class="white-bg">
<!--<div class="container-div">-->
|
|
7
8
9
10
11
12
|
<div class="row">
<div class="col-sm-12 select-info">
<form id="inventory-form">
<div class="select-list">
<ul>
<li>
|
|
13
|
库存头ID:<input id="inventoryHeaderId" type="text" name="inventoryHeaderId"/>
|
|
14
15
|
</li>
<li>
|
|
16
|
库位编号:<input id="locationCode" type="text" name="locationCode"/>
|
|
17
18
|
</li>
<li>
|
|
19
|
容器编号:<input id="containerCode" type="text" name="containerCode"/>
|
|
20
21
|
</li>
<li>
|
|
22
|
物料编码:<input type="text" name="materialCode"/>
|
|
23
24
25
26
27
|
</li>
<li>
物料名称:<input type="text" name="materialName"/>
</li>
<li>
|
|
28
29
30
|
物料规格:<input type="text" name="materialSpec"/>
</li>
<li>
|
|
31
|
库存状态:
|
|
32
|
<select name="inventorySts" th:with="inventoryStatus=${@dict.getType('inventorySts')}">
|
|
33
34
|
<option value="">所有</option>
<option th:each="e : ${inventoryStatus}" th:text="${e['dictLabel']}"
|
|
35
36
|
th:value="${e['dictValue']}">
</option>
|
|
37
38
39
40
41
|
</select>
</li>
<li>
供应商编码:<input type="text" name="supplierCode"/>
</li>
|
|
42
|
<li>
|
|
43
44
45
46
47
|
货主:
<select id="companyCode" name="companyCode" th:with="list=${@companyService.getCode()}">
<option value="">所有</option>
<option th:each="item : ${list}" th:text="${item['name']}" th:value="${item['code']}" th:attr = " code = ${item['code']}"></option>
</select>
|
|
48
49
50
51
52
53
54
55
56
57
58
59
60
|
</li>
<li>
上游单号:<input type="text" name="referCode"/>
</li>
<li>
上游行号:<input type="text" name="referDetailId"/>
</li>
<li>
入库编码:<input type="text" name="receiptCode"/>
</li>
<li>
入库明细ID:<input type="text" name="receiptDetailId"/>
</li>
|
|
61
|
|
|
62
|
<li>
|
|
63
|
项 目 号:<input type="text" name="projectNo"/>
|
|
64
65
|
</li>
<li>
|
|
66
67
68
69
|
批 次:<input type="text" name="batch"/>
</li>
<li>
批 号:<input type="text" name="lot"/>
|
|
70
|
</li>
|
|
71
|
|
|
72
|
<li class="time2" style="height:30px">
|
|
73
74
|
<label>创建时间: </label>
<input type="text" class="time-input" id="startTime" placeholder="开始时间"
|
|
75
|
name="createdBegin"/>
|
|
76
77
|
<span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间"
|
|
78
|
name="createdEnd"/>
|
|
79
80
81
82
|
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
class="fa fa-search"></i> 搜索</a>
|
|
83
|
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('inventory-form')"><i class="fa fa-refresh"></i> 重置</a>
|
|
84
85
86
87
88
89
|
<!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventory:export"><i class="fa fa-download"></i> 导出</a>-->
</li>
</ul>
</div>
</form>
</div>
|
|
90
91
|
<div class="btn-group hidden-xs" id="toolbar" role="group">
<a class="btn btn-outline btn-primary btn-rounded" onclick="checkOut()"
|
|
92
|
shiro:hasPermission="inventory:inventoryHeader:seeOut">
|
|
93
94
|
<i class="fa fa-eye"></i> 出库查看
</a>
|
|
95
|
<a class="btn btn-outline btn-danger btn-rounded" onclick="check()"
|
|
96
|
shiro:hasPermission="inventory:inventoryDetail:detailCheckTask">
|
|
97
98
|
<i class="fa fa-eye"></i> 在库质检
</a>
|
|
99
100
101
|
<a class="btn btn-outline btn-danger btn-rounded" onclick="report()">
<i class="fa fa-eye"></i> 打印
</a>
|
|
102
|
<a class="btn btn-outline btn-success btn-rounded" onclick="addLockingWorkOrder()">
|
|
103
104
105
106
107
108
109
|
<i class="fa fa-plus"></i>分配工作令和数量
</a>
<a class="btn btn-outline btn-primary btn-rounded auto-shipment" onclick="lockWork()">
<i class="fa fa-code-fork"></i> 添加工作令
</a>
<a class="btn btn-outline btn-primary btn-rounded auto-shipment" onclick="lockWork2()">
<i class="fa fa-code-fork"></i> 清除工作令
|
|
110
|
</a>
|
|
111
|
</div>
|
|
112
|
<div class="tab-pane fade in active" id="tabDetail"></div>
|
|
113
|
<div class="col-sm-12 select-info">
|
|
114
|
<table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover text-nowrap"></table>
|
|
115
|
</div>
|
|
116
|
</div>
|
|
117
118
|
<div th:include="include :: footer"></div>
<script th:inline="javascript">
|
|
119
|
var prefix = ctx + "inventory/inventoryDetail";
|
|
120
|
var prefix_InventoryHeader = ctx + "inventory/inventoryHeader";
|
|
121
|
var inventoryStatus = [[${@dict.getType('inventorySts')}]];
|
|
122
|
var inventoryLock = [[${@dict.getType('inventoryLock')}]];
|
|
123
|
var company =[[${@companyService.getCode()}]];
|
|
124
|
var uWarehouseNames = [[${@warehouseWu.getName()}]];
|
|
125
|
$(function () {
|
|
126
127
128
129
130
|
update();
});
function update() {
let options = {
|
|
131
|
url : prefix + "/inventoryDetailLook",
|
|
132
133
134
135
136
137
138
139
140
141
142
|
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
modalName: "库存明细",
sortable: true, // 是否启用排序
sortStable: true, // 设置为 true 将获得稳定的排序
sortName: "id",
sortOrder: "desc",
search: false,
columns: [
{
|
|
143
|
checkbox: true
|
|
144
145
146
147
|
},
{
field: 'id',
title: '明细ID',
|
|
148
|
// sortable: true
|
|
149
150
151
|
},
{
field: 'inventoryHeaderId',
|
|
152
|
title: '库存头ID',
|
|
153
154
|
sortable: true,
visible: false
|
|
155
156
|
},
{
|
|
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
|
field: 'companyCode',
title: '货主',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
$.each(company, function(index, dict) {
if (dict.code == value) {
actions.push("<span class='badge badge-info'>" + dict.name + "</span>");
return false;
}
});
return actions.join('');
}
},
{
|
|
172
173
174
|
field: 'locationCode',
title: '库位编号'
},
|
|
175
|
{
|
|
176
177
|
field: 'containerCode',
title: '容器编号'
|
|
178
179
|
},
{
|
|
180
|
field: 'materialCode',
|
|
181
|
title: '物料编码'
|
|
182
183
184
|
},
{
|
|
185
186
|
field: 'materialName',
title: '物料名称'
|
|
187
188
|
},
{
|
|
189
190
|
field: 'materialSpec',
title: '物料规格'
|
|
191
192
|
},
{
|
|
193
194
|
field: 'materialUnit',
title: '物料单位'
|
|
195
196
|
},
{
|
|
197
|
field: 'qty',
|
|
198
199
200
|
title: '库存数量'
},
{
|
|
201
202
|
field: 'batch',
title: '批次',
|
|
203
|
visible: false
|
|
204
205
206
207
|
},
{
field: 'lot',
title: '批号',
|
|
208
|
visible: false
|
|
209
210
211
212
|
},
{
field: 'projectNo',
title: '项目号',
|
|
213
|
visible: false
|
|
214
215
|
},
{
|
|
216
217
218
219
220
221
|
field: 'inventorySts',
title: '库存状态',
align: 'center',
formatter: function (value, row, index) {
return $.table.selectDictLabel(inventoryStatus, value);
}
|
|
222
|
},
|
|
223
224
225
226
227
|
{
field: 'taskQty',
title: '预定执行数量'
},
{
|
|
228
229
230
231
|
field: 'days',
title: '库龄'
},
{
|
|
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
|
field : 'moCode',
title : '工作令号',
// sortable:true
},
{
field: 'uWarehouseCode',
title: 'U8仓库',
align: 'center',
// sortable: true,
formatter: function (value, row, index) {
var actions = [];
$.each(uWarehouseNames, function (index, dict) {
if (dict.uWarehouseCode == value) {
actions.push("<span class='badge badge-info'>" + dict.uWarehouseName + "</span>");
return false;
}
});
return actions.join('');
}
},
{
|
|
253
|
field: 'lockedQty',
|
|
254
255
|
title: '冻结数量',
visible: false
|
|
256
257
258
|
},
{
field: 'receiptCode',
|
|
259
260
|
title: '入库单编码',
visible: false
|
|
261
262
263
264
|
},
{
field: 'receiptDetailId',
title: '入库单明细ID',
|
|
265
|
visible: false
|
|
266
267
|
},
{
|
|
268
269
|
field: 'lockCode',
title: '库存锁状态',
|
|
270
|
visible: false,
|
|
271
272
273
274
275
|
formatter: function (value, row, index) {
return $.table.selectDictLabel(inventoryLock, value);
}
},
{
|
|
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
|
field: 'supplierCode',
title: '供应商编码',
visible: true
},
{
field: 'manufactureDate',
title: '生产日期',
sortable: true,
visible: false
},
{
field: 'expirationDate',
title: '失效日期',
sortable: true,
visible: false
},
|
|
292
|
|
|
293
294
|
{
field: 'referCode',
|
|
295
296
|
title: '上游单号',
visible: false
|
|
297
298
299
|
},
{
field: 'referDetailId',
|
|
300
301
|
title: '上游单号行号',
visible: false
|
|
302
303
304
|
},
{
field: 'qcCheck',
|
|
305
306
|
title: '质检',
visible: false
|
|
307
308
309
|
},
{
field: 'weight',
|
|
310
311
|
title: '重量',
visible: false
|
|
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
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
|
},
{
field: 'attributeId',
title: '属性号',
visible: false
},
{
field: 'attribute1',
title: '属性1',
visible: false
},
{
field: 'attribute2',
title: '属性2',
visible: false
},
{
field: 'attribute3',
title: '属性3',
visible: false
},
{
field: 'lastCycleCountDate',
title: '上次盘点日期',
visible: false,
sortable: true
},
{
field: 'created',
title: '入库日期',
sortable: true
},
{
field: 'createdBy',
title: '创建用户',
visible: false
},
{
field: 'lastUpdated',
title: '最后修改时间',
sortable: true
},
{
field: 'lastUpdatedBy',
title: '更新用户'
},
{
field: 'userDef1',
title: '自定义字段1',
visible: false
},
{
field: 'userDef2',
title: '自定义字段2',
visible: false
},
{
field: 'userDef3',
title: '自定义字段3',
visible: false
}
]
|
|
374
375
376
|
},
url = location.search.substr(1);
|
|
377
378
379
380
381
382
383
384
|
let strs = url.split("&");
$("#inventoryHeaderId").val(strs[0]);
$("#locationCode").val(strs[1]);
$("#containerCode").val(strs[2]);
if (location.search.indexOf("?") === -1) {
$.table.init(options);
}
else{
|
|
385
386
387
388
389
390
391
392
393
394
395
|
options.queryParams=function(params) {
return {
// 传递参数查询参数
inventoryHeaderId: strs[0],
pageSize: params.limit,
pageNum: params.offset / params.limit + 1,
searchValue: params.search,
orderByColumn: params.sort,
isAsc: params.order
};
};
|
|
396
397
|
$.table.init(options);
}
|
|
398
399
|
}
|
|
400
401
402
403
404
405
|
function checkOut() {
var rows = $("#bootstrap-table").bootstrapTable('getSelections');
if (rows.length == 0) {
$.modal.alertWarning("请至少选择一条记录");
return;
}
|
|
406
407
|
var url = prefix_InventoryHeader + "/checkOut/"+rows[0].inventoryHeaderId;
$.modal.open("出库查看", url)
|
|
408
|
}
|
|
409
410
411
412
413
414
415
416
417
|
//
// function checkOut() {
// let rows = $("#bootstrap-table").bootstrapTable('getSelections')
// if (rows.length != 1) {
// $.modal.alertWarning("请选择一条记录");
// return;
// }
// $.modal.open("出库查看", prefix+"/checkOut/"+rows[0].id)
// }
|
|
418
|
|
|
419
420
421
422
423
424
425
426
427
428
429
430
431
432
|
function report() {
var rows=$("#bootstrap-table").bootstrapTable('getSelections');
if (rows.length == 0) {
$.modal.alertWarning("请至少选择一条记录");
return;
}
var ids = "";
for(var i=0; i<rows.length; i++) {
ids = ids + rows[i].id + ","
}
let url=prefix+'/report/' + ids;
$.modal.open("库存打印",url);
}
|
|
433
434
435
436
437
438
439
440
441
442
443
444
445
446
|
//在库质检
function check() {
var rows = $("#bootstrap-table").bootstrapTable('getSelections');
if (rows.length == 0) {
$.modal.alertWarning("请至少选择一条记录");
return;
}
var url = prefix + "/detailCheckTask";
var data = {
"ids": rows[0].id
};
localSubmit(url, "post", "json", data);
}
|
|
447
448
449
450
451
452
453
454
|
function localSubmit(url, type, dataType, data) {
$.modal.loading("正在处理中,请稍后...");
var config = {
url: url, type: type, dataType: dataType, data: data, success: function (result) {
if (result.code == web_status.SUCCESS) {
$.modal.msgSuccess(result.msg);
} else {
$.modal.alertError(result.msg)
|
|
455
|
}
|
|
456
457
458
459
460
|
$.modal.closeLoading()
}
};
$.ajax(config)
}
|
|
461
|
|
|
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
|
function addLockingWorkOrder() {
var rows=$("#bootstrap-table").bootstrapTable('getSelections');
if (rows.length == 0) {
$.modal.alertWarning("请至少选择一条记录");
return;
}
if (rows.length > 1) {
$.modal.alertWarning("请选择一条记录");
return;
}
var ids = "";
for(var i=0; i<rows.length; i++) {
ids = ids + rows[i].id + ","
}
let url=prefix+'/addLockingWorkOrder/' + ids;
$.modal.open("修改",url);
}
|
|
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
|
function lockWork() {
var rows=$("#bootstrap-table").bootstrapTable('getSelections');
if (rows.length == 0) {
$.modal.alertWarning("请至少选择一条记录");
return;
}
if (rows.length > 1) {
$.modal.alertWarning("请选择一条记录");
return;
}
var ids = "";
for(var i=0; i<rows.length; i++) {
ids = ids + rows[i].id + ","
}
let url=prefix+'/lockingWorkOrder/' + ids;
$.modal.open("修改",url);
}
function lockWork2() {
var rows=$("#bootstrap-table").bootstrapTable('getSelections');
if (rows.length == 0) {
$.modal.alertWarning("请至少选择一条记录");
return;
}
if (rows.length > 1) {
$.modal.alertWarning("请选择一条记录");
return;
}
var ids = "";
for(var i=0; i<rows.length; i++) {
ids = ids + rows[i].id + ","
}
let url=prefix+'/lockingWorkOrder2';
var data = { "ids": rows.map(function(v){return v.id;}).join(',') };
localSubmit(url, "post", "json", data);
}
function add() {
var rows=$("#bootstrap-table").bootstrapTable('getSelections');
if (rows.length == 0) {
$.modal.alertWarning("请至少选择一条记录");
return;
}
if (rows.length > 1) {
$.modal.alertWarning("请选择一条记录");
return;
}
var ids = "";
for(var i=0; i<rows.length; i++) {
ids = ids + rows[i].id + ","
}
let url=prefix+'/addLockingWorkOrder/' + ids;
$.modal.open("修改",url);
}
|
|
534
|
</script>
|
|
535
536
|
</body>
</html>
|