From 7c2bffa1a495cc4a3a263f654c08c231009c5c4e Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 02 四月 2026 10:59:45 +0800
Subject: [PATCH] #i18n

---
 rsf-design/src/views/orders/transfer/index.vue |   58 ++++++++++++++++++++++++++++++----------------------------
 1 files changed, 30 insertions(+), 28 deletions(-)

diff --git a/rsf-design/src/views/orders/transfer/index.vue b/rsf-design/src/views/orders/transfer/index.vue
index 8a42133..618f804 100644
--- a/rsf-design/src/views/orders/transfer/index.vue
+++ b/rsf-design/src/views/orders/transfer/index.vue
@@ -12,7 +12,7 @@
       <ArtTableHeader v-model:columns="columnChecks" :loading="loading" @refresh="refreshData">
         <template #left>
           <ElSpace wrap>
-            <ElButton v-if="canCreate" type="primary" @click="showDialog('add')" v-ripple>鏂板璋冩嫧鍗�</ElButton>
+            <ElButton v-if="canCreate" type="primary" @click="showDialog('add')" v-ripple>{{ t('pages.orders.transfer.actions.add') }}</ElButton>
             <ElButton
               v-if="canDelete"
               type="danger"
@@ -20,7 +20,7 @@
               @click="handleBatchDelete"
               v-ripple
             >
-              鎵归噺鍒犻櫎
+              {{ t('common.actions.batchDelete') }}
             </ElButton>
             <ListExportPrint
               class="inline-flex"
@@ -78,6 +78,7 @@
 <script setup>
   import { computed, onMounted, reactive, ref } from 'vue'
   import { useRouter } from 'vue-router'
+  import { useI18n } from 'vue-i18n'
   import { ElMessage, ElMessageBox } from 'element-plus'
   import { useAuth } from '@/hooks/core/useAuth'
   import { useUserStore } from '@/store/modules/user'
@@ -131,6 +132,7 @@
   const { hasAuth } = useAuth()
   const userStore = useUserStore()
   const router = useRouter()
+  const { t } = useI18n()
 
   const reportTitle = TRANSFER_REPORT_TITLE
   const searchForm = ref(createTransferSearchState())
@@ -157,37 +159,37 @@
 
   const reportQueryParams = computed(() => buildTransferSearchParams(searchForm.value))
   const searchItems = computed(() => [
-    { label: '鍏抽敭瀛�', key: 'condition', type: 'input', props: { clearable: true, placeholder: '璇疯緭鍏ュ崟鍙�/澶囨敞/浠撳簱/搴撳尯' } },
-    { label: '璋冩嫧鍗曞彿', key: 'code', type: 'input', props: { clearable: true, placeholder: '璇疯緭鍏ヨ皟鎷ㄥ崟鍙�' } },
+    { label: t('pages.orders.transfer.search.condition'), key: 'condition', type: 'input', props: { clearable: true, placeholder: t('pages.orders.transfer.placeholder.condition') } },
+    { label: t('pages.orders.transfer.search.code'), key: 'code', type: 'input', props: { clearable: true, placeholder: t('pages.orders.transfer.placeholder.code') } },
     {
-      label: '璋冩嫧绫诲瀷',
+      label: t('pages.orders.transfer.search.type'),
       key: 'type',
       type: 'select',
       props: { clearable: true, filterable: true, options: typeOptions.value }
     },
     {
-      label: '鏉ユ簮',
+      label: t('pages.orders.transfer.search.source'),
       key: 'source',
       type: 'select',
       props: { clearable: true, options: getTransferSourceOptions() }
     },
     {
-      label: '鎵ц鐘舵��',
+      label: t('pages.orders.transfer.search.exceStatus'),
       key: 'exceStatus',
       type: 'select',
       props: { clearable: true, options: getTransferExceStatusOptions() }
     },
-    { label: '婧愪粨搴�', key: 'orgWareName', type: 'input', props: { clearable: true, placeholder: '璇疯緭鍏ユ簮浠撳簱' } },
-    { label: '鐩爣浠撳簱', key: 'tarWareName', type: 'input', props: { clearable: true, placeholder: '璇疯緭鍏ョ洰鏍囦粨搴�' } },
-    { label: '婧愬簱鍖�', key: 'orgAreaName', type: 'input', props: { clearable: true, placeholder: '璇疯緭鍏ユ簮搴撳尯' } },
-    { label: '鐩爣搴撳尯', key: 'tarAreaName', type: 'input', props: { clearable: true, placeholder: '璇疯緭鍏ョ洰鏍囧簱鍖�' } },
+    { label: t('pages.orders.transfer.search.orgWareName'), key: 'orgWareName', type: 'input', props: { clearable: true, placeholder: t('pages.orders.transfer.placeholder.orgWareName') } },
+    { label: t('pages.orders.transfer.search.tarWareName'), key: 'tarWareName', type: 'input', props: { clearable: true, placeholder: t('pages.orders.transfer.placeholder.tarWareName') } },
+    { label: t('pages.orders.transfer.search.orgAreaName'), key: 'orgAreaName', type: 'input', props: { clearable: true, placeholder: t('pages.orders.transfer.placeholder.orgAreaName') } },
+    { label: t('pages.orders.transfer.search.tarAreaName'), key: 'tarAreaName', type: 'input', props: { clearable: true, placeholder: t('pages.orders.transfer.placeholder.tarAreaName') } },
     {
-      label: '鐘舵��',
+      label: t('pages.orders.transfer.search.status'),
       key: 'status',
       type: 'select',
       props: { clearable: true, options: getTransferStatusOptions() }
     },
-    { label: '澶囨敞', key: 'memo', type: 'input', props: { clearable: true, placeholder: '璇疯緭鍏ュ娉�' } }
+    { label: t('pages.orders.transfer.search.memo'), key: 'memo', type: 'input', props: { clearable: true, placeholder: t('pages.orders.transfer.placeholder.memo') } }
   ])
 
   function handleSelectionChange(rows) {
@@ -201,7 +203,7 @@
       const response = await guardRequestWithMessage(
         fetchTransferDetail(transferId),
         {},
-        { timeoutMessage: '璋冩嫧鍗曡鎯呭姞杞借秴鏃讹紝宸插仠姝㈢瓑寰�' }
+        { timeoutMessage: t('pages.orders.transfer.messages.detailTimeout') }
       )
       detailData.value = normalizeTransferDetailRecord(response)
     } finally {
@@ -221,7 +223,7 @@
           })
         ),
         { records: [], total: 0, current: detailOrderPagination.current, size: detailOrderPagination.size },
-        { timeoutMessage: '鍏宠仈鍗曟嵁鍔犺浇瓒呮椂锛屽凡鍋滄绛夊緟' }
+        { timeoutMessage: t('pages.orders.transfer.messages.ordersTimeout') }
       )
       const normalized = defaultResponseAdapter(response)
       detailOrderRows.value = normalized.records.map((item) => normalizeTransferOrderRow(item))
@@ -231,7 +233,7 @@
     } catch (error) {
       detailOrderRows.value = []
       detailOrderPagination.total = 0
-      ElMessage.error(error?.message || '鑾峰彇鍏宠仈鍗曟嵁澶辫触')
+      ElMessage.error(error?.message || t('pages.orders.transfer.messages.ordersLoadFailed'))
     } finally {
       detailOrdersLoading.value = false
     }
@@ -252,7 +254,7 @@
       detailDrawerVisible.value = false
       detailData.value = {}
       detailOrderRows.value = []
-      ElMessage.error(error?.message || '鑾峰彇璋冩嫧鍗曡鎯呭け璐�')
+      ElMessage.error(error?.message || t('pages.orders.transfer.messages.detailLoadFailed'))
     }
   }
 
