@weitutech/by-components 1.1.80 → 1.1.82
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.
- package/lib/by-components.common.js +325 -24
- package/lib/by-components.css +1 -1
- package/lib/by-components.umd.js +325 -24
- package/lib/by-components.umd.min.js +13 -13
- package/lib/index.css +1 -1
- package/package.json +1 -1
package/lib/by-components.umd.js
CHANGED
|
@@ -62414,8 +62414,8 @@ var table_component = normalizeComponent(
|
|
|
62414
62414
|
)
|
|
62415
62415
|
|
|
62416
62416
|
/* harmony default export */ var table = (table_component.exports);
|
|
62417
|
-
;// ./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-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/form/form.vue?vue&type=template&id=
|
|
62418
|
-
var
|
|
62417
|
+
;// ./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-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/form/form.vue?vue&type=template&id=acf332a6&scoped=true
|
|
62418
|
+
var formvue_type_template_id_acf332a6_scoped_true_render = function render() {
|
|
62419
62419
|
var _vm = this,
|
|
62420
62420
|
_c = _vm._self._c;
|
|
62421
62421
|
return _c('div', {
|
|
@@ -62544,7 +62544,13 @@ var formvue_type_template_id_5e8c5b90_scoped_true_render = function render() {
|
|
|
62544
62544
|
"suffixInputOptions": item.suffixInputOptions,
|
|
62545
62545
|
"showSuffixBatchInput": item.showSuffixBatchInput,
|
|
62546
62546
|
"suffixBatchInputPopoverTitle": item.suffixBatchInputPopoverTitle,
|
|
62547
|
-
"suffixBatchInputPopoverWidth": item.suffixBatchInputPopoverWidth
|
|
62547
|
+
"suffixBatchInputPopoverWidth": item.suffixBatchInputPopoverWidth,
|
|
62548
|
+
"enhancedAllOptions": item.enhancedAllOptions || [],
|
|
62549
|
+
"enhancedTitleKey": item.enhancedTitleKey || 'name',
|
|
62550
|
+
"enhancedDescriptionKey": item.enhancedDescriptionKey || 'mobile',
|
|
62551
|
+
"enhancedDisabledKey": item.enhancedDisabledKey || 'status',
|
|
62552
|
+
"enhancedDisabledCanSelect": item.enhancedDisabledCanSelect || false,
|
|
62553
|
+
"enhancedCollapseTags": item.enhancedCollapseTags || false
|
|
62548
62554
|
},
|
|
62549
62555
|
on: {
|
|
62550
62556
|
"update:suffixInputValue": function ($event) {
|
|
@@ -62558,6 +62564,9 @@ var formvue_type_template_id_5e8c5b90_scoped_true_render = function render() {
|
|
|
62558
62564
|
},
|
|
62559
62565
|
"suffix-input-change": function ($event) {
|
|
62560
62566
|
return _vm.handleSuffixInputChange($event, item);
|
|
62567
|
+
},
|
|
62568
|
+
"search": function ($event) {
|
|
62569
|
+
return _vm.handleEnhancedSearch($event, item);
|
|
62561
62570
|
}
|
|
62562
62571
|
}
|
|
62563
62572
|
}, 'by-common-selector', item.otherOptions || {}, false))] : item.type === 'batchQuerySelector' ? [_c('by-batch-query-selector', _vm._b({
|
|
@@ -62767,7 +62776,7 @@ var formvue_type_template_id_5e8c5b90_scoped_true_render = function render() {
|
|
|
62767
62776
|
staticClass: "footer"
|
|
62768
62777
|
}, [_vm._t("footer")], 2)], 1);
|
|
62769
62778
|
};
|
|
62770
|
-
var
|
|
62779
|
+
var formvue_type_template_id_acf332a6_scoped_true_staticRenderFns = [];
|
|
62771
62780
|
|
|
62772
62781
|
;// ./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-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/form/comps/pair-number-input.vue?vue&type=template&id=604235f6
|
|
62773
62782
|
var pair_number_inputvue_type_template_id_604235f6_render = function render() {
|
|
@@ -63067,14 +63076,14 @@ var custom_date_picker_component = normalizeComponent(
|
|
|
63067
63076
|
)
|
|
63068
63077
|
|
|
63069
63078
|
/* harmony default export */ var custom_date_picker = (custom_date_picker_component.exports);
|
|
63070
|
-
;// ./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-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/common-selector/ByCommonSelector.vue?vue&type=template&id=
|
|
63071
|
-
var
|
|
63079
|
+
;// ./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-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/common-selector/ByCommonSelector.vue?vue&type=template&id=fbdd4830
|
|
63080
|
+
var ByCommonSelectorvue_type_template_id_fbdd4830_render = function render() {
|
|
63072
63081
|
var _vm = this,
|
|
63073
63082
|
_c = _vm._self._c;
|
|
63074
63083
|
return _c('div', {
|
|
63075
63084
|
staticClass: "by_selector_container",
|
|
63076
63085
|
class: {
|
|
63077
|
-
'by_align-center': _vm.type !== 'select' && !_vm.open
|
|
63086
|
+
'by_align-center': _vm.type !== 'select' && _vm.type !== 'enhancedSelect' && !_vm.open
|
|
63078
63087
|
}
|
|
63079
63088
|
}, [_vm.type === 'select' ? _c('el-select', _vm._b({
|
|
63080
63089
|
attrs: {
|
|
@@ -63105,6 +63114,47 @@ var ByCommonSelectorvue_type_template_id_1b8642c2_render = function render() {
|
|
|
63105
63114
|
"disabled": item.status === 0
|
|
63106
63115
|
}
|
|
63107
63116
|
});
|
|
63117
|
+
}), 1) : _vm.type === 'enhancedSelect' ? _c('el-select', _vm._b({
|
|
63118
|
+
attrs: {
|
|
63119
|
+
"filterable": "",
|
|
63120
|
+
"clearable": "",
|
|
63121
|
+
"remote": "",
|
|
63122
|
+
"multiple": _vm.multiple,
|
|
63123
|
+
"collapse-tags": _vm.multiple && _vm.enhancedCollapseTags,
|
|
63124
|
+
"remote-method": _vm.getResult,
|
|
63125
|
+
"loading": _vm.loading,
|
|
63126
|
+
"placeholder": _vm.placeholder
|
|
63127
|
+
},
|
|
63128
|
+
on: {
|
|
63129
|
+
"change": _vm.selected,
|
|
63130
|
+
"visible-change": _vm.handleVisibleChange
|
|
63131
|
+
},
|
|
63132
|
+
model: {
|
|
63133
|
+
value: _vm.selectedValue,
|
|
63134
|
+
callback: function ($$v) {
|
|
63135
|
+
_vm.selectedValue = $$v;
|
|
63136
|
+
},
|
|
63137
|
+
expression: "selectedValue"
|
|
63138
|
+
}
|
|
63139
|
+
}, 'el-select', _vm.$attrs, false), _vm._l(_vm.enhancedDataList, function (item, index) {
|
|
63140
|
+
return _c('el-option', {
|
|
63141
|
+
key: index,
|
|
63142
|
+
attrs: {
|
|
63143
|
+
"label": _vm.enhancedDescriptionDisplay ? item[_vm.enhancedTitleKey] + ' ' + item[_vm.enhancedDescriptionKey] : item[_vm.enhancedTitleKey],
|
|
63144
|
+
"value": item.id,
|
|
63145
|
+
"disabled": !_vm.enhancedDisabledCanSelect && item[_vm.enhancedDisabledKey] === 0
|
|
63146
|
+
}
|
|
63147
|
+
}, [_c('span', {
|
|
63148
|
+
staticClass: "enhanced-option-left",
|
|
63149
|
+
class: {
|
|
63150
|
+
'enhanced-disabled': item[_vm.enhancedDisabledKey] === 0
|
|
63151
|
+
}
|
|
63152
|
+
}, [_vm._v(_vm._s(item[_vm.enhancedTitleKey]))]), _vm.enhancedDescriptionDisplay ? _c('span', {
|
|
63153
|
+
staticClass: "enhanced-option-right",
|
|
63154
|
+
class: {
|
|
63155
|
+
'enhanced-disabled': item[_vm.enhancedDisabledKey] === 0
|
|
63156
|
+
}
|
|
63157
|
+
}, [_vm._v(_vm._s(item[_vm.enhancedDescriptionKey]))]) : _vm._e()]);
|
|
63108
63158
|
}), 1) : [!_vm.hiddenAllOptions ? _c('el-checkbox', {
|
|
63109
63159
|
class: ['by_selected_all', {
|
|
63110
63160
|
'by_border-transparent': _vm.type !== 'border'
|
|
@@ -63452,7 +63502,7 @@ var ByCommonSelectorvue_type_template_id_1b8642c2_render = function render() {
|
|
|
63452
63502
|
return _vm.handlePageChange(_vm.currentPage + 1);
|
|
63453
63503
|
}
|
|
63454
63504
|
}
|
|
63455
|
-
}, [_vm._v(" 下一页 ")])], 1) : _vm._e()], 1)])], _vm.type !== 'select' && _vm.needExpand && !_vm.forceNoExpand ? _c('el-button', {
|
|
63505
|
+
}, [_vm._v(" 下一页 ")])], 1) : _vm._e()], 1)])], _vm.type !== 'select' && _vm.type !== 'enhancedSelect' && _vm.needExpand && !_vm.forceNoExpand ? _c('el-button', {
|
|
63456
63506
|
staticClass: "by_openShrink",
|
|
63457
63507
|
attrs: {
|
|
63458
63508
|
"type": "text",
|
|
@@ -63461,7 +63511,7 @@ var ByCommonSelectorvue_type_template_id_1b8642c2_render = function render() {
|
|
|
63461
63511
|
on: {
|
|
63462
63512
|
"click": _vm.showList
|
|
63463
63513
|
}
|
|
63464
|
-
}, [_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', {
|
|
63514
|
+
}, [_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', {
|
|
63465
63515
|
staticClass: "by_openShrink",
|
|
63466
63516
|
attrs: {
|
|
63467
63517
|
"type": "text",
|
|
@@ -63469,7 +63519,7 @@ var ByCommonSelectorvue_type_template_id_1b8642c2_render = function render() {
|
|
|
63469
63519
|
}
|
|
63470
63520
|
}, [_vm._v(" 加载中... ")]) : _vm._e()], 2);
|
|
63471
63521
|
};
|
|
63472
|
-
var
|
|
63522
|
+
var ByCommonSelectorvue_type_template_id_fbdd4830_staticRenderFns = [];
|
|
63473
63523
|
|
|
63474
63524
|
;// ./node_modules/pinyin-pro/dist/index.mjs
|
|
63475
63525
|
|
|
@@ -73765,7 +73815,11 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
73765
73815
|
default: ''
|
|
73766
73816
|
},
|
|
73767
73817
|
/**
|
|
73768
|
-
* 选择器类型
|
|
73818
|
+
* 选择器类型
|
|
73819
|
+
* border
|
|
73820
|
+
* checkbox
|
|
73821
|
+
* select (默认)
|
|
73822
|
+
* enhancedSelect
|
|
73769
73823
|
*/
|
|
73770
73824
|
type: {
|
|
73771
73825
|
type: String,
|
|
@@ -73806,7 +73860,12 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
73806
73860
|
*/
|
|
73807
73861
|
placeholder: {
|
|
73808
73862
|
type: String,
|
|
73809
|
-
default
|
|
73863
|
+
default() {
|
|
73864
|
+
if (this.type === 'enhancedSelect') {
|
|
73865
|
+
return '请输入用户名,手机号搜索';
|
|
73866
|
+
}
|
|
73867
|
+
return '请选择';
|
|
73868
|
+
}
|
|
73810
73869
|
},
|
|
73811
73870
|
/**
|
|
73812
73871
|
* 选择器大小
|
|
@@ -73854,7 +73913,7 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
73854
73913
|
type: Boolean,
|
|
73855
73914
|
default: false
|
|
73856
73915
|
},
|
|
73857
|
-
//
|
|
73916
|
+
// ********************************** 后置输入框相关 **********************************
|
|
73858
73917
|
/**
|
|
73859
73918
|
* 是否显示后置输入框
|
|
73860
73919
|
*/
|
|
@@ -73911,6 +73970,61 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
73911
73970
|
suffixBatchInputPopoverWidth: {
|
|
73912
73971
|
type: [String, Number],
|
|
73913
73972
|
default: '300'
|
|
73973
|
+
},
|
|
73974
|
+
// ********************************** 增强下拉选择器相关 **********************************
|
|
73975
|
+
/**
|
|
73976
|
+
* 增强下拉选择器中,所有选项数据
|
|
73977
|
+
* @description 该属性是用于默认回显时查找数据,并非用于展示下拉选项
|
|
73978
|
+
* 必填,否则会影响默认回显
|
|
73979
|
+
*/
|
|
73980
|
+
enhancedAllOptions: {
|
|
73981
|
+
type: Array,
|
|
73982
|
+
default: () => []
|
|
73983
|
+
},
|
|
73984
|
+
/**
|
|
73985
|
+
* 增强下拉选择器中,选项的title字段
|
|
73986
|
+
*/
|
|
73987
|
+
enhancedTitleKey: {
|
|
73988
|
+
type: String,
|
|
73989
|
+
default: 'name'
|
|
73990
|
+
},
|
|
73991
|
+
/**
|
|
73992
|
+
* 增强下拉选择器中,选项的description字段
|
|
73993
|
+
*/
|
|
73994
|
+
enhancedDescriptionKey: {
|
|
73995
|
+
type: String,
|
|
73996
|
+
default: 'mobile'
|
|
73997
|
+
},
|
|
73998
|
+
/**
|
|
73999
|
+
* 增强下拉选择器中,选项的禁用字段名(置灰的字段)
|
|
74000
|
+
*/
|
|
74001
|
+
enhancedDisabledKey: {
|
|
74002
|
+
type: String,
|
|
74003
|
+
default: 'status'
|
|
74004
|
+
},
|
|
74005
|
+
/**
|
|
74006
|
+
* 增强下拉选择器中,选项的description字段是否显示
|
|
74007
|
+
* true: 显示 标题 + 描述 (如: 何其灿 13063048088)
|
|
74008
|
+
* false: 只显示 标题
|
|
74009
|
+
*/
|
|
74010
|
+
enhancedDescriptionDisplay: {
|
|
74011
|
+
type: Boolean,
|
|
74012
|
+
default: true
|
|
74013
|
+
},
|
|
74014
|
+
/**
|
|
74015
|
+
* 增强下拉选择器中,多选时是否折叠标签
|
|
74016
|
+
*/
|
|
74017
|
+
enhancedCollapseTags: {
|
|
74018
|
+
type: Boolean,
|
|
74019
|
+
default: false
|
|
74020
|
+
},
|
|
74021
|
+
/**
|
|
74022
|
+
* 增强下拉选择器中,禁用的值是否可选
|
|
74023
|
+
* 是:禁用只是置灰,依然可选; 否:置灰并不可选中
|
|
74024
|
+
*/
|
|
74025
|
+
enhancedDisabledCanSelect: {
|
|
74026
|
+
type: Boolean,
|
|
74027
|
+
default: false
|
|
73914
74028
|
}
|
|
73915
74029
|
},
|
|
73916
74030
|
data() {
|
|
@@ -73943,7 +74057,13 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
73943
74057
|
|
|
73944
74058
|
popoverVisible: false,
|
|
73945
74059
|
// 批量输入按钮的弹窗是否显示
|
|
73946
|
-
batchInputContent: ''
|
|
74060
|
+
batchInputContent: '',
|
|
74061
|
+
// 批量输入的内容
|
|
74062
|
+
|
|
74063
|
+
// enhancedSelect 相关数据
|
|
74064
|
+
allData: new Map(),
|
|
74065
|
+
// 缓存所有数据
|
|
74066
|
+
enhancedSelectOpened: false // 标记 enhancedSelect 是否已经打开过
|
|
73947
74067
|
};
|
|
73948
74068
|
},
|
|
73949
74069
|
computed: {
|
|
@@ -73955,10 +74075,43 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
73955
74075
|
},
|
|
73956
74076
|
optionsList() {
|
|
73957
74077
|
return this.dataList;
|
|
74078
|
+
},
|
|
74079
|
+
enhancedDataList() {
|
|
74080
|
+
if (this.type !== 'enhancedSelect') {
|
|
74081
|
+
return this.dataList;
|
|
74082
|
+
}
|
|
74083
|
+
|
|
74084
|
+
// 只有在未打开过的情况下,如果有默认值且 dataList 为空,则从 enhancedAllOptions 中查找默认选项
|
|
74085
|
+
if (!this.enhancedSelectOpened && this.value !== undefined && this.value !== null && this.value !== '' && this.dataList.length === 0) {
|
|
74086
|
+
if (this.multiple) {
|
|
74087
|
+
// 多选情况:value 是数组
|
|
74088
|
+
if (Array.isArray(this.value) && this.value.length > 0) {
|
|
74089
|
+
const defaultItems = this.enhancedAllOptions.filter(option => this.value.includes(option.id) || this.value.includes(Number(option.id)) || this.value.includes(0) && option.id === 0);
|
|
74090
|
+
return defaultItems;
|
|
74091
|
+
}
|
|
74092
|
+
} else {
|
|
74093
|
+
// 单选情况:value 是单个值
|
|
74094
|
+
if (this.value !== '') {
|
|
74095
|
+
const defaultItem = this.enhancedAllOptions.find(option => option.id === this.value || option.id === Number(this.value) || this.value === 0 && option.id === 0);
|
|
74096
|
+
return defaultItem ? [defaultItem] : [];
|
|
74097
|
+
}
|
|
74098
|
+
}
|
|
74099
|
+
}
|
|
74100
|
+
return this.dataList;
|
|
73958
74101
|
}
|
|
73959
74102
|
},
|
|
73960
74103
|
watch: {
|
|
73961
74104
|
value(value) {
|
|
74105
|
+
if (this.type === 'enhancedSelect') {
|
|
74106
|
+
this.selectedValue = value;
|
|
74107
|
+
// 如果数据已经加载,立即处理默认值
|
|
74108
|
+
if (this.allData.size > 0) {
|
|
74109
|
+
this.$nextTick(() => {
|
|
74110
|
+
this.handleEnhancedSelectDefaultValue();
|
|
74111
|
+
});
|
|
74112
|
+
}
|
|
74113
|
+
return;
|
|
74114
|
+
}
|
|
73962
74115
|
if (this.type === 'select') {
|
|
73963
74116
|
this.selectedValue = value;
|
|
73964
74117
|
|
|
@@ -73984,6 +74137,25 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
73984
74137
|
},
|
|
73985
74138
|
options: {
|
|
73986
74139
|
handler(newOptions, oldOptions) {
|
|
74140
|
+
// enhancedSelect 类型的特殊处理
|
|
74141
|
+
if (this.type === 'enhancedSelect') {
|
|
74142
|
+
this.dataList = newOptions;
|
|
74143
|
+
// 更新缓存
|
|
74144
|
+
this.allData.clear();
|
|
74145
|
+
newOptions.forEach(item => {
|
|
74146
|
+
this.allData.set(item.id, item);
|
|
74147
|
+
});
|
|
74148
|
+
// 数据更新后,自动关闭加载状态
|
|
74149
|
+
this.loading = false;
|
|
74150
|
+
|
|
74151
|
+
// 数据加载完成后,重新处理默认值
|
|
74152
|
+
this.$nextTick(() => {
|
|
74153
|
+
this.handleEnhancedSelectDefaultValue();
|
|
74154
|
+
});
|
|
74155
|
+
return;
|
|
74156
|
+
}
|
|
74157
|
+
|
|
74158
|
+
// 其他类型的处理
|
|
73987
74159
|
if (!this.loadOptions) {
|
|
73988
74160
|
this.localOptions = [...this.options];
|
|
73989
74161
|
|
|
@@ -74028,6 +74200,23 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
74028
74200
|
if (val !== this.localSuffixInputValue) {
|
|
74029
74201
|
this.localSuffixInputValue = val;
|
|
74030
74202
|
}
|
|
74203
|
+
},
|
|
74204
|
+
enhancedAllOptions: {
|
|
74205
|
+
handler(newOptions) {
|
|
74206
|
+
if (this.type === 'enhancedSelect') {
|
|
74207
|
+
// 验证 enhancedAllOptions 是否已加载
|
|
74208
|
+
if (!newOptions || newOptions.length === 0) {
|
|
74209
|
+
console.warn('[ByCommonSelector] enhancedSelect 类型需要提供 enhancedAllOptions 属性用于默认值回显');
|
|
74210
|
+
return;
|
|
74211
|
+
}
|
|
74212
|
+
|
|
74213
|
+
// 当 enhancedAllOptions 加载完成后,重新处理默认值
|
|
74214
|
+
this.$nextTick(() => {
|
|
74215
|
+
this.handleEnhancedSelectDefaultValue();
|
|
74216
|
+
});
|
|
74217
|
+
}
|
|
74218
|
+
},
|
|
74219
|
+
immediate: true
|
|
74031
74220
|
}
|
|
74032
74221
|
},
|
|
74033
74222
|
created() {
|
|
@@ -74120,7 +74309,7 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
74120
74309
|
// 检查是否需要展开按钮
|
|
74121
74310
|
checkNeedExpand() {
|
|
74122
74311
|
var _this$$el;
|
|
74123
|
-
if (this.type === 'select' || this.forceNoExpand) {
|
|
74312
|
+
if (this.type === 'select' || this.type === 'enhancedSelect' || this.forceNoExpand) {
|
|
74124
74313
|
this.needExpand = false;
|
|
74125
74314
|
return;
|
|
74126
74315
|
}
|
|
@@ -74203,6 +74392,10 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
74203
74392
|
this.$nextTick(() => {
|
|
74204
74393
|
this.checkNeedExpand();
|
|
74205
74394
|
this.scheduleExpandCheck();
|
|
74395
|
+
// 异步加载数据后,重新处理默认值(仅 enhancedSelect)
|
|
74396
|
+
if (this.type === 'enhancedSelect') {
|
|
74397
|
+
this.handleEnhancedSelectDefaultValue();
|
|
74398
|
+
}
|
|
74206
74399
|
});
|
|
74207
74400
|
} else {
|
|
74208
74401
|
// console.error('loadOptions函数返回值必须是数组')
|
|
@@ -74216,6 +74409,16 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
74216
74409
|
}
|
|
74217
74410
|
},
|
|
74218
74411
|
initData() {
|
|
74412
|
+
// enhancedSelect 类型的特殊处理
|
|
74413
|
+
if (this.type === 'enhancedSelect') {
|
|
74414
|
+
this.dataList = this.options;
|
|
74415
|
+
this.selectedValue = this.value;
|
|
74416
|
+
// 缓存所有数据
|
|
74417
|
+
this.options.forEach(item => {
|
|
74418
|
+
this.allData.set(item.id, item);
|
|
74419
|
+
});
|
|
74420
|
+
return;
|
|
74421
|
+
}
|
|
74219
74422
|
this.dataList = [...this.localOptions];
|
|
74220
74423
|
this.buildLatterList();
|
|
74221
74424
|
// 修复:使用严格比较,避免0值被误判为空
|
|
@@ -74274,7 +74477,7 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
74274
74477
|
},
|
|
74275
74478
|
// 构建A~Z字母列表
|
|
74276
74479
|
buildLatterList() {
|
|
74277
|
-
if (this.type === 'select') {
|
|
74480
|
+
if (this.type === 'select' || this.type === 'enhancedSelect') {
|
|
74278
74481
|
this.dataList = [...this.localOptions];
|
|
74279
74482
|
} else {
|
|
74280
74483
|
// 如果启用了showSearchBar,确保每个选项都有initial字段
|
|
@@ -74366,7 +74569,44 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
74366
74569
|
this.handlePageChange(1);
|
|
74367
74570
|
},
|
|
74368
74571
|
selected(value) {
|
|
74369
|
-
//
|
|
74572
|
+
// enhancedSelect 类型的特殊处理
|
|
74573
|
+
if (this.type === 'enhancedSelect') {
|
|
74574
|
+
let obj = null;
|
|
74575
|
+
if (this.multiple) {
|
|
74576
|
+
obj = [];
|
|
74577
|
+
// 修复:优先从 enhancedAllOptions 中查找,确保多选时能正确获取对象数组
|
|
74578
|
+
if (Array.isArray(value) && value.length > 0) {
|
|
74579
|
+
// 从 enhancedAllOptions 中查找所有匹配的选项
|
|
74580
|
+
const items = this.enhancedAllOptions.filter(option => value.includes(option.id) || value.includes(Number(option.id)) || value.includes(0) && option.id === 0);
|
|
74581
|
+
obj = items;
|
|
74582
|
+
}
|
|
74583
|
+
} else {
|
|
74584
|
+
obj = {};
|
|
74585
|
+
if (value !== undefined && value !== null && value !== '') {
|
|
74586
|
+
// 优先从 enhancedAllOptions 中查找
|
|
74587
|
+
const item = this.enhancedAllOptions.find(option => option.id === value || option.id === Number(value) || value === 0 && option.id === 0);
|
|
74588
|
+
if (item) {
|
|
74589
|
+
obj[this.enhancedDescriptionKey] = item[this.enhancedDescriptionKey];
|
|
74590
|
+
obj[this.enhancedTitleKey] = item[this.enhancedTitleKey];
|
|
74591
|
+
obj.id = item.id;
|
|
74592
|
+
} else {
|
|
74593
|
+
// 如果从 enhancedAllOptions 中找不到,再从 dataList 中查找
|
|
74594
|
+
this.dataList.forEach(item => {
|
|
74595
|
+
if (value === item.id || value === 0 && item.id === 0) {
|
|
74596
|
+
obj[this.enhancedDescriptionKey] = item[this.enhancedDescriptionKey];
|
|
74597
|
+
obj[this.enhancedTitleKey] = item[this.enhancedTitleKey];
|
|
74598
|
+
obj.id = item.id;
|
|
74599
|
+
}
|
|
74600
|
+
});
|
|
74601
|
+
}
|
|
74602
|
+
} else {
|
|
74603
|
+
obj = null;
|
|
74604
|
+
}
|
|
74605
|
+
}
|
|
74606
|
+
this.$emit('input', value);
|
|
74607
|
+
this.$emit('change', obj);
|
|
74608
|
+
return;
|
|
74609
|
+
}
|
|
74370
74610
|
if (this.multiple) {
|
|
74371
74611
|
if (Array.isArray(value)) {
|
|
74372
74612
|
this.selectedValue = value.filter(v => typeof v !== 'boolean');
|
|
@@ -74449,6 +74689,60 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
74449
74689
|
this.localSuffixInputValue = value;
|
|
74450
74690
|
this.$emit('suffix-input-change', value);
|
|
74451
74691
|
this.$emit('update:suffixInputValue', value);
|
|
74692
|
+
},
|
|
74693
|
+
// ******************** enhancedSelect 相关方法 ********************
|
|
74694
|
+
getResult(q) {
|
|
74695
|
+
// 设置加载状态
|
|
74696
|
+
this.loading = true;
|
|
74697
|
+
|
|
74698
|
+
// 触发外部搜索事件,让外部控制数据
|
|
74699
|
+
this.$emit('search', q);
|
|
74700
|
+
|
|
74701
|
+
// 返回 Promise 以满足 remote 的要求
|
|
74702
|
+
return Promise.resolve();
|
|
74703
|
+
},
|
|
74704
|
+
handleEnhancedSelectDefaultValue() {
|
|
74705
|
+
// console.log('001:this.value ==:', this.value)
|
|
74706
|
+
// console.log('002:this.enhancedAllOptions ==:', this.enhancedAllOptions)
|
|
74707
|
+
// 针对 enhancedSelect 类型处理默认值
|
|
74708
|
+
if (this.value !== undefined && this.value !== null && this.value !== '') {
|
|
74709
|
+
// 确保默认值能正确显示
|
|
74710
|
+
this.selectedValue = this.value;
|
|
74711
|
+
if (this.multiple) {
|
|
74712
|
+
// 多选情况:value 是数组
|
|
74713
|
+
if (Array.isArray(this.value) && this.value.length > 0) {
|
|
74714
|
+
// 在 enhancedAllOptions 数组中查找所有对应的选项
|
|
74715
|
+
const items = this.enhancedAllOptions.filter(option => this.value.includes(option.id) || this.value.includes(Number(option.id)) || this.value.includes(0) && option.id === 0);
|
|
74716
|
+
if (items.length > 0) {
|
|
74717
|
+
this.$emit('input', this.value);
|
|
74718
|
+
this.$emit('change', items);
|
|
74719
|
+
}
|
|
74720
|
+
}
|
|
74721
|
+
} else {
|
|
74722
|
+
// 单选情况:value 是单个值
|
|
74723
|
+
// 在 enhancedAllOptions 数组中查找对应的选项
|
|
74724
|
+
const item = this.enhancedAllOptions.find(option => option.id === this.value || option.id === Number(this.value) || this.value === 0 && option.id === 0);
|
|
74725
|
+
if (item) {
|
|
74726
|
+
let obj = {};
|
|
74727
|
+
obj[this.enhancedDescriptionKey] = item[this.enhancedDescriptionKey];
|
|
74728
|
+
obj[this.enhancedTitleKey] = item[this.enhancedTitleKey];
|
|
74729
|
+
obj.id = item.id;
|
|
74730
|
+
this.$emit('input', this.value);
|
|
74731
|
+
this.$emit('change', obj);
|
|
74732
|
+
}
|
|
74733
|
+
}
|
|
74734
|
+
}
|
|
74735
|
+
},
|
|
74736
|
+
handleVisibleChange(visible) {
|
|
74737
|
+
if (this.type === 'enhancedSelect') {
|
|
74738
|
+
if (visible) {
|
|
74739
|
+
// 标记已经打开过
|
|
74740
|
+
this.enhancedSelectOpened = true;
|
|
74741
|
+
// 当下拉框打开时,清空搜索结果
|
|
74742
|
+
this.dataList = [];
|
|
74743
|
+
this.$emit('search', ''); // 触发清空搜索
|
|
74744
|
+
}
|
|
74745
|
+
}
|
|
74452
74746
|
}
|
|
74453
74747
|
}
|
|
74454
74748
|
});
|
|
@@ -74464,8 +74758,8 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
74464
74758
|
;
|
|
74465
74759
|
var ByCommonSelector_component = normalizeComponent(
|
|
74466
74760
|
common_selector_ByCommonSelectorvue_type_script_lang_js,
|
|
74467
|
-
|
|
74468
|
-
|
|
74761
|
+
ByCommonSelectorvue_type_template_id_fbdd4830_render,
|
|
74762
|
+
ByCommonSelectorvue_type_template_id_fbdd4830_staticRenderFns,
|
|
74469
74763
|
false,
|
|
74470
74764
|
null,
|
|
74471
74765
|
null,
|
|
@@ -75404,15 +75698,22 @@ var BatchQuerySelector_component = normalizeComponent(
|
|
|
75404
75698
|
...event,
|
|
75405
75699
|
item
|
|
75406
75700
|
});
|
|
75701
|
+
},
|
|
75702
|
+
// 增强选择器搜索事件处理
|
|
75703
|
+
handleEnhancedSearch(query, item) {
|
|
75704
|
+
this.$emit('enhanced-search', {
|
|
75705
|
+
query,
|
|
75706
|
+
item
|
|
75707
|
+
});
|
|
75407
75708
|
}
|
|
75408
75709
|
}
|
|
75409
75710
|
});
|
|
75410
75711
|
;// ./src/components/form/form.vue?vue&type=script&lang=js
|
|
75411
75712
|
/* harmony default export */ var form_formvue_type_script_lang_js = (formvue_type_script_lang_js);
|
|
75412
|
-
;// ./node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-64.use[0]!./node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-64.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-64.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-64.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=
|
|
75713
|
+
;// ./node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-64.use[0]!./node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-64.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-64.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-64.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
|
|
75413
75714
|
// extracted by mini-css-extract-plugin
|
|
75414
75715
|
|
|
75415
|
-
;// ./src/components/form/form.vue?vue&type=style&index=0&id=
|
|
75716
|
+
;// ./src/components/form/form.vue?vue&type=style&index=0&id=acf332a6&prod&lang=scss&scoped=true
|
|
75416
75717
|
|
|
75417
75718
|
;// ./src/components/form/form.vue
|
|
75418
75719
|
|
|
@@ -75425,11 +75726,11 @@ var BatchQuerySelector_component = normalizeComponent(
|
|
|
75425
75726
|
|
|
75426
75727
|
var form_component = normalizeComponent(
|
|
75427
75728
|
form_formvue_type_script_lang_js,
|
|
75428
|
-
|
|
75429
|
-
|
|
75729
|
+
formvue_type_template_id_acf332a6_scoped_true_render,
|
|
75730
|
+
formvue_type_template_id_acf332a6_scoped_true_staticRenderFns,
|
|
75430
75731
|
false,
|
|
75431
75732
|
null,
|
|
75432
|
-
"
|
|
75733
|
+
"acf332a6",
|
|
75433
75734
|
null
|
|
75434
75735
|
|
|
75435
75736
|
)
|