<template>
	<view>
		<view class="header-toper">
			<view class="start-bar"></view>
			<view class="header-toper-title">
				<image src="../../static/img/back.png" mode="" @click="backOrder"></image>
				<text>{{$lang.lang.create.create}}</text>
			</view>
		</view>
		<view class="start-bar"></view>
		<view class="corder-tab2 bgf">
			<view class="corder-tab1">
				<view class="corder-tab-top">
					<image src="../../static/img/corder-1.png" mode=""></image>
					<view class="flex items-center flex-1">
            <view class="title">{{$lang.lang.create.consignee}}</view>
            <radio-group @change="changeHasConsignee" class="flex items-center" v-if="noConsignee">
              <label class="radio">
                <radio value="1" :checked="hasConsignee" /><text>{{$lang.lang.create.yes}}</text>
              </label>
              <label class="radio" style="margin-left: 10rpx">
                <radio value="0" :checked="!hasConsignee" /><text>{{$lang.lang.create.no}}</text>
              </label>
            </radio-group>
          </view>
          <view class="flex items-center" style="width: 30px" v-if="hasConsignee">
            <image src="../../static/img/add.png" class="icon" v-if="!showFullConsignee" @click="showFullConsignee=true"></image>
            <image src="../../static/img/sub.png" class="icon" v-else @click="showFullConsignee=false"></image>
          </view>
				</view>
				<view class="corder-tab1-item corder-picker" v-if="hasConsignee">
					<image src="../../static/img/order-user.png" mode=""></image>
					<text><span class="redcolor">*</span>{{$lang.lang.create.name}}</text>
					<view class="addname">
						<input class="consignee-input" v-model="params.consigneeName" type="text"
                   :placeholder="$lang.lang.notices.name"
                   :class="{disabled: !hasConsignee}"
                   :disabled="!hasConsignee"
            />
						<view v-if="hasConsignee" class="choiceBtn" @click="tochoice">{{$lang.lang.create.choiceConsignee}}</view>
					</view>
				</view>
				<view class="corder-tab1-item" v-if="hasConsignee">
					<image src="../../static/img/order-tel.png" mode=""></image>
					<text><span class="redcolor">*</span>{{$lang.lang.create.phone}}</text>
					<!-- <input v-model="params.consigneePhone" type="text" :placeholder="请输入电话" /> -->
					<view class="corder-phone">
						<view class="countrySn-item">
							<picker
                class="countrySn"
                :class="{disabled: !hasConsignee}"
                :disabled="!hasConsignee"
                :value="config.countrySn.indexs"
                :range="config.countrySn.label" data-config="countrySn" data-key="countryCode" @change="configChange" v-if="config.countrySn.value.length > 0">
								<view class="uni-input">{{$request.checkAddIcon(config.countrySn.value[config.countrySn.indexs])}}</view>
							</picker>
							<image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
						</view>
						<input
              :class="{disabled: !hasConsignee}"
              :disabled="!hasConsignee"
              class="countrySn-input"
              v-model="params.consigneePhone" @blur="checkMoblie"
              maxlength="11"
              type="number"
              :placeholder="$lang.lang.notices.phone" />
					</view>
				</view>
        <template v-if="showFullConsignee && hasConsignee">
          <!-- v1.7新增 -->
          <view class="corder-tab1-item corder-picker">
            <image src="../../static/img/order-user.png" mode=""></image>
            <text>{{$lang.lang.create.nameEn}}</text>
            <view class="addname">
              <input
                class="consignee-input"
                :class="{disabled: !hasConsignee}"
                :disabled="!hasConsignee"
                v-model="params.consigneeNameEn" type="text"
                :placeholder="$lang.lang.notices.nameEn" />
            </view>
          </view>
          <view class="corder-tab1-item">
            <image src="../../static/img/order-email.png" mode=""></image>
            <text>{{$lang.lang.create.email}}</text>
            <input v-model="params.consigneeEmail" type="text" :placeholder="$lang.lang.notices.email"
                   :class="{disabled: !hasConsignee}"
                   :disabled="!hasConsignee" />
          </view>
          <view class="corder-tab1-item">
            <image src="../../static/img/corder-1-3.png" mode=""></image>
            <text>{{$lang.lang.create.company}}</text>
            <input v-model="params.consigneeCompany" type="text" :placeholder="$lang.lang.notices.company"
                   :class="{disabled: !hasConsignee}"
                   :disabled="!hasConsignee" />
          </view>
          <!-- v1.7新增 -->
          <view class="corder-tab1-item">
            <image src="../../static/img/corder-1-3.png" mode=""></image>
            <text>{{$lang.lang.create.companyEn}}</text>
            <input v-model="params.consigneeCompanyEn" type="text" :placeholder="$lang.lang.notices.companyEn"
                   :class="{disabled: !hasConsignee}"
                   :disabled="!hasConsignee" />
          </view>
        </template>
			</view>
		</view>
		<view class="corder bgf">
			<view class="corder-tab1">
				<view class="corder-tab-top">
					<image src="../../static/img/corder-1.png" mode=""></image>
					<view>{{$lang.lang.create.transport}}</view>
				</view>
        <view class="corder-tab1-item corder-picker">
          <image src="../../static/img/corder-1-1.png" mode=""></image>
          <text><span class="redcolor">*</span>{{$lang.lang.create.method}}</text>
          <!--<picker :class="config.transport.index == 0 ? 'v-picker v-picker-2' : 'v-picker'"  :value="config.transport.index" :range="config.transport.label" data-config="transport" data-key="transportId" @change="handleChangeTransport" v-if="config.transport.value.length > 0">
            <view class="uni-input">{{config.transport.label[config.transport.index]}}</view>
          </picker>-->
          <picker class="v-picker" :value="currentTransportIndex" :range="transportList" :range-key="transportRangeKey" @change="changeTransport">
            <view class="uni-input">{{currentTransportIndex !== null ? transportList[currentTransportIndex][transportRangeKey] : $lang.lang.create.choose}}</view>
          </picker>
          <image class="rgt" src="../../static/img/rgt.png" mode=""></image>
        </view>

				<view class="corder-tab1-item corder-picker">
					<image src="../../static/img/corder-1-3.png" mode=""></image>
					<text><span class="redcolor">*</span>{{$lang.lang.create.startCity}}</text>
					<!--<picker :class="config.tradeCity1.index == 0 ? 'v-picker v-picker-2' : 'v-picker'" :value="config.tradeCity1.index" :range="config.tradeCity1.label" data-config="tradeCity1" data-key="departureId" @change="configChange" v-if="config.tradeCity1.value.length > 0">
						<view class="uni-input">{{config.tradeCity1.label[config.tradeCity1.index]}}</view>
					</picker>-->
          <picker class="v-picker" :value="currentStartCityIndex" :range="startCityList" :range-key="startCityRangeKey" @change="changeStartCity">
            <view class="uni-input">{{currentStartCityIndex !== null ? startCityList[currentStartCityIndex][startCityRangeKey] : $lang.lang.create.choose}}</view>
          </picker>
					<image class="rgt" src="../../static/img/rgt.png" mode=""></image>
				</view>
        <!--目的国家-->
        <view class="corder-tab1-item corder-picker">
          <image src="../../static/img/corder-1-4.png" mode=""></image>
          <text><span class="redcolor">*</span>{{$lang.lang.create.dstCountry}}</text>
          <picker class="v-picker" :range="dstCountryList" :range-key="guojiaRangeKey" :value="currentDstCountryIndex" @change="changeDstCountry">
            <view class="uni-input">{{currentDstCountryIndex !== null ? dstCountryList[currentDstCountryIndex][guojiaRangeKey] : $lang.lang.create.choose}}</view>
          </picker>
          <image class="rgt" src="../../static/img/rgt.png" mode=""></image>
        </view>
        <!--目的城市-->
				<view class="corder-tab1-item corder-picker">
					<image src="../../static/img/corder-1-4.png" mode=""></image>
          <!--2024-11-21 要求改非必填 https://devops.aliyun.com/projex/bug/JDAA-127# 《3	APP城市非必填》-->
					<text><!--<span class="redcolor">*</span>-->{{$lang.lang.create.endCity}}</text>
          <picker class="v-picker" :range="filteredDstCityList" :range-key="shiRangeKey" :value="currentDstCityIndex" @change="changeDstCity">
            <view class="uni-input">{{ currentDstCityIndex !== null ? filteredDstCityList[currentDstCityIndex][shiRangeKey] : $lang.lang.create.choose }}</view>
          </picker>
					<image class="rgt" src="../../static/img/rgt.png" mode=""></image>
				</view>

				<view class="corder-tab1-item corder-picker">
					<image src="../../static/img/corder-1-5.png" mode=""></image>
					<text><span class="redcolor">*</span>{{$lang.lang.notices.lined}}</text>
					<!--<picker :disabled="openedRouterF||!params.transportId" :class="config.openedRouter.index == 0 ? 'v-picker v-picker-2' : 'v-picker'" :value="config.openedRouter.index" :range="config.openedRouter.label" data-config="openedRouter" data-key="lineId" @change="configChange" v-if="config.openedRouter.value.length > 0">
						<view class="uni-input">{{config.openedRouter.label[config.openedRouter.index]}}</view>
					</picker>-->
          <picker class="v-picker" :value="currentRouteIndex" :range="routerList" :range-key="routerRangeKey" @change="changeRoute">
            <view class="uni-input">{{currentRouteIndex !== null ? routerList[currentRouteIndex][routerRangeKey] : $lang.lang.create.choose}}</view>
          </picker>
					<image class="rgt" src="../../static/img/rgt.png" mode=""></image>
				</view>
        <view class="corder-tab1-item corder-picker" v-if="!channeled">
          <image src="../../static/img/corder-1-2.png" mode=""></image>
          <text>{{$lang.lang.create.channel}}</text>
          <!--<picker :class="config.channel.index == 0 ? 'v-picker v-picker-2' : 'v-picker'" :disabled="channeled" :value="config.channel.index" :range="config.channel.label" data-config="channel" data-key="channelId" @change="configChange" v-if="config.channel.value.length > 0">
            <view class="uni-input">{{config.channel.label[config.channel.index]}}</view>
          </picker>-->
          <picker class="v-picker" :value="currentChannelIndex" :range="channelList" :range-key="channelRangeKey" @change="changeChannel">
            <view class="uni-input">{{currentChannelIndex !== null ? channelList[currentChannelIndex][channelRangeKey] : $lang.lang.create.choose}}</view>
          </picker>
          <image class="rgt" src="../../static/img/rgt.png" mode=""></image>
        </view>
        <view class="corder-tab1-item corder-picker" v-if="otherService.indexOf('1') > -1 || otherService.indexOf('4') > -1">
          <image src="../../static/img/corder-1-2.png" mode=""></image>
          <text>{{$lang.lang.create.type}}</text>
          <view class="order_type">
            <checkbox-group @change="changeType">
              <view v-for="item in items" :key="item.value" v-if="otherService.indexOf(item.value) > -1">
                <checkbox style="transform:scale(0.8)" :value="item.value" :checked="item.checked" />{{item.name}}
              </view>
            </checkbox-group>
          </view>
        </view>
			</view>
		</view>

		<view class="corder-tab2 bgf">
			<view class="corder-tab-top">
				<image src="../../static/img/corder-2.png" mode=""></image>
				<view class="noborder">
					<text>{{$lang.lang.create.info}}</text>
					<text class="addGoods" @click="open(-1)">{{$lang.lang.create.addShop}}</text>
				</view>
			</view>
			<view class="corder-goods">
				<view class="" v-for="(item,index) in params.orderItemVOList" :key="index">
					<view class="corder-gnums">{{index+1}}</view>
					<view class="corder-goods-v" style="flex-direction: column">
						<view class="corder-goods-v-item flex">
<!--							<view class="flex-1">-->
<!--								<text>{{$lang.lang.create.prodZh}}：</text>-->
<!--								<text>{{item.prodTitleZh}}</text>-->
<!--							</view>-->
              <view class="flex flex-1">
                <text>{{$lang.lang.create.prodTitle}}：</text>
                <text class="flex-1">{{item.prodTitle}}</text>
                <view class="action">
                  <image v-if="!item.showFull" @click="item.showFull = true" src="../../static/img/add.png" class="icon"></image>
                  <image v-else @click="item.showFull = false" src="../../static/img/sub.png" class="icon"></image>
                </view>
              </view>
            </view>

            <view class="corder-goods-v-item flex">
              <view class="flex-1">
                <text>{{$lang.lang.create.brand}}：</text>
                <text>{{item.brandType==1?$lang.lang.create.yes:$lang.lang.create.no}}</text>
              </view>
              <view class="flex-1 flex">
                <text>{{$lang.lang.create.form}}：</text>
                <text class="flex-1">{{item.num}}{{$lang.lang.create.box}}</text>
              </view>
            </view>
            <view class="action flex">
              <view class="btn" @click="open(index)">{{$lang.lang.create.edit}}</view>
              <view class="btn" @click="delGoods(index)">{{$lang.lang.create.delete}}</view>
            </view>
          </view>
          <view class="corder-goods-v" v-if="item.showFull">
            <view class="corder-goods-v-item2">
							<view class="">
								<text>{{$lang.lang.create.num}}：</text>
								<text>{{item.quantity||0}}{{$lang.lang.create.aunit}}</text>
							</view>
							<view class="">
								<text>{{$lang.lang.create.volume}}：</text>
								<text>{{item.volume||0}}m³ </text>
							</view>
							<view class="">
								<text>{{$lang.lang.create.works}}（RMB)：</text>
								<text> {{item.worth}}</text>
							</view>
							<view class="">
								<text>{{$lang.lang.create.weight}}：</text>
								<text>{{item.weight||0}}Kg </text>
							</view>
							<view class="">
								<text>{{$lang.lang.create.material}}：</text>
								<text>{{getMaterialName(item.material)}}</text>
							</view>
						</view>

						<view class="corder-goods-v-item2">
							<view class="">
								<text>{{$lang.lang.create.prodAttr}}： </text>
								<text>{{getProductAttrLabel(item.prodAttrIds)}}</text>
							</view>
							<view class="">
								<text>{{$lang.lang.create.packageUnit}}:  </text>
								<text> {{getUnitName(item.unit)}} </text>
							</view>
							<view class="">
								<text>{{$lang.lang.create.prepay}}: </text>
								<text>{{item.isPayAdvance?$lang.lang.create.is:$lang.lang.create.fou}}</text>
							</view>
						</view>
					</view>
					<view class="corder-link" v-if="item.showFull">
						<text>{{$lang.lang.create.link}}:</text>
						<view class="corder-linkLabel" @click="toLink(item.link)"><input v-model="item.link" type="text" disabled/></view>
						<view class="link-btn" @click="openLink(index)">{{item.link?$lang.lang.create.editLink:$lang.lang.create.addLink}}</view>
					</view>
          <view class="corder-bom" v-if="item.showFull">
            <view class="corder-bom-v"></view>
            <view class="corder-bom-v">
              <view class="" @click="open(index)">{{$lang.lang.create.edit}}</view>
              <view class="" @click="delGoods(index)">{{$lang.lang.create.delete}}</view>
            </view>
          </view>
				</view>
			</view>

		</view>

		<view class="corder-tab2 bgf">
			<view class="corder-tab-top">
				<image src="../../static/img/corder-3.png" mode=""></image>
				<view class="noborder">{{$lang.lang.create.total}}</view>
			</view>
			<view class="corder-v3-v1">
				<view class="">
					<text>{{$lang.lang.create.sum}}</text>
					<text>{{params.costVO.totalNum||0}}</text>
				</view>
