|
@@ -12,8 +12,7 @@ var rationGLJOprObj = {
|
|
{headerName:"单位",headerWidth:160,dataCode:"unit", dataType: "String"},
|
|
{headerName:"单位",headerWidth:160,dataCode:"unit", dataType: "String"},
|
|
{headerName:"单位基价",headerWidth:160, dataCode:"basePrice", dataType: "Number", precision: 2},
|
|
{headerName:"单位基价",headerWidth:160, dataCode:"basePrice", dataType: "Number", precision: 2},
|
|
{headerName:"定额消耗",headerWidth:160, dataCode:"consumeAmt", dataType: "Number", precision: 3},
|
|
{headerName:"定额消耗",headerWidth:160, dataCode:"consumeAmt", dataType: "Number", precision: 3},
|
|
- {headerName:"类型",headerWidth:160,dataCode:"gljDistType", dataType: "String"},
|
|
|
|
- {headerName:"操作",headerWidth:130,dataCode:"code", dataType: "String"}
|
|
|
|
|
|
+ {headerName:"类型",headerWidth:160,dataCode:"gljDistType", dataType: "String"}
|
|
],
|
|
],
|
|
view:{
|
|
view:{
|
|
comboBox:[],
|
|
comboBox:[],
|
|
@@ -26,6 +25,24 @@ var rationGLJOprObj = {
|
|
me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.ClipboardPasting, me.onClipboardPasting);
|
|
me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.ClipboardPasting, me.onClipboardPasting);
|
|
me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.ClipboardPasted, me.onClipboardPasted);
|
|
me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.ClipboardPasted, me.onClipboardPasted);
|
|
me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.EditEnded, me.onCellEditEnd);
|
|
me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.EditEnded, me.onCellEditEnd);
|
|
|
|
+ me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.RangeChanged, me.onRangeChanged);
|
|
|
|
+ },
|
|
|
|
+ onRangeChanged: function(sender, args) {
|
|
|
|
+ if (args.action == GC.Spread.Sheets.RangeChangedAction.clear) {
|
|
|
|
+ var me = rationGLJOprObj, updateArr = [], removeArr = [];
|
|
|
|
+ if (args.col == 0) {
|
|
|
|
+ if (me.cache["_GLJ_" + me.currentRationItem.ID]) {
|
|
|
|
+ var cacheArr = me.cache["_GLJ_" + me.currentRationItem.ID];
|
|
|
|
+ for (var i = args.rowCount - 1; i <= 0; i--) {
|
|
|
|
+ if (args.row + i < cacheArr.length) {
|
|
|
|
+ cacheArr.splice(args.row + i, 1);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ me.updateRationItem();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
},
|
|
},
|
|
onClipboardPasting: function(sender, args) {
|
|
onClipboardPasting: function(sender, args) {
|
|
var me = rationGLJOprObj;
|
|
var me = rationGLJOprObj;
|
|
@@ -42,54 +59,7 @@ var rationGLJOprObj = {
|
|
for (var i = 0; i < tmpCodes.length; i++) {
|
|
for (var i = 0; i < tmpCodes.length; i++) {
|
|
codes.push(tmpCodes[i].code);
|
|
codes.push(tmpCodes[i].code);
|
|
}
|
|
}
|
|
- $.ajax({
|
|
|
|
- type:"POST",
|
|
|
|
- url:"api/getGljItemsByCodes",
|
|
|
|
- data:{"gljCodes": JSON.stringify(codes), repId: repId},
|
|
|
|
- dataType:"json",
|
|
|
|
- cache:false,
|
|
|
|
- timeout:5000,
|
|
|
|
- success:function(result){
|
|
|
|
- sheetCommonObj.cleanSheet(me.workBook.getSheet(0), me.setting, -1);
|
|
|
|
- if (result) {
|
|
|
|
- var rstArr = [], dummyR = {gljId: 0, consumeAmt:0}, newAddArr = [];
|
|
|
|
- for (var i = 0; i < result.data.length; i++) {
|
|
|
|
- dummyR.gljId = result.data[i].ID;
|
|
|
|
- rstArr.push(me.createRationGljDisplayItem(dummyR, result.data[i]));
|
|
|
|
- }
|
|
|
|
- if (me.cache["_GLJ_" + me.currentRationItem.ID]) {
|
|
|
|
- var cacheArr = me.cache["_GLJ_" + me.currentRationItem.ID];
|
|
|
|
- for (var i = 0; i < rstArr.length; i++) {
|
|
|
|
- var hasDup = false;
|
|
|
|
- for (var j = 0; j < cacheArr.length; j++) {
|
|
|
|
- if (cacheArr[j].gljId == rstArr[i].gljId) {
|
|
|
|
- hasDup = true;
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (!hasDup) {
|
|
|
|
- newAddArr.push(rstArr[i]);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- cacheArr.sort(function(a, b) {
|
|
|
|
- var rst = 0;
|
|
|
|
- if (a.code > b.code) rst = 1
|
|
|
|
- else if (a.code < b.code) rst = -1;
|
|
|
|
- return rst;
|
|
|
|
- });
|
|
|
|
- me.cache["_GLJ_" + me.currentRationItem.ID] = cacheArr.concat(newAddArr);
|
|
|
|
- }
|
|
|
|
- me.showGljItems(me.currentRationItem.ID);
|
|
|
|
- if (newAddArr.length > 0) {
|
|
|
|
- me.updateRationItem();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- sheetCommonObj.lockCells(me.workBook.getSheet(0), me.setting);
|
|
|
|
- },
|
|
|
|
- error:function(err){
|
|
|
|
- alert(err);
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
|
|
+ me.addGljItems(codes, repId);
|
|
} else {
|
|
} else {
|
|
//修改用量
|
|
//修改用量
|
|
}
|
|
}
|
|
@@ -108,9 +78,78 @@ var rationGLJOprObj = {
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
//重新更新工料机
|
|
//重新更新工料机
|
|
|
|
+ if (args.editingText == null || args.editingText.trim() == "") {
|
|
|
|
+ //delete
|
|
|
|
+ if (me.cache["_GLJ_" + me.currentRationItem.ID]) {
|
|
|
|
+ var cacheArr = me.cache["_GLJ_" + me.currentRationItem.ID];
|
|
|
|
+ if (args.row < cacheArr.length) {
|
|
|
|
+ cacheArr.splice(args.row, 1);
|
|
|
|
+ me.updateRationItem();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ var repId = storageUtil.getSessionCache("RationGrp","repositoryID");
|
|
|
|
+ if (repId) {
|
|
|
|
+ var codes = [];
|
|
|
|
+ codes.push(args.editingText.trim());
|
|
|
|
+ me.addGljItems(codes, repId);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
|
|
|
|
+ addGljItems: function(codes, repId) {
|
|
|
|
+ var me = this;
|
|
|
|
+ $.ajax({
|
|
|
|
+ type:"POST",
|
|
|
|
+ url:"api/getGljItemsByCodes",
|
|
|
|
+ data:{"gljCodes": JSON.stringify(codes), repId: repId},
|
|
|
|
+ dataType:"json",
|
|
|
|
+ cache:false,
|
|
|
|
+ timeout:5000,
|
|
|
|
+ success:function(result){
|
|
|
|
+ sheetCommonObj.cleanSheet(me.workBook.getSheet(0), me.setting, -1);
|
|
|
|
+ if (result) {
|
|
|
|
+ var rstArr = [], dummyR = {gljId: 0, consumeAmt:0}, newAddArr = [];
|
|
|
|
+ for (var i = 0; i < result.data.length; i++) {
|
|
|
|
+ dummyR.gljId = result.data[i].ID;
|
|
|
|
+ rstArr.push(me.createRationGljDisplayItem(dummyR, result.data[i]));
|
|
|
|
+ }
|
|
|
|
+ if (me.cache["_GLJ_" + me.currentRationItem.ID]) {
|
|
|
|
+ var cacheArr = me.cache["_GLJ_" + me.currentRationItem.ID];
|
|
|
|
+ for (var i = 0; i < rstArr.length; i++) {
|
|
|
|
+ var hasDup = false;
|
|
|
|
+ for (var j = 0; j < cacheArr.length; j++) {
|
|
|
|
+ if (cacheArr[j].gljId == rstArr[i].gljId) {
|
|
|
|
+ hasDup = true;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (!hasDup) {
|
|
|
|
+ newAddArr.push(rstArr[i]);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ cacheArr.sort(function(a, b) {
|
|
|
|
+ var rst = 0;
|
|
|
|
+ if (a.code > b.code) rst = 1
|
|
|
|
+ else if (a.code < b.code) rst = -1;
|
|
|
|
+ return rst;
|
|
|
|
+ });
|
|
|
|
+ me.cache["_GLJ_" + me.currentRationItem.ID] = cacheArr.concat(newAddArr);
|
|
|
|
+ }
|
|
|
|
+ me.showGljItems(me.currentRationItem.ID);
|
|
|
|
+ if (newAddArr.length > 0) {
|
|
|
|
+ me.updateRationItem();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ sheetCommonObj.lockCells(me.workBook.getSheet(0), me.setting);
|
|
|
|
+ },
|
|
|
|
+ error:function(err){
|
|
|
|
+ alert(err);
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+
|
|
updateRationItem: function() {
|
|
updateRationItem: function() {
|
|
var me = this, updateArr = [];
|
|
var me = this, updateArr = [];
|
|
if (me.currentRationItem) {
|
|
if (me.currentRationItem) {
|