|
@ -1,19 +1,15 @@ |
|
|
<script setup> |
|
|
<script setup> |
|
|
import { computed, onMounted, reactive, ref, watch } from 'vue' |
|
|
|
|
|
|
|
|
import { computed, reactive, ref, watch } from 'vue' |
|
|
import { ElMessage, ElMessageBox } from 'element-plus' |
|
|
import { ElMessage, ElMessageBox } from 'element-plus' |
|
|
import API from '@/util/http.js' |
|
|
import API from '@/util/http.js' |
|
|
import moment from 'moment' |
|
|
|
|
|
import { useAdminStore } from "@/store/index.js"; |
|
|
import { useAdminStore } from "@/store/index.js"; |
|
|
import { storeToRefs } from "pinia"; |
|
|
import { storeToRefs } from "pinia"; |
|
|
import { findMenuById, permissionMapping } from "@/utils/menuTreePermission.js" |
|
|
import { findMenuById, permissionMapping } from "@/utils/menuTreePermission.js" |
|
|
import { ta } from 'element-plus/es/locales.mjs'; |
|
|
|
|
|
|
|
|
import { e } from 'mathjs'; |
|
|
|
|
|
|
|
|
const adminStore = useAdminStore(); |
|
|
const adminStore = useAdminStore(); |
|
|
const { adminData, menuTree } = storeToRefs(adminStore); |
|
|
const { adminData, menuTree } = storeToRefs(adminStore); |
|
|
|
|
|
|
|
|
const addRe = ref({ |
|
|
|
|
|
typeR: '0' |
|
|
|
|
|
}) |
|
|
|
|
|
const tableData = ref([]) |
|
|
const tableData = ref([]) |
|
|
const pagination = ref({ |
|
|
const pagination = ref({ |
|
|
pageNum: 1, |
|
|
pageNum: 1, |
|
@ -27,12 +23,13 @@ const trimJwCode = () => { |
|
|
addRefund.value.jwcode = addRefund.value.jwcode.replace(/\s/g, ''); |
|
|
addRefund.value.jwcode = addRefund.value.jwcode.replace(/\s/g, ''); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 这是添加退款信息的表单 |
|
|
// 这是添加退款信息的表单 |
|
|
const addRefund = ref({ |
|
|
const addRefund = ref({ |
|
|
jwcode: '', |
|
|
jwcode: '', |
|
|
goodsName: '', |
|
|
goodsName: '', |
|
|
refundType: '', |
|
|
refundType: '', |
|
|
refundModel: 0, |
|
|
|
|
|
|
|
|
refundModel: 0, // 0:全部退款, 1:部分退款 |
|
|
permanentGold: '', |
|
|
permanentGold: '', |
|
|
freeGold: '', |
|
|
freeGold: '', |
|
|
taskGold: '', |
|
|
taskGold: '', |
|
@ -58,9 +55,18 @@ const cancel = function () { |
|
|
adminId: adminData.value.id, |
|
|
adminId: adminData.value.id, |
|
|
orderCode: '', |
|
|
orderCode: '', |
|
|
} |
|
|
} |
|
|
addRe.value.typeR = '0' |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
const getRefund = async function () { |
|
|
const getRefund = async function () { |
|
|
|
|
|
if (!addRefund.value.jwcode) { |
|
|
|
|
|
ElMessage.error('请输入精网号') |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
addRefund.value.orderCode = '' |
|
|
|
|
|
addRefund.value.goodsName = '' |
|
|
|
|
|
addRefund.value.permanentGold = '' |
|
|
|
|
|
addRefund.value.freeGold = '' |
|
|
|
|
|
addRefund.value.taskGold = '' |
|
|
let type = null |
|
|
let type = null |
|
|
if (addRefund.value.refundType === '商品退款') { |
|
|
if (addRefund.value.refundType === '商品退款') { |
|
|
type = 1 |
|
|
type = 1 |
|
@ -86,6 +92,15 @@ const getRefund = async function () { |
|
|
}) |
|
|
}) |
|
|
tableData.value = res.data.list |
|
|
tableData.value = res.data.list |
|
|
pagination.value.total = res.data.total |
|
|
pagination.value.total = res.data.total |
|
|
|
|
|
if (Array.isArray(res.data.list) && res.data.list.length > 0) { |
|
|
|
|
|
orderCodes.value = res.data.list.map(item => ({ |
|
|
|
|
|
label: item.orderCode, |
|
|
|
|
|
value: item.orderCode |
|
|
|
|
|
})) |
|
|
|
|
|
console.log("看看订单号们", orderCodes.value) |
|
|
|
|
|
} else { |
|
|
|
|
|
ElMessage.info("未查询到相关订单") |
|
|
|
|
|
} |
|
|
} catch (error) { |
|
|
} catch (error) { |
|
|
console.log('goldDetail有错误', error) |
|
|
console.log('goldDetail有错误', error) |
|
|
ElMessage.error('请求失败') |
|
|
ElMessage.error('请求失败') |
|
@ -96,9 +111,6 @@ const getRefund = async function () { |
|
|
// 这是添加退款信息的接口 |
|
|
// 这是添加退款信息的接口 |
|
|
const add = async function () { |
|
|
const add = async function () { |
|
|
try { |
|
|
try { |
|
|
|
|
|
|
|
|
// 更新 refundModel |
|
|
|
|
|
addRefund.value.refundModel = parseInt(addRe.value.typeR); |
|
|
|
|
|
if (addRefund.value.refundType === '商品退款') { |
|
|
if (addRefund.value.refundType === '商品退款') { |
|
|
addRefund.value.type = 1 |
|
|
addRefund.value.type = 1 |
|
|
} else { |
|
|
} else { |
|
@ -107,11 +119,12 @@ const add = async function () { |
|
|
// 对提交的金币数乘以 100 |
|
|
// 对提交的金币数乘以 100 |
|
|
const processedRefund = { |
|
|
const processedRefund = { |
|
|
...addRefund.value, |
|
|
...addRefund.value, |
|
|
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 |
|
|
|
|
|
|
|
|
permanentGold: addRefund.value.permanentGold * 100, |
|
|
|
|
|
freeGold: addRefund.value.freeGold * 100, |
|
|
|
|
|
taskGold: addRefund.value.taskGold * 100, |
|
|
|
|
|
sumGold: addRefund.value.sumGold * 100 |
|
|
} |
|
|
} |
|
|
|
|
|
console.log('提交的退款信息', processedRefund) |
|
|
addDisabled.value = true |
|
|
addDisabled.value = true |
|
|
// 发送POST请求 |
|
|
// 发送POST请求 |
|
|
const result = await API({ |
|
|
const result = await API({ |
|
@ -130,9 +143,11 @@ const add = async function () { |
|
|
cancel() |
|
|
cancel() |
|
|
} catch (error) { |
|
|
} catch (error) { |
|
|
console.log('请求失败', error) |
|
|
console.log('请求失败', error) |
|
|
// 在这里可以处理错误逻辑,比如显示错误提示等 |
|
|
|
|
|
|
|
|
ElMessage.error('请求失败,请重试') |
|
|
|
|
|
addDisabled.value = false |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 提交禁止重复点击 |
|
|
// 提交禁止重复点击 |
|
|
const addDisabled = ref(false) |
|
|
const addDisabled = ref(false) |
|
|
|
|
|
|
|
@ -140,22 +155,9 @@ const addDisabled = ref(false) |
|
|
const addBefore = () => { |
|
|
const addBefore = () => { |
|
|
Ref.value.validate(async (valid) => { |
|
|
Ref.value.validate(async (valid) => { |
|
|
if (valid) { |
|
|
if (valid) { |
|
|
|
|
|
|
|
|
// try { |
|
|
|
|
|
// await getUser(addRefund.value.jwcode); |
|
|
|
|
|
// if (!user.value.jwcode) { |
|
|
|
|
|
// ElMessage.error('请先验证有效的精网号'); |
|
|
|
|
|
// return; |
|
|
|
|
|
// } |
|
|
|
|
|
// } catch (error) { |
|
|
|
|
|
// ElMessage.error('精网号验证失败'); |
|
|
|
|
|
// return; |
|
|
|
|
|
// } |
|
|
|
|
|
|
|
|
|
|
|
ElMessageBox.confirm('确认退款?') |
|
|
ElMessageBox.confirm('确认退款?') |
|
|
.then(() => { |
|
|
.then(() => { |
|
|
add() |
|
|
add() |
|
|
console.log('退款成功') |
|
|
|
|
|
}) |
|
|
}) |
|
|
.catch(() => { |
|
|
.catch(() => { |
|
|
console.log('取消退款') |
|
|
console.log('取消退款') |
|
@ -171,10 +173,7 @@ const addBefore = () => { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 表单验证 |
|
|
// 表单验证 |
|
|
// 开始时间改变时,重新验证结束时间 |
|
|
|
|
|
const Ref = ref(null) |
|
|
const Ref = ref(null) |
|
|
const startChange = (val) => { |
|
|
|
|
|
} |
|
|
|
|
|
const validateJwCode = (rule, value, callback) => { |
|
|
const validateJwCode = (rule, value, callback) => { |
|
|
if (!value) { |
|
|
if (!value) { |
|
|
callback(new Error('精网号不能为空')); |
|
|
callback(new Error('精网号不能为空')); |
|
@ -211,7 +210,6 @@ const rules = reactive({ |
|
|
] |
|
|
] |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 取消按钮 |
|
|
// 取消按钮 |
|
|
const cancelExceptJwcode = function () { |
|
|
const cancelExceptJwcode = function () { |
|
|
addRefund.value = { |
|
|
addRefund.value = { |
|
@ -226,7 +224,6 @@ const cancelExceptJwcode = function () { |
|
|
remark: '', |
|
|
remark: '', |
|
|
adminId: adminData.value.id |
|
|
adminId: adminData.value.id |
|
|
} |
|
|
} |
|
|
addRe.value.typeR = '0' |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 查找客户信息的方法 |
|
|
// 查找客户信息的方法 |
|
@ -292,86 +289,49 @@ const refundType = ref([ |
|
|
{ value: '金币退款', label: '金币退款' } |
|
|
{ value: '金币退款', label: '金币退款' } |
|
|
]); |
|
|
]); |
|
|
|
|
|
|
|
|
// 根据精网号查询商品 |
|
|
|
|
|
const goodsName = ref([]) // 存储所有商品信息 |
|
|
|
|
|
const orderCodes = ref([]) // 订单号下拉 |
|
|
|
|
|
|
|
|
|
|
|
const getGoods = async function (jwcode) { |
|
|
|
|
|
trimJwCode(); |
|
|
|
|
|
if (!/^\d{1,9}$/.test(jwcode)) { |
|
|
|
|
|
ElMessage.warning('精网号必须为数字且不超过九位'); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// 存储所有商品信息和订单号下拉数据 |
|
|
|
|
|
const goodsName = ref([]) |
|
|
|
|
|
const orderCodes = ref([]) |
|
|
|
|
|
|
|
|
if (!addRefund.value.jwcode) { |
|
|
|
|
|
goodsName.value = [] |
|
|
|
|
|
orderCodes.value = [] |
|
|
|
|
|
return; |
|
|
|
|
|
|
|
|
// 根据订单号自动带出商品名和金币信息 |
|
|
|
|
|
const handleOrderChange = (orderCode) => { |
|
|
|
|
|
addRefund.value.goodsName = '' |
|
|
|
|
|
addRefund.value.permanentGold = '' |
|
|
|
|
|
addRefund.value.freeGold = '' |
|
|
|
|
|
addRefund.value.taskGold = '' |
|
|
|
|
|
const order = tableData.value.find(item => item.orderCode === orderCode) |
|
|
|
|
|
if (order) { |
|
|
|
|
|
addRefund.value.goodsName = order.goodsName |
|
|
|
|
|
if (addRefund.value.refundType === '金币退款') { |
|
|
|
|
|
selectedGoodsGold.value = { |
|
|
|
|
|
permanentGold: Number(order.permanentGold) || 0, |
|
|
|
|
|
freeGold: Number(order.freeGold) || 0, |
|
|
|
|
|
taskGold: Number(order.taskGold) || 0 |
|
|
} |
|
|
} |
|
|
console.log('=======================', addRefund.value.refundType) |
|
|
|
|
|
if (addRefund.value.refundType === '商品退款') { |
|
|
|
|
|
addRefund.value.type = 1 |
|
|
|
|
|
} else { |
|
|
} else { |
|
|
addRefund.value.type = 0 |
|
|
|
|
|
|
|
|
selectedGoodsGold.value = { |
|
|
|
|
|
permanentGold: -Number(order.permanentGold) || 0, |
|
|
|
|
|
freeGold: -Number(order.freeGold) || 0, |
|
|
|
|
|
taskGold: -Number(order.taskGold) || 0 |
|
|
} |
|
|
} |
|
|
try { |
|
|
|
|
|
const result = await API({ |
|
|
|
|
|
url: '/refund/selectGoods', |
|
|
|
|
|
data: { |
|
|
|
|
|
jwcode: addRefund.value.jwcode, |
|
|
|
|
|
type: addRefund.value.type |
|
|
|
|
|
} |
|
|
} |
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
if (Array.isArray(result.data)) { |
|
|
|
|
|
// 存储完整商品数据 |
|
|
|
|
|
goodsName.value = result.data.map(item => ({ |
|
|
|
|
|
orderCode: item.orderCode, |
|
|
|
|
|
goodsName: item.goodsName, |
|
|
|
|
|
permanentGold: Math.abs(Number((item.permanentGold) || 0) / 100), |
|
|
|
|
|
freeGold: Math.abs(Number((item.freeGold) || 0) / 100), |
|
|
|
|
|
taskGold: Math.abs(Number((item.taskGold) || 0) / 100), |
|
|
|
|
|
})) |
|
|
|
|
|
|
|
|
|
|
|
// 转换订单号数组 [{label, value}] |
|
|
|
|
|
orderCodes.value = result.data.map(item => ({ |
|
|
|
|
|
label: item.orderCode, |
|
|
|
|
|
value: item.orderCode |
|
|
|
|
|
})) |
|
|
|
|
|
} else { |
|
|
|
|
|
ElMessage.error('商品数据格式错误,请联系管理员') |
|
|
|
|
|
|
|
|
// 全部退款的填充 |
|
|
|
|
|
if (addRefund.value.refundModel === 0) { |
|
|
|
|
|
addRefund.value.permanentGold = selectedGoodsGold.value.permanentGold.toString() |
|
|
|
|
|
addRefund.value.freeGold = selectedGoodsGold.value.freeGold.toString() |
|
|
|
|
|
addRefund.value.taskGold = selectedGoodsGold.value.taskGold.toString() |
|
|
} |
|
|
} |
|
|
} catch (error) { |
|
|
|
|
|
console.log('请求失败', error) |
|
|
|
|
|
ElMessage.error('查询商品失败,请检查精网号是否正确') |
|
|
|
|
|
goodsName.value = [] |
|
|
|
|
|
orderCodes.value = [] |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 根据订单号自动带出商品名 |
|
|
|
|
|
const handleOrderChange = (orderCode) => { |
|
|
|
|
|
const selected = goodsName.value.find(item => item.orderCode === orderCode) |
|
|
|
|
|
if (selected) { |
|
|
|
|
|
addRefund.value.goodsName = selected.goodsName |
|
|
|
|
|
// 退款方式是“全部退款”时,自动填充金币 |
|
|
|
|
|
if (addRe.value.typeR === '0') { |
|
|
|
|
|
addRefund.value.permanentGold = selected.permanentGold |
|
|
|
|
|
addRefund.value.freeGold = selected.freeGold |
|
|
|
|
|
addRefund.value.taskGold = selected.taskGold |
|
|
|
|
|
} |
|
|
|
|
|
// 记录选中商品金币 |
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
addRefund.value.goodsName = '' |
|
|
selectedGoodsGold.value = { |
|
|
selectedGoodsGold.value = { |
|
|
permanentGold: selected.permanentGold, |
|
|
|
|
|
freeGold: selected.freeGold, |
|
|
|
|
|
taskGold: selected.taskGold |
|
|
|
|
|
|
|
|
permanentGold: 0, |
|
|
|
|
|
freeGold: 0, |
|
|
|
|
|
taskGold: 0 |
|
|
} |
|
|
} |
|
|
} else { |
|
|
|
|
|
restGoods() |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 存储选中商品的金币花费信息 |
|
|
// 存储选中商品的金币花费信息 |
|
|
const selectedGoodsGold = ref({ |
|
|
const selectedGoodsGold = ref({ |
|
|
permanentGold: 0, |
|
|
permanentGold: 0, |
|
@ -388,15 +348,13 @@ const restGoods = () => { |
|
|
addRefund.value.taskGold = '' |
|
|
addRefund.value.taskGold = '' |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 处理退款方式切换,当部分退款切换全部退款时,退款金额应自动重新填充 |
|
|
|
|
|
|
|
|
// 处理退款方式切换 |
|
|
const handleRefundModelChange = () => { |
|
|
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; |
|
|
|
|
|
|
|
|
// 全部退款的自动填充 上面有 |
|
|
|
|
|
if (addRefund.value.refundModel === 0) { |
|
|
|
|
|
addRefund.value.permanentGold = selectedGoodsGold.value.permanentGold.toString(); |
|
|
|
|
|
addRefund.value.freeGold = selectedGoodsGold.value.freeGold.toString(); |
|
|
|
|
|
addRefund.value.taskGold = selectedGoodsGold.value.taskGold.toString(); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -419,6 +377,7 @@ const handleSelectionChange = (selectedOption) => { |
|
|
} |
|
|
} |
|
|
console.log('选择的商品', selectedOption); |
|
|
console.log('选择的商品', selectedOption); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 统一的输入处理函数 |
|
|
// 统一的输入处理函数 |
|
|
const handleGoldInput = (type, value) => { |
|
|
const handleGoldInput = (type, value) => { |
|
|
// 1. 过滤非法字符(只允许数字和小数点) |
|
|
// 1. 过滤非法字符(只允许数字和小数点) |
|
@ -485,7 +444,6 @@ const calculatedRechargeGoods = computed(() => { |
|
|
|
|
|
|
|
|
watch(calculatedRechargeGoods, (newVal) => { |
|
|
watch(calculatedRechargeGoods, (newVal) => { |
|
|
addRefund.value.sumGold = newVal |
|
|
addRefund.value.sumGold = newVal |
|
|
console.log('计算的总金币', newVal) |
|
|
|
|
|
}) |
|
|
}) |
|
|
const handlePageSizeChange = function (val) { |
|
|
const handlePageSizeChange = function (val) { |
|
|
pagination.value.pageSize = val |
|
|
pagination.value.pageSize = val |
|
@ -495,7 +453,6 @@ const handleCurrentChange = function (val) { |
|
|
pagination.value.pageNum = val |
|
|
pagination.value.pageNum = val |
|
|
getRefund() |
|
|
getRefund() |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
</script> |
|
|
</script> |
|
|
|
|
|
|
|
|
<template> |
|
|
<template> |
|
@ -526,31 +483,33 @@ const handleCurrentChange = function (val) { |
|
|
<el-input v-model="addRefund.goodsName" style="width: 220px" disabled /> |
|
|
<el-input v-model="addRefund.goodsName" style="width: 220px" disabled /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-form-item prop="refundModel" label="退款方式:"> |
|
|
<el-form-item prop="refundModel" label="退款方式:"> |
|
|
<el-radio-group v-model="addRe.typeR" @change="handleRefundModelChange"> |
|
|
|
|
|
<el-radio value="0">全部退款</el-radio> |
|
|
|
|
|
<el-radio value="1">部分退款</el-radio> |
|
|
|
|
|
|
|
|
<el-radio-group v-model="addRefund.refundModel" @change="handleRefundModelChange"> |
|
|
|
|
|
<el-radio :value="0">全部退款</el-radio> |
|
|
|
|
|
<el-radio :value="1">部分退款</el-radio> |
|
|
</el-radio-group> |
|
|
</el-radio-group> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
<el-form-item prop="permanentGold" label="永久金币"> |
|
|
<el-form-item prop="permanentGold" label="永久金币"> |
|
|
<el-input v-model="addRefund.permanentGold" style="width: 220px" |
|
|
|
|
|
:disabled="addRe.typeR === '0' ? true : false" @input="handlePermanentGoldInput($event)" type="number"> |
|
|
|
|
|
|
|
|
<el-input v-model="addRefund.permanentGold" style="width: 220px" :disabled="addRefund.refundModel === 0" |
|
|
|
|
|
@input="handlePermanentGoldInput($event)" type="number"> |
|
|
</el-input> 个 |
|
|
</el-input> 个 |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<template> |
|
|
|
|
|
|
|
|
|
|
|
</template> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
<el-form-item prop="freeGold" label="免费金币"> |
|
|
<el-form-item prop="freeGold" label="免费金币"> |
|
|
<el-input v-model="addRefund.freeGold" style="float: left; width: 220px" |
|
|
<el-input v-model="addRefund.freeGold" style="float: left; width: 220px" |
|
|
:disabled="addRe.typeR === '0' ? true : false" @input="handleFreeGoldInput($event)" type="number" /> |
|
|
|
|
|
|
|
|
:disabled="addRefund.refundModel === 0" @input="handleFreeGoldInput($event)" type="number" /> |
|
|
个 |
|
|
个 |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
<div> |
|
|
<div> |
|
|
<el-form-item prop="taskGold" label="任务金币"> |
|
|
<el-form-item prop="taskGold" label="任务金币"> |
|
|
<el-input v-model="addRefund.taskGold" style="float: left; width: 220px" |
|
|
<el-input v-model="addRefund.taskGold" style="float: left; width: 220px" |
|
|
:disabled="addRe.typeR === '0' ? true : false" @input="handleTaskGoldInput($event)" type="number" /> |
|
|
|
|
|
|
|
|
:disabled="addRefund.refundModel === 0" @input="handleTaskGoldInput($event)" type="number" /> |
|
|
个 |
|
|
个 |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</div> |
|
|
</div> |
|
@ -561,7 +520,6 @@ const handleCurrentChange = function (val) { |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</div> |
|
|
</div> |
|
|
<div> |
|
|
<div> |
|
|
|
|
|
|
|
|
<el-form-item prop="remark" label="备注"> |
|
|
<el-form-item prop="remark" label="备注"> |
|
|
<el-input v-model="addRefund.remark" style="width: 220px" :rows="3" maxlength="100" show-word-limit |
|
|
<el-input v-model="addRefund.remark" style="width: 220px" :rows="3" maxlength="100" show-word-limit |
|
|
type="textarea" /> |
|
|
type="textarea" /> |
|
@ -586,12 +544,12 @@ const handleCurrentChange = function (val) { |
|
|
<span style="width:5vw;">姓名</span> |
|
|
<span style="width:5vw;">姓名</span> |
|
|
<span style="width:10vw;">{{ user.name }}</span> |
|
|
<span style="width:10vw;">{{ user.name }}</span> |
|
|
<span style="width:10vw;">当前金币总数</span> |
|
|
<span style="width:10vw;">当前金币总数</span> |
|
|
<span style="color: #2fa1ff;width: 5vw;" v-if="user.nowSumGold !== undefined">{{ |
|
|
|
|
|
|
|
|
<span style="color: #2fa1ff;width: 25vw;" v-if="user.nowSumGold !== undefined">{{ |
|
|
user.nowSumGold |
|
|
user.nowSumGold |
|
|
}}</span> |
|
|
}}</span> |
|
|
</div> |
|
|
</div> |
|
|
</el-row> |
|
|
</el-row> |
|
|
<el-row style="height: 2vh;width: 100%;"> |
|
|
|
|
|
|
|
|
<el-row style="height: 3vh;width: 100%;"> |
|
|
<span style="height:3vh;color: #b1b1b1;font-size: small;margin-left:50%;" |
|
|
<span style="height:3vh;color: #b1b1b1;font-size: small;margin-left:50%;" |
|
|
v-if="user.nowPermanentGold !== undefined">(永久金币:{{ |
|
|
v-if="user.nowPermanentGold !== undefined">(永久金币:{{ |
|
|
user.nowPermanentGold |
|
|
user.nowPermanentGold |
|
@ -610,7 +568,7 @@ const handleCurrentChange = function (val) { |
|
|
</div> |
|
|
</div> |
|
|
</el-row> |
|
|
</el-row> |
|
|
<el-row> |
|
|
<el-row> |
|
|
<span style="height:3vh;color: #b1b1b1;font-size: small;margin-left:60%;">(仅统计2025-01-01后的数据)</span> |
|
|
|
|
|
|
|
|
<span style="height:3vh;color: #b1b1b1;font-size: small;margin-left:50%;">(仅统计2025-01-01后的数据)</span> |
|
|
</el-row> |
|
|
</el-row> |
|
|
|
|
|
|
|
|
<!-- 第四行:所属门店 --> |
|
|
<!-- 第四行:所属门店 --> |
|
@ -643,22 +601,22 @@ const handleCurrentChange = function (val) { |
|
|
<el-table-column prop="orderCode" label="订单号" width="200px" show-overflow-tooltip /> |
|
|
<el-table-column prop="orderCode" label="订单号" width="200px" show-overflow-tooltip /> |
|
|
<el-table-column prop="permanentGold" label="永久金币" width="120"> |
|
|
<el-table-column prop="permanentGold" label="永久金币" width="120"> |
|
|
<template #default="{ row }"> |
|
|
<template #default="{ row }"> |
|
|
{{ row.permanentGold / 100 }} |
|
|
|
|
|
|
|
|
{{ row.permanentGold }} |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column prop="freeGold" label="免费金币" width="120"> |
|
|
<el-table-column prop="freeGold" label="免费金币" width="120"> |
|
|
<template #default="{ row }"> |
|
|
<template #default="{ row }"> |
|
|
{{ (row.freeGold) / 100 }} |
|
|
|
|
|
|
|
|
{{ row.freeGold }} |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column prop="taskGold" label="任务金币" width="120"> |
|
|
<el-table-column prop="taskGold" label="任务金币" width="120"> |
|
|
<template #default="{ row }"> |
|
|
<template #default="{ row }"> |
|
|
{{ row.taskGold / 100 }} |
|
|
|
|
|
|
|
|
{{ row.taskGold }} |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column prop="isRefund" label="订单状态" width="120"> |
|
|
<el-table-column prop="isRefund" label="订单状态" width="120"> |
|
|
<template #default="{ row }"> |
|
|
<template #default="{ row }"> |
|
|
{{ row.isRefund === '1' ? '已退款' : '未处理' }} |
|
|
|
|
|
|
|
|
{{ row.isRefund === 1 ? '已退款' : '未处理' }} |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
</el-table> |
|
|
</el-table> |
|
@ -692,7 +650,6 @@ p { |
|
|
.left { |
|
|
.left { |
|
|
width: 35vw; |
|
|
width: 35vw; |
|
|
display: flex; |
|
|
display: flex; |
|
|
background-color: aliceblue; |
|
|
|
|
|
|
|
|
|
|
|
.add-form { |
|
|
.add-form { |
|
|
width: 100%; |
|
|
width: 100%; |
|
@ -701,7 +658,7 @@ p { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.right-up { |
|
|
.right-up { |
|
|
width: 35vw; |
|
|
|
|
|
|
|
|
width: 50vw; |
|
|
height: 20vh; |
|
|
height: 20vh; |
|
|
display: flex; |
|
|
display: flex; |
|
|
justify-content: center; |
|
|
justify-content: center; |
|
@ -709,13 +666,14 @@ p { |
|
|
margin-left: 5vw; |
|
|
margin-left: 5vw; |
|
|
|
|
|
|
|
|
.customer-info { |
|
|
.customer-info { |
|
|
width: 35vw; |
|
|
|
|
|
height: 19vh; |
|
|
|
|
|
|
|
|
height: 21vh; |
|
|
padding-left: 5%; |
|
|
padding-left: 5%; |
|
|
|
|
|
display: flex; |
|
|
|
|
|
align-items: center; |
|
|
|
|
|
|
|
|
.line { |
|
|
.line { |
|
|
display: flex; |
|
|
display: flex; |
|
|
height: 2vh; |
|
|
|
|
|
|
|
|
height: 3vh; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|