var oldKeyWord;
var oldOrgId;
var laydate
let form
var table
let pers = checkPermission();
layui.use(['table', 'layer', 'laydate', 'jquery', 'form'], function () {
table = layui.table;
laydate = layui.laydate;
form = layui.form;
if (pers && $.inArray('sysProjectContent:add', pers) < 0) {
var addDiv=document.getElementById('addDiv');
if(addDiv){
document.getElementById('addDiv').remove();
}
}
//渲染table
table.render({
elem: '#demo'
, url: ctxPath + '/corporate/getProjectContent' //数据接口
, method: 'post' //方式默认是get
, toolbar: 'default' //开启工具栏,此处显示默认图标,可以自定义模板,详见文档
, where: {} //post请求必须加where ,post请求需要的参数
, cellMinWidth: 80
, cols: [[ //表头
{
field: 'number', width:120,title: '序号', align: 'center', type: 'numbers'
}
, {field: 'orgName', align: 'center', title: '项目部名称'}
, {field: 'parentOrgName', align: 'center', title: '所属分公司'}
, {field: 'status', align: 'center', title: '状态', templet: '#switchTpl'}
, {
fixed: 'right', width:180, title: '操作', align: 'center', templet: d => {
let text = "";
if ($.inArray('sysProjectContent:update', pers) >= 0) {
text +='编辑';
text +=' | ';
}
if ($.inArray('sysProjectContent:del', pers) >= 0) {
text +='删除';
}
return text;
}
}
]]
, id: 'menuTable'
, page: true //开启分页
, loading: true //数据加载中。。。
, limits: [5, 10, 20] //一页选择显示3,5或10条数据
, limit: 10 //一页显示5条数据
, response: {
statusCode: 200 //规定成功的状态码,默认:0
}, parseData: function (res) { //将原始数据解析成 table 组件所规定的数据,res为从url中get到的数据
let result;
if (res.data !== '' && res.data != null && res.data !== "null") {
if (this.page.curr) {
result = res.data.slice(this.limit * (this.page.curr - 1), this.limit * this.page.curr);
} else {
result = res.data.slice(0, this.limit);
}
}
return {
"code": res.code, //解析接口状态
"msg": res.msg, //解析提示文本
"count": res.count, //解析数据长度
"data": result, //解析数据列表
};
},
toolbar: "#toolbar"
});
// 行工具事件
table.on('tool(test)', function (obj) {
var data = obj.data //获得当前行数据
var layEvent = obj.event; //获得 lay-event 对应的值
var id = data.id
if (layEvent === 'edit') {
openForm(id,'修改');
} else if (layEvent === 'del') {
delHospital(id);
}
});
form.on('switch(statusSwitch)', function(data){
var isChecked = data.elem.checked; // 获取复选框的当前状态
var value = data.value; // 获取复选框的值
let status = isChecked ? 1 : 0;
$.ajax({
url: ctxPath + '/corporate/switchProject',
type: 'POST',
data: { id: value, status: status },
success: function(res) {
layer.msg('状态更新成功');
},
error: function() {
layer.msg('更新状态失败');
}
});
});
//头监听事件 -- checkBox 选中行和选中条数
table.on('toolbar(test)', function (obj) {
// 获取当前表格被选中的记录对象,返回数据
var checkStatus = table.checkStatus(obj.config.id);
//获取事件名,执行对应的代码
var eventName = obj.event;
switch (eventName) {
case "searchBt":
oldKeyWord = $("#keyWord").val();
oldOrgId = $("#parentId").val();
table.reload('menuTable', {
url: ctxPath + '/corporate/getProjectContent'
, method: 'post' //方式默认是get
, page: true
, where: {
keyWord: oldKeyWord,
parentId: oldOrgId,
} //设定异步数据接口的额外参数
});
/**二次赋值-- 点击搜索按钮之后会进行一次刷新操作*/
$("#keyWord").val(oldKeyWord);
getSelect(form,oldOrgId);
break;
case "addBtn":
openForm("",'新增');
break;
case "resetBt":
oldKeyWord = "";
$("#keyWord").val("");
table.reload('menuTable', {
url: ctxPath + '/corporate/getProjectContent'
, method: 'post' //方式默认是get
, page: true
, where: {
keyWord: "",
parentId : ""
} //设定异步数据接口的额外参数
});
getSelect(form,"");
break;
}
});
getSelect(form, "");
form.render();
});
/**
* 新增-修改功能
*/
function openForm(id,title){
localStorage.setItem("id",id);
layerOpenForm(title,"./addProjectFrom.html","70%","85%")
}
/**
* 删除功能
*/
function delHospital(id) {
layer.confirm('确定要删除吗?', {
btn : [ '确定', '取消' ]
}, function() {
ajaxCommonMethod('/corporate/delFirmById',{'id': id},"删除成功","删除失败");
layer.close(1);
location.reload();
});
}
/**
* 下拉框-分公司功能
*/
function getSelect(form,Id) {
$("#parentId").html("");
$.ajax({
type: 'post',
url: ctxPath + '/selectUtil/getBranchName',
data: {
},
async: false,
success: function (data) {
var html = '';
for (var i = 0; i < data.length; i++) {
if (Id == data[i].id) {
html += '';
} else {
html += '';
}
}
$("#parentId").html(html);
layui.form.render('select'); //这里就是我们要渲染的地方了
},
error: function (err) {
console.log("获取分公司下拉列表出错:", err);
}
});
}