vue2-client 1.7.0 → 1.7.1

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 (126) hide show
  1. package/.env +15 -15
  2. package/CHANGELOG.md +31 -1
  3. package/Components.md +60 -0
  4. package/index.js +39 -30
  5. package/package.json +4 -2
  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 +365 -279
  18. package/src/base-client/components/common/XAddNativeForm/index.md +96 -56
  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/system/DictionaryDetailsView/DictionaryDetailsView.vue +231 -231
  33. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  34. package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +807 -807
  35. package/src/base-client/components/ticket/TicketDetailsView/index.md +29 -29
  36. package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +260 -260
  37. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
  38. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.md +29 -29
  39. package/src/base-client/plugins/AppData.js +76 -76
  40. package/src/base-client/plugins/GetLoginInfoService.js +179 -179
  41. package/src/base-client/plugins/PagedList.js +177 -177
  42. package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
  43. package/src/base-client/plugins/i18n-extend.js +32 -32
  44. package/src/components/Ellipsis/Ellipsis.vue +65 -65
  45. package/src/components/Ellipsis/index.md +38 -38
  46. package/src/components/NumberInfo/index.md +43 -43
  47. package/src/components/STable/README.md +341 -341
  48. package/src/components/STable/index.js +318 -318
  49. package/src/components/Trend/index.md +45 -45
  50. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  51. package/src/components/checkbox/ImgCheckbox.vue +163 -163
  52. package/src/components/exception/ExceptionPage.vue +70 -70
  53. package/src/components/form/FormRow.vue +52 -52
  54. package/src/components/index.js +36 -36
  55. package/src/components/menu/SideMenu.vue +62 -62
  56. package/src/components/menu/menu.js +273 -273
  57. package/src/components/page/header/index.less +40 -40
  58. package/src/components/setting/Setting.vue +235 -235
  59. package/src/components/table/StandardTable.vue +141 -141
  60. package/src/components/table/advance/ActionColumns.vue +158 -158
  61. package/src/components/table/advance/SearchArea.vue +355 -355
  62. package/src/components/tool/AStepItem.vue +60 -60
  63. package/src/components/tool/AvatarList.vue +68 -68
  64. package/src/components/tool/Drawer.vue +142 -142
  65. package/src/components/tool/TagSelect.vue +83 -83
  66. package/src/components/transition/PageToggleTransition.vue +97 -97
  67. package/src/config/CreateQueryConfig.js +307 -307
  68. package/src/config/default/admin.config.js +18 -18
  69. package/src/config/default/setting.config.js +3 -1
  70. package/src/config/replacer/resolve.config.js +67 -67
  71. package/src/layouts/CommonLayout.vue +42 -42
  72. package/src/layouts/ComponentLayoutOne.vue +47 -47
  73. package/src/layouts/PageLayout.vue +151 -151
  74. package/src/layouts/SinglePageView.vue +116 -116
  75. package/src/layouts/footer/PageFooter.vue +49 -49
  76. package/src/layouts/header/AdminHeader.vue +134 -134
  77. package/src/layouts/header/HeaderAvatar.vue +64 -64
  78. package/src/layouts/header/HeaderNotice.vue +176 -176
  79. package/src/layouts/header/HeaderSearch.vue +67 -67
  80. package/src/layouts/header/InstitutionDetail.vue +181 -181
  81. package/src/layouts/header/index.less +92 -92
  82. package/src/layouts/tabs/TabsHead.vue +190 -190
  83. package/src/layouts/tabs/TabsView.vue +379 -379
  84. package/src/mock/goods/index.js +108 -108
  85. package/src/pages/CreateQueryPage.vue +84 -84
  86. package/src/pages/login/Login.vue +369 -369
  87. package/src/pages/report/ReportTable.js +124 -124
  88. package/src/pages/report/ReportTableHome.vue +28 -28
  89. package/src/pages/resourceManage/orgListManage.vue +98 -98
  90. package/src/pages/system/dictionary/index.vue +43 -43
  91. package/src/pages/system/file/index.vue +317 -317
  92. package/src/pages/system/monitor/loginInfor/index.vue +36 -36
  93. package/src/pages/system/monitor/operLog/index.vue +36 -36
  94. package/src/pages/system/settings/index.vue +126 -126
  95. package/src/pages/system/settings/modifyPassword.vue +109 -109
  96. package/src/router/async/config.async.js +28 -28
  97. package/src/router/async/router.map.js +66 -66
  98. package/src/router/guards.js +52 -12
  99. package/src/router/index.js +27 -27
  100. package/src/services/api/DictionaryDetailsViewApi.js +6 -6
  101. package/src/services/api/LogDetailsViewApi.js +10 -10
  102. package/src/services/api/QueryParamsDetailsViewApi.js +6 -6
  103. package/src/services/api/TicketDetailsViewApi.js +34 -34
  104. package/src/services/api/cas.js +79 -79
  105. package/src/services/api/common.js +137 -137
  106. package/src/services/api/commonTempTable.js +10 -10
  107. package/src/services/api/index.js +17 -17
  108. package/src/services/api/logininfor/index.js +6 -6
  109. package/src/services/api/manage.js +8 -8
  110. package/src/services/apiService.js +14 -14
  111. package/src/services/user.js +67 -67
  112. package/src/store/modules/index.js +4 -4
  113. package/src/theme/default/nprogress.less +76 -76
  114. package/src/theme/default/style.less +58 -58
  115. package/src/utils/EncryptUtil.js +53 -53
  116. package/src/utils/colors.js +107 -107
  117. package/src/utils/excel/Blob.js +180 -180
  118. package/src/utils/excel/Export2Excel.js +141 -141
  119. package/src/utils/formatter.js +68 -68
  120. package/src/utils/i18n.js +80 -80
  121. package/src/utils/login.js +138 -0
  122. package/src/utils/map-utils.js +37 -37
  123. package/src/utils/theme-color-replacer-extend.js +91 -91
  124. package/src/utils/themeUtil.js +100 -100
  125. package/src/utils/util.js +230 -230
  126. package/vue.config.js +106 -106
