Commit 56d50f0e authored by 余金瑶's avatar 余金瑶

订单兼容多状态查询

parent 77224146
......@@ -12,7 +12,7 @@ export default {
},
props:{
options: Array,
value: [String, Number, Boolean, Object],
value: [String, Number, Array, Boolean, Object],
labelField: {
type: [String, Function],
default: 'label'
......
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item :label="$t('日期筛选')">
<dict-selector defaultable :type="DICT_TYPE.ECW_BEGINTIME_TYPE_ENDTIME" v-model="dateFilterType" class="w-100 mr-10" />
<el-date-picker v-model="dateFilter" type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" value-format="yyyy-MM-dd HH:mm:ss" @change="handleQuery"></el-date-picker>
</el-form-item>
<div>
<el-form-item :label="$t('始发仓')" prop="startWarehouseIds">
<el-select v-model="queryParams.startWarehouseIds" multiple :placeholder="$t('请选择始发地')" clearable @change="handleQuery">
<el-select v-model="queryParams.startWarehouseIds" multiple :placeholder="$t('请选择始发仓')" clearable @change="handleQuery">
<el-option v-for="item in exportWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<!--
<el-form-item :label="$t('目的仓')" prop="destWarehouseIds">
<el-select v-model="queryParams.destWarehouseIds" multiple :placeholder="$t('请选择目的地')" clearable @change="handleQuery">
<el-option v-for="item in importWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
-->
<el-form-item :label="$t('目的国')" prop="destCountryId">
<el-select
v-model="destCountryId"
......@@ -70,20 +63,33 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('运输方式')" prop="transportId">
</div>
<el-form-item :label="$t('客户经理')">
<user-selector
manage
v-model="queryParams.salesmanIds"
multiple
clearable
@change="handleQuery"
:prepend="{ id: 0, nickname: $t('未分配客户经理') }"
/>
</el-form-item>
<el-form-item :label="$t('运输方式')" prop="transportId" v-show="showSearch">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model.number="queryParams.transportId" clearable @change="handleQuery"/>
</el-form-item>
<el-form-item :label="$t('出货渠道')" prop="channelIds">
<selector clearable :options="channelList" :label-field="$l('name')" value-field="channelId" v-model="queryParams.channelIds" multiple></selector>
</el-form-item>
<el-form-item :label="$t('订单编号')" prop="orderNo">
<el-input v-model="queryParams.orderNo" :placeholder="$t('订单编号')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/\s+/g, '')" />
</el-form-item>
<el-form-item :label="$t('品名')" prop="prodId">
<product-selector v-model="queryParams.prodId" @keyup.enter.native="handleQuery" clearable @change="handleQuery"/>
<el-form-item :label="$t('商品')" prop="prodId" v-show="showSearch">
<product-selector v-model="queryParams.prodId" @keyup.enter.native="handleQuery" clearable @change="handleQuery" onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')" />
</el-form-item>
<el-form-item :label="$t('控货状态')" prop="isCargoControl">
<dict-selector v-model="queryParams.cargoControlStatus" :type="DICT_TYPE.CONTROL_GOODS_STATUS" clearable @change="handleQuery"/>
<dict-selector v-model="queryParams.cargoControlStatusList" multiple :type="DICT_TYPE.CONTROL_GOODS_STATUS" clearable @change="handleQuery" />
</el-form-item>
<el-form-item :label="$t('订单状态')" prop="statusList">
<el-form-item :label="$t('订单状态')" prop="statusList" v-show="showSearch">
<dict-selector :type="DICT_TYPE.ORDER_STATUS" multiple v-model="queryParams.statusList"
@keyup.enter.native="handleQuery" clearable @change="handleQuery" />
</el-form-item>
......@@ -91,11 +97,11 @@
<el-input v-model="queryParams.tidanNo" :placeholder="$t('提单号')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/\s+/g, '')" />
</el-form-item>
<el-form-item :label="$t('发货人')" prop="consignorKey">
<el-input v-model="queryParams.consignorKey" :placeholder="$t('发货人')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/\s+/g, '')" />
<el-input v-model="queryParams.consignorKey" :placeholder="$t('发货人')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')" />
</el-form-item>
<el-form-item :label="$t('收货人')" prop="consigneeKey">
<el-input v-model="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/\s+/g, '')" />
<el-input v-model="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')" />
</el-form-item>
<el-form-item :label="$t('报关方式')" prop="customsTypes">
......@@ -105,13 +111,22 @@
<el-form-item :label="$t('唛头')" prop="marks">
<el-input v-model="queryParams.marks" :placeholder="$t('唛头')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/\s+/g, '')" />
</el-form-item>
<el-form-item :label="$t('外部仓')" prop="number">
<el-form-item :label="$t('备案属性')" prop="productRecords" v-show="showSearch">
<dict-selector
:type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE"
multiple
v-model="queryParams.productRecords"
clearable
@change="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('外部仓')" prop="isExternalWarehouse" v-show="showSearch">
<el-select v-model="queryParams.isExternalWarehouse" :placeholder="$t('请选择')" clearable @change="handleQuery">
<el-option :label="$t('外部仓')" :value="1"></el-option>
<el-option :label="$t('自有仓')" :value="0"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('订单类型')" prop="number">
<el-form-item :label="$t('增值服务')" prop="type" v-show="showSearch">
<el-select v-model="queryParams.type" :placeholder="$t('请选择')" clearable @change="handleQuery" >
<el-option :label="$t('普通订单')" :value="0"></el-option>
<el-option :label="$t('集运服务')" :value="1"></el-option>
......@@ -287,12 +302,15 @@ import Fallback from './components/Fallback'
import {getWarehouseList} from '@/api/ecw/warehouse'
import CargoLogList from "@/views/ecw/order/components/CargoLogList.vue";
import {getRegionList} from "@/api/ecw/order"
import UserSelector from "@/components/UserSelector";
import {getChannelList} from "@/api/ecw/channel";
export default {
name: "EcwOrderCargocontrol",
components: {
UpdateReleaseLimit,
CargoLogList,
UserSelector,
CustomerSelector, ProductSelector, Selector, Transfer, Release,CargoControlEdit, TransferCargo, Fallback
},
data() {
......@@ -334,6 +352,7 @@ export default {
pickInfo: null, // 当前操作的提货信息
showLogOrderId: null, // 显示控货日志的订单ID
showUpdateReleaseLimit: null, // 显示修改放货限制的订单
channelList: [],
AddressProvince: [],
AddressCity: [],
AddressTown: [],
......@@ -413,7 +432,6 @@ export default {
this.destWarehouseId == ""
) {
//获取当前城市值id,获取该城市下区域
} else if (
this.destCountryId == "" &&
this.objectiveId == "" &&
......@@ -459,6 +477,7 @@ export default {
getProductAttrList().then(res => this.productAttrList = res.data)
// getTradeCityList().then(res => this.tradeCityList = res.data)
getWarehouseList().then(res => this.warehouseList = res.data)
getChannelList().then(res => this.channelList = res.data)
this.getAddressProvince()
this.getAddressCity()
this.getAddressTown()
......
......@@ -6,7 +6,6 @@
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="100px"
>
<el-row>
......@@ -37,6 +36,7 @@
:placeholder="$t('请选择结束日期')"
/>
</el-form-item>
<!--
<el-form-item :label="$t('始发仓')" prop="destinationId">
<el-select
v-model="queryParams.originId"
......@@ -51,6 +51,77 @@
></el-option>
</el-select>
</el-form-item>
-->
<div>
<el-form-item :label="$t('始发仓')" prop="startWarehouseIds">
<el-select
v-model="queryParams.startWarehouseIds"
multiple
:placeholder="$t('请选择始发仓')"
clearable
>
<el-option
v-for="item in exportWarehouseList"
:label="$l(item, 'title')"
:value="item.id"
:key="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('目的国')" prop="destCountryId">
<el-select
v-model="destCountryId"
multiple
:label="destCountryId"
:placeholder="$t('请选择目的国')"
clearable
@change="handleQuery"
>
<el-option
v-for="item in AddressProvince"
:key="item.guojia"
:label="item.guojiaName"
:value="item.guojia"
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('目的城市')" prop="objectiveId">
<el-select
v-model="objectiveId"
multiple
:placeholder="$t('请选择目的城市')"
style="width: 200px"
clearable
@change="handleQuery"
>
<el-option
v-for="item in AddressCity"
:key="item.shi"
:label="item.shiName"
:value="item.shi"
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('目的仓')" prop="destWarehouseId">
<el-select
v-model="destWarehouseId"
multiple
:placeholder="$t('请选择目的仓')"
style="width: 200px"
clearable
@change="handleQuery"
>
<el-option
v-for="item in AddressTown"
:key="item.id"
:label="item.titleZh"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</div>
<!--
<el-form-item :label="$t('目的仓')" prop="destinationId">
<el-select
v-model="queryParams.destinationId"
......@@ -66,6 +137,7 @@
></el-option>
</el-select>
</el-form-item>
-->
<!-- <el-form-item :label="$t('始发地')+':'">
<el-select v-model="queryParams.originId" :placeholder="$t('请选择始发地')" clearable>
<el-option v-for="item in expoerCityList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
......@@ -78,7 +150,7 @@
</el-form-item> -->
</el-row>
<el-row>
<el-form-item :label="$t('运输方式') + ':'">
<el-form-item :label="$t('运输方式') + ':'" v-show="showSearch">
<dict-selector
:type="DICT_TYPE.ECW_TRANSPORT_TYPE"
:clearable="true"
......@@ -93,9 +165,10 @@
clearable
/>
</el-form-item>
<el-form-item :label="$t('跟进客服')" prop="salesmanId">
<el-form-item :label="$t('跟进客服')" prop="salesmanIds">
<el-select
v-model="queryParams.salesmanId"
v-model="queryParams.salesmanIds"
multiple
:placeholder="$t('请选择')"
clearable
>
......@@ -111,7 +184,8 @@
<!--嵌套一个form来脱离disabled控制-->
<selector
:clearable="true"
v-model="queryParams.channelId"
v-model="queryParams.channelIds"
multiple
:options="channelList"
value-field="channelId"
:label-field="$l(null, 'name')"
......@@ -119,7 +193,7 @@
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('控货') + ':'">
<el-form-item :label="$t('控货') + ':'" v-show="showSearch">
<dict-selector
:type="DICT_TYPE.ECW_YESNO"
:clearable="true"
......@@ -131,13 +205,13 @@
<dict-selector
:type="DICT_TYPE.ORDER_EXCEPTION_STATUS"
:clearable="true"
v-model="queryParams.orderExceptionStatus"
v-model="queryParams.orderExceptionStatusList"
multiple
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('异常类型') + ':'">
<dict-selector
:multiple="true"
:type="DICT_TYPE.ORDER_ERROR_TYPE"
:clearable="true"
v-model="queryParams.orderExceptionType"
......@@ -184,7 +258,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('唛头') + ':'">
<el-form-item :label="$t('唛头') + ':'" v-show="showSearch">
<el-input
v-model="queryParams.marks"
:placeholder="$t('请输入唛头')"
......@@ -217,11 +291,12 @@
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('备案') + ':'">
<el-form-item :label="$t('备案') + ':'" v-show="showSearch">
<dict-selector
:type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE"
:clearable="true"
v-model="queryParams.productRecord"
multiple
@keyup.enter.native="handleQuery"
/>
</el-form-item>
......@@ -240,7 +315,7 @@
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('外部仓')" prop="number">
<el-form-item :label="$t('外部仓')" prop="number" v-show="showSearch">
<el-select
v-model="queryParams.isExternalWarehouse"
:placeholder="$t('请选择')"
......@@ -251,7 +326,7 @@
<el-option :label="$t('自有仓')" :value="0"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('特需')" prop="packageType">
<el-form-item :label="$t('特需')" prop="packageType" v-show="showSearch">
<el-select
v-model="queryParams.packageTypeArr"
multiple
......@@ -822,7 +897,7 @@ import { getWarehouseList } from "@/api/ecw/warehouse";
import Template from "@/views/cms/template/index.vue";
import { getChannelList } from "@/api/ecw/channel";
import Selector from "@/components/Selector";
import {getRegionList} from "@/api/ecw/order"
export default {
name: "EcwOrderException",
components: {
......@@ -833,6 +908,8 @@ export default {
},
data() {
return {
// 显示搜索条件
showSearch: true,
// 遮罩层
loading: true,
// 显示搜索条件
......@@ -856,6 +933,12 @@ export default {
totalData: {},
followUpList: [],
channelList: [], // 出货取到
AddressProvince: [],
AddressCity: [],
AddressTown: [],
destCountryId: null,
objectiveId: null,
destWarehouseId: null,
};
},
activated() {
......@@ -873,6 +956,81 @@ export default {
});
getWarehouseList().then((res) => (this.warehouseList = res.data));
// userList('salesman').then(res =>this.creatorData = res.data)
this.getAddressProvince()
this.getAddressCity()
this.getAddressTown()
},
watch:{
destCountryId: {
//监听当前地区值的变化,于与上方地区值进行了双向绑定
deep: true, //深度监听
handler() {
//每当值省份值改变时其下地区值进行清空
this.AddressCity = [];
this.AddressTown = [];
this.objectiveId = "";
this.destWarehouseId = "";
this.findByprovinceCode();
if (this.destCountryId == "") {
this.getAddressCity()
this.getAddressTown()
} else if (
this.destCountryId != "" &&
this.objectiveId == "" &&
this.destWarehouseId == ""
) {
this.getAddressTown()
}
},
},
objectiveId: {
deep: true, //深度监听
handler() {
this.AddressTown = [];
this.destWarehouseId = "";
this.findBycityCode();
if (
this.objectiveId != "" &&
this.destCountryId != "" &&
this.destWarehouseId == ""
) {
//获取当前城市值id,获取该城市下区域
} else if (
this.destCountryId == "" &&
this.objectiveId == "" &&
this.destWarehouseId == ""
) {
this.getAddressTown()
} else if (
this.destCountryId != "" &&
this.objectiveId == "" &&
this.destWarehouseId == ""
) {
this.findByprovinceCode();
this.getAddressTown()
}
},
},
destWarehouseId: {
deep: true, //深度监听
handler() {
if (
this.objectiveId != "" &&
this.destCountryId != "" &&
this.destWarehouseId == ""
) {
//获取当前城市值id,获取该城市下区域
this.findBycityCode();
} else if (
this.destCountryId != "" &&
this.objectiveId == "" &&
this.destWarehouseId == ""
) {
this.getAddressTown()
}
},
},
},
computed: {
expoerCityList() {
......@@ -893,6 +1051,7 @@ export default {
);
},
},
methods: {
/** 查询列表 */
getList() {
......@@ -904,6 +1063,18 @@ export default {
params.packageType = params.packageTypeArr.join(",");
delete params.packageTypeArr;
}
//目的国
if (this.destCountryId != null && this.destCountryId != "") {
params.destCountryIds = this.destCountryId;
}
//目的城市
if (this.objectiveId != null && this.objectiveId != "") {
params.objectiveIds = this.objectiveId;
}
//目的仓
if (this.destWarehouseId != null && this.destWarehouseId != "") {
params.destWarehouseIds = this.destWarehouseId;
}
// 执行查询
getOrderExceptionPage(params).then((response) => {
this.list = response.data.list;
......@@ -990,6 +1161,37 @@ export default {
});
}
},
getAddressProvince() {
getRegionList(1, 1).then(({ data }) => {
this.AddressProvince = data;
})
},
getAddressCity() {
getRegionList(4, 4).then(({ data }) => {
this.AddressCity = data;
})
},
getAddressTown() {
getRegionList(5, 5).then(({ data }) => {
this.AddressTown = data;
})
},
findByprovinceCode() {
if (this.destCountryId != null && this.destCountryId != '') {
//获取当前省份值id,获取该省份下城市 destCountryId provinceCode
getRegionList(2, this.destCountryId).then(({ data }) => {
this.AddressCity = data;
})
}
},
findBycityCode() {
if (this.objectiveId != null && this.objectiveId != '') {
//获取当前城市值id,获取该城市下区域
getRegionList(3, this.objectiveId).then(({ data }) => {
this.AddressTown = data;
})
}
}
},
};
</script>
......
......@@ -28,7 +28,7 @@
<el-input v-model="queryParams.marks" :placeholder="$t('唛头')" clearable @keyup.enter.native="handleQuery" />
</el-form-item> -->
<el-form-item :label="$t('发货人')" prop="consignorKey" v-show="showSearch">
<el-form-item :label="$t('发货人')" prop="consignorKey">
<el-input
v-model="queryParams.consignorKey"
:placeholder="$t('发货人')"
......@@ -37,7 +37,7 @@
onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"
/>
</el-form-item>
<el-form-item :label="$t('收货人')" prop="consigneeKey" v-show="showSearch">
<el-form-item :label="$t('收货人')" prop="consigneeKey">
<el-input
v-model="queryParams.consigneeKey"
:placeholder="$t('收货人')"
......@@ -150,8 +150,8 @@
/>
</el-form-item>
<el-form-item :label="$t('商品类型')" prop="goodsType" v-show="showSearch">
<selector v-model="queryParams.goodsType" :options="productAttrList" label-field="attrName" value-field="id">
<el-form-item :label="$t('商品类型')" prop="goodsTypes" v-show="showSearch">
<selector v-model="queryParams.goodsTypes" multiple :options="productAttrList" label-field="attrName" value-field="id">
</selector>
</el-form-item>
<!--
......@@ -298,7 +298,7 @@
@change="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('增值服务')" prop="number">
<el-form-item :label="$t('增值服务')" prop="types" v-show="showSearch">
<el-select
v-model="queryParams.types"
multiple
......@@ -1633,13 +1633,12 @@ export default {
if (this.destCountryId != null && this.destCountryId != "") {
queryParams.destCountryIds = this.destCountryId;
}
if (this.objectiveId != null && this.objectiveId != "") {
//目的城市
if (this.objectiveId != null && this.objectiveId != "") {
queryParams.objectiveIds = this.objectiveId;
}
if (this.destWarehouseId != null && this.destWarehouseId != "") {
//目的仓
if (this.destWarehouseId != null && this.destWarehouseId != "") {
queryParams.destWarehouseIds = this.destWarehouseId;
}
......@@ -1677,9 +1676,9 @@ export default {
(res) => (this.currencyList = res.data.list)
);
// 如果是空运(专线空运和海空联运)则获取渠道
if (this.transportId == 3 || this.transportId == 4) {
//if (this.transportId == 3 || this.transportId == 4) {
getChannelList().then((res) => (this.channelList = res.data));
}
//}
},
methods: {
init() {
......
......@@ -102,8 +102,8 @@
:prepend="{ id: 0, nickname: $t('未分配客户经理')}"/>
</el-form-item>
<!--根据需求文档 lanbm 2024-06-23 隐藏-->
<el-form-item :label="$t('订单状态')" prop="status">
<dict-selector :type="DICT_TYPE.ORDER_STATUS" v-model="queryParams.statusList"
<el-form-item :label="$t('订单状态')" prop="status" v-show="showSearch">
<dict-selector :type="DICT_TYPE.ORDER_STATUS" v-model="queryParams.status"
@keyup.enter.native="handleQuery" clearable />
</el-form-item>
<el-form-item :label="$t('报关方式')" prop="customsType" v-show="showSearch">
......@@ -114,12 +114,12 @@
<dict-selector v-model="queryParams.isNeat" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" clearable @change="handleQuery"/>
</el-form-item>
<el-form-item :label="$t('备案属性')" prop="productRecord" v-show="showSearch">
<dict-selector :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" v-model="queryParams.productRecord" multiple clearable @change="handleQuery" />
<el-form-item :label="$t('备案属性')" prop="productRecords" v-show="showSearch">
<dict-selector :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" multiple v-model="queryParams.productRecords" multiple clearable @change="handleQuery" />
</el-form-item>
<!--lanbm 2024-06-23 根据需求文档隐藏-->
<el-form-item :label="$t('快递单号')" prop="number" v-show="showSearch">
<el-input v-model="queryParams.number" :placeholder="$t('快递单号')" clearable @keyup.enter.native="handleQuery" />
<el-input v-model="queryParams.number" :placeholder="$t('快递单号')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/\s+/g, '')" />
</el-form-item>
<el-form-item :label="$t('外部仓')" prop="number" v-show="showSearch">
<el-select v-model="queryParams.isExternalWarehouse" :placeholder="$t('请选择')" clearable @change="handleQuery">
......@@ -136,7 +136,7 @@
<dict-selector :type="DICT_TYPE.ECW_ORDER_APPROVAL_TYPE" v-model="queryParams.auditType"
@keyup.enter.native="handleQuery" clearable />
</el-form-item>
<el-form-item :label="$t('增值服务')" prop="number">
<el-form-item :label="$t('增值服务')" prop="number" v-show="showSearch">
<el-select v-model="queryParams.types" :placeholder="$t('请选择')" multiple clearable>
<el-option :label="$t('普通订单')" :value="0"></el-option>
<el-option :label="$t('集运服务')" :value="1"></el-option>
......@@ -146,7 +146,7 @@
<el-form-item :label="$t('出货渠道')" prop="number">
<selector clearable :options="channelList" :label-field="$l('name')" value-field="channelId" v-model="queryParams.channelIds" multiple></selector>
</el-form-item>
<el-form-item :label="$t('特需')" prop="packageType">
<el-form-item :label="$t('特需')" prop="packageType" v-show="showSearch">
<el-select v-model="queryParams.packageTypeArr" multiple :placeholder="$t('请选择')" clearable >
<template v-for="item in getDictDatas(DICT_TYPE.ORDER_SPECIAL_NEEDS)">
<el-option :label="$l(item, 'label')" :value="item.value"></el-option>
......@@ -167,6 +167,10 @@
<el-button :disabled="!multipleSelection.length" type="primary" :loading="exporting" plain size="mini" @click="exportXls(ids)" v-hasPermi="['ecw:order:peddingList:export_selected']">{{$t('导出所选')}}</el-button>
<el-button type="primary" :loading="exporting" plain size="mini" @click="exportXls(queryParams)" v-hasPermi="['ecw:order:peddingList:export_search']">{{$t('导出搜索')}}</el-button>
</el-col>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<!-- 列表 -->
......@@ -218,7 +222,7 @@
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="row.transportId" /> / {{row.dstWarehouseName}}
</template>
</el-table-column>
<el-table-column :label="$t('控货')" align="center" prop="isCargoControl">
<el-table-column :label="$t('控货')" align="center" prop="isCargoControl" v-show="showSearch">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="row.isCargoControl" />
</template>
......@@ -428,7 +432,6 @@ export default {
this.destWarehouseId == ""
) {
//获取当前城市值id,获取该城市下区域
} else if (
this.destCountryId == "" &&
this.objectiveId == "" &&
......
......@@ -18,6 +18,7 @@
:placeholder="$t('发货人')"
clearable
@keyup.enter.native="handleQuery"
onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"
/>
</el-form-item>
<el-form-item :label="$t('收货人')" prop="consigneeKey">
......@@ -26,6 +27,7 @@
:placeholder="$t('收货人')"
clearable
@keyup.enter.native="handleQuery"
onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"
/>
</el-form-item>
<el-form-item label="">
......@@ -47,51 +49,80 @@
>
</el-date-picker>
</el-form-item>
<el-form-item :label="$t('始发仓')" prop="startWarehouseId">
<div>
<el-form-item :label="$t('始发仓')" prop="startWarehouseIds">
<el-select v-model="queryParams.startWarehouseIds" :placeholder="$t('请选择始发仓')" clearable @change="handleQuery">
<el-option v-for="item in exportWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('目的国')" prop="destCountryId">
<el-select
v-model="queryParams.startWarehouseId"
:placeholder="$t('请选择始发仓')"
v-model="destCountryId"
multiple
:label="destCountryId"
:placeholder="$t('请选择目的国')"
clearable
@change="handleQuery"
>
<el-option
v-for="item in exportWarehouseList"
:label="$l(item, 'title')"
:value="item.id"
:key="item.id"
v-for="item in AddressProvince"
:key="item.guojia"
:label="item.guojiaName"
:value="item.guojia"
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('目的城市')" prop="objectiveId">
<el-select
v-model="objectiveId"
multiple
:placeholder="$t('请选择目的城市')"
style="width: 200px"
clearable
@change="handleQuery"
>
<el-option
v-for="item in AddressCity"
:key="item.shi"
:label="item.shiName"
:value="item.shi"
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('目的仓')" prop="destWarehouseId">
<el-select
v-model="queryParams.destWarehouseId"
v-model="destWarehouseId"
multiple
:placeholder="$t('请选择目的仓')"
style="width: 200px"
clearable
@change="handleQuery"
>
<el-option
v-for="item in importWarehouseList"
:label="$l(item, 'title')"
:value="item.id"
v-for="item in AddressTown"
:key="item.id"
:label="item.titleZh"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</div>
<!--<el-form-item :label="$t('运输方式')" prop="transportId">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model.number="queryParams.transportId" clearable @change="handleQuery"/>
</el-form-item>-->
<el-form-item :label="$t('商品')" prop="tidanNo">
<el-form-item :label="$t('商品')" prop="tidanNo" v-show="showSearch">
<el-input
v-model="queryParams.prodKey"
:placeholder="$t('请输入商品类型、品名或品牌')"
clearable
@keyup.enter.native="handleQuery"
onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"
/>
</el-form-item>
<el-form-item :label="$t('控货')" prop="isCargoControl">
<el-form-item :label="$t('控货')" prop="isCargoControl" v-show="showSearch">
<dict-selector
v-model="queryParams.isCargoControl"
:type="DICT_TYPE.INFRA_BOOLEAN_STRING"
......@@ -99,7 +130,7 @@
clearable
/>
</el-form-item>
<el-form-item :label="$t('入仓类型')" prop="warehouseType">
<el-form-item :label="$t('入仓类型')" prop="warehouseType" v-show="showSearch">
<dict-selector
:type="DICT_TYPE.ECW_WAREHOUSING_TYPE"
v-model="queryParams.warehouseType"
......@@ -109,13 +140,14 @@
<el-form-item :label="$t('客户经理')">
<user-selector
manage
v-model="queryParams.salesmanId"
v-model="queryParams.salesmanIds"
multiple
clearable
@change="handleQuery"
:prepend="{ id: 0, nickname: $t('未分配客户经理') }"
/>
</el-form-item>
<el-form-item :label="$t('订单状态')" prop="status">
<el-form-item :label="$t('订单状态')" prop="status" v-show="showSearch">
<dict-selector
:type="DICT_TYPE.ORDER_STATUS"
v-model="queryParams.status"
......@@ -123,7 +155,7 @@
clearable
/>
</el-form-item>
<el-form-item :label="$t('报关方式')" prop="customsType">
<el-form-item :label="$t('报关方式')" prop="customsType" v-show="showSearch">
<dict-selector
:type="DICT_TYPE.ECW_CUSTOMS_TYPE"
v-model="queryParams.customsType"
......@@ -131,7 +163,7 @@
@change="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('是否齐货')">
<el-form-item :label="$t('是否齐货')" v-show="showSearch">
<!--// 字段存疑-->
<dict-selector
v-model="queryParams.isNeat"
......@@ -142,23 +174,25 @@
/>
</el-form-item>
<el-form-item :label="$t('备案属性')" prop="productRecord">
<el-form-item :label="$t('备案属性')" prop="productRecord" v-show="showSearch">
<dict-selector
:type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE"
v-model="queryParams.productRecord"
multiple
clearable
@change="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('快递单号')" prop="number">
<el-form-item :label="$t('快递单号')" prop="number" v-show="showSearch">
<el-input
v-model="queryParams.number"
:placeholder="$t('快递单号')"
clearable
@keyup.enter.native="handleQuery"
onkeyup="this.value=this.value.replace(/\s+/g, '')"
/>
</el-form-item>
<el-form-item :label="$t('外部仓')" prop="number">
<el-form-item :label="$t('外部仓')" prop="number" v-show="showSearch">
<el-select
v-model="queryParams.isExternalWarehouse"
:placeholder="$t('请选择')"
......@@ -170,7 +204,7 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('异常状态')" prop="status">
<el-form-item :label="$t('异常状态')" prop="status" v-show="showSearch">
<dict-selector
:type="DICT_TYPE.ORDER_ABNORMAL_STATE"
v-model="queryParams.abnormalState"
......@@ -178,7 +212,7 @@
clearable
/>
</el-form-item>
<el-form-item :label="$t('审核状态')" prop="status">
<el-form-item :label="$t('审核状态')" prop="status" v-show="showSearch">
<dict-selector
:type="DICT_TYPE.ECW_ORDER_APPROVAL_TYPE"
v-model="queryParams.auditType"
......@@ -186,9 +220,10 @@
clearable
/>
</el-form-item>
<el-form-item :label="$t('订单类型')" prop="number">
<el-form-item :label="$t('增值服务')" prop="types" v-show="showSearch">
<el-select
v-model="queryParams.type"
v-model="queryParams.types"
multiple
:placeholder="$t('请选择')"
clearable
>
......@@ -197,15 +232,16 @@
<el-option :label="$t('海外仓')" :value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('出货渠道')" prop="number">
<el-form-item :label="$t('出货渠道')" prop="channelIds">
<selector
:options="channelList"
:label-field="$l('name')"
value-field="channelId"
v-model="queryParams.channelId"
v-model="queryParams.channelIds"
multiple
></selector>
</el-form-item>
<el-form-item :label="$t('特需')" prop="packageType">
<el-form-item :label="$t('特需')" prop="packageType" v-show="showSearch">
<el-select
v-model="queryParams.packageTypeArr"
multiple
......@@ -253,6 +289,10 @@
>{{ $t("导出搜索") }}</el-button
>
</el-col>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<!-- 列表 -->
......@@ -456,6 +496,7 @@ import { getCurrencyPage } from "@/api/ecw/currency";
import SplitRevoke from "@/views/ecw/order/components/SplitRevoke";
import { getChannelList } from "@/api/ecw/channel";
import Template from "@/views/cms/template/index.vue";
import {getRegionList} from "@/api/ecw/order"
export default {
name: "EcwOrderStockinglist",
components: {
......@@ -478,6 +519,8 @@ export default {
},
data() {
return {
// 显示搜索条件
showSearch: true,
// 导出中状态
exporting: false,
// 选中数组
......@@ -514,12 +557,88 @@ export default {
},
currencyList: [],
channelList: [],
AddressProvince: [],
AddressCity: [],
AddressTown: [],
destCountryId: null,
objectiveId: null,
destWarehouseId: null,
};
},
watch: {
isChinese() {
this.getList();
},
destCountryId: {
//监听当前地区值的变化,于与上方地区值进行了双向绑定
deep: true, //深度监听
handler() {
//每当值省份值改变时其下地区值进行清空
this.AddressCity = [];
this.AddressTown = [];
this.objectiveId = "";
this.destWarehouseId = "";
this.findByprovinceCode();
if (this.destCountryId == "") {
this.getAddressCity()
this.getAddressTown()
} else if (
this.destCountryId != "" &&
this.objectiveId == "" &&
this.destWarehouseId == ""
) {
this.getAddressTown()
}
},
},
objectiveId: {
deep: true, //深度监听
handler() {
this.AddressTown = [];
this.destWarehouseId = "";
this.findBycityCode();
if (
this.objectiveId != "" &&
this.destCountryId != "" &&
this.destWarehouseId == ""
) {
//获取当前城市值id,获取该城市下区域
} else if (
this.destCountryId == "" &&
this.objectiveId == "" &&
this.destWarehouseId == ""
) {
this.getAddressTown()
} else if (
this.destCountryId != "" &&
this.objectiveId == "" &&
this.destWarehouseId == ""
) {
this.findByprovinceCode();
this.getAddressTown()
}
},
},
destWarehouseId: {
deep: true, //深度监听
handler() {
if (
this.objectiveId != "" &&
this.destCountryId != "" &&
this.destWarehouseId == ""
) {
//获取当前城市值id,获取该城市下区域
this.findBycityCode();
} else if (
this.destCountryId != "" &&
this.objectiveId == "" &&
this.destWarehouseId == ""
) {
this.getAddressTown()
}
},
},
},
computed: {
isChinese() {
......@@ -542,8 +661,20 @@ export default {
timeParams["begin" + this.dateFilterType] = this.dateFilter[0];
timeParams["end" + this.dateFilterType] = this.dateFilter[1];
}
let queryParams = Object.assign({}, this.queryParams, timeParams);
return queryParams;
let queryParams = {}
//目的国
if (this.destCountryId != null && this.destCountryId != "") {
queryParams.destCountryIds = this.destCountryId;
}
//目的城市
if (this.objectiveId != null && this.objectiveId != "") {
queryParams.objectiveIds = this.objectiveId;
}
//目的仓
if (this.destWarehouseId != null && this.destWarehouseId != "") {
queryParams.destWarehouseIds = this.destWarehouseId;
}
return Object.assign({}, this.queryParams, timeParams, queryParams)
},
},
activated() {
......@@ -558,6 +689,9 @@ export default {
(res) => (this.currencyList = res.data.list)
);
getChannelList().then((res) => (this.channelList = res.data));
this.getAddressProvince()
this.getAddressCity()
this.getAddressTown()
},
methods: {
/** 查询列表 */
......@@ -663,6 +797,37 @@ export default {
this.getList();
});
},
getAddressProvince() {
getRegionList(1, 1).then(({ data }) => {
this.AddressProvince = data;
})
},
getAddressCity() {
getRegionList(4, 4).then(({ data }) => {
this.AddressCity = data;
})
},
getAddressTown() {
getRegionList(5, 5).then(({ data }) => {
this.AddressTown = data;
})
},
findByprovinceCode() {
if (this.destCountryId != null && this.destCountryId != '') {
//获取当前省份值id,获取该省份下城市 destCountryId provinceCode
getRegionList(2, this.destCountryId).then(({ data }) => {
this.AddressCity = data;
})
}
},
findBycityCode() {
if (this.objectiveId != null && this.objectiveId != '') {
//获取当前城市值id,获取该城市下区域
getRegionList(3, this.objectiveId).then(({ data }) => {
this.AddressTown = data;
})
}
}
},
};
</script>
......
......@@ -6,8 +6,9 @@
<dict-selector defaultable :type="DICT_TYPE.ECW_BEGINTIME_TYPE_ENDTIME" v-model="dateFilterType" class="w-100 mr-10" />
<el-date-picker v-model="dateFilter" type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" value-format="yyyy-MM-dd HH:mm:ss" @change="handleQuery"></el-date-picker>
</el-form-item>
<div>
<el-form-item :label="$t('始发仓')" prop="startWarehouseIds">
<el-select v-model="queryParams.startWarehouseIds" multiple :placeholder="$t('请选择始发地')" clearable @change="handleQuery">
<el-select v-model="queryParams.startWarehouseIds" multiple :placeholder="$t('请选择始发仓')" clearable @change="handleQuery">
<el-option v-for="item in exportWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
......@@ -62,31 +63,45 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('运输方式')" prop="transportId">
</div>
<el-form-item :label="$t('客户经理')">
<user-selector
manage
v-model="queryParams.salesmanIds"
multiple
clearable
@change="handleQuery"
:prepend="{ id: 0, nickname: $t('未分配客户经理') }"
/>
</el-form-item>
<el-form-item :label="$t('运输方式')" prop="transportId" v-show="showSearch">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model.number="queryParams.transportId" clearable @change="handleQuery"/>
</el-form-item>
<el-form-item :label="$t('出货渠道')" prop="channelIds">
<selector clearable :options="channelList" :label-field="$l('name')" value-field="channelId" v-model="queryParams.channelIds" multiple></selector>
</el-form-item>
<el-form-item :label="$t('订单编号')" prop="orderNo">
<el-input v-model="queryParams.orderNo" :placeholder="$t('订单编号')" clearable @keyup.enter.native="handleQuery" />
<el-input v-model="queryParams.orderNo" :placeholder="$t('订单编号')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/\s+/g, '')" />
</el-form-item>
<el-form-item :label="$t('品名')" prop="prodId">
<product-selector v-model="queryParams.prodId" @keyup.enter.native="handleQuery" clearable @change="handleQuery"/>
<el-form-item :label="$t('商品')" prop="prodId" v-show="showSearch">
<product-selector v-model="queryParams.prodId" @keyup.enter.native="handleQuery" clearable @change="handleQuery" onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')" />
</el-form-item>
<el-form-item :label="$t('控货状态')" prop="isCargoControl">
<dict-selector v-model="queryParams.cargoControlStatus" :type="DICT_TYPE.CONTROL_GOODS_STATUS" clearable @change="handleQuery"/>
<dict-selector v-model="queryParams.cargoControlStatusList" multiple :type="DICT_TYPE.CONTROL_GOODS_STATUS" clearable @change="handleQuery" />
</el-form-item>
<el-form-item :label="$t('订单状态')" prop="statusList">
<el-form-item :label="$t('订单状态')" prop="statusList" v-show="showSearch">
<dict-selector :type="DICT_TYPE.ORDER_STATUS" multiple v-model="queryParams.statusList"
@keyup.enter.native="handleQuery" clearable @change="handleQuery" />
</el-form-item>
<el-form-item :label="$t('提单号')" prop="tidanNo">
<el-input v-model="queryParams.tidanNo" :placeholder="$t('提单号')" clearable @keyup.enter.native="handleQuery" />
<el-input v-model="queryParams.tidanNo" :placeholder="$t('提单号')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/\s+/g, '')" />
</el-form-item>
<el-form-item :label="$t('发货人')" prop="consignorKey">
<el-input v-model="queryParams.consignorKey" :placeholder="$t('发货人')" clearable @keyup.enter.native="handleQuery" />
<el-input v-model="queryParams.consignorKey" :placeholder="$t('发货人')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')" />
</el-form-item>
<el-form-item :label="$t('收货人')" prop="consigneeKey">
<el-input v-model="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" />
<el-input v-model="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')" />
</el-form-item>
<el-form-item :label="$t('报关方式')" prop="customsTypes">
......@@ -94,15 +109,24 @@
</el-form-item>
<el-form-item :label="$t('唛头')" prop="marks">
<el-input v-model="queryParams.marks" :placeholder="$t('唛头')" clearable @keyup.enter.native="handleQuery" />
<el-input v-model="queryParams.marks" :placeholder="$t('唛头')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/\s+/g, '')" />
</el-form-item>
<el-form-item :label="$t('外部仓')" prop="number">
<el-form-item :label="$t('备案属性')" prop="productRecords" v-show="showSearch">
<dict-selector
:type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE"
multiple
v-model="queryParams.productRecords"
clearable
@change="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('外部仓')" prop="isExternalWarehouse" v-show="showSearch">
<el-select v-model="queryParams.isExternalWarehouse" :placeholder="$t('请选择')" clearable @change="handleQuery">
<el-option :label="$t('外部仓')" :value="1"></el-option>
<el-option :label="$t('自有仓')" :value="0"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('订单类型')" prop="number">
<el-form-item :label="$t('增值服务')" prop="type" v-show="showSearch">
<el-select v-model="queryParams.type" :placeholder="$t('请选择')" clearable @change="handleQuery" >
<el-option :label="$t('普通订单')" :value="0"></el-option>
<el-option :label="$t('集运服务')" :value="1"></el-option>
......@@ -192,10 +216,14 @@ import Fallback from './components/Fallback'
import {getWarehouseList} from '@/api/ecw/warehouse'
import CargoLogList from "@/views/ecw/order/components/CargoLogList.vue";
import {getRegionList} from "@/api/ecw/order"
import UserSelector from "@/components/UserSelector";
import {getChannelList} from "@/api/ecw/channel";
export default {
name: "EcwOrderCargocontrol",
name: "EcwOrderWarningCargocontrol",
components: {
CargoLogList,
UserSelector,
CustomerSelector, ProductSelector, Selector, Transfer, Release,CargoControlEdit, TransferCargo, Fallback
},
data() {
......@@ -236,6 +264,7 @@ export default {
showFallbackOrder: null, // 调货订单
pickInfo: null, // 当前操作的提货信息
showLogOrderId: null, // 显示控货日志的订单ID
channelList: [],
AddressProvince: [],
AddressCity: [],
AddressTown: [],
......@@ -315,7 +344,6 @@ export default {
this.destWarehouseId == ""
) {
//获取当前城市值id,获取该城市下区域
} else if (
this.destCountryId == "" &&
this.objectiveId == "" &&
......@@ -361,6 +389,7 @@ export default {
getProductAttrList().then(res => this.productAttrList = res.data)
// getTradeCityList().then(res => this.tradeCityList = res.data)
getWarehouseList().then(res => this.warehouseList = res.data)
getChannelList().then(res => this.channelList = res.data)
this.getAddressProvince()
this.getAddressCity()
this.getAddressTown()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment