/** * 主题库分类页面 * @author weidy * @date 2022-01-24 */ layui.define(['layer','element','form','table','dynamicCondition' ,'tree','mdm/refer/CodeClassTemplateRefer','transferTable','mdm/MdmEngineForm'],function(exports) { var webUtil = $webUtil; var Class = function () { this.MODELNAME = "mdm/CodeClassify"; this.moduleKey = "CodeClassify"; this.backPath = configData.compatibility ? path : configData.mdmService; this.url = { attrController: 'codeClassifyAttrController/', controller: 'codeClassifyController/', attrRefer: 'gridCodeClassifyAttribute', tempController: 'codeClassifyTemplateController/', tempDataGrid: 'gridCodeClassifyTemplate', templateAttrController: 'codeClassifyTempAttrController/', templateAttrDataGrid: 'gridCodeClassifyTemplateAttr', processLinkController:'codeClsProcessTempController/', processLinkDataGrid:'gridCodeClassifyProcessTemp', processLinkAddSave:'addSave', processLinkEditSave:'editSave', processLinkDeleteUrl:'deleteData', processLinkGetObjectByOid:'getObjectByOid', phaseController:'codeTempPhaseController/', phaseDataGrid:'gridCodeTemplatePhase', phaseAddSave:'addSave', phaseEditSave:'editSave', phaseDeleteUrl:'deleteData', phaseGetObjectByOid:'getObjectByOid', phaseUnUsedAttribute:'gridUnUsedAttribute', phaseUsedAttribute:'gridUsedAttribute', buttonController:'codeClsTempButtonController/', buttonDataGrid:'gridCodeClassifyTemplateButton', buttonAddSave:'addSave', buttonEditSave:'editSave', buttonDeleteUrl:'deleteData', buttonGetObjectByOid:'getObjectByOid', tree: 'treeCodeClassify', addSave: 'addSave', editSave: 'editSave', checkIsCanDelete: 'checkIsCanDelete', referTree: 'referTree', deleteUrl: 'deleteData', enableData: 'enableData', disableData: 'disableData', getObjectByOid: 'getObjectByOid' }; this.vciFieldTypeMap = { VTBoolean: "布尔型", VTClob: "长文本", VTDate: "日期", VTDateTime: "日期时间", VTTime: "时间", VTLong: "长整型", VTDouble: "金额/双精度", VTInteger: "整形", VTFilePath: "文件", VTString: "字符串" }; this.getContent = function () { var that = this; return '
'; }; this.showContent = function () { var that = this; var html = [ '
', '
', that.getWestToolbarHtml(), '
', '
    ', '
    ', '
    ', '
    ', '
    ', '
    ', '
      ', '
    • 基本信息
    • ', '
    • 模板管理
    • ', '
    ', '
      ', '
    • ', '
      ', '
    • ', '
    • ', '
      ', '
      ', that.getNorthToolbarHtml(), '
      ', '
      ', '
      ', '
      ', '
        ', '
      • 模板属性
      • ', '
      • 模板流程
      • ', '
      • 模板阶段
      • ', '
      • 模板按钮扩展
      • ', '
      ', '
        ', '
      • ', that.getToolbarHtml(), '
        ', '
        ', '
        ', '
      • ', '
      • ', that.getProcessToolbarHtml(), '
        ', '
      • ', '
      • ', that.getPhaseToolbarHtml(), '
        ', '
      • ', '
      • ', that.getButtonToolbarHtml(), '
        ', '
      • ', '
      ', '
      ', '
      ', '
      ', '
    • ', '
    ', '
    ', '
    ', '
    ', '
    ' ]; $("#UIContent_" + that.id).html(html.join('')); }; this.getWestToolbarHtml = function () { var that = this; var html = [ '
    ', '', '', '', '', '', '', '', '', '
    ' ].join(""); return html; }; this.createWestSearchHtml = function () { var that = this; webUtil.bindDefultButtonLisenter(that, "west_" + that.id); }; this.getNorthToolbarHtml = function () { var that = this; var html = [ '
    ', '', '', '', '', '', '', '
    ' ].join(""); return html; }; this.getToolbarHtml = function (isfull) { var that = this; var html = ['
    ']; if (isfull) { html.push('
    ', '', '', '', '
    ') } else { html.push('
    ', '', '', '', '', '
    ') } html.push('
    ', '', '', '', '', //'', //'', '', '
    ', '
    ', '', '', '', //'', '', '
    ') html.push('
    ', '', '
    ') html.push('
    ') html.push('
    ') html.push('
    ') return html.join(""); }; this.getProcessToolbarHtml = function (){ var that = this; var html = [ '
    ', '', '', '', '', '
    ' ].join(""); return html; }; this.getPhaseToolbarHtml = function (){ var that = this; var html = [ '
    ', '', '', '', '', '
    ' ].join(""); return html; }; this.getButtonToolbarHtml = function (){ var that = this; var html = [ '
    ', '', '', '', '', '
    ' ].join(""); return html; }; this.createSearchHtml = function () { var that = this; webUtil.createSearchHtml({id:"模板编号",name:"模板名称"},$("[layui-filter='toolbar_" + that.id + "']"),'temp_'+that.id); webUtil.bindDefultButtonLisenter(that, that.id); webUtil.bindDefultButtonLisenter(that, 'attr_'+that.id); that.createAttrSelect() }; this.createAttrSelect=function (isfull){ var that=this; var optionsHtml = ['','', '','', '','', '','', '','', '','', ''] $('select[name="attr_switch_select'+(isfull?'_full':'')+'"]').append(optionsHtml.join('')) layui.form.render('checkbox','form_selectattrflag'+(isfull?'_full':'')+'') layui.form.on('switch(selectattrflag'+(isfull?'full':'')+')', function(obj){ var name=$('select[name="attr_switch_select'+(isfull?'_full':'')+'"]').val(); var tabledata=layui.table.checkStatus('tempAttr_'+(isfull?'fullScreen_':'')+that.id,true).data; var alltrs=$('div[lay-id="tempAttr_'+(isfull?'fullScreen_':'')+that.id+'"] .layui-table-main tr') layui.each(tabledata,function (i,item){ item[name]=='' && (item[name]='false') if(item[name]!=obj.value){ $('.layui-form-switch',alltrs.eq(item['LAY_TABLE_INDEX']).find('td[data-field="'+name+'"]')).trigger('click') } }) }); } this.init = function () { var that = this; webUtil.copyConfig(that, that.moduleKey); //需要加在定时中,否则样式不能正确展示,不知道原因 wangting setTimeout(function () { that.showContent(); var easyuiLayout = $('#easyuiLayout_' + that.id) easyuiLayout.css({height: $('#portal_body').height() - 43, width: $('#portal_body').width() - 15}) easyuiLayout.layout(); that.createWestSearchHtml(); that.initForm(); that.initTempTable(); that.initTempAttrTable(); that.initTree(); that.createProcessSearchHtml(); that.initProcessTable(); that.createPhaseSearchHtml(); that.initPhaseTable(); that.createButtonSearchHtml(); that.initButtonTable(); $('.tab_center_' + that.id + ' li').click(function () { if ($(this).text() == "模板管理" && $(this).attr('isload') != 'true') { $(this).attr('isload', 'true') setTimeout(function () { var easyuiLayout = $('#easyuiLayoutCenter_' + that.id) easyuiLayout.css({ height: $("#border_" + that.id).height() - 43, width: $("#border_" + that.id).width() - 10 }) easyuiLayout.layout(); that.createSearchHtml(); }, 1) } }); }, 1) }; this.initTree = function () { var that = this; var tree = layui.tree; var treeUL = $('[layui-filter="tree_' + that.id + '"]'); var scrollHeight = treeUL.closest('.panel-body').height(); var treeHeight = scrollHeight - 100; treeUL.parent().height(treeHeight); tree.init("tree_" + that.id, treeUL, { url: that.url.controller + that.url.tree, backPath: that.backPath, extraParams: { isMuti: false, isQueryAllColumn: true }, templet: function (d) { if (d.attributes.lcStatus == 'Disable') { return d.name + '【停用】' } else { return d.name } }, showSearch: true, click: function (item, elem, options) { that.currentItem = item; that.currentItemOid = item.oid; that.currentItemAttributes = item.attributes; that.setFormValues(); } }); }; this.setFormValues = function () { var that = this; layui.form.load("form_info_" + that.id, { url: that.url.controller + that.url.getObjectByOid, method: 'get', params: { "oid": that.currentItemAttributes.oid }, }); //列表 layui.table.reload('temp_' + that.id, { where: { "conditionMap['codeclassifyoid']": that.currentItemAttributes.oid } }) }; this.getFormItems = function (onlyShow,isHidden,typeText) { var that = this; var table = layui.table; return [{ field: 'id', title: typeText + '编号', required: true, readOnly: onlyShow }, { field: 'name', title: typeText + '名称', required: true, readOnly: onlyShow }, { field: 'description', title: '描述', useAllWidth: true, inputWidth: 575, readOnly: onlyShow }, { field: 'btmtypeid', title: '存储的业务类型', type: 'refer', readOnly: onlyShow, hidden:isHidden, required: (!isHidden), showField: 'btmtypename', useAllWidth: true, inputWidth: 575, referConfig: { type:'platform/objectService/OsBtmTypeRefer' } }, { field: 'coderuleoid', title: '编码规则', type: 'refer', useAllWidth: true, inputWidth: 575, showField: 'coderuleoidName', referConfig: { type: 'default', referBo: 'coderule', where:{ lcstatus:'Released' } }, readOnly: onlyShow }, { field: 'codekeyattrrepeatoid', title: '关键属性查询规则', type: 'refer', useAllWidth: true, inputWidth: 575, showField: 'codekeyattrrepeatoidName', referConfig: { type: 'default', referBo: 'codekeyattrrepeat', where:{ lcstatus:'Enabled' } }, readOnly: onlyShow },{ field: 'codeResembleRuleOid', title: '相似查询规则', type:'refer', useAllWidth: true, showField: 'codeResembleRuleOidName', inputWidth: 575, referConfig: { type: 'default', referBo: 'coderesemblerule', where:{ lcstatus:'Enabled' } }, readOnly: onlyShow }]; }; this.initForm = function () { var that = this; var form = layui.form; form.addItems("form_info_" + that.id, that.getFormItems(true,false,'主题库/分类'), function () { }, {}, { defaultColumnOneRow: 2, labelWidth: 200 }); }; this.initTempAttrTable = function (parentFieldName) { var that = this; var table = layui.table; that.checkTempAttrColumns(); //$('#tempAttr_' + that.id).parent().height($("#border_" + that.id).height()-442) var options = { elem: '#tempAttr_' + that.id, id: 'tempAttr_' + that.id, data:[], limit:-1, selectMode: table.selectMode.muti, cols: [that.tempAttrColumns], width:$("#border_center_" + that.id).width(), height:Math.max($("#border_" + that.id).height()-450,160), remoteSort:false, done: function (res, cur, total) { table.on('tool(tempAttr_' + that.id + ')', function (obj) { var data = obj.data;//当前选择行的数据 var layEvent = obj.event;//点的是什么按钮 if (layEvent == 'UP') { that.UPTempAttr(data,'tempAttr_' + that.id); } else if (layEvent == 'DOWN') { that.DOWNTempAttr(data,'tempAttr_' + that.id); } else if (layEvent == 'REM') { that.REMTempAttr(data,'tempAttr_' + that.id); } }); that.bindSwitch('tempAttr_'+that.id) } }; if (parentFieldName) { options.treeConfig = { treepid: parentFieldName, treeid: 'id', showField: 'name' }; } table.render(options); that.getTempAttrData('tempAttr_' + that.id) }; this.getTempAttrData=function (filter){ var that=this; 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.templateAttrController + that.url.templateAttrDataGrid, where, function (res) { layui.table.reload(filter, { data:res.data }) }, function (e, msg) { $webUtil.showDebugMsg('数据接口请求异常,错误提示:' + msg); }, that.backPath,true); } this.checkTempAttrColumns = function () { var that = this; var table = layui.table; if (that.tempAttrColumns == null || that.tempAttrColumns.length == 0) { that.tempAttrColumns = [{ field: 'ordernum', title: '排序号', sort: true, edit: 'number', width: 60, fixed:'left' }, table.getCheckColumn({fixed:'left'}), { field: 'id', title: '属性英文编号', sort: true, width: 100, fixed:'left' }, { field: 'name', title: '属性中文名称', sort: true, edit: 'text', width: 130, fixed:'left' }, { title: '属性分组', field: 'attributegroup', sort: true, edit: 'text', width: 90 }, { title: '类型', field: 'attributeDataTypeText', sort: true, width: 60 },{ title: '列表宽度', field: 'attrTableWidth', width: 80, edit:'number' }, { title: '关键属性', field: 'keyattrflag', width: 65, data: [{key: "true", value: "是"}, {key: "false", value: "否"}], templet: function (d) { return ''; } }, { title: '查询属性', field: 'queryattrflag', width: 65, data: [{key: "true", value: "是"}, {key: "false", value: "否"}], templet: function (d) { return ''; } }, { title: '高级查询属性', field: 'seniorqueryattrflag', width: 85, data: [{key: "true", value: "是"}, {key: "false", value: "否"}], templet: function (d) { return ''; } }, { title: '相似查重属性', field: 'samerepeatattrflag', width: 85, data: [{key: "true", value: "是"}, {key: "false", value: "否"}], templet: function (d) { return ''; } }, { title: '一维码', field: 'barcodeflag', width: 65, hidden:true, data: [{key: "true", value: "是"}, {key: "false", value: "否"}], templet: function (d) { return ''; } }, { title: '二维码', field: 'qrcodeflag', width: 65, hidden:true, data: [{key: "true", value: "是"}, {key: "false", value: "否"}], templet: function (d) { return ''; } }, { title: '必输', field: 'requireflag', width: 65, data: [{key: "true", value: "是"}, {key: "false", value: "否"}], templet: function (d) { return ''; } }, { title: '表单显示', field: 'formdisplayflag', width: 65, data: [{key: "true", value: "是"}, {key: "false", value: "否"}], templet: function (d) { return ''; } }, { title: '列表显示', field: 'tabledisplayflag', width: 65, data: [{key: "true", value: "是"}, {key: "false", value: "否"}], templet: function (d) { return ''; } }, { title: '只读', field: 'readonlyflag', width: 65, data: [{key: "true", value: "是"}, {key: "false", value: "否"}], templet: function (d) { return ''; } }, { title: '列表排序', field: 'sortattrflag', width: 65, data: [{key: "true", value: "是"}, {key: "false", value: "否"}], templet: function (d) { return ''; } }, { title: '多行文本', field: 'textareaflag', width: 65, data: [{key: "true", value: "是"}, {key: "false", value: "否"}], templet: function (d) { return ''; } }, { title: '预览图', field: 'imageflag', width: 65, hidden:true, data: [{key: "true", value: "是"}, {key: "false", value: "否"}], templet: function (d) { //return webUtil.formateBoolean(d.imageflag); return '' } }, { title: '默认值', field: 'defaultvalue', sort: true, edit: 'text', width: 150 }, { title: '前缀', field: 'prefixvalue', sort: true, edit: 'select', editConfig: { editable:true, comboxKey:'prefixvalue', comboxConfig:{ url:"bdSelectInputController/listByFlag", backPath:that.backPath, extraParams:{ namespace:'codeclstempattr', flag:'prefix' } } }, width: 80 }, { title: '后缀', field: 'suffixvalue', sort: true, edit: 'select', editConfig: { editable:true, comboxKey: 'suffixvalue', comboxConfig:{ url:"bdSelectInputController/listByFlag", backPath:that.backPath, extraParams:{ namespace:'codeclstempattr', flag:'suffix' } } }, width: 80 }, { title: '组合规则', field: 'componentrule', sort: true, edit: 'refer', editConfig:{ referConfig:{ type:'formulaEditor', currentVarsUrl:'codeClassifyTempAttrController/gridCodeClassifyTemplateAttr', currentVarsParams: { "conditionMap[\"classifyTemplateOid\"]":"${formValues.classifytemplateoid}", "conditionMap[\"oid\"]":"!=${formValues.oid}" } } }, width: 180 }, { title: '验证规则', field: 'verifyrule', sort: true, edit: 'refer', editConfig:{ referConfig:{ type:'mdm/CodeClassifyVerifyUser' } }, width: 150 }, { title: '时间格式', field: 'codedateformat', sort: true, edit: 'select', editConfig: { editable:true, comboxKey: 'codedateformat', comboxConfig:{ url:"bdSelectInputController/listByFlag", backPath:that.backPath, extraParams:{ namespace:'codeclstempattr', flag:'dateFormates' } } }, width: 150 }, { title: '分类注入(层级/名称)', field: 'classifyinvokelevel', edit: 'refer', editConfig:{ referConfig:{ type:'mdm/CodeClassifyClassifyuse', setValue: 'layui.table.changeRecord(that.key, index, rawValue)' } }, width: 200, templet: function (d) { if(d.classifyinvokeattr){ var value='注入类型:'+d.classifyinvokeattr+';'; if(d.classifyinvokeattr=='id'){ value+='注入类型名称:分类代号;' }else{ value+='注入类型名称:分类名称;' } value+='层级设置:'+d.classifyinvokelevel+';'; value+='是否可修改:'+webUtil.formateBoolean(d.classifyinvokeeditflag); return value; }else{ return '' } } }, { title: '枚举注入', field: 'enumString', edit: 'refer', editConfig:{ referConfig:{ type:'mdm/CodeClassifyEnumUse' } }, width: 150 }, { title: '级联属性', field: 'parentCode', edit: 'refer', editConfig:{ referConfig:{ type:'mdm/CodeClassifyAttribute', setValue: 'layui.table.changeRecord(that.key, index, rawValue)' } }, width: 150, templet: function (d) { return d.parentCode?(d.parentCode+'('+d.parentName+')'): ''; } }, { title: '参照配置', field: 'referConfig', edit: 'refer', editConfig:{ referConfig:{ type:'referConfig' } }, width: 150 }, { title: '级联查询属性', field: 'parentQueryAttr', edit: 'text', width: 150 }, { title: '选择库标识', field: 'libraryIdentification', edit: 'text', width: 150 }, { title: '填写提示', field: 'explain', edit: 'text', width: 150 }, { title: '表单显示样式', field: 'formdisplaystyle', edit: 'text', width: 150 }, { title: '表格显示样式', field: 'tabledisplaystyle', edit: 'text', width: 150 }, { title: '表单超链接', field: 'formhref', edit: 'text', width: 150 }, { title: '表格超链接', field: 'tablehref', edit: 'text', width: 150 }, { title: '表格显示js', field: 'tabledisplayjs', edit: 'text', width: 150 }, { title: '长度', field: 'controllength', width: 60 }, { title: '小数精度(刻度)', field: 'precisionlength', width: 100 }, { title: '取值范围', field: 'valuearea', sort: true, edit: 'text', width: 150 }, { field: 'options', title: '操作', width: 70, fixed:'right', templet: function (d) { return ['移除'].join(''); } }]; that.tempAttrdataFields = [{ field: 'id', title: '属性英文编号' }, { field: 'name', title: '属性中文名称' }, { title: '属性分组', field: 'attributegroup' }, { title: '类型', field: 'attributedatatypeText', type: 'combox', data: [] }, { title: '关键属性', field: 'keyattrflag', type: 'combox', comboxKey: [{key: "true", value: "是"}, {key: "false", value: "否"}] }, { title: '查询属性', field: 'queryattrflag', type: 'combox', comboxKey: [{key: "true", value: "是"}, {key: "false", value: "否"}] }, { title: '高级查询属性', field: 'seniorqueryattrflag', type: 'combox', comboxKey: [{key: "true", value: "是"}, {key: "false", value: "否"}] }, { title: '相似查重属性', field: 'samerepeatattrflag', type: 'combox', comboxKey: [{key: "true", value: "是"}, {key: "false", value: "否"}] }, /*{ title: '一维码', field: 'barcodeflag', type: 'combox', comboxKey: [{key: "true", value: "是"}, {key: "false", value: "否"}] }, { title: '二维码', field: 'qrcodeflag', type: 'combox', comboxKey: [{key: "true", value: "是"}, {key: "false", value: "否"}] },*/ { title: '必输', field: 'requireflag', type: 'combox', comboxKey: [{key: "true", value: "是"}, {key: "false", value: "否"}] }, { title: '表单显示', field: 'formdisplayflag', type: 'combox', comboxKey: [{key: "true", value: "是"}, {key: "false", value: "否"}] }, { title: '列表显示', field: 'tabledisplayflag', type: 'combox', comboxKey: [{key: "true", value: "是"}, {key: "false", value: "否"}] }, { title: '只读', field: 'readonlyflag', type: 'combox', comboxKey: [{key: "true", value: "是"}, {key: "false", value: "否"}] }, { title: '列表排序', field: 'sortattrflag', type: 'combox', comboxKey: [{key: "true", value: "是"}, {key: "false", value: "否"}] }, { title: '长度', field: 'controllength', type: 'number' }, { title: '默认值', field: 'defaultvalue' }, { title: '前缀', field: 'prefixvalue' }, { title: '后缀', field: 'suffixvalue' }, { title: '小数精度(刻度)', field: 'precisionlength', type: 'number' }, { title: '组合规则', field: 'componentrule' }, { title: '验证规则', field: 'verifyrule' }, { title: '取值范围', field: 'valuearea' }, { title: '时间格式', field: 'codedateformat' }, { title: '分类注入(层级/名称)', field: 'classifyinvokelevel' }, { title: '枚举注入', field: 'enumid' }, { title: '参照配置', field: 'referConfig' }, { title: '表单显示样式', field: 'formdisplaystyle' }, { title: '表格显示样式', field: 'tabledisplaystyle' }, { title: '表单超链接', field: 'formhref' }, { title: '表格超链接', field: 'tablehref' }, { title: '表格显示js', field: 'tabledisplayjs' }, { title: '多行文本', field: 'textareaflag', type: 'combox', comboxKey: [{key: "true", value: "是"}, {key: "false", value: "否"}] }/*, { title: '预览图', field: 'imageflag', type: 'combox', comboxKey: [{key: "true", value: "是"}, {key: "false", value: "否"}] }*/] } }; this.bindSwitch=function (tableId){ var that=this; layui.form.on('switch(attrflag)', function(obj){ var tr=$(obj.othis).parents('tr'); var data= layui.table.getData(tableId)[tr.attr('data-index')] data[this.name]=obj.elem.checked //layui.table.changeRecord(tableId,tr.attr('data-index'),data); $(obj.othis).parents('td').addClass('layui-table-edit_notsubmit') }); } this.initTempTable = function () { var that = this; var table = layui.table; that.checkTempColumns(); var tableWidth = $("#border_" + that.id).width(); var options = { elem: '#temp_' + that.id, id: 'temp_' + that.id, backPath: that.backPath, url: that.url.tempController + that.url.tempDataGrid, page: { limit: 10, page: 1 }, selectMode: table.selectMode.muti, cols: [that.tempColumns], method: 'get', done: function (res, cur, total) { if (!that.fristMainLoad) { table.on('tool(temp_' + that.id + ')', function (obj) { var data = obj.data;//当前选择行的数据 var layEvent = obj.event;//点的是什么按钮 if (layEvent == 'EDIT') { that.addOrEditTEMP(false,false, data); } else if (layEvent == 'UPREVSION') { that.doUPTEMP(data.oid, data.ts); }else if(layEvent=='DISABLE'){ webUtil.showConfirmMsg("模板只有发布状态才能被使用,是否确定停用?", function () { that.disableOrEnableTEMP(false, data.oid, data.ts); }); }else if(layEvent=='ENABLE'){ webUtil.showConfirmMsg("是否确定启用/发布这个模板,模板只有发布状态才能被使用,是否继续?", function () { that.disableOrEnableTEMP(true, data.oid, data.ts); }); } }); } else { if (total > 0) { table.selectRecord('temp_' + that.id, {index: 0}); }else { table.reload("tempAttr_" + that.id, { data:[] }) } } that.fristMainLoad = true; }, rowClick: function (thisTableFilter, record) { var options=layui.table.getConfig('tempAttr_' + that.id) options.extraParams={ "conditionMap['classifyTemplateOid']": record.oid } table.setConfig(options) that.getTempAttrData('tempAttr_' + that.id) table.reload("process_" + that.id, { extraParams: { "conditionMap['classifyTemplateOid']": record.oid } }) table.reload("phase_" + that.id,{ extraParams: { "conditionMap['codeClassifyTemplateOid']": record.oid } }) table.reload("button_" + that.id,{ extraParams: { "conditionMap['classifyTemplateOid']": record.oid } }) } }; table.render(options); }; this.checkTempColumns = function () { var that = this; var table = layui.table; if (that.tempColumns == null || that.tempColumns.length == 0) { that.tempColumns = [table.getIndexColumn(), table.getCheckColumn(), { field: 'id', title: '模板编号', sort: true, width: 150 }, { field: 'name', title: '模板名称', sort: true, width: 200 }, { field: 'description', title: '模板描述', sort: true, width: 150 }, { field: 'revisionValue', title: '版本号', sort: true, width: 70 }, { field: 'lcStatusText', title: '状态', sortField: 'lcStatus', sort: true, width: 60 }, { field: 'options', title: '操作', width: 200, fixed:'right', templet: function (d) { var btns=[]; if (d.lcStatus == 'Editing') { btns.push('编辑启用/发布') }else if(d.lcStatus=='Disabled'){ btns.push('启用/发布'); }else if(d.lcStatus=='Released' || d.lcStatus=='Enabled'){ btns.push('停用/失效升版'); } return btns.join(""); } }]; that.tempdataFields = [{ field: 'id', title: '模板编号' }, { field: 'name', title: '模板名称' }, { field: 'description', title: '模板描述' }, { field: 'revisionValue', title: '版本号' }, { field: 'lcStatus', title: '状态', type: 'combox', comboxKey: [{key: "Editing", value: "编辑中"}, {key: "Released", value: "已撤销"}, { key: "Designing", value: "已挂起" }, {key: "Finish", value: "已完工"}, {key: "Scrap", value: "已作废"}] }] } }; this.createProcessSearchHtml = function (){ var that = this; webUtil.createSearchHtml({name:"模板名称"},$("[layui-filter='toolbar_process_" + that.id + "']"),'process_' + that.id); webUtil.bindDefultButtonLisenter(that, "process_" + that.id); }; this.initProcessTable = function () { var that = this; var table = layui.table; that.checkProcessColumns(); var tableWidth = $("#border_" + that.id).width() - 15; var options = { elem: '#process_' + that.id, id: 'process_' + that.id, backPath: that.backPath, url: that.url.processLinkController + that.url.processLinkDataGrid, page: { limit: 15, page: 1 }, width: tableWidth, selectMode: table.selectMode.muti, cols: [that.processColumns], method: 'get', done: function (res, cur, total) { if (!that.fristProcessLoad) { table.on('tool(process_' + that.id + ')', function (obj) { var data = obj.data;//当前选择行的数据 var layEvent = obj.event;//点的是什么按钮 if (layEvent == 'EDIT') { that.addOrEditProcess(false,data.classifyTemplateOid,data.oid); } }); } else { if (total > 0) { table.selectRecord('process_' + that.id, {index: 0}); } } that.fristProcessLoad = true; } }; table.render(options); }; this.checkProcessColumns = function (){ var that = this; var table = layui.table; if(that.processColumns==null || that.processColumns.length==0){ that.processColumns = [table.getIndexColumn(),table.getCheckColumn(), { title: '模板key', field: 'id', sort:true, width: 150 },{ title: '模板名称', field: 'name', sort:true, width: 200 },{ title: '模板版本', field: 'processVersion', width: 70 }, { title: '流程模板用途', field: 'codeprocessuseText', sort:true, sortField:'codeprocessuse', type:'combox', comboxKey:"codeClassifyProcessUse", width: 150 },{ field: 'codeTempAttrOidArrName', title: '流程树显示属性', width: 200 }, { field:'options', title:'操作', width: 100, templet:function(d){ return '编辑'; } }]; } }; this.createPhaseSearchHtml = function (){ var that = this; webUtil.createSearchHtml({name:"阶段名称"},$("[layui-filter='toolbar_phase_" + that.id + "']"),'phase_' + that.id); webUtil.bindDefultButtonLisenter(that, "phase_" + that.id); }; this.initPhaseTable = function (){ var that = this; var table = layui.table; that.checkPhaseColumns(); var tableWidth = $("#border_" + that.id).width() - 15; var options = { elem: '#phase_' + that.id, id: 'phase_' + that.id, backPath: that.backPath, url: that.url.phaseController + that.url.phaseDataGrid, page: { limit: 15, page: 1 }, width: tableWidth, selectMode: table.selectMode.muti, cols: [that.phaseColumns], method: 'get', done: function (res, cur, total) { if (!that.fristPhaseLoad) { table.on('tool(phase_' + that.id + ')', function (obj) { var data = obj.data;//当前选择行的数据 var layEvent = obj.event;//点的是什么按钮 if (layEvent == 'EDITPHASE') { that.addOrEditPhase(false,data.oid); } if (layEvent == 'VIEWPHASE') { that.addOrEditPhase(false,data.oid,true); } }); } else { if (total > 0) { table.selectRecord('phase_' + that.id, {index: 0}); } } that.fristPhaseLoad = true; } }; table.render(options); }; this.checkPhaseColumns = function (){ var that = this; var table = layui.table; if(that.phaseColumns==null || that.phaseColumns.length==0){ that.phaseColumns = [table.getIndexColumn(),table.getCheckColumn(), { field:'id', title: '阶段编号', width: 150 },{ field: 'name', title: '阶段名称', width: 200 },{ field: 'description', title: '描述', width: 150 }, { field:'options', title:'操作', width: 150, templet:function(d){ return '编辑查看'; } }]; } }; this.createButtonSearchHtml = function (){ var that = this; webUtil.createSearchHtml({name:"按钮名称"},$("[layui-filter='toolbar_button_" + that.id + "']"),'button_' + that.id); webUtil.bindDefultButtonLisenter(that, "button_" + that.id); }; this.initButtonTable = function (){ var that = this; var table = layui.table; that.checkButtonColumns(); var tableWidth = $("#border_" + that.id).width() - 15; var options = { elem: '#button_' + that.id, id: 'button_' + that.id, backPath: that.backPath, url: that.url.buttonController + that.url.buttonDataGrid, page: { limit: 15, page: 1 }, width: tableWidth, selectMode: table.selectMode.muti, cols: [that.buttonColumns], method: 'get', done: function (res, cur, total) { if (!that.fristButtonLoad) { table.on('tool(button_' + that.id + ')', function (obj) { var data = obj.data;//当前选择行的数据 var layEvent = obj.event;//点的是什么按钮 if (layEvent == 'EDITBUTTON') { that.addOrEditButton(false,data.oid); } }); } else { if (total > 0) { table.selectRecord('phase_' + that.id, {index: 0}); } } that.fristButtonLoad = true; } }; table.render(options); }; this.checkButtonColumns = function(){ var that = this; var table = layui.table; if(that.buttonColumns==null || that.buttonColumns.length==0){ that.buttonColumns = [table.getIndexColumn(),table.getCheckColumn(), { title: '按钮标识', field: 'id', sort:true, width: 150 }, { title: '按钮名称', field: 'classifybuttonoidName', width: 150 }, { title: '按钮用途', field: 'buttonUseText', sortField:'buttonuse', sort:true, width: 150 }, { title: '排序号', field: 'ordernum', type: 'number', width: 100 }]; } }; this.ADDClassify = function () { var that = this; that.addOrEditClassify(true); }; this.EDITClassify = function () { var that = this; if (webUtil.isNull(that.currentItemOid)) { webUtil.showErrorMsg("请先从树上选择一条数据"); return false; } that.addOrEditClassify(false, that.currentItemOid); }; //添加修改主题库分类 this.addOrEditClassify = function (add, oid) { var that = this; var form = layui.form; var filter = "form_" + that.id; var typeText = $webUtil.isNull(that.currentItemOid)?'主题库':'分类'; var title = (add ? '添加' : '修改') + typeText; var addSaveIndex = webUtil.dialog({ title: title, btn: ['保存', '取消'], content: '
    ', resizing: function (layero) { form.doResize(filter); }, success: function (layero, layerIndex, classP) { var isHidden=false; if((add && that.currentItemOid) || (!add && webUtil.isNotNull(that.currentItemAttributes.parentcodeclassifyoid))){ isHidden=true; } form.addItems(filter, that.getFormItems(false,isHidden,typeText), function () { if (!add) { form.load(filter, { backPath: that.backPath, url: that.url.controller + that.url.getObjectByOid, method: 'get', params: { oid: oid } }); } else { var defaultValues = {}; if (that.currentItemAttributes) { defaultValues["parentcodeclassifyoid"] = that.currentItemOid; defaultValues["parentcodeclassifyoidname"] = that.currentItemAttributes.name; } //可以手动在此处添加默认值 form.setValues(defaultValues, filter); } webUtil.relocationOpen(classP) }, {}, {defaultColumnOneRow: 3, labelWidth: 160}); }, 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); if ($webUtil.isNull(values.parentcodeclassifyoid) && $webUtil.isNull(values.btmtypeid)) { $webUtil.showErrorMsg('主题库必须设置业务类型'); return false; } if($webUtil.isNotNull(values.parentcodeclassifyoid)){ values.btmtypeid='' values.btmtypename='' } webUtil.manualAjax(add ? 'post' : 'put', url, JSON.stringify(values), function (result) { if (result.success) { webUtil.showMsgFromResult(result, (add ? "添加成功" : "修改成功")); layer.close(addSaveIndex); that.refreshClassify(); } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); } }, btn2: function (layero) { layer.close(addSaveIndex); } }); }; this.DELClassify = function () { var that = this; if (webUtil.isNull(that.currentItemOid)) { webUtil.showErrorMsg("请先从树上的节点"); return false; } var ts = that.currentItemAttributes.ts; webUtil.showConfirmMsg("是否删除当前选择的分类,将会把子分类一并删除,如果存在编码数据将不能被删除,是否继续?", function () { var submitValue = {oid: that.currentItemOid, ts: ts}; webUtil.post(that.url.controller + that.url.checkIsCanDelete, submitValue, function (result) { if (result.success) { if ('true' == result.obj || true == result.obj) { webUtil.showConfirmMsg("当前数据包含有下级数据,要删除的话会和下级数据一起删除,你确认继续?", function () { that.doDeleteClassify(submitValue); }); } else { //说明可以删除 that.doDeleteClassify(submitValue); } } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, error) { webUtil.showErrorMsg("校验删除出现了错误,可能是服务器未启动") }, that.backPath); }); }; this.doDeleteClassify = function (submitValue) { var that = this; webUtil.deleteRequest( that.url.controller + that.url.deleteUrl, submitValue, function (result) { if (result.success) { webUtil.showMsgFromResult(result, "删除成功"); that.currentItemOid=null; that.currentItemAttributes=null; that.currentItem=null; that.refreshClassify(); } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("执行删除的时候出错了错误,可能是服务器暂时无法访问"); }, that.backPath); }; this.DISABLEClassify = function () { var that = this; if (webUtil.isNull(that.currentItemOid)) { webUtil.showErrorMsg("请先从树上选择一条数据"); return false; } if(that.currentItemAttributes.lcStatus!='Enabled'){ webUtil.showErrorMsg("当前分类不是启用状态"); return false; } webUtil.showConfirmMsg("是否停用当前分类,停用后,子分类也将不能被使用,是否继续?", function () { that.disableOrEnableClassify(false); }); }; this.ENABLEClassify = function () { var that = this; if (webUtil.isNull(that.currentItemOid)) { webUtil.showErrorMsg("请先从树上选择一条数据"); return false; } if(that.currentItemAttributes.lcStatus!='Disabled' && that.currentItemAttributes.lcStatus!='Editing' ){ webUtil.showErrorMsg("当前分类不是停用状态"); return false; } var enableIndex = layer.open({ title: '需要您确认', btn: ['是', '否', '取消'], content: '
    是否将子分类一并启用?
    ', resizing: function (layero) { }, success: function (layero, layerIndex, classP) { webUtil.relocationOpen(classP) }, yes: function (layero) { that.disableOrEnableClassify(true, true); }, btn2: function (layero) { that.disableOrEnableClassify(true, false); }, btn3: function (layero) { layer.close(enableIndex); } }) }; //停用启用主题库分类 this.disableOrEnableClassify = function (enable, ablechildren) { var that = this; var oid; var ts; if (webUtil.isNull(that.currentItemOid)) { webUtil.showErrorMsg("请先从树上选择一条数据"); return false; } oid = that.currentItemOid; ts = that.currentItemAttributes.ts; webUtil.post(that.url.controller + (enable ? that.url.enableData : that.url.disableData), { oid: oid, ts: ts, ablechildren: ablechildren }, function (result) { if (result.success) { webUtil.showMsgFromResult(result, (enable ? '启用成功' : '停用成功')); that.refreshClassify(); } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); }; this.refreshClassify = function (buttonid, ele) { var that = this; var tree = layui.tree; if (that.currentItem && !buttonid) { if (webUtil.isNotNull(that.currentItem.parentId)) { tree.reloadNode("tree_" + that.id, that.currentItem.parentId, function (filter, elem, data) { var currentelem = layui.tree.getElemByItem("tree_" + that.id, that.currentItemOid); if (currentelem.length > 0) { currentelem.children('a').trigger('click') } else { elem.children('a').trigger('click').trigger('click') } }); } else { tree.reload("tree_" + that.id, { loadCallback: function (filter, tempNode) { if (that.currentItemOid) { var currentelem = layui.tree.getElemByItem("tree_" + that.id, that.currentItemOid); if (currentelem.length > 0) { currentelem.children('a').trigger('click') } } } }); } }else{ tree.reload("tree_" + that.id, { loadCallback: function (filter, tempNode) { } }); that.currentItemOid=null; that.currentItemAttributes=null; that.currentItem=null; } }; this.ADVQUERYClassify = function () { var that = this; if (!that.serinorQueryInstance) { var dynamicCondition = layui.dynamicCondition; $('[layui-filter="toolbar_' + that.id + '"]').append('
    '); that.checkColumns(); that.serinorQueryInstance = dynamicCondition.create({ fields: that.dataFields//查询字段 , tableId: "table_" + that.id//需要查询的表格 , type: "complex" //type:"simple"/"complex" 查询的方法 暂时写死为 complex , queryCallBack: function (requestData) {//查询之后的callback } }); } that.serinorQueryInstance.open(); }; //判断模板数据状态 this.checkTEMPStatus = function (isStatus,statusMsg) { var that = this; var checkData = layui.table.checkStatus("temp_" + that.id).data; if (checkData.length != 1) { webUtil.showErrorMsg('请选择一个模板'); return false; } isStatus=false; if (isStatus) { if (checkData[0].lcStatus != 'Editing') { webUtil.showErrorMsg(statusMsg || '模板状态不是“编辑中”'); return false; } } return checkData[0]; }; //模板属性添加 this.ADD = function (type,button) { var that = this; var tempData=that.checkTEMPStatus(true) if (!tempData) { return false; } var table = layui.table; var filter = "add_attr_" + that.id; var addSaveIndex = webUtil.dialog({ title: '从业务类型中选择属性', btn: ['确定选择', '取消'], area: ['1280px', '600px'], content: '
    ' + '
    ' + '' + '
    ' + '
    '+ '
    ' + '
    '+ '
    ', success: function (layero, layerIndex, classP) { var columns = [table.getIndexColumn(), table.getCheckColumn(), { field: 'id', title: '属性英文名称', width: 150 }, { field: 'name', title: '属性中文名称', width: 200 }, { field: 'attributeLength', title: '长度', width: 80 }, { field: 'attrDataType', title: '数据类型', width: 80, templet: function (d) { return that.vciFieldTypeMap[d.attrDataType]; } }, { field: 'nullableFlag', title: '可空', width: 60, templet: function (d) { return $webUtil.formateBoolean(d.nullableFlag); } }, { field: 'defaultValue', title: '默认值', width: 80 }, { field: 'precisionLength', title: '小数精度', width: 80 }, { field: 'scaleLength', title: '小数刻度', width: 80 }, { field: 'range', title: '取值范围', width: 100 }, { field: 'referFlag', title: '参照', width: 130, templet: function (d) { if (!d.referFlag) { return ''; } else { return d.referBtmTypeId } } }, { field: 'enumFlag', title: '枚举', width: 130, templet: function (d) { if (!d.enumFlag) { return ''; } else { return d.enumId } } }] var options = { elem: '#table_' + filter, id: 'table_' + filter, backPath: that.backPath, url: that.url.templateAttrController + 'codeClassifyTemplateAttrByBtm', extraParams:{ "conditionMap['oid']":tempData.oid }, selectMode: table.selectMode.muti, limit: -1, cols: [columns] }; table.render(options); $('[name="searchbtn_'+ filter +'"]').click(function(){ var searchField = $(this).parent().parent().find('select').val(); var searchValue = $(this).parent().parent().find('[name="searchvalue_' + filter + '"]').val(); queryByCondition('table_' + filter,searchField,searchValue); }); $('[name="searchvalue_'+ filter +'"]').keydown(function(e){ if(e.keyCode == 13) { var searchField = $(this).parent().parent().find('select').val(); var searchValue = $(this).val(); queryByCondition('table_' + filter, searchField,searchValue); } }); queryByCondition = function(tableId,searchField,searchValue){ if($webUtil.isNotNull(searchValue)){ searchValue = "*" + searchValue + "*"; } var requestData={} requestData['conditionMap["' + searchField + '"]'] = searchValue; requestData['page']= 1; var table = layui.table; table.reload( tableId, { where: requestData } ); } }, yes: function (layero) { var checkData = layui.table.checkStatus("table_" + filter).data; if (checkData.length < 1) { webUtil.showErrorMsg('请选择属性集'); return false; } else { var tempAttrData = layui.table.getData('tempAttr_' + that.id, true); var addData = []; var ordernum=tempAttrData.length $.each(checkData, function (ci, citem) { var isCopy=false; $.each(tempAttrData, function (i, item) { if(citem.id == item.id){ isCopy=true; return false; } }) if(!isCopy) { citem.oid='' addData.push($.extend({}, citem, { ordernum:++ordernum, attributedatatype:citem.attrDataType, attributeDataTypeText:that.vciFieldTypeMap[citem.attrDataType], controllength: citem.attributeLength, valuearea:citem.range, referbtmid:citem.referBtmTypeId, referbtmname:citem.referBtmTypeName, referConfig:'', enumid:citem.enumId, precisionlength:(citem.precisionLength?citem.precisionLength:'')+(citem.scaleLength?'('+citem.scaleLength+')':''), classifyTemplateOid:tempData.oid, formdisplayflag:true, tabledisplayflag:true, sortattrflag:true, queryattrflag:true, seniorqueryattrflag:true, attrTableWidth:120 })) } }) layui.table.addData('tempAttr_' + that.id, addData); layer.close(addSaveIndex); } }, btn2: function (layero) { layer.close(addSaveIndex); } }); }; this.REMTempAttr = function (data,filter) { var that = this; layui.table.removeData(filter, data[layui.table.config.indexName]); } //模板属性删除 this.DEL = function (type,button) { var that = this; if (!that.checkTEMPStatus(true)) { return false; } var filter=$(button).attr('isfull')=='true'?'tempAttr_fullScreen_'+that.id:"tempAttr_" + that.id var tempAttrData = layui.table.checkStatus(filter,true).data; if (tempAttrData.length == 0) { webUtil.showErrorMsg("请选择需要删除的模板属性"); return false; } $.each(tempAttrData, function (i, item) { that.REMTempAttr(item,filter) }) }; //模板属性保存 this.SAVE = function (type,button) { var that = this; if (!that.checkTEMPStatus(true)) { return false; } var filter=$(button).attr('isfull')=='true'?'tempAttr_fullScreen_'+that.id:"tempAttr_" + that.id; that.VIEWORDER(type,button) var tempAttrData=layui.table.getData(filter,true); var ischeck=true; layui.each(tempAttrData,function (index,item){ tempAttrData[index].ordernum=index+1; if((item.requireflag && item.requireflag.toString()=='true') && (item.readonlyflag && item.readonlyflag.toString()=='true')){ webUtil.showErrorMsg(item.name+"("+item.id+")必输的属性不能是只读"); ischeck=false; return; } var num=0; if(webUtil.isNotNull(item.componentrule)){ //组合规则 num++ } if(webUtil.isNotNull(item.enumString) || webUtil.isNotNull(item.enumid)){ //枚举 num++ } if(webUtil.isNotNull(item.referConfig) || webUtil.isNotNull(item.referbtmid)){ //参照 num++ } if(webUtil.isNotNull(item.codedateformat)){ //时间格式 num++ } if(webUtil.isNotNull(item.classifyinvokelevel)){ //分类注入 num++ } /*if(item.barcodeflag=='true' || item.barcodeflag==true){ //一维码 num++ } if(item.qrcodeflag=='true' || item.qrcodeflag==true){ //二维码 num++ } if(item.imageflag=='true' || item.imageflag==true){ //缩略图 num++ }*/ if(num>1){ webUtil.showErrorMsg(item.name+"("+item.id+") 属性只能是组合规则,枚举,参照,时间格式,分类注入中的一种"); ischeck=false; return; } }) if(!ischeck){ return ; } webUtil.manualAjax('post', that.url.templateAttrController+'batchAddSave', JSON.stringify(tempAttrData), function (result) { if (result.success) { webUtil.showMsgFromResult(result, ("保存成功")); that.refresh(type,button); if(filter=='tempAttr_fullScreen_'+that.id) that.getTempAttrData("tempAttr_" + that.id); } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); } //模板属性重置 this.CANCEL = function (type,button) { var that = this; if (!that.checkTEMPStatus(true)) { return false; } that.refresh(type,button); } //模板属性全屏编辑 this.BATCHEDIT = function (type,button) { var that = this; if (!that.checkTEMPStatus(false)) { return false; } var filter = "fullScreen_" + that.id; var table = layui.table; that.BATCHEDITIndex = layer.open({ type: 1, title: '模板属性', content: '
    ' + that.getToolbarHtml(true) + '
    ', fullScreen: true, closeBtn: 0, shadeClose: false, resizing: function (layero) { form.doResize(filter); }, success: function (layero) { var options = table.getConfig('tempAttr_' + that.id); options.elem = '#tempAttr_' + filter options.id = 'tempAttr_' + filter; options.width = 'auto'; options.maxHeight=layero.height()-110; if(options.data.length*33+45']; var addSaveIndex = $webUtil.dialog({ title: '输入分组的名称', btn: ['保存', '取消'], content: content.join(''), area: ['330px', '180px'], targetObject:that, resizing: function (layero) { form.doResize(filter); }, success: function (layero) { form.addItems(filter,[{ field: 'attributegroup', text: '属性分组' }], function () {} , {} , {}); }, yes:function(layero){ if(form.validata(filter)){ var formValues = form.getValues(filter,true); layui.each(tempAttrData,function (index,item){ tempAttrData[index].attributegroup=formValues.attributegroup; layui.table.changeRecord(tablefilter,item[layui.table.config.indexName],item) }) layer.close(addSaveIndex) } } }); } //上级属性 this.PARENTATTR=function (type,button){ var that = this; if (!that.checkTEMPStatus(true)) { return false; } var filter=$(button).attr('isfull')=='true'?'tempAttr_fullScreen_'+that.id:"tempAttr_" + that.id var tempAttrData = layui.table.checkStatus(filter,true).data; if (tempAttrData.length != 1) { webUtil.showErrorMsg('请选择一条模板属性数据'); return false; } layui.use('mdm/CodeClassifyAttribute', function () { var CodeClassifyAttribute = layui['mdm/CodeClassifyAttribute']; CodeClassifyAttribute.showReferDialog({ formValues:tempAttrData[0], target: { setValue: function (thisfilter, name, value, rawValue, isClose, allSelectValues) { layui.table.changeRecord(filter, tempAttrData[0][layui.table.config.indexName], rawValue) } } }) }) } this.UPTempAttr=function (data,filter){ var that=this; data.LAY_TABLE_INDEX!=0 && layui.table.moveData( filter,data.LAY_TABLE_INDEX,data.LAY_TABLE_INDEX-1) } this.DOWNTempAttr=function (data,filter){ var that=this; data.LAY_TABLE_INDEX!=layui.table.getData(filter).length-1 && layui.table.moveData( filter,data.LAY_TABLE_INDEX,data.LAY_TABLE_INDEX+1) } this.VIEWORDER=function (type,button){ var that=this; var filter=$(button).attr('isfull')=='true'?'tempAttr_fullScreen_'+that.id:"tempAttr_" + that.id layui.table.sort(filter,'ordernum', 'asc',true); } this.UPSELECT=function (type,button) { var that = this; if (!that.checkTEMPStatus(true)) { return false; } var filter=$(button).attr('isfull')=='true'?'tempAttr_fullScreen_'+that.id:"tempAttr_" + that.id var tempAttrData = layui.table.checkStatus(filter,true).data; if (tempAttrData.length != 1) { webUtil.showErrorMsg('请选择一条模板属性数据'); return false; } that.UPTempAttr(tempAttrData[0],filter); } this.DOWNSELECT=function (type,button){ var that=this; if (!that.checkTEMPStatus(true)) { return false; } var filter=$(button).attr('isfull')=='true'?'tempAttr_fullScreen_'+that.id:"tempAttr_" + that.id var tempAttrData = layui.table.checkStatus(filter,true).data; if(tempAttrData.length !=1){ webUtil.showErrorMsg('请选择一条模板属性数据'); return false; } that.DOWNTempAttr(tempAttrData[0],filter); } //模板属性同步到其他模板 this.syncAttr=function (type,button){ var that=this; if (!that.checkTEMPStatus(true)) { return false; } var filter=$(button).attr('isfull')=='true'?'tempAttr_fullScreen_'+that.id:"tempAttr_" + that.id var tempAttrData = layui.table.checkStatus(filter,true).data; if(tempAttrData.length !=1){ webUtil.showErrorMsg('请选择一条模板属性数据'); return false; } webUtil.manualAjax('post',that.url.templateAttrController + 'copyto', JSON.stringify({oid: tempAttrData[0].oid}), function (result) { if (result.success) { webUtil.showMsgFromResult(result, "同步成功"); } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); } //编码申请预览 this.VIEWCODE=function (type,button) { var that = this; var tempData=that.checkTEMPStatus(false); if(!tempData){ return false; } var filter = $(button).attr('isfull') == 'true' ? 'tempAttr_fullScreen_' + that.id : "tempAttr_" + that.id var MdmEngineForm = layui['mdm/MdmEngineForm']; MdmEngineForm.getFormDefine(tempData.oid, that.currentItemOid, function (componentVO) { var formDefineVO = componentVO.formDefineVO; if (formDefineVO) { filter += "_view_form"; var form = layui.form; var colCount = MdmEngineForm.getFormCol(formDefineVO); var items = MdmEngineForm.getFormItemsByVO(formDefineVO, false,colCount); var hasResemble = (componentVO.resembleTableVO && componentVO.resembleTableVO.cols && componentVO.resembleTableVO.cols.length > 0); var html = [ '
    ', '
    ', '
    ', '
    ', '
    ', '
    ', '
      ', '
    • 相似项查询
    • ', '
    ', '
      ', '
    • ', '
      ', '
    • ', '
    ', '
    ', '
    ', '
    ' ] if(!hasResemble){ html = ['
    '] } var dialogIndex = webUtil.dialog({ title: "编码申请预览", btn: !hasResemble?['效验', '取消']:['效验', '取消', '相似项查询'], fullScreen: true, content: html.join(''), resizing: function (layero) { form.doResize(filter); }, success: function (layero) { if(!!hasResemble){ var easyuiLayout = $('#easyuiLayout_' + filter) easyuiLayout.css({height: easyuiLayout.parents('.layui-layer-content').height()-10, width: easyuiLayout.parents('.layui-layer-content').width()-10}) easyuiLayout.parent().parent().css({padding: '5px'}) easyuiLayout.layout(); MdmEngineForm.initResembleTable(componentVO, filter); } form.addItems(filter, items, function () { }, {}, {defaultColumnOneRow: colCount, labelWidth: 160}); }, yes: function (layero) { if (form.validata(filter)) { var values = form.getDefaultValues(filter, true); var datas = { codeClassifyOid: that.currentItemOid, templateOid: tempData.oid, codeRuleOid: that.codeRuleOid, data: values.otherValue } $.extend(datas, values.defaultValues); webUtil.manualAjax('post', 'mdmEngineController/previewCompRule', JSON.stringify(datas), function (res) { if (res.success) { form.setValues(res.obj, filter); webUtil.showMsgFromResult(res, '效验通过'); } else { webUtil.showErrorMsg(res.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); } }, btn2: function (layero) { layer.close(dialogIndex); }, btn3: function (layero) { if (form.validata(filter)) { webUtil.get('mdmEngineController/getCodeRuleByClassifyOid', {codeClassifyOid: that.currentItemOid}, function (result) { if (!result.success) { $webUtil.showErrorMsg(result.msg); } else { var values = form.getDefaultValues(filter, true); that.codeRuleOid=result.obj.oid; var datas = { codeClassifyOid: that.currentItemOid, templateOid: tempData.oid, codeRuleOid: result.obj.oid, data: values.otherValue } $.extend(datas, values.defaultValues); webUtil.manualAjax('post', 'mdmEngineController/resembleQuery', JSON.stringify(datas), function (res) { if (res.success) { layui.table.reload("resemble_" + filter, { data: res.data }); } else { webUtil.showErrorMsg(res.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); } }); } return false; } }); } }); } this.refresh = function (type,button) { var that = this; var filter=$(button).attr('isfull')=='true'?'tempAttr_fullScreen_'+that.id:"tempAttr_" + that.id that.getTempAttrData(filter); }; this.refreshTEMP = function () { var that = this; layui.table.reload("temp_" + that.id); }; this.ADVQUERY = function () { var that = this; if (!that.serinorQueryInstance) { var dynamicCondition = layui.dynamicCondition; $('[layui-filter="toolbar_' + that.id + '"]').append('
    '); that.checkTempAttrColumns(); that.serinorQueryInstance = dynamicCondition.create({ fields: that.tempAttrdataFields//查询字段 , tableId: "tempAttr_" + that.id//需要查询的表格 , type: "complex" //type:"simple"/"complex" 查询的方法 暂时写死为 complex , queryCallBack: function (requestData) {//查询之后的callback } }); } that.serinorQueryInstance.open(); }; this.ADVQUERYTEMP = function () { var that = this; if (!that.serinorQueryInstance) { var dynamicCondition = layui.dynamicCondition; $('[layui-filter="toolbar_' + that.id + '"]').append('
    '); that.checkTempColumns(); that.serinorQueryInstance = dynamicCondition.create({ fields: that.tempdataFields//查询字段 , tableId: "temp_" + that.id//需要查询的表格 , type: "complex" //type:"simple"/"complex" 查询的方法 暂时写死为 complex , queryCallBack: function (requestData) {//查询之后的callback } }); } that.serinorQueryInstance.open(); }; this.ADDTEMP = function () { var that = this; if (webUtil.isNull(that.currentItemOid)) { webUtil.showErrorMsg("请先从树上选择一条数据"); return false; } that.addOrEditTEMP(true,false); }; this.EDITTEMP = function () { var that = this; var tempData=that.checkTEMPStatus(true,'只能修改编辑中的数据'); if(!tempData){ return false; } that.addOrEditTEMP(false,false, tempData); }; this.addOrEditTEMP = function (add,clone, data) { var that = this; var form = layui.form; var filter = "form_" + that.id; var addSaveIndex = webUtil.dialog({ title: add ? (clone?"克隆模板":"添加模板") : '修改模板', btn: ['保存', '取消'], content: '
    ', resizing: function (layero) { form.doResize(filter); }, success: function (layero, layerIndex, classP) { form.addItems(filter, that.getFormTempItems(false), function () { if (!add) { form.setValues(data, filter); } else { var defaultValues = {}; if (that.currentItemAttributes) { defaultValues["codeClassifyOid"] = that.currentItemOid; defaultValues["codeClassifyOidname"] = that.currentItemAttributes.name; } if(clone){ defaultValues=$.extend(data,defaultValues) //defaultValues.oid=''; defaultValues["codeclassifyoid"] = that.currentItemOid; defaultValues["codeclassifyoidName"] = that.currentItemAttributes.name; } //可以手动在此处添加默认值 form.setValues(defaultValues, filter); } webUtil.relocationOpen(classP) }, {}, {defaultColumnOneRow: 2}); }, yes: function (layero) { if (form.validata(filter)) { var values = form.getValues(filter, true); var url = that.url.tempController + (add ? (clone?'copy':that.url.addSave) : that.url.editSave); webUtil.manualAjax(add ? 'post' : 'put', url, JSON.stringify(values), function (result) { if (result.success) { webUtil.showMsgFromResult(result, (add ? (clone?"克隆成功":"添加成功") : "修改成功")); layer.close(addSaveIndex); that.refreshTEMP(); } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); } }, btn2: function (layero) { layer.close(addSaveIndex); } }); }; this.getFormTempItems = function (onlyShow) { var that = this; var table = layui.table; return [{ field: 'id', title: '模板编号', required: true }, { field: 'name', title: '模板名称', required: true }, { field: 'description', title: '描述', inputWidth: 475, type: 'textarea' }]; }; this.DELTEMP = function () { var that = this; var tempData=that.checkTEMPStatus(true,'只能删除编辑中的数据'); if(!tempData){ return false; } webUtil.showConfirmMsg("是否删除这条数据?如果被引用将不能被删除!", function () { webUtil.deleteRequest(that.url.tempController + that.url.deleteUrl, { oid: tempData.oid, ts: tempData.ts }, function (result) { if (result.success) { webUtil.showMsgFromResult(result, "删除成功"); that.refreshTEMP(); } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); }); }; //模板升版 this.UPTEMP = function () { var that = this; var checkData = layui.table.checkStatus("temp_" + that.id).data; if (checkData.length != 1) { webUtil.showErrorMsg('请选择一条数据'); return false; } that.doUPTEMP(checkData[0].oid, checkData[0].ts) } this.doUPTEMP = function (oid, ts) { var that = this; webUtil.showConfirmMsg("是否进行升版?", function () { webUtil.manualAjax('post',that.url.tempController + 'upgrade',JSON.stringify({oid: oid, ts: ts}) , function (result) { if (result.success) { webUtil.showMsgFromResult(result, "升版成功"); that.refreshTEMP(); } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); }); } //模板停用 this.DISABLETEMP = function () { var that = this; var checkData = layui.table.checkStatus("temp_" + that.id).data; if (checkData.length != 1) { webUtil.showErrorMsg('请选择一条数据'); return false; } webUtil.showConfirmMsg("模板只有发布状态才能被使用,是否确定停用?", function () { that.disableOrEnableTEMP(false, checkData[0].oid, checkData[0].ts); }); }; //模板启用 this.ENABLETEMP = function () { var that = this; var checkData = layui.table.checkStatus("temp_" + that.id).data; if (checkData.length != 1) { webUtil.showErrorMsg('请选择一条数据'); return false; } webUtil.showConfirmMsg("是否确定启用/发布这个模板,模板只有发布状态才能被使用,是否继续?", function () { that.disableOrEnableTEMP(true, checkData[0].oid, checkData[0].ts); }); }; //停用启用模板 this.disableOrEnableTEMP = function (enable, oid, ts) { var that = this; webUtil.post( that.url.tempController + (enable ? that.url.enableData : that.url.disableData), { oid: oid, ts: ts }, function (result) { if (result.success) { webUtil.showMsgFromResult(result, (enable ? '启用成功' : '停用成功')); that.refreshTEMP(); } else { webUtil.showErrorMsg(result.msg); } }, function (xhr, err) { webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); }, that.backPath); }; //从其他模板克隆 this.cloneTEMP = function () { var that=this; if (webUtil.isNull(that.currentItemOid)) { webUtil.showErrorMsg("请先从[主题库分类】树上选择一条数据"); return false; } var referConfig = { filter: "clone_" + that.id, name: 'temp', title: '克隆模板', options: { isMuti: false }, isMuti: false, target: { setValue: function (filter, name, value, rawValue, isClose, allSelectValues) { that.addOrEditTEMP(true, true, allSelectValues[0]) } }, value: '', text: '' }; layui['mdm/refer/CodeClassTemplateRefer'].showReferDialog(referConfig); }; this.ADDPROCESS = function (){ var that=this; if (webUtil.isNull(that.currentItemOid)) { webUtil.showErrorMsg("请先从[主题库分类】树上选择一条数据"); return false; } var tempData=that.checkTEMPStatus(true); if(!tempData){ return false; } that.addOrEditProcess(true,tempData.oid,null); }; this.addOrEditProcess = function (add,tempOid,oid){ var that = this; var form = layui.form; var filter ="form_process" + that.id; var addSaveIndex =webUtil.dialog({ title:add?'添加使用的流程模板':'修改使用的流程模板', btn:['保存','取消'], area:['800px','400px'], content:'
    ', resizing:function(layero){ form.doResize(filter); }, success:function(layero) { form.addItems(filter,that.getProcessFormItems(tempOid,false), function () { if(!add){ form.load(filter,{ backPath:that.backPath, url:that.url.processLinkController + that.url.processLinkGetObjectByOid, method:'get', params:{ oid:oid } }); }else{ var defaultValues = { codeClassifyOid:that.currentItemOid, classifyTemplateOid:webUtil.getOidFromGrid("temp_" + that.id,false,false) }; //可以手动在此处添加默认值 form.setValues(defaultValues,filter); } form.on('select('+filter+')',function (data){ if(data.name=='id'){ form.setValues({ processVersion: data.rowData[0].version },filter,true); } }) }, {}, {defaultColumnOneRow: 2,labelWidth:150}); }, yes:function(layero){ if(form.validata(filter)){ var values = form.getValues(filter,true); var url = that.url.processLinkController + (add?that.url.processLinkAddSave:that.url.processLinkEditSave); webUtil.manualAjax(add?'post':'put',url,JSON.stringify(values),function(result){ if(result.success){ webUtil.showMsgFromResult(result,(add ? "关联流程模板成功" : "修改关联的流程模板成功")); layer.close(addSaveIndex); that.refreshPROCESS(); }else{ webUtil.showErrorMsg(result.msg); } },function(xhr,err){ webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); },that.backPath); } }, btn2:function(layero){ layer.close(addSaveIndex); } }); }; this.getProcessFormItems = function (tempOid,onlyShow){ return [ { field: 'id', title: '流程模板', required: true, type: 'refer', showField: 'name', referConfig: { type:'refer/WfProcessTemplateRefer' }, defaultValue:"", readOnly:onlyShow } ,{ field: 'processVersion', title: '模板的版本', required: true, readOnly: true }, { field: 'codeprocessuse', title: '流程模板用途', required: true, type: 'combox', comboxKey: 'codeClassifyProcessUse', defaultValue: "code_cls_flow_use_order", readOnly: onlyShow }, { field: 'codeTempAttrOidArr', title: '流程树显示属性', required: true, showField: 'codeTempAttrOidArrName', type: 'refer', referConfig: { type:'mdm/refer/CodeClassTemplateAttrRefer', displayType:null, isMuti: true, valueField:'id', where:{'conditionMap["classifytemplateoid"]':tempOid} }, defaultValue: "" }]; }; this.EDITPROCESS = function (){ var that = this; var tempData=that.checkTEMPStatus(true); if(!tempData){ return false; } var oid = webUtil.getOidFromGrid("process_" + that.id,true,true); if(!oid){ return false; } var classifyTemplateOid = webUtil.getOidFromGrid("process_" + that.id,true,true,'classifyTemplateOid'); this.addOrEditProcess(false,classifyTemplateOid,oid); }; this.DELPROCESS = function (){ var that = this; var tempData=that.checkTEMPStatus(true); if(!tempData){ return false; } var oid = webUtil.getOidFromGrid("process_" +that.id,true,true); if(!oid){ return false; } var ts= webUtil.getOidFromGrid("process_" +that.id,false,false,"ts"); webUtil.showConfirmMsg("是否删除这条数据?如果被引用将不能被删除!",function () { webUtil.deleteRequest(that.url.processLinkController + that.url.processLinkDeleteUrl,{oid:oid,ts:ts},function(result){ if(result.success){ webUtil.showMsgFromResult(result,"删除成功"); that.refreshPROCESS(); }else{ webUtil.showErrorMsg(result.msg); } },function(xhr,err){ webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); },that.backPath); }); }; this.refreshPROCESS = function (){ var that = this; layui.table.reload("process_" + that.id); }; this.ADDPHASE = function (){ this.addOrEditPhase(true,null); }; this.EDITPHASE = function (){ var that = this; var oid = webUtil.getOidFromGrid('phase_' + that.id,true,true); that.addOrEditPhase(false,oid,false); }; this.DELPHASE = function (){ var that = this; var tempData=that.checkTEMPStatus(true); if(!tempData){ return false; } var oid = webUtil.getOidFromGrid('phase_' + that.id,true,true); var ts= webUtil.getOidFromGrid("phase_" +that.id,false,false,"ts"); webUtil.showConfirmMsg("是否删除这条数据?",function () { webUtil.deleteRequest(that.url.phaseController + that.url.phaseDeleteUrl,{oid:oid,ts:ts},function(result){ if(result.success){ webUtil.showMsgFromResult(result,"删除成功"); that.refreshPHASE(); }else{ webUtil.showErrorMsg(result.msg); } },function(xhr,err){ webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); },that.backPath); }); }; this.refreshPHASE = function (){ var that = this; layui.table.reload("phase_" + that.id); }; this.addOrEditPhase = function (add,oid,onlyView){ var that = this; var form = layui.form; var filter ="form_phase" + that.id; var tempData=that.checkTEMPStatus(true); if(!tempData){ return false; } var tempOid=tempData.oid; var addSaveIndex =webUtil.dialog({ title:(add?'添加模板阶段':(onlyView?'查看模板阶段':'修改模板阶段')), btn:(onlyView?[]:['保存','取消']), area:['1000px','700px'], content:'

    ' + '
    ', resizing:function(layero){ form.doResize(filter); }, success:function(layero) { form.addItems(filter,that.getPhaseFormItems(false), function () { if(!add){ form.load(filter,{ backPath:that.backPath, url:that.url.phaseController + that.url.phaseGetObjectByOid, method:'get', params:{ oid:oid } }); }else{ var defaultValues = {}; //可以手动在此处添加默认值 form.setValues(defaultValues,filter); } //表单成功后再加载下面的内容 layui.transferTable.render({ elem:'#phase_used_'+filter, id:'phase_used_'+filter ,leftTable:{ backPath:that.backPath ,url: that.url.phaseController + that.url.phaseUnUsedAttribute ,cols: [[layui.table.getIndexColumn(),layui.table.getCheckColumn(), { field:'id', title:'属性编号', width:120, sort:true },{ field: 'name', title: '属性名称', width: 150, sort: true },{ field:'attributegroup', title: '属性分组', width: 90, sort: true } ]] ,limit:-1 ,id:'transferTable_1_1' ,width:450 ,height:500 ,extraParams:{'conditionMap["classifyTemplateOid"]':tempOid,codePhaseOid:oid} } ,rightTable:{ backPath:that.backPath ,url: that.url.phaseController + that.url.phaseUsedAttribute ,cols: [[layui.table.getIndexColumn(),layui.table.getCheckColumn(), { field:'id', title:'属性编号', width:120 },{ field: 'name', title: '属性名称', width: 150 },{ field:'attributegroup', title: '属性分组', width: 90, sort: true } ]] ,id:'transferTable_2_2', limit:-1 ,width:450 ,height:500 ,extraParams: {"conditionMap['codePhaseOid']":oid} } }) }, {}, {defaultColumnOneRow: 3}); }, yes:function(layero){ if(form.validata(filter)){ var values = form.getValues(filter,true); var linkAttrs = layui.transferTable.getData('phase_used_'+filter); if(!linkAttrs || linkAttrs.length == 0){ webUtil.showErrorMsg("请选择阶段中所需的属性"); return false; } values.attributes = linkAttrs; values.codeClassifyTemplateOid = tempOid; var url = that.url.phaseController + (add?that.url.phaseAddSave:that.url.phaseEditSave); webUtil.manualAjax(add?'post':'put',url,JSON.stringify(values),function(result){ if(result.success){ webUtil.showMsgFromResult(result,(add ? "添加成功" : "修改成功")); layer.close(addSaveIndex); that.refreshPHASE(); }else{ webUtil.showErrorMsg(result.msg); } },function(xhr,err){ webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); },that.backPath); } }, btn2:function(layero){ layer.close(addSaveIndex); } }); }; this.getPhaseFormItems = function (onlyShow){ return [ { field: 'id', title: '阶段编号', defaultValue:"", readOnly:onlyShow } , { field: 'name', title: '阶段名称', defaultValue:"", required:true, readOnly:onlyShow }, { field: 'description', title: '描述', defaultValue:"", readOnly:onlyShow }]; }; this.refreshBUTTON = function () { var that = this; layui.table.reload("button_" + that.id); }; this.ADDBUTTON = function (){ this.addOrEditButton(true,null); }; this.EDITBUTTON = function (){ var that = this; var oid = webUtil.getOidFromGrid('button_' + that.id,true,true); that.addOrEditButton(false,oid); }; this.DELBUTTON = function (){ var that = this; var tempData=that.checkTEMPStatus(true); if(!tempData){ return false; } var oid = webUtil.getOidFromGrid('button_' + that.id,true,true); var ts= webUtil.getOidFromGrid("button_" +that.id,false,false,"ts"); webUtil.showConfirmMsg("是否删除这条数据?",function () { webUtil.deleteRequest(that.url.buttonController + that.url.buttonDeleteUrl,{oid:oid,ts:ts},function(result){ if(result.success){ webUtil.showMsgFromResult(result,"删除成功"); that.refreshBUTTON(); }else{ webUtil.showErrorMsg(result.msg); } },function(xhr,err){ webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); },that.backPath); }); }; this.addOrEditButton = function (add,oid){ var that = this; var form = layui.form; var filter ="form_button" + that.id; var tempData=that.checkTEMPStatus(true); if(!tempData){ return false; } var tempOid=tempData.oid; var addSaveIndex =webUtil.dialog({ title:(add?'添加扩展按钮':'修改扩展按钮'), btn:['保存','取消'], area:['800px','400px'], content:'
    ', resizing:function(layero){ form.doResize(filter); }, success:function(layero) { form.addItems(filter,that.getButtonFormItems(false), function () { if(!add){ form.load(filter,{ backPath:that.backPath, url:that.url.buttonController + that.url.buttonGetObjectByOid, method:'get', params:{ oid:oid } }); }else{ var defaultValues = {}; //可以手动在此处添加默认值 form.setValues(defaultValues,filter); } form.on('select('+filter+')',function (data){ if(data.name=='classifybuttonoid'){ form.setValues({ id: data.rowData[0].id, name:data.rowData[0].name },filter,true); } }); }, {}, {defaultColumnOneRow: 2}); }, yes:function(layero){ if(form.validata(filter)){ var values = form.getValues(filter,true); values.classifyTemplateOid = tempOid; var url = that.url.buttonController + (add?that.url.buttonAddSave:that.url.buttonEditSave); webUtil.manualAjax(add?'post':'put',url,JSON.stringify(values),function(result){ if(result.success){ webUtil.showMsgFromResult(result,(add ? "添加成功" : "修改成功")); layer.close(addSaveIndex); that.refreshBUTTON(); }else{ webUtil.showErrorMsg(result.msg); } },function(xhr,err){ webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); },that.backPath); } }, btn2:function(layero){ layer.close(addSaveIndex); } }); }; this.getButtonFormItems = function (onlyShow){ return [ { field: 'classifybuttonoid', title: '所属按钮', required: true, type: 'refer', showField: 'classifybuttonoidName', referConfig: { type:'default', referBo:'codebutton' }, defaultValue:"", readOnly:onlyShow }, { field: 'id', title: '按钮标识', hidden: true },{ field: 'name', title: '按钮名称', hidden: true } ,{ field: 'buttonuse', title: '按钮用途', type: 'combox', defaultValue:"", comboxKey:'codeTemplateButtonUse', readOnly:onlyShow } ]; }; this.EXPORTClassify = function (){ var that = this; //导出分类 if(!that.currentItemOid){ $webUtil.showErrorMsg("请先选择要导出的主题库分类"); return false; } $webUtil.fileDownload(that.backPath + that.url.controller + "exportClassify?oid=" + that.currentItemOid); }; this.IMPORTClassify=function (){ var that = this; var filter = "classify_" + that.id; var form = layui.form; var content = ['
    ' + '
    ', '' ].join(''); var addSaveIndex = $webUtil.dialog({ title: '主题库分类导入', btn: ['下载导入模板', '关闭'], content: content, area: ['800px', '600px'], success: function (layero) { //主题库分类不导规则 var items = [{ type: 'line', field: 'tips', text: '导入提示' }, { field: 'keyAttrTips', text: '1.红色字体表示必输项', type: 'label', labelWidth: 600, labelStyle: 'margin-left:50px', useAllWidth: true }, { field: 'classifyTips', text: '2.分类的路径需要用#分隔', type: 'label', labelWidth: 600, labelStyle: 'margin-left:50px', useAllWidth: true },{ field: 'requiredTips', text:'3.每次仅能最多导入10000条数据', type: 'label', labelWidth:600, labelStyle:'margin-left:50px', useAllWidth:true }, { type: 'line', field: 'excelFile', text: 'excel文件,选择文件后会自动上传' }]; form.addItems(filter, items, function () { }, {}, {defaultColumnOneRow: 1, labelWidth: 160}); var upload = layui.upload; //执行实例 var uploadInst = upload.render({ elem: '#upload_button_' + filter //绑定元素 , accept: 'file' , acceptMime: 'file/*' , exts: 'xls|xlsx' , url: that.backPath + that.url.controller + 'importClassify'//上传接口 , auto: true , before: function (obj) { } , done: function (result) {//不需要输入内容,因此没有before if (result.success) { layer.close(addSaveIndex); $webUtil.showMsgFromResult(result, "导入成功!"); that.refreshClassify(); }else{ //需要去下载错误信息 $webUtil.fileDownload(that.backPath + that.url.controller + "downloadErrorFile?uuid=" + result.obj,null,'导入错误,请查看下载的【错误信息】文件'); } } , error: function () { //请求异常回调 $webUtil.showErrorMsg("上传异常,服务端出错了"); } }); }, yes: function (layero) { $webUtil.fileDownload(that.backPath + that.url.controller + "downloadImportExcel"); }, btn2: function (layero) { layer.close(addSaveIndex); } }); } } var cs = new Class(); exports(cs.MODELNAME, cs); });