@weitutech/by-components 1.1.65 → 1.1.67
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 +560 -20
- package/lib/by-components.css +1 -1
- package/lib/by-components.umd.js +560 -20
- package/lib/by-components.umd.min.js +13 -13
- package/lib/index.css +1 -1
- package/package.json +1 -1
|
@@ -60502,6 +60502,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
60502
60502
|
|
|
60503
60503
|
// EXPORTS
|
|
60504
60504
|
__webpack_require__.d(__webpack_exports__, {
|
|
60505
|
+
ByBatchQuerySelector: function() { return /* reexport */ BatchQuerySelector; },
|
|
60505
60506
|
ByCommonSelector: function() { return /* reexport */ ByCommonSelector; },
|
|
60506
60507
|
ByCustomDatePicker: function() { return /* reexport */ custom_date_picker; },
|
|
60507
60508
|
ByDatePickerRange: function() { return /* reexport */ date_picker_range; },
|
|
@@ -60745,8 +60746,8 @@ var component = normalizeComponent(
|
|
|
60745
60746
|
)
|
|
60746
60747
|
|
|
60747
60748
|
/* harmony default export */ var pager = (component.exports);
|
|
60748
|
-
;// ./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/table/index.vue?vue&type=template&id=
|
|
60749
|
-
var
|
|
60749
|
+
;// ./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/table/index.vue?vue&type=template&id=746a119a
|
|
60750
|
+
var tablevue_type_template_id_746a119a_render = function render() {
|
|
60750
60751
|
var _vm = this,
|
|
60751
60752
|
_c = _vm._self._c;
|
|
60752
60753
|
return _c('div', [_c('vxe-grid', _vm._g(_vm._b({
|
|
@@ -60820,12 +60821,14 @@ var tablevue_type_template_id_d8304908_render = function render() {
|
|
|
60820
60821
|
}
|
|
60821
60822
|
}) : _vm._e()], 1);
|
|
60822
60823
|
};
|
|
60823
|
-
var
|
|
60824
|
+
var tablevue_type_template_id_746a119a_staticRenderFns = [];
|
|
60824
60825
|
|
|
60825
60826
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
|
|
60826
60827
|
var es_array_push = __webpack_require__(4114);
|
|
60827
60828
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.every.js
|
|
60828
60829
|
var es_iterator_every = __webpack_require__(1148);
|
|
60830
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.map.js
|
|
60831
|
+
var es_iterator_map = __webpack_require__(1701);
|
|
60829
60832
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.difference.v2.js
|
|
60830
60833
|
var es_set_difference_v2 = __webpack_require__(7642);
|
|
60831
60834
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.intersection.v2.js
|
|
@@ -61050,8 +61053,6 @@ var es_iterator_filter = __webpack_require__(2489);
|
|
|
61050
61053
|
var es_iterator_find = __webpack_require__(116);
|
|
61051
61054
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.flat-map.js
|
|
61052
61055
|
var es_iterator_flat_map = __webpack_require__(531);
|
|
61053
|
-
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.map.js
|
|
61054
|
-
var es_iterator_map = __webpack_require__(1701);
|
|
61055
61056
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.some.js
|
|
61056
61057
|
var es_iterator_some = __webpack_require__(3579);
|
|
61057
61058
|
// EXTERNAL MODULE: ./node_modules/vuedraggable/dist/vuedraggable.umd.js
|
|
@@ -61743,6 +61744,7 @@ var custom_column_component = normalizeComponent(
|
|
|
61743
61744
|
|
|
61744
61745
|
|
|
61745
61746
|
|
|
61747
|
+
|
|
61746
61748
|
/* harmony default export */ var tablevue_type_script_lang_js = ({
|
|
61747
61749
|
name: 'ByTable',
|
|
61748
61750
|
components: {
|
|
@@ -61819,11 +61821,20 @@ var custom_column_component = normalizeComponent(
|
|
|
61819
61821
|
sortState: {
|
|
61820
61822
|
field: null,
|
|
61821
61823
|
order: null
|
|
61822
|
-
}
|
|
61824
|
+
},
|
|
61825
|
+
// 表格容器宽度
|
|
61826
|
+
tableWidth: window.innerWidth,
|
|
61827
|
+
// 是否为移动设备
|
|
61828
|
+
isMobile: false
|
|
61823
61829
|
};
|
|
61824
61830
|
},
|
|
61825
61831
|
mounted() {
|
|
61826
61832
|
this.showResetCache = !!this.name;
|
|
61833
|
+
this.checkDeviceType();
|
|
61834
|
+
this.initResizeListener();
|
|
61835
|
+
},
|
|
61836
|
+
beforeDestroy() {
|
|
61837
|
+
this.removeResizeListener();
|
|
61827
61838
|
},
|
|
61828
61839
|
watch: {
|
|
61829
61840
|
'gridOptions.columns': {
|
|
@@ -61876,9 +61887,14 @@ var custom_column_component = normalizeComponent(
|
|
|
61876
61887
|
this.originColumns = rewriteWidthColumns(this.tempColumns, columns);
|
|
61877
61888
|
|
|
61878
61889
|
// 使用列宽缓存值(若有)
|
|
61879
|
-
|
|
61890
|
+
let newColumns = replaceColumnWidthToColumns(this.name, columns);
|
|
61880
61891
|
this.setHasCache();
|
|
61881
61892
|
|
|
61893
|
+
// 处理固定列限制
|
|
61894
|
+
if (this.isMobile || this.tableWidth < 1000) {
|
|
61895
|
+
newColumns = this.removeFixedColumns(newColumns);
|
|
61896
|
+
}
|
|
61897
|
+
|
|
61882
61898
|
// 处理前端分页
|
|
61883
61899
|
let data = others.data || [];
|
|
61884
61900
|
if ((_others$pagerConfig = others.pagerConfig) !== null && _others$pagerConfig !== void 0 && _others$pagerConfig.frontendPagination || (_others$sortConfig = others.sortConfig) !== null && _others$sortConfig !== void 0 && _others$sortConfig.frontendSort) {
|
|
@@ -61974,6 +61990,58 @@ var custom_column_component = normalizeComponent(
|
|
|
61974
61990
|
}
|
|
61975
61991
|
},
|
|
61976
61992
|
methods: {
|
|
61993
|
+
// ********************************************** 设备、宽度 校验,取消去定列 *****************************************
|
|
61994
|
+
// 检查设备类型
|
|
61995
|
+
checkDeviceType() {
|
|
61996
|
+
const userAgent = navigator.userAgent || navigator.vendor || window.opera;
|
|
61997
|
+
const isMobileByUA = /android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(userAgent.toLowerCase());
|
|
61998
|
+
const isSmallScreen = window.innerWidth <= 1024;
|
|
61999
|
+
this.isMobile = isMobileByUA || isSmallScreen;
|
|
62000
|
+
},
|
|
62001
|
+
// 初始化窗口大小监听
|
|
62002
|
+
initResizeListener() {
|
|
62003
|
+
window.addEventListener('resize', this.handleResize);
|
|
62004
|
+
// 初始获取表格宽度
|
|
62005
|
+
this.$nextTick(() => {
|
|
62006
|
+
if (this.$refs.xGrid && this.$refs.xGrid.$el) {
|
|
62007
|
+
this.tableWidth = this.$refs.xGrid.$el.offsetWidth;
|
|
62008
|
+
}
|
|
62009
|
+
});
|
|
62010
|
+
},
|
|
62011
|
+
// 移除窗口大小监听
|
|
62012
|
+
removeResizeListener() {
|
|
62013
|
+
window.removeEventListener('resize', this.handleResize);
|
|
62014
|
+
},
|
|
62015
|
+
// 处理窗口大小变化
|
|
62016
|
+
handleResize() {
|
|
62017
|
+
if (this.$refs.xGrid && this.$refs.xGrid.$el) {
|
|
62018
|
+
this.tableWidth = this.$refs.xGrid.$el.offsetWidth;
|
|
62019
|
+
} else {
|
|
62020
|
+
this.tableWidth = window.innerWidth;
|
|
62021
|
+
}
|
|
62022
|
+
},
|
|
62023
|
+
// 移除固定列
|
|
62024
|
+
removeFixedColumns(columns) {
|
|
62025
|
+
if (!columns || !Array.isArray(columns)) return columns;
|
|
62026
|
+
return columns.map(column => {
|
|
62027
|
+
const newColumn = {
|
|
62028
|
+
...column
|
|
62029
|
+
};
|
|
62030
|
+
|
|
62031
|
+
// 移除固定列属性
|
|
62032
|
+
if (newColumn.fixed) {
|
|
62033
|
+
delete newColumn.fixed;
|
|
62034
|
+
}
|
|
62035
|
+
|
|
62036
|
+
// 处理子列
|
|
62037
|
+
if (newColumn.children && Array.isArray(newColumn.children)) {
|
|
62038
|
+
newColumn.children = this.removeFixedColumns(newColumn.children);
|
|
62039
|
+
}
|
|
62040
|
+
return newColumn;
|
|
62041
|
+
});
|
|
62042
|
+
},
|
|
62043
|
+
// ********************************************** 设备、宽度 校验,取消去定列 *****************************************
|
|
62044
|
+
|
|
61977
62045
|
handleCellClick(context) {
|
|
61978
62046
|
if (this.options.copyFields.includes(context.column.field)) {
|
|
61979
62047
|
const text = context.cell.outerText;
|
|
@@ -62315,8 +62383,8 @@ var custom_column_component = normalizeComponent(
|
|
|
62315
62383
|
;
|
|
62316
62384
|
var table_component = normalizeComponent(
|
|
62317
62385
|
components_tablevue_type_script_lang_js,
|
|
62318
|
-
|
|
62319
|
-
|
|
62386
|
+
tablevue_type_template_id_746a119a_render,
|
|
62387
|
+
tablevue_type_template_id_746a119a_staticRenderFns,
|
|
62320
62388
|
false,
|
|
62321
62389
|
null,
|
|
62322
62390
|
null,
|
|
@@ -62325,8 +62393,8 @@ var table_component = normalizeComponent(
|
|
|
62325
62393
|
)
|
|
62326
62394
|
|
|
62327
62395
|
/* harmony default export */ var table = (table_component.exports);
|
|
62328
|
-
;// ./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=
|
|
62329
|
-
var
|
|
62396
|
+
;// ./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=c208c726&scoped=true
|
|
62397
|
+
var formvue_type_template_id_c208c726_scoped_true_render = function render() {
|
|
62330
62398
|
var _vm = this,
|
|
62331
62399
|
_c = _vm._self._c;
|
|
62332
62400
|
return _c('div', {
|
|
@@ -62468,7 +62536,45 @@ var formvue_type_template_id_9bf2745a_scoped_true_render = function render() {
|
|
|
62468
62536
|
return _vm.handleSuffixInputChange($event, item);
|
|
62469
62537
|
}
|
|
62470
62538
|
}
|
|
62471
|
-
}, 'by-common-selector', item.otherOptions || {}, false))] : item.type === '
|
|
62539
|
+
}, 'by-common-selector', item.otherOptions || {}, false))] : item.type === 'batchQuerySelector' ? [_c('by-batch-query-selector', _vm._b({
|
|
62540
|
+
attrs: {
|
|
62541
|
+
"value": _vm.value[`${item.field}`],
|
|
62542
|
+
"config": item,
|
|
62543
|
+
"options": item.options || [],
|
|
62544
|
+
"loadOptions": item.loadOptions,
|
|
62545
|
+
"autoLoad": item.autoLoad !== false,
|
|
62546
|
+
"valueKey": item.valueKey || 'id',
|
|
62547
|
+
"labelKey": item.labelKey || 'name',
|
|
62548
|
+
"disabledKey": item.disabledKey || 'disabled',
|
|
62549
|
+
"disabledMethod": item.disabledMethod,
|
|
62550
|
+
"multiple": item.multiple !== false,
|
|
62551
|
+
"collapseTags": item.collapseTags !== false,
|
|
62552
|
+
"placeholder": item.placeholder || '请选择',
|
|
62553
|
+
"disabled": item.disabled,
|
|
62554
|
+
"clearable": item.clearable !== false,
|
|
62555
|
+
"size": _vm.elSize,
|
|
62556
|
+
"maxWidth": item.maxWidth || '100%',
|
|
62557
|
+
"popoverWidth": item.popoverWidth || 300,
|
|
62558
|
+
"customMapFunction": item.customMapFunction
|
|
62559
|
+
},
|
|
62560
|
+
on: {
|
|
62561
|
+
"input": function ($event) {
|
|
62562
|
+
return _vm.handleValueChange($event, item);
|
|
62563
|
+
},
|
|
62564
|
+
"change": function ($event) {
|
|
62565
|
+
return _vm.handleValueChange($event, item);
|
|
62566
|
+
},
|
|
62567
|
+
"options-loaded": function ($event) {
|
|
62568
|
+
return _vm.handleBatchSelectorOptionsLoaded($event, item);
|
|
62569
|
+
},
|
|
62570
|
+
"options-load-error": function ($event) {
|
|
62571
|
+
return _vm.handleBatchSelectorOptionsLoadError($event, item);
|
|
62572
|
+
},
|
|
62573
|
+
"batch-input-complete": function ($event) {
|
|
62574
|
+
return _vm.handleBatchInputComplete($event, item);
|
|
62575
|
+
}
|
|
62576
|
+
}
|
|
62577
|
+
}, 'by-batch-query-selector', item.otherOptions || {}, false))] : item.type === 'datepicker' ? [_c('el-date-picker', _vm._b({
|
|
62472
62578
|
staticStyle: {
|
|
62473
62579
|
"width": "100%"
|
|
62474
62580
|
},
|
|
@@ -62634,7 +62740,7 @@ var formvue_type_template_id_9bf2745a_scoped_true_render = function render() {
|
|
|
62634
62740
|
staticClass: "footer"
|
|
62635
62741
|
}, [_vm._t("footer")], 2)], 1);
|
|
62636
62742
|
};
|
|
62637
|
-
var
|
|
62743
|
+
var formvue_type_template_id_c208c726_scoped_true_staticRenderFns = [];
|
|
62638
62744
|
|
|
62639
62745
|
;// ./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
|
|
62640
62746
|
var pair_number_inputvue_type_template_id_604235f6_render = function render() {
|
|
@@ -74091,6 +74197,414 @@ var ByCommonSelector_component = normalizeComponent(
|
|
|
74091
74197
|
)
|
|
74092
74198
|
|
|
74093
74199
|
/* harmony default export */ var ByCommonSelector = (ByCommonSelector_component.exports);
|
|
74200
|
+
;// ./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/batch-query-selector/BatchQuerySelector.vue?vue&type=template&id=87a7b5d8
|
|
74201
|
+
var BatchQuerySelectorvue_type_template_id_87a7b5d8_render = function render() {
|
|
74202
|
+
var _vm = this,
|
|
74203
|
+
_c = _vm._self._c;
|
|
74204
|
+
return _c('div', {
|
|
74205
|
+
staticClass: "by-batch-query-selector",
|
|
74206
|
+
style: _vm.containerStyle
|
|
74207
|
+
}, [_c('div', {
|
|
74208
|
+
staticClass: "selector-container"
|
|
74209
|
+
}, [_c('el-select', {
|
|
74210
|
+
staticClass: "selector-input",
|
|
74211
|
+
attrs: {
|
|
74212
|
+
"placeholder": _vm.placeholder,
|
|
74213
|
+
"disabled": _vm.disabled || _vm.loading,
|
|
74214
|
+
"size": _vm.size,
|
|
74215
|
+
"clearable": _vm.clearable,
|
|
74216
|
+
"multiple": _vm.multiple,
|
|
74217
|
+
"collapse-tags": _vm.collapseTags,
|
|
74218
|
+
"loading": _vm.loading
|
|
74219
|
+
},
|
|
74220
|
+
on: {
|
|
74221
|
+
"change": _vm.handleChange,
|
|
74222
|
+
"focus": _vm.handleFocus
|
|
74223
|
+
},
|
|
74224
|
+
model: {
|
|
74225
|
+
value: _vm.selectedValues,
|
|
74226
|
+
callback: function ($$v) {
|
|
74227
|
+
_vm.selectedValues = $$v;
|
|
74228
|
+
},
|
|
74229
|
+
expression: "selectedValues"
|
|
74230
|
+
}
|
|
74231
|
+
}, _vm._l(_vm.optionsList, function (item) {
|
|
74232
|
+
return _c('el-option', {
|
|
74233
|
+
key: item[_vm.valueKey],
|
|
74234
|
+
attrs: {
|
|
74235
|
+
"label": item[_vm.labelKey],
|
|
74236
|
+
"value": item[_vm.valueKey],
|
|
74237
|
+
"disabled": _vm.isOptionDisabled(item)
|
|
74238
|
+
}
|
|
74239
|
+
});
|
|
74240
|
+
}), 1), _c('el-popover', {
|
|
74241
|
+
attrs: {
|
|
74242
|
+
"placement": "bottom-end",
|
|
74243
|
+
"width": _vm.popoverWidth,
|
|
74244
|
+
"trigger": "click",
|
|
74245
|
+
"popper-class": "batch-input-popover"
|
|
74246
|
+
},
|
|
74247
|
+
model: {
|
|
74248
|
+
value: _vm.popoverVisible,
|
|
74249
|
+
callback: function ($$v) {
|
|
74250
|
+
_vm.popoverVisible = $$v;
|
|
74251
|
+
},
|
|
74252
|
+
expression: "popoverVisible"
|
|
74253
|
+
}
|
|
74254
|
+
}, [_c('div', {
|
|
74255
|
+
staticClass: "batch-input-container"
|
|
74256
|
+
}, [_c('div', {
|
|
74257
|
+
staticClass: "popover-title"
|
|
74258
|
+
}, [_vm._v("批量输入")]), _c('div', {
|
|
74259
|
+
staticClass: "input-type-selector"
|
|
74260
|
+
}, [_c('el-radio', {
|
|
74261
|
+
attrs: {
|
|
74262
|
+
"label": 'id'
|
|
74263
|
+
},
|
|
74264
|
+
model: {
|
|
74265
|
+
value: _vm.inputType,
|
|
74266
|
+
callback: function ($$v) {
|
|
74267
|
+
_vm.inputType = $$v;
|
|
74268
|
+
},
|
|
74269
|
+
expression: "inputType"
|
|
74270
|
+
}
|
|
74271
|
+
}, [_vm._v("ID")]), _c('el-radio', {
|
|
74272
|
+
attrs: {
|
|
74273
|
+
"label": 'name'
|
|
74274
|
+
},
|
|
74275
|
+
model: {
|
|
74276
|
+
value: _vm.inputType,
|
|
74277
|
+
callback: function ($$v) {
|
|
74278
|
+
_vm.inputType = $$v;
|
|
74279
|
+
},
|
|
74280
|
+
expression: "inputType"
|
|
74281
|
+
}
|
|
74282
|
+
}, [_vm._v("名称")])], 1), _c('el-input', {
|
|
74283
|
+
staticClass: "batch-input-textarea",
|
|
74284
|
+
attrs: {
|
|
74285
|
+
"type": "textarea",
|
|
74286
|
+
"rows": 10,
|
|
74287
|
+
"placeholder": _vm.inputType === 'id' ? '请输入ID,多个ID用换行、逗号、分号、空格分隔' : '请输入名称,多个名称用换行、逗号、分号、空格分隔'
|
|
74288
|
+
},
|
|
74289
|
+
model: {
|
|
74290
|
+
value: _vm.batchInputContent,
|
|
74291
|
+
callback: function ($$v) {
|
|
74292
|
+
_vm.batchInputContent = $$v;
|
|
74293
|
+
},
|
|
74294
|
+
expression: "batchInputContent"
|
|
74295
|
+
}
|
|
74296
|
+
}), _c('div', {
|
|
74297
|
+
staticClass: "popover-footer"
|
|
74298
|
+
}, [_c('el-button', {
|
|
74299
|
+
attrs: {
|
|
74300
|
+
"size": "mini"
|
|
74301
|
+
},
|
|
74302
|
+
on: {
|
|
74303
|
+
"click": function ($event) {
|
|
74304
|
+
_vm.popoverVisible = false;
|
|
74305
|
+
}
|
|
74306
|
+
}
|
|
74307
|
+
}, [_vm._v("取消")]), _c('el-button', {
|
|
74308
|
+
attrs: {
|
|
74309
|
+
"size": "mini",
|
|
74310
|
+
"type": "primary"
|
|
74311
|
+
},
|
|
74312
|
+
on: {
|
|
74313
|
+
"click": _vm.handleBatchInput
|
|
74314
|
+
}
|
|
74315
|
+
}, [_vm._v("确定")])], 1)], 1), _c('el-button', {
|
|
74316
|
+
staticClass: "batch-input-btn",
|
|
74317
|
+
attrs: {
|
|
74318
|
+
"slot": "reference",
|
|
74319
|
+
"disabled": _vm.disabled || _vm.loading,
|
|
74320
|
+
"size": _vm.size
|
|
74321
|
+
},
|
|
74322
|
+
slot: "reference"
|
|
74323
|
+
}, [_c('i', {
|
|
74324
|
+
staticClass: "el-icon-edit-outline",
|
|
74325
|
+
staticStyle: {
|
|
74326
|
+
"transform": "scale(2)",
|
|
74327
|
+
"display": "inline-block"
|
|
74328
|
+
}
|
|
74329
|
+
})])], 1)], 1)]);
|
|
74330
|
+
};
|
|
74331
|
+
var BatchQuerySelectorvue_type_template_id_87a7b5d8_staticRenderFns = [];
|
|
74332
|
+
|
|
74333
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./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/batch-query-selector/BatchQuerySelector.vue?vue&type=script&lang=js
|
|
74334
|
+
|
|
74335
|
+
|
|
74336
|
+
|
|
74337
|
+
|
|
74338
|
+
|
|
74339
|
+
|
|
74340
|
+
|
|
74341
|
+
|
|
74342
|
+
|
|
74343
|
+
|
|
74344
|
+
/* harmony default export */ var BatchQuerySelectorvue_type_script_lang_js = ({
|
|
74345
|
+
name: 'BatchQuerySelector',
|
|
74346
|
+
props: {
|
|
74347
|
+
// 绑定值
|
|
74348
|
+
value: {
|
|
74349
|
+
type: [Array, String, Number],
|
|
74350
|
+
default: () => []
|
|
74351
|
+
},
|
|
74352
|
+
// 数据源
|
|
74353
|
+
options: {
|
|
74354
|
+
type: Array,
|
|
74355
|
+
default: () => []
|
|
74356
|
+
},
|
|
74357
|
+
// 异步加载数据源
|
|
74358
|
+
loadOptions: {
|
|
74359
|
+
type: Function,
|
|
74360
|
+
default: null
|
|
74361
|
+
},
|
|
74362
|
+
// 是否自动加载数据(首次获取焦点时)
|
|
74363
|
+
autoLoad: {
|
|
74364
|
+
type: Boolean,
|
|
74365
|
+
default: true
|
|
74366
|
+
},
|
|
74367
|
+
// 值字段名
|
|
74368
|
+
valueKey: {
|
|
74369
|
+
type: String,
|
|
74370
|
+
default: 'id'
|
|
74371
|
+
},
|
|
74372
|
+
// 标签字段名
|
|
74373
|
+
labelKey: {
|
|
74374
|
+
type: String,
|
|
74375
|
+
default: 'name'
|
|
74376
|
+
},
|
|
74377
|
+
// 禁用字段名,用于判断选项是否禁用
|
|
74378
|
+
disabledKey: {
|
|
74379
|
+
type: String,
|
|
74380
|
+
default: 'disabled'
|
|
74381
|
+
},
|
|
74382
|
+
// 禁用条件,自定义函数判断选项是否禁用
|
|
74383
|
+
disabledMethod: {
|
|
74384
|
+
type: Function,
|
|
74385
|
+
default: null
|
|
74386
|
+
},
|
|
74387
|
+
// 是否多选
|
|
74388
|
+
multiple: {
|
|
74389
|
+
type: Boolean,
|
|
74390
|
+
default: true
|
|
74391
|
+
},
|
|
74392
|
+
// 是否折叠标签
|
|
74393
|
+
collapseTags: {
|
|
74394
|
+
type: Boolean,
|
|
74395
|
+
default: true
|
|
74396
|
+
},
|
|
74397
|
+
// 占位符
|
|
74398
|
+
placeholder: {
|
|
74399
|
+
type: String,
|
|
74400
|
+
default: '请选择'
|
|
74401
|
+
},
|
|
74402
|
+
// 是否禁用
|
|
74403
|
+
disabled: {
|
|
74404
|
+
type: Boolean,
|
|
74405
|
+
default: false
|
|
74406
|
+
},
|
|
74407
|
+
// 是否可清空
|
|
74408
|
+
clearable: {
|
|
74409
|
+
type: Boolean,
|
|
74410
|
+
default: true
|
|
74411
|
+
},
|
|
74412
|
+
// 大小
|
|
74413
|
+
size: {
|
|
74414
|
+
type: String,
|
|
74415
|
+
default: 'mini'
|
|
74416
|
+
},
|
|
74417
|
+
// 最大宽度,默认为100%(充满容器宽度)
|
|
74418
|
+
maxWidth: {
|
|
74419
|
+
type: [String, Number],
|
|
74420
|
+
default: '100%'
|
|
74421
|
+
},
|
|
74422
|
+
// 弹窗宽度
|
|
74423
|
+
popoverWidth: {
|
|
74424
|
+
type: [String, Number],
|
|
74425
|
+
default: '300'
|
|
74426
|
+
},
|
|
74427
|
+
// 自定义映射函数,用于处理批量输入后的映射逻辑
|
|
74428
|
+
customMapFunction: {
|
|
74429
|
+
type: Function,
|
|
74430
|
+
default: null
|
|
74431
|
+
}
|
|
74432
|
+
},
|
|
74433
|
+
data() {
|
|
74434
|
+
return {
|
|
74435
|
+
selectedValues: [],
|
|
74436
|
+
popoverVisible: false,
|
|
74437
|
+
inputType: 'id',
|
|
74438
|
+
batchInputContent: '',
|
|
74439
|
+
optionsList: [],
|
|
74440
|
+
loading: false,
|
|
74441
|
+
hasLoaded: false
|
|
74442
|
+
};
|
|
74443
|
+
},
|
|
74444
|
+
computed: {
|
|
74445
|
+
hasInitialValue() {
|
|
74446
|
+
if (this.multiple) {
|
|
74447
|
+
return Array.isArray(this.value) && this.value.length > 0;
|
|
74448
|
+
}
|
|
74449
|
+
return this.value !== null && this.value !== undefined && this.value !== '';
|
|
74450
|
+
},
|
|
74451
|
+
containerStyle() {
|
|
74452
|
+
// 处理maxWidth属性,支持数字(自动添加px)或字符串
|
|
74453
|
+
const width = typeof this.maxWidth === 'number' ? `${this.maxWidth}px` : this.maxWidth;
|
|
74454
|
+
return {
|
|
74455
|
+
maxWidth: width
|
|
74456
|
+
};
|
|
74457
|
+
}
|
|
74458
|
+
},
|
|
74459
|
+
watch: {
|
|
74460
|
+
value: {
|
|
74461
|
+
handler(val) {
|
|
74462
|
+
this.selectedValues = this.multiple ? [...(Array.isArray(val) ? val : [])] : val;
|
|
74463
|
+
},
|
|
74464
|
+
immediate: true
|
|
74465
|
+
},
|
|
74466
|
+
options: {
|
|
74467
|
+
handler(val) {
|
|
74468
|
+
this.optionsList = [...val];
|
|
74469
|
+
},
|
|
74470
|
+
immediate: true
|
|
74471
|
+
}
|
|
74472
|
+
},
|
|
74473
|
+
created() {
|
|
74474
|
+
// 如果有初始值且提供了loadOptions方法,但没有提供options,则自动加载数据
|
|
74475
|
+
if (this.hasInitialValue && this.loadOptions && !this.options.length) {
|
|
74476
|
+
this.fetchOptions();
|
|
74477
|
+
}
|
|
74478
|
+
},
|
|
74479
|
+
methods: {
|
|
74480
|
+
// 判断选项是否禁用
|
|
74481
|
+
isOptionDisabled(option) {
|
|
74482
|
+
// 如果提供了自定义禁用方法,则使用自定义方法判断
|
|
74483
|
+
if (this.disabledMethod) {
|
|
74484
|
+
return this.disabledMethod(option);
|
|
74485
|
+
}
|
|
74486
|
+
|
|
74487
|
+
// 否则根据禁用字段名判断
|
|
74488
|
+
return !!option[this.disabledKey];
|
|
74489
|
+
},
|
|
74490
|
+
// 处理选择变化
|
|
74491
|
+
handleChange(val) {
|
|
74492
|
+
this.$emit('input', val);
|
|
74493
|
+
this.$emit('change', val);
|
|
74494
|
+
},
|
|
74495
|
+
// 处理获取焦点
|
|
74496
|
+
handleFocus() {
|
|
74497
|
+
// 如果配置了自动加载且提供了loadOptions方法且还没有加载过数据
|
|
74498
|
+
if (this.autoLoad && this.loadOptions && !this.hasLoaded && this.optionsList.length === 0) {
|
|
74499
|
+
this.fetchOptions();
|
|
74500
|
+
}
|
|
74501
|
+
},
|
|
74502
|
+
// 获取选项数据
|
|
74503
|
+
async fetchOptions(params) {
|
|
74504
|
+
if (!this.loadOptions) return;
|
|
74505
|
+
try {
|
|
74506
|
+
this.loading = true;
|
|
74507
|
+
const result = await this.loadOptions(params);
|
|
74508
|
+
if (Array.isArray(result)) {
|
|
74509
|
+
this.optionsList = result;
|
|
74510
|
+
} else {
|
|
74511
|
+
console.warn('【BatchQuerySelector组件】: loadOptions 应该返回一个数组');
|
|
74512
|
+
}
|
|
74513
|
+
this.hasLoaded = true;
|
|
74514
|
+
this.$emit('options-loaded', this.optionsList);
|
|
74515
|
+
} catch (error) {
|
|
74516
|
+
this.$emit('options-load-error', error);
|
|
74517
|
+
} finally {
|
|
74518
|
+
this.loading = false;
|
|
74519
|
+
}
|
|
74520
|
+
},
|
|
74521
|
+
// 手动刷新选项
|
|
74522
|
+
refreshOptions(params) {
|
|
74523
|
+
return this.fetchOptions(params);
|
|
74524
|
+
},
|
|
74525
|
+
// 处理批量输入
|
|
74526
|
+
handleBatchInput() {
|
|
74527
|
+
if (!this.batchInputContent.trim()) {
|
|
74528
|
+
this.popoverVisible = false;
|
|
74529
|
+
return;
|
|
74530
|
+
}
|
|
74531
|
+
|
|
74532
|
+
// 分割输入内容(支持换行、逗号、分号等分隔符)
|
|
74533
|
+
const inputValues = this.batchInputContent.split(/[\n,;,;\s]+/).filter(item => item.trim()).map(item => item.trim());
|
|
74534
|
+
if (inputValues.length === 0) {
|
|
74535
|
+
this.popoverVisible = false;
|
|
74536
|
+
return;
|
|
74537
|
+
}
|
|
74538
|
+
|
|
74539
|
+
// 根据输入类型匹配数据
|
|
74540
|
+
let matchedValues = [];
|
|
74541
|
+
if (this.customMapFunction) {
|
|
74542
|
+
// 使用自定义映射函数
|
|
74543
|
+
matchedValues = this.customMapFunction(inputValues, this.inputType, this.options);
|
|
74544
|
+
} else {
|
|
74545
|
+
// 默认映射逻辑
|
|
74546
|
+
const searchKey = this.inputType === 'id' ? this.valueKey : this.labelKey;
|
|
74547
|
+
const resultKey = this.valueKey;
|
|
74548
|
+
matchedValues = this.optionsList.filter(item => {
|
|
74549
|
+
// 排除禁用的选项
|
|
74550
|
+
if (this.isOptionDisabled(item)) {
|
|
74551
|
+
return false;
|
|
74552
|
+
}
|
|
74553
|
+
return inputValues.includes(String(item[searchKey]));
|
|
74554
|
+
}).map(item => item[resultKey]);
|
|
74555
|
+
}
|
|
74556
|
+
|
|
74557
|
+
// 更新选中值
|
|
74558
|
+
if (this.multiple) {
|
|
74559
|
+
// 多选模式,合并已选和新匹配的值,去重
|
|
74560
|
+
const newValues = [...new Set([...this.selectedValues, ...matchedValues])];
|
|
74561
|
+
this.selectedValues = newValues;
|
|
74562
|
+
this.$emit('input', newValues);
|
|
74563
|
+
this.$emit('change', newValues);
|
|
74564
|
+
} else {
|
|
74565
|
+
// 单选模式,只取第一个匹配值
|
|
74566
|
+
if (matchedValues.length > 0) {
|
|
74567
|
+
this.selectedValues = matchedValues[0];
|
|
74568
|
+
this.$emit('input', matchedValues[0]);
|
|
74569
|
+
this.$emit('change', matchedValues[0]);
|
|
74570
|
+
}
|
|
74571
|
+
}
|
|
74572
|
+
|
|
74573
|
+
// 关闭弹出框
|
|
74574
|
+
this.popoverVisible = false;
|
|
74575
|
+
this.batchInputContent = '';
|
|
74576
|
+
|
|
74577
|
+
// 触发批量输入完成事件
|
|
74578
|
+
this.$emit('batch-input-complete', {
|
|
74579
|
+
inputValues,
|
|
74580
|
+
matchedValues,
|
|
74581
|
+
type: this.inputType
|
|
74582
|
+
});
|
|
74583
|
+
}
|
|
74584
|
+
}
|
|
74585
|
+
});
|
|
74586
|
+
;// ./src/components/batch-query-selector/BatchQuerySelector.vue?vue&type=script&lang=js
|
|
74587
|
+
/* harmony default export */ var batch_query_selector_BatchQuerySelectorvue_type_script_lang_js = (BatchQuerySelectorvue_type_script_lang_js);
|
|
74588
|
+
;// ./src/components/batch-query-selector/BatchQuerySelector.vue
|
|
74589
|
+
|
|
74590
|
+
|
|
74591
|
+
|
|
74592
|
+
|
|
74593
|
+
|
|
74594
|
+
/* normalize component */
|
|
74595
|
+
;
|
|
74596
|
+
var BatchQuerySelector_component = normalizeComponent(
|
|
74597
|
+
batch_query_selector_BatchQuerySelectorvue_type_script_lang_js,
|
|
74598
|
+
BatchQuerySelectorvue_type_template_id_87a7b5d8_render,
|
|
74599
|
+
BatchQuerySelectorvue_type_template_id_87a7b5d8_staticRenderFns,
|
|
74600
|
+
false,
|
|
74601
|
+
null,
|
|
74602
|
+
null,
|
|
74603
|
+
null
|
|
74604
|
+
|
|
74605
|
+
)
|
|
74606
|
+
|
|
74607
|
+
/* harmony default export */ var BatchQuerySelector = (BatchQuerySelector_component.exports);
|
|
74094
74608
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./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=script&lang=js
|
|
74095
74609
|
|
|
74096
74610
|
|
|
@@ -74098,12 +74612,14 @@ var ByCommonSelector_component = normalizeComponent(
|
|
|
74098
74612
|
|
|
74099
74613
|
|
|
74100
74614
|
|
|
74615
|
+
|
|
74101
74616
|
/* harmony default export */ var formvue_type_script_lang_js = ({
|
|
74102
74617
|
name: 'ByForm',
|
|
74103
74618
|
components: {
|
|
74104
74619
|
PairNumberInput: pair_number_input,
|
|
74105
74620
|
CustomDatePicker: custom_date_picker,
|
|
74106
|
-
ByCommonSelector: ByCommonSelector
|
|
74621
|
+
ByCommonSelector: ByCommonSelector,
|
|
74622
|
+
ByBatchQuerySelector: BatchQuerySelector
|
|
74107
74623
|
},
|
|
74108
74624
|
props: {
|
|
74109
74625
|
value: {
|
|
@@ -74348,15 +74864,37 @@ var ByCommonSelector_component = normalizeComponent(
|
|
|
74348
74864
|
error,
|
|
74349
74865
|
item
|
|
74350
74866
|
});
|
|
74867
|
+
},
|
|
74868
|
+
// 批量查询选择器相关事件处理
|
|
74869
|
+
handleBatchSelectorOptionsLoaded(options, item) {
|
|
74870
|
+
// 批量查询选择器异步加载成功
|
|
74871
|
+
this.$emit('batch-selector-options-loaded', {
|
|
74872
|
+
options,
|
|
74873
|
+
item
|
|
74874
|
+
});
|
|
74875
|
+
},
|
|
74876
|
+
handleBatchSelectorOptionsLoadError(error, item) {
|
|
74877
|
+
// 批量查询选择器异步加载失败
|
|
74878
|
+
this.$emit('batch-selector-options-error', {
|
|
74879
|
+
error,
|
|
74880
|
+
item
|
|
74881
|
+
});
|
|
74882
|
+
},
|
|
74883
|
+
handleBatchInputComplete(data, item) {
|
|
74884
|
+
// 批量输入完成事件
|
|
74885
|
+
this.$emit('batch-input-complete', {
|
|
74886
|
+
...data,
|
|
74887
|
+
item
|
|
74888
|
+
});
|
|
74351
74889
|
}
|
|
74352
74890
|
}
|
|
74353
74891
|
});
|
|
74354
74892
|
;// ./src/components/form/form.vue?vue&type=script&lang=js
|
|
74355
74893
|
/* harmony default export */ var form_formvue_type_script_lang_js = (formvue_type_script_lang_js);
|
|
74356
|
-
;// ./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=
|
|
74894
|
+
;// ./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=c208c726&prod&lang=scss&scoped=true
|
|
74357
74895
|
// extracted by mini-css-extract-plugin
|
|
74358
74896
|
|
|
74359
|
-
;// ./src/components/form/form.vue?vue&type=style&index=0&id=
|
|
74897
|
+
;// ./src/components/form/form.vue?vue&type=style&index=0&id=c208c726&prod&lang=scss&scoped=true
|
|
74360
74898
|
|
|
74361
74899
|
;// ./src/components/form/form.vue
|
|
74362
74900
|
|
|
@@ -74369,11 +74907,11 @@ var ByCommonSelector_component = normalizeComponent(
|
|
|
74369
74907
|
|
|
74370
74908
|
var form_component = normalizeComponent(
|
|
74371
74909
|
form_formvue_type_script_lang_js,
|
|
74372
|
-
|
|
74373
|
-
|
|
74910
|
+
formvue_type_template_id_c208c726_scoped_true_render,
|
|
74911
|
+
formvue_type_template_id_c208c726_scoped_true_staticRenderFns,
|
|
74374
74912
|
false,
|
|
74375
74913
|
null,
|
|
74376
|
-
"
|
|
74914
|
+
"c208c726",
|
|
74377
74915
|
null
|
|
74378
74916
|
|
|
74379
74917
|
)
|
|
@@ -75505,6 +76043,7 @@ updateVar();
|
|
|
75505
76043
|
|
|
75506
76044
|
|
|
75507
76045
|
|
|
76046
|
+
|
|
75508
76047
|
const components = {
|
|
75509
76048
|
ByPager: pager,
|
|
75510
76049
|
ByTable: table,
|
|
@@ -75515,7 +76054,8 @@ const components = {
|
|
|
75515
76054
|
ByDatePickerRange: date_picker_range,
|
|
75516
76055
|
ByCustomDatePicker: custom_date_picker,
|
|
75517
76056
|
ByToolBar: ByToolBar,
|
|
75518
|
-
ByCommonSelector: ByCommonSelector
|
|
76057
|
+
ByCommonSelector: ByCommonSelector,
|
|
76058
|
+
ByBatchQuerySelector: BatchQuerySelector
|
|
75519
76059
|
};
|
|
75520
76060
|
|
|
75521
76061
|
// 设置当前 z-index 起始值
|