|
@@ -22,6 +22,10 @@ const billsSpreadSetting = {
|
|
|
{title: '%s|数量', colSpan: '2|1', rowSpan: '1|1', field: '{%s}_qty{%d}', hAlign: 2, width: 60, type: 'Number', },
|
|
|
{title: '|金额', colSpan: '|1', rowSpan: '|1', field: '{%s}_tp{%d}', hAlign: 2, width: 60, type: 'Number', },
|
|
|
],
|
|
|
+ specExtraCols: [
|
|
|
+ {title: '合计|数量', colSpan: '2|1', rowSpan: '1|1', field: 'sum_{%s}_qty', hAlign: 2, width: 60, type: 'Number', },
|
|
|
+ {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'sum_{%s}_tp', hAlign: 2, width: 60, type: 'Number', },
|
|
|
+ ],
|
|
|
emptyRows: 3,
|
|
|
headRows: 2,
|
|
|
headRowHeight: [25, 25],
|
|
@@ -34,10 +38,13 @@ const billsSpreadSetting = {
|
|
|
const posSpreadSetting = {
|
|
|
baseCols: [
|
|
|
{title: '名称', colSpan: '1', rowSpan: '1', field: 'name', hAlign: 0, width: 230, formatter: '@'},
|
|
|
- {title: '台账数量', colSpan: '1', rowSpan: '1', field: 'quantity', hAlign: 2, width: 60},
|
|
|
+ {title: '台账数量', colSpan: '1', rowSpan: '1', field: 'quantity', hAlign: 2, width: 60, type: 'Number'},
|
|
|
],
|
|
|
extraCols: [
|
|
|
- {title: '%s数量', colSpan: '1', rowSpan: '1', field: '{%s}_qty{%d}', hAlign: 2, width: 60},
|
|
|
+ {title: '%s数量', colSpan: '1', rowSpan: '1', field: '{%s}_qty{%d}', hAlign: 2, width: 60, type: 'Number'},
|
|
|
+ ],
|
|
|
+ specExtraCols: [
|
|
|
+ {title: '合计数量', colSpan: '1', rowSpan: '1', field: 'sum_{%s}_qty', hAlign: 2, width: 60, type: 'Number', },
|
|
|
],
|
|
|
emptyRows: 3,
|
|
|
headRows: 1,
|
|
@@ -63,6 +70,10 @@ const exportBillsSpreadSetting = {
|
|
|
{title: '%s|数量', colSpan: '2|1', rowSpan: '1|1', field: '{%s}_qty{%d}', hAlign: 2, width: 60, type: 'Number', },
|
|
|
{title: '|金额', colSpan: '|1', rowSpan: '|1', field: '{%s}_tp{%d}', hAlign: 2, width: 60, type: 'Number', },
|
|
|
],
|
|
|
+ specExtraCols: [
|
|
|
+ {title: '合计|数量', colSpan: '2|1', rowSpan: '1|1', field: 'sum_{%s}_qty', hAlign: 2, width: 60, type: 'Number', },
|
|
|
+ {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'sum_{%s}_tp', hAlign: 2, width: 60, type: 'Number', },
|
|
|
+ ],
|
|
|
endCols: [],
|
|
|
emptyRows: 3,
|
|
|
headRows: 2,
|
|
@@ -89,6 +100,10 @@ const gclSpreadSetting = {
|
|
|
{title: '%s|数量', colSpan: '2|1', rowSpan: '1|1', field: '{%s}_qty{%d}', hAlign: 2, width: 60, type: 'Number', },
|
|
|
{title: '|金额', colSpan: '|1', rowSpan: '|1', field: '{%s}_tp{%d}', hAlign: 2, width: 60, type: 'Number', },
|
|
|
],
|
|
|
+ specExtraCols: [
|
|
|
+ {title: '合计|数量', colSpan: '2|1', rowSpan: '1|1', field: 'sum_{%s}_qty', hAlign: 2, width: 60, type: 'Number', },
|
|
|
+ {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'sum_{%s}_tp', hAlign: 2, width: 60, type: 'Number', },
|
|
|
+ ],
|
|
|
emptyRows: 0,
|
|
|
headRows: 2,
|
|
|
headRowHeight: [25, 25],
|
|
@@ -112,6 +127,9 @@ const leafXmjSpreadSetting = {
|
|
|
extraCols: [
|
|
|
{title: '%s数量', colSpan: '1', rowSpan: '2', field: '{%s}_qty{%d}', hAlign: 2, width: 60},
|
|
|
],
|
|
|
+ specExtraCols: [
|
|
|
+ {title: '合计数量', colSpan: '1', rowSpan: '2', field: 'sum_{%s}_qty', hAlign: 2, width: 60, type: 'Number', },
|
|
|
+ ],
|
|
|
emptyRows: 0,
|
|
|
headRows: 2,
|
|
|
headRowHeight: [25, 25],
|
|
@@ -142,6 +160,10 @@ const exportGclSpreadSetting = {
|
|
|
{title: '%s|数量', colSpan: '2|1', rowSpan: '1|1', field: '{%s}_qty{%d}', hAlign: 2, width: 60, type: 'Number', },
|
|
|
{title: '|金额', colSpan: '|1', rowSpan: '|1', field: '{%s}_tp{%d}', hAlign: 2, width: 60, type: 'Number', },
|
|
|
],
|
|
|
+ specExtraCols: [
|
|
|
+ {title: '合计|数量', colSpan: '2|1', rowSpan: '1|1', field: 'sum_{%s}_qty', hAlign: 2, width: 60, type: 'Number', },
|
|
|
+ {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'sum_{%s}_tp', hAlign: 2, width: 60, type: 'Number', },
|
|
|
+ ],
|
|
|
endCols: [
|
|
|
{title: '图册号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@'},
|
|
|
],
|
|
@@ -175,6 +197,14 @@ function initSpreadSettingWithRoles(compareRoles) {
|
|
|
for (const index in fieldSufs) {
|
|
|
addExtraCols(fieldSufs[index], Roles[index]);
|
|
|
}
|
|
|
+ if (setting.specExtraCols) {
|
|
|
+ const sourceType = $('[name=compare-data]:checked').val();
|
|
|
+ for (const col of setting.specExtraCols) {
|
|
|
+ const eCol = JSON.parse(JSON.stringify(col));
|
|
|
+ eCol.field = _.replace(eCol.field, '{%s}', sourceType);
|
|
|
+ setting.cols.push(eCol);
|
|
|
+ }
|
|
|
+ }
|
|
|
if (setting.endCols) {
|
|
|
for (const col of setting.endCols) {
|
|
|
setting.cols.push(col);
|
|
@@ -283,7 +313,7 @@ $(document).ready(() => {
|
|
|
keys: ['id', 'tender_id', 'ledger_id'],
|
|
|
masterId: 'id',
|
|
|
minorId: 'lid',
|
|
|
- calcFields: ['total_price'],
|
|
|
+ calcFields: ['total_price', 'sum_contract_tp', 'sum_qc_tp', 'sum_gather_tp'],
|
|
|
markFoldKey: 'bills-fold',
|
|
|
markFoldSubKey: window.location.pathname.split('/')[2],
|
|
|
});
|
|
@@ -481,14 +511,14 @@ $(document).ready(() => {
|
|
|
$('[name=compare-data]').click(function () {
|
|
|
initSpreadSettingWithRoles(compareStages);
|
|
|
SpreadJsObj.reLoadSheetHeader(billsSheet);
|
|
|
- SpreadJsObj.reloadColData(billsSheet, billsSpreadSetting.baseCols.length, compareStages.length * billsSpreadSetting.extraCols.length);
|
|
|
+ SpreadJsObj.reloadColData(billsSheet, billsSpreadSetting.baseCols.length, compareStages.length * billsSpreadSetting.extraCols.length + billsSpreadSetting.specExtraCols.length);
|
|
|
SpreadJsObj.reLoadSheetHeader(posSheet);
|
|
|
- SpreadJsObj.reloadColData(posSheet, posSpreadSetting.baseCols.length, compareStages.length * posSpreadSetting.extraCols.length);
|
|
|
+ SpreadJsObj.reloadColData(posSheet, posSpreadSetting.baseCols.length, compareStages.length * posSpreadSetting.extraCols.length + billsSpreadSetting.specExtraCols.length);
|
|
|
|
|
|
SpreadJsObj.reLoadSheetHeader(gclSheet);
|
|
|
- SpreadJsObj.reloadColData(gclSheet, gclSpreadSetting.baseCols.length, compareStages.length * gclSpreadSetting.extraCols.length);
|
|
|
+ SpreadJsObj.reloadColData(gclSheet, gclSpreadSetting.baseCols.length, compareStages.length * gclSpreadSetting.extraCols.length + billsSpreadSetting.specExtraCols.length);
|
|
|
SpreadJsObj.reLoadSheetHeader(leafXmjSheet);
|
|
|
- SpreadJsObj.reloadColData(leafXmjSheet, leafXmjSpreadSetting.baseCols.length, compareStages.length * leafXmjSpreadSetting.extraCols.length);
|
|
|
+ SpreadJsObj.reloadColData(leafXmjSheet, leafXmjSpreadSetting.baseCols.length, compareStages.length * leafXmjSpreadSetting.extraCols.length + billsSpreadSetting.specExtraCols.length);
|
|
|
});
|
|
|
$('[name=compareType]').click(function () {
|
|
|
$('[name=compareType]').removeClass('active');
|