eoss-ui 0.5.75 → 0.5.77

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.
Files changed (58) hide show
  1. package/lib/button-group.js +26 -0
  2. package/lib/button.js +26 -0
  3. package/lib/checkbox-group.js +26 -0
  4. package/lib/data-table-form.js +26 -0
  5. package/lib/data-table.js +46 -16
  6. package/lib/date-picker.js +26 -0
  7. package/lib/dialog.js +26 -0
  8. package/lib/eoss-ui.common.js +371 -264
  9. package/lib/flow-group.js +26 -0
  10. package/lib/flow-list.js +37 -8
  11. package/lib/flow.js +26 -0
  12. package/lib/form.js +26 -0
  13. package/lib/handle-user.js +26 -0
  14. package/lib/handler.js +26 -0
  15. package/lib/index.js +1 -1
  16. package/lib/input-number.js +26 -0
  17. package/lib/input.js +26 -0
  18. package/lib/login.js +177 -123
  19. package/lib/main.js +26 -0
  20. package/lib/nav.js +26 -0
  21. package/lib/page.js +26 -0
  22. package/lib/player.js +26 -0
  23. package/lib/qr-code.js +79 -36
  24. package/lib/radio-group.js +26 -0
  25. package/lib/retrial-auth.js +26 -0
  26. package/lib/select-ganged.js +26 -0
  27. package/lib/select.js +26 -0
  28. package/lib/selector-panel.js +26 -0
  29. package/lib/selector.js +26 -0
  30. package/lib/sizer.js +26 -0
  31. package/lib/steps.js +26 -0
  32. package/lib/switch.js +26 -0
  33. package/lib/table-form.js +26 -0
  34. package/lib/tabs.js +26 -0
  35. package/lib/theme-chalk/index.css +1 -1
  36. package/lib/theme-chalk/login.css +1 -1
  37. package/lib/tips.js +26 -0
  38. package/lib/toolbar.js +3 -2
  39. package/lib/tree-group.js +60 -34
  40. package/lib/tree.js +41 -3
  41. package/lib/upload.js +26 -0
  42. package/lib/utils/util.js +26 -0
  43. package/lib/wujie.js +26 -0
  44. package/lib/wxlogin.js +54 -12
  45. package/package.json +2 -2
  46. package/packages/data-table/src/main.vue +15 -14
  47. package/packages/flow-list/src/main.vue +63 -41
  48. package/packages/login/src/main.vue +34 -18
  49. package/packages/qr-code/src/main.vue +48 -37
  50. package/packages/theme-chalk/lib/index.css +1 -1
  51. package/packages/theme-chalk/lib/login.css +1 -1
  52. package/packages/theme-chalk/src/login.scss +915 -430
  53. package/packages/toolbar/src/main.vue +16 -6
  54. package/packages/tree/src/main.vue +13 -1
  55. package/packages/tree-group/src/main.vue +24 -37
  56. package/packages/wxlogin/src/main.vue +30 -12
  57. package/src/index.js +1 -1
  58. package/src/utils/util.js +26 -0
