<template>
	<view class="uni-container uni-container-bg">
		<!-- 搜索框 -->
		<uni-row class="demo-uni-row padding-tb-sm" :gutter="20" width="100%">
			<uni-col :span="24">
				<view class="u-page__tag-item">
					<u-search placeholder="请输入培训演练名称" bgColor="#edf6f9" borderColor="#4cb2b6" v-model="keyword"
						:show-action="true" @custom="search"></u-search>
				</view>
			</uni-col>
		</uni-row>
		<!-- 下拉框 -->
		<view class="u-page__tag-item"
			style="margin-bottom: 26upx;width: 700upx;border-bottom: 2px solid #55cbbf;background-color: #f5f7fa;">
			<u-form>
				<u-form-item prop="orgName" @click="
						showOrg = true;
						hideKeyboard();
					" label="单位选择:" labelWidth="100px">
					<!-- <u-picker :show="showOrg" :columns="actions"></u-picker> -->
					<u--input border="none" disabled v-model="formData.orgName" placeholder="请选择所属单位"></u--input>
					<u-icon slot="right" name="arrow-down"></u-icon>
				</u-form-item>
			</u-form>
		</view>

		<!-- 卡片栏 -->
		<view v-if="tableData.length>0 && isLoaded">
			<view v-for="(item, index) in tableData" :key="index"
				v-if="formData.orgName == item.orgName || formData.orgId == item.orgId">
				<uni-card>
					<!-- 标题 -->
					<view class="titles">{{ item.drillTitle }}</view>
					<!-- 简要内容 -->
					<view style="display: flex;margin-bottom: 15rpx; color: #728f90;">
						<text class="name-align-drill">培训演练时间：</text>
						<text class="conts">{{ item.drillDate }}</text>
					</view>
					<view style="display: flex;margin-bottom: 15rpx; color: #728f90;">
						<text class="name-align-drill">培训演练地点：</text>
						<text class="conts">{{ item.drillPlace }}</text>
					</view>
					<view style="display: flex;margin-bottom: 15rpx; color: #728f90;">
						<text class="name-align-drill">记录类型:</text>
						<text class="conts max-width">{{ item.drillTypeName }}</text>
					</view>
					<!-- 删除按钮 -->
					<view class="an-niu" @click.native="showModal(item)">
						<view class="detailDel">删除</view>
					</view>
					<view class="an-niu" @click.native="onClick(item,formData.orgName)" link><text
							class="detail">查看详情</text></view>
				</uni-card>
			</view>
		</view>
		<!-- tableData为空时显示  -->
		<view v-else-if="tableData.length==0 && isLoaded" style="text-align: center;">
			<view class="text-gray" style="padding-top: 20px;" v-if="tableData == 0">
				<img :src="tan90" alt="暂无数据" />
			</view>
		</view>
		<view>
			<image :src="Group" @click="addClick" class="tiantupian"></image>
		</view>
		<u-action-sheet :show="showOrg" :actions="actions" title="请选择单位" @close="showOrg = false"
			@select="sexSelect"></u-action-sheet>
		<u-modal :show="show" @confirm="confirm" @cancel="cancel" @close="close" asyncClose closeOnClickOverlay
			showCancelButton confirmColor="red" :title="title" :content="content" ref="uModal"></u-modal>
		<!-- 加载中 -->
		<isLodingModel></isLodingModel>
	</view>
</template>
<script>
	var that = '';
	import {
		getDrill, //获取培训演练信息列表
		delDrill, //删除培训演练信息
		getOrgId //获取orgId
	} from '@/api/drill';
	import config from '@/config'
	const baseUrlImg = config.baseUrlImg
	export default {
		data() {
			return {
				isLoaded: false,
				Group: `${baseUrlImg}/checkActive/Group.png`,
				showOrg: false,
				actions: [],
				// 数据
				tableData: [],
				title: '是否删除该数据项?',
				content: '确认删除？',
				id: '',
				tan90: `${baseUrlImg}/tan90.png`,
				// 每页数据量
				pageSize: 10,
				// 当前页
				pageNo: 1,
				// 数据总量
				total: 0,
				// tableData数据加载中
				loading: false,
				// 初始化时搜索框的值
				keyword: '',
				// 存放orgid,orgname
				formData: {
					orgName: ''
				},
				show: false,
				showtimeStart: false,
				showtimeEnd: false
			};
		},
		onLoad: function(option) {

		},
		watch: {
			loading: {
				handler(newLength, oldLength) {
					this.$modal.isLoadingModel(this.loading)
				},
				immediate: true
			}
		},
		onShow() {
			this.actions = []
			that = this;
			getOrgId({
				pageNo: this.pageNo,
				pageSize: this.pageSize,
				userId: this.$store.state.user.id
			}).then(response => {
				console.log(response, 'response');
				// 取到用户对应的单位名称与id
				response.data.map(v => {
					this.actions.push({
						id: v.dwid,
						name: v.orgName
					});
				});
				console.log(response.data, '21321312');
				this.formData.orgName = response.data[0].orgName;
				this.formData.orgId = response.data[0].dwid;
				this.tableData = []
				this.getData();
			});
		},
		onReady() {},
		mixins: [uni.$u.mixin],
		methods: {
			search(val) {
				console.log(val, 'valvals');
				this.isLoaded =false
				this.tableData = []
				this.getData(1)
			},
			// 模态框内容
			showModal(val) {
				this.show = true;
				this.id = val.id;
			},
			confirm() {
				this.show = false;
				delDrill({
					id: this.id
				}).then(response => {
					this.loading = true;
					this.isLoaded = false
					this.tableData = []
					this.getData();
					console.log(this.tableData, '获取培训演练信息详细信息获取培训演练信息详细信息获取培训演练信息详细信息获取培训演练信息详细信息');
				});
			},
			close() {
				this.show = false;
				console.log('close');
			},
			cancel() {
				this.show = false;
				console.log('cancel');
			},
			//查看详情
			addClickDetail(val) {
				console.log(val, 'val');
				uni.navigateTo({
					url: `/pagesA/fire/drill/add_drill/add_drill?item=${JSON.stringify(val)}`
				});
			},
			// 获取数据
			getData() {
				this.loading = true;
				// 获取培训演练信息详细信息
				getDrill({
					pageNo: this.pageNo,
					pageSize: this.pageSize,
					orgId: this.formData.orgId,
					drillTitle: this.keyword
				}).then(response => {
					this.isLoaded = true
					this.tableData = [...this.tableData, ...response.data.list]
					this.total=response.data.total
					this.loading = false
					// this.tableData = response.data.list;
					// console.log(this.tableData, '获取培训演练信息详细信息获取培训演练信息详细信息获取培训演练信息详细信息获取培训演练信息详细信息');
					// 根据返回值，显示记录类型的中文名称
					this.tableData.map(i => {
						console.log(i);
						if (i.drillType == 1) {
							i.drillTypeName = '培训'
						} else if (i.drillType == 2) {
							i.drillTypeName = '演练'
						}
					})
				});
			},

			// 传递数据
			onClick(val, orgName) {
				console.log(val, orgName, 'val');
				this.isLoaded = false
				uni.navigateTo({
					url: '/pagesA/fire/drill/drill_details/drill_details?id=' + val.id + '&orgName=' + orgName,
					events: {
						// 为指定事件添加一个监听器，获取被打开页面传送到当前页面的数据
						acceptDataFromOpenedPage: function(val) {
							console.log(val, '打开页面传送到当前页面的数据');
						}
					},
					success: function(res) {
						// 通过eventChannel向被打开页面传送数据
						res.eventChannel.emit('acceptDataFromOpenerPage', val);
					}
				});
			},

			// 删除培训演练信息
			onClickDel(val) {
				this.id = val.id;
				console.log(this.id);
				delDrill({
					id: this.id
				}).then(response => {
					this.loading = true;
					this.isLoaded = false
					this.tableData = []
					this.getData();
					console.log(this.tableData, '删除了');
				});
			},
			addClick() {
				this.isLoaded = false
				uni.navigateTo({
					url: `/pagesA/fire/drill/add_drill/add_drill?&orgName=${this.formData.orgName}&orgId=${this.formData.orgId}`,
				});
			},

			sexSelect(e) {
				this.formData.orgId = e.id;
				this.formData.orgName = e.name;
				// 获取培训演练信息详细信息
				getDrill({
					pageNo: this.pageNo,
					pageSize: this.pageSize,
					orgId: this.formData.orgId
				}).then(response => {
					this.tableData = response.data.list;
				});
			},

			// 触底的事件
			onReachBottom() {
				// 判断是否还有下一页数据
				if (this.pageNo * this.pageSize >= this.total)
					return uni.showToast({
						title: `数据加载完毕`
					});
				// 判断是否正在请求其它数据，如果是，则不发起额外的请求
				if (this.loading) return;
				this.pageNo += 1;
				this.getData(this.pageNo);
			},

			// 隐藏键盘
			hideKeyboard() {
				uni.hideKeyboard();
			},

			//日期范围
			// 开始日期
			confirmStarttime(e) {
				this.showtimeStart = false;
				console.log(e.value, e.mode);
				let value = new Date(e.value);
				this.formData.start = uni.$u.timeFormat(e.value, 'yyyy/mm/dd');
			}
		}
	};
</script>
<style lang="scss" scoped>
	body {
		background-color: #f5f7f9;
	}

	page {
		background-color: #f5f7f9;
	}

	/deep/ .u-tabs__wrapper[data-v-0de61367],
	/deep/ .u-tabs__wrapper.data-v-0de61367,
	/deep/ .u-tabs__wrapper {
		width: 99%;
	}

	/deep/.u-tabs__wrapper__nav__item[data-v-0de61367],
	/deep/.u-tabs__wrapper__nav__item.data-v-0de61367,
	/deep/.u-tabs__wrapper__nav__item {
		padding: 0 60rpx;
	}

	.uni-container {
		height: 100vh;
		padding-right: 20upx;
	}

	.addInsp {
		width: 40px;
		position: fixed;
		right: 4px;
		z-index: 99999;
	}

	::v-deep .u-icon__icon {
		margin-right: 0px !important;
	}

	.an-niu {
		float: right;
		font-size: 10px;
		text-align: center;
		display: flex;
		margin-top: -64upx;
		padding-bottom: 30rpx;
		// margin-top: 50rpx;
		color: #fff;

		.detail {
			width: 60px;
			height: 60rpx;
			padding: 0 20rpx;
			border-radius: 30px;
			background-color: #f7c41e;
			margin-right: 20rpx;
			text-align: center;
			line-height: 60rpx;
			font-size: 27upx;
		}

		.detailDel {
			width: 60px;
			height: 60rpx;
			padding: 0 20rpx;
			border-radius: 30px;
			background-color: #ff2e31;
			color: white;
			margin-right: 20rpx;
			text-align: center;
			line-height: 60rpx;
			font-size: 30upx;
		}

		.solve {
			width: 62px;
			height: 60rpx;

			margin-right: 20rpx;
			border-radius: 30px;
			background-color: #4cb2b6;
			line-height: 60rpx;
		}

		/deep/ .padding-tb-sm {
			padding-top: 0px;
			padding-bottom: 10px;
		}

		.deletes {
			width: 62px;
			height: 60rpx;
			border-radius: 60rpx;
			background-color: red;
			color: #fff;
			line-height: 60rpx;
		}
	}

	/deep/.segmented-control__item--button {
		background-color: rgb(76, 178, 182) !important;
	}

	/deep/.segmented-control__item--button--active {
		background-color: #ffffff !important;
	}

	/deep/.uni-card {
		box-shadow: 0px 0px 3px 0px rgba(86, 165, 168, 0.63) !important;
		border-radius: 30rpx;
	}

	.tiantupian {
		width: 110rpx;
		height: 110rpx;
		position: fixed;
		right: 15px;
		bottom: 80rpx;
	}

	//列表样式
	.titles {
		font-weight: 600;
		margin-bottom: 10rpx;
		color: black;
		font-size: 32rpx;
	}

	.conts {
		max-width: 470rpx;
		display: -webkit-box;
		/*弹性伸缩盒子模型显示*/
		-webkit-box-orient: vertical;
		/*排列方式*/
		-webkit-line-clamp: 1;
		/*显示文本行数*/
		overflow: hidden;
		/*溢出隐藏*/
		color: #274647;
		text-overflow: ellipsis;
		/*不知道干嘛的*/

		.conts-title {
			margin-right: 10rpx;
			color: #728f90;
		}
	}

	.max-width {
		max-width: 180upx;
	}

	/deep/ .u-form-item__body__left__content__label {
		font-size: 28upx !important;
	}
</style>