kts-components-document-access-point 1.1.20 → 1.1.24

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kts-components-document-access-point",
3
- "version": "1.1.20",
3
+ "version": "1.1.24",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "start": "dumi dev",
@@ -10,7 +10,14 @@ export default async (s: ControllerState, params?: IParams) => {
10
10
  return false;
11
11
  }
12
12
  if (res.res) {
13
+ res.res.items = res.res.items.map((item: any, index: any) => {
14
+ return {
15
+ ...item,
16
+ index
17
+ }
18
+ })
13
19
  s.blacklist = res.res.items || [];
20
+ return res;
14
21
  // s.pageMeta = res.res.pageMeta;
15
22
  }
16
23
  }
@@ -10,7 +10,14 @@ export default async (s: ControllerState, params?: IParams) => {
10
10
  return false;
11
11
  }
12
12
  if (res.res) {
13
+ res.res.items = res.res.items.map((item: any, index: any) => {
14
+ return {
15
+ ...item,
16
+ index
17
+ }
18
+ })
13
19
  s.whiteblacklist = res.res.items || [];
20
+ return res;
14
21
  // s.pageMeta = res.res.pageMeta;
15
22
  }
16
23
  }
@@ -7,12 +7,12 @@ import Header from '../pageheader/BlackHeader'
7
7
  export default function Rule(props: any) {
8
8
  const controller = Main.useController();
9
9
  const list = controller.useMemo((s) => s.blacklist, []);
10
- const pageMeta = controller.useMemo((s) => s.pageMeta, []);
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 }>({ pageSize: 10, pageNum: 1, });
12
+ // const pageMeta = controller.useMemo((s) => s.pageMeta, []);
11
13
  const params = controller.useMemo((s) => s.params, []);
12
14
  const onPageChange = (pageNum: any, pageSize: any) => {
13
- controller.pipeline(async s => {
14
- s.pageMeta = { pageNum, pageSize }
15
- })()
15
+ setpageParams({ pageNum, pageSize });
16
16
  }
17
17
  const columns = useMemo(() => [
18
18
  {
@@ -76,16 +76,24 @@ export default function Rule(props: any) {
76
76
  didList: [record]
77
77
  })
78
78
  if (res.res) {
79
- controller.getBlacklist({ ...params, ...pageMeta });
79
+ const data = {
80
+ ...pageParams
81
+ }
82
+ setpageParams(data);
80
83
  }
81
84
  })()
82
85
  }, []);
