| 
					
				 | 
			
			
				@@ -0,0 +1,333 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Created by Zhong on 2017/8/25. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let gljSelOprObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    parentNodeIds: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    treeObj:null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    rootNode: null,//分类树根节点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    radiosSelected: null,//allGljs, stdGljs, complementaryGljs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    workBook: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    selectedList: [],//选中的工料机 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setting: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        header: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName:"选择", headerWidth: 40, dataCode: "select", hAlign: "center", vAlign: "center"}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName:"编码",headerWidth:80,dataCode:"code", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName:"名称",headerWidth:120,dataCode:"name", dataType: "String", hAlign: "left", vAlign: "center"}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName:"规格型号",headerWidth:80,dataCode:"specs", dataType: "String", hAlign: "center", vAlign: "center"}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName:"单位",headerWidth:80,dataCode:"unit", dataType: "String", hAlign: "center", vAlign: "center"}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName:"单价",headerWidth:80,dataCode:"basePrice", dataType: "Number", formatter: "0.00", hAlign: "right", vAlign: "center"}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName:"类型",headerWidth:80,dataCode:"gljType", dataType: "String",  hAlign: "center", vAlign: "center"} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setProp: function (prop, value, gljList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for(let i = 0, len = gljList.length; i < len; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            gljList[i][prop] = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sortGlj: function(gljList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        gljList.sort(function(a, b){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let rst = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (a.code > b.code) rst = 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else if (a.code < b.code) rst = -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return rst; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    switchToGljId: function (gljList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for(let glj of gljList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            glj.gljId = glj.ID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            delete glj.ID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getSelGljItems: function(stdGljLibId, callback) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CommonAjax.post('/complementartGlj/api/getGljItems', {stdGljLibId: stdGljLibId}, function (rstData) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.stdGljList = rstData.stdGljs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.complementaryGljList = rstData.complementaryGljs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.switchToGljId(me.stdGljList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.switchToGljId(me.complementaryGljList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.setProp('type', 'std', me.stdGljList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.setProp('type', 'complementary', me.complementaryGljList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.sortGlj(me.stdGljList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.sortGlj(me.complementaryGljList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(callback){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                callback(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getGljClassTree: function (gljLibId, callback) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let url = '/complementartGlj/api/getGljTree'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let postData = {gljLibId: gljLibId}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let sucFunc = function (rstData) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            zTreeHelper.createTree(rstData, gljSelTreeOprObj.setting, "selGljTree", gljSelOprObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let rootNode = gljSelOprObj.treeObj.getNodes()[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(rootNode && rootNode.isParent && rootNode.isFirstNode){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                gljSelOprObj.rootNode = rootNode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            gljSelOprObj.buildSheet($('#gljSelSheet')[0]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(callback){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                callback(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let errFunc = function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CommonAjax.post(url, postData, sucFunc, errFunc); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    buildSheet: function (container) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = gljSelOprObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.workBook = sheetCommonObj.buildSheet(container, me.setting, 30); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.workBook.getSheet(0).setColumnWidth(0, 20, GC.Spread.Sheets.SheetArea.rowHeader); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.workBook.getSheet(0).setFormatter(-1, 1, "@", GC.Spread.Sheets.SheetArea.viewport); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.EditStarting, me.onCellEditStart); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.ClipboardPasting, me.onClipboardPasting); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.workBook.bind(GC.Spread.Sheets.Events.ButtonClicked, me.onButtonClicked);//复选框点击事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.bindBtnOpr($('#gljSelY')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.radiosChange(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onClipboardPasting: function (sender, args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        args.cancel = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onCellEditStart: function (sender, args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        args.cancel = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onButtonClicked: function (sender, args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = gljSelOprObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let val = args.sheet.getValue(args.row, args.col); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let thisGlj = me.currentCache[args.row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        thisGlj.isChecked = val; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(args.sheet.isEditing()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            args.sheet.endEdit(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //设置选中 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(val === true){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let isExist = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for(let i = 0, len = me.selectedList.length; i < len; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(me.selectedList[i].gljId === thisGlj.gljId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        isExist = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(!isExist){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    thisGlj.consumeAmt = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    me.selectedList.push(thisGlj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else if(val === false){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for(let i = 0, len = me.selectedList.length; i < len; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(me.selectedList[i].gljId === thisGlj.gljId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        me.selectedList.splice(i, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setShowGljList: function (gljList, clearChecked) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //初始为所有工料机 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let  me = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let curRationGlj = rationGLJOprObj.cache['_GLJ_' + rationGLJOprObj.currentRationItem.ID]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for(let i = 0; i < gljList.length; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //去除与已添加的组成物重复的条目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let isExist = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for(let j = 0; j < curRationGlj.length; j++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(curRationGlj[j].gljId === gljList[i].gljId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    isExist = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(!isExist){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(clearChecked){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    gljList[i].isChecked = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                gljList[i].isChecked = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.showGljList.push(gljList[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //初始默认radio 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    initRadio: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = gljSelOprObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $('#gljSearchKeyword').val('');//恢复搜索文本 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.selectedList = [].concat(rationGLJOprObj.cache['_GLJ_' + rationGLJOprObj.currentRationItem.ID]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //默认radio所有工料机 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(typeof $("input[name='glj']:checked")[0] !== 'undefined'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $("input[name='glj']:checked")[0].checked = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $("input[value = 'allGljs']")[0].checked = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.radiosSelected = 'allGljs'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //初始为所有工料机 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.showGljList = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(me.radiosSelected === 'allGljs'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.setShowGljList(me.stdGljList, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.setShowGljList(me.complementaryGljList, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.sortGlj(me.showGljList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    filterDatasAndShow: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = gljSelOprObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let val = $("input[name='glj']:checked").val(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.radiosSelected = val; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //选择改变,数据重新筛选显示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.showGljList = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(me.radiosSelected === 'allGljs'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.setShowGljList(me.stdGljList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.setShowGljList(me.complementaryGljList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else if(me.radiosSelected === 'stdGljs'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.setShowGljList(me.stdGljList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else if(me.radiosSelected === 'complementaryGljs'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.setShowGljList(me.complementaryGljList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //搜索匹配 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let searchStr = $('#gljSearchKeyword').val(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(searchStr && searchStr.trim() != ''){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let reg = new RegExp(searchStr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.showGljList = _.filter(me.showGljList, function (data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return reg.test(data.code) || reg.test(data.name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.sortGlj(me.showGljList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //重新显示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.showGljItems(me.showGljList, me.gljCurTypeId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //切换radio后更新cache 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (me.currentOprParent = 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(me.parentNodeIds["_pNodeId_" + me.gljCurTypeId]){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                me.currentCache = me.getParentCache(me.parentNodeIds["_pNodeId_" + me.gljCurTypeId]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                me.currentCache = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.currentCache = me.getCache(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //监听radios选择事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    radiosChange: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = gljSelOprObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $('.glj-radio').change(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.filterDatasAndShow(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getParentCache: function (nodes) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = gljSelOprObj, rst = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for(let i = 0; i < me.showGljList.length; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(nodes.indexOf(me.showGljList[i].gljClass) !== -1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                rst.push(me.showGljList[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        rst.sort(function (a, b) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let rst = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(a.code > b.code) rst = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else if(a.code < b.code)rst = -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return rst; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return rst; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getCache: function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = gljSelOprObj, rst = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (let i = 0; i < me.showGljList.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (me.showGljList[i].gljClass == me.gljCurTypeId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                rst.push(me.showGljList[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return rst; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    showGljItems: function(data, type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = gljSelOprObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (me.workBook) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let cacheSection = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let pArr = me.parentNodeIds["_pNodeId_" + type]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (let i = 0; i < data.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (pArr && pArr.indexOf(data[i].gljClass) >= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    cacheSection.push(data[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else if (type == data[i].gljClass) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    cacheSection.push(data[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sheetCommonObj.cleanSheet(me.workBook.getSheet(0), me.setting, -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sheetsOprObj.showDataForGljSel(me.workBook.getSheet(0), me.setting, cacheSection, rationGLJOprObj.distTypeTree); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.workBook.getSheet(0).setRowCount(cacheSection.length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cacheSection = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //组成物窗口按钮操作 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    bindBtnOpr: function (conf) {//确定、取消、关闭按钮 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = gljSelOprObj, that = rationGLJOprObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        conf.click(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            that.cache['_GLJ_' + that.currentRationItem.ID] = me.selectedList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            that.updateRationItem(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                that.sheet.getParent().focus(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sheetCommonObj.cleanData(that.sheet, that.setting, -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                that.showGljItems(that.currentRationItem.ID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $('#selGlj').modal('hide'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let gljSelTreeOprObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     setting: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        view: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            expandSpeed: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            selectedMulti: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        edit: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            enable: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            editNameSelectAll: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            showRemoveBtn: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            showRenameBtn: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            removeTitle: "删除节点", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            renameTitle: "更改名称" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            keep: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                parent:true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                leaf:true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            key: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                children: "items", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                name: "Name" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            simpleData: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                enable: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                idKey: "ID", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                pIdKey: "ParentID", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                rootPId: -1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        callback:{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            onClick: function(event,treeId,treeNode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let me = gljSelOprObj, gljTypeId = treeNode.ID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(me.gljCurTypeId !== treeNode.ID){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    me.gljCurTypeId = treeNode.ID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (me.parentNodeIds["_pNodeId_" + treeNode.ID]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        me.currentOprParent = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        me.currentCache = me.getParentCache(me.parentNodeIds["_pNodeId_" + treeNode.ID]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        me.currentCache = me.getCache(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                me.showGljItems(me.showGljList, gljTypeId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(document).ready(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $('#gljSearchKeyword').change(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        gljSelOprObj.filterDatasAndShow(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $('#gljSearchKeyword').bind('keypress', function (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(e.keyCode === 13){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $(this).blur(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}); 
			 |