feat: 正式结算单展示调整标识与重推入口
This commit is contained in:
@@ -19,6 +19,8 @@ export const formalSettlementTableColumns = [
|
|||||||
{ label: '审核状态', prop: 'approvalStatusName', minWidth: 110, status: true },
|
{ label: '审核状态', prop: 'approvalStatusName', minWidth: 110, status: true },
|
||||||
{ label: '当前节点', prop: 'currentNode', minWidth: 130 },
|
{ label: '当前节点', prop: 'currentNode', minWidth: 130 },
|
||||||
{ label: '当前处理人', prop: 'currentProcessor', minWidth: 130 },
|
{ label: '当前处理人', prop: 'currentProcessor', minWidth: 130 },
|
||||||
|
{ label: '调整标识', prop: 'adjustFlag', minWidth: 110 },
|
||||||
|
{ label: '来源原单号', prop: 'originFormalSettlementNo', minWidth: 170 },
|
||||||
{ label: '金蝶单据号', prop: 'kingdeeBillNo', minWidth: 150 },
|
{ label: '金蝶单据号', prop: 'kingdeeBillNo', minWidth: 150 },
|
||||||
{ label: '金蝶单据状态', prop: 'kingdeeSyncStatus', minWidth: 135 },
|
{ label: '金蝶单据状态', prop: 'kingdeeSyncStatus', minWidth: 135 },
|
||||||
{ label: '金蝶锁状态', prop: 'kingdeeLockStatus', minWidth: 150 },
|
{ label: '金蝶锁状态', prop: 'kingdeeLockStatus', minWidth: 150 },
|
||||||
|
|||||||
@@ -639,6 +639,22 @@
|
|||||||
<el-table-column prop="createTime" label="创建时间" min-width="170" align="center">
|
<el-table-column prop="createTime" label="创建时间" min-width="170" align="center">
|
||||||
<template #default="{ row }">{{ displayValue(row.createTime) }}</template>
|
<template #default="{ row }">{{ displayValue(row.createTime) }}</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
v-if="hasPermission('settlement_adjustment_repush')"
|
||||||
|
label="操作"
|
||||||
|
width="120"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
<template #default="{ row }">
|
||||||
|
<el-link
|
||||||
|
v-if="row.approvalStatus === 'approved' && row.kingdeeSyncStatus === 'synced'"
|
||||||
|
type="danger"
|
||||||
|
@click="handleAdjustmentRepush(row)"
|
||||||
|
>重新推送</el-link
|
||||||
|
>
|
||||||
|
<span v-else>-</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</section-card>
|
</section-card>
|
||||||
|
|
||||||
@@ -1048,6 +1064,7 @@ import KingdeeInvoicePoolDialog from '@/components/kingdee-invoice-pool-dialog/m
|
|||||||
import ProjectAdvanceWriteOff from './project-advance-write-off.vue';
|
import ProjectAdvanceWriteOff from './project-advance-write-off.vue';
|
||||||
import * as XLSX from 'xlsx';
|
import * as XLSX from 'xlsx';
|
||||||
import { isAdministrator } from '@/utils/auth';
|
import { isAdministrator } from '@/utils/auth';
|
||||||
|
import * as settlementAdjustmentApi from '@/api/settlement/settlementAdjustment';
|
||||||
|
|
||||||
// 结算币种为本位币(人民币)时汇率恒为1,汇率日期、结算汇率与按汇率换算的本位币合计都不展示
|
// 结算币种为本位币(人民币)时汇率恒为1,汇率日期、结算汇率与按汇率换算的本位币合计都不展示
|
||||||
const LOCAL_CURRENCY_HIDDEN_FIELDS = ['exchangeRateDate', 'exchangeRate', 'localSettlementAmount'];
|
const LOCAL_CURRENCY_HIDDEN_FIELDS = ['exchangeRateDate', 'exchangeRate', 'localSettlementAmount'];
|
||||||
@@ -1316,6 +1333,17 @@ export default {
|
|||||||
hasPermission(code) {
|
hasPermission(code) {
|
||||||
return this.isAdmin || this.validData(this.permission?.[code], false);
|
return this.isAdmin || this.validData(this.permission?.[code], false);
|
||||||
},
|
},
|
||||||
|
async handleAdjustmentRepush(row) {
|
||||||
|
await this.$confirm(
|
||||||
|
'请确认金蝶旧应付/应收单已由财务手工冲销,继续将生成全新财务应付/应收单。',
|
||||||
|
'高危操作确认',
|
||||||
|
{ type: 'warning', confirmButtonText: '确认重新推送' }
|
||||||
|
);
|
||||||
|
const res = await settlementAdjustmentApi.repush(row.id);
|
||||||
|
this.$message.success(`已生成新金蝶单据:${res.data?.data || res.data || '-'}`);
|
||||||
|
await this.loadFormalDetail(this.recordId);
|
||||||
|
this.$emit('success');
|
||||||
|
},
|
||||||
async loadFormalDetail(id) {
|
async loadFormalDetail(id) {
|
||||||
const response = this.publicMode
|
const response = this.publicMode
|
||||||
? await getMkPublicDetail('formal-settlement', id)
|
? await getMkPublicDetail('formal-settlement', id)
|
||||||
|
|||||||
@@ -92,6 +92,7 @@
|
|||||||
<span v-else-if="column.prop === 'kingdeeSyncStatus'">{{
|
<span v-else-if="column.prop === 'kingdeeSyncStatus'">{{
|
||||||
kingdeeSyncName(row.kingdeeSyncStatus)
|
kingdeeSyncName(row.kingdeeSyncStatus)
|
||||||
}}</span>
|
}}</span>
|
||||||
|
<span v-else-if="column.prop === 'adjustFlag'">{{ adjustFlag(row) }}</span>
|
||||||
<template v-else-if="column.prop === 'kingdeeLockStatus'">
|
<template v-else-if="column.prop === 'kingdeeLockStatus'">
|
||||||
<el-tooltip v-if="lockTag(row).show" :content="lockTag(row).tip" placement="top">
|
<el-tooltip v-if="lockTag(row).show" :content="lockTag(row).tip" placement="top">
|
||||||
<el-tag :type="lockTag(row).type" class="status-text">{{ lockTag(row).label }}</el-tag>
|
<el-tag :type="lockTag(row).type" class="status-text">{{ lockTag(row).label }}</el-tag>
|
||||||
@@ -275,6 +276,12 @@ export default {
|
|||||||
kingdeeSyncName(value) {
|
kingdeeSyncName(value) {
|
||||||
return kingdeeSyncStatusOptions.find(item => item.value === value)?.label || value || '-';
|
return kingdeeSyncStatusOptions.find(item => item.value === value)?.label || value || '-';
|
||||||
},
|
},
|
||||||
|
adjustFlag(row) {
|
||||||
|
// 原单已调整 / 重推生成的新单(显示来源原单号)
|
||||||
|
if (row.adjustStatusName) return row.adjustStatusName;
|
||||||
|
if (row.originFormalSettlementNo) return '调整后单';
|
||||||
|
return '-';
|
||||||
|
},
|
||||||
lockTag(row) {
|
lockTag(row) {
|
||||||
if (row.kingdeeLockStatus === 'locked') {
|
if (row.kingdeeLockStatus === 'locked') {
|
||||||
return { show: true, type: 'danger', label: '金蝶锁定中', tip: '该单据已被金蝶锁定,不可编辑/作废' };
|
return { show: true, type: 'danger', label: '金蝶锁定中', tip: '该单据已被金蝶锁定,不可编辑/作废' };
|
||||||
|
|||||||
Reference in New Issue
Block a user