aldehyde 0.1.32 → 0.1.35

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 (67) hide show
  1. package/lib/controls/entity-select/lab-tree-select.js +1 -1
  2. package/lib/custom-page/custom-page-router.js +1 -1
  3. package/lib/custom-page/custom-page-router.js.map +1 -1
  4. package/lib/custom-page/{DefCustomPage.d.ts → def-custom-page.d.ts} +1 -1
  5. package/lib/custom-page/def-custom-page.d.ts.map +1 -0
  6. package/lib/custom-page/def-custom-page.js +14 -0
  7. package/lib/custom-page/def-custom-page.js.map +1 -0
  8. package/lib/detail/edit/dtmpl-edit-page.js +4 -4
  9. package/lib/detail/edit/dtmpl-edit-page.js.map +1 -1
  10. package/lib/detail/edit/dtmpl-edit.js +2 -2
  11. package/lib/detail/edit/dtmpl-edit.js.map +1 -1
  12. package/lib/detail/view/act-dtmpl-view.js +1 -1
  13. package/lib/detail/view/act-dtmpl-view.js.map +1 -1
  14. package/lib/detail/view/dtmpl-view.js +1 -1
  15. package/lib/detail/view/dtmpl-view.js.map +1 -1
  16. package/lib/form/dtmpl-form.d.ts +0 -1
  17. package/lib/form/dtmpl-form.d.ts.map +1 -1
  18. package/lib/form/dtmpl-form.js.map +1 -1
  19. package/lib/form/form-Item-group.js +1 -1
  20. package/lib/form/form-Item-group.js.map +1 -1
  21. package/lib/layout/menu/menu-2layers.d.ts +0 -8
  22. package/lib/layout/menu/menu-2layers.d.ts.map +1 -1
  23. package/lib/layout/menu/menu-2layers.js +38 -21
  24. package/lib/layout/menu/menu-2layers.js.map +1 -1
  25. package/lib/layout/menu/menu-render.d.ts +1 -0
  26. package/lib/layout/menu/menu-render.d.ts.map +1 -1
  27. package/lib/layout/menu/menu-render.js +28 -1
  28. package/lib/layout/menu/menu-render.js.map +1 -1
  29. package/lib/layout/sidebar/index.d.ts +1 -1
  30. package/lib/layout/sidebar/index.d.ts.map +1 -1
  31. package/lib/layout/sidebar/index.js.map +1 -1
  32. package/lib/routable/dtmpl-route.d.ts +10 -0
  33. package/lib/routable/dtmpl-route.d.ts.map +1 -1
  34. package/lib/routable/dtmpl-route.js +56 -4
  35. package/lib/routable/dtmpl-route.js.map +1 -1
  36. package/lib/tmpl/hc-data-source.d.ts +1 -0
  37. package/lib/tmpl/hc-data-source.d.ts.map +1 -1
  38. package/lib/tmpl/hc-data-source.js +12 -0
  39. package/lib/tmpl/hc-data-source.js.map +1 -1
  40. package/lib/tmpl/hcservice-v3.d.ts +3 -0
  41. package/lib/tmpl/hcservice-v3.d.ts.map +1 -1
  42. package/lib/tmpl/hcservice-v3.js +23 -3
  43. package/lib/tmpl/hcservice-v3.js.map +1 -1
  44. package/lib/tmpl/interface.d.ts +9 -0
  45. package/lib/tmpl/interface.d.ts.map +1 -1
  46. package/lib/tmpl/interface.js.map +1 -1
  47. package/package.json +1 -1
  48. package/src/aldehyde/controls/entity-select/lab-tree-select.tsx +1 -1
  49. package/src/aldehyde/custom-page/custom-page-router.tsx +1 -1
  50. package/src/aldehyde/custom-page/def-custom-page.js +20 -0
  51. package/src/aldehyde/detail/edit/dtmpl-edit-page.tsx +5 -5
  52. package/src/aldehyde/detail/edit/dtmpl-edit.tsx +2 -2
  53. package/src/aldehyde/detail/view/act-dtmpl-view.tsx +1 -1
  54. package/src/aldehyde/detail/view/dtmpl-view.tsx +1 -1
  55. package/src/aldehyde/form/dtmpl-form.tsx +0 -1
  56. package/src/aldehyde/form/form-Item-group.tsx +2 -2
  57. package/src/aldehyde/layout/menu/menu-2layers.tsx +44 -35
  58. package/src/aldehyde/layout/menu/menu-render.tsx +33 -1
  59. package/src/aldehyde/layout/sidebar/index.tsx +2 -1
  60. package/src/aldehyde/routable/dtmpl-route.tsx +50 -7
  61. package/src/aldehyde/tmpl/hc-data-source.tsx +12 -1
  62. package/src/aldehyde/tmpl/hcservice-v3.tsx +21 -4
  63. package/src/aldehyde/tmpl/interface.tsx +11 -2
  64. package/lib/custom-page/DefCustomPage.d.ts.map +0 -1
  65. package/lib/custom-page/DefCustomPage.js +0 -7
  66. package/lib/custom-page/DefCustomPage.js.map +0 -1
  67. package/src/aldehyde/custom-page/DefCustomPage.js +0 -9
@@ -1,17 +1,8 @@
1
1
  import React from "react";
2
2
  import {Menu} from 'antd';
3
- import {BlockMenu} from "../../tmpl/interface";
3
+ import {BlockMenu,Menu2layersProps} from "../../tmpl/interface";
4
4
  import MenuRender from './menu-render';
5
5
  import {withRouter} from 'react-router-dom';
6
- import {MenuProps} from "antd/lib/menu";
7
-
8
-
9
- export interface Menu2layersProps extends MenuProps{
10
- blockMenu: BlockMenu;
11
- collapsed?: boolean;
12
- currentL2MenuId?: string;
13
- basePath?:string;
14
- }
15
6
 
16
7
  interface Menu2layersState {
17
8
  openKeys: string[];
@@ -27,45 +18,63 @@ class Menu2layers extends React.PureComponent<Menu2layersProps, Menu2layersState
27
18
  }
28
19
  }
29
20
 
30
- // componentDidMount() {
31
- //
32
- // }
21
+ componentDidMount() {
22
+ const {currentL2MenuId, blockMenu,collapsed} = this.props;
23
+ const {openKeys} = this.state;
24
+ let openKey = blockMenu?MenuRender.findOpenId(blockMenu.l1Menus, currentL2MenuId):undefined;
25
+ if(openKey && openKeys.length<1){
26
+ this.setState({
27
+ openKeys:[openKey.toString()]
28
+ })
29
+ }
30
+ }
33
31
  componentDidUpdate(prevProps) {
34
32
  const {currentL2MenuId, blockMenu,collapsed} = this.props;
35
- let {currentL2MenuId:preMenuId}=prevProps;
33
+ let {currentL2MenuId:preMenuId,blockMenu:preBlockMenu}=prevProps;
36
34
  const {openKeys} = this.state;
37
- // if(collapsed){
38
- // if(openKeys.length>0){
39
- // this.setState({
40
- // openKeys:[]
41
- // })
42
- // }
43
- // }else{
44
35
 
36
+ if(!preBlockMenu || !blockMenu || blockMenu.id!=preBlockMenu.id){
37
+ //console.log('currentL2MenuId:',currentL2MenuId);
45
38
  let openKey = blockMenu?MenuRender.findOpenId(blockMenu.l1Menus, currentL2MenuId):undefined;
46
- if(openKey && openKeys.length<1){
47
- this.setState({
48
- openKeys:[openKey.toString()]
49
- })
50
- }else if(preMenuId!=currentL2MenuId){
51
- console.log('currentL2MenuId:',currentL2MenuId);
52
39
  if (openKey) {
53
- if(openKeys.length==1){
54
- openKeys.push(openKey.toString())
55
- if (openKeys && openKeys.length > 1) {
56
- openKeys.splice(0, 1);
57
- }
58
- }
59
40
  this.setState({
60
- openKeys,
41
+ openKeys:[openKey],
61
42
  })
62
43
  }
44
+ }else {
45
+ let openKey = blockMenu?MenuRender.findOpenId(blockMenu.l1Menus, currentL2MenuId):undefined;
46
+ let preOpenKey = blockMenu?MenuRender.findOpenId(preBlockMenu.l1Menus, preMenuId):undefined;
47
+ if(openKey && openKey!=preOpenKey){
48
+ this.setState({
49
+ openKeys:[openKey],
50
+ })
63
51
  }
52
+ }
53
+
54
+ // let openKey = blockMenu?MenuRender.findOpenId(blockMenu.l1Menus, currentL2MenuId):undefined;
55
+ // if(openKey && openKeys.length<1){
56
+ // this.setState({
57
+ // openKeys:[openKey.toString()]
58
+ // })
59
+ // }else if(preMenuId!=currentL2MenuId){
60
+ // console.log('currentL2MenuId:',currentL2MenuId);
61
+ // if (openKey) {
62
+ // if(openKeys.length==1){
63
+ // openKeys.push(openKey.toString())
64
+ // if (openKeys && openKeys.length > 1) {
65
+ // openKeys.splice(0, 1);
66
+ // }
67
+ // }
68
+ // this.setState({
69
+ // openKeys,
70
+ // })
71
+ // }
72
+ // }
64
73
  //}
65
74
  }
66
75
 
67
76
  handleOpen = (openKeys) => {
68
- if (openKeys && openKeys.length > 1) {
77
+ if (openKeys && openKeys.length>1) {
69
78
  openKeys.splice(0, 1);
70
79
  }
71
80
  this.setState({
@@ -15,6 +15,36 @@ export default {
15
15
  }
16
16
  })
17
17
  },
18
+ getRoutePath(menu:Level2Menu,basePath,defaultCriteriaData){
19
+ if(menu){
20
+ let pageType=menu.pageType;
21
+
22
+ let routePath='act-table';
23
+
24
+ let codeSource='';
25
+ switch (pageType) {
26
+ case "列表":
27
+ routePath='act-table';
28
+ break;
29
+ case "添加":
30
+ routePath='detail-edit';
31
+ codeSource='&codeSource=new';
32
+ break;
33
+ case "编辑":
34
+ routePath='detail-edit';
35
+ codeSource='&codeSource=listTop';
36
+ break;
37
+ case "详情":
38
+ routePath='detail-view';
39
+ codeSource='&codeSource=listTop';
40
+ break;
41
+ }
42
+
43
+ return `${basePath}/${menu.id}/${routePath}?menuId=${menu.id}${codeSource}${defaultCriteriaData}`;
44
+
45
+ }
46
+ return null;
47
+ },
18
48
  renderL2Menu(menus:Level2Menu[],target,basePath=""){
19
49
  return menus.map((item) => {
20
50
  let delimiter="/";
@@ -29,8 +59,10 @@ export default {
29
59
  defaultCriteriaData='&'+ Units.transQueryParamsToStr(item.defaultCriteriaValue);
30
60
  }
31
61
 
62
+ let path=customPath ?`${basePath}/page-${item.id}${delimiter}${customPath}?menuId=${item.id}` :this.getRoutePath(item,basePath,defaultCriteriaData);
63
+
32
64
  return <Menu.Item key={item.id}>
33
- <NavLink to={customPath ?`${basePath}/page-${item.id}${delimiter}${customPath}?menuId=${item.id}` :`${basePath}/${item.id}/act-table?menuId=${item.id}${defaultCriteriaData}`} target={target} >{item.title}</NavLink>
65
+ <NavLink to={path} target={target} >{item.title}</NavLink>
34
66
  </Menu.Item>
35
67
  })
36
68
  },
@@ -1,7 +1,8 @@
1
1
  import React from 'react'
2
2
  import './index.css'
3
3
  import Units from '../../units';
4
- import Menu2layers, {Menu2layersProps} from "../menu/menu-2layers";
4
+ import Menu2layers from "../menu/menu-2layers";
5
+ import {Menu2layersProps} from "../../tmpl/interface";
5
6
  import Scrollbars from 'react-custom-scrollbars';
6
7
  import {Image, Layout, Menu} from 'antd';
7
8
  import logo from './logo.png';
@@ -3,7 +3,8 @@ import {Button, Card, Form as AntdForm, Modal} from 'antd';
3
3
  import {RouterCompProps} from '../tmpl/interface';
4
4
  import Units from "../units";
5
5
  import DtmplEdit from "../detail/edit/dtmpl-edit";
6
- import ActDtmplView from '../detail/view/act-dtmpl-view'
6
+ import ActDtmplView from '../detail/view/act-dtmpl-view';
7
+ import HcserviceV3 from "../tmpl/hcservice-v3";
7
8
 
8
9
 
9
10
  export interface DtmplRouteProps extends RouterCompProps {
@@ -11,13 +12,37 @@ export interface DtmplRouteProps extends RouterCompProps {
11
12
  };
12
13
 
13
14
  export interface DtmplRoutePropsStat {
14
-
15
+ codeSource:'new'|'listTop'|undefined,
16
+ queriedCode:string,
15
17
  };
16
18
 
17
19
  class DtmplRoute extends React.PureComponent<DtmplRouteProps, DtmplRoutePropsStat> {
20
+ state={
21
+ codeSource:undefined,
22
+ queriedCode:undefined,
23
+ }
18
24
  static defaultProps={
19
25
  basePath:"",
26
+ codeSource:undefined,
27
+ queriedCode:undefined,
20
28
  }
29
+ async componentDidMount() {
30
+ const {location,match}=this.props;
31
+ const {sourceId,} = match.params;
32
+ let codeSource:'new'|'listTop'|undefined=this.getCodeSource();
33
+ let queriedCode=undefined;
34
+ if(codeSource && codeSource=='listTop'){
35
+ //查询
36
+ let data= await HcserviceV3.requestMstrucLtmplQueryTop(sourceId,{top:1});
37
+ if(data && data.entities && data.entities[0]){
38
+ queriedCode=data.entities[0].code;
39
+ }
40
+ }
41
+ this.setState({
42
+ codeSource,queriedCode
43
+ })
44
+ }
45
+
21
46
  getMenuId=()=>{
22
47
  const {location} = this.props;
23
48
  console.log("this.props.match.params",this.props);
@@ -26,6 +51,16 @@ class DtmplRoute extends React.PureComponent<DtmplRouteProps, DtmplRoutePropsSta
26
51
  return menuId;
27
52
  }
28
53
 
54
+ getCodeSource=()=>{
55
+ const {location}=this.props;
56
+ let params=Units.transQueryStrToParams(location.search);
57
+ if('codeSource' in params){
58
+ return params['codeSource'];
59
+ }else{
60
+ return undefined;
61
+ }
62
+ }
63
+
29
64
  goBackToLtmpl=()=>{
30
65
  const { sourceId,} = this.props.match.params;
31
66
  const {basePath}=this.props;
@@ -53,6 +88,7 @@ class DtmplRoute extends React.PureComponent<DtmplRouteProps, DtmplRoutePropsSta
53
88
 
54
89
  getMainCode=()=>{
55
90
  const {location}=this.props;
91
+
56
92
  let params=Units.transQueryStrToParams(location.search);
57
93
  if('mainCode' in params){
58
94
  return params['mainCode'];
@@ -61,10 +97,16 @@ class DtmplRoute extends React.PureComponent<DtmplRouteProps, DtmplRoutePropsSta
61
97
  }
62
98
  }
63
99
 
64
- getCode=()=>{
100
+ getCode= ()=>{
101
+ const {codeSource,queriedCode}=this.state;
65
102
  const {location}=this.props;
66
- let params=Units.transQueryStrToParams(location.search);
67
- return params['code'];
103
+ //let code;
104
+ if(codeSource=='listTop'){
105
+ return queriedCode;
106
+ }else{
107
+ let params=Units.transQueryStrToParams(location.search);
108
+ return params['code'];
109
+ }
68
110
  }
69
111
 
70
112
  getMode=()=>{
@@ -76,7 +118,8 @@ class DtmplRoute extends React.PureComponent<DtmplRouteProps, DtmplRoutePropsSta
76
118
  render() {
77
119
  const {location,match}=this.props;
78
120
  const {sourceId,} = match.params;
79
- // console.log("this.props.match.params",match);
121
+ const {codeSource}=this.state;
122
+ console.log("this.props.match.params",match);
80
123
  if(!location){
81
124
  return <></>;
82
125
  }
@@ -88,7 +131,7 @@ class DtmplRoute extends React.PureComponent<DtmplRouteProps, DtmplRoutePropsSta
88
131
  );
89
132
  }else{
90
133
  return (
91
- <DtmplEdit addOrUpdate={this.getMode()} sourceId={sourceId} code={this.getCode()} mainCode={this.getMainCode()} goBackToLtmpl={this.goBackToLtmpl} goDtmpl={this.goDtmpl}></DtmplEdit>
134
+ <DtmplEdit addOrUpdate={this.getMode()} sourceId={sourceId} code={this.getCode()} mainCode={this.getMainCode()} goBackToLtmpl={codeSource?undefined:this.goBackToLtmpl} goDtmpl={this.goDtmpl}></DtmplEdit>
92
135
  );
93
136
  }
94
137
 
@@ -19,6 +19,7 @@ const selectConfigMap: Map<string, SelectConfig> = new Map<string, SelectConfig>
19
19
  const ltmplConfigMap: Map<string, LtmplConfigRes> = new Map<string, LtmplConfigRes>();
20
20
  const l2LtmplConfigMap: Map<string, LtmplConfigRes> = new Map<string, LtmplConfigRes>();
21
21
  const dtmplConfigMap: Map<string, DtmplConfig> = new Map<string, DtmplConfig>();
22
+ const viewDtmplConfigMap: Map<string, DtmplConfig> = new Map<string, DtmplConfig>();
22
23
 
23
24
 
24
25
  function findUnloadEnumMstrucIdOfFields(fields:FieldBase[]) {
@@ -167,11 +168,20 @@ HCDataSource.requestDtmplConfig = async function ( sourceId: string) {
167
168
  if (!dtmplConfigMap.has(sourceId)) {
168
169
  dtmplConfigMap.set(sourceId, await HcserviceV3.requestDtmplConfig(sourceId));
169
170
  //加载枚举
170
- await loadEnumOfDtmplConfig(dtmplConfigMap.get(sourceId));
171
+ await loadEnumOfDtmplConfig(dtmplConfigMap.get(sourceId));
171
172
  }
172
173
  return dtmplConfigMap.get(sourceId);
173
174
  };
174
175
 
176
+ HCDataSource.requestViewDtmplConfig = async function ( sourceId: string) {
177
+ if (!viewDtmplConfigMap.has(sourceId)) {
178
+ viewDtmplConfigMap.set(sourceId, await HcserviceV3.requestViewDtmplConfig(sourceId));
179
+ //加载枚举
180
+ await loadEnumOfDtmplConfig(viewDtmplConfigMap.get(sourceId));
181
+ }
182
+ return viewDtmplConfigMap.get(sourceId);
183
+ };
184
+
175
185
  HCDataSource.getEnums = function (mstrucId:string): EnumItem[] {
176
186
  //这里是不是后续可以考虑防止串改
177
187
  return enumMap.get(mstrucId);
@@ -268,6 +278,7 @@ HCDataSource.clearOnly =async function () {
268
278
  enumMap.clear();
269
279
  ltmplConfigMap.clear();
270
280
  dtmplConfigMap.clear();
281
+ viewDtmplConfigMap.clear();
271
282
  selectConfigMap.clear();
272
283
  l2LtmplConfigMap.clear();
273
284
  optionsMap.clear();
@@ -57,10 +57,6 @@ export default class HcserviceV3 {
57
57
 
58
58
  static async requestDtmplConfig(sourceId:string) {
59
59
 
60
- // if(sourceId=='user'){
61
- // return this.requestUserDtmplConfig();
62
- // }
63
-
64
60
  let url = `/v3/dtmpl/config`
65
61
  let res = await Super.super({
66
62
  url,
@@ -70,6 +66,17 @@ export default class HcserviceV3 {
70
66
  return res.dtmplConfig;
71
67
  }
72
68
 
69
+ static async requestViewDtmplConfig(sourceId:string) {
70
+
71
+ let url = `/v3/view-dtmpl/config`
72
+ let res = await Super.super({
73
+ url,
74
+ method: "GET",
75
+ query:{sourceId}
76
+ });
77
+ return res.dtmplConfig;
78
+ }
79
+
73
80
  // static async requestUserDtmplConfig() {
74
81
  // let url = `/v3/user/dtmpl/config`
75
82
  // let res = await Super.super({
@@ -220,6 +227,16 @@ export default class HcserviceV3 {
220
227
  return await this.requestCommonDtmplData(sourceId, code,versionId,url)
221
228
  }
222
229
 
230
+ static async requestViewDtmplData(sourceId, code,versionId) {
231
+ let url = `/v3/view-dtmpl/data`;
232
+ return await this.requestCommonDtmplData(sourceId, code,versionId,url)
233
+ }
234
+
235
+ static async requestMstrucViewDtmplData(sourceId, code,versionId) {
236
+ let url = `/v3/mstruc/view-dtmpl/data`;
237
+ return await this.requestCommonDtmplData(sourceId, code,versionId,url)
238
+ }
239
+
223
240
  // static async requestUserDtmplData() {
224
241
  // let url = `/v3/user/dtmpl/data`;
225
242
  // let res = await Super.super({
@@ -1,3 +1,5 @@
1
+ import {MenuProps} from "antd/lib/menu";
2
+
1
3
  export type ViewOrEdit = 'view' | 'edit' ;
2
4
 
3
5
  export type AddOrUpdate = 'add' | 'update'| 'copy' ;
@@ -56,7 +58,8 @@ export interface Level2Menu extends MenuBase {
56
58
  customPath?: string;
57
59
  displayTotal?: boolean;
58
60
  count?:number;
59
- defaultCriteriaValue?:object
61
+ defaultCriteriaValue?:object,
62
+ pageType:'列表'|'详情'|'编辑'|'添加'
60
63
  }
61
64
 
62
65
  export interface Level1Menu extends MenuBase {
@@ -277,6 +280,7 @@ export interface DtmplBaseProps extends TmplBaseProps {
277
280
  rightBarPositionRight?: number,
278
281
  serialNumber?: number,
279
282
  goDtmpl?: (code?:string) => void,
283
+ maxColsOnRow?:1|2,
280
284
  };
281
285
 
282
286
  export interface ChartConfig {
@@ -311,6 +315,11 @@ export interface FileValue {
311
315
  thn?: FileLoadInfo,
312
316
  base?: FileLoadInfo,
313
317
  }
314
-
318
+ export interface Menu2layersProps extends MenuProps{
319
+ blockMenu: BlockMenu;
320
+ collapsed?: boolean;
321
+ currentL2MenuId?: string;
322
+ basePath?:string;
323
+ }
315
324
 
316
325
 
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefCustomPage.d.ts","sourceRoot":"","sources":["../../../../src/aldehyde/custom-page/DefCustomPage.js"],"names":[],"mappings":"AAEA;IAMopnB,wBAA8C;IAAA,sCAAyJ;IALv1nB,sBAIC;CACJ"}
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- export default class DefCustomPage extends React.Component {
3
- render() {
4
- return (React.createElement("div", null, "\u9ED8\u8BA4\u81EA\u5B9A\u4E49\u9875\u9762"));
5
- }
6
- }
7
- //# sourceMappingURL=DefCustomPage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefCustomPage.js","sourceRoot":"","sources":["../../../../src/aldehyde/custom-page/DefCustomPage.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,KAAK,CAAC,SAAS;IACtD,MAAM;QACF,OAAO,CACL,8EAAkB,CACnB,CAAC;IACN,CAAC;CACJ"}
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
-
3
- export default class DefCustomPage extends React.Component{
4
- render(){
5
- return (
6
- <div>默认自定义页面</div>
7
- );
8
- }
9
- }