diff --git a/src/views/audit/rechargeAudit.vue b/src/views/audit/rechargeAudit.vue index 03f853f..250af7b 100644 --- a/src/views/audit/rechargeAudit.vue +++ b/src/views/audit/rechargeAudit.vue @@ -432,7 +432,7 @@ const getActivity = async function () { const getMarket = async function () { try { const result = await request({ - url: 'http://192.168.8.247:8081/general/market', + url: 'http://18.143.76.3:10704/general/market', data: {} }) market.value = result.data diff --git a/src/views/audit/refundAudit.vue b/src/views/audit/refundAudit.vue index ea0b9ed..3ba6d57 100644 --- a/src/views/audit/refundAudit.vue +++ b/src/views/audit/refundAudit.vue @@ -186,21 +186,12 @@ const STATUS = { // 搜索表单数据 const searchForm = ref({ -<<<<<<< HEAD jwcode: null, // 精网号 activity: "", // 活动名称 refundGoods: "", // 退款商品 这个字段是啥 需要修改 market: "", // 所属地区 startTime: "", // 充值时间开始 endTime: "" // 充值时间结束 -======= - jwcode: '', - refundType: '', - refundGoods: '', - area: '', - startTime: '', - endTime: '' ->>>>>>> zhangrenyuan/feature-20250623164058-金币前端 }) // 搜索对象 @@ -386,13 +377,9 @@ const getProducts = async () => { // 查地区 const getMarket = async () => { try { -<<<<<<< HEAD const result = await request({ - url: 'http://192.168.8.247:8081/general/market' // todo 换接口 + url: 'http://18.143.76.3:10704/general/market' // todo 换接口 }) -======= - const result = await request({ url: 'http://18.143.76.3:10704/general/market' }) ->>>>>>> zhangrenyuan/feature-20250623164058-金币前端 areaOptions.value = result.data || [] } catch (error) { console.error('获取地区列表失败', error) @@ -429,14 +416,6 @@ const get = async function (val) { status: getCurrentStatus() } } -<<<<<<< HEAD -======= - // 时间格式化 - if (dateRange.value?.length === 2) { - params.detail.startTime = moment(dateRange.value[0]).format('YYYY-MM-DD HH:mm:ss') - params.detail.endTime = moment(dateRange.value[1]).format('YYYY-MM-DD HH:mm:ss') - } ->>>>>>> zhangrenyuan/feature-20250623164058-金币前端 const result = await request({ url: '/audit/audit/refund', // todo 换接口 @@ -503,21 +482,12 @@ const handleSearch = function () { // 重置 const resetSearch = function () { searchForm.value = { -<<<<<<< HEAD jwcode: null, activity: "", refundGoods: "", market: "", startTime: "", endTime: "" -======= - jwcode: '', - refundType: '', - refundGoods: '', - area: adminInfo.value.area === '总部' ? '' : adminInfo.value.area, - startTime: '', - endTime: '' ->>>>>>> zhangrenyuan/feature-20250623164058-金币前端 } dateRange.value = [] handleSearch() diff --git a/src/views/consume/coinConsumeDetail.vue b/src/views/consume/coinConsumeDetail.vue index 160fab6..cf8c545 100644 --- a/src/views/consume/coinConsumeDetail.vue +++ b/src/views/consume/coinConsumeDetail.vue @@ -150,8 +150,7 @@ const ConsumeSelectBy = async function (val) { // 发送POST请求 const result = await request({ -<<<<<<< HEAD - url: 'http://192.168.8.247:8081/consume/selectBy', + url: 'http://18.143.76.3:10704/consume/selectBy', data: { pageNum: getObj.value.pageNum, pageSize: getObj.value.pageSize, @@ -161,19 +160,6 @@ const ConsumeSelectBy = async function (val) { sortOrder: sortOrder.value } } -======= - // url: 'consumeUser/selectBy', - url: 'http://18.143.76.3:10704/consume/selectBy', - data: { - pageNum: getObj.value.pageNum, - pageSize: getObj.value.pageSize, - consumeUser: { - ...consumeUser.value, - sortField: sortField.value, - sortOrder: sortOrder.value - } - } ->>>>>>> zhangrenyuan/feature-20250623164058-金币前端 }) console.log('请求成功2', sortField) @@ -193,19 +179,9 @@ const ConsumeSelectBy = async function (val) { totalGoldSearch.value.goodsName = consumeUser.value.goodsName // const resultTotalGold = await request({ -<<<<<<< HEAD - // url: 'http://192.168.8.247:8081/consume/statsGold', - url: 'http://192.168.8.247:8081/consume/statsGold', - data: totalGoldSearch.value -======= // url: 'http://18.143.76.3:10704/consume/statsGold', url: 'http://18.143.76.3:10704/consume/statsGold', - // data: { - // pageNum: getObj.value.pageNum, - // pageSize: getObj.value.pageSize, - // consumeUser: consumeUser.value - // } ->>>>>>> zhangrenyuan/feature-20250623164058-金币前端 + data: totalGoldSearch.value }) @@ -388,11 +364,7 @@ const handleSortChange = (column) => { if (column.prop === 'permanentGold') { sortField.value = 'permanentGold' } else if (column.prop === 'taskGold') { -<<<<<<< HEAD sortField.value = 'taskGold' -======= - sortField.value = 'taskGold' // 确保任务金币排序字段正确 ->>>>>>> zhangrenyuan/feature-20250623164058-金币前端 } else if (column.prop === 'freeGold') { sortField.value = 'freeGold' } else if (column.prop === 'createTime') { diff --git a/src/views/recharge/addCoinRecharge.vue b/src/views/recharge/addCoinRecharge.vue index e64163b..56c5658 100644 --- a/src/views/recharge/addCoinRecharge.vue +++ b/src/views/recharge/addCoinRecharge.vue @@ -9,6 +9,9 @@ import moment from 'moment' import { range, re } from 'mathjs' import { utils, read } from 'xlsx' import throttle from 'lodash/throttle' +// 定义 fixedAdminId +const fixedAdminId = 1; + // 精网号去空格 const trimJwCode = () => { if (recharge.value.jwcode) { @@ -52,14 +55,19 @@ const getAdminData = async function () { // 这是添加充值信息的表单 const recharge = ref({ + jwcode: '', // jwcode 字段 + activity: '', // activity 字段 voucher: '', rechargeWay: '客服充值', freeGold: '', money: null, permanentGold: '', Rate: null, - rechargeRatio: '', - rateId: null + rateId: null, + payModel: '', // payModel 字段 + payTime: null, // payTime 字段 + remark: '', // remark 字段 + rechargeRatio: '' }) // 这是添加充值信息的接口 const add = async function () { @@ -69,6 +77,18 @@ const add = async function () { // 添加固定的 adminId adminId: fixedAdminId } + + // 将永久金币数、免费金币数和充值金额数乘以 100 + if (formattedRecharge.permanentGold) { + formattedRecharge.permanentGold = Number(formattedRecharge.permanentGold) * 100; + } + if (formattedRecharge.freeGold) { + formattedRecharge.freeGold = Number(formattedRecharge.freeGold) * 100; + } + if (formattedRecharge.money) { + formattedRecharge.money = Number(formattedRecharge.money) * 100; + } + if (formattedRecharge.payTime) { // 使用 moment.js 格式化 payTime formattedRecharge.payTime = moment(formattedRecharge.payTime).format('YYYY-MM-DD HH:mm:ss') @@ -77,7 +97,7 @@ const add = async function () { console.log('开始添加充值信息', recharge.value) // 发送POST请求 const result = await API({ - url: 'http://192.168.8.247:8081/recharge/add', + url: 'http://18.143.76.3:10704/recharge/add', data: formattedRecharge }) if (result.code === 0) { @@ -207,7 +227,7 @@ const getUser = async function (jwcode) { // 发送POST请求 const result = await API({ - url: 'http://192.168.8.247:8081/user/selectUser', + url: 'http://18.143.76.3:10704/user/selectUser', data: { jwcode: recharge.value.jwcode } @@ -236,7 +256,7 @@ const getActivity = async function () { try { // 发送POST请求 const result = await API({ - url: 'http://192.168.8.247:8081/general/activity', + url: 'http://18.143.76.3:10704/general/activity', data: { } @@ -333,21 +353,7 @@ const payModel = [ } ] -// //根据活动id获取汇率 -// const getActivityById = async function (row) { -// try { -// // 发送POST请求 -// const result = await API({ -// url: '/recharge/activity/select', -// data: { -// activity: { activity: row } -// } -// }) -// recharge.value.rechargeRatio = result.data[0].rechargeRatio -// console.log('看看有了吗', recharge.value.rechargeRatio) -// } catch (error) { -// console.log('请求失败', error) -// } + // } function handleActivityChange(value) { // 在这里执行你的逻辑,例如获取选中的值 @@ -355,24 +361,7 @@ function handleActivityChange(value) { getActivityById(value) console.log('看看', recharge.value) } -// 监听 permanentGold 的变化 -// const calculatedFree = computed(() => { -// const result = recharge.value.permanentGold / recharge.value.rechargeRatio -// if (isNaN(result) || result < 1 || recharge.value.rechargeRatio == 0) { -// return 0 -// } else { -// return Math.trunc(result) -// } -// }) -// watch(calculatedFree, (newVal) => { -// recharge.value.freeGold = newVal -// }) -// const calculatedRecharge = computed(() => { -// return recharge.value.permanentGold * Rate.value -// }) -// watch(calculatedRecharge, (newVal) => { -// recharge.value.money = newVal -// }) + //这是重置重置表单的方法 const deleteRecharge = function () { recharge.value = { diff --git a/src/views/recharge/coinRechargeDetail.vue b/src/views/recharge/coinRechargeDetail.vue index 68ee186..46926a9 100644 --- a/src/views/recharge/coinRechargeDetail.vue +++ b/src/views/recharge/coinRechargeDetail.vue @@ -92,12 +92,20 @@ const delObj = ref({}) const getActivity = async function () { try { // 发送POST请求 - const result = await API({ url: '/recharge/activity/select', data: {} }) + const result = await API({ url: 'http://18.143.76.3:10704/general/activity', data: {} }) // 将响应结果存储到响应式数据中 console.log('请求成功', result) - // 存储表格数据 - activity.value = result.data + + // 检查返回的数据是否为数组 + if (Array.isArray(result.data)) { + // 将字符串数组转换为 { value, label } 格式 + activity.value = result.data.map(item => ({ value: item, label: item })); + } else { + console.error('活动数据格式错误', result) + ElMessage.error('活动数据格式错误,请联系管理员') + } + console.log('activity', activity.value) } catch (error) { console.log('请求失败', error) @@ -200,8 +208,8 @@ const get = async function (val) { const data = resultTotalGold.data console.log('获取到的金币数据:', data) - permanentGolds.value = Number(data.permanentGolds) || 0 - freeGolds.value = Number(data.freeGolds) || 0 + permanentGolds.value = (Number(data.permanentGolds) || 0)/100 + freeGolds.value = (Number(data.freeGolds) || 0)/100 } @@ -209,6 +217,16 @@ const get = async function (val) { console.log('请求成功', result) // 存储表格数据 tableData.value = result.data.list + // 处理表格中的充值金额、永久金币和免费金币数据,除以 100 + tableData.value = tableData.value.map(item => ({ + ...item, + // 处理永久金币 + permanentGold: (Number(item.permanentGold) || 0) / 100, + // 处理免费金币 + freeGold: (Number(item.freeGold) || 0) / 100, + // 处理充值金额 + money: (Number(item.money) || 0) / 100 + })) console.log('tableData', tableData.value) // 存储分页总数 total.value = result.data.total @@ -297,29 +315,6 @@ const get7Days = function () { get() } -// 删除================================= -// 点击删除按钮 -const del = function (row) { - delObj.value.rechargeId = row.rechargeId - console.log('delObj1', delObj.value) -} -// 确认删除按钮 -const delConfirm = async function () { - try { - console.log('delObj2', delObj.value) - const result = await API({ - url: '/recharge/recharge/edit', - data: delObj.value - }) - console.log('删除成功', result) - // 刷新表格数据 - get() - } catch (error) { - console.log('请求失败', error) - // 在这里可以处理错误逻辑,比如显示错误提示等 - } -} - // 验证跳转输入框的数字是否合法 const checkNumber = function () { if (typeof parseInt(getObj.value.pageNum) === 'number') { @@ -364,15 +359,15 @@ const handleSortChange = (column) => { console.log('排序字段:', column.prop) console.log('排序方式:', column.order) if (column.prop === 'money') { - sortField.value = 'paid_gold' + sortField.value = 'money' } else if (column.prop === 'freeGold') { - sortField.value = 'free_gold' - } else if (column.prop === 'rechargeTime') { - sortField.value = 'recharge_time' + sortField.value = 'freeGold' + } else if (column.prop === 'payTime') { + sortField.value = 'payTime' } else if (column.prop === 'createTime') { - sortField.value = 'create_time' - } else if(column.prop === 'rechargeGold'){ - sortField.value = 'recharge_gold' + sortField.value = 'createTime' + } else if(column.prop === 'permanentGold'){ + sortField.value = 'permanentGold' } sortOrder.value = column.order === 'ascending' ? 'ASC' : 'DESC' console.log('传递给后端的排序字段:', sortField.value) @@ -398,8 +393,8 @@ const handleSortChange = (column) => { 活动名称: - + @@ -534,14 +529,14 @@ const handleSortChange = (column) => { diff --git a/src/views/refund/addCoinRefund.vue b/src/views/refund/addCoinRefund.vue index af6f707..de16f3f 100644 --- a/src/views/refund/addCoinRefund.vue +++ b/src/views/refund/addCoinRefund.vue @@ -1,3 +1,4 @@ + @@ -340,23 +376,23 @@ onMounted(async function () { /> - + - + 全部退款 部分退款 @@ -364,38 +400,41 @@ onMounted(async function () {
- +

- +

- - + + @@ -408,10 +447,10 @@ onMounted(async function () { type="textarea" /> - + diff --git a/src/views/refund/coinRefundDetail.vue b/src/views/refund/coinRefundDetail.vue index 88baafd..45bb277 100644 --- a/src/views/refund/coinRefundDetail.vue +++ b/src/views/refund/coinRefundDetail.vue @@ -76,14 +76,17 @@ const getRefundTypes = async function () { try { // 发送请求获取退款类型 const result = await API({ - // url: 'http://18.143.76.3:10704/', //这里应该写上一个退款类型的接口 + url: 'http://18.143.76.3:10704/refund/refundType', //这里应该写上一个退款类型的接口 data: {} }) console.log('退款类型请求成功', result) - // 将响应结果存储到 refundType 中 - refundType.value = result.data.map(item => ({ - value: item.value, - label: item.label - })) + // 检查返回的数据是否为数组 + 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) @@ -142,13 +145,21 @@ const getSelectBy = async function (val) { const data = resultTotalGold.data console.log('获取到的金币数据:', data) - permanentGolds.value = Number(data.permanentGolds) || 0 - freeGolds.value = Number(data.freeGolds) || 0 - taskGolds.value = Number(data.taskGolds) || 0 + permanentGolds.value = (Number(data.permanentGolds) || 0) + freeGolds.value = (Number(data.freeGolds) || 0) + taskGolds.value = (Number(data.taskGolds) || 0) } // 存储表格数据 tableData.value = result.data.list + // 对表格中的金币数据除以 100 + tableData.value = tableData.value.map(item => ({ + ...item, + sumGold: (Number(item.sumGold) || 0) / 100, + permanentGold: (Number(item.permanentGold) || 0) / 100, + freeGold: (Number(item.freeGold) || 0) / 100, + taskGold: (Number(item.taskGold) || 0) / 100 + })) console.log('tableData', tableData.value) // 存储分页总数 total.value = result.data.total @@ -291,10 +302,15 @@ const getGoods = async function () { }) // 将响应结果存储到响应式数据中 console.log('请求成功product', result) - // 存储全部数据 - goods.value = result.data - - console.log('地区', market.value) + if (Array.isArray(result.data)) { + // 过滤掉空字符串和 null 值 + const validGoods = result.data.filter(item => item && item.trim() !== ''); + // 直接使用后端返回的字符串作为 value 和 label + goods.value = validGoods.map(item => ({ + value: item, + label: item + })); + } } catch (error) { console.log('请求失败', error) // 在这里可以处理错误逻辑,比如显示错误提示等 @@ -334,6 +350,7 @@ onMounted(async function () { await getSelectBy() await getMarket() await getRefundTypes() + await getGoods() }) // 新增排序字段和排序方式 const sortField = ref('') @@ -418,8 +435,8 @@ const handleCurrentChange = function (val) { @@ -475,10 +492,10 @@ const handleCurrentChange = function (val) {
- 退款金币总数:{{ Math.abs(sumGold) }},永久金币:{{ - Math.abs(permanentGolds) - }},免费金币:{{ Math.abs(freeGolds) }},任务金币:{{ - Math.abs(taskGolds) + 退款金币总数:{{ Math.abs(sumGold) / 100 }},永久金币:{{ + Math.abs(permanentGolds) / 100 + }},免费金币:{{ Math.abs(freeGolds) / 100 }},任务金币:{{ + Math.abs(taskGolds) / 100 }}
@@ -527,7 +544,7 @@ const handleCurrentChange = function (val) {
- 金币总数:{{ Math.abs(goldtotal) }} - 永久金币:{{ Math.abs(permanentGold) }} - 免费金币:{{ Math.abs(freeGold) }} - 任务金币:{{ Math.abs(taskGold) }} + 金币总数:{{ Math.abs(goldtotal) /100}} + 永久金币:{{ Math.abs(permanentGold) /100}} + 免费金币:{{ Math.abs(freeGold) /100}} + 任务金币:{{ Math.abs(taskGold) /100}}
@@ -351,7 +351,7 @@ const handleCurrentChange = function (val) { (scope.row.currentPermanentGold + scope.row.currentFreeJune + scope.row.currentFreeDecember + - scope.row.currentTaskGold) + scope.row.currentTaskGold) /100 }} @@ -362,7 +362,7 @@ const handleCurrentChange = function (val) { width="110" > @@ -402,13 +402,13 @@ const handleCurrentChange = function (val) { (scope.row.sumPermanentGold || 0) + (scope.row.sumFreeJune || 0) + (scope.row.sumFreeDecember || 0) + - (scope.row.sumTaskGold || 0) + (scope.row.sumTaskGold || 0) /100 }} diff --git a/src/views/usergold/clientCountDetail.vue b/src/views/usergold/clientCountDetail.vue index c606efc..f94a2b2 100644 --- a/src/views/usergold/clientCountDetail.vue +++ b/src/views/usergold/clientCountDetail.vue @@ -255,7 +255,7 @@ const sumGoldTotal = computed(() => { const calculateFreeGold = (row) => { const freeJune = row.freeJune || 0; const freeDecember = row.freeDecember || 0; - return (freeJune + freeDecember); + return (freeJune + freeDecember) ; }; // 计算总免费金币的计算属性 @@ -287,7 +287,7 @@ const checkNumber = function () { //提示 ElMessage({ type: 'error', - message: '请检查输入内容' + message: '输入非法' }) } } @@ -447,10 +447,10 @@ onMounted(async function () {
- 金币总数:{{ Math.abs(sumGoldTotal) }} - 永久金币:{{ Math.abs( permanentGold) }} - 免费金币:{{ Math.abs(totalFreeGold) }} - 任务金币:{{ Math.abs(taskGold) }} + 金币总数:{{ Math.abs(sumGoldTotal) / 100}} + 永久金币:{{ Math.abs( permanentGold) / 100}} + 免费金币:{{ Math.abs(totalFreeGold) / 100}} + 任务金币:{{ Math.abs(taskGold) / 100}}
{{ scope.row.type === 1 // 消费类型 - ? - scope.row.sumGold - : scope.row.sumGold + ? - scope.row.sumGold /100 + : scope.row.sumGold /100 }} @@ -525,7 +525,7 @@ onMounted(async function () { width="110" >