From 49f6ac08d376c172649efb4bc4607c8a502f50e7 Mon Sep 17 00:00:00 2001 From: lihui Date: Mon, 23 Jun 2025 14:52:57 +0800 Subject: [PATCH 1/9] =?UTF-8?q?feat:=20=E6=B1=87=E7=8E=87=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/managerecharge/rate.vue | 565 +++++++++++--------------------------- 1 file changed, 164 insertions(+), 401 deletions(-) diff --git a/src/views/managerecharge/rate.vue b/src/views/managerecharge/rate.vue index 503fd6e..1d6c538 100644 --- a/src/views/managerecharge/rate.vue +++ b/src/views/managerecharge/rate.vue @@ -1,8 +1,6 @@ + - - - - - - - @@ -635,160 +478,73 @@ function handleInput(value) { - + - - - - - + + +.rate-tip { + hyphens: auto; +} + \ No newline at end of file From f78d583343b662dcae3bfaebd5e4492ff54ab5b6 Mon Sep 17 00:00:00 2001 From: zry <18990852002@163.com> Date: Mon, 23 Jun 2025 17:33:44 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E6=8E=A5=E5=8F=A3->?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E6=8E=A5=E5=8F=A3search?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/permissions/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/permissions/index.vue b/src/views/permissions/index.vue index 583b3ac..fa5ed0a 100644 --- a/src/views/permissions/index.vue +++ b/src/views/permissions/index.vue @@ -38,7 +38,7 @@ const permissionEditObj = ref({}) // 删除权限对象 const delObj = ref({}) -// 搜索接口 +// 搜索接口search const get = async function (val) { try { // 搜索参数页码赋值 From 066e41fb05c1a8aab2460f00f480bd4f74cac2c5 Mon Sep 17 00:00:00 2001 From: zry <18990852002@163.com> Date: Thu, 26 Jun 2025 17:54:47 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E8=B4=A6=E6=88=B7?= =?UTF-8?q?=E9=87=91=E5=B8=81=E7=AE=A1=E7=90=86=E5=AE=8C=E6=88=90=EF=BC=8C?= =?UTF-8?q?=E5=89=A9=E4=BD=99=E5=AF=BC=E5=87=BA=E5=90=8E=E7=BB=AD=E5=9C=A8?= =?UTF-8?q?=E5=81=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 3 +- src/router/index.js | 2 + src/util/request.js | 4 +- src/views/usergold/clientCountBalance.vue | 551 ++++++++++++++++++- src/views/usergold/clientCountDetail.vue | 873 ++++++++++++++++-------------- 5 files changed, 1033 insertions(+), 400 deletions(-) diff --git a/.env.development b/.env.development index b87c5db..b17f756 100644 --- a/.env.development +++ b/.env.development @@ -2,4 +2,5 @@ # VITE_API_BASE='http://192.168.8.94:8080/' # VITE_API_BASE='https://hwjb.homilychart.com/gold_htms_dev' # VITE_API_BASE='http://54.251.137.151:10704/' -VITE_API_BASE='http://192.168.8.225:8080/' +# VITE_API_BASE='http://192.168.8.225:8080/' +VITE_API_BASE='http://192.168.8.94:8080/' diff --git a/src/router/index.js b/src/router/index.js index 8716011..222fbd7 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -19,6 +19,7 @@ const router = createRouter({ { path: '/refundAudit', name: "refundAudit", component: () => import("../views/audit/refundAudit.vue") }, // 金币消耗 { path: '/coinConsume', name: "coinConsume", component: () => import("../views/consume/coinConsume.vue"), + redirect: '/coinConsume/add',// 重定向到新增页面 children: [ // 金币新增消耗 { path: 'add', name: "addCoinConsume", component: () => import("../views/consume/addCoinConsume.vue") }, @@ -40,6 +41,7 @@ const router = createRouter({ { path: '/beanRefund', name: "beanRefund", component: () => import("../views/refund/beanRefund.vue") }, // 客户账户明细 { path: '/usergold', name: "usergold", component: () => import("../views/usergold/clientCount.vue"), + redirect: '/usergold/detail',// 重定向到客户账户明细页面 children: [ // 金币明细 { path: 'detail', name: "clientCountDetail", component: () => import("../views/usergold/clientCountDetail.vue") }, diff --git a/src/util/request.js b/src/util/request.js index 15579ed..541b9f3 100644 --- a/src/util/request.js +++ b/src/util/request.js @@ -1,13 +1,13 @@ import axios from 'axios' // 创建axios实例 const service = axios.create({ - baseURL: import.meta.env.VITE_API_BASE, + baseURL: import.meta.env.VITE_API_BASE,//.env.development timeout: 10000, headers: { 'Content-Type': 'application/json' }, // 设置请求头,指定请求体的格式为 JSON - // 设置默认请求方法为 POST 这行对应的代码搁哪呢? + // 设置默认请求方法为 POST 这行对应的代码搁哪呢? util/http.js自己看 }) // 请求拦截器 diff --git a/src/views/usergold/clientCountBalance.vue b/src/views/usergold/clientCountBalance.vue index d6c0e69..ea656c5 100644 --- a/src/views/usergold/clientCountBalance.vue +++ b/src/views/usergold/clientCountBalance.vue @@ -1,3 +1,550 @@ + + \ No newline at end of file + + + +
+
+ 精网号: + +
+
+ 所属地区: + + + +
+ + + + 查询 + 导出Excel +
+ +
+
+
+ + + +
+ 金币总数:{{ Math.abs(goldtotal) }} + 永久金币:{{ Math.abs(permanentGold) }} + 免费金币:{{ Math.abs(freeGold) }} + 任务金币:{{ Math.abs(taskGold) }} +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+
+
+ + + + + diff --git a/src/views/usergold/clientCountDetail.vue b/src/views/usergold/clientCountDetail.vue index 7256755..8897266 100644 --- a/src/views/usergold/clientCountDetail.vue +++ b/src/views/usergold/clientCountDetail.vue @@ -1,4 +1,4 @@ - + @@ -501,51 +585,34 @@ onMounted(async function () {
- - - - - + - -
导出信息
- - + + -
+ 例如,在代码中,我们可能错误地在模板中使用了goldDetail.value,但实际上应该直接使用goldDetail。 --> + - + - 取消导出 - + --> @@ -588,7 +655,7 @@ onMounted(async function () {
精网号: 平台信息:
- +
数量更新类型: 所属地区: +
+ 金币总数:{{ Math.abs(sumGoldTotal) }} + 永久金币:{{ Math.abs( permanentGold) }} + 免费金币:{{ Math.abs(totalFreeGold) }} + 任务金币:{{ Math.abs(taskGold) }} +
@@ -707,20 +781,20 @@ onMounted(async function () { label="精网号" width="120" /> - + - + - - + - + - + From 03be57ca36b0424275a66ab74559b5e28b1199f6 Mon Sep 17 00:00:00 2001 From: lihui Date: Thu, 26 Jun 2025 18:01:09 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=8D=A1=E7=89=87=EF=BC=8C=E6=96=B0=E5=A2=9E=E6=AD=A3=E5=9C=A8?= =?UTF-8?q?=E5=81=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/consume/addCoinConsume.vue | 822 ++++++++++++++++++++------------ src/views/consume/coinConsume.vue | 8 +- src/views/consume/coinConsumeDetail.vue | 5 +- 3 files changed, 526 insertions(+), 309 deletions(-) diff --git a/src/views/consume/addCoinConsume.vue b/src/views/consume/addCoinConsume.vue index 86f6a89..d1c3cdc 100644 --- a/src/views/consume/addCoinConsume.vue +++ b/src/views/consume/addCoinConsume.vue @@ -1,10 +1,10 @@ + - \ No newline at end of file diff --git a/src/views/permissions/permission.vue b/src/views/permissions/permission.vue index 32ca8ae..175ab05 100644 --- a/src/views/permissions/permission.vue +++ b/src/views/permissions/permission.vue @@ -157,7 +157,7 @@ const openPermissionAddVisible = function () { // 关闭新增用户权限弹窗,并刷新表单 const closePermissionAddVisible = function () { // reset() ,下面这个方法还可以重置表单验证(请输入...),reset只能重置输入,修改reset方法 - // 重置表单数据 + // 重置表单数据,当我们在新增表单点击添加后会弹出一个文本框,再点击取消,弹出的文本框应该是不显示出来的 addAdmin.value = { account: '', name: '', @@ -170,7 +170,6 @@ const closePermissionAddVisible = function () { }; permissionAddVisible.value = false; // 清除表单验证状态 - Ref.value.resetFields(); } diff --git a/src/views/recharge/coinRechargeDetail.vue b/src/views/recharge/coinRechargeDetail.vue index 3979a98..7a0e5b3 100644 --- a/src/views/recharge/coinRechargeDetail.vue +++ b/src/views/recharge/coinRechargeDetail.vue @@ -343,7 +343,7 @@ const getActivity = async function () { const getArea = async function () { try { // 发送POST请求 - const result = await API({ url: 'recharge/user/search', data: {} }) + const result = await API({ url: 'http://192.168.8.247:8081/general/market', data: {} }) // 将响应结果存储到响应式数据中 console.log('请求成功', result) // 存储地区信息 diff --git a/src/views/refund/addCoinRefund.vue b/src/views/refund/addCoinRefund.vue index e67ae21..1c947ab 100644 --- a/src/views/refund/addCoinRefund.vue +++ b/src/views/refund/addCoinRefund.vue @@ -145,27 +145,24 @@ const getUser = async function (jwcode) { const result = await API({ url: 'http://192.168.8.247:8081/user/selectUser', data: { - jwcode: addRefund.value.jwcode, - area: adminData.value.area + jwcode: addRefund.value.jwcode } }) console.log('请求成功', result) //在此处错误逻辑的提示做了注释,在后续商品查询接口返回错误时,提示信息会显示在弹窗中 if (result.code === 0) { - - //ElMessage.error(result.msg) + ElMessage.error(result.msg); + } else if (result.data === null) { + ElMessage.error("用户不存在"); } else { - user.value = result.data - user.value.A = - Number(user.value.pendingRechargeTimes) + - Number(user.value.pendingSpendTimes) - console.log('用户信息', user.value) - //ElMessage.success(result.msg) + user.value = result.data; + console.log("用户信息", user.value); + ElMessage.success(result.msg); } } catch (error) { - console.log('请求失败', error) - ElMessage.error('查询失败,请检查精网号是否正确') + console.log("请求失败", error); + ElMessage.error("查询失败,请检查精网号是否正确"); // 在这里可以处理错误逻辑,比如显示错误提示等 } } @@ -188,25 +185,46 @@ const AAA = computed(() => { watch(AAA, (newVal) => {}) // 退款类型选项 -const refundType = [ - { - value: '退款商品', - label: '退款商品' +// const refundType = [ +// { +// value: '退款商品', +// label: '退款商品' +// } +// ] + +// 退款类型 +const refundType = ref([]) + +// 获取退款类型 +const getRefundTypes = async function () { + try { + // 发送请求获取退款类型 + const result = await API({ + // url: 'http://192.168.8.247:8081/', //这里应该写上一个退款类型的接口 + data: {} }) + console.log('退款类型请求成功', result) + // 将响应结果存储到 refundType 中 + refundType.value = result.data.map(item => ({ + value: item.value, + label: item.label + })) + console.log('退款类型', refundType.value) + } catch (error) { + console.log('退款类型请求失败', error) } -] +} // 根据精网号查询商品 -// 查什么????? const goods = ref([]) const getGoods = async function (jwcode) { trimJwCode(); try { // 发送POST请求 const result = await API({ - url: '/consume/getDeatil', + url: 'http://39.101.133.168:8828/live_mall/api/product/all', data: { jwcode: addRefund.value.jwcode, - area: adminData.value.area + market: adminData.value.market } }) console.log('请求成功', result) @@ -217,7 +235,7 @@ const getGoods = async function (jwcode) { // 存储表格数据 goods.value = result.data console.log('用户信息', goods.value) - ElMessage.success(result.msg) + //ElMessage.success(result.msg) } } catch (error) { console.log('请求失败', error) @@ -403,7 +421,7 @@ onMounted(async function () { - + -

- {{ Number(user.totalRechargeGold / 100) }} +

+ {{ Number(user.historySumGold) }}

@@ -436,30 +454,30 @@ onMounted(async function () { {{ - (user.buyJb + user.free6 + user.free12 + user.coreJb) / 100 + (user.nowSumGold) }} (永久金币:{{ user.buyJb / 100 }};免费金币:{{ - (user.free6 + user.free12) / 100 - }};任务金币:{{ user.coreJb / 100 }})(永久金币:{{ user.nowPermanentGold }};免费金币:{{ + (user.nowFreeGold) + }};任务金币:{{ user.nowTaskGold}}) -

- {{ moment(user.firstRechargeDate).format('YYYY-MM-DD HH:mm:ss') }} +

+ {{ moment(user.firstRecharge).format('YYYY-MM-DD HH:mm:ss') }}

-

{{ user.rechargeTimes }}

+

{{ user.rechargeNum }}

-

{{ user.spendTimes }}

+

{{ user.consumeNum }}

-

{{ adminData.area }}

+

{{ user.market }}

- +
diff --git a/src/views/refund/coinRefundDetail.vue b/src/views/refund/coinRefundDetail.vue index c9eea7c..16d8691 100644 --- a/src/views/refund/coinRefundDetail.vue +++ b/src/views/refund/coinRefundDetail.vue @@ -25,7 +25,7 @@ const getAdminData = async function () { const tableData = ref([]) // 搜索====================================== // 搜索detail -const detail = ref({}) +const refundUser = ref({}) // 搜索对象 const getObj = ref({ pageNum: 1, @@ -35,135 +35,96 @@ const getObj = ref({ const total = ref(100) // 搜索对象时间 const getTime = ref([]) -// 所有信息 -const allData = ref([]) + // 搜索地区列表 -const area = ref([]) +const market = ref([]) + +// 定义响应式变量存储金币合计数 +const permanentGolds = ref(0) +const freeGolds = ref(0) +const taskGolds = ref(0) -//标签页默认高亮选项 -const activeName = ref('all') +// 计算总金币数 +const sumGold = computed(() => permanentGolds.value + freeGolds.value + taskGolds.value) // 退款类型 -const consumeType = [ - { - value: '退款商品', - label: '退款商品' - } -] +const refundType = ref([]) -// //表格高度 -// const tableHeight = computed(function () { -// return (getObj.value.pageSize + 2) * 45 + "px"; -// }); +//时间格式化 +const formatTime = (val) => val ? moment(val).format('YYYY-MM-DD HH:mm:ss') : '' + +// 获取退款类型 +const getRefundTypes = async function () { + try { + // 发送请求获取退款类型 + const result = await API({ + // url: 'http://192.168.8.247:8081/', //这里应该写上一个退款类型的接口 + data: {} }) + console.log('退款类型请求成功', result) + // 将响应结果存储到 refundType 中 + refundType.value = result.data.map(item => ({ + value: item.value, + label: item.label + })) + console.log('退款类型', refundType.value) + } catch (error) { + console.log('退款类型请求失败', error) + } +} -// 方法 -// 统计合计数 -const trueGold = ref(0) -const trueRgold = ref(0) -const trueFgold = ref(0) -const trueTgold = ref(0) -// 待审核各种类金币数 -const pendingRgold = ref(0) -const pendingFgold = ref(0) -const pendingTgold = ref(0) -// 待审核金币数 -const pendingGold = ref(0) -// 已通过各种类金币数 -const approvedRgold = ref(0) -const approvedFgold = ref(0) -const approvedTgold = ref(0) -// 已通过金币数 -const approvedGold = ref(0) -// 已驳回各种类金币数 -const rejectedRgold = ref(0) -const rejectedFgold = ref(0) -const rejectedTgold = ref(0) -// 已驳回金币数 -const rejectedGold = ref(0) // 搜索============================================================== // 搜索方法 -const get = async function (val) { +const getSelectBy = async function (val) { try { - // 地区赋值 - if (adminData.value.area === '泰国') { - detail.value.areas = ['泰国', '越南'] - } else if (adminData.value.area !== '总部') { - detail.value.area = adminData.value.area - } // 搜索参数页码赋值 if (typeof val === 'number') { getObj.value.pageNum = val } // 搜索参数时间赋值 if (getTime.value != null) { - if (getTime.value.startDate != '' && getTime.value.endDate != '') { - detail.value.startDate = getTime.value[0] - detail.value.endDate = getTime.value[1] + if (getTime.value.startTime != '' && getTime.value.endTime != '') { + refundUser.value.startTime = formatTime(getTime.value[0]) + refundUser.value.endTime = formatTime(getTime.value[1]) } } else { - detail.value.startDate = '' - detail.value.endDate = '' + refundUser.value.startTime = '' + refundUser.value.endTime = '' } // 添加排序字段和排序方式到请求参数 - detail.value.sortField = sortField.value - detail.value.sortOrder = sortOrder.value + refundUser.value.sortField = sortField.value + refundUser.value.sortOrder = sortOrder.value console.log('搜索参数', getObj.value) // 发送POST请求 const result = await API({ - url: '/refund/search', + url: 'http://192.168.8.247:8081/refund/selectBy', data: { ...getObj.value, - detail: { ...detail.value } + refundUser: { ...refundUser.value } } }) - // 复制一份 detail.value 并移除排序字段和排序方式 - const detailWithoutSort = { ...detail.value } + // 复制一份 refundUser.value 并移除排序字段和排序方式 + const detailWithoutSort = { ...refundUser.value } delete detailWithoutSort.sortField delete detailWithoutSort.sortOrder - const result2 = await API({ - url: '/refund/RefundA', + const resultTotalGold = await API({ + url: 'http://192.168.8.247:8081/refund/statsGold', data: { - ...detailWithoutSort + ...detailWithoutSort } }) - // 统计合计数 - if (result2.data) { - result2.data.forEach((item) => { - switch (item.status) { - case '待审核': - // 若 item.raudit 为空则赋值为 0 - pendingRgold.value = item.sumRaudit1 || 0 - pendingFgold.value = item.sumRaudit2 || 0 - pendingTgold.value = item.sumRaudit3 || 0 - // 若 item.sumRaudit 为空则赋值为 0 - pendingGold.value = item.sumRaudit || 0 - break - case '已通过': - approvedRgold.value = item.sumRaudit1 || 0 - approvedFgold.value = item.sumRaudit2 || 0 - approvedTgold.value = item.sumRaudit3 || 0 - approvedGold.value = item.sumRaudit || 0 - break - case '已驳回': - rejectedRgold.value = item.sumRaudit1 || 0 - rejectedFgold.value = item.sumRaudit2 || 0 - rejectedTgold.value = item.sumRaudit3 || 0 - rejectedGold.value = item.sumRaudit || 0 - break - } - }) + // 将响应结果存储到响应式数据中 + console.log('resultTotalGold请求成功', resultTotalGold) + // 检查响应的 code 是否为 200 且 data 存在 + if (resultTotalGold.code === 200 && resultTotalGold.data) { + 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 } - trueFgold.value = - pendingFgold.value + approvedFgold.value + rejectedFgold.value - trueRgold.value = - pendingRgold.value + approvedRgold.value + rejectedRgold.value - trueTgold.value = - pendingTgold.value + approvedTgold.value + rejectedTgold.value - trueGold.value = pendingGold.value + approvedGold.value + rejectedGold.value - // 将响应结果存储到响应式数据中 - console.log('请求成功', result) // 存储表格数据 tableData.value = result.data.list console.log('tableData', tableData.value) @@ -180,15 +141,16 @@ const get = async function (val) { // 搜索 const search = function () { getObj.value.pageNum = 1 - get() + getSelectBy() } // 重置 const reset = function () { - detail.value.refundGoods = '' - detail.value.refundType = '' - detail.value.area = '' - detail.value.startDate = '' - detail.value.endDate = '' + refundUser.value.jwcode= '' + refundUser.value.goodsName = '' + refundUser.value.refundType = '' + refundUser.value.market = '' + refundUser.value.startTime = '' + refundUser.value.endTime = '' sortField.value = '' sortOrder.value = '' getTime.value = {} @@ -196,103 +158,56 @@ const reset = function () { // 今天 const getToday = function () { const today = new Date() - const startDate = new Date( + const startTime = new Date( today.getFullYear(), today.getMonth(), today.getDate() ) - const endDate = new Date( + const endTime = new Date( today.getFullYear(), today.getMonth(), today.getDate() + 1 ) - getTime.value = [startDate, endDate] + getTime.value = [startTime, endTime] console.log('getTime', getTime.value) - get() + getSelectBy() } // 昨天 const getYesterday = function () { const yesterday = new Date() yesterday.setDate(yesterday.getDate() - 1) - const startDate = new Date( + const startTime = new Date( yesterday.getFullYear(), yesterday.getMonth(), yesterday.getDate() ) - const endDate = new Date( + const endTime = new Date( yesterday.getFullYear(), yesterday.getMonth(), yesterday.getDate() + 1 ) - getTime.value = [startDate, endDate] + getTime.value = [startTime, endTime] console.log('getTime', getTime.value) - get() + getSelectBy() } // 近7天 const get7Days = function () { const today = new Date() - const startDate = new Date( + const startTime = new Date( today.getFullYear(), today.getMonth(), today.getDate() - 6 ) - const endDate = new Date( + const endTime = new Date( today.getFullYear(), today.getMonth(), today.getDate() + 1 ) - getTime.value = [startDate, endDate] + getTime.value = [startTime, endTime] console.log('getTime', getTime.value) - get() + getSelectBy() } -//全部充值明细 -const adminAll = function () { - console.log('adminAll') - detail.value.status = '' - getObj.value.pageNum = 1 - get() - trueFgold.value = - pendingFgold.value + approvedFgold.value + rejectedFgold.value - trueRgold.value = - pendingRgold.value + approvedRgold.value + rejectedRgold.value - trueTgold.value = - pendingTgold.value + approvedTgold.value + rejectedTgold.value - trueGold.value = pendingGold.value + approvedGold.value + rejectedGold.value -} -//待审核充值明细 -const adminWait = async function () { - detail.value.status = 0 - getObj.value.pageNum = 1 - await get() - console.log('adminWait') - trueFgold.value = pendingFgold.value - trueRgold.value = pendingRgold.value - trueTgold.value = pendingTgold.value - trueGold.value = pendingGold.value -} -//已通过充值明细 -const adminPass = async function () { - detail.value.status = 1 - getObj.value.pageNum = 1 - await get() - console.log('adminPass') - trueFgold.value = approvedFgold.value - trueRgold.value = approvedRgold.value - trueTgold.value = approvedTgold.value - trueGold.value = approvedGold.value -} -//已驳回充值明细 -const adminReject = async function () { - detail.value.status = 2 - getObj.value.pageNum = 1 - await get() - console.log('adminReject') - trueFgold.value = rejectedFgold.value - trueRgold.value = rejectedRgold.value - trueTgold.value = rejectedTgold.value - trueGold.value = rejectedGold.value -} //点击标签页 // 设置tab.props.name默认为all const tabName = ref('all') @@ -312,15 +227,14 @@ const handleClick = function (tab, event) { const getArea = async function () { try { // 发送POST请求 - const result = await API({ url: '/recharge/user/search', data: {} }) + const result = await API({ url: 'http://192.168.8.247:8081/general/market', data: {} }) // 将响应结果存储到响应式数据中 console.log('请求成功', result) // 存储地区信息 - area.value = result.data - console.log('地区', area.value) + market.value = result.data + console.log('地区', market.value) } catch (error) { console.log('请求失败', error) - // 在这里可以处理错误逻辑,比如显示错误提示等 } } @@ -342,7 +256,7 @@ const delConfirm = async function () { // 将响应结果存储到响应式数据中 console.log('请求成功', result) // 刷新表格数据 - get() + getSelectBy() } catch (error) { console.log('请求失败', error) // 在这里可以处理错误逻辑,比如显示错误提示等 @@ -359,8 +273,8 @@ const getGoods = async function () { console.log('请求成功', result) // 存储全部数据 goods.value = result.data - console.log('allData', allData.value) - console.log('地区', area.value) + + console.log('地区', market.value) } catch (error) { console.log('请求失败', error) // 在这里可以处理错误逻辑,比如显示错误提示等 @@ -378,7 +292,7 @@ const checkNumber = function () { ) { getObj.value.pageNum = parseInt(getObj.value.pageNum) console.log('输入的数字合法') - get() + getSelectBy() } else { //提示 ElMessage({ @@ -397,8 +311,9 @@ const checkNumber = function () { // 挂载 onMounted(async function () { await getAdminData() - await get() + await getSelectBy() await getArea() + await getRefundTypes() }) // 新增排序字段和排序方式 const sortField = ref('') @@ -407,27 +322,27 @@ const sortOrder = ref('') const handleSortChange = (column) => { console.log('排序字段:', column.prop) console.log('排序方式:', column.order) - if (column.prop === 'rechargeCoin') { - sortField.value = 'recharge_coin' - } else if (column.prop === 'taskCoin') { - sortField.value = 'task_coin' - } else if (column.prop === 'freeCoin') { - sortField.value = 'free_coin' + if (column.prop === 'permanentGold') { + sortField.value = 'permanent_gold' + } else if (column.prop === 'taskGold') { + sortField.value = 'task_gold' + } else if (column.prop === 'freeGold') { + sortField.value = 'free_gold' } else if (column.prop === 'createTime') { sortField.value = 'create_time' } else if (column.prop === 'auditTime') { sortField.value = 'audit_time' } sortOrder.value = column.order === 'ascending' ? 'ASC' : 'DESC' - get() + getSelectBy() } const handlePageSizeChange = function (val) { getObj.value.pageSize = val - get() + getSelectBy() } const handleCurrentChange = function (val) { getObj.value.pageNum = val - get() + getSelectBy() } @@ -441,7 +356,7 @@ const handleCurrentChange = function (val) { 精网号: 退款类型: 退款商品: -
+
所属地区: - -
- 退款金币总数:{{ Math.abs(trueGold) }},永久金币:{{ - Math.abs(truePgold) - }},免费金币:{{ Math.abs(trueFgold) }},任务金币:{{ - Math.abs(trueTgold) + 退款金币总数:{{ Math.abs(sumGold) }},永久金币:{{ + Math.abs(permanentGolds) + }},免费金币:{{ Math.abs(freeGolds) }},任务金币:{{ + Math.abs(taskGolds) }}
@@ -577,7 +480,7 @@ const handleCurrentChange = function (val) { - - + + - + + + - + -
diff --git a/src/views/usergold/clientCountDetail.vue b/src/views/usergold/clientCountDetail.vue index b944e3d..98263d4 100644 --- a/src/views/usergold/clientCountDetail.vue +++ b/src/views/usergold/clientCountDetail.vue @@ -157,6 +157,11 @@ const get = async function (val) { console.log('搜索参数', getObj.value) // 发送POST请求 + + // 打印 jwcode 的类型和值,用于调试 + console.log('jwcode 类型:', typeof goldDetail.value.jwcode); + console.log('jwcode 值:', goldDetail.value.jwcode); + const requestData = { ...getObj.value, goldDetail: { ...goldDetail.value } }; console.log('最终请求参数', JSON.stringify(requestData, null, 2)); // 打印格式化后的请求参数 diff --git a/src/views/workspace/index.vue b/src/views/workspace/index.vue index ec6f7fc..aa3c588 100644 --- a/src/views/workspace/index.vue +++ b/src/views/workspace/index.vue @@ -223,7 +223,7 @@ const handleDateRangeChange = () => { const getAreas = async () => { try { const result = await API({ - url: '/recharge/user/search', + url: 'http://192.168.8.247:8081/general/market', data: {} }) middleCategory.value = result.data.map(item => item.name) diff --git a/vite.config.ts b/vite.config.ts index 2aaafd5..c6803fa 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -39,6 +39,9 @@ export default defineConfig(({ mode }) => { ] }) ], + server: { + host: true // 允许外部设备访问 + }, resolve: { alias: { '@': path.resolve(__dirname, './src')