From 1f6893d24ba87313d4114c68813073ead53b2e12 Mon Sep 17 00:00:00 2001 From: zhouwx <1175765986@qq.com> Date: 星期五, 30 八月 2024 09:26:22 +0800 Subject: [PATCH] 群发新通讯录懒加载 --- src/views/Admin/Report.vue | 114 +++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 82 insertions(+), 32 deletions(-) diff --git a/src/views/Admin/Report.vue b/src/views/Admin/Report.vue index d90fbd7..5ba70d7 100644 --- a/src/views/Admin/Report.vue +++ b/src/views/Admin/Report.vue @@ -29,8 +29,8 @@ style="width: 100%" /> </a-col> - <a-col :span="4"> - <a-button type="primary" @click="getData">查询</a-button> + <a-col :span="6"> + <a-button type="primary" @click="searchData()" v-preventReClick="1500">查询</a-button> <a-button style="margin-left: 12px" @click="resetSearch">重置</a-button> </a-col> </a-row> @@ -45,9 +45,11 @@ <template #disasterType="text"> {{ getRiskName(text) }} </template> - <template #attachment="text"> - <span v-if="text==='无'">无</span> - <a v-else><b><a-icon type="paper-clip" /> {{text}}</b></a> + <template #attachment="attachment"> + <span v-if="attachment===null|| attachment===[]">无</span> + <div v-else> + <a-button @click="viewFile(item)" type="link" v-for="(item,index) in attachment" :key="index"><a-icon type="paper-clip"/>{{item.attachmentName}}</a-button> + </div> </template > <template #reviewStatus="reviewStatus"> <a-tag @@ -57,9 +59,10 @@ </a-tag> </template> <template #operation="text, record, index"> - <a-button type="primary" v-if="record.reviewStatus == 2" @click="confirmPost(record.id)">确认发布</a-button> - <a-button type="link" v-if="record.reviewStatus == 2 || record.reviewStatus == 3" @click="openMod('view',record)">查看信息详情</a-button> + <a-button type="primary" v-if="record.reviewStatus == 2" @click="confirmPost(record.id)" v-preventReClick="1500">确认发布</a-button> + <a-button type="link" @click="openMod('view',record)">查看信息详情</a-button> <a-button class="del" type="link" @click="delData(record.id)">删除</a-button> + <a-button v-if="record.reviewStatus == 1 || record.reviewStatus == 3" @click="openMod('edit',record)">修改</a-button> </template> </a-table> </div> @@ -69,10 +72,13 @@ <script> -import {getReviewDetail, getReviewRecord} from "@/api/review"; +import {getReviewDetail, getReviewDetailByWorker, getReviewRecord} from "@/api/review"; import msgEditMod from '@/views/Admin/components/msgEditMod' import {delRecipient} from "@/api/user"; import {deleteMsg, publishMsg} from "@/api/send"; +import Cookies from "js-cookie"; +import axios from "axios"; +import {getUserInfo} from "@/util/storage"; export default { name: 'msgReview', @@ -91,9 +97,8 @@ timeRange: [], riskOptions: [ {name: '地震',value: 1}, - {name: '洪涝',value: 2}, {name: '气象',value: 3}, - {name: '泥石流',value: 4}, + {name: '地质灾害',value: 4}, {name: '水旱',value: 5}, {name: '森林草原火灾',value: 6} ], @@ -143,6 +148,7 @@ scopedSlots: { customRender: 'attachment' }, + width: '15%' }, { title: '审核情况', @@ -154,6 +160,7 @@ { title: '操作', dataIndex: 'operation', + width: '18%', scopedSlots: { customRender: 'operation' }, @@ -162,12 +169,18 @@ data: [] } }, + mounted() { + if(getUserInfo().role.id == 1){ + this.columns = this.columns.filter(i=>i.dataIndex !== 'operation') + } + }, created() { const t = this t.getData() }, methods:{ async getData(){ + console.log(111) const t = this const res = await getReviewRecord(this.search) if(res.data.code == 100){ @@ -176,6 +189,11 @@ }else{ this.$message.error(res.data.msg) } + }, + + searchData(){ + this.search.pageIndex = 1 + this.getData() }, resetSearch(){ @@ -209,14 +227,15 @@ cancelText: '取消', okText: '确认', centered: true, - async onOk() { - let res = await publishMsg(id) - if(res.data.code == 100){ - t.$message.success('信息发布成功'); - t.getData() - }else{ - t.$message.warning(res.data.msg); - } + onOk() { + publishMsg(id).then(res=>{ + if(res.data.code == 100){ + t.$message.success('信息发布成功'); + t.getData() + }else{ + t.$message.warning(res.data.msg); + } + }) }, onCancel() { console.log('Cancel'); @@ -232,14 +251,15 @@ cancelText: '取消', okText: '确认', centered: true, - async onOk() { - let res = await deleteMsg(id) - if(res.data.code == 100){ - t.$message.success('信息删除成功'); - t.getData() - }else{ - t.$message.warning(res.data.msg); - } + onOk() { + deleteMsg(id).then(res=>{ + if(res.data.code == 100){ + t.$message.success('信息删除成功'); + t.getData() + }else{ + t.$message.warning(res.data.msg); + } + }) }, onCancel() { console.log('Cancel'); @@ -247,17 +267,47 @@ }); }, - openMod(type,data){ + viewFile(item){ const t = this - getReviewDetail(data.id).then(res=>{ - if(res.data.code == 100){ - t.$refs.msgEdit.openMod(type,res.data.data) - }else{ - this.$message.error(res.data.msg) + const { baseUrl } = require('../../../config/env.' + process.env.NODE_ENV) + axios.get(baseUrl + item.attachment,{headers:{'Content-Type': 'application/json','tk': `${Cookies.get('resTk')}`,'uid':`${Cookies.get('resUid')}`},responseType: 'blob'}).then(res=>{ + if (res) { + const link = document.createElement('a') + let blob = new Blob([res.data],{type: res.data.type}) + link.style.display = "none"; + link.href = URL.createObjectURL(blob); // 创建URL + window.open(link.href) + // link.setAttribute("download", item.attachmentName); + // document.body.appendChild(link); + // link.click(); + // document.body.removeChild(link); + } else { + this.$message.error('获取文件失败') } }) }, + openMod(type,data){ + const t = this + if(type == 'edit'){ + getReviewDetailByWorker(data.id).then(res=>{ + if(res.data.code == 100){ + t.$refs.msgEdit.openMod(type,res.data.data) + }else{ + this.$message.error(res.data.msg) + } + }) + }else{ + getReviewDetail(data.id).then(res=>{ + if(res.data.code == 100){ + t.$refs.msgEdit.openMod(type,res.data.data) + }else{ + this.$message.error(res.data.msg) + } + }) + } + }, + onPageChange(page, pageSize) { const t= this t.pagination.current = page -- Gitblit v1.9.2