@weitutech/by-components 1.2.25 → 1.2.27

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.
@@ -94595,12 +94595,15 @@ ByDialogService.install = function (Vue) {
94595
94595
  Vue.prototype.$byDialog = ByDialogService;
94596
94596
  };
94597
94597
  /* harmony default export */ var by_dialog_ByDialogService = (ByDialogService);
94598
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"185687ec-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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/cascader-panel/ByCascaderPanel.vue?vue&type=template&id=4f120599
94599
- var ByCascaderPanelvue_type_template_id_4f120599_render = function render() {
94598
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"185687ec-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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/cascader-panel/ByCascaderPanel.vue?vue&type=template&id=727f392c
94599
+ var ByCascaderPanelvue_type_template_id_727f392c_render = function render() {
94600
94600
  var _vm = this,
94601
94601
  _c = _vm._self._c;
94602
94602
  return _c('div', {
94603
- staticClass: "cascader-panel"
94603
+ staticClass: "cascader-panel",
94604
+ class: {
94605
+ 'is-refreshing': _vm.refreshing
94606
+ }
94604
94607
  }, [_c('div', {
94605
94608
  staticClass: "panel-container"
94606
94609
  }, [_c('div', {
@@ -94613,13 +94616,22 @@ var ByCascaderPanelvue_type_template_id_4f120599_render = function render() {
94613
94616
  staticClass: "search-section"
94614
94617
  }, [_c('div', {
94615
94618
  staticClass: "search-container"
94619
+ }, [_c('div', {
94620
+ staticClass: "search-input-wrap",
94621
+ class: {
94622
+ 'has-batch-suffix': _vm.showBatchSearchBtn,
94623
+ 'is-clearable': _vm.showBatchSearchBtn
94624
+ }
94616
94625
  }, [_c('el-input', {
94617
94626
  staticClass: "search-input",
94627
+ class: {
94628
+ 'has-batch-suffix': _vm.showBatchSearchBtn
94629
+ },
94618
94630
  attrs: {
94619
94631
  "placeholder": _vm.searchPlaceholder,
94620
94632
  "clearable": "",
94621
94633
  "size": "mini",
94622
- "disabled": _vm.isViewMode
94634
+ "disabled": _vm.panelViewMode
94623
94635
  },
94624
94636
  on: {
94625
94637
  "input": _vm.handleSearch
@@ -94631,9 +94643,11 @@ var ByCascaderPanelvue_type_template_id_4f120599_render = function render() {
94631
94643
  },
94632
94644
  expression: "searchInput"
94633
94645
  }
94634
- }), _vm.isMultiple && !_vm.isViewMode ? _c('el-popover', {
94646
+ }), _vm.showBatchSearchBtn ? _c('div', {
94647
+ staticClass: "batch-input-suffix"
94648
+ }, [_c('el-popover', {
94635
94649
  attrs: {
94636
- "placement": "bottom-start",
94650
+ "placement": "bottom-end",
94637
94651
  "width": 300,
94638
94652
  "trigger": "click",
94639
94653
  "popper-class": "batch-search-popover"
@@ -94686,18 +94700,43 @@ var ByCascaderPanelvue_type_template_id_4f120599_render = function render() {
94686
94700
  "click": _vm.handleBatchSearch
94687
94701
  }
94688
94702
  }, [_vm._v("确定")])], 1)], 1), _c('el-button', {
94689
- staticClass: "batch-search-btn",
94703
+ staticClass: "batch-input-btn batch-input-btn--inner batch-input-btn--mini",
94690
94704
  attrs: {
94691
94705
  "slot": "reference",
94692
- "size": "mini",
94693
- "type": "text"
94706
+ "type": "text",
94707
+ "size": "mini"
94708
+ },
94709
+ on: {
94710
+ "click": function ($event) {
94711
+ $event.stopPropagation();
94712
+ }
94694
94713
  },
94695
94714
  slot: "reference"
94696
94715
  }, [_c('i', {
94697
94716
  staticClass: "el-icon-edit-outline"
94717
+ })])], 1)], 1) : _vm._e()], 1), _vm.showRefreshBtn ? _c('el-tooltip', {
94718
+ attrs: {
94719
+ "content": _vm.refreshTooltip,
94720
+ "placement": "top",
94721
+ "effect": "light",
94722
+ "popper-class": "cascader-refresh-tooltip",
94723
+ "disabled": !_vm.refreshTooltip
94724
+ }
94725
+ }, [_c('el-button', {
94726
+ staticClass: "refresh-btn refresh-btn--mini",
94727
+ attrs: {
94728
+ "type": "text",
94729
+ "size": "mini",
94730
+ "disabled": _vm.refreshing
94731
+ },
94732
+ on: {
94733
+ "click": _vm.handleRefresh
94734
+ }
94735
+ }, [_c('i', {
94736
+ class: _vm.refreshing ? 'el-icon-loading' : 'el-icon-refresh'
94698
94737
  })])], 1) : _vm._e()], 1)]), _c('div', {
94699
94738
  staticClass: "action-buttons"
94700
- }, [_vm.searchInput === '' && _vm.isMultiple && _vm.showSelectAll && !_vm.isViewMode ? _c('div', {
94739
+ }, [_vm.searchInput === '' && _vm.isMultiple && _vm.showSelectAll && !_vm.panelViewMode ? _c('div', {
94701
94740
  staticClass: "all-select",
94702
94741
  on: {
94703
94742
  "click": _vm.handleSelectAll
@@ -94789,7 +94828,7 @@ var ByCascaderPanelvue_type_template_id_4f120599_render = function render() {
94789
94828
  staticClass: "panel-title"
94790
94829
  }, [_vm._v("已选(" + _vm._s(_vm.selectedItems.length) + ")")]), _c('div', {
94791
94830
  staticClass: "action-buttons"
94792
- }, [_vm.selectedItems.length > 0 && !_vm.isViewMode ? _c('div', {
94831
+ }, [_vm.selectedItems.length > 0 && !_vm.panelViewMode ? _c('div', {
94793
94832
  staticClass: "clear-btn",
94794
94833
  on: {
94795
94834
  "click": _vm.clearSelection
@@ -94843,7 +94882,7 @@ var ByCascaderPanelvue_type_template_id_4f120599_render = function render() {
94843
94882
  "padding": "0 !important",
94844
94883
  "vertical-align": "middle !important"
94845
94884
  }
94846
- }, [_vm._v(" " + _vm._s(item[_vm.subtitleField]) + " ")]) : _vm._e()]), !_vm.isViewMode ? _c('div', {
94885
+ }, [_vm._v(" " + _vm._s(item[_vm.subtitleField]) + " ")]) : _vm._e()]), !_vm.panelViewMode ? _c('div', {
94847
94886
  staticClass: "remove-btn",
94848
94887
  on: {
94849
94888
  "click": function ($event) {
@@ -94857,7 +94896,7 @@ var ByCascaderPanelvue_type_template_id_4f120599_render = function render() {
94857
94896
  staticClass: "empty-state"
94858
94897
  }, [_vm._v("暂无选中项")]) : _vm._e()], 2)])])])]);
94859
94898
  };
94860
- var ByCascaderPanelvue_type_template_id_4f120599_staticRenderFns = [];
94899
+ var ByCascaderPanelvue_type_template_id_727f392c_staticRenderFns = [];
94861
94900
 
94862
94901
  ;// ./src/utils/cascaderUtils.js
94863
94902
 
@@ -95576,6 +95615,24 @@ class CascaderUtils {
95576
95615
  subtitleField: {
95577
95616
  type: String,
95578
95617
  default: ''
95618
+ },
95619
+ /**
95620
+ * 是否显示刷新按钮。
95621
+ * 点击后仅触发 refresh 事件,由业务侧重新请求并更新 options。
95622
+ */
95623
+ showRefresh: {
95624
+ type: Boolean,
95625
+ default: false
95626
+ },
95627
+ /** 刷新按钮 tooltip 文案,传空字符串则不展示提示 */
95628
+ refreshTooltip: {
95629
+ type: String,
95630
+ default: '刷新数据'
95631
+ },
95632
+ /** 刷新中状态(由业务控制,用于展示 loading 并防止连点) */
95633
+ refreshing: {
95634
+ type: Boolean,
95635
+ default: false
95579
95636
  }
95580
95637
  },
95581
95638
  data() {
@@ -95612,6 +95669,21 @@ class CascaderUtils {
95612
95669
  isMultiple() {
95613
95670
  return this.cascaderProps.multiple !== false;
95614
95671
  },
95672
+ // 是否显示批量搜索按钮(多选且非只读态)
95673
+ showBatchSearchBtn() {
95674
+ return this.isMultiple && !this.panelViewMode;
95675
+ },
95676
+ // 是否显示刷新按钮(开启且非业务查看态;刷新中仍显示以展示 loading)
95677
+ showRefreshBtn() {
95678
+ return this.showRefresh && !this.isViewMode;
95679
+ },
95680
+ /**
95681
+ * 刷新中临时进入只读态,复用 isViewMode 的交互限制(禁用搜索/勾选/清除等)。
95682
+ * 不覆盖 props.isViewMode,业务传入的查看态不受影响。
95683
+ */
95684
+ panelViewMode() {
95685
+ return this.isViewMode || this.refreshing;
95686
+ },
95615
95687
  // 当前选中的值(单选时返回单个值,多选时返回数组)
95616
95688
  currentValue() {
95617
95689
  if (this.isMultiple) {
@@ -95702,6 +95774,12 @@ class CascaderUtils {
95702
95774
  this.$emit('change', this.getSelectedData());
95703
95775
  },
95704
95776
  deep: true
95777
+ },
95778
+ // 刷新态:只锁交互,不重跑 initOptions(避免总数闪 0、误触发 change)
95779
+ refreshing(val) {
95780
+ if (val) {
95781
+ this.batchSearchVisible = false;
95782
+ }
95705
95783
  }
95706
95784
  },
95707
95785
  mounted() {
@@ -95777,7 +95855,7 @@ class CascaderUtils {
95777
95855
  // 处理选项数据,添加禁用状态
95778
95856
  processOptions(options) {
95779
95857
  const processedOptions = JSON.parse(JSON.stringify(options));
95780
- // 查看模式:禁用所有节点(包含父子)
95858
+ // 仅业务查看态全禁用节点;刷新中只读由 UI 锁(panelViewMode + pointer-events)承担
95781
95859
  if (this.isViewMode) {
95782
95860
  const disabledKey = this.cascaderProps && this.cascaderProps.disabled || 'disabled';
95783
95861
  const childrenKey = this.cascaderProps && this.cascaderProps.children || 'children';
@@ -96166,6 +96244,20 @@ class CascaderUtils {
96166
96244
  this.searchOptions = [];
96167
96245
  }
96168
96246
  },
96247
+ /**
96248
+ * 点击刷新:通知业务重新拉取级联数据。
96249
+ * 清空左侧搜索,避免旧关键词在新数据上残留空结果;
96250
+ * 组件本身不请求接口,也不清空选中态;options 更新后由现有 watch 驱动面板刷新。
96251
+ */
96252
+ handleRefresh() {
96253
+ if (this.panelViewMode) return;
96254
+ if (this.searchInput) {
96255
+ this.searchInput = '';
96256
+ this.isShowSearch = false;
96257
+ this.searchOptions = [];
96258
+ }
96259
+ this.$emit('refresh');
96260
+ },
96169
96261
  // 处理批量搜索
96170
96262
  handleBatchSearch() {
96171
96263
  if (!this.batchSearchContent.trim()) {
@@ -96288,8 +96380,8 @@ class CascaderUtils {
96288
96380
  ;
96289
96381
  var ByCascaderPanel_component = normalizeComponent(
96290
96382
  cascader_panel_ByCascaderPanelvue_type_script_lang_js,
96291
- ByCascaderPanelvue_type_template_id_4f120599_render,
96292
- ByCascaderPanelvue_type_template_id_4f120599_staticRenderFns,
96383
+ ByCascaderPanelvue_type_template_id_727f392c_render,
96384
+ ByCascaderPanelvue_type_template_id_727f392c_staticRenderFns,
96293
96385
  false,
96294
96386
  null,
96295
96387
  null,
@@ -96298,12 +96390,15 @@ var ByCascaderPanel_component = normalizeComponent(
96298
96390
  )
96299
96391
 
96300
96392
  /* harmony default export */ var ByCascaderPanel = (ByCascaderPanel_component.exports);
96301
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"185687ec-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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/cascader-panel-pro/ByCascaderPanelPro.vue?vue&type=template&id=e4b10a08
96302
- var ByCascaderPanelProvue_type_template_id_e4b10a08_render = function render() {
96393
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"185687ec-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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/cascader-panel-pro/ByCascaderPanelPro.vue?vue&type=template&id=961f637e
96394
+ var ByCascaderPanelProvue_type_template_id_961f637e_render = function render() {
96303
96395
  var _vm = this,
96304
96396
  _c = _vm._self._c;
96305
96397
  return _c('div', {
96306
- staticClass: "cascader-panel-pro"
96398
+ staticClass: "cascader-panel-pro",
96399
+ class: {
96400
+ 'is-refreshing': _vm.refreshing
96401
+ }
96307
96402
  }, [_c('div', {
96308
96403
  staticClass: "panel-container"
96309
96404
  }, [_c('div', {
@@ -96316,13 +96411,22 @@ var ByCascaderPanelProvue_type_template_id_e4b10a08_render = function render() {
96316
96411
  staticClass: "search-section"
96317
96412
  }, [_c('div', {
96318
96413
  staticClass: "search-container"
96414
+ }, [_c('div', {
96415
+ staticClass: "search-input-wrap",
96416
+ class: {
96417
+ 'has-batch-suffix': _vm.showBatchSearchBtn,
96418
+ 'is-clearable': _vm.showBatchSearchBtn
96419
+ }
96319
96420
  }, [_c('el-input', {
96320
96421
  staticClass: "search-input",
96422
+ class: {
96423
+ 'has-batch-suffix': _vm.showBatchSearchBtn
96424
+ },
96321
96425
  attrs: {
96322
96426
  "placeholder": _vm.searchPlaceholder,
96323
96427
  "clearable": "",
96324
96428
  "size": "mini",
96325
- "disabled": _vm.isViewMode
96429
+ "disabled": _vm.panelViewMode
96326
96430
  },
96327
96431
  model: {
96328
96432
  value: _vm.searchInput,
@@ -96331,9 +96435,11 @@ var ByCascaderPanelProvue_type_template_id_e4b10a08_render = function render() {
96331
96435
  },
96332
96436
  expression: "searchInput"
96333
96437
  }
96334
- }), _vm.isMultiple && !_vm.isViewMode ? _c('el-popover', {
96438
+ }), _vm.showBatchSearchBtn ? _c('div', {
96439
+ staticClass: "batch-input-suffix"
96440
+ }, [_c('el-popover', {
96335
96441
  attrs: {
96336
- "placement": "bottom-start",
96442
+ "placement": "bottom-end",
96337
96443
  "width": 300,
96338
96444
  "trigger": "click",
96339
96445
  "popper-class": "batch-search-popover-pro"
@@ -96386,18 +96492,43 @@ var ByCascaderPanelProvue_type_template_id_e4b10a08_render = function render() {
96386
96492
  "click": _vm.handleBatchSearch
96387
96493
  }
96388
96494
  }, [_vm._v("确定")])], 1)], 1), _c('el-button', {
96389
- staticClass: "batch-search-btn",
96495
+ staticClass: "batch-input-btn batch-input-btn--inner batch-input-btn--mini",
96390
96496
  attrs: {
96391
96497
  "slot": "reference",
96392
- "size": "mini",
96393
- "type": "text"
96498
+ "type": "text",
96499
+ "size": "mini"
96500
+ },
96501
+ on: {
96502
+ "click": function ($event) {
96503
+ $event.stopPropagation();
96504
+ }
96394
96505
  },
96395
96506
  slot: "reference"
96396
96507
  }, [_c('i', {
96397
96508
  staticClass: "el-icon-edit-outline"
96509
+ })])], 1)], 1) : _vm._e()], 1), _vm.showRefreshBtn ? _c('el-tooltip', {
96510
+ attrs: {
96511
+ "content": _vm.refreshTooltip,
96512
+ "placement": "top",
96513
+ "effect": "light",
96514
+ "popper-class": "cascader-refresh-tooltip",
96515
+ "disabled": !_vm.refreshTooltip
96516
+ }
96517
+ }, [_c('el-button', {
96518
+ staticClass: "refresh-btn refresh-btn--mini",
96519
+ attrs: {
96520
+ "type": "text",
96521
+ "size": "mini",
96522
+ "disabled": _vm.refreshing
96523
+ },
96524
+ on: {
96525
+ "click": _vm.handleRefresh
96526
+ }
96527
+ }, [_c('i', {
96528
+ class: _vm.refreshing ? 'el-icon-loading' : 'el-icon-refresh'
96398
96529
  })])], 1) : _vm._e()], 1)]), _c('div', {
96399
96530
  staticClass: "action-buttons"
96400
- }, [_vm.searchInput === '' && _vm.isMultiple && _vm.showSelectAll && !_vm.isViewMode ? _c('div', {
96531
+ }, [_vm.searchInput === '' && _vm.isMultiple && _vm.showSelectAll && !_vm.panelViewMode ? _c('div', {
96401
96532
  staticClass: "all-select",
96402
96533
  on: {
96403
96534
  "click": _vm.handleSelectAll
@@ -96433,7 +96564,7 @@ var ByCascaderPanelProvue_type_template_id_e4b10a08_render = function render() {
96433
96564
  "column-min-width": _vm.columnMinWidth,
96434
96565
  "column-max-width": _vm.columnMaxWidth,
96435
96566
  "disabled-config": _vm.disabledConfig,
96436
- "is-view-mode": _vm.isViewMode
96567
+ "is-view-mode": _vm.panelViewMode
96437
96568
  },
96438
96569
  on: {
96439
96570
  "input": _vm.onMainPanelInput,
@@ -96458,7 +96589,7 @@ var ByCascaderPanelProvue_type_template_id_e4b10a08_render = function render() {
96458
96589
  "column-min-width": _vm.columnMinWidth,
96459
96590
  "column-max-width": _vm.columnMaxWidth,
96460
96591
  "disabled-config": _vm.disabledConfig,
96461
- "is-view-mode": _vm.isViewMode
96592
+ "is-view-mode": _vm.panelViewMode
96462
96593
  },
96463
96594
  on: {
96464
96595
  "input": _vm.onSearchPanelInput,
@@ -96484,7 +96615,7 @@ var ByCascaderPanelProvue_type_template_id_e4b10a08_render = function render() {
96484
96615
  staticClass: "panel-title"
96485
96616
  }, [_vm._v("已选(" + _vm._s(_vm.selectedItems.length) + ")")]), _c('div', {
96486
96617
  staticClass: "action-buttons"
96487
- }, [_vm.selectedItems.length > 0 && !_vm.isViewMode ? _c('div', {
96618
+ }, [_vm.selectedItems.length > 0 && !_vm.panelViewMode ? _c('div', {
96488
96619
  staticClass: "clear-btn",
96489
96620
  on: {
96490
96621
  "click": _vm.clearSelection
@@ -96525,7 +96656,7 @@ var ByCascaderPanelProvue_type_template_id_e4b10a08_render = function render() {
96525
96656
  staticClass: "item-label"
96526
96657
  }, [_vm._v(_vm._s(item.label || ''))]), _vm.showSubtitle && _vm.subtitleField && item[_vm.subtitleField] ? _c('div', {
96527
96658
  staticClass: "item-subtitle"
96528
- }, [_vm._v(" " + _vm._s(item[_vm.subtitleField]) + " ")]) : _vm._e()]), !_vm.isViewMode ? _c('div', {
96659
+ }, [_vm._v(" " + _vm._s(item[_vm.subtitleField]) + " ")]) : _vm._e()]), !_vm.panelViewMode ? _c('div', {
96529
96660
  staticClass: "remove-btn",
96530
96661
  on: {
96531
96662
  "click": function ($event) {
@@ -96536,12 +96667,12 @@ var ByCascaderPanelProvue_type_template_id_e4b10a08_render = function render() {
96536
96667
  staticClass: "el-icon-close"
96537
96668
  })]) : _vm._e()])])];
96538
96669
  }
96539
- }], null, false, 2638469921)
96670
+ }], null, false, 1087530061)
96540
96671
  }) : _c('div', {
96541
96672
  staticClass: "empty-state"
96542
96673
  }, [_vm._v("暂无选中项")])], 1)])])])]);
