kts-components-document-access-point 1.4.12 → 2.0.0

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 (76) hide show
  1. package/dist/DocumentWhiteList/___demo___/base/index.d.ts +2 -1
  2. package/dist/DocumentWhiteList/___demo___/setService/index.d.ts +2 -1
  3. package/dist/DocumentWhiteList/control/actions/addblack/index.d.ts +1 -1
  4. package/dist/DocumentWhiteList/control/actions/addwhite/index.d.ts +1 -1
  5. package/dist/DocumentWhiteList/control/actions/blacklist/index.d.ts +1 -1
  6. package/dist/DocumentWhiteList/control/actions/demo/index.d.ts +1 -1
  7. package/dist/DocumentWhiteList/control/actions/didilist/index.d.ts +1 -1
  8. package/dist/DocumentWhiteList/control/actions/enableblacklist/index.d.ts +1 -1
  9. package/dist/DocumentWhiteList/control/actions/enablelist/index.d.ts +1 -1
  10. package/dist/DocumentWhiteList/control/actions/enablewhitelist/index.d.ts +1 -1
  11. package/dist/DocumentWhiteList/control/actions/getmode/index.d.ts +1 -1
  12. package/dist/DocumentWhiteList/control/actions/synclist/index.d.ts +1 -1
  13. package/dist/DocumentWhiteList/control/actions/whitelist/index.d.ts +1 -1
  14. package/dist/DocumentWhiteList/index.d.ts +1 -1
  15. package/dist/DocumentWhiteList/ui/UnifiedSearch/index.d.ts +11 -0
  16. package/dist/DocumentWhiteList/ui/clientmodal/index.d.ts +2 -1
  17. package/dist/DocumentWhiteList/ui/main/black.d.ts +2 -1
  18. package/dist/DocumentWhiteList/ui/main/index.d.ts +2 -1
  19. package/dist/DocumentWhiteList/ui/main/switchmode.d.ts +2 -1
  20. package/dist/DocumentWhiteList/ui/main/white.d.ts +2 -1
  21. package/dist/DocumentWhiteList/ui/pageheader/BlackHeader.d.ts +2 -1
  22. package/dist/DocumentWhiteList/ui/pageheader/WhiteHeader.d.ts +2 -1
  23. package/dist/DocumentWhiteList/ui/pageui/index.d.ts +1 -1
  24. package/dist/DocumentWhiteList/ui/whitemodal/index.d.ts +2 -1
  25. package/dist/DocumentsCont/___demo___/base/index.d.ts +2 -1
  26. package/dist/DocumentsCont/___demo___/setService/index.d.ts +2 -1
  27. package/dist/DocumentsCont/index.d.ts +1 -1
  28. package/dist/DocumentsDemo/Text.d.ts +2 -1
  29. package/dist/DocumentsDemo/___demo___/base/index.d.ts +2 -1
  30. package/dist/DocumentsDemo/index.d.ts +1 -1
  31. package/dist/DocumentsEdit/DocumentsEditController/DocumentsEditControllerState/IProperties/index.d.ts +3 -3
  32. package/dist/DocumentsEdit/DocumentsEditController/DocumentsEditControllerState/RuleState/index.d.ts +1 -1
  33. package/dist/DocumentsEdit/DocumentsEditController/actions/addProperties/index.d.ts +3 -3
  34. package/dist/DocumentsEdit/DocumentsEditController/actions/delProperties/index.d.ts +1 -1
  35. package/dist/DocumentsEdit/___demo___/conventional/index.d.ts +2 -1
  36. package/dist/DocumentsEdit/___demo___/monitor/index.d.ts +2 -1
  37. package/dist/DocumentsEdit/___demo___/readOnly/index.d.ts +2 -1
  38. package/dist/DocumentsEdit/index.d.ts +1 -1
  39. package/dist/DocumentsEdit/ui/AddPropertyButton/index.d.ts +2 -1
  40. package/dist/DocumentsEdit/ui/Breadcrumb/index.d.ts +2 -1
  41. package/dist/DocumentsEdit/ui/EditProperty/index.d.ts +2 -1
  42. package/dist/DocumentsEdit/ui/EditRule/index.d.ts +2 -1
  43. package/dist/DocumentsEdit/ui/EditRule/ui/AddRuleButton/index.d.ts +2 -1
  44. package/dist/DocumentsEdit/ui/EditRule/ui/DelRuleButton/index.d.ts +2 -1
  45. package/dist/DocumentsEdit/ui/EditRule/ui/RuleForm/fn/algorithmFormComponent/index.d.ts +2 -1
  46. package/dist/DocumentsEdit/ui/EditRule/ui/RuleForm/index.d.ts +2 -1
  47. package/dist/DocumentsEdit/ui/PropertyTable/hooks/useTableProps/ui/AddChildPropertyButton/index.d.ts +2 -1
  48. package/dist/DocumentsEdit/ui/PropertyTable/hooks/useTableProps/ui/AddRuleButton/index.d.ts +2 -1
  49. package/dist/DocumentsEdit/ui/PropertyTable/hooks/useTableProps/ui/EditPropertyButton/index.d.ts +2 -1
  50. package/dist/DocumentsEdit/ui/PropertyTable/index.d.ts +2 -1
  51. package/dist/DocumentsEdit/ui/RefPropertyButton/index.d.ts +2 -1
  52. package/dist/DocumentsList/DocumentsListController/actions/demo/index.d.ts +1 -1
  53. package/dist/DocumentsList/___demo___/list/index.d.ts +2 -1
  54. package/dist/DocumentsList/index.d.ts +1 -1
  55. package/dist/DocumentsList/ui/ModalComfirm/index.d.ts +2 -1
  56. package/dist/DocumentsList/ui/PageHeader/SendHeader.d.ts +2 -1
  57. package/dist/DocumentsList/ui/PageHeader/index.d.ts +2 -1
  58. package/dist/DocumentsList/ui/PageUI/index.d.ts +1 -1
  59. package/dist/DocumentsList/ui/RuleTable/index.d.ts +2 -1
  60. package/dist/DocumentsList/ui/sendlist/index.d.ts +2 -1
  61. package/dist/DocumentsRule/index.d.ts +1 -1
  62. package/dist/DocumentsRule/ui/main/index.d.ts +2 -1
  63. package/dist/index.esm.js +3140 -4165
  64. package/dist/index.js +3131 -4156
  65. package/package.json +5 -5
  66. package/src/DocumentWhiteList/control/actions/checkclient/index.ts +1 -1
  67. package/src/DocumentWhiteList/ui/UnifiedSearch/index.scss +119 -0
  68. package/src/DocumentWhiteList/ui/UnifiedSearch/index.tsx +146 -0
  69. package/src/DocumentWhiteList/ui/pageheader/BlackHeader.tsx +8 -78
  70. package/src/DocumentWhiteList/ui/pageheader/WhiteHeader.tsx +8 -77
  71. package/src/DocumentsEdit/constant/propertyColumns/index.tsx +1 -1
  72. package/src/DocumentsEdit/ui/EditRule/ui/RuleForm/fn/algorithmFormComponent/index.tsx +3 -3
  73. package/src/DocumentsList/index.less +0 -23
  74. package/src/DocumentsList/ui/PageHeader/SendHeader.tsx +168 -107
  75. package/src/DocumentsList/ui/PageHeader/index.tsx +272 -184
  76. package/tsconfig.json +1 -0
