vue2-client 1.6.19 → 1.6.21

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 (103) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/index.js +30 -30
  3. package/package.json +1 -1
  4. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +226 -226
  5. package/src/base-client/components/common/CitySelect/CitySelect.vue +247 -247
  6. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +733 -733
  7. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +508 -508
  8. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +140 -140
  9. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +165 -165
  10. package/src/base-client/components/common/JSONToTree/jsontotree.vue +275 -275
  11. package/src/base-client/components/common/XAddForm/XAddForm.vue +326 -326
  12. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  13. package/src/base-client/components/common/XForm/XForm.vue +180 -180
  14. package/src/base-client/components/common/XFormTable/XFormTable.vue +336 -336
  15. package/src/base-client/components/common/XFormTable/index.md +97 -97
  16. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +109 -109
  17. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  18. package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +807 -807
  19. package/src/base-client/components/ticket/TicketDetailsView/index.md +29 -29
  20. package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +260 -260
  21. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
  22. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.md +29 -29
  23. package/src/base-client/plugins/AppData.js +76 -76
  24. package/src/base-client/plugins/GetLoginInfoService.js +179 -179
  25. package/src/base-client/plugins/PagedList.js +177 -177
  26. package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
  27. package/src/base-client/plugins/i18n-extend.js +32 -32
  28. package/src/components/Ellipsis/Ellipsis.vue +65 -65
  29. package/src/components/Ellipsis/index.md +38 -38
  30. package/src/components/FilePreview/FilePreview.vue +166 -166
  31. package/src/components/NumberInfo/index.md +43 -43
  32. package/src/components/STable/README.md +341 -341
  33. package/src/components/STable/index.js +318 -318
  34. package/src/components/Trend/index.md +45 -45
  35. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  36. package/src/components/checkbox/ImgCheckbox.vue +163 -163
  37. package/src/components/exception/ExceptionPage.vue +70 -70
  38. package/src/components/form/FormRow.vue +52 -52
  39. package/src/components/index.js +36 -36
  40. package/src/components/menu/SideMenu.vue +62 -62
  41. package/src/components/menu/menu.js +273 -273
  42. package/src/components/page/header/index.less +40 -40
  43. package/src/components/setting/Setting.vue +235 -235
  44. package/src/components/table/StandardTable.vue +141 -141
  45. package/src/components/table/advance/ActionColumns.vue +158 -158
  46. package/src/components/table/advance/SearchArea.vue +355 -355
  47. package/src/components/tool/AStepItem.vue +60 -60
  48. package/src/components/tool/AvatarList.vue +68 -68
  49. package/src/components/tool/Drawer.vue +142 -142
  50. package/src/components/tool/TagSelect.vue +83 -83
  51. package/src/components/transition/PageToggleTransition.vue +97 -97
  52. package/src/config/default/admin.config.js +18 -18
  53. package/src/config/default/setting.config.js +46 -44
  54. package/src/config/replacer/resolve.config.js +67 -67
  55. package/src/layouts/CommonLayout.vue +42 -42
  56. package/src/layouts/ComponentLayoutOne.vue +47 -47
  57. package/src/layouts/PageLayout.vue +151 -151
  58. package/src/layouts/SinglePageView.vue +111 -111
  59. package/src/layouts/footer/PageFooter.vue +49 -49
  60. package/src/layouts/header/AdminHeader.vue +134 -104
  61. package/src/layouts/header/HeaderAvatar.vue +64 -64
  62. package/src/layouts/header/HeaderNotice.vue +176 -176
  63. package/src/layouts/header/HeaderSearch.vue +67 -67
  64. package/src/layouts/header/InstitutionDetail.vue +181 -181
  65. package/src/layouts/header/index.less +92 -92
  66. package/src/layouts/tabs/TabsHead.vue +190 -190
  67. package/src/layouts/tabs/TabsView.vue +379 -379
  68. package/src/mock/goods/index.js +108 -108
  69. package/src/pages/exception/404.vue +25 -25
  70. package/src/pages/login/Login.vue +363 -363
  71. package/src/pages/report/ReportTable.js +124 -124
  72. package/src/pages/report/ReportTableHome.vue +28 -28
  73. package/src/pages/resourceManage/orgListManage.vue +98 -98
  74. package/src/pages/system/file/index.vue +317 -317
  75. package/src/pages/system/settings/index.vue +126 -126
  76. package/src/pages/system/settings/modifyPassword.vue +109 -109
  77. package/src/router/async/config.async.js +28 -28
  78. package/src/router/async/router.map.js +68 -68
  79. package/src/router/index.js +27 -27
  80. package/src/services/api/DictionaryDetailsViewApi.js +6 -6
  81. package/src/services/api/LogDetailsViewApi.js +10 -10
  82. package/src/services/api/QueryParamsDetailsViewApi.js +6 -6
  83. package/src/services/api/TicketDetailsViewApi.js +34 -34
  84. package/src/services/api/cas.js +79 -79
  85. package/src/services/api/commonTempTable.js +10 -10
  86. package/src/services/api/index.js +17 -17
  87. package/src/services/api/logininfor/index.js +6 -6
  88. package/src/services/api/manage.js +8 -8
  89. package/src/services/apiService.js +14 -14
  90. package/src/services/user.js +64 -64
  91. package/src/store/modules/index.js +4 -4
  92. package/src/theme/default/nprogress.less +76 -76
  93. package/src/theme/default/style.less +47 -47
  94. package/src/utils/colors.js +107 -107
  95. package/src/utils/excel/Blob.js +180 -180
  96. package/src/utils/excel/Export2Excel.js +141 -141
  97. package/src/utils/formatter.js +68 -68
  98. package/src/utils/i18n.js +80 -80
  99. package/src/utils/request.js +311 -311
  100. package/src/utils/theme-color-replacer-extend.js +91 -91
  101. package/src/utils/themeUtil.js +100 -100
  102. package/src/utils/util.js +230 -230
  103. package/vue.config.js +106 -106
