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', key: 'region',
ellipsis: true ellipsis: true
}, },
{ // {
title: '经度', // title: '经度',
dataIndex: 'lng', // dataIndex: 'lng',
key: 'lng', // key: 'lng',
ellipsis: true // ellipsis: true
}, // },
{ // {
title: '纬度', // title: '纬度',
dataIndex: 'lat', // dataIndex: 'lat',
key: 'lat', // key: 'lat',
ellipsis: true // ellipsis: true
}, // },
// { // {
// title: '门店备注', // title: '门店备注',
// dataIndex: 'comments', // dataIndex: 'comments',

View File

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