<template> <!-- 源自 pages/application/hidden-trouble-investigation/hidden-trouble-app/exclude-form.vue -->
	<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-form-textarea">
				<view class="cu-form-title">检查内容</view>
				<view class="cu-form-p" style="padding: 0;">
				{{ pd.CHECK_CONTENT }}
				</view>
			</view>
			<view class="cu-bar bg-white margin-top">
				<view class="action" style="font-size: 28upx; font-weight: bold; color: #000;">
					隐患照片
				</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.stop="openAuth('CAMERA')" v-if="imgList.length<4">
						<text class='cuIcon-cameraadd'></text>
					</view>
				</view>
			</view>
      <view class="ai_btn ">
        <view class="ai_btn_con" @click="$noMultipleClicks(goIdentifyImg)">
          <image src="../../../../static/ai_img.png" style="width: 16px;height: 16px"/>
          <view class="text" style="margin-left: 5px;"> AI隐患识别与处置</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" 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.stop="openAuthVideo('CAMERA')" 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">隐患描述</view>
        <textarea maxlength="-1" :disabled="modalName!=null" v-model="pd.HIDDENDESCR" placeholder="请对隐患进行详细描述(必填项)"></textarea>
      </view>
      <view class="cu-form-textarea margin-top">
        <view class="cu-form-title">
          隐患部位
