|
@@ -357,7 +357,7 @@ var gljOprObj = {
|
|
|
|
|
|
onClipboardPasting: function (sender, args) {
|
|
|
var me = gljOprObj;
|
|
|
- if(args.cellRange.rowCount!=1||args.cellRange.colCount!=1){
|
|
|
+ if(args.sheetName!="quantity_detail"&&(args.cellRange.rowCount!=1||args.cellRange.colCount!=1)){//工程量明细做特殊处理
|
|
|
args.cancel = true;
|
|
|
}
|
|
|
},
|
|
@@ -397,7 +397,8 @@ var gljOprObj = {
|
|
|
me.onEditDetailSheet(args);
|
|
|
}
|
|
|
},
|
|
|
- onEditDetailSheet: function (args) {
|
|
|
+ onEditDetailSheet: function (args,callback) {
|
|
|
+ console.log(args);
|
|
|
var me = gljOprObj;
|
|
|
if (args.row > me.detailData.length) {
|
|
|
return;
|
|
@@ -407,14 +408,16 @@ var gljOprObj = {
|
|
|
}
|
|
|
var selected = projectObj.project.mainTree.selected;//因为使用了延时方法,所以要先取得选中行;
|
|
|
var detailList = me.detailData;
|
|
|
- args.editingText = args.editingText.replace(/(/g, "(");//替换中文左右括号;
|
|
|
- args.editingText = args.editingText.replace(/)/g, ")");
|
|
|
+ if(args.editingText){
|
|
|
+ args.editingText = args.editingText.replace(/(/g, "(");//替换中文左右括号;
|
|
|
+ args.editingText = args.editingText.replace(/)/g, ")");
|
|
|
+ }
|
|
|
setTimeout(function () {//这里须用延时执行的办法,不然的弹窗确认窗口会和spreadjs 的事件有冲突,造成定额工料机数据不会根据树结点更新的问题
|
|
|
if (args.row == detailList.length) {
|
|
|
- projectObj.project.quantity_detail.saveQuantityDetail(args, me.detailSetting.header[args.col].dataCode, selected);
|
|
|
+ projectObj.project.quantity_detail.saveQuantityDetail(args, me.detailSetting.header[args.col].dataCode, selected,callback);
|
|
|
}
|
|
|
if (args.row < detailList.length) {
|
|
|
- projectObj.project.quantity_detail.updateQuantityDetail(args, me.detailSetting.header[args.col].dataCode, detailList[args.row], selected);
|
|
|
+ projectObj.project.quantity_detail.updateQuantityDetail(args, me.detailSetting.header[args.col].dataCode, detailList[args.row], selected,callback);
|
|
|
}
|
|
|
}, 100);
|
|
|
|
|
@@ -723,21 +726,64 @@ var gljOprObj = {
|
|
|
},
|
|
|
onRangeChanged: function (sender, args) {
|
|
|
var me = gljOprObj;
|
|
|
- if (args.action == GC.Spread.Sheets.RangeChangedAction.clear) {
|
|
|
- args.editingText = null;
|
|
|
- }else if(args.action == GC.Spread.Sheets.RangeChangedAction.paste){
|
|
|
- args.editingText = args.sheet.getCell(args.row,args.col).value();
|
|
|
+ console.log(args);
|
|
|
+ if(args.sheetName == 'quantity_detail'){
|
|
|
+ me.batchUpdateQuantityDetail(args);
|
|
|
}else {
|
|
|
- return;
|
|
|
+ if (args.action == GC.Spread.Sheets.RangeChangedAction.clear) {
|
|
|
+ args.editingText = null;
|
|
|
+ }else if(args.action == GC.Spread.Sheets.RangeChangedAction.paste){
|
|
|
+ args.editingText = args.sheet.getCell(args.row,args.col).value();
|
|
|
+ }else {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (args.sheetName == 'ration_glj') {
|
|
|
+ me.onEditGLJSheet(args);
|
|
|
+ }
|
|
|
+ if (args.sheetName == 'ration_ass') {
|
|
|
+ me.updateRationAss(args);
|
|
|
+ }
|
|
|
}
|
|
|
- if (args.sheetName == 'ration_glj') {
|
|
|
- me.onEditGLJSheet(args);
|
|
|
+ },
|
|
|
+
|
|
|
+ batchUpdateQuantityDetail:function (args) {
|
|
|
+ let me = gljOprObj;
|
|
|
+ let updateArray = [];
|
|
|
+ for(let i =0;i<args.changedCells.length;i++){
|
|
|
+ let c = args.changedCells[i];
|
|
|
+ let tem = {
|
|
|
+ row:c.row,
|
|
|
+ col:c.col,
|
|
|
+ editingText:args.sheet.getCell(c.row,c.col).text(),
|
|
|
+ sheet:args.sheet,
|
|
|
+ sheetName:args.sheetName,
|
|
|
+ index:i
|
|
|
+ };
|
|
|
+ updateArray.push(tem);
|
|
|
}
|
|
|
- if (args.sheetName == 'ration_ass') {
|
|
|
- me.updateRationAss(args);
|
|
|
+ console.log(updateArray);
|
|
|
+
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ testBatchUpdate:function () {
|
|
|
+ let me=gljOprObj;
|
|
|
+ let temA = [1,2,3];
|
|
|
+ me.b(1,a);
|
|
|
+
|
|
|
+
|
|
|
+ function a(v) {
|
|
|
+ let index = temA.indexOf(v);
|
|
|
+ if(index < temA.length-1){
|
|
|
+ me.b(temA[index+1],a)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
},
|
|
|
+ b:function (g,callback) {
|
|
|
+ console.log(g);
|
|
|
+ callback(g);
|
|
|
+ },
|
|
|
generateHtmlString: function () {
|
|
|
// return "<div id='edit'><div>";
|
|
|
|
|
@@ -1863,4 +1909,4 @@ function compareRationGLJ(a, b) {
|
|
|
}
|
|
|
}
|
|
|
return false;
|
|
|
-}
|
|
|
+}
|