ydb-components-material 0.1.88 → 0.1.90

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 (137) 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/static/bj1.c8eb2503.png +0 -0
  7. package/build/docs/static/bj2.fb5ead8b.png +0 -0
  8. package/build/docs/static/bj3.aa81c8c1.png +0 -0
  9. package/build/docs/static/type1-3.6426929d.png +0 -0
  10. package/build/docs/static/type2.fa812bd1.png +0 -0
  11. package/build/docs/static/typeImg3.c88bc129.png +0 -0
  12. package/build/docs/umi.0d8865d0.js +1 -0
  13. package/build/docs/{umi.666eb3a7.css → umi.ec50463c.css} +1 -1
  14. package/build/docs/~demos/:uuid.html +3 -3
  15. package/build/docs/~demos/colorful-button-demo.html +3 -3
  16. package/build/docs/~demos/colorful-input-demo.html +3 -3
  17. package/build/lowcode/assets/17f243cfda7d6e50dd94b66c293f2239.png +0 -0
  18. package/build/lowcode/assets/7bb589fd0f7d37fa8ed13cb06736a079.png +0 -0
  19. package/build/lowcode/assets/952850f47326ce9313abf0d289d5ee0c.png +0 -0
  20. package/build/lowcode/assets/b2215bb470264d2ac1445c1136838fcf.png +0 -0
  21. package/build/lowcode/assets/d5dfb3a4d87c01db66274b13c8bb68ef.png +0 -0
  22. package/build/lowcode/assets/dae0b5495fd1e0b6386ad8a14e293bd9.png +0 -0
  23. package/build/lowcode/assets-daily.json +11 -11
  24. package/build/lowcode/assets-dev.json +2 -2
  25. package/build/lowcode/assets-prod.json +11 -11
  26. package/build/lowcode/index.js +1 -1
  27. package/build/lowcode/meta.js +1 -1
  28. package/build/lowcode/preview.js +9 -9
  29. package/build/lowcode/render/default/assets/17f243cfda7d6e50dd94b66c293f2239.png +0 -0
  30. package/build/lowcode/render/default/assets/7bb589fd0f7d37fa8ed13cb06736a079.png +0 -0
  31. package/build/lowcode/render/default/assets/952850f47326ce9313abf0d289d5ee0c.png +0 -0
  32. package/build/lowcode/render/default/assets/b2215bb470264d2ac1445c1136838fcf.png +0 -0
  33. package/build/lowcode/render/default/assets/d5dfb3a4d87c01db66274b13c8bb68ef.png +0 -0
  34. package/build/lowcode/render/default/assets/dae0b5495fd1e0b6386ad8a14e293bd9.png +0 -0
  35. package/build/lowcode/render/default/view.css +1 -1
  36. package/build/lowcode/render/default/view.js +2 -55
  37. package/build/lowcode/view.css +1 -1
  38. package/build/lowcode/view.js +2 -55
  39. package/dist/BizComps.css +1 -1
  40. package/dist/BizComps.js +5 -58
  41. package/dist/BizComps.js.map +1 -1
  42. package/dist/assets/17f243cfda7d6e50dd94b66c293f2239.png +0 -0
  43. package/dist/assets/7bb589fd0f7d37fa8ed13cb06736a079.png +0 -0
  44. package/dist/assets/952850f47326ce9313abf0d289d5ee0c.png +0 -0
  45. package/dist/assets/b2215bb470264d2ac1445c1136838fcf.png +0 -0
  46. package/dist/assets/d5dfb3a4d87c01db66274b13c8bb68ef.png +0 -0
  47. package/dist/assets/dae0b5495fd1e0b6386ad8a14e293bd9.png +0 -0
  48. package/es/components/file-list/file.js +0 -71
  49. package/es/components/file-list/index.js +40 -2
  50. package/es/components/file-list/index.scss +25 -0
  51. package/es/components/file-list/item.js +75 -23
  52. package/es/components/file-list-preview/checkPoint.d.ts +3 -0
  53. package/es/components/file-list-preview/checkPoint.js +157 -0
  54. package/es/components/file-list-preview/checkPoint.scss +120 -0
  55. package/es/components/file-list-preview/file.js +224 -0
  56. package/es/components/file-list-preview/icon/checked.svg +1 -0
  57. package/es/components/file-list-preview/icon/close.svg +1 -0
  58. package/es/components/file-list-preview/icon/del.svg +1 -0
  59. package/es/components/file-list-preview/icon/download.svg +1 -0
  60. package/es/components/file-list-preview/icon/download_pc.svg +1 -0
  61. package/es/components/file-list-preview/icon/file.svg +1 -0
  62. package/es/components/file-list-preview/icon/icon_errorMsg.svg +1 -0
  63. package/es/components/file-list-preview/icon/icon_warning.svg +1 -0
  64. package/es/components/file-list-preview/icon/preview.svg +1 -0
  65. package/es/components/file-list-preview/icon/preview_pc.svg +1 -0
  66. package/es/components/file-list-preview/icon/upload.svg +1 -0
  67. package/es/components/file-list-preview/icon/view.svg +1 -0
  68. package/es/components/file-list-preview/index.d.ts +21 -0
  69. package/es/components/file-list-preview/index.js +249 -0
  70. package/es/components/file-list-preview/index.scss +61 -0
  71. package/es/components/file-list-preview/item.d.ts +18 -0
  72. package/es/components/file-list-preview/item.js +370 -0
  73. package/es/components/file-list-preview/item.scss +412 -0
  74. package/es/components/submit-type/assets/bj1.png +0 -0
  75. package/es/components/submit-type/assets/bj2.png +0 -0
  76. package/es/components/submit-type/assets/bj3.png +0 -0
  77. package/es/components/submit-type/assets/type1-3.png +0 -0
  78. package/es/components/submit-type/assets/type2.png +0 -0
  79. package/es/components/submit-type/assets/typeImg3.png +0 -0
  80. package/es/components/submit-type/index.d.ts +10 -0
  81. package/es/components/submit-type/index.js +69 -0
  82. package/es/components/submit-type/index.scss +41 -0
  83. package/es/index.d.ts +4 -0
  84. package/es/index.js +2 -0
  85. package/es/style.js +1 -0
  86. package/lib/components/file-list/file.js +1 -74
  87. package/lib/components/file-list/index.js +40 -2
  88. package/lib/components/file-list/index.scss +25 -0
  89. package/lib/components/file-list/item.js +80 -28
  90. package/lib/components/file-list-preview/checkPoint.d.ts +3 -0
  91. package/lib/components/file-list-preview/checkPoint.js +162 -0
  92. package/lib/components/file-list-preview/checkPoint.scss +120 -0
  93. package/lib/components/file-list-preview/file.js +233 -0
  94. package/lib/components/file-list-preview/icon/checked.svg +1 -0
  95. package/lib/components/file-list-preview/icon/close.svg +1 -0
  96. package/lib/components/file-list-preview/icon/del.svg +1 -0
  97. package/lib/components/file-list-preview/icon/download.svg +1 -0
  98. package/lib/components/file-list-preview/icon/download_pc.svg +1 -0
  99. package/lib/components/file-list-preview/icon/file.svg +1 -0
  100. package/lib/components/file-list-preview/icon/icon_errorMsg.svg +1 -0
  101. package/lib/components/file-list-preview/icon/icon_warning.svg +1 -0
  102. package/lib/components/file-list-preview/icon/preview.svg +1 -0
  103. package/lib/components/file-list-preview/icon/preview_pc.svg +1 -0
  104. package/lib/components/file-list-preview/icon/upload.svg +1 -0
  105. package/lib/components/file-list-preview/icon/view.svg +1 -0
  106. package/lib/components/file-list-preview/index.d.ts +21 -0
  107. package/lib/components/file-list-preview/index.js +254 -0
  108. package/lib/components/file-list-preview/index.scss +61 -0
  109. package/lib/components/file-list-preview/item.d.ts +18 -0
  110. package/lib/components/file-list-preview/item.js +376 -0
  111. package/lib/components/file-list-preview/item.scss +412 -0
  112. package/lib/components/submit-type/assets/bj1.png +0 -0
  113. package/lib/components/submit-type/assets/bj2.png +0 -0
  114. package/lib/components/submit-type/assets/bj3.png +0 -0
  115. package/lib/components/submit-type/assets/type1-3.png +0 -0
  116. package/lib/components/submit-type/assets/type2.png +0 -0
  117. package/lib/components/submit-type/assets/typeImg3.png +0 -0
  118. package/lib/components/submit-type/index.d.ts +10 -0
  119. package/lib/components/submit-type/index.js +75 -0
  120. package/lib/components/submit-type/index.scss +41 -0
  121. package/lib/index.d.ts +4 -0
  122. package/lib/index.js +5 -1
  123. package/lib/style.js +1 -0
  124. package/lowcode/file-list-preview/meta.ts +231 -0
  125. package/lowcode/submit-type/meta.ts +40 -0
  126. package/lowcode_es/file-list-preview/meta.d.ts +22 -0
  127. package/lowcode_es/file-list-preview/meta.js +213 -0
  128. package/lowcode_es/meta.js +4 -2
  129. package/lowcode_es/submit-type/meta.d.ts +22 -0
  130. package/lowcode_es/submit-type/meta.js +34 -0
  131. package/lowcode_lib/file-list-preview/meta.d.ts +22 -0
  132. package/lowcode_lib/file-list-preview/meta.js +218 -0
  133. package/lowcode_lib/meta.js +16 -14
  134. package/lowcode_lib/submit-type/meta.d.ts +22 -0
  135. package/lowcode_lib/submit-type/meta.js +39 -0
  136. package/package.json +3 -4
  137. package/build/docs/umi.f5d91602.js +0 -1
