From 50e95b985a72fcec4a93a2470e9efdfb2620148a Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 02 四月 2026 15:46:09 +0800
Subject: [PATCH] #i18n

---
 rsf-design/src/views/system/dept/index.vue |   44 +++++++++++++++++++++++++++-----------------
 1 files changed, 27 insertions(+), 17 deletions(-)

diff --git a/rsf-design/src/views/system/dept/index.vue b/rsf-design/src/views/system/dept/index.vue
index 2dbb5b6..d77b852 100644
--- a/rsf-design/src/views/system/dept/index.vue
+++ b/rsf-design/src/views/system/dept/index.vue
@@ -17,9 +17,9 @@
       >
         <template #left>
           <ElSpace wrap>
-            <ElButton v-auth="'add'" @click="handleAdd" v-ripple>鏂板閮ㄩ棬</ElButton>
+            <ElButton v-auth="'add'" @click="handleAdd" v-ripple>{{ t('pages.system.dept.buttons.add') }}</ElButton>
             <ElButton @click="toggleExpand" v-ripple>
-              {{ isExpanded ? '鏀惰捣' : '灞曞紑' }}
+              {{ isExpanded ? t('common.actions.collapse') : t('common.actions.expand') }}
             </ElButton>
           </ElSpace>
         </template>
@@ -48,6 +48,7 @@
 
 <script setup>
   import { ElMessage, ElMessageBox } from 'element-plus'
+  import { useI18n } from 'vue-i18n'
   import { guardRequestWithMessage } from '@/utils/sys/requestGuard'
   import { useTableColumns } from '@/hooks/core/useTableColumns'
   import {
@@ -70,6 +71,7 @@
 
   defineOptions({ name: 'Dept' })
 
+  const { t } = useI18n()
   const loading = ref(false)
   const isExpanded = ref(false)
   const tableRef = ref()
@@ -83,18 +85,19 @@
 
   const searchItems = computed(() => [
     {
-      label: '閮ㄩ棬鍚嶇О',
+      label: t('pages.system.dept.table.name'),
       key: 'condition',
       type: 'input',
       props: {
         clearable: true,
-        placeholder: '璇疯緭鍏ラ儴闂ㄥ悕绉�'
+        placeholder: t('pages.system.dept.search.conditionPlaceholder')
       }
     }
   ])
 
   const { columnChecks, columns } = useTableColumns(() =>
     createDeptTableColumns({
+      t,
       handleEdit: handleEdit,
       handleDelete: handleDelete
     })
@@ -111,7 +114,7 @@
         fetchGetDeptTree(buildDeptSearchParams(searchForm)),
         [],
         {
-          timeoutMessage: '閮ㄩ棬鍔犺浇瓒呮椂锛屽凡鍋滄绛夊緟'
+          timeoutMessage: t('pages.system.dept.messages.pageTimeout')
         }
       )
       const normalizedRows = normalizeDeptTreeRows(tree || [])
@@ -148,23 +151,30 @@
       deptTreeOptions.value = buildDeptTreeOptions(tableData.value, row.id)
       dialogVisible.value = true
     } catch (error) {
-      ElMessage.error(error?.message || '鑾峰彇閮ㄩ棬璇︽儏澶辫触')
+      ElMessage.error(error?.message || t('pages.system.dept.messages.detailFailed'))
     }
   }
 
   async function handleDelete(row) {
     try {
-      await ElMessageBox.confirm(`纭畾瑕佸垹闄ら儴闂ㄣ��${row.name || row.id}銆嶅悧锛焋, '鍒犻櫎纭', {
-        confirmButtonText: '纭畾',
-        cancelButtonText: '鍙栨秷',
-        type: 'warning'
-      })
+      await ElMessageBox.confirm(
+        t('crud.confirm.deleteMessage', {
+          entity: t('pages.system.dept.entity'),
+          label: row.name || row.id
+        }),
+        t('crud.confirm.deleteTitle'),
+        {
+          confirmButtonText: t('common.confirm'),
+          cancelButtonText: t('common.cancel'),
+          type: 'warning'
+        }
+      )
       await fetchDeleteDept(row.id)
-      ElMessage.success('鍒犻櫎鎴愬姛')
+      ElMessage.success(t('crud.messages.deleteSuccess'))
       await loadDeptTree()
     } catch (error) {
       if (error !== 'cancel') {
-        ElMessage.error(error?.message || '鍒犻櫎澶辫触')
+        ElMessage.error(error?.message || t('crud.messages.deleteFailed'))
       }
     }
   }
@@ -172,23 +182,23 @@
   async function handleDialogSubmit(formData) {
     const payload = buildDeptSavePayload(formData)
     if (payload.id && payload.id === payload.parentId) {
-      ElMessage.error('涓婄骇閮ㄩ棬涓嶈兘閫夋嫨褰撳墠閮ㄩ棬')
+      ElMessage.error(t('pages.system.dept.messages.parentSelfInvalid'))
       return
     }
 
     try {
       if (payload.id) {
         await fetchUpdateDept(payload)
-        ElMessage.success('淇敼鎴愬姛')
+        ElMessage.success(t('crud.messages.updateSuccess'))
       } else {
         await fetchSaveDept(payload)
-        ElMessage.success('鏂板鎴愬姛')
+        ElMessage.success(t('crud.messages.createSuccess'))
       }
       dialogVisible.value = false
       currentDeptData.value = buildDeptDialogModel()
       await loadDeptTree()
     } catch (error) {
-      ElMessage.error(error?.message || '鎻愪氦澶辫触')
+      ElMessage.error(error?.message || t('crud.messages.submitFailed'))
     }
   }
 

--
Gitblit v1.9.1