- 状态颜色:处理中由品牌青绿改为蓝色(adm-badge-sky),即 待处理(黄)/处理中(蓝)/已完成(绿)/关闭(灰)。 - 状态文案:resolved「已解决」→「已完成」,closed「已关闭」→「关闭」; 管理端列表筛选与详情按钮(标记已完成)同步。 - 用户删除自动关闭:DeleteTicket 软删除前先将 status 置为 closed, 此后不可回复,管理端也不再计入未关闭待办。 - 回复权限维持:closed 阶段禁止回复,其余状态(待处理/处理中/已完成) 用户均可在客户端回复(用户回复已完成工单会自动重开为待处理)。
This commit is contained in:
@@ -146,14 +146,14 @@ export function updateTicketStatus(ticketId: number, status: string) {
|
||||
export const TICKET_STATUS_MAP: Record<string, string> = {
|
||||
pending: '待处理',
|
||||
processing: '处理中',
|
||||
resolved: '已解决',
|
||||
closed: '已关闭',
|
||||
resolved: '已完成',
|
||||
closed: '关闭',
|
||||
}
|
||||
|
||||
/** 工单状态颜色映射 */
|
||||
/** 工单状态颜色映射:待处理=黄 / 处理中=蓝 / 已完成=绿 / 关闭=灰 */
|
||||
export const TICKET_STATUS_COLOR: Record<string, string> = {
|
||||
pending: 'adm-badge-amber',
|
||||
processing: 'adm-badge-brand',
|
||||
processing: 'adm-badge-sky',
|
||||
resolved: 'adm-badge-green',
|
||||
closed: 'adm-badge-gray',
|
||||
}
|
||||
|
||||
@@ -134,14 +134,14 @@ async function changeStatus(status: string) {
|
||||
class="h-8 px-3.5 rounded-full text-xs font-semibold adm-btn-success hover:brightness-105"
|
||||
@click="changeStatus('resolved')"
|
||||
>
|
||||
标记已解决
|
||||
标记已完成
|
||||
</button>
|
||||
<button
|
||||
v-if="ticket.status !== 'closed' && ticket.status !== 'resolved'"
|
||||
class="h-8 px-3.5 rounded-full text-xs font-semibold bg-green-50 text-green-700 hover:bg-green-100"
|
||||
@click="changeStatus('resolved')"
|
||||
>
|
||||
直接解决
|
||||
标记已完成
|
||||
</button>
|
||||
<button
|
||||
v-if="ticket.status !== 'closed'"
|
||||
|
||||
@@ -36,8 +36,8 @@ const statusOptions = [
|
||||
{ value: '', label: '全部' },
|
||||
{ value: 'pending', label: '待处理' },
|
||||
{ value: 'processing', label: '处理中' },
|
||||
{ value: 'resolved', label: '已解决' },
|
||||
{ value: 'closed', label: '已关闭' },
|
||||
{ value: 'resolved', label: '已完成' },
|
||||
{ value: 'closed', label: '关闭' },
|
||||
]
|
||||
|
||||
onMounted(async () => {
|
||||
|
||||
Reference in New Issue
Block a user