@@ -1,14 +1,20 @@
1
1
  import React, { useRef, useState, useEffect, useMemo, useCallback } from 'react';
2
2
  import { Radio, Button, Dropdown, PageHeaderFoot } from 'kts-xui';
3
3
  import { Menu } from 'kts-components-antd-x4';
4
- import { AdvancedSearch, KtsForm } from 'kts-components';
4
+ import { KtsForm } from 'kts-components';
5
5
  import { LifeCycleTypes } from '@formily/antd';
6
6
  import Main from '../..';
7
7
  import ModalComfirm from '../ModalComfirm'
8
8
  import { DocumentsService } from "../../..";
9
9
  import _ from 'lodash';
10
10
  import { useHistory } from 'react-router-dom';
11
+ import { Search as SearchXui, searchFormat, searchUnFormat, ISearchItemProps } from 'kts-xui';
12
+ import { Select as SearchSelect, DatePicker } from 'kts-xui';
13
+ import { Select } from 'antd';
11
14
  const { SubMenu } = Menu;
15
+ const { Option } = Select;
16
+ const { RangePicker } = DatePicker;
17
+
12
18
  export default () => {
13
19
  const history = useHistory();
14
20
  const controller = Main.useController();
@@ -18,8 +24,99 @@ export default () => {
18
24
  const params = controller.useMemo(s => s.params, [])
19
25
  const visible = controller.useMemo(s => s.visible, []);
20
26
  const [profileEnum, setProfile] = useState([]);
21
- const [schema, setSchema] = useState({});
22
- const ktsRef = useRef(null);
27
+
28
+ // 动态生成 formItems
29
+ const formItems: ISearchItemProps[] = useMemo(() => {
30
+ const items: ISearchItemProps[] = [];
31
+
32
+ // 配置名称
33
+ items.push({
34
+ name: "configName",
35
+ label: "配置名称",
36
+ children: <SearchXui.Input />,
37
+ });
38
+
39
+ // 发送对象 (仅在 type === 2 时显示)
40
+ if (type === 2) {
41
+ items.push({
42
+ name: "attributionList",
43
+ label: "发送对象",
44
+ children: <SearchXui.Input />,
45
+ });
46
+ }
47
+
48
+ // 单据大类
49
+ items.push({
50
+ name: "type",
51
+ label: "单据大类",
52
+ children: (
53
+ <SearchSelect className="underline" allowClear={true}>
54
+ {billEnum.map((item: any) => (
55
+ <Option key={item.value} value={item.value}>
56
+ {item.label}
57
+ </Option>
58
+ ))}
59
+ </SearchSelect>
60
+ ),
61
+ });
62
+
63
+ // 单据子类
64
+ items.push({
65
+ name: "profile",
66
+ label: "单据子类",
67
+ children: (
68
+ <SearchSelect className="underline" allowClear={true}>
69
+ {profileEnum.map((item: any) => (
70
+ <Option key={item.value} value={item.value}>
71
+ {item.name}
72
+ </Option>
73
+ ))}
74
+ </SearchSelect>
75
+ ),
76
+ });
77
+
78
+ // 收发角色
79
+ items.push({
80
+ name: "attribution",
81
+ label: "收发角色",
82
+ children: (
83
+ <SearchSelect className="underline" allowClear={true} mode="multiple">
84
+ <Option value="1">发送方</Option>
85
+ <Option value="0">接收方</Option>
86
+ </SearchSelect>
87
+ ),
88
+ });
89
+
90
+ // 创建时间
91
+ items.push({
92
+ name: "createTime",
93
+ label: "创建时间",
94
+ children: (
95
+ <RangePicker
96
+ style={{ width: "100%" }}
97
+ format="YYYY-MM-DD"
98
+ placeholder={["开始时间", "结束时间"]}
99
+ className="underline-datepicker"
100
+ />
101
+ ),
102
+ });
103
+
104
+ // 更新时间
105
+ items.push({
106
+ name: "sendTime",
107
+ label: "更新时间",
108
+ children: (
109
+ <RangePicker
110
+ style={{ width: "100%" }}
111
+ format="YYYY-MM-DD"
112
+ placeholder={["开始时间", "结束时间"]}
113
+ className="underline-datepicker"
114
+ />
115
+ ),
116
+ });
117
+
118
+ return items;
119
+ }, [billEnum, type, profileEnum]);
23
120
  useEffect(() => {
24
121
  (async () => {
25
122
  const res = await DocumentsService.instance.service?.call({ url: '/schema/config/getDefaultTypeList', data: {}, type: 'get' }) as any;
@@ -33,6 +130,27 @@ export default () => {
33
130
  }
34
131
  })()
35
132
  }, []);
133
+
134
+ // 处理单据子类的动态更新
135
+ useEffect(() => {
136
+ const selectedType = params.type;
137
+ if (selectedType) {
138
+ const target: any = billEnum.find((item: any) => item.value === selectedType);
139
+ if (target && target.profileList) {
140
+ const list = target.profileList.map((item: any) => {
141
+ return {
142
+ label: item.name,
143
+ value: item.value
144
+ }
145
+ })
146
+ setProfile(list);
147
+ } else {
148
+ setProfile([])
149
+ }
150
+ } else {
151
+ setProfile([])
152
+ }
153
+ }, [billEnum, params.type]);
36
154
  const onSearchFormSubmit = React.useCallback((value) => {
37
155
  value = {
38
156
  ...value,
@@ -43,6 +161,49 @@ export default () => {
43
161
  })()
44
162
  }, [controller])
45
163
 
164
+ // 创建搜索组件
165
+ const { search, setSearchValues } = SearchXui.useCreate({
166
+ labelCol: 9,
167
+ onSubmit: (e) => {
168
+ const processedValues = {
169
+ ...e,
170
+ beginCreateTime: e.createTime && e.createTime[0] ? e.createTime[0].format('YYYY-MM-DD 00:00:00') : undefined,
171
+ endCreateTime: e.createTime && e.createTime[1] ? e.createTime[1].format('YYYY-MM-DD 23:59:59') : undefined,
172
+ beginSendTime: e.sendTime && e.sendTime[0] ? e.sendTime[0].format('YYYY-MM-DD 00:00:00') : undefined,
173
+ endSendTime: e.sendTime && e.sendTime[1] ? e.sendTime[1].format('YYYY-MM-DD 23:59:59') : undefined,
174
+ };
175
+ // 移除原始的日期字段
176
+ delete processedValues.createTime;
177
+ delete processedValues.sendTime;
178
+ onSearchFormSubmit(processedValues);
179
+ },
180
+ values: React.useMemo(() => {
181
+ // 转换搜索值格式
182
+ const convertedValues = { ...params } as any;
183
+ const paramsAny = params as any;
184
+ if (paramsAny.beginCreateTime && paramsAny.endCreateTime) {
185
+ convertedValues.createTime = [paramsAny.beginCreateTime, paramsAny.endCreateTime];
186
+ }
187
+ if (paramsAny.beginSendTime && paramsAny.endSendTime) {
188
+ convertedValues.sendTime = [paramsAny.beginSendTime, paramsAny.endSendTime];
189
+ }
190
+ return searchUnFormat(convertedValues, formItems);
191
+ }, [params, formItems]),
192
+ formItems,
193
+ });
194
+
195
+ useEffect(() => {
196
+ const convertedValues = { ...params } as any;
197
+ const paramsAny = params as any;
198
+ if (paramsAny.beginCreateTime && paramsAny.endCreateTime) {
199
+ convertedValues.createTime = [paramsAny.beginCreateTime, paramsAny.endCreateTime];
200
+ }
201
+ if (paramsAny.beginSendTime && paramsAny.endSendTime) {
202
+ convertedValues.sendTime = [paramsAny.beginSendTime, paramsAny.endSendTime];
203
+ }
204
+ setSearchValues(searchUnFormat(convertedValues, formItems));
205
+ }, [formItems, params, setSearchValues]);
206
+
46
207
  const switchType = React.useCallback((e) => {
47
208
  controller.pipeline(async s => {
48
209
  s.type = e.target.value;
@@ -59,60 +220,6 @@ export default () => {
59
220
  s.visible = true;
60
221
  })()
61
222
  }, [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: "radio",
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
223
  const onCreateType = useCallback((category, record?) => {
117
224
  history.push({ pathname: `/rule`, search: `?type=config&profile=${record && record.value || ''}&billtype=${category}` })
118
225
  }, [])
@@ -125,58 +232,12 @@ export default () => {
125
232
  <Radio.Button value={2}>发布记录</Radio.Button>
126
233
  </Radio.Group>
127
234
  </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
-
235
+ <div style={{ flex: 1 }}>
236
+ {search}
237
+ </div>
177
238
  </div>
178
239
  );
179
- }, [type,schema]);
240
+ }, [type, search]);
180
241
  const menu = useMemo(() => {
181
242
  return (
182
243
  <Menu>