Commit 928dfb9d authored by 我在何方's avatar 我在何方

空运审核优化

parents 3f8f81b9 3cb0abfb
...@@ -229,6 +229,15 @@ export function getNoticeList(data) { ...@@ -229,6 +229,15 @@ export function getNoticeList(data) {
}); });
} }
// 空运出货提示
export function getAirNoticeList(data) {
return request({
url: "/shipment/box/airNoticeList",
method: "post",
data,
});
}
/** /**
* 根据订单ID下载提货单 * 根据订单ID下载提货单
* *
......
...@@ -220,6 +220,7 @@ export const DICT_TYPE = { ...@@ -220,6 +220,7 @@ export const DICT_TYPE = {
BOX_SHIPPING_BRAND_TYPE: 'shipping_brand_type', // 出货品牌类型 BOX_SHIPPING_BRAND_TYPE: 'shipping_brand_type', // 出货品牌类型
BOX_SHIPPING_NOTICE_TYPE: 'shipping_notice_type', // 出货通知类型 BOX_SHIPPING_NOTICE_TYPE: 'shipping_notice_type', // 出货通知类型
BOX_ORDER_SHIPMENT_STATE: 'order_shipment_state', BOX_ORDER_SHIPMENT_STATE: 'order_shipment_state',
BOX_AIR_SHIPMENT_STATE: 'air_shipment_status',
BOX_INSPECTION_TIME_CUSTOMS: 'inspection_time_customs', // 校验时间-报关 BOX_INSPECTION_TIME_CUSTOMS: 'inspection_time_customs', // 校验时间-报关
BOX_INSPECTION_TIME_SHIPPING: 'inspection_time_shipping', // 校验时间-起运 BOX_INSPECTION_TIME_SHIPPING: 'inspection_time_shipping', // 校验时间-起运
BOX_INSPECTION_TIME_ARRIVAL: 'inspection_time_arrival', // 校验时间-到港 BOX_INSPECTION_TIME_ARRIVAL: 'inspection_time_arrival', // 校验时间-到港
......
...@@ -433,6 +433,17 @@ export default { ...@@ -433,6 +433,17 @@ export default {
component: "shippingDetail", component: "shippingDetail",
processId: this.processInstance.businessKey processId: this.processInstance.businessKey
}, },
// 出货反审
shipment_review: {
component: "shippingDetail",
processId: this.processInstance.businessKey
},
// 删单退场
customs_declare_remove: {
component: "shippingDetail",
processId: this.processInstance.businessKey,
type: 'deleteExit'
},
// 空运到仓审核 // 空运到仓审核
air_warehouse: { air_warehouse: {
component: "shippingDetail", component: "shippingDetail",
...@@ -444,7 +455,7 @@ export default { ...@@ -444,7 +455,7 @@ export default {
component: "shippingDetail", component: "shippingDetail",
processId: this.processInstance.businessKey, processId: this.processInstance.businessKey,
type: 'air_warehouse' type: 'air_warehouse'
}, }
} }
console.log('formCustomViewPath', this.processInstance.processDefinition.formCustomViewPath.trim()) console.log('formCustomViewPath', this.processInstance.processDefinition.formCustomViewPath.trim())
return map[this.processInstance.processDefinition.formCustomViewPath.trim()] return map[this.processInstance.processDefinition.formCustomViewPath.trim()]
......
<template>
<el-dialog :title="orderNo + $t('订单转异')" center :visible.sync="show" v-bind="$attrs" :close-on-click-modal="false" :before-close="cancel">
<el-form label-position="top" label-width="200" ref="exceptionForm" :model="form" :rules="exceptionRules">
<el-form-item :label="$t('原因类型')" prop="manualExceptionType">
<dict-selector v-model="form.manualExceptionType" form-type="checkbox" :type="DICT_TYPE.MANUAL_EXCEPTION_TYPE" multiple ></dict-selector>
</el-form-item>
<el-form-item :label="$t('附件')">
<image-upload v-model="form.exceptionUrls"></image-upload>
</el-form-item>
<el-form-item :label="$t('详细信息')">
<el-input v-model="form.descZh" type="textarea"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleException">{{$t('确认转异')}}</el-button>
<el-button @click="cancel">{{$t('取消')}}</el-button>
</span>
</el-dialog>
</template>
<script>
import imageUpload from "@/components/ImageUpload/index.vue";
import {batchException} from "@/api/ecw/order";
export default {
components: {imageUpload},
props:{
orderNo:{
type: String,
},
orderId:{
type: Number,
}
},
data(){
return {
show: false,
form: {
manualExceptionType: [],
exceptionUrls: '',
descZh: ''
},
exceptionRules:{}
}
},
async created(){
this.$nextTick()
this.show = true
},
methods:{
cancel(){
this.show = false
this.$emit('cancel');
},
handleException(){
if(!this.form.manualExceptionType.length){
return this.$message.error(this.$t('请选择异常类型'))
}
batchException({
orderIds: [this.orderId],
manualExceptionType: this.form.manualExceptionType.join(","),
exceptionUrls: this.form.exceptionUrls?.split(",") || [],
descZh: this.form.descZh
}).then(res=>{
this.$message.success(this.$t('操作成功'));
this.show = false
this.$emit('success');
})
}
}
}
</script>
<style scoped lang="scss">
</style>
...@@ -21,9 +21,9 @@ ...@@ -21,9 +21,9 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('状态')" prop="boxStatus"> <el-form-item :label="$t('状态')" prop="shipmentStatusAir">
<el-select v-model="queryParams.boxStatus" :placeholder="$t('请选择状态')" clearable size="small"> <el-select v-model="queryParams.shipmentStatusAir" :placeholder="$t('请选择状态')" clearable size="small">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.BOX_SHIPMENT_STATUS)" :key="dict.value" :label="$l(dict, 'label')" :value="dict.value" /> <el-option v-for="dict in this.getDictDatas(DICT_TYPE.BOX_AIR_SHIPMENT_STATE)" :key="dict.value" :label="$l(dict, 'label')" :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-row> <el-row>
...@@ -195,13 +195,13 @@ ...@@ -195,13 +195,13 @@
<script> <script>
import { import {
deletebox, deletebox,
getbox, getbox,
getboxPage, getboxPage,
exportboxExcel, exportboxExcel,
getNoticeList, getNoticeList,
dealCustomsSplitNotify, dealCustomsSplitNotify,
exportPreloadGoodsList exportPreloadGoodsList, downloadReceivableList, getAirNoticeList, zipDownload
} from '@/api/ecw/box' } from '@/api/ecw/box'
import { getChannelList } from '@/api/ecw/channel' import { getChannelList } from '@/api/ecw/channel'
import { getWarehouseList } from '@/api/ecw/warehouse' import { getWarehouseList } from '@/api/ecw/warehouse'
...@@ -268,7 +268,7 @@ export default { ...@@ -268,7 +268,7 @@ export default {
selfNo: null, selfNo: null,
cubNo: null, cubNo: null,
cabinetId: null, cabinetId: null,
boxStatus: null, shipmentStatusAir: null,
startWarehouseId: null, startWarehouseId: null,
destWarehouseId: null, destWarehouseId: null,
transportType: null transportType: null
...@@ -358,7 +358,7 @@ export default { ...@@ -358,7 +358,7 @@ export default {
getChannelList().then((res) => (this.channelList = res.data)) getChannelList().then((res) => (this.channelList = res.data))
}, },
queryNotice() { queryNotice() {
getNoticeList({ getAirNoticeList({
transportTypeList: this.transportTypes.map((item) => item.value), transportTypeList: this.transportTypes.map((item) => item.value),
}).then((res) => { }).then((res) => {
const { data } = res; const { data } = res;
...@@ -531,20 +531,19 @@ export default { ...@@ -531,20 +531,19 @@ export default {
); );
break; break;
case "downloadReceivableList": case "downloadReceivableList":
downloadFile( this.exportExcel(
command, downloadReceivableList,
{shipmentId: row.id}, {shipmentId: row.id}
this.$t("应收汇总表") + `(${row.selfNo}).xlsx`,
"xlsx"
); );
break; break;
case "zipDownload": case "zipDownload":
downloadFile( /*downloadFile(
command, command,
{shipmentId: row.id}, {shipmentId: row.id},
this.$t("提货单") + `(${row.selfNo}).zip`, this.$t("提货单") + `(${row.selfNo}).zip`,
"zip" "zip"
); );*/
this.exportExcel(zipDownload, { shipmentId: row.id }, this.$t("提货单") + `(${row.selfNo}).zip`)
break; break;
case "downloadAgentListFiles": case "downloadAgentListFiles":
case "downloadSoncapFiles": case "downloadSoncapFiles":
......
...@@ -209,11 +209,11 @@ ...@@ -209,11 +209,11 @@
<script> <script>
import { import {
deletebox, deletebox,
getbox, getbox,
getboxPage, getboxPage,
exportboxExcel, exportboxExcel,
getNoticeList, dealCustomsSplitNotify, exportPreloadGoodsList, getNoticeList, dealCustomsSplitNotify, exportPreloadGoodsList, zipDownload,
} from "@/api/ecw/box"; } from "@/api/ecw/box";
import { import {
downloadFile, downloadFile,
...@@ -514,12 +514,13 @@ export default { ...@@ -514,12 +514,13 @@ export default {
); );
break; break;
case "zipDownload": case "zipDownload":
downloadFile( /* downloadFile(
command, command,
{ shipmentId: row.id }, { shipmentId: row.id },
this.$t("提货单") + `(${row.selfNo}).zip`, this.$t("提货单") + `(${row.selfNo}).zip`,
"zip" "zip"
); );*/
this.exportExcel(zipDownload, { shipmentId: row.id }, this.$t("提货单") + `(${row.selfNo}).zip`)
break; break;
case "downloadAgentListFiles": case "downloadAgentListFiles":
case "downloadSoncapFiles": case "downloadSoncapFiles":
......
...@@ -68,12 +68,12 @@ ...@@ -68,12 +68,12 @@
<el-input type="textarea" :rows ="6" v-model="airCheckoutObj.remark" :placeholder="$t('备注')"></el-input> <el-input type="textarea" :rows ="6" v-model="airCheckoutObj.remark" :placeholder="$t('备注')"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row class="operate-button"> <el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button> <el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button>
<el-button type="success" @click="onSubmit(2)">{{$t('提交')}}</el-button> <el-button :disabled="$attrs.shipmentObj.approvaling" type="success" @click="onSubmit(2)">{{$t('提交')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button> <el-button @click="cancel">{{$t('关闭')}}</el-button>
</el-row> </el-row>
</div> </div>
......
...@@ -67,8 +67,12 @@ ...@@ -67,8 +67,12 @@
</el-form-item> </el-form-item>
<el-form-item v-show="cusDeclarationObj.overMachineStatus == 2 && cusDeclarationObj.overMachineAbnormalStatus == 1" :label="$t('删单退场类型')"> <el-form-item v-show="cusDeclarationObj.overMachineStatus == 2 && cusDeclarationObj.overMachineAbnormalStatus == 1" :label="$t('删单退场类型')">
<el-radio-group v-model="cusDeclarationObj.deleteExitType" :disabled="inReview||inOverReview"> <el-radio-group v-model="cusDeclarationObj.deleteExitType" :disabled="inReview||inOverReview">
<el-radio :label="1">{{$t('退场时间')}}</el-radio> <el-radio :label="1">{{$t('退场时间')}}<el-tooltip class="item" effect="dark" :content="$t('选择退场时间,填写退场时间后,提交删单退场审核,订单返回到“已订舱”环节修改订舱号后,提交之后直接到报关流程')" placement="top">
<el-radio :label="2">{{$t('返回仓库')}}</el-radio> <div class="el-icon-question"></div>
</el-tooltip></el-radio>
<el-radio :label="2">{{$t('返回仓库')}}<el-tooltip class="item" effect="dark" :content="$t('删单退场审核通过后,通过PDA空运退场到仓进行货物入仓')" placement="top">
<div class="el-icon-question"></div>
</el-tooltip></el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item v-show="cusDeclarationObj.overMachineStatus == 2 && cusDeclarationObj.overMachineAbnormalStatus == 1 && cusDeclarationObj.deleteExitType == 1" :label="$t('退场时间')"> <el-form-item v-show="cusDeclarationObj.overMachineStatus == 2 && cusDeclarationObj.overMachineAbnormalStatus == 1 && cusDeclarationObj.deleteExitType == 1" :label="$t('退场时间')">
...@@ -79,7 +83,7 @@ ...@@ -79,7 +83,7 @@
{{getOverExamineStatus}} {{getOverExamineStatus}}
</el-form-item> </el-form-item>
</el-form-item> </el-form-item>
<el-form-item v-show="cusDeclarationObj.overMachineStatus == 2 && cusDeclarationObj.overMachineAbnormalStatus == 1 && shipmentObj.overMachineExamineStatus == 0 && (typeof cusDeclarationObj.id != 'undefined')"> <el-form-item v-show="cusDeclarationObj.overMachineStatus == 2 && cusDeclarationObj.overMachineAbnormalStatus == 1 && ![1].includes(shipmentObj.overMachineExamineStatus)">
<el-button type="primary" @click="approvalCreate">{{$t('提交删单退场审核')}}</el-button> <el-button type="primary" @click="approvalCreate">{{$t('提交删单退场审核')}}</el-button>
</el-form-item> </el-form-item>
<el-form-item prop="weightMisreport" v-show="cusDeclarationObj.overMachineStatus == 2 && cusDeclarationObj.overMachineAbnormalStatus == 2"> <el-form-item prop="weightMisreport" v-show="cusDeclarationObj.overMachineStatus == 2 && cusDeclarationObj.overMachineAbnormalStatus == 2">
...@@ -120,6 +124,7 @@ ...@@ -120,6 +124,7 @@
<el-button type="primary" plain @click="canclAudit">{{cusDeclarationObj.dcCheckStatus === '1' ? $t('取消全部退场审核') : $t('取消部分退场审核')}}</el-button> <el-button type="primary" plain @click="canclAudit">{{cusDeclarationObj.dcCheckStatus === '1' ? $t('取消全部退场审核') : $t('取消部分退场审核')}}</el-button>
</el-row> </el-row>
<el-row class="operate-button"> <el-row class="operate-button">
<el-button type="primary" v-if="inOverReview" @click="exitReviewDetail">{{$t('删单退场审核中')}}</el-button>
<el-button type="primary" v-if="inOverReview" plain @click="canclOverAudit">{{$t('取消删单退场审核')}}</el-button> <el-button type="primary" v-if="inOverReview" plain @click="canclOverAudit">{{$t('取消删单退场审核')}}</el-button>
<el-button type="primary" @click="onSubmit(1)" :disabled="isCheckDeal('submit')">{{$t('保存')}}</el-button> <el-button type="primary" @click="onSubmit(1)" :disabled="isCheckDeal('submit')">{{$t('保存')}}</el-button>
<el-button type="success" v-if="!inReview&&!inOverReview" @click="onSubmit(2)" :disabled="isCheckDeal('submit')">{{$t('提交')}}</el-button> <el-button type="success" v-if="!inReview&&!inOverReview" @click="onSubmit(2)" :disabled="isCheckDeal('submit')">{{$t('提交')}}</el-button>
...@@ -308,6 +313,13 @@ export default { ...@@ -308,6 +313,13 @@ export default {
this.$set(this.cusDeclarationObj, "overMachineStatus", 2) this.$set(this.cusDeclarationObj, "overMachineStatus", 2)
this.$set(this.cusDeclarationObj, "overMachineAbnormalStatus", 1) this.$set(this.cusDeclarationObj, "overMachineAbnormalStatus", 1)
} }
if(this.shipmentObj.customsDeleteExitApprovalInfo){
if(this.shipmentObj.customsDeleteExitApprovalInfo.details){
let details = JSON.parse(this.shipmentObj.customsDeleteExitApprovalInfo.details)
this.$set(this.cusDeclarationObj, "deleteExitType", details.deleteExitType)
this.$set(this.cusDeclarationObj, "deleteExitTime", details.deleteExitTime)
}
}
}, },
methods: { methods: {
strToArray(str) { strToArray(str) {
...@@ -386,8 +398,15 @@ export default { ...@@ -386,8 +398,15 @@ export default {
}, },
//提交删单退场审核 //提交删单退场审核
approvalCreate(){ approvalCreate(){
if(!this.cusDeclarationObj.deleteExitType || !this.cusDeclarationObj.deleteExitTime){ // this.$refs["cusDeclarationForm"].validate((valid) => {
this.$message.error(this.$t("请选择类型或者时间")); // if (valid) {}
// })
if(!this.cusDeclarationObj.deleteExitType){
this.$message.error(this.$t("请选择删单退场类型或者时间"));
return;
}
if(this.cusDeclarationObj.deleteExitType == 1 && !this.cusDeclarationObj.deleteExitTime){
this.$message.error(this.$t("请选择退场时间"));
return; return;
} }
let details = { let details = {
...@@ -399,9 +418,8 @@ export default { ...@@ -399,9 +418,8 @@ export default {
approvalStatus: 0, approvalStatus: 0,
approvalType: 11, approvalType: 11,
details: JSON.stringify(details) details: JSON.stringify(details)
}).then((res) => { }).then(() => {
serviceMsg(res, this).then(() => { this.onSubmit(1)
});
}); });
}, },
/** 提交 */ /** 提交 */
...@@ -587,6 +605,12 @@ export default { ...@@ -587,6 +605,12 @@ export default {
toReviewDetail.apply(this, [customsApprovalInfo.bpmProcessId]); toReviewDetail.apply(this, [customsApprovalInfo.bpmProcessId]);
this.cancel("close"); this.cancel("close");
}, },
//删单退场审核详情
exitReviewDetail() {
const { customsDeleteExitApprovalInfo } = this.shipmentObj;
toReviewDetail.apply(this, [customsDeleteExitApprovalInfo.bpmProcessId]);
this.cancel("close");
},
/* 取消退场审核 */ /* 取消退场审核 */
canclAudit() { canclAudit() {
console.log(this.shipmentObj) console.log(this.shipmentObj)
...@@ -719,20 +743,20 @@ export default { ...@@ -719,20 +743,20 @@ export default {
} }
return this.$t("未审核"); return this.$t("未审核");
}, },
/* 获取报关审核退场状态文字 */ /* 获取报关审核删单退场状态文字 */
getOverExamineStatus() { getOverExamineStatus() {
const { overMachineExamineStatus, checkDealStatus, customsInfo } = const { overMachineExamineStatus, checkDealStatus, customsInfo } =
this.shipmentObj; this.shipmentObj;
const { dcCheckStatus } = customsInfo ?? {}; const { dcCheckStatus } = customsInfo ?? {};
if (overMachineExamineStatus === 1) { if (overMachineExamineStatus === 1) {
return dcCheckStatus === 1 return dcCheckStatus === 1
? this.$t("退场审核中") ? this.$t("删单退场审核中")
: this.$t("部分退场审核中"); : this.$t("删单退场审核中");
} }
if (overMachineExamineStatus === 2 && checkDealStatus === 0) { if (overMachineExamineStatus === 2 && checkDealStatus === 0) {
return dcCheckStatus === 1 return dcCheckStatus === 1
? this.$t("审核通过,退场中") ? this.$t("删单退场审核通过,退场中")
: this.$t("审核通过,部分退场中"); : this.$t("删单退场审核通过,退场中");
} }
return this.$t("未审核"); return this.$t("未审核");
}, },
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
<el-button <el-button
size="small" size="small"
type="primary" type="primary"
:disabled="shipmentObj.approvaling"
@click=" @click="
addMergedialogVisible = true addMergedialogVisible = true
isMergeEdit = false isMergeEdit = false
...@@ -57,8 +58,8 @@ ...@@ -57,8 +58,8 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('操作')" align="center" width="260" class-name="small-padding fixed-width" fixed="right"> <el-table-column :label="$t('操作')" align="center" width="260" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.status == 1" type="text" size="small" @click="editMerge(scope.row)">{{ $t('编辑') }}</el-button> <el-button :disabled="shipmentObj.approvaling" v-if="scope.row.status == 1" type="text" size="small" @click="editMerge(scope.row)">{{ $t('编辑') }}</el-button>
<el-button type="text" size="small" @click="pkgPage(scope.row)">{{ $t('装箱') }}</el-button> <el-button :disabled="shipmentObj.approvaling" type="text" size="small" @click="pkgPage(scope.row)">{{ $t('装箱') }}</el-button>
<el-button v-if="scope.row.status != 2" type="text" size="small" @click="deleteMerge(scope.row.id)">{{ $t('删除') }}</el-button> <el-button v-if="scope.row.status != 2" type="text" size="small" @click="deleteMerge(scope.row.id)">{{ $t('删除') }}</el-button>
<el-button type="text" size="small" @click="printTag(scope.row.id)">{{ $t('打印标签') }}</el-button> <el-button type="text" size="small" @click="printTag(scope.row.id)">{{ $t('打印标签') }}</el-button>
</template> </template>
...@@ -115,7 +116,7 @@ ...@@ -115,7 +116,7 @@
</el-dialog> </el-dialog>
<el-row style="margin-top: 15px" class="operate-button"> <el-row style="margin-top: 15px" class="operate-button">
<el-button size="small" type="primary" @click="finish">{{ $t('完成') }}</el-button> <el-button :disabled="shipmentObj.approvaling" size="small" type="primary" @click="finish">{{ $t('完成') }}</el-button>
<el-button size="small" @click="$emit('closeDialog')">{{ $t('取消') }}</el-button> <el-button size="small" @click="$emit('closeDialog')">{{ $t('取消') }}</el-button>
</el-row> </el-row>
</el-col> </el-col>
......
...@@ -174,7 +174,7 @@ ...@@ -174,7 +174,7 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('特性')" align="center" prop="attrNameList" width="120"> <el-table-column :label="$t('特性')" align="center" prop="attrNameList" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.attrNameList?scope.row.attrNameList.toString():''}} {{scope.row.warehouseInAttrNameList?scope.row.warehouseInAttrNameList.toString():""}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('备案')" align="center" prop="productRecord" width="100"> <el-table-column :label="$t('备案')" align="center" prop="productRecord" width="100">
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
</el-form-item> </el-form-item>
<span v-if="voKey=='preInstallBackInfo'" style="color: red;margin-left: 120px;">{{$t('请注意,分拣反审后,全部提单需重新制作')}}</span> <span v-if="voKey=='preInstallBackInfo'" style="color: red;margin-left: 120px;">{{$t('请注意,分拣反审后,全部提单需重新制作')}}</span>
</el-form> </el-form>
<work-flow v-if="xmlKey" :xmlkey="xmlKey" v-model="copyUserId"></work-flow>
<el-row class="operate-button"> <el-row class="operate-button">
<el-button type="success" @click="onSubmit" v-show="!isReview">{{$t('发起申请')}}</el-button> <el-button type="success" @click="onSubmit" v-show="!isReview">{{$t('发起申请')}}</el-button>
<el-button type="primary" @click="jumpReviewDetail" v-show="isReview">{{$t('审核中')}}</el-button> <el-button type="primary" @click="jumpReviewDetail" v-show="isReview">{{$t('审核中')}}</el-button>
...@@ -18,6 +19,7 @@ ...@@ -18,6 +19,7 @@
<script> <script>
import { approvalCreate, approvalCancel } from "@/api/ecw/boxSea"; import { approvalCreate, approvalCancel } from "@/api/ecw/boxSea";
import { serviceMsg, toReviewDetail } from "../utils"; import { serviceMsg, toReviewDetail } from "../utils";
import WorkFlow from "@/components/WorkFlow/index.vue";
/** /**
* 反审 * 反审
...@@ -25,6 +27,7 @@ import { serviceMsg, toReviewDetail } from "../utils"; ...@@ -25,6 +27,7 @@ import { serviceMsg, toReviewDetail } from "../utils";
export default { export default {
name: "review", name: "review",
inheritAttrs: false, inheritAttrs: false,
components: {WorkFlow},
data() { data() {
return { return {
// 反审对象 // 反审对象
...@@ -32,8 +35,21 @@ export default { ...@@ -32,8 +35,21 @@ export default {
isReview: false, isReview: false,
bpmProcessId: "", bpmProcessId: "",
voKey: "", voKey: "",
copyUserId: [], // 抄送人
}; };
}, },
computed:{
type(){
return this.$attrs.currNode?.type
},
xmlKey(){
if(!this.type) return null
return {
// 出货反审核
'shipment': 'shipment_audit_no'
}[this.type]
}
},
created() { created() {
const { currNode, shipmentObj } = this.$attrs; const { currNode, shipmentObj } = this.$attrs;
...@@ -48,6 +64,8 @@ export default { ...@@ -48,6 +64,8 @@ export default {
case "unloading": case "unloading":
voKey = "cabinetUnloadBackApprovalInfo"; voKey = "cabinetUnloadBackApprovalInfo";
break; break;
case "shipment":
voKey = "airShipmentBackApprovalInfo";
} }
if (voKey) { if (voKey) {
...@@ -95,6 +113,7 @@ export default { ...@@ -95,6 +113,7 @@ export default {
let approvalType = 14; // 预装反审 let approvalType = 14; // 预装反审
if (currNode.type === "cabinet") approvalType = 9; // 装柜反审 if (currNode.type === "cabinet") approvalType = 9; // 装柜反审
if (currNode.type === "unloading") approvalType = 16; // 到仓反审核 if (currNode.type === "unloading") approvalType = 16; // 到仓反审核
if(currNode.type === "shipment") approvalType = 19; // 出货反审核
approvalCreate({ approvalCreate({
shipmentId: shipmentObj.id, shipmentId: shipmentObj.id,
......
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
<el-button v-if="airShipmentApprovalInfo && airShipmentApprovalInfo.approvalStatus == 1" type="primary" @click="$router.push({path: '/bpm/process-instance/detail', query: {id: airShipmentApprovalInfo.bpmProcessId}})">{{$t('出货审核中')}}</el-button> <el-button v-if="airShipmentApprovalInfo && airShipmentApprovalInfo.approvalStatus == 1" type="primary" @click="$router.push({path: '/bpm/process-instance/detail', query: {id: airShipmentApprovalInfo.bpmProcessId}})">{{$t('出货审核中')}}</el-button>
<el-button v-if="airShipmentApprovalInfo && airShipmentApprovalInfo.approvalStatus == 1" type="primary" @click="canclAudit">{{$t('取消出货审核')}}</el-button> <el-button v-if="airShipmentApprovalInfo && airShipmentApprovalInfo.approvalStatus == 1" type="primary" @click="canclAudit">{{$t('取消出货审核')}}</el-button>
<el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button> <el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button>
<el-button v-if="!airShipmentApprovalInfo || airShipmentApprovalInfo.approvalStatus != 1" type="success" @click="onSubmit(2)">{{$t('提交')}}</el-button> <el-button :disabled="$attrs.shipmentObj.approvaling" v-if="!airShipmentApprovalInfo || airShipmentApprovalInfo.approvalStatus != 1" type="success" @click="onSubmit(2)">{{$t('提交')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button> <el-button @click="cancel">{{$t('关闭')}}</el-button>
</el-row> </el-row>
</div> </div>
......
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
<el-row class="operate-button"> <el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button> <el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button>
<el-button type="success" @click="onSubmit(2)">{{$t('提交')}}</el-button> <el-button :disabled="shipmentObj.approvaling" type="success" @click="onSubmit(2)">{{$t('提交')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button> <el-button @click="cancel">{{$t('关闭')}}</el-button>
<el-button :disabled="shipmentObj.ladingBillInfo == null" @click="download">{{$t('下载提单确认件')}}</el-button> <el-button :disabled="shipmentObj.ladingBillInfo == null" @click="download">{{$t('下载提单确认件')}}</el-button>
</el-row> </el-row>
...@@ -134,7 +134,7 @@ export default { ...@@ -134,7 +134,7 @@ export default {
packageUnit: oldData.packageUnit === 0 ? undefined : oldData.packageUnit, packageUnit: oldData.packageUnit === 0 ? undefined : oldData.packageUnit,
}; };
if(!this.shipmentObj.ladingBillInfo){ if(!this.shipmentObj.ladingBillInfo){
this.$set(this.subMaterialObj,'agentId',this.shipmentObj.agentInfo?.agentId||undefined) this.$set(this.subMaterialObj,'agentId',this.shipmentObj.agentInfo?.agentId||undefined)
this.$set(this.subMaterialObj,'soNo',this.shipmentObj.bookSeaInfo?.sono||undefined) this.$set(this.subMaterialObj,'soNo',this.shipmentObj.bookSeaInfo?.sono||undefined)
this.$set(this.subMaterialObj,'blMblNo',this.shipmentObj.bookSeaInfo?.sono||undefined) this.$set(this.subMaterialObj,'blMblNo',this.shipmentObj.bookSeaInfo?.sono||undefined)
...@@ -192,7 +192,7 @@ export default { ...@@ -192,7 +192,7 @@ export default {
download() { download() {
getBoxLadingBillPdf({shipmentId: this.shipmentObj.id}).then(res=>{ getBoxLadingBillPdf({shipmentId: this.shipmentObj.id}).then(res=>{
let blob = new Blob([res], {type: "application/vnd.ms-excel"}) let blob = new Blob([res], {type: "application/vnd.ms-excel"})
FileSaver.saveAs(blob, this.$t('提单确认件.xlsx')); FileSaver.saveAs(blob, this.$t('提单确认件.xlsx'));
}) })
} }
}, },
......
...@@ -21,8 +21,8 @@ ...@@ -21,8 +21,8 @@
<el-row style="margin-top: 15px"> <el-row style="margin-top: 15px">
<el-row> <el-row>
<el-button size="small" type="primary" @click="()=>tallyClick('batch')">{{$t('批量理货')}}</el-button> <el-button :disabled="shipmentObj.approvaling" size="small" type="primary" @click="()=>tallyClick('batch')">{{$t('批量理货')}}</el-button>
<el-button size="small" type="primary" @click="()=>removeClick('batch')">{{$t('批量移出')}}</el-button> <el-button :disabled="shipmentObj.approvaling" size="small" type="primary" @click="()=>removeClick('batch')">{{$t('批量移出')}}</el-button>
</el-row> </el-row>
<el-row style="margin-top: 5px"> <el-row style="margin-top: 5px">
<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">
...@@ -93,8 +93,9 @@ ...@@ -93,8 +93,9 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('操作')" align="center" width="160" class-name="small-padding fixed-width" fixed="right"> <el-table-column :label="$t('操作')" align="center" width="160" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="small" @click="tallyClick('single',scope.row)">{{$t('理货')}}</el-button> <el-button :disabled="shipmentObj.approvaling" type="text" size="small" @click="tallyClick('single',scope.row)">{{$t('理货')}}</el-button>
<el-button type="text" size="small" @click="removeClick('single',scope.row)">{{$t('移出')}}</el-button> <el-button :disabled="shipmentObj.approvaling" type="text" size="small" @click="removeClick('single',scope.row)">{{$t('移出')}}</el-button>
<el-button type="text" size="small" @click="currentTurnExceptionOrder=scope.row">{{$t('转异')}}</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -102,7 +103,7 @@ ...@@ -102,7 +103,7 @@
</el-row> </el-row>
<el-row style="margin-top: 15px" class="operate-button"> <el-row style="margin-top: 15px" class="operate-button">
<el-button size="small" type="primary" @click="tallyFinish">{{$t('完成理货')}}</el-button> <el-button :disabled="shipmentObj.approvaling" size="small" type="primary" @click="tallyFinish">{{$t('完成理货')}}</el-button>
<el-button size="small" @click="cancel">{{$t('取消')}}</el-button> <el-button size="small" @click="cancel">{{$t('取消')}}</el-button>
</el-row> </el-row>
</el-col> </el-col>
...@@ -112,6 +113,13 @@ ...@@ -112,6 +113,13 @@
<batchTally v-if="dialogConfig.dialogVisible" v-bind="$attrs" @closeDialog="closeDialog" :type="dialogConfig.type" :tallyRows="tallyRows" :shipmentObj="shipmentObj" /> <batchTally v-if="dialogConfig.dialogVisible" v-bind="$attrs" @closeDialog="closeDialog" :type="dialogConfig.type" :tallyRows="tallyRows" :shipmentObj="shipmentObj" />
</el-dialog> </el-dialog>
<warehouse-detail :order="order" :orderItemId="showWarehouseInItemId" v-if="showWarehouseInItemId" @close="showWarehouseInItemId=null" /> <warehouse-detail :order="order" :orderItemId="showWarehouseInItemId" v-if="showWarehouseInItemId" @close="showWarehouseInItemId=null" />
<exception
v-if="currentTurnExceptionOrder"
:orderNo="currentTurnExceptionOrder.orderNo"
:orderId="currentTurnExceptionOrder.orderId"
append-to-body
@cancel="currentTurnExceptionOrder=null"
@success="currentTurnExceptionOrder=null" />
</div> </div>
</template> </template>
...@@ -121,11 +129,13 @@ import { getTallyList, tallyRemove, tallyCommit } from "@/api/ecw/boxSea"; ...@@ -121,11 +129,13 @@ import { getTallyList, tallyRemove, tallyCommit } from "@/api/ecw/boxSea";
import { formatDate, serviceMsg } from "../../utils"; import { formatDate, serviceMsg } from "../../utils";
import WarehouseDetail from "./warehouseDetail"; import WarehouseDetail from "./warehouseDetail";
import { getOrder } from "@/api/ecw/order"; import { getOrder } from "@/api/ecw/order";
import Exception from "@/views/ecw/box/components/Exception.vue";
export default { export default {
name: "tally", name: "tally",
inheritAttrs: false, inheritAttrs: false,
components: { components: {
Exception,
batchTally, batchTally,
WarehouseDetail, WarehouseDetail,
}, },
...@@ -149,6 +159,8 @@ export default { ...@@ -149,6 +159,8 @@ export default {
type: "", type: "",
fullscreen: false, fullscreen: false,
}, },
// 当前转异订单
currentTurnExceptionOrder: null
}; };
}, },
created() { created() {
...@@ -203,6 +215,9 @@ export default { ...@@ -203,6 +215,9 @@ export default {
}, },
// 理货点击 // 理货点击
tallyClick(type, data) { tallyClick(type, data) {
if(this.shipmentObj.approvaling){
return this.$message.error(this.$t('业务待审核,暂不能操作'))
}
if (type === "batch") { if (type === "batch") {
if (this.selectedRows.length === 0) { if (this.selectedRows.length === 0) {
this.$message.error(this.$t("请选择需要理货的订单")); this.$message.error(this.$t("请选择需要理货的订单"));
......
...@@ -162,6 +162,14 @@ export default { ...@@ -162,6 +162,14 @@ export default {
this.$set(this.dialogConfig, "fullscreen", true); this.$set(this.dialogConfig, "fullscreen", true);
this.$set(this.dialogConfig, "title", this.$t("合包列表")); this.$set(this.dialogConfig, "title", this.$t("合包列表"));
break; break;
// 出货
case "shipment":
if (this.shipmentObj[node.keyName] == 175) {
this.currentComponent = `reviewWidget`;
this.$set(this.dialogConfig, "width", "700px");
this.$set(this.dialogConfig, "title", this.$t("出货反审"));
}
break;
// 清关文件 // 清关文件
case "clrDocument": case "clrDocument":
this.$set(this.dialogConfig, "width", "700px"); this.$set(this.dialogConfig, "width", "700px");
......
...@@ -293,7 +293,7 @@ function airBaseData() { ...@@ -293,7 +293,7 @@ function airBaseData() {
* 卸柜状态:181、未卸柜;182、卸柜中;183、卸柜审核中;184、卸柜审核失败;185、卸柜审核成功;186、已卸柜 * 卸柜状态:181、未卸柜;182、卸柜中;183、卸柜审核中;184、卸柜审核失败;185、卸柜审核成功;186、已卸柜
*/ */
voName: "cabinetUnloadInfo", voName: "cabinetUnloadInfo",
keyName: "ulStatus", keyName: "toWarehouseStatus",
status: { status: {
start: [181], start: [181],
wait: [182, 183, 184, 185], wait: [182, 183, 184, 185],
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<el-descriptions-item :label="$t('出货渠道')"> <el-descriptions-item :label="$t('出货渠道')">
{{getShipChannelName(boxBackVO.shippingChannelId)}} {{getShipChannelName(boxBackVO.shippingChannelId)}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item v-if="type!='air_warehouse'" :label="$t('柜型')"> <el-descriptions-item :label="$t('柜型')" v-if="boxBackVO.transportType != 3&&type!='air_warehouse'">
{{cabinetLabel}} {{cabinetLabel}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('体积/重量')"> <el-descriptions-item :label="$t('体积/重量')">
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
</el-descriptions> </el-descriptions>
<div class="mt-20" v-if="type === 'shipment'"> <div class="mt-20" v-if="type === 'shipment'">
<el-descriptions :column="1" v-if="boxAirShipmentBackVO" border label-style="width: 200px"> <el-descriptions :column="1" v-if="boxAirShipmentBackVO" border :label-style="{width: '200px'}">
<el-descriptions-item :label="$t('出货方式')"> <el-descriptions-item :label="$t('出货方式')">
{{deliverType}} {{deliverType}}
</el-descriptions-item> </el-descriptions-item>
...@@ -194,6 +194,9 @@ export default { ...@@ -194,6 +194,9 @@ export default {
if (this.type === "shipment") { if (this.type === "shipment") {
this.getShipmentDetail(); this.getShipmentDetail();
} }
if (this.type === "deleteExit") {
this.getDeleteExit();
}
}); });
}, },
getShipmentDetail(){ getShipmentDetail(){
......
...@@ -261,7 +261,7 @@ export default { ...@@ -261,7 +261,7 @@ export default {
if (r.code === 0) { if (r.code === 0) {
this.$emit('getList') this.$emit('getList')
this.$emit('update:dialogVisible', false) this.$emit('update:dialogVisible', false)
this.$message.success(this.$t('调仓申请提交成功,请耐心等待审核')); this.$message.success(r.data);
} }
}) })
......
...@@ -524,7 +524,7 @@ ...@@ -524,7 +524,7 @@
<el-card class="mt-10" v-if="showWorkFlow"> <el-card class="mt-10" v-if="showWorkFlow">
<div class="card-title" slot="header">{{$t('审批流程')}}</div> <div class="card-title" slot="header">{{$t('审批流程')}}</div>
<work-flow xmlkey="order_modify" v-model="ccIdArr" /> <work-flow :xmlkey="updateChannel ? 'shipment_channel_change' : 'order_modify'" v-model="ccIdArr" />
</el-card> </el-card>
<div style="margin: 30px 0; display: flex"> <div style="margin: 30px 0; display: flex">
......
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
<template v-slot:header> <template v-slot:header>
<span style="color: red">*</span>{{ $t('箱数') }}</template> <span style="color: red">*</span>{{ $t('箱数') }}</template>
<template v-slot="{r,c,$index}"> <template v-slot="{r,c,$index}">
<el-form-item :rules="tableFormRules.cartonsNum"> <el-form-item :rules="tableFormRules.cartonsNum" :prop="`table.${$index}.cartonsNum`">
<el-input v-model="form.table[$index].cartonsNum" placeholder="" @blur="handleVolume($index)" :disabled="$index < protectRowCount"> <el-input v-model="form.table[$index].cartonsNum" placeholder="" @blur="handleVolume($index)" :disabled="$index < protectRowCount">
<span slot="append">{{ getDictDataLabel(DICT_TYPE.WAREHOUSING_SPECIFICATION_TYPE, form.table[$index].specificationType) }}</span> <span slot="append">{{ getDictDataLabel(DICT_TYPE.WAREHOUSING_SPECIFICATION_TYPE, form.table[$index].specificationType) }}</span>
</el-input> </el-input>
...@@ -106,7 +106,7 @@ ...@@ -106,7 +106,7 @@
<span>{{ $t('') }}</span>(cm) <span>{{ $t('') }}</span>(cm)
</template> </template>
<template v-slot="{r,c,$index}"> <template v-slot="{r,c,$index}">
<el-form-item :rules="tableFormRules.boxGauge1"> <el-form-item :rules="tableFormRules.boxGauge1" :prop="`table.${$index}.boxGauge1`">
<el-input :disabled="$index < protectRowCount" type="number" v-model="form.table[$index].boxGauge1" placeholder="" @blur="handleVolume($index)"></el-input> <el-input :disabled="$index < protectRowCount" type="number" v-model="form.table[$index].boxGauge1" placeholder="" @blur="handleVolume($index)"></el-input>
</el-form-item> </el-form-item>
</template> </template>
...@@ -116,7 +116,7 @@ ...@@ -116,7 +116,7 @@
<span>{{ $t('') }}</span>(cm) <span>{{ $t('') }}</span>(cm)
</template> </template>
<template v-slot="{r,c,$index}"> <template v-slot="{r,c,$index}">
<el-form-item :rules="tableFormRules.boxGauge2"> <el-form-item :rules="tableFormRules.boxGauge2" :prop="`table.${$index}.boxGauge2`">
<el-input :disabled="$index < protectRowCount" type="number" v-model="form.table[$index].boxGauge2" placeholder="" @blur="handleVolume($index)"></el-input> <el-input :disabled="$index < protectRowCount" type="number" v-model="form.table[$index].boxGauge2" placeholder="" @blur="handleVolume($index)"></el-input>
</el-form-item> </el-form-item>
</template> </template>
...@@ -126,7 +126,7 @@ ...@@ -126,7 +126,7 @@
<span>{{ $t('') }}</span>(cm) <span>{{ $t('') }}</span>(cm)
</template> </template>
<template v-slot="{r,c,$index}"> <template v-slot="{r,c,$index}">
<el-form-item :rules="tableFormRules.boxGauge3"> <el-form-item :rules="tableFormRules.boxGauge3" :prop="`table.${$index}.boxGauge3`">
<el-input :disabled="$index < protectRowCount" type="number" v-model="form.table[$index].boxGauge3" placeholder="" @blur="handleVolume($index)"></el-input> <el-input :disabled="$index < protectRowCount" type="number" v-model="form.table[$index].boxGauge3" placeholder="" @blur="handleVolume($index)"></el-input>
</el-form-item> </el-form-item>
</template> </template>
...@@ -136,7 +136,7 @@ ...@@ -136,7 +136,7 @@
<span style="color: red">*</span> <span>{{ $t('体积') }}</span>(m³) <span style="color: red">*</span> <span>{{ $t('体积') }}</span>(m³)
</template> </template>
<template v-slot="{r,c,$index}"> <template v-slot="{r,c,$index}">
<el-form-item :rules="tableFormRules.volume"> <el-form-item :rules="tableFormRules.volume" :prop="`table.${$index}.volume`">
<el-input :disabled="$index < protectRowCount" v-model="form.table[$index].volume" placeholder="" type="number"></el-input> <el-input :disabled="$index < protectRowCount" v-model="form.table[$index].volume" placeholder="" type="number"></el-input>
</el-form-item> </el-form-item>
</template> </template>
...@@ -146,7 +146,7 @@ ...@@ -146,7 +146,7 @@
<span style="color: red">*</span> <span>{{ $t('重量') }}</span>(Kg) <span style="color: red">*</span> <span>{{ $t('重量') }}</span>(Kg)
</template> </template>
<template v-slot="{r,c,$index}"> <template v-slot="{r,c,$index}">
<el-form-item :rules="tableFormRules.weight"> <el-form-item :rules="tableFormRules.weight" :prop="`table.${$index}.weight`">
<el-input :disabled="$index < protectRowCount" v-model="form.table[$index].weight" placeholder="" type="number"></el-input> <el-input :disabled="$index < protectRowCount" v-model="form.table[$index].weight" placeholder="" type="number"></el-input>
</el-form-item> </el-form-item>
</template> </template>
...@@ -376,13 +376,13 @@ export default { ...@@ -376,13 +376,13 @@ export default {
brand: [{required: true, message: this.$t("请选择品牌"), trigger: "change"}], brand: [{required: true, message: this.$t("请选择品牌"), trigger: "change"}],
}, },
tableFormRules: { tableFormRules: {
// cartonsNum: [{required: true, message: this.$t("箱数不能为空"), trigger: "change"}], cartonsNum: [{required: true, message: this.$t("箱数不能为空"), trigger: "change"}],
// boxGauge1: [{required: true, message: this.$t("货物长不能为空"), trigger: "change"}], boxGauge1: [{required: true, message: this.$t("货物长不能为空"), trigger: "change"}],
// boxGauge2: [{required: true, message: this.$t("货物宽不能为空"), trigger: "change"}], boxGauge2: [{required: true, message: this.$t("货物宽不能为空"), trigger: "change"}],
// boxGauge3: [{required: true, message: this.$t("货物高不能为空"), trigger: "change"}], boxGauge3: [{required: true, message: this.$t("货物高不能为空"), trigger: "change"}],
// volume: [{required: true, message: this.$t("体积不能为空"), trigger: "change"}], volume: [{required: true, message: this.$t("体积不能为空"), trigger: "change"}],
// weight: [{required: true, message: this.$t("重量不能为空"), trigger: "change"}], weight: [{required: true, message: this.$t("重量不能为空"), trigger: "change"}],
// // quantityAll: [{required: true, message: this.$t("数量不能为空"), trigger: "change"}] // quantityAll: [{required: true, message: this.$t("数量不能为空"), trigger: "change"}]
}, },
...@@ -492,31 +492,30 @@ export default { ...@@ -492,31 +492,30 @@ export default {
type: 'warning' type: 'warning'
}) })
} }
this.$refs['form'].validate(valid => { this.$refs['tableForm'].validate(valid1 => {
this.$refs['tableForm'].validate(valid1 => { console.log("表单校验", valid1)
if (!valid || !valid1) { if (!valid1) {
return return
} }
// 首次入仓、入仓补充 // 首次入仓、入仓补充
return finishPacked({ return finishPacked({
brand: this.form.brand, brand: this.form.brand,
orderId: this.warehousing.orderId, orderId: this.warehousing.orderId,
orderItemId: this.warehousing.orderItemId, orderItemId: this.warehousing.orderItemId,
orderWarehouseInItemDtoList: this.form.table.map(e => { orderWarehouseInItemDtoList: this.form.table.map(e => {
return { return {
...e, ...e,
boxGauge: e.boxGauge1 + '*' + e.boxGauge2 + '*' + e.boxGauge3, boxGauge: e.boxGauge1 + '*' + e.boxGauge2 + '*' + e.boxGauge3,
orderLocationCreateReqVOList: e.orderLocationBackVOList orderLocationCreateReqVOList: e.orderLocationBackVOList
}
}),
}).then(r => {
if (r.data) {
this.$message.success('打包成功')
this.handleClose()
} else {
this.$message.success('打包失败')
} }
}) }),
}).then(r => {
if (r.data) {
this.$message.success('打包成功')
this.handleClose()
} else {
this.$message.success('打包失败')
}
}) })
}) })
}, },
......
...@@ -306,7 +306,7 @@ ...@@ -306,7 +306,7 @@
{{ form1.table[$index].cartonsNum }} {{ form1.table[$index].cartonsNum }}
{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGING_TYPE, form1.table[$index].unit) }} {{ getDictDataLabel(DICT_TYPE.ECW_PACKAGING_TYPE, form1.table[$index].unit) }}
</span> </span>
<el-input v-else v-model="form1.table[$index].cartonsNum" placeholder=""> <el-input v-else v-model="form1.table[$index].cartonsNum" placeholder="" @blur="handleVolume($index, 1)">
<span slot="append">{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGING_TYPE, form1.table[$index].unit) }}</span> <span slot="append">{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGING_TYPE, form1.table[$index].unit) }}</span>
</el-input> </el-input>
<dict-selector :type="DICT_TYPE.WAREHOUSING_SPECIFICATION_TYPE" v-model="form1.table[$index].specificationType" @change="handleVolume($index, 1)"></dict-selector> <dict-selector :type="DICT_TYPE.WAREHOUSING_SPECIFICATION_TYPE" v-model="form1.table[$index].specificationType" @change="handleVolume($index, 1)"></dict-selector>
...@@ -743,10 +743,15 @@ export default { ...@@ -743,10 +743,15 @@ export default {
this.form.orderId = this.warehousing.orderId this.form.orderId = this.warehousing.orderId
this.form.orderItemId = this.warehousing.orderItemId this.form.orderItemId = this.warehousing.orderItemId
this.form.orderNo = this.warehousing.orderNo this.form.orderNo = this.warehousing.orderNo
this.form.warehouseInProdAttrIds = if (this.edit || this.isAdd) {
this.warehousing.warehouseInProdAttrIds?.split(',').map(e => +e) this.form.warehouseInProdAttrIds = this.warehousing.warehouseInProdAttrIds?.split(',').map(e => +e) || []
|| this.warehousing.prodAttrIds?.split(',').map(e => +e) } else {
|| [] this.form.warehouseInProdAttrIds =
this.warehousing.warehouseInProdAttrIds?.split(',').map(e => +e)
|| this.warehousing.prodAttrIds?.split(',').map(e => +e)
|| []
}
this.form.prodId = this.warehousing.prodId this.form.prodId = this.warehousing.prodId
this.form.prodTitleEn = this.warehousing.prodTitleEn this.form.prodTitleEn = this.warehousing.prodTitleEn
this.form.prodTitleZh = this.warehousing.prodTitleZh this.form.prodTitleZh = this.warehousing.prodTitleZh
......
...@@ -321,8 +321,6 @@ export default { ...@@ -321,8 +321,6 @@ export default {
this.$set(this.form, 'stepPrice', 1) this.$set(this.form, 'stepPrice', 1)
} }
}) })
}, },
methods: { methods: {
// 获取模板数据(复制的源路线价格信息) // 获取模板数据(复制的源路线价格信息)
...@@ -351,11 +349,13 @@ export default { ...@@ -351,11 +349,13 @@ export default {
stepPrice, stepPrice,
specialList, specialList,
priceStepList, priceStepList,
minWeight, minWeight,
minWeightUnit minWeightUnit,
needOrderInquiry,
needBook
} = res.data } = res.data
this.$set(this, 'form', Object.assign({}, this.form, { const data = {
allPrice, allPrice,
allPriceUnit, allPriceUnit,
allVolumeUnit, allVolumeUnit,
...@@ -370,8 +370,16 @@ export default { ...@@ -370,8 +370,16 @@ export default {
specialList, specialList,
priceStepList, priceStepList,
minWeight, minWeight,
minWeightUnit minWeightUnit,
})) needOrderInquiry,
needBook
}
// 海运需要填充货柜位置和订单方数上限
if(this.type == 'sea'){
data.containerLocation = res.data.containerLocation
data.square = res.data.square
}
this.$set(this, 'form', Object.assign({}, this.form, data))
// 产品选择器默认选择的商品 // 产品选择器默认选择的商品
getProduct(res.data.productId).then(res => { getProduct(res.data.productId).then(res => {
......
...@@ -876,7 +876,8 @@ export default { ...@@ -876,7 +876,8 @@ export default {
// 复制模板 // 复制模板
copyTemplate(row){ copyTemplate(row){
// 跳转到批量设置页面,并填充数据 // 跳转到批量设置页面,并填充数据
this.$router.push(`../../lineProject/batch-edit-${row.transportType == 3 || row.transportType == 4 ? 'air' : 'sea'}?templateId=${row.id}`) let transportType = row.warehouseLineDO.transportType
this.$router.push(`../../lineProject/batch-edit-${transportType == 3 || transportType == 4 ? 'air' : 'sea'}?templateId=${row.id}`)
}, },
// 关闭更多阶梯价格窗口 // 关闭更多阶梯价格窗口
closeMoreStepPrice(){ closeMoreStepPrice(){
......
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