@@ -1,184 +1,184 @@
1
- <template>
2
- <!-- 树形选择框 -->
3
- <a-form-model-item v-if="loaded" :ref="model" :label="name" :prop="model">
4
- <a-tree-select
5
- v-model="value"
6
- :disabled="disabled"
7
- :tree-data="getTreeData()"
8
- :tree-checkable="mode === '查询' && queryType !== 'RIGHT_LIKE'"
9
- :placeholder="'请选择' + name"
10
- :dropdown-style="{ maxHeight: '400px' }"
11
- tree-node-filter-prop="label"
12
- :show-checked-strategy="queryType === 'RIGHT_LIKE' ? 'SHOW_ALL' : undefined"
13
- allow-clear
14
- class="tree-select"
15
- @change="onTreeSelectChange">
16
- </a-tree-select>
17
- </a-form-model-item>
18
- </template>
19
- <script>
20
- import XFormCol from '@vue2-client/base-client/components/common/XFormCol'
21
-
22
- export default {
23
- name: 'XTreeSelect',
24
- components: { XFormCol },
25
- data () {
26
- return {
27
- // 内容加载是否完成
28
- loaded: false,
29
- // 数据列表
30
- option: [],
31
- // 表单
32
- form: {},
33
- // 查询方式
34
- queryType: 'IN',
35
- // label名称
36
- name: undefined,
37
- // 模型名称
38
- model: undefined,
39
- // 使用方式
40
- mode: '查询',
41
- // 是否禁用
42
- disabled: false,
43
- // 选中值
44
- value: undefined
45
- }
46
- },
47
- methods: {
48
- init (params) {
49
- const {
50
- option = [], form, queryType = 'IN', name, model, mode = '查询', disabled = false
51
- } = params
52
- this.loaded = false
53
- this.option = option
54
- this.form = form
55
- this.queryType = queryType
56
- this.name = name
57
- this.model = model
58
- this.mode = mode
59
- this.disabled = disabled
60
- // 修改时恢复树形选择框选中状态
61
- if (this.queryType !== 'RIGHT_LIKE') {
62
- const value = this.form[this.model]
63
- if (value) {
64
- // 如果数据源中值含'-',代表是由多个数据源组成的树,需要重新组织新增/编辑时的表单值
65
- if (this.option.length > 0 && this.option[0].value.indexOf('-') !== -1) {
66
- this.value = model + '-' + value
67
- } else {
68
- this.value = value
69
- }
70
- } else {
71
- this.value = undefined
72
- }
73
- }
74
- this.loaded = true
75
- },
76
- // 获取树形选择框数据
77
- getTreeData () {
78
- const treeData = this.option
79
- if (this.mode === '新增/修改') {
80
- this.setParentSelectable(treeData)
81
- }
82
- return treeData
83
- },
84
- // 设置树形选择框不能选择父节点
85
- setParentSelectable (treeData) {
86
- treeData.forEach(item => {
87
- if (item.children && item.children.length) {
88
- item.selectable = false
89
- this.setParentSelectable(item.children)
90
- }
91
- })
92
- },
93
- // 选中树节点
94
- onTreeSelectChange (value, label, extra) {
95
- if (this.queryType === 'RIGHT_LIKE') {
96
- // 获取可用于模糊查询的组织机构字符串
97
- let node = extra.triggerNode.$parent
98
- label = label[0]
99
- while (node && node.label) {
100
- label = node.label + '.' + label
101
- node = node.$parent
102
- }
103
- this.form[this.model] = label
104
- } else {
105
- // 如果选中值含'-',代表是由多个数据源组成的树,需要重新组织查询或新增/编辑时的表单
106
- if ((value instanceof Array && value.length > 0 && value[0].indexOf('-') !== -1) || (typeof value === 'string' && value.indexOf('-') !== -1)) {
107
- const treeDatas = {}
108
- // 单选情况用于新增.修改表单场景,使用extra.triggerNode获取选中节点信息
109
- if (!extra.allCheckedNodes) {
110
- this.setNodeData(treeDatas, extra.triggerNode)
111
- } else {
112
- // 多选情况用于查询表单场景,使用extra.allCheckedNodes获取选中节点集合
113
- const nodes = extra.allCheckedNodes
114
- // 获取任意选中节点的叶子节点的字段名,用于查询时组织查询项的key
115
- const name = this.getNodeDataProps(nodes[0])
116
- // 获取所有选中节点的叶子节点的value,用于查询时组织查询项的value
117
- const values = []
118
- for (const node of nodes) {
119
- const ref = this.setDataRef(node)
120
- if (ref instanceof Array) {
121
- for (const nodeRef of ref) {
122
- const keyValue = nodeRef.node.key
123
- values.push(keyValue.substring(keyValue.lastIndexOf('-') + 1))
124
- }
125
- } else {
126
- const keyValue = ref.node.key
127
- values.push(keyValue.substring(keyValue.lastIndexOf('-') + 1))
128
- }
129
- }
130
- treeDatas[name] = values
131
- }
132
- // 移除默认的表单项,将组织好后的表单项合并进表单
133
- this.form[this.model] = undefined
134
- Object.assign(this.form, treeDatas)
135
- } else {
136
- // 从单一数据源组成的树可以直接赋值
137
- this.form[this.model] = value
138
- }
139
- }
140
- },
141
- // 设置选中值
142
- setValue (value) {
143
- this.value = value
144
- },
145
- setDataRef (node) {
146
- if (node.children) {
147
- return this.setDataRef(node.children)
148
- }
149
- return node
150
- },
151
- /**
152
- * 组织节点和每层父节点的数据,用于新增/修改时更新表单数据
153
- * @param data 组织完成的数据
154
- * @param node 节点
155
- * @return 返回示例: { parentId: 1, childId: 2 }
156
- */
157
- setNodeData (data, node) {
158
- if (node.value) {
159
- const value = node.value
160
- const columnsName = value.substring(0, value.indexOf('-'))
161
- data[columnsName] = value.substring(value.lastIndexOf('-') + 1)
162
- if (node.$parent) {
163
- this.setNodeData(data, node.$parent)
164
- }
165
- }
166
- },
167
- getNodeDataProps (node) {
168
- if (node.children && node.children.length > 0) {
169
- return this.getNodeDataProps(node.children[0])
170
- }
171
- const value = node.node.key
172
- return value.substring(0, value.indexOf('-'))
173
- }
174
- }
175
- }
176
- </script>
177
- <style lang="less" scoped>
178
- .tree-select {
179
- /deep/ .ant-select-selection.ant-select-selection--multiple {
180
- max-height: 32px;
181
- overflow-y: auto;
182
- }
183
- }
184
- </style>
1
+ <template>
2
+ <!-- 树形选择框 -->
3
+ <a-form-model-item v-if="loaded" :ref="model" :label="name" :prop="model">
4
+ <a-tree-select
5
+ v-model="value"
6
+ :disabled="disabled"
7
+ :tree-data="getTreeData()"
8
+ :tree-checkable="mode === '查询' && queryType !== 'RIGHT_LIKE'"
9
+ :placeholder="'请选择' + name"
10
+ :dropdown-style="{ maxHeight: '400px' }"
11
+ tree-node-filter-prop="label"
12
+ :show-checked-strategy="queryType === 'RIGHT_LIKE' ? 'SHOW_ALL' : undefined"
13
+ allow-clear
14
+ class="tree-select"
15
+ @change="onTreeSelectChange">
16
+ </a-tree-select>
17
+ </a-form-model-item>
18
+ </template>
19
+ <script>
20
+ import XFormCol from '@vue2-client/base-client/components/common/XFormCol'
21
+
22
+ export default {
23
+ name: 'XTreeSelect',
24
+ components: { XFormCol },
25
+ data () {
26
+ return {
27
+ // 内容加载是否完成
28
+ loaded: false,
29
+ // 数据列表
30
+ option: [],
31
+ // 表单
32
+ form: {},
33
+ // 查询方式
34
+ queryType: 'IN',
35
+ // label名称
36
+ name: undefined,
37
+ // 模型名称
38
+ model: undefined,
39
+ // 使用方式
40
+ mode: '查询',
41
+ // 是否禁用
42
+ disabled: false,
43
+ // 选中值
44
+ value: undefined
45
+ }
46
+ },
47
+ methods: {
48
+ init (params) {
49
+ const {
50
+ option = [], form, queryType = 'IN', name, model, mode = '查询', disabled = false
51
+ } = params
52
+ this.loaded = false
53
+ this.option = option
54
+ this.form = form
55
+ this.queryType = queryType
56
+ this.name = name
57
+ this.model = model
58
+ this.mode = mode
59
+ this.disabled = disabled
60
+ // 修改时恢复树形选择框选中状态
61
+ if (this.queryType !== 'RIGHT_LIKE') {
62
+ const value = this.form[this.model]
63
+ if (value) {
64
+ // 如果数据源中值含'-',代表是由多个数据源组成的树,需要重新组织新增/编辑时的表单值
65
+ if (this.option.length > 0 && this.option[0].value.indexOf('-') !== -1) {
66
+ this.value = model + '-' + value
67
+ } else {
68
+ this.value = value
69
+ }
70
+ } else {
71
+ this.value = undefined
72
+ }
73
+ }
74
+ this.loaded = true
75
+ },
76
+ // 获取树形选择框数据
77
+ getTreeData () {
78
+ const treeData = this.option
79
+ if (this.mode === '新增/修改') {
80
+ this.setParentSelectable(treeData)
81
+ }
82
+ return treeData
83
+ },
84
+ // 设置树形选择框不能选择父节点
85
+ setParentSelectable (treeData) {
86
+ treeData.forEach(item => {
87
+ if (item.children && item.children.length) {
88
+ item.selectable = false
89
+ this.setParentSelectable(item.children)
90
+ }
91
+ })
92
+ },
93
+ // 选中树节点
94
+ onTreeSelectChange (value, label, extra) {
95
+ if (this.queryType === 'RIGHT_LIKE') {
96
+ // 获取可用于模糊查询的组织机构字符串
97
+ let node = extra.triggerNode.$parent
98
+ label = label[0]
99
+ while (node && node.label) {
100
+ label = node.label + '.' + label
101
+ node = node.$parent
102
+ }
103
+ this.form[this.model] = label
104
+ } else {
105
+ // 如果选中值含'-',代表是由多个数据源组成的树,需要重新组织查询或新增/编辑时的表单
106
+ if ((value instanceof Array && value.length > 0 && value[0].indexOf('-') !== -1) || (typeof value === 'string' && value.indexOf('-') !== -1)) {
107
+ const treeDatas = {}
108
+ // 单选情况用于新增.修改表单场景,使用extra.triggerNode获取选中节点信息
109
+ if (!extra.allCheckedNodes) {
110
+ this.setNodeData(treeDatas, extra.triggerNode)
111
+ } else {
112
+ // 多选情况用于查询表单场景,使用extra.allCheckedNodes获取选中节点集合
113
+ const nodes = extra.allCheckedNodes
114
+ // 获取任意选中节点的叶子节点的字段名,用于查询时组织查询项的key
115
+ const name = this.getNodeDataProps(nodes[0])
116
+ // 获取所有选中节点的叶子节点的value,用于查询时组织查询项的value
117
+ const values = []
118
+ for (const node of nodes) {
119
+ const ref = this.setDataRef(node)
120
+ if (ref instanceof Array) {
121
+ for (const nodeRef of ref) {
122
+ const keyValue = nodeRef.node.key
123
+ values.push(keyValue.substring(keyValue.lastIndexOf('-') + 1))
124
+ }
125
+ } else {
126
+ const keyValue = ref.node.key
127
+ values.push(keyValue.substring(keyValue.lastIndexOf('-') + 1))
128
+ }
129
+ }
130
+ treeDatas[name] = values
131
+ }
132
+ // 移除默认的表单项,将组织好后的表单项合并进表单
133
+ this.form[this.model] = undefined
134
+ Object.assign(this.form, treeDatas)
135
+ } else {
136
+ // 从单一数据源组成的树可以直接赋值
137
+ this.form[this.model] = value
138
+ }
139
+ }
140
+ },
141
+ // 设置选中值
142
+ setValue (value) {
143
+ this.value = value
144
+ },
145
+ setDataRef (node) {
146
+ if (node.children) {
147
+ return this.setDataRef(node.children)
148
+ }
149
+ return node
150
+ },
151
+ /**
152
+ * 组织节点和每层父节点的数据,用于新增/修改时更新表单数据
153
+ * @param data 组织完成的数据
154
+ * @param node 节点
155
+ * @return 返回示例: { parentId: 1, childId: 2 }
156
+ */
157
+ setNodeData (data, node) {
158
+ if (node.value) {
159
+ const value = node.value
160
+ const columnsName = value.substring(0, value.indexOf('-'))
161
+ data[columnsName] = value.substring(value.lastIndexOf('-') + 1)
162
+ if (node.$parent) {
163
+ this.setNodeData(data, node.$parent)
164
+ }
165
+ }
166
+ },
167
+ getNodeDataProps (node) {
168
+ if (node.children && node.children.length > 0) {
169
+ return this.getNodeDataProps(node.children[0])
170
+ }
171
+ const value = node.node.key
172
+ return value.substring(0, value.indexOf('-'))
173
+ }
174
+ }
175
+ }
176
+ </script>
177
+ <style lang="less" scoped>
178
+ .tree-select {
179
+ /deep/ .ant-select-selection.ant-select-selection--multiple {
180
+ max-height: 32px;
181
+ overflow-y: auto;
182
+ }
183
+ }
184
+ </style>
@@ -1,38 +1,38 @@
1
- <template>
2
- <a-col
3
- :xs="flex.xs"
4
- :sm="flex.sm"
5
- :md="flex.md"
6
- :lg="flex.lg"
7
- :xl="flex.xl"
8
- :xxl="flex.xxl" >
9
- <slot></slot>
10
- </a-col>
11
- </template>
12
-
13
- <script>
14
-
15
- export default {
16
- name: 'XFormCol',
17
- props: {
18
- flex: {
19
- type: Object,
20
- default: () => {
21
- return {
22
- xs: 24,
23
- sm: 24,
24
- md: 24,
25
- lg: 12,
26
- xl: 8,
27
- xxl: 6
28
- }
29
- }
30
- }
31
- },
32
- data () {
33
- return {
34
-
35
- }
36
- }
37
- }
38
- </script>
1
+ <template>
2
+ <a-col
3
+ :xs="flex.xs"
4
+ :sm="flex.sm"
5
+ :md="flex.md"
6
+ :lg="flex.lg"
7
+ :xl="flex.xl"
8
+ :xxl="flex.xxl" >
9
+ <slot></slot>
10
+ </a-col>
11
+ </template>
12
+
13
+ <script>
14
+
15
+ export default {
16
+ name: 'XFormCol',
17
+ props: {
18
+ flex: {
19
+ type: Object,
20
+ default: () => {
21
+ return {
22
+ xs: 24,
23
+ sm: 24,
24
+ md: 24,
25
+ lg: 12,
26
+ xl: 8,
27
+ xxl: 6
28
+ }
29
+ }
30
+ }
31
+ },
32
+ data () {
33
+ return {
34
+
35
+ }
36
+ }
37
+ }
38
+ </script>