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/operation-record/index.vue | 58 ++++++++++++++++++++++++++++++++++------------------------
1 files changed, 34 insertions(+), 24 deletions(-)
diff --git a/rsf-design/src/views/system/operation-record/index.vue b/rsf-design/src/views/system/operation-record/index.vue
index b8005c6..5103f6b 100644
--- a/rsf-design/src/views/system/operation-record/index.vue
+++ b/rsf-design/src/views/system/operation-record/index.vue
@@ -52,6 +52,7 @@
</template>
<script setup>
+ import { useI18n } from 'vue-i18n'
import { ElMessage, ElMessageBox } from 'element-plus'
import { useUserStore } from '@/store/modules/user'
import { useAuth } from '@/hooks/core/useAuth'
@@ -73,15 +74,16 @@
createOperationRecordSearchState,
getOperationRecordPaginationKey,
getOperationRecordReportColumns,
+ getOperationRecordReportTitle,
mergeOperationRecordDetail,
- normalizeOperationRecordRow,
- OPERATION_RECORD_REPORT_TITLE
+ normalizeOperationRecordRow
} from './operationRecordPage.helpers'
import { createOperationRecordTableColumns } from './operationRecordTable.columns'
import OperationRecordDetailDrawer from './modules/operation-record-detail-drawer.vue'
defineOptions({ name: 'OperationRecord' })
+ const { t } = useI18n()
const userStore = useUserStore()
const { hasAuth } = useAuth()
@@ -90,52 +92,52 @@
const detailLoading = ref(false)
const detailData = ref({})
const selectedRows = ref([])
- const reportTitle = OPERATION_RECORD_REPORT_TITLE
+ const reportTitle = computed(() => getOperationRecordReportTitle(t))
const reportQueryParams = computed(() => buildOperationRecordSearchParams(searchForm.value))
- const reportColumns = getOperationRecordReportColumns()
+ const reportColumns = computed(() => getOperationRecordReportColumns(t))
const searchItems = computed(() => [
{
- label: '鍏抽敭瀛�',
+ label: t('table.keyword'),
key: 'condition',
type: 'input',
props: {
clearable: true,
- placeholder: '璇疯緭鍏ュ悕绉扮┖闂�'
+ placeholder: t('pages.system.operationRecord.search.conditionPlaceholder')
}
},
{
- label: '鎺ュ彛鍦板潃',
+ label: t('pages.system.operationRecord.table.url'),
key: 'url',
type: 'input',
props: {
clearable: true,
- placeholder: '璇疯緭鍏ユ帴鍙e湴鍧�'
+ placeholder: t('pages.system.operationRecord.search.urlPlaceholder')
}
},
{
- label: '瀹㈡埛绔疘P',
+ label: t('pages.system.operationRecord.table.clientIp'),
key: 'clientIp',
type: 'input',
props: {
clearable: true,
- placeholder: '璇疯緭鍏ュ鎴风IP'
+ placeholder: t('pages.system.operationRecord.search.clientIpPlaceholder')
}
},
{
- label: '缁撴灉',
+ label: t('pages.system.operationRecord.table.result'),
key: 'result',
type: 'select',
props: {
clearable: true,
options: [
- { label: '鎴愬姛', value: 1 },
- { label: '澶辫触', value: 0 }
+ { label: t('pages.system.operationRecord.result.success'), value: 1 },
+ { label: t('pages.system.operationRecord.result.failed'), value: 0 }
]
}
},
{
- label: '寮�濮嬫棩鏈�',
+ label: t('pages.system.operationRecord.search.timeStart'),
key: 'timeStart',
type: 'date',
props: {
@@ -145,7 +147,7 @@
}
},
{
- label: '缁撴潫鏃ユ湡',
+ label: t('pages.system.operationRecord.search.timeEnd'),
key: 'timeEnd',
type: 'date',
props: {
@@ -163,17 +165,24 @@
async function handleDelete(row) {
try {
- await ElMessageBox.confirm(`纭畾瑕佸垹闄ゆ搷浣滄棩蹇椼��${row.namespace || row.id}銆嶅悧锛焋, '鍒犻櫎纭', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- type: 'warning'
- })
+ await ElMessageBox.confirm(
+ t('crud.confirm.deleteMessage', {
+ entity: t('pages.system.operationRecord.entity'),
+ label: row.namespace || row.id
+ }),
+ t('crud.confirm.deleteTitle'),
+ {
+ confirmButtonText: t('common.confirm'),
+ cancelButtonText: t('common.cancel'),
+ type: 'warning'
+ }
+ )
await fetchDeleteOperationRecord(row.id)
- ElMessage.success('鍒犻櫎鎴愬姛')
+ ElMessage.success(t('crud.messages.deleteSuccess'))
await refreshRemove()
} catch (error) {
if (error !== 'cancel') {
- ElMessage.error(error?.message || '鍒犻櫎澶辫触')
+ ElMessage.error(error?.message || t('crud.messages.deleteFailed'))
}
}
}
@@ -198,6 +207,7 @@
paginationKey: getOperationRecordPaginationKey(),
columnsFactory: () =>
createOperationRecordTableColumns({
+ t,
handleView: openDetail,
handleDelete: hasAuth('delete') ? handleDelete : null
})
@@ -243,7 +253,7 @@
resolvePrintRecords,
buildPreviewRows: (records) => buildOperationRecordPrintRows(records),
buildPreviewMeta: (rows) => ({
- reportTitle,
+ reportTitle: reportTitle.value,
reportDate: new Date().toLocaleDateString('zh-CN'),
printedAt: new Date().toLocaleString('zh-CN', { hour12: false }),
operator: userStore.getUserInfo?.name || userStore.getUserInfo?.username || '',
@@ -259,7 +269,7 @@
} catch (error) {
detailDrawerVisible.value = false
detailData.value = {}
- ElMessage.error(error?.message || '鑾峰彇鎿嶄綔鏃ュ織璇︽儏澶辫触')
+ ElMessage.error(error?.message || t('pages.system.operationRecord.messages.detailFailed'))
} finally {
detailLoading.value = false
}
--
Gitblit v1.9.1