vue2-client 1.6.2 → 1.6.3

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.
package/CHANGELOG.md CHANGED
@@ -1,6 +1,9 @@
1
1
  # Change Log
2
2
  > 所有关于本项目的变化都在该文档里。
3
3
 
4
+ **1.6.3 -2022-12-27 @江超**
5
+ - 取消更多条件的抽屉
6
+
4
7
  **1.5.25 - 1.6.2 -2022-12-26 @江超**
5
8
  - 解决下拉框表单项刷新时不重新获取数据的问题
6
9
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue2-client",
3
- "version": "1.6.2",
3
+ "version": "1.6.3",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
@@ -1,194 +1,180 @@
1
- <template>
2
- <div v-show="visible && realJsonData.length > 0" class="table-page-search-wrapper">
3
- <div v-show="advanced" ref="drawerContainer"></div>
4
- <a-form-model
5
- v-if="loaded"
6
- ref="form"
7
- :model="form"
8
- :rules="rules"
9
- layout="inline">
10
- <a-row :gutter="48">
11
- <x-form-item
12
- v-for="(item, index) in realJsonData.slice(0,6)"
13
- :key="index"
14
- :attr="item"
15
- :form="form"
16
- :service-name="serviceName"
17
- :get-data-params="getDataParams"
18
- />
19
- <a-drawer
20
- :get-container="() => {return $refs.drawerContainer}"
21
- :header-style="{ textAlign: 'center' }"
22
- :visible="advanced"
23
- :wrap-style="{ position: 'absolute' }"
24
- placement="top"
25
- title="更多条件"
26
- @close="onClose"
27
- >
28
- <a-form-model :model="form" layout="inline">
29
- <x-form-item
30
- v-for="(item, index) in realJsonData.slice(6)"
31
- :key="'advanced'+index"
32
- :attr="item"
33
- :form="form"
34
- :service-name="serviceName"
35
- :get-data-params="getDataParams"
36
- />
37
- </a-form-model>
38
- </a-drawer>
39
- <a-col>
40
- <span
41
- :style="advanced && { float: 'right', overflow: 'hidden' } || {} "
42
- class="table-page-search-submitButtons">
43
- <a-button htmlType="submit" style="margin-left: 8px" type="primary" @click="onSubmit">
44
- <a-icon :style="iconStyle" type="search"/>查询
45
- </a-button>
46
- <a-button style="margin-left: 8px" @click="resetForm">
47
- <a-icon :style="iconStyle" type="redo" />重置
48
- </a-button>
49
- <slot></slot>
50
- <a v-if="realJsonData.length > 6" style="margin-left: 8px" @click="toggleAdvanced">
51
- 更多条件
52
- <a-icon type="down"/>
53
- </a>
54
- </span>
55
- </a-col>
56
- </a-row>
57
- </a-form-model>
58
- <div class="next-divider-dashed" role="separator"></div>
59
- </div>
60
- </template>
61
- <script>
62
- import XFormItem from '@vue2-client/base-client/components/common/XForm/XFormItem'
63
-
64
- export default {
65
- name: 'XForm',
66
- components: {
67
- XFormItem
68
- },
69
- props: {
70
- // 调用logic获取数据源的追加参数
71
- getDataParams: {
72
- type: Object,
73
- default: undefined
74
- }
75
- },
76
- data () {
77
- return {
78
- // 内容加载是否完成
79
- loaded: false,
80
- // 服务名称
81
- serviceName: 'af-system',
82
- // 是否展开条件
83
- advanced: false,
84
- // 表单Model
85
- form: undefined,
86
- // 校验
87
- rules: {},
88
- // 图标样式
89
- iconStyle: {
90
- position: 'relative',
91
- top: '1px'
92
- },
93
- // 表单项集合
94
- formItems: [],
95
- // 是否显示
96
- visible: true
97
- }
98
- },
99
- computed: {
100
- // 过滤掉仅用于新增/修改场景的表单项
101
- realJsonData: function () {
102
- return this.formItems.filter(item => !item.isOnlyAddOrEdit)
103
- },
104
- },
105
- methods: {
106
- init (params) {
107
- const {
108
- formItems, serviceName = 'af-system'
109
- } = params
110
- this.loaded = false
111
- this.formItems = JSON.parse(JSON.stringify(formItems))
112
- this.serviceName = serviceName
113
- const formData = {}
114
- for (let i = 0; i < this.realJsonData.length; i++) {
115
- const item = this.realJsonData[i]
116
- formData[item.model] = undefined
117
- // 处理表单校验情况
118
- if (item.rule) {
119
- this.rules[item.model] = []
120
- switch (item.rule.type) {
121
- case 'number':
122
- case 'integer':
123
- case 'float':
124
- let defaultValue
125
- let message
126
- switch (item.rule.type) {
127
- case 'number':
128
- message = '数字'
129
- defaultValue = 0
130
- break
131
- case 'integer':
132
- message = '整数'
133
- defaultValue = 0
134
- break
135
- case 'float':
136
- message = '小数'
137
- defaultValue = 0.0
138
- break
139
- }
140
- this.rules[item.model].push({
141
- type: item.rule.type,
142
- message: item.name + '必须为' + message,
143
- transform: (value) => {
144
- if (value && value.length !== 0) {
145
- return Number(value)
146
- } else {
147
- return defaultValue
148
- }
149
- },
150
- trigger: 'blur'
151
- })
152
- break
153
- }
154
- }
155
- }
156
- this.form = formData
157
- this.loaded = true
158
- },
159
- toggleAdvanced () {
160
- this.advanced = !this.advanced
161
- },
162
- toggleVisible () {
163
- this.visible = !this.visible
164
- },
165
- resetForm () {
166
- this.$refs.form.resetFields()
167
- },
168
- onSubmit () {
169
- this.$refs.form.validate(valid => {
170
- for (const key of Object.keys(this.form)) {
171
- if (this.form[key] === null || this.form[key] === '') {
172
- this.form[key] = undefined
173
- }
174
- if (Array.isArray(this.form[key]) && !this.form[key][0]) {
175
- this.form[key] = undefined
176
- }
177
- }
178
- const requestParameters = Object.assign({}, this.form)
179
- const data = {
180
- valid: valid,
181
- form: requestParameters
182
- }
183
- this.$emit('onSubmit', data)
184
- })
185
- },
186
- exports () {
187
- this.$emit('exports', this.form)
188
- },
189
- onClose () {
190
- this.advanced = false
191
- }
192
- }
193
- }
194
- </script>
1
+ <template>
2
+ <div v-show="visible && realJsonData.length > 0" class="table-page-search-wrapper">
3
+ <a-form-model
4
+ v-if="loaded"
5
+ ref="form"
6
+ :model="form"
7
+ :rules="rules"
8
+ layout="inline">
9
+ <a-row :gutter="48">
10
+ <x-form-item
11
+ v-for="(item, index) in realJsonData.slice(0,6)"
12
+ :key="index"
13
+ :attr="item"
14
+ :form="form"
15
+ :service-name="serviceName"
16
+ :get-data-params="getDataParams"
17
+ />
18
+ <div v-show="advanced">
19
+ <x-form-item
20
+ v-for="(item, index) in realJsonData.slice(6)"
21
+ :key="'advanced'+index"
22
+ :attr="item"
23
+ :form="form"
24
+ :service-name="serviceName"
25
+ :get-data-params="getDataParams"
26
+ />
27
+ </div>
28
+ <a-col>
29
+ <span
30
+ :style="advanced && { float: 'right', overflow: 'hidden' } || {} "
31
+ class="table-page-search-submitButtons">
32
+ <a-button htmlType="submit" style="margin-left: 8px" type="primary" @click="onSubmit">
33
+ <a-icon :style="iconStyle" type="search"/>查询
34
+ </a-button>
35
+ <a-button style="margin-left: 8px" @click="resetForm">
36
+ <a-icon :style="iconStyle" type="redo" />重置
37
+ </a-button>
38
+ <slot></slot>
39
+ <a v-if="realJsonData.length > 6" style="margin-left: 8px" @click="toggleAdvanced">
40
+ <span v-show="!advanced">更多条件<a-icon type="down"/></span>
41
+ <span v-show="advanced">收起更多<a-icon type="up"/></span>
42
+ </a>
43
+ </span>
44
+ </a-col>
45
+ </a-row>
46
+ </a-form-model>
47
+ <div class="next-divider-dashed" role="separator"></div>
48
+ </div>
49
+ </template>
50
+ <script>
51
+ import XFormItem from '@vue2-client/base-client/components/common/XForm/XFormItem'
52
+
53
+ export default {
54
+ name: 'XForm',
55
+ components: {
56
+ XFormItem
57
+ },
58
+ props: {
59
+ // 调用logic获取数据源的追加参数
60
+ getDataParams: {
61
+ type: Object,
62
+ default: undefined
63
+ }
64
+ },
65
+ data () {
66
+ return {
67
+ // 内容加载是否完成
68
+ loaded: false,
69
+ // 服务名称
70
+ serviceName: 'af-system',
71
+ // 是否展开条件
72
+ advanced: false,
73
+ // 表单Model
74
+ form: undefined,
75
+ // 校验
76
+ rules: {},
77
+ // 图标样式
78
+ iconStyle: {
79
+ position: 'relative',
80
+ top: '1px'
81
+ },
82
+ // 表单项集合
83
+ formItems: [],
84
+ // 是否显示
85
+ visible: true
86
+ }
87
+ },
88
+ computed: {
89
+ // 过滤掉仅用于新增/修改场景的表单项
90
+ realJsonData: function () {
91
+ return this.formItems.filter(item => !item.isOnlyAddOrEdit)
92
+ },
93
+ },
94
+ methods: {
95
+ init (params) {
96
+ const {
97
+ formItems, serviceName = 'af-system'
98
+ } = params
99
+ this.loaded = false
100
+ this.formItems = JSON.parse(JSON.stringify(formItems))
101
+ this.serviceName = serviceName
102
+ const formData = {}
103
+ for (let i = 0; i < this.realJsonData.length; i++) {
104
+ const item = this.realJsonData[i]
105
+ formData[item.model] = undefined
106
+ // 处理表单校验情况
107
+ if (item.rule) {
108
+ this.rules[item.model] = []
109
+ switch (item.rule.type) {
110
+ case 'number':
111
+ case 'integer':
112
+ case 'float':
113
+ let defaultValue
114
+ let message
115
+ switch (item.rule.type) {
116
+ case 'number':
117
+ message = '数字'
118
+ defaultValue = 0
119
+ break
120
+ case 'integer':
121
+ message = '整数'
122
+ defaultValue = 0
123
+ break
124
+ case 'float':
125
+ message = '小数'
126
+ defaultValue = 0.0
127
+ break
128
+ }
129
+ this.rules[item.model].push({
130
+ type: item.rule.type,
131
+ message: item.name + '必须为' + message,
132
+ transform: (value) => {
133
+ if (value && value.length !== 0) {
134
+ return Number(value)
135
+ } else {
136
+ return defaultValue
137
+ }
138
+ },
139
+ trigger: 'blur'
140
+ })
141
+ break
142
+ }
143
+ }
144
+ }
145
+ this.form = formData
146
+ this.loaded = true
147
+ },
148
+ toggleAdvanced () {
149
+ this.advanced = !this.advanced
150
+ },
151
+ toggleVisible () {
152
+ this.visible = !this.visible
153
+ },
154
+ resetForm () {
155
+ this.$refs.form.resetFields()
156
+ },
157
+ onSubmit () {
158
+ this.$refs.form.validate(valid => {
159
+ for (const key of Object.keys(this.form)) {
160
+ if (this.form[key] === null || this.form[key] === '') {
161
+ this.form[key] = undefined
162
+ }
163
+ if (Array.isArray(this.form[key]) && !this.form[key][0]) {
164
+ this.form[key] = undefined
165
+ }
166
+ }
167
+ const requestParameters = Object.assign({}, this.form)
168
+ const data = {
169
+ valid: valid,
170
+ form: requestParameters
171
+ }
172
+ this.$emit('onSubmit', data)
173
+ })
174
+ },
175
+ exports () {
176
+ this.$emit('exports', this.form)
177
+ }
178
+ }
179
+ }
180
+ </script>
@@ -1,97 +1,97 @@
1
- # XFormTable
2
-
3
- 动态查询控件,进一步整合了XTable和XForm
4
-
5
-
6
- ## 何时使用
7
-
8
- 当需要一个通用的表单,表格一体化控件时
9
-
10
-
11
- 引用方式:
12
-
13
- ```javascript
14
- import XFormTable from '@vue2-client/base-client/components/XFormTable/XFormTable'
15
-
16
- export default {
17
- components: {
18
- XFormTable
19
- }
20
- }
21
- ```
22
-
23
-
24
-
25
- ## 代码演示
26
-
27
- ```html
28
- <x-form-table
29
- title="业务名称"
30
- :queryParamsName="queryParamsName">
31
- </x-form-table>
32
- ```
33
-
34
- ## API
35
-
36
- | 参数 | 说明 | 类型 | 默认值 |
37
- |--------------------|-------------------------|---------|-------|
38
- | title | 业务名称 | String | '' |
39
- | queryParamsName | 查询配置JSON文件名 | String | null |
40
- | queryParamsJson | 查询配置文件Json,用于查询配置生成器的预览 | Object | null |
41
- | logicName | 通过logic获取表单表格配置 | String | null |
42
- | logicParam | 执行logic传递的参数 | Object | null |
43
- | fixedQueryForm | 固定查询表单,会和查询表单合并查询 | Object | {} |
44
- | fixedAddForm | 固定新增表单,会和新增表单合并 | Object | {} |
45
- | isExports | 是否显示导出按钮 | Boolean | true |
46
- | viewMode | 是否为预览模式 | Boolean | false |
47
- | getDataParams | 调用logic获取数据源的追加参数 | Object | - |
48
- | @action | 表格详情列的单击事件 | event | - |
49
- | @afterSubmit | 增改提交后的回调方法 | event | - |
50
- | @afterDelete | 删除提交后的回调方法 | event | - |
51
- | @afterSearchSubmit | 查询提交后的回调方法 | event | - |
52
- | @afterQuery | 表格查询后的回调方法 | event | - |
53
- | @selectRow | 选择表格列后的回调方法 | event | - |
54
- ## 例子1
55
- ----
56
- (基础使用)
57
-
58
- ```vue
59
- <template>
60
- <x-form-table
61
- :queryParamsName="queryParamsName"
62
- @action="toDetail">
63
- </x-form-table>
64
- </template>
65
-
66
- <script>
67
- import XFormTable from '@vue2-client/base-client/components/XFormTable/XFormTable'
68
-
69
- export default {
70
- components: {
71
- XFormTable
72
- },
73
- data () {
74
- return {
75
- // 查询配置文件名
76
- queryParamsName: 'logQueryParams'
77
- }
78
- },
79
- methods: {
80
- toDetail (record, id) {
81
- console.debug("您选择了项:"+ id)
82
- }
83
- }
84
- }
85
- </script>
86
- ```
87
-
88
- 注意事项
89
- ----
90
-
91
- > 本组件已经实现了自适应布局,在不同分辨率下的设备均可得到基本理想的展示效果
92
- >
93
- > 本组件已支持临时表的创建,当表名以##(两个井号)开头,则认为在创建临时表。
94
- >
95
- > 临时表会在连接断开时自动销毁
96
- >
97
- > 临时表仅做展示数据用,增,改,删,需要传入对应的自定义事件。自定义处理方式
1
+ # XFormTable
2
+
3
+ 动态查询控件,进一步整合了XTable和XForm
4
+
5
+
6
+ ## 何时使用
7
+
8
+ 当需要一个通用的表单,表格一体化控件时
9
+
10
+
11
+ 引用方式:
12
+
13
+ ```javascript
14
+ import XFormTable from '@vue2-client/base-client/components/XFormTable/XFormTable'
15
+
16
+ export default {
17
+ components: {
18
+ XFormTable
19
+ }
20
+ }
21
+ ```
22
+
23
+
24
+
25
+ ## 代码演示
26
+
27
+ ```html
28
+ <x-form-table
29
+ title="业务名称"
30
+ :queryParamsName="queryParamsName">
31
+ </x-form-table>
32
+ ```
33
+
34
+ ## API
35
+
36
+ | 参数 | 说明 | 类型 | 默认值 |
37
+ |--------------------|-------------------------|---------|-------|
38
+ | title | 业务名称 | String | '' |
39
+ | queryParamsName | 查询配置JSON文件名 | String | null |
40
+ | queryParamsJson | 查询配置文件Json,用于查询配置生成器的预览 | Object | null |
41
+ | logicName | 通过logic获取表单表格配置 | String | null |
42
+ | logicParam | 执行logic传递的参数 | Object | null |
43
+ | fixedQueryForm | 固定查询表单,会和查询表单合并查询 | Object | {} |
44
+ | fixedAddForm | 固定新增表单,会和新增表单合并 | Object | {} |
45
+ | isExports | 是否显示导出按钮 | Boolean | true |
46
+ | viewMode | 是否为预览模式 | Boolean | false |
47
+ | getDataParams | 调用logic获取数据源的追加参数 | Object | - |
48
+ | @action | 表格详情列的单击事件 | event | - |
49
+ | @afterSubmit | 增改提交后的回调方法 | event | - |
50
+ | @afterDelete | 删除提交后的回调方法 | event | - |
51
+ | @afterSearchSubmit | 查询提交后的回调方法 | event | - |
52
+ | @afterQuery | 表格查询后的回调方法 | event | - |
53
+ | @selectRow | 选择表格列后的回调方法 | event | - |
54
+ ## 例子1
55
+ ----
56
+ (基础使用)
57
+
58
+ ```vue
59
+ <template>
60
+ <x-form-table
61
+ :queryParamsName="queryParamsName"
62
+ @action="toDetail">
63
+ </x-form-table>
64
+ </template>
65
+
66
+ <script>
67
+ import XFormTable from '@vue2-client/base-client/components/XFormTable/XFormTable'
68
+
69
+ export default {
70
+ components: {
71
+ XFormTable
72
+ },
73
+ data () {
74
+ return {
75
+ // 查询配置文件名
76
+ queryParamsName: 'logQueryParams'
77
+ }
78
+ },
79
+ methods: {
80
+ toDetail (record, id) {
81
+ console.debug("您选择了项:"+ id)
82
+ }
83
+ }
84
+ }
85
+ </script>
86
+ ```
87
+
88
+ 注意事项
89
+ ----
90
+
91
+ > 本组件已经实现了自适应布局,在不同分辨率下的设备均可得到基本理想的展示效果
92
+ >
93
+ > 本组件已支持临时表的创建,当表名以##(两个井号)开头,则认为在创建临时表。
94
+ >
95
+ > 临时表会在连接断开时自动销毁
96
+ >
97
+ > 临时表仅做展示数据用,增,改,删,需要传入对应的自定义事件。自定义处理方式