From 3b41d1fa6a657f4785ac03aab864da45b9ef274f Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期六, 09 九月 2023 15:06:01 +0800
Subject: [PATCH] #
---
src/main/webapp/static/js/locDetlWarning/locDetlWarning.js | 10
src/main/webapp/views/home/map.html | 2
src/main/webapp/views/stockFreeze/stockFreeze.html | 417 ++++++++++++++++++++++++
src/main/java/com/zy/asrs/controller/NodeController.java | 37 +
src/main/webapp/static/js/stockFreeze/stockFreeze.js | 533 +++++++++++++++++++++++++++++++
5 files changed, 984 insertions(+), 15 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/NodeController.java b/src/main/java/com/zy/asrs/controller/NodeController.java
index ee53d3a..a818f8c 100644
--- a/src/main/java/com/zy/asrs/controller/NodeController.java
+++ b/src/main/java/com/zy/asrs/controller/NodeController.java
@@ -481,17 +481,36 @@
@RequestMapping(value = "/node/updateStatus")
@ManagerAuth(memo = "搴撲綅鍐荤粨")
- public R updateStockFreeze(Node node){
- if (Cools.isEmpty(node) || null==node.getName()){
- return R.error();
+ public R updateStockFreeze(@RequestParam String param){
+ List<Node> list = JSONArray.parseArray(param, Node.class);
+ if (Cools.isEmpty(list)){
+ return R.error("鏃犳暟鎹�");
}
- nodeService.updateStockFreeze(node.getName(), node.getStatus());
- if (node.getStatus() == 0){
- return R.ok(node.getName()+"鍐荤粨瀹屾垚");
- }else {
- return R.ok(node.getName()+"瑙e喕瀹屾垚");
- }
+ for (Node node : list){
+ node.setStatus(0);
+ if (nodeService.updateStockFreeze(node.getName(), node.getStatus()) != 1){
+ return R.error(node.getName()+"鍐荤粨澶辫触");
+ }
+ }
+ return R.ok("鍐荤粨鎴愬姛");
+ }
+
+ @RequestMapping(value = "/node/updateDisStatus")
+ @ManagerAuth(memo = "搴撲綅鍐荤粨")
+ public R updateStockDisFreeze(@RequestParam String param){
+ List<Node> list = JSONArray.parseArray(param, Node.class);
+ if (Cools.isEmpty(list)){
+ return R.error("鏃犳暟鎹�");
+ }
+ for (Node node : list){
+ node.setStatus(1);
+ if (nodeService.updateStockFreeze(node.getName(), node.getStatus()) != 1){
+ return R.error(node.getName()+"瑙i櫎鍐荤粨澶辫触");
+ }
+
+ }
+ return R.ok("瑙e喕鎴愬姛");
}
}
diff --git a/src/main/webapp/static/js/locDetlWarning/locDetlWarning.js b/src/main/webapp/static/js/locDetlWarning/locDetlWarning.js
index 554699f..fd5c09a 100644
--- a/src/main/webapp/static/js/locDetlWarning/locDetlWarning.js
+++ b/src/main/webapp/static/js/locDetlWarning/locDetlWarning.js
@@ -31,15 +31,15 @@
cellMinWidth: 50,
cols: [[
{field: 'locNo', align: 'center',title: '搴撲綅'}
- ,{field: 'countAnfme', align: 'center',title: '搴撳瓨鏁伴噺'}
+ ,{field: 'countAnfme', align: 'center',title: '搴撳瓨鏁伴噺鎬昏'}
,{field: 'matnr', align: 'center',title: '搴撳瓨鏍囧彿'}
,{field: 'maktx', align: 'center',title: '搴撳瓨鍚嶇О'}
,{field: 'createTime$', align: 'center',title: '鍏ュ簱鏃堕棿'}
,{field: 'specs', align: 'center',title: '瑙勬牸'}
- ,{field: 'inventoryMax', align: 'center',title: '鏈�澶у簱瀛樻暟閲�'}
- ,{field: 'inventoryMin', align: 'center',title: '鏈�灏忓簱瀛樻暟閲�'}
- ,{field: 'inventoryAgeMax', align: 'center',title: '鏈�澶у湪搴撴椂闂�(澶�)'}
- ,{field: 'diffTime', align: 'center',title: '褰撳墠鍦ㄥ簱鏃堕棿(澶�)'}
+ ,{field: 'inventoryMax', align: 'center',title: '搴撳瓨涓婇檺'}
+ ,{field: 'inventoryMin', align: 'center',title: '搴撳瓨涓嬬嚎'}
+ ,{field: 'inventoryAgeMax', align: 'center',title: '搴撻緞涓婇檺(澶�)'}
+ ,{field: 'diffTime', align: 'center',title: '搴撻緞(澶�)'}
]
],
request: {
diff --git a/src/main/webapp/static/js/stockFreeze/stockFreeze.js b/src/main/webapp/static/js/stockFreeze/stockFreeze.js
new file mode 100644
index 0000000..eb5395d
--- /dev/null
+++ b/src/main/webapp/static/js/stockFreeze/stockFreeze.js
@@ -0,0 +1,533 @@
+var pageCurr;
+var printMatCodeNos = [];
+var admin;
+function getCol() {
+ var cols = [
+ {type: 'checkbox'}
+ ,{field: 'tagId$', align: 'center',title: '褰掔被', templet: '#tagTpl'}
+ ];
+ cols.push.apply(cols, matCols);
+ cols.push(
+
+ {fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150}
+ )
+ return cols;
+}
+
+layui.config({
+ base: baseUrl + "/static/layui/lay/modules/"
+}).extend({
+ dropdown: 'dropdown/dropdown',
+}).use(['table','laydate', 'form', 'treeTable', 'admin', 'xmSelect', 'dropdown', 'element'], function(){
+ var table = layui.table;
+ var $ = layui.jquery;
+ var layer = layui.layer;
+ var layDate = layui.laydate;
+ var form = layui.form;
+ admin = layui.admin;
+ var treeTable = layui.treeTable;
+ var xmSelect = layui.xmSelect;
+
+ // 鍟嗗搧鍒嗙被鏁版嵁
+ var insTb = treeTable.render({
+ elem: '#tag',
+ url: baseUrl+'/node/list/auth',
+ headers: {token: localStorage.getItem('token')},
+ tree: {
+ iconIndex: 2, // 鎶樺彔鍥炬爣鏄剧ず鍦ㄧ鍑犲垪
+ isPidData: true, // 鏄惁鏄痠d銆乸id褰㈠紡鏁版嵁
+ idName: 'id', // id瀛楁鍚嶇О
+ pidName: 'parentId' // pid瀛楁鍚嶇О
+ },
+ cols: [],
+ done: function (data) {
+ $('.ew-tree-table-box').css('height', '100%');
+ insTb.expandAll();
+ }
+ });
+
+ // 鏁版嵁娓叉煋
+ tableIns = table.render({
+ elem: '#mat',
+ headers: {token: localStorage.getItem('token')},
+ url: baseUrl+'/node/list/auth',
+ page: true,
+ limit: 16,
+ limits: [16, 30, 50, 100, 200, 500],
+ toolbar: '#toolbar',
+ cellMinWidth: 50,
+ height: 'full-105',
+ cols: [[
+ {type: 'checkbox'},
+ {field: 'name', align: 'center',title: '搴撲綅鍚�', hide: false},
+ {field: 'parentName', align: 'center',title: '搴撳尯', hide: false},
+ {field: 'createBy$', align: 'center',title: '鍒涘缓浜�', hide: false},
+ {field: 'createTime$', align: 'center',title: '鍒涘缓鏃堕棿', hide: false},
+ {field: 'status', align: 'center',title: '搴撲綅鍐荤粨', templet: '#stockFreezeTpl'},
+ {field: 'type$', align: 'center',title: '绫诲瀷', templet: '#tagTpl', hide: false}
+ ]],
+ request: {
+ pageName: 'curr',
+ pageSize: 'limit'
+ },
+ parseData: function (res) {
+ return {
+ 'code': res.code,
+ 'msg': res.msg,
+ 'count': res.data.total,
+ 'data': res.data.records
+ }
+ },
+ response: {
+ statusCode: 200
+ },
+ done: function(res, curr, count) {
+ if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ }
+ tableData = table.cache.mat;
+ pageCurr=curr;
+ limit();
+ form.on('checkbox(tableCheckbox)', function (data) {
+ var _index = $(data.elem).attr('table-index')||0;
+ if(data.elem.checked){
+ res.data[_index][data.value] = 'Y';
+ }else{
+ res.data[_index][data.value] = 'N';
+ }
+ });
+ }
+ });
+
+ // 鐩戝惉鎺掑簭浜嬩欢
+ table.on('sort(locMast)', function (obj) {
+ var searchData = {};
+ $.each($('#search-box [name]').serializeArray(), function() {
+ searchData[this.name] = this.value;
+ });
+ searchData['orderByField'] = obj.field;
+ searchData['orderByType'] = obj.type;
+ tableIns.reload({
+ where: searchData,
+ page: {
+ curr: 1
+ },
+ done: function (res, curr, count) {
+ if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ }
+ pageCurr=curr;
+ limit();
+ }
+ });
+ });
+
+ // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+ table.on('toolbar(mat)', function (obj) {
+ var checkStatus = table.checkStatus(obj.config.id);
+ switch(obj.event) {
+ case 'addData':
+ showEditModel()
+ break;
+ case 'freezeData':
+ var data = checkStatus.data;
+ if (data.length === 0){
+ layer.msg('璇烽�夋嫨鏁版嵁');
+ } else {
+ layer.confirm('纭畾鍐荤粨'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){
+ $.ajax({
+ url: baseUrl+"/node/updateStatus",
+ headers: {'token': localStorage.getItem('token')},
+ data: {param: JSON.stringify(data)},
+ method: 'POST',
+ traditional:true,
+ success: function (res) {
+ if (res.code === 200){
+ layer.closeAll();
+ tableReload(false);
+ layer.msg(res.msg,{icon:1})
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg,{icon:2})
+ }
+ }
+ })
+ });
+ }
+ break;
+ case 'disFreezeData':
+ var data = checkStatus.data;
+ if (data.length === 0){
+ layer.msg('璇烽�夋嫨鏁版嵁');
+ } else {
+ layer.confirm('纭畾瑙i櫎'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹殑鍐荤粨鍚�', function(){
+ $.ajax({
+ url: baseUrl+"/node/updateDisStatus",
+ headers: {'token': localStorage.getItem('token')},
+ data: {param: JSON.stringify(data)},
+ method: 'POST',
+ traditional:true,
+ success: function (res) {
+ if (res.code === 200){
+ layer.closeAll();
+ tableReload(false);
+ layer.msg(res.msg,{icon:1})
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg,{icon:2})
+ }
+ }
+ })
+ });
+ }
+ break;
+ case 'exportData':
+ layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+ var titles=[];
+ var fields=[];
+ obj.config.cols[0].map(function (col) {
+ if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
+ titles.push(col.title);
+ fields.push(col.field);
+ }
+ });
+ var exportData = {};
+ $.each($('#search-box [name]').serializeArray(), function() {
+ exportData[this.name] = this.value;
+ });
+ var param = {
+ 'mat': exportData,
+ 'fields': fields
+ };
+ $.ajax({
+ url: baseUrl+"/node/export/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: JSON.stringify(param),
+ dataType:'json',
+ contentType:'application/json;charset=UTF-8',
+ method: 'POST',
+ success: function (res) {
+ layer.closeAll();
+ if (res.code === 200) {
+ table.exportFile(titles,res.data,'xls');
+ } else if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg)
+ }
+ }
+ });
+ });
+ break;
+ // 鎵归噺鎵撳嵃
+ case "btnPrintBatch":
+ printMatCodeNos = [];
+ var data = checkStatus.data;
+ if (data.length === 0){
+ layer.msg('璇烽�夋嫨鎵撳嵃鏁版嵁');
+ } else {
+ layer.open({
+ type: 1,
+ title: '鎵归噺鎵撳嵃 [鏁伴噺'+ data.length +']',
+ area: ['500px'],
+ shadeClose: true,
+ content: $('#printDataDiv'),
+ success: function(layero, index){
+ for (var i = 0; i<data.length;i++) {
+ printMatCodeNos.push(data[i].matnr);
+ }
+ },
+ end: function () {
+ }
+ });
+ }
+ break;
+ }
+ });
+
+ // 鐩戝惉琛屽伐鍏蜂簨浠�
+ table.on('tool(mat)', function(obj){
+ var data = obj.data;
+ switch (obj.event) {
+ // 鎵撳嵃
+ case "btnPrint":
+ printMatCodeNos = [];
+ layer.open({
+ type: 1,
+ title: data.matnr + ' [鏁伴噺锛�1]',
+ area: ['500px'],
+ shadeClose: true,
+ content: $('#printDataDiv'),
+ success: function(layero, index){
+ layer.iframeAuto(index);
+ printMatCodeNos.push(data.matnr);
+ },
+ end: function () {
+ }
+ });
+ break;
+ // 缂栬緫
+ case 'edit':
+ showEditModel(data)
+ break;
+ }
+ });
+
+ /* 鏄剧ず琛ㄥ崟寮圭獥 */
+ function showEditModel(mData) {
+ admin.open({
+ type: 1,
+ area: '600px',
+ title: (mData ? '淇敼' : '娣诲姞') + '鍟嗗搧',
+ content: $('#editDialog').html(),
+ success: function (layero, dIndex) {
+ // 鍥炴樉琛ㄥ崟鏁版嵁
+ form.val('detail', mData);
+ // 鏂板鑷姩鐢熸垚鍟嗗搧缂栧彿
+ if (!mData) {
+ http.get(baseUrl + "/node/auto/matnr/auth", null, function (res) {
+ $('#matnr').val(res.data);
+ })
+ }
+ // 琛ㄥ崟鎻愪氦浜嬩欢
+ form.on('submit(editSubmit)', function (data) {
+ console.log(data)
+ data.field.tagId = insXmSel.getValue('valueStr');
+ if (isEmpty(data.field.tagId)) {
+ layer.msg('鍒嗙被涓嶈兘涓虹┖', {icon: 2});
+ return false;
+ }
+ var loadIndex = layer.load(2);
+ $.ajax({
+ url: baseUrl+"/node/"+(mData?'update':'add')+"/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: data.field,
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ if (res.code === 200){
+ layer.close(dIndex);
+ layer.msg(res.msg, {icon: 1});
+ $(".layui-laypage-btn")[0].click();
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ }else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+ return false;
+ });
+ // 娓叉煋涓嬫媺鏍�
+ var insXmSel = xmSelect.render({
+ el: '#tagSel',
+ height: '250px',
+ data: insTb.options.data,
+ initValue: mData ? [mData.tagId] : [],
+ model: {label: {type: 'text'}},
+ prop: {
+ name: 'name',
+ value: 'id'
+ },
+ radio: true,
+ clickClose: true,
+ tree: {
+ show: true,
+ indent: 15,
+ strict: false,
+ expandedKeys: true
+ }
+ });
+ // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
+ $(layero).children('.layui-layer-content').css('overflow', 'visible');
+ layui.form.render('select');
+ }
+ });
+ }
+
+ // 妯℃澘閫夋嫨
+ form.on('radio(selectTemplateRadio)', function (data) {
+ $('.template-preview').hide();
+ $('#template-preview-'+data.value).show();
+ });
+
+ // 寮�濮嬫墦鍗�
+ form.on('submit(doPrint)', function (data) {
+ var templateNo = data.field.selectTemplate;
+ $.ajax({
+ url: baseUrl+"/node/print/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {param: printMatCodeNos},
+ method: 'POST',
+ async: false,
+ success: function (res) {
+ if (res.code === 200){
+ layer.closeAll();
+ for (let i=0;i<res.data.length;i++){
+ var templateDom = $("#templatePreview"+templateNo);
+ var className = templateDom.attr("class");
+ if (className === 'template-barcode') {
+ res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=1¶m="+res.data[i].matnr;
+ } else {
+ res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=2¶m="+res.data[i].matnr;
+ }
+ }
+ var tpl = templateDom.html();
+ var template = Handlebars.compile(tpl);
+ var html = template(res);
+ var box = $("#box");
+ box.html(html);box.show();
+ box.print({mediaPrint:true});
+ box.hide();
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ }else {
+ layer.msg(res.msg)
+ }
+ }
+ })
+ });
+
+ // 鎼滅储鏍忔悳绱簨浠�
+ form.on('submit(search)', function (data) {
+ pageCurr = 1;
+ tableReload(false);
+ });
+
+ // 鎼滅储鏍忛噸缃簨浠�
+ form.on('submit(reset)', function (data) {
+ pageCurr = 1;
+ clearFormVal($('#search-box'));
+ tableReload(false);
+ });
+
+ // 鏃堕棿閫夋嫨鍣�
+ layDate.render({
+ elem: '#createTime\\$',
+ type: 'datetime'
+ });
+ layDate.render({
+ elem: '#updateTime\\$',
+ type: 'datetime'
+ });
+ //搴撲綅鍐荤粨
+ // form.on('switch(stockFreezeSwitch)', function (obj) {
+ // let index = obj.othis.parents('tr').attr("data-index");
+ // console.log(index);
+ // let data = tableData[index];
+ // data[this.stockFreeze] = obj.elem.checked?1:0;
+ // http.post(baseUrl + "/node/updateStatus", {
+ // name: data.name,
+ // status: data[this.stockFreeze]
+ // }, function (res) {
+ // layer.msg(res.msg, {icon: 1});
+ // tableIns.reload();
+ // });
+ // })
+
+
+});
+
+// excel瀵煎叆妯℃澘涓嬭浇
+function excelMouldDownload(){
+ layer.load(1, {shade: [0.1,'#fff']});
+ location.href = baseUrl + "/node/excel/import/mould";
+ layer.closeAll('loading');
+}
+
+// excel瀵煎叆
+function importExcel() {
+ $("#importExcel").trigger("click");
+}
+function upload(obj){
+ if(!obj.files) {
+ return;
+ }
+ var file = obj.files[0];
+ admin.confirm('纭鍚屾 [' + file.name +'] 鏂囦欢鍚楋紵', function (index) {
+ layer.load(1, {shade: [0.1,'#fff']});
+ var url = baseUrl + "/node/excel/import/auth";
+ var form = new FormData();
+ form.append("file", file);
+ xhr = new XMLHttpRequest();
+ xhr.open("post", url, true); //post鏂瑰紡锛寀rl涓烘湇鍔″櫒璇锋眰鍦板潃锛宼rue 璇ュ弬鏁拌瀹氳姹傛槸鍚﹀紓姝ュ鐞嗐��
+ xhr.setRequestHeader('token', localStorage.getItem('token'));
+ xhr.onload = uploadComplete; //璇锋眰瀹屾垚
+ xhr.onerror = uploadFailed; //璇锋眰澶辫触
+ xhr.onloadend = function () { // // 涓婁紶瀹屾垚閲嶇疆鏂囦欢娴�
+ layer.closeAll('loading');
+ $("#importExcel").val("");
+ };
+ // xhr.upload.onprogress = progressFunction;//銆愪笂浼犺繘搴﹁皟鐢ㄦ柟娉曞疄鐜般��
+ xhr.upload.onloadstart = function(){//涓婁紶寮�濮嬫墽琛屾柟娉�
+ ot = new Date().getTime(); //璁剧疆涓婁紶寮�濮嬫椂闂�
+ oloaded = 0;//璁剧疆涓婁紶寮�濮嬫椂锛屼互涓婁紶鐨勬枃浠跺ぇ灏忎负0
+ };
+ xhr.send(form);
+ }, function(index){
+ $("#importExcel").val("");
+ });
+}
+function uploadComplete(evt) {
+ var res = JSON.parse(evt.target.responseText);
+ if(res.code === 200) {
+ layer.msg(res.msg, {icon: 1});
+ loadTree("");
+ } else {
+ layer.msg(res.msg, {icon: 2});
+ }
+}
+function uploadFailed(evt) {
+ var res = JSON.parse(evt.target.responseText);
+ layer.msg(res.msg, {icon: 2});
+}
+
+// excel瀵煎嚭
+function exportExcel() {
+
+}
+
+
+function tableReload(child) {
+ var searchData = {};
+ $.each($('#search-box [name]').serializeArray(), function() {
+ searchData[this.name] = this.value;
+ });
+ (child ? parent.tableIns : tableIns).reload({
+ where: searchData,
+ page: {
+ curr: pageCurr
+ },
+ done: function (res, curr, count) {
+ if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ }
+ pageCurr=curr;
+ if (res.data.length === 0 && count !== 0) {
+ tableIns.reload({
+ where: searchData,
+ page: {
+ curr: pageCurr-1
+ }
+ });
+ pageCurr -= 1;
+ }
+ limit(child);
+ }
+ });
+}
+
+function clearFormVal(el) {
+ $(':input', el)
+ .val('')
+ .removeAttr('checked')
+ .removeAttr('selected');
+}
+
+$('body').keydown(function () {
+ if (event.keyCode === 13) {
+ $("#search").click();
+ }
+});
diff --git a/src/main/webapp/views/home/map.html b/src/main/webapp/views/home/map.html
index 9976a08..f81f4a0 100644
--- a/src/main/webapp/views/home/map.html
+++ b/src/main/webapp/views/home/map.html
@@ -51,7 +51,7 @@
.pointBox {
background: #fffef9;
- width: 80px;
+ width: 300px;
height: 35px;
margin-right: 1px;
display: flex;
diff --git a/src/main/webapp/views/stockFreeze/stockFreeze.html b/src/main/webapp/views/stockFreeze/stockFreeze.html
new file mode 100644
index 0000000..7b1a7f0
--- /dev/null
+++ b/src/main/webapp/views/stockFreeze/stockFreeze.html
@@ -0,0 +1,417 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title></title>
+ <meta name="renderer" content="webkit">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+ <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+ <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+ <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+ <link rel="stylesheet" href="../../static/css/tree.css" media="all">
+ <style>
+ body {
+ color: #595959;
+ background-color: #f5f7f9;
+ }
+ .layui-fluid {
+ padding: 15px;
+ }
+ .layui-form.layui-border-box.layui-table-view {
+ /*margin: 15px 0 35px 0;*/
+ width: 100%;
+ border-width: 1px;
+ }
+ .layui-form.layui-border-box.layui-table-view {
+ height: calc(100vh - 160px);
+ }
+ .layui-form.layui-border-box.layui-table-view {
+ margin: 0;
+ }
+ #search-box {
+ padding: 30px 30px 10px 0px;
+ margin-left: 0px;
+ }
+ .layui-form.layui-border-box.layui-table-view {
+ height: 100%;
+ }
+
+ .admin-form {
+ padding: 25px 30px 0 0 !important;
+ margin: 0 !important;
+ }
+
+ /* ------------------------- 鎵撳嵃琛ㄦ牸 ----------------------- */
+ .template-preview {
+ height: 200px;
+ display: inline-block;
+ }
+ .contain td {
+ border: 1px solid #000;
+ /*font-family: 榛戜綋;*/
+ /*font-weight: bold;*/
+ /*color: #000000;*/
+ }
+ </style>
+</head>
+<body>
+
+<div class="layui-fluid">
+
+ <!-- 鍙� -->
+ <div class="layui-col-md12">
+ <div class="layui-card">
+ <div class="layui-card-body" style="padding: 10px;">
+ <!-- 琛ㄦ牸宸ュ叿鏍�2 -->
+ <div id="search-box" class="layui-form toolbar" style="padding-top: 5px">
+ <div class="layui-inline">
+ <label class="layui-form-label" style="padding: 8px 15px 8px 15px">搴撳尯:</label>
+ <div class="layui-input-inline">
+ <input name="parent_name" class="layui-input" placeholder="杈撳叆鍟嗗搧缂栧彿"/>
+ </div>
+ </div>
+ <div class="layui-inline"> 
+ <button class="layui-btn icon-btn" lay-filter="search" lay-submit>
+ <i class="layui-icon"></i>鎼滅储
+ </button>
+ <button class="layui-btn icon-btn" lay-filter="reset" lay-submit>
+ <i class="layui-icon"></i>閲嶇疆
+ </button>
+ </div>
+ </div>
+ <table class="layui-hide" id="mat" lay-filter="mat"></table>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+
+<script type="text/html" id="tagTpl">
+ <span name="tagId" class="layui-badge layui-badge-blue">{{d.type$}}</span>
+</script>
+
+
+
+<script type="text/html" id="toolbar">
+ <div class="layui-btn-container">
+<!-- <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>-->
+ <button class="layui-btn layui-btn-sm layui-btn-danger " id="btn-freeze" lay-event="freezeData">鍐荤粨</button>
+ <button class="layui-btn layui-btn-sm layui-btn-checked " id="btn-disfreeze" lay-event="disFreezeData">瑙e喕</button>
+ <!-- 鍟嗗搧/鐗╂枡 鏁版嵁涓績 -->
+ <!-- <div class="dropdown-menu" style="float: right">-->
+ <!-- <button class="layui-btn layui-btn-primary layui-border-black icon-btn layui-btn-sm"> 鏁版嵁鍚屾 <i class="layui-icon layui-icon-drop"></i></button>-->
+ <!-- <ul class="dropdown-menu-nav dark">-->
+ <!-- <div class="dropdown-anchor"></div>-->
+ <!-- <li class="title">1st menu</li>-->
+ <!-- <li><a onclick="excelMouldDownload()" style="font-size: 12px"><i class="layui-icon layui-icon-template-1"></i>妯℃澘涓嬭浇</a></li>-->
+ <!-- <li><a onclick="importExcel()" style="font-size: 12px"><i class="layui-icon layui-icon-upload"></i>瀵煎叆 Excel</a></li>-->
+ <!-- <li style="display: none"><input id="importExcel" type="file" onchange="upload(this)" ></li>-->
+ <!-- <hr>-->
+ <!-- <li class="title">2nd menu</li>-->
+ <!-- <li><a onclick="exportExcel()" style="font-size: 12px"><i class="layui-icon layui-icon-export"></i>瀵煎嚭 Excel</a></li>-->
+ <!-- </ul>-->
+ <!-- </div>-->
+ <!-- <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right;margin-right: -10px">瀵煎嚭</button>-->
+ </div>
+</script>
+
+<script type="text/html" id="operate">
+ <a class="layui-btn layui-btn-xs btn-edit layui-btn-primary" lay-event="edit">淇敼</a>
+ <button class="layui-btn layui-btn-xs btn-print" lay-event="btnPrint">鎵撳嵃</button>
+</script>
+
+<script type="text/html" id="stockFreezeTpl">
+ <input type="checkbox" disabled name="stockFreeze" value="{{d.status}}" lay-skin="switch" lay-text="姝e父|鍐荤粨" lay-filter="stockFreezeSwitch" {{ d.status === 1 ? 'checked' : '' }}>
+</script>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/jquery/jQuery.print.js"></script>
+<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/stockFreeze/stockFreeze.js" charset="utf-8"></script>
+
+<!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="editDialog">
+ <form id="detail" lay-filter="detail" class="layui-form admin-form">
+ <input name="id" type="hidden">
+ <input name="uuid" type="hidden">
+ <input name="nodeId" type="hidden">
+ <input name="tag_id" type="hidden">
+ <input name="model" type="hidden">
+ <input name="name" type="hidden">
+ <input name="batch" type="hidden">
+ <input name="docId" type="hidden">
+ <input name="docNum" type="hidden">
+ <input name="custName" type="hidden">
+ <input name="itemNum" type="hidden">
+ <input name="count" type="hidden">
+ <input name="weight" type="hidden">
+ <input name="status" type="hidden">
+ <input name="createBy" type="hidden">
+ <input name="updateTime$" type="hidden">
+ <input name="updateBy" type="hidden">
+ <div class="layui-row">
+
+ <div class="layui-col-md6">
+
+ <div class="layui-form-item">
+ <label class="layui-form-label">鍒嗙被</label>
+ <div class="layui-input-block">
+ <div id="tagSel" class="ew-xmselect-tree"></div>
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">鍟嗗搧鍚嶇О</label>
+ <div class="layui-input-block">
+ <input name="maktx" placeholder="璇疯緭鍏ュ晢鍝佸悕绉�" class="layui-input" lay-vertype="tips" lay-verify="required" required="">
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label class="layui-form-label">閰嶇疆</label>
+ <div class="layui-input-block">
+ <input name="specs" placeholder="璇疯緭鍏ラ厤缃�" class="layui-input">
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label class="layui-form-label">鍗曠鍑�閲�</label>
+ <div class="layui-input-block">
+ <input name="weight" placeholder="璇疯緭鍏ュ崟绠卞噣閲嶆牸" class="layui-input">
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label class="layui-form-label">鍗曠浣撶Н</label>
+ <div class="layui-input-block">
+ <input name="volume" placeholder="璇疯緭鍏ュ崟绠变綋绉�" class="layui-input">
+ </div>
+ </div>
+
+ </div>
+
+ <div class="layui-col-md6">
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">鍟嗗搧缂栧彿</label>
+ <div class="layui-input-block">
+ <input id="matnr" name="matnr" placeholder="璇疯緭鍏ュ晢鍝佺紪鍙�" class="layui-input" lay-vertype="tips" lay-verify="required" required="">
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label class="layui-form-label">瑙勬牸</label>
+ <div class="layui-input-block">
+ <input name="specs" placeholder="璇疯緭鍏ヤ唬鐮�" class="layui-input">
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label class="layui-form-label">澶囨敞</label>
+ <div class="layui-input-block">
+ <input name="memo" placeholder="璇疯緭鍏ュ娉�" class="layui-input">
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label class="layui-form-label">鍗曠姣涢噸</label>
+ <div class="layui-input-block">
+ <input name="length" placeholder="璇疯緭鍏ュ崟绠辨瘺閲�" class="layui-input">
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label class="layui-form-label">鍗曠浣撶Н</label>
+ <div class="layui-input-block">
+ <input name="threeCode" placeholder="璇疯緭鍏ョ瀛愬昂瀵�" class="layui-input">
+ </div>
+ </div>
+
+ </div>
+ </div>
+ <hr class="layui-bg-gray">
+ <div class="layui-form-item text-right">
+ <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button>
+ <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+ </div>
+ </form>
+</script>
+
+<!-- 鎵撳嵃鎿嶄綔寮圭獥 -->
+<div id="printDataDiv" style="display: none;padding: 20px">
+ <div class="layui-form" style="text-align: center">
+ <hr>
+ <!--鍗曢�夋-->
+ <div class="layui-form-item" style="display: inline-block; margin-bottom: 10px">
+ <input type="radio" name="selectTemplate" value="1" title="妯℃澘涓�" lay-filter="selectTemplateRadio" checked="">
+ <input type="radio" name="selectTemplate" value="2" title="妯℃澘浜�" lay-filter="selectTemplateRadio">
+ <input type="radio" name="selectTemplate" value="3" title="妯℃澘涓�" lay-filter="selectTemplateRadio">
+ </div>
+ <fieldset class="layui-elem-field site-demo-button" style="margin-top: 30px;text-align: left;">
+ <legend>鎵撳嵃棰勮</legend>
+ <div id="template-container" style="margin: 20px;text-align: center">
+
+ <!-- 棰勮鍥� 1 -->
+ <div id="template-preview-1" class="template-preview" style="display: inline-block">
+ <table class="contain" width="280" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
+ <tr style="height: 74px">
+ <td colspan="3" align="center" scope="col">鍟嗗搧缂栫爜</td>
+ <td class="barcode" colspan="9" align="center" scope="col">
+ <img class="template-code template-barcode" src="" width="90%;">
+ <div style="letter-spacing: 2px;margin-top: 1px; text-align: center;">
+ <span>xxxxxx</span>
+ </div>
+ </td>
+ </tr>
+ <tr style="height: 74px">
+ <td align="center" colspan="3">鍟嗗搧</td>
+ <td align="center" colspan="5">xxxxxx-xx/xx</td>
+ <td align="center" colspan="2">澶囨敞</td>
+ <td align="center" colspan="2">xx</td>
+ </tr>
+ </table>
+ </div>
+
+ <!-- 棰勮鍥� 2 -->
+ <div id="template-preview-2" class="template-preview" style="display: none">
+ <table class="contain" width="280" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
+ <tr style="height: 30px">
+ <td align="center" width="20%">鍟嗗搧</td>
+ <td align="center" width="80%" style="overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">xxxxxxx</td>
+ </tr>
+ <tr style="height: 30px">
+ <td align="center" width="20%">澶囨敞</td>
+ <td align="center" width="80%">xxxxxxxx</td>
+ </tr>
+ <tr style="height: 75px;">
+ <td align="center" colspan="2" width="100%" style="border: none">
+ <img class="template-code template-barcode" src="" width="80%">
+ <div style="letter-spacing: 2px;margin-top: 1px; text-align: center">
+ <span>xxxxxx</span>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </div>
+
+ <!-- 棰勮鍥� 3 -->
+ <div id="template-preview-3" class="template-preview" style="display: none">
+ <table class="contain" width="280" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
+ <tr style="height: 74px">
+ <td align="center" scope="col" colspan="1">鍟嗗搧</td>
+ <td align="center" scope="col" colspan="1" style="">xxxxxx-xx/xx</td>
+ <td align="center" scope="col" colspan="2" rowspan="2">
+ <img class="template-code template-qrcode" src="" width="80%">
+ <div style="letter-spacing: 1px;margin-top: 1px; text-align: center">
+ <span>xxxxxx</span>
+ </div>
+ </td>
+ </tr>
+ <tr style="height: 74px">
+ <td align="center" colspan="1">澶囨敞</td>
+ <td align="center" colspan="1" style="overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">xxxxxxx</td>
+ </tr>
+ </table>
+ </div>
+ </div>
+ </fieldset>
+
+ <button class="layui-btn" id="doPrint" lay-submit lay-filter="doPrint" style="margin-top: 20px">纭畾</button>
+ </div>
+</div>
+
+<div id="box" style="display: block"></div>
+
+<!-- 鍒濆鍖栨墦鍗版ā鏉跨殑鏉″舰鐮� -->
+<script type="text/javascript">
+ $('.template-barcode').attr("src", baseUrl+"/mac/code/auth?type=1¶m=123");
+ $('.template-qrcode').attr("src", baseUrl+"/mac/code/auth?type=2¶m=123");
+</script>
+
+<!-- 妯℃澘寮曟搸 -->
+<!-- 妯℃澘1 -->
+<script type="text/template" id="templatePreview1" class="template-barcode">
+ {{#each data}}
+ <table class="contain" width="280" style="overflow: hidden;font-size: small;table-layout: fixed;">
+ <tr style="height: 74px">
+ <td align="center" colspan="3" scope="col">鍟嗗搧缂栫爜</td>
+ <td align="center" class="barcode" colspan="9" scope="col">
+ <img class="template-code" src="{{this.barcodeUrl}}" width="90%">
+ <div style="letter-spacing: 2px;margin-top: 1px; text-align: center">
+ <span>{{this.matnr}}</span>
+ </div>
+ </td>
+ </tr>
+ <tr style="height: 74px">
+ <td align="center" colspan="3">鍟嗗搧</td>
+ <td align="center" colspan="5" style="overflow: hidden; white-space: nowrap;text-overflow: ellipsis;">{{this.maktx}}</td>
+ <td align="center" colspan="2">澶囨敞</td>
+ <td align="center" colspan="2">{{this.memo}}</td>
+ </tr>
+ </table>
+ {{/each}}
+</script>
+<!-- 妯℃澘2 -->
+<script type="text/template" id="templatePreview2" class="template-barcode">
+ {{#each data}}
+ <table class="contain" width="280" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
+ <tr style="height: 35px">
+ <td align="center" width="20%">鍟嗗搧</td>
+ <td align="center" width="80%" style="overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">{{this.maktx}}</td>
+ </tr>
+ <tr style="height: 35px">
+ <td align="center" width="20%">澶囨敞</td>
+ <td align="center" width="80%">{{this.memo}}</td>
+ </tr>
+ <tr style="height: 79px;">
+ <td align="center" colspan="2" width="100%" style="border: none">
+ <img class="template-code" src="{{this.barcodeUrl}}" width="80%">
+ <div style="letter-spacing: 2px;margin-top: 1px; text-align: center">
+ <span>{{this.matnr}}</span>
+ </div>
+ </td>
+ </tr>
+ </table>
+ {{/each}}
+</script>
+<!-- 妯℃澘3 -->
+<script type="text/template" id="templatePreview3" class="template-qrcode">
+ {{#each data}}
+ <table class="contain" width="280" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
+ <tr style="height: 74px" >
+ <td align="center" scope="col" colspan="1">鍟嗗搧</td>
+ <td align="center" scope="col" colspan="1" style="
+ display: inline-block;
+ line-height: 20px;
+ vertical-align: middle;
+ border: none;
+ border-top: 1px solid #000;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 3;
+ -webkit-box-orient: vertical;
+ ">
+ {{this.maktx}}
+ </td>
+ <td align="center" scope="col" colspan="2" rowspan="2">
+ <img class="template-code template-qrcode" src="{{this.barcodeUrl}}" width="80%">
+ <div style="letter-spacing: 1px;margin-top: 1px; text-align: center">
+ <span>{{this.matnr}}</span>
+ </div>
+ </td>
+ </tr>
+ <tr style="height: 74px">
+ <td align="center" colspan="1">澶囨敞</td>
+ <td align="center" colspan="1" style="overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">{{this.memo}}</td>
+ </tr>
+ </table>
+ {{/each}}
+</script>
+
+</body>
+</html>
+
--
Gitblit v1.9.1