Commit 54d35d1c authored by 我在何方's avatar 我在何方

修复bug

parent 6653bd1e
......@@ -13,7 +13,7 @@
<el-form-item :label="$t('跟进时间')" prop="followUpTime" style="width: 46%;display: inline-block">
<el-date-picker clearable v-model="form.followUpTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" type="datetime" :placeholder="$t('选择跟进时间')" />
</el-form-item>
<el-form-item :label="$t('跟进业务员')" prop="followUpSalesmanId" style="width: 46%;display: inline-block;;margin-left:8%">
<el-form-item :label="$t('客户经理')" prop="followUpSalesmanId" style="width: 46%;display: inline-block;;margin-left:8%">
<el-select v-model="form.followUpSalesmanId" :placeholder="$t('请选择跟进业务员')">
<el-option v-for="item in creatorData"
:key="item.id" :label="item.nickname" :value="item.id"/>
......@@ -21,13 +21,12 @@
</el-form-item>
<el-form-item :label="$t('联系人')" prop="contacts" style="width: 46%;display: inline-block">
<el-select v-model="form.contacts" :placeholder="$t('请选择联系人')">
<el-option v-for="item in contactsData"
:key="item.customerId" :label="item.name" :value="item.customerId"/>
</el-select>
<el-option v-for="item in contactsData" :key="item.id" :label="item.name" :value="item.id"/>
</el-select>
</el-form-item>
<el-form-item :label="$t('跟进方式')" prop="followUpMethod" style="width: 46%;display: inline-block;margin-left:8%">
<dict-selector
:type="DICT_TYPE.ECW_OFFER_METHOD"
:type="DICT_TYPE.CUSTOMER_FOLLOW_METHOD"
:placeholder="$t('请选择跟进方式')"
v-model="form.followUpMethod"
form-type="select"
......@@ -54,6 +53,8 @@
import { userList } from "@/api/system/user"
import { getCustomerContactsListByCustomer } from "@/api/ecw/customerContacts"
import {DICT_TYPE} from '@/utils/dict'
import {getOffer} from '@/api/ecw/offer'
import {getCustomerContactsSelect} from '@/api/ecw/customerContacts'
export default {
name: "OfferLog",
components: {
......@@ -69,39 +70,52 @@
form: {
type:'2',
offerId:0,
number:0
number:0,
},
relationId:0,
// 表单校验
rules: {
type: [{ required: true, message: this.$t("请选择跟进类型"), trigger: "change" }],
followUpTime: [{ required: true, message: this.$t("跟进时间不能为空"), trigger: "blur" }],
followUpSalesmanId: [{ required: true, message: this.$t("跟进业务员不能为空"), trigger: "change" }],
followUpSalesmanId: [{ required: true, message: this.$t("客户经理不能为空"), trigger: "change" }],
contacts: [{ required: true, message: this.$t("联系人不能为空"), trigger: "blur" }],
followUpMethod: [{ required: true, message: this.$t("请选择跟进方式"), trigger: "change" }],
customerFeedback: [{ required: true, message: this.$t("客户反馈不能为空"), trigger: "blur" }],
processingResults: [{ required: true, message: this.$t("处理结果不能为空"), trigger: "blur" }],
}
},
list:[]
};
},
created() {
if(this.$route.query.offerId){
this.form.offerId = this.$route.query.offerId
}
if(this.$route.query.relationId){
this.relationId = this.$route.query.relationId
this.getContactsData()
this.getList();
}
if(this.$route.query.number){
this.form.number = this.$route.query.number
}
userList('salesman').then(res =>this.creatorData = res.data)
userList('documentary customer service').then(res =>this.creatorData = res.data)
},
methods: {
getList() {
let that = this
// 执行查询
getOffer(that.form.offerId).then(response => {
that.list = response.data;
that.getContactsData()
})
},
getContactsData(){
getCustomerContactsListByCustomer({customerId:this.relationId}).then(response => {
this.contactsData = response.data
getCustomerContactsSelect({ids: [this.list.consigneeId, this.list.consignorId].join(',')}).then((res) => {
if(res.data.list.length>0){
this.contactsData.push({name:res.data.list[0].contactsName+'('+this.$t('发货人')+')',id:res.data.list[0].customerContactsId})
this.contactsData.push({name:res.data.list[1].contactsName+'('+this.$t('收货人')+')',id:res.data.list[1].customerContactsId})
}
})
// getCustomerContactsListByCustomer({customerId:this.relationId}).then(response => {
// this.contactsData = response.data
// })
},
/** 提交按钮 */
submitForm() {
......@@ -114,7 +128,7 @@
this.form.followUpMethod = parseInt(this.form.followUpMethod)
createOfferLog(this.form).then(response => {
this.$modal.msgSuccess(this.$t("新增成功"));
this.open = false;
this.$store.dispatch('tagsView/delCurrentView')
});
});
},
......
<template>
<div class="app-container">
<el-card>
<div slot="header" class="card-title">报价单详情</div>
<div slot="header" class="card-title">{{$t('报价单详情')}}</div>
<!-- 列表 -->
<div class="offer-header">
<span style="font-size: 15px;">报价单号{{list.number}}</span>
<span style="font-size: 15px;">{{$t('报价单号')}}{{list.number}}</span>
<div class="btns">
<el-button size="mini" type="primary" @click="$router.push('edit?id=' + offerId)">编辑</el-button>
<el-button size="mini" type="primary" @click="$router.push('edit?id=' + offerId)">{{$t('编辑')}}</el-button>
<el-button type="primary" size="mini" @click="handleAdd"
>跟进</el-button>
>{{$t('跟进')}}</el-button>
<el-button type="primary" size="mini" @click="toResult"
>结果</el-button>
<el-button size="mini" type="primary" @click="$router.push('/offer/special/' + offerId)">特价</el-button>
>{{$t('结果')}}</el-button>
<el-button size="mini" type="primary" @click="$router.push('/offer/special/' + offerId)">{{$t('特价')}}</el-button>
<el-button type="danger" size="mini" @click="handleDelete"
>删除</el-button>
>{{$t('删除')}}</el-button>
</div>
</div>
<div>
<div class="title-font">
<label>报价单所属:{{list.relation?list.relation==1?'发货人':'收货人':'发货人'}}</label>
<label>{{$t('报价单所属')}}{{list.relation?list.relation==1?$t('发货人'):$t('收货人'):$t('发货人')}}</label>
</div>
<el-descriptions :column="3" border class="card">
<el-descriptions-item label="发货人:">
{{consigneeData.length>0?consigneeData[0].customerName||'':''}}
<el-descriptions-item :label="$t('发货人:')">
{{consigneeData.length>0?consigneeData[0].customerName||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item label="手机号:">
{{consigneeData.length>0?(consigneeData[0].areaCode+consigneeData[0].phoneNew)||'':''}}
<el-descriptions-item :label="$t('手机号:')">
{{consigneeData.length>0?(consigneeData[0].areaCode+consigneeData[0].phoneNew)||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item label="联系地址:">
{{consigneeData.length>0?consigneeData[0].address||'':''}}
<el-descriptions-item :label="$t('联系地址:')">
{{consigneeData.length>0?consigneeData[0].address||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item label="客户来源:">
{{consigneeData.length>0?consigneeData[0].source||'':''}}
<el-descriptions-item :label="$t('客户来源:')">
{{consigneeData.length>0?consigneeData[0].source||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item label="发货人公司名称:">
{{consigneeData.length>0?consigneeData[0].company||'':''}}
<el-descriptions-item :label="$t('发货人公司名称:')">
{{consigneeData.length>0?consigneeData[0].company||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item label="社交软件:">
{{consigneeData.length>0?consigneeData[0].social||'':''+' '+consigneeData.length>0?consigneeData[0].socialNumber||'':''}}
<el-descriptions-item :label="$t('社交软件:')">
{{consigneeData.length>0?consigneeData[0].social||$t(''):$t('')+' '+consigneeData.length>0?consigneeData[0].socialNumber||'':''}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="3" border class="card">
<el-descriptions-item label="收货人:">
{{consigneeData.length>1?consigneeData[1].customerName||'':''}}
<el-descriptions-item :label="$t('收货人:')">
{{consigneeData.length>1?consigneeData[1].customerName||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item label="手机号:">
{{consigneeData.length>1?(consigneeData[1].areaCode+consigneeData[1].customerName)||'':''}}
<el-descriptions-item :label="$t('手机号:')">
{{consigneeData.length>1?(consigneeData[1].areaCode+consigneeData[1].phoneNew)||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item label="联系地址:">
{{consigneeData.length>1?consigneeData[1].address||'':''}}
<el-descriptions-item :label="$t('联系地址:')">
{{consigneeData.length>1?consigneeData[1].address||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item label="客户来源:">
{{consigneeData.length>1?consigneeData[1].source||'':''}}
<el-descriptions-item :label="$t('客户来源:')">
{{consigneeData.length>1?consigneeData[1].source||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item label="收货人公司名称:">
{{consigneeData.length>1?consigneeData[1].company||'':''}}
<el-descriptions-item :label="$t('收货人公司名称:')">
{{consigneeData.length>1?consigneeData[1].company||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item label="社交软件:">
{{consigneeData.length>1?consigneeData[1].social||'':''+' '+consigneeData.length>1?consigneeData[1].socialNumber||'':''}}
<el-descriptions-item :label="$t('社交软件:')">
{{consigneeData.length>1?consigneeData[1].social||$t(''):$t('')+' '+consigneeData.length>1?consigneeData[1].socialNumber||'':''}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4" class="card">
<el-descriptions-item label="*运输方式">
<el-descriptions-item :label="$t('运输方式')">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="list.transportId" />
</el-descriptions-item>
<el-descriptions-item label="*出货渠道">
<el-descriptions-item :label="$t('出货渠道')">
{{channelName}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4" class="card">
<el-descriptions-item label="*始发城市">
<el-descriptions-item :label="$t('始发城市')">
{{getCity(list.departureId)}}
</el-descriptions-item>
<el-descriptions-item label="*目的城市">
<el-descriptions-item :label="$t('目的城市')">
{{getCity(list.objectiveId)}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4" class="card">
<el-descriptions-item label="*线路">
<el-descriptions-item :label="$t('线路')">
{{getRouterNameById(list.lineId)}}
</el-descriptions-item>
</el-descriptions>
......@@ -86,191 +86,252 @@
</el-card>
<el-card class="card">
<div slot="header" class="card-title">商品信息</div>
<div slot="header" class="card-title">{{$t('商品信息')}}</div>
<div style="overflow: auto;">
<el-table v-loading="loading" border :data="list.offerProdRespVOList">
<el-table-column label="序号" width="60px" fixed>
<el-table-column :label="$t('序号')" width="60px" fixed>
<template slot-scope="scope">
{{scope.$index + 1}}
</template>
</el-table-column>
<!-- <el-table-column label="商品类型" align="center" prop="goodsType" /> -->
<el-table-column label="中文品名" align="center" prop="prodTitleZh" />
<el-table-column label="英文品名" align="center" prop="prodTitleEn" />
<el-table-column label="品牌" width="100px">
<!-- <el-table-column :label="商品类型" align="center" prop="goodsType" /> -->
<el-table-column :label="$t('中文品名')" align="center" prop="prodTitleZh" />
<el-table-column :label="$t('英文品名')" align="center" prop="prodTitleEn" />
<el-table-column :label="$t('品牌')" width="100px">
<template slot-scope="scope">
<dict-tag :value="scope.row.brand" :type="DICT_TYPE.ECW_IS_BRAND" defaultable />
</template>
</el-table-column>
<el-table-column label="件数" width="90px" prop="num" />
<el-table-column label="包装单位">
<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 />
</template>
</el-table-column>
<el-table-column label="箱规(m)" width="120px" prop="boxGauge" />
<el-table-column label="体积(m³)" width="100px" prop="volume" />
<el-table-column label="重量(kg)" width="100px" prop="weight" />
<el-table-column label="货值(RMB)" width="100px" prop="worth" />
<el-table-column label="商品特性" width="200px" prop="prodAttrName" />
<!-- <el-table-column label="运输方式" width="100px">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.transportId" />
</template>
</el-table-column>
<el-table-column label="出货渠道" width="100px" prop="channelName" />
<el-table-column label="线路" width="200px" >
<template slot-scope="scope">
{{getRouterNameById(scope.row.lineId)}}
</template>
</el-table-column> -->
<el-table-column label="是否预付">
<el-table-column :label="$t('箱规(m)')" width="120px" prop="boxGauge" />
<el-table-column :label="$t('体积(m³)')" width="100px" prop="volume" />
<el-table-column :label="$t('重量(kg)')" width="100px" prop="weight" />
<el-table-column :label="$t('货值(RMB)')" width="100px" prop="worth" />
<el-table-column :label="$t('商品特性')" width="200px" prop="prodAttrName" />
<el-table-column :label="$t('是否预付')">
<template slot-scope="scope">
{{scope.row.isPayAdvance==1?'预付':'到付'}}
{{scope.row.isPayAdvance==1?$t('预付'):$t('到付')}}
</template>
</el-table-column>
<el-table-column label="运费" width="200px">
<el-table-column :label="$t('运费')" width="200px">
<template slot-scope="scope">
<div>{{'运费:'+scope.row.seaFreight}}{{currentcyMap[scope.row.seaFreightCurrency]}} / {{unitMap[scope.row.seaFreightVolume]}}</div>
<div>{{'清关费:'+scope.row.clearanceFreight}}{{currentcyMap[scope.row.clearanceFreightCurrency]}} / {{unitMap[scope.row.clearanceFreightVolume]}}</div>
<div>{{$t('运费')+":"+scope.row.seaFreight}}{{currentcyMap[scope.row.seaFreightCurrency]}} / {{unitMap[scope.row.seaFreightVolume]}}</div>
<div>{{$t('清关费')+':'+scope.row.clearanceFreight}}{{currentcyMap[scope.row.clearanceFreightCurrency]}} / {{unitMap[scope.row.clearanceFreightVolume]}}</div>
</template>
</el-table-column>
</el-table>
</div>
</el-card>
<el-card class="card">
<div slot="header" class="card-title">费用小计</div>
<div slot="header" class="card-title">{{$t('费用小计')}}</div>
<el-descriptions border class="card" :column="5">
<el-descriptions-item label="总件数:">
<el-descriptions-item :label="$t('总件数:')">
{{list.estCostVO?list.estCostVO.totalNum||'0':0}}
</el-descriptions-item>
<el-descriptions-item label="总体积:">
<el-descriptions-item :label="$t('总体积:')">
{{list.estCostVO?(list.estCostVO.totalVolume+'m³')||'0':0}}
</el-descriptions-item>
<el-descriptions-item label="总重量:">
<el-descriptions-item :label="$t('总重量:')">
{{list.estCostVO?(list.estCostVO.totalWeight+'kg')||'0':0}}
</el-descriptions-item>
<el-descriptions-item label="总数量:">
<el-descriptions-item :label="$t('总数量:')">
{{list.estCostVO?list.estCostVO.totalQuantity||'0':0}}
</el-descriptions-item>
<el-descriptions-item label="总货值(RMB):">
<el-descriptions-item :label="$t('总货值(RMB):')">
{{list.estCostVO?list.estCostVO.totalWorth||'0':0}}
</el-descriptions-item>
<!-- <el-descriptions-item label="报价费:">
<!-- <el-descriptions-item :label="报价费:">
{{list.estCostVO?list.estCostVO.insuranceFee||'0':0}}
</el-descriptions-item> -->
</el-descriptions>
<!-- <el-descriptions border class="card">
<el-descriptions-item label="佣金类型" :span="2" class="card">
<el-descriptions-item :label="佣金类型" :span="2" class="card">
<dict-selector :type="DICT_TYPE.COMMISSION_TYPE" form-type="radio" fomtter="number" :value="list.commissionType" defaultable />
</el-descriptions-item>
</el-descriptions> -->
</el-card>
<el-card class="mt-10">
<div class="card-title" slot="header">{{$t('预计费用')}}</div>
<el-descriptions :column="5" border>
<el-descriptions-item :label="$t('保价费')">
{{list.estCostVO?list.estCostVO.insuranceFee: 0}} {{$t('美元')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('总运费')">
<template v-for="item in clearanceFeeList">
<div :key="item.currencyId">{{item.amount || 0}}{{currentcyMap[item.currencyId]}}</div>
</template>
</el-descriptions-item>
<!--代收货款,只有非控货订单、并且线路开通了代收货款后,才显示是否代收货款选项-->
<el-descriptions-item :label="$t('总清关费')">
<template v-for="item in freightFeeList">
<div :key="item.currencyId">{{item.amount || 0}}{{currentcyMap[item.currencyId]}}</div>
</template>
</el-descriptions-item>
<el-descriptions-item :label="$t('其他费用')">
<template v-for="item in otherFeeList">
<div :key="item.currencyId">{{item.amount || 0}}{{currentcyMap[item.currencyId]}}</div>
</template>
</el-descriptions-item>
<el-descriptions-item :label="$t('原价')" :span="2">
<template v-for="item in originalFeeList">
<div :key="item.currencyId">{{item.amount || 0}}{{currentcyMap[item.currencyId]}}</div>
</template>
</el-descriptions-item>
</el-descriptions>
<div class="card-title" style="padding:20px 0;">{{$t('优惠信息')}}</div>
<el-table :data="couponList" :show-header="false">
<el-table-column label="">
<template slot-scope="scope">
{{scope.$index+1}}.
<dict-tag :type="DICT_TYPE.ECW_COUPON_TYPE" :value="scope.row.type" />
<!-- {{$l(productNames[scope.row.prodId], 'title') || $t('未知')}} -->
</template>
</el-table-column>
<el-table-column label="">
<template slot-scope="{row}">
{{$l(row, 'title')}}
</template>
</el-table-column>
<el-table-column label="">
<template slot-scope="{row}">
-{{row.reduceAmount}}
{{currentcyMap[row.reduceCurrencyId]}}
</template>
</el-table-column>
<el-table-column label="">
<template slot-scope="{row}">
{{$t('有效期至')}}{{row.endTime ? row.endTime : $t('永久有效')}}
</template>
</el-table-column>
</el-table>
<el-descriptions :column="1" class="mt-20">
<el-descriptions-item :label="$t('优惠费用')" v-if="couponTotalAmountList && couponTotalAmountList.length">
<div v-for="(item, discountIndex) in couponTotalAmountList" :key="discountIndex">
{{item.totalAmount}} {{currentcyMap[item.currencyId]}}
</div>
</el-descriptions-item>
<el-descriptions-item :label="$t('预计费用')">
<template v-for="item in estimatedCosts">
<div :key="item.currencyId">{{item.amount || 0}}{{currentcyMap[item.currencyId]}}</div>
</template>
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card class="card">
<div slot="header" class="card-title">{{$t('通用信息')}}</div>
<el-descriptions :column="4">
<el-descriptions-item :label="$t('唛头')">
{{list.marks}}
</el-descriptions-item>
<el-descriptions-item :label="$t('报关方式')">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="list.customsType"></dict-tag>
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4">
<el-descriptions-item :label="$t('预计结束时间')">
{{list.stopTime}}
</el-descriptions-item>
<el-descriptions-item :label="$t('控货')">
{{list.control?$t('是'):$t('否')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('竞争对手')">
{{list.competitor}}
</el-descriptions-item>
<el-descriptions-item :label="$t('重要程度')">
<el-rate v-model="list.importance"></el-rate>
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4">
<el-descriptions-item :label="$t('价格有效期')">
{{list.startTime+$t('至')}}{{list.endTime}}
</el-descriptions-item>
<el-descriptions-item :label="$t('交货方式')">
<dict-tag :type="DICT_TYPE.ECW_TRADE_TYPE" :value="list.tradeType"></dict-tag>
<span style="margin-left: 10px;">{{list.tradeAdress}}</span>
</el-descriptions-item>
</el-descriptions>
<el-descriptions >
<el-descriptions-item :label="$t('备注')">
{{list.remarks}}
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card class="card" v-if='list.transportVO'>
<div slot="header" class="card-title">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="list.transportId"></dict-tag>
</div>
<div class="line">
<el-descriptions>
<el-descriptions-item :label="[3,4].indexOf(list.transportId)>-1?'空运路线':'海运路线'">
<el-descriptions-item :label="[3,4].indexOf(list.transportId)>-1?$t('空运路线'):$t('海运路线')">
{{getRouterNameById(list.lineId)}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions>
<el-descriptions v-if="[3,4].indexOf(list.transportId) > -1">
<el-descriptions-item :label="$t('出货渠道')">
{{channelName}}
</el-descriptions-item>
</el-descriptions>
</div>
<el-descriptions class="card" v-if="[2,3,4].indexOf(list.transportId) > -1">
<el-descriptions-item label="是否双清">
<dict-tag :type="DICT_TYPE.ECW_DOUBLE_CLEAR" :value="list.doubleClear"></dict-tag>
<el-descriptions-item :label="$t('是否双清')">
<dict-tag :type="DICT_TYPE.ECW_DOUBLE_CLEAR" :value="list.transportVO.doubleClear"></dict-tag>
</el-descriptions-item>
</el-descriptions>
<el-descriptions v-if="[3,4].indexOf(list.transportId) > -1">
<el-descriptions-item label="航空公司">
{{list.airlineCompany}}
<el-descriptions-item :label="$t('航空公司')">
{{getSupplierData(list.transportVO.airlineCompany)}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions v-if="list.transportId==2">
<el-descriptions-item label="船公司">
{{list.shippingCompany}}
<el-descriptions-item :label="$t('船公司')">
{{getSupplierData(list.transportVO.shippingCompany)}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions v-if="[2,3,4].indexOf(list.transportId) > -1">
<el-descriptions-item label="清关证书">
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="list.customsClearCert"></dict-tag>
<el-descriptions-item :label="$t('清关证书')">
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="list.transportVO.customsClearCert"></dict-tag>
</el-descriptions-item>
</el-descriptions>
<el-descriptions v-if="[2,3,4].indexOf(list.transportId) > -1">
<el-descriptions-item label="清关证书备注">
{{list.remarks}}
<el-descriptions-item :label="$t('清关证书备注')">
{{list.transportVO.remarks}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions class="card" v-if="[3,4].indexOf(list.transportId) > -1">
<el-descriptions-item label="是否拆包">
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="list.isUnpack"></dict-tag>
<el-descriptions-item :label="$t('是否拆包')">
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="list.transportVO.isUnpack"></dict-tag>
</el-descriptions-item>
</el-descriptions>
<el-descriptions v-if="[3,4].indexOf(list.transportId) > -1">
<el-descriptions-item label="单票立刻转运">
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="list.isSingleTicketTransport"></dict-tag>
<el-descriptions-item :label="$t('单票立刻转运')">
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="list.transportVO.isSingleTicketTransport"></dict-tag>
<span style="margin-left:10px;color: #0000FF;">注:若只有一件,货到仓库立即发,选“是”,多件需仓库集运待发,选“否”</span>
<span style="margin-left:10px;color: #0000FF;">{{$t('注:若只有一件,货到仓库立即发,选“是”,多件需仓库集运待发,选“否”')}}</span>
</el-descriptions-item>
</el-descriptions>
<el-descriptions>
<el-descriptions-item label="特殊要求">
<dict-selector form-type="checkbox" :type="DICT_TYPE.ORDER_SPECIAL_NEEDS" multiple v-model="list.packageType" :disabled="true" />
<el-descriptions-item :label="$t('特殊要求')">
<dict-selector form-type="checkbox" :type="DICT_TYPE.ORDER_SPECIAL_NEEDS" multiple v-model="list.transportVO.packageType" :disabled="true" />
</el-descriptions-item>
</el-descriptions>
<el-descriptions>
<el-descriptions-item label="特殊要求备注">
{{list.packageRemarks}}
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card class="card">
<div slot="header" class="card-title">通用信息</div>
<el-descriptions :column="4">
<el-descriptions-item label="唛头1">
{{list.marks}}
</el-descriptions-item>
<el-descriptions-item label="报关方式">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="list.customsType"></dict-tag>
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4">
<el-descriptions-item label="预计结束时间">
{{list.stopTime}}
</el-descriptions-item>
<el-descriptions-item label="控货">
{{list.control?'是':'否'}}
</el-descriptions-item>
<el-descriptions-item label="竞争对手">
{{list.competitor}}
</el-descriptions-item>
<el-descriptions-item label="重要程度">
<el-rate v-model="list.importance"></el-rate>
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4">
<el-descriptions-item label="价格有效期">
{{list.startTime}} 至 {{list.endTime}}
<el-descriptions-item :label="$t('特殊要求备注')">
{{list.transportVO.packageRemarks}}
</el-descriptions-item>
<el-descriptions-item label="交货方式">
<dict-tag :type="DICT_TYPE.ECW_TRADE_TYPE" :value="list.tradeType"></dict-tag>
<span style="margin-left: 10px;">{{list.tradeAdress}}</span>
</el-descriptions-item>
</el-descriptions>
<el-descriptions >
<el-descriptions-item label="备注">
{{list.remarks}}
</el-descriptions-item>
</el-descriptions>
</el-card>
</div>
</template>
......@@ -286,6 +347,8 @@
import {getCurrencyList} from '@/api/ecw/currency'
import {getCustomerContactsSelect} from '@/api/ecw/customerContacts'
import {openedRouterList as getOpenedRouterList} from '@/api/ecw/warehouse'
import {calculationPrice} from '@/api/ecw/product'
import {getSupplier, getSupplierPage} from '@/api/ecw/supplier'
export default {
name: "detail",
data() {
......@@ -302,9 +365,12 @@
routerList:[],
channelName:'/',
tradeCityList:[],
productNames: {},
currencyList:[],
unitList:[],
orderData:[]
orderData:[],
couponAvailableGroupDtoList: [], // 可用优惠
couponTotalAmountList: [], // 优惠总额
};
},
computed:{
......@@ -321,7 +387,70 @@
map[item.id] = item.titleZh
})
return map
}
},
// 总有优惠金额
couponList(){
let arr = []
this.couponAvailableGroupDtoList.forEach(item => {
if(item.couponAvailableDtoList && item.couponAvailableDtoList.length){
// 只取第一个
let it = item.couponAvailableDtoList[0]
arr.push({
prodId: item.prodId,
type: it.type,
titleZh: it.titleZh,
titleEn: it.titleEn,
endTime: it.endTime,
reduceAmount: it.reduceAmount,
reduceCurrencyId: it.reduceCurrencyId
})
}
})
return arr
},
// 计算返回的费用清单
feeDtoList(){
return this.list.estCostVO.feeDtoList || []
},
// 清关费
clearanceFeeList(){
return this.feeDtoList.filter(item => item.feeType == 2)
},
// 运费
freightFeeList(){
return this.feeDtoList.filter(item => item.feeType == 1)
},
// 其他费用
otherFeeList(){
return this.feeDtoList.filter(item => item.feeType == 1)
},
// 原价(清关费 + 运费)
originalFeeList(){
let arr = []
this.clearanceFeeList.forEach(item => {
let it = {...item}
let freight = this.freightFeeList.find(fee => fee.currencyId == item.currencyId)
if(freight){
it.amount += freight.amount
}
arr.push(it)
})
return arr
},
// 预计费用(原价 - 优惠金额)
estimatedCosts(){
let arr = []
this.originalFeeList.forEach(item => {
let it = {...item}
let coupon = this.couponList.find(coupon => coupon.reduceCurrencyId == item.currencyId)
if(coupon){
it.amount -= coupon.reduceAmount
}
arr.push(it)
})
return arr
},
},
created() {
getCurrencyList().then(res => this.currencyList = res.data)
......@@ -342,6 +471,36 @@
that.orderDat = response.data;
});
},
getSupplierData(id){
var labelname = ''
if(id){
getSupplier(id).then(res=>{
if(res.data){
labelname = res.data.companyZh
}
})
}
return labelname
},
// 计算商品运费
calculationPrice(){
calculationPrice({
lineId: this.list.lineId,
transportId: this.list.transportId,
channelId: this.list.channelId,
prodConditionParamList: this.list.offerProdRespVOList,
consigneeCustomerContactsId: this.list.consigneeCustomerContactsId,
consignorCustomerContactsId: this.list.consignorCustomerContactsId,
customsType: this.list.customsType,
isCargoControl: this.list.control,
orderType: this.list.orderType,
}).then(res => {
this.$set(this, 'couponTotalAmountList', res.data.availableDto.couponTotalAmountList)
this.$set(this, 'couponAvailableGroupDtoList', res.data.availableDto.couponAvailableGroupDtoList)
}).finally(() => {
this.calculating = false
})
},
/** 查询列表 */
getList() {
let that = this
......@@ -352,6 +511,7 @@
if(that.list.channelId){
that.getChannelData()
}
that.calculationPrice()
if(that.list.orderId){
that.getOrderData(that.list.orderId)
}
......@@ -450,13 +610,13 @@
/** 删除按钮操作 */
handleDelete() {
const offerId = this.offerId;
this.$modal.confirm('是否确认删除报价单管理编号为"' + offerId + '"的数据项?').then(function() {
this.$modal.confirm(this.$t('是否确认删除报价单管理编号为')+'"' + offerId + '"'+this.$t('的数据项')+'?').then(function() {
return deleteOffer(offerId);
}).then(() => {
this.$router.push({
path: "/offer/result"
});
this.$modal.msgSuccess("删除成功");
this.$modal.msgSuccess(this.$t("删除成功"));
}).catch(() => {});
},
}
......
<template>
<div class="app-container">
<el-card>
<div slot="header" class="card-title">跟进记录列表</div>
<div slot="header" class="card-title">{{$t('跟进记录列表')}}</div>
<!-- 列表 -->
<div class="offer-header">
<span style="font-size: 15px;">报价单号{{number}}</span>
<span style="font-size: 15px;">{{$t('报价单号')}}{{number}}</span>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
>新增</el-button>
>{{$t('新增')}}</el-button>
</div>
<el-table v-loading="loading" :data="list">
<el-table-column label="序号" align="center" prop="id" type="index">
<el-table-column :label="$t('序号')" align="center" prop="id" type="index">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="跟进类型" align="center" prop="type" >
<el-table-column :label="$t('跟进类型')" align="center" prop="type" >
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_OFFER_TYPE" :value="scope.row.type"></dict-tag>
</template>
</el-table-column>
<el-table-column label="联系人" align="center" prop="contactName" />
<el-table-column :label="$t('联系人')" align="center" prop="contactName" />
<el-table-column label="跟进方式" align="center" prop="followUpMethod">
<el-table-column :label="$t('跟进方式')" align="center" prop="followUpMethod">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_OFFER_METHOD" :value="scope.row.followUpMethod"></dict-tag>
<dict-tag :type="DICT_TYPE.CUSTOMER_FOLLOW_METHOD" :value="scope.row.followUpMethod"></dict-tag>
</template>
</el-table-column>
<el-table-column label="跟进时间" align="center" prop="followUpTime" width="180">
<el-table-column :label="$t('跟进时间')" align="center" prop="followUpTime" width="180">
<template slot-scope="scope">
<span>{{ scope.row.followUpTime}}</span>
</template>
</el-table-column>
<el-table-column label="客户反馈" align="center" prop="customerFeedback" />
<el-table-column label="处理结果" align="center" prop="processingResults" />
<el-table-column label="跟进业务员" align="center" prop="followUpSalesmanName" />
<el-table-column :label="$t('客户反馈')" align="center" prop="customerFeedback" />
<el-table-column :label="$t('处理结果')" align="center" prop="processingResults" />
<el-table-column :label="$t('客户经理')" align="center" prop="followUpSalesmanName" />
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="params.page" :limit.sync="params.rows"
......@@ -101,8 +101,7 @@ export default {
path: "/offer/createLog",
query:{
offerId:this.params.offerId,
number:this.number,
relationId:this.relationId,
number:this.number
}
});
},
......
......@@ -112,7 +112,11 @@
</el-table-column>
<el-table-column :label="$t('中文名')" align="center" prop="prodTitleZh" />
<el-table-column :label="$t('英文名')" align="center" prop="prodTitleEn" />
<el-table-column :label="$t('品牌')" align="center" prop="brand" />
<el-table-column :label="$t('品牌')" align="center" prop="brandType">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="scope.row.brandType"></dict-tag>
</template>
</el-table-column>
<el-table-column :label="$t('填单箱数')" prop="num" />
<el-table-column :label="$t('入仓箱数')">
<template slot-scope="scope">
......@@ -304,12 +308,12 @@
if(response.data.hasOwnProperty('orderItemId')){
that.getShopData(response.data.orderItemId)
}
if(that.orderExceptionData.orderExceptionType == 'order_pay_exception'){
that.getOrderFeeByIdData()
that.getPreExceptionData()
}
});
},
getOrderData(){
......
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