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,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>