vue2-client 1.4.13 → 1.4.14

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 (99) hide show
  1. package/.env +15 -15
  2. package/.eslintrc.js +82 -82
  3. package/CHANGELOG.md +4 -0
  4. package/index.js +30 -30
  5. package/package.json +1 -1
  6. package/src/assets/img/querySlotDemo.svg +16 -0
  7. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +225 -225
  8. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +113 -113
  9. package/src/base-client/components/common/CitySelect/CitySelect.vue +244 -244
  10. package/src/base-client/components/common/CitySelect/index.js +3 -3
  11. package/src/base-client/components/common/CitySelect/index.md +109 -109
  12. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +593 -591
  13. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +777 -777
  14. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +310 -310
  15. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +553 -553
  16. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +165 -165
  17. package/src/base-client/components/common/JSONToTree/jsontotree.vue +275 -275
  18. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +210 -210
  19. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  20. package/src/base-client/components/common/Upload/index.js +3 -3
  21. package/src/base-client/components/common/XAddForm/XAddForm.vue +354 -354
  22. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +327 -327
  23. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  24. package/src/base-client/components/common/XForm/XForm.vue +274 -274
  25. package/src/base-client/components/common/XForm/XFormItem.vue +389 -389
  26. package/src/base-client/components/common/XFormTable/XFormTable.vue +548 -548
  27. package/src/base-client/components/common/XFormTable/index.md +96 -96
  28. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  29. package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +807 -807
  30. package/src/base-client/components/ticket/TicketDetailsView/index.md +29 -29
  31. package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +260 -260
  32. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
  33. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.md +29 -29
  34. package/src/base-client/plugins/AppData.js +69 -69
  35. package/src/base-client/plugins/GetLoginInfoService.js +179 -179
  36. package/src/base-client/plugins/PagedList.js +177 -177
  37. package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
  38. package/src/base-client/plugins/i18n-extend.js +32 -32
  39. package/src/components/Ellipsis/index.md +38 -38
  40. package/src/components/NumberInfo/index.md +43 -43
  41. package/src/components/STable/README.md +341 -341
  42. package/src/components/STable/index.js +318 -318
  43. package/src/components/Trend/index.md +45 -45
  44. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  45. package/src/components/checkbox/ImgCheckbox.vue +163 -163
  46. package/src/components/form/FormRow.vue +52 -52
  47. package/src/components/index.js +36 -36
  48. package/src/components/menu/SideMenu.vue +62 -62
  49. package/src/components/menu/menu.js +273 -273
  50. package/src/components/setting/Setting.vue +235 -235
  51. package/src/components/table/StandardTable.vue +141 -141
  52. package/src/components/table/advance/ActionColumns.vue +158 -158
  53. package/src/components/table/advance/SearchArea.vue +355 -355
  54. package/src/components/tool/AStepItem.vue +60 -60
  55. package/src/components/tool/AvatarList.vue +68 -68
  56. package/src/components/tool/Drawer.vue +142 -142
  57. package/src/components/tool/TagSelect.vue +83 -83
  58. package/src/components/transition/PageToggleTransition.vue +97 -97
  59. package/src/config/CreateQueryConfig.js +307 -307
  60. package/src/config/replacer/resolve.config.js +67 -67
  61. package/src/layouts/AdminLayout.vue +174 -174
  62. package/src/layouts/header/AdminHeader.vue +104 -104
  63. package/src/layouts/header/HeaderNotice.vue +167 -167
  64. package/src/layouts/header/HeaderSearch.vue +67 -67
  65. package/src/layouts/header/InstitutionDetail.vue +181 -181
  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/CreateQueryPage.vue +65 -65
  70. package/src/pages/report/ReportTable.js +124 -124
  71. package/src/pages/report/ReportTableHome.vue +28 -28
  72. package/src/pages/resourceManage/orgListManage.vue +98 -98
  73. package/src/pages/system/dictionary/index.vue +43 -43
  74. package/src/pages/system/file/index.vue +317 -317
  75. package/src/pages/system/queryParams/index.vue +43 -43
  76. package/src/router/async/config.async.js +27 -27
  77. package/src/router/async/router.map.js +63 -61
  78. package/src/router/index.js +27 -27
  79. package/src/services/api/DictionaryDetailsViewApi.js +6 -6
  80. package/src/services/api/LogDetailsViewApi.js +10 -10
  81. package/src/services/api/QueryParamsDetailsViewApi.js +6 -6
  82. package/src/services/api/TicketDetailsViewApi.js +34 -34
  83. package/src/services/api/commonTempTable.js +10 -10
  84. package/src/services/api/index.js +17 -17
  85. package/src/services/api/manage.js +8 -8
  86. package/src/services/api/restTools.js +24 -24
  87. package/src/store/modules/index.js +4 -4
  88. package/src/theme/default/nprogress.less +76 -76
  89. package/src/theme/default/style.less +47 -47
  90. package/src/utils/colors.js +103 -103
  91. package/src/utils/excel/Blob.js +180 -180
  92. package/src/utils/excel/Export2Excel.js +141 -141
  93. package/src/utils/formatter.js +68 -68
  94. package/src/utils/i18n.js +80 -80
  95. package/src/utils/routerUtil.js +364 -364
  96. package/src/utils/theme-color-replacer-extend.js +91 -91
  97. package/src/utils/themeUtil.js +100 -100
  98. package/src/utils/util.js +230 -230
  99. package/vue.config.js +106 -106
