瀏覽代碼

权限分配代码上传

fangzhen 2 周之前
父節點
當前提交
167d24c42c
共有 82 個文件被更改,包括 310 次插入171 次删除
  1. 10 0
      .idea/mybatisx/templates.xml
  2. 1 1
      dist/index.html
  3. 0 0
      dist/js/app.1dad3c5d.js
  4. 0 0
      dist/js/app.1dad3c5d.js.map
  5. 0 0
      dist/js/app.45e98fad.js
  6. 0 0
      dist/js/app.45e98fad.js.map
  7. 0 0
      dist/js/chunk-vendors.025bb374.js
  8. 0 0
      dist/js/chunk-vendors.025bb374.js.map
  9. 0 0
      dist/js/chunk-vendors.17795bb7.js.map
  10. 0 0
      node_modules/.cache/babel-loader/0af52e7c2603affdbc798d921d74cb4785b116a6608c1e494b90766a0d8f0e49.json
  11. 0 0
      node_modules/.cache/babel-loader/192d4eebfa9daa1260d3a7d131ad02ac735cccc69fe6026828d7ac8e9aba1303.json
  12. 0 0
      node_modules/.cache/babel-loader/212c055a8e5f111f738ca1e40f8695b1018c5a6bac1551776ba18e6d380d4482.json
  13. 0 0
      node_modules/.cache/babel-loader/258c956bf4dc4e6c822b2a785442433b754cb9f831b13eb4b44299a54fd25122.json
  14. 0 0
      node_modules/.cache/babel-loader/2ca81eb61787b43867afc6d2d651d7fabcd9b942d87cf59cef37539c70fe517d.json
  15. 0 0
      node_modules/.cache/babel-loader/2de58d37b549578b032eb66c063f46f5060046cdb339f5c1a8ceb5c5216ca7e5.json
  16. 0 0
      node_modules/.cache/babel-loader/325a0b245abd3371b04c4f2168dd0598b826b045f6a2dcd5a569dcbf75f5c7c1.json
  17. 0 0
      node_modules/.cache/babel-loader/36a4de5f8a21c38522ea000e434ec5ac655c60c61a034bec48fb3f334927ddb3.json
  18. 0 0
      node_modules/.cache/babel-loader/38cdc89b807aadc53d28893b1097671519a50d888145c28abc2f29e8a77f4a24.json
  19. 0 0
      node_modules/.cache/babel-loader/3ac3b00ae31763fb6608ac62cb57ab28f41c653378c9fcd305b2a6c6ff91669d.json
  20. 0 0
      node_modules/.cache/babel-loader/3d90028d62d8d782f2620f40a5afd6a44b2aabc1c7f14eafe1135580bed6e9ce.json
  21. 0 0
      node_modules/.cache/babel-loader/42018c8fcfda7b6c347332fd2ad3b46c14bf7730cd51165b6bb19bd6838bf128.json
  22. 0 0
      node_modules/.cache/babel-loader/458d59398cb7f7e58c8afcdd1b40e0bfeb632e99a5ad47836d98ec3ba42bcc70.json
  23. 0 0
      node_modules/.cache/babel-loader/46e5fa8710bbc8063799a89b29bdff6820d55cce3b9840bbfd9a756c46cdd260.json
  24. 0 0
      node_modules/.cache/babel-loader/4c38b1159452c6bd4bf1bba5bed27a226b4492f5cd6957a1e04e5f65264d9b4d.json
  25. 0 0
      node_modules/.cache/babel-loader/4d535347281532a96f0b727af23f95ccd24464e70da76fb6c5d0dfc76ecc8af8.json
  26. 0 0
      node_modules/.cache/babel-loader/4f507caf40c79d20e936a30a1b5d9924845c7c307dca6249744aa95e21e75140.json
  27. 0 0
      node_modules/.cache/babel-loader/512c70459cfa87e123072a1f39ee61e5c26ed281106394a2c207dfbc90f2da37.json
  28. 0 0
      node_modules/.cache/babel-loader/5191b9f23062547ca93b1f5567da78158c924bebc6f734b443292cafe0b9964a.json
  29. 0 0
      node_modules/.cache/babel-loader/5277ad38747e8e22f9694d1ddb42b30bb18ac8c794409f0619d040fd648ca1fa.json
  30. 0 0
      node_modules/.cache/babel-loader/576f3b3b8bdd72adb012117df6f9e1a9c1f6df0400dae73416cc38e1ec2aff52.json
  31. 0 0
      node_modules/.cache/babel-loader/5afbb663edcb83ac6f875bc93d215a15c0e98a37f539ef6152c26350989d4e45.json
  32. 0 0
      node_modules/.cache/babel-loader/5ba1d524731ea5f6a6ad815632a12533b5770955089efcbec786b1680e1c4c57.json
  33. 0 0
      node_modules/.cache/babel-loader/5d0c25fc0caae8d1472b220acbb3081704b761c09ebb45965936cdfe9ffd9ba9.json
  34. 0 0
      node_modules/.cache/babel-loader/63ea83e90912d3143ca4f3fd5337414457566cf06724f08924c0929415249691.json
  35. 0 0
      node_modules/.cache/babel-loader/673f14fe883bfe2d633fe17ab3522a3f6b497ca33abc7e7061a9a48cde1da94a.json
  36. 0 0
      node_modules/.cache/babel-loader/67f2a7be32efb2d4efe25f0913f4fa691ab0e46b2864b5d7235abc8c294c0885.json
  37. 0 0
      node_modules/.cache/babel-loader/6ed1ab16c9a944e1410c915f542d9859ce2d43f1dbdec6ba527efcd9afc737b7.json
  38. 0 0
      node_modules/.cache/babel-loader/73cb0d19248ff0086700e29965e355c0d718857909f99640469d797e08f07890.json
  39. 0 0
      node_modules/.cache/babel-loader/7e7596a1ba44460956732de1439d5dce9c4e0a59d4094d74031ba8f45b05da18.json
  40. 0 0
      node_modules/.cache/babel-loader/80558d26070ae06f1b9add8ed6d9ce420525a2b4cc6158e23287217ecbadc3f3.json
  41. 1 0
      node_modules/.cache/babel-loader/846e488650fa70770a587b6f05d4fa7fa53d4f003bf127f4edae454c32c827e0.json
  42. 0 0
      node_modules/.cache/babel-loader/8557f64f8315b1c3831e3948d237550ce215dd058a953d75fd362b94887d0aa4.json
  43. 0 0
      node_modules/.cache/babel-loader/8efe7592507b65dfd4b11c9eee8e96c1dfa1c0d3ffc460b6296d9129d1417638.json
  44. 0 0
      node_modules/.cache/babel-loader/8faa1cb7c3df55076b5bd46a932bd3c1a0eaef646cd38e3dfc650fda95503e51.json
  45. 0 0
      node_modules/.cache/babel-loader/92d0f4d181acbf7f5c7dd44e208d9577681259959e7cd80ed330609563570d38.json
  46. 0 0
      node_modules/.cache/babel-loader/93e13719c85811986c5ac6301c5980a704179353d1b6307061a093ea7d545945.json
  47. 0 0
      node_modules/.cache/babel-loader/946ec1f92d690e23414cd560ca247d5590cacca0d2cc1a3d30b8ab447ea7f35f.json
  48. 0 0
      node_modules/.cache/babel-loader/983e44fb14ddd50c83219231a0cf957e57a78076aae3996c9a9e7a594a727e05.json
  49. 0 0
      node_modules/.cache/babel-loader/98fed58b64e352e1441a6c18ea84ad9ca600158e76226fc16a4e13431baaed2f.json
  50. 0 0
      node_modules/.cache/babel-loader/9a815c0b1f4dba738658f0d66d537a7ea47d49b1de31889c1355ed6d3c8e543b.json
  51. 0 0
      node_modules/.cache/babel-loader/9b33a3efcc757caa63bb3d38f773d6e46c84709628df0acc3fb27c3c4cc889fd.json
  52. 0 0
      node_modules/.cache/babel-loader/abb02ba8ea0e12527e12ba4e0ce0c8108a3a676c7e0a7e0017b14417fa17baf8.json
  53. 0 0
      node_modules/.cache/babel-loader/ad8c628545a3158b83ad5270477b14cb06ac7b8160fb948fab18aa8af7814f23.json
  54. 0 0
      node_modules/.cache/babel-loader/ad9c0658bb3c27029b27d95f42d3d277696ea200cb8848d680894fe88c835330.json
  55. 0 0
      node_modules/.cache/babel-loader/b2c6b8226468b6c66accd5f92458dd513babc71eede9b085ce20322d40923db2.json
  56. 0 0
      node_modules/.cache/babel-loader/b40ced7a414b266532adf8d70de0362ec4aaff7566323341b833fbe78180f75b.json
  57. 0 0
      node_modules/.cache/babel-loader/ba6aee02fd611b41774481feefb11659e9b41e20a7a2247484e6a3f607f65138.json
  58. 0 0
      node_modules/.cache/babel-loader/bdd4bcda6029f41dbb5b686a3087b226e0ad83d03a8631f71f4528135b7722c9.json
  59. 0 0
      node_modules/.cache/babel-loader/bee68379a7e490a36a51e643f86e896200bf2af61f5beb29a57c1ce926dee177.json
  60. 0 0
      node_modules/.cache/babel-loader/bfafdb5dc6c9dee583d2d5453b8b4885840ba4c277b5e0d7c62bb30b59e2dbbe.json
  61. 0 0
      node_modules/.cache/babel-loader/ce30dc8942fd34076a6d5e0e877f51945a46035652445277631e39a99c607254.json
  62. 0 0
      node_modules/.cache/babel-loader/d07ad845c2176d437ab4d466443b3ed2d1210b41d6c6b59b7810beadd8ba51f9.json
  63. 0 0
      node_modules/.cache/babel-loader/d10ec877a6514dad8b0d99304fc9e1349f75f6674bfee86f15b100a4f5388d8c.json
  64. 0 0
      node_modules/.cache/babel-loader/d57a0470fa49f0e4425e43b94016474eb29138a6104fd991f60ca513e5d33084.json
  65. 0 0
      node_modules/.cache/babel-loader/db8fc37d4d851440595195d83310198e5e2176c7d37e6d38309676facac361c5.json
  66. 0 0
      node_modules/.cache/babel-loader/e30cd32db227c9ca0e01c4db6acc3332df27a04a0b0cf1b9bd1664978c837c4b.json
  67. 0 0
      node_modules/.cache/babel-loader/e400971b58ce5ea1075ccc37545a3a70c7ad098e59e46a2a494f33a9d9db2cc5.json
  68. 0 0
      node_modules/.cache/babel-loader/e43e16f7ed6a88686778bb1c42a238cda261dcd16bbeb711de0da4225b724915.json
  69. 0 0
      node_modules/.cache/babel-loader/e65334a7a9fc9047035c4d02bd4e914748ba8c840c6a6df4ed7446335579e4c0.json
  70. 0 0
      node_modules/.cache/babel-loader/e763c26385918bdf50649aac941a4de19f5a40e76b1e582fcc07cce1850734d7.json
  71. 0 0
      node_modules/.cache/babel-loader/e96bb7b09476bb13ad336b7ee487ab4329077ff2595eb8e57cfd05cc025061fe.json
  72. 0 0
      node_modules/.cache/babel-loader/eb14582b1453f078602f4031be569127957609151d533074aff7ad5e589f471e.json
  73. 0 0
      node_modules/.cache/babel-loader/eff759761eef4a1db7540fb0d12b6ec9ddcf2e57b78d03682b185e013422e20c.json
  74. 0 0
      node_modules/.cache/babel-loader/f81ac7ff27ab4e27436070c75e784edbd34b48d9e6bbd246321765d3dbd650c9.json
  75. 0 0
      node_modules/.cache/babel-loader/f82e764cb63f8ab60fe25343aeeac550bd5bd2013c90dae31e1f7fd9cfa4f75c.json
  76. 0 0
      node_modules/.cache/babel-loader/fe56774d24d553cad14c60a61b40bdad126e2bd873c9ea4c9eeebf9032dc7e0c.json
  77. 0 0
      node_modules/.cache/eslint/ff75c7bc.json
  78. 46 15
      src/App.vue
  79. 84 31
      src/api/user.js
  80. 19 0
      src/types/dingtalk.d.ts
  81. 112 111
      src/views/EmployeeProcess.vue
  82. 37 13
      src/views/ShippingProcess.vue

+ 10 - 0
.idea/mybatisx/templates.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="TemplatesSettings">
+    <option name="templateConfigs">
+      <TemplateContext>
+        <option name="projectPath" value="$PROJECT_DIR$" />
+      </TemplateContext>
+    </option>
+  </component>
+</project>

+ 1 - 1
dist/index.html

@@ -1 +1 @@
-<!doctype html><html lang="zh"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>业务流程系统</title><script defer="defer" src="/js/chunk-vendors.17795bb7.js"></script><script defer="defer" src="/js/app.45e98fad.js"></script><link href="/css/chunk-vendors.10dd4e95.css" rel="stylesheet"><link href="/css/app.7c7ce6a5.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
+<!doctype html><html lang="zh"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><script src="https://g.alicdn.com/dingding/dingtalk-jsapi/3.0.25/dingtalk.open.js"></script><title>业务流程系统</title><script defer="defer" src="/js/chunk-vendors.025bb374.js"></script><script defer="defer" src="/js/app.1dad3c5d.js"></script><link href="/css/chunk-vendors.10dd4e95.css" rel="stylesheet"><link href="/css/app.7c7ce6a5.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

File diff suppressed because it is too large
+ 0 - 0
dist/js/app.1dad3c5d.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/app.1dad3c5d.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/js/app.45e98fad.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/app.45e98fad.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/js/chunk-vendors.025bb374.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/chunk-vendors.025bb374.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/js/chunk-vendors.17795bb7.js.map


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/0af52e7c2603affdbc798d921d74cb4785b116a6608c1e494b90766a0d8f0e49.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/192d4eebfa9daa1260d3a7d131ad02ac735cccc69fe6026828d7ac8e9aba1303.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/212c055a8e5f111f738ca1e40f8695b1018c5a6bac1551776ba18e6d380d4482.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/258c956bf4dc4e6c822b2a785442433b754cb9f831b13eb4b44299a54fd25122.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/2ca81eb61787b43867afc6d2d651d7fabcd9b942d87cf59cef37539c70fe517d.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/2de58d37b549578b032eb66c063f46f5060046cdb339f5c1a8ceb5c5216ca7e5.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/325a0b245abd3371b04c4f2168dd0598b826b045f6a2dcd5a569dcbf75f5c7c1.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/36a4de5f8a21c38522ea000e434ec5ac655c60c61a034bec48fb3f334927ddb3.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/38cdc89b807aadc53d28893b1097671519a50d888145c28abc2f29e8a77f4a24.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/3ac3b00ae31763fb6608ac62cb57ab28f41c653378c9fcd305b2a6c6ff91669d.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/3d90028d62d8d782f2620f40a5afd6a44b2aabc1c7f14eafe1135580bed6e9ce.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/42018c8fcfda7b6c347332fd2ad3b46c14bf7730cd51165b6bb19bd6838bf128.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/458d59398cb7f7e58c8afcdd1b40e0bfeb632e99a5ad47836d98ec3ba42bcc70.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/46e5fa8710bbc8063799a89b29bdff6820d55cce3b9840bbfd9a756c46cdd260.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/4c38b1159452c6bd4bf1bba5bed27a226b4492f5cd6957a1e04e5f65264d9b4d.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/4d535347281532a96f0b727af23f95ccd24464e70da76fb6c5d0dfc76ecc8af8.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/4f507caf40c79d20e936a30a1b5d9924845c7c307dca6249744aa95e21e75140.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/512c70459cfa87e123072a1f39ee61e5c26ed281106394a2c207dfbc90f2da37.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/5191b9f23062547ca93b1f5567da78158c924bebc6f734b443292cafe0b9964a.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/5277ad38747e8e22f9694d1ddb42b30bb18ac8c794409f0619d040fd648ca1fa.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/576f3b3b8bdd72adb012117df6f9e1a9c1f6df0400dae73416cc38e1ec2aff52.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/5afbb663edcb83ac6f875bc93d215a15c0e98a37f539ef6152c26350989d4e45.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/5ba1d524731ea5f6a6ad815632a12533b5770955089efcbec786b1680e1c4c57.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/5d0c25fc0caae8d1472b220acbb3081704b761c09ebb45965936cdfe9ffd9ba9.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/63ea83e90912d3143ca4f3fd5337414457566cf06724f08924c0929415249691.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/673f14fe883bfe2d633fe17ab3522a3f6b497ca33abc7e7061a9a48cde1da94a.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/67f2a7be32efb2d4efe25f0913f4fa691ab0e46b2864b5d7235abc8c294c0885.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/6ed1ab16c9a944e1410c915f542d9859ce2d43f1dbdec6ba527efcd9afc737b7.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/73cb0d19248ff0086700e29965e355c0d718857909f99640469d797e08f07890.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/7e7596a1ba44460956732de1439d5dce9c4e0a59d4094d74031ba8f45b05da18.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/80558d26070ae06f1b9add8ed6d9ce420525a2b4cc6158e23287217ecbadc3f3.json


