| 
					
				 | 
			
			
				@@ -1,8 +1,12 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Created by CSL on 2017-05-18. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//modiyied by zhong on 2017/9/21 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var pageObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    libID: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    gljLibID: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     initPage: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $("#drirect-dinge").click(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $(this).attr('href', "/rationRepository/ration" + "?repository=" + getQueryString("repository")) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -19,263 +23,514 @@ var pageObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             html = html.replace("XXX定额库", libName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $("#rationname")[0].outerHTML = html; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.gljLibID = storageUtil.getSessionCache("gljLib", "repositoryID_" + libID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.libID = libID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        coeOprObj.buildSheet($('#mainSpread')[0]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        gljAdjOprObj.buildSheet($('#contentSpread')[0]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        coeOprObj.getCoeList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        gljAdjOprObj.getGljItemsOcc(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        coeList.show(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    showData: function(sheet, setting, data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = pageObj, ch = GC.Spread.Sheets.SheetArea.viewport; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sheet.suspendPaint(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sheet.suspendEvent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sheet.clear(0, 0, sheet.getRowCount(), sheet.getColumnCount(), GC.Spread.Sheets.SheetArea.viewport, GC.Spread.Sheets.StorageType.data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sheet.setRowCount(data.length + 3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (let col = 0; col < setting.header.length; col++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var hAlign = "left", vAlign = "center"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (setting.header[col].hAlign) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                hAlign = setting.header[col].hAlign; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else if (setting.header[col].dataType !== "String"){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                hAlign = "right"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(setting.header[col].readOnly){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sheet.getRange(-1, col, -1, 1).locked(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sheet.getRange(-1, col, -1, 1).locked(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            vAlign = setting.header[col].vAlign?setting.header[col].vAlign:vAlign; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sheetCommonObj.setAreaAlign(sheet.getRange(-1, col, -1, 1), hAlign, vAlign); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (setting.header[col].formatter) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sheet.setFormatter(-1, col, setting.header[col].formatter, GC.Spread.Sheets.SheetArea.viewport); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (let row = 0; row < data.length; row++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let val = data[row][setting.header[col].dataCode]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sheet.setValue(row, col, val, ch); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sheet.resumeEvent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sheet.resumePaint(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var coeList = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    mainSpread: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    detailSpread: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    datas: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    libID: Number, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    tempID: -999999,       // 本地新增一条数据给的默认ID,用作标记,服务端返回新ID后替换该ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    colDefMain: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {name: "ID", displayName: "ID", size: 60, hAlign: "center", readOnly: true}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {name: "name", displayName: "名称", size: 280}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {name: "content", displayName: "内容", size: 250} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    colDefContent: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {name: "coeType", displayName: "类型", size: 100, hAlign: "center"}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {name: "gljCode", displayName: "工料机编号", size: 100, dataType: "String", formatter: "@", hAlign: "center"}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {name: "operator", displayName: "操作符", size: 60, hAlign: "center"}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {name: "amount", displayName: "数量", size: 80, hAlign: "right"} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    show: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var me = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.libID = getQueryString("repository"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.getDatas(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.mainSpread = sheetObj.create($('#mainSpread')[0], me.colDefMain, me.datas); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.detailSpread = sheetObj.create($('#contentSpread')[0], me.colDefContent, me.datas[0].coes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var coeType = new GC.Spread.Sheets.CellTypes.ComboBox(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        coeType.items(["单个","定额","人工","材料","机械"]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.detailSpread.getSheet(0).getRange(-1, 0, -1, 1).cellType(coeType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var operType = new GC.Spread.Sheets.CellTypes.ComboBox(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        operType.items(["+","-","*","/","="]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.detailSpread.getSheet(0).getRange(-1, 2, -1, 1).cellType(operType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.detailSpread.options.showVerticalScrollbar = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.mainSpread.getSheet(0).bind(GC.Spread.Sheets.Events.EnterCell, me.onMainEnterCell); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.mainSpread.getSheet(0).bind(GC.Spread.Sheets.Events.CellChanged, me.onMainCellChanged); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.mainSpread.getSheet(0).bind(GC.Spread.Sheets.Events.RangeChanged, me.onMainRangeChanged); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.detailSpread.getSheet(0).bind(GC.Spread.Sheets.Events.CellChanged, me.onDetailCellChanged); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.detailSpread.getSheet(0).bind(GC.Spread.Sheets.Events.RangeChanged, me.onDetailRangeChanged); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let coeOprObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    workBook: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    workSheet: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    currentCoeList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    currentCoe: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //currentMaxNo: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setting: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        header: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName:"编号", headerWidth:60, dataCode:"ID", dataType: "String", hAlign: "center", vAlign: "center", readOnly: true}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName:"名称", headerWidth:280, dataCode:"name", dataType: "String", hAlign: "left", vAlign: "center", readOnly: false}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName:"内容", headerWidth:250, dataCode:"content", dataType: "String", hAlign: "left", vAlign: "center", readOnly: false}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    buildSheet: function (container) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = coeOprObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.workBook = sheetCommonObj.buildSheet(container, me.setting, 30); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.workSheet = me.workBook.getSheet(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.workSheet.options.isProtected = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.onDelOpr(me.workBook, me.setting); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.workSheet.bind(GC.Spread.Sheets.Events.SelectionChanged, me.onSelectionChanged); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.workSheet.bind(GC.Spread.Sheets.Events.EditEnded, me.onEditEnded); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.workBook.bind(GC.Spread.Sheets.Events.ClipboardPasting, me.onClipboardPasting); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.workBook.bind(GC.Spread.Sheets.Events.ClipboardPasted, me.onClipboardPasted); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onSelectionChanged: function (sender, info) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = coeOprObj, that = gljAdjOprObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(info.oldSelections.length === 0 && info.newSelections.length > 0 || info.oldSelections[0].row !== info.newSelections[0].row){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let row = info.newSelections[0].row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(row < me.currentCoeList.length){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                me.currentCoe = me.currentCoeList[row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                that.currentGljAdjList = me.currentCoe.coes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                me.currentCoe = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                that.currentGljAdjList = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //refresh & show coes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sheetCommonObj.cleanSheet(that.workSheet, that.setting, -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.workBook.focus(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            that.show(that.currentGljAdjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onEditEnded: function (sender, args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = coeOprObj, addArr = [], updateArr = [], dataCode = me.setting.header[args.col].dataCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(args.editingText && args.editingText.toString().trim().length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //update 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(args.row < me.currentCoeList.length){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let updateObj = me.currentCoeList[args.row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(updateObj[dataCode] !== args.editingText.toString().trim()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    updateObj[dataCode] = args.editingText; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    updateArr.push(updateObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    me.save([], updateArr, [], true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //insert 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let newCoe = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //me.currentMaxNo ++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                newCoe.libID = pageObj.libID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //newCoe.serialNo = me.currentMaxNo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                newCoe[dataCode] = args.editingText; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                addArr.push(newCoe); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                me.save(addArr, [], [], true, function (result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    me.updateCurrentCoeList(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onClipboardPasting: function (sender, info) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = coeOprObj, maxCol = info.cellRange.col + info.cellRange.colCount - 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(maxCol > me.setting.header.length){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            info.cancel = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onClipboardPasted: function (sender, info) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = coeOprObj, addArr = [], updateArr = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let items = sheetCommonObj.analyzePasteData(me.setting, info); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for(let i = 0, len = items.length; i < len; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let row = i + info.cellRange.row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //update 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(row < me.currentCoeList.length){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let updateObj = me.currentCoeList[row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for(let attr in items[i]){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    updateObj[attr] = items[i][attr]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                updateArr.push(updateObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //insert 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //items[i].serialNo = ++ me.currentMaxNo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                items[i].libID = pageObj.libID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                addArr.push(items[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(addArr.length > 0 || updateArr.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.save(addArr, updateArr, [], true, function (result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                me.updateCurrentCoeList(result) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onDelOpr: function (workBook, setting) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = coeOprObj, that = gljAdjOprObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        workBook.commandManager().register('coeListDel', function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let deleteArr = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let sheet = workBook.getSheet(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let sels = sheet.getSelections(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let idx = sels[0].row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for(let i = 0, len = sels.length; i < len; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(idx > sels[i].row){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    idx = sels[i].row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(sels[i].colCount === setting.header.length){//can del 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    for(let r = 0, rLen = sels[i].rowCount; r < rLen; r++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        let row = sels[i].row + r; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(row < me.currentCoeList.length){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            deleteArr.push({libID: me.currentCoeList[row].libID, ID: me.currentCoeList[row].ID}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    me.currentCoeList.splice(sels[i].row, sels[i].rowCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(deleteArr.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                me.save([], [], deleteArr, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                me.currentCoe = typeof me.currentCoeList[idx] !== 'undefined' ? me.currentCoeList[idx] : null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                that.currentGljAdjList = me.currentCoe ? me.currentCoe.coes : []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                gljAdjOprObj.show(that.currentGljAdjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    getDatas: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var me = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        workBook.commandManager().setShortcutKey(null, GC.Spread.Commands.Key.del, false, false, false, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        workBook.commandManager().setShortcutKey('coeListDel', GC.Spread.Commands.Key.del, false, false, false, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    updateCurrentCoeList: function (newCoeList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = coeOprObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.currentCoeList = me.currentCoeList.concat(newCoeList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.sortCoeList(me.currentCoeList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sortCoeList: function (coeList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        coeList.sort(function (a, b) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let rst = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(a.ID > b.ID) rst = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else if(a.ID < b.ID) rst = -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return rst; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getCoeList: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = coeOprObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $.ajax({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            type:"POST", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            url:"/rationRepository/api/getCoeList", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            data:{"libID": me.libID}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dataType:"json", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            cache:false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            async: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            type: 'post', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            url: '/rationRepository/api/getCoeList', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            data: {libID: pageObj.libID}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            dataType: 'json', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             timeout:20000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             success: function (result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (result.data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    me.datas = result.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(!result.error){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    me.currentCoeList = result.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    me.sortCoeList(me.currentCoeList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //me.currentMaxNo =  me.currentCoeList.length > 0 ? me.currentCoeList[me.currentCoeList.length - 1].serialNo : 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    pageObj.showData(me.workSheet, me.setting, me.currentCoeList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    me.workSheet.clearSelection(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            error: function (result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                alert('内部程序错误!'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            error:function(err){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                alert("内部程序错误!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /*getLibID: function(libName){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var me = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    save: function (addArr, updateArr, deleteArr, refresh, callback) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = coeOprObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $.ajax({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             type:"POST", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            url:"/rationRepository/api/getLibIDByName", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            data:{"libName": libName}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            url:"api/saveCoeList", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            data: {data: JSON.stringify({addArr: addArr, updateArr: updateArr, deleteArr: deleteArr})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             dataType:"json", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            cache:false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            async: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            timeout:20000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            success: function (result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (result.data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    me.libID = result.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            timeout:5000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            success:function(result){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (result.error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    alert(result.message); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(callback){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(result.message === 'mixed'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            for(let i = 0, len = result.data.length; i < len; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                if(result.data[i][0] === 'addSc'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    result.data = result.data[i][1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        callback(result.data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(refresh){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        pageObj.showData(me.workSheet, me.setting, me.currentCoeList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            error: function (result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                alert('内部程序错误!'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            error:function(err){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                alert("内部程序错误!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    },*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    onMainEnterCell: function(sender, args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var me = coeList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var row = args.sheet.getActiveRowIndex(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.detailSpread.suspendPaint(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var dSheet = me.detailSpread.getSheet(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var dData = me.datas[row].coes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (dData == undefined){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dSheet.setDataSource([]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dSheet.setRowCount(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dSheet.setDataSource(dData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.showNullRow(dSheet); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.detailSpread.resumePaint(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let gljAdjOprObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    workBook: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    workSheet: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    currentGljAdjList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    gljList: [],//只含编号和名称的总工料机列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setting: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        header: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName:"调整类型", headerWidth:100, dataCode:"coeType", dataType: "String", hAlign: "center", vAlign: "center", readOnly: false}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName:"工料机编码", headerWidth:100, dataCode:"gljCode", dataType: "String", formatter: '@', hAlign: "center", vAlign: "center", readOnly: false}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName:"名称", headerWidth:100, dataCode:"gljName", dataType: "String", hAlign: "center", vAlign: "center", readOnly: true}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName:"操作符", headerWidth:60, dataCode:"operator", dataType: "String", hAlign: "center", vAlign: "center", readOnly: false}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName:"数量", headerWidth:80, dataCode:"amount", dataType: "String", hAlign: "center", vAlign: "center" , readOnly: false}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        comboItems: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //调整类型下拉菜单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            coeType: ['定额子目', '人工类', '材料类', '机械类', '主材类', '设备类', '单个工料机'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //操作符下拉菜单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            operator: ['+', '-', '*', '/', '='] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    onMainCellChanged: function(sender, args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (args.propertyName !== "value"){return;}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var me = coeList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var row = args.sheet.getActiveRowIndex(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var obj = me.datas[row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (obj.ID == undefined){           // 空行录入,即新增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            obj.libID = me.libID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            obj.ID = me.tempID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (obj.name == undefined){obj.name = '';};     // 生成属性,令属性存储顺序一致 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (obj.content == undefined){obj.content = '';}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            obj.coes = [{coeType:"定额", operator:"*", amount: "0"}]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.datas[row] = obj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.save([obj],[],[]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.detailSpread.suspendPaint(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.detailSpread.getSheet(0).setDataSource(me.datas[row].coes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.detailSpread.resumePaint(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var sheet = me.mainSpread.getSheet(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.showNullRow(sheet); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    buildSheet: function (container) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = gljAdjOprObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.workBook = sheetCommonObj.buildSheet(container, me.setting, 3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.workSheet = me.workBook.getSheet(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.workSheet.options.isProtected = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.onDelOpr(me.workBook, me.setting); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.workSheet.clearSelection(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.buildComboBox(me.workSheet); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.workSheet.bind(GC.Spread.Sheets.Events.EditStarting, me.onEditStart); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.workSheet.bind(GC.Spread.Sheets.Events.EditEnded, me.onEditEnded); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.workSheet.bind(GC.Spread.Sheets.Events.ClipboardPasting, me.onClipboardPasting); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.workSheet.bind(GC.Spread.Sheets.Events.ClipboardPasted, me.onClipboardPasted); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    buildComboBox: function (sheet) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = gljAdjOprObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sheet.suspendPaint(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sheet.suspendEvent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let comboType = new GC.Spread.Sheets.CellTypes.ComboBox(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        comboType.items(me.setting.comboItems.coeType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let comboOpr = new GC.Spread.Sheets.CellTypes.ComboBox(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        comboOpr.items(me.setting.comboItems.operator); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sheet.getCell(-1, 0).cellType(comboType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sheet.getCell(-1, 3).cellType(comboOpr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sheet.resumePaint(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sheet.resumeEvent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onEditStart: function (sender, args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = gljAdjOprObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(!coeOprObj.currentCoe || args.row >= me.currentGljAdjList.length && args.col === 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            || args.row < me.currentGljAdjList.length && args.col === 1 && me.currentGljAdjList[args.row].coeType !== '单个工料机'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            args.cancel = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    , 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onEditEnded: function (sender, args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = gljAdjOprObj, isUpdate = false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            dataCode = me.setting.header[args.col].dataCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(args.editingText && args.editingText.toString().trim().length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(dataCode === 'amount' &&  isNaN(args.editingText)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                args.sheet.setValue(args.row, args.col, typeof me.currentGljAdjList[args.row] !== 'undefined' && typeof me.currentGljAdjList[args.row][dataCode] !== 'undefined' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ? me.currentGljAdjList[args.row][dataCode] + '' : ''); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                alert("只能输入数值!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //update 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(args.row < me.currentGljAdjList.length && args.editingText.toString().trim() !== me.currentGljAdjList[args.row][dataCode]){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    let updateObj = me.currentGljAdjList[args.row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(dataCode === 'gljCode' && typeof updateObj.coeType !== 'undefined' && updateObj.coeType === '单个工料机'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        let gljName = me.getGljName(args.editingText, me.gljList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(gljName){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            updateObj.gljCode = args.editingText; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            updateObj.gljName = gljName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            isUpdate = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            alert("不存在编号为"+ args.editingText +"的工料机"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    else if(dataCode !== 'gljCode') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        isUpdate = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        updateObj[dataCode] = args.editingText; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //insert 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                else if(args.row >= me.currentGljAdjList.length){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    isUpdate = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    let newAdjGlj = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    newAdjGlj[dataCode] = args.editingText; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    me.currentGljAdjList.push(newAdjGlj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(isUpdate){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    coeOprObj.save([], [coeOprObj.currentCoe], [], false, function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        me.show(me.currentGljAdjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    args.sheet.setValue(args.row, args.col, typeof me.currentGljAdjList[args.row] !== 'undefined' && typeof me.currentGljAdjList[args.row][dataCode] !== 'undefined' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ? me.currentGljAdjList[args.row][dataCode] + '' : ''); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        else{ // 正常修改 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.save([],[],[obj]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onClipboardPasting: function (sender, info) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    onMainRangeChanged: function(sender, args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (args.action == GC.Spread.Sheets.RangeChangedAction.clear) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!confirm('确定要删除本条附注条件吗?')){ args.cancel = true; return; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var me = coeList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var obj = me.datas[args.row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.save([],[obj],[]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            args.sheet.deleteRows(args.row, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    onDetailCellChanged: function(sender, args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (args.propertyName !== "value"){return;}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var me = coeList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var mainRow = me.mainSpread.getSheet(0).getActiveRowIndex(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var detailRow = args.sheet.getActiveRowIndex(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var detailDatas = me.datas[mainRow].coes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var curDetailData = detailDatas[detailRow]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (curDetailData !== undefined){       // 当在空白行输入时,curDetailData为undefined。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var curType = curDetailData.coeType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (curType !== '单个'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                me.detailSpread.suspendPaint(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                curDetailData.gljCode = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                me.detailSpread.resumePaint(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (curDetailData.operator == undefined){ curDetailData.operator = "*"; } ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (curDetailData.amount == undefined){ curDetailData.amount = "0"; } ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/*        var curType = args.sheet.getValue(detailRow, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (curType !== '单个'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.detailSpread.suspendEvent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            args.sheet.setValue(detailRow, 1, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.detailSpread.resumeEvent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //args.sheet.getCell(row, 1).backColor("red"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getValidPasteDatas: function (pasteItems, info) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = gljAdjOprObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let rst = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for(let i = 0, len = pasteItems.length; i < len; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let row = i + info.cellRange.row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let validObj = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //update 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(row < me.currentGljAdjList.length){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let updateObj = me.currentGljAdjList[row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(typeof pasteItems[i].coeType !== 'undefined' && typeof pasteItems[i].gljCode !== 'undefined'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    let gljName = me.getGljName(pasteItems[i].gljCode, me.gljList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(pasteItems[i].coeType === '单个工料机' && gljName){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        validObj.coeType = pasteItems[i].coeType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        validObj.gljCode = pasteItems[i].gljCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        validObj.gljName = gljName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    else if(pasteItems[i].coeType !== '单个工料机' && me.setting.comboItems.coeType.indexOf(pasteItems[i].coeType) !== -1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        validObj.coeType = pasteItems[i].coeType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                else if(typeof pasteItems[i].coeType === 'undefined' && typeof pasteItems[i].gljCode !== 'undefined'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    let gljName = me.getGljName(pasteItems[i].gljCode, me.gljList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(typeof updateObj.coeType !== 'undefined' && updateObj.coeType === '单个工料机' && gljName){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        validObj.gljCode = pasteItems[i].gljCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        validObj.gljName = gljName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                else if(typeof pasteItems[i].coeType !== 'undefined' && typeof pasteItems[i].gljCode === 'undefined'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(me.setting.comboItems.coeType.indexOf(pasteItems[i].coeType) !== -1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        validObj.coeType = pasteItems[i].coeType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(validObj.coeType !== '单个工料机' && typeof updateObj.gljCode !== '单个工料机' && updateObj.gljCode.toString().trim().length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            validObj.gljCode = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            validObj.gljName = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(typeof pasteItems[i].operator !== 'undefined' && me.setting.comboItems.operator.indexOf(pasteItems[i].operator) !== -1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        validObj.operator = pasteItems[i].operator; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(typeof pasteItems[i].amount !== 'undefined' && !isNaN(pasteItems[i].amount)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        validObj.amount = pasteItems[i].amount; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(typeof pasteItems[i].coeType !== 'undefined' && typeof pasteItems[i].gljCode !== 'undefined'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    let gljName = me.getGljName(pasteItems[i].gljCode, me.gljList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(pasteItems[i].coeType === '单个工料机' && gljName){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        validObj.coeType = pasteItems[i].coeType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        validObj.gljCode = pasteItems[i].gljCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        validObj.gljName = gljName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    else if(pasteItems[i].coeType !== '单个工料机' && me.setting.comboItems.coeType.indexOf(pasteItems[i].coeType) !== -1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        validObj.coeType = pasteItems[i].coeType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                else if(typeof pasteItems[i].gljCode === 'undefined') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(typeof pasteItems[i].coeType !== 'undefined' && me.setting.comboItems.coeType.indexOf(pasteItems[i].coeType) !== -1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        validObj.coeType = pasteItems[i].coeType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(typeof pasteItems[i].operator !== 'undefined' && me.setting.comboItems.operator.indexOf(pasteItems[i].operator) !== -1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        validObj.operator = pasteItems[i].operator; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(typeof pasteItems[i].amount !== 'undefined' && !isNaN(pasteItems[i].amount)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        validObj.amount = pasteItems[i].amount; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(Object.keys(validObj).length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                rst.push(validObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //args.sheet.getCell(row, 1).backColor("Blue"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        };*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var obj = me.datas[mainRow]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.save([],[],[obj]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.showNullRow(args.sheet); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return rst; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    onDetailRangeChanged: function(sender, args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (args.action == GC.Spread.Sheets.RangeChangedAction.clear) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!confirm('确定要删除该类型的明细数据吗?')){ args.cancel = true; return; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var me = coeList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var detailData = args.sheet.getDataSource(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            args.sheet.deleteRows(args.row, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var mainRow = me.mainSpread.getSheet(0).getActiveRowIndex(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var obj = me.datas[mainRow]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.save([],[],[obj]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onClipboardPasted: function (sender, info) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = gljAdjOprObj, row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let items = sheetCommonObj.analyzePasteData(me.setting, info); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let validDatas = me.getValidPasteDatas(items, info); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for(let i = 0, len = validDatas.length; i < len; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            row = i + info.cellRange.row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //update 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(row < me.currentGljAdjList.length){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let updateObj = me.currentGljAdjList[row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for(let attr in validDatas[i]){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    updateObj[attr] = validDatas[i][attr]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //insert 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                me.currentGljAdjList.push(validDatas[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(validDatas.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            coeOprObj.save([], [coeOprObj.currentCoe], [], false, function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                me.show(me.currentGljAdjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.show(me.currentGljAdjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    showNullRow: function(sheet){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var datas = sheet.getDataSource(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //alert('004: datas.length: ' + datas.length + ', sheet.getRowCount: ' + sheet.getRowCount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var lastData = datas[datas.length - 1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (!$.isEmptyObject(lastData)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            sheet.addRows(sheet.getRowCount(), 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //alert('005: datas.length: ' + datas.length + ', sheet.getRowCount: ' + sheet.getRowCount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onDelOpr: function (workBook, setting) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = gljAdjOprObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        workBook.commandManager().register('gljAdjDel', function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let sheet = workBook.getSheet(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let sels = sheet.getSelections(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let isUpdate = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for(let i = 0, len = sels.length; i < len; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(sels[i].colCount === setting.header.length){//can del 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(sels[i].row < me.currentGljAdjList.length){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        isUpdate = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        me.currentGljAdjList.splice(sels[i].row, sels[i].rowCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(isUpdate){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                coeOprObj.save([], [coeOprObj.currentCoe], [], false, function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    me.show(me.currentGljAdjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        workBook.commandManager().setShortcutKey(null, GC.Spread.Commands.Key.del, false, false, false, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        workBook.commandManager().setShortcutKey('gljAdjDel', GC.Spread.Commands.Key.del, false, false, false, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    save: function(addArr, deleteArr, updateArr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var me = coeList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //var addArrTemp = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //var deleteArrTemp = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var updateArrTemp = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 空行会产生空对象数据,清理空对象会给sheet的空行效果带来奇怪的干扰,这里要中转一下。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (updateArr.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            $.extend(true, updateArrTemp, updateArr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //debug.d('011: ', updateArrTemp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //debug.d('012: ', updateArr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            deleteEmptyObject(updateArrTemp[0].coes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //debug.d('013: ', updateArrTemp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //debug.d('014: ', updateArr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getGljName: function (gljCode, gljList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let rst = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for(let i = 0, len = gljList.length; i < len; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(gljCode === gljList[i].code){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                rst = gljList[i].name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return rst; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    show: function (coes) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = gljAdjOprObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pageObj.showData(me.workSheet, me.setting, coes) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getGljItemsOcc: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = gljAdjOprObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $.ajax({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            type:"POST", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            url:"api/saveCoeList", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            data: {"data": JSON.stringify({"addArr": addArr, "deleteArr": deleteArr, "updateArr": updateArrTemp})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dataType:"json", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            cache:false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            timeout:5000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            type: 'post', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            url: '/stdGljRepository/api/getGljItemsOccupied', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            data: {repId: pageObj.gljLibID, occupation: '-_id code name'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            dataType: 'json', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            timeout: 5000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             success:function(result){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (result.error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     alert(result.message); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    // 成功。更新从后台返回的新ID。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (addArr.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        for (var i = 0; i < me.datas.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if (me.datas[i].ID == me.tempID){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                me.datas[i].ID = result.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                me.mainSpread.getSheet(0).repaint(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    me.gljList = result.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             error:function(err){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 alert("内部程序错误!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-pageObj.initPage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |