qa-prevention-xgf-app/safetyEnvirSubPackages/pages/inspector-archives/detail.vue

324 lines
12 KiB
Vue
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<view class="content">
<view class="card">
<u-cell-group :border="false">
<u-cell>
<view slot="title" class="title required">检查题目</view>
<view slot="value">
<u-radio-group v-model="form.INSPECTION_SUBJECT" placement="row" disabled>
<u-radio label="安全" name="安全"></u-radio>
<u-radio label="环保" name="环保" class="ml-10"></u-radio>
<u-radio label="综合" name="综合" class="ml-10"></u-radio>
</u-radio-group>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title required">被检查单位:</view>
<view slot="value">
<text>{{ form.INSPECTED_CORPINFO_ID_NAME }}</text>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title required">被检查单位现场负责人:</view>
<view slot="value">
<text>{{ form.INSPECTED_SITEUSER_NAME }}</text>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title required">检查场所:</view>
<view slot="value">
<u--input v-model="form.INSPECTION_PLACE" border="none" placeholder="请输入检查场所" inputAlign="right"
disabled></u--input>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title required">检查类型:</view>
<view slot="value">
<text>{{ form.INSPECTION_TYPE_NAME }}</text>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title required">检查开始时间:</view>
<view slot="value">
<text>{{ form.INSPECTION_TIME_START }}</text>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title required">检查结束时间:</view>
<view slot="value">
<text>{{ form.INSPECTION_TIME_END }}</text>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title required">记录填写时间:</view>
<view slot="value">
<text>{{ form.CREATTIME }}</text>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">检查情况:</view>
</u-cell>
<u-cell class="flex-none">
<view slot="value">
<view class="pr mt-10" v-for="item in form.situationList" :key="item.id">
<u--textarea v-model="item.SITUATION" placeholder="请输入检查情况" disabled></u--textarea>
</view>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">检查人员:</view>
</u-cell>
<u-cell class="title-none">
<view slot="value" style="flex: 1">
<view class="pr mt-10" v-for="(item, index) in form.inspectorList" :key="item.id">
<u-cell-group :border="false" class="border">
<u-cell class="title-show">
<view slot="title">{{ index + 1 }}.检查人员单位</view>
<view slot="value">
<text>{{ item.INSPECTION_DEPARTMENT_NAME }}</text>
</view>
</u-cell>
<u-cell class="title-show" :border="false">
<view slot="title">{{ index + 1 }}.检查人员</view>
<view slot="value">
<text>{{ item.INSPECTION_USER_NAME }}</text>
</view>
</u-cell>
</u-cell-group>
</view>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">发现问题:</view>
</u-cell>
<u-cell class="title-none">
<view slot="value" style="flex: 1">
<uni-table border stripe emptyText="暂无更多数据">
<uni-tr>
<uni-th align="center">序号</uni-th>
<uni-th align="center">隐患部位</uni-th>
<uni-th align="center">隐患描述</uni-th>
<uni-th align="center">操作</uni-th>
</uni-tr>
<uni-tr v-for="(item, index) in form.hiddenList" :key="item.HIDDEN_ID || item.id">
<uni-td>{{ index + 1 }}</uni-td>
<uni-td>{{ item.HIDDENPART_NAME }}</uni-td>
<uni-td>{{ item.HIDDENDESCR }}</uni-td>
<uni-td>
<view class="flex-between">
<u-icon name="eye-fill" @tap="showHidden(item, index)"></u-icon>
</view>
</uni-td>
</uni-tr>
</uni-table>
</view>
</u-cell>
<view v-for="(item, index) in form.inspectorVerifyList" :key="index">
<u-cell class="flex-none" v-show="item.INSPECTION_USER_OPINION">
<view slot="title" class="title">检查人意见:</view>
<view slot="value" class="mt-10">
<u--textarea v-model="item.INSPECTION_USER_OPINION" disabled placeholder="请输入检查人意见"></u--textarea>
</view>
</u-cell>
<u-cell class="flex-none" v-show="item.INSPECTION_USER_SIGN_IMG">
<view slot="title" class="title">签字:</view>
<view slot="value" class="mt-10">
<u--image :showLoading="true" :src="$store.state.filePath + item.INSPECTION_USER_SIGN_IMG" width="100%"
height="80px" mode="scaleToFill"
@click="previewImage($store.state.filePath + item.INSPECTION_USER_SIGN_IMG)"></u--image>
</view>
</u-cell>
</view>
</u-cell-group>
</view>
<u-popup :show="popupShow" @close="popupShow = false" mode="right" :closeOnClickOverlay="false"
:customStyle="{ width: '85vw', overflowY: 'auto' }">
<view class="card">
<u-cell-group :border="false">
<u-cell class="flex-none">
<view slot="title" class="title required">隐患照片:</view>
<view slot="value" class="mt-10">
<u-upload disabled deletable uploadIcon="plus" :fileList="hiddenForm.hiddenImgs" multiple
:maxCount="4"></u-upload>
</view>
</u-cell>
<u-cell class="flex-none">
<view slot="title" class="title flex-between">
隐患视频:
<u-icon v-if="hiddenForm.hiddenVideos.length !== 0 && hiddenForm.hiddenVideos[0].url"
name="play-circle-fill" size="30" @click="previewVideo(hiddenForm.hiddenVideos[0].url)"></u-icon>
</view>
<view slot="value" class="mt-10">
<u-upload disabled deletable accept="video" uploadIcon="plus" :fileList="hiddenForm.hiddenVideos" multiple
:maxCount="1"></u-upload>
<u-modal :show="modalShow" title="视频播放" confirmText="关闭" @confirm="modalShow = false">
<view>
<video v-if="modalShow" :src="videoUrl" :autoplay="true"></video>
</view>
</u-modal>
</view>
</u-cell>
<u-cell class="flex-none">
<view slot="title" class="title required">隐患描述:</view>
<view slot="value" class="mt-10">
<u--textarea v-model="hiddenForm.HIDDENDESCR" placeholder="请输入隐患描述" disabled></u--textarea>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title required">隐患部位:</view>
<view slot="value">
<text>{{ hiddenForm.HIDDENPART_NAME ? hiddenForm.HIDDENPART_NAME : hiddenForm.HIDDENPART }}</text>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title required">隐患级别:</view>
<view slot="value">
<text>{{ hiddenForm.HIDDENLEVEL_NAME }}</text>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title required">隐患类型:</view>
<view slot="value">
<text>{{ hiddenForm.HIDDENTYPE_NAME }}</text>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title required">是否是相关方:</view>
<view slot="value">
<text>{{ hiddenForm.ISRELEVANT === '1' ? '是' : '否' }}</text>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title required">隐患发现时间:</view>
<view slot="value">
<text>{{ hiddenForm.DISCOVERYTIME }}</text>
</view>
</u-cell>
<u-cell class="flex-none">
<view slot="title" class="title required">隐患上报位置:</view>
<view slot="value" class="mt-10">
<view>经度:{{ hiddenForm.LONGITUDE }}</view>
<view>纬度:{{ hiddenForm.LATITUDE }}</view>
</view>
</u-cell>
<u-cell class="flex-none">
<view slot="title" class="title required">隐患位置描述:</view>
<view slot="value" class="mt-10">
<u--textarea v-model="hiddenForm.POSITIONDESC" placeholder="请输入隐患位置描述" disabled></u--textarea>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title required">隐患发现人:</view>
<view slot="value">
<text>{{ hiddenForm.CREATOR_NAME }}</text>
</view>
</u-cell>
<u-cell class="flex-none" :border="false">
<view slot="value" class="flex-between">
<u-button type="info" text="取消" class="bth" @click="popupClose"></u-button>
</view>
</u-cell>
</u-cell-group>
</view>
</u-popup>
</view>
</template>
<script>
import { getSafetyenvironmentalGoEdit } from "../../api";
export default {
data() {
return {
form: {
INSPECTION_SUBJECT: '',
INSPECTED_DEPARTMENT_NAME: '',
INSPECTED_DEPARTMENT_ID: '',
INSPECTED_SITEUSER_NAME: '',
INSPECTED_SITEUSER_ID: '',
INSPECTION_PLACE: '',
INSPECTION_TYPE_NAME: '',
INSPECTION_TIME_START: uni.$u.timeFormat(new Date(), 'yyyy-mm-dd hh:MM'),
INSPECTION_TIME_END: uni.$u.timeFormat(new Date(), 'yyyy-mm-dd hh:MM'),
CREATTIME: '',
situationList: [{ id: Math.random(), INSPECTION_SITUATION_ID: '', SITUATION: '' }],
inspectorList: [{
id: Math.random(),
inspectionUserShow: false,
INSPECTION_INSPECTOR_ID: '',
INSPECTION_DEPARTMENT_ID: '',
INSPECTION_DEPARTMENT_NAME: '',
INSPECTION_USER_ID: '',
INSPECTION_USER_NAME: ''
}],
hiddenList: [],
INSPECTION_USER_OPINION: '',
INSPECTION_USER_SIGN_IMG: '',
},
INSPECTION_ID: '',
popupShow: false,
hiddenForm: {
hiddenImgs: [],
hiddenVideos: [],
HIDDENDESCR: '',
HIDDENPART_NAME: '',
HIDDENPART: '',
HIDDENLEVEL_NAME: '',
HIDDENLEVEL: '',
HIDDENTYPE_NAME: '',
HIDDENTYPE: '',
DISCOVERYTIME: uni.$u.timeFormat(new Date(), 'yyyy-mm-dd hh:MM'),
LONGITUDE: '',
LATITUDE: '',
CREATOR_NAME: '',
CREATOR: '',
ISRELEVANT: ''
},
modalShow: false,
videoUrl: ''
}
},
onLoad(event) {
this.INSPECTION_ID = event.INSPECTION_ID
if (this.INSPECTION_ID) {
this.fnGetSafetyenvironmentalGoEdit()
}
},
methods: {
async fnGetSafetyenvironmentalGoEdit() {
let resData = await getSafetyenvironmentalGoEdit({ INSPECTION_ID: this.INSPECTION_ID })
for (let i = 0; i < resData.pd.hiddenList.length; i++) {
for (let j = 0; j < resData.pd.hiddenList[i].hiddenImgs.length; j++) {
resData.pd.hiddenList[i].hiddenImgs[j].url = this.$store.state.filePath + resData.pd.hiddenList[i].hiddenImgs[j].FILEPATH
}
for (let j = 0; j < resData.pd.hiddenList[i].hiddenVideos.length; j++) {
resData.pd.hiddenList[i].hiddenVideos[j].url = this.$store.state.filePath + resData.pd.hiddenList[i].hiddenVideos[j].FILEPATH
}
}
this.form = resData.pd
},
showHidden(item) {
this.hiddenForm = item
this.popupShow = true
},
popupClose() {
this.popupShow = false
},
previewImage(current) {
if (false) {
uni.previewImage({
urls: [current],
current
});
}
},
previewVideo(videoUrl) {
this.modalShow = true;
this.videoUrl = videoUrl;
}
},
}
</script>
<style></style>