361 lines
15 KiB
HTML
361 lines
15 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en" xmlns="http://www.w3.org/1999/html">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<title>线路工程表单</title>
|
||
<link rel="stylesheet" href="../../layui-v2.8.18/layui/css/layui.css" media="all"/>
|
||
</head>
|
||
<style>
|
||
.layui-form-label {
|
||
position: relative;
|
||
float: left;
|
||
display: block;
|
||
padding: 9px 15px;
|
||
width: 100%;
|
||
font-weight: 400;
|
||
line-height: 20px;
|
||
text-align: right;
|
||
}
|
||
.layui-form-item .layui-input-inline {
|
||
margin-right: 22px;
|
||
}
|
||
/* 弹出层外部容器样式 */
|
||
.layui-layer {
|
||
border-radius: 10px; /* 设置圆角半径,根据需要调整 */
|
||
}
|
||
|
||
/* 弹出层内部容器样式(如果需要) */
|
||
.layui-layer-content {
|
||
border-radius: 10px; /* 设置圆角半径,根据需要调整 */
|
||
overflow: hidden; /* 防止内容溢出圆角区域 */
|
||
}
|
||
</style>
|
||
<body>
|
||
<form class="layui-form" action="" onsubmit="return false">
|
||
<div>
|
||
<div class="layui-form-item" style="margin-top: 1%;">
|
||
<div class="layui-input-inline">
|
||
<label class="layui-form-label"><i class="tip-required"
|
||
style="color: red;font-size: 20px">*</i>工程名称:</label>
|
||
</div>
|
||
<div class="layui-input-inline" style="border: 0px dashed dimgrey;width: 74%;">
|
||
<input class="teamName layui-input" id="projectName" name="projectName"
|
||
lay-verify="required" placeholder="填写工程名称">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item" style="margin-top: 1%;">
|
||
<div class="layui-input-inline">
|
||
<label class="layui-form-label"><i class="tip-required"
|
||
style="color: red;font-size: 20px">*</i>工程简称:</label>
|
||
</div>
|
||
<div class="layui-input-inline" style="border: 0px dashed dimgrey;width: 74%;">
|
||
<input class="teamName layui-input" id="shortName" name="shortName"
|
||
lay-verify="" placeholder="填写工程简称">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item" style="margin-top: 1%;">
|
||
<div class="layui-input-inline">
|
||
<label class="layui-form-label"><i class="tip-required"
|
||
style="color: red;font-size: 20px">*</i>所属项目部:</label>
|
||
</div>
|
||
<div class="layui-input-inline" style="border: 0px dashed dimgrey;width: 74%;">
|
||
<select id="projectIds" name="projectIds" class="layui-select" lay-search=""
|
||
lay-filter="volLevelIds" lay-verify="required"></select>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item" style="margin-top: 1%;">
|
||
<div class="layui-input-inline">
|
||
<label class="layui-form-label"><i class="tip-required"
|
||
style="color: red;font-size: 20px">*</i>电压等级:</label>
|
||
</div>
|
||
<div class="layui-input-inline" style="border: 0px dashed dimgrey;width: 74%;">
|
||
<select id="volLevelIds" name="volLevelIds" class="layui-select" lay-search=""
|
||
lay-filter="volLevelIds" lay-verify="required"></select>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item" style="margin-top: 1%;">
|
||
<div class="layui-input-inline">
|
||
<label class="layui-form-label"><i class="tip-required"
|
||
style="color: red;font-size: 20px">*</i>线路长度(km):</label>
|
||
</div>
|
||
<div class="layui-input-inline" style="border: 0px dashed dimgrey;width: 74%;">
|
||
<input class="teamName layui-input" id="length" name="length"
|
||
lay-verify="required|number" placeholder="填写线路长度" maxlength="10">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item" id="area-picker3" style="margin-top: 1%;">
|
||
<div class="layui-input-inline">
|
||
<label class="layui-form-label"><i class="tip-required"
|
||
style="color: red;font-size: 20px">*</i>项目地址:</label>
|
||
</div>
|
||
<div class="layui-input-inline" style="border: 0px dashed dimgrey;width: 74%;display: flex;">
|
||
<select name="province3" id="province3" class="province-selector" lay-filter="province-3" lay-verify="required">
|
||
<option value="">--选择省--</option>
|
||
</select>
|
||
<select name="city3" id="city3" class="city-selector" lay-filter="city-3" lay-verify="required">
|
||
<option value="">--选择市--</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item" style="margin-top: 1%;">
|
||
<div class="layui-input-inline">
|
||
<label class="layui-form-label"><i class="tip-required"
|
||
style="color: red;font-size: 20px">*</i>项目部经纬度:</label>
|
||
</div>
|
||
<div class="layui-input-inline" style="border: 0px dashed dimgrey;width: 74%;display: flex;">
|
||
<input class="teamName layui-input" id="meridian" name="meridian" lay-verify="required" placeholder="填写中央子午">
|
||
|
||
<input class="teamName layui-input" id="longitude" name="longitude" lay-verify="required" placeholder="填写经度">
|
||
|
||
<input class="teamName layui-input" id="lineLength" name="lineLength" lay-verify="required" placeholder="填写纬度">
|
||
<div>
|
||
<img src="../../img/map.png" alt="点击图片" onclick="handleImageClick()">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item" style="margin-top: 1%;">
|
||
<div class="layui-input-inline">
|
||
<label class="layui-form-label"><i class="tip-required"
|
||
style="color: red;font-size: 20px">*</i>计划开工日期:</label>
|
||
</div>
|
||
<div class="layui-input-inline" style="border: 0px dashed dimgrey;width: 74%;">
|
||
<input type="text" class="layui-input" id="phyTimeStart" name="phyTimeStart" placeholder="选择日期" lay-verify="required">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item" style="margin-top: 1%;">
|
||
<div class="layui-input-inline">
|
||
<label class="layui-form-label"><i class="tip-required"
|
||
style="color: red;font-size: 20px">*</i>计划完工日期:</label>
|
||
</div>
|
||
<div class="layui-input-inline" style="border: 0px dashed dimgrey;width: 74%;">
|
||
<input type="text" class="layui-input" id="ptyTimeEnd" name="ptyTimeEnd" placeholder="选择日期" lay-verify="required">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item" style="display: none">
|
||
<div class="layui-input-block">
|
||
<button type="submit" class="layui-btn subBtn" id="commit" lay-submit lay-filter="formDemo">提交</button>
|
||
</div>
|
||
</div>
|
||
<table id="demo" lay-filter="test" style="padding: 10px"></table>
|
||
</form>
|
||
|
||
</body>
|
||
</html>
|
||
<script src="../../js/jquery/jquery-3.6.0.js"></script>
|
||
<script src="../../layui-v2.8.18/layui/layui.js"></script>
|
||
<script type="text/javascript" src="../../js/jq.js"></script>
|
||
<script src="../../js/common_methon.js"></script>
|
||
<script type="text/javascript" src="../../js/publicJs.js"></script>
|
||
<script type="text/javascript" src="../../js/select.js"></script>
|
||
<script type="text/javascript" src="../../js/my/permission.js"></script>
|
||
<script type="text/javascript">
|
||
layui.config({
|
||
base: '../../js/layuiModules/', // 第三方模块所在目录
|
||
version: 'v1.6.4' // 插件版本号
|
||
}).extend({
|
||
soulTable: 'notice,layNotify,notice', // 模块
|
||
});
|
||
|
||
var form;
|
||
var table;
|
||
var newData;
|
||
var laydate
|
||
var notice;
|
||
var layarea;
|
||
var layNotify;
|
||
var id = localStorage.getItem("id");
|
||
var projectName = localStorage.getItem("title");
|
||
var teamTypeId = localStorage.getItem("teamTypeId");
|
||
var teamName = localStorage.getItem("teamName");
|
||
var finalData;
|
||
var type = "1";
|
||
|
||
layui.use(['table', 'form','notice', 'layNotify', 'layarea'], function () {
|
||
table = layui.table;
|
||
form = layui.form;
|
||
laydate = layui.laydate;
|
||
notice = layui.notice;
|
||
layNotify = layui.layNotify;
|
||
layarea = layui.layarea;
|
||
initTime();
|
||
|
||
layarea.render({
|
||
elem: '#area-picker3',
|
||
change: function (res) {
|
||
//选择结果
|
||
console.log(res);
|
||
}
|
||
});
|
||
|
||
|
||
if (isEmpty(id)) {
|
||
//新增
|
||
getVoltageLevel(form, "");
|
||
getProjectName(form, "");
|
||
} else {
|
||
type = "2";
|
||
//修改
|
||
// document.getElementById("teamTypeId").style.readOnly = true;
|
||
getList();
|
||
}
|
||
|
||
|
||
// 验证成功后才会执行下面的操作
|
||
form.on('submit(formDemo)', function (data) {
|
||
var startTime = new Date(data.field.phyTimeStart.replace(/-/g, "/")).getTime();
|
||
var endTime = new Date(data.field.ptyTimeEnd.replace(/-/g, "/")).getTime();
|
||
var length = parseFloat(data.field.length);
|
||
if (endTime <= startTime) {
|
||
layer.msg('完工时间必须大于开工时间', {icon: 2});
|
||
return false; // 阻止表单提交
|
||
} else if (length <= 0) {
|
||
layer.msg('线路长度必须大于0', {icon: 2});
|
||
return false; // 阻止表单提交
|
||
}else if (length <= 0 || length > 10000) {
|
||
layer.msg('线路长度必须大于0', {icon: 2});
|
||
return false; // 阻止表单提交
|
||
} else {
|
||
console.log(data.field);
|
||
data.field.id = id;
|
||
addInfo(data); //新增方法
|
||
}
|
||
});
|
||
|
||
});
|
||
|
||
/**
|
||
* 新增或修改的提交方法
|
||
* @param formData
|
||
* @returns {boolean}
|
||
*/
|
||
function addInfo(formData) {
|
||
var tip = '保存';
|
||
var formUrl = ctxPath + "/linePro/addProjectInfo";
|
||
if (id != '') {
|
||
formUrl = ctxPath + "/linePro/updateProject";
|
||
tip = '修改';
|
||
}
|
||
formData.field.id = id;
|
||
console.log(formData.field)
|
||
// 加载提示
|
||
addLoadingMsg = top.layer.msg('数据上传中,请稍候...', {
|
||
icon: 16,
|
||
scrollbar: false,
|
||
time: 0,
|
||
shade: [0.8, '#393D49']
|
||
});
|
||
$.ajax({
|
||
type: 'post',
|
||
async: false, // 默认异步true,false表示同步
|
||
url: formUrl, // 请求地址
|
||
contentType: "application/json; charset=utf-8",
|
||
dataType: 'json', // 服务器返回数据类型
|
||
data: JSON.stringify(formData.field), //获取提交的表单字段
|
||
success: function (data) {
|
||
if (data.resMsg === "发起成功") {
|
||
parent.layer.closeAll();
|
||
top.layer.close(addLoadingMsg); //再执行关闭
|
||
parent.layer.msg(tip + '成功', {icon: 1, time: 2000});
|
||
window.parent.location.reload();
|
||
}else if (data.resMsg === "该项目部下已存在改工程") {
|
||
top.layer.close(addLoadingMsg); //再执行关闭
|
||
layer.msg("该项目部下已存在改工程", {icon: 0, time: 2000})
|
||
}
|
||
},
|
||
error: function (XMLHttpRequest, textStatus, e) {
|
||
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
|
||
top.layer.close(addLoadingMsg); //再执行关闭
|
||
}
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 根据id获取单个数据进行回显
|
||
*/
|
||
function getList() {
|
||
$.ajax({
|
||
type: 'POST',
|
||
async: false, // 默认异步true,false表示同步
|
||
url: ctxPath + '/linePro/getListProject',// 请求地址
|
||
dataType: 'json', // 服务器返回数据类型
|
||
data: {'id': id}, //获取提交的表单字段
|
||
success: function (data) {
|
||
var resMsg = data.resMsg;
|
||
if ("数据获取成功" === resMsg) {
|
||
let info = data.obj.lineProjectBean;
|
||
var proAddress = info.proAddress;
|
||
var addressParts = proAddress.split("-");
|
||
var province = addressParts[0];
|
||
var city = addressParts[1];
|
||
console.log(data);
|
||
$("#projectName").val(info.title);
|
||
$("#shortName").val(info.shortName);
|
||
$("#length").val(info.lineLength);
|
||
$("#longitude").val(info.longitude);
|
||
$("#lineLength").val(info.latitude);
|
||
$("#phyTimeStart").val(info.phyTimeStart);
|
||
$("#ptyTimeEnd").val(info.ptyTimeEnd);
|
||
$("#shortName").val(info.shortName);
|
||
$("#meridian").val(info.meridian);
|
||
getVoltageLevel(form, info.volLevelId);
|
||
getProjectName(form, info.departmentId);
|
||
|
||
layarea.render({
|
||
elem: '#area-picker3',
|
||
data: {
|
||
province: province,
|
||
city: city,
|
||
},
|
||
change: function (res) {
|
||
//选择结果
|
||
console.log(res);
|
||
}
|
||
});
|
||
form.render();
|
||
}
|
||
},
|
||
error: function (XMLHttpRequest, textStatus, e) {
|
||
// layer.close(loadingMsg);
|
||
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
|
||
}
|
||
});
|
||
}
|
||
|
||
function handleImageClick() {
|
||
var index = layer.open({
|
||
type: 2,
|
||
title: '选择地址',
|
||
shadeClose: true,
|
||
shade: 0.8,
|
||
area: ['60%', '100%'],
|
||
content: './ProjectMap.html' //iframe的url
|
||
});
|
||
}
|
||
|
||
function setPoint(longitude, latitude) {
|
||
document.getElementById('longitude').value = longitude;
|
||
document.getElementById('lineLength').value = latitude;
|
||
}
|
||
|
||
|
||
function reloadTip(tip,message,type){
|
||
parent.layNotify.notice({
|
||
title: tip+"提示",
|
||
type: type,
|
||
message: message
|
||
});
|
||
}
|
||
|
||
function initTime() {
|
||
// 日期选择器
|
||
laydate.render({
|
||
elem: '#phyTimeStart',
|
||
// range: ['#phyTimeStart']
|
||
});
|
||
laydate.render({
|
||
elem: '#ptyTimeEnd',
|
||
});
|
||
}
|
||
|
||
</script> |