material.html 8.03 KB
<!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>
								物料编码:<input type="text" name="code"/>
							</li>
							<li>
								名称:<input type="text" name="name"/>
							</li>
							<li>
								规格:<input type="text" name="spec"/>
							</li>
							<li>
								物料类别:<select name="type" th:with="type=${@materialType.list()}">
								<option value="">所有</option>
								<option th:each="e : ${type}" th:text="${e['name']}" th:value="${e['code']}"></option>
							</select>
							</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>&nbsp;搜索</a>
								<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('material-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
								<!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="config:material:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
							</li>
						</ul>
					</div>
				</form>
			</div>

		<div class="btn-group hidden-xs" id="toolbar" role="group">
			<a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="config:material:add">
				<i class="fa fa-plus"></i> 新增
			</a>
			<a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="config:material:remove">
				<i class="fa fa-trash-o"></i> 删除
			</a>
			<a class="btn btn-outline btn-info btn-rounded" onclick="$.table.importExcel()">
				<i class="fa fa-upload"></i> 导入
			</a>
			<a class="btn btn-outline btn-success btn-rounded" onclick="report()">
				<i class="fa fa-plus"></i> 打印
			</a>
		</div>
			
		<div class="col-sm-12 select-info">
			<table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover text-nowrap"></table>
		</div>
		</div>
    </div>
    <div th:include="include :: footer"></div>
    <script th:inline="javascript">
        var editFlag = [[${@permission.hasPermi('config:material:edit')}]];
        var removeFlag = [[${@permission.hasPermi('config:material:remove')}]];
        var prefix = ctx + "config/material";
        var datas = [[${@dict.getType('sys_normal_disable')}]];
        var mType = [[${@materialType.queryType()}]];
        $(function() {
            var options = {
                url: prefix + "/list",
                createUrl: prefix + "/add",
                updateUrl: prefix + "/edit/{id}",
                removeUrl: prefix + "/remove",
				importTemplateUrl: prefix + "/importTemplate",
				importUrl: prefix+"/importData",
                modalName: "物料",
                search: false,
                sortName: "id",
                sortOrder: "desc",
                columns: [{
		            checkbox: true
		        },
				{
					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('');
					}
				},
				{
					field : 'id',
					title : 'id',
					visible: false
				},
				{
					field : 'code',
					title : '物料编码'
				},
				{
					field : 'type', 
					title : '物料类别' ,
                    align: 'center',
                    formatter: function(value, row, index) {
						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('');
                    }
				},
				{
					field : 'abcClass',
					title : 'ABC分类' ,
					align: 'center',
				},
				{
					field : 'name', 
					title : '名称' 
				},
				{
					field : 'spec',
					title : '规格' 
				},
				{
					field : 'unit',
					title : '单位' ,
                    visible:false
				},
				{
					field : 'daysToExpire',
					title : '保质期(天)' ,
                    visible:false
				},
				{
					field : 'locatingRule',
					title : '定位规则',
				},
				{
					field : 'allocationRule',
					title : '分配规则' ,
				},
				{
					field : 'replenishmentRule',
					title : '补货规则' ,
				},
				{
					field : 'emptyLocRule',
					title : '空货位规则' ,
				},
				{
					field : 'receivingFlow',
					title : '入库流程' ,
				},
				{
					field : 'shippingFlow',
					title : '出库流程' ,
				},
				{
					field : 'attributeTemplateCode',
					title : '属性模板' ,
				},
				{
					field : 'trackSerialNum',
					title : '记录序列号' ,
				},
				{
					field : 'autoGenSerialNum',
					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('');
					}
				},
				{
					field : 'autoGenSerialNumFormat',
					title : '自动生成序列号表达式' ,
				},
				{
					field : 'snTemplateCode',
					title : '序列号模板' ,
				},
				{
					field : 'expiringDays',
					title : '临期预警天数' ,
                    visible:false
				},
				{
					field : 'minShelfLifeDays', 
					title : '收货预警天数' ,
                    visible:false
				},
				// {
				// 	field : "version",
				// 	title: "数据版本"
				// },
				// {
				// 	field : 'created',
				// 	title : '创建时间'
				// },
				// {
				// 	field : 'createdBy',
				// 	title : '创建用户'
				// },
				// {
				// 	field : 'lastUpdated',
				// 	title : '更新时间'
				// },
				// {
				// 	field : 'lastUpdatedBy',
				// 	title : '更新用户'
				// },
				{
					field : 'enable', 
					title : '状态'  ,
                    align: 'center',
                    formatter: function(value, row, index) {
                        return $.table.selectDictLabel(datas, value);
                    }
				},
				{
					field: 'isMix',
					title: '是否允许混放',
					align: 'center',
					formatter: function (value, row, index) {
						return $.table.selectLogicLabel(value);
					}
				}]
            };
            $.table.init(options);
        });

		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+'/print/' + ids;
			$.modal.open("打印",url);
		}
    </script>

	<!-- 导入区域 -->
	<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>
</body>
</html>