/**
|
* ${comments}页面
|
* @author ${author}
|
* @date ${datetime}
|
*/
|
layui.define(['layer','element','form','table','dynamicCondition'#if(${hasExcel}),'upload'#end #if(${hasParentField}),'tree'#end],function(exports){
|
#set($util = "$webUtil")
|
#set($cookie = "$.cookie")
|
#set($status = "${lcstatus}")
|
var webUtil = $util;
|
var Class = function(){
|
this.MODELNAME = "${jsPackage}";
|
this.moduleKey = "${className}";
|
this.backPath = ${backPath};
|
this.url = {
|
controller:'${controllerUrl}',
|
#if(!${hasParentField})
|
dataGrid:'grid${className}',
|
#else
|
tree:'tree${className}',
|
#end
|
addSave:'addSave',
|
editSave:'editSave',
|
#if(${hasParentField})
|
checkIsCanDelete:'checkIsCanDelete',
|
referTree:'referTree' ,
|
#end
|
deleteUrl:'deleteData',
|
#if(${hasEnable})
|
enableData: 'enableData',
|
disableData: 'disableData',
|
#end
|
getObjectByOid:'getObjectByOid'
|
};
|
this.getContent=function(){
|
var that = this;
|
return '<div id="UIContent_' + that.id + '" style="overflow: auto;padding:0 5px"></div>';
|
};
|
this.showContent=function (){
|
var that = this;
|
var html = "";
|
html = [
|
'<div class="layui-layout easyui-layout UIContentLayout" id="easyuiLayout_',that.id,'" data-options="fit:true" style="display:block;overflow-y: hidden;margin:0 5px">',
|
#if(${useWest})
|
'<div data-options="region:\'west\',split:true" style="width:260px;padding: 5px;">',
|
that.getWestToolbarHtml(),
|
#if(${westLayoutPanelType} == "tree")
|
'<div class="layui-vci-tree" style="overflow: auto">',
|
'<label class="layui-icon layui-icon-tree" style="line-height: 20px;color:red;font-size:20px;">${comments}</label>',
|
'<ul layui-filter="tree_',that.id,'"><ul>',
|
'</div>',
|
#end
|
'</div>',
|
#end
|
'<div data-options="region:\'center\'" style="padding-left: 10px;padding-right: 10px;" id="border_',that.id,'">',
|
'<div class="layui-center" style="overflow-y:auto;">',
|
that.getToolbarHtml(),
|
#if(${centerLayoutPanelType} == "table")
|
'<table id="table_', that.id , '" lay-filter="',that.id , '" style="overflow-x:auto;"></table>',
|
#end
|
#if(${centerLayoutPanelType} == "table_tree")
|
'<table id="table_', that.id , '" lay-filter="',that.id , '" style="overflow-x:auto;"></table>',
|
#end
|
#if(${centerLayoutPanelType} == "form")
|
'<form class="layui-form" lay-filter="form_info_',that.id,'"></form>',
|
#end
|
'</div>',
|
'</div>',
|
'</div>'
|
].join("");
|
$("#UIContent_"+that.id).html(html);
|
};
|
#if(${useWest})
|
this.getWestToolbarHtml = function(){
|
var that = this;
|
var html = [
|
'<div layui-filter="toolbar_west_',that.id,'" class="layui-btn-container layui-buttons">',
|
#if($westButtons.size()>0)
|
#foreach($button in $westButtons)
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_west_',that.id,'_$button.id"><i class="layui-icon $button.iconCls"></i>$button.text</button>',
|
#end
|
#end
|
'</div>'
|
].join("");
|
return html;
|
};
|
this.createWestSearchHtml = function () {
|
var that = this;
|
#if($westQuerys != "")
|
webUtil.createSearchHtml($westQuerys,$("[layui-filter='toolbar_west_" + that.id + "']"),'west_' + that.id);
|
webUtil.bindDefultButtonLisenter(that,"west_" + that.id);
|
#end
|
};
|
#end
|
this.getToolbarHtml =function(){
|
var that = this;
|
var html = [
|
'<div layui-filter="toolbar_',that.id,'" class="layui-btn-container layui-buttons">',
|
#if($centerButtons.size()>0)
|
#foreach($button in $centerButtons)
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_$button.id"><i class="layui-icon $button.iconCls"></i>$button.text</button>',
|
#end
|
#end
|
'</div>'
|
].join("");
|
return html;
|
};
|
this.createSearchHtml = function () {
|
var that = this;
|
webUtil.bindDefultButtonLisenter(that, that.id);
|
#if($centerQuerys !="")
|
webUtil.createSearchHtml($centerQuerys ,$("[layui-filter='toolbar_" + that.id + "']"), "table_" + that.id);
|
#end
|
};
|
this.defaultAttrList = [
|
#foreach($attr in $uiAttributes)
|
'$attr.id',
|
#end
|
''
|
];
|
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();
|
|
#if(${useWest})
|
#if(${westLayoutPanelType} == "tree")
|
that.initTree();
|
that.createWestSearchHtml();
|
#end
|
#end
|
#if(${centerLayoutPanelType} == "table")
|
that.initMainTable();
|
#end
|
#if(${centerLayoutPanelType} == "table_tree")
|
that.initMainTable(${parentFieldName});
|
#end
|
#if(${centerLayoutPanelType} == "form")
|
that.initForm();
|
#end
|
that.createSearchHtml();
|
|
},1)
|
};
|
this.initMainTable = function (parentFieldName) {
|
var that = this;
|
var table = layui.table;
|
that.checkColumns();
|
var tableWidth = $("#border_" + that.id).width();
|
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
|
},
|
width:tableWidth,
|
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(total>0) {
|
table.selectRecord('table_' + that.id, {index:0});
|
}
|
}
|
that.fristMainLoad = true;
|
}
|
};
|
if(parentFieldName){
|
options.treeConfig = {
|
treepid:parentFieldName,
|
treeid:'id',
|
showField:'name'
|
};
|
}
|
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(),
|
#foreach($attr in $uiAttributes)
|
{
|
title: '$attr.name',
|
#if($attr.vciAttrDataType == "VTString")
|
#if($attr.referFlag)
|
field: '$attr.referBtmTypeShowField',
|
sort:true,
|
sortField:'$attr.id',
|
type:'refer',
|
referConfig: {
|
type:'default',
|
referBo:'$attr.referBtmTypeId'
|
},
|
width: 150
|
#else
|
#if($attr.enumFlag)
|
field: '$attr.enumShowField',
|
sort:true,
|
sortField:'$attr.id',
|
type:'combox',
|
comboxKey:"$attr.enumId",
|
width: 150
|
#else
|
#if($attr.id == "lcstatus")
|
field: 'lcStatusText',
|
sortField:'lcStatus',
|
type:'combox',
|
comboxKey:"${btmTypeIdLow}_$status",
|
width:150
|
#elseif($attr.id == 'secretgrade')
|
field: 'secretGradeText',
|
width:60,
|
type:'combox',
|
comboxKey:"myDataSecret",
|
hidden:configData.controllerSecret
|
#else
|
field: '$attr.id',
|
sort:true,
|
width: 150
|
#end
|
#end
|
#end
|
#elseif($attr.vciAttrDataType == "VTLong")
|
field: '$attr.id',
|
type:'number',
|
width: 100
|
#elseif($attr.vciAttrDataType == "VTInteger")
|
field: '$attr.id',
|
type:'number',
|
width: 100
|
#elseif($attr.vciAttrDataType == "VTDouble")
|
field: '$attr.id',
|
type:'number',
|
width: 100
|
#elseif($attr.vciAttrDataType == "VTDate")
|
field: '$attr.id',
|
width: 110,
|
type:'date',
|
templet: function (d) {
|
return webUtil.formateDate(d.$attr.id);
|
}
|
#elseif($attr.vciAttrDataType == "VTDateTime")
|
field: '$attr.id',
|
width: 130,
|
type:'datetime',
|
templet: function (d) {
|
return webUtil.formateDateTimeNoSecond(d.$attr.id);
|
}
|
#elseif($attr.vciAttrDataType == "VTBoolean")
|
field: '$attr.id',
|
width: 60,
|
type:'combox',
|
data:[{key:"true",value:"是"},{key:"false",value:"否"}],
|
templet: function (d) {
|
return webUtil.formateBoolean(d.$attr.id);
|
}
|
#end
|
},
|
#end
|
{
|
field:'options',
|
title:'操作',
|
width:150,
|
templet:function(d){
|
return '<a class="layui-btn layui-btn-intable" lay-event="EDIT">编辑</a>';
|
}
|
}];
|
}
|
};
|
|
#if(${useWest})
|
#if(${westLayoutPanelType} == "tree")
|
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
|
},
|
showSearch:true,
|
click: function (item, elem, options) {
|
that.currentItemOid = item.oid;
|
that.currentItemAttributes = item.attributes;
|
#if(${centerLayoutPanelType} == "table")
|
layui.table.reload('table_' + that.id,{
|
extraParams:{
|
"${westNextRegionParam}":that.currentItemAttributes.oid
|
}
|
});
|
#elseif(${centerLayoutPanelType} == "table_tree")
|
layui.table.reload('table_' + that.id,{
|
extraParams: {
|
"${westNextRegionParam}": that.currentItemAttributes.oid
|
}
|
});
|
#elseif(${centerLayoutPanelType} == "form")
|
that.setFormValues();
|
#end
|
}
|
});
|
};
|
this.setFormValues = function () {
|
var that = this;
|
layui.form.load("form_info_" + that.id,{"oid":that.currentItemAttributes.oid});
|
};
|
#end
|
#end
|
this.getFormItems = function(onlyShow) {
|
var that = this;
|
var table = layui.table;
|
return [
|
#foreach($attr in $uiAttributes)
|
{
|
field: '$attr.id',
|
title: '$attr.name',
|
#if($attr.nullable == "false")
|
required: true,
|
#end
|
#if($attr.vciAttrDataType == "VTString")
|
#if($attr.referFlag)
|
type: 'refer',
|
showField: '$attr.referBtmTypeShowField',
|
referConfig: {
|
type:'default',
|
referBo:'$attr.referBtmTypeId'
|
},
|
#else
|
#if($attr.enumFlag)
|
type: 'combox',
|
comboxKey: '$attr.enumId',
|
#else
|
type: 'text',
|
#end
|
#end
|
#end
|
#if($attr.vciAttrDataType == "VTLong" || $attr.vciAttrDataType == "VTInteger" || $attr.vciAttrDataType == "VTDouble")
|
verify: 'number',
|
#elseif($attr.vciAttrDataType == "VTDate")
|
type: 'date',
|
#elseif($attr.vciAttrDataType == "VTDateTime")
|
type: 'datetime',
|
#elseif($attr.vciAttrDataType == "VTBoolean")
|
type: 'truefalse',
|
#end
|
#if($attr.defaultValue)
|
defaultValue:"$attr.defaultValue",
|
#end
|
readOnly:onlyShow
|
} #if($foreach.hasNext),#end
|
#end
|
];
|
};
|
#if(${centerLayoutPanelType} == "form")
|
this.initForm = function () {
|
var that = this;
|
var form = layui.form;
|
form.addItems("form_info_" + that.id, that.getFormItems(true), function () {
|
}, {}, {
|
defaultColumnOneRow: 2,
|
labelWidth: 200
|
});
|
};
|
#end
|
this.ADD = function () {
|
var that = this;
|
that.addOrEdit(true);
|
};
|
this.EDIT = function(){
|
var that = this;
|
#if(${hasParentField})
|
if(webUtil.isNull(that.currentItemOid)){
|
webUtil.showErrorMsg("请先从树上选择一条数据");
|
return false;
|
}
|
that.addOrEdit(false,that.currentItemOid);
|
#else
|
var oid = webUtil.getOidFromGrid("table_" + that.id,true,true);
|
if(!oid){
|
return false;
|
}
|
that.addOrEdit(false,oid);
|
#end
|
};
|
this.addOrEdit = function(add,oid) {
|
var that = this;
|
var form = layui.form;
|
var filter ="form_" + that.id;
|
var addSaveIndex =webUtil.dialog({
|
title:add?'添加${comments}':'修改${comments}',
|
btn:['保存','取消'],
|
content:'<form id="form_' + filter + '" lay-filter="' + filter + '" class="layui-form" style="margin-top:5px" ></form>',
|
resizing:function(layero){
|
form.doResize(filter);
|
},
|
success:function(layero) {
|
form.addItems(filter,that.getFormItems(false),
|
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(${hasParentField})
|
if(that.currentItemAttributes) {
|
defaultValues["${parentFieldNameLow}"] = that.currentItemOid;
|
defaultValues["${parentFieldNameLow}" + "name"] = that.currentItemAttributes.name;
|
}
|
#end
|
//可以手动在此处添加默认值
|
form.setValues(defaultValues,filter);
|
}
|
}, {}, {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;
|
#if(${hasParentField})
|
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.checkIsDelete,submitValue,function(result){
|
if(result.success) {
|
if ('true' == result.obj || true == result.obj) {
|
webUtil.showConfirmMsg("当前数据包含有下级数据,要删除的话会和下级数据一起删除,你确认继续?", function () {
|
that.doDelete(submitValue);
|
});
|
} else {
|
//说明可以删除
|
that.doDelete(submitValue);
|
}
|
}else {
|
webUtil.showErrorMsg(result.msg);
|
}
|
},function (xhr,error) {
|
webUtil.showErrorMsg("校验删除出现了错误,可能是服务器未启动")
|
},that.backPath);
|
});
|
#else
|
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);
|
});
|
#end
|
};
|
#if(${hasParentField})
|
this.doDelete = function (submitValue) {
|
var that = this;
|
webUtil.deleteRequest(that.url.controller + that.url.deleteUrl,submitValue,function(result){
|
if(result.success){
|
webUtil.showMsgFromResult(result,"删除成功");
|
that.refresh();
|
}else{
|
webUtil.showErrorMsg(result.msg);
|
}
|
},function (xhr,err) {
|
webUtil.showErrorMsg("执行删除的时候出错了错误,可能是服务器暂时无法访问");
|
},that.backPath);
|
};
|
#end
|
this.refresh = function (#if(${hasParentField})buttonid,parentNodeOid#end) {
|
var that = this;
|
#if(${hasParentField})
|
var tree = layui.tree;
|
if(webUtil.isNotNull(parentNodeOid)){
|
tree.reloadNode("tree_" + that.id,parentNodeOid);
|
}else {
|
tree.reload("tree_" + that.id);
|
}
|
#else
|
layui.table.reload("table_" + that.id);
|
#end
|
};
|
#if(${hasEnable})
|
this.DISABLE = function () {
|
var that = this;
|
that.disableOrEnable(false);
|
};
|
this.ENABLE = function () {
|
var that = this;
|
that.disableOrEnable(true);
|
};
|
this.disableOrEnable = function (enable) {
|
var that = this;
|
var oid ;
|
var ts ;
|
#if(${hasParentField})
|
if(webUtil.isNull(that.currentItemOid)){
|
webUtil.showErrorMsg("请先从树上选择一条数据");
|
return false;
|
}
|
oid = that.currentItemOid;
|
ts = that.currentItemAttributes.ts;
|
#else
|
oid = webUtil.getOidFromGrid("table_" + that.id,true,true);
|
if(!oid){
|
return false;
|
}
|
ts = webUtil.getOidFromGrid("table_" + that.id,false,false,'ts');
|
#end
|
webUtil.post(that.url.controller + (enable?that.url.enableData:that.url.disableData),{
|
oid:oid,
|
ts:ts
|
},function(result){
|
if(result.success){
|
webUtil.showMsgFromResult(result,(enable?'启用成功':'停用成功'));
|
that.refresh();
|
}else{
|
webUtil.showErrorMsg(result.msg);
|
}
|
},function(xhr,err){
|
webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启");
|
},that.backPath);
|
};
|
#end
|
this.ADVQUERY = function () {
|
var that = this;
|
if(!that.serinorQueryInstance) {
|
var dynamicCondition = layui.dynamicCondition;
|
$('[layui-filter="toolbar_' + that.id + '"]').append('<div id="toolbar' + that.id + '" class="layui-inline"></div>');
|
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();
|
};
|
};
|
var cs = new Class();
|
exports(cs.MODELNAME,cs);
|
});
|