/** * 主数据编码规则页面 * @author weidy * @date 2022-01-24 */ layui.define(['layer', 'element', 'form', 'table', 'dynamicCondition'], function (exports) { var webUtil = $webUtil; var Class = function () { this.MODELNAME = "mdm/CodeRule"; this.moduleKey = "CodeRule"; this.backPath = configData.compatibility ? path : configData.mdmService; this.url = { controller: 'mdmRuleController/', dataGrid: 'gridCodeRule', addSave: 'addSave', editSave: 'editSave', deleteUrl: 'deleteData', updateStatusUrl: 'updateStatus', listUseRangeUrl: 'listUseRange', getObjectByOid: 'getObjectByOid', secController: 'codeBasicSecController/', secDataGrid: 'gridCodeBasicSec', secAddSave: 'addSave', secEditSave: 'editSave', secDeleteUrl: 'deleteData', secGetObjectByOid: 'getObjectByOid', codeFixedValueController:'codeFixedValueController/', codeClassifyValueController:'codeClassifyValueController/', clearCode:'clearAllCode' }; this.getContent = function () { var that = this; return '
'; }; this.showContent = function () { var that = this; var html = ""; html = [ '
', '
', '
', that.getToolbarHtml(), '
', '
', '
', '
', '
', that.getSecToolbarHtml(), '
', '
', '
', '
' ].join(""); $("#UIContent_" + that.id).html(html); }; this.getToolbarHtml = function () { var that = this; var html = [ '
', '', '', '', '', '', '', '', '', '', '
' ].join(""); return html; }; this.getSecToolbarHtml = function () { var that = this; var html = [ '
', '', '', '', '', '', '
' ].join(""); return html; }; this.createSearchHtml = function () { var that = this; webUtil.bindDefultButtonLisenter(that, that.id); webUtil.bindDefultButtonLisenter(that, "sec_" + that.id); webUtil.createSearchHtml({ id: "编号", name: "名称" }, $("[layui-filter='toolbar_" + that.id + "']"), "table_" + that.id); }; this.init = function () { var that = this; webUtil.copyConfig(that, that.moduleKey); setTimeout(function () { that.showContent(); var easyuiLayout = $('#easyuiLayout_' + that.id) easyuiLayout.css({height: $('#portal_body').height() - 43, width: $('#portal_body').width() - 15}) easyuiLayout.layout(); that.initMainTable(); that.createSearchHtml(); that.initSecTable(); }, 1); }; this.initMainTable = function (parentFieldName) { var that = this; var table = layui.table; that.checkColumns(); var options = { elem: '#table_' + that.id, id: 'table_' + that.id, backPath: that.backPath, url: that.url.controller + that.url.dataGrid, page: { limit: 20, page: 1 }, selectMode: table.selectMode.muti, cols: [that.columns], method: 'get', done: function (res, cur, total) { if (!that.fristMainLoad) { table.on('tool(' + that.id + ')', function (obj) { var data = obj.data;//当前选择行的数据 var layEvent = obj.event;//点的是什么按钮 if (layEvent == 'EDIT') { that.addOrEdit(false, data.oid); }else if(layEvent=='DISABLE'){ that.updateStatus("disable",data.oid); }else if(layEvent=='ENABLE'){ that.updateStatus("enable",data.oid); }else if(layEvent=='RELEASE'){ that.updateStatus("release",data.oid); } }); } else { if (total > 0) { table.selectRecord('table_' + that.id, {index: 0}); } } that.fristMainLoad = true; }, rowClick:function(thisTableFilter,record){ that.codeRuleData=record; table.reload("sec_" + that.id, { extraParams: { "conditionMap['pkCodeRule']": record.oid } }); } }; if (parentFieldName) { options.treeConfig = { treepid: parentFieldName, treeid: 'id', showField: 'name' }; } table.render(options); }; this.initSecTable = function () { var that = this; var table = layui.table; that.checkSecColumns(); var tableWidth = $("#border_" + that.id).width(); var options = { elem: '#sec_' + that.id, id: 'sec_' + that.id, backPath: that.backPath, url: that.url.secController + that.url.secDataGrid, limit: -1, width: tableWidth, selectMode: table.selectMode.muti, cols: [that.secColumns], method: 'get', done: function (res, cur, total) { table.on('tool(sec_' + that.id + ')', function (obj) { var data = obj.data;//当前选择行的数据 var layEvent = obj.event;//点的是什么按钮 if (layEvent == 'EDIT') { that.addOrEditSec(false, data); }else if (layEvent == 'VIEW') { that.viewSec(data); }else if (layEvent == 'UP') { that.upOrDown(data.oid,false); } else if (layEvent == 'DOWN') { that.upOrDown(data.oid,true); }else if(layEvent=='SECVALUE'){ that.SECVALUE(data) } }); } }; table.render(options); }; this.checkColumns = function () { var that = this; var table = layui.table; if (that.columns == null || that.columns.length == 0) { that.columns = [table.getIndexColumn(), table.getCheckColumn(), { field: 'id', title: '编号', width: 150, sort: true }, { field: 'name', title: '名称', width: 200, sort: true }, { field: 'description', title: '描述', width: 160, sort: true }, { field: 'lcStatusText', title: '状态', width: 90, sortField: 'lcstatus', sort: true }, { field: 'options', title: '操作', width:150, templet: function (d) { if(d.lcStatus=='Disabled'){ return '启用'; }else if(d.lcStatus=='Released'){ return '停用'; }else if(d.lcStatus=='Editing'){ return '编辑 发布'; }else{ return '' } } }]; } }; this.checkSecColumns = function () { var that = this; var table = layui.table; if (that.secColumns == null || that.secColumns.length == 0) { that.secColumns = [table.getIndexColumn(), table.getCheckColumn(), { field: 'id', title: '码段编号', width: 150, sort: true }, { field: 'name', title: '码段名称', width: 200, sort: true }, { field: 'description', title: '码段描述', width: 180, sort: true }, { title: '码段类型', field: 'sectypeText', sort: true, sortField: 'sectype', type: 'combox', comboxKey: "codeSecType", width: 150 }, { field: 'options', title: '操作', width: 240, templet: function (d) { var up = (d.orderNum && d.orderNum>1)?'上移':''; var down = '下移'; var edit='编辑' if (that.codeRuleData.lcStatus != 'Editing'){ edit='查看' } if(d.sectype=='codeclassifysec' || d.sectype=='codefixedsec'){ return edit+'码值管理' +up + down; }else{ return edit+up + down; } } }]; } }; this.getFormItems = function (onlyShow) { var that = this; var table = layui.table; return [ { field: 'id', title: '编号', required: true }, { field: 'name', title: '名称', required: true }, { field: 'description', title: '描述', type: 'textarea', inputWidth: 485 } ]; }; this.ADD = function () { var that = this; that.addOrEdit(true); }; this.EDIT = function () { var that = this; var oid = webUtil.getOidFromGrid("table_" + that.id, true, true); if (!oid) { return false; } var lcStatus = webUtil.getOidFromGrid("table_" + that.id, true, true,lcStatus); if (lcStatus != 'Editing') { webUtil.showErrorMsg('只能修改编辑中的数据'); return false; } that.addOrEdit(false, oid); }; this.addOrEdit = function (add, oid) { var that = this; var form = layui.form; var filter = "form_" + that.id; var addSaveIndex = webUtil.dialog({ title: add ? "添加编码规则" : '修改编码规则', btn: ['保存', '取消'], content: '
', resizing: function (layero) { form.doResize(filter); }, success: function (layero, layerIndex, classP) { form.addItems(filter, that.getFormItems(false), function () { if (add) { var defaultValues = {}; //可以手动在此处添加默认值 form.setValues(defaultValues, filter); } else { form.load(filter, { backPath: that.backPath, url: that.url.controller + that.url.getObjectByOid, method: 'get', params: { oid: oid } }); } webUtil.relocationOpen(classP) }, {}, {defaultColumnOneRow: 2}); }, yes: function (layero) { if (form.validata(filter)) { var values = form.getValues(filter, true); var url = that.url.controller + (add ? that.url.addSave : that.url.editSave); webUtil.manualAjax(add ? 'post' : 'put', url, JSON.stringify(values), function (result) { if (result.success) { webUtil.showMsgFromResult(result, (add ? "添加成功" : "修改成功")); layer.close(addSaveIndex); that.refresh(); } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); } }, btn2: function (layero) { layer.close(addSaveIndex); } }); }; this.DEL = function () { var that = this; var oid = webUtil.getOidFromGrid("table_" + that.id, true, true); if (!oid) { return false; } var ts = webUtil.getOidFromGrid("table_" + that.id, false, false, "ts"); webUtil.showConfirmMsg("是否删除这条数据?如果被引用将不能被删除!", function () { webUtil.deleteRequest(that.url.controller + that.url.deleteUrl, {oid: oid, ts: ts}, function (result) { if (result.success) { webUtil.showMsgFromResult(result, "删除成功"); that.refresh(); } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); }); }; this.refresh = function () { var that = this; layui.table.reload("table_" + that.id); }; this.ENABLE = function (){ var that = this; var oid = webUtil.getOidFromGrid("table_" + that.id, true, true); if (!oid) { return false; } that.updateStatus("enable",oid); }; this.RELEASE = function (){ var that = this; var oid = webUtil.getOidFromGrid("table_" + that.id, true, true); if (!oid) { return false; } that.updateStatus("release",oid); } this.DISABLE = function (){ var that = this; var oid = webUtil.getOidFromGrid("table_" + that.id, true, true); if (!oid) { return false; } that.updateStatus("disable",oid); }; this.updateStatus = function (able,oid){ var that = this; var ts = webUtil.getOidFromGrid("table_" + that.id,false,false,"ts"); var paramTemp = JSON.stringify({ update:able, oid:oid, ts:ts }); var url = that.url.controller + that.url.updateStatusUrl; webUtil.showConfirmMsg("是否要"+ (able == "enbale" ? "启用" : (able == "disable" ? "停用": "发布")) +"这条数据?",function (){ webUtil.manualAjax('post',url, paramTemp, function (result) { if (result.success) { webUtil.showMsgFromResult(result, (able == "enbale" ? "启用成功" : (able == "disable" ? "停用成功": "发布成功"))); that.refresh(); } else { webUtil.showErrorMsg(result.msg); } },function (xhr,err){ webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); },that.backPath); }); } this.clone=function (){ var that=this; var tableData = layui.table.checkStatus("table_" + that.id).data; if (tableData.length != 1) { webUtil.showErrorMsg('请选择一条编码规则数据'); return false; } var that = this; var form = layui.form; var table = layui.table; var filter = "form_" + that.id; var addSaveIndex = webUtil.dialog({ title: "克隆编码规则", btn: ['保存', '取消'], area:['860px','600px'], content: '
码段管理明细
', resizing: function (layero) { form.doResize(filter); }, success: function (layero, layerIndex, classP) { form.addItems(filter, that.getFormItems(false), function () { form.setValues(tableData[0], filter) }, {}, {defaultColumnOneRow: 2}); var secData = layui.table.getData('sec_' + that.id) var cols = that.secColumns.slice(2, 6) cols.push({ field: 'options', title: '操作', width: 100, templet: function (d) { return '上移下移'; } }) cols.unshift(table.getIndexColumn()) table.render({ elem: '#tableFrom_' + filter, id: 'tableFrom_' + filter, cols: [cols], limit: -1, data: secData, done: function (res, cur, total) { table.on('tool(tableFrom_' + filter + ')', function (obj) { var data = obj.data;//当前选择行的数据 var layEvent = obj.event;//点的是什么按钮 debugger; if (layEvent == 'UP') { obj.index != 0 && layui.table.moveData('tableFrom_' + filter, obj.index, obj.index - 1) } else if (layEvent == 'DOWN') { obj.index != secData.length - 1 && layui.table.moveData('tableFrom_' + filter, obj.index, obj.index + 1) } }); } }); }, yes: function (layero) { if (form.validata(filter)) { var values = form.getValues(filter, true); values.oid='' var tableitems=layui.table.getData('tableFrom_' + filter); layui.each(tableitems,function (index,item){ item.orderNum=index+1; }) values.elements=tableitems; var url = that.url.controller + 'clone'; webUtil.manualAjax('post', url, JSON.stringify(values), function (result) { if (result.success) { webUtil.showMsgFromResult(result, "克隆成功"); layer.close(addSaveIndex); that.refresh(); } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); } }, btn2: function (layero) { layer.close(addSaveIndex); } }); } this.ADVQUERY = function () { var that = this; if (!that.serinorQueryInstance) { var dynamicCondition = layui.dynamicCondition; $('[layui-filter="toolbar_' + that.id + '"]').append('
'); that.checkColumns(); var dataFields = []; for (var i = 0; i < that.columns.length; i++) { dataFields[i] = that.columns[i]; } that.serinorQueryInstance = dynamicCondition.create({ fields: dataFields//查询字段 , tableId: "table_" + that.id//需要查询的表格 , type: "complex" //type:"simple"/"complex" 查询的方法 暂时写死为 complex , queryCallBack: function (requestData) {//查询之后的callback } }); } that.serinorQueryInstance.open(); }; this.CLEARCODE = function (){ var that = this; var oid = webUtil.getOidFromGrid("table_" + that.id, true, true); if (!oid) { return false; } var ts = webUtil.getOidFromGrid("table_" + that.id, false, false, "ts"); webUtil.showConfirmMsg("确定要清空码值?如果清空将不能被恢复,请谨慎!", function () { webUtil.deleteRequest(that.url.controller + that.url.clearCode, {oid: oid, ts: ts}, function (result) { if (result.success) { webUtil.showMsgFromResult(result, "删除成功"); that.refresh(); } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); }); }; this.usedInfo = function (){ var that = this; var oid = webUtil.getOidFromGrid("table_" + that.id, true, true); if (!oid) { return false; } var ts = webUtil.getOidFromGrid("table_" + that.id,false,false,"ts"); var table = layui.table; var filter = "usedInfo_" + that.id; var usedInfoTable = webUtil.dialog({ title: '编码规则使用范围', area:['500px','600px'], content: '
', success: function (layero, layerIndex, classP) { table.render({ elem: '#table_' + filter, id: 'table_' + filter, backPath: that.backPath, url: that.url.controller + 'listUseRange', extraParams: { oid: oid, ts: ts }, page: { limit: 20, page: 1 }, cols: [[table.getIndexColumn(),{ field: 'id', title: '分类编号', width: 170, sort: true }, { field: 'name', title: '分类名称', width: 250, sort: true }]], method: 'get' }); } }) }; this.ADDSEC = function () { this.addOrEditSec(true) }; this.EDITSEC = function () { var that = this; var secData = layui.table.checkStatus("sec_" + that.id).data; if (secData.length != 1) { webUtil.showErrorMsg('请选择一条码段管理数据'); return false; } this.addOrEditSec(false,secData[0]) }; this.DELSEC = function () { var that = this; var oid = webUtil.getOidFromGrid("sec_" + that.id, true, true); if (!oid) { return false; } var ts = webUtil.getOidFromGrid("sec_" + that.id, false, false, "ts"); webUtil.showConfirmMsg("是否删除这条数据?如果被引用将不能被删除!", function () { webUtil.deleteRequest(that.url.secController + that.url.secDeleteUrl, {oid: oid, ts: ts}, function (result) { if (result.success) { webUtil.showMsgFromResult(result, "删除成功"); that.refresh(); } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); }); }; this.cloneSec=function(){ var that = this; var checkData = layui.table.checkStatus("table_" + that.id).data; if (checkData.length != 1) { webUtil.showErrorMsg('请选择一条编码规则数据'); return false; } var filter = "clone_" + that.id; var table=layui.table; var cloneIndex = webUtil.dialog({ title: '克隆编码规则的基础信息', btn: ['保存', '取消'], area:['800px','660px'], content: ['
', '
', '
', '
', '
', '
', '
', '
', '
'].join(''), resizing: function (layero) { }, success: function (layero, layerIndex, classP) { var easyuiLayout = $('#easyuiLayout_' + filter) easyuiLayout.css({height: 550, width: 800}) easyuiLayout.layout(); var cols = that.columns.slice(0, 6) table.render({ elem: '#table_' + filter, id: 'table_' + filter, backPath: that.backPath, url: that.url.controller + that.url.dataGrid, page: { limit: 20, page: 1 }, cols: [cols], method: 'get', done: function (res, cur, total) { if (total > 0) { table.selectRecord('table_' + filter, {index: 0}); that.pkCodeRuleCloneOid = res.data[0].oid; } }, rowClick:function(thisTableFilter,record){ table.reload("tableSec_" + filter, { extraParams: { "conditionMap['pkCodeRule']": record.oid } }); that.pkCodeRuleCloneOid=record.oid; } }); var seccols = that.secColumns.slice(0, 6) table.render({ elem: '#tableSec_' + filter, id: 'tableSec_' + filter, backPath: that.backPath, url: that.url.secController + that.url.secDataGrid, limit: -1, selectMode: table.selectMode.muti, cols: [seccols], method: 'get' }); }, yes: function (layero) { var secData = layui.table.checkStatus("tableSec_" +filter).data; if (secData.length < 1) { webUtil.showErrorMsg('请选择码段数据'); return false; } if(that.pkCodeRuleCloneOid==checkData[0].oid){ webUtil.showErrorMsg('需要克隆的编码规则与被克隆的编码规则相同'); return false; } var oids=[]; layui.each(secData,function (i,item){ oids.push(item.oid) }) var url = that.url.secController + 'clone'; webUtil.manualAjax('post', url, JSON.stringify({pkCodeRule:checkData[0].oid,oidArr:oids.join(',')}), function (result) { if (result.success) { webUtil.showMsgFromResult(result, "克隆成功"); layer.close(cloneIndex); that.refreshSEC(); } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); }, btn2: function (layero) { layer.close(cloneIndex); } }); } this.refreshSEC = function (){ var that = this; layui.table.reload("sec_" + that.id); } //码值管理 this.SECVALUE =function (data){ var that =this; if(data.sectype=='codeclassifysec'){ that.codeclassifyValue(data) }else if(data.sectype=='codefixedsec'){ that.codefixedValue(data) } } //分类码段 this.codeclassifyValue=function (data){ var that = this; var form = layui.form; var tree=layui.tree; var filter = "codeclassify_" + that.id; var html=[ '
', '
', '
', '
    ', '
    ', '', '', '
    ', '
    ', '
    ', '
    ', '
    ', '', '', '', '', '
    ', '
    ', '
    ', '
    ' ] var addSaveIndex = webUtil.dialog({ title: '码段码值管理', btn: [], area:['700px','580px'], content: html.join(''), resizing: function (layero) { form.doResize(filter); }, success: function (layero, layerIndex, classP) { var easyuiLayout = $('#easyuiLayout_' + filter) easyuiLayout.css({height: 513, width: 700}) easyuiLayout.parent().parent().css({margin: '5px'}) easyuiLayout.layout(); var treeUL = $('[layui-filter="tree_' + filter + '"]'); tree.init("tree_" + filter, treeUL, { url: that.url.codeClassifyValueController + 'treeCodeClassifyValue', backPath: that.backPath, loadType:tree.loadType.all, extraParams: { isMuti: false, isQueryAllColumn: true, "conditionMap['codeclassifysecoid']": data.oid }, showSearch: true, click: function (item, elem, options) { that.currentCodeItem = item; that.currentCodeItemOid = item.oid; that.currentCodeItemAttributes = item.attributes; form.setValues(item.attributes, 'form_' + filter); $('.toolbar_' + filter + '_add').removeAttr('disabled','disabled').removeClass('layui-btn-disabled') $('.toolbar_' + filter + '_edit').removeAttr('disabled').removeClass('layui-btn-disabled') $('.toolbar_' + filter + '_del').removeAttr('disabled').removeClass('layui-btn-disabled') } }); var refreshTree=function (){ /*if (that.currentCodeItem) { if (webUtil.isNotNull(that.currentCodeItem.parentId)) { tree.reloadNode("tree_" + filter, that.currentCodeItem.parentId, function (fil, elem, data) { var currentelem = layui.tree.getElemByItem("tree_" + filter, that.currentCodeItemOid); if (currentelem.length > 0) { currentelem.children('a').trigger('click') } else { elem.children('a').trigger('click').trigger('click') } }); } else { tree.reload("tree_" + filter, { loadCallback: function (fil, tempNode) { if (that.currentCodeItemOid) { var currentelem = layui.tree.getElemByItem("tree_" + filter, that.currentItemOid); if (currentelem.length > 0) { currentelem.children('a').trigger('click') } } } }); } }else{*/ tree.reload("tree_" + filter, { loadCallback: function (fil, tempNode) { } }); //} } form.addItems('form_' + filter, [{ field: 'id', title: '码值', required: true }, { field: 'name', title: '名称', required: true }], function () { }, {}, {labelWidth: 80, textWidth: 220}); $('.toolbar_' + filter + '_up').click(function () { if(that.currentCodeItemAttributes.ordernum==0){ return; } that.currentCodeItemAttributes.ordernum=parseInt(that.currentCodeItemAttributes.ordernum)-1; var currentelem = layui.tree.getElemByItem("tree_" + filter, that.currentCodeItemOid) var prevData=tree.getDataByOid("tree_" + filter,tree.getOidByElem("tree_" + filter,currentelem.prev())); prevData.attributes.ordernum=parseInt(prevData.attributes.ordernum)+1; webUtil.manualAjax('post', 'codeClassifyValueController/saveOrder', JSON.stringify({ dtoList: [that.currentCodeItemAttributes, prevData.attributes], codeclassifysecoid: data.oid }), function (result) { if (result.success) { webUtil.showMsgFromResult(result, "保存成功"); refreshTree() } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); }) $('.toolbar_' + filter + '_down').click(function () { var currentelem = layui.tree.getElemByItem("tree_" + filter, that.currentCodeItemOid); if(webUtil.isNull(currentelem.next()[0])){ return; } that.currentCodeItemAttributes.ordernum=parseInt(that.currentCodeItemAttributes.ordernum)+1; var nextData=tree.getDataByOid("tree_" + filter,tree.getOidByElem("tree_" + filter,currentelem.next())); nextData.attributes.ordernum=parseInt(nextData.attributes.ordernum)-1; webUtil.manualAjax('post', 'codeClassifyValueController/saveOrder', JSON.stringify({ dtoList: [that.currentCodeItemAttributes,nextData.attributes], codeclassifysecoid: data.oid }), function (result) { if (result.success) { webUtil.showMsgFromResult(result, "保存成功"); refreshTree() } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); }) $('.toolbar_' + filter + '_add').click(function () { if (form.validata('form_' + filter)) { var values = form.getValues('form_' + filter, true); values.codeclassifysecoid=data.oid; values.oid='' if(that.currentCodeItemOid){ values.parentclassifyvalueoid=that.currentCodeItemOid } if(values.id.length>data.codeSecLength){ webUtil.showErrorMsg('码值长度不能大于'+data.codeSecLength); return; } webUtil.manualAjax('post', that.url.codeClassifyValueController +that.url.addSave, JSON.stringify(values), function (result) { if (result.success) { webUtil.showMsgFromResult(result, "添加成功"); refreshTree() form.setValues({oid:'',name:'',id:''},'form_' + filter); $('.toolbar_' + filter + '_add').removeAttr('disabled').removeClass('layui-btn-disabled') $('.toolbar_' + filter + '_edit').attr('disabled','disabled').addClass('layui-btn-disabled') $('.toolbar_' + filter + '_del').attr('disabled','disabled').addClass('layui-btn-disabled') } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); } }) $('.toolbar_' + filter + '_edit').click(function () { if (form.validata('form_' + filter)) { var values = form.getValues('form_' + filter, true); if(values.id.length>data.codeSecLength){ webUtil.showErrorMsg('码值长度不能大于'+data.codeSecLength); return; } webUtil.manualAjax('put', that.url.codeClassifyValueController +that.url.editSave, JSON.stringify(values), function (result) { if (result.success) { webUtil.showMsgFromResult(result, "修改成功"); refreshTree() } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); } }) $('.toolbar_' + filter + '_del').click(function () { var values = form.getValues('form_' + filter, true); webUtil.showConfirmMsg("是否删除这条数据?如果被引用将不能被删除!", function () { webUtil.deleteRequest(that.url.codeClassifyValueController +that.url.deleteUrl, {oid: values.oid, ts: values.ts}, function (result) { if (result.success) { webUtil.showMsgFromResult(result, "删除成功"); refreshTree() form.setValues({oid:'',name:'',id:''},'form_' + filter) $('.toolbar_' + filter + '_add').removeAttr('disabled').removeClass('layui-btn-disabled') $('.toolbar_' + filter + '_edit').attr('disabled','disabled').addClass('layui-btn-disabled') $('.toolbar_' + filter + '_del').attr('disabled','disabled').addClass('layui-btn-disabled') } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); }); }) $('.toolbar_' + filter + '_cancel').click(function () { form.setValues({oid:'',name:'',id:''},'form_' + filter) $('.toolbar_' + filter + '_add').removeAttr('disabled').removeClass('layui-btn-disabled') $('.toolbar_' + filter + '_edit').attr('disabled','disabled').addClass('layui-btn-disabled') $('.toolbar_' + filter + '_del').attr('disabled','disabled').addClass('layui-btn-disabled') }) } }); } //固定码段 this.codefixedValue=function (data){ var that = this; var form = layui.form; var table = layui.table; var filter = "codefixed_" + that.id; var html=[ '
    ', '
    ', '
    ', '
    ', '', '
    ', '
    ', '
    ', '
    ', '
    ', '
    ', '', '', '', '', '
    ', '
    ', '
    ', '
    ' ] var addSaveIndex = webUtil.dialog({ title: '码段码值管理', btn: [], area:['900px','580px'], content: html.join(''), resizing: function (layero) { form.doResize(filter); }, success: function (layero, layerIndex, classP) { var easyuiLayout = $('#easyuiLayout_' + filter) easyuiLayout.css({height: 513, width: 900}) easyuiLayout.parent().parent().css({margin: '5px'}) easyuiLayout.layout(); that.delcodefixedOids=[] var getfirstData=true; var getTableData = function (filter) { var params = {}; var sourceDataParams = {} var options = layui.table.getConfig(filter) params['page'] = 1; params['limit'] = -1; if (options.sourceDataParams) { //说明是扩展属性 for (var key in options.sourceDataParams) { if (key && key.constructor === Object) return; sourceDataParams['sourceData["' + key + '"]'] = options.sourceDataParams[key];//新的方式 } } //参数 var where = $.extend(params, options.where, options.extraParams, options.queryParams, sourceDataParams); $webUtil.ajax('get', that.url.codeFixedValueController + 'gridCodeFixedValue', where, function (res) { layui.table.reload(filter, { data: res.data }) }, function (e, msg) { $webUtil.showDebugMsg('数据接口请求异常,错误提示:' + msg); }, that.backPath, true); } table.render({ elem: '#table_' + filter, id: 'table_' + filter, data: [], limit: -1, height:460, extraParams:{ "conditionMap['codefixedsecoid']": data.oid }, cols: [[table.getIndexColumn(), { field: 'id', title: '码值', width: 150 }, { field: 'description', title: '描述', width: 120 }, { field: 'options', title: '操作', width: 150, templet: function (d) { return ['上移', '下移', '移除'].join(''); } }]], method: 'get', done: function (res, cur, total) { if(getfirstData){ getTableData('table_' + filter) table.on('tool(table_' + filter + ')', function (obj) { var data = obj.data;//当前选择行的数据 var layEvent = obj.event;//点的是什么按钮 if (layEvent == 'UP') { obj.index != 0 && table.moveData('table_' + filter, obj.index, obj.index - 1) that.UPTempAttr(data, 'table_' + filter); } else if (layEvent == 'DOWN') { obj.index != table.getData('table_' + filter).length - 1 && table.moveData('table_' + filter, obj.index, obj.index + 1) } else if (layEvent == 'REM') { that.delcodefixedOids.push(data.oid) table.removeData('table_' + filter, data[table.config.indexName]); } }); getfirstData=false; } }, rowClick: function (thisTableFilter, record) { form.setValues(record, 'form_' + filter); $('.toolbar_' + filter + '_add').attr('disabled','disabled').addClass('layui-btn-disabled') $('.toolbar_' + filter + '_edit').removeAttr('disabled').removeClass('layui-btn-disabled') $('.toolbar_' + filter + '_del').removeAttr('disabled').removeClass('layui-btn-disabled') } }); form.addItems('form_' + filter, [{ field: 'id', title: '码值', required: true }, { field: 'description', title: '描述', type: 'textarea' }], function () { }, {}, {labelWidth: 100, textWidth: 240}); $('.toolbar_' + filter + '_save').click(function () { var tabledata = table.getData('table_' + filter); var dtoList=[]; layui.each(tabledata,function (i,item){ item.ordernum=i; dtoList.push(item); }) webUtil.manualAjax('post', 'codeFixedValueController/saveOrder', JSON.stringify({ dtoList: dtoList, codefixedsecoid: data.oid }), function (result) { if (result.success) { that.delcodefixedOids=[] webUtil.showMsgFromResult(result, "保存成功"); } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); }) $('.toolbar_' + filter + '_add').click(function () { if (form.validata('form_' + filter)) { var values = form.getValues('form_' + filter, true); values.codefixedsecoid=data.oid; if(values.id.length>data.codeSecLength){ webUtil.showErrorMsg('码值长度不能大于'+data.codeSecLength); return; } webUtil.manualAjax('post', that.url.codeFixedValueController +that.url.addSave, JSON.stringify(values), function (result) { if (result.success) { webUtil.showMsgFromResult(result, "添加成功"); getTableData('table_' + filter); form.setValues({oid:'',name:'',description:''},'form_' + filter); $('.toolbar_' + filter + '_add').removeAttr('disabled').removeClass('layui-btn-disabled') $('.toolbar_' + filter + '_edit').attr('disabled','disabled').addClass('layui-btn-disabled') $('.toolbar_' + filter + '_del').attr('disabled','disabled').addClass('layui-btn-disabled') } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); } }) $('.toolbar_' + filter + '_edit').click(function () { if (form.validata('form_' + filter)) { var values = form.getValues('form_' + filter, true); if(values.id.length>data.codeSecLength){ webUtil.showErrorMsg('码值长度不能大于'+data.codeSecLength); return; } webUtil.manualAjax('put', that.url.codeFixedValueController +that.url.editSave, JSON.stringify(values), function (result) { if (result.success) { webUtil.showMsgFromResult(result, "修改成功"); getTableData('table_' + filter) } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); } }) $('.toolbar_' + filter + '_del').click(function () { var values = form.getValues('form_' + filter, true); webUtil.showConfirmMsg("是否删除这条数据?如果被引用将不能被删除!", function () { webUtil.deleteRequest(that.url.codeFixedValueController + that.url.deleteUrl, {oid: values.oid, ts: values.ts}, function (result) { if (result.success) { webUtil.showMsgFromResult(result, "删除成功"); getTableData('table_' + filter) form.setValues({oid:'',name:'',description:''},'form_' + filter) $('.toolbar_' + filter + '_add').removeAttr('disabled').removeClass('layui-btn-disabled') $('.toolbar_' + filter + '_edit').attr('disabled','disabled').addClass('layui-btn-disabled') $('.toolbar_' + filter + '_del').attr('disabled','disabled').addClass('layui-btn-disabled') } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); }); }) $('.toolbar_' + filter + '_cancel').click(function () { form.setValues({oid:'',name:'',description:''},'form_' + filter) $('.toolbar_' + filter + '_add').removeAttr('disabled').removeClass('layui-btn-disabled') $('.toolbar_' + filter + '_edit').attr('disabled','disabled').addClass('layui-btn-disabled') $('.toolbar_' + filter + '_del').attr('disabled','disabled').addClass('layui-btn-disabled') }) } }); } this.viewSec =function (codeData){ var that=this; var form = layui.form; var filter = "form_" + that.id; var viewIndex = webUtil.dialog({ title: '查看码段信息', btn: [], area:['775px','580px'], content: '
    ' + '
    ', resizing: function (layero) { form.doResize(filter); }, success: function (layero, layerIndex, classP) { form.addItems(filter, that.getSecFormItems(true), function () { form.setValues(codeData, filter); that.sectype = codeData.sectype; var ishidden=true; if(codeData.sectype=='codelevelsec'){ ishidden=codeData.valueCutType=='code_cut_none'; }else{ ishidden=webUtil.isNull(codeData.referCodeClassifyOid) } form.addItems("sec_" + filter, that.getSecItemFormItems(codeData.pkCodeRule,codeData.oid,that.sectype,true,ishidden), function () { form.setValues(codeData, "sec_" + filter); }, {}, {defaultColumnOneRow: 1, labelWidth: 150}); }, {}, {defaultColumnOneRow: 1, labelWidth: 130}); } }); } this.addOrEditSec = function (add,codeData) { var that = this; var checkData = layui.table.checkStatus("table_" + that.id).data; if (checkData.length != 1) { webUtil.showErrorMsg('请选择一条编码规则数据'); return false; } if (checkData[0].lcStatus != 'Editing') { webUtil.showErrorMsg('编码规则状态不是"编辑中",不允许编辑码段'); return false; } var oid=codeData?codeData.oid:''; var form = layui.form; var filter = "form_" + that.id; var addSaveIndex = webUtil.dialog({ title: add ? '添加码段信息' : '修改基础信息', btn: ['保存', '取消'], area:['775px','580px'], content: '
    ' + '
    ', resizing: function (layero) { form.doResize(filter); }, success: function (layero, layerIndex, classP) { form.addItems(filter, that.getSecFormItems(false), function () { if (!add) { /*form.load(filter, { backPath: that.backPath, url: that.url.secController + that.url.secGetObjectByOid, method: 'get', params: { oid: oid } });*/ form.setValues(codeData, filter); } else { var defaultValues = {}; //可以手动在此处添加默认值 form.setValues(defaultValues, filter); } $('.layui-form-switch').css({display:'inline-block'}) form.on('switch(serialDependFlag)', function (data) { var parentDiv = data.othis.parents('.layui-input-inline'); if (this.value == 'false') { parentDiv.find('input[name="serialDependOrder"]').remove(); } else { if (parentDiv.find('input[name="serialDependOrder"]').length == 0) { var inputDiv = $(''); inputDiv.appendTo(parentDiv); } } }); that.sectype='codefixedsec'; var ishidden=true; if(!add){ that.sectype = codeData.sectype; if(codeData.sectype=='codelevelsec'){ ishidden=codeData.valueCutType=='code_cut_none'; }else{ ishidden=webUtil.isNull(codeData.referCodeClassifyOid) } } form.addItems("sec_" + filter, that.getSecItemFormItems(checkData[0].oid,oid,that.sectype,false,ishidden), function () { if (!add) { form.setValues(codeData, "sec_" + filter); } else { var defaultValues = {valueCutType:'code_cut_none'}; //可以手动在此处添加默认值 form.setValues(defaultValues, "sec_" + filter); } form.on('select(valueCutType)',function (data){ if(data.value=='code_cut_none') { //不截取 form.changeItems("sec_" + filter, that.getSecItemFormItems(checkData[0].oid,oid,that.sectype, false, true)); }else{ form.changeItems("sec_" + filter,that.getSecItemFormItems(checkData[0].oid,oid,that.sectype,false,false)); } }) }, {}, {defaultColumnOneRow: 1, labelWidth: 150}); form.on('select(sectype)',function (data){ that.sectype=data.value; ishidden=true; form.removeItems("sec_" + filter,[],true) form.addItems("sec_" + filter, that.getSecItemFormItems(checkData[0].oid,oid,data.value,false,ishidden), function () { form.setValues(data, "sec_" + filter); }, {}, {labelWidth: 150}) }) form.on('select(sec_'+filter+')',function (data){ if(data.name=='referBtmId'){ form.setValues({referConfig:'',referValueInfo:''}, "sec_" + filter); } if(data.name=='referConfig'){ debugger; form.setValues({referBtmId:data.rowData.referType,referBtmName:data.rowData.referTypeName}, "sec_" + filter); } if(data.name=='referAttributeId'){ var selectData = data.rowData; form.setValues({ referCodeClassifyOid:selectData[0]['currentItem'].oid, referCodeClassifyOidName:selectData[0]['currentItem'].text },"sec_" + filter) } }) }, {}, {defaultColumnOneRow: 1, labelWidth: 130}); }, yes: function (layero) { if (form.validata(filter) && form.validata("sec_" + filter)) { var values = form.getValues(filter, true); console.log(values); var secvalues = form.getValues("sec_" + filter, true); console.log(secvalues); var newvalues = $.extend({}, values, secvalues); var serialDependOrder=$('input[name="serialDependOrder"]').val(); if(webUtil.isNotNull(serialDependOrder) && !/^[+]{0,1}(\d+)$/.test(serialDependOrder)){ webUtil.showErrorMsg("流水依赖顺序只能填写正整数"); return false; }else{ newvalues.serialDependOrder=serialDependOrder; } if(add) { newvalues.pkCodeRule = checkData[0].oid; newvalues.orderNum = layui.table.getData("table_" + that.id).length; } var url = that.url.secController + (add ? that.url.secAddSave : that.url.secEditSave); webUtil.manualAjax(add ? 'post' : 'put', url, JSON.stringify(newvalues), function (result) { if (result.success) { webUtil.showMsgFromResult(result, (add ? "添加成功" : "修改成功")); layer.close(addSaveIndex); that.refreshSEC(); } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); } }, btn2: function (layero) { layer.close(addSaveIndex); } }); }; this.getSecFormItems = function (onlyShow) { return [{ field: 'id', title: '码段编号', required: true }, { field: 'name', title: '码段名称', required: true }, { field: 'sectype', title: '码段类型', required: true, type: 'combox', comboxKey: 'codeSecType', search:true, defaultValue: "codefixedsec", readOnly: onlyShow }, { field: 'description', title: '描述', type: 'textarea' }, { field: 'serialDependFlag', title: '是否流水依赖', type: 'truefalse', defaultValue: "false", readOnly: onlyShow }, { field: 'componentCodeFlag', title: '是否参与编码', type: 'truefalse', defaultValue: "false", readOnly: onlyShow, hidden:true }, { field: 'nullableFlag', title: '是否为空', type: 'truefalse', defaultValue: "false", readOnly: onlyShow }, { field: 'displayFlag', title: '是否显示', type: 'truefalse', defaultValue: "false", readOnly: onlyShow, hidden:true }]; }; this.upOrDown = function (oid,down){ var that = this; ///要判断状态 var lcstatus = $webUtil.getOidFromGrid("table_" + that.id,true,true,'lcStatus'); if(!lcstatus){ return false; } if (lcstatus !='Editing') { webUtil.showErrorMsg('只有编码规则的状态是【编辑中】的时候,才能调整码段的顺序'); return false; } $webUtil.post(that.url.secController + (down?"downOrderNum":"upOrderNum"),{oid:oid},function (result){ if(result.success){ $webUtil.showMsgFromResult(result,down?"下移成功":"上移成功"); that.refreshSEC(); }else{ $webUtil.showErrorMsg(result.msg); } },function (error,xhr){ $webUtil.showErrorMsg("链接服务出错,请稍后再试") },that.backPath); }; this.getSecItemFormItems = function (codeRuleOid,codeOid,type, onlyShow,ishidden) { var that=this; if (type == 'codefixedsec') { return [ { field: 'codeSecLengthType', title: '码段长度类型', required: true, type: 'combox', comboxKey: 'codeSecLength', defaultValue: "", readOnly: onlyShow }, { field: 'codeSecLength', title: '码段的长度', required: true, verify: 'number', defaultValue: "", readOnly: onlyShow }]; } else if (type == 'codevariablesec') { //可变码段 return [ { field: 'codeSecLength', title: '码段的长度', required: true, verify: 'number', defaultValue: "", readOnly: onlyShow }, { field: 'codeFillType', title: '编码补位方式', required: true, type: 'combox', comboxKey: 'codeFillType', defaultValue: "", readOnly: onlyShow }, { field: 'codeFillSeparatorSelect', comboxTextField:'codeFillSeparator', title: '补位时的字符', type: 'combox', comboxKey: 'codeFillSeparator', editable:true, search:true, url:"bdSelectInputController/listByFlag", backPath:that.backPath, extraParams:{ namespace:'codebasicsec', flag:'codefileseparator' }, defaultValue: "", readOnly: onlyShow }] } else if (type == 'codedatasec') { //日期码段 return [ { field: 'codeDateFormatStr', title: '日期格式', required: true, type: 'text', defaultValue: "", readOnly: onlyShow }]; } else if (type == 'codeclassifysec') { //分类码段 return [ { field: 'codeSecLengthType', title: '码段长度类型', required: true, type: 'combox', comboxKey: 'codeSecLength', defaultValue: "", readOnly: onlyShow }, { field: 'codeSecLength', title: '码段的长度', required: true, verify: 'number', defaultValue: "", readOnly: onlyShow }, { field: 'matchClassifyValueFlag', title: '是否自动匹配分类值', type: 'truefalse', defaultValue: "false", readOnly: onlyShow }, { field: 'parentClassifySecOid', title: '父分类码段', type: 'refer', showField: 'parentClassifySecText', referConfig: { backPath: that.backPath, isMuti: false, type: 'grid', width:680, tableConfig:{ page:{ limit:15, page:1 }, cols:[layui.table.getIndexColumn(), layui.table.getCheckColumn(), { field: 'id', title: '英文名称', sort:true, width: 150 }, { field: 'name', title: '中文名称', sort:true, width: 150 },{ field: 'description', title: '描述', width: 250 }], queryColumns: [ { field: 'id', title: '英文名称' }, { field: 'name', title: '中文名称' } ] }, url: 'codeBasicSecController/refDataGridClassifySec', where:{ pkCodeRule:codeRuleOid, oid:'!='+codeOid } }, defaultValue: "", readOnly: onlyShow }]; } else if (type == 'codeattrsec') { //属性码段 return [{ field: 'referAttributeId', title: '属性', type: 'refer', showField: 'referAttributeName', referConfig: { type:'mdm/refer/CodeClassifyAttrRefer' }, defaultValue: "", required: true, readOnly: onlyShow }, { field: 'referCodeClassifyOidName', title: '属性所在分类', readOnly: true }, { field: 'getValueClass', title: '取值规则', type: 'refer', defaultValue: "", showField: 'getValueClass', referConfig: { type:'formulaEditor', useFormKey: 'referAttributeId', textFormKey:'referAttributeName' }, readOnly: onlyShow }]; } else if (type == 'codeserialsec') { //流水码段 return [ { field: 'codeSecLength', title: '码段的长度', required: true, verify: 'number', defaultValue: "", readOnly: onlyShow }, { field: 'serialStart', title: '流水号起始值', type: 'text', defaultValue: "1", readOnly: onlyShow }, { field: 'serialStep', title: '流水的步长', verify: 'number', defaultValue: "1", readOnly: onlyShow }, { field: 'codeFillType', title: '编码补位方式', required: true, type: 'combox', comboxKey: 'codeFillType', defaultValue: "", readOnly: onlyShow }, { field: 'codeFillSeparatorSelect', comboxTextField:'codeFillSeparator', title: '补位时的字符', type: 'combox', comboxKey: 'codeFillSeparator', editable:true, search:true, url:"bdSelectInputController/listByFlag", backPath:that.backPath, extraParams:{ namespace:'codebasicsec', flag:'codefileseparator' }, defaultValue: "0", readOnly: onlyShow }, { field: 'codeFillLength', title: '填充长度', type: 'text', defaultValue: "", readOnly: onlyShow }, { field: 'codeFillLimit', title: '流水上限', required: true, verify: 'number', defaultValue: "", readOnly: onlyShow }, { field: 'codeFillFlag', title: '流水是否补码', required: true, type: 'truefalse', defaultValue: "false", readOnly: onlyShow }, { field: 'customCodeSerialClass', title: '自定义的流水算法', type: 'text', defaultValue: "", readOnly: onlyShow }]; } else if (type == 'codelevelsec') { //层级码段 return [ { field: 'codeLevelType', title: '层级类型', required: true, type: 'combox', comboxKey: 'codeLevelType', defaultValue: "", readOnly: onlyShow }, { field: 'codeLevelValue', title: '层级的值', verify: 'number', defaultValue: "", readOnly: onlyShow }, { field: 'valueCutType', title: '字符截取类型', required: true, type: 'combox', comboxKey: 'codeCutType', defaultValue: "", readOnly: onlyShow }, { field: 'valueCutLength', title: '值截取长度', verify: ishidden?'':'numbernotzero', defaultValue: "1", readOnly: onlyShow, hidden:ishidden }, { field: 'codeGetValueType', title: '取值类型', type: 'combox', comboxKey: 'codeGetValueType', defaultValue: "", readOnly: onlyShow }]; } else if (type == 'coderefersec') { //引用码段 return [ { field: 'referBtmId', title: '参照引用的业务类型', type:'refer', showField: 'referBtmName', readOnly: onlyShow, required: true, referConfig:{ type:'platform/objectService/OsBtmTypeRefer' } },{ field: 'referConfig', title: '参照配置', type:'refer', required: true, showField: 'referValueInfo', referConfig: { type:'referConfig', useFormKey:'referBtmId', useFormText:'referBtmName' } }]; } }; }; var cs = new Class(); exports(cs.MODELNAME, cs); });