工程进度更新页面搭建,接口联调
This commit is contained in:
parent
0c00fa931e
commit
5e4c4a63c8
|
|
@ -113,4 +113,13 @@ public interface ProProgressDao {
|
|||
* @date 2025/4/22 15:03
|
||||
*/
|
||||
void updateProProgress(ProProgressVo.UpdateRecordVo vo);
|
||||
|
||||
/**
|
||||
* 更新杆塔进度
|
||||
* @param vo
|
||||
* @return void
|
||||
* @author cwchen
|
||||
* @date 2025/4/23 14:46
|
||||
*/
|
||||
void updateTower(ProProgressVo.UpdateRecordVo vo);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -121,13 +121,18 @@ public class ProProgressServiceImpl implements ProProgressService {
|
|||
|
||||
@Override
|
||||
public ServerResponse getGxData(QueryParamDto dto) {
|
||||
Map<String, Object> map = new HashMap<>(2);
|
||||
List<ProProgressVo.TowerDetailVo> list = null;
|
||||
ProProgressVo.ProDetailVo vo = null;
|
||||
try {
|
||||
list = Optional.ofNullable(dao.getGxData(dto)).orElseGet(ArrayList::new);
|
||||
vo = Optional.ofNullable(dao.getTowerProgress(dto)).orElseGet(ProProgressVo.ProDetailVo::new);
|
||||
} catch (Exception e) {
|
||||
log.error(e.toString(), e);
|
||||
}
|
||||
return ServerResponse.createSuccess(list);
|
||||
map.put("list", list);
|
||||
map.put("vo", vo);
|
||||
return ServerResponse.createSuccess(map);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -151,11 +156,12 @@ public class ProProgressServiceImpl implements ProProgressService {
|
|||
// 计算更新后的进度
|
||||
double progress = handleProgress(finishTowerNum, towerNum, vo.getTowerIds().size());
|
||||
vo.setFinishProgress(progress);
|
||||
// 更新杆塔进度、杆塔进度关系表、更新工程整体进度
|
||||
// 添加杆塔进度、杆塔进度关系表、更新工程整体进度、更新杆塔进度
|
||||
dao.addProgress(vo);
|
||||
dao.addTowerProgress(vo);
|
||||
dao.updateProProgress(vo);
|
||||
return ServerResponse.createSuccess("操作成功");
|
||||
dao.updateTower(vo);
|
||||
return ServerResponse.createBySuccessMsg("操作成功");
|
||||
} catch (Exception e) {
|
||||
log.error(e.toString(), e);
|
||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
|
|
|
|||
|
|
@ -33,6 +33,15 @@
|
|||
UPDATE tb_project SET pro_progress = #{finishProgress},update_user_id = #{updateUserId}
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
<!--更新杆塔进度-->
|
||||
<update id="updateTower">
|
||||
<foreach collection="towerIds" item="item" index="index" separator=";">
|
||||
UPDATE tb_tower
|
||||
SET
|
||||
tower_progress = #{progressType}
|
||||
WHERE id = #{item}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<!--工程进度更新-查询列表-->
|
||||
<select id="getList" resultType="com.bonus.digitalSignage.backstage.entity.vo.ProProgressVo">
|
||||
|
|
@ -82,7 +91,7 @@
|
|||
LEFT JOIN (
|
||||
SELECT pro_id,COUNT(*) AS num
|
||||
FROM tb_tower
|
||||
WHERE pro_id = #{id}
|
||||
WHERE pro_id = #{id} AND is_actvice = '1'
|
||||
GROUP BY pro_id
|
||||
) C ON tp.id = C.pro_id
|
||||
LEFT JOIN (
|
||||
|
|
@ -111,7 +120,7 @@
|
|||
SELECT tower_name AS towerName,
|
||||
tower_progress AS towerProgress
|
||||
FROM tb_tower
|
||||
WHERE pro_id = #{id}
|
||||
WHERE pro_id = #{id} AND is_actvice = '1'
|
||||
</select>
|
||||
<!--查询工程杆塔进度-->
|
||||
<select id="getTowerProgress"
|
||||
|
|
@ -122,8 +131,9 @@
|
|||
COUNT(IF(tower_progress >= 4, 1, NULL)) AS num4,
|
||||
COUNT(IF(tower_progress >= 5, 1, NULL)) AS num5,
|
||||
COUNT(IF(tower_progress >= 6, 1, NULL)) AS num6,
|
||||
COUNT(IF(tower_progress >= 7, 1, NULL)) AS num7
|
||||
FROM tb_tower WHERE pro_id = #{id}
|
||||
COUNT(IF(tower_progress >= 7, 1, NULL)) AS num7,
|
||||
COUNT(*) AS towerNum
|
||||
FROM tb_tower WHERE pro_id = #{id} AND is_actvice = '1'
|
||||
</select>
|
||||
<!--工程进度更新-更新进度-更新记录-->
|
||||
<select id="getUpdateRecord"
|
||||
|
|
@ -141,15 +151,19 @@
|
|||
<!--工程进度更新-更新进度-查询更新项目工序数据-->
|
||||
<select id="getGxData"
|
||||
resultType="com.bonus.digitalSignage.backstage.entity.vo.ProProgressVo$TowerDetailVo">
|
||||
SELECT * FROM (
|
||||
SELECT id,
|
||||
tower_name AS towerName,
|
||||
1 AS chooseStatus
|
||||
FROM tb_tower WHERE pro_id = #{id} AND tower_progress = #{type} - 1
|
||||
1 AS chooseStatus,
|
||||
sort
|
||||
FROM tb_tower WHERE pro_id = #{id} AND tower_progress = #{type} - 1 AND is_actvice = '1'
|
||||
UNION ALL
|
||||
SELECT id,
|
||||
tower_name AS towerName,
|
||||
0 AS chooseStatus
|
||||
FROM tb_tower WHERE pro_id = #{id} AND tower_progress >= #{type}
|
||||
0 AS chooseStatus,
|
||||
sort
|
||||
FROM tb_tower WHERE pro_id = #{id} AND tower_progress >= #{type} AND is_actvice = '1'
|
||||
) A ORDER BY sort
|
||||
</select>
|
||||
<!--查询杆塔进度是否被重复更新-->
|
||||
<select id="getIsRepeatUpdate" resultType="java.lang.Integer">
|
||||
|
|
|
|||
|
|
@ -148,6 +148,58 @@ body {
|
|||
width: 99%;
|
||||
padding: 0 0.5%;
|
||||
height: calc(100% - 240px);
|
||||
|
||||
}
|
||||
|
||||
.update-form {
|
||||
width: 100%;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
.btn-box {
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
margin-top: 10px;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.save {
|
||||
background-color: #00377A;
|
||||
}
|
||||
|
||||
.tower-box {
|
||||
width: 100%;
|
||||
max-height: calc(100% - 200px);
|
||||
background-color: #F2F2F2FF;
|
||||
margin-bottom: 10px;
|
||||
align-items: start;
|
||||
justify-content: start;
|
||||
flex-wrap: wrap;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.tower-info {
|
||||
width: 70px;
|
||||
height: 40px;
|
||||
margin: 10px;
|
||||
border-radius: 6px;
|
||||
border:1px solid #E4E4E4FF;
|
||||
background-color: #fff;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.biddenChoose{
|
||||
background-color: #ffff00;
|
||||
}
|
||||
|
||||
.choose{
|
||||
color: #409eff;
|
||||
font-weight: bold;
|
||||
border:1px solid #409eff;
|
||||
background-color:rgb(160, 207, 255,0.2);
|
||||
}
|
||||
|
||||
.layui-tab-brief > .layui-tab-more li.layui-this:after,
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ function openIframe2(id, title, content, width, height, params) {
|
|||
});
|
||||
}
|
||||
|
||||
function openIframeByParamObj(id, title, content, width, height, paramsObj) {
|
||||
function openIframeByParamObj(id, title, content, width, height, paramsObj,isRefresh) {
|
||||
let layerIndex = layer.open({
|
||||
id: id,
|
||||
type: 2,
|
||||
|
|
@ -58,6 +58,10 @@ function openIframeByParamObj(id, title, content, width, height, paramsObj) {
|
|||
iframeWin.setParams(JSON.stringify(paramsObj));
|
||||
}
|
||||
},
|
||||
end: function () { }
|
||||
end: function () {
|
||||
if(isRefresh === 'updatePro'){
|
||||
reloadData();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -180,8 +180,10 @@ function schedule(d) {
|
|||
}
|
||||
//设置页面进度条
|
||||
return (
|
||||
'<div class="layui-progress layui-progress-big" lay-showpercent="true" id="' + d.filter + '" lay-filter="proProgress' + d.filter + '">' +
|
||||
'<div style="display: flex;">' +
|
||||
'<div style="width: 230px;" class="layui-progress layui-progress-big" id="' + d.filter + '" lay-filter="proProgress' + d.filter + '">' +
|
||||
'<div class="layui-progress-bar ' + color + '" lay-percent="' + d.proProgress + '%">' +
|
||||
"</div></div>"
|
||||
"</div></div><span style='margin-left: 10px;'>"+d.proProgress+"%</span>" +
|
||||
'</div>'
|
||||
);
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
let form, layer, element, table, tableIns;
|
||||
let pageNum = 1, pageSize = 30;
|
||||
let objParams = {};
|
||||
let objParams = {},checkType = '1';
|
||||
|
||||
function setParams(obj) {
|
||||
objParams = JSON.parse(obj);
|
||||
|
|
@ -11,6 +11,7 @@ function setParams(obj) {
|
|||
element = layui.element;
|
||||
element.on('tab(demo-filter-tab)', function (data) {
|
||||
let value = $(this).attr('value');
|
||||
checkType = value;
|
||||
if (value === '1') {
|
||||
$('#layui-tab-title li').eq(0).addClass('layui-this');
|
||||
$('#layui-tab-content>div').eq(0).addClass('layui-show');
|
||||
|
|
@ -190,3 +191,17 @@ function setTowerProgress(value,type){
|
|||
}
|
||||
return html;
|
||||
}
|
||||
|
||||
// 更新项目
|
||||
function updatePro(){
|
||||
openIframeByParamObj("updatePro", "更新项目", "./updateProForm.html", "92%", "95%", objParams,'updatePro');
|
||||
}
|
||||
|
||||
function reloadData(){
|
||||
if(checkType === '1'){
|
||||
initSetProData();
|
||||
query();
|
||||
}else{
|
||||
setUpdateRecord();
|
||||
}
|
||||
}
|
||||
|
|
@ -105,3 +105,113 @@ function setUpdateRecord(){
|
|||
$('.layui-timeline').empty().append(html);
|
||||
}
|
||||
}
|
||||
|
||||
/**更新项目数据赋值*/
|
||||
function setUpdateProData(value) {
|
||||
let url = dataUrl + "/backstage/proProgress/getGxData"
|
||||
let obj = {
|
||||
id: objParams.id,
|
||||
type:value
|
||||
}
|
||||
let params = {
|
||||
encryptedData: encryptCBC(JSON.stringify(obj))
|
||||
}
|
||||
let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,});
|
||||
ajaxRequest(url, "POST", params, true, function () {
|
||||
}, function (result) {
|
||||
layer.close(loadingMsg);
|
||||
if (result.status === 200) {
|
||||
setData(result.data);
|
||||
} else {
|
||||
layer.msg(result.msg, {icon: 2})
|
||||
}
|
||||
}, function (xhr) {
|
||||
layer.close(loadingMsg);
|
||||
error(xhr)
|
||||
});
|
||||
|
||||
function setData(data) {
|
||||
let obj = data.vo;
|
||||
let list = data.list;
|
||||
$('#towerNum2').html(obj.towerNum);
|
||||
for (let i = 1; i <= 7 ; i++) {
|
||||
$('#num' + i).html(obj['num' + i]);
|
||||
}
|
||||
let html = '';
|
||||
$.each(list,function (index,item) {
|
||||
if(item.chooseStatus === 1){
|
||||
html += '<div class="tower-info layout" dataId="'+item.id+'" onclick="chooseData(this)"><p>'+item.towerName+'</p></div>';
|
||||
}else if(item.chooseStatus === 0){
|
||||
html += '<div class="tower-info layout biddenChoose" dataId="'+item.id+'"><p>'+item.towerName+'</p></div>';
|
||||
}
|
||||
})
|
||||
$('.tower-box').empty().append(html);
|
||||
}
|
||||
}
|
||||
|
||||
function chooseData(that){
|
||||
let towerName = $(that).find('p').eq(0).html();
|
||||
if($(that).hasClass('choose')){
|
||||
$(that).removeClass('choose');
|
||||
let oldData = $('#updateDesc').val();
|
||||
let dataArr = oldData.split(';');
|
||||
const filteredArray = dataArr.filter(item => !item.includes(towerName));
|
||||
$('#updateDesc').val(filteredArray.join(';'));
|
||||
}else{
|
||||
$(that).addClass('choose');
|
||||
let oldData = $('#updateDesc').val();
|
||||
let value = getTypeName(towerName);
|
||||
$('#updateDesc').val(oldData + value);
|
||||
}
|
||||
|
||||
function getTypeName(towerName){
|
||||
if(checkType === 1){
|
||||
return towerName + '-' + '基础开挖;';
|
||||
}else if(checkType === 2){
|
||||
return towerName + '-' + '基础开挖完成;';
|
||||
}else if(checkType === 3){
|
||||
return towerName + '-' + '基础浇筑完成;';
|
||||
}else if(checkType === 4){
|
||||
return towerName + '-' + '铁塔组立;';
|
||||
}else if(checkType === 5){
|
||||
return towerName + '-' + '铁塔组立完成;';
|
||||
}else if(checkType === 6){
|
||||
return towerName + '-' + '架线施工完成;';
|
||||
}else if(checkType === 7){
|
||||
return towerName + '-' + '附件安装完成;';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 更新项目保存数据
|
||||
function saveData(data,towers) {
|
||||
let url = dataUrl + "/backstage/proProgress/updateProgressData";
|
||||
let paramsObj = data.field;
|
||||
paramsObj.towerIds = towers;
|
||||
paramsObj.id = objParams.id;
|
||||
paramsObj.progressType = checkType;
|
||||
let params = {
|
||||
encryptedData: encryptCBC(JSON.stringify(paramsObj))
|
||||
}
|
||||
let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0});
|
||||
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); // 关闭提示层
|
||||
$('.save').removeClass("layui-btn-disabled").attr("disabled", false);
|
||||
$('.cancel').removeClass("layui-btn-disabled").attr("disabled", false);
|
||||
if (result.code === 200) {
|
||||
parent.layer.msg(result.msg, {icon: 1});
|
||||
setUpdateProData(checkType);
|
||||
$('#updateDesc').val('');
|
||||
} else {
|
||||
layer.msg(result.msg, {icon: 2})
|
||||
}
|
||||
}, function (xhr) {
|
||||
layer.close(loadingMsg); // 关闭提示层
|
||||
$('.save').removeClass("layui-btn-disabled").attr("disabled", false);
|
||||
$('.cancel').removeClass("layui-btn-disabled").attr("disabled", false);
|
||||
error(xhr)
|
||||
});
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
let form, layer, element, table, tableIns;
|
||||
let objParams = {},checkType = 1;
|
||||
|
||||
function setParams(obj) {
|
||||
objParams = JSON.parse(obj);
|
||||
layui.use(['form', 'layer', 'element', 'table'], function () {
|
||||
form = layui.form;
|
||||
layer = layui.layer;
|
||||
table = layui.table;
|
||||
element = layui.element;
|
||||
element.on('tab(demo-filter-tab)', function (data) {
|
||||
let value = $(this).attr('value');
|
||||
checkType = parseInt(value);
|
||||
setUpdateProData(value);
|
||||
$('#updateDesc').val('');
|
||||
});
|
||||
setUpdateProData(1);
|
||||
element.render();
|
||||
form.on('submit(formData)', function (data) {
|
||||
let towers = getChooseData();
|
||||
if(!towers.length){
|
||||
return layer.msg("请选择杆塔", {icon: 7})
|
||||
}
|
||||
saveData(data,towers);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function getChooseData(){
|
||||
let towers = [];
|
||||
$('.tower-info.choose').each(function(){
|
||||
towers.push($(this).attr('dataId'));
|
||||
});
|
||||
return towers;
|
||||
}
|
||||
|
||||
function saveData2() {
|
||||
$('#formSubmit').trigger('click')
|
||||
}
|
||||
|
||||
// 关闭页面
|
||||
function closePage() {
|
||||
let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
|
||||
parent.layer.close(index); //再执行关闭
|
||||
}
|
||||
|
|
@ -53,6 +53,13 @@
|
|||
display: block;
|
||||
margin: 0;
|
||||
}
|
||||
/*.layui-table-cell .layui-progress-bar span {
|
||||
position: absolute;
|
||||
left: -130px;
|
||||
top: -7px;
|
||||
color: #666;
|
||||
font-size: 12px;
|
||||
}*/
|
||||
</style>
|
||||
<script src="../../js/synthesisQuery/proProgressUpdate.js" charset="UTF-8" type="text/javascript"></script>
|
||||
</html>
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<button type="button" class="layui-btn layui-bg-blue no-print" onclick="print()"><i
|
||||
<button type="button" class="layui-btn layui-bg-blue no-print" onclick="updatePro()"><i
|
||||
class="layui-icon layui-icon-edit"></i>更新项目
|
||||
</button>
|
||||
</div>
|
||||
|
|
@ -115,34 +115,6 @@
|
|||
</div>
|
||||
<div class="layui-tab-item">
|
||||
<div class="layui-timeline">
|
||||
<!--<div class="layui-timeline-item">
|
||||
<i class="layui-icon layui-timeline-axis"></i>
|
||||
<div class="layui-timeline-content layui-text">
|
||||
<h3 class="layui-timeline-title">8月18日</h3>
|
||||
<div class="layui-panel">
|
||||
<div class="oper-info layout">
|
||||
<div class="layout">
|
||||
<img src="../../img/synthesisQuery/user_head_icon.png">
|
||||
</div>
|
||||
<div class="user-oper layout">
|
||||
<div style="width: 100%;">
|
||||
<span>王天峰</span><span>(13787220576)</span><span>项目管理中心</span>
|
||||
</div>
|
||||
<div style="width: 100%">
|
||||
<span>完结-审核确认通过,共耗时:21小时16分钟 原因备注:无</span>
|
||||
</div>
|
||||
<div style="width: 100%">
|
||||
<img src="../../img/synthesisQuery/time_icon.png">
|
||||
<span style="margin: 0 5px 0 5px;">2020-12-23 22:31</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layout">
|
||||
<span
|
||||
style="margin: 0 5px 0 5px;">2020-12-23 22:31</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,108 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="../../js/layui-v2.9.14/layui/css/layui.css">
|
||||
<link rel="stylesheet" href="../../css/font.css">
|
||||
<link rel="stylesheet" href="../../css/synthesisQuery/proProgressUpdateDetail.css">
|
||||
<script src="../../js/libs/jquery-3.7.0.min.js" charset="UTF-8" type="text/javascript"></script>
|
||||
<script src="../../js/layui-v2.9.14/layui/layui.js" charset="UTF-8" type="text/javascript"></script>
|
||||
<script src="../../js/publicJs.js"></script>
|
||||
<script src="../../js/commonUtils.js"></script>
|
||||
<script src="../../js/openIframe.js"></script>
|
||||
<script src="../../js/my/aes.js"></script>
|
||||
<script src="../../js/ajaxRequest.js"></script>
|
||||
<title>更新项目</title>
|
||||
</head>
|
||||
<style>
|
||||
#data-box {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#data-box-content {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<body>
|
||||
<div id="main-box">
|
||||
<div id="data-box">
|
||||
<div class="layui-tab layui-tab-brief" style="height: 98%;" lay-filter="demo-filter-tab">
|
||||
<ul class="layui-tab-title" id="layui-tab-title">
|
||||
<li class="layui-this" value="1">基础开挖</li>
|
||||
<li value="2">基础开挖完成</li>
|
||||
<li value="3">基础浇筑完成</li>
|
||||
<li value="4">铁塔组立</li>
|
||||
<li value="5">铁塔组立完成</li>
|
||||
<li value="6">架线施工完成</li>
|
||||
<li value="7">附件安装完成</li>
|
||||
</ul>
|
||||
<div class="layui-tab-content" style="height: calc(100% - 60px);" id="layui-tab-content">
|
||||
<div class="layui-tab-item layui-show">
|
||||
<div class="data-box-content" id="data-box-content">
|
||||
<div id="gx-num-box" class="layout">
|
||||
<div class="layout num-box">
|
||||
<p>杆塔数</p>
|
||||
<p id="towerNum2"></p>
|
||||
</div>
|
||||
<div class="layout num-box">
|
||||
<p>基础开挖</p>
|
||||
<p id="num1">0</p>
|
||||
</div>
|
||||
<div class="layout num-box">
|
||||
<p>基础开挖完成</p>
|
||||
<p id="num2">0</p>
|
||||
</div>
|
||||
<div class="layout num-box">
|
||||
<p>基础浇筑完成</p>
|
||||
<p id="num3">0</p>
|
||||
</div>
|
||||
<div class="layout num-box">
|
||||
<p>铁塔组立</p>
|
||||
<p id="num4">0</p>
|
||||
</div>
|
||||
<div class="layout num-box">
|
||||
<p>铁塔组立完成</p>
|
||||
<p id="num5">0</p>
|
||||
</div>
|
||||
<div class="layout num-box">
|
||||
<p>架线施工完成</p>
|
||||
<p id="num6">0</p>
|
||||
</div>
|
||||
<div class="layout num-box">
|
||||
<p>附件安装完成</p>
|
||||
<p id="num7">0</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tower-box layout">
|
||||
</div>
|
||||
<div class="update-form">
|
||||
<form class="layui-form" onsubmit="return false;">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><i style="padding: 0 5px;color: red;">*</i>更新说明</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" id="updateDesc" name="updateDesc" autocomplete="off"
|
||||
lay-verify="required" maxlength="1000"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" id="formSubmit" class="layui-btn" lay-submit=""
|
||||
lay-filter="formData"
|
||||
style="display: none;"></button>
|
||||
</form>
|
||||
</div>
|
||||
<div class="btn-box">
|
||||
<button class="layui-btn layui-btn-norma save" onclick="saveData2()">确定</button>
|
||||
<button class="layui-btn layui-btn-primary cancel" onclick="closePage()">取消</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<script src="../../js/synthesisQuery/proProgressUpdateDetailAjax.js" charset="UTF-8" type="text/javascript"></script>
|
||||
<script src="../../js/synthesisQuery/updateProForm.js" charset="UTF-8" type="text/javascript"></script>
|
||||
</html>
|
||||
Loading…
Reference in New Issue