当前位置:首页>>问题

shopro商城,订单列表页增加选择配送员下拉栏

最终效果:第一步:需要给订单列表的数据表fa_shopro_order新增一个字段:worker_id,同时需要新增一张配送员的数据表第二步:在订单列表页面把配送员的信息关联调用出来1、在订单列表的模型页面 /application/admin/model/shopro/order/Order.php 加上,通过订单列表的worker_id把配送员数据表对应的id记录联调出来2、再去

admin

最终效果:

image.png

第一步:需要给订单列表的数据表fa_shopro_order新增一个字段:worker_id,同时需要新增一张配送员的数据表

image.pngimage.png

第二步:在订单列表页面把配送员的信息关联调用出来

1、在订单列表的模型页面 /application/admin/model/shopro/order/Order.php 加上,通过订单列表的worker_id把配送员数据表对应的id记录联调出来

image.png

2、再去order的控制器页面 /application/admin/controller/shopro/order/Order.php ,把workername写进去,这样每个订单的配送员信息就联调出来了

image.png

image.png


第三步:把配送员的所有信息调用出来,用来在下拉列表页展示,我直接在getType方法里面增加的

image.png

image.png

image.png

image.png

image.png

第四步:每个订单的配送员数据有了,所有配送员数据也有了,就在前端展示出来。完整前端代码

1、前端模版页面:/application/admin/view/shopro/order/order/index.html

<!--选择修改配送师傅-->                                        

<el-dropdown popper-class="goods-dropdown" @command="onCommand">
	<el-button link>
		<el-tag v-if="props.row.workername != null">
			{{ props.row.workername.nickname }}
			<el-icon>
				<arrow-down />
			</el-icon>
		</el-tag>
		<el-tag style="color:#f00;" v-else-if="props.row.workername == null && props.row.hxcode > 0">
			请选择
			<el-icon>
				<arrow-down />
			</el-icon>
		</el-tag>
		
	</el-button>
	<template #dropdown>
		<el-dropdown-menu>
			<template v-for="item in type.data.workers">
				<el-dropdown-item v-if="item.type!='all'" :command="{
			id: props.row.id,
			type: item.type,
		}">
					<span>
						{{item.name}}
					</span>
				</el-dropdown-item>
			</template>
		</el-dropdown-menu>
	</template>
</el-dropdown>		

<!--选择修改配送师傅-->

2、后端js部分:/public/assets/js/backend/shopro/order/order.js

function onCommand(item) {
    Fast.api.ajax({
        url: `shopro/order/order/editWorker/id/${item.id}`,
        type: 'POST',
        data: {
            worker_id: item.type
        }
    }, function (ret, res) {
        getData()
    }, function (ret, res) { })
}

新增了onCommand方法后,在return里面也加上去

image.png

image.png

3、php部分,在order控制器里面 /application/admin/controller/shopro/order/Order.php 新增一个 editWorker 方法,用来保存选择的配送员id

//选择修改订单的配送师傅
public function editWorker (){
    $order_id = $this->request->param('id');
    $worker_id = $this->request->param('worker_id');
    $a1 = Db::query("update fa_shopro_order set worker_id=".$worker_id." where id=".$order_id);
    $this->success('更新成功', null);
}


第四步:到此就算弄好了,当然前端用户界面下单的时候,选择配送员那就是另外的事了,这里只讲后端如何加上配送员的选择功能,好了,完毕!



返回顶部