vue2-client 1.3.21 → 1.3.23

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 (96) hide show
  1. package/CHANGELOG.md +328 -323
  2. package/index.js +30 -30
  3. package/package.json +76 -76
  4. package/public/img/login/background.webp +0 -0
  5. package/src/assets/login/illustration.webp +0 -0
  6. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +225 -225
  7. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +551 -551
  8. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +777 -777
  9. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +553 -553
  10. package/src/base-client/components/common/CustomColumnsDrawer/index.md +46 -46
  11. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +165 -165
  12. package/src/base-client/components/common/JSONToTree/jsontotree.vue +275 -275
  13. package/src/base-client/components/common/Upload/Upload.vue +167 -162
  14. package/src/base-client/components/common/XAddForm/XAddForm.vue +354 -354
  15. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +327 -327
  16. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  17. package/src/base-client/components/common/XForm/XForm.vue +274 -274
  18. package/src/base-client/components/common/XForm/XFormItem.vue +389 -389
  19. package/src/base-client/components/common/XFormTable/index.md +96 -96
  20. package/src/base-client/components/common/XTable/XTable.vue +278 -278
  21. package/src/base-client/components/system/LogDetailsView/LogDetailsView.vue +376 -376
  22. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  23. package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +807 -807
  24. package/src/base-client/components/ticket/TicketDetailsView/index.md +29 -29
  25. package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +260 -260
  26. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
  27. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.md +29 -29
  28. package/src/base-client/plugins/AppData.js +69 -69
  29. package/src/base-client/plugins/GetLoginInfoService.js +179 -179
  30. package/src/base-client/plugins/PagedList.js +177 -177
  31. package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
  32. package/src/base-client/plugins/i18n-extend.js +32 -32
  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/setting/Setting.vue +235 -235
  46. package/src/components/table/StandardTable.vue +141 -141
  47. package/src/components/table/advance/ActionColumns.vue +158 -158
  48. package/src/components/table/advance/SearchArea.vue +355 -355
  49. package/src/components/tool/AStepItem.vue +60 -60
  50. package/src/components/tool/AvatarList.vue +68 -68
  51. package/src/components/tool/Drawer.vue +142 -142
  52. package/src/components/tool/TagSelect.vue +83 -83
  53. package/src/components/transition/PageToggleTransition.vue +97 -97
  54. package/src/config/default/setting.config.js +41 -41
  55. package/src/config/replacer/resolve.config.js +67 -67
  56. package/src/layouts/AdminLayout.vue +174 -174
  57. package/src/layouts/header/AdminHeader.vue +104 -104
  58. package/src/layouts/header/HeaderNotice.vue +167 -167
  59. package/src/layouts/header/HeaderSearch.vue +67 -67
  60. package/src/layouts/header/InstitutionDetail.vue +181 -181
  61. package/src/layouts/tabs/TabsHead.vue +190 -190
  62. package/src/layouts/tabs/TabsView.vue +379 -379
  63. package/src/mock/goods/index.js +108 -108
  64. package/src/pages/CreateQueryPage.vue +65 -65
  65. package/src/pages/login/Login.vue +359 -277
  66. package/src/pages/report/ReportTable.js +124 -124
  67. package/src/pages/report/ReportTableHome.vue +28 -28
  68. package/src/pages/resourceManage/orgListManage.vue +98 -98
  69. package/src/pages/system/dictionary/index.vue +43 -43
  70. package/src/pages/system/file/index.vue +317 -317
  71. package/src/pages/system/queryParams/index.vue +43 -43
  72. package/src/router/async/config.async.js +27 -27
  73. package/src/router/async/router.map.js +56 -56
  74. package/src/router/index.js +27 -27
  75. package/src/services/api/DictionaryDetailsViewApi.js +6 -6
  76. package/src/services/api/LogDetailsViewApi.js +10 -10
  77. package/src/services/api/QueryParamsDetailsViewApi.js +6 -6
  78. package/src/services/api/TicketDetailsViewApi.js +34 -34
  79. package/src/services/api/common.js +58 -58
  80. package/src/services/api/commonTempTable.js +10 -10
  81. package/src/services/api/index.js +17 -17
  82. package/src/services/api/manage.js +8 -8
  83. package/src/store/mutation-types.js +2 -2
  84. package/src/theme/default/nprogress.less +76 -76
  85. package/src/theme/default/style.less +47 -47
  86. package/src/utils/colors.js +103 -103
  87. package/src/utils/excel/Blob.js +180 -180
  88. package/src/utils/excel/Export2Excel.js +141 -141
  89. package/src/utils/formatter.js +68 -68
  90. package/src/utils/i18n.js +80 -80
  91. package/src/utils/request.js +225 -225
  92. package/src/utils/routerUtil.js +364 -364
  93. package/src/utils/theme-color-replacer-extend.js +91 -91
  94. package/src/utils/themeUtil.js +100 -100
  95. package/src/utils/util.js +230 -230
  96. package/vue.config.js +99 -99
