Browse Source

设计概算和施工图页面展示根据类型选择表格功能

user5 5 năm trước cách đây
mục cha
commit
1afc9271c2
18 tập tin đã thay đổi với 940 bổ sung326 xóa
  1. 19 22
      src/main/java/com/jeeplus/modules/projectcontentinfo/web/ProjectcontentinfoController.java
  2. 5 1
      src/main/java/com/jeeplus/modules/workcontent/common/WorkContentDetailFactory.java
  3. 6 0
      src/main/java/com/jeeplus/modules/workcontent/dao/WorkContentCtrlpriceDao.java
  4. 6 0
      src/main/java/com/jeeplus/modules/workcontent/dao/WorkContentInvestmentCostDao.java
  5. 7 0
      src/main/java/com/jeeplus/modules/workcontent/entity/WorkContentCtrlprice.java
  6. 10 3
      src/main/java/com/jeeplus/modules/workcontent/entity/WorkContentInvestmentCost.java
  7. 9 0
      src/main/java/com/jeeplus/modules/workcontent/service/WorkContentCtrlpriceService.java
  8. 9 0
      src/main/java/com/jeeplus/modules/workcontent/service/WorkContentInvestmentCostService.java
  9. 19 3
      src/main/java/com/jeeplus/modules/workcontent/web/WorkContentCtrlpriceController.java
  10. 20 1
      src/main/java/com/jeeplus/modules/workcontent/web/WorkContentInvestmentCostController.java
  11. 19 7
      src/main/resources/mappings/modules/workcontent/WorkContentCtrlpriceDao.xml
  12. 18 9
      src/main/resources/mappings/modules/workcontent/WorkContentInvestmentCostDao.xml
  13. 243 67
      src/main/webapp/webpage/modules/projectcontentinfo/workContentForm.jsp
  14. 285 6
      src/main/webapp/webpage/modules/projectcontentinfo/workContentView.jsp
  15. 55 35
      src/main/webapp/webpage/modules/workcontent/workContentCtrlpriceList.jsp
  16. 30 22
      src/main/webapp/webpage/modules/workcontent/workContentCtrlpriceListView.jsp
  17. 79 83
      src/main/webapp/webpage/modules/workcontent/workContentInvestmentCostList.jsp
  18. 101 67
      src/main/webapp/webpage/modules/workcontent/workContentInvestmentCostListView.jsp

+ 19 - 22
src/main/java/com/jeeplus/modules/projectcontentinfo/web/ProjectcontentinfoController.java

@@ -1473,30 +1473,27 @@ public class ProjectcontentinfoController extends BaseController {
 	@RequestMapping("getAchievementTypeList2")
 	@ResponseBody
 	public AjaxJson getAchievementTypeList2(String achievementParentId,Integer type){
-		AjaxJson ajaxJson = new AjaxJson();
-		try {
-			List<MainDictDetail> getAchievementTypeList = projectcontentinfoService.getAchievementTypeList(achievementParentId,type);
-			List<Map<String,Object>> mapList= new ArrayList<>();
-			for (int i =0; i<getAchievementTypeList.size(); i++){
-				Map<String,Object> map = new HashMap<>();
-				map.put("name",getAchievementTypeList.get(i).getLabel());
-				map.put("value",getAchievementTypeList.get(i).getValue());
-				/*Map<String,Object> maps = new HashMap<>();
-				maps.put("level",0);
-				maps.put("loading",null);
-				maps.put("parent",null);
-				map.put("_node",maps);
-				String mapToString = getMapToString(map);*/
-				mapList.add(map);
+		if(StringUtils.isNotBlank(achievementParentId)) {
+			AjaxJson ajaxJson = new AjaxJson();
+			try {
+				List<MainDictDetail> getAchievementTypeList = projectcontentinfoService.getAchievementTypeList(achievementParentId, type);
+				List<Map<String, Object>> mapList = new ArrayList<>();
+				for (int i = 0; i < getAchievementTypeList.size(); i++) {
+					Map<String, Object> map = new HashMap<>();
+					map.put("name", getAchievementTypeList.get(i).getLabel());
+					map.put("value", getAchievementTypeList.get(i).getValue());
+					mapList.add(map);
+				}
+				ajaxJson.getBody().put("list", mapList);
+				ajaxJson.setMsg("获取数据成功");
+			} catch (Exception e) {
+				logger.error("获取数据异常!", e);
+				ajaxJson.setSuccess(false);
+				ajaxJson.setMsg("获取数据异常");
 			}
-			ajaxJson.getBody().put("list",mapList);
-			ajaxJson.setMsg("获取数据成功");
-		}catch (Exception e){
-			logger.error("获取数据异常!",e);
-			ajaxJson.setSuccess(false);
-			ajaxJson.setMsg("获取数据异常");
+			return ajaxJson;
 		}
-		return ajaxJson;
+		return null;
 	}
 
 	/**

+ 5 - 1
src/main/java/com/jeeplus/modules/workcontent/common/WorkContentDetailFactory.java

@@ -2,11 +2,14 @@ package com.jeeplus.modules.workcontent.common;
 
 import com.jeeplus.common.utils.SpringContextHolder;
 import com.jeeplus.modules.workcontent.service.*;
+import org.aspectj.apache.bcel.generic.RET;
 
 public class WorkContentDetailFactory {
 
     //工程费用Service
     private static WorkContentInvestmentCostService investmentCostService = SpringContextHolder.getBean(WorkContentInvestmentCostService.class);
+    //设计概算编制审核调整Service
+    private static WorkPreliminaryDesignEstimateService preliminaryDesignEstimateService = SpringContextHolder.getBean(WorkPreliminaryDesignEstimateService.class);
     //认价管理Service
     private static WorkContentPricemanageService pricemanageService = SpringContextHolder.getBean(WorkContentPricemanageService.class);
     //资金计划Service
@@ -38,8 +41,9 @@ public class WorkContentDetailFactory {
 
     public static WorkContentDetailBaseService getDetailService(String type){
         switch (type){
-            case "13":
             case "22":
+                return preliminaryDesignEstimateService;
+            case "13":
             case "25":
                 return investmentCostService;
             case "31":

+ 6 - 0
src/main/java/com/jeeplus/modules/workcontent/dao/WorkContentCtrlpriceDao.java

@@ -20,4 +20,10 @@ public interface WorkContentCtrlpriceDao extends CrudDao<WorkContentCtrlprice> {
 
     void batchInsert(List<WorkContentCtrlprice> newRecords);
 
+    /**
+     * 查询数据表中的所有数据类型
+     * @return
+     */
+    List<String> getTableType(String contentId);
+
 }

+ 6 - 0
src/main/java/com/jeeplus/modules/workcontent/dao/WorkContentInvestmentCostDao.java

@@ -27,4 +27,10 @@ public interface WorkContentInvestmentCostDao extends CrudDao<WorkContentInvestm
      * @return
      */
     int deleteByContentId(String contentId);
+
+    /**
+     * 查询数据表中的所有数据类型
+     * @return
+     */
+    List<String> getTableType(String contentId);
 }

+ 7 - 0
src/main/java/com/jeeplus/modules/workcontent/entity/WorkContentCtrlprice.java

@@ -31,6 +31,7 @@ public class WorkContentCtrlprice extends DataEntity<WorkContentCtrlprice> {
 	private Double highestBidAfter;		// 工程量清单最高投标限价评审后
 	@NumberFormat(style = NumberFormat.Style.CURRENCY)
 	private Double highestBidAdjust;		// 工程量清单最高投标限价调整额
+	private String type;          //数据状态
 
 	public WorkContentCtrlprice() {
 		super();
@@ -118,7 +119,13 @@ public class WorkContentCtrlprice extends DataEntity<WorkContentCtrlprice> {
 		this.highestBidAdjust = highestBidAdjust;
 	}
 
+	public String getType() {
+		return type;
+	}
 
+	public void setType(String type) {
+		this.type = type;
+	}
 	/*private static final long serialVersionUID = 1L;
 	private String projectId;		// 项目id
 	private String contentId;		// 工作内容ID

+ 10 - 3
src/main/java/com/jeeplus/modules/workcontent/entity/WorkContentInvestmentCost.java

@@ -33,11 +33,12 @@ public class WorkContentInvestmentCost extends DataEntity<WorkContentInvestmentC
     @NumberFormat(style = NumberFormat.Style.CURRENCY)
 	private Double examineCount;		// 建安工程施工图预算静态投资(万元)-审批后-合计
 	@NumberFormat(style = NumberFormat.Style.CURRENCY)
-	private Integer examineAdjustUnit;		// 建安工程施工图预算静态投资(万元)-调整额
+	private String examineAdjustUnit;		// 建安工程施工图预算静态投资(万元)-调整额
 	private String amount;		// 与初步设计相比有无重大变化-数量
 	@NumberFormat(style = NumberFormat.Style.CURRENCY)
 	private String money;		// 与初步设计相比有无重大变化-金额
 	private String cause;		// 与初步设计相比有无重大变化-原因
+	private String type;          //数据状态
 	
 	public WorkContentInvestmentCost() {
 		super();
@@ -128,11 +129,11 @@ public class WorkContentInvestmentCost extends DataEntity<WorkContentInvestmentC
 	}
 
 	@ExcelField(title="调整额", align=2, sort=17)
-	public Integer getExamineAdjustUnit() {
+	public String getExamineAdjustUnit() {
 		return examineAdjustUnit;
 	}
 
-	public void setExamineAdjustUnit(Integer examineAdjustUnit) {
+	public void setExamineAdjustUnit(String examineAdjustUnit) {
 		this.examineAdjustUnit = examineAdjustUnit;
 	}
 
@@ -163,7 +164,13 @@ public class WorkContentInvestmentCost extends DataEntity<WorkContentInvestmentC
 		this.cause = cause;
 	}
 
+	public String getType() {
+		return type;
+	}
 
+	public void setType(String type) {
+		this.type = type;
+	}
 	/*private static final long serialVersionUID = 1L;
 	private String projectId;		// 项目id
 	private String contentId;		// 工作内容ID

+ 9 - 0
src/main/java/com/jeeplus/modules/workcontent/service/WorkContentCtrlpriceService.java

@@ -66,4 +66,13 @@ public class WorkContentCtrlpriceService extends CrudService<WorkContentCtrlpric
         }
     }
 
+    /**
+     * 查询数据表中的所有数据类型
+     * @return
+     */
+    public List<String> getTableType(String contentId){
+        List<String> tableType = dao.getTableType(contentId);
+        return tableType;
+    }
+
 }

+ 9 - 0
src/main/java/com/jeeplus/modules/workcontent/service/WorkContentInvestmentCostService.java

@@ -65,4 +65,13 @@ public class WorkContentInvestmentCostService extends CrudService<WorkContentInv
         }
     }
 
+	/**
+	 * 查询数据表中的所有数据类型
+	 * @return
+	 */
+	public List<String> getTableType(String contentId){
+		List<String> tableType = dao.getTableType(contentId);
+		return tableType;
+	}
+
 }

+ 19 - 3
src/main/java/com/jeeplus/modules/workcontent/web/WorkContentCtrlpriceController.java

@@ -24,6 +24,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -64,7 +65,13 @@ public class WorkContentCtrlpriceController extends BaseController {
      * 查看,增加,编辑  清单及控制价编审表单页面
      */
     @RequestMapping(value = "form")
-    public String form(WorkContentCtrlprice workContentCtrlprice, String view,Model model) {
+    public String form(WorkContentCtrlprice workContentCtrlprice, String view, HttpServletRequest request,Model model) {
+		String sign = request.getParameter("sign");
+		List<String> signList = new ArrayList();
+		if (StringUtils.isNotBlank(sign)){
+			signList = Arrays.asList(sign.split(","));
+		}
+		model.addAttribute("signList", signList);
         List<WorkContentCtrlprice> ctrlpricelist = new ArrayList<>();
         if(StringUtils.isNotBlank(workContentCtrlprice.getContentId())){
             ctrlpricelist = workContentCtrlpriceService.findList(workContentCtrlprice);
@@ -142,8 +149,17 @@ public class WorkContentCtrlpriceController extends BaseController {
 		}
 		return "redirect:"+Global.getAdminPath()+"/workcontentctrlprice/workContentCtrlprice/?repage";
     }
-	
-	
+
+	/**
+	 * 查询数据表中的所有数据类型
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping(value = "getTableType", method=RequestMethod.POST)
+	public List<String> getTableType(String contentId){
+		List<String> tableType = workContentCtrlpriceService.getTableType(contentId);
+		return tableType;
+	}
 	
 
 }

+ 20 - 1
src/main/java/com/jeeplus/modules/workcontent/web/WorkContentInvestmentCostController.java

@@ -9,6 +9,7 @@ import com.jeeplus.common.utils.StringUtils;
 import com.jeeplus.common.utils.excel.ExportExcel;
 import com.jeeplus.common.utils.excel.ImportExcel;
 import com.jeeplus.common.web.BaseController;
+import com.jeeplus.modules.projectcontentinfo.service.ProjectcontentinfoService;
 import com.jeeplus.modules.sys.entity.MainDictDetail;
 import com.jeeplus.modules.sys.utils.DictUtils;
 import com.jeeplus.modules.workcontent.entity.WorkContentInvestmentCost;
@@ -24,6 +25,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -56,10 +58,16 @@ public class WorkContentInvestmentCostController extends BaseController {
 	/*@RequiresPermissions("workcontentinvestmentcost:workContentInvestmentCost:list")*/
 	@RequestMapping(value = {"list", ""})
 	public String list(WorkContentInvestmentCost workContentInvestmentCost,String view, HttpServletRequest request, HttpServletResponse response, Model model) {
-        List<WorkContentInvestmentCost> list = new ArrayList<>();
+		String sign = request.getParameter("sign");
+		List<String> signList = new ArrayList();
+		if (StringUtils.isNotBlank(sign)){
+			signList = Arrays.asList(sign.split(","));
+		}
+		List<WorkContentInvestmentCost> list = new ArrayList<>();
         if(StringUtils.isNotBlank(workContentInvestmentCost.getContentId())){
             list = workContentInvestmentCostService.findList(workContentInvestmentCost);
         }
+        model.addAttribute("signList", signList);
         model.addAttribute("investmentCostList", list);
         String viewPath = "modules/workcontent/workContentInvestmentCostList";
         if("view".equals(view)){
@@ -114,5 +122,16 @@ public class WorkContentInvestmentCostController extends BaseController {
 		}
 		return "redirect:"+Global.getAdminPath()+"/workcontentinvestmentcost/workContentInvestmentCost/?repage";
     }
+
+	/**
+	 * 查询数据表中的所有数据类型
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping(value = "getTableType", method=RequestMethod.POST)
+	public List<String> getTableType(String contentId){
+		List<String> tableType = workContentInvestmentCostService.getTableType(contentId);
+		return tableType;
+	}
 	
 }

+ 19 - 7
src/main/resources/mappings/modules/workcontent/WorkContentCtrlpriceDao.xml

@@ -21,7 +21,8 @@
 		a.construction_budget AS "constructionBudget",
 		a.highest_bid_before AS "highestBidBefore",
 		a.highest_bid_after AS "highestBidAfter",
-		a.highest_bid_adjust AS "highestBidAdjust"
+		a.highest_bid_adjust AS "highestBidAdjust",
+		a.type as "type"
 	</sql>
 
 
@@ -89,7 +90,8 @@
 		construction_budget,
 		highest_bid_before,
 		highest_bid_after,
-		highest_bid_adjust
+		highest_bid_adjust,
+		type
 		) VALUES (
 		#{id},
 		#{createBy.id},
@@ -106,7 +108,8 @@
 		#{constructionBudget},
 		#{highestBidBefore},
 		#{highestBidAfter},
-		#{highestBidAdjust}
+		#{highestBidAdjust},
+		#{type}
 		)
 	</insert>
 
@@ -127,7 +130,8 @@
 		construction_budget,
 		highest_bid_before,
 		highest_bid_after,
-		highest_bid_adjust
+		highest_bid_adjust,
+		type
 		) VALUES
 		<foreach collection="list" item="item" separator=",">
 			(#{item.id},
@@ -145,7 +149,9 @@
 			#{item.constructionBudget},
 			#{item.highestBidBefore},
 			#{item.highestBidAfter}),
-			#{item.highestBidAdjust})
+			#{item.highestBidAdjust},
+			#{item.type}
+			)
 		</foreach>
 	</insert>
 
@@ -157,13 +163,13 @@
 		project_id = #{projectId},
 		content_id = #{contentId},
 		inventory_type = #{inventoryType},
-		ctrl_num = #{ctrlNum},
 		construction_unit = #{constructionUnit},
 		project_name = #{projectName},
 		construction_budget = #{constructionBudget},
 		highest_bid_before = #{highestBidBefore},
 		highest_bid_after = #{highestBidAfter},
-		highest_bid_adjust = #{highestBidAdjust}
+		highest_bid_adjust = #{highestBidAdjust},
+		type = #{type}
 		WHERE id = #{id}
 	</update>
 
@@ -187,6 +193,12 @@
 		select * FROM work_content_bid_limit_price_info  where ${propertyName} = '${value}'
 	</select>
 
+	<select id="getTableType" resultType="java.lang.String">
+		select a.type from(
+			select DISTINCT(wcb.type) as type from work_content_bid_limit_price_info wcb where wcb.del_flag = 0 and wcb.content_id = #{contentId}
+		) a
+	</select>
+
 
 	<!--<sql id="workContentCtrlpriceColumns">
 		a.id AS "id",

+ 18 - 9
src/main/resources/mappings/modules/workcontent/WorkContentInvestmentCostDao.xml

@@ -22,7 +22,8 @@
 		a.examine_adjust_unit AS "examineAdjustUnit",
 		a.amount AS "amount",
 		a.money AS "money",
-		a.cause AS "cause"
+		a.cause AS "cause",
+		a.type as "type"
 	</sql>
 	
     
@@ -94,7 +95,8 @@
 			examine_adjust_unit,
 			amount,
 			money,
-			cause
+			cause,
+			type
 		) VALUES (
 			#{id},
 			#{createBy.id},
@@ -115,7 +117,8 @@
             #{examineAdjustUnit},
             #{amount},
             #{money},
-            #{cause}
+            #{cause},
+            #{type}
 		)
 	</insert>
 
@@ -140,7 +143,8 @@
 			examine_adjust_unit,
 			amount,
 			money,
-			cause
+			cause,
+			type
 		) VALUES
 		<foreach collection="list" item="item" separator=",">
             ( #{item.id},
@@ -162,7 +166,9 @@
             #{item.examineAdjustUnit},
             #{item.amount},
             #{item.money},
-            #{item.cause})
+            #{item.cause},
+            #{item.type}
+            )
         </foreach>
 	</insert>
 	
@@ -173,8 +179,6 @@
 			remarks = #{remarks},
 			project_id = #{projectId},
 			content_id = #{contentId},
-			cost_type = #{costType},
-			cost_num = #{costNum},
 			cost_name = #{costName},
 			caliber_budget_estimate_cost = #{caliberBudgetEstimateCost},
 			examine_before_cost = #{examineBeforeCost},
@@ -185,7 +189,8 @@
 			examine_adjust_unit = #{examineAdjustUnit},
 			amount = #{amount},
 			money = #{money},
-			cause = #{cause}
+			cause = #{cause},
+			type = #{type}
 		WHERE id = #{id}
 	</update>
 	
@@ -214,7 +219,11 @@
 		select * FROM work_content_working_plan_investment_cost  where ${propertyName} = '${value}'
 	</select>
 
-
+	<select id="getTableType" resultType="java.lang.String">
+		select a.type from(
+		select DISTINCT(wwpic.type) as type from work_content_working_plan_investment_cost wwpic where wwpic.del_flag = 0 and wwpic.content_id = #{contentId}
+		) a
+	</select>
 
 
 	<!--<sql id="workContentInvestmentCostColumns">

+ 243 - 67
src/main/webapp/webpage/modules/projectcontentinfo/workContentForm.jsp

@@ -165,64 +165,11 @@
         }
         
         function changeContentDetail(obj) {
+            $("#contentDetail").empty();
             var val = $(obj).val();
-            var param2 = {'contentId':"${projectcontentinfo.projectContentData.id}",'projectId':"${projectcontentinfo.project.id}"};
-            detailFlag=1;
-            switch (val){
-                case '13':
-                case '22':
-                case '25':
-                    $("#contentDetail").load("${ctx}/workcontentinvestmentcost/workContentInvestmentCost/list",param2);
-                    $("#contentDetailTypeDiv").show();
-                    contentDetailTypeShow(val);
-                    break;
-                case '31':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentContprogram/form",param2);
-                    break;
-                case '32':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentBiddingplan/form",param2);
-                    break;
-                case '34':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentCtrlprice/form",param2);
-                    break;
-                case '41':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentContractinfo/form",param2);
-                    break;
-                case '42':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentPricemanage/form",param2);
-                    break;
-                case '43':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentAltermanage/form",param2);
-                    break;
-                case '45':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentVisamanage/form",param2);
-                    break;
-                case '46':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentClaim/form",param2);
-                    break;
-                case '47':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentFundplan/form",param2);
-                    break;
-                case '48':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentProjectprice/form",param2);
-                    break;
-                case '49':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentPriceadjust/form",param2);
-                    break;
-                case '52':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentBudget/form",param2);
-                    break;
-                case '53':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentDocument/form",param2);
-                    break;
-                case '400':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentContractSum/form",param2);
-                    break;
-                default:
-                    detailFlag=0;
-                    $("#contentDetail").html("");
-                    break;
-            }
+            contentDetailTypeShow(val);
+            $("#contentDetailTypeDiv").show();
+            $("#projectContentDataSign").val(val);
 
         }
 
@@ -458,6 +405,7 @@
             <form:hidden path="projectContentData.id"/>
             <input type="hidden" id="contentDeta" name="projectContentData.contentDetail">
             <input type="hidden" id="dataBodyList" name="dataBodyList" value="">
+            <input type="hidden" id="projectContentDataSign" name="projectContentDataSign" value="">
             <sys:message content="${message}"/>
             <div class="form-group layui-row first lw12">
                 <div class="form-group-label"><h2>基本信息</h2></div>
@@ -516,10 +464,19 @@
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6" id="contentDetailTypeDiv" style="display: none">
-                    <label class="layui-form-label"><span class="require-item">*</span>选择类型:</label>
+                    <label class="layui-form-label">选择类型:</label>
+                    <%--<div class="layui-input-block">
+                        <div id="contentDetailType" class="xm-select-demo" tabindex="0" contenteditable="true"></div>
+                    </div>--%>
                     <div class="layui-input-block">
-                        <div id="contentDetailType" <%--onchange="this"--%> class="xm-select-demo" tabindex="0" contenteditable="true"></div>
-
+                        <div class="input-group">
+                            <div >
+                                <div id="contentDetailType" class="xm-select-demo" tabindex="0" contenteditable="true"></div>
+                            </div>
+                            <span class="input-group-btn" onclick="getDetailsNum()">
+								<label class="form-status">生成表格</label>
+							 </span>
+                        </div>
                     </div>
                 </div>
             </div>
@@ -863,6 +820,7 @@
 <script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
 <script>
     function contentDetailTypeShow(obj) {
+        var projectContentDataId = '${projectcontentinfo.projectContentData.id}';
         $.ajax({
             type:'post',
             url:'${ctx}/projectcontentinfo/projectcontentinfo/getAchievementTypeList2',
@@ -872,12 +830,67 @@
             },
             success:function(data){
                 if(data.success) {
-                    xmSelect.render({
-                        el: '#contentDetailType',
-                        language: 'zn',
-                        data:data.body.list
-                    })
-                    $("#dataBodyList").val(data.body.list);
+                    if (null != obj && "" != obj) {
+                        if(null !=projectContentDataId && ""!= projectContentDataId) {
+                            $.ajax({
+                                type: 'post',
+                                url: getExistingDataOnPath(obj),
+                                data: {
+                                    "contentId": "${projectcontentinfo.projectContentData.id}"
+                                },
+                                success: function (tableTypeList) {
+                                    var dataList = data.body.list;
+                                    var showList = [];
+                                    var showTypeList = [];
+                                    if (0 != dataList.length && 0 !=tableTypeList.length){
+                                        for (i in dataList) {
+                                            for (j in tableTypeList) {
+                                                if (dataList[i].value == tableTypeList[j]) {
+                                                    var newData = {
+                                                        "name": dataList[i].name,
+                                                        "value": dataList[i].value,
+                                                        "selected": true
+                                                    }
+                                                    showList.push(newData);
+                                                    showTypeList.push(dataList[i].value);
+                                                } else {
+                                                    showList.push(dataList[i]);
+                                                }
+                                                modifyGetDetailsNum(tableTypeList);
+                                            }
+                                        }
+                                        xmSelect.render({
+                                            el: '#contentDetailType',
+                                            language: 'zn',
+                                            data: showList
+                                        })
+                                        $("#dataBodyList").val(showList);
+                                    }else{
+                                        xmSelect.render({
+                                            el: '#contentDetailType',
+                                            language: 'zn',
+                                            data: dataList
+                                        })
+                                        $("#dataBodyList").val(showList);
+                                    }
+                                }
+                            })
+                        }else{
+                            xmSelect.render({
+                                el: '#contentDetailType',
+                                language: 'zn',
+                                data: data.body.list
+                            })
+                            $("#dataBodyList").val(data.body.list);
+                        }
+                    }else {
+                        xmSelect.render({
+                            el: '#contentDetailType',
+                            language: 'zn',
+                            data: data.body.list
+                        })
+                        $("#dataBodyList").val(data.body.list);
+                    }
                 }
             }
         })
@@ -889,16 +902,179 @@
         data: [
         ]
     })
+    
+    function getExistingDataOnPath(val) {
+        switch (val){
+            case '22':
+                return "${ctx}/workPreliminary/workPreliminaryDesignEstimate/getTableType";
+            case '13':
+            case '25':
+                return "${ctx}/workcontentinvestmentcost/workContentInvestmentCost/getTableType";
+            case '31':
+                return "${ctx}/workcontent/workContentContprogram/form";
+            case '32':
+                return "${ctx}/workcontent/workContentBiddingplan/form";
+            case '34':
+                return "${ctx}/workcontent/workContentCtrlprice/getTableType";
+            case '41':
+                return "${ctx}/workcontent/workContentContractinfo/form";
+            case '42':
+                return "${ctx}/workcontent/workContentPricemanage/form";
+            case '43':
+                return "${ctx}/workcontent/workContentAltermanage/form";
+            case '45':
+                return "${ctx}/workcontent/workContentVisamanage/form";
+            case '46':
+                return "${ctx}/workcontent/workContentClaim/form";
+            case '47':
+                return "${ctx}/workcontent/workContentFundplan/form";
+            case '48':
+                return "${ctx}/workcontent/workContentProjectprice/form";
+            case '49':
+                return "${ctx}/workcontent/workContentPriceadjust/form";
+            case '52':
+                return "${ctx}/workcontent/workContentBudget/form";
+            case '53':
+                return "${ctx}/workcontent/workContentDocument/form";
+            case '400':
+                return "${ctx}/workcontent/workContentContractSum/form";
+            default:
+                return "";
+        }
+    }
 
 
-    document.getElementById('contentDetailType').onblur=function(){
+    function getDetailsNum(){
         var list = [];
         //获取当前多选选中的值
         var selectArr = contentDetailType.getValue();
         for (var i in selectArr){
             list.push(selectArr[i].value);
         }
+        $("#contentDetail").val("");
+        console.log(list);
+        var val = $("#projectContentDataSign").val();
+        var param2 = {'contentId':"${projectcontentinfo.projectContentData.id}",'projectId':"${projectcontentinfo.project.id}",'sign':list.toString(),'achievementParentId':val};
+        detailFlag=1;
+        switch (val){
+            case '22':
+                $("#contentDetail").load("${ctx}/workPreliminary/workPreliminaryDesignEstimate/list",param2);
+                break;
+            case '13':
+            case '25':
+                $("#contentDetail").load("${ctx}/workcontentinvestmentcost/workContentInvestmentCost/list",param2);
+                break;
+            case '31':
+                $("#contentDetail").load("${ctx}/workcontent/workContentContprogram/form",param2);
+                break;
+            case '32':
+                $("#contentDetail").load("${ctx}/workcontent/workContentBiddingplan/form",param2);
+                break;
+            case '34':
+                $("#contentDetail").load("${ctx}/workcontent/workContentCtrlprice/form",param2);
+                break;
+            case '41':
+                $("#contentDetail").load("${ctx}/workcontent/workContentContractinfo/form",param2);
+                break;
+            case '42':
+                $("#contentDetail").load("${ctx}/workcontent/workContentPricemanage/form",param2);
+                break;
+            case '43':
+                $("#contentDetail").load("${ctx}/workcontent/workContentAltermanage/form",param2);
+                break;
+            case '45':
+                $("#contentDetail").load("${ctx}/workcontent/workContentVisamanage/form",param2);
+                break;
+            case '46':
+                $("#contentDetail").load("${ctx}/workcontent/workContentClaim/form",param2);
+                break;
+            case '47':
+                $("#contentDetail").load("${ctx}/workcontent/workContentFundplan/form",param2);
+                break;
+            case '48':
+                $("#contentDetail").load("${ctx}/workcontent/workContentProjectprice/form",param2);
+                break;
+            case '49':
+                $("#contentDetail").load("${ctx}/workcontent/workContentPriceadjust/form",param2);
+                break;
+            case '52':
+                $("#contentDetail").load("${ctx}/workcontent/workContentBudget/form",param2);
+                break;
+            case '53':
+                $("#contentDetail").load("${ctx}/workcontent/workContentDocument/form",param2);
+                break;
+            case '400':
+                $("#contentDetail").load("${ctx}/workcontent/workContentContractSum/form",param2);
+                break;
+            default:
+                detailFlag=0;
+                $("#contentDetail").html("");
+                break;
+        }
+
+    }
+
+    function modifyGetDetailsNum(list){
         console.log(list);
+        var val = $("#projectContentDataSign").val();
+        var param2 = {'contentId':"${projectcontentinfo.projectContentData.id}",'projectId':"${projectcontentinfo.project.id}",'sign':list.toString(),'achievementParentId':val};
+        detailFlag=1;
+        switch (val){
+            case '22':
+                $("#contentDetail").load("${ctx}/workPreliminary/workPreliminaryDesignEstimate/list",param2);
+                break;
+            case '13':
+            case '25':
+                $("#contentDetail").load("${ctx}/workcontentinvestmentcost/workContentInvestmentCost/list",param2);
+                break;
+            case '31':
+                $("#contentDetail").load("${ctx}/workcontent/workContentContprogram/form",param2);
+                break;
+            case '32':
+                $("#contentDetail").load("${ctx}/workcontent/workContentBiddingplan/form",param2);
+                break;
+            case '34':
+                $("#contentDetail").load("${ctx}/workcontent/workContentCtrlprice/form",param2);
+                break;
+            case '41':
+                $("#contentDetail").load("${ctx}/workcontent/workContentContractinfo/form",param2);
+                break;
+            case '42':
+                $("#contentDetail").load("${ctx}/workcontent/workContentPricemanage/form",param2);
+                break;
+            case '43':
+                $("#contentDetail").load("${ctx}/workcontent/workContentAltermanage/form",param2);
+                break;
+            case '45':
+                $("#contentDetail").load("${ctx}/workcontent/workContentVisamanage/form",param2);
+                break;
+            case '46':
+                $("#contentDetail").load("${ctx}/workcontent/workContentClaim/form",param2);
+                break;
+            case '47':
+                $("#contentDetail").load("${ctx}/workcontent/workContentFundplan/form",param2);
+                break;
+            case '48':
+                $("#contentDetail").load("${ctx}/workcontent/workContentProjectprice/form",param2);
+                break;
+            case '49':
+                $("#contentDetail").load("${ctx}/workcontent/workContentPriceadjust/form",param2);
+                break;
+            case '52':
+                $("#contentDetail").load("${ctx}/workcontent/workContentBudget/form",param2);
+                break;
+            case '53':
+                $("#contentDetail").load("${ctx}/workcontent/workContentDocument/form",param2);
+                break;
+            case '400':
+                $("#contentDetail").load("${ctx}/workcontent/workContentContractSum/form",param2);
+                break;
+            default:
+                detailFlag=0;
+                $("#contentDetail").html("");
+                break;
+        }
+
     }
 </script>
 </body>

+ 285 - 6
src/main/webapp/webpage/modules/projectcontentinfo/workContentView.jsp

@@ -4,6 +4,7 @@
 <head>
 	<title>工作内容详情</title>
 	<meta name="decorator" content="default"/>
+    <script src="${ctxStatic}/layer-v2.3/layui/xmSelect.js" charset="utf-8"></script>
 	<script type="text/javascript">
         $.fn.serializeJson=function(){
             var serializeObj={};
@@ -147,8 +148,15 @@
             var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate;
             return currentdate;
         }
+
+        function changeContentDetail(obj) {
+            contentDetailTypeShow(obj);
+            $("#contentDetailTypeDiv").show();
+            $("#projectContentDataSign").val(obj);
+
+        }
         
-        function changeContentDetail(val) {
+        /*function changeContentDetail(val) {
             var param2 = {'contentId':"${projectcontentinfo.projectContentData.id}",'projectId':"${projectcontentinfo.project.id}","view":"view"};
             detailFlag=1;
             switch (val){
@@ -205,7 +213,7 @@
                     break;
             }
 
-        }
+        }*/
 
         function addFile() {
             $("#attachment_file").click();
@@ -405,10 +413,11 @@
     <div class="container${container} view-form">
         <form:form id="inputForm" modelAttribute="projectcontentinfo" action="${ctx}/projectcontentinfo/projectcontentinfo/save?view=content" method="post" class="form-horizontal">
             <form:hidden path="id"/>
+            <input type="hidden" id="projectContentDataSign" name="projectContentDataSign" value="">
             <div class="form-group layui-row first lw12">
                 <div class="form-group-label"><h2>基本信息</h2></div>
                 <div class="layui-item layui-col-sm6">
-                    <label class="layui-form-label"><span class="require-item">*</span>工作内容类型:</label>
+                    <label class="layui-form-label">工作内容类型:</label>
                     <div class="layui-input-block">
                         <input htmlEscape="false" readonly="true" class="form-control layui-input" value="${fns:getContentTypeName(projectcontentinfo.projectContentData.type,"")}"/>
                     </div>
@@ -420,23 +429,33 @@
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6">
-                    <label class="layui-form-label"><span class="require-item">*</span>工作内容名称:</label>
+                    <label class="layui-form-label">工作内容名称:</label>
                     <div class="layui-input-block">
                         <input htmlEscape="false" readonly="true" class="form-control layui-input" value="${projectcontentinfo.projectContentData.name}"/>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6">
-                    <label class="layui-form-label"><span class="require-item">*</span>负责人:</label>
+                    <label class="layui-form-label">负责人:</label>
                     <div class="layui-input-block">
                         <input htmlEscape="false" readonly="true" class="form-control layui-input" value="${projectcontentinfo.projectContentData.master.name}"/>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6">
-                    <label class="layui-form-label"><span class="require-item">*</span>创建日期:</label>
+                    <label class="layui-form-label">创建日期:</label>
                     <div class="layui-input-block">
                         <input htmlEscape="false" readonly="true" class="form-control layui-input" value="<fmt:formatDate value="${projectcontentinfo.projectContentData.createDate}" pattern="yyyy-MM-dd"/>"/>
                     </div>
                 </div>
+                <div class="layui-item layui-col-sm6" id="contentDetailTypeDiv" style="display: none">
+                    <label class="layui-form-label">内容类型:</label>
+                    <div class="layui-input-block">
+                        <div class="input-group">
+                            <div >
+                                <div id="contentDetailType" style="pointer-events: none;" class="xm-select-demo" tabindex="0" contenteditable="true"></div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
             </div>
             <div class="form-group layui-row">
                 <div class="form-group-label"><h2>内容详情</h2></div>
@@ -713,5 +732,265 @@
         </form:form>
     </div>
 </div>
+<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
+<script>
+    function contentDetailTypeShow(obj) {
+        var projectContentDataId = '${projectcontentinfo.projectContentData.id}';
+        $.ajax({
+            type:'post',
+            url:'${ctx}/projectcontentinfo/projectcontentinfo/getAchievementTypeList2',
+            data:{
+                "achievementParentId":obj,
+                "type":2
+            },
+            success:function(data){
+                if(data.success) {
+                    if (null != obj && "" != obj) {
+                        if(null !=projectContentDataId && ""!= projectContentDataId) {
+                            $.ajax({
+                                type: 'post',
+                                url: getExistingDataOnPath(obj),
+                                data: {
+                                    "contentId": "${projectcontentinfo.projectContentData.id}"
+                                },
+                                success: function (tableTypeList) {
+                                    var dataList = data.body.list;
+                                    var showList = [];
+                                    var showTypeList = [];
+                                    if (0 != dataList.length && 0 !=tableTypeList.length){
+                                        for (i in dataList) {
+                                            for (j in tableTypeList) {
+                                                if (dataList[i].value == tableTypeList[j]) {
+                                                    var newData = {
+                                                        "name": dataList[i].name,
+                                                        "value": dataList[i].value,
+                                                        "selected": true
+                                                    }
+                                                    showList.push(newData);
+                                                    showTypeList.push(dataList[i].value);
+                                                } else {
+                                                    showList.push(dataList[i]);
+                                                }
+                                                modifyGetDetailsNum(tableTypeList);
+                                            }
+                                        }
+                                        xmSelect.render({
+                                            el: '#contentDetailType',
+                                            language: 'zn',
+                                            data: showList
+                                        })
+                                        $("#dataBodyList").val(showList);
+                                    }else{
+                                        xmSelect.render({
+                                            el: '#contentDetailType',
+                                            language: 'zn',
+                                            data: dataList
+                                        })
+                                        $("#dataBodyList").val(showList);
+                                    }
+                                }
+                            })
+                        }else{
+                            xmSelect.render({
+                                el: '#contentDetailType',
+                                language: 'zn',
+                                data: data.body.list
+                            })
+                            $("#dataBodyList").val(data.body.list);
+                        }
+                    }else {
+                        xmSelect.render({
+                            el: '#contentDetailType',
+                            language: 'zn',
+                            data: data.body.list
+                        })
+                        $("#dataBodyList").val(data.body.list);
+                    }
+                }
+            }
+        })
+    }
+
+    var contentDetailType = xmSelect.render({
+        el: '#contentDetailType',
+        language: 'zn',
+        data: [
+        ]
+    })
+
+    function getExistingDataOnPath(val) {
+        switch (val){
+            case '22':
+                return "${ctx}/workPreliminary/workPreliminaryDesignEstimate/getTableType";
+            case '13':
+            case '25':
+                return "${ctx}/workcontentinvestmentcost/workContentInvestmentCost/getTableType";
+            case '31':
+                return "${ctx}/workcontent/workContentContprogram/form";
+            case '32':
+                return "${ctx}/workcontent/workContentBiddingplan/form";
+            case '34':
+                return "${ctx}/workcontent/workContentCtrlprice/getTableType";
+            case '41':
+                return "${ctx}/workcontent/workContentContractinfo/form";
+            case '42':
+                return "${ctx}/workcontent/workContentPricemanage/form";
+            case '43':
+                return "${ctx}/workcontent/workContentAltermanage/form";
+            case '45':
+                return "${ctx}/workcontent/workContentVisamanage/form";
+            case '46':
+                return "${ctx}/workcontent/workContentClaim/form";
+            case '47':
+                return "${ctx}/workcontent/workContentFundplan/form";
+            case '48':
+                return "${ctx}/workcontent/workContentProjectprice/form";
+            case '49':
+                return "${ctx}/workcontent/workContentPriceadjust/form";
+            case '52':
+                return "${ctx}/workcontent/workContentBudget/form";
+            case '53':
+                return "${ctx}/workcontent/workContentDocument/form";
+            case '400':
+                return "${ctx}/workcontent/workContentContractSum/form";
+            default:
+                return "";
+        }
+    }
+
+
+    function getDetailsNum(){
+        var list = [];
+        //获取当前多选选中的值
+        var selectArr = contentDetailType.getValue();
+        for (var i in selectArr){
+            list.push(selectArr[i].value);
+        }
+        $("#contentDetail").val("");
+        console.log(list);
+        var val = $("#projectContentDataSign").val();
+        var param2 = {'contentId':"${projectcontentinfo.projectContentData.id}",'projectId':"${projectcontentinfo.project.id}",'sign':list.toString(),'achievementParentId':val};
+        detailFlag=1;
+        switch (val){
+            case '22':
+                $("#contentDetail").load("${ctx}/workPreliminary/workPreliminaryDesignEstimate/list",param2);
+                break;
+            case '13':
+            case '25':
+                $("#contentDetail").load("${ctx}/workcontentinvestmentcost/workContentInvestmentCost/list",param2);
+                break;
+            case '31':
+                $("#contentDetail").load("${ctx}/workcontent/workContentContprogram/form",param2);
+                break;
+            case '32':
+                $("#contentDetail").load("${ctx}/workcontent/workContentBiddingplan/form",param2);
+                break;
+            case '34':
+                $("#contentDetail").load("${ctx}/workcontent/workContentCtrlprice/form",param2);
+                break;
+            case '41':
+                $("#contentDetail").load("${ctx}/workcontent/workContentContractinfo/form",param2);
+                break;
+            case '42':
+                $("#contentDetail").load("${ctx}/workcontent/workContentPricemanage/form",param2);
+                break;
+            case '43':
+                $("#contentDetail").load("${ctx}/workcontent/workContentAltermanage/form",param2);
+                break;
+            case '45':
+                $("#contentDetail").load("${ctx}/workcontent/workContentVisamanage/form",param2);
+                break;
+            case '46':
+                $("#contentDetail").load("${ctx}/workcontent/workContentClaim/form",param2);
+                break;
+            case '47':
+                $("#contentDetail").load("${ctx}/workcontent/workContentFundplan/form",param2);
+                break;
+            case '48':
+                $("#contentDetail").load("${ctx}/workcontent/workContentProjectprice/form",param2);
+                break;
+            case '49':
+                $("#contentDetail").load("${ctx}/workcontent/workContentPriceadjust/form",param2);
+                break;
+            case '52':
+                $("#contentDetail").load("${ctx}/workcontent/workContentBudget/form",param2);
+                break;
+            case '53':
+                $("#contentDetail").load("${ctx}/workcontent/workContentDocument/form",param2);
+                break;
+            case '400':
+                $("#contentDetail").load("${ctx}/workcontent/workContentContractSum/form",param2);
+                break;
+            default:
+                detailFlag=0;
+                $("#contentDetail").html("");
+                break;
+        }
+
+    }
+
+    function modifyGetDetailsNum(list){
+        console.log(list);
+        var val = $("#projectContentDataSign").val();
+        var param2 = {'contentId':"${projectcontentinfo.projectContentData.id}",'projectId':"${projectcontentinfo.project.id}",'sign':list.toString(),'achievementParentId':val,'view':'view'};
+        detailFlag=1;
+        switch (val){
+            case '22':
+                $("#contentDetail").load("${ctx}/workPreliminary/workPreliminaryDesignEstimate/list",param2);
+                break;
+            case '13':
+            case '25':
+                $("#contentDetail").load("${ctx}/workcontentinvestmentcost/workContentInvestmentCost/list",param2);
+                break;
+            case '31':
+                $("#contentDetail").load("${ctx}/workcontent/workContentContprogram/form",param2);
+                break;
+            case '32':
+                $("#contentDetail").load("${ctx}/workcontent/workContentBiddingplan/form",param2);
+                break;
+            case '34':
+                $("#contentDetail").load("${ctx}/workcontent/workContentCtrlprice/form",param2);
+                break;
+            case '41':
+                $("#contentDetail").load("${ctx}/workcontent/workContentContractinfo/form",param2);
+                break;
+            case '42':
+                $("#contentDetail").load("${ctx}/workcontent/workContentPricemanage/form",param2);
+                break;
+            case '43':
+                $("#contentDetail").load("${ctx}/workcontent/workContentAltermanage/form",param2);
+                break;
+            case '45':
+                $("#contentDetail").load("${ctx}/workcontent/workContentVisamanage/form",param2);
+                break;
+            case '46':
+                $("#contentDetail").load("${ctx}/workcontent/workContentClaim/form",param2);
+                break;
+            case '47':
+                $("#contentDetail").load("${ctx}/workcontent/workContentFundplan/form",param2);
+                break;
+            case '48':
+                $("#contentDetail").load("${ctx}/workcontent/workContentProjectprice/form",param2);
+                break;
+            case '49':
+                $("#contentDetail").load("${ctx}/workcontent/workContentPriceadjust/form",param2);
+                break;
+            case '52':
+                $("#contentDetail").load("${ctx}/workcontent/workContentBudget/form",param2);
+                break;
+            case '53':
+                $("#contentDetail").load("${ctx}/workcontent/workContentDocument/form",param2);
+                break;
+            case '400':
+                $("#contentDetail").load("${ctx}/workcontent/workContentContractSum/form",param2);
+                break;
+            default:
+                detailFlag=0;
+                $("#contentDetail").html("");
+                break;
+        }
+
+    }
+</script>
 </body>
 </html>

+ 55 - 35
src/main/webapp/webpage/modules/workcontent/workContentCtrlpriceList.jsp

@@ -1,6 +1,22 @@
 <%@ page contentType="text/html;charset=UTF-8" %>
 <%@ include file="/webpage/include/taglib.jsp"%>
+<script>
+	function formatNumMoney(obj,index) {
+		var val = $(obj).val();
+		var highestBidBefore=$("#ctrlpriceList"+index+"_highestBidBefore").val();
+		var highestBidAfter=$("#ctrlpriceList"+index+"_highestBidAfter").val();
+		if(highestBidBefore==undefined||!isNumber(highestBidBefore)||highestBidBefore==''){
+			highestBidBefore=0;
+		}
+		if(highestBidAfter==undefined||!isNumber(highestBidAfter)||highestBidAfter==''){
+			highestBidAfter=0;
+		}
+		var total=(parseFloat(highestBidBefore) - parseFloat(highestBidAfter)).toFixed(2);
+		$("#ctrlpriceList"+index+"_highestBidAdjust").val(total);
 
+		if(!isNumber(val))return;
+	}
+</script>
 <div class="form-group layui-row lw12">
     <div class="layui-item layui-col-sm12">
         <label class="layui-form-label"><span class="require-item">*</span>清单类型:</label>
@@ -14,41 +30,45 @@
     </div>
 </div>
 <form id="subForm"  action="#" onsubmit="return false;" method="post" class="form-horizontal">
-    <div class="layui-item nav-btns" style="padding-left:0px;">
-        <a class="nav-btn nav-btn-add" onclick="addRow('#ctrlpriceList',ctrlpriceIdx,ctrlpriceTpl)" title="新增"><i class="fa fa-plus"></i> 新增</a>
-
-        <table:importExcelCost url="${ctx}/workcontent/workContentCtrlprice/import"></table:importExcelCost><!-- 导入按钮 -->
-    </div>
-
-	<!-- 表格 -->
-
-	<!-- 表格 -->
-	<table id="contentTable" class="table table-bordered table-condensed can-edit">
-		<thead>
-		<tr>
-			<th rowspan="2" class="hide"></th>
-			<th rowspan="2" style="width: 30px;">序号</th>
-			<th rowspan="2">建设单位</th>
-			<th rowspan="2">工程名称</th>
-			<th rowspan="2">施工图预算静态投资</th>
-			<th colspan="3">工程量清单最高投标限价</th>
-			<th rowspan="2">备注</th>
-			<th width="120" rowspan="2">操作</th>
-		</tr>
-		<tr>
-			<th>评审前</th>
-			<th>评审后</th>
-			<th>调整额</th>
-		</tr>
-		</thead>
-		<tbody id="ctrlpriceList">
-		</tbody>
-	</table>
 
+	<c:forEach items="${signList}" var="sign">
+		<c:if test="${sign =='ctrlprice'}">
+			<div class="layui-item nav-btns" style="padding-left:0px;">
+				<a class="nav-btn nav-btn-add" onclick="addRow('#ctrlpriceList',ctrlpriceIdx,ctrlpriceTpl)" title="新增"><i class="fa fa-plus"></i> 新增</a>
+				<table:importExcelCost url="${ctx}/workcontent/workContentCtrlprice/import"></table:importExcelCost><!-- 导入按钮 -->
+			</div>
+			<!-- 表格 -->
+			<table id="contentTable" class="table table-bordered table-condensed can-edit">
+				<thead>
+				<tr>
+					<th colspan="9" style="font-size: 20px">输变电工程施工图预算审核报告表</th>
+				</tr>
+				<tr>
+					<th rowspan="2" class="hide"></th>
+					<th rowspan="2" style="width: 30px;">序号</th>
+					<th rowspan="2">建设单位</th>
+					<th rowspan="2">工程名称</th>
+					<th rowspan="2">施工图预算静态投资</th>
+					<th colspan="3">工程量清单最高投标限价</th>
+					<th rowspan="2">备注</th>
+					<th width="120" rowspan="2">操作</th>
+				</tr>
+				<tr>
+					<th>评审前</th>
+					<th>评审后</th>
+					<th>调整额</th>
+				</tr>
+				</thead>
+				<tbody id="ctrlpriceList">
+				</tbody>
+			</table>
+		</c:if>
+	</c:forEach>
 	<script type="text/template" id="ctrlpriceTpl">//<!--
         <tr id="ctrlpriceList{{idx}}">
             <td class="hide">
                 <input id="ctrlpriceList{{idx}}_id" subName="id" type="hidden" value="{{row.id}}" class="contentDetail"/>
+                <input id="ctrlpriceList{{idx}}_type" subName="type" type="hidden" value="ctrlprice" class="contentDetail"/>
                 <input id="ctrlpriceList{{idx}}_delFlag" subName="delFlag" type="hidden" value="0" class="contentDetail"/>
             </td>
             <td>
@@ -58,19 +78,19 @@
                 <input style="text-align: center" id="ctrlpriceList{{idx}}_constructionUnit" subName="constructionUnit" value="{{row.constructionUnit}}" type="text" class="form-control contentDetail"/>
             </td>
             <td>
-                <input style="text-align: center" id="ctrlpriceList{{idx}}_projectName" subName="projectName" type="text" value="{{row.projectName}}" onchange="formatNum(this);" class="form-control contentDetail"/>
+                <input style="text-align: center" id="ctrlpriceList{{idx}}_projectName" subName="projectName" type="text" value="{{row.projectName}}" class="form-control contentDetail"/>
             </td>
             <td>
-                <input style="text-align: center" id="ctrlpriceList{{idx}}_constructionBudget" subName="constructionBudget" type="text" value="{{row.constructionBudget}}" onchange="formatNum(this);" class="form-control number contentDetail money"/>
+                <input style="text-align: center" id="ctrlpriceList{{idx}}_constructionBudget" subName="constructionBudget" type="text" value="{{row.constructionBudget}}" class="form-control number contentDetail money"/>
             </td>
             <td>
-                <input style="text-align: center" id="ctrlpriceList{{idx}}_highestBidBefore" subName="highestBidBefore" type="text" value="{{row.highestBidBefore}}" onchange="formatNum(this);" class="form-control number contentDetail money"/>
+                <input style="text-align: center" id="ctrlpriceList{{idx}}_highestBidBefore" subName="highestBidBefore" type="text" value="{{row.highestBidBefore}}" onchange="formatNumMoney(this,{{idx}});" class="form-control number contentDetail money"/>
             </td>
             <td>
-                <input style="text-align: center" id="ctrlpriceList{{idx}}_highestBidAfter" subName="highestBidAfter" type="text" value="{{row.highestBidAfter}}" onchange="formatNum(this);" class="form-control number contentDetail money"/>
+                <input style="text-align: center" id="ctrlpriceList{{idx}}_highestBidAfter" subName="highestBidAfter" type="text" value="{{row.highestBidAfter}}" onchange="formatNumMoney(this,{{idx}});" class="form-control number contentDetail money"/>
             </td>
             <td>
-            	<input style="text-align: center" id="ctrlpriceList{{idx}}_highestBidAdjust" subName="highestBidAdjust" type="text" value="{{row.highestBidAdjust}}" onchange="formatNum(this);" class="form-control number contentDetail money"/>
+            	<input style="text-align: center" id="ctrlpriceList{{idx}}_highestBidAdjust" subName="highestBidAdjust" type="text" value="{{row.highestBidAdjust}}" readonly="readonly" class="form-control number contentDetail money"/>
             </td>
             <td>
                 <input style="text-align: center" id="ctrlpriceList{{idx}}_remarks" subName="remarks" type="text"  value="{{row.remarks}}" class="form-control contentDetail"/>

+ 30 - 22
src/main/webapp/webpage/modules/workcontent/workContentCtrlpriceListView.jsp

@@ -7,7 +7,7 @@
         <div class="layui-input-block">
             <input htmlEscape="false" readonly="true" class="form-control layui-input"
                    <c:if test="${ctrlpricelist[0].inventoryType == '01'}">value="工程量清单"</c:if>
-                   <c:if test="${ctrlpricelist[0].inventoryType == '02'}">value="工程量清单计价"</c:if>
+                   <c:if test="${ctrlpricelist[0].inventoryType == '02'}">value="控制价"</c:if>
                    />
         </div>
     </div>
@@ -15,42 +15,50 @@
 <form id="subForm"  action="#" onsubmit="return false;" method="post" class="form-horizontal">
 	<!-- 表格 -->
 	<table id="contentTable" class="table table-bordered table-condensed">
-		<thead>
-			<tr>
-				<th>编号</th>
-				<th>工程费用名称</th>
-				<th>金额</th>
-				<th>安全文明施工费</th>
-				<th>规费</th>
-				<th>暂估价</th>
-				<th>节点类型</th>
-                <th>备注</th>
-			</tr>
-		</thead>
+        <thead>
+            <tr>
+                <th colspan="8" style="font-size: 20px">输变电工程施工图预算审核报告表</th>
+            </tr>
+            <tr>
+                <th rowspan="2" class="hide"></th>
+                <th rowspan="2" style="width: 30px;">序号</th>
+                <th rowspan="2">建设单位</th>
+                <th rowspan="2">工程名称</th>
+                <th rowspan="2">施工图预算静态投资</th>
+                <th colspan="3">工程量清单最高投标限价</th>
+                <th rowspan="2">备注</th>
+            </tr>
+            <tr>
+                <th>评审前</th>
+                <th>评审后</th>
+                <th>调整额</th>
+            </tr>
+        </thead>
 		<tbody id="ctrlpriceList">
-            <c:forEach items="${ctrlpricelist}" var="row">
+            <c:forEach items="${ctrlpricelist}" var="row" varStatus="status">
                 <tr>
                     <td  style='text-align:center;'>
-                        ${row.ctrlNum}
+                        ${status.index+1}
                     </td>
                     <td style='text-align:center;'>
-                        ${row.costName}
+                        ${row.constructionUnit}
                     </td>
                     <td style='text-align:center;'>
-                        <fmt:formatNumber value="${row.sum}" pattern="#,##0.00#"/>
+                        ${row.projectName}
                     </td>
                     <td style='text-align:center;'>
-                        <fmt:formatNumber value="${row.constructionCost}" pattern="#,##0.00#"/>
+                        <fmt:formatNumber value="${row.constructionBudget}" pattern="#,##0.00#"/>
                     </td>
                     <td style='text-align:center;'>
-                        <fmt:formatNumber value="${row.fees}" pattern="#,##0.00#"/>
+                        <fmt:formatNumber value="${row.highestBidBefore}" pattern="#,##0.00#"/>
                     </td>
                     <td style='text-align:center;'>
-                        <fmt:formatNumber value="${row.estimate}" pattern="#,##0.00#"/>
+                        <fmt:formatNumber value="${row.highestBidAfter}" pattern="#,##0.00#"/>
                     </td>
                     <td style='text-align:center;'>
-                            ${fns:getMainDictLabel(row.nodeTypes, 'node_type', '')}
-                           <%-- ${row.nodeTypes}--%>
+                        <fmt:formatNumber value="${row.highestBidAdjust}" pattern="#,##0.00#"/>
+                            <%--${fns:getMainDictLabel(row.nodeTypes, 'node_type', '')}--%>
+                           <%-- ${row.highestBidAdjust}--%>
                     </td>
                     <td style='text-align:center;'>
                             ${row.remarks}

+ 79 - 83
src/main/webapp/webpage/modules/workcontent/workContentInvestmentCostList.jsp

@@ -3,31 +3,20 @@
 <script type="text/javascript">
     function formatNumMoney(obj,index) {
         var val = $(obj).val();
-        var buildindCost=$("#investmentCostList"+index+"_buildindCost").val();
-        var equipmentCost=$("#investmentCostList"+index+"_equipmentCost").val();
-        var installationCost=$("#investmentCostList"+index+"_installationCost").val();
-        var otherExpenses=$("#investmentCostList"+index+"_otherExpenses").val();
-        var count=$("#investmentCostList"+index+"_count").val();
-        if(buildindCost==undefined||!isNumber(buildindCost)||buildindCost==''){
-            buildindCost=0;
+        var examineAfterRestsCost=$("#investmentCostList"+index+"_examineAfterRestsCost").val();
+        var examineAfterArchitectureCost=$("#investmentCostList"+index+"_examineAfterArchitectureCost").val();
+        var examineAfterInstallCost=$("#investmentCostList"+index+"_examineAfterInstallCost").val();
+        if(examineAfterRestsCost==undefined||!isNumber(examineAfterRestsCost)||examineAfterRestsCost==''){
+            examineAfterRestsCost=0;
         }
-        if(equipmentCost==undefined||!isNumber(equipmentCost)||equipmentCost==''){
-            equipmentCost=0;
+        if(examineAfterArchitectureCost==undefined||!isNumber(examineAfterArchitectureCost)||examineAfterArchitectureCost==''){
+            examineAfterArchitectureCost=0;
         }
-        if(installationCost==undefined||!isNumber(installationCost)||installationCost==''){
-            installationCost=0;
+        if(examineAfterInstallCost==undefined||!isNumber(examineAfterInstallCost)||examineAfterInstallCost==''){
+            examineAfterInstallCost=0;
         }
-        if(otherExpenses==undefined||!isNumber(otherExpenses)||otherExpenses==''){
-            otherExpenses=0;
-        }
-        var total=(parseFloat(buildindCost) + parseFloat(equipmentCost)+parseFloat(installationCost) + parseFloat(otherExpenses)).toFixed(2);
-        if(count!=undefined&&isNumber(count)&&count!=''&&count!=0){
-            $("#investmentCostList"+index+"_target").val((total/count).toFixed(2));
-        }
-        if(count==0){
-            $("#investmentCostList"+index+"_target").val(0);
-		}
-        $("#investmentCostList"+index+"_totalCost").val(total);
+        var total=(parseFloat(examineAfterRestsCost) + parseFloat(examineAfterArchitectureCost)+parseFloat(examineAfterInstallCost)).toFixed(2);
+        $("#investmentCostList"+index+"_examineCount").val(total);
 
         if(!isNumber(val))return;
 
@@ -43,63 +32,70 @@
     }
 </script>
 <form id="subForm"  action="#" onsubmit="return false;" method="post" class="form-horizontal">
-    <div class="layui-item nav-btns" style="padding-left:0px;">
-        <a class="nav-btn nav-btn-add" onclick="addRowCost('#investmentCostList',investmentCostIdx,investmentCostTpl)" title="新增"><i class="fa fa-plus"></i> 新增</a>
-        <table:importExcelCost url="${ctx}/workcontentinvestmentcost/workContentInvestmentCost/import"></table:importExcelCost><!-- 导入按钮 -->
-    </div>
-
-	<table id="contentTable" class="table table-bordered table-condensed can-edit">
-		<thead>
-			<%--<tr>
-                <th class="hide"></th>
-				<th>编号</th>
-				<th>工程费用名称</th>
-				<th>建筑工程费</th>
-				<th>设备购置费</th>
-				<th>安装工程费</th>
-				<th>其他费用</th>
-				<th>合计(万元)</th>
-				<th>数量</th>
-				<th>单位</th>
-				<th>指标</th>
-				<th>费用类型</th>
-				<th>节点类型</th>
-                <th>备注</th>
-				<th width="60">操作</th>
-			</tr>--%>
-			<tr>
-				<th rowspan="3" class="hide"></th>
-				<th rowspan="3" >序号</th>
-				<th rowspan="3" >工程或费用名称</th>
-				<th rowspan="3" >同口径批复概算静态投资(万元)</th>
-				<th colspan="6">建安工程施工图预算静态投资(万元)</th>
-				<th colspan="3">与初步设计相比有无重大变化</th>
-				<th width="60" rowspan="3">操作</th>
-			</tr>
-            <tr>
-                <th rowspan="2">评审前</th>
-                <th colspan="4">评审后</th>
-                <th rowspan="2">调整额</th>
-                <th rowspan="2">数量</th>
-                <th rowspan="2">金额</th>
-                <th rowspan="2">原因</th>
-            </tr>
-            <tr>
-                <th>建筑工程费</th>
-                <th>安装工程费</th>
-                <th>其他费用</th>
-                <th>合计</th>
-            </tr>
-		</thead>
-		<tbody id="investmentCostList">
-		</tbody>
-	</table>
+    <c:forEach items="${signList}" var="sign">
+        <c:if test="${sign =='investmentCost'}">
+            <div class="layui-item nav-btns" style="padding-left:0px;">
+                <a class="nav-btn nav-btn-add" onclick="addRowCost('#investmentCostList',investmentCostIdx,investmentCostTpl)" title="新增"><i class="fa fa-plus"></i> 新增</a>
+                <table:importExcelCost url="${ctx}/workcontentinvestmentcost/workContentInvestmentCost/import"></table:importExcelCost><!-- 导入按钮 -->
+            </div>
 
+            <table id="contentTable" class="table table-bordered table-condensed can-edit">
+                <thead>
+                    <%--<tr>
+                        <th class="hide"></th>
+                        <th>编号</th>
+                        <th>工程费用名称</th>
+                        <th>建筑工程费</th>
+                        <th>设备购置费</th>
+                        <th>安装工程费</th>
+                        <th>其他费用</th>
+                        <th>合计(万元)</th>
+                        <th>数量</th>
+                        <th>单位</th>
+                        <th>指标</th>
+                        <th>费用类型</th>
+                        <th>节点类型</th>
+                        <th>备注</th>
+                        <th width="60">操作</th>
+                    </tr>--%>
+                    <tr>
+                        <th colspan="13" style="font-size: 20px">输变电工程施工图预算审核表</th>
+                    </tr>
+                    <tr>
+                        <th rowspan="3" class="hide"></th>
+                        <th rowspan="3" >序号</th>
+                        <th rowspan="3" >工程或费用名称</th>
+                        <th rowspan="3" >同口径批复概算静态投资(万元)</th>
+                        <th colspan="6">建安工程施工图预算静态投资(万元)</th>
+                        <th colspan="3">与初步设计相比有无重大变化</th>
+                        <th width="60" rowspan="3">操作</th>
+                    </tr>
+                    <tr>
+                        <th rowspan="2">评审前</th>
+                        <th colspan="4">评审后</th>
+                        <th rowspan="2">调整额</th>
+                        <th rowspan="2">数量</th>
+                        <th rowspan="2">金额</th>
+                        <th rowspan="2">原因</th>
+                    </tr>
+                    <tr>
+                        <th>建筑工程费</th>
+                        <th>安装工程费</th>
+                        <th>其他费用</th>
+                        <th>合计</th>
+                    </tr>
+                </thead>
+                <tbody id="investmentCostList">
+                </tbody>
+            </table>
+        </c:if>
+    </c:forEach>
 	<script type="text/template" id="investmentCostTpl">//<!--
         <tr id="investmentCostList{{idx}}">
             <td class="hide">
                 <input id="investmentCostList{{idx}}_id" subName="id" class="contentDetail" type="hidden" value="{{row.id}}"/>
                 <input id="investmentCostList{{idx}}_delFlag" subName="delFlag" class="contentDetail" type="hidden" value="0"/>
+                <input id="investmentCostList{{idx}}_type" subName="type" class="contentDetail" type="hidden" value="investmentCost"/>
                 <input id="investmentCostList{{idx}}_costType" subName="costType" class="contentDetail"  type="hidden" value="{{row.costType}}"/>
             </td>
             <td>
@@ -109,34 +105,34 @@
                 <input id="investmentCostList{{idx}}_costName" subName="costName" value="{{row.costName}}" type="text" class="form-control contentDetail"/>
             </td>
             <td>
-                <input id="investmentCostList{{idx}}_equipmentCost" subName="caliberBudgetEstimateCost" type="text" value="{{row.caliberBudgetEstimateCost}}"  class="form-control number contentDetail money"/>
+                <input id="investmentCostList{{idx}}_caliberBudgetEstimateCost" subName="caliberBudgetEstimateCost" type="text" value="{{row.caliberBudgetEstimateCost}}"  class="form-control number contentDetail money"/>
             </td>
             <td>
-                <input id="investmentCostList{{idx}}_installationCost" subName="examineBeforeCost" type="text" value="{{row.examineBeforeCost}}"   class="form-control number contentDetail money"/>
+                <input id="investmentCostList{{idx}}_examineBeforeCost" subName="examineBeforeCost" type="text" value="{{row.examineBeforeCost}}"   class="form-control number contentDetail money"/>
             </td>
             <td>
-                <input id="investmentCostList{{idx}}_otherExpenses" subName="examineAfterArchitectureCost" type="text" value="{{row.examineAfterArchitectureCost}}"   class="form-control number contentDetail money"/>
+                <input id="investmentCostList{{idx}}_examineAfterArchitectureCost" subName="examineAfterArchitectureCost" type="text" value="{{row.examineAfterArchitectureCost}}"  onchange="formatNumMoney(this,{{idx}});" class="form-control number contentDetail money"/>
             </td>
             <td>
-                <input id="investmentCostList{{idx}}_totalCost" subName="examineAfterInstallCost" type="text"  value="{{row.examineAfterInstallCost}}" class="form-control number  contentDetail money"/>
+                <input id="investmentCostList{{idx}}_examineAfterInstallCost" subName="examineAfterInstallCost" type="text"  value="{{row.examineAfterInstallCost}}" onchange="formatNumMoney(this,{{idx}});" class="form-control number  contentDetail money"/>
             </td>
             <td>
-                <input id="investmentCostList{{idx}}_count" subName="examineAfterRestsCost" type="text"    value="{{row.examineAfterRestsCost}}" class="form-control number contentDetail"/>
+                <input id="investmentCostList{{idx}}_examineAfterRestsCost" subName="examineAfterRestsCost" type="text"    value="{{row.examineAfterRestsCost}}" onchange="formatNumMoney(this,{{idx}});" class="form-control number contentDetail"/>
             </td>
             <td>
-                <input id="investmentCostList{{idx}}_unit" subName="examineCount" type="text"  value="{{row.examineCount}}" class="form-control number contentDetail"/>
+                <input id="investmentCostList{{idx}}_examineCount" subName="examineCount" type="text"  value="{{row.examineCount}}" readonly="readonly"  class="form-control number contentDetail"/>
             </td>
             <td>
-                <input id="investmentCostList{{idx}}_target" subName="examineAdjustUnit" type="text"  value="{{row.examineAdjustUnit}}" class="form-control number contentDetail"/>
+                <input id="investmentCostList{{idx}}_examineAdjustUnit" subName="examineAdjustUnit" type="text"  value="{{row.examineAdjustUnit}}" class="form-control number contentDetail"/>
             </td>
             <td>
-                <input id="investmentCostList{{idx}}_expenseType" subName="amount" type="text"  value="{{row.amount}}" class="form-control number contentDetail"/>
+                <input id="investmentCostList{{idx}}_amount" subName="amount" type="text"  value="{{row.amount}}" class="form-control number contentDetail"/>
             </td>
             <td>
-                <input id="investmentCostList{{idx}}_nodeTypes" subName="money" type="text"  value="{{row.money}}" class="form-control number contentDetail"/>
+                <input id="investmentCostList{{idx}}_money" subName="money" type="text"  value="{{row.money}}" class="form-control number contentDetail"/>
             </td>
             <td>
-                <input id="investmentCostList{{idx}}_remarks" subName="cause" type="text"  value="{{row.cause}}" class="form-control  contentDetail"/>
+                <input id="investmentCostList{{idx}}_cause" subName="cause" type="text"  value="{{row.cause}}" class="form-control  contentDetail"/>
             </td>
             <td class="text-center op-td">
                         <a href="#" onclick="delRow(this, '#investmentCostList{{idx}}')"   class="op-btn op-btn-delete"><i class="fa fa-trash"></i> 取消</a>

+ 101 - 67
src/main/webapp/webpage/modules/workcontent/workContentInvestmentCostListView.jsp

@@ -1,71 +1,105 @@
 <%@ page contentType="text/html;charset=UTF-8" %>
 <%@ include file="/webpage/include/taglib.jsp"%>
 <form id="subForm"  action="#" onsubmit="return false;" method="post" class="form-horizontal">
-	<table id="contentTable" class="table table-bordered table-condensed">
-		<thead>
-			<tr>
-				<th>编号</th>
-				<th>工程费用名称</th>
-				<th>建筑工程费</th>
-				<th>设备购置费</th>
-				<th>安装工程费</th>
-				<th>其他费用</th>
-				<th>合计(万元)</th>
-				<th>数量</th>
-				<th>单位</th>
-				<th>指标</th>
-				<th>费用类型</th>
-				<th>节点类型</th>
-                <th>备注</th>
-			</tr>
-		</thead>
-		<tbody id="investmentCostList">
-        <c:forEach items="${investmentCostList}" var="row">
-            <tr>
-                <td style='text-align:center;'>
-                    ${row.costNum}
-                </td>
-                <td style='text-align:center;'>
-                    ${row.costName}
-                </td>
-                <td style='text-align:center;'>
-                    <fmt:formatNumber value="${row.buildindCost}" pattern="#,##0.00#"/>
-                </td>
-                <td style='text-align:center;'>
-                    <fmt:formatNumber value="${row.equipmentCost}" pattern="#,##0.00#"/>
-                </td>
-                <td style='text-align:center;'>
-                    <fmt:formatNumber value="${row.installationCost}" pattern="#,##0.00#"/>
-                </td>
-                <td style='text-align:center;'>
-                    <fmt:formatNumber value="${row.otherExpenses}" pattern="#,##0.00#"/>
-                </td>
-                <td style='text-align:center;'>
-                    <fmt:formatNumber value="${row.totalCost}" pattern="#,##0.00#"/>
-                </td>
-                <td style='text-align:center;'>
-                        ${row.count}
-                </td>
-                <td style='text-align:center;'>
-                        ${fns:getMainDictLabel(row.unit, 'unit_type', '')}
-                       <%-- ${row.unit}--%>
-                </td>
-                <td style='text-align:center;'>
-                        ${row.target}
-                </td>
-                <td style='text-align:center;'>
-                        ${fns:getMainDictLabel(row.expenseType, 'cost_type', '')}
-                       <%-- ${row.expenseType}--%>
-                </td>
-                <td style='text-align:center;'>
-                        ${fns:getMainDictLabel(row.nodeTypes, 'node_type', '')}
-                                <%-- ${row.nodeTypes}--%>
-                </td>
-                <td style='text-align:center;'>
-                        ${row.remarks}
-                </td>
-            </tr>
-        </c:forEach>
-		</tbody>
-	</table>
+    <c:forEach items="${signList}" var="sign">
+    <c:if test="${sign =='investmentCost'}">
+        <table id="contentTable" class="table table-bordered table-condensed">
+            <thead>
+                <%--<tr>
+                    <th class="hide"></th>
+                    <th>编号</th>
+                    <th>工程费用名称</th>
+                    <th>建筑工程费</th>
+                    <th>设备购置费</th>
+                    <th>安装工程费</th>
+                    <th>其他费用</th>
+                    <th>合计(万元)</th>
+                    <th>数量</th>
+                    <th>单位</th>
+                    <th>指标</th>
+                    <th>费用类型</th>
+                    <th>节点类型</th>
+                    <th>备注</th>
+                    <th width="60">操作</th>
+                </tr>--%>
+                <tr>
+                    <th colspan="12" style="font-size: 20px">输变电工程施工图预算审核表</th>
+                </tr>
+                <tr>
+                    <th rowspan="3" class="hide"></th>
+                    <th rowspan="3" >序号</th>
+                    <th rowspan="3" >工程或费用名称</th>
+                    <th rowspan="3" >同口径批复概算静态投资(万元)</th>
+                    <th colspan="6">建安工程施工图预算静态投资(万元)</th>
+                    <th colspan="3">与初步设计相比有无重大变化</th>
+                </tr>
+                <tr>
+                    <th rowspan="2">评审前</th>
+                    <th colspan="4">评审后</th>
+                    <th rowspan="2">调整额</th>
+                    <th rowspan="2">数量</th>
+                    <th rowspan="2">金额</th>
+                    <th rowspan="2">原因</th>
+                </tr>
+                <tr>
+                    <th>建筑工程费</th>
+                    <th>安装工程费</th>
+                    <th>其他费用</th>
+                    <th>合计</th>
+                </tr>
+            </thead>
+            <tbody id="investmentCostList">
+            <c:forEach items="${investmentCostList}" var="row" varStatus="status">
+                <tr>
+                    <td style='text-align:center;'>
+                        ${status.index+1}
+                    </td>
+                    <td style='text-align:center;'>
+                        ${row.costName}
+                    </td>
+                    <td style='text-align:center;'>
+                        <fmt:formatNumber value="${row.caliberBudgetEstimateCost}" pattern="#,##0.00#"/>
+                    </td>
+                    <td style='text-align:center;'>
+                        <fmt:formatNumber value="${row.examineBeforeCost}" pattern="#,##0.00#"/>
+                    </td>
+                    <td style='text-align:center;'>
+                        <fmt:formatNumber value="${row.examineAfterArchitectureCost}" pattern="#,##0.00#"/>
+                    </td>
+                    <td style='text-align:center;'>
+                        <fmt:formatNumber value="${row.examineAfterInstallCost}" pattern="#,##0.00#"/>
+                    </td>
+                    <td style='text-align:center;'>
+                        <fmt:formatNumber value="${row.examineAfterRestsCost}" pattern="#,##0.00#"/>
+                    </td>
+                    <td style='text-align:center;'>
+                        <fmt:formatNumber value="${row.examineCount}" pattern="#,##0.00#"/>
+                    </td>
+                    <td style='text-align:center;'>
+                        <fmt:formatNumber value="${row.examineAdjustUnit}" pattern="#,##0.00#"/>
+                            <%--${fns:getMainDictLabel(row.unit, 'unit_type', '')}--%>
+                           <%-- ${row.examineAdjustUnit}--%>
+                    </td>
+                    <td style='text-align:center;'>
+                        <fmt:formatNumber value="${row.amount}" pattern="#,##0.00#"/>
+                            <%--${row.amount}--%>
+                    </td>
+                    <td style='text-align:center;'>
+                        <fmt:formatNumber value="${row.money}" pattern="#,##0.00#"/>
+                            <%--${fns:getMainDictLabel(row.expenseType, 'cost_type', '')}--%>
+                           <%-- ${row.money}--%>
+                    </td>
+                    <%--<td style='text-align:center;'>
+                            ${fns:getMainDictLabel(row.nodeTypes, 'node_type', '')}
+                                    &lt;%&ndash; ${row.nodeTypes}&ndash;%&gt;
+                    </td>--%>
+                    <td style='text-align:center;'>
+                            ${row.cause}
+                    </td>
+                </tr>
+            </c:forEach>
+            </tbody>
+        </table>
+    </c:if>
+    </c:forEach>
 </form>