Commit 4bdadadf authored by dragondean@qq.com's avatar dragondean@qq.com

合并订单编辑,fix合并冲突

parents b63fc958 fd79416a
...@@ -143,3 +143,12 @@ export function getCityData(query) { ...@@ -143,3 +143,12 @@ export function getCityData(query) {
params: query params: query
}) })
} }
// 获取仓库区域并行国家、城市、仓库列表
export function getGuojiaAndShiAndWarehouseList(query = {}) {
return request({
url: '/app-api/ecw/warehouse/getGuojiaAndShiAndWarehouseList',
method: 'get',
params: query
})
}
...@@ -568,11 +568,11 @@ export default { ...@@ -568,11 +568,11 @@ export default {
consignorPhone: '发货人电话', consignorPhone: '发货人电话',
consignorEmail: '发货人邮箱', consignorEmail: '发货人邮箱',
consigneeName: '收货人', consigneeName: '收货人',
consigneeCompany: '收货人公司名称', consigneeCompany: '公司名称',
consigneeNameEn: '收货人英文名称', consigneeNameEn: '英文名称',
consigneeCompanyEn: '收货人公司英文名称', consigneeCompanyEn: '公司英文名称',
consigneeEmail: '收货人邮箱', consigneeEmail: '邮箱',
consigneePhone: '收货人电话', consigneePhone: '电话',
marks: '唛头', marks: '唛头',
isCargoControl: '是否控货', isCargoControl: '是否控货',
baseInfo: '基础', baseInfo: '基础',
......
<script>
export default {
props: {
title: String,
langKey: String
}
}
</script>
<template>
<div style="display: flex">
<div
style="
width: 6px;
height: 26px;
background: #659fd5;
border-radius: 0px 6px 6px 0px;
"
/>
<span
style="
font-size: 22px;
font-weight: 500;
color: #333;
line-height: 26px;
margin-left: 5px;
"
>
<slot>{{ title || $t(langKey) }}</slot>
</span>
</div>
</template>
<style scoped>
</style>
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
" "
>{{ $t("delivery.header") }}</span> >{{ $t("delivery.header") }}</span>
</div> </div>
<div style="display: flex; align-items: flex-end; margin-top: 5px"> <div style="display: flex; align-items: flex-end; margin-top: 5px; margin-bottom: 20px">
<div style="width: 75px; height: 4px; background: #396fff" /> <div style="width: 75px; height: 4px; background: #396fff" />
<div <div
style=" style="
...@@ -27,33 +27,21 @@ ...@@ -27,33 +27,21 @@
" "
/> />
</div> </div>
<el-form ref="form" :model="form" :rules="rules"> <el-form ref="form" :model="form" :rules="rules">
<el-form-item <section-title lang-key="delivery.header">
v-if=" {{$t('delivery.consigneeName')}}
selectedRouter && <el-radio-group v-if="noConsignee" v-model="hasConsignee">
(routeOtherServices.indexOf('1') > -1 || <el-radio :label="true">{{$t('')}}</el-radio>
routeOtherServices.indexOf('4') > -1) <el-radio :label="false">{{$t('')}}</el-radio>
" </el-radio-group>
:label="$t('delivery.header')" </section-title>
style="margin-top: 30px"
> <!--收货人-->
<el-checkbox-group v-model="form.type">
<el-checkbox
v-if="
(!selectedRouter || routeOtherServices.indexOf('1') > -1) && false
"
label="1"
>{{ $t("delivery.orderType1") }}</el-checkbox>
<el-checkbox
v-if="!selectedRouter || routeOtherServices.indexOf('2') > -1"
label="2"
>{{ $t("delivery.orderType2") }}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-row :gutter="20" style="margin-top: 30px"> <el-row :gutter="20" style="margin-top: 30px">
<el-col :span="12"> <el-col :span="12">
<el-form-item <el-form-item
:label="$t('delivery.consigneeName')" :label="$t('名称')"
prop="consigneeName" prop="consigneeName"
> >
<el-input <el-input
...@@ -68,68 +56,71 @@ ...@@ -68,68 +56,71 @@
>{{ $t("delivery.openConsignee") }}</el-button> >{{ $t("delivery.openConsignee") }}</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="10">
<el-form-item
:label="$t('orderdetail.consigneeNameEn')"
prop="consigneeNameEn"
>
<el-input
v-model="form.consigneeNameEn"
:placeholder="$t('delivery.consigneeNameNoticeEn')"
style="width: 200px"
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" style="margin-top: 30px">
<el-col :span="12">
<el-form-item <el-form-item
:label="$t('delivery.consigneePhone')" :label="$t('delivery.consigneePhone')"
prop="consigneePhone" prop="consigneePhone"
> >
<el-select <el-select
v-model="form.countryCode" v-model="form.countryCode"
style="width: 100px" style="width: 100px"
@change="(val) => changeArea(val, form.consigneePhone)" @change="(val) => changeArea(val, form.consigneePhone)"
> >
<el-option <el-option
v-for="item in countryList" v-for="item in countryList"
:key="item.id" :key="item.id"
:label="'+' + item.tel" :label="'+' + item.tel"
:value="item.tel" :value="item.tel"
> >
<span>{{ "+" + item.tel + " " + $l(item, "name") }}</span> <span>{{ "+" + item.tel + " " + $l(item, "name") }}</span>
</el-option> </el-option>
</el-select> </el-select>
<el-input <el-input
v-model="form.consigneePhone" v-model="form.consigneePhone"
:placeholder="$t('delivery.consigneePhoneNotice')" :placeholder="$t('delivery.consigneePhoneNotice')"
style="width: 180px" style="width: 180px"
@blur="(val) => changeArea(form.countryCode, form.consigneePhone)" @blur="(val) => changeArea(form.countryCode, form.consigneePhone)"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="2">
<el-button circle icon="el-icon-circle-plus" v-if="!showFullConsignee" @click="showFullConsignee=true"></el-button>
<el-button circle icon="el-icon-remove" v-else @click="showFullConsignee=false"></el-button>
</el-col>
</el-row>
<el-row :gutter="5" v-if="showFullConsignee">
<el-col :span="6">
<el-form-item
:label="$t('orderdetail.consigneeNameEn')"
prop="consigneeNameEn"
>
<el-input
v-model="form.consigneeNameEn"
:placeholder="$t('delivery.consigneeNameNoticeEn')"
style="width: 200px"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="$t('delivery.consigneeCompany')"> <el-form-item :label="$t('delivery.consigneeCompany')">
<el-input <el-input
v-model="form.consigneeCompany" v-model="form.consigneeCompany"
:placeholder="$t('delivery.consigneeCompanyNotice')" :placeholder="$t('delivery.consigneeCompanyNotice')"
style="width: 200px" style="width: 150px"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> <el-col :span="6">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item :label="$t('orderdetail.consigneeCompanyEn')"> <el-form-item :label="$t('orderdetail.consigneeCompanyEn')">
<el-input <el-input
v-model="form.consigneeCompanyEn" v-model="form.consigneeCompanyEn"
:placeholder="$t('delivery.consigneeCompanyNoticeEn')" :placeholder="$t('delivery.consigneeCompanyNoticeEn')"
style="width: 200px" style="width: 150px"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="6">
<el-form-item label="Email"> <el-form-item label="Email">
<el-input <el-input
v-model="form.consigneeEmail" v-model="form.consigneeEmail"
...@@ -139,7 +130,11 @@ ...@@ -139,7 +130,11 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-card> <el-card>
<template #header>
<section-title :title="$t('运输')"></section-title>
</template>
<el-descriptions :column="2" border> <el-descriptions :column="2" border>
<el-descriptions-item <el-descriptions-item
:label="$t('delivery.transport')" :label="$t('delivery.transport')"
...@@ -165,7 +160,8 @@ ...@@ -165,7 +160,8 @@
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-descriptions :column="2" border> <el-descriptions :column="3" border>
<!--始发城市-->
<el-descriptions-item <el-descriptions-item
:label="$t('delivery.departure')" :label="$t('delivery.departure')"
label-style="width:100px" label-style="width:100px"
...@@ -195,6 +191,40 @@ ...@@ -195,6 +191,40 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<!--目的国-->
<el-descriptions-item
:label="$t('delivery.objective')"
label-style="width:100px"
>
<span
slot="label"
><span style="color: red">*</span>{{ $t("目的国") }}</span>
<el-form-item
label=""
label-width="0"
style="margin-bottom: 0"
prop="destCountryId"
required
:error="$t('请选择目的国')"
>
<el-select
v-model="form.destCountryId"
:placeholder="$t('请选择目的国')"
clearable
@change="handleChangeDestCountry"
>
<el-option
v-for="item in showDestCountryLis"
:key="item.guojia"
:label="$l(item, 'guojiaName')"
:value="item.guojia"
/>
</el-select>
</el-form-item>
</el-descriptions-item>
<!--目的城市-->
<el-descriptions-item <el-descriptions-item
:label="$t('delivery.objective')" :label="$t('delivery.objective')"
label-style="width:100px" label-style="width:100px"
...@@ -214,19 +244,22 @@ ...@@ -214,19 +244,22 @@
v-model="form.objectiveId" v-model="form.objectiveId"
:placeholder="$t('delivery.objectiveNotice')" :placeholder="$t('delivery.objectiveNotice')"
clearable clearable
@change="handleChangeDestCity"
> >
<el-option <el-option
v-for="item in importCityList" v-for="item in showDestCityList"
:key="item.id" :key="item.shi"
:label="$l(item, 'title')" :label="$l(item, 'shiName')"
:value="item.id" :value="item.shi"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<!--路线-->
<el-descriptions-item <el-descriptions-item
:label="$t('delivery.router')" :label="$t('delivery.router')"
:span="2" :span="3"
label-style="width:100px" label-style="width:100px"
> >
<span <span
...@@ -247,11 +280,10 @@ ...@@ -247,11 +280,10 @@
/> />
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<select v-model="form.lineId" size="5" style="min-width: 300px"> <select v-model="form.lineId" size="5" style="min-width: 300px" @change="handleChangeLineId">
<template v-for="item in routerList"> <template v-for="item in routerList">
<option :key="item.id" :value="item.id"> <option :key="item.id" :value="item.id">
{{ $l(item, "startTitle") }} >> {{ $l(item, "startTitle") }} >> {{ $l(item, "destTitle") }}
{{ $l(item, "destTitle") }}
</option> </option>
</template> </template>
</select> </select>
...@@ -286,11 +318,24 @@ ...@@ -286,11 +318,24 @@
/> />
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<!--服务-->
<el-descriptions-item :label="$t('服务')"
v-if="selectedRouter && (routeOtherServices.indexOf('1') > -1 || routeOtherServices.indexOf('4') > -1)">
<el-checkbox-group v-model="form.type">
<el-checkbox label="1"
v-if="(!selectedRouter || routeOtherServices.indexOf('1') > -1)"
>{{ $t("delivery.orderType1") }}</el-checkbox>
<el-checkbox label="2"
v-if="!selectedRouter || routeOtherServices.indexOf('2') > -1"
>{{ $t("delivery.orderType2") }}</el-checkbox>
</el-checkbox-group>
</el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-card> </el-card>
<el-card class="mt-10"> <el-card class="mt-10">
<div slot="header" class="card-title"> <div slot="header" class="card-title">
<div style="display: flex"> <!--<div style="display: flex">
<div <div
style=" style="
width: 6px; width: 6px;
...@@ -308,7 +353,8 @@ ...@@ -308,7 +353,8 @@
margin-left: 5px; margin-left: 5px;
" "
>{{ $t("delivery.goods") }}</span> >{{ $t("delivery.goods") }}</span>
</div> </div>-->
<section-title :title='$t("delivery.goods")'></section-title>
<div> <div>
<el-button <el-button
type="primary" type="primary"
...@@ -677,135 +723,13 @@ ...@@ -677,135 +723,13 @@
</el-descriptions> </el-descriptions>
</el-card> </el-card>
<el-card v-if="false" class="mt-10">
<div slot="header" class="card-title">
<div style="display: flex">
<div
style="
width: 6px;
height: 26px;
background: #659fd5;
border-radius: 0px 6px 6px 0px;
"
/>
<span
style="
font-size: 22px;
font-weight: 500;
color: #333;
line-height: 26px;
margin-left: 5px;
"
>预计费用</span>
</div>
</div>
<el-descriptions :column="5" border>
<el-descriptions-item label="保价费">
{{ fee.insuranceFee || 0 }} 人民币
</el-descriptions-item>
<el-descriptions-item label="总运费">
<div>{{ fee.seaNGN || 0 }}奈拉</div>
<div>{{ fee.seaRMB || 0 }}人民币</div>
<div>{{ fee.seaUSD || 0 }}美元</div>
</el-descriptions-item>
<!--代收货款,只有非控货订单、并且线路开通了代收货款后,才显示是否代收货款选项-->
<el-descriptions-item label="总清关费">
<div>{{ fee.clearanceNGN || 0 }}奈拉</div>
<div>{{ fee.clearanceRMB || 0 }}人民币</div>
<div>{{ fee.clearanceUSD || 0 }}美元</div>
</el-descriptions-item>
<el-descriptions-item label="其他费用">
<!--TODO 缺少其他费用字段-->
<el-input
v-model="form.otherFee"
placeholder=""
style="width: 100px"
/>
<selector
v-model="form.otherFeeCurrencyId"
:options="currencyList"
label-field="titleZh"
value-field="id"
defaultable
style="width: 100px"
/>
</el-descriptions-item>
<el-descriptions-item label="原价" :span="2">
<!--TODO 缺少字段-->
<div>{{ fee.clearanceNGN || 0 }}奈拉</div>
<div>{{ fee.clearanceRMB || 0 }}人民币</div>
<div>{{ fee.clearanceUSD || 0 }}美元</div>
</el-descriptions-item>
</el-descriptions>
<div class="card-title" style="padding: 20px 0">
<div style="display: flex">
<div
style="
width: 6px;
height: 26px;
background: #659fd5;
border-radius: 0px 6px 6px 0px;
"
/>
<span
style="
font-size: 22px;
font-weight: 500;
color: #333;
line-height: 26px;
margin-left: 5px;
"
>优惠信息</span>
</div>
</div>
<el-row
v-for="(item, index) in getDictDatas(DICT_TYPE.ECW_COUPON_TYPE)"
:key="item.value"
:gutter="10"
>
<el-col :span="4">{{ index + 1 }}.{{ item.label }}</el-col>
<el-col :span="6">
<!-- <el-select placeholder="">
</el-select> -->
</el-col>
<el-col :span="4">-10美元</el-col>
<el-col :span="6">有效期:永久有效</el-col>
</el-row>
<el-descriptions :column="1" border>
<el-descriptions-item label="优惠合计">
1233.1美元
</el-descriptions-item>
<el-descriptions-item label="预计费用" />
</el-descriptions>
</el-card>
<el-card class="mt-10"> <el-card class="mt-10">
<div slot="header" class="card-title"> <div slot="header" class="card-title">
<div style="display: flex"> <section-title :title='$t("delivery.common")'></section-title>
<div
style="
width: 6px;
height: 26px;
background: #659fd5;
border-radius: 0px 6px 6px 0px;
"
/>
<span
style="
font-size: 22px;
font-weight: 500;
color: #333;
line-height: 26px;
margin-left: 5px;
"
>{{ $t("delivery.common") }}</span>
</div>
</div> </div>
<el-descriptions :column="2" border> <el-descriptions :column="3" border>
<!--唛头-->
<el-descriptions-item :label="$t('delivery.marks')"> <el-descriptions-item :label="$t('delivery.marks')">
<span <span
slot="label" slot="label"
...@@ -821,296 +745,406 @@ ...@@ -821,296 +745,406 @@
<el-input v-model="form.marks" placeholder="" /> <el-input v-model="form.marks" placeholder="" />
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('delivery.isCargoControl')"> <!--单证报关-->
<el-descriptions-item :label="$t('delivery.customsType')" :span="2">
<span <span
slot="label" slot="label"
><span style="color: red">*</span> ><span style="color: red">*</span>
{{ $t("delivery.isCargoControl") }} {{ $t("delivery.customsType") }}
<el-tooltip <el-tooltip
:content="$t('delivery.isCargoControlNotice')" :content="$t('delivery.customsTypeNotice')"
placement="top" placement="top"
> >
<i class="el-icon-question" /> <i class="el-icon-question" />
</el-tooltip> </el-tooltip>
</span> </span>
<el-form-item <el-form-item
label="" label=""
label-width="0" label-width="0"
style="margin-bottom: 0" style="margin-bottom: 0"
prop="isCargoControl" prop="customsType"
required required
> >
<dict-selector <dict-selector
v-model="form.isCargoControl" v-model="form.customsType"
:type="DICT_TYPE.INFRA_BOOLEAN_STRING" :type="DICT_TYPE.ECW_CUSTOMS_TYPE"
formatter="bool" defaultable
form-type="radio" form-type="radio"
/> />
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<!--代收货款,只有非控货订单、并且线路开通了代收货款后,才显示是否代收货款选项-->
<el-descriptions-item <!--控货-->
v-if="collectionProxy" <el-descriptions-item :label="$t('delivery.isCargoControl')">
:label="$t('delivery.isCollection')"
>
<span <span
slot="label" slot="label"
><span style="color: red">*</span>{{ $t("delivery.isCollection") }}</span> ><span style="color: red">*</span>
{{ $t("delivery.isCargoControl") }}
<el-tooltip
:content="$t('delivery.isCargoControlNotice')"
placement="top"
>
<i class="el-icon-question" />
</el-tooltip>
</span>
<el-form-item <el-form-item
label="" label=""
label-width="0" label-width="0"
style="margin-bottom: 0" style="margin-bottom: 0"
prop="isCollection" prop="isCargoControl"
required required
> >
<dict-selector <dict-selector
v-model="form.isCollection" v-model="form.isCargoControl"
:type="DICT_TYPE.INFRA_BOOLEAN_STRING" :type="DICT_TYPE.INFRA_BOOLEAN_STRING"
formatter="bool" formatter="bool"
form-type="radio" form-type="radio"
@input="selectCollectionProxy"
/> />
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item
v-if="collectionProxy && showCollectionProxy"
:label="$t('delivery.collectionProxy')"
>
<el-input-number
v-model="form.collectionProxy"
min="0"
:controls="false"
style="width: 200px"
/>
<selector
v-model="form.collectionProxyCurrency"
:options="currencyList"
label-field="titleZh"
value-field="id"
defaultable
style="width: 100px"
/>
</el-descriptions-item>
<el-descriptions-item :label="$t('delivery.customsType')" :span="2"> <!--付款人-->
<el-descriptions-item :label="$t('delivery.drawee')" :span="2">
<span <span
slot="label" slot="label"
><span style="color: red">*</span> ><span style="color: red">*</span>{{ $t("delivery.drawee") }}</span>
{{ $t("delivery.customsType") }}
<el-tooltip
:content="$t('delivery.customsTypeNotice')"
placement="top"
>
<i class="el-icon-question" />
</el-tooltip>
</span>
<el-form-item <el-form-item
label="" label=""
label-width="0" label-width="0"
style="margin-bottom: 0" style="margin-bottom: 0"
prop="customsType" prop="drawee"
required required
> >
<dict-selector <dict-selector
v-model="form.customsType" v-model="form.drawee"
:type="DICT_TYPE.ECW_CUSTOMS_TYPE" :type="DICT_TYPE.DRAWEE"
defaultable :filter="(e) => e.value == '1' || e.value == '2'"
form-type="radio" defaultable
form-type="radio"
/> />
</el-form-item> </el-form-item>
<!--自定义付款人-->
<div v-if="form.drawee == 3">
<template v-for="(item, index) in customDraweeList" v-key="index">
<el-form-item :key="index" :label="item.label">
<dict-selector
v-model="item.value"
:type="DICT_TYPE.DRAWEE"
:filter="(e) => e.value == '1' || e.value == '2'"
form-type="radio"
/>
</el-form-item>
</template>
</div>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('delivery.issuingMethod')"> <!--入仓类型-->
<el-descriptions-item :label="$t('delivery.warehouseType')">
<span <span
slot="label" slot="label"
><span style="color: red">*</span>{{ $t("delivery.issuingMethod") }}</span> ><span style="color: red">*</span>{{ $t("delivery.warehouseType") }}</span>
<el-form-item <el-form-item
label="" label=""
label-width="0" label-width="0"
style="margin-bottom: 0" style="margin-bottom: 0"
prop="issuingMethod" prop="warehouseType"
required required
> >
<dict-selector <dict-selector
v-model="form.issuingMethod" v-model="form.warehouseType"
:type="DICT_TYPE.ECW_SUING_METHOD" :type="DICT_TYPE.ECW_WAREHOUSING_TYPE"
defaultable defaultable
form-type="radio"
/> />
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('外部仓')" :span="2">
<el-form-item prop="isExternalWarehouse">
<el-checkbox label="" v-model="form.isExternalWarehouse" @change="form.isExternalWarehouse=$event" :disabled="false"></el-checkbox>
</el-form-item>
<div v-if="form.isExternalWarehouse">
<div v-for="(item, index) in form.externalWarehouseDtoList" class="" :key="index"
style="border-bottom: 1px solid #ccc; margin-bottom: 10px">
<div class="flex-1">
<el-form-item :label="$t('装货时间')"
:prop="'externalWarehouseDtoList.' + index + '.estLoadingTime'"
:rules="{
required: true, message: '装货时间不能为空', trigger: 'blur'
}"
>
<el-date-picker v-model="item.estLoadingTime" value-format="yyyy-MM-dd HH:mm:ss" class="w-200"></el-date-picker>
</el-form-item>
</div>
<div class="flex-1">
<el-form-item :label="$t('装货地址')"
:prop="'externalWarehouseDtoList.' + index + '.loadingAddress'"
:rules="{
required: true, message: '装货地址不能为空', trigger: 'blur'
}"
>
<el-input v-model="item.loadingAddress" placeholder="" class="w-200"></el-input>
</el-form-item>
</div>
</div>
<div>
<el-button size="mini" type="primary" icon="el-icon-plus" @click="form.externalWarehouseDtoList.push({})"></el-button>
<el-button size="mini" type="danger" icon="el-icon-delete" :disabled="form.externalWarehouseDtoList.length <= 1"
@click="form.externalWarehouseDtoList.splice(form.externalWarehouseDtoList.length-1, 1)"></el-button>
</div>
</div>
</el-descriptions-item>
<!--预计送货日期-->
<el-descriptions-item :label="$t('delivery.deliveryDate')"> <el-descriptions-item :label="$t('delivery.deliveryDate')">
<span <span
slot="label" slot="label"
><span style="color: red">*</span>{{ $t("delivery.deliveryDate") }}</span> ><span style="color: red">*</span>{{ $t("delivery.deliveryDate") }}</span>
<el-form-item <el-form-item
label="" label=""
label-width="0" label-width="0"
style="margin-bottom: 0" style="margin-bottom: 0"
prop="deliveryDate" prop="deliveryDate"
required required
:error="$t('delivery.deliveryDateRules')" :error="$t('delivery.deliveryDateRules')"
> >
<el-date-picker <el-date-picker
v-model="form.deliveryDate" v-model="form.deliveryDate"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
/> />
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('delivery.warehouseType')"> <!--代收货款,只有非控货订单、并且线路开通了代收货款后,才显示是否代收货款选项-->
<el-descriptions-item
v-if="collectionProxy"
:label="$t('delivery.isCollection')"
:span="2"
>
<span <span
slot="label" slot="label"
><span style="color: red">*</span>{{ $t("delivery.warehouseType") }}</span> ><span style="color: red">*</span>{{ $t("delivery.isCollection") }}</span>
<el-form-item <el-form-item
label="" label=""
label-width="0" label-width="0"
style="margin-bottom: 0" style="margin-bottom: 0"
prop="warehouseType" prop="isCollection"
required required
> >
<dict-selector <dict-selector
v-model="form.warehouseType" v-model="form.isCollection"
:type="DICT_TYPE.ECW_WAREHOUSING_TYPE" :type="DICT_TYPE.INFRA_BOOLEAN_STRING"
defaultable formatter="bool"
form-type="radio"
@input="selectCollectionProxy"
/>
</el-form-item>
<!--代收货款金额-->
<el-form-item
v-if="collectionProxy && showCollectionProxy"
:label="$t('delivery.collectionProxy')"
>
<el-input-number
v-model="form.collectionProxy"
min="0"
:controls="false"
style="width: 200px"
/>
<selector
v-model="form.collectionProxyCurrency"
:options="currencyList"
label-field="titleZh"
value-field="id"
defaultable
style="width: 100px"
/> />
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item v-else :span="2"><!--占位--></el-descriptions-item>
<!--收货方式-->
<el-descriptions-item :label="$t('delivery.harvestMethod')"> <el-descriptions-item :label="$t('delivery.harvestMethod')">
<span <span
slot="label" slot="label"
><span style="color: red">*</span>{{ $t("delivery.harvestMethod") }}</span> ><span style="color: red">*</span>{{ $t("delivery.harvestMethod") }}</span>
<el-form-item <el-form-item
label="" label=""
label-width="0" label-width="0"
style="margin-bottom: 0" style="margin-bottom: 0"
prop="harvestMethod" prop="harvestMethod"
required required
> >
<dict-selector <dict-selector
v-model="form.harvestMethod" v-model="form.harvestMethod"
:type="DICT_TYPE.ECW_HARVEST_METHOD" :type="DICT_TYPE.ECW_HARVEST_METHOD"
:filter="(item) => item.value == 1 || homeDeliveryService" :filter="(item) => item.value == 1 || homeDeliveryService"
defaultable defaultable
/> />
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :span="2"><!--报价单字段已在群里确认不需要--></el-descriptions-item>
<!--收货地址-->
<el-descriptions-item <el-descriptions-item
v-if="homeDeliveryService && form.harvestMethod == 2" v-if="homeDeliveryService && form.harvestMethod == 2"
:label="$t('delivery.deliveryaddress')" :label="$t('delivery.deliveryaddress')">
:span="2"
>
<span <span
slot="label" slot="label"
><span style="color: red">*</span>{{ $t("delivery.deliveryaddress") }}</span> ><span style="color: red">*</span>{{ $t("delivery.deliveryaddress") }}</span>
<el-form-item <el-form-item
label="" label=""
label-width="0" label-width="0"
style="margin-bottom: 0" style="margin-bottom: 0"
prop="city" prop="city"
> >
<area-selector <area-selector
:country=" :country="
form.consigneeVO ? form.consigneeVO.country : undefined form.consigneeVO ? form.consigneeVO.country : undefined
" "
:province=" :province="
form.consigneeVO ? form.consigneeVO.province : undefined form.consigneeVO ? form.consigneeVO.province : undefined
" "
:city="form.consigneeVO ? form.consigneeVO.city : undefined" :city="form.consigneeVO ? form.consigneeVO.city : undefined"
@countryChange="onAreaChange('country', $event)" @countryChange="onAreaChange('country', $event)"
@provinceChange="onAreaChange('province', $event)" @provinceChange="onAreaChange('province', $event)"
@cityChange="onAreaChange('city', $event)" @cityChange="onAreaChange('city', $event)"
/> />
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item <el-descriptions-item
v-if="homeDeliveryService && form.harvestMethod == 2" v-if="homeDeliveryService && form.harvestMethod == 2"
:label="$t('delivery.addressdetail')" :label="$t('delivery.addressdetail')"
:span="2" :span="2"
> >
<el-form-item <el-form-item
label="" label=""
label-width="0" label-width="0"
style="margin-bottom: 0" style="margin-bottom: 0"
prop="consigneeAddress" prop="consigneeAddress"
required required
> >
<el-input v-model="form.consigneeAddress" placeholder="" /> <el-input v-model="form.consigneeAddress" placeholder="" />
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
</el-descriptions>
</el-card>
<el-card class="mt-10">
<template #header>
<section-title :title="$t('其他')"></section-title>
</template>
<el-descriptions :column="2" label-style="width: 120px" border>
<el-descriptions-item>
<span
slot="label"
>
{{ $t("delivery.packageType") }}
<el-tooltip
:content="$t('delivery.packageTypeNotice')"
placement="top"
>
<i class="el-icon-question" />
</el-tooltip>
</span>
<!--特殊要求 / 包装类型-->
<el-form-item prop="packageType">
<dict-selector
v-model="form.packageType"
form-type="checkbox"
:type="DICT_TYPE.ORDER_SPECIAL_NEEDS"
multiple
/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item :label="$t('特殊要求备注')">
<!--包装备注-->
<el-form-item prop="packageRemarks">
<el-input v-model="form.packageRemarks" type="textarea" class="w-200" />
</el-form-item>
</el-descriptions-item>
<el-descriptions-item :span="2" :label="$t('delivery.number')">
<!--快递单号-->
<el-form-item prop="number">
<el-input
v-model="form.number"
:placeholder="$t('delivery.numberNotice')"
>
<el-button
slot="append"
type="primary"
@click="getOrderCourierNumber"
>{{ $t("delivery.getNumber") }}</el-button>
</el-input>
</el-form-item>
</el-descriptions-item>
<template v-if="isAir">
<el-descriptions-item :label="$t('delivery.customsClearCert')">
<!--清关证书-->
<el-form-item prop="customsClearCert">
<dict-selector
v-model="form.customsClearCert"
form-type="radio"
:type="DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter="bool"
defaultable
/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item :label="$t('delivery.clearCertRemark')">
<!--清关证书备注-->
<el-form-item prop="remarks">
<el-input v-model="form.remarks" />
</el-form-item>
</el-descriptions-item>
<el-descriptions-item :label="$t('delivery.isUnpack')">
<!--是否拆包-->
<el-form-item prop="isUnpack">
<dict-selector
v-model="form.isUnpack"
form-type="radio"
:type="DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter="bool"
/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item :label="$t('delivery.isSingleTicketTransport')">
<!--单票立刻转运-->
<el-form-item prop="isSingleTicketTransport">
<dict-selector
v-model="form.isSingleTicketTransport"
form-type="radio"
:type="DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter="bool"
/>
<span style="margin-left: 10px; color: red">{{
$t("delivery.notice")
}}</span>
</el-form-item>
</el-descriptions-item>
</template>
<el-descriptions-item :label="$t('delivery.drawee')" :span="2"> <!--出单方式,新的原型没有提现,暂时隐藏显示-->
<el-descriptions-item :label="$t('delivery.issuingMethod')" v-false>
<span <span
slot="label" slot="label"
><span style="color: red">*</span>{{ $t("delivery.drawee") }}</span> ><span style="color: red">*</span>{{ $t("delivery.issuingMethod") }}</span>
<el-form-item <el-form-item
label="" label=""
label-width="0" label-width="0"
style="margin-bottom: 0" style="margin-bottom: 0"
prop="drawee" prop="issuingMethod"
required required
> >
<dict-selector <dict-selector
v-model="form.drawee" v-model="form.issuingMethod"
:type="DICT_TYPE.DRAWEE" :type="DICT_TYPE.ECW_SUING_METHOD"
:filter="(e) => e.value == '1' || e.value == '2'"
defaultable defaultable
form-type="radio" form-type="radio"
/> />
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item
v-if="form.drawee == 3"
:label="$t('delivery.customDraweeList')"
:span="2"
>
<template v-for="(item, index) in customDraweeList" v-key="index">
<el-form-item :key="index" :label="item.label">
<dict-selector
v-model="item.value"
:type="DICT_TYPE.DRAWEE"
:filter="(e) => e.value == '1' || e.value == '2'"
form-type="radio"
/>
</el-form-item>
</template>
</el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-card> </el-card>
<el-card v-if="transport" class="mt-10"> <!--下面这部分根据原型没有展示,暂时隐藏-->
<div slot="header" class="card-title"> <el-card v-if="false" class="mt-10">
<div style="display: flex"> <!--是否双清-->
<div
style="
width: 6px;
height: 26px;
background: #659fd5;
border-radius: 0px 6px 6px 0px;
"
/>
<span
style="
font-size: 22px;
font-weight: 500;
color: #333;
line-height: 26px;
margin-left: 5px;
"
>{{ $l(transport, "label") }}</span>
</div>
</div>
<el-form-item :label="$t('delivery.number')">
<el-input
v-model="form.number"
:placeholder="$t('delivery.numberNotice')"
>
<el-button
slot="append"
type="primary"
@click="getOrderCourierNumber"
>{{ $t("delivery.getNumber") }}</el-button>
</el-input>
</el-form-item>
<el-form-item <el-form-item
v-if="[2, 3, 4].indexOf(+form.transportId) > -1" v-if="[2, 3, 4].indexOf(+form.transportId) > -1"
:label="$t('delivery.doubleClear')" :label="$t('delivery.doubleClear')"
...@@ -1128,82 +1162,16 @@ ...@@ -1128,82 +1162,16 @@
> >
<supplier-selector v-model="form.airlineCompany" company-type="10" /> <supplier-selector v-model="form.airlineCompany" company-type="10" />
</el-form-item--> </el-form-item-->
<!--船公司-->
<el-form-item <el-form-item
v-if="[2].indexOf(+form.transportId) > -1" v-if="[2].indexOf(+form.transportId) > -1"
:label="$t('delivery.shippingCompany')" :label="$t('delivery.shippingCompany')"
> >
<supplier-selector v-model="form.shippingCompany" company-type="9" /> <supplier-selector v-model="form.shippingCompany" company-type="9" />
</el-form-item> </el-form-item>
<el-form-item
v-if="[2, 3, 4].indexOf(+form.transportId) > -1"
:label="$t('delivery.customsClearCert')"
>
<dict-selector
v-model="form.customsClearCert"
form-type="radio"
:type="DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter="bool"
defaultable
/>
</el-form-item>
<el-form-item
v-if="[2, 3, 4].indexOf(+form.transportId) > -1"
:label="$t('delivery.clearCertRemark')"
>
<el-input v-model="form.remarks" />
</el-form-item>
<el-form-item
v-if="[3, 4].indexOf(+form.transportId) > -1"
:label="$t('delivery.isUnpack')"
>
<dict-selector
v-model="form.isUnpack"
form-type="radio"
:type="DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter="bool"
/>
</el-form-item>
<el-form-item
v-if="[3, 4].indexOf(+form.transportId) > -1"
:label="$t('delivery.isSingleTicketTransport')"
>
<dict-selector
v-model="form.isSingleTicketTransport"
form-type="radio"
:type="DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter="bool"
/>
<span style="margin-left: 10px; color: red">{{
$t("delivery.notice")
}}</span>
</el-form-item>
<el-form-item :label="$t('delivery.packageType')">
<template #label>
{{ $t("delivery.packageType") }}
</template>
<el-tooltip
:content="$t('delivery.packageTypeNotice')"
placement="top"
style="margin-right: 15px"
>
<i class="el-icon-question" />
</el-tooltip>
<dict-selector
v-model="form.packageType"
form-type="checkbox"
:type="DICT_TYPE.ORDER_SPECIAL_NEEDS"
multiple
/>
</el-form-item>
<el-form-item :label="$t('delivery.packageRemarks')">
<el-input v-model="form.packageRemarks" />
</el-form-item>
</el-card> </el-card>
<el-form-item label=""> <el-form-item label="" class="mt-20">
<el-button <el-button
v-if="form.status == 0 || editFlag" v-if="form.status == 0 || editFlag"
type="primary" type="primary"
...@@ -1547,7 +1515,7 @@ import { ...@@ -1547,7 +1515,7 @@ import {
getData, getData,
getOpenedRouterList, getOpenedRouterList,
validatorPhone, validatorPhone,
checkKycStatus checkKycStatus, getListTree, getWarehouseTreeList, getGuojiaAndShiAndWarehouseList
} from '@/api/data' } from '@/api/data'
import { import {
getCustomerList, getCustomerList,
...@@ -1573,9 +1541,11 @@ import AreaSelector from '@/components/AreaSelector' ...@@ -1573,9 +1541,11 @@ import AreaSelector from '@/components/AreaSelector'
import DictTag from '@/components/DictTag' import DictTag from '@/components/DictTag'
import SupplierSelector from '@/components/SupplierSelector' import SupplierSelector from '@/components/SupplierSelector'
import Pagination from '@/components/Pagination' import Pagination from '@/components/Pagination'
import SectionTitle from '@/views/jiedao/profile/components/SectionTitle.vue'
export default { export default {
name: 'OrderEdit', name: 'OrderEdit',
components: { components: {
SectionTitle,
ProductSelector, ProductSelector,
DictSelector, DictSelector,
Selector, Selector,
...@@ -1601,7 +1571,12 @@ export default { ...@@ -1601,7 +1571,12 @@ export default {
return { return {
validatorPositiveNumber, validatorPositiveNumber,
// customDraweeList: [], // customDraweeList: [],
// 国家区号列表,用于电话的区号选择
countryList: [], countryList: [],
// 目的国家,用于线路筛选
destCountryList: [],
// 目的城市
destCityList: [],
customerList: [], // 客户信息 customerList: [], // 客户信息
productAttrList: [], // 商品属性 productAttrList: [], // 商品属性
channelList: [], // 出货取到 channelList: [], // 出货取到
...@@ -1617,6 +1592,7 @@ export default { ...@@ -1617,6 +1592,7 @@ export default {
couponList: [], couponList: [],
fee: {}, // 费用 fee: {}, // 费用
form: { form: {
destCountryId: null,
countryCode: '86', countryCode: '86',
status: 0, status: 0,
consigneeName: '', consigneeName: '',
...@@ -1632,7 +1608,8 @@ export default { ...@@ -1632,7 +1608,8 @@ export default {
isUnpack: false, isUnpack: false,
drawee: 2, drawee: 2,
type: [], type: [],
orderItemVOList: [] orderItemVOList: [],
externalWarehouseDtoList:[]
}, },
// 总条数 // 总条数
total: 0, total: 0,
...@@ -1680,7 +1657,7 @@ export default { ...@@ -1680,7 +1657,7 @@ export default {
], ],
marks: [ marks: [
{ required: true, message: this.$t('delivery.marksRules') }, { required: true, message: this.$t('delivery.marksRules') },
{ pattern: /[A-z]/, message: this.$t('delivery.marksRules1') } // { pattern: /[A-z]/, message: this.$t('delivery.marksRules1') }
], ],
departureId: [ departureId: [
{ required: true, message: this.$t('delivery.departureRules') } { required: true, message: this.$t('delivery.departureRules') }
...@@ -1735,19 +1712,27 @@ export default { ...@@ -1735,19 +1712,27 @@ export default {
exportLoading: false, // 装下单模板下载状态 exportLoading: false, // 装下单模板下载状态
importList: [], importList: [],
noticeVisble: false, noticeVisble: false,
noticeVisble1: false noticeVisble1: false,
// 有无收货人
hasConsignee: true,
// 显示完整收货人信息
showFullConsignee: false,
// 仓库区域树形列表
warehouseTreeList: [],
// 选择的路线对象
selectedRouter: null
} }
}, },
computed: { computed: {
exportCityList() { exportCityList() {
return this.tradeCityList.filter( return this.tradeCityList.filter((item) => {
(item) => item.type == 2 || item.type == 3 return item.type == 2 || item.type == 3
) })
}, },
importCityList() { importCityList() {
return this.tradeCityList.filter( return this.tradeCityList.filter((item) => {
(item) => item.type == 1 || item.type == 3 return item.type == 1 || item.type == 3
) })
}, },
exportCityIds() { exportCityIds() {
const ids = [] const ids = []
...@@ -1783,11 +1768,11 @@ export default { ...@@ -1783,11 +1768,11 @@ export default {
}) })
return data return data
}, },
selectedRouter() { /* selectedRouter() {
// otherService 1 送货上门,2非控货订单代收货款 // otherService 1 送货上门,2非控货订单代收货款
if (!this.form.lineId) return null if (!this.form.lineId) return null
return this.routerList.find((item) => item.id == this.form.lineId) return this.routerList.find((item) => item.id == this.form.lineId)
}, }, */
// 送货上门 // 送货上门
homeDeliveryService() { homeDeliveryService() {
return ( return (
...@@ -1868,6 +1853,24 @@ export default { ...@@ -1868,6 +1853,24 @@ export default {
// return false // return false
// } // }
return true return true
},
// 当前用户信息
userInfo() {
return this.$store.getters.loginUser || {}
},
noConsignee() {
return this.userInfo.noConsignee || false
},
isAir() {
return [3, 4].indexOf(+this.form.transportId) > -1
},
// 显示的目的国
showDestCountryLis(){
return this.destCountryList
},
showDestCityList(){
if(!this.form.destCountryId) return this.destCityList
return this.destCityList.filter(item => item.guojia === this.form.destCountryId) || []
} }
}, },
watch: { watch: {
...@@ -1879,9 +1882,9 @@ export default { ...@@ -1879,9 +1882,9 @@ export default {
this.getOpenedRouterList() this.getOpenedRouterList()
}, },
// 目的地 // 目的地
'form.objectiveId'() { /* 'form.objectiveId'() {
this.getOpenedRouterList() this.getOpenedRouterList()
}, }, */
'form.transportId'() { 'form.transportId'() {
this.getOpenedRouterList() this.getOpenedRouterList()
}, },
...@@ -1903,8 +1906,9 @@ export default { ...@@ -1903,8 +1906,9 @@ export default {
async 'form.lineId'(lineId) { async 'form.lineId'(lineId) {
const router = this.routerList.find((item) => item.id == lineId) const router = this.routerList.find((item) => item.id == lineId)
if (!router) return if (!router) return
this.$set(this.form, 'departureId', router.startCityId) /* this.$set(this.form, 'departureId', router.startCityId)
this.$set(this.form, 'objectiveId', router.destCityId) this.$set(this.form, 'objectiveId', router.destCityId)
this.form.destCountryId = router.destCountryId */
this.calculationPrice() this.calculationPrice()
this.getIdCardData() this.getIdCardData()
await this.getChannelList() await this.getChannelList()
...@@ -1913,8 +1917,22 @@ export default { ...@@ -1913,8 +1917,22 @@ export default {
'form.harvestMethod'(harvestMethod) { 'form.harvestMethod'(harvestMethod) {
console.log(harvestMethod) console.log(harvestMethod)
}, },
// 服务
'form.type'(type){
if(type.indexOf('2') > -1){
this.$alert(this.$t('如需海外仓服务,请联系客服,服务热线:400-900-9962'))
}
},
'form.isExternalWarehouse'(isExternalWarehouse){
// 勾选外部仓则添加一个默认的,取消则删除默认的空的
if(!isExternalWarehouse){
this.$set(this.form, 'externalWarehouseDtoList', [])
}else if(!this.form.externalWarehouseDtoList || !this.form.externalWarehouseDtoList.length){
this.$set(this.form, 'externalWarehouseDtoList', [{}])
}
},
// 选择的路线变化后,需要判断是否开通了对应的服务,如果没开通需要取消对应的服务选择 // 选择的路线变化后,需要判断是否开通了对应的服务,如果没开通需要取消对应的服务选择
selectedRouter(val) { async selectedRouter(val) {
if (!val) return; if (!val) return;
['1', '4'].forEach((service) => { ['1', '4'].forEach((service) => {
if ( if (
...@@ -1979,6 +1997,9 @@ export default { ...@@ -1979,6 +1997,9 @@ export default {
getCountryList().then((r) => { getCountryList().then((r) => {
this.countryList = r.data this.countryList = r.data
}) })
getListTree({treeType: 1}).then(res => {
this.dstCountryList = res.data
})
getData({ page: 1, rows: 100, dictType: 'transport_type' }).then((r) => { getData({ page: 1, rows: 100, dictType: 'transport_type' }).then((r) => {
this.transportTypeList = r.data.list this.transportTypeList = r.data.list
}) })
...@@ -1994,6 +2015,12 @@ export default { ...@@ -1994,6 +2015,12 @@ export default {
await this.getTradeCity() await this.getTradeCity()
await this.getChannelList() await this.getChannelList()
getCurrencyList().then((res) => (this.currencyList = res.data)) getCurrencyList().then((res) => (this.currencyList = res.data))
getGuojiaAndShiAndWarehouseList({tradeType: 1}).then(res => {
this.destCountryList = res.data.guojiaList
this.destCityList = res.data.shiList
// this.destWarehoustList = res.data.warehouseList
})
}, },
methods: { methods: {
async getTradeCity() { async getTradeCity() {
...@@ -2001,7 +2028,20 @@ export default { ...@@ -2001,7 +2028,20 @@ export default {
if (this.form.channelId) { if (this.form.channelId) {
query.channelId = this.form.channelId query.channelId = this.form.channelId
} }
if(this.destCountryId){
query.destCountryId = this.destCountryId
}
this.tradeCityList = (await getTradeCityList(query)).data this.tradeCityList = (await getTradeCityList(query)).data
await this.$nextTick()
// 如果已选中的城市不在列表中则清空
if(this.form.departureId && this.importCityList.findIndex(item => item.id == this.form.departureId) < 0){
this.form.objectiveId = null
}
// 如果只有一个城市则选中
if(this.importCityList.length === 1){
this.form.objectiveId = this.importCityList[0].id
}
}, },
async getChannelList() { async getChannelList() {
const query = { const query = {
...@@ -2295,6 +2335,9 @@ export default { ...@@ -2295,6 +2335,9 @@ export default {
if (this.form.channelId) { if (this.form.channelId) {
params.channelId = this.form.channelId params.channelId = this.form.channelId
} }
if(this.form.destCountryId){
params.destCountryId = this.form.destCountryId
}
await this.$nextTick() await this.$nextTick()
getOpenedRouterList(params).then((res) => { getOpenedRouterList(params).then((res) => {
this.routerList = res.data.filter((item) => { this.routerList = res.data.filter((item) => {
...@@ -2303,6 +2346,12 @@ export default { ...@@ -2303,6 +2346,12 @@ export default {
this.importCityIds.indexOf(item.destCityId) > -1 this.importCityIds.indexOf(item.destCityId) > -1
) )
}) })
return this.$nextTick()
}).then(() =>{
// 如果已选中的路线不在列表中则清空
if(this.form.lineId && this.routerList.findIndex(item => item.id == this.form.lineId) < 0){
this.form.lineId = null
}
}) })
}, },
// 计算体积 // 计算体积
...@@ -2337,6 +2386,47 @@ export default { ...@@ -2337,6 +2386,47 @@ export default {
this.couponList = res.data this.couponList = res.data
}) })
}, },
// 切换目的国
handleChangeDestCountry(val) {
console.log("handleChangeDestCountry", val)
this.form.destCountryId = val
if(this.form.destCountryId){
this.form.objectiveId = null
this.form.lineId = null
this.selectedRouter = null
this.getOpenedRouterList()
}
},
// 切换目的城市
handleChangeDestCity(val){
this.form.objectiveId = val
if(this.form.objectiveId){
this.form.lineId = null
this.selectedRouter = null
this.form.destCountryId = this.destCityList.find(item => item.shi === val)?.guojia
this.getOpenedRouterList()
}
},
// 切换路线
setLineId(lineId){
this.form.lineId = lineId
this.handleChangeLineId()
},
// 切换线路回调
async handleChangeLineId(){
await this.$nextTick()
this.selectedRouter = this.routerList.find(item => item.id === this.form.lineId)
console.log("handleChangeLineId",
"路线", this.form.lineId,
"目的市", this.selectedRouter?.destCityId,
"目的国", this.selectedRouter?.destCountryId,
"始发市", this.selectedRouter?.startCityId)
if(this.form.lineId){
this.form.objectiveId = this.selectedRouter?.destCityId
this.form.destCountryId = this.selectedRouter?.destCountryId
this.form.departureId = this.selectedRouter?.startCityId
}
},
/** 提交按钮 */ /** 提交按钮 */
submitForm(status, flag = true) { submitForm(status, flag = true) {
this.$refs['form'].validate(async(valid, errors) => { this.$refs['form'].validate(async(valid, errors) => {
...@@ -2477,7 +2567,9 @@ export default { ...@@ -2477,7 +2567,9 @@ export default {
font-weight: 500; font-weight: 500;
color: #ffffff; color: #ffffff;
} }
::v-deep .el-descriptions-item__content .el-form-item{
margin-bottom: 0;
}
.card-title { .card-title {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
......
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