添加高压安全检查界面
BIN
src/assets/images/iconDoc.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
src/assets/images/iconMove.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
src/assets/images/iconOther.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
src/assets/images/iconPdf.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
src/assets/images/iconPpt.png
Normal file
After Width: | Height: | Size: 6.3 KiB |
BIN
src/assets/images/iconTxt.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
src/assets/images/iconVideo.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
src/assets/images/iconXls.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
src/assets/images/iconZip.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
|
@ -334,20 +334,48 @@ export const dynamicRoutes = [
|
|||
]
|
||||
},
|
||||
{
|
||||
path: '/safetyReview/examinerTasks/addTaskForm',
|
||||
path: '/safetyReview/examinerTasksForm',
|
||||
component: Layout,
|
||||
hidden: true,
|
||||
permissions: ['safetyReview:examinerTasks:add'],
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
component: () => import('@/views/safetyReview/examinerTasks/addTaskForm'),
|
||||
name: 'addTaskForm',
|
||||
path: ':Id(\\d+)?',
|
||||
component: () => import('@/views/safetyReview/examinerTasks/taskForm'),
|
||||
name: 'examinerTasksForm',
|
||||
meta: { title: '审核员任务', activeMenu: '/safetyReview/examinerTasks' }
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '/safetyReview/examinerApprovalForm',
|
||||
component: Layout,
|
||||
hidden: true,
|
||||
permissions: ['safetyReview:examinerTasks:add'],
|
||||
children: [
|
||||
{
|
||||
path: ':Id(\\d+)?',
|
||||
component: () => import('@/views/safetyReview/examinerApproval/approvalForm'),
|
||||
name: 'examinerApprovalForm',
|
||||
meta: { title: '审核员审批', activeMenu: '/safetyReview/examinerApproval' }
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
path: '/safetyReview/escTaskForm',
|
||||
component: Layout,
|
||||
hidden: true,
|
||||
permissions: ['safetyReview:examinerTasks:add'],
|
||||
children: [
|
||||
{
|
||||
path: ':Id(\\d+)?',
|
||||
component: () => import('@/views/safetyReview/examinerEscTask/escTaskForm'),
|
||||
name: 'escTaskForm',
|
||||
meta: { title: 'ESC任务整改', activeMenu: '/safetyReview/examinerEscTask' }
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '/system/userApprovalForm',
|
||||
component: Layout,
|
||||
|
|
|
@ -13,126 +13,82 @@
|
|||
<el-card>
|
||||
<template #header>
|
||||
<div class="card-header">
|
||||
<span>申请标签:ESC</span>
|
||||
<span>审批</span>
|
||||
</div>
|
||||
</template>
|
||||
<el-form ref="ruleFormRef" :model="ruleForm" label-position="left">
|
||||
<!-- <div class="headerTitle">基本信息</div> -->
|
||||
<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">
|
||||
ES
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="部门:" prop="departmentName">
|
||||
XXXX部门
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="科室:" prop="officeName">
|
||||
XXX科室
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="员工工号:" prop="employeeNumber">
|
||||
NO.43242342
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="员工姓名(中文):" prop="employeeChineseName">
|
||||
管思成
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="员工姓名(英文):" prop="employeeEnglishName">
|
||||
GuangSiCheng
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="属地:" prop="localityName">
|
||||
XXX属地
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="属地ESC:" prop="localityName">
|
||||
赵文杰
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="创建时间:" prop="employeeEnglishName">
|
||||
2024-12-24 14:23
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="">
|
||||
问题描述问题描述问题问题描述问题描述问题描述问题描述问题问题描述问题描述问题描述问题描述问题问题描题问题描
|
||||
述问题描述问题描述。问题描述问题问题描述问题描述问题描述问题描述问题描述问题问题描题问题描述问题描述问题描
|
||||
述问题描述问题问题描述。
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row class="myRow" :gutter="20">
|
||||
<el-col :span="5">
|
||||
<el-form-item label="当前标签:" prop="targetQualification">
|
||||
一般偏差
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="部门:" prop="departmentName">
|
||||
XXXX部门
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="属地:" prop="officeName">
|
||||
XXX属地
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="审批状态" label-position="top" class="myFormItemLable">
|
||||
待审批
|
||||
<el-form-item label="状态:" prop="employeeNumber">
|
||||
待审核
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="创建时间:" prop="employeeEnglishName">
|
||||
2024-12-24 14:23
|
||||
</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="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>
|
||||
<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>
|
||||
<el-form-item label="附件:" prop="targetQualification">
|
||||
<template v-for="itemFile in fileList">
|
||||
<div class="fileContainer">
|
||||
<img v-if="isImageFile(itemFile.suffix)" :src="itemFile.certificate"
|
||||
class="avatar" />
|
||||
<img v-else-if="itemFile.suffix == 'doc' || itemFile.suffix == 'docx'"
|
||||
:src="iconDoc" class="avatar" />
|
||||
<img v-else-if="itemFile.suffix == 'xls' || itemFile.suffix == 'xlsx'"
|
||||
:src="iconXls" class="avatar" />
|
||||
<img v-else-if="itemFile.suffix == 'ppt' || itemFile.suffix == 'pptx'"
|
||||
:src="iconPpt" class="avatar" />
|
||||
<img v-else-if="itemFile.suffix == 'zip'" :src="iconZip" class="avatar" />
|
||||
<img v-else-if="itemFile.suffix == 'pdf'" :src="iconPdf" class="avatar" />
|
||||
<img v-else-if="itemFile.suffix == 'mp3'" :src="iconVideo" class="avatar" />
|
||||
<img v-else-if="itemFile.suffix == 'mp4'" :src="iconMove" class="avatar" />
|
||||
<img v-else-if="itemFile.suffix == 'txt'" :src="iconTxt" class="avatar" />
|
||||
<img v-else :src="iconOther" class="avatar" />
|
||||
<div class="fileNameLable">{{ itemFile.name }}</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-form-item>
|
||||
<el-form-item label="整改描述:" prop="targetQualification">
|
||||
问题描述问题描述问题问题描述问题描述问题描述问题描述问题问题描述问题描述问题描述问题描述问题问题描题
|
||||
问题描述问题描述问题描述问题描述问题问题描述问题描述问题描述问题描述问题描述问题问题描题问题描述问。
|
||||
</el-form-item>
|
||||
|
||||
</div>
|
||||
</el-form>
|
||||
<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="name" label="节点名称" width="260" />
|
||||
<el-table-column prop="approvalResult" label="审批意见" min-width="100" align="left" />
|
||||
<el-table-column prop="approvalTime" label="审批时间" width="150">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.approvalTime && scope.row.approvalTime"> {{ scope.row.approvalTime
|
||||
}}</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">
|
||||
|
@ -167,12 +123,21 @@
|
|||
<script setup>
|
||||
import { reactive } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import iconDoc from '@/assets/images/iconDoc.png'
|
||||
import iconOther from '@/assets/images/iconOther.png'
|
||||
import iconPdf from '@/assets/images/iconPdf.png'
|
||||
import iconVideo from '@/assets/images/iconVideo.png'
|
||||
import iconXls from '@/assets/images/iconXls.png'
|
||||
import iconZip from '@/assets/images/iconZip.png'
|
||||
import iconMove from '@/assets/images/iconMove.png'
|
||||
import iconTxt from '@/assets/images/iconTxt.png'
|
||||
import iconPpt from '@/assets/images/iconPpt.png'
|
||||
|
||||
const router = useRouter()
|
||||
const levelList = ref([
|
||||
{ title: '标签管理', path: '/labelManage' },
|
||||
{ title: '标签审核员审批', path: '/labelManage/adminApproval' },
|
||||
{ title: '审批', path: '/labelManage/adminApproval/approvalDetail' }
|
||||
{ title: '高压安全审查', path: '/safetyReview' },
|
||||
{ title: '审核员审批', path: '/safetyReview/examinerApproval' },
|
||||
{ title: '审批', path: '/safetyReview/examinerApproval/approvalForm' }
|
||||
])
|
||||
const { proxy } = getCurrentInstance()
|
||||
const data = reactive({
|
||||
|
@ -200,70 +165,74 @@ const tableData = [
|
|||
approvalTime: '2016-05-08'
|
||||
},
|
||||
]
|
||||
|
||||
const approvalData = [
|
||||
// 判断是否为图片文件
|
||||
const isImageFile = (suffix) => {
|
||||
return ['jpeg', 'jpg', 'png'].includes(suffix?.toLowerCase())
|
||||
}
|
||||
const fileList = [
|
||||
{
|
||||
name: '电工证',
|
||||
name: 'XXXXX文件',
|
||||
certificate: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
|
||||
expired: false,
|
||||
startTime: '2016-05-03',
|
||||
expireTime: '2019-05-03',
|
||||
suffix: 'png'
|
||||
},
|
||||
{
|
||||
name: 'SH',
|
||||
name: 'XXXXX文件',
|
||||
certificate: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
|
||||
expired: false,
|
||||
startTime: '2016-05-03',
|
||||
expireTime: '2019-05-03',
|
||||
suffix: 'pdf'
|
||||
},
|
||||
{
|
||||
name: 'ES',
|
||||
name: 'XXXXX文件',
|
||||
certificate: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
|
||||
expired: false,
|
||||
startTime: '2016-05-03',
|
||||
expireTime: '2019-05-03',
|
||||
suffix: 'ppt'
|
||||
},
|
||||
{
|
||||
name: 'ESC',
|
||||
name: 'XXXXX文件',
|
||||
certificate: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
|
||||
suffix: 'mp3'
|
||||
},
|
||||
{
|
||||
name: 'XXXXX文件',
|
||||
certificate: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
|
||||
suffix: 'mov'
|
||||
},
|
||||
{
|
||||
name: 'XXXXX文件XXXXX文件XXXXX文件',
|
||||
certificate: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
|
||||
suffix: 'json'
|
||||
},
|
||||
{
|
||||
name: 'XXXXX文件',
|
||||
certificate: null,
|
||||
expired: null,
|
||||
startTime: '2016-05-03',
|
||||
expireTime: '2019-05-03',
|
||||
suffix: 'xls'
|
||||
},
|
||||
{
|
||||
name: 'CESC',
|
||||
name: 'XXXXX文件',
|
||||
certificate: null,
|
||||
expired: null,
|
||||
startTime: '2016-05-03',
|
||||
expireTime: '2019-05-03',
|
||||
suffix: 'txt'
|
||||
},
|
||||
{
|
||||
name: '急救证',
|
||||
name: 'XXXXX文件',
|
||||
certificate: null,
|
||||
expired: null,
|
||||
startTime: '2016-05-03',
|
||||
expireTime: '2019-05-03',
|
||||
suffix: 'doc'
|
||||
},
|
||||
{
|
||||
name: 'LLP',
|
||||
name: 'XXXXX文件',
|
||||
certificate: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
|
||||
expired: true,
|
||||
startTime: '2016-05-03',
|
||||
expireTime: '2019-05-03',
|
||||
suffix: 'zip'
|
||||
},
|
||||
]
|
||||
const { ruleForm, rules } = toRefs(data)
|
||||
const handleCancel = () => {
|
||||
proxy.resetForm("ruleFormRef")
|
||||
router.push({
|
||||
path: '/labelManage/adminApproval'
|
||||
path: '/safetyReview/examinerApproval'
|
||||
})
|
||||
}
|
||||
const handleSubmit = () => {
|
||||
proxy.$refs["ruleFormRef"].validate(valid => {
|
||||
if (valid) {
|
||||
router.push({
|
||||
path: '/labelManage/adminApproval'
|
||||
path: '/safetyReview/examinerApproval'
|
||||
})
|
||||
// if (form.value.roleId != undefined) {
|
||||
// form.value.menuIds = getMenuAllCheckedKeys()
|
||||
|
@ -360,7 +329,7 @@ const handleSubmit = () => {
|
|||
}
|
||||
|
||||
.el-card__body {
|
||||
padding: 0px 20px 0 20px !important;
|
||||
padding: 20px 20px 0 20px !important;
|
||||
}
|
||||
|
||||
.el-card.is-always-shadow {
|
||||
|
@ -541,4 +510,26 @@ const handleSubmit = () => {
|
|||
text-align: left;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.fileContainer {
|
||||
width: 144px;
|
||||
padding: 6px 20px 12px 20px;
|
||||
text-align: center;
|
||||
|
||||
img {
|
||||
width: 70px;
|
||||
height: 70px;
|
||||
}
|
||||
}
|
||||
|
||||
.fileNameLable {
|
||||
font-family: Microsoft YaHei;
|
||||
font-weight: 400;
|
||||
font-size: 16px;
|
||||
color: #000000;
|
||||
line-height: 16px !important;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
</style>
|
|
@ -2,30 +2,24 @@
|
|||
<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>
|
||||
<el-form-item label="批准状态" prop="deptId">
|
||||
<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-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-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-select>
|
||||
</el-form-item>
|
||||
<el-form-item style="margin-right: 10px;">
|
||||
<el-button v-if="!unfoldFlag" type="text" class="foladText" @click="handleFlod">展开
|
||||
<svg-icon icon-class="unfold" />
|
||||
</el-button>
|
||||
<el-button v-else type="text" class="foladText" @click="handleFlod">折叠
|
||||
<svg-icon icon-class="packUp" />
|
||||
</el-button>
|
||||
<el-form-item label="年度" prop="userName">
|
||||
<el-date-picker v-model="queryParams.year" type="year" placeholder="请选择"
|
||||
style="width: 140px" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4" style="text-align: right;">
|
||||
|
@ -33,26 +27,8 @@
|
|||
<el-button class="resetBtn" @click="resetQuery">重置</el-button>
|
||||
</el-col>
|
||||
</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>
|
||||
<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>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
|
||||
<div class="borderLine"></div>
|
||||
<el-table :data="tableData" height="calc(100% - 126px)" style="width: 100%">
|
||||
<el-table-column label="序号" width="60">
|
||||
|
@ -60,13 +36,23 @@
|
|||
{{ 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="year" label="年度" width="80" />
|
||||
<el-table-column prop="localityName" label="属地" width="130" />
|
||||
<el-table-column prop="departmentName" label="部门" width="150" />
|
||||
<el-table-column prop="jobNumber" label="问题描述" min-width="150"/>
|
||||
<el-table-column prop="status" label="等级" width="120">
|
||||
<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>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="startTime" label="计划完成时间" width="150">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.startTime && scope.row.certificate"> {{ scope.row.startTime }}</span>
|
||||
<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 == 0" type="info" class="infoinfoText">待审核</el-text>
|
||||
|
@ -74,7 +60,7 @@
|
|||
<el-text v-if="scope.row.status == 2" type="danger" class="dangerText">驳回</el-text>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="150">
|
||||
<el-table-column label="操作" align="center" fixed="right" width="100">
|
||||
<template #default="scope">
|
||||
<el-button type="primary" text class="replayTextBtn" v-if="scope.row.status != 0"
|
||||
@click="handleView">查看</el-button>
|
||||
|
@ -91,7 +77,7 @@
|
|||
<script setup>
|
||||
import { ref } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import Breadcrumb from '@/components/Breadcrumb'
|
||||
import Breadcrumb from '@/components/Breadcrumb'
|
||||
const router = useRouter()
|
||||
const total = ref(16)
|
||||
const unfoldFlag = ref(false)
|
||||
|
@ -224,12 +210,12 @@ const resetQuery = () => {
|
|||
}
|
||||
const getList = () => {
|
||||
|
||||
}
|
||||
}
|
||||
const handleView = () => {
|
||||
router.push('/labelManage/adminApproval/approvalDetail')
|
||||
router.push('/safetyReview/examinerApprovalForm')
|
||||
}
|
||||
const handleApproval = () => {
|
||||
router.push('/labelManage/adminApproval/approvalDetail')
|
||||
router.push('/safetyReview/examinerApprovalForm')
|
||||
}
|
||||
</script>
|
||||
<style lang='scss'>
|
||||
|
@ -256,7 +242,7 @@ const handleApproval = () => {
|
|||
margin-left: 0 !important;
|
||||
margin-right: 0 !important;
|
||||
}
|
||||
|
||||
|
||||
.qualificationApplyBtn {
|
||||
// width: 84px !important;
|
||||
height: 32px;
|
||||
|
|
|
@ -1,544 +0,0 @@
|
|||
<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>申请标签:ESC</span>
|
||||
</div>
|
||||
</template>
|
||||
<el-form ref="ruleFormRef" :model="ruleForm" 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">
|
||||
ES
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="部门:" prop="departmentName">
|
||||
XXXX部门
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="科室:" prop="officeName">
|
||||
XXX科室
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="员工工号:" prop="employeeNumber">
|
||||
NO.43242342
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="员工姓名(中文):" prop="employeeChineseName">
|
||||
管思成
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="员工姓名(英文):" prop="employeeEnglishName">
|
||||
GuangSiCheng
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="属地:" prop="localityName">
|
||||
XXX属地
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="属地ESC:" prop="localityName">
|
||||
赵文杰
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="创建时间:" prop="employeeEnglishName">
|
||||
2024-12-24 14:23
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="审批状态" label-position="top" class="myFormItemLable">
|
||||
待审批
|
||||
</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>
|
||||
<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>
|
||||
<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="name" label="节点名称" width="260" />
|
||||
<el-table-column prop="approvalResult" label="审批意见" min-width="100" align="left" />
|
||||
<el-table-column prop="approvalTime" label="审批时间" width="150">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.approvalTime && scope.row.approvalTime"> {{ scope.row.approvalTime
|
||||
}}</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>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
<script setup>
|
||||
import { reactive } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
|
||||
const router = useRouter()
|
||||
const levelList = ref([
|
||||
{ title: '标签管理', path: '/labelManage' },
|
||||
{ title: '标签审核员审批', path: '/labelManage/adminApproval' },
|
||||
{ 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" }],
|
||||
},
|
||||
})
|
||||
const tableData = [
|
||||
{
|
||||
name: '提交申请',
|
||||
approvalResult: '-',
|
||||
approvalTime: '2016-05-03'
|
||||
},
|
||||
{
|
||||
name: 'ESC审批',
|
||||
approvalResult: '同意',
|
||||
approvalTime: '2016-05-08'
|
||||
},
|
||||
]
|
||||
|
||||
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 {
|
||||
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;
|
||||
}
|
||||
|
||||
.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 60px;
|
||||
}
|
||||
|
||||
.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: 60px;
|
||||
}
|
||||
|
||||
.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>
|
568
src/views/safetyReview/examinerEscTask/escTaskForm.vue
Normal file
|
@ -0,0 +1,568 @@
|
|||
<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>问题整改</span>
|
||||
</div>
|
||||
</template>
|
||||
<el-form ref="ruleFormRef" :model="ruleForm" label-position="left">
|
||||
<div class="headerTitle">问题描述</div>
|
||||
<div class="applyFormContainer">
|
||||
<el-row class="myRow" :gutter="20">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="">
|
||||
问题描述问题描述问题问题描述问题描述问题描述问题描述问题问题描述问题描述问题描述问题描述问题问题描题问题描
|
||||
述问题描述问题描述。问题描述问题问题描述问题描述问题描述问题描述问题描述问题问题描题问题描述问题描述问题描
|
||||
述问题描述问题问题描述。
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row class="myRow" :gutter="20">
|
||||
<el-col :span="5">
|
||||
<el-form-item label="当前标签:" prop="targetQualification">
|
||||
一般偏差
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="部门:" prop="departmentName">
|
||||
XXXX部门
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="属地:" prop="officeName">
|
||||
XXX属地
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="状态:" prop="employeeNumber">
|
||||
未整改
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="创建时间:" prop="employeeEnglishName">
|
||||
2024-12-24 14:23
|
||||
</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-form-item label="附件:" prop="targetQualification">
|
||||
<template v-if="fileList.length > 0">
|
||||
<div v-for="itemFile in fileList" class="image-wrapper">
|
||||
<img v-if="isImageFile(itemFile.suffix)" :src="fileList[0].url"
|
||||
class="avatar viewFile" />
|
||||
<img v-else-if="itemFile.suffix == 'doc' || itemFile.suffix == 'docx'"
|
||||
:src="iconDoc" class="avatar viewFile" />
|
||||
<img v-else-if="itemFile.suffix == 'xls' || itemFile.suffix == 'xlsx'"
|
||||
:src="iconXls" class="avatar viewFile" />
|
||||
<img v-else-if="itemFile.suffix == 'ppt' || itemFile.suffix == 'pptx'"
|
||||
:src="iconPpt" class="avatar viewFile" />
|
||||
<img v-else-if="itemFile.suffix == 'zip'" :src="iconZip" class="avatar viewFile" />
|
||||
<img v-else-if="itemFile.suffix == 'pdf'" :src="iconPdf" class="avatar viewFile" />
|
||||
<img v-else-if="itemFile.suffix == 'mp3'" :src="iconVideo"
|
||||
class="avatar viewFile" />
|
||||
<img v-else-if="itemFile.suffix == 'mp4'" :src="iconMove" class="avatar viewFile" />
|
||||
<img v-else-if="itemFile.suffix == 'txt'" :src="iconTxt" class="avatar viewFile" />
|
||||
<img v-else :src="iconOther" class="avatar viewFile" />
|
||||
<div class="actions">
|
||||
<span class="delete" @click.stop="handleRemoveImage(itemFile)">
|
||||
<el-icon>
|
||||
<Delete />
|
||||
</el-icon>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<el-upload action="#" :http-request="requestUpload" list-type="picture-card"
|
||||
:file-list="fileList" :on-change="handleChange" :show-file-list="false"
|
||||
:before-upload="beforeUpload">
|
||||
<el-icon class="avatar-uploader-icon">
|
||||
<Plus />
|
||||
</el-icon>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item label="整改描述:" prop="targetQualification">
|
||||
<el-input v-model="textarea" style="width: 100%" :rows="5" type="textarea"
|
||||
placeholder="请输入" />
|
||||
</el-form-item>
|
||||
|
||||
</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 { reactive } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { uploadFile } from "@/api/qualification/myQualifications"
|
||||
import iconDoc from '@/assets/images/iconDoc.png'
|
||||
import iconOther from '@/assets/images/iconOther.png'
|
||||
import iconPdf from '@/assets/images/iconPdf.png'
|
||||
import iconVideo from '@/assets/images/iconVideo.png'
|
||||
import iconXls from '@/assets/images/iconXls.png'
|
||||
import iconZip from '@/assets/images/iconZip.png'
|
||||
import iconMove from '@/assets/images/iconMove.png'
|
||||
import iconTxt from '@/assets/images/iconTxt.png'
|
||||
import iconPpt from '@/assets/images/iconPpt.png'
|
||||
|
||||
const router = useRouter()
|
||||
const levelList = ref([
|
||||
{ title: '高压安全审查', path: '/safetyReview' },
|
||||
{ title: 'ESC任务', path: '/safetyReview/examinerEscTask' },
|
||||
{ title: '问题整改', path: '/safetyReview/examinerEscTask/escTaskForm' }
|
||||
])
|
||||
const fileList = ref([])
|
||||
const baseUrl = import.meta.env.VITE_APP_BASE_API
|
||||
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" }],
|
||||
},
|
||||
})
|
||||
const tableData = [
|
||||
{
|
||||
name: '提交申请',
|
||||
approvalResult: '-',
|
||||
approvalTime: '2016-05-03'
|
||||
},
|
||||
{
|
||||
name: 'ESC审批',
|
||||
approvalResult: '同意',
|
||||
approvalTime: '2016-05-08'
|
||||
},
|
||||
]
|
||||
// 判断是否为图片文件
|
||||
const isImageFile = (suffix) => {
|
||||
return ['jpeg', 'jpg', 'png'].includes(suffix?.toLowerCase())
|
||||
}
|
||||
|
||||
const { ruleForm, rules } = toRefs(data)
|
||||
|
||||
// 自定义上传
|
||||
const requestUpload = async (options) => {
|
||||
const { file } = options
|
||||
const formData = new FormData()
|
||||
formData.append('file', file)
|
||||
|
||||
try {
|
||||
const res = await uploadFile(formData)
|
||||
if (res.code === 200) {
|
||||
fileList.value.push({
|
||||
name: res.originalFilename,
|
||||
url: baseUrl + res.fileName,
|
||||
suffix: res.suffix
|
||||
})
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('上传失败:', error)
|
||||
}
|
||||
}
|
||||
|
||||
// 文件类型校验
|
||||
const beforeUpload = (file) => {
|
||||
return true
|
||||
}
|
||||
|
||||
// 文件变化处理
|
||||
const handleChange = (file, files) => {
|
||||
// 可以在这里添加文件变化时的额外处理逻辑
|
||||
// 不需要清空 fileList,因为上传逻辑会处理
|
||||
// fileList.value = []
|
||||
}
|
||||
// 删除图片
|
||||
const handleRemoveImage = (fileInfo) => {
|
||||
|
||||
}
|
||||
const handleCancel = () => {
|
||||
proxy.resetForm("ruleFormRef")
|
||||
router.push({
|
||||
path: '/safetyReview/examinerEscTask'
|
||||
})
|
||||
}
|
||||
const handleSubmit = () => {
|
||||
proxy.$refs["ruleFormRef"].validate(valid => {
|
||||
if (valid) {
|
||||
router.push({
|
||||
path: '/safetyReview/examinerEscTask'
|
||||
})
|
||||
// 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 {
|
||||
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: 20px 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;
|
||||
}
|
||||
|
||||
.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 60px;
|
||||
}
|
||||
|
||||
.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: 60px;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
.fileContainer {
|
||||
width: 144px;
|
||||
padding: 6px 20px 12px 20px;
|
||||
text-align: center;
|
||||
|
||||
img {
|
||||
width: 70px;
|
||||
height: 70px;
|
||||
}
|
||||
}
|
||||
|
||||
.fileNameLable {
|
||||
font-family: Microsoft YaHei;
|
||||
font-weight: 400;
|
||||
font-size: 16px;
|
||||
color: #000000;
|
||||
line-height: 16px !important;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.viewFile {
|
||||
width: 148px;
|
||||
height: 148px;
|
||||
border: 1px solid #dedede;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.upload-container {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.image-wrapper {
|
||||
position: relative;
|
||||
width: 148px;
|
||||
height: 148px;
|
||||
margin-right: 10px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.avatar {
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.actions {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.image-wrapper:hover .actions {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.delete {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
color: white;
|
||||
border-radius: 50%;
|
||||
cursor: pointer;
|
||||
margin: 5px;
|
||||
transition: background 0.3s;
|
||||
|
||||
&:hover {
|
||||
background: rgba(0, 0, 0, 0.7);
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -2,30 +2,24 @@
|
|||
<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>
|
||||
<el-form-item label="批准状态" prop="deptId">
|
||||
<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-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-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-select>
|
||||
</el-form-item>
|
||||
<el-form-item style="margin-right: 10px;">
|
||||
<el-button v-if="!unfoldFlag" type="text" class="foladText" @click="handleFlod">展开
|
||||
<svg-icon icon-class="unfold" />
|
||||
</el-button>
|
||||
<el-button v-else type="text" class="foladText" @click="handleFlod">折叠
|
||||
<svg-icon icon-class="packUp" />
|
||||
</el-button>
|
||||
<el-form-item label="年度" prop="userName">
|
||||
<el-date-picker v-model="queryParams.year" type="year" placeholder="请选择"
|
||||
style="width: 140px" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4" style="text-align: right;">
|
||||
|
@ -33,26 +27,8 @@
|
|||
<el-button class="resetBtn" @click="resetQuery">重置</el-button>
|
||||
</el-col>
|
||||
</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>
|
||||
<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>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
|
||||
<div class="borderLine"></div>
|
||||
<el-table :data="tableData" height="calc(100% - 126px)" style="width: 100%">
|
||||
<el-table-column label="序号" width="60">
|
||||
|
@ -60,13 +36,23 @@
|
|||
{{ 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="year" label="年度" width="80" />
|
||||
<el-table-column prop="localityName" label="属地" width="130" />
|
||||
<el-table-column prop="departmentName" label="部门" width="150" />
|
||||
<el-table-column prop="jobNumber" label="问题描述" min-width="150"/>
|
||||
<el-table-column prop="status" label="等级" width="120">
|
||||
<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>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="startTime" label="计划完成时间" width="150">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.startTime && scope.row.certificate"> {{ scope.row.startTime }}</span>
|
||||
<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 == 0" type="info" class="infoinfoText">待审核</el-text>
|
||||
|
@ -74,7 +60,7 @@
|
|||
<el-text v-if="scope.row.status == 2" type="danger" class="dangerText">驳回</el-text>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="150">
|
||||
<el-table-column label="操作" align="center" fixed="right" width="100">
|
||||
<template #default="scope">
|
||||
<el-button type="primary" text class="replayTextBtn" v-if="scope.row.status != 0"
|
||||
@click="handleView">查看</el-button>
|
||||
|
@ -91,7 +77,7 @@
|
|||
<script setup>
|
||||
import { ref } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import Breadcrumb from '@/components/Breadcrumb'
|
||||
import Breadcrumb from '@/components/Breadcrumb'
|
||||
const router = useRouter()
|
||||
const total = ref(16)
|
||||
const unfoldFlag = ref(false)
|
||||
|
@ -224,12 +210,12 @@ const resetQuery = () => {
|
|||
}
|
||||
const getList = () => {
|
||||
|
||||
}
|
||||
}
|
||||
const handleView = () => {
|
||||
router.push('/labelManage/adminApproval/approvalDetail')
|
||||
router.push('/safetyReview/escTaskForm')
|
||||
}
|
||||
const handleApproval = () => {
|
||||
router.push('/labelManage/adminApproval/approvalDetail')
|
||||
router.push('/safetyReview/escTaskForm')
|
||||
}
|
||||
</script>
|
||||
<style lang='scss'>
|
||||
|
@ -256,7 +242,7 @@ const handleApproval = () => {
|
|||
margin-left: 0 !important;
|
||||
margin-right: 0 !important;
|
||||
}
|
||||
|
||||
|
||||
.qualificationApplyBtn {
|
||||
// width: 84px !important;
|
||||
height: 32px;
|
||||
|
|
|
@ -207,7 +207,7 @@ const getList = () => {
|
|||
|
||||
}
|
||||
const handleOpenAddForm = () => {
|
||||
router.push('/safetyReview/examinerTasks/addTaskForm')
|
||||
router.push('/safetyReview/examinerTasksForm')
|
||||
}
|
||||
const handleView = () => {
|
||||
router.push('/labelManage/adminApproval/approvalDetail')
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<span>新增</span>
|
||||
</div>
|
||||
</template>
|
||||
<el-form ref="ruleFormRef" :model="ruleForm" label-position="left" label-width="110px">
|
||||
<el-form ref="ruleFormRef" :model="ruleForm" label-position="top" label-width="110px">
|
||||
<div class="headerTitle">基本信息</div>
|
||||
<div class="applyFormContainer">
|
||||
<el-row class="myRow" :gutter="20">
|
||||
|
@ -73,7 +73,7 @@
|
|||
</div>
|
||||
</el-form>
|
||||
|
||||
<div class="headerTitle">问题追踪</div>
|
||||
<div class="headerTitle">审查问题追踪</div>
|
||||
<div class="groupBtnPanel">
|
||||
<el-button-group>
|
||||
<el-button v-for="(item, index) in ToolOptions" :key="index"
|
||||
|
@ -137,11 +137,12 @@
|
|||
|
||||
</template>
|
||||
<script setup>
|
||||
import { reactive } from 'vue'
|
||||
import { onMounted, reactive } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import grayAddIcon from '@/assets/images/grayAddIcon.png'
|
||||
|
||||
const router = useRouter()
|
||||
const route = useRoute()
|
||||
const levelList = ref([
|
||||
{ title: '高压安全审查', path: '/safetyReview' },
|
||||
{ title: '审核员任务', path: '/safetyReview/examinerTasks' },
|
||||
|
@ -164,7 +165,15 @@ const data = reactive({
|
|||
// 按钮组配置
|
||||
const ToolOptions = ref(['全部', '主要偏差', '一般偏差', '建议项'])
|
||||
const activeIndex = ref(0)
|
||||
|
||||
// 初始化
|
||||
onMounted(() => {
|
||||
const id = route.params && route.params.Id
|
||||
if (id) {
|
||||
console.log('接收id', id)
|
||||
} else {
|
||||
|
||||
}
|
||||
});
|
||||
const tableData = [
|
||||
|
||||
]
|
||||
|
@ -259,6 +268,7 @@ const handleSubmit = () => {
|
|||
background: #ffffff;
|
||||
}
|
||||
|
||||
|
||||
.el-card {
|
||||
border: none;
|
||||
}
|