vue2-client 1.8.259 → 1.8.261

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/.env +19 -19
  2. package/.eslintrc.js +90 -90
  3. package/CHANGELOG.md +824 -824
  4. package/Components.md +60 -60
  5. package/babel.config.js +21 -21
  6. package/docs/index.md +30 -30
  7. package/docs/lowcode.md +188 -188
  8. package/docs/lowcodeForDeveloper.md +200 -192
  9. package/index.js +31 -31
  10. package/jest-transform-stub.js +8 -8
  11. package/jest.config.js +21 -21
  12. package/jest.setup.js +7 -7
  13. package/package.json +95 -95
  14. package/public/index.html +27 -27
  15. package/src/App.vue +188 -188
  16. package/src/ReportView.js +19 -19
  17. package/src/assets/img/querySlotDemo.svg +15 -15
  18. package/src/assets/svg/badtwo.svg +1 -1
  19. package/src/assets/svg/goodtwo.svg +1 -1
  20. package/src/base-client/components/common/AMisRender/index.js +3 -3
  21. package/src/base-client/components/common/AMisRender/index.vue +263 -263
  22. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +413 -413
  23. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  24. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  25. package/src/base-client/components/common/CitySelect/CitySelect.vue +348 -348
  26. package/src/base-client/components/common/CitySelect/index.js +3 -3
  27. package/src/base-client/components/common/CitySelect/index.md +109 -109
  28. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  29. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  30. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  31. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  32. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  33. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  34. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  35. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  36. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +149 -149
  37. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  38. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  39. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  40. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  41. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  42. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  43. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +394 -355
  44. package/src/base-client/components/common/LowCodePageRender/LowCodePageRender.vue +29 -29
  45. package/src/base-client/components/common/LowCodePageRender/editorPageRender.vue +533 -467
  46. package/src/base-client/components/common/LowCodePageRender/index.js +3 -3
  47. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  48. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  49. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  50. package/src/base-client/components/common/Tree/index.js +2 -2
  51. package/src/base-client/components/common/Upload/Upload.vue +197 -197
  52. package/src/base-client/components/common/Upload/index.js +3 -3
  53. package/src/base-client/components/common/XAddForm/XAddForm.vue +98 -98
  54. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +732 -732
  55. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  56. package/src/base-client/components/common/XAddNativeForm/lowcodeEditorRegister.js +16 -12
  57. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  58. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  59. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  60. package/src/base-client/components/common/XBadge/XBadge.vue +78 -78
  61. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  62. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  63. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  64. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  65. package/src/base-client/components/common/XDescriptions/XDescriptions.vue +167 -167
  66. package/src/base-client/components/common/XDescriptions/XDescriptionsGroup.vue +299 -299
  67. package/src/base-client/components/common/XDescriptions/demo.vue +50 -50
  68. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  69. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  70. package/src/base-client/components/common/XDescriptions/lowcodeEditorRegister.js +15 -5
  71. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +214 -214
  72. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  73. package/src/base-client/components/common/XForm/XForm.vue +281 -281
  74. package/src/base-client/components/common/XForm/XFormItem.vue +807 -807
  75. package/src/base-client/components/common/XForm/XTreeSelect.vue +206 -206
  76. package/src/base-client/components/common/XForm/index.md +178 -178
  77. package/src/base-client/components/common/XFormCol/XFormCol.vue +36 -36
  78. package/src/base-client/components/common/XFormGroup/XFormGroup.vue +241 -241
  79. package/src/base-client/components/common/XFormGroup/demo.vue +40 -40
  80. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  81. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  82. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  83. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  84. package/src/base-client/components/common/XFormTable/XFormTable.vue +519 -519
  85. package/src/base-client/components/common/XFormTable/index.md +98 -98
  86. package/src/base-client/components/common/XFormTable/lowcodeEditorRegister.js +16 -12
  87. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +147 -147
  88. package/src/base-client/components/common/XReport/XReport.vue +843 -843
  89. package/src/base-client/components/common/XReport/XReportDemo.vue +2233 -2233
  90. package/src/base-client/components/common/XReport/XReportDesign.vue +470 -470
  91. package/src/base-client/components/common/XReport/XReportJsonRender.vue +267 -267
  92. package/src/base-client/components/common/XReport/XReportTrGroup.vue +745 -742
  93. package/src/base-client/components/common/XReport/index.js +3 -3
  94. package/src/base-client/components/common/XReport/index.md +44 -44
  95. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  96. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  97. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  98. package/src/base-client/components/common/XStepView/index.js +3 -3
  99. package/src/base-client/components/common/XStepView/index.md +31 -31
  100. package/src/base-client/components/common/XTable/XTable.vue +636 -636
  101. package/src/base-client/components/common/XTable/index.md +255 -255
  102. package/src/base-client/components/common/XTree/XTree.vue +318 -318
  103. package/src/base-client/components/common/XTree/index.js +3 -3
  104. package/src/base-client/components/common/XTree/index.md +36 -36
  105. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +114 -114
  106. package/src/base-client/components/common/XTreeOne/lowcodeEditorRegister.js +11 -9
  107. package/src/base-client/components/index.js +51 -51
  108. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  109. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  110. package/src/base-client/plugins/AppData.js +115 -115
  111. package/src/base-client/plugins/Config.js +19 -19
  112. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  113. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  114. package/src/bootstrap.js +39 -39
  115. package/src/components/CodeMirror/inedx.vue +118 -118
  116. package/src/components/CodeMirror/setting.js +40 -40
  117. package/src/components/FilePreview/FilePreview.vue +166 -166
  118. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  119. package/src/components/STable/index.js +323 -323
  120. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  121. package/src/components/checkbox/ImgCheckbox.vue +163 -163
  122. package/src/components/menu/SideMenu.vue +75 -75
  123. package/src/components/menu/menu.js +273 -273
  124. package/src/components/tool/AStepItem.vue +60 -60
  125. package/src/config/CreateQueryConfig.js +322 -322
  126. package/src/config/default/antd.config.js +89 -89
  127. package/src/config/default/setting.config.js +55 -55
  128. package/src/font-style/font.css +4 -4
  129. package/src/layouts/CommonLayout.vue +56 -56
  130. package/src/layouts/PageLayout.vue +151 -151
  131. package/src/layouts/SinglePageView.vue +138 -138
  132. package/src/layouts/header/AdminHeader.vue +132 -132
  133. package/src/layouts/header/HeaderNotice.vue +177 -177
  134. package/src/layouts/tabs/TabsHead.vue +189 -189
  135. package/src/layouts/tabs/TabsView.vue +387 -387
  136. package/src/lib.js +1 -1
  137. package/src/main.js +26 -26
  138. package/src/mock/extend/index.js +84 -84
  139. package/src/mock/goods/index.js +108 -108
  140. package/src/pages/AMisDemo/AMisDemo.vue +325 -325
  141. package/src/pages/AMisDemo/AMisDemo2.vue +74 -74
  142. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  143. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  144. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  145. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  146. package/src/pages/DynamicStatistics/FavoriteList.vue +51 -51
  147. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  148. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  149. package/src/pages/DynamicStatistics/index.vue +282 -282
  150. package/src/pages/Example/index.vue +32 -32
  151. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  152. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  153. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  154. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  155. package/src/pages/NewDynamicStatistics/FavoriteList.vue +51 -51
  156. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  157. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  158. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  159. package/src/pages/ServiceReview/index.vue +284 -284
  160. package/src/pages/XReportView/index.vue +62 -62
  161. package/src/pages/login/Login.vue +378 -378
  162. package/src/pages/login/LoginV3.vue +389 -389
  163. package/src/pages/lowCode/lowCodeEditor.vue +1501 -1285
  164. package/src/pages/lowCode/lowCodeRender.vue +39 -39
  165. package/src/pages/resourceManage/orgListManage.vue +98 -98
  166. package/src/pages/system/dictionary/index.vue +44 -44
  167. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  168. package/src/pages/system/monitor/operLog/index.vue +37 -37
  169. package/src/pages/system/settings/modifyPassword.vue +117 -117
  170. package/src/pages/system/ticket/index.vue +480 -480
  171. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  172. package/src/router/async/config.async.js +33 -33
  173. package/src/router/async/router.map.js +107 -107
  174. package/src/router/guards.js +220 -220
  175. package/src/router/index.js +27 -27
  176. package/src/router.js +19 -19
  177. package/src/services/api/TicketDetailsViewApi.js +46 -46
  178. package/src/services/api/cas.js +79 -79
  179. package/src/services/api/common.js +284 -284
  180. package/src/services/api/entity.js +18 -18
  181. package/src/services/api/index.js +17 -17
  182. package/src/services/api/restTools.js +46 -46
  183. package/src/services/apiService.js +14 -14
  184. package/src/services/user.js +71 -71
  185. package/src/store/modules/setting.js +119 -119
  186. package/src/theme/default/style.less +57 -57
  187. package/src/theme/global.less +130 -130
  188. package/src/utils/authority-utils.js +85 -85
  189. package/src/utils/errorCode.js +6 -6
  190. package/src/utils/htmlToPDF.js +108 -108
  191. package/src/utils/htmlToPDFApi.js +5 -5
  192. package/src/utils/indexedDB.js +201 -201
  193. package/src/utils/login.js +144 -144
  194. package/src/utils/lowcode/lowcodeComponentMixin.js +112 -78
  195. package/src/utils/lowcode/lowcodeLog.js +29 -29
  196. package/src/utils/lowcode/lowcodeUtils.js +276 -129
  197. package/src/utils/lowcode/registerComponentForEditor.js +11 -11
  198. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  199. package/src/utils/map-utils.js +47 -47
  200. package/src/utils/reg.js +19 -19
  201. package/src/utils/request.js +343 -343
  202. package/src/utils/routerUtil.js +435 -435
  203. package/src/utils/runEvalFunction.js +6 -6
  204. package/src/utils/util.js +241 -241
  205. package/src/utils/waterMark.js +31 -31
  206. package/test/Amis.spec.js +163 -163
  207. package/test/Tree.spec.js +167 -167
  208. package/test/myDialog.spec.js +46 -46
  209. package/vue.config.js +177 -177
  210. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,146 +1,146 @@
