<template>
	<view :class="isUps == true ? 'prevent' : ''">
		<cu-custom bgColor="bg-gradual-blueness" :isBack="true">
			<block slot="backText">返回</block>
			<block slot="content">其他隐患登记</block>
		</cu-custom>
		<scroll-view scroll-y="false" >
		<view class="form">
			<view class="cu-bar bg-white">
				<view class="action asterisk">
					隐患照片
				</view>
				<view class="action">
					{{imgList.length}}/4
				</view>
			</view>
			<view class="cu-form-group">
				<view class="grid col-4 grid-square flex-sub">
					<view class="bg-img" v-for="(item,index) in imgList" :key="index" @tap="ViewImage"  data-type="0" :data-url="imgList[index].filePath">
					 <image  :src="imgList[index].filePath" mode="aspectFill"></image>
						<view class="cu-tag bg-red" @tap.stop="DelImg"  data-type="0" :data-index="index">
							<text class='cuIcon-close'></text>
						</view>
					</view>
					<view class="solids" @tap="ChooseImage(0)" v-if="imgList.length<4">
						<text class='cuIcon-cameraadd'></text>
					</view>
				</view>
			</view>
			<view class="cu-bar bg-white">
				<view class="action">
					隐患视频
				</view>
				<view class="action">
          {{videoList.length}}/1
				</view>
			</view>
			<view class="cu-form-group">
				<view class="grid col-4 grid-square flex-sub">
          <view class="bg-img" v-for="(item,vindex) in videoList" :key="vindex" data-type="0"
                :data-url="videoList[vindex].filePath" style="background-color: #000">
            <image src="/static/icon-apps/video.png" mode="aspectFill" @click="playVideo"
                   :data-src="videoList[vindex].filePath"></image>
            <view class="cu-tag bg-red" @tap.stop="DelVideo" data-type="0" :data-index="vindex">
              <text class='cuIcon-close'></text>
            </view>
          </view>
					<view class="solids" @tap="chooseVideo(0)" v-if="videoList.length == 0">
						<text class='cuIcon-cameraadd'></text>
					</view>
				</view>
			</view>
			<view class="cu-form-textarea margin-top">
				<view class="cu-form-title text-hui asterisk">隐患描述</view>
				<textarea maxlength="-1" :disabled="modalName!=null" v-model="pd.HIDDENDESCR" placeholder="请对隐患进行详细描述(必填项)"></textarea>
			</view>
			<view class="cu-form-group margin-top">
				<view class="title">隐患部位</view>
				<view class="picker-tree-box">
					<view class="picker-tree" @tap="showHiddenRegionTree">{{pd.HIDDENPARTNAME?pd.HIDDENPARTNAME:'请选择'}}</view>
				</view>
				<tki-tree ref="hiddenRegionTree"
						  :selectParent=false
						  :range="hiddenRegionTreeList"
						  rangeKey="name"
						  @confirm="hiddenRegionTreeCon"
                  @cancel="zgtreeCancel"></tki-tree>
			</view>
			<view class="cu-form-group margin-top">
				<view class="title asterisk">隐患级别</view>
				<view class="picker-tree-box">
					<view class="picker-tree" @tap="showHiddenLevenTreeTree">{{pd.HIDDENLEVELNAME?pd.HIDDENLEVELNAME:'请选择'}}</view>
				</view>
				<tki-tree ref="hiddenLevenTree2"
						  :selectParent=false
						  :range="levelList"
						  rangeKey="name"
						  @confirm="hiddenLevenConfirm"
                  @cancel="zgtreeCancel"></tki-tree>
			</view>
			<view class="cu-form-group margin-top">
				<view class="title asterisk">隐患类型</view>
				<view class="picker-tree-box">
					<view class="picker-tree" @tap="showHiddenType1TreeTree">{{pd.HIDDENTYPE1NANEM?pd.HIDDENTYPE1NANEM:'请选择'}}</view>
				</view>
				<tki-tree ref="hiddenType1Tree"
						  :selectParent=false
						  :range="hiddenTypeList"
						  rangeKey="name"
						  @confirm="hiddenType1Confirm"
                  @cancel="zgtreeCancel"
						  >
				</tki-tree>
			</view>
			<!--<view class="cu-form-group margin-top">
				<view class="title">隐患类型2</view>
				<view class="picker-tree-box">
					<view class="picker-tree" @tap="showHiddenType2TreeTree">{{pd.HIDDENTYPE2NANEM?pd.HIDDENTYPE2NANEM:'请选择'}}</view>
				</view>
				<tki-tree ref="hiddenType2Tree"
						  :selectParent=false
						  :range="hiddenType2List"
						  rangeKey="name"
						  @confirm="hiddenType2Confirm"
                  @cancel="zgtreeCancel">
				</tki-tree>
			</view>-->
			<view v-if="pd.HIDDENLEVEL != 'jdyh001' && pd.HIDDENLEVEL !='hiddenLevel2002'" class="cu-form-group margin-top">
				<view class="title text-hui asterisk">是否立即整改</view>
				<radio-group class="selected">
					<view v-if="pd.HIDDENLEVEL != 'jdyh001' && pd.HIDDENLEVEL !='hiddenLevel2002'" class="group mr20">
						<radio class='radio'  value="1" :checked="RECTIFICATIONTYPE==1" @click="radioType(1)"></radio>
						<text>是</text>
					</view>
					<view class="group">
						<radio class='radio' value="2" :checked="RECTIFICATIONTYPE==2" @click="radioType(2)"></radio>
						<text>否</text>
					</view>
				</radio-group>
			</view>

			<view class="cu-form-group margin-top" v-if="RECTIFICATIONTYPE==2 && pd.HIDDENLEVEL != 'jdyh001' && pd.HIDDENLEVEL !='hiddenLevel2002'">
				<view class="title">整改责任部门</view>
				<view class="picker-tree-box">
					<view class="picker-tree" @tap="showZgTree">{{pd.RECTIFICATIONDEPTNAME?pd.RECTIFICATIONDEPTNAME:'请选择'}}</view>
				</view>
				<tki-tree ref="tkiTree"
						  :selectParent=true
						  :range="treeNode"
						  rangeKey="name"
						  @confirm="zgtreeConfirm"
						  @cancel="zgtreeCancel"></tki-tree>
			</view>
			<view class="cu-form-group margin-top" v-if="RECTIFICATIONTYPE==2 && rectificationUserList.length>0 && pd.HIDDENLEVEL != 'jdyh001' && pd.HIDDENLEVEL !='hiddenLevel2002'">
				<view class="title">整改责任人</view>
				<picker @change="PickerZgr" :value="uindex" :range="rectificationUserList" range-key="NAME">
					<view class="picker">
						{{pd.RECTIFICATIONORNAME?pd.RECTIFICATIONORNAME:'请选择'}}
					</view>
				</picker>
			</view>
			<view class="cu-form-group margin-top" v-if="RECTIFICATIONTYPE==2 && pd.HIDDENLEVEL != 'jdyh001' && pd.HIDDENLEVEL !='hiddenLevel2002'">
				<view class="title">整改期限</view>
				<picker mode="date" :value="pd.RECTIFICATIONDEADLINE" :start="rectifyPlanCompletionStartTime" @change="changeDate">
					<view class="picker">
						{{pd.RECTIFICATIONDEADLINE?pd.RECTIFICATIONDEADLINE:'请选择'}}
					</view>
				</picker>
			</view>
			<view class="cu-form-group margin-top" v-if=" pd.HIDDENLEVEL != 'jdyh001' && pd.HIDDENLEVEL !='hiddenLevel2002'">
				<view class="title asterisk">隐患确认人</view>
				<picker @change="setConUser" :value="conUserIndex" :range="confirUserAllList" range-key="NAME">
					<view class="picker">
						{{pd.conUserName?pd.conUserName:'请选择'}}
					</view>
				</picker>
			</view>
			<view class="cu-form-group margin-top" v-if="RECTIFICATIONTYPE==2">
				<view class="title">隐患发现时间</view>
				<ruiDatePicker v-if="pd.DISCOVERYTIME"  fields="minute" :value="pd.DISCOVERYTIME || '请选择'"
							   @change="changeDiscoverDate"></ruiDatePicker>
				<text v-else>{{ pd.DISCOVERYTIME }}</text>
			</view>
			<view class="cu-form-group margin-top">
				<view class="title text-hui asterisk">是否相关方</view>
				<radio-group class="selected">
					<view class="group mr20">
						<radio class='radio' value="1" :checked="ISRELEVANT==1" @click="radioISRELEVANT(1)"></radio>
						<text>是</text>
					</view>
					<view class="group">
						<radio class='radio' value="2" :checked="ISRELEVANT==2" @click="radioISRELEVANT(2)"></radio>
						<text>否</text>
					</view>
				</radio-group>
			</view>
			<view class="cu-form-textarea margin-top">
				<view class="cu-form-title text-hui">隐患位置描述</view>
				<textarea maxlength="-1" :disabled="modalName!=null" v-model="pd.POSITIONDESC" placeholder="请对隐患位置进行详细描述(必填项)"></textarea>
			</view>
			<view class="cu-form-group margin-top">
				<view class="title">隐患上报位置:</view>
				<button class="cu-btn bg-green shadow" @tap="showMapModal" >定位</button>
			</view>
			<view class="cu-form-group margin-top"  v-if="pd.LONGITUDE && pd.LONGITUDE != 'undefined'">
				<view class="sign-title">经度:</view>
				<view class="wui-sign-cotent">{{pd.LONGITUDE}}</view>
			</view>
			<view class="cu-form-group margin-top"  v-if="pd.LATITUDE && pd.LATITUDE != 'undefined'">
				<view class="sign-title">纬度:</view>
				<view class="wui-sign-cotent">{{pd.LATITUDE}}</view>
			</view>
			<view class="add_pard_box">
				<view class="add_pard_btns">
					<view class="add_pard_b">
						<button class="cu-btn round bg-blue" @click="addOther">添加</button>
					</view>
				</view>
				<view class="add_pard_item" v-for="(item,index) of other">
					<view class="add_pard_del" v-if="index>0" @click="removeOther(index)">
						<text class="cuIcon-roundclosefill text-red f40"></text>
					</view>
					<view class="cu-form-group">
						<view class="title">隐患发现人部门</view>
						<view class="picker-tree-box">
							<view class="picker-tree"
								  @tap="showConTree(index)">{{other[index].DEPARTMENT_NAME?other[index].DEPARTMENT_NAME:'请选择'}}</view>
						</view>
						<tki-tree :ref="'tkiConfirmTree'+index"
								  :selectParent=true
								  :range="treeNode"
								  rangeKey="name"
								  @confirm="contreeConfirm($event,index)"
                      @cancel="zgtreeCancel"></tki-tree>
					</view>
					<view class="cu-form-group">
						<view class="title">隐患发现人</view>
						<picker @change="PickerYsr($event,index)" :value="other[index].index"
								@click="haveUser(otherUserList[index])"
								:disabled="otherUserList[index] ==null || otherUserList[index].length==0" :range="otherUserList[index]" range-key="NAME">
							<view class="picker">
								{{other[index].USER_NAME?other[index].USER_NAME:'请选择'}}
							</view>
						</picker>
					</view>
				</view>
			</view>
			<view class="cu-form-textarea margin-top" v-if="RECTIFICATIONTYPE==1">
				<view class="cu-form-title text-hui asterisk">整改描述</view>
				<textarea maxlength="-1" :disabled="modalName!=null" v-model="pd.RECTIFYDESCR" placeholder="请对隐患进行整改描述(必填项)"></textarea>
			</view>
			<view class="cu-bar bg-white margin-top" v-if="RECTIFICATIONTYPE==1">
				<view class="action">
					整改后图片
				</view>
				<view class="action">
					{{imgList1.length}}/4
				</view>
			</view>
			<view class="cu-form-group" v-if="RECTIFICATIONTYPE==1">
				<view class="grid col-4 grid-square flex-sub">
					<view class="bg-img" v-for="(item,index) in imgList1" :key="index" @tap="ViewImage" data-type="1" :data-url="imgList1[index].filePath">
						<image  :src="imgList1[index].filePath" mode="aspectFill"></image>
						<view class="cu-tag bg-red" @tap.stop="DelImg"  data-type="1" :data-index="index">
							<text class='cuIcon-close'></text>
						</view>
					</view>
					<view class="solids" @tap="ChooseImage(1)" v-if="imgList1.length<4">
						<text class='cuIcon-cameraadd'></text>
					</view>
				</view>
			</view>
		</view>
		<view class="padding flex flex-direction">
			<button class="cu-btn bg-blue margin-tb-sm lg" @click="$noMultipleClicks(goSubmit)">提交</button>
		</view>
		</scroll-view>
    <view :class="['cu-modal',{'show':modalShow}]" v-if="modalShow">
      <view class="cu-dialog">
        <view class="cu-bar bg-white justify-end">
          <view class="content">播放视频</view>
          <view class="action" @tap="modalShow = false">
            <text class="cuIcon-close text-red"></text>
          </view>
        </view>
        <video :src="videoSrc" :autoplay="true"></video>
        <view class="cu-bar bg-white justify-end">
          <view class="action">
            <button class="cu-btn line-green text-green" @click="modalShow = false">关闭</button>
          </view>
        </view>
      </view>
    </view>
	</view>
