@weitutech/by-components 1.1.80 → 1.1.81

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.
@@ -62404,8 +62404,8 @@ var table_component = normalizeComponent(
62404
62404
  )
62405
62405
 
62406
62406
  /* harmony default export */ var table = (table_component.exports);
62407
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7d802f52-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/form.vue?vue&type=template&id=5e8c5b90&scoped=true
62408
- var formvue_type_template_id_5e8c5b90_scoped_true_render = function render() {
62407
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7d802f52-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/form.vue?vue&type=template&id=acf332a6&scoped=true
62408
+ var formvue_type_template_id_acf332a6_scoped_true_render = function render() {
62409
62409
  var _vm = this,
62410
62410
  _c = _vm._self._c;
62411
62411
  return _c('div', {
@@ -62534,7 +62534,13 @@ var formvue_type_template_id_5e8c5b90_scoped_true_render = function render() {
62534
62534
  "suffixInputOptions": item.suffixInputOptions,
62535
62535
  "showSuffixBatchInput": item.showSuffixBatchInput,
62536
62536
  "suffixBatchInputPopoverTitle": item.suffixBatchInputPopoverTitle,
62537
- "suffixBatchInputPopoverWidth": item.suffixBatchInputPopoverWidth
62537
+ "suffixBatchInputPopoverWidth": item.suffixBatchInputPopoverWidth,
62538
+ "enhancedAllOptions": item.enhancedAllOptions || [],
62539
+ "enhancedTitleKey": item.enhancedTitleKey || 'name',
62540
+ "enhancedDescriptionKey": item.enhancedDescriptionKey || 'mobile',
62541
+ "enhancedDisabledKey": item.enhancedDisabledKey || 'status',
62542
+ "enhancedDisabledCanSelect": item.enhancedDisabledCanSelect || false,
62543
+ "enhancedCollapseTags": item.enhancedCollapseTags || false
62538
62544
  },
62539
62545
  on: {
62540
62546
  "update:suffixInputValue": function ($event) {
@@ -62548,6 +62554,9 @@ var formvue_type_template_id_5e8c5b90_scoped_true_render = function render() {
62548
62554
  },
62549
62555
  "suffix-input-change": function ($event) {
62550
62556
  return _vm.handleSuffixInputChange($event, item);
62557
+ },
62558
+ "search": function ($event) {
62559
+ return _vm.handleEnhancedSearch($event, item);
62551
62560
  }
62552
62561
  }
62553
62562
  }, 'by-common-selector', item.otherOptions || {}, false))] : item.type === 'batchQuerySelector' ? [_c('by-batch-query-selector', _vm._b({
@@ -62757,7 +62766,7 @@ var formvue_type_template_id_5e8c5b90_scoped_true_render = function render() {
62757
62766
  staticClass: "footer"
62758
62767
  }, [_vm._t("footer")], 2)], 1);
62759
62768
  };
62760
- var formvue_type_template_id_5e8c5b90_scoped_true_staticRenderFns = [];
62769
+ var formvue_type_template_id_acf332a6_scoped_true_staticRenderFns = [];
62761
62770
 
62762
62771
  ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7d802f52-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/pair-number-input.vue?vue&type=template&id=604235f6
62763
62772
  var pair_number_inputvue_type_template_id_604235f6_render = function render() {
@@ -63057,14 +63066,14 @@ var custom_date_picker_component = normalizeComponent(
63057
63066
  )
63058
63067
 
63059
63068
  /* harmony default export */ var custom_date_picker = (custom_date_picker_component.exports);
63060
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7d802f52-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=1b8642c2
63061
- var ByCommonSelectorvue_type_template_id_1b8642c2_render = function render() {
63069
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7d802f52-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=2c9d1694
63070
+ var ByCommonSelectorvue_type_template_id_2c9d1694_render = function render() {
63062
63071
  var _vm = this,
63063
63072
  _c = _vm._self._c;
63064
63073
  return _c('div', {
63065
63074
  staticClass: "by_selector_container",
63066
63075
  class: {
63067
- 'by_align-center': _vm.type !== 'select' && !_vm.open
63076
+ 'by_align-center': _vm.type !== 'select' && _vm.type !== 'enhancedSelect' && !_vm.open
63068
63077
  }
63069
63078
  }, [_vm.type === 'select' ? _c('el-select', _vm._b({
63070
63079
  attrs: {
@@ -63095,6 +63104,47 @@ var ByCommonSelectorvue_type_template_id_1b8642c2_render = function render() {
63095
63104
  "disabled": item.status === 0
63096
63105
  }
63097
63106
  });
63107
+ }), 1) : _vm.type === 'enhancedSelect' ? _c('el-select', _vm._b({
63108
+ attrs: {
63109
+ "filterable": "",
63110
+ "clearable": "",
63111
+ "remote": "",
63112
+ "multiple": _vm.multiple,
63113
+ "collapse-tags": _vm.multiple && _vm.enhancedCollapseTags,
63114
+ "remote-method": _vm.getResult,
63115
+ "loading": _vm.loading,
63116
+ "placeholder": _vm.placeholder
63117
+ },
63118
+ on: {
63119
+ "change": _vm.selected,
63120
+ "visible-change": _vm.handleVisibleChange
63121
+ },
63122
+ model: {
63123
+ value: _vm.selectedValue,
63124
+ callback: function ($$v) {
63125
+ _vm.selectedValue = $$v;
63126
+ },
63127
+ expression: "selectedValue"
63128
+ }
63129
+ }, 'el-select', _vm.$attrs, false), _vm._l(_vm.enhancedDataList, function (item, index) {
63130
+ return _c('el-option', {
63131
+ key: index,
63132
+ attrs: {
63133
+ "label": _vm.enhancedDescriptionDisplay ? item[_vm.enhancedTitleKey] + ' ' + item[_vm.enhancedDescriptionKey] : item[_vm.enhancedTitleKey],
63134
+ "value": item.id,
63135
+ "disabled": !_vm.enhancedDisabledCanSelect && item[_vm.enhancedDisabledKey] === 0
63136
+ }
63137
+ }, [_c('span', {
63138
+ staticClass: "enhanced-option-left",
63139
+ class: {
63140
+ 'enhanced-disabled': item[_vm.enhancedDisabledKey] === 0
63141
+ }
63142
+ }, [_vm._v(_vm._s(item[_vm.enhancedTitleKey]))]), _vm.enhancedDescriptionDisplay ? _c('span', {
63143
+ staticClass: "enhanced-option-right",
63144
+ class: {
63145
+ 'enhanced-disabled': item[_vm.enhancedDisabledKey] === 0
63146
+ }
63147
+ }, [_vm._v(_vm._s(item[_vm.enhancedDescriptionKey]))]) : _vm._e()]);
63098
63148
  }), 1) : [!_vm.hiddenAllOptions ? _c('el-checkbox', {
63099
63149
  class: ['by_selected_all', {
63100
63150
  'by_border-transparent': _vm.type !== 'border'
@@ -63442,7 +63492,7 @@ var ByCommonSelectorvue_type_template_id_1b8642c2_render = function render() {
63442
63492
  return _vm.handlePageChange(_vm.currentPage + 1);
63443
63493
  }
63444
63494
  }
63445
- }, [_vm._v(" 下一页 ")])], 1) : _vm._e()], 1)])], _vm.type !== 'select' && _vm.needExpand && !_vm.forceNoExpand ? _c('el-button', {
63495
+ }, [_vm._v(" 下一页 ")])], 1) : _vm._e()], 1)])], _vm.type !== 'select' && _vm.type !== 'enhancedSelect' && _vm.needExpand && !_vm.forceNoExpand ? _c('el-button', {
63446
63496
  staticClass: "by_openShrink",
63447
63497
  attrs: {
63448
63498
  "type": "text",
@@ -63451,7 +63501,7 @@ var ByCommonSelectorvue_type_template_id_1b8642c2_render = function render() {
63451
63501
  on: {
63452
63502
  "click": _vm.showList
63453
63503
  }
63454
- }, [_vm._v(" " + _vm._s(_vm.needShowLoading && _vm.loading ? '加载中...' : _vm.open ? '收起' : '展开') + " ")]) : _vm._e(), _vm.type !== 'select' && !_vm.needExpand && !_vm.forceNoExpand && _vm.needShowLoading && _vm.loading ? _c('el-button', {
63504
+ }, [_vm._v(" " + _vm._s(_vm.needShowLoading && _vm.loading ? '加载中...' : _vm.open ? '收起' : '展开') + " ")]) : _vm._e(), _vm.type !== 'select' && _vm.type !== 'enhancedSelect' && !_vm.needExpand && !_vm.forceNoExpand && _vm.needShowLoading && _vm.loading ? _c('el-button', {
63455
63505
  staticClass: "by_openShrink",
63456
63506
  attrs: {
63457
63507
  "type": "text",
@@ -63459,7 +63509,7 @@ var ByCommonSelectorvue_type_template_id_1b8642c2_render = function render() {
63459
63509
  }
63460
63510
  }, [_vm._v(" 加载中... ")]) : _vm._e()], 2);
63461
63511
  };
