From d13348b06ba9be4dd4f396ad578cd68feb8e0ad1 Mon Sep 17 00:00:00 2001 From: lyfO_o <764716047@qq.com> Date: 星期四, 24 三月 2022 16:24:19 +0800 Subject: [PATCH] Merge remote-tracking branch 'remotes/origin/lyf' into master --- src/views/hiddenDanger/reportDialog/reportDialog.vue | 221 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 221 insertions(+), 0 deletions(-) diff --git a/src/views/hiddenDanger/reportDialog/reportDialog.vue b/src/views/hiddenDanger/reportDialog/reportDialog.vue new file mode 100644 index 0000000..f241e67 --- /dev/null +++ b/src/views/hiddenDanger/reportDialog/reportDialog.vue @@ -0,0 +1,221 @@ +<template> + <el-dialog title="新增" :visible.sync="dialogFormVisible" + :modal-append-to-body="false" :close-on-click-modal="false" width="800px"> + <el-form ref="dataForm" :rules="dataFormRules" :model="dataForm" label-position="right" label-width="140px" + style="" element-loading-text="保存中..."> + + + <el-form-item label="隐患级别:"> + <el-select v-model="dataForm.level" placeholder="请选择" :disabled="isView"> + <el-option + v-for="item in levels" + :key="item.key" + :label="item.value" + :value="item.key"> + </el-option> + </el-select> + </el-form-item> + + <el-form-item label="选择整改人:"> + <el-input v-model="dataForm.rectifier" readonly style="width: 205px" placeholder="请选择" > + + </el-input> + <el-button style="margin-left: 10px;" type="primary" + @click="showPersonSelect">选择 + </el-button> + </el-form-item> + + <el-form-item label="整改措施:" > + <el-input + style="width: 400px" + type="textarea" + :rows="3" + :disabled="isView" + placeholder="请输入内容" + v-model="dataForm.rectifymeasure"> + </el-input> + </el-form-item> + <el-form-item label="整改期限 :" > + <el-date-picker + v-model="dataForm.rectifydeadline" + type="datetime" + format="yyyy-MM-dd HH:mm" + :picker-options="pickerOptions" + value-format="yyyy-MM-dd HH:mm" + placeholder="选择日期时间"> + </el-date-picker> + </el-form-item> + <el-form-item label="上报说明:" > + <el-input + style="width: 400px" + type="textarea" + :rows="3" + :disabled="isView" + placeholder="请输入内容" + v-model="dataForm.note"> + </el-input> + </el-form-item> + + <el-form-item label="上报图片:" v-if="!isView"> + <el-upload + ref="upload" + :action="baseUrl" + :auto-upload="false" + :headers="headers" + :on-change="handleChange" + name="file" + :file-list="fileList" + list-type="picture-card" + multiple + > + <i class="el-icon-plus"></i> + </el-upload> + + </el-form-item> + + <el-form-item label="上报图片:" v-if="isView" > + <el-image + class="upload-img" + v-for='item in imgUrls' + :key='item.id' + :src="item.url" + :preview-src-list="imgPreviewUrls" + style="width:100px;height: 100px;margin: 10px;" + > + </el-image> + </el-form-item> + + + + </el-form> + + <div style="margin-top: 20px;margin-left: 140px;" class="dialog-footer" v-if="!isView"> + <el-button @click="dialogFormVisible = false">取消</el-button> + <el-button type="primary" @click="trigger2Submit" :disabled="submiting">上报</el-button> + </div> + <person-select ref="selectPerson" @setPerson="selectSetValue" ></person-select> + </el-dialog> +</template> + +<script> + import personSelect from '../personSelect/personSelect' + import { hiddenDangerReport } from '@/api/hiddenDanger'; + import {getToken} from "@/utils/auth"; + export default { + name: "reportDialog", + data(){ + return { + baseUrl: process.env.BASE_API + 'hiddenDanger/report', + headers: { + 'Authorization': getToken() + }, + submiting:false, + levels:[ + {"key":"URGENT","value":"紧急"}, + {"key":"COMMON","value":"一般"}, + ], + pickerOptions:{ + disabledDate(now){ + return now.getTime() < new Date(new Date().toLocaleDateString()).getTime() + } + }, + fileList: [], + dataForm: { + rectifydeadline:'', + rectifymeasure:'', + rectifier:'', + rectifierid:'', + note: '', + level:'' + }, + dialogFormVisible: false, + dataFormRules: {}, + isView:false, + } + }, + components:{ + personSelect, + }, + methods:{ + resetDataForm(){ + this.dataForm = { + rectifydeadline:'', + rectifymeasure:'', + rectifier:'', + rectifierid:'', + note: '', + level:'' + } + }, + show(){ + this.dialogFormVisible = true + this.isView = false + this.resetDataForm() + }, + trigger2Submit(){ + this.submiting = true + let formData = new FormData() + formData.append('rectifier', this.dataForm.rectifier) + formData.append("rectifierid",this.dataForm.rectifierid) + formData.append("level",this.dataForm.level) + formData.append("rectifymeasure",this.dataForm.rectifymeasure) + formData.append("rectifydeadline",this.dataForm.rectifydeadline) + formData.append("note",this.dataForm.note) + this.fileList.forEach(file=>{ + formData.append("files",file.raw) + }) + + hiddenDangerReport(formData) + .then(res=>{ + if (res.data.code === '200') { + this.dialogFormVisible = false + this.$message({ + message: '创建成功', + type: 'success' + }); + this.$emit("refresh") + }else{ + this.$message({ + message: res.data.message, + type: 'warning' + }); + } + this.fileList = [] + } + ) + .catch(err=>{ + console.log(err) + this.$message({ + message: "接口错误,请联系管理员", + type: 'warning' + }); + }) + .finally(()=>{ + this.submiting = false + }) + + }, + showPersonSelect(){ + this.$refs.selectPerson.show(); + }, + selectSetValue(row){ + this.dataForm.rectifier = row.realname + this.dataForm.rectifierid = row.id + }, + + + handleChange(file, fileList) { + this.fileList = fileList + }, + + + } + } +</script> + +<style scoped> + + .el-picker-panel__footer .el-button--text.el-picker-panel__link-btn { + display: none; + } +</style> -- Gitblit v1.9.2