vue2-client 1.16.7 → 1.16.8

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.
@@ -1,119 +1,119 @@
1
- <template>
2
- <div class="table-container" :style="{ height: tableHeight }">
3
- <a-table
4
- :columns="processedColumns"
5
- :dataSource="tableData"
6
- :pagination="false"
7
- :bordered="false"
8
- :rowKey="rowKey"
9
- :scroll="{ y: scrollY }"
10
- />
11
- </div>
12
- </template>
13
-
14
- <script>
15
- import { getConfigByName, runLogic } from '@vue2-client/services/api/common'
16
-
17
- export default {
18
- props: {
19
- queryParamsName: String,
20
- rowKey: {
21
- type: String,
22
- default: 'id'
23
- },
24
- parameter: {
25
- type: Object,
26
- default: () => ({})
27
- }
28
- },
29
- data () {
30
- return {
31
- columns: [],
32
- tableData: [],
33
- tableHeight: 'auto', // 默认高度
34
- scrollY: undefined
35
- }
36
- },
37
- watch: {
38
- queryParamsName: {
39
- immediate: true,
40
- handler (val) {
41
- val && this.init(val, this.parameter)
42
- }
43
- }
44
- },
45
- computed: {
46
- processedColumns () {
47
- return this.columns.map(column => ({
48
- ...column,
49
- customHeaderCell: column.headerStyle
50
- ? () => ({ style: column.headerStyle })
51
- : undefined
52
- }))
53
- }
54
- },
55
- methods: {
56
- init (config, parameterData) {
57
- getConfigByName(config, 'af-his', res => {
58
- // 从配置中获取表格高度
59
- this.tableHeight = res.tableHeight || '400px' // 默认400px
60
- this.columns = res.columns || []
61
-
62
- runLogic(res.logicName, parameterData, 'af-his').then(result => {
63
- this.tableData = result.map((item, index) => ({
64
- ...item,
65
- key: item[this.rowKey] || `row_${index}`
66
- }))
67
-
68
- this.$nextTick(() => {
69
- this.scrollY = this.tableHeight
70
- })
71
- })
72
- })
73
- }
74
- }
75
- }
76
- </script>
77
-
78
- <style scoped>
79
- /* 表格容器 */
80
- .table-container {
81
- overflow: hidden;
82
- display: flex;
83
- flex-direction: column;
84
- }
85
-
86
- /* 基础无边框样式 */
87
- /deep/ .ant-table {
88
- border: none !important;
89
- flex: 1;
90
- display: flex;
91
- flex-direction: column;
92
- }
93
-
94
- /deep/ .ant-table-content {
95
- flex: 1;
96
- display: flex;
97
- flex-direction: column;
98
- }
99
-
100
- /deep/ .ant-table-body {
101
- flex: 1;
102
- overflow-y: auto !important;
103
- }
104
-
105
- /deep/ .ant-table-tbody > tr > td {
106
- border-bottom: none !important;
107
- padding: 6px !important;
108
- }
109
-
110
- /deep/ .ant-table-thead > tr > th {
111
- border-bottom: none !important;
112
- background: none !important;
113
- padding: 8px 6px !important;
114
- position: sticky;
115
- top: 0;
116
- z-index: 1;
117
- background-color: white !important;
118
- }
119
- </style>
1
+ <template>
2
+ <div class="table-container" :style="{ height: tableHeight }">
3
+ <a-table
4
+ :columns="processedColumns"
5
+ :dataSource="tableData"
6
+ :pagination="false"
7
+ :bordered="false"
8
+ :rowKey="rowKey"
9
+ :scroll="{ y: scrollY }"
10
+ />
11
+ </div>
12
+ </template>
13
+
14
+ <script>
15
+ import { getConfigByName, runLogic } from '@vue2-client/services/api/common'
16
+
17
+ export default {
18
+ props: {
19
+ queryParamsName: String,
20
+ rowKey: {
21
+ type: String,
22
+ default: 'id'
23
+ },
24
+ parameter: {
25
+ type: Object,
26
+ default: () => ({})
27
+ }
28
+ },
29
+ data () {
30
+ return {
31
+ columns: [],
32
+ tableData: [],
33
+ tableHeight: 'auto', // 默认高度
34
+ scrollY: undefined
35
+ }
36
+ },
37
+ watch: {
38
+ queryParamsName: {
39
+ immediate: true,
40
+ handler (val) {
41
+ val && this.init(val, this.parameter)
42
+ }
43
+ }
44
+ },
45
+ computed: {
46
+ processedColumns () {
47
+ return this.columns.map(column => ({
48
+ ...column,
49
+ customHeaderCell: column.headerStyle
50
+ ? () => ({ style: column.headerStyle })
51
+ : undefined
52
+ }))
53
+ }
54
+ },
55
+ methods: {
56
+ init (config, parameterData) {
57
+ getConfigByName(config, 'af-his', res => {
58
+ // 从配置中获取表格高度
59
+ this.tableHeight = res.tableHeight || '400px' // 默认400px
60
+ this.columns = res.columns || []
61
+
62
+ runLogic(res.logicName, parameterData, 'af-his').then(result => {
63
+ this.tableData = result.map((item, index) => ({
64
+ ...item,
65
+ key: item[this.rowKey] || `row_${index}`
66
+ }))
67
+
68
+ this.$nextTick(() => {
69
+ this.scrollY = this.tableHeight
70
+ })
71
+ })
72
+ })
73
+ }
74
+ }
75
+ }
76
+ </script>
77
+
78
+ <style scoped>
79
+ /* 表格容器 */
80
+ .table-container {
81
+ overflow: hidden;
82
+ display: flex;
83
+ flex-direction: column;
84
+ }
85
+
86
+ /* 基础无边框样式 */
87
+ /deep/ .ant-table {
88
+ border: none !important;
89
+ flex: 1;
90
+ display: flex;
91
+ flex-direction: column;
92
+ }
93
+
94
+ /deep/ .ant-table-content {
95
+ flex: 1;
96
+ display: flex;
97
+ flex-direction: column;
98
+ }
99
+
100
+ /deep/ .ant-table-body {
101
+ flex: 1;
102
+ overflow-y: auto !important;
103
+ }
104
+
105
+ /deep/ .ant-table-tbody > tr > td {
106
+ border-bottom: none !important;
107
+ padding: 6px !important;
108
+ }
109
+
110
+ /deep/ .ant-table-thead > tr > th {
111
+ border-bottom: none !important;
112
+ background: none !important;
113
+ padding: 8px 6px !important;
114
+ position: sticky;
115
+ top: 0;
116
+ z-index: 1;
117
+ background-color: white !important;
118
+ }
119
+ </style>
@@ -1,129 +1,129 @@
1
- const { homePage } = require('../../config')
2
- // 视图组件
3
- const view = {
4
- tabs: () => import('@vue2-client/layouts/tabs'),
5
- blank: () => import('@vue2-client/layouts/BlankView'),
6
- page: () => import('@vue2-client/layouts/PageView'),
7
- // his-web$ceshiGrid?type=GridView&configName=RxPreparedMed
8
- gridView: () => import('@vue2-client/layouts/GridView'),
9
- login: () => import('@vue2-client/pages/login/Login'),
10
- loginv3: () => import('@vue2-client/pages/login/LoginV3')
11
- }
12
- // 动态路由对象定义
13
- const routerResource = {}
14
- // --------------------------------------基本视图组件--------------------------------------
15
- // 空白视图
16
- routerResource.blank = view.blank
17
- // 单页面视图
18
- routerResource.singlePage = view.blank
19
- // 栅格配置视图
20
- routerResource.gridView = () => import('@vue2-client/layouts/GridView')
21
- // 测试
22
- routerResource.businessQuery = view.blank
23
- // 业务查询 - 收费查询
24
- routerResource.chargeQuery = () => import('@vue2-client/base-client/components/common/XFormTable/demo.vue')
25
- // --------------------------------------仪表盘--------------------------------------
26
- routerResource.dashboard = view.blank
27
- // 工作台
28
- routerResource.workplace = () =>
29
- import('@vue2-client/pages/dashboard/workplace')
30
- // --------------------------------------系统配置--------------------------------------
31
- routerResource.system = view.blank
32
- // 字典管理
33
- routerResource.dictionaryManage = () => import('@vue2-client/pages/system/dictionary')
34
- // 文件管理
35
- routerResource.fileManager = () => import('@vue2-client/pages/system/file')
36
- // 登录日志
37
- routerResource.loginInfor = () => import('@vue2-client/pages/system/monitor/loginInfor')
38
- // 操作日志
39
- routerResource.operLog = () => import('@vue2-client/pages/system/monitor/operLog')
40
- // 系统问题反馈工单
41
- routerResource.submitTicket = () => import('@vue2-client/pages/system/ticket')
42
- // 通用服务评价
43
- routerResource.ServiceReview = () => import('@vue2-client/pages/ServiceReview')
44
- // 系统设置
45
- routerResource.settings = () => import('@vue2-client/pages/system/settings')
46
- // 页面编辑器
47
- routerResource.editablePage = () => import('@vue2-client/pages/lowCode/lowCodeEditor.vue')
48
- // 数据检索
49
- routerResource.dynamicStatistics = () => import('@vue2-client/pages/DynamicStatistics')
50
- // 数据检索(新)
51
- routerResource.newDynamicStatistics = () => import('@vue2-client/pages/NewDynamicStatistics')
52
- // 示例页面
53
- routerResource.example = {
54
- path: 'example',
55
- name: '示例主页面',
56
- // component: () => import('@vue2-client/pages/WorkflowDetail/WorkFlowDemo2.vue'),
57
- // component: () => import('@vue2-client/pages/WorkflowDetail/WorkFlowDemo.vue'),
58
- // component: () => import('@vue2-client/pages/addressSelect/addressDemo.vue'),
59
- // component: () => import('@vue2-client/base-client/components/common/XDescriptions/demo.vue'),
60
- // component: () => import('@vue2-client/base-client/components/common/XAddNativeForm/demo.vue'),
61
- // component: () => import('@vue2-client/base-client/components/common/XFormGroup/demo.vue'),
62
- // component: () => import('@vue2-client/base-client/components/common/XReport/XReportDemo.vue'),
63
- // component: () => import('@vue2-client/base-client/components/common/XFormTable/demo.vue'),
64
- // component: () => import('@vue2-client/base-client/components/common/XDatePicker/demo.vue'),
65
- // component: () => import('@vue2-client/base-client/components/common/XTab/XTabDemo.vue'),
66
- // component: () => import('@vue2-client/base-client/components/common/XRate/demo.vue'),
67
- // component: () => import('@vue2-client/base-client/components/common/XForm/demo.vue'),
68
- // component: () => import('@vue2-client/base-client/components/his/XTimeSelect/XTimeSelectDemo.vue'),
69
- // component: () => import('@vue2-client/base-client/components/his/XImportExcelButton/XFrontImportExcelDemo.vue'),
70
- // component: () => import('@vue2-client/pages/WorkflowDetail/WorkFlowDemo.vue'),
71
- // component: () => import('@vue2-client/pages/WorkflowDetail/WorkFlowDemo.vue'),
72
- // component: () => import('@vue2-client/pages/XPageViewExample/index.vue'),
73
- // component: () => import('@vue2-client/base-client/components/common/XButtons/XButtonDemo.vue'),
74
- // component: () => import('@vue2-client/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue'),
75
- // component: () => import('@vue2-client/base-client/components/common/XCheckList/XCheckList.vue'),
76
- // component: () => import('@vue2-client/base-client/components/common/XPrint/Demo.vue'),
77
- // component: () => import('@vue2-client/base-client/components/AI/demo.vue'),
78
- // component: () => import('@vue2-client/components/g2Charts/demo.vue'),
79
- // component: () => import('@vue2-client/pages/LogicCallExample/index.vue'),
80
- // component: () => import('@vue2-client/components/FilePreview/FilePreviewDemo.vue'),
81
- // component: () => import('@vue2-client/pages/ReportGrid/index.vue'),
82
- component: () => import('@vue2-client/base-client/components/common/HIS/demo.vue'),
83
- }
84
- // routerResource.example = () =>
85
- // import('@vue2-client/pages/Example')
86
- routerResource.XReportView = () => import('@vue2-client/pages/XReportView')
87
-
88
- routerResource.XReportGrid = () => import('@vue2-client/base-client/components/common/XReportGrid/XReportDemo')
89
-
90
- routerResource.XTab = () => import('@vue2-client/base-client/components/common/XTab/XTabDemo')
91
- routerResource.addressManage = () => import('@vue2-client/base-client/components/common/XFormTable/demo.vue')
92
-
93
- // 基础路由组件注册
94
- const routerMap = {
95
- login: {
96
- authority: '*',
97
- path: '/login',
98
- component: process.env.VUE_APP_LOGIN_VERSION === 'V3'
99
- ? view.loginv3 : view.login
100
- },
101
- root: {
102
- path: '/',
103
- name: '首页',
104
- // 只有在非微前端环境下才进行重定向,或者通过环境变量控制
105
- redirect: window.__MICRO_APP_ENVIRONMENT__ ? undefined : homePage,
106
- component: process.env.VUE_APP_SINGLE_PAPER === 'TRUE' ? view.blank : view.tabs,
107
- },
108
- exp403: {
109
- authority: '*',
110
- name: 'exp403',
111
- path: '403',
112
- component: () =>
113
- import('@vue2-client/pages/exception/403')
114
- },
115
- exp404: {
116
- name: 'exp404',
117
- path: '404',
118
- component: () =>
119
- import('@vue2-client/pages/exception/404')
120
- },
121
- exp500: {
122
- name: 'exp500',
123
- path: '500',
124
- component: () =>
125
- import('@vue2-client/pages/exception/500')
126
- }
127
- }
128
- Object.assign(routerMap, routerResource)
129
- export default routerMap
1
+ const { homePage } = require('../../config')
2
+ // 视图组件
3
+ const view = {
4
+ tabs: () => import('@vue2-client/layouts/tabs'),
5
+ blank: () => import('@vue2-client/layouts/BlankView'),
6
+ page: () => import('@vue2-client/layouts/PageView'),
7
+ // his-web$ceshiGrid?type=GridView&configName=RxPreparedMed
8
+ gridView: () => import('@vue2-client/layouts/GridView'),
9
+ login: () => import('@vue2-client/pages/login/Login'),
10
+ loginv3: () => import('@vue2-client/pages/login/LoginV3')
11
+ }
12
+ // 动态路由对象定义
13
+ const routerResource = {}
14
+ // --------------------------------------基本视图组件--------------------------------------
15
+ // 空白视图
16
+ routerResource.blank = view.blank
17
+ // 单页面视图
18
+ routerResource.singlePage = view.blank
19
+ // 栅格配置视图
20
+ routerResource.gridView = () => import('@vue2-client/layouts/GridView')
21
+ // 测试
22
+ routerResource.businessQuery = view.blank
23
+ // 业务查询 - 收费查询
24
+ routerResource.chargeQuery = () => import('@vue2-client/base-client/components/common/XFormTable/demo.vue')
25
+ // --------------------------------------仪表盘--------------------------------------
26
+ routerResource.dashboard = view.blank
27
+ // 工作台
28
+ routerResource.workplace = () =>
29
+ import('@vue2-client/pages/dashboard/workplace')
30
+ // --------------------------------------系统配置--------------------------------------
31
+ routerResource.system = view.blank
32
+ // 字典管理
33
+ routerResource.dictionaryManage = () => import('@vue2-client/pages/system/dictionary')
34
+ // 文件管理
35
+ routerResource.fileManager = () => import('@vue2-client/pages/system/file')
36
+ // 登录日志
37
+ routerResource.loginInfor = () => import('@vue2-client/pages/system/monitor/loginInfor')
38
+ // 操作日志
39
+ routerResource.operLog = () => import('@vue2-client/pages/system/monitor/operLog')
40
+ // 系统问题反馈工单
41
+ routerResource.submitTicket = () => import('@vue2-client/pages/system/ticket')
42
+ // 通用服务评价
43
+ routerResource.ServiceReview = () => import('@vue2-client/pages/ServiceReview')
44
+ // 系统设置
45
+ routerResource.settings = () => import('@vue2-client/pages/system/settings')
46
+ // 页面编辑器
47
+ routerResource.editablePage = () => import('@vue2-client/pages/lowCode/lowCodeEditor.vue')
48
+ // 数据检索
49
+ routerResource.dynamicStatistics = () => import('@vue2-client/pages/DynamicStatistics')
50
+ // 数据检索(新)
51
+ routerResource.newDynamicStatistics = () => import('@vue2-client/pages/NewDynamicStatistics')
52
+ // 示例页面
53
+ routerResource.example = {
54
+ path: 'example',
55
+ name: '示例主页面',
56
+ // component: () => import('@vue2-client/pages/WorkflowDetail/WorkFlowDemo2.vue'),
57
+ // component: () => import('@vue2-client/pages/WorkflowDetail/WorkFlowDemo.vue'),
58
+ // component: () => import('@vue2-client/pages/addressSelect/addressDemo.vue'),
59
+ // component: () => import('@vue2-client/base-client/components/common/XDescriptions/demo.vue'),
60
+ // component: () => import('@vue2-client/base-client/components/common/XAddNativeForm/demo.vue'),
61
+ // component: () => import('@vue2-client/base-client/components/common/XFormGroup/demo.vue'),
62
+ // component: () => import('@vue2-client/base-client/components/common/XReport/XReportDemo.vue'),
63
+ component: () => import('@vue2-client/base-client/components/common/XFormTable/demo.vue'),
64
+ // component: () => import('@vue2-client/base-client/components/common/XDatePicker/demo.vue'),
65
+ // component: () => import('@vue2-client/base-client/components/common/XTab/XTabDemo.vue'),
66
+ // component: () => import('@vue2-client/base-client/components/common/XRate/demo.vue'),
67
+ // component: () => import('@vue2-client/base-client/components/common/XForm/demo.vue'),
68
+ // component: () => import('@vue2-client/base-client/components/his/XTimeSelect/XTimeSelectDemo.vue'),
69
+ // component: () => import('@vue2-client/base-client/components/his/XImportExcelButton/XFrontImportExcelDemo.vue'),
70
+ // component: () => import('@vue2-client/pages/WorkflowDetail/WorkFlowDemo.vue'),
71
+ // component: () => import('@vue2-client/pages/WorkflowDetail/WorkFlowDemo.vue'),
72
+ // component: () => import('@vue2-client/pages/XPageViewExample/index.vue'),
73
+ // component: () => import('@vue2-client/base-client/components/common/XButtons/XButtonDemo.vue'),
74
+ // component: () => import('@vue2-client/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue'),
75
+ // component: () => import('@vue2-client/base-client/components/common/XCheckList/XCheckList.vue'),
76
+ // component: () => import('@vue2-client/base-client/components/common/XPrint/Demo.vue'),
77
+ // component: () => import('@vue2-client/base-client/components/AI/demo.vue'),
78
+ // component: () => import('@vue2-client/components/g2Charts/demo.vue'),
79
+ // component: () => import('@vue2-client/pages/LogicCallExample/index.vue'),
80
+ // component: () => import('@vue2-client/components/FilePreview/FilePreviewDemo.vue'),
81
+ // component: () => import('@vue2-client/pages/ReportGrid/index.vue'),
82
+ // component: () => import('@vue2-client/base-client/components/common/HIS/demo.vue'),
83
+ }
84
+ // routerResource.example = () =>
85
+ // import('@vue2-client/pages/Example')
86
+ routerResource.XReportView = () => import('@vue2-client/pages/XReportView')
87
+
88
+ routerResource.XReportGrid = () => import('@vue2-client/base-client/components/common/XReportGrid/XReportDemo')
89
+
90
+ routerResource.XTab = () => import('@vue2-client/base-client/components/common/XTab/XTabDemo')
91
+ routerResource.addressManage = () => import('@vue2-client/base-client/components/common/XFormTable/demo.vue')
92
+
93
+ // 基础路由组件注册
94
+ const routerMap = {
95
+ login: {
96
+ authority: '*',
97
+ path: '/login',
98
+ component: process.env.VUE_APP_LOGIN_VERSION === 'V3'
99
+ ? view.loginv3 : view.login
100
+ },
101
+ root: {
102
+ path: '/',
103
+ name: '首页',
104
+ // 只有在非微前端环境下才进行重定向,或者通过环境变量控制
105
+ redirect: window.__MICRO_APP_ENVIRONMENT__ ? undefined : homePage,
106
+ component: process.env.VUE_APP_SINGLE_PAPER === 'TRUE' ? view.blank : view.tabs,
107
+ },
108
+ exp403: {
109
+ authority: '*',
110
+ name: 'exp403',
111
+ path: '403',
112
+ component: () =>
113
+ import('@vue2-client/pages/exception/403')
114
+ },
115
+ exp404: {
116
+ name: 'exp404',
117
+ path: '404',
118
+ component: () =>
119
+ import('@vue2-client/pages/exception/404')
120
+ },
121
+ exp500: {
122
+ name: 'exp500',
123
+ path: '500',
124
+ component: () =>
125
+ import('@vue2-client/pages/exception/500')
126
+ }
127
+ }
128
+ Object.assign(routerMap, routerResource)
129
+ export default routerMap
@@ -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'], // 需要使用的的插件列表,如比例尺'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'], // 需要使用的的插件列表,如比例尺'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 }