<!-- 				<view class="">
					<text>总体积</text>
					<text>{{params.costVO.totalVolume||0}}m³</text>
				</view>
				<view class="">
					<text>总重量</text>
					<text>{{params.costVO.totalWeight||0}}kg</text>
				</view> -->
				<view class="">
					<text>{{$lang.lang.create.sumWorks}}(RMB)</text>
					<text>{{params.costVO.totalWorth||0}}</text>
				</view>
				<view class="">
					<text>{{$lang.lang.create.proFee}}({{getCurrenyName(currencyUnit)}})</text>
					<text>{{!params.costVO.insuranceFee?0:params.costVO.insuranceFee>2?params.costVO.insuranceFee:2}}</text>
				</view>
			</view>
<!-- 			<view class="corder-v3-v2">
				<view class="">保价费</view>
				<view class="">总运费</view>
				<view class="">总清关费</view>
			</view>
			<view class="corder-v3-v2">
				<view class="">{{params.costVO.insuranceFee||0}}人民币</view>
				<view class="">
					<div>{{params.costVO.seaNGN||0}}奈拉</div>
					<div style="margin-top: 6px;">{{params.costVO.seaRMB||0}}人民币</div>
					<div style="margin-top: 6px;">{{params.costVO.seaUSD||0}}美元</div>
				</view>
				<view class="">
					<div>{{params.costVO.clearanceNGN||0}}奈拉</div>
					<div style="margin-top: 6px;">{{params.costVO.clearanceRMB||0}}人民币</div>
					<div style="margin-top: 6px;">{{params.costVO.clearanceUSD||0}}美元</div>

				</view>
			</view> -->
		</view>

<!-- 		<view class="corder-tab2 bgf">
			<view class="corder-tab-top">
				<image src="../../static/img/corder-4.png" mode=""></image>
				<view class="noborder">优惠信息</view>
			</view>
			<view class="corder-v4-v1" v-for="(item,index) in couponData" :key="index">
				<view class="">
					<span>{{index+1}}.{{item.titleZh}} (-{{item.reduceAmount}}) </span>
					 <span>{{item.validDays}}</span>
					<label class="radio"><radio value="1" :checked="item.checked" @click="getTotalMoney(index)" />使用</label>
				</view>
			</view>
			<view class="corder-v4-v2">合计优惠金额：{{totalMoney}}美元</view> -->
<!-- 			<view class="corder-v4-v3">
				<view class="corder-v4-v3-z">
					<text>实付款</text>
				</view>
				<view class="corder-v4-v3-z">
					<view>5000美元</view>
					<view>21000奈拉</view>
					<view>60000人民币</view>
				</view>
			</view> -->
		<!-- </view> -->



		<view class="corder-tab2 bgf" >
			<view class="corder-tab-top">
				<image src="../../static/img/corder-1.png" mode=""></image>
				<view class="">{{$lang.lang.create.orderInfo}}</view>
			</view>
			<view class="corder-v5">
				<view class="corder-v5-v">
					<view class="corder-v5-label"><span class="redcolor">*</span>{{$lang.lang.create.marks}}</view>
					<input type="text" v-model="params.marks" maxlength="255"  :placeholder="$lang.lang.notices.marks" @blur="trimMarks" />
				</view>
				<view class="corder-v5-v" >
					<view class="corder-v5-label" @click="cnoticeType2=!cnoticeType2">
						<span class="redcolor">*</span>
						{{$lang.lang.create.isCargoControl}}
						<image  src="../../static/img/helps.png" mode=""></image>
						<view v-show="cnoticeType2" class="cnotice" style="width: 260px;">
							<text>{{$lang.lang.create.cnotice2}}</text>
						</view>
					</view>
					<view class="corder-radio-2">
						<radio-group @change="isCargoControl" >
							<label class="radio">
								<radio value="true" :checked="params.isCargoControl" :disabled="controlLine" /><text>{{$lang.lang.create.is}}</text>
							</label>
							<label class="radio" v-if="hasConsignee">
								<radio value="false" :checked="!params.isCargoControl" /><text>{{$lang.lang.create.fou}}</text>
							</label>
						</radio-group>
					</view>
				</view>
				<view class="corder-v5-v" v-if="params.customsType==2">
					<span class="redcolor">{{$lang.lang.notices.customsRefund}}</span>
				</view>
				<view class="corder-v5-v" >
					<view class="corder-v5-label"><span class="redcolor">*</span>{{$lang.lang.create.customsType}}</view>
					<view style="flex:1">
						<radio-group @change="customsType" class="checklist">
							<label class="radio">
								<radio value="1" :checked="params.customsType==1" />
								<text>{{$lang.lang.create.myCustoms}}</text>
								<image @click="cnoticeType3=!cnoticeType3" src="../../static/img/helps.png" mode=""></image>
								<view v-show="cnoticeType3" class="cnotice">
									<text>{{$lang.lang.create.cnotice3}}</text>
								</view>
							</label>
							<label class="radio">
								<radio value="2" :checked="params.customsType==2" />
								<text>{{$lang.lang.create.ownCustoms}}</text>
								<image @click="cnoticeType4=!cnoticeType4" src="../../static/img/helps.png" mode=""></image>
								<view v-show="cnoticeType4" class="cnotice cnotice4"  style="left:-100px">
									<text>{{$lang.lang.create.cnotice4}}</text>
								</view>
							</label>
							<label class="radio">
								<radio value="3" :checked="params.customsType==3" />
								<text>{{$lang.lang.create.allCustoms}}</text>
								<image @click="cnoticeType5=!cnoticeType5" src="../../static/img/helps.png" mode=""></image>
								<view v-show="cnoticeType5" class="cnotice">
									<text>{{$lang.lang.create.cnotice5}}</text>
								</view>
							</label>
						</radio-group>
					</view>
				</view>

        <!--是否代收货款-->
        <view class="corder-v5-v" v-if='collectionShow'>
          <view class="corder-v5-label">{{$lang.lang.create.payment}}</view>
          <view class="corder-radio-2">
            <radio-group @change="isCollection">
              <label class="radio">
                <radio value="true" :checked="params.isCollection" /><text>{{$lang.lang.create.is}}</text>
              </label>
              <label class="radio">
                <radio value="false" :checked="!params.isCollection" /><text>{{$lang.lang.create.fou}}</text>
              </label>
            </radio-group>
          </view>
        </view>
        <view class="corder-v5-v" v-if='collectionShow&&params.isCollection'>
          <view class="corder-v5-label">{{$lang.lang.create.money}}:</view>
          <view class="corder-phone">
            <input class="countrySn-input" v-model="params.collectionProxy"  type="number" :placeholder="$lang.lang.create.money" />
            <view class="countrySn-item">
              <picker class="countrySn" style="width: 100px; height: 1.4em"
                      :value="config.currencyType.index"
                      :range="config.currencyType.label"
                      data-config="currencyType"
                      data-key="collectionProxyCurrency"
                      @change="configChange"
                      v-if="config.currencyType.value.length > 0">
                <view class="uni-input">{{config.currencyType.label[config.currencyType.index] || $lang.lang.create.choose}}</view>
              </picker>
              <image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
            </view>
          </view>
        </view>

        <!--送货日期-->
        <view class="corder-v5-v corder-picker" >
          <view class="corder-v5-label"><span class="redcolor">*</span>{{$lang.lang.create.date}}</view>
          <picker mode="date" class="date-picker" :value="date" :start="startDate" :end="endDate" @change="bindDateChange">
            <view class="uni-input">{{params.deliveryDate ? params.deliveryDate.split(" ")[0] : '请选择'}}</view>
          </picker>
          <image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
        </view>

        <!--入仓类型-->
        <view class="corder-v5-v corder-picker">
          <view class="corder-v5-label"><span class="redcolor">*</span>{{$lang.lang.create.levite}}</view>
          <picker class="date-picker"  :value="config.warehouseType.index" :range="config.warehouseType.label" data-config="warehouseType" data-key="warehouseType" @change="configChange" v-if="config.warehouseType.value.length > 0">
            <view class="uni-input">{{config.warehouseType.label[config.warehouseType.index]}}</view>
          </picker>
          <image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
        </view>

        <!--付款人-->
        <view class="corder-v5-v" >
          <view class="corder-v5-label"><span class="redcolor">*</span>{{$lang.lang.create.payer}}</view>
          <view class="corder-radio-2" style="flex: 1">
            <radio-group v-model="params.drawee"  @change="draweeType">
              <label class="radio">
                <radio value="1" :checked="params.drawee==1" /><text>{{$lang.lang.create.consignor}}</text>
              </label>
              <label class="radio">
                <radio value="2" :checked="params.drawee==2" /><text>{{$lang.lang.create.consignee}}</text>
              </label>
              <label class="radio" @click="$refs.drawee.open()">
                <radio value="3" :checked="params.drawee==3" /><text>{{$lang.lang.create.customDrawee}}</text>
              </label>
            </radio-group>
          </view>
        </view>

        <!--提单价格-->
        <view class="corder-v5-v" >
          <view class="corder-v5-label"><span class="redcolor">*</span>{{$lang.lang.create.billLadingPrice}}</view>
          <view class="corder-radio-2">
            <radio-group @change="changeBillPrice">
              <label class="radio">
                <radio value="1" :checked="params.displayBillLadingPrice" /><text>{{$lang.lang.create.displayBillLadingPrice}}</text>
              </label>
              <label class="radio">
                <radio value="2" :checked="!params.displayBillLadingPrice" /><text>{{$lang.lang.create.hideBillLadingPrice}}</text>
              </label>
            </radio-group>
          </view>
        </view>

        <!--收货方式-->
        <view class="corder-v5-v corder-picker">
          <view class="corder-v5-label"><span class="redcolor">*</span>{{$lang.lang.create.consignorType}}</view>
          <!--<picker class="date-picker"  :value="config.harvestMethod.index" :range="config.harvestMethod.label" data-config="harvestMethod" data-key="harvestMethod" @change="configChange" v-if="config.harvestMethod.value.length > 0">
            <view class="uni-input">{{config.harvestMethod.label[config.harvestMethod.index]}}</view>
          </picker>-->
          <picker class="date-picker" :value="currentHarvestIndex" :range="enabledHarvestList" :range-key="harvestRangeKey" @change="changeHarvestMethod">
            <view class="uni-input">{{currentHarvestIndex !== null && enabledHarvestList[currentHarvestIndex] ? enabledHarvestList[currentHarvestIndex][harvestRangeKey] : $lang.lang.create.choose}}</view>
          </picker>
          <image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
        </view>
        <view class="corder-v5-v corder-picker" v-if="params.harvestMethod==2">
          <image src="../../static/img/order-location.png" mode="widthFix"></image>
          <view class="corder-v5-label">{{$lang.lang.create.address}}</view>
          <view class="address-list">
            <view class="corder-picker">
              <picker class="date-picker"  :value="config.treeList.index" :range="config.treeList.label" data-config="treeList" data-key="country" @change="configChange" v-if="config.treeList.value.length > 0">
                <view class="uni-input">{{config.treeList.label[config.treeList.index]}}</view>
              </picker>
              <image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
            </view>
            <view class="corder-picker">
              <picker class="date-picker"  :value="config.cityList.index" :range="config.cityList.label" data-config="cityList" data-key="province" @change="configChange" v-if="config.cityList.value.length > 0">
                <view class="uni-input">{{config.cityList.label[config.cityList.index]}}</view>
              </picker>
              <image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
            </view>
            <view class="corder-picker">
              <picker class="date-picker"  :value="config.provinceList.index" :range="config.provinceList.label" data-config="provinceList" data-key="city" @change="configChange" v-if="config.provinceList.value.length > 0">
                <view class="uni-input">{{config.provinceList.label[config.provinceList.index]}}</view>
              </picker>
              <image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
            </view>
          </view>
        </view>
        <view class="corder-v5-v" v-if="params.harvestMethod==2">
          <image src="../../static/img/corder-1-4.png" mode="widthFix"></image>
          <view class="corder-v5-label">{{$lang.lang.create.addressInfo}}</view>
          <input type="text" v-model="params.consigneeAddress" :placeholder="$lang.lang.notices.addressInfo"/>
        </view>
      </view>

      <!--下面的字段在新的原型上没有提现，暂时隐藏-->
      <view v-if="0">
        <!--出单方式-->
				<view class="corder-v5-v">
					<view class="corder-v5-label">{{$lang.lang.create.issuingMethod}}</view>
					<view class="corder-radio-2">
						<radio-group @change="issuingMethod">
							<label class="radio">
								<radio value="1" :checked="params.issuingMethod==1" /><text>{{$lang.lang.create.dianfang}}</text>
							</label>
							<label class="radio">
								<radio value="2" :checked="params.issuingMethod==2" /><text>{{$lang.lang.create.zhengben}}</text>
							</label>
						</radio-group>
					</view>
				</view>

				<!--关联报价单-->
				<view class="corder-v5-v">
					<view class="corder-v5-label">{{$lang.lang.create.baojia}}</view>
					<!-- <input type="text" v-model="params.offerId" maxlength="255"  :placeholder="$lang.lang.create.baojia" /> -->
					<span v-if="offerNumber&&offerIdNoChange">{{offerNumber}}</span>
					<cuihai-combox v-else :label="$lang.lang.notices.please" :empty-tips="$lang.lang.create.noSelect" :placeholder="$lang.lang.notices.please"  :value="offerNumber" :candidates="config.offData.label"  @getValue="getOff" :isDisabled="offerIdNoChange"></cuihai-combox>
				</view>
			</view>
		</view>


    <!--其他-->
    <view class="corder-tab2 bgf">
      <view class="corder-tab-top">
        <image src="../../static/img/corder-5.png" mode=""></image>
        <view class="">{{$lang.lang.create.other}}</view>
      </view>
      <view class="corder-v5">
        <!--特殊要求-->
        <view class="corder-v5-v">
          <view class="corder-v5-label" @click="cnoticeType1=!cnoticeType1">
            {{$lang.lang.create.special}}
            <image  src="../../static/img/helps.png" mode=""></image>
            <view v-show="cnoticeType1" class="cnotice" style="width: 260px;">
              <text>{{$lang.lang.create.cnotice1}}</text>
            </view>
          </view>
          <view style="flex:1">
            <checkbox-group @change="getPackageType" class="checklist" v-model="params.packageType">
              <label class="uni-list-cell uni-list-cell-pd" v-for="(item,index) in packageType" :key="index">
                <view class="checkbox-item">
                  <checkbox :value="item.value+''" :checked="item.checked"  style="transform:scale(0.8)"/>
                </view>
                <view>{{item[$lang.label]}}</view>
              </label>
            </checkbox-group>
          </view>
        </view>
        <!--特殊要求备注-->
        <view class="corder-v5-v remark">
          <view class="corder-v5-label">{{$lang.lang.create.specialNote}}</view>
          <input type="text" :placeholder="$lang.lang.notices.specialNote" v-model="params.packageRemarks">
        </view>

        <!--快递单号-->
        <view class="corder-v5-v">
          <view class="corder-v5-label">{{$lang.lang.create.quickNo}}</view>
          <textarea @blur="bindTextAreaBlur" v-model="params.number"  :placeholder="$lang.lang.notices.numbers" />
          <view class="autoBtn" @click="autoCreatOrderSn">{{$lang.lang.create.auto}}</view>
        </view>
      </view>

      <!--下面海运不显示-->
      <view class="corder-v5" v-if="['2','3','4'].indexOf(params.transportId+'') > -1">

        <!--清关证书-->
        <view class="corder-v5-v" v-if="['2','3','4'].indexOf(params.transportId+'') > -1">
          <view class="corder-v5-label">{{$lang.lang.create.clearCard}}</view>
          <view class="corder-radio-2" >
            <radio-group @change="customsClearCert" >
              <label class="radio">
                <radio value="true" :checked="params.customsClearCert" /><text>{{$lang.lang.create.is}}</text>
              </label>
              <label class="radio">
                <radio value="false" :checked="!params.customsClearCert" /><text>{{$lang.lang.create.fou}}</text>
              </label>
            </radio-group>
          </view>
        </view>
        <!--清关证书备注-->
        <view class="corder-v5-v remark" v-if="['2','3','4'].indexOf(params.transportId+'') > -1">
          <view class="corder-v5-label">{{$lang.lang.create.clearRemark}}</view>
          <input type="text" v-model="params.remarks" :placeholder="$lang.lang.notices.clearRemark">
        </view>

        <!--是否拆包-->
        <view class="corder-v5-v" v-if="['3','4'].indexOf(params.transportId+'') > -1">
          <view class="corder-v5-label">{{$lang.lang.create.unpack}}</view>
          <view class="corder-radio-2">
            <radio-group @change="isUnpack">
              <label class="radio">
                <radio value="true" :checked="params.isUnpack" /><text>{{$lang.lang.create.is}}</text>
              </label>
              <label class="radio">
                <radio value="false" :checked="!params.isUnpack" /><text>{{$lang.lang.create.fou}}</text>
              </label>
            </radio-group>
          </view>
        </view>

        <!--单票立刻转运-->
        <view class="corder-v5-v" v-if="['3','4'].indexOf(params.transportId+'') > -1">
          <view class="corder-v5-label">{{$lang.lang.create.nowChange}}</view>
          <view class="corder-radio-2">
            <radio-group @change="isSingleTicketTransport" >
              <label class="radio">
                <radio value="true" :checked="params.isSingleTicketTransport" /><text>{{$lang.lang.create.is}}</text>
              </label>
              <label class="radio">
                <radio value="false" :checked="!params.isSingleTicketTransport" /><text>{{$lang.lang.create.fou}}</text>
              </label>
            </radio-group>
          </view>
        </view>
        <view class="corder-v5-v" v-if="['3','4'].indexOf(params.transportId+'') > -1">
          <image src="../../static/img/tips.png" mode="widthFix"></image>
          <text style="margin-left:10px">{{$lang.lang.create.nowNotice}}</text>
        </view>

        <!--下面内容在新的原型上未有提现，留此备用-->
        <view v-if="0">
          <view class="corder-v5-v" >
            <view class="corder-v5-label">{{$lang.lang.create.doubleClear}}</view>
            <view class="corder-radio-2">
              <radio-group @change="doubleClear">
                <label class="radio">
                  <radio value="1"  :checked="params.doubleClear==1" /><text>{{$lang.lang.create.conClear}}</text>
                </label>
                <label class="radio">
                  <radio value="2"  :checked="params.doubleClear==2" /><text>{{$lang.lang.create.myClear}}</text>
                </label>
              </radio-group>
            </view>
          </view>

          <view class="corder-v5-v">
            <view class="corder-v5-label">{{$lang.lang.create.lined}}</view>
            <view class="">{{config.openedRouter.index==0?$lang.lang.create.no:config.openedRouter.label[config.openedRouter.index]}}</view>
          </view>
          <view class="corder-v5-v" v-if="!channeled">
            <view class="corder-v5-label">{{$lang.lang.create.channel}}</view>
            <view class="">{{config.channel.index==0?$lang.lang.create.no:config.channel.label[config.channel.index]}}</view>
          </view>

          <view class="corder-v5-v corder-picker" v-if="['2'].indexOf(params.transportId+'') > -1">
            <view class="corder-v5-label">{{$lang.lang.create.ship}}</view>
            <picker  class="date-picker" :value="config.clientaData.index" :range="config.clientaData.label" data-config="clientaData" data-key="shippingCompany" @change="configChange" v-if="config.clientaData.value.length > 0">
              <view class="uni-input">{{config.clientaData.label[config.clientaData.index]}}</view>
            </picker>
            <image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
          </view>
        </view>

      </view>
    </view>

    <view class="footer">
      <view v-if="isOverSearWarehouse" class="sumbit disabled">{{$lang.lang.create.submit}}</view>
			<view v-else class="sumbit" @click="addOrder">{{$lang.lang.create.submit}}</view>
			<view class="cancel" @click="toback">{{$lang.lang.create.cancel}}</view>
		</view>
    <view v-if="isOverSearWarehouse" class="over-sea-tips">
      {{$lang.lang.create.overSeaWarehouseTips}}
    </view>

		<!-- <button >打开弹窗</button> -->
		<uni-popup ref="popup" type="center" :mask-click="false">
			<view class="goods">
				<view class="corder-tab-top">
					<view>{{$lang.lang.create.addShop}}</view>
				</view>
				<view class="corder-tab1-item corder-picker">
					<text>{{$lang.lang.create.prodTitle}}<span class="redcolor">*</span></text>
					<cuihai-combox :label="$lang.lang.notices.please" :emptyTips="$lang.lang.create.noSelect" :placeholder="$lang.lang.notices.please" :value="goodsModel.prodTitle" :candidates="config.product.label"  @getValue="getValue"></cuihai-combox>
				</view>
