提交 5121f425 编写于 作者: terrfly's avatar terrfly

完善运营平台退款功能

上级 b14b2bcd
...@@ -10,7 +10,7 @@ import { Modal } from 'ant-design-vue' ...@@ -10,7 +10,7 @@ import { Modal } from 'ant-design-vue'
// 确认提示: 标题, 内容, 点击确定回调函数, 取消回调, 扩展参数 // 确认提示: 标题, 内容, 点击确定回调函数, 取消回调, 扩展参数
export const confirmResult = { export const confirmResult = {
confirm: function (title, content, okFunc, cancelFunc = (() => {}), extConfig = {}) { confirm: function (title, content, okFunc, cancelFunc = (() => {}), extConfig = {}) {
Modal.confirm( return Modal.confirm(
Object.assign({ Object.assign({
okText: '确定', okText: '确定',
cancelText: '取消', cancelText: '取消',
...@@ -22,11 +22,23 @@ export const confirmResult = { ...@@ -22,11 +22,23 @@ export const confirmResult = {
}, extConfig)) }, extConfig))
}, },
confirmPrimary: function (title, content, okFunc, cancelFunc = (() => {}), extConfig = {}) { confirmPrimary: function (title, content, okFunc, cancelFunc = (() => {}), extConfig = {}) {
this.confirm(title, content, okFunc, cancelFunc, Object.assign({ okType: 'primary' }, extConfig)) return this.confirm(title, content, okFunc, cancelFunc, Object.assign({ okType: 'primary' }, extConfig))
}, },
confirmDanger: function (title, content, okFunc, cancelFunc = (() => {}), extConfig = {}) { confirmDanger: function (title, content, okFunc, cancelFunc = (() => {}), extConfig = {}) {
this.confirm(title, content, okFunc, cancelFunc, Object.assign({ okType: 'danger' }, extConfig)) return this.confirm(title, content, okFunc, cancelFunc, Object.assign({ okType: 'danger' }, extConfig))
},
modalError: function (title, content, okFunc = (() => {})) {
return Modal.error({ title: title, content: content, onOk: okFunc })
},
modalSuccess: function (title, content, okFunc = (() => {})) {
return Modal.success({ title: title, content: content, onOk: okFunc })
},
modalWarning: function (title, content, okFunc = (() => {})) {
return Modal.warning({ title: title, content: content, onOk: okFunc })
} }
} }
......
...@@ -88,13 +88,13 @@ ...@@ -88,13 +88,13 @@
<template slot="opSlot" slot-scope="{record}"> <!-- 操作列插槽 --> <template slot="opSlot" slot-scope="{record}"> <!-- 操作列插槽 -->
<JeepayTableColumns> <JeepayTableColumns>
<a-button type="link" v-if="$access('ENT_PAY_ORDER_VIEW')" @click="detailFunc(record.payOrderId)">详情</a-button> <a-button type="link" v-if="$access('ENT_PAY_ORDER_VIEW')" @click="detailFunc(record.payOrderId)">详情</a-button>
<a-button type="link" v-if="$access('ENT_PAY_ORDER_REFUND')" style="color: red" v-show="(record.state === 2)" @click="openFunc(record.payOrderId)">退款</a-button> <a-button type="link" v-if="$access('ENT_PAY_ORDER_REFUND')" style="color: red" v-show="(record.state === 2)" @click="openFunc(record, record.payOrderId)">退款</a-button>
</JeepayTableColumns> </JeepayTableColumns>
</template> </template>
</JeepayTable> </JeepayTable>
</a-card> </a-card>
<!-- 退款弹出框 --> <!-- 退款弹出框 -->
<refund-modal ref="refundModalInfo"></refund-modal> <refund-modal ref="refundModalInfo" :callbackFunc="searchFunc"></refund-modal>
<!-- 日志详情抽屉 --> <!-- 日志详情抽屉 -->
<template> <template>
<a-drawer <a-drawer
...@@ -396,7 +396,10 @@ export default { ...@@ -396,7 +396,10 @@ export default {
}, },
// 打开退款弹出框 // 打开退款弹出框
openFunc (recordId) { openFunc (record, recordId) {
if (record.refundState === 2) {
return this.$infoBox.modalError('订单无可退款金额', '')
}
this.$refs.refundModalInfo.show(recordId) this.$refs.refundModalInfo.show(recordId)
}, },
detailFunc: function (recordId) { detailFunc: function (recordId) {
......
...@@ -57,6 +57,10 @@ ...@@ -57,6 +57,10 @@
import { API_URL_PAY_ORDER_LIST, req, payOrderRefund } from '@/api/manage' import { API_URL_PAY_ORDER_LIST, req, payOrderRefund } from '@/api/manage'
export default { export default {
props: {
callbackFunc: { type: Function, default: () => () => ({}) }
},
data () { data () {
return { return {
recordId: '', recordId: '',
...@@ -111,19 +115,42 @@ export default { ...@@ -111,19 +115,42 @@ export default {
payOrderRefund(that.recordId, that.refund.refundAmount, that.refund.refundReason).then(res => { payOrderRefund(that.recordId, that.refund.refundAmount, that.refund.refundReason).then(res => {
that.visible = false // 关闭弹窗 that.visible = false // 关闭弹窗
that.confirmLoading = false // 取消按钮转圈 that.confirmLoading = false // 取消按钮转圈
if (res.state === 0 || res.state === 3) { // 订单生成 || 失败
const refundErrorModal = that.$infoBox.modalError('退款失败', (h) => that.buildModalText(res, h, () => { refundErrorModal.destroy() }))
} else if (res.state === 1) { // 退款中
const refundErrorModal = that.$infoBox.modalWarning('退款中', (h) => that.buildModalText(res, h, () => { refundErrorModal.destroy() }))
that.callbackFunc()
} else if (res.state === 2) { // 退款成功
that.$message.success('退款成功') that.$message.success('退款成功')
console.log(that.refund.refundAmount) that.callbackFunc()
}).catch(err => { } else {
console.log(err) const refundErrorModal = that.$infoBox.modalWarning('退款状态未知', (h) => that.buildModalText(res, h, () => { refundErrorModal.destroy() }))
}
}).catch(() => {
that.confirmLoading = false // 取消按钮转圈 that.confirmLoading = false // 取消按钮转圈
console.log(that.refund.refundAmount)
}) })
} }
}) })
}, },
handleCancel (e) { handleCancel (e) {
this.visible = false this.visible = false
},
buildModalText (res, h, callbackFunc) {
// 跳转退款列表Btn
const toRefundPageBtn = h('a', { on: { click: () => {
callbackFunc()
this.$router.push({ name: 'ENT_REFUND_ORDER' })
} } })
toRefundPageBtn.text = '退款列表'
return h('div', [
h('div', res.errCode ? `错误码:${res.errCode}` : ''),
h('div', res.errMsg ? `错误信息:${res.errMsg}` : ''),
h('div', [h('span', '请到'), toRefundPageBtn, h('span', '中查看详细信息')])
])
} }
} }
} }
</script> </script>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册