@@ -3,9 +3,11 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  exports.__esModule = true;
5
5
  exports["default"] = void 0;
6
+ var _balloon = _interopRequireDefault(require("@alifd/next/lib/balloon"));
6
7
  var _react = _interopRequireDefault(require("react"));
7
8
  var _item = _interopRequireDefault(require("./item"));
8
9
  require("./index.scss");
10
+ var Tooltip = _balloon["default"].Tooltip;
9
11
  var MATERIAL_TYPE = {
10
12
  1: '原件',
11
13
  2: '复印件',
@@ -115,6 +117,8 @@ var FileList = function FileList(_ref) {
115
117
  if (subIndex !== undefined) {
116
118
  // value为空,说明删除了
117
119
  if (!value) {
120
+ oneLevelItem.subMaterials[subIndex].isSmart = false;
121
+ oneLevelItem.subMaterials[subIndex].isShareFile = false;
118
122
  // 如果当前文件list中只有一个文件,还得补个空的
119
123
  if (oneLevelItem.subMaterials[subIndex].fileList.length === 1) {
120
124
  oneLevelItem.subMaterials[subIndex].fileList = [{
@@ -135,6 +139,8 @@ var FileList = function FileList(_ref) {
135
139
  }
136
140
  } else {
137
141
  if (!value) {
142
+ oneLevelItem.isSmart = false;
143
+ oneLevelItem.isShareFile = false;
138
144
  oneLevelItem.fileList.splice(fileIndex, 1);
139
145
  if (oneLevelItem.fileList.length === 0) {
140
146
  oneLevelItem.fileList.push({
@@ -155,22 +161,54 @@ var FileList = function FileList(_ref) {
155
161
  console.log('fileList--------res', fileList);
156
162
  valChange(fileList);
157
163
  };
164
+ var trigger = function trigger(child) {
165
+ return /*#__PURE__*/_react["default"].createElement("div", {
166
+ className: "tag",
167
+ style: {
168
+ backgroundColor: child.isSmart ? '#1678FF' : child.isShareFile ? '#15BC83' : '#9570F7'
169
+ }
170
+ }, child.isSmart ? '智' : child.isShareFile ? '享' : '自');
171
+ };
158
172
  return /*#__PURE__*/_react["default"].createElement("div", {
159
173
  className: "file_list",
160
174
  style: style
161
175
  }, fileList.map(function (item, index) {
162
176
  return /*#__PURE__*/_react["default"].createElement("div", {
163
177
  className: "file_level_one"
178
+ }, /*#__PURE__*/_react["default"].createElement("div", {
179
+ className: "file_level_one_title"
164
180
  }, /*#__PURE__*/_react["default"].createElement("p", {
165
181
  className: "name_level_one"
166
- }, convertNumbersToChinese(index + 1), item.materialName), item.subMaterials && item.subMaterials.length > 0 ? /*#__PURE__*/_react["default"].createElement("div", {
182
+ }, convertNumbersToChinese(index + 1), item.materialName), !(item.subMaterials && item.subMaterials.length > 0) && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("span", {
183
+ className: "required"
184
+ }, "*"), /*#__PURE__*/_react["default"].createElement(_balloon["default"], {
185
+ v2: true,
186
+ trigger: trigger(item),
187
+ triggerType: "click",
188
+ align: "t",
189
+ arrowPointToCenter: true,
190
+ title: "",
191
+ delay: 20
192
+ }, item.isSmart ? '本材料为智能生成材料,系统将根据您填写的信息自动生成申报材料。' : item.isShareFile ? '本材料为共享材料,数据由大数据共享获取,无需用户自行准备。' : '需要用户自行准备申报材料'))), item.subMaterials && item.subMaterials.length > 0 ? /*#__PURE__*/_react["default"].createElement("div", {
167
193
  className: "file_level_two"
168
194
  }, item.subMaterials.map(function (child, subIndex) {
169
195
  return /*#__PURE__*/_react["default"].createElement("div", {
170
196
  className: "file_level_two_item"
197
+ }, /*#__PURE__*/_react["default"].createElement("div", {
198
+ className: "file_level_two_title"
171
199
  }, /*#__PURE__*/_react["default"].createElement("p", {
172
200
  className: "name_level_two"
173
- }, subIndex + 1, "\u3001", child.materialName), /*#__PURE__*/_react["default"].createElement("p", {
201
+ }, subIndex + 1, "\u3001", child.materialName), /*#__PURE__*/_react["default"].createElement("span", {
202
+ className: "required"
203
+ }, "*"), /*#__PURE__*/_react["default"].createElement(_balloon["default"], {
204
+ v2: true,
205
+ trigger: trigger(child),
206
+ triggerType: "click",
207
+ arrowPointToCenter: true,
208
+ align: "t",
209
+ title: "",
210
+ delay: 20
211
+ }, child.isSmart ? '本材料为智能生成材料,系统将根据您填写的信息自动生成申报材料。' : child.isShareFile ? '本材料为共享材料,数据由大数据共享获取,无需用户自行准备。' : '需要用户自行准备申报材料')), /*#__PURE__*/_react["default"].createElement("p", {
174
212
  className: "tip"
175
213
  }, getTipTextForSubMaterial(item, index, subIndex)), child.fileList.map(function (file, i) {
176
214
  return /*#__PURE__*/_react["default"].createElement(_item["default"], {
@@ -11,12 +11,31 @@
11
11
  margin-top: 8px;
12
12
  }
13
13
 
14
+ .required {
15
+ color: red;
16
+ margin-right: 8px;
17
+ margin-left: 2px;
18
+ }
19
+
20
+ .tag {
21
+ border-radius: 4px;
22
+ padding: 0 4px;
23
+ font-size: 12px;
24
+ color: #FFFFFF;
25
+ }
26
+
14
27
  .name_level_one {
15
28
  font-size: 15px;
16
29
  font-weight: 500;
17
30
  color: #333333;
31
+ margin-bottom: 0;
32
+ }
33
+
34
+ .file_level_one_title {
18
35
  padding-bottom: 16px;
19
36
  border-bottom: 1px solid #EEEEEE;
37
+ display: flex;
38
+ align-items: center;
20
39
  }
21
40
 
22
41
  .file_level_two {
@@ -24,12 +43,18 @@
24
43
 
25
44
  .file_level_two_item {
26
45
  margin-bottom: 16px;
46
+
47
+ .file_level_two_title {
48
+ display: flex;
49
+ align-items: center;
50
+ }
27
51
  }
28
52
 
29
53
  .name_level_two {
30
54
  font-size: 14px;
31
55
  font-weight: 500;
32
56
  color: #323232;
57
+ margin-bottom: 0;
33
58
  }
34
59
  }
35
60
  }
@@ -15,6 +15,7 @@ var _preview = _interopRequireDefault(require("./icon/preview.svg"));
15
15
  var _preview_pc = _interopRequireDefault(require("./icon/preview_pc.svg"));
16
16
  var _download = _interopRequireDefault(require("./icon/download.svg"));
17
17
  var _download_pc = _interopRequireDefault(require("./icon/download_pc.svg"));
18
+ var _file = _interopRequireDefault(require("./icon/file.svg"));
18
19
  var _icon_warning = _interopRequireDefault(require("./icon/icon_warning.svg"));
19
20
  var _icon_errorMsg = _interopRequireDefault(require("./icon/icon_errorMsg.svg"));
20
21
  var _upload = _interopRequireDefault(require("./icon/upload.svg"));
@@ -22,7 +23,7 @@ var _close = _interopRequireDefault(require("./icon/close.svg"));
22
23
  var _sign = _interopRequireDefault(require("./sign"));
23
24
  var _seal = _interopRequireDefault(require("./seal"));
24
25
  var _api = require("../../api");
25
- var _file = require("./file.js");
26
+ var _file2 = require("./file.js");
26
27
  var _checkPoint = _interopRequireDefault(require("./checkPoint"));
27
28
  require("./item.scss");
28
29
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
@@ -52,7 +53,8 @@ var FileItem = function FileItem(_ref) {
52
53
  fileUrl = file.fileUrl,
53
54
  fileId = file.fileId,
54
55
  isSigned = file.isSigned,
55
- isSealed = file.isSealed;
56
+ isSealed = file.isSealed,
57
+ fileType = file.fileType;
56
58
  var signatureEnable = fileConfig.signatureEnable,
57
59
  signEnable = fileConfig.signEnable,
58
60
  isInValid = fileConfig.isInValid,
@@ -123,8 +125,8 @@ var FileItem = function FileItem(_ref) {
123
125
  return;
124
126
  }
125
127
  if (spec) {
126
- var type = (0, _file.getFileExtension)(fileData.name);
127
- if (!(0, _file.initFormat)(spec).includes(type)) {
128
+ var type = (0, _file2.getFileExtension)(fileData.name);
129
+ if (!(0, _file2.initFormat)(spec).includes(type)) {
128
130
  _message["default"].notice("\u6587\u4EF6 \"" + fileData.name + "\" \u683C\u5F0F\u4E0D\u6B63\u786E");
129
131
  return;
130
132
  }
@@ -293,7 +295,7 @@ var FileItem = function FileItem(_ref) {
293
295
  var fileName = file.fileName,
294
296
  fileType = file.fileType;
295
297
  console.log('fileType', fileType);
296
- var type = (0, _file.getFileExtension)(fileName);
298
+ var type = (0, _file2.getFileExtension)(fileName);
297
299
  if (type !== 'pdf') {
298
300
  _message["default"].notice('只有pdf文件才能使用电子签章');
299
301
  return;
@@ -415,7 +417,7 @@ var FileItem = function FileItem(_ref) {
415
417
  arr = selectedMaterial.fileName.split('.'); //
416
418
  fileFormat = arr[arr.length - 1]; // 获取当前材料库材料的文件类型
417
419
  console.log(fileFormat, '材料库当前选择的文件格式');
418
- formatFinal = (0, _file.initFormat)(spec); // 限制的文件类型
420
+ formatFinal = (0, _file2.initFormat)(spec); // 限制的文件类型
419
421
  console.log(formatFinal, '限制的格式最后');
420
422
  if (formatFinal.includes(fileFormat)) {
421
423
  _context4.next = 1;
@@ -473,7 +475,7 @@ var FileItem = function FileItem(_ref) {
473
475
  var fileName = file.fileName,
474
476
  fileId = file.fileId;
475
477
  if (disabled) return;
476
- var format = (0, _file.getFileExtension)(fileName);
478
+ var format = (0, _file2.getFileExtension)(fileName);
477
479
  download({
478
480
  fileId: fileId,
479
481
  format: format
@@ -491,13 +493,57 @@ var FileItem = function FileItem(_ref) {
491
493
  }, 0);
492
494
  }
493
495
  }, [userInfo, isShowLib, tokenTY]);
494
- var getPdfUrl = /*#__PURE__*/function () {
495
- var _ref6 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(id) {
496
- var urlRes, res;
496
+ var extractImageUrls = /*#__PURE__*/function () {
497
+ var _ref6 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(previewUrl) {
498
+ var response, htmlText, parser, doc, imgElements, srcList;
497
499
  return _regenerator["default"].wrap(function (_context5) {
498
500
  while (1) switch (_context5.prev = _context5.next) {
499
501
  case 0:
500
502
  _context5.next = 1;
503
+ return fetch(previewUrl);
504
+ case 1:
505
+ response = _context5.sent;
506
+ _context5.next = 2;
507
+ return response.text();
508
+ case 2:
509
+ htmlText = _context5.sent;
510
+ parser = new DOMParser();
511
+ doc = parser.parseFromString(htmlText, 'text/html');
512
+ imgElements = doc.querySelectorAll('img');
513
+ srcList = Array.from(imgElements).map(function (img) {
514
+ return img.getAttribute('data-src');
515
+ });
516
+ return _context5.abrupt("return", srcList);
517
+ case 3:
518
+ case "end":
519
+ return _context5.stop();
520
+ }
521
+ }, _callee5);
522
+ }));
523
+ return function extractImageUrls(_x3) {
524
+ return _ref6.apply(this, arguments);
525
+ };
526
+ }();
527
+ var getViewUrl = /*#__PURE__*/function () {
528
+ var _ref7 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6(id) {
529
+ var type, urlRes, res, list;
530
+ return _regenerator["default"].wrap(function (_context6) {
531
+ while (1) switch (_context6.prev = _context6.next) {
532
+ case 0:
533
+ type = (0, _file2.getFileExtension)(fileName);
534
+ if (!['png', 'jpg', 'jpeg'].includes(type)) {
535
+ _context6.next = 1;
536
+ break;
537
+ }
538
+ return _context6.abrupt("return", fileUrl);
539
+ case 1:
540
+ if (!(type !== 'pdf')) {
541
+ _context6.next = 2;
542
+ break;
543
+ }
544
+ return _context6.abrupt("return", '');
545
+ case 2:
546
+ _context6.next = 3;
501
547
  return (0, _api.getUrlById)({
502
548
  id: id,
503
549
  effectiveTime: 3600000
@@ -509,14 +555,14 @@ var FileItem = function FileItem(_ref) {
509
555
  isPC: isPC,
510
556
  accessToken: accessToken
511
557
  });
512
- case 1:
513
- urlRes = _context5.sent;
558
+ case 3:
559
+ urlRes = _context6.sent;
514
560
  if (!(urlRes.presignedUrlList && urlRes.presignedUrlList.length > 0)) {
515
- _context5.next = 3;
561
+ _context6.next = 6;
516
562
  break;
517
563
  }
518
564
  console.log('urlRes', urlRes);
519
- _context5.next = 2;
565
+ _context6.next = 4;
520
566
  return (0, _api.onlinePreview)({
521
567
  url: urlRes.presignedUrlList[2]
522
568
  }, {
@@ -527,26 +573,28 @@ var FileItem = function FileItem(_ref) {
527
573
  isPC: isPC,
528
574
  accessToken: accessToken
529
575
  });
530
- case 2:
531
- res = _context5.sent;
532
- return _context5.abrupt("return", res.url);
533
- case 3:
576
+ case 4:
577
+ res = _context6.sent;
578
+ _context6.next = 5;
579
+ return extractImageUrls(res.url);
580
+ case 5:
581
+ list = _context6.sent;
582
+ console.log('list---', list);
583
+ return _context6.abrupt("return", list[0]);
584
+ case 6:
534
585
  case "end":
535
- return _context5.stop();
586
+ return _context6.stop();
536
587
  }
537
- }, _callee5);
588
+ }, _callee6);
538
589
  }));
539
- return function getPdfUrl(_x3) {
540
- return _ref6.apply(this, arguments);
590
+ return function getViewUrl(_x4) {
591
+ return _ref7.apply(this, arguments);
541
592
  };
542
593
  }();
543
594
  (0, _react.useEffect)(function () {
544
595
  if (fileId) {
545
- getPdfUrl(fileId).then(function (url) {
546
- (0, _file.pdfToImageUrl)(url).then(function (res) {
547
- console.log('imgUrl', res);
548
- setThumbnail(res);
549
- });
596
+ getViewUrl(fileId).then(function (url) {
597
+ setThumbnail(url);
550
598
  });
551
599
  }
552
600
  }, [fileId]);
@@ -563,7 +611,11 @@ var FileItem = function FileItem(_ref) {
563
611
  className: "filed"
564
612
  }, /*#__PURE__*/_react["default"].createElement("img", {
565
613
  className: "small_img",
566
- src: thumbnail,
614
+ style: !thumbnail ? {
615
+ width: '30px',
616
+ height: '30px'
617
+ } : {},
618
+ src: thumbnail || _file["default"],
567
619
  alt: ""
568
620
  }), !disabled && /*#__PURE__*/_react["default"].createElement("img", {
569
621
  className: "del",
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import './checkPoint.scss';
3
+ export default function CheckPoint(props: any): JSX.Element;
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports["default"] = CheckPoint;
6
+ var _message = _interopRequireDefault(require("@alifd/next/lib/message"));
7
+ var _react = require("react");
8
+ var _icons = require("@ant-design/icons");
9
+ require("./checkPoint.scss");
10
+ function CheckPoint(props) {
11
+ var _resultData$at, _resultData$at2;
12
+ var checkPointData = props.checkPointData,
13
+ handleClose = props.handleClose;
14
+ var _useState = (0, _react.useState)(0),
15
+ resIndex = _useState[0],
16
+ setResIndex = _useState[1];
17
+ var _useState2 = (0, _react.useState)(null),
18
+ resIndexData = _useState2[0],
19
+ setResIndexData = _useState2[1];
20
+ var _useState3 = (0, _react.useState)([]),
21
+ resultData = _useState3[0],
22
+ setResultData = _useState3[1];
23
+ var _useState4 = (0, _react.useState)(0),
24
+ pageHeight = _useState4[0],
25
+ setPageHeight = _useState4[1];
26
+ var imgRef = (0, _react.useRef)();
27
+ var initData = function initData() {
28
+ var fileUrl = checkPointData.fileUrl,
29
+ _checkPointData$annot = checkPointData.annotations,
30
+ annotations = _checkPointData$annot === void 0 ? [] : _checkPointData$annot;
31
+ setTimeout(function () {
32
+ var iframe = document.getElementById('file_check_point');
33
+ iframe.src = fileUrl + "#toolbar=0";
34
+ }, 500);
35
+ setResIndexData(annotations[0]);
36
+ // 其中的page可能是乱序的,所以先排序一下
37
+ setResultData(annotations.sort(function (a, b) {
38
+ return a.page - b.page;
39
+ }));
40
+ var clientWidth = document.documentElement.clientWidth;
41
+ var _annotations$ = annotations[0],
42
+ scrollWidth = _annotations$.scrollWidth,
43
+ scrollHeight = _annotations$.scrollHeight;
44
+ var scale = clientWidth / scrollWidth;
45
+ setPageHeight(scrollHeight * scale);
46
+ };
47
+
48
+ // 获取标识的位置和大小 [方法]
49
+ var getTipDotStyle = function getTipDotStyle(item) {
50
+ var width = item.width,
51
+ height = item.height,
52
+ x = item.x,
53
+ y = item.y,
54
+ scrollWidth = item.scrollWidth,
55
+ scrollHeight = item.scrollHeight,
56
+ page = item.page;
57
+ console.log(width, height, x, y);
58
+ var img = imgRef.current;
59
+ console.log(img, 'refs');
60
+ var clientWidth = document.documentElement.clientWidth;
61
+ console.log('clientWidth-----', clientWidth);
62
+
63
+ // 算出一个系数,来动态生成下面的边框样式
64
+ var scale = clientWidth / scrollWidth;
65
+
66
+ // console.log('原始宽高', sourceImgWidth, sourceImgHeight);
67
+ console.log('原始宽高', scrollWidth, scrollHeight);
68
+ console.log('缩放系数', scale, scale);
69
+ return {
70
+ width: width * scale + 'px',
71
+ height: height * scale + 'px',
72
+ left: x * scale + 'px',
73
+ top: (page - 1) * pageHeight + y * scale + 'px'
74
+ };
75
+ };
76
+
77
+ // 上一项(prev),下一项(next) [按钮]
78
+ var handleSwitch = function handleSwitch(state) {
79
+ if (state === 'next' && resIndex === resultData.length - 1) return _message["default"].notice('没有下一项了');
80
+ if (state === 'prev' && resIndex === 0) return _message["default"].notice('没有上一项了');
81
+ if (state === 'next') {
82
+ setResIndex(resIndex + 1);
83
+ setResIndexData(resultData[resIndex + 1]);
84
+ }
85
+ if (state === 'prev') {
86
+ setResIndex(resIndex - 1);
87
+ setResIndexData(resultData[resIndex - 1]);
88
+ }
89
+ };
90
+ var checkOneDot = function checkOneDot(item, index) {
91
+ setResIndex(index);
92
+ setResIndexData(item);
93
+ };
94
+ (0, _react.useEffect)(function () {
95
+ if (checkPointData) {
96
+ initData();
97
+ }
98
+ }, [checkPointData]);
99
+ return /*#__PURE__*/_react.React.createElement("div", null, /*#__PURE__*/_react.React.createElement("div", {
100
+ className: "keyPoint-container"
101
+ }, /*#__PURE__*/_react.React.createElement("div", {
102
+ className: "tipDot-content",
103
+ style: {
104
+ height: ((_resultData$at = resultData.at(-1)) === null || _resultData$at === void 0 ? void 0 : _resultData$at.page) * pageHeight + 'px'
105
+ }
106
+ }, resultData.map(function (item, index) {
107
+ return /*#__PURE__*/_react.React.createElement("div", {
108
+ className: "tip-item " + (index === resIndex ? 'active' : ''),
109
+ key: index,
110
+ onClick: function onClick() {
111
+ return checkOneDot(item, index);
112
+ },
113
+ style: getTipDotStyle(item)
114
+ }, /*#__PURE__*/_react.React.createElement("div", {
115
+ className: "num " + (index === resIndex ? 'active' : '')
116
+ }, index + 1));
117
+ })), resIndexData && /*#__PURE__*/_react.React.createElement("div", {
118
+ className: "result-outter"
119
+ }, /*#__PURE__*/_react.React.createElement("div", {
120
+ className: "result-card"
121
+ }, /*#__PURE__*/_react.React.createElement("div", {
122
+ className: "result-title"
123
+ }, resIndex + 1, "\u3001", resIndexData.text), /*#__PURE__*/_react.React.createElement("div", {
124
+ className: "result-info"
125
+ }, /*#__PURE__*/_react.React.createElement(_icons.CheckCircleFilled, {
126
+ color: "#15bc83",
127
+ size: "20",
128
+ style: {
129
+ color: '#15bc83',
130
+ fontSize: '20px'
131
+ }
132
+ }), /*#__PURE__*/_react.React.createElement("div", {
133
+ className: "result-text"
134
+ }, resIndexData.reviewNotes)))), /*#__PURE__*/_react.React.createElement("div", {
135
+ className: "bottom-btn"
136
+ }, /*#__PURE__*/_react.React.createElement("div", {
137
+ className: "btn"
138
+ }, /*#__PURE__*/_react.React.createElement("div", {
139
+ onClick: handleClose
140
+ }, "\u8FD4\u56DE")), /*#__PURE__*/_react.React.createElement("div", {
141
+ className: "btn"
142
+ }, /*#__PURE__*/_react.React.createElement("div", {
143
+ onClick: function onClick() {
144
+ return handleSwitch('prev');
145
+ }
146
+ }, "\u4E0A\u4E00\u9879")), /*#__PURE__*/_react.React.createElement("div", {
147
+ className: "btn btn-blue"
148
+ }, /*#__PURE__*/_react.React.createElement("div", {
149
+ onClick: function onClick() {
150
+ return handleSwitch('next');
151
+ }
152
+ }, "\u4E0B\u4E00\u9879"))), /*#__PURE__*/_react.React.createElement("iframe", {
153
+ ref: imgRef,
154
+ id: "file_check_point",
155
+ frameBorder: "0",
156
+ height: "100%",
157
+ width: "100%",
158
+ style: {
159
+ height: ((_resultData$at2 = resultData.at(-1)) === null || _resultData$at2 === void 0 ? void 0 : _resultData$at2.page) * pageHeight + 'px'
160
+ }
161
+ })));
162
+ }
@@ -0,0 +1,120 @@
1
+ .keyPoint-container {
2
+ // position: sticky;
3
+ height: 100vh;
4
+ // margin-top: -56px;
5
+ width: 100vw;
6
+ position: fixed;
7
+ z-index: 999;
8
+ left: 0;
9
+ top: 0;
10
+ background: #919191;
11
+ overflow-y: scroll;
12
+ #file_check_point {
13
+ overflow: visible !important;
14
+ overflow-clip-margin: unset !important;
15
+ }
16
+ .tipDot-content{
17
+ // height: 100vh;
18
+ width: 100%;
19
+ position: absolute;
20
+ top: 0;
21
+ left: 0;
22
+ // overflow: scroll;
23
+ .tip-item{
24
+ position: absolute;
25
+ border-radius: 2px;
26
+ border: 1px solid #15BC83;
27
+ background: rgba(21, 188, 131, 0.1);
28
+ &.active {
29
+ background: rgba(247, 98, 93, 0.1);
30
+ border: 1px solid #F7625D;
31
+ }
32
+ .num{
33
+ width: 20px;
34
+ height: 20px;
35
+ border-radius: 50%;
36
+ font-size: 10px;
37
+ display: flex;
38
+ justify-content: center;
39
+ align-items: center;
40
+ color: #ffffff;
41
+ margin-left: -20px;
42
+ background: #15BC83;
43
+ &.active {
44
+ background: #F7625D;
45
+ }
46
+ }
47
+ }
48
+
49
+ }
50
+ .result-outter {
51
+ box-sizing: border-box;
52
+ padding: 0 24px;
53
+ // border: 1px solid red;
54
+ position: fixed;
55
+ width: 100%;
56
+ bottom: 65px;
57
+ left: 0;
58
+ .result-card {
59
+ border-radius: 10px;
60
+ padding: 16px;
61
+ background: #ffffff;
62
+ border: 1px solid #ddd;
63
+ box-shadow: 0px 4px 10px 0px rgba(177, 188, 200, 0.25);
64
+ .result-title {
65
+ color: #333;
66
+ font-size: 14px;
67
+ margin-bottom: 8px;
68
+ }
69
+ .result-info{
70
+ font-size: 14px;
71
+ margin-bottom: 10px;
72
+ display: flex;
73
+ justify-content: flex-start;
74
+ align-items: center;
75
+ gap: 5px;
76
+ // 提示类型: error/judge/pass
77
+ .result-text{
78
+ }
79
+ }
80
+ }
81
+
82
+ }
83
+ .bottom-btn {
84
+ box-sizing: border-box;
85
+ position: fixed;
86
+ bottom: 0;
87
+ left: 0;
88
+ width: 100%;
89
+ background-color: #fff;
90
+ padding: 11px 0;
91
+ display: flex;
92
+ box-shadow: 0px 2px 16px 0px rgba(0, 0, 0, 0.1);
93
+ z-index: 200;
94
+ .btn {
95
+ margin: 0 10px;
96
+ flex: 1;
97
+ color: #323233;
98
+ background-color: #fff;
99
+ border-color: #ebedf0;
100
+ border-width: 1px;
101
+ border-style: solid;
102
+ border-radius: 100px;
103
+ padding: 0 12px;
104
+ font-size: 14px;
105
+ height: 40px;
106
+ position: relative;
107
+ align-items: center;
108
+ justify-content: center;
109
+ display: flex;
110
+ flex-direction: row;
111
+ box-sizing: border-box;
112
+ flex-direction: row;
113
+ }
114
+ .btn-blue {
115
+ color: white;
116
+ border-width: 0px;
117
+ background-image: linear-gradient(rgb(22, 120, 255), rgb(118, 173, 250));
118
+ }
119
+ }
120
+ }