zy-react-library 1.1.1 → 1.1.3

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 (75) hide show
  1. package/README.md +5 -1
  2. package/components/Cascader/Area/index.js +1 -20
  3. package/components/Cascader/Basic/index.js +1 -64
  4. package/components/Cascader/Dictionary/index.js +1 -42
  5. package/components/Cascader/Industry/index.js +1 -20
  6. package/components/Editor/index.js +1 -102
  7. package/components/FormBuilder/FormBuilder.js +1 -87
  8. package/components/FormBuilder/FormItemsRenderer.js +1 -591
  9. package/components/FormBuilder/index.js +1 -3
  10. package/components/HeaderBack/index.js +1 -37
  11. package/components/HiddenInfo/gwj/index.js +1 -518
  12. package/components/Icon/AddIcon/index.js +1 -9
  13. package/components/Icon/BackIcon/index.js +1 -9
  14. package/components/Icon/DeleteIcon/index.js +1 -9
  15. package/components/Icon/DownloadIcon/index.js +1 -9
  16. package/components/Icon/EditIcon/index.js +1 -9
  17. package/components/Icon/ExportIcon/index.js +1 -9
  18. package/components/Icon/ImportIcon/index.js +1 -9
  19. package/components/Icon/LocationIcon/index.js +1 -9
  20. package/components/Icon/PrintIcon/index.js +1 -9
  21. package/components/Icon/ResetIcon/index.js +1 -9
  22. package/components/Icon/SearchIcon/index.js +1 -9
  23. package/components/Icon/VideoIcon/index.js +1 -9
  24. package/components/Icon/ViewIcon/index.js +1 -9
  25. package/components/ImportFile/index.js +1 -91
  26. package/components/LeftTree/Area/index.js +1 -15
  27. package/components/LeftTree/Basic/index.js +1 -171
  28. package/components/LeftTree/Department/Gwj/index.js +1 -32
  29. package/components/LeftTree/Dictionary/index.js +1 -42
  30. package/components/Map/MapSelector.js +1 -254
  31. package/components/Map/index.js +1 -77
  32. package/components/Page/index.js +1 -50
  33. package/components/Pdf/index.js +1 -134
  34. package/components/PreviewImg/index.js +1 -32
  35. package/components/PreviewPdf/index.js +1 -86
  36. package/components/Search/index.js +1 -141
  37. package/components/Select/Basic/index.js +1 -76
  38. package/components/Select/Dictionary/index.js +1 -42
  39. package/components/Select/Personnel/Gwj/index.js +1 -49
  40. package/components/SelectCreate/index.js +1 -55
  41. package/components/SelectTree/Area/index.js +1 -26
  42. package/components/SelectTree/Basic/index.js +1 -102
  43. package/components/SelectTree/Department/Gwj/index.js +1 -46
  44. package/components/SelectTree/Dictionary/index.js +1 -42
  45. package/components/SelectTree/HiddenLevel/Gwj/index.js +1 -72
  46. package/components/SelectTree/HiddenPart/Gwj/index.js +1 -39
  47. package/components/SelectTree/Industry/index.js +1 -27
  48. package/components/Signature/index.js +1 -94
  49. package/components/Table/index.js +1 -73
  50. package/components/Table/index.less +7 -1
  51. package/components/TooltipPreviewImg/index.js +1 -27
  52. package/components/Upload/index.js +1 -275
  53. package/components/Video/AliPlayer.js +1 -160
  54. package/components/Video/index.js +1 -90
  55. package/css/common.less +4 -0
  56. package/enum/dictionary/index.js +1 -7
  57. package/enum/formItemRender/index.js +1 -37
  58. package/enum/hidden/gwj/index.js +1 -31
  59. package/enum/uploadFile/gwj/index.js +1 -176
  60. package/hooks/useDeleteFile/index.js +1 -101
  61. package/hooks/useDictionary/index.js +1 -66
  62. package/hooks/useDownloadBlob/index.js +1 -79
  63. package/hooks/useDownloadFile/index.js +1 -81
  64. package/hooks/useGetFile/index.js +1 -74
  65. package/hooks/useGetUrlQuery/index.js +1 -16
  66. package/hooks/useGetUserInfo/index.js +1 -49
  67. package/hooks/useIdle/index.js +1 -67
  68. package/hooks/useImportFile/index.js +1 -59
  69. package/hooks/useIsExistenceDuplicateSelection/index.js +1 -20
  70. package/hooks/useTable/index.js +1 -113
  71. package/hooks/useUploadFile/index.js +1 -149
  72. package/hooks/useUrlQueryCriteria/index.js +1 -77
  73. package/package.json +18 -1
  74. package/regular/index.js +1 -61
  75. package/utils/index.js +1 -587
