@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.
@@ -94585,12 +94585,15 @@ ByDialogService.install = function (Vue) {
94585
94585
  Vue.prototype.$byDialog = ByDialogService;
94586
94586
  };
94587
94587
  /* harmony default export */ var by_dialog_ByDialogService = (ByDialogService);
94588
- ;// ./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-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/cascader-panel/ByCascaderPanel.vue?vue&type=template&id=4f120599
94589
- var ByCascaderPanelvue_type_template_id_4f120599_render = function render() {
94588
+ ;// ./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-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/cascader-panel/ByCascaderPanel.vue?vue&type=template&id=727f392c
94589
+ var ByCascaderPanelvue_type_template_id_727f392c_render = function render() {
94590
94590
  var _vm = this,
94591
94591
  _c = _vm._self._c;
94592
94592
  return _c('div', {
94593
- staticClass: "cascader-panel"
94593
+ staticClass: "cascader-panel",
94594
+ class: {
94595
+ 'is-refreshing': _vm.refreshing
94596
+ }
94594
94597
  }, [_c('div', {
94595
94598
  staticClass: "panel-container"
94596
94599
  }, [_c('div', {
@@ -94603,13 +94606,22 @@ var ByCascaderPanelvue_type_template_id_4f120599_render = function render() {
94603
94606
  staticClass: "search-section"
94604
94607
  }, [_c('div', {
94605
94608
  staticClass: "search-container"
94609
+ }, [_c('div', {
94610
+ staticClass: "search-input-wrap",
94611
+ class: {
94612
+ 'has-batch-suffix': _vm.showBatchSearchBtn,
94613
+ 'is-clearable': _vm.showBatchSearchBtn
94614
+ }
94606
94615
  }, [_c('el-input', {
94607
94616
  staticClass: "search-input",
94617
+ class: {
94618
+ 'has-batch-suffix': _vm.showBatchSearchBtn
94619
+ },
94608
94620
  attrs: {
94609
94621
  "placeholder": _vm.searchPlaceholder,
94610
94622
  "clearable": "",
94611
94623
  "size": "mini",
94612
- "disabled": _vm.isViewMode
94624
+ "disabled": _vm.panelViewMode
94613
94625
  },
94614
94626
  on: {
94615
94627
  "input": _vm.handleSearch
@@ -94621,9 +94633,11 @@ var ByCascaderPanelvue_type_template_id_4f120599_render = function render() {
94621
94633
  },
94622
94634
  expression: "searchInput"
94623
94635
  }
94624
- }), _vm.isMultiple && !_vm.isViewMode ? _c('el-popover', {
94636
+ }), _vm.showBatchSearchBtn ? _c('div', {
94637
+ staticClass: "batch-input-suffix"
94638
+ }, [_c('el-popover', {
94625
94639
  attrs: {
94626
- "placement": "bottom-start",
94640
+ "placement": "bottom-end",
94627
94641
  "width": 300,
94628
94642
  "trigger": "click",
94629
94643
  "popper-class": "batch-search-popover"
@@ -94676,18 +94690,43 @@ var ByCascaderPanelvue_type_template_id_4f120599_render = function render() {
94676
94690
  "click": _vm.handleBatchSearch
94677
94691
  }
94678
94692
  }, [_vm._v("确定")])], 1)], 1), _c('el-button', {
94679
- staticClass: "batch-search-btn",
94693
+ staticClass: "batch-input-btn batch-input-btn--inner batch-input-btn--mini",
94680
94694
  attrs: {
94681
94695
  "slot": "reference",
94682
- "size": "mini",
94683
- "type": "text"
94696
+ "type": "text",
94697
+ "size": "mini"
94698
+ },
94699
+ on: {
94700
+ "click": function ($event) {
94701
+ $event.stopPropagation();
94702
+ }
94684
94703
  },
94685
94704
  slot: "reference"
94686
94705
  }, [_c('i', {
94687
94706
  staticClass: "el-icon-edit-outline"
94707
+ })])], 1)], 1) : _vm._e()], 1), _vm.showRefreshBtn ? _c('el-tooltip', {
94708
+ attrs: {
94709
+ "content": _vm.refreshTooltip,
94710
+ "placement": "top",
94711
+ "effect": "light",
94712
+ "popper-class": "cascader-refresh-tooltip",
94713
+ "disabled": !_vm.refreshTooltip
94714
+ }
94715
+ }, [_c('el-button', {
94716
+ staticClass: "refresh-btn refresh-btn--mini",
94717
+ attrs: {
94718
+ "type": "text",
94719
+ "size": "mini",
94720
+ "disabled": _vm.refreshing
94721
+ },
94722
+ on: {
94723
+ "click": _vm.handleRefresh
94724
+ }
94725
+ }, [_c('i', {
94726
+ class: _vm.refreshing ? 'el-icon-loading' : 'el-icon-refresh'
94688
94727
  })])], 1) : _vm._e()], 1)]), _c('div', {
94689
94728
  staticClass: "action-buttons"
94690
- }, [_vm.searchInput === '' && _vm.isMultiple && _vm.showSelectAll && !_vm.isViewMode ? _c('div', {
94729
+ }, [_vm.searchInput === '' && _vm.isMultiple && _vm.showSelectAll && !_vm.panelViewMode ? _c('div', {
94691
94730
  staticClass: "all-select",
94692
94731
  on: {
94693
94732
  "click": _vm.handleSelectAll
@@ -94779,7 +94818,7 @@ var ByCascaderPanelvue_type_template_id_4f120599_render = function render() {
94779
94818
  staticClass: "panel-title"
94780
94819
  }, [_vm._v("已选(" + _vm._s(_vm.selectedItems.length) + ")")]), _c('div', {
94781
94820
  staticClass: "action-buttons"
94782
- }, [_vm.selectedItems.length > 0 && !_vm.isViewMode ? _c('div', {
94821
+ }, [_vm.selectedItems.length > 0 && !_vm.panelViewMode ? _c('div', {
94783
94822
  staticClass: "clear-btn",
94784
94823
  on: {
94785
94824
  "click": _vm.clearSelection
@@ -94833,7 +94872,7 @@ var ByCascaderPanelvue_type_template_id_4f120599_render = function render() {
94833
94872
  "padding": "0 !important",
94834
94873
  "vertical-align": "middle !important"
94835
94874
  }
94836
- }, [_vm._v(" " + _vm._s(item[_vm.subtitleField]) + " ")]) : _vm._e()]), !_vm.isViewMode ? _c('div', {
94875
+ }, [_vm._v(" " + _vm._s(item[_vm.subtitleField]) + " ")]) : _vm._e()]), !_vm.panelViewMode ? _c('div', {
94837
94876
  staticClass: "remove-btn",
94838
94877
  on: {
94839
94878
  "click": function ($event) {
@@ -94847,7 +94886,7 @@ var ByCascaderPanelvue_type_template_id_4f120599_render = function render() {
94847
94886
  staticClass: "empty-state"
94848
94887
  }, [_vm._v("暂无选中项")]) : _vm._e()], 2)])])])]);
94849
94888
  };
94850
- var ByCascaderPanelvue_type_template_id_4f120599_staticRenderFns = [];
94889
+ var ByCascaderPanelvue_type_template_id_727f392c_staticRenderFns = [];
94851
94890
 
94852
94891
  ;// ./src/utils/cascaderUtils.js
94853
94892
 
@@ -95566,6 +95605,24 @@ class CascaderUtils {
95566
95605
  subtitleField: {
95567
95606
  type: String,
95568
95607
  default: ''
95608
+ },
95609
+ /**
95610
+ * 是否显示刷新按钮。
95611
+ * 点击后仅触发 refresh 事件,由业务侧重新请求并更新 options。
95612
+ */
95613
+ showRefresh: {
95614
+ type: Boolean,
95615
+ default: false
95616
+ },
95617
+ /** 刷新按钮 tooltip 文案,传空字符串则不展示提示 */
95618
+ refreshTooltip: {
95619
+ type: String,
95620
+ default: '刷新数据'
95621
+ },
95622
+ /** 刷新中状态(由业务控制,用于展示 loading 并防止连点) */
95623
+ refreshing: {
95624
+ type: Boolean,
95625
+ default: false
95569
95626
  }
95570
95627
  },
95571
95628
  data() {
@@ -95602,6 +95659,21 @@ class CascaderUtils {
95602
95659
  isMultiple() {
95603
95660
  return this.cascaderProps.multiple !== false;
95604
95661
  },
95662
+ // 是否显示批量搜索按钮(多选且非只读态)
95663
+ showBatchSearchBtn() {
95664
+ return this.isMultiple && !this.panelViewMode;
95665
+ },
95666
+ // 是否显示刷新按钮(开启且非业务查看态;刷新中仍显示以展示 loading)
95667
+ showRefreshBtn() {
95668
+ return this.showRefresh && !this.isViewMode;
95669
+ },
95670
+ /**
95671
+ * 刷新中临时进入只读态,复用 isViewMode 的交互限制(禁用搜索/勾选/清除等)。
95672
+ * 不覆盖 props.isViewMode,业务传入的查看态不受影响。
95673
+ */
95674
+ panelViewMode() {
95675
+ return this.isViewMode || this.refreshing;
95676
+ },
95605
95677
  // 当前选中的值(单选时返回单个值,多选时返回数组)
95606
95678
  currentValue() {
95607
95679
  if (this.isMultiple) {
@@ -95692,6 +95764,12 @@ class CascaderUtils {
95692
95764
  this.$emit('change', this.getSelectedData());
95693
95765
  },
95694
95766
  deep: true
95767
+ },
95768
+ // 刷新态:只锁交互,不重跑 initOptions(避免总数闪 0、误触发 change)
95769
+ refreshing(val) {
95770
+ if (val) {
95771
+ this.batchSearchVisible = false;
95772
+ }
95695
95773
  }
95696
95774
  },
95697
95775
  mounted() {
@@ -95767,7 +95845,7 @@ class CascaderUtils {
95767
95845
  // 处理选项数据,添加禁用状态
95768
95846
  processOptions(options) {
95769
95847
  const processedOptions = JSON.parse(JSON.stringify(options));
95770
- // 查看模式:禁用所有节点(包含父子)
95848
+ // 仅业务查看态全禁用节点;刷新中只读由 UI 锁(panelViewMode + pointer-events)承担
95771
95849
  if (this.isViewMode) {
95772
95850
  const disabledKey = this.cascaderProps && this.cascaderProps.disabled || 'disabled';
95773
95851
  const childrenKey = this.cascaderProps && this.cascaderProps.children || 'children';
@@ -96156,6 +96234,20 @@ class CascaderUtils {
96156
96234
  this.searchOptions = [];
96157
96235
  }
96158
96236
  },
96237
+ /**
96238
+ * 点击刷新:通知业务重新拉取级联数据。
96239
+ * 清空左侧搜索,避免旧关键词在新数据上残留空结果;
96240
+ * 组件本身不请求接口,也不清空选中态;options 更新后由现有 watch 驱动面板刷新。
96241
+ */
96242
+ handleRefresh() {
96243
+ if (this.panelViewMode) return;
96244
+ if (this.searchInput) {
96245
+ this.searchInput = '';
96246
+ this.isShowSearch = false;
96247
+ this.searchOptions = [];
96248
+ }
96249
+ this.$emit('refresh');
96250
+ },
96159
96251
  // 处理批量搜索
96160
96252
  handleBatchSearch() {
96161
96253
  if (!this.batchSearchContent.trim()) {
@@ -96278,8 +96370,8 @@ class CascaderUtils {
96278
96370
  ;
96279
96371
  var ByCascaderPanel_component = normalizeComponent(
96280
96372
  cascader_panel_ByCascaderPanelvue_type_script_lang_js,
96281
- ByCascaderPanelvue_type_template_id_4f120599_render,
96282
- ByCascaderPanelvue_type_template_id_4f120599_staticRenderFns,
96373
+ ByCascaderPanelvue_type_template_id_727f392c_render,
96374
+ ByCascaderPanelvue_type_template_id_727f392c_staticRenderFns,
96283
96375
  false,
96284
96376
  null,
96285
96377
  null,
@@ -96288,12 +96380,15 @@ var ByCascaderPanel_component = normalizeComponent(
96288
96380
  )
96289
96381
 
96290
96382
  /* harmony default export */ var ByCascaderPanel = (ByCascaderPanel_component.exports);
96291
- ;// ./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-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/cascader-panel-pro/ByCascaderPanelPro.vue?vue&type=template&id=e4b10a08
96292
- var ByCascaderPanelProvue_type_template_id_e4b10a08_render = function render() {
96383
+ ;// ./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-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/cascader-panel-pro/ByCascaderPanelPro.vue?vue&type=template&id=961f637e
96384
+ var ByCascaderPanelProvue_type_template_id_961f637e_render = function render() {
96293
96385
  var _vm = this,
96294
96386
  _c = _vm._self._c;
96295
96387
  return _c('div', {
96296
- staticClass: "cascader-panel-pro"
96388
+ staticClass: "cascader-panel-pro",
96389
+ class: {
96390
+ 'is-refreshing': _vm.refreshing
96391
+ }
96297
96392
  }, [_c('div', {
96298
96393
  staticClass: "panel-container"
96299
96394
  }, [_c('div', {
@@ -96306,13 +96401,22 @@ var ByCascaderPanelProvue_type_template_id_e4b10a08_render = function render() {
96306
96401
  staticClass: "search-section"
96307
96402
  }, [_c('div', {
96308
96403
  staticClass: "search-container"
96404
+ }, [_c('div', {
96405
+ staticClass: "search-input-wrap",
96406
+ class: {
96407
+ 'has-batch-suffix': _vm.showBatchSearchBtn,
96408
+ 'is-clearable': _vm.showBatchSearchBtn
96409
+ }
96309
96410
  }, [_c('el-input', {
96310
96411
  staticClass: "search-input",
96412
+ class: {
96413
+ 'has-batch-suffix': _vm.showBatchSearchBtn
96414
+ },
96311
96415
  attrs: {
96312
96416
  "placeholder": _vm.searchPlaceholder,
96313
96417
  "clearable": "",
96314
96418
  "size": "mini",
96315
- "disabled": _vm.isViewMode
96419
+ "disabled": _vm.panelViewMode
96316
96420
  },
96317
96421
  model: {
96318
96422
  value: _vm.searchInput,
@@ -96321,9 +96425,11 @@ var ByCascaderPanelProvue_type_template_id_e4b10a08_render = function render() {
96321
96425
  },
96322
96426
  expression: "searchInput"
96323
96427
  }
96324
- }), _vm.isMultiple && !_vm.isViewMode ? _c('el-popover', {
96428
+ }), _vm.showBatchSearchBtn ? _c('div', {
96429
+ staticClass: "batch-input-suffix"
96430
+ }, [_c('el-popover', {
96325
96431
  attrs: {
96326
- "placement": "bottom-start",
96432
+ "placement": "bottom-end",
96327
96433
  "width": 300,
96328
96434
  "trigger": "click",
96329
96435
  "popper-class": "batch-search-popover-pro"
@@ -96376,18 +96482,43 @@ var ByCascaderPanelProvue_type_template_id_e4b10a08_render = function render() {
96376
96482
  "click": _vm.handleBatchSearch
96377
96483
  }
96378
96484
  }, [_vm._v("确定")])], 1)], 1), _c('el-button', {
96379
- staticClass: "batch-search-btn",
96485
+ staticClass: "batch-input-btn batch-input-btn--inner batch-input-btn--mini",
96380
96486
  attrs: {
96381
96487
  "slot": "reference",
96382
- "size": "mini",
96383
- "type": "text"
96488
+ "type": "text",
96489
+ "size": "mini"
96490
+ },
96491
+ on: {
96492
+ "click": function ($event) {
96493
+ $event.stopPropagation();
96494
+ }
96384
96495
  },
96385
96496
  slot: "reference"
96386
96497
  }, [_c('i', {
96387
96498
  staticClass: "el-icon-edit-outline"
96499
+ })])], 1)], 1) : _vm._e()], 1), _vm.showRefreshBtn ? _c('el-tooltip', {
96500
+ attrs: {
96501
+ "content": _vm.refreshTooltip,
96502
+ "placement": "top",
96503
+ "effect": "light",
96504
+ "popper-class": "cascader-refresh-tooltip",
96505
+ "disabled": !_vm.refreshTooltip
96506
+ }
96507
+ }, [_c('el-button', {
96508
+ staticClass: "refresh-btn refresh-btn--mini",
96509
+ attrs: {
96510
+ "type": "text",
96511
+ "size": "mini",
96512
+ "disabled": _vm.refreshing
96513
+ },
96514
+ on: {
96515
+ "click": _vm.handleRefresh
96516
+ }
96517
+ }, [_c('i', {
96518
+ class: _vm.refreshing ? 'el-icon-loading' : 'el-icon-refresh'
96388
96519
  })])], 1) : _vm._e()], 1)]), _c('div', {
96389
96520
  staticClass: "action-buttons"
96390
- }, [_vm.searchInput === '' && _vm.isMultiple && _vm.showSelectAll && !_vm.isViewMode ? _c('div', {
96521
+ }, [_vm.searchInput === '' && _vm.isMultiple && _vm.showSelectAll && !_vm.panelViewMode ? _c('div', {
96391
96522
  staticClass: "all-select",
96392
96523
  on: {
96393
96524
  "click": _vm.handleSelectAll
@@ -96423,7 +96554,7 @@ var ByCascaderPanelProvue_type_template_id_e4b10a08_render = function render() {
96423
96554
  "column-min-width": _vm.columnMinWidth,
96424
96555
  "column-max-width": _vm.columnMaxWidth,
96425
96556
  "disabled-config": _vm.disabledConfig,
96426
- "is-view-mode": _vm.isViewMode
96557
+ "is-view-mode": _vm.panelViewMode
96427
96558
  },
96428
96559
  on: {
96429
96560
  "input": _vm.onMainPanelInput,
@@ -96448,7 +96579,7 @@ var ByCascaderPanelProvue_type_template_id_e4b10a08_render = function render() {
96448
96579
  "column-min-width": _vm.columnMinWidth,
96449
96580
  "column-max-width": _vm.columnMaxWidth,
96450
96581
  "disabled-config": _vm.disabledConfig,
96451
- "is-view-mode": _vm.isViewMode
96582
+ "is-view-mode": _vm.panelViewMode
96452
96583
  },
96453
96584
  on: {
96454
96585
  "input": _vm.onSearchPanelInput,
@@ -96474,7 +96605,7 @@ var ByCascaderPanelProvue_type_template_id_e4b10a08_render = function render() {
96474
96605
  staticClass: "panel-title"
96475
96606
  }, [_vm._v("已选(" + _vm._s(_vm.selectedItems.length) + ")")]), _c('div', {
96476
96607
  staticClass: "action-buttons"
96477
- }, [_vm.selectedItems.length > 0 && !_vm.isViewMode ? _c('div', {
96608
+ }, [_vm.selectedItems.length > 0 && !_vm.panelViewMode ? _c('div', {
96478
96609
  staticClass: "clear-btn",
96479
96610
  on: {
96480
96611
  "click": _vm.clearSelection
@@ -96515,7 +96646,7 @@ var ByCascaderPanelProvue_type_template_id_e4b10a08_render = function render() {
96515
96646
  staticClass: "item-label"
96516
96647
  }, [_vm._v(_vm._s(item.label || ''))]), _vm.showSubtitle && _vm.subtitleField && item[_vm.subtitleField] ? _c('div', {
96517
96648
  staticClass: "item-subtitle"
96518
- }, [_vm._v(" " + _vm._s(item[_vm.subtitleField]) + " ")]) : _vm._e()]), !_vm.isViewMode ? _c('div', {
96649
+ }, [_vm._v(" " + _vm._s(item[_vm.subtitleField]) + " ")]) : _vm._e()]), !_vm.panelViewMode ? _c('div', {
96519
96650
  staticClass: "remove-btn",
96520
96651
  on: {
96521
96652
  "click": function ($event) {
@@ -96526,12 +96657,12 @@ var ByCascaderPanelProvue_type_template_id_e4b10a08_render = function render() {
96526
96657
  staticClass: "el-icon-close"
96527
96658
  })]) : _vm._e()])])];
96528
96659
  }
96529
- }], null, false, 2638469921)
96660
+ }], null, false, 1087530061)
96530
96661
  }) : _c('div', {
96531
96662
  staticClass: "empty-state"
96532
96663
  }, [_vm._v("暂无选中项")])], 1)])])])]);
