ydb-components-material 0.1.17 → 0.1.19

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 (47) 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.5df7f485.js +1 -0
  7. package/build/docs/~demos/:uuid.html +3 -3
  8. package/build/docs/~demos/colorful-button-demo.html +3 -3
  9. package/build/docs/~demos/colorful-input-demo.html +3 -3
  10. package/build/lowcode/assets-daily.json +11 -11
  11. package/build/lowcode/assets-dev.json +2 -2
  12. package/build/lowcode/assets-prod.json +11 -11
  13. package/build/lowcode/meta.js +1 -1
  14. package/build/lowcode/preview.js +7 -7
  15. package/build/lowcode/render/default/view.js +1 -1
  16. package/build/lowcode/view.js +1 -1
  17. package/dist/BizComps.js +1 -1
  18. package/dist/BizComps.js.map +1 -1
  19. package/es/api.js +110 -0
  20. package/es/components/file-item/file.js +164 -0
  21. package/es/components/file-item/index.d.ts +5 -0
  22. package/es/components/file-item/index.js +55 -6
  23. package/es/components/file-item/seal.d.ts +3 -0
  24. package/es/components/file-item/seal.js +54 -0
  25. package/es/components/file-item/sealUtil.js +173 -0
  26. package/es/components/file-item/sign.d.ts +3 -0
  27. package/es/components/file-item/sign.js +114 -0
  28. package/es/components/file-item/signUtil.js +370 -0
  29. package/es/components/scene-tree/index.js +14 -13
  30. package/lib/api.js +115 -0
  31. package/lib/components/file-item/file.js +172 -0
  32. package/lib/components/file-item/index.d.ts +5 -0
  33. package/lib/components/file-item/index.js +55 -6
  34. package/lib/components/file-item/seal.d.ts +3 -0
  35. package/lib/components/file-item/seal.js +60 -0
  36. package/lib/components/file-item/sealUtil.js +175 -0
  37. package/lib/components/file-item/sign.d.ts +3 -0
  38. package/lib/components/file-item/sign.js +120 -0
  39. package/lib/components/file-item/signUtil.js +372 -0
  40. package/lib/components/scene-tree/index.js +13 -12
  41. package/lowcode/file-item/meta.ts +83 -0
  42. package/lowcode_es/file-item/meta.js +78 -0
  43. package/lowcode_es/meta.js +1 -1
  44. package/lowcode_lib/file-item/meta.js +78 -0
  45. package/lowcode_lib/meta.js +1 -1
  46. package/package.json +3 -3
  47. package/build/docs/umi.f9d788c8.js +0 -1
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.dataURLtoBlob = dataURLtoBlob;
5
+ exports.getBlob = getBlob;
6
+ exports.getFileExtension = getFileExtension;
7
+ exports.upload = upload;
8
+ exports.uploadFilePromise = uploadFilePromise;
9
+ // import apiConfig from '@/config/api.cofig'
10
+ var baseURL = 'http://172.16.132.12:5005';
11
+ // 下载文件
12
+ function getBlob(url) {
13
+ return new Promise(function (resolve, reject) {
14
+ var xhr = new XMLHttpRequest();
15
+ xhr.open('GET', url, true);
16
+ xhr.responseType = 'blob';
17
+ xhr.onload = function () {
18
+ if (xhr.status === 200) {
19
+ resolve(xhr.response);
20
+ } else {
21
+ reject("Request failed with status " + xhr.status);
22
+ }
23
+ };
24
+ xhr.onerror = function () {
25
+ reject('Request failed');
26
+ };
27
+ xhr.send();
28
+ });
29
+ }
30
+
31
+ // 上传文件
32
+ function upload(option) {
33
+ var xhr = new XMLHttpRequest(); // 定义上传方式
34
+
35
+ if (option.onProgress && xhr.upload) {
36
+ xhr.upload.onprogress = function progress(e) {
37
+ if (e.total > 0) {
38
+ e.percent = e.loaded / e.total * 100;
39
+ }
40
+ option.onProgress(e); // 上传进度,也是上传成功后回调
41
+ };
42
+ }
43
+ var formData = new FormData();
44
+ formData.append('file', option.file, option.file.name);
45
+ if (option.title) {
46
+ formData.append('title', option.title);
47
+ }
48
+ if (option.fileType) {
49
+ formData.append('fileType', option.fileType);
50
+ }
51
+ xhr.onerror = function error(e) {
52
+ option.onError(e); // 失败返回
53
+ };
54
+ xhr.onload = function onload() {
55
+ if (xhr.status !== 200) {
56
+ return option.onError(JSON.parse(xhr.response));
57
+ }
58
+ option.onSuccess(JSON.parse(xhr.response)); // 成功返回函数
59
+ };
60
+ xhr.open('post', option.action, true);
61
+ if (option.withCredentials && 'withCredentials' in xhr) {
62
+ xhr.withCredentials = true;
63
+ }
64
+ var headers = option.headers || {}; // 定义请求头
65
+ if (headers['X-Requested-With'] !== null) {
66
+ xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
67
+ }
68
+ for (var h in headers) {
69
+ if (headers.hasOwnProperty(h) && headers[h] !== null) {
70
+ xhr.setRequestHeader(h, headers[h]);
71
+ }
72
+ }
73
+ xhr.send(formData);
74
+ return {
75
+ abort: function abort() {
76
+ xhr.abort();
77
+ }
78
+ };
79
+ }
80
+ ;
81
+
82
+ // 获取文件名后缀
83
+ function getFileExtension(filename) {
84
+ var match = filename.match(/\.([^.]+)$/);
85
+ return match ? match[1].toLowerCase() : '';
86
+ }
87
+
88
+ // base64转换为流文件
89
+ function dataURLtoBlob(dataUrl) {
90
+ var arr = dataUrl.split(',');
91
+ var mime = arr[0].match(/:(.*?);/)[1];
92
+ var bstr = atob(arr[1]);
93
+ var n = bstr.length;
94
+ var u8arr = new Uint8Array(n);
95
+ while (n--) {
96
+ u8arr[n] = bstr.charCodeAt(n);
97
+ }
98
+ return new Blob([u8arr], {
99
+ type: mime
100
+ });
101
+ }
102
+
103
+ // 上传文件至申报端的服务器 [方法]
104
+ function uploadFilePromise(url, token) {
105
+ // const { baseURL } = apiConfig
106
+ return new Promise(function (resolve, reject) {
107
+ var formData = new FormData();
108
+ formData.append('file', url);
109
+ formData.append('open', true);
110
+ formData.append('open', 'true');
111
+ fetch('http://172.16.132.12:5005/declaration/material/file/files/api', {
112
+ method: 'POST',
113
+ body: formData,
114
+ header: {
115
+ // Authorization: 'rjvntrnggysagvpqhi7qfasqpd2hz736qap5vkikjgni3h3g4a5gcsawoooosvb2523mo5ifltk22vdki2u5q6vd2ceefhy5sk6e2kofxadn354ridcbcypgqgcljs27bhdnviiza7hdnbnwlh6e4yxe45kapm7y3wb6qqod5wysmjirbl6iwtaz3tzve7rdxq6blrfdqygjsfi5iosrwmpiumocr52tufnpcan2hdzydamjvbso2hmbrp32aymb2cahlcv2liswbhpwiqvf72anhnyycoyr3lwfp4xufasn7cbb2sxq'
116
+ }
117
+ }).then(function (response) {
118
+ return response.json();
119
+ }).then(function (res) {
120
+ resolve(res);
121
+ // if (res.fileId) {
122
+ // valChange({
123
+ // ...res,
124
+ // name: fileData.name,
125
+ // type: fileData.type
126
+ // })
127
+ // // Message.notice('上传成功')
128
+ // } else {
129
+ // // Message.error('上传失败,请重试')
130
+ // }
131
+ })["catch"](function (err) {
132
+ return err;
133
+ });
134
+ // uni.uploadFile({
135
+ // url: `${baseURL}/declaration/material/file/files/api`,
136
+ // filePath: url,
137
+ // name: 'file',
138
+ // formData: {
139
+ // // #ifdef H5
140
+ // open: true,
141
+ // // #endif
142
+ // // #ifdef MP-WEIXIN
143
+ // open: 'true'
144
+ // // #endif
145
+ // },
146
+ // header: {
147
+ // Authorization: uni.getStorageSync('declarationAppToken')
148
+ // },
149
+ // success: (res) => {
150
+ // if (res.statusCode === 200) {
151
+ // // resolve(JSON.parse(res.data))
152
+ // resolve({
153
+ // status: 'success',
154
+ // message: '上传成功',
155
+ // ...JSON.parse(res.data)
156
+ // });
157
+ // } else {
158
+ // resolve({
159
+ // status: 'failed',
160
+ // message: '上传失败'
161
+ // })
162
+ // }
163
+ // },
164
+ // fail: (err) => {
165
+ // resolve({
166
+ // status: 'failed',
167
+ // message: '上传失败'
168
+ // })
169
+ // }
170
+ // })
171
+ });
172
+ }
@@ -5,16 +5,21 @@ export interface FileItemProps {
5
5
  * 标题
6
6
  */
7
7
  file: string;
8
+ fileName: string;
9
+ fileType: string;
8
10
  guideImg: string;
9
11
  checkImg: string;
10
12
  approvalUrl: string;
11
13
  signatureUrl: string;
14
+ token: string;
15
+ accessToken: string;
12
16
  isApproval: boolean;
13
17
  isSignature: boolean;
14
18
  materialList: any[];
15
19
  maxFileSize: number;
16
20
  isInValid: boolean;
17
21
  isShowLib: boolean;
22
+ userInfo: any;
18
23
  del: () => void;
19
24
  valChange: (value: any) => void;
20
25
  }
