czl-web/js/companypro/proManageTeamList.js

289 lines
11 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

layui.config({
base: '../../js/layuiModules/', // 第三方模块所在目录
version: 'v1.6.4' // 插件版本号
}).extend({
soulTable: 'notice,layNotify', // 模块
});
let form;
let status;
var tree;
var table;
var notice;
var layNotify;
let pers = checkPermission();
const token = localStorage.getItem("token");
$("#resetBt").click(function(){
table.reload('menuTable', {
url: ctxPath + '/proManage/getProjectManagementTeamsList'
, method: 'post' //方式默认是get
, page: true
, where: {
keyWord: "",
status: "",
branchId: "",
} //设定异步数据接口的额外参数
});
$("#keyWord").val("");
$("#statusId").val("");
getOrgName(form,"");
form.render();
})
$("#searchBt").click(function(){
table.reload('menuTable', {
url: ctxPath + '/proManage/getProjectManagementTeamsList'
, method: 'post' //方式默认是get
, page: true
, where: {
keyWord: $("#keyWord").val(),
status: $("#statusId").val(),
branchId: $("#orgId").val(),
} //设定异步数据接口的额外参数
});
})
$("#addBt").click(function(){
localStorage.setItem("id","")
localStorage.setItem('teamTypeId',"");
localStorage.setItem('voltageLevelId',"");
localStorage.setItem('teamName',"");
layerOpenFormForSencond("新增","./proManageTeamForm.html");
})
$("#bindBt").click(function(){
layerOpenViewForSencond("团队工程绑定","./teamAndProBindForm.html");
})
$("#exportBt").click(function(){
keyWord = $("#keyWord").val();
status = $("#statusId").val();
branchId = $("#orgId").val();
window.location.href = ctxPath + "/proManage/exportPhysicalCheckResult?"
+"keyWord=" + keyWord
+ "&status=" + status
+ "&branchId=" + branchId
+ "&type=" + '1'
+ "&token=" + token; //下载文件
})
layui.use(['table', 'form','notice', 'layNotify'], function () {
table = layui.table;
form = layui.form;
tree = layui.tree;
notice = layui.notice;
layNotify = layui.layNotify;
//渲染表格
table.render({
elem: '#demo'
, url: ctxPath + '/proManage/getProjectManagementTeamsList' //数据接口
, method: 'post' //方式默认是get
, toolbar: 'default' //开启工具栏,此处显示默认图标,可以自定义模板,详见文档
, where: {} //post请求必须加where post请求需要的参数
, cellMinWidth: 80
, cols: [[ //表头
{
field: 'number', width:80,title: '序号', align: 'center', type: 'numbers'
}
, {field: 'branchName', align: 'center', title: '分公司'}
, {field: 'teamName', align: 'center', title: '团队名称'}
, {field: 'teamTypeName', align: 'center', title: '团队类型'}
, {field: 'voltageLevel', align: 'center', title: '电压等级'}
, {
field: 'teamNum', title: '团队人数', align: 'center', templet: d => {
return text ="<span style='color: blue;cursor:pointer;' onclick='openTeamForm(\"" + d.id +"\",\"" + d.orgId +"\",\"" + d.teamTypeId +"\",\"" + d.voltageLevelId +"\",\"" + d.teamName +"\")'>"+d.teamNum+"</span>";
}
}
, {
field: 'status', title: '状态', align: 'center', templet: d => {
let text = "";
if (d.status === "1") {
text = "<span class='layui-badge-dot layui-bg-green'></span>已投入";
} else if (d.status === "0") {
text = "<span class='layui-badge-dot'></span>闲置中";
}
return text;
}
}
, {
field: 'proName', title: '所属项目', align: 'center', templet: d => {
if (isEmpty(d.proName)) {
return "<span style='color: blue;cursor:pointer;' onclick='openForm()'>去绑定工程</span>"
}
return d.proName;
}
}
, {field: 'remark', align: 'center', title: '备注'}
, {field: 'createTime', align: 'center', title: '创建时间'}
, {
fixed: 'right', width:180, title: '操作', align: 'center', templet: d => {
let text = "";
if ($.inArray('sysFirmContent:update', pers) > 0) {
text +='<a lay-event="update" style="color: #009688;cursor: pointer;font-size: 15px" id="updateBtn">修改</a>';
}
if ($.inArray('sysFirmContent:delete', pers) > 0) {
if (d.status != 1){
text +='<span lay-event="com" style="font-size: 15px;"> | </span>';
text +='<a lay-event="del" style="color: #009688;cursor: pointer;font-size: 15px">删除</a>';
}
}
return text;
}
}
]]
, id: 'menuTable'
,done: function(res, curr, count, origin){
console.log(res); // 得到当前渲染的数据
console.log(curr); // 得到当前页码
console.log(count); // 得到数据总量
console.log(origin); // 回调函数所执行的来源 --- 2.8.7+
}
, 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 rowIndex = obj.index;
var layEvent = obj.event; //当前点击的事件名
if (layEvent === 'update') {
localStorage.setItem('id',data.id);
localStorage.setItem('orgId',data.orgId);
localStorage.setItem('teamTypeId',data.teamTypeId);
localStorage.setItem('voltageLevelId',data.voltageLevelId);
localStorage.setItem('teamName',data.teamName);
layerOpenFormForSencond("修改","./proManageTeamForm.html");
}
if (layEvent === 'del') {
var index = layer.confirm('确定要删除吗?', {
btn : [ '确定', '取消' ]
}, function() {
layer.close(index);
ajaxCommonMethod('/proManage/delProManageTeamById',{'id': data.id},"删除成功","删除失败");
});
}
});
// 单元格编辑事件
table.on('edit(test)', function (obj) {
var field = obj.field; // 得到字段
var value = obj.value; // 得到修改后的值
var oldValue = obj.oldValue;
var data = obj.data; // 得到所在行所有键值
var update = {};
// 值的校验
if (field === 'idNumber') {
if (value.length != 18) {
update[field] = oldValue;
obj.update(update);
layer.tips('输入的身份证不正确,请重新编辑', this, {tips: 1});
return obj.reedit(); // 重新编辑 -- v2.8.0 新增
} else {
update[field] = value;
obj.update(update);
}
}
// 编辑后续操作,如提交更新请求,以完成真实的数据更新
// …
layer.msg('编辑成功', {icon: 1});
});
getOrgName(form,null);
});
function openTeamForm(id,orgId,teamTypeId,voltageLevelId,teamName){
localStorage.setItem('id',id);
localStorage.setItem('orgId',orgId);
localStorage.setItem('teamTypeId',teamTypeId);
localStorage.setItem('voltageLevelId',voltageLevelId);
localStorage.setItem('teamName',teamName);
layerOpenFormForSencond("团队成员","./personToTeamForm.html");
}
function openForm(){
layerOpenViewForSencond("团队工程绑定","./teamAndProBindForm.html");
}
/**
* 合并行方法
**/
function merge(res) {
var data = res.data;
var mergeIndex = 0;//定位需要添加合并属性的行数
var mark = 1; //这里涉及到简单的运算mark是计算每次需要合并的格子数
var columsName = ['postName'];//需要合并的列名称 ['business_tenant_name','land','contract_begin','contract_end','history_arrears','period'];
var columsIndex = [0];//需要合并的列索引值 [2,3,5,6,14,15];
for (var k = 0; k < columsName.length; k++) { //这里循环所有要合并的列
var trArr = $(".layui-table-body>.layui-table").find("tr");//所有行
for (var i = 1; i < res.data.length; i++) { //这里循环表格当前的数据
var tdCurArr = trArr.eq(i).find("td").eq(columsIndex[k]);//获取当前行的当前列
var tdPreArr = trArr.eq(mergeIndex).find("td").eq(columsIndex[k]);//获取相同列的第一列
if (data[i][columsName[0]] === data[i - 1][columsName[0]]) {
layui.hint().error(i);
if (data[i][columsName[k]] === data[i - 1][columsName[k]]) { //后一行的值与前一行的值做比较,相同就需要合并
mark += 1;
tdPreArr.each(function () {//相同列的第一列增加rowspan属性
$(this).attr("rowspan", mark);
});
tdCurArr.each(function () {//当前行隐藏
$(this).css("display", "none");
});
}
} else {
mergeIndex = i;
mark = 1;//一旦前后两行的值不一样了那么需要合并的格子数mark就需要重新计算
}
}
mergeIndex = 0;
mark = 1;
}
}
function ajaxCommonMethod(url,data,success,error){
$.ajax({
type: 'POST',
async: false, // 默认异步true,false表示同步
url: ctxPath + url,// 请求地址
contentType: "application/x-www-form-urlencoded",
dataType: 'json', // 服务器返回数据类型
data: data, //获取提交的表单字段
success: function (data) {
var resMsg = data.resMsg;
if ("数据获取成功" == resMsg) {
reloadTip("删除",success,'success');
setTimeout(function(){
reloadProTeamData();
}, 2000);
}else {
reloadTip("删除",error,"error");
}
}
});
}
function reloadTip(tip,message,type){
layNotify.notice({
title: tip+"提示",
type: type,
message: message
});
}