|
@@ -11,8 +11,9 @@ $(document).ready(() => {
|
|
|
{ title: '可显示列', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 200, formatter: '@', readOnly: true, },
|
|
|
{ title: '项目节\n清单', colSpan: '1', rowSpan: '2', field: 'bills_valid', hAlign: 1, width: 80, readOnly: true, cellType: 'signalCheckbox', show: canCheck, relaField: 'bills', },
|
|
|
{ title: '计量单元', colSpan: '1', rowSpan: '2', field: 'pos_valid', hAlign: 1, width: 80, readOnly: true, cellType: 'signalCheckbox', show: canCheck, relaField: 'pos', },
|
|
|
- { title: '配置项|是否显示', colSpan: '2|1', rowSpan: '1|1', field: 'valid', hAlign: 1, width: 60, cellType: 'checkbox', readOnly: true },
|
|
|
+ { title: '配置项|是否显示', colSpan: '3|1', rowSpan: '1|1', field: 'valid', hAlign: 1, width: 60, cellType: 'checkbox', readOnly: true },
|
|
|
{ title: '|别名', colSpan: '|1', rowSpan: '1|1', field: 'alias', hAlign: 0, width: 120, formatter: '@', },
|
|
|
+ { title: '|冻结', colSpan: '|1', rowSpan: '1|1', field: 'frozen', hAlign: 1, width: 60, cellType: 'checkbox' },
|
|
|
],
|
|
|
headRows: 2,
|
|
|
headRowHeight: [25, 25],
|
|
@@ -28,6 +29,7 @@ $(document).ready(() => {
|
|
|
case 'valid':
|
|
|
return data.fixed.indexOf('valid') >= 0 ? '#eeeeee' : defaultColor;
|
|
|
case 'alias':
|
|
|
+ case 'forzen':
|
|
|
return data.fixed.indexOf(col.field) >= 0 ? '#eeeeee' : defaultColor;
|
|
|
default:
|
|
|
return defaultColor;
|
|
@@ -122,6 +124,9 @@ $(document).ready(() => {
|
|
|
case 'alias':
|
|
|
info.cancel = node.fixed.indexOf('alias') >= 0;
|
|
|
break;
|
|
|
+ case 'frozen':
|
|
|
+ info.cancel = node.fixed.indexOf('frozen') >= 0;
|
|
|
+ break;
|
|
|
}
|
|
|
},
|
|
|
editEnded: function (e, info) {
|
|
@@ -178,22 +183,31 @@ $(document).ready(() => {
|
|
|
if (!info.sheet.zh_setting) return;
|
|
|
|
|
|
const col = info.sheet.zh_setting.cols[info.col];
|
|
|
- if (col.field.indexOf('valid') < 0) return;
|
|
|
-
|
|
|
const node = SpreadJsObj.getSelectObject(info.sheet);
|
|
|
- if (col.field === 'pos_valid' && !node.pos) return;
|
|
|
- if (col.field === 'bills_valid' && !node.bills) return;
|
|
|
- if (node.fixed.indexOf('valid') >= 0) return;
|
|
|
- if (col.field === 'valid') {
|
|
|
- node.valid = !node.valid;
|
|
|
- node.bills_valid = node.valid && node.bills;
|
|
|
- node.pos_valid = node.valid && node.pos;
|
|
|
- } else {
|
|
|
- node[col.field] = !node[col.field];
|
|
|
- if (node.bills_valid || node.pos_valid) node.valid = 1;
|
|
|
- if (!node.bills_valid && !node.pos_valid) node.valid = 0;
|
|
|
+ if (col.field.indexOf('valid') >= 0) {
|
|
|
+ if (col.field === 'pos_valid' && !node.pos) return;
|
|
|
+ if (col.field === 'bills_valid' && !node.bills) return;
|
|
|
+ if (node.fixed.indexOf('valid') >= 0) return;
|
|
|
+ if (col.field === 'valid') {
|
|
|
+ node.valid = !node.valid;
|
|
|
+ node.bills_valid = node.valid && node.bills;
|
|
|
+ node.pos_valid = node.valid && node.pos;
|
|
|
+ } else {
|
|
|
+ node[col.field] = !node[col.field];
|
|
|
+ if (node.bills_valid || node.pos_valid) node.valid = 1;
|
|
|
+ if (!node.bills_valid && !node.pos_valid) node.valid = 0;
|
|
|
+ }
|
|
|
+ SpreadJsObj.reLoadRowData(info.sheet, info.row);
|
|
|
+ } else if (col.field === 'frozen') {
|
|
|
+ const preFrozenNode = info.sheet.zh_data.find(x => { return !!x.frozen; });
|
|
|
+ if (preFrozenNode && preFrozenNode.key === node.key) {
|
|
|
+ node.frozen = 0;
|
|
|
+ } else {
|
|
|
+ if (preFrozenNode) preFrozenNode.frozen = 0;
|
|
|
+ node.frozen = 1;
|
|
|
+ }
|
|
|
+ SpreadJsObj.reloadColData(info.sheet, info.col);
|
|
|
}
|
|
|
- SpreadJsObj.reLoadRowData(info.sheet, info.row);
|
|
|
},
|
|
|
};
|
|
|
|
|
@@ -208,7 +222,7 @@ $(document).ready(() => {
|
|
|
});
|
|
|
|
|
|
const getCurrentColSet = function() {
|
|
|
- const cols = { key: 0, name: 1, bills_valid: 2, pos_valid: 3, valid: 4, alias: 5};
|
|
|
+ const cols = { key: 0, name: 1, bills_valid: 2, pos_valid: 3, valid: 4, alias: 5, frozen: 6};
|
|
|
const rowCount = colSheet.getRowCount();
|
|
|
const result = [];
|
|
|
for (let iRow = 0; iRow < rowCount; iRow++) {
|
|
@@ -230,9 +244,12 @@ $(document).ready(() => {
|
|
|
const alias = colSheet.getText(iRow, cols.alias);
|
|
|
if (alias) colSet.alias = alias;
|
|
|
}
|
|
|
+ if (baseCol.fixed.indexOf('frozen') < 0) {
|
|
|
+ const frozen = colSheet.getText(iRow, cols.frozen);
|
|
|
+ if (frozen) colSet.frozen = frozen;
|
|
|
+ }
|
|
|
result.push(colSet);
|
|
|
}
|
|
|
- console.log(result);
|
|
|
return result;
|
|
|
};
|
|
|
let previewSpreadSetting, previewBillsSpread, previewPosSpread;
|