{"ast":null,"code":"import _regeneratorRuntime from \"E:/dev/MyProject/workflow/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js\";\nimport _asyncToGenerator from \"E:/dev/MyProject/workflow/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport \"core-js/modules/es.math.sign.js\";\nimport \"core-js/modules/es.parse-int.js\";\nimport \"core-js/modules/web.timers.js\";\nimport { fetchUserInfo } from \"@/api/user\";\nexport default {\n name: 'EmployeeProcess',\n data: function data() {\n return {\n dialogVisible: false,\n currentNode: null,\n scale: 1,\n panEnabled: false,\n lastPosX: 0,\n lastPosY: 0,\n showWheelTip: true,\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 };\n },\n mounted: function mounted() {\n var _this = this;\n this.getUserData();\n // 5秒后隐藏滚轮提示\n setTimeout(function () {\n _this.showWheelTip = false;\n }, 5000);\n },\n methods: {\n handleNodeClick: function handleNodeClick(node) {\n this.currentNode = node;\n this.dialogVisible = true;\n },\n getNodeTypeName: function getNodeTypeName(type) {\n var types = {\n 'start': '开始节点',\n 'end': '结束节点',\n 'process': '流程节点',\n 'condition': '条件节点'\n };\n return types[type] || type;\n },\n zoomIn: function zoomIn() {\n if (this.scale < 2) {\n this.scale += 0.1;\n }\n },\n zoomOut: function zoomOut() {\n if (this.scale > 0.5) {\n this.scale -= 0.1;\n }\n },\n resetZoom: function resetZoom() {\n this.scale = 1;\n // 重置流程图位置\n if (this.$refs.processFlow) {\n this.$refs.processFlow.style.top = '0px';\n this.$refs.processFlow.style.left = '0px';\n }\n },\n handleWheel: function handleWheel(e) {\n // 阻止默认滚动行为\n e.preventDefault();\n\n // 确定滚动方向(向上滚动为放大,向下滚动为缩小)\n var delta = Math.sign(e.deltaY) * -0.1;\n\n // 计算新的缩放值\n var newScale = Math.max(0.5, Math.min(2, this.scale + delta));\n\n // 如果缩放值在允许范围内,就应用它\n if (newScale !== this.scale) {\n // 计算鼠标位置相对于流程图容器的位置\n var flowEl = this.$refs.processFlow;\n var rect = flowEl.getBoundingClientRect();\n\n // 计算鼠标在流程图上的坐标(考虑当前偏移和缩放)\n var mouseX = (e.clientX - rect.left) / this.scale;\n var mouseY = (e.clientY - rect.top) / this.scale;\n\n // 获取当前偏移\n var currentLeft = parseInt(flowEl.style.left || '0');\n var currentTop = parseInt(flowEl.style.top || '0');\n\n // 计算新的偏移,保持鼠标所指位置不变\n var scaleChange = newScale - this.scale;\n var newLeft = currentLeft - mouseX * scaleChange;\n var newTop = currentTop - mouseY * scaleChange;\n\n // 应用新的缩放和偏移\n this.scale = newScale;\n flowEl.style.left = \"\".concat(newLeft, \"px\");\n flowEl.style.top = \"\".concat(newTop, \"px\");\n }\n },\n startPanning: function startPanning(e) {\n // 如果是点击流程节点,则不启用平移\n if (e.target.closest('.flow-node')) {\n return;\n }\n this.panEnabled = true;\n this.lastPosX = e.clientX;\n this.lastPosY = e.clientY;\n document.body.style.cursor = 'grabbing';\n },\n pan: function pan(e) {\n if (!this.panEnabled) return;\n var flowEl = this.$refs.processFlow;\n if (!flowEl) return;\n var dx = e.clientX - this.lastPosX;\n var dy = e.clientY - this.lastPosY;\n var currentTop = parseInt(flowEl.style.top || '0');\n var currentLeft = parseInt(flowEl.style.left || '0');\n flowEl.style.top = currentTop + dy + 'px';\n flowEl.style.left = currentLeft + dx + 'px';\n this.lastPosX = e.clientX;\n this.lastPosY = e.clientY;\n },\n stopPanning: function stopPanning() {\n this.panEnabled = false;\n document.body.style.cursor = 'default';\n },\n handleEdit: function handleEdit() {\n this.$message({\n message: \"\\u7F16\\u8F91\\u8282\\u70B9: \".concat(this.currentNode.label),\n type: 'info'\n });\n this.dialogVisible = false;\n },\n handleViewDetails: function handleViewDetails() {\n this.$message({\n message: \"\\u67E5\\u770B\\u8282\\u70B9\\u8BE6\\u60C5: \".concat(this.currentNode.label),\n type: 'success'\n });\n this.dialogVisible = false;\n },\n getUserData: function getUserData() {\n var _this2 = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {\n var userId, userInfo;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _this2.loading = true;\n _context.prev = 1;\n // 假设userId来自某个输入或路由参数\n userId = _this2.$route.query.userId; // 调用公共方法\n _context.next = 5;\n return fetchUserInfo(userId);\n case 5:\n userInfo = _context.sent;\n debugger;\n // 使用返回的数据\n _this2.userName = userInfo.username;\n _this2.loading = false;\n _context.next = 15;\n break;\n case 11:\n _context.prev = 11;\n _context.t0 = _context[\"catch\"](1);\n // 错误处理\n _this2.error = _context.t0.message;\n _this2.loading = false;\n case 15:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[1, 11]]);\n }))();\n }\n }\n};","map":{"version":3,"names":["fetchUserInfo","name","data","dialogVisible","currentNode","scale","panEnabled","lastPosX","lastPosY","showWheelTip","nodes","id","type","label","x","y","url","mounted","_this","getUserData","setTimeout","methods","handleNodeClick","node","getNodeTypeName","types","zoomIn","zoomOut","resetZoom","$refs","processFlow","style","top","left","handleWheel","e","preventDefault","delta","Math","sign","deltaY","newScale","max","min","flowEl","rect","getBoundingClientRect","mouseX","clientX","mouseY","clientY","currentLeft","parseInt","currentTop","scaleChange","newLeft","newTop","concat","startPanning","target","closest","document","body","cursor","pan","dx","dy","stopPanning","handleEdit","$message","message","handleViewDetails","_this2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","userId","userInfo","wrap","_callee$","_context","prev","next","loading","$route","query","sent","userName","username","t0","error","stop"],"sources":["src/views/EmployeeProcess.vue"],"sourcesContent":["\n\n\n\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}