vue2-client 1.2.50 → 1.2.53

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 (31) hide show
  1. package/.env +15 -14
  2. package/.eslintrc.js +82 -82
  3. package/CHANGELOG.md +139 -130
  4. package/package.json +2 -1
  5. package/src/base-client/all.js +4 -1
  6. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +225 -0
  7. package/src/base-client/components/common/AddressSearchCombobox/index.js +3 -0
  8. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +111 -105
  9. package/src/base-client/components/common/AmapMarker/index.js +3 -3
  10. package/src/base-client/components/common/CitySelect/CitySelect.vue +244 -0
  11. package/src/base-client/components/common/CitySelect/index.js +3 -0
  12. package/src/base-client/components/common/CitySelect/index.md +109 -0
  13. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +483 -1342
  14. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +770 -555
  15. package/src/base-client/components/common/ScrollList/SrcollList.vue +113 -113
  16. package/src/base-client/components/common/ScrollList/index.js +3 -3
  17. package/src/base-client/components/common/Upload/Upload.vue +124 -124
  18. package/src/base-client/components/common/Upload/index.js +3 -3
  19. package/src/base-client/components/common/XAddForm/XAddForm.vue +331 -339
  20. package/src/base-client/components/common/XForm/XForm.vue +268 -275
  21. package/src/base-client/components/common/XForm/XFormItem.vue +348 -285
  22. package/src/base-client/components/iot/WebmeterAnalysisView/WebmeterAnalysisView.vue +205 -205
  23. package/src/base-client/plugins/AppData.js +72 -57
  24. package/src/config/CreateQueryConfig.js +298 -80
  25. package/src/pages/resourceManage/orgListManage.vue +40 -40
  26. package/src/services/api/manage.js +16 -14
  27. package/src/services/api/restTools.js +24 -24
  28. package/src/utils/map-utils.js +28 -28
  29. package/src/utils/request.js +198 -198
  30. package/src/utils/util.js +222 -176
  31. package/vue.config.js +143 -143
