|
1
|
<!DOCTYPE HTML>
|
|
2
3
4
5
6
7
8
|
<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>
<body class="white-bg">
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 select-info">
|
|
9
|
<div class="select-list">
|
|
10
|
<form id="adjustDetail-form">
|
|
11
12
|
<ul>
<li>
|
|
13
|
调整主单编码:<input type="text" id="adjustCode" name="adjustCode" th:value="${adjustCode}" readonly="readonly"/>
|
|
14
15
16
17
18
19
20
21
|
</li>
<li>
调整单明细ID:<input id="id" type="text" name="id"/>
</li>
<li>
货主编码:<input id="companyCode" type="text" name="companyCode"/>
</li>
<li>
|
|
22
|
盘点单编码:<input id="cycleCountHeaderCode" type="text" name="cycleCountHeaderCode"/>
|
|
23
24
|
</li>
<li>
|
|
25
|
盘点明细ID:<input id="cycleCountDetailId" type="text" name="cycleCountDetailId"/>
|
|
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
</li>
<li>
质检单编码:<input id="checkCode" type="text" name="checkCode"/>
</li>
<li>
属性号:<input id="attributeId" type="text" name="attributeId"/>
</li>
<li>
质检单明细ID:<input id="checkDetailId" type="text" name="checkDetailId"/>
</li>
<li>
调整单关联单编码:<input id="referCode" type="text" name="referCode"/>
</li>
<li>
调整单关联明细行号:<input id="referDetailId" type="text" name="referDetailId"/>
</li>
<li>
容器:<input id="containerCode" type="text" name="containerCode"/>
</li>
<li>
库位:<input id="locationCode" type="text" name="locationCode"/>
</li>
<li>
物料编码:<input id="materialCode" type="text" name="materialCode"/>
</li>
<li>
物料名称:<input id="materialName" type="text" name="materialName"/>
</li>
<li>
物料规格:<input id="materialSpec" type="text" name="materialSpec"/>
</li>
<li>
|
|
58
59
|
调整类型:<select name="problemType"
th:with="problemType=${@dict.getType('adjustType')}">
|
|
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
<option value="">所有</option>
<option th:each="e : ${problemType}" th:text="${e['dictLabel']}"
th:value="${e['dictValue']}"></option>
</select>
</li>
<li>
调整明细状态:<select name="status"
th:with="status=${@dict.getType('cyclecountStatus')}">
<option value="">所有</option>
<option th:each="e : ${status}" th:text="${e['dictLabel']}"
th:value="${e['dictValue']}"></option>
</select>
</li>
<li>
创建人:<input id="createdBy" type="text" name="createdBy"/>
</li>
<li class="time">
<label>创建时间: </label>
<input type="text" class="time-input" id="startTime" placeholder="开始时间"
name="createdBegin"/>
<span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间"
name="createdEnd"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
class="fa fa-search"></i> 搜索</a>
|
|
88
|
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('adjustDetail-form')"><i class="fa fa-refresh"></i> 重置</a>
|
|
89
90
91
|
</li>
</ul>
</form>
|
|
92
93
|
</div>
</div>
|
|
94
|
<div class="btn-group hidden-xs" id="toolbar" role="group">
|
|
95
96
|
<a class="btn btn-outline btn-success btn-rounded" onclick="add()"
shiro:hasPermission="inventory:adjustDetail:add" >
|
|
97
|
<i class="fa fa-plus"></i> 新增
|
|
98
|
</a>
|
|
99
100
|
<a class="btn btn-outline btn-primary btn-rounded" onclick="agree()"
shiro:hasPermission="inventory:adjustDetail:adjustAgree" >
|
|
101
|
<i class="fa fa-edit"></i> 审批
|
|
102
|
</a>
|
|
103
104
|
<a class="btn btn-outline btn-danger btn-rounded" onclick="addAdjust()"
shiro:hasPermission="inventory:adjustDetail:addAdjust">
|
|
105
|
<i class="fa fa-vcard"></i>调整
|
|
106
|
</a>
|
|
107
108
109
|
<!--<a class="btn btn-outline btn-success btn-rounded" onclick="$.table.refresh()">
<i class="fa fa-refresh"></i> 刷新
</a>-->
|
|
110
111
112
113
114
115
|
</div>
<table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
</div>
</div>
<div th:include="include :: footer"></div>
<script th:inline="javascript">
|
|
116
117
|
var prefix = ctx + "inventory/adjustDetail";
var prefix_head = ctx + "inventory/adjustHeader";
|
|
118
|
var removes= [[${@permission.hasPermi('inventory:adjustDetail:remove')}]];
|
|
119
|
var edits= [[${@permission.hasPermi('inventory:adjustDetail:add')}]];
|
|
120
121
|
var type2 = [[${@dict.getType('adjustType')}]];
var adjustStatus = [[${@dict.getType('adjustStatus')}]];
|
|
122
|
var inventoryStatus = [[${@dict.getType('inventorySts')}]];
|
|
123
|
var created;
|
|
124
125
|
$(function () {
|
|
126
127
|
let adjustHeaderCode = null;
var options = {
|
|
128
|
url:prefix + "/list",
|
|
129
|
modalName: "调整单明细",
|
|
130
131
132
|
sortName: "id",
sortOrder: "desc",
search: false,
|
|
133
|
showRefresh: true,
|
|
134
135
136
|
onRefresh: function(){
update();
},
|
|
137
138
|
columns: [
{
|
|
139
|
checkbox: true
|
|
140
|
},
|
|
141
|
/*{
|
|
142
143
144
145
|
title: '调整操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
|
|
146
|
actions.push('<a class="btn btn-warning btn-xs " href="#" onclick="addAdjust(\'' + row.id + '\')"><i class="fa fa-send"></i> 调整</a> ');
|
|
147
148
|
return actions.join('');
}
|
|
149
|
},*/
|
|
150
|
{
|
|
151
152
|
field: 'id',
title: '明细id',
|
|
153
154
155
|
sortable: true
},
{
|
|
156
157
158
159
160
|
field: 'id',
title: '明细id',
visible: false
},
{
|
|
161
|
field: 'adjustCode',
|
|
162
163
|
title: '调整主单编码',
visible: true
|
|
164
165
|
},
{
|
|
166
|
field: 'inventoryDetailId',
|
|
167
|
title: '库存明细ID',
|
|
168
169
170
171
|
visible: true
},
{
|
|
172
173
|
field: 'warehouseCode',
title: '仓库',
|
|
174
175
176
177
|
visible: false
},
{
field: 'companyCode',
|
|
178
179
|
title: '货主',
visible: true
|
|
180
181
|
},
{
|
|
182
|
field: 'cycleCountHeaderCode',
|
|
183
|
title: '盘点单编码',
|
|
184
|
visible: true
|
|
185
186
|
},
{
|
|
187
|
field: 'cycleCountDetailId',
|
|
188
189
190
|
title: '盘点单明细ID',
sortable: true,
visible: true
|
|
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
|
},
{
field: 'locationCode',
title: '库位编号',
},
{
field: 'containerCode',
title: '容器编号',
},
{
field: 'materialCode',
title: '物料编码',
},
{
field: 'materialName',
title: '物料名称',
},
{
|
|
211
|
field: 'materialSpec',
|
|
212
213
214
215
|
title: '物料规格',
},
{
|
|
216
217
218
|
field: 'materialUnit',
title: '物料单位',
|
|
219
220
|
},
{
|
|
221
222
223
|
field: 'checkCode',
title: '质检单号',
visible: true
|
|
224
225
|
},
{
|
|
226
227
|
field: 'checkDetailId',
title: '质检单明细行号',
|
|
228
|
visible: true
|
|
229
230
|
},
{
|
|
231
232
233
|
field: 'referCode',
title: '调整单关联单号',
visible: true
|
|
234
235
|
},
{
|
|
236
237
|
field: 'referDetailId',
title: '调整单关联明细ID',
|
|
238
|
visible: true
|
|
239
240
|
},
{
|
|
241
242
|
field: 'problemType',
title: '调整类型',
|
|
243
244
245
246
247
248
|
align: 'center',
formatter: function (value, row, index) {
return $.table.selectDictLabel(type2, value);
},
visible: true,
//sortable: true
|
|
249
250
|
},
{
|
|
251
252
|
field: 'fromQty',
title: '调整前数量'
|
|
253
254
|
},
{
|
|
255
256
|
field: 'toQty',
title: '调整后数量'
|
|
257
258
|
},
{
|
|
259
260
|
field: 'gapQty',
title: '调整数量'
|
|
261
|
},
|
|
262
|
/* {
|
|
263
264
|
field: 'fromInventorySts',
title: '调整前状态',
|
|
265
266
267
|
formatter: function (value, row, index) {
return $.table.selectDictLabel(inventoryStatus, value);
},
|
|
268
|
visible: true
|
|
269
270
|
},
{
|
|
271
272
|
field: 'toInventorySts',
title: '调整后状态',
|
|
273
274
275
|
formatter: function (value, row, index) {
return $.table.selectDictLabel(inventoryStatus, value);
},
|
|
276
|
visible: true
|
|
277
|
},*/
|
|
278
|
{
|
|
279
280
281
|
field: 'attributeId',
title: '属性号',
sortable: true,
|
|
282
|
visible: false
|
|
283
|
|
|
284
285
|
},
{
|
|
286
287
288
|
field: 'supplierCode',
title: '供应商编码',
visible: true
|
|
289
290
|
},
{
|
|
291
292
293
|
field: 'agreeTime',
title: '审批时间',
sortable: true
|
|
294
295
|
},
{
|
|
296
297
|
field: 'agreeBy',
title: '审批人'
|
|
298
299
300
|
},
{
field: 'status',
|
|
301
|
title: '调整状态',
|
|
302
|
formatter: function (value, row, index) {
|
|
303
|
return $.table.selectDictLabel(adjustStatus, value);
|
|
304
|
},
|
|
305
306
307
|
sortable: true
},
{
|
|
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
|
field: 'batch',
title: '批次',
visible: true
},
{
field: 'lot',
title: '批号',
visible: true
},
{
field: 'projectNo',
title: '项目号',
visible: true
},
{
field: 'weight',
title: '重量',
visible: true
},
{
field: 'manufactureDate',
title: '生产日期',
|
|
330
|
visible: false
|
|
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
|
},
{
field: 'expirationDate',
title: '失效日期',
visible: true
},
{
field: 'created',
title: '创建时间',
sortable: true
},
{
field: 'createdBy',
title: '创建用户'
},
{
|
|
348
349
350
351
352
353
354
355
356
357
358
359
360
361
|
field: 'Remark',
title: '备注',
visible: true
},
{
field: 'version',
title: '数据版本',
visible: false
},
{
field: 'processStamp',
title: '处理标记',
visible: false
},
|
|
362
363
364
365
366
|
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
|
|
367
|
actions.push('<a class="btn btn-success btn-xs ' + edits + ' " href="#" onclick="editAdjust(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>修改</a> ');
|
|
368
369
370
|
return actions.join('');
}
}
|
|
371
|
|
|
372
373
|
]
};
|
|
374
|
let url = location.search; //获取url中"?"符后的字串
|
|
375
|
if (url.indexOf("?") != -1) { //判断是否有参数
|
|
376
|
let str = url.substr(1); //从第一个字符开始 因为第0个是?号 获取所有除问号的所有符串
|
|
377
|
let strs = url.substr(1).split("=");
|
|
378
|
$("#adjustCode").val(strs[1]);
|
|
379
|
options.queryParams=function(params) {
|
|
380
|
|
|
381
382
|
return {
// 传递参数查询参数
|
|
383
|
adjustCode: strs[1],
|
|
384
385
386
387
388
389
390
|
pageSize: params.limit,
pageNum: params.offset / params.limit + 1,
searchValue: params.search,
orderByColumn: params.sort,
isAsc: params.order
};
};
|
|
391
|
adjustCode = str.split("=")[1];
|
|
392
393
394
395
|
$.table.init(options);
}
else{
$.table.init(options);
|
|
396
|
}
|
|
397
|
|
|
398
|
});
|
|
399
|
|
|
400
|
|
|
401
402
|
/*新增调整明细*/
function add() {
|
|
403
404
405
|
var adjustCode = $('#adjustCode').val();
if(adjustCode != null && adjustCode != "" && adjustCode != undefined){
open("新增调整明细", prefix+"/add?adjustCode=" + adjustCode);
|
|
406
407
408
|
}
}
|
|
409
410
411
412
413
414
|
/*修改调整明细*/
function editAdjust(id) {
if (id == '') {
$.modal.open("未选择出库单" , "404.html");
}
else {
|
|
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
|
var checkurl = prefix + "/check/" + id;
$.ajax({
url: checkurl,
type: "get",
success:function(reponse){
if(reponse.code==200){
var url = prefix + "/edit/" + id ;
$.modal.open("编辑明细" , url);
}else{
$.modal.alertError(reponse.msg)
}
},
error:function(){
$.modal.alertError("服务出错")
}
})
|
|
432
433
434
|
}
}
|
|
435
436
|
/*审批*/
function agree() {
|
|
437
438
|
var rows=$("#bootstrap-table").bootstrapTable('getSelections');
if (rows.length == 0) {
|
|
439
440
441
|
$.modal.alertWarning("请至少选择一条记录");
return;
}
|
|
442
|
$.modal.confirm("审批请谨慎核对数据!"
|
|
443
444
|
, function() {
var url = prefix + "/adjustAgree";
|
|
445
446
447
448
449
|
var ids = "";
for(var i = 0; i < rows.length; i++) {
ids = ids + rows[i].id + ","
}
var data = { "ids": ids.substring(0, ids.length-1) };
|
|
450
451
452
|
postInner(url, data);
});
}
|
|
453
|
|
|
454
|
/*调整*/
|
|
455
|
function addAdjust() {
|
|
456
|
var rows=$("#bootstrap-table").bootstrapTable('getSelections');
|
|
457
458
459
460
|
if (rows.length == 0) {
$.modal.alertWarning("请至少选择一条记录");
return;
}
|
|
461
|
$.modal.confirm("注意:该操作将更改库存数量或属性,当实盘数量为0且库位上只剩空容器时,请手动执行空托出库任务,容器上有货则无需其他操作!"
|
|
462
|
, function() {
|
|
463
|
var url = prefix + "/adjustEdit";
|
|
464
465
466
467
468
|
var ids = "";
for(var i = 0; i < rows.length; i++) {
ids = ids + rows[i].id + ","
}
var data = { "ids": ids.substring(0, ids.length-1) };
|
|
469
470
471
472
473
474
475
476
477
478
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
|
postInner(url, data);
});
}
function postInner(url,data) {
$.modal.loading("正在处理中,请稍后...");
$.ajax({
url:url,
type:"post",
data:data,
success:function (result) {
if (result.code == web_status.SUCCESS) {
$.modal.msgSuccess(result.msg);
$.table.refresh();
} else {
$.modal.alertError(result.msg);
}
$.modal.closeLoading();
}
})
}
/*单条删除*/
function remove(id) {
$.modal.confirm("确定删除该条" + $.table._option.modalName + "信息吗?", function() {
var url = prefix+"/remove";
var data = { "id": id };
$.ajax({
url: url,
type:"post",
data:data,
success:function (result) {
if (result.code == web_status.SUCCESS) {
$.modal.msgSuccess(result.msg);
$.table.refresh();
} else {
$.modal.alertError(result.msg);
}
$.modal.closeLoading();
}
})
|
|
510
|
});
|
|
511
|
}
|
|
512
|
|
|
513
|
//
|
|
514
|
function open(title, url, width, height) {
|
|
515
516
517
518
|
if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {
width = 'auto';
height = 'auto';
}
|
|
519
|
if (title == null) {
|
|
520
521
|
title = false;
}
|
|
522
523
|
if (url == null) {
url = "404.html";
|
|
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
|
}
if ($.common.isEmpty(width)) {
width = 800;
// width = ($(window).width() - 100);
}
if ($.common.isEmpty(height)) {
height = ($(window).height() - 50);
}
layer.open({
type: 2,
area: [width + 'px', height + 'px'],
fix: false,
//不固定
maxmin: true,
shade: 0.3,
title: title,
content: url
// shadeClose: true, //点击遮罩关闭层
})
}
</script>
</body>
</html>
|