ydb-components-material 0.1.21 → 0.1.22

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 (53) 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/close.e2e8764a.svg +1 -0
  7. package/build/docs/umi.0ec80fbb.js +1 -0
  8. package/build/docs/{umi.4278bf7b.css → umi.1ef21448.css} +1 -1
  9. package/build/docs/~demos/:uuid.html +3 -3
  10. package/build/docs/~demos/colorful-button-demo.html +3 -3
  11. package/build/docs/~demos/colorful-input-demo.html +3 -3
  12. package/build/lowcode/assets-daily.json +11 -11
  13. package/build/lowcode/assets-dev.json +2 -2
  14. package/build/lowcode/assets-prod.json +11 -11
  15. package/build/lowcode/index.js +1 -1
  16. package/build/lowcode/meta.js +1 -1
  17. package/build/lowcode/preview.js +8 -8
  18. package/build/lowcode/render/default/view.css +1 -1
  19. package/build/lowcode/render/default/view.js +1 -1
  20. package/build/lowcode/view.css +1 -1
  21. package/build/lowcode/view.js +1 -1
  22. package/dist/BizComps.css +1 -1
  23. package/dist/BizComps.js +1 -1
  24. package/dist/BizComps.js.map +1 -1
  25. package/es/api.js +20 -7
  26. package/es/components/file-item/file.js +3 -4
  27. package/es/components/file-item/icon/close.svg +1 -0
  28. package/es/components/file-item/index.d.ts +10 -5
  29. package/es/components/file-item/index.js +106 -51
  30. package/es/components/file-item/index.scss +39 -2
  31. package/es/components/file-item/seal.js +68 -10
  32. package/es/components/file-item/sealUtil.js +127 -31
  33. package/es/components/file-item/sign.js +20 -16
  34. package/es/components/file-item/signUtil.js +3 -3
  35. package/es/components/scene-tree/index.js +1 -0
  36. package/lib/api.js +21 -8
  37. package/lib/components/file-item/file.js +3 -4
  38. package/lib/components/file-item/icon/close.svg +1 -0
  39. package/lib/components/file-item/index.d.ts +10 -5
  40. package/lib/components/file-item/index.js +106 -51
  41. package/lib/components/file-item/index.scss +39 -2
  42. package/lib/components/file-item/seal.js +68 -10
  43. package/lib/components/file-item/sealUtil.js +126 -30
  44. package/lib/components/file-item/sign.js +20 -16
  45. package/lib/components/file-item/signUtil.js +3 -3
  46. package/lib/components/scene-tree/index.js +1 -0
  47. package/lowcode/file-item/meta.ts +63 -15
  48. package/lowcode_es/file-item/meta.js +60 -15
  49. package/lowcode_es/meta.js +1 -1
  50. package/lowcode_lib/file-item/meta.js +60 -15
  51. package/lowcode_lib/meta.js +1 -1
  52. package/package.json +3 -3
  53. package/build/docs/umi.b1d4b795.js +0 -1
@@ -16,20 +16,21 @@ var _file = _interopRequireDefault(require("./icon/file.svg"));
16
16
  var _icon_warning = _interopRequireDefault(require("./icon/icon_warning.svg"));
17
17
  var _icon_errorMsg = _interopRequireDefault(require("./icon/icon_errorMsg.svg"));
18
18
  var _upload = _interopRequireDefault(require("./icon/upload.svg"));
19
+ var _close = _interopRequireDefault(require("./icon/close.svg"));
19
20
  var _sign = _interopRequireDefault(require("./sign"));
20
21
  var _seal = _interopRequireDefault(require("./seal"));
21
22
  require("./index.scss");
22
23
  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); }
23
24
  var RadioGroup = _radio["default"].Group;
