IntelligentRecognition/ah-jjsp-web/.svn/pristine/37/376de973d35760659da2af00fc7...

449 lines
16 KiB
Plaintext

let form, laydate, id, addNum = 0, jsonObj = {},tId,proId;
function setParams(params) {
id = params;
if (params) {
$("#typeTitle").html("编辑");
} else {
$("#typeTitle").html("新增");
}
layui.use(["form", "laydate", "table"], function () {
form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
table = layui.table;
laydate = layui.laydate;
let startDate = laydate.render({
elem: "#planStartTime",
type: "datetime",
format: "yyyy-MM-dd HH:mm:ss",
btns: ["clear", "confirm"],
done: function (value, date) {
if (value !== "") {
endDate.config.min.year = date.year;
endDate.config.min.month = date.month - 1;
endDate.config.min.date = date.date;
endDate.config.min.hours = date.hours;
endDate.config.min.minutes = date.minutes;
} else {
endDate.config.min.year = "";
endDate.config.min.month = "";
endDate.config.min.date = "";
endDate.config.min.hours = "";
endDate.config.min.minutes = "";
}
},
});
let endDate = laydate.render({
elem: "#planEndTime",
type: "datetime",
format: "yyyy-MM-dd HH:mm:ss",
btns: ["clear", "confirm"],
done: function (value, date) {
if (value !== "") {
startDate.config.max.year = date.year;
startDate.config.max.month = date.month - 1;
startDate.config.max.date = date.date;
startDate.config.max.hours = date.hours;
startDate.config.max.minutes = date.minutes;
} else {
startDate.config.max.year = "";
startDate.config.max.month = "";
startDate.config.max.date = "";
startDate.config.max.hours = "";
startDate.config.max.minutes = "";
}
},
});
let startDate2 = laydate.render({
elem: "#startTime",
type: "datetime",
format: "yyyy-MM-dd HH:mm:ss",
btns: ["clear", "confirm"],
done: function (value, date) {
if (value !== "") {
endDate2.config.min.year = date.year;
endDate2.config.min.month = date.month - 1;
endDate2.config.min.date = date.date;
endDate2.config.min.hours = date.hours;
endDate2.config.min.minutes = date.minutes;
} else {
endDate2.config.min.year = "";
endDate2.config.min.month = "";
endDate2.config.min.date = "";
endDate2.config.min.hours = "";
endDate2.config.min.minutes = "";
}
},
});
let endDate2 = laydate.render({
elem: "#endTime",
type: "datetime",
format: "yyyy-MM-dd HH:mm:ss",
btns: ["clear", "confirm"],
done: function (value, date) {
if (value !== "") {
startDate2.config.max.year = date.year;
startDate2.config.max.month = date.month - 1;
startDate2.config.max.date = date.date;
startDate2.config.max.hours = date.hours;
startDate2.config.max.minutes = date.minutes;
} else {
startDate2.config.max.year = "";
startDate2.config.max.month = "";
startDate2.config.max.date = "";
startDate2.config.max.hours = "";
startDate2.config.max.minutes = "";
}
},
});
});
loadOrgName();
getVoltegeLevelList();
if (id) {
getProInfoById();
} else {
addLine();
}
// addLine();
layui.form.render();
}
// 编辑页面数据
function getProInfoById() {
$.ajax({
type: "GET",
url: dataUrl + "newPro/getProInfoById?token=" + token,
data: {
params: encrypt(JSON.stringify({
'id': id
})),
},
async: false,
dataType: "json",
success: function (data) {
console.log(data);
setData(data.obj);
},
error: function (jqXHR, textStatus, errorThrown) {
},
});
}
// 编辑页面赋值数据
function setData(data) {
if (data.newProEntity) {
tId = data.newProEntity.tid;
proId = data.newProEntity.id;
$("#tId").val(data.newProEntity.tid);
$("#id").val(data.newProEntity.id).addClass('readonly').attr('readonly',true);
$("#proName").val(data.newProEntity.proName);
$("#proAbbName").val(data.newProEntity.proAbbName);
$("#proType").val(data.newProEntity.proType);
$("#volate").val(data.newProEntity.volate);
$("#cityCompany").val(data.newProEntity.orgId);
$("#workUnit").val(data.newProEntity.workUnit);
$("#countUnit").val(data.newProEntity.countUnit);
$("#lon").val(data.newProEntity.lon);
$("#lat").val(data.newProEntity.lat);
$("input:radio[name=isStop][value="+ data.newProEntity.isStop +"]").attr("checked", "true");
$("#cotrUnitManage").val(data.newProEntity.cotrUnitManage);
$("#cotrUnitManageTel").val(data.newProEntity.cotrUnitManageTel);
$("#owerManager").val(data.newProEntity.owerManager);
$("#owerManagerTel").val(data.newProEntity.owerManagerTel);
$("#consManage").val(data.newProEntity.consManage);
$("#consManageTel").val(data.newProEntity.consManageTel);
$("#planStartTime").val(data.newProEntity.planStartTime);
$("#planEndTime").val(data.newProEntity.planEndTime);
$("#startTime").val(data.newProEntity.startTime);
$("#endTime").val(data.newProEntity.endTime);
$("#status").val(data.newProEntity.status);
$("#progess").val(data.newProEntity.progess);
}
if(data.newProBidLists && data.newProBidLists.length > 0){
debugger;
data.newProBidLists.forEach((item,index)=>{
addLine();
$('.bid-num').eq(index).attr('id',item.id);
$('input[name="proCode"]').eq(index).val(item.proCode);
$('input[name="singName"]').eq(index).val(item.singName);
$('input[name="bidCode"]').eq(index).val(item.bidCode);
$('input[name="bidName"]').eq(index).val(item.bidName);
$('input[name="towerNum"]').eq(index).val(item.towerNum);
})
}else{
addLine();
}
layui.form.render();
}
// 添加行
function addLine() {
let html = "";
addNum++;
let length = $(".bid-form > .layui-form-item").length;
let obj = $(".bid-form");
html +=
'<div class="layui-form-item item-' +addNum +'" itemNum="item-' +addNum +'">' +
'<div id="" class="bid-num">' +(length + 1) +"</div>" +
'<div>' +
'<div class="layui-inline"><label class="layui-form-label">单项工程编码:</label>' +
'<div class="layui-input-inline"><input type="text" name="proCode" class="layui-input" autocomplete="off" maxlength="255"></div></div><br>' +
'<div class="layui-inline"><label class="layui-form-label">单项工程名称:</label>' +
'<div class="layui-input-inline"><input type="text" name="singName" class="layui-input" autocomplete="off" maxlength="255"></div></div><br>' +
'<div class="layui-inline"><label class="layui-form-label">标段工程编码:</label>' +
'<div class="layui-input-inline"><input type="text" name="bidCode" class="layui-input" autocomplete="off" maxlength="255"></div></div><br>' +
'<div class="layui-inline"><label class="layui-form-label">标段工程名称:</label>' +
'<div class="layui-input-inline"><input type="text" name="bidName" class="layui-input" autocomplete="off" maxlength="255"></div></div><br>' +
'<div class="layui-inline"><label class="layui-form-label">基塔数:</label>' +
'<div class="layui-input-inline"><input type="text" name="towerNum" class="layui-input" autocomplete="off" maxlength="255" onblur="isRange(this)" onkeyup="value=value.replace(/[^\\d]/g,\'\')"></div></div><hr>' +
'</div>' +
'<img src="../../../img/fail-circle.png" title="删除" style="cursor: pointer;" onclick="delLine(this)">' +
'</div>' +
'</div>';
obj.append(html);
}
// 删除行
function delLine(_that) {
let obj = $(".bid-form > .layui-form-item");
let classId = $(_that).parents(".layui-form-item").attr("itemNum");
obj.remove("." + classId);
let length = $(".bid-form > .layui-form-item").length;
let obj2 = $(".bid-form > .layui-form-item");
if (length) {
obj2.each(function (index) {
$(this).find(".bid-num").html(index + 1);
});
}
}
// 保存-验证数据是否合法
function saveData() {
let flag = volidateForm();
if (flag) {
console.log("上传");
getProFormData();
console.log(JSON.stringify(jsonObj));
requestAddOrEdit();
} else {
console.log("不上传");
}
}
// 工程信息/标段工程数据
function getProFormData() {
let proCodeList = [],
singNameList = [],
bidCodeList = [],
bidNameList = [],
towerNumList = [],
bidIdList = [];
$('input[name="proCode"]').each(function (index) {
if ($(this).val().replace(/^\s+|\s+$/g, "")) {
proCodeList.push($(this).val());
} else {
proCodeList.push("-1");
}
});
$('input[name="singName"]').each(function (index) {
if ($(this).val().replace(/^\s+|\s+$/g, "")) {
singNameList.push($(this).val());
} else {
singNameList.push("-1");
}
});
$('input[name="bidCode"]').each(function (index) {
if ($(this).val().replace(/^\s+|\s+$/g, "")) {
bidCodeList.push($(this).val());
} else {
bidCodeList.push("-1");
}
});
$('input[name="bidName"]').each(function (index) {
if ($(this).val().replace(/^\s+|\s+$/g, "")) {
bidNameList.push($(this).val());
} else {
bidNameList.push("-1");
}
});
$('input[name="towerNum"]').each(function (index) {
if ($(this).val().replace(/^\s+|\s+$/g, "")) {
towerNumList.push($(this).val());
} else {
towerNumList.push("-1");
}
});
$(".bid-num").each(function (index) {
if ($(this).attr("id")) {
bidIdList.push($(this).attr("id"));
} else {
bidIdList.push("-1");
}
});
jsonObj = {
tId: $("#tId").val(),
id: $("#id").val(),
proName: $("#proName").val(),
proAbbName: $("#proAbbName").val(),
proType: $("#proType").val(),
volate: $("#volate").val(),
orgId: $("#cityCompany").val(),
workUnit: $("#workUnit").val(),
countUnit: $("#countUnit").val(),
lon: $("#lon").val(),
lat: $("#lat").val(),
isStop: $("input[name='isStop']:checked").val(),
cotrUnitManage: $("#cotrUnitManage").val(),
cotrUnitManageTel: $("#cotrUnitManageTel").val(),
owerManager: $("#owerManager").val(),
owerManagerTel: $("#owerManagerTel").val(),
consManage: $("#consManage").val(),
consManageTel: $("#consManageTel").val(),
planStartTime: $("#planStartTime").val(),
planEndTime: $("#planEndTime").val(),
startTime: $("#startTime").val(),
endTime: $("#endTime").val(),
status: $("#status").val(),
progess: $("#progess").val(),
proCodeList: proCodeList.toString(),
singNameList: singNameList.toString(),
bidCodeList: bidCodeList.toString(),
bidNameList: bidNameList.toString(),
towerNumList: towerNumList.toString(),
bidIdList: bidIdList.toString(),
};
}
// 提交数据
function requestAddOrEdit() {
let loadingMsg = layer.msg("数据上传中,请稍候...", { icon: 16, scrollbar: false, time: 0 });
$.ajax({
type: "post",
url: dataUrl + "newPro/addOrUpdatePro?token=" + token,
data: {
params: encrypt(JSON.stringify(jsonObj)),
},
async: false,
dataType: "json",
success: function (data) {
layer.close(loadingMsg); // 关闭提示层
if (data.resMsg === "保存成功") {
closePage(1, data.resMsg);
} else {
doneConfirm(data.resMsg);
}
},
error: function (jqXHR, textStatus, errorThrown) {
layer.close(loadingMsg);
layer.msg("数据上传发生异常,请稍后重试", { icon: 16, scrollbar: false, time: 2000, });
},
});
}
// 加载地市公司
function loadOrgName() {
let html = "";
$.ajax({
type: "POST",
url: dataUrl + "map/getOrgName?token=" + token,
data: { data: getDefatData() },
async: false,
dataType: "json",
success: function (data) {
if (data && data.length > 0) {
data.forEach((item) => {
html += "<option value =" + item.key + ">" + item.value + "</option>";
});
}
},
});
$("#cityCompany").empty().append(html);
}
//加载电压等级
function getVoltegeLevelList() {
let html = "";
$.ajax({
type: "GET",
url: dataUrl + "map/getVoltegeLevelList?token=" + token,
async: false,
dataType: "json",
success: function (data) {
let obj = data.obj;
if (obj && obj.length > 0) {
obj.forEach((item) => {
html += "<option value =" + item.key + ">" + item.value + "</option>";
});
}
},
});
$("#volate").empty().append(html);
}
// 格式化数量
function isRange(_that) {
let value = $(_that).val();
if (value) {
$(_that).val(parseInt(value));
}
}
// 重置
function resetData() {
resetForm();
resetFormData();
jsonObj = {};
}
// 清空表单
function resetFormData() {
$(".pro-form")[0].reset();
$(".bid-form").empty();
addLine();
$("#tId").val(tId);
$("#id").val(proId);
layui.form.render();
}
// 关闭页面
function closePage(type) {
let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index); //再执行关闭
if (type === 1) {
let frameId = parent.document.getElementById('proMge').getElementsByTagName("iframe")[0];
frameId.contentWindow.reloadData(1);
}
}
// 请求--回调
function doneConfirm(status) {
let path = "../../../img/fail-circle.png";
let height = getConfirmHeight().toFixed(0) + "px";
let width = getComfrimWidth().toFixed(0) + "px";
let html =
'<div style="width:100%;height:100%">' +
'<div style = "width: 100%;height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: center;">' +
'<img src="' +
path +
'" style="padding-bottom: 3%;">' +
'<p style="font-size: 24px;letter-spacing: 2px;color:#262626;">' +
status +
"</p>" +
"</div>" +
"</div>";
layer.open({
type: 1,
time: 2000,
title: false,
closeBtn: 0, //不显示关闭按钮
shadeClose: false, //开启遮罩关闭
content: html,
area: [width, height],
success: function (layero, index) {
// 浏览器分辨率发生变化时,自适应
$(window).resize(function () {
if (autoComfrimResizeWidth) {
autoComfrimResizeWidth(index);
}
if (autoConfrimResizeHeight) {
autoConfrimResizeHeight(index);
}
});
},
});
}