@@ -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>
@@ -1,181 +1,181 @@
1
- <template>
2
- <div style="position: relative;">
3
- <h2 style="text-align: center">{{ institutionData.f_title }}</h2>
4
- <p>简述: {{ institutionData.f_sketch }}</p>
5
- <p>生效时间: {{ format(institutionData.f_effective_date) }}</p>
6
- <div v-if="showDocument" class="content">
7
- <iframe :src="institutionDocUrl" frameborder="0" height="100%" width="100%"></iframe>
8
- </div>
9
- <!-- 其他附件 -->
10
- <div class="other-file">
11
- <div class="title">其他附件</div>
12
- <div v-for="file in otherFiles" :key="file.id">
13
- <a class="file-item">
14
- <span class="file-action" @click="handlePreviewDoc(file.url)">
15
- <a-icon type="link" />{{ file.name }}
16
- </span>
17
- <span class="file-action" @click="handlePreviewDoc(file.url)">
18
- <a-icon type="eye" />预览
19
- </span>
20
- <a class="file-action" target="_blank" @click="handlePreDowDoc(file)"><a-icon type="download" />下载</a>
21
- </a>
22
- </div>
23
- </div>
24
- <!-- 其他附件预览 -->
25
- <a-modal v-model="previewDocVisible" :dialog-style="{ top: '20px' }" :footer="null" :z-index="1001" width="97%">
26
- <div class="preview-doc-container">
27
- <a-spin :spinning="previewDocLoading" size="large" />
28
- <iframe
29
- v-show="!previewDocLoading"
30
- :src="previewDocUrl"
31
- frameborder="0"
32
- height="100%"
33
- width="100%"
34
- @load="previewDocLoading = false" />
35
- </div>
36
- </a-modal>
37
- <a-button class="submit_btn" type="primary" @click="confirm_institution">确认</a-button>
38
- </div>
39
- </template>
40
-
41
- <script>
42
- import { Base64 } from 'js-base64'
43
- import { post } from '@vue2-client/services/api/restTools'
44
- import { formatDate } from '@vue2-client/utils/util'
45
-
46
- export default {
47
- name: 'InstitutionDetail',
48
- props: {
49
- institutionId: {
50
- type: Number,
51
- default: undefined
52
- },
53
- affirmInstitution: {
54
- type: Number,
55
- default: undefined
56
- }
57
- },
58
- data () {
59
- return {
60
- institutionDocUrl: undefined,
61
- showDocument: false,
62
- otherFiles: [],
63
- institutionData: {},
64
- previewDocVisible: false,
65
- previewDocUrl: undefined,
66
- previewDocLoading: false
67
- }
68
- },
69
- watch: {
70
- institutionId () {
71
- this.getDetailData()
72
- }
73
- },
74
- mounted () {
75
- this.getDetailData()
76
- },
77
- methods: {
78
- // 获取详情数据
79
- getDetailData () {
80
- if (!this.institutionId) {
81
- return
82
- }
83
- const otherFiles = []
84
- post('/api/af-system/logic/getInstitutionDetail', {
85
- id: this.institutionId
86
- }).then(res => {
87
- res.files.forEach(item => {
88
- if (item.use_type === '制度文件') {
89
- this.institutionDocUrl = previewDocService + encodeURIComponent(Base64.encode(fileServer + item.url))
90
- this.showDocument = true
91
- } else {
92
- otherFiles.push(item)
93
- }
94
- })
95
- this.institutionData = res.institution
96
- this.otherFiles = otherFiles
97
- })
98
- },
99
- format (dateStr) {
100
- return formatDate(dateStr, 'yyyy-MM-dd')
101
- },
102
- // 其他附件预览
103
- handlePreviewDoc (url) {
104
- const previewDocUrl = previewDocService + encodeURIComponent(Base64.encode(fileServer + url))
105
- if (this.previewDocUrl !== previewDocUrl) {
106
- this.previewDocLoading = true
107
- this.previewDocUrl = previewDocUrl
108
- }
109
- this.previewDocVisible = true
110
- },
111
- // 下载文档
112
- handlePreDowDoc (file) {
113
- const a = document.createElement('a')
114
- a.href = file.url
115
- a.download = file.name
116
- a.click()
117
- },
118
- confirm_institution () {
119
- post('/api/af-system/logic/affirmInstitution', {
120
- data: {
121
- tobe: [
122
- {
123
- id: this.affirmInstitution,
124
- f_affirm_type: '系统确认'
125
- }
126
- ]
127
- }
128
- }).then(res => {
129
- this.$message.success('确认成功')
130
- this.$emit('get_to_be_confirmed')
131
- })
132
- },
133
- }
134
- }
135
- // 文档预览服务 API
136
- const previewDocService = 'http://123.60.214.109:8012/onlinePreview?url='
137
- // 文件服务器地址
138
- const fileServer = 'http://123.60.214.109:8406'
139
- </script>
140
-
141
- <style lang="less" scoped>
142
- .submit_btn{
143
- position: absolute;
144
- right:0;
145
- top: 0;
146
- }
147
- .content {
148
- height: 80vh;
149
- img {
150
- max-width: 100%;
151
- }
152
- }
153
- .other-file {
154
- margin: 16px 0;
155
- .title {
156
- margin-bottom: 6px;
157
- }
158
- }
159
- .file-item {
160
- .file-action {
161
- padding: 3px 4px;
162
- color: #1890ff;
163
- &:hover {
164
- background: #e6f7ff;
165
- }
166
- }
167
- .anticon {
168
- margin-right: 3px;
169
- }
170
- }
171
- .file-list-title {
172
- color: rgba(0, 0, 0, 0.85);
173
- font-weight: bold;
174
- font-size: 16px;
175
- margin-bottom: 8px;
176
- }
177
- .preview-doc-container {
178
- height: calc(100vh - 92px);
179
- padding-top: 20px;
180
- }
181
- </style>
1
+ <template>
2
+ <div style="position: relative;">
3
+ <h2 style="text-align: center">{{ institutionData.f_title }}</h2>
4
+ <p>简述: {{ institutionData.f_sketch }}</p>
5
+ <p>生效时间: {{ format(institutionData.f_effective_date) }}</p>
6
+ <div v-if="showDocument" class="content">
7
+ <iframe :src="institutionDocUrl" frameborder="0" height="100%" width="100%"></iframe>
8
+ </div>
9
+ <!-- 其他附件 -->
10
+ <div class="other-file">
11
+ <div class="title">其他附件</div>
12
+ <div v-for="file in otherFiles" :key="file.id">
13
+ <a class="file-item">
14
+ <span class="file-action" @click="handlePreviewDoc(file.url)">
15
+ <a-icon type="link" />{{ file.name }}
16
+ </span>
17
+ <span class="file-action" @click="handlePreviewDoc(file.url)">
18
+ <a-icon type="eye" />预览
19
+ </span>
20
+ <a class="file-action" target="_blank" @click="handlePreDowDoc(file)"><a-icon type="download" />下载</a>
21
+ </a>
22
+ </div>
23
+ </div>
24
+ <!-- 其他附件预览 -->
25
+ <a-modal v-model="previewDocVisible" :dialog-style="{ top: '20px' }" :footer="null" :z-index="1001" width="97%">
26
+ <div class="preview-doc-container">
27
+ <a-spin :spinning="previewDocLoading" size="large" />
28
+ <iframe
29
+ v-show="!previewDocLoading"
30
+ :src="previewDocUrl"
31
+ frameborder="0"
32
+ height="100%"
33
+ width="100%"
34
+ @load="previewDocLoading = false" />
35
+ </div>
36
+ </a-modal>
37
+ <a-button class="submit_btn" type="primary" @click="confirm_institution">确认</a-button>
38
+ </div>
39
+ </template>
40
+
41
+ <script>
42
+ import { Base64 } from 'js-base64'
43
+ import { post } from '@vue2-client/services/api/restTools'
44
+ import { formatDate } from '@vue2-client/utils/util'
45
+
46
+ export default {
47
+ name: 'InstitutionDetail',
48
+ props: {
49
+ institutionId: {
50
+ type: Number,
51
+ default: undefined
52
+ },
53
+ affirmInstitution: {
54
+ type: Number,
55
+ default: undefined
56
+ }
57
+ },
58
+ data () {
59
+ return {
60
+ institutionDocUrl: undefined,
61
+ showDocument: false,
62
+ otherFiles: [],
63
+ institutionData: {},
64
+ previewDocVisible: false,
65
+ previewDocUrl: undefined,
66
+ previewDocLoading: false
67
+ }
68
+ },
69
+ watch: {
70
+ institutionId () {
71
+ this.getDetailData()
72
+ }
73
+ },
74
+ mounted () {
75
+ this.getDetailData()
76
+ },
77
+ methods: {
78
+ // 获取详情数据
79
+ getDetailData () {
80
+ if (!this.institutionId) {
81
+ return
82
+ }
83
+ const otherFiles = []
84
+ post('/api/af-system/logic/getInstitutionDetail', {
85
+ id: this.institutionId
86
+ }).then(res => {
87
+ res.files.forEach(item => {
88
+ if (item.use_type === '制度文件') {
89
+ this.institutionDocUrl = previewDocService + encodeURIComponent(Base64.encode(fileServer + item.url))
90
+ this.showDocument = true
91
+ } else {
92
+ otherFiles.push(item)
93
+ }
94
+ })
95
+ this.institutionData = res.institution
96
+ this.otherFiles = otherFiles
97
+ })
98
+ },
99
+ format (dateStr) {
100
+ return formatDate(dateStr, 'yyyy-MM-dd')
101
+ },
102
+ // 其他附件预览
103
+ handlePreviewDoc (url) {
104
+ const previewDocUrl = previewDocService + encodeURIComponent(Base64.encode(fileServer + url))
105
+ if (this.previewDocUrl !== previewDocUrl) {
106
+ this.previewDocLoading = true
107
+ this.previewDocUrl = previewDocUrl
108
+ }
109
+ this.previewDocVisible = true
110
+ },
111
+ // 下载文档
112
+ handlePreDowDoc (file) {
113
+ const a = document.createElement('a')
114
+ a.href = file.url
115
+ a.download = file.name
116
+ a.click()
117
+ },
118
+ confirm_institution () {
119
+ post('/api/af-system/logic/affirmInstitution', {
120
+ data: {
121
+ tobe: [
122
+ {
123
+ id: this.affirmInstitution,
124
+ f_affirm_type: '系统确认'
125
+ }
126
+ ]
127
+ }
128
+ }).then(res => {
129
+ this.$message.success('确认成功')
130
+ this.$emit('get_to_be_confirmed')
131
+ })
132
+ },
133
+ }
134
+ }
135
+ // 文档预览服务 API
136
+ const previewDocService = 'http://123.60.214.109:8012/onlinePreview?url='
137
+ // 文件服务器地址
138
+ const fileServer = 'http://123.60.214.109:8406'
139
+ </script>
140
+
141
+ <style lang="less" scoped>
142
+ .submit_btn{
143
+ position: absolute;
144
+ right:0;
145
+ top: 0;
146
+ }
147
+ .content {
148
+ height: 80vh;
149
+ img {
150
+ max-width: 100%;
151
+ }
152
+ }
153
+ .other-file {
154
+ margin: 16px 0;
155
+ .title {
156
+ margin-bottom: 6px;
157
+ }
158
+ }
159
+ .file-item {
160
+ .file-action {
161
+ padding: 3px 4px;
162
+ color: #1890ff;
163
+ &:hover {
164
+ background: #e6f7ff;
165
+ }
166
+ }
167
+ .anticon {
168
+ margin-right: 3px;
169
+ }
170
+ }
171
+ .file-list-title {
172
+ color: rgba(0, 0, 0, 0.85);
173
+ font-weight: bold;
174
+ font-size: 16px;
175
+ margin-bottom: 8px;
176
+ }
177
+ .preview-doc-container {
178
+ height: calc(100vh - 92px);
179
+ padding-top: 20px;
180
+ }
181
+ </style>