kts-components-document-access-point 1.1.22 → 1.1.26
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/dist/DocumentWhiteList/control/actions/setmode/index.d.ts +1 -2
- package/dist/DocumentWhiteList/control/index.d.ts +1 -1
- package/dist/DocumentWhiteList/interface/index.d.ts +1 -1
- package/dist/DocumentsList/ui/PageHeader/SendHeader.d.ts +2 -0
- package/dist/DocumentsList/ui/{PageUi → PageUI}/index.d.ts +0 -0
- package/dist/index.esm.js +279 -147
- package/dist/index.js +279 -147
- package/package.json +1 -1
- package/src/DocumentWhiteList/control/actions/addblack/index.ts +1 -1
- package/src/DocumentWhiteList/control/actions/addwhite/index.ts +1 -1
- package/src/DocumentWhiteList/control/actions/blacklist/index.ts +1 -1
- package/src/DocumentWhiteList/control/actions/checkclient/index.ts +1 -1
- package/src/DocumentWhiteList/control/actions/enableblacklist/index.ts +1 -1
- package/src/DocumentWhiteList/control/actions/enablelist/index.ts +1 -1
- package/src/DocumentWhiteList/control/actions/enablewhitelist/index.ts +1 -1
- package/src/DocumentWhiteList/control/actions/getmode/index.ts +1 -2
- package/src/DocumentWhiteList/control/actions/setmode/index.ts +2 -2
- package/src/DocumentWhiteList/control/actions/synclist/index.ts +1 -1
- package/src/DocumentWhiteList/control/actions/whitelist/index.ts +1 -1
- package/src/DocumentWhiteList/interface/index.ts +1 -1
- package/src/DocumentWhiteList/ui/main/black.tsx +4 -2
- package/src/DocumentWhiteList/ui/main/index.tsx +8 -9
- package/src/DocumentWhiteList/ui/main/switchmode.tsx +5 -5
- package/src/DocumentWhiteList/ui/main/white.tsx +4 -2
- package/src/DocumentsEdit/DocumentsEditController/DocumentsEditControllerState/index.ts +1 -1
- package/src/DocumentsEdit/DocumentsEditController/actions/editProperties/index.ts +9 -4
- package/src/DocumentsEdit/___demo___/monitor/index.tsx +1 -0
- package/src/DocumentsEdit/ui/PropertyTable/hooks/useTableProps/index.tsx +1 -0
- package/src/DocumentsList/DocumentsListController/actions/typelist/index.ts +1 -1
- package/src/DocumentsList/index.tsx +2 -2
- package/src/DocumentsList/ui/ModalComfirm/index.tsx +4 -4
- package/src/DocumentsList/ui/PageHeader/SendHeader.tsx +230 -0
- package/src/DocumentsList/ui/PageHeader/index.tsx +130 -62
- package/src/DocumentsList/ui/RuleTable/index.tsx +9 -8
- package/src/DocumentsList/ui/sendlist/index.tsx +53 -19
- package/src/DocumentsRule/ui/main/index.tsx +8 -8
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@ import { IFilter } from '../../../interface'
|
|
|
4
4
|
import { message } from 'kts-components-antd-x4';
|
|
5
5
|
|
|
6
6
|
export default async (s: ControllerState, params?: IFilter[]) => {
|
|
7
|
-
const res = await DocumentsService.instance.service?.call({ url: '/dap/whiteblacklist/config/addBatchBlackList', data: params, type: 'post' }) as any;
|
|
7
|
+
const res = await DocumentsService.instance.service?.call({ url: '/dap/web/whiteblacklist/config/addBatchBlackList', data: params, type: 'post' }) as any;
|
|
8
8
|
if (res.err) {
|
|
9
9
|
return false;
|
|
10
10
|
}
|
|
@@ -4,7 +4,7 @@ import { IFilter } from '../../../interface'
|
|
|
4
4
|
import { message } from 'kts-components-antd-x4';
|
|
5
5
|
|
|
6
6
|
export default async (s: ControllerState, params?: IFilter[]) => {
|
|
7
|
-
const res = await DocumentsService.instance.service?.call({ url: '/dap/whiteblacklist/config/addBatchWhiteList', data: params, type: 'post' }) as any;
|
|
7
|
+
const res = await DocumentsService.instance.service?.call({ url: '/dap/web/whiteblacklist/config/addBatchWhiteList', data: params, type: 'post' }) as any;
|
|
8
8
|
if (res.err) {
|
|
9
9
|
return false;
|
|
10
10
|
}
|
|
@@ -5,7 +5,7 @@ import { IParams } from '../../../interface'
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
export default async (s: ControllerState, params?: IParams) => {
|
|
8
|
-
const res = await DocumentsService.instance.service?.call({ url: '/dap/whiteblacklist/config/queryBlackListPage', data: params, type: 'post' }) as any;
|
|
8
|
+
const res = await DocumentsService.instance.service?.call({ url: '/dap/web/whiteblacklist/config/queryBlackListPage', data: params, type: 'post' }) as any;
|
|
9
9
|
if (res.err) {
|
|
10
10
|
return false;
|
|
11
11
|
}
|
|
@@ -4,7 +4,7 @@ import { DocumentsService } from "../../../..";
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
export default async (s: ControllerState,) => {
|
|
7
|
-
const res = await DocumentsService.instance.service?.call({ url: '/dap/whiteblacklist/config/showButton', data: {}, type: 'post' }) as any;
|
|
7
|
+
const res = await DocumentsService.instance.service?.call({ url: '/dap/web/whiteblacklist/config/showButton', data: {}, type: 'post' }) as any;
|
|
8
8
|
if (res.err) {
|
|
9
9
|
return false;
|
|
10
10
|
}
|
|
@@ -7,7 +7,7 @@ export interface IParams{
|
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
export default async (s: ControllerState, params?: IParams,) => {
|
|
10
|
-
const res = await DocumentsService.instance.service?.call({ url: '/dap/whiteblacklist/config/enableOrDisableBlackList?status=' + params?.flag, data: params?.didList, type: 'post' }) as any;
|
|
10
|
+
const res = await DocumentsService.instance.service?.call({ url: '/dap/web/whiteblacklist/config/enableOrDisableBlackList?status=' + params?.flag, data: params?.didList, type: 'post' }) as any;
|
|
11
11
|
if (res.err) {
|
|
12
12
|
return false;
|
|
13
13
|
}
|
|
@@ -8,7 +8,7 @@ export interface IParams{
|
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
export default async (s: ControllerState, params?: IParams,) => {
|
|
11
|
-
const res = await DocumentsService.instance.service?.call({ url: '/dap/whiteblacklist/config/enableList?status=' + params?.status, data: params?.didList, type: 'post' }) as any;
|
|
11
|
+
const res = await DocumentsService.instance.service?.call({ url: '/dap/web/whiteblacklist/config/enableList?status=' + params?.status, data: params?.didList, type: 'post' }) as any;
|
|
12
12
|
if (res.err) {
|
|
13
13
|
return false;
|
|
14
14
|
}
|
|
@@ -7,7 +7,7 @@ export interface IParams{
|
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
export default async (s: ControllerState, params?: IParams,) => {
|
|
10
|
-
const res = await DocumentsService.instance.service?.call({ url: '/dap/whiteblacklist/config/enableOrDisableWhiteList?status=' + params?.flag, data: params?.didList, type: 'post' }) as any;
|
|
10
|
+
const res = await DocumentsService.instance.service?.call({ url: '/dap/web/whiteblacklist/config/enableOrDisableWhiteList?status=' + params?.flag, data: params?.didList, type: 'post' }) as any;
|
|
11
11
|
if (res.err) {
|
|
12
12
|
return false;
|
|
13
13
|
}
|
|
@@ -5,12 +5,11 @@ import { IParams } from '../../../interface'
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
export default async (s: ControllerState, params?: IParams) => {
|
|
8
|
-
const res = await DocumentsService.instance.service?.call({ url: '/dap/whiteblacklist/config/whitelistSwitchStatus', data: null, type: 'get' }) as any;
|
|
8
|
+
const res = await DocumentsService.instance.service?.call({ url: '/dap/web/whiteblacklist/config/whitelistSwitchStatus', data: null, type: 'get' }) as any;
|
|
9
9
|
if (res.err) {
|
|
10
10
|
return false;
|
|
11
11
|
}
|
|
12
12
|
if (res.res) {
|
|
13
|
-
console.log(res.res);
|
|
14
13
|
s.mode = res.res;
|
|
15
14
|
}
|
|
16
15
|
}
|
|
@@ -4,8 +4,8 @@ import { IParams } from '../../../interface'
|
|
|
4
4
|
import { message } from 'kts-components-antd-x4';
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
export default async (s: ControllerState, params
|
|
8
|
-
const res = await DocumentsService.instance.service?.call({ url: '/dap/whiteblacklist/config/updateWhitelistSwitchStatus', data:params, type: 'get' }) as any;
|
|
7
|
+
export default async (s: ControllerState, params: any) => {
|
|
8
|
+
const res = await DocumentsService.instance.service?.call({ url: '/dap/web/whiteblacklist/config/updateWhitelistSwitchStatus', data:params, type: 'get' }) as any;
|
|
9
9
|
if (res.err) {
|
|
10
10
|
return false;
|
|
11
11
|
}
|
|
@@ -10,7 +10,7 @@ export interface IParams {
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
export default async (s: ControllerState, params?: IParams) => {
|
|
13
|
-
const res = await DocumentsService.instance.service?.call({ url: '/dap/whiteblacklist/config/querySyncPage', data: params, type: 'post' }) as any;
|
|
13
|
+
const res = await DocumentsService.instance.service?.call({ url: '/dap/web/whiteblacklist/config/querySyncPage', data: params, type: 'post' }) as any;
|
|
14
14
|
if (res.err) {
|
|
15
15
|
return false;
|
|
16
16
|
}
|
|
@@ -5,7 +5,7 @@ import { IParams } from '../../../interface'
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
export default async (s: ControllerState, params?: IParams) => {
|
|
8
|
-
const res = await DocumentsService.instance.service?.call({ url: '/dap/whiteblacklist/config/queryWhiteListPage', data: params, type: 'post' }) as any;
|
|
8
|
+
const res = await DocumentsService.instance.service?.call({ url: '/dap/web/whiteblacklist/config/queryWhiteListPage', data: params, type: 'post' }) as any;
|
|
9
9
|
if (res.err) {
|
|
10
10
|
return false;
|
|
11
11
|
}
|
|
@@ -8,7 +8,7 @@ export default function Rule(props: any) {
|
|
|
8
8
|
const controller = Main.useController();
|
|
9
9
|
const list = controller.useMemo((s) => s.blacklist, []);
|
|
10
10
|
const [pageMeta, setpageMeta] = useState<{ pageSize: number, pageNum: number, total?: number }>({ pageSize: 10, pageNum: 1, total: 0, });
|
|
11
|
-
const [pageParams, setpageParams] = useState<{ pageSize?: number, pageNum?: number, total?: number }>();
|
|
11
|
+
const [pageParams, setpageParams] = useState<{ pageSize?: number, pageNum?: number, total?: number }>({ pageSize: 10, pageNum: 1, });
|
|
12
12
|
// const pageMeta = controller.useMemo((s) => s.pageMeta, []);
|
|
13
13
|
const params = controller.useMemo((s) => s.params, []);
|
|
14
14
|
const onPageChange = (pageNum: any, pageSize: any) => {
|
|
@@ -86,7 +86,9 @@ export default function Rule(props: any) {
|
|
|
86
86
|
useEffect(() => {
|
|
87
87
|
(async () => {
|
|
88
88
|
const res = await controller.getBlacklist({ ...params, ...pageParams });
|
|
89
|
-
|
|
89
|
+
if (res.res) {
|
|
90
|
+
setpageMeta(res.res.pageMeta);
|
|
91
|
+
}
|
|
90
92
|
})()
|
|
91
93
|
}, [params, pageParams]);
|
|
92
94
|
const rowSelection = useMemo(() => {
|
|
@@ -7,9 +7,8 @@ import SwitchMode from './switchmode'
|
|
|
7
7
|
export default function Rule(props: any) {
|
|
8
8
|
const [activeKey, setKey] = useState('/whitelist');
|
|
9
9
|
const controller = Main.useController();
|
|
10
|
-
const [values, setValues] = useState();
|
|
11
|
-
|
|
12
|
-
// const selectedBlackRowKey = controller.useMemo(s => s.selectedBlackRowKey, [])
|
|
10
|
+
// const [values, setValues] = useState();
|
|
11
|
+
const mode = controller.useMemo((s) => s.mode, []);
|
|
13
12
|
const tabsOnChange = useCallback((e) => {
|
|
14
13
|
setKey(e.target.value);
|
|
15
14
|
controller.pipeline(async s => {
|
|
@@ -19,12 +18,12 @@ export default function Rule(props: any) {
|
|
|
19
18
|
s.whiteParams = {}
|
|
20
19
|
})()
|
|
21
20
|
}, [])
|
|
22
|
-
const onSubmit = useCallback((data) => {
|
|
23
|
-
|
|
24
|
-
}, []);
|
|
21
|
+
// const onSubmit = useCallback((data) => {
|
|
22
|
+
// setValues(data);
|
|
23
|
+
// }, []);
|
|
25
24
|
const onClickHandler = useCallback(() => {
|
|
26
|
-
controller.setmode(
|
|
27
|
-
}, [
|
|
25
|
+
controller.setmode({status:mode});
|
|
26
|
+
}, [mode]);
|
|
28
27
|
return (
|
|
29
28
|
<>
|
|
30
29
|
{/* <PageHeaderTop
|
|
@@ -68,7 +67,7 @@ export default function Rule(props: any) {
|
|
|
68
67
|
}
|
|
69
68
|
{
|
|
70
69
|
activeKey === '/switchmode' &&
|
|
71
|
-
<SwitchMode
|
|
70
|
+
<SwitchMode />
|
|
72
71
|
}
|
|
73
72
|
</>);
|
|
74
73
|
}
|
|
@@ -30,12 +30,15 @@ export default function Rule(props: any) {
|
|
|
30
30
|
props.onSubmit(e.target.value);
|
|
31
31
|
}, []);
|
|
32
32
|
const onValuesChange = useCallback((changedvalue: any, allvalue: any) => {
|
|
33
|
-
|
|
33
|
+
controller.pipeline(async s => {
|
|
34
|
+
s.mode = allvalue.status;
|
|
35
|
+
})()
|
|
36
|
+
// console.log(allvalue);
|
|
37
|
+
// props.onSubmit(allvalue);
|
|
34
38
|
}, []);
|
|
35
39
|
return (
|
|
36
40
|
<div style={{ padding: '0 20px' }}>
|
|
37
41
|
<p style={{ fontSize: 14, color: '#0074FF', paddingTop: 18 }}>选择过滤方式</p>
|
|
38
|
-
{/* <span>您期望用哪个名单来过滤你的单据收发?</span> */}
|
|
39
42
|
<Form style={{ width: 545 }} form={form} {...formItemLayout} layout="horizontal" onValuesChange={onValuesChange}>
|
|
40
43
|
<Form.Item labelAlign="left" name="status" label='您期望用哪个名单来过滤你的单据收发?'>
|
|
41
44
|
<Radio.Group >
|
|
@@ -43,9 +46,6 @@ export default function Rule(props: any) {
|
|
|
43
46
|
<Radio value={2}>使用黑名单过滤</Radio>
|
|
44
47
|
</Radio.Group>
|
|
45
48
|
</Form.Item>
|
|
46
|
-
{/* <Form.Item {...buttonItemLayout}>
|
|
47
|
-
<Button type="primary" htmlType="submit">提交</Button>
|
|
48
|
-
</Form.Item> */}
|
|
49
49
|
</Form>
|
|
50
50
|
<p><a><InfoCircleOutlined /> 温馨提示:</a>当您使用白名单过滤时,只有白名单里面的DID才可以跟您发送或接收单据;当您使用黑名单过滤时,除了黑名单里面的DID不能给您发送和接收单据外,其他DID都可以给您发送和接收单据。</p>
|
|
51
51
|
|
|
@@ -8,7 +8,7 @@ export default function Rule(props: any) {
|
|
|
8
8
|
const controller = Main.useController();
|
|
9
9
|
const list = controller.useMemo((s) => s.whiteblacklist, []);
|
|
10
10
|
const [pageMeta, setpageMeta] = useState<{ pageSize: number, pageNum: number, total?: number }>({ pageSize: 10, pageNum: 1, total: 0, });
|
|
11
|
-
const [pageParams, setpageParams] = useState<{ pageSize?: number, pageNum?: number, total?: number }>();
|
|
11
|
+
const [pageParams, setpageParams] = useState<{ pageSize?: number, pageNum?: number, total?: number }>({ pageSize: 10, pageNum: 1, });
|
|
12
12
|
const whiteParams = controller.useMemo((s) => s.whiteParams, []);
|
|
13
13
|
const onPageChange = (pageNum: any, pageSize: any) => {
|
|
14
14
|
setpageParams({ pageNum, pageSize });
|
|
@@ -85,7 +85,9 @@ export default function Rule(props: any) {
|
|
|
85
85
|
useEffect(() => {
|
|
86
86
|
(async () => {
|
|
87
87
|
const res = await controller.getWhitelist({ ...whiteParams, ...pageParams });
|
|
88
|
-
|
|
88
|
+
if (res.res) {
|
|
89
|
+
setpageMeta(res.res.pageMeta);
|
|
90
|
+
}
|
|
89
91
|
})()
|
|
90
92
|
}, [whiteParams, pageParams]);
|
|
91
93
|
const rowSelection = useMemo(() => {
|
|
@@ -18,7 +18,7 @@ export interface IDataSource {
|
|
|
18
18
|
export default class DocumentsEditControllerState {
|
|
19
19
|
|
|
20
20
|
constructor(schema?: ISchema) {
|
|
21
|
-
this.schema = schema
|
|
21
|
+
this.schema = schema ? JSON.parse(JSON.stringify(schema)) : JSON.parse(JSON.stringify(defaultSchema));
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
/** 文档数据 */
|
|
@@ -7,8 +7,6 @@ export default async (s: DocumentsEditControllerState, options: any) => {
|
|
|
7
7
|
|
|
8
8
|
const { editProperties, properties, current } = options;
|
|
9
9
|
|
|
10
|
-
debugger;
|
|
11
|
-
|
|
12
10
|
// 对象数据
|
|
13
11
|
current.properties[properties.$name].alias = properties.title;
|
|
14
12
|
current.properties[properties.$name].detailed = properties.description;
|
|
@@ -19,9 +17,16 @@ export default async (s: DocumentsEditControllerState, options: any) => {
|
|
|
19
17
|
}
|
|
20
18
|
|
|
21
19
|
// 设置必填
|
|
22
|
-
|
|
20
|
+
const required = current.required as string[];
|
|
23
21
|
if (properties.required) {
|
|
24
|
-
|
|
22
|
+
if (required.indexOf(properties.$name) < 0) {
|
|
23
|
+
current.required.push(properties.$name)
|
|
24
|
+
}
|
|
25
|
+
} else {
|
|
26
|
+
const p = required.indexOf(properties.$name)
|
|
27
|
+
if (p >= 0) {
|
|
28
|
+
required.splice(p, 1)
|
|
29
|
+
}
|
|
25
30
|
}
|
|
26
31
|
|
|
27
32
|
const pro = (() => {
|
|
@@ -2,7 +2,7 @@ import DocumentsListControllerState from '../../DocumentsListControllerState';
|
|
|
2
2
|
import { DocumentsService } from "../../../../";
|
|
3
3
|
export default async (s: DocumentsListControllerState, params?: any) => {
|
|
4
4
|
|
|
5
|
-
const res = await DocumentsService.instance.service?.call({ url: '/dap/schema/config/queryConfigSchemaPage', data: params, type: 'post' }) as any;
|
|
5
|
+
const res = await DocumentsService.instance.service?.call({ url: '/dap/web/schema/config/queryConfigSchemaPage', data: params, type: 'post' }) as any;
|
|
6
6
|
|
|
7
7
|
if (res.err) {
|
|
8
8
|
return false;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { createContext } from 'react';
|
|
2
|
-
import PageHeader from './ui/PageHeader'
|
|
2
|
+
// import PageHeader from './ui/PageHeader'
|
|
3
3
|
import RuleTable from './ui/RuleTable'
|
|
4
4
|
import DocumentsListController from './DocumentsListController';
|
|
5
5
|
import SendList from './ui/sendlist'
|
|
@@ -21,7 +21,7 @@ const Main = (props: any) => {
|
|
|
21
21
|
return (
|
|
22
22
|
<DocumentsListContext.Provider value={controller}>
|
|
23
23
|
<div style={{ height: '100%', display: 'flex', flexDirection: 'column' }}>
|
|
24
|
-
<PageHeader />
|
|
24
|
+
{/* <PageHeader /> */}
|
|
25
25
|
{
|
|
26
26
|
type === 1 &&
|
|
27
27
|
<RuleTable />
|
|
@@ -10,7 +10,7 @@ export default function modalcomfirm(props: any) {
|
|
|
10
10
|
const [targetList, setTargetList] = useState([]);
|
|
11
11
|
useEffect(() => {
|
|
12
12
|
(async () => {
|
|
13
|
-
const res = await DocumentsService.instance.service?.call({ url: '/dap/participant/listBySubjectId', data: {}, type: 'get' }) as any;
|
|
13
|
+
const res = await DocumentsService.instance.service?.call({ url: '/dap/web/participant/listBySubjectId', data: {}, type: 'get' }) as any;
|
|
14
14
|
if (res.res) {
|
|
15
15
|
setTargetList(res.res);
|
|
16
16
|
}
|
|
@@ -24,12 +24,12 @@ export default function modalcomfirm(props: any) {
|
|
|
24
24
|
const data = selectItems.map((item: any) => {
|
|
25
25
|
return {
|
|
26
26
|
...item,
|
|
27
|
-
|
|
27
|
+
senderPartitionId: targetId,
|
|
28
28
|
privateList: [],
|
|
29
29
|
sendPublic: true
|
|
30
30
|
};
|
|
31
31
|
});
|
|
32
|
-
const res = await DocumentsService.instance.service?.call({ url: '/dap/schema/config/batchSend', data: data, type: 'post' }) as any;
|
|
32
|
+
const res = await DocumentsService.instance.service?.call({ url: '/dap/web/schema/config/batchSend', data: data, type: 'post' }) as any;
|
|
33
33
|
if (res.res) {
|
|
34
34
|
message.success('操作成功');
|
|
35
35
|
props.handleCancel()
|
|
@@ -51,7 +51,7 @@ export default function modalcomfirm(props: any) {
|
|
|
51
51
|
return (
|
|
52
52
|
<div>
|
|
53
53
|
<Modal
|
|
54
|
-
title="
|
|
54
|
+
title="请选择我司对应DID"
|
|
55
55
|
visible={true}
|
|
56
56
|
onOk={handleOk}
|
|
57
57
|
onCancel={handleCancel}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import React, { useRef, useState, useEffect, useMemo, useCallback } from 'react';
|
|
2
|
+
import { Radio, Button, Dropdown, PageHeaderFoot } from 'kts-xui';
|
|
3
|
+
import { Menu } from 'kts-components-antd-x4';
|
|
4
|
+
import { AdvancedSearch, KtsForm } from 'kts-components';
|
|
5
|
+
import { LifeCycleTypes } from '@formily/antd';
|
|
6
|
+
import Main from '../..';
|
|
7
|
+
import ModalComfirm from '../ModalComfirm'
|
|
8
|
+
import { DocumentsService } from "../../..";
|
|
9
|
+
import _ from 'lodash';
|
|
10
|
+
import { useHistory } from 'react-router-dom';
|
|
11
|
+
const { SubMenu } = Menu;
|
|
12
|
+
export default () => {
|
|
13
|
+
const history = useHistory();
|
|
14
|
+
const controller = Main.useController();
|
|
15
|
+
const type = controller.useMemo(s => s.type, [])
|
|
16
|
+
const [billEnum, setBill] = useState([]);
|
|
17
|
+
const selectedRowKey = controller.useMemo(s => s.selectedRowKey, [])
|
|
18
|
+
const params = controller.useMemo(s => s.params, [])
|
|
19
|
+
const visible = controller.useMemo(s => s.visible, []);
|
|
20
|
+
const [profileEnum, setProfile] = useState([]);
|
|
21
|
+
const [schema, setSchema] = useState({});
|
|
22
|
+
const ktsRef = useRef(null);
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
(async () => {
|
|
25
|
+
const res = await DocumentsService.instance.service?.call({ url: '/dap/web/schema/config/getDefaultTypeList', data: {}, type: 'get' }) as any;
|
|
26
|
+
if (res.err) {
|
|
27
|
+
return false;
|
|
28
|
+
} else {
|
|
29
|
+
const list = res.res.map((item: any) => {
|
|
30
|
+
return { ...item, label: item.name, value: item.value }
|
|
31
|
+
})
|
|
32
|
+
setBill(list);
|
|
33
|
+
}
|
|
34
|
+
})()
|
|
35
|
+
}, []);
|
|
36
|
+
const onSearchFormSubmit = React.useCallback((value) => {
|
|
37
|
+
value = {
|
|
38
|
+
...value,
|
|
39
|
+
typeList: value['typeList'] && [value['typeList']]
|
|
40
|
+
}
|
|
41
|
+
controller.pipeline(async s => {
|
|
42
|
+
s.params = value;
|
|
43
|
+
})()
|
|
44
|
+
}, [controller])
|
|
45
|
+
|
|
46
|
+
const switchType = React.useCallback((e) => {
|
|
47
|
+
controller.pipeline(async s => {
|
|
48
|
+
s.type = e.target.value;
|
|
49
|
+
s.params = {}
|
|
50
|
+
})()
|
|
51
|
+
}, [])
|
|
52
|
+
const handleCancel = React.useCallback(() => {
|
|
53
|
+
controller.pipeline(async s => {
|
|
54
|
+
s.visible = false;
|
|
55
|
+
})()
|
|
56
|
+
}, []);
|
|
57
|
+
const batchSend = React.useCallback(() => {
|
|
58
|
+
controller.pipeline(async s => {
|
|
59
|
+
s.visible = true;
|
|
60
|
+
})()
|
|
61
|
+
}, [controller]);
|
|
62
|
+
useEffect(() => {
|
|
63
|
+
let obj: any = {
|
|
64
|
+
type: "object",
|
|
65
|
+
properties: {
|
|
66
|
+
configName: {
|
|
67
|
+
type: "string",
|
|
68
|
+
title: "配置名称",
|
|
69
|
+
},
|
|
70
|
+
attributionList: {
|
|
71
|
+
type: "string",
|
|
72
|
+
title: "发送对象",
|
|
73
|
+
visible: type === 2 ? true : false
|
|
74
|
+
},
|
|
75
|
+
type: {
|
|
76
|
+
type: "string",
|
|
77
|
+
title: "单据大类",
|
|
78
|
+
enum: billEnum,
|
|
79
|
+
},
|
|
80
|
+
profile: {
|
|
81
|
+
type: "string",
|
|
82
|
+
title: "单据子类",
|
|
83
|
+
enum: profileEnum,
|
|
84
|
+
visible: false
|
|
85
|
+
},
|
|
86
|
+
attribution: {
|
|
87
|
+
type: "string",
|
|
88
|
+
title: "单据类型",
|
|
89
|
+
enum: [{
|
|
90
|
+
"label": "发送方",
|
|
91
|
+
"value": '1'
|
|
92
|
+
}, {
|
|
93
|
+
"label": "接收方",
|
|
94
|
+
"value": '0'
|
|
95
|
+
}],
|
|
96
|
+
'x-props': {
|
|
97
|
+
mode: "multiple"
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
'[beginCreateTime,endCreateTime]': {
|
|
101
|
+
key: "[beginCreateTime,endCreateTime",
|
|
102
|
+
name: "[beginCreateTime,endCreateTime",
|
|
103
|
+
type: "daterange",
|
|
104
|
+
title: "创建时间",
|
|
105
|
+
},
|
|
106
|
+
'[beginSendTime,endSendTime]': {
|
|
107
|
+
key: "[beginSendTime,endSendTime",
|
|
108
|
+
name: "[beginSendTime,endSendTime",
|
|
109
|
+
type: "daterange",
|
|
110
|
+
title: "更新时间",
|
|
111
|
+
},
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
setSchema(obj);
|
|
115
|
+
}, [billEnum, type, profileEnum])
|
|
116
|
+
const onCreateType = useCallback((category, record?) => {
|
|
117
|
+
history.push({ pathname: `/rule`, search: `?type=config&profile=${record && record.value || ''}&billtype=${category}` })
|
|
118
|
+
}, [])
|
|
119
|
+
const topExpand = useCallback(() => {
|
|
120
|
+
return (
|
|
121
|
+
<div style={{ display: 'flex' }}>
|
|
122
|
+
<div style={{ marginRight: 10 }}>
|
|
123
|
+
<Radio.Group value={type} onChange={switchType}>
|
|
124
|
+
<Radio.Button value={1}>单据校验规则配置</Radio.Button>
|
|
125
|
+
<Radio.Button value={2}>发布记录</Radio.Button>
|
|
126
|
+
</Radio.Group>
|
|
127
|
+
</div>
|
|
128
|
+
<AdvancedSearch
|
|
129
|
+
width={480}
|
|
130
|
+
height={44}
|
|
131
|
+
compact={true}
|
|
132
|
+
defaultKey="configName"
|
|
133
|
+
placeholder="输入配置名称"
|
|
134
|
+
searchFormSubmit={onSearchFormSubmit}
|
|
135
|
+
>
|
|
136
|
+
<KtsForm
|
|
137
|
+
ref={ktsRef}
|
|
138
|
+
labelCol={9}
|
|
139
|
+
wrapperCol={15}
|
|
140
|
+
labelAlign='left'
|
|
141
|
+
compact={true}
|
|
142
|
+
schema={schema}
|
|
143
|
+
defaultValue={_.pick(params, ['configName', 'type', 'profile', 'attributionList', 'attribution', '[beginCreateTime,endCreateTime]', '[beginSendTime,endSendTime]'])}
|
|
144
|
+
effects={($: any, actions: any) => {
|
|
145
|
+
$(LifeCycleTypes.ON_FIELD_VALUE_CHANGE, 'type',).subscribe((fieldState: any) => {
|
|
146
|
+
if (fieldState.value) {
|
|
147
|
+
const target: any = billEnum.find((item: any) => item.value === fieldState.value);
|
|
148
|
+
if (target && target.profileList) {
|
|
149
|
+
actions.setFieldState('profile', (state: any) => {
|
|
150
|
+
state.visible = true;
|
|
151
|
+
});
|
|
152
|
+
const list = target.profileList.map((item: any) => {
|
|
153
|
+
return {
|
|
154
|
+
label: item.name,
|
|
155
|
+
value: item.value
|
|
156
|
+
}
|
|
157
|
+
})
|
|
158
|
+
setProfile(list);
|
|
159
|
+
} else {
|
|
160
|
+
actions.setFieldState('profile', (state: any) => {
|
|
161
|
+
state.visible = false;
|
|
162
|
+
});
|
|
163
|
+
setProfile([])
|
|
164
|
+
}
|
|
165
|
+
} else {
|
|
166
|
+
actions.setFieldState('profile', (state: any) => {
|
|
167
|
+
state.visible = false;
|
|
168
|
+
});
|
|
169
|
+
setProfile([])
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
}}
|
|
173
|
+
>
|
|
174
|
+
</KtsForm>
|
|
175
|
+
</AdvancedSearch>
|
|
176
|
+
|
|
177
|
+
</div>
|
|
178
|
+
);
|
|
179
|
+
}, [type,schema]);
|
|
180
|
+
const menu = useMemo(() => {
|
|
181
|
+
return (
|
|
182
|
+
<Menu>
|
|
183
|
+
{billEnum && billEnum.map((item: any, key) => {
|
|
184
|
+
if (item.profileList) {
|
|
185
|
+
return (
|
|
186
|
+
<SubMenu key={key} title={item.label}>
|
|
187
|
+
{
|
|
188
|
+
item.profileList.map((element: any) => {
|
|
189
|
+
return (
|
|
190
|
+
<Menu.Item key={element.value} onClick={() => { onCreateType(item.value, element); }}>
|
|
191
|
+
<a >
|
|
192
|
+
{element.name}
|
|
193
|
+
</a>
|
|
194
|
+
</Menu.Item>
|
|
195
|
+
)
|
|
196
|
+
})
|
|
197
|
+
}
|
|
198
|
+
</SubMenu>
|
|
199
|
+
)
|
|
200
|
+
} else {
|
|
201
|
+
return (
|
|
202
|
+
<Menu.Item key={item.value} onClick={() => { onCreateType(item.value); }}>
|
|
203
|
+
<a >
|
|
204
|
+
{item.label}
|
|
205
|
+
</a>
|
|
206
|
+
</Menu.Item>
|
|
207
|
+
)
|
|
208
|
+
}
|
|
209
|
+
})}
|
|
210
|
+
|
|
211
|
+
</Menu>);
|
|
212
|
+
}, [billEnum]);
|
|
213
|
+
return (
|
|
214
|
+
<div style={{ flex: 'none', position: 'relative', zIndex: 1 }}>
|
|
215
|
+
<PageHeaderFoot
|
|
216
|
+
expandLeft={topExpand()}
|
|
217
|
+
expandRight={[
|
|
218
|
+
type === 1 && <Button key="1" onClick={batchSend} style={{ marginRight: 10 }}>批量发布</Button>,
|
|
219
|
+
<Dropdown key="2" overlay={menu}>
|
|
220
|
+
<Button type="primary" >创建配置</Button>
|
|
221
|
+
</Dropdown>
|
|
222
|
+
]}
|
|
223
|
+
>
|
|
224
|
+
</PageHeaderFoot>
|
|
225
|
+
{
|
|
226
|
+
visible && <ModalComfirm handleCancel={handleCancel} list={selectedRowKey} />
|
|
227
|
+
}
|
|
228
|
+
</div>
|
|
229
|
+
);
|
|
230
|
+
};
|