|
@ -1,3 +1,4 @@ |
|
|
|
|
|
|
|
|
<script setup> |
|
|
<script setup> |
|
|
import { onMounted, reactive } from 'vue' |
|
|
import { onMounted, reactive } from 'vue' |
|
|
import { ref, computed, watch } from 'vue' |
|
|
import { ref, computed, watch } from 'vue' |
|
@ -12,6 +13,9 @@ import moment from 'moment' |
|
|
const addRe = ref({ |
|
|
const addRe = ref({ |
|
|
typeR: '0' |
|
|
typeR: '0' |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//这是获取用户信息的接口 |
|
|
//这是获取用户信息的接口 |
|
|
const adminData = ref({}) |
|
|
const adminData = ref({}) |
|
|
const getAdminData = async function () { |
|
|
const getAdminData = async function () { |
|
@ -33,30 +37,58 @@ const trimJwCode = () => { |
|
|
} |
|
|
} |
|
|
// 这是添加退款信息的表单 |
|
|
// 这是添加退款信息的表单 |
|
|
const addRefund = ref({ |
|
|
const addRefund = ref({ |
|
|
updateType: '3', |
|
|
|
|
|
allCoin: 0, |
|
|
|
|
|
orderCode: '', |
|
|
|
|
|
refundGoods: '', |
|
|
|
|
|
freeCoin: 0, |
|
|
|
|
|
rechargeCoin: 0, |
|
|
|
|
|
taskCoin: 0 |
|
|
|
|
|
|
|
|
jwcode: '', |
|
|
|
|
|
goodsName: '', |
|
|
|
|
|
refundType: '', |
|
|
|
|
|
refundModel: 0, |
|
|
|
|
|
permanentGold: '', |
|
|
|
|
|
freeGold: '', |
|
|
|
|
|
taskGold: '', |
|
|
|
|
|
sumGold: 0, |
|
|
|
|
|
remark: '', |
|
|
|
|
|
adminId: null |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
// 取消按钮 |
|
|
// 取消按钮 |
|
|
const cancel = function () { |
|
|
const cancel = function () { |
|
|
addRefund.value = {} |
|
|
|
|
|
addRefund.value.updateType = '3' |
|
|
|
|
|
addRefund.value.rechargeCoin = 0 |
|
|
|
|
|
addRefund.value.freeCoin = 0 |
|
|
|
|
|
addRefund.value.taskCoin = 0 |
|
|
|
|
|
addRefund.value.allCoin = 0 |
|
|
|
|
|
addRe.value.typeR = 0 |
|
|
|
|
|
addRefund.value.adminId = adminData.value.adminId |
|
|
|
|
|
|
|
|
addRefund.value = { |
|
|
|
|
|
jwcode: '', |
|
|
|
|
|
goodsName: '', |
|
|
|
|
|
refundType: '', |
|
|
|
|
|
refundModel: 0, |
|
|
|
|
|
permanentGold: '', |
|
|
|
|
|
freeGold: '', |
|
|
|
|
|
taskGold: '', |
|
|
|
|
|
sumGold: 0, |
|
|
|
|
|
remark: '', |
|
|
|
|
|
adminId: adminData.value.adminId |
|
|
|
|
|
} |
|
|
|
|
|
addRe.value.typeR = '0' |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 这是添加退款信息的接口 |
|
|
// 这是添加退款信息的接口 |
|
|
const add = async function () { |
|
|
const add = async function () { |
|
|
try { |
|
|
try { |
|
|
|
|
|
|
|
|
|
|
|
// 更新 refundModel |
|
|
|
|
|
addRefund.value.refundModel = parseInt(addRe.value.typeR); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 对提交的金币数乘以 100 |
|
|
|
|
|
const processedRefund = { |
|
|
|
|
|
...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, |
|
|
|
|
|
adminId: 1 |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// 发送POST请求 |
|
|
// 发送POST请求 |
|
|
const result = await API({ url: '/refund/add', data: addRefund.value }) |
|
|
|
|
|
|
|
|
const result = await API({ url: 'http://18.143.76.3:10704/refund/add', |
|
|
|
|
|
data: processedRefund |
|
|
|
|
|
}) |
|
|
if (result.code === 0) { |
|
|
if (result.code === 0) { |
|
|
ElMessage.error(result.msg) |
|
|
ElMessage.error(result.msg) |
|
|
return |
|
|
return |
|
@ -64,22 +96,14 @@ const add = async function () { |
|
|
console.log('请求成功', result) |
|
|
console.log('请求成功', result) |
|
|
ElMessage.success('添加成功') |
|
|
ElMessage.success('添加成功') |
|
|
// 重置表单 |
|
|
// 重置表单 |
|
|
addRefund.value = {} |
|
|
|
|
|
addRefund.value.adminId = adminData.value.adminId |
|
|
|
|
|
addRefund.value.updateType = '3' |
|
|
|
|
|
addRefund.value.allCoin = 0 |
|
|
|
|
|
addRefund.value.orderCode = '' |
|
|
|
|
|
addRefund.value.refundGoods = '' |
|
|
|
|
|
addRefund.value.freeCoin = 0 |
|
|
|
|
|
addRefund.value.rechargeCoin = 0 |
|
|
|
|
|
addRefund.value.taskCoin = 0 |
|
|
|
|
|
addRefund.value.typeR = 0 |
|
|
|
|
|
user.value = {} |
|
|
|
|
|
|
|
|
cancel() |
|
|
} catch (error) { |
|
|
} catch (error) { |
|
|
console.log('请求失败', error) |
|
|
console.log('请求失败', error) |
|
|
// 在这里可以处理错误逻辑,比如显示错误提示等 |
|
|
// 在这里可以处理错误逻辑,比如显示错误提示等 |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 提交退款信息前的表单验证 |
|
|
const addBefore = () => { |
|
|
const addBefore = () => { |
|
|
Ref.value.validate(async (valid) => { |
|
|
Ref.value.validate(async (valid) => { |
|
|
if (valid) { |
|
|
if (valid) { |
|
@ -87,11 +111,6 @@ const addBefore = () => { |
|
|
.then(() => { |
|
|
.then(() => { |
|
|
add() |
|
|
add() |
|
|
console.log('添加成功') |
|
|
console.log('添加成功') |
|
|
addRefund.value.allCoin = 0 |
|
|
|
|
|
;(addRefund.value.freeCoin = 0), |
|
|
|
|
|
(addRefund.value.rechargeCoin = 0), |
|
|
|
|
|
(addRefund.value.taskCoin = 0), |
|
|
|
|
|
(addRefund.value = {}) |
|
|
|
|
|
}) |
|
|
}) |
|
|
.catch(() => { |
|
|
.catch(() => { |
|
|
console.log('取消添加') |
|
|
console.log('取消添加') |
|
@ -114,13 +133,13 @@ const startChange = (val) => {} |
|
|
const rules = reactive({ |
|
|
const rules = reactive({ |
|
|
jwcode: [{ required: true, message: '请输入精网号', trigger: 'blur' }], |
|
|
jwcode: [{ required: true, message: '请输入精网号', trigger: 'blur' }], |
|
|
refundType: [{ required: true, message: '请选择退款类型', trigger: 'blur' }], |
|
|
refundType: [{ required: true, message: '请选择退款类型', trigger: 'blur' }], |
|
|
orderCode: [{ required: true, message: '请选择退款商品', trigger: 'blur' }], |
|
|
|
|
|
taskCoin: [{ required: true, message: '请输入任务金币', trigger: 'blur' }], |
|
|
|
|
|
freeCoin: [{ required: true, message: '请输入免费金币', trigger: 'blur' }], |
|
|
|
|
|
rechargeCoin: [ |
|
|
|
|
|
|
|
|
goodsName: [{ required: true, message: '请选择退款商品', trigger: 'blur' }], |
|
|
|
|
|
taskGold: [{ required: true, message: '请输入任务金币', trigger: 'blur' }], |
|
|
|
|
|
freeGold: [{ required: true, message: '请输入免费金币', trigger: 'blur' }], |
|
|
|
|
|
permanentGold: [ |
|
|
{ required: true, message: '请输入永久金币', trigger: 'blur' } |
|
|
{ required: true, message: '请输入永久金币', trigger: 'blur' } |
|
|
], |
|
|
], |
|
|
allCoin: [ |
|
|
|
|
|
|
|
|
sumGold: [ |
|
|
{ required: true, message: '请选择付款方式', trigger: 'blur' }, |
|
|
{ required: true, message: '请选择付款方式', trigger: 'blur' }, |
|
|
{ |
|
|
{ |
|
|
validator: (rule, value) => { |
|
|
validator: (rule, value) => { |
|
@ -156,7 +175,16 @@ const getUser = async function (jwcode) { |
|
|
} else if (result.data === null) { |
|
|
} else if (result.data === null) { |
|
|
ElMessage.error("用户不存在"); |
|
|
ElMessage.error("用户不存在"); |
|
|
} else { |
|
|
} else { |
|
|
user.value = result.data; |
|
|
|
|
|
|
|
|
// 对传过来的金币数除以 100 |
|
|
|
|
|
const processedData = { |
|
|
|
|
|
...result.data, |
|
|
|
|
|
historySumGold: (Number(result.data.historySumGold) || 0) / 100, |
|
|
|
|
|
nowSumGold: (Number(result.data.nowSumGold) || 0) / 100, |
|
|
|
|
|
nowPermanentGold: (Number(result.data.nowPermanentGold) || 0) / 100, |
|
|
|
|
|
nowFreeGold: (Number(result.data.nowFreeGold) || 0) / 100, |
|
|
|
|
|
nowTaskGold: (Number(result.data.nowTaskGold) || 0) / 100 |
|
|
|
|
|
} |
|
|
|
|
|
user.value = processedData; |
|
|
console.log("用户信息", user.value); |
|
|
console.log("用户信息", user.value); |
|
|
ElMessage.success(result.msg); |
|
|
ElMessage.success(result.msg); |
|
|
} |
|
|
} |
|
@ -166,31 +194,9 @@ const getUser = async function (jwcode) { |
|
|
// 在这里可以处理错误逻辑,比如显示错误提示等 |
|
|
// 在这里可以处理错误逻辑,比如显示错误提示等 |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
// const calculatedAllGold = computed(() => { |
|
|
|
|
|
// const sum = |
|
|
|
|
|
// Number(addRefund.value.freeCoin) + |
|
|
|
|
|
// Number(addRefund.value.rechargeCoin) + |
|
|
|
|
|
// Number(addRefund.value.taskCoin) |
|
|
|
|
|
// return !isNaN(sum) ? sum : 0 |
|
|
|
|
|
// }) |
|
|
|
|
|
|
|
|
|
|
|
// watch(calculatedAllGold, (newVal) => { |
|
|
|
|
|
// addRefund.value.allCoin = newVal |
|
|
|
|
|
// }) |
|
|
|
|
|
|
|
|
|
|
|
// const AAA = computed(() => { |
|
|
|
|
|
// return addRefund.value.jwcode |
|
|
|
|
|
// }) |
|
|
|
|
|
|
|
|
|
|
|
// watch(AAA, (newVal) => {}) |
|
|
|
|
|
|
|
|
|
|
|
// 退款类型选项 |
|
|
|
|
|
// const refundType = [ |
|
|
|
|
|
// { |
|
|
|
|
|
// value: '退款商品', |
|
|
|
|
|
// label: '退款商品' |
|
|
|
|
|
// } |
|
|
|
|
|
// ] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 退款类型 |
|
|
// 退款类型 |
|
|
const refundType = ref([]) |
|
|
const refundType = ref([]) |
|
@ -200,14 +206,17 @@ const getRefundTypes = async function () { |
|
|
try { |
|
|
try { |
|
|
// 发送请求获取退款类型 |
|
|
// 发送请求获取退款类型 |
|
|
const result = await API({ |
|
|
const result = await API({ |
|
|
// url: 'http://18.143.76.3:10704/', //这里应该写上一个退款类型的接口 |
|
|
|
|
|
|
|
|
url: 'http://18.143.76.3:10704/refund/refundType', //这里应该写上一个退款类型的接口 |
|
|
data: {} }) |
|
|
data: {} }) |
|
|
console.log('退款类型请求成功', result) |
|
|
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) |
|
|
console.log('退款类型', refundType.value) |
|
|
} catch (error) { |
|
|
} catch (error) { |
|
|
console.log('退款类型请求失败', error) |
|
|
console.log('退款类型请求失败', error) |
|
@ -215,90 +224,117 @@ const getRefundTypes = async function () { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 根据精网号查询商品 |
|
|
// 根据精网号查询商品 |
|
|
const goods = ref([]) |
|
|
|
|
|
|
|
|
const goodsName = ref([]) |
|
|
const getGoods = async function (jwcode) { |
|
|
const getGoods = async function (jwcode) { |
|
|
trimJwCode(); |
|
|
trimJwCode(); |
|
|
|
|
|
// 只有精网号存在时才发送请求 |
|
|
|
|
|
if (!addRefund.value.jwcode) { |
|
|
|
|
|
goodsName.value = []; // 清空商品数据 |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
try { |
|
|
try { |
|
|
// 发送POST请求 |
|
|
// 发送POST请求 |
|
|
const result = await API({ |
|
|
const result = await API({ |
|
|
// url: 'http://39.101.133.168:8828/live_mall/api/product/all', //需要接口 |
|
|
// url: 'http://39.101.133.168:8828/live_mall/api/product/all', //需要接口 |
|
|
|
|
|
url: 'http://18.143.76.3:10704/refund/selectGoods', |
|
|
data: { |
|
|
data: { |
|
|
jwcode: addRefund.value.jwcode, |
|
|
|
|
|
market: adminData.value.market |
|
|
|
|
|
|
|
|
jwcode: addRefund.value.jwcode |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
console.log('请求成功', result) |
|
|
console.log('请求成功', result) |
|
|
|
|
|
|
|
|
if (result.code === 0) { |
|
|
|
|
|
ElMessage.error(result.msg) |
|
|
|
|
|
|
|
|
// 检查返回的数据是否为数组 |
|
|
|
|
|
if (Array.isArray(result.data)) { |
|
|
|
|
|
// 将字符串数组转换为 { value, label } 格式 |
|
|
|
|
|
goodsName.value = result.data.map(item => ({ |
|
|
|
|
|
value: item.goodsName, // 使用商品名称作为 value |
|
|
|
|
|
label: item.goodsName, |
|
|
|
|
|
key: item.goodsName, |
|
|
|
|
|
// 保留其他字段 |
|
|
|
|
|
permanentGold: (Number(item.permanentGold) || 0) / 100, |
|
|
|
|
|
freeGold: (Number(item.freeGold) || 0) / 100, |
|
|
|
|
|
taskGold: (Number(item.taskGold) || 0) / 100 |
|
|
|
|
|
})); |
|
|
} else { |
|
|
} else { |
|
|
// 存储表格数据 |
|
|
|
|
|
goods.value = result.data |
|
|
|
|
|
console.log('用户信息', goods.value) |
|
|
|
|
|
//ElMessage.success(result.msg) |
|
|
|
|
|
|
|
|
console.error('退款类型数据格式错误', result) |
|
|
|
|
|
ElMessage.error('退款类型数据格式错误,请联系管理员') |
|
|
} |
|
|
} |
|
|
} catch (error) { |
|
|
} catch (error) { |
|
|
console.log('请求失败', error) |
|
|
console.log('请求失败', error) |
|
|
ElMessage.error('查询商品失败,请检查精网号是否正确') |
|
|
ElMessage.error('查询商品失败,请检查精网号是否正确') |
|
|
// 在这里可以处理错误逻辑,比如显示错误提示等 |
|
|
|
|
|
|
|
|
goodsName.value = []; // 请求失败时清空商品数据 |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
const calculatedRechargeGoods = computed(() => { |
|
|
|
|
|
return ( |
|
|
|
|
|
+addRefund.value.freeCoin + |
|
|
|
|
|
+addRefund.value.rechargeCoin + |
|
|
|
|
|
+addRefund.value.taskCoin |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 存储选中商品的金币花费信息 |
|
|
|
|
|
const selectedGoodsGold = ref({ |
|
|
|
|
|
permanentGold: 0, |
|
|
|
|
|
freeGold: 0, |
|
|
|
|
|
taskGold: 0 |
|
|
}) |
|
|
}) |
|
|
watch(calculatedRechargeGoods, (newVal) => { |
|
|
|
|
|
addRefund.value.allCoin = newVal |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const handleSelectionChange = (selectedOption) => { |
|
|
|
|
|
if (selectedOption) { |
|
|
|
|
|
// 更新商品名称 |
|
|
|
|
|
addRefund.value.goodsName = selectedOption.value; |
|
|
|
|
|
|
|
|
|
|
|
// 更新金币字段 |
|
|
|
|
|
addRefund.value.permanentGold = selectedOption.permanentGold || 0; |
|
|
|
|
|
addRefund.value.freeGold = selectedOption.freeGold || 0; |
|
|
|
|
|
addRefund.value.taskGold = selectedOption.taskGold || 0; |
|
|
|
|
|
|
|
|
|
|
|
// 记录选中商品的金币花费 |
|
|
|
|
|
selectedGoodsGold.value.permanentGold = Number(selectedOption.permanentGold) || 0; |
|
|
|
|
|
selectedGoodsGold.value.freeGold = Number(selectedOption.freeGold) || 0; |
|
|
|
|
|
selectedGoodsGold.value.taskGold = Number(selectedOption.taskGold) || 0; |
|
|
|
|
|
} else { |
|
|
|
|
|
// 清空逻辑保持不变 |
|
|
|
|
|
} |
|
|
|
|
|
console.log('选择的商品', selectedOption); |
|
|
|
|
|
} |
|
|
|
|
|
// 验证输入的金币数量是否超过商品花费的金币数量 |
|
|
|
|
|
const validateGoldInput = (type, value) => { |
|
|
|
|
|
const maxValue = selectedGoodsGold.value[type]; |
|
|
|
|
|
const inputValue = Number(value); |
|
|
|
|
|
if (isNaN(inputValue)) { |
|
|
|
|
|
return 0; |
|
|
|
|
|
} |
|
|
|
|
|
return Math.min(inputValue, maxValue); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 处理永久金币输入 |
|
|
|
|
|
const handlePermanentGoldInput = (value) => { |
|
|
|
|
|
addRefund.value.permanentGold = validateGoldInput('permanentGold', value); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 处理免费金币输入 |
|
|
|
|
|
const handleFreeGoldInput = (value) => { |
|
|
|
|
|
addRefund.value.freeGold = validateGoldInput('freeGold', value); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 处理任务金币输入 |
|
|
|
|
|
const handleTaskGoldInput = (value) => { |
|
|
|
|
|
addRefund.value.taskGold = validateGoldInput('taskGold', value); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 计算总金币 |
|
|
|
|
|
const calculatedRechargeGoods = computed(() => { |
|
|
|
|
|
const permanentGold = addRefund.value.permanentGold === '' ? 0 : +addRefund.value.permanentGold; |
|
|
|
|
|
const freeGold = addRefund.value.freeGold === '' ? 0 : +addRefund.value.freeGold; |
|
|
|
|
|
const taskGold = addRefund.value.taskGold === '' ? 0 : +addRefund.value.taskGold; |
|
|
|
|
|
return permanentGold + freeGold + taskGold; |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
watch(calculatedRechargeGoods, (newVal) => { |
|
|
watch(calculatedRechargeGoods, (newVal) => { |
|
|
addRefund.value.allCoin = newVal |
|
|
|
|
|
|
|
|
addRefund.value.sumGold = newVal |
|
|
console.log('计算的总金币', newVal) |
|
|
console.log('计算的总金币', newVal) |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
// 绑定两个数据 |
|
|
// 绑定两个数据 |
|
|
|
|
|
|
|
|
// 这是根据订单号查询消费信息的方法 |
|
|
|
|
|
const getProductByOrderCode = async function (item) { |
|
|
|
|
|
try { |
|
|
|
|
|
// 发送POST请求 |
|
|
|
|
|
const result = await API({ |
|
|
|
|
|
url: '/refund/searchByOrderCode?orderCode=' + item, |
|
|
|
|
|
data: {} |
|
|
|
|
|
}) |
|
|
|
|
|
addRefund.value.contactId = result.data.detailyId |
|
|
|
|
|
addRefund.value.refundGoods = result.data.productName |
|
|
|
|
|
addRefund.value.orderCode = result.data.orderCode |
|
|
|
|
|
addRefund.value.taskCoin = (result.data.taskCoin * -1) / 100 |
|
|
|
|
|
addRefund.value.freeCoin = (result.data.freeCoin * -1) / 100 |
|
|
|
|
|
addRefund.value.rechargeCoin = (result.data.rechargeCoin * -1) / 100 |
|
|
|
|
|
addRefund.value.allCoin = |
|
|
|
|
|
(result.data.taskCoin * -1 + |
|
|
|
|
|
result.data.freeCoin * -1 + |
|
|
|
|
|
result.data.rechargeCoin * -1) / |
|
|
|
|
|
100 |
|
|
|
|
|
console.log('请求成功', addRefund.value) |
|
|
|
|
|
if (result.data.code === 0) { |
|
|
|
|
|
ElMessage.error(result.data.msg) |
|
|
|
|
|
} else { |
|
|
|
|
|
ElMessage.success('选择成功') |
|
|
|
|
|
} |
|
|
|
|
|
} catch (error) { |
|
|
|
|
|
console.log('请求失败', error) |
|
|
|
|
|
ElMessage.error('查询订单失败,请检查精网号是否正确') |
|
|
|
|
|
// 在这里可以处理错误逻辑,比如显示错误提示等 |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
const handleSelectionChange = (value) => { |
|
|
|
|
|
getProductByOrderCode(value) |
|
|
|
|
|
console.log('选择的订单号', value) |
|
|
|
|
|
const selectedItem = goods.value.find((item) => item.detailId === value) |
|
|
|
|
|
} |
|
|
|
|
|
// 挂载 |
|
|
// 挂载 |
|
|
onMounted(async function () { |
|
|
onMounted(async function () { |
|
|
await getAdminData() |
|
|
await getAdminData() |
|
|
|
|
|
await getRefundTypes() |
|
|
|
|
|
// await getGoods() |
|
|
}) |
|
|
}) |
|
|
</script> |
|
|
</script> |
|
|
|
|
|
|
|
@ -340,23 +376,23 @@ onMounted(async function () { |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item prop="orderCode" label="商品名"> |
|
|
|
|
|
|
|
|
<el-form-item prop="goodsName" label="商品名"> |
|
|
<el-select |
|
|
<el-select |
|
|
v-model="addRefund.orderCode" |
|
|
|
|
|
|
|
|
v-model="addRefund.goodsName" |
|
|
placeholder="请选择" |
|
|
placeholder="请选择" |
|
|
style="width: 300px" |
|
|
style="width: 300px" |
|
|
@change="handleSelectionChange" |
|
|
@change="handleSelectionChange" |
|
|
> |
|
|
> |
|
|
<el-option |
|
|
<el-option |
|
|
v-for="item in goods" |
|
|
|
|
|
:key="item.value" |
|
|
|
|
|
:label="item.productName + item.orderCode" |
|
|
|
|
|
:value="item.orderCode" |
|
|
|
|
|
|
|
|
v-for="item in goodsName" |
|
|
|
|
|
:key="item.key" |
|
|
|
|
|
:label="item.label" |
|
|
|
|
|
:value="item" |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
<el-form-item prop="typeR" label="退款方式:"> |
|
|
|
|
|
|
|
|
<el-form-item prop="refundModel" label="退款方式:"> |
|
|
<el-radio-group v-model="addRe.typeR"> |
|
|
<el-radio-group v-model="addRe.typeR"> |
|
|
<el-radio value="0" @change="addRe.typeR = '0'">全部退款</el-radio> |
|
|
<el-radio value="0" @change="addRe.typeR = '0'">全部退款</el-radio> |
|
|
<el-radio value="1">部分退款</el-radio> |
|
|
<el-radio value="1">部分退款</el-radio> |
|
@ -364,38 +400,41 @@ onMounted(async function () { |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
<div style="display: flex; align-items: center"> |
|
|
<div style="display: flex; align-items: center"> |
|
|
<el-form-item prop="rechargeCoin" label="永久金币" style="float: left"> |
|
|
|
|
|
|
|
|
<el-form-item prop="permanentGold" label="永久金币" style="float: left"> |
|
|
<el-input |
|
|
<el-input |
|
|
v-model="addRefund.rechargeCoin" |
|
|
|
|
|
|
|
|
v-model="addRefund.permanentGold" |
|
|
style="width: 100px" |
|
|
style="width: 100px" |
|
|
:disabled="addRe.typeR === '0' ? true : false" |
|
|
:disabled="addRe.typeR === '0' ? true : false" |
|
|
|
|
|
@input="handlePermanentGoldInput($event)" |
|
|
> |
|
|
> |
|
|
</el-input> |
|
|
</el-input> |
|
|
<p>个</p> |
|
|
<p>个</p> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item |
|
|
<el-form-item |
|
|
prop="freeCoin" |
|
|
|
|
|
|
|
|
prop="freeGold" |
|
|
label="免费金币" |
|
|
label="免费金币" |
|
|
style="margin-left: -20px; float: left" |
|
|
style="margin-left: -20px; float: left" |
|
|
> |
|
|
> |
|
|
<el-input |
|
|
<el-input |
|
|
v-model="addRefund.freeCoin" |
|
|
|
|
|
|
|
|
v-model="addRefund.freeGold" |
|
|
style="float: left; width: 100px" |
|
|
style="float: left; width: 100px" |
|
|
:disabled="addRe.typeR === '0' ? true : false" |
|
|
:disabled="addRe.typeR === '0' ? true : false" |
|
|
|
|
|
@input="handleFreeGoldInput($event)" |
|
|
/> |
|
|
/> |
|
|
<p>个</p> |
|
|
<p>个</p> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item prop="taskCoin" label="任务金币" style="margin-left: -20px"> |
|
|
|
|
|
|
|
|
<el-form-item prop="taskGold" label="任务金币" style="margin-left: -20px"> |
|
|
<el-input |
|
|
<el-input |
|
|
v-model="addRefund.taskCoin" |
|
|
|
|
|
|
|
|
v-model="addRefund.taskGold" |
|
|
style="float: left; width: 100px" |
|
|
style="float: left; width: 100px" |
|
|
:disabled="addRe.typeR === '0' ? true : false" |
|
|
:disabled="addRe.typeR === '0' ? true : false" |
|
|
|
|
|
@input="handleTaskGoldInput($event)" |
|
|
/> |
|
|
/> |
|
|
<p>个</p> |
|
|
<p>个</p> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</div> |
|
|
</div> |
|
|
<el-form-item prop="allCoin" label="退款金币总数"> |
|
|
|
|
|
<el-input disabled v-model="addRefund.allCoin" style="width: 100px"> |
|
|
|
|
|
|
|
|
<el-form-item prop="sumGold" label="退款金币总数"> |
|
|
|
|
|
<el-input disabled v-model="addRefund.sumGold" style="width: 100px"> |
|
|
</el-input> |
|
|
</el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item prop="remark" label="备注"> |
|
|
<el-form-item prop="remark" label="备注"> |
|
@ -408,10 +447,10 @@ onMounted(async function () { |
|
|
type="textarea" |
|
|
type="textarea" |
|
|
/> |
|
|
/> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item prop="commitName" label="提交人"> |
|
|
|
|
|
|
|
|
<el-form-item prop="adminName" label="提交人"> |
|
|
<el-input |
|
|
<el-input |
|
|
style="width: 300px" |
|
|
style="width: 300px" |
|
|
:value="adminData.name" |
|
|
|
|
|
|
|
|
:value="adminData.adminName" |
|
|
disabled |
|
|
disabled |
|
|
placeholder="提交人姓名" |
|
|
placeholder="提交人姓名" |
|
|
/> |
|
|
/> |
|
|