From 27a476e32c30c0d3a6319ff20c1e8586ad47d804 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期五, 12 十二月 2025 09:41:42 +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