@@ -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 _icon = _interopRequireDefault(require("@alifd/next/lib/icon"));
7
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
7
8
  var _message = _interopRequireDefault(require("@alifd/next/lib/message"));
8
9
  var _radio = _interopRequireDefault(require("@alifd/next/lib/radio"));
9
10
  var _react = _interopRequireWildcard(require("react"));
@@ -15,6 +16,8 @@ var _file = _interopRequireDefault(require("./icon/file.svg"));
15
16
  var _icon_warning = _interopRequireDefault(require("./icon/icon_warning.svg"));
16
17
  var _icon_errorMsg = _interopRequireDefault(require("./icon/icon_errorMsg.svg"));
17
18
  var _upload = _interopRequireDefault(require("./icon/upload.svg"));
19
+ var _sign = _interopRequireDefault(require("./sign"));
20
+ var _seal = _interopRequireDefault(require("./seal"));
18
21
  require("./index.scss");
19
22
  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); }
20
23
  var RadioGroup = _radio["default"].Group;
@@ -31,6 +34,11 @@ var FileItem = function FileItem(_ref) {
31
34
  maxFileSize = _ref.maxFileSize,
32
35
  isInValid = _ref.isInValid,
33
36
  isShowLib = _ref.isShowLib,
37
+ userInfo = _ref.userInfo,
38
+ fileName = _ref.fileName,
39
+ fileType = _ref.fileType,
40
+ token = _ref.token,
41
+ accessToken = _ref.accessToken,
34
42
  valChange = _ref.valChange,
35
43
  del = _ref.del;
36
44
  var _useState = (0, _react.useState)(false),
@@ -48,6 +56,12 @@ var FileItem = function FileItem(_ref) {
48
56
  var _useState5 = (0, _react.useState)(),
49
57
  material = _useState5[0],
50
58
  setMaterial = _useState5[1];
59
+ var _useState6 = (0, _react.useState)(false),
60
+ isShowSignPage = _useState6[0],
61
+ setIsShowSignPage = _useState6[1];
62
+ var _useState7 = (0, _react.useState)(false),
63
+ isShowSealPage = _useState7[0],
64
+ setIsShowSealPage = _useState7[1];
51
65
  var list = materialList || [{
52
66
  name: '图片1',
53
67
  value: 1
@@ -92,7 +106,10 @@ var FileItem = function FileItem(_ref) {
92
106
  }).then(function (res) {
93
107
  document.body.removeChild(inputEl);
94
108
  if (res.fileId) {
95
- valChange(res);
109
+ valChange((0, _extends2["default"])({}, res, {
110
+ name: fileData.name,
111
+ type: fileData.type
112
+ }));
96
113
  _message["default"].notice('上传成功');
97
114
  } else {
98
115
  _message["default"].error('上传失败,请重试');
@@ -102,6 +119,10 @@ var FileItem = function FileItem(_ref) {
102
119
  });
103
120
  });
104
121
  };
122
+ var getRes = function getRes(val) {
123
+ console.log('val---', val);
124
+ valChange(val);
125
+ };
105
126
  return /*#__PURE__*/_react["default"].createElement("div", {
106
127
  className: "file_item"
107
128
  }, /*#__PURE__*/_react["default"].createElement("div", {
@@ -170,10 +191,16 @@ var FileItem = function FileItem(_ref) {
170
191
  style: {
171
192
  marginTop: '20px'
172
193
  }
173
- }, approvalUrl && /*#__PURE__*/_react["default"].createElement("div", {
174
- className: "operation_btn"
175
- }, "\u624B\u5199\u5BA1\u6279"), signatureUrl && /*#__PURE__*/_react["default"].createElement("div", {
176
- className: "operation_btn"
194
+ }, /*#__PURE__*/_react["default"].createElement("div", {
195
+ className: "operation_btn",
196
+ onClick: function onClick() {
197
+ return setIsShowSignPage(true);
198
+ }
199
+ }, "\u624B\u5199\u5BA1\u6279"), /*#__PURE__*/_react["default"].createElement("div", {
200
+ className: "operation_btn",
201
+ onClick: function onClick() {
202
+ return setIsShowSealPage(true);
203
+ }
177
204
  }, "\u7535\u5B50\u7B7E\u7AE0")) :
178
205
  // 展示材料库
179
206
  isShowLib && /*#__PURE__*/_react["default"].createElement("div", {
@@ -249,7 +276,29 @@ var FileItem = function FileItem(_ref) {
249
276
  }
250
277
  }, "\u53D6\u6D88"), /*#__PURE__*/_react["default"].createElement("div", {
251
278
  className: "btn ok"
252
- }, "\u786E\u5B9A")))));
279
+ }, "\u786E\u5B9A")))), isShowSignPage && /*#__PURE__*/_react["default"].createElement(_sign["default"], {
280
+ isShowSignPage: isShowSignPage,
281
+ userInfo: userInfo,
282
+ file: {
283
+ name: fileName,
284
+ url: file,
285
+ type: fileType
286
+ },
287
+ token: token,
288
+ getRes: getRes
289
+ }), isShowSealPage && /*#__PURE__*/_react["default"].createElement(_seal["default"], {
290
+ isShowSealPage: isShowSealPage,
291
+ userInfo: userInfo,
292
+ file: {
293
+ name: fileName,
294
+ url: file,
295
+ type: fileType
296
+ },
297
+ token: token
298
+ // getRes={getRes}
299
+ ,
300
+ accessToken: accessToken
301
+ }));
253
302
  };