63462
- var ByCommonSelectorvue_type_template_id_1b8642c2_staticRenderFns = [];
63512
+ var ByCommonSelectorvue_type_template_id_2c9d1694_staticRenderFns = [];
63463
63513
 
63464
63514
  ;// ./node_modules/pinyin-pro/dist/index.mjs
63465
63515
 
@@ -73755,7 +73805,11 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
73755
73805
  default: ''
73756
73806
  },
73757
73807
  /**
73758
- * 选择器类型 border | checkbox | select(default)
73808
+ * 选择器类型
73809
+ * border
73810
+ * checkbox
73811
+ * select (默认)
73812
+ * enhancedSelect
73759
73813
  */
73760
73814
  type: {
73761
73815
  type: String,
@@ -73796,7 +73850,12 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
73796
73850
  */
73797
73851
  placeholder: {
73798
73852
  type: String,
73799
- default: '请选择'
73853
+ default() {
73854
+ if (this.type === 'enhancedSelect') {
73855
+ return '请输入用户名,手机号搜索';
73856
+ }
73857
+ return '请选择';
73858
+ }
73800
73859
  },
73801
73860
  /**
73802
73861
  * 选择器大小
@@ -73844,7 +73903,7 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
73844
73903
  type: Boolean,
73845
73904
  default: false
73846
73905
  },
73847
- // ***************** 后置输入框相关
73906
+ // ********************************** 后置输入框相关 **********************************
73848
73907
  /**
73849
73908
  * 是否显示后置输入框
73850
73909
  */
@@ -73901,6 +73960,61 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
73901
73960
  suffixBatchInputPopoverWidth: {
73902
73961
  type: [String, Number],
73903
73962
  default: '300'
73963
+ },
73964
+ // ********************************** 增强下拉选择器相关 **********************************
73965
+ /**
73966
+ * 增强下拉选择器中,所有选项数据
73967
+ * @description 该属性是用于默认回显时查找数据,并非用于展示下拉选项
73968
+ * 必填,否则会影响默认回显
73969
+ */
73970
+ enhancedAllOptions: {
73971
+ type: Array,
73972
+ default: () => []
73973
+ },
73974
+ /**
73975
+ * 增强下拉选择器中,选项的title字段
73976
+ */
73977
+ enhancedTitleKey: {
73978
+ type: String,
73979
+ default: 'name'
73980
+ },
73981
+ /**
73982
+ * 增强下拉选择器中,选项的description字段
73983
+ */
73984
+ enhancedDescriptionKey: {
73985
+ type: String,
73986
+ default: 'mobile'
73987
+ },
73988
+ /**
73989
+ * 增强下拉选择器中,选项的禁用字段名(置灰的字段)
73990
+ */
73991
+ enhancedDisabledKey: {
73992
+ type: String,
73993
+ default: 'status'
73994
+ },
73995
+ /**
73996
+ * 增强下拉选择器中,选项的description字段是否
73997
+ * true: 显示 标题 + 描述 (如: 何其灿 13063048088)
73998
+ * false: 只显示 标题
73999
+ */
74000
+ enhancedDescriptionDisplay: {
74001
+ type: Boolean,
74002
+ default: true
74003
+ },
74004
+ /**
74005
+ * 增强下拉选择器中,多选时是否折叠标签
74006
+ */
74007
+ enhancedCollapseTags: {
74008
+ type: Boolean,
74009
+ default: false
74010
+ },
74011
+ /**
74012
+ * 增强下拉选择器中,禁用的值是否可选
74013
+ * 是:禁用只是置灰,依然可选; 否:置灰并不可选中
74014
+ */
74015
+ enhancedDisabledCanSelect: {
74016
+ type: Boolean,
74017
+ default: false
73904
74018
  }
73905
74019
  },
