| | |
| | | </div> |
| | | <!-- --> |
| | | <template v-slot:footer> |
| | | <el-button @click="dealDo" type="primary" v-if="model.status==0&& model.checkUserId == userInfo.memberId" class="status-red">处理</el-button> |
| | | <el-button @click="isShowProblem = true" type="primary" v-if="model.status==0&& model.checkUserId == userInfo.memberId" class="status-red">处理</el-button> |
| | | <el-button type="primary" plain v-if="model.status==0 && model.checkUserId == userInfo.memberId" @click="handleTransfer">转交</el-button> |
| | | <el-button @click="backDo" v-if="model.status==0&& model.checkUserId == userInfo.memberId" type="danger" >退回</el-button> |
| | | <el-button @click="visible=false">返回</el-button> |
| | | </template> |
| | | <!-- 同意/拒绝 --> |
| | | <el-dialog |
| | | append-to-body |
| | | :title="apprTitle" |
| | | :visible.sync="isShowAppr" |
| | | width="480px" |
| | | > |
| | | <el-input |
| | | type="textarea" |
| | | :placeholder="apprTitle + '说明,非必填'" |
| | | :rows="4" |
| | | v-model="param.explain" |
| | | /> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="isShowAppr = false">取消</el-button> |
| | | <el-button type="primary" @click="isShowAppr = false">确定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | <el-dialog |
| | | append-to-body |
| | | title="转交" |
| | | style="text-align: center" |
| | | class="dialogCl" |
| | | :visible.sync="isShowTransfer" |
| | | width="480px" |
| | | > |
| | |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="isShowTransfer = false">取消</el-button> |
| | | <el-button type="primary" @click="transferSubmit">确定</el-button> |
| | | <el-button type="primary" :loading="transfering" @click="transferSubmit">确定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- 隐患 --> |
| | | <el-dialog |
| | | append-to-body |
| | | title="隐患" |
| | | title="隐患处理" |
| | | class="dialogCl" |
| | | :visible.sync="isShowProblem" |
| | | width="480px" |
| | | width="600px" |
| | | > |
| | | <el-form :model="param" :rules="rules" ref="ruleForm" label-width="100px"> |
| | | <el-form-item label="退回时间"> |
| | | <el-form :model="dealForm" :rules="rulesDeal" ref="dealForm" label-width="100px"> |
| | | <el-form-item label="整改时间" prop="checkDate"> |
| | | <el-date-picker |
| | | class="w300" |
| | | value-format="yyyy-MM-dd" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | v-model="param.date" |
| | | v-model="dealForm.checkDate" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="整改前"> |
| | | <el-form-item label="整改前" prop="dealBeforeFileList"> |
| | | <div class="df_ac"> |
| | | <img src="@/assets/avatar/man.png" /> |
| | | <el-upload |
| | | class="avatar-uploader" |
| | | action="https://jsonplaceholder.typicode.com/posts/" |
| | | :show-file-list="false" |
| | | :on-success="handleAvatarSuccess" |
| | | :before-upload="beforeAvatarUpload" |
| | | > |
| | | <img v-if="param.url" :src="param.url" class="avatar" /> |
| | | <div v-else class="upload_box"> |
| | | <el-icon class="el-icon-plus icon" /> |
| | | <div class="text">图片/视频</div> |
| | | </div> |
| | | </el-upload> |
| | | <upload width="80px" height="80px" :list="dealForm.dealBeforeFileList" :tips="'图片/视频'" accept=".png,.jpg,.jpeg,.mp4" folder="hiddendanger" @loading="uploading = true" @dele="dele($event,0)" @success="uploadFileList($event, 0)" /> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="整改后" prop="dealAfterFileList"> |
| | | <div class="df_ac"> |
| | | <upload width="80px" height="80px" :list="dealForm.dealAfterFileList" :tips="'图片/视频'" accept=".png,.jpg,.jpeg,.mp4" folder="hiddendanger" @loading="uploading = true" @dele="dele($event,1)" @success="uploadFileList($event, 1)" /> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="处理说明"> |
| | | <el-input |
| | | type="textarea" |
| | | placeholder="请填写说明" |
| | | :rows="4" |
| | | v-model="dealForm.checkInfo" |
| | | /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="isShowProblem = false">取消</el-button> |
| | | <el-button type="primary" :loading="dealing" @click="dealDo" |
| | | >确定</el-button |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog |
| | | append-to-body |
| | | title="隐患退回" |
| | | class="dialogCl" |
| | | :visible.sync="isBackProblem" |
| | | width="480px" |
| | | > |
| | | <el-form :model="backForm" :rules="rulesBack" ref="backForm" label-width="100px"> |
| | | <el-form-item label="退回时间" prop="checkDate"> |
| | | <el-date-picker |
| | | class="w300" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | v-model="backForm.checkDate" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="整改前" prop="dealBeforeFileList"> |
| | | <div class="df_ac"> |
| | | <upload width="80px" height="80px" :list="backForm.dealBeforeFileList" :tips="'图片/视频'" accept=".png,.jpg,.jpeg,.mp4" folder="hiddendanger" @loading="uploading = true" @dele="dele($event,2)" @success="uploadFileList($event, 2)" /> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="退回说明"> |
| | |
| | | type="textarea" |
| | | placeholder="请填写说明" |
| | | :rows="4" |
| | | v-model="param.explain" |
| | | v-model="backForm.checkInfo" |
| | | /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="isShowProblem = false">取消</el-button> |
| | | <el-button type="primary" :loading="transfering" @click="isShowProblem = false" |
| | | <el-button @click="isBackProblem= false">取消</el-button> |
| | | <el-button type="primary" :loading="transfering" @click="backDo" |
| | | >确定</el-button |
| | | > |
| | | </span> |
| | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import upload from '@/components/common/upload' |
| | | import { memberList } from '@/api/business/hiddenDangerParam' |
| | | import {mapMutations} from "vuex"; |
| | | import { mapState } from 'vuex' |
| | | import { dealHiddenDanger } from '@/api/business/hiddenDanger' |
| | | export default { |
| | | components: { GlobalWindow }, |
| | | components: { GlobalWindow, upload }, |
| | | extends: BaseOpera, |
| | | data () { |
| | | return { |
| | |
| | | isShowAppr: false, |
| | | apprTitle: '同意', |
| | | param: {}, |
| | | uploading: false, |
| | | dealing: false, |
| | | isShowProblem: false, |
| | | isBackProblem: false, |
| | | isShowTransfer: false, |
| | | rules: {}, |
| | | rulesTrans: { |
| | |
| | | { required: true, message: '请选择' } |
| | | ] |
| | | }, |
| | | rulesDeal: { |
| | | checkDate: [ |
| | | { required: true, message: '请选择整改时间' } |
| | | ], |
| | | dealBeforeFileList: [ |
| | | { required: true, message: '请上传整改前情况' } |
| | | ], |
| | | dealAfterFileList: [ |
| | | { required: true, message: '请上传整改后情况' } |
| | | ] |
| | | }, |
| | | rulesBack: { |
| | | checkDate: [ |
| | | { required: true, message: '请选择退回时间' } |
| | | ], |
| | | dealBeforeFileList: [ |
| | | { required: true, message: '请上传整改前情况' } |
| | | ] |
| | | }, |
| | | memberList: [], |
| | | transForm: { |
| | | memberId: null |
| | | }, |
| | | dealForm: { |
| | | checkDate: null, |
| | | checkInfo: null, |
| | | dealBeforeFileList: [], |
| | | dealAfterFileList: [] |
| | | }, |
| | | backForm: { |
| | | checkDate: null, |
| | | checkInfo: null, |
| | | dealBeforeFileList: [] |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapState(['userInfo']) |
| | | }, |
| | | created () { |
| | | this.config({ |
| | |
| | | }) |
| | | }, |
| | | methods: { |
| | | ...mapMutations(['userInfo']), |
| | | dealDo () { this.isShowProblem = true }, |
| | | backDo () { this.isShowProblem = true }, |
| | | dele (index, type) { |
| | | if (type == 0) { |
| | | if (this.dealForm.dealBeforeFileList != null && this.dealForm.dealBeforeFileList.length > index) { |
| | | this.dealForm.dealBeforeFileList.splice(index, 1) |
| | | } |
| | | } else if (type == 1) { |
| | | if (this.dealForm.dealAfterFileList != null && this.dealForm.dealAfterFileList.length > index) { |
| | | this.dealForm.dealAfterFileList.splice(index, 1) |
| | | } |
| | | } else if (type == 2) { |
| | | if (this.backForm.dealAfterFileList != null && this.backForm.dealAfterFileList.length > index) { |
| | | this.backForm.dealAfterFileList.splice(index, 1) |
| | | } |
| | | } |
| | | }, |
| | | uploadFileList (e, objType) { |
| | | if (objType === 0) { |
| | | if (this.dealForm.dealBeforeFileList == null) { |
| | | this.dealForm.dealBeforeFileList = [] |
| | | } |
| | | this.dealForm.dealBeforeFileList.push({ |
| | | id: this.model.id, |
| | | url: e.url, |
| | | fileUrl: e.imgaddr, |
| | | fileName: e.originname, |
| | | fileType: e.type |
| | | }) |
| | | } else if (objType === 1) { |
| | | if (this.dealForm.dealAfterFileList == null) { |
| | | this.dealForm.dealAfterFileList = [] |
| | | } |
| | | this.dealForm.dealAfterFileList.push({ |
| | | id: this.model.id, |
| | | fileUrl: e.imgaddr, |
| | | url: e.url, |
| | | fileName: e.originname, |
| | | fileType: e.type |
| | | }) |
| | | } else if (objType === 2) { |
| | | if (this.backForm.dealAfterFileList == null) { |
| | | this.backForm.dealAfterFileList = [] |
| | | } |
| | | this.backForm.dealAfterFileList.push({ |
| | | id: this.model.id, |
| | | fileUrl: e.imgaddr, |
| | | url: e.url, |
| | | fileName: e.originname, |
| | | fileType: e.type |
| | | }) |
| | | } |
| | | }, |
| | | dealDo () { |
| | | this.$refs.dealForm.validate((valid) => { |
| | | // debugger |
| | | if (!valid) { |
| | | return |
| | | } |
| | | this.$dialog.actionConfirm('操作确认', '您确认提交该隐患处理情况吗?') |
| | | .then(() => { |
| | | this.transfering = true |
| | | this.api.dealHiddenDanger({ |
| | | id: this.dataId, |
| | | status: 1, |
| | | checkDate: this.dealForm.checkDate, |
| | | checkInfo: this.dealForm.checkInfo, |
| | | dealBeforeFileList: this.dealForm.dealBeforeFileList, |
| | | dealAfterFileList: this.dealForm.dealBeforeFileList |
| | | }) |
| | | .then(res => { |
| | | this.$tip.apiSuccess('转交成功') |
| | | this.getDetail() |
| | | this.getLogList() |
| | | this.isShowTransfer = false |
| | | }) |
| | | .catch(e => { |
| | | }) |
| | | .finally(() => { |
| | | this.dealing = false |
| | | }) |
| | | }) |
| | | }) |
| | | }, |
| | | backDo () { |
| | | this.$refs.backForm.validate((valid) => { |
| | | if (!valid) { |
| | | return |
| | | } |
| | | this.$dialog.actionConfirm('操作确认', '您确认退回该隐患处理情况吗?') |
| | | .then(() => { |
| | | this.transfering = true |
| | | this.api.dealHiddenDanger({ |
| | | id: this.dataId, |
| | | status: 0, |
| | | checkDate: this.backForm.checkDate, |
| | | checkInfo: this.backForm.checkInfo, |
| | | dealBeforeFileList: this.backForm.dealBeforeFileList |
| | | }) |
| | | .then(res => { |
| | | this.$tip.apiSuccess('转交成功') |
| | | this.getDetail() |
| | | this.getLogList() |
| | | this.isShowTransfer = false |
| | | }) |
| | | .catch(e => { |
| | | }) |
| | | .finally(() => { |
| | | this.dealing = false |
| | | }) |
| | | }) |
| | | }) |
| | | }, |
| | | open (title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | this.model = {} |
| | | this.dataId = target.id |
| | | this.getDetail() |
| | | this.getLogList() |
| | | this.$nextTick(() => { |
| | | this.memberList = [] |
| | | this.transForm = { |
| | | memberId: null |
| | | }, |
| | | this.dealForm = { |
| | | checkDate: null, |
| | | checkInfo: null, |
| | | dealBeforeFileList: [], |
| | | dealAfterFileList: [] |
| | | }, |
| | | this.backForm = { |
| | | checkDate: null, |
| | | checkInfo: null, |
| | | dealBeforeFileList: [] |
| | | } |
| | | this.getDetail() |
| | | this.getLogList() |
| | | }) |
| | | }, |
| | | transferSubmit () { |
| | | this.$refs.transForm.validate((valid) => { |
| | |
| | | this.$tip.apiSuccess('转交成功') |
| | | this.getDetail() |
| | | this.getLogList() |
| | | this.isShowTransfer = false |
| | | }) |
| | | .catch(e => { |
| | | }) |
| | |
| | | this.transfering = false |
| | | }) |
| | | }) |
| | | .catch(() => {}) |
| | | }) |
| | | }, |
| | | getLogList () { |