@ibiz-template/runtime 0.7.17-alpha.0 → 0.7.18

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.
Files changed (38) hide show
  1. package/dist/index.esm.js +432 -215
  2. package/dist/index.system.min.js +1 -1
  3. package/out/controller/control/app-menu/app-menu.controller.d.ts +23 -0
  4. package/out/controller/control/app-menu/app-menu.controller.d.ts.map +1 -1
  5. package/out/controller/control/app-menu/app-menu.controller.js +38 -0
  6. package/out/controller/control/app-menu/custom-app-menu.controller.d.ts +1 -1
  7. package/out/controller/control/app-menu/custom-app-menu.controller.d.ts.map +1 -1
  8. package/out/controller/control/app-menu/custom-app-menu.controller.js +11 -4
  9. package/out/controller/control/chart/generator/base-series-generator.d.ts.map +1 -1
  10. package/out/controller/control/chart/generator/base-series-generator.js +2 -0
  11. package/out/controller/control/data-view/data-view.controller.d.ts.map +1 -1
  12. package/out/controller/control/data-view/data-view.controller.js +1 -1
  13. package/out/controller/control/gantt/gantt.controller.d.ts +12 -4
  14. package/out/controller/control/gantt/gantt.controller.d.ts.map +1 -1
  15. package/out/controller/control/gantt/gantt.controller.js +110 -28
  16. package/out/controller/control/kanban/kanban.controller.d.ts.map +1 -1
  17. package/out/controller/control/kanban/kanban.controller.js +1 -0
  18. package/out/controller/control/tree/tree.controller.d.ts.map +1 -1
  19. package/out/controller/control/tree/tree.controller.js +2 -1
  20. package/out/controller/control/tree-grid-ex/tree-grid-ex-row.state.d.ts.map +1 -1
  21. package/out/controller/control/tree-grid-ex/tree-grid-ex-row.state.js +21 -0
  22. package/out/interface/controller/event/control/i-gantt.event.d.ts +10 -9
  23. package/out/interface/controller/event/control/i-gantt.event.d.ts.map +1 -1
  24. package/out/interface/controller/state/control/i-kanban.state.d.ts +4 -0
  25. package/out/interface/controller/state/control/i-kanban.state.d.ts.map +1 -1
  26. package/out/service/dto/method.dto.d.ts.map +1 -1
  27. package/out/service/dto/method.dto.js +11 -4
  28. package/out/service/service/entity/method/fetch.d.ts.map +1 -1
  29. package/out/service/service/entity/method/fetch.js +4 -0
  30. package/out/service/service/entity/method/method-input.d.ts +1 -1
  31. package/out/service/service/entity/method/method-input.js +1 -1
  32. package/out/service/service/entity/method/method-renturn.d.ts +10 -0
  33. package/out/service/service/entity/method/method-renturn.d.ts.map +1 -1
  34. package/out/service/service/entity/method/method-renturn.js +15 -0
  35. package/out/utils/file-util/file-util.d.ts +20 -0
  36. package/out/utils/file-util/file-util.d.ts.map +1 -1
  37. package/out/utils/file-util/file-util.js +52 -1
  38. package/package.json +4 -3
