@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.
- package/lib/by-components.common.js +313 -24
- package/lib/by-components.css +1 -1
- package/lib/by-components.umd.js +1770 -1481
- package/lib/by-components.umd.min.js +13 -13
- package/lib/index.css +1 -1
- package/package.json +1 -1
|
@@ -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=
|
|
62408
|
-
var
|
|
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
|
|
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=
|
|
63061
|
-
var
|
|
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
|
|
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
|
-
* 选择器类型
|
|
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
|
-
//
|
|
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
|
-
|
|
74458
|
-
|
|
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=
|
|
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=
|
|
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
|
-
|
|
75419
|
-
|
|
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
|
-
"
|
|
75711
|
+
"acf332a6",
|
|
75423
75712
|
null
|
|
75424
75713
|
|
|
75425
75714
|
)
|
package/lib/by-components.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.b-form .header[data-v-
|
|
1
|
+
.b-form .header[data-v-acf332a6]{margin-bottom:20px}.b-form .footer[data-v-acf332a6]{margin-top:20px}
|