vue2-client 1.20.55 → 1.20.56

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 (100) hide show
  1. package/.claude/settings.local.json +30 -30
  2. package/.cursor/tmp/stable-virtual-table-session-summary.md +57 -0
  3. package/.eslintrc.js +74 -74
  4. package/.idea/MarsCodeWorkspaceAppSettings.xml +1 -2
  5. package/.idea/google-java-format.xml +6 -0
  6. package/.idea/inspectionProfiles/Project_Default.xml +18 -0
  7. package/.idea/jsLinters/eslint.xml +6 -0
  8. package/.idea/modules.xml +1 -1
  9. package/.vscode/settings.json +28 -0
  10. package/Components.md +60 -60
  11. package/index.js +31 -31
  12. package/jest-transform-stub.js +8 -8
  13. package/jest.setup.js +7 -7
  14. package/package.json +1 -1
  15. package/src/assets/img/querySlotDemo.svg +15 -15
  16. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  17. package/src/base-client/components/common/CitySelect/index.js +3 -3
  18. package/src/base-client/components/common/CitySelect/index.md +109 -109
  19. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  20. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  21. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  22. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  23. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  24. package/src/base-client/components/common/Tree/index.js +2 -2
  25. package/src/base-client/components/common/Upload/index.js +3 -3
  26. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  27. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  28. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  29. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  30. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  31. package/src/base-client/components/common/XDescriptions/XDescriptionsGroup.vue +673 -673
  32. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  33. package/src/base-client/components/common/XDescriptions/index.md +382 -382
  34. package/src/base-client/components/common/XForm/index.md +178 -178
  35. package/src/base-client/components/common/XFormTable/demo.vue +37 -79
  36. package/src/base-client/components/common/XMarkdownViewer/XMarkdownViewer.vue +3 -0
  37. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  38. package/src/base-client/components/common/XStepView/index.js +3 -3
  39. package/src/base-client/components/common/XStepView/index.md +31 -31
  40. package/src/base-client/components/common/XTable/XTable.vue +42 -0
  41. package/src/base-client/components/common/XTable/XTableWrapper.vue +12 -7
  42. package/src/base-client/components/common/XTable/index.md +255 -255
  43. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  44. package/src/base-client/plugins/Config.js +19 -19
  45. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  46. package/src/components/AVirtualTable/a-virtual-table.vue +658 -0
  47. package/src/components/AVirtualTable/demo.vue +140 -0
  48. package/src/components/AVirtualTable/index.js +3 -0
  49. package/src/components/Charts/Bar.vue +62 -62
  50. package/src/components/Charts/ChartCard.vue +134 -134
  51. package/src/components/Charts/Liquid.vue +67 -67
  52. package/src/components/Charts/MiniArea.vue +39 -39
  53. package/src/components/Charts/MiniBar.vue +39 -39
  54. package/src/components/Charts/MiniProgress.vue +75 -75
  55. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  56. package/src/components/Charts/Radar.vue +68 -68
  57. package/src/components/Charts/RankList.vue +77 -77
  58. package/src/components/Charts/TagCloud.vue +113 -113
  59. package/src/components/Charts/TransferBar.vue +64 -64
  60. package/src/components/Charts/Trend.vue +82 -82
  61. package/src/components/Charts/chart.less +12 -12
  62. package/src/components/Charts/smooth.area.less +13 -13
  63. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  64. package/src/components/NumberInfo/index.js +3 -3
  65. package/src/components/NumberInfo/index.less +54 -54
  66. package/src/components/NumberInfo/index.md +43 -43
  67. package/src/components/STable/index.js +298 -144
  68. package/src/components/card/ChartCard.vue +79 -79
  69. package/src/components/chart/Bar.vue +60 -60
  70. package/src/components/chart/MiniArea.vue +67 -67
  71. package/src/components/chart/MiniBar.vue +59 -59
  72. package/src/components/chart/MiniProgress.vue +57 -57
  73. package/src/components/chart/Radar.vue +80 -80
  74. package/src/components/chart/RankingList.vue +60 -60
  75. package/src/components/chart/Trend.vue +79 -79
  76. package/src/components/chart/index.less +9 -9
  77. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  78. package/src/components/index.js +2 -0
  79. package/src/components/input/IInput.vue +66 -66
  80. package/src/components/menu/SideMenu.vue +75 -75
  81. package/src/components/menu/menu.js +273 -273
  82. package/src/components/tool/AStepItem.vue +60 -60
  83. package/src/layouts/CommonLayout.vue +56 -56
  84. package/src/lib.js +1 -1
  85. package/src/mock/extend/index.js +84 -84
  86. package/src/mock/goods/index.js +108 -108
  87. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +417 -417
  88. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  89. package/src/pages/system/dictionary/index.vue +44 -44
  90. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  91. package/src/pages/system/monitor/operLog/index.vue +37 -37
  92. package/src/router/async/router.map.js +1 -0
  93. package/src/services/api/cas.js +79 -79
  94. package/src/store/modules/setting.js +119 -119
  95. package/src/utils/errorCode.js +6 -6
  96. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
  97. package/.idea/CopilotChatHistory.xml +0 -39
  98. package/.idea/migrateChatHistory.xml +0 -10
  99. package/src/pages/WorkflowDetail/WorkFlowDemo4.vue +0 -127
  100. /package/.idea/{af-vue2-client.iml → vue2-client.iml} +0 -0
