From d66e3cc2d8c4424bda84a2be53822ff457fd26db Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Tue, 26 Aug 2025 19:40:18 +0800 Subject: [PATCH 1/6] =?UTF-8?q?feat:=E8=BD=A6=E7=89=8C=E7=94=B3=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 +- src/api/admin/sysUserCar.ts | 40 +++++++ src/views/admin/sysUserCar/form.vue | 114 +++++++++++++++++++ src/views/admin/sysUserCar/index.vue | 161 +++++++++++++++++++++++++++ 4 files changed, 316 insertions(+), 1 deletion(-) create mode 100644 src/api/admin/sysUserCar.ts create mode 100644 src/views/admin/sysUserCar/form.vue create mode 100644 src/views/admin/sysUserCar/index.vue diff --git a/.env.development b/.env.development index 3760639..3ad36a6 100644 --- a/.env.development +++ b/.env.development @@ -12,7 +12,7 @@ ENV = 'development' # VITE_ADMIN_PROXY_PATH = http://123.156.230.15:8089/api/ # 测试线上-过期 # VITE_ADMIN_PROXY_PATH = http://pjcloud.center.takin.cc/ # VITE_ADMIN_PROXY_PATH = http://localhost:9999/ -VITE_ADMIN_PROXY_PATH = http://192.168.101.185:9999/ # 邓-本地 +VITE_ADMIN_PROXY_PATH = http://192.168.101.185:9999 # 邓-本地 # VITE_ADMIN_PROXY_PATH = http://59.202.170.152:81/api # 正式环境线上 # 图片访问基础地址 diff --git a/src/api/admin/sysUserCar.ts b/src/api/admin/sysUserCar.ts new file mode 100644 index 0000000..a672209 --- /dev/null +++ b/src/api/admin/sysUserCar.ts @@ -0,0 +1,40 @@ +import request from "/@/utils/request" + +export function fetchList(query?: Object) { + return request({ + url: "/admin/sysUserCar/page", + method: "get", + params: query, + }) +} + +export function addObj(obj?: Object) { + return request({ + url: "/admin/sysUserCar", + method: "post", + data: obj, + }) +} + +export function getObj(id?: string) { + return request({ + url: "/admin/sysUserCar/" + id, + method: "get", + }) +} + +export function delObjs(ids?: Object) { + return request({ + url: "/admin/sysUserCar", + method: "delete", + data: ids, + }) +} + +export function putObj(obj?: Object) { + return request({ + url: "/admin/sysUserCar", + method: "put", + data: obj, + }) +} diff --git a/src/views/admin/sysUserCar/form.vue b/src/views/admin/sysUserCar/form.vue new file mode 100644 index 0000000..f410b50 --- /dev/null +++ b/src/views/admin/sysUserCar/form.vue @@ -0,0 +1,114 @@ + + + \ No newline at end of file diff --git a/src/views/admin/sysUserCar/index.vue b/src/views/admin/sysUserCar/index.vue new file mode 100644 index 0000000..8f8b231 --- /dev/null +++ b/src/views/admin/sysUserCar/index.vue @@ -0,0 +1,161 @@ + + + \ No newline at end of file From ac657b4698758fbd122bd30b56f5dee5ab28da06 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Wed, 27 Aug 2025 10:25:36 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E5=95=86=E5=93=81=E9=80=80=E6=AC=BE,?= =?UTF-8?q?=E5=8D=95=E4=B8=AA=E9=80=80=E6=AC=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/hard/components/shop-car.vue | 14 +- .../hard/hard-order/admin-refund-dialog.vue | 129 ------------------ .../components/admin-refund-dialog/form.vue | 90 ++++++++++++ .../components/admin-refund-dialog/index.vue | 108 +++++++++++++++ .../components/admin-refund-dialog/table.vue | 51 +++++++ src/views/hard/hard-order/index.vue | 2 +- 6 files changed, 254 insertions(+), 140 deletions(-) delete mode 100644 src/views/hard/hard-order/admin-refund-dialog.vue create mode 100644 src/views/hard/hard-order/components/admin-refund-dialog/form.vue create mode 100644 src/views/hard/hard-order/components/admin-refund-dialog/index.vue create mode 100644 src/views/hard/hard-order/components/admin-refund-dialog/table.vue diff --git a/src/views/hard/components/shop-car.vue b/src/views/hard/components/shop-car.vue index ae6f65f..96d42c0 100644 --- a/src/views/hard/components/shop-car.vue +++ b/src/views/hard/components/shop-car.vue @@ -1,19 +1,13 @@ \ No newline at end of file + diff --git a/src/views/integrated/cleanUser/index.vue b/src/views/integrated/meeting/cleanUser/index.vue similarity index 94% rename from src/views/integrated/cleanUser/index.vue rename to src/views/integrated/meeting/cleanUser/index.vue index 61270b8..2911ea5 100644 --- a/src/views/integrated/cleanUser/index.vue +++ b/src/views/integrated/meeting/cleanUser/index.vue @@ -32,7 +32,7 @@ @queryTable="getDataList"> - @@ -60,10 +60,10 @@ \ No newline at end of file + diff --git a/src/views/integrated/meetingEquipment/form.vue b/src/views/integrated/meeting/meetingEquipment/form.vue similarity index 94% rename from src/views/integrated/meetingEquipment/form.vue rename to src/views/integrated/meeting/meetingEquipment/form.vue index 991f3ec..91be0f8 100644 --- a/src/views/integrated/meetingEquipment/form.vue +++ b/src/views/integrated/meeting/meetingEquipment/form.vue @@ -52,10 +52,10 @@ \ No newline at end of file + diff --git a/src/views/integrated/meetingRoomEquipment/index.vue b/src/views/integrated/meeting/meetingRoomEquipment/index.vue similarity index 93% rename from src/views/integrated/meetingRoomEquipment/index.vue rename to src/views/integrated/meeting/meetingRoomEquipment/index.vue index c4ee60e..23043f3 100644 --- a/src/views/integrated/meetingRoomEquipment/index.vue +++ b/src/views/integrated/meeting/meetingRoomEquipment/index.vue @@ -16,7 +16,7 @@ @queryTable="getDataList"> - @@ -43,10 +43,10 @@ \ No newline at end of file + From fd65cf1bf3ea6291c856b73cccdeb0379c38f8b3 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Wed, 27 Aug 2025 15:58:28 +0800 Subject: [PATCH 4/6] =?UTF-8?q?feat:=E7=AE=A1=E7=90=86=E5=91=98=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E8=AE=B0=E5=BD=95=E5=88=86=E9=A1=B5=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hard/hard-after-sale/order-refund.vue | 21 +-- .../components/admin-refund-dialog/form.vue | 2 +- .../components/admin-refund-dialog/table.vue | 173 +++++++++++++++--- src/views/hard/hard-order/index.vue | 6 +- 4 files changed, 158 insertions(+), 44 deletions(-) diff --git a/src/views/hard/hard-after-sale/order-refund.vue b/src/views/hard/hard-after-sale/order-refund.vue index 31bafbb..6aa3efd 100644 --- a/src/views/hard/hard-after-sale/order-refund.vue +++ b/src/views/hard/hard-after-sale/order-refund.vue @@ -41,14 +41,8 @@ - + - \ No newline at end of file + + + \ No newline at end of file diff --git a/src/views/hard/hard-order/index.vue b/src/views/hard/hard-order/index.vue index 89d95d7..8a3cb26 100644 --- a/src/views/hard/hard-order/index.vue +++ b/src/views/hard/hard-order/index.vue @@ -54,7 +54,8 @@ + @sort-change="sortChangeHandle" :show-summary="false" :summary-method="getSummaries" + row-key="id"> @@ -242,7 +243,6 @@ - @@ -402,7 +402,7 @@ const getSummaries = (param: SummaryMethodProps) => { { column: "totalPrice", columnName: "商品总价", color: "#67C260" }, { column: "extraPrice", columnName: "额外支付", color: "#F56E9B" }, { column: "payPrice", columnName: "实际支付", color: "#355CF6" }, - ].forEach(({ column, columnName, color }: any, index: number) => { + ].forEach(({ column, columnName, color }: any) => { const values = data.map((item) => Number(item[column])) if (!values.every((value) => Number.isNaN(value))) { priceVNode.push( From ca11691c03c14200bce6ce5589400a432795991b Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Wed, 27 Aug 2025 20:15:28 +0800 Subject: [PATCH 5/6] =?UTF-8?q?feat:=E8=B4=AD=E7=89=A9=E8=BD=A6=E5=95=86?= =?UTF-8?q?=E5=93=81=E7=BA=A7=E9=80=80=E6=AC=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/hard/hard-after-sale.ts | 8 ++ src/api/hard/hard-car.ts | 77 ++++++----- src/hooks/table.ts | 4 +- .../components/admin-refund-dialog/form.vue | 8 +- .../components/admin-refund-dialog/index.vue | 19 ++- .../components/admin-refund-dialog/table.vue | 123 +++++++++++++++--- src/views/hard/hard-order/index.vue | 5 +- 7 files changed, 182 insertions(+), 62 deletions(-) diff --git a/src/api/hard/hard-after-sale.ts b/src/api/hard/hard-after-sale.ts index ad4ae65..283cbd9 100644 --- a/src/api/hard/hard-after-sale.ts +++ b/src/api/hard/hard-after-sale.ts @@ -8,6 +8,14 @@ export function adminRefund(data?: Object) { }) } +export function adminReinforceRefund(data?: Object) { + return request({ + url: "/hard/hard-after-sale/admin-reinforce-refund", + method: "post", + data, + }) +} + export function history(query?: Object) { return request({ url: "/hard/hard-after-sale/history", diff --git a/src/api/hard/hard-car.ts b/src/api/hard/hard-car.ts index 6c068e1..d92a11a 100644 --- a/src/api/hard/hard-car.ts +++ b/src/api/hard/hard-car.ts @@ -1,57 +1,64 @@ import request from "/@/utils/request" export function getCarByOrderId(query?: Object) { - return request({ - url: '/hard/hard-car/order-id', - method: 'get', - params: query - }) + return request({ + url: "/hard/hard-car/order-id", + method: "get", + params: query, + }) +} + +export function refundCar(query?: Object) { + return request({ + url: "/hard/hard-car/refund-car", + method: "get", + params: query, + }) } export function pageJoin(query?: Object) { - return request({ - url: '/hard/hard-car/page-join', - method: 'get', - params: query - }) + return request({ + url: "/hard/hard-car/page-join", + method: "get", + params: query, + }) } export function fetchList(query?: Object) { - return request({ - url: '/hard/hard-car/page', - method: 'get', - params: query - }) + return request({ + url: "/hard/hard-car/page", + method: "get", + params: query, + }) } export function addObj(obj?: Object) { - return request({ - url: '/hard/hard-car', - method: 'post', - data: obj - }) + return request({ + url: "/hard/hard-car", + method: "post", + data: obj, + }) } export function getObj(id?: string) { - return request({ - url: '/hard/hard-car/' + id, - method: 'get' - }) + return request({ + url: "/hard/hard-car/" + id, + method: "get", + }) } export function delObjs(ids?: Object) { - return request({ - url: '/hard/hard-car', - method: 'delete', - data: ids - }) + return request({ + url: "/hard/hard-car", + method: "delete", + data: ids, + }) } export function putObj(obj?: Object) { - return request({ - url: '/hard/hard-car', - method: 'put', - data: obj - }) + return request({ + url: "/hard/hard-car", + method: "put", + data: obj, + }) } - diff --git a/src/hooks/table.ts b/src/hooks/table.ts index af2c58c..1fe3749 100644 --- a/src/hooks/table.ts +++ b/src/hooks/table.ts @@ -203,13 +203,13 @@ export function useTable(options?: BasicTableProps) { * 刷新后不跳转第一页,则入参 getDataList(false) * @param refresh 是否刷新当前页码 */ - const getDataList = (refresh?: any) => { + const getDataList = async (refresh?: any) => { // 如果需要刷新,则将state.pagination.current重置为1 if (refresh !== false) { state.pagination!.current = 1 } // 再次发起查询操作 - query() + await query() } /** diff --git a/src/views/hard/hard-order/components/admin-refund-dialog/form.vue b/src/views/hard/hard-order/components/admin-refund-dialog/form.vue index ccf9882..106581c 100644 --- a/src/views/hard/hard-order/components/admin-refund-dialog/form.vue +++ b/src/views/hard/hard-order/components/admin-refund-dialog/form.vue @@ -33,6 +33,7 @@ diff --git a/src/views/hard/hard-order/index.vue b/src/views/hard/hard-order/index.vue index 8a3cb26..c4ab917 100644 --- a/src/views/hard/hard-order/index.vue +++ b/src/views/hard/hard-order/index.vue @@ -224,8 +224,7 @@ v-auth="'hard_hardwareOrder_edit'" @click="formDialogRef.openDialog(row.id)"> 编辑 - 退款 @@ -402,7 +401,7 @@ const getSummaries = (param: SummaryMethodProps) => { { column: "totalPrice", columnName: "商品总价", color: "#67C260" }, { column: "extraPrice", columnName: "额外支付", color: "#F56E9B" }, { column: "payPrice", columnName: "实际支付", color: "#355CF6" }, - ].forEach(({ column, columnName, color }: any) => { + ].forEach(({ column, columnName, color }: any, index: number) => { const values = data.map((item) => Number(item[column])) if (!values.every((value) => Number.isNaN(value))) { priceVNode.push( From af8e6df1c0cd0b338c12b21f0e4e5d69d36ab2c1 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Wed, 27 Aug 2025 20:34:11 +0800 Subject: [PATCH 6/6] =?UTF-8?q?feat:=E9=80=80=E6=AC=BE=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E5=BE=85=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/admin-refund-dialog/form.vue | 5 +++ .../components/admin-refund-dialog/index.vue | 6 +++- .../components/admin-refund-dialog/table.vue | 34 ++++++++++++------- 3 files changed, 31 insertions(+), 14 deletions(-) diff --git a/src/views/hard/hard-order/components/admin-refund-dialog/form.vue b/src/views/hard/hard-order/components/admin-refund-dialog/form.vue index 106581c..bb55ae0 100644 --- a/src/views/hard/hard-order/components/admin-refund-dialog/form.vue +++ b/src/views/hard/hard-order/components/admin-refund-dialog/form.vue @@ -90,7 +90,12 @@ const validate = async () => { return form } +const resetFields = async () => { + await dataFormRef.value.resetFields() +} + defineExpose({ validate, + resetFields }) \ No newline at end of file diff --git a/src/views/hard/hard-order/components/admin-refund-dialog/index.vue b/src/views/hard/hard-order/components/admin-refund-dialog/index.vue index 65a140b..79c3a9f 100644 --- a/src/views/hard/hard-order/components/admin-refund-dialog/index.vue +++ b/src/views/hard/hard-order/components/admin-refund-dialog/index.vue @@ -56,10 +56,14 @@ const state = reactive({ const openDialog = (id: string) => { visible.value = true state.orderId = id + + nextTick(() => { + refundTableRef.value?.getCarList(state.orderId) + refundFormRef.value?.resetFields() + }) } function tabClick(e: any) { - console.log("tabClick", e); nextTick(async () => { loading.value = true try { diff --git a/src/views/hard/hard-order/components/admin-refund-dialog/table.vue b/src/views/hard/hard-order/components/admin-refund-dialog/table.vue index d04906a..d0dd289 100644 --- a/src/views/hard/hard-order/components/admin-refund-dialog/table.vue +++ b/src/views/hard/hard-order/components/admin-refund-dialog/table.vue @@ -9,7 +9,7 @@ @@ -36,7 +36,7 @@ @@ -66,7 +66,7 @@ @@ -76,16 +76,16 @@ @@ -132,6 +132,14 @@ const getCarList = async (orderId: string) => { // 获取已退款的商品 const { data } = await hardCar.refundCar({ orderId }) if (!data || !data.length) { + disposeDataList.value = state.dataList.map((item) => { + if (!item) return null + return { + ...item, + refundProductCount: 0, + refundTotalPrice: 0, + } + }).filter(Boolean) return } refundSuccessList.value = data