ol-base-components 2.9.2 → 2.9.4
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/package.json
CHANGED
|
@@ -113,7 +113,11 @@
|
|
|
113
113
|
v-else-if="item.inputType === 'numberRange'"
|
|
114
114
|
v-model="formSearch[item.value]"
|
|
115
115
|
v-bind="item.props || {}"
|
|
116
|
-
v-on="{
|
|
116
|
+
v-on="{
|
|
117
|
+
...item.listeners,
|
|
118
|
+
change: val =>
|
|
119
|
+
item.listeners && item.listeners.change && item.listeners.change({ item, val }),
|
|
120
|
+
}"
|
|
117
121
|
></ol-number-range>
|
|
118
122
|
<el-input
|
|
119
123
|
v-else
|
|
@@ -184,7 +188,6 @@
|
|
|
184
188
|
import { getData } from "../../index.js";
|
|
185
189
|
import { getEnum } from "../../../utils/getEnum.js";
|
|
186
190
|
import OlNumberRange from "../../numberRange/index.js";
|
|
187
|
-
import { camelCaseToChinese } from "./index.js";
|
|
188
191
|
|
|
189
192
|
export default {
|
|
190
193
|
name: "search",
|
|
@@ -274,6 +277,11 @@ export default {
|
|
|
274
277
|
rulesLength: {
|
|
275
278
|
type: Boolean,
|
|
276
279
|
},
|
|
280
|
+
//获取swagger后的钩子,返回swagger结构数据。用于处理swagger数据
|
|
281
|
+
onSwagger: {
|
|
282
|
+
type: Function,
|
|
283
|
+
default: null,
|
|
284
|
+
},
|
|
277
285
|
},
|
|
278
286
|
data() {
|
|
279
287
|
return {
|
|
@@ -311,7 +319,13 @@ export default {
|
|
|
311
319
|
methods: {
|
|
312
320
|
async init() {
|
|
313
321
|
const swaggerData = await getData();
|
|
314
|
-
|
|
322
|
+
let swaggersearchColumns = swaggerData.paths[this.url].get.parameters || [];
|
|
323
|
+
if (typeof this.onSwagger === "function") {
|
|
324
|
+
try {
|
|
325
|
+
const res = await this.onSwagger({ columns: swaggersearchColumns });
|
|
326
|
+
if (res) swaggersearchColumns = res;
|
|
327
|
+
} catch (err) {}
|
|
328
|
+
}
|
|
315
329
|
swaggersearchColumns.forEach(item => {
|
|
316
330
|
let tempItem = this.formSearchData.tableSearch.find(
|
|
317
331
|
e => e.value.toLowerCase() === item.name.toLowerCase()
|
|
@@ -423,12 +423,12 @@ export default {
|
|
|
423
423
|
default: true,
|
|
424
424
|
},
|
|
425
425
|
//获取swagger后的钩子,返回swagger结构数据。用于处理swagger数据
|
|
426
|
-
|
|
426
|
+
onSwagger: {
|
|
427
427
|
type: Function,
|
|
428
428
|
default: null,
|
|
429
429
|
},
|
|
430
430
|
// swagger与本地columns合并完成后的钩子,允许父组件二次处理columns,一般用于不影响顺序的属性修改。区别于直接column中添加
|
|
431
|
-
|
|
431
|
+
onMerged: {
|
|
432
432
|
type: Function,
|
|
433
433
|
default: null,
|
|
434
434
|
},
|
|
@@ -484,42 +484,6 @@ export default {
|
|
|
484
484
|
this.stopColumnsWatching();
|
|
485
485
|
},
|
|
486
486
|
methods: {
|
|
487
|
-
// init() {
|
|
488
|
-
// // 从 IndexedDB 中获取 Swagger 数据
|
|
489
|
-
// getData().then((swaggerData) => {
|
|
490
|
-
// const swaggerColumns = swaggerData.paths[this.url].get.responses["200"].content['application/json'].schema.properties.items.items.properties;
|
|
491
|
-
|
|
492
|
-
// Object.keys(swaggerColumns).forEach(key => {
|
|
493
|
-
// const item = swaggerColumns[key];
|
|
494
|
-
// let tempItem = this.tableData.columns.find((e) => e.prop == key);
|
|
495
|
-
// if (tempItem) {
|
|
496
|
-
// tempItem = { ...item, ...tempItem };
|
|
497
|
-
// } else if (item.description) {
|
|
498
|
-
// this.tableData.columns.push({
|
|
499
|
-
// prop: key,
|
|
500
|
-
// label: item.description,
|
|
501
|
-
// show: true,
|
|
502
|
-
// sortable: false,
|
|
503
|
-
// attrs: {}
|
|
504
|
-
// });
|
|
505
|
-
// }
|
|
506
|
-
// });
|
|
507
|
-
// console.log(`\x1b[36m\x1b[4mol插件-表格`, this.tableData.columns)
|
|
508
|
-
// }).catch((error) => {
|
|
509
|
-
// console.error("获取 Swagger 数据失败:", error);
|
|
510
|
-
// });
|
|
511
|
-
// },
|
|
512
|
-
// 支持多级表头 useSlotHeader: true,且支持排序,通过columns中的顺序实现
|
|
513
|
-
// columns: [
|
|
514
|
-
// {
|
|
515
|
-
// label: '一级表头',
|
|
516
|
-
// children: [{ prop: 'bindStateEnum', label: '112' }, { prop: 'tagNumber' }]
|
|
517
|
-
// },
|
|
518
|
-
// {
|
|
519
|
-
// prop: "remark",
|
|
520
|
-
// label: "备注123",
|
|
521
|
-
// },
|
|
522
|
-
// ],
|
|
523
487
|
init() {
|
|
524
488
|
// 从 IndexedDB 中获取 Swagger 数据
|
|
525
489
|
getData()
|
|
@@ -527,10 +491,10 @@ export default {
|
|
|
527
491
|
let swaggerColumns =
|
|
528
492
|
swaggerData.paths[this.url].get.responses["200"].content["application/json"].schema
|
|
529
493
|
.properties.items.items.properties;
|
|
530
|
-
if (typeof this.
|
|
494
|
+
if (typeof this.onSwagger === "function") {
|
|
531
495
|
try {
|
|
532
|
-
const res = await this.
|
|
533
|
-
swaggerColumns = res;
|
|
496
|
+
const res = await this.onSwagger({ columns: swaggerColumns });
|
|
497
|
+
if (res) swaggerColumns = res;
|
|
534
498
|
} catch (err) {}
|
|
535
499
|
}
|
|
536
500
|
// 递归映射函数
|
|
@@ -566,6 +530,10 @@ export default {
|
|
|
566
530
|
obj.prop = `${key}Desc`;
|
|
567
531
|
obj.label = item.description.replace(/(枚举|枚举值)/g, "");
|
|
568
532
|
}
|
|
533
|
+
// 如果是boolean类型,加上Text后缀
|
|
534
|
+
if (item.type === "boolean") {
|
|
535
|
+
obj.prop = `${key}Text`;
|
|
536
|
+
}
|
|
569
537
|
this.tableData.columns.push(obj);
|
|
570
538
|
}
|
|
571
539
|
});
|
|
@@ -592,11 +560,14 @@ export default {
|
|
|
592
560
|
console.log(`\x1b[36m\x1b[4mol插件-表格`, this.tableData.columns);
|
|
593
561
|
|
|
594
562
|
// 合并完成后,暴露处理钩子
|
|
595
|
-
if (typeof this.
|
|
563
|
+
if (typeof this.onMerged === "function") {
|
|
596
564
|
try {
|
|
597
|
-
await this.
|
|
565
|
+
const res = await this.onMerged({
|
|
598
566
|
columns: this.tableData.columns,
|
|
599
567
|
});
|
|
568
|
+
if (Array.isArray(res)) {
|
|
569
|
+
this.tableData.columns = res;
|
|
570
|
+
}
|
|
600
571
|
} catch (e) {}
|
|
601
572
|
}
|
|
602
573
|
|