vue2-client 1.7.0 → 1.7.2

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 (128) hide show
  1. package/.env +15 -15
  2. package/CHANGELOG.md +661 -628
  3. package/Components.md +60 -0
  4. package/index.js +31 -30
  5. package/package.json +83 -81
  6. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +316 -316
  7. package/src/base-client/components/common/CitySelect/CitySelect.vue +247 -247
  8. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -667
  9. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +735 -733
  10. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +466 -468
  11. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +510 -508
  12. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +144 -146
  13. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +165 -165
  14. package/src/base-client/components/common/JSONToTree/jsontotree.vue +275 -275
  15. package/src/base-client/components/common/Upload/Upload.vue +168 -168
  16. package/src/base-client/components/common/XAddForm/XAddForm.vue +72 -325
  17. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +369 -279
  18. package/src/base-client/components/common/XAddNativeForm/index.md +107 -17
  19. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  20. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -0
  21. package/src/base-client/components/common/XDataDrawer/index.js +3 -0
  22. package/src/base-client/components/common/XDataDrawer/index.md +41 -0
  23. package/src/base-client/components/common/XForm/XForm.vue +178 -180
  24. package/src/base-client/components/common/XForm/XFormItem.vue +521 -513
  25. package/src/base-client/components/common/XForm/XTreeSelect.vue +184 -184
  26. package/src/base-client/components/common/XFormCol/XFormCol.vue +38 -38
  27. package/src/base-client/components/common/XFormTable/XFormTable.vue +356 -344
  28. package/src/base-client/components/common/XFormTable/index.md +97 -97
  29. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +132 -132
  30. package/src/base-client/components/common/XTable/XTable.vue +519 -506
  31. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +111 -111
  32. package/src/base-client/components/index.js +41 -0
  33. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +231 -231
  34. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  35. package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +807 -807
  36. package/src/base-client/components/ticket/TicketDetailsView/index.md +29 -29
  37. package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +260 -260
  38. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
  39. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.md +29 -29
  40. package/src/base-client/plugins/AppData.js +76 -76
  41. package/src/base-client/plugins/GetLoginInfoService.js +179 -179
  42. package/src/base-client/plugins/PagedList.js +177 -177
  43. package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
  44. package/src/base-client/plugins/i18n-extend.js +32 -32
  45. package/src/components/Ellipsis/Ellipsis.vue +65 -65
  46. package/src/components/Ellipsis/index.md +38 -38
  47. package/src/components/NumberInfo/index.md +43 -43
  48. package/src/components/STable/README.md +341 -341
  49. package/src/components/STable/index.js +318 -318
  50. package/src/components/Trend/index.md +45 -45
  51. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  52. package/src/components/checkbox/ImgCheckbox.vue +163 -163
  53. package/src/components/exception/ExceptionPage.vue +70 -70
  54. package/src/components/form/FormRow.vue +52 -52
  55. package/src/components/index.js +36 -36
  56. package/src/components/menu/SideMenu.vue +75 -62
  57. package/src/components/menu/menu.js +273 -273
  58. package/src/components/page/header/index.less +40 -40
  59. package/src/components/setting/Setting.vue +235 -235
  60. package/src/components/table/StandardTable.vue +141 -141
  61. package/src/components/table/advance/ActionColumns.vue +158 -158
  62. package/src/components/table/advance/SearchArea.vue +355 -355
  63. package/src/components/tool/AStepItem.vue +60 -60
  64. package/src/components/tool/AvatarList.vue +68 -68
  65. package/src/components/tool/Drawer.vue +142 -142
  66. package/src/components/tool/TagSelect.vue +83 -83
  67. package/src/components/transition/PageToggleTransition.vue +97 -97
  68. package/src/config/CreateQueryConfig.js +307 -307
  69. package/src/config/default/admin.config.js +18 -18
  70. package/src/config/default/setting.config.js +4 -2
  71. package/src/config/replacer/resolve.config.js +67 -67
  72. package/src/layouts/CommonLayout.vue +42 -42
  73. package/src/layouts/ComponentLayoutOne.vue +47 -47
  74. package/src/layouts/PageLayout.vue +151 -151
  75. package/src/layouts/SinglePageView.vue +116 -116
  76. package/src/layouts/footer/PageFooter.vue +49 -49
  77. package/src/layouts/header/AdminHeader.vue +134 -134
  78. package/src/layouts/header/HeaderAvatar.vue +64 -64
  79. package/src/layouts/header/HeaderNotice.vue +176 -176
  80. package/src/layouts/header/HeaderSearch.vue +67 -67
  81. package/src/layouts/header/InstitutionDetail.vue +181 -181
  82. package/src/layouts/header/index.less +92 -92
  83. package/src/layouts/tabs/TabsHead.vue +190 -190
  84. package/src/layouts/tabs/TabsView.vue +379 -379
  85. package/src/lib.js +1 -0
  86. package/src/mock/goods/index.js +108 -108
  87. package/src/pages/CreateQueryPage.vue +84 -84
  88. package/src/pages/login/Login.vue +369 -369
  89. package/src/pages/report/ReportTable.js +124 -124
  90. package/src/pages/report/ReportTableHome.vue +28 -28
  91. package/src/pages/resourceManage/orgListManage.vue +98 -98
  92. package/src/pages/system/dictionary/index.vue +43 -43
  93. package/src/pages/system/file/index.vue +317 -317
  94. package/src/pages/system/monitor/loginInfor/index.vue +36 -36
  95. package/src/pages/system/monitor/operLog/index.vue +36 -36
  96. package/src/pages/system/settings/index.vue +126 -126
  97. package/src/pages/system/settings/modifyPassword.vue +109 -109
  98. package/src/router/async/config.async.js +28 -28
  99. package/src/router/async/router.map.js +66 -66
  100. package/src/router/guards.js +52 -12
  101. package/src/router/index.js +27 -27
  102. package/src/services/api/DictionaryDetailsViewApi.js +6 -6
  103. package/src/services/api/LogDetailsViewApi.js +10 -10
  104. package/src/services/api/QueryParamsDetailsViewApi.js +6 -6
  105. package/src/services/api/TicketDetailsViewApi.js +34 -34
  106. package/src/services/api/cas.js +79 -79
  107. package/src/services/api/common.js +137 -137
  108. package/src/services/api/commonTempTable.js +10 -10
  109. package/src/services/api/index.js +17 -17
  110. package/src/services/api/logininfor/index.js +6 -6
  111. package/src/services/api/manage.js +8 -8
  112. package/src/services/apiService.js +14 -14
  113. package/src/services/user.js +67 -67
  114. package/src/store/modules/index.js +4 -4
  115. package/src/theme/default/nprogress.less +76 -76
  116. package/src/theme/default/style.less +58 -58
  117. package/src/utils/EncryptUtil.js +53 -53
  118. package/src/utils/colors.js +107 -107
  119. package/src/utils/excel/Blob.js +180 -180
  120. package/src/utils/excel/Export2Excel.js +141 -141
  121. package/src/utils/formatter.js +68 -68
  122. package/src/utils/i18n.js +80 -80
  123. package/src/utils/login.js +138 -0
  124. package/src/utils/map-utils.js +37 -37
  125. package/src/utils/theme-color-replacer-extend.js +91 -91
  126. package/src/utils/themeUtil.js +100 -100
  127. package/src/utils/util.js +230 -230
  128. package/vue.config.js +106 -106