@@ -1,166 +1,166 @@
1
- <template>
2
- <div v-if="!pathError">
3
- <!-- 文件 -->
4
- <div v-if="showImagePreview == 1" class="preview-doc-container">
5
- <a-spin size="large" :spinning="previewDocLoading" />
6
- <iframe
7
- v-show="!previewDocLoading"
8
- :src="previewDocUrl"
9
- width="100%"
10
- height="100%"
11
- frameborder="0"
12
- @load="previewDocLoading = false" />
13
- </div>
14
- <!-- 图片 -->
15
- <div v-if="showImagePreview == 2" style="text-align: center">
16
- <img :src="previewImageSrc" alt="image" class="preview-image">
17
- </div>
18
- <!-- 视频 -->
19
- <div v-if="showImagePreview == 3" style="text-align: center">
20
- <video-player
21
- class="video-player vjs-custom-skin"
22
- ref="videoPlayer"
23
- :playsinline="true"
24
- :options="playerOptions">
25
- </video-player>
26
- </div>
27
- </div>
28
- <a-empty v-else description="文件路径为空" />
29
- </template>
30
-
31
- <script>
32
- import { Base64 } from 'js-base64'
33
- import 'video.js/dist/video-js.css'
34
- import 'videojs-contrib-hls'
35
- import { videoPlayer } from 'vue-video-player'
36
-
37
- export default {
38
- name: 'FilePreview',
39
- components: {
40
- videoPlayer
41
- },
42
- props: {
43
- path: {
44
- type: String,
45
- required: true
46
- },
47
- // 文件服务器
48
- fileServer: {
49
- type: String,
50
- default: 'http://123.60.214.109:8406'
51
- },
52
- // 文档预览服务 API
53
- previewDocService: {
54
- type: String,
55
- default: 'http://123.60.214.109:8012/onlinePreview?url='
56
- }
57
- },
58
- data () {
59
- return {
60
- // 文档预览
61
- previewDocLoading: true,
62
- previewDocUrl: '',
63
- // 图片预览
64
- showImagePreview: 1,
65
- previewImageSrc: '',
66
- // 视频
67
- previewVideoSrc: '',
68
- // 路径是否为空
69
- pathError: false,
70
- playerOptions: {
71
- playbackRates: [0.5, 1.0, 1.5, 2.0],
72
- autoplay: false,
73
- muted: false,
74
- loop: false,
75
- preload: 'auto',
76
- language: 'zh-CN',
77
- aspectRatio: '16:9',
78
- fluid: true,
79
- sources: [{
80
- type: '',
81
- src: ''
82
- }],
83
- poster: '',
84
- notSupportedMessage: '此视频暂无法播放,请稍后再试',
85
- controlBar: {
86
- timeDivider: true,
87
- durationDisplay: true,
88
- remainingTimeDisplay: false,
89
- fullscreenToggle: true
90
- }
91
- }
92
- }
93
- },
94
- watch: {
95
- // 路径改变时刷新预览
96
- path: function () {
97
- this.preview()
98
- }
99
- },
100
- mounted () {
101
- this.preview()
102
- },
103
- methods: {
104
- preview () {
105
- if (!this.path) {
106
- this.pathError = true
107
- return
108
- }
109
- this.pathError = false
110
- if (this.isImage()) {
111
- this.previewImageSrc = this.path
112
- this.showImagePreview = 2
113
- } else if (this.isVideo()) {
114
- this.playerOptions['sources'][0]['type'] = 'video/' + this.path.substring(this.path.lastIndexOf('.') + 1)
115
- this.playerOptions['sources'][0]['src'] = this.path
116
- this.showImagePreview = 3
117
- } else {
118
- const previewDocUrl = this.previewDocService + encodeURIComponent(Base64.encode(this.fileServer + this.path))
119
- if (this.previewDocUrl !== previewDocUrl) {
120
- this.previewDocLoading = true
121
- this.previewDocUrl = previewDocUrl
122
- }
123
- this.showImagePreview = 1
124
- }
125
- },
126
- // 判断是否为图片
127
- isImage () {
128
- const index = this.path.lastIndexOf('.')
129
- if (index === -1) {
130
- return false
131
- }
132
- const suffix = this.path.substr(index + 1)
133
- if (!suffix || !IMAGE_SUFFIX_ARRAY.includes(suffix)) {
134
- return false
135
- }
136
- return true
137
- },
138
- // 判断是否为视频
139
- isVideo () {
140
- const index = this.path.lastIndexOf('.')
141
- if (index === -1) {
142
- return false
143
- }
144
- const suffix = this.path.substr(index + 1)
145
- if (!suffix || !VIDEO_SUFFIX_ARRAY.includes(suffix)) {
146
- return false
147
- }
148
- return true
149
- }
150
- }
151
- }
152
- // 图片后缀
153
- const IMAGE_SUFFIX_ARRAY = ['xbm', 'tif', 'pjp', 'svgz', 'jpg', 'jpeg', 'ico', 'tiff', 'gif', 'svg', 'jfif', 'webp', 'png', 'bmp', 'pjpeg', 'avif']
154
- const VIDEO_SUFFIX_ARRAY = ['avi', 'wmv', 'mpeg', 'mp4', 'm4v', 'mov', 'asf', 'flv', 'f4v', 'rmvb', 'rm', '3gp', 'vob']
155
- </script>
156
-
157
- <style>
158
- .preview-doc-container {
159
- height: calc(100vh - 60px);
160
- padding-top: 20px;
161
- }
162
- .preview-image {
163
- max-width: 100%;
164
- max-height: 100vh;
165
- }
166
- </style>
1
+ <template>
2
+ <div v-if="!pathError">
3
+ <!-- 文件 -->
4
+ <div v-if="showImagePreview == 1" class="preview-doc-container">
5
+ <a-spin size="large" :spinning="previewDocLoading" />
6
+ <iframe
7
+ v-show="!previewDocLoading"
8
+ :src="previewDocUrl"
9
+ width="100%"
10
+ height="100%"
11
+ frameborder="0"
12
+ @load="previewDocLoading = false" />
13
+ </div>
14
+ <!-- 图片 -->
15
+ <div v-if="showImagePreview == 2" style="text-align: center">
16
+ <img :src="previewImageSrc" alt="image" class="preview-image">
17
+ </div>
18
+ <!-- 视频 -->
19
+ <div v-if="showImagePreview == 3" style="text-align: center">
20
+ <video-player
21
+ class="video-player vjs-custom-skin"
22
+ ref="videoPlayer"
23
+ :playsinline="true"
24
+ :options="playerOptions">
25
+ </video-player>
26
+ </div>
27
+ </div>
28
+ <a-empty v-else description="文件路径为空" />
29
+ </template>
30
+
31
+ <script>
32
+ import { Base64 } from 'js-base64'
33
+ import 'video.js/dist/video-js.css'
34
+ import 'videojs-contrib-hls'
35
+ import { videoPlayer } from 'vue-video-player'
36
+
37
+ export default {
38
+ name: 'FilePreview',
39
+ components: {
40
+ videoPlayer
41
+ },
42
+ props: {
43
+ path: {
44
+ type: String,
45
+ required: true
46
+ },
47
+ // 文件服务器
48
+ fileServer: {
49
+ type: String,
50
+ default: 'http://123.60.214.109:8406'
51
+ },
52
+ // 文档预览服务 API
53
+ previewDocService: {
54
+ type: String,
55
+ default: 'http://123.60.214.109:8012/onlinePreview?url='
56
+ }
57
+ },
58
+ data () {
59
+ return {
60
+ // 文档预览
61
+ previewDocLoading: true,
62
+ previewDocUrl: '',
63
+ // 图片预览
64
+ showImagePreview: 1,
65
+ previewImageSrc: '',
66
+ // 视频
67
+ previewVideoSrc: '',
68
+ // 路径是否为空
69
+ pathError: false,
70
+ playerOptions: {
71
+ playbackRates: [0.5, 1.0, 1.5, 2.0],
72
+ autoplay: false,
73
+ muted: false,
74
+ loop: false,
75
+ preload: 'auto',
76
+ language: 'zh-CN',
77
+ aspectRatio: '16:9',
78
+ fluid: true,
79
+ sources: [{
80
+ type: '',
81
+ src: ''
82
+ }],
83
+ poster: '',
84
+ notSupportedMessage: '此视频暂无法播放,请稍后再试',
85
+ controlBar: {
86
+ timeDivider: true,
87
+ durationDisplay: true,
88
+ remainingTimeDisplay: false,
89
+ fullscreenToggle: true
90
+ }
91
+ }
92
+ }
93
+ },
94
+ watch: {
95
+ // 路径改变时刷新预览
96
+ path: function () {
97
+ this.preview()
98
+ }
99
+ },
100
+ mounted () {
101
+ this.preview()
102
+ },
103
+ methods: {
104
+ preview () {
105
+ if (!this.path) {
106
+ this.pathError = true
107
+ return
108
+ }
109
+ this.pathError = false
110
+ if (this.isImage()) {
111
+ this.previewImageSrc = this.path
112
+ this.showImagePreview = 2
113
+ } else if (this.isVideo()) {
114
+ this.playerOptions['sources'][0]['type'] = 'video/' + this.path.substring(this.path.lastIndexOf('.') + 1)
115
+ this.playerOptions['sources'][0]['src'] = this.path
116
+ this.showImagePreview = 3
117
+ } else {
118
+ const previewDocUrl = this.previewDocService + encodeURIComponent(Base64.encode(this.fileServer + this.path))
119
+ if (this.previewDocUrl !== previewDocUrl) {
120
+ this.previewDocLoading = true
121
+ this.previewDocUrl = previewDocUrl
122
+ }
123
+ this.showImagePreview = 1
124
+ }
125
+ },
126
+ // 判断是否为图片
127
+ isImage () {
128
+ const index = this.path.lastIndexOf('.')
129
+ if (index === -1) {
130
+ return false
131
+ }
132
+ const suffix = this.path.substr(index + 1)
133
+ if (!suffix || !IMAGE_SUFFIX_ARRAY.includes(suffix)) {
134
+ return false
135
+ }
136
+ return true
137
+ },
138
+ // 判断是否为视频
139
+ isVideo () {
140
+ const index = this.path.lastIndexOf('.')
141
+ if (index === -1) {
142
+ return false
143
+ }
144
+ const suffix = this.path.substr(index + 1)
145
+ if (!suffix || !VIDEO_SUFFIX_ARRAY.includes(suffix)) {
146
+ return false
147
+ }
148
+ return true
149
+ }
150
+ }
151
+ }
152
+ // 图片后缀
153
+ const IMAGE_SUFFIX_ARRAY = ['xbm', 'tif', 'pjp', 'svgz', 'jpg', 'jpeg', 'ico', 'tiff', 'gif', 'svg', 'jfif', 'webp', 'png', 'bmp', 'pjpeg', 'avif']
154
+ const VIDEO_SUFFIX_ARRAY = ['avi', 'wmv', 'mpeg', 'mp4', 'm4v', 'mov', 'asf', 'flv', 'f4v', 'rmvb', 'rm', '3gp', 'vob']
155
+ </script>
156
+
157
+ <style>
158
+ .preview-doc-container {
159
+ height: calc(100vh - 60px);
160
+ padding-top: 20px;
161
+ }
162
+ .preview-image {
163
+ max-width: 100%;
164
+ max-height: 100vh;
165
+ }
166
+ </style>
@@ -1,43 +1,43 @@
1
- # NumberInfo 数据文本
2
-
3
- 常用在数据卡片中,用于突出展示某个业务数据。
4
-
5
-
6
-
7
- 引用方式:
8
-
9
- ```javascript
10
- import NumberInfo from '@vue2-client/components/NumberInfo'
11
-
12
- export default {
13
- components: {
14
- NumberInfo
15
- }
16
- }
17
- ```
18
-
19
-
20
-
21
- ## 代码演示 [demo](https://pro.loacg.com/test/home)
22
-
23
- ```html
24
- <number-info
25
- :sub-title="() => { return 'Visits this week' }"
26
- :total="12321"
27
- status="up"
28
- :sub-total="17.1"></number-info>
29
- ```
30
-
31
-
32
-
33
- ## API
34
-
35
- | 参数 | 说明 | 类型 | 默认值 |
36
- |----------|------------------|------------|---------|
37
- | title | 标题 | ReactNode\ | string | -
38
- | subTitle | 子标题 | ReactNode\ | string | -
39
- | total | 总量 | ReactNode\ | string | -
40
- | subTotal | 子总量 | ReactNode\ | string | -
41
- | status | 增加状态 | 'up \ | down' | -
42
- | theme | 状态样式 | string | 'light' |
43
- | gap | 设置数字和描述之间的间距(像素) | number | 8 |
1
+ # NumberInfo 数据文本
2
+
3
+ 常用在数据卡片中,用于突出展示某个业务数据。
4
+
5
+
6
+
7
+ 引用方式:
8
+
9
+ ```javascript
10
+ import NumberInfo from '@vue2-client/components/NumberInfo'
11
+
12
+ export default {
13
+ components: {
14
+ NumberInfo
15
+ }
16
+ }
17
+ ```
18
+
19
+
20
+
21
+ ## 代码演示 [demo](https://pro.loacg.com/test/home)
22
+
23
+ ```html
24
+ <number-info
25
+ :sub-title="() => { return 'Visits this week' }"
26
+ :total="12321"
27
+ status="up"
28
+ :sub-total="17.1"></number-info>
29
+ ```
30
+
31
+
32
+
33
+ ## API
34
+
35
+ | 参数 | 说明 | 类型 | 默认值 |
36
+ |----------|------------------|------------|---------|
37
+ | title | 标题 | ReactNode\ | string | -
38
+ | subTitle | 子标题 | ReactNode\ | string | -
39
+ | total | 总量 | ReactNode\ | string | -
40
+ | subTotal | 子总量 | ReactNode\ | string | -
41
+ | status | 增加状态 | 'up \ | down' | -
42
+ | theme | 状态样式 | string | 'light' |
43
+ | gap | 设置数字和描述之间的间距(像素) | number | 8 |