zmdms-webui 1.3.7 → 1.3.8
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.
- package/dist/es/electronsignatures/dgcomponents/contract-comparison.js +50 -0
- package/dist/es/electronsignatures/dgcomponents/useContractColumns.js +53 -0
- package/dist/es/electronsignatures/dgcomponents/useDg.js +57 -0
- package/dist/es/electronsignatures/electron-signatures-fragment.js +322 -0
- package/dist/es/electronsignatures/electroncomponents/electron-seal-batch-download.js +370 -0
- package/dist/es/electronsignatures/electroncomponents/electron-seal-detail.js +35 -0
- package/dist/es/electronsignatures/electroncomponents/electron-seal-download.js +74 -0
- package/dist/es/electronsignatures/electroncomponents/electron-seal-firstLevelPerson.js +17 -0
- package/dist/es/electronsignatures/electroncomponents/electron-seal-item.js +21 -0
- package/dist/es/electronsignatures/electroncomponents/electron-seal-list.js +42 -0
- package/dist/es/electronsignatures/electroncomponents/electron-seal-setting.js +12 -0
- package/dist/es/electronsignatures/electroncomponents/last-qys-modal.js +44 -0
- package/dist/es/electronsignatures/electroncomponents/useCheckedSealInfoList.js +43 -0
- package/dist/es/electronsignatures/electroncomponents/useElectronColumns.js +181 -0
- package/dist/es/electronsignatures/electroncomponents/useFetchElectronData.js +118 -0
- package/dist/es/electronsignatures/electroncomponents/useGetDeptInfo.js +37 -0
- package/dist/es/electronsignatures/electroncomponents/utils.js +266 -0
- package/dist/es/electronsignatures/filecomponents/file-operation.js +55 -0
- package/dist/es/electronsignatures/filecomponents/file-type-select.js +11 -0
- package/dist/es/electronsignatures/filecomponents/file-upload.js +130 -0
- package/dist/es/electronsignatures/filecomponents/fileUtils.js +38 -0
- package/dist/es/electronsignatures/filecomponents/useFetchFileTypeData.js +46 -0
- package/dist/es/electronsignatures/filecomponents/useFileColumns.js +178 -0
- package/dist/es/electronsignatures/filecomponents/useFileTypeColumns.js +76 -0
- package/dist/es/electronsignatures/hooks/useMergeRecords.js +51 -0
- package/dist/es/electronsignatures/hooks/useParseElectronListData.js +113 -0
- package/dist/es/electronsignatures/hooks/useParseElectronSetting.js +327 -0
- package/dist/es/electronsignatures/hooks/useParseIsNeedElectronData.js +111 -0
- package/dist/es/electronsignatures/hooks/useParseIsNeedQunjData.js +50 -0
- package/dist/es/electronsignatures/hooks/useParseQunjListData.js +182 -0
- package/dist/es/electronsignatures/hooks/useParseQunjSingleData.js +96 -0
- package/dist/es/electronsignatures/hooks/useParseRecords.js +141 -0
- package/dist/es/electronsignatures/index.css +1 -0
- package/dist/es/electronsignatures/index.d.ts +6 -0
- package/dist/es/electronsignatures/index.js +836 -0
- package/dist/es/electronsignatures/interface.d.ts +500 -0
- package/dist/es/electronsignatures/interface.js +53 -0
- package/dist/es/electronsignatures/qunjcomponents/code-modal.js +111 -0
- package/dist/es/electronsignatures/qunjcomponents/qunj-check.js +15 -0
- package/dist/es/electronsignatures/qunjcomponents/qunj-detail.js +65 -0
- package/dist/es/electronsignatures/qunjcomponents/qunj-list.js +121 -0
- package/dist/es/electronsignatures/qunjcomponents/useFetchQunjData.js +58 -0
- package/dist/es/electronsignatures/qunjcomponents/useQunjColumns.js +251 -0
- package/dist/es/electronsignatures/utils.js +55 -0
- package/dist/index.build.d.ts +1 -0
- package/dist/index.dark.css +1 -1
- package/dist/index.default.css +1 -1
- package/dist/index.es.js +1 -0
- package/package.json +4 -3
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { __assign } from '../../_virtual/_tslib.js';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { memo, useRef, useMemo } from 'react';
|
|
4
|
+
import CodeModal from './code-modal.js';
|
|
5
|
+
import { getToken } from 'zmdms-utils';
|
|
6
|
+
import ButtonCom from '../../button/button.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* 群杰详情列表
|
|
10
|
+
*/
|
|
11
|
+
var QunjDetail = function (_a) {
|
|
12
|
+
var _b;
|
|
13
|
+
var qunjList = _a.qunjList, qunjSeal = _a.qunjSeal, isContranctNum = _a.isContranctNum, isQunjAddress = _a.isQunjAddress, currentQunjAddress = _a.currentQunjAddress, refreshCode = _a.refreshCode, request = _a.request, isEdit = _a.isEdit, apiBaseUrl = _a.apiBaseUrl, caseId = _a.caseId;
|
|
14
|
+
var codeModalRef = useRef();
|
|
15
|
+
var code = useMemo(function () {
|
|
16
|
+
return padWithZeroes((qunjSeal === null || qunjSeal === void 0 ? void 0 : qunjSeal.code) || (qunjSeal === null || qunjSeal === void 0 ? void 0 : qunjSeal.vertifyCode), 6);
|
|
17
|
+
}, [qunjSeal === null || qunjSeal === void 0 ? void 0 : qunjSeal.code, qunjSeal === null || qunjSeal === void 0 ? void 0 : qunjSeal.vertifyCode]);
|
|
18
|
+
/** 查询用印状态 */
|
|
19
|
+
var querySealStatus = function () {
|
|
20
|
+
var token = getToken();
|
|
21
|
+
var url = "".concat(apiBaseUrl, "/api/zmdms-esb-outer/outer/qj/view-stamp?caseId=").concat(caseId, "&systemId=1493475945847648257&Zmdms-Auth=bearer ").concat(token);
|
|
22
|
+
window.open(url);
|
|
23
|
+
};
|
|
24
|
+
return (jsxs("div", __assign({ className: "qunj-detail--wrap" }, { children: [isEdit ? null : (jsxs("div", { children: [jsxs("div", __assign({ className: "qunj-detail--title" }, { children: [jsxs("div", __assign({ className: "qunj-detail--code" }, { children: ["\u7FA4\u6770\u9A8C\u8BC1\u7801", " ", jsx("span", __assign({ style: {
|
|
25
|
+
color: "rgb(255, 102, 102)",
|
|
26
|
+
fontSize: "16px",
|
|
27
|
+
marginLeft: "10px",
|
|
28
|
+
} }, { children: code }))] })), refreshCode && (jsx(ButtonCom, __assign({ type: "link", onClick: function () {
|
|
29
|
+
var _a;
|
|
30
|
+
if (refreshCode) {
|
|
31
|
+
(_a = codeModalRef.current) === null || _a === void 0 ? void 0 : _a.open();
|
|
32
|
+
}
|
|
33
|
+
} }, { children: "\u5237\u65B0\u9A8C\u8BC1\u7801" })))] })), (qunjSeal === null || qunjSeal === void 0 ? void 0 : qunjSeal.code) || (qunjSeal === null || qunjSeal === void 0 ? void 0 : qunjSeal.vertifyCode) ? (jsx("div", { children: jsx(ButtonCom, __assign({ type: "link", onClick: function () {
|
|
34
|
+
querySealStatus();
|
|
35
|
+
} }, { children: "\u67E5\u8BE2\u7528\u5370\u72B6\u6001" })) })) : null] })), jsxs("div", __assign({ className: "qunj-detail--info" }, { children: [isContranctNum && (jsxs("div", { children: ["\u5408\u540C\u4EFD\u6570: ", jsxs("span", { children: [qunjSeal === null || qunjSeal === void 0 ? void 0 : qunjSeal.contranctNum, " \u4EFD"] })] })), jsxs("div", __assign({ className: "qunj-detail--address" }, { children: [jsxs("div", __assign({ className: "qunj-detail--type" }, { children: ["\u7528\u5370\u7C7B\u578B\uFF1A", jsx("span", { children: (qunjSeal === null || qunjSeal === void 0 ? void 0 : qunjSeal.isTakeOut) + "" === "0"
|
|
36
|
+
? "内部用印"
|
|
37
|
+
: (qunjSeal === null || qunjSeal === void 0 ? void 0 : qunjSeal.isTakeOut) + "" === "1"
|
|
38
|
+
? "外部用印"
|
|
39
|
+
: "" })] })), isQunjAddress && (qunjSeal === null || qunjSeal === void 0 ? void 0 : qunjSeal.isTakeOut) + "" === "1" && (jsxs("div", { children: ["\u76D6\u7AE0\u5730\u70B9\uFF1A", jsx("span", { children: currentQunjAddress === null || currentQunjAddress === void 0 ? void 0 : currentQunjAddress.name })] }))] }))] })), jsx("div", __assign({ className: "qunj-detail--list" }, { children: (_b = qunjSeal === null || qunjSeal === void 0 ? void 0 : qunjSeal.details) === null || _b === void 0 ? void 0 : _b.map(function (detail) {
|
|
40
|
+
var _a;
|
|
41
|
+
var item = (_a = qunjList === null || qunjList === void 0 ? void 0 : qunjList.find) === null || _a === void 0 ? void 0 : _a.call(qunjList, function (qunj) { return (qunj === null || qunj === void 0 ? void 0 : qunj.sealNo) === (detail === null || detail === void 0 ? void 0 : detail.sealNo); });
|
|
42
|
+
return (jsxs("div", __assign({ className: "qunj-detail--item" }, { children: [jsx("div", { children: item === null || item === void 0 ? void 0 : item.sealName }), jsxs("div", { children: ["\u7528\u5370", jsx("span", { children: detail === null || detail === void 0 ? void 0 : detail.sealCount }), "\u6B21"] })] }), detail === null || detail === void 0 ? void 0 : detail.sealNo));
|
|
43
|
+
}) })), jsx(CodeModal, { details: qunjSeal === null || qunjSeal === void 0 ? void 0 : qunjSeal.details, request: request, ref: codeModalRef })] })));
|
|
44
|
+
};
|
|
45
|
+
var QunjDetail$1 = memo(QunjDetail);
|
|
46
|
+
var NoUseQj = function () {
|
|
47
|
+
return (jsx("div", __assign({ style: {
|
|
48
|
+
height: "100%",
|
|
49
|
+
display: "flex",
|
|
50
|
+
alignItems: "center",
|
|
51
|
+
justifyContent: "center",
|
|
52
|
+
} }, { children: "\u672C\u6B21\u6D41\u7A0B\u65E0\u7FA4\u6770\u5370\u7AE0" })));
|
|
53
|
+
};
|
|
54
|
+
function padWithZeroes(str, targetLength) {
|
|
55
|
+
if (!str) {
|
|
56
|
+
return "";
|
|
57
|
+
}
|
|
58
|
+
var _str = str + "";
|
|
59
|
+
while (_str.length < targetLength) {
|
|
60
|
+
_str = "0" + _str;
|
|
61
|
+
}
|
|
62
|
+
return _str;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export { NoUseQj, QunjDetail$1 as default };
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { __assign } from '../../_virtual/_tslib.js';
|
|
2
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
3
|
+
import { memo, useRef, useMemo } from 'react';
|
|
4
|
+
import MemoSelect from '../../select/select.js';
|
|
5
|
+
import InputNumber from '../../inputnumber/inputNumber.js';
|
|
6
|
+
import MemoDifferences from '../../collapse/collapse.js';
|
|
7
|
+
import { Checkbox, Radio } from 'antd';
|
|
8
|
+
|
|
9
|
+
var defaultQunjAddressList = [
|
|
10
|
+
{ id: "1", name: "杭州" },
|
|
11
|
+
{ id: "2", name: "长沙" },
|
|
12
|
+
];
|
|
13
|
+
var QunjList = function (props) {
|
|
14
|
+
var qunjList = props.qunjList, qunjSeal = props.qunjSeal, onChange = props.onChange, isContranctNum = props.isContranctNum, qunjChecked = props.qunjChecked, setQunjChecked = props.setQunjChecked, _a = props.qunjAddressList, qunjAddressList = _a === void 0 ? defaultQunjAddressList : _a, currentQunjAddress = props.currentQunjAddress, onQunjAddressChange = props.onQunjAddressChange, isQunjAddress = props.isQunjAddress, _b = props.isShowChecked, isShowChecked = _b === void 0 ? true : _b;
|
|
15
|
+
var contranctNumRef = useRef(null);
|
|
16
|
+
var _c = qunjSeal || {}, contranctNum = _c.contranctNum, isTakeOut = _c.isTakeOut, details = _c.details;
|
|
17
|
+
var qunjListTypeMemo = useMemo(function () {
|
|
18
|
+
var _a;
|
|
19
|
+
var newData = [];
|
|
20
|
+
var set = new Set();
|
|
21
|
+
(_a = qunjList === null || qunjList === void 0 ? void 0 : qunjList.forEach) === null || _a === void 0 ? void 0 : _a.call(qunjList, function (item, index) {
|
|
22
|
+
var useType = item.useType, useTypeName = item.useTypeName;
|
|
23
|
+
if (set.has(useType)) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
set.add(useType);
|
|
28
|
+
newData.push({
|
|
29
|
+
useType: useType,
|
|
30
|
+
useTypeName: useTypeName,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
return newData;
|
|
35
|
+
}, [qunjList]);
|
|
36
|
+
return (jsxs("div", __assign({ className: "qunj-list--wrap" }, { children: [jsxs("div", __assign({ className: "qunj-list--need" }, { children: [isShowChecked ? (jsx(Checkbox, __assign({ checked: qunjChecked, onChange: function (e) {
|
|
37
|
+
setQunjChecked && setQunjChecked(e.target.checked);
|
|
38
|
+
} }, { children: "\u7FA4\u6770\u5370\u7AE0-\u7528\u5370\u7533\u8BF7" }))) : null, isQunjAddress && isTakeOut + "" === "1" && qunjChecked ? (jsxs("div", __assign({ className: "qunj-list--area" }, { children: [jsxs("label", { children: [jsx("span", { children: "*" }), "\u76D6\u7AE0\u5730\u70B9"] }), jsx(MemoSelect, { style: { width: 108 }, list: qunjAddressList, size: "small", value: currentQunjAddress === null || currentQunjAddress === void 0 ? void 0 : currentQunjAddress.id, onChange: function (value, option, completeData) {
|
|
39
|
+
onQunjAddressChange(completeData);
|
|
40
|
+
} })] }))) : null] })), qunjChecked ? (jsxs(Fragment, { children: [jsxs("div", __assign({ className: "qunj-list--title" }, { children: [jsxs(Radio.Group, __assign({ value: isTakeOut, onChange: function (e) {
|
|
41
|
+
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
42
|
+
isTakeOut: e.target.value,
|
|
43
|
+
});
|
|
44
|
+
} }, { children: [jsx(Radio, __assign({ value: 0 }, { children: "\u5185\u90E8\u7528\u5370" })), jsx(Radio, __assign({ value: 1 }, { children: "\u5916\u90E8\u7528\u5370" }))] })), isContranctNum ? (jsxs("div", __assign({ className: "qunj-list--contract count" }, { children: [jsx("span", { children: "\u5408\u540C\u4EFD\u6570" }), jsx(InputNumber, { size: "small", value: contranctNum === null ? undefined : contranctNum, onChange: function (e) {
|
|
45
|
+
contranctNumRef.current = e;
|
|
46
|
+
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
47
|
+
contranctNum: contranctNumRef.current,
|
|
48
|
+
});
|
|
49
|
+
}, min: 1 }), "\u4EFD"] }))) : null] })), jsx("div", __assign({ className: "qunj-list" }, { children: (qunjList === null || qunjList === void 0 ? void 0 : qunjList.length) > 0 ? (jsx(MemoDifferences, __assign({ defaultActiveKey: qunjListTypeMemo.map(function (item) { return "".concat(item.useType); }), style: { width: "100%" } }, { children: qunjListTypeMemo.map(function (item) {
|
|
50
|
+
var _a;
|
|
51
|
+
return (jsx(MemoDifferences.Panel, __assign({ header: item.useTypeName }, { children: (_a = qunjList
|
|
52
|
+
.filter(function (qunjItem) {
|
|
53
|
+
return qunjItem.useType === item.useType &&
|
|
54
|
+
isFilterAreaType(currentQunjAddress === null || currentQunjAddress === void 0 ? void 0 : currentQunjAddress.id, qunjItem.areaType);
|
|
55
|
+
})) === null || _a === void 0 ? void 0 : _a.map(function (qunjItem) {
|
|
56
|
+
var _a, _b;
|
|
57
|
+
var sealNo = qunjItem.sealNo, sealName = qunjItem.sealName;
|
|
58
|
+
// redux数据所有属性都被冻结了,需要“深拷贝”。这里只有一层
|
|
59
|
+
var copyDetails = ((_b = (_a = details === null || details === void 0 ? void 0 : details.slice()) === null || _a === void 0 ? void 0 : _a.map) === null || _b === void 0 ? void 0 : _b.call(_a, function (detail) { return (__assign({}, detail)); })) || [];
|
|
60
|
+
var findItem = copyDetails === null || copyDetails === void 0 ? void 0 : copyDetails.find(function (detailItem) { return detailItem.sealNo === sealNo; });
|
|
61
|
+
return (jsxs("div", __assign({ className: "qunj-list--item" }, { children: [jsx(Checkbox, __assign({ value: sealNo, checked: !!findItem, onChange: function (e) {
|
|
62
|
+
// 当前操作是取消 还是 选中
|
|
63
|
+
var isChecked = e.target.checked;
|
|
64
|
+
// 如果是选中操作
|
|
65
|
+
if (isChecked) {
|
|
66
|
+
copyDetails.push(__assign(__assign({}, qunjItem), { sealCount: undefined }));
|
|
67
|
+
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
68
|
+
details: copyDetails,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
// 如果是取消操作
|
|
73
|
+
var index = copyDetails === null || copyDetails === void 0 ? void 0 : copyDetails.findIndex(function (detailItem) {
|
|
74
|
+
return detailItem.sealNo === sealNo;
|
|
75
|
+
});
|
|
76
|
+
copyDetails.splice(index, 1);
|
|
77
|
+
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
78
|
+
details: copyDetails,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
} }, { children: sealName })), jsxs("div", __assign({ className: "qunj-list--contract" }, { children: ["\u7528\u5370", jsx(InputNumber, { size: "small", value: findItem === null || findItem === void 0 ? void 0 : findItem.sealCount, min: 1, onChange: function (e) {
|
|
82
|
+
var index = copyDetails === null || copyDetails === void 0 ? void 0 : copyDetails.findIndex(function (detailItem) {
|
|
83
|
+
return detailItem.sealNo === sealNo;
|
|
84
|
+
});
|
|
85
|
+
// 如果没有在已选中找到数据
|
|
86
|
+
if (index === -1) {
|
|
87
|
+
copyDetails.push(__assign(__assign({}, qunjItem), { sealCount: e }));
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
var item_1 = copyDetails[index];
|
|
91
|
+
if (item_1) {
|
|
92
|
+
item_1.sealCount = e;
|
|
93
|
+
}
|
|
94
|
+
copyDetails.splice(index, 1, item_1);
|
|
95
|
+
}
|
|
96
|
+
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
97
|
+
details: copyDetails,
|
|
98
|
+
});
|
|
99
|
+
} }), "\u6B21"] }))] }), sealNo));
|
|
100
|
+
}) }), "".concat(item.useType)));
|
|
101
|
+
}) }))) : null }))] })) : null] })));
|
|
102
|
+
};
|
|
103
|
+
// 判断盖章地点过滤逻辑
|
|
104
|
+
// 如果是长沙那么只显示长沙章
|
|
105
|
+
function isFilterAreaType(currentAreaType, itemAreaType) {
|
|
106
|
+
// 如果当前没明确盖章地点 都显示
|
|
107
|
+
if (currentAreaType == null || itemAreaType == null) {
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
// 如果数据的盖章地点是所有区域,那么也显示
|
|
111
|
+
if (itemAreaType + "" === "0") {
|
|
112
|
+
return true;
|
|
113
|
+
}
|
|
114
|
+
if (currentAreaType + "" === itemAreaType + "") {
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
var QunjList$1 = memo(QunjList);
|
|
120
|
+
|
|
121
|
+
export { QunjList$1 as default, isFilterAreaType };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { useState, useCallback, useEffect } from 'react';
|
|
2
|
+
import { message } from 'antd';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 获取电子印章远程数据
|
|
6
|
+
*/
|
|
7
|
+
function useFetchQunjData(options) {
|
|
8
|
+
var request = options.request, needQj = options.needQj, flowId = options.flowId, companyTypes = options.companyTypes;
|
|
9
|
+
// 印章列表数据
|
|
10
|
+
var _a = useState(), qunjList = _a[0], setQunjList = _a[1];
|
|
11
|
+
// 获取群杰印章数据
|
|
12
|
+
var getQunjList = useCallback(function (flowId, params) {
|
|
13
|
+
return request === null || request === void 0 ? void 0 : request({
|
|
14
|
+
url: "/api/zmdms-resource/flowqjuse/query-qj-seal-list/".concat(flowId),
|
|
15
|
+
method: "GET",
|
|
16
|
+
params: params,
|
|
17
|
+
}).then(function (res) {
|
|
18
|
+
var _a;
|
|
19
|
+
if (res.status === 200 && res.data.code === 200) {
|
|
20
|
+
return (((_a = res.data.data) === null || _a === void 0 ? void 0 : _a.map(function (item, index) { return ({
|
|
21
|
+
sealName: item.sealName,
|
|
22
|
+
sealNo: item.sealNo,
|
|
23
|
+
areaType: item.areaType,
|
|
24
|
+
areaTypeName: item.areaTypeName,
|
|
25
|
+
useType: item.useType,
|
|
26
|
+
useTypeName: item.useTypeName,
|
|
27
|
+
}); })) || []);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
message.error(res.data.msg || "出错了");
|
|
31
|
+
}
|
|
32
|
+
}).catch(function (error) {
|
|
33
|
+
var _a, _b;
|
|
34
|
+
message.error(((_b = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.msg) || "请求失败!");
|
|
35
|
+
return Promise.reject(error);
|
|
36
|
+
});
|
|
37
|
+
}, [request]);
|
|
38
|
+
// 获取群杰印章列表数据
|
|
39
|
+
useEffect(function () {
|
|
40
|
+
// 如果不需要群杰数据
|
|
41
|
+
if (needQj + "" !== "1") {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
if (!flowId) {
|
|
45
|
+
message.info("请传入流程ID");
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
getQunjList(flowId, { companyTypes: companyTypes }).then(function (res) {
|
|
49
|
+
setQunjList(res);
|
|
50
|
+
});
|
|
51
|
+
}, [needQj, flowId, getQunjList, companyTypes]);
|
|
52
|
+
return {
|
|
53
|
+
/** 当前群杰列表数据 */
|
|
54
|
+
qunjList: qunjList,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export { useFetchQunjData as default };
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
import { __assign } from '../../_virtual/_tslib.js';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import QunjList, { isFilterAreaType } from './qunj-list.js';
|
|
4
|
+
import QunjDetail, { NoUseQj } from './qunj-detail.js';
|
|
5
|
+
import QunjCheck from './qunj-check.js';
|
|
6
|
+
import { getColumnMergeProp } from '../hooks/useParseRecords.js';
|
|
7
|
+
|
|
8
|
+
// 群杰印章的clomuns
|
|
9
|
+
function useQunjColumns(options) {
|
|
10
|
+
var records = options.records, dataTypeSort = options.dataTypeSort, allData = options.allData, contractNumFlowIds = options.contractNumFlowIds, refreshCode = options.refreshCode, request = options.request, isSingleQj = options.isSingleQj, isQjUseModal = options.isQjUseModal, apiBaseUrl = options.apiBaseUrl, caseId = options.caseId;
|
|
11
|
+
var qunjColumns = [
|
|
12
|
+
{
|
|
13
|
+
title: "群杰印章",
|
|
14
|
+
align: "center",
|
|
15
|
+
children: isSingleQj
|
|
16
|
+
? [
|
|
17
|
+
{
|
|
18
|
+
title: "盖群杰印章",
|
|
19
|
+
dataIndex: "isStampQunj",
|
|
20
|
+
key: "isStampQunj",
|
|
21
|
+
width: 100,
|
|
22
|
+
align: "center",
|
|
23
|
+
render: function (text, record, index) {
|
|
24
|
+
// 需要合并
|
|
25
|
+
var _a = getColumnMergeProp({
|
|
26
|
+
record: record,
|
|
27
|
+
index: index,
|
|
28
|
+
records: records,
|
|
29
|
+
dataTypeSort: dataTypeSort,
|
|
30
|
+
}), currentDataType = _a.currentDataType, preDataTypeRecordsLength = _a.preDataTypeRecordsLength;
|
|
31
|
+
var _b = allData[currentDataType] || {}, isEdit = _b.isEdit, fileFieldsNameRef = _b.fileFieldsNameRef, onIsStampQunjChange = _b.onIsStampQunjChange,
|
|
32
|
+
// 当前流程下的群杰章信息
|
|
33
|
+
qunjList = _b.qunjList,
|
|
34
|
+
// 是否显示合同分数
|
|
35
|
+
isContranctNum = _b.isContranctNum,
|
|
36
|
+
// 是否显示群杰章地址
|
|
37
|
+
isQunjAddress = _b.isQunjAddress, onQunjAddressSingleChange = _b.onQunjAddressSingleChange, onQunjSealSingleChange = _b.onQunjSealSingleChange;
|
|
38
|
+
var _c = (fileFieldsNameRef === null || fileFieldsNameRef === void 0 ? void 0 : fileFieldsNameRef.current) || {}, isQunj = _c.isQunj, qunjSeal = _c.qunjSeal, qunjAddress = _c.qunjAddress;
|
|
39
|
+
// 是否显示群杰印章信息
|
|
40
|
+
var isShowQunjDetail = isQunj
|
|
41
|
+
? record[isQunj] + "" === "1"
|
|
42
|
+
: false;
|
|
43
|
+
// 因为数据是按照类型来归类了,那么这个索引的长度 实际应该减去之前的所有数据类型的长度
|
|
44
|
+
var dataTypeIndex = index - preDataTypeRecordsLength;
|
|
45
|
+
// 当前选中的群杰章信息
|
|
46
|
+
var currentQunjSeal = qunjSeal ? record[qunjSeal] : null;
|
|
47
|
+
// 当前选中的盖章地址信息
|
|
48
|
+
var currentQunjAddress = qunjAddress
|
|
49
|
+
? record[qunjAddress]
|
|
50
|
+
: null;
|
|
51
|
+
return (jsx(QunjCheck, { disabled: !isEdit, checked: isShowQunjDetail, onChange: function (checked) {
|
|
52
|
+
onIsStampQunjChange === null || onIsStampQunjChange === void 0 ? void 0 : onIsStampQunjChange(checked, dataTypeIndex);
|
|
53
|
+
}, qunjList: qunjList, currentQunjSeal: currentQunjSeal, currentQunjAddress: currentQunjAddress, isContranctNum: isContranctNum, isQunjAddress: isQunjAddress, onQunjAddressSingleChange: function (data) {
|
|
54
|
+
var _a, _b, _c;
|
|
55
|
+
// 如果切换了盖章地点,需要将非当前地点的数据删除
|
|
56
|
+
var copyDetails = ((_c = (_b = (_a = currentQunjSeal === null || currentQunjSeal === void 0 ? void 0 : currentQunjSeal.details) === null || _a === void 0 ? void 0 : _a.slice()) === null || _b === void 0 ? void 0 : _b.map) === null || _c === void 0 ? void 0 : _c.call(_b, function (detail) { return (__assign({}, detail)); })) || [];
|
|
57
|
+
var newDetails = copyDetails.filter(function (qunjItem) {
|
|
58
|
+
return isFilterAreaType(data === null || data === void 0 ? void 0 : data.id, qunjItem.areaType);
|
|
59
|
+
});
|
|
60
|
+
var qunjSeal = {};
|
|
61
|
+
if (copyDetails.length !== newDetails.length) {
|
|
62
|
+
qunjSeal.details = newDetails;
|
|
63
|
+
}
|
|
64
|
+
onQunjAddressSingleChange === null || onQunjAddressSingleChange === void 0 ? void 0 : onQunjAddressSingleChange(data, dataTypeIndex, qunjSeal);
|
|
65
|
+
}, onQunjSealSingleChange: function (data) {
|
|
66
|
+
onQunjSealSingleChange === null || onQunjSealSingleChange === void 0 ? void 0 : onQunjSealSingleChange(data, dataTypeIndex);
|
|
67
|
+
} }));
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
title: "申请用章情况",
|
|
72
|
+
dataIndex: "qunjDetail",
|
|
73
|
+
key: "qunjDetail",
|
|
74
|
+
width: 260,
|
|
75
|
+
align: "center",
|
|
76
|
+
render: function (text, record, index) {
|
|
77
|
+
// 需要合并
|
|
78
|
+
var currentDataType = getColumnMergeProp({
|
|
79
|
+
record: record,
|
|
80
|
+
index: index,
|
|
81
|
+
records: records,
|
|
82
|
+
dataTypeSort: dataTypeSort,
|
|
83
|
+
}).currentDataType;
|
|
84
|
+
var fileFieldsNameRef = (allData[currentDataType] || {}).fileFieldsNameRef;
|
|
85
|
+
var _a = (fileFieldsNameRef === null || fileFieldsNameRef === void 0 ? void 0 : fileFieldsNameRef.current) || {}, isQunj = _a.isQunj, qunjSeal = _a.qunjSeal, qunjAddress = _a.qunjAddress;
|
|
86
|
+
// 是否显示群杰印章信息
|
|
87
|
+
var isShowQunjDetail = isQunj
|
|
88
|
+
? record[isQunj] + "" === "1"
|
|
89
|
+
: false;
|
|
90
|
+
// 当前选中的群杰章信息
|
|
91
|
+
var currentQunjSeal = qunjSeal ? record[qunjSeal] : null;
|
|
92
|
+
// 当前选中的盖章地址信息
|
|
93
|
+
var currentQunjAddress = qunjAddress
|
|
94
|
+
? record[qunjAddress]
|
|
95
|
+
: null;
|
|
96
|
+
// 公用信息获取
|
|
97
|
+
var _b = allData[currentDataType] || {}, isEdit = _b.isEdit,
|
|
98
|
+
// 当前流程下的群杰章信息
|
|
99
|
+
qunjList = _b.qunjList,
|
|
100
|
+
// 是否显示合同分数
|
|
101
|
+
isContranctNum = _b.isContranctNum,
|
|
102
|
+
// 是否显示群杰章地址
|
|
103
|
+
isQunjAddress = _b.isQunjAddress;
|
|
104
|
+
return isShowQunjDetail ? (jsx(QunjDetail, { qunjList: qunjList, qunjSeal: currentQunjSeal, isContranctNum: isContranctNum, isQunjAddress: isQunjAddress, currentQunjAddress: currentQunjAddress, isEdit: isEdit, refreshCode: refreshCode, request: request })) : null;
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
]
|
|
108
|
+
: isQjUseModal
|
|
109
|
+
? // 这种场景是群杰相对于整个合同,但是默认不显示印章
|
|
110
|
+
[
|
|
111
|
+
{
|
|
112
|
+
title: "盖群杰印章",
|
|
113
|
+
dataIndex: "isStampQunj",
|
|
114
|
+
key: "isStampQunj",
|
|
115
|
+
width: 100,
|
|
116
|
+
align: "center",
|
|
117
|
+
onCell: function (record, index) {
|
|
118
|
+
var props = getColumnMergeProp({
|
|
119
|
+
record: record,
|
|
120
|
+
index: index,
|
|
121
|
+
records: records,
|
|
122
|
+
dataTypeSort: dataTypeSort,
|
|
123
|
+
}).props;
|
|
124
|
+
return props;
|
|
125
|
+
},
|
|
126
|
+
render: function (text, record, index) {
|
|
127
|
+
var _a;
|
|
128
|
+
// 需要合并
|
|
129
|
+
var currentDataType = getColumnMergeProp({
|
|
130
|
+
record: record,
|
|
131
|
+
index: index,
|
|
132
|
+
records: records,
|
|
133
|
+
dataTypeSort: dataTypeSort,
|
|
134
|
+
}).currentDataType;
|
|
135
|
+
var _b = allData[currentDataType] || {}, isEdit = _b.isEdit, qunjList = _b.qunjList, currentQunjSeal = _b.currentQunjSeal, onQunjSealChange = _b.onQunjSealChange, needQj = _b.needQj, isContranctNum = _b.isContranctNum, qunjChecked = _b.qunjChecked, setQunjChecked = _b.setQunjChecked, currentQunjAddress = _b.currentQunjAddress, onQunjAddressChange = _b.onQunjAddressChange, isQunjAddress = _b.isQunjAddress;
|
|
136
|
+
// 是否显示群杰印章信息 如果非编辑状态下,使用数据中的字段来判断是否选择了群杰印章
|
|
137
|
+
var isShowQunjDetail = !isEdit
|
|
138
|
+
? (currentQunjSeal === null || currentQunjSeal === void 0 ? void 0 : currentQunjSeal.details) &&
|
|
139
|
+
((_a = currentQunjSeal === null || currentQunjSeal === void 0 ? void 0 : currentQunjSeal.details) === null || _a === void 0 ? void 0 : _a.length) !== 0
|
|
140
|
+
: qunjChecked;
|
|
141
|
+
return !needQj ? (jsx(NoUseQj, {})) : (jsx(QunjCheck, { disabled: !isEdit, checked: isShowQunjDetail, onChange: function (checked) {
|
|
142
|
+
setQunjChecked && setQunjChecked(checked);
|
|
143
|
+
}, qunjList: qunjList, currentQunjSeal: currentQunjSeal, currentQunjAddress: currentQunjAddress, isContranctNum: isContranctNum, isQunjAddress: isQunjAddress, onQunjAddressSingleChange: function (data) {
|
|
144
|
+
var _a, _b, _c;
|
|
145
|
+
// 如果切换了盖章地点,需要将非当前地点的数据删除
|
|
146
|
+
var copyDetails = ((_c = (_b = (_a = currentQunjSeal === null || currentQunjSeal === void 0 ? void 0 : currentQunjSeal.details) === null || _a === void 0 ? void 0 : _a.slice()) === null || _b === void 0 ? void 0 : _b.map) === null || _c === void 0 ? void 0 : _c.call(_b, function (detail) { return (__assign({}, detail)); })) || [];
|
|
147
|
+
var newDetails = copyDetails.filter(function (qunjItem) {
|
|
148
|
+
return isFilterAreaType(data === null || data === void 0 ? void 0 : data.id, qunjItem.areaType);
|
|
149
|
+
});
|
|
150
|
+
var qunjSeal = {};
|
|
151
|
+
if (copyDetails.length !== newDetails.length) {
|
|
152
|
+
qunjSeal.details = newDetails;
|
|
153
|
+
}
|
|
154
|
+
onQunjAddressChange &&
|
|
155
|
+
onQunjAddressChange(data, { qunjSeal: qunjSeal });
|
|
156
|
+
}, onQunjSealSingleChange: function (data) {
|
|
157
|
+
onQunjSealChange && onQunjSealChange(data);
|
|
158
|
+
} }));
|
|
159
|
+
},
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
title: "申请用章情况",
|
|
163
|
+
dataIndex: "qunjDetail",
|
|
164
|
+
key: "qunjDetail",
|
|
165
|
+
width: 260,
|
|
166
|
+
align: "center",
|
|
167
|
+
onCell: function (record, index) {
|
|
168
|
+
var props = getColumnMergeProp({
|
|
169
|
+
record: record,
|
|
170
|
+
index: index,
|
|
171
|
+
records: records,
|
|
172
|
+
dataTypeSort: dataTypeSort,
|
|
173
|
+
}).props;
|
|
174
|
+
return props;
|
|
175
|
+
},
|
|
176
|
+
render: function (text, record, index) {
|
|
177
|
+
var _a;
|
|
178
|
+
// 需要合并
|
|
179
|
+
var currentDataType = getColumnMergeProp({
|
|
180
|
+
record: record,
|
|
181
|
+
index: index,
|
|
182
|
+
records: records,
|
|
183
|
+
dataTypeSort: dataTypeSort,
|
|
184
|
+
}).currentDataType;
|
|
185
|
+
// 公用信息获取
|
|
186
|
+
var _b = allData[currentDataType] || {}, isEdit = _b.isEdit,
|
|
187
|
+
// 当前流程下的群杰章信息
|
|
188
|
+
qunjList = _b.qunjList,
|
|
189
|
+
// 是否显示合同分数
|
|
190
|
+
isContranctNum = _b.isContranctNum,
|
|
191
|
+
// 是否显示群杰章地址
|
|
192
|
+
isQunjAddress = _b.isQunjAddress, currentQunjSeal = _b.currentQunjSeal, qunjChecked = _b.qunjChecked, currentQunjAddress = _b.currentQunjAddress;
|
|
193
|
+
// 是否显示群杰印章信息 如果非编辑状态下,使用数据中的字段来判断是否选择了群杰印章
|
|
194
|
+
var isShowQunjDetail = !isEdit
|
|
195
|
+
? (currentQunjSeal === null || currentQunjSeal === void 0 ? void 0 : currentQunjSeal.details) &&
|
|
196
|
+
((_a = currentQunjSeal === null || currentQunjSeal === void 0 ? void 0 : currentQunjSeal.details) === null || _a === void 0 ? void 0 : _a.length) !== 0
|
|
197
|
+
: qunjChecked;
|
|
198
|
+
return isShowQunjDetail ? (jsx(QunjDetail, { qunjList: qunjList, qunjSeal: currentQunjSeal, isContranctNum: isContranctNum, isQunjAddress: isQunjAddress, currentQunjAddress: currentQunjAddress, isEdit: isEdit, refreshCode: refreshCode, request: request, apiBaseUrl: apiBaseUrl, caseId: caseId })) : null;
|
|
199
|
+
},
|
|
200
|
+
},
|
|
201
|
+
]
|
|
202
|
+
: [
|
|
203
|
+
{
|
|
204
|
+
title: jsx("div", { children: "\u7FA4\u6770\u7528\u5370\u7533\u8BF7" }),
|
|
205
|
+
dataIndex: "isStampQunj",
|
|
206
|
+
key: "isStampQunj",
|
|
207
|
+
width: 420,
|
|
208
|
+
align: "center",
|
|
209
|
+
onCell: function (record, index) {
|
|
210
|
+
var props = getColumnMergeProp({
|
|
211
|
+
record: record,
|
|
212
|
+
index: index,
|
|
213
|
+
records: records,
|
|
214
|
+
dataTypeSort: dataTypeSort,
|
|
215
|
+
}).props;
|
|
216
|
+
return props;
|
|
217
|
+
},
|
|
218
|
+
render: function (text, record, index) {
|
|
219
|
+
// 需要合并
|
|
220
|
+
var currentDataType = getColumnMergeProp({
|
|
221
|
+
record: record,
|
|
222
|
+
index: index,
|
|
223
|
+
records: records,
|
|
224
|
+
dataTypeSort: dataTypeSort,
|
|
225
|
+
}).currentDataType;
|
|
226
|
+
var _a = allData[currentDataType] || {}, isEdit = _a.isEdit, qunjList = _a.qunjList, currentQunjSeal = _a.currentQunjSeal, onQunjSealChange = _a.onQunjSealChange, needQj = _a.needQj, isContranctNum = _a.isContranctNum, qunjChecked = _a.qunjChecked, setQunjChecked = _a.setQunjChecked, qunjAddressList = _a.qunjAddressList, currentQunjAddress = _a.currentQunjAddress, onQunjAddressChange = _a.onQunjAddressChange, isQunjAddress = _a.isQunjAddress;
|
|
227
|
+
return !needQj ? (jsx(NoUseQj, {})) : isEdit ? (jsx(QunjList, { qunjList: qunjList, contractNumFlowIds: contractNumFlowIds, qunjSeal: currentQunjSeal, onChange: onQunjSealChange, isContranctNum: isContranctNum, qunjChecked: qunjChecked, setQunjChecked: setQunjChecked, qunjAddressList: qunjAddressList, currentQunjAddress: currentQunjAddress, onQunjAddressChange: function (data) {
|
|
228
|
+
var _a, _b, _c;
|
|
229
|
+
// 如果切换了盖章地点,需要将非当前地点的数据删除
|
|
230
|
+
var copyDetails = ((_c = (_b = (_a = currentQunjSeal === null || currentQunjSeal === void 0 ? void 0 : currentQunjSeal.details) === null || _a === void 0 ? void 0 : _a.slice()) === null || _b === void 0 ? void 0 : _b.map) === null || _c === void 0 ? void 0 : _c.call(_b, function (detail) { return (__assign({}, detail)); })) || [];
|
|
231
|
+
var newDetails = copyDetails.filter(function (qunjItem) {
|
|
232
|
+
return isFilterAreaType(data === null || data === void 0 ? void 0 : data.id, qunjItem.areaType);
|
|
233
|
+
});
|
|
234
|
+
var qunjSeal = {};
|
|
235
|
+
if (copyDetails.length !== newDetails.length) {
|
|
236
|
+
qunjSeal.details = newDetails;
|
|
237
|
+
}
|
|
238
|
+
onQunjAddressChange &&
|
|
239
|
+
onQunjAddressChange(data, { qunjSeal: qunjSeal });
|
|
240
|
+
}, isQunjAddress: isQunjAddress })) : (jsx(QunjDetail, { qunjList: qunjList, qunjSeal: currentQunjSeal, isContranctNum: isContranctNum, isQunjAddress: isQunjAddress, currentQunjAddress: currentQunjAddress, refreshCode: refreshCode, request: request }));
|
|
241
|
+
},
|
|
242
|
+
},
|
|
243
|
+
],
|
|
244
|
+
},
|
|
245
|
+
];
|
|
246
|
+
return {
|
|
247
|
+
qunjColumns: qunjColumns,
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
export { useQunjColumns as default };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/** 需要存样板合同类型 采购合同 销售合同 双边合同 */
|
|
2
|
+
/** 采购合同 销售合同 双边合同 部门间交易合同 */
|
|
3
|
+
var FLOW_IDS = [
|
|
4
|
+
"scm_order_contract_cght",
|
|
5
|
+
"scm_order_contract_xsht",
|
|
6
|
+
"scm_order_contract_sbht",
|
|
7
|
+
"scm_order_contract_bjjyht",
|
|
8
|
+
];
|
|
9
|
+
/** 如果仅需要群杰印章的话 */
|
|
10
|
+
var onlyQunjAttachId = "123456789";
|
|
11
|
+
var detailOnlyQunjAttachId = "1234567891";
|
|
12
|
+
function currentRecordIsOnlyQunj(record) {
|
|
13
|
+
return ((record === null || record === void 0 ? void 0 : record.attachId) + "" === onlyQunjAttachId ||
|
|
14
|
+
(record === null || record === void 0 ? void 0 : record.attachId) + "" === detailOnlyQunjAttachId);
|
|
15
|
+
}
|
|
16
|
+
function isFlowCompleted(flowStatus) {
|
|
17
|
+
return flowStatus + "" === "50";
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* 将字节数加上合适的单位
|
|
21
|
+
* @param numBytes 字节数
|
|
22
|
+
* @returns
|
|
23
|
+
*/
|
|
24
|
+
function formatUnit(numBytes) {
|
|
25
|
+
var _numBytes = Number(numBytes);
|
|
26
|
+
if (isNaN(_numBytes)) {
|
|
27
|
+
return numBytes;
|
|
28
|
+
}
|
|
29
|
+
var units = ["B", "KB", "MB", "GB", "TB"];
|
|
30
|
+
var unitIndex = 0;
|
|
31
|
+
while (_numBytes >= 1024 && unitIndex < units.length - 1) {
|
|
32
|
+
_numBytes /= 1024;
|
|
33
|
+
unitIndex++;
|
|
34
|
+
}
|
|
35
|
+
return _numBytes.toFixed(2) + units[unitIndex];
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 获取文件名中的后缀 返回文件名 + 后缀
|
|
39
|
+
* @param fileName 文件名
|
|
40
|
+
* @returns
|
|
41
|
+
*/
|
|
42
|
+
function getFileExtension(fileName) {
|
|
43
|
+
if (!fileName) {
|
|
44
|
+
return ["", ""];
|
|
45
|
+
}
|
|
46
|
+
var lastPointIndex = fileName.lastIndexOf("."); // 从最后取点
|
|
47
|
+
if (lastPointIndex === -1) {
|
|
48
|
+
return [fileName, ""];
|
|
49
|
+
}
|
|
50
|
+
var filePreName = fileName.substring(0, lastPointIndex); // 前面的名字
|
|
51
|
+
var fileExtension = fileName.substring(lastPointIndex + 1).toLowerCase(); // 后面的文件后缀
|
|
52
|
+
return [filePreName, fileExtension];
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export { FLOW_IDS, currentRecordIsOnlyQunj, detailOnlyQunjAttachId, formatUnit, getFileExtension, isFlowCompleted, onlyQunjAttachId };
|
package/dist/index.build.d.ts
CHANGED
|
@@ -45,6 +45,7 @@ export { default as Alert } from './es/alert/alert.js';
|
|
|
45
45
|
export { default as ZtTransfer } from './es/zttransfer/zt-transfer.js';
|
|
46
46
|
export { default as Watermark } from './es/watermark/watermark.js';
|
|
47
47
|
export { default as Sortable } from './es/sortable/sortable.js';
|
|
48
|
+
export { default as ElectronSignatures } from './es/electronsignatures/index.js';
|
|
48
49
|
export { Affix, Anchor, AutoComplete, Avatar, BackTop, Badge, Breadcrumb, Card, Carousel, Cascader, Checkbox, Col, Comment, ConfigProvider, Divider, Drawer, Dropdown, Empty, Grid, Image, Layout, List, Mentions, Menu, PageHeader, Popconfirm, Popover, Progress, Radio, Rate, Result, Row, Segmented, Skeleton, Slider, Space, Spin, Statistic, Steps, Switch, Timeline, Tooltip, Transfer, Typography, Upload, message, notification } from 'antd';
|
|
49
50
|
export { IButtonProps } from './es/button/interface.js';
|
|
50
51
|
export { IButtonDownloadProps } from './es/button/buttonDownload.js';
|