@@ -261,26 +263,26 @@
       const detail = await guardRequestWithMessage(
         fetchTransferDetail(row.id),
         {},
-        { timeoutMessage: '璋冩嫧鍗曡鎯呭姞杞借秴鏃讹紝宸插仠姝㈢瓑寰�' }
+        { timeoutMessage: t('pages.orders.transfer.messages.detailTimeout') }
       )
       showDialog('edit', detail)
     } catch (error) {
-      ElMessage.error(error?.message || '鑾峰彇璋冩嫧鍗曡鎯呭け璐�')
+      ElMessage.error(error?.message || t('pages.orders.transfer.messages.detailLoadFailed'))
     }
   }
 
   async function handlePublish(row) {
     try {
-      await ElMessageBox.confirm(`纭畾瑕佷笅鍙戣皟鎷ㄥ崟銆�${row.code || row.id}銆嶅悧锛焋, '涓嬪彂纭', {
-        confirmButtonText: '纭畾',
-        cancelButtonText: '鍙栨秷',
+      await ElMessageBox.confirm(t('pages.orders.transfer.messages.publishConfirm', { code: row.code || row.id }), t('pages.orders.transfer.messages.publishTitle'), {
+        confirmButtonText: t('common.confirm'),
+        cancelButtonText: t('common.cancel'),
         type: 'warning'
       })
       const response = await fetchTransferPubOutStock({ id: row.id })
       if (response?.code !== 200 && response?.success !== true) {
-        throw new Error(response?.message || '涓嬪彂鎵ц澶辫触')
+        throw new Error(response?.message || t('pages.orders.transfer.messages.publishFailed'))
       }
-      ElMessage.success(response?.message || '涓嬪彂鎵ц鎴愬姛')
+      ElMessage.success(response?.message || t('pages.orders.transfer.messages.publishSuccess'))
       await refreshData()
       if (detailDrawerVisible.value && activeTransferId.value === row.id) {
         await loadTransferDetail(row.id)
@@ -288,7 +290,7 @@
       }
     } catch (error) {
       if (error === 'cancel' || error?.message === 'cancel') return
-      ElMessage.error(error?.message || '涓嬪彂鎵ц澶辫触')
+      ElMessage.error(error?.message || t('pages.orders.transfer.messages.publishFailed'))
     }
   }
 
@@ -368,7 +370,7 @@
     saveRequest: fetchSaveTransfer,
     updateRequest: fetchUpdateTransfer,
     deleteRequest: fetchDeleteTransfer,
-    entityName: '璋冩嫧鍗�',
+    entityName: t('pages.orders.transfer.entity'),
     resolveRecordLabel: (record) => record?.code || record?.id,
     refreshCreate,
     refreshUpdate,
@@ -387,7 +389,7 @@
     const response = await guardRequestWithMessage(
       fetchDictDataPage({ current: 1, pageSize: 200, dictTypeCode: 'sys_transfer_type', status: 1 }),
       { records: [] },
-      { timeoutMessage: '璋冩嫧绫诲瀷閫夐」鍔犺浇瓒呮椂锛屽凡鍋滄绛夊緟' }
+      { timeoutMessage: t('pages.orders.transfer.messages.typeOptionsTimeout') }
     )
     typeOptions.value = resolveTransferTypeOptions(defaultResponseAdapter(response).records)
   }
@@ -396,7 +398,7 @@
     const response = await guardRequestWithMessage(
       fetchWarehouseAreasList(),
       { records: [] },
-      { timeoutMessage: '搴撳尯閫夐」鍔犺浇瓒呮椂锛屽凡鍋滄绛夊緟' }
+      { timeoutMessage: t('pages.orders.transfer.messages.areaOptionsTimeout') }
     )
     areaOptions.value = resolveTransferAreaOptions(defaultResponseAdapter(response).records)
   }

--
Gitblit v1.9.1