73906
74020
  data() {
@@ -73933,7 +74047,13 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
73933
74047
 
73934
74048
  popoverVisible: false,
73935
74049
  // 批量输入按钮的弹窗是否显示
73936
- batchInputContent: '' // 批量输入的内容
74050
+ batchInputContent: '',
74051
+ // 批量输入的内容
74052
+
74053
+ // enhancedSelect 相关数据
74054
+ allData: new Map(),
74055
+ // 缓存所有数据
74056
+ enhancedSelectOpened: false // 标记 enhancedSelect 是否已经打开过
73937
74057
  };
73938
74058
  },
73939
74059
  computed: {
@@ -73945,10 +74065,43 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
73945
74065
  },
73946
74066
  optionsList() {
73947
74067
  return this.dataList;
74068
+ },
74069
+ enhancedDataList() {
74070
+ if (this.type !== 'enhancedSelect') {
74071
+ return this.dataList;
74072
+ }
74073
+
74074
+ // 只有在未打开过的情况下,如果有默认值且 dataList 为空,则从 enhancedAllOptions 中查找默认选项
74075
+ if (!this.enhancedSelectOpened && this.value !== undefined && this.value !== null && this.value !== '' && this.dataList.length === 0) {
74076
+ if (this.multiple) {
74077
+ // 多选情况:value 是数组
74078
+ if (Array.isArray(this.value) && this.value.length > 0) {
74079
+ const defaultItems = this.enhancedAllOptions.filter(option => this.value.includes(option.id) || this.value.includes(Number(option.id)) || this.value.includes(0) && option.id === 0);
74080
+ return defaultItems;
74081
+ }
74082
+ } else {
74083
+ // 单选情况:value 是单个值
74084
+ if (this.value !== '') {
74085
+ const defaultItem = this.enhancedAllOptions.find(option => option.id === this.value || option.id === Number(this.value) || this.value === 0 && option.id === 0);
74086
+ return defaultItem ? [defaultItem] : [];
74087
+ }
74088
+ }
74089
+ }
74090
+ return this.dataList;
73948
74091
  }
