npmapps 1.1.6 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/package.json +1 -1
  2. package/app/wujie-wk/dev.log +0 -1979
  3. package/app/wujie-wk/wujie-react-child/README.md +0 -126
  4. package/app/wujie-wk/wujie-react-child/eslint.config.js +0 -28
  5. package/app/wujie-wk/wujie-react-child/index.html +0 -13
  6. package/app/wujie-wk/wujie-react-child/package-lock.json +0 -4344
  7. package/app/wujie-wk/wujie-react-child/package.json +0 -32
  8. package/app/wujie-wk/wujie-react-child/public/vite.svg +0 -1
  9. package/app/wujie-wk/wujie-react-child/src/App.css +0 -0
  10. package/app/wujie-wk/wujie-react-child/src/App.tsx +0 -72
  11. package/app/wujie-wk/wujie-react-child/src/assets/react.svg +0 -1
  12. package/app/wujie-wk/wujie-react-child/src/components/FeatureCards.css +0 -63
  13. package/app/wujie-wk/wujie-react-child/src/components/FeatureCards.tsx +0 -112
  14. package/app/wujie-wk/wujie-react-child/src/components/LightCard/index.tsx +0 -36
  15. package/app/wujie-wk/wujie-react-child/src/components/LightCard/style.css +0 -20
  16. package/app/wujie-wk/wujie-react-child/src/hooks/use3DCard.ts +0 -53
  17. package/app/wujie-wk/wujie-react-child/src/hooks/useLightCard.ts +0 -141
  18. package/app/wujie-wk/wujie-react-child/src/index.css +0 -0
  19. package/app/wujie-wk/wujie-react-child/src/main.tsx +0 -8
  20. package/app/wujie-wk/wujie-react-child/src/pages/ChildToParent/index.css +0 -55
  21. package/app/wujie-wk/wujie-react-child/src/pages/ChildToParent/index.tsx +0 -88
  22. package/app/wujie-wk/wujie-react-child/src/pages/Css.tsx +0 -28
  23. package/app/wujie-wk/wujie-react-child/src/pages/Home.tsx +0 -72
  24. package/app/wujie-wk/wujie-react-child/src/pages/ParentToChild.css +0 -85
  25. package/app/wujie-wk/wujie-react-child/src/pages/ParentToChild.tsx +0 -119
  26. package/app/wujie-wk/wujie-react-child/src/pages/RouterJump/index.css +0 -61
  27. package/app/wujie-wk/wujie-react-child/src/pages/RouterJump/index.tsx +0 -87
  28. package/app/wujie-wk/wujie-react-child/src/router/index.tsx +0 -63
  29. package/app/wujie-wk/wujie-react-child/src/types/wujie.d.ts +0 -26
  30. package/app/wujie-wk/wujie-react-child/src/vite-env.d.ts +0 -1
  31. package/app/wujie-wk/wujie-react-child/tsconfig.app.json +0 -26
  32. package/app/wujie-wk/wujie-react-child/tsconfig.json +0 -7
  33. package/app/wujie-wk/wujie-react-child/tsconfig.node.json +0 -24
  34. package/app/wujie-wk/wujie-react-child/vite.config.ts +0 -10
  35. package/app/wujie-wk/wujie-vue3-child/.claude/settings.local.json +0 -8
  36. package/app/wujie-wk/wujie-vue3-child/.vscode/extensions.json +0 -3
  37. package/app/wujie-wk/wujie-vue3-child/PROJECT_MEMORY.md +0 -427
  38. package/app/wujie-wk/wujie-vue3-child/README.md +0 -5
  39. package/app/wujie-wk/wujie-vue3-child/index.html +0 -13
  40. package/app/wujie-wk/wujie-vue3-child/package-lock.json +0 -5744
  41. package/app/wujie-wk/wujie-vue3-child/package.json +0 -28
  42. package/app/wujie-wk/wujie-vue3-child/public/vite.svg +0 -1
  43. package/app/wujie-wk/wujie-vue3-child/src/App.vue +0 -130
  44. package/app/wujie-wk/wujie-vue3-child/src/assets/vue.svg +0 -1
  45. package/app/wujie-wk/wujie-vue3-child/src/components/HelloWorld.vue +0 -43
  46. package/app/wujie-wk/wujie-vue3-child/src/components/SmartAnchorTabs/index.jsx +0 -224
  47. package/app/wujie-wk/wujie-vue3-child/src/components/SmartAnchorTabs/style.css +0 -154
  48. package/app/wujie-wk/wujie-vue3-child/src/components/tags-view.vue +0 -193
  49. package/app/wujie-wk/wujie-vue3-child/src/components/tags-view1.vue +0 -131
  50. package/app/wujie-wk/wujie-vue3-child/src/directives/aiLoading.js +0 -182
  51. package/app/wujie-wk/wujie-vue3-child/src/hooks/useClickOutside.js +0 -11
  52. package/app/wujie-wk/wujie-vue3-child/src/hooks/useTableDragSort.js +0 -28
  53. package/app/wujie-wk/wujie-vue3-child/src/main.js +0 -18
  54. package/app/wujie-wk/wujie-vue3-child/src/router/index.js +0 -104
  55. package/app/wujie-wk/wujie-vue3-child/src/store/tagsViewStroe.js +0 -34
  56. package/app/wujie-wk/wujie-vue3-child/src/style.css +0 -171
  57. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/collapseExpand/index.jsx +0 -108
  58. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/collapseExpand/index.module.scss +0 -97
  59. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/README.md +0 -836
  60. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/REFLEX_EXAMPLES.md +0 -728
  61. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentPersonnelSelector.jsx +0 -687
  62. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentPersonnelSelector.module.scss +0 -560
  63. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentSelector.jsx +0 -570
  64. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentSelector.module.scss +0 -330
  65. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentSelectorV2.jsx +0 -378
  66. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentSelectorV2.module.scss +0 -228
  67. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/OptionsSelector.jsx +0 -399
  68. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/OptionsSelector.module.scss +0 -252
  69. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/PersonnelSelector.jsx +0 -585
  70. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/PersonnelSelector.module.scss +0 -331
  71. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/PopoverSelector.jsx +0 -392
  72. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/PopoverSelector.module.scss +0 -39
  73. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/README.md +0 -248
  74. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/SelectorTrigger.jsx +0 -194
  75. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/index.jsx +0 -1459
  76. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/mockData.js +0 -301
  77. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/dialogueSegment/index.jsx +0 -182
  78. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/dialogueSegment/index.module.scss +0 -28
  79. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/index.jsx +0 -375
  80. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/ChartsPanel/index.jsx +0 -121
  81. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/ChartsPanel/index.module.scss +0 -76
  82. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/DonutChart/index.jsx +0 -104
  83. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/PracticeTable/index.jsx +0 -75
  84. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/PracticeTable/index.module.scss +0 -12
  85. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankBarChart/index.jsx +0 -62
  86. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankBarChart/index.module.scss +0 -43
  87. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankingGroup/index.jsx +0 -29
  88. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankingGroup/index.module.scss +0 -5
  89. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankingList/index.jsx +0 -58
  90. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankingList/index.module.scss +0 -85
  91. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/ScriptStatsPanel/index.jsx +0 -92
  92. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/ScriptStatsPanel/index.module.scss +0 -56
  93. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/StatCardsRow/index.jsx +0 -40
  94. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/StatCardsRow/index.module.scss +0 -53
  95. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/echarts/EchartsDonut.jsx +0 -106
  96. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/echarts/EchartsRankBar.jsx +0 -132
  97. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/index.jsx +0 -176
  98. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/index.module.scss +0 -96
  99. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/CoachReport/index.jsx +0 -162
  100. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/CoachReport/index.module.scss +0 -16
  101. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ComprehensiveEvaluation/index.jsx +0 -29
  102. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ComprehensiveEvaluation/index.module.scss +0 -25
  103. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DialogueBubble/index.jsx +0 -106
  104. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DialogueBubble/index.module.scss +0 -164
  105. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DialogueRecord/index.jsx +0 -182
  106. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DialogueRecord/index.module.scss +0 -203
  107. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DimensionDetail/index.jsx +0 -145
  108. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DimensionDetail/index.module.scss +0 -126
  109. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DimensionScores/index.jsx +0 -67
  110. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DimensionScores/index.module.scss +0 -105
  111. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ReportHeader/index.jsx +0 -81
  112. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ReportHeader/index.module.scss +0 -47
  113. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/RoleInfo/index.jsx +0 -64
  114. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/RoleInfo/index.module.scss +0 -85
  115. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ScoreBadge/index.jsx +0 -39
  116. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ScoreBadge/index.module.scss +0 -44
  117. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/SubDimensionItem/index.jsx +0 -83
  118. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/SubDimensionItem/index.module.scss +0 -101
  119. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/index.jsx +0 -50
  120. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/index.module.scss +0 -25
  121. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/scriptTable/index.jsx +0 -196
  122. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/scriptTable/index.module.scss +0 -41
  123. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/scriptTable/inputColumn/index.jsx +0 -183
  124. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/scriptTable/inputColumn/index.module.scss +0 -115
  125. package/app/wujie-wk/wujie-vue3-child/src/views/child-to-parent.vue +0 -117
  126. package/app/wujie-wk/wujie-vue3-child/src/views/home.vue +0 -53
  127. package/app/wujie-wk/wujie-vue3-child/src/views/jsx/btnSelect/btnSelect.vue +0 -169
  128. package/app/wujie-wk/wujie-vue3-child/src/views/jsx/btnSelect/index.vue +0 -69
  129. package/app/wujie-wk/wujie-vue3-child/src/views/jsx/com.vue +0 -44
  130. package/app/wujie-wk/wujie-vue3-child/src/views/jsx/dialog.jsx +0 -66
  131. package/app/wujie-wk/wujie-vue3-child/src/views/jsx/index.vue +0 -72
  132. package/app/wujie-wk/wujie-vue3-child/src/views/jsx/props.vue +0 -33
  133. package/app/wujie-wk/wujie-vue3-child/src/views/parent-to-child.vue +0 -225
  134. package/app/wujie-wk/wujie-vue3-child/src/views/phone-code.vue +0 -318
  135. package/app/wujie-wk/wujie-vue3-child/src/views/router-jump.vue +0 -123
  136. package/app/wujie-wk/wujie-vue3-child/src/views/test.vue +0 -192
  137. package/app/wujie-wk/wujie-vue3-child/vite.config.js +0 -15
  138. package/app/wujie-wk/wujie-vue3-child copy/.vscode/extensions.json +0 -3
  139. package/app/wujie-wk/wujie-vue3-child copy/README.md +0 -5
  140. package/app/wujie-wk/wujie-vue3-child copy/index.html +0 -13
  141. package/app/wujie-wk/wujie-vue3-child copy/package-lock.json +0 -4617
  142. package/app/wujie-wk/wujie-vue3-child copy/package.json +0 -22
  143. package/app/wujie-wk/wujie-vue3-child copy/public/vite.svg +0 -1
  144. package/app/wujie-wk/wujie-vue3-child copy/src/App.vue +0 -124
  145. package/app/wujie-wk/wujie-vue3-child copy/src/assets/vue.svg +0 -1
  146. package/app/wujie-wk/wujie-vue3-child copy/src/components/HelloWorld.vue +0 -43
  147. package/app/wujie-wk/wujie-vue3-child copy/src/main.js +0 -12
  148. package/app/wujie-wk/wujie-vue3-child copy/src/router/index.js +0 -84
  149. package/app/wujie-wk/wujie-vue3-child copy/src/style.css +0 -4
  150. package/app/wujie-wk/wujie-vue3-child copy/src/views/child-to-parent.vue +0 -117
  151. package/app/wujie-wk/wujie-vue3-child copy/src/views/home.vue +0 -53
  152. package/app/wujie-wk/wujie-vue3-child copy/src/views/parent-to-child.vue +0 -225
  153. package/app/wujie-wk/wujie-vue3-child copy/src/views/phone-code.vue +0 -318
  154. package/app/wujie-wk/wujie-vue3-child copy/src/views/router-jump.vue +0 -115
  155. package/app/wujie-wk/wujie-vue3-child copy/src/views/test.vue +0 -192
  156. package/app/wujie-wk/wujie-vue3-child copy/vite.config.js +0 -10
  157. package/app/wujie-wk/wujie-vue3-main/.vscode/extensions.json +0 -3
  158. package/app/wujie-wk/wujie-vue3-main/README.md +0 -154
  159. package/app/wujie-wk/wujie-vue3-main/index.html +0 -13
  160. package/app/wujie-wk/wujie-vue3-main/package-lock.json +0 -4736
  161. package/app/wujie-wk/wujie-vue3-main/package.json +0 -25
  162. package/app/wujie-wk/wujie-vue3-main/public/vite.svg +0 -1
  163. package/app/wujie-wk/wujie-vue3-main/src/App.vue +0 -879
  164. package/app/wujie-wk/wujie-vue3-main/src/assets/vue.svg +0 -1
  165. package/app/wujie-wk/wujie-vue3-main/src/components/HelloWorld.vue +0 -43
  166. package/app/wujie-wk/wujie-vue3-main/src/components/WujieReact/index.vue +0 -20
  167. package/app/wujie-wk/wujie-vue3-main/src/components/WujieVue2/index.vue +0 -8
  168. package/app/wujie-wk/wujie-vue3-main/src/components/WujieVue3/index.vue +0 -8
  169. package/app/wujie-wk/wujie-vue3-main/src/components/WujieVue3Copy/index.vue +0 -8
  170. package/app/wujie-wk/wujie-vue3-main/src/main.js +0 -23
  171. package/app/wujie-wk/wujie-vue3-main/src/router/index.js +0 -88
  172. package/app/wujie-wk/wujie-vue3-main/src/store/useMicroAppStore.js +0 -66
  173. package/app/wujie-wk/wujie-vue3-main/src/style.css +0 -3
  174. package/app/wujie-wk/wujie-vue3-main/src/views/home.vue +0 -103
  175. package/app/wujie-wk/wujie-vue3-main/src/views/router-jump.vue +0 -159
  176. package/app/wujie-wk/wujie-vue3-main/src/views/test.vue +0 -125
  177. package/app/wujie-wk/wujie-vue3-main/src/views/vue3-child-msg.vue +0 -108
  178. package/app/wujie-wk/wujie-vue3-main/vite.config.js +0 -12
