diff --git a/src/components/locales/lang/zh-CN.js b/src/components/locales/lang/zh-CN.js index ae32e5f..b29e042 100644 --- a/src/components/locales/lang/zh-CN.js +++ b/src/components/locales/lang/zh-CN.js @@ -18,6 +18,20 @@ export default { refundTypePlaceholder: '请选择退款类型', market: '所属地区', marketPlaceholder: '请选择所属地区', + type: '类型', + typePlaceholder: '请选择类型', + articleVideoID: '文章/视频ID', + articleVideoIDPlaceholder: '请输入文章/视频ID', + author: '作者', + authorPlaceholder: '请输入作者', + articleVideoTitle: '文章/视频标题', + articleVideoTitlePlaceholder: '请输入文章/视频标题', + giftName: '礼物名称', + giftNamePlaceholder: '请输入礼物名称', + channel: '频道', + channelPlaceholder: '请输入频道', + liveRoom: '直播间', + liveRoomPlaceholder: '请输入直播间', consumePlatform: '消耗平台', consumePlatformPlaceholder: '请选择消耗平台', rechargePlatform: '充值平台', @@ -29,6 +43,8 @@ export default { orderNo: '订单号', orderNoPlaceholder: '请输入订单号', consumeTime: '消耗时间', + consumetime: '消费时间', + payTime: '付费时间', rechargeTime: '充值时间', refundTime: '退款时间', updateTime: '更新时间', @@ -120,6 +136,7 @@ export default { checkFreeBean: '请输入免费金豆数', checkRemark: '请输入备注', checkFormInfo: '请检查并完善表单信息', + checkArticleIdFormat: '请检查文章ID格式', // 校验提示(error) noEmptyJwcode: '精网号不能为空', noEmptySumGold: '消耗金币总数不能为空', @@ -181,6 +198,10 @@ export default { // 金豆充值相关 systemRechargeAreaError: '系统充值地区获取失败', onlineRechargeAreaError: '线上充值地区获取失败', + // 金豆消耗相关 + getGiftListFailed: '获取礼物列表失败,请稍后重试', + getChannelListFailed: '获取频道列表失败,请稍后重试', + getRegionListFailed: '获取地区列表失败,请稍后重试', }, // 通用列表字段组 @@ -189,6 +210,7 @@ export default { name: '姓名', jwcode: '精网号', market: '所属地区', + gift: '礼物', sumGold: '金币总数', payPlatform: '平台信息', type: '更新类型', @@ -228,6 +250,21 @@ export default { freeBean: '免费金豆', mobile: '手机', other: '其他', + beanNum: '金豆数量', + beanNumTotal: '金豆总数', + isBackpack: '背包礼物', + yes: '是', + no: '否', + channel: '频道', + liveRoomName: '直播间名称', + consumetime: '消费时间', + memberType: '会员类型', + unknownType: '未知类型', + joinTime: '加入时间', + articleVideoID: '文章/视频ID', + articleVideoTitle: '文章/视频标题', + author: '作者', + payTime: '付费时间', }, // 通用导出字段组 common_export: { @@ -278,6 +315,9 @@ export default { buy: '购买', operator: '操作人', continueOperation: '是否继续操作?', + // 金豆相关 + permanentBean: '付费金豆', + freeBean: '免费金豆', }, // 新增表单客户信息字段组 common_add_user: { @@ -296,6 +336,8 @@ export default { currentPayableBean: '当前付费金豆', currentFreeBean: '当前免费金豆', consumeTotalBean: '消耗金豆总数', + permanentBean: '付费金豆', + freeBean: '免费金豆', }, // 审核组 @@ -426,6 +468,31 @@ export default { }, // 新增消耗 addCoinConsume: '新增消耗', + // 金豆消耗 ---------------------------------- + addBeanConsume: '新增消耗', + liveStream: '直播', + dieHardFan: '铁粉', + articleVideo: '文章/视频', + confirmConsume: '确认消耗吗?', + prompt: '提示', + // 文章/视频 + type: '类型', + reward: '打赏', + payBuy: '付费购买', + other: '其他', + consumeTypes: { + 1: '发礼物', + 2: '发红包', + 3: '发福袋', + 4: '付费直播', + 5: '加入粉丝团', + 6: '发弹幕', + 7: '单次付费', + 8: '连续包月', + 9: '打赏', + 10: '打赏', + 11: '付费购买', + }, }, //退款组 diff --git a/src/components/workspace/CashManagement.vue b/src/components/workspace/CashManagement.vue index bb397dc..89c860d 100644 --- a/src/components/workspace/CashManagement.vue +++ b/src/components/workspace/CashManagement.vue @@ -195,7 +195,7 @@ const getAdminData = async function () { loading.value = true; // 开始加载 const result = await API({url: '/admin/userinfo', data: {}}); marksFlag.value = result.markets === '总部' || result.markets === '研发部' - || result.markets === 'headquarters' || result.markets === 'R&D Department'; + || result.markets === 'Headquarters' || result.markets === 'R&D Department'; console.log("marksFlag", marksFlag.value); // alert(marksFlag.value) } catch (error) { diff --git a/src/views/consume/bean/addBeanConsume.vue b/src/views/consume/bean/addBeanConsume.vue index 1eaaebf..9c12b85 100644 --- a/src/views/consume/bean/addBeanConsume.vue +++ b/src/views/consume/bean/addBeanConsume.vue @@ -14,13 +14,17 @@ import throttle from 'lodash/throttle' import { useAdminStore } from "@/store/index.js"; import { storeToRefs } from "pinia"; import _ from 'lodash' +// 国际化 +import { useI18n } from 'vue-i18n'; +const { t } = useI18n(); + const user = ref({}) const getUser = async function (jwcode) { if (consumeForm.value.jwcode) { consumeForm.value.jwcode = consumeForm.value.jwcode.replace(/\s/g, ''); } else { - ElMessage.error('请先输入精网号') + ElMessage.error(t('elmessage.checkJwcode')) return false } try { @@ -33,15 +37,15 @@ const getUser = async function (jwcode) { if (result.code === 0) { ElMessage.error(result.msg); } else if (result.data === null) { - ElMessage.error("用户不存在"); + ElMessage.error(t('elmessage.noUser')); } else { user.value = result.data; console.log("用户信息", user.value); - ElMessage.success("查询成功"); + ElMessage.success(t('elmessage.searchSuccess')); } } catch (error) { console.log("请求失败", error); - ElMessage.error("精网号错误"); + ElMessage.error(t('elmessage.jwcodeError')); } } @@ -60,22 +64,22 @@ const adminStore = useAdminStore() const { adminData } = storeToRefs(adminStore) const rules = reactive({ jwcode: [ - { required: true, message: '请输入精网号', trigger: 'blur' }, + { required: true, message: t('elmessage.checkJwcode'), trigger: 'blur' }, { validator: (rule, value, callback) => { if (!value) { - callback(new Error('精网号不能为空')); + callback(new Error(t('elmessage.noEmptyJwcode'))); return; } if (/[^0-9]/.test(value)) { - callback(new Error('精网号只能包含数字')); + callback(new Error(t('elmessage.limitDigitJwcode'))); return; } callback(); }, trigger: 'blur' }], permanentBean: [ - { required: true, message: '请输入付费金豆数', trigger: 'change' }, + { required: true, message: t('elmessage.checkPayBean'), trigger: 'change' }, { validator: (rule, value, callback) => { if (!value) { @@ -83,13 +87,13 @@ const rules = reactive({ } // 检查是否为非负整数 if (!/^\d+$/.test(value)) { - callback(new Error('请输入非负整数')); + callback(new Error(t('elmessage.checkNonNegative'))); return; } // 检查位数 if (value.length > 6) { - callback(new Error('整数位数不能超过6位')); + callback(new Error(t('elmessage.limitSix'))); return; } callback(); @@ -99,7 +103,7 @@ const rules = reactive({ } ], freeBean: [ - { required: true, message: '请输入免费金豆数', trigger: 'change' }, + { required: true, message: t('elmessage.checkFreeBean'), trigger: 'change' }, { validator: (rule, value, callback) => { if (!value) { @@ -107,13 +111,13 @@ const rules = reactive({ } // 检查是否为非负整数 if (!/^\d+$/.test(value)) { - callback(new Error('请输入非负整数')); + callback(new Error(t('elmessage.checkNonNegative'))); return; } // 检查位数 if (value.length > 6) { - callback(new Error('整数位数不能超过6位')); + callback(new Error(t('elmessage.limitSix'))); return; } callback(); @@ -122,7 +126,7 @@ const rules = reactive({ } ], remark: [ - { required: true, message: '请输入备注', trigger: 'blur' } + { required: true, message: t('elmessage.checkRemark'), trigger: 'blur' } ] }); @@ -143,11 +147,11 @@ const handleConsumeForm = async () => { formRef.value.validate((valid) => { if (valid) { if (Number(consumeForm.value.permanentBean) === 0 && Number(consumeForm.value.freeBean) === 0) { - reject(new Error('付费金豆和免费金豆不能同时为0')); + reject(new Error(t('elmessage.noPayBeanFreeBeanZero'))); } resolve(); // 验证通过,继续执行后续代码 } else { - reject(new Error('请检查并完善表单信息')); // 验证失败,抛出错误 + reject(new Error(t('elmessage.checkFormInfo'))); // 验证失败,抛出错误 } }); }); @@ -167,11 +171,11 @@ const handleConsumeForm = async () => { // } await ElMessageBox.confirm( - '确认消耗吗?', - '提示', + t('consume.confirmConsume'), + t('consume.prompt'), { - confirmButtonText: '确认', - cancelButtonText: '取消', + confirmButtonText: t('common.confirm'), + cancelButtonText: t('common.cancel'), type: "primary", lockScroll: false, } @@ -189,7 +193,7 @@ const handleConsumeForm = async () => { }) addDisabled.value = false if (result.code == 200) { - ElMessage.success('新增成功') + ElMessage.success(t('elmessage.addsuccess')) deleteConsumeForm() user.value = {} } else { @@ -197,7 +201,7 @@ const handleConsumeForm = async () => { } } catch (error) { console.log('金豆新增充值失败'); - ElMessage.error(error.message || '操作失败'); + ElMessage.error(error.message || t('elmessage.operationFailed')); } } const throttledHandleConsumeFormt = _.throttle(handleConsumeForm, 5000, { @@ -209,22 +213,22 @@ const throttledHandleConsumeFormt = _.throttle(handleConsumeForm, 5000, {
- + - 查询 + {{ t('common.search') }} - + - + - + - 重置 - 提交 + {{ t('common.reset') }} + {{ t('common.submit') }}
@@ -233,12 +237,12 @@ const throttledHandleConsumeFormt = _.throttle(handleConsumeForm, 5000, {
- 客户信息 + {{ t('common_add_user.customerInfo') }}
-

姓名:

+

{{ t('common_add_user.name') }}:

{{ user.name }}

-

当前付费金豆:

+

{{ t('common_add_user.permanentBean') }}:

{{ Number(user.permanentBean) }}

@@ -246,17 +250,17 @@ const throttledHandleConsumeFormt = _.throttle(handleConsumeForm, 5000, {
-

精网号:

+

{{ t('common_add_user.jwcode') }}:

{{ user.jwcode }}

-

当前免费金豆:

+

{{ t('common_add_user.freeBean') }}:

{{ user.freeBean }}

-

所属门店:

+

{{ t('common_add_user.store') }}:

{{ user.market }}

-

消耗金豆总数:

+

{{ t('common_add_user.consumeTotalBean') }}:

{{ user.consumeSum }}

{{ 0 }}

@@ -285,13 +289,13 @@ const throttledHandleConsumeFormt = _.throttle(handleConsumeForm, 5000, { .right { flex: 1; display: flex; - float: left; + // float: left; .customer-info { - width: 35vw; + min-width: 35vw; height: 28vh; margin-top: 5vh; - display: flex; + // display: flex; justify-content: center; } } diff --git a/src/views/consume/bean/articleVideo.vue b/src/views/consume/bean/articleVideo.vue index a52c598..d9c7c1d 100644 --- a/src/views/consume/bean/articleVideo.vue +++ b/src/views/consume/bean/articleVideo.vue @@ -9,6 +9,10 @@ import { useAdminStore } from "@/store/index.js"; import { storeToRefs } from "pinia"; const adminStore = useAdminStore(); const { flag } = storeToRefs(adminStore); +// 国际化 +import { useI18n } from 'vue-i18n'; +const { t } = useI18n(); + // 监听全局flag状态变化 watch(flag, (newFlag, oldFlag) => { // 当flag状态改变时,重新发送请求 @@ -55,9 +59,9 @@ const channels = ref([]) // 抽离类型选项到响应式数组 const consumeTypes = ref([ - { label: '打赏', value: 9 }, - { label: '打赏', value: 10 }, - { label: '付费购买', value: 11 }, + { label: t('consume.consumeTypes.9'), value: 9 }, + { label: t('consume.consumeTypes.10'), value: 10 }, + { label: t('consume.consumeTypes.11'), value: 11 }, ]) // 处理 payMode 选择变化 @@ -110,7 +114,7 @@ const getDept = async function () { console.log('请求地区列表失败', error) ElMessage({ type: 'error', - message: '获取地区列表失败,请稍后重试' + message: t('elmessage.getRegionListFailed') }) } } @@ -257,14 +261,14 @@ const search = function () { if (beanConsumeArticle.value.jwcode) { const numRef = /^\d{1,9}$/; if (!numRef.test(beanConsumeArticle.value.jwcode)) { - ElMessage.error('请检查精网号格式') + ElMessage.error(t('elmessage.checkJwcodeFormat')) return } } if (beanConsumeArticle.value.articleId) { const numRef = /^\d{1,9}$/; if (!numRef.test(beanConsumeArticle.value.articleId)) { - ElMessage.error('请检查文章ID格式') + ElMessage.error(t('elmessage.checkArticleIdFormat')) return } } @@ -401,9 +405,16 @@ const exportExcel = async function () { }, } - const res = await API({ url: '/export/exportArticle', data: params }) - if (res.code === 200) { - ElMessage.success('导出成功') + try { + const res = await API({url: '/export/exportArticle', data: params}); + if (res.code === 200) { + ElMessage.success(t('elmessage.exportSuccess')); + } else { + ElMessage.error(res.message || t('elmessage.exportFailed')); + } + } catch (error) { + console.error('导出请求出错:', error); + ElMessage.error(t('elmessage.exportFailed')); } } const exportListVisible = ref(false) @@ -429,11 +440,11 @@ const getExportList = async () => { }); exportList.value = filteredData } else { - ElMessage.error(result.msg || '获取导出列表失败') + ElMessage.error(result.msg || t('elmessage.getExportListError')) } } catch (error) { console.error('获取导出列表出错:', error) - ElMessage.error('获取导出列表失败,请稍后重试') + ElMessage.error(t('elmessage.getExportListError')) } finally { exportListLoading.value = false } @@ -446,7 +457,7 @@ const downloadExportFile = (item) => { link.download = item.fileName link.click() } else { - ElMessage.warning('文件还在导出中,请稍后再试') + ElMessage.warning(t('elmessage.exportingInProgress')) } } //根据状态返回对应的标签类型 @@ -468,15 +479,15 @@ const getTagType = (state) => { const getTagText = (state) => { switch (state) { case 0: - return '待执行'; + return t('elmessage.pendingExecution'); case 1: - return '执行中'; + return t('elmessage.executing'); case 2: - return '执行完成'; + return t('elmessage.executed'); case 3: - return '执行出错'; + return t('elmessage.errorExecution'); default: - return '未知状态'; + return t('elmessage.unknownStatus'); } } @@ -486,27 +497,27 @@ const getTagText = (state) => {
- 精网号: - + {{ t('common.jwcode') }}: +
- 地区: - + {{ t('common.market') }}: +
- 类型: - {{ t('common.type') }}: + - - - + + +
- 文章/视频ID: - + {{ t('common.articleVideoID') }}: +
@@ -515,9 +526,9 @@ const getTagText = (state) => {
- 付费时间: - {{ t('common.payTime') }}: +
@@ -526,35 +537,35 @@ const getTagText = (state) => {
- 作者: - + {{ t('common.author') }}: +
- 文章/视频标题: - + {{ t('common.articleVideoTitle') }}: +
- 查询 - 导出Excel - 查看导出列表 - 重置 + {{ t('common.search') }} + {{ t('common.exportExcel') }} + {{ t('common.viewExportList') }} + {{ t('common.reset') }}
- 金豆总数:{{ format3(Math.abs(permanentBean + freeBean)) }}     - 付费金豆数:{{ format3(Math.abs(permanentBean)) }}     - 免费金豆数:{{ format3(Math.abs(freeBean)) }} + {{ t('common.totalGoldBean') }}{{ format3(Math.abs(permanentBean + freeBean)) }}     + {{ t('common.payGoldBean') }}{{ format3(Math.abs(permanentBean)) }}     + {{ t('common.freeGoldBean') }}{{ format3(Math.abs(freeBean)) }}
- - + - + - - - + + + - - - - - - - + + + + + + + @@ -598,33 +609,33 @@ const getTagText = (state) => { - + - - + + - + - + @@ -693,11 +704,11 @@ const getTagText = (state) => { padding: 0 0.5vw; .text { - width: 5vw; + width: 5.3vw; font-size: 15px; } .textB { - width: 7vw; + width: 7.3vw; font-size: 15px; } diff --git a/src/views/consume/bean/beanConsume.vue b/src/views/consume/bean/beanConsume.vue index 000b01c..617ea62 100644 --- a/src/views/consume/bean/beanConsume.vue +++ b/src/views/consume/bean/beanConsume.vue @@ -6,36 +6,36 @@ :class="{ 'active-btn': activeTab === 'addBeanConsume' }" @click="navigateTo('addBeanConsume')" v-if="hasAdd" - style="width: 6.5vw;" + style="min-width: 6.5vw;" > - 新增消耗 + {{ t('consume.addBeanConsume') }} - 直播 + {{ t('consume.liveStream') }} - 铁粉 + {{ t('consume.dieHardFan') }} - 文章/视频 + {{ t('consume.articleVideo') }}
@@ -50,6 +50,8 @@ import {useRouter, useRoute} from 'vue-router'; import {storeToRefs} from 'pinia'; import {useAdminStore} from '@/store/index.js'; import {hasMenuPermission, permissionMapping} from "@/utils/menuTreePermission.js"; +import { useI18n } from 'vue-i18n'; +const { t } = useI18n(); const router = useRouter(); const route = useRoute(); diff --git a/src/views/consume/bean/dieHardFan.vue b/src/views/consume/bean/dieHardFan.vue index aba8f1f..a3cdb44 100644 --- a/src/views/consume/bean/dieHardFan.vue +++ b/src/views/consume/bean/dieHardFan.vue @@ -8,6 +8,10 @@ import { useAdminStore } from "@/store/index.js"; import { storeToRefs } from "pinia"; const adminStore = useAdminStore(); const { flag } = storeToRefs(adminStore); +// 国际化 +import { useI18n } from 'vue-i18n'; +const { t } = useI18n(); + // 监听全局flag状态变化 watch(flag, (newFlag, oldFlag) => { // 当flag状态改变时,重新发送请求 @@ -68,7 +72,7 @@ const getChannel = async function () { console.log('请求频道列表失败', error) ElMessage({ type: 'error', - message: '获取频道列表失败,请稍后重试' + message: t('elmessage.getChannelListFailed') }) } } @@ -82,14 +86,14 @@ const getChannel = async function () { // 抽离类型选项到响应式数组 const consumeTypes = ref([ - { label: '发礼物', value: 1 }, - { label: '发红包', value: 2 }, - { label: '发福袋', value: 3 }, - { label: '付费直播', value: 4 }, - { label: '加入粉丝团', value: 5 }, - { label: '发弹幕', value: 6 }, - { label: '单次付费', value: 7 }, - { label: '连续包月', value: 8 } + { label: t('consume.consumeTypes.1'), value: 1 }, + { label: t('consume.consumeTypes.2'), value: 2 }, + { label: t('consume.consumeTypes.3'), value: 3 }, + { label: t('consume.consumeTypes.4'), value: 4 }, + { label: t('consume.consumeTypes.5'), value: 5 }, + { label: t('consume.consumeTypes.6'), value: 6 }, + { label: t('consume.consumeTypes.7'), value: 7 }, + { label: t('consume.consumeTypes.8'), value: 8 } ]) // // 处理类型选择变化 @@ -247,7 +251,7 @@ const search = function () { if (beanConsumeFan.value.jwcode) { const numRef = /^\d{1,9}$/; if (!numRef.test(beanConsumeFan.value.jwcode)) { - ElMessage.error('请检查精网号格式') + ElMessage.error(t('elmessage.checkJwcodeFormat')) return } } @@ -336,7 +340,7 @@ const getDept = async function () { console.log('请求地区列表失败', error) ElMessage({ type: 'error', - message: '获取地区列表失败,请稍后重试' + message: t('elmessage.getRegionListFailed') }) } } @@ -404,9 +408,16 @@ const exportExcel = async function () { }, } - const res = await API({ url: '/export/exportFan', data: params }) - if (res.code === 200) { - ElMessage.success('导出成功') + try { + const res = await API({url: '/export/exportFan', data: params}); + if (res.code === 200) { + ElMessage.success(t('elmessage.exportSuccess')); + } else { + ElMessage.error(res.message || t('elmessage.exportFailed')); + } + } catch (error) { + console.error('导出请求出错:', error); + ElMessage.error(t('elmessage.exportFailed')); } } const exportListVisible = ref(false) @@ -432,11 +443,11 @@ const getExportList = async () => { }); exportList.value = filteredData } else { - ElMessage.error(result.msg || '获取导出列表失败') + ElMessage.error(result.msg || t('elmessage.getExportListError')) } } catch (error) { console.error('获取导出列表出错:', error) - ElMessage.error('获取导出列表失败,请稍后重试') + ElMessage.error(t('elmessage.getExportListError')) } finally { exportListLoading.value = false } @@ -449,7 +460,7 @@ const downloadExportFile = (item) => { link.download = item.fileName link.click() } else { - ElMessage.warning('文件还在导出中,请稍后再试') + ElMessage.warning(t('elmessage.exportingInProgress')) } } //根据状态返回对应的标签类型 @@ -471,15 +482,15 @@ const getTagType = (state) => { const getTagText = (state) => { switch (state) { case 0: - return '待执行'; + return t('elmessage.pendingExecution'); case 1: - return '执行中'; + return t('elmessage.executing'); case 2: - return '执行完成'; + return t('elmessage.executed'); case 3: - return '执行出错'; + return t('elmessage.errorExecution'); default: - return '未知状态'; + return t('elmessage.unknownStatus'); } } @@ -489,18 +500,18 @@ const getTagText = (state) => {
- 精网号: - + {{ t('common.jwcode') }}: +
- 地区: - + {{ t('common.market') }}: +
- 频道: - + {{ t('common.channel') }}: +
@@ -509,9 +520,9 @@ const getTagText = (state) => {
- 消费时间: - {{ t('common.consumetime') }}: +
@@ -520,24 +531,24 @@ const getTagText = (state) => {
- 查询 - 导出Excel - 查看导出列表 - 重置 + {{ t('common.search') }} + {{ t('common.exportExcel') }} + {{ t('common.viewExportList') }} + {{ t('common.reset') }}
- 金豆总数:{{ format3(Math.abs(permanentBean + freeBean)) }}     - 付费金豆数:{{ format3(Math.abs(permanentBean)) }}     - 免费金豆数:{{ format3(Math.abs(freeBean)) }} + {{ t('common.totalGoldBean') }}{{ format3(Math.abs(permanentBean + freeBean)) }}     + {{ t('common.payGoldBean') }}{{ format3(Math.abs(permanentBean)) }}     + {{ t('common.freeGoldBean') }}{{ format3(Math.abs(freeBean)) }}
- - + - + - - - - - - - + + + + + + + - +
@@ -571,33 +582,33 @@ const getTagText = (state) => {
- + - - + + - + - + @@ -663,7 +674,7 @@ const getTagText = (state) => { padding: 0 0.5vw; .text { - width: 5vw; + width: 5.3vw; font-size: 15px; } diff --git a/src/views/consume/bean/liveStream.vue b/src/views/consume/bean/liveStream.vue index fc237ce..b7cd3f8 100644 --- a/src/views/consume/bean/liveStream.vue +++ b/src/views/consume/bean/liveStream.vue @@ -6,6 +6,9 @@ import API from '@/util/http.js' import moment from 'moment' import {useAdminStore} from "@/store/index.js"; import {storeToRefs} from "pinia"; +// 国际化 +import { useI18n } from 'vue-i18n'; +const { t } = useI18n(); const adminStore = useAdminStore(); const {flag} = storeToRefs(adminStore); @@ -73,7 +76,7 @@ const getGift = async function () { console.log('请求礼物列表失败', error) ElMessage({ type: 'error', - message: '获取礼物列表失败,请稍后重试' + message: t('elmessage.getGiftListFailed') }) } } @@ -95,19 +98,19 @@ const getChannel = async function () { console.log('请求频道列表失败', error) ElMessage({ type: 'error', - message: '获取频道列表失败,请稍后重试' + message: t('elmessage.getChannelListFailed') }) } } // 抽离类型选项到响应式数组 const consumeTypes = ref([ - {label: '发礼物', value: 1}, - {label: '发红包', value: 2}, - {label: '发福袋', value: 3}, - {label: '付费直播', value: 4}, - {label: '加入粉丝团', value: 5}, - {label: '发弹幕', value: 6} + {label: t('consume.consumeTypes.1'), value: 1}, + {label: t('consume.consumeTypes.2'), value: 2}, + {label: t('consume.consumeTypes.3'), value: 3}, + {label: t('consume.consumeTypes.4'), value: 4}, + {label: t('consume.consumeTypes.5'), value: 5}, + {label: t('consume.consumeTypes.6'), value: 6} ]) // 处理类型选择变化 const handleTypeChange = (value) => { @@ -160,7 +163,7 @@ const getDept = async function () { console.log('请求地区列表失败', error) ElMessage({ type: 'error', - message: '获取地区列表失败,请稍后重试' + message: t('elmessage.getRegionListFailed') }) } } @@ -289,7 +292,7 @@ const search = function () { if (beanConsumeLive.value.jwcode) { const numRef = /^\d{1,9}$/; if (!numRef.test(beanConsumeLive.value.jwcode)) { - ElMessage.error('请检查精网号格式') + ElMessage.error(t('elmessage.checkJwcodeFormat')) return } } @@ -435,13 +438,13 @@ const exportExcel = async function () { const res = await API({url: '/export/exportLive', data: params}); console.log('导出请求响应:', res); if (res.code === 200) { - ElMessage.success('导出成功'); + ElMessage.success(t('elmessage.exportSuccess')); } else { - ElMessage.error(res.message || '导出失败,请稍后重试'); + ElMessage.error(res.message || t('elmessage.exportFailed')); } } catch (error) { console.error('导出请求出错:', error); - ElMessage.error('导出失败,请稍后重试'); + ElMessage.error(t('elmessage.exportFailed')); } } const exportListVisible = ref(false) @@ -468,11 +471,11 @@ const getExportList = async () => { }); exportList.value = filteredData } else { - ElMessage.error(result.msg || '获取导出列表失败') + ElMessage.error(result.msg || t('elmessage.getExportListError')) } } catch (error) { console.error('获取导出列表出错:', error) - ElMessage.error('获取导出列表失败,请稍后重试') + ElMessage.error(t('elmessage.getExportListError')) } finally { exportListLoading.value = false } @@ -485,7 +488,7 @@ const downloadExportFile = (item) => { link.download = item.fileName link.click() } else { - ElMessage.warning('文件还在导出中,请稍后再试') + ElMessage.warning(t('elmessage.exportingInProgress')) } } //根据状态返回对应的标签类型 @@ -507,15 +510,15 @@ const getTagType = (state) => { const getTagText = (state) => { switch (state) { case 0: - return '待执行'; + return t('elmessage.pendingExecution'); case 1: - return '执行中'; + return t('elmessage.executing'); case 2: - return '执行完成'; + return t('elmessage.executed'); case 3: - return '执行出错'; + return t('elmessage.errorExecution'); default: - return '未知状态'; + return t('elmessage.unknownStatus'); } } @@ -525,42 +528,42 @@ const getTagText = (state) => {
- 精网号: - + {{ t('common.jwcode') }}: +
- 地区: - + {{ t('common.market') }}: +
- 礼物名称: - {{ t('common.giftName') }}: +
-
- 频道: - + {{ t('common.channel') }}: +
-
- 直播间: - +
+ {{ t('common.liveRoom') }}: +
- 消费时间: - {{ t('common.consumetime') }}: +
@@ -569,24 +572,24 @@ const getTagText = (state) => {
- 查询 - 导出excel - 查看导出列表 - 重置 + {{ t('common.search') }} + {{ t('common.exportExcel') }} + {{ t('common.viewExportList') }} + {{ t('common.reset') }}
- 金豆总数:{{ format3(Math.abs(permanentBean + freeBean)) }}     - 付费金豆数:{{ format3(Math.abs(permanentBean)) }}     - 免费金豆数:{{ format3(Math.abs(freeBean)) }} + {{ t('common.totalGoldBean') }}{{ format3(Math.abs(permanentBean + freeBean)) }}     + {{ t('common.payGoldBean') }}{{ format3(Math.abs(permanentBean)) }}     + {{ t('common.freeGoldBean') }}{{ format3(Math.abs(freeBean)) }}
- - + - + - - - + + + - - + + - - - - - + + + + +
{
- + - - + + - + - + @@ -711,7 +714,7 @@ const getTagText = (state) => { padding: 0 0.5vw; .text { - width: 5vw; + width: 5.3vw; font-size: 15px; } diff --git a/src/views/moneyManage/receiveDetail/receiveDetail1.vue b/src/views/moneyManage/receiveDetail/receiveDetail1.vue index a939432..8a73f47 100644 --- a/src/views/moneyManage/receiveDetail/receiveDetail1.vue +++ b/src/views/moneyManage/receiveDetail/receiveDetail1.vue @@ -1497,7 +1497,7 @@ onMounted(async function () { if (adminData.value.roleId == 2) { superAdmin.value = true - if(adminData.value.markets == '总部' || adminData.value.markets == '研发部' || adminData.value.markets == 'headquarters'){ + if(adminData.value.markets == '总部' || adminData.value.markets == '研发部' || adminData.value.markets == 'Headquarters'){ console.log('提示了吗'); ElMessageBox.alert('管理员账号只能看到所属地区对应地区财务数据,请注意设置所属地区','注意',{ diff --git a/src/views/permissions/userPermission.vue b/src/views/permissions/userPermission.vue index 011a12b..4a6e774 100644 --- a/src/views/permissions/userPermission.vue +++ b/src/views/permissions/userPermission.vue @@ -810,9 +810,9 @@ const confirmResetPassword = async function () { // 权限检查 - if (adminData.value.markets.includes(currentRow.value.market) || adminData.value.markets[0] === '总部' || adminData.value.markets[0] === '研发部' || adminData.value.markets[0] === 'headquarters' || adminData.value.markets[0] === 'R&D Department') { + if (adminData.value.markets.includes(currentRow.value.market) || adminData.value.markets[0] === '总部' || adminData.value.markets[0] === '研发部' || adminData.value.markets[0] === 'Headquarters' || adminData.value.markets[0] === 'R&D Department') { - console.log('符合条件,可以操作', adminData.value.markets.includes(currentRow.value.market) || adminData.value.markets[0] === '总部' || adminData.value.markets[0] === '研发部' || adminData.value.markets[0] === 'headquarters' || adminData.value.markets[0] === 'R&D Department'); + console.log('符合条件,可以操作', adminData.value.markets.includes(currentRow.value.market) || adminData.value.markets[0] === '总部' || adminData.value.markets[0] === '研发部' || adminData.value.markets[0] === 'Headquarters' || adminData.value.markets[0] === 'R&D Department'); const params = { account: currentRow.value.account, } diff --git a/src/views/recharge/bean/addBeanRecharge.vue b/src/views/recharge/bean/addBeanRecharge.vue index 6277518..dfc7138 100644 --- a/src/views/recharge/bean/addBeanRecharge.vue +++ b/src/views/recharge/bean/addBeanRecharge.vue @@ -276,7 +276,7 @@ const handleAddForm = async () => { width: 35vw; height: 28vh; margin-top: 5vh; - display: flex; + // display: flex; justify-content: center; } } diff --git a/src/views/workspace/index.vue b/src/views/workspace/index.vue index d052dc3..4aac2fa 100644 --- a/src/views/workspace/index.vue +++ b/src/views/workspace/index.vue @@ -42,7 +42,7 @@ const getAdminData = async function () { loading.value = true; // 开始加载 const result = await API({url: '/admin/userinfo', data: {}}); GraphFlag.value = result.markets !== '总部' && result.markets !== '研发部' - && result.markets !== 'headquarters' && result.markets !== 'R&D Department' + && result.markets !== 'Headquarters' && result.markets !== 'R&D Department' ;