提交代码
This commit is contained in:
parent
e66ec97fe8
commit
cc2b18ff11
|
@ -167,4 +167,22 @@ export function resetPwd(params) {
|
|||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
// 获取用户审批记录
|
||||
export function getUserApplyRecord(params) {
|
||||
return request({
|
||||
url: '/admin/userCheckRecord/pageList',
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
// 用户注册审核
|
||||
export function submitUserApply(params) {
|
||||
return request({
|
||||
url: '/system/user/checkRegisterUser',
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
|
@ -292,6 +292,20 @@ export const dynamicRoutes = [
|
|||
},
|
||||
|
||||
{
|
||||
path: '/system/userApprovalForm',
|
||||
component: Layout,
|
||||
hidden: true,
|
||||
permissions: ['system:userApproval:approval'],
|
||||
children: [
|
||||
{
|
||||
path: ':userId(\\d+)',
|
||||
component: () => import('@/views/system/userApproval/userApprovalForm'),
|
||||
name: 'userApprovalForm',
|
||||
meta: { title: '新用户审批', activeMenu: '/system/userApproval' }
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '/system/userApproval/userApprovalDetail',
|
||||
component: Layout,
|
||||
hidden: true,
|
||||
|
@ -301,7 +315,7 @@ export const dynamicRoutes = [
|
|||
path: '',
|
||||
component: () => import('@/views/system/userApproval/userApprovalDetail'),
|
||||
name: 'userApprovalDetail',
|
||||
meta: { title: '新用户审批', activeMenu: '/system/userApproval' }
|
||||
meta: { title: '新用户审批详情', activeMenu: '/system/userApproval' }
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
<el-table-column label="厂区名称" align="center" width="130" prop="factoryArea" />
|
||||
<el-table-column label="楼号" align="center" width="100" prop="buildingNo" />
|
||||
<el-table-column label="属地名称" align="left" min-width="230" prop="dependencyName" />
|
||||
<el-table-column label="ESC工号" align="center" min-width="100" prop="escWorkNo" />
|
||||
<el-table-column label="ESC工号" align="center" min-width="160" prop="escWorkNo" />
|
||||
<el-table-column label="ESC姓名" align="center" min-width="120" prop="escUserName" />
|
||||
<el-table-column label="ESC邮箱" align="left" min-width="280" prop="escEmail" />
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" width="230">
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
<el-table-column prop="dependencyName" align="left" label="属地" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="dept.deptName" align="left" label="部门" :show-overflow-tooltip="true"/>
|
||||
<el-table-column prop="sectionName" align="left" label="科室" :show-overflow-tooltip="true"/>
|
||||
<el-table-column prop="workNo" width="100" align="right" label="工号" />
|
||||
<el-table-column prop="workNo" width="150" align="right" label="工号" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="nickName" width="130" align="center" label="员工姓名" />
|
||||
<el-table-column prop="status" label="状态" align="center" width="120">
|
||||
<template #default="scope">
|
||||
|
@ -78,7 +78,7 @@
|
|||
<el-button type="primary" text class="replayTextBtn" v-if="scope.row.status != 2"
|
||||
@click="handleView">查看</el-button>
|
||||
<el-button type="primary" v-if="scope.row.status == 2" text class="replayTextBtn"
|
||||
@click="handleApproval">审批</el-button>
|
||||
@click="handleApproval(scope.row)">审批</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -93,7 +93,6 @@ import { useRouter } from 'vue-router'
|
|||
import Breadcrumb from '@/components/Breadcrumb'
|
||||
import { deptTreeSelect, listUser, checkRegisterUserList } from "@/api/system/user"
|
||||
import { getBusDependencyPage } from "@/api/system/dependency"
|
||||
|
||||
const { proxy } = getCurrentInstance()
|
||||
const router = useRouter()
|
||||
const loading = ref(true)
|
||||
|
@ -211,8 +210,8 @@ const resetQuery = () => {
|
|||
const handleView = () => {
|
||||
router.push('/system/userApproval/userApprovalDetail')
|
||||
}
|
||||
const handleApproval = () => {
|
||||
router.push('/system/userApproval/userApprovalDetail')
|
||||
const handleApproval = (record) => {
|
||||
router.push('/system/userApprovalForm/' + record.userId)
|
||||
}
|
||||
</script>
|
||||
<style lang='scss'>
|
||||
|
|
507
src/views/system/userApproval/userApprovalForm.vue
Normal file
507
src/views/system/userApproval/userApprovalForm.vue
Normal file
|
@ -0,0 +1,507 @@
|
|||
<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>新用户:4342342342</span>
|
||||
</div>
|
||||
</template>
|
||||
<el-form ref="ruleFormRef" :model="ruleForm" label-position="left" style="margin-top: 20px;">
|
||||
<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>
|
||||
<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" style="margin-bottom: 20px;">
|
||||
<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: '/system' },
|
||||
{ title: '新用户审批', path: '/system/userApproval' },
|
||||
{ title: '审批', path: '/system/userApproval/userApprovalDetail' }
|
||||
])
|
||||
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: '/system/userApproval'
|
||||
})
|
||||
}
|
||||
const handleSubmit = () => {
|
||||
proxy.$refs["ruleFormRef"].validate(valid => {
|
||||
if (valid) {
|
||||
router.push({
|
||||
path: '/system/userApproval'
|
||||
})
|
||||
// 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>
|
Loading…
Reference in New Issue
Block a user