<!--				<view class="corder-tab1-item corder-picker">-->
<!--					<text>{{$lang.lang.create.prodTitle}}<span class="redcolor">*</span></text>-->
<!--					<cuihai-combox :label="$lang.lang.notices.please" :emptyTips="$lang.lang.create.noSelect" :placeholder="$lang.lang.notices.please" :value="goodsModel.prodTitleEn"  :candidates="config.productEn.label"  @getValue="getValueEn"></cuihai-combox>-->
<!--				</view>-->
				<view class="corder-tab1-item">
					<view class="corder-picker addGoods-item">
						<text>{{$lang.lang.create.brand}}<span class="redcolor">*</span></text>
						<picker :class="config.brandData.index == 0 ? 'v-picker v-picker-2' : 'v-picker'"  :value="config.brandData.index" :range="config.brandData.label" data-config="brandData" data-key="brandType" @change="goodsChange" v-if="config.brandData.value.length > 0">
							<view class="uni-input">{{config.brandData.label[config.brandData.index]}}</view>
						</picker>
						<image class="rgt" src="../../static/img/rgt.png" mode=""></image>
					</view>
					<view class="addGoods-item">
						<text>{{$lang.lang.create.volume}}(m³)</text>
						<input type="number" v-model="goodsModel.volume" :placeholder="$lang.lang.create.volume"/>
					</view>
				</view>
				<view class="corder-tab1-item">
					<view class="addGoods-item">
						<text>{{$lang.lang.price.num}}<span class="redcolor">*</span></text>
						<input type="number" v-model="goodsModel.num" :placeholder="$lang.lang.price.num"/>
					</view>
					<view class="corder-picker addGoods-item">
						<text>{{$lang.lang.create.unit}}<span class="redcolor">*</span></text>
						<picker :class="config.unitData.index == 0 ? 'v-picker v-picker-2' : 'v-picker'"  :value="config.unitData.index" :range="config.unitData.label" data-config="unitData" data-key="unit" @change="goodsChange" v-if="config.unitData.value.length > 0">
							<view class="uni-input">{{config.unitData.label[config.unitData.index]}}</view>
						</picker>
						<image class="rgt" src="../../static/img/rgt.png" mode=""></image>
					</view>
				</view>
				<view class="corder-tab1-item">
					<view class="addGoods-item">
						<text>{{$lang.lang.create.num}}    ({{$lang.lang.create.aunit}})</text>
						<input type="number" v-model="goodsModel.quantity" :placeholder="$lang.lang.create.num" />
					</view>
					<view class="addGoods-item">
						<text>{{$lang.lang.create.weight}}(kg)</text>
						<input type="number" v-model="goodsModel.weight" :placeholder="$lang.lang.create.weight" />
					</view>
				</view>
				<view class="corder-tab1-item">
					<text>{{$lang.lang.create.works}}<span class="redcolor">*</span></text>
					<input type="number" v-model="goodsModel.worth" placeholder="RMB" />
				</view>
				<view class="corder-tab1-item corder-picker">
					<text>{{$lang.lang.create.material}}</text>
					<picker :class="config.material.index == 0 ? 'v-picker v-picker-2' : 'v-picker'"  :value="config.material.index" :range="config.material.label" data-config="material" data-key="material" @change="goodsChange" v-if="config.material.value.length > 0">
						<view class="uni-input">{{config.material.label[config.material.index]}}</view>
					</picker>
					<image class="rgt" src="../../static/img/rgt.png" mode=""></image>
				</view>
				<view class="corder-tab1-item corder-picker">
					<text>{{$lang.lang.create.prodAttr}}</text>
					<checkbox-group @change="checkboxChange" class="corder-checkbox" >
						<label class="uni-list-cell uni-list-cell-pd" v-for="item in productAttrList" :key="item.id" >
							<view class="checkbox-item">
								<checkbox :value="item.id+''" :checked="isProductAttr(item.id)" :disabled="isdisable" style="transform:scale(0.8)"/>
							</view>
							<view>{{item[$lang.attrName]}}</view>
						</label>
					</checkbox-group>
				</view>
				<view class="addGoods-btns">
					<view class="addGoods-btn" @click="addGood">{{$lang.lang.create.confirm}}</view>
					<view class="addGoods-btn" @click="colsePopup">{{$lang.lang.create.cancel}}</view>
				</view>
			</view>
		</uni-popup>
		<uni-popup ref="shoplink" type="center" :mask-click="false">
			<view class="link-content">
				<input v-model="link" :placeholder="$lang.lang.notices.link" />
				<view class="btnlists">
					<view @click="addlink">{{$lang.lang.create.confirm}}</view>
					<view @click="closelink">{{$lang.lang.create.cancel}}</view>
				</view>
			</view>
		</uni-popup>
		<uni-popup ref="payNotice" type="center" :mask-click="false">
			<view class="link-content">
				<text>{{$lang.lang.create.paynotice}}</text>
				<view class="btnlists">
					<view @click="createOrder">{{$lang.lang.create.confirm}}</view>
					<view @click="closePayNotice">{{$lang.lang.create.cancel}}</view>
				</view>
			</view>
		</uni-popup>
		<uni-popup ref="addCon" :mask-click="false">
			<view class="addCon-content">
				<view class="addCon-title">{{$lang.lang.create.consignee}}</view>
				<view class="order-tabs">
					<view class="order-tabs-v2">
						<view class="order-tabs-v2s">
							<image class="search" src="../../static/img/search.png" mode=""></image>
							<input type="text" v-model="searchKey" :placeholder="$lang.lang.notices.keyWord" placeholder-style="color: #666666">
							<image @click="searchKey=''" v-show="searchKey" class="close" src="../../static/img/close.png"></image>
							<view class="" @click="searchCon">{{$lang.lang.order.search}}</view>
						</view>
					</view>
				</view>
				<view class="addcon-scroll">
					<scroll-view scroll-y="true">
						<view class="conRadioList" v-for="(item,indexs) in consignee" :key="indexs" >
							<view class="coninfo_list">
								<view class="coninfo_item">
									<image src="../../static/img/people.png" mode="widthFix"></image>
									<text>{{item.name}}</text>
								</view>
								<view class="coninfo_item">
									<image src="../../static/img/people.png" mode="widthFix"></image>
									<text>{{item.nameEn}}</text>
								</view>
							</view>
							<view class="coninfo_list">
								<view class="coninfo_item">
									<image src="../../static/img/telephone.png" mode="widthFix"></image>
									<text>{{$request.checkAddIcon(item.dialCode)}} {{item.phone}}</text>
								</view>
								<view class="coninfo_item">
									<image src="../../static/img/email.png" mode="widthFix"></image>
									<text>{{item.email}}</text>
								</view>
							</view>
							<view class="coninfo_list">
								<view class="coninfo_item">
									<image src="../../static/img/company.png" mode="widthFix"></image>
									<text>{{item.company}}</text>
								</view>
								<view class="coninfo_item">
									<image src="../../static/img/company.png" mode="widthFix"></image>
									<text>{{item.companyEn}}</text>
								</view>
							</view>
							<view class="con_btns">
								<view @click="choiceCon(indexs)">{{$lang.lang.create.choice}}</view>
								<view @click="editCon(indexs)">{{$lang.lang.create.edit}}</view>
							</view>
						</view>
						<view v-if="moreShow" class="coninfo_more" @click="showMore">{{$lang.lang.create.more}}</view>
					</scroll-view>
				</view>
				<view class="btnlist">
					<view @click="openCon">{{$lang.lang.create.add}}</view>
					<view @click="closeAddCon">{{$lang.lang.create.cancel}}</view>
				</view>
			</view>
		</uni-popup>
		<uni-popup ref="insertCon" :mask-click="false">
			<view class="addCon-content addCon">
				<view class="addCon-title">{{$lang.lang.create.addConsignee}}</view>
				<view class="corder-tab1-item">
					<text>{{$lang.lang.create.name}}：</text>
					<input v-model="conForm.name" type="text" :placeholder="$lang.lang.notices.name" />
				</view>
				<!-- v1.7新增 -->
				<view class="corder-tab1-item">
					<text>{{$lang.lang.create.nameEn}}：</text>
					<input v-model="conForm.nameEn" type="text" :placeholder="$lang.lang.notices.nameEn" />
				</view>
				<view class="corder-tab1-item">
					<text>{{$lang.lang.create.phone}}：</text>
					<view class="corder-phone">
						<view class="countrySn-item">
							<picker class="countrySn"  :value="config.countrySn.index" :range="config.countrySn.label" data-config="countrySn" data-key="dialCode" @change="configChange" v-if="config.countrySn.value.length > 0">
								<view class="uni-input">{{$request.checkAddIcon(config.countrySn.value[config.countrySn.index])}}</view>
							</picker>
							<image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
						</view>
						<input class="countrySn-input" v-model="conForm.phone" maxlength="11" type="number" :placeholder="$lang.lang.notices.phone" />
					</view>
				</view>
				<view class="corder-tab1-item">
					<text>{{$lang.lang.create.email}}：</text>
					<input v-model="conForm.email" type="text" :placeholder="$lang.lang.notices.email"/>
				</view>
				<view class="corder-tab1-item">
					<text>{{$lang.lang.create.company}}：</text>
					<input v-model="conForm.company" type="text" :placeholder="$lang.lang.notices.company" />
				</view>
				<!-- v1.7新增 -->
				<view class="corder-tab1-item">
					<text>{{$lang.lang.create.companyEn}}：</text>
					<input v-model="conForm.companyEn" type="text" :placeholder="$lang.lang.notices.companyEn" />
				</view>
				<view class="btnlist">
					<view @click="insertCon">{{conForm.id==0?$lang.lang.create.add:$lang.lang.create.edit}}</view>
					<view @click="closeInsertCon">{{$lang.lang.create.cancel}}</view>
				</view>
			</view>
		</uni-popup>

    <drawee ref="drawee" :value="params.customDraweeVOList" @confirm="setCustomDrawee"></drawee>
	</view>
</template>

<script>
import Drawee from "@/pages/create_order/components/drawee.vue";

