对接标签审核员审批

This commit is contained in:
wangchengming 2025-07-09 10:05:03 +08:00
parent fbcdc31051
commit 3849536ba5
7 changed files with 940 additions and 436 deletions

View File

@ -291,16 +291,30 @@ export const dynamicRoutes = [
]
},
{
path: '/labelManage/adminApproval/approvalDetail',
path: '/labelManage/adminApprovalForm',
component: Layout,
hidden: true,
permissions: ['labelManage:adminApproval:approval'],
children: [
{
path: '',
path: ':Id(\\d+)?',
component: () => import('@/views/labelManage/adminApproval/approvalForm'),
name: 'adminApprovalForm',
meta: { title: '标签审核员审批', activeMenu: '/labelManage/adminApproval' }
}
]
},
{
path: '/labelManage/adminApprovalDetail',
component: Layout,
hidden: true,
permissions: ['labelManage:adminApproval:detail'],
children: [
{
path: ':Id(\\d+)?',
component: () => import('@/views/labelManage/adminApproval/approvalDetail'),
name: 'adminApprovalDetail',
meta: { title: '标签审核员审批', activeMenu: '/labelManage/adminApproval' }
meta: { title: '标签审核员审批详情', activeMenu: '/labelManage/adminApproval' }
}
]
},

View File

