ydb-components-material 0.1.201 → 0.1.203

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 (36) 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.4aa6a455.js → umi.93821ab1.js} +1 -1
  7. package/build/docs/{umi.c6775933.css → umi.a4eecfb4.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/meta.js +1 -1
  15. package/build/lowcode/render/default/view.css +1 -1
  16. package/build/lowcode/render/default/view.js +1 -1
  17. package/build/lowcode/view.css +1 -1
  18. package/build/lowcode/view.js +1 -1
  19. package/dist/BizComps.css +1 -1
  20. package/dist/BizComps.js +1 -1
  21. package/dist/BizComps.js.map +1 -1
  22. package/es/components/file-list/index.js +13 -12
  23. package/es/components/file-list/item.js +8 -11
  24. package/es/components/file-list/merge.d.ts +1 -0
  25. package/es/components/file-list/merge.js +113 -41
  26. package/es/components/file-list/merge.scss +18 -0
  27. package/es/components/sign-file/mobile.js +0 -1
  28. package/lib/components/file-list/index.js +13 -12
  29. package/lib/components/file-list/item.js +8 -11
  30. package/lib/components/file-list/merge.d.ts +1 -0
  31. package/lib/components/file-list/merge.js +114 -42
  32. package/lib/components/file-list/merge.scss +18 -0
  33. package/lib/components/sign-file/mobile.js +0 -1
  34. package/lowcode_es/meta.js +1 -1
  35. package/lowcode_lib/meta.js +1 -1
  36. package/package.json +3 -3
@@ -4,6 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  exports.__esModule = true;
5
5
  exports["default"] = void 0;
6
6
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
7
+ var _message = _interopRequireDefault(require("@alifd/next/lib/message"));
7
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
9
10
  var _react = _interopRequireWildcard(require("react"));
@@ -13,7 +14,7 @@ var _reactBeautifulDnd = require("react-beautiful-dnd");
13
14
  var _icons = require("@ant-design/icons");
14
15
  var _jspdf = _interopRequireDefault(require("jspdf"));
15
16
  require("./merge.scss");
16
- 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 _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
17
+ 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 _t4 in e) "default" !== _t4 && {}.hasOwnProperty.call(e, _t4) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t4)) && (i.get || i.set) ? o(f, _t4, i) : f[_t4] = e[_t4]); return f; })(e, t); }
17
18
  // 1. 引入 useState
18
19
 
