增加一部分界面多语言

This commit is contained in:
葛林强 2026-02-25 09:38:46 +08:00
parent f30e8e638b
commit 3d8153fa47
4 changed files with 75 additions and 55 deletions

View File

@ -8,18 +8,19 @@
import router from "@/router"; import router from "@/router";
import AppDeveloper from "@/components/manage/AppDeveloper.vue"; import AppDeveloper from "@/components/manage/AppDeveloper.vue";
import DevApi from "@/api/dev.ts"; import DevApi from "@/api/dev.ts";
import {useI18n} from "vue-i18n";
const modelValue = defineModel('modelValue', {required: true, default: false}) const modelValue = defineModel('modelValue', {required: true, default: false})
const { t } = useI18n();
const userStoreInstance = userStore(); const userStoreInstance = userStore();
// //
const loginOut = () => { const loginOut = () => {
MessageUtils.confirmMessageBox(`确定退出账号:${userStoreInstance.getUserInfo().userId}?`, "登出确认").then(() => { MessageUtils.confirmMessageBox(t('baseTip.confirmTip') + `${userStoreInstance.getUserInfo().userId}?`, t('baseTip.warning')).then(() => {
UserApi.logout().then((res) => { UserApi.logout().then((res) => {
const response = JSON.parse(JSON.stringify(res.data)) as AppServeResponse; const response = JSON.parse(JSON.stringify(res.data)) as AppServeResponse;
if (response && response.code == AppServeResponseCodeEnum.SUCCESS) { if (response && response.code == AppServeResponseCodeEnum.SUCCESS) {
MessageUtils.successMessage("登出成功"); MessageUtils.successMessage(t('baseTip.success'));
router.push({name:'login'}); router.push({name:'login'});
} else { } else {
MessageUtils.warningMessageBox(response.msg); MessageUtils.warningMessageBox(response.msg);
@ -29,11 +30,11 @@
}; };
// //
const restart = () => { const restart = () => {
MessageUtils.confirmMessageBox(`确定重启服务?`, "重启确认").then(() => { MessageUtils.confirmMessageBox(t('baseTip.confirmTip'), t('baseTip.warning')).then(() => {
DevApi.restartApplication().then((res) => { DevApi.restartApplication().then((res) => {
const response = JSON.parse(JSON.stringify(res.data)) as AppServeResponse; const response = JSON.parse(JSON.stringify(res.data)) as AppServeResponse;
if (response && response.code == AppServeResponseCodeEnum.SUCCESS) { if (response && response.code == AppServeResponseCodeEnum.SUCCESS) {
MessageUtils.successMessage("重启成功"); MessageUtils.successMessage(t('baseTip.success'));
} else { } else {
MessageUtils.warningMessageBox(response.msg); MessageUtils.warningMessageBox(response.msg);
} }
@ -45,27 +46,26 @@
<template> <template>
<el-drawer <el-drawer
v-model="modelValue" v-model="modelValue"
title="用户信息及设置" :title="t('userSetting.userSetting')"
direction="rtl" direction="rtl"
size="20%" size="20%"
destroy-on-close destroy-on-close
:close-on-click-modal="false"
@close="modelValue = false" @close="modelValue = false"
> >
<el-form label-width="150px" label-position="left"> <el-form label-width="150px" label-position="left">
<el-form-item label="当前用户:"> <el-form-item :label="t('userSetting.userName')">
<el-text type="success">{{userStoreInstance.getUserInfo().userName}}</el-text> <el-text type="success">{{userStoreInstance.getUserInfo().userName}}</el-text>
</el-form-item> </el-form-item>
<el-form-item label="语言language"> <el-form-item label="语言language">
<LanguageSwitch style="width: 200px"/> <LanguageSwitch style="width: 200px"/>
</el-form-item> </el-form-item>
<app-developer> <app-developer>
<el-form-item label="重启服务:"> <el-form-item :label="t('userSetting.restartServer')">
<el-button type="danger" @click="restart">点击重启</el-button> <el-button type="danger" @click="restart">{{t('userSetting.clickToRestartServer')}}</el-button>
</el-form-item> </el-form-item>
</app-developer> </app-developer>
</el-form> </el-form>
<el-button type="warning" style="width: 100%; margin-top: 20px" @click="loginOut">退出账号</el-button> <el-button type="warning" style="width: 100%; margin-top: 20px" @click="loginOut">{{t('userSetting.logout')}}</el-button>
</el-drawer> </el-drawer>
</template> </template>

View File

@ -13,7 +13,9 @@ import type {ReporterTaskStatusReq} from "@/interface/page/stockTask/IReporterTa
import type {AppServeDataResponse} from "@/interface/api/AppServeDataResponse.ts"; import type {AppServeDataResponse} from "@/interface/api/AppServeDataResponse.ts";
import type {ICourseCalculateResult} from "@/interface/page/stockTask/ICourseCalculateResult.ts"; import type {ICourseCalculateResult} from "@/interface/page/stockTask/ICourseCalculateResult.ts";
import AppPermission from "@/components/manage/AppPermission.vue"; import AppPermission from "@/components/manage/AppPermission.vue";
import {useI18n} from "vue-i18n";
const { t } = useI18n();
const modelValue = defineModel('modelValue', {required: true, default: false}); const modelValue = defineModel('modelValue', {required: true, default: false});
const props = defineProps(['formData']); const props = defineProps(['formData']);
const emit = defineEmits(['reLoadingTableData']); const emit = defineEmits(['reLoadingTableData']);
@ -25,24 +27,24 @@ const stockComposeTaskStatusFormatter = new StockComposeTaskStatusFormatter();
const stockComposeTaskTypeFormatter = new StockComposeTaskTypeFormatter(); const stockComposeTaskTypeFormatter = new StockComposeTaskTypeFormatter();
const stockComposeStepStatusFormatter = new StockComposeStepStatusFormatter(); const stockComposeStepStatusFormatter = new StockComposeStepStatusFormatter();
const trueFalseTagStyleFormatter = new TrueFalseTagStyleFormatter(); const trueFalseTagStyleFormatter = new TrueFalseTagStyleFormatter();
const uploadString = ref<string>("手动上报"); // const uploadString = ref<string>("-"); //
const uploadDestination = ref<string>(""); // const uploadDestination = ref<string>(""); //
const course = ref<string[]>([]); const course = ref<string[]>([]);
// //
const completeTask = () => { const completeTask = () => {
MessageUtils.confirmMessageBox('确定完成任务?', '风险提示').then(() => { MessageUtils.confirmMessageBox(t('customMessage.confirmExecute'), t('baseTip.confirmTip')).then(() => {
const loadingInstance = MessageUtils.loading(); const loadingInstance = MessageUtils.loading();
StockComposeTaskApi.completeTask(formData.value.taskId).then((res) => { StockComposeTaskApi.completeTask(formData.value.taskId).then((res) => {
const responseString = JSON.stringify(res.data); const responseString = JSON.stringify(res.data);
const response = JSON.parse(responseString) as AppServeResponse; const response = JSON.parse(responseString) as AppServeResponse;
if (response && response.code == AppServeResponseCodeEnum.SUCCESS) { if (response && response.code == AppServeResponseCodeEnum.SUCCESS) {
MessageUtils.successMessage('完成成功'); MessageUtils.successMessage(t('baseTip.success'));
emit('reLoadingTableData'); emit('reLoadingTableData');
close(); close();
return; return;
} }
MessageUtils.errMessageBox(response.msg, '服务器信息'); MessageUtils.errMessageBox(response.msg, t('baseTip.warning'));
}).catch(() => {}).finally(() => { }).catch(() => {}).finally(() => {
loadingInstance.close(); loadingInstance.close();
}) })
@ -50,18 +52,18 @@ const completeTask = () => {
}; };
// //
const resetTask = () => { const resetTask = () => {
MessageUtils.confirmMessageBox('确定重做任务?', '风险提示').then(() => { MessageUtils.confirmMessageBox(t('customMessage.confirmExecute'), t('baseTip.confirmTip')).then(() => {
const loadingInstance = MessageUtils.loading(); const loadingInstance = MessageUtils.loading();
StockComposeTaskApi.resetTask(formData.value.taskId).then((res) => { StockComposeTaskApi.resetTask(formData.value.taskId).then((res) => {
const responseString = JSON.stringify(res.data); const responseString = JSON.stringify(res.data);
const response = JSON.parse(responseString) as AppServeResponse; const response = JSON.parse(responseString) as AppServeResponse;
if (response && response.code == AppServeResponseCodeEnum.SUCCESS) { if (response && response.code == AppServeResponseCodeEnum.SUCCESS) {
MessageUtils.successMessage('重做成功'); MessageUtils.successMessage(t('baseTip.success'));
emit('reLoadingTableData'); emit('reLoadingTableData');
close(); close();
return; return;
} }
MessageUtils.errMessageBox(response.msg, '服务器信息'); MessageUtils.errMessageBox(response.msg, t('baseTip.warning'));
}).catch(() => {}).finally(() => { }).catch(() => {}).finally(() => {
loadingInstance.close(); loadingInstance.close();
}) })
@ -69,18 +71,18 @@ const resetTask = () => {
}; };
// //
const cancelTask = () => { const cancelTask = () => {
MessageUtils.confirmMessageBox('确定取消任务?', '风险提示').then(() => { MessageUtils.confirmMessageBox(t('customMessage.confirmExecute'), t('baseTip.confirmTip')).then(() => {
const loadingInstance = MessageUtils.loading(); const loadingInstance = MessageUtils.loading();
StockComposeTaskApi.cancelTask(formData.value.taskId).then((res) => { StockComposeTaskApi.cancelTask(formData.value.taskId).then((res) => {
const responseString = JSON.stringify(res.data); const responseString = JSON.stringify(res.data);
const response = JSON.parse(responseString) as AppServeResponse; const response = JSON.parse(responseString) as AppServeResponse;
if (response && response.code == AppServeResponseCodeEnum.SUCCESS) { if (response && response.code == AppServeResponseCodeEnum.SUCCESS) {
MessageUtils.successMessage('取消成功'); MessageUtils.successMessage(t('baseTip.success'));
emit('reLoadingTableData'); emit('reLoadingTableData');
close(); close();
return; return;
} }
MessageUtils.errMessageBox(response.msg, '服务器信息'); MessageUtils.errMessageBox(response.msg, t('baseTip.warning'));
}).catch(() => {}).finally(() => { }).catch(() => {}).finally(() => {
loadingInstance.close(); loadingInstance.close();
}) })
@ -88,7 +90,7 @@ const cancelTask = () => {
}; };
// //
const reportTaskComplete = () => { const reportTaskComplete = () => {
MessageUtils.confirmMessageBox('确定上报任务完成?', '风险提示').then(() => { MessageUtils.confirmMessageBox(t('customMessage.confirmExecute'), t('baseTip.confirmTip')).then(() => {
const loadingInstance = MessageUtils.loading(); const loadingInstance = MessageUtils.loading();
const reportData: ReporterTaskStatusReq = { const reportData: ReporterTaskStatusReq = {
taskId: formData.value.taskId, taskId: formData.value.taskId,
@ -99,10 +101,10 @@ const reportTaskComplete = () => {
const responseString = JSON.stringify(res.data); const responseString = JSON.stringify(res.data);
const response = JSON.parse(responseString) as AppServeResponse; const response = JSON.parse(responseString) as AppServeResponse;
if (response && response.code == AppServeResponseCodeEnum.SUCCESS) { if (response && response.code == AppServeResponseCodeEnum.SUCCESS) {
MessageUtils.successMessage('上报成功'); MessageUtils.successMessage(t('baseTip.success'));
return; return;
} }
MessageUtils.errMessageBox(response.msg, '服务器信息'); MessageUtils.errMessageBox(response.msg, t('baseTip.warning'));
}).catch(() => {}).finally(() => { }).catch(() => {}).finally(() => {
loadingInstance.close(); loadingInstance.close();
}) })
@ -110,7 +112,7 @@ const reportTaskComplete = () => {
}; };
// //
const reportTaskCancel = () => { const reportTaskCancel = () => {
MessageUtils.confirmMessageBox('确定上报任务取消?', '风险提示').then(() => { MessageUtils.confirmMessageBox(t('customMessage.confirmExecute'), t('baseTip.confirmTip')).then(() => {
const loadingInstance = MessageUtils.loading(); const loadingInstance = MessageUtils.loading();
const reportData: ReporterTaskStatusReq = { const reportData: ReporterTaskStatusReq = {
taskId: formData.value.taskId, taskId: formData.value.taskId,
@ -121,10 +123,10 @@ const reportTaskCancel = () => {
const responseString = JSON.stringify(res.data); const responseString = JSON.stringify(res.data);
const response = JSON.parse(responseString) as AppServeResponse; const response = JSON.parse(responseString) as AppServeResponse;
if (response && response.code == AppServeResponseCodeEnum.SUCCESS) { if (response && response.code == AppServeResponseCodeEnum.SUCCESS) {
MessageUtils.successMessage('上报成功'); MessageUtils.successMessage(t('baseTip.success'));
return; return;
} }
MessageUtils.errMessageBox(response.msg, '服务器信息'); MessageUtils.errMessageBox(response.msg, t('baseTip.warning'));
}).catch(() => {}).finally(() => { }).catch(() => {}).finally(() => {
loadingInstance.close(); loadingInstance.close();
}) })
@ -140,10 +142,10 @@ const calculateCourse = () => {
if (response && response.code == AppServeResponseCodeEnum.SUCCESS && response.data != null) { if (response && response.code == AppServeResponseCodeEnum.SUCCESS && response.data != null) {
const calculateResults = response.data; const calculateResults = response.data;
course.value = calculateResults.map(item => item.location + '(' + item.locationType + ')'); course.value = calculateResults.map(item => item.location + '(' + item.locationType + ')');
MessageUtils.successMessage('查询成功'); MessageUtils.successMessage(t('baseTip.success'));
return; return;
} }
MessageUtils.errMessageBox(response.msg, '操作失败'); MessageUtils.errMessageBox(response.msg, t('baseTip.warning'));
}).catch(() => {}).finally(() => { }).catch(() => {}).finally(() => {
loadingInstance.close(); loadingInstance.close();
}) })
@ -158,80 +160,80 @@ const open = () => {
<template> <template>
<div> <div>
<el-dialog :model-value="modelValue" title="组合式任务详细信息" @close="close" :close-on-click-modal="false" @open="open"> <el-dialog :model-value="modelValue" :title="t('tabPage.stockComposeTask.detailTitle')" @close="close" :close-on-click-modal="false" @open="open">
<el-scrollbar style="height:50vh"> <el-scrollbar style="height:50vh">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form :model="formData" label-position="right" label-width="120px" require-asterisk-position="right"> <el-form :model="formData" label-position="right" label-width="180px" require-asterisk-position="right">
<el-form-item label="任务ID:" required> <el-form-item :label="t('tabPage.stockComposeTask.taskId')" required>
<el-input v-model="formData.taskId" disabled></el-input> <el-input v-model="formData.taskId" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="任务组:" required> <el-form-item :label="t('tabPage.stockComposeTask.taskGroup')" required>
<el-input v-model="formData.taskGroup" disabled></el-input> <el-input v-model="formData.taskGroup" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="上游任务号:" required> <el-form-item :label="t('tabPage.stockComposeTask.upperSystemTaskId')" required>
<el-input v-model="formData.upperTaskId" disabled></el-input> <el-input v-model="formData.upperTaskId" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="任务类型:" required> <el-form-item :label="t('tabPage.stockComposeTask.taskType')" required>
<el-select v-model="formData.taskType" disabled> <el-select v-model="formData.taskType" disabled>
<el-option v-for="item in stockComposeTaskTypeFormatter.taskTypeTagStyle" :key="item.value" :label="item.label" :value="item.value"/> <el-option v-for="item in stockComposeTaskTypeFormatter.taskTypeTagStyle" :key="item.value" :label="item.label" :value="item.value"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="载具编号:" required> <el-form-item :label="t('tabPage.stockComposeTask.vehicleNo')" required>
<el-input v-model="formData.vehicleNo" disabled></el-input> <el-input v-model="formData.vehicleNo" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="任务状态:" required> <el-form-item :label="t('tabPage.stockComposeTask.taskStatus')" required>
<el-select v-model="formData.taskStatus" disabled> <el-select v-model="formData.taskStatus" disabled>
<el-option v-for="item in stockComposeTaskStatusFormatter.taskStatusTagStyle" :key="item.value" :label="item.label" :value="item.value"/> <el-option v-for="item in stockComposeTaskStatusFormatter.taskStatusTagStyle" :key="item.value" :label="item.label" :value="item.value"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="任务起点:" required> <el-form-item :label="t('tabPage.stockComposeTask.origin')" required>
<el-input v-model="formData.origin" disabled></el-input> <el-input v-model="formData.origin" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="任务目的地:" required> <el-form-item :label="t('tabPage.stockComposeTask.destination')" required>
<el-input v-model="formData.destination" disabled></el-input> <el-input v-model="formData.destination" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="步骤状态:" required> <el-form-item :label="t('tabPage.stockComposeTask.stepStatus')" required>
<el-select v-model="formData.stepStatus" disabled> <el-select v-model="formData.stepStatus" disabled>
<el-option v-for="item in stockComposeStepStatusFormatter.stepStatusTagStyle" :key="item.value" :label="item.label" :value="item.value"/> <el-option v-for="item in stockComposeStepStatusFormatter.stepStatusTagStyle" :key="item.value" :label="item.label" :value="item.value"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="优先级:" required> <el-form-item :label="t('tabPage.stockComposeTask.priority')" required>
<el-input-number :max="9" :min="0" v-model="formData.priority" disabled></el-input-number> <el-input-number :max="9" :min="0" v-model="formData.priority" disabled></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="载具尺寸:" required> <el-form-item :label="t('tabPage.stockComposeTask.vehicleSize')" required>
<el-input-number :max="9" :min="0" v-model="formData.vehicleSize" disabled></el-input-number> <el-input-number :max="9" :min="0" v-model="formData.vehicleSize" disabled></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="载具重量:" required> <el-form-item :label="t('tabPage.stockComposeTask.weight')" required>
<el-input-number :max="9" :min="0" v-model="formData.weight" disabled></el-input-number> <el-input-number :max="9" :min="0" v-model="formData.weight" disabled></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="是否可取消:" required> <el-form-item :label="t('tabPage.stockComposeTask.canCancel')" required>
<el-select v-model="formData.canCancel" disabled> <el-select v-model="formData.canCancel" disabled>
<el-option v-for="item in trueFalseTagStyleFormatter.trueFalseTagStyle" :key="item.value" :label="item.label" :value="item.value"/> <el-option v-for="item in trueFalseTagStyleFormatter.trueFalseTagStyle" :key="item.value" :label="item.label" :value="item.value"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="创建时间:" required> <el-form-item :label="t('tabPage.stockComposeTask.createTime')" required>
<el-input v-model="formData.createTime" disabled></el-input> <el-input v-model="formData.createTime" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="上次更新时间:" required> <el-form-item :label="t('tabPage.stockComposeTask.updateTime')" required>
<el-input v-model="formData.updateTime" disabled></el-input> <el-input v-model="formData.updateTime" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="任务开始时间:" required> <el-form-item :label="t('tabPage.stockComposeTask.startTime')" required>
<el-input v-model="formData.startTime" disabled></el-input> <el-input v-model="formData.startTime" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="任务完成时间:" required> <el-form-item :label="t('tabPage.stockComposeTask.completeTime')" required>
<el-input v-model="formData.completeTime" disabled></el-input> <el-input v-model="formData.completeTime" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="任务结束时间:" required> <el-form-item :label="t('tabPage.stockComposeTask.endTime')" required>
<el-input v-model="formData.endTime" disabled></el-input> <el-input v-model="formData.endTime" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="任务来源:" required> <el-form-item :label="t('tabPage.stockComposeTask.taskSource')" required>
<el-input v-model="formData.taskSource" disabled></el-input> <el-input v-model="formData.taskSource" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="创建人:" required> <el-form-item :label="t('tabPage.stockComposeTask.createPerson')" required>
<el-input v-model="formData.createPerson" disabled></el-input> <el-input v-model="formData.createPerson" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="任务信息:" required> <el-form-item :label="t('tabPage.stockComposeTask.taskMsg')" required>
<el-input v-model="formData.taskMsg" disabled></el-input> <el-input v-model="formData.taskMsg" disabled></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>

View File

@ -55,9 +55,10 @@ export default {
}, },
customMessage: { customMessage: {
confirmExport: 'Are you sure export this data?', confirmExport: 'Are you sure export this data?',
confirmImport: 'Are you sure import this data', confirmImport: 'Are you sure import this data?',
confirmDelete: 'Are you sure delete', confirmDelete: 'Are you sure delete?',
confirmAdd: 'Are you sure add', confirmAdd: 'Are you sure add?',
confirmExecute: 'Are you sure execute this operation?',
pleaseWait: 'Please wait', pleaseWait: 'Please wait',
startTime: 'Start Time', startTime: 'Start Time',
endTime: 'End Time', endTime: 'End Time',
@ -75,6 +76,13 @@ export default {
serverSystemName: 'serverSystemName', serverSystemName: 'serverSystemName',
serverSystemVersion: 'serverSystemVersion' serverSystemVersion: 'serverSystemVersion'
}, },
userSetting: {
userSetting: 'User Settings',
userName: 'User Name',
restartServer: 'Restart Server',
clickToRestartServer: 'Click To Restart',
logout: 'Logout'
},
tabPage: { tabPage: {
stackerManage: { stackerManage: {
title: 'StackerManage', title: 'StackerManage',
@ -183,6 +191,7 @@ export default {
createPerson: 'Create Person', createPerson: 'Create Person',
taskMsg: 'Task Message', taskMsg: 'Task Message',
addTitle: 'Add Stock Compose Task', addTitle: 'Add Stock Compose Task',
detailTitle: 'Stock Compose Task Detail',
} }
} }
} }

View File

@ -58,6 +58,7 @@ export default {
confirmImport: '确认要导入吗?', confirmImport: '确认要导入吗?',
confirmDelete: '确认要删除吗?', confirmDelete: '确认要删除吗?',
confirmAdd: '确认要添加吗?', confirmAdd: '确认要添加吗?',
confirmExecute: '确认要执行此操作吗?',
pleaseWait: '请稍候', pleaseWait: '请稍候',
startTime: '开始时间', startTime: '开始时间',
endTime: '结束时间', endTime: '结束时间',
@ -75,6 +76,13 @@ export default {
serverSystemName: '服务器系统名称', serverSystemName: '服务器系统名称',
serverSystemVersion: '服务器系统版本' serverSystemVersion: '服务器系统版本'
}, },
userSetting: {
userSetting: '用户设置',
userName: '用户名',
restartServer: '重启服务',
clickToRestartServer: '点此重启',
logout: '退出账号'
},
tabPage: { tabPage: {
stackerManage: { stackerManage: {
title: '堆垛机管理', title: '堆垛机管理',
@ -184,6 +192,7 @@ export default {
createPerson: '创建人', createPerson: '创建人',
taskMsg: '任务信息', taskMsg: '任务信息',
addTitle: '添加仓储组合任务', addTitle: '添加仓储组合任务',
detailTitle: '仓储组合任务详情',
}, },
} }
} }