export default {
    components: {Drawee},
		data() {
			const currentDate = this.getDate({
				format: true
			})
			return {
        // 收货方式
        harvestList: [],
        currentHarvestIndex: null,
        // 始发城市
        startCityList:[],
        currentStartCityIndex: null,
        // 路线
        routerList: [],
        currentRouteIndex: null,
        // 渠道
        channelList:[],
        currentChannelIndex: null,
        // 运输方式
        transportList: [],
        currentTransportIndex: null,
        // 目的国
        dstCountryList:[],
        // 当前国家索引
        currentDstCountryIndex: null,

        // 目的城市
        dstCityList: [],
        // 当前展示的目的城市列表
        filteredDstCityList:[],
        // 当前城市索引
        currentDstCityIndex: null,

				items:[
					{
					value:"1",
					checked:false,
					name:this.$lang.lang.create.service,
					otherService:1,
					show:false
				},
				{
					value:"2",
					checked:false,
					name:this.$lang.lang.create.oversears,
					otherService:2,
					show:false
				}],
				openedRouterF: true,
				channeled:true,
				currentDate:currentDate,
				address:'',
				linkIndex:0,
				isEmail:false,
				shopName:'shopName',
				config: {
					transport:{
						index: 0,
						label: [this.$lang.lang.notices.please],
						value: [''],
						cssClass:['']
					},
					channel:{
						index: 0,
						label: [this.$lang.lang.notices.please],
						value: [''],
					},
					suitable:{
						index: 0,
						label: [this.$lang.lang.notices.please],
						value: [''],
					},
					tradeCity1: {
						index: 0,
						label: [this.$lang.lang.notices.please],
						value: [''],
					},
					tradeCity2: {
						index: 0,
						label: [this.$lang.lang.notices.please],
						value: [''],
					},
					openedRouter: {
						index: 0,
						label: [this.$lang.lang.notices.please],
						value: [''],
						otherService:[''],
						controlStatus:['']
					},
          product:{
            index: 0,
            label: [],
            value: [],
            data:[]
          },
					// productZh:{
					// 	index: 0,
					// 	label: [],
					// 	value: [],
					// 	data:[]
					// },
					// productEn:{
					// 	index: 0,
					// 	label: [],
					// 	value: [],
					// },
					brandData:{
						index: 0,
						label: [],
						value: [],
					},
					unitData:{
						index: 0,
						label: [this.$lang.lang.notices.please],
						value: [''],
					},
					material:{
						index: 0,
						label: [this.$lang.lang.notices.please],
						value: [''],
					},
					warehouseType:{
						index: 0,
						label: [this.$lang.lang.notices.please],
						value: [''],
					},
					treeList:{
						index: 0,
						label: [this.$lang.lang.notices.please],
						value: [''],
						children:['']
					},
					cityList:{
						index: 0,
						label: [this.$lang.lang.notices.please],
						value: [''],
						children:['']
					},
					provinceList:{
						index: 0,
						label: [this.$lang.lang.notices.please],
						value: [''],
					},
					countrySn:{
						index: 0,
						label: [],
						value: [],
						indexs:0
					},
					clientaData:{
						index: 0,
						label: [this.$lang.lang.notices.please],
						value: [''],
					},
					harvestMethod:{
						index: 0,
						label: [],
						value: [],
					},
					currencyType:{
						index: null,
						label: [],
						value: [],
					},
					offData:{
						index: 0,
						label: [],
						value: [],
					},
				},
				params: {
					transportId: 0, //运输类型
					departureId: 0, //始发ID
					objectiveId: 0, //目的地ID
					lineId: 0, //线路ID
					channelId:0,//渠道ID
					orderItemVOList:[],
					costVO:{},
					deliveryDate: null,
					drawee:2,
					number:'',
					isCargoControl:false,
					consigneeId:0,
					customsType:1,
					type:'',
					isCollection:false,
					issuingMethod:1,
					doubleClear:2,
          // 清关证书默认否
          customsClearCert: false,
          customDraweeVOList: [],
          // 提单是否显示价格
          displayBillLadingPrice: true
				},
				goodsModel:{
					prodTitle:'',
					// prodTitleEn:'',
					volume:'',
					prodAttrs:[],
					prodAttrIds:'',
					brandType:null,
					num:null,
					unit:'',
					quantity:null,
					weight:null,
					worth:null,
					material:null
				},
				totalMoney:0,
				productAttrList:[],
				productData:[],
				goodsEditIndex:-1,
				couponData:[],
				packageType:[],
				consignee:[],
				page:1,
				conForm:{
					dialCode:'',
					id:0
				},
				date: '',
				time:'00:00',
				isClick:false,
				link:'',
				conIndex:-1,
				orderId:0,
				copy:false,
				unitType:[],
				currencyType:[],
				lineMethod: false,
				collectionShow:false,
				isdisable:false,
				searchKey:'',//搜索联系人关键词
				moreShow:true,
				controlLine:false,//线路控货
				currencyUnit:0,
				offerNumber:'' ,//关联报价单
				offerIdNoChange:false,
				cnoticeType1:false,
				cnoticeType2:false,
				cnoticeType3:false,
				cnoticeType4:false,
				cnoticeType5:false,
        // 是否有收货人
        hasConsignee: true,
        // 是否显示完整的收货人信息
        showFullConsignee: false
			}
		},
		async onLoad (op) {
      await this.getDstCountryList()
      await this.getTransport()
      await this.getStartCity()
      await this.getHarvestMethod()
			// this.getZd()
			this.getTreeList()
			this.getCurrencyData()
			this.getUnitTypeData()
			this.orderConfig('transport_type', 'transport')
			this.orderConfig('product_material', 'material')
			this.orderConfig('packaging_type', 'unitData')
			this.orderConfig('warehousing_type', 'warehouseType')
			this.orderConfig('is_brand', 'brandData')
			this.orderConfig('order_special_needs', 'packageType')
			this.orderConfig('harvest_method', 'harvestMethod')
			// this.orderConfig('commission_currency_type', 'currencyType')
			this.getCurrencyList()
			// this.getTradeCity('tradeCity1')
			// this.getTradeCity('tradeCity2')
			this.getChanel()
			this.getProductAttrList()
			this.getproductData()
			this.getCon()
			this.getCountrySn()
			this.getClientaData()
			if(op.id){
        await this.$nextTick()
        this.orderId = op.id
        if (op.copy && op.copy == 1){
          this.copy = true
          this.getOrderData(op.id, true)
        }else {
          this.getOrderData(op.id, false)
        }

			}else{
        this.setDefaultDrawee()
      }
			if(op.transportId){
				/*this.params.transportId = op.transportId
				setTimeout(()=>{
					this.getConfigIndex('transport',op.transportId)
				},1000)
				if(this.params.transportId == 3){
					this.channeled = false
				}
				this.openedRouterF = false
				this.getOpenedRouter()*/
        const transIndex = this.transportList.findIndex(item => item.value == op.transportId)
        if(transIndex > -1){
          // 模拟选择
          this.changeTransport({detail: {value: transIndex}})
        }
			}
			// this.gertConsignorId()
		},
		computed: {
			startDate() {
				return this.getDate('start');
			},
			endDate() {
				return this.getDate('end');
			},
      noConsignee(){
        return !!this.$store.state.userInfo?.noConsignee
      },
      isOverSearWarehouse(){
        return this.params.type?.indexOf('2') != -1
      },
      // 可用的收货方式
      enabledHarvestList(){
        const currentRoute = this.currentRouteIndex !== null ? this.routerList[this.currentRouteIndex] : null
        const otherService = currentRoute?.otherService?.split(",") || []
        console.log("enabledHarvestList", otherService, currentRoute)
        // 开通了送货上门才显示全部
        if(otherService?.indexOf("2") > -1){
          return this.harvestList
        }
        // 否则隐藏送货上门服务
        return this.harvestList.filter(item => item.value != 2)
      },
      transportRangeKey(){
        return this.$lang.label;
      },
      guojiaRangeKey(){
        return this.$lang.guojiaName;
      },
      shiRangeKey(){
        return this.$lang.shiName;
      },
      channelRangeKey(){
        return this.$lang.name;
      },
      routerRangeKey(){
        return 'showName'
      },
      startCityRangeKey(){
        return this.$lang.title;
      },
      harvestRangeKey(){
        return this.$lang.label;
      },
      otherService(){
        const currentRoute = this.currentRouteIndex !== null ? this.routerList[this.currentRouteIndex] : null
        return currentRoute?.otherService?.split(",") || []
      },
		},
		watch:{
			'params.countryCode'(){
				if(this.params.lineId&&this.params.consigneePhone) this.getOffData()
			},
			'params.consigneePhone'(){
				if(this.params.lineId) this.getOffData()
			},
      hasConsignee(val){
        if(!val){
          // 没有收货人必须控货
          this.params.isCargoControl = true
        }
      },
      "params.isCargoControl"() {
        this.setDefaultDrawee()
      },
      "params.drawee"(drawee) {
        // 240224 微信反馈
        // 不好意思，这写错了，付款人=发货人----提单价格默认否；付款人=收货人，提交价格默认是
        if (drawee == 1) {
          this.params.displayBillLadingPrice = false
        }
        if (drawee == 2) {
          this.params.displayBillLadingPrice = true
        }
      }
		},
		methods: {
      setDefaultDrawee(){
        // 优先级为：发货人默认付款，发货人付款>收货人默认付款，收货人付款>订单控货，收货人付款
        if(this.$store.state.userInfo.defaultPay){
          this.$set(this.params, 'drawee', 1)
          return
        }
        if(this.params.isCargoControl){
          this.$set(this.params, 'drawee', 2)
        }
      },
      changeHasConsignee(e){
        this.hasConsignee = e.detail.value === "1"
        // 无收货人默认发货人付款
        // if(!this.hasConsignee){
        //   this.$set(this.params, 'drawee', 1)
        // }
        this.setDefaultDrawee()
      },
			toback(){
				uni.navigateBack()
			},
			ismobiles(code,mobile){
				let that = this
				that.$request.get('/app-api/param/validator/mobile',{code:code,mobile:mobile}).then(res => {
					if(res.code==0){
						if(that.params.drawee==1){
							that.$refs.payNotice.open()
						}else{
							that.createOrder()
						}
						that.isClick = false
					}else{
						that.isClick = false
						 uni.showToast({
							title: this.$lang.lang.notices.nophone,
							icon: 'error',
						})
					}
				})
			},
			checkMoblie(){
				if(!this.params.countryCode){
					this.params.countryCode = this.config.countrySn.value[0]
				}
				if(!this.params.consigneePhone){
					return
				}
				this.$request.get('/app-api/param/validator/mobile',{code:this.params.countryCode,mobile:this.params.consigneePhone}).then(res => {
					if(res.code!=0){
						 uni.showToast({
							title: this.$lang.lang.notices.nophone,
							icon: 'error',
						})
					}
				})
			},
			changeType(e){
				var items = this.items,
					values = e.detail.value;
				for (var i = 0, lenI = items.length; i < lenI; ++i) {
					const item = items[i]
					if(values.includes(item.value)){
						this.$set(item,'checked',true)
					}else{
						this.$set(item,'checked',false)
					}
				}
				if(values){
					this.params.type = e.detail.value.join(',')
				}else{
					this.params.type = ''
				}

				console.log(this.params.type)
        // 如果勾选了海外仓给提示
        if(this.params.type.indexOf('2') > -1){
          return uni.showModal({
            title: this.$lang.lang.tips,
            content: this.$lang.lang.create.overSeaWarehouseTips,
            showCancel: false
          })
        }
			},
			getType(){
				var items = this.items,
					values = this.params.type.split(',');
				for (var i = 0, lenI = items.length; i < lenI; ++i) {
					const item = items[i]
					if(values.includes(item.value)){
						this.$set(item,'checked',true)
					}else{
						this.$set(item,'checked',false)
					}
				}
			},
			//货币单位
			getCurrencyData () {
				this.$request.getConfig('commission_currency_type').then(res => {
					if(res.code==0&&res.data&&res.data.list.length>0){
						this.currencyType = res.data.list
					}
				})
			},
			getCurrencyType(value){
				var title = ''
				let that = this
				that.currencyType.forEach((item)=>{
					if(item.value == value){
						if(that.$lang.locale=='zh'){
							title =  item.label
						}else{
							title =  item.labelEn
						}
					}
				})
				return title
			},
			//计量单位
			getUnitTypeData () {
				this.$request.get('/app-api/app/unit/list').then(res => {
					if(res.code==0&&res.data&&res.data.length>0){
						this.unitType = res.data
					}
				})
			},
			getUnitType(value){
				var title = ''
				let that = this
				that.unitType.forEach((item)=>{
					if(item.id == value){
						if(that.$lang.locale=='zh'){
							title =  item.titleZh
						}else{
							title =  item.titleEn
						}
					}
				})
				return title
			},
			getValue(e) {
				if(e){
					var sindex = 0
					this.config.product.data.forEach((item,index)=>{
						if(item[this.$lang.title] == e){
							sindex = index
						}
					})
					this.goodsModel.prodTitle = e
					// this.goodsModel.prodTitleEn = this.config['productEn'].label[sindex]
					this.goodsNameChange(sindex)
				}
			},
			goodsNameChange(sindex){
				this.goodsModel.prodId = this.config['product'].data[sindex].id
				this.goodsModel.prodAttrs = this.config['product'].data[sindex].attrId.split(',')
				this.goodsModel.material = this.config['product'].data[sindex].materialType
				this.goodsModel.unit = this.config['product'].data[sindex].packaging
				// this.goodsModel.volume = this.config['productZh'].data[sindex].square
				this.getConfigIndex('material',this.goodsModel.material)
				this.getConfigIndex('unitData',this.goodsModel.unit)
			},
			// getValueEn(e) {
			// 	if(e){
			// 		var sindex = 0
			// 		this.config.productEn.label.forEach((item,index)=>{
			// 			if(item == e){
			// 				sindex = index
			// 			}
			// 		})
			// 		this.goodsModel.prodTitleEn = e
			// 		this.goodsModel.prodTitleZh = this.config['productZh'].label[sindex]
			// 		this.goodsNameChange(sindex)
			// 	}
			// },
			getIdcard () {
				this.$request.get('/app-api/member/user/get-auth-idcard-info').then(res => {
					if(res.code==0&&res.data&&res.data.status==2){
						this.isIdAuth = true
					}
				})
			},
			gertConsignorId(){
				this.$request.get('/app-api/member/user/get').then(res => {
					if(res.code==0&&res.data){
						this.params.consignorId = res.data.id
					}

				})
			},
			goodsChange(e){
				this.goodsModel[e.target.dataset.key] = this.config[e.target.dataset.config].value[e.detail.value]
				this.config[e.target.dataset.config].index = e.detail.value
				// if(e.target.dataset.key == 'material'){
				// 	this.goodsModel.material = this.config[e.target.dataset.config].value[e.detail.value]
				// }
			},
			backOrder(){
				uni.navigateTo({
					url:'../index/index'
				})
			},
			configChange (e){
				let that = this
				if(e.target.dataset.key == 'dialCode'){
					that.conForm.dialCode = that.config[e.target.dataset.config].value[e.detail.value]
				}else{
					that.params[e.target.dataset.key] = that.config[e.target.dataset.config].value[e.detail.value]
				}

				if(e.target.dataset.key == 'countryCode'){
					that.config[e.target.dataset.config].indexs = e.detail.value
					that.checkMoblie()
				}else{
					that.config[e.target.dataset.config].index = e.detail.value
				}
				if(e.target.dataset.key == 'harvestMethod'){
					if(e.detail.value==2){
						that.params.consigneeAddress = that.consignee[that.conIndex].address
					}
				}
				if(e.target.dataset.key == 'transportId'){
					if(that.config[e.target.dataset.config].cssClass[e.detail.value] == 'channel'){
						that.channeled = false
					}else{
						that.config.channel.index = 0
						that.channeled = true
					}
				}
				if(e.target.dataset.key == 'transportId' || e.target.dataset.key == 'departureId' || e.target.dataset.key == 'objectiveId') {
					that.params.lineId = 0
				}
				if(e.target.dataset.key=='objectiveId'){
					that.getChanel()
				}
				if(e.target.dataset.key=='channelId'){
          // 没有选择目的城市才需要更换
          if(this.currentDstCityIndex === null){
            that.getTradeCity('tradeCity2')
          }
				}
				if(e.target.dataset.key =='channelId' || e.target.dataset.key == 'transportId' || e.target.dataset.key == 'departureId' || e.target.dataset.key == 'objectiveId') {
					if(!that.params.channelId  || !that.params.transportId  ||!that.params.lineId ||(that.params.departureId != 0 && this.params.objectiveId != 0)){
						// if((that.params.transportId==3||that.params.transportId==4)&&!that.params.channelId){
						// 	that.openedRouterF = true
						// }else{
							that.openedRouterF = false
						// }

						that.config.openedRouter = {
							index: 0,
							label: [ this.$lang.lang.notices.please],
							value: [''],
							otherService:[''],
							controlStatus:['']
						}
						that.getOpenedRouter()
					}
					that.getOffData()
				}
				if(e.target.dataset.key == 'lineId' || e.target.dataset.key == 'transportId' || e.target.dataset.key =='channel'){
					// that.params.costVO = {}
					// that.params.orderItemVOList = []
					that.calculationPrice(-1)
				}
        if(e.target.dataset.key == 'lineId'){
          // 切换路线则回显城市和国家
          const router = this.routerList.find(item => item.id == this.config.openedRouter.value[this.config.openedRouter.index])
          console.log("切换路线", router, this.config.openedRouter.index, [...this.routerList])
          if(router){
            this.currentDstCountryIndex = this.dstCountryList.findIndex(item => item.id == router.objectiveId)
            this.currentDstCityIndex = this.filteredDstCityList.findIndex(item => item.id == router.objectiveId)
            this.$set(this.params, 'objectiveId', router.destCityId)

            // 找出始发城市
            const startCityIdIndex = this.config.tradeCity1.value.findIndex(item => item == router.startCityId)
            if(startCityIdIndex > -1){
              this.config.tradeCity1.index = startCityIdIndex
              this.$set(this.params, 'departureId', router.startCityId)
            }
          }
        }
				if(e.target.dataset.key == 'lineId'&&that.params.isCargoControl){
					that.checkKycStatus()
				}
				if(e.target.dataset.key=='country'){
					that.config.cityList = {
						index: 0,
						label: [this.$lang.lang.notices.notice],
						value: [''],
						children:['']
					}
					that.config.treeList.value.forEach((item,index) => {
						if(index == e.detail.value){
							that.config.treeList.children[index].forEach(items=>{
								if(that.$lang.locale == 'zh'){
									that.config['cityList'].label.push(items.titleZh)
								}else{
									that.config['cityList'].label.push(items.titleEn)
								}
								that.config['cityList'].value.push(items.id)
								that.config['cityList'].children.push(items.children)
							})
						}
					})
				}
				if(e.target.dataset.key=='province'){
					that.config.provinceList = {
						index: 0,
						label: [ this.$lang.lang.notices.notice],
						value: [''],
					}
					that.config.cityList.value.forEach((item,index) => {
						if(index == e.detail.value){
							that.config.cityList.children[index].forEach(items=>{
								if(that.$lang.locale == 'zh'){
									that.config['provinceList'].label.push(items.titleZh)
								}else{
									that.config['provinceList'].label.push(items.titleEn)
								}
								that.config['provinceList'].value.push(items.id)
							})
						}
					})
				}
			},
			getUnitName(key){
				var index = 0
				this.config.unitData.value.forEach((item,i)=>{
					if(item == key){
						index = i
					}
				})
				if(index==0) return ''
				return this.config.unitData.label[index]
			},
			getProductAttrLabel(data){
				var label = ''
				var productArr = data?.split(',') || []

				this.productAttrList.forEach((item)=>{
					if(productArr.find(items => {return items == item.id})){
						label+= item[this.$lang.attrName]+' '
					}
				})
				return label
			},
			getMaterialName(data){
				var index = 0
				this.config.material.value.forEach((item,i)=>{
					if(item == data){
						index = i
					}
				})
				if(index==0) return ''
				return this.config.material.label[index]
			},
			isProductAttr(data){
				let that = this
				var ischeck = false
				var isdisable = false
				if(that.goodsModel.prodAttrs.length>0){
					that.goodsModel.prodAttrs.forEach((item)=>{
						if(item == data){
							ischeck = true
						}
						if(item==4){
							isdisable = true
						}
					})
				}
				this.isdisable = isdisable
				return ischeck
			},
			checkboxChange: function (e) {
				var items = this.productAttrList,
					values = e.detail.value;
					this.goodsModel.prodAttrs = values
				for (var i = 0, lenI = items.length; i < lenI; ++i) {
					const item = items[i]
					if(values.includes(item.value)){
						this.$set(item,'checked',true)
					}else{
						this.$set(item,'checked',false)
					}
				}
			},
			getDate(type) {
				const date = new Date();
				let year = date.getFullYear();
				let month = date.getMonth() + 1;
				let day = date.getDate();

				if (type === 'start') {
					year = year - 60;
				} else if (type === 'end') {
					year = year + 2;
				}
				month = month > 9 ? month : '0' + month;
				day = day > 9 ? day : '0' + day;
				return `${year}-${month}-${day}`;
			},
			bindDateChange: function(e) {
				this.date = e.detail.value
				this.params.deliveryDate = e.detail.value +' ' +'00:00:00'
			},
			snChange(e){
				this.conForm.dialCode = e.detail.value
			},
			//付款人
			draweeType(e){
				this.params.drawee = e.detail.value
			},
			//特殊需求
			getPackageType(e){
				this.params.packageType = e.detail.value.join(',')
			},

			addOrder(){
        // 如果勾选了海外仓给提示
        if(this.params.type.indexOf('2') > -1){
          return uni.showModal({
            title: this.$lang.lang.tips,
            content: this.$lang.lang.create.overSeaWarehouseTips,
            showCancel: false
          })
        }
        /*有收货人 但是 没有填写收货人名称*/
				if(this.hasConsignee && !this.params.consigneeName){
					return uni.showToast({
						title:  this.$lang.lang.notices.consignee,
						icon: 'error',
					})
				}
				if(this.hasConsignee && !this.params.countryCode){
					this.params.countryCode = this.config.countrySn.value[0]
				}
        // 有收货人但是无收货人电话
				if(this.hasConsignee && !this.params.consigneePhone){
					return uni.showToast({
						title:  this.$lang.lang.notices.consigneePhone,
						icon: 'error',
					})
				}/*else if(!this.params.isCargoControl && this.params.countryCode==this.config.countrySn.value[0]){
					return uni.showToast({
						title:  this.$lang.lang.notices.foreignConsignee,
						icon: 'error',
					})
				}*/

				if(this.params.consigneeEmail){
					let email_reg = /[a-zA-Z0-9]+([-_.][A-Za-zd]+)*@([a-zA-Z0-9]+[-.])+[A-Za-zd]{2,5}$/

					if (!email_reg.test(this.params.consigneeEmail)) {
						return uni.showToast({
							title:  this.$lang.lang.notices.noEmail,
							icon: 'error',
						})
					}
				}

				if(this.params.orderItemVOList.length>0){
					this.$set(this.params,'orderItemVOList',this.getProductListWithDefaultValue())
					var isNotAcceptGoods = false
					this.params.orderItemVOList.forEach(item=>{
						if(item.prodAttrIds.indexOf(4)!=-1){
							isNotAcceptGoods = true
						}
					})
					if(isNotAcceptGoods){
						return uni.showToast({
							title:  this.$lang.lang.notices.isClude,
							icon: 'error',
						})
					}

				}
				if(!this.params.transportId) {
					return uni.showToast({
						title:  this.$lang.lang.notices.transport,
						icon: 'error',
					})
				}
				// if(this.params.transportId>2&&!this.params.channelId){
				// 	return uni.showToast({
				// 		title:  this.$lang.lang.notices.channel,
				// 		icon: 'error',
				// 	})
				// }
				if(this.params.lineId==''||this.params.lineId==null){
					return uni.showToast({
						title:  this.$lang.lang.notices.lined,
						icon: 'error',
					})
				}
				if(this.params.departureId==''||this.params.departureId==null){
					return uni.showToast({
						title:  this.$lang.lang.notices.startCity,
						icon: 'error',
					})
				}
				if(this.params.objectiveId==''||this.params.objectiveId==null){
					return uni.showToast({
						title:  this.$lang.lang.notices.endCity,
						icon: 'error',
					})
				}
				// if(this.params.number==''||this.params.number==null){
				// 	return uni.showToast({
				// 		title: '请输入快递单号',
				// 		icon: 'error',
				// 	})
				// }
				if(this.params.marks==''||this.params.marks==null){
					return uni.showToast({
						title:  this.$lang.lang.notices.marksIn,
						icon: 'error',
					})
				}/*else if(parseFloat(this.params.marks.slice(0,1)).toString() != "NaN"){
					return uni.showToast({
						title:  this.$lang.lang.notices.marksNum,
						icon: 'error',
					})
				}*/
				if(this.params.customsType==''||this.params.customsType==null){
					return uni.showToast({
						title:  this.$lang.lang.notices.customsType,
						icon: 'error',
					})
				}
				if(this.params.deliveryDate==''||this.params.deliveryDate==null){
					return uni.showToast({
						title:  this.$lang.lang.notices.date,
						icon: 'error',
					})
				}
				if(this.params.isCargoControl){
					this.checkKycStatus()
				}
				if(this.params.warehouseType==''||this.params.warehouseType==null){
					this.params.warehouseType = this.config.warehouseType.value[1]
				}
				if(this.params.harvestMethod==''||this.params.harvestMethod==null){
					this.params.harvestMethod = this.config.harvestMethod.value[0]
				}


				var  ids = []
				if(this.couponData.length>0){
					this.couponData.forEach((item)=>{
						if(item.checked){
							ids.push(item.id)
						}
					})
					this.params.couponIds = ids.join(',')
				}

				if(!this.collectionShow){
					this.params.isCollection = false
				}
        // 如果选择了代收货款则判断是否设置了代收金额和货币单位
        if(this.params.isCollection){
          if(!this.params.collectionProxy){
            return uni.showToast({
              title: this.$lang.lang.create.needCollectionAmount,
              icon: 'error',
            })
          }
          if(!this.params.collectionProxyCurrency){
            return uni.showToast({
              title: this.$lang.lang.create.needCollectionCurrency,
              icon: 'error',
            })
          }
        }
				if(this.params.harvestMethod!=2){
					this.params.consigneeAddress = ''
				}
				var url=''
				if(this.isClick){
					return
				}
				this.isClick = true
				if(this.hasConsignee){
          return this.ismobiles(this.params.countryCode,this.params.consigneePhone)
        }
        if(this.params.drawee==1){
          this.$refs.payNotice.open()
        }else{
          this.createOrder()
        }
        this.isClick = false
			},
			// 校验目的国和手机区号
      async validateCountryAndAreaCode(){
        if(this.hasConsignee){
          const res = await this.$request.get('/app-api/ecw/region/check/dest-currency/area-code/', {
            areaCode: this.params.countryCode,
            currencyId: this.dstCountryList[this.currentDstCountryIndex].guojia
          })
          console.log("目的地货币校验", res)
          if(!res.data){
            const res = await uni.showModal({
              title: this.$lang.lang.create.tips,
              content: this.$lang.lang.create.areaCodeAndDestCountryCheckFail,
              showCancel: true
            })
            console.log("确认结果", res)
            if(!res[1].confirm){
              throw new Error("目的国手机号校验不通过且用户点击取消")
            }
          }
        }
      },
      async creatOrder(){
        await this.validateCountryAndAreaCode()
				this.$request.post('/app-api/my/order/create', {...this.params, hasConsignee: this.hasConsignee}).then(res => {
					this.isClick = false
					if(res.code == 0&&res.data){
						this.params = {
							transportId: 0, //运输类型
							departureId: 0, //始发ID
							objectiveId: 0, //目的地ID
							lineId: 0, //线路ID
							channelId:0,//渠道ID
							orderItemVOList:[],
							costVO:{},
							deliveryDate:this.currentDate+' 00:00:00',
							drawee:2,
							number:'',
							isCargoControl:false,
							consigneeId:0,
							customsType:1,
							type:'',
							isCollection:false,
							issuingMethod:1,
							doubleClear:2
						},

						uni.showToast({
							title: this.$lang.lang.notices.creat,
							icon:"none",
							success() {
								setTimeout(function(){
									uni.navigateTo({
										url:'../orderFinsh/orderFinsh?orderId='+res.data
									})
								},2000)
							}
						})
					}else{
						uni.showToast({
							title:res.msg,
							icon:"none"
						})
					}

				})
			},
			getOrderData(id, copy){
				let that = this
				that.$request.get('/app-api/my/order/get',{orderId:id}).then(async (res) => {
					if(res.code==0&&res.data){
            this.params = Object.assign({}, res.data, {
              orderItemVOList: [],
              destCountryId: null,
              consigneeName: '',
              consigneePhone: ''
            })
            if (copy){
              // 复制订单，需要将数据初始化
              that.params.orderId = null
              that.params.orderNo = null
              that.params.containerNumber = null
              that.params.tidanNo = null
              that.params.parentOrderId = null
              that.params.parentNumber = null
              that.params.number = null
              that.params.initialParentOrderId = null
              that.params.initialParentOrderNo = null
              that.params.noChargeRecord = null
              that.params.oldNumbers = null
              that.params.userId = 0
              that.params.sumNum = null
              that.params.sumQuantity = null
              that.params.sumVolume = null
              that.params.sumWeight = null
              that.params.pickleType = null
              that.params.pickRatio = null
              that.params.pickNum = null
              that.params.releaseRatio = null
              that.params.releaseNum = null
              that.params.cost = null
              that.params.packingListUrl = null
              that.params.commissionPayable = null
              that.params.specialVWeight = null
              that.params.handlerChannelAttrException = null
              that.params.weightBeforePack = null
              that.params.weightAfterPack = null
              that.params.stockOverWeightLimit = null
              that.params.firstStockedTime = null
              that.params.isLimitUpdateConsignee = null
              that.params.lockConsigneeDay = null
              that.params.lockConsigneeTime = null
              that.params.firstStockedTime = null
              that.params.adjustToStartWarehouseId = null
              that.params.adjustToDestWarehouseId = null
              that.params.destAdjustToStartWarehouseId = null
              that.params.destAdjustToDestWarehouseId = null
              // 状态重置
              that.params.status = 0
              that.params.cargoControlStatus = 0
              that.params.abnormalState = 0
              that.params.inWarehouseState = 0
              that.params.shipmentState = 0
              that.params.auditType = 0
              that.params.auditResult = null
              that.params.airShipment = null
              that.params.splitSeparateOrder = null
              that.params.pickState = null
              that.params.guanLianOrderStatus = null
              that.params.oldInWarehouseState = null
              that.params.oldStatus = null
              that.params.oldShipmentState = null
              that.params.orderType = null
              // 时间重置
              that.params.takeTime = null
              that.params.unloadTime = null
              that.params.rucangTime = null
              that.params.loadTime = null
              that.params.preLoadTime = null
              that.params.deliveryDate = null
              that.params.daogangTime = null
              that.params.qingguanTime = null
              that.params.splitTime = null
              that.params.isException = null
              that.params.exceptionReason = null
              that.params.externalWarehouseJson = null
              that.params.hasExitAndEntry = null
              that.params.hasSendRucangSms = null
              that.params.hasSendWarehouseInNotice = null
              if (that.params.consignorVO){
                that.params.consignorVO.id = null
                that.params.consignorVO.orderId = null
              }
              if (that.params.consigneeVO){
                that.params.consigneeVO.id = null
                that.params.consigneeVO.orderId = null
              }

            }
						// if(!that.params.number) that.params.number = ''
						that.getType()
            res.data.orderItemVOList.forEach((item)=>{
              let newItem = {}
              if (copy) {
                newItem = {
                  link: item.link,
                  prodId: item.prodId,
                  prodTitleEn: item.prodTitleEn,
                  prodTitleZh: item.prodTitleZh,
                  prodAttrIds: item.prodAttrIds,
                  prodType: item.prodType,
                  volume: item.volume,
                  weight: item.weight,
                  quantity: item.quantity,
                  num: item.num,
                  worth: item.worth,
                  boxGauge: item.boxGauge,
                  brandType: item.brandType
                }
              }else {
                newItem = item
              }
              if(newItem.prodAttrIds) newItem.prodAttrs = newItem.prodAttrIds.split(',')
              that.params.orderItemVOList.push({ ...newItem })
            });


						/*if(that.params.transportId != 0 ||that.params.lineId!=0 ||(that.params.departureId != 0 && that.params.objectiveId != 0)){
							that.openedRouterF = false
							that.getOpenedRouter()
						}
						that.getConfigIndex('transport',that.params.transportId)
						that.getConfigIndex('channel',that.params.channelId)
						that.getConfigIndex('tradeCity2',that.params.objectiveId)
						that.getConfigIndex('tradeCity1',that.params.departureId)*/
						that.setPackType()
						if(that.params.shippingCompany){
							that.getConfigIndex('clientaData',that.params.shippingCompany)
						}
						if(that.params.airlineCompany){
							that.getConfigIndex('clientaData',that.params.airlineCompany)
						}
						that.getConfigIndex('warehouseType',that.params.warehouseType)

						if(that.params.consigneeVO){
							that.params.consigneeAddress = that.params.consigneeVO.address


							that.getConfigIndex('treeList',that.params.consigneeVO.country)

							that.getConfigIndex('cityList',that.params.consigneeVO.province)
							that.getConfigIndex('provinceList',that.params.consigneeVO.city)
						}
						that.getConIndex()
            // 2024-11-21测试consigneeVO下面的deliveryDate为null，而且可能没有收货人所有不能据此回显
						if(that.params.deliveryDate){
							var dateArr = that.params.deliveryDate.split(' ')
							that.date = dateArr[0]
							that.time = dateArr[1]
						}
						that.getOffData()

            // 回显目的城市和目的国
            const dstCityIndex = this.filteredDstCityList.findIndex(item => item.shi === that.params.objectiveId)
            if(dstCityIndex > -1){
              const currentDstCountryId = this.filteredDstCityList[dstCityIndex].guojia
              const currentDstCountrtyIndex = this.dstCountryList.findIndex(item => item.guojia === currentDstCountryId)
              that.currentDstCountryIndex = currentDstCountrtyIndex
              await this.$nextTick()
              this.currentDstCityIndex = dstCityIndex
            }

            // 回显始发城市
            const startCityIndex = this.startCityList.findIndex(item => item.id == that.params.departureId)
            console.log("startCityIndex", startCityIndex, this.startCityList.length)
            if(startCityIndex > -1){
              this.currentStartCityIndex = startCityIndex
            }
            // 回显运输方式
            const transIndex = this.transportList.findIndex(item => item.value == that.params.transportId)
            if(transIndex > -1){
              this.currentTransportIndex = transIndex
            }
            // 回显路线
            await that.getOpenedRouter()
            const currentRouteIndex = this.routerList.findIndex(item => item.id == this.params.lineId)
            if(currentRouteIndex > -1){
              this.currentRouteIndex = currentRouteIndex
            }

            // 回显收货方式
            const harvestIndex = this.enabledHarvestList.findIndex(item => item.value == that.params.harvestMethod)
            if(harvestIndex > -1){
              this.currentHarvestIndex = harvestIndex
            }

            this.hasConsignee = res.data.hasConsignee
            if (!that.noConsignee){
              this.hasConsignee = true
            }
          }
				})
			},
			setPackType(){

				for(let i in this.packageType){
					console.log(this.packageType[i].value)
					if(this.params.packageType&&this.params.packageType.split(',').indexOf(this.packageType[i].value)!=-1){
						this.packageType[i].checked = true
					}
				}
			},
			getConfigIndex(key,value,type=0){
				let that = this
				var sIndex = 0
				var arrData = that.config[key].value
				for(let i in arrData){

					if(arrData[i]==value){
						sIndex = i
						if(type==1){
							that.config[key].indexs = i
						}else{
							that.config[key].index = i
						}

					}
				}
				if(key == 'treeList'&&sIndex!=0){
					 var treeDat = that.config.treeList.children[sIndex]
					 for(let i in treeDat){
						 if(that.$lang.locale == 'zh'){
						 	that.config['cityList'].label.push(treeDat[i].titleZh)
						 }else{
						 	that.config['cityList'].label.push(treeDat[i].titleEn)
						 }
					 	 that.config['cityList'].value.push(treeDat[i].id)
					 	 that.config['cityList'].children.push(treeDat[i].children)
					 }
				}
				if(key == 'cityList'&&sIndex!=0){
					var treeDats = that.config.cityList.children[sIndex]
					for(let i in treeDats){
						if(that.$lang.locale == 'zh'){
							that.config['provinceList'].label.push(treeDats[i].titleZh)
						}else{
							that.config['provinceList'].label.push(treeDats[i].titleEn)
						}
						 that.config['provinceList'].value.push(treeDats[i].id)
					}
				}
				if(key == 'material'){
					if(sIndex>0) return that.config[key].label[sIndex]
				}
				if(key == 'transport' && value>2){
					that.channeled = false
				}
			},
			async updateOrder(){
        await this.validateCountryAndAreaCode()
        this.params.hasConsignee = this.hasConsignee
				this.$request.put('/app-api/my/order/update', { ...this.params, status: 2}).then(res => {
					this.isClick = false
					if(res.code == 0){
						this.params = {
							transportId: 0, //运输类型
							departureId: 0, //始发ID
							objectiveId: 0, //目的地ID
							lineId: 0, //线路ID
							channelId:0,//渠道ID
							orderItemVOList:[],
							costVO:{},
							deliveryDate:this.currentDate+ "00:00:00",
							drawee:2,
							number:'',
							isCargoControl:false,
							consigneeId:0,
							customsType:1,
							type:'',
							isCollection:false,
							issuingMethod:1,
							doubleClear:2
						},

						uni.showToast({
							title: this.$lang.lang.notices.edited,
							icon:"none",
							success() {
								setTimeout(()=>{
									uni.navigateBack()
								},2000)
							}
						})
					}else{
						uni.showToast({
							title:res.msg,
							icon:"none",
						})
					}

				})
			},
			addGood(){
				console.log(this.goodsModel)
				if(this.goodsModel.prodTitle==''){
					return uni.showToast({
						title:  this.$lang.lang.notices.shopname,
						icon: 'error',
					})
				}
				if(this.goodsModel.brandType ==''||this.goodsModel.brandType==null){
					this.goodsModel.brandType = this.config['brandData'].value[0]
					console.log(this.goodsModel.bandType)
				}
				if(this.goodsModel.volume ==''||this.goodsModel.volume==null){
						// this.goodsModel.volume = 1
				}else if(this.goodsModel.volume<=0){
					return uni.showToast({
						title:this.$lang.lang.notices.intNotice3
					})
				}

				if(this.goodsModel.num ==''||this.goodsModel.num==null){
					return uni.showToast({
						title:  this.$lang.lang.notices.num,
						icon: 'error',
					})
				}else if(this.goodsModel.num<=0||Math.floor(this.goodsModel.num)!=this.goodsModel.num){
					console.log(Math.floor(this.goodsModel.num)!=this.goodsModel.num)
					return uni.showToast({
						title:this.$lang.lang.notices.intNotice1
					})
				}
				if(this.goodsModel.unit ==''||this.goodsModel.unit==null){
					return uni.showToast({
						title:  this.$lang.lang.notices.unit,
						icon: 'error',
					})
				}

				if(this.goodsModel.quantity ==''||this.goodsModel.quantity==null){
						// this.goodsModel.quantity = 1
				}else if(this.goodsModel.quantity<=0||Math.floor(this.goodsModel.quantity)!=this.goodsModel.quantity){
					console.log(Number.isInteger(this.goodsModel.quantity))
					return uni.showToast({
						title:this.$lang.lang.notices.intNotice2
					})
				}
				if(this.goodsModel.weight ==''||this.goodsModel.weight==null){
						// this.goodsModel.weight = 1
				}else if(this.goodsModel.weight<=0){
					return uni.showToast({
						title:this.$lang.lang.notices.intNotice4
					})
				}
				if(this.goodsModel.worth ==''||this.goodsModel.worth==null){
					return uni.showToast({
						title:  this.$lang.lang.notices.works,
						icon: 'error',
					})
				}else if(this.goodsModel.worth<=0){
					return uni.showToast({
						title:this.$lang.lang.notices.intNotice5
					})
				}


				// if(!this.goodsModel.quantity){
				// 	this.goodsModel.quantity = 1
				// }
				// if(!this.goodsModel.volume){
				// 	this.goodsModel.volume = 1
				// }
				// if(!this.goodsModel.weight){
				// 	this.goodsModel.weight = 1
				// }
				if(this.goodsModel.prodAttrs){
				    this.goodsModel.prodAttrIds = this.goodsModel.prodAttrs.join(',')
				}
				var editIndex = this.goodsEditIndex
				if(this.goodsEditIndex!=-1){
					this.params.orderItemVOList[editIndex] = this.goodsModel
				}else{
					editIndex = this.params.orderItemVOList.length
					this.params.orderItemVOList.push({
            ...this.goodsModel,
            showFull: false
          })
				}
				this.calculationPrice(editIndex)
				this.$refs.popup.close()
			},
			getProductListWithDefaultValue(){
			    let arr = []
			    this.params.orderItemVOList.forEach(item => {
			        let tmp = {...item}
			        if(!tmp.volume)tmp.volume = 1
			        if(!tmp.weight)tmp.weight = 1
			        if(!tmp.quantity)tmp.quantity = 1
			        if(!tmp.num)tmp.num = 1
			        tmp.orderType = item.orderItemType
			        arr.push(tmp)
			    })
			    return arr
			},
			calculationPrice(editIndex){
				var paramsData = {}
				var list = this.params.orderItemVOList
				if(this.params.channelId){
					paramsData={
						lineId: this.params.lineId,
						transportId: this.params.transportId,
						channelId: this.params.channelId,
						prodConditionParamList: this.getProductListWithDefaultValue(),
					}
				}else{
					paramsData={
						lineId: this.params.lineId,
						transportId: this.params.transportId,
						prodConditionParamList: this.getProductListWithDefaultValue()
					}
				}
				this.$request.post('/app-api/product/line/price/calculation',paramsData).then(res => {
					if(res.code==0&&res.data){
						if(editIndex>=0){
							this.params.orderItemVOList[editIndex].brand = res.data.prodCostDtoList[editIndex].brand
							this.params.orderItemVOList[editIndex].charging = res.data.prodCostDtoList[editIndex].charging
							this.params.orderItemVOList[editIndex].clearanceFreight = res.data.prodCostDtoList[editIndex].clearanceFee
							this.params.orderItemVOList[editIndex].clearanceFreightCurrency = res.data.prodCostDtoList[editIndex].clearanceFeeCurrency
							this.params.orderItemVOList[editIndex].clearanceFreightVolume = res.data.prodCostDtoList[editIndex].clearanceFeeVolume
							this.params.orderItemVOList[editIndex].seaFreight = res.data.prodCostDtoList[editIndex].freight
							this.params.orderItemVOList[editIndex].seaFreightCurrency = res.data.prodCostDtoList[editIndex].freightCurrency
							this.params.orderItemVOList[editIndex].seaFreightVolume = res.data.prodCostDtoList[editIndex].freightVolume
							this.params.orderItemVOList[editIndex].isPayAdvance = res.data.prodCostDtoList[editIndex].isPayAdvance
							this.params.orderItemVOList[editIndex].premium = res.data.prodCostDtoList[editIndex].premium

							this.reset()
						}else{
							for(let i=0;i<this.params.orderItemVOList.length;i++){
								this.params.orderItemVOList[i].charging = res.data.prodCostDtoList[i].charging
								this.params.orderItemVOList[i].clearanceFreight = res.data.prodCostDtoList[i].clearanceFee
								this.params.orderItemVOList[i].clearanceFreightCurrency = res.data.prodCostDtoList[i].clearanceFeeCurrency
								this.params.orderItemVOList[i].clearanceFreightVolume = res.data.prodCostDtoList[i].clearanceFeeVolume
								this.params.orderItemVOList[i].seaFreight = res.data.prodCostDtoList[i].freight
								this.params.orderItemVOList[i].seaFreightCurrency = res.data.prodCostDtoList[i].freightCurrency
								this.params.orderItemVOList[i].seaFreightVolume = res.data.prodCostDtoList[i].freightVolume
								this.params.orderItemVOList[i].isPayAdvance = res.data.prodCostDtoList[i].isPayAdvance
								this.params.orderItemVOList[i].premium = res.data.prodCostDtoList[i].premium
							}
						}
						this.params.costVO = res.data.costDto
					}
			    })
			},

			getCouponData(){
				this.$request.post('/app-api/product/coupon/customer/available/couponList',{
					lineId: this.params.lineId,
					transportId: this.params.transportId,
					channelId: this.params.channelId,
					prodConditionParamList: this.params.orderItemVOList,
					customsType:this.params.customsType,
					isCargoControl:this.params.isCargoControl
				}).then(res => {

					if(res.code==0&&res.data&&res.data.legth>0){
						this.couponData = res.data
						this.couponData.forEach((item)=>{
							item.checked = false
						})
					}
			    })
			},
			getTotalMoney(index){
				this.totalMoney = 0
				this.couponData[index].checked = !this.couponData[index].checked
				this.couponData.forEach((item)=>{
					if(item.checked){
						this.totalMoney += item.reduceAmount
					}
				})
			},
			open (index) {
				if(!this.params.transportId) {
					return uni.showToast({
						title:  this.$lang.lang.notices.transport,
						icon: 'error',
					})
				}
				// if(this.params.transportId>2&&!this.params.channelId){
				// 	return uni.showToast({
				// 		title:  this.$lang.lang.notices.channel,
				// 		icon: 'error',
				// 	})
				// }
				if(this.params.departureId==''||this.params.departureId==null){
					return uni.showToast({
						title:  this.$lang.lang.notices.startCity,
						icon: 'error',
					})
				}
				if(this.params.objectiveId==''||this.params.objectiveId==null){
					return uni.showToast({
						title:  this.$lang.lang.notices.endCity,
						icon: 'error',
					})
				}
				if(this.params.lineId==''||this.params.lineId==null){
					return uni.showToast({
						title:  this.$lang.lang.notices.lined,
						icon: 'error',
					})
				}
				this.goodsEditIndex = index
				if(index!=-1){
					this.goodsModel = this.params.orderItemVOList[index]
					this.goodsModel.prodAttrs = this.goodsModel.prodAttrIds.split(',')
					this.config.brandData.value.forEach((item,index)=>{
						if(this.goodsModel.brandType == item){
							this.config.brandData.index = index
						}
					})
					this.config.unitData.value.forEach((item,index)=>{
						if(this.goodsModel.unit == item){
							this.config.unitData.index = index
						}
					})
					this.config.material.value.forEach((item,index)=>{
						if(this.goodsModel.material == item){
							this.config.material.index = index
						}
					})
					this.config.product.value.forEach((item,index)=>{
						if(this.goodsModel.prodTitle == item){
							this.config.product.index = index
						}
					})
					// this.config.productZh.value.forEach((item,index)=>{
					// 	if(this.goodsModel.prodTitleZh == item){
					// 		this.config.productZh.index = index
					// 	}
					// })
				}else{
					this.reset()
				}
				this.$refs.popup.open()
			},
			openLink(index){
				this.linkIndex = index
				this.link = this.params.orderItemVOList[index].link
				this.$refs.shoplink.open()
			},
			addlink(){
				var arr = this.params.orderItemVOList[this.linkIndex]
				arr.link = this.link
				this.params.orderItemVOList.splice(this.linkIndex,1,arr)
				this.$refs.shoplink.close()
			},
			toLink(src){
				uni.navigateTo({
					url:'../shop_link/shop_link?src='+src
				})
			},
			closelink(){
				this.$refs.shoplink.close()
			},
			closeInsertCon(){
				this.conForm = {
					dialCode:this.config.countrySn.value[0],
					id:0
				}
				this.$refs.insertCon.close()
			},
			//编辑收货人
			editCon(index){
				this.conForm = this.consignee[index]
				this.searchKey = ''
				this.getConfigIndex('countrySn',this.consignee[index].dialCode)
				this.$refs.insertCon.open()
			},
			ismobile(){
				this.$request.get('/app-api/param/validator/mobile',{code:this.conForm.dialCode,mobile:this.conForm.phone}).then(res => {
					if(res.code==0){
						this.insertCons()
					}else{
						uni.showToast({
							title:  this.$lang.lang.notices.nophone,
							icon: 'error',
						})
					}
				})
			},
			insertCon(){
				if(!this.conForm.dialCode){
					this.conForm.dialCode = '86'
				}
				if(this.conForm.name ==''||this.conForm.name==null){
					return uni.showToast({
						title:  this.$lang.lang.notices.name,
						icon: 'error',
					})
				}
				if(this.conForm.phone ==''||this.conForm.phone==null){
					return uni.showToast({
						title:  this.$lang.lang.notices.phone,
						icon: 'error',
					})
				}
				if(this.conForm.email ==''||this.conForm.email==null){
					// return uni.showToast({
					// 	title:  this.$lang.lang.notices.email,
					// 	icon: 'error',
					// })
				}else{
					let email_reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;

					if (!email_reg.test(this.conForm.email)) {
						return uni.showToast({
							title:  this.$lang.lang.notices.noEmail,
							icon: 'error',
						})
					}
				}
				this.ismobile()
			},
			//添加收货人
			insertCons(){
				if(this.conForm.id>0){
					this.$request.put('/app-api/ecw/admin-client/update',this.conForm).then(res => {
						if(res.code==0){
							uni.showToast({
								title: this.$lang.lang.notices.edited,
								icon:"none"
							})
							this.page = 1
							this.getCon()
							this.closeInsertCon()
						}else{
							uni.showToast({
								title:res.msg,
								icon:"none"
							})
						}

					})
				}else{
					this.$request.post('/app-api/ecw/admin-client/create',this.conForm).then(res => {
						if(res.code==0){
							uni.showToast({
								title: this.$lang.lang.notices.add,
								icon:"none"
							})
							this.page = 1
							this.getCon()
							this.closeInsertCon()
						}else{
							uni.showToast({
								title:res.msg,
								icon:"none"
							})
						}

					})
				}

			},
			tochoice(){
				this.$refs.addCon.open('top')
			},
			closeAddCon(){
				this.searchKey = ''
				this.$refs.addCon.close()
			},
			openCon(){
				this.searchKey = ''
				this.$refs.insertCon.open()
			},
			delGoods(index){
				let that = this
				uni.showModal({
					title:  this.$lang.lang.notices.notice,
					content:  this.$lang.lang.notices.delete,
					success: function (res) {
						if (res.confirm) {
							that.params.orderItemVOList.splice(index,1)
              console.log("删除后剩余产品数：", that.params.orderItemVOList.length)
							if(that.params.orderItemVOList.length){
								that.calculationPrice(-1)
							}else{
								that.params.costVO = {}
							}
						} else if (res.cancel) {
							console.log('用户点击取消');
						}
					}
				});
			},
			reset(){
				this.goodsModel = {
					// prodTitleZh:'',
					// prodTitleEn:'',
          prodTitle: '',
					volume:'',
					prodAttrs:[],
					prodAttrIds:'',
					brandType:null,
					num:null,
					unit:'',
					quantity:null,
					weight:null,
					worth:null,
					material:null,
				}
				this.config.brandData.index = 0
				this.config.unitData.index = 0
				this.config.material.index = 0
				this.config.product.index = 0
				// this.config.productZh.index = 0
			},
			colsePopup (){
				this.reset()
				this.$refs.popup.close()
			},
			getZd(){
				this.$request.get('/app-api/system/dict-type/list-all-simple').then(res => {
					//console.log(res)
				})
			},
			//获取供应商
			getClientaData(){
				this.$request.get('/app-api/ecw/supplier/page',{page:1,rows:500}).then(res => {
					if(res.code==0&&res.data&&res.data.list.length > 0){
						let d = res.data.list
						for(let i in d){
							this.config['clientaData'].label.push(d[i].companyZh)
							this.config['clientaData'].value.push(d[i].id)
						}
					}
				})
			},
			//获取币种
			getCurrencyList(){
				let that = this
				that.$request.get('/app-api/ecw/currency/list').then(res => {
					if(res.code==0&&res.data.length > 0){
						let d = res.data
						for(let i in d){
							if(that.$lang.locale=='zh'){
								that.config['currencyType'].label.push(res.data[i].titleZh)
							}else{
								that.config['currencyType'].label.push(res.data[i].titleEn)
							}
							// this.config['countrySn'].label.push(d[i].tel)
							that.config['currencyType'].value.push(d[i].id)
						}
					}
				})
			},
			//获取区号
			getCountrySn(){
				let that = this
				that.$request.get('/app-api/ecw/country/list-all').then(res => {
					if(res.code==0&&res.data.length > 0){
						let d = res.data
						for(let i in d){
							// if(that.$lang.locale=='zh'){
								that.config['countrySn'].label.push('+'+res.data[i].tel + ' ' + res.data[i][this.$lang.name])
							// }else{
							// 	that.config['countrySn'].label.push('+'+res.data[i].tel + ' ' + res.data[i].nameEn)
							// }
							// this.config['countrySn'].label.push(d[i].tel)
							that.config['countrySn'].value.push(d[i].tel)
						}
					}
				})
			},
			//获取国家
			getTreeList(){
				let that = this
				that.$request.get('/app-api/ecw/region/getListTree',{treeType:1}).then(res => {
					if(res.code==0&&res.data&&res.data.length > 0){
						let d = res.data
						for(let i in d){
							if(that.$lang.locale == 'zh'){
								that.config['treeList'].label.push(d[i].titleZh)
							}else{
								that.config['treeList'].label.push(d[i].titleEn)
							}
							that.config['treeList'].value.push(d[i].id)
							that.config['treeList'].children.push(d[i].children)
						}
					}
				})
			},
			//选择收货人
			choiceCon(index){
				let that = this
				that.searchKey = ''
				that.conIndex = index
				that.params.consigneeId = that.consignee[index].id
				that.params.consigneeName = that.consignee[index].name
				that.params.consigneeCompany = that.consignee[index].company
				that.params.consigneeNameEn = that.consignee[index].nameEn
				that.params.consigneeCompanyEn = that.consignee[index].companyEn
				that.params.countryCode = that.consignee[index].dialCode
				that.getConfigIndex('countrySn',that.params.countryCode,1)
				that.params.consigneePhone = that.consignee[index].phone
				that.params.consigneeEmail = that.consignee[index].email
				that.params = Object.assign({},that.params)
				that.$refs.addCon.close()
				if(that.params.lineId) that.getOffData()
			},
			getConIndex(){
				let that = this
				var sid = 0
				if(that.params.consigneeId){
					for(let i in that.consignee){
						if(that.consignee[i].id == that.params.consigneeId){
							sid = i+1
						}
					}
					if(sid){
						that.conIndex = sid-1
						that.params.consigneeCompany = that.consignee[that.conIndex].company
						that.params.consigneeName = that.consignee[that.conIndex].name
						that.params.consigneeCompanyEn = that.consignee[that.conIndex].companyEn
						that.params.consigneeNameEn = that.consignee[that.conIndex].nameEn
						that.params.countryCode = that.consignee[that.conIndex].dialCode
						that.params.consigneePhone = that.consignee[that.conIndex].phone
						that.getConfigIndex('countrySn',that.params.countryCode,1)
						that.params.consigneeEmail = that.consignee[that.conIndex].email
					}
				}
				if(sid==0 && that.params.consigneeVO){
					that.params.consigneeCompany = that.params.consigneeVO.company
					that.params.consigneeName = that.params.consigneeVO.name
					that.params.consigneeCompanyEn = that.params.consigneeVO.companyEn
					that.params.consigneeNameEn = that.params.consigneeVO.nameEn
					that.params.countryCode = that.params.consigneeVO.countryCode
					that.params.consigneePhone = that.params.consigneeVO.phone
					that.getConfigIndex('countrySn',that.params.countryCode,1)
					that.params.consigneeEmail = that.params.consigneeVO.email
				}
			},
			searchCon(){
				this.page = 1
				this.getCon()
			},
			//收货人
			getCon(){
				let that = this
				that.$request.get('/app-api/ecw/admin-client/page',{page:that.page,rows:10,searchKey:that.searchKey}).then(res => {
					if(res.code==0){
						if(that.page==1){
							that.consignee = []
							that.consignee = res.data.list
						}else{
							that.consignee = that.consignee.concat(res.data.list)
						}
						if(that.consignee.length>=res.data.total){
							that.moreShow = false
						}else{
							that.moreShow = true
						}
					}else{
						that.moreShow = false
					}
				})
			},
			showMore(){
				this.page++
				this.getCon()
			},
			//单证报关
			customsType(e){
				this.params.customsType = e.detail.value
				// if(this.params.isCargoControl!=''&&this.params.isCargoControl!=null&&this.params.orderItemVOList.length>0){
				// 	this.getCouponData()
				// }
			},
			autoCreatOrderSn(){
				let that = this
				that.$request.get('/app-api/my/order/courier/number').then(res => {
					if(res.code==0&&res.data){
						if(that.params.number){
							that.params.number += ',' + res.data
						}else{
							that.params.number = res.data
						}
					}
				})
			},
			//获取订单号
			bindTextAreaBlur(e){
				this.params.number = e.detail.value
			},
			//是否拆包
			isUnpack(e){
				this.params.isUnpack = e.detail.value=='true'?true:false
			},
			//清关证书
			customsClearCert(e){
				this.params.customsClearCert = e.detail.value=='true'?true:false
			},
			isCollection(e){
				this.params.isCollection = e.detail.value=='true'?true:false
				console.log(this.params.isCollection)
			},
			issuingMethod(e){
				this.params.issuingMethod = e.detail.value
			},
			//是否控货
			isCargoControl(e){
        // 没有收货人必须控货
        if(!this.hasConsignee){
          return
        }
				this.params.isCargoControl = e.detail.value=='true'?true:false
				var server = this.config['openedRouter'].otherService[this.config['openedRouter'].index]
				if(this.params.isCargoControl){
					this.checkKycStatus()
					// this.$set(this.params,'drawee',2)
				}else{
					// this.$set(this.params,'drawee',1)
				}
				if(!this.params.isCargoControl&&server.indexOf(3)>-1){
					this.collectionShow = true
				}else{
					this.collectionShow = false
				}
			},
			checkKycStatus(){
				this.$request.get('/app-api/my/order/getKycStatus',{controlCargoStatus:true,lineId:this.params.lineId}).then(res => {
					if(res.code==0&&res.data){
						if(res.data.wareHouseStatus==2&&res.data.memberKycStatus!=2){
							this.showNotice(2)
						}
						if(res.data.wareHouseStatus==3&&res.data.companyKycStatus!=2){
							this.showBusNotice()
						}
						if(res.data.wareHouseStatus==4){
							if(res.data.memberKycStatus!=2&&res.data.companyKycStatus!=2){
								this.showNotice(4)
							}else if(res.data.memberKycStatus!=2&&res.data.companyKycStatus==2){
								this.showNotice(2)
							}else if(res.data.memberKycStatus==2&&res.data.companyKycStatus!=2){
								this.showBusNotice()
							}
						}
						if(res.data.wareHouseStatus==5){
							if(res.data.memberKycStatus!=2&&res.data.companyKycStatus!=2){
								this.showNotice(2)
							}
						}
					}
				})
			},
			showNotice(index){
				let that = this
				uni.showModal({
					title: this.$lang.lang.notices.notice,
					content:  this.$lang.lang.create.idNotice,
					success: function (res) {
						if (res.confirm) {
							uni.navigateTo({
								url:"../auth/auth"
							})
						}else if(res.cancel){
							if(index==4){
								that.showBusNotice()
							}
						}
					}
				});
			},
			showBusNotice(){
				let that = this
				uni.showModal({
					title: this.$lang.lang.notices.notice,
					content:  this.$lang.lang.create.busNotice,
					confirmText:this.$lang.lang.notices.contactKf+'400-900-9962',
					success: function (res) {
						if (res.confirm) {
							uni.makePhoneCall({
								phoneNumber: '400-900-9962',
								success(){
									console.log('拨打成功了');
								},
								fail() {
									console.log('拨打失败了');
								}
							});
						}
					}
				});
			},
			//双清
			doubleClear: function(evt) {
				this.params.doubleClear = evt.detail.value
			},
			//单票立刻转运
			isSingleTicketTransport(e){
				this.params.isSingleTicketTransport = e.detail.value=='true'?true:false
			},
			//获取特性
			getProductAttrList(){
				this.$request.get('/app-api/ecw/product-attr/list').then(res => {
					if(res.code==0&&res.data){
						this.productAttrList = res.data
					}

				})
			},
			//获取商品名
			getproductData(){
				this.$request.get('/app-api/ecw/product/list',{auditStatus:2}).then(res => {
					if(res.code==0&&res.data&&res.data.length > 0){
						let d = res.data
						this.productData = res.data
						for(let i in d){
              this.config['product'].label.push(d[i][this.$lang.title])
              this.config['product'].value.push(d[i][this.$lang.title])
              this.config['product'].data.push(d[i])

              // this.config['productEn'].label.push(d[i].titleEn)
							// this.config['productEn'].value.push(d[i].titleEn)
							// this.config['productZh'].label.push(d[i].titleZh)
							// this.config['productZh'].value.push(d[i].titleZh)
							// this.config['productZh'].data.push(d[i])
						}
					}
				})
			},
      async getStartCity(){
        const res = await this.$request.get('/app-api/ecw/region/getTradeCityList', {type: 2})
        this.startCityList = res.data || []
      },
			//获取始发、目的城市
			getTradeCity(key){
				let that = this
				let type = key == 'tradeCity1' ? 2 : 1
				let param = {}
				param.type = type
				if(type==1&&this.params.channelId){
					that.config[key] = {
						index: 0,
						label: [this.$lang.lang.notices.please],
						value: [''],
					};
					param.channelId = this.params.channelId
				}

				that.$request.get('/app-api/ecw/region/getTradeCityList', param).then(res => {
					if(res.code==0&&res.data&&res.data.length > 0){
						let d = res.data
						for(let i in d){
							if(that.$lang.locale=='zh'){
								that.config[key].label.push(d[i].titleZh)
							}else{
								that.config[key].label.push(d[i].titleEn)
							}
							that.config[key].value.push(d[i].id)
						}
					}
				})
			},
			//获取出货渠道
			async getChanel(){
        /*this.config.channel = {
          index: 0,
          label: [this.$lang.lang.notices.please],
          value: [''],
        }*/

				let that = this
				let params={}
				if(that.params.objectiveId){
					params.cityId = that.params.objectiveId
				}
        if(that.currentDstCountryIndex !== null){
          params.countryId = this.dstCountryList[this.currentDstCountryIndex].guojia
        }
				const res = await that.$request.get('/app-api/ecw/channel/select',params)
        this.channelList = res.data || []
        /*
          .then(res => {
					if(res.code==0&&res.data&&res.data.length > 0){
						let d = res.data
						for(let i in d){
							if(that.$lang.locale=='zh'){
								that.config['channel'].label.push(d[i].nameZh||'')
							}else{
								that.config['channel'].label.push(d[i].nameEn||'')
							}
							that.config['channel'].value.push(d[i].channelId)
						}
					}
				})*/
			},
			//获取线路
			async getOpenedRouter () {
				let that = this
				let params = {}
				if(that.params.channelId){
					params.channelId = that.params.channelId
				}
				if(that.params.transportId){
					params.transportType = that.params.transportId
				}
				if(that.params.departureId){
					params.startCityId = that.params.departureId
				}
				if(that.params.objectiveId){
					params.destCityId = that.params.objectiveId
				}
        if(this.currentDstCountryIndex !== null){
          params.destCountryId = this.dstCountryList[this.currentDstCountryIndex].guojia
        }
				const res = await that.$request.post('/app-api/ecw/warehouse/openedRouterList', params)
        if(!res.data.length){
          return this.routerList = []
        }

        this.routerList = res.data.map(item => {
          item.showName = `${item[this.$lang.startTitle]} >> ${item[this.$lang.destTitle]}`
          return item
        })
        /*
          .then(res => {
					if(res.code==0&&res.data&&res.data.length > 0){
						let d = res.data
            this.routerList = res.data
						that.config.openedRouter={
							index: 0,
							label: [this.$lang.lang.notices.please],
							value: [''],
							otherService:[''],
							controlStatus:['']
						}
						for(let i in d){
							if(that.$lang.locale=='zh'){
								that.config.openedRouter.label.push(d[i].startTitleZh+'>>'+d[i].destTitleZh)
							}else{
								that.config.openedRouter.label.push(d[i].startTitleEn+'>>'+d[i].destTitleEn)
							}

							that.config.openedRouter.value.push(d[i].id)
							if(d[i].otherService){
								that.config.openedRouter.otherService.push(d[i].otherService)
							}else{
								that.config.openedRouter.otherService.push('')
							}
							that.config.openedRouter.controlStatus.push(d[i].controlStatus)
						}
						if(that.params.lineId){
							that.getConfigIndex('openedRouter',that.params.lineId)
							if(!that.params.transportId){
								that.getConfigIndex('transport',res.data[0].transportType)
							}
							if(!that.params.departureId){
								that.getConfigIndex('tradeCity1',res.data[that.config['openedRouter'].index-1].startCityId)
								that.params.departureId = that.config['tradeCity1'].value[that.config['tradeCity1'].index]
							}
							if(!that.params.objectiveId){
								that.getConfigIndex('tradeCity2',res.data[that.config['openedRouter'].index-1]?.destCityId)
								that.params.objectiveId = that.config['tradeCity2'].value[that.config['tradeCity2'].index]
							}
							that.currencyUnit = res.data[that.config['openedRouter'].index-1].currencyUnit
							var server = that.config['openedRouter'].otherService[that.config['openedRouter'].index]

							if(server.indexOf('1') > -1||server.indexOf('2') > -1){
								that.lineMethod = true
							}else{
								that.lineMethod = false
								that.params.type = ''
							}
							if(server.indexOf('1') > -1){
								that.items[0].show = true
							}else{
								that.items[0].show = false
							}
							if(server.indexOf('2') > -1){
								that.items[1].show = true
							}else{
								that.items[1].show = false
							}
							if(server.indexOf('3')>-1&&!that.params.isCargoControl){
								that.collectionShow = true
							}else{
								that.collectionShow = false
							}
							if(that.config['openedRouter'].controlStatus[that.config['openedRouter'].index]==1){
								that.params.isCargoControl = false
								that.controlLine = true
							}else{
								that.controlLine = false
							}
							that.config.harvestMethod = {
								index: 0,
								label: [],
								value: [],
							}
							that.orderConfig('harvest_method', 'harvestMethod')
						}
					}
				})*/


			},
			orderConfig (field, key) {
				let that = this
				that.$request.getConfig(field).then(res => {
					if(res.code==0&&res.data&&res.data.list.length > 0){
						let d = res.data.list
						if(key == 'packageType'){
							that.packageType = d
							for(let i in d){
								that.packageType[i].checked = false
							}
						}else{
							for(let i in d){
								if(key=='harvestMethod'){
									var server = that.config['openedRouter'].otherService[that.config['openedRouter'].index]
                  if (server.indexOf('2') > -1) {
                    that.config[key].label.push(d[i][that.$lang.label])
                    that.config[key].value.push(d[i].value)
                  } else {
                    if (i == 0) {
                      that.config[key].label.push(d[i][that.$lang.label])
                      that.config[key].value.push(d[i].value)
                    }
                  }
									if(server.indexOf('10') > -1){
										that.config[key].index = 1
										that.params.harvestMethod = 2
									}else{
										if(that.params.harvestMethod){
											that.getConfigIndex('harvestMethod',that.params.harvestMethod)
										}
									}

								}else{
                  that.config[key].label.push(d[i][that.$lang.label])
                  that.config[key].value.push(d[i].value)
								}

								if(key == 'transport'){
									that.config[key].cssClass.push(d[i].cssClass)
								}

							}
							if(key=='warehouseType'){
								that.config[key].index = 1
							}

						}
					}
				})
			},
			closePayNotice(){
				this.$refs.payNotice.close()
			},
			createOrder(){
				this.closePayNotice()
				if(this.orderId > 0 && !this.copy){
          // 订单id大于0，且不是复制订单，则调用编辑订单业务
					this.updateOrder()
				}else{
					this.creatOrder()
				}
			},
			getCurrenyName(id){
				var indexs = 0
				this.config.currencyType.value.forEach((item,index)=>{

					if(item == id){
						indexs = index
					}
				})
				return this.config.currencyType.label[indexs]
			},
			getOffData(){
				let that = this
				this.offerNumber = ''
				let offParams = {}
				if(that.params.lineId){
					offParams.lineId = that.params.lineId
				}
				if(that.params.channelId){
					offParams.channelId = that.params.channelId
				}
				if(that.params.consigneePhone){
					offParams.consigneeCode = that.params.countryCode?that.params.countryCode:that.config.countrySn.value[0]
					offParams.consigneePhone = that.params.consigneePhone
				}
				that.$request.get('/app-api/offer/select',offParams).then(res => {
					if(res.code==0&&res.data&&res.data.length > 0){
						that.config.offData ={
							index: 0,
							label: [],
							value: []
						}
						let d = res.data
						for(let i in d){
							that.config['offData'].label.push(d[i].number)
							that.config['offData'].value.push(d[i].offerId)
						}
					}
					if(!that.params.offerId&&that.orderId){
						that.getOfferNumber()
					}
					console.log(that.config['offData'])
				})
			},
			getOff(e) {
				if(e){
					let sindex = 0
					this.config.offData.label.forEach((item,index)=>{
						if(item == e){
							sindex = index
						}
					})
					this.offerNumber = e
					this.params.offerId = this.config.offData.value[sindex]
					this.config.offData.index = sindex
				}
			},
			getOfferNumber(){
				this.offerIdNoChange = false
				this.$request.get('/app-api/offer/check',{orderId:this.orderId}).then(res => {
					if(res.code==0&&res.data){
						this.getOff(res.data.number)
						this.offerIdNoChange = true
					}
				})
			},
      setCustomDrawee(val){
        this.$set(this.params, 'customDraweeVOList', val)
      },
      changeBillPrice(e){
        this.params.displayBillLadingPrice = e.detail.value == 1 ? true : false
      },
      async getHarvestMethod(){
        const res = await this.$request.getConfig("harvest_method")
        this.harvestList = res.data.list || []
      },
      async getDstCountryList(){
        const res = await this.$request.get("/app-api/ecw/warehouse/getGuojiaAndShiAndWarehouseList", {tradeType: 1})
        console.log("getDstCountryList", res)
        this.dstCountryList = res.data.guojiaList
        this.dstCityList = res.data.shiList
        this.filteredDstCityList = this.dstCityList
      },
      changeDstCountry(e){
        console.log("changeDstCountry", e)
        this.currentDstCountryIndex = e.detail.value
        // 重置目的城市
        this.currentDstCityIndex = null
        this.params.objectiveId = ''
        this.filteredDstCityList = this.dstCityList.filter(item => item.guojia == this.dstCountryList[this.currentDstCountryIndex].guojia)

        // 重置线路
        this.resetRoutes()
        this.getOpenedRouter()

        // 如果是空运则重置渠道
        this.resetChannelIfAir()
      },
      changeDstCity(e){
        this.currentDstCityIndex = e.detail.value
        this.params.objectiveId = this.filteredDstCityList[this.currentDstCityIndex].shi

        // 切换城市，路线要重置
        this.resetRoutes()
        this.getOpenedRouter()

        // 如果是空运则重置渠道
        this.resetChannelIfAir()
      },
      resetRoutes(){
        this.currentRouteIndex = null
        this.params.lineId = ''
      },
      // 如果是空运则重置渠道
      resetChannelIfAir(){
        if(this.currentTransportIndex === null){
          return
        }
        // 如果是空运则重置渠道
        if(this.transportList[this.currentTransportIndex].value == 3){
          this.params.channelId = ''
          this.getChanel()
        }
      },
      async getTransport(){
        const res = await this.$request.getConfig("transport_type")
        console.log("transport", res)
        this.transportList = res.data.list
      },
      changeTransport(e){
        console.log("changeTransport", e)
        this.currentTransportIndex = e.detail.value
        this.params.transportId = this.transportList[this.currentTransportIndex].value

        // 重置渠道
        this.currentChannelIndex = null
        this.params.channelId = ''
        // 空运则加载渠道
        if(this.params.transportId == 3){
          this.channeled = false
          this.getChanel()
        }else this.channeled = true

        // 重置并重新获取线路
        this.currentRouteIndex = null
        this.params.lineId = ''
        this.getOpenedRouter()
      },
      changeChannel(e){
        this.currentChannelIndex = e.detail.value
        this.params.channelId = this.channelList[this.currentChannelIndex].channelId

        // 如果未选择目的城市，则需要根据渠道回显目的国
        if(this.currentDstCityIndex === null){
          const countryId = this.channelList[this.currentChannelIndex].countryId
          const dstCountryIndex = this.dstCountryList.findIndex(item => item.guojia == countryId)
          if(dstCountryIndex > -1 && dstCountryIndex != this.currentDstCountryIndex){
            this.currentDstCountryIndex = dstCountryIndex
            this.params.objectiveId = ''
            this.filteredDstCityList = this.dstCityList.filter(item => item.guojia == this.dstCountryList[this.currentDstCountryIndex].guojia)

            // 重置城市和目的国之后需要重新加载路线
            this.resetRoutes()
            this.getOpenedRouter()
          }
        }
      },
      async changeRoute(e){
        this.currentRouteIndex = e.detail.value
        this.params.lineId = this.routerList[this.currentRouteIndex].id


        // 如果没有始发城市则回显
        if(this.currentStartCityIndex === null){
          const startCityIndex = this.startCityList.findIndex(item => item.id == this.routerList[this.currentRouteIndex].startCityId)
          if(startCityIndex > -1){
            this.currentStartCityIndex = startCityIndex
            this.params.departureId = this.startCityList[this.currentStartCityIndex].id
          }
        }

        // 如果没有目的城市则回显
        if(this.currentDstCityIndex === null){
          const currentCityIndex = this.filteredDstCityList.findIndex(item => item.shi == this.routerList[this.currentRouteIndex].destCityId)
          if(currentCityIndex > -1){
            this.currentDstCityIndex = currentCityIndex
            this.params.objectiveId = this.filteredDstCityList[this.currentDstCityIndex].shi

            const currentDstCountryIndex = this.dstCountryList.findIndex(item => item.guojia == this.filteredDstCityList[this.currentDstCityIndex].guojia)
            if(currentDstCountryIndex > -1 && currentDstCountryIndex != this.currentDstCountryIndex){
              this.currentDstCountryIndex = currentDstCountryIndex

              // 切换了目的国则需要更新渠道
              this.currentChannelIndex = null
              this.params.channelId = ''
              this.getChanel()
            }
          }
        }

        await this.$nextTick()

        const currentRoute = this.routerList[this.currentRouteIndex]
        const otherService = currentRoute.otherService?.split(",") || []
        // 如果不支持送货上门则设置为自提,2表示送货上门，10表示默认送货上门
        if(otherService.indexOf("2") == -1){
          this.params.harvestMethod = 1
          this.currentHarvestIndex = 0
        }
        // 支持送货上门，且默认送货上门
        if(otherService.indexOf("2") > -1 && otherService.indexOf("10") > -1){
          // value == 1 表示自提 2 表示送货上门
          this.currentHarvestIndex = this.enabledHarvestList.findIndex(item => item.value == 2)
          this.params.harvestMethod = 2
        }
      },
      changeStartCity(e){
        this.currentStartCityIndex = e.detail.value
        this.params.departureId = this.startCityList[this.currentStartCityIndex].id

        // 重置路线
        this.currentRouteIndex = null
        this.params.lineId = ''
        this.getOpenedRouter()
      },
      // 更换收货方式
      changeHarvestMethod(e){
        this.currentHarvestIndex = e.detail.value
        this.params.harvestMethod = this.harvestList[this.currentHarvestIndex].value
      },
      // 去掉唛头首尾空格
      trimMarks(){
        this.params.marks = this.params.marks.trim()
      }
		}
	}
</script>

<style>
	@import url("../../static/css/create_order.css");
  .corder-tab-top .title{
    border:none; width: auto; margin-right: 20rpx;
    padding-bottom: 0;
    display: flex !important;
  }
</style>
<style scoped>
.disabled{
  background: #ccc;
}
.corder-goods-v .action{
  justify-content: flex-end;
}
.corder-goods-v .action .icon{
  width: 20px;
  height: 20px;
}
.corder-goods-v .action .btn{
  background: #2A6cd9;
  padding: 3px 10rpx;
  color:#fff;
  border-radius: 5px;
  margin-left: 5px;
}
.over-sea-tips{
  color: red;
  padding: 0 20rpx;
}
</style>