@@ -1,301 +0,0 @@
1
- /**
2
- * 模拟部门数据
3
- * @description 生成模拟的部门树形结构数据
4
- */
5
-
6
- /**
7
- * 部门树数据
8
- * @type {Array<{id: string|number, label: string, children?: Array}>}
9
- */
10
- export const mockDepartments = [
11
- {
12
- id: 1,
13
- label: '总行人力资源部',
14
- children: [
15
- {
16
- id: 11,
17
- label: '招聘中心',
18
- children: [
19
- { id: 111, label: '校园招聘组' },
20
- { id: 112, label: '社会招聘组' },
21
- { id: 113, label: '招聘运营组' },
22
- ],
23
- },
24
- {
25
- id: 12,
26
- label: '培训中心',
27
- children: [
28
- { id: 121, label: '管理培训组' },
29
- { id: 122, label: '业务培训组' },
30
- { id: 123, label: '新员工培训组' },
31
- ],
32
- },
33
- {
34
- id: 13,
35
- label: '薪酬福利部',
36
- children: [
37
- { id: 131, label: '薪酬管理组' },
38
- { id: 132, label: '福利管理组' },
39
- ],
40
- },
41
- ],
42
- },
43
- {
44
- id: 2,
45
- label: '总行公司银行总部',
46
- children: [
47
- { id: 21, label: '公司业务一部' },
48
- { id: 22, label: '公司业务二部' },
49
- {
50
- id: 23,
51
- label: '机构业务部',
52
- children: [
53
- { id: 231, label: '政府机构组' },
54
- { id: 232, label: '企业机构组' },
55
- ],
56
- },
57
- ],
58
- },
59
- {
60
- id: 3,
61
- label: '总行零售银行总部',
62
- children: [
63
- {
64
- id: 31,
65
- label: '个人金融部',
66
- children: [
67
- { id: 311, label: '储蓄业务组' },
68
- { id: 312, label: '理财业务组' },
69
- { id: 313, label: '信用卡业务组' },
70
- ],
71
- },
72
- {
73
- id: 32,
74
- label: '私人银行部',
75
- children: [
76
- { id: 321, label: '高净值客户组' },
77
- { id: 322, label: '财富管理组' },
78
- ],
79
- },
80
- ],
81
- },
82
- { id: 4, label: '总行票据业务部' },
83
- { id: 5, label: '总行资产托管部' },
84
- {
85
- id: 6,
86
- label: '总行国际业务部',
87
- children: [
88
- { id: 61, label: '国际结算组' },
89
- { id: 62, label: '外汇业务组' },
90
- { id: 63, label: '跨境金融组' },
91
- ],
92
- },
93
- {
94
- id: 7,
95
- label: '资金营运中心',
96
- children: [
97
- { id: 71, label: '货币市场组' },
98
- { id: 72, label: '债券投资组' },
99
- { id: 73, label: '衍生品交易组' },
100
- ],
101
- },
102
- {
103
- id: 8,
104
- label: '总行零售公司部',
105
- children: [
106
- { id: 81, label: '小微企业部' },
107
- { id: 82, label: '供应链金融部' },
108
- ],
109
- },
110
- {
111
- id: 9,
112
- label: '数字科技部',
113
- children: [
114
- {
115
- id: 91,
116
- label: '研发中心',
117
- children: [
118
- { id: 911, label: '前端开发组' },
119
- { id: 912, label: '后端开发组' },
120
- { id: 913, label: '移动端开发组' },
121
- ],
122
- },
123
- {
124
- id: 92,
125
- label: '产品中心',
126
- children: [
127
- { id: 921, label: '产品设计组' },
128
- { id: 922, label: '用户体验组' },
129
- ],
130
- },
131
- { id: 93, label: '数据中心' },
132
- ],
133
- },
134
- {
135
- id: 10,
136
- label: '风险管理部',
137
- children: [
138
- { id: 101, label: '信用风险组' },
139
- { id: 102, label: '市场风险组' },
140
- { id: 103, label: '操作风险组' },
141
- ],
142
- },
143
- ]
144
-
145
- /**
146
- * 模拟获取部门树数据的接口
147
- * @param {number} delay - 延迟时间(毫秒),默认500ms
148
- * @returns {Promise<Array>}
149
- */
150
- export const fetchDepartments = (delay = 500) => {
151
- return new Promise((resolve) => {
152
- setTimeout(() => {
153
- resolve(mockDepartments)
154
- }, delay)
155
- })
156
- }
157
-
158
- /**
159
- * 根据关键词搜索部门
160
- * @param {string} keyword - 搜索关键词
161
- * @param {Array} departments - 部门树数据
162
- * @returns {Array} 过滤后的部门树
163
- */
164
- export const searchDepartments = (keyword, departments = mockDepartments) => {
165
- if (!keyword) return departments
166
-
167
- const filterTree = (nodes) => {
168
- return nodes.reduce((result, node) => {
169
- const match = node.label.toLowerCase().includes(keyword.toLowerCase())
170
- const children = node.children ? filterTree(node.children) : []
171
-
172
- if (match || children.length > 0) {
173
- result.push({
174
- ...node,
175
- children: children.length > 0 ? children : node.children,
176
- })
177
- }
178
-
179
- return result
180
- }, [])
181
- }
182
-
183
- return filterTree(departments)
184
- }
185
-
186
- /**
187
- * 人员数据
188
- * @type {Array<{id: string|number, name: string, departmentId: number, position: string, phone?: string, email?: string}>}
189
- */
190
- export const mockPersonnel = [
191
- // 总行人力资源部
192
- { id: 1001, name: '张伟', departmentId: 1, position: '部门总经理', phone: '13800000001', email: 'zhangwei@bank.com' },
193
- { id: 1002, name: '王芳', departmentId: 11, position: '招聘中心主任', phone: '13800000002', email: 'wangfang@bank.com' },
194
- { id: 1003, name: '李明', departmentId: 111, position: '校招负责人', phone: '13800000003', email: 'liming@bank.com' },
195
- { id: 1004, name: '刘洋', departmentId: 111, position: '校招专员', phone: '13800000004', email: 'liuyang@bank.com' },
196
- { id: 1005, name: '陈静', departmentId: 112, position: '社招负责人', phone: '13800000005', email: 'chenjing@bank.com' },
197
- { id: 1006, name: '杨帆', departmentId: 112, position: '社招专员', phone: '13800000006', email: 'yangfan@bank.com' },
198
- { id: 1007, name: '赵雪', departmentId: 113, position: '运营负责人', phone: '13800000007', email: 'zhaoxue@bank.com' },
199
- { id: 1008, name: '孙涛', departmentId: 12, position: '培训中心主任', phone: '13800000008', email: 'suntao@bank.com' },
200
- { id: 1009, name: '周敏', departmentId: 121, position: '管培负责人', phone: '13800000009', email: 'zhoumin@bank.com' },
201
- { id: 1010, name: '吴强', departmentId: 122, position: '业务培训师', phone: '13800000010', email: 'wuqiang@bank.com' },
202
- { id: 1011, name: '郑丽', departmentId: 123, position: '新员工培训师', phone: '13800000011', email: 'zhengli@bank.com' },
203
- { id: 1012, name: '钱磊', departmentId: 13, position: '薪酬福利部主任', phone: '13800000012', email: 'qianlei@bank.com' },
204
- { id: 1013, name: '孙娜', departmentId: 131, position: '薪酬专员', phone: '13800000013', email: 'sunna@bank.com' },
205
- { id: 1014, name: '李欢', departmentId: 132, position: '福利专员', phone: '13800000014', email: 'lihuan@bank.com' },
206
-
207
- // 总行公司银行总部
208
- { id: 2001, name: '黄建国', departmentId: 2, position: '公司银行总经理', phone: '13800000020', email: 'huangjianguo@bank.com' },
209
- { id: 2002, name: '林志远', departmentId: 21, position: '业务经理', phone: '13800000021', email: 'linzhiyuan@bank.com' },
210
- { id: 2003, name: '徐文静', departmentId: 22, position: '业务经理', phone: '13800000022', email: 'xuwenjing@bank.com' },
211
- { id: 2004, name: '马云飞', departmentId: 23, position: '机构业务部主任', phone: '13800000023', email: 'mayunfei@bank.com' },
212
- { id: 2005, name: '胡晓明', departmentId: 231, position: '政府客户经理', phone: '13800000024', email: 'huxiaoming@bank.com' },
213
- { id: 2006, name: '唐诗雨', departmentId: 232, position: '企业客户经理', phone: '13800000025', email: 'tangshiyu@bank.com' },
214
-
215
- // 总行零售银行总部
216
- { id: 3001, name: '宋志强', departmentId: 3, position: '零售银行总经理', phone: '13800000030', email: 'songzhiqiang@bank.com' },
217
- { id: 3002, name: '冯丽娟', departmentId: 31, position: '个人金融部主任', phone: '13800000031', email: 'fenglijuan@bank.com' },
218
- { id: 3003, name: '董浩然', departmentId: 311, position: '储蓄业务主管', phone: '13800000032', email: 'donghaoran@bank.com' },
219
- { id: 3004, name: '蒋美玲', departmentId: 312, position: '理财经理', phone: '13800000033', email: 'jiangmeiling@bank.com' },
220
- { id: 3005, name: '韩俊杰', departmentId: 313, position: '信用卡经理', phone: '13800000034', email: 'hanjunjie@bank.com' },
221
- { id: 3006, name: '曹雪梅', departmentId: 32, position: '私行部主任', phone: '13800000035', email: 'caoxuemei@bank.com' },
222
- { id: 3007, name: '姚天翔', departmentId: 321, position: '高净值客户经理', phone: '13800000036', email: 'yaotianxiang@bank.com' },
223
- { id: 3008, name: '谢婷婷', departmentId: 322, position: '财富顾问', phone: '13800000037', email: 'xietingting@bank.com' },
224
-
225
- // 数字科技部
226
- { id: 9001, name: '方建华', departmentId: 9, position: '科技部总经理', phone: '13800000090', email: 'fangjianhua@bank.com' },
227
- { id: 9002, name: '沈俊', departmentId: 91, position: '研发中心主任', phone: '13800000091', email: 'shenjun@bank.com' },
228
- { id: 9003, name: '邓宇', departmentId: 911, position: '前端架构师', phone: '13800000092', email: 'dengyu@bank.com' },
229
- { id: 9004, name: '薛凯', departmentId: 911, position: '前端工程师', phone: '13800000093', email: 'xuekai@bank.com' },
230
- { id: 9005, name: '雷鹏', departmentId: 911, position: '前端工程师', phone: '13800000094', email: 'leipeng@bank.com' },
231
- { id: 9006, name: '贺新宇', departmentId: 912, position: 'Java架构师', phone: '13800000095', email: 'hexinyu@bank.com' },
232
- { id: 9007, name: '潘嘉琪', departmentId: 912, position: 'Java工程师', phone: '13800000096', email: 'panjiaqi@bank.com' },
233
- { id: 9008, name: '汪明哲', departmentId: 913, position: 'iOS工程师', phone: '13800000097', email: 'wangmingzhe@bank.com' },
234
- { id: 9009, name: '任思琪', departmentId: 92, position: '产品中心主任', phone: '13800000098', email: 'rensiqi@bank.com' },
235
- { id: 9010, name: '龚佳欣', departmentId: 921, position: '产品经理', phone: '13800000099', email: 'gongjiaxin@bank.com' },
236
- { id: 9011, name: '傅晨曦', departmentId: 922, position: 'UI设计师', phone: '13800000100', email: 'fuchenxi@bank.com' },
237
- { id: 9012, name: '程雨欣', departmentId: 93, position: '数据分析师', phone: '13800000101', email: 'chengyuxin@bank.com' },
238
-
239
- // 风险管理部
240
- { id: 10001, name: '卢志诚', departmentId: 10, position: '风控总监', phone: '13800000110', email: 'luzhicheng@bank.com' },
241
- { id: 10002, name: '陆建平', departmentId: 101, position: '信用风险主管', phone: '13800000111', email: 'lujianping@bank.com' },
242
- { id: 10003, name: '万文涛', departmentId: 102, position: '市场风险分析师', phone: '13800000112', email: 'wanwentao@bank.com' },
243
- { id: 10004, name: '莫慧敏', departmentId: 103, position: '操作风险专员', phone: '13800000113', email: 'mohuimin@bank.com' },
244
- ]
245
-
246
- /**
247
- * 模拟获取人员列表的接口
248
- * @param {number} delay - 延迟时间(毫秒),默认500ms
249
- * @param {number|null} departmentId - 部门ID,为空时返回所有人员
250
- * @returns {Promise<Array>}
251
- */
252
- export const fetchPersonnel = (delay = 500, departmentId = null) => {
253
- return new Promise((resolve) => {
254
- setTimeout(() => {
255
- if (departmentId === null) {
256
- resolve(mockPersonnel)
257
- } else {
258
- // 递归获取部门及其所有子部门的ID
259
- const getAllDepartmentIds = (deptId) => {
260
- const ids = [deptId]
261
- const findChildren = (depts) => {
262
- for (const dept of depts) {
263
- if (dept.id === deptId && dept.children) {
264
- dept.children.forEach(child => {
265
- ids.push(child.id)
266
- findChildren([child])
267
- })
268
- } else if (dept.children) {
269
- findChildren(dept.children)
270
- }
271
- }
272
- }
273
- findChildren(mockDepartments)
274
- return ids
275
- }
276
-
277
- const deptIds = getAllDepartmentIds(departmentId)
278
- const filteredPersonnel = mockPersonnel.filter(p => deptIds.includes(p.departmentId))
279
- resolve(filteredPersonnel)
280
- }
281
- }, delay)
282
- })
283
- }
284
-
285
- /**
286
- * 根据关键词搜索人员
287
- * @param {string} keyword - 搜索关键词
288
- * @param {Array} personnel - 人员列表数据
289
- * @returns {Array} 过滤后的人员列表
290
- */
291
- export const searchPersonnel = (keyword, personnel = mockPersonnel) => {
292
- if (!keyword) return personnel
293
-
294
- const lowerKeyword = keyword.toLowerCase()
295
- return personnel.filter(person =>
296
- person.name.toLowerCase().includes(lowerKeyword) ||
297
- person.position.toLowerCase().includes(lowerKeyword) ||
298
- (person.phone && person.phone.includes(keyword)) ||
299
- (person.email && person.email.toLowerCase().includes(lowerKeyword))
300
- )
301
- }
@@ -1,182 +0,0 @@
1
-
2
- import { defineComponent, ref, watch } from 'vue'
3
- import styles from './index.module.scss'
4
- import CollapseExpand from '../collapseExpand/index.jsx'
5
- import ScriptTable from '../scriptTable/index.jsx'
6
-
7
- export default defineComponent({
8
- // 对话环节
9
- name: 'DialogueSegment',
10
-
11
- setup() {
12
- const collapseList = ref([
13
- {
14
- id: '1',
15
- title: '环节1:需求表达',
16
- goal: '目标:顾客直接向导购表明自己想购买一台高品质跑步机',
17
- scripts: {
18
- qaScripts: [
19
- {
20
- order: 1,
21
- problemDesc: '1',
22
- standardScript: '',
23
- keyword: '',
24
- id: '1',
25
- },
26
- {
27
- order: 2,
28
- problemDesc: '2',
29
- standardScript: '',
30
- keyword: '',
31
- id: '2',
32
- }
33
- ],
34
- proactiveScript: [
35
- {
36
- order: 1,
37
- problemDesc: '',
38
- standardScript: '',
39
- keyword: '',
40
- id: '1',
41
- }
42
- ]
43
- }
44
-
45
- },
46
- {
47
- id: '2',
48
- title: '环节2:产品介绍',
49
- goal: '目标:导购根据顾客需求,详细介绍不同款式跑步机的特点、性能和价格',
50
- scripts: {
51
- qaScripts: [
52
- {
53
- order: 1,
54
- problemDesc: '',
55
- standardScript: '',
56
- keyword: '',
57
- id: '1',
58
- }
59
- ],
60
- proactiveScript: [
61
- {
62
- order: 1,
63
- problemDesc: '',
64
- standardScript: '',
65
- keyword: '',
66
- id: '1',
67
- }
68
- ]
69
- }
70
- },
71
- {
72
- id: '3',
73
- title: '环节3:价格确认',
74
- goal: '目标:顾客确认购买价格,确认无误后,引导顾客完成支付',
75
- scripts: {
76
- qaScripts: [
77
- {
78
- order: 1,
79
- problemDesc: '',
80
- standardScript: '',
81
- keyword: '',
82
- id: '1',
83
- }
84
- ],
85
- proactiveScript: [
86
- {
87
- order: 1,
88
- problemDesc: '',
89
- standardScript: '',
90
- keyword: '',
91
- id: '1',
92
- }
93
- ]
94
- }
95
- },
96
- ])
97
- const activeNames = ref(['1'])
98
- const rules = ref({
99
- qaScripts: {
100
- problemDesc: [
101
- { required: true, message: '请输入问题描述',label:'问题描述'},
102
- ],
103
- standardScript: [
104
- { required: true, message: '请输入标准话术',label:'标准话术'},
105
- ],
106
- keyword: [
107
- { required: true, message: '请输入关键词',label:'关键词'},
108
- ],
109
- },
110
- proactiveScript: {
111
- problemDesc: [
112
- { required: true, message: '请输入问题描述',label:'问题描述'},
113
- ],
114
- standardScript: [
115
- { required: true, message: '请输入标准话术',label:'标准话术'},
116
- ],
117
- keyword: [
118
- { required: true, message: '请输入关键词',label:'关键词'},
119
- ],
120
- }
121
- })
122
- const addScript = (item,props) => {
123
- console.log(item,props,'添加话术');
124
- item.scripts[props.activeName].push({
125
- order: item.scripts[props.activeName].length + 1,
126
- problemDesc: '',
127
- standardScript: '',
128
- keyword: '',
129
- id: Date.now().toString(),
130
- })
131
- }
132
- collapseList.value.forEach((item) => {
133
- item.item = () => (
134
- <div class={[styles.scriptTableContainer]}>
135
- <ScriptTable
136
- isDraggable={true}
137
- scripts={item.scripts}
138
- footer={(props) => (
139
- <div>
140
- <el-button link size="small" type="primary" onClick={() => {
141
- addScript(item,props)
142
- }}>
143
- 十添加话术
144
- </el-button>
145
- <el-button link size="small" type="primary">
146
- Ai生成话术
147
- </el-button>
148
- </div>
149
- )}
150
- ></ScriptTable>
151
-
152
- </div>
153
- )
154
- })
155
-
156
- watch(() => collapseList.value, (newVal, oldVal) => {
157
- console.log(newVal, oldVal)
158
- })
159
- return () => {
160
- return <div class={[styles.dialogueSegment]}>
161
- <div class={[styles.card]}>
162
- <div class={[styles.cardHeader]}>
163
- <div class={[styles.title]}>
164
- 对话环节
165
- </div>
166
- <div class={[styles.operation]}>
167
- <el-button link size="small" type="primary">
168
- 添加环节
169
- </el-button>
170
- <el-button link size="small" type="primary">
171
- 重新生成环节
172
- </el-button>
173
- </div>
174
- </div>
175
- <div class={[styles.cardBody]}>
176
- <CollapseExpand v-model:collapseList={collapseList.value} v-model={activeNames.value} />
177
- </div>
178
- </div>
179
- </div>
180
- }
181
- },
182
- })
@@ -1,28 +0,0 @@
1
- .dialogueSegment {
2
- width: 800px;
3
- .card {
4
- border-radius: 8px;
5
- border: 1px solid #E5E5E5;
6
- .cardHeader {
7
- display: flex;
8
- justify-content: space-between;
9
- align-items: center;
10
- background-color: #F8F8F8;
11
- padding: 12px 20px;
12
- }
13
- .title {
14
- font-size: 16px;
15
- font-weight: 500;
16
- }
17
- .operation {
18
- font-size: 14px;
19
- font-weight: 400;
20
- }
21
- .cardBody {
22
- padding: 20px;
23
- }
24
- .scriptTableContainer {
25
- padding: 10px 10px 0;
26
- }
27
- }
28
- }