npmapps 1.0.24 → 1.0.26

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 (210) hide show
  1. package/app/.codegraph/daemon.pid +6 -0
  2. package/app/.eslintrc.js +19 -0
  3. package/app/README.md +24 -0
  4. package/app/babel.config.js +5 -0
  5. package/app/devtool-windows-amd64.zip +0 -0
  6. package/app/docs/superpowers/plans/2026-05-29-quill-editor.md +836 -0
  7. package/app/docs/superpowers/specs/2026-05-29-quill-editor-design.md +210 -0
  8. package/app/docs/superpowers/specs/2026-06-06-lazy-cascader-design.md +400 -0
  9. package/app/jsconfig.json +19 -0
  10. package/app/package-lock.json +21347 -0
  11. package/app/package.json +63 -0
  12. package/app/postcss.config.js +10 -0
  13. package/app/public/favicon.ico +0 -0
  14. package/app/public/index.html +17 -0
  15. package/app/public//344/270/200/351/224/256/351/273/221/346/232/227.html +136 -0
  16. package/app/src/App.vue +110 -0
  17. package/app/src/assets/bpmn-camunda.jpg +0 -0
  18. package/app/src/assets/css/diagram.less +17 -0
  19. package/app/src/assets/icon/Icon.less +31 -0
  20. package/app/src/assets/icon/font/app-codes.css +26 -0
  21. package/app/src/assets/icon/font/app.eot +0 -0
  22. package/app/src/assets/icon/font/app.svg +60 -0
  23. package/app/src/assets/icon/font/app.ttf +0 -0
  24. package/app/src/assets/icon/font/app.woff +0 -0
  25. package/app/src/assets/icon/font/app.woff2 +0 -0
  26. package/app/src/assets/icon/font/config.json +248 -0
  27. package/app/src/assets/icon/font/source/raw/align-bottom-tool.svg +30 -0
  28. package/app/src/assets/icon/font/source/raw/align-horizontal-center-tool.svg +85 -0
  29. package/app/src/assets/icon/font/source/raw/align-left-tool.svg +84 -0
  30. package/app/src/assets/icon/font/source/raw/align-right-tool.svg +80 -0
  31. package/app/src/assets/icon/font/source/raw/align-top-tool.svg +84 -0
  32. package/app/src/assets/icon/font/source/raw/align-vertical-center-tool.svg +89 -0
  33. package/app/src/assets/icon/font/source/raw/distribute-horizontally-tool.svg +95 -0
  34. package/app/src/assets/icon/font/source/raw/distribute-vertically-tool.svg +99 -0
  35. package/app/src/assets/icon/font/source/raw/set-color-tool.svg +111 -0
  36. package/app/src/assets/icon/font/source/symbols/align-bottom-tool.svg +30 -0
  37. package/app/src/assets/icon/font/source/symbols/align-horizontal-center-tool.svg +30 -0
  38. package/app/src/assets/icon/font/source/symbols/align-left-tool.svg +30 -0
  39. package/app/src/assets/icon/font/source/symbols/align-right-tool.svg +30 -0
  40. package/app/src/assets/icon/font/source/symbols/align-top-tool.svg +30 -0
  41. package/app/src/assets/icon/font/source/symbols/align-vertical-center-tool.svg +30 -0
  42. package/app/src/assets/icon/font/source/symbols/distribute-horizontally-tool.svg +30 -0
  43. package/app/src/assets/icon/font/source/symbols/distribute-vertically-tool.svg +30 -0
  44. package/app/src/assets/icon/font/source/symbols/set-color-tool.svg +63 -0
  45. package/app/src/assets/logo.png +0 -0
  46. package/app/src/components/EllTable/README.md +70 -0
  47. package/app/src/components/EllTable/article.md +184 -0
  48. package/app/src/components/EllTable/index.js +213 -0
  49. package/app/src/components/FormulaEditor/FunctionSelector.vue +123 -0
  50. package/app/src/components/FormulaEditor/OperatorSelector.vue +184 -0
  51. package/app/src/components/FormulaEditor/ParameterSelector.vue +123 -0
  52. package/app/src/components/FormulaEditor/api.js +69 -0
  53. package/app/src/components/FormulaEditor/index.vue +435 -0
  54. package/app/src/components/HelloWorld.vue +58 -0
  55. package/app/src/components/PageHeader/index.vue +158 -0
  56. package/app/src/components/Splitter/README.md +144 -0
  57. package/app/src/components/Splitter/example.vue +88 -0
  58. package/app/src/components/Splitter/index.vue +203 -0
  59. package/app/src/components/diagram/ToolBar.vue +357 -0
  60. package/app/src/components/diagram/customTranslate/customTranslate.js +12 -0
  61. package/app/src/components/diagram/customTranslate/translationsGerman.js +241 -0
  62. package/app/src/components/diagram/index.vue +261 -0
  63. package/app/src/components/diagram/xmlData.js +29 -0
  64. package/app/src/directives/filldown.js +155 -0
  65. package/app/src/directives/filldownTable.js +291 -0
  66. package/app/src/main.js +40 -0
  67. package/app/src/router/index.js +63 -0
  68. package/app/src/store/index.js +23 -0
  69. package/app/src/utils/winBox.js +23 -0
  70. package/app/src/views/Extend/A.vue +12 -0
  71. package/app/src/views/Extend/B.vue +10 -0
  72. package/app/src/views/Extend/MagicalComponentsForELFormItem.vue +87 -0
  73. package/app/src/views/Extend/index.vue +59 -0
  74. package/app/src/views/Extend/tableMouseHorizontalWheel.vue +193 -0
  75. package/app/src/views/Home.vue +37 -0
  76. package/app/src/views/RouterJump.vue +155 -0
  77. package/app/src/views/css.vue +57 -0
  78. package/app/src/views/cssComponents/EllipsisText.vue +83 -0
  79. package/app/src/views/cssComponents/HoverCard.vue +79 -0
  80. package/app/src/views/cssComponents/TableHover.vue +140 -0
  81. package/app/src/views/cssComponents/inputSlo.vue +52 -0
  82. package/app/src/views/cssComponents/tableFixed.vue +158 -0
  83. package/app/src/views/echarts/echart-dome.vue +82 -0
  84. package/app/src/views/echarts/index.vue +118 -0
  85. package/app/src/views/echarts/pei3d.vue +667 -0
  86. package/app/src/views/element/bpmn/index.vue +18 -0
  87. package/app/src/views/element/components/attendanceCycle/index.vue +131 -0
  88. package/app/src/views/element/components/attendanceGroup/index.vue +147 -0
  89. package/app/src/views/element/components/attendancePersonnel/index.vue +158 -0
  90. package/app/src/views/element/components/companyCalendar/index.vue +147 -0
  91. package/app/src/views/element/components/shift/index.vue +147 -0
  92. package/app/src/views/element/components/shiftRotationSystem/index.vue +147 -0
  93. package/app/src/views/element/elTableJsx/columnManagement.vue +340 -0
  94. package/app/src/views/element/elTableJsx/dialogInput.vue +71 -0
  95. package/app/src/views/element/elTableJsx/elTableJsx.vue +1826 -0
  96. package/app/src/views/element/elTableJsx/formTable.vue +598 -0
  97. package/app/src/views/element/elTableJsx/index.vue +29 -0
  98. package/app/src/views/element/elTableJsx/simpleTable.vue +192 -0
  99. package/app/src/views/element/elTableJsx.zip +0 -0
  100. package/app/src/views/element/index.vue +44 -0
  101. package/app/src/views/element/lazyCascader/LazyCascader.vue +302 -0
  102. package/app/src/views/element/lazyCascader/data.js +205 -0
  103. package/app/src/views/element/lazyCascader/index.vue +315 -0
  104. package/app/src/views/element/quillEditor/README.md +163 -0
  105. package/app/src/views/element/quillEditor/example.vue +314 -0
  106. package/app/src/views/element/quillEditor/index.vue +409 -0
  107. package/app/src/views/element/quillEditor/toolbar.js +122 -0
  108. package/app/vue.config.js +15 -0
  109. package/package.json +1 -1
  110. package/app/wujie-vue3-child/.claude/settings.local.json +0 -8
  111. package/app/wujie-vue3-child/.vscode/extensions.json +0 -3
  112. package/app/wujie-vue3-child/PROJECT_MEMORY.md +0 -427
  113. package/app/wujie-vue3-child/README.md +0 -5
  114. package/app/wujie-vue3-child/index.html +0 -13
  115. package/app/wujie-vue3-child/package-lock.json +0 -5744
  116. package/app/wujie-vue3-child/package.json +0 -28
  117. package/app/wujie-vue3-child/public/vite.svg +0 -1
  118. package/app/wujie-vue3-child/src/App.vue +0 -130
  119. package/app/wujie-vue3-child/src/assets/vue.svg +0 -1
  120. package/app/wujie-vue3-child/src/components/HelloWorld.vue +0 -43
  121. package/app/wujie-vue3-child/src/components/tags-view.vue +0 -193
  122. package/app/wujie-vue3-child/src/components/tags-view1.vue +0 -131
  123. package/app/wujie-vue3-child/src/directives/aiLoading.js +0 -182
  124. package/app/wujie-vue3-child/src/hooks/useClickOutside.js +0 -11
  125. package/app/wujie-vue3-child/src/hooks/useTableDragSort.js +0 -28
  126. package/app/wujie-vue3-child/src/main.js +0 -18
  127. package/app/wujie-vue3-child/src/router/index.js +0 -104
  128. package/app/wujie-vue3-child/src/store/tagsViewStroe.js +0 -34
  129. package/app/wujie-vue3-child/src/style.css +0 -171
  130. package/app/wujie-vue3-child/src/views/aiCoach/collapseExpand/index.jsx +0 -108
  131. package/app/wujie-vue3-child/src/views/aiCoach/collapseExpand/index.module.scss +0 -97
  132. package/app/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/README.md +0 -836
  133. package/app/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/REFLEX_EXAMPLES.md +0 -728
  134. package/app/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentPersonnelSelector.jsx +0 -687
  135. package/app/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentPersonnelSelector.module.scss +0 -560
  136. package/app/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentSelector.jsx +0 -570
  137. package/app/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentSelector.module.scss +0 -330
  138. package/app/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentSelectorV2.jsx +0 -378
  139. package/app/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentSelectorV2.module.scss +0 -228
  140. package/app/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/OptionsSelector.jsx +0 -399
  141. package/app/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/OptionsSelector.module.scss +0 -252
  142. package/app/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/PersonnelSelector.jsx +0 -585
  143. package/app/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/PersonnelSelector.module.scss +0 -331
  144. package/app/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/PopoverSelector.jsx +0 -392
  145. package/app/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/PopoverSelector.module.scss +0 -39
  146. package/app/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/README.md +0 -248
  147. package/app/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/SelectorTrigger.jsx +0 -194
  148. package/app/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/index.jsx +0 -1459
  149. package/app/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/mockData.js +0 -301
  150. package/app/wujie-vue3-child/src/views/aiCoach/dialogueSegment/index.jsx +0 -182
  151. package/app/wujie-vue3-child/src/views/aiCoach/dialogueSegment/index.module.scss +0 -28
  152. package/app/wujie-vue3-child/src/views/aiCoach/index.jsx +0 -293
  153. package/app/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/ChartsPanel/index.jsx +0 -121
  154. package/app/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/ChartsPanel/index.module.scss +0 -76
  155. package/app/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/DonutChart/index.jsx +0 -104
  156. package/app/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/PracticeTable/index.jsx +0 -75
  157. package/app/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/PracticeTable/index.module.scss +0 -12
  158. package/app/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankBarChart/index.jsx +0 -62
  159. package/app/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankBarChart/index.module.scss +0 -43
  160. package/app/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankingGroup/index.jsx +0 -29
  161. package/app/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankingGroup/index.module.scss +0 -5
  162. package/app/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankingList/index.jsx +0 -58
  163. package/app/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankingList/index.module.scss +0 -85
  164. package/app/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/ScriptStatsPanel/index.jsx +0 -92
  165. package/app/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/ScriptStatsPanel/index.module.scss +0 -56
  166. package/app/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/StatCardsRow/index.jsx +0 -40
  167. package/app/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/StatCardsRow/index.module.scss +0 -53
  168. package/app/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/echarts/EchartsDonut.jsx +0 -106
  169. package/app/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/echarts/EchartsRankBar.jsx +0 -132
  170. package/app/wujie-vue3-child/src/views/aiCoach/practiceStatus/index.jsx +0 -176
  171. package/app/wujie-vue3-child/src/views/aiCoach/practiceStatus/index.module.scss +0 -96
  172. package/app/wujie-vue3-child/src/views/aiCoach/reportDetail/components/CoachReport/index.jsx +0 -162
  173. package/app/wujie-vue3-child/src/views/aiCoach/reportDetail/components/CoachReport/index.module.scss +0 -16
  174. package/app/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ComprehensiveEvaluation/index.jsx +0 -29
  175. package/app/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ComprehensiveEvaluation/index.module.scss +0 -25
  176. package/app/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DialogueBubble/index.jsx +0 -106
  177. package/app/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DialogueBubble/index.module.scss +0 -164
  178. package/app/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DialogueRecord/index.jsx +0 -182
  179. package/app/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DialogueRecord/index.module.scss +0 -203
  180. package/app/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DimensionDetail/index.jsx +0 -145
  181. package/app/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DimensionDetail/index.module.scss +0 -126
  182. package/app/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DimensionScores/index.jsx +0 -67
  183. package/app/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DimensionScores/index.module.scss +0 -105
  184. package/app/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ReportHeader/index.jsx +0 -81
  185. package/app/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ReportHeader/index.module.scss +0 -47
  186. package/app/wujie-vue3-child/src/views/aiCoach/reportDetail/components/RoleInfo/index.jsx +0 -64
  187. package/app/wujie-vue3-child/src/views/aiCoach/reportDetail/components/RoleInfo/index.module.scss +0 -85
  188. package/app/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ScoreBadge/index.jsx +0 -39
  189. package/app/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ScoreBadge/index.module.scss +0 -44
  190. package/app/wujie-vue3-child/src/views/aiCoach/reportDetail/components/SubDimensionItem/index.jsx +0 -83
  191. package/app/wujie-vue3-child/src/views/aiCoach/reportDetail/components/SubDimensionItem/index.module.scss +0 -101
  192. package/app/wujie-vue3-child/src/views/aiCoach/reportDetail/index.jsx +0 -50
  193. package/app/wujie-vue3-child/src/views/aiCoach/reportDetail/index.module.scss +0 -25
  194. package/app/wujie-vue3-child/src/views/aiCoach/scriptTable/index.jsx +0 -196
  195. package/app/wujie-vue3-child/src/views/aiCoach/scriptTable/index.module.scss +0 -41
  196. package/app/wujie-vue3-child/src/views/aiCoach/scriptTable/inputColumn/index.jsx +0 -183
  197. package/app/wujie-vue3-child/src/views/aiCoach/scriptTable/inputColumn/index.module.scss +0 -115
  198. package/app/wujie-vue3-child/src/views/child-to-parent.vue +0 -117
  199. package/app/wujie-vue3-child/src/views/home.vue +0 -53
  200. package/app/wujie-vue3-child/src/views/jsx/btnSelect/btnSelect.vue +0 -169
  201. package/app/wujie-vue3-child/src/views/jsx/btnSelect/index.vue +0 -69
  202. package/app/wujie-vue3-child/src/views/jsx/com.vue +0 -44
  203. package/app/wujie-vue3-child/src/views/jsx/dialog.jsx +0 -66
  204. package/app/wujie-vue3-child/src/views/jsx/index.vue +0 -72
  205. package/app/wujie-vue3-child/src/views/jsx/props.vue +0 -33
  206. package/app/wujie-vue3-child/src/views/parent-to-child.vue +0 -225
  207. package/app/wujie-vue3-child/src/views/phone-code.vue +0 -318
  208. package/app/wujie-vue3-child/src/views/router-jump.vue +0 -123
  209. package/app/wujie-vue3-child/src/views/test.vue +0 -192
  210. package/app/wujie-vue3-child/vite.config.js +0 -15
