马宇豪
2024-11-26 75f6a814525dfd3b19e359a3dfa3de3e9226f32d
src/views/safetyReview/expertManage/checkProgress/index.vue
@@ -1,13 +1,13 @@
<template>
  <div class="form-container">
    <el-form :model="queryParams" size="default" ref="formRef" inline :rules="formRules" label-width="110px" >
      <el-form-item label="身份证号:" prop="idCard">
      <el-form-item label="身份证号:">
        <el-input v-model.trim="queryParams.idCard" placeholder="请输入身份证号"></el-input>
      </el-form-item>
      <el-form-item label="手机号:" prop="phone">
      <el-form-item label="手机号:">
        <el-input v-model.trim="queryParams.phone" placeholder="请输入申报时预留的手机号"></el-input>
      </el-form-item>
      <el-form-item label="业务处室:" prop="deptId">
      <el-form-item label="业务处室:">
        <el-cascader
            clearable
            placeholder="请选择申请的业务处室"
@@ -27,10 +27,10 @@
        <span v-if="result.state == 3">评定不符合</span>
        <span v-if="result.state == 2">评定通过</span>
      </button>
      <button :class="result.state == 4?'pro-btn-active':'pro-btn'">
      <button :class="result.state == 2?'pro-btn-active':'pro-btn'">
        专家入库
      </button>
      <button :class="result.state == 4?'pro-download-active':'pro-download'">
      <button :class="result.state == 2?'pro-download-active':'pro-download'" @click="downloadPdf(result)">
        专家证书下载
      </button>
    </div>
@@ -38,14 +38,15 @@
</template>
<script setup>
import {reactive, ref, toRefs, defineEmits, nextTick, onMounted} from 'vue'
import { useRouter } from 'vue-router'
import {ElMessage, ElMessageBox} from "element-plus"
import {verifyPhone, verifyIdCard} from "../../../../utils/validate"
import { getToken } from "@/utils/auth"
import {getExpertsList, queryApprove} from "@/api/form";
import {listOutDept} from "@/api/system/dept";
import CertificatePdf from './components/certificatePdf'
const { proxy } = getCurrentInstance();
const router = useRouter()
let validatePhone = (rule, value, callback)=>{
  if(value === ''){
    callback(new Error('请输入手机号'))
@@ -76,9 +77,7 @@
    deptId: null
  },
  formRules:{
    idCard:[{ required: true, validator: verifyId, trigger: 'blur' }],
    phone:[{ required: true, validator: validatePhone, trigger: 'blur' }],
    deptId: [{ required: true, message: '请选择申请的业务处室', trigger: 'blur' }]
  },
  result: {}
})
@@ -91,7 +90,6 @@
const showProgress = ref(false)
const formRef = ref()
function getDepList() {
  listOutDept({}).then(response => {
    deptList.value = proxy.handleTree(response.data, "deptId",'parentId','children');
@@ -120,6 +118,13 @@
  })
}
const downloadPdf=(info)=>{
  const routePath = '/certPdf';
  const resolvedRoute = router.resolve(routePath);
  const queryString = new URLSearchParams(info).toString();
  const fullPath = `${resolvedRoute.href}?${queryString}`;
  window.open(fullPath, '_blank');
}
const resetQuery = ()=>{
  data.queryParams = {