From e21fa393941e5f734822debc1f3f992c3e75d864 Mon Sep 17 00:00:00 2001
From: Lou <luzhiping@qqyjz.com>
Date: Thu, 25 Apr 2024 13:33:16 +0800
Subject: [PATCH] 更新

---
 subPackage/school/securityRecord.vue         |    9 
 pages.json                                   |   19 +
 subPackage/school/securityReform.vue         |  636 +++++++++++++++++++++++++++++++++++++++++++++
 subPackage/school/security.vue               |   22 
 subPackage/school/securityDetail.vue         |   99 +++---
 subPackage/workbench/views/audit.vue         |    2 
 subPackage/house/houseNumber/siteInspect.vue |    2 
 7 files changed, 721 insertions(+), 68 deletions(-)

diff --git a/pages.json b/pages.json
index afceec8..860fb61 100644
--- a/pages.json
+++ b/pages.json
@@ -1294,8 +1294,25 @@
 						"navigationBarTextStyle": "black",
 						"enablePullDownRefresh": false
 					}
+				},
+				{
+					"path": "securityDetail",
+					"style": {
+						"navigationBarTitleText": "校园安保检查详情",
+						"navigationBarBackgroundColor": "#fff",
+						"navigationBarTextStyle": "black",
+						"enablePullDownRefresh": false
+					}
+				},
+				{
+					"path": "securityReform",
+					"style": {
+						"navigationBarTitleText": "校园安保检查整改",
+						"navigationBarBackgroundColor": "#fff",
+						"navigationBarTextStyle": "black",
+						"enablePullDownRefresh": false
+					}
 				}
-
 			]
 		}
 	],
diff --git a/subPackage/house/houseNumber/siteInspect.vue b/subPackage/house/houseNumber/siteInspect.vue
index 710b3e8..c7fb76c 100644
--- a/subPackage/house/houseNumber/siteInspect.vue
+++ b/subPackage/house/houseNumber/siteInspect.vue
@@ -188,8 +188,6 @@
 						<view class="check-icon" v-if="i.houseCode == info.houseCode">
 							<u-icon name="checkbox-mark" color="#017BFC" size="30"></u-icon>
 						</view>
-
-
 					</view>
 				</scroll-view>
 			</view>
diff --git a/subPackage/school/security.vue b/subPackage/school/security.vue
index 4355728..c56af16 100644
--- a/subPackage/school/security.vue
+++ b/subPackage/school/security.vue
@@ -17,19 +17,19 @@
 							<view class="f-30 c-33">
 								{{i.title}}
 							</view>
-							<u-form-item labelWidth="90" label="隐患" prop="gateStatus">
+							<u-form-item labelWidth="90" prop="gateStatus">
 								<view class="btn-group flex">
 									<view class="value-item" :class="i.state == 0?'active bgc-main c-ff':''"
 										@click="changeStatus(0,i,index,k)">
-										存在
+										是
 									</view>
 									<view class="value-item" :class="i.state == 1?'active bgc-main c-ff':''"
 										@click="changeStatus(1,i,index,k)">
-										不存在
+										否
 									</view>
 								</view>
 							</u-form-item>
-							<view class="" v-if="i.state == 0">
+							<!-- <view class="" v-if="i.state == 0">
 								<u-form-item labelWidth="100" label="照片" prop="gateStatus">
 									<u-upload :fileList="i.urls" :previewFullImage="uploadConfig.previewFullImage"
 										:accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
@@ -46,7 +46,7 @@
 									<u-textarea v-model="i.remark" placeholder="请输入描述"
 										placeholderClass="c-99 f-26"></u-textarea>
 								</u-form-item>
-							</view>
+							</view> -->
 						</block>
 					</u-form>
 				</u-collapse-item>
@@ -143,8 +143,6 @@
 					images: []
 				},
 				info: {
-					remark: "",
-					imageUrls: "",
 					houseCode: ""
 				},
 
@@ -293,11 +291,11 @@
 							arr.push({
 								itemId: this.questionList[i].children[k].id,
 								state: this.questionList[i].children[k].state,
-								imageUrls: this.setImages(this.questionList[i].children[k].urls),
-								remark: this.questionList[i].children[k].remark || "",
+								// imageUrls: this.setImages(this.questionList[i].children[k].urls),
+								// remark: this.questionList[i].children[k].remark || "",
 								type: 3
 							})
