| | |
| | | <el-option v-for="dict in dict.type.report_error_type" :value="dict.value" :key="dict.value" :label="dict.label" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="审核状态"> |
| | | <el-select v-model="queryParams.status" @change="handleQuery" placeholder="审核状态" clearable> |
| | | <el-form-item label="报备时间" prop="timeRange" > |
| | | <el-date-picker |
| | | v-model="reportTimeRange" |
| | | type="daterange" |
| | | range-separator="至" |
| | | value-format="yyyy-MM-dd" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | @change="handleQuery" |
| | | clearable |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="有效时间" prop="timeRange" > |
| | | <el-date-picker |
| | | v-model="effectiveTimeRange" |
| | | type="daterange" |
| | | range-separator="至" |
| | | value-format="yyyy-MM-dd" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | @change="handleQuery" |
| | | clearable |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label=""> |
| | | <el-select v-model="queryParams.status" @change="handleQuery" placeholder="" clearable> |
| | | <el-option label="全部" value="" /> |
| | | <el-option label="审核中" :value="0" /> |
| | | <el-option label="审核未通过" :value="2" /> |
| | | <el-option label="审核通过" :value="1" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="small" @click="handleQuery">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button> |
| | |
| | | <div class="info-item"> |
| | | <div class="info-label">报备材料</div> |
| | | <div class="info-list"> |
| | | <div style="margin-bottom: 8px" v-for="file in formatFileList(scope.row.reportMaterials)" :key="file"> |
| | | <el-link type="primary" @click="handleDownload(file)"> |
| | | <div style="margin-bottom: 8px" v-for="file in scope.row.reportMaterials!=null ? scope.row.reportMaterials.split(',') : scope.row.reportMaterials" :key="file"> |
| | | <el-image |
| | | v-if="isImageFile(file)" |
| | | :src="getPreview(file)" |
| | | :preview-src-list="[getPreview(file)]" |
| | | fit="cover" |
| | | class="material-preview" |
| | | style="width: 100px; height: 100px; margin: 5px;" |
| | | > |
| | | </el-image> |
| | | <el-link v-else type="primary" @click="handleDownload(file)"> |
| | | {{file.match(/\/([^\/]*)$/)[1]}} |
| | | </el-link> |
| | | </div> |
| | |
| | | <div class="content" v-html="getHtmlContent(record.reportContent)"></div> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="报备材料"> |
| | | <el-link |
| | | <div |
| | | v-for="item in record.reportMaterials != null ? record.reportMaterials.split(',') : record.reportMaterials" |
| | | :underline="false" type="primary" :key="item" @click="handleDownload(item)"> |
| | | {{ item.substring(item.lastIndexOf("/") + 1) }} |
| | | </el-link> |
| | | :key="item"> |
| | | <el-image |
| | | v-if="isImageFile(item)" |
| | | :src="getPreview(item)" |
| | | :preview-src-list="[getPreview(item)]" |
| | | fit="cover" |
| | | style="width: 100px; height: 100px; margin: 5px;"> |
| | | </el-image> |
| | | <el-link |
| | | v-else |
| | | :underline="false" type="primary" @click="handleDownload(item)"> |
| | | {{ item.substring(item.lastIndexOf("/") + 1) }} |
| | | </el-link> |
| | | </div> |
| | | </el-descriptions-item> |
| | | </el-descriptions> |
| | | </el-card> |
| | |
| | | <span v-html="auditingForm.reportContent"></span> |
| | | </el-form-item> |
| | | <el-form-item label="报备材料"> |
| | | <el-link |
| | | <!-- 添加空行 --> |
| | | <div class="material-spacer">{{''}}</div> |
| | | <div |
| | | v-for="item in auditingForm.reportMaterials != null ? auditingForm.reportMaterials.split(',') : auditingForm.reportMaterials" |
| | | :underline="false" type="primary" :key="item" @click="handleDownload(item)">{{ item.substring(item.lastIndexOf("/") + 1) |
| | | }}</el-link> |
| | | :key="item"> |
| | | <el-image |
| | | v-if="isImageFile(item)" |
| | | :src="getPreview(item)" |
| | | :preview-src-list="[getPreview(item)]" |
| | | fit="cover" |
| | | style="width: 100px; height: 100px; margin: 5px;"> |
| | | </el-image> |
| | | <el-link |
| | | v-else |
| | | :underline="false" type="primary" @click="handleDownload(item)"> |
| | | {{ item.substring(item.lastIndexOf("/") + 1) }} |
| | | </el-link> |
| | | </div> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | |
| | | <el-button type="primary" @click="auditingSubmit">审 核</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | fileList: [], |
| | | url: process.env.VUE_APP_BASE_API + '/report/import', |
| | | addOrImport: 'add', |
| | | fileType: ["doc", "xls", "xlsx", "ppt", "txt", "pdf", "png", "jpg"], |
| | | fileType: ["doc", "xls", "xlsx", "ppt", "txt", "pdf", "png", "jpg","docx"], |
| | | auditingRecordList: [], |
| | | // 点位list |
| | | pointList: [], |
| | |
| | | auditingResult: false, |
| | | daterangeCreateTime: [] |
| | | }, |
| | | reportTimeRange:null,//报备时间 |
| | | effectiveTimeRange:null,//有效时间 |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | |
| | | errorType: null, |
| | | status: '', |
| | | reportType: null, |
| | | errorTypeList: [] |
| | | errorTypeList: [], |
| | | reportTimeStart:null, |
| | | reportTimeEnd:null, |
| | | effectTimeStart:null, |
| | | effectTimeEnd:null, |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | |
| | | this.getList(); |
| | | }, |
| | | methods: { |
| | | getPreview(url) { |
| | | // 使用全局配置的图片前缀 |
| | | return this.$img + url; |
| | | }, |
| | | isImageFile(url) { |
| | | const imageExtensions = ['.jpg', '.jpeg', '.png', '.gif', '.webp']; |
| | | return imageExtensions.some(ext => |
| | | url.toLowerCase().endsWith(ext) |
| | | ); |
| | | }, |
| | | getHtmlContent(content) { |
| | | if (content) { |
| | | return content |
| | |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | if (this.reportTimeRange && this.reportTimeRange.length > 0) { |
| | | this.queryParams.reportTimeStart = this.reportTimeRange[0] |
| | | this.queryParams.reportTimeEnd = this.reportTimeRange[1] |
| | | }else { |
| | | this.queryParams.reportTimeStart = null |
| | | this.queryParams.reportTimeEnd = null |
| | | } |
| | | |
| | | if (this.effectiveTimeRange && this.effectiveTimeRange.length >0){ |
| | | this.queryParams.effectTimeStart = this.effectiveTimeRange[0] |
| | | this.queryParams.effectTimeEnd = this.effectiveTimeRange[1] |
| | | }else { |
| | | this.queryParams.effectTimeStart = null |
| | | this.queryParams.effectTimeEnd = null |
| | | } |
| | | |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .material-spacer { |
| | | height: 50px; /* 可以调整空行的高度 */ |
| | | } |
| | | .content { |
| | | height: 100px; |
| | | max-height: 300px; |