@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/README.md
CHANGED
|
@@ -55,6 +55,7 @@ npm publish --access public
|
|
|
55
55
|
> **💡 提示**
|
|
56
56
|
> 本地link调试时,需要把组件库的package.json中的main字段改为src/index.js("main": "src/index.js")
|
|
57
57
|
> 调试完成后,切记改回 "main": "lib/by-components.umd.js",
|
|
58
|
+
> 如果组件库更新,宿主项目没有同步更新, 尝试重新编译组件库npm run build, 且清除宿主项目缓存rm -rf node_modules/.cache
|
|
58
59
|
|
|
59
60
|
### 组件文档构建
|
|
60
61
|
|
|
@@ -60742,8 +60742,8 @@ var component = normalizeComponent(
|
|
|
60742
60742
|
)
|
|
60743
60743
|
|
|
60744
60744
|
/* harmony default export */ var pager = (component.exports);
|
|
60745
|
-
;// ./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-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=
|
|
60746
|
-
var
|
|
60745
|
+
;// ./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-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=70989b5a
|
|
60746
|
+
var tablevue_type_template_id_70989b5a_render = function render() {
|
|
60747
60747
|
var _vm = this,
|
|
60748
60748
|
_c = _vm._self._c;
|
|
60749
60749
|
return _c('div', [_c('vxe-grid', _vm._g(_vm._b({
|
|
@@ -60816,7 +60816,7 @@ var tablevue_type_template_id_4a0e3fc6_render = function render() {
|
|
|
60816
60816
|
}
|
|
60817
60817
|
}) : _vm._e()], 1);
|
|
60818
60818
|
};
|
|
60819
|
-
var
|
|
60819
|
+
var tablevue_type_template_id_70989b5a_staticRenderFns = [];
|
|
60820
60820
|
|
|
60821
60821
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
|
|
60822
60822
|
var es_array_push = __webpack_require__(4114);
|
|
@@ -60836,8 +60836,8 @@ var es_set_is_superset_of_v2 = __webpack_require__(2475);
|
|
|
60836
60836
|
var es_set_symmetric_difference_v2 = __webpack_require__(5024);
|
|
60837
60837
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.union.v2.js
|
|
60838
60838
|
var es_set_union_v2 = __webpack_require__(1698);
|
|
60839
|
-
;// ./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-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/custom-column/index.vue?vue&type=template&id=
|
|
60840
|
-
var
|
|
60839
|
+
;// ./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-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/custom-column/index.vue?vue&type=template&id=7378a3b0
|
|
60840
|
+
var custom_columnvue_type_template_id_7378a3b0_render = function render() {
|
|
60841
60841
|
var _vm = this,
|
|
60842
60842
|
_c = _vm._self._c;
|
|
60843
60843
|
return _c('div', {
|
|
@@ -61005,7 +61005,12 @@ var custom_columnvue_type_template_id_1e67094e_render = function render() {
|
|
|
61005
61005
|
},
|
|
61006
61006
|
expression: "draggableMenu"
|
|
61007
61007
|
}
|
|
61008
|
-
}, [_c('transition-group',
|
|
61008
|
+
}, [_c('transition-group', {
|
|
61009
|
+
attrs: {
|
|
61010
|
+
"name": "list",
|
|
61011
|
+
"tag": "div"
|
|
61012
|
+
}
|
|
61013
|
+
}, _vm._l(_vm.draggableMenu, function (col) {
|
|
61009
61014
|
return _c('div', {
|
|
61010
61015
|
directives: [{
|
|
61011
61016
|
name: "show",
|
|
@@ -61015,11 +61020,15 @@ var custom_columnvue_type_template_id_1e67094e_render = function render() {
|
|
|
61015
61020
|
}],
|
|
61016
61021
|
key: col.key,
|
|
61017
61022
|
class: col.key === 'sort-cut-off' ? 'fixedClass' : 'drag_li_box'
|
|
61018
|
-
}, [col.key !== 'sort-cut-off' ? _c('div',
|
|
61023
|
+
}, [col.key !== 'sort-cut-off' ? _c('div', {
|
|
61024
|
+
staticClass: "drag_li_text_box"
|
|
61025
|
+
}, [_c('i', {
|
|
61019
61026
|
staticClass: "el-icon-rank icon-box"
|
|
61020
61027
|
}), _c('span', {
|
|
61021
61028
|
staticClass: "drag_li_text"
|
|
61022
|
-
}, [_vm._v(_vm._s(col.label))])]) : _vm._e(), col.key !== 'sort-cut-off' ? _c('
|
|
61029
|
+
}, [_vm._v(_vm._s(col.label))])]) : _vm._e(), col.key !== 'sort-cut-off' && col.parent ? _c('span', {
|
|
61030
|
+
staticClass: "parent-label"
|
|
61031
|
+
}, [_vm._v(" " + _vm._s(col.parent && col.parent.label ? col.parent.label : '') + " ")]) : _vm._e(), col.key !== 'sort-cut-off' ? _c('i', {
|
|
61023
61032
|
staticClass: "el-icon-close remove",
|
|
61024
61033
|
on: {
|
|
61025
61034
|
"click": function ($event) {
|
|
@@ -61029,12 +61038,14 @@ var custom_columnvue_type_template_id_1e67094e_render = function render() {
|
|
|
61029
61038
|
}) : _vm._e()]);
|
|
61030
61039
|
}), 0)], 1)], 1)], 1)])])])], 1);
|
|
61031
61040
|
};
|
|
61032
|
-
var
|
|
61041
|
+
var custom_columnvue_type_template_id_7378a3b0_staticRenderFns = [];
|
|
61033
61042
|
|
|
61034
61043
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.filter.js
|
|
61035
61044
|
var es_iterator_filter = __webpack_require__(2489);
|
|
61036
61045
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.find.js
|
|
61037
61046
|
var es_iterator_find = __webpack_require__(116);
|
|
61047
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.flat-map.js
|
|
61048
|
+
var es_iterator_flat_map = __webpack_require__(531);
|
|
61038
61049
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.map.js
|
|
61039
61050
|
var es_iterator_map = __webpack_require__(1701);
|
|
61040
61051
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.some.js
|
|
@@ -61086,6 +61097,7 @@ const deepClone = target => {
|
|
|
61086
61097
|
|
|
61087
61098
|
|
|
61088
61099
|
|
|
61100
|
+
|
|
61089
61101
|
/* harmony default export */ var custom_columnvue_type_script_lang_js = ({
|
|
61090
61102
|
name: 'CustomColumn',
|
|
61091
61103
|
components: {
|
|
@@ -61119,7 +61131,9 @@ const deepClone = target => {
|
|
|
61119
61131
|
/** 表格列接口路径 */
|
|
61120
61132
|
page: '',
|
|
61121
61133
|
/** 搜索字段 */
|
|
61122
|
-
search: ''
|
|
61134
|
+
search: '',
|
|
61135
|
+
/** 原始列数据备份 */
|
|
61136
|
+
columnList: []
|
|
61123
61137
|
};
|
|
61124
61138
|
},
|
|
61125
61139
|
computed: {
|
|
@@ -61171,62 +61185,72 @@ const deepClone = target => {
|
|
|
61171
61185
|
* @param { object[] } bePreservedColumn 被保存过的列数据
|
|
61172
61186
|
*/
|
|
61173
61187
|
initTableList(initColumn, bePreservedColumn = []) {
|
|
61188
|
+
//设置拖拽列表数据
|
|
61174
61189
|
const setDraggableMenu = arr => {
|
|
61175
|
-
|
|
61176
|
-
arr.
|
|
61177
|
-
|
|
61178
|
-
|
|
61179
|
-
|
|
61180
|
-
|
|
61181
|
-
|
|
61182
|
-
|
|
61183
|
-
|
|
61184
|
-
|
|
61185
|
-
|
|
61186
|
-
|
|
61187
|
-
|
|
61188
|
-
|
|
61189
|
-
|
|
61190
|
-
|
|
61191
|
-
key: 'sort-cut-off',
|
|
61192
|
-
parent: ''
|
|
61193
|
-
});
|
|
61194
|
-
}
|
|
61195
|
-
return cols;
|
|
61190
|
+
// 扁平化所有列并按 fixed 属性分类排序
|
|
61191
|
+
const allColumns = arr.flatMap(item => item.data);
|
|
61192
|
+
const fixedCols = allColumns.filter(col => col.fixed === 'left').sort((a, b) => a.sort - b.sort);
|
|
61193
|
+
const normalCols = allColumns.filter(col => col.fixed !== 'left').sort((a, b) => a.sort - b.sort);
|
|
61194
|
+
|
|
61195
|
+
// 创建分割列
|
|
61196
|
+
const separator = {
|
|
61197
|
+
type: true,
|
|
61198
|
+
label: '',
|
|
61199
|
+
key: 'sort-cut-off',
|
|
61200
|
+
fixed: fixedCols.length > 0 ? 'left' : undefined,
|
|
61201
|
+
parent: ''
|
|
61202
|
+
};
|
|
61203
|
+
|
|
61204
|
+
// 根据是否有固定列决定分割列位置
|
|
61205
|
+
return fixedCols.length > 0 ? [...fixedCols, separator, ...normalCols] : [separator, ...normalCols];
|
|
61196
61206
|
};
|
|
61197
61207
|
if (bePreservedColumn && bePreservedColumn.length > 0) {
|
|
61198
61208
|
// 需要处理被保存过的进行回显
|
|
61199
61209
|
initColumn.forEach(cols => {
|
|
61200
61210
|
cols.data.forEach(col => {
|
|
61201
61211
|
const beSaveCol = bePreservedColumn.find(item => item.key === col.key) || {};
|
|
61202
|
-
col.type = ['true', true, '1', 1].includes(beSaveCol.type);
|
|
61212
|
+
col.type = ['true', true, '1', 1].includes(beSaveCol.type); //这里由于不同项目,接口有的返回"1",有的返回true
|
|
61203
61213
|
col.sort = beSaveCol.sort;
|
|
61204
|
-
|
|
61214
|
+
// 设置 fixed 和 parent 属性
|
|
61215
|
+
col.fixed = beSaveCol.fixed; //回显上次保存过的结果
|
|
61216
|
+
col.parent = {
|
|
61205
61217
|
label: cols.label
|
|
61206
61218
|
};
|
|
61207
61219
|
});
|
|
61208
61220
|
});
|
|
61209
|
-
|
|
61221
|
+
|
|
61222
|
+
// 保持原有的列结构,不重新分组
|
|
61210
61223
|
this.checkBoxMenu = this.deepClone(initColumn);
|
|
61211
61224
|
this.draggableMenu = setDraggableMenu(this.checkBoxMenu);
|
|
61212
61225
|
} else {
|
|
61226
|
+
console.log('==========从未被保存过', initColumn);
|
|
61227
|
+
|
|
61213
61228
|
// 从未被保存过
|
|
61214
61229
|
let num = 0;
|
|
61215
61230
|
initColumn.forEach(cols => {
|
|
61216
61231
|
cols.data.forEach(col => {
|
|
61217
61232
|
num++;
|
|
61218
61233
|
col.type = true;
|
|
61219
|
-
col.width = col.width ? +col.width : 0
|
|
61234
|
+
col.width = col.width ? +col.width : 0;
|
|
61235
|
+
col.sort = num;
|
|
61236
|
+
// 设置 fixed 和 parent 属性
|
|
61237
|
+
col.fixed = cols.fixed;
|
|
61220
61238
|
col.parent = {
|
|
61221
61239
|
label: cols.label
|
|
61222
61240
|
};
|
|
61223
61241
|
});
|
|
61224
61242
|
});
|
|
61243
|
+
|
|
61244
|
+
// 保持原有的列结构,不重新分组
|
|
61225
61245
|
this.checkBoxMenu = this.deepClone(initColumn);
|
|
61226
61246
|
this.draggableMenu = setDraggableMenu(this.checkBoxMenu);
|
|
61227
61247
|
}
|
|
61228
61248
|
this.$emit('changeTable', this.draggableMenu.filter(item => item.key !== 'sort-cut-off').sort((a, b) => a.sort - b.sort));
|
|
61229
|
-
|
|
61249
|
+
|
|
61250
|
+
// changeTableGroup 回调:对固定列进行重新分组
|
|
61251
|
+
const groupedColumns = this.createGroupedColumnsForTable(this.checkBoxMenu);
|
|
61252
|
+
this.$emit('changeTableGroup', groupedColumns);
|
|
61253
|
+
// this.$emit('changeTableGroup', this.checkBoxMenu)
|
|
61230
61254
|
},
|
|
61231
61255
|
// 全不选
|
|
61232
61256
|
selectNone() {
|
|
@@ -61279,9 +61303,11 @@ const deepClone = target => {
|
|
|
61279
61303
|
let isFixed = true;
|
|
61280
61304
|
this.draggableMenu.forEach((item, index) => {
|
|
61281
61305
|
if (item.key === 'sort-cut-off') {
|
|
61306
|
+
// 分割列本身保持固定属性
|
|
61307
|
+
item.fixed = 'left';
|
|
61308
|
+
item.sort = index + 1;
|
|
61282
61309
|
isFixed = false;
|
|
61283
|
-
}
|
|
61284
|
-
if (isFixed) {
|
|
61310
|
+
} else if (isFixed) {
|
|
61285
61311
|
item.sort = index + 1;
|
|
61286
61312
|
item.fixed = 'left';
|
|
61287
61313
|
} else {
|
|
@@ -61297,6 +61323,8 @@ const deepClone = target => {
|
|
|
61297
61323
|
id: this.id,
|
|
61298
61324
|
page: this.page
|
|
61299
61325
|
};
|
|
61326
|
+
|
|
61327
|
+
// 处理普通的列分组(按原有的 parent.label 分组)
|
|
61300
61328
|
this.draggableMenu.forEach(item => {
|
|
61301
61329
|
if (item.key !== 'sort-cut-off') {
|
|
61302
61330
|
const {
|
|
@@ -61320,14 +61348,60 @@ const deepClone = target => {
|
|
|
61320
61348
|
}
|
|
61321
61349
|
});
|
|
61322
61350
|
await this.submitMethod(params);
|
|
61351
|
+
|
|
61352
|
+
// changeTable 回调:返回正常排序的列数据
|
|
61323
61353
|
const cols = [];
|
|
61324
61354
|
params.column.forEach(item => {
|
|
61325
61355
|
cols.push(...item.data);
|
|
61326
61356
|
});
|
|
61327
61357
|
this.$emit('changeTable', cols.sort((a, b) => a.sort - b.sort));
|
|
61328
|
-
|
|
61358
|
+
|
|
61359
|
+
// changeTableGroup 回调:对固定列进行重新分组
|
|
61360
|
+
const groupedColumns = this.createGroupedColumnsForTable(params.column);
|
|
61361
|
+
this.$emit('changeTableGroup', groupedColumns);
|
|
61329
61362
|
this.closeDialog();
|
|
61330
61363
|
},
|
|
61364
|
+
/**
|
|
61365
|
+
* 为表格创建分组列结构(将固定列按一级表头分组)
|
|
61366
|
+
* @param columns 原始列分组数据
|
|
61367
|
+
*/
|
|
61368
|
+
createGroupedColumnsForTable(columns) {
|
|
61369
|
+
const fixedGroups = [];
|
|
61370
|
+
const normalGroups = [];
|
|
61371
|
+
console.log('==========columns', columns);
|
|
61372
|
+
columns.forEach(group => {
|
|
61373
|
+
const fixedItems = [];
|
|
61374
|
+
const normalItems = [];
|
|
61375
|
+
group.data.forEach(col => {
|
|
61376
|
+
if (col.fixed === 'left') {
|
|
61377
|
+
fixedItems.push(col);
|
|
61378
|
+
} else {
|
|
61379
|
+
normalItems.push(col);
|
|
61380
|
+
}
|
|
61381
|
+
});
|
|
61382
|
+
|
|
61383
|
+
// 如果有固定的列,加入固定分组
|
|
61384
|
+
if (fixedItems.length > 0) {
|
|
61385
|
+
fixedGroups.push({
|
|
61386
|
+
label: group.label,
|
|
61387
|
+
fixed: 'left',
|
|
61388
|
+
data: fixedItems
|
|
61389
|
+
});
|
|
61390
|
+
}
|
|
61391
|
+
|
|
61392
|
+
// 如果有普通列,加入普通分组
|
|
61393
|
+
if (normalItems.length > 0) {
|
|
61394
|
+
normalGroups.push({
|
|
61395
|
+
label: group.label,
|
|
61396
|
+
data: normalItems
|
|
61397
|
+
});
|
|
61398
|
+
}
|
|
61399
|
+
});
|
|
61400
|
+
console.log('==========result', [...fixedGroups, ...normalGroups]);
|
|
61401
|
+
|
|
61402
|
+
// 将固定分组添加到最前面
|
|
61403
|
+
return [...fixedGroups, ...normalGroups];
|
|
61404
|
+
},
|
|
61331
61405
|
// 关闭弹窗
|
|
61332
61406
|
closeDialog() {
|
|
61333
61407
|
// 重置数据
|
|
@@ -61349,8 +61423,8 @@ const deepClone = target => {
|
|
|
61349
61423
|
;
|
|
61350
61424
|
var custom_column_component = normalizeComponent(
|
|
61351
61425
|
components_custom_columnvue_type_script_lang_js,
|
|
61352
|
-
|
|
61353
|
-
|
|
61426
|
+
custom_columnvue_type_template_id_7378a3b0_render,
|
|
61427
|
+
custom_columnvue_type_template_id_7378a3b0_staticRenderFns,
|
|
61354
61428
|
false,
|
|
61355
61429
|
null,
|
|
61356
61430
|
null,
|
|
@@ -61722,7 +61796,6 @@ const recursiveSlot = (fields, slotSet) => {
|
|
|
61722
61796
|
removeCachedTableColumns(this.name);
|
|
61723
61797
|
this.setHasCache();
|
|
61724
61798
|
if (this.$refs.xGrid) {
|
|
61725
|
-
// console.log('>>>>>>>>>> 重置为 this.originColumns', this.originColumns)
|
|
61726
61799
|
// 直接重新设置列配置
|
|
61727
61800
|
this.$refs.xGrid.reloadColumn(this.originColumns);
|
|
61728
61801
|
}
|
|
@@ -61790,6 +61863,7 @@ const recursiveSlot = (fields, slotSet) => {
|
|
|
61790
61863
|
arr.push({
|
|
61791
61864
|
title: item.label,
|
|
61792
61865
|
align: 'center',
|
|
61866
|
+
fixed: item.fixed,
|
|
61793
61867
|
children: recursiveData(item.data)
|
|
61794
61868
|
});
|
|
61795
61869
|
if (index < cols.length - 1) {
|
|
@@ -61797,7 +61871,8 @@ const recursiveSlot = (fields, slotSet) => {
|
|
|
61797
61871
|
title: '',
|
|
61798
61872
|
width: 5,
|
|
61799
61873
|
headerClassName: 'group-split',
|
|
61800
|
-
className: 'group-split'
|
|
61874
|
+
className: 'group-split',
|
|
61875
|
+
fixed: cols[index].fixed && cols[index + 1].fixed //左侧固定列中的分隔列
|
|
61801
61876
|
});
|
|
61802
61877
|
}
|
|
61803
61878
|
}
|
|
@@ -61840,8 +61915,8 @@ const recursiveSlot = (fields, slotSet) => {
|
|
|
61840
61915
|
;
|
|
61841
61916
|
var table_component = normalizeComponent(
|
|
61842
61917
|
components_tablevue_type_script_lang_js,
|
|
61843
|
-
|
|
61844
|
-
|
|
61918
|
+
tablevue_type_template_id_70989b5a_render,
|
|
61919
|
+
tablevue_type_template_id_70989b5a_staticRenderFns,
|
|
61845
61920
|
false,
|
|
61846
61921
|
null,
|
|
61847
61922
|
null,
|
|
@@ -61850,8 +61925,8 @@ var table_component = normalizeComponent(
|
|
|
61850
61925
|
)
|
|
61851
61926
|
|
|
61852
61927
|
/* harmony default export */ var table = (table_component.exports);
|
|
61853
|
-
;// ./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-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=
|
|
61854
|
-
var
|
|
61928
|
+
;// ./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-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=f2397dbe&scoped=true
|
|
61929
|
+
var formvue_type_template_id_f2397dbe_scoped_true_render = function render() {
|
|
61855
61930
|
var _vm = this,
|
|
61856
61931
|
_c = _vm._self._c;
|
|
61857
61932
|
return _c('div', {
|
|
@@ -61947,11 +62022,19 @@ var formvue_type_template_id_396e0fe6_scoped_true_render = function render() {
|
|
|
61947
62022
|
"clearable": "",
|
|
61948
62023
|
"filterable": "",
|
|
61949
62024
|
"size": _vm.elSize,
|
|
61950
|
-
"options": item.options
|
|
62025
|
+
"options": item.options,
|
|
62026
|
+
"loadOptions": item.loadOptions,
|
|
62027
|
+
"autoLoad": item.autoLoad !== false
|
|
61951
62028
|
},
|
|
61952
62029
|
on: {
|
|
61953
62030
|
"input": function ($event) {
|
|
61954
62031
|
return _vm.handleValueChange($event, item);
|
|
62032
|
+
},
|
|
62033
|
+
"load-success": function ($event) {
|
|
62034
|
+
return _vm.handleSelectLoadSuccess($event, item);
|
|
62035
|
+
},
|
|
62036
|
+
"load-error": function ($event) {
|
|
62037
|
+
return _vm.handleSelectLoadError($event, item);
|
|
61955
62038
|
}
|
|
61956
62039
|
}
|
|
61957
62040
|
}, 'by-select', item.otherOptions, false)), _vm._t(item.field)] : item.type === 'datepicker' ? [_c('el-date-picker', _vm._b({
|
|
@@ -62120,7 +62203,7 @@ var formvue_type_template_id_396e0fe6_scoped_true_render = function render() {
|
|
|
62120
62203
|
staticClass: "footer"
|
|
62121
62204
|
}, [_vm._t("footer")], 2)], 1);
|
|
62122
62205
|
};
|
|
62123
|
-
var
|
|
62206
|
+
var formvue_type_template_id_f2397dbe_scoped_true_staticRenderFns = [];
|
|
62124
62207
|
|
|
62125
62208
|
;// ./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-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=3344cc16
|
|
62126
62209
|
var pair_number_inputvue_type_template_id_3344cc16_render = function render() {
|
|
@@ -62596,15 +62679,29 @@ var custom_date_picker_component = normalizeComponent(
|
|
|
62596
62679
|
this.$nextTick(() => {
|
|
62597
62680
|
this.$emit('reset');
|
|
62598
62681
|
});
|
|
62682
|
+
},
|
|
62683
|
+
handleSelectLoadSuccess(options, item) {
|
|
62684
|
+
// 选择器异步加载成功
|
|
62685
|
+
this.$emit('select-load-success', {
|
|
62686
|
+
options,
|
|
62687
|
+
item
|
|
62688
|
+
});
|
|
62689
|
+
},
|
|
62690
|
+
handleSelectLoadError(error, item) {
|
|
62691
|
+
// 选择器异步加载失败
|
|
62692
|
+
this.$emit('select-load-error', {
|
|
62693
|
+
error,
|
|
62694
|
+
item
|
|
62695
|
+
});
|
|
62599
62696
|
}
|
|
62600
62697
|
}
|
|
62601
62698
|
});
|
|
62602
62699
|
;// ./src/components/form/form.vue?vue&type=script&lang=js
|
|
62603
62700
|
/* harmony default export */ var form_formvue_type_script_lang_js = (formvue_type_script_lang_js);
|
|
62604
|
-
;// ./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=
|
|
62701
|
+
;// ./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=f2397dbe&prod&lang=scss&scoped=true
|
|
62605
62702
|
// extracted by mini-css-extract-plugin
|
|
62606
62703
|
|
|
62607
|
-
;// ./src/components/form/form.vue?vue&type=style&index=0&id=
|
|
62704
|
+
;// ./src/components/form/form.vue?vue&type=style&index=0&id=f2397dbe&prod&lang=scss&scoped=true
|
|
62608
62705
|
|
|
62609
62706
|
;// ./src/components/form/form.vue
|
|
62610
62707
|
|
|
@@ -62617,11 +62714,11 @@ var custom_date_picker_component = normalizeComponent(
|
|
|
62617
62714
|
|
|
62618
62715
|
var form_component = normalizeComponent(
|
|
62619
62716
|
form_formvue_type_script_lang_js,
|
|
62620
|
-
|
|
62621
|
-
|
|
62717
|
+
formvue_type_template_id_f2397dbe_scoped_true_render,
|
|
62718
|
+
formvue_type_template_id_f2397dbe_scoped_true_staticRenderFns,
|
|
62622
62719
|
false,
|
|
62623
62720
|
null,
|
|
62624
|
-
"
|
|
62721
|
+
"f2397dbe",
|
|
62625
62722
|
null
|
|
62626
62723
|
|
|
62627
62724
|
)
|
|
@@ -62873,15 +62970,16 @@ var fold_search_component = normalizeComponent(
|
|
|
62873
62970
|
)
|
|
62874
62971
|
|
|
62875
62972
|
/* harmony default export */ var fold_search = (fold_search_component.exports);
|
|
62876
|
-
;// ./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-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/select.vue?vue&type=template&id=
|
|
62877
|
-
var
|
|
62973
|
+
;// ./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-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/select.vue?vue&type=template&id=2ee8e5b9
|
|
62974
|
+
var selectvue_type_template_id_2ee8e5b9_render = function render() {
|
|
62878
62975
|
var _vm = this,
|
|
62879
62976
|
_c = _vm._self._c;
|
|
62880
62977
|
return _c('el-select', _vm._b({
|
|
62881
62978
|
ref: "selection",
|
|
62882
62979
|
attrs: {
|
|
62883
62980
|
"value": _vm.value,
|
|
62884
|
-
"placeholder": _vm.config && _vm.config.placeholder || '请选择'
|
|
62981
|
+
"placeholder": _vm.config && _vm.config.placeholder || '请选择',
|
|
62982
|
+
"loading": _vm.loading
|
|
62885
62983
|
},
|
|
62886
62984
|
on: {
|
|
62887
62985
|
"change": _vm.change,
|
|
@@ -62916,7 +63014,7 @@ var selectvue_type_template_id_7483aaeb_render = function render() {
|
|
|
62916
63014
|
});
|
|
62917
63015
|
})], 2);
|
|
62918
63016
|
};
|
|
62919
|
-
var
|
|
63017
|
+
var selectvue_type_template_id_2ee8e5b9_staticRenderFns = [];
|
|
62920
63018
|
|
|
62921
63019
|
// EXTERNAL MODULE: ./node_modules/element-ui/lib/element-ui.common.js
|
|
62922
63020
|
var element_ui_common = __webpack_require__(4927);
|
|
@@ -62943,6 +63041,16 @@ var element_ui_common = __webpack_require__(4927);
|
|
|
62943
63041
|
return [];
|
|
62944
63042
|
}
|
|
62945
63043
|
},
|
|
63044
|
+
// 异步加载选项函数
|
|
63045
|
+
loadOptions: {
|
|
63046
|
+
type: Function,
|
|
63047
|
+
default: null
|
|
63048
|
+
},
|
|
63049
|
+
// 是否自动加载(当组件挂载时)
|
|
63050
|
+
autoLoad: {
|
|
63051
|
+
type: Boolean,
|
|
63052
|
+
default: true
|
|
63053
|
+
},
|
|
62946
63054
|
//当前配置
|
|
62947
63055
|
config: {
|
|
62948
63056
|
type: Object,
|
|
@@ -62952,19 +63060,55 @@ var element_ui_common = __webpack_require__(4927);
|
|
|
62952
63060
|
data() {
|
|
62953
63061
|
return {
|
|
62954
63062
|
searchVal: '',
|
|
62955
|
-
filterData: []
|
|
63063
|
+
filterData: [],
|
|
63064
|
+
loading: false,
|
|
63065
|
+
asyncOptions: []
|
|
62956
63066
|
};
|
|
62957
63067
|
},
|
|
62958
63068
|
watch: {
|
|
62959
63069
|
options: {
|
|
62960
63070
|
handler() {
|
|
62961
|
-
|
|
63071
|
+
// 如果有 loadOptions,优先使用异步数据,否则使用 options
|
|
63072
|
+
this.filterData = this.loadOptions ? this.asyncOptions : this.options;
|
|
62962
63073
|
},
|
|
62963
63074
|
deep: true,
|
|
62964
63075
|
immediate: true
|
|
63076
|
+
},
|
|
63077
|
+
asyncOptions: {
|
|
63078
|
+
handler() {
|
|
63079
|
+
this.filterData = this.asyncOptions;
|
|
63080
|
+
},
|
|
63081
|
+
deep: true
|
|
63082
|
+
}
|
|
63083
|
+
},
|
|
63084
|
+
async mounted() {
|
|
63085
|
+
// 如果有 loadOptions 且需要自动加载,则在组件挂载时加载数据
|
|
63086
|
+
if (this.loadOptions && this.autoLoad) {
|
|
63087
|
+
await this.loadAsyncOptions();
|
|
62965
63088
|
}
|
|
62966
63089
|
},
|
|
62967
63090
|
methods: {
|
|
63091
|
+
// 异步加载选项数据
|
|
63092
|
+
async loadAsyncOptions() {
|
|
63093
|
+
if (!this.loadOptions) return;
|
|
63094
|
+
try {
|
|
63095
|
+
this.loading = true;
|
|
63096
|
+
const result = await this.loadOptions();
|
|
63097
|
+
|
|
63098
|
+
// 支持直接返回数组或返回包含 data 属性的对象
|
|
63099
|
+
this.asyncOptions = Array.isArray(result) ? result : result.data || [];
|
|
63100
|
+
this.$emit('load-success', this.asyncOptions);
|
|
63101
|
+
} catch (error) {
|
|
63102
|
+
console.error('加载选项数据失败:', error);
|
|
63103
|
+
this.$emit('load-error', error);
|
|
63104
|
+
} finally {
|
|
63105
|
+
this.loading = false;
|
|
63106
|
+
}
|
|
63107
|
+
},
|
|
63108
|
+
// 手动刷新数据
|
|
63109
|
+
async refresh() {
|
|
63110
|
+
await this.loadAsyncOptions();
|
|
63111
|
+
},
|
|
62968
63112
|
change(e) {
|
|
62969
63113
|
this.$emit('change', arguments.length === 1 ? e : arguments);
|
|
62970
63114
|
this.$emit('input', e);
|
|
@@ -62975,6 +63119,11 @@ var element_ui_common = __webpack_require__(4927);
|
|
|
62975
63119
|
},
|
|
62976
63120
|
visibleChange(e) {
|
|
62977
63121
|
this.$emit('visible-change', arguments.length === 1 ? e : arguments);
|
|
63122
|
+
|
|
63123
|
+
// 如果是展开且有 loadOptions,可以重新加载数据(可选功能)
|
|
63124
|
+
if (e && this.loadOptions && this.config.refreshOnOpen) {
|
|
63125
|
+
this.loadAsyncOptions();
|
|
63126
|
+
}
|
|
62978
63127
|
},
|
|
62979
63128
|
removeTag(e) {
|
|
62980
63129
|
this.$emit('remove-tag', arguments.length === 1 ? e : arguments);
|
|
@@ -62996,14 +63145,15 @@ var element_ui_common = __webpack_require__(4927);
|
|
|
62996
63145
|
searchNoReset() {
|
|
62997
63146
|
// 离开时重置数据
|
|
62998
63147
|
this.$refs.selection.$refs.input.blur = () => {
|
|
62999
|
-
this.filterData = this.options;
|
|
63148
|
+
this.filterData = this.loadOptions ? this.asyncOptions : this.options;
|
|
63000
63149
|
};
|
|
63001
63150
|
|
|
63002
63151
|
// 根据数据筛选数据
|
|
63003
63152
|
this.$refs.selection.$refs.input.onkeyup = () => {
|
|
63004
|
-
this.filterData = this.options;
|
|
63153
|
+
this.filterData = this.loadOptions ? this.asyncOptions : this.options;
|
|
63005
63154
|
this.searchVal = this.$refs.selection.$refs.input.value;
|
|
63006
|
-
|
|
63155
|
+
const sourceData = this.loadOptions ? this.asyncOptions : this.options;
|
|
63156
|
+
this.filterData = sourceData.filter(item => item[this.config.optionLabel].indexOf(this.searchVal) !== -1);
|
|
63007
63157
|
};
|
|
63008
63158
|
}
|
|
63009
63159
|
}
|
|
@@ -63020,8 +63170,8 @@ var element_ui_common = __webpack_require__(4927);
|
|
|
63020
63170
|
;
|
|
63021
63171
|
var select_component = normalizeComponent(
|
|
63022
63172
|
comps_selectvue_type_script_lang_js,
|
|
63023
|
-
|
|
63024
|
-
|
|
63173
|
+
selectvue_type_template_id_2ee8e5b9_render,
|
|
63174
|
+
selectvue_type_template_id_2ee8e5b9_staticRenderFns,
|
|
63025
63175
|
false,
|
|
63026
63176
|
null,
|
|
63027
63177
|
null,
|
package/lib/by-components.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.b-form .header[data-v-
|
|
1
|
+
.b-form .header[data-v-f2397dbe]{margin-bottom:20px}.b-form .footer[data-v-f2397dbe]{margin-top:20px}
|