{"ast":null,"code":"import \"core-js/modules/es.array.find.js\";\nimport \"core-js/modules/es.array.push.js\";\nimport \"core-js/modules/es.function.name.js\";\nimport \"core-js/modules/es.iterator.constructor.js\";\nimport \"core-js/modules/es.iterator.find.js\";\nimport \"core-js/modules/es.object.to-string.js\";\nimport \"core-js/modules/es.string.starts-with.js\";\nexport default {\n name: 'EmployeeProcess',\n data: function data() {\n return {\n nodes: [{\n id: 'start',\n type: 'start',\n label: '开始',\n x: 400,\n y: 50,\n url: '/process/start'\n }, {\n id: 'interview',\n type: 'condition',\n label: '面试',\n x: 400,\n y: 150,\n url: '/interview'\n }, {\n id: 'pass',\n type: 'process',\n label: '发录用通知书',\n x: 600,\n y: 150,\n url: '/offer'\n }, {\n id: 'prepare',\n type: 'process',\n label: '准备入职材料',\n x: 600,\n y: 250,\n url: '/prepare'\n }, {\n id: 'verify',\n type: 'condition',\n label: '材料核实',\n x: 600,\n y: 350,\n url: '/verify'\n }, {\n id: 'onboard',\n type: 'process',\n label: '办理入职',\n x: 600,\n y: 450,\n url: '/onboard'\n }, {\n id: 'reject',\n type: 'process',\n label: '发送拒绝通知',\n x: 200,\n y: 250,\n url: '/reject'\n }, {\n id: 'archive',\n type: 'process',\n label: '归档简历',\n x: 200,\n y: 350,\n url: '/archive'\n }, {\n id: 'end',\n type: 'end',\n label: '结束',\n x: 400,\n y: 550,\n url: '/process/end'\n }],\n scale: 1,\n isMobile: false,\n currentType: 'employee-process'\n };\n },\n methods: {\n handleNodeClick: function handleNodeClick(nodeId) {\n var _this = this;\n var node = this.nodes.find(function (n) {\n return n.id === nodeId;\n });\n if (node && node.url) {\n if (node.url.startsWith('http')) {\n window.open(node.url, '_blank');\n } else {\n this.$router.push(node.url)[\"catch\"](function (err) {\n if (err.name !== 'NavigationDuplicated') {\n _this.$message({\n type: 'info',\n message: \"\\u6B63\\u5728\\u8DF3\\u8F6C\\u5230\".concat(node.label, \"\\u9875\\u9762...\")\n });\n }\n });\n }\n }\n },\n nodeStyle: function nodeStyle(node) {\n return {\n left: node.x + 'px',\n top: node.y + 'px'\n };\n },\n checkDevice: function checkDevice() {\n this.isMobile = window.innerWidth < 768;\n if (this.isMobile) {\n this.scale = 0.6; // 移动端默认缩小到60%\n } else {\n this.scale = 1;\n }\n this.applyScale();\n },\n applyScale: function applyScale() {\n var flowElement = document.querySelector('.process-flow');\n if (flowElement) {\n flowElement.style.transform = \"scale(\".concat(this.scale, \")\");\n }\n },\n handleResize: function handleResize() {\n this.checkDevice();\n },\n zoomIn: function zoomIn() {\n this.scale = Math.min(1.5, this.scale + 0.1);\n this.applyScale();\n },\n zoomOut: function zoomOut() {\n this.scale = Math.max(0.3, this.scale - 0.1);\n this.applyScale();\n },\n resetZoom: function resetZoom() {\n this.scale = this.isMobile ? 0.6 : 1;\n this.applyScale();\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n this.checkDevice();\n window.addEventListener('resize', this.handleResize);\n\n // 在移动设备上添加缩放支持\n if (this.isMobile && window.Hammer) {\n var flowElement = document.querySelector('.process-flow');\n var mc = new window.Hammer.Manager(flowElement);\n\n // 添加缩放手势识别\n var pinch = new window.Hammer.Pinch();\n mc.add(pinch);\n\n // 添加平移手势识别\n var pan = new window.Hammer.Pan();\n mc.add(pan);\n\n // 手势处理\n mc.on('pinch', function (e) {\n var newScale = Math.max(0.3, Math.min(1.5, _this2.scale * e.scale));\n if (Math.abs(newScale - _this2.scale) > 0.01) {\n _this2.scale = newScale;\n _this2.applyScale();\n }\n });\n\n // 启用元素本身的滚动\n flowElement.style.touchAction = 'pan-x pan-y';\n }\n },\n beforeDestroy: function beforeDestroy() {\n window.removeEventListener('resize', this.handleResize);\n }\n};","map":{"version":3,"names":["name","data","nodes","id","type","label","x","y","url","scale","isMobile","currentType","methods","handleNodeClick","nodeId","_this","node","find","n","startsWith","window","open","$router","push","err","$message","message","concat","nodeStyle","left","top","checkDevice","innerWidth","applyScale","flowElement","document","querySelector","style","transform","handleResize","zoomIn","Math","min","zoomOut","max","resetZoom","mounted","_this2","addEventListener","Hammer","mc","Manager","pinch","Pinch","add","pan","Pan","on","e","newScale","abs","touchAction","beforeDestroy","removeEventListener"],"sources":["src/views/EmployeeProcess.vue"],"sourcesContent":["\n \n \n \n 员工入职业务流程\n 正常运行\n \n \n \n 本流程规范了新员工从招聘到入职的完整过程,确保人才招聘和入职流程的规范化和标准化。\n \n \n \n 7\n 总步骤\n \n \n 4\n 已完成\n \n \n 15天\n 平均耗时\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 通过\n 不通过\n 完整\n 需补充\n \n\n \n \n {{ node.label }}\n \n \n \n \n \n +\n -\n \n \n \n \n \n\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
本流程规范了新员工从招聘到入职的完整过程,确保人才招聘和入职流程的规范化和标准化。