Skip to content

Commit a06a63c

Browse files
committed
Merge remote-tracking branch 'origin/dev' into dev
2 parents df8a394 + ab95d87 commit a06a63c

File tree

11 files changed

+133
-257
lines changed

11 files changed

+133
-257
lines changed

src/api/system/area/index.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,6 @@ export const getAreaTree = async () => {
55
return await request.get({ url: '/system/area/tree' })
66
}
77

8-
export const getChildrenArea = async (id: number) => {
9-
return await request.get({ url: '/system/area/get-children?id=' + id })
10-
}
11-
12-
export const getAreaListByIds = async (ids) => {
13-
return await request.get({ url: '/system/area/get-by-ids?ids=' + ids })
14-
}
15-
168
// 获得 IP 对应的地区名
179
export const getAreaByIp = async (ip: string) => {
1810
return await request.get({ url: '/system/area/get-by-ip?ip=' + ip })

src/router/modules/remaining.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,7 @@ const remainingRouter: AppRouteRecordRaw[] = [
405405
meta: { title: '订单详情', icon: 'ep:view', activeMenu: '/mall/trade/order' }
406406
},
407407
{
408-
path: 'after-sale/detail/:orderId(\\d+)',
408+
path: 'after-sale/detail/:id(\\d+)',
409409
component: () => import('@/views/mall/trade/afterSale/detail/index.vue'),
410410
name: 'TradeAfterSaleDetail',
411411
meta: { title: '退款详情', icon: 'ep:view', activeMenu: '/mall/trade/after-sale' }

src/views/mall/trade/afterSale/detail/index.vue

Lines changed: 42 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
<el-descriptions-item label="配送方式: ">
77
<dict-tag :type="DICT_TYPE.TRADE_DELIVERY_TYPE" :value="formData.order.deliveryType" />
88
</el-descriptions-item>
9-
<!-- TODO 营销活动待实现 -->
109
<el-descriptions-item label="订单类型: ">
1110
<dict-tag :type="DICT_TYPE.TRADE_ORDER_TYPE" :value="formData.order.type" />
1211
</el-descriptions-item>
@@ -29,8 +28,7 @@
2928
<el-descriptions-item label="付款方式: ">
3029
<dict-tag :type="DICT_TYPE.PAY_CHANNEL_CODE" :value="formData.order.payChannelCode" />
3130
</el-descriptions-item>
32-
<!-- TODO 芋艿:待实现:跳转会员 -->
33-
<!-- <el-descriptions-item label="买家: ">{{ formData.user.nickname }}</el-descriptions-item> -->
31+
<el-descriptions-item label="买家: ">{{ formData?.user?.nickname }}</el-descriptions-item>
3432
</el-descriptions>
3533

3634
<!-- 售后信息 -->
@@ -46,7 +44,7 @@
4644
<dict-tag :type="DICT_TYPE.TRADE_AFTER_SALE_WAY" :value="formData.way" />
4745
</el-descriptions-item>
4846
<el-descriptions-item label="退款金额: ">
49-
{{ floatToFixed2(formData.refundPrice) }}
47+
{{ fenToYuan(formData.refundPrice) }}
5048
</el-descriptions-item>
5149
<el-descriptions-item label="退款原因: ">{{ formData.applyReason }}</el-descriptions-item>
5250
<el-descriptions-item label="补充描述: ">
@@ -92,7 +90,7 @@
9290
<el-descriptions-item labelClassName="no-colon">
9391
<el-row :gutter="20">
9492
<el-col :span="15">
95-
<el-table :data="formData.items" border>
93+
<el-table :data="[formData.orderItem]" border>
9694
<el-table-column label="商品" prop="spuName" width="auto">
9795
<template #default="{ row }">
9896
{{ row.spuName }}
@@ -102,26 +100,20 @@
102100
</template>
103101
</el-table-column>
104102
<el-table-column label="商品原价" prop="price" width="150">
105-
<template #default="{ row }">{{ floatToFixed2(row.price) }}元</template>
103+
<template #default="{ row }">{{ fenToYuan(row.price) }} 元</template>
106104
</el-table-column>
107105
<el-table-column label="数量" prop="count" width="100" />
108106
<el-table-column label="合计" prop="payPrice" width="150">
109-
<template #default="{ row }">{{ floatToFixed2(row.payPrice) }}元</template>
110-
</el-table-column>
111-
<el-table-column label="售后状态" prop="afterSaleStatus" width="120">
112-
<template #default="{ row }">
113-
<dict-tag
114-
:type="DICT_TYPE.TRADE_ORDER_ITEM_AFTER_SALE_STATUS"
115-
:value="row.afterSaleStatus"
116-
/>
117-
</template>
107+
<template #default="{ row }">{{ fenToYuan(row.payPrice) }} 元</template>
118108
</el-table-column>
119109
</el-table>
120110
</el-col>
121111
<el-col :span="10" />
122112
</el-row>
123113
</el-descriptions-item>
124114
</el-descriptions>
115+
116+
<!-- 操作日志 -->
125117
<el-descriptions title="售后日志">
126118
<el-descriptions-item labelClassName="no-colon">
127119
<el-timeline>
@@ -153,7 +145,7 @@
153145
</template>
154146
<script lang="ts" setup>
155147
import * as AfterSaleApi from '@/api/mall/trade/afterSale/index'
156-
import { floatToFixed2 } from '@/utils'
148+
import { fenToYuan } from '@/utils'
157149
import { DICT_TYPE, getDictLabel, getDictObj } from '@/utils/dict'
158150
import { formatDate } from '@/utils/formatTime'
159151
import UpdateAuditReasonForm from '@/views/mall/trade/afterSale/form/AfterSaleDisagreeForm.vue'
@@ -191,7 +183,7 @@ const getUserTypeColor = (type: number) => {
191183
192184
/** 获得详情 */
193185
const getDetail = async () => {
194-
const id = params.orderId as unknown as number
186+
const id = params.id as unknown as number
195187
if (id) {
196188
const res = await AfterSaleApi.getAfterSale(id)
197189
// 没有表单信息则关闭页面返回
@@ -204,44 +196,56 @@ const getDetail = async () => {
204196
}
205197
206198
/** 同意售后 */
207-
const agree = () => {
208-
message.confirm('是否同意售后?').then(() => {
209-
AfterSaleApi.agree(formData.value.id)
199+
const agree = async () => {
200+
try {
201+
// 二次确认
202+
await message.confirm('是否同意售后?')
203+
await AfterSaleApi.agree(formData.value.id)
204+
// 提示成功
210205
message.success(t('common.success'))
211-
getDetail()
212-
})
206+
await getDetail()
207+
} catch {}
213208
}
214209
215210
/** 拒绝售后 */
216-
const disagree = () => {
211+
const disagree = async () => {
217212
updateAuditReasonFormRef.value?.open(formData.value)
218213
}
219214
220215
/** 确认收货 */
221-
const receive = () => {
222-
message.confirm('是否确认收货?').then(() => {
223-
AfterSaleApi.receive(formData.value.id)
216+
const receive = async () => {
217+
try {
218+
// 二次确认
219+
await message.confirm('是否确认收货?')
220+
await AfterSaleApi.receive(formData.value.id)
221+
// 提示成功
224222
message.success(t('common.success'))
225-
getDetail()
226-
})
223+
await getDetail()
224+
} catch {}
227225
}
228226
229227
/** 拒绝收货 */
230-
const refuse = () => {
231-
message.confirm('是否拒绝收货?').then(() => {
232-
AfterSaleApi.refuse(formData.value.id)
228+
const refuse = async () => {
229+
try {
230+
// 二次确认
231+
await message.confirm('是否拒绝收货?')
232+
await AfterSaleApi.refuse(formData.value.id)
233+
// 提示成功
233234
message.success(t('common.success'))
234-
getDetail()
235-
})
235+
await getDetail()
236+
} catch {}
236237
}
237238
238239
/** 确认退款 */
239-
const refund = () => {
240-
message.confirm('是否确认退款?').then(() => {
241-
AfterSaleApi.refund(formData.value.id)
240+
const refund = async () => {
241+
try {
242+
// 二次确认
243+
await message.confirm('是否确认退款?')
244+
await AfterSaleApi.refund(formData.value.id)
245+
// 提示成功
242246
message.success(t('common.success'))
243-
getDetail()
244-
})
247+
await getDetail()
248+
} catch {}
245249
}
246250
247251
/** 图片预览 */

src/views/mall/trade/afterSale/index.vue

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -135,17 +135,16 @@
135135
</el-table-column>
136136
<el-table-column align="center" label="订单金额" prop="refundPrice">
137137
<template #default="scope">
138-
<span>{{ floatToFixed2(scope.row.refundPrice) }}元</span>
138+
<span>{{ fenToYuan(scope.row.refundPrice) }} 元</span>
139139
</template>
140140
</el-table-column>
141-
<!-- TODO 芋艿:未来要加个会员链接 -->
142141
<el-table-column align="center" label="买家" prop="user.nickname" />
143142
<el-table-column align="center" label="申请时间" prop="createTime" width="180">
144143
<template #default="scope">
145144
<span>{{ formatDate(scope.row.createTime) }}</span>
146145
</template>
147146
</el-table-column>
148-
<el-table-column align="center" label="售后状态">
147+
<el-table-column align="center" label="售后状态" width="100">
149148
<template #default="scope">
150149
<dict-tag :type="DICT_TYPE.TRADE_AFTER_SALE_STATUS" :value="scope.row.status" />
151150
</template>
@@ -177,7 +176,7 @@ import { formatDate } from '@/utils/formatTime'
177176
import { createImageViewer } from '@/components/ImageViewer'
178177
import { TabsPaneContext } from 'element-plus'
179178
import { cloneDeep } from 'lodash-es'
180-
import { floatToFixed2 } from '@/utils'
179+
import { fenToYuan } from '@/utils'
181180
182181
defineOptions({ name: 'TradeAfterSale' })
183182
@@ -240,7 +239,7 @@ const tabClick = async (tab: TabsPaneContext) => {
240239
241240
/** 处理退款 */
242241
const openAfterSaleDetail = (id: number) => {
243-
push({ name: 'TradeAfterSaleDetail', params: { orderId: id } })
242+
push({ name: 'TradeAfterSaleDetail', params: { id } })
244243
}
245244
246245
/** 查看订单详情 */

src/views/mall/trade/config/index.vue

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@
6464
商城商品满多少金额即可包邮,单位:元
6565
</el-text>
6666
</el-form-item>
67+
<el-form-item label="启用门店自提" prop="deliveryPickUpEnabled">
68+
<el-switch v-model="formData.deliveryPickUpEnabled" style="user-select: none" />
69+
</el-form-item>
6770
</el-tab-pane>
6871
<!-- 分销 -->
6972
<el-tab-pane label="分销">
@@ -206,7 +209,6 @@
206209

207210
<script setup lang="ts">
208211
import * as ConfigApi from '@/api/mall/trade/config'
209-
import { BrokerageBindModeEnum, BrokerageEnabledConditionEnum } from '@/utils/constants'
210212
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
211213
212214
defineOptions({ name: 'TradeConfig' })
@@ -221,6 +223,7 @@ const formData = ref({
221223
afterSaleReturnReasons: [],
222224
deliveryExpressFreeEnabled: false,
223225
deliveryExpressFreePrice: 0,
226+
deliveryPickUpEnabled: false,
224227
brokerageEnabled: false,
225228
brokerageEnabledCondition: undefined,
226229
brokerageBindMode: undefined,

src/views/mall/trade/delivery/express/ExpressForm.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@
77
label-width="120px"
88
v-loading="formLoading"
99
>
10-
<el-form-item label="快递公司编码" prop="code">
10+
<el-form-item label="公司编码" prop="code">
1111
<el-input v-model="formData.code" placeholder="请输入快递编码" />
1212
</el-form-item>
13-
<el-form-item label="快递公司名称" prop="name">
13+
<el-form-item label="公司名称" prop="name">
1414
<el-input v-model="formData.name" placeholder="请输入快递名称" />
1515
</el-form-item>
16-
<el-form-item label="快递公司 logo" prop="logo">
16+
<el-form-item label="公司 logo" prop="logo">
1717
<UploadImg v-model="formData.logo" :limit="1" :is-show-tip="false" />
1818
<div style="font-size: 10px" class="pl-10px">推荐 180x180 图片分辨率</div>
1919
</el-form-item>
20-
<el-form-item label="分类排序" prop="sort">
20+
<el-form-item label="排序" prop="sort">
2121
<el-input-number v-model="formData.sort" controls-position="right" :min="0" />
2222
</el-form-item>
2323
<el-form-item label="开启状态" prop="status">

src/views/mall/trade/delivery/express/index.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,11 @@
5353
<!-- 列表 -->
5454
<ContentWrap>
5555
<el-table v-loading="loading" :data="list">
56-
<el-table-column label="快递公司编号" prop="code" />
57-
<el-table-column label="快递公司名称" prop="name" />
58-
<el-table-column label="快递公司 logo " prop="logo">
56+
<el-table-column label="公司编码" prop="code" />
57+
<el-table-column label="公司名称" prop="name" />
58+
<el-table-column label="公司 logo " prop="logo">
5959
<template #default="scope">
60-
<img v-if="scope.row.logo" :src="scope.row.logo" alt="快递公司logo" class="h-100px" />
60+
<img v-if="scope.row.logo" :src="scope.row.logo" alt="公司logo" class="h-40px" />
6161
</template>
6262
</el-table-column>
6363
<el-table-column label="排序" align="center" prop="sort" />

0 commit comments

Comments
 (0)