@@ -1,518 +1 @@
1
- import { request } from "@cqsjjb/jjb-common-lib/http";
2
- import { Button, Descriptions, Divider, Space, Spin } from "antd";
3
- import dayjs from "dayjs";
4
- import { useEffect, useState } from "react";
5
- import { HIDDEN_RECTIFICATION_TYPE_ENUM, HIDDEN_SOURCE_ENUM, HIDDEN_STATE_ENUM } from "../../../enum/hidden/gwj";
6
- import { UPLOAD_FILE_TYPE_ENUM } from "../../../enum/uploadFile/gwj";
7
- import useDownloadFile from "../../../hooks/useDownloadFile";
8
- import useGetFile from "../../../hooks/useGetFile";
9
- import useGetUrlQuery from "../../../hooks/useGetUrlQuery";
10
- import { getFileName, getFileSuffix, getLabelName } from "../../../utils";
11
- import VideoIcon from "../../Icon/VideoIcon";
12
- import PreviewImg from "../../PreviewImg";
13
- import PreviewPdf from "../../PreviewPdf";
14
- import Video from "../../Video";
15
-
16
- /**
17
- * 隐患查看组件(港务局版本)
18
- */
19
- function HiddenInfo(props) {
20
- const {
21
- id = "",
22
- idKey = "id",
23
- hiddenId = "",
24
- hiddenIdKey = "hiddenId",
25
- history = false,
26
- onGetData,
27
- } = props;
28
-
29
- const [info, setInfo] = useState({
30
- hiddenUserPresetsCO: {},
31
- hiddenRectifyUserCO: [],
32
- hiddenConfirmUserCO: [],
33
- hiddenAcceptUserCO: [],
34
- hiddenInspecCO: {},
35
- hiddenSpecialList: [],
36
- hiddenExtensionList: [],
37
- });
38
- const [hiddenImageFiles, setHiddenImageFiles] = useState([]);
39
- const [hiddenVideoFiles, setHiddenVideoFiles] = useState([]);
40
- const [afterRectificationImageFiles, setAfterRectificationImageFiles] = useState([]);
41
- const [rectificationPlanImageFiles, setRectificationPlanImageFiles] = useState([]);
42
- const [acceptImageFiles, setAcceptImageFiles] = useState([]);
43
- const [inspectionAcceptImageFiles, setInspectionAcceptImageFiles] = useState([]);
44
- const [loading, setLoading] = useState(true);
45
- const [videoModalOpen, setVideoModalOpen] = useState(false);
46
-
47
- const { getFile } = useGetFile();
48
- const query = useGetUrlQuery();
49
- const { loading: downloadFileLoading, downloadFile } = useDownloadFile();
50
-
51
- const getFileData = async (info) => {
52
- const hiddenImageFiles = await getFile({
53
- eqType: UPLOAD_FILE_TYPE_ENUM["3"],
54
- eqForeignKey: hiddenId || query[hiddenIdKey],
55
- });
56
- setHiddenImageFiles(hiddenImageFiles);
57
- const hiddenVideoFiles = await getFile({
58
- eqType: UPLOAD_FILE_TYPE_ENUM["102"],
59
- eqForeignKey: hiddenId || query[hiddenIdKey],
60
- });
61
- setHiddenVideoFiles(hiddenVideoFiles);
62
-
63
- if (info.hiddenRectifyUserCO && info.hiddenRectifyUserCO.length > 0) {
64
- for (let i = 0; i < info.hiddenRectifyUserCO.length; i++) {
65
- if (info.hiddenRectifyUserCO[i].hiddenUserId) {
66
- const afterRectificationImageFiles = await getFile({
67
- eqType: UPLOAD_FILE_TYPE_ENUM["4"],
68
- eqForeignKey: info.hiddenRectifyUserCO[i].hiddenUserId,
69
- });
70
- setAfterRectificationImageFiles(prevState => [...prevState, afterRectificationImageFiles]);
71
- }
72
- if (info.hiddenRectifyUserCO[i].isRectificationScheme === 1 && info.hiddenRectifyUserCO[i].hiddenSchemeCO && Object.keys(info.hiddenRectifyUserCO[i].hiddenSchemeCO).length > 0) {
73
- if (info.hiddenRectifyUserCO[i].hiddenSchemeCO.hiddenSchemeId) {
74
- const rectificationPlanImageFiles = await getFile({
75
- eqType: UPLOAD_FILE_TYPE_ENUM["8"],
76
- eqForeignKey: info.hiddenRectifyUserCO[i].hiddenSchemeCO.hiddenSchemeId,
77
- });
78
- setRectificationPlanImageFiles(prevState => [...prevState, rectificationPlanImageFiles]);
79
- }
80
- }
81
- }
82
- }
83
-
84
- if (info.isQualified === 1 && (info.hiddenAcceptUserCO && info.hiddenAcceptUserCO.length > 0)) {
85
- for (let i = 0; i < info.hiddenAcceptUserCO.length; i++) {
86
- const acceptImageFiles = await getFile({
87
- eqType: UPLOAD_FILE_TYPE_ENUM["5"],
88
- eqForeignKey: hiddenId || query[hiddenIdKey],
89
- });
90
- setAcceptImageFiles(prevState => [...prevState, acceptImageFiles]);
91
- }
92
- }
93
-
94
- if (info.hiddenInspecCO && Object.keys(info.hiddenInspecCO).length > 0) {
95
- const inspectionAcceptImageFiles = await getFile({
96
- eqType: UPLOAD_FILE_TYPE_ENUM["146"],
97
- eqForeignKey: hiddenId || query[hiddenIdKey],
98
- });
99
- setInspectionAcceptImageFiles(inspectionAcceptImageFiles);
100
- }
101
- };
102
-
103
- const getData = async () => {
104
- request(!history ? `/hidden/hidden/${id || query[idKey]}` : `/hidden/hidden/history/${id || query[idKey]}`, "get").then((res) => {
105
- setInfo(res.data);
106
- getFileData(res.data);
107
- setLoading(false);
108
- onGetData?.(res.data);
109
- });
110
- };
111
- useEffect(() => {
112
- getData();
113
- }, [props.id, props.hiddenId]);
114
-
115
- return (
116
- <div>
117
- <Spin spinning={loading || downloadFileLoading}>
118
- <Divider orientation="left">隐患信息</Divider>
119
- <Descriptions
120
- bordered
121
- column={1}
122
- styles={{ label: { width: 200 } }}
123
- items={[
124
- { label: "隐患来源", children: getLabelName({ list: HIDDEN_SOURCE_ENUM, status: info.source }) },
125
- { label: "隐患类型", children: info.hiddenTypeName },
126
- { label: "隐患级别", children: info.hiddenLevelName },
127
- { label: "隐患状态", children: getLabelName({ list: HIDDEN_STATE_ENUM, status: info.state }) },
128
- { label: "隐患描述", children: info.hiddenDesc },
129
- ...(info.hiddenPartName ? [{ label: "隐患部位", children: info.hiddenPartName }] : []),
130
- ...(
131
- (info.source === 2 || info.source === 3) && (info.hiddenCheckListCO && Object.keys(info.hiddenCheckListCO).length > 0)
132
- ? [
133
- { label: "风险点(单元)", children: info.hiddenCheckListCO.listRiskPoints },
134
- { label: "辨识部位", children: info.hiddenCheckListCO.identifiedLocations },
135
- { label: "存在风险", children: info.hiddenCheckListCO.existingRisks },
136
- { label: "风险分级", children: info.hiddenCheckListCO.riskLevel },
137
- { label: "隐患清单", children: info.hiddenCheckListCO.listName },
138
- { label: "检查内容", children: info.hiddenCheckListCO.inspectionContent },
139
- ]
140
- : []
141
- ),
142
- ...(info.longitude
143
- ? [{
144
- label: "隐患上报位置(经纬度)",
145
- children: [info.longitude && `经度:${info.longitude}`, info.latitude && `纬度:${info.latitude}`].filter(Boolean).join(" "),
146
- }]
147
- : []),
148
- ...(info.positionDesc ? [{ label: "隐患位置描述", children: info.positionDesc }] : []),
149
- { label: "隐患发现人", children: info.creatorName },
150
- { label: "隐患发现时间", children: dayjs(info.hiddenFindTime).format("YYYY-MM-DD HH:mm:ss") },
151
- {
152
- label: "整改类型",
153
- children: getLabelName({ list: HIDDEN_RECTIFICATION_TYPE_ENUM, status: info.rectificationType }),
154
- },
155
- {
156
- label: "是否相关方",
157
- children: getLabelName({
158
- list: [{ bianma: "1", name: "是" }, { bianma: "0", name: "否" }],
159
- status: info.isRelated,
160
- }),
161
- },
162
- ...(info.isRelated === 1 ? [{ label: "相关方项目", children: info.projectName }] : []),
163
- { label: "隐患图片", children: <PreviewImg files={hiddenImageFiles} /> },
164
- ...(hiddenVideoFiles.length > 0
165
- ? [{
166
- label: "隐患视频",
167
- children: (
168
- <VideoIcon onClick={() => {
169
- setVideoModalOpen(true);
170
- }}
171
- />
172
- ),
173
- }]
174
- : []),
175
- ]}
176
- />
177
- {
178
- (info.hiddenUserPresetsCO && Object.keys(info.hiddenUserPresetsCO).length > 0) && (
179
- <>
180
- <Divider orientation="left">整改信息(发现人预填)</Divider>
181
- <Descriptions
182
- bordered
183
- column={1}
184
- styles={{ label: { width: 200 } }}
185
- items={[
186
- { label: `整改${info.isRelated === 1 ? "单位" : "部门"}`, children: info.hiddenUserPresetsCO.rectifyDeptName },
187
- { label: "整改人", children: info.hiddenUserPresetsCO.rectifyUserName },
188
- ...(info.rectificationType === 2
189
- ? [
190
- {
191
- label: "整改期限",
192
- children: dayjs(info.hiddenUserPresetsCO.rectifyDeadline).format("YYYY-MM-DD"),
193
- },
194
- ]
195
- : []),
196
- ...(info.rectificationType === 1
197
- ? [
198
- { label: "验收部门", children: info.hiddenUserPresetsCO.checkDeptName },
199
- { label: "验收人", children: info.hiddenUserPresetsCO.checkUserName },
200
- ]
201
- : []),
202
- ]}
203
- />
204
- </>
205
- )
206
- }
207
- {
208
- (info.hiddenConfirmUserCO && info.hiddenConfirmUserCO.length > 0) && (
209
- <>
210
- <Divider orientation="left">隐患确认</Divider>
211
- {
212
- info.hiddenConfirmUserCO.map(item => (
213
- <Descriptions
214
- key={item.id}
215
- bordered
216
- column={1}
217
- styles={{ label: { width: 200 } }}
218
- items={[
219
- ...(item.hiddenLevelName ? [{ label: "隐患级别", children: item.hiddenLevelName }] : []),
220
- ...(item.userName ? [{ label: "隐患确认人", children: item.userName }] : []),
221
- ...(item.rectificationTime ? [{ label: "隐患确认时间", children: item.rectificationTime }] : []),
222
- ...(item.rectifyDeptName ? [{ label: `整改${info.isRelated === 1 ? "单位" : "部门"}`, children: item.rectifyDeptName }] : []),
223
- ...(item.rectifyUserName ? [{ label: "整改人", children: item.rectifyUserName }] : []),
224
- ...(item.rectificationDeadline ? [{ label: "整改完成期限", children: item.rectificationDeadline }] : []),
225
- ...(item.checkDeptName ? [{ label: "验收部门", children: item.checkDeptName }] : []),
226
- ...(item.checkUserName ? [{ label: "验收人", children: item.checkUserName }] : []),
227
- ...(item.repulseCause
228
- ? [
229
- ...(item.repulseCause ? [{ label: "打回意见", children: item.repulseCause }] : []),
230
- ...(item.rectificationTime ? [{ label: "打回时间", children: item.rectificationTime }] : []),
231
- ]
232
- : []),
233
- ]}
234
- />
235
- ))
236
- }
237
- </>
238
- )
239
- }
240
- {
241
- info.hiddenExtensionList && info.hiddenExtensionList.length > 0 && (
242
- <>
243
- <Divider orientation="left">延期信息</Divider>
244
- {
245
- info.hiddenExtensionList.map(item => (
246
- <Descriptions
247
- key={item.id}
248
- bordered
249
- column={1}
250
- styles={{ label: { width: 200 } }}
251
- items={[
252
- ...(item.createTime ? [{ label: "申请延期日期", children: item.createTime }] : []),
253
- ...(item.delayTime ? [{ label: "延期日期", children: item.delayTime }] : []),
254
- ...(item.updateName ? [{ label: "审核人", children: item.updateName }] : []),
255
- ...(item.state === 3
256
- ? [
257
- ...(item.disposalPlan ? [{ label: "处置方案", children: item.disposalPlan }] : []),
258
- ...(item.disposalFile
259
- ? [{
260
- label: "处置方案附件",
261
- children: (
262
- getFileSuffix(item.disposalFile) === "pdf"
263
- ? <PreviewPdf name={getFileName(item.disposalFile)} url={item.disposalFile} />
264
- : (
265
- <Space>
266
- <span>{getFileName(item.disposalFile)}</span>
267
- <Button
268
- type="primary"
269
- size="small"
270
- onClick={() => downloadFile(item.disposalFile)}
271
- >
272
- 下载
273
- </Button>
274
- </Space>
275
- )
276
- ),
277
- }]
278
- : []),
279
- ]
280
- : []),
281
- {
282
- label: "延期审核状态",
283
- children: (
284
- <>
285
- {item.state === 1 && <span>待审核</span>}
286
- {item.state === 2 && <span>审批中</span>}
287
- {item.state === 3 && <span>已通过</span>}
288
- {item.state === 4 && <span>已拒绝</span>}
289
- {item.state === 5 && <span>已撤回</span>}
290
- </>
291
- ),
292
- },
293
- ...((item.state === 3 || item.state === 4)
294
- ? [{
295
- label: "延期审核时间",
296
- children: item.updateTime,
297
- }]
298
- : []),
299
- ]}
300
- />
301
- ),
302
- )
303
- }
304
- </>
305
- )
306
- }
307
- {
308
- info.hiddenSpecialList && info.hiddenSpecialList.length > 0 && (
309
- <>
310
- <Divider orientation="left">特殊处置审核信息</Divider>
311
- {
312
- info.hiddenSpecialList.map(item => (
313
- <Descriptions
314
- key={item.id}
315
- bordered
316
- column={1}
317
- styles={{ label: { width: 200 } }}
318
- items={[
319
- ...((item.state === 3 || item.state === 4)
320
- ? [
321
- ...(item.updateName ? [{ label: "审核人", children: item.updateName }] : []),
322
- ...(item.updateTime ? [{ label: "审核时间", children: item.updateTime }] : []),
323
- ]
324
- : []),
325
- { label: "无法整改原因", children: item.examine },
326
- ...(item.state === 3
327
- ? [
328
- ...(item.disposalPlan ? [{ label: "处置方案", children: item.disposalPlan }] : []),
329
- ...(item.disposalFile
330
- ? [{
331
- label: "处置方案附件",
332
- children: (
333
- getFileSuffix(item.disposalFile) === "pdf"
334
- ? <PreviewPdf name={getFileName(item.disposalFile)} url={item.disposalFile} />
335
- : (
336
- <Space>
337
- <span>{getFileName(item.disposalFile)}</span>
338
- <Button
339
- type="primary"
340
- size="small"
341
- onClick={() => downloadFile(item.disposalFile)}
342
- >
343
- 下载
344
- </Button>
345
- </Space>
346
- )
347
- ),
348
- }]
349
- : []),
350
- {
351
- label: "是否更换整改负责人",
352
- children: item.rectifyUserCO && Object.keys(item.rectifyUserCO).length > 0 ? "是" : "否",
353
- },
354
- ...(
355
- item.rectifyUserCO && Object.keys(item.rectifyUserCO).length > 0
356
- ? [{ label: "整改负责人", children: item.rectifyUserCO.userName }]
357
- : []),
358
- ]
359
- : []),
360
- {
361
- label: "特殊处置审核状态",
362
- children: (
363
- <>
364
- {item.state === 1 && <span>待审核</span>}
365
- {item.state === 2 && <span>审批中</span>}
366
- {item.state === 3 && <span>已通过</span>}
367
- {item.state === 4 && <span>已拒绝</span>}
368
- {item.state === 5 && <span>已撤回</span>}
369
- </>
370
- ),
371
- },
372
- ]}
373
- />
374
- ),
375
- )
376
- }
377
- </>
378
- )
379
- }
380
- {
381
- (info.hiddenRectifyUserCO && info.hiddenRectifyUserCO.length > 0) && (
382
- <>
383
- <Divider orientation="left">整改信息</Divider>
384
- {
385
- info.hiddenRectifyUserCO.map((item, index) => (
386
- <Descriptions
387
- key={item.id}
388
- bordered
389
- column={1}
390
- styles={{ label: { width: 200 } }}
391
- items={[
392
- ...(item.deptName ? [{ label: `整改${info.isRelated === 1 ? "单位" : "部门"}`, children: item.deptName }] : []),
393
- ...(item.userName ? [{ label: "整改人", children: item.userName }] : []),
394
- ...(item.rectificationTime ? [{ label: "整改时间", children: item.rectificationTime }] : []),
395
- ...(item.descr ? [{ label: "整改描述", children: item.descr }] : []),
396
- ...(item.investmentFunds ? [{ label: "投入资金", children: `${item.investmentFunds}元` }] : []),
397
- ...(info.tempSafeMeasure ? [{ label: "临时安全措施", children: info.tempSafeMeasure }] : []),
398
- { label: "整改后图片", children: <PreviewImg files={afterRectificationImageFiles[index]} /> },
399
- {
400
- label: "整改方案",
401
- children: (
402
- <>
403
- {item.isRectificationScheme === 0 && <span>无</span>}
404
- {item.isRectificationScheme === 1 && <span>有</span>}
405
- </>
406
- ),
407
- },
408
- ...((item.isRectificationScheme === 1 && item.hiddenSchemeCO && Object.keys(item.hiddenSchemeCO).length > 0)
409
- ? [
410
- { label: "治理标准", children: item.hiddenSchemeCO.governStanDards },
411
- { label: "治理方法", children: item.hiddenSchemeCO.governMethod },
412
- { label: "经费落实", children: item.hiddenSchemeCO.expenditure },
413
- { label: "负责人员", children: item.hiddenSchemeCO.principal },
414
- { label: "工时安排", children: item.hiddenSchemeCO.programming },
415
- { label: "时限要求", children: item.hiddenSchemeCO.timeLimitFor },
416
- { label: "工作要求", children: item.hiddenSchemeCO.jobRequireMent },
417
- { label: "其他事项", children: item.hiddenSchemeCO.otherBusiness },
418
- { label: "方案图片", children: <PreviewImg files={rectificationPlanImageFiles[index]} /> },
419
- ]
420
- : []),
421
- ]}
422
- />
423
- ))
424
- }
425
- </>
426
- )
427
- }
428
- {
429
- (info.hiddenAcceptUserCO && info.hiddenAcceptUserCO.length > 0)
430
- ? (
431
- info.isQualified === 1
432
- ? (
433
- <>
434
- <Divider orientation="left">验收信息</Divider>
435
- {
436
- info.hiddenAcceptUserCO.map((item, index) => (
437
- <Descriptions
438
- key={item.id}
439
- bordered
440
- column={1}
441
- styles={{ label: { width: 200 } }}
442
- items={[
443
- { label: "验收部门", children: item.deptName },
444
- { label: "验收人", children: item.userName },
445
- { label: "验收时间", children: item.rectificationTime },
446
- ...(item.repulseCause ? [{ label: "验收打回意见", children: item.repulseCause }] : []),
447
- { label: "是否合格", children: item.rectificationTime ? "合格" : "" },
448
- ...(item.descr ? [{ label: "验收描述", children: item.descr }] : []),
449
- ...((acceptImageFiles[index] && acceptImageFiles[index].length > 0) ? [{ label: "验收图片", children: <PreviewImg files={acceptImageFiles[index]} /> }] : []),
450
- ]}
451
- />
452
- ))
453
- }
454
- </>
455
- )
456
- : (
457
- <>
458
- <Divider orientation="left">验收打回信息</Divider>
459
- {
460
- info.hiddenAcceptUserCO.map(item => (
461
- <Descriptions
462
- key={item.id}
463
- bordered
464
- column={1}
465
- styles={{ label: { width: 200 } }}
466
- items={[
467
- { label: "验收部门", children: item.deptName },
468
- { label: "验收人", children: item.userName },
469
- { label: "验收时间", children: item.rectificationTime },
470
- { label: "验收打回意见", children: item.repulseCause },
471
- ]}
472
- />
473
- ))
474
- }
475
- </>
476
- )
477
- )
478
- : null
479
- }
480
- {
481
- (info.hiddenInspecCO && Object.keys(info.hiddenInspecCO).length > 0)
482
- ? (
483
- <>
484
- <Divider orientation="left">安全环保验收信息</Divider>
485
- <Descriptions
486
- bordered
487
- column={1}
488
- styles={{ label: { width: 200 } }}
489
- items={[
490
- { label: "验收人", children: info.hiddenInspecCO.finalCheckOr },
491
- { label: "验收时间", children: info.hiddenInspecCO.finalCheckTime },
492
- { label: "是否合格", children: info.hiddenInspecCO.finalCheck === 1 ? "合格" : "不合格" },
493
- { label: "验收描述", children: info.hiddenInspecCO.finalCheckDesc },
494
- { label: "验收图片", children: <PreviewImg files={inspectionAcceptImageFiles} /> },
495
- ]}
496
- />
497
- </>
498
- )
499
- : null
500
- }
501
- </Spin>
502
- {
503
- videoModalOpen && (
504
- <Video
505
- visible={videoModalOpen}
506
- source={hiddenVideoFiles[0].url}
507
- onCancel={() => setVideoModalOpen(false)}
508
- title="隐患视频"
509
- />
510
- )
511
- }
512
- </div>
513
- );
514
- }
515
-
516
- HiddenInfo.displayName = "HiddenInfo";
517
-
518
- export default HiddenInfo;
1
+ import{request as e}from"@cqsjjb/jjb-common-lib/http";import{Spin as i,Divider as d,Descriptions as l,Space as n,Button as t}from"antd";import r from"dayjs";import{useState as a,useEffect as c}from"react";import{HIDDEN_SOURCE_ENUM as s,HIDDEN_STATE_ENUM as h,HIDDEN_RECTIFICATION_TYPE_ENUM as o}from"../../../enum/hidden/gwj/index.js";import{UPLOAD_FILE_TYPE_ENUM as m}from"../../../enum/uploadFile/gwj/index.js";import p from"../../../hooks/useDownloadFile/index.js";import f from"../../../hooks/useGetFile/index.js";import b from"../../../hooks/useGetUrlQuery/index.js";import{getLabelName as C,getFileSuffix as O,getFileName as u}from"../../../utils/index.js";import y from"../../Icon/VideoIcon/index.js";import U from"../../PreviewImg/index.js";import g from"../../PreviewPdf/index.js";import N from"../../Video/index.js";import{jsxs as k,jsx as j,Fragment as T}from"react/jsx-runtime";function F(F){const{id:S="",idKey:R="id",hiddenId:I="",hiddenIdKey:A="hiddenId",history:L=!1,onGetData:w}=F,[D,q]=a({hiddenUserPresetsCO:{},hiddenRectifyUserCO:[],hiddenConfirmUserCO:[],hiddenAcceptUserCO:[],hiddenAcceptQualifiedUserCO:[],hiddenAcceptUnqualifiedUserCO:[],hiddenInspecCO:{},hiddenSpecialList:[],hiddenExtensionList:[]}),[x,P]=a([]),[v,Q]=a([]),[K,M]=a([]),[Y,$]=a([]),[E,G]=a([]),[H,z]=a([]),[B,V]=a(!0),[J,W]=a(!1),{getFile:X}=f(),Z=b(),{loading:_,downloadFile:ee}=p();return c(()=>{(async()=>{e(L?`/hidden/hidden/history/${S||Z[R]}`:`/hidden/hidden/${S||Z[R]}`,"get").then(e=>{if(e.data.hiddenAcceptQualifiedUserCO=[],e.data.hiddenAcceptUnqualifiedUserCO=[],e.data.hiddenAcceptUserCO&&e.data.hiddenAcceptUserCO.length>0)for(let i=0;i<e.data.hiddenAcceptUserCO.length;i++)1===e.data.hiddenAcceptUserCO[i].status?e.data.hiddenAcceptQualifiedUserCO.push(e.data.hiddenAcceptUserCO[i]):e.data.hiddenAcceptUnqualifiedUserCO.push(e.data.hiddenAcceptUserCO[i]);q(e.data),(async e=>{const i=await X({eqType:m[3],eqForeignKey:I||Z[A]});P(i);const d=await X({eqType:m[102],eqForeignKey:I||Z[A]});if(Q(d),e.hiddenRectifyUserCO&&e.hiddenRectifyUserCO.length>0)for(let i=0;i<e.hiddenRectifyUserCO.length;i++){if(e.hiddenRectifyUserCO[i].hiddenUserId){const d=await X({eqType:m[4],eqForeignKey:e.hiddenRectifyUserCO[i].hiddenUserId});M(e=>[...e,d])}if(1===e.hiddenRectifyUserCO[i].isRectificationScheme&&e.hiddenRectifyUserCO[i].hiddenSchemeCO&&Object.keys(e.hiddenRectifyUserCO[i].hiddenSchemeCO).length>0&&e.hiddenRectifyUserCO[i].hiddenSchemeCO.hiddenSchemeId){const d=await X({eqType:m[8],eqForeignKey:e.hiddenRectifyUserCO[i].hiddenSchemeCO.hiddenSchemeId});$(e=>[...e,d])}}if(e.hiddenAcceptQualifiedUserCO&&e.hiddenAcceptQualifiedUserCO.length>0)for(let i=0;i<e.hiddenAcceptQualifiedUserCO.length;i++)if(e.hiddenAcceptQualifiedUserCO[i].hiddenUserId){const d=await X({eqType:m[5],eqForeignKey:e.hiddenAcceptQualifiedUserCO[i].hiddenUserId});G(e=>[...e,d])}if(e.hiddenInspecCO&&Object.keys(e.hiddenInspecCO).length>0){const e=await X({eqType:m[146],eqForeignKey:I||Z[A]});z(e)}})(e.data),V(!1),w?.(e.data)})})()},[F.id,F.hiddenId]),k("div",{children:[k(i,{spinning:B||_,children:[j(d,{orientation:"left",children:"隐患信息"}),j(l,{bordered:!0,column:1,styles:{label:{width:200}},items:[{label:"隐患来源",children:C({list:s,status:D.source})},{label:"隐患类型",children:D.hiddenTypeName},{label:"隐患级别",children:D.hiddenLevelName},{label:"隐患状态",children:C({list:h,status:D.state})},{label:"隐患描述",children:D.hiddenDesc},...D.hiddenPartName?[{label:"隐患部位",children:D.hiddenPartName}]:[],...(2===D.source||3===D.source)&&D.hiddenCheckListCO&&Object.keys(D.hiddenCheckListCO).length>0?[{label:"风险点(单元)",children:D.hiddenCheckListCO.listRiskPoints},{label:"辨识部位",children:D.hiddenCheckListCO.identifiedLocations},{label:"存在风险",children:D.hiddenCheckListCO.existingRisks},{label:"风险分级",children:D.hiddenCheckListCO.riskLevel},{label:"隐患清单",children:D.hiddenCheckListCO.listName},{label:"检查内容",children:D.hiddenCheckListCO.inspectionContent}]:[],...D.longitude?[{label:"隐患上报位置(经纬度)",children:[D.longitude&&`经度:${D.longitude}`,D.latitude&&`纬度:${D.latitude}`].filter(Boolean).join(" ")}]:[],...D.positionDesc?[{label:"隐患位置描述",children:D.positionDesc}]:[],{label:"隐患发现人",children:D.creatorName},{label:"隐患发现时间",children:r(D.hiddenFindTime).format("YYYY-MM-DD HH:mm:ss")},{label:"整改类型",children:C({list:o,status:D.rectificationType})},{label:"是否相关方",children:C({list:[{bianma:"1",name:"是"},{bianma:"0",name:"否"}],status:D.isRelated})},...1===D.isRelated?[{label:"相关方项目",children:D.projectName}]:[],{label:"隐患图片",children:j(U,{files:x})},...v.length>0?[{label:"隐患视频",children:j(y,{onClick:()=>{W(!0)}})}]:[]]}),D.hiddenUserPresetsCO&&Object.keys(D.hiddenUserPresetsCO).length>0&&k(T,{children:[j(d,{orientation:"left",children:"整改信息(发现人预填)"}),j(l,{bordered:!0,column:1,styles:{label:{width:200}},items:[{label:"整改"+(1===D.isRelated?"单位":"部门"),children:D.hiddenUserPresetsCO.rectifyDeptName},{label:"整改人",children:D.hiddenUserPresetsCO.rectifyUserName},...2===D.rectificationType?[{label:"整改期限",children:D.hiddenUserPresetsCO.rectifyDeadline?r(D.hiddenUserPresetsCO.rectifyDeadline).format("YYYY-MM-DD"):""}]:[],...1===D.rectificationType?[{label:"验收部门",children:D.hiddenUserPresetsCO.checkDeptName},{label:"验收人",children:D.hiddenUserPresetsCO.checkUserName}]:[]]})]}),D.hiddenConfirmUserCO&&D.hiddenConfirmUserCO.length>0&&k(T,{children:[j(d,{orientation:"left",children:"隐患确认"}),D.hiddenConfirmUserCO.map(e=>j(l,{bordered:!0,column:1,styles:{label:{width:200}},items:[...e.hiddenLevelName?[{label:"隐患级别",children:e.hiddenLevelName}]:[],...e.userName?[{label:"隐患确认人",children:e.userName}]:[],...e.rectificationTime?[{label:"隐患确认时间",children:e.rectificationTime}]:[],...e.rectifyDeptName?[{label:"整改"+(1===D.isRelated?"单位":"部门"),children:e.rectifyDeptName}]:[],...e.rectifyUserName?[{label:"整改人",children:e.rectifyUserName}]:[],...e.rectificationDeadline?[{label:"整改完成期限",children:e.rectificationDeadline}]:[],...e.checkDeptName?[{label:"验收部门",children:e.checkDeptName}]:[],...e.checkUserName?[{label:"验收人",children:e.checkUserName}]:[],...e.repulseCause?[...e.repulseCause?[{label:"打回意见",children:e.repulseCause}]:[],...e.rectificationTime?[{label:"打回时间",children:e.rectificationTime}]:[]]:[]]},e.id))]}),D.hiddenExtensionList&&D.hiddenExtensionList.length>0&&k(T,{children:[j(d,{orientation:"left",children:"延期信息"}),D.hiddenExtensionList.map(e=>j(l,{bordered:!0,column:1,styles:{label:{width:200}},items:[...e.createTime?[{label:"申请延期日期",children:e.createTime}]:[],...e.delayTime?[{label:"延期日期",children:e.delayTime}]:[],...e.updateName?[{label:"审核人",children:e.updateName}]:[],...e.disposalPlan?[{label:"处置方案",children:e.disposalPlan}]:[],...e.disposalFile?[{label:"处置方案附件",children:"pdf"===O(e.disposalFile)?j(g,{name:u(e.disposalFile),url:e.disposalFile}):k(n,{children:[j("span",{children:u(e.disposalFile)}),j(t,{type:"primary",size:"small",onClick:()=>ee(e.disposalFile),children:"下载"})]})}]:[],{label:"延期审核状态",children:k(T,{children:[1===e.state&&j("span",{children:"待审核"}),2===e.state&&j("span",{children:"审批中"}),3===e.state&&j("span",{children:"已通过"}),4===e.state&&j("span",{children:"已拒绝"}),5===e.state&&j("span",{children:"已撤回"})]})},...3===e.state||4===e.state?[{label:"延期审核时间",children:e.updateTime}]:[]]},e.id))]}),D.hiddenSpecialList&&D.hiddenSpecialList.length>0&&k(T,{children:[j(d,{orientation:"left",children:"特殊处置审核信息"}),D.hiddenSpecialList.map(e=>j(l,{bordered:!0,column:1,styles:{label:{width:200}},items:[...3===e.state||4===e.state?[...e.updateName?[{label:"审核人",children:e.updateName}]:[],...e.updateTime?[{label:"审核时间",children:e.updateTime}]:[]]:[],{label:"无法整改原因",children:e.examine},...3===e.state?[...e.disposalPlan?[{label:"处置方案",children:e.disposalPlan}]:[],...e.disposalFile?[{label:"处置方案附件",children:"pdf"===O(e.disposalFile)?j(g,{name:u(e.disposalFile),url:e.disposalFile}):k(n,{children:[j("span",{children:u(e.disposalFile)}),j(t,{type:"primary",size:"small",onClick:()=>ee(e.disposalFile),children:"下载"})]})}]:[],{label:"是否更换整改负责人",children:e.rectifyUserCO&&Object.keys(e.rectifyUserCO).length>0?"是":"否"},...e.rectifyUserCO&&Object.keys(e.rectifyUserCO).length>0?[{label:"整改负责人",children:e.rectifyUserCO.userName}]:[]]:[],{label:"特殊处置审核状态",children:k(T,{children:[1===e.state&&j("span",{children:"待审核"}),2===e.state&&j("span",{children:"审批中"}),3===e.state&&j("span",{children:"已通过"}),4===e.state&&j("span",{children:"已拒绝"}),5===e.state&&j("span",{children:"已撤回"})]})}]},e.id))]}),D.hiddenRectifyUserCO&&D.hiddenRectifyUserCO.length>0&&k(T,{children:[j(d,{orientation:"left",children:"整改信息"}),D.hiddenRectifyUserCO.map((e,i)=>j(l,{bordered:!0,column:1,styles:{label:{width:200}},items:[...e.deptName?[{label:"整改"+(1===D.isRelated?"单位":"部门"),children:e.deptName}]:[],...e.userName?[{label:"整改人",children:e.userName}]:[],...e.rectificationTime?[{label:"整改时间",children:e.rectificationTime}]:[],...e.descr?[{label:"整改描述",children:e.descr}]:[],...e.investmentFunds?[{label:"投入资金",children:`${e.investmentFunds}元`}]:[],...D.tempSafeMeasure?[{label:"临时安全措施",children:D.tempSafeMeasure}]:[],{label:"整改后图片",children:j(U,{files:K[i]})},{label:"整改方案",children:k(T,{children:[0===e.isRectificationScheme&&j("span",{children:"无"}),1===e.isRectificationScheme&&j("span",{children:"有"})]})},...1===e.isRectificationScheme&&e.hiddenSchemeCO&&Object.keys(e.hiddenSchemeCO).length>0?[{label:"治理标准",children:e.hiddenSchemeCO.governStanDards},{label:"治理方法",children:e.hiddenSchemeCO.governMethod},{label:"经费落实",children:e.hiddenSchemeCO.expenditure},{label:"负责人员",children:e.hiddenSchemeCO.principal},{label:"工时安排",children:e.hiddenSchemeCO.programming},{label:"时限要求",children:e.hiddenSchemeCO.timeLimitFor},{label:"工作要求",children:e.hiddenSchemeCO.jobRequireMent},{label:"其他事项",children:e.hiddenSchemeCO.otherBusiness},{label:"方案图片",children:j(U,{files:Y[i]})}]:[]]},e.id))]}),D.hiddenAcceptQualifiedUserCO.length>0?k(T,{children:[j(d,{orientation:"left",children:"验收信息"}),D.hiddenAcceptQualifiedUserCO.map((e,i)=>j(l,{bordered:!0,column:1,styles:{label:{width:200}},items:[{label:"验收部门",children:e.deptName},{label:"验收人",children:e.userName},{label:"验收时间",children:e.rectificationTime},...e.repulseCause?[{label:"验收打回意见",children:e.repulseCause}]:[],{label:"是否合格",children:e.rectificationTime?"合格":""},...e.descr?[{label:"验收描述",children:e.descr}]:[],...E[i]&&E[i].length>0?[{label:"验收图片",children:j(U,{files:E[i]})}]:[]]},e.id))]}):null,D.hiddenAcceptUnqualifiedUserCO.length>0?k(T,{children:[j(d,{orientation:"left",children:"验收打回信息"}),D.hiddenAcceptUnqualifiedUserCO.map(e=>j(l,{bordered:!0,column:1,styles:{label:{width:200}},items:[{label:"验收部门",children:e.deptName},{label:"验收人",children:e.userName},{label:"验收时间",children:e.rectificationTime},{label:"验收打回意见",children:e.repulseCause}]},e.id))]}):null,D.hiddenInspecCO&&Object.keys(D.hiddenInspecCO).length>0?k(T,{children:[j(d,{orientation:"left",children:"安全环保验收信息"}),j(l,{bordered:!0,column:1,styles:{label:{width:200}},items:[{label:"验收人",children:D.hiddenInspecCO.finalCheckOr},{label:"验收时间",children:D.hiddenInspecCO.finalCheckTime},{label:"是否合格",children:1===D.hiddenInspecCO.finalCheck?"合格":"不合格"},{label:"验收描述",children:D.hiddenInspecCO.finalCheckDesc},{label:"验收图片",children:j(U,{files:H})}]})]}):null]}),J&&j(N,{visible:J,source:v[0].url,onCancel:()=>W(!1),title:"隐患视频"})]})}F.displayName="HiddenInfo";export{F as default};
@@ -1,9 +1 @@
1
- import { PlusOutlined } from "@ant-design/icons";
2
-
3
- const AddIcon = props => (
4
- <PlusOutlined {...props} />
5
- );
6
-
7
- AddIcon.displayName = "AddIcon";
8
-
9
- export default AddIcon;
1
+ import{PlusOutlined as o}from"@ant-design/icons";import{jsx as t}from"react/jsx-runtime";const r=r=>t(o,{...r});r.displayName="AddIcon";export{r as default};
@@ -1,9 +1 @@
1
- import { ArrowLeftOutlined } from "@ant-design/icons";
2
-
3
- const BackIcon = props => (
4
- <ArrowLeftOutlined {...props} />
5
- );
6
-
7
- BackIcon.displayName = "BackIcon";
8
-
9
- export default BackIcon;
1
+ import{ArrowLeftOutlined as o}from"@ant-design/icons";import{jsx as t}from"react/jsx-runtime";const a=a=>t(o,{...a});a.displayName="BackIcon";export{a as default};
@@ -1,9 +1 @@
1
- import { DeleteOutlined } from "@ant-design/icons";
2
-
3
- const DeleteIcon = props => (
4
- <DeleteOutlined {...props} />
5
- );
6
-
7
- DeleteIcon.displayName = "DeleteIcon";
8
-
9
- export default DeleteIcon;
1
+ import{DeleteOutlined as e}from"@ant-design/icons";import{jsx as t}from"react/jsx-runtime";const o=o=>t(e,{...o});o.displayName="DeleteIcon";export{o as default};
@@ -1,9 +1 @@
1
- import { DownloadOutlined } from "@ant-design/icons";
2
-
3
- const DownloadIcon = props => (
4
- <DownloadOutlined {...props} />
5
- );
6
-
7
- DownloadIcon.displayName = "DownloadIcon";
8
-
9
- export default DownloadIcon;
1
+ import{DownloadOutlined as o}from"@ant-design/icons";import{jsx as t}from"react/jsx-runtime";const a=a=>t(o,{...a});a.displayName="DownloadIcon";export{a as default};
@@ -1,9 +1 @@
1
- import { EditOutlined } from "@ant-design/icons";
2
-
3
- const EditIcon = props => (
4
- <EditOutlined {...props} />
5
- );
6
-
7
- EditIcon.displayName = "EditIcon";
8
-
9
- export default EditIcon;
1
+ import{EditOutlined as t}from"@ant-design/icons";import{jsx as o}from"react/jsx-runtime";const i=i=>o(t,{...i});i.displayName="EditIcon";export{i as default};
@@ -1,9 +1 @@
1
- import { ExportOutlined } from "@ant-design/icons";
2
-
3
- const ExportIcon = props => (
4
- <ExportOutlined {...props} />
5
- );
6
-
7
- ExportIcon.displayName = "ExportIcon";
8
-
9
- export default ExportIcon;
1
+ import{ExportOutlined as o}from"@ant-design/icons";import{jsx as t}from"react/jsx-runtime";const r=r=>t(o,{...r});r.displayName="ExportIcon";export{r as default};
@@ -1,9 +1 @@
1
- import { ImportOutlined } from "@ant-design/icons";
2
-
3
- const ImportIcon = props => (
4
- <ImportOutlined {...props} />
5
- );
6
-
7
- ImportIcon.displayName = "ImportIcon";
8
-
9
- export default ImportIcon;
1
+ import{ImportOutlined as o}from"@ant-design/icons";import{jsx as t}from"react/jsx-runtime";const r=r=>t(o,{...r});r.displayName="ImportIcon";export{r as default};
@@ -1,9 +1 @@
1
- import { EnvironmentOutlined } from "@ant-design/icons";
2
-
3
- const LocationIcon = props => (
4
- <EnvironmentOutlined {...props} />
5
- );
6
-
7
- LocationIcon.displayName = "LocationIcon";
8
-
9
- export default LocationIcon;
1
+ import{EnvironmentOutlined as o}from"@ant-design/icons";import{jsx as t}from"react/jsx-runtime";const a=a=>t(o,{...a});a.displayName="LocationIcon";export{a as default};
@@ -1,9 +1 @@
1
- import { PrinterOutlined } from "@ant-design/icons";
2
-
3
- const PrintIcon = props => (
4
- <PrinterOutlined {...props} />
5
- );
6
-
7
- PrintIcon.displayName = "PrintIcon";
8
-
9
- export default PrintIcon;
1
+ import{PrinterOutlined as t}from"@ant-design/icons";import{jsx as o}from"react/jsx-runtime";const r=r=>o(t,{...r});r.displayName="PrintIcon";export{r as default};