From 0a1d91e42e6c5af96e1108e9ebcc37e99eb3b22c Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 02 四月 2026 15:55:58 +0800
Subject: [PATCH] #路由修复

---
 rsf-design/src/views/manager/task/taskPage.helpers.js |   65 ++++++++++++++++++++++----------
 1 files changed, 44 insertions(+), 21 deletions(-)

diff --git a/rsf-design/src/views/manager/task/taskPage.helpers.js b/rsf-design/src/views/manager/task/taskPage.helpers.js
index 0fa5bda..c002b57 100644
--- a/rsf-design/src/views/manager/task/taskPage.helpers.js
+++ b/rsf-design/src/views/manager/task/taskPage.helpers.js
@@ -1,4 +1,5 @@
 import { ElMessageBox } from 'element-plus'
+import { $t } from '@/locales'
 
 function normalizeText(value) {
   return String(value ?? '').trim()
@@ -55,7 +56,8 @@
     statusText: record['status$'] || '-',
     updateTimeText: record['updateTime$'] || record.updateTime || '-',
     createTimeText: record['createTime$'] || record.createTime || '-',
-    canComplete: record.canComplete === true
+    canComplete: record.canComplete === true,
+    canCancel: record.canCancel === true
   }
 }
 
@@ -84,18 +86,31 @@
   return Number(row.taskStatus) === 199 && Number(row.taskType) === 103
 }
 
+export function canTopTask(row = {}) {
+  const taskStatus = Number(row.taskStatus)
+  const taskType = Number(row.taskType)
+  const allowedStatuses = [1, 101]
+  const allowedTypes = [1, 101, 10, 103, 11]
+  return allowedStatuses.includes(taskStatus) && allowedTypes.includes(taskType)
+}
+
 export function getTaskActionList(row = {}) {
   return [
     {
       key: 'view',
-      label: '鏌ョ湅璇︽儏',
+      label: $t('pages.task.actions.view'),
       icon: 'ri:eye-line'
+    },
+    {
+      key: 'flowStep',
+      label: $t('pages.task.actions.flowStep'),
+      icon: 'ri:node-tree'
     },
     ...(row.canComplete
       ? [
           {
             key: 'complete',
-            label: '瀹屾垚浠诲姟',
+            label: $t('pages.task.actions.complete'),
             icon: 'ri:checkbox-circle-line',
             auth: 'update'
           }
@@ -105,7 +120,7 @@
       ? [
           {
             key: 'check',
-            label: '鐩樼偣鍑哄簱',
+            label: $t('pages.task.actions.check'),
             icon: 'ri:file-check-line',
             auth: 'update'
           }
@@ -115,32 +130,40 @@
       ? [
           {
             key: 'pick',
-            label: '鎷f枡鍑哄簱',
+            label: $t('pages.task.actions.pick'),
             icon: 'ri:paint-line',
             auth: 'update'
           }
         ]
       : []),
-    {
-      key: 'top',
-      label: '浠诲姟缃《',
-      icon: 'ri:pushpin-line',
-      auth: 'update'
-    },
-    {
-      key: 'remove',
-      label: '鍙栨秷浠诲姟',
-      icon: 'ri:close-circle-line',
-      color: '#f56c6c',
-      auth: 'delete'
-    }
+    ...(canTopTask(row)
+      ? [
+          {
+            key: 'top',
+            label: $t('pages.task.actions.top'),
+            icon: 'ri:pushpin-line',
+            auth: 'update'
+          }
+        ]
+      : []),
+    ...(row.canCancel
+      ? [
+          {
+            key: 'remove',
+            label: $t('pages.task.actions.remove'),
+            icon: 'ri:close-circle-line',
+            color: '#f56c6c',
+            auth: 'delete'
+          }
+        ]
+      : [])
   ]
 }
 
 export async function confirmTaskAction(message) {
-  await ElMessageBox.confirm(message, '鎻愮ず', {
+  await ElMessageBox.confirm(message, $t('crud.confirm.deleteTitle'), {
     type: 'warning',
-    confirmButtonText: '纭畾',
-    cancelButtonText: '鍙栨秷'
+    confirmButtonText: $t('common.confirm'),
+    cancelButtonText: $t('common.cancel')
   })
 }

--
Gitblit v1.9.1