Commit f6994b63 authored by 我在何方's avatar 我在何方
parents 3fb0b179 94c7eeff
...@@ -215,8 +215,8 @@ export function downloadByOrderId(orderId) { ...@@ -215,8 +215,8 @@ export function downloadByOrderId(orderId) {
return request({ return request({
url: "/shipment/make-bill-of-lading/downloadByOrderId", url: "/shipment/make-bill-of-lading/downloadByOrderId",
method: "get", method: "get",
params: {orderId}, params: { orderId },
responseType: 'arraybuffer' responseType: "arraybuffer",
}); });
} }
...@@ -227,4 +227,64 @@ export function getBoxApproval(params) { ...@@ -227,4 +227,64 @@ export function getBoxApproval(params) {
method: "get", method: "get",
params, params,
}); });
} }
\ No newline at end of file
// 下载agent list文件
export function downloadAgentListFiles(params) {
return request({
url: "/ecw/box-preload-goods/downloadAgentListFiles",
responseType: "arraybuffer",
method: "get",
params,
});
}
// 下载son cap文件
export function downloadSoncapFiles(params) {
return request({
url: "/ecw/box-preload-goods/downloadSoncapFiles",
responseType: "arraybuffer",
method: "get",
params,
});
}
// 下载报关单
export function downloadCustomFiles(params) {
return request({
url: "/ecw/box-preload-goods/downloadCustomFiles",
responseType: "arraybuffer",
method: "get",
params,
});
}
// 下载已装单
export function downloadLoadGoodsList(params) {
return request({
url: "/ecw/box-preload-goods/downloadLoadGoodsList",
responseType: "arraybuffer",
method: "get",
params,
});
}
// 下载预装单
export function downloadPreloadGoodsList(params) {
return request({
url: "/ecw/box-preload-goods/downloadPreloadGoodsList",
responseType: "arraybuffer",
method: "get",
params,
});
}
// 下载应收汇总
export function downloadReceivableList(params) {
return request({
url: "/ecw/box-preload-goods/downloadReceivableList",
responseType: "arraybuffer",
method: "get",
params,
});
}
...@@ -624,6 +624,34 @@ export function createApproval(data) { ...@@ -624,6 +624,34 @@ export function createApproval(data) {
}); });
} }
/**
* 订单详情
*
* @param {*} params
* @returns
*/
export function getOrderDetailByBoxNo(data) {
return request({
url: "/my/shipment/searchLoadOrderByBoxNo",
method: "post",
data,
});
}
/**
* 外部仓装柜
*
* @param {*} params
* @returns
*/
export function externalLoad(data) {
return request({
url: "/ecw/box-load-info/externalLoad",
method: "post",
data,
});
}
/***************************** 装柜 end **********************************/ /***************************** 装柜 end **********************************/
/***************************** 卸柜 start **********************************/ /***************************** 卸柜 start **********************************/
......
...@@ -89,7 +89,7 @@ export const DICT_TYPE = { ...@@ -89,7 +89,7 @@ export const DICT_TYPE = {
ECW_COOPERATION_TYPE: 'cooperation_type', // 合作类型 ECW_COOPERATION_TYPE: 'cooperation_type', // 合作类型
ECW_SHIPPING_DECLARATION_TYPE: 'shipping_declaration_type', // 出货报关方式(与订单报关方式相同) ECW_SHIPPING_DECLARATION_TYPE: 'shipping_declaration_type', // 出货报关方式(与订单报关方式相同)
ECW_CUSTOMS_TYPE: 'customs_type', // 订单报关方式(非出货报关),优惠券中的单证报关 ECW_CUSTOMS_TYPE: 'customs_type', // 订单报关方式(非出货报关),优惠券中的单证报关
ECW_PACKAGE_TYPE: 'packageType', // 包装单位 // ECW_PACKAGE_TYPE: 'packageType', // 包装单位
ECW_DOUBLE_CLEAR: 'double_clear', // 是否双清 ECW_DOUBLE_CLEAR: 'double_clear', // 是否双清
ECW_TRADE_TYPE: 'trade_type', // 交货放肆 ECW_TRADE_TYPE: 'trade_type', // 交货放肆
ECW_OFFER_RESULT: 'offer_result', // 报单结果 赢单 输单 ECW_OFFER_RESULT: 'offer_result', // 报单结果 赢单 输单
......
...@@ -299,6 +299,12 @@ export default { ...@@ -299,6 +299,12 @@ export default {
id: this.processInstance.businessKey, id: this.processInstance.businessKey,
applyType: 10 applyType: 10
}, },
// 提单审核
order_landing_bill:{
component: () => import('@/views/ecw/order/components/ApprovalDetail'),
id: this.processInstance.businessKey,
path: this.processInstance.processDefinition?.formCustomViewPath
}
} }
return map[this.processInstance.processDefinition.formCustomViewPath.trim()] return map[this.processInstance.processDefinition.formCustomViewPath.trim()]
} }
......
...@@ -127,16 +127,16 @@ ...@@ -127,16 +127,16 @@
<el-dropdown-item v-if="scope.row.ldStatus==47" command="editLadingBill">编辑提货单</el-dropdown-item> <el-dropdown-item v-if="scope.row.ldStatus==47" command="editLadingBill">编辑提货单</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
<el-dropdown trigger="click"> <el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)">
<el-button type="primary"> <el-button type="primary">
下载<i class="el-icon-arrow-down el-icon--right"></i> 下载<i class="el-icon-arrow-down el-icon--right"></i>
</el-button> </el-button>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item command="">预装单</el-dropdown-item> <el-dropdown-item command="downloadPreloadGoodsList">预装单</el-dropdown-item>
<el-dropdown-item command="">已装单</el-dropdown-item> <el-dropdown-item command="downloadLoadGoodsList">已装单</el-dropdown-item>
<el-dropdown-item command="">应收汇总表</el-dropdown-item> <el-dropdown-item command="downloadReceivableList">应收汇总表</el-dropdown-item>
<el-dropdown-item command="">agent list</el-dropdown-item> <el-dropdown-item command="downloadAgentListFiles">agent list</el-dropdown-item>
<el-dropdown-item command="">son cap</el-dropdown-item> <el-dropdown-item command="downloadSoncapFiles">soncap</el-dropdown-item>
<el-dropdown-item command="">提货单</el-dropdown-item> <el-dropdown-item command="">提货单</el-dropdown-item>
<el-dropdown-item command="">提单Copy</el-dropdown-item> <el-dropdown-item command="">提单Copy</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
...@@ -167,6 +167,7 @@ ...@@ -167,6 +167,7 @@
<script> <script>
import { deletebox, getbox, getboxPage, exportboxExcel } from "@/api/ecw/box"; import { deletebox, getbox, getboxPage, exportboxExcel } from "@/api/ecw/box";
import { downloadFile } from "./shippingSea/utils";
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 { getListTree } from "@/api/ecw/region"; import { getListTree } from "@/api/ecw/region";
...@@ -300,6 +301,9 @@ export default { ...@@ -300,6 +301,9 @@ export default {
this.$set(this.dialogCfg, "width", "600px"); this.$set(this.dialogCfg, "width", "600px");
this.$set(this.dialogCfg, "fullscreen", false); this.$set(this.dialogCfg, "fullscreen", false);
this.$set(this.dialogCfg, "open", true); this.$set(this.dialogCfg, "open", true);
this.currRow = {
transportType: "1",
};
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
...@@ -340,7 +344,7 @@ export default { ...@@ -340,7 +344,7 @@ export default {
return exportboxExcel(params); return exportboxExcel(params);
}) })
.then((response) => { .then((response) => {
this.$download.excel(response, "${table.classComment}.xls"); this.$download.excel(response, "海运管理.xls");
this.exportLoading = false; this.exportLoading = false;
}) })
.catch(() => {}); .catch(() => {});
...@@ -389,6 +393,47 @@ export default { ...@@ -389,6 +393,47 @@ export default {
case "error": case "error":
this.$set(this.dialogCfg, "title", "异常登记"); this.$set(this.dialogCfg, "title", "异常登记");
break; break;
case "downloadPreloadGoodsList":
downloadFile(
command,
{ shipmentId: row.id },
`预装单(${row.selfNo}).xlsx`,
"xlsx"
);
break;
case "downloadLoadGoodsList":
downloadFile(
command,
{ shipmentId: row.id },
`已装单(${row.selfNo}).xlsx`,
"xlsx"
);
break;
case "downloadReceivableList":
downloadFile(
command,
{ shipmentId: row.id },
`应收汇总表(${row.selfNo}).xlsx`,
"xlsx"
);
break;
case "downloadAgentListFiles":
downloadFile(
command,
{ shipmentId: row.id },
`agentList(${row.selfNo}).xlsx`,
"xlsx"
);
break;
case "downloadSoncapFiles":
downloadFile(
command,
{ shipmentId: row.id },
`soncap(${row.selfNo}).xlsx`,
"xlsx"
);
break;
} }
if (["editLadingBill", "cost", "error"].includes(command)) { if (["editLadingBill", "cost", "error"].includes(command)) {
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
<el-row class="shipping-ladingBill"> <el-row class="shipping-ladingBill">
<el-row class="oper-button"> <el-row class="oper-button">
<el-button type="primary" @click="clickZipDownload">打包下载</el-button> <el-button type="primary" @click="clickZipDownload">打包下载</el-button>
<el-button type="primary">应收汇总单</el-button> <el-button type="primary" @click="handleCommand('downloadReceivableList')">应收汇总表</el-button>
<el-button type="primary">下载已装单</el-button> <el-button type="primary" @click="handleCommand('downloadLoadGoodsList')">下载已装单</el-button>
</el-row> </el-row>
<el-row style="margin-top:15px"> <el-row style="margin-top:15px">
...@@ -91,7 +91,11 @@ import { ...@@ -91,7 +91,11 @@ import {
deleteBillService, deleteBillService,
zipDownload, zipDownload,
} from "@/api/ecw/box"; } from "@/api/ecw/box";
import { getTotlContent, getCapacity } from "../shippingSea/utils"; import {
getTotlContent,
getCapacity,
downloadFile,
} from "../shippingSea/utils";
import makeLadingBill from "./makeLadingBill.vue"; import makeLadingBill from "./makeLadingBill.vue";
import previewBill from "./previewBill.vue"; import previewBill from "./previewBill.vue";
import FileSaver from "file-saver"; import FileSaver from "file-saver";
...@@ -169,17 +173,31 @@ export default { ...@@ -169,17 +173,31 @@ export default {
} }
}); });
break; break;
case "downloadLoadGoodsList":
downloadFile(
type,
{ shipmentId: this.shipmentObj.id },
`已装单(${this.shipmentObj.selfNo}).xlsx`,
"xlsx"
);
return;
case "downloadReceivableList":
downloadFile(
type,
{ shipmentId: this.shipmentObj.id },
`应收汇总表(${this.shipmentObj.selfNo}).xlsx`,
"xlsx"
);
return;
} }
this.currRow = row; this.currRow = row;
this.$set(this.dialogCfg, "type", type); this.$set(this.dialogCfg, "type", type);
this.$set(this.dialogCfg, "visible", true); this.$set(this.dialogCfg, "visible", true);
}, },
makeBill(row) { makeBill(row) {
const { bookSeaInfo } = this.shipmentObj;
makeBillService({ makeBillService({
orderId: row.orderId, orderId: row.orderId,
zgDate: '2022-09-27', shipmentId: this.shipmentObj.id,
// zgDate: bookSeaInfo.sailTime,
}).then((res) => { }).then((res) => {
const { data } = res; const { data } = res;
const { titleZh = "", contentZh = "" } = data?.ladingTemplate ?? {}; const { titleZh = "", contentZh = "" } = data?.ladingTemplate ?? {};
......
...@@ -52,11 +52,6 @@ export default { ...@@ -52,11 +52,6 @@ export default {
}); });
}, },
}, },
watch: {
contentHtml(val) {
console.log(val);
},
},
}; };
</script> </script>
......
...@@ -157,9 +157,14 @@ ...@@ -157,9 +157,14 @@
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="表单" name="download"> <el-tab-pane label="表单" name="download">
<el-table :data="[]" style="width: 50%"> <el-table :data="downloadList" style="width: 50%">
<el-table-column prop="" label="文件类型"> </el-table-column> <el-table-column prop="title" label="文件类型"></el-table-column>
<el-table-column prop="" label="下载链接"> </el-table-column> <el-table-column prop="" label="下载链接">
<template slot-scope="scope">
<a v-if="scope.row.serviceName" href="javascript:void(0)" @click="downloadDetailFile(scope.row)">下载</a>
<div v-else>未完成</div>
</template>
</el-table-column>
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
...@@ -199,6 +204,7 @@ import { ...@@ -199,6 +204,7 @@ import {
getTotlContent, getTotlContent,
formatDate, formatDate,
serviceMsg, serviceMsg,
downloadFile,
} from "./shippingSea/utils"; } from "./shippingSea/utils";
import { getSectionList, boxGoodsDetail } from "@/api/ecw/boxSea"; import { getSectionList, boxGoodsDetail } from "@/api/ecw/boxSea";
import { getSupplierPage } from "@/api/ecw/supplier"; import { getSupplierPage } from "@/api/ecw/supplier";
...@@ -264,6 +270,16 @@ export default { ...@@ -264,6 +270,16 @@ export default {
transportTypes: [], transportTypes: [],
// 费用详情 // 费用详情
costDetail: {}, costDetail: {},
// 下载
downloadList: [
{ title: "预装单", serviceName: "downloadPreloadGoodsList" },
{ title: "已装单", serviceName: "downloadLoadGoodsList" },
{ title: "应收汇总表", serviceName: "downloadReceivableList" },
{ title: "提货单", serviceName: "" },
{ title: "agent list", serviceName: "" },
{ title: "soncap", serviceName: "" },
{ title: "提单Copy", serviceName: "" },
],
}; };
}, },
methods: { methods: {
...@@ -427,6 +443,14 @@ export default { ...@@ -427,6 +443,14 @@ export default {
} }
}, },
formatDate, formatDate,
downloadDetailFile(row) {
downloadFile(
row.serviceName,
{ shipmentId: this.shipmentId },
`${row.title}(${this.shipmentObj.selfNo}).xlsx`,
"xlsx"
);
},
}, },
computed: { computed: {
visitedViews() { visitedViews() {
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
<!-- 操作 --> <!-- 操作 -->
<el-row class="operate-button"> <el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)">保存</el-button> <el-button type="primary" @click="onSubmit(1)">保存</el-button>
<el-button type="success" @click="onSubmit(2)" :disabled="isStartCabinet">封柜</el-button> <el-button type="success" @click="onSubmit(2)" :disabled="isSeal">封柜</el-button>
<el-button @click="cancel">关闭</el-button> <el-button @click="cancel">关闭</el-button>
<el-button type="danger" @click="startCabinet" :disabled="isStartCabinet">开始装柜</el-button> <el-button type="danger" @click="startCabinet" :disabled="isStartCabinet">开始装柜</el-button>
</el-row> </el-row>
...@@ -68,10 +68,20 @@ export default { ...@@ -68,10 +68,20 @@ export default {
"ldBoxTime", "ldBoxTime",
"ldOutWarehouseTime", "ldOutWarehouseTime",
]); ]);
let pictures = oldData.ldPictures;
if (oldData.ldPictures) {
pictures = JSON.parse(oldData.ldPictures);
if (Array.isArray(pictures)) {
pictures = pictures.map((item) => item.url).join(",");
}
}
this.cabinetObj = { this.cabinetObj = {
...oldData, ...oldData,
ldWarehouseType: ldWarehouseType:
oldData.ldWarehouseType === 0 ? undefined : oldData.ldWarehouseType, oldData.ldWarehouseType === 0 ? undefined : oldData.ldWarehouseType,
ldPictures: pictures,
}; };
}, },
methods: { methods: {
...@@ -87,9 +97,20 @@ export default { ...@@ -87,9 +97,20 @@ export default {
return; return;
} }
} }
const { ldPictures } = this.cabinetObj;
let pictures = ldPictures?.split(",") ?? [];
// 兼容手机端数据结构
pictures = pictures.map((item) => {
return {
type: "image",
url: item,
};
});
cabinetCreate({ cabinetCreate({
shipmentId: this.$attrs.shipmentObj.id, shipmentId: this.$attrs.shipmentObj.id,
...this.cabinetObj, ...this.cabinetObj,
ldPictures: JSON.stringify(pictures),
operateType, operateType,
}).then((res) => { }).then((res) => {
serviceMsg(res, this).then(() => { serviceMsg(res, this).then(() => {
...@@ -114,6 +135,11 @@ export default { ...@@ -114,6 +135,11 @@ export default {
}, },
computed: { computed: {
isStartCabinet() { isStartCabinet() {
const { currNode, shipmentObj } = this.$attrs;
const status = shipmentObj[currNode.keyName];
return [46, 47].includes(status) ? true : false;
},
isSeal() {
const { currNode, shipmentObj } = this.$attrs; const { currNode, shipmentObj } = this.$attrs;
const status = shipmentObj[currNode.keyName]; const status = shipmentObj[currNode.keyName];
return status === 47 ? true : false; return status === 47 ? true : false;
......
...@@ -196,7 +196,7 @@ ...@@ -196,7 +196,7 @@
{{shopForm.sum||0}} {{shopForm.sum||0}}
</el-form-item> </el-form-item>
<el-form-item label="放入箱数:" prop="num"> <el-form-item label="放入箱数:" prop="num">
<el-input-number v-model="shopForm.num" controls-position="right" :min="1" :max="shopForm.sum"></el-input-number> <el-input-number v-model="shopForm.num" controls-position="right" :min="0" :max="shopForm.sum"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="备注信息:"> <el-form-item label="备注信息:">
<el-input v-model="shopForm.remarks"></el-input> <el-input v-model="shopForm.remarks"></el-input>
...@@ -310,7 +310,7 @@ export default { ...@@ -310,7 +310,7 @@ export default {
let _total = 0; let _total = 0;
const { orderSplitItemBackVOList = [] } = this.splitData; const { orderSplitItemBackVOList = [] } = this.splitData;
orderSplitItemBackVOList.forEach((v) => { orderSplitItemBackVOList.forEach((v) => {
_total += Number(v.splitNum); _total += Number(v.num);
}); });
return _total; return _total;
}, },
...@@ -427,6 +427,7 @@ export default { ...@@ -427,6 +427,7 @@ export default {
}); });
}, },
addShop() { addShop() {
this.shopForm = {};
this.shopOpen = true; this.shopOpen = true;
}, },
changeProdTitleZh() { changeProdTitleZh() {
...@@ -434,7 +435,8 @@ export default { ...@@ -434,7 +435,8 @@ export default {
list = this.currRow.goodsList.filter( list = this.currRow.goodsList.filter(
(item) => item.prodTitleZh == this.shopForm.prodTitleZh (item) => item.prodTitleZh == this.shopForm.prodTitleZh
); );
this.shopForm.sum = list[0].num; this.shopForm.sum =
this.currRow.num - this.currRow.installNum - this.totalSplitNum();
this.shopForm.orderItemId = list[0].orderItemId; this.shopForm.orderItemId = list[0].orderItemId;
this.shopForm.prodTitleEn = list[0].prodTitleEn; this.shopForm.prodTitleEn = list[0].prodTitleEn;
}, },
...@@ -443,7 +445,9 @@ export default { ...@@ -443,7 +445,9 @@ export default {
list = this.orderData.orderItemVOList.filter( list = this.orderData.orderItemVOList.filter(
(item) => item.prodTitleEn == this.shopForm.prodTitleEn (item) => item.prodTitleEn == this.shopForm.prodTitleEn
); );
this.shopForm.sum = list[0].num; this.shopForm.sum =
this.currRow.num - this.currRow.installNum - this.totalSplitNum();
this.shopForm.orderItemId = list[0].orderItemId;
this.shopForm.prodTitleZh = list[0].prodTitleZh; this.shopForm.prodTitleZh = list[0].prodTitleZh;
}, },
shopAdd() { shopAdd() {
...@@ -457,6 +461,10 @@ export default { ...@@ -457,6 +461,10 @@ export default {
this.$message.error("放入箱数不能大于总箱数"); this.$message.error("放入箱数不能大于总箱数");
return; return;
} }
if (this.shopForm.num === 0) {
this.$message.error("放入箱数不能为0");
return;
}
let params = { let params = {
num: this.shopForm.num, num: this.shopForm.num,
...@@ -467,7 +475,6 @@ export default { ...@@ -467,7 +475,6 @@ export default {
createSplitItem(params).then((res) => { createSplitItem(params).then((res) => {
this.$message.success("放入成功"); this.$message.success("放入成功");
this.getSplit(); this.getSplit();
this.shopForm = {};
}); });
this.shopOpen = false; this.shopOpen = false;
} }
......
...@@ -40,7 +40,12 @@ ...@@ -40,7 +40,12 @@
<el-table-column label="序号" type="index" align="center" width="50" /> <el-table-column label="序号" type="index" align="center" width="50" />
<el-table-column label="订单号" align="center" prop="orderNo"> <el-table-column label="订单号" align="center" prop="orderNo">
<template slot-scope="scope"> <template slot-scope="scope">
<a href="javascript:void(0);" class="order-href" @click="orderClick(scope.row)">{{ scope.row.orderNo }}</a> <div>
<a href="javascript:void(0);" class="order-href" @click="orderClick(scope.row)">{{ scope.row.orderNo }}</a>
</div>
<div style="color:blue;fontWeight:bold;">
{{ scope.row.isExternalWarehouse === 1 ? '(外部仓)' : ''}}
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="货物信息" align="center" prop="goodsList"> <el-table-column label="货物信息" align="center" prop="goodsList">
...@@ -183,13 +188,44 @@ ...@@ -183,13 +188,44 @@
</template> </template>
<!-- 装柜批量输入 --> <!-- 装柜批量输入 -->
<template v-if="dialogConfig.type === 'batchInput' && dialogConfig.dialogVisible"> <template v-if="dialogConfig.type === 'batchInput' && dialogConfig.dialogVisible">
<el-form ref="batchForm" :rules="rules" :model="batchObj" label-position="top"> <el-form ref="batchForm" :rules="rules" :model="batchObj">
<el-form-item label="" prop="qrCode"> <el-form-item label="" prop="qrCode" class="two-element">
<el-input type="textarea" :rows="3" v-model="batchObj.qrCode" placeholder="请输入,多个以逗号分隔" clearable /> <el-input v-model="batchObj.qrCode" placeholder="请输入订单号" clearable />
<el-button style="marginLeft:10px;" type="primary" @click="queryOrderInfo">确定</el-button>
</el-form-item> </el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="订单号">
{{boxOrderInfo.orderNo}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="箱数">
<el-input-number v-if="boxOrderInfo.isExternalWarehouse === 1" v-model="batchObj.boxNum" :min="0" :max="boxOrderInfo.num" />
<template v-else>
{{boxOrderInfo.num}}
</template>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="方数">
{{getTotlContent(boxOrderInfo, ['volume'])}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="重量">
{{getTotlContent(boxOrderInfo, ['weight'])}}
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<el-row class="operate-button"> <el-row class="operate-button">
<el-button type="primary" @click="onSubmit('batchForm')">提交</el-button> <el-button type="primary" :disabled="boxOrderInfo.orderId ? false : true" @click="batchLoad">提交</el-button>
<el-button @click="closeDialog2">取消</el-button> <el-button @click="closeDialog2">取消</el-button>
</el-row> </el-row>
</template> </template>
...@@ -214,6 +250,8 @@ import { ...@@ -214,6 +250,8 @@ import {
boxUpdate, boxUpdate,
approvalCreate, approvalCreate,
approvalCancel, approvalCancel,
getOrderDetailByBoxNo,
externalLoad,
} from "@/api/ecw/boxSea"; } from "@/api/ecw/boxSea";
import { import {
getTotlContent, getTotlContent,
...@@ -279,6 +317,8 @@ export default { ...@@ -279,6 +317,8 @@ export default {
// 当前行 // 当前行
currRow: {}, currRow: {},
selectedUsers: [], selectedUsers: [],
// 订单信息
boxOrderInfo: {},
}; };
}, },
created() { created() {
...@@ -352,6 +392,7 @@ export default { ...@@ -352,6 +392,7 @@ export default {
case "batchInput": case "batchInput":
this.$set(this.dialogConfig, "fullscreen", false); this.$set(this.dialogConfig, "fullscreen", false);
this.batchObj = {}; this.batchObj = {};
this.boxOrderInfo = {};
break; break;
case "correction": case "correction":
this.$set(this.dialogConfig, "fullscreen", false); this.$set(this.dialogConfig, "fullscreen", false);
...@@ -520,11 +561,54 @@ export default { ...@@ -520,11 +561,54 @@ export default {
}); });
}); });
}, },
/* 跳转详情 */
jumpReviewDetail() { jumpReviewDetail() {
const { cabinetApprovalInfo } = this.shipmentObj; const { cabinetApprovalInfo } = this.shipmentObj;
toReviewDetail.apply(this, [cabinetApprovalInfo.bpmProcessId]); toReviewDetail.apply(this, [cabinetApprovalInfo.bpmProcessId]);
this.$emit("closeDialog1", "close"); this.$emit("closeDialog1", "close");
}, },
queryOrderInfo() {
this.$refs["batchForm"].validate((valid) => {
if (valid) {
getOrderDetailByBoxNo({
orderNumCode: this.batchObj.qrCode,
shipmentId: this.shipmentObj.id,
}).then((res) => {
const { data } = res;
this.boxOrderInfo = data;
this.batchObj.boxNum = data.num;
});
}
});
},
batchLoad() {
if (!this.boxOrderInfo.orderId) {
this.$message.error("请输入订单号");
return;
}
if (this.batchObj.boxNum === 0) {
this.$message.error("箱数不能为0");
return;
}
let params = {
boxNum: this.boxOrderInfo.num,
orderId: this.boxOrderInfo.orderId,
orderNo: this.boxOrderInfo.orderNo,
shipmentId: this.shipmentObj.id,
};
if (this.boxOrderInfo.isExternalWarehouse === 1) {
params.boxNum = this.batchObj.boxNum;
}
externalLoad(params).then((res) => {
serviceMsg(res, this).then(() => {
this.closeDialog2();
this.boxOrderInfo = {};
this.getLoadSecGoodsList();
});
});
},
}, },
computed: { computed: {
/* 是否审核中 */ /* 是否审核中 */
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<el-date-picker type="datetime" placeholder="请选择日期" v-model="cusDeclarationObj.dcCutOffTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> <el-date-picker type="datetime" placeholder="请选择日期" v-model="cusDeclarationObj.dcCutOffTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="dcCustomsStatus"> <el-form-item label="状态" prop="dcCustomsStatus">
<el-radio-group v-model="cusDeclarationObj.dcCustomsStatus" :disabled="inReview"> <el-radio-group v-model="cusDeclarationObj.dcCustomsStatus" :disabled="inReview || isCheckDeal">
<el-radio v-for="item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_DCCUSTOMS_STATUS)" :key="item.value" :label="item.value">{{item.label}}</el-radio> <el-radio v-for="item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_DCCUSTOMS_STATUS)" :key="item.value" :label="item.value">{{item.label}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
...@@ -38,14 +38,14 @@ ...@@ -38,14 +38,14 @@
<!-- 查验 --> <!-- 查验 -->
<div v-show="cusDeclarationObj.dcCustomsStatus === '3'"> <div v-show="cusDeclarationObj.dcCustomsStatus === '3'">
<el-form-item label="查验"> <el-form-item label="查验">
<el-radio-group v-model="cusDeclarationObj.dcCheckStatus" :disabled="inReview"> <el-radio-group v-model="cusDeclarationObj.dcCheckStatus" :disabled="inReview || isCheckDeal">
<el-radio v-for="item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_CHECK_STATUS)" :key="item.value" :label="item.value">{{item.label}}</el-radio> <el-radio v-for="item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_CHECK_STATUS)" :key="item.value" :label="item.value" :disabled="disabledRadio(item)">{{item.label}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</div> </div>
<!-- 退场 --> <!-- 退场 -->
<div v-show="cusDeclarationObj.dcCheckStatus === '1' || cusDeclarationObj.dcCheckStatus === '2'"> <div v-show="['1','2','3'].includes(cusDeclarationObj.dcCheckStatus)">
<el-form-item label="查验时间"> <el-form-item label="查验时间">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="cusDeclarationObj.dcCheckTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> <el-date-picker type="datetime" placeholder="请选择日期" v-model="cusDeclarationObj.dcCheckTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item> </el-form-item>
...@@ -55,18 +55,21 @@ ...@@ -55,18 +55,21 @@
<el-form-item label="新封条"> <el-form-item label="新封条">
<el-input v-model="cusDeclarationObj.dcStripSeal" placeholder="请输入新封条" clearable /> <el-input v-model="cusDeclarationObj.dcStripSeal" placeholder="请输入新封条" clearable />
</el-form-item> </el-form-item>
<el-form-item label="退场状态" v-if="cusDeclarationObj.dcCheckStatus === '1' || cusDeclarationObj.dcCheckStatus === '2'">
{{getCheckExamineStatus}}
</el-form-item>
</div> </div>
<!-- 放行 --> <!-- 放行 -->
<el-form-item label="放行时间" v-show="cusDeclarationObj.dcCustomsStatus === '2' || cusDeclarationObj.dcCheckStatus === '2'"> <el-form-item label="放行时间" v-show="cusDeclarationObj.dcCustomsStatus === '2' || cusDeclarationObj.dcCheckStatus === '3'">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="cusDeclarationObj.dcPassTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> <el-date-picker type="datetime" placeholder="请选择日期" v-model="cusDeclarationObj.dcPassTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="装箱单"> <!-- <el-form-item label="装箱单">
<el-button type="primary">下载装箱单</el-button> <el-button type="primary">下载装箱单</el-button>
</el-form-item> </el-form-item> -->
<el-form-item label="报关单"> <el-form-item label="报关单">
<el-button type="primary">下载所有报关单</el-button> <el-button type="primary" @click="downloadCusFile">下载所有报关单</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -75,8 +78,8 @@ ...@@ -75,8 +78,8 @@
<el-button type="primary" plain @click="canclAudit">{{cusDeclarationObj.dcCheckStatus === '1' ? '取消全部退场审核' : '取消部分退场审核'}}</el-button> <el-button type="primary" plain @click="canclAudit">{{cusDeclarationObj.dcCheckStatus === '1' ? '取消全部退场审核' : '取消部分退场审核'}}</el-button>
</el-row> </el-row>
<el-row class="operate-button"> <el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)">保存</el-button> <el-button type="primary" @click="onSubmit(1)" :disabled="isCheckDeal">保存</el-button>
<el-button type="success" v-if="!inReview" @click="onSubmit(2)">提交</el-button> <el-button type="success" v-if="!inReview" @click="onSubmit(2)" :disabled="isCheckDeal">提交</el-button>
<el-button @click="cancel">关闭</el-button> <el-button @click="cancel">关闭</el-button>
<el-button type="primary" @click="extraCost" v-show="cusDeclarationObj.dcCustomsStatus === '2' || cusDeclarationObj.dcCustomsStatus === '3'">额外费用</el-button> <el-button type="primary" @click="extraCost" v-show="cusDeclarationObj.dcCustomsStatus === '2' || cusDeclarationObj.dcCustomsStatus === '3'">额外费用</el-button>
</el-row> </el-row>
...@@ -143,13 +146,14 @@ import { ...@@ -143,13 +146,14 @@ import {
extraCostOrder, extraCostOrder,
extraCostCreate, extraCostCreate,
extraCostUpdate, extraCostUpdate,
approvalCreate, approvalCancel,
} from "@/api/ecw/boxSea"; } from "@/api/ecw/boxSea";
import { import {
formatNumberString, formatNumberString,
formatDateStr, formatDateStr,
serviceMsg, serviceMsg,
toReviewDetail, toReviewDetail,
downloadFile,
} from "../utils"; } from "../utils";
import ImageUpload from "@/components/ImageUpload"; import ImageUpload from "@/components/ImageUpload";
...@@ -260,7 +264,7 @@ export default { ...@@ -260,7 +264,7 @@ export default {
if (["1", "2"].includes(dcCheckStatus)) { if (["1", "2"].includes(dcCheckStatus)) {
const { checkExamineStatus } = this.shipmentObj; const { checkExamineStatus } = this.shipmentObj;
// 退场审核状态,1-审核中,2-审核成功,3-审核失败,4-取消 // 退场审核状态,1-审核中,2-审核成功,3-审核失败,4-取消
if ([0, 3, 4].includes(checkExamineStatus)) { if ([0, 2, 3, 4].includes(checkExamineStatus)) {
this.$modal this.$modal
.confirm( .confirm(
`您确认提交${ `您确认提交${
...@@ -278,8 +282,9 @@ export default { ...@@ -278,8 +282,9 @@ export default {
this.$emit("getBoxInfo"); this.$emit("getBoxInfo");
}); });
}); });
}) });
.catch(() => {}); } else {
this.submitCustomsCreate(operateType);
} }
} }
} }
...@@ -409,19 +414,45 @@ export default { ...@@ -409,19 +414,45 @@ export default {
}, },
/* 取消审核 */ /* 取消审核 */
canclAudit() { canclAudit() {
const { currNode, shipmentObj } = this.$attrs;
const { voName } = currNode;
approvalCancel({ approvalCancel({
applyReason: "取消审核", applyReason: "取消审核",
id: shipmentObj[voName].id, id: this.shipmentObj["customsApprovalInfo"].id,
shipmentId: shipmentObj.id, shipmentId: this.shipmentObj.id,
}).then((res) => { }).then((res) => {
serviceMsg(res, this).then(() => { serviceMsg(res, this).then(() => {
// 触发外层重新查询出货信息 // 触发外层重新查询出货信息
this.cancel("close");
this.$emit("getBoxInfo"); this.$emit("getBoxInfo");
}); });
}); });
}, },
/* 判断查验选择是否禁用 */
disabledRadio(item) {
const {
checkExamineStatus,
checkDealStatus,
customsInfo = {},
} = this.shipmentObj;
const { dcCheckStatus } = customsInfo;
// 部分退场状态并且审核通过,退场不可选择
if (
checkExamineStatus === 2 &&
dcCheckStatus === 2 &&
item.value === "1"
) {
return true;
}
return false;
},
/* 下载报关单 */
downloadCusFile() {
downloadFile(
"downloadCustomFiles",
{ shipmentId: this.shipmentObj.id },
`报关单(${this.shipmentObj.selfNo}).xlsx`,
"xlsx"
);
},
}, },
watch: { watch: {
"cusDeclarationObj.dcBoxWgt"(dcBoxWgt) { "cusDeclarationObj.dcBoxWgt"(dcBoxWgt) {
...@@ -433,6 +464,14 @@ export default { ...@@ -433,6 +464,14 @@ export default {
"cusDeclarationObj.dcCustomsStatus"(val) { "cusDeclarationObj.dcCustomsStatus"(val) {
if (val !== "3") { if (val !== "3") {
this.$set(this.cusDeclarationObj, "dcCheckStatus", ""); this.$set(this.cusDeclarationObj, "dcCheckStatus", "");
} else {
const { customsInfo = {} } = this.shipmentObj;
this.$set(
this.cusDeclarationObj,
"dcCheckStatus",
(customsInfo.dcCheckStatus && String(customsInfo.dcCheckStatus)) ||
"3"
);
} }
}, },
shipmentObj: { shipmentObj: {
...@@ -448,6 +487,40 @@ export default { ...@@ -448,6 +487,40 @@ export default {
}, },
}, },
}, },
computed: {
/* 获取报关审核退场状态文字 */
getCheckExamineStatus() {
const { checkExamineStatus, customsInfo = {} } = this.shipmentObj;
const { dcCheckStatus } = customsInfo;
if (checkExamineStatus === 1) {
return dcCheckStatus === 1 ? "退场审核中" : "部分退场审核中";
}
if (checkExamineStatus === 2) {
return dcCheckStatus === 1
? "审核通过,退场中"
: "审核通过,部分退场中";
}
return "未审核";
},
/* 判断是否已处理 */
isCheckDeal() {
const {
checkExamineStatus,
checkDealStatus,
customsInfo = {},
} = this.shipmentObj;
const { dcCheckStatus } = customsInfo;
// 退场未处理不能操作
if (
checkExamineStatus === 2 &&
dcCheckStatus === 1 &&
checkDealStatus === 0
) {
return true;
}
return false;
},
},
}; };
</script> </script>
......
...@@ -120,7 +120,16 @@ ...@@ -120,7 +120,16 @@
<div v-show="!part.fold"> <div v-show="!part.fold">
<el-table v-loading="preLoading" border :data="part.sectionGoodsList" @select="(selection)=>checkboxSelect(selection, part)" @select-all="(selection)=>checkboxSelect(selection, part)"> <el-table v-loading="preLoading" border :data="part.sectionGoodsList" @select="(selection)=>checkboxSelect(selection, part)" @select-all="(selection)=>checkboxSelect(selection, part)">
<el-table-column type="selection" align="center" width="55" fixed="left" /> <el-table-column type="selection" align="center" width="55" fixed="left" />
<el-table-column label="订单号" align="center" prop="orderNo" width="120" /> <el-table-column label="订单号" align="center" prop="orderNo" width="120">
<template slot-scope="scope">
<div>
{{scope.row.orderNo}}
</div>
<div style="color:blue;fontWeight:bold;">
{{ scope.row.isExternalWarehouse === 1 ? '(外部仓)' : ''}}
</div>
</template>
</el-table-column>
<el-table-column label="目的地" align="center" prop="destWarehouseName" width="120" /> <el-table-column label="目的地" align="center" prop="destWarehouseName" width="120" />
<el-table-column label="入仓时间" align="center" prop="rucangTime" width="120"> <el-table-column label="入仓时间" align="center" prop="rucangTime" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -205,6 +214,9 @@ ...@@ -205,6 +214,9 @@
<p>重货比:</p> <p>重货比:</p>
<p>{{item.weightRatio}}</p> <p>{{item.weightRatio}}</p>
</div> </div>
<div v-if="item.isExternalWarehouse === 0" style="color:blue;fontWeight:bold;">
<p>外部仓</p>
</div>
<div class="table-button"> <div class="table-button">
<el-dropdown trigger="click" @command="(command)=>handleGoods('all',item,command)"> <el-dropdown trigger="click" @command="(command)=>handleGoods('all',item,command)">
<el-button type="success" size="small">预装全部</el-button> <el-button type="success" size="small">预装全部</el-button>
...@@ -234,7 +246,7 @@ ...@@ -234,7 +246,7 @@
</el-table-column> </el-table-column>
<el-table-column label="包装类型" align="center" prop=""> <el-table-column label="包装类型" align="center" prop="">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_PACKAGE_TYPE" :value="scope.row.unit" /> <dict-tag :type="DICT_TYPE.ECW_PACKAGING_TYPE" :value="scope.row.unit" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="材质" align="center" prop="material"> <el-table-column label="材质" align="center" prop="material">
......
...@@ -28,7 +28,16 @@ ...@@ -28,7 +28,16 @@
<el-table border :data="tallyList" @select="checkboxSelect" @select-all="checkboxSelect" max-height="600px"> <el-table border :data="tallyList" @select="checkboxSelect" @select-all="checkboxSelect" max-height="600px">
<el-table-column type="selection" align="center" width="55" fixed="left" /> <el-table-column type="selection" align="center" width="55" fixed="left" />
<el-table-column type="index" align="center" label="序号" width="50" /> <el-table-column type="index" align="center" label="序号" width="50" />
<el-table-column label="订单号" align="center" prop="orderNo" /> <el-table-column label="订单号" align="center" prop="orderNo">
<template slot-scope="scope">
<div>
{{scope.row.orderNo}}
</div>
<div style="color:blue;fontWeight:bold;">
{{ scope.row.isExternalWarehouse === 1 ? '(外部仓)' : ''}}
</div>
</template>
</el-table-column>
<el-table-column label="商品信息" width="250px" align="center" prop="prodTitleZh"> <el-table-column label="商品信息" width="250px" align="center" prop="prodTitleZh">
</el-table-column> </el-table-column>
<el-table-column label="备案" align="center" prop="productRecord"> <el-table-column label="备案" align="center" prop="productRecord">
......
import dayjs from "dayjs"; import dayjs from "dayjs";
import * as _BOX from "@/api/ecw/box";
import FileSaver from "file-saver";
/** /**
* 节点状态值 * 节点状态值
...@@ -442,7 +444,7 @@ function seaBaseData() { ...@@ -442,7 +444,7 @@ function seaBaseData() {
* *
* @return {*} * @return {*}
*/ */
function seaAirBaseData() { function seaAirBaseData() {
return [ return [
[ [
{ {
...@@ -1492,6 +1494,13 @@ function toReviewDetail(bpmProcessId) { ...@@ -1492,6 +1494,13 @@ function toReviewDetail(bpmProcessId) {
}); });
} }
function downloadFile(funName, params, fileName, fileFormat) {
_BOX[funName](params).then((res) => {
let blob = new Blob([res], { type: `application/${fileFormat}` });
FileSaver.saveAs(blob, fileName);
});
}
export { export {
getStatusName, getStatusName,
getColmnMapping, getColmnMapping,
...@@ -1508,4 +1517,5 @@ export { ...@@ -1508,4 +1517,5 @@ export {
sumStatistics, sumStatistics,
serviceMsg, serviceMsg,
toReviewDetail, toReviewDetail,
downloadFile,
}; };
<template> <template>
<el-dialog visible :close-on-click-modal="false" :before-close="closeDialog" :title="$t('佣金规则申请')"> <el-dialog visible :close-on-click-modal="false" :before-close="closeDialog" :title="$t('佣金规则申请')">
<el-form ref="form" :model="form" label-width="80px" :rules="rules" :disabled="!!form.applyStatus"> <el-form ref="form" :model="form" label-width="80px" :rules="rules" :disabled="form.applyStatus == 1">
<el-form-item :label="$t('商品类型')"> <el-form-item :label="$t('商品类型')">
<span>{{ getProductTypeNameById(form.productType) }}</span> <span>{{ getProductTypeNameById(form.productType) }}</span>
</el-form-item> </el-form-item>
......
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
<el-table-column :label="$t('件数')" width="90px" prop="num" /> <el-table-column :label="$t('件数')" width="90px" prop="num" />
<el-table-column :label="$t('包装单位')"> <el-table-column :label="$t('包装单位')">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :value="scope.row.unit" :type="DICT_TYPE.ECW_PACKAGE_TYPE" defaultable /> <dict-tag :value="scope.row.unit" :type="DICT_TYPE.ECW_PACKAGING_TYPE" defaultable />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('箱规(m)')" width="120px" prop="boxGauge" /> <el-table-column :label="$t('箱规(m)')" width="120px" prop="boxGauge" />
......
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
</el-descriptions> </el-descriptions>
<el-descriptions :column="3" border> <el-descriptions :column="3" border>
<el-descriptions-item :label="$t('收货人')" :labelStyle="labelStyle"> <el-descriptions-item :label="$t('收货人')" :labelStyle="labelStyle">
<el-form-item label="" label-width="0" style="margin-bottom: 0" prop="consigneeId" required :error="$t('收货人不能为空')"> <el-form-item label="" label-width="0" style="margin-bottom: 0" prop="consigneeId" required :error="$t('收货人不能为空')">
<customer-contact-selector v-model="form.consigneeId" @change="consignee = $event" type="2" /> <customer-contact-selector v-model="form.consigneeId" @change="consignee = $event" type="2" />
</el-form-item> </el-form-item>
...@@ -90,7 +90,7 @@ ...@@ -90,7 +90,7 @@
{{consignee.email || this.$t('')}} {{consignee.email || this.$t('')}}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> --> </el-descriptions> -->
<div class="form-section"> <div class="form-section">
<el-form-item :label="$t('运输方式')" prop="transportId"> <el-form-item :label="$t('运输方式')" prop="transportId">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="form.transportId" @input="calculationPrice" class="w-200"/> <dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="form.transportId" @input="calculationPrice" class="w-200"/>
...@@ -174,7 +174,7 @@ ...@@ -174,7 +174,7 @@
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('件数')" width="90px"> <el-table-column :label="$t('件数')" width="90px">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-input v-model.number="row.num" @input="calculationPrice" :disabled="!canAddProduct" /> <el-input v-model.number="row.num" @input="calculationPrice" :disabled="!canAddProduct" />
...@@ -182,7 +182,7 @@ ...@@ -182,7 +182,7 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('包装单位')"> <el-table-column :label="$t('包装单位')">
<template slot-scope="{row}"> <template slot-scope="{row}">
<dict-selector v-model="row.unit" :type="DICT_TYPE.ECW_PACKAGE_TYPE" defaultable @input="calculationPrice" :disabled="!canAddProduct" /> <dict-selector v-model="row.unit" :type="DICT_TYPE.ECW_PACKAGING_TYPE" defaultable @input="calculationPrice" :disabled="!canAddProduct" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('数量') + '(个)'"> <el-table-column :label="$t('数量') + '(个)'">
...@@ -263,7 +263,7 @@ ...@@ -263,7 +263,7 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- <!--
</el-card> </el-card>
<el-card class="mt-10"> --> <el-card class="mt-10"> -->
<div class="card-title" style="padding:20px 0;">{{$t('合计')}}</div> <div class="card-title" style="padding:20px 0;">{{$t('合计')}}</div>
...@@ -280,7 +280,7 @@ ...@@ -280,7 +280,7 @@
<el-descriptions-item label="总数量"> <el-descriptions-item label="总数量">
{{sum.totalQuatity.toFixed() || 0}} {{sum.totalQuatity.toFixed() || 0}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('总货值') + '(RMB)'"> <el-descriptions-item :label="$t('总货值') + '(RMB)'">
{{sum.totalWorth.toFixed() || 0}}{{$t('元')}} {{sum.totalWorth.toFixed() || 0}}{{$t('元')}}
</el-descriptions-item> </el-descriptions-item>
...@@ -289,7 +289,7 @@ ...@@ -289,7 +289,7 @@
<el-card class="mt-10"> <el-card class="mt-10">
<div class="card-title" slot="header">{{$t('预计费用')}}</div> <div class="card-title" slot="header">{{$t('预计费用')}}</div>
<el-descriptions :column="5" border> <el-descriptions :column="5" border>
<el-descriptions-item :label="$t('保价费')"> <el-descriptions-item :label="$t('保价费')">
{{fee.insuranceFee || 0}} {{$t('美元')}} {{fee.insuranceFee || 0}} {{$t('美元')}}
...@@ -316,7 +316,7 @@ ...@@ -316,7 +316,7 @@
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<div class="card-title" style="padding:20px 0;">{{$t('优惠信息')}}</div> <div class="card-title" style="padding:20px 0;">{{$t('优惠信息')}}</div>
<el-table :data="couponList" :show-header="false"> <el-table :data="couponList" :show-header="false">
<el-table-column label=""> <el-table-column label="">
...@@ -337,7 +337,7 @@ ...@@ -337,7 +337,7 @@
</el-table-column> </el-table-column>
<el-table-column label=""> <el-table-column label="">
<template slot-scope="{row}"> <template slot-scope="{row}">
-{{row.reduceAmount}} -{{row.reduceAmount}}
{{currencyMap[row.reduceCurrencyId]}} {{currencyMap[row.reduceCurrencyId]}}
</template> </template>
</el-table-column> </el-table-column>
...@@ -361,7 +361,7 @@ ...@@ -361,7 +361,7 @@
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-card> </el-card>
<el-card class="mt-10"> <el-card class="mt-10">
<div class="card-title" slot="header">{{$t('通用')}}</div> <div class="card-title" slot="header">{{$t('通用')}}</div>
<div class="form-section"> <div class="form-section">
...@@ -369,7 +369,7 @@ ...@@ -369,7 +369,7 @@
<el-input v-model="form.marks" placeholder="" class="w-200"></el-input> <el-input v-model="form.marks" placeholder="" class="w-200"></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div class="form-section"> <div class="form-section">
<el-form-item :label="$t('报关方式')" prop="customsType"> <el-form-item :label="$t('报关方式')" prop="customsType">
<dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" v-model="form.customsType" form-type="radio" defaultable /> <dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" v-model="form.customsType" form-type="radio" defaultable />
</el-form-item> </el-form-item>
...@@ -398,7 +398,7 @@ ...@@ -398,7 +398,7 @@
<el-date-picker v-model="form.endTime" placeholder="" value-format="yyyy-MM-dd HH:mm:ss" class="w-200"></el-date-picker> <el-date-picker v-model="form.endTime" placeholder="" value-format="yyyy-MM-dd HH:mm:ss" class="w-200"></el-date-picker>
</el-form-item> </el-form-item>
</div> </div>
<div class="form-section"> <div class="form-section">
<el-form-item :label="$t('交货方式')"> <el-form-item :label="$t('交货方式')">
<!-- <!--
...@@ -406,7 +406,7 @@ ...@@ -406,7 +406,7 @@
FOB(离岸价),CIF(到岸价),CNF(成本加运费),EXW(出厂价) FOB(离岸价),CIF(到岸价),CNF(成本加运费),EXW(出厂价)
--> -->
<dict-selector :type="DICT_TYPE.ECW_TRADE_TYPE" fomtter="number" v-model="form.tradeType" class="w-200"/> <dict-selector :type="DICT_TYPE.ECW_TRADE_TYPE" fomtter="number" v-model="form.tradeType" class="w-200"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('交货地址')"> <el-form-item :label="$t('交货地址')">
<el-input v-model="form.tradeAdress" placeholder="港口或地点"></el-input> <el-input v-model="form.tradeAdress" placeholder="港口或地点"></el-input>
...@@ -433,7 +433,7 @@ ...@@ -433,7 +433,7 @@
</el-select> --> </el-select> -->
<supplier-selector v-model="form.transportVO.airlineCompany" companyType="10" /> <supplier-selector v-model="form.transportVO.airlineCompany" companyType="10" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('船公司')" v-if="[2].indexOf(+form.transportId) > -1"> <el-form-item :label="$t('船公司')" v-if="[2].indexOf(+form.transportId) > -1">
<!-- <el-select placeholder="" v-model="form.shippingCompany"> <!-- <el-select placeholder="" v-model="form.shippingCompany">
</el-select> --> </el-select> -->
...@@ -462,12 +462,12 @@ ...@@ -462,12 +462,12 @@
<el-input v-model="form.transportVO.packageRemarks" ></el-input> <el-input v-model="form.transportVO.packageRemarks" ></el-input>
</el-form-item> </el-form-item>
</el-card> </el-card>
<el-form-item label="" class="mt-20"> <el-form-item label="" class="mt-20">
<!-- 非草稿状态显示为编辑按钮 --> <!-- 非草稿状态显示为编辑按钮 -->
<el-button v-if="form.offerId && form.status != 2" type="primary" @click="submitForm(2)">{{$t('编辑')}}</el-button> <el-button v-if="form.offerId && form.status != 2" type="primary" @click="submitForm(2)">{{$t('编辑')}}</el-button>
<template v-else> <template v-else>
<el-button type="primary" @click="submitForm(2)">{{$t('保存草稿')}}</el-button> <!-- 草稿 --> <el-button type="primary" @click="submitForm(2)">{{$t('保存草稿')}}</el-button> <!-- 草稿 -->
<el-button type="primary" @click="submitForm(3)">{{$t('确认报价')}}</el-button> <!-- 需求确认 --> <el-button type="primary" @click="submitForm(3)">{{$t('确认报价')}}</el-button> <!-- 需求确认 -->
...@@ -714,7 +714,7 @@ export default { ...@@ -714,7 +714,7 @@ export default {
} }
arr.push(it) arr.push(it)
}) })
// 没有累加保价费(没有美元计价)但是有保价费则需要加上去 // 没有累加保价费(没有美元计价)但是有保价费则需要加上去
if(!withInsuranceFee && this.fee && this.fee.insuranceFee){ if(!withInsuranceFee && this.fee && this.fee.insuranceFee){
arr.push({ arr.push({
...@@ -771,7 +771,7 @@ export default { ...@@ -771,7 +771,7 @@ export default {
}, },
'form.lineId'(lineId){ 'form.lineId'(lineId){
let router = this.routerList.find(item => item.id == lineId) let router = this.routerList.find(item => item.id == lineId)
if(!router) return if(!router) return
this.$set(this.form, 'departureId', router.startCityId) this.$set(this.form, 'departureId', router.startCityId)
this.$set(this.form, 'objectiveId', router.destCityId) this.$set(this.form, 'objectiveId', router.destCityId)
}, },
...@@ -869,7 +869,7 @@ export default { ...@@ -869,7 +869,7 @@ export default {
titleEn: product.titleEn titleEn: product.titleEn
}) })
} }
this.calculationPrice() this.calculationPrice()
}, },
onLineChange(row){ onLineChange(row){
...@@ -934,14 +934,14 @@ export default { ...@@ -934,14 +934,14 @@ export default {
if (!valid) { if (!valid) {
return this.$showFormValidateErrors(errors) return this.$showFormValidateErrors(errors)
} }
this.form.prodCreateReqVOList.map(item => { this.form.prodCreateReqVOList.map(item => {
item.prodAttrIds = item.prodAttrArr.join(',') item.prodAttrIds = item.prodAttrArr.join(',')
item.lineId = this.form.lineId item.lineId = this.form.lineId
item.channelId = this.form.channelId item.channelId = this.form.channelId
item.transportId = this.form.transportId item.transportId = this.form.transportId
}) })
// 修改的提交 // 修改的提交
if (this.form.offerId != null) { if (this.form.offerId != null) {
let data = Object.assign({}, this.form, { let data = Object.assign({}, this.form, {
...@@ -986,9 +986,9 @@ export default { ...@@ -986,9 +986,9 @@ export default {
}) })
if(this.calculating || !calcable) return false if(this.calculating || !calcable) return false
this.calculating = true this.calculating = true
console.log('calculationPrice') console.log('calculationPrice')
calculationPrice({ calculationPrice({
lineId: this.form.lineId, lineId: this.form.lineId,
transportId: this.form.transportId, transportId: this.form.transportId,
...@@ -1005,8 +1005,8 @@ export default { ...@@ -1005,8 +1005,8 @@ export default {
this.$set(this, 'couponTotalAmountList', res.data.availableDto.couponTotalAmountList) this.$set(this, 'couponTotalAmountList', res.data.availableDto.couponTotalAmountList)
this.$set(this, 'couponAvailableGroupDtoList', res.data.availableDto.couponAvailableGroupDtoList) this.$set(this, 'couponAvailableGroupDtoList', res.data.availableDto.couponAvailableGroupDtoList)
} }
this.form.prodCreateReqVOList.map((item, index) => { this.form.prodCreateReqVOList.map((item, index) => {
this.$set(item, 'fee', res.data.prodCostDtoList[index] || null) this.$set(item, 'fee', res.data.prodCostDtoList[index] || null)
}) })
...@@ -1049,9 +1049,9 @@ export default { ...@@ -1049,9 +1049,9 @@ export default {
cursor: pointer; cursor: pointer;
} }
} }
} }
::v-deep .product-list .el-form-item__error{ ::v-deep .product-list .el-form-item__error{
position: static; position: static;
} }
</style> </style>
\ No newline at end of file
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
<el-table-column <el-table-column
:label="$t('包装')"> :label="$t('包装')">
<template v-slot="{row}"> <template v-slot="{row}">
<dict-tag :value="row.unit" :type="DICT_TYPE.ECW_PACKAGE_TYPE" /> <dict-tag :value="row.unit" :type="DICT_TYPE.ECW_PACKAGING_TYPE" />
</template> </template>
</el-table-column> </el-table-column>
...@@ -95,7 +95,7 @@ ...@@ -95,7 +95,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- <div style="text-align: center;margin-top: 80px"> <!-- <div style="text-align: center;margin-top: 80px">
<el-button type="primary">申请重货优惠</el-button> <el-button type="primary">申请重货优惠</el-button>
<el-button type="primary">申请泡货优惠</el-button> <el-button type="primary">申请泡货优惠</el-button>
......
...@@ -124,15 +124,17 @@ ...@@ -124,15 +124,17 @@
<!--已全部放货,但是未复核--> <!--已全部放货,但是未复核-->
<template v-if="scope.row.cargoControlStatus == 1 && scope.row.isToReview"> <template v-if="scope.row.cargoControlStatus == 1 && scope.row.isToReview">
<el-button type="text" size="mini" @click="review(scope.row)">{{$t('放货复核')}}</el-button> <el-button type="text" size="mini" @click="review(scope.row)">{{$t('放货复核')}}</el-button>
<el-button type="text" size="mini" @click="toDetail(scope.row)" >{{$t('修改')}}</el-button>
<el-button type="text" size="mini" @click="toDetail(scope.row)" >{{$t('取消')}}</el-button>
</template> </template>
<!--已完成放货,没有待复核;真正的放货完成--> <!--已完成放货,没有待复核;真正的放货完成-->
<template v-if="scope.row.cargoControlStatus == 1 && !scope.row.isToReview"> <template v-if="scope.row.cargoControlStatus == 1 && !scope.row.isToReview">
<!-- <el-button type="text" size="mini" @click="toDetail(scope.row)" >{{$t('查看')}}</el-button> --> <!-- <el-button type="text" size="mini" @click="toDetail(scope.row)" >{{$t('查看')}}</el-button> -->
<el-button type="text" size="mini" @click="cargoTransfer(scope.row)" >{{$t('调货')}}</el-button> <el-button type="text" size="mini" @click="cargoTransfer(scope.row)" >{{$t('调货')}}</el-button>
<el-button type="text" size="mini" @click="showFallbackOrder=scope.row" v-if="scope.row.isReleaseAfterGoods">{{$t('反复核')}}</el-button> <el-button type="text" size="mini" @click="showFallbackOrder=scope.row" v-if="scope.row.isReleaseAfterGoods">{{$t('反复核')}}</el-button>
</template> </template>
<el-button type="text" size="mini" @click="toDetail(scope.row)" >{{$t('查看')}}</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
......
<!--拆单审核中的申请信息部分-->
<template>
<div v-if="detail && order">
<el-descriptions :column="4" v-if="order" :colon="false">
<el-descriptions-item :label="$t('订单号')">{{order.orderNo}}</el-descriptions-item>
<el-descriptions-item :label="$t('运输方式')">
<dict-tag class="mr-10" :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="order.transportId" />
</el-descriptions-item>
<el-descriptions-item :label="$t('出货方式')">
{{channel ? channel.nameZh : '/'}}
</el-descriptions-item>
<el-descriptions-item :label="$t('订单状态')">
{{order.statusMsg}}
</el-descriptions-item>
<el-descriptions-item :label="$t('唛头')">{{order.marks}}</el-descriptions-item>
<el-descriptions-item :label="$t('始发仓')">
{{order.logisticsInfoDto.startTitleZh}}
</el-descriptions-item>
<el-descriptions-item :label="$t('目的仓')" :span="2">
{{order.logisticsInfoDto.destAddressZh}}
</el-descriptions-item>
<!-- 提单审核 -->
<el-descriptions-item v-if="path == 'order_landing_bill'">
<el-button type="primary" @click="ShowLandingBill=true">查看提单</el-button>
</el-descriptions-item>
</el-descriptions>
<PrintLandingBill :order-id="order.orderId" v-if="ShowLandingBill" @close="ShowLandingBill=false"/>
</div>
</template>
<script>
import {getOrder, getApproval} from '@/api/ecw/order'
import {getChannel} from '@/api/ecw/channel'
/*
优惠申请 1
管理优惠 2
佣金设置 3
重货优惠 4
泡货优惠 5
拆单申请 6
控货订单放货修改 7
控货订单反复核 8
控货订单已放货记录调货审批 9
控货订单取消放货 10
合单申请 11
费用申请 12
调仓申请 13
订单修改 14
预装审核 18
封柜审核 19
入仓修改 22
退仓 23
*/
export default {
name: 'OrderApprovalDetail',
props:{
id: [String, Number],
path: String
},
components:{
PrintLandingBill: () => import('./PrintLadingBill.vue')
},
data(){
return {
detail: null,
order: null,
channel: null,
ShowLandingBill: false
}
},
watch:{
id(){
this.getData()
},
detail(){
this.getOrder()
},
order(){
if(this.order.channelId){
this.getChannel()
}
}
},
created(){
if(this.id){
this.getData()
}
},
methods:{
getData(){
getApproval(this.id).then(res => {
this.detail = JSON.parse(res.data.details)
})
},
getOrder(){
getOrder(this.detail.orderId).then(res => {
this.order = res.data
})
},
getChannel(){
getChannel(this.order.channelId).then(res => {
this.channel = res.data
})
},
}
}
</script>
<style scoped lang="scss">
.title{
padding: 10px 0;
span{
font-size: 14px;
font-weight: bold;
}
}
</style>
\ No newline at end of file
...@@ -22,7 +22,7 @@ export default { ...@@ -22,7 +22,7 @@ export default {
components: {PdfViewer}, components: {PdfViewer},
filters: {parseTime}, filters: {parseTime},
props:{ props:{
transportType: Number, //transportType: Number,
// tidanNO: [String, Number], // tidanNO: [String, Number],
orderId: String orderId: String
}, },
...@@ -45,11 +45,11 @@ export default { ...@@ -45,11 +45,11 @@ export default {
} }
return t return t
}, },
type(){ /* type(){
if(this.transportType <= 2) return 1 if(this.transportType <= 2) return 1
if(this.transportType == 3) return 3 if(this.transportType == 3) return 3
if(this.transportType == 4) return 2 if(this.transportType == 4) return 2
} } */
}, },
created(){ created(){
this.show = true this.show = true
...@@ -60,6 +60,7 @@ export default { ...@@ -60,6 +60,7 @@ export default {
this.loading = true this.loading = true
downloadByOrderId(this.orderId) downloadByOrderId(this.orderId)
.then(arrayBuffer => { .then(arrayBuffer => {
console.log({arrayBuffer})
this.pdfData = arrayBuffer this.pdfData = arrayBuffer
}) })
.finally(() => { .finally(() => {
......
...@@ -68,10 +68,10 @@ ...@@ -68,10 +68,10 @@
{{order.costVO.totalQuantity}}{{$t('个')}} {{order.costVO.totalQuantity}}{{$t('个')}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('仓库实测')"> <el-descriptions-item :label="$t('仓库实测')">
{{order.sumNum}}{{$t('箱')}} {{order.sumNum}}{{$t('箱')}}
{{order.sumWeight}}Kg {{order.sumWeight}}Kg
{{order.sumVolume}}m³ {{order.sumVolume}}m³
{{order.sumQuantity}}{{$t('个')}} {{order.sumQuantity}}{{$t('个')}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('收款数据')"> <el-descriptions-item :label="$t('收款数据')">
{{order.sumNum}}{{$t('箱')}} {{order.sumNum}}{{$t('箱')}}
...@@ -117,7 +117,7 @@ ...@@ -117,7 +117,7 @@
</el-table-column> </el-table-column>
<el-table-column prop="unit" :label="$t('单位')" width="90px"> <el-table-column prop="unit" :label="$t('单位')" width="90px">
<template slot-scope="{row}"> <template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_PACKAGE_TYPE" :value="row.unit" /> <dict-tag :type="DICT_TYPE.ECW_PACKAGING_TYPE" :value="row.unit" />
</template> </template>
</el-table-column> </el-table-column>
...@@ -145,18 +145,18 @@ ...@@ -145,18 +145,18 @@
</el-table-column> </el-table-column>
<el-table-column prop="" :label="$t('成交单价')" width="220px"> <el-table-column prop="" :label="$t('成交单价')" width="220px">
<template slot-scope="{row}"> <template slot-scope="{row}">
<template v-if="row.charging ==1"> <template v-if="row.charging ==1">
<template v-if="!row.seaFreight">未报价</template> <template v-if="!row.seaFreight">未报价</template>
<template>{{$t('全包价')}} {{row.oneSeaFreight}} {{currentcyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}</template> <template>{{$t('全包价')}} {{row.oneSeaFreight}} {{currencyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}</template>
</template> </template>
<template v-else-if="!row.seaFreight && !row.clearanceFreight">未报价</template> <template v-else-if="!row.seaFreight && !row.clearanceFreight">未报价</template>
<template v-else> <template v-else>
<div> <div>
{{$t('运费')}}{{row.oneSeaFreight}} {{currentcyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}} {{$t('运费')}}{{row.oneSeaFreight}} {{currencyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}
</div> </div>
<div> <div>
{{$t('清关费')}}{{row.oneClearanceFreight}} {{currentcyMap[row.clearanceFreightCurrency]}} / {{unitMap[row.clearanceFreightVolume]}} {{$t('清关费')}}{{row.oneClearanceFreight}} {{currencyMap[row.clearanceFreightCurrency]}} / {{unitMap[row.clearanceFreightVolume]}}
</div> </div>
</template> </template>
</template> </template>
...@@ -209,8 +209,16 @@ ...@@ -209,8 +209,16 @@
<dict-tag :type="DICT_TYPE.FEE_TYPE" :value="row.feeType" /> <dict-tag :type="DICT_TYPE.FEE_TYPE" :value="row.feeType" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('单价金额')" prop="unitPrice"></el-table-column> <el-table-column :label="$t('单价金额')" prop="unitPrice">
<el-table-column :label="$t('总金额')" prop="totalAmount"></el-table-column> <template slot-scope="{row}">
{{row.unitPrice}}{{currencyMap[row.currencyId]}}
</template>
</el-table-column>
<el-table-column :label="$t('总金额')" prop="totalAmount">
<template slot-scope="{row}">
{{row.totalAmount}}{{currencyMap[row.currencyId]}}
</template>
</el-table-column>
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
...@@ -270,7 +278,7 @@ export default { ...@@ -270,7 +278,7 @@ export default {
} }
}, },
computed:{ computed:{
currentcyMap(){ currencyMap(){
let map = {} let map = {}
this.currencyList.forEach(item => { this.currencyList.forEach(item => {
map[item.id] = item.titleZh map[item.id] = item.titleZh
...@@ -338,7 +346,7 @@ export default { ...@@ -338,7 +346,7 @@ export default {
}); });
}, },
getChannel(){ getChannel(){
if(!this.order || !this.order.channelId) return if(!this.order || !this.order.channelId) return
getChannel(this.order.channelId).then(res => { getChannel(this.order.channelId).then(res => {
this.channelName = res.data.nameZh this.channelName = res.data.nameZh
}) })
......
This diff is collapsed.
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('异常描述')" align="center"> <el-table-column :label="$t('异常描述')" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{scope.row.orderExceptionDescVO.descZh}}</span> <span v-if="scope.row.orderExceptionDescVO">{{$l(scope.row.orderExceptionDescVO, 'desc')}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('金额')" align="center" scope="orderExceptionAmount" /> <el-table-column :label="$t('金额')" align="center" scope="orderExceptionAmount" />
......
...@@ -64,10 +64,10 @@ ...@@ -64,10 +64,10 @@
<el-form-item :rules="tableFormRules.cartonsNum" :prop="$index + '.cartonsNum'"> <el-form-item :rules="tableFormRules.cartonsNum" :prop="$index + '.cartonsNum'">
<span v-if="tableData[$index].id && !edit"> <span v-if="tableData[$index].id && !edit">
{{ tableData[$index].cartonsNum }} {{ tableData[$index].cartonsNum }}
{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGE_TYPE, tableData[$index].unit) }} {{ getDictDataLabel(DICT_TYPE.ECW_PACKAGING_TYPE, tableData[$index].unit) }}
</span> </span>
<el-input v-else v-model="tableData[$index].cartonsNum" placeholder=""> <el-input v-else v-model="tableData[$index].cartonsNum" placeholder="">
<span slot="append">{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGE_TYPE, tableData[$index].unit) }}</span> <span slot="append">{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGING_TYPE, tableData[$index].unit) }}</span>
</el-input> </el-input>
</el-form-item> </el-form-item>
</template> </template>
...@@ -75,8 +75,8 @@ ...@@ -75,8 +75,8 @@
<el-table-column label="包装类型" width="100px"> <el-table-column label="包装类型" width="100px">
<template v-slot="{r,c,$index}"> <template v-slot="{r,c,$index}">
<el-form-item> <el-form-item>
<span v-if="tableData[$index].id && !edit">{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGE_TYPE, tableData[$index].unit) }}</span> <span v-if="tableData[$index].id && !edit">{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGING_TYPE, tableData[$index].unit) }}</span>
<dict-selector v-else :type="DICT_TYPE.ECW_PACKAGE_TYPE" v-model="tableData[$index].unit"></dict-selector> <dict-selector v-else :type="DICT_TYPE.ECW_PACKAGING_TYPE" v-model="tableData[$index].unit"></dict-selector>
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
...@@ -195,10 +195,10 @@ ...@@ -195,10 +195,10 @@
<el-form-item :rules="tableFormRules.cartonsNum" :prop="$index + '.cartonsNum'"> <el-form-item :rules="tableFormRules.cartonsNum" :prop="$index + '.cartonsNum'">
<span v-if="tableData1[$index].id"> <span v-if="tableData1[$index].id">
{{ tableData1[$index].cartonsNum }} {{ tableData1[$index].cartonsNum }}
{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGE_TYPE, tableData1[$index].unit) }} {{ getDictDataLabel(DICT_TYPE.ECW_PACKAGING_TYPE, tableData1[$index].unit) }}
</span> </span>
<el-input v-else v-model="tableData1[$index].cartonsNum" placeholder=""> <el-input v-else v-model="tableData1[$index].cartonsNum" placeholder="">
<span slot="append">{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGE_TYPE, tableData1[$index].unit) }}</span> <span slot="append">{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGING_TYPE, tableData1[$index].unit) }}</span>
</el-input> </el-input>
</el-form-item> </el-form-item>
</template> </template>
...@@ -206,8 +206,8 @@ ...@@ -206,8 +206,8 @@
<el-table-column label="包装类型" width="100px"> <el-table-column label="包装类型" width="100px">
<template v-slot="{r,c,$index}"> <template v-slot="{r,c,$index}">
<el-form-item> <el-form-item>
<span v-if="tableData1[$index].id">{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGE_TYPE, tableData1[$index].unit) }}</span> <span v-if="tableData1[$index].id">{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGING_TYPE, tableData1[$index].unit) }}</span>
<dict-selector v-else :type="DICT_TYPE.ECW_PACKAGE_TYPE" v-model="tableData1[$index].unit"></dict-selector> <dict-selector v-else :type="DICT_TYPE.ECW_PACKAGING_TYPE" v-model="tableData1[$index].unit"></dict-selector>
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
...@@ -346,12 +346,6 @@ export default { ...@@ -346,12 +346,6 @@ export default {
if(e.id){ if(e.id){
e.id = e.id.toString() e.id = e.id.toString()
} }
const boxGauge = e.boxGauge
if (boxGauge && boxGauge.length > 0) {
const boxGaugeList = boxGauge.split('*')
const [boxGauge1, boxGauge2, boxGauge3] = boxGaugeList
return {...e, boxGauge1, boxGauge2, boxGauge3}
}
return e return e
}) })
] ]
...@@ -581,7 +575,7 @@ export default { ...@@ -581,7 +575,7 @@ export default {
"cartonsNum": cartonsNum > 0 ? cartonsNum : '', "cartonsNum": cartonsNum > 0 ? cartonsNum : '',
"expressNo": "", "expressNo": "",
"quantityAll": "", "quantityAll": "",
"unit": "package", "unit": "1",
"volume": '', "volume": '',
"weight": '' "weight": ''
}) })
...@@ -605,7 +599,15 @@ export default { ...@@ -605,7 +599,15 @@ export default {
// 入仓修改的时候 // 入仓修改的时候
this.form.orderWarehouseInItemDoList = this.warehousing.orderWarehouseInBackItemDoList this.form.orderWarehouseInItemDoList = this.warehousing.orderWarehouseInBackItemDoList
return this.form.orderWarehouseInItemDoList return this.form.orderWarehouseInItemDoList.map(e => {
const boxGauge = e.boxGauge
if (boxGauge && boxGauge.length > 0) {
const boxGaugeList = boxGauge.split('*')
const [boxGauge1, boxGauge2, boxGauge3] = boxGaugeList
return {...e, boxGauge1, boxGauge2, boxGauge3}
}
return e
})
}, },
tableData1() { tableData1() {
return this.form1.orderWarehouseInItemDoList return this.form1.orderWarehouseInItemDoList
......
...@@ -326,18 +326,20 @@ export default { ...@@ -326,18 +326,20 @@ export default {
return return
} }
} }
let p = { let form = {
orderSpecialNeedReceivableReqVoList: this.form.orderSpecialNeedReceivableReqVoList, orderSpecialNeedReceivableReqVoList: this.form.orderSpecialNeedReceivableReqVoList,
"orderLocationCreateReqVOList": this.form.orderLocationCreateReqVOList, "orderLocationCreateReqVOList": this.form.orderLocationCreateReqVOList,
"orderId": this.order.orderId, "orderId": this.order.orderId,
urls: this.form.urls urls: this.form.urls,
sumVolume: this.form.sumVolume,
sumWeight: this.form.sumWeight
} }
if (this.escapeBol) { if (this.escapeBol) {
p.exceptionUrls = this.form.exceptionUrls.split(','); form.exceptionUrls = this.form.exceptionUrls.split(',');
p.descZh = this.form.descZh; form.descZh = this.form.descZh;
p.manualExceptionType = this.form.manualExceptionType form.manualExceptionType = this.form.manualExceptionType
} }
orderWarehouseInFinish(p).then(r => { orderWarehouseInFinish(form).then(r => {
if (r.code === 0) { if (r.code === 0) {
this.escapeBol = false; this.escapeBol = false;
this.finishVisible = false this.finishVisible = false
......
...@@ -89,6 +89,9 @@ ...@@ -89,6 +89,9 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('名称') + '*'"> <el-table-column :label="$t('名称') + '*'">
<template slot="header">
{{$t('名称')}}<span class="red">*</span>
</template>
<template slot-scope="scope"> <template slot-scope="scope">
<el-form-item <el-form-item
class="mb-0 mr-0" class="mb-0 mr-0"
...@@ -100,6 +103,9 @@ ...@@ -100,6 +103,9 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('电话') + '*'"> <el-table-column :label="$t('电话') + '*'">
<template slot="header">
{{$t('电话')}}<span class="red">*</span>
</template>
<template slot-scope="scope"> <template slot-scope="scope">
<el-form-item <el-form-item
class="mb-0 mr-0" class="mb-0 mr-0"
...@@ -128,6 +134,9 @@ ...@@ -128,6 +134,9 @@
<template slot-scope="scope">{{scope.$index + 1}}</template> <template slot-scope="scope">{{scope.$index + 1}}</template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('账户名称') + '*'"> <el-table-column :label="$t('账户名称') + '*'">
<template slot="header">
{{$t('账户名称')}}<span class="red">*</span>
</template>
<template slot-scope="scope"> <template slot-scope="scope">
<el-form-item <el-form-item
class="mb-0 mr-0" class="mb-0 mr-0"
...@@ -139,6 +148,9 @@ ...@@ -139,6 +148,9 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('币别') + '*'"> <el-table-column :label="$t('币别') + '*'">
<template slot="header">
{{$t('币别')}}<span class="red">*</span>
</template>
<template slot-scope="scope"> <template slot-scope="scope">
<el-form-item <el-form-item
class="mb-0 mr-0" class="mb-0 mr-0"
...@@ -150,6 +162,9 @@ ...@@ -150,6 +162,9 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('银行名称') + '*'"> <el-table-column :label="$t('银行名称') + '*'">
<template slot="header">
{{$t('银行名称')}}<span class="red">*</span>
</template>
<template slot-scope="scope"> <template slot-scope="scope">
<el-form-item <el-form-item
class="mb-0 mr-0" class="mb-0 mr-0"
...@@ -161,6 +176,9 @@ ...@@ -161,6 +176,9 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('银行账户') + '*'"> <el-table-column :label="$t('银行账户') + '*'">
<template slot="header">
{{$t('银行账户')}}<span class="red">*</span>
</template>
<template slot-scope="scope"> <template slot-scope="scope">
<el-form-item <el-form-item
class="mb-0 mr-0" class="mb-0 mr-0"
...@@ -345,6 +363,13 @@ export default { ...@@ -345,6 +363,13 @@ export default {
if (!valid) { if (!valid) {
return this.$showFormValidateErrors(errors) return this.$showFormValidateErrors(errors)
} }
if(!this.formData.bankList.length){
return this.$message.error('请添加银行信息')
}
if(!this.formData.contactList.length){
return this.$message.error('请添加联系人信息')
}
let data = Object.assign({}, this.formData) let data = Object.assign({}, this.formData)
// 修改的提交 // 修改的提交
...@@ -385,4 +410,7 @@ export default { ...@@ -385,4 +410,7 @@ export default {
::v-deep .data-list .el-form-item__error{ ::v-deep .data-list .el-form-item__error{
position: static; position: static;
} }
.red{
color: red;
}
</style> </style>
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