<template>
	<view class="container">
		<view class="banner-box">
			<image  src="/static/imgs/ycsq.jpg" mode=""></image>
		</view>
		<view class="main">
			<view class="tab-box">
				<view class="tab-item" :class="currentTabIndex == 0 ? 'active' : ''" @click="currentTabIndex = 0">未审批</view>
				<view class="tab-item" :class="currentTabIndex == 1 ? 'active' : ''" @click="currentTabIndex = 1">已审批</view>
			</view>
			<view v-if="currentTabIndex == 0&&list0.length>0" style="height: 80upx;background: white;padding-left: 10upx;line-height: 68upx;border-bottom: 2upx solid #eee;">
				<radio-group @change="checkRadioChange" style="width: 80%;float: left;"><!-- @change="checkRadioChange" -->
					<label class="radio" style="margin-right: 10upx;font-size: 26upx;" v-for="(item, index) in items" :key="item.value" >
						<radio  :value="item.value" :checked="item.checked" style="transform:scale(0.9)" color="#00c277"/>
						{{item.name}}
						<!-- <view>
							<radio :value="item.value" :checked="index === current" />
						</view>
						<view>{{item.name}}</view> -->
					</label>
				</radio-group>
				<!-- <view style="float: right;width: 20%;height: 30upx;"><button @click="getCheckBoxList()" style="height: 60upx;margin-top: 8upx;background: #00c277;color: white;" class="mini-btn" type="warn" size="mini">审批</button></view> -->
			</view>

			<!-- 未审批列表 -->
			<view class="list-box" v-if="currentTabIndex == 0">
				<view
					class="list-item"
					v-for="(item, index) in list0"
					:key="index"
					
				>
					<view  style="position: relative;" class="title">
						<text class="line"></text>
						<text class="text">{{item.userName}}</text>
						<checkbox  @click="checkBox($event, item)"  name="checkbox" :checked="item.checkValue" :value="item.detail_id+''"  :color="item.checkValue?'#00c277':'white'" style="transform:scale(0.8); position: absolute;top: 16upx;" />
						<text class="status2" v-if="item.approval_status==0">未审批</text>
						<text class="status2" v-if="item.approval_status==1">已同意</text>
						<text class="status2" v-if="item.approval_status==2">已拒绝</text>
					</view>
					<view class="content" >
						<view class="info-item">
							<view class="fl-text">联系人:</view>
							<view class="fr-text">{{ item.userName ||item.username}}</view>
						</view>
						<view class="info-item">
							<view class="fl-text">联系电话:</view>
							<view class="fr-text">{{ item.telNumber }}</view>
						</view>
						<view class="info-item">
							<view class="fl-text">用车时间:</view>
							<view class="fr-text">{{ item.startTime}}</view>
						</view>
						<view class="info-item">
							<view class="fl-text">用车事由:</view>
							<view class="fr-text">{{ item.reason}}</view>
						</view>
						<view class="info-item">
							<view class="fl-text">乘车人数:</view>
							<view class="fr-text">{{ item.peopleNum }}</view>
						</view>
						<view class="info-item">
							<view class="fl-text">目的地:</view>
							<view class="fr-text">{{ item.destination }}</view>
						</view>
					</view>
				</view>
			</view>

			<!-- 已审批列表 -->
			<view class="list-box" v-if="currentTabIndex == 1">
				<view class="list-item" v-for="(item, index) in list1" :key="index"
				>
					<view class="title">
						<text class="line"></text>
						<text class="text">{{item.userName}}</text>
						<text class="status2" v-if="item.approval_status==0">未审批</text>
						<text style="color: #00C277;" class="status2" v-if="item.approval_status==1">已同意</text>
						<text class="status2" v-if="item.approval_status==2">已拒绝</text>
					</view>
					<view class="content">
						<view class="info-item">
							<view class="fl-text">联系人:</view>
							<view class="fr-text">{{ item.userName ||item.username}}</view>
						</view>
						<view class="info-item">
							<view class="fl-text">联系电话:</view>
							<view class="fr-text">{{ item.telNumber }}</view>
						</view>
						<view class="info-item">
							<view class="fl-text">用车时间:</view>
							<view class="fr-text">{{ item.startTime}}</view>
						</view>
						<view class="info-item">
							<view class="fl-text">用车事由:</view>
							<view class="fr-text">{{ item.reason}}</view>
						</view>
						<view class="info-item">
							<view class="fl-text">乘车人数:</view>
							<view class="fr-text">{{ item.peopleNum }}</view>
						</view>
						<view class="info-item">
							<view class="fl-text">目的地:</view>
							<view class="fr-text">{{ item.destination }}</view>
						</view>
						<!-- <view class="comment-btn" @click.stop="del(item.detail_id,2,index)">删除</view> -->
					</view>
				</view>
			</view>
			<content-none v-if="currentTabIndex == 0 && list0.length == 0" :padTop="20"></content-none>
			<content-none v-if="currentTabIndex == 1 && list1.length == 0" :padTop="20"></content-none>
		</view>
		<load-more v-show="currentTabIndex == 0" :loadingType="loadingType0" :contentText="contentText0"></load-more>
		<load-more v-show="currentTabIndex == 1" :loadingType="loadingType1" :contentText="contentText1"></load-more>
		<view v-if="checkedListId.length>0" style="position: fixed;bottom:0upx;height: 50upx;width: 100%;z-index: 9999;"><!-- uni-popup ref="butPopup" type="bottom" -->
			<view >
				<view class="footer-btn footer-btn-two batchBtn" >
					<view  class="btn btn-col btn1" @click="circulation()">拒绝</view>
					<view  class="btn btn-col1 btn2" @click="submit(1)">同意</view>
				</view>
			</view>
		</view>
		<uni-popup ref="popup" type="center" style="">
			<view style="background: white;width: 80%;height: 540upx;width: 600upx;position: relative;border-radius: 10upx;padding: 14upx;">
				<view style="color: #333;font-size: 30upx;font-weight: bold;padding: 10upx 0px;">
					<text>审批意见：</text>
				</view>
				<view style="width: 100%;border: 1px solid #E5E5E5;margin-top: 20upx;padding: 20upx;height: 300upx;color: #666;border-radius: 10upx;">
					<textarea @blur="bindTextAreaBlur" v-model="approvalReason"  placeholder="请输入审批意见"/>
				</view>
				<view class="footer-btn footer-btn-two" style="position: absolute;margin-bottom: 20upx;">
					<view class="btn btn-col" style="width:40%;margin-left:7%;margin-right: 6%;border-radius: 10upx;" @click="closeCirculation()">取消</view>
					<view class="btn btn-col1" style="width:40%;border-radius: 10upx" @click="submit(2)">确定</view>
				</view>
			</view>
		</uni-popup>
	</view>