96533
96664
  };
96534
- var ByCascaderPanelProvue_type_template_id_e4b10a08_staticRenderFns = [];
96665
+ var ByCascaderPanelProvue_type_template_id_961f637e_staticRenderFns = [];
96535
96666
 
96536
96667
  ;// ./src/components/cascader-panel-pro/cascaderStorePro.js
96537
96668
 
@@ -98671,6 +98802,24 @@ var VirtualCascaderPanel_component = normalizeComponent(
98671
98802
  type: String,
98672
98803
  default: ''
98673
98804
  },
98805
+ /**
98806
+ * 是否显示刷新按钮。
98807
+ * 点击后仅触发 refresh 事件,由业务侧重新请求并更新 options。
98808
+ */
98809
+ showRefresh: {
98810
+ type: Boolean,
98811
+ default: false
98812
+ },
98813
+ /** 刷新按钮 tooltip 文案,传空字符串则不展示提示 */
98814
+ refreshTooltip: {
98815
+ type: String,
98816
+ default: '刷新数据'
98817
+ },
98818
+ /** 刷新中状态(由业务控制,用于展示 loading 并防止连点) */
98819
+ refreshing: {
98820
+ type: Boolean,
98821
+ default: false
98822
+ },
98674
98823
  // 级联列最小宽度(px)
