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