Browse Source

重构国际化相关代码,将静态文本替换为国际化翻译,收款明细以及执行明细完成

milestone-20251209-多语言二期^2
zhangrenyuan 1 month ago
parent
commit
9dcc4679e6
  1. 10
      src/components/locales/lang/en.js
  2. 43
      src/components/locales/lang/zh-CN.js
  3. 190
      src/views/moneyManage/executor/executor.vue
  4. 1
      src/views/moneyManage/receiveDetail/receiveService.vue
  5. 182
      src/views/moneyManage/receiveDetail/utils/staticData.js

10
src/components/locales/lang/en.js

@ -479,7 +479,6 @@ export default {
superHunting: "Super Org Hunt",
superPulse: "Super Org Pulse",
superCompass: "Super Org Compass",
hcInfoFee: "HC Info Fee",
aiDetectionTool: "AI Org Detector",
superDetectionTool: "Super Org Detector"
},
@ -560,5 +559,14 @@ export default {
taiwanStockGoldCard: "TW Stock Gold",
taiwanStockPackage: "TW Stock Pack"
},
statusList: {
pending: "Pending",
passed: "Passed",
recalled: "Recalled",
refunded: "Refunded",
rejected: "Rejected",
},
pending: "Pending",
refundSuccess: "Refund Successful",
},
}

43
src/components/locales/lang/zh-CN.js