+ 1 - 0
node_modules/.cache/babel-loader/846e488650fa70770a587b6f05d4fa7fa53d4f003bf127f4edae454c32c827e0.json

@@ -0,0 +1 @@
+{"ast":null,"code":"import \"core-js/modules/es.symbol.js\";\nimport \"core-js/modules/es.symbol.description.js\";\nimport \"core-js/modules/es.symbol.iterator.js\";\nimport \"core-js/modules/es.object.to-string.js\";\nimport \"core-js/modules/es.string.iterator.js\";\nimport \"core-js/modules/web.dom-collections.iterator.js\";\nfunction _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, _typeof(o);\n}\nexport { _typeof as default };","map":{"version":3,"names":["_typeof","o","Symbol","iterator","constructor","prototype","default"],"sources":["E:/dev/MyProject/workflow/node_modules/@babel/runtime/helpers/esm/typeof.js"],"sourcesContent":["function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, _typeof(o);\n}\nexport { _typeof as default };"],"mappings":";;;;;;AAAA,SAASA,OAAOA,CAACC,CAAC,EAAE;EAClB,yBAAyB;;EAEzB,OAAOD,OAAO,GAAG,UAAU,IAAI,OAAOE,MAAM,IAAI,QAAQ,IAAI,OAAOA,MAAM,CAACC,QAAQ,GAAG,UAAUF,CAAC,EAAE;IAChG,OAAO,OAAOA,CAAC;EACjB,CAAC,GAAG,UAAUA,CAAC,EAAE;IACf,OAAOA,CAAC,IAAI,UAAU,IAAI,OAAOC,MAAM,IAAID,CAAC,CAACG,WAAW,KAAKF,MAAM,IAAID,CAAC,KAAKC,MAAM,CAACG,SAAS,GAAG,QAAQ,GAAG,OAAOJ,CAAC;EACrH,CAAC,EAAED,OAAO,CAACC,CAAC,CAAC;AACf;AACA,SAASD,OAAO,IAAIM,OAAO","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}

File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/8557f64f8315b1c3831e3948d237550ce215dd058a953d75fd362b94887d0aa4.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/8efe7592507b65dfd4b11c9eee8e96c1dfa1c0d3ffc460b6296d9129d1417638.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/8faa1cb7c3df55076b5bd46a932bd3c1a0eaef646cd38e3dfc650fda95503e51.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/92d0f4d181acbf7f5c7dd44e208d9577681259959e7cd80ed330609563570d38.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/93e13719c85811986c5ac6301c5980a704179353d1b6307061a093ea7d545945.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/946ec1f92d690e23414cd560ca247d5590cacca0d2cc1a3d30b8ab447ea7f35f.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/983e44fb14ddd50c83219231a0cf957e57a78076aae3996c9a9e7a594a727e05.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/98fed58b64e352e1441a6c18ea84ad9ca600158e76226fc16a4e13431baaed2f.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/9a815c0b1f4dba738658f0d66d537a7ea47d49b1de31889c1355ed6d3c8e543b.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/9b33a3efcc757caa63bb3d38f773d6e46c84709628df0acc3fb27c3c4cc889fd.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/abb02ba8ea0e12527e12ba4e0ce0c8108a3a676c7e0a7e0017b14417fa17baf8.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/ad8c628545a3158b83ad5270477b14cb06ac7b8160fb948fab18aa8af7814f23.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/ad9c0658bb3c27029b27d95f42d3d277696ea200cb8848d680894fe88c835330.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/b2c6b8226468b6c66accd5f92458dd513babc71eede9b085ce20322d40923db2.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/b40ced7a414b266532adf8d70de0362ec4aaff7566323341b833fbe78180f75b.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/ba6aee02fd611b41774481feefb11659e9b41e20a7a2247484e6a3f607f65138.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/bdd4bcda6029f41dbb5b686a3087b226e0ad83d03a8631f71f4528135b7722c9.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/bee68379a7e490a36a51e643f86e896200bf2af61f5beb29a57c1ce926dee177.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/bfafdb5dc6c9dee583d2d5453b8b4885840ba4c277b5e0d7c62bb30b59e2dbbe.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/ce30dc8942fd34076a6d5e0e877f51945a46035652445277631e39a99c607254.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/d07ad845c2176d437ab4d466443b3ed2d1210b41d6c6b59b7810beadd8ba51f9.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/d10ec877a6514dad8b0d99304fc9e1349f75f6674bfee86f15b100a4f5388d8c.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/d57a0470fa49f0e4425e43b94016474eb29138a6104fd991f60ca513e5d33084.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/db8fc37d4d851440595195d83310198e5e2176c7d37e6d38309676facac361c5.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/e30cd32db227c9ca0e01c4db6acc3332df27a04a0b0cf1b9bd1664978c837c4b.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/e400971b58ce5ea1075ccc37545a3a70c7ad098e59e46a2a494f33a9d9db2cc5.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/e43e16f7ed6a88686778bb1c42a238cda261dcd16bbeb711de0da4225b724915.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/e65334a7a9fc9047035c4d02bd4e914748ba8c840c6a6df4ed7446335579e4c0.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/e763c26385918bdf50649aac941a4de19f5a40e76b1e582fcc07cce1850734d7.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/e96bb7b09476bb13ad336b7ee487ab4329077ff2595eb8e57cfd05cc025061fe.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/eb14582b1453f078602f4031be569127957609151d533074aff7ad5e589f471e.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/eff759761eef4a1db7540fb0d12b6ec9ddcf2e57b78d03682b185e013422e20c.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/f81ac7ff27ab4e27436070c75e784edbd34b48d9e6bbd246321765d3dbd650c9.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/f82e764cb63f8ab60fe25343aeeac550bd5bd2013c90dae31e1f7fd9cfa4f75c.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/babel-loader/fe56774d24d553cad14c60a61b40bdad126e2bd873c9ea4c9eeebf9032dc7e0c.json


File diff suppressed because it is too large
+ 0 - 0
node_modules/.cache/eslint/ff75c7bc.json


+ 46 - 15
src/App.vue

@@ -68,6 +68,7 @@
               v-for="item in filteredMenuItems"
               :key="item.path"
               :index="item.path"
+              :hidden="item.isHidden"
               @click="handleMenuItemClick(item)">
             <i :class="item.icon"></i>
             <span>{{ item.title }}</span>
@@ -82,6 +83,8 @@
 </template>
 
 <script>
+import {getMenuItems} from "@/api/user";
+
 export default {
   name: 'App',
   data() {
@@ -95,20 +98,23 @@ export default {
           path: '/process/employee?userId=' + this.$route.query.userId,
           title: '员工入职业务流程',
           icon: 'el-icon-user',
-          showProcessSelector: false
-        },
-        {
-          path: '/process/sales?userId=' + this.$route.query.userId,
-          title: '销售订单业务流程',
-          icon: 'el-icon-goods',
-          showProcessSelector: false
-        },
-        {
-          path: '/process/shipping?userId=' + this.$route.query.userId,
-          title: '发货业务流程',
-          icon: 'el-icon-truck',
-          showProcessSelector: false
+          showProcessSelector: false,
+          isHidden: false
         }
+        // {
+        //   path: '/process/sales?userId=' + this.$route.query.userId,
+        //   title: '销售订单业务流程',
+        //   icon: 'el-icon-goods',
+        //   showProcessSelector: false,
+        //   isHidden: false
+        // },
+        // {
+        //   path: '/process/shipping?userId=' + this.$route.query.userId,
+        //   title: '发货业务流程',
+        //   icon: 'el-icon-truck',
+        //   showProcessSelector: false,
+        //   isHidden: true
+        // }
       ]
     }
   },
@@ -145,7 +151,32 @@ export default {
   },
   mounted() {
     window.addEventListener('resize', this.handleResize)
-    this.userName = this.$route.query.userName;
+    const userId = this.$route.query.userId;
+
+    // 调用公共方法获取菜单项
+    getMenuItems(userId).then(response => {
+      if (response && Array.isArray(response)) {
+        // 清空原有菜单项
+        this.menuItems = [];
+
+        // 将获取的菜单项填入menuItems数组
+        response.forEach(item => {
+          this.menuItems.push({
+            path: item.url + (item.url.includes('?') ? '&' : '?') + 'userId=' + userId,
+            title: item.remark || item.name || '未命名菜单',
+            icon: item.icon || 'el-icon-menu',
+            showProcessSelector: item.showProcessSelector || false,
+            isHidden: item.isHidden || false
+          });
+        });
+
+        console.log("菜单项已更新:", this.menuItems);
+      } else {
+        console.error("获取菜单项失败或格式不正确:", response);
+      }
+    }).catch(error => {
+      console.error("获取菜单项出错:", error);
+    });
   },
   beforeDestroy() {
     window.removeEventListener('resize', this.handleResize)
@@ -230,4 +261,4 @@ export default {
     padding: 10px;
   }
 }
-</style> 
+</style>

+ 84 - 31
src/api/user.js

@@ -1,5 +1,5 @@
 import axios from 'axios';
-import dd from 'dingtalk-jsapi';
+
 /**
  * 根据用户ID获取用户信息
  * @param {string} userId - 用户ID
@@ -7,37 +7,90 @@ import dd from 'dingtalk-jsapi';
  * @throws {Error} 当请求失败或userId未提供时抛出错误
  */
 export const fetchUserInfo = async (userId) => {
-  if (!userId) {
-    throw new Error('未提供用户ID参数');
-  }
-
-  try {
-    const response = await axios.get(`http://localhost:8088/business/queryId?userId=${userId}`);
-    // 直接返回API响应中的data部分,这样调用者可以直接访问其中的属性
-    return response.data.data;
-  } catch (error) {
-    console.error('获取用户信息失败:', error);
-    throw new Error('获取用户信息失败,请稍后再试');
-  }
+    if (!userId || undefined === userId) {
+        throw new Error('未提供用户ID参数');
+    }
+
+    try {
+        const response = await axios.get(`http://192.168.39.138:8088/business/queryId?userId=${userId}`);
+        // 直接返回API响应中的data部分,这样调用者可以直接访问其中的属性
+        return response.data.data;
+    } catch (error) {
+        console.error('获取用户信息失败:', error);
+        throw new Error('获取用户信息失败,请稍后再试');
+    }
 };
 
 
-export const getAuthCode = async (userId) => {
-//alert("开始获取钉钉code");
-  dd.getAuthCode({
-    success: (res) => {
-      const { code } = res;
-      console.log('code=', code);
-      //alert("获取钉钉code"+ code);
-      //alert('http://vqs.tztek.com:8010/#/BreakpointLogin?username=' + code);
-      callApi(code);
-    },
-    fail: (err) => {
-      alert('errMsg:' + JSON.stringify(err));
-    },
-    complete: () => {
-      console.log('done');
-    },
-    corpId: 'ding8ee5c701147645d9',
-  });
+/**
+ * 获取钉钉授权码
+ * @returns {Promise<string>} 返回钉钉授权码
+ * @throws {Error} 当不在钉钉环境中或获取授权码失败时抛出错误
+ */
+export const getAuthCode = () => {
+    // 检查是否在钉钉环境中
+    if (typeof window === 'undefined' || !window.dd) {
+        return Promise.reject(new Error('当前环境不是钉钉环境'));
+    }
+
+    const dingTalk = window.dd; // 将全局dd对象赋值给局部变量
+
+    // 将钉钉的回调API转换为Promise
+    return new Promise((resolve, reject) => {
+        dingTalk.ready(() => {
+            dingTalk.runtime.permission.requestAuthCode({
+                corpId: 'ding8ee5c701147645d9',
+                success: (res) => {
+                    alert('获取钉钉授权码成功:' + res.code)
+                    console.log('获取钉钉授权码成功:', res.code);
+                    resolve(res.code);
+                },
+                fail: (err) => {
+                    console.error('获取钉钉授权码失败:', err);
+                    reject(new Error(err.errorMessage || '获取钉钉授权码失败'));
+                }
+            });
+        });
+    });
 };
+
+/**
+ * 获取用户对应的模块信息
+ * @returns {Promise<Object>} 返回用户信息
+ * @throws {Error} 当获取授权码或用户信息失败时抛出错误
+ */
+export const getMenuItems = async (userId) => {
+    try {
+        // 使用授权码调用后端接口获取用户信息
+        const response = await axios.get(`http://192.168.39.138:8088/business/getMenuItems?userId=${userId}`);
+        return response.data.data;
+    } catch (error) {
+        console.error('获取用户菜单模块信息失败:', error);
+        throw new Error(error.message || '获取用户菜单模块信息失败,请稍后再试');
+    }
+};
+
+export const openLink = async (code, url, srmModule) => {
+    // 检查是否在钉钉环境中
+    if (typeof window === 'undefined' || !window.dd) {
+        return Promise.reject(new Error('当前环境不是钉钉环境'));
+    }
+
+    const dingTalk = window.dd;
+    // 将钉钉的回调API转换为Promise
+    return new Promise((resolve, reject) => {
+        dingTalk.ready(() => {
+            dingTalk.openLink({
+                url: 'http://192.168.2.111:8014/#/BreakpointLogin?username=' + code + 'srmModule=' + srmModule,  //内网地址
+                onSuccess: (result) => {
+                    console.log('openLink success', result);
+                    resolve(result);
+                },
+                onFail: (err) => {
+                    console.error('openLink fail', err);
+                    reject(err);
+                }
+            })
+        });
+    });
+}

+ 19 - 0
src/types/dingtalk.d.ts

@@ -0,0 +1,19 @@
+interface DingTalkSDK {
+  ready: (callback: () => void) => void;
+  runtime: {
+    permission: {
+      requestAuthCode: (params: {
+        corpId: string;
+        success?: (result: { code: string }) => void;
+        fail?: (error: any) => void;
+      }) => void;
+    };
+  };
+  // 可以根据需要添加更多钉钉API的类型定义
+}
+
+declare global {
+  const dd: DingTalkSDK;
+}
+
+export {};

+ 112 - 111
src/views/EmployeeProcess.vue

@@ -38,18 +38,18 @@
           <i class="el-icon-refresh"></i>
         </div>
       </div>
-      
+
       <div class="zoom-tip" v-if="scale !== 1">
         <i class="el-icon-info-circle"></i>
         <span>当前缩放: {{ Math.round(scale * 100) }}%</span>
       </div>
-      
+
       <div class="wheel-tip" v-if="showWheelTip">
         <i class="el-icon-mouse"></i>
         <span>使用鼠标滚轮缩放</span>
       </div>
-      
-      <div class="process-flow employee-process" 
+
+      <div class="process-flow employee-process"
            ref="processFlow"
            :style="{ transform: `scale(${scale})` }"
            @mousedown="startPanning"
@@ -58,8 +58,8 @@
            @mouseleave="stopPanning"
            @wheel.prevent="handleWheel">
         <!-- 流程图节点 -->
-        <div 
-          v-for="node in nodes" 
+        <div
+          v-for="node in nodes"
           :key="node.id"
           class="flow-node"
           :class="[node.type]"
@@ -88,59 +88,59 @@
           </defs>
 
           <!-- 主流程路径 -->
-          <path 
-            d="M 400,80 L 400,120" 
-            class="process-line main" 
+          <path
+            d="M 400,80 L 400,120"
+            class="process-line main"
             marker-end="url(#arrow)" />
-          
+
           <!-- 面试到分支 -->
-          <path 
-            d="M 430,150 L 570,150" 
-            class="process-line" 
+          <path
+            d="M 430,150 L 570,150"
+            class="process-line"
             marker-end="url(#arrow)" />
-          <path 
-            d="M 370,150 L 230,220" 
-            class="process-line" 
+          <path
+            d="M 370,150 L 230,220"
+            class="process-line"
             marker-end="url(#arrow)" />
-            
+
           <!-- 发录用通知书到准备入职材料 -->
-          <path 
-            d="M 600,180 L 600,220" 
-            class="process-line main" 
+          <path
+            d="M 600,180 L 600,220"
+            class="process-line main"
             marker-end="url(#arrow)" />
-            
+
           <!-- 准备入职材料到材料核实 -->
-          <path 
-            d="M 600,280 L 600,320" 
-            class="process-line main" 
+          <path
+            d="M 600,280 L 600,320"
+            class="process-line main"
             marker-end="url(#arrow)" />
 
           <!-- 从材料核实到办理入职 -->
-          <path 
-            d="M 600,380 L 600,420" 
-            class="process-line main" 
+          <path
+            d="M 600,380 L 600,420"
+            class="process-line main"
             marker-end="url(#arrow)" />
-            
+
           <!-- 从面试不通过到发送拒绝通知 -->
-          <path 
-            d="M 200,250 L 200,220" 
-            class="process-line" 
+          <path
+            d="M 200,250 L 200,220"
+            class="process-line"
             marker-end="url(#arrow)" />
-            
+
           <!-- 从拒绝通知到归档简历 -->
-          <path 
-            d="M 200,280 L 200,320" 
-            class="process-line" 
+          <path
+            d="M 200,280 L 200,320"
+            class="process-line"
             marker-end="url(#arrow)" />
-            
+
           <!-- 从办理入职和归档简历到结束 -->
-          <path 
-            d="M 600,480 L 600,525 Q 600,550 560,550 L 430,550" 
-            class="process-line" 
+          <path
+            d="M 600,480 L 600,525 Q 600,550 560,550 L 430,550"
+            class="process-line"
             marker-end="url(#arrow)" />
-          <path 
-            d="M 200,380 L 200,525 Q 200,550 235,550 L 370,550" 
-            class="process-line" 
+          <path
+            d="M 200,380 L 200,525 Q 200,550 235,550 L 370,550"
+            class="process-line"
             marker-end="url(#arrow)" />
 
           <!-- 添加文本标签 -->
@@ -187,75 +187,75 @@ export default {
       showWheelTip: true,
       userName: '',
       nodes: [
-        { 
-          id: 'start', 
-          type: 'start', 
-          label: '开始', 
-          x: 400, 
+        {
+          id: 'start',
+          type: 'start',
+          label: '开始',
+          x: 400,
           y: 50,
           url: '/process/start'
         },
-        { 
-          id: 'interview', 
-          type: 'condition', 
-          label: '面试', 
-          x: 400, 
+        {
+          id: 'interview',
+          type: 'condition',
+          label: '面试',
+          x: 400,
           y: 150,
           url: '/interview'
         },
-        { 
-          id: 'pass', 
-          type: 'process', 
-          label: '发录用通知书', 
-          x: 600, 
+        {
+          id: 'pass',
+          type: 'process',
+          label: '发录用通知书',
+          x: 600,
           y: 150,
           url: '/offer'
         },
-        { 
-          id: 'prepare', 
-          type: 'process', 
-          label: '准备入职材料', 
-          x: 600, 
+        {
+          id: 'prepare',
+          type: 'process',
+          label: '准备入职材料',
+          x: 600,
           y: 250,
           url: '/prepare'
         },
-        { 
-          id: 'verify', 
-          type: 'condition', 
-          label: '材料核实', 
-          x: 600, 
+        {
+          id: 'verify',
+          type: 'condition',
+          label: '材料核实',
+          x: 600,
           y: 350,
           url: '/verify'
         },
-        { 
-          id: 'onboard', 
-          type: 'process', 
-          label: '办理入职', 
-          x: 600, 
+        {
+          id: 'onboard',
+          type: 'process',
+          label: '办理入职',
+          x: 600,
           y: 450,
           url: '/onboard'
         },
-        { 
-          id: 'reject', 
-          type: 'process', 
-          label: '发送拒绝通知', 
-          x: 200, 
+        {
+          id: 'reject',
+          type: 'process',
+          label: '发送拒绝通知',
+          x: 200,
           y: 250,
           url: '/reject'
         },
-        { 
-          id: 'archive', 
-          type: 'process', 
-          label: '归档简历', 
-          x: 200, 
+        {
+          id: 'archive',
+          type: 'process',
+          label: '归档简历',
+          x: 200,
           y: 350,
           url: '/archive'
         },
-        { 
-          id: 'end', 
-          type: 'end', 
-          label: '结束', 
-          x: 400, 
+        {
+          id: 'end',
+          type: 'end',
+          label: '结束',
+          x: 400,
           y: 550,
           url: '/process/end'
         }
@@ -304,32 +304,32 @@ export default {
     handleWheel(e) {
       // 阻止默认滚动行为
       e.preventDefault();
-      
+
       // 确定滚动方向(向上滚动为放大,向下滚动为缩小)
       const delta = Math.sign(e.deltaY) * -0.1;
-      
+
       // 计算新的缩放值
       const newScale = Math.max(0.5, Math.min(2, this.scale + delta));
-      
+
       // 如果缩放值在允许范围内,就应用它
       if (newScale !== this.scale) {
         // 计算鼠标位置相对于流程图容器的位置
         const flowEl = this.$refs.processFlow;
         const rect = flowEl.getBoundingClientRect();
-        
+
         // 计算鼠标在流程图上的坐标(考虑当前偏移和缩放)
         const mouseX = (e.clientX - rect.left) / this.scale;
         const mouseY = (e.clientY - rect.top) / this.scale;
-        
+
         // 获取当前偏移
         const currentLeft = parseInt(flowEl.style.left || '0');
         const currentTop = parseInt(flowEl.style.top || '0');
-        
+
         // 计算新的偏移,保持鼠标所指位置不变
         const scaleChange = newScale - this.scale;
         const newLeft = currentLeft - mouseX * scaleChange;
         const newTop = currentTop - mouseY * scaleChange;
-        
+
         // 应用新的缩放和偏移
         this.scale = newScale;
         flowEl.style.left = `${newLeft}px`;
@@ -341,7 +341,7 @@ export default {
       if (e.target.closest('.flow-node')) {
         return;
       }
-      
+
       this.panEnabled = true;
       this.lastPosX = e.clientX;
       this.lastPosY = e.clientY;
@@ -349,19 +349,19 @@ export default {
     },
     pan(e) {
       if (!this.panEnabled) return;
-      
+
       const flowEl = this.$refs.processFlow;
       if (!flowEl) return;
-      
+
       const dx = e.clientX - this.lastPosX;
       const dy = e.clientY - this.lastPosY;
-      
+
       const currentTop = parseInt(flowEl.style.top || '0');
       const currentLeft = parseInt(flowEl.style.left || '0');
-      
+
       flowEl.style.top = (currentTop + dy) + 'px';
       flowEl.style.left = (currentLeft + dx) + 'px';
-      
+
       this.lastPosX = e.clientX;
       this.lastPosY = e.clientY;
     },
@@ -392,6 +392,7 @@ export default {
         const userInfo = await fetchUserInfo(userId);
         debugger;
         // 使用返回的数据
+        console.log("userName:" + userInfo.username)
         this.userName = userInfo.username;
         this.loading = false;
       } catch (error) {
@@ -673,51 +674,51 @@ export default {
   .process-flow {
     height: 700px;
   }
-  
+
   .intro-content {
     flex-direction: column;
   }
-  
+
   .intro-description {
     padding-right: 0;
     margin-bottom: 20px;
   }
-  
+
   .flow-node {
     width: 100px;
     height: 50px;
   }
-  
+
   .flow-node.condition {
     width: 70px;
     height: 70px;
   }
-  
+
   .node-label {
     font-size: 12px;
   }
-  
+
   .zoom-controls {
     bottom: 20px;
     right: 20px;
     top: auto;
   }
-  
+
   .zoom-btn {
     width: 32px;
     height: 32px;
   }
-  
+
   .zoom-btn i {
     font-size: 16px;
   }
-  
+
   .zoom-tip {
     bottom: 20px;
     top: auto;
     font-size: 12px;
   }
-  
+
   .wheel-tip {
     bottom: 20px;
     left: 20px;
@@ -725,4 +726,4 @@ export default {
     font-size: 12px;
   }
 }
-</style> 
+</style>

+ 37 - 13
src/views/ShippingProcess.vue

@@ -156,7 +156,7 @@
 </template>
 
 <script>
-import {fetchUserInfo} from "@/api/user";
+import {fetchUserInfo, getAuthCode} from "@/api/user";
 
 export default {
   name: 'ShippingProcess',
@@ -179,8 +179,9 @@ export default {
           label: '开始',
           x: 400,
           y: 50,
-          url: 'http://dlp.tztek.com:3002/OALink.html?LinkId=201&ddtab=true',
-          finishUrl: 'http://oa.tztek.com:8989/spa/workflow/static4form/index.html?_rdm=1744773380522#/main/workflow/req?iscreate=1&workflowid=473102'
+          url: 'http://dlp.tztek.com:3002/OALink.html?ddtab=true&LinkId=',
+          urlParam: '',
+          system: 'OA'
         },
         {
           id: 'order_receive',
@@ -188,8 +189,9 @@ export default {
           label: '接收订单',
           x: 400,
           y: 150,
-          url: 'dingtalk://dingtalkclient/page/link?url=http://dlp.tztek.com:3002/ding2SRM.html?ddtab=true',
-          finishUrl: 'http://192.168.2.111:8014/#/PriceAdjustment?key=750fca34'
+          url: 'http://192.168.2.111:8014/#/BreakpointLogin',
+          urlParam: '',
+          system: 'SRM'
         },
         {
           id: 'order_verify',
@@ -334,14 +336,34 @@ export default {
     }, 5000);
   },
   methods: {
-    handleNodeClick(node) {
+    async handleNodeClick(node) {
       this.currentNode = node;
-      //this.dialogVisible = true;
-      const childWindow = window.open(node.url);
-      setTimeout(() => {
-        childWindow.close();
-        // window.open(node.finishUrl);
-      }, 5000);
+      let finalUrl = '';
+      switch (node.system) {
+        case 'OA': {
+          // OA系统:打开URL后跳转到完成页面
+          finalUrl = node.url + '201';
+          window.open(node.url);
+          setTimeout(() => {
+            this.showWheelTip = false;
+          }, 5000);
+          break;
+        }
+        case 'SRM': {
+          // SRM系统:直接打开URL
+          const authCode = await getAuthCode();
+          finalUrl = node.url + '?username=' + authCode + '&srmModule=PriceAdjustment';
+          console.log("finalUrl:" + finalUrl)
+          window.open(finalUrl);
+          break;
+        }
+        default:
+          // 默认行为:打开URL并显示对话框
+          this.dialogVisible = true;
+          if (node.url) {
+            window.open(node.url);
+          }
+      }
     },
     getNodeTypeName(type) {
       const types = {
@@ -454,6 +476,7 @@ export default {
     },
     async getUserData() {
       this.loading = true;
+      //await getDingTalkUserInfo();
       try {
         // 假设userId来自某个输入或路由参数
         const userId = this.$route.query.userId;
@@ -462,6 +485,7 @@ export default {
         debugger;
         // 使用返回的数据
         this.userName = userInfo.username;
+        console.log("userName:" + userInfo.username)
         this.loading = false;
       } catch (error) {
         // 错误处理
@@ -794,4 +818,4 @@ export default {
     font-size: 12px;
   }
 }
-</style> 
+</style>

Some files were not shown because too many files changed in this diff