24
- var BASE_URL = 'http://172.16.132.12:5005';
25
25
  var FileItem = function FileItem(_ref) {
26
- var file = _ref.file,
26
+ var fileUrl = _ref.fileUrl,
27
27
  guideImg = _ref.guideImg,
28
28
  checkImg = _ref.checkImg,
29
- approvalUrl = _ref.approvalUrl,
30
- signatureUrl = _ref.signatureUrl,
31
- isApproval = _ref.isApproval,
32
- isSignature = _ref.isSignature,
29
+ fileId = _ref.fileId,
30
+ signatureEnable = _ref.signatureEnable,
31
+ signEnable = _ref.signEnable,
32
+ isSigned = _ref.isSigned,
33
+ isSealed = _ref.isSealed,
33
34
  materialList = _ref.materialList,
34
35
  maxFileSize = _ref.maxFileSize,
35
36
  isInValid = _ref.isInValid,
@@ -39,29 +40,34 @@ var FileItem = function FileItem(_ref) {
39
40
  fileType = _ref.fileType,
40
41
  token = _ref.token,
41
42
  accessToken = _ref.accessToken,
43
+ baseUrl = _ref.baseUrl,
42
44
  valChange = _ref.valChange,
45
+ download = _ref.download,
43
46
  del = _ref.del;
44
47
  var _useState = (0, _react.useState)(false),
45
48
  isShowView = _useState[0],
46
49
  setIsShowView = _useState[1];
47
- var _useState2 = (0, _react.useState)(false),
48
- isShowCheckedMask = _useState2[0],
49
- setIsShowCheckedMask = _useState2[1];
50
- var _useState3 = (0, _react.useState)(''),
51
- viewImg = _useState3[0],
52
- setViewImg = _useState3[1];
53
- var _useState4 = (0, _react.useState)(false),
54
- isShowMaterialLib = _useState4[0],
55
- setIsShowMaterialLib = _useState4[1];
56
- var _useState5 = (0, _react.useState)(),
57
- material = _useState5[0],
58
- setMaterial = _useState5[1];
50
+ var _useState2 = (0, _react.useState)(''),
51
+ viewImg = _useState2[0],
52
+ setViewImg = _useState2[1];
53
+ var _useState3 = (0, _react.useState)(false),
54
+ isShowMaterialLib = _useState3[0],
55
+ setIsShowMaterialLib = _useState3[1];
56
+ var _useState4 = (0, _react.useState)(),
57
+ material = _useState4[0],
58
+ setMaterial = _useState4[1];
59
+ var _useState5 = (0, _react.useState)(false),
60
+ isShowSignPage = _useState5[0],
61
+ setIsShowSignPage = _useState5[1];
59
62
  var _useState6 = (0, _react.useState)(false),
60
- isShowSignPage = _useState6[0],
61
- setIsShowSignPage = _useState6[1];
63
+ isShowSealPage = _useState6[0],
64
+ setIsShowSealPage = _useState6[1];
62
65
  var _useState7 = (0, _react.useState)(false),
63
- isShowSealPage = _useState7[0],
64
- setIsShowSealPage = _useState7[1];
66
+ isShowPreview = _useState7[0],
67
+ setIsShowPreview = _useState7[1];
68
+ var _useState8 = (0, _react.useState)(''),
69
+ previewIframeUrl = _useState8[0],
70
+ setPreviewIframeUrl = _useState8[1];
65
71
  var list = materialList || [{
66
72
  name: '图片1',
67
73
  value: 1
@@ -98,7 +104,7 @@ var FileItem = function FileItem(_ref) {
98
104
  var formData = new FormData();
99
105
  formData.append('file', fileData);
100
106
  formData.append('open', true);
101
- fetch(BASE_URL + '/declaration/material/file/files/api', {
107
+ fetch(baseUrl + "/declaration/material/file/files/api", {
102
108
  method: 'POST',
103
109
  body: formData
104
110
  }).then(function (response) {
@@ -106,6 +112,7 @@ var FileItem = function FileItem(_ref) {
106
112
  }).then(function (res) {
107
113
  document.body.removeChild(inputEl);
108
114
  if (res.fileId) {
115
+ console.log('--------res', res);
109
116
  valChange((0, _extends2["default"])({}, res, {
110
117
  name: fileData.name,
111
118
  type: fileData.type
@@ -119,17 +126,45 @@ var FileItem = function FileItem(_ref) {
119
126
  });
120
127
  });
121
128
  };
129
+ var preview = function preview() {
130
+ if (!fileUrl) return;
131
+ fetch(baseUrl + "/declaration/material/onlinePreview?url=" + fileUrl, {
132
+ method: 'GET'
133
+ }).then(function (response) {
134
+ return response.json();
135
+ }).then(function (res) {
136
+ setPreviewIframeUrl(res.url);
137
+ setIsShowPreview(true);
138
+ });
139
+ };
140
+ var sign = function sign() {
141
+ // handleSign()
142
+ setIsShowSignPage(true);
143
+ };
144
+ var seal = function seal() {
145
+ console.log('fileType', fileType);
146
+ if (fileType !== 'application/pdf') {
147
+ _message["default"].notice('只有pdf文件才能使用电子签章');
148
+ return;
149
+ }
150
+ // handleSeal()
151
+ setIsShowSealPage(true);
152
+ };
122
153
  var getRes = function getRes(val) {
123
154
  console.log('val---', val);
124
155
  valChange(val);
125
156
  };
157
+ var getSealRes = function getSealRes(val) {
158
+ console.log('sealval---', val);
159
+ valChange(val);
160
+ };
126
161
  return /*#__PURE__*/_react["default"].createElement("div", {
127
162
  className: "file_item"
128
163
  }, /*#__PURE__*/_react["default"].createElement("div", {
129
164
  className: "file"
130
165
  }, /*#__PURE__*/_react["default"].createElement("div", {
131
166
  className: "file_img"
132
- }, file ? /*#__PURE__*/_react["default"].createElement("div", {
167
+ }, fileUrl ? /*#__PURE__*/_react["default"].createElement("div", {
133
168
  className: "filed"
134
169
  }, /*#__PURE__*/_react["default"].createElement("img", {
135
170
  className: "small_img",
@@ -152,24 +187,24 @@ var FileItem = function FileItem(_ref) {
152
187
  className: "upload",
153
188
  src: _upload["default"],
154
189
  alt: ""
155
- }), "\u4E0A\u4F20\u6750\u6599"), isShowCheckedMask && /*#__PURE__*/_react["default"].createElement("div", {
190
+ }), "\u4E0A\u4F20\u6750\u6599"), (isSigned || isSealed) && /*#__PURE__*/_react["default"].createElement("div", {
156
191
  className: "mask"
157
192
  }, /*#__PURE__*/_react["default"].createElement("div", {
158
193
  className: "center"
159
- }, /*#__PURE__*/_react["default"].createElement("div", {
194
+ }, isSigned && /*#__PURE__*/_react["default"].createElement("div", {
160
195
  className: "checked",
161
196
  style: {
162
197
  marginBottom: '9px'
163
198
  }
164
199
  }, /*#__PURE__*/_react["default"].createElement("img", {
165
200
  src: _checked["default"],
166
- alt: "\u9009\u4E2D"
167
- }), "\u5DF2\u7B7E\u7AE0"), /*#__PURE__*/_react["default"].createElement("div", {
201
+ alt: ""
202
+ }), "\u5DF2\u7B7E\u6279"), isSealed && /*#__PURE__*/_react["default"].createElement("div", {
168
203
  className: "checked"
169
204
  }, /*#__PURE__*/_react["default"].createElement("img", {
170
205
  src: _checked["default"],
171
- alt: "\u9009\u4E2D"
172
- }), "\u5DF2\u7B7E\u6279")))), /*#__PURE__*/_react["default"].createElement("div", {
206
+ alt: ""
207
+ }), "\u5DF2\u7B7E\u7AE0")))), /*#__PURE__*/_react["default"].createElement("div", {
173
208
  className: "operation"
174
209
  }, /*#__PURE__*/_react["default"].createElement("div", {
175
210
  className: "btn"
@@ -183,7 +218,7 @@ var FileItem = function FileItem(_ref) {
183
218
  onClick: function onClick() {
184
219
  return showViewImg(checkImg);
185
220
  }
186
- }, "\u5BA1\u67E5\u8981\u70B9")), file ?
221
+ }, "\u5BA1\u67E5\u8981\u70B9")), fileUrl ?
187
222
  /*#__PURE__*/
188
223
  // 有文件且配置了这俩功能才展示
189
224
  _react["default"].createElement("div", {
@@ -191,17 +226,13 @@ var FileItem = function FileItem(_ref) {
191
226
  style: {
192
227
  marginTop: '20px'
193
228
  }
194
- }, /*#__PURE__*/_react["default"].createElement("div", {
229
+ }, signatureEnable && /*#__PURE__*/_react["default"].createElement("div", {
195
230
  className: "operation_btn",
196
- onClick: function onClick() {
197
- return setIsShowSignPage(true);
198
- }
199
- }, "\u624B\u5199\u5BA1\u6279"), /*#__PURE__*/_react["default"].createElement("div", {
231
+ onClick: sign
232
+ }, isSigned ? '重新签批' : '手写审批'), userInfo.acctType === '20' && signEnable && /*#__PURE__*/_react["default"].createElement("div", {
200
233
  className: "operation_btn",
201
- onClick: function onClick() {
202
- return setIsShowSealPage(true);
203
- }
204
- }, "\u7535\u5B50\u7B7E\u7AE0")) :
234
+ onClick: seal
235
+ }, isSealed ? '重新签章' : '电子签章')) :
205
236
  // 展示材料库
206
237
  isShowLib && /*#__PURE__*/_react["default"].createElement("div", {
207
238
  className: "operation_btn",
@@ -214,14 +245,16 @@ var FileItem = function FileItem(_ref) {
214
245
  }, "\u6750\u6599\u5E93"))), /*#__PURE__*/_react["default"].createElement("div", {
215
246
  className: "file_item_bottom"
216
247
  }, /*#__PURE__*/_react["default"].createElement("div", {
217
- className: "icon_text"
248
+ className: "icon_text",
249
+ onClick: preview
218
250
  }, /*#__PURE__*/_react["default"].createElement("img", {
219
251
  src: _preview["default"],
220
252
  alt: ""
221
253
  }), "\u9884\u89C8"), /*#__PURE__*/_react["default"].createElement("div", {
222
254
  className: "line"
223
255
  }), /*#__PURE__*/_react["default"].createElement("div", {
224
- className: "icon_text"
256
+ className: "icon_text",
257
+ onClick: download
225
258
  }, /*#__PURE__*/_react["default"].createElement("img", {
226
259
  src: _download["default"],
227
260
  alt: ""
@@ -281,24 +314,46 @@ var FileItem = function FileItem(_ref) {
281
314
  userInfo: userInfo,
282
315
  file: {
283
316
  name: fileName,
284
- url: file,
317
+ url: fileUrl,
285
318
  type: fileType
286
319
  },
287
320
  token: token,
288
- getRes: getRes
321
+ baseUrl: baseUrl,
322
+ getRes: getRes,
323
+ handleClose: function handleClose() {
324
+ return setIsShowSignPage(false);
325
+ }
289
326
  }), isShowSealPage && /*#__PURE__*/_react["default"].createElement(_seal["default"], {
290
327
  isShowSealPage: isShowSealPage,
291
328
  userInfo: userInfo,
292
329
  file: {
293
330
  name: fileName,
294
- url: file,
295
- type: fileType
331
+ url: fileUrl,
332
+ type: fileType,
333
+ fileId: fileId
296
334
  },
297
- token: token
298
- // getRes={getRes}
299
- ,
300
- accessToken: accessToken
301
- }));
335
+ token: token,
336
+ baseUrl: baseUrl,
337
+ getSealRes: getSealRes,
338
+ accessToken: accessToken,
339
+ handleClose: function handleClose() {
340
+ return setIsShowSealPage(false);
341
+ }
342
+ }), isShowPreview && /*#__PURE__*/_react["default"].createElement("div", {
343
+ className: "preview"
344
+ }, /*#__PURE__*/_react["default"].createElement("img", {
345
+ className: "close",
346
+ src: _close["default"],
347
+ alt: "",
348
+ onClick: function onClick() {
349
+ return setIsShowPreview(false);
350
+ }
351
+ }), /*#__PURE__*/_react["default"].createElement("iframe", {
352
+ src: previewIframeUrl,
353
+ frameborder: "0",
354
+ height: "500px",
355
+ width: "100%"
356
+ })));
302
357
  };
303
358
  FileItem.displayName = 'FileItem';
304
359
  var _default = exports["default"] = FileItem;
@@ -58,7 +58,7 @@
58
58
  height: 16px;
59
59
  top: -6px;
60
60
  right: -6px;
61
- z-index: 9;
61
+ z-index: 3;
62
62
  }
63
63
 
64
64
  .error_msg {
@@ -81,7 +81,7 @@
81
81
  justify-content: center;
82
82
  align-items: center;
83
83
  color: #fff;
84
- z-index: 8;
84
+ z-index: 3;
85
85
 
86
86
  .checked {
87
87
  display: flex;
@@ -296,4 +296,41 @@
296
296
  }
297
297
  }
298
298
  }
299
+
300
+ .preview {
301
+ width: 100%;
302
+ height: 100%;
303
+ position: absolute;
304
+ top: 0;
305
+ left: 0;
306
+ background: rgba(0, 0, 0, 0.5);
307
+ display: flex;
308
+ justify-content: center;
309
+ align-items: center;
310
+
311
+ .close {
312
+ position: absolute;
313
+ top: 20px;
314
+ right: 20px;
315
+ }
316
+ }
317
+
318
+ .sealPage {
319
+ position: absolute;
320
+ top: 0;
321
+ left: 0;
322
+ width: 100%;
323
+ height: 100%;
324
+ z-index: 99;
325
+ background: rgba(0, 0, 0, 0.5);
326
+ }
327
+ .sign_page {
328
+ position: absolute;
329
+ top: 0;
330
+ left: 0;
331
+ width: 100%;
332
+ height: 100%;
333
+ z-index: 99;
334
+ background: rgba(0, 0, 0, 0.5);
335
+ }
299
336
  }