@@ -137,8 +137,16 @@ export default {
137
137
  let filter = [];
138
138
 
139
139
  this.contents.forEach((items) => {
140
- let { config, type, reset, multiCondition, contents, group, ...other } =
141
- items;
140
+ let {
141
+ config,
142
+ type,
143
+ reset,
144
+ multiCondition,
145
+ contents,
146
+ group,
147
+ events,
148
+ ...other
149
+ } = items;
142
150
  if (type === 'text') {
143
151
  text = [
144
152
  h(
@@ -370,10 +378,12 @@ export default {
370
378
  model: this.advancedData,
371
379
  contents: contents
372
380
  },
373
- on: {
374
- submit: this.hanleSubmit,
375
- reset: this.hanleCancel
376
- }
381
+ on: events
382
+ ? events
383
+ : {
384
+ submit: this.hanleSubmit,
385
+ reset: this.hanleCancel
386
+ }
377
387
  },
378
388
  []
379
389
  )
@@ -365,6 +365,18 @@ export default {
365
365
  this.$refs.oaTree.filter(val);
366
366
  }
367
367
  }
368
+ },
369
+ param: {
370
+ deep: true,
371
+ handler() {
372
+ this.getTreeData();
373
+ }
374
+ },
375
+ where: {
376
+ deep: true,
377
+ handler() {
378
+ this.getTreeData();
379
+ }
368
380
  }
369
381
  },
370
382
  beforeCreate() {
@@ -393,7 +405,7 @@ export default {
393
405
  },
394
406
  //获取树节点
395
407
  getTreeDatas(param) {
396
- let params = util.extend({}, this.param, this.where, param);
408
+ let params = util.extend({}, this.param, this.where, param || {});
397
409
  if (!this.url || !this.isRemote) return;
398
410
  this.loading = true;
399
411
  util
@@ -87,7 +87,7 @@
87
87
  <template v-if="buttons" slot="button">
88
88
  <es-button
89
89
  v-for="(item, index) in buttons"
90
- :key="index"
90
+ :key="item.id || index"
91
91
  size="small"
92
92
  v-bind="item"
93
93
  v-on="item.events"
@@ -112,11 +112,15 @@
112
112
  >
113
113
  </es-tabs> -->
114
114
  <es-data-table
115
- :key="count"
116
115
  v-else-if="table"
117
116
  size="mini"
118
- v-bind="{ close: true, ...table }"
119
- :param="param"
117
+ v-bind="
118
+ handleExclAttribute({
119
+ data: { close: true, ...table },
120
+ attrs: ['param']
121
+ })
122
+ "
123
+ :param="params"
120
124
  :ref="table.ref ? table.ref : 'esDataTable'"
121
125
  v-on="{ ...$listeners, ...table.events }"
122
126
  >
@@ -276,17 +280,6 @@ export default {
276
280
  return 'wujie';
277
281
  }
278
282
  }
279
- },
280
- param() {
281
- if (this.params) {
282
- return this.params;
283
- } else if (
284
- this.table &&
285
- Object.prototype.hasOwnProperty.call(this.table, 'param')
286
- ) {
287
- return this.table.param;
288
- }
289
- return undefined;
290
283
  }
291
284
  },
292
285
  watch: {
@@ -306,34 +299,23 @@ export default {
306
299
  }
307
300
  }
308
301
  },
302
+ 'table.param': {
303
+ immediate: true,
304
+ deep: true,
305
+ handler(val, old) {
306
+ if (!util.isObjectEqual(val, old)) {
307
+ this.params = JSON.parse(JSON.stringify(val || {}));
308
+ }
309
+ }
310
+ },
309
311
  checkeds: {
310
312
  deep: true,
311
313
  handler() {
312
314
  let params = this.setParams();
313
315
  if (params) {
314
- if (
315
- this.table &&
316
- Object.prototype.hasOwnProperty.call(this.table, 'param')
317
- ) {
318
- this.params = util.extend(true, this.table.param, params);
319
- } else {
320
- this.params = params;
321
- }
316
+ this.params = { ...this.params, ...params };
322
317
  }
323
318
  }
324
- },
325
- //监听table,变化后重新加载,解决点击树节点后改变table对象导致的样式错乱问题
326
- table: {
327
- handler(val, oldVal) {
328
- if (val && val.param) {
329
- this.params = { ...this.params, ...val.param };
330
- }
331
- if (oldVal && val && val.url !== oldVal.url) {
332
- this.count++;
333
- }
334
- },
335
- deep: true,
336
- immediate: true
337
319
  }
338
320
  },
339
321
  data() {
@@ -341,13 +323,18 @@ export default {
341
323
  active: '0',
342
324
  checkeds: null,
343
325
  params: null,
344
- count: 0,
345
326
  wjprops: {}
346
327
  };
347
328
  },
348
329
  created() {},
349
330
  mounted() {},
