| var insTb; | 
| var admin; | 
| var areas; | 
| var matXmSelect; | 
| layui.config({ | 
|     base: baseUrl + "/static/layui/lay/modules/" | 
| }).extend({ | 
|     dropdown: 'dropdown/dropdown', | 
| }).use(['form','treeTable', 'admin', 'xmSelect', 'dropdown', 'element','layer'], function() { | 
|     var $ = layui.jquery; | 
|     var layer = layui.layer; | 
|     var form = layui.form; | 
|     admin = layui.admin; | 
|     var treeTable = layui.treeTable; | 
|     var xmSelect = layui.xmSelect; | 
|     var tbDataList = []; | 
|   | 
|     insTb = treeTable.render({ | 
|         elem: '#node', | 
|         url: baseUrl+'/node/list/tree/auth', | 
|         headers: {token: localStorage.getItem('token')}, | 
|         height: 'full-200', | 
|         toolbar: '#toolbar', | 
|         treeLinkage:false, | 
|         tree: { | 
|             iconIndex: 2,           // 折叠图标显示在第几列 | 
|             isPidData: true,        // 是否是id、pid形式数据 | 
|             idName: 'id',           // id字段名称 | 
|             pidName: 'parentId'     // pid字段名称 | 
|         }, | 
|         cols: [[ | 
|             {type: 'checkbox'}, | 
|             {type: 'numbers'} | 
|             ,{field: 'name', align: 'left',title: '编号/名称', minWidth: 150} | 
|             // ,{field: 'uuid', left: 'center',title: '编号/名称', minWidth: 150} | 
|             ,{field: 'type$', align: 'center',title: '类型', templet: '#typeTpl'} | 
|             // ,{field: 'leading', align: 'center',title: '负责人'} | 
|             // ,{field: 'img', align: 'center',title: '图片', hide: true} | 
|             // ,{field: 'brief', align: 'center',title: '简要描述'} | 
|             // ,{field: 'count', align: 'center',title: '数量'} | 
|             // ,{field: 'sort', align: 'center',title: '排序'} | 
|             ,{field: 'status$', align: 'center',title: '状态', hide: true} | 
|             ,{field: 'row1$', align: 'center',title: '排'} | 
|             ,{field: 'bay1$', align: 'center',title: '列'} | 
|             ,{field: 'lev1$', align: 'center',title: '层'} | 
|             ,{field: 'updateTime$', align: 'center',title: '修改时间'} | 
|             ,{field: 'updateBy$', align: 'center',title: '修改人员'} | 
|             ,{field: 'memo', align: 'center',title: '备注', hide: true} | 
|   | 
|             ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:150} | 
|         ]], | 
|         done: function (data) { | 
|             console.log(data) | 
|             $('.ew-tree-table-box').css('height', '100%'); | 
|             insTb.expandAll(); | 
|             tbDataList = data; | 
|   | 
|         } | 
|     }); | 
|   | 
|     /* 表格头工具栏点击事件 */ | 
|     treeTable.on('toolbar(node)', function (obj) { | 
|         var checkRows = insTb.checkStatus(); | 
|         if (obj.event === 'add') { // 添加 | 
|             showEditModel(); | 
|         } else if (obj.event === 'del') { // 删除 | 
|             if (checkRows.length === 0) { | 
|                 layer.msg('请选择要删除的数据', {icon: 2}); | 
|                 return; | 
|             } | 
|             var ids = checkRows.map(function (d) { | 
|                 if (!d.LAY_INDETERMINATE) { | 
|                     return d.id; | 
|                 } else { | 
|                     return null; | 
|                 } | 
|             }); | 
|             doDel({ids: ids}); | 
|         } else if (obj.event === 'printBatch') { | 
|             if (checkRows.length === 0) { | 
|                 layer.msg('请选择要打印的数据', {icon: 2}); | 
|                 return; | 
|             } | 
|             var printContent = checkRows.map(function (d) { | 
|                 if (!d.LAY_INDETERMINATE && d.type === 3) { | 
|                     return d.name; | 
|                 } else { | 
|                     return null; | 
|                 } | 
|             }); | 
|             printBatch(printContent, 1); | 
|         }else if (obj.event === 'nodeInit'){ | 
|             nodeInit(); | 
|         } | 
|     }); | 
|   | 
|     /* 表格操作列点击事件 */ | 
|     treeTable.on('tool(node)', function (obj) { | 
|         if (obj.event === 'edit') { // 修改 | 
|             showEditModel(obj.data); | 
|         } else if (obj.event === 'del') { // 删除 | 
|             doDel(obj); | 
|         } | 
|     }); | 
|   | 
|     /* 显示表单弹窗 */ | 
|     function showEditModel(mData) { | 
|         admin.open({ | 
|             type: 1, | 
|             area: '600px', | 
|             title: (mData ? '修改' : '添加') + '货位', | 
|             content: $('#editDialog').html(), | 
|             success: function (layero, dIndex) { | 
|                 // 回显表单数据 | 
|                 form.val('detail', mData); | 
|                 // 表单提交事件 | 
|                 form.on('submit(editSubmit)', function (data) { | 
|                     data.field.parentId = insXmSel.getValue('valueStr'); | 
|                     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}); | 
|                                 insTb.refresh(); | 
|                             } else if (res.code === 403){ | 
|                                 top.location.href = baseUrl+"/"; | 
|                             }else { | 
|                                 layer.msg(res.msg, {icon: 2}); | 
|                             } | 
|                         } | 
|                     }) | 
|                     return false; | 
|                 }); | 
|                 // 渲染下拉树 | 
|                 var insXmSel = xmSelect.render({ | 
|                     el: '#nodeParentSel', | 
|                     height: '250px', | 
|                     data: insTb.options.data, | 
|                     initValue: mData ? [mData.parentId] : [], | 
|                     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'); | 
|             } | 
|         }); | 
|     } | 
|   | 
|     /* 删除 */ | 
|     function doDel(obj) { | 
|         layer.confirm('确定要删除选中数据吗?', { | 
|             skin: 'layui-layer-admin', | 
|             shade: .1 | 
|         }, function (i) { | 
|             layer.close(i); | 
|             var loadIndex = layer.load(2); | 
|             var ids; | 
|             if (obj.data) { | 
|                 ids = []; | 
|                 ids[0] = obj.data.id; | 
|             } else { | 
|                 ids = obj.ids; | 
|             } | 
|             $.ajax({ | 
|                 url: baseUrl+"/node/delete0/auth", | 
|                 headers: {'token': localStorage.getItem('token')}, | 
|                 data: {ids: ids}, | 
|                 method: 'POST', | 
|                 success: function (res) { | 
|                     layer.close(loadIndex); | 
|                     if (res.code === 200){ | 
|                         layer.msg(res.msg, {icon: 1}); | 
|                         insTb.refresh(); | 
|                     } else if (res.code === 403){ | 
|                         top.location.href = baseUrl+"/"; | 
|                     } else { | 
|                         layer.msg(res.msg, {icon: 2}); | 
|                     } | 
|                 } | 
|             }) | 
|         }); | 
|     } | 
|   | 
|     // 批量打印 | 
|     function printBatch(printMsgList, type) { | 
|         var data = []; | 
|         for (var i = 0; i<printMsgList.length; i ++) { | 
|             if (printMsgList[i] != null && printMsgList[i] !== '') { | 
|                 var barcodeUrl; | 
|                 if (type === 1) { | 
|                     barcodeUrl = baseUrl+"/barcode/qrcode/auth?type="+type+"¶m="+printMsgList[i]+"&width="+200+"&height="+70; | 
|                 } else { | 
|                     barcodeUrl = baseUrl+"/barcode/qrcode/auth?type="+type+"¶m="+printMsgList[i]+"&width="+400+"&height="+180; | 
|                 } | 
|                 data.push({ | 
|                     item: printMsgList[i], | 
|                     barcodeUrl: barcodeUrl | 
|                 }) | 
|             } | 
|         } | 
|         var tpl = $('#locPrintTpl').html(); | 
|         var template = Handlebars.compile(tpl); | 
|         var html = template({data: data}); | 
|         var box = $("#printBox"); | 
|         box.html(html); | 
|         box.show(); | 
|         box.print({mediaPrint:true}); | 
|         box.hide(); | 
|     } | 
|   | 
|   | 
|     function nodeInit(){ | 
|         layer.prompt({title: '请输入口令,并重置库位', formType: 1,   shadeClose: true}, function(pass, idx){ | 
|             http.get(baseUrl+"/node/init/pwd", {pwd: pass}, function (res) { | 
|                 if (res.data) { | 
|                     layer.open({ | 
|                         type: 1, | 
|                         title: '初始化库位', | 
|                         area: ["400px"], | 
|                         maxmin: true, | 
|                         shadeClose: true, | 
|                         content: $("#resetLocDiv"), | 
|                         success: function (layero, index) { | 
|   | 
|   | 
|                             // 渲染物料选择 | 
|                             matXmSelect = xmSelect.render({ | 
|                                 el: '#mat', | 
|                                 style: { | 
|                                     width: '200px'                                    , | 
|                                     height: 'auto' | 
|                                 }, | 
|                                 autoRow: true, | 
|                                 toolbar: { show: true }, | 
|                                 filterable: true, | 
|                                 remoteSearch: true, | 
|                                 radio: true, | 
|                                 clickClose: true, | 
|                                 remoteMethod: function(val, cb, show){ | 
|                                     $.ajax({ | 
|                                         url: baseUrl+"/node/all/get/loc", | 
|                                         headers: {'token': localStorage.getItem('token')}, | 
|                                         method: 'POST', | 
|                                         success: function (res) { | 
|                                             if (res.code === 200){ | 
|                                                 cb(res.data) | 
|                                             } else { | 
|                                                 cb([]); | 
|                                                 layer.msg(res.msg, {icon: 2}); | 
|                                             } | 
|                                         } | 
|                                     }); | 
|                                 } | 
|                             }) | 
|                         } | 
|                     }) | 
|                 } else { | 
|                     layer.msg("口令错误"); | 
|                 } | 
|                 layer.close(idx); | 
|             }) | 
|         }); | 
|     } | 
|   | 
|     // 初始化保存 | 
|     form.on('submit(initDo)', function (data) { | 
|         areas =  matXmSelect.getValue(); | 
|         data.field.value = areas[0].value; | 
|         data.field.name = areas[0].name; | 
|         console.log(data.field); | 
|         $.ajax({ | 
|             url: baseUrl+"/node/init/auth", | 
|             headers: {'token': localStorage.getItem('token')}, | 
|             data: data.field, | 
|             method: 'POST', | 
|             async: false, | 
|             success: function (res) { | 
|                 if (res.code === 200){ | 
|                     layer.msg(res.msg); | 
|                     layer.closeAll(); | 
|                     // tableReload(false); | 
|                 } else if (res.code === 403){ | 
|                     parent.location.href = "/"; | 
|                 }else { | 
|                     layer.msg(res.msg) | 
|                 } | 
|             } | 
|         }) | 
|     }); | 
|   | 
|   | 
|   | 
| }); | 
|   | 
| // 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方式,url为服务器请求地址,true 该参数规定请求是否异步处理。 | 
|         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}); | 
|         insTb.refresh(); | 
|     } 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() { | 
|   | 
| } |