/**
|
* 地区分类页面
|
* @author weidy
|
* @date 2020-10-19
|
*/
|
layui.define(['layer','element','form','table','dynamicCondition','upload' ,'tree'],function(exports){
|
var webUtil = $webUtil;
|
var Class = function(){
|
this.MODELNAME = "platform/basedoc/BdAreaClassify";
|
this.moduleKey = "BdAreaClassify";
|
this.backPath = configData.compatibility?path:configData.frameworkPath;
|
this.url = {
|
controller:'areaClassifyController/',
|
tree:'getAllAreaClassify',
|
dataGrid:'gridBdAreaClassify',
|
addSave:'insert',
|
editSave:'update',
|
deleteUrl:'delete',
|
enableData: 'enable',
|
disableData: 'disable',
|
downloadImportTemplate:'downloadImportTemplate',
|
importData : 'importData',
|
exportData : 'exportData',
|
getObjectByOid:'getAreaClassifyByOid'
|
};
|
this.getContent=function(){
|
var that = this;
|
var html = "";
|
html = [
|
'<div class="layui-layout" style="display:block;overflow-y: hidden">',
|
'<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; " id="border_',that.id,'">',
|
|
'<div class="layui-center" style="overflow-y:auto;">',
|
that.getToolbarHtml(),
|
'<form class="layui-form" lay-filter="form_inPanel',that.id,'"></form>',
|
'</div>',
|
'</div>',
|
'</div>'
|
].join("");
|
return html;
|
};
|
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,'_EDIT"><i class="layui-icon layui-icon-edit"></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,'_DISABLE"><i class="layui-icon layui-icon-404"></i>停用</button>',
|
// '<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_IMPORT"><i class="layui-icon layui-icon-upload-drag"></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,'_EXPORT"><i class="layui-icon layui-icon-export"></i>导出</button>',
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_refresh"><i class="layui-icon layui-icon-refresh"></i>刷新</button>',
|
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_ENABLE"><i class="layui-icon layui-icon-ok-circle"></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.initForm();
|
that.createSearchHtml();
|
};
|
this.initTree = function () {
|
var that = this,tree=layui.tree;
|
var treeUL = $('[layui-filter="tree_' + that.id + '"]');
|
var scrollHeight = window.innerHeight;
|
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;
|
that.setFormValues(item.attributes);
|
},
|
done: function (thisFilter) {
|
that.initForm();
|
}
|
});
|
};
|
this.setFormValues = function (attributes) {
|
var that = this;
|
if(attributes){
|
try{
|
var form = layui.form;
|
form.clear("form_inPanel" + that.id,true);
|
form.setValues(attributes,"form_inPanel" + that.id);//不需要转换对象,因为attributes已经是对象格式了
|
}catch (e){
|
$webUtil.showDebugMsg(e);
|
}
|
}
|
};
|
this.getFormItems = function(onlyShow) {
|
var that = this;
|
return [
|
{
|
field: 'id',
|
title: '编号',
|
required: true,
|
type: 'text',
|
readOnly:onlyShow
|
} , {
|
field: 'name',
|
title: '名称',
|
required: true,
|
type: 'text',
|
readOnly:onlyShow
|
} , {
|
field: 'description',
|
title: '描述',
|
type: 'text',
|
readOnly:onlyShow
|
} ,{
|
field: 'lcStatusText',
|
title: '状态',
|
type: 'text',
|
hidden:!onlyShow,
|
readOnly:onlyShow
|
} ];
|
};
|
this.initForm = function () {
|
var that = this;
|
var form = layui.form;
|
form.addItems("form_inPanel" + that.id, that.getFormItems(true), function () {
|
}, {}, {
|
defaultColumnOneRow: 2,
|
labelWidth: 200
|
});
|
};
|
this.ADD = function () {
|
var that = this;
|
that.addOrEdit(true);
|
};
|
this.EDIT = function(){
|
var that = this;
|
that.addOrEdit(false,that.currentItemOid);
|
};
|
this.addOrEdit = function(add,oid) {
|
var that = this;
|
var form = layui.form;
|
var filter ="form_" + that.id;
|
if(!add && $webUtil.isNull(that.currentItemOid)){
|
$webUtil.showErrorMsg("请先选择一个地区分类");
|
return false;
|
}
|
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>',
|
area:['900px','350px'],
|
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 = {};
|
//可以手动在此处添加默认值
|
defaultValues['parentAreaClassify'] = that.currentItemOid;
|
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.ajax(add?'post':'put',url,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 () {
|
webUtil.deleteRequest(that.url.controller + that.url.deleteUrl,{oid:that.currentItemOid,ts:ts},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 (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.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 = that.currentItemOid ;
|
var ts ;
|
if($webUtil.isNull(that.currentItemOid)){
|
$webUtil.showErrorMsg("请先选择一个地区分类");
|
return false;
|
}
|
ts = that.currentItemAttributes.ts;
|
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);
|
};
|
|
this.EXPORT = function () {
|
var that = this;
|
var iframeId = MD5("export" +webUtil.getSystemVar(webUtil.systemValueKey.currentDateTimeSSS) +webUtil.getSystemVar(webUtil.systemValueKey.userOid));
|
var data = {};
|
data[TOKEN_KEY] = webUtil.getToken();
|
data['downloadUUID'] = iframeId;
|
webUtil.fileDownloadPost(that.backPath + that.url.controller + that.url.exportData,data);
|
};
|
this.IMPORT = function () {
|
var that = this;
|
var filter =that.id + "_upload";
|
var form = layui.form;
|
var uploadIndex = webUtil.dialog({
|
title:'导入地区分类',
|
btn:['下载导入模板','取消'],
|
content:'<form id="form_' + filter + '" lay-filter="' + filter + '" class="layui-form" style="margin-top:5px" enctype="multipart/form-data"></form>',
|
area: ['300px', '300px'],
|
resize:false,
|
success:function(layero){
|
//如果导入有其他操作,在第二个参数中添加
|
form.addItems(filter,[],function(){
|
$("#form_" + filter).append('<button type="button" class="layui-btn" id="' + that.id + '_upload_form_file" style="margin-left:100px;margin-top:80px;"><i class="layui-icon"></i>选择文件后自动导入</button> ');
|
var upload = layui.upload;
|
//执行实例
|
var uploadInst = upload.render({
|
elem: '#' + that.id + '_upload_form_file' //绑定元素
|
,accept:'file'
|
,acceptMime:'file/*'
|
,exts:'xls|xlsx'
|
,url: that.backPath + that.url.controller + that.url.importData
|
,done: function(result){
|
if(result.success){
|
layer.close(uploadIndex);
|
webUtil.showMsgFromResult(result,"导入成功");
|
that.refresh();
|
}else{
|
webUtil.showErrorMsg(result.msg);
|
}
|
}
|
,error: function(){
|
//请求异常回调
|
webUtil.showErrorMsg("上传异常");
|
}
|
});
|
},{},{
|
defaultColumnOneRow:1
|
});
|
},
|
yes:function(){
|
var iframeId = MD5("downloadImportTemplate" +webUtil.getSystemVar(webUtil.systemValueKey.currentDateTimeSSS) +webUtil.getSystemVar(webUtil.systemValueKey.userOid));
|
webUtil.fileDownload(that.backPath + that.url.controller + that.url.downloadImportTemplate+ "?" + TOKEN_KEY + "=" + webUtil.getToken() + "&downloadUUID=" + iframeId );
|
}
|
});
|
};
|
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>');
|
var dataFields = that.columns;
|
that.serinorQueryInstance = dynamicCondition.create({
|
fields: dataFields//查询字段
|
, tableId: "table_" + that.id//需要查询的表格
|
, type: "complex" //type:"simple"/"complex" 查询的方法 暂时写死为 complex
|
//,conditionTextId:"#toolbar"+that.id//高级查询 按钮所在的div
|
//,popupShowQueryBtn: true//显示高级查询按钮
|
, queryCallBack: function (requestData) {//查询之后的callback
|
//console.log(JSON.stringify(requestData))
|
}
|
});
|
}
|
that.serinorQueryInstance.open();
|
};
|
};
|
var cs = new Class();
|
exports(cs.MODELNAME,cs);
|
});
|