</template>

<script>
	import {
		basePath,corpinfoId,deptId,loginUser,formatDate,loginSession,baseImgPath
	} from '@/common/tool.js';
	import tkiTree from "@/components/select-tree/select-tree.vue"
	import gcoord from '@/common/gcoord.js'
	import ruiDatePicker from '@/components/rattenking-dtpicker/rattenking-dtpicker.vue';
	export default {
		components: {
			tkiTree , ruiDatePicker
		},
		data() {
			return {
				isUps:false,
				msg:'add',
				riskId:'',
				itemId:'',
				index:'',
				noClick:true,
				pd:{"RECTIFICATIONTYPE":2,
					LONGITUDE: '',
					LATITUDE: '',ISRELEVANT: '1'},
				imgList: [],
				imgList1: [],
				HIDDENDESCR:'',//隐患描述
				HIDDENPART:'',//隐患部位
				modalName: null,
				id:'',
				CHECK_CONTENT:'',
				checkId:'',
				RECTIFYDESCR:'',//整改描述
				RECTIFICATIONTYPE:2,//是否立即
				ISRELEVANT: '2', //是否相关方
				treeNode:[],//部门下拉数据
				RECTIFICATIONDEPT:'',//整改部门
				RECTIFICATIONDEPTNAME:'请选择',//整改部门
				CHECKDEPT:'',//验收部门
				CHECKDEPTNAME:'请选择',//验收部门
				rectificationUserList:[],
				RECTIFICATIONOR:'',//整改人
				uindex: -1,
				lindex: -1,
				levelList:[],
				tindex: -1,
				hiddenTypeList:[],
				hiddenType2List:[],
				HIDDENLEVEL:'',//隐患级别
				RECTIFICATIONDEADLINE:'',//整改期限
				rectifyPlanCompletionStartTime:'',
				LISTMANAGER_ID:'',
				CHECKRECORD_ID:'' ,
				hiddenRegionTreeList:[],
				confirUserAllList:[],
				other:[],
				otherUserList:[],
				videoList:[],
				conUserIndex: -1,
				todayDate :  formatDate(new Date(), 'yyyy-MM-dd hh:mm'),
        modalShow: false,
        videoSrc: ''
			}
		},
		onLoad(event){
			let now = new Date();
			var tomorrow=now.setDate(now.getDate()+1);
			tomorrow=new Date(tomorrow);
			this.rectifyPlanCompletionStartTime =  formatDate(tomorrow, 'yyyy-MM-dd');
			this.pd.HIDDEN_ID = event.HIDDEN_ID;
			this.CHECKRECORD_ID = event.CHECKRECORD_ID;
			if(this.pd.HIDDEN_ID){
				this.msg="edit";
				this.getData();
			}else {
				// this.pd.CHECK_CONTENT = JSON.parse(decodeURIComponent(event.checkContent));
				// this.riskId = JSON.parse(decodeURIComponent(event.riskId));
				// this.itemId = JSON.parse(decodeURIComponent(event.itemId));
				// this.index = event.index;
				this.LISTMANAGER_ID = event.listId;
			}
			this.pd.DISCOVERYTIME = formatDate(new Date(), 'yyyy-MM-dd hh:mm')
			this.getDept();
			this.myOther();
			this.getConfirmUser()
			loginSession();
		},
		methods: {
			getData() {
				var _this = this;
				uni.showLoading({
					title: '请稍候'
				})
				uni.request({
					url: basePath + '/app/hidden/goEdit',
					method: 'POST',
					dataType: 'json',
					header: {
						'Content-type': 'application/x-www-form-urlencoded'
					},
					data: {
						HIDDEN_ID: _this.pd.HIDDEN_ID,
					},
					success: (res) => {
						if ("success" == res.data.result) {
							uni.hideLoading();
							_this.pd = res.data.pd; //参数map
							_this.ISRELEVANT = res.data.pd.ISRELEVANT
							_this.RECTIFICATIONTYPE=_this.pd.RECTIFICATIONTYPE;
							_this.pd.HIDDENPARTNAME = _this.pd.hregionName; //
							_this.pd.HIDDENTYPE1NANEM = res.data.pd.HIDDENTYPENAME; //
							_this.pd.HIDDENTYPE2NANEM = res.data.pd.HIDDENTYPENAME2; //
							_this.pd.confirmDeptName = res.data.pd.hregionDeptName; //
							_this.pd.conUserName = res.data.pd.conUserName; //
							let files=res.data.hImgs;
							for(var i=0;i<files.length;i++){
								let img={};
								img.filePath=baseImgPath+files[i].FILEPATH;
								img.id=files[i].IMGFILES_ID;
								_this.imgList.push(img);
							}
							let files1=res.data.rImgs;
							for(var i=0;i<files1.length;i++){
								let img={};
								img.filePath=baseImgPath+files[i].FILEPATH;
								img.id=files[i].IMGFILES_ID;
								_this.imgList1.push(img);
							}
							_this.getUserList();
							for(var i=0;i<res.data.hiddenVideo.length;i++){
								let video={};
								video.filePath=baseImgPath+res.data.hiddenVideo[i].FILEPATH;
								video.id=res.data.hiddenVideo[i].IMGFILES_ID;
								_this.videoList.push(video);
							}
						} else if ("exception" == data.result) {
							uni.showToast({
								title: '错误',
								duration: 2000
							});
						}
					}
				});
			},
			getDept() {
				var _this = this;
				uni.request({
					url: basePath + '/app/sys/listTree',//部门下拉接口
					method: 'POST',
					dataType: 'json',
					header: {
						'Content-type':'application/x-www-form-urlencoded'
					},
					data: {
						CORPINFO_ID : corpinfoId,
					},
					success: (res) => {
						if("success" == res.data.result){
								_this.treeNode=eval(res.data.zTreeNodes);
						} else {
							uni.showToast({
								title: res.data.message,
								duration: 2000
							});
						}
					}
				});
			},
			// 确定回调事件
			zgtreeConfirm(e) {
				this.isUps=false;
				this.pd.RECTIFICATIONDEPT=e[0].id;
				this.pd.RECTIFICATIONDEPTNAME=e[0].name;
				this.uindex=-1;
				this.pd.RECTIFICATIONOR='';
				this.pd.RECTIFICATIONORNAME='';
				this.$forceUpdate();//强制刷新
				this.getUserList();
			},
			// 取消回调事件
			zgtreeCancel(e) {
				this.isUps=false;
			},
			// 显示树形选择器
			showZgTree() {
				this.isUps=true
				this.$refs.tkiTree._show();
			},

			// 确定回调事件
			ystreeConfirm(e) {
				this.pd.CHECKDEPT=e[0].id;
				this.pd.CHECKDEPTNAME=e[0].name;
				this.$forceUpdate();//强制刷新
			},
			// 显示树形选择器
			showYsTree() {
				this.$refs.tkiTree1._show();
			},
			//获取人员列表
			getUserList(){
				//发送 post 请求
				var _this = this;
				uni.request({
					method: 'POST',
					dataType: 'json',
					header: {
						'Content-type':'application/x-www-form-urlencoded'
					},
					url: basePath+'/app/sys/listUser',
					data: {DEPARTMENT_ID:_this.pd.RECTIFICATIONDEPT, NOMAIN:'1',tm:new Date().getTime()},
					success: function(res){
						if("success" == res.data.result){
								_this.rectificationUserList=res.data.userList;
						}else{
							uni.showToast({
								title: res.data.message,
								duration: 2000
							});
						}
					}
				})
			},
			PickerZgr(e) {
				this.uindex = e.detail.value;
				this.pd.RECTIFICATIONOR=this.rectificationUserList[this.uindex].USER_ID;
				this.pd.RECTIFICATIONORNAME=this.rectificationUserList[this.uindex].NAME;
				this.$forceUpdate();//强制刷新
			},
			//获取数据字典数据
			getLevel: function () {
				var _this = this;
				uni.request({
					method: 'POST',
					dataType: 'json',
					header: {
						'Content-type': 'application/x-www-form-urlencoded'
					},
					url: basePath + '/dictionaries/getLevels?tm=' + new Date().getTime(),
					data: {DICTIONARIES_ID: '5e7cf8620ba54ad89719d0be62133c7a'},
					dataType: 'json',
					success: function (res) {
						_this.levelList = res.data.list;
					}
				});
			},
			levelPickerChange(e) {
				this.lindex = e.detail.value;
				this.pd.HIDDENLEVEL=this.levelList[this.lindex].BIANMA;
				this.pd.HIDDENLEVELNAME=this.levelList[this.lindex].NAME;
				this.$forceUpdate();//强制刷新
			},
			getHiddenType: function () {
				var _this = this;
				uni.request({
					method: 'POST',
					dataType: 'json',
					header: {
						'Content-type': 'application/x-www-form-urlencoded'
					},
					url: basePath + '/dictionaries/getLevels?tm=' + new Date().getTime(),
					data: {DICTIONARIES_ID: '3babc15144444bdc8d763d0af2bdfff6'},
					dataType: 'json',
					success: function (res) {
						_this.hiddenTypeList = res.data.list;
					}
				});
			},
			typePickerChange(e) {
				this.tindex = e.detail.value;
				this.pd.HIDDENTYPE=this.hiddenTypeList[this.tindex].BIANMA;
				this.pd.HIDDENTYPENAME=this.hiddenTypeList[this.tindex].NAME;
				this.$forceUpdate();//强制刷新
			},
			changeDate(e) {
				this.pd.RECTIFICATIONDEADLINE = e.detail.value
				this.$forceUpdate();//强制刷新
			},
			radioISRELEVANT(e){
				this.pd.ISRELEVANT = e
			},
			//图片上传
			ChooseImage(e) {
				var _this = this;
				var ss=4-this.imgList.length;
				uni.chooseImage({
					count: ss, //默认9
					sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
					sourceType: ['camera','album'], //从相册选择
					success: (res) => {
						for (let i = 0; i < res.tempFilePaths.length; i++) {
							if (e == 0) {
								let img = {};
								img.id = '';
								img.filePath = res.tempFilePaths[i];
								this.imgList.push(img)
							} else {
								let img = {};
								img.id = '';
								img.filePath = res.tempFilePaths[i];
								this.imgList1.push(img)
							}
						}
					}
				});
			},
			ViewImage(e) {
				console.info(e.currentTarget.dataset.type)
				if(e.currentTarget.dataset.type==0) {
					let files =[];
					for(var i=0;i<this.imgList.length;i++){
						files.push(this.imgList[i].filePath)
					}
					uni.previewImage({
						urls: files,
						current: e.currentTarget.dataset.url
					});
				}else{
					let files =[];
					for(var i=0;i<this.imgList1.length;i++){
						files.push(this.imgList1[i].filePath)
					}
					uni.previewImage({
						urls: files,
						current: e.currentTarget.dataset.url
					});
				}
			},
			DelImg(e) {
				var _this = this;
				let i=e.currentTarget.dataset.index
				uni.showModal({
					title: '秦港-双基双控双控',
					content: '确定要删除这张图片吗?',
					cancelColor:"#000000",
					cancelText: '取消',
					confirmText: '确定',
					success: res => {
						if (res.confirm) {
							if(e.currentTarget.dataset.type==0) {
								if(_this.imgList[i].id) {
									uni.showLoading({
										title: '处理中'
									})
									uni.request({
										url: basePath+'/app/imgfiles/delete',
										method: 'POST',
										dataType: 'json',
										header: {
											'Content-type':'application/x-www-form-urlencoded'
										},
										data: {
											IMGFILES_ID: _this.imgList[i].id,
										},
										success: (res) => {
											uni.hideLoading();
											uni.showToast({
												icon: 'none',
												title: '删除成功',
												duration: 1500
											});
											_this.imgList.splice(i, 1)
										},
										fail: (err) => {
											uni.hideLoading();
											uni.showModal({
												content: err.errMsg,
												showCancel: false
											});
										}
									})
								}else {
									this.imgList.splice(e.currentTarget.dataset.index, 1)
								}
							}else{
								if(_this.imgList1[i].id) {
									uni.showLoading({
										title: '处理中'
									})
									uni.request({
										url: basePath+'/app/imgfiles/delete',
										method: 'POST',
										dataType: 'json',
										header: {
											'Content-type':'application/x-www-form-urlencoded'
										},
										data: {
											IMGFILES_ID: _this.imgList1[i].id,
										},
										success: (res) => {
											uni.hideLoading();
											uni.showToast({
												icon: 'none',
												title: '删除成功',
												duration: 1500
											});
											_this.imgList1.splice(i, 1)
										},
										fail: (err) => {
											uni.hideLoading();
											uni.showModal({
												content: err.errMsg,
												showCancel: false
											});
										}
									})
								}else {
									this.imgList1.splice(e.currentTarget.dataset.index, 1)
								}
							}
						}
					}
				})
			},
			textareaAInput(e){
				this.pd.HIDDENDESCR= e.detail.value
			},
			textareaBInput(e){
				this.pd.HIDDENPART= e.detail.value
			},
			textareaCInput(e){
				this.pd.RECTIFYDESCR= e.detail.value
			},
			goSubmit() {
				var _this = this;
				// if (!_this.pd.CHECKDEPT) {
				// 	uni.showToast({
				// 		icon: 'none',
				// 		title: '请选择验收部门',
				// 		duration: 1500
				// 	});
				// 	return;
				// }
				if (_this.imgList.length <= 0) {
					uni.showToast({
						icon: 'none',
						title: '请上传隐患图片',
						duration: 1500
					});
					return;
				}
				if (!_this.pd.HIDDENDESCR) {
					uni.showToast({
						icon: 'none',
						title: '请填隐患描述',
						duration: 1500
					});
					return;
				}
				// if (!_this.pd.HIDDENPART) {
				// 	uni.showToast({
				// 		icon: 'none',
				// 		title: '请填隐患部位',
				// 		duration: 1500
				// 	});
				// 	return;
				// }
				if (!_this.pd.HIDDENLEVEL) {
					uni.showToast({
						icon: 'none',
						title: '请选择隐患级别',
						duration: 1500
					});
					return;
				}
				if (!_this.pd.HIDDENTYPE) {
					uni.showToast({
						icon: 'none',
						title: '请选择隐患类型',
						duration: 1500
					});
					return;
				}
				if (_this.RECTIFICATIONTYPE == 1 && !_this.pd.RECTIFYDESCR) {
					uni.showToast({
						icon: 'none',
						title: '请填整改描述',
						duration: 1500
					});
					return;
				}
				if (_this.RECTIFICATIONTYPE == 1 && _this.imgList1.length <= 0) {
					uni.showToast({
						icon: 'none',
						title: '请上传整改后图片',
						duration: 1500
					});
					return;
				}
				if (!_this.pd.ISRELEVANT) {
					uni.showToast({
						icon: 'none',
						title: '请选择是否相关方',
						duration: 1500
					});
					return;
				}
				/*if (_this.RECTIFICATIONTYPE == 2 && !_this.pd.RECTIFICATIONDEPT && _this.pd.HIDDENLEVEL != 'jdyh001' && _this.pd.HIDDENLEVEL !='hiddenLevel2002') {
					uni.showToast({
						icon: 'none',
						title: '请选择整改部门',
						duration: 1500
					});
					return;
				}
				if (_this.RECTIFICATIONTYPE == 2 && !_this.pd.RECTIFICATIONOR && _this.pd.HIDDENLEVEL != 'jdyh001' && _this.pd.HIDDENLEVEL !='hiddenLevel2002') {
					uni.showToast({
						icon: 'none',
						title: '请选择整改人',
						duration: 1500
					});
					return;
				}
				if (_this.RECTIFICATIONTYPE == 2 && !_this.pd.RECTIFICATIONDEADLINE && _this.pd.HIDDENLEVEL != 'jdyh001' && _this.pd.HIDDENLEVEL !='hiddenLevel2002') {
					uni.showToast({
						icon: 'none',
						title: '请选择整改期限',
						duration: 1500
					});
					return;
				}*/
				var fileList = [];
				for (var i = 0; i < _this.imgList.length; i++) {
					if(!_this.imgList[i].id){
						var file = {};
						file.type = 3;
						file.filePath = _this.imgList[i].filePath;
						fileList.push(file);
					}
				}
				if (_this.RECTIFICATIONTYPE == 1){
					for (var i = 0; i < _this.imgList1.length; i++) {
						if(!_this.imgList1[i].id) {
							var file = {};
							file.type = 4;
							file.filePath = _this.imgList1[i].filePath;
							fileList.push(file);
						}
					}
				}
				if(_this.videoList.length>0){
					if(!_this.videoList[0].id){
						var file = {};
						file.type = 102;
						file.filePath = _this.videoList[0].filePath;
						fileList.push(file);
					}
				}
				new Promise((resolve, reject) => {
					_this.submit().then(() => {resolve();})
				}).then(() => {
					var i=0;
					_this.uploadImg(fileList,i).then(() => {resolve();})
				}).then(() => {
					var pages = getCurrentPages();	// 获取当前页面栈
					var prePage = pages[pages.length - 2];	// 上一个页面
					// var task = prePage.$vm.list[_this.index];
					if(_this.index) {
						prePage.$vm.initflag = true;    // A 页面 init方法 为true
						// prePage.$vm.list[_this.index].ISNORMAL = 1;
						// prePage.$vm.list[_this.index].HIDDEN_ID = _this.pd.HIDDEN_ID;
					}
					uni.navigateBack({});
					uni.hideLoading();
				})
			},
			uploadImg(tempFilePaths,i){
				return new Promise((resolve, reject) => {
					var _this = this;
					if(tempFilePaths.length==0){
						resolve();
					}
					uni.showLoading({
						title: '上传中'
					})
					uni.uploadFile({
						url: basePath+'/app/imgfiles/add',
						filePath: tempFilePaths[i].filePath,
						name: 'FFILE',
						formData: {
							'TYPE': tempFilePaths[i].type,
							'FOREIGN_KEY': _this.pd.HIDDEN_ID
						},
						success: (res) => {
							i++;
							if (tempFilePaths.length > i) {
								_this.uploadImg(tempFilePaths, i);
							} else {
								uni.hideLoading();
								resolve();
							}
						},
						fail: (err) => {
							uni.hideLoading();
							uni.showModal({
								content: err.errMsg,
								showCancel: false
							});
						}
					})
				})
			},
			submit(){
				return new Promise((resolve, reject) => {
					var _this = this;
					if(_this.pd.POSITIONDESC == undefined){
						_this.pd.POSITIONDESC = ''
					}
					if(_this.pd.HIDDENPART == undefined){
						_this.pd.HIDDENPART = ''
					}
					uni.request({
						url: basePath+'/app/hidden/'+_this.msg,
						method: 'POST',
						dataType: 'json',
						header: {
							'Content-type':'application/x-www-form-urlencoded'
						},
						data: {
							HIDDEN_ID:_this.pd.HIDDEN_ID,
							SOURCE:'3',
							STATE:'0',
							HIDDENDESCR:_this.pd.HIDDENDESCR,
							HIDDENPART:_this.pd.HIDDENPART,
							LATITUDE:_this.pd.LATITUDE,
							LONGITUDE:_this.pd.LONGITUDE,
							ISRELEVANT: _this.pd.ISRELEVANT,
							POSITIONDESC: _this.pd.POSITIONDESC,
							RECTIFYDESCR:_this.pd.RECTIFYDESCR?_this.pd.RECTIFYDESCR:'',
							RECTIFICATIONDEADLINE:_this.pd.RECTIFICATIONDEADLINE?_this.pd.RECTIFICATIONDEADLINE:'',
							RECTIFICATIONTYPE:_this.RECTIFICATIONTYPE,
							RECTIFICATIONOR:_this.pd.RECTIFICATIONOR,
							HIDDENTYPE:_this.pd.HIDDENTYPE,
							HIDDENLEVEL:_this.pd.HIDDENLEVEL,
							RECTIFICATIONDEPT:_this.pd.RECTIFICATIONDEPT,
							// CHECKDEPT:_this.pd.CHECKDEPT?_this.pd.CHECKDEPT:'',
							// CHECK_CONTENT:_this.pd.CHECK_CONTENT,
							CORPINFO_ID:corpinfoId,
							HIDDENFINDDEPT:deptId,
							CREATOR:loginUser.USER_ID,
							LISTMANAGER_ID: _this.LISTMANAGER_ID,
							DISCOVERYTIME:this.pd.DISCOVERYTIME, //gwj 发现时间
							other : JSON.stringify(this.other), //gwj 发现人
							CONFIRM_USER :this.pd.conUserId , //gwj 隐患确认人
							HIDDENTYPE2:_this.pd.HIDDENTYPE2, //gwj 隐患类型2 HIDDENTYPE2
						},
						success: (res) => {
							if ("success" == res.data.result) {
								_this.pd.HIDDEN_ID= res.data.pd.HIDDEN_ID;
								resolve();
								// prePage.$vm.initflag = true;    // A 页面 init方法 为true
								// prePage.$vm.list[_this.index].ISNORMAL = 1;
								// prePage.$vm.list[_this.index].HIDDEN_ID = _this.HIDDEN_ID;
								// uni.navigateBack({});
								// uni.hideLoading();
							} else {
								uni.showToast({
									title: res.data.msaesge,
									duration: 2000
								});
							}
						}
					});

				});
			},
			radioType(e){
				this.RECTIFICATIONTYPE = e
			},
			showHiddenRegionTree(){
				var _this = this
				uni.request({
					method: 'POST',
					dataType: 'json',
					header: {
						'Content-type':'application/x-www-form-urlencoded'
					},
					url: basePath+'/app/hidden/getTreehiddenRegionListAll',
					data: {
						CORPINFO_ID: corpinfoId,
						tm:new Date().getTime()
					},
					success: function(res){
						if("success" == res.data.result){
							var json = res.data.zTreeNodes
							_this.hiddenRegionTreeList = JSON.parse(json) ;
							_this.$forceUpdate();//强制刷新
						}else{
							uni.showToast({
								title: res.data.message,
								duration: 2000
							});
						}
					}
				})
				this.isUps=true
				this.$refs.hiddenRegionTree._show();
			},
			hiddenRegionTreeCon(e){
				this.isUps=false;
				this.pd.HIDDENPARTNAME=e[0].name;
				this.pd.HIDDENPART=e[0].id;
				this.$forceUpdate();//强制刷新
			},
			showHiddenLevenTreeTree(){
				var _this = this;
				uni.request({
					method: 'POST',
					dataType: 'json',
					header: {
						'Content-type': 'application/x-www-form-urlencoded'
					},
					url: basePath + '/dictionaries/listSelectTreeByTkiTree?tm=' + new Date().getTime(),
					data: {DICTIONARIES_ID: '5e7cf8620ba54ad89719d0be62133c7a'},
					dataType: 'json',
					success: function (res) {
						// _this.levelList = JSON.parse(data.zTreeNodes) res.data.zTreeNodes;
						var data = JSON.parse(res.data.zTreeNodes);
						for(let i=0;i<data.length;i++){
							for(let j=0;j<data[i].children.length;j++){
								if(data[i].children[j].id =='hiddenLevel1001'){
									data[i].children.splice(j,1)
								}
							}
						}
						_this.levelList = data
					}
				});
				this.isUps=true
				this.$refs.hiddenLevenTree2._show();
			},
			// 确定回调事件
			hiddenLevenConfirm(e) {
				this.isUps=false;
				this.pd.HIDDENLEVEL=e[0].id;
				this.pd.HIDDENLEVELNAME=e[0].name;
			},
			showHiddenType1TreeTree(){
				var _this = this;
				if(_this.hiddenTypeList){
					uni.request({
						method: 'POST',
						dataType: 'json',
						header: {
							'Content-type': 'application/x-www-form-urlencoded'
						},
						url: basePath + '/dictionaries/listSelectTreeByTkiTree?tm=' + new Date().getTime(),
						data: {DICTIONARIES_ID: '3babc15144444bdc8d763d0af2bdfff6'},
						dataType: 'json',
						success: function (res) {
							var jons = res.data.zTreeNodes ;
							_this.hiddenTypeList = JSON.parse(jons) ;
						}
					});
				}
				this.$refs.hiddenType1Tree._show();
				this.isUps=true
			},
			hiddenType1Confirm(e){
				this.$set(this.pd,'HIDDENTYPE1NANEM',e[0].name)
				this.$set(this.pd,'HIDDENTYPE',e[0].id)
				this.isUps=false;
			},
			showHiddenType2TreeTree(){
				var _this = this;
				if(_this.hiddenTypeList){
					uni.request({
						method: 'POST',
						dataType: 'json',
						header: {
							'Content-type': 'application/x-www-form-urlencoded'
						},
						url: basePath + '/dictionaries/listSelectTreeByTkiTree?tm=' + new Date().getTime(),
						data: {DICTIONARIES_ID: '18c0a9aea6e54feab9f4ab3f46e0bc86'},
						dataType: 'json',
						success: function (res) {
							var jons = res.data.zTreeNodes ;
							_this.hiddenType2List = JSON.parse(jons) ;
						}
					});
				}
				this.$refs.hiddenType2Tree._show();
				this.isUps=true
			},
			hiddenType2Confirm(e){
				this.$set(this.pd,'HIDDENTYPE2NANEM',e[0].name)
				this.$set(this.pd,'HIDDENTYPE2',e[0].id)
				this.isUps=false;
			},
			showConTreeTree(){
				this.isUps=true
				this.$refs.confirmTree._show();
			},
			getConfirmUser(e) {
				this.isUps=false;
				//发送 post 请求
				var _this = this;
				uni.request({
					method: 'POST',
					dataType: 'json',
					header: {
						'Content-type':'application/x-www-form-urlencoded'
					},
					url: basePath+'/app/user/getHiddenConfirm',
					data: {
						corpinfoId:corpinfoId,
						DEPARTMENT_ID:_this.pd.confirmDeptId,
						NOMAIN:'1',
						tm:new Date().getTime()
					},
					success: function(res){
						if("success" == res.data.result){
							_this.confirUserAllList=res.data.userList;
							_this.$forceUpdate();//强制刷新
						}else{
							uni.showToast({
								title: res.data.message,
								duration: 2000
							});
						}
					}
				})
			},
			setConUser(e){
				var index = e.detail.value;
				console.info(e)
				console.info(this.confirUserAllList)
				this.pd.conUserId=this.confirUserAllList[index].USER_ID;
				this.pd.conUserName=this.confirUserAllList[index].NAME;
				this.$forceUpdate();//强制刷新
			},
			changeDiscoverDate(e) {
				this.pd.DISCOVERYTIME = e
				this.$forceUpdate();//强制刷新
			},
			addOther(){
				var _this=this;
				let o = {"DEPARTMENT_ID":'',"USER_ID":'',"DEPARTMENT_NAME":'',"USER_NAME":'',index:-1};
				_this.other.push(o);
				let index=_this.other.length-1;
				_this.otherUserList[index]=[];
			},
			removeOther(index){
				this.other.splice(index,1);
				this.otherUserList.splice(index,1);
			},
			showConTree(index){
				this.$refs['tkiConfirmTree'+index][0]._show();
			},
			contreeConfirm(e,index) {
				this.other[index].DEPARTMENT_ID=e[0].id;
				this.other[index].DEPARTMENT_NAME=e[0].name;
				this.other[index].USER_ID='';
				this.other[index].USER_NAME='';
				this.other[index].index=-1;
				this.getConUserList(this.other[index].DEPARTMENT_ID,index);
				this.$forceUpdate();//强制刷新
			},
			PickerYsr(e,index) {
				this.other[index].index = e.detail.value;
				this.other[index].USER_ID=this.otherUserList[index][e.detail.value]?this.otherUserList[index][e.detail.value].USER_ID:'';
				this.other[index].USER_NAME=this.otherUserList[index][e.detail.value]?this.otherUserList[index][e.detail.value].NAME:'';
				this.$forceUpdate();//强制刷新
			},
			haveUser(e){
				if(e == null || e.length == 0){
					uni.showToast({
						icon:"none",
						title: '请先选择有人员的部门',
						duration: 2000
					});
				}
			},
			getConUserList(DEPARTMENT_ID,i){
				//发送 post 请求
				var _this = this;
				uni.request({
					method: 'POST',
					dataType: 'json',
					header: {
						'Content-type':'application/x-www-form-urlencoded'
					},
					url: basePath+'/app/sys/listUser',
					data: {
						DEPARTMENT_ID:DEPARTMENT_ID, NOMAIN:'1',
						LOGINUSERID:loginUser.USER_ID,
						NOSELF:'1',
						tm:new Date().getTime()
					},
					success: function(res){
						if("success" == res.data.result){
							if(i>-1){
								_this.otherUserList[i]=[];
								_this.otherUserList[i]=res.data.userList;
								_this.$forceUpdate();//强制刷新
							}else{
								_this.rectificationUserList=res.data.userList;
							}
						}else{
							uni.showToast({
								title: res.data.message,
								duration: 2000
							});
						}
					}
				})
			},
			myOther(){
				var _this=this;
				let o = {"DEPARTMENT_ID":loginUser.DEPARTMENT_ID,"USER_ID":loginUser.USER_ID,"DEPARTMENT_NAME":loginUser.DEPARTMENT_NAME,"USER_NAME":loginUser.NAME,index:-1};
				_this.other.push(o);
				let index=_this.other.length-1;
				_this.otherUserList[index]=[];
			},
			/** 坐标定位 */
			showMapModal() {
				var _this = this
				uni.navigateTo({
					url: '/pages/map/mapPro',
					events: {
						// 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
						acceptDataFromOpenedPage: function (e) {
							_this.pd.LONGITUDE = e.data.longitue;
							_this.pd.LATITUDE = e.data.latitude;
						}
					},
				})
			},
			chooseVideo(e){
				var _this = this;
				uni.chooseVideo({
					maxDuration:60,
					count: 1, //默认9
					// sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
					sourceType: ['camera','album'], //从相册选择
					success: (res) => {
						console.info(res)
						if(e==0) {
							let img={};
							img.id='';
							img.filePath=res.tempFilePath;
							this.videoList.push(img)
						}else{
							let img={};
							img.id='';
							img.filePath=res.tempFilePaths[0];
							this.videoList.push(img)
						}
					}
				});
			},
      DelVideo(e) {
        uni.showModal({
          title: '秦港-双基双控双控',
          content: '确定要删除这个视频吗?',
          cancelColor: "#000000",
          cancelText: '取消',
          confirmText: '确定',
          success: res => {
            if (res.confirm) {
              this.videoList = []
            }
          }
        })
      },
			// 取消回调事件
			hiddentreeCancel(e) {
				this.isUps = false;
			},
      playVideo(e) {
        this.videoSrc = e.currentTarget.dataset.src
        this.modalShow = true
      }
		}
	}
</script>

<style>
	.prevent {
			width: 100%;
			height: 100%;
			position: fixed;
			top: 0;
			left: 0;
			overflow: hidden;
		}
	.cu-form-title{
		padding: 20upx 0;
	}
	.cu-form-textarea{
		background-color: #ffffff;
		padding: 1upx 30upx 20upx;
		min-height: 100upx;
	}
	.cu-form-textarea textarea {
		height: 4.6em;
		width: 100%;
		line-height: 1.2em;
		flex: 1;
		font-size: 28upx;
		padding: 0;
	}
	.selected{
		display: flex;
		align-items: center;
		height: 100upx;
	}
	.selected .radio{
		 transform:scale(0.8);
		 margin-right: 10upx;
	}
	.group{
		display: flex;
		align-items: center;
	}
	.cu-form-group .title{
		font-size: 28upx;
		color: #666;
	}
	.cu-bar .action:first-child {
	    font-size: 28upx;
	}
	.asterisk:before{
		content: "*";
		color: red;
		vertical-align: sub;
		margin-right: 5px;
	}
</style>