@gientech/modual 1.3.0 → 1.3.2

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 (308) hide show
  1. package/README.md +129 -129
  2. package/{dist/assets/mysql.svg → assets/MySQL.svg} +14 -14
  3. package/{dist/assets → assets}/database.svg +11 -11
  4. package/{src/modules/database/assets → assets}/database_add.svg +53 -53
  5. package/{dist/assets → assets}/database_connect.svg +66 -66
  6. package/{dist/assets → assets}/database_upload.svg +29 -29
  7. package/{dist/assets → assets}/defaultWeLogo.svg +14 -14
  8. package/{dist/assets/index-DIm7RgkM.js → assets/index-D-dGaGjW.js} +93 -279
  9. package/assets/index-ldqIbm0x.js +1289 -0
  10. package/assets/style.css +1 -0
  11. package/assets/style3.css +1 -0
  12. package/{dist/chat.js → chat.js} +78 -78
  13. package/database.js +20 -0
  14. package/{dist/databaseId.js → databaseId.js} +1 -1
  15. package/{dist/databaseTable.js → databaseTable.js} +1 -1
  16. package/{dist/modelManage.js → modelManage.js} +1 -1
  17. package/package.json +39 -83
  18. package/{dist/sensitive.js → sensitive.js} +1 -1
  19. package/{dist/streamFilesReader.js → streamFilesReader.js} +11 -11
  20. package/{dist/worker → worker}/pdf.worker.min.js +21 -21
  21. package/.editorconfig +0 -38
  22. package/.prettierignore +0 -16
  23. package/.prettierrc +0 -17
  24. package/USAGE.md +0 -191
  25. package/bash.exe.stackdump +0 -40
  26. package/components.json +0 -21
  27. package/dist/README.md +0 -129
  28. package/dist/assets/database_add.svg +0 -53
  29. package/dist/assets/index-Bpnc4tRH.js +0 -1284
  30. package/dist/assets/style.css +0 -1
  31. package/dist/assets/style3.css +0 -1
  32. package/dist/database.js +0 -20
  33. package/dist/package.json +0 -56
  34. package/doc_assets/2.png +0 -0
  35. package/doc_assets/demo.md +0 -27
  36. package/doc_assets/demos/dist-app/assets/index.Dh-ZAS9Z.css +0 -2
  37. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js +0 -23699
  38. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js.map +0 -1
  39. package/doc_assets/demos/dist-app/index.html +0 -14
  40. package/doc_assets/demos/dist-app/vite.svg +0 -1
  41. package/doc_assets/images/1.png +0 -0
  42. package/doc_assets/images/3.png +0 -0
  43. package/doc_assets/images/component-screenshot.png +0 -1
  44. package/doc_assets/install.md +0 -5
  45. package/eslint.config.js +0 -92
  46. package/index.html +0 -13
  47. package/postcss.config.cjs +0 -19
  48. package/public/vite.svg +0 -1
  49. package/public/worker/pdf.worker.min.js +0 -22
  50. package/scripts/README.md +0 -133
  51. package/scripts/build-demo.js +0 -88
  52. package/scripts/demo-selector.js +0 -216
  53. package/scripts/dev-demo.js +0 -76
  54. package/scripts/preview-demo.js +0 -130
  55. package/scripts/run-demo.bat +0 -34
  56. package/src/assets/img/downArrow.png +0 -0
  57. package/src/assets/img/excel.png +0 -0
  58. package/src/assets/img/img.png +0 -0
  59. package/src/assets/img/pdf.png +0 -0
  60. package/src/assets/img/ppt.png +0 -0
  61. package/src/assets/img/txt.png +0 -0
  62. package/src/assets/img/word.png +0 -0
  63. package/src/assets/login/homeBg.png +0 -0
  64. package/src/assets/login/left.jpg +0 -0
  65. package/src/assets/login/logoImg.png +0 -0
  66. package/src/examples/LoginPage/index.tsx +0 -18
  67. package/src/examples/chat/components/DrawerGraphPreview.tsx +0 -77
  68. package/src/examples/chat/index.tsx +0 -179
  69. package/src/examples/gientechStreamFilesReader/index.tsx +0 -1016
  70. package/src/examples/ragDatabaseDataPage/index.tsx +0 -36
  71. package/src/examples/ragDatabaseIdPage/index.tsx +0 -44
  72. package/src/examples/ragDatabasePage/index.tsx +0 -36
  73. package/src/examples/ragModelManagePage/index.tsx +0 -37
  74. package/src/examples/ragSearchPage/index.tsx +0 -0
  75. package/src/examples/ragSensitiveWordsPage/index.tsx +0 -32
  76. package/src/examples/streamFiles/index.tsx +0 -384
  77. package/src/lib_enter.ts +0 -38
  78. package/src/main.tsx +0 -5
  79. package/src/main.tsx.backup +0 -5
  80. package/src/modules/chat/Conversations/Item.tsx +0 -167
  81. package/src/modules/chat/Conversations/List.tsx +0 -143
  82. package/src/modules/chat/Conversations/groupByTime.ts +0 -39
  83. package/src/modules/chat/Conversations/index.tsx +0 -212
  84. package/src/modules/chat/constants.tsx +0 -33
  85. package/src/modules/chat/index.tsx +0 -1836
  86. package/src/modules/chat/types.ts +0 -17
  87. package/src/modules/database/CreateModal.tsx +0 -398
  88. package/src/modules/database/assets/Doris.png +0 -0
  89. package/src/modules/database/assets/PostgreSQL.png +0 -0
  90. package/src/modules/database/assets/SQLServer.png +0 -0
  91. package/src/modules/database/assets/database.svg +0 -11
  92. package/src/modules/database/assets/database_connect.svg +0 -66
  93. package/src/modules/database/assets/database_upload.svg +0 -29
  94. package/src/modules/database/assets/empty.png +0 -0
  95. package/src/modules/database/assets/mysql.svg +0 -14
  96. package/src/modules/database/index.tsx +0 -466
  97. package/src/modules/database/server.ts +0 -196
  98. package/src/modules/databaseId/CustomCom.tsx +0 -156
  99. package/src/modules/databaseId/EditConfig.tsx +0 -268
  100. package/src/modules/databaseId/UploadDrawer.tsx +0 -520
  101. package/src/modules/databaseId/assets/aiOptimize.svg +0 -10
  102. package/src/modules/databaseId/assets/empty.png +0 -0
  103. package/src/modules/databaseId/assets/template.svg +0 -6
  104. package/src/modules/databaseId/assets/upload.svg +0 -9
  105. package/src/modules/databaseId/assets/useTemp.svg +0 -6
  106. package/src/modules/databaseId/index.tsx +0 -734
  107. package/src/modules/databaseId/server.ts +0 -286
  108. package/src/modules/databaseId/style.css +0 -5
  109. package/src/modules/databaseTable/EditRowDrawer.tsx +0 -119
  110. package/src/modules/databaseTable/index.tsx +0 -357
  111. package/src/modules/databaseTable/server.ts +0 -180
  112. package/src/modules/headlessChat/constants.tsx +0 -32
  113. package/src/modules/headlessChat/index.tsx +0 -1065
  114. package/src/modules/headlessChat/types.ts +0 -23
  115. package/src/modules/login/components/Login/LoginBox/index.tsx +0 -102
  116. package/src/modules/login/components/Login/RegisterBox/index.tsx +0 -180
  117. package/src/modules/login/components/Login/index.tsx +0 -100
  118. package/src/modules/login/index.tsx +0 -106
  119. package/src/modules/login/style.css +0 -3
  120. package/src/modules/login/useServices.ts +0 -53
  121. package/src/modules/login/utils.ts +0 -42
  122. package/src/modules/modelManage/ConfigDrawer.tsx +0 -249
  123. package/src/modules/modelManage/assets/empty.png +0 -0
  124. package/src/modules/modelManage/const.ts +0 -50
  125. package/src/modules/modelManage/index.tsx +0 -439
  126. package/src/modules/modelManage/server.ts +0 -185
  127. package/src/modules/nodegraph/index.tsx +0 -1
  128. package/src/modules/search/assets/Icon-history.svg +0 -8
  129. package/src/modules/search/assets/answerAwartar.png +0 -0
  130. package/src/modules/search/assets/doc.png +0 -0
  131. package/src/modules/search/assets/genera.gif +0 -0
  132. package/src/modules/search/assets/icon-robot.svg +0 -9
  133. package/src/modules/search/assets/icon-search-bar.svg +0 -14
  134. package/src/modules/search/assets/icon-sub-title.svg +0 -3
  135. package/src/modules/search/assets/icon-title.svg +0 -9
  136. package/src/modules/search/assets/icon-zoomOut.svg +0 -9
  137. package/src/modules/search/assets/iconAi.svg +0 -9
  138. package/src/modules/search/assets/pdf.png +0 -0
  139. package/src/modules/search/assets/ppt.png +0 -0
  140. package/src/modules/search/assets/search.svg +0 -3
  141. package/src/modules/search/assets/selected.svg +0 -4
  142. package/src/modules/search/assets/txt.png +0 -0
  143. package/src/modules/search/assets/xls.png +0 -0
  144. package/src/modules/search/components/AssisSelect.tsx +0 -137
  145. package/src/modules/search/components/Editor/ChatViewEditor.tsx +0 -261
  146. package/src/modules/search/components/Editor/aichat.css +0 -1
  147. package/src/modules/search/components/Editor/constant.ts +0 -13
  148. package/src/modules/search/components/Editor/index.tsx +0 -113
  149. package/src/modules/search/components/Editor/plugins/autofomatRules.ts +0 -332
  150. package/src/modules/search/components/Editor/plugins/convertImgPlugins.tsx +0 -20
  151. package/src/modules/search/components/Editor/plugins/createIndexes.tsx +0 -38
  152. package/src/modules/search/components/Editor/plugins/displayer.ts +0 -298
  153. package/src/modules/search/components/Editor/plugins/imageClick.tsx +0 -32
  154. package/src/modules/search/components/Editor/plugins/myplugin.tsx +0 -98
  155. package/src/modules/search/components/Editor/ui/avatar.tsx +0 -19
  156. package/src/modules/search/components/Editor/ui/blockquote-element.tsx +0 -21
  157. package/src/modules/search/components/Editor/ui/button.tsx +0 -58
  158. package/src/modules/search/components/Editor/ui/calendar.tsx +0 -68
  159. package/src/modules/search/components/Editor/ui/caption.tsx +0 -46
  160. package/src/modules/search/components/Editor/ui/checkbox.tsx +0 -27
  161. package/src/modules/search/components/Editor/ui/code-block-combobox.tsx +0 -188
  162. package/src/modules/search/components/Editor/ui/code-block-element.css +0 -434
  163. package/src/modules/search/components/Editor/ui/code-block-element.tsx +0 -39
  164. package/src/modules/search/components/Editor/ui/code-leaf.tsx +0 -24
  165. package/src/modules/search/components/Editor/ui/code-line-element.tsx +0 -10
  166. package/src/modules/search/components/Editor/ui/code-syntax-leaf.tsx +0 -21
  167. package/src/modules/search/components/Editor/ui/column-element.tsx +0 -30
  168. package/src/modules/search/components/Editor/ui/column-group-element.tsx +0 -94
  169. package/src/modules/search/components/Editor/ui/command.tsx +0 -75
  170. package/src/modules/search/components/Editor/ui/comment-avatar.tsx +0 -22
  171. package/src/modules/search/components/Editor/ui/comment-create-form.tsx +0 -37
  172. package/src/modules/search/components/Editor/ui/comment-item.tsx +0 -74
  173. package/src/modules/search/components/Editor/ui/comment-leaf.tsx +0 -49
  174. package/src/modules/search/components/Editor/ui/comment-more-dropdown.tsx +0 -42
  175. package/src/modules/search/components/Editor/ui/comment-reply-items.tsx +0 -22
  176. package/src/modules/search/components/Editor/ui/comment-resolve-button.tsx +0 -32
  177. package/src/modules/search/components/Editor/ui/comment-value.tsx +0 -34
  178. package/src/modules/search/components/Editor/ui/comments-popover.tsx +0 -63
  179. package/src/modules/search/components/Editor/ui/date-element.tsx +0 -83
  180. package/src/modules/search/components/Editor/ui/dialog.tsx +0 -63
  181. package/src/modules/search/components/Editor/ui/draggable.tsx +0 -177
  182. package/src/modules/search/components/Editor/ui/dropdown-menu.tsx +0 -180
  183. package/src/modules/search/components/Editor/ui/emoji-input-element.tsx +0 -85
  184. package/src/modules/search/components/Editor/ui/excalidraw-element.tsx +0 -28
  185. package/src/modules/search/components/Editor/ui/fixed-toolbar-buttons.tsx +0 -76
  186. package/src/modules/search/components/Editor/ui/fixed-toolbar.tsx +0 -8
  187. package/src/modules/search/components/Editor/ui/floating-toolbar-buttons.tsx +0 -51
  188. package/src/modules/search/components/Editor/ui/floating-toolbar.tsx +0 -77
  189. package/src/modules/search/components/Editor/ui/heading-element.tsx +0 -48
  190. package/src/modules/search/components/Editor/ui/highlight-leaf.tsx +0 -17
  191. package/src/modules/search/components/Editor/ui/hr-element.tsx +0 -30
  192. package/src/modules/search/components/Editor/ui/icons.tsx +0 -267
  193. package/src/modules/search/components/Editor/ui/image-element.tsx +0 -74
  194. package/src/modules/search/components/Editor/ui/inline-combobox.tsx +0 -368
  195. package/src/modules/search/components/Editor/ui/input.tsx +0 -25
  196. package/src/modules/search/components/Editor/ui/insert-dropdown-menu.tsx +0 -218
  197. package/src/modules/search/components/Editor/ui/kbd-leaf.tsx +0 -20
  198. package/src/modules/search/components/Editor/ui/link-element.tsx +0 -29
  199. package/src/modules/search/components/Editor/ui/link-floating-toolbar.tsx +0 -161
  200. package/src/modules/search/components/Editor/ui/list-element.tsx +0 -30
  201. package/src/modules/search/components/Editor/ui/mark-toolbar-button.tsx +0 -24
  202. package/src/modules/search/components/Editor/ui/media-embed-element.tsx +0 -133
  203. package/src/modules/search/components/Editor/ui/media-popover.tsx +0 -97
  204. package/src/modules/search/components/Editor/ui/mention-element.tsx +0 -43
  205. package/src/modules/search/components/Editor/ui/mention-input-element.tsx +0 -141
  206. package/src/modules/search/components/Editor/ui/mode-dropdown-menu.tsx +0 -93
  207. package/src/modules/search/components/Editor/ui/more-dropdown-menu.tsx +0 -67
  208. package/src/modules/search/components/Editor/ui/paragraph-element.tsx +0 -4
  209. package/src/modules/search/components/Editor/ui/placeholder.tsx +0 -52
  210. package/src/modules/search/components/Editor/ui/popover.tsx +0 -32
  211. package/src/modules/search/components/Editor/ui/resizable.tsx +0 -66
  212. package/src/modules/search/components/Editor/ui/separator.tsx +0 -25
  213. package/src/modules/search/components/Editor/ui/style.less +0 -12
  214. package/src/modules/search/components/Editor/ui/table-cell-element.tsx +0 -143
  215. package/src/modules/search/components/Editor/ui/table-element.tsx +0 -243
  216. package/src/modules/search/components/Editor/ui/table-row-element.tsx +0 -22
  217. package/src/modules/search/components/Editor/ui/tableValue.tsx +0 -135
  218. package/src/modules/search/components/Editor/ui/todo-list-element.tsx +0 -43
  219. package/src/modules/search/components/Editor/ui/toggle-element.tsx +0 -31
  220. package/src/modules/search/components/Editor/ui/toolbar.tsx +0 -157
  221. package/src/modules/search/components/Editor/ui/tooltip.tsx +0 -65
  222. package/src/modules/search/components/Editor/ui/turn-into-dropdown-menu.tsx +0 -160
  223. package/src/modules/search/components/Editor/ui/with-draggables.tsx +0 -175
  224. package/src/modules/search/components/FileList.tsx +0 -287
  225. package/src/modules/search/components/ImageGroupView/index.tsx +0 -85
  226. package/src/modules/search/components/ResultContent.tsx +0 -232
  227. package/src/modules/search/components/SearchInput.tsx +0 -232
  228. package/src/modules/search/components/SearchLanding.tsx +0 -74
  229. package/src/modules/search/components/SearchView.tsx +0 -563
  230. package/src/modules/search/components/SimpleEditor.tsx +0 -158
  231. package/src/modules/search/components/SimpleFileList.tsx +0 -215
  232. package/src/modules/search/index.tsx +0 -10
  233. package/src/modules/search/reademe.md +0 -1
  234. package/src/modules/search/servers/apis.tsx +0 -19
  235. package/src/modules/search/servers/index.ts +0 -184
  236. package/src/modules/search/style.less +0 -503
  237. package/src/modules/search/type.ts +0 -22
  238. package/src/modules/search/utils.ts +0 -34
  239. package/src/modules/sensitive/index.tsx +0 -313
  240. package/src/modules/sensitive/server.ts +0 -122
  241. package/src/modules/streamFilesReader/GientechStreamReader.tsx +0 -1555
  242. package/src/modules/streamFilesReader/components/Header/Toolbar.tsx +0 -0
  243. package/src/modules/streamFilesReader/components/Header/index.tsx +0 -297
  244. package/src/modules/streamFilesReader/index.tsx +0 -3
  245. package/src/style.css +0 -6
  246. package/src/type.d.ts +0 -0
  247. package/src/utils/commonFn.tsx +0 -111
  248. package/src/utils/gientechCommon/components/AppError.tsx +0 -32
  249. package/src/utils/gientechCommon/components/AppLoading.tsx +0 -75
  250. package/src/utils/gientechCommon/components/DeleteModal.tsx +0 -75
  251. package/src/utils/gientechCommon/components/DisplayError.tsx +0 -33
  252. package/src/utils/gientechCommon/components/DisplayLoading.tsx +0 -38
  253. package/src/utils/gientechCommon/components/FeedBackModal.tsx +0 -310
  254. package/src/utils/gientechCommon/components/FileCardCommon.tsx +0 -82
  255. package/src/utils/gientechCommon/components/FileManager/index.tsx +0 -390
  256. package/src/utils/gientechCommon/components/FileManager/style.css +0 -5
  257. package/src/utils/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +0 -296
  258. package/src/utils/gientechCommon/components/Messages/ReferenceCard.tsx +0 -339
  259. package/src/utils/gientechCommon/components/Messages/RetriveItem.tsx +0 -245
  260. package/src/utils/gientechCommon/components/Messages/WebRetriveItem.tsx +0 -209
  261. package/src/utils/gientechCommon/components/Messages/defaultBot.png +0 -0
  262. package/src/utils/gientechCommon/components/Messages/defaultStyleSet.tsx +0 -148
  263. package/src/utils/gientechCommon/components/Messages/defaultWeLogo.svg +0 -14
  264. package/src/utils/gientechCommon/components/RenameModal.tsx +0 -86
  265. package/src/utils/gientechCommon/components/style.less +0 -11
  266. package/src/utils/gientechCommon/configs/commonConfig.ts +0 -2
  267. package/src/utils/gientechCommon/configs/senderConfig.ts +0 -0
  268. package/src/utils/gientechCommon/configs/stylesConfig.ts +0 -142
  269. package/src/utils/gientechCommon/hooks/AichatUseController.tsx +0 -339
  270. package/src/utils/gientechCommon/slate/converters/deserializers.ts +0 -763
  271. package/src/utils/gientechCommon/slate/converters/mockData.ts +0 -232
  272. package/src/utils/gientechCommon/slate/converters/slateConverters.ts +0 -258
  273. package/src/utils/gientechCommon/slate/richElements/index.tsx +0 -499
  274. package/src/utils/gientechCommon/utils/request.ts +0 -37
  275. package/src/utils/gientechCommon/utils/serverFn.ts +0 -172
  276. package/src/utils/index.tsx +0 -126
  277. package/src/utils/testconfigs/demologin/index.tsx +0 -32
  278. package/src/utils/testconfigs/index.ts +0 -53
  279. package/src/vite-env.d.ts +0 -11
  280. package/stats.html +0 -4949
  281. package/tailwind.config.js +0 -170
  282. package/tsconfig.app.json +0 -30
  283. package/tsconfig.app.tsbuildinfo +0 -11
  284. package/tsconfig.json +0 -13
  285. package/tsconfig.node.json +0 -22
  286. package/tsconfig.node.tsbuildinfo +0 -1
  287. package/vite.config.ts +0 -177
  288. package/workflows/release.yml +0 -60
  289. /package/{dist/assets → assets}/Doris.png +0 -0
  290. /package/{dist/assets → assets}/PostgreSQL.png +0 -0
  291. /package/{dist/assets → assets}/SQLServer.png +0 -0
  292. /package/{dist/assets → assets}/_commonjsHelpers-gnU0ypJ3.js +0 -0
  293. /package/{dist/assets → assets}/circle-alert-g2Y6zAjt.js +0 -0
  294. /package/{dist/assets → assets}/empty.png +0 -0
  295. /package/{dist/assets → assets}/index-CEK88UzR.js +0 -0
  296. /package/{dist/assets → assets}/index-CpW6Dhpp.js +0 -0
  297. /package/{dist/assets → assets}/plus-omCUN0e3.js +0 -0
  298. /package/{dist/assets → assets}/style2.css +0 -0
  299. /package/{dist/assets → assets}/styled-components.browser.esm-DPkS13KC.js +0 -0
  300. /package/{dist/assets → assets}/x-vPcWt3fC.js +0 -0
  301. /package/{dist/chat.d.ts → chat.d.ts} +0 -0
  302. /package/{dist/database.d.ts → database.d.ts} +0 -0
  303. /package/{dist/databaseId.d.ts → databaseId.d.ts} +0 -0
  304. /package/{dist/databaseTable.d.ts → databaseTable.d.ts} +0 -0
  305. /package/{dist/modelManage.d.ts → modelManage.d.ts} +0 -0
  306. /package/{dist/sensitive.d.ts → sensitive.d.ts} +0 -0
  307. /package/{dist/streamFilesReader.d.ts → streamFilesReader.d.ts} +0 -0
  308. /package/{dist/vite.svg → vite.svg} +0 -0