19
20
  var Merge = function Merge(_ref) {
@@ -26,19 +27,23 @@ var Merge = function Merge(_ref) {
26
27
  tokenTY = _ref.tokenTY,
27
28
  openLoading = _ref.openLoading,
28
29
  closeLoading = _ref.closeLoading,
29
- close = _ref.close;
30
+ close = _ref.close,
31
+ isPC = _ref.isPC;
30
32
  var _useState = (0, _react.useState)(''),
31
33
  viewUrl = _useState[0],
32
34
  setViewUrl = _useState[1];
33
- var _useState2 = (0, _react.useState)(''),
34
- viewPdfUrl = _useState2[0],
35
- setViewPdfUrl = _useState2[1];
36
- var _useState3 = (0, _react.useState)(null),
37
- blob = _useState3[0],
38
- setBlob = _useState3[1];
39
- var _useState4 = (0, _react.useState)(fileList),
40
- materialList = _useState4[0],
41
- setMaterialList = _useState4[1];
35
+ var _useState2 = (0, _react.useState)(false),
36
+ isShowPreview = _useState2[0],
37
+ setIsShowPreview = _useState2[1];
38
+ var _useState3 = (0, _react.useState)(''),
39
+ viewPdfUrl = _useState3[0],
40
+ setViewPdfUrl = _useState3[1];
41
+ var _useState4 = (0, _react.useState)(null),
42
+ blob = _useState4[0],
43
+ setBlob = _useState4[1];
44
+ var _useState5 = (0, _react.useState)(fileList),
45
+ materialList = _useState5[0],
46
+ setMaterialList = _useState5[1];
42
47
 
43
48
  // 置顶
44
49
  var top = function top(index) {
@@ -193,9 +198,9 @@ var Merge = function Merge(_ref) {
193
198
  };
194
199
 
195
200
  // 核心:多张图片合并PDF
196
- var imgsToPdf = /*#__PURE__*/function () {
201
+ var buildPdfBlob = /*#__PURE__*/function () {
197
202
  var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
198
- var pdf, i, fileUrl, _blob, file, img, targetWidth, scale, targetHeight, pdfBlob, blobUrl;
203
+ var pdf, i, fileUrl, _blob, file, img, targetWidth, scale, targetHeight;
199
204
  return _regenerator["default"].wrap(function (_context2) {
200
205
  while (1) switch (_context2.prev = _context2.next) {
201
206
  case 0:
@@ -246,56 +251,112 @@ var Merge = function Merge(_ref) {
246
251
  _context2.next = 1;
247
252
  break;
248
253
  case 5:
249
- // 1. 获取 Blob
250
- pdfBlob = pdf.output('blob');
251
- setBlob(pdfBlob);
252
-
253
- // 2. 创建 Blob URL
254
- blobUrl = URL.createObjectURL(pdfBlob);
255
- setViewPdfUrl(blobUrl);
254
+ return _context2.abrupt("return", pdf.output('blob'));
256
255
  case 6:
257
256
  case "end":
258
257
  return _context2.stop();
259
258
  }
260
259
  }, _callee2);
261
260
  }));
262
- return function imgsToPdf() {
261
+ return function buildPdfBlob() {
263
262
  return _ref3.apply(this, arguments);
264
263
  };
265
264
  }();
266
- var uploadPdf = /*#__PURE__*/function () {
265
+
266
+ // PC:先拼出 PDF,再用 iframe 交给浏览器内置的 PDF 查看器预览
267
+ var imgsToPdf = /*#__PURE__*/function () {
267
268
  var _ref4 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
268
- var formData;
269
+ var pdfBlob;
269
270
  return _regenerator["default"].wrap(function (_context3) {
270
271
  while (1) switch (_context3.prev = _context3.next) {
272
+ case 0:
273
+ _context3.next = 1;
274
+ return buildPdfBlob();
275
+ case 1:
276
+ pdfBlob = _context3.sent;
277
+ setBlob(pdfBlob);
278
+ setViewPdfUrl(URL.createObjectURL(pdfBlob));
279
+ setIsShowPreview(true);
280
+ case 2:
281
+ case "end":
282
+ return _context3.stop();
283
+ }
284
+ }, _callee3);
285
+ }));
286
+ return function imgsToPdf() {
287
+ return _ref4.apply(this, arguments);
288
+ };
289
+ }();
290
+
291
+ // 移动端:WebView 没有内置 PDF 查看器(iframe 里的 blob PDF 渲染不出来),
292
+ // 直接按顺序滚动预览图片,内容与 PDF 一致;PDF 留到点「确认无误」时再生成
293
+ var openImgPreview = function openImgPreview() {
294
+ return setIsShowPreview(true);
295
+ };
296
+ var previewMaterial = function previewMaterial() {
297
+ return isPC ? imgsToPdf() : openImgPreview();
298
+ };
299
+ var uploadPdf = /*#__PURE__*/function () {
300
+ var _ref5 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
301
+ var pdfBlob, formData, response, res, _t2, _t3;
302
+ return _regenerator["default"].wrap(function (_context4) {
303
+ while (1) switch (_context4.prev = _context4.next) {
271
304
  case 0:
272
305
  openLoading();
306
+ _context4.prev = 1;
307
+ _t2 = blob;
308
+ if (_t2) {
309
+ _context4.next = 3;
310
+ break;
311
+ }
312
+ _context4.next = 2;
313
+ return buildPdfBlob();
314
+ case 2:
315
+ _t2 = _context4.sent;
316
+ case 3:
317
+ pdfBlob = _t2;
318
+ if (!blob) setBlob(pdfBlob);
273
319
  formData = new FormData();
274
- formData.append('file', blob, materialName + '.pdf');
320
+ formData.append('file', pdfBlob, materialName + '.pdf');
275
321
  formData.append('open', true);
276
- fetch(baseUrl + "/declaration/material/file/files/api", {
322
+ _context4.next = 4;
323
+ return fetch(baseUrl + "/declaration/material/file/files/api", {
277
324
  method: 'POST',
278
325
  body: formData,
279
326
  headers: {
280
327
  'Authorization': tokenTY || ''
281
328
  }
282
- }).then(function (response) {
283
- return response.json();
284
- }).then(function (res) {
285
- console.log(res);
286
- valChange((0, _extends2["default"])({}, res, {
287
- fileName: materialName + '.pdf'
288
- }));
289
- closeLoading();
290
329
  });
291
- case 1:
330
+ case 4:
331
+ response = _context4.sent;
332
+ _context4.next = 5;
333
+ return response.json();
334
+ case 5:
335
+ res = _context4.sent;
336
+ console.log(res);
337
+ valChange((0, _extends2["default"])({}, res, {
338
+ fileName: materialName + '.pdf'
339
+ }));
340
+ _context4.next = 7;
341
+ break;
342
+ case 6:
343
+ _context4.prev = 6;
344
+ _t3 = _context4["catch"](1);
345
+ console.error(_t3);
346
+ _message["default"].error('生成或上传失败,请重试');
347
+ case 7:
348
+ _context4.prev = 7;
349
+ // 原来只在成功分支里关,失败时全屏 loading 会一直挂着
350
+ closeLoading();
351
+ return _context4.finish(7);
352
+ case 8:
292
353
  case "end":
293
- return _context3.stop();
354
+ return _context4.stop();
294
355
  }
295
- }, _callee3);
356
+ }, _callee4, null, [[1, 6, 7, 8]]);
296
357
  }));