@@ -1,80 +1,298 @@
1
- module.exports = {
2
- // 文件上传类型
3
- fileType: [
4
- {
5
- label: 'word文档',
6
- accept: '.doc,.docx,'
7
- },
8
- {
9
- label: 'excel表格',
10
- accept: '.xlsx,.xls,'
11
- },
12
- {
13
- label: 'ppt幻灯片',
14
- accept: '.ppt,.pptx,'
15
- },
16
- {
17
- label: '图片',
18
- accept: '.jpg,.jpeg,.ico,.gif,svg,.webp,.png,.bmp,.pjpeg,'
19
- },
20
- {
21
- label: '视频',
22
- accept: '.mp4,.mov,.m4v,.wmv,.asf,.asx,.rm,.rmvb,.3gp,.avi,.mkv,'
23
- },
24
- {
25
- label: '音频',
26
- accept: '.mp3,.cda,.wav,.aif,.aiff,.ape,.ra,'
27
- },
28
- {
29
- label: '压缩包',
30
- accept: '.zip,.rar,.7z,'
31
- },
32
- {
33
- label: '其他文本',
34
- accept: '.json,.txt,'
35
- },
36
- {
37
- label: '无限制',
38
- accept: '*'
39
- },
40
- ],
41
- // 查询方式
42
- queryType: [
43
- {
44
- label: '相等(=)', key: '=', match: 'input;select;radio;monthPicker;datePicker;cascader;selects'
45
- },
46
- {
47
- label: '不相等(!=)', key: '!=', match: 'input;select;radio;monthPicker;datePicker;cascader;selects'
48
- },
49
- {
50
- label: '全模糊(like)', key: 'LIKE', match: 'input;select;radio;cascader;selects'
51
- },
52
- {
53
- label: '左模糊(left like)', key: 'LEFT_LIKE', match: 'input;select;radio;cascader;selects'
54
- },
55
- {
56
- label: '右模糊(right like)', key: 'RIGHT_LIKE', match: 'input;select;radio;cascader;selects'
57
- },
58
- {
59
- label: '大于(>)', key: '>', match: 'input;select;radio;monthPicker;datePicker;cascader;selects'
60
- },
61
- {
62
- label: '大于等于(>=)', key: '>=', match: 'input;select;radio;monthPicker;datePicker;cascader;selects'
63
- },
64
- {
65
- label: '小于(<)', key: '<', match: 'input;select;radio;monthPicker;datePicker;cascader;selects'
66
- },
67
- {
68
- label: '小于等于(<=)', key: '<=', match: 'input;select;radio;monthPicker;datePicker;cascader;selects'
69
- },
70
- {
71
- label: '包含(in)', key: 'IN', match: 'checkbox;select;cascader;selects'
72
- },
73
- {
74
- label: '不包含(not in)', key: 'NOT_IN', match: 'checkbox;select;cascader;selects'
75
- },
76
- {
77
- label: '之间(between)', key: 'BETWEEN', match: 'rangePicker'
78
- }
79
- ]
80
- }
1
+ module.exports = {
2
+ // 数据模式类型
3
+ dataModeType: [
4
+ {
5
+ label: '渲染查询表单项',
6
+ value: 'queryForm',
7
+ noMatch: ['file', 'image', 'textarea']
8
+ },
9
+ {
10
+ label: '渲染表格列',
11
+ value: 'table',
12
+ noMatch: ['file', 'image']
13
+ },
14
+ {
15
+ label: '渲染新增/修改表单项',
16
+ value: 'addOrEditForm',
17
+ noMatch: []
18
+ },
19
+ {
20
+ label: 'SQL生成查询项',
21
+ value: 'sqlQueryItem',
22
+ noMatch: ['file']
23
+ },
24
+ {
25
+ label: 'SQL生成查询表达式',
26
+ value: 'sqlQueryCondition',
27
+ noMatch: ['file', 'image', 'textarea']
28
+ }
29
+ ],
30
+ // 表单类型
31
+ formType: [
32
+ {
33
+ label: '输入框', key: 'input'
34
+ },
35
+ {
36
+ label: '选择框', key: 'select'
37
+ },
38
+ {
39
+ label: '级联选择框', key: 'selects'
40
+ },
41
+ {
42
+ label: '多选框', key: 'checkbox'
43
+ },
44
+ {
45
+ label: '地点搜索框', key: 'addressSearch'
46
+ },
47
+ {
48
+ label: '省市区选择框', key: 'citySelect'
49
+ },
50
+ {
51
+ label: '单选框', key: 'radio'
52
+ },
53
+ {
54
+ label: '日期范围选择框', key: 'rangePicker'
55
+ },
56
+ {
57
+ label: '月份选择框', key: 'monthPicker'
58
+ },
59
+ {
60
+ label: '单日选择框', key: 'datePicker'
61
+ },
62
+ {
63
+ label: '文本域', key: 'textarea'
64
+ },
65
+ {
66
+ label: '文件上传', key: 'file'
67
+ },
68
+ {
69
+ label: '图片上传', key: 'image'
70
+ },
71
+ ],
72
+ // 文件上传类型
73
+ fileType: [
74
+ {
75
+ label: '无限制',
76
+ accept: '*'
77
+ },
78
+ {
79
+ label: 'word文档',
80
+ accept: '.doc,.docx,'
81
+ },
82
+ {
83
+ label: 'excel表格',
84
+ accept: '.xls,.xlsx,'
85
+ },
86
+ {
87
+ label: 'ppt幻灯片',
88
+ accept: '.ppt,.pptx,'
89
+ },
90
+ {
91
+ label: '图片',
92
+ accept: '.jpg,.jpeg,.ico,.gif,svg,.webp,.png,.bmp,.pjpeg,'
93
+ },
94
+ {
95
+ label: '视频',
96
+ accept: '.mp4,.mov,.m4v,.wmv,.asf,.asx,.rm,.rmvb,.3gp,.avi,.mkv,'
97
+ },
98
+ {
99
+ label: '音频',
100
+ accept: '.mp3,.cda,.wav,.aif,.aiff,.ape,.ra,'
101
+ },
102
+ {
103
+ label: '压缩包',
104
+ accept: '.zip,.rar,.7z,'
105
+ },
106
+ {
107
+ label: '文本/JSON',
108
+ accept: '.json,.txt,'
109
+ }
110
+ ],
111
+ // 表单校验类型
112
+ formRuleType: [
113
+ {
114
+ label: '字符串', key: 'string'
115
+ },
116
+ {
117
+ label: '数字', key: 'number'
118
+ },
119
+ {
120
+ label: '布尔值', key: 'boolean'
121
+ },
122
+ {
123
+ label: '正则表达式', key: 'regexp'
124
+ },
125
+ {
126
+ label: '整数', key: 'integer'
127
+ },
128
+ {
129
+ label: '小数', key: 'float'
130
+ },
131
+ {
132
+ label: '数组或集合', key: 'array'
133
+ },
134
+ {
135
+ label: '邮箱', key: 'email'
136
+ }
137
+ ],
138
+ // 作用域插槽类型
139
+ slotType: [
140
+ {
141
+ label: '不设置',
142
+ key: 'default',
143
+ match: ['input', 'select', 'selects', 'checkbox', 'radio', 'addressSearch', 'citySelect']
144
+ },
145
+ {
146
+ label: '文本溢出省略',
147
+ key: 'ellipsis',
148
+ match: ['input', 'citySelect', 'addressSearch']
149
+ },
150
+ {
151
+ label: '多彩徽标',
152
+ key: 'badge',
153
+ match: ['select', 'selects', 'citySelect', 'addressSearch']
154
+ },
155
+ {
156
+ label: '日期格式化',
157
+ key: 'date',
158
+ match: ['rangePicker']
159
+ },
160
+ {
161
+ label: '日期时间格式化',
162
+ key: 'dateTime',
163
+ match: ['rangePicker']
164
+ },
165
+ {
166
+ label: '操作列',
167
+ key: 'action',
168
+ match: [
169
+ 'input'
170
+ ]
171
+ },
172
+ ],
173
+ // 查询方式
174
+ queryType: [
175
+ {
176
+ label: '相等[=]',
177
+ key: '=',
178
+ match: ['input', 'select', 'radio', 'monthPicker', 'datePicker', 'selects', 'addressSearch', 'citySelect']
179
+ },
180
+ {
181
+ label: '不相等[!=]',
182
+ key: '!=',
183
+ match: ['input']
184
+ },
185
+ {
186
+ label: '全模糊[like]',
187
+ key: 'LIKE',
188
+ match: ['input']
189
+ },
190
+ {
191
+ label: '左模糊[left like]',
192
+ key: 'LEFT_LIKE',
193
+ match: ['input']
194
+ },
195
+ {
196
+ label: '右模糊[right like]',
197
+ key: 'RIGHT_LIKE',
198
+ match: ['input']
199
+ },
200
+ {
201
+ label: '大于[>]',
202
+ key: '>',
203
+ match: ['input', 'radio', 'monthPicker', 'datePicker']
204
+ },
205
+ {
206
+ label: '大于等于[>=]',
207
+ key: '>=',
208
+ match: ['input', 'radio', 'monthPicker', 'datePicker']
209
+ },
210
+ {
211
+ label: '小于[<]',
212
+ key: '<',
213
+ match: ['input', 'radio', 'monthPicker', 'datePicker']
214
+ },
215
+ {
216
+ label: '小于等于[<=]',
217
+ key: '<=',
218
+ match: ['input', 'radio', 'monthPicker', 'datePicker']
219
+ },
220
+ {
221
+ label: '包含[in]',
222
+ key: 'IN',
223
+ match: ['checkbox']
224
+ },
225
+ {
226
+ label: '不包含[not in]',
227
+ key: 'NOT_IN',
228
+ match: ['checkbox']
229
+ },
230
+ {
231
+ label: '之间[between]',
232
+ key: 'BETWEEN',
233
+ match: ['rangePicker']
234
+ }
235
+ ],
236
+ // 新增/修改场景类型
237
+ addOrEditType: [
238
+ {
239
+ label: '新增和修改',
240
+ key: 'all',
241
+ match: ['all']
242
+ },
243
+ {
244
+ label: '仅支持新增',
245
+ key: 'add',
246
+ match: ['all']
247
+ },
248
+ {
249
+ label: '仅支持修改',
250
+ key: 'edit',
251
+ match: ['all']
252
+ },
253
+ {
254
+ label: '静默新增(不生成表单)',
255
+ key: 'silenceAdd',
256
+ match: ['input', 'rangePicker']
257
+ },
258
+ {
259
+ label: '版本号',
260
+ key: 'version',
261
+ match: ['input']
262
+ }
263
+ ],
264
+ // 字段用途类型
265
+ silencePurposeType: [
266
+ {
267
+ label: '创建时间',
268
+ key: 'createTime'
269
+ },
270
+ {
271
+ label: '创建/操作人',
272
+ key: 'operator'
273
+ },
274
+ {
275
+ label: '组织机构ID',
276
+ key: 'orgId'
277
+ },
278
+ {
279
+ label: '自定义',
280
+ key: 'customize'
281
+ }
282
+ ],
283
+ // 数据源类型
284
+ selectDataType: [
285
+ {
286
+ label: '字典键',
287
+ key: 'key'
288
+ },
289
+ {
290
+ label: '固定集合',
291
+ key: 'fixArray'
292
+ },
293
+ {
294
+ label: '业务逻辑',
295
+ key: 'logic'
296
+ }
297
+ ]
298
+ }
@@ -2,49 +2,49 @@
2
2
  <div id="orgListManage">
3
3
  <a-card :bordered="false">
4
4
  <!--<a-row :gutter="48">-->
5
- <!--<a-col>-->
6
- <!--<a-space>-->
7
- <!--<a-button type="primary" @click="addItem" v-if="!buttonState || buttonState.add">-->
8
- <!--<a-icon :style="iconStyle" type="plus"/>新增-->
9
- <!--</a-button>-->
10
- <!--<a-button-->
11
- <!--v-if="!buttonState || buttonState.edit"-->
12
- <!--:loading="editDataLoading"-->
13
- <!--:disabled="!isModify"-->
14
- <!--class="btn-success"-->
15
- <!--type="dashed"-->
16
- <!--@click="editItem">-->
17
- <!--<a-icon :style="iconStyle" type="edit"/>修改-->
18
- <!--</a-button>-->
19
- <!--<a-button :disabled="!isDelete" type="danger" @click="deleteItem" v-if="!buttonState || buttonState.delete">-->
20
- <!--<a-icon :style="iconStyle" type="delete"/>删除-->
21
- <!--</a-button>-->
22
- <!--</a-space>-->
23
- <!--<span :style="{ float: 'right', overflow: 'hidden', marginBottom: '8px' }">-->
24
- <!--<a-button-group>-->
25
- <!--<a-button @click="toggleIsFormShow">-->
26
- <!--<a-icon :style="iconStyle" type="vertical-align-top"/>-->
27
- <!--</a-button>-->
28
- <!--<a-button @click="refresh(true)">-->
29
- <!--<a-icon :style="iconStyle" type="reload" />-->
30
- <!--</a-button>-->
31
- <!--<a-button @click="showDrawer">-->
32
- <!--<a-icon :style="iconStyle" type="table" />-->
33
- <!--</a-button>-->
34
- <!--<a-button @click="exports">-->
35
- <!--<a-icon :style="iconStyle" type="cloud-download"/>-->
36
- <!--</a-button>-->
37
- <!--</a-button-group>-->
38
- <!--</span>-->
39
- <!--</a-col>-->
5
+ <!--<a-col>-->
6
+ <!--<a-space>-->
7
+ <!--<a-button type="primary" @click="addItem" v-if="!buttonState || buttonState.add">-->
8
+ <!--<a-icon :style="iconStyle" type="plus"/>新增-->
9
+ <!--</a-button>-->
10
+ <!--<a-button-->
11
+ <!--v-if="!buttonState || buttonState.edit"-->
12
+ <!--:loading="editDataLoading"-->
13
+ <!--:disabled="!isModify"-->
14
+ <!--class="btn-success"-->
15
+ <!--type="dashed"-->
16
+ <!--@click="editItem">-->
17
+ <!--<a-icon :style="iconStyle" type="edit"/>修改-->
18
+ <!--</a-button>-->
19
+ <!--<a-button :disabled="!isDelete" type="danger" @click="deleteItem" v-if="!buttonState || buttonState.delete">-->
20
+ <!--<a-icon :style="iconStyle" type="delete"/>删除-->
21
+ <!--</a-button>-->
22
+ <!--</a-space>-->
23
+ <!--<span :style="{ float: 'right', overflow: 'hidden', marginBottom: '8px' }">-->
24
+ <!--<a-button-group>-->
25
+ <!--<a-button @click="toggleIsFormShow">-->
26
+ <!--<a-icon :style="iconStyle" type="vertical-align-top"/>-->
27
+ <!--</a-button>-->
28
+ <!--<a-button @click="refresh(true)">-->
29
+ <!--<a-icon :style="iconStyle" type="reload" />-->
30
+ <!--</a-button>-->
31
+ <!--<a-button @click="showDrawer">-->
32
+ <!--<a-icon :style="iconStyle" type="table" />-->
33
+ <!--</a-button>-->
34
+ <!--<a-button @click="exports">-->
35
+ <!--<a-icon :style="iconStyle" type="cloud-download"/>-->
36
+ <!--</a-button>-->
37
+ <!--</a-button-group>-->
38
+ <!--</span>-->
39
+ <!--</a-col>-->
40
40
  <!--</a-row>-->