-							if (this.questionList[i].children[k].state == 0) {
+							if (this.questionList[i].children[k].state == 1) {
 								count += 1;
 							}
 						}
@@ -414,7 +412,9 @@
 					this.info.rectificationNoticeImgUrl = urls.join(",")
 				}
 				this.info.taskPlaceRecordVOList = this.getSelected()
-				this.info.status = 1;
+				if (this.dangerCount == 0) {
+					this.info.status = 2;
+				}
 				this.info.type = 2;
 				if (this.isEdit) {
 					auditPlaceCheck(this.info).then(res => {
diff --git a/subPackage/school/securityDetail.vue b/subPackage/school/securityDetail.vue
index f11fce2..36f1029 100644
--- a/subPackage/school/securityDetail.vue
+++ b/subPackage/school/securityDetail.vue
@@ -50,10 +50,16 @@
 		</view>
 		<view class="item-row flex j-c-s-b a-i-c">
 			<text>状态</text>
-			<text v-if="info.status == 1">待审核</text>
-			<text v-if="info.status == 2">审核成功</text>
-			<text v-if="info.status == 3">审核驳回</text>
-			<text v-if="info.status == 4">待完成</text>
+			<block v-if="info.rectificationFlag == 2">
+				<text v-if="info.status == 1">待审核</text>
+				<text v-if="info.status == 2">审核成功</text>
+				<text v-if="info.status == 3">审核驳回</text>
+				<text v-if="info.status == 4">待完成</text>
+			</block>
+			<block v-if="info.rectificationFlag == 1">
+				<text>未整改完成</text>
+			</block>
+
 		</view>
 		<view class="item-row flex j-c-s-b a-i-c" v-if="info.status == 3 && info.reasonFailure">
 			<text>驳回原因</text>
@@ -71,30 +77,19 @@
 			</view>
 		</view>
 
-		<view class="image-wrap bgc-ff" v-if="signatureUrl.length">
-			<view class="mb-20">
-				签名
-			</view>
-			<view class="image-item" v-for="(i,k) in signatureUrl" @click="previewImage(signatureUrl,i)">
-				<u-image :src="i" width="100rpx" height="100rpx"></u-image>
-			</view>
-		</view>
-
-
-
 		<view class="mt-20 bgc-ff">
 			<block v-for="(item,index) in itemList">
 				<block v-for="(i,k) in item.children">
 					<block v-for="(n,m) in info.taskPlaceRecordVOList">
-						<view class="item-row flex j-c-s-b a-i-c" v-if="i.id == n.itemId && n.state == 0">
+						<view class="item-row flex j-c-s-b a-i-c" v-if="i.id == n.itemId && n.state == 1">
 							<text class="item-left fw">{{item.title}}</text>
 							<!-- <text>不存在</text> -->
 						</view>
-						<u-collapse :value="ids" v-if="i.id == n.itemId && n.state == 0" ref="collapse">
-							<u-collapse-item :name="n.itemId" :title="i.title" value="存在" :disabled="true"
+						<u-collapse :value="ids" v-if="i.id == n.itemId && n.state == 1" ref="collapse">
+							<u-collapse-item :name="n.itemId" :title="i.title" value="否" :disabled="true"
 								:clickable="false" :isLink="false">
 								<view class="mb-20" v-if="n.imageUrls">
-									<view class="f-26 mb-10 c-00">隐患照片</view>
+									<view class="f-26 mb-10 c-00">整改照片</view>
 									<view class="flex flex-wrap">
 										<view class="mr-20" v-for="r in ($setImageUrl(n.imageUrls))">
 											<u-image :src="r" width="140rpx" height="140rpx"
@@ -138,9 +133,6 @@
 										placeholderClass="c-99 f-26"
 										:disabled="roleType == 2 && (info.status == 4 || info.status == 3)?false:true"></u-textarea>
 								</view> -->
-
-
-
 							</u-collapse-item>
 						</u-collapse>
 					</block>
@@ -149,9 +141,13 @@
 		</view>
 
 		<view class="blank"></view>
-		<!-- <footer-btn @click="submitInfo" v-if="roleType == 2 && (info.status == 4 || info.status == 3)"     /> -->
-		<audit-action v-if="roleType == 1 && info.status == 1" @handle="submitAudit" />
-		<footer-btn v-if="roleType == 2 && info.status == 3" text="重新提交" @click="navTo" />
+		<!-- <footer-btn @click="submitInfo" v-if="roleType == 2 && (info.status == 4 || info.status == 3)"/> -->
+		<block v-if="info.rectificationFlag == 2">
+			<audit-action v-if="roleType == 1 && info.status == 1" @handle="submitAudit" />
+		</block>
+		<block v-if="info.rectificationFlag == 1">
+			<footer-btn v-if="roleType == 2 &&( info.status == 3  || info.status == 1)" text="重新提交" @click="navTo" />
+		</block>
 	</view>
 </template>
 
@@ -169,7 +165,7 @@
 		auditPlaceCheck
 	} from '@/api/reporting/reporting.js'
 
-	import auditAction from '../components/actionBtn.vue'
+	import auditAction from '@/components/btn/actionBtn.vue'
 	export default {
 		mixins: [uploadMixin],
 		components: {
@@ -182,20 +178,28 @@
 				signatureUrl: [],
 				label: "",
 				itemList: [],
-				roleType: '', //1.民警/系统管理员   2.场所负责人
+				roleType: '', //1.民警/系统管理员   2.场所负责人 / 学校主体
 				ids: [],
-				taskId: ""
+				taskId: "",
+				type: 1 // 2学校主体
 			}
 		},
 		async onLoad(option) {
 			let {
-				roleName
+				roleName,
+				roleAlias
 			} = uni.getStorageSync("activeRole")
 			if (roleName == "居民") {
 				this.roleType = 2;
-			}
-			if (roleName == "民警" || roleName == "系统管理员") {
+			} else if (roleName == "民警" || roleName == "系统管理员") {
 				this.roleType = 1;
+			} else if (roleAlias == "xyzt") {
+				this.roleType = 2;
+			}
+
+
+			if (option.type) {
+				this.type = option.type;
 			}
 
 			await this.getItem();
@@ -217,21 +221,21 @@
 				}).then(res => {
 					let data = res.data;
 					// this.info = res.data;
-					this.images = this.$setImageUrl(res.data.imageUrls);
-					this.signatureUrl = this.$setImageUrl(res.data.signaturePath);
+					this.images = this.$setImageUrl(res.data.rectificationNoticeImgUrl);
+					// this.signatureUrl = this.$setImageUrl(res.data.signaturePath);
 					if (res.data.placePoiLabelVOList.length) {
 						this.label = res.data.placePoiLabelVOList[res.data.placePoiLabelVOList.length - 1]
 							.labelName;
 					}
 					let ids = [];
 					for (let i of data.taskPlaceRecordVOList) {
-						if ((data.status == 4 || data.status == 3) && this.roleType == 2) {
-							if (i.rectificationImageUrls) {
-								i.urls = this.$setImageUrl(i.rectificationImageUrls, 2);
-							} else {
-								i.urls = [];
-							}
-						}
+						// if ((data.status == 4 || data.status == 3) && this.roleType == 2) {
+						// 	if (i.rectificationImageUrls) {
+						// 		i.urls = this.$setImageUrl(i.rectificationImageUrls, 2);
+						// 	} else {
+						// 		i.urls = [];
+						// 	}
+						// }
 						if (i.state == 0) {
 							ids.push(i.itemId)
 						}
@@ -243,12 +247,8 @@
 
 			getItem() {
 				let data = {
-					childType: 1,
-					type: 1
-				}
-				if (this.type == 2) {
-					data.childType = 9;
-					data.type = 3;
+					childType: 9,
+					type: 3
 				}
 				getPlaceCheckItem(data).then(res => {
 					if (res.code == 200) {
@@ -327,7 +327,6 @@
 				if (data.status == 4) {
 					data.status = 1;
 				}
-				data.type = 2;
 				addPlaceCheckReform(data).then(res => {
 					uni.hideLoading()
 					if (res.code == 200) {
@@ -349,8 +348,7 @@
 					taskId: this.info.taskId,
 					status: val.type,
 					rectificationFlag: val.type == 3 ? 1 : 2,
-					reasonFailure: val.remark,
-					type: 2
+					reasonFailure: val.remark
 				}).then(res => {
 					uni.hideLoading()
 					if (res.code == 200) {
@@ -364,8 +362,9 @@
 
 			navTo() {
 				uni.navigateTo({
-					url: `/subPackage/label/check?taskId=${this.info.taskId}`
+					url: `/subPackage/school/securityReform?taskId=${this.info.taskId}`
 				})
+
 			},
 
 		}
diff --git a/subPackage/school/securityRecord.vue b/subPackage/school/securityRecord.vue
index 9e9ab6f..d08ddd7 100644
--- a/subPackage/school/securityRecord.vue
+++ b/subPackage/school/securityRecord.vue
@@ -6,8 +6,11 @@
 					<text class="f-32 fw">校园安保检查</text>
 					<!-- 	<text class="f-32 fw" v-if="i.eventType == 3">二手车交易</text>
 					<text class="f-32 fw" v-if="i.eventType == 2">二手手机维修</text> -->
-					<u-tag v-if="i.status == 4" text="待完成" type="warning" plain plainFill></u-tag>
-					<u-tag v-if="i.status == 1" text="待审批" type="warning" plain plainFill></u-tag>
+					<u-tag v-if="i.rectificationFlag == 1 && i.status == 1" text="待整改" type="warning" plain
+						plainFill></u-tag>
+					<u-tag v-if=" i.status == 4" text="待完成" type="warning" plain plainFill></u-tag>
+					<u-tag v-if="i.rectificationFlag == 2 && i.status == 1" text="待审批" type="warning" plain
+						plainFill></u-tag>
 					<u-tag v-if="i.status == 2" text="审核通过" type="success" plain plainFill></u-tag>
 					<u-tag v-if="i.status == 3" text="审核拒绝" type="error" plain plainFill></u-tag>
 				</view>
@@ -70,7 +73,7 @@
 			},
 			navTo(id) {
 				uni.navigateTo({
-					url: `/subPackage/workbench/views/selfCheckDetail?id=${id}&type=2`
+					url: `securityDetail?id=${id}&type=2`
 				})
 			}
 		}
diff --git a/subPackage/school/securityReform.vue b/subPackage/school/securityReform.vue
new file mode 100644
index 0000000..d8c930f
--- /dev/null
+++ b/subPackage/school/securityReform.vue
@@ -0,0 +1,636 @@
+<template>
+	<view class="wrap">
+
+		<!-- <view class="info-row flex j-c-s-b a-i-c" @click="isShowPopup = true">
+			<text class="f-28">场所名称</text>
+			<view class="flex">
+				<text class="mr-10">{{selectedPlace.placeName}}</text>
+				<u-icon name="arrow-right"></u-icon>
+			</view>
+		</view> -->
+
+		<view class="section mb-20">
+			<u-collapse :value="itemIndex" ref="collapse">
+				<u-collapse-item :title="item.title" :name="index" v-for="(item,index)  in questionList">
+					<u-form :model="info" ref="form">
+						<block v-for="(i,k) in item.children">
+							<view class="f-30 c-33">
+								{{i.title}}
+							</view>
+							<u-form-item labelWidth="90" prop="gateStatus">
+								<view class="btn-group flex">
+									<view class="value-item" :class="i.state == 0?'active bgc-main c-ff':''"
+										@click="changeStatus(0,i,index,k)">
+										是
+									</view>
+									<view class="value-item" :class="i.state == 1?'active bgc-main c-ff':''"
+										@click="changeStatus(1,i,index,k)">
+										否
+									</view>
+								</view>
+							</u-form-item>
+							<view class="" v-if="i.state == 1">
+								<u-form-item labelWidth="100" label="照片" prop="gateStatus">
+									<u-upload :fileList="i.urls" :previewFullImage="uploadConfig.previewFullImage"
+										:accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
+										:maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture"
+										@afterRead="afterReadImgs($event,i,index,k)"
+										@delete="deleteImages($event,index,k)">
+										<view class="upload-item upload-icon flex_base">
+											<u-icon name="/static/icon/upload.png" width="60rpx"
+												height="60rpx"></u-icon>
+										</view>
+									</u-upload>
+								</u-form-item>
+								<u-form-item labelWidth="100" label="描述" prop="gateStatus">
+									<u-textarea v-model="i.remark" placeholder="请输入描述"
+										placeholderClass="c-99 f-26"></u-textarea>
+								</u-form-item>
+							</view>
+						</block>
+					</u-form>
+				</u-collapse-item>
+			</u-collapse>
+		</view>
+
+		<view class="content bgc-ff" v-if="dangerCount > 0">
+			<view class="upload ">
+				<!-- <view class="f-28 mb-20">其它隐患问题</view> -->
+				<view class="flex j-c-s-b a-i-c" @click="showSelectDate = true">
+					<view class="f-28">整改截止时间</view>
+					<view class="flex a-i-c">
+						<text class="mr-10">{{info.rectificationEndTime}}</text>
+						<u-icon name="arrow-right"></u-icon>
+					</view>
+				</view>
+				<view class="mt-20">
+					<view class="f-28 mb-20">整改文件</view>
+					<u-upload :fileList="form.images" :previewFullImage="uploadConfig.previewFullImage"
+						:accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
+						:maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" @afterRead="afterReadImg"
+						@delete="deletePic">
+						<view class="upload-item upload-icon flex_base">
+							<u-icon name="/static/icon/upload.png" width="60rpx" height="60rpx"></u-icon>
+						</view>
+					</u-upload>
+				</view>
+			</view>
+		</view>
+
+		<!-- <footer-btn @click="sumitInfo"></footer-btn> -->
+
+
+		<button class="submit-btn" @click="sumitInfo">提交</button>
+		<button class="list-btn mb-20" @click="navTo">提交记录</button>
+
+
+
+
+		<u-datetime-picker ref="datetimePicker" :show="showSelectDate" v-model="time" mode="datetime"
+			:formatter="formatter" @confirm="confirmDate" @cancel="showSelectDate = false"></u-datetime-picker>
+
+
+		<view class="blank"></view>
+
+
+
+
+		<u-popup :show="isShowPopup" mode="bottom" :round="10" closeable="true" @close="isShowPopup = false">
+			<view class="popup-content">
+				<view class="popup-title f-30">选择场所</view>
+				<u-search placeholder="请输入场所名称" :showAction="true" actionText="搜索" :animation="true" v-model="placeName"
+					@search="searchPlace" @custom="searchPlace" @clear="clearKeyword"></u-search>
+				<scroll-view class="popup-list" :scroll-y="true">
+					<view class="popup-list-item" v-for="(i,k) in placeList" :key="k" @click="selectPlace(i)">
+						<view class="flex a-i-c mb-10">
+							<text class="f-28 fw mr-20">{{i.placeName}}</text>
+							<text class="f-26" v-if="i.phoneNumber">{{i.phoneNumber}}</text>
+						</view>
+						<!-- 
+						<view class="f-28">
+							{{i.townStreetName}}{{i.neiName}}{{i.aoiName}}{{i.address || ""}}
+						</view> -->
+						<view class="check-icon" v-if="i.houseCode == info.houseCode">
+							<u-icon name="checkbox-mark" color="#017BFC" size="30"></u-icon>
+						</view>
+					</view>
+				</scroll-view>
+			</view>
+		</u-popup>
+
+
+	</view>
+</template>
+
+<script>
+	import uploadMixin from "@/mixin/uploadMixinPlace";
+	import {
+		getPlaceCheckItem
+	} from "@/api/place/place.js"
+
+	import {
+		savePlaceCheck,
+		getPlaceCheckDetail,
+		updatePlaceCheck,
+		auditPlaceCheck
+	} from "@/api/reporting/reporting.js"
+
+	export default {
+		mixins: [uploadMixin],
+		data() {
+			return {
+				form: {
+					images: []
+				},
+				info: {
+					remark: "",
+					imageUrls: "",
+					houseCode: ""
+				},
+
+				desc: "",
+				title: "",
+				curSelectSite: {},
+				showSignature: false,
+				signatureUrl: "",
+				signatureSettings: { //签名设置
+					width: '700', //签名区域的宽
+					height: '800', //签名区域的高
+					lineWidth: 3, //签名时线宽
+					textColor: '#007AFF' //签名文字颜色
+				},
+				statusOption: [{
+						text: "存在",
+						value: 0
+					},
+					{
+						text: "不存在",
+						value: 1
+					},
+				],
+				questionList: [],
+				itemIndex: [],
+				patrolRecordVOList: [],
+				count: 0,
+				statusList: [{
+						name: "是",
+						id: 2
+					},
+					{
+						name: "否",
+						id: 1
+					}
+				],
+				time: Number(new Date()),
+				showSelectDate: false,
+				dangerCount: 0, //隐患项数量
+				isEdit: false,
+				isShowPopup: false,
+				selectedPlace: {}
+
+			}
+		},
+		async onLoad(option) {
+			await this.getItem();
+			this.isEdit = true;
+			this.getDetail(option.taskId)
+			// if (option.houseCode) {
+			// 	this.info.houseCode = option.houseCode;
+			// }
+
+		},
+
+		methods: {
+
+			getDetail(id) {
+				getPlaceCheckDetail({
+					taskId: id
+				}).then(res => {
+					let data = res.data;
+					for (let i = 0, ii = this.questionList.length; i < ii; i++) {
+						for (let k = 0, kk = this.questionList[i].children.length; k < kk; k++) {
+							for (let j = 0, jj = data.taskPlaceRecordVOList.length; j < jj; j++) {
+								if (this.questionList[i].children[k].id == data.taskPlaceRecordVOList[j].itemId) {
+									let children = this.questionList[i]
+									children.children[k].state = data.taskPlaceRecordVOList[j].state;
+									if (data.taskPlaceRecordVOList[j].imageUrls) {
+										children.children[k].urls = this.$setImageUrl(data.taskPlaceRecordVOList[j]
+											.imageUrls, 2);
+									}
+									children.children[k].remark = data.taskPlaceRecordVOList[j].remark || "";
+									this.$set(this.questionList, i, children)
+								}
+							}
+						}
+					}
+					this.info.id = data.id;
+					this.info.taskId = data.taskId;
+					this.info.remark = data.remark;
+					this.info.houseCode = data.houseCode;
+
+					if (data.signaturePath) {
+						this.signatureUrl = this.$setFullUrl(data.signaturePath);
+						this.info.signaturePath = data.signaturePath;
+					}
+					this.form.images = this.$setImageUrl(data.imageUrls, 2)
+
+				})
+			},
+
+
+			getItem() {
+				getPlaceCheckItem({
+					childType: 9,
+					type: 3
+				}).then(res => {
+					let data = res.data;
+					this.questionList = res.data;
+					let arr = []
+					let obj = {
+						itemId: "",
+						state: "",
+						imagesUrl: "",
+						remark: ""
+					}
+					let count = 0;
+					for (let i = 0, ii = data.length; i < ii; i++) {
+						arr.push(i);
+						for (let k = 0, kk = data[i].children.length; k < kk; k++) {
+							// this.info.patrolRecordVOList.push(obj);
+							count += 1;
+						}
+					}
+					this.count = count;
+					this.itemIndex = arr;
+				})
+			},
+
+			changeStatus(value, item, fIndex, cIndex) {
+				let children = this.questionList[fIndex];
+				children.children[cIndex].state = value;
+				this.$set(this.questionList, fIndex, children)
+				if (value == 0 && !item.urls) {
+					children.children[cIndex].urls = [];
+					this.$set(this.questionList, fIndex, children)
+				}
+				this.$nextTick(() => {
+					this.$refs.collapse.init();
+				})
+				this.getSelected()
+			},
+
+			getSelected() {
+				let arr = [];
+				let count = 0;
+				for (let i = 0, ii = this.questionList.length; i < ii; i++) {
+					for (let k = 0, kk = this.questionList[i].children.length; k < kk; k++) {
+						if (this.questionList[i].children[k].state != null) {
+							arr.push({
+								itemId: this.questionList[i].children[k].id,
+								state: this.questionList[i].children[k].state,
+								imageUrls: this.setImages(this.questionList[i].children[k].urls),
+								remark: this.questionList[i].children[k].remark || "",
+								type: 3
+							})
+							if (this.questionList[i].children[k].state == 1) {
+								count += 1;
+							}
+						}
+					}
+				}
+				this.dangerCount = count;
+				return arr;
+			},
+
+			setImages(key) {
+				if (!key) {
+					return ""
+				} else {
+					let urls = [];
+					for (let i of key) {
+						urls.push(i.name);
+					}
+					return urls.join(",")
+				}
+			},
+
+			async afterReadImgs(event, item, fIndex, cIndex) {
+				uni.showLoading({
+					title: "上传中..."
+				})
+				let children = this.questionList[fIndex];
+				let lists = [].concat(event.file)
+				let fileListLen = item.urls.length;
+				lists.map((item) => {
+					children.children[cIndex].urls.push({
+						...item,
+						status: 'uploading',
+						message: '上传中'
+					})
+					this.$set(this.questionList, fIndex, children)
+				})
+				for (let i = 0; i < lists.length; i++) {
+					const result = await this.uploadFilePromise(lists[i].url)
+					children.children[cIndex].urls.splice(fileListLen, 1, Object.assign({}, {
+						url: result.data.link,
+						name: result.data.name
+					}))
+					this.$set(this.questionList, fIndex, children)
+					fileListLen++
+				}
+				this.loadingClose()
+				this.getSelected()
+			},
+
+			deleteImages(event, fIndex, cIndex) {
+				let children = this.questionList[fIndex];
+				children.children[cIndex].urls.splice(event.index, 1);
+				this.$set(this.questionList, fIndex, children);
+				this.getSelected()
+			},
+
+			signatureChange(e) {
+				// this.signatureUrl = e;
+				this.uploadSignImg(e)
+			},
+
+			showSignPopup() {
+				// if (this.getSelected().length < this.count) {
+				// 	this.$showTips("还有内容还未完善");
+				// 	return;
+				// }
+
+				let data = this.getSelected();
+				for (let i of data) {
+					if (i.state == 1) {
+						if (i.imageUrls || i.remark) {
+							i.imageUrls = "";
+							i.remark = "";
+						}
+					} else {
+						if (!i.imageUrls && !i.remark) {
+							this.$showTips("请上传隐患照片或填写隐患描述");
+							return;
+						}
+					}
+				}
+				this.showSignature = true;
+			},
+
+			uploadSignImg(url) {
+				uni.uploadFile({
+					url: this.uploadConfig.url,
+					filePath: url,
+					name: 'file',
+					header: this.uploadConfig.header,
+					success: (res) => {
+						console.log(res);
+						let data = JSON.parse(res.data);
+						if (res.statusCode == 200 && data.code == 200) {
+							// this.handleSubmit(data.data.name);
+							this.showSignature = false;
+							this.signatureUrl = data.data.link;
+							this.info.signaturePath = data.data.name;
+							// this.sumitInfo()
+						}
+					}
+				})
+			},
+
+			sumitInfo() {
+				uni.showLoading({
+					title: "加载中..."
+				})
+				if (this.form.images.length > 0) {
+					let urls = []
+					this.form.images.forEach(e => {
+						urls.push(e.name)
+					})
+					this.info.rectificationNoticeImgUrl = urls.join(",")
+				}
+				this.info.taskPlaceRecordVOList = this.getSelected()
+				this.info.status = 1;
+				this.info.type = 2;
+				if (this.isEdit) {
+					auditPlaceCheck(this.info).then(res => {
+						uni.hideLoading();
+						uni.showToast({
+							icon: 'success',
+							title: '提交成功',
+							success() {
+								setTimeout(() => {
+									uni.navigateBack();
+								}, 300)
+							}
+						})
+					})
+				} else {
+					savePlaceCheck(this.info).then(res => {
+						uni.hideLoading();
+						uni.showToast({
+							icon: 'success',
+							title: '提交成功',
+							success() {
+								setTimeout(() => {
+									uni.navigateBack();
+								}, 300)
+							}
+						})
+					})
+				}
+			},
+
+			previewImg() {
+				uni.previewImage({
+					urls: [this.signatureUrl],
+					current: this.signatureUrl
+				})
+			},
+
+			confirmDate(e) {
+				this.showSelectDate = false;
+				this.info.rectificationEndTime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM:ss')
+			},
+
+			navTo() {
+				uni.navigateTo({
+					url: 'securityRecord'
+				})
+			},
+
+		}
+	}
+</script>
+
+<style lang="less">
+	page {
+		background-color: #f5f5f5;
+	}
+
+	.wrap {
+		.section {
+			padding: 0 20rpx;
+			margin: 20rpx 20rpx 0;
+			background-color: #fff;
+		}
+	}
+
+	.top {
+		display: flex;
+		justify-content: flex-end;
+		padding: 20rpx;
+	}
+
+	.top-btn {
+		padding: 16rpx 22rpx;
+		border-radius: 6rpx;
+		text-align: center;
+	}
+
+	.content {
+		margin: 20rpx;
+		padding: 20rpx 30rpx;
+	}
+
+	.cell {
+		margin: 0 20rpx;
+		padding: 20rpx 30rpx;
+	}
+
+	.site-box {
+		padding: 30rpx;
+		margin: 20rpx 30rpx;
+		border-radius: 4rpx;
+
+		.c-aa {
+			color: #aaa;
+		}
+
+		.address {
+			width: 60%;
+			margin-left: 25rpx;
+		}
+	}
+
+	.upload-item {
+		width: 140rpx;
+		height: 140rpx;
+		border: 1px solid #EEEEEE;
+	}
+
+	.upload {
+		// margin: 0 30rpx;
+		padding: 30rpx 0;
+	}
+
+	.submit-btn {
+		width: 690rpx;
+		height: 78rpx;
+		line-height: 78rpx;
+		background: linear-gradient(163deg, #01BDFC 0%, #017BFC 100%);
+		border-radius: 8rpx 8rpx 8rpx 8rpx;
+		font-size: 32rpx;
+		color: #fff;
+		margin-top: 50rpx;
+	}
+
+	.list-btn {
+		width: 690rpx;
+		height: 78rpx;
+		line-height: 78rpx;
+		background: linear-gradient(163deg, #c7d7dc 0%, #c3cdd8 100%);
+		border-radius: 8rpx 8rpx 8rpx 8rpx;
+		font-size: 32rpx;
+		color: #fff;
+		margin-top: 50rpx;
+	}
+
+	.address-row {
+		flex: 1;
+		justify-content: flex-end;
+		align-items: center;
+	}
+
+	.address-content {
+		width: calc(100% - 116rpx - 20rpx);
+		margin-right: 20rpx;
+		text-align: right;
+	}
+
+	.location-btn {
+		width: 116rpx;
+		height: 46rpx;
+		line-height: 46rpx;
+		border-radius: 4rpx;
+		border: 1px solid currentColor;
+		padding: 0;
+		background-color: #fff;
+		text-align: center;
+	}
+
+
+	.signture-popup {
+		padding-bottom: 20rpx;
+	}
+
+	.sign {
+		padding: 30rpx;
+		// margin: 0 30rpx;
+	}
+
+	.value-item {
+		flex: 1;
+		// background-color: #ffffff;
+		// width: 120rpx;
+		border: 2rpx solid #f5f5f5;
+		height: 70rpx;
+		line-height: 70rpx;
+		box-sizing: border-box;
+		text-align: center;
+	}
+
+	.active {
+		border: 2rpx solid currentColor;
+	}
+
+	.btn-group {
+		flex: 1;
+	}
+
+	/deep/ .u-cell__title-text {
+		font-weight: bold;
+		font-size: 30rpx;
+	}
+
+	/deep/ .u-form-item__body__left__content {
+		font-size: 26rpx;
+	}
+
+	.blank {
+		width: 100%;
+		height: 140rpx;
+	}
+
+
+	.submit-btn {
+		width: 690rpx;
+		height: 78rpx;
+		line-height: 78rpx;
+		background: linear-gradient(163deg, #01BDFC 0%, #017BFC 100%);
+		border-radius: 8rpx 8rpx 8rpx 8rpx;
+		font-size: 32rpx;
+		color: #fff;
+		margin-top: 50rpx;
+	}
+
+	.list-btn {
+		width: 690rpx;
+		height: 78rpx;
+		line-height: 78rpx;
+		background: linear-gradient(163deg, #c7d7dc 0%, #c3cdd8 100%);
+		border-radius: 8rpx 8rpx 8rpx 8rpx;
+		font-size: 32rpx;
+		color: #fff;
+		margin-top: 50rpx;
+	}
+</style>
\ No newline at end of file
diff --git a/subPackage/workbench/views/audit.vue b/subPackage/workbench/views/audit.vue
index 44cffce..36a3987 100644
--- a/subPackage/workbench/views/audit.vue
+++ b/subPackage/workbench/views/audit.vue
@@ -262,7 +262,7 @@
 					this.$u.func.globalNavigator(`bailReportDetail?id=${id}`)
 				} else if (reportType == 7 || reportType == 4) {
 					if (reportType == 4) {
-						this.$u.func.globalNavigator(`selfCheckDetail?id=${id}&type=2`)
+						this.$u.func.globalNavigator(`/subPackage/school/ securityDetail?id=${id}&type=2`)
 					} else {
 						this.$u.func.globalNavigator(`selfCheckDetail?id=${id}`)
 					}

--
Gitblit v1.9.3