From b609f77709c4646daf155341475ae14fc0c7943d Mon Sep 17 00:00:00 2001
From: 祖安之光 <11848914+light-of-zuan@user.noreply.gitee.com>
Date: 星期五, 27 六月 2025 13:25:30 +0800
Subject: [PATCH] 修改

---
 src/views/safetyReview/expertManage/checkProgress/index.vue |   70 +++++++++++++++++++++++++----------
 1 files changed, 50 insertions(+), 20 deletions(-)

diff --git a/src/views/safetyReview/expertManage/checkProgress/index.vue b/src/views/safetyReview/expertManage/checkProgress/index.vue
index b448ce7..3c457fd 100644
--- a/src/views/safetyReview/expertManage/checkProgress/index.vue
+++ b/src/views/safetyReview/expertManage/checkProgress/index.vue
@@ -1,19 +1,25 @@
 <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="请选择申请的业务处室"-->
+<!--            v-model="queryParams.deptId"-->
+<!--            :options="deptList"-->
+<!--            :props="{ expandTrigger: 'hover', value: 'deptId',label: 'deptName',checkStrictly: true,emitPath: false}"></el-cascader>-->
         <el-cascader
             clearable
-            placeholder="请选择申请的业务处室"
-            v-model="queryParams.deptId"
-            :options="deptList"
-            :props="{ expandTrigger: 'hover', value: 'deptId',label: 'deptName',checkStrictly: true,emitPath: false}"></el-cascader>
+            v-model="queryParams.domain"
+            :options="expertsType"
+            :props="{ expandTrigger: 'hover',value: 'classifyName',label: 'classifyName',emitPath: false }"
+            @change="professionChange"></el-cascader>
       </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="Search" @click="onSubmit(formRef)" v-preReClick>进度查询</el-button>
@@ -27,10 +33,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 +44,14 @@
 </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 {getExpertsList, getExpertTypes, queryApprove} from "@/api/form";
 import {listOutDept} from "@/api/system/dept";
-
 const { proxy } = getCurrentInstance();
-
+const router = useRouter()
 let validatePhone = (rule, value, callback)=>{
   if(value === ''){
     callback(new Error('请输入手机号'))
@@ -73,25 +79,24 @@
   queryParams: {
     idCard: '',
     phone: '',
-    deptId: null
+    domain: ''
   },
+  expertsType: [],
   formRules:{
-    idCard:[{ required: true, validator: verifyId, trigger: 'blur' }],
-    phone:[{ required: true, validator: validatePhone, trigger: 'blur' }],
-    deptId: [{ required: true, message: '请选择申请的业务处室', trigger: 'blur' }]
+
   },
   result: {}
 })
 
-const {queryParams,formRules,result} = toRefs(data)
+const {queryParams,expertsType,formRules,result} = toRefs(data)
 const deptList = ref([]);
 onMounted(()=>{
   getDepList()
 })
 
+
 const showProgress = ref(false)
 const formRef = ref()
-
 function getDepList() {
   listOutDept({}).then(response => {
     deptList.value = proxy.handleTree(response.data, "deptId",'parentId','children');
@@ -99,9 +104,23 @@
 }
 
 onMounted(()=>{
-
+  getExpertsType()
 })
 
+const getExpertsType = async ()=>{
+  const res = await getExpertTypes()
+  if(res.code == 200){
+    data.expertsType = res.data
+  }else{
+    ElMessage({
+      type: 'warning',
+      message: res.msg
+    })
+  }
+}
+const professionChange=(value)=> {
+  console.log(value,'val')
+}
 const onSubmit = async (formEl)=> {
   if (!formEl) return
   await formEl.validate(async (valid, fields) => {
@@ -120,12 +139,23 @@
   })
 }
 
+const downloadPdf=(info)=>{
+  if(info.state == 2){
+    const routePath = '/certPdf';
+    const resolvedRoute = router.resolve(routePath);
+    const queryString = new URLSearchParams(info).toString();
+    const fullPath = `${resolvedRoute.href}?${queryString}`;
+    window.open(fullPath, '_blank');
+  }else{
+    ElMessage.warning('下载聘书需等待评定通过')
+  }
+}
 
 const resetQuery = ()=>{
   data.queryParams = {
     idCard: '',
     phone: '',
-    deptId: null
+    domain: ''
   }
   showProgress.value = false
 }

--
Gitblit v1.9.2