From dcc32b3d8f441c797398fe9c357cbf803c48fb4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=8C=E5=85=88=E8=88=9C?= <2499071264@qq.com> Date: Thu, 30 Jul 2026 15:55:36 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=B7=B2=E5=AE=9E=E7=8E=B0=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=9F=BA=E6=9C=AC=E9=80=BB=E8=BE=91=EF=BC=8C=E5=88=B0?= =?UTF-8?q?=E5=AE=8C=E6=88=90=EF=BC=8C=E5=8D=B4=E8=AE=A2=E5=8D=95=E5=94=AE?= =?UTF-8?q?=E5=90=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supplied-h5/src/router/index.js | 2 + .../joyful-selection/address/address-data.js | 33 +- .../joyful-selection/address/edit/index.vue | 78 +- .../view/joyful-selection/address/index.vue | 55 +- .../joyful-selection/order/checkout/index.vue | 123 +++- .../products/components/JoyfulSkuPopup.vue | 1 + .../profile/after-sale/index.vue | 237 ++++++ .../view/joyful-selection/profile/index.vue | 69 +- .../profile/order-detail/index.vue | 683 ++++++++++++++++-- .../joyful-selection/profile/orders/index.vue | 148 +++- supplied-h5/ui/订单UI.png | Bin 0 -> 1126743 bytes supplied-service/prisma/schema.prisma | 64 ++ .../prisma/sql/order-address-fields.sql | 7 + .../prisma/sql/supplier-after-sale.sql | 36 + .../prisma/sql/supplier-user-address.sql | 22 + supplied-service/src/constants/order.ts | 22 +- .../src/controllers/address.controller.ts | 40 + .../src/controllers/order.controller.ts | 84 +++ supplied-service/src/dao/order.dao.ts | 108 +++ .../src/functions/address-default.ts | 1 + .../src/functions/address-delete.ts | 1 + .../src/functions/address-list.ts | 1 + .../src/functions/address-save.ts | 1 + .../src/functions/after-sale-apply.ts | 1 + .../src/functions/after-sale-audit.ts | 1 + .../src/functions/after-sale-list.ts | 1 + .../src/functions/after-sale-logistics.ts | 1 + .../src/functions/order-detail.ts | 1 + supplied-service/src/server.ts | 24 + .../src/services/address.service.ts | 183 +++++ .../src/services/after-sale.service.ts | 344 +++++++++ .../src/services/order-action.service.ts | 142 +++- .../src/services/order-create.service.ts | 22 +- .../src/services/order-list.service.ts | 147 +++- 34 files changed, 2534 insertions(+), 149 deletions(-) create mode 100644 supplied-h5/src/view/joyful-selection/profile/after-sale/index.vue create mode 100644 supplied-h5/ui/订单UI.png create mode 100644 supplied-service/prisma/sql/order-address-fields.sql create mode 100644 supplied-service/prisma/sql/supplier-after-sale.sql create mode 100644 supplied-service/prisma/sql/supplier-user-address.sql create mode 100644 supplied-service/src/controllers/address.controller.ts create mode 100644 supplied-service/src/functions/address-default.ts create mode 100644 supplied-service/src/functions/address-delete.ts create mode 100644 supplied-service/src/functions/address-list.ts create mode 100644 supplied-service/src/functions/address-save.ts create mode 100644 supplied-service/src/functions/after-sale-apply.ts create mode 100644 supplied-service/src/functions/after-sale-audit.ts create mode 100644 supplied-service/src/functions/after-sale-list.ts create mode 100644 supplied-service/src/functions/after-sale-logistics.ts create mode 100644 supplied-service/src/functions/order-detail.ts create mode 100644 supplied-service/src/services/address.service.ts create mode 100644 supplied-service/src/services/after-sale.service.ts diff --git a/supplied-h5/src/router/index.js b/supplied-h5/src/router/index.js index 93249fe..17ffb26 100644 --- a/supplied-h5/src/router/index.js +++ b/supplied-h5/src/router/index.js @@ -14,6 +14,7 @@ import JoyfulSelectionAddressList from '@/view/joyful-selection/address/index.vu import JoyfulSelectionAddressEdit from '@/view/joyful-selection/address/edit/index.vue' import JoyfulSelectionOrders from '@/view/joyful-selection/profile/orders/index.vue' import JoyfulSelectionOrderDetail from '@/view/joyful-selection/profile/order-detail/index.vue' +import JoyfulSelectionAfterSale from '@/view/joyful-selection/profile/after-sale/index.vue' import JoyfulSelectionProfile from '@/view/joyful-selection/profile/index.vue' import JoyfulSelectionPoints from '@/view/joyful-selection/profile/points/index.vue' import HomeLiving from '@/view/home-living/index.vue' @@ -43,6 +44,7 @@ export default new Router({ { path: 'address/edit', component: JoyfulSelectionAddressEdit }, { path: 'orders', component: JoyfulSelectionOrders }, { path: 'order-detail', component: JoyfulSelectionOrderDetail }, + { path: 'after-sale', component: JoyfulSelectionAfterSale }, { path: 'profile', component: JoyfulSelectionProfile }, { path: 'points', component: JoyfulSelectionPoints } ] diff --git a/supplied-h5/src/view/joyful-selection/address/address-data.js b/supplied-h5/src/view/joyful-selection/address/address-data.js index a2ca581..d9291db 100644 --- a/supplied-h5/src/view/joyful-selection/address/address-data.js +++ b/supplied-h5/src/view/joyful-selection/address/address-data.js @@ -1,36 +1,7 @@ -const ADDRESS_KEY = 'joyful-selection-addresses' const CHOSEN_ADDRESS_KEY = 'joyful-selection-chosen-address-id' -const defaultAddresses = [ - { - id: 'addr-1', - name: '张三', - tel: '13888888888', - province: '浙江省', - city: '杭州市', - county: '余杭区', - addressDetail: '文一西路 888 号未来科技城海创园5幢1203室', - areaCode: '330110', - postalCode: '310000', - isDefault: true - } -] - -export const readAddresses = () => { - try { - const addresses = JSON.parse(localStorage.getItem(ADDRESS_KEY) || '[]') - return addresses.length ? addresses : defaultAddresses - } catch (error) { - return defaultAddresses - } -} - -export const saveAddresses = addresses => { - localStorage.setItem(ADDRESS_KEY, JSON.stringify(addresses)) -} - export const readChosenAddressId = () => { - return localStorage.getItem(CHOSEN_ADDRESS_KEY) || readAddresses().find(item => item.isDefault)?.id || readAddresses()[0]?.id || '' + return localStorage.getItem(CHOSEN_ADDRESS_KEY) || '' } export const saveChosenAddressId = id => { @@ -42,7 +13,7 @@ export const formatAddress = address => { return '' } - return `${address.province}${address.city}${address.county}${address.addressDetail}` + return `${address.province || ''}${address.city || ''}${address.county || ''}${address.addressDetail || ''}` } export const createAddressId = () => `addr-${Date.now()}` diff --git a/supplied-h5/src/view/joyful-selection/address/edit/index.vue b/supplied-h5/src/view/joyful-selection/address/edit/index.vue index 5ed8895..4137f86 100644 --- a/supplied-h5/src/view/joyful-selection/address/edit/index.vue +++ b/supplied-h5/src/view/joyful-selection/address/edit/index.vue @@ -10,6 +10,7 @@ show-delete show-set-default show-search-result + :tel-maxlength="11" :search-result="searchResult" :area-columns-placeholder="['请选择', '请选择', '请选择']" @save="onSave" @@ -21,9 +22,12 @@ + + diff --git a/supplied-h5/src/view/joyful-selection/profile/index.vue b/supplied-h5/src/view/joyful-selection/profile/index.vue index 822afca..830b6fc 100644 --- a/supplied-h5/src/view/joyful-selection/profile/index.vue +++ b/supplied-h5/src/view/joyful-selection/profile/index.vue @@ -49,12 +49,14 @@ 我的订单 全部订单 - + @@ -78,6 +80,7 @@ diff --git a/supplied-h5/src/view/joyful-selection/profile/order-detail/index.vue b/supplied-h5/src/view/joyful-selection/profile/order-detail/index.vue index f5ffee5..7bfd057 100644 --- a/supplied-h5/src/view/joyful-selection/profile/order-detail/index.vue +++ b/supplied-h5/src/view/joyful-selection/profile/order-detail/index.vue @@ -8,28 +8,88 @@ @@ -38,9 +98,10 @@