ydb-components-material 0.1.87 → 0.1.89

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 (96) hide show
  1. package/build/docs/404.html +3 -3
  2. package/build/docs/_demos/:uuid +3 -3
  3. package/build/docs/colorful-button.html +3 -3
  4. package/build/docs/colorful-input.html +3 -3
  5. package/build/docs/index.html +3 -3
  6. package/build/docs/umi.6ffa9be4.js +1 -0
  7. package/build/docs/{umi.507b3306.css → umi.fd11a37a.css} +1 -1
  8. package/build/docs/~demos/:uuid.html +3 -3
  9. package/build/docs/~demos/colorful-button-demo.html +3 -3
  10. package/build/docs/~demos/colorful-input-demo.html +3 -3
  11. package/build/lowcode/assets-daily.json +11 -11
  12. package/build/lowcode/assets-dev.json +2 -2
  13. package/build/lowcode/assets-prod.json +11 -11
  14. package/build/lowcode/index.js +1 -1
  15. package/build/lowcode/meta.js +1 -1
  16. package/build/lowcode/preview.js +9 -9
  17. package/build/lowcode/render/default/view.css +1 -1
  18. package/build/lowcode/render/default/view.js +2 -2
  19. package/build/lowcode/view.css +1 -1
  20. package/build/lowcode/view.js +2 -2
  21. package/dist/BizComps.css +1 -1
  22. package/dist/BizComps.js +5 -5
  23. package/dist/BizComps.js.map +1 -1
  24. package/es/components/file-list/checkPoint.d.ts +3 -0
  25. package/es/components/file-list/checkPoint.js +157 -0
  26. package/es/components/file-list/checkPoint.scss +120 -0
  27. package/es/components/file-list/file.js +224 -0
  28. package/es/components/file-list/icon/checked.svg +1 -0
  29. package/es/components/file-list/icon/close.svg +1 -0
  30. package/es/components/file-list/icon/del.svg +1 -0
  31. package/es/components/file-list/icon/download.svg +1 -0
  32. package/es/components/file-list/icon/download_pc.svg +1 -0
  33. package/es/components/file-list/icon/file.svg +1 -0
  34. package/es/components/file-list/icon/icon_errorMsg.svg +1 -0
  35. package/es/components/file-list/icon/icon_warning.svg +1 -0
  36. package/es/components/file-list/icon/preview.svg +1 -0
  37. package/es/components/file-list/icon/preview_pc.svg +1 -0
  38. package/es/components/file-list/icon/upload.svg +1 -0
  39. package/es/components/file-list/icon/view.svg +1 -0
  40. package/es/components/file-list/index.d.ts +21 -0
  41. package/es/components/file-list/index.js +258 -0
  42. package/es/components/file-list/index.scss +61 -0
  43. package/es/components/file-list/item.d.ts +27 -0
  44. package/es/components/file-list/item.js +854 -0
  45. package/es/components/file-list/item.scss +412 -0
  46. package/es/components/file-list/seal.d.ts +3 -0
  47. package/es/components/file-list/seal.js +222 -0
  48. package/es/components/file-list/sealUtil.js +252 -0
  49. package/es/components/file-list/sign.d.ts +3 -0
  50. package/es/components/file-list/sign.js +138 -0
  51. package/es/components/file-list/signUtil.js +369 -0
  52. package/es/index.d.ts +2 -0
  53. package/es/index.js +1 -0
  54. package/es/style.js +1 -0
  55. package/lib/components/file-list/checkPoint.d.ts +3 -0
  56. package/lib/components/file-list/checkPoint.js +162 -0
  57. package/lib/components/file-list/checkPoint.scss +120 -0
  58. package/lib/components/file-list/file.js +233 -0
  59. package/lib/components/file-list/icon/checked.svg +1 -0
  60. package/lib/components/file-list/icon/close.svg +1 -0
  61. package/lib/components/file-list/icon/del.svg +1 -0
  62. package/lib/components/file-list/icon/download.svg +1 -0
  63. package/lib/components/file-list/icon/download_pc.svg +1 -0
  64. package/lib/components/file-list/icon/file.svg +1 -0
  65. package/lib/components/file-list/icon/icon_errorMsg.svg +1 -0
  66. package/lib/components/file-list/icon/icon_warning.svg +1 -0
  67. package/lib/components/file-list/icon/preview.svg +1 -0
  68. package/lib/components/file-list/icon/preview_pc.svg +1 -0
  69. package/lib/components/file-list/icon/upload.svg +1 -0
  70. package/lib/components/file-list/icon/view.svg +1 -0
  71. package/lib/components/file-list/index.d.ts +21 -0
  72. package/lib/components/file-list/index.js +263 -0
  73. package/lib/components/file-list/index.scss +61 -0
  74. package/lib/components/file-list/item.d.ts +27 -0
  75. package/lib/components/file-list/item.js +860 -0
  76. package/lib/components/file-list/item.scss +412 -0
  77. package/lib/components/file-list/seal.d.ts +3 -0
  78. package/lib/components/file-list/seal.js +228 -0
  79. package/lib/components/file-list/sealUtil.js +254 -0
  80. package/lib/components/file-list/sign.d.ts +3 -0
  81. package/lib/components/file-list/sign.js +144 -0
  82. package/lib/components/file-list/signUtil.js +371 -0
  83. package/lib/index.d.ts +2 -0
  84. package/lib/index.js +3 -1
  85. package/lib/style.js +1 -0
  86. package/lowcode/file-list/meta.ts +231 -0
  87. package/lowcode_es/_setter/IconSelectSetter.js +1 -1
  88. package/lowcode_es/file-list/meta.d.ts +22 -0
  89. package/lowcode_es/file-list/meta.js +213 -0
  90. package/lowcode_es/meta.js +3 -2
  91. package/lowcode_lib/_setter/IconSelectSetter.js +1 -1
  92. package/lowcode_lib/file-list/meta.d.ts +22 -0
  93. package/lowcode_lib/file-list/meta.js +218 -0
  94. package/lowcode_lib/meta.js +14 -13
  95. package/package.json +5 -4
  96. package/build/docs/umi.5298404d.js +0 -1
@@ -0,0 +1,854 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _extends from "@babel/runtime/helpers/extends";
3
+ import _Message from "@alifd/next/es/message";
4
+ import _Radio from "@alifd/next/es/radio";
5
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
6
+ import React, { useEffect, useState } from 'react';
7
+ import CheckedIcon from "./icon/checked.svg";
8
+ import delIcon from "./icon/del.svg";
9
+ import previewIcon from "./icon/preview.svg";
10
+ import previewIconPC from "./icon/preview_pc.svg";
11
+ import downloadIcon from "./icon/download.svg";
12
+ import downloadIconPC from "./icon/download_pc.svg";
13
+ import fileIcon from "./icon/file.svg";
14
+ import warningIcon from "./icon/icon_warning.svg";
15
+ import errorMsgIcon from "./icon/icon_errorMsg.svg";
16
+ import uploadIcon from "./icon/upload.svg";
17
+ import closeIcon from "./icon/close.svg";
18
+ import SignPage from "./sign";
19
+ import SealPage from "./seal";
20
+ import { getMaterialLib, getGuideImg, getUrlById, onlinePreview } from "../../api";
21
+ import { initFormat, getFileExtension } from "./file.js";
22
+ import CheckPoint from "./checkPoint";
23
+ import "./item.scss";
24
+ var RadioGroup = _Radio.Group;
25
+ var FileItem = function FileItem(_ref) {
26
+ var index = _ref.index,
27
+ subIndex = _ref.subIndex,
28
+ fileIndex = _ref.fileIndex,
29
+ file = _ref.file,
30
+ fileConfig = _ref.fileConfig,
31
+ maxFileSize = _ref.maxFileSize,
32
+ spec = _ref.spec,
33
+ isShowLib = _ref.isShowLib,
34
+ userInfo = _ref.userInfo,
35
+ token = _ref.token,
36
+ tokenTY = _ref.tokenTY,
37
+ accessToken = _ref.accessToken,
38
+ baseUrl = _ref.baseUrl,
39
+ env = _ref.env,
40
+ isPC = _ref.isPC,
41
+ disabled = _ref.disabled,
42
+ style = _ref.style,
43
+ valChange = _ref.valChange,
44
+ download = _ref.download;
45
+ console.log('fileItem', file, maxFileSize);
46
+ var fileName = file.fileName,
47
+ fileUrl = file.fileUrl,
48
+ fileId = file.fileId,
49
+ isSigned = file.isSigned,
50
+ isSealed = file.isSealed,
51
+ fileType = file.fileType;
52
+ var signatureEnable = fileConfig.signatureEnable,
53
+ signEnable = fileConfig.signEnable,
54
+ isInValid = fileConfig.isInValid,
55
+ signGuidFileId = fileConfig.signGuidFileId,
56
+ keyPoint = fileConfig.keyPoint;
57
+ var _useState = useState(false),
58
+ isShowMaterialLib = _useState[0],
59
+ setIsShowMaterialLib = _useState[1];
60
+ var _useState2 = useState(),
61
+ materialId = _useState2[0],
62
+ setMaterial = _useState2[1]; // 在材料库中的材料
63
+ var _useState3 = useState(false),
64
+ isShowSignPage = _useState3[0],
65
+ setIsShowSignPage = _useState3[1];
66
+ var _useState4 = useState(false),
67
+ isShowSealPage = _useState4[0],
68
+ setIsShowSealPage = _useState4[1];
69
+ var _useState5 = useState(false),
70
+ isShowPreview = _useState5[0],
71
+ setIsShowPreview = _useState5[1];
72
+ var _useState6 = useState(''),
73
+ previewIframeUrl = _useState6[0],
74
+ setPreviewIframeUrl = _useState6[1];
75
+ var _useState7 = useState({}),
76
+ materialUrlMap = _useState7[0],
77
+ setMaterialUrlMap = _useState7[1];
78
+ var _useState8 = useState(''),
79
+ materialPreviewUrl = _useState8[0],
80
+ setMaterialPreviewUrl = _useState8[1];
81
+ var _useState9 = useState(false),
82
+ isShowMaterialPreview = _useState9[0],
83
+ setIsShowMaterialPreview = _useState9[1];
84
+ var _useState0 = useState([]),
85
+ materialLib = _useState0[0],
86
+ setMaterialLib = _useState0[1];
87
+ var _useState1 = useState(''),
88
+ guideurl = _useState1[0],
89
+ setGuideurl = _useState1[1];
90
+ var _useState10 = useState(false),
91
+ isShowGuide = _useState10[0],
92
+ setIsShowGuide = _useState10[1];
93
+ var _useState11 = useState(null),
94
+ checkPointData = _useState11[0],
95
+ setCheckPointData = _useState11[1];
96
+ var _useState12 = useState(0),
97
+ materialLibTotal = _useState12[0],
98
+ setMaterialLibTotal = _useState12[1];
99
+ var _useState13 = useState(1),
100
+ pageNum = _useState13[0],
101
+ setPageNum = _useState13[1];
102
+ var _useState14 = useState(''),
103
+ thumbnail = _useState14[0],
104
+ setThumbnail = _useState14[1]; // 缩略图
105
+
106
+ var upload = function upload() {
107
+ if (disabled) return;
108
+ var inputEl = document.createElement('input');
109
+ inputEl.setAttribute('type', 'file');
110
+ inputEl.style.display = 'none';
111
+ document.body.appendChild(inputEl);
112
+ inputEl.click();
113
+ inputEl.addEventListener('change', function (e) {
114
+ console.log(e.target.files);
115
+ var fileData = e.target.files[0];
116
+ console.log('fileData----', fileData);
117
+ if (fileData.size > (maxFileSize || 50) * 1024 * 1024) {
118
+ _Message.notice("\u6587\u4EF6 \"" + fileData.name + "\" \u8D85\u8FC7" + maxFileSize + "MB\u9650\u5236");
119
+ return;
120
+ }
121
+ if (spec) {
122
+ var type = getFileExtension(fileData.name);
123
+ if (!initFormat(spec).includes(type)) {
124
+ _Message.notice("\u6587\u4EF6 \"" + fileData.name + "\" \u683C\u5F0F\u4E0D\u6B63\u786E");
125
+ return;
126
+ }
127
+ }
128
+ var formData = new FormData();
129
+ formData.append('file', fileData);
130
+ formData.append('open', true);
131
+ fetch(baseUrl + "/declaration/material/file/files/api", {
132
+ method: 'POST',
133
+ body: formData,
134
+ headers: {
135
+ Authorization: tokenTY || ''
136
+ }
137
+ }).then(function (response) {
138
+ return response.json();
139
+ }).then(function (res) {
140
+ document.body.removeChild(inputEl);
141
+ if (res.fileId) {
142
+ console.log('--------res', res);
143
+ valChange(_extends({}, res, {
144
+ fileName: fileData.name,
145
+ fileType: fileData.type
146
+ }), fileIndex, index, subIndex);
147
+ _Message.notice('上传成功');
148
+ } else {
149
+ _Message.error('上传失败,请重试');
150
+ }
151
+ })["catch"](function (err) {
152
+ return err;
153
+ });
154
+ });
155
+ };
156
+
157
+ // 预览材料
158
+ var preview = /*#__PURE__*/function () {
159
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
160
+ var fileUrl, fileId, urlRes, res;
161
+ return _regeneratorRuntime.wrap(function (_context) {
162
+ while (1) switch (_context.prev = _context.next) {
163
+ case 0:
164
+ fileUrl = file.fileUrl, fileId = file.fileId;
165
+ if (fileUrl) {
166
+ _context.next = 1;
167
+ break;
168
+ }
169
+ return _context.abrupt("return");
170
+ case 1:
171
+ console.log('fileUrl', fileUrl, fileId);
172
+ setPreviewIframeUrl(fileUrl);
173
+ setIsShowPreview(true);
174
+ // if (!fileId) return;
175
+ _context.next = 2;
176
+ return getUrlById({
177
+ id: fileId,
178
+ effectiveTime: 3600000
179
+ }, {
180
+ token: token,
181
+ tokenTY: tokenTY,
182
+ baseUrl: baseUrl,
183
+ env: env,
184
+ isPC: isPC,
185
+ accessToken: accessToken
186
+ });
187
+ case 2:
188
+ urlRes = _context.sent;
189
+ if (!(urlRes.presignedUrlList && urlRes.presignedUrlList.length > 0)) {
190
+ _context.next = 4;
191
+ break;
192
+ }
193
+ _context.next = 3;
194
+ return onlinePreview({
195
+ url: urlRes.presignedUrlList[2]
196
+ }, {
197
+ token: token,
198
+ tokenTY: tokenTY,
199
+ baseUrl: baseUrl,
200
+ env: env,
201
+ isPC: isPC,
202
+ accessToken: accessToken
203
+ });
204
+ case 3:
205
+ res = _context.sent;
206
+ setPreviewIframeUrl(res.url);
207
+ setIsShowPreview(true);
208
+ case 4:
209
+ case "end":
210
+ return _context.stop();
211
+ }
212
+ }, _callee);
213
+ }));
214
+ return function preview() {
215
+ return _ref2.apply(this, arguments);
216
+ };
217
+ }();
218
+
219
+ // 预览材料库中的材料
220
+ var previewMaterial = /*#__PURE__*/function () {
221
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(id, url) {
222
+ var materialUrl, urlRes;
223
+ return _regeneratorRuntime.wrap(function (_context2) {
224
+ while (1) switch (_context2.prev = _context2.next) {
225
+ case 0:
226
+ if (!materialUrlMap[id]) {
227
+ _context2.next = 1;
228
+ break;
229
+ }
230
+ setIsShowMaterialPreview(true);
231
+ setMaterialPreviewUrl(materialUrlMap[id]);
232
+ return _context2.abrupt("return");
233
+ case 1:
234
+ materialUrl = url;
235
+ if (materialUrl) {
236
+ _context2.next = 3;
237
+ break;
238
+ }
239
+ _context2.next = 2;
240
+ return getUrlById({
241
+ id: id,
242
+ effectiveTime: 3600000
243
+ }, {
244
+ token: token,
245
+ tokenTY: tokenTY,
246
+ baseUrl: baseUrl,
247
+ env: env,
248
+ isPC: isPC,
249
+ accessToken: accessToken
250
+ });
251
+ case 2:
252
+ urlRes = _context2.sent;
253
+ if (urlRes.presignedUrlList && urlRes.presignedUrlList.length > 0) {
254
+ materialUrl = urlRes.presignedUrlList[2];
255
+ }
256
+ case 3:
257
+ fetch(baseUrl + "/declaration/material/onlinePreview?url=" + materialUrl, {
258
+ method: 'GET',
259
+ headers: {
260
+ Authorization: tokenTY || ''
261
+ }
262
+ }).then(function (response) {
263
+ return response.json();
264
+ }).then(function (res) {
265
+ var _extends2;
266
+ setMaterialPreviewUrl(res.url);
267
+ setIsShowMaterialPreview(true);
268
+ setMaterialUrlMap(_extends({}, materialUrlMap, (_extends2 = {}, _extends2[id] = res.url, _extends2)));
269
+ });
270
+ case 4:
271
+ case "end":
272
+ return _context2.stop();
273
+ }
274
+ }, _callee2);
275
+ }));
276
+ return function previewMaterial(_x, _x2) {
277
+ return _ref3.apply(this, arguments);
278
+ };
279
+ }();
280
+
281
+ // 手写签批
282
+ var sign = function sign() {
283
+ // handleSign()
284
+ setIsShowSignPage(true);
285
+ };
286
+
287
+ // 签章
288
+ var seal = function seal() {
289
+ var fileName = file.fileName,
290
+ fileType = file.fileType;
291
+ console.log('fileType', fileType);
292
+ var type = getFileExtension(fileName);
293
+ if (type !== 'pdf') {
294
+ _Message.notice('只有pdf文件才能使用电子签章');
295
+ return;
296
+ }
297
+ // handleSeal()
298
+ setIsShowSealPage(true);
299
+ };
300
+ var signAndSeal = function signAndSeal() {
301
+ seal();
302
+ };
303
+
304
+ // 获取签pi结果
305
+ var getRes = function getRes(val) {
306
+ console.log('val---', val);
307
+ valChange(val, fileIndex, index, subIndex);
308
+ };
309
+
310
+ // 获取签章结果
311
+ var getSealRes = function getSealRes(val) {
312
+ console.log('sealval---', val);
313
+ valChange(val, fileIndex, index, subIndex);
314
+ // 如果还允许签批 就连住一起做了
315
+ if (signatureEnable) {
316
+ sign();
317
+ }
318
+ };
319
+ var queryFileLibs = function queryFileLibs() {
320
+ console.log('queryFileLibs', userInfo);
321
+ var certNo = userInfo.certNo,
322
+ certificateSno = userInfo.certificateSno,
323
+ acctType = userInfo.acctType;
324
+ var params = {
325
+ cardno: acctType === '10' ? certNo : certificateSno,
326
+ // 个人传身份证号、法人传社会统一信用代码
327
+ // cardno: '140110199504131013', // 个人传身份证号、法人传社会统一信用代码
328
+ type: acctType === '10' ? '11' : '21',
329
+ pageNum: pageNum,
330
+ pageSize: 10
331
+ };
332
+ getMaterialLib(params, {
333
+ token: token,
334
+ tokenTY: tokenTY,
335
+ baseUrl: baseUrl,
336
+ env: env,
337
+ isPC: isPC,
338
+ accessToken: accessToken
339
+ }).then(function (res) {
340
+ if (res.code === 200) {
341
+ var records = res.data.records;
342
+ setMaterialLib(function (list) {
343
+ return list.concat(records);
344
+ });
345
+ setMaterialLibTotal(+res.data.total);
346
+ setPageNum(pageNum + 1);
347
+ }
348
+ })["catch"](function (err) {
349
+ console.error(err);
350
+ });
351
+ };
352
+ var loadMore = function loadMore() {
353
+ queryFileLibs();
354
+ };
355
+ var showGuide = /*#__PURE__*/function () {
356
+ var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
357
+ var guideImgRes;
358
+ return _regeneratorRuntime.wrap(function (_context3) {
359
+ while (1) switch (_context3.prev = _context3.next) {
360
+ case 0:
361
+ if (signGuidFileId) {
362
+ _context3.next = 1;
363
+ break;
364
+ }
365
+ return _context3.abrupt("return");
366
+ case 1:
367
+ _context3.next = 2;
368
+ return getGuideImg({
369
+ id: signGuidFileId,
370
+ effectiveTime: 3600000
371
+ }, {
372
+ token: token,
373
+ tokenTY: tokenTY,
374
+ baseUrl: baseUrl,
375
+ env: env,
376
+ isPC: isPC,
377
+ accessToken: accessToken
378
+ });
379
+ case 2:
380
+ guideImgRes = _context3.sent;
381
+ if (guideImgRes.presignedUrl) {
382
+ setGuideurl(guideImgRes.presignedUrl);
383
+ setIsShowGuide(true);
384
+ }
385
+ case 3:
386
+ case "end":
387
+ return _context3.stop();
388
+ }
389
+ }, _callee3);
390
+ }));
391
+ return function showGuide() {
392
+ return _ref4.apply(this, arguments);
393
+ };
394
+ }();
395
+ var selectMaterialOk = /*#__PURE__*/function () {
396
+ var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
397
+ var selectedMaterial, arr, fileFormat, formatFinal, urlRes, m;
398
+ return _regeneratorRuntime.wrap(function (_context4) {
399
+ while (1) switch (_context4.prev = _context4.next) {
400
+ case 0:
401
+ console.log('val', materialId);
402
+ console.log('materialLib==', materialLib);
403
+ selectedMaterial = materialLib.find(function (item) {
404
+ return item.fileId === materialId;
405
+ });
406
+ console.log('selectedMaterial', selectedMaterial);
407
+ if (!spec) {
408
+ _context4.next = 1;
409
+ break;
410
+ }
411
+ arr = selectedMaterial.fileName.split('.'); //
412
+ fileFormat = arr[arr.length - 1]; // 获取当前材料库材料的文件类型
413
+ console.log(fileFormat, '材料库当前选择的文件格式');
414
+ formatFinal = initFormat(spec); // 限制的文件类型
415
+ console.log(formatFinal, '限制的格式最后');
416
+ if (formatFinal.includes(fileFormat)) {
417
+ _context4.next = 1;
418
+ break;
419
+ }
420
+ _Message.notice("\u8BE5\u6750\u6599\u4E0D\u652F\u6301\u4E0A\u4F20\u3010" + fileFormat + "\u3011\u683C\u5F0F\u7684\u6587\u4EF6");
421
+ return _context4.abrupt("return");
422
+ case 1:
423
+ if (!(selectedMaterial.type === 1)) {
424
+ _context4.next = 2;
425
+ break;
426
+ }
427
+ _Message.notice('该文件为旧文件, 请先下载后手动上传');
428
+ return _context4.abrupt("return");
429
+ case 2:
430
+ if (selectedMaterial.innerFileUrl) {
431
+ _context4.next = 4;
432
+ break;
433
+ }
434
+ _context4.next = 3;
435
+ return getUrlById({
436
+ id: selectedMaterial.fileId,
437
+ effectiveTime: 3600000
438
+ }, {
439
+ token: token,
440
+ tokenTY: tokenTY,
441
+ baseUrl: baseUrl,
442
+ env: env,
443
+ isPC: isPC,
444
+ accessToken: accessToken
445
+ });
446
+ case 3:
447
+ urlRes = _context4.sent;
448
+ if (urlRes.presignedUrlList && urlRes.presignedUrlList.length > 0) {
449
+ selectedMaterial.innerFileUrl = urlRes.presignedUrlList[2];
450
+ }
451
+ case 4:
452
+ m = _extends({}, selectedMaterial, {
453
+ fileUrl: selectedMaterial.innerFileUrl
454
+ });
455
+ console.log('m', m);
456
+ valChange(m, fileIndex, index, subIndex);
457
+ setIsShowMaterialLib(false);
458
+ case 5:
459
+ case "end":
460
+ return _context4.stop();
461
+ }
462
+ }, _callee4);
463
+ }));
464
+ return function selectMaterialOk() {
465
+ return _ref5.apply(this, arguments);
466
+ };
467
+ }();
468
+ var onDownload = function onDownload() {
469
+ var fileName = file.fileName,
470
+ fileId = file.fileId;
471
+ if (disabled) return;
472
+ var format = getFileExtension(fileName);
473
+ download({
474
+ fileId: fileId,
475
+ format: format
476
+ });
477
+ };
478
+ var handleDel = function handleDel() {
479
+ if (disabled) return;
480
+ valChange(undefined, fileIndex, index, subIndex);
481
+ };
482
+ useEffect(function () {
483
+ if (userInfo && isShowLib && tokenTY) {
484
+ console.log('userInfo', tokenTY, userInfo);
485
+ setTimeout(function () {
486
+ queryFileLibs();
487
+ }, 0);
488
+ }
489
+ }, [userInfo, isShowLib, tokenTY]);
490
+ var extractImageUrls = /*#__PURE__*/function () {
491
+ var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5(previewUrl) {
492
+ var response, htmlText, parser, doc, imgElements, srcList;
493
+ return _regeneratorRuntime.wrap(function (_context5) {
494
+ while (1) switch (_context5.prev = _context5.next) {
495
+ case 0:
496
+ _context5.next = 1;
497
+ return fetch(previewUrl);
498
+ case 1:
499
+ response = _context5.sent;
500
+ _context5.next = 2;
501
+ return response.text();
502
+ case 2:
503
+ htmlText = _context5.sent;
504
+ parser = new DOMParser();
505
+ doc = parser.parseFromString(htmlText, 'text/html');
506
+ imgElements = doc.querySelectorAll('img');
507
+ srcList = Array.from(imgElements).map(function (img) {
508
+ return img.getAttribute('data-src');
509
+ });
510
+ return _context5.abrupt("return", srcList);
511
+ case 3:
512
+ case "end":
513
+ return _context5.stop();
514
+ }
515
+ }, _callee5);
516
+ }));
517
+ return function extractImageUrls(_x3) {
518
+ return _ref6.apply(this, arguments);
519
+ };
520
+ }();
521
+ var getViewUrl = /*#__PURE__*/function () {
522
+ var _ref7 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee6(id) {
523
+ var type, urlRes, res, list;
524
+ return _regeneratorRuntime.wrap(function (_context6) {
525
+ while (1) switch (_context6.prev = _context6.next) {
526
+ case 0:
527
+ type = getFileExtension(fileName);
528
+ if (!['png', 'jpg', 'jpeg'].includes(type)) {
529
+ _context6.next = 1;
530
+ break;
531
+ }
532
+ return _context6.abrupt("return", fileUrl);
533
+ case 1:
534
+ if (!(type !== 'pdf')) {
535
+ _context6.next = 2;
536
+ break;
537
+ }
538
+ return _context6.abrupt("return", '');
539
+ case 2:
540
+ _context6.next = 3;
541
+ return getUrlById({
542
+ id: id,
543
+ effectiveTime: 3600000
544
+ }, {
545
+ token: token,
546
+ tokenTY: tokenTY,
547
+ baseUrl: baseUrl,
548
+ env: env,
549
+ isPC: isPC,
550
+ accessToken: accessToken
551
+ });
552
+ case 3:
553
+ urlRes = _context6.sent;
554
+ if (!(urlRes.presignedUrlList && urlRes.presignedUrlList.length > 0)) {
555
+ _context6.next = 6;
556
+ break;
557
+ }
558
+ console.log('urlRes', urlRes);
559
+ _context6.next = 4;
560
+ return onlinePreview({
561
+ url: urlRes.presignedUrlList[2]
562
+ }, {
563
+ token: token,
564
+ tokenTY: tokenTY,
565
+ baseUrl: baseUrl,
566
+ env: env,
567
+ isPC: isPC,
568
+ accessToken: accessToken
569
+ });
570
+ case 4:
571
+ res = _context6.sent;
572
+ _context6.next = 5;
573
+ return extractImageUrls(res.url);
574
+ case 5:
575
+ list = _context6.sent;
576
+ console.log('list---', list);
577
+ return _context6.abrupt("return", list[0]);
578
+ case 6:
579
+ case "end":
580
+ return _context6.stop();
581
+ }
582
+ }, _callee6);
583
+ }));
584
+ return function getViewUrl(_x4) {
585
+ return _ref7.apply(this, arguments);
586
+ };
587
+ }();
588
+ useEffect(function () {
589
+ if (fileId) {
590
+ getViewUrl(fileId).then(function (url) {
591
+ setThumbnail(url);
592
+ });
593
+ }
594
+ }, [fileId]);
595
+ return /*#__PURE__*/React.createElement("div", {
596
+ className: "file_item",
597
+ style: style
598
+ }, /*#__PURE__*/React.createElement("p", {
599
+ className: "file_name"
600
+ }, fileName), /*#__PURE__*/React.createElement("div", {
601
+ className: "file"
602
+ }, /*#__PURE__*/React.createElement("div", {
603
+ className: "file_img"
604
+ }, fileUrl ? /*#__PURE__*/React.createElement("div", {
605
+ className: "filed"
606
+ }, /*#__PURE__*/React.createElement("img", {
607
+ className: "small_img",
608
+ style: !thumbnail ? {
609
+ width: '30px',
610
+ height: '30px'
611
+ } : {},
612
+ src: thumbnail || fileIcon,
613
+ alt: ""
614
+ }), !disabled && /*#__PURE__*/React.createElement("img", {
615
+ className: "del",
616
+ src: delIcon,
617
+ alt: "",
618
+ onClick: handleDel
619
+ }), isInValid && /*#__PURE__*/React.createElement("img", {
620
+ className: "error_msg",
621
+ src: errorMsgIcon,
622
+ alt: ""
623
+ })) : /*#__PURE__*/React.createElement("div", {
624
+ className: "add",
625
+ onClick: function onClick() {
626
+ return upload();
627
+ }
628
+ }, /*#__PURE__*/React.createElement("img", {
629
+ className: "upload",
630
+ src: uploadIcon,
631
+ alt: ""
632
+ }), "\u4E0A\u4F20\u6750\u6599"), !isPC && (isSigned || isSealed) && /*#__PURE__*/React.createElement("div", {
633
+ className: "mask"
634
+ }, /*#__PURE__*/React.createElement("div", {
635
+ className: "center"
636
+ }, isSigned && isSealed && /*#__PURE__*/React.createElement("div", {
637
+ className: "checked",
638
+ style: {
639
+ marginBottom: '9px'
640
+ }
641
+ }, /*#__PURE__*/React.createElement("img", {
642
+ src: CheckedIcon,
643
+ alt: ""
644
+ }), "\u5DF2\u7B7E\u7F72"), isSigned && !isSealed && /*#__PURE__*/React.createElement("div", {
645
+ className: "checked",
646
+ style: {
647
+ marginBottom: '9px'
648
+ }
649
+ }, /*#__PURE__*/React.createElement("img", {
650
+ src: CheckedIcon,
651
+ alt: ""
652
+ }), "\u5DF2\u7B7E\u6279"), isSealed && !isSigned && /*#__PURE__*/React.createElement("div", {
653
+ className: "checked"
654
+ }, /*#__PURE__*/React.createElement("img", {
655
+ src: CheckedIcon,
656
+ alt: ""
657
+ }), "\u5DF2\u7B7E\u7AE0")))), isPC && /*#__PURE__*/React.createElement("div", {
658
+ className: "blocks"
659
+ }, /*#__PURE__*/React.createElement("div", {
660
+ className: "status"
661
+ }, isSigned && /*#__PURE__*/React.createElement("div", {
662
+ className: "status_item"
663
+ }, "\u5DF2\u7B7E\u6279"), isSealed && /*#__PURE__*/React.createElement("div", {
664
+ className: "status_item"
665
+ }, "\u5DF2\u7B7E\u7AE0")), fileUrl && /*#__PURE__*/React.createElement("div", {
666
+ className: "btns"
667
+ }, /*#__PURE__*/React.createElement("div", {
668
+ className: "btn",
669
+ onClick: preview
670
+ }, /*#__PURE__*/React.createElement("img", {
671
+ src: previewIconPC,
672
+ alt: ""
673
+ }), "\u9884\u89C8"), !disabled && /*#__PURE__*/React.createElement("div", {
674
+ className: "btn",
675
+ onClick: onDownload
676
+ }, /*#__PURE__*/React.createElement("img", {
677
+ src: downloadIconPC,
678
+ alt: ""
679
+ }), "\u4E0B\u8F7D"))), !disabled && /*#__PURE__*/React.createElement("div", {
680
+ className: isPC ? 'operation_pc' : 'operation'
681
+ }, /*#__PURE__*/React.createElement("div", {
682
+ className: "btn"
683
+ }, signGuidFileId && /*#__PURE__*/React.createElement("div", {
684
+ className: "img_btn",
685
+ onClick: showGuide
686
+ }, "\u7B7E\u7AE0\u5F15\u5BFC"), keyPoint && /*#__PURE__*/React.createElement("div", {
687
+ className: "img_btn",
688
+ onClick: function onClick() {
689
+ return setCheckPointData(keyPoint);
690
+ }
691
+ }, "\u5BA1\u67E5\u8981\u70B9")), fileUrl && !disabled ?
692
+ /*#__PURE__*/
693
+ // 有文件且配置了这俩功能且没有禁用操作才展示
694
+ React.createElement("div", {
695
+ className: "btn"
696
+ }, signatureEnable && userInfo.acctType === '20' && signEnable && /*#__PURE__*/React.createElement("div", {
697
+ className: "operation_btn",
698
+ onClick: signAndSeal
699
+ }, isSigned && isSealed ? '重新签署' : '签署文件'), !(userInfo.acctType === '20' && signEnable) && signatureEnable && /*#__PURE__*/React.createElement("div", {
700
+ className: "operation_btn",
701
+ onClick: sign
702
+ }, isSigned ? '重新签批' : '手写签批'), !signatureEnable && userInfo.acctType === '20' && signEnable && /*#__PURE__*/React.createElement("div", {
703
+ className: "operation_btn",
704
+ onClick: seal
705
+ }, isSealed ? '重新签章' : '电子签章')) :
706
+ // 展示材料库
707
+ isShowLib && !disabled && !!materialLib.length && /*#__PURE__*/React.createElement("div", {
708
+ className: "operation_btn",
709
+ onClick: function onClick() {
710
+ return setIsShowMaterialLib(true);
711
+ }
712
+ }, "\u6750\u6599\u5E93"))), !isPC && /*#__PURE__*/React.createElement("div", {
713
+ className: "file_item_bottom",
714
+ style: {
715
+ justifyContent: disabled ? 'center' : 'space-evenly'
716
+ }
717
+ }, /*#__PURE__*/React.createElement("div", {
718
+ className: "icon_text",
719
+ onClick: preview
720
+ }, /*#__PURE__*/React.createElement("img", {
721
+ src: previewIcon,
722
+ alt: ""
723
+ }), "\u9884\u89C8"), !disabled && /*#__PURE__*/React.createElement("div", {
724
+ className: "line"
725
+ }), !disabled && /*#__PURE__*/React.createElement("div", {
726
+ className: "icon_text",
727
+ onClick: onDownload
728
+ }, /*#__PURE__*/React.createElement("img", {
729
+ src: downloadIcon,
730
+ alt: ""
731
+ }), "\u4E0B\u8F7D")), isShowMaterialLib && /*#__PURE__*/React.createElement("div", {
732
+ className: "material_lib"
733
+ }, /*#__PURE__*/React.createElement("div", {
734
+ className: "material_lib_content"
735
+ }, /*#__PURE__*/React.createElement("div", {
736
+ className: "material_lib_title"
737
+ }, "\u9009\u62E9\u6750\u6599"), /*#__PURE__*/React.createElement("div", {
738
+ className: "tips"
739
+ }, /*#__PURE__*/React.createElement("img", {
740
+ src: warningIcon,
741
+ alt: ""
742
+ }), "\u4E3A\u907F\u514D\u529E\u4EF6\u4E0D\u901A\u8FC7\uFF0C\u9009\u62E9\u6750\u6599\u65F6\uFF0C\u8BF7\u60A8\u6CE8\u610F\u6750\u6599\u6709\u6548\u671F\uFF01"), /*#__PURE__*/React.createElement(RadioGroup, {
743
+ className: "list",
744
+ value: materialId,
745
+ onChange: function onChange(val) {
746
+ return setMaterial(val);
747
+ }
748
+ }, materialLib.map(function (item) {
749
+ return /*#__PURE__*/React.createElement("div", {
750
+ className: "item",
751
+ key: item.fileId
752
+ }, /*#__PURE__*/React.createElement(_Radio, {
753
+ id: item.fileId,
754
+ value: item.fileId
755
+ }, item.fileName), /*#__PURE__*/React.createElement("div", {
756
+ className: "preview_icon",
757
+ onClick: function onClick() {
758
+ return previewMaterial(item.fileId, item.innerFileUrl);
759
+ }
760
+ }, /*#__PURE__*/React.createElement("img", {
761
+ src: previewIcon,
762
+ alt: ""
763
+ }), "\u9884\u89C8"));
764
+ }), materialLib.length < materialLibTotal && /*#__PURE__*/React.createElement("div", {
765
+ className: "more",
766
+ onClick: loadMore
767
+ }, "\u52A0\u8F7D\u66F4\u591A")), /*#__PURE__*/React.createElement("div", {
768
+ className: "bottom_btn"
769
+ }, /*#__PURE__*/React.createElement("div", {
770
+ className: "btn cancel",
771
+ onClick: function onClick() {
772
+ return setIsShowMaterialLib(false);
773
+ }
774
+ }, "\u53D6\u6D88"), /*#__PURE__*/React.createElement("div", {
775
+ className: "btn ok",
776
+ onClick: selectMaterialOk
777
+ }, "\u786E\u5B9A")))), isShowSignPage && /*#__PURE__*/React.createElement(SignPage, {
778
+ isShowSignPage: isShowSignPage,
779
+ userInfo: userInfo,
780
+ file: file,
781
+ token: token,
782
+ tokenTY: tokenTY,
783
+ baseUrl: baseUrl,
784
+ env: env,
785
+ isPC: isPC,
786
+ getRes: getRes,
787
+ handleClose: function handleClose() {
788
+ return setIsShowSignPage(false);
789
+ }
790
+ }), isShowSealPage && /*#__PURE__*/React.createElement(SealPage, {
791
+ isShowSealPage: isShowSealPage,
792
+ userInfo: userInfo,
793
+ file: file,
794
+ token: token,
795
+ tokenTY: tokenTY,
796
+ baseUrl: baseUrl,
797
+ env: env,
798
+ isPC: isPC,
799
+ getSealRes: getSealRes,
800
+ accessToken: accessToken,
801
+ handleClose: function handleClose() {
802
+ return setIsShowSealPage(false);
803
+ }
804
+ }), isShowPreview && /*#__PURE__*/React.createElement("div", {
805
+ className: "preview"
806
+ }, /*#__PURE__*/React.createElement("img", {
807
+ className: "close",
808
+ src: closeIcon,
809
+ alt: "",
810
+ onClick: function onClick() {
811
+ return setIsShowPreview(false);
812
+ }
813
+ }), /*#__PURE__*/React.createElement("iframe", {
814
+ src: previewIframeUrl + '#toolbar=0&navpanes=0&scrollbar=0&messages=0&statusbar=0',
815
+ frameborder: "0",
816
+ height: "600px",
817
+ width: "100%"
818
+ })), isShowMaterialPreview && /*#__PURE__*/React.createElement("div", {
819
+ className: "preview"
820
+ }, /*#__PURE__*/React.createElement("img", {
821
+ className: "close",
822
+ src: closeIcon,
823
+ alt: "",
824
+ onClick: function onClick() {
825
+ return setIsShowMaterialPreview(false);
826
+ }
827
+ }), /*#__PURE__*/React.createElement("iframe", {
828
+ src: materialPreviewUrl,
829
+ frameborder: "0",
830
+ height: "90%",
831
+ width: "100%"
832
+ })), isShowGuide && /*#__PURE__*/React.createElement("div", {
833
+ className: "preview"
834
+ }, /*#__PURE__*/React.createElement("img", {
835
+ className: "close",
836
+ src: closeIcon,
837
+ alt: "",
838
+ onClick: function onClick() {
839
+ return setIsShowGuide(false);
840
+ }
841
+ }), /*#__PURE__*/React.createElement("img", {
842
+ src: guideurl,
843
+ style: {
844
+ height: '90%'
845
+ }
846
+ })), checkPointData && /*#__PURE__*/React.createElement(CheckPoint, {
847
+ checkPointData: checkPointData,
848
+ handleClose: function handleClose() {
849
+ return setCheckPointData(null);
850
+ }
851
+ }));
852
+ };
853
+ FileItem.displayName = 'FileItem';
854
+ export default FileItem;