|
@@ -674,7 +674,7 @@ var projectObj = {
|
|
|
col.data.autoHeight = true;
|
|
|
col.showHint = true;
|
|
|
}
|
|
|
- if(col.data.field ==='quantity'){
|
|
|
+ if(col.data.field ==='quantity' || col.data.field ==='remark'){
|
|
|
col.showHint = true;
|
|
|
}
|
|
|
|
|
@@ -696,6 +696,7 @@ var projectObj = {
|
|
|
that.mainController.bind(TREE_SHEET_CONTROLLER.eventName.beforeTreeSelectedChange, that.beforeMainTreeSelectedChange);
|
|
|
that.mainController.bind(TREE_SHEET_CONTROLLER.eventName.treeSelectedChanged, that.treeSelectedChanged);
|
|
|
|
|
|
+ //that.bindEnterKey(that.mainSpread, 'mainEnterKey', that.mainSpreadEnterKey);
|
|
|
setTimeout(function () {
|
|
|
that.mainSpread.getActiveSheet().startEdit();//这两句需要挺多时间,而又需要在editend 事件前触发,而这些又不影响计算,所以这里用异步的方法
|
|
|
that.mainSpread.getActiveSheet().endEdit();
|
|
@@ -741,6 +742,84 @@ var projectObj = {
|
|
|
});
|
|
|
|
|
|
},
|
|
|
+ mainSpreadEnterKey: function () {
|
|
|
+ let me = projectObj;
|
|
|
+ let sheet = me.mainSpread.getActiveSheet();
|
|
|
+ let orgRow = sheet.getActiveRowIndex();
|
|
|
+ let orgCol = sheet.getActiveColumnIndex();
|
|
|
+ let orgField = colSettingObj.getFieldByCol(orgCol);
|
|
|
+ let selected = me.project.mainTree.items[orgRow];
|
|
|
+ if(sheet.isEditing()){
|
|
|
+ sheet.endEdit();
|
|
|
+ }
|
|
|
+ //正常情况,焦点应该是在下一行的同一列
|
|
|
+ let newRow = orgRow + 1, newCol = orgCol;
|
|
|
+ if(selected){
|
|
|
+ //在分项/补项的编码单元格回车,焦点应跳动至本行的工程量单元格
|
|
|
+ if(orgField && orgField === 'code' && selected.sourceType === me.project.Bills.getSourceType() && [billType.FX, billType.BX].includes(selected.data.type)){
|
|
|
+ let quantityCol = colSettingObj.getColByField('quantity');
|
|
|
+ let quantityVisible = colSettingObj.getVisible('quantity');
|
|
|
+ if(quantityCol && quantityVisible){
|
|
|
+ newRow = orgRow;
|
|
|
+ newCol = quantityCol;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //在分项/补项的工程量单元格回车,如果其下有定额/量价/人材机,焦点应跳动至其下第一条定额/量价/人材机的工程量;
|
|
|
+ //如果其下没有定额/量价/人材机,则自动在其下插入一条定额空行,在其后自动插入一条分项空行,焦点跳动至定额空行的编码单元格。
|
|
|
+ if(orgField && orgField === 'quantity' && selected.sourceType === me.project.Bills.getSourceType() && [billType.FX, billType.BX].includes(selected.data.type)
|
|
|
+ && selected.children.length === 0){
|
|
|
+ me.project.Ration.addNewRation(null,rationType.ration, function () {
|
|
|
+ newRow = sheet.getActiveRowIndex();
|
|
|
+ newCol = sheet.getActiveColumnIndex();
|
|
|
+ });
|
|
|
+ }
|
|
|
+ //在定额/量价/人材机的编码单元格回车,焦点应跳动至本行的工程量单元格
|
|
|
+ if(orgField && orgField === 'code' && selected.sourceType === me.project.Ration.getSourceType() && []){
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ //设置焦点
|
|
|
+ sheet.setActiveCell(newRow, newCol);
|
|
|
+ //触发表格事件
|
|
|
+ me.mainController.setTreeSelected(me.project.mainTree.items[newRow]);//SelectionChanged
|
|
|
+
|
|
|
+ },
|
|
|
+ //注册自定义回车键事件
|
|
|
+ bindEnterKey: function (workBook, registerName, operation) {
|
|
|
+ let me = this;
|
|
|
+ let sheet = workBook.getActiveSheet();
|
|
|
+ workBook.commandManager().register(registerName, operation);
|
|
|
+ /* workBook.commandManager().register(registerName, function(){
|
|
|
+ operation();
|
|
|
+ /!* let orgRow = sheet.getActiveRowIndex();
|
|
|
+ let orgCol = sheet.getActiveColumnIndex();
|
|
|
+ if(sheet.isEditing()){
|
|
|
+ sheet.endEdit();
|
|
|
+ }
|
|
|
+ let code = sheet.getValue(orgRow, 0);
|
|
|
+ let newRow, newCol;
|
|
|
+ if(!me.currentCache[orgRow] && code !== undefined && code !== null && orgCol !== me.setting.header.length - 1){
|
|
|
+ newRow = orgRow;
|
|
|
+ newCol = orgCol + 1;
|
|
|
+ sheet.setActiveCell(newRow, newCol);
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ newRow = orgRow + 1;
|
|
|
+ newCol = me.currentCache[orgRow + 1] ? orgCol : 0;
|
|
|
+ sheet.setActiveCell(newRow, newCol);
|
|
|
+ }*!/
|
|
|
+ //触发事件
|
|
|
+ /!*me.onLeaveCell({type: 'LeaveCell'}, {sheet: sheet, sheetName: sheet.name(), cancel: false, row: orgRow, col: orgCol});
|
|
|
+ me.onEnterCell({type: 'EnterCell'}, {sheet: sheet, sheetName: sheet.name(), cancel: false, row: newRow, col: newCol});
|
|
|
+ let newSels = [{row: newRow, rowCount: 1, col: newCol, colCount: 1}];
|
|
|
+ let oldSels = [{row: orgRow, rowCount: 1, col: orgRow, colCount: 1}];
|
|
|
+ me.onSelectionChanged({type: 'SelectionChanged'}, {sheet: sheet, sheetName: sheet.name(), newSelections: newSels, oldSelections: oldSels});*!/
|
|
|
+ });*/
|
|
|
+ workBook.commandManager().setShortcutKey(null, GC.Spread.Commands.Key.enter, false, false, false, false);
|
|
|
+ workBook.commandManager().setShortcutKey(registerName, GC.Spread.Commands.Key.enter, false, false, false, false);
|
|
|
+ },
|
|
|
loadMainSpreadContextMenu: function () {
|
|
|
var project = this.project, spread = this.mainSpread, controller = this.mainController;
|
|
|
$.contextMenu({
|
|
@@ -1663,6 +1742,33 @@ $('#poj-set').on('show.bs.modal', function () {
|
|
|
calcOptions.init();
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
+//恢复默认列设置
|
|
|
+$('#recColSetting').click(function () {
|
|
|
+ let libID = projectObj.project.property.colLibID ? projectObj.project.property.colLibID : null;
|
|
|
+ if(!libID){
|
|
|
+ alert('项目没有绑定标准列设置');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ $(this).addClass('disabled');
|
|
|
+ CommonAjax.post('/project/getDefaultColSetting', {libID: libID}, function (rstData) {
|
|
|
+ if(!rstData || rstData.length === 0){
|
|
|
+ alert('标准列设置没有数据');
|
|
|
+ $('#recColSetting').removeClass('disabled');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let sheet = colSettingObj.settingSpread.getActiveSheet();
|
|
|
+ SheetDataHelper.massOperationSheet(sheet, function () {
|
|
|
+ for(let row = 0; row < sheet.getRowCount(); row++){
|
|
|
+ sheet.setValue(row, 0, rstData.main_tree_col.cols[row].visible);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ $('#recColSetting').removeClass('disabled');
|
|
|
+ }, function () {
|
|
|
+ $('#recColSetting').removeClass('disabled');
|
|
|
+ });
|
|
|
+});
|
|
|
+
|
|
|
$('#property_ok').click(function () {
|
|
|
let project = projectObj.project,
|
|
|
projectID = project.ID(),
|
|
@@ -2345,6 +2451,7 @@ function disableTools(){
|
|
|
$('#std_labour_coe_files').prop('disabled', 'disabled');
|
|
|
//呈现选项
|
|
|
$('#display-setting').find('input').prop('disabled', 'disabled');
|
|
|
+ $('#recColSetting').remove();
|
|
|
//项目属性确定
|
|
|
$('#property_ok').addClass('disabled');
|
|
|
//特征及内容
|