@@ -27,6 +27,10 @@ export interface IKanbanState extends IDataViewControlState {
27
27
  * @type {boolean}
28
28
  */
29
29
  draggable: boolean;
30
+ /**
31
+ * 是否只读
32
+ */
33
+ readonly: boolean;
30
34
  /**
31
35
  * 是否正在更新
32
36
  * @author lxm
@@ -1 +1 @@
1
- {"version":3,"file":"i-kanban.state.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/state/control/i-kanban.state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,WAAW,YAAa,SAAQ,qBAAqB;IACzD;;;;;;OAMG;IACH,OAAO,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAA;KAAE,CAAC;IAEhD;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAE5B;;;;;OAKG;IACH,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB;IAC7D;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,kBAAkB,CAAC;IAE5C;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,kBAAkB,CAAC;CAC7C"}
1
+ {"version":3,"file":"i-kanban.state.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/state/control/i-kanban.state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,WAAW,YAAa,SAAQ,qBAAqB;IACzD;;;;;;OAMG;IACH,OAAO,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAA;KAAE,CAAC;IAEhD;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAE5B;;;;;OAKG;IACH,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB;IAC7D;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,kBAAkB,CAAC;IAE5C;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,kBAAkB,CAAC;CAC7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"method.dto.d.ts","sourceRoot":"","sources":["../../../src/service/dto/method.dto.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,eAAe,EACf,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAM1E;;;;;;;GAOG;AACH,qBAAa,SAAS;IAiBlB,SAAS,CAAC,OAAO,EAAE,aAAa;IAChC,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,WAAW,CAAC;IACtB,SAAS,CAAC,GAAG,CAAC;IAnBhB,SAAS,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC;IAE5B,SAAS,CAAC,MAAM,EAAG,oBAAoB,EAAE,CAAC;IAE1C,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAa;IAErD;;;;;;;;OAQG;gBAES,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,cAAc,EACtB,WAAW,CAAC,qBAAS,EACrB,GAAG,CAAC,6BAAiB;IAUjC;;;;;;;;OAQG;IACG,GAAG,CACP,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,MAAM,GAAE,OAAe,GACtB,OAAO,CAAC,KAAK,CAAC;IAgGjB;;;;;;;;OAQG;IACG,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAqEpE;;;;;;;;OAQG;IACG,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BjE;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK;IAiB7C;;;;;;;;;OASG;cACa,WAAW,CACzB,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,SAAS,CAAC;CAoBtB"}
1
+ {"version":3,"file":"method.dto.d.ts","sourceRoot":"","sources":["../../../src/service/dto/method.dto.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,eAAe,EACf,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAM1E;;;;;;;GAOG;AACH,qBAAa,SAAS;IAiBlB,SAAS,CAAC,OAAO,EAAE,aAAa;IAChC,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,WAAW,CAAC;IACtB,SAAS,CAAC,GAAG,CAAC;IAnBhB,SAAS,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC;IAE5B,SAAS,CAAC,MAAM,EAAG,oBAAoB,EAAE,CAAC;IAE1C,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAa;IAErD;;;;;;;;OAQG;gBAES,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,cAAc,EACtB,WAAW,CAAC,qBAAS,EACrB,GAAG,CAAC,6BAAiB;IAUjC;;;;;;;;OAQG;IACG,GAAG,CACP,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,MAAM,GAAE,OAAe,GACtB,OAAO,CAAC,KAAK,CAAC;IAiGjB;;;;;;;;OAQG;IACG,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAwEpE;;;;;;;;OAQG;IACG,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BjE;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK;IAkB7C;;;;;;;;;OASG;cACa,WAAW,CACzB,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,SAAS,CAAC;CAoBtB"}
@@ -46,6 +46,7 @@ export class MethodDto {
46
46
  async get(context, data, ignore = false) {
47
47
  // 简单模式下直接返回数据,不处理
48
48
  if (context.srfsimple === true && this.isLocalMode === false) {
49
+ data = this.format(context, data);
49
50
  return data;
50
51
  }
51
52
  const params = {};
@@ -137,6 +138,9 @@ export class MethodDto {
137
138
  // 简单模式下直接返回数据,不处理
138
139
  if (context.srfsimple === true && this.isLocalMode === false) {
139
140
  if (data && data.length > 0) {
141
+ for (let i = 0; i < data.length; i++) {
142
+ data[i] = this.format(context, data[i]);
143
+ }
140
144
  return data.map(item => {
141
145
  return this.service.createEntity(item);
142
146
  });
@@ -241,10 +245,13 @@ export class MethodDto {
241
245
  for (let i = 0; i < this.fields.length; i++) {
242
246
  const field = this.fields[i];
243
247
  const key = field.codeName.toLowerCase();
244
- if (field.type === 'DTOS' &&
245
- field.listMap &&
246
- typeof data[key] === 'object') {
247
- params[key] = convertListMapToArray(data[key]);
248
+ if (field.type === 'DTOS' && field.listMap) {
249
+ if (Object.prototype.toString.call(data[key]) === '[object Object]') {
250
+ params[key] = convertListMapToArray(data[key]);
251
+ }
252
+ if (Object.prototype.toString.call(data[key]) === '[object Array]') {
253
+ params[key] = convertArrayToListMap(data[key]);
254
+ }
248
255
  }
249
256
  }
250
257
  // 合并剩余参数
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,OAAO,EAAgB,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,MAAM;IAC7B,MAAM,EAAE,aAAa,CAAC;IAExB,IAAI,CACR,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,EACxB,OAAO,CAAC,EAAE,OAAO,EACjB,MAAM,CAAC,EAAE,KAAK,GACb,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IAqDvC;;;;;;;;;OASG;IACG,WAAW,CACf,IAAI,EAAE,gBAAgB,GAAG,IAAI,EAC7B,MAAM,EAAE,YAAY,EACpB,cAAc,GAAE,MAAM,EAA0C,GAC/D,OAAO,CAAC,WAAW,EAAE,CAAC;IAwCzB;;;;;;;OAOG;cACa,gBAAgB,CAC9B,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;CAqBlC"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,OAAO,EAAgB,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,MAAM;IAC7B,MAAM,EAAE,aAAa,CAAC;IAExB,IAAI,CACR,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,EACxB,OAAO,CAAC,EAAE,OAAO,EACjB,MAAM,CAAC,EAAE,KAAK,GACb,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IAyDvC;;;;;;;;;OASG;IACG,WAAW,CACf,IAAI,EAAE,gBAAgB,GAAG,IAAI,EAC7B,MAAM,EAAE,YAAY,EACpB,cAAc,GAAE,MAAM,EAA0C,GAC/D,OAAO,CAAC,WAAW,EAAE,CAAC;IAwCzB;;;;;;;OAOG;cACa,gBAAgB,CAC9B,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;CAqBlC"}
@@ -46,6 +46,10 @@ export class FetchMethod extends Method {
46
46
  }
47
47
  // 转换实体对象
48
48
  const items = res.data || [];
49
+ // 格式化返回数据
50
+ for (let i = 0; i < items.length; i++) {
51
+ items[i] = await this.result.format(context, items[i]);
52
+ }
49
53
  res.data = items.map(item => this.createEntity(item));
50
54
  }
51
55
  // 计算属性逻辑,每条数据走一遍
@@ -37,7 +37,7 @@ export declare class MethodInput {
37
37
  */
38
38
  handle(context: IContext, data: IData): Promise<IData>;
39
39
  /**
40
- * 格式化本地模式入参
40
+ * 格式化
41
41
  *
42
42
  * @author tony001
43
43
  * @date 2024-05-21 23:05:38
@@ -49,7 +49,7 @@ export class MethodInput {
49
49
  return data;
50
50
  }
51
51
  /**
52
- * 格式化本地模式入参
52
+ * 格式化
53
53
  *
54
54
  * @author tony001
55
55
  * @date 2024-05-21 23:05:38
@@ -36,5 +36,15 @@ export declare class MethodReturn {
36
36
  * @return {*} {Promise<IDataEntity>}
37
37
  */
38
38
  handle(context: IContext, data: IData): Promise<IDataEntity>;
39
+ /**
40
+ * 格式化
41
+ *
42
+ * @author tony001
43
+ * @date 2024-05-23 18:05:35
44
+ * @param {IContext} context
45
+ * @param {IData} data
46
+ * @return {*} {Promise<IData>}
47
+ */
48
+ format(context: IContext, data: IData): Promise<IData>;
39
49
  }
