|
@@ -572,6 +572,32 @@ $(document).ready(() => {
|
|
|
sjsSettingObj.setPropValue(ledgerSpreadSetting, ['gxby'], 'getValue', getGxbyText);
|
|
|
sjsSettingObj.setPropValue(ledgerSpreadSetting, ['dagl'], 'getValue', getDaglText);
|
|
|
if (thousandth) sjsSettingObj.setTpThousandthFormat(ledgerSpreadSetting);
|
|
|
+ ledgerSpreadSetting.rowHeader = [
|
|
|
+ {
|
|
|
+ rowHeaderType: 'tag',
|
|
|
+ setting: {
|
|
|
+ getColor: function (index, data) {
|
|
|
+ if (!data) return;
|
|
|
+ return billsTag.getBillsTagsColor(data.id);
|
|
|
+ },
|
|
|
+ getTagHtml: function (index, data) {
|
|
|
+ if (!data) return;
|
|
|
+ const getHtml = function (list) {
|
|
|
+ if (!list || list.length === 0) return '';
|
|
|
+ const html = [];
|
|
|
+ for (const l of list) {
|
|
|
+ html.push('<div class="row mr-1">');
|
|
|
+ html.push(`<div class="col-auto pr-1 ${l.tagClass}">`, '<i class="fa fa-tag"></i>', '</div>');
|
|
|
+ html.push('<div class="col p-0">', '<p>', l.comment, '</p>', '</div>');
|
|
|
+ html.push('</div>');
|
|
|
+ }
|
|
|
+ return html.join('');
|
|
|
+ };
|
|
|
+ return getHtml(billsTag.getBillsTagsInfo(data.id));
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ];
|
|
|
SpreadJsObj.initSheet(slSpread.getActiveSheet(), ledgerSpreadSetting);
|
|
|
slSpread.getActiveSheet().frozenColumnCount(5);
|
|
|
slSpread.getActiveSheet().options.frozenlineColor = '#93b5e4';
|
|
@@ -617,6 +643,21 @@ $(document).ready(() => {
|
|
|
sjsSettingObj.setPropValue(posSpreadSetting, ['dagl'], 'getValue', getDaglText);
|
|
|
SpreadJsObj.initSheet(spSpread.getActiveSheet(), posSpreadSetting);
|
|
|
|
|
|
+ const billsTag = $.billsTag({
|
|
|
+ selector: '#bills-tag',
|
|
|
+ relaSpread: slSpread,
|
|
|
+ updateUrl: window.location.pathname + '/tag',
|
|
|
+ afterModify: function (nodes) {
|
|
|
+ SpreadJsObj.repaintNodesRowHeader(slSpread.getActiveSheet(), nodes);
|
|
|
+ },
|
|
|
+ afterLocated: function () {
|
|
|
+ stagePosSpreadObj.loadCurPosData();
|
|
|
+ },
|
|
|
+ afterShow: function () {
|
|
|
+ slSpread.refresh();
|
|
|
+ if (spSpread) spSpread.refresh();
|
|
|
+ },
|
|
|
+ });
|
|
|
const errorList = $.cs_errorList({
|
|
|
tabSelector: '#error-list-tab',
|
|
|
selector: '#error-list',
|
|
@@ -630,7 +671,6 @@ $(document).ready(() => {
|
|
|
if (spSpread) spSpread.refresh();
|
|
|
},
|
|
|
});
|
|
|
-
|
|
|
const checkList = $.ledger_checkList({
|
|
|
id: 'check-list',
|
|
|
tabSelector: '#check-list-tab',
|
|
@@ -1201,9 +1241,11 @@ $(document).ready(() => {
|
|
|
});
|
|
|
}
|
|
|
stageTreeSpreadObj.loadExprToInput(slSpread.getActiveSheet());
|
|
|
+ let addTagShare = true;
|
|
|
$.contextMenu({
|
|
|
selector: '#stage-ledger',
|
|
|
build: function ($trigger, e) {
|
|
|
+ addTagShare = true;
|
|
|
const target = SpreadJsObj.safeRightClickSelection($trigger, e, slSpread);
|
|
|
return target.hitTestType === spreadNS.SheetArea.viewport || target.hitTestType === spreadNS.SheetArea.rowHeader;
|
|
|
},
|
|
@@ -1240,6 +1282,82 @@ $(document).ready(() => {
|
|
|
}
|
|
|
},
|
|
|
},
|
|
|
+ tag: {
|
|
|
+ name: '书签',
|
|
|
+ items: {
|
|
|
+ tagShare: {
|
|
|
+ name: '参与人可见',
|
|
|
+ type: 'checkbox',
|
|
|
+ selected: true,
|
|
|
+ events: {
|
|
|
+ change: function () {
|
|
|
+ addTagShare = this.checked;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ tagSpr: '--------------',
|
|
|
+ tagPrimary: {
|
|
|
+ icon: 'fa-tag text-primary mt-2 mb-2',
|
|
|
+ name: '靛青',
|
|
|
+ callback: function (key, opt, menu, e) {
|
|
|
+ const node = SpreadJsObj.getSelectObject(slSpread.getActiveSheet());
|
|
|
+ postData(window.location.pathname + '/tag', {add: { color: '#007bff', lid: node.id, share: addTagShare }}, function (data) {
|
|
|
+ if (data.add) data.add.node = node;
|
|
|
+ billsTag.updateDatasAndShow(data);
|
|
|
+ SpreadJsObj.repaintNodesRowHeader(slSpread.getActiveSheet(), node);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ tagSuccess: {
|
|
|
+ icon: 'fa-tag text-success mt-2 mb-2',
|
|
|
+ name: '果绿',
|
|
|
+ callback: function (key, opt) {
|
|
|
+ const node = SpreadJsObj.getSelectObject(slSpread.getActiveSheet());
|
|
|
+ postData(window.location.pathname + '/tag', {add: { color: '#28a745', lid: node.id, share: addTagShare }}, function (data) {
|
|
|
+ if (data.add) data.add.node = node;
|
|
|
+ billsTag.updateDatasAndShow(data);
|
|
|
+ SpreadJsObj.repaintNodesRowHeader(slSpread.getActiveSheet(), node);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ tagDanger: {
|
|
|
+ icon: 'fa-tag text-danger mt-2 mb-2',
|
|
|
+ name: '朱砂',
|
|
|
+ callback: function (key, opt) {
|
|
|
+ const node = SpreadJsObj.getSelectObject(slSpread.getActiveSheet());
|
|
|
+ postData(window.location.pathname + '/tag', {add: { color: '#dc3545', lid: node.id, share: addTagShare }}, function (data) {
|
|
|
+ if (data.add) data.add.node = node;
|
|
|
+ billsTag.updateDatasAndShow(data);
|
|
|
+ SpreadJsObj.repaintNodesRowHeader(slSpread.getActiveSheet(), node);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ tagWarning: {
|
|
|
+ icon: 'fa-tag text-warning mt-2 mb-2',
|
|
|
+ name: '姜黄',
|
|
|
+ callback: function (key, opt) {
|
|
|
+ const node = SpreadJsObj.getSelectObject(slSpread.getActiveSheet());
|
|
|
+ postData(window.location.pathname + '/tag', {add: { color: '#da9500', lid: node.id, share: addTagShare }}, function (data) {
|
|
|
+ if (data.add) data.add.node = node;
|
|
|
+ billsTag.updateDatasAndShow(data);
|
|
|
+ SpreadJsObj.repaintNodesRowHeader(slSpread.getActiveSheet(), node);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ tagInfo: {
|
|
|
+ icon: 'fa-tag text-info mt-2 mb-2',
|
|
|
+ name: '天蓝',
|
|
|
+ callback: function (key, opt) {
|
|
|
+ const node = SpreadJsObj.getSelectObject(slSpread.getActiveSheet());
|
|
|
+ postData(window.location.pathname + '/tag', {add: { color: '#17a2b8', lid: node.id, share: addTagShare }}, function (data) {
|
|
|
+ if (data.add) data.add.node = node;
|
|
|
+ billsTag.updateDatasAndShow(data);
|
|
|
+ SpreadJsObj.repaintNodesRowHeader(slSpread.getActiveSheet(), node);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
}
|
|
|
});
|
|
|
|
|
@@ -1656,7 +1774,7 @@ $(document).ready(() => {
|
|
|
});
|
|
|
|
|
|
// 加载计量单元数据 - 暂时统一加载,如有需要,切换成动态加载并缓存
|
|
|
- postData(window.location.pathname + '/load', { filter: 'ledger;pos;detail;change' }, function (result) {
|
|
|
+ postData(window.location.pathname + '/load', { filter: 'ledger;pos;detail;change;tag' }, function (result) {
|
|
|
// 加载树结构
|
|
|
stageTree.loadDatas(result.ledgerData);
|
|
|
// stageTree.loadCurStageData(curStageData);
|
|
@@ -1672,6 +1790,11 @@ $(document).ready(() => {
|
|
|
// 加载中间计量
|
|
|
stageIm.init(stage, imType, tenderInfo.decimal);
|
|
|
stageIm.loadData(result.ledgerData, result.posData, result.detailData, result.changeData);
|
|
|
+
|
|
|
+ for (const t of result.tags) {
|
|
|
+ t.node = stageTree.datas.find(x => {return x.id === t.lid});
|
|
|
+ }
|
|
|
+ billsTag.loadDatas(result.tags);
|
|
|
errorList.loadHisErrorData();
|
|
|
checkList.loadHisCheckData();
|
|
|
}, null, true);
|