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,129 +1,276 @@
1
- // eslint-disable-next-line no-unused-vars
2
- import * as registeredConfig from './registerComponentForEditor'
3
-
4
- // 根据id获取组件定义的配置(在ForEditor中注册的配置)
5
- export function getEditorConfigById (componentId, config) {
6
- if (config.page) {
7
- config = config.page
8
- }
9
- for (let i = 0; i < config.length; i++) {
10
- const page = config[i]
11
- for (let j = 0; j < page.body.length; j++) {
12
- const row = page.body[j]
13
- for (let k = 0; k < row.length; k++) {
14
- const item = row[k]
15
- if (item.id === componentId) {
16
- return getEditorConfigByType(item.type)
17
- }
18
- }
19
- }
20
- }
21
- return undefined
22
- }
23
-
24
- // 根据类型获取组件定义的配置(在ForEditor中注册的配置)
25
- export function getEditorConfigByType (componentType) {
26
- let result
27
- const registeredConfigKeys = Object.keys(registeredConfig)
28
- registeredConfigKeys.forEach(key => {
29
- if (registeredConfig[key].type === componentType) {
30
- result = registeredConfig[key]
31
- }
32
- })
33
- return result
34
- }
35
-
36
- // 根据组件的id获取页面容器
37
- export function getPageByComponentID (id, config) {
38
- for (let i = 0; i < config.page.length; i++) {
39
- const page = config.page[i]
40
- for (let j = 0; j < page.body.length; j++) {
41
- const row = page.body[j]
42
- for (let k = 0; k < row.length; k++) {
43
- const item = row[k]
44
- if (item.id === id) {
45
- return page
46
- }
47
- }
48
- }
49
- }
50
- }
51
-
52
- // 解析页面容器类型为中文
53
- export function resolvePageType (type) {
54
- switch (type) {
55
- case 'page':
56
- return '页面'
57
- case 'modal':
58
- return '弹框'
59
- case 'draw':
60
- return '抽屉'
61
- }
62
- }
63
-
64
- // 根据页面容器id获取页面容器配置
65
- export function getPageByPageID (id, config) {
66
- for (let i = 0; i < config.page.length; i++) {
67
- const page = config.page[i]
68
- if (page.id === id) {
69
- return page
70
- }
71
- }
72
- }
73
-
74
- // 根据id获取配置
75
- export function getComponentConfig (componentId, config) {
76
- if (config.page) {
77
- config = config.page
78
- }
79
-
80
- for (let i = 0; i < config.length; i++) {
81
- for (let j = 0; j < config[i].body.length; j++) {
82
- const row = config[i].body[j]
83
- for (let k = 0; k < row.length; k++) {
84
- const item = row[k]
85
- if (item.id === componentId) {
86
- return item
87
- }
88
- }
89
- }
90
- }
91
- }
92
-
93
- // 根据ID获取页面容器
94
- export function getPageConfigById (id, config) {
95
- for (let i = 0; i < config.page.length; i++) {
96
- const page = config.page[i]
97
- if (page.id === id) {
98
- return page
99
- }
100
- }
101
- }
102
-
103
- // 根据行Index获取行
104
- export function getRowConfigById (id, config) {
105
- const pageId = id.split('_')[0]
106
- const rowIndex = id.split('_')[1] - 1
107
- for (let i = 0; i < config.page.length; i++) {
108
- const page = config.page[i]
109
- if (page.id === pageId) {
110
- return page.body[rowIndex]
111
- }
112
- }
113
- }
114
-
115
- // 根据id获取配置,根据id的长度自动判断类型
116
- export function getConfig (id, config) {
117
- let result
118
- if (id.length === 2) {
119
- // page
120
- result = getPageConfigById(id, config)
121
- } else if (id.length > 2 && id.length <= 5) {
122
- // row
123
- result = getRowConfigById(id, config)
124
- } else {
125
- // component
126
- result = getComponentConfig(id, config)
127
- }
128
- return result
129
- }
1
+ // eslint-disable-next-line no-unused-vars
2
+ import * as registeredConfig from './registerComponentForEditor'
3
+ import { nanoid } from 'nanoid'
4
+
5
+ // 随机id去除特定字符
6
+ export function nanoidWithoutSymbol (size, without = '_') {
7
+ let result = nanoid(size)
8
+ while (result.includes(without)) {
9
+ result = nanoid(size)
10
+ }
11
+ return result
12
+ }
13
+
14
+ // 根据id获取组件定义的配置(在ForEditor中注册的配置)
15
+ export function getEditorConfigById (componentId, config) {
16
+ if (config.page) {
17
+ config = config.page
18
+ }
19
+ const target = getComponentConfig(componentId, config)
20
+ return getEditorConfigByType(target.type)
21
+ }
22
+
23
+ // 根据类型获取组件定义的配置(在ForEditor中注册的配置)
24
+ export function getEditorConfigByType (componentType) {
25
+ let result
26
+ const registeredConfigKeys = Object.keys(registeredConfig)
27
+ registeredConfigKeys.forEach(key => {
28
+ if (registeredConfig[key].type === componentType) {
29
+ result = registeredConfig[key]
30
+ }
31
+ })
32
+ return result
33
+ }
34
+
35
+ // 根据组件的id获取页面容器
36
+ export function getPageByComponentID (id, config) {
37
+ for (let i = 0; i < config.page.length; i++) {
38
+ const page = config.page[i]
39
+ for (let j = 0; j < page.body.length; j++) {
40
+ const row = page.body[j]
41
+ for (let k = 0; k < row.length; k++) {
42
+ const item = row[k]
43
+ if (item.type === 'container_page') {
44
+ const result = getPageByComponentID(id, item)
45
+ if (result) {
46
+ return result
47
+ }
48
+ }
49
+ if (item.id === id) {
50
+ return page
51
+ }
52
+ }
53
+ }
54
+ }
55
+ }
56
+
57
+ export function getRowByComponentId (id, config) {
58
+ for (let i = 0; i < config.page.length; i++) {
59
+ const page = config.page[i]
60
+ for (let j = 0; j < page.body.length; j++) {
61
+ const row = page.body[j]
62
+ for (let k = 0; k < row.length; k++) {
63
+ const item = row[k]
64
+ if (item.type === 'container_page') {
65
+ const result = getRowByComponentId(id, item)
66
+ if (result) {
67
+ return result
68
+ }
69
+ }
70
+ if (item.id === id) {
71
+ return row
72
+ }
73
+ }
74
+ }
75
+ }
76
+ }
77
+
78
+ // 解析页面容器类型为中文
79
+ export function resolvePageType (type) {
80
+ switch (type) {
81
+ case 'page':
82
+ return '页面'
83
+ case 'modal':
84
+ return '弹框'
85
+ case 'draw':
86
+ return '抽屉'
87
+ }
88
+ }
89
+
90
+ // 根据id获取配置
91
+ export function getComponentConfig (componentId, config) {
92
+ if (config.page) {
93
+ config = config.page
94
+ }
95
+
96
+ for (let i = 0; i < config.length; i++) {
97
+ for (let j = 0; j < config[i].body.length; j++) {
98
+ const row = config[i].body[j]
99
+ for (let k = 0; k < row.length; k++) {
100
+ const item = row[k]
101
+ if (item.id === componentId) {
102
+ return item
103
+ }
104
+ if (item.type === 'container_page') {
105
+ const result = getComponentConfig(componentId, item)
106
+ if (result) {
107
+ return result
108
+ }
109
+ }
110
+ }
111
+ }
112
+ }
113
+ }
114
+
115
+ // 根据ID获取页面容器
116
+ export function getPageConfigById (id, config) {
117
+ for (let i = 0; i < config.page.length; i++) {
118
+ const page = config.page[i]
119
+ if (page.id === id) {
120
+ return page
121
+ }
122
+ for (let j = 0; j < page.body.length; j++) {
123
+ const row = page.body[j]
124
+ for (let k = 0; k < row.length; k++) {
125
+ const item = row[k]
126
+ if (item.type === 'container_page') {
127
+ const result = getPageConfigById(id, item)
128
+ if (result) {
129
+ return result
130
+ }
131
+ }
132
+ }
133
+ }
134
+ }
135
+ }
136
+
137
+ // 获取容器页面外层容器
138
+ export function getContainerPageOuterByContainerPageId (id, config) {
139
+ for (let i = 0; i < config.page.length; i++) {
140
+ const page = config.page[i]
141
+ if (page.id === id) {
142
+ return config
143
+ }
144
+ for (let j = 0; j < page.body.length; j++) {
145
+ const row = page.body[j]
146
+ for (let k = 0; k < row.length; k++) {
147
+ const item = row[k]
148
+ if (item.type === 'container_page') {
149
+ const result = getContainerPageOuterByContainerPageId(id, item)
150
+ if (result) {
151
+ return result
152
+ }
153
+ }
154
+ }
155
+ }
156
+ }
157
+ }
158
+
159
+ // 根据组件ID获取行
160
+ export function getRowConfigByComponentId (id, config) {
161
+ for (let i = 0; i < config.page.length; i++) {
162
+ for (let j = 0; j < config.page[i].body.length; j++) {
163
+ const row = config.page[i].body[j]
164
+ for (let k = 0; k < row.length; k++) {
165
+ const item = row[k]
166
+ if (item.id === id) {
167
+ return row
168
+ }
169
+ if (item.type === 'container_page') {
170
+ const result = getRowConfigByComponentId(id, item)
171
+ if (result) {
172
+ return result
173
+ }
174
+ }
175
+ }
176
+ }
177
+ }
178
+ }
179
+
180
+ // 根据组件ID获取组件在行中index
181
+ export function getComponentInRowIndex (id, config) {
182
+ for (let i = 0; i < config.page.length; i++) {
183
+ for (let j = 0; j < config.page[i].body.length; j++) {
184
+ const row = config.page[i].body[j]
185
+ for (let k = 0; k < row.length; k++) {
186
+ const item = row[k]
187
+ if (item.id === id) {
188
+ return k
189
+ }
190
+ if (item.type === 'container_page') {
191
+ const result = getComponentInRowIndex(id, item)
192
+ if (result) {
193
+ return result
194
+ }
195
+ }
196
+ }
197
+ }
198
+ }
199
+ }
200
+
201
+ // 根据行ID获取行
202
+ export function getRowConfigById (id, config) {
203
+ const lastIndex = id.lastIndexOf('_')
204
+ const rowIndex = id.substring(lastIndex + 1)
205
+ const pageId = id.substring(0, lastIndex)
206
+ const page = getPageConfigById(pageId, config)
207
+ return page.body[rowIndex - 1]
208
+ // for (let i = 0; i < config.page.length; i++) {
209
+ // const page = config.page[i]
210
+ // if (page.id === pageId) {
211
+ // return page.body[rowIndex]
212
+ // }
213
+ // }
214
+ }
215
+
216
+ // 根据id获取配置,根据id的长度自动判断类型
217
+ export function getConfig (id, config) {
218
+ let result
219
+ if (id.startsWith('page') && id.length <= 11) {
220
+ // page
221
+ result = getPageConfigById(id, config)
222
+ } else if (id.startsWith('page') && id.length > 11) {
223
+ // row
224
+ result = getRowConfigById(id, config)
225
+ } else {
226
+ // component
227
+ result = getComponentConfig(id, config)
228
+ }
229
+ return result
230
+ }
231
+
232
+ // 取消选择所有容器
233
+ export function unCheckAll (config) {
234
+ config.page.forEach(page => {
235
+ page.body.forEach(row => {
236
+ row.forEach(item => {
237
+ if (item.type !== 'container_page') {
238
+ item.selected = false
239
+ } else {
240
+ unCheckAll(item)
241
+ }
242
+ })
243
+ })
244
+ })
245
+ }
246
+
247
+ // 根据组件id获取它的name,如果没有name则返回id
248
+ export function getComponentNameById (id, config) {
249
+ const targetConfig = getComponentConfig(id, config)
250
+ if (targetConfig.name) {
251
+ return targetConfig.name
252
+ } else {
253
+ return targetConfig.id
254
+ }
255
+ }
256
+
257
+ // 重新随机容器下所有子项目的ID
258
+ export function reRandomComponentId (config) {
259
+ config.page.forEach(page => {
260
+ const pagePrefix = getIdPrefix(page.id)
261
+ page.id = pagePrefix + '_' + nanoidWithoutSymbol(2)
262
+ page.body.forEach(row => {
263
+ row.forEach(item => {
264
+ const itemPrefix = getIdPrefix(item.id)
265
+ item.id = itemPrefix + '_' + nanoidWithoutSymbol(6)
266
+ })
267
+ })
268
+ })
269
+ return config
270
+ }
271
+
272
+ // 获取id前传
273
+ export function getIdPrefix (id) {
274
+ const lastIndex = id.lastIndexOf('_')
275
+ return id.substring(0, lastIndex)
276
+ }
@@ -1,11 +1,11 @@
1
- import { XFormTableConfig } from '@vue2-client/base-client/components/common/XFormTable/lowcodeEditorRegister'
2
- import { XTreeOneConfig } from '@vue2-client/base-client/components/common/XTreeOne/lowcodeEditorRegister'
3
- import { XAddNativeFormConfig } from '@vue2-client/base-client/components/common/XAddNativeForm/lowcodeEditorRegister'
4
- import { XDescriptionsConfig } from '@vue2-client/base-client/components/common/XDescriptions/lowcodeEditorRegister'
5
-
6
- export {
7
- XFormTableConfig,
8
- XTreeOneConfig,
9
- XAddNativeFormConfig,
10
- XDescriptionsConfig
11
- }
1
+ import { XFormTableConfig } from '@vue2-client/base-client/components/common/XFormTable/lowcodeEditorRegister'
2
+ import { XTreeOneConfig } from '@vue2-client/base-client/components/common/XTreeOne/lowcodeEditorRegister'
3
+ import { XAddNativeFormConfig } from '@vue2-client/base-client/components/common/XAddNativeForm/lowcodeEditorRegister'
4
+ import { XDescriptionsConfig } from '@vue2-client/base-client/components/common/XDescriptions/lowcodeEditorRegister'
5
+
6
+ export {
7
+ XFormTableConfig,
8
+ XTreeOneConfig,
9
+ XAddNativeFormConfig,
10
+ XDescriptionsConfig
11
+ }
@@ -1,11 +1,11 @@
1
- import XFormTable from '@vue2-client/base-client/components/common/XFormTable/XFormTable.vue'
2
- import XTreeOne from '@vue2-client/base-client/components/common/XTreeOne/XTreeOne.vue'
3
- import XAddNativeForm from '@vue2-client/base-client/components/common/XAddNativeForm/XAddNativeForm.vue'
4
- import XDescriptions from '@vue2-client/base-client/components/common/XDescriptions/XDescriptions.vue'
5
-
6
- export {
7
- XFormTable,
8
- XTreeOne,
9
- XAddNativeForm,
10
- XDescriptions
11
- }
1
+ import XFormTable from '@vue2-client/base-client/components/common/XFormTable/XFormTable.vue'
2
+ import XTreeOne from '@vue2-client/base-client/components/common/XTreeOne/XTreeOne.vue'
3
+ import XAddNativeForm from '@vue2-client/base-client/components/common/XAddNativeForm/XAddNativeForm.vue'
4
+ import XDescriptions from '@vue2-client/base-client/components/common/XDescriptions/XDescriptions.vue'
5
+
6
+ export {
7
+ XFormTable,
8
+ XTreeOne,
9
+ XAddNativeForm,
10
+ XDescriptions
11
+ }
@@ -1,47 +1,47 @@
1
- import AMapLoader from '@amap/amap-jsapi-loader'
2
- let Amap
3
- async function GetGDMap (secretKey, key) {
4
- if (!Amap) {
5
- window._AMapSecurityConfig = {
6
- securityJsCode: secretKey
7
- }
8
- // 解决高德地图加载报错 ---> 禁止多种API加载方式混用
9
- AMapLoader.reset()
10
- Amap = await AMapLoader.load({
11
- key: key, // 申请好的Web端开发者Key,首次调用 load 时必填
12
- version: '2.0', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
13
- plugins: ['AMap.IndexCluster', 'AMP.MarkerCluster', 'AMap.InfoWindow', 'AMap.HeatMap', 'AMap.HawkEye', 'AMap.DistrictSearch',
14
- 'AMap.ToolBar', 'AMap.Geolocation', 'AMap.MouseTool',
15
- 'AMap.Geocoder', 'AMap.MarkerClusterer', 'AMap.AutoComplete'], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
16
- AMapUI: {
17
- version: '1.1', // AMapUI 缺省 1.1
18
- plugins: ['misc/PositionPicker'] // 需要加载的 AMapUI ui插件
19
- }
20
- })
21
- }
22
- return Amap
23
- }
24
-
25
- async function getGDMap (address) {
26
- new (await GetGDMap()).Geocoder({
27
- radius: 500 // 范围,默认:500
28
- }).getLocation(address, function (status, result) {
29
- if (status === 'complete' && result.geocodes.length) {
30
- return ({ lng: result.geocodes[0].location.lng, lat: result.geocodes[0].location.lat })
31
- } else {
32
- // eslint-disable-next-line prefer-promise-reject-errors
33
- throw new Error('根据经纬度查询地址失败')
34
- }
35
- })
36
- }
37
-
38
- async function GetLocation (address) {
39
- return new Promise((resolve, reject) => {
40
- try {
41
- resolve(getGDMap(address))
42
- } catch (e) {
43
- reject(e)
44
- }
45
- })
46
- }
47
- export { GetGDMap, GetLocation }
1
+ import AMapLoader from '@amap/amap-jsapi-loader'
2
+ let Amap
3
+ async function GetGDMap (secretKey, key) {
4
+ if (!Amap) {
5
+ window._AMapSecurityConfig = {
6
+ securityJsCode: secretKey
7
+ }
8
+ // 解决高德地图加载报错 ---> 禁止多种API加载方式混用
9
+ AMapLoader.reset()
10
+ Amap = await AMapLoader.load({
11
+ key: key, // 申请好的Web端开发者Key,首次调用 load 时必填
12
+ version: '2.0', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
13
+ plugins: ['AMap.IndexCluster', 'AMP.MarkerCluster', 'AMap.InfoWindow', 'AMap.HeatMap', 'AMap.HawkEye', 'AMap.DistrictSearch',
14
+ 'AMap.ToolBar', 'AMap.Geolocation', 'AMap.MouseTool',
15
+ 'AMap.Geocoder', 'AMap.MarkerClusterer', 'AMap.AutoComplete'], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
16
+ AMapUI: {
17
+ version: '1.1', // AMapUI 缺省 1.1
18
+ plugins: ['misc/PositionPicker'] // 需要加载的 AMapUI ui插件
19
+ }
20
+ })
21
+ }
22
+ return Amap
23
+ }
24
+
25
+ async function getGDMap (address) {
26
+ new (await GetGDMap()).Geocoder({
27
+ radius: 500 // 范围,默认:500
28
+ }).getLocation(address, function (status, result) {
29
+ if (status === 'complete' && result.geocodes.length) {
30
+ return ({ lng: result.geocodes[0].location.lng, lat: result.geocodes[0].location.lat })
31
+ } else {
32
+ // eslint-disable-next-line prefer-promise-reject-errors
33
+ throw new Error('根据经纬度查询地址失败')
34
+ }
35
+ })
36
+ }
37
+
38
+ async function GetLocation (address) {
39
+ return new Promise((resolve, reject) => {
40
+ try {
41
+ resolve(getGDMap(address))
42
+ } catch (e) {
43
+ reject(e)
44
+ }
45
+ })
46
+ }
47
+ export { GetGDMap, GetLocation }
package/src/utils/reg.js CHANGED
@@ -1,19 +1,19 @@
1
- /** 手机号 */
2
- export const REG_PHONE =
3
- /^[1](([3][0-9])|([4][01456789])|([5][012356789])|([6][2567])|([7][0-8])|([8][0-9])|([9][012356789]))[0-9]{8}$/
4
-
5
- /** 邮箱 */
6
- export const REG_EMAIL = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
7
-
8
- /** url */
9
- export const REG_URL =
10
- /(((^https?:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[\w]*))?)$/
11
-
12
- /** 身份证号 */
13
- export const _IDRe18 = /^\d{6}(18|19|20\d{2})(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/
14
- export const _IDre15 = /^([1-6][1-9]|50)\d{4}\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}$/
15
- /** 座机号 */
16
- export const REG_LANDLINE = /\d{3}-\d{8}|\d{4}-\d{7}/
17
-
18
- /** 营业执照 */
19
- export const REG_BUSINESS_LICENSE = /^[0-9a-zA-Z]{15}$/
1
+ /** 手机号 */
2
+ export const REG_PHONE =
3
+ /^[1](([3][0-9])|([4][01456789])|([5][012356789])|([6][2567])|([7][0-8])|([8][0-9])|([9][012356789]))[0-9]{8}$/
4
+
5
+ /** 邮箱 */
6
+ export const REG_EMAIL = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
7
+
8
+ /** url */
9
+ export const REG_URL =
10
+ /(((^https?:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[\w]*))?)$/
11
+
12
+ /** 身份证号 */
13
+ export const _IDRe18 = /^\d{6}(18|19|20\d{2})(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/
14
+ export const _IDre15 = /^([1-6][1-9]|50)\d{4}\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}$/
15
+ /** 座机号 */
16
+ export const REG_LANDLINE = /\d{3}-\d{8}|\d{4}-\d{7}/
17
+
18
+ /** 营业执照 */
19
+ export const REG_BUSINESS_LICENSE = /^[0-9a-zA-Z]{15}$/