npmapps 1.1.4 → 1.1.6

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 (293) hide show
  1. package/app/wujie-wk/dev.log +1979 -0
  2. package/app/wujie-wk/t.html +90 -0
  3. package/app/wujie-wk/wujie-react-child/README.md +126 -0
  4. package/app/wujie-wk/wujie-react-child/eslint.config.js +28 -0
  5. package/app/wujie-wk/wujie-react-child/index.html +13 -0
  6. package/app/wujie-wk/wujie-react-child/package-lock.json +4344 -0
  7. package/app/wujie-wk/wujie-react-child/package.json +32 -0
  8. package/app/wujie-wk/wujie-react-child/public/vite.svg +1 -0
  9. package/app/wujie-wk/wujie-react-child/src/App.css +0 -0
  10. package/app/wujie-wk/wujie-react-child/src/App.tsx +72 -0
  11. package/app/wujie-wk/wujie-react-child/src/assets/react.svg +1 -0
  12. package/app/wujie-wk/wujie-react-child/src/components/FeatureCards.css +63 -0
  13. package/app/wujie-wk/wujie-react-child/src/components/FeatureCards.tsx +112 -0
  14. package/app/wujie-wk/wujie-react-child/src/components/LightCard/index.tsx +36 -0
  15. package/app/wujie-wk/wujie-react-child/src/components/LightCard/style.css +20 -0
  16. package/app/wujie-wk/wujie-react-child/src/hooks/use3DCard.ts +53 -0
  17. package/app/wujie-wk/wujie-react-child/src/hooks/useLightCard.ts +141 -0
  18. package/app/wujie-wk/wujie-react-child/src/index.css +0 -0
  19. package/app/wujie-wk/wujie-react-child/src/main.tsx +8 -0
  20. package/app/wujie-wk/wujie-react-child/src/pages/ChildToParent/index.css +55 -0
  21. package/app/wujie-wk/wujie-react-child/src/pages/ChildToParent/index.tsx +88 -0
  22. package/app/wujie-wk/wujie-react-child/src/pages/Css.tsx +28 -0
  23. package/app/wujie-wk/wujie-react-child/src/pages/Home.tsx +72 -0
  24. package/app/wujie-wk/wujie-react-child/src/pages/ParentToChild.css +85 -0
  25. package/app/wujie-wk/wujie-react-child/src/pages/ParentToChild.tsx +119 -0
  26. package/app/wujie-wk/wujie-react-child/src/pages/RouterJump/index.css +61 -0
  27. package/app/wujie-wk/wujie-react-child/src/pages/RouterJump/index.tsx +87 -0
  28. package/app/wujie-wk/wujie-react-child/src/router/index.tsx +63 -0
  29. package/app/wujie-wk/wujie-react-child/src/types/wujie.d.ts +26 -0
  30. package/app/wujie-wk/wujie-react-child/src/vite-env.d.ts +1 -0
  31. package/app/wujie-wk/wujie-react-child/tsconfig.app.json +26 -0
  32. package/app/wujie-wk/wujie-react-child/tsconfig.json +7 -0
  33. package/app/wujie-wk/wujie-react-child/tsconfig.node.json +24 -0
  34. package/app/wujie-wk/wujie-react-child/vite.config.ts +10 -0
  35. package/app/wujie-wk/wujie-vue2-child/.eslintrc.js +19 -0
  36. package/app/wujie-wk/wujie-vue2-child/README.md +24 -0
  37. package/app/wujie-wk/wujie-vue2-child/babel.config.js +5 -0
  38. package/app/wujie-wk/wujie-vue2-child/docs/superpowers/plans/2026-05-29-quill-editor.md +836 -0
  39. package/app/wujie-wk/wujie-vue2-child/docs/superpowers/specs/2026-05-29-quill-editor-design.md +210 -0
  40. package/app/wujie-wk/wujie-vue2-child/jsconfig.json +19 -0
  41. package/app/wujie-wk/wujie-vue2-child/package-lock.json +21333 -0
  42. package/app/wujie-wk/wujie-vue2-child/package.json +63 -0
  43. package/app/wujie-wk/wujie-vue2-child/postcss.config.js +10 -0
  44. package/app/wujie-wk/wujie-vue2-child/public/favicon.ico +0 -0
  45. package/app/wujie-wk/wujie-vue2-child/public/index.html +17 -0
  46. package/app/wujie-wk/wujie-vue2-child/public/rili.jpg +0 -0
  47. package/app/wujie-wk/wujie-vue2-child/public//344/270/200/351/224/256/351/273/221/346/232/227.html +136 -0
  48. package/app/wujie-wk/wujie-vue2-child/src/App.vue +110 -0
  49. package/app/wujie-wk/wujie-vue2-child/src/assets/bpmn-camunda.jpg +0 -0
  50. package/app/wujie-wk/wujie-vue2-child/src/assets/css/diagram.less +17 -0
  51. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/Icon.less +31 -0
  52. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/app-codes.css +26 -0
  53. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/app.eot +0 -0
  54. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/app.svg +60 -0
  55. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/app.ttf +0 -0
  56. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/app.woff +0 -0
  57. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/app.woff2 +0 -0
  58. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/config.json +248 -0
  59. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/source/raw/align-bottom-tool.svg +30 -0
  60. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/source/raw/align-horizontal-center-tool.svg +85 -0
  61. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/source/raw/align-left-tool.svg +84 -0
  62. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/source/raw/align-right-tool.svg +80 -0
  63. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/source/raw/align-top-tool.svg +84 -0
  64. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/source/raw/align-vertical-center-tool.svg +89 -0
  65. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/source/raw/distribute-horizontally-tool.svg +95 -0
  66. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/source/raw/distribute-vertically-tool.svg +99 -0
  67. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/source/raw/set-color-tool.svg +111 -0
  68. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/source/symbols/align-bottom-tool.svg +30 -0
  69. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/source/symbols/align-horizontal-center-tool.svg +30 -0
  70. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/source/symbols/align-left-tool.svg +30 -0
  71. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/source/symbols/align-right-tool.svg +30 -0
  72. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/source/symbols/align-top-tool.svg +30 -0
  73. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/source/symbols/align-vertical-center-tool.svg +30 -0
  74. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/source/symbols/distribute-horizontally-tool.svg +30 -0
  75. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/source/symbols/distribute-vertically-tool.svg +30 -0
  76. package/app/wujie-wk/wujie-vue2-child/src/assets/icon/font/source/symbols/set-color-tool.svg +63 -0
  77. package/app/wujie-wk/wujie-vue2-child/src/assets/logo.png +0 -0
  78. package/app/wujie-wk/wujie-vue2-child/src/components/EllTable/README.md +70 -0
  79. package/app/wujie-wk/wujie-vue2-child/src/components/EllTable/article.md +184 -0
  80. package/app/wujie-wk/wujie-vue2-child/src/components/EllTable/index.js +213 -0
  81. package/app/wujie-wk/wujie-vue2-child/src/components/EventCalendar/CalendarSkeleton.vue +147 -0
  82. package/app/wujie-wk/wujie-vue2-child/src/components/EventCalendar/CodeBlock.vue +199 -0
  83. package/app/wujie-wk/wujie-vue2-child/src/components/EventCalendar/MonthSelect.vue +376 -0
  84. package/app/wujie-wk/wujie-vue2-child/src/components/EventCalendar/README.md +485 -0
  85. package/app/wujie-wk/wujie-vue2-child/src/components/EventCalendar/example.vue +1747 -0
  86. package/app/wujie-wk/wujie-vue2-child/src/components/EventCalendar/index.vue +2720 -0
  87. package/app/wujie-wk/wujie-vue2-child/src/components/EventCalendar/mockData.js +475 -0
  88. package/app/wujie-wk/wujie-vue2-child/src/components/EventCalendar/recruitmentAdapter.js +51 -0
  89. package/app/wujie-wk/wujie-vue2-child/src/components/EventCalendar/utils.js +202 -0
  90. package/app/wujie-wk/wujie-vue2-child/src/components/FormulaEditor/FunctionSelector.vue +123 -0
  91. package/app/wujie-wk/wujie-vue2-child/src/components/FormulaEditor/OperatorSelector.vue +184 -0
  92. package/app/wujie-wk/wujie-vue2-child/src/components/FormulaEditor/ParameterSelector.vue +123 -0
  93. package/app/wujie-wk/wujie-vue2-child/src/components/FormulaEditor/api.js +69 -0
  94. package/app/wujie-wk/wujie-vue2-child/src/components/FormulaEditor/index.vue +435 -0
  95. package/app/wujie-wk/wujie-vue2-child/src/components/HelloWorld.vue +58 -0
  96. package/app/wujie-wk/wujie-vue2-child/src/components/PageHeader/index.vue +158 -0
  97. package/app/wujie-wk/wujie-vue2-child/src/components/Splitter/README.md +144 -0
  98. package/app/wujie-wk/wujie-vue2-child/src/components/Splitter/example.vue +84 -0
  99. package/app/wujie-wk/wujie-vue2-child/src/components/Splitter/index.vue +203 -0
  100. package/app/wujie-wk/wujie-vue2-child/src/components/diagram/ToolBar.vue +357 -0
  101. package/app/wujie-wk/wujie-vue2-child/src/components/diagram/customTranslate/customTranslate.js +12 -0
  102. package/app/wujie-wk/wujie-vue2-child/src/components/diagram/customTranslate/translationsGerman.js +241 -0
  103. package/app/wujie-wk/wujie-vue2-child/src/components/diagram/index.vue +261 -0
  104. package/app/wujie-wk/wujie-vue2-child/src/components/diagram/xmlData.js +29 -0
  105. package/app/wujie-wk/wujie-vue2-child/src/directives/filldown.js +155 -0
  106. package/app/wujie-wk/wujie-vue2-child/src/directives/filldownTable.js +291 -0
  107. package/app/wujie-wk/wujie-vue2-child/src/main.js +40 -0
  108. package/app/wujie-wk/wujie-vue2-child/src/router/index.js +72 -0
  109. package/app/wujie-wk/wujie-vue2-child/src/store/index.js +23 -0
  110. package/app/wujie-wk/wujie-vue2-child/src/utils/winBox.js +23 -0
  111. package/app/wujie-wk/wujie-vue2-child/src/views/Extend/A.vue +12 -0
  112. package/app/wujie-wk/wujie-vue2-child/src/views/Extend/B.vue +10 -0
  113. package/app/wujie-wk/wujie-vue2-child/src/views/Extend/MagicalComponentsForELFormItem.vue +78 -0
  114. package/app/wujie-wk/wujie-vue2-child/src/views/Extend/index.vue +59 -0
  115. package/app/wujie-wk/wujie-vue2-child/src/views/Extend/tableMouseHorizontalWheel.vue +184 -0
  116. package/app/wujie-wk/wujie-vue2-child/src/views/Home.vue +27 -0
  117. package/app/wujie-wk/wujie-vue2-child/src/views/RouterJump.vue +145 -0
  118. package/app/wujie-wk/wujie-vue2-child/src/views/calendar/index.vue +19 -0
  119. package/app/wujie-wk/wujie-vue2-child/src/views/css.vue +57 -0
  120. package/app/wujie-wk/wujie-vue2-child/src/views/cssComponents/EllipsisText.vue +73 -0
  121. package/app/wujie-wk/wujie-vue2-child/src/views/cssComponents/HoverCard.vue +69 -0
  122. package/app/wujie-wk/wujie-vue2-child/src/views/cssComponents/TableHover.vue +130 -0
  123. package/app/wujie-wk/wujie-vue2-child/src/views/cssComponents/inputSlo.vue +42 -0
  124. package/app/wujie-wk/wujie-vue2-child/src/views/cssComponents/tableFixed.vue +148 -0
  125. package/app/wujie-wk/wujie-vue2-child/src/views/echarts/echart-dome.vue +73 -0
  126. package/app/wujie-wk/wujie-vue2-child/src/views/echarts/index.vue +118 -0
  127. package/app/wujie-wk/wujie-vue2-child/src/views/echarts/pei3d.vue +658 -0
  128. package/app/wujie-wk/wujie-vue2-child/src/views/element/bpmn/index.vue +15 -0
  129. package/app/wujie-wk/wujie-vue2-child/src/views/element/components/attendanceCycle/index.vue +131 -0
  130. package/app/wujie-wk/wujie-vue2-child/src/views/element/components/attendanceGroup/index.vue +147 -0
  131. package/app/wujie-wk/wujie-vue2-child/src/views/element/components/attendancePersonnel/index.vue +158 -0
  132. package/app/wujie-wk/wujie-vue2-child/src/views/element/components/companyCalendar/index.vue +147 -0
  133. package/app/wujie-wk/wujie-vue2-child/src/views/element/components/shift/index.vue +147 -0
  134. package/app/wujie-wk/wujie-vue2-child/src/views/element/components/shiftRotationSystem/index.vue +147 -0
  135. package/app/wujie-wk/wujie-vue2-child/src/views/element/elTableJsx/columnManagement.vue +340 -0
  136. package/app/wujie-wk/wujie-vue2-child/src/views/element/elTableJsx/dialogInput.vue +71 -0
  137. package/app/wujie-wk/wujie-vue2-child/src/views/element/elTableJsx/elTableJsx.vue +1826 -0
  138. package/app/wujie-wk/wujie-vue2-child/src/views/element/elTableJsx/formTable.vue +595 -0
  139. package/app/wujie-wk/wujie-vue2-child/src/views/element/elTableJsx/index.vue +29 -0
  140. package/app/wujie-wk/wujie-vue2-child/src/views/element/elTableJsx/simpleTable.vue +189 -0
  141. package/app/wujie-wk/wujie-vue2-child/src/views/element/elTableJsx.zip +0 -0
  142. package/app/wujie-wk/wujie-vue2-child/src/views/element/index.vue +39 -0
  143. package/app/wujie-wk/wujie-vue2-child/src/views/element/quillEditor/README.md +163 -0
  144. package/app/wujie-wk/wujie-vue2-child/src/views/element/quillEditor/example.vue +307 -0
  145. package/app/wujie-wk/wujie-vue2-child/src/views/element/quillEditor/index.vue +409 -0
  146. package/app/wujie-wk/wujie-vue2-child/src/views/element/quillEditor/toolbar.js +122 -0
  147. package/app/wujie-wk/wujie-vue2-child/vue.config.js +15 -0
  148. package/app/wujie-wk/wujie-vue3-child/.claude/settings.local.json +8 -0
  149. package/app/wujie-wk/wujie-vue3-child/.vscode/extensions.json +3 -0
  150. package/app/wujie-wk/wujie-vue3-child/PROJECT_MEMORY.md +427 -0
  151. package/app/wujie-wk/wujie-vue3-child/README.md +5 -0
  152. package/app/wujie-wk/wujie-vue3-child/index.html +13 -0
  153. package/app/wujie-wk/wujie-vue3-child/package-lock.json +5744 -0
  154. package/app/wujie-wk/wujie-vue3-child/package.json +28 -0
  155. package/app/wujie-wk/wujie-vue3-child/public/vite.svg +1 -0
  156. package/app/wujie-wk/wujie-vue3-child/src/App.vue +130 -0
  157. package/app/wujie-wk/wujie-vue3-child/src/assets/vue.svg +1 -0
  158. package/app/wujie-wk/wujie-vue3-child/src/components/HelloWorld.vue +43 -0
  159. package/app/wujie-wk/wujie-vue3-child/src/components/SmartAnchorTabs/index.jsx +224 -0
  160. package/app/wujie-wk/wujie-vue3-child/src/components/SmartAnchorTabs/style.css +154 -0
  161. package/app/wujie-wk/wujie-vue3-child/src/components/tags-view.vue +193 -0
  162. package/app/wujie-wk/wujie-vue3-child/src/components/tags-view1.vue +131 -0
  163. package/app/wujie-wk/wujie-vue3-child/src/directives/aiLoading.js +182 -0
  164. package/app/wujie-wk/wujie-vue3-child/src/hooks/useClickOutside.js +11 -0
  165. package/app/wujie-wk/wujie-vue3-child/src/hooks/useTableDragSort.js +28 -0
  166. package/app/wujie-wk/wujie-vue3-child/src/main.js +18 -0
  167. package/app/wujie-wk/wujie-vue3-child/src/router/index.js +104 -0
  168. package/app/wujie-wk/wujie-vue3-child/src/store/tagsViewStroe.js +34 -0
  169. package/app/wujie-wk/wujie-vue3-child/src/style.css +171 -0
  170. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/collapseExpand/index.jsx +108 -0
  171. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/collapseExpand/index.module.scss +97 -0
  172. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/README.md +836 -0
  173. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/REFLEX_EXAMPLES.md +728 -0
  174. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentPersonnelSelector.jsx +687 -0
  175. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentPersonnelSelector.module.scss +560 -0
  176. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentSelector.jsx +570 -0
  177. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentSelector.module.scss +330 -0
  178. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentSelectorV2.jsx +378 -0
  179. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentSelectorV2.module.scss +228 -0
  180. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/OptionsSelector.jsx +399 -0
  181. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/OptionsSelector.module.scss +252 -0
  182. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/PersonnelSelector.jsx +585 -0
  183. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/PersonnelSelector.module.scss +331 -0
  184. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/PopoverSelector.jsx +392 -0
  185. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/PopoverSelector.module.scss +39 -0
  186. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/README.md +248 -0
  187. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/SelectorTrigger.jsx +194 -0
  188. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/index.jsx +1459 -0
  189. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/mockData.js +301 -0
  190. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/dialogueSegment/index.jsx +182 -0
  191. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/dialogueSegment/index.module.scss +28 -0
  192. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/index.jsx +375 -0
  193. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/ChartsPanel/index.jsx +121 -0
  194. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/ChartsPanel/index.module.scss +76 -0
  195. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/DonutChart/index.jsx +104 -0
  196. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/PracticeTable/index.jsx +75 -0
  197. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/PracticeTable/index.module.scss +12 -0
  198. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankBarChart/index.jsx +62 -0
  199. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankBarChart/index.module.scss +43 -0
  200. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankingGroup/index.jsx +29 -0
  201. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankingGroup/index.module.scss +5 -0
  202. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankingList/index.jsx +58 -0
  203. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankingList/index.module.scss +85 -0
  204. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/ScriptStatsPanel/index.jsx +92 -0
  205. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/ScriptStatsPanel/index.module.scss +56 -0
  206. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/StatCardsRow/index.jsx +40 -0
  207. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/StatCardsRow/index.module.scss +53 -0
  208. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/echarts/EchartsDonut.jsx +106 -0
  209. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/echarts/EchartsRankBar.jsx +132 -0
  210. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/index.jsx +176 -0
  211. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/index.module.scss +96 -0
  212. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/CoachReport/index.jsx +162 -0
  213. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/CoachReport/index.module.scss +16 -0
  214. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ComprehensiveEvaluation/index.jsx +29 -0
  215. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ComprehensiveEvaluation/index.module.scss +25 -0
  216. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DialogueBubble/index.jsx +106 -0
  217. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DialogueBubble/index.module.scss +164 -0
  218. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DialogueRecord/index.jsx +182 -0
  219. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DialogueRecord/index.module.scss +203 -0
  220. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DimensionDetail/index.jsx +145 -0
  221. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DimensionDetail/index.module.scss +126 -0
  222. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DimensionScores/index.jsx +67 -0
  223. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DimensionScores/index.module.scss +105 -0
  224. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ReportHeader/index.jsx +81 -0
  225. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ReportHeader/index.module.scss +47 -0
  226. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/RoleInfo/index.jsx +64 -0
  227. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/RoleInfo/index.module.scss +85 -0
  228. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ScoreBadge/index.jsx +39 -0
  229. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ScoreBadge/index.module.scss +44 -0
  230. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/SubDimensionItem/index.jsx +83 -0
  231. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/SubDimensionItem/index.module.scss +101 -0
  232. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/index.jsx +50 -0
  233. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/index.module.scss +25 -0
  234. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/scriptTable/index.jsx +196 -0
  235. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/scriptTable/index.module.scss +41 -0
  236. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/scriptTable/inputColumn/index.jsx +183 -0
  237. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/scriptTable/inputColumn/index.module.scss +115 -0
  238. package/app/wujie-wk/wujie-vue3-child/src/views/child-to-parent.vue +117 -0
  239. package/app/wujie-wk/wujie-vue3-child/src/views/home.vue +53 -0
  240. package/app/wujie-wk/wujie-vue3-child/src/views/jsx/btnSelect/btnSelect.vue +169 -0
  241. package/app/wujie-wk/wujie-vue3-child/src/views/jsx/btnSelect/index.vue +69 -0
  242. package/app/wujie-wk/wujie-vue3-child/src/views/jsx/com.vue +44 -0
  243. package/app/wujie-wk/wujie-vue3-child/src/views/jsx/dialog.jsx +66 -0
  244. package/app/wujie-wk/wujie-vue3-child/src/views/jsx/index.vue +72 -0
  245. package/app/wujie-wk/wujie-vue3-child/src/views/jsx/props.vue +33 -0
  246. package/app/wujie-wk/wujie-vue3-child/src/views/parent-to-child.vue +225 -0
  247. package/app/wujie-wk/wujie-vue3-child/src/views/phone-code.vue +318 -0
  248. package/app/wujie-wk/wujie-vue3-child/src/views/router-jump.vue +123 -0
  249. package/app/wujie-wk/wujie-vue3-child/src/views/test.vue +192 -0
  250. package/app/wujie-wk/wujie-vue3-child/vite.config.js +15 -0
  251. package/app/wujie-wk/wujie-vue3-child copy/.vscode/extensions.json +3 -0
  252. package/app/wujie-wk/wujie-vue3-child copy/README.md +5 -0
  253. package/app/wujie-wk/wujie-vue3-child copy/index.html +13 -0
  254. package/app/wujie-wk/wujie-vue3-child copy/package-lock.json +4617 -0
  255. package/app/wujie-wk/wujie-vue3-child copy/package.json +22 -0
  256. package/app/wujie-wk/wujie-vue3-child copy/public/vite.svg +1 -0
  257. package/app/wujie-wk/wujie-vue3-child copy/src/App.vue +124 -0
  258. package/app/wujie-wk/wujie-vue3-child copy/src/assets/vue.svg +1 -0
  259. package/app/wujie-wk/wujie-vue3-child copy/src/components/HelloWorld.vue +43 -0
  260. package/app/wujie-wk/wujie-vue3-child copy/src/main.js +12 -0
  261. package/app/wujie-wk/wujie-vue3-child copy/src/router/index.js +84 -0
  262. package/app/wujie-wk/wujie-vue3-child copy/src/style.css +4 -0
  263. package/app/wujie-wk/wujie-vue3-child copy/src/views/child-to-parent.vue +117 -0
  264. package/app/wujie-wk/wujie-vue3-child copy/src/views/home.vue +53 -0
  265. package/app/wujie-wk/wujie-vue3-child copy/src/views/parent-to-child.vue +225 -0
  266. package/app/wujie-wk/wujie-vue3-child copy/src/views/phone-code.vue +318 -0
  267. package/app/wujie-wk/wujie-vue3-child copy/src/views/router-jump.vue +115 -0
  268. package/app/wujie-wk/wujie-vue3-child copy/src/views/test.vue +192 -0
  269. package/app/wujie-wk/wujie-vue3-child copy/vite.config.js +10 -0
  270. package/app/wujie-wk/wujie-vue3-main/.vscode/extensions.json +3 -0
  271. package/app/wujie-wk/wujie-vue3-main/README.md +154 -0
  272. package/app/wujie-wk/wujie-vue3-main/index.html +13 -0
  273. package/app/wujie-wk/wujie-vue3-main/package-lock.json +4736 -0
  274. package/app/wujie-wk/wujie-vue3-main/package.json +25 -0
  275. package/app/wujie-wk/wujie-vue3-main/public/vite.svg +1 -0
  276. package/app/wujie-wk/wujie-vue3-main/src/App.vue +879 -0
  277. package/app/wujie-wk/wujie-vue3-main/src/assets/vue.svg +1 -0
  278. package/app/wujie-wk/wujie-vue3-main/src/components/HelloWorld.vue +43 -0
  279. package/app/wujie-wk/wujie-vue3-main/src/components/WujieReact/index.vue +20 -0
  280. package/app/wujie-wk/wujie-vue3-main/src/components/WujieVue2/index.vue +8 -0
  281. package/app/wujie-wk/wujie-vue3-main/src/components/WujieVue3/index.vue +8 -0
  282. package/app/wujie-wk/wujie-vue3-main/src/components/WujieVue3Copy/index.vue +8 -0
  283. package/app/wujie-wk/wujie-vue3-main/src/main.js +23 -0
  284. package/app/wujie-wk/wujie-vue3-main/src/router/index.js +88 -0
  285. package/app/wujie-wk/wujie-vue3-main/src/store/useMicroAppStore.js +66 -0
  286. package/app/wujie-wk/wujie-vue3-main/src/style.css +3 -0
  287. package/app/wujie-wk/wujie-vue3-main/src/views/home.vue +103 -0
  288. package/app/wujie-wk/wujie-vue3-main/src/views/router-jump.vue +159 -0
  289. package/app/wujie-wk/wujie-vue3-main/src/views/test.vue +125 -0
  290. package/app/wujie-wk/wujie-vue3-main/src/views/vue3-child-msg.vue +108 -0
  291. package/app/wujie-wk/wujie-vue3-main/vite.config.js +12 -0
  292. package/package.json +1 -1
  293. package/app/check-import-case.js +0 -344
