Просмотр исходного кода

广东公路报表相关,工程量清单指标相关

lishihao 1 год назад
Родитель
Сommit
e2103b03fa

+ 21 - 17
public/web/rpt_value_define.js

@@ -24,14 +24,14 @@ const JV = {
     NODE_EVENTS: "事件_集合",
     NODE_DISCRETE_INFO: "离散信息",
     NODE_BILL_INFO: "账单式表_信息",
-    NODE_BILL_CONTENT : "账单式表_数据",
+    NODE_BILL_CONTENT: "账单式表_数据",
     NODE_FLOW_INFO: "流水式表_信息",
     NODE_FLOW_INFO_EX: "流水式表_拓展信息",
     NODE_FLOW_GROUP: "流水式表_分组信息",
     NODE_FLOW_SEG_SUM: "流水式表_段统计信息",
     NODE_FLOW_PAGE_SUM: "流水式表_页统计信息",
-    NODE_FLOW_COLUMN : "流水式表_列",
-    NODE_FLOW_CONTENT : "流水式表_数据",
+    NODE_FLOW_COLUMN: "流水式表_列",
+    NODE_FLOW_CONTENT: "流水式表_数据",
     PROP_MULTI_COLUMN: "多列显示数量",
     PROP_FLOW_EX_DISPLAY_MODE: "流水拓展显示模式",
     DISPLAY_MODE_INDEPENDENT: "单独模式",
@@ -72,6 +72,9 @@ const JV = {
     PROP_HANDLE_TYPE_COMPONENT_MOVE: "组成物数据转移",
     PROP_HANDLE_TYPE_COMPONENT_REPLACEMENT: "组成物替换",
     PROP_HANDLE_TYPE_PRECISION: "合计精度",
+    PROP_HANDLE_TYPE_CHANGE_QUANTITIES_BILLS: "转化工程量清单",
+    PROP_HANDLE_TYPE_CHANGE_QUANTITIES_BILLS_SORT_TYPE: "工程量清单排序类型",
+    PROP_HANDLE_TYPE_CHANGE_QUANTITIES_BILLS_DATA_TYPE: "工程量清单数据类型",
 
     PROP_ADJUST_COLLECTION: "数据调整集",
     PROP_ADJUST_ACTION: "action",
@@ -93,6 +96,7 @@ const JV = {
     PROP_FIELD_EXP_FIXED_MAP: "fixedMapExpression",
     PROP_FIELD_EXP_FLEXIBLE_MAP: "flexibleMapExpression",
     PROP_FLEXIBLE_REF_FILED_ID: "flexibleRefFieldID",
+    PROP_QUANTITIES_BILLS_LEVEL: "工程量清单输出类型",
 
     NODE_FONT_COLLECTION: "font_collection",
     NODE_STYLE_COLLECTION: "style_collection",
@@ -176,9 +180,9 @@ const JV = {
     BAND_PROP_SUB_BANDS: "band_s",
 
     MEASUREMENT: {
-        PIXEL:["像素点", "象素点", "PIXEL"],
+        PIXEL: ["像素点", "象素点", "PIXEL"],
         CM: ["厘米", "CM"],
-        INCH: ["英寸","INCH"]
+        INCH: ["英寸", "INCH"]
     },
 
     PROP_IS_ID: "isID",
@@ -212,7 +216,7 @@ const JV = {
 
     RUN_TYPE_BEFORE_GROUP_TEXT_OUT: "before_group_text_output",
 
-    PAGE_STATUS: ["EveryPage","FirstPage", "LastPage", "SegmentStart", "SegmentEnd", "Group", "CrossRowEnd", "CrossColEnd"],
+    PAGE_STATUS: ["EveryPage", "FirstPage", "LastPage", "SegmentStart", "SegmentEnd", "Group", "CrossRowEnd", "CrossColEnd"],
 
     CONTROL_PROPS: ["Shrink", "ShowZero", "Horizon", "Vertical", "Wrap", "VerticalForExcel", "ShrinkFirst", "CloseOutput"],
     CONTROL_PROP_IDX_SHRINK: 0,
@@ -246,7 +250,7 @@ const JV = {
     STATUS_CROSS_ROW_END: 6,
     STATUS_CROSS_COL_END: 7,
 
-    LAYOUT: ["Top","Bottom", "Left", "Right", "Fulfill"],
+    LAYOUT: ["Top", "Bottom", "Left", "Right", "Fulfill"],
     LAYOUT_TOP: 0,
     LAYOUT_BOTTOM: 1,
     LAYOUT_LEFT: 2,
@@ -257,14 +261,14 @@ const JV = {
         H: ["left", "center", "right"],
         V: ["top", "center", "bottom"]
     },
-    H_ALIGN_IDX_LEFT : 0,
-    H_ALIGN_IDX_CENTER : 1,
-    H_ALIGN_IDX_RIGHT : 2,
-    V_ALIGN_IDX_TOP : 0,
-    V_ALIGN_IDX_CENTER : 1,
-    V_ALIGN_IDX_BOTTOM : 2,
-
-    CAL_TYPE:["percentage","abstract"],
+    H_ALIGN_IDX_LEFT: 0,
+    H_ALIGN_IDX_CENTER: 1,
+    H_ALIGN_IDX_RIGHT: 2,
+    V_ALIGN_IDX_TOP: 0,
+    V_ALIGN_IDX_CENTER: 1,
+    V_ALIGN_IDX_BOTTOM: 2,
+
+    CAL_TYPE: ["percentage", "abstract"],
     CAL_TYPE_PERCENTAGE: 0,
     CAL_TYPE_ABSTRACT: 1,
 
@@ -288,7 +292,7 @@ const JV = {
     SIZE_16K: [7.75, 10.75],
     SIZE_EXECUTIVE: [7.25, 10.5],
 
-    OUTPUT_OFFSET: [2,2,1,3],
+    OUTPUT_OFFSET: [2, 2, 1, 3],
     OFFSET_IDX_LEFT: 0,
     OFFSET_IDX_RIGHT: 1,
     OFFSET_IDX_TOP: 2,
@@ -319,7 +323,7 @@ const JV = {
     PAGES_SIZE_IDX: [8, 9, 11, 13, 1, 5, 7, 93],
     PAGES_SIZE: [[11.69, 16.54], [8.27, 11.69], [5.83, 8.27], [6.93, 9.84], [8.5, 11.0], [8.5, 14.0], [7.25, 10.5], [7.25, 10.5]],
 
-    HUNDRED_PERCENT : 100.0,
+    HUNDRED_PERCENT: 100.0,
 
     VERTICAL_ANGLE: "90",
     ANTI_VERTICAL_ANGLE: "-90",

+ 2 - 0
web/maintain/report/html/rpt_tpl_dtl_pre_hdl.html

@@ -33,6 +33,8 @@
             <%include ./rpt_tpl_dtl_pre_hdl_adjust.html %>
             <!--dummy数据处理-->
             <%include ./rpt_tpl_dtl_pre_hdl_addDummy.html %>
+            <!--工程量清单数据处理-->
+            <%include ./rpt_tpl_dtl_pre_hdl_change_quantities_bills.html %>
         </div>
     </div>
 </div>

+ 27 - 0
web/maintain/report/html/rpt_tpl_dtl_pre_hdl_change_quantities_bills.html

@@ -0,0 +1,27 @@
+<div id="div_quantities_bills_sort_bar">
+<div class="form-group row" id="div_quantities_bills_sort_type">
+    <div class="input-group col-5">
+        <div class="input-group-addon">排序方式</div>
+        <select class="form-control input-sm" id="select_quantities_bills_sort_types"
+            onchange="preHandleQuantitiesBillsSortObj.onQuantitiesBillsSortTypeChange(this)">
+            <option value="onlyBill">清单排序合并</option>
+            <option value="all">同项目节下排序合并</option>
+            <option value="onlyChapt">只有章节汇总数据</option>
+        </select>
+    </div>
+</div>
+<div class="form-group row" id="div_quantities_bills_type">
+    <div class="input-group col-5">
+        <div class="input-group-addon">处理对象</div>
+        <select class="form-control input-sm" id="select_quantities_bills_types"
+            onchange="preHandleQuantitiesBillsSortObj.onQuantitiesBillsTypesChange(this)">
+            <option value="normal">普通</option>
+            <option value="cross">交叉数据</option>
+            <option value="flow">流水数据</option>
+           
+        </select>
+    </div>
+</div>
+</div>
+
+

+ 54 - 1
web/maintain/report/js/rpt_tpl_pre_handle.js

@@ -286,9 +286,12 @@ let preHandleObj = {
         types.push({ Name: JV.PROP_HANDLE_TYPE_SUM, Title: "" });
         types.push({ Name: JV.PROP_HANDLE_TYPE_ADJUST, Title: "" });
         types.push({ Name: JV.PROP_HANDLE_TYPE_ADD_DUMMY, Title: "" });
+        types.push({
+            Name: JV.PROP_HANDLE_TYPE_CHANGE_QUANTITIES_BILLS, Title: ''
+        });
         // types.push({Name: "纯手工填写", Title: ""});
         me.typeTreeObj = $.fn.zTree.init($("#pre_handle_type_reversed"), preHandleTypeSetting, types);
-        me.setDisabledBandSelect([0, 1, 2, 3, 4, 5, 6]);
+        me.setDisabledBandSelect([0, 1, 2, 3, 4, 5, 6, 7]);
         me.build_handle_data_selection();
     },
     setDisabledBandSelect: function (disabledIdxArr) {
@@ -331,6 +334,9 @@ let preHandleObj = {
             case JV.PROP_HANDLE_TYPE_ADD_DUMMY:
                 rst = { Name: "预处理环节", Title: "", "映射数据对象": "bills", "预处理类型": preHandleType, "Dummy数据集": [] };
                 break;
+            case JV.PROP_HANDLE_TYPE_CHANGE_QUANTITIES_BILLS:
+                rst = { Name: "预处理环节", Title: "", "映射数据对象": "bills", "预处理类型": preHandleType };
+                break;
             default:
                 rst = { Name: "预处理环节", Title: "", "映射数据对象": "bills", "预处理类型": "排序", "排序方式": "normal", "排序键值集": [] };
                 break;
@@ -370,6 +376,10 @@ let preHandleObj = {
             case JV.PROP_HANDLE_TYPE_ADD_DUMMY:
                 item[JV.PROP_DUMMY_COLLECTION] = [];
                 break;
+            case JV.PROP_HANDLE_TYPE_CHANGE_QUANTITIES_BILLS:
+                item[JV.PROP_HANDLE_TYPE_CHANGE_QUANTITIES_BILLS_SORT_TYPE] = "all";// 工程量清单排序
+                item[JV.PROP_HANDLE_TYPE_CHANGE_QUANTITIES_BILLS_DATA_TYPE] = 'bills'; // 工程量清单输出级别
+                break;
             default:
                 item[JV.PROP_HANDLE_TYPE] = JV.PROP_HANDLE_TYPE_SORT;
                 item[JV.PROP_SORT_TYPE] = "normal";
@@ -393,6 +403,8 @@ let preHandleObj = {
             preHandleAdjustObj.copyNode(src, dest);
         } else if (src[JV.PROP_HANDLE_TYPE] === JV.PROP_HANDLE_TYPE_ADD_DUMMY) {
             preHandleAddDummyObj.copyNode(src, dest);
+        } else if (src[JV.PROP_HANDLE_TYPE] === JV.PROP_HANDLE_TYPE_CHANGE_QUANTITIES_BILLS) {
+            preHandleQuantitiesBillsSortObj.copyNode(src, dest);
         }
     },
     private_set_title: function (node) {
@@ -435,6 +447,8 @@ let preHandleObj = {
                     preHandleAdjustObj.refresh_node();
                 } else if (typeNode[JV.PROP_NAME] === "增加Dummy数据") {
                     preHandleAddDummyObj.refresh_node();
+                } else if (typeNode[JV.PROP_NAME] === "转化工程量清单") {
+                    preHandleQuantitiesBillsSortObj.refresh_node();
                 }
             }
         }
@@ -451,6 +465,7 @@ let preHandleObj = {
         $("#div_sort_type_parent_data")[0].style.display = "none";
         $("#div_sort_tree")[0].style.display = "none";
         $("#div_sort_self_define")[0].style.display = "none";
+        $("#div_quantities_bills_sort_bar")[0].style.display = "none";
     },
     onPreHandleClick: function (event, treeId, treeNode) {
         //点击预处理环节 节点
@@ -577,6 +592,9 @@ let preHandleObj = {
                     case JV.PROP_HANDLE_TYPE_COMPONENT_MOVE:
                         rst.push(preHandleBillDataMoveObj.extractTabFields(handleObj));
                         break;
+                    case JV.PROP_HANDLE_TYPE_CHANGE_QUANTITIES_BILLS:
+                        rst.push(preHandleQuantitiesBillsSortObj.extractTabFields(handleObj));
+                        break;
                     default:
                         break;
                 }
@@ -1252,3 +1270,38 @@ let preHandleAddDummyObj = {
         return rst;
     }
 };
+let preHandleQuantitiesBillsSortObj = {
+    copyNode: function (src, dest) {
+        dest[JV.PROP_HANDLE_TYPE_CHANGE_QUANTITIES_BILLS_SORT_TYPE] = src.billSortType;
+        dest[JV.PROP_HANDLE_TYPE_CHANGE_QUANTITIES_BILLS_DATA_TYPE] = src.billSortData;
+    },
+    refresh_node: function () {
+        $("#div_quantities_bills_sort_bar")[0].style.display = "";
+        if (preHandleObj.currentNode) {
+            $("#select_quantities_bills_sort_types")[0].value = preHandleObj.currentNode[JV.PROP_HANDLE_TYPE_CHANGE_QUANTITIES_BILLS_SORT_TYPE] || 'all';
+            $("#select_quantities_bills_types")[0].value = preHandleObj.currentNode[JV.PROP_HANDLE_TYPE_CHANGE_QUANTITIES_BILLS_DATA_TYPE] || 'bills';
+        }
+    },
+    extractTabFields: function (handleObj) {
+        let me = preHandleQuantitiesBillsSortObj, rst = {};
+        me.copyNode(handleObj, rst);
+        rst = {
+            "预处理类型": "转化工程量清单",
+            "映射数据对象": "bills",
+            'billSortType': handleObj[JV.PROP_HANDLE_TYPE_CHANGE_QUANTITIES_BILLS_SORT_TYPE],
+            'billSortData': handleObj[JV.PROP_HANDLE_TYPE_CHANGE_QUANTITIES_BILLS_DATA_TYPE],
+        }
+        return rst;
+    },
+    onQuantitiesBillsSortTypeChange: function (dom) {
+        // 工程量清单排序类型
+        let me = preHandleObj;
+        me.currentNode[JV.PROP_HANDLE_TYPE_CHANGE_QUANTITIES_BILLS_SORT_TYPE] = dom.value;
+
+    },
+    onQuantitiesBillsTypesChange: function (dom) {
+        // 工程量清单排序对象类型
+        let me = preHandleObj;
+        me.currentNode[JV.PROP_HANDLE_TYPE_CHANGE_QUANTITIES_BILLS_DATA_TYPE] = dom.value;
+    },
+}