diff --git a/src/pages.json b/src/pages.json index 10ad755..3ecde96 100644 --- a/src/pages.json +++ b/src/pages.json @@ -159,6 +159,25 @@ } ] }, + { + "root": "pages/refund", + "pages": [ + { + "path": "apply", + "style": { + "navigationBarTitleText": "", + "disableScroll": true + } + }, + { + "path": "history", + "style": { + "navigationBarTitleText": "", + "disableScroll": true + } + } + ] + }, { "root": "pages/wallet", "pages": [ diff --git a/src/pages/order/detail.vue b/src/pages/order/detail.vue index 7a22b1d..961f274 100644 --- a/src/pages/order/detail.vue +++ b/src/pages/order/detail.vue @@ -4,7 +4,7 @@ import { onLoad, onShow } from "@dcloudio/uni-app"; import { isEmpty } from "radash" import { hooks, constant, router } from "@@/index" -import { orderApi } from "@@/api" +import { orderApi, refundApi } from "@@/api" const data = { @@ -12,6 +12,7 @@ const data = { const state = reactive({ detailId: null, detail: {}, + refundDetail: {}, shopCarList: [], }) @@ -30,6 +31,9 @@ const getDetail = async () => { const _pa = { id: state.detailId }; const { data } = await orderApi.detail(_pa) state.detail = data + if (state.detail.orderStatus == 10) { + getRefundDetail() + } } const getShopCarList = async () => { @@ -39,6 +43,24 @@ const getShopCarList = async () => { state.shopCarList = data } +const getRefundDetail = async () => { + if (isEmpty(state.detailId)) return + const _pa = { id: state.detailId }; + const { data } = await refundApi.get(_pa) + state.refundDetail = data +} + +const doCancelRefund = async () => { + uni.showModal({ + title: '提示', + content: '是否确定取消申请退款', + confirmColor: '#0094ff', + success: async (res) => { + + } + }) +} + @@ -89,7 +111,7 @@ const getShopCarList = async () => { - + {{ v.productName }} ¥ {{ hooks.useMoney(v.productPrice) }} @@ -110,6 +132,52 @@ const getShopCarList = async () => { + + + + + + 退款申请待商家处理 + + + {{ hooks.useTime(state.refundDetail.updateTime, "") }} + + + + + + 退款金额 + ¥{{ hooks.useMoney(state.refundDetail.refundPrice) }} + + + + 服务单号: + {{ state.refundDetail.no }} + + + 申请时间: + {{ hooks.useTime(state.refundDetail.createTime, "") }} + + + 售后类型: + {{ state.refundDetail.applyReason }} + + + 相关描述: + {{ state.refundDetail.applyDescription }} + + + + + + diff --git a/src/pages/refund/apply.vue b/src/pages/refund/apply.vue new file mode 100644 index 0000000..f133a0b --- /dev/null +++ b/src/pages/refund/apply.vue @@ -0,0 +1,185 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/refund/history.vue b/src/pages/refund/history.vue new file mode 100644 index 0000000..d3d9a0d --- /dev/null +++ b/src/pages/refund/history.vue @@ -0,0 +1,32 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/tabbar/order.vue b/src/pages/tabbar/order.vue index bdd91f1..13b6509 100644 --- a/src/pages/tabbar/order.vue +++ b/src/pages/tabbar/order.vue @@ -12,7 +12,7 @@ const data = { { id: null, name: '全部', disabled: false }, { id: 1, name: '未支付', disabled: false }, { id: 5, name: '待核销', disabled: false }, - { id: 10, name: '已退款', disabled: false }, + { id: 10, name: '售后中', disabled: false }, { id: 15, name: '已核销', disabled: false }, ] } @@ -51,6 +51,8 @@ const doAppraise = () => { } const doRefund = (v: any) => { + router.jump("/pages/refund/apply", { id: v.id }) + return uni.showModal({ title: '提示', content: '是否确定退款', @@ -100,7 +102,7 @@ const doRefund = (v: any) => { 未支付 待核销 - 已退款 + 售后中 已核销 diff --git a/src/sheep/api/common.ts b/src/sheep/api/common.ts index 8c60b54..28c11b5 100644 --- a/src/sheep/api/common.ts +++ b/src/sheep/api/common.ts @@ -1,3 +1,13 @@ import request from "@/sheep/utils/request"; -export default {}; +export default { + setting: (params: any) => + request({ + url: "pay/setting/get", + method: "GET", + params, + custom: { + showLoading: false, + }, + }), +}; diff --git a/src/sheep/api/index.ts b/src/sheep/api/index.ts index 8101071..42acaf0 100644 --- a/src/sheep/api/index.ts +++ b/src/sheep/api/index.ts @@ -14,6 +14,8 @@ export { default as payApi } from "./pay"; export { default as productApi } from "./product"; +export { default as refundApi } from "./refund"; + export { default as userApi } from "./user"; export { default as walletApi } from "./wallet"; diff --git a/src/sheep/api/refund.ts b/src/sheep/api/refund.ts new file mode 100644 index 0000000..4b9e107 --- /dev/null +++ b/src/sheep/api/refund.ts @@ -0,0 +1,18 @@ +import request from "@/sheep/utils/request"; + +export default { + create: (data) => { + return request({ + url: "/hardware/trade-after-sale/create", + method: "POST", + data, + }); + }, + get: (params) => { + return request({ + url: "/hardware/trade-after-sale/get-by-order-id", + method: "GET", + params, + }); + }, +}; diff --git a/src/static/icon/service_4.png b/src/static/icon/service_4.png index 6c56e39..261355f 100644 Binary files a/src/static/icon/service_4.png and b/src/static/icon/service_4.png differ diff --git a/src/uni_modules/tm-ui/components/tm-picker-view/tm-picker-view.vue b/src/uni_modules/tm-ui/components/tm-picker-view/tm-picker-view.vue index 7041120..df2bf50 100644 --- a/src/uni_modules/tm-ui/components/tm-picker-view/tm-picker-view.vue +++ b/src/uni_modules/tm-ui/components/tm-picker-view/tm-picker-view.vue @@ -1,5 +1,5 @@ \ No newline at end of file