1
2
3
4
5
6
7
8
9
10
11
12
<!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>
<body class= "gray-bg" >
<div class= "container-div" >
<div class= "row" >
<div class= "col-sm-12 select-info" >
<form id= "material-form" >
<div class= "select-list" >
<ul>
<li>
13
物料编码:<input type= "text" name= "code" />
14
15
16
17
18
</li>
<li>
名称:<input type= "text" name= "name" />
</li>
<li>
19
规格:<input type= "text" name= "spec" />
20
21
</li>
<li>
22
物料类别:<select name= "type" th:with= "type=${@materialType.list()}" >
23
<option value= "" > 所有</option>
24
<option th:each= "e : ${type}" th:text= "${e['name']}" th:value= "${e['code']}" ></option>
25
26
27
28
</select>
</li>
<li class= "time" >
<label> 创建时间: </label>
29
<input type= "text" class= "time-input" id= "startTime" placeholder= "开始时间" name= "createdBegin" />
30
<span> -</span>
31
<input type= "text" class= "time-input" id= "endTime" placeholder= "结束时间" name= "createdEnd" />
32
33
34
</li>
<li>
<a class= "btn btn-primary btn-rounded btn-sm" onclick= "$.table.search()" ><i class= "fa fa-search" ></i> 搜索</a>
35
<a class= "btn btn-warning btn-rounded btn-sm" onclick= "$.form.reset('material-form')" ><i class= "fa fa-refresh" ></i> 重置</a>
36
<!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="config:material:export"><i class="fa fa-download"></i> 导出</a>-->
37
38
39
40
41
42
43
</li>
</ul>
</div>
</form>
</div>
<div class= "btn-group hidden-xs" id= "toolbar" role= "group" >
44
<a class= "btn btn-outline btn-success btn-rounded" onclick= "$.operate.add()" shiro:hasPermission= "config:material:add" >
45
46
<i class= "fa fa-plus" ></i> 新增
</a>
47
48
49
<a class= "btn btn-outline btn-success btn-rounded" onclick= "batEdit()" shiro:hasPermission= "config:material:add" >
<i class= "fa fa-edit" ></i> 批量编辑
</a>
50
<a class= "btn btn-outline btn-danger btn-rounded" onclick= "$.operate.batRemove()" shiro:hasPermission= "config:material:remove" >
51
52
<i class= "fa fa-trash-o" ></i> 删除
</a>
53
54
55
<a class= "btn btn-outline btn-info btn-rounded" onclick= "$.table.importExcel()" >
<i class= "fa fa-upload" ></i> 导入
</a>
56
<a class= "btn btn-outline btn-success btn-rounded" onclick= "$.operate.batPrint()" >
57
58
<i class= "fa fa-plus" ></i> 打印
</a>
59
60
61
</div>
<div class= "col-sm-12 select-info" >
62
<table id= "bootstrap-table" data-mobile-responsive= "true" class= "table table-bordered table-hover text-nowrap" ></table>
63
64
65
66
67
</div>
</div>
</div>
<div th:include= "include :: footer" ></div>
<script th:inline= "javascript" >
68
69
70
var editFlag = [[${@permission.hasPermi('config:material:edit')}]];
var removeFlag = [[${@permission.hasPermi('config:material:remove')}]];
var prefix = ctx + "config/material";
71
var datas = [[${@dict.getType('sys_normal_disable')}]];
72
var mType = [[${@materialType.queryType()}]];
73
74
75
76
77
78
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
79
printUrl: prefix + "/print",
80
81
importTemplateUrl: prefix + "/importTemplate",
importUrl: prefix+"/importData",
82
83
84
85
86
87
88
89
modalName: "物料",
search: false,
sortName: "id",
sortOrder: "desc",
columns: [{
checkbox: true
},
{
huhai
authored
5 years ago
90
91
92
93
94
95
96
97
98
99
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
// actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
return actions.join('');
}
},
{
100
field : 'id',
huhai
authored
5 years ago
101
102
title : 'id',
visible: false
103
104
105
},
{
field : 'code',
106
title : '物料编码'
107
108
109
110
111
112
},
{
field : 'type',
title : '物料类别' ,
align: 'center',
formatter: function(value, row, index) {
113
114
115
116
117
118
119
120
var actions = [];
$.each(mType, function(index, dict) {
if (dict.code == value) {
actions.push("<span class='badge badge-" + dict.code + "'>" + dict.name + "</span>");
return false;
}
});
return actions.join('');
121
122
}
},
123
124
125
126
127
{
field : 'abcClass',
title : 'ABC分类' ,
align: 'center',
},
128
129
130
131
132
{
field : 'name',
title : '名称'
},
{
133
field : 'spec',
134
135
136
title : '规格'
},
{
137
138
field : 'unit',
title : '单位' ,
139
140
141
visible:false
},
{
142
143
field : 'daysToExpire',
title : '保质期(天)' ,
144
145
146
visible:false
},
{
147
148
field : 'locatingRule',
title : '定位规则',
149
150
},
{
151
152
field : 'allocationRule',
title : '分配规则' ,
153
154
},
{
155
156
field : 'replenishmentRule',
title : '补货规则' ,
157
158
},
{
159
160
field : 'emptyLocRule',
title : '空货位规则' ,
161
162
},
{
163
164
field : 'receivingFlow',
title : '入库流程' ,
165
166
},
{
167
168
field : 'shippingFlow',
title : '出库流程' ,
169
170
},
{
171
172
173
174
175
176
177
178
179
field : 'attributeTemplateCode',
title : '属性模板' ,
},
{
field : 'trackSerialNum',
title : '记录序列号' ,
},
{
field : 'autoGenSerialNum',
180
181
182
183
184
185
186
187
188
189
190
title : '自动生成序列号',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
if (value == 0){
actions.push("<span class='badge badge-primary'>自动生成</span>");
} else {
actions.push("<span class='badge badge-primary'>不自动生成</span>");
}
return actions.join('');
}
191
192
193
194
195
196
197
198
199
200
201
202
},
{
field : 'autoGenSerialNumFormat',
title : '自动生成序列号表达式' ,
},
{
field : 'snTemplateCode',
title : '序列号模板' ,
},
{
field : 'expiringDays',
title : '临期预警天数' ,
203
204
205
visible:false
},
{
206
207
field : 'minShelfLifeDays',
title : '收货预警天数' ,
208
209
visible:false
},
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
// {
// field : "version",
// title: "数据版本"
// },
// {
// field : 'created',
// title : '创建时间'
// },
// {
// field : 'createdBy',
// title : '创建用户'
// },
// {
// field : 'lastUpdated',
// title : '更新时间'
// },
// {
// field : 'lastUpdatedBy',
// title : '更新用户'
// },
230
231
{
field : 'enable',
232
title : '状态' ,
233
234
235
236
237
align: 'center',
formatter: function(value, row, index) {
return $.table.selectDictLabel(datas, value);
}
},
238
239
240
241
242
243
244
{
field: 'isMix',
title: '是否允许混放',
align: 'center',
formatter: function (value, row, index) {
return $.table.selectLogicLabel(value);
}
245
}]
246
247
248
};
$.table.init(options);
});
249
250
251
252
253
254
255
256
257
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++) {
258
ids = ids + rows[i].id + "," // 物料编码id
259
260
}
let url=prefix+'/print/' + ids;
261
262
263
// 打印参数表示打印的加载窗口该窗口显示spring返回的页面
$.modal.open("打印", url); // 该页面打开print.html之后在进行调用改方法
264
}
265
266
267
268
269
270
271
272
273
274
function batEdit() {
let rows = $.table.selectColumns("id");
if (rows.length == 0) {
$.modal.alertWarning("请至少选择一条记录");
return;
} else {
$.modal.open("修改物料", prefix+"/editBatch/"+rows.join(","));
}
}
275
</script>
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
<!-- 导入区域 -->
<script id= "importTpl" type= "text/template" >
<form enctype="multipart/form-data" class="mt20 mb10">
<div class="col-xs-offset-1">
<input type="file" id="file" name="file"/>
<div class="mt10 pt5">
<a onclick="$.table.importTemplate()" class="btn btn-default btn-xs"><i class="fa fa-file-excel-o"></i> 下载模板</a>
</div>
<font color="red" class="pull-left mt10">
提示:仅允许导入“xls”或“xlsx”格式文件!
</font>
</div>
</form>
</script>
291
292
</body>
</html>