diff --git a/src/api/clue/afterSale.js b/src/api/clue/afterSale.js new file mode 100644 index 0000000..b9b8056 --- /dev/null +++ b/src/api/clue/afterSale.js @@ -0,0 +1,26 @@ +import request from '@/config/axios' + +// 查询(精简)列表 +export const getAfterSaleList = async (params) => { + return await request.get({ url: '/admin-api/crm/sign-after-sale/list', params }) +} + +// 查询(精简)列表 +export const getAfterSalePage = async (params) => { + return await request.get({ url: '/admin-api/crm/sign-after-sale/page', params }) +} + +// 新增 +export const createAfterSale = async (data) => { + return await request.post({ url: '/admin-api/crm/sign-after-sale/create', data }) +} + +// 审核 +export const auditAfterSale = async (data) => { + return await request.post({ url: '/admin-api/crm/sign-after-sale/check', data }) +} + +// 撤销 +export const cancelApplyAfterSale = async (data) => { + return await request.post({ url: '/admin-api/crm/sign-after-sale/revoke', data }) +} diff --git a/src/api/clue/payment.js b/src/api/clue/payment.js index afbb76a..5e8f613 100644 --- a/src/api/clue/payment.js +++ b/src/api/clue/payment.js @@ -5,6 +5,11 @@ export const getPaymentList = async (params) => { return await request.get({ url: '/admin-api/crm/sign-pay-record/list', params }) } +// 查询(精简)列表 +export const getPaymentPage = async (params) => { + return await request.get({ url: '/admin-api/crm/sign-pay-record/page', params }) +} + // 新增 export const createPayment = async (data) => { return await request.post({ url: '/admin-api/crm/sign-pay-record/create', data }) @@ -14,3 +19,8 @@ export const createPayment = async (data) => { export const auditPayment = async (data) => { return await request.post({ url: '/admin-api/crm/sign-pay-record/check', data }) } + +// 撤销 +export const cancelApplyPayment = async (data) => { + return await request.post({ url: '/admin-api/crm/sign-pay-record/revoke', data }) +} diff --git a/src/views/Clue/Order/Comp/AfterSales.vue b/src/views/Clue/Order/Comp/AfterSales.vue index 11c2d3e..1c11aaa 100644 --- a/src/views/Clue/Order/Comp/AfterSales.vue +++ b/src/views/Clue/Order/Comp/AfterSales.vue @@ -2,13 +2,21 @@
- + - + - + + + + + + + + + - + - - - - - - - - - - - - - + + + + + + + + + + + + @@ -90,10 +111,20 @@ diff --git a/src/views/Clue/Order/Comp/DialogAfterSale.vue b/src/views/Clue/Order/Comp/DialogAfterSale.vue new file mode 100644 index 0000000..c8f1081 --- /dev/null +++ b/src/views/Clue/Order/Comp/DialogAfterSale.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/src/views/Clue/Order/Comp/DialogFeeback.vue b/src/views/Clue/Order/Comp/DialogFeeback.vue new file mode 100644 index 0000000..2907467 --- /dev/null +++ b/src/views/Clue/Order/Comp/DialogFeeback.vue @@ -0,0 +1,101 @@ + + + + + diff --git a/src/views/Clue/Order/Comp/DialogOrder.vue b/src/views/Clue/Order/Comp/DialogOrder.vue index 506672f..6497ff6 100644 --- a/src/views/Clue/Order/Comp/DialogOrder.vue +++ b/src/views/Clue/Order/Comp/DialogOrder.vue @@ -15,13 +15,22 @@ - + - - - - + + + + + + + + + + + + + @@ -34,7 +43,8 @@ import * as ClueApi from '@/api/clue' import * as OrderApi from '@/api/clue/sign' import { getSimpleFieldList as getClueFieldList } from '@/api/clue/clueField' import { getSimpleFieldList as getOrderFieldList } from '@/api/clue/orderField' -import { getPaymentList } from '@/api/clue/payment' +import { getPaymentPage } from '@/api/clue/payment' +import { getAfterSalePage } from '@/api/clue/afterSale' import { formatDate } from '@/utils/formatTime' @@ -42,7 +52,8 @@ const tabName = ref('clueInfo') const show = ref(false) const clueInfo = ref({}) const orderInfo = ref({}) -const returnRecord = ref([]) +const returnRecordList = ref([]) +const aftersaleList = ref([]) function open(clueId, orderId) { try { @@ -56,8 +67,11 @@ function open(clueId, orderId) { orderInfo.value = { ...data, ...data.diyParams } orderInfo.value.dealDate = formatDate(orderInfo.value.dealDate, 'YYYY-MM-DD HH:mm') }) - getPaymentList({ signId: orderId }).then((data) => { - returnRecord.value = data + getPaymentPage({ signId: orderId, pageNo: 1, pageSize: 100 }).then((data) => { + returnRecordList.value = data.list + }) + getAfterSalePage({ signId: orderId, pageNo: 1, pageSize: 100 }).then((data) => { + aftersaleList.value = data.list }) } catch (error) { console.log(error) diff --git a/src/views/Clue/Order/Comp/OrderList.vue b/src/views/Clue/Order/Comp/OrderList.vue index 37c2639..36c2771 100644 --- a/src/views/Clue/Order/Comp/OrderList.vue +++ b/src/views/Clue/Order/Comp/OrderList.vue @@ -131,15 +131,6 @@ > 售后 - - 售后审核 - 回款 - - 回款确认 - + +
@@ -187,6 +172,8 @@ import { getClassTypePage } from '@/api/school/class' import { getSimpleProductList } from '@/api/mall/product' import DialogOrder from './DialogOrder.vue' +import DialogFeeback from './DialogFeeback.vue' +import DialogAfterSale from './DialogAfterSale.vue' import { removeNullField } from '@/utils' import { useAppStore } from '@/store/modules/app' @@ -286,9 +273,16 @@ function handleDetail(row) { orderDetailDialog.value.open(row.clueId, row.signId) } +const feedbackDialog = ref() +const afterSaleDialog = ref() // 售后 -function sellAfter() { - // 方法体 +function sellAfter(row) { + afterSaleDialog.value.open(row.signId) +} + +// 回款 +function feeBack(row) { + feedbackDialog.value.open(row.signId) } function changeSchool() { diff --git a/src/views/Clue/Order/Comp/Reback.vue b/src/views/Clue/Order/Comp/Reback.vue index 401c37d..427c973 100644 --- a/src/views/Clue/Order/Comp/Reback.vue +++ b/src/views/Clue/Order/Comp/Reback.vue @@ -2,13 +2,21 @@
- + - + - + + + + + + + + + - + - - - - - - - - - - - - + + + + + + + + + + + @@ -88,13 +109,23 @@