🐛 修复评分-1空值、结算单号跳转与小程序用户数据权限组织选择
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1067,7 +1067,8 @@ import { formatContractOptionLabel } from '@/utils/contract';
|
||||
import { isTierUnitPrice, isUnitPriceAdjustable } from '@/utils/settlement-adjust-rule';
|
||||
import { downloadXls } from '@/utils/util';
|
||||
import { createSettlementTransfer } from '@/utils/settlement-transfer';
|
||||
import { settlementListPath } from '@/utils/settlement-menu';
|
||||
import { settlementBillLabel, settlementListPath } from '@/utils/settlement-menu';
|
||||
import { getList as getFormalSettlementList } from '@/api/settlement/formalSettlement';
|
||||
import {
|
||||
contractApprovalStatusOptions,
|
||||
contractCategoryOptions,
|
||||
@@ -1921,8 +1922,9 @@ export default {
|
||||
this.openSettlementDetail('/settlement/pre-settlement', row.preSettlementNo);
|
||||
return;
|
||||
}
|
||||
if (this.settlementType === 'payable' && column.prop === 'formalSettlementNo') {
|
||||
this.openSettlementDetail('/settlement/payment-settlement', row.formalSettlementNo);
|
||||
// 正式结算单号:跳转付款/收款结算单表单页并打开详情(与开票申请等入口一致)
|
||||
if (column.prop === 'formalSettlementNo') {
|
||||
this.openFormalSettlementDetail(row.formalSettlementNo);
|
||||
return;
|
||||
}
|
||||
this.openDetailDialog(row);
|
||||
@@ -1934,6 +1936,42 @@ export default {
|
||||
}
|
||||
this.$router.push({ path, query: { detailNo } });
|
||||
},
|
||||
async openFormalSettlementDetail(formalSettlementNo) {
|
||||
const normalizedNo = String(formalSettlementNo || '')
|
||||
.split(/[、,,]/)
|
||||
.map(item => item.trim())
|
||||
.find(Boolean);
|
||||
if (!normalizedNo) {
|
||||
this.$message.info('当前记录未关联结算单详情');
|
||||
return;
|
||||
}
|
||||
try {
|
||||
const data = this.unwrapPage(
|
||||
await getFormalSettlementList(1, 10, { formalSettlementNo: normalizedNo })
|
||||
);
|
||||
const row = (data.records || []).find(
|
||||
item => String(item.formalSettlementNo || '').trim() === normalizedNo
|
||||
);
|
||||
if (!row?.id) {
|
||||
this.$message.warning('未找到对应的正式结算单');
|
||||
return;
|
||||
}
|
||||
const settlementType = row.settlementType || this.settlementType || 'payable';
|
||||
const listPath = settlementListPath(settlementType);
|
||||
await this.$router.push({
|
||||
path: `${listPath}/form`,
|
||||
query: {
|
||||
mode: 'view',
|
||||
id: row.id,
|
||||
settlementType,
|
||||
listPath,
|
||||
name: `查看${settlementBillLabel(settlementType)}`,
|
||||
},
|
||||
});
|
||||
} catch (error) {
|
||||
this.$message.error('正式结算单详情加载失败');
|
||||
}
|
||||
},
|
||||
async openRouteDetail(detailId = this.$route.query.detailId) {
|
||||
// 结算明细点「单据号」会带 detailId 跳到本页;只有当前停在应收/应付明细页时才自动展开详情
|
||||
const routePath =
|
||||
|
||||
Reference in New Issue
Block a user