<template>
	<view class="order">
		<view class="header-toper">
			<!-- <view class="start-bar"></view> -->
			<view class="header-toper-title">
				<image src="../../static/img/back.png" mode="" @click="$request.goPage('../index/index')"></image>
				<text>{{$lang.lang.order.order}}</text>
			</view>
		</view>
		<!-- <view class="start-bar"></view> -->
		<!-- <image @click="screenShow" v-if="selectIndex==3" class="screen_icon" src="../../static/img/screen.png"></image> -->
		<view class="nvs">
			<view class="" v-for="(item, index) in nvs" @click="changeIndex(index)" :key="index">
				<image :src="selectIndex==index?item.icon:item.icons" mode=""></image>
				<text>{{item.name}}{{item.nums>0?'('+item.nums+')':''}}</text>
			</view>
		</view>
		<!-- #ifdef H5 -->
		<input type="password" style='width:0;height:0;min-height:0'/>
		<input type="text" autocomplete="off" style='width:0;height:0;min-height:0'/>
		<!-- #endif -->
		<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" autocomplete="off" :placeholder="$lang.lang.notices.moreKey" placeholder-style="color: #666666">
					<view class="" @click="changeIndex(selectIndex)">{{$lang.lang.order.search}}</view>
				</view>
			</view>
		</view>
		<view class="order-control-status"  v-if="selectIndex==3">
			<text>{{$lang.lang.order.statusControl}}</text>
			<view class="control-item">
				<picker class="control-status"  :value="config.cargoControlStatus.index" :range="config.cargoControlStatus.label" data-config="cargoControlStatus" data-key="cargoControlStatus" @change="configChange">
					<view>{{config.cargoControlStatus.label[config.cargoControlStatus.index]}}</view>
				</picker>
				<image class="rgt" src="../../static/img/rgt.png"></image>
			</view>
		</view>
		<view class="order-control-status"  v-else>
			<text>{{$lang.lang.exception.orderStatus}}</text>
			<view class="control-item">
				<picker class="control-status"  :value="config.status.index" :range="config.status.label" data-config="status" data-key="status" @change="configChange">
					<view>{{config.status.label[config.status.index]}}</view>
				</picker>
				<image class="rgt" src="../../static/img/rgt.png"></image>
			</view>
		</view>
		<view class="order-list">
			<view v-if="data.length==0&&!loading" class="noData">
				<image src="../../static/img/empty.png" mode="widthFix"></image>
				<text>{{$lang.lang.notices.noData}}~</text>
			</view>
			<view class="order-list-it" v-else v-for="(item,index) in data" :key="index">
				<view class="order-list-tp">
					<image v-if="selectIndex==1||(selectIndex==0&&item.deliverGoods)||(selectIndex==3&&item.consigneePhone==userInfo.mobile)" class="fa" src="../../static/img/fa.png" mode=""></image>
					<image v-else class="fa" src="../../static/img/shou.png" mode=""></image>
					<view class="order-list-it-v">
						<view class="fa-v">
							<text>{{$lang.lang.order.orderNo}}:{{item.orderNo}}</text>
							<text>{{item.statusMsg}}</text>
							<!-- <text>{{getStatusName(item.status)}}</text> -->
						</view>
					</view>
				</view>
				<view class="order-list-info">
					<view>
						<view class="order-list-user">{{$lang.lang.order.marks}}：{{item.marks}}</view>
						<view class="times sums" v-if="selectIndex==3">
							<text>{{$lang.lang.docException.levite}} :</text>
							<text>{{item.sumNum}}</text>
						</view>
						<view class="times sums" v-if="selectIndex==3">
							<text>{{$lang.lang.order.lendingNum}} :</text>
							<text>{{item.releaseNum}}</text>
						</view>
						<view class="times">
							<image src="../../static/img/time.png" mode=""></image>
							<text>{{getDate(item.createTime)}}</text>
						</view>

					</view>
					<view class="order-btn-list">
						<view v-if="selectIndex==2||(selectIndex==0&&!item.deliverGoods&&!item.isCargoControl)" class="order-btn">
							<view  @click="toOrderInfo(item.orderId)">{{$lang.lang.order.see}}</view>
						</view>
						<view v-if="selectIndex==3||(selectIndex==0&&item.isCargoControl&&!item.deliverGoods)" class="order-btn">
							<view  @click="toOrderInfo(item.orderId)">{{$lang.lang.order.see}}</view>
							<view v-if="item.cargoControlStatus==1&&item.status!=88" @click="seeLending(item.orderId,index)">{{$lang.lang.order.seelending}}</view>

						<!-- 	<view v-if="itme.cargoControlStatus==2">控货中转移</view>
							<view v-if="itme.cargoControlStatus!=1">放贷</view> -->
							<view v-if="item.cargoControlStatus!=1&&item.status>=5&&item.status!=88" @click="tolending(index,1)">{{$lang.lang.order.lending}}</view>
							<view v-if="item.cargoControlStatus!=1&&item.status>=5&&item.status!=88" @click="tolending(index,2)">{{$lang.lang.order.transfer}}</view>
							<view v-if="item.status!=88" @click="showControlLog(item.orderId)">{{$lang.lang.order.controlLog}}</view>
						</view>
						<view v-if="selectIndex==1||(selectIndex==0&&item.deliverGoods)" class="order-btn">
							<view  @click="toOrderInfo(item.orderId)">{{$lang.lang.order.see}}</view>
							<view v-if='item.status==0||item.status==2' @click="toEditOrder(item.orderId)">{{$lang.lang.order.edit}}</view>
							<view v-if='item.status==0||item.status==88' @click="delOrder(item.orderId)">{{$lang.lang.order.delete}}</view>
							<view v-if='item.status==2&&item.status!=88' @click="cancelOrder(item.orderId)">{{$lang.lang.order.cancelOrder}}</view>
							<view v-if='item.status==5&&item.status!=88' @click="returnOrder(index)">{{$lang.lang.order.exit}}</view>
							<view v-if='item.abnormalState!=0&&item.status!=88' @click="toException(item.orderId)">{{$lang.lang.order.toDeal}}</view>
						</view>
						<view  class="order-btn" v-if="item.status!=88&&item.customsType==2">
							<view  @click="openFile(item.orderId,item.orderNo)">{{$lang.lang.notices.upCustome}}</view>
						</view>
					</view>
				</view>

				<!-- <view class="order-btn">退仓</view> -->

			</view>		
		</view>
		
		<view class="bom">
			<view class="" @click="toCreatOrders">
				<image src="../../static/img/carFa.png" mode=""></image>
				<text>{{$lang.lang.order.delivery}}</text>
			</view>
		</view>
		<uni-popup ref="apply" type="center" :mask-click="false">
			<view class="apply_content">
				<view class="apply_title">
					<text>{{$lang.lang.order.applyExit}}{{selectOrder.orderNo}}</text>
					<image src="../../static/img/index_close.png" @click="closeApply"></image>
				</view>
				<view class="apply_info">
					<text>{{$lang.lang.order.exitOrderNo}}：</text>
					<text>{{selectOrder.orderNo}}</text>
				</view>
				<view class="apply_reason">
					<text>{{$lang.lang.order.reason}}：</text>
					<textarea v-model="reason" :placeholder="$lang.lang.notices.reason"></textarea>
				</view>
				<view class="apply_reason">
					<text>{{$lang.lang.order.img}}：</text>
					<view class="apply_upload">
						<view class="apply_btn" @click="uploadImg">{{$lang.lang.order.uploadImg}}</view>
						<view class="imgList">
							<view v-if="imgUrl.length>0" class="imgItem" v-for="(imgurl,index) in imgUrl" :key="imgurl">
								<image @click="deleteImg(index)" :src="imgurl"></image>
								<image @click="deleteImg(index)" class="delete" src="../../static/img/delete.png"></image>
							</view>
						</view>
					</view>
				</view>
				<view class="apply-btn"> 
					<view @click="sumbitApply">{{$lang.lang.order.isExit}}</view>
					<view @click="closeApply">{{$lang.lang.order.consider}}</view>
				</view>
			</view>
		</uni-popup>
		<uni-popup ref="screen" type="right">
			<view class="screen_content">
				<view class="screen_title">{{$lang.lang.order.screen}}</view>
				<view class="screen_list">
					<view @click="configShow('transport')">
						<text>{{$lang.lang.order.transport}}</text>
						<image :src="config.transport.checked?'../../static/img/down1.png':'../../static/img/rgt.png'"></image>
					</view>
					<view :class="config.transport.index==transIndex?'screen_item select_item':'screen_item'" v-if="config.transport.checked" v-for="(transItem,transIndex) in config.transport.label" :key="transIndex" @click="selectConfig('transport',transIndex)">
						<text>{{transItem}}</text>
					</view>
				</view>
				<view class="screen_list">
					<view>
						<text>{{$lang.lang.order.status}}</text>
						<image src="../../static/img/rgt.png"></image>
					</view>
				</view>
				<view class="screen_list">
					<view @click="configShow('tradeCity2')">
						<text>{{$lang.lang.order.endCity}}</text>
						<image :src="config.tradeCity2.checked?'../../static/img/down1.png':'../../static/img/rgt.png'"></image>
					</view>
					<view :class="config.tradeCity2.index==transIndex?'screen_item select_item':'screen_item'" v-if="config.tradeCity2.checked" v-for="(transItem,transIndex) in config.tradeCity2.label" :key="transIndex" @click="selectConfig('tradeCity2',transIndex)">
						<text>{{transItem}}</text>
					</view>
				</view>
				
				<view class="screen_list">
					<view>
						<text>{{$lang.lang.order.time}}</text>
						<image src="../../static/img/rgt.png"></image>
					</view>
				</view>
				<view class="screen_btns">
					<view @click="screenReset">{{$lang.lang.order.reset}}</view>
					<view @click="toSearch">{{$lang.lang.order.confirm}}</view>
				</view>
			</view>
		</uni-popup>
		<uni-popup ref="lending" type="center" style="overflow-y: auto;">
			<view class="lending_content">
				 <!-- <view class="lending_title">{{type==1?'放货协议':'控货权转移协议'}}</view> -->
				 <view class="lending_info" v-if="type==1">
					<lenging-agreement />
				 </view>
				 <view class="lending_info" v-if="type==2">
				 		<transfer-agreement />
				 </view>
				 <view class="lending_btns" v-if="type==1">
					 <view @click="lendFromShow">{{$lang.lang.order.read}}</view>
					 <view @click="$refs.lending.close()">{{$lang.lang.order.cancel}}</view>
				 </view>
				 <view class="lending_btns" v-if="type==2">
					 <view @click="transferFromShow">{{$lang.lang.order.read}}</view>
					 <view @click="$refs.lending.close()">{{$lang.lang.order.cancel}}</view>
				 </view>
			</view>
		</uni-popup>
		<uni-popup ref="lendFrom" type="center">
			<view class="lendFrom_content">
				<!-- #ifdef H5 -->
				<input type="password" style='width:0;height:0;min-height:0'/>
				<input type="text" autocomplete="off" style='width:0;height:0;min-height:0'/>
				<!-- #endif -->
				 <view class="lending_title">{{selectOrder.orderNo}}{{$lang.lang.order.lending}}</view>
					<view class="lendFrom_order">
						<text>{{$lang.lang.order.sum}}：{{selectOrder.sumNum}}</text>
						<text>{{$lang.lang.order.haveNum}}：{{parseInt(selectOrder.sumNum)-parseInt(selectOrder.releaseNum)}}</text>
						<text>{{$lang.lang.order.sumVolume}}：{{selectOrder.sumVolume}}</text>
						<text>{{$lang.lang.order.sumWeight}}：{{selectOrder.sumWeight}}</text>
					</view>
					<view class="lendFrom_title">{{$lang.lang.order.writeInfo}}</view>
					<view class="lendFrom_info">
						<view class="corder-tab1-item">
							<text>{{$lang.lang.order.consignee}}<span class="redcolor">*</span></text>
							<input v-model="lendingFrom.consigneeName" type="text" :placeholder="$lang.lang.notices.consignee" />
						</view>
						<view class="corder-tab1-item">
							<text>{{$lang.lang.order.consigneeTel}}<span class="redcolor">*</span></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="consigneeCountryCode" @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="lendingFrom.consigneePhone" maxlength="11" type="number" :placeholder="$lang.lang.notices.phone" />
							</view>
						</view>
						<view class="corder-tab1-item">
							<text>{{$lang.lang.order.num}}<span class="redcolor">*</span></text>
							<input v-model="lendingFrom.pickNum" disabled type="number" :placeholder="$lang.lang.notices.sum"/>
						</view>
						<view class="corder-tab1-item">
							<text class="corder_weight">{{$lang.lang.order.weight}}<span class="redcolor">KG</span></text>
							<input v-model="lendingFrom.pickWeight" disabled type="number" :placeholder="$lang.lang.order.weight"/>
							<text class="corder_weight corder_volume">{{$lang.lang.order.volume}}<span class="redcolor">m³</span></text>
							<input v-model="lendingFrom.pickVolume" disabled type="number" :placeholder="$lang.lang.order.volume"/>
						</view>
						<view class="corder-tab1-item">
							<text>{{$lang.lang.order.remark}}</text>
							<input v-model="lendingFrom.remarks" type="text" :placeholder="$lang.lang.notices.note"/>
						</view>
						<view class="corder-tab1-item">
							<text>{{$lang.lang.order.lendingType}}</text>
							<view class="corder-radio-2">
								<radio-group @change="doubleClear">
									<label class="radio">
										<radio value="1" tr :checked="controlType==1" style="transform:scale(0.7)" /><text>{{$lang.lang.order.code}}</text>
									</label>
									<label class="radio">
										<radio value="2"  :checked="controlType==2" style="transform:scale(0.7)" /><text>{{$lang.lang.site.controlPsd}}</text>
									</label>
								</radio-group>
							</view>
						</view>
						<view class="corder-tab1-item" v-if="controlType==1">
							<text>{{$lang.lang.order.code}}</text>
						</view>
						<view class="corder-tab1-item" v-if="controlType==1">
							<input class="vp-input" autocomplete="off" v-model="lendingFrom.code" type="code"  :placeholder="$lang.lang.notices.code">
							<view class="code" v-if="leftTime < 60">{{leftTime}}S</view>
							<view class="code" @click="sendCode" v-else>{{$lang.lang.order.getCode}}</view>
						</view>
						<view class="corder-tab1-item" v-if="controlType==2">
							<text>{{$lang.lang.site.controlPsd}}<span class="redcolor">*</span></text>
							<input v-if="isControlPass" autocomplete="off" type="password" v-model="lendingFrom.controlPassword" />
							<view v-else class="code" @click="$request.goPage('../telcode/telcode')">{{$lang.lang.order.toset}}</view>
						</view>
						<view class="corder-tab1-items">
							<span class="redcolor">*</span>{{$lang.lang.order.controlNotice}}
						</view>
						<view class="lending_btns">
								<view @click="isLending">{{$lang.lang.order.confirm}}</view>
								<view @click="$refs.lendFrom.close()">{{$lang.lang.order.cancel}}</view>
						</view>
					</view>
			</view>
		</uni-popup>
		<uni-popup ref="lendingNotice" type="center">
			<view class="lendFrom_content">
					<view class="lenging_notice">
						<text><span class="redcolor">{{$lang.lang.order.fenLending}}</span>{{$lang.lang.order.lendingNotice}}<span class="redcolor">{{lendingFrom.pickNum}}{{$lang.lang.order.piece}}</span>,{{$lang.lang.order.isConsignee}}:<span class="redcolor">{{lendingFrom.consigneeName}}</span>,{{$lang.lang.order.phone}}：<span class="redcolor">{{$request.checkAddIcon(lendingFrom.consigneeCountryCode)+lendingFrom.consigneePhone}}</span>,{{$lang.lang.order.noError}}</text>
					</view>
					<view class="lending_btns">
						<view @click="ismobileLend">{{$lang.lang.order.confirm}}</view>
						<view @click="$refs.lendingNotice.close()">{{$lang.lang.order.cancel}}</view>
					</view>
			</view>
		</uni-popup>
		<uni-popup ref="transfer" type="center">
			<!-- #ifdef H5 -->
			<input type="password" style='width:0;height:0;min-height:0'/>
			<input type="text" autocomplete="off" style='width:0;height:0;min-height:0'/>
			<!-- #endif -->
			<view class="lendFrom_content">
				 <view class="lending_title">{{selectOrder.orderNo}}{{$lang.lang.order.transfer}}</view>
					<view class="lendFrom_info">
						<view class="corder-tab1-item">
							<text>{{$lang.lang.order.oldControl}}<span class="redcolor">*</span></text>
							<input :value="transferFrom.consignorName" type="text" disabled :placeholder="$lang.lang.notices.oldControl" />
						</view>
						<view class="corder-tab1-item">
							<text>{{$lang.lang.order.oldControlTel}}<span class="redcolor">*</span></text>
							<view class="corder-phone">
								<input class="countrySn-input" :value="transferFrom.consignorCountryCode+transferFrom.consignorPhone"  maxlength="11" disabled type="text" :placeholder="$lang.lang.notices.phone" />
							</view>
						</view>
						<view class="corder-tab1-item">
							<text>{{$lang.lang.order.newControl}}<span class="redcolor">*</span></text>
							<input v-model="transferFrom.name" type="text" :placeholder="$lang.lang.notices.newControl" />
						</view>
						<view class="corder-tab1-item">
							<text>{{$lang.lang.order.newControlTel}}<span class="redcolor">*</span></text>
							<view class="corder-phone">
								<view class="countrySn-item">
									<picker class="countrySn"  :value="config.countrySn.indexs" :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.indexs])}}</view>
									</picker>
									<image class="rgt" src="../../static/img/rgt.png" mode="widthFix"></image>
								</view>
								<input class="countrySn-input" v-model="transferFrom.phone" maxlength="11" type="number" :placeholder="$lang.lang.notices.phone" />
							</view>
						</view>
						<view class="corder-tab1-item">
							<text>{{$lang.lang.order.lendingType}}</text>
							<view class="corder-radio-2">
								<radio-group @change="doubleClears">
									<label class="radio">
										<radio value="1" tr :checked="controlType==1" style="transform:scale(0.7)" /><text>{{$lang.lang.order.code}}</text>
									</label>
									<label class="radio">
										<radio value="2"  :checked="controlType==2" style="transform:scale(0.7)" /><text>{{$lang.lang.site.controlPsd}}</text>
									</label>
								</radio-group>
							</view>
						</view>
						<view class="corder-tab1-item" v-if="controlType==1">
							<text>{{$lang.lang.order.code}}</text>
						</view>
						<view class="corder-tab1-item" v-if="controlType==1">
							<input class="vp-input" autocomplete="off" v-model="transferFrom.code" type="code"  :placeholder="$lang.lang.notices.code">
							<view class="code" v-if="leftTimes < 60">{{leftTimes}}S</view>
							<view class="code" @click="sendTransCode" v-else>{{$lang.lang.order.getCode}}</view>
						</view>
						<view class="corder-tab1-item" v-if="controlType==2">
							<text>{{$lang.lang.site.controlPsd}}<span class="redcolor">*</span></text>
							<input v-if="isControlPass" autocomplete="off" type="password" v-model="transferFrom.controlPassword" />
							<view v-else class="code" @click="$request.goPage('../telcode/telcode')">{{$lang.lang.order.toset}}</view>
						</view>
						<view class="corder-tab1-items">
							<span class="redcolor">*</span>{{$lang.lang.order.controlNotice}}
						</view>
						<view class="lending_btns">
								<view @click="ismobile">{{$lang.lang.order.confirm}}</view>
								<view @click="$refs.transfer.close()">{{$lang.lang.order.cancel}}</view>
						</view>
					</view>
			</view>
		</uni-popup>
		<uni-popup ref="lendingLog" type="center">
			<view class="lendFrom_content">
				 <view class="lending_title">{{lendingdata.orderNo}}{{$lang.lang.order.lendingLog}}</view>
					<view class="lendFrom_order">
						<text>{{$lang.lang.order.sum}}：{{lendingdata.sumNum}}</text>
						<text>{{$lang.lang.order.haveNum}}：{{parseInt(lendingdata.sumNum)-parseInt(lendingdata.releaseNum)}}</text>
						<text>{{$lang.lang.order.sumVolume}}：{{lendingdata.sumVolume}}</text>
						<text>{{$lang.lang.order.sumWeight}}：{{lendingdata.sumWeight}}</text>
					</view>
					<view class="lendFrom_title">{{$lang.lang.order.lendingLog}}</view>
					<view class="lengingLog_list">
						<view class="lendFrom_order" v-for="(item,index) in lendingdata.cargoControlPickBackVOList" :key="index">
							<text>{{$lang.lang.order.consignee}}：{{item.consigneeName}}</text>
							<text>{{$lang.lang.order.consigneeTel}}：{{$request.checkAddIcon(item.consigneeCountryCode)+item.consigneePhone}}</text>
							<text>{{$lang.lang.order.lendingNum}}：{{item.pickNum}}</text>
							<text>{{$lang.lang.order.volume}}：{{item.pickVolume}}</text>
							<text>{{$lang.lang.order.operation}}：{{lendingdata.name}}</text>
							<text>{{$lang.lang.order.date}}：{{$request.getDate(item.createTime)}}</text>
							<text>{{$lang.lang.order.remark}}：{{item.remarks}}</text>
						</view>
					</view>

					<view class="lending_btns">
						<view @click="$refs.lendingLog.close()">{{$lang.lang.order.confirm}}</view>
						<view @click="$refs.lendingLog.close()">{{$lang.lang.order.cancel}}</view>		
					</view>
			</view>
		</uni-popup>
		<uni-popup ref="choiceTransport" type="center" :mask-click="false">
			<view class="ad-conten type-1">
				<image @click="closeTransport" class="ad-bg1" src="../../static/img/colse1.png"></image>
				
				<view class="transport-title">
					<span>{{$lang.lang.notices.transport}}</span>
				</view>
				<image class="type-bg" src="../../static/img/type-1.png"></image>
				<view class="transport-info">
				     <view v-for="item in transType" @click="toCreatOrder(item.value)" :class="'type'+item.value">{{$lang.locale=='zh'?item.label:item.labelEn}}</view>
				</view>
			</view>
		</uni-popup>
		<declaration-documents ref="declaration" :orderId="selectOrderId" :orderNo="orderNo" @open="open"></declaration-documents>
		<uni-popup ref="controlLog" type="center">
			<view class="lendFrom_content">
					<view class="lendFrom_title">{{$lang.lang.order.controlLog}}</view>
					<view class="lengingLog_list">
						<view class="lendFrom_order" v-for="(item,index) in controlLogData" :key="index">
							<text>{{$lang.lang.order.addtime}}：{{$request.getLocalTime(item.createTime)}}</text>
							<text style="width: 100%;">{{$lang.lang.order.operation}}：{{item.creatorName}}</text>
							<text>{{$lang.lang.order.operatorType}}：{{item.userType==1?$lang.lang.order.member:$lang.lang.order.manager}}</text>
							<text>{{$lang.lang.order.operateType}}：{{item.type}}</text>
							<text>{{$lang.lang.order.remark}}：{{item.msg}}</text>
						</view>
					</view>
					<view class="lending_btns">
						<view @click="$refs.controlLog.close()">{{$lang.lang.order.confirm}}</view>
						<view @click="$refs.controlLog.close()">{{$lang.lang.order.cancel}}</view>		
					</view>
			</view>
		</uni-popup>
	</view>
