@weitutech/by-components 1.1.211 → 1.1.213

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.
@@ -26680,7 +26680,7 @@ module.exports = function (key) {
26680
26680
 
26681
26681
  var aSet = __webpack_require__(7080);
26682
26682
  var SetHelpers = __webpack_require__(4402);
26683
- var clone = __webpack_require__(9286);
26683
+ var clone = __webpack_require__(6905);
26684
26684
  var size = __webpack_require__(5170);
26685
26685
  var getSetRecord = __webpack_require__(3789);
26686
26686
  var iterateSet = __webpack_require__(8469);
@@ -27201,7 +27201,7 @@ $({ target: 'Iterator', proto: true, real: true, forced: someWithoutClosingOnEar
27201
27201
 
27202
27202
  var aSet = __webpack_require__(7080);
27203
27203
  var SetHelpers = __webpack_require__(4402);
27204
- var clone = __webpack_require__(9286);
27204
+ var clone = __webpack_require__(6905);
27205
27205
  var getSetRecord = __webpack_require__(3789);
27206
27206
  var iterateSimple = __webpack_require__(507);
27207
27207
 
@@ -29473,7 +29473,7 @@ module.exports = function (it) {
29473
29473
 
29474
29474
  var aSet = __webpack_require__(7080);
29475
29475
  var add = (__webpack_require__(4402).add);
29476
- var clone = __webpack_require__(9286);
29476
+ var clone = __webpack_require__(6905);
29477
29477
  var getSetRecord = __webpack_require__(3789);
29478
29478
  var iterateSimple = __webpack_require__(507);
29479
29479
 
@@ -43489,6 +43489,28 @@ var global = module.exports = typeof window != 'undefined' && window.Math == Mat
43489
43489
  if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
43490
43490
 
43491
43491
 
43492
+ /***/ }),
43493
+
43494
+ /***/ 6905:
43495
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
43496
+
43497
+ "use strict";
43498
+
43499
+ var SetHelpers = __webpack_require__(4402);
43500
+ var iterate = __webpack_require__(8469);
43501
+
43502
+ var Set = SetHelpers.Set;
43503
+ var add = SetHelpers.add;
43504
+
43505
+ module.exports = function (set) {
43506
+ var result = new Set();
43507
+ iterate(set, function (it) {
43508
+ add(result, it);
43509
+ });
43510
+ return result;
43511
+ };
43512
+
43513
+
43492
43514
  /***/ }),
43493
43515
 
43494
43516
  /***/ 6935:
@@ -65841,28 +65863,6 @@ module.exports = function (it) {
65841
65863
  return pl;
65842
65864
  });
65843
65865
 
65844
- /***/ }),
65845
-
65846
- /***/ 9286:
65847
- /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
65848
-
65849
- "use strict";
65850
-
65851
- var SetHelpers = __webpack_require__(4402);
65852
- var iterate = __webpack_require__(8469);
65853
-
65854
- var Set = SetHelpers.Set;
65855
- var add = SetHelpers.add;
65856
-
65857
- module.exports = function (set) {
65858
- var result = new Set();
65859
- iterate(set, function (it) {
65860
- add(result, it);
65861
- });
65862
- return result;
65863
- };
65864
-
65865
-
65866
65866
  /***/ }),
65867
65867
 
65868
65868
  /***/ 9294:
@@ -74527,8 +74527,8 @@ var component = normalizeComponent(
74527
74527
  )
74528
74528
 
74529
74529
  /* harmony default export */ var pager = (component.exports);
