hn_cloud_web/smz-web/js/work/basic/sceneManagerForm.js

118 lines
4.8 KiB
JavaScript
Raw Normal View History

2025-11-27 16:55:35 +08:00
var form;
layui.use(['form', 'laydate'], function () {
form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
var laydate = layui.laydate;
form.render();
form.verify({
lon : [/^-?((0|1?[0-7]?[0-9]?)(([.][0-9]{1,4})?)|180(([.][0]{1,12})?))$/,'范围:-180.00~180.00(最大保留8位小数'],
lat : [/^-?((0|[1-8]?[0-9]?)(([.][0-9]{1,4})?)|90(([.][0]{1,12})?))$/,'范围:-90.00~90.00(最大保留8位小数']
});
getPro(form, "");
form.on('select(proId)', function (data) {
console.log("data", data);
getSub(form, data.value);
});
// 验证成功后才会执行下面的操作
form.on('submit(formDemo)', function (data) {
var id = $("#id").val();
console.log("id", id);
if (id == '') {
insertSceneManager(data); // 新增工程
} else {
updateScene(data);
}
});
});
//新增工程
function insertSceneManager(formData) {
// 加载提示
var loadingMsg = layer.msg('数据请求中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']});
// form请求地址
2025-12-09 18:44:29 +08:00
var formUrl = smz_ht_url + "/proAndWork";
2025-11-27 16:55:35 +08:00
$.ajax({
type: 'POST',
async: false, // 默认异步true,false表示同步
url: formUrl, // 请求地址
contentType: "application/json; charset=utf-8",
dataType: 'text', // 服务器返回数据类型
data: JSON.stringify(formData.field), //获取提交的表单字段
success: function (data) {
layer.close(loadingMsg); // 关闭提示层
if (data == 'success') {
parent.layer.alert('保存成功', {icon: 1, time: 2000}, function () {
var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index); //再执行关闭
window.parent.location.reload();//刷新父页面
});
} else if (data == 'exsitsProAndWork') {
parent.layer.msg('保存失败,施工现场已存在', {icon: 2});
}
// else if (data == 'exsitsOrderNum') {
// parent.layer.msg('保存失败,该工程下施工现场顺序已存在', {icon: 2});
// }
else {
parent.layer.msg('保存失败', {icon: 2});
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
parent.layer.close(index);
}
},
error: function (XMLHttpRequest, textStatus, e) {
layer.close(loadingMsg);
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
}
});
}
//修改工程
function updateScene(formData) {
// 加载提示
var loadingMsg = layer.msg('数据请求中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']});
// form请求地址
2025-12-09 18:44:29 +08:00
var formUrl = smz_ht_url + "/proAndWork/updateProAndWork";
2025-11-27 16:55:35 +08:00
$.ajax({
type: 'POST',
async: false, // 默认异步true,false表示同步
url: formUrl, // 请求地址
contentType: "application/json; charset=utf-8",
dataType: 'text', // 服务器返回数据类型
data: JSON.stringify(formData.field), //获取提交的表单字段
success: function (data) {
layer.close(loadingMsg); // 关闭提示层
if (data == 'success') {
parent.layer.alert('保存成功', {icon: 1});
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
parent.layer.close(index);
window.parent.location.reload();//刷新父页面
} else if (data == 'exsitsOrderNum') {
parent.layer.msg('保存失败,该工程下施工现场顺序已存在', {icon: 2});
} else if (data == 'exsitsScene') {
parent.layer.msg('保存失败,施工现场已存在', {icon: 2});
} else {
parent.layer.msg('保存失败', {icon: 2});
}
},
error: function (XMLHttpRequest, textStatus, e) {
layer.close(loadingMsg);
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
}
});
}
// 表单赋值
function setData(data) {
console.log("data", data);
$("#id").val(data.id);
$("#name").val(data.name); // 作业现场名称
$("#proId").find("option[value=" + data.proId + "]").prop("selected", true);
getSub(form, data.proId);
$("#subId").find("option[value=" + data.subId + "]").prop("selected", true);
$("#lon").val(data.lon); // 经度
$("#lat").val(data.lat); // 维度
// $("#orderNum").val(data.orderNum); // 顺序
layui.form.render();
}