/** * 业务类型 * @author weidy@2020-07-27 */ layui.define(['layer','element','form','table','util','platform/objectService/er/erContent'],function(exports){ var Class = function(){ this.MODELNAME = "platform/objectService/OsBtmType"; this.moduleKey = "OsBtmType"; this.id='OsBtmType'; this.sourceData={}; this.columns = []; this.backPath = configData.compatibility?path:configData.objectServicePath; this.url={ controller:'btmTypeController/', dataGrid:'gridBtmType', listAttribute:'gridAttributeByBtmTypeOid', export2word:'exportBtmType2Word', export2excel:'exportBtmType2Excel', getER:'btmTypeController/createERDiagram', getUsedER:'btmTypeController/createERUsed' }; this.buttonIconMap = { SEARCH:'layui-icon-refresh-2', SENIORSEARCH:'layui-icon-query', ADD:'layui-icon-add-1', EDIT:'layui-icon-edit', DELETE:'layui-icon-delete' }; this.vciFieldTypeMap = { VTBoolean:"布尔型", VTClob: "长文本", VTDate:"日期", VTDateTime:"日期时间", VTTime:"时间", VTLong:"长整型", VTDouble:"金额/双精度", VTInteger:"整形", VTFilePath:"文件", VTString:"字符串" }; this.getContent=function(){ var that = this; var html = ""; html = [ '
', '
', that.getToolbarHtml(), '
', '
', '
', '
', '
', '
' ].join(""); return html; }; this.getToolbarHtml =function(){ var that = this; var html = [ '
', '', '', '', '', '', '', '
', ].join(""); return html; }; this.init=function(){//基础的html被添加后,再执行初始化 var that = this; $webUtil.copyConfig(that,that.moduleKey); var table = layui.table; that.checkColumns();//主列表中列。 that.firstGridLoad = false; table.render({ elem: '#table_' + that.id, id: 'table_' + that.id, url: that.url.controller + that.url.dataGrid, backPath:that.backPath, page: { limit: 20, page: 1 }, selectMode:table.selectMode.muti, cols: [that.columns], rowClick:function(filter,data){ if(data){ that.gridAttributeByOid(data.oid); } }, done:function(res, cur, count){ if(!that.firstGridLoad) { that.initDetailTable(((res && res.data) ? res.data[0].oid : "")); that.firstGridLoad = true; }else{ if(count>0){ that.gridAttributeByOid(res.data[0].oid); } } } }); $webUtil.createSearchHtml({ id:'英文名称', name:'中文名称' },$("[layui-filter='toolbar_button_" + that.id + "']"),'table_' + that.id); $webUtil.bindDefultButtonLisenter(that, that.id); }; 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:130 },{ field:'name', title:'业务类型中文', width:150 },{ field:'description', title:'描述', width:150 },{ field:'tableName', title:'数据库表', width:140 },{ field:'revisionRuleId', title:'版本规则', width:130, templet:function(d){ if(!d.revisionFlag){ return '不控制版本'; }else{ return d.revisionRuleId + ' ' + d.revisionRuleName; } } },{ field:'lifeCycleFlag', title:'生命周期', width:200, templet:function(d){ if(!d.lifeCycleFlag){ return '不控制生命周期'; }else{ return d.lifeCycleId + ' ' + d.lifeCycleName; } } },{ field:'secretFlag', title:'控制密级', width:80, templet:function(d){ return $webUtil.formateBoolean(d.secretFlag); } },{ field:'viewFlag', title:'是否为视图', width:90, templet:function(d){ return $webUtil.formateBoolean(d.viewFlag); } },{ field:'versionRule', title:'版次规则', width:110 }]; } }; this.gridAttributeByOid = function(btmTypeOid){ var that = this; if($webUtil.isNull(btmTypeOid)){ return; } layui.table.reload("detail_" + that.id,{ where:{ btmTypeOid: btmTypeOid } }); }; this.initDetailTable = function(btmTypeOid){ var that = this; var table = layui.table; that.checkDetailColumns(); table.render({ elem: '#detail_table_' + that.id, id: 'detail_' + that.id, backPath:that.backPath, url: that.url.controller + that.url.listAttribute, where:{ btmTypeOid:btmTypeOid }, cols: [that.detailColumns] }); }; this.checkDetailColumns = function () { var that = this; var table = layui.table; if(that.detailColumns==null || that.detailColumns.length==0){//如果其他地方想使用这个组件的时候,可以自定义列 that.detailColumns = [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] || that.vciFieldTypeMap[d.attributeDataType]; } },{ field:'nullableFlag', title:'是否可以为空', width:120, 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 } } }]; } }; this.refresh = function(){ var that = this; layui.table.reload("table_" + that.id); }; this.VIEWER = function(){ //er图 var that = this; var idFromGrid = $webUtil.getOidFromGrid("table_" + that.id,true,true,"id"); var nameFromGrid = $webUtil.getOidFromGrid("table_" + that.id,true,true,"name"); if(!idFromGrid){ return false } var erContent = layui['platform/objectService/er/erContent']; var filter = "er_" + that.id; var erIndex = layer.open({ type: 1, title: nameFromGrid+' E-R图 (不支持IE8)', content: '
', fullScreen:true, shade: true, shadeClose: true, resize: false, success: function (layero) { $("#" + filter).html(erContent.getContent(idFromGrid)); erContent.init(idFromGrid,{ id:idFromGrid, url:that.url.getER }); } }); }; this.VIEWUSEER = function (){ //使用当前业务类型的 var that = this; var idFromGrid = $webUtil.getOidFromGrid("table_" + that.id,true,true,"id"); var nameFromGrid = $webUtil.getOidFromGrid("table_" + that.id,true,true,"name"); if(!idFromGrid){ return false; } var erContent = layui['platform/objectService/er/erContent']; var filter = "er_" + that.id; var erIndex = layer.open({ type: 1, title: "引用 " +nameFromGrid+' E-R图 (不支持IE8)', content: '
', fullScreen:true, shade: true, shadeClose: true, resize: false, success: function (layero) { $("#" + filter).html(erContent.getContent(idFromGrid)); erContent.init(idFromGrid, { id: idFromGrid, url: that.url.getUsedER }); } }); }; this.EXPORTWORD = function(){ //导出word var that = this; var oidFromGrid = $webUtil.getOidFromGrid("table_" + that.id,false,false,"id"); $webUtil.fileDownloadPost(that.backPath + that.url.controller + that.url.export2word,{btmTypeIds:oidFromGrid}); }; this.EXPORTEXCEL = function(){ var that = this; var oidFromGrid = $webUtil.getOidFromGrid("table_" + that.id,false,false,"id"); $webUtil.fileDownloadPost(that.backPath + that.url.controller + that.url.export2excel,{btmTypeIds:oidFromGrid}); }; this.CLEARCACHE = function (){ var that = this; $webUtil.get("/webUIController/clearCache",{},function (result){ if(result.success){ $webUtil.showMsgFromResult(result,"执行成功"); }else{ $webUtil.showErrorMsg(result.msg); } },function (error,xhr){ $webUtil.showErrorMsg("没有链接上后台服务"); },that.backPath) } }; var cs = new Class(); exports(cs.MODELNAME,cs); });