@@ -4,17 +4,21 @@ 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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
7
8
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
9
  var _react = _interopRequireWildcard(require("react"));
9
10
  var _sealUtil = require("./sealUtil");
11
+ var _api = require("../../api");
12
+ var _file = require("./file.js");
10
13
  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); }
11
14
  function SealPage(props) {
12
- var isShowSealPage = props.isShowSealPage,
13
- userInfo = props.userInfo,
15
+ var userInfo = props.userInfo,
14
16
  file = props.file,
15
17
  token = props.token,
16
18
  accessToken = props.accessToken,
17
- getRes = props.getRes;
19
+ getSealRes = props.getSealRes,
20
+ baseUrl = props.baseUrl,
21
+ handleClose = props.handleClose;
18
22
  var _useState = (0, _react.useState)(''),
19
23
  srcUrl = _useState[0],
20
24
  setSrcUrl = _useState[1];
@@ -26,10 +30,11 @@ function SealPage(props) {
26
30
  case 0:
27
31
  console.log('file', file, userInfo);
28
32
  _context.next = 1;
29
- return (0, _sealUtil.initSealPageMethod)(file, userInfo, token, accessToken);
33
+ return (0, _sealUtil.initSealPageMethod)(file, userInfo, token, accessToken, baseUrl);
30
34
  case 1:
31
35
  res = _context.sent;
32
36
  pageUrl = res.pageUrl;
37
+ console.log('pageUrl', pageUrl);
33
38
  setSrcUrl(pageUrl);
34
39
  // console.log(res)
35
40
  case 2:
@@ -42,18 +47,71 @@ function SealPage(props) {
42
47
  return _ref.apply(this, arguments);
43
48
  };
44
49
  }();
45
- (0, _react.useEffect)(function () {
46
- if (isShowSealPage) {
47
- handleRes();
50
+
51
+ // 将返回的文件重新上传
52
+ var uploadNewFile = /*#__PURE__*/function () {
53
+ var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(fileData) {
54
+ var uploadedFileObj, finalFile;
55
+ return _regenerator["default"].wrap(function (_context2) {
56
+ while (1) switch (_context2.prev = _context2.next) {
57
+ case 0:
58
+ _context2.next = 1;
59
+ return (0, _file.uploadFilePromise)('data:application/pdf;base64,' + fileData, baseUrl, token);
60
+ case 1:
61
+ uploadedFileObj = _context2.sent;
62
+ console.log('重新上传的文件', uploadedFileObj);
63
+ handleClose();
64
+ finalFile = (0, _extends2["default"])({
65
+ name: file.name,
66
+ url: uploadedFileObj.fileUrlList[0],
67
+ status: 'success',
68
+ message: '上传成功'
69
+ }, uploadedFileObj);
70
+ getSealRes(finalFile);
71
+ case 2:
72
+ case "end":
73
+ return _context2.stop();
74
+ }
75
+ }, _callee2);
76
+ }));
77
+ return function uploadNewFile(_x) {
78
+ return _ref2.apply(this, arguments);
79
+ };
80
+ }();
81
+
82
+ // 下载文件
83
+ var signFileDown = function signFileDown(filePath) {
84
+ (0, _api.signFileDownApi)({
85
+ fileUrl: filePath
86
+ }).then(function (res) {
87
+ uploadNewFile(res);
88
+ });
89
+ };
90
+ // 监听子页面数据
91
+ var getMessage = function getMessage(e) {
92
+ console.log('子页面数据', e);
93
+ if (e.data.type === 'signal' && e.data.data && e.data.data.length) {
94
+ console.log(e.data.data[0]); // 文件路径
95
+ var filePath = e.data.data[0];
96
+ signFileDown(filePath);
48
97
  }
49
- }, [isShowSealPage, userInfo, file, token, accessToken]);
98
+ };
99
+ (0, _react.useEffect)(function () {
100
+ window.addEventListener('message', getMessage);
101
+ return function () {
102
+ window.removeEventListener('message', getMessage);
103
+ };
104
+ }, []);
105
+ (0, _react.useEffect)(function () {
106
+ handleRes();
107
+ }, [userInfo, file, token, accessToken, baseUrl]);
50
108
  return /*#__PURE__*/_react["default"].createElement("div", {
51
- className: "seal_page"
109
+ className: "sealPage"
52
110
  }, /*#__PURE__*/_react["default"].createElement("iframe", {
53
111
  src: srcUrl,
54
112
  id: "iframe",
55
113
  frameborder: "0",
56
- height: "500px",
114
+ height: "100%",
57
115
  width: "100%"
58
116
  }));
59
117
  }