@weitutech/by-components 1.1.85 → 1.1.86
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 +350 -25
- package/lib/by-components.css +1 -1
- package/lib/by-components.umd.js +350 -25
- package/lib/by-components.umd.min.js +13 -13
- package/lib/index.css +1 -1
- package/package.json +1 -1
|
@@ -62119,6 +62119,38 @@ const deepClone = target => {
|
|
|
62119
62119
|
// 返回最终结果
|
|
62120
62120
|
return result;
|
|
62121
62121
|
};
|
|
62122
|
+
|
|
62123
|
+
/**
|
|
62124
|
+
* 比较两个值是否相等,支持字符串和数字类型的自动转换
|
|
62125
|
+
* @param {*} value1 第一个值
|
|
62126
|
+
* @param {*} value2 第二个值
|
|
62127
|
+
* @returns {boolean} 是否相等
|
|
62128
|
+
*/
|
|
62129
|
+
const isValueEqual = (value1, value2) => {
|
|
62130
|
+
// 如果两个值严格相等,直接返回 true
|
|
62131
|
+
if (value1 === value2) {
|
|
62132
|
+
return true;
|
|
62133
|
+
}
|
|
62134
|
+
|
|
62135
|
+
// 处理 0 的特殊情况
|
|
62136
|
+
if (value1 === 0 && value2 === 0) {
|
|
62137
|
+
return true;
|
|
62138
|
+
}
|
|
62139
|
+
|
|
62140
|
+
// 尝试数字转换比较
|
|
62141
|
+
const num1 = Number(value1);
|
|
62142
|
+
const num2 = Number(value2);
|
|
62143
|
+
|
|
62144
|
+
// 如果转换后都是有效数字且相等
|
|
62145
|
+
if (!isNaN(num1) && !isNaN(num2) && num1 === num2) {
|
|
62146
|
+
return true;
|
|
62147
|
+
}
|
|
62148
|
+
|
|
62149
|
+
// 尝试字符串转换比较
|
|
62150
|
+
const str1 = String(value1);
|
|
62151
|
+
const str2 = String(value2);
|
|
62152
|
+
return str1 === str2;
|
|
62153
|
+
};
|
|
62122
62154
|
;// ./src/utils/tableUtils.js
|
|
62123
62155
|
|
|
62124
62156
|
|
|
@@ -63431,8 +63463,8 @@ var table_component = normalizeComponent(
|
|
|
63431
63463
|
)
|
|
63432
63464
|
|
|
63433
63465
|
/* harmony default export */ var table = (table_component.exports);
|
|
63434
|
-
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"35e2e9c6-vue-loader-template"}!./node_modules/thread-loader/dist/cjs.js!./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=
|
|
63435
|
-
var
|
|
63466
|
+
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"35e2e9c6-vue-loader-template"}!./node_modules/thread-loader/dist/cjs.js!./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
|
|
63467
|
+
var formvue_type_template_id_acf332a6_scoped_true_render = function render() {
|
|
63436
63468
|
var _vm = this,
|
|
63437
63469
|
_c = _vm._self._c;
|
|
63438
63470
|
return _c('div', {
|
|
@@ -63561,7 +63593,13 @@ var formvue_type_template_id_5e8c5b90_scoped_true_render = function render() {
|
|
|
63561
63593
|
"suffixInputOptions": item.suffixInputOptions,
|
|
63562
63594
|
"showSuffixBatchInput": item.showSuffixBatchInput,
|
|
63563
63595
|
"suffixBatchInputPopoverTitle": item.suffixBatchInputPopoverTitle,
|
|
63564
|
-
"suffixBatchInputPopoverWidth": item.suffixBatchInputPopoverWidth
|
|
63596
|
+
"suffixBatchInputPopoverWidth": item.suffixBatchInputPopoverWidth,
|
|
63597
|
+
"enhancedAllOptions": item.enhancedAllOptions || [],
|
|
63598
|
+
"enhancedTitleKey": item.enhancedTitleKey || 'name',
|
|
63599
|
+
"enhancedDescriptionKey": item.enhancedDescriptionKey || 'mobile',
|
|
63600
|
+
"enhancedDisabledKey": item.enhancedDisabledKey || 'status',
|
|
63601
|
+
"enhancedDisabledCanSelect": item.enhancedDisabledCanSelect || false,
|
|
63602
|
+
"enhancedCollapseTags": item.enhancedCollapseTags || false
|
|
63565
63603
|
},
|
|
63566
63604
|
on: {
|
|
63567
63605
|
"update:suffixInputValue": function ($event) {
|
|
@@ -63575,6 +63613,9 @@ var formvue_type_template_id_5e8c5b90_scoped_true_render = function render() {
|
|
|
63575
63613
|
},
|
|
63576
63614
|
"suffix-input-change": function ($event) {
|
|
63577
63615
|
return _vm.handleSuffixInputChange($event, item);
|
|
63616
|
+
},
|
|
63617
|
+
"search": function ($event) {
|
|
63618
|
+
return _vm.handleEnhancedSearch($event, item);
|
|
63578
63619
|
}
|
|
63579
63620
|
}
|
|
63580
63621
|
}, 'by-common-selector', item.otherOptions || {}, false))] : item.type === 'batchQuerySelector' ? [_c('by-batch-query-selector', _vm._b({
|
|
@@ -63784,7 +63825,7 @@ var formvue_type_template_id_5e8c5b90_scoped_true_render = function render() {
|
|
|
63784
63825
|
staticClass: "footer"
|
|
63785
63826
|
}, [_vm._t("footer")], 2)], 1);
|
|
63786
63827
|
};
|
|
63787
|
-
var
|
|
63828
|
+
var formvue_type_template_id_acf332a6_scoped_true_staticRenderFns = [];
|
|
63788
63829
|
|
|
63789
63830
|
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"35e2e9c6-vue-loader-template"}!./node_modules/thread-loader/dist/cjs.js!./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
|
|
63790
63831
|
var pair_number_inputvue_type_template_id_604235f6_render = function render() {
|
|
@@ -64084,14 +64125,14 @@ var custom_date_picker_component = normalizeComponent(
|
|
|
64084
64125
|
)
|
|
64085
64126
|
|
|
64086
64127
|
/* harmony default export */ var custom_date_picker = (custom_date_picker_component.exports);
|
|
64087
|
-
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"35e2e9c6-vue-loader-template"}!./node_modules/thread-loader/dist/cjs.js!./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=
|
|
64088
|
-
var
|
|
64128
|
+
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"35e2e9c6-vue-loader-template"}!./node_modules/thread-loader/dist/cjs.js!./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=d3cd2662
|
|
64129
|
+
var ByCommonSelectorvue_type_template_id_d3cd2662_render = function render() {
|
|
64089
64130
|
var _vm = this,
|
|
64090
64131
|
_c = _vm._self._c;
|
|
64091
64132
|
return _c('div', {
|
|
64092
64133
|
staticClass: "by_selector_container",
|
|
64093
64134
|
class: {
|
|
64094
|
-
'by_align-center': _vm.type !== 'select' && !_vm.open
|
|
64135
|
+
'by_align-center': _vm.type !== 'select' && _vm.type !== 'enhancedSelect' && !_vm.open
|
|
64095
64136
|
}
|
|
64096
64137
|
}, [_vm.type === 'select' ? _c('el-select', _vm._b({
|
|
64097
64138
|
attrs: {
|
|
@@ -64122,6 +64163,48 @@ var ByCommonSelectorvue_type_template_id_1b8642c2_render = function render() {
|
|
|
64122
64163
|
"disabled": item.status === 0
|
|
64123
64164
|
}
|
|
64124
64165
|
});
|
|
64166
|
+
}), 1) : _vm.type === 'enhancedSelect' ? _c('el-select', _vm._b({
|
|
64167
|
+
attrs: {
|
|
64168
|
+
"filterable": "",
|
|
64169
|
+
"clearable": "",
|
|
64170
|
+
"remote": "",
|
|
64171
|
+
"multiple": _vm.multiple,
|
|
64172
|
+
"collapse-tags": _vm.multiple && _vm.enhancedCollapseTags,
|
|
64173
|
+
"remote-method": _vm.getResult,
|
|
64174
|
+
"loading": _vm.loading,
|
|
64175
|
+
"placeholder": _vm.placeholder,
|
|
64176
|
+
"disabled": _vm.enhancedDisabled
|
|
64177
|
+
},
|
|
64178
|
+
on: {
|
|
64179
|
+
"change": _vm.selected,
|
|
64180
|
+
"visible-change": _vm.handleVisibleChange
|
|
64181
|
+
},
|
|
64182
|
+
model: {
|
|
64183
|
+
value: _vm.selectedValue,
|
|
64184
|
+
callback: function ($$v) {
|
|
64185
|
+
_vm.selectedValue = $$v;
|
|
64186
|
+
},
|
|
64187
|
+
expression: "selectedValue"
|
|
64188
|
+
}
|
|
64189
|
+
}, 'el-select', _vm.$attrs, false), _vm._l(_vm.enhancedDataList, function (item, index) {
|
|
64190
|
+
return _c('el-option', {
|
|
64191
|
+
key: index,
|
|
64192
|
+
attrs: {
|
|
64193
|
+
"label": _vm.enhancedDescriptionDisplay ? item[_vm.enhancedTitleKey] + ' ' + item[_vm.enhancedDescriptionKey] : item[_vm.enhancedTitleKey],
|
|
64194
|
+
"value": item.id,
|
|
64195
|
+
"disabled": !_vm.enhancedDisabledCanSelect && item[_vm.enhancedDisabledKey] === 0
|
|
64196
|
+
}
|
|
64197
|
+
}, [_c('span', {
|
|
64198
|
+
staticClass: "enhanced-option-left",
|
|
64199
|
+
class: {
|
|
64200
|
+
'enhanced-disabled': item[_vm.enhancedDisabledKey] === 0
|
|
64201
|
+
}
|
|
64202
|
+
}, [_vm._v(_vm._s(item[_vm.enhancedTitleKey]))]), _vm.enhancedDescriptionDisplay ? _c('span', {
|
|
64203
|
+
staticClass: "enhanced-option-right",
|
|
64204
|
+
class: {
|
|
64205
|
+
'enhanced-disabled': item[_vm.enhancedDisabledKey] === 0
|
|
64206
|
+
}
|
|
64207
|
+
}, [_vm._v(_vm._s(item[_vm.enhancedDescriptionKey]))]) : _vm._e()]);
|
|
64125
64208
|
}), 1) : [!_vm.hiddenAllOptions ? _c('el-checkbox', {
|
|
64126
64209
|
class: ['by_selected_all', {
|
|
64127
64210
|
'by_border-transparent': _vm.type !== 'border'
|
|
@@ -64469,7 +64552,7 @@ var ByCommonSelectorvue_type_template_id_1b8642c2_render = function render() {
|
|
|
64469
64552
|
return _vm.handlePageChange(_vm.currentPage + 1);
|
|
64470
64553
|
}
|
|
64471
64554
|
}
|
|
64472
|
-
}, [_vm._v(" 下一页 ")])], 1) : _vm._e()], 1)])], _vm.type !== 'select' && _vm.needExpand && !_vm.forceNoExpand ? _c('el-button', {
|
|
64555
|
+
}, [_vm._v(" 下一页 ")])], 1) : _vm._e()], 1)])], _vm.type !== 'select' && _vm.type !== 'enhancedSelect' && _vm.needExpand && !_vm.forceNoExpand ? _c('el-button', {
|
|
64473
64556
|
staticClass: "by_openShrink",
|
|
64474
64557
|
attrs: {
|
|
64475
64558
|
"type": "text",
|
|
@@ -64478,7 +64561,7 @@ var ByCommonSelectorvue_type_template_id_1b8642c2_render = function render() {
|
|
|
64478
64561
|
on: {
|
|
64479
64562
|
"click": _vm.showList
|
|
64480
64563
|
}
|
|
64481
|
-
}, [_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', {
|
|
64564
|
+
}, [_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', {
|
|
64482
64565
|
staticClass: "by_openShrink",
|
|
64483
64566
|
attrs: {
|
|
64484
64567
|
"type": "text",
|
|
@@ -64486,7 +64569,7 @@ var ByCommonSelectorvue_type_template_id_1b8642c2_render = function render() {
|
|
|
64486
64569
|
}
|
|
64487
64570
|
}, [_vm._v(" 加载中... ")]) : _vm._e()], 2);
|
|
64488
64571
|
};
|
|
64489
|
-
var
|
|
64572
|
+
var ByCommonSelectorvue_type_template_id_d3cd2662_staticRenderFns = [];
|
|
64490
64573
|
|
|
64491
64574
|
;// ./node_modules/pinyin-pro/dist/index.mjs
|
|
64492
64575
|
|
|
@@ -74779,8 +74862,10 @@ function segment(word, options) {
|
|
|
74779
74862
|
|
|
74780
74863
|
|
|
74781
74864
|
|
|
74865
|
+
|
|
74782
74866
|
//拼音库,用于搜索栏生成A~Z字母
|
|
74783
74867
|
|
|
74868
|
+
|
|
74784
74869
|
// 全部选项可能的名称
|
|
74785
74870
|
const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'all'];
|
|
74786
74871
|
/* harmony default export */ var ByCommonSelectorvue_type_script_lang_js = ({
|
|
@@ -74794,7 +74879,11 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
74794
74879
|
default: ''
|
|
74795
74880
|
},
|
|
74796
74881
|
/**
|
|
74797
|
-
* 选择器类型
|
|
74882
|
+
* 选择器类型
|
|
74883
|
+
* border
|
|
74884
|
+
* checkbox
|
|
74885
|
+
* select (默认)
|
|
74886
|
+
* enhancedSelect
|
|
74798
74887
|
*/
|
|
74799
74888
|
type: {
|
|
74800
74889
|
type: String,
|
|
@@ -74835,7 +74924,12 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
74835
74924
|
*/
|
|
74836
74925
|
placeholder: {
|
|
74837
74926
|
type: String,
|
|
74838
|
-
default
|
|
74927
|
+
default() {
|
|
74928
|
+
if (this.type === 'enhancedSelect') {
|
|
74929
|
+
return '请输入用户名,手机号搜索';
|
|
74930
|
+
}
|
|
74931
|
+
return '请选择';
|
|
74932
|
+
}
|
|
74839
74933
|
},
|
|
74840
74934
|
/**
|
|
74841
74935
|
* 选择器大小
|
|
@@ -74883,7 +74977,7 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
74883
74977
|
type: Boolean,
|
|
74884
74978
|
default: false
|
|
74885
74979
|
},
|
|
74886
|
-
//
|
|
74980
|
+
// ********************************** 后置输入框相关 **********************************
|
|
74887
74981
|
/**
|
|
74888
74982
|
* 是否显示后置输入框
|
|
74889
74983
|
*/
|
|
@@ -74940,6 +75034,61 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
74940
75034
|
suffixBatchInputPopoverWidth: {
|
|
74941
75035
|
type: [String, Number],
|
|
74942
75036
|
default: '300'
|
|
75037
|
+
},
|
|
75038
|
+
// ********************************** 增强下拉选择器相关 **********************************
|
|
75039
|
+
/**
|
|
75040
|
+
* 增强下拉选择器中,所有选项数据
|
|
75041
|
+
* @description 该属性是用于默认回显时查找数据,并非用于展示下拉选项
|
|
75042
|
+
* 必填,否则会影响默认回显
|
|
75043
|
+
*/
|
|
75044
|
+
enhancedAllOptions: {
|
|
75045
|
+
type: Array,
|
|
75046
|
+
default: () => []
|
|
75047
|
+
},
|
|
75048
|
+
/**
|
|
75049
|
+
* 增强下拉选择器中,选项的title字段
|
|
75050
|
+
*/
|
|
75051
|
+
enhancedTitleKey: {
|
|
75052
|
+
type: String,
|
|
75053
|
+
default: 'name'
|
|
75054
|
+
},
|
|
75055
|
+
/**
|
|
75056
|
+
* 增强下拉选择器中,选项的description字段
|
|
75057
|
+
*/
|
|
75058
|
+
enhancedDescriptionKey: {
|
|
75059
|
+
type: String,
|
|
75060
|
+
default: 'mobile'
|
|
75061
|
+
},
|
|
75062
|
+
/**
|
|
75063
|
+
* 增强下拉选择器中,选项的禁用字段名(置灰的字段)
|
|
75064
|
+
*/
|
|
75065
|
+
enhancedDisabledKey: {
|
|
75066
|
+
type: String,
|
|
75067
|
+
default: 'status'
|
|
75068
|
+
},
|
|
75069
|
+
/**
|
|
75070
|
+
* 增强下拉选择器中,选项的description字段是否显示
|
|
75071
|
+
* true: 显示 标题 + 描述 (如: 何其灿 13063048088)
|
|
75072
|
+
* false: 只显示 标题
|
|
75073
|
+
*/
|
|
75074
|
+
enhancedDescriptionDisplay: {
|
|
75075
|
+
type: Boolean,
|
|
75076
|
+
default: true
|
|
75077
|
+
},
|
|
75078
|
+
/**
|
|
75079
|
+
* 增强下拉选择器中,多选时是否折叠标签
|
|
75080
|
+
*/
|
|
75081
|
+
enhancedCollapseTags: {
|
|
75082
|
+
type: Boolean,
|
|
75083
|
+
default: false
|
|
75084
|
+
},
|
|
75085
|
+
/**
|
|
75086
|
+
* 增强下拉选择器中,禁用的值是否可选
|
|
75087
|
+
* 是:禁用只是置灰,依然可选; 否:置灰并不可选中
|
|
75088
|
+
*/
|
|
75089
|
+
enhancedDisabledCanSelect: {
|
|
75090
|
+
type: Boolean,
|
|
75091
|
+
default: false
|
|
74943
75092
|
}
|
|
74944
75093
|
},
|
|
74945
75094
|
data() {
|
|
@@ -74972,7 +75121,15 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
74972
75121
|
|
|
74973
75122
|
popoverVisible: false,
|
|
74974
75123
|
// 批量输入按钮的弹窗是否显示
|
|
74975
|
-
batchInputContent: ''
|
|
75124
|
+
batchInputContent: '',
|
|
75125
|
+
// 批量输入的内容
|
|
75126
|
+
|
|
75127
|
+
// enhancedSelect 相关数据
|
|
75128
|
+
allData: new Map(),
|
|
75129
|
+
// 缓存所有数据
|
|
75130
|
+
enhancedSelectOpened: false,
|
|
75131
|
+
// 标记 enhancedSelect 是否已经打开过
|
|
75132
|
+
enhancedDisabled: false
|
|
74976
75133
|
};
|
|
74977
75134
|
},
|
|
74978
75135
|
computed: {
|
|
@@ -74984,10 +75141,43 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
74984
75141
|
},
|
|
74985
75142
|
optionsList() {
|
|
74986
75143
|
return this.dataList;
|
|
75144
|
+
},
|
|
75145
|
+
enhancedDataList() {
|
|
75146
|
+
if (this.type !== 'enhancedSelect') {
|
|
75147
|
+
return this.dataList;
|
|
75148
|
+
}
|
|
75149
|
+
|
|
75150
|
+
// 只有在未打开过的情况下,如果有默认值且 dataList 为空,则从 enhancedAllOptions 中查找默认选项
|
|
75151
|
+
if (!this.enhancedSelectOpened && this.value !== undefined && this.value !== null && this.value !== '' && this.dataList.length === 0) {
|
|
75152
|
+
if (this.multiple) {
|
|
75153
|
+
// 多选情况:value 是数组
|
|
75154
|
+
if (Array.isArray(this.value) && this.value.length > 0) {
|
|
75155
|
+
const defaultItems = this.enhancedAllOptions.filter(option => this.value.some(val => isValueEqual(val, option.id)));
|
|
75156
|
+
return defaultItems;
|
|
75157
|
+
}
|
|
75158
|
+
} else {
|
|
75159
|
+
// 单选情况:value 是单个值
|
|
75160
|
+
if (this.value !== '') {
|
|
75161
|
+
const defaultItem = this.enhancedAllOptions.find(option => isValueEqual(this.value, option.id));
|
|
75162
|
+
return defaultItem ? [defaultItem] : [];
|
|
75163
|
+
}
|
|
75164
|
+
}
|
|
75165
|
+
}
|
|
75166
|
+
return this.dataList;
|
|
74987
75167
|
}
|
|
74988
75168
|
},
|
|
74989
75169
|
watch: {
|
|
74990
75170
|
value(value) {
|
|
75171
|
+
if (this.type === 'enhancedSelect') {
|
|
75172
|
+
this.selectedValue = value;
|
|
75173
|
+
// 如果数据已经加载,立即处理默认值
|
|
75174
|
+
if (this.allData.size > 0) {
|
|
75175
|
+
this.$nextTick(() => {
|
|
75176
|
+
this.handleEnhancedSelectDefaultValue();
|
|
75177
|
+
});
|
|
75178
|
+
}
|
|
75179
|
+
return;
|
|
75180
|
+
}
|
|
74991
75181
|
if (this.type === 'select') {
|
|
74992
75182
|
this.selectedValue = value;
|
|
74993
75183
|
|
|
@@ -75013,6 +75203,25 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
75013
75203
|
},
|
|
75014
75204
|
options: {
|
|
75015
75205
|
handler(newOptions, oldOptions) {
|
|
75206
|
+
// enhancedSelect 类型的特殊处理
|
|
75207
|
+
if (this.type === 'enhancedSelect') {
|
|
75208
|
+
this.dataList = newOptions;
|
|
75209
|
+
// 更新缓存
|
|
75210
|
+
this.allData.clear();
|
|
75211
|
+
newOptions.forEach(item => {
|
|
75212
|
+
this.allData.set(item.id, item);
|
|
75213
|
+
});
|
|
75214
|
+
// 数据更新后,自动关闭加载状态
|
|
75215
|
+
this.loading = false;
|
|
75216
|
+
|
|
75217
|
+
// 数据加载完成后,重新处理默认值
|
|
75218
|
+
this.$nextTick(() => {
|
|
75219
|
+
this.handleEnhancedSelectDefaultValue();
|
|
75220
|
+
});
|
|
75221
|
+
return;
|
|
75222
|
+
}
|
|
75223
|
+
|
|
75224
|
+
// 其他类型的处理
|
|
75016
75225
|
if (!this.loadOptions) {
|
|
75017
75226
|
this.localOptions = [...this.options];
|
|
75018
75227
|
|
|
@@ -75057,6 +75266,25 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
75057
75266
|
if (val !== this.localSuffixInputValue) {
|
|
75058
75267
|
this.localSuffixInputValue = val;
|
|
75059
75268
|
}
|
|
75269
|
+
},
|
|
75270
|
+
enhancedAllOptions: {
|
|
75271
|
+
handler(newOptions) {
|
|
75272
|
+
if (this.type === 'enhancedSelect') {
|
|
75273
|
+
this.enhancedDisabled = true;
|
|
75274
|
+
// 验证 enhancedAllOptions 是否已加载
|
|
75275
|
+
if (!newOptions || newOptions.length === 0) {
|
|
75276
|
+
// console.warn('[ByCommonSelector] enhancedSelect 类型需要提供 enhancedAllOptions 属性用于默认值回显')
|
|
75277
|
+
return;
|
|
75278
|
+
}
|
|
75279
|
+
|
|
75280
|
+
// 当 enhancedAllOptions 加载完成后,重新处理默认值
|
|
75281
|
+
this.$nextTick(() => {
|
|
75282
|
+
this.handleEnhancedSelectDefaultValue();
|
|
75283
|
+
this.enhancedDisabled = false;
|
|
75284
|
+
});
|
|
75285
|
+
}
|
|
75286
|
+
},
|
|
75287
|
+
immediate: true
|
|
75060
75288
|
}
|
|
75061
75289
|
},
|
|
75062
75290
|
created() {
|
|
@@ -75149,7 +75377,7 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
75149
75377
|
// 检查是否需要展开按钮
|
|
75150
75378
|
checkNeedExpand() {
|
|
75151
75379
|
var _this$$el;
|
|
75152
|
-
if (this.type === 'select' || this.forceNoExpand) {
|
|
75380
|
+
if (this.type === 'select' || this.type === 'enhancedSelect' || this.forceNoExpand) {
|
|
75153
75381
|
this.needExpand = false;
|
|
75154
75382
|
return;
|
|
75155
75383
|
}
|
|
@@ -75245,6 +75473,16 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
75245
75473
|
}
|
|
75246
75474
|
},
|
|
75247
75475
|
initData() {
|
|
75476
|
+
// enhancedSelect 类型的特殊处理
|
|
75477
|
+
if (this.type === 'enhancedSelect') {
|
|
75478
|
+
this.dataList = this.options;
|
|
75479
|
+
this.selectedValue = this.value;
|
|
75480
|
+
// 缓存所有数据
|
|
75481
|
+
this.options.forEach(item => {
|
|
75482
|
+
this.allData.set(item.id, item);
|
|
75483
|
+
});
|
|
75484
|
+
return;
|
|
75485
|
+
}
|
|
75248
75486
|
this.dataList = [...this.localOptions];
|
|
75249
75487
|
this.buildLatterList();
|
|
75250
75488
|
// 修复:使用严格比较,避免0值被误判为空
|
|
@@ -75303,7 +75541,7 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
75303
75541
|
},
|
|
75304
75542
|
// 构建A~Z字母列表
|
|
75305
75543
|
buildLatterList() {
|
|
75306
|
-
if (this.type === 'select') {
|
|
75544
|
+
if (this.type === 'select' || this.type === 'enhancedSelect') {
|
|
75307
75545
|
this.dataList = [...this.localOptions];
|
|
75308
75546
|
} else {
|
|
75309
75547
|
// 如果启用了showSearchBar,确保每个选项都有initial字段
|
|
@@ -75395,7 +75633,44 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
75395
75633
|
this.handlePageChange(1);
|
|
75396
75634
|
},
|
|
75397
75635
|
selected(value) {
|
|
75398
|
-
//
|
|
75636
|
+
// enhancedSelect 类型的特殊处理
|
|
75637
|
+
if (this.type === 'enhancedSelect') {
|
|
75638
|
+
let obj = null;
|
|
75639
|
+
if (this.multiple) {
|
|
75640
|
+
obj = [];
|
|
75641
|
+
// 修复:优先从 enhancedAllOptions 中查找,确保多选时能正确获取对象数组
|
|
75642
|
+
if (Array.isArray(value) && value.length > 0) {
|
|
75643
|
+
// 从 enhancedAllOptions 中查找所有匹配的选项
|
|
75644
|
+
const items = this.enhancedAllOptions.filter(option => value.some(val => isValueEqual(val, option.id)));
|
|
75645
|
+
obj = items;
|
|
75646
|
+
}
|
|
75647
|
+
} else {
|
|
75648
|
+
obj = {};
|
|
75649
|
+
if (value !== undefined && value !== null && value !== '') {
|
|
75650
|
+
// 优先从 enhancedAllOptions 中查找
|
|
75651
|
+
const item = this.enhancedAllOptions.find(option => isValueEqual(value, option.id));
|
|
75652
|
+
if (item) {
|
|
75653
|
+
obj[this.enhancedDescriptionKey] = item[this.enhancedDescriptionKey];
|
|
75654
|
+
obj[this.enhancedTitleKey] = item[this.enhancedTitleKey];
|
|
75655
|
+
obj.id = item.id;
|
|
75656
|
+
} else {
|
|
75657
|
+
// 如果从 enhancedAllOptions 中找不到,再从 dataList 中查找
|
|
75658
|
+
this.dataList.forEach(item => {
|
|
75659
|
+
if (isValueEqual(value, item.id)) {
|
|
75660
|
+
obj[this.enhancedDescriptionKey] = item[this.enhancedDescriptionKey];
|
|
75661
|
+
obj[this.enhancedTitleKey] = item[this.enhancedTitleKey];
|
|
75662
|
+
obj.id = item.id;
|
|
75663
|
+
}
|
|
75664
|
+
});
|
|
75665
|
+
}
|
|
75666
|
+
} else {
|
|
75667
|
+
obj = null;
|
|
75668
|
+
}
|
|
75669
|
+
}
|
|
75670
|
+
this.$emit('input', value);
|
|
75671
|
+
this.$emit('change', obj);
|
|
75672
|
+
return;
|
|
75673
|
+
}
|
|
75399
75674
|
if (this.multiple) {
|
|
75400
75675
|
if (Array.isArray(value)) {
|
|
75401
75676
|
this.selectedValue = value.filter(v => typeof v !== 'boolean');
|
|
@@ -75471,13 +75746,56 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
75471
75746
|
}
|
|
75472
75747
|
},
|
|
75473
75748
|
emitChange(value) {
|
|
75474
|
-
// console.log('001:触发了-emitChange ==:', value)
|
|
75475
75749
|
this.$emit('input', value);
|
|
75476
75750
|
},
|
|
75477
75751
|
handleSuffixInputChange(value) {
|
|
75478
75752
|
this.localSuffixInputValue = value;
|
|
75479
75753
|
this.$emit('suffix-input-change', value);
|
|
75480
75754
|
this.$emit('update:suffixInputValue', value);
|
|
75755
|
+
},
|
|
75756
|
+
// ******************** enhancedSelect 相关方法 ********************
|
|
75757
|
+
|
|
75758
|
+
getResult(q) {
|
|
75759
|
+
this.loading = true;
|
|
75760
|
+
this.$emit('search', q);
|
|
75761
|
+
return Promise.resolve();
|
|
75762
|
+
},
|
|
75763
|
+
// 处理 enhancedSelect 类型的默认值
|
|
75764
|
+
handleEnhancedSelectDefaultValue() {
|
|
75765
|
+
if (this.value !== undefined && this.value !== null && this.value !== '' && this.enhancedAllOptions && this.enhancedAllOptions.length > 0) {
|
|
75766
|
+
// 确保默认值能正确显示
|
|
75767
|
+
this.selectedValue = this.value;
|
|
75768
|
+
if (this.multiple) {
|
|
75769
|
+
if (Array.isArray(this.value) && this.value.length > 0) {
|
|
75770
|
+
const items = this.enhancedAllOptions.filter(option => this.value.some(val => isValueEqual(val, option.id)));
|
|
75771
|
+
if (items.length > 0) {
|
|
75772
|
+
this.$emit('input', this.value);
|
|
75773
|
+
this.$emit('change', items);
|
|
75774
|
+
}
|
|
75775
|
+
}
|
|
75776
|
+
} else {
|
|
75777
|
+
const item = this.enhancedAllOptions.find(option => isValueEqual(this.value, option.id));
|
|
75778
|
+
if (item) {
|
|
75779
|
+
let obj = {};
|
|
75780
|
+
obj[this.enhancedDescriptionKey] = item[this.enhancedDescriptionKey];
|
|
75781
|
+
obj[this.enhancedTitleKey] = item[this.enhancedTitleKey];
|
|
75782
|
+
obj.id = item.id;
|
|
75783
|
+
this.$emit('input', this.value);
|
|
75784
|
+
this.$emit('change', obj);
|
|
75785
|
+
}
|
|
75786
|
+
}
|
|
75787
|
+
}
|
|
75788
|
+
},
|
|
75789
|
+
handleVisibleChange(visible) {
|
|
75790
|
+
if (this.type === 'enhancedSelect') {
|
|
75791
|
+
if (visible) {
|
|
75792
|
+
// 标记已经打开过
|
|
75793
|
+
this.enhancedSelectOpened = true;
|
|
75794
|
+
// 当下拉框打开时,清空搜索结果
|
|
75795
|
+
this.dataList = [];
|
|
75796
|
+
this.$emit('search', ''); // 触发清空搜索
|
|
75797
|
+
}
|
|
75798
|
+
}
|
|
75481
75799
|
}
|
|
75482
75800
|
}
|
|
75483
75801
|
});
|
|
@@ -75493,8 +75811,8 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
75493
75811
|
;
|
|
75494
75812
|
var ByCommonSelector_component = normalizeComponent(
|
|
75495
75813
|
common_selector_ByCommonSelectorvue_type_script_lang_js,
|
|
75496
|
-
|
|
75497
|
-
|
|
75814
|
+
ByCommonSelectorvue_type_template_id_d3cd2662_render,
|
|
75815
|
+
ByCommonSelectorvue_type_template_id_d3cd2662_staticRenderFns,
|
|
75498
75816
|
false,
|
|
75499
75817
|
null,
|
|
75500
75818
|
null,
|
|
@@ -76433,15 +76751,22 @@ var BatchQuerySelector_component = normalizeComponent(
|
|
|
76433
76751
|
...event,
|
|
76434
76752
|
item
|
|
76435
76753
|
});
|
|
76754
|
+
},
|
|
76755
|
+
// 增强选择器搜索事件处理
|
|
76756
|
+
handleEnhancedSearch(query, item) {
|
|
76757
|
+
this.$emit('enhanced-search', {
|
|
76758
|
+
query,
|
|
76759
|
+
item
|
|
76760
|
+
});
|
|
76436
76761
|
}
|
|
76437
76762
|
}
|
|
76438
76763
|
});
|
|
76439
76764
|
;// ./src/components/form/form.vue?vue&type=script&lang=js
|
|
76440
76765
|
/* harmony default export */ var form_formvue_type_script_lang_js = (formvue_type_script_lang_js);
|
|
76441
|
-
;// ./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=
|
|
76766
|
+
;// ./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
|
|
76442
76767
|
// extracted by mini-css-extract-plugin
|
|
76443
76768
|
|
|
76444
|
-
;// ./src/components/form/form.vue?vue&type=style&index=0&id=
|
|
76769
|
+
;// ./src/components/form/form.vue?vue&type=style&index=0&id=acf332a6&prod&lang=scss&scoped=true
|
|
76445
76770
|
|
|
76446
76771
|
;// ./src/components/form/form.vue
|
|
76447
76772
|
|
|
@@ -76454,11 +76779,11 @@ var BatchQuerySelector_component = normalizeComponent(
|
|
|
76454
76779
|
|
|
76455
76780
|
var form_component = normalizeComponent(
|
|
76456
76781
|
form_formvue_type_script_lang_js,
|
|
76457
|
-
|
|
76458
|
-
|
|
76782
|
+
formvue_type_template_id_acf332a6_scoped_true_render,
|
|
76783
|
+
formvue_type_template_id_acf332a6_scoped_true_staticRenderFns,
|
|
76459
76784
|
false,
|
|
76460
76785
|
null,
|
|
76461
|
-
"
|
|
76786
|
+
"acf332a6",
|
|
76462
76787
|
null
|
|
76463
76788
|
|
|
76464
76789
|
)
|
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}
|