|  | @@ -0,0 +1,316 @@
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * Created by Tony on 2017/12/26.
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const sort_types = ["normal", "tree", "accord_to_parent", "self_define"];
 | 
	
		
			
				|  |  | +const exposed_bills_properties = [
 | 
	
		
			
				|  |  | +    {Name: "清单_ID", Title: "", Key: "ID"},
 | 
	
		
			
				|  |  | +    {Name: "清单_所属项目ID", Title: "", Key: "projectID"},
 | 
	
		
			
				|  |  | +    {Name: "清单_项目编码", Title: "", Key: "code"},
 | 
	
		
			
				|  |  | +    {Name: "清单_项目名称", Title: "", Key: "name"},
 | 
	
		
			
				|  |  | +    {Name: "清单_项目特征", Title: "", Key: "itemCharacterText"},
 | 
	
		
			
				|  |  | +    {Name: "清单_计量单位", Title: "", Key: "unit"},
 | 
	
		
			
				|  |  | +    {Name: "清单_工程量", Title: "", Key: "quantity"},
 | 
	
		
			
				|  |  | +    {Name: "清单_综合单价", Title: "", Key: "unitFee"},
 | 
	
		
			
				|  |  | +    {Name: "清单_综合合价", Title: "", Key: "totalFee"},
 | 
	
		
			
				|  |  | +    {Name: "清单_暂估价", Title: "", Key: "tenderUnitFee"}
 | 
	
		
			
				|  |  | +];
 | 
	
		
			
				|  |  | +const exposed_ration_properties = [
 | 
	
		
			
				|  |  | +    {Name: "定额_工程内部ID", Title: "", Key: "ID"},
 | 
	
		
			
				|  |  | +    {Name: "定额_所属清单ID", Title: "", Key: "billsItemID"},
 | 
	
		
			
				|  |  | +    {Name: "定额_所属项目ID", Title: "", Key: "projectID"},
 | 
	
		
			
				|  |  | +    {Name: "定额_编号", Title: "", Key: "code"},
 | 
	
		
			
				|  |  | +    {Name: "定额_项目名称", Title: "", Key: "caption"},
 | 
	
		
			
				|  |  | +    {Name: "定额_单位", Title: "", Key: "unit"},
 | 
	
		
			
				|  |  | +    {Name: "定额_数量", Title: "", Key: "quantity"},
 | 
	
		
			
				|  |  | +    {Name: "定额_人工费", Title: "", Key: "labour"},
 | 
	
		
			
				|  |  | +    {Name: "定额_材料费", Title: "", Key: "material"},
 | 
	
		
			
				|  |  | +    {Name: "定额_机械费", Title: "", Key: "machine"},
 | 
	
		
			
				|  |  | +    {Name: "定额_机上人工费", Title: "", Key: "machineLabour"},
 | 
	
		
			
				|  |  | +    {Name: "定额_人工费调整", Title: "", Key: "adjustLabour"},
 | 
	
		
			
				|  |  | +    {Name: "定额_材料费调整", Title: "", Key: "'adjustMaterial'"},
 | 
	
		
			
				|  |  | +    {Name: "定额_机械费调整", Title: "", Key: "adjustMachine"},
 | 
	
		
			
				|  |  | +    {Name: "定额_机上人工费调整", Title: "", Key: "adjustMachineLabour"},
 | 
	
		
			
				|  |  | +    {Name: "定额_人工价差", Title: "", Key: "labourDiff"},
 | 
	
		
			
				|  |  | +    {Name: "定额_材料价差", Title: "", Key: "materialDiff"},
 | 
	
		
			
				|  |  | +    {Name: "定额_机械价差", Title: "", Key: "machineDiff"},
 | 
	
		
			
				|  |  | +    {Name: "定额_风险费用", Title: "", Key: "risk"}
 | 
	
		
			
				|  |  | +    // {Name: "定额_管理费率", Title: "", Key: ""}
 | 
	
		
			
				|  |  | +];
 | 
	
		
			
				|  |  | +const exposed_prj_glj_properties = [
 | 
	
		
			
				|  |  | +    {Name: "工料机_ID", Title: "", Key: "ID"},
 | 
	
		
			
				|  |  | +    {Name: "工料机_所属定额ID", Title: "", Key: "rationID"},
 | 
	
		
			
				|  |  | +    {Name: "工料机_所属清单ID", Title: "", Key: "billsItemID"},
 | 
	
		
			
				|  |  | +    {Name: "工料机_所属工程ID", Title: "", Key: "projectID"},
 | 
	
		
			
				|  |  | +    {Name: "工料机_代码", Title: "", Key: "code"},
 | 
	
		
			
				|  |  | +    {Name: "工料机_名称", Title: "", Key: "name"},
 | 
	
		
			
				|  |  | +    {Name: "工料机_单位", Title: "", Key: "unit"},
 | 
	
		
			
				|  |  | +    {Name: "工料机_数量", Title: "", Key: "quantity"}
 | 
	
		
			
				|  |  | +];
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +let preHandleObj = {
 | 
	
		
			
				|  |  | +    treeObj: null,
 | 
	
		
			
				|  |  | +    typeTreeObj: null,
 | 
	
		
			
				|  |  | +    currentNode: null,
 | 
	
		
			
				|  |  | +    iniTree: function(rptTpl) {
 | 
	
		
			
				|  |  | +        let me = this;
 | 
	
		
			
				|  |  | +        me.buildData(rptTpl);
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    buildData: function(rptTpl) {
 | 
	
		
			
				|  |  | +        let me = this, handles = [];
 | 
	
		
			
				|  |  | +        if (rptTpl[JV.NODE_MAP_DATA_HANDLE_INFO]) {
 | 
	
		
			
				|  |  | +            for (let item of rptTpl[JV.NODE_MAP_DATA_HANDLE_INFO]) {
 | 
	
		
			
				|  |  | +                let hd = {Name: "预处理环节"};
 | 
	
		
			
				|  |  | +                me.private_copy_node(item, hd);
 | 
	
		
			
				|  |  | +                me.private_set_title(hd);
 | 
	
		
			
				|  |  | +                hd.Operations = []; //考虑到用户可能会换来换去,这样会有冗余的属性出现
 | 
	
		
			
				|  |  | +                handles.push(hd);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        me.treeObj = $.fn.zTree.init($("#pre_handle_data_info_reversed"), preHandleSetting, handles);
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    buildTypeData: function () {
 | 
	
		
			
				|  |  | +        let me = this, types = [];
 | 
	
		
			
				|  |  | +        types.push({Name: JV.PROP_HANDLE_TYPE_SORT, Title: ""});
 | 
	
		
			
				|  |  | +        types.push({Name: JV.PROP_HANDLE_TYPE_FILTER, Title: ""});
 | 
	
		
			
				|  |  | +        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: "纯手工填写", Title: ""});
 | 
	
		
			
				|  |  | +        me.typeTreeObj = $.fn.zTree.init($("#pre_handle_type_reversed"), preHandleTypeSetting, types);
 | 
	
		
			
				|  |  | +        me.setDisabledBandSelect(true);
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    setDisabledBandSelect: function(disabled) {
 | 
	
		
			
				|  |  | +        let me = this;
 | 
	
		
			
				|  |  | +        if (me.typeTreeObj) {
 | 
	
		
			
				|  |  | +            let nodes = me.typeTreeObj.getNodes();
 | 
	
		
			
				|  |  | +            for (let node of nodes) {
 | 
	
		
			
				|  |  | +                me.typeTreeObj.setChkDisabled(node, disabled, true, true);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    addNewNode: function() {
 | 
	
		
			
				|  |  | +        let me = this, item = {Name: "预处理环节", Title: "", "映射数据对象": "bills", "预处理类型": "排序", "排序方式": "normal", Operations : []};
 | 
	
		
			
				|  |  | +        me.private_set_title(item);
 | 
	
		
			
				|  |  | +        me.treeObj.addNodes(null, -1, [item], true);
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    private_copy_node: function(src, dest) {
 | 
	
		
			
				|  |  | +        let me = this;
 | 
	
		
			
				|  |  | +        dest[JV.PROP_DATA_KEY] = src[JV.PROP_DATA_KEY];
 | 
	
		
			
				|  |  | +        dest[JV.PROP_HANDLE_TYPE] = src[JV.PROP_HANDLE_TYPE];
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if (src[JV.PROP_HANDLE_TYPE] === JV.PROP_HANDLE_TYPE_SORT) {
 | 
	
		
			
				|  |  | +            preHandleSortObj.copyNode(src, dest);
 | 
	
		
			
				|  |  | +        } else if (src[JV.PROP_HANDLE_TYPE] === JV.PROP_HANDLE_TYPE_FILTER) {
 | 
	
		
			
				|  |  | +            preHandleFilterObj.copyNode(src, dest);
 | 
	
		
			
				|  |  | +        } else if (src[JV.PROP_HANDLE_TYPE] === JV.PROP_HANDLE_TYPE_SUM) {
 | 
	
		
			
				|  |  | +            preHandleSummaryObj.copyNode(src, dest);
 | 
	
		
			
				|  |  | +        } else if (src[JV.PROP_HANDLE_TYPE] === JV.PROP_HANDLE_TYPE_ADJUST) {
 | 
	
		
			
				|  |  | +            preHandleAdjustObj.copyNode(src, dest);
 | 
	
		
			
				|  |  | +        } else if (src[JV.PROP_HANDLE_TYPE] === JV.PROP_HANDLE_TYPE_ADD_DUMMY) {
 | 
	
		
			
				|  |  | +            preHandleAddDummyObj.copyNode(src, dest);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // if (src[JV.PROP_SORT_TYPE]) dest[JV.PROP_SORT_TYPE] = src[JV.PROP_SORT_TYPE];
 | 
	
		
			
				|  |  | +        // if (src[JV.PROP_PARENT_DATA_KEY]) dest[JV.PROP_PARENT_DATA_KEY] = src[JV.PROP_PARENT_DATA_KEY];
 | 
	
		
			
				|  |  | +        // if (src[JV.PROP_PARENT_CHILD_SORT_KEY]) dest[JV.PROP_PARENT_CHILD_SORT_KEY] = src[JV.PROP_PARENT_CHILD_SORT_KEY];
 | 
	
		
			
				|  |  | +        // if (src[JV.PROP_PARENT_SORT_KEYS]) dest[JV.PROP_PARENT_SORT_KEYS] = src[JV.PROP_PARENT_SORT_KEYS];
 | 
	
		
			
				|  |  | +        // if (src[JV.PROP_CHILD_SORT_KEYS]) dest[JV.PROP_CHILD_SORT_KEYS] = src[JV.PROP_CHILD_SORT_KEYS];
 | 
	
		
			
				|  |  | +        // if (src[JV.PROP_OTHER_SUB_SORT]) dest[JV.PROP_OTHER_SUB_SORT] = src[JV.PROP_OTHER_SUB_SORT];
 | 
	
		
			
				|  |  | +        // if (src[JV.PROP_FILTER_KEY]) dest[JV.PROP_FILTER_KEY] = src[JV.PROP_FILTER_KEY];
 | 
	
		
			
				|  |  | +        // if (src[JV.PROP_FILTER_COMPARE_OBJ]) dest[JV.PROP_FILTER_COMPARE_OBJ] = src[JV.PROP_FILTER_COMPARE_OBJ];
 | 
	
		
			
				|  |  | +        // if (src[JV.PROP_FILTER_COMPARE_OBJ_KEY]) dest[JV.PROP_FILTER_COMPARE_OBJ_KEY] = src[JV.PROP_FILTER_COMPARE_OBJ_KEY];
 | 
	
		
			
				|  |  | +        // if (src[JV.PROP_FILTER_COMPARE_VAL]) dest[JV.PROP_FILTER_COMPARE_VAL] = src[JV.PROP_FILTER_COMPARE_VAL];
 | 
	
		
			
				|  |  | +        // if (src[JV.PROP_FILTER_CONDITION]) dest[JV.PROP_FILTER_CONDITION] = src[JV.PROP_FILTER_CONDITION];
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // if (src[JV.PROP_HANDLE_TYPE_SUM]) dest[JV.PROP_HANDLE_TYPE_SUM] = src[JV.PROP_HANDLE_TYPE_SUM];
 | 
	
		
			
				|  |  | +        // if (src[JV.PROP_HANDLE_TYPE_SORT]) dest[JV.PROP_HANDLE_TYPE_SORT] = src[JV.PROP_HANDLE_TYPE_SORT];
 | 
	
		
			
				|  |  | +        // if (src[JV.PROP_HANDLE_TYPE_ADD_DUMMY]) dest[JV.PROP_HANDLE_TYPE_ADD_DUMMY] = src[JV.PROP_HANDLE_TYPE_ADD_DUMMY];
 | 
	
		
			
				|  |  | +        // if (src[JV.PROP_HANDLE_TYPE_ADJUST]) dest[JV.PROP_HANDLE_TYPE_ADJUST] = src[JV.PROP_HANDLE_TYPE_ADJUST];
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // if (src[JV.PROP_PARENT_DATA_KEY]) dest[JV.PROP_PARENT_DATA_KEY] = src[JV.PROP_PARENT_DATA_KEY];
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    private_set_title: function(node) {
 | 
	
		
			
				|  |  | +        let nameStr = node[JV.PROP_NAME], idx = nameStr.indexOf("(");
 | 
	
		
			
				|  |  | +        if (idx >= 0) {
 | 
	
		
			
				|  |  | +            nameStr = nameStr.slice(0, idx);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        node[JV.PROP_NAME] = nameStr + "(" + node["预处理类型"] + ")";
 | 
	
		
			
				|  |  | +        node.Title = "映射数据对象:" + node["映射数据对象"] + " | " + node["预处理类型"];
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    refreshByNode: function(treeNode) {
 | 
	
		
			
				|  |  | +        let me = preHandleObj;
 | 
	
		
			
				|  |  | +        if (me.typeTreeObj) {
 | 
	
		
			
				|  |  | +            let nodes = me.typeTreeObj.getNodes();
 | 
	
		
			
				|  |  | +            let typeNode = null;
 | 
	
		
			
				|  |  | +            for (let node of nodes) {
 | 
	
		
			
				|  |  | +                if (treeNode[JV.PROP_NAME].indexOf(node[JV.PROP_NAME]) > 0) {
 | 
	
		
			
				|  |  | +                    me.typeTreeObj.checkNode(node, true, false, false);
 | 
	
		
			
				|  |  | +                    typeNode = node;
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            let md = $("#select_mapping_data")[0];
 | 
	
		
			
				|  |  | +            for (let i = 0; i < md.children.length; i++) {
 | 
	
		
			
				|  |  | +                if (treeNode[JV.PROP_DATA_KEY] === md.children[i].value) {
 | 
	
		
			
				|  |  | +                    md.selectedIndex = i;
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (typeNode) {
 | 
	
		
			
				|  |  | +                me.private_hide_all();
 | 
	
		
			
				|  |  | +                if (typeNode[JV.PROP_NAME] === "排序") {
 | 
	
		
			
				|  |  | +                    preHandleSortObj.refresh_node();
 | 
	
		
			
				|  |  | +                } else if (typeNode[JV.PROP_NAME] === "过滤") {
 | 
	
		
			
				|  |  | +                    preHandleFilterObj.refresh_node();
 | 
	
		
			
				|  |  | +                } else if (typeNode[JV.PROP_NAME] === "合计") {
 | 
	
		
			
				|  |  | +                    preHandleSummaryObj.refresh_node();
 | 
	
		
			
				|  |  | +                } else if (typeNode[JV.PROP_NAME] === "数据调整") {
 | 
	
		
			
				|  |  | +                    preHandleAdjustObj.refresh_node();
 | 
	
		
			
				|  |  | +                } else if (typeNode[JV.PROP_NAME] === "增加Dummy数据") {
 | 
	
		
			
				|  |  | +                    preHandleAddDummyObj.refresh_node();
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    private_hide_all: function() {
 | 
	
		
			
				|  |  | +        $("#div_sort_type")[0].style.display = "none";
 | 
	
		
			
				|  |  | +        $("#div_sort_type_normal")[0].style.display = "none";
 | 
	
		
			
				|  |  | +        $("#div_filter_type")[0].style.display = "none";
 | 
	
		
			
				|  |  | +        $("#div_summary_type")[0].style.display = "none";
 | 
	
		
			
				|  |  | +        $("#div_adjust_type")[0].style.display = "none";
 | 
	
		
			
				|  |  | +        $("#div_add_dummy_type")[0].style.display = "none";
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    onPreHandleClick: function(event,treeId,treeNode) {
 | 
	
		
			
				|  |  | +        let me = preHandleObj;
 | 
	
		
			
				|  |  | +        me.currentNode = treeNode;
 | 
	
		
			
				|  |  | +        me.setDisabledBandSelect(false);
 | 
	
		
			
				|  |  | +        me.refreshByNode(treeNode);
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    onTypeClick: function(event,treeId,treeNode) {
 | 
	
		
			
				|  |  | +        //
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    onChangeDataMappingObj: function(dom) {
 | 
	
		
			
				|  |  | +        //
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    onSortTypeChange: function(dom) {
 | 
	
		
			
				|  |  | +        // alert(dom.selectedIndex);
 | 
	
		
			
				|  |  | +        // alert(dom[dom.selectedIndex].value);
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    onBeforeDrop: function(treeId, treeNodes, targetNode, moveType){
 | 
	
		
			
				|  |  | +        //
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    onBeforeRemove: function(treeId, treeNode){
 | 
	
		
			
				|  |  | +        let rst = true;
 | 
	
		
			
				|  |  | +        if (treeNode.isParent) {
 | 
	
		
			
				|  |  | +            rst = false;
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            //
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return rst;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    extractTabFields: function (rptTpl) {
 | 
	
		
			
				|  |  | +        //
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +let preHandleSortObj = {
 | 
	
		
			
				|  |  | +    copyNode: function (src, dest) {
 | 
	
		
			
				|  |  | +        dest[JV.PROP_SORT_TYPE] = src[JV.PROP_SORT_TYPE];
 | 
	
		
			
				|  |  | +        switch (sort_types.indexOf(src[JV.PROP_SORT_TYPE])) {
 | 
	
		
			
				|  |  | +            case -1:
 | 
	
		
			
				|  |  | +                //unknown!
 | 
	
		
			
				|  |  | +                break;
 | 
	
		
			
				|  |  | +            case 0 :
 | 
	
		
			
				|  |  | +                //normal
 | 
	
		
			
				|  |  | +                break;
 | 
	
		
			
				|  |  | +            case 1 :
 | 
	
		
			
				|  |  | +                //tree
 | 
	
		
			
				|  |  | +                break;
 | 
	
		
			
				|  |  | +            case 2 :
 | 
	
		
			
				|  |  | +                //according to parent
 | 
	
		
			
				|  |  | +                break;
 | 
	
		
			
				|  |  | +            case 3 :
 | 
	
		
			
				|  |  | +                //self define
 | 
	
		
			
				|  |  | +                break;
 | 
	
		
			
				|  |  | +            default:
 | 
	
		
			
				|  |  | +                break;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    refresh_node: function () {
 | 
	
		
			
				|  |  | +        $("#div_sort_type")[0].style.display = "";
 | 
	
		
			
				|  |  | +        if (preHandleObj.currentNode) {
 | 
	
		
			
				|  |  | +            let sel = $("#select_sort_types")[0];
 | 
	
		
			
				|  |  | +            let sortTypeIdx = sort_types.indexOf(preHandleObj.currentNode[JV.PROP_SORT_TYPE]);
 | 
	
		
			
				|  |  | +            sel.selectedIndex = sortTypeIdx;
 | 
	
		
			
				|  |  | +            switch (sortTypeIdx) {
 | 
	
		
			
				|  |  | +                case -1:
 | 
	
		
			
				|  |  | +                    //unknown!
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case 0 :
 | 
	
		
			
				|  |  | +                    //normal
 | 
	
		
			
				|  |  | +                    $("#div_sort_type_normal")[0].style.display = "";
 | 
	
		
			
				|  |  | +                    let sortKeyRoot = {Name: JV.PROP_SORT_KEYS, items: [], isParent: true};
 | 
	
		
			
				|  |  | +                    let sortKeys = [];
 | 
	
		
			
				|  |  | +                    // me.treeObj = $.fn.zTree.init($("#pre_handle_sort_keys_reversed"), preHandleSetting, handles);
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case 1 :
 | 
	
		
			
				|  |  | +                    //tree
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case 2 :
 | 
	
		
			
				|  |  | +                    //according to parent
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case 3 :
 | 
	
		
			
				|  |  | +                    //self define
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                default:
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +let preHandleFilterObj = {
 | 
	
		
			
				|  |  | +    copyNode: function (src, dest) {
 | 
	
		
			
				|  |  | +        //
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    refresh_node: function () {
 | 
	
		
			
				|  |  | +        $("#div_filter_type")[0].style.display = "";
 | 
	
		
			
				|  |  | +        if (preHandleObj.currentNode) {
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +let preHandleSummaryObj = {
 | 
	
		
			
				|  |  | +    copyNode: function (src, dest) {
 | 
	
		
			
				|  |  | +        //
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    refresh_node: function () {
 | 
	
		
			
				|  |  | +        $("#div_summary_type")[0].style.display = "";
 | 
	
		
			
				|  |  | +        if (preHandleObj.currentNode) {
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +let preHandleAdjustObj = {
 | 
	
		
			
				|  |  | +    copyNode: function (src, dest) {
 | 
	
		
			
				|  |  | +        //
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    refresh_node: function () {
 | 
	
		
			
				|  |  | +        $("#div_adjust_type")[0].style.display = "";
 | 
	
		
			
				|  |  | +        if (preHandleObj.currentNode) {
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +let preHandleAddDummyObj = {
 | 
	
		
			
				|  |  | +    copyNode: function (src, dest) {
 | 
	
		
			
				|  |  | +        //
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    refresh_node: function () {
 | 
	
		
			
				|  |  | +        $("#div_add_dummy_type")[0].style.display = "";
 | 
	
		
			
				|  |  | +        if (preHandleObj.currentNode) {
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +};
 |