74530
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"8cd600e8-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/table/index.vue?vue&type=template&id=96b0fb18
74531
- var tablevue_type_template_id_96b0fb18_render = function render() {
74530
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"8cd600e8-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/table/index.vue?vue&type=template&id=f5e98ace
74531
+ var tablevue_type_template_id_f5e98ace_render = function render() {
74532
74532
  var _vm = this,
74533
74533
  _c = _vm._self._c;
74534
74534
  return _c('div', [_c('vxe-grid', _vm._g(_vm._b({
@@ -74613,7 +74613,7 @@ var tablevue_type_template_id_96b0fb18_render = function render() {
74613
74613
  }
74614
74614
  }) : _vm._e()], 1);
74615
74615
  };
74616
- var tablevue_type_template_id_96b0fb18_staticRenderFns = [];
74616
+ var tablevue_type_template_id_f5e98ace_staticRenderFns = [];
74617
74617
 
74618
74618
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
74619
74619
  var es_array_push = __webpack_require__(4114);
@@ -77830,6 +77830,11 @@ var custom_column_component = normalizeComponent(
77830
77830
  handleOpenCustomColumn() {
77831
77831
  this.customTableVisible = true;
77832
77832
  },
77833
+ clearSelection() {
77834
+ if (this.$refs.xGrid) {
77835
+ this.$refs.xGrid.clearCheckboxRow();
77836
+ }
77837
+ },
77833
77838
  // 改变表头字段
77834
77839
  changeTableFields(cols) {
77835
77840
  var _this$gridOptions$cus3;
@@ -78243,8 +78248,8 @@ var custom_column_component = normalizeComponent(
78243
78248
  ;
78244
78249
  var table_component = normalizeComponent(
78245
78250
  components_tablevue_type_script_lang_js,
78246
- tablevue_type_template_id_96b0fb18_render,
78247
- tablevue_type_template_id_96b0fb18_staticRenderFns,
78251
+ tablevue_type_template_id_f5e98ace_render,
78252
+ tablevue_type_template_id_f5e98ace_staticRenderFns,
78248
78253
  false,
78249
78254
  null,
78250
78255
  null,
@@ -78751,13 +78756,16 @@ var pair_number_input_component = normalizeComponent(
78751
78756
  )
78752
78757
 
78753
78758
  /* harmony default export */ var pair_number_input = (pair_number_input_component.exports);
78754
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"8cd600e8-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/form/comps/custom-date-picker.vue?vue&type=template&id=7e995d1f
78755
- var custom_date_pickervue_type_template_id_7e995d1f_render = function render() {
78759
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"8cd600e8-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/form/comps/custom-date-picker.vue?vue&type=template&id=6ccfc0f6
78760
+ var custom_date_pickervue_type_template_id_6ccfc0f6_render = function render() {
78756
78761
  var _vm = this,
78757
78762
  _c = _vm._self._c;
78758
78763
  return _c('div', {
78759
- staticClass: "b-picker wrapper"
78760
- }, [_c('el-date-picker', _vm._b({
78764
+ staticClass: "b-picker wrapper",
78765
+ class: {
78766
+ 'b-picker--panel-shortcuts': _vm.shortcutLayout === 'panel'
78767
+ }
78768
+ }, [_vm.shortcutLayout === 'external' ? [_c('el-date-picker', _vm._b({
78761
78769
  staticStyle: {
78762
78770
  "width": "70%"
78763
78771
  },
@@ -78782,9 +78790,19 @@ var custom_date_pickervue_type_template_id_7e995d1f_render = function render() {
78782
78790
  }
78783
78791
  }
78784
78792
  }, [_vm._v(" " + _vm._s(item.label) + " ")]);
78785
- }), 0)], 1);
78793
+ }), 0)] : _c('el-date-picker', _vm._b({
78794
+ ref: "panelDatePicker",
78795
+ attrs: {
78796
+ "value": _vm.value,
78797
+ "popper-class": _vm.panelPopperClass
78798
+ },
78799
+ on: {
78800
+ "input": _vm.handleChange,
78801
+ "focus": _vm.handlePanelOpen
78802
+ }
78803
+ }, 'el-date-picker', _vm.panelDateOptions, false))], 2);
78786
78804
  };
78787
- var custom_date_pickervue_type_template_id_7e995d1f_staticRenderFns = [];
78805
+ var custom_date_pickervue_type_template_id_6ccfc0f6_staticRenderFns = [];
78788
78806
 
78789
78807
  // EXTERNAL MODULE: ./node_modules/moment/moment.js
78790
78808
  var moment = __webpack_require__(9412);
@@ -78821,6 +78839,16 @@ var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
78821
78839
  endTimeField: {
78822
78840
  type: String,
78823
78841
  default: ''
78842
+ },
78843
+ /**
78844
+ * 快捷按钮展示方式
78845
+ * external: 快捷按钮在输入框右侧(默认,保持原有样式)
78846
+ * panel: 快捷按钮在日期选择面板内左侧
78847
+ */
78848
+ shortcutLayout: {
78849
+ type: String,
78850
+ default: 'external',
78851
+ validator: value => ['external', 'panel'].includes(value)
78824
78852
  }
78825
78853
  },
78826
78854
  data() {
@@ -78865,33 +78893,71 @@ var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
78865
78893
  active: '',
78866
78894
  ...this.otherOption
78867
78895
  };
78896
+ },
78897
+ panelDateOptions() {
78898
+ const {
78899
+ pickerOptions: userPickerOptions = {},
78900
+ ...restOptions
78901
+ } = this.dateOptions;
78902
+ return {
78903
+ ...restOptions,
78904
+ pickerOptions: {
78905
+ ...userPickerOptions,
78906
+ shortcuts: this.panelShortcuts
78907
+ }
78908
+ };
78909
+ },
78910
+ panelShortcuts() {
78911
+ return this.shortcuts.map(item => ({
78912
+ text: item.label,
78913
+ onClick: picker => {
78914
+ this.active = item.key;
78915
+ picker.$emit('pick', [moment_default()(item.start_time).toDate(), moment_default()(item.end_time).toDate()]);
78916
+ this.schedulePanelShortcutHighlight();
78917
+ }
78918
+ }));
78919
+ },
78920
+ panelPopperClass() {
78921
+ return `by-custom-date-picker-panel by-custom-date-picker-panel--${this._uid}`;
78868
78922
  }
78869
78923
  },
