zhouwx
2025-05-19 457f9c817adef8b003ee6379f493798bae5cbb69
src/views/Admin/components/msgDetailMod.vue
@@ -30,20 +30,19 @@
      </a-row>
      <a-row :gutter="24" v-if="details.publishingUnit"><a-col :span="4">发布单位</a-col><a-col :span="14">{{details.publishingUnit}}</a-col></a-row>
      <a-row :gutter="24" v-if="details.content"><a-col :span="4">信息内容</a-col><a-col :span="14">{{details.content}}</a-col></a-row>
      <a-row :gutter="24" v-if="details.directViewUrl"><a-col :span="4">直览附件</a-col><a-col :span="14" style="border: none"><a :href="details.directViewUrl" target="_blank" class="urlClick">{{details.directViewUrl}}</a></a-col></a-row>
      <a-row :gutter="24" v-if="details.recipients && details.recipients.length>0">
        <a-col :span="4">接收人</a-col>
        <a-col :span="20">
        <b>本次共发送信息给 {{details.recipients.length}}人:</b><br/><br/>
        {{details.recipients.map(i=>i.realName + '(' + i.phone.replace(/(\d{3})\d{4}(\d+)/, "$1****$2") + ')').join(',')}}
        </a-col>
      </a-row>
      <a-row :gutter="24" v-if="details.acceptingUnitIds && details.acceptingUnitIds.length>0">
        <a-col :span="4">接收人</a-col>
        <a-col :span="20">
          <div v-for="(item,index) in details.acceptingUnitIds" :key="index" class="table">
            <div style="width: 20%">
              {{item.recipienterName}}
            </div>
            <div style="width: 20%">
              {{item.recipienterPhone}}
            </div>
            <div style="width: 60%">
              {{item.receiveUnit}}
            </div>
          </div>
          <b>本次共发送信息给 {{details.acceptingUnitIds.length + details.peerRecipientIds.length}}人:</b><br/><br/>
          {{details.acceptingUnitIds.map(i=>i.recipienterName + '(' + i.recipienterPhone.replace(/(\d{3})\d{4}(\d+)/, "$1****$2") + ')').join(',').concat(details.peerRecipientIds.map(i=>i.recipienterName + '(' + i.recipienterPhone.replace(/(\d{3})\d{4}(\d+)/, "$1****$2") + ')').join(','))}}
        </a-col>
      </a-row>
      <a-row :gutter="24" v-if="details.attachments && details.attachments.length > 0"><a-col :span="4">附件内容</a-col>
@@ -51,6 +50,14 @@
          <a-button @click="viewFile(item)" type="link" v-for="(item,index) in details.attachments" :key="index"><a-icon type="paper-clip"/>{{item.attachementName}}</a-button>
        </a-col>
      </a-row>
      <a-row :gutter="24" v-if="showMeasure == true"><a-col :span="4">基础措施</a-col>
        <a-col :span="14" class="noBorder">
          <div v-for="(item,index) in measureDetail.baseMeasures" :key="index">
            {{index+1}}、{{item}}
          </div>
        </a-col>
      </a-row>
      <a-row :gutter="24" v-if="showMeasure == true"><a-col :span="4">响应反馈</a-col><a-col :span="14">{{measureDetail.responseMeasure}}</a-col></a-row>
    </div>
  </a-modal>
</template>
@@ -59,6 +66,7 @@
import {getReviewDetailByWorker} from "@/api/review";
import axios from "axios";
import Cookies from "js-cookie";
import {responseMeasure} from "@/api/new";
export default {
  name: 'msgDetailMod',
  data () {
@@ -66,11 +74,12 @@
      visible: false,
      confirmLoading: false,
      details: {},
      measureDetail: {},
      showMeasure: false,
      riskOptions: [
        {name: '地震',value: 1},
        {name: '洪涝',value: 2},
        {name: '气象',value: 3},
        {name: '泥石流',value: 4},
        {name: '地质灾害',value: 4},
        {name: '水旱',value: 5},
        {name: '森林草原火灾',value: 6}
      ],
@@ -93,11 +102,29 @@
    async getDetails(id){
      const t = this
      const res = await getReviewDetailByWorker(id)
      console.log(res,'res')
      if(res.data.code == 100){
        if(res.data.data){
          t.details = res.data.data
        }else{
          t.$message.error('查询信息详情失败')
        }
      }else{
        this.$message.error(res.data.msg)
      }
    },
    async getMeasures(id){
      const t = this
      const res = await responseMeasure({id:id})
      if(res.data.code == 100){
        const data = res.data.data
        if(data.baseMeasures && data.baseMeasures.length > 0){
          t.measureDetail = data
          t.showMeasure = true
        }else{
          t.measureDetail = {}
          t.showMeasure = false
        }
      }else{
        this.$message.error(res.data.msg)
@@ -113,10 +140,11 @@
          let blob = new Blob([res.data],{type: res.data.type})
          link.style.display = "none";
          link.href = URL.createObjectURL(blob); // 创建URL
          link.setAttribute("download", item.attachementName);
          document.body.appendChild(link);
          link.click();
          document.body.removeChild(link);
          window.open(link.href)
          // link.setAttribute("download", item.attachementName);
          // document.body.appendChild(link);
          // link.click();
          // document.body.removeChild(link);
        } else {
          this.$message.error('获取文件失败')
        }
@@ -188,4 +216,7 @@
    }
  }
}
.urlClick:hover{
  text-decoration: underline;
}
</style>