Commit 9d0cb54b authored by 邓春圆's avatar 邓春圆

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

parents a95a11f2 964edf8a
......@@ -814,7 +814,7 @@ export function splitItemUpdate(data){
// 待备货(可出)订单列表
export function canShipmentPage(params){
return request({
url: '/air/order/can/shipment/page',
url: '/air/order/data/scope/can/shipment/page',
method: 'get',
params
})
......@@ -822,7 +822,7 @@ export function canShipmentPage(params){
// 待出订单列表
export function waitingShipmentPage(params){
return request({
url: '/air/order/waiting/shipment/page',
url: '/air/order/data/scope/waiting/shipment/page',
method: 'get',
params
})
......
......@@ -455,6 +455,10 @@ export default {
component: "shippingDetail",
processId: this.processInstance.businessKey,
type: 'air_warehouse'
},
revoke_clear:{
component:() => import("@/views/ecw/box/components/RevokeClear"),
id: this.processInstance.businessKey
}
}
console.log('formCustomViewPath', this.processInstance.processDefinition.formCustomViewPath.trim())
......
<template>
<div v-if="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('出货渠道')">
{{order.channelName}}
</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 :label="$t('申请理由')" :span="4">
<div class="bold">
{{applyReason}}
</div>
</el-descriptions-item>
</el-descriptions>
</div>
</template>
<script>
import {getOrder} from '@/api/ecw/order'
import {getBoxApproval} from "@/api/ecw/box";
/*
撤销清关审核
*/
export default {
name: 'RevokeClear',
props:{
id: [String, Number]
},
data(){
return {
order: null,
applyReason: null
}
},
created(){
if(this.id){
// id是出货审核ID
getBoxApproval({id: this.id}).then(res => {
this.applyReason = res.data.applyReason
getOrder(res.data.orderId).then(res => {
this.order = res.data
})
})
}
}
}
</script>
<style scoped lang="scss">
.title{
padding: 10px 0;
span{
font-size: 14px;
font-weight: bold;
}
}
.bold{
font-weight: bold;
}
</style>
......@@ -27,9 +27,24 @@
</el-form-item>
<el-form-item :label="$t('目的港清关')" prop="destinationClearanceSelect">
<el-radio-group v-model="form.destinationClearance">
<el-radio v-if="form.destinationClearance != 2" :label="1">{{$t('我司')}}</el-radio>
<el-radio v-else :label="2">{{$t('我司')}}</el-radio>
<el-radio :label="3">{{$t('客户')}}</el-radio>
<el-radio v-if="form.destinationClearance != 2" :label="1">
{{$t('我司')}}
<el-tooltip effect="dark" :content="$t('我司承接')" placement="top">
<i class="el-icon-question"></i>
</el-tooltip>
</el-radio>
<el-radio v-else :label="2">
{{$t('我司')}}
<el-tooltip effect="dark" :content="$t('我司承接')" placement="top">
<i class="el-icon-question"></i>
</el-tooltip>
</el-radio>
<el-radio :label="3">
{{$t('客户')}}
<el-tooltip effect="dark" :content="$t('客户自清')" placement="top">
<i class="el-icon-question"></i>
</el-tooltip>
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="form.destinationClearance===1 || form.destinationClearance===2" prop="destinationClearance" :rules="[
......
......@@ -205,7 +205,8 @@ export default {
/* doc.save("a4.pdf");
return Promise.reject() */
let form = new FormData()
let file = this.selfNo + "-" + this.currRow.tidanNo + ' ' + orderData.marks + '.pdf' //this.selfNo + '-' + this.currRow.tidanNo + '.pdf'
const dst = this.$l(orderData.logisticsInfoDto, 'destTitle')
let file = this.selfNo + "-" + this.currRow.tidanNo + ' ' + orderData.marks + '-' + dst + '.pdf' //this.selfNo + '-' + this.currRow.tidanNo + '.pdf'
form.append('file', new File([doc.output('arraybuffer')], file, {type: 'application/pdf'}))
form.append('path', `admin/shipment/${this.selfNo}/pdf/${file}`) // 最前面不能有/,否则返回的url会有两个/
......
......@@ -108,7 +108,7 @@
<el-table-column prop="" :label="$t('操作')" align="center" width="120px">
<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="shipmentObj.clStatus==132||(shipmentObj.clearanceInfo&&shipmentObj.clearanceInfo.clearanceOrderList.findIndex(ff=>ff.orderId == scope.row.orderId) == -1)" @click="()=>cancleClear(scope.row)">{{$t('撤销清关申请')}}</el-button>
<el-button type="primary" size="small" :disabled="shipmentObj.clStatus==132|| (shipmentObj.clearanceInfo == null) || (shipmentObj.clearanceInfo&&shipmentObj.clearanceInfo.clearanceOrderList.findIndex(ff=>ff.orderId == scope.row.orderId) == -1)" @click="()=>cancleClear(scope.row)">{{$t('撤销清关申请')}}</el-button>
</template>
</el-table-column>
</el-table>
......
......@@ -102,8 +102,8 @@ export default {
this.cusClearanceObj = oldData
if (!this.cusClearanceObj.clearanceType) this.$set(this.cusClearanceObj, 'clearanceType', 0)
this.$set(this.cusClearanceObj, 'clearanceOrderIdList', [])
if (this.$attrs.shipmentObj.airArrivalInfo.arrivalOrderList) this.arrivalOrderList = this.$attrs.shipmentObj.airArrivalInfo.arrivalOrderList
if (this.$attrs.shipmentObj.clearanceInfo.clearanceOrderList) this.clearanceOrderList = this.$attrs.shipmentObj.clearanceInfo.clearanceOrderList
if (typeof this.$attrs.shipmentObj.airArrivalInfo?.arrivalOrderList != 'undefined' && this.$attrs.shipmentObj.airArrivalInfo.arrivalOrderList) this.arrivalOrderList = this.$attrs.shipmentObj.airArrivalInfo.arrivalOrderList
if (typeof this.$attrs.shipmentObj.clearanceInfo?.clearanceOrderList != 'undefined' && this.$attrs.shipmentObj.clearanceInfo.clearanceOrderList) this.clearanceOrderList = this.$attrs.shipmentObj.clearanceInfo.clearanceOrderList
shipmentOrderList(this.$attrs.shipmentObj.id).then((r) => {
this.orderList = r.data
this.orderListFilter = r.data
......
......@@ -110,7 +110,7 @@
<el-radio-button :label="2">{{ $t('已装箱列表') }}</el-radio-button>
</el-radio-group>
</div>
<un-pkg-page v-if="pkgPageType == 1" :pkgData="pkgData" :shipmentObj="shipmentObj" />
<un-pkg-page v-if="pkgPageType == 1" :pkgData="pkgData" :shipmentObj="shipmentObj" @reload="getList" />
<pkg-page v-if="pkgPageType == 2" :pkgData="pkgData" :shipmentObj="shipmentObj" @closeDialog="closeDialog" @reload="getList" />
</el-dialog>
<!-- 打印标签 -->
......
......@@ -125,6 +125,7 @@ export default {
createPkgOrder(data).then(() => {
this.$message.success(this.$t('装箱成功'))
this.getList()
this.$emit('reload')
})
},
// 选中
......
......@@ -239,7 +239,7 @@ export default {
this.$message.error(this.$t("请选择需要移出的订单"));
return;
}
orderNos = this.selectedRows.map((item) => item.orderNo);
orderNos = [...new Set(this.selectedRows.map((item) => item.orderNo))];
orderIds = this.selectedRows.map((item) => item.orderId);
} else {
orderNos = [data.orderNo];
......
......@@ -4,10 +4,13 @@
<el-form-item :label="$t('预计起飞时间')">
{{getTakeOffTime()}}
</el-form-item>
<el-form-item :label="$t('预计到港时间')" prop="est_time">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="twoWayTakeoffObj.est_time" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item :label="$t('实际起飞时间')" prop="dtRealFlyTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="twoWayTakeoffObj.dtRealFlyTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item v-if="dtRealHeadTimeFlag" :label="$t('实际头程时间')" prop="dtRealHeadTime">
<el-form-item v-if="dtRealHeadTimeFlag" :label="$t('预计二程起飞时间')" prop="dtRealHeadTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="twoWayTakeoffObj.dtRealHeadTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
</el-form>
......@@ -62,6 +65,7 @@ export default {
let oldData = { ...this.$attrs.shipmentObj[voName] };
oldData = formatDateStr(oldData, ["dtRealFlyTime"], "YYYY-MM-DD HH:mm:ss");
oldData = formatDateStr(oldData, ["dtRealHeadTime"], "YYYY-MM-DD HH:mm:ss");
oldData = formatDateStr(oldData, ["est_time"], "YYYY-MM-DD HH:mm:ss");
this.twoWayTakeoffObj = oldData;
if(this.$attrs.shipmentObj['bookAirInfo'].voyage && this.$attrs.shipmentObj['bookAirInfo'].voyage == 2){
this.dtRealHeadTimeFlag = true
......
......@@ -752,6 +752,27 @@ function getColmnMapping() {
key: "operator",
},
],
boxAirFlyInfo: [
{
title: i18n.$t("预计到港时间"),
key: "dtRealFlyTime",
type: "datetime",
},
{
title: i18n.$t("实际起飞时间"),
key: "dtRealFlyTime",
type: "datetime",
},
{
title: i18n.$t("预计二程起飞时间"),
key: "dtRealHeadTime",
type: "datetime",
},
{
title: i18n.$t("业务员"),
key: "operator",
},
],
clearanceDocInfo: [
{
title: "agent list",
......
......@@ -394,7 +394,6 @@
<span v-if="scope.row.type !== 'total'">{{ scope.row.collectionAmount }}</span>
<div v-else>
<div v-for="itemAmount in scope.row.collectionAmount">{{$i18n.locale=='zh_CN'?(itemAmount?itemAmount.currencyNameZh:''):(itemAmount?itemAmount.currencyNameEn:'')}}: {{ itemAmount&&itemAmount.amount?itemAmount.amount:0}}</div>
<div v-for="itemAmount in scope.row.collectionAmount">{{$i18n.locale=='zh_CN'?(itemAmount?itemAmount.currencyNameZh:''):(itemAmount?itemAmount.currencyNameEn:'')}}: {{itemAmount?itemAmount.amount:''}}</div>
<!-- <div v-if="scope.row.collectionAmount[1]">{{ $t('人民币') }}: {{ scope.row.collectionAmount[1].toFixed(6) }}</div>
<div v-if="scope.row.collectionAmount[2]">{{ $t('奈拉') }}: {{ scope.row.collectionAmount[2].toFixed(6) }}</div>
<div v-if="scope.row.collectionAmount[3]">{{ $t('西非法郎') }}: {{ scope.row.collectionAmount[3].toFixed(6) }}</div> -->
......
......@@ -130,8 +130,18 @@
<div class="form-section" v-if="form.transportId == 3">
<el-form-item :label="$t('目的港清关')">
<el-radio-group v-model="form.portDestCustomsClear">
<el-radio :label="1">{{$t('我司')}}</el-radio>
<el-radio :label="2">{{$t('客户')}}</el-radio>
<el-radio :label="1">
{{$t('我司')}}
<el-tooltip effect="dark" :content="$t('我司承接')" placement="top">
<i class="el-icon-question"></i>
</el-tooltip>
</el-radio>
<el-radio :label="2">
{{$t('客户')}}
<el-tooltip effect="dark" :content="$t('客户自清')" placement="top">
<i class="el-icon-question"></i>
</el-tooltip>
</el-radio>
</el-radio-group>
</el-form-item>
</div>
......@@ -340,6 +350,12 @@
<el-input v-model="form.marks" ></el-input>
</el-form-item>
<el-form-item :label="$t('是否控货')" prop="isCargoControl" class="ml-20">
<template #label>
{{$t('是否控货')}}
<el-tooltip effect="dark" :content="$t('是指由发货人与收货人约定在货物的国际运输过程中,我司作为第三方对该货物货权的控制;需由发货人授权我司放货的情况下收货人才能提取该票货物的一种交易方式')" placement="top">
<i class="el-icon-question"></i>
</el-tooltip>
</template>
<dict-selector :type="DICT_TYPE.INFRA_BOOLEAN_STRING"
v-model="form.isCargoControl"
formatter="bool"
......@@ -363,6 +379,12 @@
</div>
<div class="form-section">
<el-form-item :label="$t('单证报关')" :span="2" prop="customsType">
<template #label>
{{$t('单证报关')}}
<el-tooltip effect="dark" :content="$t('我司全代 : 该货物的出口手续由我司代为办理 ; 自单代报: 该货物由发货人提供相关出口单证并委托我司代为办理 ;混单代报该货物有以上两种情况出现')" placement="top">
<i class="el-icon-question"></i>
</el-tooltip>
</template>
<dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" v-model="form.customsType" form-type="radio" defaultable :disabled="false" />
<!--自单代报显示提示-->
<div v-if="+form.customsType === 2" style="color:red;font-size:14px">{{$t('报关退税,请备齐资料。')}}</div>
......@@ -515,6 +537,12 @@
</div>
<div class="form-section">
<el-form-item :label="$t('特殊要求')" >
<template #label>
{{$t('特殊要求')}}
<el-tooltip effect="dark" :content="$t('如需我司打包,请勾选相应选项,费用付款人及打包要求可备注补充')" placement="top">
<i class="el-icon-question"></i>
</el-tooltip>
</template>
<dict-selector v-model="form.packageTypeArr" form-type="checkbox" :type="DICT_TYPE.ORDER_SPECIAL_NEEDS" multiple :disabled="false"/>
</el-form-item>
</div>
......
......@@ -76,7 +76,7 @@
</el-form-item>
<el-form-item :label="$t('订单状态')" prop="status">
<dict-selector :type="DICT_TYPE.ORDER_STATUS" v-model="queryParams.status"
@keyup.enter.native="handleQuery" clearable />
@keyup.enter.native="handleQuery" :filter="statusDictFilter" clearable />
</el-form-item>
<el-form-item :label="$t('报关方式')" prop="customsType">
<dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" v-model="queryParams.customsType" clearable @change="handleQuery" />
......@@ -963,6 +963,20 @@ export default {
printTag(order){
this.printTagOrderId=order.orderId
this.printTagWarehouseInNum = order.sumNum
},
// 过滤订单状态筛选字典内容
statusDictFilter(item){
console.log('statusDictFilter', item)
if(this.transportId == 3 && item.cssClass && item.cssClass != 'air'){
return false
}
if(this.transportId == 1 && item.cssClass && item.cssClass != 'sea'){
return false
}
if(this.transportId == 4 && item.cssClass && item.cssClass != 'sea-air'){
return false
}
return true
}
}
};
......
......@@ -355,7 +355,7 @@
</el-row>
<!-- 线路单证异常 -->
<div v-if="orderExceptionData.orderExceptionType=='line_loop_exception'">
<div v-for="row in orderData.orderItemVOList" :key="row.orderItemId">
<div v-for="row in loopOrderItem" :key="row.orderItemId">
<div v-if="row.charging ==1">
<div v-if="orderExceptionData.orderExceptionStatus==0" class="price_list">
......@@ -847,7 +847,8 @@
tradeCityList:[],
unitList: [],
selectLine:null,
calculating: false, // 是否正在计算费用,防止频繁重新请求
calculating: false, // 是否正在计算费用,防止频繁重新请求,
loopOrderItem:[], //线路单询异常清关费
};
},
activated(){
......@@ -1407,29 +1408,16 @@
//获取提交的不可出渠道异常商品清关费
getExceptionPriceList(type){
let that = this
console.log(type)
getOrderExceptionChannelPriceList({orderId:that.orderId,exceptionId:parseInt(that.orderExceptionId),exceptionResultId:this.handlerParams.id}).then(res=>{
if(res.code==0){
if(type=='line_loop_exception'){
that.orderData.orderItemVOList.map((v,i)=>{
if(v.orderItemId==this.orderExceptionData.orderItemId){
if(res.data.length>0){
var item = res.data.find(vs=>vs.orderItemId==v.orderItemId)
if(item){
v.oneSeaFreight = item.freightFee
v.seaFreightCurrency = item.freightCurrencyId
v.seaFreightVolume = item.freightUnitId
v.oneClearanceFreight = item.clearanceFee
v.clearanceFreightCurrency = item.clearanceCurrencyId
v.clearanceFreightVolume = item.clearanceUnitId
}
}
}else{
that.orderData.orderItemVOList.splice(i,1)
this.loopOrderItem.push(v)
}
})
console.log(that.orderData.orderItemVOList)
}else{
getOrderExceptionChannelPriceList({orderId:that.orderId,exceptionId:parseInt(that.orderExceptionId),exceptionResultId:that.handlerParams.id}).then(res=>{
if(res.code==0){
if(res.data.length>0){
that.orderData.orderItemVOList.map(v=>{
var item = res.data.find(vs=>vs.orderItemId==v.orderItemId)
......@@ -1444,12 +1432,10 @@
})
}
}
}
})
}
}
}
};
</script>
......
......@@ -9,7 +9,12 @@
<el-form-item :label="$t('商品类型')" prop="typeId" v-if="!$route.query.product_id">
<el-select v-model="queryParams.typeId" :placeholder="$t('选择商品类型')" clearable>
<el-option v-for="type in typeList" :key="type.id" :label="type.titleZh" :value="type.id"/>
<el-option v-for="type in typeList" :key="type.id" :label="$l(type, 'titleZh')" :value="type.id"/>
</el-select>
</el-form-item>
<el-form-item :label="$t('商品属性')" prop="typeId" v-if="!$route.query.product_id">
<el-select v-model="queryParams.attrId" :placeholder="$t('选择商品类型')" clearable>
<el-option v-for="attr in attrList" :key="attr.id" :label="$l(attr, 'attrName')" :value="attr.id"/>
</el-select>
</el-form-item>
<el-form-item :label="$t('运输方式')" prop="transportType" v-if="!transportType">
......@@ -562,7 +567,6 @@ export default {
this.$set(this.queryParams, 'transportType', +this.transportType)
}
}
this.getAttrList();
}
},
watch:{
......@@ -622,6 +626,8 @@ export default {
this.getChannelList()
this.getTypeList()
this.getAttrList();
//获取货币列表
this.requestCurrencyList();
//获取单位列表
......
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