/**
|
* 职务管理页面
|
* @author weidy
|
* @date 2020-08-12
|
*/
|
layui.define(['layer','element','form','table','dynamicCondition','upload' ],function(exports){
|
var webUtil = $webUtil;
|
var Class = function(){
|
this.MODELNAME = "platform/orgs/orgDuty";
|
this.moduleKey = "OrgDuty";
|
this.backPath = configData.compatibility?path:configData.frameworkPath;
|
this.url = {
|
controller:'orgDutyController/',
|
dataGrid:'gridOrgDuty',
|
addSave:'addSave',
|
editSave:'editSave',
|
deleteUrl:'delOrgDuty',
|
enableData: 'enableData',
|
disableData: 'disableData',
|
downloadImportTemplate:'downloadImportTemplate',
|
importData : 'importData',
|
exportData : 'exportData',
|
getObjectByOid:'getObjectByOid'
|
};
|
this.getContent=function(){
|
var that = this;
|
var html = "";
|
html = [
|
'<div class="layui-layout" style="display:block;overflow-y: hidden">',
|
'<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(),
|
'<table id="table_', that.id , '" lay-filter="',that.id , '" style="overflow-x:auto;"></table>',
|
'<div id="toolbar_column_',that.id ,'" style="display:none;"></div>',
|
'</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,'_ENABLE"><i class="layui-icon layui-icon-ok-circle"></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>',
|
|
'</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.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],
|
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);
|
document.getElementById("toolbar_column_" + that.id).innerHTML =
|
'<a class="layui-btn layui-btn-intable" lay-event="EDIT">编辑</a>';
|
};
|
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: 'id',
|
width: 150
|
}, {
|
title: '名称',
|
field: 'name',
|
width: 150
|
}, {
|
title: '职务类别',
|
field: 'dutyClassify',
|
width: 150
|
}, {
|
title: '描述',
|
field: 'description',
|
width: 150
|
}, {
|
title: '状态',
|
field: 'lcStatusText',
|
width: 150
|
} ];
|
}
|
};
|
|
this.getFormItems = function(onlyShow) {
|
var that = this;
|
var table = layui.table;
|
return [
|
{
|
field: 'id',
|
title: '编号',
|
required: true,
|
type: 'text',
|
readOnly:onlyShow
|
} , {
|
field: 'name',
|
title: '名称',
|
required: true,
|
type: 'text',
|
readOnly:onlyShow
|
} , {
|
field: 'dutyClassify',
|
title: '职务类别',
|
type: 'text',
|
readOnly:onlyShow
|
} , {
|
field: 'description',
|
title: '描述',
|
type: 'text',
|
readOnly:onlyShow
|
} ];
|
};
|
this.ADD = function () {
|
var that = this;
|
that.addOrEdit(true);
|
};
|
this.EDIT = function(){
|
var that = this;
|
var oid = webUtil.getOidFromGrid("table_" + that.id,true,true);
|
if(!oid){
|
return false;
|
}
|
that.addOrEdit(false,oid);
|
};
|
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>',
|
area:['820px','400px'],
|
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 = {};
|
//可以手动在此处添加默认值
|
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;
|
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);
|
});
|
};
|
this.refresh = function () {
|
var that = this;
|
var that = this;
|
layui.table.reload("table_" + 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 ;
|
var ts ;
|
oid = webUtil.getOidFromGrid("table_" + that.id,true,true);
|
if(!oid){
|
return false;
|
}
|
ts = webUtil.getOidFromGrid("table_" + that.id,false,false,'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;
|
var dynamicCondition = layui.dynamicCondition;
|
$('[layui-filter="toolbar_' + that.id + '"]').append('<div id="toolbar'+ that.id+'" class="layui-inline"></div>');
|
var dataFields = that.columns;
|
if(!that.serinorQueryInstance) {
|
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);
|
});
|