vue2-client 1.6.1 → 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,7 +1,10 @@
1
1
  # Change Log
2
2
  > 所有关于本项目的变化都在该文档里。
3
3
 
4
- **1.5.25 - 1.6.1 -2022-12-26 @江超**
4
+ **1.6.3 -2022-12-27 @江超**
5
+ - 取消更多条件的抽屉
6
+
7
+ **1.5.25 - 1.6.2 -2022-12-26 @江超**
5
8
  - 解决下拉框表单项刷新时不重新获取数据的问题
6
9
 
7
10
  **1.5.24 -2022-12-21 @苗艳强**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue2-client",
3
- "version": "1.6.1",
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>