254
303
  FileItem.displayName = 'FileItem';
255
304
  var _default = exports["default"] = FileItem;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare function SealPage(props: any): JSX.Element;
3
+ export default SealPage;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports["default"] = void 0;
6
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
7
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _sealUtil = require("./sealUtil");
10
+ 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
+ function SealPage(props) {
12
+ var isShowSealPage = props.isShowSealPage,
13
+ userInfo = props.userInfo,
14
+ file = props.file,
15
+ token = props.token,
16
+ accessToken = props.accessToken,
17
+ getRes = props.getRes;
18
+ var _useState = (0, _react.useState)(''),
19
+ srcUrl = _useState[0],
20
+ setSrcUrl = _useState[1];
21
+ var handleRes = /*#__PURE__*/function () {
22
+ var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
23
+ var res, pageUrl;
24
+ return _regenerator["default"].wrap(function (_context) {
25
+ while (1) switch (_context.prev = _context.next) {
26
+ case 0:
27
+ console.log('file', file, userInfo);
28
+ _context.next = 1;
29
+ return (0, _sealUtil.initSealPageMethod)(file, userInfo, token, accessToken);
30
+ case 1:
31
+ res = _context.sent;
32
+ pageUrl = res.pageUrl;
33
+ setSrcUrl(pageUrl);
34
+ // console.log(res)
35
+ case 2:
36
+ case "end":
37
+ return _context.stop();
38
+ }
39
+ }, _callee);
40
+ }));
41
+ return function handleRes() {
42
+ return _ref.apply(this, arguments);
43
+ };
44
+ }();
45
+ (0, _react.useEffect)(function () {
46
+ if (isShowSealPage) {
47
+ handleRes();
48
+ }
49
+ }, [isShowSealPage, userInfo, file, token, accessToken]);
50
+ return /*#__PURE__*/_react["default"].createElement("div", {
51
+ className: "seal_page"
52
+ }, /*#__PURE__*/_react["default"].createElement("iframe", {
53
+ src: srcUrl,
54
+ id: "iframe",
55
+ frameborder: "0",
56
+ height: "500px",
57
+ width: "100%"
58
+ }));
59
+ }
60
+ var _default = exports["default"] = SealPage;
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.initSealPageMethod = initSealPageMethod;
6
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
7
+ var _message = _interopRequireDefault(require("@alifd/next/lib/message"));
8
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
9
+ var _file = require("./file.js");
10
+ var _api = require("../../api.js");
11
+ // import apiConfig from '@/config/api.cofig'
12
+ // const userInfo = uni.getStorageSync('userInfo')
13
+ // 对外的方法 获取电子签章的页面地址
14
+ function initSealPageMethod(_x, _x2, _x3, _x4) {
15
+ return _initSealPageMethod.apply(this, arguments);
16
+ } // [第1步] 查询当前用户是否有电子签章
17
+ function _initSealPageMethod() {
18
+ _initSealPageMethod = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(fileObj, userInfo, token, accessToken) {
19
+ var name, hasSeal, fileUrl, pageUrl, params;
20
+ return _regenerator["default"].wrap(function (_context) {
21
+ while (1) switch (_context.prev = _context.next) {
22
+ case 0:
23
+ name = fileObj.name;
24
+ console.log('fileObj', fileObj, userInfo);
25
+ // 【第1步】判断当前用户是否有印章
26
+ _context.next = 1;
27
+ return querySeal(userInfo, token);
28
+ case 1:
29
+ hasSeal = _context.sent;
30
+ if (hasSeal) {
31
+ _context.next = 2;
32
+ break;
33
+ }
34
+ _message["default"].error('该单位下暂无印章,请前往“山西政务服务网”或“三晋通”小程序申领印章');
35
+ // return uni.showModal({
36
+ // title: '提示',
37
+ // content: '该单位下暂无印章,请前往“山西政务服务网”或“三晋通”小程序申领印章',
38
+ // confirmText: '知道了',
39
+ // showCancel: false,
40
+ // })
41
+ return _context.abrupt("return", false);
42
+ case 2:
43
+ _context.next = 3;
44
+ return uploadSealFile(fileObj, token);
45
+ case 3:
46
+ fileUrl = _context.sent;
47
+ if (fileUrl) {
48
+ _context.next = 4;
49
+ break;
50
+ }
51
+ return _context.abrupt("return", false);
52
+ case 4:
53
+ _context.next = 5;
54
+ return getSealUrl(fileUrl, name, token, accessToken);
55
+ case 5:
56
+ pageUrl = _context.sent;
57
+ if (pageUrl) {
58
+ _context.next = 6;
59
+ break;
60
+ }
61
+ return _context.abrupt("return", false);
62
+ case 6:
63
+ // 将 电子签章地址/文件名称 返回
64
+ params = {
65
+ pageUrl: pageUrl,
66
+ name: name
67
+ };
68
+ return _context.abrupt("return", params);
69
+ case 7:
70
+ case "end":
71
+ return _context.stop();
72
+ }
73
+ }, _callee);
74
+ }));
75
+ return _initSealPageMethod.apply(this, arguments);
76
+ }
77
+ function querySeal(userInfo, token) {
78
+ console.log('querySeal', userInfo);
79
+ // uni.showLoading({ title: '查询印章中' })
80
+ var params = {
81
+ deptCode: userInfo.certificateSno,
82
+ outUserId: userInfo.legalCertno,
83
+ userIdType: '2'
84
+ };
85
+ return new Promise(function (resolve) {
86
+ (0, _api.qrySealApi)(params, {
87
+ token: token
88
+ }).then(function (res) {
89
+ if (res.data && res.data.length > 0) {
90
+ resolve(true);
91
+ } else {
92
+ resolve(false);
93
+ }
94
+ // uni.hideLoading()
95
+ })["catch"](function (error) {
96
+ resolve(false);
97
+ // uni.hideLoading()
98
+ });
99
+ });
100
+ }
101
+
102
+ // [第2步] 上传文件
103
+ function uploadSealFile(_x5, _x6) {
104
+ return _uploadSealFile.apply(this, arguments);
105
+ } // [第3步] 获取电子印章页面
106
+ function _uploadSealFile() {
107
+ _uploadSealFile = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(fileObj, token) {
108
+ var blob, file;
109
+ return _regenerator["default"].wrap(function (_context2) {
110
+ while (1) switch (_context2.prev = _context2.next) {
111
+ case 0:
112
+ _context2.next = 1;
113
+ return (0, _file.getBlob)(fileObj.url);
114
+ case 1:
115
+ blob = _context2.sent;
116
+ file = new File([blob], fileObj.name, {
117
+ type: fileObj.type
118
+ }); // 上传接口
119
+ // const { baseURL } = apiConfig;
120
+ return _context2.abrupt("return", new Promise(function (resolve) {
121
+ (0, _file.upload)({
122
+ file: file,
123
+ filename: fileObj.name,
124
+ // 文件名称
125
+ headers: {
126
+ Authorization: token
127
+ },
128
+ action: "https://zwfwpt.sxzwfw.gov.cn/DeclarationAPI/declaration/center/signapproval/api/createbyfile",
129
+ // 上传文件的地址
130
+ onError: function onError(e) {
131
+ // uni.$u.toast(e.msg || '上传文件异常');
132
+ // uni.hideLoading();
133
+ _message["default"].error('上传文件异常');
134
+ },
135
+ onSuccess: function onSuccess(e) {
136
+ // uni.hideLoading();
137
+ console.log('success', e);
138
+ resolve(e.data);
139
+ }
140
+ });
141
+ }));
142
+ case 2:
143
+ case "end":
144
+ return _context2.stop();
145
+ }
146
+ }, _callee2);
147
+ }));
148
+ return _uploadSealFile.apply(this, arguments);
149
+ }
150
+ function getSealUrl(fileUrl, fileName, token, accessToken) {
151
+ // uni.showLoading({ title: '获取签章页面中' })
152
+ // const accessToken = uni.getStorageSync('access_token');
153
+ var params = {
154
+ accessToken: accessToken,
155
+ acctType: '20',
156
+ docURL: fileUrl,
157
+ name: fileName
158
+ };
159
+ return new Promise(function (resolve) {
160
+ (0, _api.getSealUrlApi)(params, {
161
+ token: token
162
+ }).then(function (res) {
163
+ if (res) {
164
+ resolve(res);
165
+ // uni.hideLoading()
166
+ } else {
167
+ resolve(false);
168
+ // uni.hideLoading()
169
+ }
170
+ })["catch"](function () {
171
+ resolve(false);
172
+ // uni.hideLoading()
173
+ });
174
+ });
175
+ }
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare function SignPage(props: any): JSX.Element;
3
+ export default SignPage;
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports["default"] = void 0;
6
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
7
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _signUtil = require("./signUtil");
11
+ 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); }
12
+ function SignPage(props) {
13
+ var isShowSignPage = props.isShowSignPage,
14
+ userInfo = props.userInfo,
15
+ file = props.file,
16
+ token = props.token,
17
+ getRes = props.getRes;
18
+ var _useState = (0, _react.useState)(''),
19
+ srcUrl = _useState[0],
20
+ setSrcUrl = _useState[1];
21
+ var _useState2 = (0, _react.useState)(''),
22
+ documentId = _useState2[0],
23
+ setDocumentId = _useState2[1];
24
+ var _useState3 = (0, _react.useState)(''),
25
+ contractId = _useState3[0],
26
+ setContractId = _useState3[1];
27
+ var _useState4 = (0, _react.useState)(''),
28
+ name = _useState4[0],
29
+ setName = _useState4[1];
30
+ var timerRef = (0, _react.useRef)(null);
31
+ var handleRes = /*#__PURE__*/function () {
32
+ var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
33
+ var res, documentIdVal, contractIdVal, pageUrl, nameVal;
34
+ return _regenerator["default"].wrap(function (_context) {
35
+ while (1) switch (_context.prev = _context.next) {
36
+ case 0:
37
+ _context.next = 1;
38
+ return (0, _signUtil.initSignPageMethod)(file, userInfo, token);
39
+ case 1:
40
+ res = _context.sent;
41
+ documentIdVal = res.documentId, contractIdVal = res.contractId, pageUrl = res.pageUrl, nameVal = res.name;
42
+ setSrcUrl(pageUrl);
43
+ setDocumentId(documentIdVal);
44
+ setContractId(contractIdVal);
45
+ setName(nameVal);
46
+ console.log(res);
47
+ case 2:
48
+ case "end":
49
+ return _context.stop();
50
+ }
51
+ }, _callee);
52
+ }));
53
+ return function handleRes() {
54
+ return _ref.apply(this, arguments);
55
+ };
56
+ }();
57
+ var getSignedFile = /*#__PURE__*/function () {
58
+ var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(documentIdVal, contractIdVal, nameVal, tokenVal) {
59
+ var newFile, finalFile;
60
+ return _regenerator["default"].wrap(function (_context2) {
61
+ while (1) switch (_context2.prev = _context2.next) {
62
+ case 0:
63
+ console.log('tokenVal----', tokenVal);
64
+ // const { autoUpload } = this
65
+ _context2.next = 1;
66
+ return (0, _signUtil.getSignRes)(documentIdVal, contractIdVal, nameVal, true, tokenVal);
67
+ case 1:
68
+ newFile = _context2.sent;
69
+ console.log(newFile, '签署完毕后的');
70
+ if (newFile) {
71
+ // 关闭轮询定时
72
+ handleClearInterval();
73
+ // 关闭弹框
74
+ // this.handleClose()
75
+ // 将手写签批后的新文件 传给
76
+ finalFile = (0, _extends2["default"])({
77
+ name: nameVal,
78
+ url: newFile.fileUrlList[0]
79
+ }, newFile);
80
+ console.log('finalFile---', finalFile);
81
+ getRes(finalFile);
82
+ }
83
+ case 2:
84
+ case "end":
85
+ return _context2.stop();
86
+ }
87
+ }, _callee2);
88
+ }));
89
+ return function getSignedFile(_x, _x2, _x3, _x4) {
90
+ return _ref2.apply(this, arguments);
91
+ };
92
+ }();
93
+ var handleClearInterval = function handleClearInterval() {
94
+ clearInterval(timerRef.current);
95
+ timerRef.current = null;
96
+ };
97
+ (0, _react.useEffect)(function () {
98
+ if (isShowSignPage) {
99
+ handleRes();
100
+ }
101
+ }, [isShowSignPage]);
102
+ (0, _react.useEffect)(function () {
103
+ if (srcUrl && documentId && contractId && name && token && !timerRef.current) {
104
+ handleClearInterval();
105
+ timerRef.current = setInterval(function () {
106
+ getSignedFile(documentId, contractId, name, token);
107
+ }, 3000);
108
+ }
109
+ }, [srcUrl, documentId, contractId, name, token]);
110
+ return /*#__PURE__*/_react["default"].createElement("div", {
111
+ className: "sign_page"
112
+ }, /*#__PURE__*/_react["default"].createElement("iframe", {
113
+ src: srcUrl,
114
+ id: "iframe",
115
+ frameborder: "0",
116
+ height: "500px",
117
+ width: "100%"
118
+ }));
119
+ }
120
+ var _default = exports["default"] = SignPage;