<template>
	<!-- 新增问题 -->
	<view class="addIssue">
		<headers :showBack="true">
			<view class="headerName">
				{{pageTitle}}
			</view>
		</headers>
		<view class="content">
			<view class="type flex">
				<view class="name"><text class="star">*</text>检查部位：</view>
				<picker @click="$refs.locationTree._show()" :disabled="true" class="picker">
					<view class="uni-input uni-select cl" v-if="checkPointName==''">
						请选择 <image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
					<view class="uni-input uni-select flex2" v-else>
						<view style="width: 98%;" class="ellipsis">{{checkPointName}}</view>
					</view>
				</picker>
			</view>

			<view class="type flex">
				<view class="name">类型：</view>
				<view>
					<radio-group @change="radioChange" class="radio-wrap">
						<label class="radio">
							<radio value="type1" checked="true" />质量问题
						</label>
						<label class="radio">
							<radio value="type2" />排查记录
						</label>
					</radio-group>
				</view>
			</view>

			<view class="type flex" v-if="typeCheck == 'type1'">
				<view class="name"><text class="star">*</text>问题描述：</view>
				<picker :disabled="true" @click="$refs.issueTree._show()" class="picker">
					<view class="uni-input uni-select cl" v-if="form.dangerItemContent==''">
						请选择 <image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
					<view class="uni-input uni-select" v-else>{{form.dangerItemContent}}
						<image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
				</picker>
			</view>

			<view class="type flex" v-else>
				<view class="name"><text class="star">*</text>排查分类：</view>
				<picker :disabled="true" @click="$refs.issueTree._show()" class="picker">
					<view class="uni-input uni-select cl" v-if="form.dangerItemContent==''">
						请选择 <image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
					<view class="uni-input uni-select" v-else>{{form.dangerItemContent}}
						<image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
				</picker>
			</view>

			<view class="type flex" v-if="typeCheck == 'type1'">
				<view class="name"><text class="star">*</text>问题分类：</view>
				<picker class="picker" @click="$refs.issueTree._show()" :disabled="true">
					<view class="uni-input uni-select cl" v-if="issueName==''">
						请选择 <image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
					<view class="uni-input uni-select" v-else>{{issueName}}
						<image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
				</picker>
			</view>

			<view class="type flex3">
				<view class="name">补充说明：</view>
				<textarea class="textarea" maxlength="-1" placeholder-class="cl" name="inspectContent"
					@input='supplementTextarea' :value="form.dangerDesc" placeholder="请输入"></textarea>
			</view>
			<view class="type flex3" v-if="typeCheck == 'type1'">
				<view class="name">整改要求：</view>
				<textarea class="textarea" maxlength="-1" placeholder-class="cl" name="inspectContent"
					@input='claimTextarea' :value="form.remark" placeholder="请输入"></textarea>
			</view>


			<!-- 新增四个字段 -->
			<view class="type flex" v-if="typeCheck == 'type1'">
				<view class="name"><text class="star"></text>分部工程：</view>
				<picker @change="(e)=>checkSubListData(e)" 
				:value="subsectionIndex" 
				class="picker" 
				:range="listData"
				range-key="subdivisionProjectName">
				<view class="uni-input uni-select cl" v-if="subsectionIndex==null">
					{{listData[subsectionIndex].subdivisionProjectName}}
					 <image class="icon-down" src="/static/icon-down-black.png"></image>
				</view>
					<view class="uni-input uni-select" v-else>
						{{listData[subsectionIndex].subdivisionProjectName}}
						 <image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
				</picker>
			</view>
			
			
			<view class="type flex" v-if="typeCheck == 'type1'">
				<view class="name"><text class="star"></text>分项工程：</view>
				<picker :value="subentryIndex" class="picker" :range="subListData" range-key="subdivisionProjectName">
					<view class="uni-input uni-select cl" v-if="subentryIndex==null">
						请选择 <image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
					<view class="uni-input uni-select" v-else>
						{{subListData[subentryIndex].subdivisionProjectName}}
						 <image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
				</picker>
			</view>
               	<view class="type flex" v-if="typeCheck == 'type1'">
					<view class="name"><text class="star"></text>巡检楼层：</view>
					<input class="inpuStyle  uni-select cl" :value="form.floor"  placeholder="请输入" />
				</view>
				
				<view class="type flex3">
					<view class="name">事件描述：</view>
					<textarea class="textarea" maxlength="-1" placeholder-class="cl" name="inspectContent"
						@input='eventDescription' :value="form.addedDescription" placeholder="请输入"></textarea>
				</view>

			<!-- 新增字段分割线------------ -->

			<view class="type flex" v-if="typeCheck == 'type1'">
				<view class="name"><text class="star">*</text>问题等级：</view>
				<picker @change="(e)=>bindPickerChange(e,1)" :value="issueGradeIndex" class="picker"
					:range="issueGradeList" range-key="name">
					<view class="uni-input uni-select cl" v-if="issueGradeIndex==null">
						请选择 <image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
					<view class="uni-input uni-select" v-else>{{issueGradeList[issueGradeIndex].name}}
						<image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
				</picker>
			</view>
			<view class="type flex" v-if="typeCheck == 'type1'">
				<view class="name"><text class="star">*</text>紧急程度：</view>
				<picker @change="(e)=>bindPickerChange(e,2)" :value="urgencyIndex" class="picker" :range="urgencyList"
					range-key="name">
					<view class="uni-input uni-select cl" v-if="urgencyIndex==null">
						请选择 <image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
					<view class="uni-input uni-select" v-else>{{urgencyList[urgencyIndex].name}}
						<image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
				</picker>
			</view>
			<!-- <view class="type flex">
				<view class="name"><text class="star">*</text>检查人：</view>
				<picker @change="(e)=>bindPickerChange(e,3)" :value="inspectManIndex" class="picker" :range="personList"
					range-key="workerName">
					<view class="uni-input uni-select cl" v-if="inspectManIndex==null">
						请选择 <image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
					<view class="uni-input uni-select" v-else>{{personList[inspectManIndex].workerName}}
						<image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
				</picker>
			</view> -->
			<view class="type flex">
				<view class="name"><text class="star">*</text>检查时间：</view>
				<picker @change="(e)=>bindPickerChange(e,4)" mode="date" :value="form.inspectTime" class="picker">
					<view class="uni-input uni-select cl" v-if="form.inspectTime===''">
						请选择 <image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
					<view class="uni-input uni-select" v-else>{{form.inspectTime}}
						<image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
				</picker>
			</view>

			<view class="type flex">
				<view class="name">分包单位：</view>
				<picker @click="clickUnit" :disabled="true" class="picker">
					<view class="uni-input uni-select cl" v-if="form.enterpriseName==''">
						请选择 <image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
					<view class="uni-input uni-select flex2" v-else>
						<view style="width: 98%;" class="ellipsis">{{form.enterpriseName}}</view>
						<uni-icons @click="deletesBtn(1)" type="clear" size="22"></uni-icons>
					</view>
				</picker>
			</view>

			<view class="type flex" v-if="typeCheck == 'type1'">
				<view class="name"><text class="star">*</text>整改时限：</view>
				<picker @change="(e)=>bindPickerChange(e,5)" mode="date" :value="form.changeLimitTime" class="picker">
					<view class="uni-input uni-select cl" v-if="form.changeLimitTime===''">
						请选择 <image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
					<view class="uni-input uni-select" v-else>{{form.changeLimitTime}}
						<image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
				</picker>
			</view>
			<view class="type flex" v-if="typeCheck == 'type1'">
				<view class="name"><text class="star">*</text>整改人：</view>
				<picker @change="(e)=>bindPickerChange(e,6)" :value="changePeopleIndex" class="picker"
					:range="personList" range-key="workerName">
					<view class="uni-input uni-select cl" v-if="changePeopleIndex==null">
						请选择 <image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
					<view class="uni-input uni-select" v-else>{{personList[changePeopleIndex].workerName}}
						<image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
				</picker>
			</view>
			<view class="type flex" v-if="typeCheck == 'type1'">
				<view class="name"><text class="star">*</text>复查人：</view>
				<picker @change="(e)=>bindPickerChange(e,7)" :value="reviewIndex" class="picker" :range="personList"
					range-key="workerName">
					<view class="uni-input uni-select cl" v-if="reviewIndex==null">
						请选择 <image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
					<view class="uni-input uni-select" v-else>{{personList[reviewIndex].workerName}}
						<image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
				</picker>
			</view>
			<view class="type flex" v-if="typeCheck == 'type1'">
				<view class="name"><text class="star">*</text>核检人：</view>
				<picker @change="(e)=>bindPickerChange(e,8)" :value="verifyManIndex" class="picker" :range="personList"
					range-key="workerName">
					<view class="uni-input uni-select cl" v-if="verifyManIndex==null">
						请选择 <image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
					<view class="uni-input uni-select" v-else>{{personList[verifyManIndex].workerName}}
						<image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
				</picker>
			</view>
			<view class="type flex" v-if="typeCheck == 'type1'">
				<view class="name">通知人：</view>
				<picker @click="$refs.informTree._show()" :disabled="true" class="picker">
					<view class="uni-input uni-select cl" v-if="notifier===''">
						请选择 <image class="icon-down" src="/static/icon-down-black.png"></image>
					</view>
					<view class="uni-select flex2" v-else>
						<view style="line-height:20px; width:80%; padding:6px 0;">{{notifier}}</view>
						<image class="icon-down" style="width:13px; height:13px;" src="/static/icon-down-black.png">
						</image>
					</view>
				</picker>
			</view>
			<view class="type flex" v-if="typeCheck == 'type1'">
				<view class="name">现场整改：</view>
				<view class="flex">
					<text :class="form.status==2?'status':''">未完成</text>
					<switch :checked="form.status==5" @change="switchChange"
						style="margin: 0 10px;transform: scale(0.74,0.7)" />
					<text :class="form.status==5?'status':''">已完成</text>
				</view>
			</view>
			<view class="type flex3">
				<view class="name">上传图片：</view>
				<view class="uni-form-input imgBox_wrap">
					<view class="imgBox" v-show="imgFileList.length>0" v-for="(item,index) in imgFileList" :key="index">
						<image :src="url_config+'image/'+item.url" class="img"
							@click="previewImage(url_config+'image/'+item.url)"></image>
						<uni-icons @click="deleteImg(item,1)" class="deleteImg" type="clear" size="24"></uni-icons>
					</view>
					<view class="addImgBox" @click="uploadImg" v-if="imgFileList.length<5">
						<image src="/static/icon-add.png" class="icon-add"></image>
					</view>
				</view>
			</view>
			<view class="type">
				<view>视频(mp4)附件：</view>

				<view class="imgBox flex2" style="width:100%;height:28px;" v-show="videoFileList.length>0"
					v-for="(item,index) in videoFileList" :key="index">
					<text
						style="color: #4181FE;width: 95%; white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"
						@click="playVideo(url_config+'image/'+item.url,'video')">{{item.name}}</text>
					<uni-icons @click="deleteImg(item,2)" type="clear" size="18" style="margin: 5px;"></uni-icons>
				</view>
				<view class="addImgBox" @click="uploadVideo" v-if="videoFileList.length<5" style="margin-left: 88px;">
					<image src="/static/icon-add.png" class="icon-add"></image>
				</view>
			</view>
			<view class="addSaveBtn" @click="addSaveBtn">新增保存</view>
		</view>
		<!-- 分包单位弹窗 -->
		<view class="unitDialog" v-if="unitDialog" @click="unitDialog=false">
			<view class="unitContent">
				<view class="tabs flex2">
					<view @click.stop="checkTypeBtn(1)"
						:class="checkType==1?'checkName tabs_name':'noCheckName tabs_name'">专业分包商</view>
					<view @click.stop="checkTypeBtn(6)"
						:class="checkType==6?'checkName tabs_name':'noCheckName tabs_name'">劳务分包商</view>
				</view>
				<view class="unitList" v-if="subpackageLsit.length>0">
					<view class="title">公司名称</view>
					<view class="list_val" v-for="(item,index) in subpackageLsit" @click="checkSubpackage(item)"
						:class="index%2==0?'bg_999':''">{{item.enterpriseName}}</view>
				</view>
				<view class="placeholderBox" v-if="subpackageLsit.length==0">
					<image src="/static/noData.png" mode="" class="noDataImg"></image>
					<view class="text">
						暂无数据
					</view>
				</view>
			</view>
		</view>

		<!-- 检查部位 -->
		<tki-tree ref="locationTree" @confirm="(val)=>checkPointBtn(val,1)" idKey='id' :range="checkPointList"
			rangeKey="regionName" confirmColor="#4e8af7" />
		<!-- 问题分类 -->
		<tki-tree ref="issueTree" @confirm="(val)=>checkPointBtn(val,2)" idKey='id' :range="issueList"
			rangeKey="dangerName" confirmColor="#4e8af7" />
		<!-- 通知人 -->
		<tki-tree ref="informTree" :multiple="true" @confirm="(val)=>checkPointBtn(val,3)" idKey='id'
			:range="personList" rangeKey="workerName" confirmColor="#4e8af7" />
	</view>
