马宇豪
2023-06-21 7c906b4acf785180132f91db5d70c3a29fa85cd3
src/views/Admin/release.vue
@@ -36,7 +36,7 @@
     <!-- 表格实体部分-->
    <div class="table-cont">
      <a-table :columns="columns" :data-source="data" bordered :pagination="pagination">
      <a-table :columns="columns" :data-source="data" bordered :pagination="pagination" :rowKey="record=>record.id">
        <template #index="text,record,index">
          {{ index + 1 }}
        </template>
@@ -54,8 +54,11 @@
            {{ getLevelName(text) }}
          </a-tag>
        </template>
        <template #attachment="text">
          <a><b><a-icon type="paper-clip"/></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 #responseSituation="text">
          <a-tag :color="text === 3 ? 'red' :text === 2? 'green':text === 1?'orange':'blue'">
@@ -64,10 +67,10 @@
        </template>
        <template #operation="text, record, index">
          <a-button type="primary" @click="openList(record.id)">叫应列表</a-button>
          <a-button type="link" @click="openMod('view',record)">查看详情</a-button>
          <a-button type="link" @click="openDetails(record.id)">查看详情</a-button>
        </template>
      </a-table>
      <msg-edit-mod ref="msgEdit" @refresh="getData"></msg-edit-mod>
      <msg-detail-mod ref="msgDetail"></msg-detail-mod>
      <call-list-mod ref="callList" @refresh="getData"></call-list-mod>
    </div>
     <!-- 对话框 -->
@@ -80,9 +83,12 @@
</template>
<script>
import {getMsgRecord, getPublishRecord} from "@/api/list";
import msgEditMod from "@/views/Admin/components/msgEditMod";
import msgDetailMod from "@/views/Admin/components/msgDetailMod";
import callListMod from "@/views/Admin/components/callListMod";
import {getReviewDetailByWorker} from "@/api/review";
import axios from "axios";
import Cookies from "js-cookie";
import {getUserInfo} from "@/util/storage";
  const columns = [{
         title: '序号',
         dataIndex: 'index',
@@ -128,7 +134,7 @@
      {
         title: '附件',
         dataIndex: 'attachment',
         width: '6%',
         width: '15%',
         scopedSlots: {
            customRender: 'attachment'
         },
@@ -151,7 +157,7 @@
   ];
   export default {
    name: 'release',
    components: { msgEditMod, callListMod },
    components: { msgDetailMod, callListMod },
      data() {
         return {
        search:{
@@ -193,6 +199,11 @@
        ]
         }
      },
    mounted() {
      if(getUserInfo().role.id == 1){
        this.columns = this.columns.filter(i=>i.dataIndex !== 'operation')
      }
    },
    created() {
      const t = this
      t.getData()
@@ -214,19 +225,10 @@
        t.$refs.callList.openMod(id)
      },
      openMod(type,data){
      openDetails(id){
        const t = this
        getReviewDetailByWorker(data.id).then(res=>{
          if(res.data.code == 100){
            if(res.data.data){
              t.$refs.msgEdit.openMod(type,res.data.data)
            }else{
              t.$message.error('查询信息详情失败')
            }
          }else{
            this.$message.error(res.data.msg)
          }
        })
        t.$refs.msgDetail.getDetails(id)
        t.$refs.msgDetail.visible = true
      },
      onPageChange(page, pageSize) {
@@ -244,6 +246,25 @@
        }
      },
      viewFile(item){
        const t = this
        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
            link.setAttribute("download", item.attachmentName);
            document.body.appendChild(link);
            link.click();
            document.body.removeChild(link);
          } else {
            this.$message.error('获取文件失败')
          }
        })
      },
      timeOk(value) {
        console.log('onOk: ', value);
      },