Browse Source

Merge branch 'milestone-20250623-金币前端' of http://39.101.133.168:8807/huangqizhen/gold-vue into lihuilin/feature-20250623164044-金币前端

lihuilin/feature-20250623164044-金币前端
lihuilin 4 weeks ago
parent
commit
1455d6ece5
  1. 4
      .env.development
  2. 2
      .env.production
  3. 2
      .env.test
  4. 7
      src/views/audit/rechargeAudit.vue
  5. 2
      src/views/audit/refundAudit.vue
  6. 158
      src/views/consume/addCoinConsume.vue
  7. 11
      src/views/consume/coinConsumeDetail.vue
  8. 13
      src/views/home.vue
  9. 62
      src/views/managerecharge/rate.vue
  10. 132
      src/views/recharge/addCoinRecharge.vue
  11. 2
      src/views/recharge/coinRechargeDetail.vue
  12. 63
      src/views/refund/addCoinRefund.vue
  13. 45
      src/views/refund/coinRefundDetail.vue
  14. 15
      src/views/usergold/clientCountDetail.vue

4
.env.development

@ -1,5 +1,3 @@
# VITE_API_BASE='https://hwjb.homilychart.com/admin'
# VITE_API_BASE='https://hwjb.homilychart.com/gold_htms_dev'
VITE_API_BASE='http://192.168.8.242:8081/'
VITE_API_BASE='https://hwjb.homilychart.com/dev/admin'
VITE_UPLOAD_URL=http://39.101.133.168:8828/hljw/api/aws/upload

2
.env.production

@ -1,5 +1,3 @@
# VITE_API_BASE='http://54.251.137.151:10702/'
VITE_API_BASE='https://hwjb.homilychart.com/prod'
# VITE_API_BASE='https://hwjb.homilychart.com/gold_htms_dev'
# VITE_API_BASE='http://192.168.8.232:8080/'
VITE_UPLOAD_URL=https://api.homilychart.com/hljw/api/aws/upload

2
.env.test

@ -1,4 +1,4 @@
# VITE_API_BASE='https://hwjb.homilychart.com/gold_htms_prod'
VITE_API_BASE='https://hwjb.homilychart.com/admin/'
VITE_API_BASE='https://hwjb.homilychart.com/dev/admin/'
# VITE_API_BASE='http://18.143.76.3:10704/'
VITE_UPLOAD_URL=https://api.homilychart.com/hljw/api/aws/upload

7
src/views/audit/rechargeAudit.vue

@ -194,7 +194,6 @@ const rechargeAudit = ref({
startTime: "", //
endTime: "", //
market: "", //
auditStatus: "0"
})
//
@ -234,8 +233,8 @@ const payModel = [
label: '刷卡'
},
{
value: '其他(各地区电子支付)',
label: '其他(各地区电子支付)'
value: '其他(各地区电子支付)',
label: '其他(各地区电子支付)'
},
]
// ref
@ -349,7 +348,7 @@ const resetSearch = function () {
startTime: "",
endTime: "",
market: "",
auditStatus: "0"
auditStatus: rechargeAudit.value.auditStatus
}
getTime.value = []
getRecharge()

2
src/views/audit/refundAudit.vue

@ -236,7 +236,7 @@ const handleSortChange = (column) => {
} else if (column.prop === 'permanentGold') {
sortField.value = 'permanent_gold'
} else if (column.prop === 'freeGold') {
sortField.value = 'free_gold'
sortField.value = 'freeGold'
}else if (column.prop === 'taskGold') {
sortField.value = 'task_gold'
}else if (column.prop === 'createTime') {

158
src/views/consume/addCoinConsume.vue

@ -64,16 +64,27 @@ const addConsume = ref({
const Ref = ref(null);
//
const rules = reactive({
jwcode: [{required: true, message: "请输入精网号", trigger: "blur"}],
goodsName: [{required: true, message: "请选择消费商品", trigger: "change"}], // change
jwcode: [
{required: true, message: "请输入精网号", trigger: "blur"},
// { type: 'number', message: "", trigger: "blur" }
],
goodsName: [{required: true, message: "请选择消费商品", trigger: "blur"}],
sumGold: [
{required: true, message: "消费金币总数不能为空", trigger: "blur"},
{ required: true, message: "消费金币总数不能为空", trigger: "blur" },
{
pattern: /^\d+(\.\d+)?$/,
message: "存在负数或数字格式不正确,请输入正数",
validator: (rule, value, callback) => {
// 00.10
const isValid = /^(0\.\d{1,2})|([1-9]\d*(\.\d{1,2})?)$/.test(value);
if (!isValid) {
callback(new Error("请输入大于0的正数(可包含最多两位小数)"));
} else {
callback();
}
},
trigger: "blur"
}
],
]
});
//
const goods = ref([]);
@ -99,6 +110,7 @@ const getAdminData = async function () {
}
};
//
function validateInput() {
const sumGold = parseFloat(addConsume.value.sumGold);
@ -107,7 +119,7 @@ function validateInput() {
if (user.value.jwcode == null) {
ElMessage.warning("请先查询用户信息");
addConsume.value.sumGold = null;
user.value = {};
user.value = {};
return false;
}
@ -120,6 +132,53 @@ function validateInput() {
return false;
}
*/
// sumGold 0.1 0.1
if (addConsume.value.sumGold && addConsume.value.sumGold.toString().startsWith('.')) {
addConsume.value.sumGold = '0' + addConsume.value.sumGold;
// ElMessage.info('0');
}
//
if (sumGold < 0) {
ElMessage.warning("消费金币总数不能为负数");
addConsume.value.sumGold = null;
return false;
}
// 2 6
if (addConsume.value.sumGold) {
const sumGoldStr = addConsume.value.sumGold.toString();
//
if (sumGoldStr.includes('.')) {
const integerPart = sumGoldStr.split('.')[0];
if (integerPart.length > 6) {
// 6
const truncatedInteger = integerPart.slice(0, 6);
addConsume.value.sumGold = parseFloat(truncatedInteger);
ElMessage.info('整数部分最多允许6位');
return; //
}
} else {
//
if (sumGoldStr.length > 6) {
addConsume.value.sumGold = parseFloat(sumGoldStr.slice(0, 6));
ElMessage.info('整数部分最多允许6位');
return;
}
}
//
if (sumGoldStr.includes('.')) {
const decimalPart = sumGoldStr.split('.')[1];
if (decimalPart.length > 2) {
//
const truncatedValue = parseFloat(sumGoldStr.slice(0, sumGoldStr.indexOf('.') + 3));
addConsume.value.sumGold = truncatedValue;
ElMessage.info('最多允许输入两位小数');
}
}
}
//
@ -284,47 +343,72 @@ const addBefore = () => {
};
//
const getUser = async function (jwcode) {
trimJwCode();
try {
//
if (!jwcode) {
ElMessage.warning('精网号不能为空');
return;
}
//
if (!/^\d+$/.test(jwcode)) {
ElMessage.warning('精网号必须为数字');
resetForm()
return;
}
// POST
const result = await request({
// url: "user/selectUser",
url: "/user/selectUser",
data: {
//
jwcode: addConsume.value.jwcode,
},
data: { jwcode }
});
console.log("请求成功", result);
if (result.code === 200 && result.data !== null) {
user.value = result.data;
user.value.nowPermanentGold = result.data.nowPermanentGold / 100;
user.value.nowFreeGold = result.data.nowFreeGold / 100;
user.value.nowSumGold = result.data.nowSumGold / 100;
user.value.nowTaskGold = result.data.nowTaskGold / 100;
user.value.nowFreeJune = (result.data.nowFreeJune) / 100;
user.value.nowFreeDecember = (result.data.nowFreeDecember) / 100;
user.value.historySumGold = (result.data.historySumGold) / 100;
user.value.historyPermanentGold = (result.data.historyPermanentGold) / 100;
user.value.historyFreeGold = (result.data.historyFreeGold) / 100;
user.value.historyTaskGold = (result.data.historyTaskGold) / 100;
} else if (result.data == null){
if (result.code === 200 && result.data) {
//
user.value = {
...result.data,
// 100
nowPermanentGold: result.data.nowPermanentGold / 100,
nowFreeGold: result.data.nowFreeGold / 100,
nowSumGold: result.data.nowSumGold / 100,
nowTaskGold: result.data.nowTaskGold / 100,
nowFreeJune: result.data.nowFreeJune / 100,
nowFreeDecember: result.data.nowFreeDecember / 100,
historySumGold: result.data.historySumGold / 100,
historyPermanentGold: result.data.historyPermanentGold / 100,
historyFreeGold: result.data.historyFreeGold / 100,
historyTaskGold: result.data.historyTaskGold / 100
};
ElMessage.success("查询成功");
// sumGold
if (addConsume.value.sumGold) {
const parsedSumGold = parseFloat(addConsume.value.sumGold);
if (!isNaN(parsedSumGold) && parsedSumGold > 0) {
const {free, permanent, task} = calculateCoins(parsedSumGold);
addConsume.value.freeGold = free;
addConsume.value.permanentGold = permanent;
addConsume.value.taskGold = task;
}
}
//
validateInput()
} else if (!result.data) {
ElMessage.warning("用户不存在");
//
resetForm();
}
else if (result.code === 0 ) {
ElMessage.warning("请检查查询参数")
user.value.jwcode = null
addConsume.value.jwcode = null
// resetForm(); //
} else {
console.log("用户信息", user.value);
ElMessage.success(result.msg);
ElMessage.warning(result.msg || "请检查查询参数");
}
} catch (error) {
console.log("请求失败", error);
ElMessage.error("查询失败,请检查精网号是否正确");
//
console.error("请求失败", error);
ElMessage.error("查询失败,请检查网络连接或精网号是否正确");
resetForm(); //
}
};
// ()

11
src/views/consume/coinConsumeDetail.vue

@ -95,6 +95,7 @@ const taskGolds = ref(0)
const goods = ref([])
const totalGoldSearch = ref({
jwcode: null,
payPlatform: "",
market: "",
startTime: "",
@ -177,6 +178,7 @@ const ConsumeSelectBy = async function (val) {
totalGoldSearch.value.payPlatform = consumeUser.value.payPlatform
totalGoldSearch.value.market = consumeUser.value.market
totalGoldSearch.value.goodsName = consumeUser.value.goodsName
totalGoldSearch.value.jwcode = consumeUser.value.jwcode
//
const resultTotalGold = await request({
// url: '/consume/statsGold',
@ -254,6 +256,7 @@ const reset = function () {
consumeUser.value.startTime = ''
consumeUser.value.endTime = ''
consumeUser.value.jwcode = null
sortField.value = ''
@ -430,6 +433,14 @@ onMounted(async function () {
<el-row style="margin-bottom: 10px">
<el-col :span="6">
<div class="head-card-element">
<el-text size="large">精网号</el-text>
<el-input v-model="consumeUser.jwcode" placeholder="请输入精网号" size="large" style="width: 240px"
clearable>
</el-input>
</div>
</el-col>
<el-col :span="6">
<div class="head-card-element">
<el-text class="mx-1" size="large">商品名称</el-text>
<el-select v-model="consumeUser.goodsName" placeholder="请选择商品名称" size="large" style="width: 180px"
clearable>

13
src/views/home.vue

@ -120,6 +120,7 @@ const openExportList = () => {
</script>
<template>
<div class="common-layout">
<el-container>
<el-aside style="
@ -217,7 +218,11 @@ const openExportList = () => {
background: white;
">
<el-menu class="el-menu-demo" mode="horizontal" :ellipsis="false">
<el-badge @click="openExportList" class="item" > <!-- 用的el-badgeBadge 徽章 之后可以加数字 -->
<el-button>查看导出列表</el-button>
</el-badge>
<el-sub-menu index="1" class="admin">
<template #title>
<el-image :src="imgrule1" alt="错误" style="width: 50px; height: 50px" />
@ -225,7 +230,10 @@ const openExportList = () => {
</template>
<el-menu-item @click="message()">查看个人信息</el-menu-item>
<el-menu-item @click="logout">退出登录</el-menu-item>
<el-menu-item index="1-3" @click="openExportList">查看下载列表</el-menu-item>
</el-sub-menu>
</el-menu>
</el-header>
<el-main style="margin-top: 60px">
@ -296,7 +304,10 @@ const openExportList = () => {
font-size: 16px;
font-weight: bold;
}
.item {
margin-top: 20px;
margin-right: 40px;
}
.admin {
margin-left: auto;
}

62
src/views/managerecharge/rate.vue

@ -208,17 +208,28 @@ const editRate = async function () {
}
}
//
//
const edit = () => {
ElMessageBox.confirm('确认修改?')
.then(() => {
editRate()
regeEdit.value = false
})
.catch(() => {
regeEdit.value = false
})
}
editFormRef.value.validate(async (valid) => {
if (valid) {
try {
await ElMessageBox.confirm("确认修改?");
await editRate();
console.log("修改成功");
regeEdit.value = false;
} catch (error) {
console.log("取消修改", error);
regeEdit.value = false;
}
} else {
ElMessage({
type: "error",
message: "请检查输入内容",
});
}
});
};
//
const cancelEdit = () => {
@ -269,12 +280,27 @@ function handleInput(value) {
value = value.substring(1);
}
//
//
if (value.includes('.')) {
const parts = value.split('.')
//
if (parts[0].length > 6) {
parts[0] = parts[0].slice(0, 6)
ElMessage.info('整数部分最多允许六位')
}
//
if (parts[1].length > 2) {
value = parts[0] + '.' + parts[1].slice(0, 2)
parts[1] = parts[1].slice(0, 2)
value = parts[0] + '.' + parts[1]
ElMessage.info('最多允许两位小数')
} else {
value = parts[0] + '.' + parts[1]
}
} else {
//
if (value.length > 6) {
value = value.slice(0, 6)
ElMessage.info('整数部分最多允许六位')
}
}
@ -284,7 +310,6 @@ function handleInput(value) {
//
// ElMessage.info('0');
}
//
rateEdit.value.num = value;
@ -393,6 +418,7 @@ onMounted(async function () {
ref="editFormRef"
style="max-width: 600px"
:model="rateEdit"
:rules="rules"
label-width="auto"
class="demo-ruleForm"
@ -413,19 +439,19 @@ onMounted(async function () {
/>
</el-select>
</el-form-item>
<el-form-item prop="num" label="汇率:">
<el-input
v-model="rateEdit.num"
@update:modelValue="handleInput"
style="width: 120px"
/>
<p class="unit">:1</p>
<p class="rate-tip">
<span class="unit">:1</span>
<span class="rate-tip">
(提示当前规则每
<span>{{ rateEdit.num }}</span>
<span>{{ rateEdit.rateName }}</span>
可兑换 1 新币)
</p>
<span>{{ rateEdit.rateName }}</span>可兑换 1 新币)
</span>
</el-form-item>
<el-form-item label="提交人:">
<el-input disabled :value="adminData.adminName" style="width: 240px"/>

132
src/views/recharge/addCoinRecharge.vue

@ -186,6 +186,23 @@ const rules = reactive({
callback(new Error('不能包含特殊符号或负数'));
return;
}
//
const integerPart = value.split('.')[0];
if (integerPart.length > 6) {
callback(new Error('整数位数不能超过6位'));
return;
}
//
if (value.includes('.')) {
const decimalPart = value.split('.')[1];
if (decimalPart.length > 2) {
callback(new Error('小数位数不能超过两位'));
return;
}
}
const numValue = Number(value);
if (isNaN(numValue)) {
callback(new Error('请输入有效的数字'));
@ -207,6 +224,23 @@ const rules = reactive({
callback(new Error('不能包含特殊符号或负数'));
return;
}
//
const integerPart = value.split('.')[0];
if (integerPart.length > 6) {
callback(new Error('整数位数不能超过6位'));
return;
}
//
if (value.includes('.')) {
const decimalPart = value.split('.')[1];
if (decimalPart.length > 2) {
callback(new Error('小数位数不能超过两位'));
return;
}
}
const numValue = Number(value);
if (isNaN(numValue)) {
callback(new Error('请输入有效的数字'));
@ -225,22 +259,44 @@ const rules = reactive({
trigger: 'blur'
}],
money: [{
required: true,
message: '请输入充值金额',
trigger: 'blur'
}, {
validator: (rule, value, callback) => {
if (!value) {
callback(new Error('请输入充值金额'));
} else if (value < 0) {
callback(new Error('金额不能小于0'));
} else {
callback();
}
},
trigger: 'blur'
}],
money: [
{ required: true, message: '请输入充值金额', trigger: 'blur' },
{
validator: (rule, value, callback) => {
//
if (/[^0-9.]/.test(value)) {
callback(new Error('不能包含特殊符号或负数'));
return;
}
//
const integerPart = value.split('.')[0];
if (integerPart.length > 6) {
callback(new Error('整数位数不能超过6位'));
return;
}
//
if (value.includes('.')) {
const decimalPart = value.split('.')[1];
if (decimalPart.length > 2) {
callback(new Error('小数位数不能超过两位'));
return;
}
}
const numValue = Number(value);
if (isNaN(numValue)) {
callback(new Error('请输入有效的数字'));
} else if (numValue < 0) {
callback(new Error('输入金额不能小于0'));
} else {
callback();
}
},
trigger: 'blur'
}
],
payModel: [{ required: true, message: '请选择付款方式', trigger: 'blur' }],
payTime: [{ required: true, message: '请选择交款时间', trigger: 'blur' }]
});
@ -260,10 +316,12 @@ const getUser = async function (jwcode) {
})
console.log('请求成功', result)
if (result.code === 0) {
ElMessage.error(result.msg);
} else if (result.data === null) {
ElMessage.error("用户不存在");
recharge.value.jwcode = ''
} else {
user.value = result.data;
console.log("用户信息", user.value);
@ -272,32 +330,32 @@ const getUser = async function (jwcode) {
} catch (error) {
console.log("请求失败", error);
ElMessage.error("查询失败,请检查精网号是否正确");
//
recharge.value.jwcode = ''
}
}
//
const activity = ref([])
const getActivity = async function () {
try {
// POST
const result = await API({
url: '/general/activity',
data: {
// 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)
//
}
}
// }
// })
// //
// console.log('', result)
// //
// activity.value = result.data
// console.log('', activity.value)
// } catch (error) {
// console.log('activity', error)
// //
// }
// }
@ -467,7 +525,7 @@ onMounted(() => {
class="add-form"
>
<el-form-item prop="jwcode" label="精网号">
<el-input v-model="recharge.jwcode" style="width: 220px" />
<el-input v-model="recharge.jwcode" style="width: 220px" @blur="getUser(recharge.jwcode)" />
<el-button
type="primary"
@click="getUser(recharge.jwcode)"

2
src/views/recharge/coinRechargeDetail.vue

@ -433,7 +433,7 @@ const handleSortChange = (column) => {
</template>
</el-table-column>
<el-table-column fixed="left" prop="name" label="姓名" width="80px" />
<el-table-column fixed="left" prop="jwcode" label="精网号" width="80px" />
<el-table-column fixed="left" prop="jwcode" label="精网号" width="110px" />
<el-table-column prop="market" label="所属地区" width="100px" />
<el-table-column prop="activity" label="活动名称" width="100px" />
<el-table-column prop="rateName" label="货币名称" width="110px" />

63
src/views/refund/addCoinRefund.vue

@ -192,6 +192,7 @@ const getUser = async function (jwcode) {
ElMessage.error(result.msg);
} else if (result.data === null) {
ElMessage.error("用户不存在");
addRefund.value.jwcode = ''; //
} else {
// 100
const processedData = {
@ -209,6 +210,7 @@ const getUser = async function (jwcode) {
} catch (error) {
console.log("请求失败", error);
ElMessage.error("查询失败,请检查精网号是否正确");
addRefund.value.jwcode = ''; //
}
}
@ -216,30 +218,30 @@ const getUser = async function (jwcode) {
// 退
const refundType = ref([])
// 退退
const refundType = ref([{ value: '商品退款', label: '商品退款' }]);
// 退
const getRefundTypes = async function () {
try {
// 退
const result = await API({
url: '/refund/refundType', //退
data: {} })
console.log('退款类型请求成功', result)
//
if (Array.isArray(result.data)) {
// { value, label }
refundType.value = result.data.map(item => ({ value: item, label: item }));
} else {
console.error('退款类型数据格式错误', result)
ElMessage.error('退款类型数据格式错误,请联系管理员')
}
console.log('退款类型', refundType.value)
} catch (error) {
console.log('退款类型请求失败', error)
}
}
// const getRefundTypes = async function () {
// try {
// // 退
// const result = await API({
// url: '/refund/refundType', //退
// data: {} })
// console.log('退', result)
// //
// if (Array.isArray(result.data)) {
// // { value, label }
// refundType.value = result.data.map(item => ({ value: item, label: item }));
// } else {
// console.error('退', result)
// ElMessage.error('退')
// }
// console.log('退', refundType.value)
// } catch (error) {
// console.log('退', error)
// }
// }
@ -271,9 +273,9 @@ const getGoods = async function (jwcode) {
label: item.goodsName,
key: item.goodsName,
//
permanentGold: (Number(item.permanentGold) || 0) / 100,
freeGold: (Number(item.freeGold) || 0) / 100,
taskGold: (Number(item.taskGold) || 0) / 100
permanentGold: Math.abs(Number(item.permanentGold) || 0) / 100,
freeGold: Math.abs(Number(item.freeGold) || 0) / 100,
taskGold: Math.abs(Number(item.taskGold) || 0) / 100
}));
} else {
console.error('退款类型数据格式错误', result)
@ -383,7 +385,7 @@ const calculatedRechargeGoods = computed(() => {
const permanentGold = addRefund.value.permanentGold === '' ? 0 : +addRefund.value.permanentGold;
const freeGold = addRefund.value.freeGold === '' ? 0 : +addRefund.value.freeGold;
const taskGold = addRefund.value.taskGold === '' ? 0 : +addRefund.value.taskGold;
return Number((permanentGold + freeGold + taskGold).toFixed(8));
return Number((permanentGold + freeGold + taskGold).toFixed(2));
})
watch(calculatedRechargeGoods, (newVal) => {
@ -395,7 +397,7 @@ watch(calculatedRechargeGoods, (newVal) => {
//
onMounted(async function () {
await getAdminData()
await getRefundTypes()
// await getRefundTypes()
// await getGoods()
})
</script>
@ -416,6 +418,7 @@ onMounted(async function () {
v-model="addRefund.jwcode"
style="width: 220px"
@change="getGoods(addRefund.jwcode)"
@blur="getUser(addRefund.jwcode)"
/>
<el-button
type="primary"
@ -468,7 +471,7 @@ onMounted(async function () {
style="width: 100px"
:disabled="addRe.typeR === '0' ? true : false"
@input="handlePermanentGoldInput($event)"
type="number"
>
</el-input>
<p></p>
@ -483,7 +486,7 @@ onMounted(async function () {
style="float: left; width: 100px"
:disabled="addRe.typeR === '0' ? true : false"
@input="handleFreeGoldInput($event)"
type="number"
/>
<p></p>
</el-form-item>
@ -493,7 +496,7 @@ onMounted(async function () {
style="float: left; width: 100px"
:disabled="addRe.typeR === '0' ? true : false"
@input="handleTaskGoldInput($event)"
type="number"
/>
<p></p>
</el-form-item>

45
src/views/refund/coinRefundDetail.vue

@ -390,32 +390,13 @@ const handleCurrentChange = function (val) {
/>
</div>
</el-col>
<el-col :span="6">
<div class="head-card-element">
<el-text class="mx-1" >退款类型</el-text>
<el-select
v-model="refundUser.refundType"
placeholder="请选择退款类型"
style="width: 180px"
clearable
>
<!-- todo 这需要改-->
<el-option
v-for="item in refundType"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</el-col>
<el-col :span="6">
<div class="head-card-element">
<el-text class="mx-1" >退款商品</el-text>
<el-text class="mx-1" >商品名称</el-text>
<el-select
v-model="refundUser.goodsName"
placeholder="请选择退款商品"
placeholder="请选择商品名称"
style="width: 180px"
clearable
@ -449,6 +430,26 @@ const handleCurrentChange = function (val) {
</el-select>
</div>
</el-col>
<el-col :span="6">
<div class="head-card-element">
<el-text class="mx-1" >退款类型</el-text>
<el-select
v-model="refundUser.refundType"
placeholder="请选择退款类型"
style="width: 180px"
clearable
>
<!-- todo 这需要改-->
<el-option
v-for="item in refundType"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</el-col>
</el-row>
<el-row>
<el-col :span="21">

15
src/views/usergold/clientCountDetail.vue

@ -191,7 +191,7 @@ const get = async function (val) {
//6+12
const totalResult = await API({
const totalResult = await API({
url: '/goldDetail/getTotal',
method: 'post',
data: {
@ -394,10 +394,10 @@ onMounted(async function () {
<el-col>
<el-card>
<div>
金币总数{{ Math.abs(totalGoldTotal) / 100 }}
永久金币{{ Math.abs(totalPermanentGold) / 100 }}
免费金币{{ Math.abs(totalFreeGold) / 100 }}
任务金币{{ Math.abs(totalTaskGold) / 100 }}
金币总数{{ (totalGoldTotal) / 100 }}
永久金币{{ (totalPermanentGold) / 100 }}
免费金币{{ (totalFreeGold) / 100 }}
任务金币{{(totalTaskGold) / 100 }}
</div>
<div style="height: 584px; overflow-y: auto">
<el-table :data="tableData" style="width: 100%" @sort-change="handleSortChange" height="584px">
@ -426,13 +426,14 @@ onMounted(async function () {
<el-table-column prop="sumGold" sortable="custom" label="金币数量" width="110">
<template #default="scope">
<span>
<!-- <span>
{{
scope.row.type === 1 //
? - scope.row.sumGold / 100
: scope.row.sumGold / 100
}}
</span>
</span> -->
<span>{{ scope.row.sumGold / 100 }}</span>
</template>
</el-table-column>

Loading…
Cancel
Save