297
358
  return function uploadPdf() {
298
- return _ref4.apply(this, arguments);
359
+ return _ref5.apply(this, arguments);
299
360
  };
300
361
  }();
301
362
  return /*#__PURE__*/React.createElement("div", {
@@ -363,7 +424,7 @@ var Merge = function Merge(_ref) {
363
424
  onClick: close
364
425
  }, "\u4E0A\u4E00\u6B65"), /*#__PURE__*/React.createElement("div", {
365
426
  className: "preview btn",
366
- onClick: imgsToPdf
427
+ onClick: previewMaterial
367
428
  }, "\u9884\u89C8\u6750\u6599")), viewUrl && /*#__PURE__*/React.createElement("div", {
368
429
  className: "viewImg"
369
430
  }, /*#__PURE__*/React.createElement(_icons.CloseOutlined, {
@@ -375,15 +436,26 @@ var Merge = function Merge(_ref) {
375
436
  className: "view",
376
437
  src: viewUrl,
377
438
  alt: ""
378
- })), viewPdfUrl && /*#__PURE__*/React.createElement("div", {
439
+ })), isShowPreview && /*#__PURE__*/React.createElement("div", {
379
440
  className: "view_pdf"
380
- }, /*#__PURE__*/React.createElement("iframe", {
441
+ }, isPC ? /*#__PURE__*/React.createElement("iframe", {
381
442
  src: viewPdfUrl + '#toolbar=0&navpanes=0&scrollbar=0&messages=0&statusbar=0',
382
443
  id: "iframe",
383
444
  frameBorder: "0",
384
445
  height: "95%",
385
446
  width: "100%"
386
- }), /*#__PURE__*/React.createElement("div", {
447
+ }) :
448
+ /*#__PURE__*/
449
+ // 移动端 WebView 没有内置 PDF 查看器,iframe 里的 blob PDF 渲染不出来,改为直接滚动预览图片
450
+ React.createElement("div", {
451
+ className: "view_imgs"
452
+ }, materialList.map(function (item) {
453
+ return /*#__PURE__*/React.createElement("img", {
454
+ key: item.fileId,
455
+ src: item.fileUrl,
456
+ alt: ""
457
+ });
458
+ })), /*#__PURE__*/React.createElement("div", {
387
459
  className: "bottom_btn",
388
460
  style: {
389
461
  background: '#fff',
@@ -392,7 +464,7 @@ var Merge = function Merge(_ref) {
392
464
  }, /*#__PURE__*/React.createElement("div", {
393
465
  className: "previous btn",
394
466
  onClick: function onClick() {
395
- return setViewPdfUrl('');
467
+ return setIsShowPreview(false);
396
468
  }
397
469
  }, "\u8FD4\u56DE\u4FEE\u6539"), /*#__PURE__*/React.createElement("div", {
398
470
  className: "preview btn",
@@ -112,6 +112,24 @@
112
112
  height: 100%;
113
113
  z-index: 999;
114
114
  }
115
+ // 移动端:按顺序滚动预览待合并的图片(代替渲染不出来的 PDF iframe)
116
+ .view_imgs {
117
+ height: 100%;
118
+ box-sizing: border-box;
119
+ overflow-y: auto;
120
+ -webkit-overflow-scrolling: touch;
121
+ background: #ffffff;
122
+ // 底部留出固定按钮的位置,别让最后一张图被压住
123
+ padding: 12px 12px 100px;
124
+
125
+ img {
126
+ display: block;
127
+ width: 100%;
128
+ margin-bottom: 12px;
129
+ border-radius: 4px;
130
+ background: #ffffff;
131
+ }
132
+ }
115
133
  .viewImg {
116
134
  background-color: #3333336a;
117
135
  position: fixed;
@@ -27,7 +27,6 @@ var SignFileMobile = function SignFileMobile(props) {
27
27
  var _useSignFile = (0, _useSignFile2.useSignFile)(props, {
28
28
  withThumbnail: true
29
29
  }),
30
- fileName = _useSignFile.fileName,
31
30
  originalFileId = _useSignFile.originalFileId,
32
31
  guideImg = _useSignFile.guideImg,
33
32
  thumbnail = _useSignFile.thumbnail,
@@ -99,7 +99,7 @@ function fillRealVersion(meta, packageName, version, basicLibraryVersion) {
99
99
  packageName = 'ydb-components-material';
100
100
  }
101
101
  if (version === void 0) {
102
- version = '0.1.201';
102
+ version = '0.1.203';
103
103
  }
104
104
  if (basicLibraryVersion === void 0) {
105
105
  basicLibraryVersion = {
@@ -104,7 +104,7 @@ function fillRealVersion(meta, packageName, version, basicLibraryVersion) {
104
104
  packageName = 'ydb-components-material';
105
105
  }
106
106
  if (version === void 0) {
107
- version = '0.1.201';
107
+ version = '0.1.203';
108
108
  }
109
109
  if (basicLibraryVersion === void 0) {
110
110
  basicLibraryVersion = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ydb-components-material",
3
- "version": "0.1.201",
3
+ "version": "0.1.203",
4
4
  "description": "ydb-components-material",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -102,10 +102,10 @@
102
102
  },
103
103
  "componentConfig": {
104
104
  "isComponentLibrary": true,
105
- "materialSchema": "https://unpkg.com/ydb-components-material@0.1.201/build/lowcode/assets-prod.json"
105
+ "materialSchema": "https://unpkg.com/ydb-components-material@0.1.203/build/lowcode/assets-prod.json"
106
106
  },
107
107
  "lcMeta": {
108
108
  "type": "component"
109
109
  },
110
- "homepage": "https://unpkg.com/ydb-components-material@0.1.201/build/index.html"
110
+ "homepage": "https://unpkg.com/ydb-components-material@0.1.203/build/index.html"
111
111
  }