73949
74092
  },
73950
74093
  watch: {
73951
74094
  value(value) {
74095
+ if (this.type === 'enhancedSelect') {
74096
+ this.selectedValue = value;
74097
+ // 如果数据已经加载,立即处理默认值
74098
+ if (this.allData.size > 0) {
74099
+ this.$nextTick(() => {
74100
+ this.handleEnhancedSelectDefaultValue();
74101
+ });
74102
+ }
74103
+ return;
74104
+ }
73952
74105
  if (this.type === 'select') {
73953
74106
  this.selectedValue = value;
73954
74107
 
@@ -73974,6 +74127,25 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
73974
74127
  },
73975
74128
  options: {
73976
74129
  handler(newOptions, oldOptions) {
74130
+ // enhancedSelect 类型的特殊处理
74131
+ if (this.type === 'enhancedSelect') {
74132
+ this.dataList = newOptions;
74133
+ // 更新缓存
74134
+ this.allData.clear();
74135
+ newOptions.forEach(item => {
74136
+ this.allData.set(item.id, item);
74137
+ });
74138
+ // 数据更新后,自动关闭加载状态
74139
+ this.loading = false;
74140
+
74141
+ // 数据加载完成后,重新处理默认值
74142
+ this.$nextTick(() => {
74143
+ this.handleEnhancedSelectDefaultValue();
74144
+ });
74145
+ return;
74146
+ }
74147
+
74148
+ // 其他类型的处理
73977
74149
  if (!this.loadOptions) {
73978
74150
  this.localOptions = [...this.options];
73979
74151
 
@@ -74030,6 +74202,11 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
74030
74202
  }
74031
74203
  },
74032
74204
  mounted() {
74205
+ // 验证 enhancedSelect 类型是否提供了 enhancedAllOptions
74206
+ if (this.type === 'enhancedSelect' && (!this.enhancedAllOptions || this.enhancedAllOptions.length === 0)) {
74207
+ console.error('[ByCommonSelector] enhancedSelect 类型需要提供 enhancedAllOptions 属性用于默认值回显');
74208
+ }
74209
+
74033
74210
  // 在组件挂载后,检查是否需要展开按钮
74034
74211
  this.$nextTick(() => {
74035
74212
  this.checkNeedExpand();
@@ -74110,7 +74287,7 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
74110
74287
  // 检查是否需要展开按钮
74111
74288
  checkNeedExpand() {
74112
74289
  var _this$$el;
74113
- if (this.type === 'select' || this.forceNoExpand) {
74290
+ if (this.type === 'select' || this.type === 'enhancedSelect' || this.forceNoExpand) {
74114
74291
  this.needExpand = false;
74115
74292
  return;
74116
74293
  }
@@ -74193,6 +74370,10 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
74193
74370
  this.$nextTick(() => {
74194
74371
  this.checkNeedExpand();
74195
74372
  this.scheduleExpandCheck();
74373
+ // 异步加载数据后,重新处理默认值(仅 enhancedSelect)
74374
+ if (this.type === 'enhancedSelect') {
74375
+ this.handleEnhancedSelectDefaultValue();
74376
+ }
74196
74377
  });
74197
74378
  } else {
74198
74379
  // console.error('loadOptions函数返回值必须是数组')
@@ -74206,6 +74387,16 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
74206
74387
  }
74207
74388
  },
74208
74389
  initData() {
74390
+ // enhancedSelect 类型的特殊处理
74391
+ if (this.type === 'enhancedSelect') {
74392
+ this.dataList = this.options;
74393
+ this.selectedValue = this.value;
74394
+ // 缓存所有数据
74395
+ this.options.forEach(item => {
74396
+ this.allData.set(item.id, item);
74397
+ });
74398
+ return;
74399
+ }
74209
74400
  this.dataList = [...this.localOptions];
74210
74401
  this.buildLatterList();
74211
74402
  // 修复:使用严格比较,避免0值被误判为空
@@ -74264,7 +74455,7 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
74264
74455
  },
74265
74456
  // 构建A~Z字母列表
74266
74457
  buildLatterList() {
74267
- if (this.type === 'select') {
74458
+ if (this.type === 'select' || this.type === 'enhancedSelect') {
74268
74459
  this.dataList = [...this.localOptions];
74269
74460
  } else {
74270
74461
  // 如果启用了showSearchBar,确保每个选项都有initial字段
@@ -74356,7 +74547,44 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
74356
74547
  this.handlePageChange(1);
74357
74548
  },
74358
74549
  selected(value) {
74359
- // 在多选模式下,value是数组;在单选模式下,确保使用selectedValue而不是布尔值
74550
+ // enhancedSelect 类型的特殊处理
74551
+ if (this.type === 'enhancedSelect') {
74552
+ let obj = null;
74553
+ if (this.multiple) {
74554
+ obj = [];
74555
+ // 修复:优先从 enhancedAllOptions 中查找,确保多选时能正确获取对象数组
74556
+ if (Array.isArray(value) && value.length > 0) {
74557
+ // 从 enhancedAllOptions 中查找所有匹配的选项
74558
+ const items = this.enhancedAllOptions.filter(option => value.includes(option.id) || value.includes(Number(option.id)) || value.includes(0) && option.id === 0);
74559
+ obj = items;
74560
+ }
74561
+ } else {
74562
+ obj = {};
74563
+ if (value !== undefined && value !== null && value !== '') {
74564
+ // 优先从 enhancedAllOptions 中查找
74565
+ const item = this.enhancedAllOptions.find(option => option.id === value || option.id === Number(value) || value === 0 && option.id === 0);
74566
+ if (item) {
74567
+ obj[this.enhancedDescriptionKey] = item[this.enhancedDescriptionKey];
74568
+ obj[this.enhancedTitleKey] = item[this.enhancedTitleKey];
74569
+ obj.id = item.id;
74570
+ } else {
74571
+ // 如果从 enhancedAllOptions 中找不到,再从 dataList 中查找
74572
+ this.dataList.forEach(item => {
74573
+ if (value === item.id || value === 0 && item.id === 0) {
74574
+ obj[this.enhancedDescriptionKey] = item[this.enhancedDescriptionKey];
74575
+ obj[this.enhancedTitleKey] = item[this.enhancedTitleKey];
74576
+ obj.id = item.id;
74577
+ }
74578
+ });
74579
+ }
74580
+ } else {
74581
+ obj = null;
74582
+ }
74583
+ }
74584
+ this.$emit('input', value);
74585
+ this.$emit('change', obj);
74586
+ return;
74587
+ }
74360
74588
  if (this.multiple) {
74361
74589
  if (Array.isArray(value)) {
74362
74590
  this.selectedValue = value.filter(v => typeof v !== 'boolean');
@@ -74439,6 +74667,60 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
74439
74667
  this.localSuffixInputValue = value;
74440
74668
  this.$emit('suffix-input-change', value);
74441
74669
  this.$emit('update:suffixInputValue', value);
74670
+ },
74671
+ // ******************** enhancedSelect 相关方法 ********************
74672
+ getResult(q) {
74673
+ // 设置加载状态
74674
+ this.loading = true;
74675
+
74676
+ // 触发外部搜索事件,让外部控制数据
74677
+ this.$emit('search', q);
74678
+
74679
+ // 返回 Promise 以满足 remote 的要求
74680
+ return Promise.resolve();
74681
+ },
74682
+ handleEnhancedSelectDefaultValue() {
74683
+ // console.log('001:this.value ==:', this.value)
74684
+ // console.log('002:this.enhancedAllOptions ==:', this.enhancedAllOptions)
74685
+ // 针对 enhancedSelect 类型处理默认值
74686
+ if (this.value !== undefined && this.value !== null && this.value !== '') {
74687
+ // 确保默认值能正确显示
74688
+ this.selectedValue = this.value;
74689
+ if (this.multiple) {
74690
+ // 多选情况:value 是数组
74691
+ if (Array.isArray(this.value) && this.value.length > 0) {
74692
+ // 在 enhancedAllOptions 数组中查找所有对应的选项
74693
+ const items = this.enhancedAllOptions.filter(option => this.value.includes(option.id) || this.value.includes(Number(option.id)) || this.value.includes(0) && option.id === 0);
74694
+ if (items.length > 0) {
74695
+ this.$emit('input', this.value);
74696
+ this.$emit('change', items);
74697
+ }
74698
+ }
74699
+ } else {
74700
+ // 单选情况:value 是单个值
74701
+ // 在 enhancedAllOptions 数组中查找对应的选项
74702
+ const item = this.enhancedAllOptions.find(option => option.id === this.value || option.id === Number(this.value) || this.value === 0 && option.id === 0);
74703
+ if (item) {
74704
+ let obj = {};
74705
+ obj[this.enhancedDescriptionKey] = item[this.enhancedDescriptionKey];
74706
+ obj[this.enhancedTitleKey] = item[this.enhancedTitleKey];
74707
+ obj.id = item.id;
74708
+ this.$emit('input', this.value);
74709
+ this.$emit('change', obj);
74710
+ }
74711
+ }
74712
+ }
74713
+ },
74714
+ handleVisibleChange(visible) {
74715
+ if (this.type === 'enhancedSelect') {
74716
+ if (visible) {
74717
+ // 标记已经打开过
74718
+ this.enhancedSelectOpened = true;
74719
+ // 当下拉框打开时,清空搜索结果
74720
+ this.dataList = [];
74721
+ this.$emit('search', ''); // 触发清空搜索
74722
+ }
74723
+ }
74442
74724
  }
74443
74725
  }
74444
74726
  });
@@ -74454,8 +74736,8 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
74454
74736
  ;
74455
74737
  var ByCommonSelector_component = normalizeComponent(
74456
74738
  common_selector_ByCommonSelectorvue_type_script_lang_js,
74457
- ByCommonSelectorvue_type_template_id_1b8642c2_render,
74458
- ByCommonSelectorvue_type_template_id_1b8642c2_staticRenderFns,
74739
+ ByCommonSelectorvue_type_template_id_2c9d1694_render,
74740
+ ByCommonSelectorvue_type_template_id_2c9d1694_staticRenderFns,
74459
74741
  false,
74460
74742
  null,
74461
74743
  null,
@@ -75394,15 +75676,22 @@ var BatchQuerySelector_component = normalizeComponent(
75394
75676
  ...event,
75395
75677
  item
75396
75678
  });
75679
+ },
75680
+ // 增强选择器搜索事件处理
75681
+ handleEnhancedSearch(query, item) {
75682
+ this.$emit('enhanced-search', {
75683
+ query,
75684
+ item
75685
+ });
75397
75686
  }
75398
75687
  }
75399
75688
  });
75400
75689
  ;// ./src/components/form/form.vue?vue&type=script&lang=js
75401
75690
  /* harmony default export */ var form_formvue_type_script_lang_js = (formvue_type_script_lang_js);
75402
- ;// ./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/form.vue?vue&type=style&index=0&id=5e8c5b90&prod&lang=scss&scoped=true
75691
+ ;// ./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/form.vue?vue&type=style&index=0&id=acf332a6&prod&lang=scss&scoped=true
75403
75692
  // extracted by mini-css-extract-plugin
75404
75693
 
75405
- ;// ./src/components/form/form.vue?vue&type=style&index=0&id=5e8c5b90&prod&lang=scss&scoped=true
75694
+ ;// ./src/components/form/form.vue?vue&type=style&index=0&id=acf332a6&prod&lang=scss&scoped=true
75406
75695
 
75407
75696
  ;// ./src/components/form/form.vue
75408
75697
 
@@ -75415,11 +75704,11 @@ var BatchQuerySelector_component = normalizeComponent(
75415
75704
 
75416
75705
  var form_component = normalizeComponent(
75417
75706
  form_formvue_type_script_lang_js,
75418
- formvue_type_template_id_5e8c5b90_scoped_true_render,
75419
- formvue_type_template_id_5e8c5b90_scoped_true_staticRenderFns,
75707
+ formvue_type_template_id_acf332a6_scoped_true_render,
75708
+ formvue_type_template_id_acf332a6_scoped_true_staticRenderFns,
75420
75709
  false,
75421
75710
  null,
75422
- "5e8c5b90",
75711
+ "acf332a6",
75423
75712
  null
75424
75713
 
75425
75714
  )
@@ -1 +1 @@
1
- .b-form .header[data-v-5e8c5b90]{margin-bottom:20px}.b-form .footer[data-v-5e8c5b90]{margin-top:20px}
1
+ .b-form .header[data-v-acf332a6]{margin-bottom:20px}.b-form .footer[data-v-acf332a6]{margin-top:20px}