czl-web/pages/project/lineProjectForm.html

361 lines
15 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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="填写中央子午">
&nbsp;&nbsp;&nbsp;&nbsp;
<input class="teamName layui-input" id="longitude" name="longitude" lay-verify="required" placeholder="填写经度">
&nbsp;&nbsp;&nbsp;&nbsp;
<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>