vue2-client 1.6.34 → 1.6.36

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 (108) hide show
  1. package/CHANGELOG.md +595 -591
  2. package/index.js +30 -30
  3. package/package.json +1 -1
  4. package/src/assets/img/location.png +0 -0
  5. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +176 -92
  6. package/src/base-client/components/common/CitySelect/CitySelect.vue +247 -247
  7. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +733 -733
  8. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +508 -508
  9. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +140 -140
  10. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +165 -165
  11. package/src/base-client/components/common/JSONToTree/jsontotree.vue +275 -275
  12. package/src/base-client/components/common/Upload/Upload.vue +168 -168
  13. package/src/base-client/components/common/XAddForm/XAddForm.vue +326 -326
  14. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  15. package/src/base-client/components/common/XForm/XForm.vue +180 -180
  16. package/src/base-client/components/common/XForm/XFormItem.vue +473 -591
  17. package/src/base-client/components/common/XForm/XTreeSelect.vue +184 -0
  18. package/src/base-client/components/common/XFormTable/XFormTable.vue +336 -336
  19. package/src/base-client/components/common/XFormTable/index.md +97 -97
  20. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +111 -111
  21. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  22. package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +807 -807
  23. package/src/base-client/components/ticket/TicketDetailsView/index.md +29 -29
  24. package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +260 -260
  25. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
  26. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.md +29 -29
  27. package/src/base-client/plugins/AppData.js +76 -76
  28. package/src/base-client/plugins/GetLoginInfoService.js +179 -179
  29. package/src/base-client/plugins/PagedList.js +177 -177
  30. package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
  31. package/src/base-client/plugins/i18n-extend.js +32 -32
  32. package/src/components/Ellipsis/Ellipsis.vue +65 -65
  33. package/src/components/Ellipsis/index.md +38 -38
  34. package/src/components/NumberInfo/index.md +43 -43
  35. package/src/components/STable/README.md +341 -341
  36. package/src/components/STable/index.js +318 -318
  37. package/src/components/Trend/index.md +45 -45
  38. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  39. package/src/components/checkbox/ImgCheckbox.vue +163 -163
  40. package/src/components/exception/ExceptionPage.vue +70 -70
  41. package/src/components/form/FormRow.vue +52 -52
  42. package/src/components/index.js +36 -36
  43. package/src/components/menu/SideMenu.vue +62 -62
  44. package/src/components/menu/menu.js +273 -273
  45. package/src/components/page/header/index.less +40 -40
  46. package/src/components/setting/Setting.vue +235 -235
  47. package/src/components/table/StandardTable.vue +141 -141
  48. package/src/components/table/advance/ActionColumns.vue +158 -158
  49. package/src/components/table/advance/SearchArea.vue +355 -355
  50. package/src/components/tool/AStepItem.vue +60 -60
  51. package/src/components/tool/AvatarList.vue +68 -68
  52. package/src/components/tool/Drawer.vue +142 -142
  53. package/src/components/tool/TagSelect.vue +83 -83
  54. package/src/components/transition/PageToggleTransition.vue +97 -97
  55. package/src/config/default/admin.config.js +18 -18
  56. package/src/config/default/setting.config.js +46 -46
  57. package/src/config/replacer/resolve.config.js +67 -67
  58. package/src/layouts/CommonLayout.vue +42 -42
  59. package/src/layouts/ComponentLayoutOne.vue +47 -47
  60. package/src/layouts/PageLayout.vue +151 -151
  61. package/src/layouts/SinglePageView.vue +116 -116
  62. package/src/layouts/footer/PageFooter.vue +49 -49
  63. package/src/layouts/header/AdminHeader.vue +134 -134
  64. package/src/layouts/header/HeaderAvatar.vue +64 -64
  65. package/src/layouts/header/HeaderNotice.vue +176 -176
  66. package/src/layouts/header/HeaderSearch.vue +67 -67
  67. package/src/layouts/header/InstitutionDetail.vue +181 -181
  68. package/src/layouts/header/index.less +92 -92
  69. package/src/layouts/tabs/TabsHead.vue +190 -190
  70. package/src/layouts/tabs/TabsView.vue +379 -379
  71. package/src/mock/goods/index.js +108 -108
  72. package/src/pages/exception/404.vue +24 -24
  73. package/src/pages/login/Login.vue +365 -365
  74. package/src/pages/report/ReportTable.js +124 -124
  75. package/src/pages/report/ReportTableHome.vue +28 -28
  76. package/src/pages/resourceManage/orgListManage.vue +98 -98
  77. package/src/pages/system/file/index.vue +317 -317
  78. package/src/pages/system/settings/index.vue +126 -126
  79. package/src/pages/system/settings/modifyPassword.vue +109 -109
  80. package/src/router/async/config.async.js +28 -28
  81. package/src/router/async/router.map.js +68 -68
  82. package/src/router/index.js +27 -27
  83. package/src/services/api/DictionaryDetailsViewApi.js +6 -6
  84. package/src/services/api/LogDetailsViewApi.js +10 -10
  85. package/src/services/api/QueryParamsDetailsViewApi.js +6 -6
  86. package/src/services/api/TicketDetailsViewApi.js +34 -34
  87. package/src/services/api/cas.js +79 -79
  88. package/src/services/api/commonTempTable.js +10 -10
  89. package/src/services/api/index.js +17 -17
  90. package/src/services/api/logininfor/index.js +6 -6
  91. package/src/services/api/manage.js +8 -8
  92. package/src/services/apiService.js +14 -14
  93. package/src/services/user.js +64 -64
  94. package/src/store/modules/index.js +4 -4
  95. package/src/theme/default/nprogress.less +76 -76
  96. package/src/theme/default/style.less +58 -58
  97. package/src/utils/colors.js +107 -107
  98. package/src/utils/excel/Blob.js +180 -180
  99. package/src/utils/excel/Export2Excel.js +141 -141
  100. package/src/utils/formatter.js +68 -68
  101. package/src/utils/i18n.js +80 -80
  102. package/src/utils/map-utils.js +1 -1
  103. package/src/utils/request.js +311 -311
  104. package/src/utils/routerUtil.js +366 -366
  105. package/src/utils/theme-color-replacer-extend.js +91 -91
  106. package/src/utils/themeUtil.js +100 -100
  107. package/src/utils/util.js +230 -230
  108. package/vue.config.js +106 -106
