1858b9aab0408279e53a9c5b590a5fafa6ebf58a382a5767927e1572bd138ca7.json 8.0 KB

1
  1. {"ast":null,"code":"import \"core-js/modules/es.array.push.js\";\nimport \"core-js/modules/es.function.name.js\";\nimport \"core-js/modules/es.string.starts-with.js\";\nexport default {\n name: 'EmployeeProcess',\n data: function data() {\n return {\n processSteps: [{\n title: '发布招聘申请',\n url: '/recruitment/apply',\n icon: 'edit-outline',\n description: '点击发起招聘申请'\n }, {\n title: 'HR发布招聘信息',\n url: '/recruitment/publish',\n icon: 'share',\n description: '查看招聘发布详情'\n }, {\n title: '面试流程',\n url: '/interview/process',\n icon: 'chat-dot-round',\n description: '查看面试流程安排'\n }, {\n title: '面试意见流转',\n url: '/interview/feedback',\n icon: 'document',\n description: '查看面试反馈'\n }, {\n title: '入职确认/放弃报到通知单',\n url: '/onboarding/confirm',\n icon: 'finished',\n description: '处理入职确认'\n }, {\n title: '员工入职通知单',\n url: '/onboarding/notice',\n icon: 'message',\n description: '查看入职通知'\n }, {\n title: '新员工入职状况报告调查问卷',\n url: '/onboarding/survey',\n icon: 'notebook-2',\n description: '填写入职调查'\n }]\n };\n },\n methods: {\n handleStepClick: function handleStepClick(url) {\n var _this = this;\n if (url.startsWith('http')) {\n window.open(url, '_blank');\n } else {\n this.$router.push(url)[\"catch\"](function (err) {\n if (err.name !== 'NavigationDuplicated') {\n _this.$message({\n type: 'warning',\n message: '该功能正在开发中'\n });\n }\n });\n }\n }\n }\n};","map":{"version":3,"names":["name","data","processSteps","title","url","icon","description","methods","handleStepClick","_this","startsWith","window","open","$router","push","err","$message","type","message"],"sources":["src/views/EmployeeProcess.vue"],"sourcesContent":["<template>\n <div class=\"employee-process\">\n <h2>员工入职业务流程</h2>\n <div class=\"process-flow\">\n <el-steps :active=\"6\" finish-status=\"success\" align-center>\n <el-step \n v-for=\"(step, index) in processSteps\" \n :key=\"index\"\n :title=\"step.title\"\n :description=\"step.description || '点击查看详情'\"\n @click.native=\"handleStepClick(step.url)\"\n class=\"clickable-step\">\n <template slot=\"icon\">\n <div class=\"custom-icon-wrapper\">\n <i :class=\"['el-icon-' + (step.icon || 'connection')]\"></i>\n </div>\n </template>\n </el-step>\n </el-steps>\n </div>\n \n <div class=\"process-description\">\n <el-card class=\"description-card\">\n <div slot=\"header\">\n <span>流程说明</span>\n </div>\n <ol>\n <li>左边是是相关业务名,对应右边业务流程图。</li>\n <li>流程图里的所有节点,都是可以点击后跳转URL。</li>\n <li>搜索框用来搜索相关业务名称。</li>\n <li>左上角是logo图片。</li>\n <li>正上面的业务流程介绍,这个是个相关业务描述,点击业务的时候,上面的介绍也会变化。</li>\n </ol>\n </el-card>\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'EmployeeProcess',\n data() {\n return {\n processSteps: [\n {\n title: '发布招聘申请',\n url: '/recruitment/apply',\n icon: 'edit-outline',\n description: '点击发起招聘申请'\n },\n {\n title: 'HR发布招聘信息',\n url: '/recruitment/publish',\n icon: 'share',\n description: '查看招聘发布详情'\n },\n {\n title: '面试流程',\n url: '/interview/process',\n icon: 'chat-dot-round',\n description: '查看面试流程安排'\n },\n {\n title: '面试意见流转',\n url: '/interview/feedback',\n icon: 'document',\n description: '查看面试反馈'\n },\n {\n title: '入职确认/放弃报到通知单',\n url: '/onboarding/confirm',\n icon: 'finished',\n description: '处理入职确认'\n },\n {\n title: '员工入职通知单',\n url: '/onboarding/notice',\n icon: 'message',\n description: '查看入职通知'\n },\n {\n title: '新员工入职状况报告调查问卷',\n url: '/onboarding/survey',\n icon: 'notebook-2',\n description: '填写入职调查'\n }\n ]\n }\n },\n methods: {\n handleStepClick(url) {\n if (url.startsWith('http')) {\n window.open(url, '_blank')\n } else {\n this.$router.push(url).catch(err => {\n if (err.name !== 'NavigationDuplicated') {\n this.$message({\n type: 'warning',\n message: '该功能正在开发中'\n })\n }\n })\n }\n }\n }\n}\n</script>\n\n<style scoped>\n.employee-process {\n padding: 20px;\n}\n\n.process-flow {\n margin: 40px 0;\n padding: 40px 20px;\n background-color: #fff;\n border-radius: 8px;\n box-shadow: 0 2px 12px 0 rgba(0,0,0,0.1);\n}\n\n.process-description {\n margin-top: 30px;\n}\n\n.description-card {\n width: 100%;\n margin-bottom: 20px;\n}\n\n.description-card ol {\n margin: 0;\n padding-left: 20px;\n}\n\n.description-card li {\n line-height: 2;\n color: #606266;\n}\n\n/* 自定义步骤样式 */\n.clickable-step {\n cursor: pointer;\n transition: all 0.3s ease;\n}\n\n.clickable-step:hover {\n transform: translateY(-2px);\n}\n\n.clickable-step:hover .el-step__title {\n color: #409EFF !important;\n}\n\n.clickable-step:hover .el-step__description {\n color: #409EFF !important;\n}\n\n.clickable-step:hover .custom-icon-wrapper {\n background-color: #409EFF;\n transform: scale(1.1);\n}\n\n/* 自定义图标样式 */\n.custom-icon-wrapper {\n width: 40px;\n height: 40px;\n border-radius: 50%;\n background-color: #C0C4CC;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.3s ease;\n}\n\n.custom-icon-wrapper i {\n color: #fff;\n font-size: 20px;\n}\n\n/* 确保步骤标题可以完整显示 */\n.el-step__title {\n white-space: normal;\n line-height: 1.4;\n font-size: 14px;\n transition: color 0.3s ease;\n}\n\n.el-step__description {\n font-size: 12px;\n transition: color 0.3s ease;\n}\n\n/* 活跃状态的图标 */\n.el-step.is-success .custom-icon-wrapper {\n background-color: #67C23A;\n}\n\n.el-step.is-process .custom-icon-wrapper {\n background-color: #409EFF;\n}\n\n/* 添加响应式间距 */\n@media screen and (max-width: 768px) {\n .process-flow {\n padding: 20px 10px;\n }\n \n .custom-icon-wrapper {\n width: 32px;\n height: 32px;\n }\n \n .custom-icon-wrapper i {\n font-size: 16px;\n }\n}\n</style> "],"mappings":";;;AAuCA;EACAA,IAAA;EACAC,IAAA,WAAAA,KAAA;IACA;MACAC,YAAA,GACA;QACAC,KAAA;QACAC,GAAA;QACAC,IAAA;QACAC,WAAA;MACA,GACA;QACAH,KAAA;QACAC,GAAA;QACAC,IAAA;QACAC,WAAA;MACA,GACA;QACAH,KAAA;QACAC,GAAA;QACAC,IAAA;QACAC,WAAA;MACA,GACA;QACAH,KAAA;QACAC,GAAA;QACAC,IAAA;QACAC,WAAA;MACA,GACA;QACAH,KAAA;QACAC,GAAA;QACAC,IAAA;QACAC,WAAA;MACA,GACA;QACAH,KAAA;QACAC,GAAA;QACAC,IAAA;QACAC,WAAA;MACA,GACA;QACAH,KAAA;QACAC,GAAA;QACAC,IAAA;QACAC,WAAA;MACA;IAEA;EACA;EACAC,OAAA;IACAC,eAAA,WAAAA,gBAAAJ,GAAA;MAAA,IAAAK,KAAA;MACA,IAAAL,GAAA,CAAAM,UAAA;QACAC,MAAA,CAAAC,IAAA,CAAAR,GAAA;MACA;QACA,KAAAS,OAAA,CAAAC,IAAA,CAAAV,GAAA,qBAAAW,GAAA;UACA,IAAAA,GAAA,CAAAf,IAAA;YACAS,KAAA,CAAAO,QAAA;cACAC,IAAA;cACAC,OAAA;YACA;UACA;QACA;MACA;IACA;EACA;AACA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}