98675
98824
  columnMinWidth: {
98676
98825
  type: Number,
@@ -98731,6 +98880,21 @@ var VirtualCascaderPanel_component = normalizeComponent(
98731
98880
  isMultiple() {
98732
98881
  return this.cascaderProps.multiple !== false;
98733
98882
  },
98883
+ // 是否显示批量搜索按钮(多选且非只读态)
98884
+ showBatchSearchBtn() {
98885
+ return this.isMultiple && !this.panelViewMode;
98886
+ },
98887
+ // 是否显示刷新按钮(开启且非业务查看态;刷新中仍显示以展示 loading)
98888
+ showRefreshBtn() {
98889
+ return this.showRefresh && !this.isViewMode;
98890
+ },
98891
+ /**
98892
+ * 刷新中临时进入只读态,复用 isViewMode 的交互限制。
98893
+ * 不覆盖 props.isViewMode,业务传入的查看态不受影响。
98894
+ */
98895
+ panelViewMode() {
98896
+ return this.isViewMode || this.refreshing;
98897
+ },
98734
98898
  useCompactSelection() {
98735
98899
  return this.isMultiple && this.totalCount >= 300;
98736
98900
  },
@@ -98853,6 +99017,12 @@ var VirtualCascaderPanel_component = normalizeComponent(
98853
99017
  }
98854
99018
  },
98855
99019
  deep: false
99020
+ },
99021
+ // 刷新态:只锁交互,不重跑 initOptions(避免总数闪 0、误触发选中同步副作用)
99022
+ refreshing(val) {
99023
+ if (val) {
99024
+ this.batchSearchVisible = false;
99025
+ }
98856
99026
  }