package/index.js CHANGED
@@ -1,30 +1,30 @@
1
- import Vue from 'vue'
2
- import { initRouter } from '@vue2-client/router'
3
- import { initI18n } from '@vue2-client/utils/i18n'
4
- import bootstrap from '@vue2-client/bootstrap'
5
- import { modules } from '@vue2-client/store'
6
- import '@vue2-client/theme/index.less'
7
- import '@vue2-client/utils/filter'
8
- import 'animate.css/source/animate.css'
9
- import 'moment/locale/zh-cn'
10
- import Antd from 'ant-design-vue'
11
- import Viser from 'viser-vue'
12
- // 插件
13
- import Plugins from '@vue2-client/base-client/plugins'
14
-
15
- const routerOptions = initRouter()
16
- const i18n = initI18n('CN', 'US')
17
-
18
- Vue.use(Antd)
19
- Vue.use(Viser)
20
- Vue.use(Plugins)
21
- Vue.config.productionTip = false
22
- const message = Vue.prototype.$message
23
-
24
- export {
25
- routerOptions,
26
- modules,
27
- i18n,
28
- message,
29
- bootstrap
30
- }
1
+ import Vue from 'vue'
2
+ import { initRouter } from '@vue2-client/router'
3
+ import { initI18n } from '@vue2-client/utils/i18n'
4
+ import bootstrap from '@vue2-client/bootstrap'
5
+ import { modules } from '@vue2-client/store'
6
+ import '@vue2-client/theme/index.less'
7
+ import '@vue2-client/utils/filter'
8
+ import 'animate.css/source/animate.css'
9
+ import 'moment/locale/zh-cn'
10
+ import Antd from 'ant-design-vue'
11
+ import Viser from 'viser-vue'
12
+ // 插件
13
+ import Plugins from '@vue2-client/base-client/plugins'
14
+
15
+ const routerOptions = initRouter()
16
+ const i18n = initI18n('CN', 'US')
17
+
18
+ Vue.use(Antd)
19
+ Vue.use(Viser)
20
+ Vue.use(Plugins)
21
+ Vue.config.productionTip = false
22
+ const message = Vue.prototype.$message
23
+
24
+ export {
25
+ routerOptions,
26
+ modules,
27
+ i18n,
28
+ message,
29
+ bootstrap
30
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue2-client",
3
- "version": "1.6.34",
3
+ "version": "1.6.36",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
Binary file
@@ -1,36 +1,53 @@
1
1
  <template>
2
- <div class="certain-category-search-wrapper">
3
- <a-auto-complete
4
- style="right: -12px"
5
- :disabled="!mapAutocomplete"
6
- :dropdown-match-select-width="false"
7
- :dropdown-style="{ width: '400px' }"
8
- class="certain-category-search"
9
- dropdown-class-name="certain-category-search-dropdown"
10
- option-label-prop="value"
11
- placeholder="输入地址关键字搜索"
12
- @search="fetchFunction"
13
- @select="onSelect"
14
- >
15
- <a-spin v-if="searching" slot="notFoundContent" size="small" />
16
- <template slot="dataSource">
17
- <a-select-opt-group v-for="group in option" :key="group.title">
2
+ <div id="addressSearchCombobox">
3
+ <div>
4
+ <a-input style="width: 88%" v-model="addressInput" @change="change"/>
5
+ <a-button style="width: 10%;padding: 0px" type="link" @click="visible=true"><img style="width: 100%" src="@vue2-client/assets/img/location.png"/></a-button>
6
+ </div>
7
+ <a-modal :visible="visible" title="地址选择" @ok="selected" @cancel="visible=false" :zIndex='m_index'>
8
+ <div id="addressSearchCombobox_map">
9
+ <div class="certain-category-search-wrapper">
10
+ <a-auto-complete
11
+ style="right: 0px;width: 90%;z-index:2;margin-top:2%;"
12
+ :disabled="!mapAutocomplete"
13
+ class="certain-category-search"
14
+ dropdown-class-name="certain-category-search-dropdown"
15
+ option-label-prop="value"
16
+ placeholder="输入地址关键字搜索"
17
+ @search="fetchFunction"
18
+ @select="onSelect"
19
+ >
20
+ <a-spin v-if="searching" slot="notFoundContent" size="small" />
21
+ <template slot="dataSource">
22
+ <a-select-opt-group v-for="group in option" :key="group.title">
18
23
  <span
19
24
  slot="label">
20
25
  <a-icon type="bank" /> {{ group.title }}
21
26
  </span>
22
- <a-select-option v-for="address in group.children" :key="address.label + ' <' + address.value + '>'">
23
- <p class="addressName"><a-icon type="environment" /> <span v-html="highLight(address.label, address.word)">{{ address.label }}</span></p>
24
- <p v-if="address.address !== '[]'" class="addressRemark">
25
- {{ address.address }}
26
- </p>
27
- </a-select-option>
28
- </a-select-opt-group>
29
- </template>
30
- <a-input>
31
- <a-icon slot="suffix" class="certain-category-icon" type="search"/>
32
- </a-input>
33
- </a-auto-complete>
27
+ <a-select-option v-for="address in group.children" :key="address.label + ' <' + address.value + '>'">
28
+ <p class="addressName"><a-icon type="environment" /> <span v-html="highLight(address.label, address.word)">{{ address.label }}</span></p>
29
+ <p v-if="address.address !== '[]'" class="addressRemark">
30
+ {{ address.address }}
31
+ </p>
32
+ </a-select-option>
33
+ </a-select-opt-group>
34
+ </template>
35
+ <a-input>
36
+ <a-icon slot="suffix" class="certain-category-icon" type="search"/>
37
+ </a-input>
38
+ </a-auto-complete>
39
+ </div>
40
+ </div>
41
+ <a-descriptions
42
+ bordered
43
+ class="asc_descriptions"
44
+ :column="{ xxl: 2, xl: 2, lg: 2, md: 2, sm: 1, xs: 1 }"
45
+ >
46
+ <a-descriptions-item label="坐标" span=2><span>{{addressObj.lng_lat}}</span></a-descriptions-item>
47
+ <a-descriptions-item label="地址" span=2><span>{{addressObj.address}}</span></a-descriptions-item>
48
+ </a-descriptions>
49
+ </a-modal>
50
+ <!-- -->
34
51
  </div>
35
52
  </template>
36
53
  <script>
@@ -53,13 +70,18 @@ export default {
53
70
  // 最后检索版本
54
71
  lastFetchId: 0,
55
72
  // 检索中
56
- searching: false
73
+ searching: false,
74
+ addressObj: {
75
+ lng_lat: '',
76
+ address: '',
77
+ },
78
+ visible: false,
79
+ map: null,
80
+ m_index: 1002,
81
+ positionPicker: null,
82
+ addressInput: this.searchResult
57
83
  }
58
84
  },
