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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ol-base-components",
3
- "version": "2.9.2",
3
+ "version": "2.9.4",
4
4
  "private": false,
5
5
  "main": "src/package/index.js",
6
6
  "bin": {
@@ -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="{ ...item.listeners, change: val => item.listeners && item.listeners.change && item.listeners.change({ item, val }) }"
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
- const swaggersearchColumns = swaggerData.paths[this.url].get.parameters || [];
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
- swaggerColumnsProcessor: {
426
+ onSwagger: {
427
427
  type: Function,
428
428
  default: null,
429
429
  },
430
430
  // swagger与本地columns合并完成后的钩子,允许父组件二次处理columns,一般用于不影响顺序的属性修改。区别于直接column中添加
431
- mergedColumnsProcessor: {
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.swaggerColumnsProcessor === "function") {
494
+ if (typeof this.onSwagger === "function") {
531
495
  try {
532
- const res = await this.swaggerColumnsProcessor({ swaggerColumns });
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.mergedColumnsProcessor === "function") {
563
+ if (typeof this.onMerged === "function") {
596
564
  try {
597
- await this.mergedColumnsProcessor({
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