|
|
@ -1,6 +1,6 @@ |
|
|
|
<script setup> |
|
|
|
import {computed, onMounted, reactive, ref, watch} from 'vue' |
|
|
|
import {ElMessage} from 'element-plus' |
|
|
|
import {computed, onMounted, reactive, ref} from 'vue' |
|
|
|
import {dayjs, ElMessage} from 'element-plus' |
|
|
|
import request from '@/util/http' |
|
|
|
import moment from 'moment' |
|
|
|
|
|
|
@ -11,93 +11,35 @@ import moment from 'moment' |
|
|
|
|
|
|
|
// 精网号去空格 |
|
|
|
const trimJwCode = () => { |
|
|
|
if (rechargeVo.value.jwcode) { |
|
|
|
rechargeVo.value.jwcode = rechargeVo.value.jwcode.replace(/\s/g, ''); |
|
|
|
if (rechargeAudit.value.jwcode) { |
|
|
|
rechargeAudit.value.jwcode = rechargeAudit.value.jwcode.replace(/\s/g, ''); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
const formatTime = (val) => val ? dayjs(val).format('YYYY-MM-DD HH:mm:ss') : '' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* |
|
|
|
===================数据============================ |
|
|
|
*/ |
|
|
|
//这是获取用户信息的接口 |
|
|
|
const adminData = ref({}) |
|
|
|
// 充值明细表格 |
|
|
|
const tableData1 = ref([]) |
|
|
|
const adminData = ref({ |
|
|
|
|
|
|
|
// 模拟充值明细表格 // todo 之后换掉,不用模拟数据 |
|
|
|
const tableData = ref([ |
|
|
|
{ |
|
|
|
name: '测试', |
|
|
|
jwcode: 1001, |
|
|
|
market: "地区1", |
|
|
|
activity: "活动1", |
|
|
|
money: 100, // 充值金额 |
|
|
|
permanentGold: 100, // 永久金币 |
|
|
|
|
|
|
|
freeGold: 50, // 免费金币 |
|
|
|
taskGold: 10, // 任务金币 |
|
|
|
remark: "备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注",//备注 |
|
|
|
reason: "驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由",//驳回理由 |
|
|
|
payMode: "微信",// 支付方式 |
|
|
|
voucher: "https://www.keaitupian.cn/cjpic/frombd/2/253/1659552792/3869332496.jpg",//支付凭证 |
|
|
|
adminName: "提交人姓名", // 提交人姓名 |
|
|
|
auditName: "审核人姓名",// 审核人姓名 // 当前登录人 |
|
|
|
payTime: "2025-6-28 14:31:20",//付款时间 |
|
|
|
createTime: "2025-6-29 14:31:20",//提交时间 |
|
|
|
auditStatus: 0, // 审核状态 (0待审核、1通过、2驳回、3外部传入【默认通过】) |
|
|
|
}, |
|
|
|
{ |
|
|
|
name: '测试2', |
|
|
|
jwcode: 1002, |
|
|
|
market: "地区2", |
|
|
|
activity: "活动2", |
|
|
|
money: 200, // 充值金额 |
|
|
|
permanentGold: 200, // 永久金币 |
|
|
|
|
|
|
|
freeGold: 50, // 免费金币 |
|
|
|
taskGold: 10, // 任务金币 |
|
|
|
remark: "2备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注",//备注 |
|
|
|
reason: "2驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由驳回理由",//驳回理由 |
|
|
|
payMode: "2微信",// 支付方式 |
|
|
|
voucher: "https://www.keaitupian.cn/cjpic/frombd/2/253/1659552792/3869332496.jpg",//支付凭证 |
|
|
|
adminName: "提交人姓名", // 提交人姓名 |
|
|
|
auditName: "审核人姓名",// 审核人姓名 // 当前登录人 |
|
|
|
payTime: "3025-6-28 14:31:20",//付款时间 |
|
|
|
createTime: "3025-6-29 14:31:20",//提交时间 |
|
|
|
auditStatus: 1, // 审核状态 (0待审核、1通过、2驳回、3外部传入【默认通过】) |
|
|
|
}, |
|
|
|
]) |
|
|
|
/* |
|
|
|
name: '', |
|
|
|
jwcode: null, |
|
|
|
market: "", |
|
|
|
activity: "", |
|
|
|
money: null, // 充值金额 |
|
|
|
permanentGold: null, // 永久金币 |
|
|
|
freeGold: null, // 免费金币 |
|
|
|
taskGold: null, // 任务金币 |
|
|
|
remark: "",//备注 |
|
|
|
reason: "",//拒绝理由 |
|
|
|
payMode: "",// 支付方式 |
|
|
|
voucher: "",//支付凭证 |
|
|
|
/!* adminId: null, // 提交人id |
|
|
|
auditId:null,// 审核人id*!/ |
|
|
|
adminName: "", // 提交人姓名 |
|
|
|
auditName: "",// 审核人姓名 // 当前登录人 |
|
|
|
payTime: "",//付款时间 |
|
|
|
createTime: "",//提交时间 |
|
|
|
auditStatus: null, // 审核状态 (0待审核、1通过、2驳回、3外部传入【默认通过】) |
|
|
|
}) |
|
|
|
// 充值明细表格 |
|
|
|
const tableData = ref([]) |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
// 搜索表单数据 |
|
|
|
const rechargeVo = ref({ |
|
|
|
const rechargeAudit = ref({ |
|
|
|
jwcode: null,//精网号 |
|
|
|
activity: "", //活动名称 |
|
|
|
payMode: "",// 支付方式 |
|
|
|
payModel: "",// 支付方式 |
|
|
|
startTime: "", // 充值时间开始 |
|
|
|
endTime: "", // 充值时间结束 |
|
|
|
market: "",//地区 |
|
|
|
auditStatus: "0" |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
@ -117,13 +59,26 @@ const market = ref([]) |
|
|
|
// 驳回弹出框 |
|
|
|
const rejectVisible = ref(false) |
|
|
|
// 驳回对象 |
|
|
|
const rejectObj = ref({}) |
|
|
|
const rejectObj = ref({ |
|
|
|
token: "", |
|
|
|
orderCode: "", |
|
|
|
rejectReason: "", |
|
|
|
auditId: null, |
|
|
|
action: 2 |
|
|
|
|
|
|
|
}) |
|
|
|
// 通过对象 |
|
|
|
const passObj = ref({}) |
|
|
|
const passObj = ref({ |
|
|
|
token: "", |
|
|
|
orderCode: "", |
|
|
|
rejectReason: "", |
|
|
|
auditId: null, |
|
|
|
action: 1 |
|
|
|
}) |
|
|
|
//标签页默认是待审批 |
|
|
|
const activeName = ref('wait') |
|
|
|
// 支付方式选项 |
|
|
|
const payMode = [ |
|
|
|
const payModel = [ |
|
|
|
{ |
|
|
|
value: '微信', |
|
|
|
label: '微信' |
|
|
@ -179,7 +134,7 @@ const sortOrder = ref('') |
|
|
|
|
|
|
|
// 表单验证 |
|
|
|
const rules = reactive({ |
|
|
|
reason: [{required: true, message: '请输入驳回理由', trigger: 'blur'}] |
|
|
|
rejectReason: [{required: true, message: '请输入驳回理由', trigger: 'blur'}] |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
@ -189,7 +144,7 @@ const rules = reactive({ |
|
|
|
const getAdminData = async function () { |
|
|
|
try { |
|
|
|
const result = await request({ |
|
|
|
url: '/admin/userinfo', |
|
|
|
url: 'http://18.143.76.3:10704/admin/userinfo', |
|
|
|
data: {} |
|
|
|
}) |
|
|
|
adminData.value = result |
|
|
@ -200,7 +155,7 @@ const getAdminData = async function () { |
|
|
|
} |
|
|
|
|
|
|
|
// 搜索方法 |
|
|
|
const get = async function (val) { |
|
|
|
const getRecharge = async function (val) { |
|
|
|
try { |
|
|
|
// 搜索参数页码赋值 |
|
|
|
if (typeof val === 'number') { |
|
|
@ -209,44 +164,49 @@ const get = async function (val) { |
|
|
|
// 搜索参数时间赋值 |
|
|
|
if (getTime.value != null) { |
|
|
|
if (getTime.value.startTime != '' && getTime.value.endTime != '') { |
|
|
|
rechargeVo.value.startTime = getTime.value[0] |
|
|
|
rechargeVo.value.endTime = getTime.value[1] |
|
|
|
rechargeAudit.value.startTime = formatTime(getTime.value[0]) |
|
|
|
rechargeAudit.value.endTime = formatTime(getTime.value[1]) |
|
|
|
} |
|
|
|
} else { |
|
|
|
rechargeVo.value.startTime = '' |
|
|
|
rechargeVo.value.endTime = '' |
|
|
|
rechargeAudit.value.startTime = '' |
|
|
|
rechargeAudit.value.endTime = '' |
|
|
|
} |
|
|
|
rechargeVo.value.sortField = sortField.value |
|
|
|
rechargeVo.value.sortOrder = sortOrder.value |
|
|
|
|
|
|
|
|
|
|
|
console.log('搜索参数', getObj.value) |
|
|
|
|
|
|
|
// |
|
|
|
const result = await request({ |
|
|
|
url: '/recharge/recharge', // todo 换接口 |
|
|
|
url: 'http://192.168.8.94:8081/audit/selectRecharge', // todo 换接口 |
|
|
|
data: { |
|
|
|
pageNum: getObj.value.pageNum, |
|
|
|
pageSize: getObj.value.pageSize, |
|
|
|
rechargeVo: { // 这个根据后端换一下 |
|
|
|
...rechargeVo.value, |
|
|
|
sortField: sortField.value, |
|
|
|
sortOrder: sortOrder.value |
|
|
|
rechargeAudit: { // 这个根据后端换一下 |
|
|
|
...rechargeAudit.value, |
|
|
|
// sortField: sortField.value, |
|
|
|
// sortOrder: sortOrder.value |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
// 存储表格数据 |
|
|
|
tableData.value = result.list |
|
|
|
// 存储总条数 |
|
|
|
total.value = result.total |
|
|
|
console.log('搜索结果', result.list) |
|
|
|
|
|
|
|
|
|
|
|
// 合计数接口 还没改 |
|
|
|
// 合计数的接口 |
|
|
|
// 复制一份rechargeVo.value,去掉排序和状态 |
|
|
|
const rechargeVo1 = {...rechargeVo.value} |
|
|
|
const rechargeVo1 = {...rechargeAudit.value} |
|
|
|
delete rechargeVo1.sortField |
|
|
|
delete rechargeVo1.sortOrder |
|
|
|
delete rechargeVo1.auditStatus |
|
|
|
const result2 = await request({ |
|
|
|
url: '/recharge/recharge/RechargeA', // todo 换接口 |
|
|
|
// url: 'http://192.168.8.94:8081/audit/selectRecharge', // todo 换接口 这是统计总数接口 |
|
|
|
data: rechargeVo1 |
|
|
|
}) |
|
|
|
// 统计合计数 |
|
|
|
// todo 没接口 |
|
|
|
/* // 统计合计数 |
|
|
|
if (result2.data) { |
|
|
|
result2.data.forEach((item) => { |
|
|
|
switch (item.auditStatus) { |
|
|
@ -272,7 +232,7 @@ const get = async function (val) { |
|
|
|
break |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
}*/ |
|
|
|
|
|
|
|
trueGold.value = pendingGold.value + approvedGold.value + rejectedGold.value |
|
|
|
trueCount.value = pendingCount.value + approvedCount.value + rejectedCount.value |
|
|
@ -295,17 +255,19 @@ const get = async function (val) { |
|
|
|
const search = function () { |
|
|
|
trimJwCode(); |
|
|
|
getObj.value.pageNum = 1 |
|
|
|
get() |
|
|
|
getObj.value.pageSize = 50 |
|
|
|
getRecharge() |
|
|
|
} |
|
|
|
// 重置 |
|
|
|
const reset = function () { |
|
|
|
delete rechargeVo.value.activity |
|
|
|
delete rechargeVo.value.jwcode |
|
|
|
delete rechargeVo.value.payMode |
|
|
|
delete rechargeVo.value.market |
|
|
|
delete rechargeVo.value.startTime |
|
|
|
delete rechargeVo.value.endTime |
|
|
|
delete rechargeAudit.value.activity |
|
|
|
delete rechargeAudit.value.jwcode |
|
|
|
delete rechargeAudit.value.payModel |
|
|
|
delete rechargeAudit.value.market |
|
|
|
delete rechargeAudit.value.startTime |
|
|
|
delete rechargeAudit.value.endTime |
|
|
|
getTime.value = {} |
|
|
|
getRecharge() |
|
|
|
} |
|
|
|
// 今天 |
|
|
|
const getToday = function () { |
|
|
@ -322,48 +284,48 @@ const getToday = function () { |
|
|
|
) |
|
|
|
getTime.value = [startTime, endTime] |
|
|
|
console.log('getTime', getTime.value) |
|
|
|
get() |
|
|
|
getRecharge() |
|
|
|
} |
|
|
|
// 昨天 |
|
|
|
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 = [startTime, endTime] |
|
|
|
console.log('getTime', getTime.value) |
|
|
|
get() |
|
|
|
getRecharge() |
|
|
|
} |
|
|
|
// 近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 = [startTime, endTime] |
|
|
|
console.log('getTime', getTime.value) |
|
|
|
get() |
|
|
|
getRecharge() |
|
|
|
} |
|
|
|
//待审核充值明细 |
|
|
|
const adminWait = async function () { |
|
|
|
rechargeVo.value.auditStatus = 0 |
|
|
|
rechargeAudit.value.auditStatus = "0" |
|
|
|
getObj.value.pageNum = 1 |
|
|
|
await get() |
|
|
|
await getRecharge() |
|
|
|
console.log('adminWait') |
|
|
|
|
|
|
|
trueCount.value = pendingCount.value |
|
|
@ -373,9 +335,9 @@ const adminWait = async function () { |
|
|
|
} |
|
|
|
//已通过充值明细 |
|
|
|
const adminPass = async function () { |
|
|
|
rechargeVo.value.auditStatus = 1 |
|
|
|
rechargeAudit.value.auditStatus = "1" |
|
|
|
getObj.value.pageNum = 1 |
|
|
|
await get() |
|
|
|
await getRecharge() |
|
|
|
console.log('adminPass') |
|
|
|
trueCount.value = approvedCount.value |
|
|
|
trueGold.value = approvedGold.value |
|
|
@ -384,9 +346,9 @@ const adminPass = async function () { |
|
|
|
} |
|
|
|
//已驳回充值明细 |
|
|
|
const adminReject = async function () { |
|
|
|
rechargeVo.value.auditStatus = 2 |
|
|
|
rechargeAudit.value.auditStatus = "2" |
|
|
|
getObj.value.pageNum = 1 |
|
|
|
await get() |
|
|
|
await getRecharge() |
|
|
|
console.log('adminReject') |
|
|
|
trueCount.value = rejectedCount.value |
|
|
|
trueGold.value = rejectedGold.value |
|
|
@ -405,21 +367,11 @@ const handleClick = function (tab, event) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// watch(activeName, (val) => { |
|
|
|
// if (val === 'wait') { |
|
|
|
// adminWait() |
|
|
|
// } else if (val === 'pass') { |
|
|
|
// adminPass() |
|
|
|
// } else if (val === 'reject') { |
|
|
|
// adminReject() |
|
|
|
// } |
|
|
|
// }) |
|
|
|
|
|
|
|
|
|
|
|
const getActivity = async function () { |
|
|
|
try { |
|
|
|
const result = await request({ |
|
|
|
url: '/recharge/activity/select', |
|
|
|
url: 'http://18.143.76.3:10704/general/activity', |
|
|
|
data: {} |
|
|
|
}) |
|
|
|
activity.value = result.data |
|
|
@ -432,7 +384,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 |
|
|
@ -443,27 +395,30 @@ const getMarket = async function () { |
|
|
|
} |
|
|
|
const handlePageSizeChange = function (val) { |
|
|
|
getObj.value.pageSize = val |
|
|
|
get() |
|
|
|
getRecharge() |
|
|
|
} |
|
|
|
const handleCurrentChange = function (val) { |
|
|
|
getObj.value.pageNum = val |
|
|
|
get() |
|
|
|
getRecharge() |
|
|
|
} |
|
|
|
|
|
|
|
// 编辑==================================== |
|
|
|
// 通过按钮 |
|
|
|
const pass = function (row) { |
|
|
|
// 通过初始化 |
|
|
|
passObj.value = row |
|
|
|
passObj.value.adminId = adminData.value.adminId |
|
|
|
passObj.value.auditId = row.auditId |
|
|
|
// 审核id 就是当前登录人 即 adminId |
|
|
|
// passObj.value.auditId = adminData.value.adminId |
|
|
|
// todo 一定要删除 换成上面的 |
|
|
|
passObj.value.auditId = 1 |
|
|
|
passObj.value.orderCode = row.orderCode |
|
|
|
|
|
|
|
// passObj.value.auditStatus = 1 |
|
|
|
passObj.value.rechargeId = row.rechargeId |
|
|
|
passObj.value.detailId = row.detailId |
|
|
|
passObj.value.jwcode = row.jwcode |
|
|
|
passObj.value.paidGold = row.paidGold |
|
|
|
passObj.value.freeGold = row.freeGold |
|
|
|
passObj.value.adminName = adminData.value.adminName |
|
|
|
// passObj.value.rechargeId = row.rechargeId |
|
|
|
// passObj.value.detailId = row.detailId |
|
|
|
// passObj.value.jwcode = row.jwcode |
|
|
|
// passObj.value.paidGold = row.paidGold |
|
|
|
// passObj.value.freeGold = row.freeGold |
|
|
|
// passObj.value.adminName = adminData.value.adminName |
|
|
|
|
|
|
|
console.log('通过对象', passObj.value) |
|
|
|
} |
|
|
@ -471,16 +426,16 @@ const pass = function (row) { |
|
|
|
const passConfirm = async function () { |
|
|
|
try { |
|
|
|
// 也许大概应该在点击确认时改变状态 |
|
|
|
passObj.value.auditStatus = 1 |
|
|
|
passObj.value.action = 1 |
|
|
|
console.log('通过对象', passObj.value) |
|
|
|
// 发送POST请求 |
|
|
|
// passObj.value.flag = 0; |
|
|
|
const result = await request({ |
|
|
|
url: '/audit/audit/goldedit', |
|
|
|
url: 'http://192.168.8.94:8081/audit/audit', |
|
|
|
data: passObj.value |
|
|
|
}) |
|
|
|
console.log('请求成功', result) |
|
|
|
get() |
|
|
|
await getRecharge() |
|
|
|
//提示 |
|
|
|
ElMessage({ |
|
|
|
type: 'success', |
|
|
@ -505,14 +460,19 @@ const closeRejectVisible = function () { |
|
|
|
} |
|
|
|
// 驳回按钮 |
|
|
|
const reject = function (row) { |
|
|
|
console.log('row', row) |
|
|
|
// 驳回初始化 |
|
|
|
rejectObj.value.adminId = adminData.value.adminId |
|
|
|
rejectObj.value.auditId = row.auditId |
|
|
|
rejectObj.value.auditStatus = 2 |
|
|
|
rejectObj.value.reason = '' |
|
|
|
rejectObj.value.rechargeId = row.rechargeId |
|
|
|
rejectObj.value.detailId = row.detailId |
|
|
|
// 审核id 就是当前登录人 即 adminId |
|
|
|
// rejectObj.value.auditId = adminData.value.adminId |
|
|
|
// todo 一定要删除 换成上面的 |
|
|
|
passObj.value.auditId = 1 |
|
|
|
|
|
|
|
rejectObj.value.orderCode = row.orderCode |
|
|
|
console.log('驳回对象', rejectObj.value) |
|
|
|
// 驳回理由 |
|
|
|
rejectObj.value.rejectReason = '' |
|
|
|
|
|
|
|
console.log('驳回对象!!!!!!!!', rejectObj.value) |
|
|
|
openRejectVisible() |
|
|
|
} |
|
|
|
// 驳回确认 |
|
|
@ -523,11 +483,11 @@ const rejectConfirm = async function () { |
|
|
|
console.log('驳回对象', rejectObj.value) |
|
|
|
// 发送POST请求 |
|
|
|
const result = await request({ |
|
|
|
url: '/audit/audit/goldedit', |
|
|
|
url: 'http://192.168.8.94:8081/audit/audit', |
|
|
|
data: rejectObj.value |
|
|
|
}) |
|
|
|
console.log('请求成功', result) |
|
|
|
get() |
|
|
|
await getRecharge() |
|
|
|
closeRejectVisible()// 关闭弹出框 |
|
|
|
ElMessage({ |
|
|
|
type: 'success', |
|
|
@ -563,7 +523,7 @@ const handleSortChange = (column) => { |
|
|
|
sortField.value = 'audit_time' |
|
|
|
} |
|
|
|
sortOrder.value = column.order === 'ascending' ? 'ASC' : 'DESC' |
|
|
|
get() |
|
|
|
getRecharge() |
|
|
|
} |
|
|
|
|
|
|
|
// 预览图片函数 |
|
|
@ -615,8 +575,9 @@ const formattedTrueFGold = computed(() => trueFGold.value.toFixed(2)) |
|
|
|
onMounted(async function () { |
|
|
|
await getAdminData() |
|
|
|
await getActivity() |
|
|
|
await get() |
|
|
|
await getRecharge() |
|
|
|
await getMarket() |
|
|
|
// await search() |
|
|
|
}) |
|
|
|
|
|
|
|
</script> |
|
|
@ -628,25 +589,25 @@ onMounted(async function () { |
|
|
|
<el-row style="margin-bottom: 5px"> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-text size="large">精网号:</el-text> |
|
|
|
<el-input v-model="rechargeVo.jwcode" placeholder="请输入精网号" style="width: 240px" clearable/> |
|
|
|
<el-input v-model="rechargeAudit.jwcode" placeholder="请输入精网号" style="width: 240px" clearable/> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-text size="large">活动名称:</el-text> |
|
|
|
<el-select v-model="rechargeVo.activity" placeholder="请选择活动名称" style="width: 240px" clearable> |
|
|
|
<el-option v-for="item in activity" :key="item.activityId" :label="item.activityName" |
|
|
|
:value="item.activityId"/> |
|
|
|
<el-select v-model="rechargeAudit.activity" placeholder="请选择活动名称" style="width: 240px" clearable> |
|
|
|
<el-option v-for="item in activity" :key="item" :label="item" |
|
|
|
:value="item"/> |
|
|
|
</el-select> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-text size="large">支付方式:</el-text> |
|
|
|
<el-select v-model="rechargeVo.payMode" placeholder="请选择支付方式" style="width: 240px" clearable> |
|
|
|
<el-option v-for="item in payMode" :key="item.value" :label="item.label" :value="item.value"/> |
|
|
|
<el-text size="large">充值方式:</el-text> |
|
|
|
<el-select v-model="rechargeAudit.payModel" placeholder="请选择充值方式" style="width: 240px" clearable> |
|
|
|
<el-option v-for="item in payModel" :key="item.value" :label="item.label" :value="item.value"/> |
|
|
|
</el-select> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<div class="head-card-element" v-if="adminData.market == '总部'"> |
|
|
|
<div class="head-card-element"> |
|
|
|
<el-text size="large">所属地区:</el-text> |
|
|
|
<el-select v-model="rechargeVo.market" placeholder="请选择所属地区" style="width: 240px" clearable> |
|
|
|
<el-select v-model="rechargeAudit.market" placeholder="请选择所属地区" style="width: 240px" clearable> |
|
|
|
<el-option v-for="item in market" :key="item" :label="item" :value="item"/> |
|
|
|
</el-select> |
|
|
|
</div> |
|
|
@ -684,9 +645,9 @@ onMounted(async function () { |
|
|
|
|
|
|
|
<div> <!--todo 改这里 总数的--> |
|
|
|
总条数:{{ trueCount }}条 |
|
|
|
总金币数:{{ formattedTrueGold }}金币 |
|
|
|
永久金币:{{ formattedTrueRGold }}金币 |
|
|
|
免费金币:{{ formattedTrueFGold }}金币 |
|
|
|
总金币数:{{ formattedTrueGold / 100 }}金币 |
|
|
|
永久金币:{{ formattedTrueRGold / 100 }}金币 |
|
|
|
免费金币:{{ formattedTrueFGold / 100 }}金币 |
|
|
|
</div> |
|
|
|
</el-tabs> |
|
|
|
|
|
|
@ -703,16 +664,18 @@ onMounted(async function () { |
|
|
|
<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="money" label="充值金额" sortable="custom" width="110px"/> |
|
|
|
<el-table-column prop="permanentGold" label="充值金额" sortable="custom" width="110px"> |
|
|
|
<template #default="scope">{{ scope.row.permanentGold / 100 }}</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="permanentGold" label="永久金币" width="110px" sortable="custom"> |
|
|
|
<template #default="scope">{{ scope.row.permanentGold }}</template> |
|
|
|
<template #default="scope">{{ scope.row.permanentGold / 100 }}</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="freeGold" label="免费金币" sortable="custom" width="110px"> |
|
|
|
<template #default="scope">{{ scope.row.freeGold }}</template> |
|
|
|
<template #default="scope">{{ scope.row.freeGold / 100 }}</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="remark" label="备注" width="200px" show-overflow-tooltip/> |
|
|
|
|
|
|
|
<el-table-column prop="payMode" label="支付方式" width="110px"/> |
|
|
|
<el-table-column prop="payModel" label="支付方式" width="110px"/> |
|
|
|
<el-table-column prop="voucher" label="支付凭证" width="110px"> |
|
|
|
<!-- 支付凭证列,支持点击放大预览 --> |
|
|
|
<template #default="scope"> |
|
|
@ -728,12 +691,13 @@ onMounted(async function () { |
|
|
|
<!-- |
|
|
|
字太多就悬停显示 |
|
|
|
--> |
|
|
|
<el-table-column prop="reason" label="驳回理由" width="200px" show-overflow-tooltip/> |
|
|
|
<el-table-column prop="rejectReason" v-if="activeName === 'reject'" label="驳回理由" width="200px" |
|
|
|
show-overflow-tooltip/> |
|
|
|
|
|
|
|
<el-table-column v-if="activeName!== 'wait'" prop="auditName" label="审核人" width="100px"/> |
|
|
|
<el-table-column prop="payTime" sortable="custom" label="付款时间" width="200px"> |
|
|
|
<template #default="scope"> |
|
|
|
{{ moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') }} |
|
|
|
{{ moment(scope.row.payTime).format('YYYY-MM-DD HH:mm:ss') }} |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="createTime" sortable="custom" label="提交时间" width="200px"> |
|
|
@ -784,8 +748,9 @@ onMounted(async function () { |
|
|
|
<el-dialog v-model="rejectVisible" title="驳回理由" width="500" :before-close="closeRejectVisible"> |
|
|
|
<template #footer> |
|
|
|
<el-form :model="rejectObj" ref="Ref" :rules="rules" label-width="auto" style="max-width: 600px"> |
|
|
|
<el-form-item prop="reason" label="驳回理由:"> |
|
|
|
<el-input v-model="rejectObj.reason" maxlength="150" show-word-limit style="width: 350px" type="textarea" |
|
|
|
<el-form-item prop="rejectReason" label="驳回理由:"> |
|
|
|
<el-input v-model="rejectObj.rejectReason" maxlength="150" show-word-limit style="width: 350px" |
|
|
|
type="textarea" |
|
|
|
placeholder="请输入内容"/> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|