59
- model: {
60
- prop: 'searchResult',
61
- event: 'onSelect'
62
- },
63
85
  computed: {
64
86
  ...mapState('setting', ['isMobile', 'gaode_key', 'gaode_secret_key'])
65
87
  },
@@ -84,27 +106,53 @@ export default {
84
106
  created () {
85
107
  },
86
108
  mounted () {
87
- GetGDMap(this.gaode_secret_key, this.gaode_key).then(aMap => {
88
- this.mapAutocomplete = new (aMap).AutoComplete({
89
- // city 限定城市,默认全国
90
- city: '全国'
91
- })
92
- })
93
109
  },
94
110
  methods: {
111
+ change (value) {
112
+ this.$emit('update:searchResult', this.addressInput)
113
+ },
114
+ initMap (aMap) {
115
+ this.map = new (aMap).Map('addressSearchCombobox_map', { // 设置地图容器id
116
+ resizeEnable: true, // 是否监控地图容器尺寸变化
117
+ zoom: 10, // 初始化地图层级
118
+ })
119
+ this.geocoder = new (aMap).Geocoder({
120
+ radius: 500 // 范围,默认:500
121
+ })
122
+ this.map.addControl(new (aMap).ToolBar()) // 初始化工具插件
123
+ // 初始化窗体
124
+ /*this.infoWindow = new (aMap).InfoWindow({
125
+ anchor: 'bottom-center',
126
+ isCustom: false, // 使用自定义窗体
127
+ autoMove: true,
128
+ content: '',
129
+ showShadow: true,
130
+ offset: new (aMap).Pixel(0, -25)
131
+ })*/
132
+ },
95
133
  onSelect (value) {
134
+ let result
135
+ console.log(' value--- ', this.searchResult)
136
+ const _arr = value.replace('>', '').split('<')
137
+ this.addressObj.address=_arr[0]
138
+ this.addressObj.lng_lat=_arr[1]
139
+ this.map.setCenter(this.addressObj.lng_lat.split(','))
140
+ },
141
+ selected () {
96
142
  let result
97
143
  if (this.searchResultType !== 'Default') {
98
- const _arr = value.replace('>', '').split('<')
99
144
  if (this.searchResultType === 'Array') {
100
- result = _arr
145
+ result = [this.addressObj.address, this.addressObj.lng_lat]
101
146
  } else {
102
147
  result = {}
103
- result[this.resultKeys.address] = _arr[0]
104
- result[this.resultKeys.coords] = _arr[1]
148
+ result[this.resultKeys.address] = this.addressObj.address
149
+ result[this.resultKeys.coords] = this.addressObj.lng_lat
105
150
  }
106
151
  }
107
- this.$emit('onSelect', JSON.stringify(result) || value)
152
+ this.addressInput=this.addressObj.address
153
+ console.log(' result--- ', result)
154
+ this.visible=false
155
+ this.$emit('onSelect', JSON.stringify(result))
108
156
  // this.$emit('onClick', result || value)
109
157
  },
110
158
  // 懒加载检索方法
@@ -170,64 +218,100 @@ export default {
170
218
  return value
171
219
  }
172
220
  }
221
+ },
222
+ watch: {
223
+ 'visible' (val){
224
+ console.log('val', val)
225
+ if(val){
226
+ GetGDMap(this.gaode_secret_key, this.gaode_key).then(aMap => {
227
+ this.initMap(aMap)
228
+ this.mapAutocomplete = new (aMap).AutoComplete({
229
+ // city 限定城市,默认全国
230
+ city: '全国',
231
+ dragEnable: true,
232
+ animateEnable: false
233
+ })
234
+ console.log(aMap)
235
+ console.log(window)
236
+ this.positionPicker = new window.AMapUI.PositionPicker({
237
+ mode: 'dragMap',
238
+ map: this.map
239
+ })
240
+ this.positionPicker.on('success', (positionResult) => {
241
+ console.log(positionResult)
242
+ console.log(positionResult.position)
243
+ this.addressObj.address=positionResult.address
244
+ this.addressObj.lng_lat=`${positionResult.position.lng},${positionResult.position.lat}`
245
+ })
246
+ this.positionPicker.on('fail', function(positionResult) {
247
+ })
248
+ this.positionPicker.start()
249
+ })
250
+ }
251
+ }
173
252
  }
