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/orders/transfer-item/index.vue | 122 +++++++++++++++++++++-------------------
1 files changed, 63 insertions(+), 59 deletions(-)
diff --git a/rsf-design/src/views/orders/transfer-item/index.vue b/rsf-design/src/views/orders/transfer-item/index.vue
index 4981645..3dc2aee 100644
--- a/rsf-design/src/views/orders/transfer-item/index.vue
+++ b/rsf-design/src/views/orders/transfer-item/index.vue
@@ -3,10 +3,10 @@
<ElCard v-if="activeSourceSummary" class="mb-3">
<div class="flex items-center justify-between gap-3">
<div class="flex items-center gap-2 text-sm text-[var(--art-text-gray-600)]">
- <span class="font-medium text-[var(--art-text-gray-900)]">褰撳墠鏉ユ簮</span>
- <span>璋冩嫧鍗旾D锛歿{ activeSourceSummary.transferId }}</span>
+ <span class="font-medium text-[var(--art-text-gray-900)]">{{ t('pages.orders.transferItem.sourceTitle') }}</span>
+ <span>{{ t('pages.orders.transferItem.sourceLabel', { id: activeSourceSummary.transferId }) }}</span>
</div>
- <ElButton link type="primary" @click="handleClearSourceFilter">鏌ョ湅鍏ㄩ儴</ElButton>
+ <ElButton link type="primary" @click="handleClearSourceFilter">{{ t('common.actions.viewAll') }}</ElButton>
</div>
</ElCard>
@@ -59,6 +59,7 @@
<script setup>
import { computed, onMounted, ref, watch } from 'vue'
+ import { useI18n } from 'vue-i18n'
import { ElButton, ElMessage } from 'element-plus'
import { useRoute, useRouter } from 'vue-router'
import { useUserStore } from '@/store/modules/user'
@@ -77,23 +78,24 @@
import { createTransferItemTableColumns } from './transferItemTable.columns.js'
import {
TRANSFER_ITEM_REPORT_STYLE,
- TRANSFER_ITEM_REPORT_TITLE,
buildTransferItemPageQueryParams,
buildTransferItemPrintRows,
buildTransferItemReportMeta,
buildTransferItemSearchParams,
createTransferItemSearchState,
getTransferItemPaginationKey,
+ getTransferItemReportTitle,
getTransferItemStatusOptions,
normalizeTransferItemRow
} from './transferItemPage.helpers.js'
defineOptions({ name: 'TransferItem' })
+ const { t } = useI18n()
const userStore = useUserStore()
const route = useRoute()
const router = useRouter()
- const reportTitle = TRANSFER_ITEM_REPORT_TITLE
+ const reportTitle = computed(() => getTransferItemReportTitle(t))
const searchForm = ref(createTransferItemSearchState())
const selectedRows = ref([])
const detailDrawerVisible = ref(false)
@@ -111,220 +113,220 @@
const searchItems = computed(() => [
{
- label: '鍏抽敭瀛�',
+ label: t('table.keyword'),
key: 'condition',
type: 'input',
props: {
clearable: true,
- placeholder: '璇疯緭鍏ヨ皟鎷ㄥ崟鍙�/鐗╂枡缂栫爜/鐗╂枡鍚嶇О/澶囨敞'
+ placeholder: t('pages.orders.transferItem.search.conditionPlaceholder')
}
},
{
- label: '寮�濮嬫椂闂�',
+ label: t('pages.orders.transferItem.search.timeStart'),
key: 'timeStart',
type: 'datetime',
props: {
clearable: true,
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
- placeholder: '璇烽�夋嫨寮�濮嬫椂闂�'
+ placeholder: t('pages.orders.transferItem.search.timeStartPlaceholder')
}
},
{
- label: '缁撴潫鏃堕棿',
+ label: t('pages.orders.transferItem.search.timeEnd'),
key: 'timeEnd',
type: 'datetime',
props: {
clearable: true,
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
- placeholder: '璇烽�夋嫨缁撴潫鏃堕棿'
+ placeholder: t('pages.orders.transferItem.search.timeEndPlaceholder')
}
},
{
- label: '璋冩嫧鍗旾D',
+ label: t('pages.orders.transferItem.search.transferId'),
key: 'transferId',
type: 'inputNumber',
props: {
clearable: true,
controlsPosition: 'right',
- placeholder: '璇疯緭鍏ヨ皟鎷ㄥ崟ID'
+ placeholder: t('pages.orders.transferItem.search.transferIdPlaceholder')
}
},
{
- label: '璋冩嫧鍗曞彿',
+ label: t('pages.orders.transferItem.search.transferCode'),
key: 'transferCode',
type: 'input',
props: {
clearable: true,
- placeholder: '璇疯緭鍏ヨ皟鎷ㄥ崟鍙�'
+ placeholder: t('pages.orders.transferItem.search.transferCodePlaceholder')
}
},
{
- label: '鐗╂枡ID',
+ label: t('pages.orders.transferItem.search.matnrId'),
key: 'matnrId',
type: 'inputNumber',
props: {
clearable: true,
controlsPosition: 'right',
- placeholder: '璇疯緭鍏ョ墿鏂橧D'
+ placeholder: t('pages.orders.transferItem.search.matnrIdPlaceholder')
}
},
{
- label: '鐗╂枡鍚嶇О',
+ label: t('table.materialName'),
key: 'maktx',
type: 'input',
props: {
clearable: true,
- placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�'
+ placeholder: t('pages.orders.transferItem.search.maktxPlaceholder')
}
},
{
- label: '鐗╂枡缂栫爜',
+ label: t('table.materialCode'),
key: 'matnrCode',
type: 'input',
props: {
clearable: true,
- placeholder: '璇疯緭鍏ョ墿鏂欑紪鐮�'
+ placeholder: t('pages.orders.transferItem.search.matnrCodePlaceholder')
}
},
{
- label: '鍗曚綅',
+ label: t('table.unit'),
key: 'unit',
type: 'input',
props: {
clearable: true,
- placeholder: '璇疯緭鍏ュ崟浣�'
+ placeholder: t('pages.orders.transferItem.search.unitPlaceholder')
}
},
{
- label: '鏁伴噺',
+ label: t('table.quantity'),
key: 'anfme',
type: 'inputNumber',
props: {
clearable: true,
controlsPosition: 'right',
- placeholder: '璇疯緭鍏ユ暟閲�'
+ placeholder: t('pages.orders.transferItem.search.anfmePlaceholder')
}
},
{
- label: '宸插畬鎴愭暟閲�',
+ label: t('pages.orders.transferItem.search.qty'),
key: 'qty',
type: 'inputNumber',
props: {
clearable: true,
controlsPosition: 'right',
- placeholder: '璇疯緭鍏ュ凡瀹屾垚鏁伴噺'
+ placeholder: t('pages.orders.transferItem.search.qtyPlaceholder')
}
},
{
- label: '鎵ц鏁伴噺',
+ label: t('pages.orders.transferItem.search.workQty'),
key: 'workQty',
type: 'inputNumber',
props: {
clearable: true,
controlsPosition: 'right',
- placeholder: '璇疯緭鍏ユ墽琛屾暟閲�'
+ placeholder: t('pages.orders.transferItem.search.workQtyPlaceholder')
}
},
{
- label: '鎵规',
+ label: t('table.batch'),
key: 'batch',
type: 'input',
props: {
clearable: true,
- placeholder: '璇疯緭鍏ユ壒娆�'
+ placeholder: t('pages.orders.transferItem.search.batchPlaceholder')
}
},
{
- label: '渚涘簲鍟咺D',
+ label: t('pages.orders.transferItem.search.splrId'),
key: 'splrId',
type: 'inputNumber',
props: {
clearable: true,
controlsPosition: 'right',
- placeholder: '璇疯緭鍏ヤ緵搴斿晢ID'
+ placeholder: t('pages.orders.transferItem.search.splrIdPlaceholder')
}
},
{
- label: '瑙勬牸',
+ label: t('pages.orders.transferItem.search.spec'),
key: 'spec',
type: 'input',
props: {
clearable: true,
- placeholder: '璇疯緭鍏ヨ鏍�'
+ placeholder: t('pages.orders.transferItem.search.specPlaceholder')
}
},
{
- label: '鍨嬪彿',
+ label: t('pages.orders.transferItem.search.model'),
key: 'model',
type: 'input',
props: {
clearable: true,
- placeholder: '璇疯緭鍏ュ瀷鍙�'
+ placeholder: t('pages.orders.transferItem.search.modelPlaceholder')
}
},
{
- label: '瀛楁绱㈠紩',
+ label: t('pages.orders.transferItem.search.fieldsIndex'),
key: 'fieldsIndex',
type: 'input',
props: {
clearable: true,
- placeholder: '璇疯緭鍏ュ瓧娈电储寮�'
+ placeholder: t('pages.orders.transferItem.search.fieldsIndexPlaceholder')
}
},
{
- label: '骞冲彴琛屽彿',
+ label: t('pages.orders.transferItem.search.platItemId'),
key: 'platItemId',
type: 'input',
props: {
clearable: true,
- placeholder: '璇疯緭鍏ュ钩鍙拌鍙�'
+ placeholder: t('pages.orders.transferItem.search.platItemIdPlaceholder')
}
},
{
- label: '瀹㈡埛璁㈠崟鍙�',
+ label: t('pages.orders.transferItem.search.platOrderCode'),
key: 'platOrderCode',
type: 'input',
props: {
clearable: true,
- placeholder: '璇疯緭鍏ュ鎴疯鍗曞彿'
+ placeholder: t('pages.orders.transferItem.search.platOrderCodePlaceholder')
}
},
{
- label: '宸ュ崟鍙�',
+ label: t('pages.orders.transferItem.search.platWorkCode'),
key: 'platWorkCode',
type: 'input',
props: {
clearable: true,
- placeholder: '璇疯緭鍏ュ伐鍗曞彿'
+ placeholder: t('pages.orders.transferItem.search.platWorkCodePlaceholder')
}
},
{
- label: '椤圭洰鍙�',
+ label: t('pages.orders.transferItem.search.projectCode'),
key: 'projectCode',
type: 'input',
props: {
clearable: true,
- placeholder: '璇疯緭鍏ラ」鐩彿'
+ placeholder: t('pages.orders.transferItem.search.projectCodePlaceholder')
}
},
{
- label: '澶囨敞',
+ label: t('table.memo'),
key: 'memo',
type: 'input',
props: {
clearable: true,
- placeholder: '璇疯緭鍏ュ娉�'
+ placeholder: t('pages.orders.transferItem.search.memoPlaceholder')
}
},
{
- label: '鐘舵��',
+ label: t('table.status'),
key: 'status',
type: 'select',
props: {
clearable: true,
- options: getTransferItemStatusOptions()
+ options: getTransferItemStatusOptions(t)
}
}
])
@@ -354,12 +356,13 @@
paginationKey: getTransferItemPaginationKey(),
columnsFactory: () =>
createTransferItemTableColumns({
- handleView: openDetail
+ handleView: openDetail,
+ t
})
},
transform: {
dataTransformer: (records) =>
- Array.isArray(records) ? records.map((item) => normalizeTransferItemRow(item)) : []
+ Array.isArray(records) ? records.map((item) => normalizeTransferItemRow(item, t)) : []
}
})
@@ -368,13 +371,13 @@
detailLoading.value = true
try {
const detail = await guardRequestWithMessage(fetchTransferItemDetail(row.id), {}, {
- timeoutMessage: '璋冩嫧鏄庣粏璇︽儏鍔犺浇瓒呮椂锛屽凡鍋滄绛夊緟'
+ timeoutMessage: t('pages.orders.transferItem.messages.detailTimeout')
})
- detailData.value = normalizeTransferItemRow(detail)
+ detailData.value = normalizeTransferItemRow(detail, t)
} catch (error) {
detailDrawerVisible.value = false
detailData.value = {}
- ElMessage.error(error?.message || '鑾峰彇璋冩嫧鏄庣粏璇︽儏澶辫触')
+ ElMessage.error(error?.message || t('pages.orders.transferItem.messages.detailFailed'))
} finally {
detailLoading.value = false
}
@@ -447,11 +450,11 @@
}
}),
resolvePrintRecords,
- buildPreviewRows: (records) => buildTransferItemPrintRows(records),
+ buildPreviewRows: (records) => buildTransferItemPrintRows(records, t),
buildPreviewMeta: (rows) => {
const now = new Date()
return {
- reportTitle,
+ reportTitle: reportTitle.value,
reportDate: now.toLocaleDateString('zh-CN'),
printedAt: now.toLocaleString('zh-CN', { hour12: false }),
operator: userStore.getUserInfo?.name || userStore.getUserInfo?.username || '',
@@ -467,7 +470,8 @@
buildTransferItemReportMeta({
previewMeta: previewMeta.value,
count: previewRows.value.length,
- orientation: previewMeta.value?.reportStyle?.orientation || TRANSFER_ITEM_REPORT_STYLE.orientation
+ orientation: previewMeta.value?.reportStyle?.orientation || TRANSFER_ITEM_REPORT_STYLE.orientation,
+ t
})
)
--
Gitblit v1.9.1