98857
99027
  },
98858
99028
  mounted() {
@@ -99527,6 +99697,17 @@ var VirtualCascaderPanel_component = normalizeComponent(
99527
99697
  this.searchInput = '';
99528
99698
  }
99529
99699
  },
99700
+ /**
99701
+ * 点击刷新:通知业务重新拉取级联数据。
99702
+ * 清空左侧搜索,避免旧关键词在新数据上残留空结果;
99703
+ * 组件本身不请求接口,也不清空选中态;options 更新后由现有 watch 驱动面板刷新。
99704
+ */
99705
+ handleRefresh() {
99706
+ if (this.panelViewMode) return;
99707
+ this.searchInput = '';
99708
+ this.clearSearchState();
99709
+ this.$emit('refresh');
99710
+ },
99530
99711
  // 处理批量搜索
99531
99712
  handleBatchSearch() {
99532
99713
  if (!this.batchSearchContent.trim()) {
@@ -99653,8 +99834,8 @@ var VirtualCascaderPanel_component = normalizeComponent(
99653
99834
  ;
99654
99835
  var ByCascaderPanelPro_component = normalizeComponent(
99655
99836
  cascader_panel_pro_ByCascaderPanelProvue_type_script_lang_js,
99656
- ByCascaderPanelProvue_type_template_id_e4b10a08_render,
99657
- ByCascaderPanelProvue_type_template_id_e4b10a08_staticRenderFns,
99837
+ ByCascaderPanelProvue_type_template_id_961f637e_render,
99838
+ ByCascaderPanelProvue_type_template_id_961f637e_staticRenderFns,
99658
99839
  false,
99659
99840
  null,
99660
99841
  null,