@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
package/lib/by-components.umd.js
CHANGED
|
@@ -62129,6 +62129,38 @@ const deepClone = target => {
|
|
|
62129
62129
|
// 返回最终结果
|
|
62130
62130
|
return result;
|
|
62131
62131
|
};
|
|
62132
|
+
|
|
62133
|
+
/**
|
|
62134
|
+
* 比较两个值是否相等,支持字符串和数字类型的自动转换
|
|
62135
|
+
* @param {*} value1 第一个值
|
|
62136
|
+
* @param {*} value2 第二个值
|
|
62137
|
+
* @returns {boolean} 是否相等
|
|
62138
|
+
*/
|
|
62139
|
+
const isValueEqual = (value1, value2) => {
|
|
62140
|
+
// 如果两个值严格相等,直接返回 true
|
|
62141
|
+
if (value1 === value2) {
|
|
62142
|
+
return true;
|
|
62143
|
+
}
|
|
62144
|
+
|
|
62145
|
+
// 处理 0 的特殊情况
|
|
62146
|
+
if (value1 === 0 && value2 === 0) {
|
|
62147
|
+
return true;
|
|
62148
|
+
}
|
|
62149
|
+
|
|
62150
|
+
// 尝试数字转换比较
|
|
62151
|
+
const num1 = Number(value1);
|
|
62152
|
+
const num2 = Number(value2);
|
|
62153
|
+
|
|
62154
|
+
// 如果转换后都是有效数字且相等
|
|
62155
|
+
if (!isNaN(num1) && !isNaN(num2) && num1 === num2) {
|
|
62156
|
+
return true;
|
|
62157
|
+
}
|
|
62158
|
+
|
|
62159
|
+
// 尝试字符串转换比较
|
|
62160
|
+
const str1 = String(value1);
|
|
62161
|
+
const str2 = String(value2);
|
|
62162
|
+
return str1 === str2;
|
|
62163
|
+
};
|
|
62132
62164
|
;// ./src/utils/tableUtils.js
|
|
62133
62165
|
|
|
62134
62166
|
|
|
@@ -63441,8 +63473,8 @@ var table_component = normalizeComponent(
|
|
|
63441
63473
|
)
|
|
63442
63474
|
|
|
63443
63475
|
/* harmony default export */ var table = (table_component.exports);
|
|
63444
|
-
;// ./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-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=
|
|
63445
|
-
var
|
|
63476
|
+
;// ./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-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
|
|
63477
|
+
var formvue_type_template_id_acf332a6_scoped_true_render = function render() {
|
|
63446
63478
|
var _vm = this,
|
|
63447
63479
|
_c = _vm._self._c;
|
|
63448
63480
|
return _c('div', {
|
|
@@ -63571,7 +63603,13 @@ var formvue_type_template_id_5e8c5b90_scoped_true_render = function render() {
|
|
|
63571
63603
|
"suffixInputOptions": item.suffixInputOptions,
|
|
63572
63604
|
"showSuffixBatchInput": item.showSuffixBatchInput,
|
|
63573
63605
|
"suffixBatchInputPopoverTitle": item.suffixBatchInputPopoverTitle,
|
|
63574
|
-
"suffixBatchInputPopoverWidth": item.suffixBatchInputPopoverWidth
|
|
63606
|
+
"suffixBatchInputPopoverWidth": item.suffixBatchInputPopoverWidth,
|
|
63607
|
+
"enhancedAllOptions": item.enhancedAllOptions || [],
|
|
63608
|
+
"enhancedTitleKey": item.enhancedTitleKey || 'name',
|
|
63609
|
+
"enhancedDescriptionKey": item.enhancedDescriptionKey || 'mobile',
|
|
63610
|
+
"enhancedDisabledKey": item.enhancedDisabledKey || 'status',
|
|
63611
|
+
"enhancedDisabledCanSelect": item.enhancedDisabledCanSelect || false,
|
|
63612
|
+
"enhancedCollapseTags": item.enhancedCollapseTags || false
|
|
63575
63613
|
},
|
|
63576
63614
|
on: {
|
|
63577
63615
|
"update:suffixInputValue": function ($event) {
|
|
@@ -63585,6 +63623,9 @@ var formvue_type_template_id_5e8c5b90_scoped_true_render = function render() {
|
|
|
63585
63623
|
},
|
|
63586
63624
|
"suffix-input-change": function ($event) {
|
|
63587
63625
|
return _vm.handleSuffixInputChange($event, item);
|
|
63626
|
+
},
|
|
63627
|
+
"search": function ($event) {
|
|
63628
|
+
return _vm.handleEnhancedSearch($event, item);
|
|
63588
63629
|
}
|
|
63589
63630
|
}
|
|
63590
63631
|
}, 'by-common-selector', item.otherOptions || {}, false))] : item.type === 'batchQuerySelector' ? [_c('by-batch-query-selector', _vm._b({
|
|
@@ -63794,7 +63835,7 @@ var formvue_type_template_id_5e8c5b90_scoped_true_render = function render() {
|
|
|
63794
63835
|
staticClass: "footer"
|
|
63795
63836
|
}, [_vm._t("footer")], 2)], 1);
|
|
63796
63837
|
};
|
|
63797
|
-
var
|
|
63838
|
+
var formvue_type_template_id_acf332a6_scoped_true_staticRenderFns = [];
|
|
63798
63839
|
|
|
63799
63840
|
;// ./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-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
|
|
63800
63841
|
var pair_number_inputvue_type_template_id_604235f6_render = function render() {
|
|
@@ -64094,14 +64135,14 @@ var custom_date_picker_component = normalizeComponent(
|
|
|
64094
64135
|
)
|
|
64095
64136
|
|
|
64096
64137
|
/* harmony default export */ var custom_date_picker = (custom_date_picker_component.exports);
|
|
64097
|
-
;// ./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-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=
|
|
64098
|
-
var
|
|
64138
|
+
;// ./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-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=d3cd2662
|
|
64139
|
+
var ByCommonSelectorvue_type_template_id_d3cd2662_render = function render() {
|
|
64099
64140
|
var _vm = this,
|
|
64100
64141
|
_c = _vm._self._c;
|
|
64101
64142
|
return _c('div', {
|
|
64102
64143
|
staticClass: "by_selector_container",
|
|
64103
64144
|
class: {
|
|
64104
|
-
'by_align-center': _vm.type !== 'select' && !_vm.open
|
|
64145
|
+
'by_align-center': _vm.type !== 'select' && _vm.type !== 'enhancedSelect' && !_vm.open
|
|
64105
64146
|
}
|
|
64106
64147
|
}, [_vm.type === 'select' ? _c('el-select', _vm._b({
|
|
64107
64148
|
attrs: {
|
|
@@ -64132,6 +64173,48 @@ var ByCommonSelectorvue_type_template_id_1b8642c2_render = function render() {
|
|
|
64132
64173
|
"disabled": item.status === 0
|
|
64133
64174
|
}
|
|
64134
64175
|
});
|
|
64176
|
+
}), 1) : _vm.type === 'enhancedSelect' ? _c('el-select', _vm._b({
|
|
64177
|
+
attrs: {
|
|
64178
|
+
"filterable": "",
|
|
64179
|
+
"clearable": "",
|
|
64180
|
+
"remote": "",
|
|
64181
|
+
"multiple": _vm.multiple,
|
|
64182
|
+
"collapse-tags": _vm.multiple && _vm.enhancedCollapseTags,
|
|
64183
|
+
"remote-method": _vm.getResult,
|
|
64184
|
+
"loading": _vm.loading,
|
|
64185
|
+
"placeholder": _vm.placeholder,
|
|
64186
|
+
"disabled": _vm.enhancedDisabled
|
|
64187
|
+
},
|
|
64188
|
+
on: {
|
|
64189
|
+
"change": _vm.selected,
|
|
64190
|
+
"visible-change": _vm.handleVisibleChange
|
|
64191
|
+
},
|
|
64192
|
+
model: {
|
|
64193
|
+
value: _vm.selectedValue,
|
|
64194
|
+
callback: function ($$v) {
|
|
64195
|
+
_vm.selectedValue = $$v;
|
|
64196
|
+
},
|
|
64197
|
+
expression: "selectedValue"
|
|
64198
|
+
}
|
|
64199
|
+
}, 'el-select', _vm.$attrs, false), _vm._l(_vm.enhancedDataList, function (item, index) {
|
|
64200
|
+
return _c('el-option', {
|
|
64201
|
+
key: index,
|
|
64202
|
+
attrs: {
|
|
64203
|
+
"label": _vm.enhancedDescriptionDisplay ? item[_vm.enhancedTitleKey] + ' ' + item[_vm.enhancedDescriptionKey] : item[_vm.enhancedTitleKey],
|
|
64204
|
+
"value": item.id,
|
|
64205
|
+
"disabled": !_vm.enhancedDisabledCanSelect && item[_vm.enhancedDisabledKey] === 0
|
|
64206
|
+
}
|
|
64207
|
+
}, [_c('span', {
|
|
64208
|
+
staticClass: "enhanced-option-left",
|
|
64209
|
+
class: {
|
|
64210
|
+
'enhanced-disabled': item[_vm.enhancedDisabledKey] === 0
|
|
64211
|
+
}
|
|
64212
|
+
}, [_vm._v(_vm._s(item[_vm.enhancedTitleKey]))]), _vm.enhancedDescriptionDisplay ? _c('span', {
|
|
64213
|
+
staticClass: "enhanced-option-right",
|
|
64214
|
+
class: {
|
|
64215
|
+
'enhanced-disabled': item[_vm.enhancedDisabledKey] === 0
|
|
64216
|
+
}
|
|
64217
|
+
}, [_vm._v(_vm._s(item[_vm.enhancedDescriptionKey]))]) : _vm._e()]);
|
|
64135
64218
|
}), 1) : [!_vm.hiddenAllOptions ? _c('el-checkbox', {
|
|
64136
64219
|
class: ['by_selected_all', {
|
|
64137
64220
|
'by_border-transparent': _vm.type !== 'border'
|
|
@@ -64479,7 +64562,7 @@ var ByCommonSelectorvue_type_template_id_1b8642c2_render = function render() {
|
|
|
64479
64562
|
return _vm.handlePageChange(_vm.currentPage + 1);
|
|
64480
64563
|
}
|
|
64481
64564
|
}
|
|
64482
|
-
}, [_vm._v(" 下一页 ")])], 1) : _vm._e()], 1)])], _vm.type !== 'select' && _vm.needExpand && !_vm.forceNoExpand ? _c('el-button', {
|
|
64565
|
+
}, [_vm._v(" 下一页 ")])], 1) : _vm._e()], 1)])], _vm.type !== 'select' && _vm.type !== 'enhancedSelect' && _vm.needExpand && !_vm.forceNoExpand ? _c('el-button', {
|
|
64483
64566
|
staticClass: "by_openShrink",
|
|
64484
64567
|
attrs: {
|
|
64485
64568
|
"type": "text",
|
|
@@ -64488,7 +64571,7 @@ var ByCommonSelectorvue_type_template_id_1b8642c2_render = function render() {
|
|
|
64488
64571
|
on: {
|
|
64489
64572
|
"click": _vm.showList
|
|
64490
64573
|
}
|
|
64491
|
-
}, [_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', {
|
|
64574
|
+
}, [_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', {
|
|
64492
64575
|
staticClass: "by_openShrink",
|
|
64493
64576
|
attrs: {
|
|
64494
64577
|
"type": "text",
|
|
@@ -64496,7 +64579,7 @@ var ByCommonSelectorvue_type_template_id_1b8642c2_render = function render() {
|
|
|
64496
64579
|
}
|
|
64497
64580
|
}, [_vm._v(" 加载中... ")]) : _vm._e()], 2);
|
|
64498
64581
|
};
|
|
64499
|
-
var
|
|
64582
|
+
var ByCommonSelectorvue_type_template_id_d3cd2662_staticRenderFns = [];
|
|
64500
64583
|
|
|
64501
64584
|
;// ./node_modules/pinyin-pro/dist/index.mjs
|
|
64502
64585
|
|
|
@@ -74789,8 +74872,10 @@ function segment(word, options) {
|
|
|
74789
74872
|
|
|
74790
74873
|
|
|
74791
74874
|
|
|
74875
|
+
|
|
74792
74876
|
//拼音库,用于搜索栏生成A~Z字母
|
|
74793
74877
|
|
|
74878
|
+
|
|
74794
74879
|
// 全部选项可能的名称
|
|
74795
74880
|
const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'all'];
|
|
74796
74881
|
/* harmony default export */ var ByCommonSelectorvue_type_script_lang_js = ({
|
|
@@ -74804,7 +74889,11 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
74804
74889
|
default: ''
|
|
74805
74890
|
},
|
|
74806
74891
|
/**
|
|
74807
|
-
* 选择器类型
|
|
74892
|
+
* 选择器类型
|
|
74893
|
+
* border
|
|
74894
|
+
* checkbox
|
|
74895
|
+
* select (默认)
|
|
74896
|
+
* enhancedSelect
|
|
74808
74897
|
*/
|
|
74809
74898
|
type: {
|
|
74810
74899
|
type: String,
|
|
@@ -74845,7 +74934,12 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
74845
74934
|
*/
|
|
74846
74935
|
placeholder: {
|
|
74847
74936
|
type: String,
|
|
74848
|
-
default
|
|
74937
|
+
default() {
|
|
74938
|
+
if (this.type === 'enhancedSelect') {
|
|
74939
|
+
return '请输入用户名,手机号搜索';
|
|
74940
|
+
}
|
|
74941
|
+
return '请选择';
|
|
74942
|
+
}
|
|
74849
74943
|
},
|
|
74850
74944
|
/**
|
|
74851
74945
|
* 选择器大小
|
|
@@ -74893,7 +74987,7 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
74893
74987
|
type: Boolean,
|
|
74894
74988
|
default: false
|
|
74895
74989
|
},
|
|
74896
|
-
//
|
|
74990
|
+
// ********************************** 后置输入框相关 **********************************
|
|
74897
74991
|
/**
|
|
74898
74992
|
* 是否显示后置输入框
|
|
74899
74993
|
*/
|
|
@@ -74950,6 +75044,61 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
74950
75044
|
suffixBatchInputPopoverWidth: {
|
|
74951
75045
|
type: [String, Number],
|
|
74952
75046
|
default: '300'
|
|
75047
|
+
},
|
|
75048
|
+
// ********************************** 增强下拉选择器相关 **********************************
|
|
75049
|
+
/**
|
|
75050
|
+
* 增强下拉选择器中,所有选项数据
|
|
75051
|
+
* @description 该属性是用于默认回显时查找数据,并非用于展示下拉选项
|
|
75052
|
+
* 必填,否则会影响默认回显
|
|
75053
|
+
*/
|
|
75054
|
+
enhancedAllOptions: {
|
|
75055
|
+
type: Array,
|
|
75056
|
+
default: () => []
|
|
75057
|
+
},
|
|
75058
|
+
/**
|
|
75059
|
+
* 增强下拉选择器中,选项的title字段
|
|
75060
|
+
*/
|
|
75061
|
+
enhancedTitleKey: {
|
|
75062
|
+
type: String,
|
|
75063
|
+
default: 'name'
|
|
75064
|
+
},
|
|
75065
|
+
/**
|
|
75066
|
+
* 增强下拉选择器中,选项的description字段
|
|
75067
|
+
*/
|
|
75068
|
+
enhancedDescriptionKey: {
|
|
75069
|
+
type: String,
|
|
75070
|
+
default: 'mobile'
|
|
75071
|
+
},
|
|
75072
|
+
/**
|
|
75073
|
+
* 增强下拉选择器中,选项的禁用字段名(置灰的字段)
|
|
75074
|
+
*/
|
|
75075
|
+
enhancedDisabledKey: {
|
|
75076
|
+
type: String,
|
|
75077
|
+
default: 'status'
|
|
75078
|
+
},
|
|
75079
|
+
/**
|
|
75080
|
+
* 增强下拉选择器中,选项的description字段是否显示
|
|
75081
|
+
* true: 显示 标题 + 描述 (如: 何其灿 13063048088)
|
|
75082
|
+
* false: 只显示 标题
|
|
75083
|
+
*/
|
|
75084
|
+
enhancedDescriptionDisplay: {
|
|
75085
|
+
type: Boolean,
|
|
75086
|
+
default: true
|
|
75087
|
+
},
|
|
75088
|
+
/**
|
|
75089
|
+
* 增强下拉选择器中,多选时是否折叠标签
|
|
75090
|
+
*/
|
|
75091
|
+
enhancedCollapseTags: {
|
|
75092
|
+
type: Boolean,
|
|
75093
|
+
default: false
|
|
75094
|
+
},
|
|
75095
|
+
/**
|
|
75096
|
+
* 增强下拉选择器中,禁用的值是否可选
|
|
75097
|
+
* 是:禁用只是置灰,依然可选; 否:置灰并不可选中
|
|
75098
|
+
*/
|
|
75099
|
+
enhancedDisabledCanSelect: {
|
|
75100
|
+
type: Boolean,
|
|
75101
|
+
default: false
|
|
74953
75102
|
}
|
|
74954
75103
|
},
|
|
74955
75104
|
data() {
|
|
@@ -74982,7 +75131,15 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
74982
75131
|
|
|
74983
75132
|
popoverVisible: false,
|
|
74984
75133
|
// 批量输入按钮的弹窗是否显示
|
|
74985
|
-
batchInputContent: ''
|
|
75134
|
+
batchInputContent: '',
|
|
75135
|
+
// 批量输入的内容
|
|
75136
|
+
|
|
75137
|
+
// enhancedSelect 相关数据
|
|
75138
|
+
allData: new Map(),
|
|
75139
|
+
// 缓存所有数据
|
|
75140
|
+
enhancedSelectOpened: false,
|
|
75141
|
+
// 标记 enhancedSelect 是否已经打开过
|
|
75142
|
+
enhancedDisabled: false
|
|
74986
75143
|
};
|
|
74987
75144
|
},
|
|
74988
75145
|
computed: {
|
|
@@ -74994,10 +75151,43 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
74994
75151
|
},
|
|
74995
75152
|
optionsList() {
|
|
74996
75153
|
return this.dataList;
|
|
75154
|
+
},
|
|
75155
|
+
enhancedDataList() {
|
|
75156
|
+
if (this.type !== 'enhancedSelect') {
|
|
75157
|
+
return this.dataList;
|
|
75158
|
+
}
|
|
75159
|
+
|
|
75160
|
+
// 只有在未打开过的情况下,如果有默认值且 dataList 为空,则从 enhancedAllOptions 中查找默认选项
|
|
75161
|
+
if (!this.enhancedSelectOpened && this.value !== undefined && this.value !== null && this.value !== '' && this.dataList.length === 0) {
|
|
75162
|
+
if (this.multiple) {
|
|
75163
|
+
// 多选情况:value 是数组
|
|
75164
|
+
if (Array.isArray(this.value) && this.value.length > 0) {
|
|
75165
|
+
const defaultItems = this.enhancedAllOptions.filter(option => this.value.some(val => isValueEqual(val, option.id)));
|
|
75166
|
+
return defaultItems;
|
|
75167
|
+
}
|
|
75168
|
+
} else {
|
|
75169
|
+
// 单选情况:value 是单个值
|
|
75170
|
+
if (this.value !== '') {
|
|
75171
|
+
const defaultItem = this.enhancedAllOptions.find(option => isValueEqual(this.value, option.id));
|
|
75172
|
+
return defaultItem ? [defaultItem] : [];
|
|
75173
|
+
}
|
|
75174
|
+
}
|
|
75175
|
+
}
|
|
75176
|
+
return this.dataList;
|
|
74997
75177
|
}
|
|
74998
75178
|
},
|
|
74999
75179
|
watch: {
|
|
75000
75180
|
value(value) {
|
|
75181
|
+
if (this.type === 'enhancedSelect') {
|
|
75182
|
+
this.selectedValue = value;
|
|
75183
|
+
// 如果数据已经加载,立即处理默认值
|
|
75184
|
+
if (this.allData.size > 0) {
|
|
75185
|
+
this.$nextTick(() => {
|
|
75186
|
+
this.handleEnhancedSelectDefaultValue();
|
|
75187
|
+
});
|
|
75188
|
+
}
|
|
75189
|
+
return;
|
|
75190
|
+
}
|
|
75001
75191
|
if (this.type === 'select') {
|
|
75002
75192
|
this.selectedValue = value;
|
|
75003
75193
|
|
|
@@ -75023,6 +75213,25 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
75023
75213
|
},
|
|
75024
75214
|
options: {
|
|
75025
75215
|
handler(newOptions, oldOptions) {
|
|
75216
|
+
// enhancedSelect 类型的特殊处理
|
|
75217
|
+
if (this.type === 'enhancedSelect') {
|
|
75218
|
+
this.dataList = newOptions;
|
|
75219
|
+
// 更新缓存
|
|
75220
|
+
this.allData.clear();
|
|
75221
|
+
newOptions.forEach(item => {
|
|
75222
|
+
this.allData.set(item.id, item);
|
|
75223
|
+
});
|
|
75224
|
+
// 数据更新后,自动关闭加载状态
|
|
75225
|
+
this.loading = false;
|
|
75226
|
+
|
|
75227
|
+
// 数据加载完成后,重新处理默认值
|
|
75228
|
+
this.$nextTick(() => {
|
|
75229
|
+
this.handleEnhancedSelectDefaultValue();
|
|
75230
|
+
});
|
|
75231
|
+
return;
|
|
75232
|
+
}
|
|
75233
|
+
|
|
75234
|
+
// 其他类型的处理
|
|
75026
75235
|
if (!this.loadOptions) {
|
|
75027
75236
|
this.localOptions = [...this.options];
|
|
75028
75237
|
|
|
@@ -75067,6 +75276,25 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
75067
75276
|
if (val !== this.localSuffixInputValue) {
|
|
75068
75277
|
this.localSuffixInputValue = val;
|
|
75069
75278
|
}
|
|
75279
|
+
},
|
|
75280
|
+
enhancedAllOptions: {
|
|
75281
|
+
handler(newOptions) {
|
|
75282
|
+
if (this.type === 'enhancedSelect') {
|
|
75283
|
+
this.enhancedDisabled = true;
|
|
75284
|
+
// 验证 enhancedAllOptions 是否已加载
|
|
75285
|
+
if (!newOptions || newOptions.length === 0) {
|
|
75286
|
+
// console.warn('[ByCommonSelector] enhancedSelect 类型需要提供 enhancedAllOptions 属性用于默认值回显')
|
|
75287
|
+
return;
|
|
75288
|
+
}
|
|
75289
|
+
|
|
75290
|
+
// 当 enhancedAllOptions 加载完成后,重新处理默认值
|
|
75291
|
+
this.$nextTick(() => {
|
|
75292
|
+
this.handleEnhancedSelectDefaultValue();
|
|
75293
|
+
this.enhancedDisabled = false;
|
|
75294
|
+
});
|
|
75295
|
+
}
|
|
75296
|
+
},
|
|
75297
|
+
immediate: true
|
|
75070
75298
|
}
|
|
75071
75299
|
},
|
|
75072
75300
|
created() {
|
|
@@ -75159,7 +75387,7 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
75159
75387
|
// 检查是否需要展开按钮
|
|
75160
75388
|
checkNeedExpand() {
|
|
75161
75389
|
var _this$$el;
|
|
75162
|
-
if (this.type === 'select' || this.forceNoExpand) {
|
|
75390
|
+
if (this.type === 'select' || this.type === 'enhancedSelect' || this.forceNoExpand) {
|
|
75163
75391
|
this.needExpand = false;
|
|
75164
75392
|
return;
|
|
75165
75393
|
}
|
|
@@ -75255,6 +75483,16 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
75255
75483
|
}
|
|
75256
75484
|
},
|
|
75257
75485
|
initData() {
|
|
75486
|
+
// enhancedSelect 类型的特殊处理
|
|
75487
|
+
if (this.type === 'enhancedSelect') {
|
|
75488
|
+
this.dataList = this.options;
|
|
75489
|
+
this.selectedValue = this.value;
|
|
75490
|
+
// 缓存所有数据
|
|
75491
|
+
this.options.forEach(item => {
|
|
75492
|
+
this.allData.set(item.id, item);
|
|
75493
|
+
});
|
|
75494
|
+
return;
|
|
75495
|
+
}
|
|
75258
75496
|
this.dataList = [...this.localOptions];
|
|
75259
75497
|
this.buildLatterList();
|
|
75260
75498
|
// 修复:使用严格比较,避免0值被误判为空
|
|
@@ -75313,7 +75551,7 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
75313
75551
|
},
|
|
75314
75552
|
// 构建A~Z字母列表
|
|
75315
75553
|
buildLatterList() {
|
|
75316
|
-
if (this.type === 'select') {
|
|
75554
|
+
if (this.type === 'select' || this.type === 'enhancedSelect') {
|
|
75317
75555
|
this.dataList = [...this.localOptions];
|
|
75318
75556
|
} else {
|
|
75319
75557
|
// 如果启用了showSearchBar,确保每个选项都有initial字段
|
|
@@ -75405,7 +75643,44 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
75405
75643
|
this.handlePageChange(1);
|
|
75406
75644
|
},
|
|
75407
75645
|
selected(value) {
|
|
75408
|
-
//
|
|
75646
|
+
// enhancedSelect 类型的特殊处理
|
|
75647
|
+
if (this.type === 'enhancedSelect') {
|
|
75648
|
+
let obj = null;
|
|
75649
|
+
if (this.multiple) {
|
|
75650
|
+
obj = [];
|
|
75651
|
+
// 修复:优先从 enhancedAllOptions 中查找,确保多选时能正确获取对象数组
|
|
75652
|
+
if (Array.isArray(value) && value.length > 0) {
|
|
75653
|
+
// 从 enhancedAllOptions 中查找所有匹配的选项
|
|
75654
|
+
const items = this.enhancedAllOptions.filter(option => value.some(val => isValueEqual(val, option.id)));
|
|
75655
|
+
obj = items;
|
|
75656
|
+
}
|
|
75657
|
+
} else {
|
|
75658
|
+
obj = {};
|
|
75659
|
+
if (value !== undefined && value !== null && value !== '') {
|
|
75660
|
+
// 优先从 enhancedAllOptions 中查找
|
|
75661
|
+
const item = this.enhancedAllOptions.find(option => isValueEqual(value, option.id));
|
|
75662
|
+
if (item) {
|
|
75663
|
+
obj[this.enhancedDescriptionKey] = item[this.enhancedDescriptionKey];
|
|
75664
|
+
obj[this.enhancedTitleKey] = item[this.enhancedTitleKey];
|
|
75665
|
+
obj.id = item.id;
|
|
75666
|
+
} else {
|
|
75667
|
+
// 如果从 enhancedAllOptions 中找不到,再从 dataList 中查找
|
|
75668
|
+
this.dataList.forEach(item => {
|
|
75669
|
+
if (isValueEqual(value, item.id)) {
|
|
75670
|
+
obj[this.enhancedDescriptionKey] = item[this.enhancedDescriptionKey];
|
|
75671
|
+
obj[this.enhancedTitleKey] = item[this.enhancedTitleKey];
|
|
75672
|
+
obj.id = item.id;
|
|
75673
|
+
}
|
|
75674
|
+
});
|
|
75675
|
+
}
|
|
75676
|
+
} else {
|
|
75677
|
+
obj = null;
|
|
75678
|
+
}
|
|
75679
|
+
}
|
|
75680
|
+
this.$emit('input', value);
|
|
75681
|
+
this.$emit('change', obj);
|
|
75682
|
+
return;
|
|
75683
|
+
}
|
|
75409
75684
|
if (this.multiple) {
|
|
75410
75685
|
if (Array.isArray(value)) {
|
|
75411
75686
|
this.selectedValue = value.filter(v => typeof v !== 'boolean');
|
|
@@ -75481,13 +75756,56 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
75481
75756
|
}
|
|
75482
75757
|
},
|
|
75483
75758
|
emitChange(value) {
|
|
75484
|
-
// console.log('001:触发了-emitChange ==:', value)
|
|
75485
75759
|
this.$emit('input', value);
|
|
75486
75760
|
},
|
|
75487
75761
|
handleSuffixInputChange(value) {
|
|
75488
75762
|
this.localSuffixInputValue = value;
|
|
75489
75763
|
this.$emit('suffix-input-change', value);
|
|
75490
75764
|
this.$emit('update:suffixInputValue', value);
|
|
75765
|
+
},
|
|
75766
|
+
// ******************** enhancedSelect 相关方法 ********************
|
|
75767
|
+
|
|
75768
|
+
getResult(q) {
|
|
75769
|
+
this.loading = true;
|
|
75770
|
+
this.$emit('search', q);
|
|
75771
|
+
return Promise.resolve();
|
|
75772
|
+
},
|
|
75773
|
+
// 处理 enhancedSelect 类型的默认值
|
|
75774
|
+
handleEnhancedSelectDefaultValue() {
|
|
75775
|
+
if (this.value !== undefined && this.value !== null && this.value !== '' && this.enhancedAllOptions && this.enhancedAllOptions.length > 0) {
|
|
75776
|
+
// 确保默认值能正确显示
|
|
75777
|
+
this.selectedValue = this.value;
|
|
75778
|
+
if (this.multiple) {
|
|
75779
|
+
if (Array.isArray(this.value) && this.value.length > 0) {
|
|
75780
|
+
const items = this.enhancedAllOptions.filter(option => this.value.some(val => isValueEqual(val, option.id)));
|
|
75781
|
+
if (items.length > 0) {
|
|
75782
|
+
this.$emit('input', this.value);
|
|
75783
|
+
this.$emit('change', items);
|
|
75784
|
+
}
|
|
75785
|
+
}
|
|
75786
|
+
} else {
|
|
75787
|
+
const item = this.enhancedAllOptions.find(option => isValueEqual(this.value, option.id));
|
|
75788
|
+
if (item) {
|
|
75789
|
+
let obj = {};
|
|
75790
|
+
obj[this.enhancedDescriptionKey] = item[this.enhancedDescriptionKey];
|
|
75791
|
+
obj[this.enhancedTitleKey] = item[this.enhancedTitleKey];
|
|
75792
|
+
obj.id = item.id;
|
|
75793
|
+
this.$emit('input', this.value);
|
|
75794
|
+
this.$emit('change', obj);
|
|
75795
|
+
}
|
|
75796
|
+
}
|
|
75797
|
+
}
|
|
75798
|
+
},
|
|
75799
|
+
handleVisibleChange(visible) {
|
|
75800
|
+
if (this.type === 'enhancedSelect') {
|
|
75801
|
+
if (visible) {
|
|
75802
|
+
// 标记已经打开过
|
|
75803
|
+
this.enhancedSelectOpened = true;
|
|
75804
|
+
// 当下拉框打开时,清空搜索结果
|
|
75805
|
+
this.dataList = [];
|
|
75806
|
+
this.$emit('search', ''); // 触发清空搜索
|
|
75807
|
+
}
|
|
75808
|
+
}
|
|
75491
75809
|
}
|
|
75492
75810
|
}
|
|
75493
75811
|
});
|
|
@@ -75503,8 +75821,8 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
|
|
|
75503
75821
|
;
|
|
75504
75822
|
var ByCommonSelector_component = normalizeComponent(
|
|
75505
75823
|
common_selector_ByCommonSelectorvue_type_script_lang_js,
|
|
75506
|
-
|
|
75507
|
-
|
|
75824
|
+
ByCommonSelectorvue_type_template_id_d3cd2662_render,
|
|
75825
|
+
ByCommonSelectorvue_type_template_id_d3cd2662_staticRenderFns,
|
|
75508
75826
|
false,
|
|
75509
75827
|
null,
|
|
75510
75828
|
null,
|
|
@@ -76443,15 +76761,22 @@ var BatchQuerySelector_component = normalizeComponent(
|
|
|
76443
76761
|
...event,
|
|
76444
76762
|
item
|
|
76445
76763
|
});
|
|
76764
|
+
},
|
|
76765
|
+
// 增强选择器搜索事件处理
|
|
76766
|
+
handleEnhancedSearch(query, item) {
|
|
76767
|
+
this.$emit('enhanced-search', {
|
|
76768
|
+
query,
|
|
76769
|
+
item
|
|
76770
|
+
});
|
|
76446
76771
|
}
|
|
76447
76772
|
}
|
|
76448
76773
|
});
|
|
76449
76774
|
;// ./src/components/form/form.vue?vue&type=script&lang=js
|
|
76450
76775
|
/* harmony default export */ var form_formvue_type_script_lang_js = (formvue_type_script_lang_js);
|
|
76451
|
-
;// ./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=
|
|
76776
|
+
;// ./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
|
|
76452
76777
|
// extracted by mini-css-extract-plugin
|
|
76453
76778
|
|
|
76454
|
-
;// ./src/components/form/form.vue?vue&type=style&index=0&id=
|
|
76779
|
+
;// ./src/components/form/form.vue?vue&type=style&index=0&id=acf332a6&prod&lang=scss&scoped=true
|
|
76455
76780
|
|
|
76456
76781
|
;// ./src/components/form/form.vue
|
|
76457
76782
|
|
|
@@ -76464,11 +76789,11 @@ var BatchQuerySelector_component = normalizeComponent(
|
|
|
76464
76789
|
|
|
76465
76790
|
var form_component = normalizeComponent(
|
|
76466
76791
|
form_formvue_type_script_lang_js,
|
|
76467
|
-
|
|
76468
|
-
|
|
76792
|
+
formvue_type_template_id_acf332a6_scoped_true_render,
|
|
76793
|
+
formvue_type_template_id_acf332a6_scoped_true_staticRenderFns,
|
|
76469
76794
|
false,
|
|
76470
76795
|
null,
|
|
76471
|
-
"
|
|
76796
|
+
"acf332a6",
|
|
76472
76797
|
null
|
|
76473
76798
|
|
|
76474
76799
|
)
|