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.
- package/.env +19 -19
- package/.eslintrc.js +90 -90
- package/CHANGELOG.md +824 -824
- package/Components.md +60 -60
- package/babel.config.js +21 -21
- package/docs/index.md +30 -30
- package/docs/lowcode.md +188 -188
- package/docs/lowcodeForDeveloper.md +200 -192
- package/index.js +31 -31
- package/jest-transform-stub.js +8 -8
- package/jest.config.js +21 -21
- package/jest.setup.js +7 -7
- package/package.json +95 -95
- package/public/index.html +27 -27
- package/src/App.vue +188 -188
- package/src/ReportView.js +19 -19
- package/src/assets/img/querySlotDemo.svg +15 -15
- package/src/assets/svg/badtwo.svg +1 -1
- package/src/assets/svg/goodtwo.svg +1 -1
- package/src/base-client/components/common/AMisRender/index.js +3 -3
- package/src/base-client/components/common/AMisRender/index.vue +263 -263
- package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +413 -413
- package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
- package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
- package/src/base-client/components/common/CitySelect/CitySelect.vue +348 -348
- package/src/base-client/components/common/CitySelect/index.js +3 -3
- package/src/base-client/components/common/CitySelect/index.md +109 -109
- package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
- package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
- package/src/base-client/components/common/CreateQuery/index.js +3 -3
- package/src/base-client/components/common/CreateQuery/index.md +42 -42
- package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
- package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
- package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
- package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
- package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +149 -149
- package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
- package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
- package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
- package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
- package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
- package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
- package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +394 -355
- package/src/base-client/components/common/LowCodePageRender/LowCodePageRender.vue +29 -29
- package/src/base-client/components/common/LowCodePageRender/editorPageRender.vue +533 -467
- package/src/base-client/components/common/LowCodePageRender/index.js +3 -3
- package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
- package/src/base-client/components/common/PersonSetting/index.js +3 -3
- package/src/base-client/components/common/Tree/Tree.vue +149 -149
- package/src/base-client/components/common/Tree/index.js +2 -2
- package/src/base-client/components/common/Upload/Upload.vue +197 -197
- package/src/base-client/components/common/Upload/index.js +3 -3
- package/src/base-client/components/common/XAddForm/XAddForm.vue +98 -98
- package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +732 -732
- package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
- package/src/base-client/components/common/XAddNativeForm/lowcodeEditorRegister.js +16 -12
- package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
- package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
- package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
- package/src/base-client/components/common/XBadge/XBadge.vue +78 -78
- package/src/base-client/components/common/XCard/XCard.vue +64 -64
- package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
- package/src/base-client/components/common/XDataDrawer/index.js +3 -3
- package/src/base-client/components/common/XDataDrawer/index.md +41 -41
- package/src/base-client/components/common/XDescriptions/XDescriptions.vue +167 -167
- package/src/base-client/components/common/XDescriptions/XDescriptionsGroup.vue +299 -299
- package/src/base-client/components/common/XDescriptions/demo.vue +50 -50
- package/src/base-client/components/common/XDescriptions/index.js +3 -3
- package/src/base-client/components/common/XDescriptions/index.md +83 -83
- package/src/base-client/components/common/XDescriptions/lowcodeEditorRegister.js +15 -5
- package/src/base-client/components/common/XDetailsView/XDetailsView.vue +214 -214
- package/src/base-client/components/common/XDetailsView/index.js +3 -3
- package/src/base-client/components/common/XForm/XForm.vue +281 -281
- package/src/base-client/components/common/XForm/XFormItem.vue +807 -807
- package/src/base-client/components/common/XForm/XTreeSelect.vue +206 -206
- package/src/base-client/components/common/XForm/index.md +178 -178
- package/src/base-client/components/common/XFormCol/XFormCol.vue +36 -36
- package/src/base-client/components/common/XFormGroup/XFormGroup.vue +241 -241
- package/src/base-client/components/common/XFormGroup/demo.vue +40 -40
- package/src/base-client/components/common/XFormGroup/index.js +3 -3
- package/src/base-client/components/common/XFormGroup/index.md +38 -38
- package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
- package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
- package/src/base-client/components/common/XFormTable/XFormTable.vue +519 -519
- package/src/base-client/components/common/XFormTable/index.md +98 -98
- package/src/base-client/components/common/XFormTable/lowcodeEditorRegister.js +16 -12
- package/src/base-client/components/common/XImportExcel/XImportExcel.vue +147 -147
- package/src/base-client/components/common/XReport/XReport.vue +843 -843
- package/src/base-client/components/common/XReport/XReportDemo.vue +2233 -2233
- package/src/base-client/components/common/XReport/XReportDesign.vue +470 -470
- package/src/base-client/components/common/XReport/XReportJsonRender.vue +267 -267
- package/src/base-client/components/common/XReport/XReportTrGroup.vue +745 -742
- package/src/base-client/components/common/XReport/index.js +3 -3
- package/src/base-client/components/common/XReport/index.md +44 -44
- package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
- package/src/base-client/components/common/XReportSlot/index.js +3 -3
- package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
- package/src/base-client/components/common/XStepView/index.js +3 -3
- package/src/base-client/components/common/XStepView/index.md +31 -31
- package/src/base-client/components/common/XTable/XTable.vue +636 -636
- package/src/base-client/components/common/XTable/index.md +255 -255
- package/src/base-client/components/common/XTree/XTree.vue +318 -318
- package/src/base-client/components/common/XTree/index.js +3 -3
- package/src/base-client/components/common/XTree/index.md +36 -36
- package/src/base-client/components/common/XTreeOne/XTreeOne.vue +114 -114
- package/src/base-client/components/common/XTreeOne/lowcodeEditorRegister.js +11 -9
- package/src/base-client/components/index.js +51 -51
- package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
- package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
- package/src/base-client/plugins/AppData.js +115 -115
- package/src/base-client/plugins/Config.js +19 -19
- package/src/base-client/plugins/GetLoginInfoService.js +183 -183
- package/src/base-client/plugins/tabs-page-plugin.js +39 -39
- package/src/bootstrap.js +39 -39
- package/src/components/CodeMirror/inedx.vue +118 -118
- package/src/components/CodeMirror/setting.js +40 -40
- package/src/components/FilePreview/FilePreview.vue +166 -166
- package/src/components/NumberInfo/NumberInfo.vue +54 -54
- package/src/components/STable/index.js +323 -323
- package/src/components/checkbox/ColorCheckbox.vue +157 -157
- package/src/components/checkbox/ImgCheckbox.vue +163 -163
- package/src/components/menu/SideMenu.vue +75 -75
- package/src/components/menu/menu.js +273 -273
- package/src/components/tool/AStepItem.vue +60 -60
- package/src/config/CreateQueryConfig.js +322 -322
- package/src/config/default/antd.config.js +89 -89
- package/src/config/default/setting.config.js +55 -55
- package/src/font-style/font.css +4 -4
- package/src/layouts/CommonLayout.vue +56 -56
- package/src/layouts/PageLayout.vue +151 -151
- package/src/layouts/SinglePageView.vue +138 -138
- package/src/layouts/header/AdminHeader.vue +132 -132
- package/src/layouts/header/HeaderNotice.vue +177 -177
- package/src/layouts/tabs/TabsHead.vue +189 -189
- package/src/layouts/tabs/TabsView.vue +387 -387
- package/src/lib.js +1 -1
- package/src/main.js +26 -26
- package/src/mock/extend/index.js +84 -84
- package/src/mock/goods/index.js +108 -108
- package/src/pages/AMisDemo/AMisDemo.vue +325 -325
- package/src/pages/AMisDemo/AMisDemo2.vue +74 -74
- package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
- package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
- package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
- package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
- package/src/pages/DynamicStatistics/FavoriteList.vue +51 -51
- package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
- package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
- package/src/pages/DynamicStatistics/index.vue +282 -282
- package/src/pages/Example/index.vue +32 -32
- package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
- package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
- package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
- package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
- package/src/pages/NewDynamicStatistics/FavoriteList.vue +51 -51
- package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
- package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
- package/src/pages/NewDynamicStatistics/index.vue +258 -258
- package/src/pages/ServiceReview/index.vue +284 -284
- package/src/pages/XReportView/index.vue +62 -62
- package/src/pages/login/Login.vue +378 -378
- package/src/pages/login/LoginV3.vue +389 -389
- package/src/pages/lowCode/lowCodeEditor.vue +1501 -1285
- package/src/pages/lowCode/lowCodeRender.vue +39 -39
- package/src/pages/resourceManage/orgListManage.vue +98 -98
- package/src/pages/system/dictionary/index.vue +44 -44
- package/src/pages/system/monitor/loginInfor/index.vue +37 -37
- package/src/pages/system/monitor/operLog/index.vue +37 -37
- package/src/pages/system/settings/modifyPassword.vue +117 -117
- package/src/pages/system/ticket/index.vue +480 -480
- package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
- package/src/router/async/config.async.js +33 -33
- package/src/router/async/router.map.js +107 -107
- package/src/router/guards.js +220 -220
- package/src/router/index.js +27 -27
- package/src/router.js +19 -19
- package/src/services/api/TicketDetailsViewApi.js +46 -46
- package/src/services/api/cas.js +79 -79
- package/src/services/api/common.js +284 -284
- package/src/services/api/entity.js +18 -18
- package/src/services/api/index.js +17 -17
- package/src/services/api/restTools.js +46 -46
- package/src/services/apiService.js +14 -14
- package/src/services/user.js +71 -71
- package/src/store/modules/setting.js +119 -119
- package/src/theme/default/style.less +57 -57
- package/src/theme/global.less +130 -130
- package/src/utils/authority-utils.js +85 -85
- package/src/utils/errorCode.js +6 -6
- package/src/utils/htmlToPDF.js +108 -108
- package/src/utils/htmlToPDFApi.js +5 -5
- package/src/utils/indexedDB.js +201 -201
- package/src/utils/login.js +144 -144
- package/src/utils/lowcode/lowcodeComponentMixin.js +112 -78
- package/src/utils/lowcode/lowcodeLog.js +29 -29
- package/src/utils/lowcode/lowcodeUtils.js +276 -129
- package/src/utils/lowcode/registerComponentForEditor.js +11 -11
- package/src/utils/lowcode/registerComponentForRender.js +11 -11
- package/src/utils/map-utils.js +47 -47
- package/src/utils/reg.js +19 -19
- package/src/utils/request.js +343 -343
- package/src/utils/routerUtil.js +435 -435
- package/src/utils/runEvalFunction.js +6 -6
- package/src/utils/util.js +241 -241
- package/src/utils/waterMark.js +31 -31
- package/test/Amis.spec.js +163 -163
- package/test/Tree.spec.js +167 -167
- package/test/myDialog.spec.js +46 -46
- package/vue.config.js +177 -177
- 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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
// 根据
|
|
116
|
-
export function
|
|
117
|
-
let
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
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
|
+
}
|
package/src/utils/map-utils.js
CHANGED
|
@@ -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}$/
|