78870
78924
  watch: {
78925
+ active() {
78926
+ if (this.shortcutLayout === 'panel') {
78927
+ this.schedulePanelShortcutHighlight();
78928
+ }
78929
+ },
78871
78930
  value: {
78872
- handler(newValue, oldValue) {
78873
- if (newValue && newValue.length) {
78874
- this.active = '';
78875
- this.shortcuts.forEach(item => {
78876
- if (item.start_time === newValue[0] && item.end_time === newValue[1]) {
78877
- this.active = item.key;
78878
- }
78879
- });
78880
- } else {
78881
- this.active = this.dateOptions.active;
78882
- const item = this.shortcuts.find(item => item.key === this.dateOptions.active) || {};
78883
- if (item.start_time && item.end_time) {
78884
- this.handleClick(item);
78885
- }
78886
- }
78931
+ handler(newValue) {
78932
+ this.syncActiveFromValue(newValue);
78887
78933
  },
78888
78934
  immediate: true
78889
78935
  }
78890
78936
  },
78891
78937
  methods: {
78938
+ syncActiveFromValue(newValue) {
78939
+ if (newValue && newValue.length) {
78940
+ const start = moment_default()(newValue[0]).format('YYYY-MM-DD');
78941
+ const end = moment_default()(newValue[1]).format('YYYY-MM-DD');
78942
+ let matchedKey = '';
78943
+ this.shortcuts.forEach(item => {
78944
+ if (item.start_time === start && item.end_time === end) {
78945
+ matchedKey = item.key;
78946
+ }
78947
+ });
78948
+ this.active = matchedKey;
78949
+ return;
78950
+ }
78951
+ this.active = this.dateOptions.active;
78952
+ const item = this.shortcuts.find(shortcut => shortcut.key === this.dateOptions.active) || {};
78953
+ if (item.start_time && item.end_time) {
78954
+ this.handleClick(item);
78955
+ }
78956
+ },
78892
78957
  handleChange(e) {
78893
78958
  if (!e) {
78894
78959
  this.$emit('input', []);
78960
+ this.active = '';
78895
78961
  if (this.startTimeField && this.endTimeField) {
78896
78962
  this.$emit('range-change', {
78897
78963
  startTime: '',
@@ -78907,8 +78973,10 @@ var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
78907
78973
  endTime: formattedDates[1]
78908
78974
  });
78909
78975
  }
78976
+
78977
+ // 日期选择器初始化时也会触发 input,需同步快捷项高亮状态
78978
+ this.syncActiveFromValue(formattedDates);
78910
78979
  }
78911
- this.active = '';
78912
78980
  },
78913
78981
  handleClick(item) {
78914
78982
  this.active = item.key;
@@ -78919,23 +78987,61 @@ var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
78919
78987
  endTime: item.end_time
78920
78988
  });
78921
78989
  }
78990
+ },
78991
+ handlePanelOpen() {
78992
+ if (this.shortcutLayout !== 'panel') return;
78993
+ this.syncActiveFromValue(this.value);
78994
+ this.schedulePanelShortcutHighlight();
78995
+ },
78996
+ getPanelElement() {
78997
+ const datePicker = this.$refs.panelDatePicker;
78998
+ if (!datePicker || !datePicker.picker) return null;
78999
+ return datePicker.picker.$el || null;
79000
+ },
79001
+ schedulePanelShortcutHighlight(retry = 0) {
79002
+ this.$nextTick(() => {
79003
+ const updated = this.updatePanelShortcutHighlight();
79004
+ if (!updated && retry < 8) {
79005
+ setTimeout(() => {
79006
+ this.schedulePanelShortcutHighlight(retry + 1);
79007
+ }, 50);
79008
+ }
79009
+ });
79010
+ },
79011
+ updatePanelShortcutHighlight() {
79012
+ const panel = this.getPanelElement() || document.querySelector(`.by-custom-date-picker-panel--${this._uid}`);
79013
+ if (!panel) return false;
79014
+ const shortcutEls = panel.querySelectorAll('.el-picker-panel__shortcut');
79015
+ if (!shortcutEls.length) return false;
79016
+ shortcutEls.forEach(el => {
79017
+ const label = (el.textContent || '').trim();
79018
+ const item = this.shortcuts.find(shortcut => shortcut.label === label);
79019
+ el.classList.toggle('is-active', !!(item && item.key === this.active));
79020
+ });
79021
+ return true;
78922
79022
  }
78923
79023
  }
78924
79024
  });
78925
79025
  ;// ./src/components/form/comps/custom-date-picker.vue?vue&type=script&lang=js
78926
79026
  /* harmony default export */ var comps_custom_date_pickervue_type_script_lang_js = (custom_date_pickervue_type_script_lang_js);
79027
+ ;// ./node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/form/comps/custom-date-picker.vue?vue&type=style&index=0&id=6ccfc0f6&prod&lang=scss
79028
+ // extracted by mini-css-extract-plugin
79029
+
79030
+ ;// ./src/components/form/comps/custom-date-picker.vue?vue&type=style&index=0&id=6ccfc0f6&prod&lang=scss
79031
+
78927
79032
  ;// ./src/components/form/comps/custom-date-picker.vue
78928
79033
 
78929
79034
 
78930
79035
 
79036
+ ;
78931
79037
 
78932
79038
 
78933
79039
  /* normalize component */
78934
- ;
79040
+
78935
79041
  var custom_date_picker_component = normalizeComponent(
78936
79042
  comps_custom_date_pickervue_type_script_lang_js,
78937
- custom_date_pickervue_type_template_id_7e995d1f_render,
78938
- custom_date_pickervue_type_template_id_7e995d1f_staticRenderFns,
79043
+ custom_date_pickervue_type_template_id_6ccfc0f6_render,
79044
+ custom_date_pickervue_type_template_id_6ccfc0f6_staticRenderFns,
78939
79045
  false,
78940
79046
  null,
78941
79047
  null,
@@ -78944,8 +79050,8 @@ var custom_date_picker_component = normalizeComponent(
78944
79050
  )
78945
79051
 
78946
79052
  /* harmony default export */ var custom_date_picker = (custom_date_picker_component.exports);
78947
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"8cd600e8-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/common-selector/ByCommonSelector.vue?vue&type=template&id=05ec4584
78948
- var ByCommonSelectorvue_type_template_id_05ec4584_render = function render() {
79053
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"8cd600e8-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/common-selector/ByCommonSelector.vue?vue&type=template&id=781ea1a3
79054
+ var ByCommonSelectorvue_type_template_id_781ea1a3_render = function render() {
78949
79055
  var _vm = this,
78950
79056
  _c = _vm._self._c;
78951
79057
  return _c('div', {
@@ -79537,7 +79643,7 @@ var ByCommonSelectorvue_type_template_id_05ec4584_render = function render() {
79537
79643
  }
79538
79644
  }, [_vm._v(" 加载中... ")]) : _vm._e()], 2);
79539
79645
  };
79540
- var ByCommonSelectorvue_type_template_id_05ec4584_staticRenderFns = [];
79646
+ var ByCommonSelectorvue_type_template_id_781ea1a3_staticRenderFns = [];
79541
79647
 
79542
79648
  ;// ./node_modules/pinyin-pro/dist/index.mjs
79543
79649
 
@@ -90316,6 +90422,12 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
90316
90422
  this.localSuffixInputValue = val;
90317
90423
  }
90318
90424
  },
90425
+ showSuffixInput() {
90426
+ this.scheduleExpandCheck();
90427
+ },
90428
+ showSuffixBatchInput() {
90429
+ this.scheduleExpandCheck();
90430
+ },
90319
90431
  enhancedAllOptions: {
90320
90432
  handler(newOptions) {
90321
90433
  if (this.type === 'enhancedSelect') {
@@ -90489,39 +90601,51 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
90489
90601
  // 如果找不到容器,保持当前状态不变
90490
90602
  return;
90491
90603
  }
90604
+ const scrollContainer = container.querySelector('.by_scroll-container');
90605
+ // 排除 A~Z 字母筛选组,只取选项行(含后置输入框、插槽、批量按钮等同行内容)
90606
+ const optionGroup = scrollContainer === null || scrollContainer === void 0 ? void 0 : scrollContainer.querySelector('.el-radio-group:not(.by_Eng), .el-checkbox-group');
90492
90607
 
90493
- // 获取所有选项元素
90494
- const items = container.querySelectorAll('.el-checkbox, .el-radio');
90608
+ // 至少需要一个选项才做宽度检测
90609
+ const items = optionGroup ? optionGroup.querySelectorAll('.el-checkbox, .el-radio') : container.querySelectorAll('.el-checkbox, .el-radio');
90495
90610
  if (!items.length) {
90496
90611
  this.needExpand = false;
90497
90612
  return;
90498
90613
  }
90499
90614
  try {
90500
- // 计算所有选项的总宽度
90501
- let totalWidth = 0;
90502
- items.forEach(item => {
90503
- if (item && item.offsetWidth) {
90504
- const style = getComputedStyle(item);
90505
- const marginLeft = parseInt(style.marginLeft) || 0;
90506
- const marginRight = parseInt(style.marginRight) || 0;
90507
- totalWidth += item.offsetWidth + marginLeft + marginRight;
90615
+ let needExpand = false;
90616
+ if (optionGroup && scrollContainer) {
90617
+ // 用选项组 scrollWidth 衡量整行内容(选项 + 后置输入框 + 插槽 + 批量按钮)
90618
+ const contentWidth = optionGroup.scrollWidth;
90619
+ let visibleWidth = scrollContainer.clientWidth;
90620
+ if (!visibleWidth) {
90621
+ visibleWidth = container.offsetWidth;
90508
90622
  }
90509
- });
90510
-
90511
- // 获取容器宽度
90512
- let containerWidth = container.offsetWidth;
90513
-
90514
- // 如果容器宽度为0,尝试获取父元素宽度
90515
- if (!containerWidth && container.parentElement) {
90516
- containerWidth = container.parentElement.offsetWidth;
90623
+ if (!visibleWidth && container.parentElement) {
90624
+ visibleWidth = container.parentElement.offsetWidth;
90625
+ }
90626
+ if (!visibleWidth) {
90627
+ visibleWidth = 500;
90628
+ }
90629
+ needExpand = contentWidth > visibleWidth;
90630
+ } else {
90631
+ // 回退:按选项逐项累加(兼容 DOM 结构异常场景)
90632
+ let totalWidth = 0;
90633
+ items.forEach(item => {
90634
+ if (item && item.offsetWidth) {
90635
+ const style = getComputedStyle(item);
90636
+ const marginLeft = parseInt(style.marginLeft) || 0;
90637
+ const marginRight = parseInt(style.marginRight) || 0;
90638
+ totalWidth += item.offsetWidth + marginLeft + marginRight;
90639
+ }
90640
+ });
90641
+ let containerWidth = container.offsetWidth;
90642
+ if (!containerWidth && container.parentElement) {
90643
+ containerWidth = container.parentElement.offsetWidth;
90644
+ }
90645
+ if (!containerWidth) containerWidth = 500;
90646
+ needExpand = totalWidth > containerWidth;
90517
90647
  }
90518
90648
 
90519
- // 确保有有效宽度
90520
- if (!containerWidth) containerWidth = 500;
90521
-
90522
- // 如果总宽度超过容器宽度,则需要展开按钮
90523
- const needExpand = totalWidth > containerWidth;
90524
-
90525
90649
  // 只有在状态变化时才更新,减少不必要的重渲染
90526
90650
  if (this.needExpand !== needExpand) {
90527
90651
  this.needExpand = needExpand;
@@ -91050,8 +91174,8 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
91050
91174
  ;
91051
91175
  var ByCommonSelector_component = normalizeComponent(
91052
91176
  common_selector_ByCommonSelectorvue_type_script_lang_js,
91053
- ByCommonSelectorvue_type_template_id_05ec4584_render,
91054
- ByCommonSelectorvue_type_template_id_05ec4584_staticRenderFns,
91177
+ ByCommonSelectorvue_type_template_id_781ea1a3_render,
91178
+ ByCommonSelectorvue_type_template_id_781ea1a3_staticRenderFns,
91055
91179
  false,
91056
91180
  null,
91057
91181
  null,
@@ -97680,8 +97804,8 @@ var ByTag_component = normalizeComponent(
97680
97804
  )
97681
97805
 
97682
97806
  /* harmony default export */ var ByTag = (ByTag_component.exports);
97683
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"8cd600e8-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/card-view/ByCardView.vue?vue&type=template&id=717526d6
97684
- var ByCardViewvue_type_template_id_717526d6_render = function render() {
97807
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"8cd600e8-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/card-view/ByCardView.vue?vue&type=template&id=55cc3152
97808
+ var ByCardViewvue_type_template_id_55cc3152_render = function render() {
97685
97809
  var _vm = this,
97686
97810
  _c = _vm._self._c;
97687
97811
  return _c('div', {
@@ -97693,13 +97817,23 @@ var ByCardViewvue_type_template_id_717526d6_render = function render() {
97693
97817
  staticClass: "by-card-view__head"
97694
97818
  }, [_vm.hasTitleText ? _c('span', {
97695
97819
  staticClass: "by-card-view__head-text"
97696
- }, [_vm.titleSlotLen > 0 ? _vm._t("title") : [_vm._v(_vm._s(_vm.effectiveTitle))]], 2) : _vm._e(), _vm.extraSlotLen > 0 ? _c('div', {
97820
+ }, [_c('span', {
97821
+ staticClass: "by-card-view__head-text-inner"
97822
+ }, [_vm.titleSlotLen > 0 ? _vm._t("title") : [_vm._v(_vm._s(_vm.effectiveTitle))]], 2), _vm.effectiveTooltip ? _c('el-tooltip', {
97823
+ attrs: {
97824
+ "effect": "dark",
97825
+ "content": _vm.effectiveTooltip,
97826
+ "placement": "top"
97827
+ }
97828
+ }, [_c('span', {
97829
+ staticClass: "by-card-view__tooltip"
97830
+ }, [_vm._v("?")])]) : _vm._e()], 1) : _vm._e(), _vm.extraSlotLen > 0 ? _c('div', {
97697
97831
  staticClass: "by-card-view__head-extra"
97698
97832
  }, [_vm._t("extra")], 2) : _vm._e()]) : _vm._e(), _c('div', {
97699
97833
  staticClass: "by-card-view__body"
97700
97834
  }, [_vm._t("default")], 2)], 2);
97701
97835
  };
97702
- var ByCardViewvue_type_template_id_717526d6_staticRenderFns = [];
97836
+ var ByCardViewvue_type_template_id_55cc3152_staticRenderFns = [];
97703
97837
 
97704
97838
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/card-view/ByCardView.vue?vue&type=script&lang=js
97705
97839
  /**
@@ -97735,6 +97869,11 @@ var ByCardViewvue_type_template_id_717526d6_staticRenderFns = [];
97735
97869
  customHeader: {
97736
97870
  type: Boolean,
97737
97871
  default: false
97872
+ },
97873
+ /** 标题右侧的提示文案,配置后显示问号图标,鼠标悬停展示 */
97874
+ tooltip: {
97875
+ type: String,
97876
+ default: ''
97738
97877
  }
97739
97878
  },
97740
97879
  computed: {
@@ -97755,6 +97894,10 @@ var ByCardViewvue_type_template_id_717526d6_staticRenderFns = [];
97755
97894
  },
97756
97895
  hasTitleText() {
97757
97896
  return this.effectiveTitle.length > 0 || this.titleSlotLen > 0;
97897
+ },
97898
+ effectiveTooltip() {
97899
+ const t = this.tooltip;
97900
+ return t != null ? String(t) : '';
97758
97901
  }
97759
97902
  },
97760
97903
  methods: {
@@ -97786,8 +97929,8 @@ var ByCardViewvue_type_template_id_717526d6_staticRenderFns = [];
97786
97929
  ;
97787
97930
  var ByCardView_component = normalizeComponent(
97788
97931
  card_view_ByCardViewvue_type_script_lang_js,
97789
- ByCardViewvue_type_template_id_717526d6_render,
97790
- ByCardViewvue_type_template_id_717526d6_staticRenderFns,
97932
+ ByCardViewvue_type_template_id_55cc3152_render,
97933
+ ByCardViewvue_type_template_id_55cc3152_staticRenderFns,
97791
97934
  false,
97792
97935
  null,
97793
97936
  null,
@@ -1 +1 @@
1
- .b-form .header[data-v-1fc1d18e]{margin-bottom:20px}.b-form .footer[data-v-1fc1d18e]{margin-top:20px}
1
+ .by-custom-date-picker-panel{--by-date-panel-primary:#409eff;--by-date-panel-primary-light:#e8f3ff;--by-date-panel-sidebar-bg:#f7f8fa;--by-date-panel-border:#ebeef5;--by-date-panel-text:#606266;--by-date-panel-text-secondary:#909399;border:1px solid var(--by-date-panel-border)!important;border-radius:8px!important;box-shadow:0 8px 24px rgba(31,45,61,.12)!important;overflow:hidden}.by-custom-date-picker-panel.el-date-range-picker.has-sidebar{width:712px}.by-custom-date-picker-panel .el-picker-panel__body-wrapper{background:#fff}.by-custom-date-picker-panel .el-picker-panel__sidebar{width:80px;padding:10px 6px;background:var(--by-date-panel-sidebar-bg);border-right:1px solid var(--by-date-panel-border);box-sizing:border-box}.by-custom-date-picker-panel .el-picker-panel__sidebar+.el-picker-panel__body{margin-left:80px}.by-custom-date-picker-panel .el-picker-panel__shortcut{display:block;width:auto;margin:2px 0;padding:0 8px;border:0;border-radius:6px;background-color:transparent;line-height:32px;font-size:13px;color:var(--by-date-panel-text);text-align:left;transition:color .2s ease,background-color .2s ease}.by-custom-date-picker-panel .el-picker-panel__shortcut:hover{color:var(--by-date-panel-primary);background-color:#eef1f6}.by-custom-date-picker-panel .el-picker-panel__shortcut.is-active{color:var(--by-date-panel-primary)!important;font-weight:500;background-color:var(--by-date-panel-primary-light)}.by-custom-date-picker-panel .el-picker-panel__body{min-width:auto}.by-custom-date-picker-panel .el-date-range-picker__content{padding:12px 14px 14px}.by-custom-date-picker-panel .el-date-range-picker__content.is-left{border-right-color:var(--by-date-panel-border)}.by-custom-date-picker-panel .el-date-range-picker__header{height:32px;line-height:32px;margin-bottom:4px}.by-custom-date-picker-panel .el-date-range-picker__header div{font-size:15px;font-weight:500;color:#303133}.by-custom-date-picker-panel .el-picker-panel__icon-btn{margin-top:4px;border-radius:4px;transition:color .2s ease,background-color .2s ease}.by-custom-date-picker-panel .el-picker-panel__icon-btn:hover{color:var(--by-date-panel-primary);background-color:#f2f6fc}.by-custom-date-picker-panel .el-date-table th{color:var(--by-date-panel-text-secondary);font-weight:500;border-bottom-color:var(--by-date-panel-border)}.by-custom-date-picker-panel .el-date-table td.available:hover{color:var(--by-date-panel-primary)}.by-custom-date-picker-panel .el-date-table td.in-range div{background-color:#f0f7ff}.by-custom-date-picker-panel .el-date-table td.end-date div,.by-custom-date-picker-panel .el-date-table td.start-date div{color:#fff}.by-custom-date-picker-panel .el-date-table td.end-date span,.by-custom-date-picker-panel .el-date-table td.start-date span{background-color:var(--by-date-panel-primary);color:#fff}.by-custom-date-picker-panel .el-date-table td.today span{color:var(--by-date-panel-primary);font-weight:600}.by-custom-date-picker-panel .el-date-table td.today.end-date span,.by-custom-date-picker-panel .el-date-table td.today.start-date span{color:#fff;font-weight:500}.b-form .header[data-v-1fc1d18e]{margin-bottom:20px}.b-form .footer[data-v-1fc1d18e]{margin-top:20px}