|
@@ -381,8 +381,10 @@
|
|
|
tools.redirect(billsLibId, 'stdBillsmain');
|
|
|
let billsSpread;
|
|
|
let jobsSpread = new GC.Spread.Sheets.Workbook($("#spreadJobs")[0], {sheetCount: 1});
|
|
|
+ jobsSpread.options.allowUserDragFill = false;
|
|
|
sheetCommonObj.bindEscKey(jobsSpread, [{sheet: jobsSpread.getSheet(0), editStarting: jobsController.onEditStart, editEnded: jobsController.onEditEnded}]);
|
|
|
let itemsSpread = new GC.Spread.Sheets.Workbook($("#spreadItems")[0], {sheetCount: 1});
|
|
|
+ itemsSpread.options.allowUserDragFill = false;
|
|
|
sheetCommonObj.bindEscKey(itemsSpread, [{sheet: itemsSpread.getSheet(0), editStarting: itemsController.onEditStart, editEnded: itemsController.onEditEnded}]);
|
|
|
$(document).ready(function(){
|
|
|
$("#aStdJobs").attr('href', function(){
|
|
@@ -505,6 +507,7 @@
|
|
|
controller.setTreeSelected(controller.tree.findNode(controller.sheet.getTag(0, 0)));
|
|
|
//粘贴事件
|
|
|
bindPasteBills(controller, billsSpread.getActiveSheet(), setting);
|
|
|
+ bindBillsRangeChanged(controller, billsSpread.getActiveSheet(), setting);
|
|
|
//补注内容改变
|
|
|
rechargeChange(controller);//
|
|
|
//焦点控制
|
|
@@ -843,6 +846,41 @@
|
|
|
sheet.setRowCount(sheetBillsDatas.datas.length);
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
+ function bindBillsRangeChanged(controller, sheet, setting) {
|
|
|
+ sheet.bind(GC.Spread.Sheets.Events.RangeChanged, function (sender, info) {
|
|
|
+ const postData = [];
|
|
|
+ let curRow;
|
|
|
+ let curData;
|
|
|
+ info.changedCells.forEach(({ row, col }) => {
|
|
|
+ const node = controller.tree.items[row];
|
|
|
+ if (curRow !== row) {
|
|
|
+ curData = { ID: node.data.ID };
|
|
|
+ postData.push(curData);
|
|
|
+ }
|
|
|
+ curRow = row;
|
|
|
+ const field = setting.cols[col].data.field;
|
|
|
+ const value = sheet.getValue(row, col);
|
|
|
+ curData[field] = value;
|
|
|
+ });
|
|
|
+ billsAjax.pasteBills(userAccount, billsLibId, postData, function () {
|
|
|
+ info.changedCells.forEach(({ row, col }) => {
|
|
|
+ const node = controller.tree.items[row];
|
|
|
+ const field = setting.cols[col].data.field;
|
|
|
+ const value = sheet.getValue(row, col);
|
|
|
+ node.data[field] = value;
|
|
|
+ sheetBillsDatas.datasIdx['rowIdx' + row][field] = value;
|
|
|
+ });
|
|
|
+ }, function () {
|
|
|
+ info.changedCells.forEach(({ row, col }) => {
|
|
|
+ const node = controller.tree.items[row];
|
|
|
+ const field = setting.cols[col].data.field;
|
|
|
+ sheet.setValue(row, col, node.data[field] || '');
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
function bindPasteRel(sheet, controller, totalJobs, setting){
|
|
|
//sheetDatas = tools.getsheetDatas(sheet, 'jobs');
|
|
|
sheet.bind(GC.Spread.Sheets.Events.ClipboardPasting, function (sender, args) {
|