@@ -1,310 +0,0 @@
1
- import { Button, ConfigProvider, Form, Modal, Input, Tree, Tag } from 'antd';
2
- import { Key, useEffect, useMemo, useRef, useState } from 'react';
3
- import downArrow from '../../../assets/img/downArrow.png';
4
-
5
- import './style.less';
6
- import { ChevronRight } from 'lucide-react';
7
- const { TextArea } = Input;
8
- const { useForm } = Form;
9
- const pKey: any = {
10
- 回答不佳: 'ansPoor',
11
- 格式问题: 'formatError',
12
- 理解问题有误: 'harmfulInfo',
13
- 其他: 'othres',
14
- };
15
- const FeedBackModal = ({ open, setOpen, feedBackList, handleConfirm }: any) => {
16
- const modalStyles = {
17
- header: {
18
- padding: '20px 24px',
19
- borderBottom: '1px solid #F0F0F0',
20
- margin: 0,
21
- },
22
- body: { padding: '16px 24px 20px 24px', borderBottom: '1px solid #F0F0F0' },
23
- mask: {},
24
- footer: { padding: '16px 24px', margin: 0 },
25
- content: { padding: 0, borderRadius: '4px', width: '563px' },
26
- };
27
-
28
- const [form] = useForm();
29
- const [treeSelectResult, setTreeSelectResult] = useState<null | any>({});
30
-
31
- const handleOk = async () => {
32
- try {
33
- const data = await form.validateFields();
34
- setOpen(false);
35
- const param = {
36
- ...data,
37
- };
38
- Object.entries(treeSelectResult || {}).forEach(item => {
39
- const [key, value] = item;
40
- if (value) {
41
- param[pKey[key]] = value;
42
- }
43
- });
44
- handleConfirm(param);
45
- } catch (e) {
46
- console.log(e);
47
- return;
48
- }
49
- };
50
-
51
- useEffect(() => {
52
- if (!open) {
53
- form.resetFields();
54
- setTreeSelectResult(null);
55
- }
56
- }, [open]);
57
-
58
- return (
59
- <ConfigProvider
60
- modal={{
61
- styles: modalStyles,
62
- }}
63
- >
64
- <Modal
65
- open={open}
66
- onCancel={() => setOpen(false)}
67
- title={
68
- <div className="text-[16px] text-[#2A2A2A] font-bold leading-[1]">
69
- 感谢您的反馈!这将帮助我们不断优化与提升。
70
- </div>
71
- }
72
- footer={
73
- <div>
74
- <Button
75
- className="mr-[16px] w-[76px]"
76
- onClick={() => {
77
- setOpen(false);
78
- }}
79
- >
80
- 取消
81
- </Button>
82
- <Button type="primary" className="w-[76px] border-none" onClick={handleOk}>
83
- 确认
84
- </Button>
85
- </div>
86
- }
87
- >
88
- <SelectTreeCom
89
- feedBackList={feedBackList}
90
- treeSelectResult={treeSelectResult}
91
- setTreeSelectResult={setTreeSelectResult}
92
- />
93
- <Form form={form} layout="vertical">
94
- <Form.Item name="supplementExplain" label="补充描述">
95
- <TextArea />
96
- </Form.Item>{' '}
97
- <Form.Item name="idealAnswer" label="您觉得更好的回答是什么?">
98
- <TextArea />
99
- </Form.Item>
100
- <Form.Item name="userPhone" label="联系电话">
101
- <Input />
102
- </Form.Item>
103
- <Form.Item name="deptName" label="部门">
104
- <Input />
105
- </Form.Item>
106
- </Form>
107
- </Modal>
108
- </ConfigProvider>
109
- );
110
- };
111
- export default FeedBackModal;
112
-
113
- const SelectTreeCom = ({ feedBackList, treeSelectResult, setTreeSelectResult }: any) => {
114
- const [openSelect, setOpenSelect] = useState(false);
115
- const [expandedKeys, setExpandedKeys] = useState<string[]>([]);
116
- const [checkedKeys, setCheckedKeys] = useState<Key[] | { checked: Key[]; halfChecked: Key[] }>(
117
- []
118
- );
119
- const [selectedValue, setSelectedValue] = useState<
120
- Key[] | { checked: Key[]; halfChecked: Key[] }
121
- >([]);
122
- const [selectedParent, setSelectedParent] = useState<null | {
123
- que_name?: string;
124
- items?: string[];
125
- }>(null);
126
- const curTree = useMemo(() => {
127
- setCheckedKeys([]);
128
- return selectedParent?.items
129
- ? [
130
- {
131
- title: '全选',
132
- key: '全选',
133
- children: selectedParent.items.map(item => {
134
- return {
135
- title: item,
136
- key: item,
137
- };
138
- }),
139
- },
140
- ]
141
- : [];
142
- }, [selectedParent]);
143
-
144
- const handleClose = (removedTag: any) => {
145
- setSelectedValue((pre: any) => {
146
- if (Array.isArray(pre) && Array.isArray(checkedKeys)) {
147
- const p = Object.entries(treeSelectResult).reduce((pre: any, current: any) => {
148
- const [key, value] = current;
149
- const tags = value ? value.split(';') : [];
150
- const newTags = tags.filter((tag: any) => tag !== removedTag);
151
- setTreeSelectResult((pre: any) => {
152
- return {
153
- ...(pre || {}),
154
- [key]: newTags.join(';'),
155
- };
156
- });
157
- return [...pre, ...newTags];
158
- }, []);
159
- return p;
160
- }
161
- return pre;
162
- });
163
- };
164
-
165
- useEffect(() => {
166
- setExpandedKeys(['全选']);
167
- if (!treeSelectResult || !selectedParent?.que_name) return;
168
- const res = treeSelectResult[selectedParent.que_name] || '';
169
- const curSelectedValue = res ? res.split(';') : [];
170
- setCheckedKeys(curSelectedValue);
171
- }, [curTree, openSelect]);
172
-
173
- useEffect(() => {
174
- if (treeSelectResult === null) {
175
- setSelectedValue([]);
176
- setSelectedParent(null);
177
- setCheckedKeys([]);
178
- }
179
- }, [treeSelectResult]);
180
-
181
- useEffect(() => {
182
- console.log('treeSelectResult', treeSelectResult);
183
- console.log('selectedValue', selectedValue);
184
- console.log('feedBackList', feedBackList);
185
- console.log('pKey', pKey);
186
- console.log('selectedParent', selectedParent);
187
- }, [treeSelectResult, selectedValue]);
188
- return (
189
- <div className="relative mb-[24px] z-20">
190
- <div className="absolute w-full z-10">
191
- <div
192
- className="h-[32px] box-border flex items-center justify-between border-[1px] border-solid border-[#D9D9D9] rounded-[4px] cursor-pointer"
193
- onClick={() => setOpenSelect(!openSelect)}
194
- >
195
- <div className="ml-[16px]">问题类型</div>
196
- <img src={downArrow} width={24} height={24} className="mr-[16px]" />
197
- </div>
198
- <div
199
- style={{ display: openSelect ? '' : 'none' }}
200
- className="h-[288px] rounded-[4px] shadow-md mt-[4px] bg-white"
201
- >
202
- <div className="h-[248px] flex" style={{ borderBottom: '1px solid #F0F0F0' }}>
203
- <div
204
- className="w-[203px] px-[8px] py-[8px]"
205
- style={{ borderRight: '1px solid #F0F0F0' }}
206
- >
207
- {feedBackList.map((item: any, index: number) => {
208
- return (
209
- <div
210
- key={index}
211
- className="rounded-[4px] h-[32px] cursor-pointer flex items-center"
212
- style={{
213
- backgroundColor: selectedParent?.que_name === item.que_name ? '#E6F4FF' : '',
214
- }}
215
- >
216
- <div
217
- className="h-full w-full leading-[32px]"
218
- onClick={() => {
219
- setSelectedParent(item);
220
- }}
221
- >
222
- <div className="ml-[8px] text-[14px] text-[#2A2A2A]">
223
- {item.que_name}(
224
- {treeSelectResult && treeSelectResult[item.que_name]
225
- ? treeSelectResult[item.que_name].split(';').length
226
- : 0}
227
- /{item?.items?.length})
228
- </div>
229
- </div>
230
- <ChevronRight className="mr-[8px] w-3 h-3 text-[rgba(0,0,0,0.45)]" />
231
- </div>
232
- );
233
- })}
234
- </div>
235
- <div className="selfTree h-full flex-1 mt-[8px] ml-[16px]">
236
- <Tree
237
- checkable
238
- defaultSelectedKeys={['0-1']}
239
- treeData={curTree}
240
- blockNode
241
- checkedKeys={checkedKeys}
242
- expandedKeys={expandedKeys}
243
- onCheck={(checkedKeys: Key[] | { checked: Key[]; halfChecked: Key[] }) => {
244
- if (Array.isArray(checkedKeys)) {
245
- setTreeSelectResult((pre: any) => {
246
- return {
247
- ...(pre || {}),
248
- [selectedParent?.que_name || '']: (checkedKeys || [])
249
- .filter(item => item !== '全选')
250
- .join(';'),
251
- };
252
- });
253
- }
254
- setCheckedKeys(checkedKeys);
255
- }}
256
- />
257
- </div>
258
- </div>
259
- <div className="flex justify-end h-[40px] items-center">
260
- <Button size="small" className="mr-[8px]" onClick={() => setOpenSelect(false)}>
261
- 取消
262
- </Button>
263
- <Button
264
- size="small"
265
- type="primary"
266
- className="border-none mr-[16px]"
267
- onClick={() => {
268
- setSelectedValue((pre: any) => {
269
- if (Array.isArray(pre) && Array.isArray(checkedKeys)) {
270
- const p = Object.values(treeSelectResult).reduce((pre: any, current: any) => {
271
- return [...pre, ...(current ? current.split(';') : [])];
272
- }, []);
273
- return p;
274
- }
275
- return pre;
276
- });
277
- setOpenSelect(false);
278
- }}
279
- >
280
- 确认
281
- </Button>
282
- </div>
283
- </div>
284
- </div>
285
- <div className="h-[32px]"></div>
286
-
287
- {!!(selectedValue as any)?.length && (
288
- <div>
289
- <div className="mt-[5px] text-[12px] text-[#555555]">
290
- 已选择 {(selectedValue as any).length} 个
291
- </div>
292
- {((selectedValue || []) as any).map((tag: string) => {
293
- let qname = '';
294
- Object.entries(treeSelectResult || {}).forEach(item => {
295
- const [key, value]: any = item;
296
- if (value.indexOf(tag) > -1) {
297
- qname = key;
298
- }
299
- });
300
- return (
301
- <Tag key={tag} closable className="mt-[5px]" onClose={() => handleClose(tag)}>
302
- {qname}({tag})
303
- </Tag>
304
- );
305
- })}
306
- </div>
307
- )}
308
- </div>
309
- );
310
- };
@@ -1,82 +0,0 @@
1
- import React from 'react';
2
- import { X } from 'lucide-react';
3
-
4
- export interface FileCardCommonProps {
5
- fileName: string;
6
- fileSize?: number;
7
- icon: React.ReactNode;
8
- statusText?: string;
9
- statusColor?: string;
10
- statusIcon?: React.ReactNode;
11
- onRemove?: () => void;
12
- themeColors?: any;
13
- cardId?: string;
14
- showRemove?: boolean;
15
- disabledRemove?: boolean;
16
- onRemoveWithAnim?: (id: string) => void;
17
- extra?: React.ReactNode;
18
- style?: React.CSSProperties;
19
- }
20
-
21
- const formatSize = (size?: number) => {
22
- if (!size) return '';
23
- if (size < 1024) return `${size}B`;
24
- if (size < 1024 * 1024) return `${(size / 1024).toFixed(1)}KB`;
25
- return `${(size / 1024 / 1024).toFixed(1)}MB`;
26
- };
27
-
28
- const FileCardCommon: React.FC<FileCardCommonProps> = ({
29
- fileName,
30
- fileSize,
31
- icon,
32
- statusText,
33
- statusColor = 'text-gray-400',
34
- statusIcon,
35
- onRemove,
36
- themeColors = {},
37
- cardId,
38
- showRemove = true,
39
- disabledRemove = false,
40
- onRemoveWithAnim,
41
- extra,
42
- style
43
- }) => {
44
- return (
45
- <div
46
- id={cardId}
47
- className="group gap-x-2.5 items-center file-display-card relative flex w-[210px] bg-white border border-gray-200 rounded-md shadow-sm px-2 py-1 transition-all hover:shadow-md hover:border-blue-300"
48
- style={style}
49
- >
50
- <div className="pt-1">{icon}</div>
51
- <div className="flex-1 min-w-0 flex flex-col justify-center">
52
- <div className="flex items-center justify-between gap-1">
53
- <span className="text-[12px] font-medium truncate max-w-[120px]" title={fileName}>{fileName}</span>
54
- <span className="ml-1 text-[11px] text-gray-400">{formatSize(fileSize)}</span>
55
- </div>
56
- <div className={`text-[10px] mt-0.5 flex items-center gap-3 ${statusColor}`}>
57
- {statusIcon}
58
- <span>{statusText}</span>
59
- </div>
60
- </div>
61
- {extra}
62
- {showRemove && !disabledRemove && (
63
- <button
64
- className="absolute top-0.5 right-0.5 opacity-0 group-hover:opacity-100 transition-opacity text-gray-300 hover:text-red-400 text-xs p-0.5 rounded-full bg-white shadow-sm z-10"
65
- onClick={() => {
66
- if (onRemoveWithAnim && cardId) {
67
- onRemoveWithAnim(cardId);
68
- } else if (onRemove) {
69
- onRemove();
70
- }
71
- }}
72
- title="移除"
73
- style={{ lineHeight: 0, color: themeColors.error || '#FF0000' }}
74
- >
75
- <X className="w-3.5 h-3.5" />
76
- </button>
77
- )}
78
- </div>
79
- );
80
- };
81
-
82
- export default FileCardCommon;