40
50
  //# sourceMappingURL=method-renturn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"method-renturn.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/method-renturn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGpD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEnE;;;;;;;GAOG;AACH,qBAAa,YAAY;IAcrB,SAAS,CAAC,OAAO,EAAE,aAAa;IAChC,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,MAAM,EAAE,YAAY;IAC9B,SAAS,CAAC,WAAW,EAAE,OAAO;IAhBhC,SAAS,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IAE1B;;;;;;;;;OASG;gBAES,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,YAAY,EACpB,WAAW,GAAE,OAAe;IAgBxC;;;;;;;;OAQG;IACG,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC;CA0BnE"}
1
+ {"version":3,"file":"method-renturn.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/method-renturn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGpD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEnE;;;;;;;GAOG;AACH,qBAAa,YAAY;IAcrB,SAAS,CAAC,OAAO,EAAE,aAAa;IAChC,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,MAAM,EAAE,YAAY;IAC9B,SAAS,CAAC,WAAW,EAAE,OAAO;IAhBhC,SAAS,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IAE1B;;;;;;;;;OASG;gBAES,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,YAAY,EACpB,WAAW,GAAE,OAAe;IAgBxC;;;;;;;;OAQG;IACG,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC;IA2BlE;;;;;;;;OAQG;IACG,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;CAM7D"}
@@ -67,4 +67,19 @@ export class MethodReturn {
67
67
  }
68
68
  return new AppDataEntity(this.entity, data);
69
69
  }
70
+ /**
71
+ * 格式化
72
+ *
73
+ * @author tony001
74
+ * @date 2024-05-23 18:05:35
75
+ * @param {IContext} context
76
+ * @param {IData} data
77
+ * @return {*} {Promise<IData>}
78
+ */
79
+ async format(context, data) {
80
+ if (this.dto) {
81
+ return this.dto.format(context, data);
82
+ }
83
+ return data;
84
+ }
70
85
  }
@@ -62,5 +62,25 @@ export declare class FileUtil {
62
62
  * @memberof FileUtil
63
63
  */
64
64
  getFileName(response: IHttpResponse<IData>): string;
65
+ /**
66
+ * 选择文件并上传
67
+ *
68
+ * @param {IContext} context
69
+ * @param {IParams} params
70
+ * @param {IData} data
71
+ * @param {IData} [option={}]
72
+ * @return {*} {Promise<IData[]>}
73
+ * @memberof FileUtil
74
+ */
75
+ chooseFileAndUpload(context: IContext, params: IParams, data: IData, option?: IData): Promise<IData[]>;
76
+ /**
77
+ * 选择文件
78
+ *
79
+ * @param {string} [accept='']
80
+ * @param {boolean} [multiple=false]
81
+ * @return {*} {Promise<FileList>}
82
+ * @memberof FileUtil
83
+ */
84
+ chooseFile(accept?: string, multiple?: boolean): Promise<FileList>;
65
85
  }
66
86
  //# sourceMappingURL=file-util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-util.d.ts","sourceRoot":"","sources":["../../../src/utils/file-util/file-util.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAGd,MAAM,qBAAqB,CAAC;AAI7B,qBAAa,QAAQ;IACnB;;;;;;;;;OASG;IACH,SAAS,CAAC,aAAa,CACrB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,QAAQ,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM;IAWT;;;;;;;;;;;;;;;;;OAiBG;IACH,iBAAiB,CACf,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,EACf,IAAI,GAAE,KAAU,EAChB,WAAW,GAAE,KAAU,GACtB;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACrB;IA0BD;;;;;;;OAOG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB7D;;;;;;;;;;OAUG;IACG,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,KAAK,GACb,OAAO,CAAC,KAAK,CAAC;IAiBjB;;;;;;OAMG;IACH,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,MAAM;CAkBpD"}
1
+ {"version":3,"file":"file-util.d.ts","sourceRoot":"","sources":["../../../src/utils/file-util/file-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAGd,MAAM,qBAAqB,CAAC;AAK7B,qBAAa,QAAQ;IACnB;;;;;;;;;OASG;IACH,SAAS,CAAC,aAAa,CACrB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,QAAQ,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM;IAWT;;;;;;;;;;;;;;;;;OAiBG;IACH,iBAAiB,CACf,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,EACf,IAAI,GAAE,KAAU,EAChB,WAAW,GAAE,KAAU,GACtB;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACrB;IA0BD;;;;;;;OAOG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB7D;;;;;;;;;;OAUG;IACG,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,KAAK,GACb,OAAO,CAAC,KAAK,CAAC;IAiBjB;;;;;;OAMG;IACH,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,MAAM;IAmBnD;;;;;;;;;OASG;IACG,mBAAmB,CACvB,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,KAAK,EACX,MAAM,GAAE,KAAU,GACjB,OAAO,CAAC,KAAK,EAAE,CAAC;IAiBnB;;;;;;;OAOG;IACH,UAAU,CACR,MAAM,GAAE,MAAW,EACnB,QAAQ,GAAE,OAAe,GACxB,OAAO,CAAC,QAAQ,CAAC;CAuBrB"}
@@ -1,5 +1,6 @@
1
- import { RuntimeError, downloadFileFromBlob, } from '@ibiz-template/core';
1
+ import { CoreConst, RuntimeError, downloadFileFromBlob, } from '@ibiz-template/core';
2
2
  import qs from 'qs';
3
+ import { getCookie } from 'qx-util';
3
4
  import { convertNavData } from '../nav-params/nav-params';
4
5
  export class FileUtil {
5
6
  /**
@@ -138,4 +139,54 @@ export class FileUtil {
138
139
  }
139
140
  return fileName;
140
141
  }
142
+ /**
143
+ * 选择文件并上传
144
+ *
145
+ * @param {IContext} context
146
+ * @param {IParams} params
147
+ * @param {IData} data
148
+ * @param {IData} [option={}]
149
+ * @return {*} {Promise<IData[]>}
150
+ * @memberof FileUtil
151
+ */
152
+ async chooseFileAndUpload(context, params, data, option = {}) {
153
+ const { accept, multiple } = option;
154
+ const urls = ibiz.util.file.calcFileUpDownUrl(context, params, data);
155
+ const files = await ibiz.util.file.chooseFile(accept, multiple);
156
+ const promises = [];
157
+ const headers = { Authorization: `Bearer ${getCookie(CoreConst.TOKEN)}` };
158
+ for (let i = 0; i < files.length; i++) {
159
+ const promise = await ibiz.util.file.fileUpload(urls.uploadUrl, files[i], headers);
160
+ promises.push(promise);
161
+ }
162
+ return Promise.all(promises);
163
+ }
164
+ /**
165
+ * 选择文件
166
+ *
167
+ * @param {string} [accept='']
168
+ * @param {boolean} [multiple=false]
169
+ * @return {*} {Promise<FileList>}
170
+ * @memberof FileUtil
171
+ */
172
+ chooseFile(accept = '', multiple = false) {
173
+ return new Promise(resolve => {
174
+ // 创建 input 元素
175
+ const inputElement = document.createElement('input');
176
+ inputElement.type = 'file';
177
+ inputElement.accept = accept;
178
+ inputElement.multiple = multiple;
179
+ inputElement.webkitdirectory = false;
180
+ // 添加事件监听器,处理文件上传逻辑
181
+ inputElement.addEventListener('change', (e) => {
182
+ resolve(e.target.files);
183
+ });
184
+ // 将 input 元素添加到页面中
185
+ document.body.appendChild(inputElement);
186
+ // 执行文件上传操作
187
+ inputElement.click();
188
+ // 方法结束后销毁 input 元素
189
+ document.body.removeChild(inputElement);
190
+ });
191
+ }
141
192
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/runtime",
3
- "version": "0.7.17-alpha.0",
3
+ "version": "0.7.18",
4
4
  "description": "控制器包",
5
5
  "type": "module",
6
6
  "main": "out/index.js",
@@ -35,7 +35,7 @@
35
35
  "animejs": "^3.2.2"
36
36
  },
37
37
  "devDependencies": {
38
- "@ibiz-template/core": "^0.7.17-alpha.0",
38
+ "@ibiz-template/core": "^0.7.18",
39
39
  "@ibiz/model-core": "^0.1.27",
40
40
  "@types/animejs": "^3.1.12",
41
41
  "@types/path-browserify": "^1.0.2",
@@ -65,5 +65,6 @@
65
65
  "qs": "^6.11.0",
66
66
  "qx-util": "^0.4.8",
67
67
  "ramda": "^0.29.0"
68
- }
68
+ },
69
+ "gitHead": "7a8d05d5668ec1305c292c6150d64c1739cd4e3e"
69
70
  }