/**
* 业务类型
* @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);
});