350
331
  methods: {
332
+ handleExclAttribute({ data, attrs }) {
333
+ return util.exclAttribute({
334
+ data: data,
335
+ attrs: attrs
336
+ });
337
+ },
351
338
  getUrl(url, param, res) {
352
339
  let urls = url.split('?');
353
340
  if (urls[0].indexOf('.js') > 0) {
@@ -1,16 +1,17 @@
1
1
  <template>
2
2
  <div
3
3
  id="wxqrcode"
4
+ ref="wxqrcode"
4
5
  class="es-wx-qrcode"
5
- :style="{ width: width, height: height }"
6
+ :style="{ width: mwidth, height: mheight }"
6
7
  >
7
8
  <iframe
8
- v-if="src"
9
+ v-if="src && mwidth && mheight"
9
10
  frameborder="0"
10
11
  allowTransparency="true"
11
12
  scrolling="no"
12
- :width="width"
13
- :height="height"
13
+ :width="mwidth"
14
+ :height="mheight"
14
15
  :src="src"
15
16
  ></iframe>
16
17
  </div>
@@ -28,7 +29,7 @@ export default {
28
29
  default: false
29
30
  },
30
31
  appid: {
31
- required: true,
32
+ //required: true,
32
33
  type: String
33
34
  },
34
35
  scope: {
@@ -36,20 +37,20 @@ export default {
36
37
  type: [String, Array]
37
38
  },
38
39
  redirect_uri: {
39
- required: true,
40
+ //required: true,
40
41
  type: String
41
42
  },
42
43
  state: String,
43
44
  color: {
44
45
  type: String,
45
- validator: value => {
46
+ validator: (value) => {
46
47
  return ['black', 'white'].includes(value);
47
48
  }
48
49
  },
49
50
  href: String,
50
51
  lang: {
51
52
  type: String,
52
- validator: value => {
53
+ validator: (value) => {
53
54
  return ['en', 'cn'].includes(value);
54
55
  }
55
56
  },
@@ -59,8 +60,9 @@ export default {
59
60
  },
60
61
  height: {
61
62
  type: String,
62
- default: '400px'
63
+ default: '300px'
63
64
  },
65
+ auto: Boolean,
64
66
  param: {
65
67
  type: Object,
66
68
  default() {
@@ -70,15 +72,31 @@ export default {
70
72
  },
71
73
  data() {
72
74
  return {
73
- src: ''
75
+ src: '',
76
+ mwidth: 0,
77
+ mheight: 0
74
78
  };
75
79
  },
76
80
  computed: {},
77
81
  watch: {},
78
- created() {
82
+ created() {},
83
+ mounted() {
84
+ if (this.auto) {
85
+ let parent = this.$refs.wxqrcode.parentNode;
86
+ let h =
87
+ parent.offsetHeight -
88
+ parseInt(util.getStyle(parent, 'padding-top'), 10) -
89
+ parseInt(util.getStyle(parent, 'padding-bottom'), 10);
90
+ if (h > 0) {
91
+ this.mwidth = h + 'px';
92
+ this.mheight = h + 'px';
93
+ }
94
+ } else {
95
+ this.mwidth = this.width;
96
+ this.mheight = this.height;
97
+ }
79
98
  this.wxLogin();
80
99
  },
81
- mounted() {},
82
100
  methods: {
83
101
  wxLogin() {
84
102
  let option = util.extend(
package/src/index.js CHANGED
@@ -121,7 +121,7 @@ if (typeof window !== 'undefined' && window.Vue) {
121
121
  }
122
122
 
123
123
  export default {
124
- version: '0.5.75',
124
+ version: '0.5.77',
125
125
  install,
126
126
  Button,
127
127
  ButtonGroup,
package/src/utils/util.js CHANGED
@@ -2283,6 +2283,31 @@ const isObject = function (obj) {
2283
2283
  );
2284
2284
  };
2285
2285
 
2286
+ /**
2287
+ * isObjectEqual
2288
+ * @desc:判断对象是否相等
2289
+ * @author huangbo
2290
+ * @date 2022年5月7日
2291
+ * @param {Object} [obj] - 对象
2292
+ * @param {Object} [_obj] - 对象
2293
+ **/
2294
+ const isObjectEqual = function (obj, _obj) {
2295
+ if ((obj === undefined && _obj) || (obj && _obj === undefined)) {
2296
+ return false;
2297
+ }
2298
+ var aProps = Object.getOwnPropertyNames(obj);
2299
+ var bProps = Object.getOwnPropertyNames(_obj);
2300
+ if (aProps.length !== bProps.length) {
2301
+ return false;
2302
+ }
2303
+ for (let i in obj) {
2304
+ if (obj[i] !== _obj[i]) {
2305
+ return false;
2306
+ }
2307
+ }
2308
+ return true;
2309
+ };
2310
+
2286
2311
  /**
2287
2312
  * jointUrl
2288
2313
  * @desc:判断url地址是否以字符开头,没有则添加
@@ -3137,6 +3162,7 @@ export default {
3137
3162
  isLogged,
3138
3163
  isLogined,
3139
3164
  isObject,
3165
+ isObjectEqual,
3140
3166
  jointUrl,
3141
3167
  loadJs,
3142
3168
  loading,