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