|
|
@ -1,7 +1,7 @@ |
|
|
<script setup> |
|
|
<script setup> |
|
|
import {onMounted, reactive, ref} from 'vue' |
|
|
|
|
|
import {ElIcon, ElMessage, ElMessageBox} from 'element-plus' |
|
|
|
|
|
import {Plus, WarnTriangleFilled} from '@element-plus/icons-vue' |
|
|
|
|
|
|
|
|
import { onMounted, reactive, ref } from 'vue' |
|
|
|
|
|
import { ElIcon, ElMessage, ElMessageBox } from 'element-plus' |
|
|
|
|
|
import { Plus, WarnTriangleFilled } from '@element-plus/icons-vue' |
|
|
import axios from 'axios' |
|
|
import axios from 'axios' |
|
|
import API from '@/util/http.js' |
|
|
import API from '@/util/http.js' |
|
|
import moment from 'moment' |
|
|
import moment from 'moment' |
|
|
@ -65,14 +65,13 @@ const recharge = ref({ |
|
|
voucher: '', |
|
|
voucher: '', |
|
|
rechargeWay: '客服充值', |
|
|
rechargeWay: '客服充值', |
|
|
freeGold: "", |
|
|
freeGold: "", |
|
|
money: null, |
|
|
|
|
|
permanentGold: "", |
|
|
|
|
|
rateName: null, |
|
|
|
|
|
rateId: null, |
|
|
|
|
|
payModel: '', // payModel 字段 |
|
|
|
|
|
|
|
|
money: 0, |
|
|
|
|
|
permanentGold: "0", |
|
|
|
|
|
rateName: "美元(USD)", |
|
|
|
|
|
rateId: 1, |
|
|
|
|
|
payModel: '银行转账', // payModel 字段 |
|
|
payTime: null, // payTime 字段 |
|
|
payTime: null, // payTime 字段 |
|
|
remark: '', // remark 字段 |
|
|
remark: '', // remark 字段 |
|
|
rechargeRatio: '' |
|
|
|
|
|
}) |
|
|
}) |
|
|
// 用来写的 cookie 的 key |
|
|
// 用来写的 cookie 的 key |
|
|
const WriteCookies = ref(null) |
|
|
const WriteCookies = ref(null) |
|
|
@ -87,7 +86,7 @@ const orderStatus = ref('') |
|
|
const add = async function () { |
|
|
const add = async function () { |
|
|
try { |
|
|
try { |
|
|
|
|
|
|
|
|
const formattedRecharge = {...recharge.value} |
|
|
|
|
|
|
|
|
const formattedRecharge = { ...recharge.value } |
|
|
|
|
|
|
|
|
// 将永久金币数、免费金币数和充值金额数乘以 100 |
|
|
// 将永久金币数、免费金币数和充值金额数乘以 100 |
|
|
if (formattedRecharge.permanentGold) { |
|
|
if (formattedRecharge.permanentGold) { |
|
|
@ -100,12 +99,7 @@ const add = async function () { |
|
|
if (formattedRecharge.money) { |
|
|
if (formattedRecharge.money) { |
|
|
formattedRecharge.money = new Decimal(formattedRecharge.money).mul(100).toNumber(); |
|
|
formattedRecharge.money = new Decimal(formattedRecharge.money).mul(100).toNumber(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (formattedRecharge.payTime) { |
|
|
|
|
|
// 使用 moment.js 格式化 payTime |
|
|
|
|
|
formattedRecharge.payTime = moment(formattedRecharge.payTime).format('YYYY-MM-DD HH:mm:ss') |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
formattedRecharge.payTime = moment(Date.now()).format('YYYY-MM-DD HH:mm:ss') |
|
|
console.log('开始添加充值信息', recharge.value) |
|
|
console.log('开始添加充值信息', recharge.value) |
|
|
//存一下 用户的jwcode |
|
|
//存一下 用户的jwcode |
|
|
|
|
|
|
|
|
@ -116,7 +110,7 @@ const add = async function () { |
|
|
data: formattedRecharge |
|
|
data: formattedRecharge |
|
|
}) |
|
|
}) |
|
|
addDisabled.value = false |
|
|
addDisabled.value = false |
|
|
if(result.code == 200){ |
|
|
|
|
|
|
|
|
if (result.code == 200) { |
|
|
// 拼接 jwcode:permanentGold:freeGold |
|
|
// 拼接 jwcode:permanentGold:freeGold |
|
|
WriteCookies.value = `coinRecharge-${recharge.value.jwcode}-${recharge.value.permanentGold}-${recharge.value.freeGold}` |
|
|
WriteCookies.value = `coinRecharge-${recharge.value.jwcode}-${recharge.value.permanentGold}-${recharge.value.freeGold}` |
|
|
//value 为充值时间 |
|
|
//value 为充值时间 |
|
|
@ -125,7 +119,7 @@ const add = async function () { |
|
|
orderCode: result.data.orderCoder, |
|
|
orderCode: result.data.orderCoder, |
|
|
}); |
|
|
}); |
|
|
// 设置cookies,用户jwcode为key,value也是jwcode,过期时间为1天 |
|
|
// 设置cookies,用户jwcode为key,value也是jwcode,过期时间为1天 |
|
|
Cookies.set(WriteCookies.value, WriteCookiesVale.value, {expires: 1, path: '/'}); |
|
|
|
|
|
|
|
|
Cookies.set(WriteCookies.value, WriteCookiesVale.value, { expires: 1, path: '/' }); |
|
|
} |
|
|
} |
|
|
if (result.code === 0) { |
|
|
if (result.code === 0) { |
|
|
ElMessage.error(result.msg) |
|
|
ElMessage.error(result.msg) |
|
|
@ -205,7 +199,7 @@ const selectByOrderCode = async function (data) { |
|
|
'Content-Type': 'text/plain;charset=utf-8' |
|
|
'Content-Type': 'text/plain;charset=utf-8' |
|
|
}, |
|
|
}, |
|
|
}) |
|
|
}) |
|
|
if(result.code == 200){ |
|
|
|
|
|
|
|
|
if (result.code == 200) { |
|
|
historyOrder.value = result.data |
|
|
historyOrder.value = result.data |
|
|
} |
|
|
} |
|
|
} catch (error) { |
|
|
} catch (error) { |
|
|
@ -234,7 +228,7 @@ const addBefore = () => { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 验证金币不能同时为0 |
|
|
// 验证金币不能同时为0 |
|
|
if (Number(recharge.value.permanentGold) === 0 && Number(recharge.value.freeGold) === 0) { |
|
|
|
|
|
|
|
|
if (Number(recharge.value.freeGold) === 0) { |
|
|
ElMessage({ |
|
|
ElMessage({ |
|
|
type: 'error', |
|
|
type: 'error', |
|
|
message: t('elmessage.permanentAndFreeNoZero') |
|
|
message: t('elmessage.permanentAndFreeNoZero') |
|
|
@ -242,24 +236,6 @@ const addBefore = () => { |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 验证币种选择 |
|
|
|
|
|
if (!recharge.value.rateName) { |
|
|
|
|
|
ElMessage({ |
|
|
|
|
|
type: 'error', |
|
|
|
|
|
message: t('elmessage.checkRate') |
|
|
|
|
|
}); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 验证充值金额 |
|
|
|
|
|
if (!recharge.value.money) { |
|
|
|
|
|
ElMessage({ |
|
|
|
|
|
type: 'error', |
|
|
|
|
|
message: t('elmessage.checkMoney') |
|
|
|
|
|
}); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 设置对应的rateId,传负载用的 |
|
|
// 设置对应的rateId,传负载用的 |
|
|
const selectedRate = rateName.value.find(item => item.value === recharge.value.rateName); |
|
|
const selectedRate = rateName.value.find(item => item.value === recharge.value.rateName); |
|
|
if (selectedRate) { |
|
|
if (selectedRate) { |
|
|
@ -277,7 +253,7 @@ const addBefore = () => { |
|
|
// 拼接 jwcode:permanentGold:freeGold |
|
|
// 拼接 jwcode:permanentGold:freeGold |
|
|
ReadCookies.value = `coinRecharge-${recharge.value.jwcode}-${recharge.value.permanentGold}-${recharge.value.freeGold}` |
|
|
ReadCookies.value = `coinRecharge-${recharge.value.jwcode}-${recharge.value.permanentGold}-${recharge.value.freeGold}` |
|
|
|
|
|
|
|
|
console.log('ReadCookies',ReadCookies.value); |
|
|
|
|
|
|
|
|
console.log('ReadCookies', ReadCookies.value); |
|
|
|
|
|
|
|
|
// 获取cookie |
|
|
// 获取cookie |
|
|
const cookieValue = Cookies.get(ReadCookies.value); |
|
|
const cookieValue = Cookies.get(ReadCookies.value); |
|
|
@ -289,21 +265,21 @@ const addBefore = () => { |
|
|
ReadCookiesValue.value = { |
|
|
ReadCookiesValue.value = { |
|
|
...rechargeInfo, |
|
|
...rechargeInfo, |
|
|
} |
|
|
} |
|
|
}else{ |
|
|
|
|
|
|
|
|
} else { |
|
|
ReadCookiesValue.value = {} |
|
|
ReadCookiesValue.value = {} |
|
|
} |
|
|
} |
|
|
if (Object.keys(ReadCookiesValue.value).length > 0) { |
|
|
if (Object.keys(ReadCookiesValue.value).length > 0) { |
|
|
await selectByOrderCode(ReadCookiesValue.value.orderCode) |
|
|
await selectByOrderCode(ReadCookiesValue.value.orderCode) |
|
|
if(historyOrder.value.type == 0 ){ |
|
|
|
|
|
if(historyOrder.value.auditStatus == 0){ |
|
|
|
|
|
|
|
|
if (historyOrder.value.type == 0) { |
|
|
|
|
|
if (historyOrder.value.auditStatus == 0) { |
|
|
orderStatus.value = t('recharge.waitAudit') |
|
|
orderStatus.value = t('recharge.waitAudit') |
|
|
}else if(historyOrder.value.auditStatus == 1){ |
|
|
|
|
|
if(historyOrder.value.isRefund == 1){ |
|
|
|
|
|
|
|
|
} else if (historyOrder.value.auditStatus == 1) { |
|
|
|
|
|
if (historyOrder.value.isRefund == 1) { |
|
|
orderStatus.value = t('recharge.refunded') |
|
|
orderStatus.value = t('recharge.refunded') |
|
|
}else{ |
|
|
|
|
|
|
|
|
} else { |
|
|
orderStatus.value = t('recharge.passed') |
|
|
orderStatus.value = t('recharge.passed') |
|
|
} |
|
|
} |
|
|
}else if(historyOrder.value.auditStatus == 2){ |
|
|
|
|
|
|
|
|
} else if (historyOrder.value.auditStatus == 2) { |
|
|
orderStatus.value = t('recharge.rejected') |
|
|
orderStatus.value = t('recharge.rejected') |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@ -331,50 +307,9 @@ const rules = reactive({ |
|
|
callback(); |
|
|
callback(); |
|
|
}, trigger: 'blur' |
|
|
}, trigger: 'blur' |
|
|
}], |
|
|
}], |
|
|
activity: [{required: true, message: t('elmessage.checkActivity'), trigger: 'blur'}], |
|
|
|
|
|
permanentGold: [ |
|
|
|
|
|
{required: true, message: t('elmessage.checkPermanentGold'), trigger: 'change'}, |
|
|
|
|
|
{ |
|
|
|
|
|
validator: (rule, value, callback) => { |
|
|
|
|
|
if (!value) { |
|
|
|
|
|
value = '0' |
|
|
|
|
|
} |
|
|
|
|
|
// 检查是否包含特殊符号 |
|
|
|
|
|
if (/[^0-9.]/.test(value)) { |
|
|
|
|
|
callback(new Error(t('elmessage.limitNoSpecialChar'))); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 检查整数位数 |
|
|
|
|
|
const integerPart = value.split('.')[0]; |
|
|
|
|
|
if (integerPart.length > 6) { |
|
|
|
|
|
callback(new Error(t('elmessage.limitSix'))); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 检查小数位数 |
|
|
|
|
|
if (value.includes('.')) { |
|
|
|
|
|
const decimalPart = value.split('.')[1]; |
|
|
|
|
|
if (decimalPart.length > 2) { |
|
|
|
|
|
callback(new Error(t('elmessage.limitTwoDecimal'))); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const numValue = Number(value); |
|
|
|
|
|
if (isNaN(numValue)) { |
|
|
|
|
|
callback(new Error(t('elmessage.checkNumber'))); |
|
|
|
|
|
} else if (numValue < 0) { |
|
|
|
|
|
callback(new Error(t('elmessage.limitZero'))); |
|
|
|
|
|
} else { |
|
|
|
|
|
callback(); |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
trigger: 'blur' |
|
|
|
|
|
} |
|
|
|
|
|
], |
|
|
|
|
|
|
|
|
activity: [{ required: true, message: t('elmessage.checkActivity'), trigger: 'blur' }], |
|
|
freeGold: [ |
|
|
freeGold: [ |
|
|
{required: true, message: t('elmessage.checkFreeGold'), trigger: 'change'}, |
|
|
|
|
|
|
|
|
{ required: true, message: t('elmessage.checkFreeGold'), trigger: 'change' }, |
|
|
{ |
|
|
{ |
|
|
validator: (rule, value, callback) => { |
|
|
validator: (rule, value, callback) => { |
|
|
if (!value) { |
|
|
if (!value) { |
|
|
@ -414,52 +349,6 @@ const rules = reactive({ |
|
|
trigger: 'blur' |
|
|
trigger: 'blur' |
|
|
} |
|
|
} |
|
|
], |
|
|
], |
|
|
rateName: [{ |
|
|
|
|
|
required: true, |
|
|
|
|
|
message: t('elmessage.checkRate'), |
|
|
|
|
|
trigger: 'blur' |
|
|
|
|
|
}], |
|
|
|
|
|
|
|
|
|
|
|
money: [ |
|
|
|
|
|
{required: true, message: t('elmessage.checkMoney'), trigger: 'blur'}, |
|
|
|
|
|
{ |
|
|
|
|
|
validator: (rule, value, callback) => { |
|
|
|
|
|
// 检查是否包含特殊符号 |
|
|
|
|
|
if (/[^0-9.]/.test(value)) { |
|
|
|
|
|
callback(new Error(t('elmessage.limitNoSpecialChar'))); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 检查整数位数 |
|
|
|
|
|
const integerPart = value.split('.')[0]; |
|
|
|
|
|
if (integerPart.length > 6) { |
|
|
|
|
|
callback(new Error(t('elmessage.limitSix'))); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 检查小数位数 |
|
|
|
|
|
if (value.includes('.')) { |
|
|
|
|
|
const decimalPart = value.split('.')[1]; |
|
|
|
|
|
if (decimalPart.length > 2) { |
|
|
|
|
|
callback(new Error(t('elmessage.limitTwoDecimal'))); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const numValue = Number(value); |
|
|
|
|
|
if (isNaN(numValue)) { |
|
|
|
|
|
callback(new Error(t('elmessage.checkNumber'))); |
|
|
|
|
|
} else if (numValue < 0) { |
|
|
|
|
|
callback(new Error(t('elmessage.limitZero'))); |
|
|
|
|
|
} else { |
|
|
|
|
|
callback(); |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
trigger: 'blur' |
|
|
|
|
|
} |
|
|
|
|
|
], |
|
|
|
|
|
payModel: [{required: true, message: t('elmessage.checkPayModel'), trigger: 'blur'}], |
|
|
|
|
|
payTime: [{required: true, message: t('elmessage.checkPayTime'), trigger: 'blur'}] |
|
|
|
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
// 查找客户信息的方法 |
|
|
// 查找客户信息的方法 |
|
|
@ -515,28 +404,6 @@ const getUser = async function (jwcode) { |
|
|
|
|
|
|
|
|
// 这是查询活动的接口,一期没有调用这个接口 |
|
|
// 这是查询活动的接口,一期没有调用这个接口 |
|
|
const activity = ref([]) |
|
|
const activity = ref([]) |
|
|
// const getActivity = async function () { |
|
|
|
|
|
// try { |
|
|
|
|
|
// // 发送POST请求 |
|
|
|
|
|
// const result = await API({ |
|
|
|
|
|
// url: '/general/activity', |
|
|
|
|
|
// data: { |
|
|
|
|
|
|
|
|
|
|
|
// } |
|
|
|
|
|
// }) |
|
|
|
|
|
|
|
|
|
|
|
// // 将响应结果存储到响应式数据中 |
|
|
|
|
|
// console.log('请求成功', result) |
|
|
|
|
|
// // 存储表格数据 |
|
|
|
|
|
// activity.value = result.data |
|
|
|
|
|
// console.log('活动信息', activity.value) |
|
|
|
|
|
// } catch (error) { |
|
|
|
|
|
// console.log('activity请求失败', error) |
|
|
|
|
|
// // 在这里可以处理错误逻辑,比如显示错误提示等 |
|
|
|
|
|
// } |
|
|
|
|
|
// } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//货币条目 |
|
|
//货币条目 |
|
|
const rateName = ref([]) |
|
|
const rateName = ref([]) |
|
|
|
|
|
|
|
|
@ -674,12 +541,13 @@ const deleteRecharge = function () { |
|
|
voucher: '', |
|
|
voucher: '', |
|
|
rechargeWay: '客服充值', |
|
|
rechargeWay: '客服充值', |
|
|
freeGold: '', |
|
|
freeGold: '', |
|
|
money: null, |
|
|
|
|
|
permanentGold: '', |
|
|
|
|
|
rateId: null |
|
|
|
|
|
|
|
|
money: 0, |
|
|
|
|
|
permanentGold: '0', |
|
|
|
|
|
rateId: 1, |
|
|
|
|
|
payModel: '银行转账', // payModel 字段 |
|
|
} |
|
|
} |
|
|
imageUrl.value = '' |
|
|
imageUrl.value = '' |
|
|
recharge.value.rateName = '' |
|
|
|
|
|
|
|
|
recharge.value.rateName = '美元(USD)' |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -699,24 +567,26 @@ onMounted(() => { |
|
|
<div> |
|
|
<div> |
|
|
<div class="userAndForm"> |
|
|
<div class="userAndForm"> |
|
|
<div class="left"> |
|
|
<div class="left"> |
|
|
<el-form :model="recharge" ref="Ref" :rules="rules" label-width="auto" label-position="right" |
|
|
|
|
|
|
|
|
<el-form :model="recharge" ref="Ref" :rules="rules" label-width="auto" label-position="left" |
|
|
style="min-width: 500px" class="add-form"> |
|
|
style="min-width: 500px" class="add-form"> |
|
|
<el-form-item prop="jwcode" :label="$t('common_add.jwcode')"> |
|
|
<el-form-item prop="jwcode" :label="$t('common_add.jwcode')"> |
|
|
<el-input v-model="recharge.jwcode" style="width: 220px" @keyup.enter="getUser(recharge.jwcode)"/> |
|
|
|
|
|
<el-button type="primary" @click="getUser(recharge.jwcode)" style="margin-left: 20px">{{ $t('common.search') }}</el-button> |
|
|
|
|
|
|
|
|
<el-input v-model="recharge.jwcode" style="width: 220px" @keyup.enter="getUser(recharge.jwcode)" /> |
|
|
|
|
|
<el-button type="primary" @click="getUser(recharge.jwcode)" style="margin-left: 20px">{{ $t('common.search') |
|
|
|
|
|
}}</el-button> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item prop="activity" :label="$t('common_add.activity')"> |
|
|
<el-form-item prop="activity" :label="$t('common_add.activity')"> |
|
|
<el-input v-model="recharge.activity" :placeholder="$t('common_add.activityPlaceholder')" style="width: 300px"/> |
|
|
|
|
|
|
|
|
<el-input v-model="recharge.activity" :placeholder="$t('common_add.activityPlaceholder')" |
|
|
|
|
|
style="width: 300px" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item prop="permanentGold" :label="$t('common_add.permanentGold')"> |
|
|
|
|
|
|
|
|
<!-- <el-form-item prop="permanentGold" :label="$t('common_add.permanentGold')"> |
|
|
<el-input v-model="recharge.permanentGold" placeholder="0" style="width: 100px"/> |
|
|
<el-input v-model="recharge.permanentGold" placeholder="0" style="width: 100px"/> |
|
|
<p> 个</p> |
|
|
<p> 个</p> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
</el-form-item> --> |
|
|
<el-form-item prop="freeGold" :label="$t('common_add.freeGold')"> |
|
|
<el-form-item prop="freeGold" :label="$t('common_add.freeGold')"> |
|
|
<el-input v-model="recharge.freeGold" placeholder="0" style="width: 100px"/> |
|
|
|
|
|
|
|
|
<el-input v-model="recharge.freeGold" placeholder="0" style="width: 100px" /> |
|
|
<p> 个</p> |
|
|
<p> 个</p> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item :label="$t('common_add.rechargeAmount')" required style="margin-bottom: 25px;"> |
|
|
|
|
|
|
|
|
<!-- <el-form-item :label="$t('common_add.rechargeAmount')" required style="margin-bottom: 25px;"> |
|
|
<el-form-item prop="rateName" style="display: inline-block; margin-left:0;"> |
|
|
<el-form-item prop="rateName" style="display: inline-block; margin-left:0;"> |
|
|
<el-select v-model="recharge.rateName" :placeholder="$t('common_add.currencyName')" style="width: 100px"> |
|
|
<el-select v-model="recharge.rateName" :placeholder="$t('common_add.currencyName')" style="width: 100px"> |
|
|
<el-option v-for="item in rateName" :key="item.value" :label="item.label" :value="item.value"/> |
|
|
<el-option v-for="item in rateName" :key="item.value" :label="item.label" :value="item.value"/> |
|
|
@ -725,15 +595,14 @@ onMounted(() => { |
|
|
<el-form-item prop="money" style="display: inline-block; margin-left:10px; vertical-align: top;"> |
|
|
<el-form-item prop="money" style="display: inline-block; margin-left:10px; vertical-align: top;"> |
|
|
<el-input v-model="recharge.money" style="width: 190px"/> |
|
|
<el-input v-model="recharge.money" style="width: 190px"/> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
</el-form-item> --> |
|
|
|
|
|
|
|
|
<el-form-item prop="payModel" :label="$t('common_add.payModel')"> |
|
|
|
|
|
|
|
|
<!-- <el-form-item prop="payModel" :label="$t('common_add.payModel')"> |
|
|
<el-select v-model="recharge.payModel" :placeholder="$t('common_add.payModelPlaceholder')" style="width: 300px"> |
|
|
<el-select v-model="recharge.payModel" :placeholder="$t('common_add.payModelPlaceholder')" style="width: 300px"> |
|
|
<el-option v-for="item in payModel" :key="item.value" :label="item.label" :value="item.value"/> |
|
|
<el-option v-for="item in payModel" :key="item.value" :label="item.label" :value="item.value"/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item prop="payTime" :label="$t('common_add.paymentTime')"> |
|
|
|
|
|
<!-- 修改 type 属性为 datetime 以支持时分秒选择 --> |
|
|
|
|
|
|
|
|
</el-form-item> --> |
|
|
|
|
|
<!-- <el-form-item prop="payTime" :label="$t('common_add.paymentTime')"> |
|
|
<el-date-picker v-model="recharge.payTime" type="datetime" style="width: 300px"/> |
|
|
<el-date-picker v-model="recharge.payTime" type="datetime" style="width: 300px"/> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item prop="voucher" :label="$t('common_add.paymentVoucher')" style="margin-bottom: 5px"> |
|
|
<el-form-item prop="voucher" :label="$t('common_add.paymentVoucher')" style="margin-bottom: 5px"> |
|
|
@ -747,14 +616,16 @@ onMounted(() => { |
|
|
<p style="margin-left: 10px; color: rgb(177, 176, 176)"> |
|
|
<p style="margin-left: 10px; color: rgb(177, 176, 176)"> |
|
|
{{ $t('common_add.paymentVoucherPlaceholder') }} |
|
|
{{ $t('common_add.paymentVoucherPlaceholder') }} |
|
|
</p> |
|
|
</p> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
</el-form-item> --> |
|
|
<el-form-item prop="remark" :label="$t('common_add.remark')"> |
|
|
<el-form-item prop="remark" :label="$t('common_add.remark')"> |
|
|
<el-input v-model="recharge.remark" style="width: 300px" :rows="4" maxlength="100" show-word-limit |
|
|
<el-input v-model="recharge.remark" style="width: 300px" :rows="4" maxlength="100" show-word-limit |
|
|
type="textarea"/> |
|
|
|
|
|
|
|
|
type="textarea" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
<el-button @click="deleteRecharge" style="margin-left: 220px;margin-top:20px" type="success">{{ $t('common.reset') }}</el-button> |
|
|
|
|
|
<el-button type="primary" style="margin-top:20px" :disabled="addDisabled" @click="addBefore"> {{ $t('common.confirm') }}</el-button> |
|
|
|
|
|
|
|
|
<el-button @click="deleteRecharge" style="margin-left: 220px;margin-top:20px" type="success">{{ |
|
|
|
|
|
$t('common.reset') }}</el-button> |
|
|
|
|
|
<el-button type="primary" style="margin-top:20px" :disabled="addDisabled" @click="addBefore"> {{ |
|
|
|
|
|
$t('common.confirm') }}</el-button> |
|
|
</el-form> |
|
|
</el-form> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
@ -779,7 +650,8 @@ onMounted(() => { |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<!-- 金币详情独立显示 --> |
|
|
<!-- 金币详情独立显示 --> |
|
|
<el-form-item style="margin-top: -23px"> <!-- 负边距减少间距 --> |
|
|
<el-form-item style="margin-top: -23px"> <!-- 负边距减少间距 --> |
|
|
<span style="color: #b1b1b1; margin-left: 0px" v-if="user.nowPermanentGold !== undefined">({{ $t('common_add_user.permanentGold') }}:{{ |
|
|
|
|
|
|
|
|
<span style="color: #b1b1b1; margin-left: 0px" v-if="user.nowPermanentGold !== undefined">({{ |
|
|
|
|
|
$t('common_add_user.permanentGold') }}:{{ |
|
|
user.nowPermanentGold |
|
|
user.nowPermanentGold |
|
|
}}; |
|
|
}}; |
|
|
{{ $t('common_add_user.freeGold') }}:{{ user.nowFreeGold }}; |
|
|
{{ $t('common_add_user.freeGold') }}:{{ user.nowFreeGold }}; |
|
|
@ -800,7 +672,8 @@ onMounted(() => { |
|
|
<p style="color: #2fa1ff">{{ user.consumeNum }} </p> |
|
|
<p style="color: #2fa1ff">{{ user.consumeNum }} </p> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item style="margin-top: -23px"> <!-- 负边距减少间距 --> |
|
|
<el-form-item style="margin-top: -23px"> <!-- 负边距减少间距 --> |
|
|
<p style="font-size: small; color: #b1b1b1">({{ $t('common_add_user.onlyStatisticsDataAfter20250101') }})</p> |
|
|
|
|
|
|
|
|
<p style="font-size: small; color: #b1b1b1">({{ $t('common_add_user.onlyStatisticsDataAfter20250101') |
|
|
|
|
|
}})</p> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
</el-row> |
|
|
</el-row> |
|
|
@ -832,39 +705,38 @@ onMounted(() => { |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<el-dialog v-model="FirstRechargeDialogVisible" :title="$t('common_add.operationConfirm')" |
|
|
<el-dialog v-model="FirstRechargeDialogVisible" :title="$t('common_add.operationConfirm')" |
|
|
:before-close="FirstRechargeDialogVisiblehandleClose" |
|
|
|
|
|
:close-on-click-modal="false" width="400px"> |
|
|
|
|
|
|
|
|
:before-close="FirstRechargeDialogVisiblehandleClose" :close-on-click-modal="false" width="400px"> |
|
|
<!-- 内容整体居中且收窄 --> |
|
|
<!-- 内容整体居中且收窄 --> |
|
|
<div class="confirm-body"> |
|
|
<div class="confirm-body"> |
|
|
<!-- 用户信息 --> |
|
|
<!-- 用户信息 --> |
|
|
<div> |
|
|
<div> |
|
|
<div class="field-label">{{ $t('common_add.userInfo') }}</div> |
|
|
<div class="field-label">{{ $t('common_add.userInfo') }}</div> |
|
|
<el-input :model-value="user.jwcode + (user.name ? '【' + user.name + '】' : '')" disabled/> |
|
|
|
|
|
|
|
|
<el-input :model-value="user.jwcode + (user.name ? '【' + user.name + '】' : '')" disabled /> |
|
|
</div> |
|
|
</div> |
|
|
<!-- 活动名称 --> |
|
|
<!-- 活动名称 --> |
|
|
<div class="field"> |
|
|
<div class="field"> |
|
|
<div class="field-label">{{ $t('common_add.activity') }}</div> |
|
|
<div class="field-label">{{ $t('common_add.activity') }}</div> |
|
|
<el-input v-model="recharge.activity" disabled/> |
|
|
|
|
|
|
|
|
<el-input v-model="recharge.activity" disabled /> |
|
|
</div> |
|
|
</div> |
|
|
<!-- 金币信息(同一行左右排列) --> |
|
|
<!-- 金币信息(同一行左右排列) --> |
|
|
<el-row :gutter="20" class="coins-row"> |
|
|
<el-row :gutter="20" class="coins-row"> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<div class="field"> |
|
|
<div class="field"> |
|
|
<div class="field-label">{{ $t('common_add.permanentGold') }}</div> |
|
|
<div class="field-label">{{ $t('common_add.permanentGold') }}</div> |
|
|
<el-input v-model="recharge.permanentGold" disabled/> |
|
|
|
|
|
|
|
|
<el-input v-model="recharge.permanentGold" disabled /> |
|
|
</div> |
|
|
</div> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<div class="field"> |
|
|
<div class="field"> |
|
|
<div class="field-label">{{ $t('common_add.freeGold') }}</div> |
|
|
<div class="field-label">{{ $t('common_add.freeGold') }}</div> |
|
|
<el-input v-model="recharge.freeGold" disabled/> |
|
|
|
|
|
|
|
|
<el-input v-model="recharge.freeGold" disabled /> |
|
|
</div> |
|
|
</div> |
|
|
</el-col> |
|
|
</el-col> |
|
|
</el-row> |
|
|
</el-row> |
|
|
|
|
|
|
|
|
<div class="field"> |
|
|
<div class="field"> |
|
|
<div class="field-label">{{ $t('common_add.remark') }}</div> |
|
|
<div class="field-label">{{ $t('common_add.remark') }}</div> |
|
|
<el-input v-model="recharge.remark" disabled/> |
|
|
|
|
|
|
|
|
<el-input v-model="recharge.remark" disabled /> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -874,53 +746,58 @@ onMounted(() => { |
|
|
<template #footer> |
|
|
<template #footer> |
|
|
<div class="dialog-footer-center"> |
|
|
<div class="dialog-footer-center"> |
|
|
<el-button @click="FirstRechargeDialogVisibleCancel">{{ $t('common.cancel') }}</el-button> |
|
|
<el-button @click="FirstRechargeDialogVisibleCancel">{{ $t('common.cancel') }}</el-button> |
|
|
<el-button type="primary" @click="FistRechargeDialogVisibleContinue">{{ $t('common.confirmRecharge') }}</el-button> |
|
|
|
|
|
|
|
|
<el-button type="primary" @click="FistRechargeDialogVisibleContinue">{{ $t('common.confirmRecharge') |
|
|
|
|
|
}}</el-button> |
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
<el-dialog v-model="RechargeDialogVisible" :title="$t('common_add.operationConfirm')" :before-close="RechargeDialogVisiblehandleClose" |
|
|
|
|
|
:close-on-click-modal="false" width="480px"> |
|
|
|
|
|
|
|
|
<el-dialog v-model="RechargeDialogVisible" :title="$t('common_add.operationConfirm')" |
|
|
|
|
|
:before-close="RechargeDialogVisiblehandleClose" :close-on-click-modal="false" width="480px"> |
|
|
<!-- 内容整体居中且收窄 --> |
|
|
<!-- 内容整体居中且收窄 --> |
|
|
<div class="confirm-body"> |
|
|
<div class="confirm-body"> |
|
|
<!-- 用户信息 --> |
|
|
<!-- 用户信息 --> |
|
|
<div> |
|
|
<div> |
|
|
<div class="field-label">{{ $t('common_add.userInfo') }}</div> |
|
|
<div class="field-label">{{ $t('common_add.userInfo') }}</div> |
|
|
<el-input :model-value="user.jwcode + (user.name ? '【' + user.name + '】' : '')" disabled/> |
|
|
|
|
|
|
|
|
<el-input :model-value="user.jwcode + (user.name ? '【' + user.name + '】' : '')" disabled /> |
|
|
</div> |
|
|
</div> |
|
|
<!-- 活动名称 --> |
|
|
<!-- 活动名称 --> |
|
|
<div class="field"> |
|
|
<div class="field"> |
|
|
<div class="field-label">{{ $t('common_add.activity') }}</div> |
|
|
<div class="field-label">{{ $t('common_add.activity') }}</div> |
|
|
<el-input v-model="recharge.activity" disabled/> |
|
|
|
|
|
|
|
|
<el-input v-model="recharge.activity" disabled /> |
|
|
</div> |
|
|
</div> |
|
|
<!-- 金币信息(同一行左右排列) --> |
|
|
<!-- 金币信息(同一行左右排列) --> |
|
|
<el-row :gutter="20" class="coins-row"> |
|
|
<el-row :gutter="20" class="coins-row"> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<div class="field"> |
|
|
<div class="field"> |
|
|
<div class="field-label">{{ $t('common_add.permanentGold') }}</div> |
|
|
<div class="field-label">{{ $t('common_add.permanentGold') }}</div> |
|
|
<el-input v-model="recharge.permanentGold" disabled/> |
|
|
|
|
|
|
|
|
<el-input v-model="recharge.permanentGold" disabled /> |
|
|
</div> |
|
|
</div> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<div class="field"> |
|
|
<div class="field"> |
|
|
<div class="field-label">{{ $t('common_add.freeGold') }}</div> |
|
|
<div class="field-label">{{ $t('common_add.freeGold') }}</div> |
|
|
<el-input v-model="recharge.freeGold" disabled/> |
|
|
|
|
|
|
|
|
<el-input v-model="recharge.freeGold" disabled /> |
|
|
</div> |
|
|
</div> |
|
|
</el-col> |
|
|
</el-col> |
|
|
</el-row> |
|
|
</el-row> |
|
|
<!-- 风险提示 --> |
|
|
<!-- 风险提示 --> |
|
|
<div style="display: flex; align-items: center; margin-top: 20px;"> |
|
|
<div style="display: flex; align-items: center; margin-top: 20px;"> |
|
|
<el-icon :size="24" color="#FFD700"> |
|
|
<el-icon :size="24" color="#FFD700"> |
|
|
<WarnTriangleFilled/> |
|
|
|
|
|
|
|
|
<WarnTriangleFilled /> |
|
|
</el-icon> |
|
|
</el-icon> |
|
|
<p>{{ $t('common_add.prompt') }}</p> |
|
|
<p>{{ $t('common_add.prompt') }}</p> |
|
|
</div> |
|
|
</div> |
|
|
<!-- 记录 + 虚线分隔 --> |
|
|
<!-- 记录 + 虚线分隔 --> |
|
|
<div> |
|
|
<div> |
|
|
<el-divider border-style="dashed"/> |
|
|
|
|
|
|
|
|
<el-divider border-style="dashed" /> |
|
|
<p>{{ $t('common_add.similarRechargeRecords') }}</p> |
|
|
<p>{{ $t('common_add.similarRechargeRecords') }}</p> |
|
|
· {{ moment(ReadCookiesValue.payTime).format('YYYY-MM-DD HH:mm:ss') }} {{ $t('common_add.rechargePermanentGold') }}: {{ recharge.permanentGold }} |
|
|
|
|
|
{{ $t('common_add.freeGold') }}: {{ recharge.freeGold }} {{ $t('common_add.orderStatus')}}: {{ orderStatus }}({{ $t('common_add.operator') }}:{{ adminData.adminName }}) |
|
|
|
|
|
|
|
|
· {{ moment(ReadCookiesValue.payTime).format('YYYY-MM-DD HH:mm:ss') }} {{ |
|
|
|
|
|
$t('common_add.rechargePermanentGold') |
|
|
|
|
|
}}: {{ recharge.permanentGold }} |
|
|
|
|
|
{{ $t('common_add.freeGold') }}: {{ recharge.freeGold }} {{ $t('common_add.orderStatus') }}: {{ orderStatus |
|
|
|
|
|
}}({{ |
|
|
|
|
|
$t('common_add.operator') }}:{{ adminData.adminName }}) |
|
|
</div> |
|
|
</div> |
|
|
<div style="margin-top: 10px"> |
|
|
<div style="margin-top: 10px"> |
|
|
<p>{{ $t('common_add.continueOperation') }}</p> |
|
|
<p>{{ $t('common_add.continueOperation') }}</p> |
|
|
@ -932,7 +809,8 @@ onMounted(() => { |
|
|
<template #footer> |
|
|
<template #footer> |
|
|
<div class="dialog-footer-center"> |
|
|
<div class="dialog-footer-center"> |
|
|
<el-button @click="RechargeDialogVisibleCancel">{{ $t('common.cancel') }}</el-button> |
|
|
<el-button @click="RechargeDialogVisibleCancel">{{ $t('common.cancel') }}</el-button> |
|
|
<el-button type="primary" @click="RechargeDialogVisibleContinue">{{ $t('common.confirmRecharge') }}</el-button> |
|
|
|
|
|
|
|
|
<el-button type="primary" @click="RechargeDialogVisibleContinue">{{ $t('common.confirmRecharge') |
|
|
|
|
|
}}</el-button> |
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
@ -941,7 +819,6 @@ onMounted(() => { |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<style scoped lang="scss"> |
|
|
<style scoped lang="scss"> |
|
|
|
|
|
|
|
|
.userAndForm { |
|
|
.userAndForm { |
|
|
width: 1150px; |
|
|
width: 1150px; |
|
|
height: 100%; |
|
|
height: 100%; |
|
|
@ -963,7 +840,7 @@ onMounted(() => { |
|
|
margin-left: 100px; |
|
|
margin-left: 100px; |
|
|
display: flex; |
|
|
display: flex; |
|
|
|
|
|
|
|
|
.customer-info{ |
|
|
|
|
|
|
|
|
.customer-info { |
|
|
width: 90%; |
|
|
width: 90%; |
|
|
display: flex; |
|
|
display: flex; |
|
|
margin-left: 20px; |
|
|
margin-left: 20px; |
|
|
|