|
@@ -0,0 +1,736 @@
|
|
|
+<%@ page contentType="text/html;charset=UTF-8" %>
|
|
|
+<%@ include file="/webpage/include/taglib.jsp"%>
|
|
|
+<html>
|
|
|
+<head>
|
|
|
+ <title>项目管理</title>
|
|
|
+ <meta name="decorator" content="default"/>
|
|
|
+ <script type="text/javascript" src="${ctxStatic}/helloweba_editable-select/jquery.editable-select.min.js"></script>
|
|
|
+ <link rel='stylesheet' type="text/css" href="${ctxStatic}/helloweba_editable-select/jquery.editable-select.min.css"/>
|
|
|
+ <script type="text/javascript">
|
|
|
+ var validateForm;
|
|
|
+ function doSubmit(i){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
|
|
|
+ if(validateForm.form()){
|
|
|
+ if($(".trIdAdds").length==0){
|
|
|
+ top.layer.alert('请至少上传一个项目计划表或者实施方案文档!', {icon: 0});
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if($("#workClientLinkmanList tr").length==0){
|
|
|
+ top.layer.alert('请至少选择一个委托方联系人!', {icon: 0});
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(i==2){
|
|
|
+ $("#inputForm").attr("action","${ctx}/project/projectRecords/tstore");
|
|
|
+ }
|
|
|
+ $("#inputForm").submit();
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ $(document).ready(function() {
|
|
|
+ validateForm = $("#inputForm").validate({
|
|
|
+ submitHandler: function(form){
|
|
|
+ loading('正在提交,请稍等...');
|
|
|
+ form.submit();
|
|
|
+ },
|
|
|
+ errorContainer: "#messageBox",
|
|
|
+ errorPlacement: function(error, element) {
|
|
|
+ $("#messageBox").text("输入有误,请先更正。");
|
|
|
+ if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
|
|
|
+ error.appendTo(element.parent().parent());
|
|
|
+ } else {
|
|
|
+ error.insertAfter(element);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ <%--$('#scaleType').editableSelect({--%>
|
|
|
+ <%--effects: 'slide'--%>
|
|
|
+ <%--});--%>
|
|
|
+ <%--$('#scaleType').val("${projectRecords.scaleType}")--%>
|
|
|
+ <%--$('#scaleUnit').editableSelect({--%>
|
|
|
+ <%--effects: 'slide'--%>
|
|
|
+ <%--});--%>
|
|
|
+ <%--$('#scaleUnit').val("${projectRecords.scaleUnit}")--%>
|
|
|
+ $('#areaId').on("change", function () {
|
|
|
+ var areaId = $("#areaId").val();
|
|
|
+ $("#province").val('');
|
|
|
+ $("#city").val('');
|
|
|
+ $("#county").val('');
|
|
|
+ $.ajax({
|
|
|
+ type : "POST",
|
|
|
+ url : "${ctx}/sys/area/getParent",
|
|
|
+ data : {'areaId':areaId},
|
|
|
+ //请求成功
|
|
|
+ success : function(result) {
|
|
|
+ var pro = result.province;
|
|
|
+ var city = result.city;
|
|
|
+ var county = result.county;
|
|
|
+ if(pro != '') {
|
|
|
+ $("#province").val(pro);
|
|
|
+ }
|
|
|
+ if(city != '') {
|
|
|
+ $("#city").val(city);
|
|
|
+ }
|
|
|
+ if(county != '') {
|
|
|
+ $("#county").val(county);
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ });
|
|
|
+ })
|
|
|
+ });
|
|
|
+
|
|
|
+ function setContractValue(obj){
|
|
|
+ var clientId = $("#contractClientId").val();
|
|
|
+ $.ajax({
|
|
|
+ type:'post',
|
|
|
+ url:'${ctx}/project/projectRecords/getContractInfo',
|
|
|
+ data:{
|
|
|
+ "id":obj
|
|
|
+ },
|
|
|
+ success:function(data){
|
|
|
+ $("#contractName").val(data.name);
|
|
|
+ $("#contractPrice").val(data.contractPrice);
|
|
|
+ formatNum($("#contractPrice"));
|
|
|
+ $("#contractClientName").val(data.client.name);
|
|
|
+ $("#contractClientId").val(data.client.id);
|
|
|
+ $("#constructionProjectType").val(data.constructionProjectTypeStr);
|
|
|
+ $("#linkmanId").val(data.workClinetInfoIds);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ var newClientId =$("#contractClientId").val();
|
|
|
+ if (clientId != newClientId){
|
|
|
+ $("#workClientLinkmanList tr").remove();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ function setValuee(obj){
|
|
|
+ for(var i=0;i<obj.length;i++){
|
|
|
+ var idArr = $("#workClientLinkmanList tr:visible .clientId");
|
|
|
+ if(obj[i].id!=''&&!hasInArr(obj[i].id,idArr)){
|
|
|
+ addRow("#workClientLinkmanList",workClientLinkmanRowIdx,workClientLinkmanTpl,obj[i]);
|
|
|
+ workClientLinkmanRowIdx=workClientLinkmanRowIdx+1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ function getFee() {
|
|
|
+ $("#unitFees").val('');
|
|
|
+ var totalFee = $("#totalFees").val();
|
|
|
+ var count = $("#buildingScale").val();
|
|
|
+ if(count != '' && totalFee != '') {
|
|
|
+ var cFee = Math.round(parseInt(totalFee) / parseInt(count) * 100) / 100 * 10000;
|
|
|
+ $("#unitFees").val(cFee);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ function getBudlingFees() {
|
|
|
+ $("#buildingPercent").val('');
|
|
|
+ $("#buildingUnitFees").val('');
|
|
|
+ var totalFee = $("#totalFees").val();
|
|
|
+ var budFee = $("#buildingFees").val();
|
|
|
+ var count = $("#buildingScale").val();
|
|
|
+ if(totalFee != '') {
|
|
|
+ var p = Math.round(parseInt(budFee) / parseInt(totalFee) * 100 * 100) / 100;
|
|
|
+ }
|
|
|
+ if(count != '') {
|
|
|
+ var pp = Math.round(parseInt(budFee) / parseInt(count) * 100) / 100 * 10000;
|
|
|
+ }
|
|
|
+ $("#buildingPercent").val(p);
|
|
|
+ $("#buildingUnitFees").val(pp);
|
|
|
+ }
|
|
|
+
|
|
|
+ function getInstallFees() {
|
|
|
+ $("#installPercent").val('');
|
|
|
+ $("#installUnitFees").val('');
|
|
|
+ var totalFee = $("#totalFees").val();
|
|
|
+ var budFee = $("#installFees").val();
|
|
|
+ var count = $("#buildingScale").val();
|
|
|
+ if(totalFee != '') {
|
|
|
+ var p = Math.round(parseInt(budFee) / parseInt(totalFee) * 100 * 100) / 100;
|
|
|
+ }
|
|
|
+ if(count != '') {
|
|
|
+ var pp = Math.round(parseInt(budFee) / parseInt(count) * 100) / 100 * 10000;
|
|
|
+ }
|
|
|
+ $("#installPercent").val(p);
|
|
|
+ $("#installUnitFees").val(pp);
|
|
|
+ }
|
|
|
+ function hasInArr(id,idArr) {
|
|
|
+ for(var i=0;i<idArr.length;i++){
|
|
|
+ if(id==$(idArr[i]).val()){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ function existLinkman(id,length) {
|
|
|
+ for (var i=0;i<length;i++) {
|
|
|
+ var val = $('#workClientLinkmanList'+i+'_id').val();
|
|
|
+ if(id==val){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ function setClientInfo(obj) {
|
|
|
+ for(var i=0;i<obj.length;i++){
|
|
|
+ var idArr = $("#workConstructionLinkmanList tr:visible .linkmanId");
|
|
|
+ if(obj[i].id!=''&&!hasInArr(obj[i].id,idArr)){
|
|
|
+ addRow("#workConstructionLinkmanList",workConstructionLinkmanRowIdx,workConstructionLinkmanTpl,obj[i]);
|
|
|
+ workConstructionLinkmanRowIdx=workConstructionLinkmanRowIdx+1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ function existConstructionLinkman(obj,length) {
|
|
|
+ for (var i=0;i<length;i++) {
|
|
|
+ var val = $('#workConstructionLinkmanList'+i+'_id').val();
|
|
|
+ var cid = $('#workConstructionLinkmanList'+i+'_cid').val();
|
|
|
+ if(obj.id==val&&obj.client.id==cid){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ function insertTitle(tValue){
|
|
|
+ var files = $("#attachment_file")[0].files; for(var i = 0;i<files.length;i++) { var file = files[i];
|
|
|
+ var attachmentId = $("#id").val();
|
|
|
+ var attachmentFlag = "82";
|
|
|
+ /*console.log(file);*/
|
|
|
+ var timestamp=new Date().getTime();
|
|
|
+
|
|
|
+ var storeAs = "attachment-file/projectRecords/"+timestamp+"/"+file['name'];
|
|
|
+ var uploadPath="http://gangwan-app.oss-cn-hangzhou.aliyuncs.com/"+storeAs;/*将这段字符串存到数据库即可*/
|
|
|
+ var divId = "_attachment";
|
|
|
+ $("#addFile"+divId).show();
|
|
|
+ multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,0);}
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ function addFile() {
|
|
|
+ $("#attachment_file").click();
|
|
|
+ }
|
|
|
+
|
|
|
+ function addRow(list, idx, tpl, row){
|
|
|
+ // var idx1 = $("#workClientLinkmanList tr").length;
|
|
|
+ bornTemplete(list, idx, tpl, row, idx);
|
|
|
+ }
|
|
|
+
|
|
|
+ function bornTemplete(list, idx, tpl, row, idx1){
|
|
|
+ $(list).append(Mustache.render(tpl, {
|
|
|
+ idx: idx, delBtn: true, row: row,
|
|
|
+ order:idx1 + 1
|
|
|
+ }));
|
|
|
+ $(list+idx).find("select").each(function(){
|
|
|
+ $(this).val($(this).attr("data-value"));
|
|
|
+ });
|
|
|
+ $(list+idx).find("input[type='checkbox'], input[type='radio']").each(function(){
|
|
|
+ var ss = $(this).attr("data-value").split(',');
|
|
|
+ for (var i=0; i<ss.length; i++){
|
|
|
+ if($(this).val() == ss[i]){
|
|
|
+ $(this).attr("checked","checked");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ function delRow(obj, prefix){
|
|
|
+ var id = $(prefix+"_id");
|
|
|
+ var delFlag = $(prefix+"_delFlag");
|
|
|
+ $(obj).parent().parent().remove();
|
|
|
+ }
|
|
|
+
|
|
|
+ function formatNum(obj) {
|
|
|
+ var val = $(obj).val();
|
|
|
+ if(val==null||val==''|| isNaN(val))return;
|
|
|
+ var money = parseFloat((val + "").replace(/[^\d\.-]/g, "")).toFixed(2) + "";
|
|
|
+ var l = money.split(".")[0].split("").reverse(),
|
|
|
+ r = money.split(".")[1];
|
|
|
+ t = "";
|
|
|
+ for(i = 0; i < l.length; i ++ )
|
|
|
+ {
|
|
|
+ t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
|
|
|
+ }
|
|
|
+ $(obj).val(t.split("").reverse().join("") + "." + r);
|
|
|
+ }
|
|
|
+ </script>
|
|
|
+</head>
|
|
|
+<body >
|
|
|
+<div class="single-form">
|
|
|
+ <div class="container">
|
|
|
+ <form:form id="inputForm" modelAttribute="projectRecords" enctype="multipart/form-data" action="${ctx}/project/projectRecords/saveAudit" method="post" class="form-horizontal">
|
|
|
+ <form:hidden path="id"/>
|
|
|
+ <form:hidden path="home"/>
|
|
|
+ <form:hidden path="act.taskId"/>
|
|
|
+ <form:hidden path="act.taskName"/>
|
|
|
+ <form:hidden path="act.taskDefKey"/>
|
|
|
+ <form:hidden path="act.procInsId"/>
|
|
|
+ <form:hidden path="act.procDefId"/>
|
|
|
+ <form:hidden id="flag" path="act.flag"/>
|
|
|
+ <form:hidden path="workContractInfo.client.id" id="contractClientId" value="${workContractInfo.client.id}"/>
|
|
|
+
|
|
|
+ <div class="form-group layui-row first">
|
|
|
+ <div class="form-group-label"><h2>项目合同信息</h2></div>
|
|
|
+ <div class="layui-item layui-col-sm12 lw7">
|
|
|
+ <label class="layui-form-label"><span class="require-item">*</span>选择合同:</label>
|
|
|
+ <div class="layui-input-block with-icon">
|
|
|
+ <sys:gridselectContract url="${ctx}/project/projectRecords/selectcontract" type="" isTotal="1" id="contractId" name="workContractInfo.id" value="${projectRecords.workContractInfo.id}" title="选择合同" labelName="workContractInfo.name"
|
|
|
+ labelValue="${projectRecords.workContractInfo.name}" cssClass="form-control required layui-input" fieldLabels="合同名称" fieldKeys="name" searchLabel="合同名称" searchKey="name" ></sys:gridselectContract>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label">合同名称:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <input htmlEscape="false" readonly="true" id="contractName" class="form-control layui-input" value="${projectRecords.workContractInfo.name}"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label double-line">合同金额(元):</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <input htmlEscape="false" readonly="true" id="contractPrice" class="form-control layui-input" value="<fmt:formatNumber value="${projectRecords.workContractInfo.contractPrice}" pattern="#,##0.00#"/>" onchange="formatNum(this);"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label">主委托方:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <input htmlEscape="false" readonly="true" id="contractClientName" name="workContractInfo.client.name" class="form-control layui-input" value="${projectRecords.workContractInfo.client.name}"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label">工程分类:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <input htmlEscape="false" readonly="true" id="constructionProjectType" class="form-control layui-input" value="${projectRecords.workContractInfo.constructionProjectTypeStr}"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="form-group layui-row">
|
|
|
+ <div class="form-group-label"><h2>项目基础信息</h2></div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label"><span class="require-item">*</span>项目名称</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="projectName" htmlEscape="false" class="form-control layui-input required"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label">项目编号:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <div class="input-group">
|
|
|
+ <form:input path="projectId" htmlEscape="false" readonly="true" class="form-control layui-input"/>
|
|
|
+ <span class="input-group-btn">
|
|
|
+ <label class="form-status"><c:choose><c:when test="${not empty projectRecords.projectStatus}">${fns:getDictLabel(projectRecords.projectStatus, 'audit_state', '')}</c:when><c:otherwise>新添</c:otherwise></c:choose></label>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <%--<div class="layui-item layui-col-sm6 lw7">--%>
|
|
|
+ <%--<label class="layui-form-label">规模类型:</label>--%>
|
|
|
+ <%--<div class="layui-input-block">--%>
|
|
|
+ <%--<form:select path="scaleType" class="form-control editable-select layui-input" id="scaleType" value="${scaleType}">--%>
|
|
|
+ <%--<form:option value=""/>--%>
|
|
|
+ <%--<form:options items="${fns:getMainDictList('scale_type')}" itemLabel="label" itemValue="label" htmlEscape="false"/>--%>
|
|
|
+ <%--</form:select>--%>
|
|
|
+ <%--</div>--%>
|
|
|
+ <%--</div>--%>
|
|
|
+ <%--<div class="layui-item layui-col-sm6 lw7">--%>
|
|
|
+ <%--<label class="layui-form-label">规模单位:</label>--%>
|
|
|
+ <%--<div class="layui-input-block">--%>
|
|
|
+ <%--<form:select path="scaleUnit" class="form-control editable-select layui-input" id="scaleUnit" value="${scaleUnit}">--%>
|
|
|
+ <%--<form:option value=""/>--%>
|
|
|
+ <%--<form:options items="${fns:getMainDictList('scale_unit')}" itemLabel="label" itemValue="label" htmlEscape="false"/>--%>
|
|
|
+ <%--</form:select>--%>
|
|
|
+ <%--</div>--%>
|
|
|
+ <%--</div>--%>
|
|
|
+ <%--<div class="layui-item layui-col-sm6 lw7">--%>
|
|
|
+ <%--<label class="layui-form-label">规模数量:</label>--%>
|
|
|
+ <%--<div class="layui-input-block">--%>
|
|
|
+ <%--<form:input path="scaleQuantity" htmlEscape="false" class="form-control number layui-input"/>--%>
|
|
|
+ <%--</div>--%>
|
|
|
+ <%--</div>--%>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label">项目所在地:</label>
|
|
|
+ <div class="layui-input-block with-icon">
|
|
|
+ <sys:treeselect id="area" name="area.id" value="${projectRecords.area.id}" labelName="area.name" labelValue="${projectRecords.area.name}"
|
|
|
+ title="区域" url="/sys/area/treeData" cssClass="form-control layui-input" allowClear="true" notAllowSelectParent="true"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label">所在省份:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="province" htmlEscape="false" id="province" class="form-control layui-input" readonly="true"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label">所在地级市:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="city" htmlEscape="false" id="city" class="form-control layui-input" readonly="true"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label">所在区县:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="county" htmlEscape="false" id="county" class="form-control layui-input" readonly="true"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label">建设地点:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="projectSite" htmlEscape="false" class="form-control layui-input"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label"><span class="require-item">*</span>项目负责人:</label>
|
|
|
+ <div class="layui-input-block with-icon">
|
|
|
+ <sys:treeselectt id="master" name="projectLeaders" value="${projectRecords.leaderIds}" labelName="leaderNameStr" labelValue="${projectRecords.leaderNameStr}"
|
|
|
+ title="用户" url="/sys/office/treeDataAll?type=3" checked="true" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label">创建人:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="createBy.name" htmlEscape="false" readonly="true" class="form-control layui-input"/>
|
|
|
+ <form:hidden path="createBy.id" htmlEscape="false" readonly="true" class="form-control layui-input"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label">创建日期:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <input id="createDate" name="createDate" htmlEscape="false" value="<fmt:formatDate value="${projectRecords.createDate}" pattern="yyyy-MM-dd"/>" readonly="readonly" class="form-control required layui-input"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label">工程结构:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:select path="projectStructure" class="form-control editable-select layui-input" id="projectStructure" value="${projectStructure}">
|
|
|
+ <form:option value=""/>
|
|
|
+ <form:options items="${fns:getMainDictList('project_structure')}" itemLabel="label" itemValue="label" htmlEscape="false"/>
|
|
|
+ </form:select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label">地上层数:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="onGroundNum" htmlEscape="false" class="form-control layui-input number"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label">底下层数:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="underGroundNum" htmlEscape="false" class="form-control layui-input number"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label double-line"><span class="require-item">*</span>建筑面积或规模:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="buildingScale" htmlEscape="false" class="form-control layui-input required number" onchange="getFee()"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label">计量单位:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:select path="measuringUnit" class="form-control editable-select layui-input" id="measuringUnit" value="${measuringUnit}">
|
|
|
+ <form:option value=""/>
|
|
|
+ <form:options items="${fns:getMainDictList('scale_unit')}" itemLabel="label" itemValue="label" htmlEscape="false"/>
|
|
|
+ </form:select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label">工程用途:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:select path="projectUse" class="form-control editable-select layui-input" id="projectUse" value="${projectUse}">
|
|
|
+ <form:option value=""/>
|
|
|
+ <form:options items="${fns:getMainDictList('project_use')}" itemLabel="label" itemValue="label" htmlEscape="false"/>
|
|
|
+ </form:select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label double-line"><span class="require-item">*</span>咨询标的额(万元):</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="totalFees" htmlEscape="false" id="totalFees" class="form-control layui-input required number" onchange="getFee()"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label double-line">其中土建造价(万元):</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="buildingFees" htmlEscape="false" id="buildingFees" class="form-control layui-input" onchange="getBudlingFees()"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label double-line">其中安装造价(万元):</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="installFees" htmlEscape="false" id="installFees" class="form-control layui-input" onchange="getInstallFees()"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label double-line">其中土建百分比(%):</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="buildingPercent" htmlEscape="false" id="buildingPercent" class="form-control layui-input" readonly="true"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label double-line">其中安装百分比(%):</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="installPercent" htmlEscape="false" id="installPercent" class="form-control layui-input" readonly="true"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label">单位造价(元):</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="unitFees" htmlEscape="false" id="unitFees" class="form-control layui-input" readonly="true"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label double-line">土建单位造价(元):</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="buildingUnitFees" htmlEscape="false" id="buildingUnitFees" class="form-control layui-input" readonly="true"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label double-line">安装单位造价(元):</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="installUnitFees" htmlEscape="false" id="installUnitFees" class="form-control layui-input" readonly="true"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7 with-textarea">
|
|
|
+ <label class="layui-form-label"><span class="require-item">*</span>工程概况:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:textarea path="projectDesc" htmlEscape="false" rows="4" maxlength="255" class="form-control required"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7 with-textarea">
|
|
|
+ <label class="layui-form-label ">特殊要求:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:textarea path="remarks" htmlEscape="false" rows="4" maxlength="255" class="form-control "/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="form-group layui-row">
|
|
|
+ <div class="form-group-label"><h2><span class="require-item">*</span>委托方联系人信息</h2></div>
|
|
|
+ <div class="layui-item nav-btns">
|
|
|
+ <sys:gridselect1 url="${ctx}/workclientinfo/workClientInfo/linkmanList" id="linkman" name="linkman.id" title="选择客户" value="${projectRecords.workContractInfo.workClinetInfoIds}"
|
|
|
+ cssClass="form-control required" fieldLabels="联系人" fieldKeys="name" searchLabel="联系人" searchKey="name"></sys:gridselect1>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-xs12 form-table-container">
|
|
|
+ <table id="contentTable" class="table table-bordered table-condensed details">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <th class="hide"></th>
|
|
|
+ <th width="20%">委托方</th>
|
|
|
+ <th width="20%">联系人姓名</th>
|
|
|
+ <th width="20%">联系方式1</th>
|
|
|
+ <th width="20%">联系方式2</th>
|
|
|
+ <th width="20%">操作</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody id="workClientLinkmanList">
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ <script type="text/template" id="workClientLinkmanTpl">//<!--
|
|
|
+ <tr id="workClientLinkmanList{{idx}}">
|
|
|
+ <td class="hide">
|
|
|
+ <input id="workClientLinkmanList{{idx}}_id" name="workClientLinkmanList[{{idx}}].id" type="hidden" value="{{row.id}}" class="clientId"/>
|
|
|
+ <input id="workClientLinkmanList{{idx}}_delFlag" name="workClientLinkmanList[{{idx}}].delFlag" type="hidden" value="0"/>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <input id="workClientLinkmanList{{idx}}_cid" name = "workClientLinkmanList[{{idx}}].clientId.id" type="hidden" value="{{row.clientId.id}}"/>
|
|
|
+ {{row.clientId.name}}
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ {{row.name}}
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ {{row.linkPhone}}
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ {{row.linkMobile}}
|
|
|
+ </td>
|
|
|
+ <td class="op-td">
|
|
|
+ {{#delBtn}}<span class="op-btn op-btn-delete" onclick="delRow(this, '#workClientLinkmanList{{idx}}')" title="删除"><i class="fa fa-trash"></i> 删除</span>{{/delBtn}}
|
|
|
+ </td>
|
|
|
+ </tr>//-->
|
|
|
+ </script>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="form-group layui-row">
|
|
|
+ <div class="form-group-label"><h2><span class="require-item">*</span>施工方信息</h2></div>
|
|
|
+ <div class="layui-item nav-btns">
|
|
|
+ <sys:gridselectClientLink url="${ctx}/workclientinfo/workClientInfo/clientInfolist" id="constructionOrgList" title="选择施工单位"
|
|
|
+ cssClass="form-control required" fieldLabels="客户编号" fieldKeys="name" searchLabel="客户名称" searchKey="name"></sys:gridselectClientLink>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-xs12 form-table-container">
|
|
|
+ <table id="contentTable2" class="table table-bordered table-condensed details">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <th class="hide"></th>
|
|
|
+ <th style="text-align: center" width="20%">施工方单位名称</th>
|
|
|
+ <th style="text-align: center" width="20%">联系人姓名</th>
|
|
|
+ <th style="text-align: center" width="20%">联系方式1</th>
|
|
|
+ <th style="text-align: center" width="20%">联系方式2</th>
|
|
|
+ <th width="20%">操作</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody id="workConstructionLinkmanList">
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ <script type="text/template" id="workConstructionLinkmanTpl">//<!--
|
|
|
+ <tr id="workConstructionLinkmanList{{idx}}">
|
|
|
+ <td class="hide">
|
|
|
+ <input id="workConstructionLinkmanList{{idx}}_id" name="workConstructionLinkmanList[{{idx}}].id" type="hidden" value="{{row.id}}" class="linkmanId"/>
|
|
|
+ <input id="workConstructionLinkmanList{{idx}}_delFlag" name="workConstructionLinkmanList[{{idx}}].delFlag" type="hidden" value="0"/>
|
|
|
+ </td>
|
|
|
+ <td style="text-align: center">
|
|
|
+ <input id="workConstructionLinkmanList{{idx}}_cid" name = "workConstructionLinkmanList[{{idx}}].clientId.id" type="hidden" value="{{row.clientId.id}}"/>
|
|
|
+ {{row.clientId.name}}
|
|
|
+ </td>
|
|
|
+ <td style="text-align: center">
|
|
|
+ {{row.name }}
|
|
|
+ </td>
|
|
|
+ <td style="text-align: center">
|
|
|
+ {{row.linkPhone}}
|
|
|
+ </td>
|
|
|
+ <td style="text-align: center">
|
|
|
+ {{row.linkMobile}}
|
|
|
+ </td>
|
|
|
+ <td class="text-center" width="10">
|
|
|
+ {{#delBtn}}<span class="op-btn op-btn-delete" onclick="delRow(this, '#workConstructionLinkmanList{{idx}}')" title="删除"><i class="fa fa-trash"></i> 删除</span>{{/delBtn}}
|
|
|
+ </td>
|
|
|
+ </tr>//-->
|
|
|
+ </script>
|
|
|
+
|
|
|
+ <script>
|
|
|
+ var workClientLinkmanRowIdx = 0, workClientLinkmanTpl = $("#workClientLinkmanTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
|
|
|
+ var workConstructionLinkmanRowIdx = 0, workConstructionLinkmanTpl = $("#workConstructionLinkmanTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
|
|
|
+ $(document).ready(function() {
|
|
|
+ var data = ${fns:toJson(projectRecords.workClientLinkmanList)};
|
|
|
+ for (var i=0; i<data.length; i++){
|
|
|
+ addRow('#workClientLinkmanList', workClientLinkmanRowIdx, workClientLinkmanTpl, data[i]);
|
|
|
+ workClientLinkmanRowIdx = workClientLinkmanRowIdx + 1;
|
|
|
+ }
|
|
|
+ var dataBank = ${fns:toJson(projectRecords.workConstructionLinkmanList)};
|
|
|
+ for (var i=0; i<dataBank.length; i++){
|
|
|
+ addRow('#workConstructionLinkmanList', workConstructionLinkmanRowIdx, workConstructionLinkmanTpl, dataBank[i]);
|
|
|
+ workConstructionLinkmanRowIdx = workConstructionLinkmanRowIdx + 1;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ </script>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="form-group layui-row">
|
|
|
+ <div class="form-group-label"><h2><span class="require-item">*</span>项目计划附件信息</h2></div>
|
|
|
+ <div class="layui-item nav-btns">
|
|
|
+ <a id="attachment_btn" class="nav-btn nav-btn-add" title="添加附件" onclick="addFile()"><i class="fa fa-plus"></i> 添加附件</a>
|
|
|
+ </div>
|
|
|
+ <div id="addFile_attachment" style="display: none" class="upload-progress">
|
|
|
+ <span id="fileName_attachment" ></span>
|
|
|
+ <b><span id="baifenbi_attachment" ></span></b>
|
|
|
+ <div class="progress">
|
|
|
+ <div id="jindutiao_attachment" class="progress-bar" style="width: 0%" aria-valuenow="0">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <input id="attachment_file" type="file" name="attachment_file" multiple="multiple" style="display: none;" onChange="if(this.value)insertTitle(this.value);"/>
|
|
|
+ <span id="attachment_title"></span>
|
|
|
+ <div class="layui-item layui-col-xs12 form-table-container">
|
|
|
+ <table id="listAttachment" class="table table-bordered table-condensed details">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <%-- <th>序号</th>--%>
|
|
|
+ <th width="25%">文件</th>
|
|
|
+ <th width="25%">上传人</th>
|
|
|
+ <th width="25%">上传时间</th>
|
|
|
+ <th width="25%">操作</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody id="file_attachment">
|
|
|
+ <c:forEach items="${projectRecords.workAttachments}" var = "workClientAttachment" varStatus="status">
|
|
|
+ <tr class="trIdAdds">
|
|
|
+ <%-- <td>${status.index + 1}</td>--%>
|
|
|
+ <c:choose>
|
|
|
+ <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')
|
|
|
+ or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')
|
|
|
+ or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')
|
|
|
+ or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')
|
|
|
+ or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">
|
|
|
+ <td><img src="${workClientAttachment.url}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.url}','90%','90%')" alt="${workClientAttachment.attachmentName}">
|
|
|
+ </c:when>
|
|
|
+ <c:otherwise>
|
|
|
+ <c:choose>
|
|
|
+ <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
|
|
|
+ <td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%','1')">${workClientAttachment.attachmentName}</a></td>
|
|
|
+ </c:when>
|
|
|
+ <c:otherwise>
|
|
|
+ <td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%')">${workClientAttachment.attachmentName}</a></td>
|
|
|
+ </c:otherwise>
|
|
|
+ </c:choose>
|
|
|
+ </c:otherwise>
|
|
|
+ </c:choose>
|
|
|
+ <td>${workClientAttachment.createBy.name}</td>
|
|
|
+ <td><fmt:formatDate value="${workClientAttachment.createDate}" type="both"/></td>
|
|
|
+ <td class="op-td">
|
|
|
+ <div class="op-btn-box" >
|
|
|
+ <a href="javascript:location.href='${ctx}/workfullmanage/workFullManage/downLoadAttach?file='+encodeURIComponent(encodeURIComponent('${workClientAttachment.url}'));" class="op-btn op-btn-download"><i class="fa fa-download"></i> 下载</a>
|
|
|
+ <a href="javascript:void(0)" onclick="deleteFileFromAliyun(this,'${ctx}/sys/workattachment/deleteFileFromAliyun?url=${workClientAttachment.url}&id=${workClientAttachment.id}&type=2','addFile')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i> 删除</a>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </c:forEach>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="form-group layui-row">
|
|
|
+ <div class="form-group-label"><h2>项目组成员列表</h2></div>
|
|
|
+ <div class="layui-item layui-col-xs12 form-table-container">
|
|
|
+ <table id="usersListTable" class="table table-bordered table-condensed details">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <th width="25%">姓名</th>
|
|
|
+ <th width="25%">部门</th>
|
|
|
+ <th width="25%">职级</th>
|
|
|
+ <th width="25%">状态</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody id="usersList">
|
|
|
+ <c:if test="${not empty projectRecords.projectMembers}">
|
|
|
+ <c:forEach items="${projectRecords.projectMembers}" var="user">
|
|
|
+ <tr id="${user.id}">
|
|
|
+ <td>
|
|
|
+ ${user.name}
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ ${user.office.name}
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ ${user.basicInfo.jobGrade.name}
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <c:choose>
|
|
|
+ <c:when test="${user.delFlag == 0}">
|
|
|
+ 正常
|
|
|
+ </c:when>
|
|
|
+ <c:otherwise>
|
|
|
+ 移除
|
|
|
+ </c:otherwise>
|
|
|
+ </c:choose>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </c:forEach>
|
|
|
+ </c:if>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="form-group layui-row page-end"></div>
|
|
|
+ </form:form>
|
|
|
+ </div>
|
|
|
+</div>
|
|
|
+
|
|
|
+</body>
|
|
|
+</html>
|