清理旧履约模型残留
This commit is contained in:
@@ -98,7 +98,7 @@ function resolveLabel(status: string) {
|
||||
refunding: '退款中',
|
||||
closed: '已关闭',
|
||||
pending_payment: '待支付',
|
||||
cdk_reserved: '已预占',
|
||||
cdk_reserved: '资源已准备',
|
||||
link_generated: '已生成链接',
|
||||
claimed: '已创建会话',
|
||||
role_confirmed: '已确认角色',
|
||||
@@ -108,9 +108,9 @@ function resolveLabel(status: string) {
|
||||
manual_review: '人工处理',
|
||||
expired: '已过期',
|
||||
available: '可用',
|
||||
reserved: '已预占',
|
||||
reserved: '资源已准备',
|
||||
delivered: '已发放',
|
||||
consumed: '已消耗',
|
||||
consumed: '已使用',
|
||||
invalid: '已作废',
|
||||
active: '生效中',
|
||||
admin: '管理员',
|
||||
@@ -123,21 +123,29 @@ function resolveLabel(status: string) {
|
||||
pending: '待触发',
|
||||
waiting: '等待中',
|
||||
processing: '处理中',
|
||||
system_bound: '系统已绑定',
|
||||
pending_binding: '待系统绑定',
|
||||
system_bound: '资源已准备',
|
||||
pending_binding: '待准备资源',
|
||||
resource_ready: '资源已准备',
|
||||
pending_prepare: '待准备资源',
|
||||
pending_config: '待配置',
|
||||
pending_binding_prepare: '待准备绑定',
|
||||
pending_binding_prepare: '待准备资源',
|
||||
not_started: '未开始',
|
||||
waiting_binding: '待客户绑定',
|
||||
dispatched_pending_return: '待退还号码',
|
||||
completed: '已完成',
|
||||
waiting_user_claim: '待用户打开链接',
|
||||
waiting_user_claim: '待客户打开链接',
|
||||
waiting_customer: '待客户绑定',
|
||||
link_opened: '已打开链接',
|
||||
binding_confirmed: '已提交绑定',
|
||||
binding_in_progress: '绑定处理中',
|
||||
binding_completed: '完整绑定成功',
|
||||
binding_exception: '绑定异常',
|
||||
user_binding: '用户绑定中',
|
||||
binding_confirmed: '已提交',
|
||||
binding_in_progress: '处理中',
|
||||
binding_completed: '履约完成',
|
||||
binding_exception: '履约异常',
|
||||
customer_confirmed: '已提交',
|
||||
customer_processing: '处理中',
|
||||
customer_completed: '履约完成',
|
||||
customer_exception: '履约异常',
|
||||
resource_exception: '资源异常',
|
||||
user_binding: '客户处理中',
|
||||
}
|
||||
|
||||
if (!props.showRaw) {
|
||||
|
||||
@@ -15,14 +15,13 @@ export type { AdminDashboardSummary } from './dashboard'
|
||||
|
||||
// Orders types
|
||||
export type {
|
||||
AdminOrderBindingSummary,
|
||||
AdminOrderFulfillmentProgress,
|
||||
AdminOrderListItem,
|
||||
AdminOrderDetail,
|
||||
} from './orders'
|
||||
|
||||
// Tasks types
|
||||
export type {
|
||||
AdminTaskBindingSummary,
|
||||
AdminTaskListItem,
|
||||
AdminTaskOperations,
|
||||
AdminTaskActionResponse,
|
||||
|
||||
@@ -1,15 +1,11 @@
|
||||
import type { AdminTaskListItem } from './tasks'
|
||||
|
||||
export interface AdminOrderBindingSummary {
|
||||
export interface AdminOrderFulfillmentProgress {
|
||||
totalTaskCount: number
|
||||
systemBoundTaskCount: number
|
||||
completedBindingTaskCount: number
|
||||
totalBindingCount: number
|
||||
reservedBindingCount: number
|
||||
consumedBindingCount: number
|
||||
releasedBindingCount: number
|
||||
systemBindingStatus: string
|
||||
userBindingStatus: string
|
||||
preparedTaskCount: number
|
||||
completedTaskCount: number
|
||||
resourceStatus: string
|
||||
customerStatus: string
|
||||
}
|
||||
|
||||
export interface AdminOrderListItem {
|
||||
@@ -34,14 +30,10 @@ export interface AdminOrderListItem {
|
||||
totalQuantity: number
|
||||
itemSummary: string
|
||||
taskCount: number
|
||||
systemBindingStatus: string
|
||||
userBindingStatus: string
|
||||
systemBoundTaskCount: number
|
||||
completedBindingTaskCount: number
|
||||
totalBindingCount: number
|
||||
reservedBindingCount: number
|
||||
consumedBindingCount: number
|
||||
releasedBindingCount: number
|
||||
resourceStatus: string
|
||||
customerStatus: string
|
||||
preparedTaskCount: number
|
||||
completedTaskCount: number
|
||||
}
|
||||
|
||||
export interface AdminOrderDetail {
|
||||
@@ -65,7 +57,7 @@ export interface AdminOrderDetail {
|
||||
updatedAt: string
|
||||
itemSummary: string
|
||||
rawPayload: Record<string, unknown>
|
||||
bindingSummary: AdminOrderBindingSummary
|
||||
fulfillmentProgress: AdminOrderFulfillmentProgress
|
||||
}
|
||||
items: Array<{
|
||||
orderItemId: number
|
||||
|
||||
@@ -1,11 +1,3 @@
|
||||
export interface AdminTaskBindingSummary {
|
||||
totalBindingCount: number
|
||||
reservedBindingCount: number
|
||||
consumedBindingCount: number
|
||||
releasedBindingCount: number
|
||||
roleKeys: string[]
|
||||
}
|
||||
|
||||
export interface AdminTaskListItem {
|
||||
taskId: number
|
||||
taskNo: string
|
||||
@@ -17,8 +9,8 @@ export interface AdminTaskListItem {
|
||||
deliveryStatus: string
|
||||
resultCode: string
|
||||
resultMessage: string
|
||||
systemBindingStatus: string
|
||||
userBindingStatus: string
|
||||
resourceStatus: string
|
||||
customerStatus: string
|
||||
loginType: string
|
||||
roleName: string
|
||||
roleId: string
|
||||
@@ -27,7 +19,6 @@ export interface AdminTaskListItem {
|
||||
roleConfirmedAt: string | null
|
||||
redeemedAt: string | null
|
||||
retryCount: number
|
||||
bindingSummary: AdminTaskBindingSummary
|
||||
lastError: string
|
||||
createdAt: string
|
||||
updatedAt: string
|
||||
|
||||
@@ -41,12 +41,15 @@ function formatSpecSummary(spec: Record<string, unknown>) {
|
||||
function resolveResourceStageLabel(status: string) {
|
||||
const normalized = String(status || '').trim()
|
||||
const labelMap: Record<string, string> = {
|
||||
system_bound: '资源已准备',
|
||||
pending_binding: '待准备资源',
|
||||
resource_ready: '资源已准备',
|
||||
pending_prepare: '待准备资源',
|
||||
pending_payment: '待支付',
|
||||
pending_binding_prepare: '待准备资源',
|
||||
retry_pending: '待重试',
|
||||
manual_review: '人工处理',
|
||||
binding_exception: '资源异常',
|
||||
resource_exception: '资源异常',
|
||||
closed: '已关闭',
|
||||
expired: '已过期',
|
||||
completed: '已完成',
|
||||
not_started: '未开始',
|
||||
}
|
||||
@@ -58,15 +61,14 @@ function resolveCustomerStageLabel(status: string) {
|
||||
const normalized = String(status || '').trim()
|
||||
const labelMap: Record<string, string> = {
|
||||
not_started: '待打开链接',
|
||||
waiting_user_claim: '待打开链接',
|
||||
waiting_binding: '待客户绑定',
|
||||
waiting_customer: '待客户绑定',
|
||||
link_opened: '已打开链接',
|
||||
user_binding: '客户绑定中',
|
||||
binding_confirmed: '已提交',
|
||||
binding_in_progress: '处理中',
|
||||
binding_completed: '客户已完成',
|
||||
binding_exception: '客户步骤异常',
|
||||
completed: '已完成',
|
||||
customer_processing: '处理中',
|
||||
customer_confirmed: '已提交',
|
||||
customer_completed: '客户已完成',
|
||||
customer_exception: '客户步骤异常',
|
||||
closed: '已关闭',
|
||||
expired: '已过期',
|
||||
}
|
||||
|
||||
return labelMap[normalized] || normalized || '-'
|
||||
@@ -74,32 +76,30 @@ function resolveCustomerStageLabel(status: string) {
|
||||
|
||||
function resolveStageTone(status: string): TagType {
|
||||
const normalized = String(status || '').trim()
|
||||
if (['system_bound', 'binding_completed', 'completed'].includes(normalized)) return 'success'
|
||||
if (['resource_ready', 'customer_completed', 'completed'].includes(normalized)) return 'success'
|
||||
if (
|
||||
[
|
||||
'waiting_binding',
|
||||
'waiting_user_claim',
|
||||
'waiting_customer',
|
||||
'link_opened',
|
||||
'user_binding',
|
||||
'binding_confirmed',
|
||||
'binding_in_progress',
|
||||
'customer_confirmed',
|
||||
'customer_processing',
|
||||
].includes(normalized)
|
||||
) return 'primary'
|
||||
if (['binding_exception', 'manual_review', 'failed'].includes(normalized)) return 'danger'
|
||||
if (['pending_binding', 'pending_binding_prepare', 'retry_pending'].includes(normalized)) return 'warning'
|
||||
if (['resource_exception', 'customer_exception', 'manual_review', 'failed'].includes(normalized)) return 'danger'
|
||||
if (['pending_prepare', 'pending_binding_prepare', 'retry_pending'].includes(normalized)) return 'warning'
|
||||
return 'info'
|
||||
}
|
||||
|
||||
function resolveOrderProgressText(summary: AdminOrderDetail['order']['bindingSummary']) {
|
||||
function resolveOrderProgressText(summary: AdminOrderDetail['order']['fulfillmentProgress']) {
|
||||
if (!summary.totalTaskCount) return '未生成履约任务'
|
||||
if (summary.completedBindingTaskCount >= summary.totalTaskCount) return '履约完成'
|
||||
if (summary.systemBoundTaskCount > 0) return '等待客户绑定'
|
||||
if (summary.completedTaskCount >= summary.totalTaskCount) return '履约完成'
|
||||
if (summary.preparedTaskCount > 0) return '等待客户绑定'
|
||||
return '待准备领取链接'
|
||||
}
|
||||
|
||||
function resolveOrderProgressTone(summary: AdminOrderDetail['order']['bindingSummary']): TagType {
|
||||
function resolveOrderProgressTone(summary: AdminOrderDetail['order']['fulfillmentProgress']): TagType {
|
||||
if (!summary.totalTaskCount) return 'warning'
|
||||
if (summary.completedBindingTaskCount >= summary.totalTaskCount) return 'success'
|
||||
if (summary.completedTaskCount >= summary.totalTaskCount) return 'success'
|
||||
return 'warning'
|
||||
}
|
||||
</script>
|
||||
@@ -145,12 +145,12 @@ function resolveOrderProgressTone(summary: AdminOrderDetail['order']['bindingSum
|
||||
</div>
|
||||
<div class="summary-block">
|
||||
<span>履约进度</span>
|
||||
<el-tag :type="resolveOrderProgressTone(detail.order.bindingSummary)" effect="light">
|
||||
{{ resolveOrderProgressText(detail.order.bindingSummary) }}
|
||||
<el-tag :type="resolveOrderProgressTone(detail.order.fulfillmentProgress)" effect="light">
|
||||
{{ resolveOrderProgressText(detail.order.fulfillmentProgress) }}
|
||||
</el-tag>
|
||||
<small>
|
||||
完成 {{ detail.order.bindingSummary.completedBindingTaskCount }}/{{ detail.order.bindingSummary.totalTaskCount }}
|
||||
· 资源 {{ detail.order.bindingSummary.systemBoundTaskCount }}/{{ detail.order.bindingSummary.totalTaskCount }}
|
||||
完成 {{ detail.order.fulfillmentProgress.completedTaskCount }}/{{ detail.order.fulfillmentProgress.totalTaskCount }}
|
||||
· 资源 {{ detail.order.fulfillmentProgress.preparedTaskCount }}/{{ detail.order.fulfillmentProgress.totalTaskCount }}
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
@@ -186,15 +186,15 @@ function resolveOrderProgressTone(summary: AdminOrderDetail['order']['bindingSum
|
||||
</el-table-column>
|
||||
<el-table-column label="资源准备">
|
||||
<template #default="{ row }">
|
||||
<el-tag :type="resolveStageTone(row.systemBindingStatus)" effect="light" size="small">
|
||||
{{ resolveResourceStageLabel(row.systemBindingStatus) }}
|
||||
<el-tag :type="resolveStageTone(row.resourceStatus)" effect="light" size="small">
|
||||
{{ resolveResourceStageLabel(row.resourceStatus) }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="客户步骤">
|
||||
<template #default="{ row }">
|
||||
<el-tag :type="resolveStageTone(row.userBindingStatus)" effect="light" size="small">
|
||||
{{ resolveCustomerStageLabel(row.userBindingStatus) }}
|
||||
<el-tag :type="resolveStageTone(row.customerStatus)" effect="light" size="small">
|
||||
{{ resolveCustomerStageLabel(row.customerStatus) }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
@@ -50,7 +50,7 @@ const summary = computed(() => ({
|
||||
completedCount: items.value.filter(
|
||||
(item) =>
|
||||
item.taskCount > 0 &&
|
||||
item.completedBindingTaskCount >= item.taskCount &&
|
||||
item.completedTaskCount >= item.taskCount &&
|
||||
item.payStatus === "paid"
|
||||
).length,
|
||||
issueCount: items.value.filter((item) => hasOrderIssue(item)).length,
|
||||
@@ -86,8 +86,8 @@ function resolveItemSummary(item: AdminOrderListItem) {
|
||||
function hasOrderIssue(item: AdminOrderListItem) {
|
||||
return (
|
||||
["refunded", "failed", "unpaid"].includes(item.payStatus) ||
|
||||
item.systemBindingStatus === "binding_exception" ||
|
||||
item.userBindingStatus === "binding_exception"
|
||||
["resource_exception", "manual_review", "retry_pending"].includes(item.resourceStatus) ||
|
||||
item.customerStatus === "customer_exception"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -96,20 +96,20 @@ function resolveFollowUpText(item: AdminOrderListItem) {
|
||||
if (item.payStatus === "refunded") return "已退款";
|
||||
if (item.payStatus === "failed") return "支付失败";
|
||||
if (
|
||||
item.userBindingStatus === "binding_exception" ||
|
||||
item.systemBindingStatus === "binding_exception"
|
||||
item.customerStatus === "customer_exception" ||
|
||||
["resource_exception", "manual_review", "retry_pending"].includes(item.resourceStatus)
|
||||
) {
|
||||
return "履约异常";
|
||||
}
|
||||
if (item.taskCount <= 0) return "未生成履约任务";
|
||||
if (item.completedBindingTaskCount >= item.taskCount) return "履约完成";
|
||||
if (item.systemBoundTaskCount > 0) return "等待客户绑定";
|
||||
if (item.completedTaskCount >= item.taskCount) return "履约完成";
|
||||
if (item.preparedTaskCount > 0) return "等待客户绑定";
|
||||
return "待准备领取链接";
|
||||
}
|
||||
|
||||
function resolveFollowUpTone(item: AdminOrderListItem) {
|
||||
if (hasOrderIssue(item)) return "danger";
|
||||
if (item.taskCount <= 0 || item.completedBindingTaskCount < item.taskCount)
|
||||
if (item.taskCount <= 0 || item.completedTaskCount < item.taskCount)
|
||||
return "warning";
|
||||
return "success";
|
||||
}
|
||||
@@ -117,12 +117,15 @@ function resolveFollowUpTone(item: AdminOrderListItem) {
|
||||
function resolveResourceStageLabel(status: string) {
|
||||
const normalized = String(status || "").trim();
|
||||
const labelMap: Record<string, string> = {
|
||||
system_bound: "资源已准备",
|
||||
pending_binding: "待准备资源",
|
||||
resource_ready: "资源已准备",
|
||||
pending_prepare: "待准备资源",
|
||||
pending_payment: "待支付",
|
||||
pending_binding_prepare: "待准备资源",
|
||||
retry_pending: "待重试",
|
||||
manual_review: "人工处理",
|
||||
binding_exception: "资源异常",
|
||||
resource_exception: "资源异常",
|
||||
closed: "已关闭",
|
||||
expired: "已过期",
|
||||
completed: "已完成",
|
||||
not_started: "未开始",
|
||||
};
|
||||
@@ -134,15 +137,14 @@ function resolveCustomerStageLabel(status: string) {
|
||||
const normalized = String(status || "").trim();
|
||||
const labelMap: Record<string, string> = {
|
||||
not_started: "待打开链接",
|
||||
waiting_user_claim: "待打开链接",
|
||||
waiting_binding: "待客户绑定",
|
||||
waiting_customer: "待客户绑定",
|
||||
link_opened: "已打开链接",
|
||||
user_binding: "客户绑定中",
|
||||
binding_confirmed: "已提交",
|
||||
binding_in_progress: "处理中",
|
||||
binding_completed: "客户已完成",
|
||||
binding_exception: "客户步骤异常",
|
||||
completed: "已完成",
|
||||
customer_processing: "处理中",
|
||||
customer_confirmed: "已提交",
|
||||
customer_completed: "客户已完成",
|
||||
customer_exception: "客户步骤异常",
|
||||
closed: "已关闭",
|
||||
expired: "已过期",
|
||||
};
|
||||
|
||||
return labelMap[normalized] || normalized || "-";
|
||||
@@ -315,9 +317,9 @@ onMounted(() => {
|
||||
<AdminStatusTag :status="row.payStatus" :show-raw="false" />
|
||||
</div>
|
||||
<p class="status-note">
|
||||
客户 {{ resolveCustomerStageLabel(row.userBindingStatus) }}
|
||||
· 资源 {{ resolveResourceStageLabel(row.systemBindingStatus) }}
|
||||
· {{ row.completedBindingTaskCount }}/{{ row.taskCount }}
|
||||
客户 {{ resolveCustomerStageLabel(row.customerStatus) }}
|
||||
· 资源 {{ resolveResourceStageLabel(row.resourceStatus) }}
|
||||
· {{ row.completedTaskCount }}/{{ row.taskCount }}
|
||||
</p>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -129,12 +129,15 @@ function resetFilters() {
|
||||
function resolveResourceStageLabel(status: string) {
|
||||
const normalized = String(status || "").trim();
|
||||
const labelMap: Record<string, string> = {
|
||||
system_bound: "资源已准备",
|
||||
pending_binding: "待准备资源",
|
||||
resource_ready: "资源已准备",
|
||||
pending_prepare: "待准备资源",
|
||||
pending_payment: "待支付",
|
||||
pending_binding_prepare: "待准备资源",
|
||||
retry_pending: "待重试",
|
||||
manual_review: "人工处理",
|
||||
binding_exception: "资源异常",
|
||||
resource_exception: "资源异常",
|
||||
closed: "已关闭",
|
||||
expired: "已过期",
|
||||
completed: "已完成",
|
||||
not_started: "未开始",
|
||||
};
|
||||
@@ -146,15 +149,14 @@ function resolveCustomerStageLabel(status: string) {
|
||||
const normalized = String(status || "").trim();
|
||||
const labelMap: Record<string, string> = {
|
||||
not_started: "待打开链接",
|
||||
waiting_user_claim: "待打开链接",
|
||||
waiting_binding: "待客户绑定",
|
||||
waiting_customer: "待客户绑定",
|
||||
link_opened: "已打开链接",
|
||||
user_binding: "客户绑定中",
|
||||
binding_confirmed: "已提交",
|
||||
binding_in_progress: "处理中",
|
||||
binding_completed: "客户已完成",
|
||||
binding_exception: "客户步骤异常",
|
||||
completed: "已完成",
|
||||
customer_processing: "处理中",
|
||||
customer_confirmed: "已提交",
|
||||
customer_completed: "客户已完成",
|
||||
customer_exception: "客户步骤异常",
|
||||
closed: "已关闭",
|
||||
expired: "已过期",
|
||||
};
|
||||
|
||||
return labelMap[normalized] || normalized || "-";
|
||||
@@ -164,8 +166,8 @@ function resolveTaskMainText(item: AdminTaskListItem) {
|
||||
if (item.lastError) return "需要关注";
|
||||
if (["failed", "manual_review", "retry_pending"].includes(item.status)) return "待处理";
|
||||
if (["redeemed", "completed", "closed"].includes(item.status)) return "已完成";
|
||||
if (item.userBindingStatus === "waiting_binding") return "等待客户绑定";
|
||||
if (item.systemBindingStatus === "system_bound") return "资源已准备";
|
||||
if (item.customerStatus === "waiting_customer") return "等待客户绑定";
|
||||
if (item.resourceStatus === "resource_ready") return "资源已准备";
|
||||
if (item.status === "pending_binding_prepare") return "待准备资源";
|
||||
return item.status || "处理中";
|
||||
}
|
||||
@@ -332,8 +334,8 @@ onMounted(() => {
|
||||
{{ resolveTaskMainText(row) }}
|
||||
</span>
|
||||
<p class="task-status-note">
|
||||
客户 {{ resolveCustomerStageLabel(row.userBindingStatus) }}
|
||||
· 资源 {{ resolveResourceStageLabel(row.systemBindingStatus) }}
|
||||
客户 {{ resolveCustomerStageLabel(row.customerStatus) }}
|
||||
· 资源 {{ resolveResourceStageLabel(row.resourceStatus) }}
|
||||
</p>
|
||||
<p v-if="row.roleName || row.roleId" class="task-status-note">
|
||||
角色 {{ row.roleName || "-" }} / {{ row.roleId || "-" }}
|
||||
|
||||
@@ -17,12 +17,15 @@ defineProps<Props>()
|
||||
function resolveResourceStageLabel(status: string) {
|
||||
const normalized = String(status || '').trim()
|
||||
const labelMap: Record<string, string> = {
|
||||
system_bound: '资源已准备',
|
||||
pending_binding: '待准备资源',
|
||||
resource_ready: '资源已准备',
|
||||
pending_prepare: '待准备资源',
|
||||
pending_payment: '待支付',
|
||||
pending_binding_prepare: '待准备资源',
|
||||
retry_pending: '待重试',
|
||||
manual_review: '人工处理',
|
||||
binding_exception: '资源异常',
|
||||
resource_exception: '资源异常',
|
||||
closed: '已关闭',
|
||||
expired: '已过期',
|
||||
completed: '已完成',
|
||||
not_started: '未开始',
|
||||
}
|
||||
@@ -34,15 +37,14 @@ function resolveCustomerStageLabel(status: string) {
|
||||
const normalized = String(status || '').trim()
|
||||
const labelMap: Record<string, string> = {
|
||||
not_started: '待打开链接',
|
||||
waiting_user_claim: '待打开链接',
|
||||
waiting_binding: '待客户绑定',
|
||||
waiting_customer: '待客户绑定',
|
||||
link_opened: '已打开链接',
|
||||
user_binding: '客户绑定中',
|
||||
binding_confirmed: '已提交',
|
||||
binding_in_progress: '处理中',
|
||||
binding_completed: '客户已完成',
|
||||
binding_exception: '客户步骤异常',
|
||||
completed: '已完成',
|
||||
customer_processing: '处理中',
|
||||
customer_confirmed: '已提交',
|
||||
customer_completed: '客户已完成',
|
||||
customer_exception: '客户步骤异常',
|
||||
closed: '已关闭',
|
||||
expired: '已过期',
|
||||
}
|
||||
|
||||
return labelMap[normalized] || normalized || '-'
|
||||
@@ -85,8 +87,8 @@ function resolveCustomerStageLabel(status: string) {
|
||||
</el-card>
|
||||
</div>
|
||||
<div class="hero-inline">
|
||||
<span>资源 {{ resolveResourceStageLabel(detail.task.systemBindingStatus) }}</span>
|
||||
<span>客户 {{ resolveCustomerStageLabel(detail.task.userBindingStatus) }}</span>
|
||||
<span>资源 {{ resolveResourceStageLabel(detail.task.resourceStatus) }}</span>
|
||||
<span>客户 {{ resolveCustomerStageLabel(detail.task.customerStatus) }}</span>
|
||||
<span v-if="detail.task.lastError">最近异常 {{ detail.task.lastError }}</span>
|
||||
</div>
|
||||
<div v-if="claimUrl" class="hero-link-row">
|
||||
@@ -113,8 +115,8 @@ function resolveCustomerStageLabel(status: string) {
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
资源:{{ resolveResourceStageLabel(detail.task.systemBindingStatus) }} ·
|
||||
客户:{{ resolveCustomerStageLabel(detail.task.userBindingStatus) }}
|
||||
资源:{{ resolveResourceStageLabel(detail.task.resourceStatus) }} ·
|
||||
客户:{{ resolveCustomerStageLabel(detail.task.customerStatus) }}
|
||||
</p>
|
||||
<p>
|
||||
角色:{{ detail.task.roleName || '-' }} /
|
||||
|
||||
Reference in New Issue
Block a user