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.
- package/lib/controls/action/index.d.ts +1 -1
- package/lib/controls/action/index.d.ts.map +1 -1
- package/lib/controls/entity-select/entity-select.d.ts.map +1 -1
- package/lib/controls/entity-select/entity-select.js +3 -3
- package/lib/controls/entity-select/entity-select.js.map +1 -1
- package/lib/custom-page/dtmpl-custom-edit-modal-page.js +1 -1
- package/lib/detail/edit/dtmpl-edit.d.ts.map +1 -1
- package/lib/detail/edit/dtmpl-edit.js +5 -1
- package/lib/detail/edit/dtmpl-edit.js.map +1 -1
- package/lib/detail/view/act-dtmpl-view.js +2 -2
- package/lib/detail/view/act-dtmpl-view.js.map +1 -1
- package/lib/detail/view/dtmpl-view.d.ts.map +1 -1
- package/lib/detail/view/dtmpl-view.js +5 -1
- package/lib/detail/view/dtmpl-view.js.map +1 -1
- package/lib/detail/view/modal-dtmpl-view.d.ts.map +1 -1
- package/lib/detail/view/modal-dtmpl-view.js +3 -1
- package/lib/detail/view/modal-dtmpl-view.js.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/module/dtmpl-edit-card.d.ts.map +1 -1
- package/lib/module/dtmpl-edit-card.js +5 -1
- package/lib/module/dtmpl-edit-card.js.map +1 -1
- package/lib/module/dtmpl-edit-page.d.ts.map +1 -1
- package/lib/module/dtmpl-edit-page.js +11 -7
- package/lib/module/dtmpl-edit-page.js.map +1 -1
- package/lib/module/dtmpl-editor.d.ts.map +1 -1
- package/lib/module/dtmpl-editor.js +5 -1
- package/lib/module/dtmpl-editor.js.map +1 -1
- package/lib/module/dtmpl-view-card.d.ts +2 -0
- package/lib/module/dtmpl-view-card.d.ts.map +1 -1
- package/lib/module/dtmpl-view-card.js +3 -3
- package/lib/module/dtmpl-view-card.js.map +1 -1
- package/lib/module/dtmpl-view-drawer.js +2 -2
- package/lib/module/dtmpl-view-drawer.js.map +1 -1
- package/lib/module/dtmpl-view-modal.d.ts.map +1 -1
- package/lib/module/dtmpl-view-modal.js +4 -2
- package/lib/module/dtmpl-view-modal.js.map +1 -1
- package/lib/module/ltmpl-modal.d.ts +1 -0
- package/lib/module/ltmpl-modal.d.ts.map +1 -1
- package/lib/module/ltmpl-modal.js +8 -5
- package/lib/module/ltmpl-modal.js.map +1 -1
- package/lib/routable/dtmpl-route.d.ts +2 -2
- package/lib/routable/dtmpl-route.d.ts.map +1 -1
- package/lib/routable/dtmpl-route.js +3 -25
- package/lib/routable/dtmpl-route.js.map +1 -1
- package/lib/table/act-table.d.ts +2 -2
- package/lib/table/act-table.d.ts.map +1 -1
- package/lib/table/act-table.js +14 -10
- package/lib/table/act-table.js.map +1 -1
- package/lib/table/modal-select-table.d.ts.map +1 -1
- package/lib/table/modal-select-table.js +7 -4
- package/lib/table/modal-select-table.js.map +1 -1
- package/lib/table/query-table.d.ts.map +1 -1
- package/lib/table/query-table.js +2 -1
- package/lib/table/query-table.js.map +1 -1
- package/lib/table/relation-table.js +2 -2
- package/lib/table/relation-table.js.map +1 -1
- package/lib/tmpl/hcservice-v3.d.ts +2 -1
- package/lib/tmpl/hcservice-v3.d.ts.map +1 -1
- package/lib/tmpl/hcservice-v3.js +21 -1
- package/lib/tmpl/hcservice-v3.js.map +1 -1
- package/lib/tmpl/interface.d.ts +2 -0
- package/lib/tmpl/interface.d.ts.map +1 -1
- package/lib/tmpl/interface.js.map +1 -1
- package/lib/tmpl/model-struc-v3.d.ts +10 -0
- package/lib/tmpl/model-struc-v3.d.ts.map +1 -0
- package/lib/tmpl/model-struc-v3.js +109 -0
- package/lib/tmpl/model-struc-v3.js.map +1 -0
- package/package.json +2 -2
- package/src/aldehyde/controls/entity-select/entity-select.tsx +4 -3
- package/src/aldehyde/custom-page/dtmpl-custom-edit-modal-page.tsx +1 -1
- package/src/aldehyde/detail/edit/dtmpl-edit.tsx +5 -1
- package/src/aldehyde/detail/view/act-dtmpl-view.tsx +2 -2
- package/src/aldehyde/detail/view/dtmpl-view.tsx +5 -1
- package/src/aldehyde/detail/view/modal-dtmpl-view.tsx +3 -0
- package/src/aldehyde/index.tsx +3 -1
- package/src/aldehyde/module/dtmpl-edit-card.tsx +5 -1
- package/src/aldehyde/module/dtmpl-edit-page.tsx +11 -5
- package/src/aldehyde/module/dtmpl-editor.tsx +5 -1
- package/src/aldehyde/module/dtmpl-view-card.tsx +5 -3
- package/src/aldehyde/module/dtmpl-view-drawer.tsx +2 -2
- package/src/aldehyde/module/dtmpl-view-modal.tsx +6 -3
- package/src/aldehyde/module/ltmpl-modal.tsx +9 -7
- package/src/aldehyde/routable/dtmpl-route.tsx +6 -26
- package/src/aldehyde/table/act-table.tsx +17 -12
- package/src/aldehyde/table/modal-select-table.tsx +5 -6
- package/src/aldehyde/table/query-table.tsx +3 -2
- package/src/aldehyde/table/relation-table.tsx +2 -2
- package/src/aldehyde/tmpl/hcservice-v3.tsx +20 -2
- package/src/aldehyde/tmpl/interface.tsx +3 -0
- 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:
|
|
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,
|
|
206
|
+
bodyStyle={{height: height,overflow: 'auto'}}
|
|
202
207
|
destroyOnClose={true}
|
|
203
208
|
centered
|
|
204
209
|
onCancel={onCancel}
|
|
205
210
|
footer={this.getFooter()}
|
|
206
|
-
>
|
|
207
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
|
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?:
|
|
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:
|
|
50
|
-
let
|
|
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,
|
|
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:
|
|
490
|
-
|
|
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
|
-
|
|
543
|
-
|
|
544
|
-
|
|
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:
|
|
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
|
-
|
|
240
|
-
width={'1250px'}
|
|
239
|
+
width={1150}
|
|
241
240
|
destroyOnClose={true}
|
|
242
241
|
centered
|
|
243
|
-
bodyStyle={{height:
|
|
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
|
|
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'}
|
|
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
|
|
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
|
+
}
|