|  | @@ -6,6 +6,7 @@ var rationGLJOprObj = {
 | 
	
		
			
				|  |  |      currentRationItem: null,
 | 
	
		
			
				|  |  |      distTypeTree: null,
 | 
	
		
			
				|  |  |      activeCell: null,
 | 
	
		
			
				|  |  | +    tempCacheArr: [],//被更新的工料机,若更新的工料机不存在,则恢复
 | 
	
		
			
				|  |  |      cache: {},
 | 
	
		
			
				|  |  |      setting: {
 | 
	
		
			
				|  |  |          header:[
 | 
	
	
		
			
				|  | @@ -173,6 +174,7 @@ var rationGLJOprObj = {
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      onClipboardPasted: function(e, info) {
 | 
	
		
			
				|  |  |          var me = rationGLJOprObj, repId = storageUtil.getSessionCache("RationGrp","repositoryID");
 | 
	
		
			
				|  |  | +        me.tempCacheArr = [];
 | 
	
		
			
				|  |  |          if (repId) {
 | 
	
		
			
				|  |  |              let gljLibId = storageUtil.getSessionCache("gljLib", "repositoryID_" + repId);
 | 
	
		
			
				|  |  |              if(gljLibId){
 | 
	
	
		
			
				|  | @@ -183,6 +185,7 @@ var rationGLJOprObj = {
 | 
	
		
			
				|  |  |                      for (var i = 0; i < tmpCodes.length; i++) {
 | 
	
		
			
				|  |  |                          let rowIdx = info.cellRange.row + i;
 | 
	
		
			
				|  |  |                          if(rowIdx < cacheArr.length){//更新
 | 
	
		
			
				|  |  | +                            me.tempCacheArr.push(cacheArr[rowIdx]);
 | 
	
		
			
				|  |  |                              cacheArr.splice(rowIdx--, 1);
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                          codes.push(tmpCodes[i].code);
 | 
	
	
		
			
				|  | @@ -220,67 +223,74 @@ var rationGLJOprObj = {
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      onCellEditEnd: function(sender, args){
 | 
	
		
			
				|  |  |          var me = rationGLJOprObj;
 | 
	
		
			
				|  |  | -        var cacheArr = me.cache["_GLJ_" + me.currentRationItem.ID];
 | 
	
		
			
				|  |  | -        if (args.col != 0) {
 | 
	
		
			
				|  |  | -            if (args.row < cacheArr.length) {
 | 
	
		
			
				|  |  | -                var editGlj = cacheArr[args.row];
 | 
	
		
			
				|  |  | -                if (editGlj["consumeAmt"] != args.editingText) {
 | 
	
		
			
				|  |  | -                    let parseNum = parseFloat(args.editingText);
 | 
	
		
			
				|  |  | -                    if(isNaN(parseFloat(args.editingText))){
 | 
	
		
			
				|  |  | -                        $('#alertModalBtn').click();
 | 
	
		
			
				|  |  | -                        $('#alertText').text("定额消耗只能输入数值!");
 | 
	
		
			
				|  |  | -                        args.sheet.options.isProtected = true;
 | 
	
		
			
				|  |  | -                        $('#alertModalCls').click(function () {
 | 
	
		
			
				|  |  | -                            args.sheet.options.isProtected = false;
 | 
	
		
			
				|  |  | -                            args.sheet.setValue(args.row, args.col, editGlj['consumeAmt']);
 | 
	
		
			
				|  |  | -                        });
 | 
	
		
			
				|  |  | -                        $('#alertModalCof').click(function () {
 | 
	
		
			
				|  |  | -                            args.sheet.options.isProtected = false;
 | 
	
		
			
				|  |  | -                            args.sheet.setValue(args.row, args.col, editGlj['consumeAmt']);
 | 
	
		
			
				|  |  | -                        })
 | 
	
		
			
				|  |  | -                    }
 | 
	
		
			
				|  |  | -                    else{
 | 
	
		
			
				|  |  | -                        args.sheet.setValue(args.row, args.col, parseNum);
 | 
	
		
			
				|  |  | -                        let roundNum = me.round(parseNum, 3);
 | 
	
		
			
				|  |  | -                        editGlj["consumeAmt"] = roundNum;
 | 
	
		
			
				|  |  | -                        me.updateRationItem();
 | 
	
		
			
				|  |  | +        if(me.currentRationItem) {
 | 
	
		
			
				|  |  | +            var cacheArr = me.cache["_GLJ_" + me.currentRationItem.ID];
 | 
	
		
			
				|  |  | +            me.tempCacheArr = [];
 | 
	
		
			
				|  |  | +            if (args.col != 0) {
 | 
	
		
			
				|  |  | +                if (args.row < cacheArr.length) {
 | 
	
		
			
				|  |  | +                    var editGlj = cacheArr[args.row];
 | 
	
		
			
				|  |  | +                    if (editGlj["consumeAmt"] != args.editingText) {
 | 
	
		
			
				|  |  | +                        let parseNum = parseFloat(args.editingText);
 | 
	
		
			
				|  |  | +                        if (isNaN(parseFloat(args.editingText))) {
 | 
	
		
			
				|  |  | +                            $('#alertModalBtn').click();
 | 
	
		
			
				|  |  | +                            $('#alertText').text("定额消耗只能输入数值!");
 | 
	
		
			
				|  |  | +                            args.sheet.options.isProtected = true;
 | 
	
		
			
				|  |  | +                            $('#alertModalCls').click(function () {
 | 
	
		
			
				|  |  | +                                args.sheet.options.isProtected = false;
 | 
	
		
			
				|  |  | +                                args.sheet.setValue(args.row, args.col, editGlj['consumeAmt']);
 | 
	
		
			
				|  |  | +                            });
 | 
	
		
			
				|  |  | +                            $('#alertModalCof').click(function () {
 | 
	
		
			
				|  |  | +                                args.sheet.options.isProtected = false;
 | 
	
		
			
				|  |  | +                                args.sheet.setValue(args.row, args.col, editGlj['consumeAmt']);
 | 
	
		
			
				|  |  | +                            })
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                        else {
 | 
	
		
			
				|  |  | +                            args.sheet.setValue(args.row, args.col, parseNum);
 | 
	
		
			
				|  |  | +                            let roundNum = me.round(parseNum, 3);
 | 
	
		
			
				|  |  | +                            editGlj["consumeAmt"] = roundNum;
 | 
	
		
			
				|  |  | +                            me.updateRationItem();
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -        } else {
 | 
	
		
			
				|  |  | -            if(args.editingText && args.editingText.toString().trim().length !== 0){
 | 
	
		
			
				|  |  | -                let isExist = false;
 | 
	
		
			
				|  |  | -                for(let i = 0, len = cacheArr.length; i < len; i++){
 | 
	
		
			
				|  |  | -                    if(cacheArr[i].code === args.editingText && i !== args.row){
 | 
	
		
			
				|  |  | -                        isExist = true;
 | 
	
		
			
				|  |  | -                        break;
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                if (args.editingText && args.editingText.toString().trim().length !== 0) {
 | 
	
		
			
				|  |  | +                    let isExist = false;
 | 
	
		
			
				|  |  | +                    for (let i = 0, len = cacheArr.length; i < len; i++) {
 | 
	
		
			
				|  |  | +                        if (cacheArr[i].code === args.editingText && i !== args.row) {
 | 
	
		
			
				|  |  | +                            isExist = true;
 | 
	
		
			
				|  |  | +                            break;
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -                if(isExist){
 | 
	
		
			
				|  |  | -                    alert("该工料机已存在!");
 | 
	
		
			
				|  |  | -                    args.sheet.setValue(args.row, args.col, typeof cacheArr[args.row] !== 'undefined' ? cacheArr[args.row].code + '' : '');
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -                else{
 | 
	
		
			
				|  |  | -                    if(args.row < cacheArr.length && args.editingText !== cacheArr[args.row].code){//更新
 | 
	
		
			
				|  |  | -                        cacheArr.splice(args.row, 1);
 | 
	
		
			
				|  |  | -                        let rationRepId = storageUtil.getSessionCache("RationGrp","repositoryID");
 | 
	
		
			
				|  |  | -                        let gljLibID = storageUtil.getSessionCache("gljLib", "repositoryID_" + rationRepId);
 | 
	
		
			
				|  |  | -                        let codes = [];
 | 
	
		
			
				|  |  | -                        codes.push(args.editingText.toString().trim());
 | 
	
		
			
				|  |  | -                        me.addGljItems(codes, gljLibID, args);
 | 
	
		
			
				|  |  | +                    if (isExist) {
 | 
	
		
			
				|  |  | +                        alert("该工料机已存在!");
 | 
	
		
			
				|  |  | +                        args.sheet.setValue(args.row, args.col, typeof cacheArr[args.row] !== 'undefined' ? cacheArr[args.row].code + '' : '');
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  | -                    else if(args.row >= cacheArr.length){//新增
 | 
	
		
			
				|  |  | -                            let rationRepId = storageUtil.getSessionCache("RationGrp","repositoryID");
 | 
	
		
			
				|  |  | +                    else {
 | 
	
		
			
				|  |  | +                        if (args.row < cacheArr.length && args.editingText !== cacheArr[args.row].code) {//更新
 | 
	
		
			
				|  |  | +                            me.tempCacheArr.push(cacheArr[args.row]);
 | 
	
		
			
				|  |  | +                            cacheArr.splice(args.row, 1);
 | 
	
		
			
				|  |  | +                            let rationRepId = storageUtil.getSessionCache("RationGrp", "repositoryID");
 | 
	
		
			
				|  |  | +                            let gljLibID = storageUtil.getSessionCache("gljLib", "repositoryID_" + rationRepId);
 | 
	
		
			
				|  |  | +                            let codes = [];
 | 
	
		
			
				|  |  | +                            codes.push(args.editingText.toString().trim());
 | 
	
		
			
				|  |  | +                            me.addGljItems(codes, gljLibID, args);
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                        else if (args.row >= cacheArr.length) {//新增
 | 
	
		
			
				|  |  | +                            let rationRepId = storageUtil.getSessionCache("RationGrp", "repositoryID");
 | 
	
		
			
				|  |  |                              let gljLibID = storageUtil.getSessionCache("gljLib", "repositoryID_" + rationRepId);
 | 
	
		
			
				|  |  |                              if (gljLibID) {
 | 
	
		
			
				|  |  |                                  var codes = [];
 | 
	
		
			
				|  |  |                                  codes.push(args.editingText.toString().trim());
 | 
	
		
			
				|  |  |                                  me.addGljItems(codes, gljLibID, args);
 | 
	
		
			
				|  |  |                              }
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        else {
 | 
	
		
			
				|  |  | +            args.sheet.setValue(args.row, args.col, '');
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      onContextmenuOpr: function () {
 | 
	
		
			
				|  |  |          let me = rationGLJOprObj;
 | 
	
	
		
			
				|  | @@ -338,6 +348,7 @@ var rationGLJOprObj = {
 | 
	
		
			
				|  |  |                  //sheetCommonObj.cleanSheet(me.sheet, me.setting, -1);
 | 
	
		
			
				|  |  |                  if (result) {
 | 
	
		
			
				|  |  |                      if(result.data.length > 0){
 | 
	
		
			
				|  |  | +                        console.log(`enter1`);
 | 
	
		
			
				|  |  |                          //sheetCommonObj.cleanSheet(me.sheet, me.setting, -1);
 | 
	
		
			
				|  |  |                          sheetCommonObj.cleanData(me.sheet, me.setting, -1);
 | 
	
		
			
				|  |  |                          var rstArr = [], dummyR = {gljId: 0, consumeAmt:0}, newAddArr = [];
 | 
	
	
		
			
				|  | @@ -373,18 +384,25 @@ var rationGLJOprObj = {
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      else{
 | 
	
		
			
				|  |  | +                        let cacheArr = me.cache["_GLJ_" + me.currentRationItem.ID]?  me.cache["_GLJ_" + me.currentRationItem.ID] : [];
 | 
	
		
			
				|  |  | +                        me.cache["_GLJ_" + me.currentRationItem.ID] = cacheArr.concat(me.tempCacheArr);
 | 
	
		
			
				|  |  | +                        //更新的工料机不存在
 | 
	
		
			
				|  |  | +                        me.cache["_GLJ_" + me.currentRationItem.ID].sort(function(a, b) {
 | 
	
		
			
				|  |  | +                            var rst = 0;
 | 
	
		
			
				|  |  | +                            if (a.code > b.code) rst = 1
 | 
	
		
			
				|  |  | +                            else if (a.code < b.code) rst = -1;
 | 
	
		
			
				|  |  | +                            return rst;
 | 
	
		
			
				|  |  | +                        });
 | 
	
		
			
				|  |  |                          $('#alertModalBtn').click();
 | 
	
		
			
				|  |  |                          $('#alertText').text("工料机"+ codes + "不存在,请查找你所需要的工料机,或新增工料机");
 | 
	
		
			
				|  |  |                          me.sheet.options.isProtected = true;
 | 
	
		
			
				|  |  |                          $('#alertModalCls').click(function () {
 | 
	
		
			
				|  |  |                              sheetCommonObj.lockCells(me.sheet, me.setting);
 | 
	
		
			
				|  |  |                              me.showGljItems(me.currentRationItem.ID);
 | 
	
		
			
				|  |  | -                            me.sheet.setValue(args.row, args.col, '');
 | 
	
		
			
				|  |  |                          });
 | 
	
		
			
				|  |  |                          $('#alertModalCof').click(function () {
 | 
	
		
			
				|  |  |                              sheetCommonObj.lockCells(me.sheet, me.setting);
 | 
	
		
			
				|  |  |                              me.showGljItems(me.currentRationItem.ID);
 | 
	
		
			
				|  |  | -                           me.sheet.setValue(args.row, args.col, '');
 | 
	
		
			
				|  |  |                          })
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
	
		
			
				|  | @@ -545,6 +563,7 @@ var rationGLJOprObj = {
 | 
	
		
			
				|  |  |      showGljItems: function(rationID) {
 | 
	
		
			
				|  |  |          var me = this;
 | 
	
		
			
				|  |  |          if (me.cache["_GLJ_" + rationID]) {
 | 
	
		
			
				|  |  | +            sheetCommonObj.cleanData(me.sheet, me.setting, -1);
 | 
	
		
			
				|  |  |              sheetCommonObj.showData(me.sheet, me.setting, me.cache["_GLJ_" + rationID], me.distTypeTree);
 | 
	
		
			
				|  |  |              //lock
 | 
	
		
			
				|  |  |              me.sheet.suspendPaint();
 |