aldehyde 0.2.59 → 0.2.61

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 (93) hide show
  1. package/lib/controls/action/index.d.ts +1 -1
  2. package/lib/controls/action/index.d.ts.map +1 -1
  3. package/lib/controls/entity-select/entity-select.d.ts.map +1 -1
  4. package/lib/controls/entity-select/entity-select.js +3 -3
  5. package/lib/controls/entity-select/entity-select.js.map +1 -1
  6. package/lib/custom-page/dtmpl-custom-edit-modal-page.js +1 -1
  7. package/lib/detail/edit/dtmpl-edit.d.ts.map +1 -1
  8. package/lib/detail/edit/dtmpl-edit.js +5 -1
  9. package/lib/detail/edit/dtmpl-edit.js.map +1 -1
  10. package/lib/detail/view/act-dtmpl-view.js +2 -2
  11. package/lib/detail/view/act-dtmpl-view.js.map +1 -1
  12. package/lib/detail/view/dtmpl-view.d.ts.map +1 -1
  13. package/lib/detail/view/dtmpl-view.js +5 -1
  14. package/lib/detail/view/dtmpl-view.js.map +1 -1
  15. package/lib/detail/view/modal-dtmpl-view.d.ts.map +1 -1
  16. package/lib/detail/view/modal-dtmpl-view.js +3 -1
  17. package/lib/detail/view/modal-dtmpl-view.js.map +1 -1
  18. package/lib/index.d.ts +2 -1
  19. package/lib/index.d.ts.map +1 -1
  20. package/lib/index.js +2 -1
  21. package/lib/index.js.map +1 -1
  22. package/lib/module/dtmpl-edit-card.d.ts.map +1 -1
  23. package/lib/module/dtmpl-edit-card.js +5 -1
  24. package/lib/module/dtmpl-edit-card.js.map +1 -1
  25. package/lib/module/dtmpl-edit-page.d.ts.map +1 -1
  26. package/lib/module/dtmpl-edit-page.js +11 -7
  27. package/lib/module/dtmpl-edit-page.js.map +1 -1
  28. package/lib/module/dtmpl-editor.d.ts.map +1 -1
  29. package/lib/module/dtmpl-editor.js +5 -1
  30. package/lib/module/dtmpl-editor.js.map +1 -1
  31. package/lib/module/dtmpl-view-card.d.ts +2 -0
  32. package/lib/module/dtmpl-view-card.d.ts.map +1 -1
  33. package/lib/module/dtmpl-view-card.js +3 -3
  34. package/lib/module/dtmpl-view-card.js.map +1 -1
  35. package/lib/module/dtmpl-view-drawer.js +2 -2
  36. package/lib/module/dtmpl-view-drawer.js.map +1 -1
  37. package/lib/module/dtmpl-view-modal.d.ts.map +1 -1
  38. package/lib/module/dtmpl-view-modal.js +4 -2
  39. package/lib/module/dtmpl-view-modal.js.map +1 -1
  40. package/lib/module/ltmpl-modal.d.ts +1 -0
  41. package/lib/module/ltmpl-modal.d.ts.map +1 -1
  42. package/lib/module/ltmpl-modal.js +8 -5
  43. package/lib/module/ltmpl-modal.js.map +1 -1
  44. package/lib/routable/dtmpl-route.d.ts +2 -2
  45. package/lib/routable/dtmpl-route.d.ts.map +1 -1
  46. package/lib/routable/dtmpl-route.js +3 -25
  47. package/lib/routable/dtmpl-route.js.map +1 -1
  48. package/lib/table/act-table.d.ts +2 -2
  49. package/lib/table/act-table.d.ts.map +1 -1
  50. package/lib/table/act-table.js +14 -10
  51. package/lib/table/act-table.js.map +1 -1
  52. package/lib/table/modal-select-table.d.ts.map +1 -1
  53. package/lib/table/modal-select-table.js +7 -4
  54. package/lib/table/modal-select-table.js.map +1 -1
  55. package/lib/table/query-table.d.ts.map +1 -1
  56. package/lib/table/query-table.js +2 -1
  57. package/lib/table/query-table.js.map +1 -1
  58. package/lib/table/relation-table.js +2 -2
  59. package/lib/table/relation-table.js.map +1 -1
  60. package/lib/tmpl/hcservice-v3.d.ts +2 -1
  61. package/lib/tmpl/hcservice-v3.d.ts.map +1 -1
  62. package/lib/tmpl/hcservice-v3.js +21 -1
  63. package/lib/tmpl/hcservice-v3.js.map +1 -1
  64. package/lib/tmpl/interface.d.ts +2 -0
  65. package/lib/tmpl/interface.d.ts.map +1 -1
  66. package/lib/tmpl/interface.js.map +1 -1
  67. package/lib/tmpl/model-struc-v3.d.ts +10 -0
  68. package/lib/tmpl/model-struc-v3.d.ts.map +1 -0
  69. package/lib/tmpl/model-struc-v3.js +109 -0
  70. package/lib/tmpl/model-struc-v3.js.map +1 -0
  71. package/package.json +2 -2
  72. package/src/aldehyde/controls/entity-select/entity-select.tsx +4 -3
  73. package/src/aldehyde/custom-page/dtmpl-custom-edit-modal-page.tsx +1 -1
  74. package/src/aldehyde/detail/edit/dtmpl-edit.tsx +5 -1
  75. package/src/aldehyde/detail/view/act-dtmpl-view.tsx +2 -2
  76. package/src/aldehyde/detail/view/dtmpl-view.tsx +5 -1
  77. package/src/aldehyde/detail/view/modal-dtmpl-view.tsx +3 -0
  78. package/src/aldehyde/index.tsx +3 -1
  79. package/src/aldehyde/module/dtmpl-edit-card.tsx +5 -1
  80. package/src/aldehyde/module/dtmpl-edit-page.tsx +11 -5
  81. package/src/aldehyde/module/dtmpl-editor.tsx +5 -1
  82. package/src/aldehyde/module/dtmpl-view-card.tsx +5 -3
  83. package/src/aldehyde/module/dtmpl-view-drawer.tsx +2 -2
  84. package/src/aldehyde/module/dtmpl-view-modal.tsx +6 -3
  85. package/src/aldehyde/module/ltmpl-modal.tsx +9 -7
  86. package/src/aldehyde/routable/dtmpl-route.tsx +6 -26
  87. package/src/aldehyde/table/act-table.tsx +17 -12
  88. package/src/aldehyde/table/modal-select-table.tsx +5 -6
  89. package/src/aldehyde/table/query-table.tsx +3 -2
  90. package/src/aldehyde/table/relation-table.tsx +2 -2
  91. package/src/aldehyde/tmpl/hcservice-v3.tsx +20 -2
  92. package/src/aldehyde/tmpl/interface.tsx +3 -0
  93. package/src/aldehyde/tmpl/model-struc-v3.tsx +98 -0
@@ -6,6 +6,7 @@ import HCDataSource from "../tmpl/hc-data-source";
6
6
  import Units from "../units";
7
7
  import HcserviceV3 from "../tmpl/hcservice-v3";
8
8
  import Action from "../controls/action";
9
+ import Scrollbars from 'react-custom-scrollbars';
9
10
 
10
11
  interface ModalEditorProps extends DtmplBaseProps {
11
12
  height?: any,
@@ -38,7 +39,7 @@ export default class DtmplEditPage extends React.PureComponent<ModalEditorProps,
38
39
  }
39
40
  static defaultProps = {
40
41
  showConfirm: true,
41
- height: 500,
42
+ height: 580,
42
43
  width:1250,
43
44
  bodyWidth:'100%',
44
45
  //antd modal
@@ -114,10 +115,14 @@ export default class DtmplEditPage extends React.PureComponent<ModalEditorProps,
114
115
  }
115
116
 
116
117
  loadData = async (dtmplConfig:DtmplConfig ) => {
117
- const { sourceId, code,defaultDtmplData,open,serverKey} = this.props;
118
+ const { sourceId, code:propsCode,defaultDtmplData,open,serverKey,codeSource} = this.props;
118
119
  if(!open){
119
120
  return;
120
121
  }
122
+ let code=propsCode;
123
+ if(!code && codeSource){
124
+ code=await HcserviceV3.queryCode(sourceId,codeSource,serverKey);
125
+ }
121
126
  if (code) {
122
127
  this.setState({
123
128
  loading: true,
@@ -198,17 +203,18 @@ export default class DtmplEditPage extends React.PureComponent<ModalEditorProps,
198
203
  width={width}
199
204
  title={title1}
200
205
  closable={false}
201
- bodyStyle={{height: height,width:bodyWidth,overflow: 'auto'}}
206
+ bodyStyle={{height: height,overflow: 'auto'}}
202
207
  destroyOnClose={true}
203
208
  centered
204
209
  onCancel={onCancel}
205
210
  footer={this.getFooter()}
206
- >
207
- {open} <div onClick={this.onClickBody}>
211
+ ><Scrollbars style={{ height: height-40 }} autoHide autoHideTimeout={1000}>
212
+ <div onClick={this.onClickBody}>
208
213
  <DtmplForm serverKey={serverKey} mainCode={mainCode} parentId={id} dtmplConfig={dtmplConfig} formRef={this.formRef} sourceId={sourceId}
209
214
  onFinish={onOk} maxColsOnRow={maxColsOnRow}
210
215
  showConfirm={false} dtmplData={dtmplData} onValuesChange={this.onValuesChange} />
211
216
  </div>
217
+ </Scrollbars>
212
218
  </Modal>
213
219
  :pageType=='drawer'?
214
220
  <Drawer
@@ -95,10 +95,14 @@ export default class DtmplEditPage extends React.PureComponent<ModalEditorProps,
95
95
  }
96
96
 
97
97
  loadData = async (dtmplConfig:DtmplConfig ) => {
98
- const { sourceId, code,defaultDtmplData,open,serverKey} = this.props;
98
+ const { sourceId, code:propsCode,defaultDtmplData,open,serverKey,codeSource} = this.props;
99
99
  if(!open){
100
100
  return;
101
101
  }
102
+ let code=propsCode;
103
+ if(!code && codeSource){
104
+ code=await HcserviceV3.queryCode(sourceId,codeSource,serverKey);
105
+ }
102
106
  if (code) {
103
107
  this.setState({
104
108
  loading: true,
@@ -1,6 +1,7 @@
1
1
  import React from 'react'
2
2
  import ActDtmplView from "./../detail/view/act-dtmpl-view";
3
3
  import DtmplEditModal from './dtmpl-edit-modal';
4
+ import {CodeSource} from "../tmpl/interface";
4
5
 
5
6
  //以列表为入口的,页面内列表,基本原则是所有交互在页面内完成,不会触发路由。
6
7
 
@@ -10,6 +11,7 @@ export interface DtmplViewCardProps {
10
11
  code?:string;
11
12
  mainCode?:string;
12
13
  editable?:boolean;
14
+ codeSource?:CodeSource,
13
15
  };
14
16
 
15
17
  export interface DtmplViewCardState {
@@ -49,10 +51,10 @@ class DtmplViewCard extends React.PureComponent<DtmplViewCardProps, DtmplViewCar
49
51
 
50
52
  render() {
51
53
  const {showDtmplEdit} = this.state;
52
- const { sourceId,code,mainCode,editable,serverKey} = this.props;
54
+ const { sourceId,code,mainCode,editable,serverKey,codeSource} = this.props;
53
55
  return <>
54
- <ActDtmplView serverKey={serverKey} goDtmpl={editable?this.goDtmpl:null} sourceId={sourceId} code={code} mainCode={mainCode}></ActDtmplView>
55
- {showDtmplEdit? <DtmplEditModal serverKey={serverKey} open={showDtmplEdit} onCancel={()=>{
56
+ <ActDtmplView codeSource={codeSource} serverKey={serverKey} goDtmpl={editable?this.goDtmpl:null} sourceId={sourceId} code={code} mainCode={mainCode}></ActDtmplView>
57
+ {showDtmplEdit? <DtmplEditModal codeSource={codeSource} serverKey={serverKey} open={showDtmplEdit} onCancel={()=>{
56
58
  this.setState({
57
59
  showDtmplEdit:false,
58
60
  })}}
@@ -39,7 +39,7 @@ class DtmplViewDrawer extends React.PureComponent<DtmplViewDrawerProps, DtmplVie
39
39
  }
40
40
 
41
41
  render() {
42
- const {title,sourceId,code,placement,open,onClose,width,cancelText,editable,serverKey}=this.props;
42
+ const {title,sourceId,code,placement,open,onClose,width,cancelText,editable,serverKey,codeSource}=this.props;
43
43
  return (<Drawer
44
44
  placement={placement}
45
45
  title={<>{title}</>}
@@ -57,7 +57,7 @@ class DtmplViewDrawer extends React.PureComponent<DtmplViewDrawerProps, DtmplVie
57
57
  </Space>
58
58
  }
59
59
  >
60
- <DtmplViewCard serverKey={serverKey} editable={editable} sourceId={sourceId} code={code}></DtmplViewCard>
60
+ <DtmplViewCard codeSource={codeSource} serverKey={serverKey} editable={editable} sourceId={sourceId} code={code}></DtmplViewCard>
61
61
  </Drawer>)
62
62
  }
63
63
  }
@@ -2,7 +2,7 @@ import React, {ReactNode} from 'react'
2
2
  import { Modal} from 'antd'
3
3
  import DtmplViewCard from "./dtmpl-view-card";
4
4
  import {DtmplBaseProps} from "../tmpl/interface";
5
-
5
+ import Scrollbars from 'react-custom-scrollbars';
6
6
  interface DtmplViewModalProps extends DtmplBaseProps{
7
7
  title?:ReactNode,
8
8
  open: boolean,
@@ -34,7 +34,7 @@ class DtmplViewModal extends React.PureComponent<DtmplViewModalProps, DtmplViewM
34
34
  }
35
35
 
36
36
  render() {
37
- const {title,sourceId,code,open,onClose,width,height,serverKey}=this.props;
37
+ const {title,sourceId,code,open,onClose,width,height,serverKey,codeSource}=this.props;
38
38
  return <Modal
39
39
  open={open}
40
40
  width={width}
@@ -43,7 +43,10 @@ class DtmplViewModal extends React.PureComponent<DtmplViewModalProps, DtmplViewM
43
43
  destroyOnClose={true}
44
44
  centered
45
45
  onCancel={onClose}
46
- ><DtmplViewCard serverKey={serverKey} sourceId={sourceId} code={code}></DtmplViewCard>
46
+ >
47
+ <Scrollbars style={{ height: Number(height)-40 }} autoHide autoHideTimeout={1000}>
48
+ <DtmplViewCard codeSource={codeSource} serverKey={serverKey} sourceId={sourceId} code={code}></DtmplViewCard>
49
+ </Scrollbars>
47
50
  </Modal>
48
51
  }
49
52
  }
@@ -1,7 +1,7 @@
1
1
  import React, {ReactNode} from 'react';
2
2
  import { Modal,Button,Card} from 'antd'
3
3
  import LtmplTable, {LtmplTableProps} from "./ltmpl-table";
4
-
4
+ import Scrollbars from 'react-custom-scrollbars';
5
5
 
6
6
  interface LtmplDrawPageProps extends LtmplTableProps {
7
7
  onCancel: () => void,
@@ -19,10 +19,10 @@ export default class LtmplDrawer extends React.PureComponent<LtmplDrawPageProps,
19
19
 
20
20
  static defaultProps = {
21
21
  showConfirm: true,
22
- height: 560,
22
+ height: 580,
23
23
  width:1250,
24
24
  forceRender: true,
25
- style: {maxWidth: 'calc(100vw - 60px)', maxHeight: 'calc(100vh - 50px)'},
25
+ style: {maxWidth: 'calc(100vw - 60px)', maxHeight: 'calc(100vh - 50px)',padding:10},
26
26
  okText: "确定",
27
27
  cancelText: "取消",
28
28
  }
@@ -34,22 +34,24 @@ export default class LtmplDrawer extends React.PureComponent<LtmplDrawPageProps,
34
34
  render() {
35
35
  const {title,height,width,onCancel,open,...other} = this.props
36
36
 
37
- return (<Modal
37
+ return ( <Modal
38
38
  open={open}
39
39
  width={width}
40
40
  title={title}
41
41
  closable={false}
42
- bodyStyle={{height: height, overflow: 'auto'}}
42
+ bodyStyle={{height: height, overflow: 'auto',padding:6}}
43
43
  destroyOnClose={true}
44
44
  centered
45
45
  onOk={onCancel}
46
46
  onCancel={onCancel}
47
47
  footer={[<Button onClick={onCancel}>关 闭</Button>]}
48
- >
48
+ > <Scrollbars style={{ height: Number(height)-40 }} autoHide autoHideTimeout={1000}>
49
49
  <Card bordered={false} bodyStyle={{padding:'4px 0 0 0'}} >
50
+
50
51
  <LtmplTable {...other}></LtmplTable>
51
- </Card>
52
52
 
53
+ </Card>
54
+ </Scrollbars>
53
55
  </Modal>
54
56
  )
55
57
 
@@ -1,6 +1,6 @@
1
1
  import React from 'react'
2
2
  import { Empty} from 'antd';
3
- import {RouterCompProps} from '../tmpl/interface';
3
+ import {CodeSource, RouterCompProps} from '../tmpl/interface';
4
4
  import DtmplEdit from "../detail/edit/dtmpl-edit";
5
5
  import ActDtmplView from '../detail/view/act-dtmpl-view';
6
6
  import HcserviceV3 from "../tmpl/hcservice-v3";
@@ -12,7 +12,7 @@ export interface DtmplRouteProps extends RouterCompProps {
12
12
  };
13
13
 
14
14
  export interface DtmplRoutePropsStat {
15
- codeSource?:'new'|'listop'|'listop-new'|undefined,
15
+ codeSource?:CodeSource,
16
16
  queriedCode?:string,
17
17
  };
18
18
 
@@ -46,22 +46,11 @@ class DtmplRoute extends React.Component<DtmplRouteProps, DtmplRoutePropsStat> {
46
46
  queryCode=async ()=>{
47
47
  const {params}=this.props;
48
48
  const {sourceId} = params;
49
- let codeSource:'new'|'listop'|'listop-new'|undefined=this.getCodeSource();
50
- let queriedCode=undefined;
51
- if(codeSource){
52
- if( codeSource=='listop'){
53
- queriedCode=await HcserviceV3.queryTop1(null,sourceId);
54
- if(!queriedCode){
55
- queriedCode="bad-code";
56
- }
57
- }else if( codeSource=='listop-new'){
58
- queriedCode=await HcserviceV3.queryTop1(null,sourceId);
59
- }else if(codeSource=='new'){
60
- queriedCode=null;
61
- }
62
- }
49
+ let codeSource:CodeSource=this.getCodeSource();
50
+ let queriedCode=await HcserviceV3.queryCode(sourceId,codeSource);
63
51
  this.setState({
64
- codeSource,queriedCode
52
+ codeSource,
53
+ queriedCode
65
54
  })
66
55
  }
67
56
 
@@ -84,15 +73,6 @@ class DtmplRoute extends React.Component<DtmplRouteProps, DtmplRoutePropsStat> {
84
73
  }
85
74
 
86
75
  goBackToLtmpl=()=>{
87
- // const { sourceId,} = this.props.match.params;
88
- // const {basePath}=this.props;
89
- //
90
- // let url=`${basePath}/${sourceId}/act-table?menuId=${this.getMenuId()}`;
91
- // let mainCode=this.getMainCode();
92
- // if(mainCode){
93
- // url=url+`&mainCode=${mainCode}`;
94
- // }
95
- //this.props.history.push(url);
96
76
  this.props.navigate(-1);
97
77
  }
98
78
 
@@ -486,8 +486,8 @@ class ActTable extends React.PureComponent<ActTableProps, ActTableStat> {
486
486
  doSelectedCQuery = async (cqueryId: string) => {
487
487
  }
488
488
 
489
- doJump = async (jump: JumpConfig, record: object) => {
490
- const {ltmplConfig} = this.props
489
+ doJump = async (jump: JumpConfig, record: DtmplData) => {
490
+ // const {ltmplConfig} = this.props
491
491
  // let result = await HcserviceV3.postJumps(jumpId, code);
492
492
  //
493
493
  // if (result.status === "success") {
@@ -520,7 +520,7 @@ class ActTable extends React.PureComponent<ActTableProps, ActTableStat> {
520
520
  //根据参数名匹配参数
521
521
  for(let p of routeParamConfigs){
522
522
  if(pa == p.title){//赋值替换
523
- paths[i]=record[p.id];
523
+ paths[i]=record.fieldMap[p.id];
524
524
  break;
525
525
  }
526
526
  }
@@ -533,24 +533,29 @@ class ActTable extends React.PureComponent<ActTableProps, ActTableStat> {
533
533
 
534
534
  //处理search 参数
535
535
  let searchParamConfigs=jump.searchParams;
536
+ let searchs=[];
537
+ //放入token
538
+ if(jump.tokenName){
539
+ searchs[0]=jump.tokenName+"="+Units.hydrocarbonToken();
540
+ }
541
+
536
542
  if(searchParamConfigs){
537
- let searchs=[];
538
- for(let i=0;i<searchParamConfigs.length;i++){
543
+ for(let i=searchs.length;i<searchParamConfigs.length+searchs.length;i++){
539
544
  let p= searchParamConfigs[i];
540
- searchs[i]=p.title+"="+ (record[p.id]?record[p.id]:p.defaultValue);
545
+ searchs[i]=p.title+"="+ (record.fieldMap[p.id]?record.fieldMap[p.id]:p.defaultValue);
541
546
  }
542
- if(searchs.length>0){
543
- if( url.indexOf("?")!=url.length-1){
544
- url=url+"?";
545
- }
546
- url=url+searchs.join("&");
547
+ }
548
+ if(searchs.length>0){
549
+ if( url.indexOf("?")!=url.length-1){
550
+ url=url+"?";
547
551
  }
552
+ url=url+searchs.join("&");
548
553
  }
549
554
 
550
555
  window.open(url);
551
556
  }
552
557
 
553
- doRowJump = async (jump: JumpConfig, record: object) => {
558
+ doRowJump = async (jump: JumpConfig, record: DtmplData) => {
554
559
  this.doJump(jump, record);
555
560
  }
556
561
 
@@ -10,7 +10,7 @@ import QueryTable from './query-table';
10
10
  import CriteriaForm from "../form/criteria-form";
11
11
  import ViewControl from "../controls/view-control";
12
12
  import SelectedRowsCard from './selected-rows-card'
13
-
13
+ import Scrollbars from 'react-custom-scrollbars';
14
14
  interface ModelSelectTableProps {
15
15
  maxSelectedRows: number,
16
16
  open: boolean,
@@ -236,21 +236,20 @@ class ModelSelectTable extends React.PureComponent<ModelSelectTableProps, ModelS
236
236
  <Modal
237
237
  open={open}
238
238
  title={<SelectedRowsCard value={selectedRows} onChange={this.changeRowSelection}></SelectedRowsCard>}
239
- style={{maxWidth: 'calc(100vw - 60px)', maxHeight: 'calc(100vh - 50px)'}}
240
- width={'1250px'}
239
+ width={1150}
241
240
  destroyOnClose={true}
242
241
  centered
243
- bodyStyle={{height: 500, overflow: 'auto'}}
242
+ bodyStyle={{height: 470, overflow: 'auto'}}
244
243
  onCancel={this.handleCancel}
245
244
  onOk={this.handleOk}
246
- >
245
+ ><Scrollbars style={{ height: 470 }} autoHide autoHideTimeout={1000}>
247
246
  <div className="actTable">
248
247
  <CriteriaForm serverKey={serverKey} selectedRows={selectedRows} ltmplConfig={selectConfig} data={criteriaData}
249
248
  doSearch={this.doSearch} loading={loading} />
250
249
  <QueryTable serverKey={serverKey} pageInfo={{pageNo:pageNo?pageNo:1,pageSize:pageSize?pageSize:selectConfig.defaultPageSize}} onChangePage={this.onChangePage} maxSelectedRows={maxSelectedRows} selectedRows={selectedRows} columns={columns}
251
250
  queryKey={queryKey}
252
251
  onChangeRowSelection={this.changeRowSelection}/>
253
- </div>
252
+ </div> </Scrollbars>
254
253
  </Modal>
255
254
  );
256
255
  }
@@ -16,7 +16,7 @@ import {TableRowSelection} from "antd/lib/table/interface";
16
16
  import {SortableContainer, SortableElement} from "react-sortable-hoc";
17
17
  import {arrayMoveImmutable} from 'array-move';
18
18
  import ViewControl from "../controls/view-control";
19
-
19
+ import Scrollbars from 'react-custom-scrollbars';
20
20
  const {Panel} = Collapse;
21
21
  const SortableItem = SortableElement(props => <tr {...props} />);
22
22
  const SortableBody = SortableContainer(props => <tbody {...props} />);
@@ -318,7 +318,8 @@ class QueryTable extends React.PureComponent<QueryTableProps, QueryTableStat> {
318
318
  },
319
319
  }}
320
320
  >
321
- </Table> : ""}
321
+ </Table>
322
+ : ""}
322
323
  <Pagination touchEnd={touchEnd} pageInfo={{...pageInfo, virtualEndPageNo}} pageTo={this.pageTo}
323
324
  queryTotal={this.queryTotal}
324
325
  total={total}/>
@@ -523,7 +523,7 @@ class RelationTable extends React.PureComponent<RelationTableProps, RelationTabl
523
523
  defaultCurrent: 1,
524
524
  total: value ? value.length : undefined,
525
525
  showTotal: (total) => {
526
- return `总共有${total}条`;
526
+ return `共${total}条`;
527
527
  }
528
528
  }
529
529
  let exceptCodes = [];
@@ -551,7 +551,7 @@ class RelationTable extends React.PureComponent<RelationTableProps, RelationTabl
551
551
  >
552
552
  <div className="editTableList">
553
553
  {this.buildButtons()}
554
- <Table size={'small'} scroll={{scrollToFirstRowOnChange: false}}
554
+ <Table size={'small'}
555
555
  locale={{
556
556
  emptyText: <div style={{textAlign: 'center', width: '100%'}}><Text
557
557
  disabled>暂无数据...</Text></div>
@@ -3,7 +3,7 @@ import Super from "./superagent";
3
3
  import {message} from 'antd'
4
4
  import EncryptUtils from '../units/EncryptUtils'
5
5
  import format from 'dayjs';
6
- import {PageInfo, SelectedRow} from "./interface";
6
+ import {CodeSource, PageInfo, SelectedRow} from "./interface";
7
7
  import HCDataSource from "./hc-data-source";
8
8
 
9
9
  import {ProgramConfig} from "../index";
@@ -130,7 +130,7 @@ export default class HcserviceV3 {
130
130
  }
131
131
 
132
132
  static async queryTop1(serverKey:string,sourceId:string){
133
- let data= await HcserviceV3.requestMstrucLtmplQueryTop(serverKey,sourceId,{top:1});
133
+ let data= await this.requestMstrucLtmplQueryTop(serverKey,sourceId,{top:1});
134
134
  let queriedCode=null;
135
135
  if(data && data.entities && data.entities[0]){
136
136
  queriedCode=data.entities[0].code
@@ -491,6 +491,24 @@ export default class HcserviceV3 {
491
491
  // Units.downloadFile(url, "详情");
492
492
  // }
493
493
 
494
+ static async queryCode(sourceId:string,codeSource:CodeSource,serverKey?:string) {
495
+
496
+ let queriedCode=undefined;
497
+ if(codeSource){
498
+ if( codeSource=='listop'){
499
+ queriedCode=await this.queryTop1(serverKey,sourceId);
500
+ if(!queriedCode){
501
+ queriedCode="bad-code";
502
+ }
503
+ }else if( codeSource=='listop-new'){
504
+ queriedCode=await this.queryTop1(serverKey,sourceId);
505
+ }else if(codeSource=='new'){
506
+ queriedCode=null;
507
+ }
508
+ }
509
+ return queriedCode;
510
+ }
511
+
494
512
  static download(serverKey:string,path) {
495
513
  let vars = path.split("/");
496
514
  let fileName = vars[vars.length - 1]
@@ -106,6 +106,8 @@ export interface ColumnConfig extends FieldConfig {
106
106
  statColType?: StatColType;
107
107
  }
108
108
 
109
+ export type CodeSource = 'new'|'listop'|'listop-new'|undefined;
110
+
109
111
  export type FieldGroupType = 'relation' | 'fieldGroup' ;
110
112
 
111
113
  export type ButtonName = 'rowAdd' | 'rowEdit' | 'batchDelete'|'singleDelete'| 'selectAdd' | 'dtmplAdd' | 'dtmplEdit' | 'copy'|
@@ -322,6 +324,7 @@ export interface TmplBaseProps {
322
324
  };
323
325
 
324
326
  export interface DtmplBaseProps extends TmplBaseProps {
327
+ codeSource?:CodeSource,
325
328
  showConfirm?: boolean,
326
329
  code?: string,
327
330
  defaultDtmplData?:DtmplData,
@@ -0,0 +1,98 @@
1
+
2
+ import {message} from 'antd'
3
+ import Superagent from "./superagent";
4
+
5
+
6
+ export default class ModelStrucV3 {
7
+
8
+ static url='/v3/mstruc/data';
9
+
10
+ static async post(sourceId:string,jsonEntity:object,serverKey?:string,){
11
+ const formData = new FormData();
12
+ formData.append('sourceId', sourceId);
13
+ formData.append('jsonEntity', JSON.stringify(jsonEntity));
14
+ let res = await Superagent.super({
15
+ url:this.url,
16
+ serverKey,
17
+ data: formData,
18
+ method: 'POST'
19
+ }, 'formdata',null)
20
+ let code = null;
21
+ if (res) {
22
+ if (res.status === "success") {
23
+ if (message) {
24
+ if (res.message) {
25
+ message.warning("保存成功! " + res.message, 4);
26
+ } else{
27
+ message.success("保存成功! ",1);
28
+ }
29
+ }
30
+ code = res.entityCode ? res.entityCode : res.code;
31
+ }
32
+ } else {
33
+ if (message) {
34
+ message.error("保存失败");
35
+ }
36
+ }
37
+ return {code, status: res?res.status:'error'};
38
+
39
+ }
40
+
41
+ static async get(sourceId:string,params?:object,serverKey?:string,){
42
+
43
+ let res = await Superagent.super({
44
+ url:this.url,
45
+ serverKey,
46
+ query: {pageSize:1000,sourceId,...params},
47
+ method: 'GET'
48
+ }, null,null)
49
+ let code = null;
50
+ if (res) {
51
+ if (res.status === "success") {
52
+ if (message) {
53
+ if (res.message) {
54
+ message.warning("查询成功! " + res.message, 4);
55
+ }
56
+ }
57
+ code = res.entityCode ? res.entityCode : res.code;
58
+ }else{
59
+ message.error("查询失败! " + res.message, 6);
60
+ }
61
+ } else {
62
+ if (message) {
63
+ message.error("查询失败");
64
+ }
65
+ }
66
+ return res?res:{status:"error"};
67
+ }
68
+
69
+ static async delete(sourceId:string,codes:string[],serverKey?:string,){
70
+
71
+ let res = await Superagent.super({
72
+ url:this.url,
73
+ serverKey,
74
+ query: {sourceId,codes},
75
+ method: 'DELETE'
76
+ }, null,null)
77
+ let code = null;
78
+ if (res) {
79
+ if (res.status === "success") {
80
+ if (message) {
81
+ if (res.message) {
82
+ message.warning("删除成功! " + res.message, 4);
83
+ }
84
+ }
85
+ code = res.entityCode ? res.entityCode : res.code;
86
+ }else{
87
+ message.error("删除失败! " + res.message, 6);
88
+ }
89
+ } else {
90
+ if (message) {
91
+ message.error("删除失败");
92
+ }
93
+ }
94
+ return res;
95
+ }
96
+
97
+
98
+ }