|
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
11
12
|
<form id="cycleHeader-form">
<ul>
<li>
|
huhai
authored
|
13
|
调整主单编码:<input type="text" id="adjustHeaderCode" name="adjustHeaderCode"/>
|
|
14
15
16
17
18
19
20
21
22
23
24
25
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>
调整单明细ID:<input id="id" type="text" name="id"/>
</li>
<li>
货主编码:<input id="companyCode" type="text" name="companyCode"/>
</li>
<li>
盘点单编码:<input id="cycleCountCode" type="text" name="cycleCountCode"/>
</li>
<li>
盘点明细状态:<input id="cycleDetailId" type="text" name="cycleDetailId"/>
</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
88
89
90
|
<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>
</li>
</ul>
</form>
|
|
91
92
|
</div>
</div>
|
|
93
|
<div class="btn-group hidden-xs" id="toolbar" role="group">
|
|
94
95
|
<a class="btn btn-outline btn-success btn-rounded" onclick="add()"
shiro:hasPermission="inventory:adjustDetail:add" >
|
|
96
|
<i class="fa fa-plus"></i> 新增
|
|
97
|
</a>
|
|
98
99
|
<a class="btn btn-outline btn-primary btn-rounded" onclick="agree()"
shiro:hasPermission="inventory:adjustDetail:adjustAgree" >
|
|
100
|
<i class="fa fa-edit"></i> 审批
|
|
101
|
</a>
|
|
102
103
|
<a class="btn btn-outline btn-danger btn-rounded" onclick="addAdjust()"
shiro:hasPermission="inventory:adjustDetail:addAdjust">
|
|
104
|
<i class="fa fa-vcard"></i>调整
|
|
105
|
</a>
|
|
106
107
108
|
<!--<a class="btn btn-outline btn-success btn-rounded" onclick="$.table.refresh()">
<i class="fa fa-refresh"></i> 刷新
</a>-->
|
|
109
110
111
112
113
114
|
</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">
|
|
115
116
|
var prefix = ctx + "inventory/adjustDetail";
var prefix_head = ctx + "inventory/adjustHeader";
|
|
117
|
var removes= [[${@permission.hasPermi('inventory:adjustDetail:remove')}]];
|
|
118
119
|
var type2 = [[${@dict.getType('adjustType')}]];
var adjustStatus = [[${@dict.getType('adjustStatus')}]];
|
|
120
121
|
var inventoryStatus = [[${@dict.getType('inventoryStatus')}]];
var created;
|
|
122
123
|
$(function () {
|
huhai
authored
|
124
|
let adjustHeaderCode=null;
|
|
125
126
|
let options = {
url:prefix + "/list",
|
|
127
|
modalName: "调整单明细",
|
|
128
129
130
|
sortName: "id",
sortOrder: "desc",
search: false,
|
|
131
|
showRefresh: true,
|
|
132
133
134
|
onRefresh: function(){
update();
},
|
|
135
136
|
columns: [
{
|
|
137
|
checkbox: true
|
|
138
|
},
|
|
139
|
/*{
|
|
140
141
142
143
|
title: '调整操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
|
|
144
|
actions.push('<a class="btn btn-warning btn-xs " href="#" onclick="addAdjust(\'' + row.id + '\')"><i class="fa fa-send"></i> 调整</a> ');
|
|
145
146
|
return actions.join('');
}
|
|
147
|
},*/
|
|
148
|
{
|
|
149
150
|
field: 'id',
title: '明细id',
|
|
151
152
153
|
sortable: true
},
{
|
huhai
authored
|
154
|
field: 'adjustHeaderCode',
|
|
155
156
|
title: '调整主单编码',
visible: true
|
|
157
158
|
},
{
|
|
159
160
161
162
163
164
|
field: 'inventoryDetailId',
title: '库存明细',
visible: true
},
{
|
|
165
166
|
field: 'warehouseCode',
title: '仓库',
|
|
167
168
169
170
171
172
173
|
visible: false
},
{
field: 'companyCode',
title: '货主'
},
{
|
|
174
|
field: 'cycleCountCode',
|
|
175
176
177
|
title: '盘点单编码',
},
{
|
|
178
179
180
181
|
field: 'cycleDetailId',
title: '盘点单明细ID',
sortable: true,
visible: true
|
|
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
|
},
{
field: 'locationCode',
title: '库位编号',
},
{
field: 'containerCode',
title: '容器编号',
},
{
field: 'materialCode',
title: '物料编码',
},
{
field: 'materialName',
title: '物料名称',
},
{
|
|
202
|
field: 'materialSpec',
|
|
203
204
205
206
|
title: '物料规格',
},
{
|
|
207
208
209
|
field: 'materialUnit',
title: '物料单位',
|
|
210
211
|
},
{
|
|
212
213
214
|
field: 'checkCode',
title: '质检单号',
visible: true
|
|
215
216
|
},
{
|
|
217
218
|
field: 'checkDetailId',
title: '质检单明细行号',
|
|
219
|
visible: true
|
|
220
221
|
},
{
|
|
222
223
224
|
field: 'referCode',
title: '调整单关联单号',
visible: true
|
|
225
226
|
},
{
|
|
227
228
|
field: 'referDetailId',
title: '调整单关联明细ID',
|
|
229
|
visible: true
|
|
230
|
},
|
|
231
|
|
|
232
|
{
|
|
233
234
|
field: 'problemType',
title: '调整类型',
|
|
235
236
237
238
239
240
|
align: 'center',
formatter: function (value, row, index) {
return $.table.selectDictLabel(type2, value);
},
visible: true,
//sortable: true
|
|
241
242
|
},
{
|
|
243
244
|
field: 'fromQty',
title: '调整前数量'
|
|
245
246
|
},
{
|
|
247
248
|
field: 'toQty',
title: '调整后数量'
|
|
249
250
|
},
{
|
|
251
252
|
field: 'gapQty',
title: '调整数量'
|
|
253
254
|
},
{
|
|
255
256
|
field: 'fromInventorySts',
title: '调整前状态',
|
|
257
258
259
|
formatter: function (value, row, index) {
return $.table.selectDictLabel(inventoryStatus, value);
},
|
|
260
|
visible: true
|
|
261
262
|
},
{
|
|
263
264
|
field: 'toInventorySts',
title: '调整后状态',
|
|
265
266
267
|
formatter: function (value, row, index) {
return $.table.selectDictLabel(inventoryStatus, value);
},
|
|
268
|
visible: true
|
|
269
270
|
},
{
|
|
271
272
273
|
field: 'attributeId',
title: '属性号',
sortable: true,
|
|
274
|
visible: false
|
|
275
|
|
|
276
277
|
},
{
|
|
278
279
280
|
field: 'supplierCode',
title: '供应商编码',
visible: true
|
|
281
282
|
},
{
|
|
283
284
285
|
field: 'agreeTime',
title: '审批时间',
sortable: true
|
|
286
287
|
},
{
|
|
288
289
|
field: 'agreeBy',
title: '审批人'
|
|
290
291
292
|
},
{
field: 'status',
|
|
293
|
title: '调整状态',
|
|
294
|
formatter: function (value, row, index) {
|
|
295
|
return $.table.selectDictLabel(adjustStatus, value);
|
|
296
|
},
|
|
297
298
299
|
sortable: true
},
{
|
|
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
331
332
333
334
335
336
337
338
339
|
field: 'batch',
title: '批次',
visible: true
},
{
field: 'lot',
title: '批号',
visible: true
},
{
field: 'projectNo',
title: '项目号',
visible: true
},
{
field: 'weight',
title: '重量',
visible: true
},
{
field: 'manufactureDate',
title: '生产日期',
visible: true
},
{
field: 'expirationDate',
title: '失效日期',
visible: true
},
{
field: 'created',
title: '创建时间',
sortable: true
},
{
field: 'createdBy',
title: '创建用户'
},
{
|
|
340
341
342
343
344
345
346
347
348
349
350
351
352
353
|
field: 'Remark',
title: '备注',
visible: true
},
{
field: 'version',
title: '数据版本',
visible: false
},
{
field: 'processStamp',
title: '处理标记',
visible: false
},
|
|
354
355
356
357
358
|
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
|
|
359
|
actions.push('<a class="btn btn-danger btn-xs ' + removes + ' " href="#" onclick="remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a> ');
|
|
360
361
362
|
return actions.join('');
}
}
|
|
363
|
|
|
364
365
|
]
};
|
|
366
|
let url = location.search; //获取url中"?"符后的字串
|
|
367
|
if (url.indexOf("?") != -1) { //判断是否有参数
|
|
368
|
let str = url.substr(1); //从第一个字符开始 因为第0个是?号 获取所有除问号的所有符串
|
|
369
|
let strs = url.substr(1).split("=");
|
huhai
authored
|
370
|
$("#adjustHeaderCode").val(strs[1]);
|
|
371
|
options.queryParams=function(params) {
|
|
372
|
|
|
373
374
|
return {
// 传递参数查询参数
|
huhai
authored
|
375
|
adjustHeaderCode: strs[1],
|
|
376
377
378
379
380
381
382
|
pageSize: params.limit,
pageNum: params.offset / params.limit + 1,
searchValue: params.search,
orderByColumn: params.sort,
isAsc: params.order
};
};
|
huhai
authored
|
383
|
adjustHeaderCode=str.split("=")[1];
|
|
384
385
386
387
|
$.table.init(options);
}
else{
$.table.init(options);
|
|
388
|
}
|
|
389
|
|
|
390
|
});
|
|
391
|
|
|
392
393
394
|
/*新增调整明细*/
function add() {
|
huhai
authored
|
395
|
var adjustCode = $('#adjustHeaderCode').val();
|
|
396
|
if(adjustCode !=null && adjustCode!="" && adjustCode!=undefined){
|
huhai
authored
|
397
|
open("新增调整明细", prefix+"/add?adjustHeaderCode=" + adjustCode);
|
|
398
399
400
|
}
}
|
|
401
402
403
404
405
406
407
|
/*审批*/
function agree() {
var rows = $.common.isEmpty($.table._option.id) ? $.table.selectFirstColumns() : $.table.selectColumns($.table._option.id);
if (rows.length == 0) {
$.modal.alertWarning("请至少选择一条记录");
return;
}
|
|
408
|
$.modal.confirm("审批请谨慎核对数据!"
|
|
409
410
411
412
413
414
|
, function() {
var url = prefix + "/adjustAgree";
var data = { "ids": rows.join() };
postInner(url, data);
});
}
|
|
415
|
|
|
416
|
/*调整*/
|
|
417
418
419
420
421
422
|
function addAdjust() {
var rows = $.common.isEmpty($.table._option.id) ? $.table.selectFirstColumns() : $.table.selectColumns($.table._option.id);
if (rows.length == 0) {
$.modal.alertWarning("请至少选择一条记录");
return;
}
|
|
423
|
$.modal.confirm("注意:该操作将更改库存数量或属性,当实盘数量为0且库位上只剩空容器时,请手动执行空托出库任务,容器上有货则无需其他操作!"
|
|
424
|
, function() {
|
|
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
|
var url = prefix + "/adjustEdit";
var data = { "ids": rows.join() };
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();
}
})
|
|
468
|
});
|
|
469
|
}
|
|
470
|
|
|
471
|
//
|
|
472
|
function open(title, url, width, height) {
|
|
473
474
475
476
|
if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {
width = 'auto';
height = 'auto';
}
|
|
477
|
if (title == null) {
|
|
478
479
|
title = false;
}
|
|
480
481
|
if (url == null) {
url = "404.html";
|
|
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
|
}
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>
|