@ -13,10 +13,10 @@
<el-card>
<template #header>
<div class="card-header">
<span>申请标签ESC</span>
<span>申请标签{{ detailForm.labelName }}</span>
</div>
</template>
<el-form ref="ruleFormRef" :model="ruleForm" label-position="left">
<el-form :model="detailForm" label-position="left">
<!-- <div class="headerTitle">基本信息</div> -->
<div class="applyFormContainer">
<el-row class="myRow" :gutter="20">
@ -24,96 +24,115 @@
<el-row class="myRow" :gutter="20">
<el-col :span="8">
<el-form-item label="当前标签:" prop="targetQualification">
ES
{{ detailForm.sourceLabelName ? detailForm.sourceLabelName : '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="部门:" prop="departmentName">
XXXX部门
{{ detailForm.deptName ? detailForm.deptName : '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="科室:" prop="officeName">
XXX科室
{{ detailForm.sectionName ? detailForm.sectionName : '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="员工工号:" prop="employeeNumber">
NO.43242342
{{ detailForm.workNo ? detailForm.workNo : '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="员工姓名(中文):" prop="employeeChineseName">
管思成
{{ detailForm.userName ? detailForm.userName : '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="员工姓名(英文):" prop="employeeEnglishName">
GuangSiCheng
{{ detailForm.englishName ? detailForm.englishName : '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="属地:" prop="localityName">
XXX属地
{{ detailForm.dependencyName ? detailForm.dependencyName : '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="属地ESC:" prop="localityName">
赵文杰
{{ detailForm.escUserName ? detailForm.escUserName : '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="创建时间:" prop="employeeEnglishName">
2024-12-24 14:23
{{ detailForm.createTime ? detailForm.createTime : '-' }}
</el-form-item>
</el-col>
</el-row>
</el-col>
<el-col :span="4">
<el-form-item label="审批状态" label-position="top" class="myFormItemLable">
待审批
<template v-if="detailForm.state">
<el-text v-if="detailForm.state == 1 && detailForm.node == 0" type="info"
class="infoinfoText">待审核</el-text>
<el-text v-if="detailForm.state == 1 && detailForm.node == 1" type="info"
class="infoinfoText">待审核</el-text>
<el-text v-if="detailForm.state == 1 && detailForm.node == 2" type="info"
class="infoinfoText">待标签管理员审核</el-text>
<el-text v-if="detailForm.state == 2" type="success"
class="successText">通过</el-text>
<el-text v-if="detailForm.state == 9" type="danger"
class="dangerText">驳回</el-text>
</template>
<template v-else>-</template>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<el-form ref="ruleFormRef" :model="ruleForm" label-position="top">
<div class="headerTitle">申请信息</div>
<div class="applyFormContainer">
<el-table :data="approvalData" style="width: 100%; margin-bottom: 20px;">
<el-table-column prop="name" label="资质名称" />
<el-table-column prop="certificate" label="资质证书" align="center">
<template #default="scope">
<el-image v-if="scope.row.certificate"
style="width: 70px; height: 44px;line-height: 50px;"
:src="scope.row.certificate" fit="fill" />
</template>
</el-table-column>
<el-table-column prop="expired" label="是否过期">
<template #default="scope">
<el-text v-if="scope.row.expired == false && scope.row.certificate" type="success"
class="successText">正常</el-text>
<el-text v-if="scope.row.expired == true && scope.row.certificate" type="danger"
class="dangerText">过期</el-text>
</template>
</el-table-column>
<el-table-column prop="startTime" label="有效开始日期">
<template #default="scope">
<span v-if="scope.row.startTime && scope.row.certificate"> {{ scope.row.startTime
}}</span>
<div class="headerTitle" v-if="detailForm.labelId">申请信息</div>
<div class="applyFormContainer" v-if="detailForm.labelId">
<el-table :data="detailForm.userQualificationCertificateList" style="width: 100%">
<el-table-column prop="qualificationName" label="资质名称" width="100" />
<el-table-column prop="certificateUrl" label="资质证书" align="center">
<template #default="scope">
<el-image v-if="scope.row.certificateUrl"
style="width: 70px; height: 44px;line-height: 50px;"
:src="baseUrl + scope.row.certificateUrl" fit="fill" />
<span v-else>请在"高压资质培训信息"上传资质证书</span>
</template>
</el-table-column>
<el-table-column prop="status" label="是否过期" width="120">
<template #default="scope">
<el-text v-if="scope.row.status == 1 && scope.row.certificateUrl" type="success"
class="successText">正常</el-text>
<el-text v-else-if="scope.row.status == 2 && scope.row.certificateUrl" type="danger"
class="dangerText">过期</el-text>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column prop="startTime" label="有效开始日期" width="150">
<template #default="scope">
<span v-if="scope.row.startTime"> {{
moment(scope.row.startTime).format('YYYY-MM-DD')
}}</span>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column prop="expireTime" label="到期日期" width="130">
<template #default="scope">
<span v-if="scope.row.expireFlag == 0">长期</span>
<template v-else>
<span v-if="scope.row.expireTime"> {{
moment(scope.row.expireTime).format('YYYY-MM-DD')
}}</span>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column prop="expireTime" label="到期日期">
<template #default="scope">
<span v-if="scope.row.expireTime && scope.row.certificate"> {{ scope.row.expireTime
}}</span>
<span v-else>-</span>
</template>
</el-table-column>
</el-table>
</div>
</el-form>
</template>
</el-table-column>
</el-table>
</div>
<div class="headerTitle">审批记录</div>
<div class="applyFormContainer">
<el-table :data="tableData" style="width: 100%;margin-bottom: 20px;">
@ -122,167 +141,96 @@
{{ scope.$index + 1 }}
</template>
</el-table-column>
<el-table-column prop="name" label="节点名称" width="260" />
<el-table-column prop="approvalResult" label="审批意见" min-width="100" align="left" />
<el-table-column prop="approvalTime" label="审批时间" width="150">
<el-table-column prop="checkNode" label="节点名称" width="260">
<template #default="scope">
<span v-if="scope.row.approvalTime && scope.row.approvalTime"> {{ scope.row.approvalTime
}}</span>
<span v-if="scope.row.checkNode == 0 && scope.row.checkStatus == 1">提交申请</span>
<span v-if="scope.row.checkNode == 1 && scope.row.checkStatus == 1">提交申请</span>
<span v-if="scope.row.checkNode == 1 && scope.row.checkStatus == 2">ESC审核通过</span>
<span v-if="scope.row.checkNode == 1 && scope.row.checkStatus == 9">ESC驳回</span>
<span v-if="scope.row.checkNode == 2 && scope.row.checkStatus == 2">培训中心审核通过</span>
<span v-if="scope.row.checkNode == 2 && scope.row.checkStatus == 9">培训中心驳回</span>
<span v-if="scope.row.checkNode == 0 && scope.row.checkStatus == 3">用户重新申请</span>
<span v-if="scope.row.checkNode == 1 && scope.row.checkStatus == 3">ESC代替用户重新申请</span>
</template>
</el-table-column>
<el-table-column prop="remark" label="审批意见" min-width="100" align="left" />
<el-table-column prop="createTime" label="审批时间" width="230">
<template #default="scope">
<span v-if="scope.row.createTime"> {{ scope.row.createTime }}</span>
<span v-else>-</span>
</template>
</el-table-column>
</el-table>
</div>
<el-form ref="ruleFormRef" :model="ruleForm" label-position="top">
<div class="headerTitle">审批信息</div>
<div class="applyFormContainer">
<el-row class="myRow" :gutter="20">
<el-col :span="6">
<el-form-item label="审批结果" prop="urgency">
<el-radio-group v-model="ruleForm.urgency">
<el-radio value="2">驳回</el-radio>
<el-radio value="1">通过</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="18">
<el-form-item label="审批意见" prop="urgency">
<el-input v-model="textarea" style="width: 100%" :rows="5" type="textarea"
placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</el-card>
</div>
<div class="submitTool">
<el-button class="cancelApplyBtn" @click="handleCancel">取消</el-button>
<el-button class="submitApplyBtn" @click="handleSubmit">提交</el-button>
<el-button class="cancelApplyBtn" @click="handleCancel">返回</el-button>
</div>
</div>
</template>
<script setup>
import { reactive } from 'vue'
import { onMounted, reactive } from 'vue'
import { getBusUserLabelDetail, getBusUserrLabelRecord } from "@/api/labelManage/labelManage"
import moment from 'moment'
import { useRouter } from 'vue-router'
const router = useRouter()
const route = useRoute()
const levelList = ref([
{ title: '标签管理', path: '/labelManage' },
{ title: '标签审核员审批', path: '/labelManage/adminApproval' },
{ title: '审批', path: '/labelManage/adminApproval/approvalDetail' }
{ title: '审批详情', path: '/labelManage/adminApproval/approvalDetail' }
])
const { proxy } = getCurrentInstance()
const data = reactive({
ruleForm: {},
rules: {
targetQualification: [{ required: true, message: "目标资质不能为空", trigger: "change" }],
employeeNumber: [{ required: true, message: "员工工号不能为空", trigger: "blur" }],
employeeChineseName: [{ required: true, message: "员工姓名(中文)不能为空", trigger: "blur" }],
employeeEnglishName: [{ required: true, message: "员工姓名(英文)", trigger: "blur" }],
departmentName: [{ required: true, message: "部门不能为空", trigger: "change" }],
officeName: [{ required: true, message: "科室不能为空", trigger: "change" }],
localityName: [{ required: true, message: "属地不能为空", trigger: "change" }],
localityManager: [{ required: true, message: "属地ESC不能为空", trigger: "blur" }],
},
detailForm: {},
})
const tableData = [
{
name: '提交申请',
approvalResult: '-',
approvalTime: '2016-05-03'
},
{
name: 'ESC审批',
approvalResult: '同意',
approvalTime: '2016-05-08'
},
]
const { detailForm } = toRefs(data)
//
onMounted(() => {
const id = route.params && route.params.Id
if (id) {
console.log('接收id', id)
getDetailInfo(id)
getLabelApprovalRecord(id)
}
});
//
const getDetailInfo = (_id) => {
getBusUserLabelDetail(_id).then(res => {
if (res.code == 200) {
detailForm.value = res.data
console.log('标签详情', detailForm.value)
}
})
}
const baseUrl = import.meta.env.VITE_APP_BASE_API
//
const tableData = ref([])
//
const getLabelApprovalRecord = (_id) => {
var queryParamsRecord = {
pageIndex: 1,
pageSize: 50,
userLabelId: _id
}
getBusUserrLabelRecord(queryParamsRecord).then(res => {
console.log('审批记录', res.data.list)
if (res.code == 200) tableData.value = res.data.list
})
}
const approvalData = [
{
name: '电工证',
certificate: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
expired: false,
startTime: '2016-05-03',
expireTime: '2019-05-03',
},
{
name: 'SH',
certificate: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
expired: false,
startTime: '2016-05-03',
expireTime: '2019-05-03',
},
{
name: 'ES',
certificate: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
expired: false,
startTime: '2016-05-03',
expireTime: '2019-05-03',
},
{
name: 'ESC',
certificate: null,
expired: null,
startTime: '2016-05-03',
expireTime: '2019-05-03',
},
{
name: 'CESC',
certificate: null,
expired: null,
startTime: '2016-05-03',
expireTime: '2019-05-03',
},
{
name: '急救证',
certificate: null,
expired: null,
startTime: '2016-05-03',
expireTime: '2019-05-03',
},
{
name: 'LLP',
certificate: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
expired: true,
startTime: '2016-05-03',
expireTime: '2019-05-03',
},
]
const { ruleForm, rules } = toRefs(data)
const handleCancel = () => {
proxy.resetForm("ruleFormRef")
router.push({
path: '/labelManage/adminApproval'
})
}
const handleSubmit = () => {
proxy.$refs["ruleFormRef"].validate(valid => {
if (valid) {
router.push({
path: '/labelManage/adminApproval'
})
// if (form.value.roleId != undefined) {
// form.value.menuIds = getMenuAllCheckedKeys()
// updateRole(form.value).then(response => {
// proxy.$modal.msgSuccess("")
// open.value = false
// getList()
// })
// } else {
// form.value.menuIds = getMenuAllCheckedKeys()
// addRole(form.value).then(response => {
// proxy.$modal.msgSuccess("")
// open.value = false
// getList()
// })
// }
}
})
}
</script>
<style lang='scss'>
.app-main {
@ -377,6 +325,13 @@ const handleSubmit = () => {
padding: 6px 14px;
}
.infoinfoText {
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 18px;
color: #DD9200;
}
.successText {
font-family: Microsoft YaHei;
font-weight: 400;
@ -469,7 +424,7 @@ const handleSubmit = () => {
font-size: 16px !important;
text-align: left !important;
color: #787878 !important;
padding: 0 10px 0 60px;
padding: 0 10px 0 24px;
}
.myFormItemLable .el-form-item__content {
@ -478,7 +433,7 @@ const handleSubmit = () => {
font-size: 18px !important;
text-align: left !important;
color: #000000 !important;
padding-left: 60px;
padding-left: 24px;
}
.el-form-item--label-left .el-form-item__content {

View File

@ -0,0 +1,553 @@
<template>
<div class="app-page-container">
<el-breadcrumb class="app-breadcrumb" separator=">">
<transition-group name="breadcrumb">
<el-breadcrumb-item v-for="(item, index) in levelList" :key="item.path">
<span v-if="index == levelList.length - 1" class="link-redirect">{{
item.title }}</span>
<span v-else class="no-redirect">{{ item.title }}</span>
</el-breadcrumb-item>
</transition-group>
</el-breadcrumb>
<div class="rootContainer clearBoth">
<el-card>
<template #header>
<div class="card-header">
<span>申请标签{{ detailForm.labelName }}</span>
</div>
</template>
<el-form :model="detailForm" label-position="left">
<!-- <div class="headerTitle">基本信息</div> -->
<div class="applyFormContainer">
<el-row class="myRow" :gutter="20">
<el-col :span="20">
<el-row class="myRow" :gutter="20">
<el-col :span="8">
<el-form-item label="当前标签:" prop="targetQualification">
{{ detailForm.sourceLabelName ? detailForm.sourceLabelName : '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="部门:" prop="departmentName">
{{ detailForm.deptName ? detailForm.deptName : '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="科室:" prop="officeName">
{{ detailForm.sectionName ? detailForm.sectionName : '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="员工工号:" prop="employeeNumber">
{{ detailForm.workNo ? detailForm.workNo : '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="员工姓名(中文):" prop="employeeChineseName">
{{ detailForm.userName ? detailForm.userName : '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="员工姓名(英文):" prop="employeeEnglishName">
{{ detailForm.englishName ? detailForm.englishName : '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="属地:" prop="localityName">
{{ detailForm.dependencyName ? detailForm.dependencyName : '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="属地ESC:" prop="localityName">
{{ detailForm.escUserName ? detailForm.escUserName : '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="创建时间:" prop="employeeEnglishName">
{{ detailForm.createTime ? detailForm.createTime : '-' }}
</el-form-item>
</el-col>
</el-row>
</el-col>
<el-col :span="4">
<el-form-item label="审批状态" label-position="top" class="myFormItemLable">
<template v-if="detailForm.state">
<el-text v-if="detailForm.state == 1 && detailForm.node == 0" type="info"
class="infoinfoText">待审核</el-text>
<el-text v-if="detailForm.state == 1 && detailForm.node == 1" type="info"
class="infoinfoText">待审核</el-text>
<el-text v-if="detailForm.state == 1 && detailForm.node == 2" type="info"
class="infoinfoText">待标签管理员审核</el-text>
<el-text v-if="detailForm.state == 2" type="success"
class="successText">通过</el-text>
<el-text v-if="detailForm.state == 9" type="danger"
class="dangerText">驳回</el-text>
</template>
<template v-else>-</template>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<div class="headerTitle" v-if="detailForm.labelId">申请信息</div>
<div class="applyFormContainer" v-if="detailForm.labelId">
<el-table :data="detailForm.userQualificationCertificateList" style="width: 100%">
<el-table-column prop="qualificationName" label="资质名称" width="100" />
<el-table-column prop="certificateUrl" label="资质证书" align="center">
<template #default="scope">
<el-image v-if="scope.row.certificateUrl"
style="width: 70px; height: 44px;line-height: 50px;"
:src="baseUrl + scope.row.certificateUrl" fit="fill" />
<span v-else>请在"高压资质培训信息"上传资质证书</span>
</template>
</el-table-column>
<el-table-column prop="status" label="是否过期" width="120">
<template #default="scope">
<el-text v-if="scope.row.status == 1 && scope.row.certificateUrl" type="success"
class="successText">正常</el-text>
<el-text v-else-if="scope.row.status == 2 && scope.row.certificateUrl" type="danger"
class="dangerText">过期</el-text>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column prop="startTime" label="有效开始日期" width="150">
<template #default="scope">
<span v-if="scope.row.startTime"> {{
moment(scope.row.startTime).format('YYYY-MM-DD')
}}</span>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column prop="expireTime" label="到期日期" width="130">
<template #default="scope">
<span v-if="scope.row.expireFlag == 0">长期</span>
<template v-else>
<span v-if="scope.row.expireTime"> {{
moment(scope.row.expireTime).format('YYYY-MM-DD')
}}</span>
<span v-else>-</span>
</template>
</template>
</el-table-column>
</el-table>
</div>
<div class="headerTitle">审批记录</div>
<div class="applyFormContainer">
<el-table :data="tableData" style="width: 100%;margin-bottom: 20px;">
<el-table-column label="序号" width="160">
<template #default="scope">
{{ scope.$index + 1 }}
</template>
</el-table-column>
<el-table-column prop="checkNode" label="节点名称" width="260">
<template #default="scope">
<span v-if="scope.row.checkNode == 0 && scope.row.checkStatus == 1">提交申请</span>
<span v-if="scope.row.checkNode == 1 && scope.row.checkStatus == 1">提交申请</span>
<span v-if="scope.row.checkNode == 1 && scope.row.checkStatus == 2">ESC审核通过</span>
<span v-if="scope.row.checkNode == 1 && scope.row.checkStatus == 9">ESC驳回</span>
<span v-if="scope.row.checkNode == 2 && scope.row.checkStatus == 2">培训中心审核通过</span>
<span v-if="scope.row.checkNode == 2 && scope.row.checkStatus == 9">培训中心驳回</span>
<span v-if="scope.row.checkNode == 0 && scope.row.checkStatus == 3">用户重新申请</span>
<span v-if="scope.row.checkNode == 1 && scope.row.checkStatus == 3">ESC代替用户重新申请</span>
</template>
</el-table-column>
<el-table-column prop="remark" label="审批意见" min-width="100" align="left" />
<el-table-column prop="createTime" label="审批时间" width="230">
<template #default="scope">
<span v-if="scope.row.createTime"> {{ scope.row.createTime }}</span>
<span v-else>-</span>
</template>
</el-table-column>
</el-table>
</div>
<el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" label-position="top">
<div class="headerTitle">审批信息</div>
<div class="applyFormContainer">
<el-row class="myRow" :gutter="20">
<el-col :span="6">
<el-form-item label="审批结果" prop="state">
<el-radio-group v-model="ruleForm.state" @change="handleApplyStateChange">
<el-radio value="9">驳回</el-radio>
<el-radio value="2">通过</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="18">
<el-form-item label="审批意见" prop="remark">
<el-input v-model="ruleForm.remark" style="width: 100%" :rows="5" type="textarea"
placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</el-card>
</div>
<div class="submitTool">
<el-button class="cancelApplyBtn" @click="handleCancel">取消</el-button>
<el-button class="submitApplyBtn" @click="handleSubmit">提交</el-button>
</div>
</div>
</template>
<script setup>
import { onMounted, reactive } from 'vue'
import { getBusUserLabelDetail, getBusUserrLabelRecord, updateStatusBusUserLabel } from "@/api/labelManage/labelManage"
import moment from 'moment'
import { useRouter } from 'vue-router'
const router = useRouter()
const route = useRoute()
const levelList = ref([
{ title: '标签管理', path: '/labelManage' },
{ title: '标签审核员审批', path: '/labelManage/adminApproval' },
{ title: '审批', path: '/labelManage/adminApproval/approvalDetail' }
])
const { proxy } = getCurrentInstance()
const data = reactive({
detailForm: {},
ruleForm: {
state: '',
remark: ''
},
rules: {
state: [{ required: true, message: "请选择审批结果", trigger: "change" }],
remark: [{ required: true, message: "审批意见不能为空", trigger: "blur" }]
},
})
const { ruleForm, detailForm, rules } = toRefs(data)
//
onMounted(() => {
const id = route.params && route.params.Id
if (id) {
console.log('接收id', id)
ruleForm.value.id = id
getDetailInfo(id)
getLabelApprovalRecord(id)
} else {
ruleForm.value.id = null
}
});
//
const getDetailInfo = (_id) => {
getBusUserLabelDetail(_id).then(res => {
if (res.code == 200) {
detailForm.value = res.data
console.log('标签详情', detailForm.value)
}
})
}
const baseUrl = import.meta.env.VITE_APP_BASE_API
//
const tableData = ref([])
//
const getLabelApprovalRecord = (_id) => {
var queryParamsRecord = {
pageIndex: 1,
pageSize: 50,
userLabelId: _id
}
getBusUserrLabelRecord(queryParamsRecord).then(res => {
console.log('审批记录', res.data.list)
if (res.code == 200) tableData.value = res.data.list
})
}
//
const handleApplyStateChange = (value) => {
if (value == 2) ruleForm.value.remark = '同意'
if (value == 9) ruleForm.value.remark = ''
}
const handleCancel = () => {
proxy.resetForm("ruleFormRef")
router.push({
path: '/labelManage/adminApproval'
})
}
const handleSubmit = () => {
proxy.$refs["ruleFormRef"].validate(valid => {
if (valid) {
ruleForm.value.node = 2
updateStatusBusUserLabel(ruleForm.value).then(res => {
if (res.code == 200) {
router.push({
path: '/labelManage/adminApproval'
})
} else {
proxy.$modal.msgSuccess(res.msg)
}
})
}
})
}
</script>
<style lang='scss'>
.app-main {
height: 100vh;
width: 100%;
position: relative;
overflow: hidden;
background-color: #F8F8F8;
}
.app-breadcrumb.el-breadcrumb {
width: 1200px;
margin: 0 auto;
height: 44px;
line-height: 44px;
font-size: 18px;
background: #f8f8f8;
.el-breadcrumb__item {
.el-breadcrumb__separator {
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 18px;
color: #000000 !important;
margin: 0 9px;
}
}
.no-redirect {
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 18px;
color: #000000;
cursor: text;
}
.link-redirect {
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 18px;
color: #0090FF;
cursor: text;
text-decoration: underline;
text-underline-offset: 4px;
}
}
.clearBoth {
clear: both;
}
.rootContainer {
width: 1200px;
margin: 0 auto;
height: calc(100vh - 216px);
overflow-y: auto;
overflow-x: hidden;
background: #ffffff;
}
.el-card {
border: none;
}
.el-card__header {
min-height: 50px;
font-family: Microsoft YaHei;
font-weight: 700;
font-size: 20px;
text-align: left;
color: #000000;
border-bottom: 1px solid #DCDCDC;
box-sizing: border-box;
padding: 10px 20px 17px 20px;
}
.el-card__body {
padding: 0px 20px 0 20px !important;
}
.el-card.is-always-shadow {
box-shadow: none;
}
.headerTitle {
font-family: Microsoft YaHei;
font-weight: 700;
font-size: 18px;
text-align: left;
color: #000000;
background: #e9e9e9;
padding: 6px 14px;
}
.infoinfoText {
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 18px;
color: #DD9200;
}
.successText {
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 18px;
color: #00B32A;
}
.dangerText {
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 18px;
color: #E13434;
}
.applyFormContainer {
padding-top: 20px;
overflow: hidden;
}
.submitTool {
width: 100%;
height: 76px;
position: absolute;
top: calc(100% - 76px);
background: #ffffff;
box-shadow: 1px 2px 10px 0 #93939333;
text-align: center;
line-height: 76px;
}
.cancelApplyBtn {
width: 100px;
height: 36px;
border-radius: 4px 4px 4px 4px;
background: #ea9f0e;
font-family: Microsoft YaHei;
font-weight: 700;
font-size: 16px;
text-align: center;
color: #FFFFFF;
}
.cancelApplyBtn:hover {
background: #ea9f0e;
color: #FFFFFF;
}
.submitApplyBtn {
width: 100px;
height: 36px;
border-radius: 4px 4px 4px 4px;
background: #4276d1;
font-family: Microsoft YaHei;
font-weight: 700;
font-size: 16px;
text-align: center;
color: #FFFFFF;
}
.submitApplyBtn:hover {
background: #4276d1;
color: #FFFFFF;
}
.myRow {
margin-left: 0 !important;
margin-right: 0 !important;
}
.el-form-item--default {
margin-bottom: 20px !important;
}
.el-form-item--label-left .el-form-item__label {
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 16px;
text-align: left;
color: #787878;
padding: 0 10px 0 0;
}
.myFormItemLable {
padding-top: 22px;
}
.myFormItemLable .el-form-item__label {
font-family: Microsoft YaHei !important;
font-weight: 400 !important;
font-size: 16px !important;
text-align: left !important;
color: #787878 !important;
padding: 0 10px 0 24px;
}
.myFormItemLable .el-form-item__content {
font-family: Arial !important;
font-weight: 400 !important;
font-size: 18px !important;
text-align: left !important;
color: #000000 !important;
padding-left: 24px;
}
.el-form-item--label-left .el-form-item__content {
font-family: Arial;
font-weight: 400;
font-size: 18px;
text-align: left;
color: #000000;
}
.el-form-item--label-top .el-form-item__label {
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 18px;
text-align: left;
color: #666666;
}
.el-form-item--label-top .el-form-item__content {
font-family: Arial;
font-weight: 400;
font-size: 18px;
text-align: left;
color: #000000;
}
.el-form-item--label-top .el-textarea__inner {
font-family: Arial;
font-weight: 400;
font-size: 18px;
color: #000000;
}
.el-input__inner {
font-weight: 400;
font-size: 18px;
text-align: left;
color: #000000;
}
.el-select__wrapper {
font-weight: 400;
font-size: 18px;
text-align: left;
color: #000000;
}
.el-form-item__error {
font-size: 16px;
}
.el-radio__inner {
width: 16px !important;
height: 16px !important;
}
.el-radio__label {
font-weight: 400;
font-size: 18px;
text-align: left;
color: #000000;
}
</style>

View File

@ -2,28 +2,33 @@
<div class="app-page-container">
<breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
<div class="app-container clearBoth">
<el-form :model="queryParams" ref="queryRef" :inline="true" >
<el-form :model="queryParams" ref="queryRef" :inline="true">
<el-row class="myRow">
<el-col :span="20">
<el-form-item label="申请日期" prop="userName">
<el-date-picker v-model="rangeTime" type="daterange" range-separator="~" :clearable="false"
style="width: 250px" start-placeholder="开始日期" end-placeholder="结束日期" />
<el-form-item label="申请日期">
<el-date-picker v-model="dateRange" type="daterange" range-separator="~" :clearable="false"
format="YYYY-MM-DD" value-format="YYYY-MM-DD" style="width: 250px"
@change="handleDateChange" start-placeholder="开始日期" end-placeholder="结束日期" />
</el-form-item>
<el-form-item label="批准状态" prop="deptId">
<el-select v-model="queryParams.deptId" placeholder="请选择" clearable style="width: 160px">
<el-option label="Zone one" value="shanghai" />
<el-option label="Zone two" value="beijing" />
<el-form-item label="批准状态">
<el-select v-model="queryParams.state" placeholder="请选择" clearable style="width: 160px">
<el-option label="待审核" :value="1" />
<el-option label="通过" :value="2" />
<el-option label="驳回" :value="9" />
</el-select>
</el-form-item>
<el-form-item label="员工姓名" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入员工姓名" clearable
style="width: 160px" @keyup.enter="handleQuery" />
<el-select v-model="queryParams.userId" filterable placeholder="请选择员工" style="width: 160px"
clearable>
<el-option v-for="item in allUsers" :key="item.userId"
:label="`${item.nickName}${item.dept?.deptName || '无部门'}`" :value="item.userId" />
</el-select>
</el-form-item>
<el-form-item style="margin-right: 10px;">
<el-button v-if="!unfoldFlag" type="text" class="foladText" @click="handleFlod">展开
<el-button v-if="!unfoldFlag" text class="foladText" @click="handleFlod">展开
<svg-icon icon-class="unfold" />
</el-button>
<el-button v-else type="text" class="foladText" @click="handleFlod">折叠
<el-button v-else text class="foladText" @click="handleFlod">折叠
<svg-icon icon-class="packUp" />
</el-button>
</el-form-item>
@ -35,201 +40,178 @@
</el-row>
<el-row class="myRow" v-show="unfoldFlag">
<el-col :span="20">
<el-form-item label="部门" prop="qualification">
<el-select v-model="queryParams.qualification" placeholder="请选择部门" clearable
style="width: 160px">
<el-option label="Zone one" value="shanghai" />
<el-option label="Zone two" value="beijing" />
</el-select>
<el-form-item label="部门">
<el-tree-select v-model="queryParams.deptId" :data="enabledDeptOptions" clearable
:props="{ value: 'id', label: 'label', children: 'children' }" value-key="id"
placeholder="请选择部门" check-strictly style="width: 160px" />
</el-form-item>
<el-form-item label="申请标签" prop="qualification">
<el-select v-model="queryParams.qualification" placeholder="请选择" clearable
<el-form-item label="申请标签">
<el-select v-model="queryParams.labelId" placeholder="请选择申请标签" clearable
style="width: 160px">
<el-option label="Zone one" value="shanghai" />
<el-option label="Zone two" value="beijing" />
<el-option v-for="dict in bus_label" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="borderLine"></div>
<el-table :data="tableData" height="calc(100% - 176px)" style="width: 100%">
<el-table v-loading="loading" :data="tableData" height="calc(100% - 176px)" style="width: 100%">
<el-table-column label="序号" width="60">
<template #default="scope">
{{ scope.$index + 1 }}
</template>
</el-table-column>
<el-table-column prop="localityName" label="属地" />
<el-table-column prop="departmentName" label="部门" />
<el-table-column prop="officeName" label="科室" />
<el-table-column prop="jobNumber" label="工号" />
<el-table-column prop="name" label="员工姓名" />
<el-table-column prop="curQualification" label="当前标签" />
<el-table-column prop="objectiveQualification" label="申请标签" />
<el-table-column prop="status" label="状态" width="120">
<el-table-column prop="dependencyName" label="属地" width="180" :show-overflow-tooltip="true" />
<el-table-column prop="deptName" label="部门" width="180" :show-overflow-tooltip="true" />
<el-table-column prop="sectionName" label="科室" width="180" :show-overflow-tooltip="true" />
<el-table-column prop="workNo" label="工号" width="130" />
<el-table-column prop="userName" label="员工姓名" width="130" />
<el-table-column prop="sourceLabelId" label="当前标签" width="130" />
<el-table-column prop="labelId" label="申请标签" width="130" />
<el-table-column prop="status" label="状态" width="180">
<template #default="scope">
<el-text v-if="scope.row.status == 0" type="info" class="infoinfoText">待审核</el-text>
<el-text v-if="scope.row.status == 1" type="success" class="successText">通过</el-text>
<el-text v-if="scope.row.status == 2" type="danger" class="dangerText">驳回</el-text>
<el-text v-if="scope.row.state == 1 && scope.row.node == 0" type="info"
class="infoinfoText">待审核</el-text>
<el-text v-if="scope.row.state == 1 && scope.row.node == 1" type="info"
class="infoinfoText">待审核</el-text>
<el-text v-if="scope.row.state == 1 && scope.row.node == 2" type="info"
class="infoinfoText">待标签管理员审核</el-text>
<el-text v-if="scope.row.state == 2" type="success" class="successText">通过</el-text>
<el-text v-if="scope.row.state == 9" type="danger" class="dangerText">驳回</el-text>
</template>
</el-table-column>
<el-table-column label="操作" width="150">
<el-table-column label="操作" fixed="right" align="center" width="100">
<template #default="scope">
<el-button type="primary" text class="replayTextBtn" v-if="scope.row.status != 0"
@click="handleView">查看</el-button>
<el-button type="primary" v-if="scope.row.status == 0" text class="replayTextBtn"
@click="handleApproval">审批</el-button>
<el-button type="primary" v-if="scope.row.state == 1 && scope.row.node == 2" text
class="replayTextBtn" @click="handleApproval(scope.row)">审批</el-button>
<el-button type="primary" text class="replayTextBtn" v-else
@click="handleView(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageIndex"
v-model:limit="queryParams.pageSize" @pagination="getBusUserLabelPageList" />
</div>
</div>
</template>
<script setup>
import { ref } from 'vue'
import { onMounted, ref } from 'vue'
import { useRouter } from 'vue-router'
import Breadcrumb from '@/components/Breadcrumb'
import Breadcrumb from '@/components/Breadcrumb'
import { deptTreeSelect, listUser } from "@/api/system/user"
import { getUserLabelPageList } from "@/api/labelManage/labelManage"
const { proxy } = getCurrentInstance()
const { bus_label } = proxy.useDict("bus_label")
const router = useRouter()
const total = ref(16)
const unfoldFlag = ref(false)
const rangeTime = ref([])
const dateRange = ref([])
const queryParams = ref({
pageNum: 1,
pageIndex: 1,
pageSize: 10,
userName: undefined,
node: 2,
userId: undefined,
deptId: undefined,
qualification: undefined
labelId: undefined,
state: undefined,
startTime: undefined,
endTime: undefined
})
const tableData = [
{
localityName: 'XXX属地',
departmentName: 'XXX部门',
officeName: 'XXX科室',
jobNumber: '3523213',
name: '赵丽娟',
curQualification: '-',
objectiveQualification: 'SH',
status: 0
},
{
localityName: 'XXX属地',
departmentName: 'XXX部门',
officeName: 'XXX科室',
jobNumber: '3523213',
name: '赵丽娟',
curQualification: '-',
objectiveQualification: 'SH',
status: 1
},
{
localityName: 'XXX属地',
departmentName: 'XXX部门',
officeName: 'XXX科室',
jobNumber: '3523213',
name: '赵丽娟',
curQualification: '-',
objectiveQualification: 'SH',
status: 2
},
{
localityName: 'XXX属地',
departmentName: 'XXX部门',
officeName: 'XXX科室',
jobNumber: '3523213',
name: '赵丽娟',
curQualification: '-',
objectiveQualification: 'SH',
status: 0
},
{
localityName: 'XXX属地',
departmentName: 'XXX部门',
officeName: 'XXX科室',
jobNumber: '3523213',
name: '赵丽娟',
curQualification: '-',
objectiveQualification: 'SH',
status: 0
},
{
localityName: 'XXX属地',
departmentName: 'XXX部门',
officeName: 'XXX科室',
jobNumber: '3523213',
name: '赵丽娟',
curQualification: '-',
objectiveQualification: 'SH',
status: 0
},
{
localityName: 'XXX属地',
departmentName: 'XXX部门',
officeName: 'XXX科室',
jobNumber: '3523213',
name: '赵丽娟',
curQualification: '-',
objectiveQualification: 'SH',
status: 0
},
{
localityName: 'XXX属地',
departmentName: 'XXX部门',
officeName: 'XXX科室',
jobNumber: '3523213',
name: '赵丽娟',
curQualification: '-',
objectiveQualification: 'SH',
status: 0
},
{
localityName: 'XXX属地',
departmentName: 'XXX部门',
officeName: 'XXX科室',
jobNumber: '3523213',
name: '赵丽娟',
curQualification: '-',
objectiveQualification: 'SH',
status: 0
},
{
localityName: 'XXX属地',
departmentName: 'XXX部门',
officeName: 'XXX科室',
jobNumber: '3523213',
name: '赵丽娟',
curQualification: '-',
objectiveQualification: 'SH',
status: 0
},
]
const loading = ref(true)
const total = ref(0)
const tableData = ref([])
const handleFlod = () => {
unfoldFlag.value = !unfoldFlag.value
}
//
onMounted(() => {
getAllUser();
getDeptTree();
getBusUserLabelPageList();
});
//
const allUsers = ref([])
//
const getAllUser = () => {
listUser({
status: '0',
pageNum: 1,
pageSize: 5000
}).then(res => {
allUsers.value = res.rows
})
}
//
const enabledDeptOptions = ref(undefined)
//
const getDeptTree = () => {
deptTreeSelect().then(res => {
enabledDeptOptions.value = filterDisabledDept(JSON.parse(JSON.stringify(res.data)))
})
}
/** 过滤禁用的部门 */
const filterDisabledDept = (deptList) => {
return deptList.filter(dept => {
if (dept.disabled) {
return false
}
if (dept.children && dept.children.length) {
dept.children = filterDisabledDept(dept.children)
}
return true
})
}
const getBusUserLabelPageList = () => {
loading.value = true
console.log('queryParams.value', queryParams.value)
getUserLabelPageList(queryParams.value).then(res => {
if (res.code == 200) {
tableData.value = res.data.list
total.value = res.data.total
}
loading.value = false
}).catch(() => {
loading.value = false
})
}
//
const handleDateChange = (val) => {
console.log('选择的日期范围:', val);
dateRange.value = val
if (val.length > 0) {
queryParams.value.startTime = val[0]
queryParams.value.endTime = val[1]
}
};
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.value.pageNum = 1
getList()
queryParams.value.pageIndex = 1
getBusUserLabelPageList()
}
/** 重置按钮操作 */
const resetQuery = () => {
dateRange.value = []
proxy.resetForm("queryRef")
queryParams.value.userId = undefined
queryParams.value.deptId = undefined
proxy.$refs.deptTreeRef.setCurrentKey(null)
queryParams.value.state = undefined
queryParams.value.labelId = undefined
queryParams.value.startTime = undefined
queryParams.value.endTime = undefined
proxy.resetForm("queryRef")
handleQuery()
}
const getList = () => {
}
const handleView = () => {
router.push('/labelManage/adminApproval/approvalDetail')
const handleView = (record) => {
router.push('/labelManage/adminApprovalDetail/' + record.id)
}
const handleApproval = () => {
router.push('/labelManage/adminApproval/approvalDetail')
const handleApproval = (record) => {
console.log('fsafasf', record)
router.push('/labelManage/adminApprovalForm/' + record.id)
}
</script>
<style lang='scss'>
@ -256,7 +238,7 @@ const handleApproval = () => {
margin-left: 0 !important;
margin-right: 0 !important;
}
.qualificationApplyBtn {
// width: 84px !important;
height: 32px;

View File

@ -16,7 +16,7 @@
<span>申请标签{{ detailForm.labelName }}</span>
</div>
</template>
<el-form ref="ruleFormRef" :model="ruleForm" label-position="left">
<el-form :model="detailForm" label-position="left">
<!-- <div class="headerTitle">基本信息</div> -->
<div class="applyFormContainer">
<el-row class="myRow" :gutter="20">
@ -89,50 +89,50 @@
</el-row>
</div>
</el-form>
<el-form ref="ruleFormRef" :model="ruleForm" label-position="top">
<div class="headerTitle" v-if="detailForm.labelId">申请信息</div>
<div class="applyFormContainer" v-if="detailForm.labelId">
<el-table :data="detailForm.userQualificationCertificateList" style="width: 100%">
<el-table-column prop="qualificationName" label="资质名称" width="100" />
<el-table-column prop="certificateUrl" label="资质证书" align="center">
<template #default="scope">
<el-image v-if="scope.row.certificateUrl"
style="width: 70px; height: 44px;line-height: 50px;"
:src="baseUrl + scope.row.certificateUrl" fit="fill" />
<span v-else>请在"高压资质培训信息"上传资质证书</span>
</template>
</el-table-column>
<el-table-column prop="status" label="是否过期" width="120">
<template #default="scope">
<el-text v-if="scope.row.status == 1 && scope.row.certificateUrl" type="success"
class="successText">正常</el-text>
<el-text v-else-if="scope.row.status == 2 && scope.row.certificateUrl" type="danger"
class="dangerText">过期</el-text>
<div class="headerTitle" v-if="detailForm.labelId">申请信息</div>
<div class="applyFormContainer" v-if="detailForm.labelId">
<el-table :data="detailForm.userQualificationCertificateList" style="width: 100%">
<el-table-column prop="qualificationName" label="资质名称" width="100" />
<el-table-column prop="certificateUrl" label="资质证书" align="center">
<template #default="scope">
<el-image v-if="scope.row.certificateUrl"
style="width: 70px; height: 44px;line-height: 50px;"
:src="baseUrl + scope.row.certificateUrl" fit="fill" />
<span v-else>请在"高压资质培训信息"上传资质证书</span>
</template>
</el-table-column>
<el-table-column prop="status" label="是否过期" width="120">
<template #default="scope">
<el-text v-if="scope.row.status == 1 && scope.row.certificateUrl" type="success"
class="successText">正常</el-text>
<el-text v-else-if="scope.row.status == 2 && scope.row.certificateUrl" type="danger"
class="dangerText">过期</el-text>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column prop="startTime" label="有效开始日期" width="150">
<template #default="scope">
<span v-if="scope.row.startTime"> {{
moment(scope.row.startTime).format('YYYY-MM-DD')
}}</span>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column prop="expireTime" label="到期日期" width="130">
<template #default="scope">
<span v-if="scope.row.expireFlag == 0">长期</span>
<template v-else>
<span v-if="scope.row.expireTime"> {{
moment(scope.row.expireTime).format('YYYY-MM-DD')
}}</span>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column prop="startTime" label="有效开始日期" width="150">
<template #default="scope">
<span v-if="scope.row.startTime"> {{
moment(scope.row.startTime).format('YYYY-MM-DD')
}}</span>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column prop="expireTime" label="到期日期" width="130">
<template #default="scope">
<span v-if="scope.row.expireFlag == 0">长期</span>
<template v-else>
<span v-if="scope.row.expireTime"> {{
moment(scope.row.expireTime).format('YYYY-MM-DD')
}}</span>
<span v-else>-</span>
</template>
</template>
</el-table-column>
</el-table>
</div>
</el-form>
</template>
</el-table-column>
</el-table>
</div>
<div class="headerTitle">审批记录</div>
<div class="applyFormContainer">
<el-table :data="tableData" style="width: 100%;margin-bottom: 20px;">
@ -161,12 +161,12 @@
</template>
</el-table-column>
</el-table>
</div>
</div>
</el-card>
</div>
<div class="submitTool">
<el-button class="cancelApplyBtn" @click="handleCancel">返回</el-button>
<el-button class="cancelApplyBtn" @click="handleCancel">返回</el-button>
</div>
</div>
@ -175,7 +175,9 @@
import { onMounted, reactive } from 'vue'
import { getBusUserLabelDetail, getBusUserrLabelRecord } from "@/api/labelManage/labelManage"
import moment from 'moment'
import { useRouter } from 'vue-router'
const router = useRouter()
const route = useRoute()
const levelList = ref([
{ title: '标签管理', path: '/labelManage' },
@ -184,7 +186,7 @@ const levelList = ref([
])
const { proxy } = getCurrentInstance()
const data = reactive({
detailForm: {},
detailForm: {},
})
const { detailForm } = toRefs(data)
@ -193,11 +195,8 @@ onMounted(() => {
const id = route.params && route.params.Id
if (id) {
console.log('接收id', id)
ruleForm.value.id = id
getDetailInfo(id)
getLabelApprovalRecord(id)
} else {
ruleForm.value.id = null
}
});

View File

@ -16,7 +16,7 @@
<span>申请标签{{ detailForm.labelName }}</span>
</div>
</template>
<el-form ref="ruleFormRef" :model="ruleForm" label-position="left">
<el-form :model="detailForm" label-position="left">
<!-- <div class="headerTitle">基本信息</div> -->
<div class="applyFormContainer">
<el-row class="myRow" :gutter="20">
@ -89,50 +89,49 @@
</el-row>
</div>
</el-form>
<el-form ref="ruleFormRef" :model="ruleForm" label-position="top">
<div class="headerTitle" v-if="detailForm.labelId">申请信息</div>
<div class="applyFormContainer" v-if="detailForm.labelId">
<el-table :data="detailForm.userQualificationCertificateList" style="width: 100%">
<el-table-column prop="qualificationName" label="资质名称" width="100" />
<el-table-column prop="certificateUrl" label="资质证书" align="center">
<template #default="scope">
<el-image v-if="scope.row.certificateUrl"
style="width: 70px; height: 44px;line-height: 50px;"
:src="baseUrl + scope.row.certificateUrl" fit="fill" />
<span v-else>请在"高压资质培训信息"上传资质证书</span>
</template>
</el-table-column>
<el-table-column prop="status" label="是否过期" width="120">
<template #default="scope">
<el-text v-if="scope.row.status == 1 && scope.row.certificateUrl" type="success"
class="successText">正常</el-text>
<el-text v-else-if="scope.row.status == 2 && scope.row.certificateUrl" type="danger"
class="dangerText">过期</el-text>
<div class="headerTitle" v-if="detailForm.labelId">申请信息</div>
<div class="applyFormContainer" v-if="detailForm.labelId">
<el-table :data="detailForm.userQualificationCertificateList" style="width: 100%">
<el-table-column prop="qualificationName" label="资质名称" width="100" />
<el-table-column prop="certificateUrl" label="资质证书" align="center">
<template #default="scope">
<el-image v-if="scope.row.certificateUrl"
style="width: 70px; height: 44px;line-height: 50px;"
:src="baseUrl + scope.row.certificateUrl" fit="fill" />
<span v-else>请在"高压资质培训信息"上传资质证书</span>
</template>
</el-table-column>
<el-table-column prop="status" label="是否过期" width="120">
<template #default="scope">
<el-text v-if="scope.row.status == 1 && scope.row.certificateUrl" type="success"
class="successText">正常</el-text>
<el-text v-else-if="scope.row.status == 2 && scope.row.certificateUrl" type="danger"
class="dangerText">过期</el-text>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column prop="startTime" label="有效开始日期" width="150">
<template #default="scope">
<span v-if="scope.row.startTime"> {{
moment(scope.row.startTime).format('YYYY-MM-DD')
}}</span>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column prop="expireTime" label="到期日期" width="130">
<template #default="scope">
<span v-if="scope.row.expireFlag == 0">长期</span>
<template v-else>
<span v-if="scope.row.expireTime"> {{
moment(scope.row.expireTime).format('YYYY-MM-DD')
}}</span>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column prop="startTime" label="有效开始日期" width="150">
<template #default="scope">
<span v-if="scope.row.startTime"> {{
moment(scope.row.startTime).format('YYYY-MM-DD')
}}</span>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column prop="expireTime" label="到期日期" width="130">
<template #default="scope">
<span v-if="scope.row.expireFlag == 0">长期</span>
<template v-else>
<span v-if="scope.row.expireTime"> {{
moment(scope.row.expireTime).format('YYYY-MM-DD')
}}</span>
<span v-else>-</span>
</template>
</template>
</el-table-column>
</el-table>
</div>
</el-form>
</template>
</el-table-column>
</el-table>
</div>
<div class="headerTitle">审批记录</div>
<div class="applyFormContainer">
<el-table :data="tableData" style="width: 100%;margin-bottom: 20px;">
@ -197,7 +196,9 @@
import { onMounted, reactive } from 'vue'
import { getBusUserLabelDetail, getBusUserrLabelRecord, updateStatusBusUserLabel } from "@/api/labelManage/labelManage"
import moment from 'moment'
import { useRouter } from 'vue-router'
const router = useRouter()
const route = useRoute()
const levelList = ref([
{ title: '标签管理', path: '/labelManage' },

View File

@ -207,7 +207,7 @@ const resetQuery = () => {
}
const handleView = (record) => {
router.push('/labelManage/labelEscApprovalForm/' + record.id)
router.push('/labelManage/labelEscApprovalDetail/' + record.id)
}
const handleApproval = (record) => {
console.log('fsafasf', record)