Commit 1a9ed372 authored by dragondean@qq.com's avatar dragondean@qq.com

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

parents 55202e4a e22dc8a8
...@@ -142,4 +142,20 @@ export function exportDeptOfferExcel(query) { ...@@ -142,4 +142,20 @@ export function exportDeptOfferExcel(query) {
params: query, params: query,
responseType: 'blob' responseType: 'blob'
}) })
}
// 报价单
export function getOfferSelect(params) {
return request({
url: '/ecw/offer/select',
method: 'get',
params
})
}
// 报价单
export function getOfferCheck(params) {
return request({
url: '/ecw/offer/check',
method: 'get',
params
})
} }
\ No newline at end of file
...@@ -297,9 +297,9 @@ ...@@ -297,9 +297,9 @@
<dict-tag :type="DICT_TYPE.ECW_PRODUCT_MATERIAL" :value="scope.row.material" /> <dict-tag :type="DICT_TYPE.ECW_PRODUCT_MATERIAL" :value="scope.row.material" />
</template> </template>
</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="warehouseInAttrNameList" 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" class-name="small-padding fixed-width"> <!-- <el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
......
...@@ -94,7 +94,7 @@ export default { ...@@ -94,7 +94,7 @@ export default {
const { currNode, shipmentObj } = this.$attrs; const { currNode, shipmentObj } = this.$attrs;
let approvalType = 14; // 预装反审 let approvalType = 14; // 预装反审
if (currNode.type === "cabinet") approvalType = 9; // 装柜反审 if (currNode.type === "cabinet") approvalType = 9; // 装柜反审
if (currNode.type === "unloading") approvalType = 7; // 卸柜反审核 if (currNode.type === "unloading") approvalType = 16; // 到仓反审核
approvalCreate({ approvalCreate({
shipmentId: shipmentObj.id, shipmentId: shipmentObj.id,
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<el-form-item :label="$t('实际起飞时间')" prop="dtRealFlyTime"> <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-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>
<el-form-item :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-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-item>
</el-form> </el-form>
...@@ -54,6 +54,7 @@ export default { ...@@ -54,6 +54,7 @@ export default {
dialogVisible: false, dialogVisible: false,
// 提示消息 // 提示消息
showMsg: false, showMsg: false,
dtRealHeadTimeFlag: false
}; };
}, },
created() { created() {
...@@ -62,6 +63,9 @@ export default { ...@@ -62,6 +63,9 @@ export default {
oldData = formatDateStr(oldData, ["dtRealFlyTime"], "YYYY-MM-DD HH:mm:ss"); oldData = formatDateStr(oldData, ["dtRealFlyTime"], "YYYY-MM-DD HH:mm:ss");
oldData = formatDateStr(oldData, ["dtRealHeadTime"], "YYYY-MM-DD HH:mm:ss"); oldData = formatDateStr(oldData, ["dtRealHeadTime"], "YYYY-MM-DD HH:mm:ss");
this.twoWayTakeoffObj = oldData; this.twoWayTakeoffObj = oldData;
if(this.$attrs.shipmentObj['bookAirInfo'].voyage && this.$attrs.shipmentObj['bookAirInfo'].voyage == 2){
this.dtRealHeadTimeFlag = true
}
}, },
watch: { watch: {
}, },
......
...@@ -267,7 +267,7 @@ export default { ...@@ -267,7 +267,7 @@ export default {
approvalCreate({ approvalCreate({
shipmentId: this.$attrs.shipmentObj.id, shipmentId: this.$attrs.shipmentObj.id,
approvalStatus: 0, approvalStatus: 0,
approvalType: 3, // 卸柜 approvalType: 15, // 卸柜
copyUserId: this.selectedUsers, copyUserId: this.selectedUsers,
}).then((res) => { }).then((res) => {
serviceMsg(res, this).then(() => { serviceMsg(res, this).then(() => {
......
...@@ -208,6 +208,9 @@ export default { ...@@ -208,6 +208,9 @@ export default {
} }
}, },
computed:{ computed:{
isChinese(){
return this.$i18n.locale === 'zh_CN'
},
currencyMap(){ currencyMap(){
return arrryToKeyedObjectBy(this.currencyList, 'id') return arrryToKeyedObjectBy(this.currencyList, 'id')
}, },
...@@ -249,7 +252,7 @@ export default { ...@@ -249,7 +252,7 @@ export default {
return '' return ''
}, },
selectChannel(val){ selectChannel(val){
if(this.channelList.length > 0 && !!val) return this.channelList.find(e => e.channelId === val).nameEn if(this.channelList.length > 0 && !!val) return this.channelList.find(e => e.channelId === val)[this.isChinese ? 'nameZh' : 'nameEn']
return '' return ''
}, },
getDetails(){ getDetails(){
......
...@@ -108,6 +108,12 @@ ...@@ -108,6 +108,12 @@
<el-descriptions-item :label="$t('单证报关')"> <el-descriptions-item :label="$t('单证报关')">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="order.customsType" /> <dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="order.customsType" />
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('关联报价单')">
<router-link v-if="offerData" :to="{path: '/offer/detail',query: {offerId: offerData.offerId}}" class="link-type">
<span>{{ offerData.number }}</span>
</router-link>
<span v-else>/</span>
</el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-descriptions class="mr-10" border :column="2" :class="showMore?'showInfo':'hiddenInfo'" :labelStyle="{width:'110px'}" :contentStyle="{width:'150px'}"> <el-descriptions class="mr-10" border :column="2" :class="showMore?'showInfo':'hiddenInfo'" :labelStyle="{width:'110px'}" :contentStyle="{width:'150px'}">
<el-descriptions-item :label="$t('出单方式')"> <el-descriptions-item :label="$t('出单方式')">
...@@ -479,6 +485,7 @@ ...@@ -479,6 +485,7 @@
<script> <script>
import {getOrder, operateLogPage} from '@/api/ecw/order' import {getOrder, operateLogPage} from '@/api/ecw/order'
import {getOfferCheck} from '@/api/ecw/offer'
import { getDictDatas, DICT_TYPE, getDictData } from '@/utils/dict'; import { getDictDatas, DICT_TYPE, getDictData } from '@/utils/dict';
import PrintWarehouseReceipt from './components/PrintWarehouseReceipt' import PrintWarehouseReceipt from './components/PrintWarehouseReceipt'
import PrintLadingBill from './components/PrintLadingBill' import PrintLadingBill from './components/PrintLadingBill'
...@@ -553,6 +560,7 @@ export default { ...@@ -553,6 +560,7 @@ export default {
packAfterData:null,//显示打包历史详情 packAfterData:null,//显示打包历史详情
showDeclaration:false, //显示报关资料 showDeclaration:false, //显示报关资料
showFeeSummary: false, // 是否显示费用汇总 showFeeSummary: false, // 是否显示费用汇总
offerData:'' //关联报价单
} }
}, },
computed:{ computed:{
...@@ -614,6 +622,7 @@ export default { ...@@ -614,6 +622,7 @@ export default {
if (this.$route.query.orderId) { if (this.$route.query.orderId) {
this.orderId = this.$route.query.orderId this.orderId = this.$route.query.orderId
this.getOrder(); this.getOrder();
this.getOfferNumber()
} }
getCurrencyList().then(res => this.currencyList = res.data) getCurrencyList().then(res => this.currencyList = res.data)
...@@ -811,6 +820,12 @@ export default { ...@@ -811,6 +820,12 @@ export default {
//查看打包历史详情 //查看打包历史详情
showPackDetail(packAfterData){ showPackDetail(packAfterData){
this.packAfterData = packAfterData this.packAfterData = packAfterData
},
getOfferNumber() {
const that = this
getOfferCheck({ orderId: that.orderId }).then(response => {
that.offerData = response.data
})
} }
} }
}; };
......
...@@ -448,6 +448,22 @@ ...@@ -448,6 +448,22 @@
</el-table> </el-table>
</el-form-item> </el-form-item>
</div> </div>
<el-form-item :label="$t('关联报价单')" prop="offerId">
<el-select
v-model="form.offerId"
filterable
clearable
reserve-keyword
:placeholder="$t('请选择')"
>
<el-option
v-for="(item, index) in offerData"
:key="index"
:label="item.number"
:value="item.offerId"
/>
</el-select>
</el-form-item>
</el-card> </el-card>
<el-card class="mt-10" v-if="transport"> <el-card class="mt-10" v-if="transport">
...@@ -595,6 +611,7 @@ import Decimal from 'decimal.js' ...@@ -595,6 +611,7 @@ import Decimal from 'decimal.js'
import WorkFlow from '@/components/WorkFlow' import WorkFlow from '@/components/WorkFlow'
import { getCustomer } from "@/api/ecw/customer"; import { getCustomer } from "@/api/ecw/customer";
import {debounce} from "@/utils"; import {debounce} from "@/utils";
import { getOfferSelect, getOfferCheck } from "@/api/ecw/offer"
// 缓存默认的表单数据 // 缓存默认的表单数据
let makeDefaultFormData = () => { let makeDefaultFormData = () => {
...@@ -608,7 +625,7 @@ let makeDefaultFormData = () => { ...@@ -608,7 +625,7 @@ let makeDefaultFormData = () => {
externalWarehouseDtoList:[], externalWarehouseDtoList:[],
orderItemVOList:[], orderItemVOList:[],
drawee: 2, drawee: 2,
harvestMethod: "1" harvestMethod: "1",
} }
} }
window.Decimal = Decimal window.Decimal = Decimal
...@@ -662,7 +679,8 @@ export default { ...@@ -662,7 +679,8 @@ export default {
showWorkFlow: false, // 是否显示工作流表单 showWorkFlow: false, // 是否显示工作流表单
calculating: false, // 是否正在计算费用,防止频繁重新请求 calculating: false, // 是否正在计算费用,防止频繁重新请求
initing: true, // 初始化中, initing: true, // 初始化中,
updateChannel: false // 是否更新渠道 updateChannel: false, // 是否更新渠道
offerData: []// 关联报价单
}; };
}, },
computed:{ computed:{
...@@ -877,6 +895,18 @@ export default { ...@@ -877,6 +895,18 @@ export default {
'form.channelId'(){ 'form.channelId'(){
this.calculationPrice() this.calculationPrice()
}, },
'form.consigneeCountryCode'(){
if(this.form.lineId) this.getOfferData()
},
'form.consignorCountryCode'(){
if(this.form.lineId) this.getOfferData()
},
'form.consigneePhone'(){
if(this.form.lineId) this.getOfferData()
},
'form.consignorPhone'(){
if(this.form.lineId) this.getOfferData()
},
'form.lineId'(lineId){ 'form.lineId'(lineId){
let router = this.routerList.find(item => item.id == lineId) let router = this.routerList.find(item => item.id == lineId)
if(!router){ if(!router){
...@@ -897,7 +927,7 @@ export default { ...@@ -897,7 +927,7 @@ export default {
this.$set(this.form, 'isCargoControl', false) this.$set(this.form, 'isCargoControl', false)
} }
}) })
this.getOfferData()
}, },
/* 'form.packageTypeArr'(val){ /* 'form.packageTypeArr'(val){
console.log('packageType', val, val.length) console.log('packageType', val, val.length)
...@@ -1024,7 +1054,7 @@ export default { ...@@ -1024,7 +1054,7 @@ export default {
this.initing = true this.initing = true
getUpdateInfo(this.$route.query.id).then(res => { getUpdateInfo(this.$route.query.id).then(res => {
this.form = Object.assign({}, {...res.data}, {orderItemVOList: []}) this.form = Object.assign({}, {...res.data}, {orderItemVOList: []})
this.getOfferData()
/* this.form.orderItemVOList = []; */ /* this.form.orderItemVOList = []; */
this.form.type = this.form.type ? this.form.type.split(',').filter(item => item != '') : [] this.form.type = this.form.type ? this.form.type.split(',').filter(item => item != '') : []
...@@ -1114,6 +1144,7 @@ export default { ...@@ -1114,6 +1144,7 @@ export default {
this.$set(this.form, this.contactChooseType + 'Phone', contact.phoneNew) this.$set(this.form, this.contactChooseType + 'Phone', contact.phoneNew)
this.contactChooseType = null this.contactChooseType = null
this.quickCreateType = null this.quickCreateType = null
if(this.form.lineId) this.getOfferData()
}, },
upload(e){ upload(e){
console.log({upload: e}) console.log({upload: e})
...@@ -1370,7 +1401,46 @@ export default { ...@@ -1370,7 +1401,46 @@ export default {
arr.push(tmp) arr.push(tmp)
}) })
return arr return arr
} },
// 关联报价单
getOfferData() {
const that = this
const offParams = {}
if (that.form.lineId) {
offParams.lineId = that.form.lineId
}
if (that.form.channelId) {
offParams.channelId = that.form.channelId
}
if (that.form.consigneeContactsId) {
offParams.consigneeId = that.form.consigneeContactsId
} else {
offParams.consigneeCode = that.form.consigneeCountryCode
offParams.consigneePhone = that.form.consigneePhone
}
if (that.form.consignorContactsId) {
offParams.consignorId = that.form.consignorContactsId
} else {
offParams.consignorCode = that.form.consignorCountryCode
offParams.consignorPhone = that.form.consignorPhone
}
getOfferSelect(offParams).then((res) => {
that.offerData = res.data
if (!that.form.offerId && that.form.orderId) {
that.getOfferNumber(that.form.orderId)
}
})
},
getOfferNumber(id) {
const that = this
getOfferCheck({ orderId: id }).then(response => {
if(that.offerData.length==0){
that.offerData.push(response.data)
}
console.log(that.offerData)
that.$set(that.form, 'offerId', response.data.offerId)
})
},
} }
}; };
</script> </script>
......
...@@ -413,6 +413,7 @@ export default { ...@@ -413,6 +413,7 @@ export default {
return this.$message.error("暂无选择订单") return this.$message.error("暂无选择订单")
} }
this.showBatchException = true this.showBatchException = true
this.batchExceptionForm.exceptionUrls = []
}, },
handleBatchException(){ handleBatchException(){
// 以下代码是copilot生成,暂无接口,回头在改 // 以下代码是copilot生成,暂无接口,回头在改
......
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