83
86
  useEffect(() => {
84
- controller.getBlacklist({ ...params, ...pageMeta });
85
- }, [params, pageMeta]);
87
+ (async () => {
88
+ const res = await controller.getBlacklist({ ...params, ...pageParams });
89
+ if (res.res) {
90
+ setpageMeta(res.res.pageMeta);
91
+ }
92
+ })()
93
+ }, [params, pageParams]);
86
94
  const rowSelection = useMemo(() => {
87
95
  return {
88
- onChange: (selectedRowKeys: any,selectedRows:any) => {
96
+ onChange: (selectedRowKeys: any, selectedRows: any) => {
89
97
  controller.pipeline(async s => {
90
98
  s.selectedBlackRowKey = selectedRows;
91
99
  })()
@@ -96,7 +104,7 @@ export default function Rule(props: any) {
96
104
  <>
97
105
  <Header />
98
106
  <AutoTableContainer style={{ flex: 1, padding: '0 20px', backgroundColor: '#efefef' }} >
99
- <Table rowSelection={rowSelection} columns={columns} rowKey="customerDid" dataSource={list} pagination={false} />
107
+ <Table rowSelection={rowSelection} columns={columns} rowKey="index" dataSource={list} pagination={false} />
100
108
  </AutoTableContainer>
101
109
  {pageMeta && <Pagination onChange={onPageChange} style={{ padding: '16px 0', flex: 'none', background: 'white', textAlign: 'center' }} total={pageMeta.total} pageSize={pageMeta.pageSize} current={pageMeta.pageNum} showSizeChanger={true} />}
102
110
  </>);
@@ -7,12 +7,11 @@ import Header from '../pageheader/WhiteHeader'
7
7
  export default function Rule(props: any) {
8
8
  const controller = Main.useController();
9
9
  const list = controller.useMemo((s) => s.whiteblacklist, []);
10
- const pageMeta = controller.useMemo((s) => s.pageMeta, []);
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 }>({ pageSize: 10, pageNum: 1, });
11
12
  const whiteParams = controller.useMemo((s) => s.whiteParams, []);
12
13
  const onPageChange = (pageNum: any, pageSize: any) => {
13
- controller.pipeline(async s => {
14
- s.pageMeta = { pageNum, pageSize }
15
- })()
14
+ setpageParams({ pageNum, pageSize });
16
15
  }
17
16
  const columns = useMemo(() => [
18
17
  {
@@ -47,7 +46,7 @@ export default function Rule(props: any) {
47
46
  {
48
47
  title: '最近更新时间',
49
48
  dataIndex: 'updateTime',
50
- render: (text:any) => moment(text).format('YYYY-MM-DD HH:mm')
49
+ render: (text: any) => moment(text).format('YYYY-MM-DD HH:mm')
51
50
  },
52
51
  {
53
52
  title: '操作',
@@ -76,16 +75,24 @@ export default function Rule(props: any) {
76
75
  didList: [record]
77
76
  })
78
77
  if (res.res) {
79
- controller.getWhitelist({ ...whiteParams, ...pageMeta });
78
+ const data = {
79
+ ...pageParams
80
+ }
81
+ setpageParams(data);
80
82
  }
81
83
  })()
82
84
  }, []);
83
85
  useEffect(() => {
84
- controller.getWhitelist({ ...whiteParams, ...pageMeta });
85
- }, [whiteParams, pageMeta]);
86
+ (async () => {
87
+ const res = await controller.getWhitelist({ ...whiteParams, ...pageParams });
88
+ if (res.res) {
89
+ setpageMeta(res.res.pageMeta);
90
+ }
91
+ })()
92
+ }, [whiteParams, pageParams]);
86
93
  const rowSelection = useMemo(() => {
87
94
  return {
88
- onChange: (selectedRowKeys: any,selectedRows:any) => {
95
+ onChange: (selectedRowKeys: any, selectedRows: any) => {
89
96
  controller.pipeline(async s => {
90
97
  s.selectedRowKey = selectedRows;
91
98
  })()
@@ -96,7 +103,7 @@ export default function Rule(props: any) {
96
103
  <>
97
104
  <Header />
98
105
  <AutoTableContainer style={{ flex: 1, padding: '0 20px', backgroundColor: '#efefef' }} >
99
- <Table rowSelection={rowSelection} columns={columns} rowKey="customerDid" dataSource={list} pagination={false} />
106
+ <Table rowSelection={rowSelection} columns={columns} rowKey="index" dataSource={list} pagination={false} />
100
107
  </AutoTableContainer>
101
108
  {pageMeta && <Pagination onChange={onPageChange} style={{ padding: '16px 0', flex: 'none', background: 'white', textAlign: 'center' }} total={pageMeta.total} pageSize={pageMeta.pageSize} current={pageMeta.pageNum} showSizeChanger={true} />}
102
109
  </>);
@@ -1,11 +1,17 @@
1
1
  import React, { useCallback, useState, useEffect, useMemo } from 'react';
2
2
  import { Modal, Form, Input, Button, Select } from 'kts-components-antd-x4';
3
3
  import Main from '../..';
4
+ /**
5
+ * 手动添加黑白名单弹窗
6
+ * @param
7
+ * @returns
8
+ */
4
9
  export default function modalcomfirm(props: any) {
5
10
  const [form] = Form.useForm();
6
11
  const [data, setData] = useState();
7
12
  const controller = Main.useController();
8
13
  const params = controller.useMemo((s) => s.params, []);
14
+ const whiteParams = controller.useMemo((s) => s.whiteParams, []);
9
15
  const pageMeta = controller.useMemo((s) => s.pageMeta, []);
10
16
  const listNature = controller.useMemo((s) => s.listNature, []);
11
17
  const didlist = controller.useMemo((s) => s.didlist, []);
@@ -47,9 +53,19 @@ export default function modalcomfirm(props: any) {
47
53
 
48
54
  if (res.res) {
49
55
  if (listNature === '1') {
50
- controller.getWhitelist({ ...params, ...pageMeta });
56
+ const data={
57
+ ...whiteParams
58
+ }
59
+ controller.pipeline(async s => {
60
+ s.whiteParams = data;
61
+ })()
51
62
  } else {
52
- controller.getBlacklist({ ...params, ...pageMeta });
63
+ const data={
64
+ ...params
65
+ }
66
+ controller.pipeline(async s => {
67
+ s.params = data;
68
+ })()
53
69
  }
54
70
  }
55
71
  handleCancel();
@@ -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 />
@@ -24,7 +24,7 @@ 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
  };
@@ -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/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
+ };