<!--          <button class="cu-btn bg-green sm reg-btn" @click="openHidden" >隐患字典</button>-->
        </view>
        <textarea maxlength="-1" :disabled="modalName!=null" v-model="pd.HIDDENPART" placeholder="请对隐患部位进行详细描述(必填项)"></textarea>
      </view>
			<view class="cu-form-group margin-top">
				<view class="title">隐患级别</view>
				<picker @change="levelPickerChange" :value="lindex" :range="levelList" range-key="NAME">
					<view class="picker">
						{{pd.HIDDENLEVELNAME?pd.HIDDENLEVELNAME:'请选择'}}
					</view>
				</picker>
			</view>
      <view v-if="baoBaoType === '1'" class="cu-form-group margin-top">
        <view class="title">隐患类别</view>
        <picker @change="categoryPickerChange" :value="cindex" :range="categoryList" range-key="NAME">
          <view class="picker">
            {{pd.HIDDEN_CATEGORY_NAME?pd.HIDDEN_CATEGORY_NAME:'请选择'}}
          </view>
        </picker>
      </view>
			<view class="cu-form-group margin-top">
				<view class="title">隐患类型</view>
        <view class="picker-tree-box">
          <view class="picker-tree" @tap="showZgTree1">{{pd.HIDDENTYPENAME?pd.HIDDENTYPENAME:'请选择'}}</view>
        </view>
        <tki-tree ref="tkiTree1"
                  :selectParent="true"
                  :range="hiddenTypeList"
                  rangeKey="name"
                  @confirm="zgtreeConfirm1"
                  @cancel="zgtreeCancel1"></tki-tree>
			</view>

			<view class="cu-form-group margin-top">
				<view class="title">是否立即整改</view>
				<radio-group class="selected"  >
					<view class="group mr20" v-if="disabledvalue==false">
						<radio class='radio'   value="1" :checked="RECTIFICATIONTYPE==1" @click="radioType(1)"></radio>
						<text>是</text>
					</view>
					<view class="group mr20" v-if="disabledvalue==true">
						<radio class='radio' disabled="true"  value="1" :checked="RECTIFICATIONTYPE==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">
				<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">
				<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">
				<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-textarea margin-top" v-if="RECTIFICATIONTYPE==1">
				<view class="cu-form-title">整改描述</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.stop="openAuthZg('CAMERA')" v-if="imgList1.length<4">
						<text class='cuIcon-cameraadd'></text>
					</view>
				</view>
			</view>
		</view>
		<view class="padding flex flex-direction">
			<button :loading="buttonloading" 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" :show-fullscreen-btn="false" :autoplay="true" @fullscreenchange="fullScreenHandler"></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>
    <library-select :visible.sync="library" :value="pd.HIDDENPART" :name="RISK_UNIT_NAME" @confirm="confirm" />

    <yk-authpup ref="authpup" type="top" @changeAuth="ChooseImage(0)" :permissionID="permissionID"></yk-authpup>
    <yk-authpup ref="authpup_video" type="top" @changeAuth="chooseVideo(0)" :permissionID="permissionID"></yk-authpup>
    <yk-authpup ref="authpup_zg" type="top" @changeAuth="ChooseImage(1)" :permissionID="permissionID"></yk-authpup>
	</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 LibrarySelect from '@/components/library-select/index.vue';
  import ykAuthpup from "@/components/yk-authpup/yk-authpup"
  export default {
		components: {
			tkiTree,LibrarySelect,ykAuthpup
		},
		data() {
			return {
        permissionID:'',
				isUps:false,
				buttonloading: false,
				msg:'add',
        RISK_UNIT_NAME:'',
				index:'',
				noClick:true,
				pd:{
          HIDDEN_ID: '',
          CUSTOM_ID:'',
          CUSTOM_ITEM_ID: '',
          RECORDITEM_ID: '',
          CHECK_CATEGORY: '',
          CHECK_CATEGORY_NAME: '',
          CHECK_ITEM: '',
          CHECK_ITEM_NAME: '',
          CHECK_CONTENT:'',
          CHECK_STANDARD: '',
          REFERENCE_BASIS: '',
          HIDDENDESCR: '',
          RECTIFICATIONTYPE: 2
        },
				imgList: [],
				imgList1: [],
				HIDDENDESCR:'',//隐患描述
				HIDDENPART:'',//隐患部位
				modalName: null,
				id:'',
				checkId:'',
				RECTIFYDESCR:'',//整改描述
				RECTIFICATIONTYPE:2,//是否立即
				treeNode:[],//部门下拉数据
				RECTIFICATIONDEPT:'',//整改部门
				RECTIFICATIONDEPTNAME:'请选择',//整改部门
				CHECKDEPT:'',//验收部门
				CHECKDEPTNAME:'请选择',//验收部门
				rectificationUserList:[],
				RECTIFICATIONOR:'',//整改人
				uindex: -1,
				lindex: -1,
				cindex: -1,
				levelList:[],
        categoryList:[],
				tindex: -1,
				hiddenTypeList:[],
				HIDDENLEVEL:'',//隐患级别
				RECTIFICATIONDEADLINE:'',//整改期限
				rectifyPlanCompletionStartTime:'',
				disabledvalue:false,
        videoSrc:'',
        modalShow:false,
        videoList:[],
        baoBaoType:'',
        library: false
			}
		},
		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;
			if(this.pd.HIDDEN_ID){
				this.msg="edit";
				this.getData();
			}else {
        		this.pd.CUSTOM_ID = JSON.parse(decodeURIComponent(event.CUSTOM_ID));
				this.pd.CUSTOM_ITEM_ID = JSON.parse(decodeURIComponent(event.CUSTOM_ITEM_ID));
				this.pd.RECORDITEM_ID = JSON.parse(decodeURIComponent(event.RECORDITEM_ID));
				this.pd.CHECK_CATEGORY = JSON.parse(decodeURIComponent(event.CHECK_CATEGORY));
				this.pd.CHECK_CATEGORY_NAME = JSON.parse(decodeURIComponent(event.CHECK_CATEGORY_NAME));
				this.pd.CHECK_ITEM = JSON.parse(decodeURIComponent(event.CHECK_ITEM));
				this.pd.CHECK_ITEM_NAME = JSON.parse(decodeURIComponent(event.CHECK_ITEM_NAME));
				this.pd.CHECK_CONTENT = JSON.parse(decodeURIComponent(event.CHECK_CONTENT));
				this.pd.CHECK_STANDARD = JSON.parse(decodeURIComponent(event.CHECK_STANDARD));
				this.pd.REFERENCE_BASIS = JSON.parse(decodeURIComponent(event.REFERENCE_BASIS));
				this.pd.HIDDENDESCR = JSON.parse(decodeURIComponent(event.CHECK_RESULT));
        this.pd.HIDDENDESCR = '';
				this.baoBaoType = JSON.parse(decodeURIComponent(event.baoBaoType))+'';
        		console.log(this.baoBaoType)
				this.index = event.index;
			}
			this.getDept();
			this.getLevel();
			this.getHiddenType();
			loginSession();
		},
		methods: {
      fullScreenHandler(e) {
        if (uni.getSystemInfoSync().platform == "ios") { return }
      },
			getData() {
				var _this = this;
				uni.showLoading({
					title: '请稍候'
				})
				uni.request({
					url: basePath + '/app/customHidden/goEdit',
					method: 'POST',
					dataType: 'json',
					header: {
						'Content-type': 'application/x-www-form-urlencoded'
					},
					data: {
						HIDDEN_ID: _this.pd.HIDDEN_ID,
            CORPINFO_ID:loginUser.CORPINFO_ID,
            USER_ID:loginUser.USER_ID,
					},
					success: (res) => {
						if ("success" == res.data.result) {
							uni.hideLoading();
							_this.pd = res.data.pd; //参数map
							_this.RECTIFICATIONTYPE = _this.pd.RECTIFICATIONTYPE;
							let files=res.data.hImgs;
							for(var i=0;i<files.length;i++){
								let img={};
								img.filePath=baseImgPath+files[i].FILEPATH;
                if(files[i].FILEPATH.substring(files[i].FILEPATH.lastIndexOf("."), files[i].FILEPATH.length) === '.jpg'){
                  img.id=files[i].IMGFILES_ID;
                  _this.imgList.push(img);
                } else {
                  img.id=files[i].IMGFILES_ID;
                  _this.videoList.push(img);
                }
							}
							let files1=res.data.rImgs;
							for(var i=0;i<files1.length;i++){
								let img={};
								img.filePath=baseImgPath+files1[i].FILEPATH;
								img.id=files1[i].IMGFILES_ID;
								_this.imgList1.push(img);
							}
							_this.getUserList();
						} else if ("exception" == data.result) {
							uni.showToast({
								title: '错误',
								duration: 2000
							});
						}
					}
				});
			},
			openHidden(){
      			if( !this.pd.HIDDENPART){
					uni.showToast({
						icon: 'none',
						title: '请先输入隐患部位信息，在进行隐患字典查询',
						duration: 1500
					});
					return;
				}else{
					this.library = true
				}
			},
			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:loginUser.CORPINFO_ID,
						USER_ID:loginUser.USER_ID,
					},
					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,
            tm:new Date().getTime(),
            CORPINFO_ID:loginUser.CORPINFO_ID,
            USER_ID:loginUser.USER_ID,
          },
					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',
						CORPINFO_ID:loginUser.CORPINFO_ID,
						USER_ID:loginUser.USER_ID,
					  },
					success: function (res) {
						_this.levelList = res.data.list;
					}
				});
				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: 'ec1d6dcfd0f2438a88968feea542eab0',
					CORPINFO_ID:loginUser.CORPINFO_ID,
					USER_ID:loginUser.USER_ID,
				  },
				  success: function (res) {
					_this.categoryList = res.data.list;
				  }
				});
			},
			levelPickerChange(e) {
				console.log(e)
				if(e.detail.value==1){
					this.disabledvalue=true;
          this.RECTIFICATIONTYPE = 2;
				}else{
						this.disabledvalue=false;
				}
				this.lindex = e.detail.value;
				this.pd.HIDDENLEVEL=this.levelList[this.lindex].BIANMA;
				this.pd.HIDDENLEVELNAME=this.levelList[this.lindex].NAME;
				this.$forceUpdate();//强制刷新
			},
      categoryPickerChange(e) {
        this.cindex = e.detail.value;
        this.pd.HIDDEN_CATEGORY=this.categoryList[this.cindex].DICTIONARIES_ID;
        this.pd.HIDDEN_CATEGORY_NAME=this.categoryList[this.cindex].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',
					data: {
            DICTIONARIES_ID: '3babc15144444bdc8d763d0af2bdfff8',
            CORPINFO_ID:loginUser.CORPINFO_ID,
            USER_ID:loginUser.USER_ID,
          },
					success: function ({data}) {
            for (let i = 0; i < data.list.length; i++) {
              if (data.list[i].BIANMA.indexOf(loginUser.PROVINCE) > -1) {
                _this.getTrainDicList(data.list[i].DICTIONARIES_ID)
                break
              }
            }
					}
				});
			},
      getTrainDicList(parentId) { // trainDicList
        var _this = this;
        uni.request({
          method: 'POST',
          dataType: 'json',
          header: {
            'Content-type': 'application/x-www-form-urlencoded'
          },
          url: basePath + '/dictionaries/listAllDictToParId',
          data: {
            parentId,
            CORPINFO_ID:loginUser.CORPINFO_ID,
            USER_ID:loginUser.USER_ID,
          },
          success: function ({data}) {
            let zTreeNodes = data.zTreeNodes
            zTreeNodes = zTreeNodes.replace(/"nodes":\[/g, '"children":[')
            _this.hiddenTypeList = JSON.parse(zTreeNodes)
          }
        });
      },
      showZgTree1(){
        this.isUps=true
        this.$refs.tkiTree1._show();
      },
      zgtreeCancel1(e){
        this.isUps=false;
      },
      zgtreeConfirm1(e){
        this.isUps=false;
        if(e[0]?.parents.length === 1){
          this.pd.HIDDENTYPE = [e[0]?.parents[0]?.id || '', e[0]?.id || ''];
          this.pd.HIDDENTYPENAME = [e[0]?.parents[0]?.name || '', e[0]?.name || ''].join('/')
        }else if(e[0]?.parents.length === 2) {
          this.pd.HIDDENTYPE = [e[0]?.parents[0]?.id || '', e[0]?.parents[1]?.id || '', e[0]?.id || ''];
          this.pd.HIDDENTYPENAME = [e[0]?.parents[0]?.name || '', e[0]?.parents[1]?.name || '', e[0]?.name || ''].join('/')
        }else{
          this.pd.HIDDENTYPE = [e[0]?.id || ''];
          this.pd.HIDDENTYPENAME = [e[0]?.name || ''].join('/');
        }
      },
			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();//强制刷新
			},

      openAuth(permissionID){
        this.permissionID = permissionID;
        setTimeout(()=>{
          this.$refs['authpup'].open();
        },200)
      },

      openAuthZg(permissionID){
        this.permissionID = permissionID;
        setTimeout(()=>{
          this.$refs['authpup_zg'].open();
        },200)
      },

			//图片上传
			ChooseImage(e) {
				var _this = this;
				var ss=4-this.imgList.length;
				uni.chooseImage({
					count: ss, //默认9
					sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图，默认二者都有
					sourceType: ['camera','album'], //从相册选择
					success: (res) => {
						if(e==0) {
              for (let i = 0; i < res.tempFilePaths.length; i++) {
                let img={};
                img.id='';
                img.filePath=res.tempFilePaths[i];
                this.imgList.push(img)
              }
						}else{
              for (let i = 0; i < res.tempFilePaths.length; i++) {
                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
					});
				}
			},
      goIdentifyImg() {
        if (this.imgList.length === 0) {
          uni.showToast({
            icon: 'none',
            title: '请先上传图片',
            duration: 2000
          });
        } else if (this.imgList.length > 1) {
          uni.showToast({
            icon: 'none',
            title: '识别暂时只能上传一张图片',
            duration: 2000
          });
        } else {
          var _this = this;
          if(this.imgList[0].id != ""){
            uni.showToast({
              icon: 'none',
              title: '请删除图片重新上传图片后,再次进行图片识别',
              duration: 2000
            });
            return;
          }
          _this.buttonloading = true
          uni.showLoading({
            title: '识别中...'
          })
          uni.uploadFile({
            url: basePath + '/app/hidden/identifyImg',
            filePath: _this.imgList[0].filePath,
            name: 'FFILE',
            formData: {
              CORPINFO_ID: loginUser.CORPINFO_ID,
              USER_ID: loginUser.USER_ID,

            },
            success: (res) => {
              _this.buttonloading = false
              _this.aiFlag = true
              if ("success" == JSON.parse(res.data).result) {
                const aiHiddens = JSON.parse(res.data).aiHiddens;
                let hiddenDescr = ""
                let rectificationSuggestions = ""
                let legalBasis = ""
                aiHiddens.forEach((item) => {
                  hiddenDescr += JSON.parse(item).hiddenDescr + ";"
                  rectificationSuggestions += JSON.parse(item).rectificationSuggestions + ";"
                  legalBasis += JSON.parse(item).legalBasis + ";"
                })
                _this.pd.HIDDENDESCR = hiddenDescr
                _this.pd.LEGALBASIS = legalBasis
                _this.pd.RECTIFYDESCR = rectificationSuggestions
                _this.radioType(1)
              } else {
                uni.showToast({
                  icon: 'none',
                  title: "未识别图片中的隐患",
                  duration: 2000
                });
              }
              uni.hideLoading();
            },
            fail: (err) => {
              _this.buttonloading = false
              uni.hideLoading();
              uni.showModal({
                content: err.errMsg,
                showCancel: false
              });
            }
          })
        }
      },
			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,
                      CORPINFO_ID:loginUser.CORPINFO_ID,
                      USER_ID:loginUser.USER_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,
                      CORPINFO_ID:loginUser.CORPINFO_ID,
                      USER_ID:loginUser.USER_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
			},
			async goSubmit() {
				var _this = this;
				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.RECTIFICATIONTYPE == 2 && !_this.pd.RECTIFICATIONDEPT) {
					uni.showToast({
						icon: 'none',
						title: '请选择整改部门',
						duration: 1500
					});
					return;
				}
				if (_this.RECTIFICATIONTYPE == 2 && !_this.pd.RECTIFICATIONOR) {
					uni.showToast({
						icon: 'none',
						title: '请选择整改人',
						duration: 1500
					});
					return;
				}
				if (_this.RECTIFICATIONTYPE == 2 && !_this.pd.RECTIFICATIONDEADLINE) {
					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);
					}
				}
				for (var i = 0; i < _this.videoList.length; i++) {
				  if(!_this.videoList[i].id){
					var file = {};
					file.type = 3;
					file.filePath = _this.videoList[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);
						}
					}
				}
					await _this.submit()
					var i=0;
          			await _this.uploadPromise(fileList)
					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;
            prePage.$vm.list[_this.index].CHECK_RESULT = _this.pd.HIDDENDESCR;
            prePage.$vm.list[_this.index].CHECK_UNQUALIFIED = _this.pd.HIDDENDESCR;
					}
					uni.navigateBack({});
					uni.hideLoading();
			},
			  async uploadPromise(tempFilePaths){
				if (tempFilePaths.length == 0) {
				  return
				}
				uni.showLoading({
				  title: '上传中'
				})
				for (let i = 0; i < tempFilePaths.length; i++) {
				  await this.uploadImg(tempFilePaths[i])
				}
			  },
			uploadImg(file){
				return new Promise((resolve, reject) => {
					var _this = this;
					uni.uploadFile({
						url: basePath+'/app/imgfiles/add',
						filePath: file.filePath,
						name: 'FFILE',
						formData: {
							'TYPE': file.type,
							'FOREIGN_KEY': _this.pd.HIDDEN_ID,
							  CORPINFO_ID: loginUser.CORPINFO_ID,
							  USER_ID: loginUser.USER_ID,
						},
						success: (res) => {
								resolve();
						},
						fail: (err) => {
							uni.hideLoading();
							uni.showModal({
								content: err.errMsg,
								showCancel: false
							});
						}
					})
				})
			},
			submit(){
				return new Promise((resolve, reject) => {
					var _this = this;
					let longitude;
					let latitude;
					this.buttonloading = true
					uni.getLocation({
						type: 'GCJ02',
						success: function (res1) {
							longitude = res1.longitude;
							latitude = res1.latitude;
							var result = gcoord.transform(
									[longitude, latitude],    // 经纬度坐标
									gcoord.GCJ02,               // 当前坐标系
									gcoord.BD09                // 目标坐标系
							);
							longitude = result[0];
							latitude =  result[1];
							//发送 post 请求提交保存
							this.buttonloading = true
							uni.request({
								url: basePath+'/app/customHidden/'+_this.msg,
								method: 'POST',
								dataType: 'json',
								header: {
									'Content-type':'application/x-www-form-urlencoded'
								},
								data: {
									HIDDEN_ID: _this.pd.HIDDEN_ID,
                  CUSTOM_ID: _this.pd.CUSTOM_ID,
                  CUSTOM_ITEM_ID: _this.pd.CUSTOM_ITEM_ID,
                  RECORDITEM_ID: _this.pd.RECORDITEM_ID,
                  CHECK_CATEGORY: _this.pd.CHECK_CATEGORY,
                  CHECK_CATEGORY_NAME: _this.pd.CHECK_CATEGORY_NAME,
                  CHECK_ITEM: _this.pd.CHECK_ITEM,
                  CHECK_ITEM_NAME: _this.pd.CHECK_ITEM_NAME,
                  CHECK_CONTENT: _this.pd.CHECK_CONTENT,
                  CHECK_STANDARD: _this.pd.CHECK_STANDARD,
                  REFERENCE_BASIS: _this.pd.REFERENCE_BASIS,
									SOURCE:'2',
									STATE:'0',
									HIDDENDESCR:_this.pd.HIDDENDESCR,
									HIDDENPART:_this.pd.HIDDENPART,
									LATITUDE:latitude,
									LONGITUDE:longitude,
									RECTIFYDESCR:_this.pd.RECTIFYDESCR?_this.pd.RECTIFYDESCR:'',
									RECTIFICATIONDEADLINE:_this.pd.RECTIFICATIONDEADLINE?_this.pd.RECTIFICATIONDEADLINE:'',
									RECTIFICATIONTYPE:_this.RECTIFICATIONTYPE,
									RECTIFICATIONOR:_this.pd.RECTIFICATIONOR,
									HIDDENLEVEL:_this.pd.HIDDENLEVEL,
									HIDDENTYPE:_this.pd.HIDDENTYPE,
									RECTIFICATIONDEPT:_this.pd.RECTIFICATIONDEPT,
									// CHECKDEPT:_this.pd.CHECKDEPT?_this.pd.CHECKDEPT:'',
									HIDDENFINDDEPT:deptId,
									CREATOR:loginUser.USER_ID,
									CLEARIMG:'1',
                  HIDDENTYPE_NAME:_this.pd.HIDDENTYPENAME,
                  HIDDENTYPE1:_this.pd.HIDDENTYPE[0] || '',
                  HIDDENTYPE2:_this.pd.HIDDENTYPE[1] || '',
                  HIDDENTYPE3:_this.pd.HIDDENTYPE[2] || '',
                  CORPINFO_ID:loginUser.CORPINFO_ID,
                  USER_ID:loginUser.USER_ID,
                  HIDDEN_CATEGORY:_this.pd.HIDDEN_CATEGORY?_this.pd.HIDDEN_CATEGORY:''
								},
								success: (res) => {
									this.buttonloading = false
									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
										});
									}
								}
							});
						},
						fail: function(res){
							uni.hideLoading();
							uni.showToast({
								title: "获取位置失败",
								duration: 2000
							});
						}
					});

				});
			},
			radioType(e){
				if(!this.disabledvalue){
					this.RECTIFICATIONTYPE = e
				}else{
					this.RECTIFICATIONTYPE=2
				}
			},

      openAuthVideo(permissionID){
        this.permissionID = permissionID;
        setTimeout(()=>{
          this.$refs['authpup_video'].open();
        },200)
      },

      chooseVideo(e){
        var _this = this;
        uni.chooseVideo({
          maxDuration:60,
          count: 1, //默认9
          // sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图，默认二者都有
          sourceType: ['camera','album'], //从相册选择
          success: (res) => {
            if(res.tempFilePath.substring(res.tempFilePath.lastIndexOf(".") + 1, res.tempFilePath.length) === 'mp4'){
              let img={};
              img.id='';
              img.filePath=res.tempFilePath;
              this.videoList.push(img)
            }else {
              uni.showToast({
                title: "只能上传MP4格式",
                duration: 2000
              });
            }
          }
        });
      },
      DelVideo(e){
        uni.showModal({
          title: '',
          content: '确定要删除这个视频吗？',
          cancelColor: "#000000",
          cancelText: '取消',
          confirmText: '确定',
          success: res => {
            if (res.confirm) {
              this.videoList = []
            }
          }
        })
      },
      playVideo(e) {
        this.videoSrc = e.currentTarget.dataset.src
        this.modalShow = true
      },
      confirm(info){
        this.pd.HIDDENPART = info.HIDDEN_PART
        // this.pd.HIDDENDESCR = info.INSPECTION_BASIS
        this.pd.HIDDENLEVEL = 'hiddenLevel0001'
        this.pd.HIDDENLEVELNAME = '一般隐患'
        if (info.HIDDEN_TYPE_ONE_NAME){this.pd.HIDDENTYPENAME = info.HIDDEN_TYPE_ONE_NAME}
        if (info.HIDDEN_TYPE_TWO_NAME){this.pd.HIDDENTYPENAME = this.pd.HIDDENTYPENAME+'/'+info.HIDDEN_TYPE_TWO_NAME}
        if (info.HIDDEN_TYPE_THREE_NAME){this.pd.HIDDENTYPENAME = this.pd.HIDDENTYPENAME+'/'+info.HIDDEN_TYPE_THREE_NAME}
        this.pd.HIDDENTYPE = info.HIDDENTYPE
      }
		}
	}
</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;
		font-weight: bold;
		color: #000;
	}
	.cu-bar .action:first-child {
	    font-size: 28upx;
	}
	.cu-form-group .picker{
		color: #808080;
	}
	.picker-tree{
		color: #808080;
	}
  .ai_btn {
    width: 100%;
    box-sizing: border-box;
    background: #FFFFFF;
    margin-bottom: 10px;
    padding: 10px;
  }

  .ai_btn .ai_btn_con {
    width: 45%;
    background: #dfeaff;
    border-radius: 20px;
    display: flex;
    align-items: center;
    height: 40px;
    padding: 0 10px;
  }
</style>
