byt-ui 0.0.16 → 0.0.17

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "byt-ui",
3
- "version": "0.0.16",
3
+ "version": "0.0.17",
4
4
  "private": false,
5
5
  "description": "byt组件库",
6
6
  "author": {
@@ -29,16 +29,83 @@
29
29
  </template>
30
30
 
31
31
  <script>
32
+ import moment from "moment"
32
33
  export default {
33
- name: 'demo',
34
+ name: 'default-demo',
34
35
  components: {},
35
36
  data() {
36
37
  return {
37
38
  searchList: [
38
39
  {
39
- label: '用户名',
40
- key: 'username',
41
- type: 'input'
40
+ label: '输入框',
41
+ key: 'input',
42
+ type: 'input',
43
+ default:"abc"
44
+ },
45
+ {
46
+ label: '下拉框',
47
+ key: 'select',
48
+ type: 'select',
49
+ default:1,
50
+ options:[
51
+ {label:"a",value:1},
52
+ {label:"b",value:2},
53
+ {label:"c",value:3},
54
+ {label:"d",value:4}
55
+ ]
56
+ },
57
+ {
58
+ label: '级联选择',
59
+ key: 'cascader',
60
+ type: 'cascader',
61
+ default:"yizhi",
62
+ options:[{
63
+ value: 'zhinan',
64
+ label: '指南',
65
+ children: [{
66
+ value: 'shejiyuanze',
67
+ label: '设计原则',
68
+ children: [{
69
+ value: 'yizhi',
70
+ label: '一致'
71
+ }, {
72
+ value: 'fankui',
73
+ label: '反馈'
74
+ }, {
75
+ value: 'xiaolv',
76
+ label: '效率'
77
+ }, {
78
+ value: 'kekong',
79
+ label: '可控'
80
+ }]
81
+ }]
82
+ }]
83
+ },
84
+ {
85
+ label: '年月日',
86
+ key: 'date',
87
+ type: 'datepicker',
88
+ default:moment().format("YYYY-MM-DD")
89
+ },
90
+ {
91
+ label: '年月',
92
+ key: 'month',
93
+ type: 'datepicker',
94
+ fields:"month",
95
+ default:moment().format("YYYY-MM")
96
+ },
97
+ {
98
+ label: '年',
99
+ key: 'year',
100
+ type: 'datepicker',
101
+ fields:"year",
102
+ default:moment().format("YYYY")
103
+ },
104
+ {
105
+ label: '日期区间',
106
+ key: 'daterange',
107
+ type: 'daterange',
108
+ default:["2023-06-05","2023-06-07"]
42
109
  }
43
110
  ],
44
111
  tableData: [],
@@ -79,6 +146,9 @@ export default {
79
146
  },
80
147
  refreshChange() {
81
148
  this.$refs.baseView.refresh();
149
+ },
150
+ onClear(){
151
+ this.$refs.baseView.clear();
82
152
  }
83
153
  }
84
154
  }
@@ -2,8 +2,8 @@
2
2
  * @Description:
3
3
  * @Author: 王国火
4
4
  * @Date: 2022-07-12 17:47:20
5
- * @LastEditTime: 2022-11-04 13:45:52
6
- * @LastEditors: sxy
5
+ * @LastEditTime: 2023-06-07 08:31:20
6
+ * @LastEditors: 王国火
7
7
  -->
8
8
 
9
9
  <template>
@@ -17,6 +17,7 @@
17
17
  :search-list="searchList"
18
18
  @search="onSearch"
19
19
  @reset="onReset"
20
+ @init="init"
20
21
  v-model="searchForm"
21
22
  ></FormView>
22
23
  </div>
@@ -196,10 +197,14 @@ export default {
196
197
  }
197
198
  },
198
199
  mounted() {
199
- // 有些特殊情况需要手动请求列表数据
200
- if (this.autoLoad) this.fetchData();
200
+
201
201
  },
202
202
  methods: {
203
+ init(form){
204
+ this.searchForm=Object.assign({},this.searchForm,form);
205
+ // 有些特殊情况需要手动请求列表数据
206
+ if (this.autoLoad) this.fetchData();
207
+ },
203
208
  onSelectAllEvent(list) {
204
209
  /** 多选框全选触发
205
210
  * @event checkbox-all
@@ -259,6 +264,9 @@ export default {
259
264
  this.searchForm = {};
260
265
  this.fetchData();
261
266
  },
267
+ clear(){
268
+ this.$refs.search.init();
269
+ },
262
270
  onSizeChange(size) {
263
271
  this.pageOpt.pageSize = size;
264
272
  this.pageOpt.page = 1;
@@ -271,13 +279,6 @@ export default {
271
279
  this.$nextTick(() => {
272
280
  this.fetchData();
273
281
  })
274
- },
275
- initForm(list) {
276
- list.map(v => {
277
- if (v.value || v.value == 0) {
278
- this.$set(this.searchForm, v.key, v.value)
279
- }
280
- })
281
282
  }
282
283
  },
283
284
  watch: {
@@ -289,13 +290,6 @@ export default {
289
290
  },
290
291
  immediate: true,
291
292
  deep: true
292
- },
293
- searchList: {
294
- handler(val) {
295
- this.initForm(val)
296
- },
297
- immediate: true,
298
- deep: true
299
293
  }
300
294
  }
301
295
  }
@@ -2,8 +2,8 @@
2
2
  * @Description:
3
3
  * @Author: 王国火
4
4
  * @Date: 2022-07-13 08:46:34
5
- * @LastEditTime: 2022-11-04 13:44:45
6
- * @LastEditors: sxy
5
+ * @LastEditTime: 2023-06-07 08:53:12
6
+ * @LastEditors: 王国火
7
7
  -->
8
8
  <!-- -->
9
9
  <template>
@@ -58,7 +58,6 @@
58
58
  :picker-options="pickerOptions"
59
59
  >
60
60
  </el-date-picker>
61
- <!-- fields可选值:date、month、year -->
62
61
  </template>
63
62
  </el-form-item>
64
63
 
@@ -131,7 +130,9 @@ export default {
131
130
  },
132
131
  components: {},
133
132
  computed: {},
134
- mounted() {},
133
+ mounted() {
134
+
135
+ },
135
136
  methods: {
136
137
  formateDate(type) {
137
138
  // date、week 、month、year
@@ -169,17 +170,41 @@ export default {
169
170
  if (v)resolve(v)
170
171
  })
171
172
  })
173
+ },
174
+ setDefaultVal(el) {
175
+ // 处理默认值,可拓展
176
+ const dval = el.default;// 默认值
177
+ switch (el.type) {
178
+ case 'input':
179
+ case 'select':
180
+ return (dval === 0 || dval === '0') ? dval : (dval || '')
181
+ case 'inputNumber':
182
+ return dval === 0 ? dval : (dval || null)
183
+ case 'treeSelect':
184
+ return [];
185
+ default:
186
+ return (dval === 0 || dval === '0') ? dval : (dval || '')
187
+ }
188
+ },
189
+ formatForm(list) {
190
+ //有些查询条件初始携带默认值,需要处理;
191
+ this.form = Object.assign({}, this.form, list.reduce((obj, el) => {
192
+ obj[el.key] = this.setDefaultVal(el)
193
+ return obj
194
+ }, {}))
195
+ },
196
+ init(){
197
+ this.formatForm(this.searchList);
198
+ this.$emit('init', this.form)
172
199
  }
173
200
  },
174
201
  watch: {
175
- value: {
176
- handler(val) {
177
- if (JSON.stringify(val) != JSON.stringify(this.form)) {
178
- this.form = Object.assign({}, this.form, val);
179
- }
202
+ searchList:{
203
+ handler(){
204
+ this.init();
180
205
  },
181
- immediate: true,
182
- deep: true
206
+ immediate:true,
207
+ deep:true
183
208
  },
184
209
  form: {
185
210
  handler(val) {