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
package/package.json
CHANGED
|
@@ -1,194 +1,180 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div v-show="visible && realJsonData.length > 0" class="table-page-search-wrapper">
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
:
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
:
|
|
14
|
-
:
|
|
15
|
-
:
|
|
16
|
-
:
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
>
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
:
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
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
|
|
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
|
+
> 临时表仅做展示数据用,增,改,删,需要传入对应的自定义事件。自定义处理方式
|