1073 lines
28 KiB
Vue
1073 lines
28 KiB
Vue
<template>
|
|
<view class="fullHeight addExamine">
|
|
<headers class="fixedheader" :themeType="true" :showBack="true">
|
|
<view class="headerName">
|
|
{{headerTitle}}
|
|
</view>
|
|
<!-- <view class="header-btn" @tap="previewRecord" v-if="pageType == 1">
|
|
隐患记录
|
|
</view> -->
|
|
</headers>
|
|
<scroll-view class="smallHeight" :class="{'p-0': pageType == 4||pageType == 5}" :style="{ 'padding-top': statusBarHeight + 45 + 'px' }" scroll-y>
|
|
<view class="addExamine-form">
|
|
<view class="form-box">
|
|
<view class="form-title b-bottom">
|
|
上报安全隐患
|
|
</view>
|
|
<view class="b-bottom">
|
|
<view class="form-item flex">
|
|
<view class="form-lable">*<text>检查类型</text></view>
|
|
<picker class="form-content" :disabled="isDisabled" :value="addForm.type" range-key="inspectTypeName" :range="typeList" @change="bindExamineType">
|
|
<view class="uni-input" :class="{'noCheck': !addForm.type.toString()}">
|
|
{{addForm.type.toString() ? typeList[addForm.type].inspectTypeName : "请选择检查类型"}}
|
|
<uni-icons v-if="!isDisabled" type="arrowright" color="#6C7178"/>
|
|
</view>
|
|
</picker>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="b-bottom" v-if="addForm.status == 1 && addForm.status == 2 || pageType == 1">
|
|
<view class="form-item flex">
|
|
<view class="form-lable"><text>是否需要整改</text></view>
|
|
<radio-group class="flex" @change="radioChange">
|
|
<label class="uni-list-cell uni-list-cell-pd flex" v-for="(item, index) in radioOptions" :key="index">
|
|
<radio :disabled="isDisabled" :value="item.id" :checked="addForm.status === item.id" />
|
|
<view>{{item.name}}</view>
|
|
</label>
|
|
</radio-group>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="b-bottom" v-if="addForm.status != 1">
|
|
<view class="form-item flex">
|
|
<view class="form-lable">*<text>隐患类别</text></view>
|
|
<view class="text" @click="checkDanger">
|
|
<text>{{addForm.examineEntry ? addForm.examineEntry : "--请选择隐患--"}}</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
|
|
<view class="b-bottom" v-if="addForm.status != 1">
|
|
<view class="form-item flex">
|
|
<view class="form-lable"><text>检查项目</text></view>
|
|
<view class="text">
|
|
<text>{{addForm.examineProject}}</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="b-bottom" v-if="addForm.status != 1">
|
|
<view class="form-item flex">
|
|
<view class="form-lable"><text>隐患内容</text></view>
|
|
<view class="form-textarea">
|
|
<textarea :disabled="isDisabled" :value="addForm.examineContent" @blur="bindTextAreaBlur"/>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="b-bottom" v-if="addForm.status != 1">
|
|
<view class="form-item flex">
|
|
<view class="form-lable"><text>隐患等级</text></view>
|
|
<view class="text">
|
|
<text>{{addForm.examineLv}}</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="b-bottom" v-if="addForm.status != 1">
|
|
<view class="form-item flex">
|
|
<view class="form-lable">*<text>事故隐患等级</text></view>
|
|
<picker class="form-content" :disabled="isDisabled" :value="addForm.faultLevel" range-key="name" :range="faultLevelList" @change="bindfaultLevel">
|
|
<view class="uni-input" :class="{'noCheck': !addForm.faultLevel.toString()}">
|
|
{{addForm.faultLevel.toString() ? faultLevelList[addForm.faultLevel].name : "请选择事故隐患等级"}}
|
|
<uni-icons v-if="!isDisabled" type="arrowright" color="#6C7178"/>
|
|
</view>
|
|
</picker>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="b-bottom" v-if="addForm.status != 1">
|
|
<view class="form-item flex">
|
|
<view class="form-lable"><text>整改要求</text></view>
|
|
<view class="form-textarea">
|
|
<textarea :disabled="isDisabled" :value="addForm.requestContent" @blur="bindTextAreaBlur2"/>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="b-bottom">
|
|
<view class="form-item flex">
|
|
<view class="form-lable"><view v-if="addForm.status == 1" style="display: inline;">*</view><text>详细位置</text></view>
|
|
<view class="form-input">
|
|
<input :disabled="isDisabled" :value="addForm.address" @blur="bindAddress" type="text" placeholder="输入详细位置信息" />
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="b-bottom" v-if="addForm.status != 1">
|
|
<view class="form-item flex">
|
|
<view class="form-lable">*<text>整改责任人</text></view>
|
|
<picker class="form-content" :disabled="isDisabled" :value="addForm.dutyPeople" range-key="realName" :range="dutyPeopleList" @change="bindPeopleId">
|
|
<view class="uni-input" :class="{'noCheck': !addForm.dutyPeople.toString()}">
|
|
{{addForm.dutyPeople.toString() ? dutyPeopleList[addForm.dutyPeople].realName : "请选择整改责任人"}}
|
|
<uni-icons v-if="!isDisabled" type="arrowright" color="#6C7178"/>
|
|
</view>
|
|
</picker>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="b-bottom" v-if="addForm.status != 1">
|
|
<view class="form-item flex">
|
|
<view class="form-lable"><text>整改单位</text></view>
|
|
<picker class="form-content" :disabled="isDisabled" :value="addForm.dutyUnit" range-key="enterpriseName" :range="dutyUnitList" @change="bindDutyUnit">
|
|
<view class="uni-input" :class="{'noCheck': !addForm.dutyUnit.toString()}">
|
|
{{addForm.dutyUnit.toString() ? dutyUnitList[addForm.dutyUnit].enterpriseName : "请选择整改单位"}}
|
|
<uni-icons v-if="!isDisabled" type="arrowright" color="#6C7178"/>
|
|
</view>
|
|
</picker>
|
|
</view>
|
|
</view>
|
|
|
|
|
|
<view class="b-bottom" v-if="addForm.status != 1">
|
|
<view class="form-item flex">
|
|
<view class="form-lable"><text>要求完成时间</text></view>
|
|
<picker class="form-content" :disabled="isDisabled" mode="date" :value="addForm.date" :start="startDate" @change="bindDateChange">
|
|
<view class="uni-input" >
|
|
{{addForm.date}}
|
|
<uni-icons v-if="!isDisabled" type="arrowright" color="#6C7178"/>
|
|
</view>
|
|
</picker>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="b-bottom">
|
|
<view class="form-item flex">
|
|
<view class="form-lable"><text>补充说明</text></view>
|
|
<view class="form-textarea">
|
|
<textarea :disabled="isDisabled" :value="addForm.remark" @blur="bindRemarksBlur"/>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="form-item flex f-column a-start">
|
|
<view class="form-lable"><view v-if="addForm.status == 1" style="display: inline;">*</view><text>图片</text></view>
|
|
<view class="uni-form-input imgBox_wrap">
|
|
<view class="addImgBox" @click="uploadImg" v-if="!isDisabled">
|
|
<image src="/static/safeMange/upload_image.png" class="icon-add" color="#F56C6C"></image>
|
|
</view>
|
|
<view class="imgBox" v-show="addForm.imgFileList.length>0" v-for="(item,index) in addForm.imgFileList" :key="index">
|
|
<image :src="url_config+'image/'+item.url" class="img"
|
|
@click="previewImage(url_config+'image/'+item.url)"></image>
|
|
<view v-if="!isDisabled" @click="deleteImg(item,1)" class="deleteImg">
|
|
<image src="/static/safeMange/close_icon.png" color="#F56C6C"></image>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
</view>
|
|
</view>
|
|
|
|
<reply-list :replyData="replyData" v-if="replyData.length > 0"></reply-list>
|
|
</scroll-view>
|
|
<view class="btn-box" v-if="pageType != 4&&pageType != 5">
|
|
<view class="submit-btn" v-if="pageType != 3" @click="submitForm">{{btnTitle}}</view>
|
|
<view class="btn-box" v-if="pageType == 3">
|
|
<view class="cancle-btn" @click="showDialog(1)">驳回</view>
|
|
<view class="pass-btn" @click="showDialog(2)">通过</view>
|
|
</view>
|
|
</view>
|
|
|
|
|
|
<dialogs class="formDialog" ref="dialogs">
|
|
<template v-slot:content>
|
|
<view class="dialog-title">
|
|
复查情况
|
|
</view>
|
|
<view class="dialog-content">
|
|
<view class="form-textarea">
|
|
<textarea placeholder="请输入复查情况" @blur="bindContentBlur"/>
|
|
</view>
|
|
</view>
|
|
<view class="dialog-btn">
|
|
<view class="cancle-btn" @click="cancleReply">取消</view>
|
|
<view class="primary-btn" @click="submitReply">提交</view>
|
|
</view>
|
|
</template>
|
|
</dialogs>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import headers from '../../../components/headers/headers.vue';
|
|
import replyList from './replyList.vue';
|
|
import dialogs from '../../../components/dialog/dialog.vue'
|
|
export default {
|
|
data(){
|
|
return{
|
|
headerTitle: "隐患上报",
|
|
statusBarHeight: 0,
|
|
typeList:[],
|
|
dutyPeopleList:[],
|
|
dutyUnitList:[],
|
|
engineeringId: "",
|
|
faultLevelList:[{
|
|
id: 1,
|
|
name: "一般"
|
|
},{
|
|
id: 2,
|
|
name: "重大"
|
|
}],
|
|
radioOptions:[{
|
|
id: "1",
|
|
name: "无需整改"
|
|
},{
|
|
id: "2",
|
|
name: "待整改"
|
|
}],
|
|
addForm:{
|
|
type: "",
|
|
typeId: "",
|
|
examineProject: "",
|
|
examineEntry: "",
|
|
examineContent: "",
|
|
examineLv: "",
|
|
requestContent: "",
|
|
address: "",
|
|
date: this.getDate({
|
|
format: true,
|
|
}),
|
|
imgFileList: [],
|
|
dutyPeople: "",
|
|
dutyPeopleId: "",
|
|
dutyUnit: "",
|
|
enterpriseSn: "",
|
|
faultLevel: "",
|
|
status: "2",
|
|
remark: ""
|
|
},
|
|
pageType: 1,
|
|
replyData:[],
|
|
btnTitle: "保存",
|
|
projectSn: "",
|
|
userId: "",
|
|
isDisabled: false,
|
|
datailData: {},
|
|
reviewStatus: 1,
|
|
reviewContent: "",
|
|
taskId: "",
|
|
itemId: ""
|
|
}
|
|
},
|
|
computed: {
|
|
startDate() {
|
|
return this.getDate('start');
|
|
}
|
|
},
|
|
components:{
|
|
headers,
|
|
replyList,
|
|
dialogs
|
|
},
|
|
onShow(){
|
|
this.statusBarHeight=uni.getStorageSync('systemInfo').statusBarHeight;
|
|
this.projectSn = JSON.parse(uni.getStorageSync('userInfo')).sn
|
|
this.userId = JSON.parse(uni.getStorageSync('userInfo')).userId
|
|
this.queryTypeList()
|
|
this.queryUserData()
|
|
this.getSubpackageLsit()
|
|
if(uni.getStorageSync('dangerData')){
|
|
let dangerData = uni.getStorageSync('dangerData')
|
|
this.addForm.examineContent = dangerData.checkContent
|
|
this.addForm.examineLv = dangerData.hiddenDangerLevel
|
|
this.addForm.requestContent = dangerData.rectifyRequire
|
|
this.addForm.examineProject = dangerData.hiddenDangerName
|
|
this.addForm.examineEntry = dangerData.title
|
|
console.log(uni.getStorageSync('dangerData'), '-----检查项列表带回数据')
|
|
}
|
|
if(uni.getStorageSync('detailData')){
|
|
let data = ""
|
|
this.datailData = data = uni.getStorageSync('detailData');
|
|
this.addForm.examineContent = data.checkContent
|
|
this.addForm.examineLv = data.hiddenDangerLevel
|
|
this.addForm.requestContent = data.rectifyRequire
|
|
this.addForm.examineProject = data.checkSubitem
|
|
this.addForm.examineEntry = data.checkItem
|
|
this.addForm.address = data.dutyRegion
|
|
this.addForm.date = data.changeLimitTime
|
|
let imgArr = data.imageUrl.split(",")
|
|
this.enterpriseSn = data.enterpriseSn
|
|
this.addForm.typeId = data.inspectTypeId
|
|
this.addForm.status = data.status.toString()
|
|
this.addForm.remark = data.dangerDesc
|
|
// console.log(imgArr)
|
|
this.addForm.imgFileList = []
|
|
imgArr.forEach(item=>{
|
|
if(item){
|
|
this.addForm.imgFileList.push({url: item})
|
|
}
|
|
})
|
|
this.faultLevelList.forEach((item,index)=>{
|
|
if(data.faultLevel == item.id){
|
|
this.addForm.faultLevel = index
|
|
}
|
|
})
|
|
this.queryReply(data.id)
|
|
console.log(this.addForm)
|
|
// this.addForm = {
|
|
// type: "",
|
|
// typeId: "",
|
|
// dutyPeople: "",
|
|
// dutyPeopleId: "",
|
|
// dutyUnit: "",
|
|
// }
|
|
}
|
|
console.log(uni.getStorageSync('detailData'), '-----详情')
|
|
},
|
|
onLoad(val){
|
|
if(val.engineeringId){
|
|
this.engineeringId = val.engineeringId
|
|
if(uni.getStorageSync('engineeringList')){
|
|
let data = uni.getStorageSync('engineeringList')
|
|
let arr1 = [],
|
|
arr2 = []
|
|
data.forEach(item=>{
|
|
arr1.push(item.id)
|
|
arr2.push(item.checkDetailContent)
|
|
})
|
|
this.addForm.checkItemResultId = arr1.join(',')
|
|
this.addForm.remark = arr2.join(" ")
|
|
console.log(uni.getStorageSync('engineeringList'))
|
|
}
|
|
}
|
|
// 判断页面类型 1.新增 2.整改详细 3.审核详细 4.查看详情
|
|
if(val.type){
|
|
this.pageType = val.type
|
|
}
|
|
if(val.type == 2){
|
|
this.headerTitle = "整改详细"
|
|
this.btnTitle = "整改回复"
|
|
this.isDisabled = true
|
|
} else if(val.type == 3 || val.type == 4){
|
|
this.headerTitle = "隐患上报详细"
|
|
this.isDisabled = true
|
|
}
|
|
if(val.type == 5){
|
|
this.headerTitle = "整改情况"
|
|
this.isDisabled = true
|
|
}
|
|
if(val.taskId && val.itemId){
|
|
this.taskId = val.taskId
|
|
this.itemId = val.itemId
|
|
}
|
|
console.log(val, '----页面类型')
|
|
},
|
|
methods:{
|
|
queryReply(val){
|
|
let _this = this
|
|
this.sendRequest({
|
|
url: 'xmgl/hiddenDangerRectifyRecord/selectHiddenDangerRectifyRecordList',
|
|
method: 'post',
|
|
data: {
|
|
inspectId: val
|
|
},
|
|
success: res => {
|
|
res.result.forEach(item=>{
|
|
if(item.fileUrl != ""){
|
|
let arr = item.fileUrl.split(",")
|
|
item.imgFileList = []
|
|
arr.forEach(itm=>{
|
|
item.imgFileList.push({url: itm})
|
|
})
|
|
}
|
|
})
|
|
this.replyData = res.result
|
|
console.log(res.result, '-----整改回复')
|
|
}
|
|
})
|
|
},
|
|
queryTypeList(){
|
|
let sn = JSON.parse(uni.getStorageSync('userInfo')).headquartersSn
|
|
let _this = this
|
|
this.sendRequest({
|
|
url: 'xmgl/inspectType/list',
|
|
method: 'post',
|
|
data: {
|
|
sn: sn
|
|
},
|
|
success: res => {
|
|
this.typeList = res.result
|
|
if(this.datailData){
|
|
this.typeList.forEach((item,index)=>{
|
|
if(this.datailData.inspectTypeId == item.id){
|
|
this.addForm.type = index
|
|
}
|
|
})
|
|
}
|
|
console.log(res.result, '-----检查类型')
|
|
}
|
|
})
|
|
},
|
|
queryUserData(){
|
|
let _this = this
|
|
this.sendRequest({
|
|
url: 'xmgl/systemUser/getProjectChilderSystemUserList',
|
|
method: 'post',
|
|
data: {
|
|
projectSn: this.projectSn
|
|
},
|
|
success: res => {
|
|
_this.dutyPeopleList = res.result
|
|
if(this.datailData){
|
|
this.dutyPeopleList.forEach((item,index)=>{
|
|
if(this.datailData.changeUser == item.userId){
|
|
this.addForm.dutyPeople = index
|
|
}
|
|
})
|
|
}
|
|
console.log(res.result, '-----检查人')
|
|
}
|
|
})
|
|
},
|
|
getSubpackageLsit() {
|
|
let data = {
|
|
enterpriseTypeId: "",
|
|
pageNo: 1,
|
|
pageSize: 10000,
|
|
projectSn: this.projectSn,
|
|
};
|
|
this.sendRequest({
|
|
url: 'xmgl/projectEnterprise/list',
|
|
method: 'post',
|
|
data: data,
|
|
success: (res) => {
|
|
console.log(res.result, '------整改单位')
|
|
if (res.result.records.length > 0) {
|
|
this.dutyUnitList = res.result.records;
|
|
} else {
|
|
this.dutyUnitList = [];
|
|
}
|
|
if(this.datailData){
|
|
this.dutyUnitList.forEach((item,index)=>{
|
|
if(this.datailData.enterpriseSn == item.enterpriseSn){
|
|
this.addForm.dutyUnit = index
|
|
}
|
|
})
|
|
}
|
|
}
|
|
})
|
|
},
|
|
bindExamineType(e){
|
|
this.addForm.type = e.detail.value
|
|
this.addForm.typeId = this.typeList[e.detail.value].id
|
|
console.log(e)
|
|
},
|
|
bindContentBlur(e){
|
|
this.reviewContent = e.detail.value
|
|
},
|
|
bindTextAreaBlur(e){
|
|
this.addForm.examineContent = e.detail.value
|
|
console.log(e.detail.value)
|
|
},
|
|
bindTextAreaBlur2(e){
|
|
this.addForm.requestContent = e.detail.value
|
|
},
|
|
bindRemarksBlur(e){
|
|
this.addForm.remark = e.detail.value
|
|
},
|
|
bindDateChange(e){
|
|
this.addForm.date = e.detail.value
|
|
console.log(e.detail.value)
|
|
},
|
|
bindPeopleId(e){
|
|
this.addForm.dutyPeople = e.detail.value
|
|
this.addForm.dutyPeopleId = this.dutyPeopleList[e.detail.value].userId
|
|
console.log(e.detail.value)
|
|
},
|
|
bindfaultLevel(e){
|
|
this.addForm.faultLevel = e.detail.value
|
|
},
|
|
bindDutyUnit(e){
|
|
this.addForm.dutyUnit = e.detail.value
|
|
this.addForm.enterpriseSn = this.dutyUnitList[e.detail.value].enterpriseSn
|
|
console.log(e.detail.value)
|
|
},
|
|
bindAddress(e){
|
|
this.addForm.address = e.detail.value
|
|
console.log(e.detail.value)
|
|
},
|
|
getDate(type) {
|
|
const date = new Date();
|
|
let year = date.getFullYear();
|
|
let month = date.getMonth() + 1;
|
|
let day = date.getDate();
|
|
if (type === 'start') {
|
|
year = year;
|
|
} else if (type === 'end') {
|
|
// year = year + 2;
|
|
}
|
|
month = month > 9 ? month : '0' + month;
|
|
day = day > 9 ? day : '0' + day;
|
|
return `${year}-${month}-${day}`;
|
|
},
|
|
checkDanger(){
|
|
if(!this.isDisabled){
|
|
if(uni.getStorageSync('dangerData')){
|
|
uni.removeStorageSync('dangerData');
|
|
}
|
|
uni.navigateTo({
|
|
url: "./dangerLibrary"
|
|
})
|
|
}
|
|
},
|
|
radioChange(e){
|
|
// this.restForm()
|
|
console.log(this.addForm)
|
|
this.addForm.status = e.detail.value
|
|
console.log(this.addForm.status)
|
|
},
|
|
//上传附件
|
|
uploadImg() {
|
|
var that = this
|
|
uni.chooseImage({
|
|
count: 5 - that.addForm.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.addForm.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.addForm.imgFileList));
|
|
fileArr.forEach((item, index) => {
|
|
if (item.url == val.url) {
|
|
fileArr.splice(index, 1)
|
|
}
|
|
})
|
|
that.addForm.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('用户点击取消');
|
|
}
|
|
}
|
|
});
|
|
|
|
},
|
|
|
|
//预览图片
|
|
previewImage(url) {
|
|
uni.previewImage({
|
|
urls: [url]
|
|
})
|
|
},
|
|
restForm(){
|
|
this.addForm = {
|
|
type: "",
|
|
typeId: "",
|
|
examineProject: "",
|
|
examineEntry: "",
|
|
examineContent: "",
|
|
examineLv: "",
|
|
requestContent: "",
|
|
address: "",
|
|
date: this.getDate({
|
|
format: true,
|
|
}),
|
|
imgFileList: [],
|
|
dutyPeople: "",
|
|
dutyPeopleId: "",
|
|
dutyUnit: "",
|
|
enterpriseSn: "",
|
|
status: "1",
|
|
remark: ""
|
|
}
|
|
if(uni.getStorageSync('dangerData')){
|
|
uni.removeStorageSync('dangerData');
|
|
}
|
|
},
|
|
submitForm(){
|
|
console.log(this.addForm)
|
|
if(this.pageType == 1){
|
|
let data = {
|
|
projectSn: this.projectSn,
|
|
reviewId: this.userId,
|
|
createUser: this.userId,
|
|
dangerDesc: this.addForm.remark,
|
|
status: this.addForm.status,
|
|
dutyRegion: this.addForm.address,
|
|
engineeringId: this.engineeringId
|
|
};
|
|
data.inspectTypeId=this.addForm.typeId
|
|
if(this.itemId && this.taskId){
|
|
data.taskId = this.taskId
|
|
data.itemId = this.itemId
|
|
}
|
|
let arr = []
|
|
this.addForm.imgFileList.forEach(item=>{
|
|
arr.push(item.url)
|
|
})
|
|
data.imageUrl = arr.join(",")
|
|
if(this.addForm.typeId == ""){
|
|
uni.showToast({
|
|
title: '请选择检查类型!',
|
|
icon: "none",
|
|
duration: 2000
|
|
});
|
|
return;
|
|
}
|
|
if(this.addForm.status == 2){
|
|
if(this.addForm.examineEntry == ""){
|
|
uni.showToast({
|
|
title: '请选择检查项!',
|
|
icon: "none",
|
|
duration: 2000
|
|
});
|
|
return;
|
|
}
|
|
if(this.addForm.dutyPeopleId == ""){
|
|
uni.showToast({
|
|
title: '请选择整改责任人!',
|
|
icon: "none",
|
|
duration: 2000
|
|
});
|
|
return;
|
|
}
|
|
if(this.addForm.faultLevel.toString() == ""){
|
|
uni.showToast({
|
|
title: '请选择事故隐患等级!',
|
|
icon: "none",
|
|
duration: 2000
|
|
});
|
|
return;
|
|
}
|
|
data.checkItem=this.addForm.examineEntry
|
|
data.checkSubitem=this.addForm.examineProject
|
|
data.checkContent=this.addForm.examineContent
|
|
data.hiddenDangerLevel=this.addForm.examineLv
|
|
data.rectifyRequire=this.addForm.requestContent
|
|
data.changeUser=this.addForm.dutyPeopleId
|
|
data.enterpriseSn=this.addForm.enterpriseSn
|
|
data.changeLimitTime=this.addForm.date
|
|
data.faultLevel=this.faultLevelList[this.addForm.faultLevel].id
|
|
data.recordType = 1
|
|
if(this.addForm.checkItemResultId){
|
|
data.checkItemResultId = this.addForm.checkItemResultId
|
|
}
|
|
} else{
|
|
if(data.dutyRegion == ""){
|
|
uni.showToast({
|
|
title: '请填写详细位置信息!',
|
|
icon: "none",
|
|
duration: 2000
|
|
});
|
|
return;
|
|
}
|
|
if(data.imageUrl == ""){
|
|
uni.showToast({
|
|
title: '请上传图片!',
|
|
icon: "none",
|
|
duration: 2000
|
|
});
|
|
return;
|
|
}
|
|
data.recordType = 2
|
|
}
|
|
console.log(data, this.addForm)
|
|
let _this = this
|
|
this.sendRequest({
|
|
url: 'xmgl/hiddenDangerInspectRecord/add',
|
|
method: 'post',
|
|
data: data,
|
|
success: (res) => {
|
|
if(res.code == 200){
|
|
uni.showToast({
|
|
title:'保存成功'
|
|
})
|
|
_this.restForm()
|
|
uni.navigateBack({})
|
|
}
|
|
console.log(res.result)
|
|
}
|
|
})
|
|
}
|
|
if(this.pageType == 2){
|
|
uni.redirectTo({
|
|
url: "./rectificationReply"
|
|
})
|
|
}
|
|
},
|
|
|
|
previewRecord(){
|
|
uni.navigateTo({
|
|
url:"./dangerRecord"
|
|
})
|
|
},
|
|
// refusalForm(){
|
|
// uni.redirectTo({
|
|
// url: "./dangerList?type=2"
|
|
// })
|
|
// },
|
|
showDialog(val){
|
|
this.$refs.dialogs.showFn()
|
|
this.reviewStatus = val
|
|
},
|
|
cancleReply(){
|
|
this.$refs.dialogs.hideFn2()
|
|
},
|
|
submitReply(){
|
|
if(this.reviewContent == ""){
|
|
uni.showToast({
|
|
title: '请输入复查情况!',
|
|
icon: "none",
|
|
duration: 2000
|
|
});
|
|
return;
|
|
}
|
|
let data = {
|
|
createUser: this.userId,
|
|
inspectId: "",
|
|
additionalRemarks: this.reviewContent,
|
|
status: this.reviewStatus,
|
|
type: 2
|
|
}
|
|
if(uni.getStorageSync('detailData')){
|
|
data.inspectId = uni.getStorageSync('detailData').id
|
|
}
|
|
console.log(data)
|
|
let _this = this
|
|
this.sendRequest({
|
|
url: 'xmgl/hiddenDangerRectifyRecord/add',
|
|
method: 'post',
|
|
data: data,
|
|
success: (res) => {
|
|
if(res.code == 200){
|
|
uni.showToast({
|
|
title:'保存成功'
|
|
})
|
|
|
|
uni.navigateBack({})
|
|
}
|
|
console.log(res.result)
|
|
}
|
|
})
|
|
this.$refs.dialogs.hideFn2()
|
|
// uni.redirectTo({
|
|
// url: './dangerList?type=2'
|
|
// })
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.addExamine{
|
|
.fixedheader{
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
z-index: 2;
|
|
.headerName{
|
|
z-index: 1;
|
|
}
|
|
}
|
|
.header-btn{
|
|
position: absolute;
|
|
top: 0;
|
|
right: 20rpx;
|
|
font-size: 24rpx;
|
|
line-height: 88rpx;
|
|
z-index: 2;
|
|
}
|
|
.smallHeight{
|
|
height: 100%;
|
|
box-sizing: border-box;
|
|
padding-bottom: 90rpx;
|
|
background: #eee;
|
|
}
|
|
.addExamine-form{
|
|
width: 100%;
|
|
// height: 100%;
|
|
background: #eee;
|
|
padding: 16rpx 20rpx;
|
|
padding-bottom: 50rpx;
|
|
box-sizing: border-box;
|
|
.form-box{
|
|
background: #fff;
|
|
border-radius: 12rpx;
|
|
.form-title{
|
|
padding: 16rpx 0;
|
|
padding-left: 30rpx;
|
|
position: relative;
|
|
font-weight: 600;
|
|
font-size: 28rpx;
|
|
}
|
|
.form-title::before{
|
|
content: "";
|
|
width: 6rpx;
|
|
height: 36rpx;
|
|
background: #409EFF;
|
|
position: absolute;
|
|
left: 0;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
}
|
|
.b-bottom{
|
|
border-bottom: 2rpx solid #f0f0f0;
|
|
}
|
|
.form-item{
|
|
padding: 36rpx 20rpx;
|
|
line-height: 36rpx;
|
|
.form-lable{
|
|
color: #F56C6C;
|
|
white-space: nowrap;
|
|
/deep/span{
|
|
color: #000;
|
|
}
|
|
}
|
|
.text{
|
|
/deep/span{
|
|
font-size: 28rpx;
|
|
}
|
|
}
|
|
.form-textarea{
|
|
flex: 1;
|
|
margin-left: 20rpx;
|
|
height: 160rpx;
|
|
border: 1px solid #f0f0f0;
|
|
overflow: auto;
|
|
/deep/uni-textarea{
|
|
width: 100%;
|
|
height: 100%;
|
|
font-size: 28rpx;
|
|
.uni-textarea-compute{
|
|
width: 100%;
|
|
height: 100%;
|
|
overflow: auto;
|
|
}
|
|
}
|
|
}
|
|
.form-input{
|
|
text-align: right;
|
|
/deep/input{
|
|
font-size: 28rpx;
|
|
}
|
|
/deep/.uni-input-placeholder{
|
|
color: #C0C4CC;
|
|
}
|
|
}
|
|
}
|
|
.flex{
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
}
|
|
.f-column{
|
|
flex-direction: column;
|
|
}
|
|
.noCheck{
|
|
color: #C0C4CC;
|
|
}
|
|
.form-content{
|
|
font-size: 28rpx;
|
|
.uni-input{
|
|
line-height: 36rpx;
|
|
}
|
|
}
|
|
.a-start{
|
|
align-items: flex-start;
|
|
}
|
|
.imgBox_wrap {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
margin-top: 20rpx;
|
|
width: 75%;
|
|
min-height: 120rpx;
|
|
}
|
|
|
|
.imgBox {
|
|
width: 120rpx;
|
|
height: 120rpx;
|
|
display: inline-flex;
|
|
position: relative;
|
|
margin-right: 30rpx;
|
|
margin-bottom: 16rpx;
|
|
|
|
.img {
|
|
width: 100%;
|
|
height: 100%;
|
|
border-radius: 12rpx;
|
|
}
|
|
|
|
.deleteImg {
|
|
position: absolute;
|
|
right: -12rpx;
|
|
top: -18rpx;
|
|
uni-image{
|
|
width: 20rpx;
|
|
height: 20rpx;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
.addImgBox {
|
|
border: 1px solid rgba(42, 43, 91, 0.1);
|
|
background-color: #f6f5f8;
|
|
width: 120rpx;
|
|
height: 120rpx;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: 20rpx;
|
|
font-size: 24rpx;
|
|
margin-right: 12rpx;
|
|
uni-image{
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
// .icon-add {
|
|
// width: 36rpx;
|
|
// height: 36rpx;
|
|
// }
|
|
}
|
|
}
|
|
}
|
|
|
|
.submit-btn{
|
|
width: 100%;
|
|
height: 96rpx;
|
|
background: #409EFF;
|
|
color: #fff;
|
|
position: fixed;
|
|
bottom: 0;
|
|
left: 0;
|
|
text-align: center;
|
|
line-height: 96rpx;
|
|
}
|
|
.p-0{
|
|
padding-bottom: 0;
|
|
}
|
|
.btn-box{
|
|
position: fixed;
|
|
bottom: 0;
|
|
left: 0;
|
|
line-height: 96rpx;
|
|
display: flex;
|
|
width: 100%;
|
|
height: 96rpx;
|
|
color: #fff;
|
|
text-align: center;
|
|
.cancle-btn{
|
|
flex: 1;
|
|
height: 100%;
|
|
background: #DD4907;
|
|
}
|
|
.pass-btn{
|
|
flex: 1;
|
|
height: 100%;
|
|
background: #127FEC;
|
|
}
|
|
}
|
|
.formDialog{
|
|
/deep/.dialogContent{
|
|
width: 90%;
|
|
top: auto;
|
|
left: 50%;
|
|
bottom: 40rpx;
|
|
transform: translate(-50%, 0);
|
|
}
|
|
.dialog-title{
|
|
padding: 0 40rpx ;
|
|
padding-top: 40rpx;
|
|
margin-bottom: 16rpx;
|
|
}
|
|
.dialog-content{
|
|
padding: 0 40rpx;
|
|
.form-textarea{
|
|
flex: 1;
|
|
width: 100%;
|
|
height: 218rpx;
|
|
border: 1px dashed #f0f0f0;
|
|
// overflow: auto;
|
|
background: #FAFAFA;
|
|
border-radius: 10rpx;
|
|
margin-bottom: 30rpx;
|
|
/deep/uni-textarea{
|
|
width: 100%;
|
|
height: 100%;
|
|
padding: 26rpx 28rpx;
|
|
box-sizing: border-box;
|
|
font-size: 28rpx;
|
|
.uni-textarea-compute{
|
|
width: 100%;
|
|
height: 100%;
|
|
overflow: auto;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.dialog-btn{
|
|
width: 100%;
|
|
height: 94rpx;
|
|
display: flex;
|
|
border-top: 1px solid #f0f0f0;
|
|
align-items: center;
|
|
.cancle-btn{
|
|
flex: 1;
|
|
height: 94rpx;
|
|
text-align: center;
|
|
line-height: 94rpx;
|
|
background: #F3F3F3;
|
|
}
|
|
.primary-btn{
|
|
flex: 1;
|
|
height: 94rpx;
|
|
text-align: center;
|
|
line-height: 94rpx;
|
|
color: #127FEC;
|
|
background: #E7F2FD;
|
|
}
|
|
}
|
|
}
|
|
.uni-list-cell{
|
|
font-size: 28rpx;
|
|
margin-right: 20rpx;
|
|
/deep/uni-radio .uni-radio-input{
|
|
width: 36rpx;
|
|
height: 36rpx;
|
|
}
|
|
}
|
|
}
|
|
</style>
|