@weitutech/by-components 1.1.40 → 1.1.42
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/README.md +1 -0
- package/lib/by-components.common.js +215 -65
- package/lib/by-components.css +1 -1
- package/lib/by-components.umd.js +215 -65
- package/lib/by-components.umd.min.js +1 -1
- package/lib/index.css +1 -1
- package/package.json +1 -1
package/lib/by-components.umd.js
CHANGED
|
@@ -60752,8 +60752,8 @@ var component = normalizeComponent(
|
|
|
60752
60752
|
)
|
|
60753
60753
|
|
|
60754
60754
|
/* harmony default export */ var pager = (component.exports);
|
|
60755
|
-
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"72942c6c-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/table/index.vue?vue&type=template&id=
|
|
60756
|
-
var
|
|
60755
|
+
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"72942c6c-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/table/index.vue?vue&type=template&id=70989b5a
|
|
60756
|
+
var tablevue_type_template_id_70989b5a_render = function render() {
|
|
60757
60757
|
var _vm = this,
|
|
60758
60758
|
_c = _vm._self._c;
|
|
60759
60759
|
return _c('div', [_c('vxe-grid', _vm._g(_vm._b({
|
|
@@ -60826,7 +60826,7 @@ var tablevue_type_template_id_4a0e3fc6_render = function render() {
|
|
|
60826
60826
|
}
|
|
60827
60827
|
}) : _vm._e()], 1);
|
|
60828
60828
|
};
|
|
60829
|
-
var
|
|
60829
|
+
var tablevue_type_template_id_70989b5a_staticRenderFns = [];
|
|
60830
60830
|
|
|
60831
60831
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
|
|
60832
60832
|
var es_array_push = __webpack_require__(4114);
|
|
@@ -60846,8 +60846,8 @@ var es_set_is_superset_of_v2 = __webpack_require__(2475);
|
|
|
60846
60846
|
var es_set_symmetric_difference_v2 = __webpack_require__(5024);
|
|
60847
60847
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.union.v2.js
|
|
60848
60848
|
var es_set_union_v2 = __webpack_require__(1698);
|
|
60849
|
-
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"72942c6c-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/custom-column/index.vue?vue&type=template&id=
|
|
60850
|
-
var
|
|
60849
|
+
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"72942c6c-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/custom-column/index.vue?vue&type=template&id=7378a3b0
|
|
60850
|
+
var custom_columnvue_type_template_id_7378a3b0_render = function render() {
|
|
60851
60851
|
var _vm = this,
|
|
60852
60852
|
_c = _vm._self._c;
|
|
60853
60853
|
return _c('div', {
|
|
@@ -61015,7 +61015,12 @@ var custom_columnvue_type_template_id_1e67094e_render = function render() {
|
|
|
61015
61015
|
},
|
|
61016
61016
|
expression: "draggableMenu"
|
|
61017
61017
|
}
|
|
61018
|
-
}, [_c('transition-group',
|
|
61018
|
+
}, [_c('transition-group', {
|
|
61019
|
+
attrs: {
|
|
61020
|
+
"name": "list",
|
|
61021
|
+
"tag": "div"
|
|
61022
|
+
}
|
|
61023
|
+
}, _vm._l(_vm.draggableMenu, function (col) {
|
|
61019
61024
|
return _c('div', {
|
|
61020
61025
|
directives: [{
|
|
61021
61026
|
name: "show",
|
|
@@ -61025,11 +61030,15 @@ var custom_columnvue_type_template_id_1e67094e_render = function render() {
|
|
|
61025
61030
|
}],
|
|
61026
61031
|
key: col.key,
|
|
61027
61032
|
class: col.key === 'sort-cut-off' ? 'fixedClass' : 'drag_li_box'
|
|
61028
|
-
}, [col.key !== 'sort-cut-off' ? _c('div',
|
|
61033
|
+
}, [col.key !== 'sort-cut-off' ? _c('div', {
|
|
61034
|
+
staticClass: "drag_li_text_box"
|
|
61035
|
+
}, [_c('i', {
|
|
61029
61036
|
staticClass: "el-icon-rank icon-box"
|
|
61030
61037
|
}), _c('span', {
|
|
61031
61038
|
staticClass: "drag_li_text"
|
|
61032
|
-
}, [_vm._v(_vm._s(col.label))])]) : _vm._e(), col.key !== 'sort-cut-off' ? _c('
|
|
61039
|
+
}, [_vm._v(_vm._s(col.label))])]) : _vm._e(), col.key !== 'sort-cut-off' && col.parent ? _c('span', {
|
|
61040
|
+
staticClass: "parent-label"
|
|
61041
|
+
}, [_vm._v(" " + _vm._s(col.parent && col.parent.label ? col.parent.label : '') + " ")]) : _vm._e(), col.key !== 'sort-cut-off' ? _c('i', {
|
|
61033
61042
|
staticClass: "el-icon-close remove",
|
|
61034
61043
|
on: {
|
|
61035
61044
|
"click": function ($event) {
|
|
@@ -61039,12 +61048,14 @@ var custom_columnvue_type_template_id_1e67094e_render = function render() {
|
|
|
61039
61048
|
}) : _vm._e()]);
|
|
61040
61049
|
}), 0)], 1)], 1)], 1)])])])], 1);
|
|
61041
61050
|
};
|
|
61042
|
-
var
|
|
61051
|
+
var custom_columnvue_type_template_id_7378a3b0_staticRenderFns = [];
|
|
61043
61052
|
|
|
61044
61053
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.filter.js
|
|
61045
61054
|
var es_iterator_filter = __webpack_require__(2489);
|
|
61046
61055
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.find.js
|
|
61047
61056
|
var es_iterator_find = __webpack_require__(116);
|
|
61057
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.flat-map.js
|
|
61058
|
+
var es_iterator_flat_map = __webpack_require__(531);
|
|
61048
61059
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.map.js
|
|
61049
61060
|
var es_iterator_map = __webpack_require__(1701);
|
|
61050
61061
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.some.js
|
|
@@ -61096,6 +61107,7 @@ const deepClone = target => {
|
|
|
61096
61107
|
|
|
61097
61108
|
|
|
61098
61109
|
|
|
61110
|
+
|
|
61099
61111
|
/* harmony default export */ var custom_columnvue_type_script_lang_js = ({
|
|
61100
61112
|
name: 'CustomColumn',
|
|
61101
61113
|
components: {
|
|
@@ -61129,7 +61141,9 @@ const deepClone = target => {
|
|
|
61129
61141
|
/** 表格列接口路径 */
|
|
61130
61142
|
page: '',
|
|
61131
61143
|
/** 搜索字段 */
|
|
61132
|
-
search: ''
|
|
61144
|
+
search: '',
|
|
61145
|
+
/** 原始列数据备份 */
|
|
61146
|
+
columnList: []
|
|
61133
61147
|
};
|
|
61134
61148
|
},
|
|
61135
61149
|
computed: {
|
|
@@ -61181,62 +61195,72 @@ const deepClone = target => {
|
|
|
61181
61195
|
* @param { object[] } bePreservedColumn 被保存过的列数据
|
|
61182
61196
|
*/
|
|
61183
61197
|
initTableList(initColumn, bePreservedColumn = []) {
|
|
61198
|
+
//设置拖拽列表数据
|
|
61184
61199
|
const setDraggableMenu = arr => {
|
|
61185
|
-
|
|
61186
|
-
arr.
|
|
61187
|
-
|
|
61188
|
-
|
|
61189
|
-
|
|
61190
|
-
|
|
61191
|
-
|
|
61192
|
-
|
|
61193
|
-
|
|
61194
|
-
|
|
61195
|
-
|
|
61196
|
-
|
|
61197
|
-
|
|
61198
|
-
|
|
61199
|
-
|
|
61200
|
-
|
|
61201
|
-
key: 'sort-cut-off',
|
|
61202
|
-
parent: ''
|
|
61203
|
-
});
|
|
61204
|
-
}
|
|
61205
|
-
return cols;
|
|
61200
|
+
// 扁平化所有列并按 fixed 属性分类排序
|
|
61201
|
+
const allColumns = arr.flatMap(item => item.data);
|
|
61202
|
+
const fixedCols = allColumns.filter(col => col.fixed === 'left').sort((a, b) => a.sort - b.sort);
|
|
61203
|
+
const normalCols = allColumns.filter(col => col.fixed !== 'left').sort((a, b) => a.sort - b.sort);
|
|
61204
|
+
|
|
61205
|
+
// 创建分割列
|
|
61206
|
+
const separator = {
|
|
61207
|
+
type: true,
|
|
61208
|
+
label: '',
|
|
61209
|
+
key: 'sort-cut-off',
|
|
61210
|
+
fixed: fixedCols.length > 0 ? 'left' : undefined,
|
|
61211
|
+
parent: ''
|
|
61212
|
+
};
|
|
61213
|
+
|
|
61214
|
+
// 根据是否有固定列决定分割列位置
|
|
61215
|
+
return fixedCols.length > 0 ? [...fixedCols, separator, ...normalCols] : [separator, ...normalCols];
|
|
61206
61216
|
};
|
|
61207
61217
|
if (bePreservedColumn && bePreservedColumn.length > 0) {
|
|
61208
61218
|
// 需要处理被保存过的进行回显
|
|
61209
61219
|
initColumn.forEach(cols => {
|
|
61210
61220
|
cols.data.forEach(col => {
|
|
61211
61221
|
const beSaveCol = bePreservedColumn.find(item => item.key === col.key) || {};
|
|
61212
|
-
col.type = ['true', true, '1', 1].includes(beSaveCol.type);
|
|
61222
|
+
col.type = ['true', true, '1', 1].includes(beSaveCol.type); //这里由于不同项目,接口有的返回"1",有的返回true
|
|
61213
61223
|
col.sort = beSaveCol.sort;
|
|
61214
|
-
|
|
61224
|
+
// 设置 fixed 和 parent 属性
|
|
61225
|
+
col.fixed = beSaveCol.fixed; //回显上次保存过的结果
|
|
61226
|
+
col.parent = {
|
|
61215
61227
|
label: cols.label
|
|
61216
61228
|
};
|
|
61217
61229
|
});
|
|
61218
61230
|
});
|
|
61219
|
-
|
|
61231
|
+
|
|
61232
|
+
// 保持原有的列结构,不重新分组
|
|
61220
61233
|
this.checkBoxMenu = this.deepClone(initColumn);
|
|
61221
61234
|
this.draggableMenu = setDraggableMenu(this.checkBoxMenu);
|
|
61222
61235
|
} else {
|
|
61236
|
+
console.log('==========从未被保存过', initColumn);
|
|
61237
|
+
|
|
61223
61238
|
// 从未被保存过
|
|
61224
61239
|
let num = 0;
|
|
61225
61240
|
initColumn.forEach(cols => {
|
|
61226
61241
|
cols.data.forEach(col => {
|
|
61227
61242
|
num++;
|
|
61228
61243
|
col.type = true;
|
|
61229
|
-
col.width = col.width ? +col.width : 0
|
|
61244
|
+
col.width = col.width ? +col.width : 0;
|
|
61245
|
+
col.sort = num;
|
|
61246
|
+
// 设置 fixed 和 parent 属性
|
|
61247
|
+
col.fixed = cols.fixed;
|
|
61230
61248
|
col.parent = {
|
|
61231
61249
|
label: cols.label
|
|
61232
61250
|
};
|
|
61233
61251
|
});
|
|
61234
61252
|
});
|
|
61253
|
+
|
|
61254
|
+
// 保持原有的列结构,不重新分组
|
|
61235
61255
|
this.checkBoxMenu = this.deepClone(initColumn);
|
|
61236
61256
|
this.draggableMenu = setDraggableMenu(this.checkBoxMenu);
|
|
61237
61257
|
}
|
|
61238
61258
|
this.$emit('changeTable', this.draggableMenu.filter(item => item.key !== 'sort-cut-off').sort((a, b) => a.sort - b.sort));
|
|
61239
|
-
|
|
61259
|
+
|
|
61260
|
+
// changeTableGroup 回调:对固定列进行重新分组
|
|
61261
|
+
const groupedColumns = this.createGroupedColumnsForTable(this.checkBoxMenu);
|
|
61262
|
+
this.$emit('changeTableGroup', groupedColumns);
|
|
61263
|
+
// this.$emit('changeTableGroup', this.checkBoxMenu)
|
|
61240
61264
|
},
|
|
61241
61265
|
// 全不选
|
|
61242
61266
|
selectNone() {
|
|
@@ -61289,9 +61313,11 @@ const deepClone = target => {
|
|
|
61289
61313
|
let isFixed = true;
|
|
61290
61314
|
this.draggableMenu.forEach((item, index) => {
|
|
61291
61315
|
if (item.key === 'sort-cut-off') {
|
|
61316
|
+
// 分割列本身保持固定属性
|
|
61317
|
+
item.fixed = 'left';
|
|
61318
|
+
item.sort = index + 1;
|
|
61292
61319
|
isFixed = false;
|
|
61293
|
-
}
|
|
61294
|
-
if (isFixed) {
|
|
61320
|
+
} else if (isFixed) {
|
|
61295
61321
|
item.sort = index + 1;
|
|
61296
61322
|
item.fixed = 'left';
|
|
61297
61323
|
} else {
|
|
@@ -61307,6 +61333,8 @@ const deepClone = target => {
|
|
|
61307
61333
|
id: this.id,
|
|
61308
61334
|
page: this.page
|
|
61309
61335
|
};
|
|
61336
|
+
|
|
61337
|
+
// 处理普通的列分组(按原有的 parent.label 分组)
|
|
61310
61338
|
this.draggableMenu.forEach(item => {
|
|
61311
61339
|
if (item.key !== 'sort-cut-off') {
|
|
61312
61340
|
const {
|
|
@@ -61330,14 +61358,60 @@ const deepClone = target => {
|
|
|
61330
61358
|
}
|
|
61331
61359
|
});
|
|
61332
61360
|
await this.submitMethod(params);
|
|
61361
|
+
|
|
61362
|
+
// changeTable 回调:返回正常排序的列数据
|
|
61333
61363
|
const cols = [];
|
|
61334
61364
|
params.column.forEach(item => {
|
|
61335
61365
|
cols.push(...item.data);
|
|
61336
61366
|
});
|
|
61337
61367
|
this.$emit('changeTable', cols.sort((a, b) => a.sort - b.sort));
|
|
61338
|
-
|
|
61368
|
+
|
|
61369
|
+
// changeTableGroup 回调:对固定列进行重新分组
|
|
61370
|
+
const groupedColumns = this.createGroupedColumnsForTable(params.column);
|
|
61371
|
+
this.$emit('changeTableGroup', groupedColumns);
|
|
61339
61372
|
this.closeDialog();
|
|
61340
61373
|
},
|
|
61374
|
+
/**
|
|
61375
|
+
* 为表格创建分组列结构(将固定列按一级表头分组)
|
|
61376
|
+
* @param columns 原始列分组数据
|
|
61377
|
+
*/
|
|
61378
|
+
createGroupedColumnsForTable(columns) {
|
|
61379
|
+
const fixedGroups = [];
|
|
61380
|
+
const normalGroups = [];
|
|
61381
|
+
console.log('==========columns', columns);
|
|
61382
|
+
columns.forEach(group => {
|
|
61383
|
+
const fixedItems = [];
|
|
61384
|
+
const normalItems = [];
|
|
61385
|
+
group.data.forEach(col => {
|
|
61386
|
+
if (col.fixed === 'left') {
|
|
61387
|
+
fixedItems.push(col);
|
|
61388
|
+
} else {
|
|
61389
|
+
normalItems.push(col);
|
|
61390
|
+
}
|
|
61391
|
+
});
|
|
61392
|
+
|
|
61393
|
+
// 如果有固定的列,加入固定分组
|
|
61394
|
+
if (fixedItems.length > 0) {
|
|
61395
|
+
fixedGroups.push({
|
|
61396
|
+
label: group.label,
|
|
61397
|
+
fixed: 'left',
|
|
61398
|
+
data: fixedItems
|
|
61399
|
+
});
|
|
61400
|
+
}
|
|
61401
|
+
|
|
61402
|
+
// 如果有普通列,加入普通分组
|
|
61403
|
+
if (normalItems.length > 0) {
|
|
61404
|
+
normalGroups.push({
|
|
61405
|
+
label: group.label,
|
|
61406
|
+
data: normalItems
|
|
61407
|
+
});
|
|
61408
|
+
}
|
|
61409
|
+
});
|
|
61410
|
+
console.log('==========result', [...fixedGroups, ...normalGroups]);
|
|
61411
|
+
|
|
61412
|
+
// 将固定分组添加到最前面
|
|
61413
|
+
return [...fixedGroups, ...normalGroups];
|
|
61414
|
+
},
|
|
61341
61415
|
// 关闭弹窗
|
|
61342
61416
|
closeDialog() {
|
|
61343
61417
|
// 重置数据
|
|
@@ -61359,8 +61433,8 @@ const deepClone = target => {
|
|
|
61359
61433
|
;
|
|
61360
61434
|
var custom_column_component = normalizeComponent(
|
|
61361
61435
|
components_custom_columnvue_type_script_lang_js,
|
|
61362
|
-
|
|
61363
|
-
|
|
61436
|
+
custom_columnvue_type_template_id_7378a3b0_render,
|
|
61437
|
+
custom_columnvue_type_template_id_7378a3b0_staticRenderFns,
|
|
61364
61438
|
false,
|
|
61365
61439
|
null,
|
|
61366
61440
|
null,
|
|
@@ -61732,7 +61806,6 @@ const recursiveSlot = (fields, slotSet) => {
|
|
|
61732
61806
|
removeCachedTableColumns(this.name);
|
|
61733
61807
|
this.setHasCache();
|
|
61734
61808
|
if (this.$refs.xGrid) {
|
|
61735
|
-
// console.log('>>>>>>>>>> 重置为 this.originColumns', this.originColumns)
|
|
61736
61809
|
// 直接重新设置列配置
|
|
61737
61810
|
this.$refs.xGrid.reloadColumn(this.originColumns);
|
|
61738
61811
|
}
|
|
@@ -61800,6 +61873,7 @@ const recursiveSlot = (fields, slotSet) => {
|
|
|
61800
61873
|
arr.push({
|
|
61801
61874
|
title: item.label,
|
|
61802
61875
|
align: 'center',
|
|
61876
|
+
fixed: item.fixed,
|
|
61803
61877
|
children: recursiveData(item.data)
|
|
61804
61878
|
});
|
|
61805
61879
|
if (index < cols.length - 1) {
|
|
@@ -61807,7 +61881,8 @@ const recursiveSlot = (fields, slotSet) => {
|
|
|
61807
61881
|
title: '',
|
|
61808
61882
|
width: 5,
|
|
61809
61883
|
headerClassName: 'group-split',
|
|
61810
|
-
className: 'group-split'
|
|
61884
|
+
className: 'group-split',
|
|
61885
|
+
fixed: cols[index].fixed && cols[index + 1].fixed //左侧固定列中的分隔列
|
|
61811
61886
|
});
|
|
61812
61887
|
}
|
|
61813
61888
|
}
|
|
@@ -61850,8 +61925,8 @@ const recursiveSlot = (fields, slotSet) => {
|
|
|
61850
61925
|
;
|
|
61851
61926
|
var table_component = normalizeComponent(
|
|
61852
61927
|
components_tablevue_type_script_lang_js,
|
|
61853
|
-
|
|
61854
|
-
|
|
61928
|
+
tablevue_type_template_id_70989b5a_render,
|
|
61929
|
+
tablevue_type_template_id_70989b5a_staticRenderFns,
|
|
61855
61930
|
false,
|
|
61856
61931
|
null,
|
|
61857
61932
|
null,
|
|
@@ -61860,8 +61935,8 @@ var table_component = normalizeComponent(
|
|
|
61860
61935
|
)
|
|
61861
61936
|
|
|
61862
61937
|
/* harmony default export */ var table = (table_component.exports);
|
|
61863
|
-
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"72942c6c-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/form/form.vue?vue&type=template&id=
|
|
61864
|
-
var
|
|
61938
|
+
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"72942c6c-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/form/form.vue?vue&type=template&id=f2397dbe&scoped=true
|
|
61939
|
+
var formvue_type_template_id_f2397dbe_scoped_true_render = function render() {
|
|
61865
61940
|
var _vm = this,
|
|
61866
61941
|
_c = _vm._self._c;
|
|
61867
61942
|
return _c('div', {
|
|
@@ -61957,11 +62032,19 @@ var formvue_type_template_id_396e0fe6_scoped_true_render = function render() {
|
|
|
61957
62032
|
"clearable": "",
|
|
61958
62033
|
"filterable": "",
|
|
61959
62034
|
"size": _vm.elSize,
|
|
61960
|
-
"options": item.options
|
|
62035
|
+
"options": item.options,
|
|
62036
|
+
"loadOptions": item.loadOptions,
|
|
62037
|
+
"autoLoad": item.autoLoad !== false
|
|
61961
62038
|
},
|
|
61962
62039
|
on: {
|
|
61963
62040
|
"input": function ($event) {
|
|
61964
62041
|
return _vm.handleValueChange($event, item);
|
|
62042
|
+
},
|
|
62043
|
+
"load-success": function ($event) {
|
|
62044
|
+
return _vm.handleSelectLoadSuccess($event, item);
|
|
62045
|
+
},
|
|
62046
|
+
"load-error": function ($event) {
|
|
62047
|
+
return _vm.handleSelectLoadError($event, item);
|
|
61965
62048
|
}
|
|
61966
62049
|
}
|
|
61967
62050
|
}, 'by-select', item.otherOptions, false)), _vm._t(item.field)] : item.type === 'datepicker' ? [_c('el-date-picker', _vm._b({
|
|
@@ -62130,7 +62213,7 @@ var formvue_type_template_id_396e0fe6_scoped_true_render = function render() {
|
|
|
62130
62213
|
staticClass: "footer"
|
|
62131
62214
|
}, [_vm._t("footer")], 2)], 1);
|
|
62132
62215
|
};
|
|
62133
|
-
var
|
|
62216
|
+
var formvue_type_template_id_f2397dbe_scoped_true_staticRenderFns = [];
|
|
62134
62217
|
|
|
62135
62218
|
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"72942c6c-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/form/comps/pair-number-input.vue?vue&type=template&id=3344cc16
|
|
62136
62219
|
var pair_number_inputvue_type_template_id_3344cc16_render = function render() {
|
|
@@ -62606,15 +62689,29 @@ var custom_date_picker_component = normalizeComponent(
|
|
|
62606
62689
|
this.$nextTick(() => {
|
|
62607
62690
|
this.$emit('reset');
|
|
62608
62691
|
});
|
|
62692
|
+
},
|
|
62693
|
+
handleSelectLoadSuccess(options, item) {
|
|
62694
|
+
// 选择器异步加载成功
|
|
62695
|
+
this.$emit('select-load-success', {
|
|
62696
|
+
options,
|
|
62697
|
+
item
|
|
62698
|
+
});
|
|
62699
|
+
},
|
|
62700
|
+
handleSelectLoadError(error, item) {
|
|
62701
|
+
// 选择器异步加载失败
|
|
62702
|
+
this.$emit('select-load-error', {
|
|
62703
|
+
error,
|
|
62704
|
+
item
|
|
62705
|
+
});
|
|
62609
62706
|
}
|
|
62610
62707
|
}
|
|
62611
62708
|
});
|
|
62612
62709
|
;// ./src/components/form/form.vue?vue&type=script&lang=js
|
|
62613
62710
|
/* harmony default export */ var form_formvue_type_script_lang_js = (formvue_type_script_lang_js);
|
|
62614
|
-
;// ./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=
|
|
62711
|
+
;// ./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=f2397dbe&prod&lang=scss&scoped=true
|
|
62615
62712
|
// extracted by mini-css-extract-plugin
|
|
62616
62713
|
|
|
62617
|
-
;// ./src/components/form/form.vue?vue&type=style&index=0&id=
|
|
62714
|
+
;// ./src/components/form/form.vue?vue&type=style&index=0&id=f2397dbe&prod&lang=scss&scoped=true
|
|
62618
62715
|
|
|
62619
62716
|
;// ./src/components/form/form.vue
|
|
62620
62717
|
|
|
@@ -62627,11 +62724,11 @@ var custom_date_picker_component = normalizeComponent(
|
|
|
62627
62724
|
|
|
62628
62725
|
var form_component = normalizeComponent(
|
|
62629
62726
|
form_formvue_type_script_lang_js,
|
|
62630
|
-
|
|
62631
|
-
|
|
62727
|
+
formvue_type_template_id_f2397dbe_scoped_true_render,
|
|
62728
|
+
formvue_type_template_id_f2397dbe_scoped_true_staticRenderFns,
|
|
62632
62729
|
false,
|
|
62633
62730
|
null,
|
|
62634
|
-
"
|
|
62731
|
+
"f2397dbe",
|
|
62635
62732
|
null
|
|
62636
62733
|
|
|
62637
62734
|
)
|
|
@@ -62883,15 +62980,16 @@ var fold_search_component = normalizeComponent(
|
|
|
62883
62980
|
)
|
|
62884
62981
|
|
|
62885
62982
|
/* harmony default export */ var fold_search = (fold_search_component.exports);
|
|
62886
|
-
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"72942c6c-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/form/comps/select.vue?vue&type=template&id=
|
|
62887
|
-
var
|
|
62983
|
+
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"72942c6c-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/form/comps/select.vue?vue&type=template&id=2ee8e5b9
|
|
62984
|
+
var selectvue_type_template_id_2ee8e5b9_render = function render() {
|
|
62888
62985
|
var _vm = this,
|
|
62889
62986
|
_c = _vm._self._c;
|
|
62890
62987
|
return _c('el-select', _vm._b({
|
|
62891
62988
|
ref: "selection",
|
|
62892
62989
|
attrs: {
|
|
62893
62990
|
"value": _vm.value,
|
|
62894
|
-
"placeholder": _vm.config && _vm.config.placeholder || '请选择'
|
|
62991
|
+
"placeholder": _vm.config && _vm.config.placeholder || '请选择',
|
|
62992
|
+
"loading": _vm.loading
|
|
62895
62993
|
},
|
|
62896
62994
|
on: {
|
|
62897
62995
|
"change": _vm.change,
|
|
@@ -62926,7 +63024,7 @@ var selectvue_type_template_id_7483aaeb_render = function render() {
|
|
|
62926
63024
|
});
|
|
62927
63025
|
})], 2);
|
|
62928
63026
|
};
|
|
62929
|
-
var
|
|
63027
|
+
var selectvue_type_template_id_2ee8e5b9_staticRenderFns = [];
|
|
62930
63028
|
|
|
62931
63029
|
// EXTERNAL MODULE: ./node_modules/element-ui/lib/element-ui.common.js
|
|
62932
63030
|
var element_ui_common = __webpack_require__(3421);
|
|
@@ -62953,6 +63051,16 @@ var element_ui_common = __webpack_require__(3421);
|
|
|
62953
63051
|
return [];
|
|
62954
63052
|
}
|
|
62955
63053
|
},
|
|
63054
|
+
// 异步加载选项函数
|
|
63055
|
+
loadOptions: {
|
|
63056
|
+
type: Function,
|
|
63057
|
+
default: null
|
|
63058
|
+
},
|
|
63059
|
+
// 是否自动加载(当组件挂载时)
|
|
63060
|
+
autoLoad: {
|
|
63061
|
+
type: Boolean,
|
|
63062
|
+
default: true
|
|
63063
|
+
},
|
|
62956
63064
|
//当前配置
|
|
62957
63065
|
config: {
|
|
62958
63066
|
type: Object,
|
|
@@ -62962,19 +63070,55 @@ var element_ui_common = __webpack_require__(3421);
|
|
|
62962
63070
|
data() {
|
|
62963
63071
|
return {
|
|
62964
63072
|
searchVal: '',
|
|
62965
|
-
filterData: []
|
|
63073
|
+
filterData: [],
|
|
63074
|
+
loading: false,
|
|
63075
|
+
asyncOptions: []
|
|
62966
63076
|
};
|
|
62967
63077
|
},
|
|
62968
63078
|
watch: {
|
|
62969
63079
|
options: {
|
|
62970
63080
|
handler() {
|
|
62971
|
-
|
|
63081
|
+
// 如果有 loadOptions,优先使用异步数据,否则使用 options
|
|
63082
|
+
this.filterData = this.loadOptions ? this.asyncOptions : this.options;
|
|
62972
63083
|
},
|
|
62973
63084
|
deep: true,
|
|
62974
63085
|
immediate: true
|
|
63086
|
+
},
|
|
63087
|
+
asyncOptions: {
|
|
63088
|
+
handler() {
|
|
63089
|
+
this.filterData = this.asyncOptions;
|
|
63090
|
+
},
|
|
63091
|
+
deep: true
|
|
63092
|
+
}
|
|
63093
|
+
},
|
|
63094
|
+
async mounted() {
|
|
63095
|
+
// 如果有 loadOptions 且需要自动加载,则在组件挂载时加载数据
|
|
63096
|
+
if (this.loadOptions && this.autoLoad) {
|
|
63097
|
+
await this.loadAsyncOptions();
|
|
62975
63098
|
}
|
|
62976
63099
|
},
|
|
62977
63100
|
methods: {
|
|
63101
|
+
// 异步加载选项数据
|
|
63102
|
+
async loadAsyncOptions() {
|
|
63103
|
+
if (!this.loadOptions) return;
|
|
63104
|
+
try {
|
|
63105
|
+
this.loading = true;
|
|
63106
|
+
const result = await this.loadOptions();
|
|
63107
|
+
|
|
63108
|
+
// 支持直接返回数组或返回包含 data 属性的对象
|
|
63109
|
+
this.asyncOptions = Array.isArray(result) ? result : result.data || [];
|
|
63110
|
+
this.$emit('load-success', this.asyncOptions);
|
|
63111
|
+
} catch (error) {
|
|
63112
|
+
console.error('加载选项数据失败:', error);
|
|
63113
|
+
this.$emit('load-error', error);
|
|
63114
|
+
} finally {
|
|
63115
|
+
this.loading = false;
|
|
63116
|
+
}
|
|
63117
|
+
},
|
|
63118
|
+
// 手动刷新数据
|
|
63119
|
+
async refresh() {
|
|
63120
|
+
await this.loadAsyncOptions();
|
|
63121
|
+
},
|
|
62978
63122
|
change(e) {
|
|
62979
63123
|
this.$emit('change', arguments.length === 1 ? e : arguments);
|
|
62980
63124
|
this.$emit('input', e);
|
|
@@ -62985,6 +63129,11 @@ var element_ui_common = __webpack_require__(3421);
|
|
|
62985
63129
|
},
|
|
62986
63130
|
visibleChange(e) {
|
|
62987
63131
|
this.$emit('visible-change', arguments.length === 1 ? e : arguments);
|
|
63132
|
+
|
|
63133
|
+
// 如果是展开且有 loadOptions,可以重新加载数据(可选功能)
|
|
63134
|
+
if (e && this.loadOptions && this.config.refreshOnOpen) {
|
|
63135
|
+
this.loadAsyncOptions();
|
|
63136
|
+
}
|
|
62988
63137
|
},
|
|
62989
63138
|
removeTag(e) {
|
|
62990
63139
|
this.$emit('remove-tag', arguments.length === 1 ? e : arguments);
|
|
@@ -63006,14 +63155,15 @@ var element_ui_common = __webpack_require__(3421);
|
|
|
63006
63155
|
searchNoReset() {
|
|
63007
63156
|
// 离开时重置数据
|
|
63008
63157
|
this.$refs.selection.$refs.input.blur = () => {
|
|
63009
|
-
this.filterData = this.options;
|
|
63158
|
+
this.filterData = this.loadOptions ? this.asyncOptions : this.options;
|
|
63010
63159
|
};
|
|
63011
63160
|
|
|
63012
63161
|
// 根据数据筛选数据
|
|
63013
63162
|
this.$refs.selection.$refs.input.onkeyup = () => {
|
|
63014
|
-
this.filterData = this.options;
|
|
63163
|
+
this.filterData = this.loadOptions ? this.asyncOptions : this.options;
|
|
63015
63164
|
this.searchVal = this.$refs.selection.$refs.input.value;
|
|
63016
|
-
|
|
63165
|
+
const sourceData = this.loadOptions ? this.asyncOptions : this.options;
|
|
63166
|
+
this.filterData = sourceData.filter(item => item[this.config.optionLabel].indexOf(this.searchVal) !== -1);
|
|
63017
63167
|
};
|
|
63018
63168
|
}
|
|
63019
63169
|
}
|
|
@@ -63030,8 +63180,8 @@ var element_ui_common = __webpack_require__(3421);
|
|
|
63030
63180
|
;
|
|
63031
63181
|
var select_component = normalizeComponent(
|
|
63032
63182
|
comps_selectvue_type_script_lang_js,
|
|
63033
|
-
|
|
63034
|
-
|
|
63183
|
+
selectvue_type_template_id_2ee8e5b9_render,
|
|
63184
|
+
selectvue_type_template_id_2ee8e5b9_staticRenderFns,
|
|
63035
63185
|
false,
|
|
63036
63186
|
null,
|
|
63037
63187
|
null,
|