</template>

<script>
	import tkiTree from "@/components/tki-tree/tki-tree.vue"
	export default {
		components: {
			tkiTree
		},
		data() {
			return {
				pageTitle: '新增检查记录',
				projectSn: '',
				checkType: 1, //分包商类型   1专业分包  6劳务分包
				form: {
					regionId: "", // 检查部位
					regionName: "",
					dangerItemContent: "",
					dangerItemId: "",
					dangerTypeId: "",
					dangerDesc: "",
					remark: "",
					routineId: 0,
					level: 0,
					urgentLevel: 0,
					inspectManId: "",
					inspectTime: "",
					enterpriseSn: "",
					enterpriseName: "",
					changeLimitTime: "",
					changeId: "",
					reviewId: "",
					verifyManId: "",
					notifyPerson: [],
					status: 2, // 现场整改状态  2未完成   5已完成
					measurePoints: '',
					imageUrl: "",
					fileUrl: "",
					recordType: 1,
					subsectionId: '', //分部工程
					subentryId: '', //分项工程
					floor:'',//巡检楼层
					addedDescription:'',//事件描述
				},
				checkPointList: [], //获取检查部位数据
				checkPointName: '',
				issueList: [], //问题分类 || 问题描述
				issueName: '',
				issueGradeList: [{
						name: '一级',
						value: 1
					},
					{
						name: '二级',
						value: 2
					},
					{
						name: '三级',
						value: 3
					},
					{
						name: '四级',
						value: 4
					},
				], //问题等级
				issueGradeIndex: 0,
				urgencyList: [{
						name: '一般',
						value: 1
					},
					{
						name: '严重',
						value: 2
					},
					{
						name: '紧要',
						value: 3
					},
				], //紧急程度
				urgencyIndex: 0,
				personList: [], //人员列表  -- 检查人、整改人、复查人、核验人、通知人
				inspectManIndex: null, //检查人
				changePeopleIndex: null, //整改人
				verifyManIndex: null, //核验人
				reviewIndex: null, //复查人
				notifier: '', //通知人
				unitDialog: false, //分包商弹窗
				subpackageLsit: [], //分包商数据列表
				videoFileList: [],
				imgFileList: [],

				basicInfo: {},
				selectIndex: null,
				userInfo: '',
				typeCheck: 'type1', // 类型 type1为质量问题  type2为排查记录
				listData: [], //分部工程
				subListData: [], //分项工程
				subsectionIndex:0,//分部工程
				subentryIndex:0,////分项工程

			}
		},
		onLoad(option) {
			this.pageTitle = option.type == 'add' ? '新增检查记录' : '编辑检查记录';
			this.projectSn = JSON.parse(uni.getStorageSync('projectDetail')).projectSn;
			this.userInfo = JSON.parse(uni.getStorageSync('userInfo'));
			this.getCheckPointList();
			this.getIssueList();
			this.getPersonList();
			this.getProgressListData()
			console.log(this.userInfo)
		},


		methods: {
			//分部工程改动事件
			checkSubListData(e) {
				console.log("一级菜单改动了 ：", e);
				this.subsectionIndex=e.detail.value
				console.log("拿到的索引 ：", this.subListData);
				this.subListData=this.listData[this.subsectionIndex].children;
				this.subentryIndex=0;
			},
			//获取分部分项工程， 以父子节点形式呈现
			getProgressListData() {
				this.sendRequest({
					url: 'xmgl/subdivisionProject/getParentChildList',
					method: 'get',
					data: {
						projectSn: this.projectSn
					},
					success: res => {
						if (res.code == 200) {
							this.listData = res.result;
							console.log('获取分部分项工程， 以父子节点形式呈现', this.listData)
							if (this.listData.length >= 1) {
								this.form.subsectionId = this.listData[0].id
								if (this.listData[0].children.length >= 1) {
									this.subListData = this.listData[0].children;
									this.form.subentryId = this.listData[0].children[0].id;
								}
							}
						}
					}
				})
			},

			//--------------------分割线
			radioChange() {

			},
			//获取检查部位 列表
			getCheckPointList() {
				this.sendRequest({
					url: 'xmgl/qualityRegion/list',
					method: 'post',
					data: {
						projectSn: this.projectSn
					},
					success: res => {
						if (res.code == 200) {
							this.checkPointList = res.result;
							console.log(this.checkPointList)
						}
					}
				})
			},
			//确定选中--回显  
			checkPointBtn(val, type) {
				// type==1 检查部位 ；  2 问题分类 	3,通知人			
				if (type == 1) {
					// console.log(this.checkPointList, val, this.personList)
					this.form.regionId = val[0].id;
					let arr = JSON.parse(JSON.stringify(val[0].parents));
					let obj = {
						id: val[0].id,
						regionName: val[0].regionName
					};
					arr.push(obj);
					//获取选中的字符串 名称
					var regionName = arr.map(function(item, index) {
						return item.regionName;
					}).join("/");
					this.checkPointName = regionName;
					this.form.regionName = regionName;
					this.personList.forEach((item, index) => {
						if (item.userId === val[0].dutyId) {
							this.changePeopleIndex = index
						}
					});
					this.form.changeId = val[0].dutyId;
					this.notifier = val[0].intendanceNames;
					this.form.notifyPerson = val[0].intendanceIds;
					this.form.remark = val[0].remark
				} else if (type == 2) {
					//设置问题描述
					this.form.dangerItemContent = val[0].dangerName;
					this.form.dangerItemId = val[0].id;
					//设置问题类型
					if (val[0].parents.length == 0) {
						this.form.dangerTypeId = val[0].id;
						this.issueName = val[0].dangerName;
					} else {
						this.form.dangerTypeId = val[0].parents[0].id;
						this.issueName = val[0].parents[0].dangerName + '/' + val[0].dangerName;
					}
				} else if (type == 3) {
					console.log(val)
					this.notifier = val.map((item, index) => {
						return item.workerName
					}).join(',');
					this.form.notifyPerson = val.map((item, index) => {
						return item.workerName
					}).join(',')
				}

			},
			//获取问题分类
			getIssueList() {
				this.sendRequest({
					url: 'xmgl/dangerTypeRecord/selectDangerTypeAndItemList',
					method: 'post',
					data: {
						projectSn: this.projectSn
					},
					success: (res) => {
						if (res.result.length > 0) {
							res.result.forEach(item => {
								if (item.children && item.children.length > 0) {
									item.children.forEach(itm => {
										if (itm.itemList && itm.itemList.length > 0) {
											itm.itemList.forEach(item2 => {
												item2.dangerName = item2.content
											})
											itm.children = itm.itemList
										}
									})
								}
							})
							console.log(res.result)
							this.issueList = res.result
						}
					}
				})
			},


			//补充说明
			supplementTextarea(e) {
				this.form.dangerDesc = e.detail.value
			},
			//整改要求
			claimTextarea(e) {
				this.form.remark = e.detail.value
			},
			//事件描述
			eventDescription(e){
				this.form.addedDescription=e.detail.value
			},

			//获取分包公司
			getSubpackageLsit() {
				let data = {
					enterpriseTypeId: this.checkType,
					pageNo: 1,
					pageSize: 999,
					projectSn: this.projectSn,
				};
				this.sendRequest({
					url: 'xmgl/projectEnterprise/list',
					method: 'post',
					data: data,
					success: (res) => {
						if (res.result.records.length > 0) {
							this.subpackageLsit = res.result.records;
						} else {
							this.subpackageLsit = [];
						}
					}
				})
			},

			//下拉选择回显
			bindPickerChange(e, type) {
				console.log(e)
				//type ==1 问题等级;2紧急情况;3检查人;4 检查时间;5整改时限; 6整改人; 7复查人; 8核验人;
				if (type == 1) {
					this.issueGradeIndex = e.detail.value;
					this.form.level = this.issueGradeList[e.detail.value].value;
				} else if (type == 2) {
					this.urgencyIndex = e.detail.value;
					this.form.urgentLevel = this.urgencyList[e.detail.value].value;
				} else if (type == 3) {
					this.inspectManIndex = e.detail.value;
					this.form.inspectManId = this.personList[e.detail.value].userId
				} else if (type == 4) {
					this.form.inspectTime = e.detail.value;
				} else if (type == 5) {
					this.form.changeLimitTime = e.detail.value;
				} else if (type == 6) {
					this.changePeopleIndex = e.detail.value;
					this.form.changeId = this.personList[e.detail.value].userId;
					console.log(this.changePeopleIndex, this.form.changeId)
				} else if (type == 7) {
					this.reviewIndex = e.detail.value;
					this.form.reviewId = this.personList[e.detail.value].userId;
				} else if (type == 8) {
					this.verifyManIndex = e.detail.value;
					this.form.verifyManId = this.personList[e.detail.value].userId;
				}

			},


			//获取人员列表--- 检查人、整改人、复查人、核验人、通知人
			getPersonList() {
				this.sendRequest({
					url: 'xmgl/systemUser/getProjectChilderSystemUserList',
					method: 'post',
					data: {
						projectSn: this.projectSn
					},
					success: res => {
						console.log(res.result)
						if (res.result.length > 0) {
							this.personList = res.result;
						}
					}
				})
			},




			//选择的分包公司
			checkSubpackage(val) {
				// if (this.checkType == 1) {
				this.form.enterpriseSn = val.enterpriseSn;
				this.form.enterpriseName = val.enterpriseName;
				// } else {
				// 	this.form.enterpriseSn = val.enterpriseSn;
				// 	this.form.enterpriseName = val.enterpriseName;
				// }
				this.unitDialog = false;
			},


			//删除---公用
			deletesBtn(type) {
				window.event.stopPropagation();
				//type==1 分包单位
				if (type == 1) {
					this.form.enterpriseSn = '';
					this.form.enterpriseName = '';
				}
			},

			//现场整改是否完成
			switchChange(e) {
				if (e.detail.value) {
					this.form.status = 5;
				} else {
					this.form.status = 2;
				}
			},

			//选择分包单位
			clickUnit() {
				this.unitDialog = true;
				this.getSubpackageLsit();
			},
			//切换分包商
			checkTypeBtn(type) {
				this.checkType = type;
				this.getSubpackageLsit();
			},

			//上传附件
			uploadImg() {
				var that = this
				uni.chooseImage({
					count: 5 - that.imgFileList.length,
					success(res) {
						const tempFilePaths = res.tempFilePaths;
						uni.uploadFile({
							url: that.url_config + 'upload/image', //仅为示例，非真实的接口地址
							filePath: tempFilePaths[0],
							name: 'files',
							success: (uploadFileRes) => {
								let data = {
									name: JSON.parse(uploadFileRes.data).data[0].filename,
									url: JSON.parse(uploadFileRes.data).data[0].imageUrl
								};
								that.imgFileList.push(data)
							}
						});
					}
				})
			},
			//删除附件
			deleteImg(val, type) {
				let that = this;
				uni.showModal({
					title: '提示',
					content: '确定删除该附件吗?',
					success: function(res) {
						if (res.confirm) {
							if (type == 1) {
								let fileArr = JSON.parse(JSON.stringify(that.imgFileList));
								fileArr.forEach((item, index) => {
									if (item.url == val.url) {
										fileArr.splice(index, 1)
									}
								})
								that.imgFileList = fileArr;
							} else if (type == 2) {
								let fileArr = JSON.parse(JSON.stringify(that.videoFileList));
								fileArr.forEach((item, index) => {
									if (item.url == val.url) {
										fileArr.splice(index, 1)
									}
								})
								that.videoFileList = fileArr;
							}

						} else if (res.cancel) {
							console.log('用户点击取消');
						}
					}
				});

			},
			//上传视频
			uploadVideo() {
				var that = this;
				uni.chooseVideo({
					count: 5 - that.videoFileList.length,
					sourceType: ['camera', 'album'],
					success: function(res) {
						let url = res.tempFilePath;
						uni.uploadFile({
							url: that.url_config + 'upload/image', //仅为示例，非真实的接口地址
							filePath: url,
							name: 'files',
							success: (uploadFileRes) => {
								let obj = {
									name: JSON.parse(uploadFileRes.data).data[0].filename,
									url: JSON.parse(uploadFileRes.data).data[0].imageUrl
								}
								that.videoFileList.push(obj);
							}
						})
					}
				})
			},
			//查看视频
			playVideo(url, type) {
				uni.navigateTo({
					url: '../carWashManage/mediaPlay?url=' + url + '&type=' + type
				})
			},
			//预览图片
			previewImage(url) {
				uni.previewImage({
					urls: [url]
				})
			},


			//新增保存
			addSaveBtn() {
				let arr = [],
					arr2 = [];
					
					
				this.videoFileList.forEach(item => {
					arr.push(item.name + "*" + this.url_config + 'image/' + item.url)
				})
				this.imgFileList.forEach(item => {
					arr2.push(item.name + "*" + this.url_config + 'image/' + item.url)
				})
				// this.form.fileUrl = this.videoFileList.length>0?JSON.stringify(this.videoFileList):'';
				// this.form.imageUrl = this.imgFileList.length>0?JSON.stringify(this.imgFileList):'';
				this.form.fileUrl = arr.join(',')
				this.form.imageUrl = arr2.join(',')
				let data = JSON.parse(JSON.stringify(this.form));
				if (data.regionId == '') {
					uni.showToast({
						title: '请选择检查部位',
						icon: 'none'
					})
					return
				}
				if (data.dangerItemContent == '' && this.typeCheck == "type1") {
					uni.showToast({
						title: '请选择问题描述',
						icon: 'none'
					})
					return
				} else if (data.dangerItemContent == '') {
					uni.showToast({
						title: '请选择排查分类',
						icon: 'none'
					})
					return
				}
				if (data.dangerTypeId == '' && this.typeCheck == "type1") {
					uni.showToast({
						title: '请选择问题分类',
						icon: 'none'
					})
					return
				}
				// if (data.inspectManId == '') {
				// 	uni.showToast({
				// 		title: '请选择检查人',
				// 		icon: 'none'
				// 	})
				// 	return
				// }
				if (data.inspectTime == '') {
					uni.showToast({
						title: '请选择检查时间',
						icon: 'none'
					})
					return
				}
				if (data.changeLimitTime == '' && this.typeCheck == "type1") {
					uni.showToast({
						title: '请选择整改时限',
						icon: 'none'
					})
					return
				}
				if (data.changeId == '' && this.typeCheck == "type1") {
					uni.showToast({
						title: '请选择整改人',
						icon: 'none'
					})
					return
				}
				if (data.reviewId == '' && this.typeCheck == "type1") {
					uni.showToast({
						title: '请选择复查人',
						icon: 'none'
					})
					return
				}
				if (data.verifyManId == '' && this.typeCheck == "type1") {
					uni.showToast({
						title: '请选择核查人',
						icon: 'none'
					})
					return
				};
				data.level = data.level == 0 ? Number(data.level) + 1 : data.level;
				data.urgentLevel = data.urgentLevel == 0 ? Number(data.urgentLevel) + 1 : data.urgentLevel;
				data.projectSn = this.projectSn;
				data.inspectManId = this.userInfo.userId
				data.creatorId = this.userInfo.userId
				if (this.typeCheck == "type1") {
					// 质量问题
					this.sendRequest({
						url: 'xmgl/qualityInspectionRecord/add',
						method: 'post',
						data: data,
						success: (res) => {
							console.log(res)
							if (res.code == 200) {
								uni.showToast({
									title: '保存成功'
								})
								setTimeout(() => {
									uni.navigateBack({})
								}, 1200)
							} else {
								uni.showToast({
									title: res.message,
									icon: 'none'
								})
							}
						}
					})
				} else {
					// 排查记录
					let data2 = {
						dangerDesc: data.dangerDesc,
						dangerItemContent: data.dangerItemContent,
						dangerItemId: data.dangerItemId,
						dangerTypeId: data.dangerTypeId,
						enterpriseName: data.enterpriseName,
						enterpriseSn: data.enterpriseSn,
						fileUrl: data.fileUrl,
						imageUrl: data.imageUrl,
						inspectManId: data.inspectManId,
						inspectTime: data.inspectTime,
						projectSn: data.projectSn,
						recordType: 2,
						regionId: data.regionId,
						regionName: data.regionName,
						routineInspect: 0
					}
					this.sendRequest({
						url: 'xmgl/qualityInspectionRecord/add',
						method: 'post',
						data: data2,
						success: (res) => {
							console.log(res)
							if (res.code == 200) {
								uni.showToast({
									title: '保存成功'
								})
								setTimeout(() => {
									uni.navigateBack({})
								}, 1200)
							} else {
								uni.showToast({
									title: res.message,
									icon: 'none'
								})
							}
						}
					})
				}
			},

			// 单选框切换
			radioChange(value) {
				this.typeCheck = value.detail.value
				// 重制内容
				this.form = {
					regionId: "", // 检查部位
					regionName: "",
					dangerItemContent: "",
					dangerItemId: "",
					dangerTypeId: "",
					dangerDesc: "",
					remark: "",
					routineId: 0,
					level: 0,
					urgentLevel: 0,
					inspectManId: "",
					inspectTime: "",
					enterpriseSn: "",
					enterpriseName: "",
					changeLimitTime: "",
					changeId: "",
					reviewId: "",
					verifyManId: "",
					notifyPerson: [],
					status: 2, // 现场整改状态  2未完成   5已完成
					measurePoints: '',
					imageUrl: "",
					fileUrl: "",
					recordType: 1,
				};
				this.checkPointName = ""
				this.videoFileList = [];
				this.imgFileList = [];
			}
		}
	}