@@ -1,167 +1,167 @@
1
- <template>
2
- <a-dropdown v-model="show" :trigger="['click']">
3
- <div slot="overlay">
4
- <a-spin :spinning="loading">
5
- <a-tabs
6
- v-model="activeKey"
7
- :style="{width: '297px'}"
8
- :tabBarStyle="{textAlign: 'center'}"
9
- class="dropdown-tabs">
10
- <a-tab-pane key="1" tab="通知">
11
- <a-list class="tab-pane">
12
- </a-list>
13
- </a-tab-pane>
14
- <a-tab-pane key="2" tab="消息">
15
- <a-list class="tab-pane"></a-list>
16
- </a-tab-pane>
17
- <a-tab-pane key="3" tab="待办">
18
- <a-list :data-source="backlog" class="tab-pane" item-layout="horizontal">
19
- <a-list-item slot="renderItem" slot-scope="item">
20
- <a v-if="item.type==='制度待确认'" slot="actions" @click="confirm_institution(item)">查看</a>
21
- <a-list-item-meta :description="item.description" :title="item.title"/>
22
- </a-list-item>
23
- </a-list>
24
- </a-tab-pane>
25
- <a-drawer
26
- :closable="false"
27
- :visible="institutionDetailVisible"
28
- :width="screenWidth * 0.5"
29
- placement="right"
30
- @close="onClose"
31
- >
32
- <institution-detail
33
- :affirmInstitution="affirmInstitution"
34
- :institutionId="institution"
35
- @get_to_be_confirmed="getToBeConfirmed"/>
36
- </a-drawer>
37
- </a-tabs>
38
- </a-spin>
39
- </div>
40
- <span class="header-notice" @click="fetchNotice">
41
- <a-badge :count="backlog.length" class="notice-badge">
42
- <a-icon :class="['header-notice-icon']" type="bell"/>
43
- </a-badge>
44
- </span>
45
- </a-dropdown>
46
- </template>
47
-
48
- <script>
49
- import { post } from '@vue2-client/services/api'
50
- import InstitutionDetail from './InstitutionDetail'
51
-
52
- export default {
53
- name: 'HeaderNotice',
54
- data () {
55
- return {
56
- loading: false,
57
- screenWidth: document.documentElement.clientWidth,
58
- show: false,
59
- institutionDetailVisible: false,
60
- institution: undefined,
61
- affirmInstitution: undefined,
62
- backlog: [],
63
- activeKey: '1'
64
- }
65
- },
66
- components: { InstitutionDetail },
67
- computed: {},
68
- created () {
69
- this.getToBeConfirmed()
70
- },
71
- methods: {
72
- onClose () {
73
- this.institutionDetailVisible = false
74
- this.getToBeConfirmed()
75
- },
76
- getToBeConfirmed () {
77
- this.institutionDetailVisible = false
78
- try {
79
- if (this.$login.f.name) {
80
- post('/api/af-system/logic/getTodo', { name: this.$login.f.name }).then(res => {
81
- this.backlog = [...res]
82
- if (this.backlog.length > 0) {
83
- const key = `open${Date.now()}`
84
- this.$notification.open({
85
- key,
86
- message: `您有${this.backlog.length}条待办需要确认`,
87
- top: '50px',
88
- description: this.backlog.map((item, index) => index + 1 + '、' + item.title).join(';'),
89
- icon: <a-icon type="container" style="color: #f5222d"/>,
90
- btn: h => {
91
- return h(
92
- 'a-button',
93
- {
94
- props: {
95
- type: 'primary',
96
- size: 'small',
97
- },
98
- on: {
99
- click: () => this.viewBacklog(key),
100
- },
101
- },
102
- '查看',
103
- )
104
- }
105
- })
106
- }
107
- })
108
- }
109
- } catch (e) {
110
- console.log(e)
111
- }
112
- },
113
- viewBacklog (key) {
114
- this.$notification.close(key)
115
- this.show = true
116
- this.activeKey = '3'
117
- },
118
- confirm_institution (item) {
119
- this.institutionDetailVisible = true
120
- this.show = false
121
- this.institution = item.institution
122
- this.affirmInstitution = item.id
123
- },
124
- fetchNotice () {
125
- if (this.loading) {
126
- this.loading = false
127
- return
128
- }
129
- this.loadding = true
130
- setTimeout(() => {
131
- this.loadding = false
132
- }, 1000)
133
- }
134
- }
135
- }
136
- </script>
137
-
138
- <style lang="less">
139
- .header-notice {
140
- display: inline-block;
141
- transition: all 0.3s;
142
-
143
- span {
144
- vertical-align: initial;
145
- }
146
-
147
- .notice-badge {
148
- color: inherit;
149
-
150
- .header-notice-icon {
151
- font-size: 16px;
152
- padding: 4px;
153
- }
154
- }
155
- }
156
-
157
- .dropdown-tabs {
158
- background-color: @base-bg-color;
159
- box-shadow: 0 2px 8px @shadow-color;
160
- border-radius: 4px;
161
-
162
- .tab-pane {
163
- padding: 0 24px 12px;
164
- min-height: 250px;
165
- }
166
- }
167
- </style>
1
+ <template>
2
+ <a-dropdown v-model="show" :trigger="['click']">
3
+ <div slot="overlay">
4
+ <a-spin :spinning="loading">
5
+ <a-tabs
6
+ v-model="activeKey"
7
+ :style="{width: '297px'}"
8
+ :tabBarStyle="{textAlign: 'center'}"
9
+ class="dropdown-tabs">
10
+ <a-tab-pane key="1" tab="通知">
11
+ <a-list class="tab-pane">
12
+ </a-list>
13
+ </a-tab-pane>
14
+ <a-tab-pane key="2" tab="消息">
15
+ <a-list class="tab-pane"></a-list>
16
+ </a-tab-pane>
17
+ <a-tab-pane key="3" tab="待办">
18
+ <a-list :data-source="backlog" class="tab-pane" item-layout="horizontal">
19
+ <a-list-item slot="renderItem" slot-scope="item">
20
+ <a v-if="item.type==='制度待确认'" slot="actions" @click="confirm_institution(item)">查看</a>
21
+ <a-list-item-meta :description="item.description" :title="item.title"/>
22
+ </a-list-item>
23
+ </a-list>
24
+ </a-tab-pane>
25
+ <a-drawer
26
+ :closable="false"
27
+ :visible="institutionDetailVisible"
28
+ :width="screenWidth * 0.5"
29
+ placement="right"
30
+ @close="onClose"
31
+ >
32
+ <institution-detail
33
+ :affirmInstitution="affirmInstitution"
34
+ :institutionId="institution"
35
+ @get_to_be_confirmed="getToBeConfirmed"/>
36
+ </a-drawer>
37
+ </a-tabs>
38
+ </a-spin>
39
+ </div>
40
+ <span class="header-notice" @click="fetchNotice">
41
+ <a-badge :count="backlog.length" class="notice-badge">
42
+ <a-icon :class="['header-notice-icon']" type="bell"/>
43
+ </a-badge>
44
+ </span>
45
+ </a-dropdown>
46
+ </template>
47
+
48
+ <script>
49
+ import { post } from '@vue2-client/services/api'
50
+ import InstitutionDetail from './InstitutionDetail'
51
+
52
+ export default {
53
+ name: 'HeaderNotice',
54
+ data () {
55
+ return {
56
+ loading: false,
57
+ screenWidth: document.documentElement.clientWidth,
58
+ show: false,
59
+ institutionDetailVisible: false,
60
+ institution: undefined,
61
+ affirmInstitution: undefined,
62
+ backlog: [],
63
+ activeKey: '1'
64
+ }
65
+ },
66
+ components: { InstitutionDetail },
67
+ computed: {},
68
+ created () {
69
+ this.getToBeConfirmed()
70
+ },
71
+ methods: {
72
+ onClose () {
73
+ this.institutionDetailVisible = false
74
+ this.getToBeConfirmed()
75
+ },
76
+ getToBeConfirmed () {
77
+ this.institutionDetailVisible = false
78
+ try {
79
+ if (this.$login.f.name) {
80
+ post('/api/af-system/logic/getTodo', { name: this.$login.f.name }).then(res => {
81
+ this.backlog = [...res]
82
+ if (this.backlog.length > 0) {
83
+ const key = `open${Date.now()}`
84
+ this.$notification.open({
85
+ key,
86
+ message: `您有${this.backlog.length}条待办需要确认`,
87
+ top: '50px',
88
+ description: this.backlog.map((item, index) => index + 1 + '、' + item.title).join(';'),
89
+ icon: <a-icon type="container" style="color: #f5222d"/>,
90
+ btn: h => {
91
+ return h(
92
+ 'a-button',
93
+ {
94
+ props: {
95
+ type: 'primary',
96
+ size: 'small',
97
+ },
98
+ on: {
99
+ click: () => this.viewBacklog(key),
100
+ },
101
+ },
102
+ '查看',
103
+ )
104
+ }
105
+ })
106
+ }
107
+ })
108
+ }
109
+ } catch (e) {
110
+ console.log(e)
111
+ }
112
+ },
113
+ viewBacklog (key) {
114
+ this.$notification.close(key)
115
+ this.show = true
116
+ this.activeKey = '3'
117
+ },
118
+ confirm_institution (item) {
119
+ this.institutionDetailVisible = true
120
+ this.show = false
121
+ this.institution = item.institution
122
+ this.affirmInstitution = item.id
123
+ },
124
+ fetchNotice () {
125
+ if (this.loading) {
126
+ this.loading = false
127
+ return
128
+ }
129
+ this.loadding = true
130
+ setTimeout(() => {
131
+ this.loadding = false
132
+ }, 1000)
133
+ }
134
+ }
135
+ }
136
+ </script>
137
+
138
+ <style lang="less">
139
+ .header-notice {
140
+ display: inline-block;
141
+ transition: all 0.3s;
142
+
143
+ span {
144
+ vertical-align: initial;
145
+ }
146
+
147
+ .notice-badge {
148
+ color: inherit;
149
+
150
+ .header-notice-icon {
151
+ font-size: 16px;
152
+ padding: 4px;
153
+ }
154
+ }
155
+ }
156
+
157
+ .dropdown-tabs {
158
+ background-color: @base-bg-color;
159
+ box-shadow: 0 2px 8px @shadow-color;
160
+ border-radius: 4px;
161
+
162
+ .tab-pane {
163
+ padding: 0 24px 12px;
164
+ min-height: 250px;
165
+ }
166
+ }
167
+ </style>
@@ -1,67 +1,67 @@
1
- <template>
2
- <div class="header-search">
3
- <a-icon type="search" class="search-icon" @click="enterSearchMode"/>
4
- <a-auto-complete
5
- ref="input"
6
- :getPopupContainer="e => {return e.parentNode || document.body}"
7
- :dataSource="dataSource"
8
- :class="['search-input', searchMode ? 'enter' : 'leave']"
9
- placeholder="站内搜索"
10
- @blur="leaveSearchMode"
11
- >
12
- </a-auto-complete>
13
- </div>
14
- </template>
15
-
16
- <script>
17
- export default {
18
- name: 'HeaderSearch',
19
- data () {
20
- return {
21
- dataSource: ['选项一', '选项二'],
22
- searchMode: false
23
- }
24
- },
25
- methods: {
26
- enterSearchMode () {
27
- this.searchMode = true
28
- this.$emit('active', true)
29
- setTimeout(() => this.$refs.input.focus(), 300)
30
- },
31
- leaveSearchMode () {
32
- this.searchMode = false
33
- setTimeout(() => this.$emit('active', false), 300)
34
- }
35
- }
36
- }
37
- </script>
38
-
39
- <style lang="less">
40
- .header-search{
41
- .search-icon{
42
- font-size: 16px;
43
- cursor: pointer;
44
- }
45
- .search-input{
46
- border: 0;
47
- border-bottom: 1px solid @border-color-split;
48
- transition: width 0.3s ease-in-out;
49
- input{
50
- border: 0;
51
- box-shadow: 0 0 0 0;
52
- }
53
- &.leave{
54
- width: 0;
55
- input{
56
- display: none;
57
- }
58
- }
59
- &.enter{
60
- width: 200px;
61
- input:focus{
62
- box-shadow: 0 0 0 0;
63
- }
64
- }
65
- }
66
- }
67
- </style>
1
+ <template>
2
+ <div class="header-search">
3
+ <a-icon type="search" class="search-icon" @click="enterSearchMode"/>
4
+ <a-auto-complete
5
+ ref="input"
6
+ :getPopupContainer="e => {return e.parentNode || document.body}"
7
+ :dataSource="dataSource"
8
+ :class="['search-input', searchMode ? 'enter' : 'leave']"
9
+ placeholder="站内搜索"
10
+ @blur="leaveSearchMode"
11
+ >
12
+ </a-auto-complete>
13
+ </div>
14
+ </template>
15
+
16
+ <script>
17
+ export default {
18
+ name: 'HeaderSearch',
19
+ data () {
20
+ return {
21
+ dataSource: ['选项一', '选项二'],
22
+ searchMode: false
23
+ }
24
+ },
25
+ methods: {
26
+ enterSearchMode () {
27
+ this.searchMode = true
28
+ this.$emit('active', true)
29
+ setTimeout(() => this.$refs.input.focus(), 300)
30
+ },
31
+ leaveSearchMode () {
32
+ this.searchMode = false
33
+ setTimeout(() => this.$emit('active', false), 300)
34
+ }
35
+ }
36
+ }
37
+ </script>
38
+
39
+ <style lang="less">
40
+ .header-search{
41
+ .search-icon{
42
+ font-size: 16px;
43
+ cursor: pointer;
44
+ }
45
+ .search-input{
46
+ border: 0;
47
+ border-bottom: 1px solid @border-color-split;
48
+ transition: width 0.3s ease-in-out;
49
+ input{
50
+ border: 0;
51
+ box-shadow: 0 0 0 0;
52
+ }
53
+ &.leave{
54
+ width: 0;
55
+ input{
56
+ display: none;
57
+ }
58
+ }
59
+ &.enter{
60
+ width: 200px;
61
+ input:focus{
62
+ box-shadow: 0 0 0 0;
63
+ }
64
+ }
65
+ }
66
+ }
67
+ </style>