Commit 037cfc63 authored by 邓春圆's avatar 邓春圆

Merge remote-tracking branch 'origin/dev' into dev

parents 810a210a 2a864dd6
<template>
<div class="shipping-update-error">
<div class="message-title">{{$t(`您确定撤销${cancelClearInfo.orderNo}已清关状态吗?`)}}</div>
<el-form ref="arrivalForm" :rules="rules" :model="cusClearanceObj" label-width="120px">
<el-form-item :label="$t('撤销理由')" prop="clEstTime">
<el-input v-model="cusClearanceObj.applyReason" type="textarea" :rows="4"></el-input>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit">{{$t('确定')}}</el-button>
<el-button @click="cancel">{{$t('取消')}}</el-button>
</el-row>
</div>
</template>
<script>
import { approvalCreate } from "@/api/ecw/boxSea";
export default {
name: "updateError",
inheritAttrs: false,
components: {},
props: {
shipmentObj: Object,
cancelClearInfo: Object,
},
data() {
return {
// 到港对象
cusClearanceObj: {},
// 校验
rules: {
applyReason: [
{ required: true, message: this.$t("必填"), trigger: "change" },
]
}
};
},
methods: {
onSubmit() {
this.$refs["arrivalForm"].validate((valid) => {
if (valid) {
approvalCreate({
shipmentId: this.shipmentObj.id,
approvalStatus: 0,
approvalType: 21,
orderId: this.cancelClearInfo.orderId,
applyReason: this.cusClearanceObj.applyReason
}).then(()=>{
this.$message.success("成功");
this.cancel()
})
}
});
},
cancel() {
this.$emit("closeDialog");
},
},
};
</script>
<style lang="scss" scoped>
.shipping-update-error {
.message-title {
text-align: center;
font-size: 20px;
margin: 0 20px 10px;
}
}
</style>
...@@ -108,6 +108,7 @@ ...@@ -108,6 +108,7 @@
<el-table-column prop="" :label="$t('操作')" align="center" width="120px"> <el-table-column prop="" :label="$t('操作')" align="center" width="120px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" size="small" :disabled="scope.row.abnormalDealStatus === 1" @click="()=>updateStatus('single', scope.row)">{{$t('更新状态')}}</el-button> <el-button type="primary" size="small" :disabled="scope.row.abnormalDealStatus === 1" @click="()=>updateStatus('single', scope.row)">{{$t('更新状态')}}</el-button>
<el-button type="primary" size="small" :disabled="shipmentObj.clStatus!=132&&shipmentObj.clearanceInfo&&(shipmentObj.clearanceInfo.clearanceOrderList.findIndex(ff=>ff.orderId == scope.row.orderId) !== -1)" @click="()=>cancleClear(scope.row)">{{$t('撤销清关申请')}}</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -213,6 +214,9 @@ ...@@ -213,6 +214,9 @@
<template v-if="dialogConfig.type === 'updateClear'"> <template v-if="dialogConfig.type === 'updateClear'">
<updateClear v-if="dialogConfig.visible" @closeDialog="closeDialog" :shipmentObj="shipmentObj" :clearInfo="clearInfo" /> <updateClear v-if="dialogConfig.visible" @closeDialog="closeDialog" :shipmentObj="shipmentObj" :clearInfo="clearInfo" />
</template> </template>
<template v-if="dialogConfig.type === 'cancelClear'">
<cancelClear v-if="dialogConfig.visible" @closeDialog="closeDialog" :shipmentObj="shipmentObj" :cancelClearInfo="cancelClearInfo" />
</template>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
...@@ -244,6 +248,7 @@ import editForm from "./editForm.vue"; ...@@ -244,6 +248,7 @@ import editForm from "./editForm.vue";
import updateError from "./updateError.vue"; import updateError from "./updateError.vue";
import updateArrival from "./updateArrival.vue"; import updateArrival from "./updateArrival.vue";
import updateClear from "./updateClear.vue"; import updateClear from "./updateClear.vue";
import cancelClear from "./cancelClear.vue";
import { listUser } from "@/api/system/user"; import { listUser } from "@/api/system/user";
export default { export default {
...@@ -257,7 +262,8 @@ export default { ...@@ -257,7 +262,8 @@ export default {
editForm, editForm,
updateError, updateError,
updateArrival, updateArrival,
updateClear updateClear,
cancelClear
}, },
created() { created() {
this.transportTypes = this.getDictDatas( this.transportTypes = this.getDictDatas(
...@@ -352,6 +358,7 @@ export default { ...@@ -352,6 +358,7 @@ export default {
clearInfo: { clearInfo: {
orderList: [] orderList: []
}, },
cancelClearInfo: {}
}; };
}, },
methods: { methods: {
...@@ -419,6 +426,11 @@ export default { ...@@ -419,6 +426,11 @@ export default {
this.$set(this.clearInfo, "type", type); this.$set(this.clearInfo, "type", type);
this.handleCommand("updateClear"); this.handleCommand("updateClear");
}, },
/* 更新清关状态 */
cancleClear(val) {
this.cancelClearInfo = val
this.handleCommand("cancelClear");
},
getErrorType() { getErrorType() {
for (const [key, value] of Object.entries(this.shipmentObj)) { for (const [key, value] of Object.entries(this.shipmentObj)) {
// 报关异常 customsHasAbnormal // 报关异常 customsHasAbnormal
...@@ -603,6 +615,10 @@ export default { ...@@ -603,6 +615,10 @@ export default {
this.$set(this.dialogConfig, "visible", true); this.$set(this.dialogConfig, "visible", true);
this.$set(this.dialogConfig, "type", "updateClear"); this.$set(this.dialogConfig, "type", "updateClear");
break; break;
case "cancelClear":
this.$set(this.dialogConfig, "visible", true);
this.$set(this.dialogConfig, "type", "cancelClear");
break;
} }
}, },
// 关闭弹框 // 关闭弹框
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
reserve-keyword reserve-keyword
:filter-method="filterOrder" :filter-method="filterOrder"
:placeholder="$t('请输入订单号、提单号、唛头')" :placeholder="$t('请输入订单号、提单号、唛头')"
@change="selectOrderId"
> >
<el-option <el-option
v-for="(item) in statusOrderList" v-for="(item) in statusOrderList"
...@@ -60,7 +61,7 @@ import regError from "../../regError"; ...@@ -60,7 +61,7 @@ import regError from "../../regError";
import dayjs from "dayjs"; import dayjs from "dayjs";
import { arrivalCreate } from "@/api/ecw/boxSeaAir"; import { arrivalCreate } from "@/api/ecw/boxSeaAir";
import { shipmentOrderList } from "@/api/ecw/boxAir"; import { shipmentOrderList } from "@/api/ecw/boxAir";
import { formatDateStr, serviceMsg } from "../utils"; import { formatDateStr, serviceMsg, formatDate } from "../utils";
/** /**
* 到港 * 到港
...@@ -106,6 +107,7 @@ export default { ...@@ -106,6 +107,7 @@ export default {
dtRealHeadTimeFlag: false, dtRealHeadTimeFlag: false,
orderList: [], orderList: [],
orderListFilter: [], orderListFilter: [],
arrivalOrderList: []
}; };
}, },
created() { created() {
...@@ -121,7 +123,8 @@ export default { ...@@ -121,7 +123,8 @@ export default {
this.dtRealHeadTimeFlag = true this.dtRealHeadTimeFlag = true
} }
if(!this.airArrivalInfo.arriveType) this.$set(this.airArrivalInfo,'arriveType',0) if(!this.airArrivalInfo.arriveType) this.$set(this.airArrivalInfo,'arriveType',0)
this.$set(this.airArrivalInfo,'arriveOrderIdList',this.airArrivalInfo.arrivalOrderList.map(item=>{return item.orderId})) this.$set(this.airArrivalInfo,'arriveOrderIdList',[])
this.arrivalOrderList = this.$attrs.shipmentObj.airArrivalInfo?this.$attrs.shipmentObj.airArrivalInfo.arrivalOrderList:[]
shipmentOrderList(this.$attrs.shipmentObj.id).then(r=>{ shipmentOrderList(this.$attrs.shipmentObj.id).then(r=>{
this.orderList = r.data this.orderList = r.data
this.orderListFilter = r.data this.orderListFilter = r.data
...@@ -137,7 +140,7 @@ export default { ...@@ -137,7 +140,7 @@ export default {
tidanNo: item.tidanNo, tidanNo: item.tidanNo,
marks: item.marks, marks: item.marks,
} }
let index = this.airArrivalInfo.arrivalOrderList.findIndex(p=>p.orderId==item.orderId) let index = this.arrivalOrderList?this.arrivalOrderList.findIndex(p=>p.orderId==item.orderId):-1
if(index != -1){ if(index != -1){
json.arrival = this.$t('已到港') json.arrival = this.$t('已到港')
}else{ }else{
...@@ -162,21 +165,48 @@ export default { ...@@ -162,21 +165,48 @@ export default {
this.compareDate(this.airArrivalInfo.estTime, val); this.compareDate(this.airArrivalInfo.estTime, val);
}, },
// 确认到港时间 "airArrivalInfo.arriveType"(val) {
"arrivalObj.apConfirmTime"(val) { if(val == 1){
this.compareDate(this.getExpectedTime(), val); this.$set(this.airArrivalInfo, 'actSecondTime', null)
}, this.$set(this.airArrivalInfo, 'estTime', null)
this.$set(this.airArrivalInfo, 'actTime', null)
}else{
let oldData = { ...this.$attrs.shipmentObj[this.$attrs.currNode.voName] };
oldData = formatDateStr(
oldData,
["actSecondTime", "estTime", "actTime"],
"YYYY-MM-DD HH:mm:ss"
);
this.$set(this.airArrivalInfo, 'actSecondTime', oldData.actSecondTime)
this.$set(this.airArrivalInfo, 'estTime', oldData.estTime)
this.$set(this.airArrivalInfo, 'actTime', oldData.actTime)
}
}
}, },
methods: { methods: {
filterOrder(val){ filterOrder(val){
if(val != ''){ if(val != ''){
this.orderListFilter = this.orderList.filter(item=>{ this.orderListFilter = this.orderList.filter(item=>{
return item.orderNo.indexOf(val) > -1 || item.tidanNo.indexOf(val) > -1 || item.marks.indexOf(val) > -1 return item.orderNo&&item.orderNo.indexOf(val) > -1 || item.tidanNo&&item.tidanNo.indexOf(val) > -1 || item.marks&&item.marks.indexOf(val) > -1
}) })
}else{ }else{
this.orderListFilter = this.orderList this.orderListFilter = this.orderList
} }
}, },
selectOrderId(val) {
if (val.length == 1) {
let arr = this.arrivalOrderList.find((item) => item.orderId == val[0])
if (arr) {
this.$set(this.airArrivalInfo, 'actSecondTime', formatDate(arr.actSecondTime))
this.$set(this.airArrivalInfo, 'estTime', formatDate(arr.estTime))
this.$set(this.airArrivalInfo, 'actTime', formatDate(arr.actTime))
}
} else {
this.$set(this.airArrivalInfo, 'actSecondTime', null)
this.$set(this.airArrivalInfo, 'estTime', null)
this.$set(this.airArrivalInfo, 'actTime', null)
}
},
regCloseDialog(type) { regCloseDialog(type) {
this.dialogVisible = false; this.dialogVisible = false;
if (type === "error") { if (type === "error") {
......
...@@ -254,7 +254,7 @@ ...@@ -254,7 +254,7 @@
</div> </div>
<div class="table-button"> <div class="table-button">
<el-button v-if="item.relateOrderList" type="primary" size="small" style="margin-right: 20px;" @click="getRelationOrder(item)">{{$t('关联订单')}}</el-button> <el-button v-if="item.relateOrderList" type="primary" size="small" style="margin-right: 20px;" @click="getRelationOrder(item)">{{$t('关联订单')}}</el-button>
<el-button v-if="preList.sectionGoodList" type="success" size="small" :disabled="isAudit" @click="handleGoods('all',item,preList.sectionGoodList[0])">{{$t('分拣')}}</el-button> <el-button v-if="preList.sectionGoodList&&item.airShipment==4" type="success" size="small" :disabled="isAudit" @click="handleGoods('all',item,preList.sectionGoodList[0])">{{$t('分拣')}}</el-button>
</div> </div>
</el-row> </el-row>
<el-table v-loading="toBePreLoading" :data="item.boxOrderItemList" border show-summary :summary-method="getSummaries"> <el-table v-loading="toBePreLoading" :data="item.boxOrderItemList" border show-summary :summary-method="getSummaries">
...@@ -284,7 +284,9 @@ ...@@ -284,7 +284,9 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('包装类型')" align="center" prop=""> <el-table-column :label="$t('包装类型')" align="center" prop="">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_PACKAGING_TYPE" :value="scope.row.warehouseInInfoVO && scope.row.warehouseInInfoVO.unit" /> <span v-for="(unit,index) in scope.row.warehouseInInfoVO && scope.row.warehouseInInfoVO.units.split(',')" :key="index">
<dict-tag :type="DICT_TYPE.ECW_PACKAGING_TYPE" :value="unit" />
</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('材质')" align="center" prop="material">{{ $t('') }}<template slot-scope="scope"> <el-table-column :label="$t('材质')" align="center" prop="material">{{ $t('') }}<template slot-scope="scope">
......
...@@ -480,7 +480,6 @@ ...@@ -480,7 +480,6 @@
<!-- 打印入仓单 --> <!-- 打印入仓单 -->
<template v-if=" <template v-if="
exclude(scope.row.status, [0, 2]) && exclude(scope.row.status, [0, 2]) &&
exclude(scope.row.shipmentState, [320,322,323]) &&
exclude(scope.row.abnormalState, [5,6,7,8]) exclude(scope.row.abnormalState, [5,6,7,8])
"> ">
<el-dropdown-item @click.native="printWarehouseReceiptOrderId=scope.row.orderId" v-hasPermi="['ecw:order:warehouse_receipt']">{{$t('打印入仓单')}}</el-dropdown-item> <el-dropdown-item @click.native="printWarehouseReceiptOrderId=scope.row.orderId" v-hasPermi="['ecw:order:warehouse_receipt']">{{$t('打印入仓单')}}</el-dropdown-item>
......
...@@ -602,7 +602,7 @@ export default { ...@@ -602,7 +602,7 @@ export default {
this.getChannel() this.getChannel()
getWarehouseList().then(res => { getWarehouseList().then(res => {
this.tradeCityList = res.data this.tradeCityList = res.data
this.importCityList = this.tradeCityList.filter(item => item.type == 1) this.importCityList = this.tradeCityList.filter(item => item.tradeType == 1 || item.tradeType == 3)
}) })
if (this.$route.query.orderId) { if (this.$route.query.orderId) {
this.queryParams.orderId = this.$route.query.orderId this.queryParams.orderId = this.$route.query.orderId
......
...@@ -19,13 +19,13 @@ ...@@ -19,13 +19,13 @@
<el-table v-loading="loading" :data="list"> <el-table v-loading="loading" :data="list">
<el-table-column :label="$t('下载编号')" align="center" prop="id" width="100" /> <el-table-column :label="$t('下载编号')" align="center" prop="id" width="100" />
<el-table-column :label="$t('分类')" align="center" prop="type" width="100" > <el-table-column :label="$t('分类')" align="left" prop="type" width="120" >
<template v-slot:default="{row}"> <template v-slot:default="{row}">
<dict-tag :type="DICT_TYPE.DOWNLOAD_TYPE" :value="row.type"/> <dict-tag :type="DICT_TYPE.DOWNLOAD_TYPE" :value="row.type"/>
</template> </template>
</el-table-column> </el-table-column>
<!--<el-table-column :label="$t('业务编号')" align="center" prop="type" width="100" /--> <!--<el-table-column :label="$t('业务编号')" align="center" prop="type" width="100" /-->
<el-table-column :label="$t('下载内容')" align="center" prop="name" /> <el-table-column :label="$t('下载内容')" align="left" prop="name" />
<el-table-column :label="$t('开始下载时间')" align="center" prop="createTime" width="150"> <el-table-column :label="$t('开始下载时间')" align="center" prop="createTime" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span> <span>{{ parseTime(scope.row.createTime) }}</span>
...@@ -47,11 +47,11 @@ ...@@ -47,11 +47,11 @@
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width" width="100"> <el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width" width="100">
<template slot-scope="scope" > <template slot-scope="scope" >
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleDownload(scope.row)" <el-button size="mini" type="text" icon="el-icon-edit" @click="handleDownload(scope.row)"
v-hasPermi="['system:notice:update']" v-if="scope.row.status == 2">{{$t('下载')}}</el-button> v-if="scope.row.status == 2">{{$t('下载')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleRetry(scope.row)" <el-button size="mini" type="text" icon="el-icon-edit" @click="handleRetry(scope.row)"
v-hasPermi="['system:notice:update']" v-if="scope.row.status == 3">{{$t('重试')}}</el-button> v-if="scope.row.status == 3">{{$t('重试')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleDel(scope.row)" <el-button size="mini" type="text" icon="el-icon-edit" @click="handleDel(scope.row)"
v-hasPermi="['system:notice:update']">{{$t('删除')}}</el-button> >{{$t('删除')}}</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
......
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