1
- # XAddNativeForm
2
-
3
- 动态新增/修改表单控件,根据JSON配置生成一个完整的可供新增/修改数据的动态表单
4
-
5
-
6
- ## 何时使用
7
-
8
- 当需要一个可供新增/修改数据的动态生成的表单时
9
-
10
-
11
- 引用方式:
12
-
13
- ```javascript
14
- import XAddNativeForm from '@vue2-client/base-client/components/XAddNativeForm/XAddNativeForm'
15
-
16
- export default {
17
- components: {
18
- XAddNativeForm
19
- }
20
- }
21
- ```
22
-
23
-
24
-
25
- ## 代码演示
26
-
27
- ```html
28
- <x-add-native-form
29
- ref="nativeForm"
30
- @onSubmit="submit"/>
31
- ```
32
-
33
- ## 构造参数,通过init方法构造
34
-
35
- | 参数 | 说明 | 类型 | 默认值 |
36
- |-----------------|----------------------|-------|--------|
37
- | formItems | 表单项集合 | array | [] |
38
- | viewMode | 是否为预览模式 | bool | false |
39
- | isHandleFormKey | 是否对提交表单的key进行处理 | bool | true |
40
- | serviceName | 所属服务模块名 | string | system |
41
- | businessType | 业务类型(新增/修改) | string | - |
42
- | title | 业务标题 | string | - |
43
- | getDataParams | 调用logic获取下拉框数据源的追加参数 | {} | - |
44
- | simpleFormJsonData | 动态简易表单集合 | {} | - |
45
-
46
- ## 事件
47
- | 事件 | 说明 | 类型 | 默认值 |
48
- |-----------|----------------------|-------|-----------|
49
- | @onSubmit | 表单的提交事件 | event | - |
50
-
51
- ## 例子1
52
- ----
53
- ```vue
54
- <template>
55
- <x-add-native-form
56
- ref="nativeForm"
57
- @onSubmit="submit"/>
58
- </template>
59
- <script>
60
- import { getConfigUrl } from '@vue2-client/services/api/common'
61
- export default {
62
- created () {
63
- this.initComponents()
64
- },
65
- methods: {
66
- initComponents() {
67
- // 获取请求配置中心的地址
68
- const url = getConfigUrl('yourConfigModuleName')
69
- post(url, { configName: 'yourConfigName' }).then(res => {
70
- if (this.$refs.nativeForm) {
71
- this.$refs.nativeForm.init({
72
- formItems: res,
73
- serviceName: 'af-iot',
74
- businessType: '新增',
75
- title: '新增告警记录'
76
- })
77
- }
78
- })
79
- },
80
- submit (res) {
81
- post(api.addData, res.realForm).then(data => {
82
- this.$message.success(res.businessType + '成功!')
83
- }).catch(e => {
84
- this.$message.error(res.businessType + '失败:' + e)
85
- })
86
- }
87
- }
88
- }
89
- </script>
90
- ```
91
-
92
- ## JSON配置示例
93
- ----
94
- `这是一个表单配置示例,通过以下配置,你会得到一个有选项的单选框,一个带校验的输入框,以及一个文本域`
95
- ```json
96
- [
97
- {
98
- "name": "是否通气",
99
- "model": "is_ventilate",
100
- "keys": [
101
- { "label": "是", "value": "1" },
102
- { "label": "否", "value": "0" }
103
- ],
104
- "type": "radio",
105
- "addOrEdit": "all",
106
- },
107
- {
108
- "name": "处理人",
109
- "model": "f_processor",
110
- "rule": {
111
- "required": true
112
- },
113
- "type": "input",
114
- "addOrEdit": "all",
115
- },
116
- {
117
- "name": "处理内容",
118
- "model": "f_handle_content",
119
- "type": "textarea",
120
- "addOrEdit": "all",
121
- }
122
- ]
123
- ```
124
-
125
- ## JSON配置规范
126
- ----
127
- | 参数 | 说明 | 类型 | 默认值 |
128
- |-----------------|----------------------|-------|-----------|
129
- | name | 表单项名称 | string | '' |
130
- | model | 表单项key | string | '' |
131
- | rule | 表单校验 | json | {} |
132
- | -> required | 是否必填 | bool | false |
133
- | type | 表单类型 | string | input |
134
- | keys | 当表单类型是select,radio时的选项值 | Array | [] |
135
- | -> label | 选项的字面值 | string | '' |
136
- | -> value | 选项的实际值 | string | '' |
137
- | addOrEdit | 新增/修改场景 | string | all |
138
- | -> add | 仅新增 | string | - |
139
- | -> edit | 仅修改 | string | - |
140
- | -> all | 全部支持 | string | - |
141
-
142
-
143
- 注意事项
144
- ----
145
-
146
- > 本组件已经实现了自适应布局,在不同分辨率下的设备均可得到基本理想的展示效果
1
+ # XAddNativeForm
2
+
3
+ 动态新增/修改表单控件,根据JSON配置生成一个完整的可供新增/修改数据的动态表单
4
+
5
+
6
+ ## 何时使用
7
+
8
+ 当需要一个可供新增/修改数据的动态生成的表单时
9
+
10
+
11
+ 引用方式:
12
+
13
+ ```javascript
14
+ import XAddNativeForm from '@vue2-client/base-client/components/XAddNativeForm/XAddNativeForm'
15
+
16
+ export default {
17
+ components: {
18
+ XAddNativeForm
19
+ }
20
+ }
21
+ ```
22
+
23
+
24
+
25
+ ## 代码演示
26
+
27
+ ```html
28
+ <x-add-native-form
29
+ ref="nativeForm"
30
+ @onSubmit="submit"/>
31
+ ```
32
+
33
+ ## 构造参数,通过init方法构造
34
+
35
+ | 参数 | 说明 | 类型 | 默认值 |
36
+ |-----------------|----------------------|-------|--------|
37
+ | formItems | 表单项集合 | array | [] |
38
+ | viewMode | 是否为预览模式 | bool | false |
39
+ | isHandleFormKey | 是否对提交表单的key进行处理 | bool | true |
40
+ | serviceName | 所属服务模块名 | string | system |
41
+ | businessType | 业务类型(新增/修改) | string | - |
42
+ | title | 业务标题 | string | - |
43
+ | getDataParams | 调用logic获取下拉框数据源的追加参数 | {} | - |
44
+ | simpleFormJsonData | 动态简易表单集合 | {} | - |
45
+
46
+ ## 事件
47
+ | 事件 | 说明 | 类型 | 默认值 |
48
+ |-----------|----------------------|-------|-----------|
49
+ | @onSubmit | 表单的提交事件 | event | - |
50
+
51
+ ## 例子1
52
+ ----
53
+ ```vue
54
+ <template>
55
+ <x-add-native-form
56
+ ref="nativeForm"
57
+ @onSubmit="submit"/>
58
+ </template>
59
+ <script>
60
+ import { getConfigUrl } from '@vue2-client/services/api/common'
61
+ export default {
62
+ created () {
63
+ this.initComponents()
64
+ },
65
+ methods: {
66
+ initComponents() {
67
+ // 获取请求配置中心的地址
68
+ const url = getConfigUrl('yourConfigModuleName')
69
+ post(url, { configName: 'yourConfigName' }).then(res => {
70
+ if (this.$refs.nativeForm) {
71
+ this.$refs.nativeForm.init({
72
+ formItems: res,
73
+ serviceName: 'af-iot',
74
+ businessType: '新增',
75
+ title: '新增告警记录'
76
+ })
77
+ }
78
+ })
79
+ },
80
+ submit (res) {
81
+ post(api.addData, res.realForm).then(data => {
82
+ this.$message.success(res.businessType + '成功!')
83
+ }).catch(e => {
84
+ this.$message.error(res.businessType + '失败:' + e)
85
+ })
86
+ }
87
+ }
88
+ }
89
+ </script>
90
+ ```
91
+
92
+ ## JSON配置示例
93
+ ----
94
+ `这是一个表单配置示例,通过以下配置,你会得到一个有选项的单选框,一个带校验的输入框,以及一个文本域`
95
+ ```json
96
+ [
97
+ {
98
+ "name": "是否通气",
99
+ "model": "is_ventilate",
100
+ "keys": [
101
+ { "label": "是", "value": "1" },
102
+ { "label": "否", "value": "0" }
103
+ ],
104
+ "type": "radio",
105
+ "addOrEdit": "all",
106
+ },
107
+ {
108
+ "name": "处理人",
109
+ "model": "f_processor",
110
+ "rule": {
111
+ "required": true
112
+ },
113
+ "type": "input",
114
+ "addOrEdit": "all",
115
+ },
116
+ {
117
+ "name": "处理内容",
118
+ "model": "f_handle_content",
119
+ "type": "textarea",
120
+ "addOrEdit": "all",
121
+ }
122
+ ]
123
+ ```
124
+
125
+ ## JSON配置规范
126
+ ----
127
+ | 参数 | 说明 | 类型 | 默认值 |
128
+ |-----------------|----------------------|-------|-----------|
129
+ | name | 表单项名称 | string | '' |
130
+ | model | 表单项key | string | '' |
131
+ | rule | 表单校验 | json | {} |
132
+ | -> required | 是否必填 | bool | false |
133
+ | type | 表单类型 | string | input |
134
+ | keys | 当表单类型是select,radio时的选项值 | Array | [] |
135
+ | -> label | 选项的字面值 | string | '' |
136
+ | -> value | 选项的实际值 | string | '' |
137
+ | addOrEdit | 新增/修改场景 | string | all |
138
+ | -> add | 仅新增 | string | - |
139
+ | -> edit | 仅修改 | string | - |
140
+ | -> all | 全部支持 | string | - |
141
+
142
+
143
+ 注意事项
144
+ ----
145
+
146
+ > 本组件已经实现了自适应布局,在不同分辨率下的设备均可得到基本理想的展示效果
@@ -1,78 +1,78 @@
1
- <template>
2
- <div v-if="dictionary && dictionary.status !== 'none'">
3
- <!-- 徽标存在时 -->
4
- <a-badge
5
- v-if="dictionary.status !== 'gary'"
6
- :color="dictionary.status"
7
- :text="!isExternalText ? dictionary.text: null"/>
8
- <a-badge v-else color="#D9D9D9" :text="!isExternalText ? dictionary.text: null"/>
9
- <span v-if="isExternalText">{{ dictionary.text }}</span>
10
- </div>
11
- <div v-else-if="dictionary">
12
- <!-- 徽标为none时 -->
13
- {{ dictionary.text }}
14
- </div>
15
- <div v-else>
16
- <!-- 其他情况直接显示替代文本或者原值 -->
17
- {{ replaceText ? replaceText : value }}
18
- </div>
19
- </template>
20
-
21
- <script>
22
-
23
- export default {
24
- name: 'XBadge',
25
- props: {
26
- badgeKey: {
27
- type: String,
28
- required: true,
29
- },
30
- value: {
31
- type: [Number, String],
32
- required: true,
33
- },
34
- replaceText: {
35
- type: String,
36
- default: ''
37
- },
38
- isExternalText: {
39
- type: Boolean,
40
- required: false
41
- }
42
- },
43
- computed: {},
44
- watch: {
45
- badgeKey (newVal, oldVal) {
46
- this.updateDictionary()
47
- },
48
- value (newVal, oldVal) {
49
- this.updateDictionary()
50
- }
51
- },
52
- data () {
53
- return {
54
- dictionary: undefined
55
- }
56
- },
57
- created () {
58
- this.updateDictionary()
59
- },
60
- methods: {
61
- // todo 修改方式 想办法不使用回调方式
62
- async updateDictionary () {
63
- const result = this.$appdata.getParam(this.badgeKey, this.value)
64
- if (result) {
65
- this.dictionary = result
66
- return
67
- }
68
- this.dictionary = await this.$appdata.getDictValue(this.badgeKey, this.value, undefined)
69
- },
70
- badgeFilter (key, value) {
71
- return this.$appdata.getParam(key, value)
72
- }
73
- }
74
- }
75
- </script>
76
-
77
- <style lang="less" scoped>
78
- </style>
1
+ <template>
2
+ <div v-if="dictionary && dictionary.status !== 'none'">
3
+ <!-- 徽标存在时 -->
4
+ <a-badge
5
+ v-if="dictionary.status !== 'gary'"
6
+ :color="dictionary.status"
7
+ :text="!isExternalText ? dictionary.text: null"/>
8
+ <a-badge v-else color="#D9D9D9" :text="!isExternalText ? dictionary.text: null"/>
9
+ <span v-if="isExternalText">{{ dictionary.text }}</span>
10
+ </div>
11
+ <div v-else-if="dictionary">
12
+ <!-- 徽标为none时 -->
13
+ {{ dictionary.text }}
14
+ </div>
15
+ <div v-else>
16
+ <!-- 其他情况直接显示替代文本或者原值 -->
17
+ {{ replaceText ? replaceText : value }}
18
+ </div>
19
+ </template>
20
+
21
+ <script>
22
+
23
+ export default {
24
+ name: 'XBadge',
25
+ props: {
26
+ badgeKey: {
27
+ type: String,
28
+ required: true,
29
+ },
30
+ value: {
31
+ type: [Number, String],
32
+ required: true,
33
+ },
34
+ replaceText: {
35
+ type: String,
36
+ default: ''
37
+ },
38
+ isExternalText: {
39
+ type: Boolean,
40
+ required: false
41
+ }
42
+ },
43
+ computed: {},
44
+ watch: {
45
+ badgeKey (newVal, oldVal) {
46
+ this.updateDictionary()
47
+ },
48
+ value (newVal, oldVal) {
49
+ this.updateDictionary()
50
+ }
51
+ },
52
+ data () {
53
+ return {
54
+ dictionary: undefined
55
+ }
56
+ },
57
+ created () {
58
+ this.updateDictionary()
59
+ },
60
+ methods: {
61
+ // todo 修改方式 想办法不使用回调方式
62
+ async updateDictionary () {
63
+ const result = this.$appdata.getParam(this.badgeKey, this.value)
64
+ if (result) {
65
+ this.dictionary = result
66
+ return
67
+ }
68
+ this.dictionary = await this.$appdata.getDictValue(this.badgeKey, this.value, undefined)
69
+ },
70
+ badgeFilter (key, value) {
71
+ return this.$appdata.getParam(key, value)
72
+ }
73
+ }
74
+ }
75
+ </script>
76
+
77
+ <style lang="less" scoped>
78
+ </style>
@@ -1,64 +1,64 @@
1
- <template>
2
- <div>
3
- <a-card :body-style="{ margin: 0, padding: 0 }" :bordered="false">
4
- <a-skeleton v-show="loadState === 'loading'" active style="padding: 16px"/>
5
- <a-empty v-show="loadState === 'empty'">
6
- <a-button type="dashed" @click="retry">
7
- 重新加载
8
- </a-button>
9
- </a-empty>
10
- <a-card
11
- v-show="loadState === 'error'"
12
- :body-style="{ margin: '0 auto' }"
13
- :bordered="false"
14
- :hoverable="true"
15
- class="retryCard"
16
- @click="retry" >
17
- <a-icon :style="{ fontSize: '28px' }" type="global"/>
18
- <p class="noSelect" style="margin-top: 20px">网络好像开小差了,点击重新加载...</p>
19
- </a-card>
20
- <div v-show="loadState === 'success'">
21
- <slot></slot>
22
- </div>
23
- </a-card>
24
- </div>
25
- </template>
26
-
27
- <script>
28
-
29
- export default {
30
- name: 'XCard',
31
- props: {
32
- loadState: {
33
- type: String,
34
- default: 'success'
35
- },
36
- retry: {
37
- type: Function,
38
- default: () => {
39
- console.error('未实现重新加载')
40
- }
41
- }
42
- },
43
- data () {
44
- return {
45
-
46
- }
47
- }
48
- }
49
- </script>
50
-
51
- <style scoped>
52
- .retryCard {
53
- text-align: center;
54
- }
55
- .noSelect {
56
- -webkit-touch-callout: none; /* iOS Safari */
57
- -webkit-user-select: none; /* Chrome/Safari/Opera */
58
- -khtml-user-select: none; /* Konqueror */
59
- -moz-user-select: none; /* Firefox */
60
- -ms-user-select: none; /* Internet Explorer/Edge */
61
- user-select: none; /* Non-prefixed version, currently
62
- not supported by any browser */
63
- }
64
- </style>
1
+ <template>
2
+ <div>
3
+ <a-card :body-style="{ margin: 0, padding: 0 }" :bordered="false">
4
+ <a-skeleton v-show="loadState === 'loading'" active style="padding: 16px"/>
5
+ <a-empty v-show="loadState === 'empty'">
6
+ <a-button type="dashed" @click="retry">
7
+ 重新加载
8
+ </a-button>
9
+ </a-empty>
10
+ <a-card
11
+ v-show="loadState === 'error'"
12
+ :body-style="{ margin: '0 auto' }"
13
+ :bordered="false"
14
+ :hoverable="true"
15
+ class="retryCard"
16
+ @click="retry" >
17
+ <a-icon :style="{ fontSize: '28px' }" type="global"/>
18
+ <p class="noSelect" style="margin-top: 20px">网络好像开小差了,点击重新加载...</p>
19
+ </a-card>
20
+ <div v-show="loadState === 'success'">
21
+ <slot></slot>
22
+ </div>
23
+ </a-card>
24
+ </div>
25
+ </template>
26
+
27
+ <script>
28
+
29
+ export default {
30
+ name: 'XCard',
31
+ props: {
32
+ loadState: {
33
+ type: String,
34
+ default: 'success'
35
+ },
36
+ retry: {
37
+ type: Function,
38
+ default: () => {
39
+ console.error('未实现重新加载')
40
+ }
41
+ }
42
+ },
43
+ data () {
44
+ return {
45
+
46
+ }
47
+ }
48
+ }
49
+ </script>
50
+
51
+ <style scoped>
52
+ .retryCard {
53
+ text-align: center;
54
+ }
55
+ .noSelect {
56
+ -webkit-touch-callout: none; /* iOS Safari */
57
+ -webkit-user-select: none; /* Chrome/Safari/Opera */
58
+ -khtml-user-select: none; /* Konqueror */
59
+ -moz-user-select: none; /* Firefox */
60
+ -ms-user-select: none; /* Internet Explorer/Edge */
61
+ user-select: none; /* Non-prefixed version, currently
62
+ not supported by any browser */
63
+ }
64
+ </style>