zhouwx
2025-11-14 ec9f12898d3fa6c57485c9f43af15203bb867639
src/views/work/qualityManage/productAndServe/finalInspecte/index.vue
@@ -29,10 +29,10 @@
    <!-- 表格数据 -->
    <el-table v-loading="loading" :data="dataList" :border="true">
      <el-table-column label="序号" type="index" align="center" width="80"/>
      <el-table-column label="文件名称" prop="templateName" header-align="center" align="left"/>
      <el-table-column label="文件名称" prop="fileName" header-align="center" align="left"/>
      <el-table-column label="文件" header-align="center" align="left">
        <template #default="scope">
          <el-link type="primary" @click="openFile(scope.row.filePath)">{{scope.row.templateName + '模板' + scope.row.format}}</el-link>
          <el-link type="primary" @click="openFile(scope.row.filePath)">{{scope.row.fileName  +'.'+ scope.row.format}}</el-link>
        </template>
      </el-table-column>
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
@@ -65,6 +65,7 @@
import useUserStore from "@/store/modules/user";
import {getStandardTemp,delStandardTemp} from "@/api/standardSys/standardSys";
import { renderAsync } from "docx-preview";
import {delInspection, getInspection} from "@/api/productAndServe";
const userStore = useUserStore()
const { proxy } = getCurrentInstance();
const loading = ref(false);
@@ -74,7 +75,7 @@
    pageNum: 1,
    pageSize: 10,
    companyId: null,
    templateType: 10
    type:2
  },
  total: 0,
  dataList: [],
@@ -107,14 +108,14 @@
      console.log('取消预览')
    });
    return
  }
  try {
    // 1. 获取文件
    const response = await fetch(import.meta.env.VITE_APP_BASE_API + '/' + path);
    const arrayBuffer = await response.arrayBuffer();
    // 2. 创建新窗口
    const win = window.open('', '_blank')
    win.document.write(`
  }else if(ext === 'docx'){
    try {
      // 1. 获取文件
      const response = await fetch(import.meta.env.VITE_APP_BASE_API + '/' + path);
      const arrayBuffer = await response.arrayBuffer();
      // 2. 创建新窗口
      const win = window.open('', '_blank')
      win.document.write(`
      <!DOCTYPE html>
      <html>
        <head>
@@ -129,25 +130,35 @@
        </body>
      </html>
    `);
    // 3. 渲染 DOCX
    await renderAsync(arrayBuffer, win.document.getElementById('container'));
      // 3. 渲染 DOCX
      await renderAsync(arrayBuffer, win.document.getElementById('container'));
  } catch (error) {
    console.error('预览失败:', error);
    alert(`预览失败: ${error.message}`);
    } catch (error) {
      console.error('预览失败:', error);
      alert(`预览失败: ${error.message}`);
    }
  }else {
    window.open(`${import.meta.env.VITE_APP_BASE_API}/${path}`, '_blank');
  }
}
const getList = async () => {
  // loading.value = true
  // const res = await getStandardTemp(data.queryParams)
  // if(res.code == 200){
  //   console.log(res.data,'data')
  //   data.dataList = res.data.list || []
  //   data.total = res.data.total
  // }else{
  //   ElMessage.warning(res.message)
  // }
  // loading.value = false
  loading.value = true
  const res = await getInspection(data.queryParams)
  if(res.code == 200){
    console.log(res.data,'data')
    data.dataList = res.data.list || []
    data.dataList = data.dataList.map(item => {
      return {
        ...item,
        format: item.filePath ? item.filePath.split('.').pop().toLowerCase():''
      }
    })
    data.total = res.data.total
  }else{
    ElMessage.warning(res.message)
  }
  loading.value = false
}
const getCompanyList = async ()=>{
@@ -178,7 +189,7 @@
    pageNum: 1,
    pageSize: 10,
    companyId: null,
    templateType: 10
    type:2
  }
  await getCompanyList()
  await getList()
@@ -193,7 +204,7 @@
        type: 'warning',
      })
      .then( async() => {
        const res = await delStandardTemp({standardizedTemplateId: val.id})
        const res = await delInspection(val.id)
        if(res.code == 200){
          ElMessage.success('数据删除成功')
          await getList()