</template>

<script>
	import { object } from '@dcloudio/vue-cli-plugin-uni/packages/postcss/tags'
	import lengingAgreement from '../../components/lengingAgreement/index.vue'
	import transferAgreement from '../../components/transferAgreement/index.vue'
	import declarationDocuments from '../../components/declarationDocuments/index.vue'
	export default {
		components: {
			lengingAgreement,transferAgreement,declarationDocuments
		},
		data() {
			return {
				nvs: [
					{name: this.$lang.lang.order.allOrder, icon: '../../static/img/order-1.png', nums: 0,icons:'../../static/img/order-5.png'},
					{name: this.$lang.lang.order.form, icon: '../../static/img/order-2.png', nums: 0,icons:'../../static/img/order-6.png'},
					{name: this.$lang.lang.order.received, icon: '../../static/img/order-3.png', nums: 0,icons:'../../static/img/order-7.png'},
					{name: this.$lang.lang.order.control, icon: '../../static/img/order-4.png', nums: 0,icons:'../../static/img/order-8.png'},
				],
				data:[],
				page:1,
				pages:1,
				statusData:[],
				searchKey:'',
				selectIndex:0,
				reason:'',
				imgUrl:[],//退仓图片地址
				params:{},
				config:{
					transport:{
						index:-1,
						checked:false,
						label:[],
						value:[]
					},
					tradeCity2:{
						index:-1,
						checked:false,
						label:[],
						value:[]
					},
					countrySn:{
						index: 0,
						indexs:0,
						label: [],
						value: [],
					},
					//控货状态
					cargoControlStatus:{
						index:0,
						value:['',0,1,2],
						label:[this.$lang.lang.order.allStatus,this.$lang.lang.order.controling,this.$lang.lang.order.controled,this.$lang.lang.order.controlPartial],
					},
					status:{
						index: 0,
						label: [this.$lang.lang.order.allStatus],
						value: [''],
					},
				},
				selectOrder:{},
				lendingFrom:{},
				leftTime:60,
				leftTimes:60,
				type:1,
				transferFrom:{},
				lendingdata:{},
				releaseData:{},
				userInfo: {},
				index:0,
				selectOrderId:0,
				lengIndex:0,
				isControlPass:false,//是否设置控货密码
				orderNo:null,
				controlLogData:[],
				controlType:1,//放货方式
				transType:[],
				loading:false
			}
		},
		onLoad() {
			this.getStatusData()
			this.getCountrySn()
			this.orderConfig()
			// this.getTradeCity('tradeCity2')
			// this.orderConfig('transport_type', 'transport')
		},
		onShow() {
			this.getUserInfo()
			this.selectIndex = 0
			this.getData()
			// this.getControl()
			// this.getIssued()
			// this.getReceiver()
			this.getOrderNum()
		},
		onReachBottom() {
			if(this.pages > this.page){
				this.page ++
				if(this.selectIndex==0){
					this.getData()
				}else if(this.selectIndex==1){
					this.getIssued()
				}else if(this.selectIndex==2){
					this.getReceiver()
				}else{
					this.getControl()
				}
			}
		},
		methods: {
			//获取状态
			getStatusData () {
				let that = this
				this.$request.getConfig('order_status').then(res => {
					if(res.code==0&&res.data&&res.data.list.length > 0){
						res.data.list.forEach(item=>{
							if(that.$lang.locale=='zh'){
								that.config.status.label.push(item.label)
							}else{
								that.config.status.label.push(item.labelEn)
							}
							that.config.status.value.push(item.value)
						})
					}
				})
			},
			getUserInfo() {
				this.$request.get('/app-api/member/user/get').then(res => {
					if(res.code==0&&res.data){
						this.userInfo = res.data
						this.isHavePassword = this.userInfo.isHavePassword
					}
			
				})
			},
			//放贷弹窗
			lendFromShow(){
				this.getLengingEditData()
				this.$refs.lending.close()
			},
			getOrderNum(){
				this.$request.get('/app-api/member/user/angle-mark').then(res=>{
					if(res.code==0&&res.data){
						this.nvs[0].nums = res.data.allOrderNum
						this.nvs[1].nums = res.data.issuedOrderNum
						this.nvs[2].nums = res.data.receivedOrderNum
						this.nvs[3].nums = res.data.cargoControlAllNum
					}
				})
			},
			isLending(){
				if(!this.lendingFrom.consigneeName){
					return uni.showToast({
						title: this.$lang.lang.notices.consignee,
						icon: 'error',
					})
				}
				if(!this.lendingFrom.consigneePhone){
					return uni.showToast({
						title: this.$lang.lang.notices.consigneePhone,
						icon: 'error',
					})
				}
				if(!this.lendingFrom.pickNum){
					return uni.showToast({
						title: this.$lang.lang.notices.sum,
						icon: 'error',
					})
				}
				if(!this.lendingFrom.pickWeight){
					return uni.showToast({
						title: this.$lang.lang.notices.weight,
						icon: 'error',
					})
				}
				if(!this.lendingFrom.pickVolume){
					return uni.showToast({
						title: this.$lang.lang.notices.volume,
						icon: 'error',
					})
				}

				if(!this.lendingFrom.code&&!this.lendingFrom.controlPassword){
					return uni.showToast({
						title: this.$lang.lang.order.controlNotice,
						icon: 'error',
					})
				}
				if(this.lendingFrom.pickNum>(this.selectOrder.sumNum-this.releaseData.releaseNum))
				{
					return uni.showToast({
						title: this.$lang.lang.notices.conNotice,
						icon: 'error',
					})
				}
				this.$refs.lendingNotice.open()
			},
			getLengingEditData(){
				let that = this
				that.$request.get('/app-api/order/order-cargo-control/release/info/'+that.selectOrder.orderId).then(res => {
					if(res.code==0&&res.data){
						that.releaseData = res.data
						that.$set(that.lendingFrom,'consigneeName',res.data.consigneeName)
						that.$set(that.lendingFrom,'consigneePhone',res.data.consigneePhone)
						that.$set(that.lendingFrom,'consigneeCountryCode',res.data.consigneeCountryCode)
						that.$set(that.lendingFrom,'pickNum',parseInt(that.selectOrder.sumNum)-parseInt(that.selectOrder.releaseNum))
						that.$set(that.lendingFrom,'pickVolume',res.data.sumVolume)
						that.$set(that.lendingFrom,'pickWeight',res.data.sumWeight)
						that.getCountryIndex(res.data.consigneeCountryCode,1)
						that.$refs.lendFrom.open()
					}else{
						uni.showToast({
							title:  res.msg,
							icon: 'error',
						})
					}
				})
			},
			//获取控货密码是否设置
			getIsControlPass(id){
				let that = this
				that.$request.get('/app-api/order/order-cargo-control/controlPassword/'+id).then(res => {
					if(res.code==0&&res.data){
						that.isControlPass = true
					}
				})
			},
			//控货转移
			getTransferData(){
				let that = this
				that.$request.get('/app-api/order/order-cargo-control/info/'+that.selectOrder.orderId).then(res => {
					if(res.code==0&&res.data){
						that.transferFrom.name = res.data.name
						that.transferFrom.phone = res.data.phone
						that.getCountryIndex(res.data.dialCode,2)
					}
				})
			},
			ismobile(){
				if(!this.transferFrom.phone){
					return uni.showToast({
						title: this.$lang.lang.notices.newControlTel,
						icon: 'error',
					})
				}
				this.transferFrom.dialCode=this.transferFrom.dialCode||'86',
				this.$request.get('/app-api/param/validator/mobile',{code:this.transferFrom.dialCode,mobile:this.transferFrom.phone}).then(res => {
					if(res.code==0){
						this.addTransfer()
					}else{
						uni.showToast({
							title:  this.$lang.lang.notices.nophone,
							icon: 'error',
						})
					}
				})
			},
			addTransfer(){
				if(!this.transferFrom.name){
					return uni.showToast({
						title: this.$lang.lang.notices.newControl,
						icon: 'error',
					})
				}
				if(!this.transferFrom.controlPassword&&!this.transferFrom.code){
					return uni.showToast({
						title: this.$lang.lang.order.controlNotice,
						icon: 'error',
					})
				}

				this.transferFrom.orderId = this.selectOrder.orderId
				this.transferFrom.orderNo = this.selectOrder.orderNo
				this.$request.post('/app-api/order/order-cargo-control/create',this.transferFrom).then(res => {
					if(res.code==0){

						this.transferFrom = {}
						setTimeout(()=>{
							this.page = 1
							this.getControl()
						},2000)
						
						this.$refs.transfer.close()
						uni.showToast({
							title:this.$lang.lang.notices.operation,
							icon:'none'
						})
					}else{
						uni.showToast({
							title:res.msg,
							icon:'none'
						})
					}
				})
			},
			
			transferFromShow(){	
				this.$refs.lending.close()
				this.$refs.transfer.open()
			},
			getLendingData(orderId){
				this.$request.get('/app-api/order/order-cargo-control-pick/release/info/'+orderId).then(res => {
					if(res.code==0&&res.data){
						this.lendingdata = res.data
						this.$refs.lendingLog.open()
					}
				})
			},
			//查看放贷记录
			seeLending(id,index){
				this.lendingdata = {}
				this.selectOrder = this.data[index]	
				this.getLendingData(id)
			},
			ismobileLend(){
				this.lendingFrom.consigneeCountryCode=this.lendingFrom.consigneeCountryCode||'86',
				console.log(this.lendingFrom.consigneeCountryCode)
				this.$request.get('/app-api/param/validator/mobile',{code:this.lendingFrom.consigneeCountryCode,mobile:this.lendingFrom.consigneePhone}).then(res => {
					if(res.code==0){
						this.addLending()
					}else{
						uni.showToast({
							title:  this.$lang.lang.notices.nophone,
							icon: 'error',
						})
					}
				})
			},
			//添加放贷
			addLending(){
				this.lendingFrom.orderId = this.selectOrder.orderId
				this.lendingFrom.orderNo = this.selectOrder.orderNo
				
				
				this.$request.post('/app-api/order/order-cargo-control-pick/create', this.lendingFrom).then(res => {
					if(res.code==0){

						setTimeout(()=>{
							this.page = 1
							this.selectIndex =3
							this.getControl()
							this.seeLending(this.selectOrder.orderId,this.lengIndex)
						},2000)
						this.$refs.lendingNotice.close()
						this.$refs.lendFrom.close()
						uni.showToast({
							title:this.$lang.lang.order.lendSussess,
							icon:'none'
						})
					}else{
						uni.showToast({
							title:res.msg,
							icon:'none'
						})
					}
				})
			},
			sendTransCode(){
				if (this.leftTimes < 60) {
					return false
				}
				var params = {
					orderId:this.selectOrder.orderId,
					scene: 4
				}
				this.$request.post('/app-api/order/order-cargo-control/send-sms-code', params).then(res => {
					if(res.code == 0){
						this.countDowns()
					} else {
						uni.showToast({
							title: res.msg,
							icon: 'none',
						})
					}
				})
			},
			countDowns() {
				this.leftTimes--
				if (this.leftTimes > 0) {
					setTimeout(this.countDowns, 1000)
				} else {
					this.leftTimes = 60
				}
			},
			sendCode () {
				if (this.leftTime < 60) {
					return false
				}
				var params = {
					orderId:this.selectOrder.orderId,
					scene: 5
				}
				this.$request.post('/app-api/order/order-cargo-control/send-sms-code', params).then(res => {
					if(res.code == 0){
						this.countDown()
					} else {
						uni.showToast({
							title: res.msg,
							icon: 'none',
						})
					}
				})
			},
			countDown() {
				this.leftTime--
				if (this.leftTime > 0) {
					setTimeout(this.countDown, 1000)
				} else {
					this.leftTime = 60
				}
			},
			configChange (e){
				if(e.target.dataset.key == 'dialCode'){
					this.transferFrom[e.target.dataset.key] = this.config[e.target.dataset.config].value[e.detail.value]
					this.config[e.target.dataset.config].indexs = e.detail.value
				}else if(e.target.dataset.key == 'cargoControlStatus'||e.target.dataset.key == 'status'){
					this.config[e.target.dataset.config].index = e.detail.value
					this.changeIndex(this.selectIndex)
				}else{
					this.config[e.target.dataset.config].index = e.detail.value
					this.lendingFrom[e.target.dataset.key] = this.config[e.target.dataset.config].value[e.detail.value]
				}
				
			},
			//放贷
			tolending(index,type){
				this.type = type
				this.transferFrom = {}
				this.lendingFrom = {}
				this.controlType = 1
				this.selectOrder = this.data[index]
				this.lengIndex = index
				if(type==2){
					// this.getTransferData()
					this.transferFrom.consignorName=this.selectOrder.cargoControlName
					this.transferFrom.consignorPhone=this.selectOrder.cargoControlPhone
					this.transferFrom.consignorCountryCode = '+'+this.selectOrder.cargoControlCountryCode
				}
				this.getIsControlPass(this.selectOrder.orderId)
				setTimeout(()=>{
					this.$refs.lending.open()
				},500)
				
			},
			//获取区号
			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].nameZh)
							}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)
						}
					}
				})
			},
			getCountryIndex(value,type){
				let that = this
				that.config['countrySn'].value.forEach((item,index)=>{
					if(item==value){
						if(type==1){
							that.config.countrySn.index = index
						}else{
							that.config.countrySn.indexs = index
						}
						
					}
				})
			},
			//获取始发、目的城市
			getTradeCity(key){
				let that = this
				that.$request.get('/app-api/ecw/region/getTradeCityList', {type: 2}).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[key].label.push(d[i].titleZh)
							}else{
								that.config[key].label.push(d[i].titleEn)
							}
							that.config[key].value.push(d[i].id)
						}
					}
				})
			},
			configShow(key){
				this.config[key].checked = !this.config[key].checked
			},
			selectConfig(key,index){
				this.params[key] = this.config[key].value[index]
				this.config[key].index = index
			},
			screenShow(){
				this.$refs.screen.open()
			},
			screenReset(){
				this.params = {}
				this.config.transport.index = -1
			},
			toSearch(){
				this.getControl()
				this.$refs.screen.close()
			},
			returnOrder(index){
				this.selectOrder = this.data[index]
				setTimeout(()=>{
					this.$refs.apply.open()
				},500)
			},
			closeApply(){
				this.selectOrder = {}
				this.reason = ''
				this.imgUrl = []
				this.$refs.apply.close()
			},
			sumbitApply(){
				var params = {
					orderId:this.selectOrder.orderId,
					orderNo:this.selectOrder.orderNo,
					reason:this.reason,
					imgUrl:this.imgUrl.join(',')
				}
				this.$request.put('/app-api/order/order-warehouse-in/rollback-apply',params).then(res => {
					if(res.code==0){
						uni.showToast({
							title:this.$lang.lang.notices.operation,
							icon:'none'
						})
					}else{
						uni.showToast({
							title:res.msg,
							icon:'none'
						})
					}
				})
				this.closeApply()
			},
			changeIndex(index){
				if(this.selectIndex!=index){
					this.searchKey = ''
					this.config.status.index = 0
				}
				this.selectIndex = index
				this.nvs[index].nums = 0
				this.data = []
				this.page = 1
				this.loading = true
				uni.showLoading({
					title:this.$lang.lang.notices.loading,
				})
				if(index==0){
					this.getData()
				}else if(index==1){
					this.getIssued()
				}else if(index==2){
					this.getReceiver()
				}else{
					this.getControl()
				}
			},
			getControl(){
				this.params.page = this.page
				this.params.rows = 6
				this.params.searchKey = this.searchKey
				this.params.cargoControlStatus = this.config.cargoControlStatus.value[this.config.cargoControlStatus.index]
				this.$request.get('/app-api/my/order/cargo/control/page',this.params).then(res=>{
					if(res.code==0&&res.data&&res.data.list&&res.data.list.length>0){
						if(this.page == 1){
							if(this.selectIndex==3){
								this.data = res.data.list
								this.pages = res.data.pages
							}
							this.nvs[3].nums = res.data.total
						}else{
							this.data = this.data.concat(res.data.list)
						}
					}
					uni.hideLoading()
					this.showLoading = false
				})
			},
			getIssued(){
				this.$request.get('/app-api/my/order/issued/page',{page:this.page,rows:6,searchKey:this.searchKey}).then(res=>{
					if(res.code==0&&res.data&&res.data.list&&res.data.list.length>0){
						if(this.page == 1){
							if(this.selectIndex==1){
								this.data = res.data.list
								this.pages = res.data.pages
							}
							this.nvs[1].nums = res.data.total
						}else{
							this.data = this.data.concat(res.data.list)
						}
					}
					uni.hideLoading()
					this.showLoading = false
				})
			},
			getReceiver(){
				this.$request.get('/app-api/my/order/received/page',{page:this.page,rows:6,searchKey:this.searchKey,status:this.config.status.value[this.config.status.index]}).then(res=>{
					if(res.code==0&&res.data&&res.data.list&&res.data.list.length>0){
						if(this.page == 1){
							if(this.selectIndex==2){
								this.data = res.data.list
								this.pages = res.data.pages
							}
							this.nvs[2].nums = res.data.total
						}else{
							this.data = this.data.concat(res.data.list)
						}
					}
					uni.hideLoading()
					this.showLoading = false
				})
			},
			getStatusDatas () {
				this.$request.getConfig('order_status').then(res => {
					if(res.code==0&&res.data&&res.data.list&&res.data.list.length>0){
						this.statusData = res.data.list
					}
				})
			},
			getDate(time) {
				time = time.replace(/-/g,'/');
				const date = new Date(time);
				let year = date.getFullYear();
				let month = date.getMonth() + 1;
				let day = date.getDate();
				
				month = month > 9 ? month : '0' + month;
				day = day > 9 ? day : '0' + day;
				return `${year}-${month}-${day}`;
			},
			getStatusName (type){
				let that = this
				var status = that.statusData.find(item=>item.value == type)
				if(status) {
					if(that.$lang.locale=='zh'){
						return status.label
					}else{
						return status.labelEn
					}
				}
			},
			getData(){
				this.$request.get('/app-api/my/order/all/order',{page:this.page,rows:6,searchKey:this.searchKey,status:this.config.status.value[this.config.status.index]}).then(res=>{
					if(res.code==0&&res.data&&res.data.list&&res.data.list.length>0){
						if(this.page == 1){
							if(this.selectIndex==0){
								this.data = res.data.list
								this.pages = res.data.pages
							}
							this.nvs[0].nums = res.data.total
							
						}else{
							this.data = this.data.concat(res.data.list)
						}
					}
					uni.hideLoading()
					this.showLoading = false
				})
			},
			toCreatOrders(){
				this.openTransport()
			},
			toOrderInfo(id){
				uni.navigateTo({
					url:'../orderInfo/orderInfo?id='+id
				})
			},
			toEditOrder(id){
				uni.navigateTo({
					url:'../create_order/create_order?id='+id
				})
			},
			toException(id){
				uni.navigateTo({
					url:'../exception/exception?id='+id
				})
			},
			delOrdered(id){
				this.$request.deleted('/app-api/my/order/delete?orderId='+id).then(res=>{
					if(res.code==0){
						uni.showToast({
							title:this.$lang.lang.notices.deleteSuccess,
							icon:'none'
						})
						setTimeout(()=>{
							this.changeIndex(this.selectIndex)
						},2000)
						
					}else{
						uni.showToast({
							title:res.msg,
							icon:'error'
						})
					}
				})
			},
			cancelOrdered(id){
				this.$request.put('/app-api/my/order/cancel/'+id).then(res=>{
					if(res.code==0){
						uni.showToast({
							title:this.$lang.lang.notices.cancel,
							icon:'none',
						})
						setTimeout(()=>{
							this.changeIndex(this.selectIndex)
						},2000)
					}else{
						uni.showToast({
							title:res.msg,
							icon:'error'
						})
					}
				})
			},
			delOrder(id){
			
				let that = this
				uni.showModal({
					title: this.$lang.lang.notices.notice,
					content:this.$lang.lang.notices.delOrder,
					success: function (res) {
						if (res.confirm) {
							that.delOrdered(id)
						} else if (res.cancel) {
							console.log('用户点击取消');
						}
					}
				});
			},
			cancelOrder(id){

				let that = this
				uni.showModal({
					title: this.$lang.lang.notices.notice,
					content: this.$lang.lang.notices.cancelOrder,
					success: function (res) {
						if (res.confirm) {
							that.cancelOrdered(id)
						} else if (res.cancel) {
							console.log('用户点击取消');
						}
					}
				});
			},
			orderConfig (field, key) {
				this.$request.getConfig(field).then(res => {
					if(res.code==0&&res.data&&res.data.list&&res.data.list.length>0){
						var d = res.data.list
						for(let i in d){
							this.config[key].label.push(d[i].label)
							this.config[key].value.push(d[i].value)
						}
					}
				})
			},
			//移除上传图片
			deleteImg(index){
				this.imgUrl.splice(index,1)
			},
			//上传退仓图片
			uploadImg () {
				let that = this
				uni.chooseImage({
					count: 20,
					success:(res)=> {
						uni.showLoading({
							title: that.$lang.lang.notices.loading,
						})
						const file = res.tempFilePaths
						if((that.imgUrl.length+res.tempFilePaths.length)>20){
							uni.showToast({
								title: that.$lang.lang.order.uploadNotice,
								icon: 'none',
							})
							uni.hideLoading()
							return
						}
						for(var i=0;i<file.length;i++){
							uni.uploadFile({
								url: that.$request.baseUrl + '/app-api/file/upload',
								filePath: file[i],
								name: 'file',
								header: that.$request.getImgHeader(),
								success: (uploadFileRes) => {
									uni.hideLoading()
									let res = JSON.parse(uploadFileRes.data)
									console.log('res', res)
									if(res.code == 0){
										that.imgUrl.push(res.data)
									} else {
										uni.showToast({
											title: res.msg,
											icon: 'none',
										})
									}
								}
							})
						}
						
					},
					fail: (Error) => {
						console.log(Error)
					}
				})
			},

			openFile(id,no){
				console.log(id)
				this.orderNo = no
				this.selectOrderId = id
				this.$refs.declaration.open()
				setTimeout(()=>{
					this.$refs.declaration.getFileList()
				},200)
			},
			closeTransport(){
				this.$refs.choiceTransport.close()
			},
			openTransport(){
				this.$refs.choiceTransport.open()
			},
			toCreatOrder(id){
				this.closeTransport()
				uni.navigateTo({
					url:'../create_order/create_order?transportId='+id
				})
			},
			//显示控货日志
			showControlLog(id){
				this.$request.get('/app-api/order/order-control-log/list/'+id).then(res => {
					console.log(res)
					if(res.code==0&&res.data&&res.data.length>0){
						this.controlLogData = res.data
					}
					this.$refs.controlLog.open()
				})
				
			},
			//放货方式
			doubleClear: function(evt) {
				if(evt.detail.value==2){
					this.lendingFrom.code = ''
				}else{
					this.lendingFrom.controlPassword = ''
				}
				this.controlType = evt.detail.value
			},
			doubleClears(evt){
				if(evt.detail.value==2){
					this.transferFrom.code = ''
				}else{
					this.transferFrom.controlPassword = ''
				}
				this.controlType = evt.detail.value
			},
			open(){
				// this.$refs.declaration.open()
			},
			orderConfig () {
				let that = this
				that.$request.getConfig('transport_type').then(res => {
					if(res.code==0&&res.data&&res.data.list.length > 0){
						that.transType = res.data.list
					}
				})
			},
		},

	}
</script>

<style>
	@import url("../../static/css/order.css");
</style>