174
253
  }
175
254
  </script>
176
-
177
255
  <style>
178
- .certain-category-search-dropdown .ant-select-dropdown-menu-item-group-title {
179
- color: #666;
180
- font-weight: bold;
181
- font-size: 14px;
256
+ .asc_descriptions .ant-descriptions-item-content{
257
+ width: 80%;
182
258
  }
183
-
184
- .certain-category-search-dropdown .ant-select-dropdown-menu-item-group {
185
- border-bottom: 1px solid #f6f6f6;
259
+ </style>
260
+ <style lang="less">
261
+ #addressSearchCombobox_map{
262
+ margin:1% 0;
263
+ width:100%;
264
+ height:400px;
265
+ text-align:center
186
266
  }
267
+ #addressSearchCombobox{
187
268
 
188
- .certain-category-search-dropdown .ant-select-dropdown-menu-item {
189
- padding-left: 16px;
190
- }
269
+ .certain-category-search-dropdown .ant-select-dropdown-menu-item-group-title {
270
+ color: #666;
271
+ font-weight: bold;
272
+ font-size: 14px;
273
+ }
191
274
 
192
- .certain-category-search-dropdown .ant-select-dropdown-menu-item.show-all {
193
- text-align: center;
194
- cursor: default;
195
- }
275
+ .certain-category-search-dropdown .ant-select-dropdown-menu-item-group {
276
+ border-bottom: 1px solid #f6f6f6;
277
+ }
196
278
 
197
- .certain-category-search-dropdown .ant-select-dropdown-menu {
198
- max-height: 300px;
199
- }
200
- </style>
201
- <style scoped>
202
- .certain-category-search-wrapper,
203
- >>> .certain-category-search.ant-select-auto-complete,
204
- .ant-input-affix-wrapper,
205
- .ant-input-suffix {
206
- right: 12px;
207
- }
208
- .certain-category-search-wrapper >>> .certain-search-item-count {
209
- position: absolute;
210
- color: #999;
211
- right: 16px;
212
- }
213
- .certain-category-search-wrapper >>> .certain-category-search.ant-select-focused,
214
- .certain-category-icon {
215
- color: #108ee9;
216
- }
217
- .certain-category-search-wrapper >>> .certain-category-icon {
218
- color: #6e6e6e;
219
- transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
220
- font-size: 16px;
221
- }
279
+ .certain-category-search-dropdown .ant-select-dropdown-menu-item {
280
+ padding-left: 16px;
281
+ }
222
282
 
223
- .addressName {
224
- margin-bottom: 0;
225
- font-size: 14px;
226
- font-weight: bold;
227
- }
283
+ .certain-category-search-dropdown .ant-select-dropdown-menu-item.show-all {
284
+ text-align: center;
285
+ cursor: default;
286
+ }
228
287
 
229
- .addressRemark {
230
- margin-bottom: 0;
231
- font-size: 12px;
288
+ .certain-category-search-dropdown .ant-select-dropdown-menu {
289
+ max-height: 300px;
290
+ }
291
+ .certain-category-search-wrapper .certain-search-item-count {
292
+ position: absolute;
293
+ color: #999;
294
+ right: 16px;
295
+ }
296
+ .certain-category-search-wrapper .certain-category-search.ant-select-focused,
297
+ .certain-category-icon {
298
+ color: #108ee9;
299
+ }
300
+ .certain-category-search-wrapper .certain-category-icon {
301
+ color: #6e6e6e;
302
+ transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
303
+ font-size: 16px;
304
+ }
305
+
306
+ .addressName {
307
+ margin-bottom: 0;
308
+ font-size: 14px;
309
+ font-weight: bold;
310
+ }
311
+
312
+ .addressRemark {
313
+ margin-bottom: 0;
314
+ font-size: 12px;
315
+ }
232
316
  }
233
317
  </style>