aldehyde 0.1.17 → 0.1.20

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 (155) hide show
  1. package/lib/controls/action/index.d.ts +4 -0
  2. package/lib/controls/action/index.d.ts.map +1 -1
  3. package/lib/controls/action/index.js +28 -5
  4. package/lib/controls/action/index.js.map +1 -1
  5. package/lib/controls/action/utils.js +1 -1
  6. package/lib/controls/action/utils.js.map +1 -1
  7. package/lib/controls/auto-complete/index.d.ts.map +1 -1
  8. package/lib/controls/auto-complete/index.js.map +1 -1
  9. package/lib/controls/cascader/index.d.ts +16 -7
  10. package/lib/controls/cascader/index.d.ts.map +1 -1
  11. package/lib/controls/cascader/index.js +86 -67
  12. package/lib/controls/cascader/index.js.map +1 -1
  13. package/lib/controls/cquery/cquick-button.d.ts +5 -1
  14. package/lib/controls/cquery/cquick-button.d.ts.map +1 -1
  15. package/lib/controls/cquery/cquick-button.js +13 -9
  16. package/lib/controls/cquery/cquick-button.js.map +1 -1
  17. package/lib/controls/date-picker/index.d.ts.map +1 -1
  18. package/lib/controls/date-picker/index.js +11 -19
  19. package/lib/controls/date-picker/index.js.map +1 -1
  20. package/lib/controls/entity-select/entity-select.d.ts.map +1 -1
  21. package/lib/controls/entity-select/entity-select.js +6 -4
  22. package/lib/controls/entity-select/entity-select.js.map +1 -1
  23. package/lib/controls/entity-select/lab-tree-select.d.ts +25 -0
  24. package/lib/controls/entity-select/lab-tree-select.d.ts.map +1 -0
  25. package/lib/controls/entity-select/lab-tree-select.js +121 -0
  26. package/lib/controls/entity-select/lab-tree-select.js.map +1 -0
  27. package/lib/controls/entity-select/popover-entity-select.d.ts.map +1 -1
  28. package/lib/controls/entity-select/popover-entity-select.js +13 -1
  29. package/lib/controls/entity-select/popover-entity-select.js.map +1 -1
  30. package/lib/controls/entry-control.d.ts.map +1 -1
  31. package/lib/controls/entry-control.js +21 -4
  32. package/lib/controls/entry-control.js.map +1 -1
  33. package/lib/controls/enum-tag/index.d.ts.map +1 -1
  34. package/lib/controls/enum-tag/index.js +7 -1
  35. package/lib/controls/enum-tag/index.js.map +1 -1
  36. package/lib/controls/input-number/index.js +7 -7
  37. package/lib/controls/input-number/index.js.map +1 -1
  38. package/lib/controls/view-control.d.ts.map +1 -1
  39. package/lib/controls/view-control.js +7 -2
  40. package/lib/controls/view-control.js.map +1 -1
  41. package/lib/detail/button/submit-button-bar.d.ts.map +1 -1
  42. package/lib/detail/button/submit-button-bar.js +8 -2
  43. package/lib/detail/button/submit-button-bar.js.map +1 -1
  44. package/lib/detail/edit/{modal-dtmpl-edit.d.ts → dtmpl-edit-page.d.ts} +8 -4
  45. package/lib/detail/edit/dtmpl-edit-page.d.ts.map +1 -0
  46. package/lib/detail/edit/{modal-dtmpl-edit.js → dtmpl-edit-page.js} +19 -10
  47. package/lib/detail/edit/dtmpl-edit-page.js.map +1 -0
  48. package/lib/detail/edit/dtmpl-edit.d.ts +2 -2
  49. package/lib/detail/edit/dtmpl-edit.d.ts.map +1 -1
  50. package/lib/form/criteria-form.js.map +1 -1
  51. package/lib/form/dtmpl-form.d.ts +4 -0
  52. package/lib/form/dtmpl-form.d.ts.map +1 -1
  53. package/lib/form/dtmpl-form.js +7 -4
  54. package/lib/form/dtmpl-form.js.map +1 -1
  55. package/lib/form/form-Item-group.d.ts +2 -0
  56. package/lib/form/form-Item-group.d.ts.map +1 -1
  57. package/lib/form/form-Item-group.js +5 -1
  58. package/lib/form/form-Item-group.js.map +1 -1
  59. package/lib/icon/index.d.ts +11 -0
  60. package/lib/icon/index.d.ts.map +1 -0
  61. package/lib/icon/index.js +22 -0
  62. package/lib/icon/index.js.map +1 -0
  63. package/lib/index.d.ts +4 -3
  64. package/lib/index.d.ts.map +1 -1
  65. package/lib/index.js +4 -3
  66. package/lib/index.js.map +1 -1
  67. package/lib/layout/header/index.css +2 -1
  68. package/lib/layout/menu/userinfo-bar.js +2 -2
  69. package/lib/layout/menu/userinfo-bar.js.map +1 -1
  70. package/lib/module/{dtmpl-page.d.ts → dtmpl-view-page.d.ts} +5 -5
  71. package/lib/module/dtmpl-view-page.d.ts.map +1 -0
  72. package/lib/module/{dtmpl-page.js → dtmpl-view-page.js} +5 -5
  73. package/lib/module/dtmpl-view-page.js.map +1 -0
  74. package/lib/module/ltmpl-page.d.ts.map +1 -1
  75. package/lib/module/ltmpl-page.js +2 -2
  76. package/lib/module/ltmpl-page.js.map +1 -1
  77. package/lib/routable/ltmpl-route.d.ts +1 -0
  78. package/lib/routable/ltmpl-route.d.ts.map +1 -1
  79. package/lib/routable/ltmpl-route.js +6 -1
  80. package/lib/routable/ltmpl-route.js.map +1 -1
  81. package/lib/table/act-table.d.ts +1 -0
  82. package/lib/table/act-table.d.ts.map +1 -1
  83. package/lib/table/act-table.js +5 -5
  84. package/lib/table/act-table.js.map +1 -1
  85. package/lib/table/column/column-selector.d.ts +0 -1
  86. package/lib/table/column/column-selector.d.ts.map +1 -1
  87. package/lib/table/column/column-selector.js +0 -1
  88. package/lib/table/column/column-selector.js.map +1 -1
  89. package/lib/table/index.css +1 -1
  90. package/lib/table/relation-table.d.ts +3 -1
  91. package/lib/table/relation-table.d.ts.map +1 -1
  92. package/lib/table/relation-table.js +11 -5
  93. package/lib/table/relation-table.js.map +1 -1
  94. package/lib/tmpl/control-type-supportor.d.ts.map +1 -1
  95. package/lib/tmpl/control-type-supportor.js +8 -1
  96. package/lib/tmpl/control-type-supportor.js.map +1 -1
  97. package/lib/tmpl/hc-data-source.d.ts +1 -0
  98. package/lib/tmpl/hc-data-source.d.ts.map +1 -1
  99. package/lib/tmpl/hc-data-source.js +54 -3
  100. package/lib/tmpl/hc-data-source.js.map +1 -1
  101. package/lib/tmpl/hcservice-v3.d.ts +3 -1
  102. package/lib/tmpl/hcservice-v3.d.ts.map +1 -1
  103. package/lib/tmpl/hcservice-v3.js +28 -0
  104. package/lib/tmpl/hcservice-v3.js.map +1 -1
  105. package/lib/tmpl/interface.d.ts +9 -3
  106. package/lib/tmpl/interface.d.ts.map +1 -1
  107. package/lib/tmpl/interface.js.map +1 -1
  108. package/lib/tmpl/tmpl-config-analysis.js +2 -2
  109. package/lib/tmpl/tmpl-config-analysis.js.map +1 -1
  110. package/lib/units/index.d.ts +5 -1
  111. package/lib/units/index.d.ts.map +1 -1
  112. package/lib/units/index.js +18 -0
  113. package/lib/units/index.js.map +1 -1
  114. package/package.json +1 -1
  115. package/src/aldehyde/controls/action/index.tsx +24 -6
  116. package/src/aldehyde/controls/action/utils.tsx +1 -1
  117. package/src/aldehyde/controls/auto-complete/index.tsx +0 -1
  118. package/src/aldehyde/controls/cascader/index.tsx +114 -0
  119. package/src/aldehyde/controls/cquery/cquick-button.tsx +13 -12
  120. package/src/aldehyde/controls/date-picker/index.tsx +15 -18
  121. package/src/aldehyde/controls/entity-select/entity-select.tsx +6 -4
  122. package/src/aldehyde/controls/entity-select/lab-tree-select.tsx +148 -0
  123. package/src/aldehyde/controls/entity-select/popover-entity-select.tsx +13 -1
  124. package/src/aldehyde/controls/entry-control.tsx +22 -5
  125. package/src/aldehyde/controls/enum-tag/index.tsx +8 -2
  126. package/src/aldehyde/controls/input-number/index.tsx +7 -7
  127. package/src/aldehyde/controls/view-control.tsx +6 -2
  128. package/src/aldehyde/detail/button/submit-button-bar.tsx +6 -3
  129. package/src/aldehyde/detail/edit/{modal-dtmpl-edit.tsx → dtmpl-edit-page.tsx} +36 -13
  130. package/src/aldehyde/detail/edit/dtmpl-edit.tsx +2 -2
  131. package/src/aldehyde/form/criteria-form.tsx +1 -1
  132. package/src/aldehyde/form/dtmpl-form.tsx +8 -4
  133. package/src/aldehyde/form/form-Item-group.tsx +6 -1
  134. package/src/aldehyde/icon/index.tsx +30 -0
  135. package/src/aldehyde/index.tsx +5 -4
  136. package/src/aldehyde/layout/header/index.css +2 -1
  137. package/src/aldehyde/layout/menu/userinfo-bar.tsx +2 -2
  138. package/src/aldehyde/module/{dtmpl-page.tsx → dtmpl-view-page.tsx} +9 -16
  139. package/src/aldehyde/module/ltmpl-page.tsx +7 -5
  140. package/src/aldehyde/routable/ltmpl-route.tsx +9 -1
  141. package/src/aldehyde/table/act-table.tsx +8 -5
  142. package/src/aldehyde/table/column/column-selector.tsx +0 -1
  143. package/src/aldehyde/table/index.css +1 -1
  144. package/src/aldehyde/table/relation-table.tsx +17 -8
  145. package/src/aldehyde/tmpl/control-type-supportor.tsx +7 -1
  146. package/src/aldehyde/tmpl/hc-data-source.tsx +59 -6
  147. package/src/aldehyde/tmpl/hcservice-v3.tsx +30 -1
  148. package/src/aldehyde/tmpl/interface.tsx +10 -4
  149. package/src/aldehyde/tmpl/tmpl-config-analysis.tsx +2 -2
  150. package/src/aldehyde/units/index.tsx +20 -1
  151. package/lib/detail/edit/modal-dtmpl-edit.d.ts.map +0 -1
  152. package/lib/detail/edit/modal-dtmpl-edit.js.map +0 -1
  153. package/lib/module/dtmpl-page.d.ts.map +0 -1
  154. package/lib/module/dtmpl-page.js.map +0 -1
  155. package/src/aldehyde/controls/cascader/index.js +0 -97
@@ -14,7 +14,7 @@ import SupportInputTypes from '../tmpl/control-type-supportor';
14
14
  import TableUnits from "./table-util";
15
15
  import ViewControl from "../controls/view-control";
16
16
  import ModalDtmplView from '../detail/view/modal-dtmpl-view';
17
- import ModalDtmplEdit from '../detail/edit/modal-dtmpl-edit'
17
+ import DtmplEditPage from '../detail/edit/dtmpl-edit-page'
18
18
  import ModelSelectTable from './modal-select-table';
19
19
  import HcserviceV3 from "../tmpl/hcservice-v3";
20
20
  import CollapseCard from '../controls/collapse-card'
@@ -41,6 +41,7 @@ interface RelationTableStat {
41
41
  showRowEdit: boolean,
42
42
  selectedDtmplData: DtmplData,
43
43
  filterStr: string,
44
+ pageSize:number,
44
45
  };
45
46
 
46
47
 
@@ -55,6 +56,7 @@ class RelationTable extends React.PureComponent<RelationTableProps, RelationTabl
55
56
  showRowEdit: false,
56
57
  selectedDtmplData: undefined,
57
58
  filterStr: undefined,
59
+ pageSize:10,
58
60
  // columns:[],
59
61
  // dataSource:[],
60
62
  // current:1,
@@ -306,7 +308,11 @@ class RelationTable extends React.PureComponent<RelationTableProps, RelationTabl
306
308
  })
307
309
  }
308
310
 
309
- tabChange = () => {
311
+ tabChange = (pagination) => {
312
+ console.log('pagination',pagination);
313
+ this.setState({
314
+ pageSize:pagination.pageSize,
315
+ })
310
316
 
311
317
  }
312
318
 
@@ -446,6 +452,9 @@ class RelationTable extends React.PureComponent<RelationTableProps, RelationTabl
446
452
  datas.unshift(dtmplData);
447
453
  }
448
454
  onChange(fieldGroupConfig, datas);
455
+
456
+ console.log("handleRowEdit data:",datas);
457
+
449
458
  if (isAdd) {
450
459
  message.success('已添加');
451
460
  } else {
@@ -525,11 +534,11 @@ class RelationTable extends React.PureComponent<RelationTableProps, RelationTabl
525
534
  render() {
526
535
 
527
536
  const {fieldGroupConfig, value, parentId, loading, initCollapse} = this.props;
528
- const {selectedCode, showDtmplView, showSelectTable, showDtmplEdit, tableLoading, showRowEdit, selectedDtmplData} = this.state;
537
+ const {pageSize,selectedCode, showDtmplView, showSelectTable, showDtmplEdit, tableLoading, showRowEdit, selectedDtmplData} = this.state;
529
538
 
530
539
  const {buttons} = fieldGroupConfig;
531
540
  let page = {
532
- pageSize: 10,
541
+ pageSize: pageSize,
533
542
  hideOnSinglePage: true,
534
543
  defaultCurrent: 1,
535
544
  total: value ? value.length : undefined,
@@ -575,10 +584,10 @@ class RelationTable extends React.PureComponent<RelationTableProps, RelationTabl
575
584
  sourceId={fieldGroupConfig.id}
576
585
  code={selectedCode}> </ModalDtmplView> : ""}
577
586
  {buttons.includes('dtmplEdit') || buttons.includes('dtmplAdd') ?
578
- <ModalDtmplEdit visible={showDtmplEdit} onCancel={this.hiddenEntityEdit}
579
- sourceId={fieldGroupConfig.id}
580
- code={selectedCode}
581
- onOk={selectedCode ? this.handleDtmplEdit : this.handleDtmplAdd} />
587
+ <DtmplEditPage visible={showDtmplEdit} onCancel={this.hiddenEntityEdit}
588
+ sourceId={fieldGroupConfig.id}
589
+ code={selectedCode}
590
+ onOk={selectedCode ? this.handleDtmplEdit : this.handleDtmplAdd} />
582
591
  : ""}
583
592
  {/*{buttons.includes('rowEdit') || buttons.includes('rowAdd') ?*/}
584
593
  {/* <ModalRowEdit visible={showRowEdit} onCancel={this.hiddenRowEdit}*/}
@@ -1,5 +1,6 @@
1
1
  import {ColumnConfig, EnumItem, FieldBase, FieldConfig} from "./interface";
2
2
  import HCDataSource from "./hc-data-source";
3
+ import {ProgramConfig} from "../index";
3
4
 
4
5
  const SupportInputTypes:Set<string>=new Set<string>();
5
6
  SupportInputTypes.add('date-YY');
@@ -61,12 +62,17 @@ SupportInputTypes.add('modal-entity-select');
61
62
  SupportInputTypes.add('color');
62
63
 
63
64
  SupportInputTypes.add('hidden');
65
+ SupportInputTypes.add('lab-tree-select');
64
66
  function ControlTypeSupportor(){
65
67
 
66
68
  }
67
69
  ControlTypeSupportor.isSupport=function(type:string):boolean {
68
70
  if(type){
69
- return SupportInputTypes.has(type);
71
+ if(ProgramConfig.getCustomViewControl(type)){
72
+ return true;
73
+ }else{
74
+ return SupportInputTypes.has(type);
75
+ }
70
76
  }else{
71
77
  return false;
72
78
  }
@@ -2,8 +2,8 @@ import {
2
2
  BlockMenu,
3
3
  DtmplConfig,
4
4
  EnumItem,
5
- FieldBase, LtmplConfigRes,
6
- SelectConfig, Level2Menu
5
+ FieldBase, LtmplConfigRes,ActionConfig,
6
+ SelectConfig, Level2Menu,LtmplConfig
7
7
  } from "./interface";
8
8
  import HcserviceV3 from './hcservice-v3';
9
9
  import ControlTypeSupportor from './control-type-supportor'
@@ -13,7 +13,8 @@ const blocksCache: BlockMenu[] = [];
13
13
  const quickEntranceCache: Level2Menu[] = [];
14
14
  const messageCache: Level2Menu[] = [];
15
15
  const workbenchCache: Level2Menu[] = [];
16
- const enumMap: Map<string, EnumItem[]> = new Map<string, EnumItem[]>();
16
+ const enumMap: Map<string, EnumItem[]> = new Map<string, EnumItem[]>();//key mstrucId
17
+ const optionsMap: Map<string, EnumItem[]> = new Map<string, EnumItem[]>();//key mstrucId
17
18
  const selectConfigMap: Map<string, SelectConfig> = new Map<string, SelectConfig>();
18
19
  const ltmplConfigMap: Map<string, LtmplConfigRes> = new Map<string, LtmplConfigRes>();
19
20
  const l2LtmplConfigMap: Map<string, LtmplConfigRes> = new Map<string, LtmplConfigRes>();
@@ -35,6 +36,19 @@ function findUnloadEnumMstrucIdOfFields(fields:FieldBase[]) {
35
36
  return mstrucIdArray;
36
37
  }
37
38
 
39
+ function findUnloadEnumMstrucIdOfActions(actions:ActionConfig[]) {
40
+ const mstrucIds = [];
41
+ if (actions) {
42
+ actions.forEach((item) => {
43
+ let subs= findUnloadEnumMstrucIdOfFields(item.writes);
44
+ concat(mstrucIds,subs);
45
+ subs= findUnloadEnumMstrucIdOfFields(item.preposes);
46
+ concat(mstrucIds,subs);
47
+ });
48
+ }
49
+ return mstrucIds;
50
+ }
51
+
38
52
  async function loadEnumOfDtmplConfig(selectConfig:DtmplConfig){
39
53
  const mstrucIds = [];
40
54
  if(selectConfig.groups){
@@ -43,6 +57,8 @@ async function loadEnumOfDtmplConfig(selectConfig:DtmplConfig){
43
57
  concat(mstrucIds,subs);
44
58
  })
45
59
  }
60
+ let subs= findUnloadEnumMstrucIdOfActions(selectConfig.actions);
61
+ concat(mstrucIds,subs);
46
62
  await loadEnum(mstrucIds);
47
63
  }
48
64
 
@@ -57,12 +73,29 @@ function concat(mstrucIds,sub){
57
73
  return mstrucIds;
58
74
  }
59
75
 
60
- async function loadEnumOfSelectConfig(selectConfig:SelectConfig){
76
+ async function loadEnumOfSelectConfig(selectConfig:SelectConfig ){
77
+ const mstrucIds = [];
78
+ let subs= findUnloadEnumMstrucIdOfFields(selectConfig.columns);
79
+ concat(mstrucIds,subs);
80
+ subs= findUnloadEnumMstrucIdOfFields(selectConfig.criterias);
81
+ concat(mstrucIds,subs);
82
+ await loadEnum(mstrucIds);
83
+ }
84
+
85
+ async function loadEnumOfLtmplConfig(selectConfig: LtmplConfig ){
61
86
  const mstrucIds = [];
62
87
  let subs= findUnloadEnumMstrucIdOfFields(selectConfig.columns);
63
88
  concat(mstrucIds,subs);
64
89
  subs= findUnloadEnumMstrucIdOfFields(selectConfig.criterias);
65
90
  concat(mstrucIds,subs);
91
+ subs= findUnloadEnumMstrucIdOfFields(selectConfig.drillingParams);
92
+ concat(mstrucIds,subs);
93
+ subs= findUnloadEnumMstrucIdOfFields(selectConfig.reStatParams);
94
+ concat(mstrucIds,subs);
95
+ subs= findUnloadEnumMstrucIdOfActions(selectConfig.actions);
96
+ concat(mstrucIds,subs);
97
+ subs= findUnloadEnumMstrucIdOfActions(selectConfig.rowActions);
98
+ concat(mstrucIds,subs);
66
99
  await loadEnum(mstrucIds);
67
100
  }
68
101
  async function loadEnum(mstrucIds:string[]){
@@ -79,16 +112,35 @@ async function loadEnum(mstrucIds:string[]){
79
112
  }
80
113
 
81
114
 
115
+
116
+
82
117
  function HCDataSource() {
83
118
 
84
119
  }
85
120
 
121
+ HCDataSource.getOptions = async function (mstrucId:string){
122
+ if(!mstrucId){
123
+ return null;
124
+ }
125
+ if( !optionsMap.has(mstrucId)){
126
+ let reqOptions= await HcserviceV3.requestOptions(mstrucId);
127
+ for(let option of reqOptions){
128
+ if(option['css']){
129
+ option['color']=option['css'].color;
130
+ }
131
+ }
132
+ optionsMap.set(mstrucId,reqOptions);
133
+ }
134
+
135
+ return optionsMap.get(mstrucId);
136
+ }
137
+
86
138
  HCDataSource.requestLtmplConfig = async function ( sourceId: string) {
87
139
  if (!ltmplConfigMap.has(sourceId)) {
88
140
  ltmplConfigMap.set(sourceId, await HcserviceV3.requestLtmplConfig(sourceId));
89
141
  //加载枚举
90
142
  let res:LtmplConfigRes=ltmplConfigMap.get(sourceId);
91
- await loadEnumOfSelectConfig(res.ltmplConfig);
143
+ await loadEnumOfLtmplConfig(res.ltmplConfig);
92
144
  }
93
145
  return ltmplConfigMap.get(sourceId);
94
146
  };
@@ -97,7 +149,7 @@ HCDataSource.requestL2LtmplConfig = async function (sourceId: string) {
97
149
  l2LtmplConfigMap.set(sourceId, await HcserviceV3.requestL2LtmplConfig(sourceId));
98
150
  //加载枚举
99
151
  let res:LtmplConfigRes=l2LtmplConfigMap.get(sourceId);
100
- await loadEnumOfSelectConfig(res.ltmplConfig);
152
+ await loadEnumOfLtmplConfig(res.ltmplConfig);
101
153
  }
102
154
  return l2LtmplConfigMap.get(sourceId);
103
155
  };
@@ -218,6 +270,7 @@ HCDataSource.clearOnly =async function () {
218
270
  dtmplConfigMap.clear();
219
271
  selectConfigMap.clear();
220
272
  l2LtmplConfigMap.clear();
273
+ optionsMap.clear();
221
274
  blocksCache.splice(0,blocksCache.length);
222
275
  quickEntranceCache.splice(0,quickEntranceCache.length);
223
276
  messageCache.splice(0,quickEntranceCache.length);
@@ -21,6 +21,20 @@ export default class HcserviceV3 {
21
21
  }
22
22
  }
23
23
 
24
+ static async requestOptions(mstrucId) { //有下拉菜单时,请求下拉选项操作
25
+ if (mstrucId) {
26
+ let res = await Super.super({
27
+ url: `/v3/enum`,
28
+ query: {
29
+ mstrucId
30
+ },
31
+ });
32
+ return res.options;
33
+ } else {
34
+ return {};
35
+ }
36
+ }
37
+
24
38
  // static async requestSelect(requestedMap, selectMSFieldIdArray) {
25
39
  // //先从当前状态从中找,没有的才去查
26
40
  // //后续可以放在缓存里,但需要一些策略和技巧
@@ -110,7 +124,7 @@ export default class HcserviceV3 {
110
124
  return res;
111
125
  }
112
126
 
113
- static async requestLtmplQueryKey(sourceId, condition) {
127
+ static async requestLtmplQueryKey(sourceId, condition?) {
114
128
  console.log('condition:',condition);
115
129
  let url = `/v3/ltmpl/query/key`
116
130
  let res = await Super.super({
@@ -121,6 +135,17 @@ export default class HcserviceV3 {
121
135
  return res;
122
136
  }
123
137
 
138
+ static async requestLtmplQueryTop(sourceId, condition) {
139
+ console.log('condition:',condition);
140
+ let url = `/v3/ltmpl/top-data`
141
+ let res = await Super.super({
142
+ url: url,
143
+ method: 'GET',
144
+ query: {...condition,sourceId}
145
+ });
146
+ return res;
147
+ }
148
+
124
149
  static async requestSelectedData(sourceId, codes) {
125
150
  if (!codes) {
126
151
  message.warn("没有选择实体")
@@ -257,6 +282,8 @@ export default class HcserviceV3 {
257
282
  return res;
258
283
  }
259
284
 
285
+
286
+
260
287
  static async requestLtmplCount(sourceId) {
261
288
 
262
289
  let url = `/v3/ltmpl/data/count`;
@@ -291,6 +318,8 @@ export default class HcserviceV3 {
291
318
  // return criterias;
292
319
  // }
293
320
 
321
+
322
+
294
323
  static async requestQueryData(queryKey:string, pageInfo:PageInfo) {
295
324
  let res = await Super.super({
296
325
  url: `/v3/ltmpl/query/data`,
@@ -13,7 +13,7 @@ export type StatColType = 'fact' | 'dimension';
13
13
  export type ActTableViewModel = 'table' | 'verticalList' | 'horizontalList';
14
14
 
15
15
  export type ControlHolderType= 'table' | 'descriptions'
16
-
16
+ export type PageType='modal'|'drawer';
17
17
  export interface TmplBase {
18
18
  id: string;
19
19
  title: string;
@@ -42,6 +42,7 @@ export interface CQueryConfig extends OrderableTmplBase {
42
42
 
43
43
  export interface ActionConfig extends OrderableTmplBase {
44
44
  multible: boolean,
45
+ icon:string,
45
46
  beforeExeConfirm:string,
46
47
  preposes:FieldConfig[],
47
48
  writes:FieldConfig[],
@@ -121,8 +122,8 @@ export type Comparator = 'equal' | 'unequal' | 'includeOne' | 'exclude' | 'noLe
121
122
 
122
123
  export interface FieldConfig extends FieldBase {
123
124
  disabled?: boolean;
124
- max?: number;
125
- min?: number;
125
+ max?: string;
126
+ min?: string;
126
127
  buttons?: ButtonName[];
127
128
  rules?: FileRule[];
128
129
 
@@ -168,16 +169,19 @@ export interface LtmplConfig extends SelectConfig {
168
169
  cQuerys?:CQueryConfig[];
169
170
  rowCQuerys?:CQueryConfig[];
170
171
  chartType?: ChartType[];
171
- reStatParams?: CriteriaConfig[];
172
172
  editAction:ActionConfig;
173
+ reStatParams?: CriteriaConfig[];
174
+
173
175
  drillingParams?: CriteriaConfig[];
174
176
  }
175
177
 
176
178
  export interface EnumItem {
177
179
  title: string;
178
180
  value: string;
181
+ id:string;
179
182
  color: string;
180
183
  order:string;
184
+ subOptions?:EnumItem[]
181
185
  }
182
186
 
183
187
  export type EditStatus ='new'|'changed'|'persisted'
@@ -227,6 +231,8 @@ export interface QueryData {
227
231
 
228
232
  export interface EControlProps extends ControlBaseProps {
229
233
  onChange?: (value: any) => void;
234
+ min?:string;
235
+ max?:string;
230
236
  }
231
237
 
232
238
  export interface VEControlProps extends EControlProps {
@@ -86,10 +86,10 @@ TmplConfigAnalysis.currentL1 = function ( config: string,format:string) {
86
86
  break;
87
87
  }
88
88
  if(symbol=="-"){
89
- //console.log("moment().subtract(n,momentUnit)",moment().subtract(n,momentUnit));
89
+ // console.log("moment().subtract(n,momentUnit)",moment().subtract(n,momentUnit).format(format));
90
90
  return moment().subtract(n,momentUnit).format(format);
91
91
  }else{
92
- //console.log("moment().add(n,momentUnit)",moment().add(n,momentUnit));
92
+ // console.log("moment().add(n,momentUnit)",moment().add(n,momentUnit).format(format));
93
93
  return moment().add(n,momentUnit).format(format);
94
94
  }
95
95
  }
@@ -20,6 +20,14 @@ const CUSTOM_PAGE_MAP = {
20
20
 
21
21
  }
22
22
 
23
+ const CUSTOM_VIEW_CONTROL_MAP = {
24
+
25
+ }
26
+
27
+ const CUSTOM_EDIT_CONTROL_MAP = {
28
+
29
+ }
30
+
23
31
  //加载本地配置
24
32
  Axios.create().get('programConfig.json').then((result) => {
25
33
  window.localStorage['programName'] = result.data.programName
@@ -33,9 +41,20 @@ Axios.create().get('programConfig.json').then((result) => {
33
41
  });
34
42
 
35
43
  export default {
36
- setCustomPage(key:string,name:string){
44
+ setCustomPage(key:string,name:object){
37
45
  CUSTOM_PAGE_MAP[key]=name;
38
46
  },
47
+ setCustomControl(key:string,view:object,edit:object){
48
+ CUSTOM_VIEW_CONTROL_MAP[key]=view;
49
+ CUSTOM_EDIT_CONTROL_MAP[key]=edit;
50
+ },
51
+ getCustomViewControl(key:string){
52
+ return CUSTOM_VIEW_CONTROL_MAP[key];
53
+
54
+ },
55
+ getCustomEditControl(key:string){
56
+ return CUSTOM_EDIT_CONTROL_MAP[key];
57
+ },
39
58
  getCustomPage(key:string){
40
59
  return CUSTOM_PAGE_MAP[key];
41
60
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"modal-dtmpl-edit.d.ts","sourceRoot":"","sources":["../../../../../src/aldehyde/detail/edit/modal-dtmpl-edit.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAS,YAAY,EAAoB,MAAM,MAAM,CAAA;AAC5D,OAAO,EAAC,cAAc,EAAE,WAAW,EAAE,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAO5E,UAAU,gBAAiB,SAAQ,cAAc;IAC7C,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,IAAI,CAAC;CAExB;AAED,UAAU,gBAAgB;IACtB,EAAE,EAAC,MAAM,CAAC;IACV,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAC,MAAM,CAAC;IACd,SAAS,EAAC,SAAS,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,KAAK,CAAC,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC/F,OAAO,qCAAmC;IAC1C,aAAa,SAAqB;IAClC,gBAAgB,MAAW;IAC3B,WAAW,mBAIV;IACD,MAAM,CAAC,YAAY;;;;;;;;;;MASlB;IACD,KAAK;;;;;;MAMJ;IAEK,iBAAiB;IAKjB,kBAAkB,CAAC,SAAS,KAAA;IAUlC,oBAAoB,IAAI,IAAI;IAM5B,cAAc,sBA0Bb;IAED,QAAQ,gBAAsB,WAAW,mBA2BxC;IAED,cAAc,aAIb;IAED,QAAQ,cAAe,MAAM,UAAQ,MAAM,EAAE,WAAS,MAAM,UAY3D;IAED,SAAS,cAoBR;IAED,MAAM;CAyBT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"modal-dtmpl-edit.js","sourceRoot":"","sources":["../../../../../src/aldehyde/detail/edit/modal-dtmpl-edit.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dtmpl-page.d.ts","sourceRoot":"","sources":["../../../../src/aldehyde/module/dtmpl-page.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAazB,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,EAAC,MAAM,CAAC;IACjB,IAAI,CAAC,EAAC,MAAM,CAAC;IACb,QAAQ,CAAC,EAAC,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC3B,aAAa,EAAC,OAAO,CAAC;CACzB;AAED,cAAM,SAAU,SAAQ,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC;IAEvE,KAAK;;MAEJ;IAaD,OAAO,aAIN;IAED,eAAe,SAAW,MAAM,UAI/B;IAED,MAAM;CAcT;AAED,eAAe,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dtmpl-page.js","sourceRoot":"","sources":["../../../../src/aldehyde/module/dtmpl-page.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAE7D,OAAO,YAAY,MAAM,+BAA+B,CAAC;AAQxD,CAAC;AAID,CAAC;AAEF,MAAM,SAAU,SAAQ,KAAK,CAAC,aAA6C;IAA3E;;QAEI,UAAK,GAAG;YACJ,aAAa,EAAC,KAAK;SACtB,CAAA;QAED,8BAA8B;QAC9B,8BAA8B;QAC9B,IAAI;QACJ,EAAE;QACF,wCAAwC;QACxC,sCAAsC;QACtC,sDAAsD;QACtD,kCAAkC;QAClC,QAAQ;QACR,IAAI;QAEJ,YAAO,GAAC,GAAE,EAAE;YACR,IAAI,CAAC,QAAQ,CAAC;gBACV,aAAa,EAAC,IAAI;aACrB,CAAC,CAAA;QACN,CAAC,CAAA;QAED,oBAAe,GAAI,CAAC,IAAY,EAAE,EAAE;YAChC,IAAI,CAAC,QAAQ,CAAC;gBACV,aAAa,EAAC,KAAK;aACtB,CAAC,CAAA;QACN,CAAC,CAAA;IAgBL,CAAC;IAdG,MAAM;QACF,MAAM,EAAC,aAAa,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACnC,MAAM,EAAE,QAAQ,EAAC,IAAI,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACzC,OAAO;YACH,oBAAC,YAAY,IAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAiB;YACpG,oBAAC,cAAc,IAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAE,EAAE;oBAClD,IAAI,CAAC,QAAQ,CAAC;wBACV,aAAa,EAAC,KAAK;qBACtB,CAAC,CAAA;gBAAA,CAAC,EACS,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,CAAC,eAAe,GAAI,CACjD,CAAA;IACb,CAAC;CACJ;AAED,eAAe,SAAS,CAAC"}
@@ -1,97 +0,0 @@
1
- import React from 'react'
2
- import Super from "../../tmpl/superagent"
3
- import {Cascader as AntdCascader} from 'antd'
4
-
5
- export default class Cascader extends React.Component{
6
-
7
- state={
8
- options:[]
9
- }
10
- handleChange=(value)=>{
11
- let res=""
12
- res=value.join("->")
13
- console.log(res)
14
- this.triggerChange(res)
15
- }
16
- triggerChange = (changedValue) => {
17
- const { onChange } = this.props
18
- if (onChange) {
19
- onChange(changedValue);
20
- }
21
- }
22
- requestLinkage=(optionKey)=>{ //第一级联动
23
- const optGroupId=optionKey.split("@")[0]
24
- const time=optionKey.split("@")[1]
25
- Super.super({
26
- url:`/meta/dict/cas_ops/${optGroupId}`,
27
- }).then((res)=>{
28
- const ops=[]
29
- res.options.forEach((item)=>{
30
- const op={}
31
- op["value"]=item.title
32
- op["label"]=item.title
33
- op["key"]=item.id
34
- op["isLeaf"]= false
35
- ops.push(op)
36
- })
37
- this.setState({
38
- options:ops,
39
- time
40
- })
41
- })
42
- }
43
- loadData = (selectedOptions) => { //子集联动
44
- const targetOption = selectedOptions[selectedOptions.length - 1]
45
- targetOption.loading = true
46
- this.setState({
47
- time:this.state.time-1
48
- })
49
- if(selectedOptions && this.state.time>=1){
50
- let id="";
51
- selectedOptions.forEach((item)=>{
52
- id=item.key
53
- })
54
- Super.super({
55
- url:`v2/meta/dict/cas_ops/${id}`,
56
- }).then((res)=>{
57
- const ops=[]
58
- const time=this.state.time
59
- res.options.forEach((item)=>{
60
- let op={}
61
- op["value"]=item.title
62
- op["label"]=item.title
63
- op["key"]=item.id
64
- if(time===1){
65
- op["isLeaf"]= true
66
- }else{
67
- op["isLeaf"]= false
68
- }
69
- ops.push(op)
70
- })
71
- setTimeout(() => {
72
- targetOption.loading = false;
73
- targetOption.children =ops
74
- this.setState({
75
- options: [...this.state.options],
76
- });
77
- }, 300);
78
- })
79
- }
80
- }
81
-
82
- render(){
83
- const { optionGroupKey,fieldName }=this.props
84
- return (
85
- <AntdCascader
86
- onClick={()=>this.requestLinkage(optionGroupKey)}
87
- placeholder={`请选择${fieldName}`}
88
- style={{width:220}}
89
- options={this.state.options}
90
- loadData={this.loadData}
91
- displayRender={label=>label.join('->')}
92
- getPopupContainer={trigger => trigger.parentNode}
93
- onChange={this.handleChange}
94
- />
95
- )
96
- }
97
- }