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.
Files changed (36) hide show
  1. package/dist/DocumentWhiteList/control/actions/setmode/index.d.ts +1 -2
  2. package/dist/DocumentWhiteList/control/index.d.ts +1 -1
  3. package/dist/DocumentWhiteList/interface/index.d.ts +1 -1
  4. package/dist/DocumentsList/ui/PageHeader/SendHeader.d.ts +2 -0
  5. package/dist/DocumentsList/ui/{PageUi → PageUI}/index.d.ts +0 -0
  6. package/dist/index.esm.js +279 -147
  7. package/dist/index.js +279 -147
  8. package/package.json +1 -1
  9. package/src/DocumentWhiteList/control/actions/addblack/index.ts +1 -1
  10. package/src/DocumentWhiteList/control/actions/addwhite/index.ts +1 -1
  11. package/src/DocumentWhiteList/control/actions/blacklist/index.ts +1 -1
  12. package/src/DocumentWhiteList/control/actions/checkclient/index.ts +1 -1
  13. package/src/DocumentWhiteList/control/actions/enableblacklist/index.ts +1 -1
  14. package/src/DocumentWhiteList/control/actions/enablelist/index.ts +1 -1
  15. package/src/DocumentWhiteList/control/actions/enablewhitelist/index.ts +1 -1
  16. package/src/DocumentWhiteList/control/actions/getmode/index.ts +1 -2
  17. package/src/DocumentWhiteList/control/actions/setmode/index.ts +2 -2
  18. package/src/DocumentWhiteList/control/actions/synclist/index.ts +1 -1
  19. package/src/DocumentWhiteList/control/actions/whitelist/index.ts +1 -1
  20. package/src/DocumentWhiteList/interface/index.ts +1 -1
  21. package/src/DocumentWhiteList/ui/main/black.tsx +4 -2
  22. package/src/DocumentWhiteList/ui/main/index.tsx +8 -9
  23. package/src/DocumentWhiteList/ui/main/switchmode.tsx +5 -5
  24. package/src/DocumentWhiteList/ui/main/white.tsx +4 -2
  25. package/src/DocumentsEdit/DocumentsEditController/DocumentsEditControllerState/index.ts +1 -1
  26. package/src/DocumentsEdit/DocumentsEditController/actions/editProperties/index.ts +9 -4
  27. package/src/DocumentsEdit/___demo___/monitor/index.tsx +1 -0
  28. package/src/DocumentsEdit/ui/PropertyTable/hooks/useTableProps/index.tsx +1 -0
  29. package/src/DocumentsList/DocumentsListController/actions/typelist/index.ts +1 -1
  30. package/src/DocumentsList/index.tsx +2 -2
  31. package/src/DocumentsList/ui/ModalComfirm/index.tsx +4 -4
  32. package/src/DocumentsList/ui/PageHeader/SendHeader.tsx +230 -0
  33. package/src/DocumentsList/ui/PageHeader/index.tsx +130 -62
  34. package/src/DocumentsList/ui/RuleTable/index.tsx +9 -8
  35. package/src/DocumentsList/ui/sendlist/index.tsx +53 -19
  36. package/src/DocumentsRule/ui/main/index.tsx +8 -8
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kts-components-document-access-point",
3
- "version": "1.1.22",
3
+ "version": "1.1.26",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "start": "dumi dev",
@@ -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?: IParams) => {
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
  }
@@ -25,5 +25,5 @@ export interface IPageMeta {
25
25
  total?: number
26
26
  }
27
27
  export interface IParams extends IFilter, IPageMeta {
28
- type?: string | number;
28
+ type?: number | string;
29
29
  }
@@ -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
- setpageMeta(res.res.pageMeta);
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
- // const selectedRowKey = controller.useMemo(s => s.selectedRowKey, [])
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
- setValues(data);
24
- }, []);
21
+ // const onSubmit = useCallback((data) => {
22
+ // setValues(data);
23
+ // }, []);
25
24
  const onClickHandler = useCallback(() => {
26
- controller.setmode(values);
27
- }, [values]);
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 onSubmit={onSubmit} />
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
- props.onSubmit(allvalue);
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
- setpageMeta(res.res.pageMeta);
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 || JSON.parse(JSON.stringify(defaultSchema));
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
- current.required = current.required.filter((e: string) => e !== properties.$name)
20
+ const required = current.required as string[];
23
21
  if (properties.required) {
24
- current.required.push(properties.$name)
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 = (() => {
@@ -11,6 +11,7 @@ export default () => {
11
11
  const [schema, setScheme] = React.useState<any>();
12
12
 
13
13
  const onChange = React.useCallback((schema: ISchema) => {
14
+ setScheme(schema)
14
15
  console.log('===> onChange', schema);
15
16
  }, [])
16
17
 
@@ -39,6 +39,7 @@ export default () => {
39
39
  }, []);
40
40
 
41
41
  const dataSource = controller.useMemo(s => {
42
+
42
43
  const current = s.propertyTableState.current;
43
44
  if (!current) return [];
44
45
 
@@ -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
- sendPartitionId: targetId,
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
+ };