</template>

<script>
import uniCalendar from '@/components/uni-calendar/uni-calendar.vue';
import { getUsecarApplyList,approvalUseCarApply } from '@/common/api.js';
import { callbackRequest, alertTip, getStorage } from '@/common/util.js';
import loadMore from '@/components/loadMore.vue';
import datetimePicker from '@/components/dateTime.vue';
import contentNone from '@/components/contentNone.vue';
import UniPopup from "@/components/uni-popup/uni-popup.vue"
export default {
	data() {
		return {
			userId: getStorage('userInfo').userId,
			deptId:getStorage('userInfo').deptId,
			currentTabIndex:0,
			page0: 1,
			pageSize0: 10,
			page1: 1,
			pageSize1: 10,
			list:[],
			list0: [
			],
			list1: [
			],
			stateList: ['待审核', '已通过','已拒绝'],
			loadingType0: 2, //0-loading前；1-loading中；2-没有更多了
			contentText0: {
				contentdown: '上拉加载更多',
				contentrefresh: '正在加载...',
				contentnomore: '没有更多数据了'
			},
			loadingType1: 2, //0-loading前；1-loading中；2-没有更多了
			contentText1: {
				contentdown: '上拉加载更多',
				contentrefresh: '正在加载...',
				contentnomore: '没有更多数据了'
			},
			items: [
					{
						value: '0',
						name: '全选',
						checked:false
					},
					{
						value: '1',
						name: '取消选择',
						checked:false
					},
				],
			objList:[],
			paramsDataList:[],
			checkedListId:[],
			ids:"",
			approvalReason:"",
		};
	},
	components: {
		loadMore,
		contentNone,
		UniPopup,
	},
	watch: {
		currentTabIndex: function(newVal, oldVal) {
			this.currentTabIndex = newVal;
			if (this.currentTabIndex==0) {
				this.page0 = 1;
				this.loadingType0 = 0;
				this.getApprovalList();
			}else if (this.currentTabIndex==1) {
				this.page1 = 1;
				this.loadingType1 = 0;
				this.getApprovalList();
			}
		}
		
	},
	onLoad(options) {
		this.currentTabIndex = options.currentTabIndex || 0;
		this.getApprovalList();
	},
	methods: {
		getApprovalList() {
			let params = {};
			if(this.currentTabIndex==0){
				params = {
					method: getUsecarApplyList,
					data: {
						userid: this.userId,
						deptid:this.deptId,
						pageSize:this.pageSize0,
						page:this.page0,
						approvalStatus:'0'
					}
				};
			}else{
				params = {
					method: getUsecarApplyList,
					data: {
						userid: this.userId,
						deptid:this.deptId,
						pageSize:this.pageSize0,
						page:this.page0,
						approvalStatus:'3'//0未审核 1，已通过，2已拒绝 3已通过，已拒绝
					}
				};
			}
			callbackRequest(params).then(res => {
				if (res.data.returnCode == 1) {
					var list = res.data.returnData||[];
					for(var i=0;i<list.length;i++){
						list[i].checkValue = false;
					}
					if(this.currentTabIndex==0){
						if (this.page0 == 1) {
							this.list0 = list;
						} else {
							if (list.length > 0) {
								this.list0 = [...this.list0, ...list];
								this.loadingType0 = 0;
							} else {
								this.loadingType0 = 2;
							}
						}
					}else if(this.currentTabIndex==1){
						if (this.page1 == 1) {
							this.list1 = list;
						} else {
							if (list.length > 0) {
								this.list1 = [...this.list1, ...list];
								this.loadingType1 = 0;
							} else {
								this.loadingType1 = 2;
							}
						}
					}
					
				}
			});
		},
		checkBox(e, item) {
			let that = this;
			let box = (item.checkValue = !item.checkValue);
			var arr=[];
			if(item.checkValue){
				that.checkedListId.push(item);
				
			}else{
				for(var i=0;i<that.checkedListId.length;i++){
					if(item.id != that.checkedListId[i].id){
						arr.push(that.checkedListId[i]);
					}
				}
				that.checkedListId = arr;
			}
		},
		checkRadio(e, item){
			let that = this;
			let box = (item.checked = !item.checked);
		},
		getCheckBoxList(){
			for(var i=0;i<this.checkedListId.length;i++){
				if(i==0){
					this.ids+=this.checkedListId[i].id;
				}else{
					this.ids+=","+this.checkedListId[i].id;
				}
				
			}
		},
		submit(type){
			this.getCheckBoxList();
			let params = {
				"method": approvalUseCarApply,// 申请的审批
				"data": {
					ids:this.ids,
					approvalStatus:type,
					approvalReason:this.approvalReason,
					userId:this.userId,
				}
			};
			var self = this;
			var content="是否确认拒绝";
			if(type==1){
				content="是否确认同意";
			}
			uni.showModal({
				title: '提示',
				content: content,
				success: function(res){
					if (res.confirm) {
						callbackRequest(params)
						.then(res =>{
							const url = '/pages/cars-management/cars-approval?currentTabIndex=0';
							alertTip(res.data.returnMsg);
							setTimeout(function() {
								uni.redirectTo({
									url
								});
							}, 2000);
						})
					}
				}
			})
		},
		checkRadioChange: function (e) {
			let that = this;
			var	values = e.detail.value;
			if(values==0){
				for(var i=0;i<that.list0.length;i++){
					that.list0[i].checkValue = true;
				}
			}else{
				for(var i=0;i<that.list0.length;i++){
					that.list0[i].checkValue = false;
				}
			}
			var arr=[];
			for(var i=0;i<that.list0.length;i++){
				if(that.list0[i].checkValue){
					arr.push(that.list0[i]);
				}
			}
			that.checkedListId = arr;
		},
		circulation(){
			this.$refs.popup.open();
			//this.closeButPopup();
		},
		closeCirculation(){
			this.$refs.popup.close()
		},
		bindTextAreaBlur: function (e) {
			console.log(e.detail.value)
		},
	},
	onReachBottom() {
		if(this.currentTabIndex==0){
			if (this.loadingType0 !== 0 ) {
				return;
			}
			this.loadingType0 = 1;
			this.page0 = this.page0 + 1;
			this.getApprovalList();
		}else{
			if (this.loadingType1 !== 0 ) {
				return;
			}
			this.loadingType1 = 1;
			this.page1 = this.page1 + 1;
			this.getApprovalList();
		}
		
	}
};
</script>

