Commit f6994b63 authored by 我在何方's avatar 我在何方
parents 3fb0b179 94c7eeff
......@@ -215,8 +215,8 @@ export function downloadByOrderId(orderId) {
return request({
url: "/shipment/make-bill-of-lading/downloadByOrderId",
method: "get",
params: {orderId},
responseType: 'arraybuffer'
params: { orderId },
responseType: "arraybuffer",
});
}
......@@ -228,3 +228,63 @@ export function getBoxApproval(params) {
params,
});
}
// 下载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) {
});
}
/**
* 订单详情
*
* @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 **********************************/
/***************************** 卸柜 start **********************************/
......
......@@ -89,7 +89,7 @@ export const DICT_TYPE = {
ECW_COOPERATION_TYPE: 'cooperation_type', // 合作类型
ECW_SHIPPING_DECLARATION_TYPE: 'shipping_declaration_type', // 出货报关方式(与订单报关方式相同)
ECW_CUSTOMS_TYPE: 'customs_type', // 订单报关方式(非出货报关),优惠券中的单证报关
ECW_PACKAGE_TYPE: 'packageType', // 包装单位
// ECW_PACKAGE_TYPE: 'packageType', // 包装单位
ECW_DOUBLE_CLEAR: 'double_clear', // 是否双清
ECW_TRADE_TYPE: 'trade_type', // 交货放肆
ECW_OFFER_RESULT: 'offer_result', // 报单结果 赢单 输单
......
......@@ -299,6 +299,12 @@ export default {
id: this.processInstance.businessKey,
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()]
}
......
......@@ -127,16 +127,16 @@
<el-dropdown-item v-if="scope.row.ldStatus==47" command="editLadingBill">编辑提货单</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown trigger="click">
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)">
<el-button type="primary">
下载<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="">预装单</el-dropdown-item>
<el-dropdown-item command="">已装单</el-dropdown-item>
<el-dropdown-item command="">应收汇总表</el-dropdown-item>
<el-dropdown-item command="">agent list</el-dropdown-item>
<el-dropdown-item command="">son cap</el-dropdown-item>
<el-dropdown-item command="downloadPreloadGoodsList">预装单</el-dropdown-item>
<el-dropdown-item command="downloadLoadGoodsList">已装单</el-dropdown-item>
<el-dropdown-item command="downloadReceivableList">应收汇总表</el-dropdown-item>
<el-dropdown-item command="downloadAgentListFiles">agent list</el-dropdown-item>
<el-dropdown-item command="downloadSoncapFiles">soncap</el-dropdown-item>
<el-dropdown-item command="">提货单</el-dropdown-item>
<el-dropdown-item command="">提单Copy</el-dropdown-item>
</el-dropdown-menu>
......@@ -167,6 +167,7 @@
<script>
import { deletebox, getbox, getboxPage, exportboxExcel } from "@/api/ecw/box";
import { downloadFile } from "./shippingSea/utils";
import { getCabinetPage } from "@/api/ecw/cabinet";
import { getWarehouseList } from "@/api/ecw/warehouse";
import { getListTree } from "@/api/ecw/region";
......@@ -300,6 +301,9 @@ export default {
this.$set(this.dialogCfg, "width", "600px");
this.$set(this.dialogCfg, "fullscreen", false);
this.$set(this.dialogCfg, "open", true);
this.currRow = {
transportType: "1",
};
},
/** 修改按钮操作 */
handleUpdate(row) {
......@@ -340,7 +344,7 @@ export default {
return exportboxExcel(params);
})
.then((response) => {
this.$download.excel(response, "${table.classComment}.xls");
this.$download.excel(response, "海运管理.xls");
this.exportLoading = false;
})
.catch(() => {});
......@@ -389,6 +393,47 @@ export default {
case "error":
this.$set(this.dialogCfg, "title", "异常登记");
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)) {
......
......@@ -2,8 +2,8 @@
<el-row class="shipping-ladingBill">
<el-row class="oper-button">
<el-button type="primary" @click="clickZipDownload">打包下载</el-button>
<el-button type="primary">应收汇总单</el-button>
<el-button type="primary">下载已装单</el-button>
<el-button type="primary" @click="handleCommand('downloadReceivableList')">应收汇总表</el-button>
<el-button type="primary" @click="handleCommand('downloadLoadGoodsList')">下载已装单</el-button>
</el-row>
<el-row style="margin-top:15px">
......@@ -91,7 +91,11 @@ import {
deleteBillService,
zipDownload,
} from "@/api/ecw/box";
import { getTotlContent, getCapacity } from "../shippingSea/utils";
import {
getTotlContent,
getCapacity,
downloadFile,
} from "../shippingSea/utils";
import makeLadingBill from "./makeLadingBill.vue";
import previewBill from "./previewBill.vue";
import FileSaver from "file-saver";
......@@ -169,17 +173,31 @@ export default {
}
});
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.$set(this.dialogCfg, "type", type);
this.$set(this.dialogCfg, "visible", true);
},
makeBill(row) {
const { bookSeaInfo } = this.shipmentObj;
makeBillService({
orderId: row.orderId,
zgDate: '2022-09-27',
// zgDate: bookSeaInfo.sailTime,
shipmentId: this.shipmentObj.id,
}).then((res) => {
const { data } = res;
const { titleZh = "", contentZh = "" } = data?.ladingTemplate ?? {};
......
......@@ -52,11 +52,6 @@ export default {
});
},
},
watch: {
contentHtml(val) {
console.log(val);
},
},
};
</script>
......
......@@ -157,9 +157,14 @@
</el-table>
</el-tab-pane>
<el-tab-pane label="表单" name="download">
<el-table :data="[]" style="width: 50%">
<el-table-column prop="" label="文件类型"> </el-table-column>
<el-table-column prop="" label="下载链接"> </el-table-column>
<el-table :data="downloadList" style="width: 50%">
<el-table-column prop="title" 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-tab-pane>
</el-tabs>
......@@ -199,6 +204,7 @@ import {
getTotlContent,
formatDate,
serviceMsg,
downloadFile,
} from "./shippingSea/utils";
import { getSectionList, boxGoodsDetail } from "@/api/ecw/boxSea";
import { getSupplierPage } from "@/api/ecw/supplier";
......@@ -264,6 +270,16 @@ export default {
transportTypes: [],
// 费用详情
costDetail: {},
// 下载
downloadList: [
{ title: "预装单", serviceName: "downloadPreloadGoodsList" },
{ title: "已装单", serviceName: "downloadLoadGoodsList" },
{ title: "应收汇总表", serviceName: "downloadReceivableList" },
{ title: "提货单", serviceName: "" },
{ title: "agent list", serviceName: "" },
{ title: "soncap", serviceName: "" },
{ title: "提单Copy", serviceName: "" },
],
};
},
methods: {
......@@ -427,6 +443,14 @@ export default {
}
},
formatDate,
downloadDetailFile(row) {
downloadFile(
row.serviceName,
{ shipmentId: this.shipmentId },
`${row.title}(${this.shipmentObj.selfNo}).xlsx`,
"xlsx"
);
},
},
computed: {
visitedViews() {
......
......@@ -28,7 +28,7 @@
<!-- 操作 -->
<el-row class="operate-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 type="danger" @click="startCabinet" :disabled="isStartCabinet">开始装柜</el-button>
</el-row>
......@@ -68,10 +68,20 @@ export default {
"ldBoxTime",
"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 = {
...oldData,
ldWarehouseType:
oldData.ldWarehouseType === 0 ? undefined : oldData.ldWarehouseType,
ldPictures: pictures,
};
},
methods: {
......@@ -87,9 +97,20 @@ export default {
return;
}
}
const { ldPictures } = this.cabinetObj;
let pictures = ldPictures?.split(",") ?? [];
// 兼容手机端数据结构
pictures = pictures.map((item) => {
return {
type: "image",
url: item,
};
});
cabinetCreate({
shipmentId: this.$attrs.shipmentObj.id,
...this.cabinetObj,
ldPictures: JSON.stringify(pictures),
operateType,
}).then((res) => {
serviceMsg(res, this).then(() => {
......@@ -114,6 +135,11 @@ export default {
},
computed: {
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 status = shipmentObj[currNode.keyName];
return status === 47 ? true : false;
......
......@@ -196,7 +196,7 @@
{{shopForm.sum||0}}
</el-form-item>
<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 label="备注信息:">
<el-input v-model="shopForm.remarks"></el-input>
......@@ -310,7 +310,7 @@ export default {
let _total = 0;
const { orderSplitItemBackVOList = [] } = this.splitData;
orderSplitItemBackVOList.forEach((v) => {
_total += Number(v.splitNum);
_total += Number(v.num);
});
return _total;
},
......@@ -427,6 +427,7 @@ export default {
});
},
addShop() {
this.shopForm = {};
this.shopOpen = true;
},
changeProdTitleZh() {
......@@ -434,7 +435,8 @@ export default {
list = this.currRow.goodsList.filter(
(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.prodTitleEn = list[0].prodTitleEn;
},
......@@ -443,7 +445,9 @@ export default {
list = this.orderData.orderItemVOList.filter(
(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;
},
shopAdd() {
......@@ -457,6 +461,10 @@ export default {
this.$message.error("放入箱数不能大于总箱数");
return;
}
if (this.shopForm.num === 0) {
this.$message.error("放入箱数不能为0");
return;
}
let params = {
num: this.shopForm.num,
......@@ -467,7 +475,6 @@ export default {
createSplitItem(params).then((res) => {
this.$message.success("放入成功");
this.getSplit();
this.shopForm = {};
});
this.shopOpen = false;
}
......
......@@ -40,7 +40,12 @@
<el-table-column label="序号" type="index" align="center" width="50" />
<el-table-column label="订单号" align="center" prop="orderNo">
<template slot-scope="scope">
<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>
</el-table-column>
<el-table-column label="货物信息" align="center" prop="goodsList">
......@@ -183,13 +188,44 @@
</template>
<!-- 装柜批量输入 -->
<template v-if="dialogConfig.type === 'batchInput' && dialogConfig.dialogVisible">
<el-form ref="batchForm" :rules="rules" :model="batchObj" label-position="top">
<el-form-item label="" prop="qrCode">
<el-input type="textarea" :rows="3" v-model="batchObj.qrCode" placeholder="请输入,多个以逗号分隔" clearable />
<el-form ref="batchForm" :rules="rules" :model="batchObj">
<el-form-item label="" prop="qrCode" class="two-element">
<el-input v-model="batchObj.qrCode" placeholder="请输入订单号" clearable />
<el-button style="marginLeft:10px;" type="primary" @click="queryOrderInfo">确定</el-button>
</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-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-row>
</template>
......@@ -214,6 +250,8 @@ import {
boxUpdate,
approvalCreate,
approvalCancel,
getOrderDetailByBoxNo,
externalLoad,
} from "@/api/ecw/boxSea";
import {
getTotlContent,
......@@ -279,6 +317,8 @@ export default {
// 当前行
currRow: {},
selectedUsers: [],
// 订单信息
boxOrderInfo: {},
};
},
created() {
......@@ -352,6 +392,7 @@ export default {
case "batchInput":
this.$set(this.dialogConfig, "fullscreen", false);
this.batchObj = {};
this.boxOrderInfo = {};
break;
case "correction":
this.$set(this.dialogConfig, "fullscreen", false);
......@@ -520,11 +561,54 @@ export default {
});
});
},
/* 跳转详情 */
jumpReviewDetail() {
const { cabinetApprovalInfo } = this.shipmentObj;
toReviewDetail.apply(this, [cabinetApprovalInfo.bpmProcessId]);
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: {
/* 是否审核中 */
......
......@@ -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-form-item>
<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-group>
</el-form-item>
......@@ -38,14 +38,14 @@
<!-- 查验 -->
<div v-show="cusDeclarationObj.dcCustomsStatus === '3'">
<el-form-item label="查验">
<el-radio-group v-model="cusDeclarationObj.dcCheckStatus" :disabled="inReview">
<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-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" :disabled="disabledRadio(item)">{{item.label}}</el-radio>
</el-radio-group>
</el-form-item>
</div>
<!-- 退场 -->
<div v-show="cusDeclarationObj.dcCheckStatus === '1' || cusDeclarationObj.dcCheckStatus === '2'">
<div v-show="['1','2','3'].includes(cusDeclarationObj.dcCheckStatus)">
<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-form-item>
......@@ -55,18 +55,21 @@
<el-form-item label="新封条">
<el-input v-model="cusDeclarationObj.dcStripSeal" placeholder="请输入新封条" clearable />
</el-form-item>
<el-form-item label="退场状态" v-if="cusDeclarationObj.dcCheckStatus === '1' || cusDeclarationObj.dcCheckStatus === '2'">
{{getCheckExamineStatus}}
</el-form-item>
</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-form-item>
<el-form-item label="装箱单">
<!-- <el-form-item label="装箱单">
<el-button type="primary">下载装箱单</el-button>
</el-form-item>
</el-form-item> -->
<el-form-item label="报关单">
<el-button type="primary">下载所有报关单</el-button>
<el-button type="primary" @click="downloadCusFile">下载所有报关单</el-button>
</el-form-item>
</el-form>
......@@ -75,8 +78,8 @@
<el-button type="primary" plain @click="canclAudit">{{cusDeclarationObj.dcCheckStatus === '1' ? '取消全部退场审核' : '取消部分退场审核'}}</el-button>
</el-row>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)">保存</el-button>
<el-button type="success" v-if="!inReview" @click="onSubmit(2)">提交</el-button>
<el-button type="primary" @click="onSubmit(1)" :disabled="isCheckDeal">保存</el-button>
<el-button type="success" v-if="!inReview" @click="onSubmit(2)" :disabled="isCheckDeal">提交</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-row>
......@@ -143,13 +146,14 @@ import {
extraCostOrder,
extraCostCreate,
extraCostUpdate,
approvalCreate,
approvalCancel,
} from "@/api/ecw/boxSea";
import {
formatNumberString,
formatDateStr,
serviceMsg,
toReviewDetail,
downloadFile,
} from "../utils";
import ImageUpload from "@/components/ImageUpload";
......@@ -260,7 +264,7 @@ export default {
if (["1", "2"].includes(dcCheckStatus)) {
const { checkExamineStatus } = this.shipmentObj;
// 退场审核状态,1-审核中,2-审核成功,3-审核失败,4-取消
if ([0, 3, 4].includes(checkExamineStatus)) {
if ([0, 2, 3, 4].includes(checkExamineStatus)) {
this.$modal
.confirm(
`您确认提交${
......@@ -278,8 +282,9 @@ export default {
this.$emit("getBoxInfo");
});
});
})
.catch(() => {});
});
} else {
this.submitCustomsCreate(operateType);
}
}
}
......@@ -409,19 +414,45 @@ export default {
},
/* 取消审核 */
canclAudit() {
const { currNode, shipmentObj } = this.$attrs;
const { voName } = currNode;
approvalCancel({
applyReason: "取消审核",
id: shipmentObj[voName].id,
shipmentId: shipmentObj.id,
id: this.shipmentObj["customsApprovalInfo"].id,
shipmentId: this.shipmentObj.id,
}).then((res) => {
serviceMsg(res, this).then(() => {
// 触发外层重新查询出货信息
this.cancel("close");
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: {
"cusDeclarationObj.dcBoxWgt"(dcBoxWgt) {
......@@ -433,6 +464,14 @@ export default {
"cusDeclarationObj.dcCustomsStatus"(val) {
if (val !== "3") {
this.$set(this.cusDeclarationObj, "dcCheckStatus", "");
} else {
const { customsInfo = {} } = this.shipmentObj;
this.$set(
this.cusDeclarationObj,
"dcCheckStatus",
(customsInfo.dcCheckStatus && String(customsInfo.dcCheckStatus)) ||
"3"
);
}
},
shipmentObj: {
......@@ -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>
......
......@@ -120,7 +120,16 @@
<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-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="rucangTime" width="120">
<template slot-scope="scope">
......@@ -205,6 +214,9 @@
<p>重货比:</p>
<p>{{item.weightRatio}}</p>
</div>
<div v-if="item.isExternalWarehouse === 0" style="color:blue;fontWeight:bold;">
<p>外部仓</p>
</div>
<div class="table-button">
<el-dropdown trigger="click" @command="(command)=>handleGoods('all',item,command)">
<el-button type="success" size="small">预装全部</el-button>
......@@ -234,7 +246,7 @@
</el-table-column>
<el-table-column label="包装类型" align="center" prop="">
<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>
</el-table-column>
<el-table-column label="材质" align="center" prop="material">
......
......@@ -28,7 +28,16 @@
<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="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>
<el-table-column label="备案" align="center" prop="productRecord">
......
import dayjs from "dayjs";
import * as _BOX from "@/api/ecw/box";
import FileSaver from "file-saver";
/**
* 节点状态值
......@@ -442,7 +444,7 @@ function seaBaseData() {
*
* @return {*}
*/
function seaAirBaseData() {
function seaAirBaseData() {
return [
[
{
......@@ -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 {
getStatusName,
getColmnMapping,
......@@ -1508,4 +1517,5 @@ export {
sumStatistics,
serviceMsg,
toReviewDetail,
downloadFile,
};
<template>
<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('商品类型')">
<span>{{ getProductTypeNameById(form.productType) }}</span>
</el-form-item>
......
......@@ -105,7 +105,7 @@
<el-table-column :label="$t('件数')" width="90px" prop="num" />
<el-table-column :label="$t('包装单位')">
<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>
</el-table-column>
<el-table-column :label="$t('箱规(m)')" width="120px" prop="boxGauge" />
......
......@@ -182,7 +182,7 @@
</el-table-column>
<el-table-column :label="$t('包装单位')">
<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>
</el-table-column>
<el-table-column :label="$t('数量') + '(个)'">
......
......@@ -40,7 +40,7 @@
<el-table-column
:label="$t('包装')">
<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>
</el-table-column>
......
......@@ -124,15 +124,17 @@
<!--已全部放货,但是未复核-->
<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="toDetail(scope.row)" >{{$t('修改')}}</el-button>
<el-button type="text" size="mini" @click="toDetail(scope.row)" >{{$t('取消')}}</el-button>
</template>
<!--已完成放货,没有待复核;真正的放货完成-->
<!--已完成放货,没有待复核;真正的放货完成-->
<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="cargoTransfer(scope.row)" >{{$t('调货')}}</el-button>
<el-button type="text" size="mini" @click="showFallbackOrder=scope.row" v-if="scope.row.isReleaseAfterGoods">{{$t('反复核')}}</el-button>
</template>
<el-button type="text" size="mini" @click="toDetail(scope.row)" >{{$t('查看')}}</el-button>
</template>
</el-table-column>
</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 {
components: {PdfViewer},
filters: {parseTime},
props:{
transportType: Number,
//transportType: Number,
// tidanNO: [String, Number],
orderId: String
},
......@@ -45,11 +45,11 @@ export default {
}
return t
},
type(){
/* type(){
if(this.transportType <= 2) return 1
if(this.transportType == 3) return 3
if(this.transportType == 4) return 2
}
} */
},
created(){
this.show = true
......@@ -60,6 +60,7 @@ export default {
this.loading = true
downloadByOrderId(this.orderId)
.then(arrayBuffer => {
console.log({arrayBuffer})
this.pdfData = arrayBuffer
})
.finally(() => {
......
......@@ -117,7 +117,7 @@
</el-table-column>
<el-table-column prop="unit" :label="$t('单位')" width="90px">
<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>
</el-table-column>
......@@ -148,15 +148,15 @@
<template v-if="row.charging ==1">
<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 v-else-if="!row.seaFreight && !row.clearanceFreight">未报价</template>
<template v-else>
<div>
{{$t('运费')}}{{row.oneSeaFreight}} {{currentcyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}
{{$t('运费')}}{{row.oneSeaFreight}} {{currencyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}
</div>
<div>
{{$t('清关费')}}{{row.oneClearanceFreight}} {{currentcyMap[row.clearanceFreightCurrency]}} / {{unitMap[row.clearanceFreightVolume]}}
{{$t('清关费')}}{{row.oneClearanceFreight}} {{currencyMap[row.clearanceFreightCurrency]}} / {{unitMap[row.clearanceFreightVolume]}}
</div>
</template>
</template>
......@@ -209,8 +209,16 @@
<dict-tag :type="DICT_TYPE.FEE_TYPE" :value="row.feeType" />
</template>
</el-table-column>
<el-table-column :label="$t('单价金额')" prop="unitPrice"></el-table-column>
<el-table-column :label="$t('总金额')" prop="totalAmount"></el-table-column>
<el-table-column :label="$t('单价金额')" prop="unitPrice">
<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-tab-pane>
</el-tabs>
......@@ -270,7 +278,7 @@ export default {
}
},
computed:{
currentcyMap(){
currencyMap(){
let map = {}
this.currencyList.forEach(item => {
map[item.id] = item.titleZh
......
......@@ -146,7 +146,7 @@
</el-table-column>
<el-table-column :label="$t('包装单位')">
<template slot-scope="{row}">
<dict-selector v-model="row.unit" :type="DICT_TYPE.ECW_PACKAGE_TYPE" defaultable :disabled="!canAddProduct || !productEditable" />
<dict-selector v-model="row.unit" :type="DICT_TYPE.ECW_PACKAGING_TYPE" defaultable :disabled="!canAddProduct || !productEditable" />
</template>
</el-table-column>
<el-table-column :label="$t('数量') + '(个)'" width="120px">
......@@ -236,63 +236,6 @@
</el-descriptions>
</el-card>
<el-card class="mt-10" v-if="0">
<div class="card-title" slot="header">{{$t('预计费用')}}</div>
<el-descriptions :column="5" border>
<el-descriptions-item :label="$t('保价费')">
{{fee.insuranceFee || 0}} {{$t('人民币')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('总运费')">
<div>{{fee.seaNGN || 0}}{{$t('奈拉')}}</div>
<div>{{fee.seaRMB || 0}}{{$t('人民币')}}</div>
<div>{{fee.seaUSD || 0}}{{$t('美元')}}</div>
</el-descriptions-item>
<el-descriptions-item :label="$t('总清关费')">
<div>{{fee.clearanceNGN || 0}}{{$t('奈拉')}}</div>
<div>{{fee.clearanceRMB || 0}}{{$t('人民币')}}</div>
<div>{{fee.clearanceUSD || 0}}{{$t('美元')}}</div>
</el-descriptions-item>
<el-descriptions-item :label="$t('其他费用')">
<el-input v-model="form.otherFee" placeholder="" style="width:100px"></el-input>
<selector v-model="form.otherFeeCurrencyId" :options="currencyList" label-field="titleZh" value-field="id" defaultable style="width:100px" />
</el-descriptions-item>
<el-descriptions-item :label="$t('原价')" :span="2">
<!--TODO 缺少字段-->
<div>{{fee.clearanceNGN || 0}}{{$t('奈拉')}}</div>
<div>{{fee.clearanceRMB || 0}}{{$t('人民币')}}</div>
<div>{{fee.clearanceUSD || 0}}{{$t('美元')}}</div>
</el-descriptions-item>
</el-descriptions>
<div class="card-title" style="padding:20px 0;">{{$t('优惠信息')}}</div>
<el-row v-for="(item, index) in couponTypeList" :key="item.value" :gutter="10">
<el-col :span="2">{{index+1}}.{{item.label}}</el-col>
<el-col :span="4">
<el-select :placeholder="$t('请选择优惠')" v-model="selectedCoupons[item.value]" :data-type="item.value" clearable>
<template v-for="(coupon, index) in couponList">
<el-option v-if="coupon.type == +item.value" :key="coupon.couponId + '_' + index" :label="coupon.titleZh" :value="coupon.couponId"></el-option>
</template>
</el-select>
</el-col>
<el-col :span="2" v-if="getCoupon(selectedCoupons[item.value])">
-{{getCoupon(selectedCoupons[item.value]).reduceAmount}}
{{currentcyMap[getCoupon(selectedCoupons[item.value]).reduceCurrencyId]}}
</el-col>
<el-col :span="5" v-if="getCoupon(selectedCoupons[item.value])">{{$t('有效期')}}:{{getCoupon(selectedCoupons[item.value]).endTime || $t('永久有效')}}</el-col>
</el-row>
<el-descriptions :column="1" border>
<el-descriptions-item :label="$t('优惠合计')">
{{discount}}{{$t('美元')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('预计费用')">
// TODO
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card class="mt-10">
<div class="card-title" slot="header">{{$t('通用')}}</div>
<div class="form-section">
......@@ -553,7 +496,6 @@ export default {
unitList:[],
couponList: [],
couponTypeList: [],
selectedCoupons: {},
fee: {}, // 费用
// 表单参数
form: {
......@@ -626,13 +568,13 @@ export default {
return getDictDatas
},
selectedRouter(){
// otherService 1 送货上门,2非控货订单代收货款
// otherService 1 集运服务 2 送货上门 3 非控货订单代收货款 4 海外仓 5 提货异常
if(!this.form.lineId)return null
return this.routerList.find(item => item.id == this.form.lineId)
},
// 送货上门
homeDeliveryService(){
return this.selectedRouter && this.selectedRouter.otherService && this.selectedRouter.otherService.indexOf('1') > -1
return this.selectedRouter && this.selectedRouter.otherService && this.selectedRouter.otherService.indexOf('2') > -1
},
// 代收货款(非控货订单,且路线开通了代收服务)
collectionProxy(){
......@@ -746,7 +688,7 @@ export default {
this.$set(this.form, 'objectiveId', router.destCityId)
},
'form.packageTypeArr'(val){
this.$set(this.form, 'packageType', val.join(','))
this.$set(this.form, 'packageType', val ? val.join(',') : '')
},
// 选择的路线变化后,需要判断是否开通了对应的服务,如果没开通需要取消对应的服务选择
selectedRouter(val){
......@@ -767,10 +709,6 @@ export default {
created() {
defaultFormData = Object.assign({}, this.form)
this.couponTypeList = this.getDictDatas(this.DICT_TYPE.ECW_COUPON_TYPE)
this.couponTypeList.forEach(item => {
this.$set(this.selectedCoupons, item.value, null)
})
if(this.$route.query.id){
this.getOrder()
}else this.addProduct()
......@@ -960,14 +898,12 @@ export default {
item.channelIds = Array.from(item.channelIdSet).join(',')
}
})
let coupons = Object.values(this.selectedCoupons).filter(item => !!item)
// 修改的提交
if (this.form.orderNo != null) {
let data = Object.assign({}, this.form, {
customDraweeVOList: this.customDraweeList,
// transportUpdateReqVOList: this.transportList.filter(item => item._enabled),
orderItemVOList: this.getProductListWithDefaultValue(),
couponIds: coupons.join(",")
})
data.type = data.type.join(',')
updateOrder(data).then(response => {
......@@ -980,7 +916,7 @@ export default {
consigneeId: this.consigneeContact.customerId,
consignorId: this.consignorContact.customerId,
customerId : this.consignorContact.customerId,
couponIds: coupons.join(","),
// couponIds: coupons.join(","),
}, this.form, {
customDraweeVOList: this.customDraweeList,
// transportUpdateReqVOList: this.transportList.filter(item => item._enabled),
......
......@@ -65,7 +65,7 @@
</el-table-column>
<el-table-column :label="$t('异常描述')" align="center">
<template slot-scope="scope">
<span>{{scope.row.orderExceptionDescVO.descZh}}</span>
<span v-if="scope.row.orderExceptionDescVO">{{$l(scope.row.orderExceptionDescVO, 'desc')}}</span>
</template>
</el-table-column>
<el-table-column :label="$t('金额')" align="center" scope="orderExceptionAmount" />
......
......@@ -64,10 +64,10 @@
<el-form-item :rules="tableFormRules.cartonsNum" :prop="$index + '.cartonsNum'">
<span v-if="tableData[$index].id && !edit">
{{ tableData[$index].cartonsNum }}
{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGE_TYPE, tableData[$index].unit) }}
{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGING_TYPE, tableData[$index].unit) }}
</span>
<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-form-item>
</template>
......@@ -75,8 +75,8 @@
<el-table-column label="包装类型" width="100px">
<template v-slot="{r,c,$index}">
<el-form-item>
<span v-if="tableData[$index].id && !edit">{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGE_TYPE, tableData[$index].unit) }}</span>
<dict-selector v-else :type="DICT_TYPE.ECW_PACKAGE_TYPE" v-model="tableData[$index].unit"></dict-selector>
<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_PACKAGING_TYPE" v-model="tableData[$index].unit"></dict-selector>
</el-form-item>
</template>
</el-table-column>
......@@ -195,10 +195,10 @@
<el-form-item :rules="tableFormRules.cartonsNum" :prop="$index + '.cartonsNum'">
<span v-if="tableData1[$index].id">
{{ tableData1[$index].cartonsNum }}
{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGE_TYPE, tableData1[$index].unit) }}
{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGING_TYPE, tableData1[$index].unit) }}
</span>
<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-form-item>
</template>
......@@ -206,8 +206,8 @@
<el-table-column label="包装类型" width="100px">
<template v-slot="{r,c,$index}">
<el-form-item>
<span v-if="tableData1[$index].id">{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGE_TYPE, tableData1[$index].unit) }}</span>
<dict-selector v-else :type="DICT_TYPE.ECW_PACKAGE_TYPE" v-model="tableData1[$index].unit"></dict-selector>
<span v-if="tableData1[$index].id">{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGING_TYPE, tableData1[$index].unit) }}</span>
<dict-selector v-else :type="DICT_TYPE.ECW_PACKAGING_TYPE" v-model="tableData1[$index].unit"></dict-selector>
</el-form-item>
</template>
</el-table-column>
......@@ -346,12 +346,6 @@ export default {
if(e.id){
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
})
]
......@@ -581,7 +575,7 @@ export default {
"cartonsNum": cartonsNum > 0 ? cartonsNum : '',
"expressNo": "",
"quantityAll": "",
"unit": "package",
"unit": "1",
"volume": '',
"weight": ''
})
......@@ -605,7 +599,15 @@ export default {
// 入仓修改的时候
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() {
return this.form1.orderWarehouseInItemDoList
......
......@@ -326,18 +326,20 @@ export default {
return
}
}
let p = {
let form = {
orderSpecialNeedReceivableReqVoList: this.form.orderSpecialNeedReceivableReqVoList,
"orderLocationCreateReqVOList": this.form.orderLocationCreateReqVOList,
"orderId": this.order.orderId,
urls: this.form.urls
urls: this.form.urls,
sumVolume: this.form.sumVolume,
sumWeight: this.form.sumWeight
}
if (this.escapeBol) {
p.exceptionUrls = this.form.exceptionUrls.split(',');
p.descZh = this.form.descZh;
p.manualExceptionType = this.form.manualExceptionType
form.exceptionUrls = this.form.exceptionUrls.split(',');
form.descZh = this.form.descZh;
form.manualExceptionType = this.form.manualExceptionType
}
orderWarehouseInFinish(p).then(r => {
orderWarehouseInFinish(form).then(r => {
if (r.code === 0) {
this.escapeBol = false;
this.finishVisible = false
......
......@@ -89,6 +89,9 @@
</template>
</el-table-column>
<el-table-column :label="$t('名称') + '*'">
<template slot="header">
{{$t('名称')}}<span class="red">*</span>
</template>
<template slot-scope="scope">
<el-form-item
class="mb-0 mr-0"
......@@ -100,6 +103,9 @@
</template>
</el-table-column>
<el-table-column :label="$t('电话') + '*'">
<template slot="header">
{{$t('电话')}}<span class="red">*</span>
</template>
<template slot-scope="scope">
<el-form-item
class="mb-0 mr-0"
......@@ -128,6 +134,9 @@
<template slot-scope="scope">{{scope.$index + 1}}</template>
</el-table-column>
<el-table-column :label="$t('账户名称') + '*'">
<template slot="header">
{{$t('账户名称')}}<span class="red">*</span>
</template>
<template slot-scope="scope">
<el-form-item
class="mb-0 mr-0"
......@@ -139,6 +148,9 @@
</template>
</el-table-column>
<el-table-column :label="$t('币别') + '*'">
<template slot="header">
{{$t('币别')}}<span class="red">*</span>
</template>
<template slot-scope="scope">
<el-form-item
class="mb-0 mr-0"
......@@ -150,6 +162,9 @@
</template>
</el-table-column>
<el-table-column :label="$t('银行名称') + '*'">
<template slot="header">
{{$t('银行名称')}}<span class="red">*</span>
</template>
<template slot-scope="scope">
<el-form-item
class="mb-0 mr-0"
......@@ -161,6 +176,9 @@
</template>
</el-table-column>
<el-table-column :label="$t('银行账户') + '*'">
<template slot="header">
{{$t('银行账户')}}<span class="red">*</span>
</template>
<template slot-scope="scope">
<el-form-item
class="mb-0 mr-0"
......@@ -345,6 +363,13 @@ export default {
if (!valid) {
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)
// 修改的提交
......@@ -385,4 +410,7 @@ export default {
::v-deep .data-list .el-form-item__error{
position: static;
}
.red{
color: red;
}
</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