web-base-admin/src/views/logistics/delivery/index.vue

1631 lines
55 KiB
Vue
Raw Normal View History

2025-03-23 09:18:42 +08:00
<template>
<div class="page">
<topBar
v-if="topList.length > 0"
2025-04-19 13:39:03 +08:00
:top-list="topList"
2025-03-23 09:18:42 +08:00
:moren="moren"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
<div class="thetopbox">
<el-form ref="form" :model="queryParams" label-width="80px">
<template v-if="activeName == 0">
<el-row :gutter="20">
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'订单编号'" prop="orderCode">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.orderCode" clearable />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'会员编号'" prop="memberCode">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.memberCode" clearable />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'会员姓名'" prop="memberName">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.memberName" clearable />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'联系方式'" prop="phone">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.phone" clearable />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'订单类型'" prop="orderType">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.orderType"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in orderTypeList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'订单状态'" prop="orderStatus">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.orderStatus"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in orderStatusList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'预售状态'" prop="preSaleStatus">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.preSaleStatus"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in presaleStatusList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'发货方式'" prop="deliveryWay">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.deliveryWay"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in deliveryWayList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'运输方式'" prop="transportType">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.transportType"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in transportTypeList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'支付方式'" prop="payType">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.payType"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in orderPayTypeList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'供应方式'" prop="operateScope">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.operateScope"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in supplyWayList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'产品分类'" prop="pkClassify">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.pkClassify"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in classifyAllList"
:key="index"
:label="item.name"
:value="item.pkId"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-collapse-transition>
<div v-show="isActive">
<el-row :gutter="20">
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'销售类型'" prop="isGift">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.isGift"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in saleTypeList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item
2025-04-01 23:46:26 +08:00
:label="'发货类型'"
2025-03-23 09:18:42 +08:00
prop="shippingChannel"
>
<el-select
v-model="queryParams.shippingChannel"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in shippingChannelList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'发货仓库'" prop="orderType">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.pkStorehouse"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in storehouseList"
:key="index"
:label="item.name"
:value="item.pkId"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'产品名称'" prop="productName">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.productName" />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'产品规格'" prop="specsName">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.specsName" />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'收货人'" prop="recName">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.recName" />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'收货电话'" prop="recPhone">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.recPhone" />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'原单号'" prop="code">
2025-03-23 09:18:42 +08:00
<el-input
v-model="queryParams.originalOrderCode"
2025-04-19 13:39:03 +08:00
/> </el-form-item></el-col>
2025-03-23 09:18:42 +08:00
<el-col :span="8">
<el-form-item :label="$t('选择产品')" prop="productIdList">
<el-input
2025-04-19 13:39:03 +08:00
v-model="productLists"
2025-03-23 09:18:42 +08:00
clearable
@clear="clearProduct"
@focus="openDig"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<!-- <el-col :span="4">-->
<!-- <el-form-item :label="$t('系统类型')">-->
<!-- <el-select clearable v-model="queryParams.systemType">-->
<!-- <el-option-->
<!-- v-for="item in systemTypes"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="8">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'创建日期'" prop="code">
2025-03-23 09:18:42 +08:00
<el-date-picker
v-model="queryParams.creationTime"
type="daterange"
range-separator="——"
2025-04-01 23:46:26 +08:00
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
2025-03-23 09:18:42 +08:00
value-format="yyyy-MM-dd"
:unlink-panels="true"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="8">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'支付日期'" prop="code">
2025-03-23 09:18:42 +08:00
<el-date-picker
v-model="queryParams.payTime"
type="daterange"
range-separator="——"
2025-04-01 23:46:26 +08:00
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
2025-03-23 09:18:42 +08:00
value-format="yyyy-MM-dd"
:unlink-panels="true"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
class="dizhi"
2025-04-01 23:46:26 +08:00
:label="'详细地址'"
2025-03-23 09:18:42 +08:00
prop="shoppingAddress"
>
<el-cascader
v-model="queryParams.shoppingAddress"
2025-04-19 13:39:03 +08:00
style="width: 100%"
2025-03-23 09:18:42 +08:00
:options="areaData"
:props="regionParams"
@change="handleChange1"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label-width="10px">
<el-input
v-model="queryParams.recAddress"
2025-04-19 13:39:03 +08:00
clearable
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
</el-row>
</div>
</el-collapse-transition>
</template>
<template v-if="activeName == 1">
<el-row :gutter="20">
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'发货单号'" prop="deliverCode">
2025-03-23 09:18:42 +08:00
<el-input
v-model="queryParams.deliverCode"
2025-04-19 13:39:03 +08:00
clearable
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'订单编号'" prop="orderCode">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.orderCode" clearable />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'会员编号'" prop="memberCode">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.memberCode" clearable />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'会员姓名'" prop="memberName">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.memberName" clearable />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'联系方式'" prop="phone">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.phone" clearable />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'订单类型'" prop="orderType">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.orderType"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in orderTypeList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'订单状态'" prop="orderStatus">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.orderStatus"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in orderStatusList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'预售状态'" prop="preSaleStatus">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.preSaleStatus"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in presaleStatusList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'发货方式'" prop="deliveryWay">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.deliveryWay"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in deliveryWayList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'运输方式'" prop="transportType">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.transportType"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in transportTypeList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'供应方式'" prop="operateScope">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.operateScope"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in supplyWayList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'打印状态'" prop="printStatus">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.printStatus"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in printStatusList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-collapse-transition>
<div v-show="isActive">
<el-row :gutter="20">
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'收货人'" prop="recName">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.recName" />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'收货电话'" prop="recPhone">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.recPhone" />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
class="dizhi"
2025-04-01 23:46:26 +08:00
:label="'详细地址'"
2025-03-23 09:18:42 +08:00
prop="shoppingAddress"
>
<el-cascader
v-model="queryParams.shoppingAddress"
2025-04-19 13:39:03 +08:00
style="width: 100%"
2025-03-23 09:18:42 +08:00
:options="areaData"
:props="regionParams"
@change="handleChange1"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="" prop="recAddress" label-width="40px">
<el-input
v-model="queryParams.recAddress"
2025-04-19 13:39:03 +08:00
clearable
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'产品名称'" prop="productName">
2025-03-23 09:18:42 +08:00
<el-input
v-model="queryParams.productName"
2025-04-19 13:39:03 +08:00
clearable
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'追溯编号'" prop="barCode">
2025-03-23 09:18:42 +08:00
<el-input
v-model="queryParams.barCode"
2025-04-19 13:39:03 +08:00
clearable
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="是否追溯" prop="isBarCode">
<el-select
2025-04-19 13:39:03 +08:00
v-model="queryParams.isBarCode"
2025-03-23 09:18:42 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="item in yesornoList"
:key="item.value"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item
2025-04-01 23:46:26 +08:00
:label="'发货类型'"
2025-03-23 09:18:42 +08:00
prop="shippingChannel"
>
<el-select
2025-04-19 13:39:03 +08:00
v-model="queryParams.shippingChannel"
2025-03-23 09:18:42 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="item in shippingChannelList"
:key="item.value"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'发货仓库'" prop="orderType">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.pkStorehouse"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in storehouseList"
:key="index"
:label="item.name"
:value="item.pkId"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="4">-->
<!-- <el-form-item :label="$t('系统类型')">-->
<!-- <el-select clearable v-model="queryParams.systemType">-->
<!-- <el-option-->
<!-- v-for="item in systemTypes"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="4">
<el-form-item label="批次" prop="dayBatch">
<el-input
v-model="queryParams.dayBatch"
2025-04-19 13:39:03 +08:00
clearable
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="8">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'创建日期'" prop="code">
2025-03-23 09:18:42 +08:00
<el-date-picker
v-model="queryParams.creationTime"
type="daterange"
range-separator="——"
2025-04-01 23:46:26 +08:00
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
2025-03-23 09:18:42 +08:00
value-format="yyyy-MM-dd"
:unlink-panels="true"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="8">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'支付日期'" prop="code">
2025-03-23 09:18:42 +08:00
<el-date-picker
v-model="queryParams.payTime"
type="daterange"
range-separator="——"
2025-04-01 23:46:26 +08:00
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
2025-03-23 09:18:42 +08:00
value-format="yyyy-MM-dd"
:unlink-panels="true"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
</el-row>
</div>
</el-collapse-transition>
</template>
<template v-if="activeName == 2">
<el-row :gutter="20">
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'发货单号'" prop="deliverCode">
2025-03-23 09:18:42 +08:00
<el-input
v-model="queryParams.deliverCode"
2025-04-19 13:39:03 +08:00
clearable
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'订单编号'" prop="orderCode">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.orderCode" clearable />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'会员编号'" prop="memberCode">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.memberCode" clearable />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'会员姓名'" prop="memberName">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.memberName" clearable />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'联系方式'" prop="phone">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.phone" clearable />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'发货状态'" prop="deliveryStatus">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.deliveryStatus"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in deliveryStatusList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'发货方式'" prop="deliveryWay">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.deliveryWay"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in deliveryWayList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'运输方式'" prop="transportType">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.transportType"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in transportTypeList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'供应方式'" prop="operateScope">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.operateScope"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in supplyWayList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'产品名称'" prop="productName">
2025-03-23 09:18:42 +08:00
<el-autocomplete
v-model="queryParams.productName"
2025-04-19 13:39:03 +08:00
class="inline-input"
2025-03-23 09:18:42 +08:00
:fetch-suggestions="querySearch"
placeholder="请输入内容或选择"
@select="handleSelect"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
<!-- <el-select
clearable
v-model="queryParams.productName"
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in productAllList"
:key="index"
:label="item.productName"
:value="item.pkId"
></el-option>
</el-select> -->
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'产品规格'" prop="specsName">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.specsName" clearable />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'物流公司'" prop="logisticsCompany">
2025-03-23 09:18:42 +08:00
<el-input
v-model="queryParams.logisticsCompany"
2025-04-19 13:39:03 +08:00
clearable
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
</el-row>
<el-collapse-transition>
<div v-show="isActive">
<el-row :gutter="20">
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'物流单号'" prop="logisticsCode">
2025-03-23 09:18:42 +08:00
<el-input
v-model="queryParams.logisticsCode"
2025-04-19 13:39:03 +08:00
clearable
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'收货人'" prop="recName">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.recName" />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'发货仓库'" prop="orderType">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.pkStorehouse"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in storehouseList"
:key="index"
:label="item.name"
:value="item.pkId"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item
class="dizhi"
2025-04-01 23:46:26 +08:00
:label="'详细地址'"
2025-03-23 09:18:42 +08:00
prop="shoppingAddress"
>
<el-cascader
v-model="queryParams.shoppingAddress"
2025-04-19 13:39:03 +08:00
style="width: 100%"
2025-03-23 09:18:42 +08:00
:options="areaData"
:props="regionParams"
@change="handleChange1"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="" prop="recAddress" label-width="40px">
<el-input
v-model="queryParams.recAddress"
2025-04-19 13:39:03 +08:00
clearable
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'收货电话'" prop="recPhone">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.recPhone" />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="是否追溯" prop="isBarCode">
<el-select
2025-04-19 13:39:03 +08:00
v-model="queryParams.isBarCode"
2025-03-23 09:18:42 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="item in yesornoList"
:key="item.value"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'追溯编号'" prop="barCode">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.barCode" />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item
2025-04-01 23:46:26 +08:00
:label="'发货类型'"
2025-03-23 09:18:42 +08:00
prop="shippingChannel"
>
<el-select
v-model="queryParams.shippingChannel"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in shippingChannelList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
2025-04-19 13:39:03 +08:00
2025-03-23 09:18:42 +08:00
</el-row>
<el-row :gutter="20">
<el-col :span="8">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'创建日期'" prop="code">
2025-03-23 09:18:42 +08:00
<el-date-picker
v-model="queryParams.creationTime"
type="daterange"
range-separator="——"
2025-04-01 23:46:26 +08:00
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
2025-03-23 09:18:42 +08:00
value-format="yyyy-MM-dd"
:unlink-panels="true"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="8">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'支付日期'" prop="code">
2025-03-23 09:18:42 +08:00
<el-date-picker
v-model="queryParams.payTime"
type="daterange"
range-separator="——"
2025-04-01 23:46:26 +08:00
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
2025-03-23 09:18:42 +08:00
value-format="yyyy-MM-dd"
:unlink-panels="true"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="8">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'打印日期'" prop="printTime">
2025-03-23 09:18:42 +08:00
<el-date-picker
v-model="queryParams.printTime"
type="daterange"
range-separator="——"
2025-04-01 23:46:26 +08:00
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
2025-03-23 09:18:42 +08:00
value-format="yyyy-MM-dd"
:unlink-panels="true"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="8">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'发货日期'" prop="deliverTime">
2025-03-23 09:18:42 +08:00
<el-date-picker
v-model="queryParams.deliverTime"
type="daterange"
range-separator="——"
2025-04-01 23:46:26 +08:00
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
2025-03-23 09:18:42 +08:00
value-format="yyyy-MM-dd"
:unlink-panels="true"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
</el-row>
</div>
</el-collapse-transition>
</template>
<template v-if="activeName == 3">
<el-row :gutter="20">
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'订单编号'" prop="orderCode">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.orderCode" clearable />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'会员编号'" prop="memberCode">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.memberCode" clearable />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'会员姓名'" prop="memberName">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.memberName" clearable />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'联系方式'" prop="phone">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.phone" clearable />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'订单类型'" prop="orderType">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.orderType"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in orderTypeList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'发货方式'" prop="deliveryWay">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.deliveryWay"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in deliveryWayList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'收货人'" prop="recName">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.recName" />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'收货电话'" prop="recPhone">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.recPhone" />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
class="dizhi"
2025-04-01 23:46:26 +08:00
:label="'详细地址'"
2025-03-23 09:18:42 +08:00
prop="shoppingAddress"
>
<el-cascader
v-model="queryParams.shoppingAddress"
2025-04-19 13:39:03 +08:00
style="width: 100%"
2025-03-23 09:18:42 +08:00
:options="areaData"
:props="regionParams"
@change="handleChange1"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="" prop="recAddress" label-width="0">
2025-04-19 13:39:03 +08:00
<el-input v-model="queryParams.recAddress" clearable />
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
</el-row>
<el-collapse-transition>
<div v-show="isActive">
<el-row :gutter="20">
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'支付方式'" prop="payType">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.payType"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in orderPayTypeList"
:key="index"
:label="item.label"
:value="item.value"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'发货仓库'" prop="orderType">
2025-03-23 09:18:42 +08:00
<el-select
v-model="queryParams.pkStorehouse"
2025-04-19 13:39:03 +08:00
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="(item, index) in storehouseList"
:key="index"
:label="item.name"
:value="item.pkId"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'创建日期'" prop="code">
2025-03-23 09:18:42 +08:00
<el-date-picker
v-model="queryParams.creationTime"
type="daterange"
range-separator="——"
2025-04-01 23:46:26 +08:00
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
2025-03-23 09:18:42 +08:00
value-format="yyyy-MM-dd"
:unlink-panels="true"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
<el-col :span="8">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'支付日期'" prop="code">
2025-03-23 09:18:42 +08:00
<el-date-picker
v-model="queryParams.payTime"
type="daterange"
range-separator="——"
2025-04-01 23:46:26 +08:00
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
2025-03-23 09:18:42 +08:00
value-format="yyyy-MM-dd"
:unlink-panels="true"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-form-item>
</el-col>
</el-row>
</div>
</el-collapse-transition>
</template>
<el-row>
<el-col :span="4">
<div class="searchbox" style="margin-left: 20px">
<el-button class="searchbtn" @click="getSearch(1)">
2025-04-19 13:39:03 +08:00
{{ '搜索' }}</el-button>
2025-04-01 23:46:26 +08:00
<el-button @click="reChongzhi"> {{ '重置' }}</el-button>
2025-03-23 09:18:42 +08:00
</div>
</el-col>
<div class="openClose" @click="changeActive">
<i
:class="isActive ? 'el-icon-arrow-up' : 'el-icon-arrow-down'"
2025-04-19 13:39:03 +08:00
/>
2025-04-01 23:46:26 +08:00
<div>{{ isActive ? '点击收起' : '点击展开' }}</div>
2025-03-23 09:18:42 +08:00
</div>
</el-row>
</el-form>
</div>
<div class="main">
<el-tabs
v-model="activeName"
2025-04-19 13:39:03 +08:00
style="padding: 10px 20px"
2025-03-23 09:18:42 +08:00
@tab-click="handleClick"
>
2025-04-19 13:39:03 +08:00
<el-tab-pane v-if="menu1" :label="'未合单'" name="0">
<unhandeled ref="unhandeled" :params="queryParams" />
2025-03-23 09:18:42 +08:00
</el-tab-pane>
2025-04-19 13:39:03 +08:00
<el-tab-pane v-if="menu2" :label="'已合单'" name="1">
<yihandeled ref="yihandeled" :params="queryParams" />
2025-03-23 09:18:42 +08:00
</el-tab-pane>
2025-04-19 13:39:03 +08:00
<el-tab-pane v-if="menu3" name="2" :label="'立即发货'">
<nowdelivery ref="nowdelivery" :params="queryParams" />
2025-03-23 09:18:42 +08:00
</el-tab-pane>
2025-04-19 13:39:03 +08:00
2025-03-23 09:18:42 +08:00
</el-tabs>
</div>
<el-dialog
2025-04-01 23:46:26 +08:00
:title="'添加'"
2025-03-23 09:18:42 +08:00
:visible.sync="dialogVisible"
:close-on-click-modal="false"
width="45%"
center
:before-close="handleClose"
>
<div class="cpHeight">
<el-input
v-model="select.productName"
2025-04-01 23:46:26 +08:00
:placeholder="'请输入'"
2025-03-23 09:18:42 +08:00
prefix-icon="el-icon-search"
2025-04-19 13:39:03 +08:00
@keyup.enter.native="getDataList"
/>
<div style="height: 10px" />
2025-03-23 09:18:42 +08:00
<el-table
ref="lessonTableRef"
2025-04-19 13:39:03 +08:00
:data="dialogList"
2025-03-23 09:18:42 +08:00
style="width: 100%"
:row-key="
(row) => {
return row.pkProduct;
}
"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@selection-change="dialogChange"
>
<el-table-column
type="selection"
:reserve-selection="true"
width="55"
2025-04-19 13:39:03 +08:00
/>
2025-04-01 23:46:26 +08:00
<el-table-column align="center" prop="cover" :label="'产品主图'">
2025-03-23 09:18:42 +08:00
<template slot-scope="scope">
2025-04-19 13:39:03 +08:00
<img class="bgImg" :src="scope.row.cover" alt="">
2025-03-23 09:18:42 +08:00
</template>
</el-table-column>
<el-table-column
align="center"
prop="productName"
2025-04-01 23:46:26 +08:00
:label="'产品名称'"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
<el-table-column
align="center"
prop="productCode"
2025-04-01 23:46:26 +08:00
:label="'产品编号'"
2025-04-19 13:39:03 +08:00
/>
2025-03-23 09:18:42 +08:00
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getDataList"
/>
</div>
<span slot="footer" class="dialog-footer">
2025-04-01 23:46:26 +08:00
<el-button @click="handleClose">{{ '取消' }}</el-button>
2025-03-23 09:18:42 +08:00
<el-button type="primary" @click="onSubmit('form')">{{
2025-04-01 23:46:26 +08:00
'确认'
2025-03-23 09:18:42 +08:00
}}</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
2025-04-19 13:39:03 +08:00
import topBar from '@/components/topBar'
import * as api from '@/api/site.js'
import * as log from '@/api/logistics'
import unhandeled from '@/components/Delivery/unhandeled.vue'
import yihandeled from '@/components/Delivery/yihandeled.vue'
import nowdelivery from '@/components/Delivery/nowdelivery.vue'
import * as del from '@/api/delivery.js'
import { getRouters } from '@/api/settle'
import { productList } from '@/api/product'
2025-03-23 09:18:42 +08:00
export default {
2025-04-19 13:39:03 +08:00
name: 'Fhqd',
2025-03-23 09:18:42 +08:00
components: {
topBar,
unhandeled,
yihandeled,
2025-04-19 13:39:03 +08:00
nowdelivery
2025-03-23 09:18:42 +08:00
},
data() {
return {
2025-04-19 13:39:03 +08:00
moren: 'fhqd',
2025-03-23 09:18:42 +08:00
topList: [
{
2025-04-01 23:46:26 +08:00
name: '发货清单',
2025-04-19 13:39:03 +08:00
path: 'fhqd'
}
2025-03-23 09:18:42 +08:00
],
dialogVisible: false,
dialogList: [],
lsArr: [],
tableData: [],
productLists: [],
select: {},
2025-04-19 13:39:03 +08:00
orderTypeList: [], // 订单类型
orderStatusList: [], // 订单状态
presaleStatusList: [], // 预售状态
deliveryWayList: [], // 发货方式
transportTypeList: [], // 运输方式
orderPayTypeList: [], // 支付方式
supplyWayList: [], // 供应方式
saleTypeList: [], // 销售类型
deliveryStatusList: [], // 发货状态
shippingChannelList: [], // 发货类型
classifyAllList: [], // 产品分类
printStatusList: [], // 打印状态
productAllList: [], // 产品名称
yesornoList: [], // 二次发货
storehouseList: [], // 发货仓库
total: '',
2025-03-23 09:18:42 +08:00
queryParams: {
pageNum: 1,
pageSize: 500,
2025-04-19 13:39:03 +08:00
deliverCode: '', // 发货单号12
printStatus: '', // 打印状态1
productName: '', // 产品名称2
specsName: '', // 产品规格2
logisticsCompany: '', // 物流公司2
logisticsCode: '', // 物流单号2
secondDeliver: '', // 二次发货2
orderCode: '',
memberCode: '',
memberName: '',
phone: '',
orderType: '',
orderStatus: '',
preSaleStatus: '',
deliveryWay: '',
transportType: '',
payType: '',
operateScope: '',
recName: '',
recPhone: '',
recProvince: '',
recCity: '',
recCounty: '',
recAddress: '',
isGift: '',
shippingChannel: '',
2025-03-23 09:18:42 +08:00
shoppingAddress: [],
creationTime: [],
payTime: [],
2025-04-19 13:39:03 +08:00
printTime: [], // 打印时间2
deliverTime: [], // 发货时间2
productIdList: []
2025-03-23 09:18:42 +08:00
},
isActive: true,
areaData: [],
regionParams: {
2025-04-19 13:39:03 +08:00
label: 'name',
value: 'id',
children: 'children',
expandTrigger: 'hover',
checkStrictly: true
2025-03-23 09:18:42 +08:00
},
activeName: 0,
menu1: false,
menu2: false,
menu3: false,
2025-04-19 13:39:03 +08:00
menu4: false
}
2025-03-23 09:18:42 +08:00
},
created() {
2025-04-19 13:39:03 +08:00
this.getData()
this.getSearch()
this.getUserRoute()
2025-03-23 09:18:42 +08:00
},
methods: {
clearProduct() {
2025-04-19 13:39:03 +08:00
this.tableData = []
this.lsArr = []
this.queryParams.productIdList = []
this.productLists = []
2025-03-23 09:18:42 +08:00
},
openDig() {
2025-04-19 13:39:03 +08:00
this.select = {}
2025-03-23 09:18:42 +08:00
productList(Object.assign({ isPutOn: 0 }, this.queryParams)).then(
(res) => {
res.rows.forEach((item) => {
2025-04-19 13:39:03 +08:00
item.quantity = 1
item.pkProduct = item.pkProduct
item.isGift = 0
})
this.dialogList = res.rows
this.total = res.total
2025-03-23 09:18:42 +08:00
}
2025-04-19 13:39:03 +08:00
)
this.dialogVisible = true
2025-03-23 09:18:42 +08:00
},
handleClose() {
2025-04-19 13:39:03 +08:00
this.dialogVisible = false
2025-03-23 09:18:42 +08:00
},
getDataList() {
productList(
Object.assign({ isPutOn: 0 }, this.queryParams, this.select)
).then((res) => {
res.rows.forEach((item) => {
2025-04-19 13:39:03 +08:00
item.quantity = 1
item.pkProduct = item.pkProduct
item.isGift = 0
})
this.dialogList = res.rows
this.total = res.total
})
2025-03-23 09:18:42 +08:00
},
dialogChange(val) {
2025-04-19 13:39:03 +08:00
this.lsArr = val
2025-03-23 09:18:42 +08:00
},
onSubmit() {
// this.tableData = []
this.lsArr.forEach((item) => {
2025-04-19 13:39:03 +08:00
this.tableData.push(item)
})
2025-03-23 09:18:42 +08:00
// this.tableData = this.clearArr(this.tableData)
2025-04-19 13:39:03 +08:00
this.dialogVisible = false
2025-03-23 09:18:42 +08:00
this.dialogList.forEach((row) => {
2025-04-19 13:39:03 +08:00
this.$refs.lessonTableRef.toggleRowSelection(row, false)
})
2025-03-23 09:18:42 +08:00
// 判断重复
2025-04-19 13:39:03 +08:00
const arr = this.tableData
let isTrue = false
2025-03-23 09:18:42 +08:00
for (var i = 0; i < arr.length; i++) {
// 首次遍历数组
for (var j = i + 1; j < arr.length; j++) {
// 再次遍历数组
if (arr[i].productCode == arr[j].productCode) {
if (arr[i].isGift == arr[j].isGift) {
2025-04-19 13:39:03 +08:00
isTrue = true
2025-03-23 09:18:42 +08:00
}
}
}
}
if (isTrue) {
2025-04-19 13:39:03 +08:00
this.$message.error('请勿选择重复的商品')
this.tableData = []
this.lsArr = []
this.queryParams.productIdList = []
this.productLists = []
return
2025-03-23 09:18:42 +08:00
}
2025-04-19 13:39:03 +08:00
this.queryParams.productIdList = []
this.productLists = []
2025-03-23 09:18:42 +08:00
this.tableData.forEach((item) => {
2025-04-19 13:39:03 +08:00
this.queryParams.productIdList.push(item.pkId)
this.productLists.push(item.productName)
})
2025-03-23 09:18:42 +08:00
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
2025-04-19 13:39:03 +08:00
return 'warning-row'
2025-03-23 09:18:42 +08:00
} else if (rowIndex % 2 == 0) {
2025-04-19 13:39:03 +08:00
return 'success-row'
2025-03-23 09:18:42 +08:00
}
2025-04-19 13:39:03 +08:00
return ''
2025-03-23 09:18:42 +08:00
},
getUserRoute() {
getRouters().then((res) => {
res.data.forEach((item) => {
// 未合单
2025-04-19 13:39:03 +08:00
if (item.routeName == 'DeliveryUnhandled') {
this.menu1 = true
2025-03-23 09:18:42 +08:00
}
// 已合单
2025-04-19 13:39:03 +08:00
if (item.routeName == 'DeliveryHandled') {
this.menu2 = true
2025-03-23 09:18:42 +08:00
}
// 立即发货
2025-04-19 13:39:03 +08:00
if (item.routeName == 'DeliveryImmediate') {
this.menu3 = true
2025-03-23 09:18:42 +08:00
}
// 二次发货
2025-04-19 13:39:03 +08:00
if (item.routeName == 'DeliverySecond') {
this.menu4 = true
2025-03-23 09:18:42 +08:00
}
2025-04-19 13:39:03 +08:00
})
})
2025-03-23 09:18:42 +08:00
},
2025-04-19 13:39:03 +08:00
// 带输入建议的产品名称
2025-03-23 09:18:42 +08:00
querySearch(queryString, cb) {
// console.log('queryString??',queryString)
2025-04-19 13:39:03 +08:00
var productAllList = this.productAllList
2025-03-23 09:18:42 +08:00
var results = queryString
? productAllList.filter(this.createFilter(queryString))
2025-04-19 13:39:03 +08:00
: productAllList
2025-03-23 09:18:42 +08:00
// 调用 callback 返回建议列表的数据
2025-04-19 13:39:03 +08:00
cb(results)
2025-03-23 09:18:42 +08:00
},
createFilter(queryString) {
return (product) => {
return (
product.productName
.toLowerCase()
.indexOf(queryString.toLowerCase()) === 0
2025-04-19 13:39:03 +08:00
)
}
2025-03-23 09:18:42 +08:00
},
handleSelect(item) {
2025-04-19 13:39:03 +08:00
this.queryParams.productName = item.pkId
2025-03-23 09:18:42 +08:00
// console.log('🌈a???',item)
},
handleClick(tab) {
this.queryParams = {
pageNum: 1,
pageSize: 500,
2025-04-19 13:39:03 +08:00
orderStatus: ''
}
2025-03-23 09:18:42 +08:00
// this.activeName = tab.name
2025-04-19 13:39:03 +08:00
this.getSearch(0)
2025-03-23 09:18:42 +08:00
// console.log('🌈',tab.name)
},
getData() {
api.areaList().then((res) => {
2025-04-19 13:39:03 +08:00
this.areaData = res.data
})
2025-03-23 09:18:42 +08:00
log.getOrderType().then((res) => {
2025-04-19 13:39:03 +08:00
this.orderTypeList = res.data
})
2025-03-23 09:18:42 +08:00
del.getDeliveryStatus().then((res) => {
2025-04-19 13:39:03 +08:00
this.deliveryStatusList = res.data
})
2025-03-23 09:18:42 +08:00
del.getOrderStatus().then((res) => {
2025-04-19 13:39:03 +08:00
this.orderStatusList = res.data
})
2025-03-23 09:18:42 +08:00
del.getPresaleStatus().then((res) => {
2025-04-19 13:39:03 +08:00
this.presaleStatusList = res.data
})
2025-03-23 09:18:42 +08:00
del.getDeliveryWayList().then((res) => {
2025-04-19 13:39:03 +08:00
this.deliveryWayList = res.data
})
2025-03-23 09:18:42 +08:00
del.getTransportType().then((res) => {
2025-04-19 13:39:03 +08:00
this.transportTypeList = res.data
})
2025-03-23 09:18:42 +08:00
del.getOrderPayType().then((res) => {
2025-04-19 13:39:03 +08:00
this.orderPayTypeList = res.data
})
2025-03-23 09:18:42 +08:00
del.getSupplyWay().then((res) => {
2025-04-19 13:39:03 +08:00
this.supplyWayList = res.data
})
2025-03-23 09:18:42 +08:00
del.getSaleTypeList().then((res) => {
2025-04-19 13:39:03 +08:00
this.saleTypeList = res.data
})
2025-03-23 09:18:42 +08:00
del.getShippingChannelList().then((res) => {
2025-04-19 13:39:03 +08:00
this.shippingChannelList = res.data
})
2025-03-23 09:18:42 +08:00
del.getClassifyAll().then((res) => {
2025-04-19 13:39:03 +08:00
this.classifyAllList = res.data
})
2025-03-23 09:18:42 +08:00
del.getPrintStatus().then((res) => {
2025-04-19 13:39:03 +08:00
this.printStatusList = res.data
})
2025-03-23 09:18:42 +08:00
del.getProductAll().then((res) => {
res.data.forEach((element) => {
2025-04-19 13:39:03 +08:00
element.value = element.productName
})
this.productAllList = res.data
})
2025-03-23 09:18:42 +08:00
del.getDealerYesNo().then((res) => {
2025-04-19 13:39:03 +08:00
this.yesornoList = res.data
})
2025-03-23 09:18:42 +08:00
del.getStorehouseList().then((res) => {
2025-04-19 13:39:03 +08:00
this.storehouseList = res.rows
})
2025-03-23 09:18:42 +08:00
},
handleChange1() {},
2025-04-19 13:39:03 +08:00
// 搜索
2025-03-23 09:18:42 +08:00
getSearch(index) {
if (this.queryParams.shoppingAddress) {
2025-04-19 13:39:03 +08:00
this.queryParams.recProvince = this.queryParams.shoppingAddress[0]
this.queryParams.recCity = this.queryParams.shoppingAddress[1]
this.queryParams.recCounty = this.queryParams.shoppingAddress[2]
2025-03-23 09:18:42 +08:00
} else {
2025-04-19 13:39:03 +08:00
this.queryParams.recAddress = ''
2025-03-23 09:18:42 +08:00
}
this.$nextTick(() => {
2025-04-19 13:39:03 +08:00
console.log('this.$refs', this.$refs)
2025-03-23 09:18:42 +08:00
if (this.activeName == 0) {
2025-04-19 13:39:03 +08:00
this.$refs.unhandeled.getList()
2025-03-23 09:18:42 +08:00
} else if (this.activeName == 1) {
2025-04-19 13:39:03 +08:00
this.$refs.yihandeled.getList()
2025-03-23 09:18:42 +08:00
} else if (this.activeName == 2) {
2025-04-19 13:39:03 +08:00
this.$refs.nowdelivery.getList()
2025-03-23 09:18:42 +08:00
} else if (this.activeName == 3) {
if (index && index == 1) {
2025-04-19 13:39:03 +08:00
this.$refs.twoSend.getList()
2025-03-23 09:18:42 +08:00
}
}
2025-04-19 13:39:03 +08:00
})
2025-03-23 09:18:42 +08:00
},
2025-04-19 13:39:03 +08:00
// 重置
2025-03-23 09:18:42 +08:00
reChongzhi() {
this.queryParams = {
pageNum: 1,
pageSize: 500,
2025-04-19 13:39:03 +08:00
orderStatus: 1
}
this.getSearch()
2025-03-23 09:18:42 +08:00
},
// 展开折叠
changeActive() {
2025-04-19 13:39:03 +08:00
this.isActive = !this.isActive
}
}
}
2025-03-23 09:18:42 +08:00
</script>
<style lang="scss" scoped>
.bgImg {
width: 48px;
height: 48px;
}
.cpHeight {
height: 60vh;
overflow-y: auto;
}
.el-range-editor.el-input__inner {
width: 100%;
}
.openClose {
margin-top: 10px;
margin-right: 10px;
color: #666666;
text-align: center;
}
.page {
padding: 20px;
background: #f9f9f9;
font-size: 14px;
.thetopbox {
background: #ffffff;
border-radius: 8px;
padding: 10px;
.searchbox {
display: flex;
align-items: center;
.searchtitle {
margin-right: 10px;
}
.searchbtn {
background: #c8161d;
color: #ffffff;
}
}
}
.footer {
display: flex;
justify-content: center;
align-items: center;
padding: 15px 0;
.thebtn {
width: 120px;
height: 38px;
}
}
.main {
margin-top: 20px;
background: #ffffff;
border-radius: 8px;
box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
.main_title {
display: flex;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
.bluekuai {
width: 5px;
height: 19px;
background: #4391fd;
margin-right: 20px;
}
.title_word {
font-size: 14px;
font-family: MicrosoftYaHei-Bold, MicrosoftYaHei;
font-weight: bold;
color: #333333;
}
}
.main_content {
padding: 20px 25px;
}
.maintop {
display: flex;
padding: 10px 20px;
justify-content: space-between;
align-items: center;
.mainbtn {
.thebtn1 {
color: #ffffff;
background: rgba(243, 169, 0, 1);
}
.thebtn2 {
color: #ffffff;
background: rgba(72, 178, 253, 1);
}
.thebtn3 {
color: #ffffff;
background: rgba(1, 143, 243, 1);
}
.thebtn4 {
color: #ffffff;
background: rgba(167, 116, 176, 1);
}
.thebtn5 {
color: #ffffff;
background: rgba(0, 155, 88, 1);
}
.thebtn6 {
color: #ffffff;
background: rgba(236, 108, 0, 1);
}
}
}
}
}
</style>