41
41
  <a-table
42
- rowKey="id"
43
- size="middle"
44
- bordered
45
- :pagination="false"
46
42
  :columns="columns"
47
- :data-source="funTree">
43
+ :data-source="funTree"
44
+ :pagination="false"
45
+ bordered
46
+ rowKey="id"
47
+ size="middle">
48
48
  </a-table>
49
49
  </a-card>
50
50
  </div>
@@ -1,14 +1,16 @@
1
- const manageApi = {
2
- // 查询:获取燃气公司列表
3
- orgList: '/webmeterapi/foreignaidGetOrgList',
4
- // 查询:获取客户列表
5
- customerList: '/webmeterapi/foreignaidGetCustomerList',
6
- // 查询:检查链接有效性
7
- checkUrlWork: '/webmeterapi/foreignaidCheckUrl',
8
- // 操作:客户数据
9
- doCustomerInfo: '/webmeterapi/foreignaidDoCustomerInfo',
10
- // 查询:获取字典键列表
11
- getDictionaryValue: '/webmeterapi/getDictionaryValue'
12
- }
13
-
14
- export { manageApi }
1
+ const manageApi = {
2
+ // 查询:获取燃气公司列表
3
+ orgList: '/webmeterapi/foreignaidGetOrgList',
4
+ // 查询:获取客户列表
5
+ customerList: '/webmeterapi/foreignaidGetCustomerList',
6
+ // 查询:检查链接有效性
7
+ checkUrlWork: '/webmeterapi/foreignaidCheckUrl',
8
+ // 操作:客户数据
9
+ doCustomerInfo: '/webmeterapi/foreignaidDoCustomerInfo',
10
+ // 查询:获取字典键列表
11
+ getDictionaryValue: '/webmeterapi/getDictionaryValue',
12
+ // 查询:获取省市区街道三级分类
13
+ getDivisionsOhChina: '/webmeterapi/getDivisionsOhChina'
14
+ }
15
+
16
+ export { manageApi }
@@ -1,24 +1,24 @@
1
- import { METHOD, request } from '@vue2-client/utils/request'
2
-
3
- /**
4
- * GET请求
5
- * @param url 请求地址
6
- * @param parameter 路径参数
7
- * @returns {Promise<AxiosResponse<T>>}
8
- */
9
- function get (url, parameter) {
10
- return request(url, METHOD.GET, parameter)
11
- }
12
-
13
- /**
14
- * POST请求
15
- * @param url 请求地址
16
- * @param parameter 请求参数
17
- * @param config
18
- * @returns {Promise<AxiosResponse<T>>}
19
- */
20
- function post (url, parameter, config = {}) {
21
- return request(url, METHOD.POST, parameter, config)
22
- }
23
-
24
- export { get, post }
1
+ import { METHOD, request } from '@vue2-client/utils/request'
2
+
3
+ /**
4
+ * GET请求
5
+ * @param url 请求地址
6
+ * @param parameter 路径参数
7
+ * @returns {Promise<AxiosResponse<T>>}
8
+ */
9
+ function get (url, parameter) {
10
+ return request(url, METHOD.GET, parameter)
11
+ }
12
+
13
+ /**
14
+ * POST请求
15
+ * @param url 请求地址
16
+ * @param parameter 请求参数
17
+ * @param config
18
+ * @returns {Promise<AxiosResponse<T>>}
19
+ */
20
+ function post (url, parameter, config = {}) {
21
+ return request(url, METHOD.POST, parameter, config)
22
+ }
23
+
24
+ export { get, post }
@@ -1,28 +1,28 @@
1
- import AMapLoader from '@amap/amap-jsapi-loader'
2
- let Amap
3
- async function GetGDMap () {
4
- if (!Amap) {
5
- Amap = await AMapLoader.load({
6
- key: '4889f1e58df01cb40415536c8907bf64', // 申请好的Web端开发者Key,首次调用 load 时必填
7
- version: '1.4.2', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
8
- plugins: ['AMap.ToolBar', 'AMap.Geolocation', 'AMap.Geocoder', 'AMap.MarkerClusterer', 'AMap.Autocomplete'] // 需要使用的的插件列表,如比例尺'AMap.Scale'等
9
- })
10
- }
11
- return Amap
12
- }
13
- async function GetLocation (address) {
14
- return new Promise(async (resolve, reject) => {
15
- new (await GetGDMap()).Geocoder({
16
- radius: 500 // 范围,默认:500
17
- }).getLocation(address, function (status, result) {
18
- console.log(result)
19
- if (status === 'complete' && result.geocodes.length) {
20
- resolve({ lng: result.geocodes[0].location.lng, lat: result.geocodes[0].location.lat })
21
- } else {
22
- // eslint-disable-next-line prefer-promise-reject-errors
23
- reject('根据经纬度查询地址失败')
24
- }
25
- })
26
- })
27
- }
28
- export { GetGDMap, GetLocation }
1
+ import AMapLoader from '@amap/amap-jsapi-loader'
2
+ let Amap
3
+ async function GetGDMap () {
4
+ if (!Amap) {
5
+ Amap = await AMapLoader.load({
6
+ key: '4889f1e58df01cb40415536c8907bf64', // 申请好的Web端开发者Key,首次调用 load 时必填
7
+ version: '1.4.2', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
8
+ plugins: ['AMap.ToolBar', 'AMap.Geolocation', 'AMap.Geocoder', 'AMap.MarkerClusterer', 'AMap.Autocomplete'] // 需要使用的的插件列表,如比例尺'AMap.Scale'等
9
+ })
10
+ }
11
+ return Amap
12
+ }
13
+ async function GetLocation (address) {
14
+ return new Promise(async (resolve, reject) => {
15
+ new (await GetGDMap()).Geocoder({
16
+ radius: 500 // 范围,默认:500
17
+ }).getLocation(address, function (status, result) {
18
+ console.log(result)
19
+ if (status === 'complete' && result.geocodes.length) {
20
+ resolve({ lng: result.geocodes[0].location.lng, lat: result.geocodes[0].location.lat })
21
+ } else {
22
+ // eslint-disable-next-line prefer-promise-reject-errors
23
+ reject('根据经纬度查询地址失败')
24
+ }
25
+ })
26
+ })
27
+ }
28
+ export { GetGDMap, GetLocation }