|
@@ -531,12 +531,6 @@ var projectObj = {
|
|
|
let newV;
|
|
|
if(node && node.sourceType === projectObj.project.Ration.getSourceType() && node.data.type === rationType.ration
|
|
|
&& isDef(node.data.code) && isDef(node.data.prefix) && node.data.prefix !== rationPrefix.none && fieldName === 'code'){
|
|
|
-/* if(node.data.prefix === rationPrefix.complementary){
|
|
|
- newV = orgV.replace(new RegExp(rationPrefix.complementary), '');
|
|
|
- }
|
|
|
- if(node.data.prefix === rationPrefix.borrow){
|
|
|
- newV = orgV.replace(new RegExp(rationPrefix.borrow), '');
|
|
|
- }*/
|
|
|
if(node.data.prefix){
|
|
|
newV = orgV.replace(new RegExp(node.data.prefix), '');
|
|
|
}
|
|
@@ -708,9 +702,9 @@ var projectObj = {
|
|
|
that.mainController.bind(TREE_SHEET_CONTROLLER.eventName.beforeTreeSelectedChange, that.beforeMainTreeSelectedChange);
|
|
|
that.mainController.bind(TREE_SHEET_CONTROLLER.eventName.treeSelectedChanged, that.treeSelectedChanged);
|
|
|
if(!projectReadOnly){
|
|
|
+ that.mainSpreadEscKey(that.mainSpread, that.mainSpreadEditStarting, that.mainSpreadEditEnded);
|
|
|
sheetCommonObj.bindEnterKey(that.mainSpread, that.mainSpreadEnterKey);
|
|
|
}
|
|
|
- sheetCommonObj.bindEscKey(that.mainSpread, [{sheet: that.mainSpread.getSheet(0), editStarting: that.mainSpreadEditStarting, editEnded: that.mainSpreadEditEnded}]);
|
|
|
setTimeout(function () {
|
|
|
that.mainSpread.getActiveSheet().startEdit();//这两句需要挺多时间,而又需要在editend 事件前触发,而这些又不影响计算,所以这里用异步的方法
|
|
|
that.mainSpread.getActiveSheet().endEdit();
|
|
@@ -756,6 +750,48 @@ var projectObj = {
|
|
|
});
|
|
|
|
|
|
},
|
|
|
+ //mainSpread有一些单元格进入编辑状态后,会动态改变值,公用的bindEscKey方法不适用
|
|
|
+ mainSpreadEscKey: function (workBook, editStarting = null, editEnded = null) {
|
|
|
+ workBook.commandManager().register('myEsc', function () {
|
|
|
+ let sheet = workBook.getActiveSheet();
|
|
|
+ if(editStarting){
|
|
|
+ sheet.unbind(GC.Spread.Sheets.Events.EditStarting);
|
|
|
+ }
|
|
|
+ if(editEnded){
|
|
|
+ sheet.unbind(GC.Spread.Sheets.Events.EditEnded);
|
|
|
+ }
|
|
|
+ let row = sheet.getActiveRowIndex();
|
|
|
+ let col = sheet.getActiveColumnIndex();
|
|
|
+ let orgV = sheet.getValue(row, col);
|
|
|
+ let node = projectObj.project.mainTree.items[row];
|
|
|
+ let field = colSettingObj.getFieldByCol(col);
|
|
|
+ //进入编辑状态后改变了单元格值的时候特殊处理
|
|
|
+ if(isDef(field) && field === 'code'){
|
|
|
+ if(node && node.sourceType === projectObj.project.Ration.getSourceType() && node.data.type === rationType.ration
|
|
|
+ && isDef(node.data.code) && isDef(node.data.prefix) && node.data.prefix !== rationPrefix.none){
|
|
|
+ orgV = node.data.prefix + orgV;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if(isDef(field) && field === 'quantity'){
|
|
|
+ orgV = isDef(node) && isDef(node.data.quantity) ? node.data.quantity : '';
|
|
|
+ }
|
|
|
+ if(!isDef(orgV)){
|
|
|
+ orgV = '';
|
|
|
+ }
|
|
|
+ if(sheet.isEditing()){
|
|
|
+ sheet.endEdit();
|
|
|
+ sheet.setValue(row, col, orgV);
|
|
|
+ }
|
|
|
+ if(editStarting){
|
|
|
+ sheet.bind(GC.Spread.Sheets.Events.EditStarting, editStarting);
|
|
|
+ }
|
|
|
+ if(editEnded){
|
|
|
+ sheet.bind(GC.Spread.Sheets.Events.EditEnded, editEnded);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ workBook.commandManager().setShortcutKey(null, GC.Spread.Commands.Key.esc, false, false, false, false);
|
|
|
+ workBook.commandManager().setShortcutKey('myEsc', GC.Spread.Commands.Key.esc, false, false, false, false);
|
|
|
+ },
|
|
|
mainSpreadEnterKey: function () {
|
|
|
let me = projectObj;
|
|
|
let sheet = me.mainSpread.getActiveSheet();
|