Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
3640434634
|
|
@ -238,11 +238,12 @@ function initTable() {
|
|||
layerOptions.yes = function (index, layero) {
|
||||
//提交子页面时执行
|
||||
// 获取弹出层中的form表单元素
|
||||
const formSubmit = layer.getChildFrame("form", index);
|
||||
// const formSubmit = layer.getChildFrame("form", index);
|
||||
// 查找class样式为submitBtn的按钮
|
||||
const submited = formSubmit.find("button.subBtn");
|
||||
// const submited = formSubmit.find("button.subBtn");
|
||||
// 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息
|
||||
submited.click();
|
||||
// submited.click();
|
||||
initTable();
|
||||
};
|
||||
layer.open(layerOptions);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -64,16 +64,24 @@ function initTable() {
|
|||
, {field: 'evaluateMonth', align: 'center', title: '评价年月'}
|
||||
, {field: 'projectNum', align: 'center', title: '项目数量'}
|
||||
, {field: 'outsourcerNum', align: 'center', title: '外包商数量'}
|
||||
, {field: 'isApprove', align: 'center', title: '评价状态', templet: d =>{
|
||||
, {
|
||||
field: 'isApprove', align: 'center', title: '评价状态', templet: d => {
|
||||
if (d.rejectReason) {
|
||||
return '评价驳回'
|
||||
} else {
|
||||
return 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: '驳回原因'}
|
||||
, {
|
||||
|
|
|
|||
|
|
@ -20,6 +20,10 @@
|
|||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.layui-layer-iframe .layui-layer-btn0 {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
|
@ -189,12 +193,14 @@
|
|||
loading: true,
|
||||
done: function (res) {
|
||||
var tableView = this.elem.next();
|
||||
layui.each(res.data, function (i, item) {
|
||||
if (item.isApprove == '1') { // Condition to make the row non-editable
|
||||
layui.each(res.data, function (i, item1) {
|
||||
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) {
|
||||
if (index > 2 && index != cols.length - 1) {
|
||||
$(this).data('edit', 'false');
|
||||
$(this).removeAttr('data-edit');
|
||||
$(this).addClass('layui-disabled');
|
||||
|
|
@ -203,12 +209,22 @@
|
|||
//将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 columsIndex = [1];//需要合并的列索引值 [2,3,5,6,14,15];
|
||||
|
|
@ -225,31 +241,31 @@
|
|||
text: '评价',
|
||||
type: 'button'
|
||||
});
|
||||
let fileList = []
|
||||
let uploadDom = []
|
||||
|
||||
// 将自定义元素插入到最后一个单元格
|
||||
div.append(customElement);
|
||||
customElement.on('click', function (event) {
|
||||
event.stopPropagation(); // 阻止事件冒泡
|
||||
event.stopPropagation()
|
||||
event.preventDefault()
|
||||
console.log('按钮被点击了');
|
||||
let rowIndex = $(this).closest('tr').data('index')
|
||||
const tableList = JSON.parse(msg)
|
||||
|
||||
|
||||
console.log('rowIndex当前行的索引', rowIndex)
|
||||
// 在这里添加按钮点击后的逻辑
|
||||
|
||||
// 组装dom
|
||||
let formHtml = `<div class="dialog-title">${tableList[rowIndex].proName}</div>`
|
||||
let innerHtml = ''
|
||||
dialogLabelList.forEach((e, index) => {
|
||||
|
||||
fileList.push('')
|
||||
uploadDom.push('#uploadBtn' + index)
|
||||
innerHtml += `<div style="padding:6px 0;display: flex; align-items: center;">
|
||||
<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]}">
|
||||
<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>
|
||||
<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>`
|
||||
|
||||
})
|
||||
|
|
@ -273,41 +289,31 @@
|
|||
var upload = layui.upload;
|
||||
// 执行上传功能
|
||||
var uploadInst = upload.render({
|
||||
elem: '.uploadBtn', // 上传按钮
|
||||
url: ctxPath + '/upload/file', // 文件上传接口(这里要根据实际接口替换)
|
||||
accept: 'file', // 选择文件类型
|
||||
multiple: false, // 支持多文件上传
|
||||
auto: true, // 禁用自动上传,点击确定按钮后上传
|
||||
bindAction: '#uploadConfirm', // 确定按钮触发上传
|
||||
choose: function (obj) {
|
||||
// 当选择文件时会触发这个方法
|
||||
var files = obj.pushFile(); // 获取文件列表
|
||||
console.log(files);
|
||||
obj.pushFile([])
|
||||
},
|
||||
elem: uploadDom.join(','),
|
||||
url: ctxPath + '/upload/file',
|
||||
accept: 'file',
|
||||
multiple: false,
|
||||
done: function (res) {
|
||||
// 上传完毕回调
|
||||
console.log('文件上传成功');
|
||||
console.log(res);
|
||||
|
||||
var dataIndex = $(this.elem).data('index');
|
||||
console.log('当前按钮的 data-index:', dataIndex);
|
||||
fileList[dataIndex] = res.obj
|
||||
|
||||
// 隐藏当前上传按钮
|
||||
// $(this.elem).hide();
|
||||
|
||||
$(`#uploadBtn${dataIndex}`).hide()
|
||||
|
||||
// 插入新的 DOM 元素,例如:显示上传成功的消息或其他操作
|
||||
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);
|
||||
$(`#upload-success_${dataIndex}`).show()
|
||||
$(`#upload-success_${dataIndex}`).prepend(`<span class="prepend-content">${res.message}</span>`)
|
||||
// 插入新的 DOM 元素,
|
||||
// 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 () {
|
||||
// 请求异常回调
|
||||
console.log('文件上传失败');
|
||||
}
|
||||
});
|
||||
});
|
||||
})
|
||||
})
|
||||
// $('.uploadBtn').on('click', function (event) {
|
||||
// event.stopPropagation(); // 阻止事件冒泡
|
||||
// event.preventDefault(); // 阻止默认行为
|
||||
|
|
@ -315,7 +321,7 @@
|
|||
// });
|
||||
|
||||
},
|
||||
yes: function (index, layero) {
|
||||
yes: function (index) {
|
||||
// 点击"确定"按钮时的逻辑
|
||||
|
||||
let formData = {};
|
||||
|
|
@ -334,12 +340,14 @@
|
|||
})
|
||||
const currentRows = tableList[rowIndex]
|
||||
Object.assign(currentRows, formData)
|
||||
|
||||
currentRows.fileList = fileList
|
||||
let dataForm = {
|
||||
templateId: getUrlParam('templateId'),
|
||||
evaluateId: getUrlParam('id'),
|
||||
id: getUrlParam('detailsId'),
|
||||
jsonData: JSON.stringify([currentRows]),
|
||||
titleFiled: fields.join(',')
|
||||
titleFiled: fields.join(','),
|
||||
}
|
||||
|
||||
console.log('提交时的formDat参数', dataForm)
|
||||
|
|
@ -363,12 +371,9 @@
|
|||
// 这里可以执行你需要的操作
|
||||
|
||||
},
|
||||
btn2: function (index, layero) {
|
||||
// 点击"取消"按钮时的逻辑
|
||||
console.log('取消按钮被点击了');
|
||||
// 这里可以执行你需要的操作,通常是关闭弹框
|
||||
layer.close(index); // 关闭弹框
|
||||
return false; // 防止关闭弹框后执行默认的按钮行为
|
||||
btn2: function (index) {
|
||||
layer.close(index) // 关闭弹框
|
||||
return false
|
||||
}
|
||||
})
|
||||
});
|
||||
|
|
@ -377,9 +382,13 @@
|
|||
var dataIndex = $(this).data('index');
|
||||
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()
|
||||
});
|
||||
tableLoading && layer.close(tableLoading);
|
||||
|
|
@ -397,54 +406,54 @@
|
|||
}
|
||||
});
|
||||
// 单元格普通编辑事件
|
||||
table.on('edit(baseTable)', function (obj) {
|
||||
var value = obj.value // 得到修改后的值
|
||||
var data = obj.data // 得到所在行所有键值
|
||||
var field = obj.field; // 得到字段
|
||||
//判断修改的是当前行的第几个单元格
|
||||
let index = headerRows[2].findIndex(item => item.field === field);
|
||||
//获取其对应的二级标题 用于计算
|
||||
let currentItem = headerRows[1][index];
|
||||
let standardScore = Number(currentItem.standardScore);
|
||||
//是否包含前缀0
|
||||
if (value.indexOf('0') === 0 && value.length > 1) {
|
||||
layer.msg('输入值不能以0开头');
|
||||
//清空当前单元格
|
||||
obj.update({
|
||||
[field]: ''
|
||||
});
|
||||
return;
|
||||
}
|
||||
//判断是否数字
|
||||
if (value < 0) {
|
||||
layer.msg('输入值不能小于0');
|
||||
//清空当前单元格
|
||||
obj.update({
|
||||
[field]: ''
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (!isPositiveInteger(value)) {
|
||||
layer.msg('请输入正整数');
|
||||
//清空当前单元格
|
||||
obj.update({
|
||||
[field]: ''
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (value > standardScore) {
|
||||
layer.msg('输入值不能大于标准值');
|
||||
//清空当前单元格
|
||||
obj.update({
|
||||
[field]: ''
|
||||
});
|
||||
return;
|
||||
}
|
||||
// // 更新数据中对应的字段
|
||||
let update = {};
|
||||
update[field] = value;
|
||||
obj.update(update);
|
||||
});
|
||||
// table.on('edit(baseTable)', function (obj) {
|
||||
// var value = obj.value // 得到修改后的值
|
||||
// var data = obj.data // 得到所在行所有键值
|
||||
// var field = obj.field; // 得到字段
|
||||
// //判断修改的是当前行的第几个单元格
|
||||
// let index = headerRows[2].findIndex(item => item.field === field);
|
||||
// //获取其对应的二级标题 用于计算
|
||||
// let currentItem = headerRows[1][index];
|
||||
// let standardScore = Number(currentItem.standardScore);
|
||||
// //是否包含前缀0
|
||||
// if (value.indexOf('0') === 0 && value.length > 1) {
|
||||
// layer.msg('输入值不能以0开头');
|
||||
// //清空当前单元格
|
||||
// obj.update({
|
||||
// [field]: ''
|
||||
// });
|
||||
// return;
|
||||
// }
|
||||
// //判断是否数字
|
||||
// if (value < 0) {
|
||||
// layer.msg('输入值不能小于0');
|
||||
// //清空当前单元格
|
||||
// obj.update({
|
||||
// [field]: ''
|
||||
// });
|
||||
// return;
|
||||
// }
|
||||
// if (!isPositiveInteger(value)) {
|
||||
// layer.msg('请输入正整数');
|
||||
// //清空当前单元格
|
||||
// obj.update({
|
||||
// [field]: ''
|
||||
// });
|
||||
// return;
|
||||
// }
|
||||
// if (value > standardScore) {
|
||||
// layer.msg('输入值不能大于标准值');
|
||||
// //清空当前单元格
|
||||
// obj.update({
|
||||
// [field]: ''
|
||||
// });
|
||||
// return;
|
||||
// }
|
||||
// // // 更新数据中对应的字段
|
||||
// let update = {};
|
||||
// update[field] = value;
|
||||
// obj.update(update);
|
||||
// });
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue