Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
3640434634
|
|
@ -238,11 +238,12 @@ function initTable() {
|
||||||
layerOptions.yes = function (index, layero) {
|
layerOptions.yes = function (index, layero) {
|
||||||
//提交子页面时执行
|
//提交子页面时执行
|
||||||
// 获取弹出层中的form表单元素
|
// 获取弹出层中的form表单元素
|
||||||
const formSubmit = layer.getChildFrame("form", index);
|
// const formSubmit = layer.getChildFrame("form", index);
|
||||||
// 查找class样式为submitBtn的按钮
|
// 查找class样式为submitBtn的按钮
|
||||||
const submited = formSubmit.find("button.subBtn");
|
// const submited = formSubmit.find("button.subBtn");
|
||||||
// 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息
|
// 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息
|
||||||
submited.click();
|
// submited.click();
|
||||||
|
initTable();
|
||||||
};
|
};
|
||||||
layer.open(layerOptions);
|
layer.open(layerOptions);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ function search(type) {
|
||||||
curr: 1
|
curr: 1
|
||||||
},
|
},
|
||||||
where: {
|
where: {
|
||||||
type:'audit',
|
type: 'audit',
|
||||||
keyWord: $("#keyWord").val(),
|
keyWord: $("#keyWord").val(),
|
||||||
evaluateDeptId: $("#evaluateDeptId").val(),
|
evaluateDeptId: $("#evaluateDeptId").val(),
|
||||||
evStatus: $("#evStatus").val(),
|
evStatus: $("#evStatus").val(),
|
||||||
|
|
@ -52,7 +52,7 @@ function initTable() {
|
||||||
, method: 'get' //方式默认是get
|
, method: 'get' //方式默认是get
|
||||||
, toolbar: 'default' //开启工具栏,此处显示默认图标,可以自定义模板,详见文档
|
, toolbar: 'default' //开启工具栏,此处显示默认图标,可以自定义模板,详见文档
|
||||||
, where: {
|
, where: {
|
||||||
type:'audit',
|
type: 'audit',
|
||||||
} //post请求必须加where ,post请求需要的参数
|
} //post请求必须加where ,post请求需要的参数
|
||||||
, cellMinWidth: 80
|
, cellMinWidth: 80
|
||||||
, cols: [[ //表头
|
, cols: [[ //表头
|
||||||
|
|
@ -64,16 +64,24 @@ function initTable() {
|
||||||
, {field: 'evaluateMonth', align: 'center', title: '评价年月'}
|
, {field: 'evaluateMonth', align: 'center', title: '评价年月'}
|
||||||
, {field: 'projectNum', align: 'center', title: '项目数量'}
|
, {field: 'projectNum', align: 'center', title: '项目数量'}
|
||||||
, {field: 'outsourcerNum', align: 'center', title: '外包商数量'}
|
, {field: 'outsourcerNum', align: 'center', title: '外包商数量'}
|
||||||
, {field: 'isApprove', align: 'center', title: '评价状态', templet: d =>{
|
, {
|
||||||
if (d.rejectReason){
|
field: 'isApprove', align: 'center', title: '评价状态', templet: d => {
|
||||||
return '评价驳回'
|
if (d.rejectReason) {
|
||||||
}else {
|
return '评价驳回'
|
||||||
return Number(d.isApprove) === 0 ? '待评价' : (Number(d.isApprove) === 1 ? '已评价' : '')
|
} else {
|
||||||
}
|
return Number(d.isApprove) === 0 ? '待评价' : (Number(d.isApprove) === 1 ? '已评价' : '')
|
||||||
|
}
|
||||||
// Number(d.isApprove) === 0 ? '待评价' : (Number(d.isApprove) === 1 ? '已评价' : '')
|
// Number(d.isApprove) === 0 ? '待评价' : (Number(d.isApprove) === 1 ? '已评价' : '')
|
||||||
}}
|
}
|
||||||
, {field: 'status', align: 'center', title: '审核状态', templet: d =>
|
}
|
||||||
Number(d.status) === 0 ? '待审核' : (Number(d.status) === 1 ? '已审核' : '审核中')
|
, {
|
||||||
|
field: 'status', align: 'center', title: '审核状态', templet: d => {
|
||||||
|
if (d.rejectReason) {
|
||||||
|
return '审核驳回'
|
||||||
|
} else {
|
||||||
|
return Number(d.status) === 0 ? '待审核' : (Number(d.status) === 1 ? '已审核' : '审核中')
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
, {field: 'rejectReason', align: 'center', title: '驳回原因'}
|
, {field: 'rejectReason', align: 'center', title: '驳回原因'}
|
||||||
, {
|
, {
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,10 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.layui-layer-iframe .layui-layer-btn0 {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
@ -189,26 +193,38 @@
|
||||||
loading: true,
|
loading: true,
|
||||||
done: function (res) {
|
done: function (res) {
|
||||||
var tableView = this.elem.next();
|
var tableView = this.elem.next();
|
||||||
layui.each(res.data, function (i, item) {
|
layui.each(res.data, function (i, item1) {
|
||||||
if (item.isApprove == '1') { // Condition to make the row non-editable
|
if (item1.isApprove == '1') { // Condition to make the row non-editable
|
||||||
var cols = tableView.find('tr[data-index=' + i + ']').find('td');
|
|
||||||
cols.each(function (index, item) {
|
|
||||||
//对field为subName,proName 的列不进行设置
|
|
||||||
if (index > 2) {
|
|
||||||
$(this).data('edit', 'false');
|
|
||||||
$(this).removeAttr('data-edit');
|
|
||||||
$(this).addClass('layui-disabled');
|
|
||||||
//将td元素的contentEditable属性设置为false,禁止编辑
|
|
||||||
$(this).attr('contentEditable', 'false');
|
|
||||||
//将td元素的style属性设置为pointer-events: none,禁止点击
|
|
||||||
$(this).css('pointer-events', 'none');
|
|
||||||
delete item.dataset.edit
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
var cols = tableView.find('tr[data-index=' + i + ']').find('td');
|
||||||
|
cols.each(function (index, item) {
|
||||||
|
//对field为subName,proName 的列不进行设置
|
||||||
|
if (index > 2 && index != cols.length - 1) {
|
||||||
|
$(this).data('edit', 'false');
|
||||||
|
$(this).removeAttr('data-edit');
|
||||||
|
$(this).addClass('layui-disabled');
|
||||||
|
//将td元素的contentEditable属性设置为false,禁止编辑
|
||||||
|
$(this).attr('contentEditable', 'false');
|
||||||
|
//将td元素的style属性设置为pointer-events: none,禁止点击
|
||||||
|
$(this).css('pointer-events', 'none');
|
||||||
|
delete item.dataset.edit
|
||||||
|
let fileDom = '';
|
||||||
|
|
||||||
|
// 只要有文件列表,并且文件列表数量大于0,添加文件信息
|
||||||
|
// if (item1.fileList && item1.fileList.length > 0) {
|
||||||
|
// // 根据文件列表的索引判断将哪个文件添加到相应的列
|
||||||
|
// fileDom = `<span>${item1.fileList[index - 3]}</span>`;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// console.log('fileDomfileDomfileDomfileDom', fileDom)
|
||||||
|
|
||||||
|
// // 将fileDom添加到当前单元格
|
||||||
|
// $(this).append(fileDom);
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
var columsName = ['subName'];//需要合并的列名称 ['business_tenant_name','land','contract_begin','contract_end','history_arrears','period'];
|
var columsName = ['subName'];//需要合并的列名称 ['business_tenant_name','land','contract_begin','contract_end','history_arrears','period'];
|
||||||
var columsIndex = [1];//需要合并的列索引值 [2,3,5,6,14,15];
|
var columsIndex = [1];//需要合并的列索引值 [2,3,5,6,14,15];
|
||||||
|
|
@ -225,31 +241,31 @@
|
||||||
text: '评价',
|
text: '评价',
|
||||||
type: 'button'
|
type: 'button'
|
||||||
});
|
});
|
||||||
|
let fileList = []
|
||||||
|
let uploadDom = []
|
||||||
|
|
||||||
// 将自定义元素插入到最后一个单元格
|
// 将自定义元素插入到最后一个单元格
|
||||||
div.append(customElement);
|
div.append(customElement);
|
||||||
customElement.on('click', function (event) {
|
customElement.on('click', function (event) {
|
||||||
event.stopPropagation(); // 阻止事件冒泡
|
event.stopPropagation()
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
console.log('按钮被点击了');
|
|
||||||
let rowIndex = $(this).closest('tr').data('index')
|
let rowIndex = $(this).closest('tr').data('index')
|
||||||
const tableList = JSON.parse(msg)
|
const tableList = JSON.parse(msg)
|
||||||
|
|
||||||
|
|
||||||
console.log('rowIndex当前行的索引', rowIndex)
|
|
||||||
// 在这里添加按钮点击后的逻辑
|
|
||||||
|
|
||||||
// 组装dom
|
// 组装dom
|
||||||
let formHtml = `<div class="dialog-title">${tableList[rowIndex].proName}</div>`
|
let formHtml = `<div class="dialog-title">${tableList[rowIndex].proName}</div>`
|
||||||
let innerHtml = ''
|
let innerHtml = ''
|
||||||
dialogLabelList.forEach((e, index) => {
|
dialogLabelList.forEach((e, index) => {
|
||||||
|
fileList.push('')
|
||||||
|
uploadDom.push('#uploadBtn' + index)
|
||||||
innerHtml += `<div style="padding:6px 0;display: flex; align-items: center;">
|
innerHtml += `<div style="padding:6px 0;display: flex; align-items: center;">
|
||||||
<div style="margin-right: 10px;width: 200px";>${e.title}</div>
|
<div style="margin-right: 10px;width: 200px";>${e.title}</div>
|
||||||
<input type="text" data-id="${dialogLabelInfo[index].field}" id="numberInput" name="numberInput" min="0.01" step="0.01" placeholder="请输入大于0的数字" style=";width:180px; padding:1px 5px;" value="${tableList[rowIndex][dialogLabelInfo[index].field]}">
|
<input type="text" data-id="${dialogLabelInfo[index].field}" id="numberInput" name="numberInput" min="0.01" step="0.01" placeholder="请输入大于0的数字" style=";width:180px; padding:1px 5px;" value="${tableList[rowIndex][dialogLabelInfo[index].field]}">
|
||||||
<button type="button" data-index="${index}" class="uploadBtn" id="uploadBtn${index}" style="color: #4CAF50; border: none; margin-left: 10px; cursor: pointer;">
|
<button type="button" data-index="${index}" id="uploadBtn${index}" style="color: #4CAF50; border: none; margin-left: 10px; cursor: pointer;">
|
||||||
+ 上传评分依据
|
+ 上传评分依据
|
||||||
</button>
|
</button>
|
||||||
|
<div class="upload-success" id="upload-success_${index}" style="display:none"><i data-index="${index}" class="layui-icon" style="font-size: 18px; color: red; cursor: pointer;"></i> </div>
|
||||||
</div>`
|
</div>`
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
@ -273,41 +289,31 @@
|
||||||
var upload = layui.upload;
|
var upload = layui.upload;
|
||||||
// 执行上传功能
|
// 执行上传功能
|
||||||
var uploadInst = upload.render({
|
var uploadInst = upload.render({
|
||||||
elem: '.uploadBtn', // 上传按钮
|
elem: uploadDom.join(','),
|
||||||
url: ctxPath + '/upload/file', // 文件上传接口(这里要根据实际接口替换)
|
url: ctxPath + '/upload/file',
|
||||||
accept: 'file', // 选择文件类型
|
accept: 'file',
|
||||||
multiple: false, // 支持多文件上传
|
multiple: false,
|
||||||
auto: true, // 禁用自动上传,点击确定按钮后上传
|
|
||||||
bindAction: '#uploadConfirm', // 确定按钮触发上传
|
|
||||||
choose: function (obj) {
|
|
||||||
// 当选择文件时会触发这个方法
|
|
||||||
var files = obj.pushFile(); // 获取文件列表
|
|
||||||
console.log(files);
|
|
||||||
obj.pushFile([])
|
|
||||||
},
|
|
||||||
done: function (res) {
|
done: function (res) {
|
||||||
// 上传完毕回调
|
// 上传完毕回调
|
||||||
console.log('文件上传成功');
|
console.log('文件上传成功');
|
||||||
console.log(res);
|
console.log(res);
|
||||||
|
|
||||||
var dataIndex = $(this.elem).data('index');
|
var dataIndex = $(this.elem).data('index');
|
||||||
console.log('当前按钮的 data-index:', dataIndex);
|
fileList[dataIndex] = res.obj
|
||||||
|
|
||||||
// 隐藏当前上传按钮
|
// 隐藏当前上传按钮
|
||||||
// $(this.elem).hide();
|
|
||||||
|
|
||||||
$(`#uploadBtn${dataIndex}`).hide()
|
$(`#uploadBtn${dataIndex}`).hide()
|
||||||
|
$(`#upload-success_${dataIndex}`).show()
|
||||||
// 插入新的 DOM 元素,例如:显示上传成功的消息或其他操作
|
$(`#upload-success_${dataIndex}`).prepend(`<span class="prepend-content">${res.message}</span>`)
|
||||||
var newDom = $(`<div class="upload-success">${res.message}<i data-index="${dataIndex}" class="layui-icon" style="font-size: 18px; color: red; cursor: pointer;"></i> </div>`);
|
// 插入新的 DOM 元素,
|
||||||
$(this.elem).parent().append(newDom);
|
// var newDom = $(`<div class="upload-success">${res.message}<i data-index="${dataIndex}" class="layui-icon" style="font-size: 18px; color: red; cursor: pointer;"></i> </div>`);
|
||||||
|
// $(this.elem).parent().append(newDom);
|
||||||
},
|
},
|
||||||
error: function () {
|
error: function () {
|
||||||
// 请求异常回调
|
// 请求异常回调
|
||||||
console.log('文件上传失败');
|
console.log('文件上传失败');
|
||||||
}
|
}
|
||||||
});
|
})
|
||||||
});
|
})
|
||||||
// $('.uploadBtn').on('click', function (event) {
|
// $('.uploadBtn').on('click', function (event) {
|
||||||
// event.stopPropagation(); // 阻止事件冒泡
|
// event.stopPropagation(); // 阻止事件冒泡
|
||||||
// event.preventDefault(); // 阻止默认行为
|
// event.preventDefault(); // 阻止默认行为
|
||||||
|
|
@ -315,7 +321,7 @@
|
||||||
// });
|
// });
|
||||||
|
|
||||||
},
|
},
|
||||||
yes: function (index, layero) {
|
yes: function (index) {
|
||||||
// 点击"确定"按钮时的逻辑
|
// 点击"确定"按钮时的逻辑
|
||||||
|
|
||||||
let formData = {};
|
let formData = {};
|
||||||
|
|
@ -334,12 +340,14 @@
|
||||||
})
|
})
|
||||||
const currentRows = tableList[rowIndex]
|
const currentRows = tableList[rowIndex]
|
||||||
Object.assign(currentRows, formData)
|
Object.assign(currentRows, formData)
|
||||||
|
|
||||||
|
currentRows.fileList = fileList
|
||||||
let dataForm = {
|
let dataForm = {
|
||||||
templateId: getUrlParam('templateId'),
|
templateId: getUrlParam('templateId'),
|
||||||
evaluateId: getUrlParam('id'),
|
evaluateId: getUrlParam('id'),
|
||||||
id: getUrlParam('detailsId'),
|
id: getUrlParam('detailsId'),
|
||||||
jsonData: JSON.stringify([currentRows]),
|
jsonData: JSON.stringify([currentRows]),
|
||||||
titleFiled: fields.join(',')
|
titleFiled: fields.join(','),
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log('提交时的formDat参数', dataForm)
|
console.log('提交时的formDat参数', dataForm)
|
||||||
|
|
@ -363,12 +371,9 @@
|
||||||
// 这里可以执行你需要的操作
|
// 这里可以执行你需要的操作
|
||||||
|
|
||||||
},
|
},
|
||||||
btn2: function (index, layero) {
|
btn2: function (index) {
|
||||||
// 点击"取消"按钮时的逻辑
|
layer.close(index) // 关闭弹框
|
||||||
console.log('取消按钮被点击了');
|
return false
|
||||||
// 这里可以执行你需要的操作,通常是关闭弹框
|
|
||||||
layer.close(index); // 关闭弹框
|
|
||||||
return false; // 防止关闭弹框后执行默认的按钮行为
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
@ -377,9 +382,13 @@
|
||||||
var dataIndex = $(this).data('index');
|
var dataIndex = $(this).data('index');
|
||||||
console.log('删除图标被点击,data-index:', dataIndex);
|
console.log('删除图标被点击,data-index:', dataIndex);
|
||||||
|
|
||||||
|
fileList[dataIndex] = ''
|
||||||
// 执行删除操作
|
// 执行删除操作
|
||||||
$(this).parent().remove()
|
// $(this).parent().remove()
|
||||||
|
$(`#upload-success_${dataIndex}`).hide(function () {
|
||||||
|
// 当隐藏完之后,移除插入的内容
|
||||||
|
$(`#upload-success_${dataIndex} .prepend-content`).remove();
|
||||||
|
})
|
||||||
$(`#uploadBtn${dataIndex}`).show()
|
$(`#uploadBtn${dataIndex}`).show()
|
||||||
});
|
});
|
||||||
tableLoading && layer.close(tableLoading);
|
tableLoading && layer.close(tableLoading);
|
||||||
|
|
@ -397,54 +406,54 @@
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// 单元格普通编辑事件
|
// 单元格普通编辑事件
|
||||||
table.on('edit(baseTable)', function (obj) {
|
// table.on('edit(baseTable)', function (obj) {
|
||||||
var value = obj.value // 得到修改后的值
|
// var value = obj.value // 得到修改后的值
|
||||||
var data = obj.data // 得到所在行所有键值
|
// var data = obj.data // 得到所在行所有键值
|
||||||
var field = obj.field; // 得到字段
|
// var field = obj.field; // 得到字段
|
||||||
//判断修改的是当前行的第几个单元格
|
// //判断修改的是当前行的第几个单元格
|
||||||
let index = headerRows[2].findIndex(item => item.field === field);
|
// let index = headerRows[2].findIndex(item => item.field === field);
|
||||||
//获取其对应的二级标题 用于计算
|
// //获取其对应的二级标题 用于计算
|
||||||
let currentItem = headerRows[1][index];
|
// let currentItem = headerRows[1][index];
|
||||||
let standardScore = Number(currentItem.standardScore);
|
// let standardScore = Number(currentItem.standardScore);
|
||||||
//是否包含前缀0
|
// //是否包含前缀0
|
||||||
if (value.indexOf('0') === 0 && value.length > 1) {
|
// if (value.indexOf('0') === 0 && value.length > 1) {
|
||||||
layer.msg('输入值不能以0开头');
|
// layer.msg('输入值不能以0开头');
|
||||||
//清空当前单元格
|
// //清空当前单元格
|
||||||
obj.update({
|
// obj.update({
|
||||||
[field]: ''
|
// [field]: ''
|
||||||
});
|
// });
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
//判断是否数字
|
// //判断是否数字
|
||||||
if (value < 0) {
|
// if (value < 0) {
|
||||||
layer.msg('输入值不能小于0');
|
// layer.msg('输入值不能小于0');
|
||||||
//清空当前单元格
|
// //清空当前单元格
|
||||||
obj.update({
|
// obj.update({
|
||||||
[field]: ''
|
// [field]: ''
|
||||||
});
|
// });
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
if (!isPositiveInteger(value)) {
|
// if (!isPositiveInteger(value)) {
|
||||||
layer.msg('请输入正整数');
|
// layer.msg('请输入正整数');
|
||||||
//清空当前单元格
|
// //清空当前单元格
|
||||||
obj.update({
|
// obj.update({
|
||||||
[field]: ''
|
// [field]: ''
|
||||||
});
|
// });
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
if (value > standardScore) {
|
// if (value > standardScore) {
|
||||||
layer.msg('输入值不能大于标准值');
|
// layer.msg('输入值不能大于标准值');
|
||||||
//清空当前单元格
|
// //清空当前单元格
|
||||||
obj.update({
|
// obj.update({
|
||||||
[field]: ''
|
// [field]: ''
|
||||||
});
|
// });
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
// // 更新数据中对应的字段
|
// // // 更新数据中对应的字段
|
||||||
let update = {};
|
// let update = {};
|
||||||
update[field] = value;
|
// update[field] = value;
|
||||||
obj.update(update);
|
// obj.update(update);
|
||||||
});
|
// });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue