<template>
	<view class="list-body">
		<uni-nav-bar @clickLeft="goBack()" class="nav-bar" height="110rpx" leftWidth="400rpx" leftText="添加作业许可证"
			leftIcon="left" border backgroundColor="#2cade8" color="#fff" fixed statusBar shadow></uni-nav-bar>
		<view class="form-info">
			<view class="form-item border-bottom" style="height: 100rpx;">
				<view class="">
					<text class="form-left-text">关联作业</text>
				</view>
				<view class="form-right">
					<view>{{operationName}}</view>
				</view>
			</view>
			<view class="form-item" style="height: 100rpx;">
				<view class="">
					<text class="form-left-text">许可证类型</text>
				</view>
				<view class="form-right">
					<view>动火</view>
				</view>
			</view>
		</view>
		<view class="form-info">
			<view class="form-content ">
				<view class="form-item border-bottom">
					<view class="form-left">
						<text class="star">*</text>
						<text class="form-left-text">开始时间</text>
					</view>
					<view class="form-right form-date">
						<picker mode="date" :value="formData.start_time" @change="bindStartDateChange">
							<view class="uni-input">{{formData.start_time}}</view>
						</picker>
					</view>
				</view>
				<view class="form-item border-bottom">
					<view class="form-left">
						<text class="star">*</text>
						<text class="form-left-text">结束时间</text>
					</view>
					<view class="form-right form-date">
						<picker mode="date" :value="formData.end_time" @change="bindEndDateChange">
							<view class="uni-input">{{formData.end_time}}</view>
						</picker>
					</view>
				</view>
				<view class="form-item border-bottom">
					<view class="form-left">
						<text class="star">*</text>
						<text class="form-left-text">作业级别</text>
					</view>
					<view class="form-right">
						<uni-data-select v-model="formData.level" :localdata="leveloptions" >
						</uni-data-select>
					</view>
				</view>
				<view class="form-item border-bottom">
					<view class="form-left">
						<text class="star">*</text>
						<text class="form-left-text">作业部门</text>
					</view>
					<view class="form-right">
						<uni-data-picker placeholder="请选择业务部门" popup-title="请选择业务部门" :localdata="depRange"
							v-model="formData.dept_do">
						</uni-data-picker>
					</view>
				</view>

				<view class="form-item border-bottom">
					<view class="form-left">
						<text class="star">*</text>
						<text class="form-left-text">作业负责人</text>
					</view>
					<view class="form-right">
						<uni-data-select v-model="formData.charger" :localdata="userRange">
						</uni-data-select>
					</view>
				</view>
				<view class="form-item border-bottom">
					<view class="form-left">
						<text class="star">*</text>
						<text class="form-left-text">作业监护人</text>
					</view>
					<view class="form-right">
						<uni-data-select v-model="formData.monitor" :localdata="userRange" >
						</uni-data-select>
					</view>
				</view>
				<view class="form-item border-bottom" style="height: fit-content;">
					<view class="form-left">
						<text class="star">*</text>
						<text class="form-left-text">风险选择</text>
						<!-- risks_checked -->
					</view>
					<view class="form-right">
						<checkbox-group>
							<label v-for="(item,index) in risklist"  :key="item.value">
								<checkbox :value="item.id" :checked="item.checked" />{{item.name}}
							</label>
						</checkbox-group>
					</view>
				</view>
				<view class="form-item border-bottom">
					<view class="form-left">
						<text class="star">*</text>
						<text class="form-left-text">其他风险</text>
					</view>
					<view class="form-right">
						<input type="text" v-model="formData.other_risk" maxlength="50" placeholder="请输入" />
					</view>
				</view>
				<view class="form-item border-bottom" style="height: fit-content;">
					<view class="form-left">
						<text class="star">*</text>
						<text class="form-left-text">措施选择</text>
						<!-- measures_checked -->
					</view>
					<view class="form-right">
						<checkbox-group>
							<label v-for="(item,index) in measurelist"  :key="item.value" style="margin-right: 20rpx;margin-bottom: 20rpx;">
								<checkbox :value="item.id"  :checked="item.checked" />{{item.name}}
							</label>
						</checkbox-group>
					</view>
				</view>
				<view class="form-item border-bottom">
					<view class="form-left">
						<text class="star">*</text>
						<text class="form-left-text">其他应急处置</text>
					</view>
					<view class="form-right">
						<input type="text" v-model="formData.other_emr" maxlength="50" placeholder="请输入" />
					</view>
				</view>
				
			</view>
			
		</view>
		<view class="btn">
			<button type="primary" class="save-btn" @click="saveSubmit">下一步</button>
		</view>
	</view>
</template>

<script>
	export default {
		name: "fire",
		data() {
			return {
				formData: {
					id: "",
					start_time: null,
					end_time: null,
					operation: "",
					cate: "",
					level: '',
					dept_do: '',
					charger: '',
					monitor: '',
					other_emr: '',
					other_risk: '',
					risks_checked: [],
					measures_checked: [],
				},
				operationName: '',
				oplCateName: '',
				risklist: [],
				measurelist: [],
				range: [],
				userRange: [],
				//部门
				depRange: [],
				leveloptions: [{
						value: 10,
						text: "特殊动火"
					},
					{
						value: 20,
						text: "一级动火"
					},
					{
						value: 30,
						text: "二级动火"
					},
				],
			}
		},
		onLoad(params) {
			// debugger;
			console.log(params)
			this.operationId = params.operationId;
			this.oplcateId = params.oplcateId;
			this.formData.cate = this.oplcateId;
			this.formData.operation = this.operationId;
		},
		onShow() {
			debugger;
			this.getOperation();
			this.getOplcates();
			this.getdept();
			this.getRange();
			this.getUserRange();
		},
		methods: {
			//获取工作operation
			getOperation() {
				let that = this;
				that.$u.api.operationItem(that.operationId).then((res) => {
					that.formData.start_time = res.start_time; //作业开始时间
					that.formData.end_time = res.end_time; //作业结束时间
					that.operationName = res.name; //作业
					console.log(res);
				});
			},
			//根据作业许可证类别ID获取，风险、措施===>作业许可证类别详情
			getOplcates() {
				let that = this;
				that.$u.api.oplCateItem(that.oplcateId).then((res) => {
					console.log(res); //
					that.oplCateName = res.name;
					that.oplcateCode = res.code;
					let risklist = res.risk_options_; //风险缝隙
					that.risklist = [];
					risklist.forEach(item=>{
						let obj = {};
						obj=item;
						obj.checked  = false;
						that.risklist.push(obj)
					})

					let measurelist = res.measure_options_; //风险缝隙
					that.measurelist = [];
					measurelist.forEach(item=>{
						let obj = {};
						obj=item;
						obj.checked  = false;
						that.measurelist.push(obj)
					})
				});
			},
			//获取作业区域
			getRange() {
				this.$u.api.areaLists({page: 0}).then(res => {
					let range = [];
					let obj = {};
					res.forEach(item => {
						obj = {value: null,text: ''};
						obj.value = item.id;
						obj.text = item.name;
						range.push(obj);
					})
					this.range = range
				})
			},
			//获取用户
			getUserRange() {
				this.$u.api.userList({page: 0}).then(res => {
					let user = [];
					let obj = {};
					res.forEach(item => {
						obj = {value: null,text: ''};
						obj.value = item.id;
						obj.text = item.name;
						user.push(obj);
					})
					this.userRange = user
				})
			},
			//获取dept
			getdept() {
				let that = this;
				that.$u.api.deptList({page: 0}).then(res => {
					that.depRange = that.redata(res);
				
					console.log(that.depRange)
				})
			},
			redata(postList) {
				let posts = [];
				postList.forEach((item) => {
					let obj = new Object();
					obj = {
						...item
					};
					obj.value = item.id;
					obj.text = item.name;
					obj.parentId = item.parent;
					posts.push(obj);
				});
				let obj = posts.reduce((res, v) => ((res[v.id] = v), res), {}); //Object
				let arr = [];
				for (let item of posts) {
					if (item.parentId == null) {
						arr.push(item);
						continue;
					}
					let parent = obj[item.parentId];
					parent.children = parent.children ? parent.children : [];
					parent.children.push(item);
				}
				console.log(arr);
				return arr;
			},
			select(row) {},
			goBack() {
				uni.navigateBack({
					delta: 1
				})
			},

			add() {
				uni.navigateTo({
					url: '/pages/workSpace/newWork/addUser'
				})
			},
			edit(row) {},
			saveSubmit(){
				//添加人员
			},
		}
	}
</script>

<style>
	>>>.uni-navbar__header,
	>>>.uni-status-bar {
		background-image: linear-gradient(90deg, #164cc3 0%, #2c6fd9 100%), linear-gradient(#e60012, #e60012) !important;
	}

	.list-body {
		background-color: #f3fbff;
		padding-bottom: 113px;
	}

	.form-info {
		width: 710upx;
		margin: 0 auto;
		background-color: #FFFFFF;
		border-radius: 5px;
		padding: 12px 16px;
		box-sizing: border-box;
		margin-top: 12px;
	}

	.row {
		padding: 10upx;
		margin-bottom: 20upx;
		border-bottom: 1upx solid #eeeeee;
	}

	.uni-list-cell {
		display: flex;
		padding: 10upx;
		margin-bottom: 20upx;
		border-bottom: 1upx solid #eeeeee;
	}

	.add {
		position: fixed;
		bottom: 0;
		width: 100%;
		height: 120upx;
		justify-content: center;
		align-items: center;
	}

	.btn {
		margin: auto;
		box-shadow: 0upx 5upx 10upx rgba(0, 0, 0, 0.4);
		width: 70%;
	}

	.save-btn {
		height: 80rpx;
		color: #fff;
		font-size: 30upx;
		justify-content: center;
		align-items: center;
	}

	.form-item {
		font-family: PingFang-SC-Medium;
		font-size: 30rpx;
		height: 200rpx;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}

	.form-left-text {
		color: #212121;
		margin-bottom: 33rpx;
	}

	.form-left {
		width: 100%;
	}

	.form-right {
		margin-left: 20rpx;
		flex: 1;
		color: #414141;
	}

	.form-right input {
		font-size: 30rpx;
	}

	.form-date>>>.uni-date__x-input {
		height: 97rpx;
		font-size: 30rpx;
	}

	.form-date>>>.uni-icons {
		display: none;
	}
	.form-right>>>.uni-label-pointer{
		min-width: 50%;
		    display: inline-block;
			margin-bottom: 20rpx;
	}

	.apply-reason-text {
		width: 653rpx;
		height: 179rpx;
		background-color: #f6f8fc;
		border: solid 1rpx #e5e5e5;
		margin-top: 21rpx;
		padding: 14rpx 24rpx;
		font-size: 26rpx;
		box-sizing: border-box;
	}

	.apply_require {
		margin-top: 0rpx !important;
	}

	.form-right {
		flex: 1;
		color: #414141;
	}

	.border-bottom {
		border-bottom: 1rpx solid #eeeeee;
	}
</style>
