refactor(shop): 优化门店骑手管理界面和数据结构

- 注释掉门店表格中的经纬度显示列
- 将骑手编辑弹窗宽度从800调整为1000
- 修改骑手编辑表单布局,增加用户选择功能
- 更新配送点ID输入框提示文字为支持多选
- 简化表单项标签名称,移除冗余描述
- 修正状态选项文案,将显示/隐藏改为正常/禁用
- 删除不需要的删除标记和修改时间字段
- 统一图片字段名称从image改为avatar
- 调整表单响应式布局参数
This commit is contained in:
2026-01-30 18:29:11 +08:00
parent 47288a444c
commit fee67ad271
2 changed files with 54 additions and 74 deletions

View File

@@ -141,18 +141,18 @@
key: 'region',
ellipsis: true
},
{
title: '经度',
dataIndex: 'lng',
key: 'lng',
ellipsis: true
},
{
title: '纬度',
dataIndex: 'lat',
key: 'lat',
ellipsis: true
},
// {
// title: '经度',
// dataIndex: 'lng',
// key: 'lng',
// ellipsis: true
// },
// {
// title: '纬度',
// dataIndex: 'lat',
// key: 'lat',
// ellipsis: true
// },
// {
// title: '门店备注',
// dataIndex: 'comments',

View File

@@ -1,7 +1,7 @@
<!-- 编辑弹窗 -->
<template>
<ele-modal
:width="800"
:width="1000"
:visible="visible"
:maskClosable="false"
:maxable="maxable"
@@ -14,19 +14,22 @@
ref="formRef"
:model="form"
:rules="rules"
:label-col="styleResponsive ? { md: 4, sm: 5, xs: 24 } : { flex: '90px' }"
:label-col="styleResponsive ? { md: 5, sm: 5, xs: 24 } : { flex: '90px' }"
:wrapper-col="
styleResponsive ? { md: 19, sm: 19, xs: 24 } : { flex: '1' }
"
>
<a-form-item label="配送点IDshop_dealer.id" name="dealerId">
<a-form-item label="选择用户" name="userId">
</a-form-item>
<a-form-item label="配送点" name="dealerId">
<a-input
allow-clear
placeholder="请输入配送点IDshop_dealer.id"
placeholder="请输入配送点ID(多选)"
v-model:value="form.dealerId"
/>
</a-form-item>
<a-form-item label="骑手编号(可选)" name="riderNo">
<a-form-item label="骑手编号" name="riderNo">
<a-input
allow-clear
placeholder="请输入骑手编号(可选)"
@@ -54,82 +57,75 @@
v-model:value="form.avatar"
/>
</a-form-item>
<a-form-item label="身份证号(可选)" name="idCardNo">
<a-form-item label="身份证号" name="idCardNo">
<a-input
allow-clear
placeholder="请输入身份证号(可选)"
placeholder="请输入身份证号"
v-model:value="form.idCardNo"
/>
</a-form-item>
<a-form-item label="状态1启用0禁用" name="status">
<a-form-item label="状态" name="status">
<a-radio-group v-model:value="form.status">
<a-radio :value="0">显示</a-radio>
<a-radio :value="1">隐藏</a-radio>
<a-radio :value="0">正常</a-radio>
<a-radio :value="1">禁用</a-radio>
</a-radio-group>
</a-form-item>
<a-form-item label="接单状态0休息/下线1在线2忙碌" name="workStatus">
<a-form-item label="接单状态" name="workStatus">
<a-input
allow-clear
placeholder="请输入接单状态0休息/下线1在线2忙碌"
v-model:value="form.workStatus"
/>
</a-form-item>
<a-form-item label="是否开启自动派单1是0否" name="autoDispatchEnabled">
<a-form-item label="自动派单" name="autoDispatchEnabled">
<a-input
allow-clear
placeholder="请输入是否开启自动派单1是0否"
v-model:value="form.autoDispatchEnabled"
/>
</a-form-item>
<a-form-item label="派单优先级(同小区多骑手时可用,值越大越优先)" name="dispatchPriority">
<a-form-item label="派单优先级" name="dispatchPriority">
<a-input
allow-clear
placeholder="请输入派单优先级(同小区多骑手时可用,值越大越优先)"
v-model:value="form.dispatchPriority"
/>
</a-form-item>
<a-form-item label="最大同时配送单数0表示不限制" name="maxOnhandOrders">
<a-form-item label="最大同时配送单数" name="maxOnhandOrders">
<a-input
allow-clear
placeholder="请输入最大同时配送单数0表示不限制"
v-model:value="form.maxOnhandOrders"
/>
</a-form-item>
<a-form-item label="是否计算工资(提成)1计算0不计算如三方配送点可设0" name="commissionCalcEnabled">
<a-form-item label="是否计算工资" name="commissionCalcEnabled">
<a-input
allow-clear
placeholder="请输入是否计算工资(提成)1计算0不计算如三方配送点可设0"
v-model:value="form.commissionCalcEnabled"
/>
</a-form-item>
<a-form-item label="水每桶提成金额(元/桶)" name="waterBucketUnitFee">
<a-form-item label="提成单价(元/桶)" name="waterBucketUnitFee">
<a-input
allow-clear
placeholder="请输入水每桶提成金额(元/桶)"
v-model:value="form.waterBucketUnitFee"
/>
</a-form-item>
<a-form-item label="其他商品提成方式1按订单固定金额2按订单金额比例3按商品规则(另表)" name="otherGoodsCommissionType">
<a-form-item label="其他商品提成方式" name="otherGoodsCommissionType">
<a-input
allow-clear
placeholder="请输入其他商品提成方式1按订单固定金额2按订单金额比例3按商品规则(另表)"
v-model:value="form.otherGoodsCommissionType"
/>
</a-form-item>
<a-form-item label="其他商品提成值:固定金额(元)或比例(%)" name="otherGoodsCommissionValue">
<a-form-item label="其他商品提成值" name="otherGoodsCommissionValue">
<a-input
allow-clear
placeholder="请输入其他商品提成值:固定金额(元)或比例(%)"
v-model:value="form.otherGoodsCommissionValue"
/>
</a-form-item>
<a-form-item label="用户ID" name="userId">
<a-input
allow-clear
placeholder="请输入用户ID"
v-model:value="form.userId"
/>
</a-form-item>
<a-form-item label="备注" name="comments">
<a-textarea
:rows="4"
@@ -147,20 +143,6 @@
v-model:value="form.sortNumber"
/>
</a-form-item>
<a-form-item label="是否删除" name="isDelete">
<a-input
allow-clear
placeholder="请输入是否删除"
v-model:value="form.isDelete"
/>
</a-form-item>
<a-form-item label="修改时间" name="updateTime">
<a-input
allow-clear
placeholder="请输入修改时间"
v-model:value="form.updateTime"
/>
</a-form-item>
</a-form>
</ele-modal>
</template>
@@ -208,26 +190,24 @@
const form = reactive<ShopStoreRider>({
id: undefined,
dealerId: undefined,
riderNo: undefined,
realName: undefined,
mobile: undefined,
avatar: undefined,
idCardNo: undefined,
workStatus: undefined,
autoDispatchEnabled: undefined,
dispatchPriority: undefined,
maxOnhandOrders: undefined,
riderNo: undefined,
realName: undefined,
mobile: undefined,
avatar: undefined,
idCardNo: undefined,
workStatus: undefined,
autoDispatchEnabled: undefined,
dispatchPriority: undefined,
maxOnhandOrders: undefined,
commissionCalcEnabled: undefined,
waterBucketUnitFee: undefined,
otherGoodsCommissionType: undefined,
otherGoodsCommissionValue: undefined,
userId: undefined,
isDelete: undefined,
tenantId: undefined,
createTime: undefined,
updateTime: undefined,
shopStoreRiderId: undefined,
shopStoreRiderName: '',
waterBucketUnitFee: undefined,
otherGoodsCommissionType: undefined,
otherGoodsCommissionValue: undefined,
userId: undefined,
isDelete: undefined,
tenantId: undefined,
createTime: undefined,
updateTime: undefined,
status: 0,
comments: '',
sortNumber: 100
@@ -256,12 +236,12 @@
url: data.path,
status: 'done'
});
form.image = data.path;
form.avatar = data.path;
};
const onDeleteItem = (index: number) => {
images.value.splice(index, 1);
form.image = '';
form.avatar = '';
};
const { resetFields } = useForm(form, rules);
@@ -301,10 +281,10 @@
images.value = [];
if (props.data) {
assignObject(form, props.data);
if(props.data.image){
if(props.data.avatar){
images.value.push({
uid: uuid(),
url: props.data.image,
url: props.data.avatar,
status: 'done'
})
}