新增工程概况字段接口调试完成
This commit is contained in:
parent
66950444c8
commit
b7618fd2e8
|
|
@ -1,19 +1,25 @@
|
|||
let form, layer, util, laydate, idParam, phoneParam;
|
||||
let arr = ['background', 'web', 'mobile', 'wx'];
|
||||
let arr = ["background", "web", "mobile", "wx"];
|
||||
let background, web, mobile, wx;
|
||||
let data = [], appResList = [];
|
||||
let data = [],
|
||||
appResList = [];
|
||||
|
||||
let startDate, endDate;
|
||||
|
||||
function setParams(params) {
|
||||
console.log(params)
|
||||
console.log(params);
|
||||
idParam = JSON.parse(params).id;
|
||||
layui.config({
|
||||
base: "../../../../js/layui-v2.6.8/"
|
||||
}).extend({
|
||||
dtree: 'dtree/dtree',
|
||||
formSelects: 'formSelects-v4',
|
||||
}).use(['form', 'layer', 'dtree', 'util', 'laydate', 'formSelects'], function () {
|
||||
layui
|
||||
.config({
|
||||
base: "../../../../js/layui-v2.6.8/",
|
||||
})
|
||||
.extend({
|
||||
dtree: "dtree/dtree",
|
||||
formSelects: "formSelects-v4",
|
||||
})
|
||||
.use(
|
||||
["form", "layer", "dtree", "util", "laydate", "formSelects"],
|
||||
function () {
|
||||
form = layui.form;
|
||||
layer = layui.layer;
|
||||
util = layui.util;
|
||||
|
|
@ -28,10 +34,10 @@ function setParams(params) {
|
|||
positiveNumber: function (value, item) {
|
||||
if (value) {
|
||||
if (!/^[0-9]+\.?[0-9]*$/.test(value)) {
|
||||
return '请输入正数';
|
||||
return "请输入正数";
|
||||
}
|
||||
if (parseFloat(value) <= 0) {
|
||||
return '请输入大于0的数';
|
||||
return "请输入大于0的数";
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -42,12 +48,20 @@ function setParams(params) {
|
|||
// return '请输入正确的经度(-180.0~+180.0)';
|
||||
// }
|
||||
const longitudeValue = parseFloat(value);
|
||||
if(isNaN(longitudeValue) || longitudeValue < 73.55 || longitudeValue > 135.08) {
|
||||
return '请输入位于正确的经度(大约73.55°E至135.08°E)';
|
||||
if (
|
||||
isNaN(longitudeValue) ||
|
||||
longitudeValue < 73.55 ||
|
||||
longitudeValue > 135.08
|
||||
) {
|
||||
return "请输入位于正确的经度(大约73.55°E至135.08°E)";
|
||||
}
|
||||
// 可选:检查小数位数,假设要求最多6位小数
|
||||
if(!/^[\-\+]?((135(\.0{1,6})?)|((\d{1,2}|1[0-2]\d|13[0-4])(\.\d{1,6})?))$/.test(value)) {
|
||||
return '经度应精确到最多6位小数且在正确范围内';
|
||||
if (
|
||||
!/^[\-\+]?((135(\.0{1,6})?)|((\d{1,2}|1[0-2]\d|13[0-4])(\.\d{1,6})?))$/.test(
|
||||
value
|
||||
)
|
||||
) {
|
||||
return "经度应精确到最多6位小数且在正确范围内";
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -59,8 +73,12 @@ function setParams(params) {
|
|||
return '请输入正确的纬度(-90.0~+90.0)';
|
||||
}*/
|
||||
const latitudeValue = parseFloat(value);
|
||||
if(isNaN(latitudeValue) || latitudeValue < 4 || latitudeValue > 53) {
|
||||
return '请输入位于正确的纬度(大约4°N至53°N)';
|
||||
if (
|
||||
isNaN(latitudeValue) ||
|
||||
latitudeValue < 4 ||
|
||||
latitudeValue > 53
|
||||
) {
|
||||
return "请输入位于正确的纬度(大约4°N至53°N)";
|
||||
}
|
||||
// 可选:检查小数位数,假设要求最多6位小数
|
||||
// if(!/^[\-\+]?((53(\.0{1,6})?)|(([0-4]?\d)(\.\d{1,6})?))$/.test(value)) {
|
||||
|
|
@ -69,48 +87,48 @@ function setParams(params) {
|
|||
|
||||
// 检查最多6位小数(允许整数或最多6位小数)
|
||||
if (!/^-?\d+(\.\d{1,6})?$/.test(value)) {
|
||||
return '纬度应精确到最多6位小数';
|
||||
}
|
||||
return "纬度应精确到最多6位小数";
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
// 初始化日期选择器
|
||||
laydate.render({
|
||||
elem: '#planStartTime',
|
||||
elem: "#planStartTime",
|
||||
done: function (value, date) {
|
||||
startDate = value;
|
||||
validateDates();
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
laydate.render({
|
||||
elem: '#planEndTime',
|
||||
elem: "#planEndTime",
|
||||
done: function (value, date) {
|
||||
endDate = value;
|
||||
validateDates();
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
// 初始化下拉选项
|
||||
initSelects();
|
||||
|
||||
console.log(idParam + "idParam")
|
||||
console.log(idParam + "idParam");
|
||||
if (idParam) {
|
||||
getUserById();
|
||||
}
|
||||
|
||||
form.render("select"); //重新渲染页面checkbox控件
|
||||
form.on('submit(formData)', function (data) {
|
||||
data.field.id = $('#id').val();
|
||||
console.log(data)
|
||||
form.on("submit(formData)", function (data) {
|
||||
data.field.id = $("#id").val();
|
||||
console.log(data);
|
||||
if (!data.field.orgId_select_nodeId) {
|
||||
return layer.alert("请选择项目部!", {icon: 2})
|
||||
return layer.alert("请选择项目部!", { icon: 2 });
|
||||
}
|
||||
saveData(data);
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
// 验证日期
|
||||
|
|
@ -119,8 +137,8 @@ function validateDates() {
|
|||
var start = new Date(startDate);
|
||||
var end = new Date(endDate);
|
||||
if (start > end) {
|
||||
$("#planEndTime").val("")
|
||||
layer.msg("计划开始时间不能早于计划完工时间")
|
||||
$("#planEndTime").val("");
|
||||
layer.msg("计划开始时间不能早于计划完工时间");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
@ -131,57 +149,73 @@ function validateDates() {
|
|||
function initSelects() {
|
||||
getOrgTree();
|
||||
|
||||
let voltageLevelData = getDistinctListByParentCode({dictCode: "voltage_level"});
|
||||
setSelectValueNameCode(voltageLevelData, "voltageLevel", "请选择电压等级")
|
||||
let voltageLevelData = getDistinctListByParentCode({
|
||||
dictCode: "voltage_level",
|
||||
});
|
||||
setSelectValueNameCode(voltageLevelData, "voltageLevel", "请选择电压等级");
|
||||
|
||||
let proStatusData = getDistinctListByParentCode({ dictCode: "pro_status" });
|
||||
setSelectValueNameCode(proStatusData, "proStatus", "请选择状态")
|
||||
setSelectValueNameCode(proStatusData, "proStatus", "请选择状态");
|
||||
}
|
||||
|
||||
// 根据id获取用户信息
|
||||
function getUserById() {
|
||||
let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: true, time: 0,});
|
||||
let loadingMsg = layer.msg("数据加载中,请稍候...", {
|
||||
icon: 16,
|
||||
scrollbar: true,
|
||||
time: 0,
|
||||
});
|
||||
setTimeout(() => {
|
||||
let url = dataUrl + "/tbProject/getTbProjectById";
|
||||
let params = {
|
||||
id: idParam
|
||||
}
|
||||
console.log(params)
|
||||
id: idParam,
|
||||
};
|
||||
console.log(params);
|
||||
params = {
|
||||
encryptedData: encryptCBC(JSON.stringify(params))
|
||||
}
|
||||
ajaxRequest(url, "POST", params, true, function () {
|
||||
}, function (result) {
|
||||
encryptedData: encryptCBC(JSON.stringify(params)),
|
||||
};
|
||||
ajaxRequest(
|
||||
url,
|
||||
"POST",
|
||||
params,
|
||||
true,
|
||||
function () {},
|
||||
function (result) {
|
||||
layer.close(loadingMsg); // 关闭提示层
|
||||
if (result.code === 200) {
|
||||
setFormData(result.data);
|
||||
} else if (result.code === 500) {
|
||||
layer.alert(result.msg, {icon: 2})
|
||||
layer.alert(result.msg, { icon: 2 });
|
||||
}
|
||||
}, function (xhr) {
|
||||
},
|
||||
function (xhr) {
|
||||
layer.close(loadingMsg); // 关闭提示层
|
||||
error(xhr)
|
||||
});
|
||||
}, 200)
|
||||
error(xhr);
|
||||
}
|
||||
);
|
||||
}, 200);
|
||||
}
|
||||
|
||||
// 设置表单内容
|
||||
function setFormData(data) {
|
||||
console.log("data:", data)
|
||||
console.log("data:", data);
|
||||
if (data) {
|
||||
$('#id').val(data.id)
|
||||
$('#proName').val(data.proName)
|
||||
$('#voltageLevel').val(data.voltageLevel)
|
||||
$('#lineLength').val(data.lineLength)
|
||||
$('#planStartTime').val(data.planStartTime)
|
||||
$('#planEndTime').val(data.planEndTime)
|
||||
$("#id").val(data.id);
|
||||
$("#proName").val(data.proName);
|
||||
$("#voltageLevel").val(data.voltageLevel);
|
||||
$("#lineLength").val(data.lineLength);
|
||||
$("#planStartTime").val(data.planStartTime);
|
||||
$("#planEndTime").val(data.planEndTime);
|
||||
|
||||
$('#lon').val(data.lon)
|
||||
$('#lat').val(data.lat)
|
||||
$('#address').val(data.address)
|
||||
$('#proStatus').val(data.proStatus)
|
||||
$("#lon").val(data.lon);
|
||||
$("#lat").val(data.lat);
|
||||
$("#address").val(data.address);
|
||||
$("#proStatus").val(data.proStatus);
|
||||
|
||||
$('#orgId').val(data.departId)
|
||||
$("#orgId").val(data.departId);
|
||||
|
||||
// 增加工程概况字段 2025-06-09
|
||||
$("#projectOverview").val(data.projectOverview);
|
||||
dtree.dataInit("orgId", data.departId);
|
||||
dtree.selectVal("orgId");
|
||||
layui.form.render();
|
||||
|
|
@ -189,13 +223,13 @@ function setFormData(data) {
|
|||
}
|
||||
|
||||
function saveData2() {
|
||||
$('#formSubmit').trigger('click')
|
||||
$("#formSubmit").trigger("click");
|
||||
}
|
||||
|
||||
// 处理空字段,转换为null
|
||||
function handleEmptyFields(data) {
|
||||
for (let key in data) {
|
||||
if (data[key] === '' || data[key] === undefined) {
|
||||
if (data[key] === "" || data[key] === undefined) {
|
||||
data[key] = null;
|
||||
}
|
||||
}
|
||||
|
|
@ -204,7 +238,11 @@ function handleEmptyFields(data) {
|
|||
|
||||
// 保存数据
|
||||
function saveData(data) {
|
||||
let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0});
|
||||
let loadingMsg = layer.msg("数据上传中,请稍候...", {
|
||||
icon: 16,
|
||||
scrollbar: false,
|
||||
time: 0,
|
||||
});
|
||||
let url = dataUrl + "/tbProject/addTbProject";
|
||||
let params = data.field;
|
||||
if (params.id != "") {
|
||||
|
|
@ -217,52 +255,75 @@ function saveData(data) {
|
|||
|
||||
console.log("线路工程管理的新增修改", params);
|
||||
params = {
|
||||
encryptedData: encryptCBC(JSON.stringify(params))
|
||||
}
|
||||
encryptedData: encryptCBC(JSON.stringify(params)),
|
||||
};
|
||||
|
||||
ajaxRequest(url, "POST", params, true, function () {
|
||||
$('.save').addClass("layui-btn-disabled").attr("disabled", true);
|
||||
$('.cancel').addClass("layui-btn-disabled").attr("disabled", true);
|
||||
}, function (result) {
|
||||
ajaxRequest(
|
||||
url,
|
||||
"POST",
|
||||
params,
|
||||
true,
|
||||
function () {
|
||||
$(".save").addClass("layui-btn-disabled").attr("disabled", true);
|
||||
$(".cancel").addClass("layui-btn-disabled").attr("disabled", true);
|
||||
},
|
||||
function (result) {
|
||||
layer.close(loadingMsg);
|
||||
if (result.code === 200) {
|
||||
layer.msg(result.msg, { icon: 1 });
|
||||
setTimeout(function () {
|
||||
closePage(1);
|
||||
},3000)
|
||||
}, 3000);
|
||||
} else {
|
||||
layer.alert(result.msg, {icon: 2})
|
||||
$('.save').removeClass("layui-btn-disabled").attr("disabled", false);
|
||||
$('.cancel').removeClass("layui-btn-disabled").attr("disabled", false);
|
||||
layer.alert(result.msg, { icon: 2 });
|
||||
$(".save")
|
||||
.removeClass("layui-btn-disabled")
|
||||
.attr("disabled", false);
|
||||
$(".cancel")
|
||||
.removeClass("layui-btn-disabled")
|
||||
.attr("disabled", false);
|
||||
}
|
||||
}, function (xhr) {
|
||||
},
|
||||
function (xhr) {
|
||||
layer.close(loadingMsg);
|
||||
$('.save').removeClass("layui-btn-disabled").attr("disabled", false);
|
||||
$('.cancel').removeClass("layui-btn-disabled").attr("disabled", false);
|
||||
error(xhr)
|
||||
});
|
||||
$(".save")
|
||||
.removeClass("layui-btn-disabled")
|
||||
.attr("disabled", false);
|
||||
$(".cancel")
|
||||
.removeClass("layui-btn-disabled")
|
||||
.attr("disabled", false);
|
||||
error(xhr);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function getOrgTree() {
|
||||
let data = [];
|
||||
let url = dataUrl + '/users/getOrgByUserId';
|
||||
ajaxRequest(url, "POST", null, false, function () {
|
||||
}, function (result) {
|
||||
let url = dataUrl + "/users/getOrgByUserId";
|
||||
ajaxRequest(
|
||||
url,
|
||||
"POST",
|
||||
null,
|
||||
false,
|
||||
function () {},
|
||||
function (result) {
|
||||
if (result.code === 200) {
|
||||
console.log(result, "getOrgTree")
|
||||
console.log(result, "getOrgTree");
|
||||
data = result.data;
|
||||
data.forEach(node => {
|
||||
data.forEach((node) => {
|
||||
if (node.level !== "3") {
|
||||
node.disabled = true; // 标记为不可选中
|
||||
}
|
||||
});
|
||||
setOrgTree(data)
|
||||
setOrgTree(data);
|
||||
} else {
|
||||
layer.alert(result.msg, {icon: 2})
|
||||
layer.alert(result.msg, { icon: 2 });
|
||||
}
|
||||
}, function (xhr) {
|
||||
error(xhr)
|
||||
});
|
||||
},
|
||||
function (xhr) {
|
||||
error(xhr);
|
||||
}
|
||||
);
|
||||
return data;
|
||||
}
|
||||
|
||||
|
|
@ -275,32 +336,33 @@ function setOrgTree(data) {
|
|||
line: true, // 显示树线
|
||||
checkbar: false, //开启复选框
|
||||
done: function (data, url, first) {
|
||||
console.log($('#orgId').val())
|
||||
console.log($("#orgId").val());
|
||||
if (first) {
|
||||
var params = dtree.dataInit("orgId", $('#orgId').val());
|
||||
var params = dtree.dataInit("orgId", $("#orgId").val());
|
||||
var selectParam = dtree.selectVal("orgId");
|
||||
console.log(params)
|
||||
console.log(params);
|
||||
}
|
||||
},
|
||||
formatter: {
|
||||
title: function (data) {
|
||||
// 非第三层的节点显示为灰色
|
||||
if (data.level != "3") {
|
||||
return '<span style="color: #999;" >'
|
||||
+ data.title + '</span>';
|
||||
return (
|
||||
'<span style="color: #999;" >' + data.title + "</span>"
|
||||
);
|
||||
}
|
||||
return data.title;
|
||||
}
|
||||
},
|
||||
},
|
||||
nodeClick: function (param) {
|
||||
alert(param)
|
||||
alert(param);
|
||||
// 如果节点不是第三层,则阻止选择
|
||||
if (param.level !== "3") {
|
||||
layer.msg("只能选择第三层节点!", { icon: 0 });
|
||||
return false; // 阻止选择
|
||||
}
|
||||
return true; // 允许选择
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -309,6 +371,6 @@ function closePage(type) {
|
|||
let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
|
||||
parent.layer.close(index); //再执行关闭
|
||||
if (type === 1) {
|
||||
parent.reloadData()
|
||||
parent.reloadData();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue