Browse Source

merge success-20250704

lihuilin/feature-20250623164044-金币前端
zry 13 hours ago
parent
commit
3ba3bd0e4f
  1. 4
      src/views/audit/rechargeAudit.vue
  2. 6
      src/views/audit/refundAudit.vue
  3. 6
      src/views/consume/addCoinConsume.vue
  4. 45
      src/views/recharge/addCoinRecharge.vue
  5. 16
      src/views/recharge/coinRechargeDetail.vue
  6. 28
      src/views/refund/addCoinRefund.vue
  7. 29
      src/views/refund/coinRefundDetail.vue
  8. 7
      src/views/usergold/clientCountDetail.vue

4
src/views/audit/rechargeAudit.vue

@ -47,8 +47,12 @@
</el-col>
<<<<<<< HEAD
=======
>>>>>>> zhangrenyuan/feature-20250623164058-金币前端
</el-row>
</el-card>
</el-col>

6
src/views/audit/refundAudit.vue

@ -38,13 +38,11 @@
<el-button @click="getToday()" style="margin-left: 10px"></el-button>
<el-button @click="getYesterday()" style="margin-left: 10px"></el-button>
<el-button @click="get7Days()" style="margin-left: 10px">近7天</el-button>
<el-button type="success" @click="resetSearch">重置</el-button>
<el-button type="primary" @click="handleSearch">查询</el-button>
</div>
</div>
</el-col>
<el-col :span="6">
<el-button type="success" @click="resetSearch">重置</el-button>
<el-button type="primary" @click="handleSearch">查询</el-button>
</el-col>
</el-row>
</el-card>
</div>

6
src/views/consume/addCoinConsume.vue

@ -84,7 +84,11 @@ const getAdminData = async function () {
});
adminData.value = result;
addConsume.value.adminId = adminData.value.id;
<<<<<<< HEAD
addConsume.value.name = adminData.value.adminName;
=======
addConsume.value.name = adminData.value.name;
>>>>>>> zhangrenyuan/feature-20250623164058-金币前端
console.log("请求成功", result);
console.log("用户信息", adminData.value);
} catch (error) {
@ -221,7 +225,7 @@ function resetForm() {
permanentGold: null,
taskGold: null,
remark: "",
adminId: adminData.value.adminId,
adminId: adminData.value.id,
adminName: adminData.value.adminName,
};

45
src/views/recharge/addCoinRecharge.vue

@ -10,7 +10,7 @@ import { range, re } from 'mathjs'
import { utils, read } from 'xlsx'
import throttle from 'lodash/throttle'
// fixedAdminId
const fixedAdminId = 1;
// const fixedAdminId = 1;
//
const trimJwCode = () => {
@ -37,6 +37,7 @@ const imageUrl = ref('')
const voucher = ref('')
const Rate = ref()
const adminData = ref({})
//
const getAdminData = async function () {
try {
const result = await API({
@ -44,7 +45,7 @@ const getAdminData = async function () {
data: {}
})
adminData.value = result
recharge.value.adminId = adminData.value.adminId
recharge.value.adminId = adminData.value.id
recharge.value.market = adminData.value.market
console.log('请求成功', result)
console.log('用户信息', user.value)
@ -73,10 +74,7 @@ const recharge = ref({
const add = async function () {
try {
const formattedRecharge = { ...recharge.value,
// adminId
adminId: fixedAdminId
}
const formattedRecharge = { ...recharge.value}
// 100
if (formattedRecharge.permanentGold) {
@ -110,7 +108,7 @@ const add = async function () {
ElMessage.success('添加成功')
//
recharge.value = {}
recharge.value.adminId = adminData.value.adminId
recharge.value.adminId = adminData.value.id
recharge.value.market = adminData.value.market
recharge.value.voucher = ''
recharge.value.rechargeWay = '客服充值'
@ -250,7 +248,7 @@ const getUser = async function (jwcode) {
}
}
//
//
const activity = ref([])
const getActivity = async function () {
try {
@ -365,8 +363,8 @@ function handleActivityChange(value) {
//
const deleteRecharge = function () {
recharge.value = {
// adminId: adminData.value.adminId,
adminId: fixedAdminId,
adminId: adminData.value.id,
//adminId: fixedAdminId,
market: adminData.value.market,
voucher: '',
rechargeWay: '客服充值',
@ -383,7 +381,7 @@ const deleteRecharge = function () {
onMounted(async function () {
await getAdminData()
// await getCurrency()
await getActivity()
await getActivity()//
})
</script>
@ -409,7 +407,7 @@ onMounted(async function () {
>查询</el-button
>
</el-form-item>
<el-form-item prop="activity" label="活动名称">
<!-- <el-form-item prop="activity" label="活动名称">
<el-select
v-model="recharge.activity"
placeholder="请选择"
@ -423,6 +421,13 @@ onMounted(async function () {
:value="item"
/>
</el-select>
</el-form-item> -->
<el-form-item prop="activity" label="活动名称">
<el-input
v-model="recharge.activity"
placeholder="请输入活动名称"
style="width: 300px"
/>
</el-form-item>
<el-form-item prop="permanentGold" label="永久金币">
<el-input v-model="recharge.permanentGold" style="width: 100px" />
@ -548,14 +553,14 @@ onMounted(async function () {
<el-form-item label="历史金币总数">
<!-- 检查 user.historySumGold 是否为有效的数字 -->
<p style="color: #2fa1ff; margin-right: 5px" v-if="!isNaN(Number(user.historySumGold))">
{{ Number(user.historySumGold ) }}
{{ Number(user.historySumGold ) /100 }}
</p>
<span
style="display: inline; white-space: nowrap; color: #b1b1b1"
v-if="user.historyPermanentGold !== undefined"
>(永久金币:{{ user.historyPermanentGold }};免费金币:{{
(user.historyFreeGold)
}};任务金币:{{ user.historyTaskGold }})</span>
>(永久金币:{{ user.historyPermanentGold /100 }};免费金币:{{
(user.historyFreeGold) /100
}};任务金币:{{ user.historyTaskGold /100}})</span>
<!-- 如果不是有效的数字显示默认值 -->
<p v-else></p>
</el-form-item>
@ -571,15 +576,15 @@ onMounted(async function () {
style="color: #2fa1ff; margin-right: 5px"
v-if="user.nowPermanentGold !== undefined"
>{{
(user.nowSumGold)
(user.nowSumGold) /100
}}</span
>
<span
style="display: inline; white-space: nowrap; color: #b1b1b1"
v-if="user.nowPermanentGold !== undefined"
>(永久金币:{{ user.nowPermanentGold}};免费金币:{{
(user.nowFreeGold)
}};任务金币:{{ user.nowTaskGold }})</span
>(永久金币:{{ user.nowPermanentGold /100}};免费金币:{{
(user.nowFreeGold) /100
}};任务金币:{{ user.nowTaskGold /100}})</span
>
</el-form-item>
</el-col>

16
src/views/recharge/coinRechargeDetail.vue

@ -12,7 +12,7 @@ const getAdminData = async function () {
try {
const result = await API({ url: '/admin/userinfo', data: {} })
adminData.value = result
rechargeUser.value.adminId = adminData.value.adminId
rechargeUser.value.adminId = adminData.value.id
console.log('请求成功', result)
console.log('用户信息', adminData.value)
} catch (error) {
@ -25,7 +25,7 @@ const tableData = ref([])
// ===========================================
// recharge
const rechargeUser = ref({
adminId: adminData.value.adminId
adminId: adminData.value.id
})
//
const getObj = ref({
@ -205,8 +205,8 @@ const get = async function (val) {
const data = resultTotalGold.data
console.log('获取到的金币数据:', data)
permanentGolds.value = (Number(data.permanentGolds) || 0) / 100
freeGolds.value = (Number(data.freeGolds) || 0) / 100
permanentGolds.value = (Number(data.permanentGolds) || 0)
freeGolds.value = (Number(data.freeGolds) || 0)
}
@ -352,7 +352,7 @@ const handleSortChange = (column) => {
} else if (column.prop === 'permanentGold') {
sortField.value = 'permanentGold'
}
sortOrder.value = column.order === 'ascending' ? '1' : '0'
sortOrder.value = column.order === 'ascending' ? 'ASC' : 'DESC'
console.log('传递给后端的排序字段:', sortField.value)
console.log('传递给后端的排序方式:', sortOrder.value)
get()
@ -418,9 +418,9 @@ const handleSortChange = (column) => {
<el-col>
<el-card>
<div>
充值金额{{ (permanentGolds + freeGolds).toFixed(2) }}新币永久金币{{
permanentGolds.toFixed(2)
}}金币免费金币{{ freeGolds }}金币
充值金额{{ (permanentGolds ) /100 }}新币永久金币{{
permanentGolds /100
}}金币免费金币{{ freeGolds /100 }}金币
</div>
<!-- 设置表格容器的高度和滚动样式 -->
<div style="height: 520px; overflow-y: auto;margin-top: 10px;">

28
src/views/refund/addCoinRefund.vue

@ -22,7 +22,7 @@ const getAdminData = async function () {
try {
const result = await API({ url: '/admin/userinfo', data: {} })
adminData.value = result
addRefund.value.adminId = adminData.value.adminId
addRefund.value.adminId = adminData.value.id
console.log('请求成功', result)
console.log('用户信息', user.value)
} catch (error) {
@ -61,7 +61,7 @@ const cancel = function () {
taskGold: '',
sumGold: 0,
remark: '',
adminId: adminData.value.adminId
adminId: adminData.value.id
}
addRe.value.typeR = '0'
}
@ -81,8 +81,7 @@ const add = async function () {
permanentGold: (Number(addRefund.value.permanentGold) || 0) * 100,
freeGold: (Number(addRefund.value.freeGold) || 0) * 100,
taskGold: (Number(addRefund.value.taskGold) || 0) * 100,
sumGold: (Number(addRefund.value.sumGold) || 0) * 100,
adminId: 1
sumGold: (Number(addRefund.value.sumGold) || 0) * 100
}
// POST
@ -272,6 +271,16 @@ const selectedGoodsGold = ref({
taskGold: 0
})
// 退退退退
const handleRefundModelChange = () =>{
if (addRe.value.typeR === '0') {
// 退
addRefund.value.permanentGold = selectedGoodsGold.value.permanentGold;
addRefund.value.freeGold = selectedGoodsGold.value.freeGold;
addRefund.value.taskGold = selectedGoodsGold.value.taskGold;
}
}
const handleSelectionChange = (selectedOption) => {
if (selectedOption) {
//
@ -298,6 +307,11 @@ const validateGoldInput = (type, value) => {
if (isNaN(inputValue)) {
return 0;
}
if (inputValue > maxValue) {
//
ElMessage.warning('所填金额大于该类金币余额');
return maxValue;
}
return Math.min(inputValue, maxValue);
}
@ -321,7 +335,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 permanentGold + freeGold + taskGold;
return Number((permanentGold + freeGold + taskGold).toFixed(8));
})
watch(calculatedRechargeGoods, (newVal) => {
@ -393,8 +407,8 @@ onMounted(async function () {
</el-form-item>
<el-form-item prop="refundModel" label="退款方式:">
<el-radio-group v-model="addRe.typeR">
<el-radio value="0" @change="addRe.typeR = '0'">全部退款</el-radio>
<el-radio-group v-model="addRe.typeR" @change="handleRefundModelChange">
<el-radio value="0">全部退款</el-radio>
<el-radio value="1">部分退款</el-radio>
</el-radio-group>
</el-form-item>

29
src/views/refund/coinRefundDetail.vue

@ -63,7 +63,7 @@ const freeGolds = ref(0)
const taskGolds = ref(0)
//
const sumGold = computed(() => permanentGolds.value + freeGolds.value + taskGolds.value)
const sumGolds = computed(() => permanentGolds.value + freeGolds.value + taskGolds.value)
// 退
const refundType = ref([])
@ -182,6 +182,7 @@ const reset = function () {
sortField.value = ''
sortOrder.value = ''
getTime.value = {}
getSelectBy()
}
//
const getToday = function () {
@ -346,15 +347,17 @@ const handleSortChange = (column) => {
console.log('排序字段:', column.prop)
console.log('排序方式:', column.order)
if (column.prop === 'permanentGold') {
sortField.value = 'permanent_gold'
sortField.value = 'permanentGold'
} else if (column.prop === 'taskGold') {
sortField.value = 'task_gold'
sortField.value = 'taskGold'
} else if (column.prop === 'freeGold') {
sortField.value = 'free_gold'
sortField.value = 'freeGold'
} else if (column.prop === 'createTime') {
sortField.value = 'create_time'
sortField.value = 'createTime'
} else if (column.prop === 'auditTime') {
sortField.value = 'audit_time'
sortField.value = 'auditTime'
} else if (column.prop === 'sumGold') {
sortField.value = 'sumGold'
}
sortOrder.value = column.order === 'ascending' ? 'ASC' : 'DESC'
getSelectBy()
@ -478,7 +481,7 @@ const handleCurrentChange = function (val) {
<el-col>
<el-card>
<div>
退款金币总数{{ Math.abs(sumGold) / 100 }}永久金币{{
退款金币总数{{ Math.abs(sumGolds) / 100 }}永久金币{{
Math.abs(permanentGolds) / 100
}}免费金币{{ Math.abs(freeGolds) / 100 }}任务金币{{
Math.abs(taskGolds) / 100
@ -521,13 +524,21 @@ const handleCurrentChange = function (val) {
<el-table-column prop="goodsName" label="商品名称" width="100px" />
<el-table-column prop="refundType" label="退款类型" width="100px" />
<el-table-column label="退款金币总数" width="110px">
<!-- <el-table-column label="金额总数" width="110px">
<template #default="scope">
{{
scope.row.sumGold
}}
</template>
</el-table-column>
</el-table-column> -->
<el-table-column
prop="sumGold"
label="金额总数"
width="110px"
sortable="custom"
/>
<el-table-column prop="refundModel" label="退款方式" width="110px">
<template #default="scope">
{{ scope.row.refundModel === 0 ? '全部退款' : scope.row.refundModel === 1 ? '部分退款' : '' }}

7
src/views/usergold/clientCountDetail.vue

@ -199,6 +199,7 @@ const reset = function () {
delete sortOrder.value
getTime.value = []
delete goldDetail.value.payPlatform
search()
}
//
@ -292,7 +293,7 @@ const sortOrder = ref('')
const handleSortChange = (column) => {
if (column.prop === 'sumGold') {//
sortField.value = 'sum_gold'
} else if (column.prop === ' permanentGold') {
} else if (column.prop === 'permanentGold') {
sortField.value = 'permanent_gold'
} else if (column.prop === 'taskGold') {
sortField.value = 'task_gold'
@ -430,12 +431,12 @@ onMounted(async function () {
</template>
</el-table-column>
<el-table-column prop=" permanentGold" sortable="custom" label="永久金币" width="110">
<el-table-column prop="permanentGold" sortable="custom" label="永久金币" width="110">
<template #default="scope">
<span>{{ scope.row.permanentGold / 100 }}</span>
</template>
</el-table-column>
<el-table-column sortable="custom" label="免费金币" width="110">
<el-table-column prop="freeGold" sortable="custom" label="免费金币" width="110">
<template #default="scope">
<span>{{ calculateFreeGold(scope.row) / 100 }}</span>
</template>

Loading…
Cancel
Save