/**
|
* 分类模板对象页面
|
* @author weidy
|
* @date 2022-01-24
|
*/
|
layui.define(['layer','element','form','table','dynamicCondition' ,'tree'],function(exports){
|
var webUtil = $webUtil;
|
var Class = function(){
|
this.MODELNAME = "mdm/CodeClassifyTemplate";
|
this.moduleKey = "CodeClassifyTemplate";
|
this.backPath = configData.compatibility? path:configData.mdmService;
|
this.url = {
|
controller:'codeClassifyTemplateController/',
|
tree:'treeCodeClassifyTemplate',
|
addSave:'addSave',
|
editSave:'editSave',
|
checkIsCanDelete:'checkIsCanDelete',
|
referTree:'referTree' ,
|
deleteUrl:'deleteData',
|
getObjectByOid:'getObjectByOid'
|
};
|
this.getContent=function(){
|
var that = this;
|
var html = "";
|
html = [
|
'<div class="layui-layout" style="display:block;overflow-y: hidden">',
|
that.getWestToolbarHtml(),
|
'<div class="layui-vci-tree" style="width:250px;float: left;background-color:#ffffff;overflow-y: auto;">',
|
'<label class="layui-icon layui-icon-tree" style="line-height: 20px;color:red;font-size:20px;">分类模板对象</label>',
|
'<ul layui-filter="tree_',that.id,'"><ul>',
|
'</div>',
|
'<div class="layui-layout-border" style="display:block;margin-top:0px; margin-left:255px;" id="border_',that.id,'">',
|
'<div class="layui-center" style="overflow-y:auto;">',
|
that.getToolbarHtml(),
|
'<table id="table_', that.id , '" lay-filter="',that.id , '" style="overflow-x:auto;"></table>',
|
'</div>',
|
'</div>',
|
'</div>'
|
].join("");
|
return html;
|
};
|
this.getWestToolbarHtml = function(){
|
var that = this;
|
var html = [
|
'<div layui-filter="toolbar_west_',that.id,'" class="layui-btn-container layui-buttons">',
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_west_',that.id,'_ADVQUERY"><i class="layui-icon layui-icon-search"></i>查询</button>',
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_west_',that.id,'_refresh"><i class="layui-icon layui-icon-refresh"></i>刷新</button>',
|
'</div>'
|
].join("");
|
return html;
|
};
|
this.createWestSearchHtml = function () {
|
var that = this;
|
webUtil.createSearchHtml({id:"分类编号",name:"分类名称"},$("[layui-filter='toolbar_west_" + that.id + "']"),'west_' + that.id);
|
webUtil.bindDefultButtonLisenter(that,"west_" + that.id);
|
};
|
this.getToolbarHtml =function(){
|
var that = this;
|
var html = [
|
'<div layui-filter="toolbar_',that.id,'" class="layui-btn-container layui-buttons">',
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_ADD"><i class="layui-icon layui-icon-add-1"></i>添加</button>',
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_ADVQUERY"><i class="layui-icon layui-icon-search"></i>查询</button>',
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_DEL"><i class="layui-icon layui-icon-delete"></i>删除</button>',
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_EDIT"><i class="layui-icon layui-icon-edit"></i>修改</button>',
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_refresh"><i class="layui-icon layui-icon-refresh"></i>刷新</button>',
|
'</div>'
|
].join("");
|
return html;
|
};
|
this.createSearchHtml = function () {
|
var that = this;
|
webUtil.bindDefultButtonLisenter(that, that.id);
|
webUtil.createSearchHtml({id:"编号",name:"名称"} ,$("[layui-filter='toolbar_" + that.id + "']"), "table_" + that.id);
|
};
|
this.init = function(){
|
var that = this;
|
webUtil.copyConfig(that,that.moduleKey);
|
that.initTree();
|
that.createWestSearchHtml();
|
that.initMainTable();
|
that.createSearchHtml();
|
};
|
this.initMainTable = function (parentFieldName) {
|
var that = this;
|
var table = layui.table;
|
that.checkColumns();
|
var tableWidth = $("#border_" + that.id).width()-225;
|
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(),
|
{
|
title: '主题库分类主键',
|
field: 'codeclassifyoidName',
|
sort:true,
|
sortField:'codeclassifyoid',
|
type:'refer',
|
referConfig: {
|
referBo:'codeclassify'
|
},
|
width: 150
|
},
|
{
|
field:'options',
|
title:'操作',
|
templet:function(d){
|
return '<a class="layui-btn layui-btn-intable" lay-event="EDIT">编辑</a>';
|
}
|
}];
|
}
|
};
|
|
this.initTree = function () {
|
var that = this;
|
var tree = layui.tree;
|
var scrollHeight = window.innerHeight;
|
var treeUL = $('[layui-filter="tree_' + that.id + '"]');
|
var treeHeight = scrollHeight - 200;
|
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;
|
layui.table.reload('table_' + that.id,{
|
extraParams:{
|
"codeClassifyOid":that.currentItemAttributes.oid
|
}
|
});
|
}
|
});
|
};
|
this.setFormValues = function () {
|
var that = this;
|
layui.form.setValues({"oid":that.currentItemAttributes.oid},"form_" + that.id);
|
};
|
this.getFormItems = function(onlyShow) {
|
var that = this;
|
var table = layui.table;
|
return [
|
{
|
field: 'codeclassifyoid',
|
title: '主题库分类主键',
|
required: true,
|
type: 'refer',
|
showField: 'codeclassifyoidName',
|
referConfig: {
|
referBo:'codeclassify'
|
},
|
defaultValue:"",
|
readOnly:onlyShow
|
} ];
|
};
|
this.ADD = function () {
|
var that = this;
|
that.addOrEdit(true);
|
};
|
this.EDIT = function(){
|
var that = this;
|
if(webUtil.isNull(that.currentItemOid)){
|
webUtil.showErrorMsg("请先从树上选择一条数据");
|
return false;
|
}
|
that.addOrEdit(false,that.currentItemOid);
|
};
|
this.addOrEdit = function(add,oid) {
|
var that = this;
|
var form = layui.form;
|
var filter ="form_" + that.id;
|
var addSaveIndex =webUtil.dialog({
|
title:add?'添加分类模板对象':'修改分类模板对象',
|
btn:['保存','取消'],
|
skin:'layui-layer-lan',
|
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(that.currentItemAttributes) {
|
defaultValues["codeClassifyOid"] = that.currentItemOid;
|
defaultValues["codeClassifyOid" + "name"] = that.currentItemAttributes.name;
|
}
|
//可以手动在此处添加默认值
|
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(webUtil.isNull(that.currentItemOid)){
|
webUtil.showErrorMsg("请先从树上的节点");
|
return false;
|
}
|
var ts = that.currentItemAttributes.ts;
|
webUtil.showConfirmMsg("是否删除这条数据?如果被引用将不能被删除!",function () {
|
var submitValue = {oid:that.currentItemOid,ts:ts};
|
webUtil.deleteRequest(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);
|
});
|
};
|
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);
|
};
|
this.refresh = function (buttonid,parentNodeOid) {
|
var that = this;
|
var tree = layui.tree;
|
if(webUtil.isNotNull(parentNodeOid)){
|
tree.reloadNode("tree_" + that.id,parentNodeOid);
|
}else {
|
tree.reload("tree_" + that.id);
|
}
|
};
|
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);
|
});
|