马宇豪
2024-01-08 4ef6c36c631c3aa3916e0861fd211dec9b03231b
src/views/notCoalMine/nPeopleManage/index.vue
@@ -63,7 +63,7 @@
      <el-table-column label="最高学历" align="center" prop="highestEducation"/>
      <el-table-column label="作业证书" align="center" prop="certCount">
        <template #default="scope">
          <el-button v-if="scope.row.certCount>0" type="text">{{ scope.row.certCount }}</el-button>
          <el-button v-if="scope.row.certCount>0" type="text" @click="openCert(scope.row)">{{ scope.row.certCount }}</el-button>
          <span v-else>{{scope.row.certCount}}</span>
        </template>
      </el-table-column>
@@ -71,7 +71,8 @@
      <el-table-column label="违章次数" align="center" prop="violationCount"/>
      <el-table-column label="证件照片" align="center" prop="photoPath">
        <template #default="scope">
          <el-button type="text" @click="viewFile(scope.row.photoPath)">预览</el-button>
          <el-button type="text" v-if="scope.row.photoPath && scope.row.photoPath !==''" @click="viewFile(scope.row.photoPath)">预览</el-button>
          <span type="text" v-else>暂无</span>
        </template>
      </el-table-column>
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
@@ -99,6 +100,7 @@
      @pagination="getPage"
    />
    <peopleDialog ref="peopleDialog"></peopleDialog>
    <certDialog ref="certDialog" @closeDialog="resetQuery"></certDialog>
  </div>
</template>
@@ -107,11 +109,11 @@
import peopleDialog from "./components/peopleDialog";
import axios from "axios";
import {getToken} from "@/utils/auth";
import certDialog from "@/views/notCoalMine/nPeopleManage/components/certDialog"
export default {
  name: "nPeopleManage",
  dicts: ['sys_nation_code'],
  components: { peopleDialog },
  components: { peopleDialog, certDialog },
  data() {
    return {
      loading: false,
@@ -178,7 +180,11 @@
    },
    viewFile(file){
      const t = this
      axios.get(process.env.VUE_APP_BASE_API + file,{headers:{'Content-Type': 'application/json','Authorization': "Bearer " + getToken()},responseType: 'blob'}).then(res=>{
      if(file.substring(0, 1) !== '/'){
        t.$message.error('无效的图片地址')
        return
      }
      axios.get(process.env.VUE_APP_BASE_API + file,{headers:{'Content-Type': 'application/json','Authorization': "Bearer " + getToken()},responseType: 'blob',timeout: 3000}).then(res=>{
        if (res) {
          const link = document.createElement('a')
          let blob = new Blob([res.data],{type: res.data.type})
@@ -189,14 +195,18 @@
          t.$message.error('获取文件失败')
        }
      }).catch(function(err){
        if(err == 'Error: Network Error'){
          t.$message.error('获取文件失败')
        }
        if(err == 'Error: Request failed with status code 404'){
          t.$message.error('获取文件失败')
        }
        // if(err == 'Error: Network Error'){
        //   t.$message.error('获取文件失败')
        // }else if(err == 'Error: Request failed with status code 404'){
        //   t.$message.error('获取文件失败')
        // }else{
          t.$message.error(err)
        // }
      })
    }
    },
    openCert(data){
      this.$refs.certDialog.openDialog(data)
    },
  }
};
</script>