<style lang="scss">
@import '@/static/css/common.scss';
page {
	// background: #f8f8f8;
}

	
.batchBtn{
	position: absolute;height: 140upx; background: white;padding-top: 30upx;
	.btn1{
		width:40%;margin-left:7%;margin-right: 6%;border-radius: 10upx;
	}
	.btn2{
		width:40%;border-radius: 10upx;
	}
	.btn3{
		width: 28%;margin-left: 4%;border-radius: 10upx;
	}
	.btn4{
		width: 28%;margin-left: 4%;border-radius: 10upx;
	}
	.btn5{
		width: 28%;margin-left: 4%;border-radius: 10upx;
		background: #348CF2;
	}
}
.container {
	position: relative;
	overflow: hidden;
	background: #f8f8f8;
	min-height: 100vh;
	.banner-box {
		width: 100%;
		height: 240upx;
		position: absolute;
		top: 0;
		left: 0;
		image {
			width: 100%;
			height: 100%;
		}
	}
	.main {
		margin: 172upx 40upx 0;
		position: relative;
		z-index: 10;
		.tab-box {
			overflow: hidden;
			border-radius: 10upx 10upx 0 0;
			background: rgba(132, 149, 167, 0.8);
			height: 70upx;
			.tab-item {
				float: left;
				height: 70upx;
				width: 50%;
				font-size: 30upx;
				color: #e5f6ff;
				text-align: center;
				line-height: 70upx;
			}
			.active {
				background: #fff;
				color: #333;
				border-radius: 10upx 10upx 0 0;
				font-weight: bold;
			}
		}
		.form-box {
			padding: 20upx 30upx 0upx;
			margin-bottom: 20upx;
			background: #fff;
			.form-item {
				overflow: hidden;
				border-bottom: 1px solid #eee;
				padding: 30upx 0;
				.label {
					float: left;
					width: 150upx;
					font-size: 28upx;
					color: #333;
					font-weight: bold;
					line-height: 50upx;
				}
				.ipt-box {
					margin-left: 160upx;
					input {
						width: 100%;
						height: 50upx;
						line-height: 50upx;
						font-size: 26upx;
						color: #666;
					}
					.pic {
						width: 60upx;
						height: 60upx;
						line-height: 80upx;
					}
				}
				.select {
					.arrow {
						float: right;
						width: 16upx;
						height: 29upx;
						margin-top: 10upx;
					}
					input {
						width: 70%;
					}
				}
				.jian {
					width: 50upx;
					height: 50upx;
					margin-left: 280upx;
				}
				.select {
					.arrow {
						float: right;
						width: 16upx;
						height: 29upx;
						margin-top: 10upx;
					}

					.picker {
						height: 50upx;
						line-height: 50upx;
						font-size: 26upx;
						color: #666;
					}
				}
			}
			.sure-btn {
				width: 100%;
				height: 80upx;
				font-size: 28upx;
				color: #fff;
				text-align: center;
				line-height: 80upx;
				border-radius: 8upx;
				background: #0066cc;
				background: linear-gradient(to right, #ffc200, #ff9000); /*设置按钮为渐变颜色*/
				margin-top: 50upx;
			}
		}
		.list-box {
			.list-item {
				background: #fff;
				margin-bottom: 10upx;
				.title {
					border-bottom: 1px solid #eee;
					padding: 20upx 10upx;
					overflow: hidden;
					line-height: 40upx;
					.line {
						display: inline-block;
						width: 10upx;
						height: 32upx;
						background: $assistColor;
						margin-top: 4upx;
					}
					.text {
						display: inline-block;
						font-size: 28upx;
						color: #444;
						font-weight: bold;
						margin-left: 10upx;
						vertical-align: top;
					}
					.status {
						font-size: 26upx;
						color: $assistColor;
						float: right;
					}
					.status1 {
						font-size: 26upx;
						color: #00c277;
						float: right;
					}
					.status2 {
						font-size: 26upx;
						color: red;
						float: right;
					}
				}
				.content {
					padding: 10upx 20upx;
					// padding:10upx 10upx 60upx 10upx;
					.info-item {
						overflow: hidden;
						padding-bottom: 10upx;
						.fl-text {
							float: left;
							font-size: 26upx;
							color: #444;
							font-weight: bold;
							line-height: 40upx;
						}
						.fr-text {
							float: right;
							font-size: 26upx;
							color: #666;
							line-height: 40upx;
						}
					}
				}
			}
			.comment-btn {
				float: right;
				font-size: 24upx;
				border-radius: 10upx;
				color: #fff;
				line-height: 50upx;
				text-align: center;
				min-width: 140upx;
				background-color: #00c277;
			}
		}
	}
}
#addbtn {
	height: 120upx;
	background-color: #ffffff;
	padding: 30upx;
	border-radius: 30upx;
	color: #333333;
	border-bottom: 0.033333rem solid #eee;
	align-items: center;
	position: relative;
	margin-top: 20upx;
}
.addbtn view text:nth-child(1) {
	font-size: 32upx;
	margin-left: 220upx;
	color: #00c277;
}
.addbtn view text:nth-child(2) {
	font-size: 32upx;
	margin-left: 180upx;
	color: #00c277;
}
.tips {
	font-size: 22upx;
	// margin-left: 80upx;
	margin-top: 20upx;
}
uni-radio .uni-radio-input {
    -webkit-appearance: none;
    appearance: none;
    margin-right: 5px;
    outline: 0;
    border: 1px solid #d1d1d1;
    background-color: #fff;
    border-radius: 50%;
    width: 18px!important;
    height: 18px!important;
    position: relative;
}
</style>
