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) { ...@@ -12,15 +12,15 @@ export function booking(data) {
return request({ return request({
url: "/ecw/box-book-sea/update", url: "/ecw/box-book-sea/update",
method: "put", method: "put",
data, data
}); })
} }
return request({ return request({
url: "/ecw/box-book-sea/create", url: "/ecw/box-book-sea/create",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -35,14 +35,14 @@ export function trailer(data) { ...@@ -35,14 +35,14 @@ export function trailer(data) {
return request({ return request({
url: "/ecw/box-trailer/update", url: "/ecw/box-trailer/update",
method: "put", method: "put",
data, data
}); })
} }
return request({ return request({
url: "/ecw/box-trailer/create", url: "/ecw/box-trailer/create",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -57,8 +57,8 @@ export function agentSet(data) { ...@@ -57,8 +57,8 @@ export function agentSet(data) {
url: "/shipment/box/agentSet", url: "/shipment/box/agentSet",
method: "post", method: "post",
headers: { "Content-Type": "application/x-www-form-urlencoded" }, headers: { "Content-Type": "application/x-www-form-urlencoded" },
data: jsonToFormData(data), data: jsonToFormData(data)
}); })
} }
/** /**
...@@ -73,14 +73,14 @@ export function cabinetCreate(data) { ...@@ -73,14 +73,14 @@ export function cabinetCreate(data) {
return request({ return request({
url: "/ecw/box-cabinet/update", url: "/ecw/box-cabinet/update",
method: "put", method: "put",
data, data
}); })
} }
return request({ return request({
url: "/ecw/box-cabinet/create", url: "/ecw/box-cabinet/create",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -95,14 +95,14 @@ export function customsCreate(data) { ...@@ -95,14 +95,14 @@ export function customsCreate(data) {
return request({ return request({
url: "/ecw/box-customs/update", url: "/ecw/box-customs/update",
method: "put", method: "put",
data, data
}); })
} }
return request({ return request({
url: "/ecw/box-customs/create", url: "/ecw/box-customs/create",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -117,8 +117,8 @@ export function shipConfigure(data) { ...@@ -117,8 +117,8 @@ export function shipConfigure(data) {
url: "/shipment/box/shipConfigure", url: "/shipment/box/shipConfigure",
method: "post", method: "post",
headers: { "Content-Type": "application/x-www-form-urlencoded" }, headers: { "Content-Type": "application/x-www-form-urlencoded" },
data: jsonToFormData(data), data: jsonToFormData(data)
}); })
} }
/** /**
...@@ -133,14 +133,14 @@ export function billCreate(data) { ...@@ -133,14 +133,14 @@ export function billCreate(data) {
return request({ return request({
url: "/ecw/box-lading-bill/update", url: "/ecw/box-lading-bill/update",
method: "put", method: "put",
data, data
}); })
} }
return request({ return request({
url: "/ecw/box-lading-bill/create", url: "/ecw/box-lading-bill/create",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -151,9 +151,9 @@ export function getBoxLadingBillPdf(params) { ...@@ -151,9 +151,9 @@ export function getBoxLadingBillPdf(params) {
return request({ return request({
url: "/ecw/box-lading-bill/getBoxLadingBillPdf", url: "/ecw/box-lading-bill/getBoxLadingBillPdf",
method: "get", method: "get",
responseType: 'arraybuffer', responseType: "arraybuffer",
params, params
}); })
} }
/** /**
...@@ -168,14 +168,14 @@ export function bargeCreate(data) { ...@@ -168,14 +168,14 @@ export function bargeCreate(data) {
return request({ return request({
url: "/ecw/box-barge/update", url: "/ecw/box-barge/update",
method: "put", method: "put",
data, data
}); })
} }
return request({ return request({
url: "/ecw/box-barge/create", url: "/ecw/box-barge/create",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -190,14 +190,14 @@ export function shippingCreate(data) { ...@@ -190,14 +190,14 @@ export function shippingCreate(data) {
return request({ return request({
url: "/ecw/box-shipping/update", url: "/ecw/box-shipping/update",
method: "put", method: "put",
data, data
}); })
} }
return request({ return request({
url: "/ecw/box-shipping/create", url: "/ecw/box-shipping/create",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -212,14 +212,14 @@ export function ladingCopyCreate(data) { ...@@ -212,14 +212,14 @@ export function ladingCopyCreate(data) {
return request({ return request({
url: "/ecw/box-lading-copy/update", url: "/ecw/box-lading-copy/update",
method: "put", method: "put",
data, data
}); })
} }
return request({ return request({
url: "/ecw/box-lading-copy/create", url: "/ecw/box-lading-copy/create",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -234,14 +234,14 @@ export function clearanceDocCreate(data) { ...@@ -234,14 +234,14 @@ export function clearanceDocCreate(data) {
return request({ return request({
url: "/ecw/box-clearance-doc/update", url: "/ecw/box-clearance-doc/update",
method: "put", method: "put",
data, data
}); })
} }
return request({ return request({
url: "/ecw/box-clearance-doc/create", url: "/ecw/box-clearance-doc/create",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -256,14 +256,14 @@ export function arrivalCreate(data) { ...@@ -256,14 +256,14 @@ export function arrivalCreate(data) {
return request({ return request({
url: "/ecw/box-arrival/update", url: "/ecw/box-arrival/update",
method: "put", method: "put",
data, data
}); })
} }
return request({ return request({
url: "/ecw/box-arrival/create", url: "/ecw/box-arrival/create",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -278,14 +278,14 @@ export function clearanceCreate(data) { ...@@ -278,14 +278,14 @@ export function clearanceCreate(data) {
return request({ return request({
url: "/ecw/box-clearance/update", url: "/ecw/box-clearance/update",
method: "put", method: "put",
data, data
}); })
} }
return request({ return request({
url: "/ecw/box-clearance/create", url: "/ecw/box-clearance/create",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -300,14 +300,14 @@ export function unloadCreate(data) { ...@@ -300,14 +300,14 @@ export function unloadCreate(data) {
return request({ return request({
url: "/ecw/box-cabinet-unload/update", url: "/ecw/box-cabinet-unload/update",
method: "put", method: "put",
data, data
}); })
} }
return request({ return request({
url: "/ecw/box-cabinet-unload/create", url: "/ecw/box-cabinet-unload/create",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -322,14 +322,14 @@ export function settlementCreate(data) { ...@@ -322,14 +322,14 @@ export function settlementCreate(data) {
return request({ return request({
url: "/ecw/box-settlement/update", url: "/ecw/box-settlement/update",
method: "put", method: "put",
data, data
}); })
} }
return request({ return request({
url: "/ecw/box-settlement/create", url: "/ecw/box-settlement/create",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -344,14 +344,14 @@ export function airShipmentCreate(data) { ...@@ -344,14 +344,14 @@ export function airShipmentCreate(data) {
return request({ return request({
url: "/ecw/box-air-shipment/update", url: "/ecw/box-air-shipment/update",
method: "put", method: "put",
data, data
}); })
} }
return request({ return request({
url: "/ecw/box-air-shipment/create", url: "/ecw/box-air-shipment/create",
method: "post", method: "post",
data, data
}); })
} }
/** /**
* 空运撤回 * 空运撤回
...@@ -361,11 +361,11 @@ export function airShipmentCreate(data) { ...@@ -361,11 +361,11 @@ export function airShipmentCreate(data) {
* @return {*} * @return {*}
*/ */
export function airShipmentRecall(data) { export function airShipmentRecall(data) {
return request({ return request({
url: "/ecw/box-air-shipment/recall", url: "/ecw/box-air-shipment/recall",
method: "put", method: "put",
data, data
}); })
} }
/** /**
...@@ -380,14 +380,14 @@ export function airCheckoutCreate(data) { ...@@ -380,14 +380,14 @@ export function airCheckoutCreate(data) {
return request({ return request({
url: "/ecw/box-air-checkout/update", url: "/ecw/box-air-checkout/update",
method: "put", method: "put",
data, data
}); })
} }
return request({ return request({
url: "/ecw/box-air-checkout/create", url: "/ecw/box-air-checkout/create",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -401,8 +401,8 @@ export function approvalCreate(data) { ...@@ -401,8 +401,8 @@ export function approvalCreate(data) {
return request({ return request({
url: "/ecw/box-approval/create", url: "/ecw/box-approval/create",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -416,8 +416,8 @@ export function approvalCancel(data) { ...@@ -416,8 +416,8 @@ export function approvalCancel(data) {
return request({ return request({
url: `/ecw/box-approval/cancel`, url: `/ecw/box-approval/cancel`,
method: "delete", method: "delete",
data, data
}); })
} }
/** /**
...@@ -431,8 +431,8 @@ export function abnormalCreate(data) { ...@@ -431,8 +431,8 @@ export function abnormalCreate(data) {
return request({ return request({
url: "/ecw/box-abnormal/create", url: "/ecw/box-abnormal/create",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -446,8 +446,8 @@ export function resetById(params) { ...@@ -446,8 +446,8 @@ export function resetById(params) {
return request({ return request({
url: "/ecw/box-customs-extra-cost/resetById", url: "/ecw/box-customs-extra-cost/resetById",
method: "get", method: "get",
params, params
}); })
} }
/** /**
...@@ -461,8 +461,8 @@ export function resetByShipmentId(params) { ...@@ -461,8 +461,8 @@ export function resetByShipmentId(params) {
return request({ return request({
url: "ecw/box-customs-extra-cost/resetByShipmentId", url: "ecw/box-customs-extra-cost/resetByShipmentId",
method: "get", method: "get",
params, params
}); })
} }
/***************************** 预装 start **********************************/ /***************************** 预装 start **********************************/
...@@ -478,8 +478,8 @@ export function secGoodsList(data) { ...@@ -478,8 +478,8 @@ export function secGoodsList(data) {
return request({ return request({
url: "/ecw/box-preload-goods/secGoodsList", url: "/ecw/box-preload-goods/secGoodsList",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -493,8 +493,8 @@ export function preloadPage(data) { ...@@ -493,8 +493,8 @@ export function preloadPage(data) {
return request({ return request({
url: "/ecw/box-preload-goods/preloadPage", url: "/ecw/box-preload-goods/preloadPage",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -508,8 +508,8 @@ export function createSection(data) { ...@@ -508,8 +508,8 @@ export function createSection(data) {
return request({ return request({
url: "/ecw/box-preload-section/create", url: "/ecw/box-preload-section/create",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -523,8 +523,23 @@ export function changeSection(data) { ...@@ -523,8 +523,23 @@ export function changeSection(data) {
return request({ return request({
url: "/ecw/box-preload-goods/changeSection", url: "/ecw/box-preload-goods/changeSection",
method: "post", 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) { ...@@ -538,8 +553,8 @@ export function getSectionList(params) {
return request({ return request({
url: "/ecw/box-preload-section/list", url: "/ecw/box-preload-section/list",
method: "get", method: "get",
params, params
}); })
} }
/** /**
...@@ -554,8 +569,8 @@ export function boxGoodsDetail(data) { ...@@ -554,8 +569,8 @@ export function boxGoodsDetail(data) {
url: "/ecw/box-preload-goods/boxGoodsDetail", url: "/ecw/box-preload-goods/boxGoodsDetail",
method: "post", method: "post",
headers: { "Content-Type": "application/x-www-form-urlencoded" }, headers: { "Content-Type": "application/x-www-form-urlencoded" },
data: jsonToFormData(data), data: jsonToFormData(data)
}); })
} }
/** /**
...@@ -570,7 +585,7 @@ export function deleteSection(params) { ...@@ -570,7 +585,7 @@ export function deleteSection(params) {
url: "/ecw/box-preload-goods/deleteSection", url: "/ecw/box-preload-goods/deleteSection",
method: "delete", method: "delete",
params params
}); })
} }
/** /**
...@@ -585,7 +600,7 @@ export function deleteGoods(params) { ...@@ -585,7 +600,7 @@ export function deleteGoods(params) {
url: "/ecw/box-preload-goods/delete", url: "/ecw/box-preload-goods/delete",
method: "delete", method: "delete",
params params
}); })
} }
/** /**
...@@ -599,8 +614,8 @@ export function createGoods(data) { ...@@ -599,8 +614,8 @@ export function createGoods(data) {
return request({ return request({
url: "/ecw/box-preload-goods/v2/create", url: "/ecw/box-preload-goods/v2/create",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -614,8 +629,8 @@ export function getAllRelateOrderList(params) { ...@@ -614,8 +629,8 @@ export function getAllRelateOrderList(params) {
return request({ return request({
url: "/order/guanlian/getAllRelateOrderList", url: "/order/guanlian/getAllRelateOrderList",
method: "get", method: "get",
params, params
}); })
} }
/** /**
...@@ -629,8 +644,8 @@ export function loadRelationOrder(data) { ...@@ -629,8 +644,8 @@ export function loadRelationOrder(data) {
return request({ return request({
url: "/ecw/box-preload-goods/loadRelationOrder", url: "/ecw/box-preload-goods/loadRelationOrder",
method: "post", method: "post",
data, data
}); })
} }
/***************************** 预装 end **********************************/ /***************************** 预装 end **********************************/
...@@ -648,8 +663,8 @@ export function loadSecGoodsList(params) { ...@@ -648,8 +663,8 @@ export function loadSecGoodsList(params) {
return request({ return request({
url: "/ecw/box-preload-goods/loadSecGoodsList", url: "/ecw/box-preload-goods/loadSecGoodsList",
method: "get", method: "get",
params, params
}); })
} }
/** /**
...@@ -664,8 +679,8 @@ export function orderTagList(data) { ...@@ -664,8 +679,8 @@ export function orderTagList(data) {
url: "/ecw/box-load-info/orderTagList", url: "/ecw/box-load-info/orderTagList",
method: "post", method: "post",
headers: { "Content-Type": "application/x-www-form-urlencoded" }, headers: { "Content-Type": "application/x-www-form-urlencoded" },
data: jsonToFormData(data), data: jsonToFormData(data)
}); })
} }
/** /**
...@@ -679,8 +694,8 @@ export function singleCreate(data) { ...@@ -679,8 +694,8 @@ export function singleCreate(data) {
return request({ return request({
url: "/ecw/box-load-info/singleCreate", url: "/ecw/box-load-info/singleCreate",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -694,8 +709,8 @@ export function batchCreate(data) { ...@@ -694,8 +709,8 @@ export function batchCreate(data) {
return request({ return request({
url: "/ecw/box-load-info/batchCreate", url: "/ecw/box-load-info/batchCreate",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -709,8 +724,8 @@ export function singleDelete(data) { ...@@ -709,8 +724,8 @@ export function singleDelete(data) {
return request({ return request({
url: "/ecw/box-load-info/singleDelete", url: "/ecw/box-load-info/singleDelete",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -724,8 +739,8 @@ export function batchDelete(data) { ...@@ -724,8 +739,8 @@ export function batchDelete(data) {
return request({ return request({
url: "/ecw/box-load-info/batchDelete", url: "/ecw/box-load-info/batchDelete",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -739,8 +754,8 @@ export function remove(data) { ...@@ -739,8 +754,8 @@ export function remove(data) {
return request({ return request({
url: "/ecw/box-load-info/remove", url: "/ecw/box-load-info/remove",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -754,8 +769,8 @@ export function boxUpdate(data) { ...@@ -754,8 +769,8 @@ export function boxUpdate(data) {
return request({ return request({
url: "/ecw/box-load-info/boxUpdate", url: "/ecw/box-load-info/boxUpdate",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -768,8 +783,8 @@ export function createApproval(data) { ...@@ -768,8 +783,8 @@ export function createApproval(data) {
return request({ return request({
url: "/ecw/box-approval/create", url: "/ecw/box-approval/create",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -782,8 +797,8 @@ export function getOrderDetailByBoxNo(data) { ...@@ -782,8 +797,8 @@ export function getOrderDetailByBoxNo(data) {
return request({ return request({
url: "/my/shipment/searchLoadOrderByBoxNo", url: "/my/shipment/searchLoadOrderByBoxNo",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -796,8 +811,8 @@ export function externalLoad(data) { ...@@ -796,8 +811,8 @@ export function externalLoad(data) {
return request({ return request({
url: "/ecw/box-load-info/externalLoad", url: "/ecw/box-load-info/externalLoad",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -811,8 +826,8 @@ export function splitList(data) { ...@@ -811,8 +826,8 @@ export function splitList(data) {
url: "/shipment/box/splitList", url: "/shipment/box/splitList",
method: "post", method: "post",
headers: { "Content-Type": "application/x-www-form-urlencoded" }, headers: { "Content-Type": "application/x-www-form-urlencoded" },
data: jsonToFormData(data), data: jsonToFormData(data)
}); })
} }
/***************************** 装柜 end **********************************/ /***************************** 装柜 end **********************************/
...@@ -830,8 +845,8 @@ export function loadGoodsList(params) { ...@@ -830,8 +845,8 @@ export function loadGoodsList(params) {
return request({ return request({
url: "/ecw/box-preload-goods/loadGoodsList", url: "/ecw/box-preload-goods/loadGoodsList",
method: "get", method: "get",
params, params
}); })
} }
/** /**
...@@ -845,8 +860,8 @@ export function batchUnload(data) { ...@@ -845,8 +860,8 @@ export function batchUnload(data) {
return request({ return request({
url: "/ecw/box-load-info/batchUnload", url: "/ecw/box-load-info/batchUnload",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -860,8 +875,8 @@ export function airBatchUnload(data) { ...@@ -860,8 +875,8 @@ export function airBatchUnload(data) {
return request({ return request({
url: "/ecw/box-load-info/airBatchUnload", url: "/ecw/box-load-info/airBatchUnload",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -875,8 +890,8 @@ export function singleUnload(data) { ...@@ -875,8 +890,8 @@ export function singleUnload(data) {
return request({ return request({
url: "/ecw/box-load-info/singleUnload", url: "/ecw/box-load-info/singleUnload",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -890,8 +905,8 @@ export function airSingleUnload(data) { ...@@ -890,8 +905,8 @@ export function airSingleUnload(data) {
return request({ return request({
url: "/ecw/box-load-info/airSingleUnload", url: "/ecw/box-load-info/airSingleUnload",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -905,11 +920,10 @@ export function allUnload(data) { ...@@ -905,11 +920,10 @@ export function allUnload(data) {
return request({ return request({
url: "/ecw/box-load-info/allUnload", url: "/ecw/box-load-info/allUnload",
method: "post", method: "post",
data, data
}); })
} }
/** /**
* 一键到仓 * 一键到仓
* *
...@@ -921,8 +935,8 @@ export function airAllUnload(data) { ...@@ -921,8 +935,8 @@ export function airAllUnload(data) {
return request({ return request({
url: "/ecw/box-load-info/airAllUnload", url: "/ecw/box-load-info/airAllUnload",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -936,8 +950,8 @@ export function createError(data) { ...@@ -936,8 +950,8 @@ export function createError(data) {
return request({ return request({
url: "/ecw/box-cabinet-unload-abnormal/create", url: "/ecw/box-cabinet-unload-abnormal/create",
method: "post", method: "post",
data, data
}); })
} }
/***************************** 卸柜 end **********************************/ /***************************** 卸柜 end **********************************/
...@@ -955,8 +969,8 @@ export function extraCostOrder(data) { ...@@ -955,8 +969,8 @@ export function extraCostOrder(data) {
return request({ return request({
url: "/ecw/box-customs-extra-cost/searchByOrderNo", url: "/ecw/box-customs-extra-cost/searchByOrderNo",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -970,8 +984,8 @@ export function extraCostCreate(data) { ...@@ -970,8 +984,8 @@ export function extraCostCreate(data) {
return request({ return request({
url: "/ecw/box-customs-extra-cost/create", url: "/ecw/box-customs-extra-cost/create",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -985,8 +999,8 @@ export function extraCostUpdate(data) { ...@@ -985,8 +999,8 @@ export function extraCostUpdate(data) {
return request({ return request({
url: "/ecw/box-customs-extra-cost/update", url: "/ecw/box-customs-extra-cost/update",
method: "put", method: "put",
data, data
}); })
} }
/** /**
...@@ -1000,8 +1014,8 @@ export function extraCostList(params) { ...@@ -1000,8 +1014,8 @@ export function extraCostList(params) {
return request({ return request({
url: "/ecw/box-customs-extra-cost/list", url: "/ecw/box-customs-extra-cost/list",
method: "get", method: "get",
params, params
}); })
} }
/** /**
...@@ -1016,8 +1030,8 @@ export function customsOrderList(data) { ...@@ -1016,8 +1030,8 @@ export function customsOrderList(data) {
url: "/shipment/box/customsOrderList", url: "/shipment/box/customsOrderList",
method: "post", method: "post",
headers: { "Content-Type": "application/x-www-form-urlencoded" }, headers: { "Content-Type": "application/x-www-form-urlencoded" },
data: jsonToFormData(data), data: jsonToFormData(data)
}); })
} }
/***************************** 报关费用 end **********************************/ /***************************** 报关费用 end **********************************/
...@@ -1036,8 +1050,8 @@ export function getTallyList(data) { ...@@ -1036,8 +1050,8 @@ export function getTallyList(data) {
url: "/shipment/box/tallyList", url: "/shipment/box/tallyList",
method: "post", method: "post",
headers: { "Content-Type": "application/x-www-form-urlencoded" }, headers: { "Content-Type": "application/x-www-form-urlencoded" },
data: jsonToFormData(data), data: jsonToFormData(data)
}); })
} }
/** /**
...@@ -1051,8 +1065,8 @@ export function tallyRemove(data) { ...@@ -1051,8 +1065,8 @@ export function tallyRemove(data) {
return request({ return request({
url: "/ecw/box-preload-goods/remove", url: "/ecw/box-preload-goods/remove",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -1066,8 +1080,8 @@ export function tallyLocationUpdate(data) { ...@@ -1066,8 +1080,8 @@ export function tallyLocationUpdate(data) {
return request({ return request({
url: "/shipment/box/batchOrderLocationUpdate", url: "/shipment/box/batchOrderLocationUpdate",
method: "post", method: "post",
data, data
}); })
} }
/** /**
...@@ -1082,16 +1096,16 @@ export function tallyCommit(data) { ...@@ -1082,16 +1096,16 @@ export function tallyCommit(data) {
url: "/shipment/box/tallyCommit", url: "/shipment/box/tallyCommit",
method: "post", method: "post",
headers: { "Content-Type": "application/x-www-form-urlencoded" }, headers: { "Content-Type": "application/x-www-form-urlencoded" },
data: jsonToFormData(data), data: jsonToFormData(data)
}); })
} }
/***************************** 理货 end **********************************/ /***************************** 理货 end **********************************/
function jsonToFormData(params) { function jsonToFormData(params) {
const formData = new FormData(); const formData = new FormData()
for (const [key, value] of Object.entries(params)) { for (const [key, value] of Object.entries(params)) {
formData.append(key, value); formData.append(key, value)
} }
return formData; return formData
} }
...@@ -14,6 +14,9 @@ ...@@ -14,6 +14,9 @@
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
.fills {
flex: 1;
}
} }
.custom-form-1 { .custom-form-1 {
...@@ -25,3 +28,12 @@ ...@@ -25,3 +28,12 @@
width: 100%; width: 100%;
} }
} }
.el-table--mini {
.el-link {
font-size: 12px;
}
.el-table__header-wrapper th {
font-size: 12px !important;
}
}
...@@ -2,35 +2,34 @@ ...@@ -2,35 +2,34 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div class="page-title"> <div class="page-title">
<span>{{ $t("批量加价") }}</span> <span>{{ $t("批量加价") }}</span>
<!-- TODO 这里的批量申请费用需要跳转到和订单列表一致的批量订单费用申请页面 --> <!-- 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>
<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" /> <selector :disabled="approval" v-model="form.freightCurrencyId" :options="currencyList" :label-field="$l('title')" value-field="id" defaultable class="w-100 ml-10" />
<!--金额 :min="1"--> <!--金额 :min="1"-->
<el-input :disabled="approval" type="number" v-model="form.freightFee" @keyup.native="checkPositive(form, 'freightFee')" class="w-100 ml-10" /> <el-input :disabled="approval" type="number" v-model="form.freightFee" @keyup.native="checkPositive(form, 'freightFee')" class="w-100 ml-10" />
<!--单位--> <!--单位-->
<selector :disabled="approval" v-model="form.freightUnitId" :options="unitList" :label-field="$l('title')" value-field="id" defaultable class="w-100 ml-10" /> <selector :disabled="approval" v-model="form.freightUnitId" :options="unitList" :label-field="$l('title')" value-field="id" defaultable class="w-100 ml-10" />
</div> </div>
<div class="mt-10"> <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" /> <selector :disabled="approval" v-model="form.clearanceCurrencyId" :options="currencyList" :label-field="$l('title')" value-field="id" defaultable class="w-100 ml-10" />
<!--金额 :min="1"--> <!--金额 :min="1"-->
<el-input :disabled="approval" type="number" v-model="form.clearanceFee" @keyup.native="checkPositive(form, 'clearanceFee')" class="w-100 ml-10" /> <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" /> <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> </div>
<el-card class="mt-20" v-if="shipmentObj"> <el-card class="mt-20" v-if="shipmentObj">
<el-descriptions :column="4" border> <el-descriptions :column="4" border>
<el-descriptions-item :label="$t('自编号')"> <el-descriptions-item :label="$t('自编号')">
{{shipmentObj.selfNo}} {{ shipmentObj.selfNo }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('运输方式')"> <el-descriptions-item :label="$t('运输方式')">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="shipmentObj.transportType" /> <dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="shipmentObj.transportType" />
...@@ -39,143 +38,261 @@ ...@@ -39,143 +38,261 @@
{{getShipChannelName(shipmentObj.shippingChannelId)}} {{getShipChannelName(shipmentObj.shippingChannelId)}}
</el-descriptions-item> --> </el-descriptions-item> -->
<el-descriptions-item :label="$t('柜型')"> <el-descriptions-item :label="$t('柜型')">
{{getCabinetLabel(shipmentObj.cabinetId)}} {{ getCabinetLabel(shipmentObj.cabinetId) }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('状态')"> <el-descriptions-item :label="$t('状态')">
{{shipmentObj.shipmentStatusText}} {{ shipmentObj.shipmentStatusText }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('总计')"> <el-descriptions-item :label="$t('总计')">
{{getBoxSum(shipmentObj.boxStatistics)}} {{ getBoxSum(shipmentObj.boxStatistics) }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('始发地')"> <el-descriptions-item :label="$t('始发地')">
{{getCityName(shipmentObj.startWarehouseId)}} {{ getCityName(shipmentObj.startWarehouseId) }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('目的地')"> <el-descriptions-item :label="$t('目的地')">
{{getCityName(shipmentObj.destWarehouseId)}} {{ getCityName(shipmentObj.destWarehouseId) }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="SO NO"> <el-descriptions-item label="SO NO">
{{shipmentObj.bookSeaInfo ? shipmentObj.bookSeaInfo.sono : '' }} {{ shipmentObj.bookSeaInfo ? shipmentObj.bookSeaInfo.sono : "" }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item v-if="shipmentObj.transportType == 1 || shipmentObj.transportType == 2" :label="$t('装柜时间')"> <el-descriptions-item v-if="shipmentObj.transportType == 1 || shipmentObj.transportType == 2" :label="$t('装柜时间')">
{{shipmentObj.zgDate}} {{ shipmentObj.zgDate }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item v-else :label="$t('出仓时间')"> <el-descriptions-item v-else :label="$t('出仓时间')">
{{shipmentObj.ckDate}} {{ shipmentObj.ckDate }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('到港时间')"> <el-descriptions-item :label="$t('到港时间')">
{{shipmentObj.dgDate}} {{ shipmentObj.dgDate }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('清关时间')"> <el-descriptions-item :label="$t('清关时间')">
{{shipmentObj.qgDate}} {{ shipmentObj.qgDate }}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-card> </el-card>
<el-card class="mt-20"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="140px" class="search-z mt-20">
<div slot="header"> <el-form-item :label="$t('编号')" prop="orderNo">
{{$t('明细')}} <el-input class="w-200" v-model.trim="noParam.value" :placeholder="$t('请输入订单号、唛头、提单号')" clearable @keyup.enter.native="handleQuery" @input="replaceSpace(noParam, 'value')">
</div> <template slot="prepend">
<div class="flex-row" style="display: flex"> <dict-selector :type="DICT_TYPE.ORDER_QUERY_NO_FIELD" defaultable v-model="noParam.key" />
<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-select>
</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" />
</template> </template>
</div> </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>
<el-table v-if="sectionObj" ref="orderTable" border :data="sectionObj.sectionOrderList || []" @selection-change="handleSelectionChange" class="mt-10"> <el-form-item :label="$t('客户经理')">
<el-table-column type="selection" width="50"></el-table-column>> <user-selector manage v-model="queryParams.salesmanIds" multiple clearable @change="handleQuery" :prepend="{ id: 0, nickname: $t('未分配客户经理') }" class="w-200" />
<el-table-column align="center" :label="$t('序号')" width="50" prop="tidanNum" /> </el-form-item>
<el-table-column prop="orderNo" :label="$t('订单号')" align="center"> <el-form-item :label="$t('运输方式')" prop="transportId" v-show="showSearch">
<template v-slot="scope"> <dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model.number="queryParams.transportId" clearable @change="handleQuery" class="w-200" />
<a href="javascript:void(0)" @click="jumpOrderDetail(scope.row)">{{ scope.row.orderNo }}</a> </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> </template>
</el-table-column> </el-input>
<el-table-column prop="goodsList" :label="$t('货物信息')" width="230px" align="center"> </el-form-item>
<template v-slot="{row}">
<section> <el-form-item :label="$t('订单状态')" prop="statusList" v-show="showSearch">
<div v-for="(item, index) in row.goodsList" :key="index"> <dict-selector :type="DICT_TYPE.ORDER_STATUS" multiple v-model="queryParams.statusList" @keyup.enter.native="handleQuery" clearable @change="handleQuery" class="w-200" />
<div>{{index+1}}{{$l(item, 'prodTitle')}}</div> </el-form-item>
</div>
</section> <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> </template>
</el-table-column> </el-input>
<el-table-column prop="num" :label="$t('计划箱数')" align="center"></el-table-column> </el-form-item>
<el-table-column prop="installNum" :label="$t('实装箱数')" align="center"></el-table-column> <el-form-item :label="$t('提货率')" v-show="showSearch">
<el-table-column prop="unloadNum" :label="$t('卸柜箱数')" align="center"></el-table-column> <el-input type="number" v-model.trim="pickRatio.value" :placeholder="$t('请输入数字')" clearable @keyup.enter.native="handleQuery" class="w-200">
<el-table-column prop="destWarehouseName" :label="$t('提货点')" align="center"></el-table-column> <template slot="prepend">
<el-table-column prop="volume" :label="$t('体积')" align="center"></el-table-column> <dict-selector :type="DICT_TYPE.PICK_RATIO_FIELD" defaultable v-model="pickRatio.key" />
<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>
</template> </template>
</el-table-column> </el-input>
<el-table-column prop="customsFee" :label="$t('报关费用')" align="center"></el-table-column> </el-form-item>
<el-table-column prop="" :label="$t('加价单价')" align="center" width="200px"> <el-form-item :label="$t('特需')" prop="packageTypeArr" v-show="showSearch">
<template slot-scope="scope"> <el-select v-model="queryParams.packageTypeArr" multiple :placeholder="$t('请选择')" clearable class="w-200">
<div> <template v-for="item in getDictDatas(DICT_TYPE.ORDER_SPECIAL_NEEDS)">
{{$t('运费')}}{{form.freightFee || 0}}{{ currencyMap[form.freightCurrencyId]}}/{{unitMap[form.freightUnitId]}} <el-option :label="$l(item, 'label')" :value="item.value"></el-option>
</div>
<div>
{{$t('清关费')}}{{form.clearanceFee || 0}}{{ currencyMap[form.clearanceCurrencyId]}}/{{unitMap[form.clearanceUnitId]}}
</div>
</template> </template>
</el-table-column> </el-select>
</el-table> </el-form-item>
</el-card> <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-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" 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 :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 :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 :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 class="mt-20"> <el-card class="mt-20">
<work-flow xmlkey="shipment_batch_add_price" v-model="form.copyUserId" :disabled="approval"></work-flow> <work-flow xmlkey="shipment_batch_add_price" v-model="form.copyUserId" :disabled="approval"></work-flow>
</el-card> </el-card>
<div class="mt-20" v-if="shipmentObj"> <div class="mt-20" v-if="shipmentObj">
<template v-if="approval"> <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="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="default" @click="cancelAproval">{{ $t("取消审核") }}</el-button>
</template> </template>
<template v-else> <template v-else>
<el-button type="primary" @click="submit">{{$t('提交审核')}}</el-button> <el-button type="primary" @click="submit">{{ $t("提交审核") }}</el-button>
</template> </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>
</div> </div>
</template> </template>
<script> <script>
import {getCurrencyList} from "@/api/ecw/currency"; import { getCurrencyList } from "@/api/ecw/currency"
import {getUnitList} from "@/api/ecw/unit"; import { getUnitList } from "@/api/ecw/unit"
import selector from '@/components/Selector' import selector from "@/components/Selector"
import {getChannelList} from "@/api/ecw/channel"; import { getChannelList } from "@/api/ecw/channel"
import {getCabinetPage} from "@/api/ecw/cabinet"; import { getCabinetPage } from "@/api/ecw/cabinet"
import {getWarehouseList} from "@/api/ecw/warehouse"; import { getWarehouseList } from "@/api/ecw/warehouse"
import {getSupplierPage} from "@/api/ecw/supplier"; import { getSupplierPage } from "@/api/ecw/supplier"
import {approvalCancel, boxGoodsDetail, createApproval, import { approvalCancel, boxGoodsDetail, createApproval, getBatchOrderList, loadSecGoodsList } from "@/api/ecw/boxSea"
getSectionList, loadSecGoodsList} from "@/api/ecw/boxSea"; import { getAbnormalList, getbox, getLogList } from "@/api/ecw/box"
import {getAbnormalList, getbox, getLogList} from "@/api/ecw/box"; import { getTotlContent } from "@/views/ecw/box/shippingSea/utils"
import {getTotlContent} from "@/views/ecw/box/shippingSea/utils"; import WorkFlow from "@/components/WorkFlow"
import WorkFlow from "@/components/WorkFlow"; import Template from "@/views/cms/template/index.vue"
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 { export default {
name: "batchMarkup", name: "batchMarkup",
components: {Template, selector, WorkFlow}, components: { Template, selector, WorkFlow, batchMarkupComList, UserSelector },
data(){ data() {
return { return {
unitList:[], unitList: [],
currencyList:[], currencyList: [],
form:{ form: {
copyUserId:[], copyUserId: [],
freightUnitId: 6, freightUnitId: 6,
clearanceUnitId: 6 clearanceUnitId: 6
}, },
...@@ -183,46 +300,84 @@ export default { ...@@ -183,46 +300,84 @@ export default {
multipleSelection: [], multipleSelection: [],
// 选择的id // 选择的id
ids: [], ids: [],
channelList:[], attrList: [],
cabinetList:[], channelList: [],
sectionList:[], cabinetList: [],
// warehouseList:[], sectionList: [],
warehouseList: [],
// allSupplier:[] // allSupplier:[]
shipmentObj: null, shipmentObj: null,
shipmentId: null, shipmentId: null,
// 当前选择的部分 list: [],
sectionId: 0, isExpand: false,
sectionObj: null 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:{ computed: {
currencyMap(){ currencyMap() {
let map = {} let map = {}
this.currencyList.forEach(item => { this.currencyList.forEach((item) => {
map[item.id] = this.$l(item, 'title') map[item.id] = this.$l(item, "title")
}) })
return map return map
}, },
unitMap(){ unitMap() {
let map = {} let map = {}
this.unitList.forEach(item => { this.unitList.forEach((item) => {
map[item.id] = this.$l(item, 'title') map[item.id] = this.$l(item, "title")
}) })
return map return map
}, },
/* 渠道 */ /* 渠道 */
getShipChannelName() { getShipChannelName() {
return (shippingChannelId) => { return (shippingChannelId) => {
let item = this.channelList.find(item => item.channelId == shippingChannelId) let item = this.channelList.find((item) => item.channelId == shippingChannelId)
if(!item) return '' if (!item) return ""
return this.$l(item, "name"); return this.$l(item, "name")
}; }
}, },
/* 获取柜型 */ /* 获取柜型 */
getCabinetLabel() { getCabinetLabel() {
return (cabinetId) => { return (cabinetId) => {
return this.cabinetList.find(item => item.id == cabinetId)?.name return this.cabinetList.find((item) => item.id == cabinetId)?.name
}; }
}, },
/* 总计 */ /* 总计 */
getBoxSum() { getBoxSum() {
...@@ -231,152 +386,276 @@ export default { ...@@ -231,152 +386,276 @@ export default {
return this.$t("{num}箱 {volume}m³ {weight}kg", { return this.$t("{num}箱 {volume}m³ {weight}kg", {
num: boxStatistics.num ?? 0, num: boxStatistics.num ?? 0,
volume: boxStatistics.volume ?? 0, volume: boxStatistics.volume ?? 0,
weight: boxStatistics.weight ?? 0, weight: boxStatistics.weight ?? 0
}); })
} }
return 0; return 0
}; }
}, },
/* 获取仓库 */ /* 获取仓库 */
getCityName() { getCityName() {
return (id) => { return (id) => {
if(!this.warehouseList || !this.warehouseList.length) return '' if (!this.warehouseList || !this.warehouseList.length) return ""
let warehouse = this.warehouseList.find((item) => item.id == id); let warehouse = this.warehouseList.find((item) => item.id == id)
return warehouse ? this.$l(warehouse, "title") : this.$t(""); return warehouse ? this.$l(warehouse, "title") : this.$t("")
};
},
// 部分信息
getSectionInfo() {
const { totalStatistics, secStatistics } = this.sectionObj;
if (!this.sectionId) {
return getTotlContent(totalStatistics);
} else {
return getTotlContent(secStatistics);
} }
}, },
getDocStatus() { getDocStatus() {
return (list = []) => { 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 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() { async created() {
getUnitList().then(res => this.unitList = res.data) getUnitList().then((res) => (this.unitList = res.data))
getCurrencyList().then(res => this.currencyList = 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 this.shipmentId = this.$route.query.shipmentId
if(!this.shipmentId){ if (!this.shipmentId) {
return this.$message.error('请求参数错误') return this.$message.error("请求参数错误")
} }
await this.getBoxDetail() await this.getBoxDetail()
await this.initData() await this.initData()
await this.getSectionList() },
watch: {
// 如果是审核中,则默认选中订单 destCountryId: {
this.$nextTick(() =>{ //监听当前地区值的变化,于与上方地区值进行了双向绑定
if(this.approval){ deep: true, //深度监听
this.sectionObj.sectionOrderList.forEach(order => { handler() {
if(this.form.orderIds.indexOf(order.orderId) > -1){ //每当值省份值改变时其下地区值进行清空
this.$refs.orderTable.toggleRowSelection(order) 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()
}
}
}
}, },
methods:{ methods: {
listOpen() {
this.isExpand = !this.isExpand
this.$nextTick(() => {
let $table = this.$refs.orderTable
this.list.map((item) => {
$table.toggleRowExpansion(item, this.isExpand)
})
})
},
// 检查正数 // 检查正数
checkPositive(object, field){ checkPositive(object, field) {
// object[field] = parseFloat(object[field]) // object[field] = parseFloat(object[field])
// object[field] = isNaN(object[field]) ? '' : object[field].toString() // object[field] = isNaN(object[field]) ? '' : object[field].toString()
}, },
// 表格多选 // 表格多选
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.multipleSelection = selection this.multipleSelection = selection
this.ids = selection.map(item => item.orderId) this.ids = selection.map((item) => item.orderId)
}, },
// 初始化字典数据 // 初始化字典数据
async initData() { async initData() {
// 查询渠道 // 查询渠道
getChannelList().then((res) => (this.channelList = res.data)); getChannelList().then((res) => (this.channelList = res.data))
// 查询柜型 // 查询柜型
getCabinetPage(null).then( getCabinetPage(null).then((response) => (this.cabinetList = response.data.list))
(response) => (this.cabinetList = response.data.list)
);
// 仓库 // 仓库
getWarehouseList().then((r) => { getWarehouseList().then((r) => {
this.warehouseList = r.data; this.warehouseList = r.data
}); })
/*// 供应商 this.getAddressProvince()
getSupplierPage({ pageNo: "1", pageSize: "10000" }).then((res) => { this.getAddressCity()
const { data } = res; this.getAddressTown()
this.allSupplier = data.list; this.getList()
});*/ },
/*loadSecGoodsList({shipmentId: this.shipmentId}).then(res => { getAddressProvince() {
this.sectionList = res.data /*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() { getBoxDetail() {
getbox(this.shipmentId).then((res) => { getbox(this.shipmentId).then((res) => {
const { data } = res; const { data } = res
this.shipmentObj = data ?? {}; this.shipmentObj = data ?? {}
// 如果是审核中则表单给默认值 // 如果是审核中则表单给默认值
if(this.shipmentObj.batchAddPriceApprovalInfo && this.approval){ if (this.shipmentObj.batchAddPriceApprovalInfo && this.approval) {
let details = JSON.parse(this.shipmentObj.batchAddPriceApprovalInfo.details) 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();
}, },
// 获取部分详情以及物品 getList() {
getBoxGoodsDetail() { this.loading = true
return boxGoodsDetail({ // 执行查询
const query = { ...this.combinedQueryParams }
if (query.packageTypeArr && query.packageTypeArr.length) {
query.packageType = query.packageTypeArr.join(",")
}
getBatchOrderList({
shipmentId: this.shipmentId, shipmentId: this.shipmentId,
secId: this.sectionId, ...query
}).then((res) => { }).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(){ submit() {
if(!this.form.freightFee && !this.form.clearanceFee){ if (!this.form.freightFee && !this.form.clearanceFee) {
return this.$message.error(this.$t('运费和清关费不能同时为空')) return this.$message.error(this.$t("运费和清关费不能同时为空"))
} }
if(!this.ids.length){ if (!this.ids.length) {
return this.$message.error(this.$t('最少选择一个订单')) return this.$message.error(this.$t("最少选择一个订单"))
} }
let form = {...this.form, orderIds: this.ids} let form = { ...this.form, orderIds: this.ids }
let data = { let data = {
approvalType: 18, // 批量加价 approvalType: 18, // 批量加价
copyUserId: this.form.copyUserId, copyUserId: this.form.copyUserId,
...@@ -384,33 +663,35 @@ export default { ...@@ -384,33 +663,35 @@ export default {
shipmentId: this.shipmentId shipmentId: this.shipmentId
} }
createApproval(data).then(() => { createApproval(data).then(() => {
this.$message.success(this.$t('提交成功')) this.$message.success(this.$t("提交成功"))
this.$store.dispatch('tagsView/delCurrentView') this.$store.dispatch("tagsView/delCurrentView")
}) })
}, },
// 取消审核 // 取消审核
cancelAproval(){ cancelAproval() {
this.$prompt(this.$t('请输入取消原因'), this.$t('取消审核'), { this.$prompt(this.$t("请输入取消原因"), this.$t("取消审核"), {
inputPattern: /\S/, inputPattern: /\S/,
inputErrorMessage: this.$t('请输入取消原因') 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('已取消审核')
this.getBoxDetail()
}) })
.then(({ value }) => {
console.log("cancelApproval", value)
return approvalCancel({
applyReason: value,
id: this.shipmentObj.batchAddPriceApprovalInfo.id,
shipmentId: this.shipmentId
})
})
.then((res) => {
this.$message.success("已取消审核")
this.getBoxDetail()
})
} }
} }
} }
</script> </script>
<style scoped> <style scoped>
.document-status .document ~ .document:before{ .document-status .document ~ .document:before {
content: ','; content: ",";
} }
</style> </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>
...@@ -129,7 +129,7 @@ ...@@ -129,7 +129,7 @@
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<div v-for="item in row.netReceiptsTotalFeeGroupDtoList || []" :key="item.currencyId">{{ item.amount }}{{ item.currencyName }}</div> <div v-for="item in row.netReceiptsTotalFeeGroupDtoList || []" :key="item.currencyId">{{ item.amount }}{{ item.currencyName }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('已收总金额')" width="150" align="center" prop="writeOffTotalFeeGroupDtoList"> <el-table-column :label="$t('已收总金额')" width="150" align="center" prop="writeOffTotalFeeGroupDtoList">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<div v-for="item in row.writeOffTotalFeeGroupDtoList || []" :key="item.currencyId">{{ item.amount }}{{ item.currencyName }}</div> <div v-for="item in row.writeOffTotalFeeGroupDtoList || []" :key="item.currencyId">{{ item.amount }}{{ item.currencyName }}</div>
...@@ -278,14 +278,14 @@ ...@@ -278,14 +278,14 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('客户经理')" prop="salesmanName" width="150" align="center"></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"> <el-table-column :label="$t('发货人')" width="300" align="center">
<template slot-scope="{ row }" <template slot-scope="{ row }">
><router-link :to="'/customer/query/' + row.consignorCustomerId"> {{ row.consignorCustomerNumber }}-{{ isChinese ? row.consignorName : row.consignorNameEn }}-{{ row.consignorPhone }} </router-link></template <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>
<el-table-column :label="$t('收货人')" width="300" align="center"> <el-table-column :label="$t('收货人')" width="300" align="center">
<template slot-scope="{ row }"> <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>
<el-table-column :label="$t('订单入仓时间')" width="150" align="center"> <el-table-column :label="$t('订单入仓时间')" width="150" align="center">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
......
...@@ -5,18 +5,18 @@ ...@@ -5,18 +5,18 @@
<el-form-item :label="$t('编号')" prop="orderNo"> <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')"> <el-input class="w-200" v-model.trim="noParam.value" :placeholder="$t('请输入订单号、唛头、提单号')" clearable @keyup.enter.native="handleQuery" @input="replaceSpace(noParam, 'value')">
<template slot="prepend"> <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> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('发货人')" prop="consignorKey"> <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>
<el-form-item :label="$t('收货人')" prop="consigneeKey"> <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>
<el-form-item :label="$t('控货状态')" prop="isCargoControl"> <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> </el-form-item>
<div> <div>
<el-form-item :label="$t('始发仓')" prop="startWarehouseIds"> <el-form-item :label="$t('始发仓')" prop="startWarehouseIds">
...@@ -41,10 +41,10 @@ ...@@ -41,10 +41,10 @@
</el-form-item> </el-form-item>
</div> </div>
<el-form-item :label="$t('客户经理')"> <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>
<el-form-item :label="$t('运输方式')" prop="transportId" v-show="showSearch"> <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>
<el-form-item :label="$t('出货渠道')" prop="channelIds"> <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> <selector clearable :options="channelList" :label-field="$l('name')" value-field="channelId" v-model="queryParams.channelIds" multiple class="w-200"></selector>
...@@ -55,28 +55,27 @@ ...@@ -55,28 +55,27 @@
<el-form-item :label="$t('商品') + ':'" v-show="showSearch"> <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"> <el-input v-model.trim="prodParam.value" :placeholder="$t('请输入商品类型、品名或品牌')" clearable @keyup.enter.native="handleQuery" class="w-200">
<template slot="prepend"> <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> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('订单状态')" prop="statusList" v-show="showSearch"> <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>
<!--<el-form-item :label="$t('提单号')" prop="tidanNo"> <!--<el-form-item :label="$t('提单号')" prop="tidanNo">
<el-input v-model.trim="queryParams.tidanNo" :placeholder="$t('提单号')" clearable @keyup.enter.native="handleQuery" /> <el-input v-model.trim="queryParams.tidanNo" :placeholder="$t('提单号')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>--> </el-form-item>-->
<el-form-item :label="$t('报关方式')" prop="customsTypes" v-show="showSearch"> <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>
<!--<el-form-item :label="$t('唛头')" prop="marks"> <!--<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" />
</el-form-item>--> </el-form-item>-->
<el-form-item :label="$t('备案属性')" prop="productRecords" v-show="showSearch"> <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>
<el-form-item :label="$t('外部仓')" prop="isExternalWarehouse" v-show="showSearch"> <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-select v-model="queryParams.isExternalWarehouse" :placeholder="$t('请选择')" clearable @change="handleQuery" class="w-200">
...@@ -98,19 +97,19 @@ ...@@ -98,19 +97,19 @@
</el-form-item>--> </el-form-item>-->
<el-form-item :label="$t('提货状态')" v-show="showSearch"> <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>
<el-form-item :label="$t('放货率')" v-show="showSearch"> <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"> <el-input type="number" v-model.trim="releaseRatio.value" :placeholder="$t('请输入数字')" clearable @keyup.enter.native="handleQuery" class="w-200">
<template slot="prepend"> <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> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('提货率')" v-show="showSearch"> <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"> <el-input type="number" v-model.trim="pickRatio.value" :placeholder="$t('请输入数字')" clearable @keyup.enter.native="handleQuery" class="w-200">
<template slot="prepend"> <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> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
...@@ -128,7 +127,7 @@ ...@@ -128,7 +127,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<div class="flex pb-20"> <div class="flex pb-20">
<dict-selector :type="DICT_TYPE.ECW_BEGINTIME_TYPE_ENDTIME" v-model="dateFilterType" defaultable class="w-200 mr-5" /> <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-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 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> <el-button icon="el-icon-refresh" @click="resetQuery">{{ $t("重置") }}</el-button>
......
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