Commit 278f6a40 authored by zs嵩's avatar zs嵩

批量加价

parent af3b23f3
import request from "@/utils/request";
import request from "@/utils/request"
/**
* 订舱
......@@ -12,15 +12,15 @@ export function booking(data) {
return request({
url: "/ecw/box-book-sea/update",
method: "put",
data,
});
data
})
}
return request({
url: "/ecw/box-book-sea/create",
method: "post",
data,
});
data
})
}
/**
......@@ -35,14 +35,14 @@ export function trailer(data) {
return request({
url: "/ecw/box-trailer/update",
method: "put",
data,
});
data
})
}
return request({
url: "/ecw/box-trailer/create",
method: "post",
data,
});
data
})
}
/**
......@@ -57,8 +57,8 @@ export function agentSet(data) {
url: "/shipment/box/agentSet",
method: "post",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
data: jsonToFormData(data),
});
data: jsonToFormData(data)
})
}
/**
......@@ -73,14 +73,14 @@ export function cabinetCreate(data) {
return request({
url: "/ecw/box-cabinet/update",
method: "put",
data,
});
data
})
}
return request({
url: "/ecw/box-cabinet/create",
method: "post",
data,
});
data
})
}
/**
......@@ -95,14 +95,14 @@ export function customsCreate(data) {
return request({
url: "/ecw/box-customs/update",
method: "put",
data,
});
data
})
}
return request({
url: "/ecw/box-customs/create",
method: "post",
data,
});
data
})
}
/**
......@@ -117,8 +117,8 @@ export function shipConfigure(data) {
url: "/shipment/box/shipConfigure",
method: "post",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
data: jsonToFormData(data),
});
data: jsonToFormData(data)
})
}
/**
......@@ -133,14 +133,14 @@ export function billCreate(data) {
return request({
url: "/ecw/box-lading-bill/update",
method: "put",
data,
});
data
})
}
return request({
url: "/ecw/box-lading-bill/create",
method: "post",
data,
});
data
})
}
/**
......@@ -151,9 +151,9 @@ export function getBoxLadingBillPdf(params) {
return request({
url: "/ecw/box-lading-bill/getBoxLadingBillPdf",
method: "get",
responseType: 'arraybuffer',
params,
});
responseType: "arraybuffer",
params
})
}
/**
......@@ -168,14 +168,14 @@ export function bargeCreate(data) {
return request({
url: "/ecw/box-barge/update",
method: "put",
data,
});
data
})
}
return request({
url: "/ecw/box-barge/create",
method: "post",
data,
});
data
})
}
/**
......@@ -190,14 +190,14 @@ export function shippingCreate(data) {
return request({
url: "/ecw/box-shipping/update",
method: "put",
data,
});
data
})
}
return request({
url: "/ecw/box-shipping/create",
method: "post",
data,
});
data
})
}
/**
......@@ -212,14 +212,14 @@ export function ladingCopyCreate(data) {
return request({
url: "/ecw/box-lading-copy/update",
method: "put",
data,
});
data
})
}
return request({
url: "/ecw/box-lading-copy/create",
method: "post",
data,
});
data
})
}
/**
......@@ -234,14 +234,14 @@ export function clearanceDocCreate(data) {
return request({
url: "/ecw/box-clearance-doc/update",
method: "put",
data,
});
data
})
}
return request({
url: "/ecw/box-clearance-doc/create",
method: "post",
data,
});
data
})
}
/**
......@@ -256,14 +256,14 @@ export function arrivalCreate(data) {
return request({
url: "/ecw/box-arrival/update",
method: "put",
data,
});
data
})
}
return request({
url: "/ecw/box-arrival/create",
method: "post",
data,
});
data
})
}
/**
......@@ -278,14 +278,14 @@ export function clearanceCreate(data) {
return request({
url: "/ecw/box-clearance/update",
method: "put",
data,
});
data
})
}
return request({
url: "/ecw/box-clearance/create",
method: "post",
data,
});
data
})
}
/**
......@@ -300,14 +300,14 @@ export function unloadCreate(data) {
return request({
url: "/ecw/box-cabinet-unload/update",
method: "put",
data,
});
data
})
}
return request({
url: "/ecw/box-cabinet-unload/create",
method: "post",
data,
});
data
})
}
/**
......@@ -322,14 +322,14 @@ export function settlementCreate(data) {
return request({
url: "/ecw/box-settlement/update",
method: "put",
data,
});
data
})
}
return request({
url: "/ecw/box-settlement/create",
method: "post",
data,
});
data
})
}
/**
......@@ -344,14 +344,14 @@ export function airShipmentCreate(data) {
return request({
url: "/ecw/box-air-shipment/update",
method: "put",
data,
});
data
})
}
return request({
url: "/ecw/box-air-shipment/create",
method: "post",
data,
});
data
})
}
/**
* 空运撤回
......@@ -364,8 +364,8 @@ export function airShipmentRecall(data) {
return request({
url: "/ecw/box-air-shipment/recall",
method: "put",
data,
});
data
})
}
/**
......@@ -380,14 +380,14 @@ export function airCheckoutCreate(data) {
return request({
url: "/ecw/box-air-checkout/update",
method: "put",
data,
});
data
})
}
return request({
url: "/ecw/box-air-checkout/create",
method: "post",
data,
});
data
})
}
/**
......@@ -401,8 +401,8 @@ export function approvalCreate(data) {
return request({
url: "/ecw/box-approval/create",
method: "post",
data,
});
data
})
}
/**
......@@ -416,8 +416,8 @@ export function approvalCancel(data) {
return request({
url: `/ecw/box-approval/cancel`,
method: "delete",
data,
});
data
})
}
/**
......@@ -431,8 +431,8 @@ export function abnormalCreate(data) {
return request({
url: "/ecw/box-abnormal/create",
method: "post",
data,
});
data
})
}
/**
......@@ -446,8 +446,8 @@ export function resetById(params) {
return request({
url: "/ecw/box-customs-extra-cost/resetById",
method: "get",
params,
});
params
})
}
/**
......@@ -461,8 +461,8 @@ export function resetByShipmentId(params) {
return request({
url: "ecw/box-customs-extra-cost/resetByShipmentId",
method: "get",
params,
});
params
})
}
/***************************** 预装 start **********************************/
......@@ -478,8 +478,8 @@ export function secGoodsList(data) {
return request({
url: "/ecw/box-preload-goods/secGoodsList",
method: "post",
data,
});
data
})
}
/**
......@@ -493,8 +493,8 @@ export function preloadPage(data) {
return request({
url: "/ecw/box-preload-goods/preloadPage",
method: "post",
data,
});
data
})
}
/**
......@@ -508,8 +508,8 @@ export function createSection(data) {
return request({
url: "/ecw/box-preload-section/create",
method: "post",
data,
});
data
})
}
/**
......@@ -523,8 +523,23 @@ export function changeSection(data) {
return request({
url: "/ecw/box-preload-goods/changeSection",
method: "post",
data,
});
data
})
}
/**
* 查询出货单下的所有列表
*
* @export
* @param {*} data
* @return {*}
*/
export function getBatchOrderList(params) {
return request({
url: "/shipment/box/shipment/batch/markup/order/list",
method: "get",
params
})
}
/**
......@@ -538,8 +553,8 @@ export function getSectionList(params) {
return request({
url: "/ecw/box-preload-section/list",
method: "get",
params,
});
params
})
}
/**
......@@ -554,8 +569,8 @@ export function boxGoodsDetail(data) {
url: "/ecw/box-preload-goods/boxGoodsDetail",
method: "post",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
data: jsonToFormData(data),
});
data: jsonToFormData(data)
})
}
/**
......@@ -570,7 +585,7 @@ export function deleteSection(params) {
url: "/ecw/box-preload-goods/deleteSection",
method: "delete",
params
});
})
}
/**
......@@ -585,7 +600,7 @@ export function deleteGoods(params) {
url: "/ecw/box-preload-goods/delete",
method: "delete",
params
});
})
}
/**
......@@ -599,8 +614,8 @@ export function createGoods(data) {
return request({
url: "/ecw/box-preload-goods/v2/create",
method: "post",
data,
});
data
})
}
/**
......@@ -614,8 +629,8 @@ export function getAllRelateOrderList(params) {
return request({
url: "/order/guanlian/getAllRelateOrderList",
method: "get",
params,
});
params
})
}
/**
......@@ -629,8 +644,8 @@ export function loadRelationOrder(data) {
return request({
url: "/ecw/box-preload-goods/loadRelationOrder",
method: "post",
data,
});
data
})
}
/***************************** 预装 end **********************************/
......@@ -648,8 +663,8 @@ export function loadSecGoodsList(params) {
return request({
url: "/ecw/box-preload-goods/loadSecGoodsList",
method: "get",
params,
});
params
})
}
/**
......@@ -664,8 +679,8 @@ export function orderTagList(data) {
url: "/ecw/box-load-info/orderTagList",
method: "post",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
data: jsonToFormData(data),
});
data: jsonToFormData(data)
})
}
/**
......@@ -679,8 +694,8 @@ export function singleCreate(data) {
return request({
url: "/ecw/box-load-info/singleCreate",
method: "post",
data,
});
data
})
}
/**
......@@ -694,8 +709,8 @@ export function batchCreate(data) {
return request({
url: "/ecw/box-load-info/batchCreate",
method: "post",
data,
});
data
})
}
/**
......@@ -709,8 +724,8 @@ export function singleDelete(data) {
return request({
url: "/ecw/box-load-info/singleDelete",
method: "post",
data,
});
data
})
}
/**
......@@ -724,8 +739,8 @@ export function batchDelete(data) {
return request({
url: "/ecw/box-load-info/batchDelete",
method: "post",
data,
});
data
})
}
/**
......@@ -739,8 +754,8 @@ export function remove(data) {
return request({
url: "/ecw/box-load-info/remove",
method: "post",
data,
});
data
})
}
/**
......@@ -754,8 +769,8 @@ export function boxUpdate(data) {
return request({
url: "/ecw/box-load-info/boxUpdate",
method: "post",
data,
});
data
})
}
/**
......@@ -768,8 +783,8 @@ export function createApproval(data) {
return request({
url: "/ecw/box-approval/create",
method: "post",
data,
});
data
})
}
/**
......@@ -782,8 +797,8 @@ export function getOrderDetailByBoxNo(data) {
return request({
url: "/my/shipment/searchLoadOrderByBoxNo",
method: "post",
data,
});
data
})
}
/**
......@@ -796,8 +811,8 @@ export function externalLoad(data) {
return request({
url: "/ecw/box-load-info/externalLoad",
method: "post",
data,
});
data
})
}
/**
......@@ -811,8 +826,8 @@ export function splitList(data) {
url: "/shipment/box/splitList",
method: "post",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
data: jsonToFormData(data),
});
data: jsonToFormData(data)
})
}
/***************************** 装柜 end **********************************/
......@@ -830,8 +845,8 @@ export function loadGoodsList(params) {
return request({
url: "/ecw/box-preload-goods/loadGoodsList",
method: "get",
params,
});
params
})
}
/**
......@@ -845,8 +860,8 @@ export function batchUnload(data) {
return request({
url: "/ecw/box-load-info/batchUnload",
method: "post",
data,
});
data
})
}
/**
......@@ -860,8 +875,8 @@ export function airBatchUnload(data) {
return request({
url: "/ecw/box-load-info/airBatchUnload",
method: "post",
data,
});
data
})
}
/**
......@@ -875,8 +890,8 @@ export function singleUnload(data) {
return request({
url: "/ecw/box-load-info/singleUnload",
method: "post",
data,
});
data
})
}
/**
......@@ -890,8 +905,8 @@ export function airSingleUnload(data) {
return request({
url: "/ecw/box-load-info/airSingleUnload",
method: "post",
data,
});
data
})
}
/**
......@@ -905,11 +920,10 @@ export function allUnload(data) {
return request({
url: "/ecw/box-load-info/allUnload",
method: "post",
data,
});
data
})
}
/**
* 一键到仓
*
......@@ -921,8 +935,8 @@ export function airAllUnload(data) {
return request({
url: "/ecw/box-load-info/airAllUnload",
method: "post",
data,
});
data
})
}
/**
......@@ -936,8 +950,8 @@ export function createError(data) {
return request({
url: "/ecw/box-cabinet-unload-abnormal/create",
method: "post",
data,
});
data
})
}
/***************************** 卸柜 end **********************************/
......@@ -955,8 +969,8 @@ export function extraCostOrder(data) {
return request({
url: "/ecw/box-customs-extra-cost/searchByOrderNo",
method: "post",
data,
});
data
})
}
/**
......@@ -970,8 +984,8 @@ export function extraCostCreate(data) {
return request({
url: "/ecw/box-customs-extra-cost/create",
method: "post",
data,
});
data
})
}
/**
......@@ -985,8 +999,8 @@ export function extraCostUpdate(data) {
return request({
url: "/ecw/box-customs-extra-cost/update",
method: "put",
data,
});
data
})
}
/**
......@@ -1000,8 +1014,8 @@ export function extraCostList(params) {
return request({
url: "/ecw/box-customs-extra-cost/list",
method: "get",
params,
});
params
})
}
/**
......@@ -1016,8 +1030,8 @@ export function customsOrderList(data) {
url: "/shipment/box/customsOrderList",
method: "post",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
data: jsonToFormData(data),
});
data: jsonToFormData(data)
})
}
/***************************** 报关费用 end **********************************/
......@@ -1036,8 +1050,8 @@ export function getTallyList(data) {
url: "/shipment/box/tallyList",
method: "post",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
data: jsonToFormData(data),
});
data: jsonToFormData(data)
})
}
/**
......@@ -1051,8 +1065,8 @@ export function tallyRemove(data) {
return request({
url: "/ecw/box-preload-goods/remove",
method: "post",
data,
});
data
})
}
/**
......@@ -1066,8 +1080,8 @@ export function tallyLocationUpdate(data) {
return request({
url: "/shipment/box/batchOrderLocationUpdate",
method: "post",
data,
});
data
})
}
/**
......@@ -1082,16 +1096,16 @@ export function tallyCommit(data) {
url: "/shipment/box/tallyCommit",
method: "post",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
data: jsonToFormData(data),
});
data: jsonToFormData(data)
})
}
/***************************** 理货 end **********************************/
function jsonToFormData(params) {
const formData = new FormData();
const formData = new FormData()
for (const [key, value] of Object.entries(params)) {
formData.append(key, value);
formData.append(key, value)
}
return formData;
return formData
}
......@@ -14,6 +14,9 @@
display: flex;
justify-content: center;
align-items: center;
.fills {
flex: 1;
}
}
.custom-form-1 {
......@@ -25,3 +28,12 @@
width: 100%;
}
}
.el-table--mini {
.el-link {
font-size: 12px;
}
.el-table__header-wrapper th {
font-size: 12px !important;
}
}
......@@ -4,11 +4,10 @@
<div class="page-title">
<span>{{ $t("批量加价") }}</span>
<!-- TODO 这里的批量申请费用需要跳转到和订单列表一致的批量订单费用申请页面 -->
<el-button type="primary" style="margin-left: 5px;" size="small" @click="batchOrderFeeApply(this.orderIds)">{{$t('批量申请费用')}}</el-button>
<el-button type="primary" style="margin-left: 5px" size="small" @click="batchOrderFeeApply(this.orderIds)">{{ $t("批量申请费用") }}</el-button>
</div>
<div>
{{$t('运费或全包加价')}}
{{ $t("运费或全包加价") }}
<!--货币-->
<selector :disabled="approval" v-model="form.freightCurrencyId" :options="currencyList" :label-field="$l('title')" value-field="id" defaultable class="w-100 ml-10" />
<!--金额 :min="1"-->
......@@ -17,20 +16,20 @@
<selector :disabled="approval" v-model="form.freightUnitId" :options="unitList" :label-field="$l('title')" value-field="id" defaultable class="w-100 ml-10" />
</div>
<div class="mt-10">
{{$t('清关费加价')}}
{{ $t("清关费加价") }}
<!--货币-->
<selector :disabled="approval" v-model="form.clearanceCurrencyId" :options="currencyList" :label-field="$l('title')" value-field="id" defaultable class="w-100 ml-10" />
<!--金额 :min="1"-->
<el-input :disabled="approval" type="number" v-model="form.clearanceFee" @keyup.native="checkPositive(form, 'clearanceFee')" class="w-100 ml-10" />
<!--单位-->
<selector :disabled="approval" v-model="form.clearanceUnitId" :options="unitList" :label-field="$l('title')" value-field="id" defaultable class="w-100 ml-10" />
<span>*{{$t('若线路价格为全包价,输入清关费不生效')}}</span>
<span>*{{ $t("若线路价格为全包价,输入清关费不生效") }}</span>
</div>
<el-card class="mt-20" v-if="shipmentObj">
<el-descriptions :column="4" border>
<el-descriptions-item :label="$t('自编号')">
{{shipmentObj.selfNo}}
{{ shipmentObj.selfNo }}
</el-descriptions-item>
<el-descriptions-item :label="$t('运输方式')">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="shipmentObj.transportType" />
......@@ -39,143 +38,261 @@
{{getShipChannelName(shipmentObj.shippingChannelId)}}
</el-descriptions-item> -->
<el-descriptions-item :label="$t('柜型')">
{{getCabinetLabel(shipmentObj.cabinetId)}}
{{ getCabinetLabel(shipmentObj.cabinetId) }}
</el-descriptions-item>
<el-descriptions-item :label="$t('状态')">
{{shipmentObj.shipmentStatusText}}
{{ shipmentObj.shipmentStatusText }}
</el-descriptions-item>
<el-descriptions-item :label="$t('总计')">
{{getBoxSum(shipmentObj.boxStatistics)}}
{{ getBoxSum(shipmentObj.boxStatistics) }}
</el-descriptions-item>
<el-descriptions-item :label="$t('始发地')">
{{getCityName(shipmentObj.startWarehouseId)}}
{{ getCityName(shipmentObj.startWarehouseId) }}
</el-descriptions-item>
<el-descriptions-item :label="$t('目的地')">
{{getCityName(shipmentObj.destWarehouseId)}}
{{ getCityName(shipmentObj.destWarehouseId) }}
</el-descriptions-item>
<el-descriptions-item label="SO NO">
{{shipmentObj.bookSeaInfo ? shipmentObj.bookSeaInfo.sono : '' }}
{{ shipmentObj.bookSeaInfo ? shipmentObj.bookSeaInfo.sono : "" }}
</el-descriptions-item>
<el-descriptions-item v-if="shipmentObj.transportType == 1 || shipmentObj.transportType == 2" :label="$t('装柜时间')">
{{shipmentObj.zgDate}}
{{ shipmentObj.zgDate }}
</el-descriptions-item>
<el-descriptions-item v-else :label="$t('出仓时间')">
{{shipmentObj.ckDate}}
{{ shipmentObj.ckDate }}
</el-descriptions-item>
<el-descriptions-item :label="$t('到港时间')">
{{shipmentObj.dgDate}}
{{ shipmentObj.dgDate }}
</el-descriptions-item>
<el-descriptions-item :label="$t('清关时间')">
{{shipmentObj.qgDate}}
{{ shipmentObj.qgDate }}
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card class="mt-20">
<div slot="header">
{{$t('明细')}}
</div>
<div class="flex-row" style="display: flex">
<div class="flex-1">
{{$t('当前部分')}}
<el-select :placeholder="$t('请选择')" v-model="sectionId" @change="sectionChange">
<el-option key="0" :label="$t('全部')" :value="0"></el-option>
<el-option v-for="item in sectionList" :key="item.id" :label="item.title" :value="item.id"></el-option>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="140px" class="search-z mt-20">
<el-form-item :label="$t('编号')" prop="orderNo">
<el-input class="w-200" v-model.trim="noParam.value" :placeholder="$t('请输入订单号、唛头、提单号')" clearable @keyup.enter.native="handleQuery" @input="replaceSpace(noParam, 'value')">
<template slot="prepend">
<dict-selector :type="DICT_TYPE.ORDER_QUERY_NO_FIELD" defaultable v-model="noParam.key" />
</template>
</el-input>
</el-form-item>
<el-form-item :label="$t('发货人')" prop="consignorKey">
<el-input v-model.trim="queryParams.consignorKey" :placeholder="$t('发货人')" clearable @keyup.enter.native="handleQuery" class="w-200" />
</el-form-item>
<el-form-item :label="$t('收货人')" prop="consigneeKey">
<el-input v-model.trim="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" class="w-200" />
</el-form-item>
<el-form-item :label="$t('控货状态')" prop="isCargoControl">
<dict-selector v-model="queryParams.cargoControlStatusList" multiple :type="DICT_TYPE.CONTROL_GOODS_STATUS" clearable @change="handleQuery" class="w-200" />
</el-form-item>
<div>
<el-form-item :label="$t('始发仓')" prop="startWarehouseIds">
<el-select v-model="queryParams.startWarehouseIds" multiple :placeholder="$t('请选择始发仓')" clearable @change="handleQuery" class="w-200">
<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="destCountryId">
<el-select v-model="destCountryId" multiple :label="destCountryId" :placeholder="$t('请选择目的国')" clearable @change="handleQuery" class="w-200">
<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" class="w-200">
<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" class="w-200">
<el-option v-for="item in AddressTown" :key="item.id" :label="item.titleZh" :value="item.id"></el-option>
</el-select>
</el-form-item>
</div>
<div class="document-status" v-if="sectionObj">
<span>{{$t('单证状态')}}</span>
<template v-for="(item, index) in getDocStatus(sectionObj.sectionOrderList)">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="item" :key="index" class="document" />
<el-form-item :label="$t('客户经理')">
<user-selector manage v-model="queryParams.salesmanIds" multiple clearable @change="handleQuery" :prepend="{ id: 0, nickname: $t('未分配客户经理') }" class="w-200" />
</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" class="w-200" />
</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 class="w-200"></selector>
</el-form-item>
<el-form-item :label="$t('商品') + ':'" v-show="showSearch">
<el-input v-model.trim="prodParam.value" :placeholder="$t('请输入商品类型、品名或品牌')" clearable @keyup.enter.native="handleQuery" class="w-200">
<template slot="prepend">
<dict-selector :type="DICT_TYPE.ORDER_QUERY_PROD_FIELD" defaultable v-model="prodParam.key" />
</template>
</el-input>
</el-form-item>
<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" class="w-200" />
</el-form-item>
<el-form-item :label="$t('报关方式')" prop="customsTypes" v-show="showSearch">
<dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" multiple v-model="queryParams.customsTypes" clearable @change="handleQuery" class="w-200" />
</el-form-item>
<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" class="w-200" />
</el-form-item>
<el-form-item :label="$t('外部仓')" prop="isExternalWarehouse" v-show="showSearch">
<el-select v-model="queryParams.isExternalWarehouse" :placeholder="$t('请选择')" clearable @change="handleQuery" class="w-200">
<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="types" v-show="showSearch">
<el-select v-model="queryParams.types" :placeholder="$t('请选择')" clearable multiple @change="handleQuery" class="w-200">
<el-option :label="$t('普通订单')" :value="0"></el-option>
<el-option :label="$t('集运服务')" :value="1"></el-option>
<el-option :label="$t('海外仓')" :value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('商品类型')" prop="goodsTypes" v-show="showSearch">
<selector v-model="queryParams.goodsTypes" multiple :options="attrList" label-field="attrName" value-field="id" class="w-200"> </selector>
</el-form-item>
<el-form-item :label="$t('提货状态')" v-show="showSearch">
<dict-selector :type="DICT_TYPE.PICK_STATE" multiple v-model="queryParams.pickStateList" clearable @change="handleQuery" class="w-200" />
</el-form-item>
<el-form-item :label="$t('放货率')" v-show="showSearch">
<el-input type="number" v-model.trim="releaseRatio.value" :placeholder="$t('请输入数字')" clearable @keyup.enter.native="handleQuery" class="w-200">
<template slot="prepend">
<dict-selector :type="DICT_TYPE.RELEASE_RATIO_FIELD" defaultable v-model="releaseRatio.key" />
</template>
</el-input>
</el-form-item>
<el-form-item :label="$t('提货率')" v-show="showSearch">
<el-input type="number" v-model.trim="pickRatio.value" :placeholder="$t('请输入数字')" clearable @keyup.enter.native="handleQuery" class="w-200">
<template slot="prepend">
<dict-selector :type="DICT_TYPE.PICK_RATIO_FIELD" defaultable v-model="pickRatio.key" />
</template>
</el-input>
</el-form-item>
<el-form-item :label="$t('特需')" prop="packageTypeArr" v-show="showSearch">
<el-select v-model="queryParams.packageTypeArr" multiple :placeholder="$t('请选择')" clearable class="w-200">
<template v-for="item in getDictDatas(DICT_TYPE.ORDER_SPECIAL_NEEDS)">
<el-option :label="$l(item, 'label')" :value="item.value"></el-option>
</template>
</el-select>
</el-form-item>
<el-form-item :label="$t('订单限制修改收货人')" prop="isLimitUpdateConsignee">
<el-select v-model="queryParams.isLimitUpdateConsignee" :placeholder="$t('请选择')" clearable @change="handleQuery" class="w-200">
<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="specialPriceType">
<el-select v-model="queryParams.specialPriceType" :placeholder="$t('请选择')" clearable @change="handleQuery" class="w-200">
<el-option :label="$t('是')" :value="1"></el-option>
<el-option :label="$t('否')" :value="0"></el-option>
</el-select>
</el-form-item>
<div class="flex pb-20">
<dict-selector :type="DICT_TYPE.ECW_BEGINTIME_TYPE_ENDTIME" v-model="dateFilterType" defaultable class="w-200 mr-5" />
<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-button type="primary" icon="el-icon-search" @click="handleQuery" :loading="loading" class="ml-10">{{ $t("搜索") }}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{ $t("重置") }}</el-button>
</div>
</el-form>
<div class="flex-c-c">
<div class="fills"></div>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
<div style="margin-left: 30px">
<el-button type="primary" @click="listOpen" v-if="!isExpand">{{ $t("展开明细") }}</el-button>
<el-button type="default" @click="listOpen" v-else>{{ $t("收起明细") }}</el-button>
</div>
</div>
<el-table v-if="sectionObj" ref="orderTable" border :data="sectionObj.sectionOrderList || []" @selection-change="handleSelectionChange" class="mt-10">
<el-table-column type="selection" width="50"></el-table-column>>
<el-table v-loading="loading" ref="orderTable" border :data="list || []" @selection-change="handleSelectionChange" class="mt-10">
<el-table-column type="selection" width="50"></el-table-column>
<el-table-column align="center" :label="$t('序号')" width="50" prop="tidanNum" />
<el-table-column prop="orderNo" :label="$t('订单号')" align="center">
<template v-slot="scope">
<a href="javascript:void(0)" @click="jumpOrderDetail(scope.row)">{{ scope.row.orderNo }}</a>
<el-table-column prop="orderNo" :label="$t('订单号')" align="center" width="150">
<template slot-scope="{ row }">
<router-link :to="'/order/detail?orderId=' + row.orderId"> {{ row.orderNo }}</router-link>
</template>
</el-table-column>
<el-table-column prop="goodsList" :label="$t('货物信息')" width="230px" align="center">
<template v-slot="{row}">
<section>
<div v-for="(item, index) in row.goodsList" :key="index">
<div>{{index+1}}{{$l(item, 'prodTitle')}}</div>
</div>
</section>
<el-table-column :label="$t('发货人')" width="100" align="center">
<template slot-scope="{ row }">
<router-link :to="'/customer/query/' + row.consignorCustomerId"> {{ row.consignorCustomerNumber }}</router-link>
</template>
</el-table-column>
<el-table-column prop="num" :label="$t('计划箱数')" align="center"></el-table-column>
<el-table-column prop="installNum" :label="$t('实装箱数')" align="center"></el-table-column>
<el-table-column prop="unloadNum" :label="$t('卸柜箱数')" align="center"></el-table-column>
<el-table-column prop="destWarehouseName" :label="$t('提货点')" align="center"></el-table-column>
<el-table-column prop="volume" :label="$t('体积')" align="center"></el-table-column>
<el-table-column prop="weight" :label="$t('重量')" align="center"></el-table-column>
<el-table-column prop="totalWorth" :label="$t('货值')" align="center"></el-table-column>
<el-table-column prop="customsType" :label="$t('报关方式')" align="center">
<template slot-scope="scope">
<div :class="scope.row.customsType !== 1 ? 'customsType-red' : ''">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="scope.row.customsType" />
</div>
<el-table-column :label="$t('收货人')" width="100" align="center">
<template slot-scope="{ row }">
<router-link :to="'/customer/query/' + row.consigneeCustomerId">{{ row.consigneeCustomerNumber }}</router-link>
</template>
</el-table-column>
<el-table-column prop="customsFee" :label="$t('报关费用')" align="center"></el-table-column>
<el-table-column prop="" :label="$t('加价单价')" align="center" width="200px">
<template slot-scope="scope">
<div>
{{$t('运费')}}{{form.freightFee || 0}}{{ currencyMap[form.freightCurrencyId]}}/{{unitMap[form.freightUnitId]}}
</div>
<div>
{{$t('清关费')}}{{form.clearanceFee || 0}}{{ currencyMap[form.clearanceCurrencyId]}}/{{unitMap[form.clearanceUnitId]}}
</div>
<el-table-column :label="$t('始发仓/渠道-目的仓')" align="center">
<template v-slot="scope"> {{ scope.row.destAdjustToStartWarehouseName }}-{{ scope.row.destAdjustToDestWarehouseName }} </template>
</el-table-column>
<el-table-column :label="$t('额外费用')" align="center">
<template v-slot="scope"></template>
</el-table-column>
<el-table-column :label="$t('加价单价')" align="center">
<template v-slot="scope"></template>
</el-table-column>
<el-table-column prop="salesmanName" :label="$t('客户经理')" align="center"></el-table-column>
<el-table-column prop="firstInTime" :label="$t('首次入仓时间')" align="center" width="150"></el-table-column>
<el-table-column prop="lastInTime" :label="$t('最后入仓时间')" align="center" width="150"></el-table-column>
<el-table-column prop="createTime" :label="$t('创建时间')" align="center" width="150"></el-table-column>
<el-table-column :label="$t('特价')" align="center">
<template v-slot="scope">{{ scope.row.specialPriceType ? "" : "" }}</template>
</el-table-column>
<el-table-column type="expand" :label="$t('更多')">
<template v-slot="scope">
<batchMarkupComList :list="scope.row.orderItemBackVOList" :transportId="scope.row.transportId" :prodTypeList="prodTypeList" :attrList="attrList" :unitMap="unitMap" :currencyMap="currencyMap" />
</template>
</el-table-column>
</el-table>
</el-card>
<el-card class="mt-20">
<work-flow xmlkey="shipment_batch_add_price" v-model="form.copyUserId" :disabled="approval"></work-flow>
</el-card>
<div class="mt-20" v-if="shipmentObj">
<template v-if="approval">
<el-button type="primary" @click="$router.push('/bpm/process-instance/detail?id=' + shipmentObj.batchAddPriceApprovalInfo.bpmProcessId)">{{$t('加价申请审核中')}}</el-button>
<el-button type="default" @click="cancelAproval">{{$t('取消审核')}}</el-button>
<el-button type="primary" @click="$router.push('/bpm/process-instance/detail?id=' + shipmentObj.batchAddPriceApprovalInfo.bpmProcessId)">{{ $t("加价申请审核中") }}</el-button>
<el-button type="default" @click="cancelAproval">{{ $t("取消审核") }}</el-button>
</template>
<template v-else>
<el-button type="primary" @click="submit">{{$t('提交审核')}}</el-button>
<el-button type="primary" @click="submit">{{ $t("提交审核") }}</el-button>
</template>
<el-button type="default" @click="$store.dispatch('tagsView/delCurrentView')">{{$t('返回')}}</el-button>
<el-button type="default" @click="$store.dispatch('tagsView/delCurrentView')">{{ $t("返回") }}</el-button>
</div>
</div>
</template>
<script>
import {getCurrencyList} from "@/api/ecw/currency";
import {getUnitList} from "@/api/ecw/unit";
import selector from '@/components/Selector'
import {getChannelList} from "@/api/ecw/channel";
import {getCabinetPage} from "@/api/ecw/cabinet";
import {getWarehouseList} from "@/api/ecw/warehouse";
import {getSupplierPage} from "@/api/ecw/supplier";
import {approvalCancel, boxGoodsDetail, createApproval,
getSectionList, loadSecGoodsList} from "@/api/ecw/boxSea";
import {getAbnormalList, getbox, getLogList} from "@/api/ecw/box";
import {getTotlContent} from "@/views/ecw/box/shippingSea/utils";
import WorkFlow from "@/components/WorkFlow";
import Template from "@/views/cms/template/index.vue";
import { getCurrencyList } from "@/api/ecw/currency"
import { getUnitList } from "@/api/ecw/unit"
import selector from "@/components/Selector"
import { getChannelList } from "@/api/ecw/channel"
import { getCabinetPage } from "@/api/ecw/cabinet"
import { getWarehouseList } from "@/api/ecw/warehouse"
import { getSupplierPage } from "@/api/ecw/supplier"
import { approvalCancel, boxGoodsDetail, createApproval, getBatchOrderList, loadSecGoodsList } from "@/api/ecw/boxSea"
import { getAbnormalList, getbox, getLogList } from "@/api/ecw/box"
import { getTotlContent } from "@/views/ecw/box/shippingSea/utils"
import WorkFlow from "@/components/WorkFlow"
import Template from "@/views/cms/template/index.vue"
import batchMarkupComList from "./batchMarkupComList"
import { getRegionList } from "@/api/ecw/order"
import { getProductAttrList } from "@/api/ecw/productAttr"
import { getProductTypeList } from "@/api/ecw/productType"
import UserSelector from "@/components/UserSelector"
export default {
name: "batchMarkup",
components: {Template, selector, WorkFlow},
data(){
components: { Template, selector, WorkFlow, batchMarkupComList, UserSelector },
data() {
return {
unitList:[],
currencyList:[],
form:{
copyUserId:[],
unitList: [],
currencyList: [],
form: {
copyUserId: [],
freightUnitId: 6,
clearanceUnitId: 6
},
......@@ -183,46 +300,84 @@ export default {
multipleSelection: [],
// 选择的id
ids: [],
channelList:[],
cabinetList:[],
sectionList:[],
// warehouseList:[],
attrList: [],
channelList: [],
cabinetList: [],
sectionList: [],
warehouseList: [],
// allSupplier:[]
shipmentObj: null,
shipmentId: null,
// 当前选择的部分
sectionId: 0,
sectionObj: null
list: [],
isExpand: false,
dateFilterType: "", //日期筛选类别
dateFilter: [], //筛选日期
showSearch: false,
queryParams: {
specialPriceType: null,
packageTypeArr: [],
channelId: null,
channelIds: null,
customsTypes: null,
productRecords: null,
goodsTypes: null
},
// 编号搜索条件
noParam: {
key: "numberKey",
value: ""
},
// 商品搜索条件
prodParam: {
key: "prodKey",
value: ""
},
// 放货率
releaseRatio: {
key: "geReleaseRatio",
value: ""
},
AddressProvince: [],
AddressCity: [],
AddressTown: [],
destCountryId: null,
objectiveId: null,
destWarehouseId: null,
pickRatio: {
key: "gePickRatio",
value: ""
},
loading: false
}
},
computed:{
currencyMap(){
computed: {
currencyMap() {
let map = {}
this.currencyList.forEach(item => {
map[item.id] = this.$l(item, 'title')
this.currencyList.forEach((item) => {
map[item.id] = this.$l(item, "title")
})
return map
},
unitMap(){
unitMap() {
let map = {}
this.unitList.forEach(item => {
map[item.id] = this.$l(item, 'title')
this.unitList.forEach((item) => {
map[item.id] = this.$l(item, "title")
})
return map
},
/* 渠道 */
getShipChannelName() {
return (shippingChannelId) => {
let item = this.channelList.find(item => item.channelId == shippingChannelId)
if(!item) return ''
return this.$l(item, "name");
};
let item = this.channelList.find((item) => item.channelId == shippingChannelId)
if (!item) return ""
return this.$l(item, "name")
}
},
/* 获取柜型 */
getCabinetLabel() {
return (cabinetId) => {
return this.cabinetList.find(item => item.id == cabinetId)?.name
};
return this.cabinetList.find((item) => item.id == cabinetId)?.name
}
},
/* 总计 */
getBoxSum() {
......@@ -231,152 +386,276 @@ export default {
return this.$t("{num}箱 {volume}m³ {weight}kg", {
num: boxStatistics.num ?? 0,
volume: boxStatistics.volume ?? 0,
weight: boxStatistics.weight ?? 0,
});
weight: boxStatistics.weight ?? 0
})
}
return 0
}
return 0;
};
},
/* 获取仓库 */
getCityName() {
return (id) => {
if(!this.warehouseList || !this.warehouseList.length) return ''
let warehouse = this.warehouseList.find((item) => item.id == id);
return warehouse ? this.$l(warehouse, "title") : this.$t("");
};
},
// 部分信息
getSectionInfo() {
const { totalStatistics, secStatistics } = this.sectionObj;
if (!this.sectionId) {
return getTotlContent(totalStatistics);
} else {
return getTotlContent(secStatistics);
if (!this.warehouseList || !this.warehouseList.length) return ""
let warehouse = this.warehouseList.find((item) => item.id == id)
return warehouse ? this.$l(warehouse, "title") : this.$t("")
}
},
getDocStatus() {
return (list = []) => {
// 获取类型
let customsTypes = list.map((item) => item.customsType);
let customsTypes = list.map((item) => item.customsType)
// 去重
return Array.from(new Set(customsTypes));
};
return Array.from(new Set(customsTypes))
}
},
// 是否审核中
approval(){
approval() {
return this.shipmentObj?.batchAddPriceApprovalInfo?.approvalStatus === 1
},
exportWarehouseList() {
return this.warehouseList.filter((item) => item.tradeType == 2 || item.tradeType == 3)
},
combinedQueryParams() {
let timeParams = {}
if (this.dateFilterType && this.dateFilter) {
timeParams["begin" + this.dateFilterType] = this.dateFilter[0]
timeParams["end" + this.dateFilterType] = this.dateFilter[1]
}
let queryParams = { ...this.queryParams }
if (this.noParam.value) {
queryParams[this.noParam.key] = this.noParam.value
}
//目的国
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
}
// 提货率
if (this.pickRatio.value) {
queryParams[this.pickRatio.key] = this.pickRatio.value
}
// 放货率
if (this.releaseRatio.value) {
queryParams[this.releaseRatio.key] = this.releaseRatio.value
}
if (this.prodParam.value) {
queryParams[this.prodParam.key] = this.prodParam.value
}
if (queryParams.statusList?.length) {
queryParams.statusString = queryParams.statusList.join(",")
delete queryParams.statusList
}
return Object.assign({}, timeParams, queryParams)
}
},
async created() {
getUnitList().then(res => this.unitList = res.data)
getCurrencyList().then(res => this.currencyList = res.data)
getUnitList().then((res) => (this.unitList = res.data))
getCurrencyList().then((res) => (this.currencyList = res.data))
getProductAttrList().then((response) => {
this.attrList = response.data
})
getProductTypeList().then((response) => {
this.prodTypeList = response.data
})
this.shipmentId = this.$route.query.shipmentId
if(!this.shipmentId){
return this.$message.error('请求参数错误')
if (!this.shipmentId) {
return this.$message.error("请求参数错误")
}
await this.getBoxDetail()
await this.initData()
await this.getSectionList()
},
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()
// 如果是审核中,则默认选中订单
this.$nextTick(() =>{
if(this.approval){
this.sectionObj.sectionOrderList.forEach(order => {
if(this.form.orderIds.indexOf(order.orderId) > -1){
this.$refs.orderTable.toggleRowSelection(order)
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()
}
}
}
},
methods: {
listOpen() {
this.isExpand = !this.isExpand
this.$nextTick(() => {
let $table = this.$refs.orderTable
this.list.map((item) => {
$table.toggleRowExpansion(item, this.isExpand)
})
})
},
methods:{
// 检查正数
checkPositive(object, field){
checkPositive(object, field) {
// object[field] = parseFloat(object[field])
// object[field] = isNaN(object[field]) ? '' : object[field].toString()
},
// 表格多选
handleSelectionChange(selection) {
this.multipleSelection = selection
this.ids = selection.map(item => item.orderId)
this.ids = selection.map((item) => item.orderId)
},
// 初始化字典数据
async initData() {
// 查询渠道
getChannelList().then((res) => (this.channelList = res.data));
getChannelList().then((res) => (this.channelList = res.data))
// 查询柜型
getCabinetPage(null).then(
(response) => (this.cabinetList = response.data.list)
);
getCabinetPage(null).then((response) => (this.cabinetList = response.data.list))
// 仓库
getWarehouseList().then((r) => {
this.warehouseList = r.data;
});
/*// 供应商
getSupplierPage({ pageNo: "1", pageSize: "10000" }).then((res) => {
const { data } = res;
this.allSupplier = data.list;
});*/
/*loadSecGoodsList({shipmentId: this.shipmentId}).then(res => {
this.sectionList = res.data
this.warehouseList = r.data
})
this.getAddressProvince()
this.getAddressCity()
this.getAddressTown()
this.getList()
},
getAddressProvince() {
/*getListTree({ treeType: 1 }).then((response) => {
this.countryList = response.data;
})*/
await this.getBoxGoodsDetail()
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
})
}
},
// 自动去除空格
replaceSpace(obj, field) {
obj[field] = obj[field].replace(/\s+/g, "")
},
// 出货信息
getBoxDetail() {
getbox(this.shipmentId).then((res) => {
const { data } = res;
this.shipmentObj = data ?? {};
const { data } = res
this.shipmentObj = data ?? {}
// 如果是审核中则表单给默认值
if(this.shipmentObj.batchAddPriceApprovalInfo && this.approval){
if (this.shipmentObj.batchAddPriceApprovalInfo && this.approval) {
let details = JSON.parse(this.shipmentObj.batchAddPriceApprovalInfo.details)
this.$set(this, 'form', details)
this.$set(this, "form", details)
}
});
})
},
// 查询详情页所有数据
getSectionList() {
let param = { shipmentId: this.shipmentId };
// 部分
return getSectionList(param).then((res) => {
this.sectionList = res.data.map((item, index) => {
return {
...item,
title: this.$t("第{index}部分", { index: index + 1 }),
};
});
});
},
/* 跳转订单详情 */
jumpOrderDetail(row) {
this.$router.push({
path: "/order/detail",
query: { orderId: row.orderId },
});
},
// 部分切换
sectionChange() {
this.getBoxGoodsDetail();
},
// 获取部分详情以及物品
getBoxGoodsDetail() {
return boxGoodsDetail({
getList() {
this.loading = true
// 执行查询
const query = { ...this.combinedQueryParams }
if (query.packageTypeArr && query.packageTypeArr.length) {
query.packageType = query.packageTypeArr.join(",")
}
getBatchOrderList({
shipmentId: this.shipmentId,
secId: this.sectionId,
...query
}).then((res) => {
this.sectionObj = res.data;
});
this.list = res.data
this.loading = false
})
},
/** 搜索按钮操作 */
handleQuery() {
this.$nextTick(this.getList)
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm")
this.queryParams = {
page: 1,
rows: 10,
packageTypeArr: [],
channelId: null,
channelIds: null,
customsTypes: null,
productRecords: null,
goodsTypes: null
}
this.destCountryId = null
this.destWarehouseId = null
this.objectiveId = null
this.pickRatio.value = ""
this.noParam.value = ""
this.prodParam.value = ""
this.dateFilter = []
this.handleQuery()
},
// 提交审核
submit(){
if(!this.form.freightFee && !this.form.clearanceFee){
return this.$message.error(this.$t('运费和清关费不能同时为空'))
submit() {
if (!this.form.freightFee && !this.form.clearanceFee) {
return this.$message.error(this.$t("运费和清关费不能同时为空"))
}
if(!this.ids.length){
return this.$message.error(this.$t('最少选择一个订单'))
if (!this.ids.length) {
return this.$message.error(this.$t("最少选择一个订单"))
}
let form = {...this.form, orderIds: this.ids}
let form = { ...this.form, orderIds: this.ids }
let data = {
approvalType: 18, // 批量加价
copyUserId: this.form.copyUserId,
......@@ -384,24 +663,26 @@ export default {
shipmentId: this.shipmentId
}
createApproval(data).then(() => {
this.$message.success(this.$t('提交成功'))
this.$store.dispatch('tagsView/delCurrentView')
this.$message.success(this.$t("提交成功"))
this.$store.dispatch("tagsView/delCurrentView")
})
},
// 取消审核
cancelAproval(){
this.$prompt(this.$t('请输入取消原因'), this.$t('取消审核'), {
cancelAproval() {
this.$prompt(this.$t("请输入取消原因"), this.$t("取消审核"), {
inputPattern: /\S/,
inputErrorMessage: this.$t('请输入取消原因')
}).then(({value}) => {
console.log('cancelApproval', value)
inputErrorMessage: this.$t("请输入取消原因")
})
.then(({ value }) => {
console.log("cancelApproval", value)
return approvalCancel({
applyReason: value,
id: this.shipmentObj.batchAddPriceApprovalInfo.id,
shipmentId: this.shipmentId
})
}).then(res => {
this.$message.success('已取消审核')
})
.then((res) => {
this.$message.success("已取消审核")
this.getBoxDetail()
})
}
......@@ -410,7 +691,7 @@ export default {
</script>
<style scoped>
.document-status .document ~ .document:before{
content: ',';
.document-status .document ~ .document:before {
content: ",";
}
</style>
<template>
<div style="padding: 20px 20px 20px 100px; background: #f4f4f4; margin: -10px 0">
<el-table :data="list" border style="width: 100%" size="mini">
<el-table-column :label="$t('序号')" width="90px" type="index" align="center"></el-table-column>
<el-table-column prop="prodTitleZh" :label="$t('品名')" width="220px">
<template slot-scope="{ row }">
<div>{{ getProdTypeName(row.prodType) }}</div>
<div>{{ row.prodTitleZh }}/{{ row.prodTitleEn }}</div>
</template>
</el-table-column>
<!--<el-table-column prop="prodTitleEn" :label="$t('品名')" />-->
<el-table-column prop="brand" :label="$t('品牌')" width="90px">
<template slot-scope="{ row }">
<template v-if="row.brandName">{{ row.brandName }}</template>
<dict-tag v-else :type="DICT_TYPE.ECW_IS_BRAND" :value="row.brandType" />
</template>
</el-table-column>
<el-table-column prop="brand" :label="$t('特性')" width="90px">
<template slot-scope="{ row }">
{{ showAttrText(row.warehouseInInfoVO ? row.warehouseInProdAttrIds : row.prodAttrIds) }}
</template>
</el-table-column>
<el-table-column prop="sumNum" :label="$t('入仓信息')" width="220px">
<template slot-scope="{ row }">
<!--<el-link type="primary" @click.native="showWarehouseLogs(row,1)">{{row.warehouseInInfoVO ? row.warehouseInInfoVO.cartonsNum : 0}}</el-link>
<div v-if="row.warehouseInInfoVO && row.warehouseInInfoVO.isMultiSpecification">({{$t('多规格')}})</div>-->
<el-link type="primary" @click.native="$emit('showWarehouseLogs', row, 1)" v-if="row.warehouseInInfoVO"> {{ row.warehouseInInfoVO.cartonsNum }}{{ $t("") }} {{ row.warehouseInInfoVO.weight }}Kg {{ row.warehouseInInfoVO.volume }}{{ row.warehouseInInfoVO.quantityAll }}{{ $t("") }} </el-link>
<div v-if="row.warehouseInInfoVO && row.warehouseInInfoVO.isMultiSpecification">({{ $t("多规格") }})</div>
</template>
</el-table-column>
<el-table-column prop="warehouseType" :label="$t('类型')" width="120px" />
<el-table-column prop="specificationType" :label="$t('包装')" width="120px" />
<el-table-column prop="sumNum" :label="$t('收费数据')" width="220px">
<template slot-scope="{ row }">
<div v-if="row.warehouseInInfoVO">{{ row.chargeWeight }}Kg {{ row.chargeVolume }}</div>
</template>
</el-table-column>
<el-table-column prop="" :label="`${$t('费用类型')}/${$t('模式')}`" width="200px">
<template slot-scope="{ row }">
<dict-tag :type="DICT_TYPE.ECW_PAY_ADVANCE" :value="row.isPayAdvance" />
<div v-if="row.charging == 0">{{ $t("运费/清关费") }}</div>
<div v-if="row.charging == 1">{{ $t("全包价") }}</div>
</template>
</el-table-column>
<el-table-column prop="" :label="$t('成交单价')" width="220px">
<template slot-scope="{ row }">
<template v-if="row.charging == 1">
<template v-if="!row.originalSeaFreight">{{ $t("未报价") }}</template>
<el-link type="primary" @click="showFeeDetail(row, 'clearance')" v-else>{{ $t("全包价") }} {{ row.oneSeaFreight }} {{ currencyMap[row.seaFreightCurrency] }} / {{ unitMap[row.seaFreightVolume] }}</el-link>
</template>
<template v-else-if="!row.originalSeaFreight && !row.originalClearanceFreight">{{ $t("未报价") }}</template>
<template v-else>
<el-link type="primary" @click="showFeeDetail(row, 'freight')"> {{ $t("运费") }}{{ row.oneSeaFreight }} {{ currencyMap[row.seaFreightCurrency] }} / {{ unitMap[row.seaFreightVolume] }} </el-link>
<el-link type="primary" @click="showFeeDetail(row, 'clearance')"> {{ $t("清关费") }}{{ row.oneClearanceFreight }} {{ currencyMap[row.clearanceFreightCurrency] }} / {{ unitMap[row.clearanceFreightVolume] }} </el-link>
</template>
</template>
</el-table-column>
<el-table-column :label="$t('特价')" align="center">
<template v-slot="scope">{{ scope.row.specialPriceType ? "" : "" }}</template>
</el-table-column>
<el-table-column prop="firstInTime" :label="$t('首次入仓时间')" align="center" width="150"></el-table-column>
<el-table-column prop="lastInTime" :label="$t('最后入仓时间')" align="center" width="150"></el-table-column>
<el-table-column prop="" :label="$t('材质')">
<template slot-scope="{ row }">
<dict-tag :type="DICT_TYPE.ECW_PRODUCT_MATERIAL" :value="row.material" />
</template>
</el-table-column>
<el-table-column prop="" :label="$t('用途')">
<template slot-scope="{ row }">
<div v-if="row.usageIds">
<div v-for="(item, index) in row.usageIds.split(',')">
<dict-tag :type="DICT_TYPE.OREER_ITEM_USAGE" :value="item" />
<span v-if="index + 1 != row.usageIds.split(',').length">,</span>
</div>
</div>
</template>
</el-table-column>
<el-table-column :label="$t('原价')" width="180px">
<template slot-scope="{ row }">
<template v-if="row.charging == 1">
<template v-if="!row.oneSeaFreight">{{ $t("未报价") }}</template>
<template>{{ $t("全包价") }} {{ row.oneSeaFreight }} {{ currencyMap[row.seaFreightCurrency] }} / {{ unitMap[row.seaFreightVolume] }}</template>
</template>
<template v-else-if="!row.oneSeaFreight && !row.oneClearanceFreight">{{ $t("未报价") }}</template>
<template v-else-if="row.specialPriceType">
<div style="color: red; font-weight: 700">
{{ $t("原价") }}
</div>
<div>{{ $t("运费") }}{{ row.originalSeaFreight }} {{ currencyMap[row.seaFreightCurrency] }} / {{ unitMap[row.seaFreightVolume] }}</div>
<div>{{ $t("清关费") }}{{ row.originalClearanceFreight }} {{ currencyMap[row.clearanceFreightCurrency] }} / {{ unitMap[row.clearanceFreightVolume] }}</div>
<div style="color: red; font-weight: 700">
{{ $t("特价") }}
</div>
<div>{{ $t("运费") }}{{ row.oneSeaFreight }} {{ currencyMap[row.seaFreightCurrency] }} / {{ unitMap[row.seaFreightVolume] }}</div>
<div>{{ $t("清关费") }}{{ row.oneClearanceFreight }} {{ currencyMap[row.clearanceFreightCurrency] }} / {{ unitMap[row.clearanceFreightVolume] }}</div>
</template>
<template v-else>
<div>{{ $t("运费") }}{{ row.oneSeaFreight }} {{ currencyMap[row.seaFreightCurrency] }} / {{ unitMap[row.seaFreightVolume] }}</div>
<div v-if="row.oneClearanceFreight">{{ $t("清关费") }}{{ row.oneClearanceFreight }} {{ currencyMap[row.clearanceFreightCurrency] }} / {{ unitMap[row.clearanceFreightVolume] }}</div>
<div v-else>{{ $t("清关费未报价") }}</div>
</template>
</template>
</el-table-column>
</el-table>
<el-dialog :title="$t('费用详情')" :visible="!!showFeeDetailDialog" :before-close="closeFeeDetail">
<el-row v-if="feeDetail">
<el-col :span="12">
<div>{{ feeDetail.charging ? $t("全包价") : $t("运费") }}</div>
<div v-for="item in feeDetail.freight">
{{ item.label }}: {{ item.value }}
<template v-if="item.currency">
{{ currencyMap[item.currency] }} / {{ unitMap[item.volume] }} <span v-if="item.remark">{{ item.remark }}</span>
</template>
</div>
</el-col>
<el-col :span="12" v-if="feeDetail.charging != 1">
<div>
{{ $t("清关费") }}
<template v-if="transportId == 3 || transportId == 4">
{{ $t("来自{source}", { source: feeDetail.airClearanceSource + feeDetail.sourceName }) }}
</template>
</div>
<div v-for="item in feeDetail.clearance">
{{ item.label }}: {{ item.value }}
<template v-if="item.currency">
{{ currencyMap[item.currency] }} / {{ unitMap[item.volume] }} <span v-if="item.remark">{{ item.remark }}</span>
</template>
</div>
</el-col>
</el-row>
<div v-if="feeDetail && feeDetail.coupons && feeDetail.coupons.length" class="page-title">{{ $t("优惠详情") }}</div>
<el-table v-if="feeDetail && feeDetail.coupons && feeDetail.coupons.length" :data="feeDetail.coupons">
<el-table-column label="优惠ID" prop="couponId"></el-table-column>
<el-table-column label="优惠名称">
<template slot-scope="{ row }">
{{ $l(row, "title") }}
</template>
</el-table-column>
<el-table-column label="类型">
<template slot-scope="{ row }">
<dict-tag :type="DICT_TYPE.ECW_COUPON_TYPE" :value="row.type"></dict-tag>
</template>
</el-table-column>
<el-table-column label="运费优惠">
<template slot-scope="{ row }">
{{ row.freightReduceAmount }}
{{ currencyMap[row.freightReduceCurrencyId] }}
</template>
</el-table-column>
<el-table-column label="清关费优惠">
<template slot-scope="{ row }">
{{ row.clearanceReduceAmount }}
{{ currencyMap[row.clearanceReduceCurrencyId] }}
</template>
</el-table-column>
</el-table>
</el-dialog>
</div>
</template>
<script>
import Decimal from "decimal.js"
import { parseTime } from "@/utils/ruoyi"
export default {
props: {
list: {
type: Array,
required: true
},
attrList: {
type: Array,
required: true
},
prodTypeList: {
type: Array,
required: true
},
currencyMap: {
type: Object,
required: true
},
unitMap: {
type: Object,
required: true
},
transportId: {
type: Number,
required: false
}
},
data() {
return {
feeDetail: null,
showFeeDetailDialog: false
}
},
computed: {
getProdTypeName() {
return (prodType) => {
for (let index in this.prodTypeList) {
let prodTypeItem = this.prodTypeList[index]
if (prodTypeItem.id == prodType) {
return this.$l(prodTypeItem, "title")
}
}
}
},
// 显示特性
showAttrText() {
return (ids) => {
if (!ids) return ""
ids = !Array.isArray(ids) ? ids.split(",") : ids
const attrMap = {}
this.attrList.forEach((item) => {
attrMap[item.id] = this.$l(item, "attrName")
})
return ids.map((id) => attrMap[id]).join(",")
}
}
},
created() {},
methods: {
closeFeeDetail() {
this.showFeeDetailDialog = null
},
showFeeDetail(row, type) {
console.log("showFeeDetail", row, type)
this.showFeeDetailDialog = true
const freight = [],
clearance = []
let freightFields = []
let clearanceFields = []
const brandType = row.warehouseInInfoVO ? row.feeType : row.brandType
// 不是特价则显示其他字段
freightFields = [
// {field: 'oneSeaFreight', label: this.$t('成交单价')},
{ field: "originalSeaFreight", label: this.$t("默认单价(无牌无液无电)") },
// {field: 'brandFreightPrice', label: this.$t('品牌加价')},
{ field: "liquidFreightPrice", label: this.$t("液体加价") },
{ field: "electrifiedFreightPrice", label: this.$t("带电加价") },
{ field: "discountFreightPrice", label: this.$t("优惠活动减免") },
{ field: "plainCommission", label: this.$t("明佣") },
{ field: "hiddenCommission", label: this.$t("暗佣") }
]
// 批量加价
if (row.markupSeaFreight) {
freightFields.push({ field: "markupSeaFreight", label: this.$t("批量加价") })
}
// 品牌加价
if (row["brandFreightPrice"] && row["brandFreightPrice"] > 0) {
freightFields.push({ field: "brandFreightPrice", label: brandType == 1 ? this.$t("有品牌加价") : this.$t("中性品牌加价") })
}
// 有减免金额才显示优惠后单价
if (row["discountFreightPrice"] && row["discountFreightPrice"] > 0) {
freightFields.push({ field: "afterDiscountSeaFreight", label: this.$t("优惠后单价") })
}
// 包装加价
if (row["packagingFreightPrice"] && row["packagingFreightPrice"] > 0) {
freightFields.push({ field: "packagingFreightPrice", label: this.$t("包装加价") })
}
freightFields.push({ field: "oneSeaFreight", label: this.$t("成交单价") })
console.log({ freightFields })
freightFields.forEach((item) => {
if (row[item.field]) {
freight.push({
label: item.label,
value: row[item.field],
currency: row.seaFreightCurrency,
volume: row.seaFreightVolume,
// 特价通过四个字段标识,任一为true则为特价
remark: item.field == "oneSeaFreight" && (row.specialPriceType || row.splitCustomPriceType || row.channelManualPricing) ? this.$t("特价") : null
})
}
})
clearanceFields = [
{ field: "originalClearanceFreight", label: this.$t("默认单价(无牌无液无电)") },
// {field: 'brandClearanceFeePrice', label: this.$t('品牌加价')},
{ field: "liquidClearanceFeePrice", label: this.$t("液体加价") },
{ field: "electrifiedClearanceFeePrice", label: this.$t("带电加价") },
{ field: "discountClearanceFeePrice", label: this.$t("优惠活动减免") }
]
// 批量加价
if (row.markupClearanceFreight) {
clearanceFields.push({ field: "markupClearanceFreight", label: this.$t("批量加价") })
}
// 品牌加价
if (row["brandClearanceFeePrice"] && row["brandClearanceFeePrice"] > 0) {
clearanceFields.push({ field: "brandClearanceFeePrice", label: brandType == 1 ? this.$t("有品牌加价") : this.$t("中性品牌加价") })
}
if (row["discountClearanceFeePrice"] && row["discountClearanceFeePrice"] > 0) {
clearanceFields.push({ field: "afterDiscountClearanceFreight", label: this.$t("优惠后单价") })
}
// 包装加价
if (row["packagingClearanceFeePrice"] && row["packagingClearanceFeePrice"] > 0) {
clearanceFields.push({ field: "packagingClearanceFeePrice", label: this.$t("包装加价") })
}
clearanceFields.push({ field: "oneClearanceFreight", label: this.$t("成交单价") })
clearanceFields.forEach((item) => {
if (row[item.field]) {
clearance.push({
label: item.label,
value: row[item.field],
currency: row.clearanceFreightCurrency,
volume: row.clearanceFreightVolume,
remark: (row.specialPriceType || row.splitCustomPriceType || row.channelManualPricing) && item.field == "oneClearanceFreight" ? this.$t("特价") : null
})
}
})
freight.push({
label: this.$t("价格更新时间"),
value: parseTime(row.lastFreightChargePriceTime)
})
clearance.push({
label: this.$t("价格更新时间"),
value: parseTime(row.lastClearanceChargePriceTime)
})
this.feeDetail = {
freight,
clearance,
charging: row.charging,
coupons: row.couponInfoVOList,
airClearanceSource: [, this.$t("商品"), this.$t("渠道"), this.$t("商品线路价格"), this.$t("线路渠道")][row.airClearanceSource], // 1 商品 2 渠道 3 商品线路价格 4 线路渠道
airClearanceInfo: JSON.parse(row.airClearanceInfo), //空运清关费来源数据详情,
sourceName: row.airClearanceSource == 1 ? this.$l(row, "prodTitle") : this.order?.channelName
}
},
// 获取储位名称
getLocationName(locationArr) {
if (!locationArr || !locationArr.length) return ""
let arr = []
locationArr.forEach((item) => {
arr.push(`${item.areaName}${item.locationName || ""}`)
})
return Array.from(new Set(arr)).join(",")
}
}
}
</script>
......@@ -278,14 +278,14 @@
</el-table-column>
<el-table-column :label="$t('客户经理')" prop="salesmanName" width="150" align="center"></el-table-column>
<el-table-column :label="$t('发货人')" width="300" align="center">
<template slot-scope="{ row }"
><router-link :to="'/customer/query/' + row.consignorCustomerId"> {{ row.consignorCustomerNumber }}-{{ isChinese ? row.consignorName : row.consignorNameEn }}-{{ row.consignorPhone }} </router-link></template
>
<template slot-scope="{ row }">
<router-link :to="'/customer/query/' + row.consignorCustomerId"> {{ row.consignorCustomerNumber }}-{{ isChinese ? row.consignorName : row.consignorNameEn }}-{{ row.consignorPhone }} </router-link>
</template>
</el-table-column>
<el-table-column :label="$t('收货人')" width="300" align="center">
<template slot-scope="{ row }">
<router-link :to="'/customer/query/' + row.consigneeCustomerId">{{ row.consigneeCustomerNumber }}-{{ isChinese ? row.consigneeName : row.consigneeNameEn }}-{{ row.consigneePhone }} </router-link></template
>
<router-link :to="'/customer/query/' + row.consigneeCustomerId">{{ row.consigneeCustomerNumber }}-{{ isChinese ? row.consigneeName : row.consigneeNameEn }}-{{ row.consigneePhone }} </router-link>
</template>
</el-table-column>
<el-table-column :label="$t('订单入仓时间')" width="150" align="center">
<template slot-scope="{ row }">
......
......@@ -5,18 +5,18 @@
<el-form-item :label="$t('编号')" prop="orderNo">
<el-input class="w-200" v-model.trim="noParam.value" :placeholder="$t('请输入订单号、唛头、提单号')" clearable @keyup.enter.native="handleQuery" @input="replaceSpace(noParam, 'value')">
<template slot="prepend">
<dict-selector :type="DICT_TYPE.ORDER_QUERY_NO_FIELD" defaultable v-model="noParam.key"/>
<dict-selector :type="DICT_TYPE.ORDER_QUERY_NO_FIELD" defaultable v-model="noParam.key" />
</template>
</el-input>
</el-form-item>
<el-form-item :label="$t('发货人')" prop="consignorKey">
<el-input v-model.trim="queryParams.consignorKey" :placeholder="$t('发货人')" clearable @keyup.enter.native="handleQuery" class="w-200"/>
<el-input v-model.trim="queryParams.consignorKey" :placeholder="$t('发货人')" clearable @keyup.enter.native="handleQuery" class="w-200" />
</el-form-item>
<el-form-item :label="$t('收货人')" prop="consigneeKey">
<el-input v-model.trim="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" class="w-200"/>
<el-input v-model.trim="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" class="w-200" />
</el-form-item>
<el-form-item :label="$t('控货状态')" prop="isCargoControl">
<dict-selector v-model="queryParams.cargoControlStatusList" multiple :type="DICT_TYPE.CONTROL_GOODS_STATUS" clearable @change="handleQuery" class="w-200"/>
<dict-selector v-model="queryParams.cargoControlStatusList" multiple :type="DICT_TYPE.CONTROL_GOODS_STATUS" clearable @change="handleQuery" class="w-200" />
</el-form-item>
<div>
<el-form-item :label="$t('始发仓')" prop="startWarehouseIds">
......@@ -41,10 +41,10 @@
</el-form-item>
</div>
<el-form-item :label="$t('客户经理')">
<user-selector manage v-model="queryParams.salesmanIds" multiple clearable @change="handleQuery" :prepend="{ id: 0, nickname: $t('未分配客户经理') }" class="w-200"/>
<user-selector manage v-model="queryParams.salesmanIds" multiple clearable @change="handleQuery" :prepend="{ id: 0, nickname: $t('未分配客户经理') }" class="w-200" />
</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" class="w-200"/>
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model.number="queryParams.transportId" clearable @change="handleQuery" class="w-200" />
</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 class="w-200"></selector>
......@@ -55,28 +55,27 @@
<el-form-item :label="$t('商品') + ':'" v-show="showSearch">
<el-input v-model.trim="prodParam.value" :placeholder="$t('请输入商品类型、品名或品牌')" clearable @keyup.enter.native="handleQuery" class="w-200">
<template slot="prepend">
<dict-selector :type="DICT_TYPE.ORDER_QUERY_PROD_FIELD" defaultable v-model="prodParam.key"/>
<dict-selector :type="DICT_TYPE.ORDER_QUERY_PROD_FIELD" defaultable v-model="prodParam.key" />
</template>
</el-input>
</el-form-item>
<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" class="w-200"/>
<dict-selector :type="DICT_TYPE.ORDER_STATUS" multiple v-model="queryParams.statusList" @keyup.enter.native="handleQuery" clearable @change="handleQuery" class="w-200" />
</el-form-item>
<!--<el-form-item :label="$t('提单号')" prop="tidanNo">
<el-input v-model.trim="queryParams.tidanNo" :placeholder="$t('提单号')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>-->
<el-form-item :label="$t('报关方式')" prop="customsTypes" v-show="showSearch">
<dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" multiple v-model="queryParams.customsTypes" clearable @change="handleQuery" class="w-200"/>
<dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" multiple v-model="queryParams.customsTypes" clearable @change="handleQuery" class="w-200" />
</el-form-item>
<!--<el-form-item :label="$t('唛头')" prop="marks">
<el-input v-model="queryParams.marks" :placeholder="$t('唛头')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>-->
<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" class="w-200"/>
<dict-selector :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" multiple v-model="queryParams.productRecords" clearable @change="handleQuery" class="w-200" />
</el-form-item>
<el-form-item :label="$t('外部仓')" prop="isExternalWarehouse" v-show="showSearch">
<el-select v-model="queryParams.isExternalWarehouse" :placeholder="$t('请选择')" clearable @change="handleQuery" class="w-200">
......@@ -98,19 +97,19 @@
</el-form-item>-->
<el-form-item :label="$t('提货状态')" v-show="showSearch">
<dict-selector :type="DICT_TYPE.PICK_STATE" multiple v-model="queryParams.pickStateList" clearable @change="handleQuery" class="w-200"/>
<dict-selector :type="DICT_TYPE.PICK_STATE" multiple v-model="queryParams.pickStateList" clearable @change="handleQuery" class="w-200" />
</el-form-item>
<el-form-item :label="$t('放货率')" v-show="showSearch">
<el-input type="number" v-model.trim="releaseRatio.value" :placeholder="$t('请输入数字')" clearable @keyup.enter.native="handleQuery" class="w-200">
<template slot="prepend">
<dict-selector :type="DICT_TYPE.RELEASE_RATIO_FIELD" defaultable v-model="releaseRatio.key"/>
<dict-selector :type="DICT_TYPE.RELEASE_RATIO_FIELD" defaultable v-model="releaseRatio.key" />
</template>
</el-input>
</el-form-item>
<el-form-item :label="$t('提货率')" v-show="showSearch">
<el-input type="number" v-model.trim="pickRatio.value" :placeholder="$t('请输入数字')" clearable @keyup.enter.native="handleQuery" class="w-200">
<template slot="prepend">
<dict-selector :type="DICT_TYPE.PICK_RATIO_FIELD" defaultable v-model="pickRatio.key"/>
<dict-selector :type="DICT_TYPE.PICK_RATIO_FIELD" defaultable v-model="pickRatio.key" />
</template>
</el-input>
</el-form-item>
......
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