ztxkui 10.0.95 → 10.0.96

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 (150) hide show
  1. package/dist/components/TranslationButton/DownFile.d.ts +7 -0
  2. package/dist/components/TranslationButton/DownFile.js +95 -0
  3. package/dist/components/TranslationButton/PreviewFile.d.ts +5 -0
  4. package/dist/components/TranslationButton/PreviewFile.js +73 -0
  5. package/dist/components/TranslationButton/TranslationButton.d.ts +34 -0
  6. package/dist/components/TranslationButton/TranslationButton.js +245 -0
  7. package/dist/components/TranslationButton/demoComponents/index.d.ts +3 -0
  8. package/dist/components/TranslationButton/demoComponents/index.js +9 -0
  9. package/dist/components/TranslationButton/hooks.d.ts +8 -0
  10. package/dist/components/TranslationButton/hooks.js +139 -0
  11. package/dist/components/TranslationButton/index.d.ts +4 -0
  12. package/dist/components/TranslationButton/index.js +4 -0
  13. package/dist/components/Upload/utils.d.ts +8 -1
  14. package/dist/components/Upload/utils.js +56 -4
  15. package/dist/components/UploadCustom/hooks/useDg.d.ts +6 -0
  16. package/dist/components/UploadCustom/hooks/useDg.js +55 -0
  17. package/dist/components/business/Signatures/components/CodeModal.d.ts +3 -0
  18. package/dist/components/business/Signatures/components/CodeModal.js +157 -0
  19. package/dist/components/electron-signatures/content.d.ts +9 -0
  20. package/dist/components/electron-signatures/content.js +1126 -0
  21. package/dist/components/electron-signatures/demoComponents/data.d.ts +58 -0
  22. package/dist/components/electron-signatures/demoComponents/data.js +1307 -0
  23. package/dist/components/electron-signatures/demoComponents/detail.d.ts +6 -0
  24. package/dist/components/electron-signatures/demoComponents/detail.js +283 -0
  25. package/dist/components/electron-signatures/demoComponents/index.d.ts +2 -0
  26. package/dist/components/electron-signatures/demoComponents/index.js +27 -0
  27. package/dist/components/electron-signatures/demoComponents/index_old.d.ts +3 -0
  28. package/dist/components/electron-signatures/demoComponents/index_old.js +502 -0
  29. package/dist/components/electron-signatures/demoComponents/jgqrd.d.ts +6 -0
  30. package/dist/components/electron-signatures/demoComponents/jgqrd.js +135 -0
  31. package/dist/components/electron-signatures/demoComponents/making.d.ts +6 -0
  32. package/dist/components/electron-signatures/demoComponents/making.js +211 -0
  33. package/dist/components/electron-signatures/demoComponents/makingData.d.ts +663 -0
  34. package/dist/components/electron-signatures/demoComponents/makingData.js +1164 -0
  35. package/dist/components/electron-signatures/demoComponents/newDetail.d.ts +6 -0
  36. package/dist/components/electron-signatures/demoComponents/newDetail.js +283 -0
  37. package/dist/components/electron-signatures/demoComponents/preview.d.ts +3 -0
  38. package/dist/components/electron-signatures/demoComponents/preview.js +9 -0
  39. package/dist/components/electron-signatures/demoComponents/singleQjDetail.d.ts +6 -0
  40. package/dist/components/electron-signatures/demoComponents/singleQjDetail.js +530 -0
  41. package/dist/components/electron-signatures/demoComponents/singleQjMaking.d.ts +6 -0
  42. package/dist/components/electron-signatures/demoComponents/singleQjMaking.js +219 -0
  43. package/dist/components/electron-signatures/demoComponents/test.d.ts +6 -0
  44. package/dist/components/electron-signatures/demoComponents/test.js +119 -0
  45. package/dist/components/electron-signatures/dgComponents/contract-comparison.d.ts +39 -0
  46. package/dist/components/electron-signatures/dgComponents/contract-comparison.js +53 -0
  47. package/dist/components/electron-signatures/dgComponents/file-comparison-btn.d.ts +11 -0
  48. package/dist/components/electron-signatures/dgComponents/file-comparison-btn.js +180 -0
  49. package/dist/components/electron-signatures/dgComponents/new-contract-comparison.d.ts +45 -0
  50. package/dist/components/electron-signatures/dgComponents/new-contract-comparison.js +68 -0
  51. package/dist/components/electron-signatures/dgComponents/useContractColumns.d.ts +21 -0
  52. package/dist/components/electron-signatures/dgComponents/useContractColumns.js +171 -0
  53. package/dist/components/electron-signatures/electron-signatures-fragment.d.ts +8 -0
  54. package/dist/components/electron-signatures/electron-signatures-fragment.js +344 -0
  55. package/dist/components/electron-signatures/electronComponents/electron-seal-batch-download.d.ts +52 -0
  56. package/dist/components/electron-signatures/electronComponents/electron-seal-batch-download.js +513 -0
  57. package/dist/components/electron-signatures/electronComponents/electron-seal-detail.d.ts +8 -0
  58. package/dist/components/electron-signatures/electronComponents/electron-seal-detail.js +59 -0
  59. package/dist/components/electron-signatures/electronComponents/electron-seal-download.d.ts +16 -0
  60. package/dist/components/electron-signatures/electronComponents/electron-seal-download.js +89 -0
  61. package/dist/components/electron-signatures/electronComponents/electron-seal-firstLevelPerson.d.ts +9 -0
  62. package/dist/components/electron-signatures/electronComponents/electron-seal-firstLevelPerson.js +16 -0
  63. package/dist/components/electron-signatures/electronComponents/electron-seal-item-detail.d.ts +15 -0
  64. package/dist/components/electron-signatures/electronComponents/electron-seal-item-detail.js +16 -0
  65. package/dist/components/electron-signatures/electronComponents/electron-seal-item.d.ts +20 -0
  66. package/dist/components/electron-signatures/electronComponents/electron-seal-item.js +47 -0
  67. package/dist/components/electron-signatures/electronComponents/electron-seal-list.d.ts +11 -0
  68. package/dist/components/electron-signatures/electronComponents/electron-seal-list.js +191 -0
  69. package/dist/components/electron-signatures/electronComponents/electron-seal-setting.d.ts +15 -0
  70. package/dist/components/electron-signatures/electronComponents/electron-seal-setting.js +10 -0
  71. package/dist/components/electron-signatures/electronComponents/last-qys-modal.d.ts +7 -0
  72. package/dist/components/electron-signatures/electronComponents/last-qys-modal.js +42 -0
  73. package/dist/components/electron-signatures/electronComponents/useCheckedSealInfoList.d.ts +3 -0
  74. package/dist/components/electron-signatures/electronComponents/useCheckedSealInfoList.js +43 -0
  75. package/dist/components/electron-signatures/electronComponents/useElectronColumns.d.ts +30 -0
  76. package/dist/components/electron-signatures/electronComponents/useElectronColumns.js +380 -0
  77. package/dist/components/electron-signatures/electronComponents/useFetchElectronData.d.ts +20 -0
  78. package/dist/components/electron-signatures/electronComponents/useFetchElectronData.js +167 -0
  79. package/dist/components/electron-signatures/electronComponents/useGetDeptInfo.d.ts +3 -0
  80. package/dist/components/electron-signatures/electronComponents/useGetDeptInfo.js +35 -0
  81. package/dist/components/electron-signatures/fileComponents/file-operation.d.ts +7 -0
  82. package/dist/components/electron-signatures/fileComponents/file-operation.js +67 -0
  83. package/dist/components/electron-signatures/fileComponents/file-type-select.d.ts +12 -0
  84. package/dist/components/electron-signatures/fileComponents/file-type-select.js +10 -0
  85. package/dist/components/electron-signatures/fileComponents/file-upload.d.ts +11 -0
  86. package/dist/components/electron-signatures/fileComponents/file-upload.js +146 -0
  87. package/dist/components/electron-signatures/fileComponents/fileUtils.d.ts +17 -0
  88. package/dist/components/electron-signatures/fileComponents/fileUtils.js +36 -0
  89. package/dist/components/electron-signatures/fileComponents/new-file-operation.d.ts +10 -0
  90. package/dist/components/electron-signatures/fileComponents/new-file-operation.js +73 -0
  91. package/dist/components/electron-signatures/fileComponents/useFetchFileTypeData.d.ts +13 -0
  92. package/dist/components/electron-signatures/fileComponents/useFetchFileTypeData.js +43 -0
  93. package/dist/components/electron-signatures/fileComponents/useFileColumns.d.ts +38 -0
  94. package/dist/components/electron-signatures/fileComponents/useFileColumns.js +329 -0
  95. package/dist/components/electron-signatures/fileComponents/useFileTypeColumns.d.ts +19 -0
  96. package/dist/components/electron-signatures/fileComponents/useFileTypeColumns.js +72 -0
  97. package/dist/components/electron-signatures/hooks/useGetQjVerifyCode.d.ts +30 -0
  98. package/dist/components/electron-signatures/hooks/useGetQjVerifyCode.js +132 -0
  99. package/dist/components/electron-signatures/hooks/useMergeRecords.d.ts +17 -0
  100. package/dist/components/electron-signatures/hooks/useMergeRecords.js +49 -0
  101. package/dist/components/electron-signatures/hooks/useParseElectronListData.d.ts +49 -0
  102. package/dist/components/electron-signatures/hooks/useParseElectronListData.js +111 -0
  103. package/dist/components/electron-signatures/hooks/useParseElectronSetting.d.ts +102 -0
  104. package/dist/components/electron-signatures/hooks/useParseElectronSetting.js +363 -0
  105. package/dist/components/electron-signatures/hooks/useParseIsNeedElectronData.d.ts +40 -0
  106. package/dist/components/electron-signatures/hooks/useParseIsNeedElectronData.js +139 -0
  107. package/dist/components/electron-signatures/hooks/useParseIsNeedQunjData.d.ts +36 -0
  108. package/dist/components/electron-signatures/hooks/useParseIsNeedQunjData.js +48 -0
  109. package/dist/components/electron-signatures/hooks/useParseQunjListData.d.ts +56 -0
  110. package/dist/components/electron-signatures/hooks/useParseQunjListData.js +204 -0
  111. package/dist/components/electron-signatures/hooks/useParseQunjSingleData.d.ts +34 -0
  112. package/dist/components/electron-signatures/hooks/useParseQunjSingleData.js +110 -0
  113. package/dist/components/electron-signatures/hooks/useParseRecords.d.ts +65 -0
  114. package/dist/components/electron-signatures/hooks/useParseRecords.js +165 -0
  115. package/dist/components/electron-signatures/index.d.ts +13 -0
  116. package/dist/components/electron-signatures/index.js +54 -0
  117. package/dist/components/electron-signatures/index_old.d.ts +9 -0
  118. package/dist/components/electron-signatures/index_old.js +966 -0
  119. package/dist/components/electron-signatures/interface.d.ts +849 -0
  120. package/dist/components/electron-signatures/interface.js +57 -0
  121. package/dist/components/electron-signatures/qunjComponents/qunj-apply.d.ts +6 -0
  122. package/dist/components/electron-signatures/qunjComponents/qunj-apply.js +8 -0
  123. package/dist/components/electron-signatures/qunjComponents/qunj-check.d.ts +21 -0
  124. package/dist/components/electron-signatures/qunjComponents/qunj-check.js +41 -0
  125. package/dist/components/electron-signatures/qunjComponents/qunj-detail.d.ts +35 -0
  126. package/dist/components/electron-signatures/qunjComponents/qunj-detail.js +267 -0
  127. package/dist/components/electron-signatures/qunjComponents/qunj-list.d.ts +24 -0
  128. package/dist/components/electron-signatures/qunjComponents/qunj-list.js +346 -0
  129. package/dist/components/electron-signatures/qunjComponents/useFetchQunjData.d.ts +20 -0
  130. package/dist/components/electron-signatures/qunjComponents/useFetchQunjData.js +61 -0
  131. package/dist/components/electron-signatures/qunjComponents/useQunjColumns.d.ts +36 -0
  132. package/dist/components/electron-signatures/qunjComponents/useQunjColumns.js +321 -0
  133. package/dist/components/electron-signatures/translateComponents/TranslateButton.d.ts +10 -0
  134. package/dist/components/electron-signatures/translateComponents/TranslateButton.js +44 -0
  135. package/dist/components/electron-signatures/translateComponents/useTranslateCom.d.ts +22 -0
  136. package/dist/components/electron-signatures/translateComponents/useTranslateCom.js +50 -0
  137. package/dist/components/electron-signatures/utils.d.ts +26 -0
  138. package/dist/components/electron-signatures/utils.js +67 -0
  139. package/dist/components/utils/ZtxkContext.d.ts +16 -0
  140. package/dist/components/utils/ZtxkContext.js +4 -0
  141. package/dist/components/utils/useMemoizedFn.d.ts +6 -0
  142. package/dist/components/utils/useMemoizedFn.js +22 -0
  143. package/dist/components/utils/usePrevious.d.ts +3 -0
  144. package/dist/components/utils/usePrevious.js +13 -0
  145. package/dist/index.css +686 -0
  146. package/dist/index.css.map +1 -1
  147. package/dist/index.d.ts +3 -0
  148. package/dist/index.js +105 -87
  149. package/dist/request.js +1 -1
  150. package/package.json +4 -3
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ declare const DownFile: ({ request, tid, fileName }: {
3
+ request: any;
4
+ tid: any;
5
+ fileName: any;
6
+ }) => JSX.Element;
7
+ export default DownFile;
@@ -0,0 +1,95 @@
1
+ import i18next from 'ztxkutils/dist/i18next';
2
+ import React, { useState, useCallback, useEffect } from 'react';
3
+ import { DownloadOutlined } from '@ant-design/icons';
4
+ import { Button, Dropdown, Menu, message } from '../../index';
5
+ var DownFile = function (_a) {
6
+ var request = _a.request, tid = _a.tid, fileName = _a.fileName;
7
+ // 下载类型选择
8
+ var _b = useState([]), downloadTypeDict = _b[0], setDownloadTypeDict = _b[1];
9
+ var _c = useState(false), loading = _c[0], setLoading = _c[1];
10
+ // 获取下载类型字典
11
+ var getDownloadTypeDict = useCallback(function () {
12
+ return request === null || request === void 0 ? void 0 : request({
13
+ url: "/api/zmdms-system/dict/dictionary",
14
+ method: 'GET',
15
+ params: {
16
+ code: 'fy_file_type',
17
+ },
18
+ }).then(function (res) {
19
+ var _a;
20
+ if (res.status === 200 && res.data.data) {
21
+ setDownloadTypeDict((_a = res === null || res === void 0 ? void 0 : res.data) === null || _a === void 0 ? void 0 : _a.data);
22
+ }
23
+ });
24
+ }, [request]);
25
+ useEffect(function () {
26
+ getDownloadTypeDict();
27
+ }, [getDownloadTypeDict]);
28
+ var download = function (dType) {
29
+ setLoading(true);
30
+ request({
31
+ url: "/api/zmdms-resource/fanyi/download-trans-file",
32
+ method: 'GET',
33
+ responseType: 'blob',
34
+ params: {
35
+ dtype: dType,
36
+ tid: tid,
37
+ fileName: fileName,
38
+ },
39
+ })
40
+ .then(function (res) {
41
+ try {
42
+ var blob = new Blob([res.data], {
43
+ type: 'application/vnd.ms-excel',
44
+ });
45
+ if (blob.size < 1) {
46
+ message.warning(i18next.t('下载失败,下载的内容为空!'));
47
+ return;
48
+ }
49
+ var aLink = document.createElement('a');
50
+ aLink.style.display = 'none';
51
+ var href = window.URL.createObjectURL(blob);
52
+ aLink.href = href;
53
+ aLink.download = fileName;
54
+ document.body.appendChild(aLink);
55
+ aLink.click();
56
+ document.body.removeChild(aLink);
57
+ window.URL.revokeObjectURL(href);
58
+ return new File([blob], fileName);
59
+ }
60
+ catch (err) {
61
+ console.error(err);
62
+ }
63
+ })
64
+ .catch(function (err) {
65
+ var _a, _b, _c;
66
+ console.log(err);
67
+ try {
68
+ var blobData = (_a = err === null || err === void 0 ? void 0 : err.response) === null || _a === void 0 ? void 0 : _a.data;
69
+ blobData
70
+ .text()
71
+ .then(function (data) {
72
+ var result = JSON.parse(data);
73
+ message.error((result === null || result === void 0 ? void 0 : result.msg) || i18next.t('接口调用失败!'));
74
+ })
75
+ .catch(function () {
76
+ var _a, _b;
77
+ message.error(((_b = (_a = err === null || err === void 0 ? void 0 : err.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.msg) || i18next.t('接口调用失败!'));
78
+ });
79
+ }
80
+ catch (e) {
81
+ message.error(((_c = (_b = err === null || err === void 0 ? void 0 : err.response) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.msg) || i18next.t('接口调用失败!'));
82
+ }
83
+ })
84
+ .finally(function () {
85
+ setLoading(false);
86
+ });
87
+ };
88
+ return (React.createElement(Dropdown, { overlay: function () { return (React.createElement(Menu, { onClick: function (e) {
89
+ download(e.key);
90
+ } }, downloadTypeDict.map(function (item) {
91
+ return React.createElement(Menu.Item, { key: item.dictKey }, item.dictValue);
92
+ }))); }, placement: "bottomLeft" },
93
+ React.createElement(Button, { type: "primary", shape: "circle", icon: React.createElement(DownloadOutlined, null), size: 'small', loading: loading })));
94
+ };
95
+ export default DownFile;
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ declare const PreviewFile: ({ request }: {
3
+ request: any;
4
+ }) => JSX.Element;
5
+ export default PreviewFile;
@@ -0,0 +1,73 @@
1
+ import i18next from 'ztxkutils/dist/i18next';
2
+ import React from 'react';
3
+ import { createOriginalUrl } from 'ztxkutils/dist/fileOperation';
4
+ import { dangerouslySetXss } from 'ztxkutils/dist/tools';
5
+ import { ZtxkContext } from '../../index';
6
+ import DownFile from './DownFile';
7
+ var PreviewFile = function (_a) {
8
+ var request = _a.request;
9
+ var fileBaseUrl = React.useContext(ZtxkContext).fileBaseUrl;
10
+ var params = new URLSearchParams(window.location.search);
11
+ var oldId = params.get('oldId');
12
+ var tid = params.get('tid');
13
+ var fileName = params.get('fileName') || '';
14
+ try {
15
+ fileName = decodeURIComponent(fileName);
16
+ }
17
+ catch (error) {
18
+ fileName = dangerouslySetXss(fileName);
19
+ console.error(i18next.t('解码文件名失败:'), error);
20
+ }
21
+ var _b = React.useState(''), translatedUrl = _b[0], setTranslatedUrl = _b[1];
22
+ var oldUrl = React.useMemo(function () {
23
+ if (oldId) {
24
+ return createOriginalUrl(fileBaseUrl, oldId, {
25
+ titleName: dangerouslySetXss(fileName || ''),
26
+ });
27
+ }
28
+ return '';
29
+ }, [fileBaseUrl, oldId, fileName]);
30
+ React.useEffect(function () {
31
+ if (tid) {
32
+ request({
33
+ url: "/api/zmdms-resource/fanyi/download-trans-file-id",
34
+ method: 'get',
35
+ params: {
36
+ tid: tid,
37
+ dtype: 3,
38
+ fileName: fileName,
39
+ },
40
+ })
41
+ .then(function (res) {
42
+ setTranslatedUrl(createOriginalUrl(fileBaseUrl, res.data.data.attachId, {
43
+ titleName: res.data.data.originalName,
44
+ }));
45
+ })
46
+ .catch(function (error) {
47
+ console.error(i18next.t('获取翻译文件失败:'), error);
48
+ });
49
+ }
50
+ }, [tid, fileBaseUrl, fileName, request]);
51
+ return (React.createElement("div", { style: {
52
+ display: 'flex',
53
+ width: '100%',
54
+ height: '100vh',
55
+ justifyContent: 'space-between',
56
+ overflow: 'hidden',
57
+ } },
58
+ React.createElement("iframe", { style: { width: '100%', height: '100%', border: '2px solid #333' }, src: oldUrl, title: i18next.t('原文档') }),
59
+ React.createElement("div", { style: { width: '5px', height: '100px' } }),
60
+ React.createElement("div", { style: {
61
+ position: 'relative',
62
+ width: '100%',
63
+ border: '2px solid #333',
64
+ } },
65
+ React.createElement("iframe", { style: { width: '100%', height: '100%' }, src: translatedUrl, title: i18next.t('翻译文档') }),
66
+ React.createElement("div", { style: {
67
+ position: 'absolute',
68
+ right: '20px',
69
+ bottom: '50%',
70
+ } },
71
+ React.createElement(DownFile, { request: request, tid: tid, fileName: fileName })))));
72
+ };
73
+ export default PreviewFile;
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { ButtonProps } from 'antd/lib/button';
3
+ export interface IProps extends ButtonProps {
4
+ /**
5
+ * 附件id 需要翻译的附件id
6
+ */
7
+ attachId?: string;
8
+ /**
9
+ * 附件名 需要翻译的附件名
10
+ */
11
+ attachName?: string;
12
+ /**
13
+ * 翻译后的任务ID 用来检测翻译是否完成 用来获取翻译后的文件
14
+ */
15
+ tid?: string;
16
+ /**
17
+ * 请求方法
18
+ */
19
+ request?: any;
20
+ /**
21
+ * 开始翻译的其他参数
22
+ */
23
+ translationParams?: any;
24
+ /**
25
+ * tid改变
26
+ */
27
+ tidChange?: (tid: string) => void;
28
+ /**
29
+ * 文件预览路径
30
+ */
31
+ previewUrl: string;
32
+ }
33
+ declare const TranslationButton: React.FC<IProps>;
34
+ export default TranslationButton;
@@ -0,0 +1,245 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (_) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ import i18next from 'ztxkutils/dist/i18next';
49
+ import React, { useState, useMemo } from 'react';
50
+ import { unstable_batchedUpdates } from 'react-dom';
51
+ import { Button, message, Dropdown, Menu, Progress } from '../../index';
52
+ import { usePercent } from './hooks';
53
+ import { useQuery } from 'react-query';
54
+ var translationTypeList = [
55
+ { dictKey: '2', dictValue: i18next.t('英文转中文') },
56
+ { dictKey: '1', dictValue: i18next.t('中文转英文') },
57
+ ];
58
+ var TranslationButton = function (props) {
59
+ var attachId = props.attachId, tid = props.tid, request = props.request, translationParams = props.translationParams, tidChange = props.tidChange;
60
+ var _a = useState(), translationTid = _a[0], setTranslationTid = _a[1];
61
+ var _b = useState(false), loading = _b[0], setLoading = _b[1];
62
+ var res = useQuery({
63
+ queryKey: ['translationTypeList'],
64
+ queryFn: function () {
65
+ return request({
66
+ url: "/api/zmdms-mdm-data/dict-biz/dictionary",
67
+ method: 'GET',
68
+ params: { code: 'zsk_term_library_id' },
69
+ });
70
+ },
71
+ }).data;
72
+ var libraryMap = useMemo(function () {
73
+ var _a;
74
+ return (((_a = res === null || res === void 0 ? void 0 : res.data) === null || _a === void 0 ? void 0 : _a.data) || []).reduce(function (acc, item) {
75
+ acc[item.dictKey] = item.dictValue;
76
+ return acc;
77
+ }, {});
78
+ }, [res]);
79
+ // 翻译状态 当没有tid的时候 是 开始状态 start
80
+ // 有tid的时候 调用接口判断是否 是翻译中 然后下载
81
+ var currentTid = useMemo(function () {
82
+ return translationTid || tid;
83
+ }, [translationTid, tid]);
84
+ var translationStatus = useMemo(function () {
85
+ return currentTid ? 'pending' : 'start';
86
+ }, [currentTid]);
87
+ var _c = usePercent({
88
+ currentTid: currentTid,
89
+ request: request,
90
+ }), percent = _c.percent, isTranslating = _c.isTranslating, startTranslate = _c.startTranslate;
91
+ /**
92
+ * @param translationType 翻译转换规则
93
+ */
94
+ var handleStartTranslation = function (translationType) {
95
+ var translationResultType = {
96
+ from: 'zh',
97
+ to: 'en',
98
+ };
99
+ switch (translationType) {
100
+ case '1':
101
+ translationResultType = {
102
+ from: 'zh',
103
+ to: 'en',
104
+ };
105
+ break;
106
+ case '2':
107
+ translationResultType = {
108
+ from: 'en',
109
+ to: 'zh',
110
+ };
111
+ break;
112
+ }
113
+ setLoading(true);
114
+ // 翻译文件
115
+ request({
116
+ url: "/api/zmdms-resource/fanyi/upload-orgin-files",
117
+ method: 'POST',
118
+ data: __assign(__assign({ attachId: attachId, bilingualControl: 0, termLibraryId: (translationParams === null || translationParams === void 0 ? void 0 : translationParams.termLibraryKey)
119
+ ? libraryMap[translationParams === null || translationParams === void 0 ? void 0 : translationParams.termLibraryKey]
120
+ : libraryMap['DEFAULT'] }, translationParams), translationResultType),
121
+ })
122
+ .then(function (res) {
123
+ if (res.status === 200) {
124
+ unstable_batchedUpdates(function () {
125
+ var _a, _b, _c, _d;
126
+ setLoading(false);
127
+ setTranslationTid((_b = (_a = res === null || res === void 0 ? void 0 : res.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.tid);
128
+ tidChange === null || tidChange === void 0 ? void 0 : tidChange((_d = (_c = res === null || res === void 0 ? void 0 : res.data) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.tid);
129
+ startTranslate();
130
+ });
131
+ }
132
+ else {
133
+ setLoading(false);
134
+ }
135
+ })
136
+ .catch(function (err) {
137
+ var _a, _b;
138
+ message.error(((_b = (_a = err === null || err === void 0 ? void 0 : err.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.msg) || i18next.t('接口调用失败!'));
139
+ setLoading(false);
140
+ });
141
+ };
142
+ var handleDownloadTranslation = function () {
143
+ // 翻译前 先判断下是否翻译完成
144
+ setLoading(true);
145
+ if (currentTid) {
146
+ loopProgress();
147
+ }
148
+ else {
149
+ message.info(i18next.t('没有 找到任务id!'));
150
+ setLoading(false);
151
+ }
152
+ function loopProgress() {
153
+ return __awaiter(this, void 0, void 0, function () {
154
+ var _a, flag, percent_1, title, docType, fileName, err_1;
155
+ return __generator(this, function (_b) {
156
+ switch (_b.label) {
157
+ case 0:
158
+ _b.trys.push([0, 2, , 3]);
159
+ return [4 /*yield*/, getTranslateProgress()];
160
+ case 1:
161
+ _a = _b.sent(), flag = _a.flag, percent_1 = _a.percent, title = _a.title, docType = _a.docType;
162
+ if (flag) {
163
+ setLoading(false);
164
+ fileName = encodeURIComponent(title + '.' + docType);
165
+ window.open(props.previewUrl + "?hideFrame=true&tid=" + currentTid + "&oldId=" + attachId + "&fileName=" + fileName);
166
+ // download(dType);
167
+ }
168
+ else {
169
+ message.warning(i18next.t('当前翻译进度{{percent}}%', { percent: percent_1 }));
170
+ setLoading(false);
171
+ }
172
+ return [3 /*break*/, 3];
173
+ case 2:
174
+ err_1 = _b.sent();
175
+ setLoading(false);
176
+ return [3 /*break*/, 3];
177
+ case 3: return [2 /*return*/];
178
+ }
179
+ });
180
+ });
181
+ }
182
+ function getTranslateProgress() {
183
+ return request === null || request === void 0 ? void 0 : request({
184
+ url: "/api/zmdms-resource/fanyi/query-trans-progress/" + currentTid,
185
+ method: 'GET',
186
+ }).then(function (res) {
187
+ var _a, _b, _c, _d, _e;
188
+ if (res.status === 200) {
189
+ var status_1 = (_b = (_a = res === null || res === void 0 ? void 0 : res.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.status;
190
+ if (status_1 === 314) {
191
+ return Promise.resolve(__assign({ flag: true }, (_c = res === null || res === void 0 ? void 0 : res.data) === null || _c === void 0 ? void 0 : _c.data));
192
+ }
193
+ }
194
+ return Promise.resolve({
195
+ flag: false,
196
+ percent: Number((_e = (_d = res === null || res === void 0 ? void 0 : res.data) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.percent),
197
+ });
198
+ }).catch(function (err) {
199
+ var _a, _b;
200
+ message.error(((_b = (_a = err === null || err === void 0 ? void 0 : err.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.msg) || i18next.t('接口调用失败!'));
201
+ return Promise.reject(false);
202
+ });
203
+ }
204
+ };
205
+ var renderTranslationDropdown = function (title) {
206
+ return (React.createElement(Dropdown, { overlay: function () { return (React.createElement(Menu, { onClick: function (e) {
207
+ handleStartTranslation(e.key);
208
+ } }, translationTypeList.map(function (item) { return (React.createElement(Menu.Item, { key: item.dictKey }, item.dictValue)); }))); }, placement: "bottomLeft" },
209
+ React.createElement(Button, { type: "link", loading: loading }, title)));
210
+ };
211
+ switch (translationStatus) {
212
+ case 'start':
213
+ return renderTranslationDropdown(i18next.t('翻译文件'));
214
+ case 'pending':
215
+ return (React.createElement(React.Fragment, null,
216
+ React.createElement(Button, { type: "link", loading: loading, onClick: handleDownloadTranslation, disabled: isTranslating }, i18next.t('查看译文')),
217
+ isTranslating && (React.createElement(Progress, { type: "circle", percent: percent, width: 35 })),
218
+ !isTranslating && renderTranslationDropdown(i18next.t('重译'))));
219
+ // case 'down':
220
+ // return (
221
+ // <Dropdown
222
+ // overlay={() => (
223
+ // <Menu
224
+ // onClick={(e) => {
225
+ // handleDownloadTranslation(e.key);
226
+ // }}
227
+ // >
228
+ // {downloadTypeDict.map((item) => {
229
+ // return (
230
+ // <Menu.Item key={item.dictKey}>{item.dictValue}</Menu.Item>
231
+ // );
232
+ // })}
233
+ // </Menu>
234
+ // )}
235
+ // placement="bottomLeft"
236
+ // >
237
+ // <Button type="link" loading={loading}>
238
+ // 下载
239
+ // </Button>
240
+ // </Dropdown>
241
+ // );
242
+ }
243
+ return React.createElement(React.Fragment, null);
244
+ };
245
+ export default TranslationButton;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const Demo: React.FC;
3
+ export default Demo;
@@ -0,0 +1,9 @@
1
+ import i18next from 'ztxkutils/dist/i18next';
2
+ import React from 'react';
3
+ import { TranslationButton } from '../../../index';
4
+ import request from '../../../request';
5
+ var Demo = function () {
6
+ return (React.createElement("div", null,
7
+ React.createElement(TranslationButton, { request: request, attachId: "8121178081808801831", attachName: i18next.t('现货价格政策功能方案初稿9-27.docx'), tid: "88", previewUrl: "/document-translation-preview" })));
8
+ };
9
+ export default Demo;
@@ -0,0 +1,8 @@
1
+ export declare function usePercent({ request, currentTid }: {
2
+ request: any;
3
+ currentTid: any;
4
+ }): {
5
+ startTranslate: () => void;
6
+ percent: number;
7
+ isTranslating: boolean;
8
+ };
@@ -0,0 +1,139 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (_) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ import i18next from 'ztxkutils/dist/i18next';
49
+ import { useState, useEffect, useRef } from 'react';
50
+ import { message } from 'ztxkui';
51
+ function getTranslateProgress(request, currentTid) {
52
+ return request === null || request === void 0 ? void 0 : request({
53
+ url: "/api/zmdms-resource/fanyi/query-trans-progress/" + currentTid,
54
+ method: 'GET',
55
+ }).then(function (res) {
56
+ var _a, _b, _c, _d, _e;
57
+ if (res.status === 200) {
58
+ var status_1 = (_b = (_a = res === null || res === void 0 ? void 0 : res.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.status;
59
+ if (status_1 === 314) {
60
+ return Promise.resolve(__assign({ flag: true }, (_c = res === null || res === void 0 ? void 0 : res.data) === null || _c === void 0 ? void 0 : _c.data));
61
+ }
62
+ }
63
+ return Promise.resolve({
64
+ flag: false,
65
+ percent: Number((_e = (_d = res === null || res === void 0 ? void 0 : res.data) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.percent),
66
+ });
67
+ }).catch(function (err) {
68
+ var _a, _b;
69
+ message.error(((_b = (_a = err === null || err === void 0 ? void 0 : err.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.msg) || i18next.t('接口调用失败!'));
70
+ return Promise.reject(false);
71
+ });
72
+ }
73
+ export function usePercent(_a) {
74
+ var _this = this;
75
+ var request = _a.request, currentTid = _a.currentTid;
76
+ var _b = useState(0), percent = _b[0], setPercent = _b[1];
77
+ var _c = useState(false), pending = _c[0], setPending = _c[1];
78
+ var timerRef = useRef();
79
+ var requestRef = useRef(request);
80
+ requestRef.current = request;
81
+ var currentTidRef = useRef(currentTid);
82
+ currentTidRef.current = currentTid;
83
+ useEffect(function () {
84
+ return function () {
85
+ return clearTimeout(timerRef.current);
86
+ };
87
+ }, []);
88
+ useEffect(function () {
89
+ if (currentTid) {
90
+ handleTranslateProgress().then(function (isCompleted) {
91
+ if (!isCompleted) {
92
+ queryTranslateProgress();
93
+ }
94
+ });
95
+ }
96
+ // eslint-disable-next-line react-hooks/exhaustive-deps
97
+ }, [currentTid]);
98
+ // 处理翻译进度结果
99
+ var handleTranslateProgress = function () { return __awaiter(_this, void 0, void 0, function () {
100
+ var _a, flag, percent;
101
+ return __generator(this, function (_b) {
102
+ switch (_b.label) {
103
+ case 0: return [4 /*yield*/, getTranslateProgress(requestRef.current, currentTidRef.current)];
104
+ case 1:
105
+ _a = _b.sent(), flag = _a.flag, percent = _a.percent;
106
+ setPending(!flag);
107
+ setPercent(percent);
108
+ return [2 /*return*/, flag];
109
+ }
110
+ });
111
+ }); };
112
+ // 轮询翻译进度
113
+ var queryTranslateProgress = function () {
114
+ timerRef.current = setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {
115
+ var isCompleted;
116
+ return __generator(this, function (_a) {
117
+ switch (_a.label) {
118
+ case 0: return [4 /*yield*/, handleTranslateProgress()];
119
+ case 1:
120
+ isCompleted = _a.sent();
121
+ if (!isCompleted) {
122
+ queryTranslateProgress();
123
+ }
124
+ return [2 /*return*/];
125
+ }
126
+ });
127
+ }); }, 2000);
128
+ };
129
+ function startTranslate() {
130
+ setPercent(0);
131
+ setPending(true);
132
+ queryTranslateProgress();
133
+ }
134
+ return {
135
+ startTranslate: startTranslate,
136
+ percent: percent,
137
+ isTranslating: pending,
138
+ };
139
+ }
@@ -0,0 +1,4 @@
1
+ import TranslationButton from './TranslationButton';
2
+ import TranslationPreviewFile from './PreviewFile';
3
+ export { TranslationPreviewFile };
4
+ export default TranslationButton;
@@ -0,0 +1,4 @@
1
+ import TranslationButton from './TranslationButton';
2
+ import TranslationPreviewFile from './PreviewFile';
3
+ export { TranslationPreviewFile };
4
+ export default TranslationButton;
@@ -24,7 +24,10 @@ export interface IResultType {
24
24
  otherParams: IParams;
25
25
  }
26
26
  export declare function fileBatchDownload(fileList: IFileItem[], otherConfig: IConfig): IResultType;
27
- export declare function sealFileBatchDownload(request: any, params: any, isCompress?: boolean, scmServiceName?: string): Partial<IResultType>;
27
+ export declare function sealFileBatchDownload(request: any, params: any, options?: {
28
+ isCompress: boolean;
29
+ isWater?: boolean;
30
+ } | boolean, scmServiceName?: string): Partial<IResultType>;
28
31
  /**
29
32
  * 是否可以下载
30
33
  */
@@ -38,4 +41,8 @@ interface IOtherOption {
38
41
  * 批量下载
39
42
  */
40
43
  export declare function sealDownloadFileCallBack(request: any, params: any, otherOption?: IOtherOption, scmServiceName?: string): void;
44
+ /**
45
+ * 批量下载盖章件水印
46
+ */
47
+ export declare function sealWaterDownloadFileCallBack(request: any, params: any, otherOption?: IOtherOption, scmServiceName?: string): void;
41
48
  export {};