</script>

<style scoped lang="scss">
	.flex {
		display: flex;
		align-items: center;
	}

	.flex2 {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.flex3 {
		display: flex;
	}

	.content {
		width: 100%;
		box-sizing: border-box;
		padding: 20px 30rpx;
	}

	.type {
		font-size: 30rpx;
		line-height: 40px;
		margin-bottom: 8px;
		/* border-bottom: 1px solid rgba(194, 194, 194, 0.2); */
	}

	.type .name {
		margin-right: 6px;
		width: 176rpx;
		text-align: right;
	}

	.radio-wrap {
		display: flex;
		align-items: center;

		.radio {
			margin-right: 20px;
		}
	}

	.accessory {
		width: 100%;
		height: 70px;
		padding: 0 10px;
		box-sizing: border-box;
	}

	.accessoryImg {
		width: 110rpx;
		height: 60px;
		margin-right: 8px;
	}

	.picker {
		width: 70%;
		border: 1px solid rgba(42, 43, 91, 0.3);
		padding: 0px 30rpx;
		box-sizing: border-box;
		border-radius: 30px;
	}

	.uni-input {
		line-height: 32px;
	}

	.textarea {
		width: calc(70% - 32px);
		border-radius: 10px;
		border: 1px solid rgba(42, 43, 91, 0.3);
		padding: 8px 15px;
		box-sizing: border-box;
		height: 50px;
	}
	.inpuStyle{
		width: calc(80% - 35px);
		border-radius: 20px;
		border: 1px solid rgba(42, 43, 91, 0.3);
		padding: 8px 15px;
		box-sizing: border-box;
		height: 35px;
	}

	.cl {
		font-size: 30rpx;
	}


	.imgBox_wrap {
		display: flex;
		flex-wrap: wrap;
		margin-top: 10px;
		width: 75%;
	}

	.imgBox {
		width: 60px;
		height: 60px;
		display: inline-flex;
		position: relative;
		margin-right: 15px;
		margin-bottom: 8px;

		.img {
			width: 100%;
			height: 100%;
			border-radius: 10px;
		}

		.deleteImg {
			position: absolute;
			right: -10px;
			top: -18px;
		}

	}

	.addImgBox {
		border: 1px solid rgba(42, 43, 91, 0.1);
		background-color: #f6f5f8;
		width: 60px;
		height: 60px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border-radius: 10px;
		font-size: 12px;

		.icon-add {
			width: 18px;
			height: 18px;
		}
	}

	.unitDialog {
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		z-index: 111;
		background-color: rgba(0, 0, 0, 0.5);
	}

	.unitContent {
		width: 85%;
		height: 70%;
		margin: 25% auto 0;
		background-color: #fff;
		box-sizing: border-box;
		padding: 20px 30rpx;
		border-radius: 5px;
		box-shadow: 0 0 10px rgba(255, 255, 255, 0.6);
	}

	.tabs {
		border-bottom: 1px solid rgba(153, 153, 153, 0.5);
	}

	.tabs_name {
		width: 40%;
		text-align: center;
		padding: 5px 10rpx;
		box-sizing: border-box;
		font-size: 30rpx;
	}

	.checkName {
		border-bottom: 2px solid #4181FE;
		color: #4181FE;
	}

	.noCheckName {
		padding-top: 4px;
	}

	.unitList {
		margin: 10px 0;
		font-size: 30rpx;

		.title {
			margin-bottom: 10px;
		}

		.list_val {
			padding: 8px 10px;
		}
	}

	.bg_999 {
		background-color: rgba(153, 153, 153, 0.1);
	}

	.ellipsis {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.status {
		color: #007AFF;
	}

	.addSaveBtn {
		margin: 30px auto;
		width: 60%;
		padding: 10px 0;
		text-align: center;
		background-color: #4181FE;
		color: #fff;
		font-size: 34rpx;
		border-radius: 30px;
		letter-spacing: 2px;
		box-shadow: 0 3px 10px rgba(65, 129, 254, 0.8);
	}

	.addSaveBtn:active {
		background-color: rgba(65, 129, 254, 0.8);
	}

	.radio-box {
		display: flex;
	}

	.radio-item {
		display: flex;
		margin-right: 20rpx;
		align-items: center;
		font-size: 28rpx;

		/deep/ .uni-radio-input {
			width: 32rpx;
			height: 32rpx;
		}
	}

	.radio-text {
		height: 72rpx;
	}
</style>
