diff --git a/.env.development b/.env.development
index f2e81e2..f5143b4 100644
--- a/.env.development
+++ b/.env.development
@@ -1,4 +1,11 @@
# VITE_API_BASE='http://54.251.137.151:10704/'
# VITE_API_BASE='https://hwjb.homilychart.com/gold_htms_dev'
# VITE_API_BASE='http://54.251.137.151:10704/'
+<<<<<<< HEAD
VITE_API_BASE='http://192.168.8.94:8080/'
+=======
+# VITE_API_BASE='http://192.168.8.225:8080/'
+# VITE_API_BASE='http://192.168.8.94:8080/'
+VITE_API_BASE='http://192.168.8.247:8081/'
+
+>>>>>>> milestone-20250623-金币前端
diff --git a/src/router/index.js b/src/router/index.js
index 8716011..f1ac976 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -2,13 +2,13 @@ import { createRouter, createWebHashHistory } from 'vue-router';
const router = createRouter({
history: createWebHashHistory(),
- routes: [
- { path: '/login', name: "login", component: () => import("../views/login.vue") },
- { path: '/', redirect: "/login" },
+ routes: [//此处在做登录之前做成默认跳转工作台
+ { path: '/workspace', name: "workspace", component: () => import("../views/workspace/index.vue") },
+ { path: '/', redirect: "/workspace" },
// { path: '/test', component: () => import("../views/z.vue") },
{
meta: { requireAuth: true },
- path: '/index', component: () => import("../views/index.vue"),
+ path: '/', component: () => import("../views/home.vue"),
children: [
// 工作台
@@ -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") },
@@ -31,15 +32,32 @@ const router = createRouter({
// 汇率管理
{ path: '/rate', name: "rate", component: () => import("../views/managerecharge/rate.vue") },
// 金币充值
- { path: '/coinRecharge', name: "coinRecharge", component: () => import("../views/recharge/coinRecharge.vue") },
+ { path: '/coinRecharge', name: "coinRecharge", component: () => import("../views/recharge/coinRecharge.vue"),
+ redirect: '/coinRecharge/add',// 重定向到新增充值页面
+ children: [
+ // 金币新增充值
+ { path: 'add', name: "addCoinRecharge", component: () => import("../views/recharge/addCoinRecharge.vue") },
+ // 金币充值明细详情
+ { path: 'detail', name: "coinRechargeDetail", component: () => import("../views/recharge/coinRechargeDetail.vue") }
+ ]
+ },
// 金豆充值
{ path: '/beanRecharge', name: "beanRecharge", component: () => import("../views/recharge/beanRecharge.vue") },
// 金币退款
- { path: '/coinRefund', name: "coinRefund", component: () => import("../views/refund/coinRefund.vue") },
+ { path: '/coinRefund', name: "coinRefund", component: () => import("../views/refund/coinRefund.vue"),
+ redirect: '/coinRefund/add',// 重定向到新增退款页面
+ children: [
+ // 金币新增消耗
+ { path: 'add', name: "addCoinRefund", component: () => import("../views/refund/addCoinRefund.vue") },
+ // 金币消耗明细详情
+ { path: 'detail', name: "coinRefundDetail", component: () => import("../views/refund/coinRefundDetail.vue") }
+ ]
+ },
// 金豆退款
{ 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") },
@@ -48,7 +66,7 @@ const router = createRouter({
]
},
// 权限管理
- { path: '/permissions', name: "permissions", component: () => import("../views/permissions/index.vue") },
+ { path: '/permissions', name: "permissions", component: () => import("../views/permissions/permission.vue") },
// 没有权限
{ path: '/noPermission', name: "noPermission", component: () => import("../views/noPermissionPage.vue") }
]
@@ -58,42 +76,43 @@ const router = createRouter({
});
router.beforeEach((to, from, next) => {
- const token = localStorage.getItem("token");
- const permission = localStorage.getItem("permission");
- if (to.name != "login" && !token) {
- next({ name: "login" });
- } else {
- if (permission == "4" && to.name != "noPermission") {
- next({ name: "noPermission" });
- } else if (permission == "3") {
- if (to.name == "addConsume" || to.name == "allConsume"
- || to.name == "addRecharge" || to.name == "adminRecharge" || to.name == "allRecharge"
- || to.name == "addRefund" || to.name == "allRefund"
- || to.name == "permissions") {
- next({ name: "workspace" });
- } else {
- next();
- }
- } else if (permission == '2') {
- if (to.name == "rechargeAudit" || to.name == "refundAudit"
- || to.name == "activity" || to.name == "rate"
- || to.name == "permissions") {
- next({ name: "workspace" })
- } else {
- next();
- }
- } else if (permission == '5') {
- if (to.name == "permissions") {
- next({ name: "workspace" })
- } else {
- next();
- }
- }
- else {
- next();
- }
+ // const token = localStorage.getItem("token");
+ // const permission = localStorage.getItem("permission");
+ // if (to.name != "login" && !token) {
+ // next({ name: "login" });
+ // } else {
+ // if (permission == "4" && to.name != "noPermission") {
+ // next({ name: "noPermission" });
+ // } else if (permission == "3") {
+ // if (to.name == "addConsume" || to.name == "allConsume"
+ // || to.name == "addRecharge" || to.name == "adminRecharge" || to.name == "allRecharge"
+ // || to.name == "addRefund" || to.name == "allRefund"
+ // || to.name == "permissions") {
+ // next({ name: "workspace" });
+ // } else {
+ // next();
+ // }
+ // } else if (permission == '2') {
+ // if (to.name == "rechargeAudit" || to.name == "refundAudit"
+ // || to.name == "activity" || to.name == "rate"
+ // || to.name == "permissions") {
+ // next({ name: "workspace" })
+ // } else {
+ // next();
+ // }
+ // } else if (permission == '5') {
+ // if (to.name == "permissions") {
+ // next({ name: "workspace" })
+ // } else {
+ // next();
+ // }
+ // }
+ // else {
+ // next();
+ // }
- }
+ // }
+ next();
})
export default router;
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/audit/refundAudit.vue b/src/views/audit/refundAudit.vue
index a022a4b..4143d4b 100644
--- a/src/views/audit/refundAudit.vue
+++ b/src/views/audit/refundAudit.vue
@@ -190,7 +190,11 @@ const getProducts = async () => {
// 查地区
const getAreas = async () => {
try {
+<<<<<<< HEAD
const result = await request({ url: '' })
+=======
+ const result = await request({ url: 'http://192.168.8.247:8081/general/market' })
+>>>>>>> milestone-20250623-金币前端
areaOptions.value = result.data || []
} catch (error) {
console.error('获取地区列表失败', error)
diff --git a/src/views/consume/addCoinConsume.vue b/src/views/consume/addCoinConsume.vue
index 86f6a89..da0679c 100644
--- a/src/views/consume/addCoinConsume.vue
+++ b/src/views/consume/addCoinConsume.vue
@@ -1,22 +1,85 @@
-
-
+
+
-
-
-
-
-
-
-
- 查询
-
-
-
-
-
- {{ item.name }}
-
-
-
-
-
-
-
+
+
+
+
-
- {{ item.name }}
-
-
-
-
-
- -->
-
-
-
-
-
-
+
+
+
+
- 个
+ 查询
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- 个
-
+
+
+
+
+
+
+ 个
+
+
+
+ 个
+
+
+
+ 个
+
+
+
+
- 个
-
-
-
-
-
-
-
- 重置
- 提交
-
-
-
-
-
- 客户信息
-
-
-
- {{ user.name }}
-
-
-
-
-
-
- {{ Number(user.totalRechargeGold / 100) }}
-
-
-
-
-
-
-
- {{ user.jwcode }}
-
-
-
-
+
+
+
+
+
+ 重置
+
+ 提交
+
+
+
+
+
+
+ 客户信息
+
+
+
+ {{ user.name }}
+
+
+
+
+ {{ user.historySumGold }}
+
+
+
+
+
+ {{ user.jwcode }}
+
+
+
+
{{
- (user.buyJb + user.free6 + user.free12 + user.coreJb) / 100
- }}
- (永久金币:{{ user.buyJb / 100 }};免费金币:{{
- (user.free6 + user.free12) / 100
- }};任务金币:{{ user.coreJb / 100 }})
-
-
-
-
-
- {{ moment(user.firstRechargeDate).format("YYYY-MM-DD HH:mm:ss") }}
-
-
-
-
-
- {{ user.rechargeTimes }}
-
-
-
-
-
- {{ user.spendTimes }}
-
-
-
-
- {{ adminData.area }}
-
-
-
-
-
-
-
-
+ (永久金币:{{ user.nowPermanentGold }};免费金币:{{
+ (user.nowFreeGold)
+ }};任务金币:{{ user.nowTaskGold }})
+
+
+
+
+
+
+ {{ moment(user.firstRecharge).format("YYYY-MM-DD HH:mm:ss") }}
+
+
+
+
+
+ {{ user.rechargeNum }}
+
+
+
+
+ {{ user.consumeNum }}
+
+
+
+
+ {{ user.market }}
+
+
+
+
+
+
+
+
+
-
+
+
+
diff --git a/src/views/index.vue b/src/views/index.vue
index b85908f..85121ba 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -56,16 +56,16 @@ const message = function () {
// 获取machineId
-function logout() {
- const machineId = localStorage.getItem('machineId')
- console.log('machineId:', machineId)
- localStorage.removeItem('token')
- // localStorage.clear();
- router.push('/login?machineId=' + machineId)
- //添加刷新页面的代码
- // window.location.reload();
- ElMessage.success('退出成功')
-}
+// function logout() {
+// const machineId = localStorage.getItem('machineId')
+// console.log('machineId:', machineId)
+// localStorage.removeItem('token')
+// // localStorage.clear();
+// router.push('/login?machineId=' + machineId)
+// //添加刷新页面的代码
+// // window.location.reload();
+// ElMessage.success('退出成功')
+// }
// 挂载
onMounted(async function () {
diff --git a/src/views/login.vue b/src/views/login.vue
index f764989..efe9035 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -27,9 +27,7 @@ getMachineId()
const router = useRouter() // 获取路由实例
let formData = new FormData()
-// 添加表单数据到FormData对象中
-// formData.append("jwcode", form.value.jwcode);
-// formData.append("password", form.value.password);
+
const form = ref({ jwcode: '', password: '', token: '', machineId: machineId })
//调用方法
@@ -63,7 +61,7 @@ const login = async function () {
} catch (error) {
console.log('请求失败', error)
ElMessage.error('登录失败,请检查账号密码')
- // 在这里可以处理错误逻辑,比如显示错误提示等
+
}
}
@@ -78,7 +76,7 @@ const login = async function () {
class="bg"
fit="fit"
/>
-
+
@@ -113,18 +111,13 @@ const login = async function () {
登录
-
+
+
-
\ No newline at end of file
diff --git a/src/views/managerecharge/rate.vue b/src/views/managerecharge/rate.vue
index 7071076..7f45288 100644
--- a/src/views/managerecharge/rate.vue
+++ b/src/views/managerecharge/rate.vue
@@ -1,4 +1,5 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ scope.$index + 1 + (getObj.pageNum - 1) * getObj.pageSize
+ }}
+
+
+
+
+
+
+ {{ scope.row.num }} :1
+
+
+
+
+
+
+ {{ formatDate(scope.row.updateTime) }}
+
+
+
+
+ {
+ regeEdit = true
+ getEditData(scope.row)
+ }
+ "
+ >编辑
+
+
+
+
+
+
+
+
+
+
+
+>>>>>>> milestone-20250623-金币前端
-
+
-
-
-
-
+
+
+
+
-
-
+
+
:1
-
- (提示:当前规则每 {{ rateEdit.exchangeRate }}
- {{ rateEdit.currency }}可兑换 1 新币)
+
+ (提示:当前规则每
+ {{ rateEdit.num }}
+ {{ rateEdit.rateName }}
+ 可兑换 1 新币)
-
-
-
-
-
-
-
+
@@ -239,6 +551,7 @@ onMounted(() => {
+
+=======
+
+.el-card {
+ padding: 0px;
+}
+
+.pagination {
+ display: flex;
+}
+
+.status {
+ display: flex;
+}
+
+.rate-tip {
+ hyphens: auto;
+}
+>>>>>>> milestone-20250623-金币前端
diff --git a/src/views/permissions/index.vue b/src/views/permissions/index.vue
index ba50192..b910a68 100644
--- a/src/views/permissions/index.vue
+++ b/src/views/permissions/index.vue
@@ -9,9 +9,17 @@ import { UserFilled } from '@element-plus/icons-vue'
import _ from 'lodash'
import request from '@/util/http'
+<<<<<<< HEAD
+=======
+// 客户明细表格
+>>>>>>> milestone-20250623-金币前端
const tableData = ref([])
//分页总条目
const total = ref(100)
+<<<<<<< HEAD
+=======
+// 搜索admin
+>>>>>>> milestone-20250623-金币前端
const admin = ref({})
// 搜索对象
const getObj = ref({
@@ -33,6 +41,10 @@ const editObj = ref({})
// 删除权限的对象
const delObj = ref({})
+<<<<<<< HEAD
+=======
+// 搜索接口search
+>>>>>>> milestone-20250623-金币前端
const get = async function (val) {
try {
if (admin.value.jwcode) {
diff --git a/src/views/permissions/permission.vue b/src/views/permissions/permission.vue
new file mode 100644
index 0000000..175ab05
--- /dev/null
+++ b/src/views/permissions/permission.vue
@@ -0,0 +1,953 @@
+
+
+
+
+
+
+
+
+ OA号:
+
+
+
+ 所属地区:
+
+
+
+
+
+
+ 职位名称:
+
+
+
+
+
+
+ 重置
+ 查询
+
+
+
+
+
+
+
+
+
+
+ 新增用户
+
+
+
+
+
+
+ {{
+ scope.$index + 1 + (getObj.pageNum - 1) * getObj.pageSize
+ }}
+
+
+
+
+
+
+
+
+
+ 总部管理员
+ 分部财务
+ 分部客服
+ 分部经理
+
+
+
+
+
+
+ 修改权限
+
+
+
+
+ 删除
+
+
+
+ 取消
+
+ 确定
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Ref.value.validateField('market')"
+ >
+
+
+
+
+ Ref.value.validateField('permission')"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+
+ 提交
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 员工精网号
+
+
+ {{ permissionEditObj.account }}
+
+
+
+
+
+
+
+ 员工姓名
+
+
+ {{ permissionEditObj.name }}
+
+
+
+
+
+
+
+ 所属地区
+
+
+ {{ permissionEditObj.market }}
+
+
+
+
+
+
+
+ 部门
+
+
+ {{ permissionEditObj.postiton }}
+
+
+
+
+
+
+
+ 权限设置:
+
+ 总部管理员
+ 分部经理
+ 分部财务
+ 分部客服
+
+
+
+
+ 取消
+
+ 提交
+
+
+
+
+
+
+
diff --git a/src/views/recharge/addCoinRecharge.vue b/src/views/recharge/addCoinRecharge.vue
new file mode 100644
index 0000000..0fcd04b
--- /dev/null
+++ b/src/views/recharge/addCoinRecharge.vue
@@ -0,0 +1,1604 @@
+
+
+
+
+
+
+
+
+ 查询
+
+
+
+
+
+
+
+
+ 个
+ 免费金币
+
+ 个
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 仅支持.jpg .png格式,文件≤1MB
+
+
+
+
+
+
+
+
+ 重置
+ 提交
+
+
+
+
+
+ 客户信息
+
+
+
+ {{ user.name }}
+
+
+
+
+
+
+ {{ Number(user.totalRechargeGold / 100) }}
+
+
+
+
+
+
+
+ {{ user.jwcode }}
+
+
+
+
+ {{
+ (user.buyJb + user.free6 + user.free12 + user.coreJb) / 100
+ }}
+ (永久金币:{{ user.buyJb / 100 }};免费金币:{{
+ (user.free6 + user.free12) / 100
+ }};任务金币:{{ user.coreJb / 100 }})
+
+
+
+
+
+ {{ moment(user.firstRechargeDate).format('YYYY-MM-DD HH:mm:ss') }}
+
+
+
+
+
+ {{ user.rechargeTimes }}
+
+
+
+
+
+ {{ user.spendTimes }}
+
+
+
+
+ {{ adminData.area }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 添加
+
+ 行
+ 添加
+
+ 批量设置
+
+ 批量删除
+
+
+
+
+
+
+ {{ scope.$index + 1 }}
+
+
+
+
+
+
+ {{ scope.row.inputErrorMessage }}
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.activityName }}
+
+
+
+
+
+ {{ scope.row.paidGold }}
+
+
+
+
+
+ {{ scope.row.freeGold }}
+
+
+
+
+
+
+
+
+ {{ scope.row.rate }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.payWay }}
+
+
+
+
+
+
+ {{
+ moment(scope.row.rechargeTime).format('YYYY-MM-DD HH:mm:ss')
+ }}
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.rechargeVoucher }}
+
+
+
+
+
+ {{ scope.row.remark }}
+
+
+
+
+
+
+
+
+
+
+
+ 删除
+
+
+
+ 取消
+
+ 确定
+
+
+
+
+
+
+ 重置
+
+
+
+ 取消
+
+ 确定
+
+
+
+
+
+
+
+
+
+
+ 取消
+
+ 提交
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确认
+
+
+
+
+
+
+
diff --git a/src/views/recharge/coinRecharge.vue b/src/views/recharge/coinRecharge.vue
index 9c26211..4267bbe 100644
--- a/src/views/recharge/coinRecharge.vue
+++ b/src/views/recharge/coinRecharge.vue
@@ -1,1209 +1,22 @@
-
-
-
-
-
-
+
+
+
新增充值
-
金币充值明细
+<<<<<<< HEAD
@@ -2143,70 +956,48 @@ onMounted(async function () {
+=======
+
+
+>>>>>>> milestone-20250623-金币前端
-
-
-
-
+
diff --git a/src/views/recharge/coinRechargeDetail.vue b/src/views/recharge/coinRechargeDetail.vue
new file mode 100644
index 0000000..7a0e5b3
--- /dev/null
+++ b/src/views/recharge/coinRechargeDetail.vue
@@ -0,0 +1,770 @@
+
+
+
+
+
+
+
+
+
+ 精网号:
+
+
+
+
+
+ 活动名称:
+
+
+
+
+
+
+
+
+ 所属地区:
+
+
+
+
+
+
+
+
+ 充值类型:
+
+
+
+
+
+
+
+
+
+
+ 充值时间:
+
+ 今
+ 昨
+ 近7天
+
+ 重置
+ 查询
+ 导出Excel
+
+
+
+
+
+
+
+
+
+
+ 充值金额:{{ trueRGold.toFixed(2) }}新币,永久金币:{{
+ trueRGold.toFixed(2)
+ }}金币,免费金币:{{ trueFGold }}金币
+
+
+
+
+
+
+ {{
+ scope.$index + 1 + (getObj.pageNum - 1) * getObj.pageSize
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ moment(scope.row.rechargeTime).format('YYYY-MM-DD HH:mm:ss')
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 无赠送
+ 有赠送
+
+
+
+
+ :1
+ (提示:当前规则每10新币可兑换1免费金币)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/refund/addCoinRefund.vue b/src/views/refund/addCoinRefund.vue
new file mode 100644
index 0000000..1c947ab
--- /dev/null
+++ b/src/views/refund/addCoinRefund.vue
@@ -0,0 +1,560 @@
+
+
+
+
+
+
+
+
+ 查询
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 全部退款
+ 部分退款
+
+
+
+
+
+
+
+ 个
+
+
+
+ 个
+
+
+
+ 个
+
+
+
+
+
+
+
+
+
+
+
+
+ 重置
+ 提交
+
+
+
+
+
+ 客户信息
+
+
+
+ {{ user.name }}
+
+
+
+
+
+
+ {{ Number(user.historySumGold) }}
+
+
+
+
+
+
+
+ {{ user.jwcode }}
+
+
+
+
+ {{
+ (user.nowSumGold)
+ }}
+ (永久金币:{{ user.nowPermanentGold }};免费金币:{{
+ (user.nowFreeGold)
+ }};任务金币:{{ user.nowTaskGold}})
+
+
+
+
+
+ {{ moment(user.firstRecharge).format('YYYY-MM-DD HH:mm:ss') }}
+
+
+
+
+
+ {{ user.rechargeNum }}
+
+
+
+
+
+ {{ user.consumeNum }}
+
+
+
+
+ {{ user.market }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/refund/coinRefund.vue b/src/views/refund/coinRefund.vue
index e29bd2a..482e909 100644
--- a/src/views/refund/coinRefund.vue
+++ b/src/views/refund/coinRefund.vue
@@ -1,1310 +1,61 @@
-
-
-
-
-
-
+
+
+
新增退款
-
金币退款明细
-
-
-
-
-
-
-
-
-
- 查询
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 全部退款
- 部分退款
-
-
-
-
-
-
-
- 个
-
-
-
- 个
-
-
-
- 个
-
-
-
-
-
-
-
-
-
-
-
-
- 重置
- 提交
-
-
-
-
-
- 客户信息
-
-
-
- {{ user.name }}
-
-
-
-
-
-
- {{ Number(user.totalRechargeGold / 100) }}
-
-
-
-
-
-
-
- {{ user.jwcode }}
-
-
-
-
- {{
- (user.buyJb + user.free6 + user.free12 + user.coreJb) / 100
- }}
- (永久金币:{{ user.buyJb / 100 }};免费金币:{{
- (user.free6 + user.free12) / 100
- }};任务金币:{{ user.coreJb / 100 }})
-
-
-
-
-
- {{ moment(user.firstRechargeDate).format('YYYY-MM-DD HH:mm:ss') }}
-
-
-
-
-
- {{ user.rechargeTimes }}
-
-
-
-
-
- {{ user.spendTimes }}
-
-
-
-
- {{ adminData.area }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 精网号:
-
-
-
-
-
-
- 退款类型:
-
-
-
-
-
-
-
- 退款商品:
-
-
-
-
-
-
-
- 所属地区:
-
-
-
-
-
-
-
-
-
- 退款时间:
-
- 今
- 昨
- 近7天
-
- 重置
- 查询
- 导出Excel
-
-
-
-
-
-
-
-
-
-
-
-
- 退款金币总数:{{ Math.abs(trueGold) }},永久金币:{{
- Math.abs(truePgold)
- }},免费金币:{{ Math.abs(trueFgold) }},任务金币:{{
- Math.abs(trueTgold)
- }}
-
-
-
-
-
-
- {{
- scope.$index + 1 + (getObj.pageNum - 1) * getObj.pageSize
- }}
-
-
-
-
-
-
-
-
-
-
- {{
- scope.row.rechargeCoin +
- scope.row.freeCoin +
- scope.row.taskCoin
- }}
-
-
-
-
-
-
-
-
-
-
-
-
- {{ moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') }}
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
+
diff --git a/src/views/refund/coinRefundDetail.vue b/src/views/refund/coinRefundDetail.vue
new file mode 100644
index 0000000..d327af4
--- /dev/null
+++ b/src/views/refund/coinRefundDetail.vue
@@ -0,0 +1,612 @@
+
+
+
+
+
+
+
+
+
+ 精网号:
+
+
+
+
+
+
+ 退款类型:
+
+
+
+
+
+
+
+
+ 退款商品:
+
+
+
+
+
+
+
+ 所属地区:
+
+
+
+
+
+
+
+
+
+ 退款时间:
+
+ 今
+
+ 昨
+ 近7天
+
+ 重置
+ 查询
+ 导出Excel
+
+
+
+
+
+
+
+
+
+
+ 退款金币总数:{{ Math.abs(sumGold) }},永久金币:{{
+ Math.abs(permanentGolds)
+ }},免费金币:{{ Math.abs(freeGolds) }},任务金币:{{
+ Math.abs(taskGolds)
+ }}
+
+
+
+
+
+
+ {{
+ scope.$index + 1 + (getObj.pageNum - 1) * getObj.pageSize
+ }}
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ scope.row.sumGold
+ }}
+
+
+
+
+ {{ scope.row.refundModel === 1 ? '全部退款' : scope.row.refundModel === 2 ? '部分退款' : '' }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/usergold/clientCountBalance.vue b/src/views/usergold/clientCountBalance.vue
index d6c0e69..2c48295 100644
--- a/src/views/usergold/clientCountBalance.vue
+++ b/src/views/usergold/clientCountBalance.vue
@@ -1,3 +1,466 @@
+
+
- 1111
-
\ No newline at end of file
+
+
+
+
+
+ 精网号:
+
+
+
+ 所属地区:
+
+
+
+
+
查询
+
导出Excel
+
+
+
+
+
+
+
+
+
+ 金币总数:{{ Math.abs(goldtotal) }}
+ 永久金币:{{ Math.abs(permanentGold) }}
+ 免费金币:{{ Math.abs(freeGold) }}
+ 任务金币:{{ Math.abs(taskGold) }}
+
+
+
+
+
+
+ {{
+ scope.$index + 1 + (getObj.pageNum - 1) * getObj.pageSize
+ }}
+
+
+
+
+
+
+
+ {{
+ (scope.row.currentPermanentGold +
+ scope.row.currentFreeJune +
+ scope.row.currentFreeDecember +
+ scope.row.currentTaskGold)
+ }}
+
+
+
+
+ {{ Math.abs(scope.row.currentPermanentGold) }}
+
+
+
+
+ {{ scope.row.currentFreeJune }}
+
+
+
+
+ {{ scope.row.currentFreeDecember }}
+
+
+
+
+ {{ Math.abs(scope.row.currentTaskGold) }}
+
+
+
+
+
+ {{
+ (scope.row.sumPermanentGold || 0) +
+ (scope.row.sumFreeJune || 0) +
+ (scope.row.sumFreeDecember || 0) +
+ (scope.row.sumTaskGold || 0)
+ }}
+
+
+
+
+ {{ Math.abs(scope.row.sumConsume) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/usergold/clientCountDetail.vue b/src/views/usergold/clientCountDetail.vue
index 7256755..98263d4 100644
--- a/src/views/usergold/clientCountDetail.vue
+++ b/src/views/usergold/clientCountDetail.vue
@@ -1,4 +1,4 @@
-
+
@@ -501,84 +348,6 @@ onMounted(async function () {
-
-
-
-
-
-
-
-
-
-
-
- 你正在导出所有数据
-
-
- 你正在导出以下数据
-
- 精网号:{{ detailY.jwcode || '' }}
- 平台信息:{{ detailY.consumePlatform ? (platform.find(item => item.value === detailY.consumePlatform)?.label) : '' }}
- 数量更新类型:{{ detailY.num ? (num.find(item => item.value === detailY.num)?.label || '') : '' }}
- 所属地区:{{ detailY.area || '' }}
-
- 更新时间:
-
-
- {{ moment(getTime[0]).format('YYYY-MM-DD HH:mm:ss') }} 至 {{ moment(getTime[1]).format('YYYY-MM-DD HH:mm:ss') }}
-
-
-
-
-
-
-
-
-
-
-
-
- 已导出 {{ Math.round((exportProgress / 100) * total) }} 条 / 共 {{ total }} 条
-
-
- 取消导出
-
-
@@ -588,7 +357,7 @@ onMounted(async function () {
精网号:
平台信息:
-
+
数量更新类型:
所属地区:
+
+ 金币总数:{{ Math.abs(sumGoldTotal) }}
+ 永久金币:{{ Math.abs( permanentGold) }}
+ 免费金币:{{ Math.abs(totalFreeGold) }}
+ 任务金币:{{ Math.abs(taskGold) }}
+
@@ -707,80 +483,73 @@ onMounted(async function () {
label="精网号"
width="120"
/>
-
+
-
-
- 初始化金币
- ERP系统
- Homily Link
- Homily Chart
- 金币系统
-
+
-
-
-
+
+
- 消费
- 充值
- 退款
- 其他
+ 充值
+ 消耗
+ 退款
-
+
- {{ calculateGoldAmount(scope.row) }}
+
+
+ {{
+ scope.row.type === 1 // 消费类型
+ ? - scope.row.sumGold
+ : scope.row.sumGold
+ }}
+
- {{ scope.row.rechargeCoin / 100 }}
+ {{ scope.row. permanentGold }}
- {{ scope.row.freeCoin / 100 }}
+ {{ calculateFreeGold(scope.row) }}
- {{ scope.row.taskCoin / 100 }}
+ {{ scope.row.taskGold }}
-
+
{{
- moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss')
+ moment(scope.row.auditTime).format('YYYY-MM-DD HH:mm:ss')
}}
@@ -810,11 +579,7 @@ onMounted(async function () {
-
-
-
-
-
+
diff --git a/src/views/workspace/index.vue b/src/views/workspace/index.vue
index 3ff2fe5..2d717e0 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')