@@ -1,30 +1,30 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "WebSearch",
5
- "WebFetch(domain:context7.com)",
6
- "Bash(npm run lint)",
7
- "mcp__context7__resolve-library-id",
8
- "mcp__context7__get-library-docs",
9
- "WebFetch(domain:github.com)",
10
- "Bash(npm run serve:*)",
11
- "mcp__serena__get_current_config",
12
- "mcp__serena__activate_project",
13
- "mcp__serena__get_symbols_overview",
14
- "mcp__serena__list_dir",
15
- "mcp__serena__find_file",
16
- "mcp__serena__list_memories",
17
- "mcp__serena__check_onboarding_performed",
18
- "mcp__serena__read_memory",
19
- "mcp__serena__think_about_collected_information",
20
- "mcp__sequential-thinking__sequentialthinking",
21
- "Bash(npm run lint:*)",
22
- "mcp__serena__find_symbol",
23
- "mcp__serena__search_for_pattern",
24
- "Bash(node -c:*)"
25
- ],
26
- "deny": [],
27
- "ask": [],
28
- "defaultMode": "acceptEdits"
29
- }
30
- }
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "WebSearch",
5
+ "WebFetch(domain:context7.com)",
6
+ "Bash(npm run lint)",
7
+ "mcp__context7__resolve-library-id",
8
+ "mcp__context7__get-library-docs",
9
+ "WebFetch(domain:github.com)",
10
+ "Bash(npm run serve:*)",
11
+ "mcp__serena__get_current_config",
12
+ "mcp__serena__activate_project",
13
+ "mcp__serena__get_symbols_overview",
14
+ "mcp__serena__list_dir",
15
+ "mcp__serena__find_file",
16
+ "mcp__serena__list_memories",
17
+ "mcp__serena__check_onboarding_performed",
18
+ "mcp__serena__read_memory",
19
+ "mcp__serena__think_about_collected_information",
20
+ "mcp__sequential-thinking__sequentialthinking",
21
+ "Bash(npm run lint:*)",
22
+ "mcp__serena__find_symbol",
23
+ "mcp__serena__search_for_pattern",
24
+ "Bash(node -c:*)"
25
+ ],
26
+ "deny": [],
27
+ "ask": [],
28
+ "defaultMode": "acceptEdits"
29
+ }
30
+ }
@@ -0,0 +1,57 @@
1
+ # STable 虚拟滚动迁移与会话摘要
2
+
3
+ > 供后续对话引用,路径:`vue2-client/.cursor/tmp/stable-virtual-table-session-summary.md`
4
+
5
+ ## 一、目标与范围
6
+
7
+ - 在 **vue2-client** 中把 [a-virtual-table](https://github.com/xiaocheng555/a-virtual-table) **源码迁入项目**(不依赖 npm 包 `a-virtual-table`),由 **[STable](src/components/STable/index.js)** 底层使用虚拟表替代直接渲染 `<a-table>`。
8
+ - **XTableWrapper / XFormTable / XTable** 等业务层原则上**零改动**(列插槽仍为 `slot-scope="text, record, index"`)。
9
+
10
+ ## 二、关键文件
11
+
12
+ | 文件 | 说明 |
13
+ |------|------|
14
+ | [src/components/AVirtualTable/a-virtual-table.vue](src/components/AVirtualTable/a-virtual-table.vue) | 本地化虚拟表:render 透传 `scopedSlots`、内部 `change` 改名为 `renderChange`、`effectiveVirtualized` 阈值 |
15
+ | [src/components/AVirtualTable/index.js](src/components/AVirtualTable/index.js) | 默认导出组件 |
16
+ | [src/components/STable/index.js](src/components/STable/index.js) | 使用 `AVirtualTable`、`__v_key`、`invokeSetScrollYHeight`、**props/attrs 拆分**(见下) |
17
+ | [src/components/index.js](src/components/index.js) | 导出 `AVirtualTable` |
18
+ | [src/base-client/components/common/XTable/XTableWrapper.vue](src/base-client/components/common/XTable/XTableWrapper.vue) | 唯一渲染 `<s-table>` 处,`scroll` 绑定 `tableContext.scrollXWidth` / `scrollYHeight` |
19
+
20
+ ## 三、虚拟表核心改造(相对上游 a-virtual-table)
21
+
22
+ 1. **插槽**:不再用中间层 `getSlotValue` 包装;`render` 里 **`scopedSlots: this.$scopedSlots` 直接传给内部 ant-design-vue `Table`**,保证位置参数插槽与原来 `a-table` 一致。
23
+ 2. **事件**:虚拟列表数据切片完成时 **`$emit('renderChange', ...)`**,不再用 `change`,避免与排序/筛选的 `onChange` 冲突导致「一滚就调 loadData」。
24
+ 3. **阈值**:`effectiveVirtualized = virtualized && dataSource.length > autoVirtualizeThreshold`;**默认 `autoVirtualizeThreshold: 40`**,即 **至少 41 行**才启用虚拟滚动(若需「满 40 行就开」,改为 `>=`)。
25
+ 4. **`offsetMap` 计算属性**:使用 `this.keyProp / this.dataSource` 等(上游用 computed 参数解构的写法在 Vue2 中不成立,已修正)。
26
+
27
+ ## 四、STable 侧逻辑
28
+
29
+ - **`ensureVirtualKeysForRows`**:`loadData` 成功及 `setLocalDataSource` 时为每行写入 **`__v_key`**(兼容 `rowKey` 为函数或 `'序号'`),虚拟表 **`keyProp="__v_key"`**。
30
+ - **`invokeSetScrollYHeight`**:在原先调用父传入的 `setScrollYHeight` 之后,`$nextTick` 调用 **`this.$refs.vtable.update()`**,便于布局/表头高度变化后重算虚拟区域。
31
+ - **`ref="vtable"`**:便于外部 `this.$refs.table.$refs.vtable` 调试(视 ref 链而定)。
32
+
33
+ ## 五、重要 Bug 修复:scroll 等属性「丢失」
34
+
35
+ **现象**:`XTableWrapper` 里 `:scroll="{ x, y: scrollYHeight }"` 似乎无效,表高随行数撑开。
36
+
37
+ **根因**:Vue2 中通过 JSX `{ props: { ...全部 a-table 字段 } }` 传给 `AVirtualTable` 时,**未在子组件 `props` 中声明的键(如 `scroll`、`rowKey`、`rowSelection`、`components`)会被静默丢弃**,不会进入 **`$attrs`**,内部 `a-table` 收不到 `scroll.y`,`getScroller()` 里 `this.$attrs.scroll.y` 也一直为空。
38
+
39
+ **修复**:在 [STable/index.js](src/components/STable/index.js) 中维护 **`VTABLE_OWN_PROP_KEYS`**,仅将虚拟表**自有**声明字段放入 `props`,其余全部放入 **`attrs`** 传给 `AVirtualTable`,使 `scroll` 等到 **`this.$attrs`** 并透传到内部 `Table`。
40
+
41
+ ## 六、回归与风险备忘
42
+
43
+ - 建议自测:≤40 行 vs ≥41 行、排序/筛选、`scroll.x`/`scroll.y`、固定列、行选择、`expandedRowRender`、`components` 表头列宽拖拽、`customRow`。
44
+ - 全量构建若失败,注意仓库内其他文件 ESLint(例如历史问题中的 `XMarkdownViewer.vue`),与本次表格改动无关。
45
+ - 用户规则:**前端避免紫色**、**不要提交 console.log**。
46
+
47
+ ## 七、参考架构(简述)
48
+
49
+ ```
50
+ XFormTable → XTable → XTableWrapper → STable → AVirtualTable → ant-design-vue Table
51
+ ```
52
+
53
+ 虚拟滚动仅在数据行数 **大于** `autoVirtualizeThreshold`(默认 40)时启用。
54
+
55
+ ---
56
+
57
+ *文档由会话整理生成,后续任务可从此处接着改代码或补测试。*
package/.eslintrc.js CHANGED
@@ -1,74 +1,74 @@
1
- module.exports = {
2
- root: true,
3
- env: {
4
- node: true
5
- },
6
- // prettier 放最后,自动关闭所有与 Prettier 冲突的格式规则
7
- extends: ['plugin:vue/essential', 'plugin:vue/strongly-recommended', '@vue/standard', 'prettier'],
8
- rules: {
9
- camelcase: 'off',
10
- 'comma-dangle': 'off',
11
- 'no-console': 'off',
12
- 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
13
- 'generator-star-spacing': 'off',
14
- 'no-mixed-operators': 0,
15
- 'vue/max-attributes-per-line': 'off',
16
- 'vue/attribute-hyphenation': 0,
17
- 'vue/html-self-closing': 0,
18
- 'vue/component-name-in-template-casing': 0,
19
- 'vue/html-closing-bracket-spacing': 0,
20
- 'vue/singleline-html-element-content-newline': 0,
21
- 'vue/no-unused-components': 0,
22
- 'vue/multiline-html-element-content-newline': 0,
23
- 'vue/no-use-v-if-with-v-for': 0,
24
- 'vue/html-closing-bracket-newline': 0,
25
- 'vue/no-parsing-error': 0,
26
- 'vue/name-property-casing': 0,
27
- 'vue/multi-word-component-names': 0,
28
- 'vue/no-mutating-props': 0,
29
- 'no-tabs': 0,
30
- 'multiline-ternary': 0,
31
- 'object-shorthand': 0,
32
- quotes: [
33
- 2,
34
- 'single',
35
- {
36
- avoidEscape: true,
37
- allowTemplateLiterals: true
38
- }
39
- ],
40
- semi: [
41
- 2,
42
- 'never',
43
- {
44
- beforeStatementContinuationChars: 'never'
45
- }
46
- ],
47
- 'no-delete-var': 2,
48
- 'prefer-const': [
49
- 2,
50
- {
51
- ignoreReadBeforeAssign: false
52
- }
53
- ],
54
- 'template-curly-spacing': 'off',
55
- indent: 'off',
56
- // 必须使用全等: false
57
- eqeqeq: 0,
58
- // 可以使用!! 双重否定
59
- 'no-extra-boolean-cast': 'off',
60
- // 关闭函数名后空格检查,跟随 Prettier 默认风格 function foo()
61
- 'space-before-function-paren': 'off'
62
- },
63
- parserOptions: {
64
- parser: '@babel/eslint-parser'
65
- },
66
- overrides: [
67
- {
68
- files: ['**/__tests__/*.{j,t}s?(x)', '**/tests/unit/**/*.spec.{j,t}s?(x)'],
69
- env: {
70
- jest: true
71
- }
72
- }
73
- ]
74
- }
1
+ module.exports = {
2
+ root: true,
3
+ env: {
4
+ node: true
5
+ },
6
+ // prettier 放最后,自动关闭所有与 Prettier 冲突的格式规则
7
+ extends: ['plugin:vue/essential', 'plugin:vue/strongly-recommended', '@vue/standard', 'prettier'],
8
+ rules: {
9
+ camelcase: 'off',
10
+ 'comma-dangle': 'off',
11
+ 'no-console': 'off',
12
+ 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
13
+ 'generator-star-spacing': 'off',
14
+ 'no-mixed-operators': 0,
15
+ 'vue/max-attributes-per-line': 'off',
16
+ 'vue/attribute-hyphenation': 0,
17
+ 'vue/html-self-closing': 0,
18
+ 'vue/component-name-in-template-casing': 0,
19
+ 'vue/html-closing-bracket-spacing': 0,
20
+ 'vue/singleline-html-element-content-newline': 0,
21
+ 'vue/no-unused-components': 0,
22
+ 'vue/multiline-html-element-content-newline': 0,
23
+ 'vue/no-use-v-if-with-v-for': 0,
24
+ 'vue/html-closing-bracket-newline': 0,
25
+ 'vue/no-parsing-error': 0,
26
+ 'vue/name-property-casing': 0,
27
+ 'vue/multi-word-component-names': 0,
28
+ 'vue/no-mutating-props': 0,
29
+ 'no-tabs': 0,
30
+ 'multiline-ternary': 0,
31
+ 'object-shorthand': 0,
32
+ quotes: [
33
+ 2,
34
+ 'single',
35
+ {
36
+ avoidEscape: true,
37
+ allowTemplateLiterals: true
38
+ }
39
+ ],
40
+ semi: [
41
+ 2,
42
+ 'never',
43
+ {
44
+ beforeStatementContinuationChars: 'never'
45
+ }
46
+ ],
47
+ 'no-delete-var': 2,
48
+ 'prefer-const': [
49
+ 2,
50
+ {
51
+ ignoreReadBeforeAssign: false
52
+ }
53
+ ],
54
+ 'template-curly-spacing': 'off',
55
+ indent: 'off',
56
+ // 必须使用全等: false
57
+ eqeqeq: 0,
58
+ // 可以使用!! 双重否定
59
+ 'no-extra-boolean-cast': 'off',
60
+ // 关闭函数名后空格检查,跟随 Prettier 默认风格 function foo()
61
+ 'space-before-function-paren': 'off'
62
+ },
63
+ parserOptions: {
64
+ parser: '@babel/eslint-parser'
65
+ },
66
+ overrides: [
67
+ {
68
+ files: ['**/__tests__/*.{j,t}s?(x)', '**/tests/unit/**/*.spec.{j,t}s?(x)'],
69
+ env: {
70
+ jest: true
71
+ }
72
+ }
73
+ ]
74
+ }
@@ -1,8 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <project version="4">
3
3
  <component name="com.codeverse.userSettings.MarscodeWorkspaceAppSettingsState">
4
- <option name="chatAppRouterInfo" value="builder/691d37a10c28806eaf3d4104" />
5
4
  <option name="ckgOperationStatus" value="SUCCESS" />
6
- <option name="progress" value="1.0" />
5
+ <option name="progress" value="0.98264986" />
7
6
  </component>
8
7
  </project>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="GoogleJavaFormatSettings">
4
+ <option name="enabled" value="false" />
5
+ </component>
6
+ </project>
@@ -2,5 +2,23 @@
2
2
  <profile version="1.0">
3
3
  <option name="myName" value="Project Default" />
4
4
  <inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
5
+ <inspection_tool class="HtmlUnknownTag" enabled="true" level="WARNING" enabled_by_default="true">
6
+ <option name="myValues">
7
+ <value>
8
+ <list size="9">
9
+ <item index="0" class="java.lang.String" itemvalue="nobr" />
10
+ <item index="1" class="java.lang.String" itemvalue="noembed" />
11
+ <item index="2" class="java.lang.String" itemvalue="comment" />
12
+ <item index="3" class="java.lang.String" itemvalue="noscript" />
13
+ <item index="4" class="java.lang.String" itemvalue="embed" />
14
+ <item index="5" class="java.lang.String" itemvalue="script" />
15
+ <item index="6" class="java.lang.String" itemvalue="a-month-picker" />
16
+ <item index="7" class="java.lang.String" itemvalue="a-select-option" />
17
+ <item index="8" class="java.lang.String" itemvalue="a-menu-item" />
18
+ </list>
19
+ </value>
20
+ </option>
21
+ <option name="myCustomValuesEnabled" value="true" />
22
+ </inspection_tool>
5
23
  </profile>
6
24
  </component>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="EslintConfiguration">
4
+ <option name="fix-on-save" value="true" />
5
+ </component>
6
+ </project>
package/.idea/modules.xml CHANGED
@@ -2,7 +2,7 @@
2
2
  <project version="4">
3
3
  <component name="ProjectModuleManager">
4
4
  <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/af-vue2-client.iml" filepath="$PROJECT_DIR$/.idea/af-vue2-client.iml" />
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/vue2-client.iml" filepath="$PROJECT_DIR$/.idea/vue2-client.iml" />
6
6
  </modules>
7
7
  </component>
8
8
  </project>
@@ -0,0 +1,28 @@
1
+ {
2
+ // 保存时自动格式化
3
+ "editor.formatOnSave": true,
4
+ // 保存时自动修复 ESLint 问题
5
+ "editor.codeActionsOnSave": {
6
+ "source.fixAll.eslint": "explicit"
7
+ },
8
+ // 统一使用 Prettier 格式化(跨 IDE 一致性)
9
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
10
+ "[vue]": {
11
+ "editor.defaultFormatter": "dbaeumer.vscode-eslint"
12
+ },
13
+ "[javascript]": {
14
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
15
+ },
16
+ "[json]": {
17
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
18
+ },
19
+ // ESLint 验证的文件类型
20
+ "eslint.validate": [
21
+ "javascript",
22
+ "javascriptreact",
23
+ "vue"
24
+ ],
25
+ "i18n-ally.localesPaths": [
26
+ "public/his/editor/vender/date97/lang"
27
+ ]
28
+ }
package/Components.md CHANGED
@@ -1,60 +1,60 @@
1
- # vue2基础组件库组件介绍
2
-
3
- ## XAddForm
4
-
5
- 基于XAddNativeForm二次封装的动态表单的Modal形式
6
-
7
- [使用文档](src/base-client/components/common/XAddForm/index.md)
8
-
9
- ## XAddNativeForm
10
-
11
- 通过JSON配置动态生成的数据保存表单
12
-
13
- [使用文档](src/base-client/components/common/XAddNativeForm/index.md)
14
-
15
- ## XBadge
16
-
17
- 对antdv的badge组件进行重封装
18
-
19
- [使用文档](src/base-client/components/common/XBadge/index.md)
20
-
21
- ## XCard
22
-
23
- 通用数据加载状态管理容器
24
-
25
- 提供一个可以根据数据加载状态显示不同内容的通用容器
26
- 当loadState为loading时,显示骨架屏(加载界面)
27
- 当loadState为success时,显示容器内容
28
- 当loadState为error时,显示点击重新加载数据的提示界面
29
-
30
- [使用文档](src/base-client/components/common/XCard/index.md)
31
-
32
- ## XForm
33
-
34
- 通过JSON配置动态生成的数据筛选查询表单
35
-
36
- [使用文档](src/base-client/components/common/XForm/index.md)
37
-
38
- ## XTable
39
-
40
- 通过JSON配置动态生成的数据表格
41
-
42
- [使用文档](src/base-client/components/common/XTable/index.md)
43
-
44
- ## XFormCol
45
-
46
- 适用于动态表单的可以自适应各种分辨率设备的栅格组件封装
47
-
48
- [使用文档](src/base-client/components/common/XFormCol/index.md)
49
-
50
- ## XFormTable
51
-
52
- 对XAddForm,XForm和XTable组件的二次封装,实现通过JSON配置动态生成一个完整的实体操作页面
53
-
54
- [使用文档](src/base-client/components/common/XFormTable/index.md)
55
-
56
- ## XImportExcel
57
-
58
- 通用的导入excel组件
59
-
60
- [使用文档](src/base-client/components/common/XImportExcel/index.md)
1
+ # vue2基础组件库组件介绍
2
+
3
+ ## XAddForm
4
+
5
+ 基于XAddNativeForm二次封装的动态表单的Modal形式
6
+
7
+ [使用文档](src/base-client/components/common/XAddForm/index.md)
8
+
9
+ ## XAddNativeForm
10
+
11
+ 通过JSON配置动态生成的数据保存表单
12
+
13
+ [使用文档](src/base-client/components/common/XAddNativeForm/index.md)
14
+
15
+ ## XBadge
16
+
17
+ 对antdv的badge组件进行重封装
18
+
19
+ [使用文档](src/base-client/components/common/XBadge/index.md)
20
+
21
+ ## XCard
22
+
23
+ 通用数据加载状态管理容器
24
+
25
+ 提供一个可以根据数据加载状态显示不同内容的通用容器
26
+ 当loadState为loading时,显示骨架屏(加载界面)
27
+ 当loadState为success时,显示容器内容
28
+ 当loadState为error时,显示点击重新加载数据的提示界面
29
+
30
+ [使用文档](src/base-client/components/common/XCard/index.md)
31
+
32
+ ## XForm
33
+
34
+ 通过JSON配置动态生成的数据筛选查询表单
35
+
36
+ [使用文档](src/base-client/components/common/XForm/index.md)
37
+
38
+ ## XTable
39
+
40
+ 通过JSON配置动态生成的数据表格
41
+
42
+ [使用文档](src/base-client/components/common/XTable/index.md)
43
+
44
+ ## XFormCol
45
+
46
+ 适用于动态表单的可以自适应各种分辨率设备的栅格组件封装
47
+
48
+ [使用文档](src/base-client/components/common/XFormCol/index.md)
49
+
50
+ ## XFormTable
51
+
52
+ 对XAddForm,XForm和XTable组件的二次封装,实现通过JSON配置动态生成一个完整的实体操作页面
53
+
54
+ [使用文档](src/base-client/components/common/XFormTable/index.md)
55
+
56
+ ## XImportExcel
57
+
58
+ 通用的导入excel组件
59
+
60
+ [使用文档](src/base-client/components/common/XImportExcel/index.md)
package/index.js CHANGED
@@ -1,31 +1,31 @@
1
- import Vue from 'vue'
2
- import { initRouter } from '@vue2-client/router/index.js'
3
- import { initI18n } from '@vue2-client/utils/i18n'
4
- import bootstrap from '@vue2-client/bootstrap'
5
- import { modules } from '@vue2-client/store'
6
- import '@vue2-client/theme/index.less'
7
- import '@vue2-client/utils/filter'
8
- import 'animate.css/source/animate.css'
9
- import 'moment/locale/zh-cn'
10
- import Antd from 'ant-design-vue'
11
- import Viser from 'viser-vue'
12
- // 插件
13
- import Plugins from '@vue2-client/base-client/plugins'
14
-
15
- const routerOptions = initRouter()
16
- const i18n = initI18n('CN', 'US')
17
-
18
- Vue.use(Antd)
19
- Vue.use(Viser)
20
- Vue.use(Plugins)
21
-
22
- Vue.config.productionTip = false
23
- const message = Vue.prototype.$message
24
-
25
- export {
26
- routerOptions,
27
- modules,
28
- i18n,
29
- message,
30
- bootstrap
31
- }
1
+ import Vue from 'vue'
2
+ import { initRouter } from '@vue2-client/router/index.js'
3
+ import { initI18n } from '@vue2-client/utils/i18n'
4
+ import bootstrap from '@vue2-client/bootstrap'
5
+ import { modules } from '@vue2-client/store'
6
+ import '@vue2-client/theme/index.less'
7
+ import '@vue2-client/utils/filter'
8
+ import 'animate.css/source/animate.css'
9
+ import 'moment/locale/zh-cn'
10
+ import Antd from 'ant-design-vue'
11
+ import Viser from 'viser-vue'
12
+ // 插件
13
+ import Plugins from '@vue2-client/base-client/plugins'
14
+
15
+ const routerOptions = initRouter()
16
+ const i18n = initI18n('CN', 'US')
17
+
18
+ Vue.use(Antd)
19
+ Vue.use(Viser)
20
+ Vue.use(Plugins)
21
+
22
+ Vue.config.productionTip = false
23
+ const message = Vue.prototype.$message
24
+
25
+ export {
26
+ routerOptions,
27
+ modules,
28
+ i18n,
29
+ message,
30
+ bootstrap
31
+ }
@@ -1,8 +1,8 @@
1
- module.exports = {
2
- process () {
3
- return 'module.exports = {};'
4
- },
5
- getCacheKey () {
6
- return 'lessTransform'
7
- },
8
- }
1
+ module.exports = {
2
+ process () {
3
+ return 'module.exports = {};'
4
+ },
5
+ getCacheKey () {
6
+ return 'lessTransform'
7
+ },
8
+ }
package/jest.setup.js CHANGED
@@ -1,7 +1,7 @@
1
- global.matchMedia = global.matchMedia || function () {
2
- return {
3
- matches: false,
4
- addListener: function () {},
5
- removeListener: function () {}
6
- }
7
- }
1
+ global.matchMedia = global.matchMedia || function () {
2
+ return {
3
+ matches: false,
4
+ addListener: function () {},
5
+ removeListener: function () {}
6
+ }
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue2-client",
3
- "version": "1.20.55",
3
+ "version": "1.20.56",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint",