Skip to content

Commit ab95d87

Browse files
committed
trade:优化门店的 list 列表,新增是否自提的配置项
1 parent a9bbbc7 commit ab95d87

File tree

3 files changed

+28
-34
lines changed

3 files changed

+28
-34
lines changed

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/pickUpStore/PickUpStoreForm.vue

Lines changed: 12 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
<el-row>
5252
<el-col :span="12">
5353
<el-form-item label="门店所在地区" prop="areaId">
54-
<el-cascader v-model="formData.areaId" :options="areaList" :props="areaTreeProps" />
54+
<el-cascader v-model="formData.areaId" :options="areaList" :props="defaultProps" />
5555
</el-form-item>
5656
</el-col>
5757
<el-col :span="12">
@@ -99,7 +99,7 @@
9999
</el-col>
100100
</el-row>
101101
<el-form-item label="获取经纬度">
102-
<el-button type="primary" @click="mapDialogVisible.value = true">获取</el-button>
102+
<el-button type="primary" @click="mapDialogVisible = true">获取</el-button>
103103
</el-form-item>
104104
</el-form>
105105
<template #footer>
@@ -121,8 +121,9 @@
121121
import * as DeliveryPickUpStoreApi from '@/api/mall/trade/delivery/pickUpStore'
122122
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
123123
import { CommonStatusEnum } from '@/utils/constants'
124+
import { defaultProps } from '@/utils/tree'
124125
import { getAreaTree } from '@/api/system/area'
125-
import * as ConfigApi from '@/api/infra/config'
126+
import * as ConfigApi from '@/api/mall/trade/config'
126127
const { t } = useI18n() // 国际化
127128
const message = useMessage() // 消息弹窗
128129
@@ -161,12 +162,6 @@ const formRules = reactive({
161162
status: [{ required: true, message: '开启状态不能为空', trigger: 'blur' }]
162163
})
163164
const formRef = ref() // 表单 Ref
164-
const areaTreeProps = {
165-
children: 'children',
166-
label: 'name',
167-
value: 'id',
168-
emitPath: false
169-
}
170165
const areaList = ref() // 区域树
171166
const tencentLbsUrl = ref('') // 腾讯位置服务 url
172167
@@ -244,16 +239,8 @@ const selectAddress = function (loc: any): void {
244239
mapDialogVisible.value = false
245240
}
246241
247-
/** 初始化数据 */
248-
const initData = async () => {
249-
formLoading.value = true
250-
try {
251-
const data = await getAreaTree()
252-
areaList.value = data
253-
} finally {
254-
formLoading.value = false
255-
}
256-
// TODO @jason:要不创建一个 initTencentLbsMap
242+
/** 初始化腾讯地图 */
243+
const initTencentLbsMap = async () => {
257244
window.selectAddress = selectAddress
258245
window.addEventListener(
259246
'message',
@@ -267,17 +254,16 @@ const initData = async () => {
267254
},
268255
false
269256
)
270-
const data = await ConfigApi.getConfigKey('tencent.lbs.key')
271-
let key = ''
272-
if (data && data.length > 0) {
273-
key = data
274-
}
257+
const data = await ConfigApi.getTradeConfig()
258+
const key = data.tencentLbsKey
275259
tencentLbsUrl.value = `https://apis.map.qq.com/tools/locpicker?type=1&key=${key}&referer=myapp`
276260
}
277261
278262
/** 初始化 **/
279-
onMounted(() => {
280-
initData()
263+
onMounted(async () => {
264+
areaList.value = await getAreaTree()
265+
// 加载地图
266+
await initTencentLbsMap()
281267
})
282268
</script>
283269
<style lang="scss">

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

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -65,16 +65,21 @@
6565
<!-- 列表 -->
6666
<ContentWrap>
6767
<el-table v-loading="loading" :data="list">
68-
<el-table-column label="编号" prop="id" />
69-
<el-table-column label="门店 logo" prop="logo">
68+
<el-table-column label="编号" min-width="80" prop="id" />
69+
<el-table-column label="门店 logo" min-width="100" prop="logo">
7070
<template #default="scope">
71-
<img v-if="scope.row.logo" :src="scope.row.logo" alt="门店 logo" class="h-100px" />
71+
<img v-if="scope.row.logo" :src="scope.row.logo" alt="门店 logo" class="h-50px" />
7272
</template>
7373
</el-table-column>
74-
<el-table-column label="门店名称" prop="name" />
75-
<el-table-column label="门店手机" prop="phone" />
76-
<el-table-column align="center" label="门店详细地址" prop="detailAddress" />
77-
<el-table-column align="center" label="开启状态" prop="status">
74+
<el-table-column label="门店名称" min-width="150" prop="name" />
75+
<el-table-column label="门店手机" min-width="100" prop="phone" />
76+
<el-table-column label="地址" min-width="100" prop="detailAddress" />
77+
<el-table-column label="营业时间" min-width="180">
78+
<template #default="scope">
79+
{{ scope.row.openingTime }} ~ {{ scope.row.closingTime }}
80+
</template>
81+
</el-table-column>
82+
<el-table-column align="center" label="开启状态" min-width="100" prop="status">
7883
<template #default="scope">
7984
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
8085
</template>

0 commit comments

Comments
 (0)