@@ -0,0 +1,140 @@
1
+ <template>
2
+ <div class="table-hover-page">
3
+ <PageHeader
4
+ title="表格悬浮效果"
5
+ description="单元格鼠标悬浮高亮,支持自定义行/列悬浮样式"
6
+ usage="在 el-table 中使用,通过 row-class-name、cell-class-name 控制悬浮样式"
7
+ />
8
+ <el-table
9
+ :data="data"
10
+ style="width: 100%"
11
+ :span-method="objectSpanMethod"
12
+ :row-class-name="tableRowClassName"
13
+ :cell-style="cellStyle"
14
+ @cell-mouse-enter="handleCellMouseEnter"
15
+ @cell-mouse-leave="handleCellMouseLeave"
16
+ border>
17
+ <el-table-column prop="service" label="服务" width="180">
18
+ </el-table-column>
19
+ <el-table-column prop="name" label="实现变量" width="280">
20
+ </el-table-column>
21
+ <el-table-column prop="value" label="总配额">
22
+ </el-table-column>
23
+ </el-table>
24
+ </div>
25
+ </template>
26
+
27
+ <script>
28
+ import PageHeader from '@/components/PageHeader/index.vue'
29
+
30
+ export default {
31
+ name: 'TableHover',
32
+ components: {
33
+ PageHeader
34
+ },
35
+ data() {
36
+ return {
37
+ data: [
38
+ { service: 'ActiveMQ连接数', name: 'ActiveMQ队列数', value: '11' },
39
+ { service: 'ActiveMQ连接数', name: 'ActiveMQ流控配额', value: '111112' },
40
+ { service: 'ActiveMQ连接数', name: 'ActiveMQ连接配额', value: '111111' },
41
+ { service: 'ActiveMQ连接数', name: 'ActiveMQ存储配额', value: '111111' },
42
+ { service: '服务内类', name: 'westest00005activeMQ', value: '0' },
43
+ { service: '服务内类', name: '服务内类配额', value: '111111' },
44
+ { service: '测试公司内网', name: '配额测试配额测试配额测试配额测试配额测试配额测试', value: '0' },
45
+ { service: '测试公司内网', name: '测试公司内网(个/人)', value: '111111' },
46
+ { service: '测试公司内网', name: '测试公司内网配额', value: '111111' },
47
+ { service: '测试公司内网', name: 'test111165', value: '0' },
48
+ { service: '测试公司内网', name: 'sss', value: '111111' },
49
+ { service: '测试公司内网', name: 'westest001测试', value: '0' }
50
+ ],
51
+ currentIndex: '', // 当前悬浮行的标识
52
+ currentColumnIndex: '' // 当前悬浮列的标识
53
+ }
54
+ },
55
+ methods: {
56
+ objectSpanMethod({ row, column, rowIndex, columnIndex }) {
57
+ // 获取表格数据
58
+ const tableData = this.data;
59
+
60
+ // 只处理第一列的合并
61
+ if (columnIndex === 0) {
62
+ // 获取当前行的值
63
+ const currentValue = row.service; // 假设要根据 service 来合并
64
+
65
+ // 向上查找相同值的行数
66
+ let count = 1; // 至少包含当前行
67
+ for (let i = rowIndex - 1; i >= 0; i--) {
68
+ if (tableData[i].service === currentValue) {
69
+ count++;
70
+ } else {
71
+ break;
72
+ }
73
+ }
74
+
75
+ // 如果是相同值的第一行,则合并
76
+ if (rowIndex === 0 || tableData[rowIndex - 1].service !== currentValue) {
77
+ // 向下查找相同值的行数
78
+ for (let i = rowIndex + 1; i < tableData.length; i++) {
79
+ if (tableData[i].service === currentValue) {
80
+ count++;
81
+ } else {
82
+ break;
83
+ }
84
+ }
85
+ return {
86
+ rowspan: count,
87
+ colspan: 1
88
+ };
89
+ } else {
90
+ // 不是第一行则隐藏
91
+ return {
92
+ rowspan: 0,
93
+ colspan: 0
94
+ };
95
+ }
96
+ }
97
+
98
+ // 其他列保持不变
99
+ return {
100
+ rowspan: 1,
101
+ colspan: 1
102
+ };
103
+ },
104
+ handleCellMouseEnter(row, column, cell, event) {
105
+ this.currentIndex = row.service; // 记录当前悬浮行的 service 值
106
+ this.currentColumnIndex = column.label;
107
+ },
108
+
109
+ handleCellMouseLeave() {
110
+ this.currentIndex = '';
111
+ this.currentColumnIndex = '';
112
+ },
113
+
114
+ // 行的样式类名
115
+ tableRowClassName({ row }) {
116
+ let flag = row.service === this.currentIndex &&
117
+ this.currentColumnIndex === '服务'; // 根据实际的第一列标题修改
118
+ return flag ? 'table-hover-row' : '';
119
+ },
120
+
121
+ // 单元格样式
122
+ cellStyle({ row, column, rowIndex, columnIndex }) {
123
+ let flag = row.service === this.currentIndex &&
124
+ this.currentColumnIndex &&
125
+ this.currentColumnIndex !== '服务' &&
126
+ columnIndex === 0;
127
+ return flag ? 'background: #f4f6fa' : '';
128
+ }
129
+ }
130
+ }
131
+ </script>
132
+
133
+ <style>
134
+ .el-table .table-hover-row {
135
+ background: #f4f6fa !important;
136
+ }
137
+ .el-table td {
138
+ padding: 8px 0;
139
+ }
140
+ </style>
@@ -0,0 +1,52 @@
1
+ <template>
2
+ <div class="input-slo-page">
3
+ <PageHeader
4
+ title="el-input slot 对齐"
5
+ description="解决 el-input 前置/后置 slot 与输入框对齐问题,对比 mini 和 normal 尺寸差异"
6
+ usage="在 el-form-item 中使用 el-input 配合 prefix/suffix 插槽"
7
+ />
8
+ <div style="width: 400px;">
9
+ <el-form label-width="100px">
10
+ <el-form-item label="mini-slot">
11
+ <el-input v-model="inputValue" placeholder="请输入内容" size="mini">
12
+ <template #append>
13
+ <el-button @click="inputValue = ''" size="mini">清空</el-button>
14
+ </template>
15
+ </el-input>
16
+ </el-form-item>
17
+ <el-form-item label="mini-slot">
18
+ <el-input v-model="inputValue" placeholder="vertical-align: middle" size="mini" style="vertical-align: middle;">
19
+ <template #append>
20
+ <el-button @click="inputValue = ''" size="mini">清空</el-button>
21
+ </template>
22
+ </el-input>
23
+ </el-form-item>
24
+ <el-form-item label="slot">
25
+ <el-input v-model="inputValue" placeholder="请输入内容">
26
+ <template #append>
27
+ <el-button @click="inputValue = ''" size="mini">清空</el-button>
28
+ </template>
29
+ </el-input>
30
+ </el-form-item>
31
+ <el-form-item label="mini">
32
+ <el-input v-model="inputValue" placeholder="请输入内容" size="mini">
33
+ </el-input>
34
+ </el-form-item>
35
+ </el-form>
36
+ </div>
37
+ </div>
38
+ </template>
39
+ <script>
40
+ import PageHeader from '@/components/PageHeader/index.vue'
41
+
42
+ export default {
43
+ components: {
44
+ PageHeader
45
+ },
46
+ data() {
47
+ return {
48
+ inputValue: "",
49
+ };
50
+ },
51
+ };
52
+ </script>
@@ -0,0 +1,158 @@
1
+ <template>
2
+ <div class="table-fixed-page">
3
+ <PageHeader
4
+ title="el-table fixed 列问题"
5
+ description="解决 el-table fixed 列在横向滚动时的同步问题,支持鼠标滚轮横向滚动"
6
+ usage="在 el-table 上使用 ell-table 组件,支持 fixed=&quot;left/right&quot; 固定列"
7
+ />
8
+ <el-table :data="tableData" @wheel.native="handleWheel">
9
+ <el-table-column
10
+ prop="date"
11
+ label="日期"
12
+ width="180"
13
+ fixed="left"
14
+ ></el-table-column>
15
+ <el-table-column label="合并列" width="660" >
16
+ <el-table-column prop="name" label="姓名" width="180" ></el-table-column>
17
+ <el-table-column
18
+ prop="nickname"
19
+ label="昵称"
20
+ width="180"
21
+ ></el-table-column>
22
+ <el-table-column
23
+ prop="address"
24
+ label="地址"
25
+ width="300"
26
+ ></el-table-column>
27
+ </el-table-column>
28
+ <el-table-column prop="phone" label="电话" width="180" ></el-table-column>
29
+ <el-table-column prop="gender" label="性别" width="180"></el-table-column>
30
+ <el-table-column prop="age" label="年龄" width="180"></el-table-column>
31
+ <el-table-column prop="hobby" label="爱好" width="180"></el-table-column>
32
+ <el-table-column
33
+ prop="favorite"
34
+ label="爱好"
35
+ width="180"
36
+ ></el-table-column>
37
+ <el-table-column prop="remark" label="备注" width="180"></el-table-column>
38
+ <el-table-column prop="price" label="价格" width="180"></el-table-column>
39
+ <el-table-column
40
+ prop="quantity"
41
+ label="数量"
42
+ width="180"
43
+ ></el-table-column>
44
+ <el-table-column prop="total" label="合计" width="180"></el-table-column>
45
+ <el-table-column prop="status" label="状态" width="180"></el-table-column>
46
+ </el-table>
47
+ </div>
48
+ </template>
49
+
50
+ <script>
51
+ import PageHeader from '@/components/PageHeader/index.vue'
52
+
53
+ export default {
54
+ name: "TableFixed",
55
+ components: {
56
+ PageHeader
57
+ },
58
+ data() {
59
+ return {
60
+ tableData: [
61
+ {
62
+ date: "2016-05-02",
63
+ name: "王小虎",
64
+ nickname: "王小虎",
65
+ address: "上海市普陀区金沙江路 1518 弄",
66
+ phone: "13800000000",
67
+ gender: "男",
68
+ age: 25,
69
+ hobby: "游泳",
70
+ favorite: "外套",
71
+ remark: "无",
72
+ price: 100,
73
+ quantity: 1,
74
+ total: 100,
75
+ status: "已完成",
76
+ },
77
+ {
78
+ date: "2016-05-041",
79
+ name: "王小虎1",
80
+ nickname: "王小虎1",
81
+ address: "上海市普陀区金沙江路 1517 弄1",
82
+ phone: "138000000001",
83
+ gender: "男1",
84
+ age: 25,
85
+ hobby: "游泳1",
86
+ favorite: "外套1",
87
+ remark: "无1",
88
+ price: 100,
89
+ quantity: 1,
90
+ total: 100,
91
+ status: "已完成1",
92
+ },
93
+ {
94
+ date: "2016-05-06",
95
+ name: "王小虎2",
96
+ nickname: "王小虎2",
97
+ address: "上海市普陀区金沙江路 1519 弄2",
98
+ phone: "138000000002",
99
+ gender: "男2",
100
+ age: 25,
101
+ hobby: "游泳2",
102
+ favorite: "外套2",
103
+ remark: "无2",
104
+ price: 100,
105
+ quantity: 1,
106
+ total: 100,
107
+ },
108
+ {
109
+ date: "2016-05-08",
110
+ name: "王小虎3",
111
+ nickname: "王小虎3",
112
+ address: "上海市普陀区金沙江路 1519 弄3",
113
+ phone: "138000000003",
114
+ gender: "男3",
115
+ age: 25,
116
+ hobby: "游泳3",
117
+ favorite: "外套3",
118
+ remark: "无3",
119
+ price: 100,
120
+ quantity: 1,
121
+ total: 100,
122
+ status: "已完成3",
123
+ },
124
+ ],
125
+ };
126
+ },
127
+ methods: {
128
+ handleWheel(event) {
129
+ console.log(event,'event');
130
+
131
+ const tableBody = this.$el.querySelector('.el-table__body-wrapper');
132
+ if (tableBody.scrollHeight <= tableBody.clientHeight) {
133
+ event.preventDefault();
134
+ tableBody.scrollLeft += event.deltaY;
135
+ }
136
+ },
137
+ },
138
+ };
139
+ </script>
140
+
141
+ <style>
142
+ .el-table {
143
+ .el-table__body-wrapper {
144
+ overflow-x: auto !important;
145
+ }
146
+ /* .el-table__fixed-right {
147
+ height: 100% !important;
148
+ bottom: 0 !important;
149
+ } */
150
+ .el-table__fixed {
151
+ height: 100% !important;
152
+ bottom: 0 !important;
153
+ }
154
+ /* .el-table__fixed-right-patch {
155
+ background: #fff;
156
+ } */
157
+ }
158
+ </style>
@@ -0,0 +1,82 @@
1
+ <template>
2
+ <div class="echart-dome-page">
3
+ <PageHeader
4
+ title="基础 ECharts 示例"
5
+ description="展示 ECharts 基础 2D 饼图用法,包含 option 配置、tooltip、图例等"
6
+ usage="&lt;echart-dome /&gt; 通过 props 传入 option 数据"
7
+ />
8
+ <div id="echart-111" style="height: 300px"></div>
9
+ </div>
10
+ </template>
11
+
12
+ <script>
13
+ import * as echarts from "echarts";
14
+ import PageHeader from "@/components/PageHeader/index.vue";
15
+
16
+ export default {
17
+ components: {
18
+ PageHeader,
19
+ },
20
+ mounted() {
21
+ this.initEchart();
22
+ },
23
+ methods: {
24
+ initEchart() {
25
+ var chartDom = document.getElementById("echart-111");
26
+ var myChart = echarts.init(chartDom);
27
+ var option;
28
+
29
+ option = {
30
+ tooltip: {
31
+ trigger: "item",
32
+ },
33
+ label: {
34
+ formatter: "{a} {b} ({d}%)",
35
+ },
36
+ series: [
37
+ {
38
+ name: "Access From",
39
+ type: "pie",
40
+ radius: "50%",
41
+ data: [
42
+ { value: 1048, name: "Search Engine" },
43
+ { value: 735, name: "Direct" },
44
+ { value: 580, name: "Email" },
45
+ { value: 484, name: "Union Ads" },
46
+ { value: 300, name: "Video Ads" },
47
+ ],
48
+ emphasis: {
49
+ itemStyle: {
50
+ shadowBlur: 10,
51
+ shadowOffsetX: 0,
52
+ shadowColor: "rgba(0, 0, 0, 0.5)",
53
+ },
54
+ },
55
+ itemStyle: {
56
+ color: 'rgba(0,0,0,0)'
57
+ },
58
+ label: {
59
+ show: true,
60
+ color: '#000'
61
+ },
62
+ labelLine: {
63
+ show: true,
64
+ length: 20,
65
+ length2: 10
66
+ }
67
+ },
68
+ ],
69
+ };
70
+
71
+ option && myChart.setOption(option);
72
+ },
73
+ },
74
+ };
75
+ </script>
76
+
77
+ <style scoped>
78
+ .echart-dome-page {
79
+ width: 100%;
80
+ height: 100%;
81
+ }
82
+ </style>
@@ -0,0 +1,118 @@
1
+ <template>
2
+ <div class="echarts-demo-page">
3
+ <div
4
+ style="
5
+ background-color: #000a3b;
6
+ height: 400px;
7
+ width: 1200px;
8
+ display: flex;
9
+ justify-content: space-around;
10
+ "
11
+ >
12
+ <pie3d v-if="list.length" :optionData="list" id="1" />
13
+ <pie3d v-if="list1.length" :optionData="list1" id="2" />
14
+ </div>
15
+ <div>
16
+ <!-- <echart-dome/> -->
17
+ </div>
18
+ </div>
19
+ </template>
20
+
21
+ <script>
22
+ import pie3d from "./pei3d.vue";
23
+ import echartDome from "./echart-dome.vue";
24
+ const optionData1 = [
25
+ {
26
+ name: "子公司",
27
+ value: 2675,
28
+ itemStyle: {
29
+ color: "#42f59e",
30
+ },
31
+ },
32
+
33
+ {
34
+ name: "分行",
35
+ value: 15897,
36
+ itemStyle: {
37
+ color: "#3292e6",
38
+ },
39
+ },
40
+ {
41
+ name: "宁波地区支行",
42
+ value: 4910,
43
+ itemStyle: {
44
+ color: "#4ceff0",
45
+ },
46
+ },
47
+ {
48
+ name: "总行",
49
+ value: 4447,
50
+ itemStyle: {
51
+ color: "#fac858",
52
+ },
53
+ },
54
+ ];
55
+ const optionData2 = [
56
+ {
57
+ name: "永赢金租",
58
+ value: 1251,
59
+ itemStyle: {
60
+ color: "#4ceff0",
61
+ },
62
+ },
63
+
64
+ {
65
+ name: "宁银理财",
66
+ value: 203,
67
+ itemStyle: {
68
+ color: "#fac858",
69
+ },
70
+ },
71
+ {
72
+ name: "宁银消金",
73
+ value: 1221,
74
+ itemStyle: {
75
+ color: "#3292e6",
76
+ },
77
+ },
78
+
79
+ ];
80
+
81
+ const getListApi = (type) => {
82
+ return new Promise((resolve, reject) => {
83
+ setTimeout(() => {
84
+ resolve({
85
+ code: 200,
86
+ data: type == 1 ? optionData1 : optionData2,
87
+ });
88
+ }, 1000);
89
+ });
90
+ };
91
+
92
+ export default {
93
+ components: {
94
+ pie3d,
95
+ echartDome,
96
+ },
97
+
98
+ created() {
99
+ this.getList();
100
+ },
101
+
102
+ data() {
103
+ return {
104
+ list: [],
105
+ list1: [],
106
+ };
107
+ },
108
+
109
+ methods: {
110
+ async getList() {
111
+ const res1 = await getListApi(1);
112
+ const res2 = await getListApi(2);
113
+ this.list = res1.data;
114
+ this.list1 = res2.data;
115
+ },
116
+ },
117
+ };
118
+ </script>