@ -21,6 +21,10 @@ export default {
refundTypePlaceholder: "请选择退款类型",
market: "所属地区",
marketPlaceholder: "请选择所属地区",
refundCurrency: "退款币种",
refundCurrencyPlaceholder: "请选择退款币种",
refundMethod: "退款途径",
refundMethodPlaceholder: "请选择退款途径",
orderStatus: "订单状态",
orderStatusPlaceholder: "请选择订单状态",
payCurrency: "付款币种",
@ -122,6 +126,10 @@ export default {
deleteRecord: "删除该翻译记录!",
willRefundOrder: "将要对该订单退款!",
willRecallOrder: "将要撤回该订单!",
// 市场
markets: {
headquarter: "总部",
}
},
// 提示信息组
elmessage: {
@ -132,8 +140,11 @@ export default {
withdrawSuccess: "撤回成功",
dataException: "数据异常",
addRefundSuccess: "新增退款成功",
submitSuccess: "提交成功",
submitFailed: "提交失败",
cancelOperation: "操作取消",
searchSuccess: "查询成功",
searchFailed: "查询失败",
requestFailed: "请求失败",
jwcodeError: "精网号错误",
customerSuccess: "客户信息查询成功",
@ -182,6 +193,7 @@ export default {
productNumError: "产品数量必须为正整数",
checkFormInfoSubmit: "请完善表单信息后提交",
checkPayAmountFormat: "请检查到账金额格式",
checkNumberOrDecimal: "请输入数字或小数",
// 校验提示(error)
noEmptyJwcode: "精网号不能为空",
noEmptySumGold: "消耗金币总数不能为空",
@ -291,7 +303,12 @@ export default {
refundModel: "退款方式",
refundModelAll: "全部退款",
refundModelPart: "部分退款",
refundCurrency: "退款币种",
refundGoldCoin: "退款金币总数",
refundAmount: "退款金额",
refundChannels: "退款途径",
refundVoucher: "退款截图",
refundSuccess: "退款成功",
activity: "活动名称",
rateName: "货币名称",
num: "汇率",
@ -349,6 +366,7 @@ export default {
receiveCurrency: "到账币种",
receiveAmount: "到账金额",
toSupply: "待补充",
pending: "待处理",
fee: "手续费",
transferVoucher: "转账凭证",
payVoucher: "支付凭证",
@ -408,6 +426,15 @@ export default {
refundModelAll: "全部退款",
refundModelPart: "部分退款",
refundGoldCoin: "退款金币总数",
refundCurrency: "退款币种",
refundCurrencyPlaceholder: "请选择退款币种",
refundAmount: "退款金额",
refundAmountPlaceholder: "请输入退款金额",
refundChannels: "退款途径",
refundChannelsPlaceholder: "请选择退款途径",
refundTime: "退款时间",
refundTimePlaceholder: "请选择退款时间",
refundVoucher: "退款截图",
payModelPlaceholder: "请选择收款方式",
consumeTotalGold: "消耗金币总数",
totalGold: "金币总数",
@ -416,10 +443,12 @@ export default {
payTimePlaceholder: "请选择付款时间",
paymentVoucher: "交款凭证",
transferVoucher: "转账凭证",
noTransferVoucher: "无转账凭证",
paymentVoucherPlaceholder: "仅支持.jpg .png格式,文件≤1MB",
transferVoucherPlaceholder: "仅支持.jpg .png格式文件≤ 2 MB",
uploadPhoto: "请上传图片",
remark: "备注",
remarkPlaceholder: "请输入备注",
// 确认表单
operationConfirm: "操作确认",
userInfo: "用户信息",
@ -428,6 +457,7 @@ export default {
rechargePermanentGold: "充值永久金币",
buy: "购买",
operator: "操作人",
submitter: "提交人",
continueOperation: "是否继续操作?",
// 金豆相关
permanentBean: "付费金豆",
@ -801,7 +831,6 @@ export default {
superHunting: "超级机构猎杀",
superPulse: "超级机构脉搏",
superCompass: "超级机构罗盘",
hcInfoFee: "HC信息费",
aiDetectionTool: "AI机构探测神器",
superDetectionTool: "超级机构探测神器",
},
@ -882,5 +911,17 @@ export default {
taiwanStockGoldCard: "台湾股金卡",
taiwanStockPackage: "台湾股套餐",
},
// 审核状态
statusList: {
pending: "待审核",
passed: "已通过",
recalled: "已撤回",
refunded: "退款",
rejected: "已驳回",
},
// 执行明细
pending: "待处理",
refundSuccess: "退款成功",
},
};

190
src/views/moneyManage/executor/executor.vue

@ -2,24 +2,24 @@
<el-card style="margin-bottom: 0.5vh;background-color: rgb(243,250,254);">
<div class="condition1">
<div class="search">
<el-text size="large" style="width:4vw;">姓名</el-text>
<el-input v-model="searchForm.name" placeholder="请输入姓名" style="width:9vw;" clearable />
<el-text size="large" style="width:4vw;">{{ t('common.name') }}</el-text>
<el-input v-model="searchForm.name" :placeholder="t('common.pleaseInputName')" style="width:9vw;" clearable />
</div>
<div class="search">
<el-text size="large" style="width:4vw;">精网号</el-text>
<el-input v-model="searchForm.jwcode" placeholder="请输入精网号" style="width:9vw;" clearable />
<el-text size="large" style="width:4vw;">{{ t('common.jwcode') }}</el-text>
<el-input v-model="searchForm.jwcode" :placeholder="t('common.jwcodePlaceholder')" style="width:9vw;" clearable />
</div>
<div class="search">
<el-text size="large" style="width:4vw;">产品名称</el-text>
<el-text size="large" style="width:4vw;">{{ t('common.productName') }}</el-text>
<el-cascader v-model="searchForm.goodsName" :options="productList" style="width: 10vw;" clearable />
</div>
<div class="search" v-if="adminData.markets === '总部'">
<el-text size="large" style="width:4vw;">所属地区</el-text>
<el-cascader style="width: 9vw;" v-model="searchForm.markets" :options="market" placeholder="请选择所属地区"
<div class="search" v-if="adminData.markets === t('common.markets.headquarter')">
<el-text size="large" style="width:4vw;">{{ t('common.market') }}</el-text>
<el-cascader style="width: 9vw;" v-model="searchForm.markets" :options="market" :placeholder="t('common.marketPlaceholder')"
clearable />
</div>
<div class="search">
<el-text size="large" style="width:4vw;">退款币种</el-text>
<el-text size="large" style="width:4vw;">{{ t('common.refundCurrency') }}</el-text>
<el-select v-model="searchForm.refundCurrency" style="width:9vw;" clearable>
<el-option v-for="item in currencies" :key="item" :label="item" :value="item" />
</el-select>
@ -27,96 +27,97 @@
</div>
<div class="condition1">
<div class="search2">
<el-text size="large" style="width:4vw;">退款途径</el-text>
<el-text size="large" style="width:4vw;">{{ t('common.refundMethod') }}</el-text>
<el-select v-model="searchForm.refundChannels" style="width:9vw;" clearable>
<el-option v-for="item in channelOptions" :key="item" :label="item" :value="item" />
</el-select>
</div>
<div class="search2">
<el-text size="large" style="width:4vw;">订单状态</el-text>
<el-text size="large" style="width:4vw;">{{ t('common.orderStatus') }}</el-text>
<el-select v-model="searchForm.statuses" style="width:9vw;" clearable>
<el-option v-for="item in statusList" :label="item" :value="item" :key="item" />
</el-select>
</div>
<div class="search2" style="width: 25.5vw;">
<el-text size="large" style="width:4vw;">退款时间</el-text>
<el-date-picker v-model="dateRange" type="datetimerange" range-separator="" start-placeholder="起始时间"
end-placeholder="结束时间" style="width:18vw;" clearable :disabled-date="disabledDate"
<el-text size="large" style="width:4vw;">{{ t('common.refundTime') }}</el-text>
<el-date-picker v-model="dateRange" type="datetimerange" :range-separator="t('common.to')"
:start-placeholder="t('common.startTime')"
:end-placeholder="t('common.endTime')" style="width:18vw;" clearable :disabled-date="disabledDate"
:default-time="defaultTime" />
</div>
<div>
<el-button type="primary" size="medium" @click="getRefund">查询</el-button>
<el-button type="success" size="medium" @click="reset">重置</el-button>
<el-button type="primary" size="medium" @click="getRefund">{{ t('common.search') }}</el-button>
<el-button type="success" size="medium" @click="reset">{{ t('common.reset') }}</el-button>
</div>
</div>
</el-card>
<el-card style="background-color: rgb(231,244,253);height:80vh;">
<el-table :data="tableData" style="height:70vh;width:82vw;">
<el-table-column type="index" label="序号" width="60" fixed="left">
<el-table-column type="index" :label="t('common_list.id')" width="60" fixed="left">
<template #default="scope">
{{ scope.$index + 1 + (pagination.pageNum - 1) * pagination.pageSize }}
</template>
</el-table-column>
<el-table-column prop="jwcode" label="Homily ID" width="120" fixed="left" />
<el-table-column prop="name" label="姓名" width="120" fixed="left" show-overflow-tooltip />
<el-table-column prop="marketName" label="所属地区" width="120" />
<el-table-column prop="goodsName" label="产品名称" width="120" />
<el-table-column prop="goodsNum" label="产品数量" width="120" />
<el-table-column prop="refundModel" label="退款方式" width="120">
<el-table-column prop="name" :label="t('common_list.name')" width="120" fixed="left" show-overflow-tooltip />
<el-table-column prop="marketName" :label="t('common_list.market')" width="120" />
<el-table-column prop="goodsName" :label="t('common_list.productName')" width="120" />
<el-table-column prop="goodsNum" :label="t('common_list.productNum')" width="120" />
<el-table-column prop="refundModel" :label="t('common_list.refundModel')" width="120">
<template #default="scope">
{{ scope.row.refundModel === 1 ? '部分退款' : '全部退款' }}
{{ scope.row.refundModel === 1 ? t('common_list.refundModelPart') : t('common_list.refundModelAll') }}
</template>
</el-table-column>
<el-table-column prop="refundCurrency" label="退款币种" width="120">
<el-table-column prop="refundCurrency" :label="t('common_list.refundCurrency')" width="120">
<template #default="scope">
<div v-if="!scope.row.refundCurrency">
<text style="color: #FA5A1E;">待补充</text>
<text style="color: #FA5A1E;">{{ t('common_list.toSupply') }}</text>
</div>
</template>
</el-table-column>
<el-table-column prop="refundAmount" label="退款金额" width="120">
<el-table-column prop="refundAmount" :label="t('common_list.refundAmount')" width="120">
<template #default="scope">
<div v-if="!scope.row.refundAmount">
<text style="color: #FA5A1E;">待补充</text>
<text style="color: #FA5A1E;">{{ t('common_list.toSupply') }}</text>
</div>
</template>
</el-table-column>
<el-table-column prop="refundChannels" label="退款途径" width="120">
<el-table-column prop="refundChannels" :label="t('common_list.refundChannels')" width="120">
<template #default="scope">
<div v-if="!scope.row.refundChannels">
<text style="color: #FA5A1E;">待补充</text>
<text style="color: #FA5A1E;">{{ t('common_list.toSupply') }}</text>
</div>
</template>
</el-table-column>
<el-table-column prop="refundVoucher" label="退款截图" width="120">
<el-table-column prop="refundVoucher" :label="t('common_list.refundVoucher')" width="120">
<template #default="scope">
<el-image v-if="scope.row.refundVoucher" :src="scope.row.refundVoucher"
@click="previewImage(scope.row.refundVoucher)"
style="width: 40px; height: 40px; cursor: pointer;z-index: 99999;" fit="cover" />
<span v-else style="color: #FA5A1E;">待补充</span>
<span v-else style="color: #FA5A1E;">{{ t('common_list.toSupply') }}</span>
</template>
</el-table-column>
<el-table-column prop="refundTime" label="退款时间" width="180">
<el-table-column prop="refundTime" :label="t('common_list.refundTime')" width="180">
<template #default="scope">
<div v-if="!scope.row.refundTime">
<text style="color: #FA5A1E;">待补充</text>
<text style="color: #FA5A1E;">{{ t('common_list.toSupply') }}</text>
</div>
</template>
</el-table-column>
<el-table-column prop="status" label="订单状态" width="120">
<el-table-column prop="status" :label="t('common_list.orderStatus')" width="120">
<template #default="scope">
{{ scope.row.status === 41 ? '退款成功' : '待处理' }}
{{ scope.row.status === 41 ? t('common_list.refundSuccess') : t('common_list.pending') }}
</template>
</el-table-column>
<el-table-column prop="operation" label="操作" fixed="right" width="100px">
<el-table-column prop="operation" :label="t('common_list.operation')" fixed="right" width="100px">
<template #default="scope">
<div class="operation">
<el-button v-if="scope.row.status === 40" type="primary" text @click="showEditDialog(scope.row)">
提交
{{ t('common.submit') }}
</el-button>
<el-button v-else type="primary" text @click="showEditDialog(scope.row)">
编辑
{{ t('common.edit') }}
</el-button>
</div>
</template>
@ -132,86 +133,86 @@
<div style="display: flex;">
<div class="left">
<div class="dialog-item">
<el-text style="width:4vw;">精网号</el-text>
<el-text style="width:4vw;">{{ t('common_add.jwcode') }}</el-text>
<el-input v-model="editRow.jwcode" style="width:10vw;" disabled />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">客户姓名</el-text>
<el-text style="width:4vw;">{{ t('common_add.customerName') }}</el-text>
<el-input v-model="editRow.name" style="width:10vw;" disabled />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">所属地区</el-text>
<el-text style="width:4vw;">{{ t('common_add.market') }}</el-text>
<el-input v-model="editRow.marketName" style="width:10vw;" disabled />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">产品名称</el-text>
<el-text style="width:4vw;">{{ t('common_add.productName') }}</el-text>
<el-input v-model="editRow.goodsName" style="width:10vw;" disabled />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">退款类型</el-text>
<el-text style="width:4vw;">{{ t('common_add.refundModel') }}</el-text>
<el-select v-model="editRow.refundModel" style="width:10vw;" disabled>
<el-option label="全部退款" :value="0"></el-option>
<el-option label="部分退款" :value="1"></el-option>
<el-option :label="t('common_add.refundModelAll')" :value="0"></el-option>
<el-option :label="t('common_add.refundModelPart')" :value="1"></el-option>
</el-select>
</div>
<div class="dialog-item">
<el-text style="width:4vw;">付款币种</el-text>
<el-text style="width:4vw;">{{ t('common_add.payCurrency') }}</el-text>
<el-input v-model="editRow.paymentCurrency" style="width:10vw;" disabled />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">付款金额</el-text>
<el-text style="width:4vw;">{{ t('common_add.payAmount') }}</el-text>
<el-input v-model="editRow.paymentAmount" style="width:10vw;" disabled />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">支付方式</el-text>
<el-text style="width:4vw;">{{ t('common_add.payMethod') }}</el-text>
<el-input v-model="editRow.payType" style="width:10vw;" disabled />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">付款时间</el-text>
<el-text style="width:4vw;">{{ t('common_add.payTime') }}</el-text>
<el-input v-model="editRow.payTime" style="width:10vw;" disabled />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">提交人</el-text>
<el-text style="width:4vw;">{{ t('common_add.submitter') }}</el-text>
<el-input v-model="editRow.submitter" style="width:10vw;" disabled />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">转账凭证</el-text>
<el-text style="width:4vw;">{{ t('common_add.transferVoucher') }}</el-text>
<img v-if="editRow.payVoucher" :src="editRow.payVoucher"
style="width: 80px; height: 80px; object-fit: cover;">
<div v-else>
无转账凭证
{{ t('common_add.noTransferVoucher') }}
</div>
</div>
<div class="dialog-item">
<el-text style="width:4vw;">备注</el-text>
<el-text style="width:4vw;">{{ t('common_add.remark') }}</el-text>
<el-input v-model="editRow.payRemark" style="width:10vw;" :row="3" disabled maxlength="100" type="textarea"
show-word-limit clearable />
</div>
</div>
<div class="right">
<div class="dialog-item">
<el-text style="width:4vw;">退款币种</el-text>
<el-select v-model="editForm.refundCurrency" placeholder="请选择退款币种" style="width:10vw;">
<el-text style="width:4vw;">{{ t('common_add.refundCurrency') }}</el-text>
<el-select v-model="editForm.refundCurrency" :placeholder="t('common_add.refundCurrencyPlaceholder')" style="width:10vw;">
<el-option v-for="item in currencies" :key="item" :label="item" :value="item" />
</el-select>
</div>
<div class="dialog-item">
<el-text style="width:4vw;">退款金额</el-text>
<el-input v-model="editForm.refundAmount" placeholder="请输入退款金额" style="width:10vw;" clearable />
<el-text style="width:4vw;">{{ t('common_add.refundAmount') }}</el-text>
<el-input v-model="editForm.refundAmount" :placeholder="t('common_add.refundAmountPlaceholder')" style="width:10vw;" clearable />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">退款途径</el-text>
<el-select v-model="editForm.refundChannels" placeholder="请选择退款途径" style="width:10vw;">
<el-text style="width:4vw;">{{ t('common_add.refundChannels') }}</el-text>
<el-select v-model="editForm.refundChannels" :placeholder="t('common_add.refundChannelsPlaceholder')" style="width:10vw;">
<el-option v-for="item in channelOptions" :key="item" :label="item" :value="item" />
</el-select>
</div>
<div class="dialog-item">
<el-text style="width:4vw;">退款时间</el-text>
<el-date-picker v-model="editForm.refundTime" type="datetime" placeholder="请选择退款时间" style="width:10vw;"
<el-text style="width:4vw;">{{ t('common_add.refundTime') }}</el-text>
<el-date-picker v-model="editForm.refundTime" type="datetime" :placeholder="t('common_add.refundTimePlaceholder')" style="width:10vw;"
clearable />
</div>
<div class="dialog-item">
<el-text style="width:4vw;">退款截图</el-text>
<el-text style="width:4vw;">{{ t('common_add.refundVoucher') }}</el-text>
<el-upload ref="uploadRef" :http-request="customUpload" list-type="picture-card" :auto-upload="false"
:on-change="handleImageChange" :before-upload="beforeUpload" :show-file-list="false">
<template #default>
@ -224,13 +225,13 @@
</el-upload>
</div>
<div class="dialog-item">
<el-text style="width:4vw;">备注</el-text>
<el-input v-model="editForm.refundRemark" placeholder="请输入备注" style="width:10vw;" :rows="3" maxlength="100"
<el-text style="width:4vw;">{{ t('common_add.remark') }}</el-text>
<el-input v-model="editForm.refundRemark" :placeholder="t('common_add.remarkPlaceholder')" style="width:10vw;" :rows="3" maxlength="100"
show-word-limit type="textarea" clearable />
</div>
<div style="display:flex;justify-content: center;margin-top: 5vh;">
<el-button type="default" @click="hideEditDialog" style="margin-right: 2vw;">取消</el-button>
<el-button type="primary" @click="submitRefund">提交</el-button>
<el-button type="default" @click="hideEditDialog" style="margin-right: 2vw;">{{ t('common.cancel') }}</el-button>
<el-button type="primary" @click="submitRefund">{{ t('common.submit') }}</el-button>
</div>
</div>
</div>
@ -250,12 +251,15 @@ const { adminData, menuTree } = storeToRefs(adminStore)
import { permissionMapping, findMenuById } from "@/utils/menuTreePermission.js"
import moment from 'moment'
import { isNumber } from 'lodash'
//
import { useI18n } from 'vue-i18n'
const { t } = useI18n()
const uploadUrl = 'https://api.homilychart.com/hljw/api/aws/upload'
const dateRange = ref([])
const tableData = ref([])
const editRow = ref({})//
const statusList = ref(['待处理', '退款成功'])
const statusList = ref([t('cash.pending'), t('cash.refundSuccess')])
const pagination = ref({
pageNum: 1,
pageSize: 50,
@ -289,13 +293,13 @@ const getRefund = async function () {
if (searchForm.value.jwcode) {
const isPositiveInteger = /^[1-9]\d*$/.test(searchForm.value.jwcode);
if (!isPositiveInteger) {
ElMessage.error('请输入正确的精网号')
ElMessage.error(t('elmessage.checkJwcodeFormat'))
return;
}
}
// 400
if (searchForm.value.jwcode.length > 8) {
ElMessage.error('精网号长度不能超过8位')
ElMessage.error(t('elmessage.limitJwcodeLength'))
return;
}
@ -330,7 +334,7 @@ const getRefund = async function () {
tableData.value = result.data.list || []
pagination.value.total = result.data.total || 0
} catch (error) {
ElMessage.error(error.message || '查询失败')
ElMessage.error(error.message || t('elmessage.searchFailed'))
}
}
//
@ -338,7 +342,7 @@ const submitRefund = async function () {
try {
const numberReg = /^[0-9]+(\.[0-9]+)?$/
if (!numberReg.test(editForm.value.refundAmount)) {
ElMessage.error('请输入数字或小数')
ElMessage.error(t('elmessage.checkNumberOrDecimal'))
return
}
const params = {
@ -358,14 +362,14 @@ const submitRefund = async function () {
data: params
})
if (result.code === 200) {
ElMessage.success('提交成功')
ElMessage.success(t('elmessage.submitSuccess'))
hideEditDialog()
getRefund()
} else {
ElMessage.error(result.msg || '提交失败')
ElMessage.error(result.msg || t('elmessage.submitFailed'))
}
} catch (error) {
ElMessage.error(error.message || '提交失败')
ElMessage.error(error.message || t('elmessage.submitFailed'))
}
}
const getMarket = async function () {
@ -413,8 +417,32 @@ const hideEditDialog = () => {
jwcode: ''
}
}
const currencies = ref(['美元(USD)', '港币(HKD)', '新币(SGD)', '马币(MYR)', '泰铢(THB)', '加币(CAD)', '越南盾(VDN)', '韩元(KRW)'])
const channelOptions = ref(["Stripe-链接收款", "PaymentAsia-链接收款", "Ipay88-链接收款", "银行转账", "刷卡", "现金", "支票", "Grabpay", "Nets", "E-Transfer", "Paypal"])
// const currencies = ref(['(USD)', '(HKD)', '(SGD)', '(MYR)', '(THB)', '(CAD)', '(VDN)', '(KRW)'])
const currencies = ref([
t('cash.currency.usd'), // (USD)
t('cash.currency.hkd'), // (HKD)
t('cash.currency.sgd'), // (SGD)
t('cash.currency.myr'), // (MYR)
t('cash.currency.thb'), // (THB)
t('cash.currency.cad'), // (CAD)
t('cash.currency.vnd'), // (VDN)
t('cash.currency.krw') // (KRW)
])
// const channelOptions = ref(["Stripe-", "PaymentAsia-", "Ipay88-", "", "", "", "", "Grabpay", "Nets", "E-Transfer", "Paypal"])
const channelOptions = ref([
t('cash.payMethods.stripe'),
t('cash.payMethods.paymentAsia'),
t('cash.payMethods.ipay88'),
t('cash.payMethods.bankTransfer'),
t('cash.payMethods.card'),
t('cash.payMethods.cash'),
t('cash.payMethods.check'),
t('cash.payMethods.grabpay'),
t('cash.payMethods.nets'),
t('cash.payMethods.transfer'),
t('cash.payMethods.paypal'),
])
//
const previewImage = (imageUrl) => {
@ -453,11 +481,11 @@ const beforeUpload = (file) => {
const isPNG = file.type === 'image/png'
const isLt1 = file.size / 1024 < 2048
if (!isJPG && !isPNG) {
ElMessage.error('上传图片只能是 JPG 或 PNG 格式')
ElMessage.error(t('elmessage.onlyUploadJPGPNG'))
return false
}
if (!isLt1) {
ElMessage.error('上传图片大小不能超过2MB')
ElMessage.error(t('elmessage.limitImageSize2MB'))
return false
}
return true
@ -476,13 +504,13 @@ const customUpload = async (options) => {
})
if (response.code === 200 && response.data) {
editForm.value.imageUrl = response.data.url
ElMessage.success(response.msg || '上传成功')
ElMessage.success(response.msg || t('elmessage.uploadSuccess'))
} else {
ElMessage.error(response.msg || '上传失败')
ElMessage.error(response.msg || t('elmessage.uploadFailed'))
}
} catch (error) {
console.error('上传错误:', error)
ElMessage.error(`上传失败: ${error.msg || error.message || '网络异常'}`)
ElMessage.error(t('elmessage.uploadFailed') + `: ${error.msg || error.message || t('elmessage.inNetworkError')}`)
}
}
const defaultTime = [

1
src/views/moneyManage/receiveDetail/receiveService.vue

@ -630,7 +630,6 @@ const ifGold = () => {
t('cash.aiService.superHunting'),
t('cash.aiService.superPulse'),
t('cash.aiService.superCompass'),
t('cash.aiService.hcInfoFee'),
t('cash.aiService.aiDetectionTool'),
t('cash.aiService.superDetectionTool')
])

182
src/views/moneyManage/receiveDetail/utils/staticData.js

@ -1,194 +1,197 @@
import i18n from '@/components/locales'
const t = i18n.global.t
export const productList = [
{
"value": "金币产品",
"label": "金币产品",
"label": t('cash.goldProduct'),
"children": [
{
"value": "金币充值",
"label": "金币充值"
"label": t('cash.coinRecharge')
}
]
},
{
"value": "软件产品",
"label": "软件产品",
"label": t('cash.softwareProduct'),
"children": [
{
"value": "软件",
"label": "软件",
"label": t('cash.software'),
"children": [
{
"value": "美股",
"label": "美股",
"label": t('cash.softwareMenu.usStock'),
"children": [
{ "value": "美股软件", "label": "美股软件" },
{ "value": "美股金卡", "label": "美股金卡" },
{ "value": "美股套餐", "label": "美股套餐" }
{ "value": "美股软件", "label": t('cash.softwareMenu.usStockSoftware') },
{ "value": "美股金卡", "label": t('cash.softwareMenu.usStockGoldCard') },
{ "value": "美股套餐", "label": t('cash.softwareMenu.usStockPackage') }
]
},
{
"value": "港股",
"label": "港股",
"label": t('cash.softwareMenu.hkStock'),
"children": [
{ "value": "港股软件", "label": "港股软件" },
{ "value": "港股金卡", "label": "港股金卡" },
{ "value": "港股套餐", "label": "港股套餐" }
{ "value": "港股软件", "label": t('cash.softwareMenu.hkStockSoftware') },
{ "value": "港股金卡", "label": t('cash.softwareMenu.hkStockGoldCard') },
{ "value": "港股套餐", "label": t('cash.softwareMenu.hkStockPackage') }
]
},
{
"value": "A股",
"label": "A股",
"label": t('cash.softwareMenu.aStock'),
"children": [
{ "value": "A股软件", "label": "A股软件" },
{ "value": "A股金卡", "label": "A股金卡" },
{ "value": "A股套餐", "label": "A股套餐" }
{ "value": "A股软件", "label": t('cash.softwareMenu.aStockSoftware') },
{ "value": "A股金卡", "label": t('cash.softwareMenu.aStockGoldCard') },
{ "value": "A股套餐", "label": t('cash.softwareMenu.aStockPackage') }
]
},
{
"value": "新加坡股",
"label": "新加坡股",
"label": t('cash.softwareMenu.singaporeStock'),
"children": [
{ "value": "新加坡股软件", "label": "新加坡股软件" },
{ "value": "新加坡股金卡", "label": "新加坡股金卡" },
{ "value": "新加坡股套餐", "label": "新加坡股套餐" }
{ "value": "新加坡股软件", "label": t('cash.softwareMenu.singaporeStockSoftware') },
{ "value": "新加坡股金卡", "label": t('cash.softwareMenu.singaporeStockGoldCard') },
{ "value": "新加坡股套餐", "label": t('cash.softwareMenu.singaporeStockPackage') }
]
},
{
"value": "马股",
"label": "马股",
"label": t('cash.softwareMenu.malaysiaStock'),
"children": [
{ "value": "马股软件", "label": "马股软件" },
{ "value": "马股金卡", "label": "马股金卡" },
{ "value": "马股套餐", "label": "马股套餐" }
{ "value": "马股软件", "label": t('cash.softwareMenu.malaysiaStockSoftware') },
{ "value": "马股金卡", "label": t('cash.softwareMenu.malaysiaStockGoldCard') },
{ "value": "马股套餐", "label": t('cash.softwareMenu.malaysiaStockPackage') }
]
},
{
"value": "日本股",
"label": "日本股",
"label": t('cash.softwareMenu.japanStock'),
"children": [
{ "value": "日本股软件", "label": "日本股软件" },
{ "value": "日本股金卡", "label": "日本股金卡" },
{ "value": "日本股套餐", "label": "日本股套餐" }
{ "value": "日本股软件", "label": t('cash.softwareMenu.japanStockSoftware') },
{ "value": "日本股金卡", "label": t('cash.softwareMenu.japanStockGoldCard') },
{ "value": "日本股套餐", "label": t('cash.softwareMenu.japanStockPackage') }
]
},
{
"value": "泰股",
"label": "泰股",
"label": t('cash.softwareMenu.thailandStock'),
"children": [
{ "value": "泰股软件", "label": "泰股软件" },
{ "value": "泰股金卡", "label": "泰股金卡" },
{ "value": "泰股套餐", "label": "泰股套餐" }
{ "value": "泰股软件", "label": t('cash.softwareMenu.thailandStockSoftware') },
{ "value": "泰股金卡", "label": t('cash.softwareMenu.thailandStockGoldCard') },
{ "value": "泰股套餐", "label": t('cash.softwareMenu.thailandStockPackage') }
]
},
{
"value": "越南股",
"label": "越南股",
"label": t('cash.softwareMenu.vietnamStock'),
"children": [
{ "value": "越南股软件", "label": "越南股软件" },
{ "value": "越南股金卡", "label": "越南股金卡" },
{ "value": "越南股套餐", "label": "越南股套餐" }
{ "value": "越南股软件", "label": t('cash.softwareMenu.vietnamStockSoftware') },
{ "value": "越南股金卡", "label": t('cash.softwareMenu.vietnamStockGoldCard') },
{ "value": "越南股套餐", "label": t('cash.softwareMenu.vietnamStockPackage') }
]
},
{
"value": "印尼股",
"label": "印尼股",
"label": t('cash.softwareMenu.indonesiaStock'),
"children": [
{ "value": "印尼股软件", "label": "印尼股软件" },
{ "value": "印尼股金卡", "label": "印尼股金卡" },
{ "value": "印尼股套餐", "label": "印尼股套餐" }
{ "value": "印尼股软件", "label": t('cash.softwareMenu.indonesiaStockSoftware') },
{ "value": "印尼股金卡", "label": t('cash.softwareMenu.indonesiaStockGoldCard') },
{ "value": "印尼股套餐", "label": t('cash.softwareMenu.indonesiaStockPackage') }
]
},
{
"value": "韩国股",
"label": "韩国股",
"label": t('cash.softwareMenu.koreaStock'),
"children": [
{ "value": "韩国股软件", "label": "韩国股软件" },
{ "value": "韩国股金卡", "label": "韩国股金卡" },
{ "value": "韩国股套餐", "label": "韩国股套餐" }
{ "value": "韩国股软件", "label": t('cash.softwareMenu.koreaStockSoftware') },
{ "value": "韩国股金卡", "label": t('cash.softwareMenu.koreaStockGoldCard') },
{ "value": "韩国股套餐", "label": t('cash.softwareMenu.koreaStockPackage') }
]
},
{
"value": "台湾股",
"label": "台湾股",
"label": t('cash.softwareMenu.taiwanStock'),
"children": [
{ "value": "台湾股软件", "label": "台湾股软件" },
{ "value": "台湾股金卡", "label": "台湾股金卡" },
{ "value": "台湾股套餐", "label": "台湾股套餐" }
{ "value": "台湾股软件", "label": t('cash.softwareMenu.taiwanStockSoftware') },
{ "value": "台湾股金卡", "label": t('cash.softwareMenu.taiwanStockGoldCard') },
{ "value": "台湾股套餐", "label": t('cash.softwareMenu.taiwanStockPackage') }
]
}
]
},
{
"value": "AI机构探测神器",
"label": "AI机构探测神器",
"label": t('cash.aiService.aiDetectionTool'),
"children": [
{
"value": "AI机构追踪",
"label": "AI机构追踪"
"label": t('cash.aiService.aiTracking')
},
{
"value": "AI机构出击",
"label": "AI机构出击"
"label": t('cash.aiService.aiAttack')
},
{
"value": "AI机构资金",
"label": "AI机构资金"
"label": t('cash.aiService.aiFunds')
},
{
"value": "AI机构活跃度",
"label": "AI机构活跃度"
"label": t('cash.aiService.aiActivity')
},
{
"value": "AI机构探测神器",
"label": "AI机构探测神器"
"label": t('cash.aiService.aiDetectionTool')
}
]
},
{
"value": "超级机构探测神器",
"label": "超级机构探测神器",
"label": t('cash.aiService.superDetectionTool'),
"children": [
{
"value": "超级机构透视",
"label": "超级机构透视"
"label": t('cash.aiService.superPerspective')
},
{
"value": "超级机构伏击",
"label": "超级机构伏击"
"label": t('cash.aiService.superAmbush')
},
{
"value": "超级机构猎杀",
"label": "超级机构猎杀"
"label": t('cash.aiService.superHunting')
},
{
"value": "超级机构脉博",
"label": "超级机构脉博"
"label": t('cash.aiService.superPulse')
},
{
"value": "超级机构罗盘",
"label": "超级机构罗盘"
"label": t('cash.aiService.superCompass')
},
{
"value": "超级机构探测神器",
"label": "超级机构探测神器"
"label": t('cash.aiService.superDetectionTool')
}
]
},
{
"value": "其他",
"label": "其他",
"label": t('cash.other'),
"children": [
{
"value": "静态信息费",
"label": "静态信息费"
"label": t('cash.staticInfoFee')
},
{
"value": "博股会员",
"label": "博股会员"
"label": t('cash.BGmember')
},
{
"value": "HC信息费",
"label": "HC信息费"
"label": t('cash.HC')
}
]
}
@ -198,65 +201,72 @@ export const productList = [
export const MarketNameForId = (name) => {
if (name == '新加坡') {
if (name == t('cash.markets.Singapore') || name == '新加坡' || name == 'Singapore') {
return 4
} else if (name == '加拿大') {
} else if (name == t('cash.markets.Canada') || name == '加拿大' || name == 'Canada') {
return 24016
} else if (name == '马来西亚') {
} else if (name == t('cash.markets.Malaysia') || name == '马来西亚' || name == 'Malaysia') {
return 5
} else if (name == '香港') {
} else if (name == t('cash.markets.HongKong') || name == '香港' || name == 'Hong Kong') {
return 13
} else if (name == '泰国') {
} else if (name == t('cash.markets.Thailand') || name == '泰国' || name == 'Thailand') {
return 24018
} else if (name == '越南HCM') {
} else if (name == t('cash.markets.VietnamHCM') || name == '越南HCM' || name == 'Vietnam HCM') {
return 24022
} else {
return name
}
}
export const CurrencyForId = (name) => {
if (name == '美元(USD)') {
if (name == t('cash.currency.usd') || name == '美元(USD)' || name == 'US Dollar(USD)') {
return 1
} else if (name == '港币(HKD)') {
} else if (name == t('cash.currency.hkd') || name == '港币(HKD)' || name == 'Hong Kong Dollar(HKD)') {
return 2
} else if (name == '新币(SGD)') {
} else if (name == t('cash.currency.sgd') || name == '新币(SGD)' || name == 'Singapore Dollar(SGD)') {
return 3
} else if (name == '马币(MYR)') {
} else if (name == t('cash.currency.myr') || name == '马币(MYR)' || name == 'Malaysian Ringgit(MYR)') {
return 4
} else if (name == '泰铢(THB)') {
} else if (name == t('cash.currency.thb') || name == '泰铢(THB)' || name == 'Thai Baht(THB)') {
return 5
} else if (name == '加币(CAD)') {
} else if (name == t('cash.currency.cad') || name == '加币(CAD)' || name == 'Canadian Dollar(CAD)') {
return 6
} else if (name == '越南盾(VDN)') {
} else if (name == t('cash.currency.vnd') || name == '越南盾(VDN)' || name == 'Vietnamese Dong(VDN)') {
return 7
} else if (name == '韩元(KRW)') {
} else if (name == t('cash.currency.krw') || name == '韩元(KRW)' || name == 'South Korean Won(KRW)') {
return 8
} else {
return name
}
}
export const marketList = ['马来西亚', '香港', '新加坡', '泰国', '越南HCM', '加拿大']
export const marketList = [
t('cash.markets.Malaysia'),
t('cash.markets.HongKong'),
t('cash.markets.Singapore'),
t('cash.markets.Thailand'),
t('cash.markets.VietnamHCM'),
t('cash.markets.Canada')
]
export const statusList = [
{
name: '待审核',
name: t('cash.statusList.pending'),
value: 0
},
{
name: '已通过',
name: t('cash.statusList.passed'),
value: 134
},
{
name: '已撤回',
name: t('cash.statusList.recalled'),
value: 5
}, {
name: '退款',
name: t('cash.statusList.refunded'),
value: 6
}, {
name: '已驳回',
name: t('cash.statusList.rejected'),
value: 2
},
]
export const numUnitList = ['个', '年', '月']
export const numUnitList = [t('cash.unit'), t('cash.year'), t('cash.month')]
Loading…
Cancel
Save