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/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
  * @Description:
3
3
  * @Author: 王国火
4
4
  * @Date: 2022-09-15 16:57:23
5
- * @LastEditTime: 2022-10-25 10:01:51
5
+ * @LastEditTime: 2023-06-07 09:05:18
6
6
  * @LastEditors: 王国火
7
7
  -->
8
8
  # byt-ui
@@ -26,11 +26,25 @@ import {utils} from "byt-ui"
26
26
 
27
27
  ## 组件调用示例
28
28
  ```html
29
- <base-view
30
- :table-data="tableData"
31
- :columns="columns"
29
+ <byt-base-view
30
+ :label-width="100"
31
+ :search-list="searchList"
32
+ :fetch="getTableData"
33
+ :table-data="tableData"
34
+ :columns="columns"
35
+ :pagination="pagination"
36
+ ref="baseView"
32
37
  >
33
- </base-view>
38
+ <template #btns>
39
+ <el-button type="primary" icon="el-icon-plus">新增</el-button>
40
+ <el-button type="primary" icon="el-icon-plus" @click="onClear">初始化表单</el-button>
41
+ </template>
42
+
43
+ <template #actions>
44
+ <el-button type="text" icon="el-icon-edit">编辑</el-button>
45
+ <el-button type="text" class="el-button-delete" icon="el-icon-delete">删除</el-button>
46
+ </template>
47
+ </byt-base-view>
34
48
  ```
35
49
 
36
50
  ```javascript
@@ -38,11 +52,95 @@ export default {
38
52
  name: 'App',
39
53
  data(){
40
54
  return{
41
- tableData:[],
42
- columns:[
43
- {key:"111",label:"aaa"},
44
- {key:"111",label:"bbb"}
45
- ]
55
+ searchList: [
56
+ {
57
+ label: '输入框',
58
+ key: 'input',
59
+ type: 'input',
60
+ default:"abc"
61
+ },
62
+ {
63
+ label: '下拉框',
64
+ key: 'select',
65
+ type: 'select',
66
+ default:1,
67
+ options:[
68
+ {label:"a",value:1},
69
+ {label:"b",value:2},
70
+ {label:"c",value:3},
71
+ {label:"d",value:4}
72
+ ]
73
+ },
74
+ {
75
+ label: '级联选择',
76
+ key: 'cascader',
77
+ type: 'cascader',
78
+ default:"yizhi",
79
+ options:[{
80
+ value: 'zhinan',
81
+ label: '指南',
82
+ children: [{
83
+ value: 'shejiyuanze',
84
+ label: '设计原则',
85
+ children: [{
86
+ value: 'yizhi',
87
+ label: '一致'
88
+ }, {
89
+ value: 'fankui',
90
+ label: '反馈'
91
+ }, {
92
+ value: 'xiaolv',
93
+ label: '效率'
94
+ }, {
95
+ value: 'kekong',
96
+ label: '可控'
97
+ }]
98
+ }]
99
+ }]
100
+ },
101
+ {
102
+ label: '年月日',
103
+ key: 'date',
104
+ type: 'datepicker',
105
+ default:moment().format("YYYY-MM-DD")
106
+ },
107
+ {
108
+ label: '年月',
109
+ key: 'month',
110
+ type: 'datepicker',
111
+ fields:"month",
112
+ default:moment().format("YYYY-MM")
113
+ },
114
+ {
115
+ label: '年',
116
+ key: 'year',
117
+ type: 'datepicker',
118
+ fields:"year",
119
+ default:moment().format("YYYY")
120
+ },
121
+ {
122
+ label: '日期区间',
123
+ key: 'daterange',
124
+ type: 'daterange',
125
+ default:["2023-06-05","2023-06-07"]
126
+ }
127
+ ],
128
+ tableData: [],
129
+ columns: [
130
+ { label: '头像', slot: 'avatar', fixed: 'left' },
131
+ { label: '用户名', key: 'username', fixed: 'left' },
132
+ { label: '姓名', key: 'name' },
133
+ { label: '手机号', key: 'phone' },
134
+ { label: '昵称', key: 'nickname' },
135
+ { label: '邮箱', key: 'email' },
136
+ { label: '状态', slot: 'lockFlag' },
137
+ { label: '创建时间', key: 'createTime' },
138
+ { label: '操作', key: 'actions', slot: 'actions', width: 160, fixed: 'right' }
139
+ ],
140
+ loading: false,
141
+ pagination: {
142
+ total: 0
143
+ }
46
144
  }
47
145
  }
48
146
  }
@@ -127143,7 +127143,7 @@ if (typeof window !== 'undefined') {
127143
127143
  // EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
127144
127144
  var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__(13797);
127145
127145
  var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_);
127146
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/components/basic-view/index.vue?vue&type=template&id=0edabe78&scoped=true&
127146
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/components/basic-view/index.vue?vue&type=template&id=52e02bd1&scoped=true&
127147
127147
  var render = function render() {
127148
127148
  var _vm = this,
127149
127149
  _c = _vm._self._c;
@@ -127161,7 +127161,8 @@ var render = function render() {
127161
127161
  },
127162
127162
  on: {
127163
127163
  "search": _vm.onSearch,
127164
- "reset": _vm.onReset
127164
+ "reset": _vm.onReset,
127165
+ "init": _vm.init
127165
127166
  },
127166
127167
  model: {
127167
127168
  value: _vm.searchForm,
@@ -127284,8 +127285,8 @@ var render = function render() {
127284
127285
 
127285
127286
  var staticRenderFns = [];
127286
127287
 
127287
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/components/form-view/index.vue?vue&type=template&id=d9efa21c&scoped=true&
127288
- var form_viewvue_type_template_id_d9efa21c_scoped_true_render = function render() {
127288
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/components/form-view/index.vue?vue&type=template&id=440764bc&scoped=true&
127289
+ var form_viewvue_type_template_id_440764bc_scoped_true_render = function render() {
127289
127290
  var _vm = this,
127290
127291
  _c = _vm._self._c;
127291
127292
 
@@ -127398,7 +127399,7 @@ var form_viewvue_type_template_id_d9efa21c_scoped_true_render = function render(
127398
127399
  }, [_vm._v("重置")])], 1)], 2);
127399
127400
  };
127400
127401
 
127401
- var form_viewvue_type_template_id_d9efa21c_scoped_true_staticRenderFns = [];
127402
+ var form_viewvue_type_template_id_440764bc_scoped_true_staticRenderFns = [];
127402
127403
 
127403
127404
  // EXTERNAL MODULE: ./node_modules/moment/moment.js
127404
127405
  var moment = __webpack_require__(30381);
@@ -127526,15 +127527,46 @@ var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
127526
127527
  if (v) resolve(v);
127527
127528
  });
127528
127529
  });
127530
+ },
127531
+
127532
+ setDefaultVal(el) {
127533
+ // 处理默认值,可拓展
127534
+ const dval = el.default; // 默认值
127535
+
127536
+ switch (el.type) {
127537
+ case 'input':
127538
+ case 'select':
127539
+ return dval === 0 || dval === '0' ? dval : dval || '';
127540
+
127541
+ case 'inputNumber':
127542
+ return dval === 0 ? dval : dval || null;
127543
+
127544
+ case 'treeSelect':
127545
+ return [];
127546
+
127547
+ default:
127548
+ return dval === 0 || dval === '0' ? dval : dval || '';
127549
+ }
127550
+ },
127551
+
127552
+ formatForm(list) {
127553
+ //有些查询条件初始携带默认值,需要处理;
127554
+ this.form = Object.assign({}, this.form, list.reduce((obj, el) => {
127555
+ obj[el.key] = this.setDefaultVal(el);
127556
+ return obj;
127557
+ }, {}));
127558
+ },
127559
+
127560
+ init() {
127561
+ this.formatForm(this.searchList);
127562
+ this.$emit('init', this.form);
127529
127563
  }
127530
127564
 
127531
127565
  },
127532
127566
  watch: {
127533
- value: {
127534
- handler(val) {
127535
- if (JSON.stringify(val) != JSON.stringify(this.form)) {
127536
- this.form = Object.assign({}, this.form, val);
127537
- }
127567
+ searchList: {
127568
+ handler() {
127569
+ this.init();
127538
127570
  },
127539
127571
 
127540
127572
  immediate: true,
@@ -127663,11 +127695,11 @@ function normalizeComponent(
127663
127695
  ;
127664
127696
  var component = normalizeComponent(
127665
127697
  components_form_viewvue_type_script_lang_js_,
127666
- form_viewvue_type_template_id_d9efa21c_scoped_true_render,
127667
- form_viewvue_type_template_id_d9efa21c_scoped_true_staticRenderFns,
127698
+ form_viewvue_type_template_id_440764bc_scoped_true_render,
127699
+ form_viewvue_type_template_id_440764bc_scoped_true_staticRenderFns,
127668
127700
  false,
127669
127701
  null,
127670
- "d9efa21c",
127702
+ "440764bc",
127671
127703
  null
127672
127704
 
127673
127705
  )
@@ -127767,12 +127799,15 @@ var component = normalizeComponent(
127767
127799
  };
127768
127800
  },
127769
127801
 
127770
- mounted() {
127771
- // 有些特殊情况需要手动请求列表数据
127772
- if (this.autoLoad) this.fetchData();
127773
- },
127802
+ mounted() {},
127774
127803
 
127775
127804
  methods: {
127805
+ init(form) {
127806
+ this.searchForm = Object.assign({}, this.searchForm, form); // 有些特殊情况需要手动请求列表数据
127807
+
127808
+ if (this.autoLoad) this.fetchData();
127809
+ },
127810
+
127776
127811
  onSelectAllEvent(list) {
127777
127812
  /** 多选框全选触发
127778
127813
  * @event checkbox-all
@@ -127841,6 +127876,10 @@ var component = normalizeComponent(
127841
127876
  this.fetchData();
127842
127877
  },
127843
127878
 
127879
+ clear() {
127880
+ this.$refs.search.init();
127881
+ },
127882
+
127844
127883
  onSizeChange(size) {
127845
127884
  this.pageOpt.pageSize = size;
127846
127885
  this.pageOpt.page = 1;
@@ -127854,14 +127893,6 @@ var component = normalizeComponent(
127854
127893
  this.$nextTick(() => {
127855
127894
  this.fetchData();
127856
127895
  });
127857
- },
127858
-
127859
- initForm(list) {
127860
- list.map(v => {
127861
- if (v.value || v.value == 0) {
127862
- this.$set(this.searchForm, v.key, v.value);
127863
- }
127864
- });
127865
127896
  }
127866
127897
 
127867
127898
  },
@@ -127873,14 +127904,6 @@ var component = normalizeComponent(
127873
127904
  }
127874
127905
  },
127875
127906
 
127876
- immediate: true,
127877
- deep: true
127878
- },
127879
- searchList: {
127880
- handler(val) {
127881
- this.initForm(val);
127882
- },
127883
-
127884
127907
  immediate: true,
127885
127908
  deep: true
127886
127909
  }
@@ -127888,10 +127911,10 @@ var component = normalizeComponent(
127888
127911
  });
127889
127912
  ;// CONCATENATED MODULE: ./packages/components/basic-view/index.vue?vue&type=script&lang=js&
127890
127913
  /* harmony default export */ var components_basic_viewvue_type_script_lang_js_ = (basic_viewvue_type_script_lang_js_);
127891
- ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/components/basic-view/index.vue?vue&type=style&index=0&id=0edabe78&prod&lang=scss&scoped=true&
127914
+ ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/components/basic-view/index.vue?vue&type=style&index=0&id=52e02bd1&prod&lang=scss&scoped=true&
127892
127915
  // extracted by mini-css-extract-plugin
127893
127916
 
127894
- ;// CONCATENATED MODULE: ./packages/components/basic-view/index.vue?vue&type=style&index=0&id=0edabe78&prod&lang=scss&scoped=true&
127917
+ ;// CONCATENATED MODULE: ./packages/components/basic-view/index.vue?vue&type=style&index=0&id=52e02bd1&prod&lang=scss&scoped=true&
127895
127918
 
127896
127919
  ;// CONCATENATED MODULE: ./packages/components/basic-view/index.vue
127897
127920
 
@@ -127908,7 +127931,7 @@ var basic_view_component = normalizeComponent(
127908
127931
  staticRenderFns,
127909
127932
  false,
127910
127933
  null,
127911
- "0edabe78",
127934
+ "52e02bd1",
127912
127935
  null
127913
127936
 
127914
127937
  )