@@ -0,0 +1,196 @@
1
+ import { defineComponent, ref, computed, watch, onUnmounted, nextTick } from 'vue'
2
+ import styles from './index.module.scss'
3
+ import { Expand, DeleteFilled } from '@element-plus/icons-vue'
4
+ import InputColumn from './inputColumn/index.jsx'
5
+ import Sortable from 'sortablejs'
6
+ export default defineComponent({
7
+ // 脚本表格组件
8
+ name: 'ScriptTable',
9
+ props: {
10
+ scripts: {
11
+ type: Object,
12
+ default: () => { },
13
+ },
14
+ },
15
+ setup(props, { emit, attrs, slots }) {
16
+ console.log(props.scripts);
17
+ const labelEmu = {
18
+ qaScripts: '问答脚本',
19
+ proactiveScript: '主动脚本',
20
+ }
21
+ const type = ref('all')
22
+ const activeName = ref('qaScripts')
23
+
24
+ const tabs = computed(() => {
25
+ const lsit = []
26
+ for (const key in props.scripts) {
27
+ lsit.push({
28
+ label: labelEmu[key],
29
+ value: props.scripts[key],
30
+ key: key,
31
+ })
32
+ }
33
+ return lsit
34
+ })
35
+
36
+ watch(() => props.scripts, (newVal, oldVal) => {
37
+ console.log(newVal, oldVal, 'scripts变化');
38
+
39
+ }, {
40
+ deep: true,
41
+ })
42
+
43
+ const tableRef = ref(null)
44
+ let sortable = null
45
+ watch(() => tableRef.value, async (newVal, oldVal) => {
46
+ if (newVal) {
47
+ await nextTick()
48
+ const tbody = tableRef.value?.$el.querySelector('.el-table__body-wrapper tbody')
49
+ if (!tbody) return
50
+ sortable?.destroy()
51
+ sortable = Sortable.create(tbody, {
52
+ animation: 150,
53
+ handle: '.drag-cell', // 只有手柄能拖
54
+ onEnd: evt => {
55
+ const { oldIndex, newIndex } = evt
56
+ if (oldIndex === undefined || newIndex === undefined) return
57
+ const [removed] = props.scripts[activeName.value].splice(oldIndex, 1)
58
+ props.scripts[activeName.value].splice(newIndex, 0, removed)
59
+ },
60
+ })
61
+ }
62
+ })
63
+ onUnmounted(() => sortable?.destroy())
64
+ return () => (
65
+ <div class={styles.scriptTable}>
66
+ {/* <el-button type="primary" size="small" onClick={() => {
67
+ console.log(props.scripts[activeName.value]);
68
+ }}>测试 </el-button> */}
69
+ <div class={[styles.header]}>
70
+ <div class={[styles.tabs]}>
71
+ {
72
+ tabs.value.map((item) => (
73
+ <div
74
+ class={[styles.tab, { [styles.active]: item.key === activeName.value }]}
75
+ key={item.key}
76
+ onClick={() => activeName.value = item.key}
77
+ >
78
+ {item.label} {item.value.length}
79
+ </div>
80
+ ))
81
+ }
82
+ </div>
83
+ <div class={[styles.right]}>
84
+ <span>学员需练习</span>
85
+ <el-select size="small" v-model={type.value} style={{ width: '60px', marginLeft: '10px', marginRight: '10px' }}>
86
+ {
87
+ {
88
+ default: () => (
89
+ <>
90
+ <el-option label="全部" value="all" />
91
+ <el-option label="部分" value="partial" />
92
+ </>
93
+ ),
94
+ }
95
+ }
96
+ </el-select>
97
+ <span>话术</span>
98
+ </div>
99
+ </div>
100
+ <div>
101
+ <el-table
102
+ ref={tableRef}
103
+ data={props.scripts[activeName.value]}
104
+ style={{ width: '100%' }}
105
+ border
106
+ size="small"
107
+ row-key="id"
108
+ headerCellStyle={{
109
+ background: '#F8F8F8',
110
+ color: '#303133',
111
+ fontWeight: 'bold',
112
+ }}
113
+ >
114
+ {{
115
+ default: (scope) => (
116
+ <>
117
+ {
118
+ attrs.isDraggable &&
119
+
120
+ <el-table-column prop="order" label="排序" width="50px">
121
+ {{
122
+ default: (scope) => (
123
+ <div class="drag-cell" style={{ display: 'flex', justifyContent: 'center', alignItems: 'center' }}>
124
+ <el-icon style={{ cursor: 'grab' }} class={'drag-icon'} size={20}><Expand /></el-icon>
125
+ </div>
126
+ )
127
+ }}
128
+ </el-table-column>
129
+ }
130
+ <el-table-column prop="problemDesc" label="问题描述">
131
+ {{
132
+ default: (scope) => (
133
+ <InputColumn scope={scope} tableColumn={{
134
+ prop: 'problemDesc',
135
+ label: '问题描述',
136
+ }} />
137
+ )
138
+ }}
139
+ </el-table-column>
140
+ <el-table-column prop="standardScript" label="标准话术">
141
+ {{
142
+ default: (scope) => (
143
+ <InputColumn scope={scope} tableColumn={{
144
+ prop: 'standardScript',
145
+ label: '标准话术',
146
+ }} />
147
+ )
148
+ }}
149
+ </el-table-column>
150
+ <el-table-column prop="keyword" label="关键词">
151
+ {{
152
+ default: (scope) => (
153
+ <InputColumn scope={scope} tableColumn={{
154
+ prop: 'keyword',
155
+ label: '关键词',
156
+ placeholder: '请输入请输入请输入关键词,多个关键词用逗号分隔',
157
+ tag: true,
158
+ split: ',',
159
+ noAiGenerate: true,
160
+ }} />
161
+ )
162
+ }}
163
+ </el-table-column>
164
+ <el-table-column prop="aiScript" label="操作" width="50px">
165
+ {{
166
+ default: (scope) => (
167
+ <el-icon style={{ cursor: 'pointer' }} ><DeleteFilled /></el-icon>
168
+ )
169
+ }}
170
+ </el-table-column>
171
+ {/* <InputColumn tableColumn={{
172
+ prop: 'standardScript',
173
+ label: '标准话术',
174
+ }} />
175
+ <InputColumn tableColumn={{
176
+ prop: 'keyword',
177
+ label: '关键词',
178
+ }} /> */}
179
+ </>
180
+ ),
181
+ }}
182
+ </el-table>
183
+ </div>
184
+ <div>
185
+ {
186
+ attrs.footer && attrs.footer({
187
+ labelEmu,
188
+ activeName: activeName.value,
189
+ type: type.value,
190
+ })
191
+ }
192
+ </div>
193
+ </div>
194
+ )
195
+ }
196
+ })
@@ -0,0 +1,41 @@
1
+ .scriptTable{
2
+ .header{
3
+ display: flex;
4
+ justify-content: space-between;
5
+ align-items: center;
6
+ background-color: #F8F8F8;
7
+ border: 1px solid #EBEEF5;
8
+ border-bottom: none;
9
+ padding: 10px;
10
+ .tabs{
11
+ display: flex;
12
+ justify-content: flex-start;
13
+ align-items: center;
14
+ }
15
+ .tab{
16
+ padding: 5px 10px;
17
+ cursor: pointer;
18
+ }
19
+ .tab.active{
20
+ color: #FC6506;
21
+ font-weight: bold;
22
+ position: relative;
23
+ &::after{
24
+ content: '';
25
+ position: absolute;
26
+ bottom: -10px;
27
+ left: 0;
28
+ display: block;
29
+ transform: translateX(50%);
30
+ width: 50%;
31
+ height: 2px;
32
+ background-color: #FC6506;
33
+ }
34
+ }
35
+ .right{
36
+ display: flex;
37
+ justify-content: flex-end;
38
+ align-items: center;
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,183 @@
1
+ import { defineComponent, ref, nextTick, watch, Teleport } from 'vue'
2
+ import styles from './index.module.scss'
3
+ import { Close } from '@element-plus/icons-vue'
4
+ export default defineComponent({
5
+ // 输入列组件
6
+ name: 'InputColumn',
7
+ props: {
8
+
9
+ },
10
+
11
+
12
+ setup(props, { attrs }) {
13
+ const showInput = ref(false)
14
+
15
+ const inputColumnnRef = ref(null)
16
+ const textareaRef = ref(null)
17
+ const aiGenerateRef = ref(null)
18
+ const showAiGenerate = ref(false)
19
+ const aiGenerateValue = ref('你好,我想咨询一下关于高品质跑步机的选购问题。 你好,我想咨询一下关于高品质跑步机的选购问题。')
20
+ const onClickOutside = (element, handler) => {
21
+ const listener = (e) => {
22
+ if (!element || element.contains(e.target)) return;
23
+ handler(e);
24
+ };
25
+ document.addEventListener('click', listener, false);
26
+ // 返回取消函数,想停就调它
27
+ return () => document.removeEventListener('click', listener, false);
28
+ }
29
+ watch(() => showInput.value, (newVal) => {
30
+ console.log(attrs, 'attrs');
31
+
32
+ if (newVal) {
33
+ const cell = inputColumnnRef.value.parentNode
34
+ if (!cell) return
35
+ const column = cell.parentNode
36
+ console.log(column, 'column');
37
+ if (!column) return
38
+ const elTable__cell = column.parentNode
39
+ if (!elTable__cell) return
40
+ const width = elTable__cell.offsetWidth
41
+ const rect = elTable__cell.getBoundingClientRect() // 相对于视口
42
+ const x = rect.left + window.scrollX
43
+ const y = rect.top + window.scrollY
44
+ nextTick(() => {
45
+ const textarea = textareaRef.value
46
+ if (!textarea) return
47
+ textarea.style.width = `${width}px`
48
+ document.body.style.position = 'relative'
49
+ textarea.style.top = `${y}px`
50
+ textarea.style.left = `${x}px`
51
+
52
+ })
53
+
54
+
55
+ }
56
+ })
57
+
58
+ watch(() => textareaRef.value, (newVal, _, onCleanup) => {
59
+ if (newVal) {
60
+ setTimeout(() => {
61
+ const removeClickOutside = onClickOutside(newVal, () => {
62
+ showInput.value = false
63
+ showAiGenerate.value = false
64
+ })
65
+ onCleanup(() => {
66
+ removeClickOutside()
67
+ })
68
+ const elTextareaInner = textareaRef.value.querySelector('.el-textarea__inner')
69
+ if (elTextareaInner) {
70
+ elTextareaInner.focus()
71
+ }
72
+ }, 0)
73
+
74
+ }
75
+ })
76
+
77
+
78
+ watch(() => showAiGenerate.value, async (newVal) => {
79
+ if (newVal) {
80
+ await nextTick()
81
+ const width = textareaRef.value.offsetWidth
82
+ const rect = textareaRef.value.getBoundingClientRect() // 相对于视口
83
+ const left = rect.left
84
+ if (left > width) {
85
+ aiGenerateRef.value.style.left = `${-width}px`
86
+ } else {
87
+ aiGenerateRef.value.style.left = `${width}px`
88
+ }
89
+
90
+ }
91
+ })
92
+
93
+ return () => {
94
+ return <div class={[styles.inputColumn]}>
95
+ <div ref={inputColumnnRef} >
96
+ {
97
+ showInput.value && (
98
+ <Teleport to="body">
99
+ <div class={[styles.inputColumnTextarea]} ref={textareaRef}>
100
+ <div>
101
+ <el-input maxlength={500} type="textarea" rows={4} v-model={attrs.scope.row[attrs.tableColumn.prop]} />
102
+ <div class={[styles.aiGenerateBtnContainer]}>
103
+ {
104
+ !attrs.tableColumn.noAiGenerate ?(
105
+ <span class={[styles.aiGenerateBtn]} onClick={() => {
106
+ showAiGenerate.value = true
107
+ }}>
108
+ AI润色
109
+ </span>
110
+ )
111
+ :
112
+ <span> </span>
113
+ }
114
+ <span>
115
+ {attrs.scope.row[attrs.tableColumn.prop].length}/<span style={{ color: '#999' }}>500</span>
116
+ </span>
117
+ </div>
118
+ </div>
119
+ {
120
+ showAiGenerate.value &&
121
+
122
+ <div class={[styles.aiGenerate]} ref={aiGenerateRef}>
123
+ <div class={[styles.header]}>
124
+ <div class={[styles.title]}>
125
+ AI生成
126
+ </div>
127
+ <el-icon class={[styles.close]} onClick={(e) => {
128
+ showAiGenerate.value = false
129
+ e.stopPropagation()
130
+ }}>
131
+ <Close />
132
+ </el-icon>
133
+ </div>
134
+ <el-scrollbar>
135
+ <div class={[styles.content]}>
136
+ {aiGenerateValue.value || 'AI润色后的脚本'}
137
+ </div>
138
+ </el-scrollbar>
139
+ <div class={[styles.footer]} >
140
+ <span onClick={(e) => {
141
+ attrs.scope.row[attrs.tableColumn.prop] = aiGenerateValue.value
142
+ showAiGenerate.value = false
143
+ e.stopPropagation()
144
+ }}>
145
+ 一键使用
146
+ </span>
147
+ <span onClick={(e) => {
148
+ e.stopPropagation()
149
+ }}>
150
+ 重新生成
151
+ </span>
152
+ </div>
153
+ </div>
154
+ }
155
+ </div>
156
+ </Teleport >
157
+ )}
158
+ <div onClick={(e) => {
159
+ console.log(e.target, attrs.scope.row[attrs.tableColumn.prop], '点击了输入框');
160
+ showInput.value = true
161
+ // e.stopPropagation()
162
+ }}>
163
+ {
164
+ attrs.scope.row[attrs.tableColumn.prop] ?
165
+ (attrs.tableColumn.tag ?
166
+ <div class={[styles.tagContainer]} title={attrs.scope.row[attrs.tableColumn.prop]}>
167
+
168
+ {attrs.scope.row[attrs.tableColumn.prop].split(attrs.tableColumn.split).map((item, index) => (
169
+ item.trim() ? <div class={[styles.tag]} key={index}>{item}</div> : null
170
+ ))}
171
+ </div>
172
+ :
173
+ <div class={[styles.inputColumnTextareaValue]} title={attrs.scope.row[attrs.tableColumn.prop]}>{attrs.scope.row[attrs.tableColumn.prop]}111</div>
174
+ )
175
+ :
176
+ <div class={[styles.inputColumnTextareaValue]}>{attrs.tableColumn.placeholder || '请输入'}</div>
177
+ }
178
+ </div>
179
+ </div>
180
+ </div>
181
+ }
182
+ }
183
+ })
@@ -0,0 +1,115 @@
1
+ .inputColumn {
2
+ .inputColumnTextareaValue {
3
+ overflow: hidden;
4
+ display: -webkit-box;
5
+ -webkit-box-orient: vertical;
6
+ -webkit-line-clamp: 2;
7
+ /* 想几行就写几 */
8
+ text-overflow: ellipsis;
9
+ word-break: break-all;
10
+ /* 可选,英文长单词截断 */
11
+ line-height: 18px;
12
+ }
13
+
14
+ .tagContainer {
15
+ display: flex;
16
+ flex-wrap: wrap;
17
+ gap: 4px;
18
+ .tag {
19
+ padding: 2px 8px;
20
+ background-color: #F5F5F5;
21
+ border-radius: 4px;
22
+ font-size: 12px;
23
+ }
24
+ }
25
+
26
+ }
27
+
28
+ .inputColumnTextarea {
29
+ border: 1px solid #D9D9D9;
30
+ background-color: #fff;
31
+ border-radius: 8px;
32
+
33
+ .aiGenerateBtnContainer {
34
+ background-color: #fff;
35
+ padding: 0 10px 6px;
36
+ display: flex;
37
+ justify-content: space-between;
38
+ border-radius: 8px;
39
+
40
+ .aiGenerateBtn {
41
+ color: #4F8BFF;
42
+ cursor: pointer;
43
+ }
44
+ }
45
+
46
+ :global {
47
+ .el-textarea__inner {
48
+ box-shadow: none;
49
+ border-radius: 8px;
50
+ }
51
+
52
+ .el-textarea {
53
+ box-shadow: none;
54
+ border-radius: 8px;
55
+ }
56
+ }
57
+
58
+
59
+ position: absolute;
60
+ top: 0;
61
+ left: 0;
62
+ z-index: 999999;
63
+
64
+ .aiGenerate {
65
+ box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
66
+ border-radius: 8px;
67
+ position: absolute;
68
+ top: 0;
69
+ left: -100%;
70
+ z-index: 999999;
71
+ background-color: #F2F4FA;
72
+ width: 100%;
73
+ height: 100%;
74
+ padding: 10px;
75
+ box-sizing: border-box;
76
+ display: flex;
77
+ flex-direction: column;
78
+ justify-content: space-between;
79
+
80
+ .header {
81
+ display: flex;
82
+ justify-content: space-between;
83
+ align-items: center;
84
+ font-size: 12px;
85
+ color: #222222;
86
+ font-weight: bold;
87
+
88
+ .close {
89
+ cursor: pointer;
90
+ }
91
+ }
92
+
93
+ .content {
94
+ font-size: 12px;
95
+ color: #222222;
96
+ flex: 1;
97
+ }
98
+
99
+ .footer {
100
+ display: flex;
101
+ height: 12px;
102
+ gap: 10px;
103
+
104
+ span {
105
+ cursor: pointer;
106
+ font-size: 12px;
107
+ color: #4F8BFF;
108
+
109
+ &:hover {
110
+ color: #3A73E8;
111
+ }
112
+ }
113
+ }
114
+ }
115
+ }
@@ -0,0 +1,117 @@
1
+ <template>
2
+ <div class="child-to-parent">
3
+ <h1>子应用消息发送</h1>
4
+ <div class="form-container">
5
+ <div class="form-item">
6
+ <label>标题:</label>
7
+ <input type="text" v-model="formData.title" placeholder="请输入标题">
8
+ </div>
9
+ <div class="form-item">
10
+ <label>消息:</label>
11
+ <input type="text" v-model="formData.message" placeholder="请输入消息内容">
12
+ </div>
13
+ <div class="form-item">
14
+ <label>类型:</label>
15
+ <select v-model="formData.type">
16
+ <option value="success">成功</option>
17
+ <option value="warning">警告</option>
18
+ <option value="error">错误</option>
19
+ <option value="info">信息</option>
20
+ </select>
21
+ </div>
22
+ <div class="form-item">
23
+ <label>持续时间:</label>
24
+ <input type="number" v-model="formData.duration" placeholder="持续时间(ms)">
25
+ </div>
26
+ <button class="submit-btn" @click="sendToParent">发送消息</button>
27
+ </div>
28
+ </div>
29
+ </template>
30
+
31
+ <script setup>
32
+ import { reactive } from 'vue'
33
+
34
+ const formData = reactive({
35
+ title: 'vue3子应用测试title',
36
+ message: 'vue3子应用测试消息',
37
+ type: 'success',
38
+ duration: 3000
39
+ })
40
+
41
+ const sendToParent = () => {
42
+ window.$wujie?.bus.$emit('child-event', {
43
+ message: formData.message,
44
+ type: formData.type,
45
+ duration: formData.duration,
46
+ title: formData.title
47
+ },'vue3子应用')
48
+ }
49
+ </script>
50
+
51
+ <style scoped>
52
+ .child-to-parent {
53
+ padding: 20px;
54
+ max-width: 600px;
55
+ margin: 0 auto;
56
+ }
57
+
58
+ h1 {
59
+ color: #333;
60
+ margin-bottom: 30px;
61
+ text-align: center;
62
+ }
63
+
64
+ .form-container {
65
+ background: #fff;
66
+ padding: 24px;
67
+ border-radius: 8px;
68
+ box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
69
+ }
70
+
71
+ .form-item {
72
+ margin-bottom: 20px;
73
+ display: flex;
74
+ align-items: center;
75
+ }
76
+
77
+ label {
78
+ width: 100px;
79
+ text-align: right;
80
+ padding-right: 12px;
81
+ color: #606266;
82
+ }
83
+
84
+ input, select {
85
+ flex: 1;
86
+ height: 36px;
87
+ line-height: 36px;
88
+ padding: 0 12px;
89
+ border: 1px solid #dcdfe6;
90
+ border-radius: 4px;
91
+ transition: border-color 0.2s;
92
+ }
93
+
94
+ input:focus, select:focus {
95
+ outline: none;
96
+ border-color: #409eff;
97
+ }
98
+
99
+ .submit-btn {
100
+ width: 100%;
101
+ height: 40px;
102
+ background-color: #409eff;
103
+ color: white;
104
+ border: none;
105
+ border-radius: 4px;
106
+ cursor: pointer;
107
+ transition: background-color 0.3s;
108
+ }
109
+
110
+ .submit-btn:hover {
111
+ background-color: #66b1ff;
112
+ }
113
+
114
+ .submit-btn:active {
115
+ background-color: #3a8ee6;
116
+ }
117
+ </style>