96543
96674
  };
96544
- var ByCascaderPanelProvue_type_template_id_e4b10a08_staticRenderFns = [];
96675
+ var ByCascaderPanelProvue_type_template_id_961f637e_staticRenderFns = [];
96545
96676
 
96546
96677
  ;// ./src/components/cascader-panel-pro/cascaderStorePro.js
96547
96678
 
@@ -98681,6 +98812,24 @@ var VirtualCascaderPanel_component = normalizeComponent(
98681
98812
  type: String,
98682
98813
  default: ''
98683
98814
  },
98815
+ /**
98816
+ * 是否显示刷新按钮。
98817
+ * 点击后仅触发 refresh 事件,由业务侧重新请求并更新 options。
98818
+ */
98819
+ showRefresh: {
98820
+ type: Boolean,
98821
+ default: false
98822
+ },
98823
+ /** 刷新按钮 tooltip 文案,传空字符串则不展示提示 */
98824
+ refreshTooltip: {
98825
+ type: String,
98826
+ default: '刷新数据'
98827
+ },
98828
+ /** 刷新中状态(由业务控制,用于展示 loading 并防止连点) */
98829
+ refreshing: {
98830
+ type: Boolean,
98831
+ default: false
98832
+ },
98684
98833
  // 级联列最小宽度(px)
98685
98834
  columnMinWidth: {
98686
98835
  type: Number,
@@ -98741,6 +98890,21 @@ var VirtualCascaderPanel_component = normalizeComponent(
98741
98890
  isMultiple() {
98742
98891
  return this.cascaderProps.multiple !== false;
98743
98892
  },
98893
+ // 是否显示批量搜索按钮(多选且非只读态)
98894
+ showBatchSearchBtn() {
98895
+ return this.isMultiple && !this.panelViewMode;
98896
+ },
98897
+ // 是否显示刷新按钮(开启且非业务查看态;刷新中仍显示以展示 loading)
98898
+ showRefreshBtn() {
98899
+ return this.showRefresh && !this.isViewMode;
98900
+ },
98901
+ /**
98902
+ * 刷新中临时进入只读态,复用 isViewMode 的交互限制。
98903
+ * 不覆盖 props.isViewMode,业务传入的查看态不受影响。
98904
+ */
98905
+ panelViewMode() {
98906
+ return this.isViewMode || this.refreshing;
98907
+ },
98744
98908
  useCompactSelection() {
98745
98909
  return this.isMultiple && this.totalCount >= 300;
98746
98910
  },
@@ -98863,6 +99027,12 @@ var VirtualCascaderPanel_component = normalizeComponent(
98863
99027
  }
98864
99028
  },
98865
99029
  deep: false
99030
+ },
99031
+ // 刷新态:只锁交互,不重跑 initOptions(避免总数闪 0、误触发选中同步副作用)
99032
+ refreshing(val) {
99033
+ if (val) {
99034
+ this.batchSearchVisible = false;
99035
+ }
98866
99036
  }
98867
99037
  },
98868
99038
  mounted() {
@@ -99537,6 +99707,17 @@ var VirtualCascaderPanel_component = normalizeComponent(
99537
99707
  this.searchInput = '';
99538
99708
  }
99539
99709
  },
99710
+ /**
99711
+ * 点击刷新:通知业务重新拉取级联数据。
99712
+ * 清空左侧搜索,避免旧关键词在新数据上残留空结果;
99713
+ * 组件本身不请求接口,也不清空选中态;options 更新后由现有 watch 驱动面板刷新。
99714
+ */
99715
+ handleRefresh() {
99716
+ if (this.panelViewMode) return;
99717
+ this.searchInput = '';
99718
+ this.clearSearchState();
99719
+ this.$emit('refresh');
99720
+ },
99540
99721
  // 处理批量搜索
99541
99722
  handleBatchSearch() {
99542
99723
  if (!this.batchSearchContent.trim()) {
@@ -99663,8 +99844,8 @@ var VirtualCascaderPanel_component = normalizeComponent(
99663
99844
  ;
99664
99845
  var ByCascaderPanelPro_component = normalizeComponent(
99665
99846
  cascader_panel_pro_ByCascaderPanelProvue_type_script_lang_js,
99666
- ByCascaderPanelProvue_type_template_id_e4b10a08_render,
99667
- ByCascaderPanelProvue_type_template_id_e4b10a08_staticRenderFns,
99847
+ ByCascaderPanelProvue_type_template_id_961f637e_render,
99848
+ ByCascaderPanelProvue_type_template_id_961f637e_staticRenderFns,
99668
99849
  false,
99669
99850
  null,
99670
99851
  null,