@@ -1,190 +1,190 @@
1
- <template>
2
- <div :class="['tabs-head', layout, pageWidth]">
3
- <a-tabs
4
- type="editable-card"
5
- :class="['tabs-container', layout, pageWidth, {'affixed' : affixed, 'fixed-header' : fixedHeader, 'collapsed' : adminLayout.collapsed}]"
6
- :active-key="active"
7
- :hide-add="true"
8
- >
9
- <a-tooltip placement="left" :title="lockTitle" slot="tabBarExtraContent">
10
- <a-icon
11
- theme="filled"
12
- @click="onLockClick"
13
- class="header-lock"
14
- :type="fixedTabs ? 'lock' : 'unlock'"
15
- />
16
- </a-tooltip>
17
- <a-tab-pane v-for="page in pageList" :key="page.path">
18
- <div slot="tab" class="tab" @contextmenu="e => onContextmenu(page.path, e)">
19
- <a-icon @click="onRefresh(page)" :class="['icon-sync', {'hide': page.path !== active && !page.loading}]" :type="page.loading ? 'loading' : 'sync'" />
20
- <div class="title" @click="onTabClick(page.path)" >{{ pageName(page) }}</div>
21
- <a-icon v-if="!page.unclose" @click="onClose(page.path)" class="icon-close" type="close"/>
22
- </div>
23
- </a-tab-pane>
24
- </a-tabs>
25
- <div v-if="affixed" class="virtual-tabs"></div>
26
- </div>
27
- </template>
28
-
29
- <script>
30
- import { mapState, mapMutations } from 'vuex'
31
- import { getI18nKey } from '@vue2-client/utils/routerUtil'
32
-
33
- export default {
34
- name: 'TabsHead',
35
- i18n: {
36
- messages: {
37
- CN: {
38
- lock: '点击锁定页签头',
39
- unlock: '点击解除锁定'
40
- },
41
- HK: {
42
- lock: '點擊鎖定頁簽頭',
43
- unlock: '點擊解除鎖定'
44
- },
45
- US: {
46
- lock: 'click to lock the tabs head',
47
- unlock: 'click to unlock'
48
- }
49
- }
50
- },
51
- props: {
52
- // eslint-disable-next-line vue/require-default-prop
53
- pageList: Array,
54
- // eslint-disable-next-line vue/require-default-prop
55
- active: String,
56
- fixed: Boolean
57
- },
58
- data () {
59
- return {
60
- affixed: false
61
- }
62
- },
63
- inject: ['adminLayout'],
64
- created () {
65
- this.affixed = this.fixedTabs
66
- },
67
- computed: {
68
- ...mapState('setting', ['layout', 'pageWidth', 'fixedHeader', 'fixedTabs', 'customTitles']),
69
- lockTitle () {
70
- return this.$t(this.fixedTabs ? 'unlock' : 'lock')
71
- }
72
- },
73
- methods: {
74
- ...mapMutations('setting', ['setFixedTabs']),
75
- onLockClick () {
76
- this.setFixedTabs(!this.fixedTabs)
77
- if (this.fixedTabs) {
78
- setTimeout(() => {
79
- this.affixed = true
80
- }, 200)
81
- } else {
82
- this.affixed = false
83
- }
84
- },
85
- onTabClick (key) {
86
- if (this.active !== key) {
87
- this.$emit('change', key)
88
- }
89
- },
90
- onClose (key) {
91
- this.$emit('close', key)
92
- },
93
- onRefresh (page) {
94
- this.$emit('refresh', page.path, page)
95
- },
96
- onContextmenu (pageKey, e) {
97
- this.$emit('contextmenu', pageKey, e)
98
- },
99
- pageName (page) {
100
- const pagePath = page.fullPath.split('?')[0]
101
- const custom = this.customTitles.find(item => item.path === pagePath)
102
- return (custom && custom.title) || page.title || this.$t(getI18nKey(page.keyPath))
103
- }
104
- }
105
- }
106
- </script>
107
-
108
- <style scoped lang="less">
109
- .tab{
110
- margin: 0 -16px;
111
- padding: 0 16px;
112
- font-size: 14px;
113
- user-select: none;
114
- transition: all 0.2s;
115
- .title{
116
- display: inline-block;
117
- height: 100%;
118
- }
119
- .icon-close{
120
- font-size: 12px;
121
- margin-left: 6px;
122
- margin-right: -4px !important;
123
- color: @text-color-second;
124
- &:hover{
125
- color: @text-color;
126
- }
127
- }
128
- .icon-sync{
129
- margin-left: -4px;
130
- color: @primary-4;
131
- transition: all 0.3s ease-in-out;
132
- &:hover{
133
- color: @primary-color;
134
- }
135
- font-size: 14px;
136
- &.hide{
137
- font-size: 0;
138
- }
139
- }
140
- }
141
- .tabs-head{
142
- margin: 0 auto;
143
- &.head.fixed{
144
- width: 100%;
145
- }
146
- }
147
- .tabs-container{
148
- margin: -16px auto 8px;
149
- transition: top,left 0.2s;
150
- .header-lock{
151
- font-size: 18px;
152
- cursor: pointer;
153
- color: @primary-3;
154
- &:hover{
155
- color: @primary-color;
156
- }
157
- }
158
- &.affixed{
159
- margin: 0 auto;
160
- top: 0;
161
- padding: 8px 24px 0;
162
- position: fixed;
163
- height: 48px;
164
- z-index: 1;
165
- background-color: @layout-body-background;
166
- &.side,&.mix{
167
- right: 0;
168
- left: 256px;
169
- &.collapsed{
170
- left: 80px;
171
- }
172
- }
173
- &.head{
174
- width: inherit;
175
- padding: 8px 0 0;
176
- &.fluid{
177
- left: 0;
178
- right: 0;
179
- padding: 8px 24px 0;
180
- }
181
- }
182
- &.fixed-header{
183
- top: 64px;
184
- }
185
- }
186
- }
187
- .virtual-tabs{
188
- height: 48px;
189
- }
190
- </style>
1
+ <template>
2
+ <div :class="['tabs-head', layout, pageWidth]">
3
+ <a-tabs
4
+ type="editable-card"
5
+ :class="['tabs-container', layout, pageWidth, {'affixed' : affixed, 'fixed-header' : fixedHeader, 'collapsed' : adminLayout.collapsed}]"
6
+ :active-key="active"
7
+ :hide-add="true"
8
+ >
9
+ <a-tooltip placement="left" :title="lockTitle" slot="tabBarExtraContent">
10
+ <a-icon
11
+ theme="filled"
12
+ @click="onLockClick"
13
+ class="header-lock"
14
+ :type="fixedTabs ? 'lock' : 'unlock'"
15
+ />
16
+ </a-tooltip>
17
+ <a-tab-pane v-for="page in pageList" :key="page.path">
18
+ <div slot="tab" class="tab" @contextmenu="e => onContextmenu(page.path, e)">
19
+ <a-icon @click="onRefresh(page)" :class="['icon-sync', {'hide': page.path !== active && !page.loading}]" :type="page.loading ? 'loading' : 'sync'" />
20
+ <div class="title" @click="onTabClick(page.path)" >{{ pageName(page) }}</div>
21
+ <a-icon v-if="!page.unclose" @click="onClose(page.path)" class="icon-close" type="close"/>
22
+ </div>
23
+ </a-tab-pane>
24
+ </a-tabs>
25
+ <div v-if="affixed" class="virtual-tabs"></div>
26
+ </div>
27
+ </template>
28
+
29
+ <script>
30
+ import { mapState, mapMutations } from 'vuex'
31
+ import { getI18nKey } from '@vue2-client/utils/routerUtil'
32
+
33
+ export default {
34
+ name: 'TabsHead',
35
+ i18n: {
36
+ messages: {
37
+ CN: {
38
+ lock: '点击锁定页签头',
39
+ unlock: '点击解除锁定'
40
+ },
41
+ HK: {
42
+ lock: '點擊鎖定頁簽頭',
43
+ unlock: '點擊解除鎖定'
44
+ },
45
+ US: {
46
+ lock: 'click to lock the tabs head',
47
+ unlock: 'click to unlock'
48
+ }
49
+ }
50
+ },
51
+ props: {
52
+ // eslint-disable-next-line vue/require-default-prop
53
+ pageList: Array,
54
+ // eslint-disable-next-line vue/require-default-prop
55
+ active: String,
56
+ fixed: Boolean
57
+ },
58
+ data () {
59
+ return {
60
+ affixed: false
61
+ }
62
+ },
63
+ inject: ['adminLayout'],
64
+ created () {
65
+ this.affixed = this.fixedTabs
66
+ },
67
+ computed: {
68
+ ...mapState('setting', ['layout', 'pageWidth', 'fixedHeader', 'fixedTabs', 'customTitles']),
69
+ lockTitle () {
70
+ return this.$t(this.fixedTabs ? 'unlock' : 'lock')
71
+ }
72
+ },
73
+ methods: {
74
+ ...mapMutations('setting', ['setFixedTabs']),
75
+ onLockClick () {
76
+ this.setFixedTabs(!this.fixedTabs)
77
+ if (this.fixedTabs) {
78
+ setTimeout(() => {
79
+ this.affixed = true
80
+ }, 200)
81
+ } else {
82
+ this.affixed = false
83
+ }
84
+ },
85
+ onTabClick (key) {
86
+ if (this.active !== key) {
87
+ this.$emit('change', key)
88
+ }
89
+ },
90
+ onClose (key) {
91
+ this.$emit('close', key)
92
+ },
93
+ onRefresh (page) {
94
+ this.$emit('refresh', page.path, page)
95
+ },
96
+ onContextmenu (pageKey, e) {
97
+ this.$emit('contextmenu', pageKey, e)
98
+ },
99
+ pageName (page) {
100
+ const pagePath = page.fullPath.split('?')[0]
101
+ const custom = this.customTitles.find(item => item.path === pagePath)
102
+ return (custom && custom.title) || page.title || this.$t(getI18nKey(page.keyPath))
103
+ }
104
+ }
105
+ }
106
+ </script>
107
+
108
+ <style scoped lang="less">
109
+ .tab{
110
+ margin: 0 -16px;
111
+ padding: 0 16px;
112
+ font-size: 14px;
113
+ user-select: none;
114
+ transition: all 0.2s;
115
+ .title{
116
+ display: inline-block;
117
+ height: 100%;
118
+ }
119
+ .icon-close{
120
+ font-size: 12px;
121
+ margin-left: 6px;
122
+ margin-right: -4px !important;
123
+ color: @text-color-second;
124
+ &:hover{
125
+ color: @text-color;
126
+ }
127
+ }
128
+ .icon-sync{
129
+ margin-left: -4px;
130
+ color: @primary-4;
131
+ transition: all 0.3s ease-in-out;
132
+ &:hover{
133
+ color: @primary-color;
134
+ }
135
+ font-size: 14px;
136
+ &.hide{
137
+ font-size: 0;
138
+ }
139
+ }
140
+ }
141
+ .tabs-head{
142
+ margin: 0 auto;
143
+ &.head.fixed{
144
+ width: 100%;
145
+ }
146
+ }
147
+ .tabs-container{
148
+ margin: -16px auto 8px;
149
+ transition: top,left 0.2s;
150
+ .header-lock{
151
+ font-size: 18px;
152
+ cursor: pointer;
153
+ color: @primary-3;
154
+ &:hover{
155
+ color: @primary-color;
156
+ }
157
+ }
158
+ &.affixed{
159
+ margin: 0 auto;
160
+ top: 0;
161
+ padding: 8px 24px 0;
162
+ position: fixed;
163
+ height: 48px;
164
+ z-index: 1;
165
+ background-color: @layout-body-background;
166
+ &.side,&.mix{
167
+ right: 0;
168
+ left: 256px;
169
+ &.collapsed{
170
+ left: 80px;
171
+ }
172
+ }
173
+ &.head{
174
+ width: inherit;
175
+ padding: 8px 0 0;
176
+ &.fluid{
177
+ left: 0;
178
+ right: 0;
179
+ padding: 8px 24px 0;
180
+ }
181
+ }
182
+ &.fixed-header{
183
+ top: 64px;
184
+ }
185
+ }
186
+ }
187
+ .virtual-tabs{
188
+ height: 48px;
189
+ }
190
+ </style>