ztxkui 3.1.3 → 3.1.6
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/DemoCom/SinaturesDemo.js +110 -18
- package/dist/DemoCom/TableDemo.js +138 -36
- package/dist/components/Table/hooks/useColumns.d.ts +17 -1
- package/dist/components/Table/hooks/useColumns.js +88 -7
- package/dist/components/Table/index.d.ts +28 -4
- package/dist/components/Table/index.js +4 -1
- package/dist/components/Table/table-enhance-cell.js +18 -3
- package/dist/components/Table/table-resizable-title.d.ts +11 -0
- package/dist/components/Table/table-resizable-title.js +39 -0
- package/dist/components/Table/table.d.ts +15 -0
- package/dist/components/Table/table.js +189 -31
- package/dist/components/Table/utils/dom.d.ts +7 -0
- package/dist/components/Table/utils/dom.js +24 -0
- package/dist/components/Table/utils/validate.d.ts +1 -0
- package/dist/components/Table/utils/validate.js +151 -0
- package/dist/components/business/NewList/item.d.ts +3 -0
- package/dist/components/business/NewList/item.js +7 -3
- package/dist/components/business/Signatures/components/CompareResult.d.ts +0 -2
- package/dist/components/business/Signatures/components/CompareResult.js +15 -17
- package/dist/components/business/Signatures/components/ElectronicSeal.js +1 -1
- package/dist/components/business/Signatures/components/QunjSeal.js +2 -1
- package/dist/components/business/Signatures/components/TemplateAttach.d.ts +1 -1
- package/dist/components/business/Signatures/components/TemplateAttach.js +4 -7
- package/dist/components/business/Signatures/index.js +60 -13
- package/dist/components/business/Signatures/props.d.ts +1 -1
- package/dist/components/business/Signatures/utils.d.ts +2 -1
- package/dist/components/business/Signatures/utils.js +7 -1
- package/dist/index.css +25 -0
- package/dist/index.css.map +1 -1
- package/package.json +2 -1
|
@@ -1,29 +1,123 @@
|
|
|
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
|
+
};
|
|
1
48
|
/**
|
|
2
49
|
* @author 陈亚雄
|
|
3
50
|
* @description
|
|
4
51
|
*/
|
|
5
52
|
import React, { useRef, useState } from 'react';
|
|
6
|
-
import { stringify } from 'qs';
|
|
7
53
|
// redux
|
|
8
54
|
// ztxkui公共组件
|
|
9
55
|
import { Sinatures } from '../index';
|
|
10
56
|
import Template from './Template';
|
|
57
|
+
import { stringify } from 'qs';
|
|
11
58
|
// 路由配置
|
|
12
59
|
// store
|
|
13
60
|
// 自定义组件
|
|
14
61
|
// 其他文件
|
|
62
|
+
var ZT_API_BASEURL = 'http://192.168.0.83:8000';
|
|
63
|
+
var token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJtZW1iZXJfdHlwZSI6MSwiaGFuZGxlX2hyX3Bob25lIjpudWxsLCJyZXN1bWVfZGF0ZSI6bnVsbCwidXNlcl9uYW1lIjoi5ZGo54Sw5rW3IiwiZW1wX25hbWUiOiLlkajnhLDmtbciLCJlbXBfbnVtYmVyIjoiWUcyMjA1MDAyIiwiaW10X2lkIjpudWxsLCJyZWFsX25hbWUiOiLlkajnhLDmtbciLCJjbGllbnRfdHlwZSI6IndlYiIsImRhdGFfcm9sZV9pZCI6IjEzNDU5Nzg1MDUzMDIwNTY5NjIsMTQ2ODAzNTM1MTYyNTI4NTYzNCIsImNsaWVudF9pZCI6InN3b3JkIiwidXNlcl90eXBlIjoid2ViIiwicm9sZV9pZCI6IjE0NDY4MTk0NjM2OTM4NDQ0ODIsMTQ2NzAxNTk3NTQ4NDc2MDA2NiwxNDY4MDM0NDM3MTU3OTYxNzI5IiwicG9zdF9uYW1lIjpudWxsLCJzY29wZSI6WyJhbGwiXSwiaW50ZXJ2aWV3X2lkIjpudWxsLCJleHAiOjE2NTcxNzkzMTMsIm9yZ19uYW1lIjoi5rWZ5ZWG5Lit5ouT6ZuG5Zui6IKh5Lu95pyJ6ZmQ5YWs5Y-4IiwianRpIjoiZWQ1YjMwMGEtNGYwOC00MWEzLTgxNWItYWY5Yjg2NDdjY2UyIiwibWVtYmVyX2lkIjoxNTI2MTEwOTQ1Mjk4MjcyMjU3LCJjb21wYW55X2lkIjoxNDE1ODM3OTkxNzAxMDM3MDU3LCJzeXN0ZW1faWQiOiIzIiwiZGVwdF9uYW1lIjoi5rWZ5ZWG5Lit5ouTLeW3peeoi-mFjemAgeS6jOmDqCIsImF2YXRhciI6IiIsImRhdGFfcm9sZV9uYW1lIjoiYWRtaW4sYWRtaW4iLCJhdXRob3JpdGllcyI6WyJhZG1pbiIsInVzZXIiLCJhZG1pbmlzdHJhdG9yIl0sInJvbGVfbmFtZSI6ImFkbWluaXN0cmF0b3IsdXNlcixhZG1pbiIsInJlc3VtZV90ZW1wbGF0ZSI6bnVsbCwibGljZW5zZSI6InBvd2VyZWQgYnkgem1kbXMiLCJwb3N0X2lkIjoiIiwidXNlcl9pZCI6IjE1MjYxMTEzMTgwNDYwNjg3MzciLCJvcmdfaWQiOjE0NTc1Mjc3NjU5MTg1MTUyMDEsIm5pY2tfbmFtZSI6IuWRqOeEsOa1tyIsImNvbXBhbnlfbmFtZSI6Iua1meWVhuS4reaLk-mbhuWbouiCoeS7veaciemZkOWFrOWPuCIsImRlcHRfaWQiOiIxNDE0ODUyODQ3MDM1MDAyODgxIiwiaGFuZGxlX2hyX25hbWUiOm51bGwsImFjY291bnQiOiLlkajnhLDmtbciLCJyZXN1bWVfaWQiOm51bGx9.X-apyMFUmkzRQqFLCXA3nF6u36ShH1OLHWE7boj5CBQ';
|
|
15
64
|
/**
|
|
16
65
|
* @description 封装请求方法
|
|
17
66
|
*/
|
|
18
|
-
function myRequest(
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
67
|
+
function myRequest(url, params, method) {
|
|
68
|
+
var _this = this;
|
|
69
|
+
if (params === void 0) { params = null; }
|
|
70
|
+
if (method === void 0) { method = 'GET'; }
|
|
71
|
+
return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
|
|
72
|
+
var headers, config, response, error_1;
|
|
73
|
+
return __generator(this, function (_a) {
|
|
74
|
+
switch (_a.label) {
|
|
75
|
+
case 0:
|
|
76
|
+
headers = {
|
|
77
|
+
'Zmdms-Auth': token,
|
|
78
|
+
};
|
|
79
|
+
config = {
|
|
80
|
+
headers: headers,
|
|
81
|
+
};
|
|
82
|
+
// 判断请求类型
|
|
83
|
+
if (method === 'GET') {
|
|
84
|
+
if (params) {
|
|
85
|
+
url += '?' + stringify(params);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else if (method === 'POST') {
|
|
89
|
+
config = {
|
|
90
|
+
method: method,
|
|
91
|
+
headers: __assign({ 'Content-Type': 'application/json', Authorization: 'Basic c3dvcmQ6c3dvcmRfc2VjcmV0' }, config.headers),
|
|
92
|
+
};
|
|
93
|
+
if (params) {
|
|
94
|
+
config = __assign(__assign({}, config), { body: JSON.stringify(params) });
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
_a.label = 1;
|
|
98
|
+
case 1:
|
|
99
|
+
_a.trys.push([1, 3, , 4]);
|
|
100
|
+
return [4 /*yield*/, fetch(ZT_API_BASEURL + "/" + url, __assign({}, config))];
|
|
101
|
+
case 2:
|
|
102
|
+
response = _a.sent();
|
|
103
|
+
response
|
|
104
|
+
.json()
|
|
105
|
+
.then(function (res) {
|
|
106
|
+
resolve(res);
|
|
107
|
+
})
|
|
108
|
+
.catch(function (error) {
|
|
109
|
+
reject(error);
|
|
110
|
+
});
|
|
111
|
+
return [3 /*break*/, 4];
|
|
112
|
+
case 3:
|
|
113
|
+
error_1 = _a.sent();
|
|
114
|
+
reject(error_1);
|
|
115
|
+
return [3 /*break*/, 4];
|
|
116
|
+
case 4: return [2 /*return*/];
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
}); });
|
|
25
120
|
}
|
|
26
|
-
var token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJtZW1iZXJfdHlwZSI6MSwiaGFuZGxlX2hyX3Bob25lIjpudWxsLCJyZXN1bWVfZGF0ZSI6bnVsbCwidXNlcl9uYW1lIjoiY2hlbnl4IiwiZW1wX25hbWUiOiLpmYjkuprpm4QiLCJlbXBfbnVtYmVyIjoiMDAwMTcwODkiLCJpbXRfaWQiOm51bGwsInJlYWxfbmFtZSI6IumZiOS6mumbhCIsImNsaWVudF90eXBlIjoid2ViIiwiZGF0YV9yb2xlX2lkIjoiMTM0NTk3ODUwNTMwMjA1Njk2MiwxNDEyNjE0MTEwNjQ3Mzg2MTE0LDE0MTI2MTU2NzcxMTkyNjY4MTcsMTQ0ODEyMTA4NjUwNDMwMDU0NiwxNDUyODIwMjkzODAyNzEzMDkwLDE0NTM5MjUwMDE1MzE0NzgwMTcsMTQ1ODcxMjA4MjA4MjM1NzI1MCwxNDU4ODI2MjM4MTg1ODg5Nzk0LDE0NTg4Mjc3MDEwMTIzMjQzNTMsMTQ1ODgyODM2MDgwMTUwOTM3NywxNDYwMDg5MjYyMDEyMDMwOTc3LDE0NjExMzc3ODg2NDUxMjYxNDYsMTQ2ODAzNTM1MTYyNTI4NTYzNCIsImNsaWVudF9pZCI6InN3b3JkIiwidXNlcl90eXBlIjoid2ViIiwicm9sZV9pZCI6IjExMjM1OTg4MTY3Mzg2NzUyMDEsMTQxMjYwODc0Mjk1MzI4NzY4MiwxNDM4MzIyNTQzMjk1OTI2Mjc0LDE0NDM0NzU0NzU5NzI3MzQ5NzcsMTQ0NjgxOTQ2MzY5Mzg0NDQ4MiwxNDYwMDg1NDI2ODE1OTUwODQ5LDE0NjI2MjI5OTIzNzUyMDk5ODYsMTQ2NzAxNTk3NTQ4NDc2MDA2NiwxNDY4MDM0NDM3MTU3OTYxNzI5LDE0NzI4NDA2NzY4MjQwMTg5NDUiLCJwb3N0X25hbWUiOm51bGwsInNjb3BlIjpbImFsbCJdLCJpbnRlcnZpZXdfaWQiOm51bGwsImV4cCI6MTY1NjQ4ODE5Mywib3JnX25hbWUiOm51bGwsImp0aSI6ImNlYWEyYTMxLWU2NDEtNDhiNy1iNjFlLWU2MmY1OWRiNDk3ZCIsIm1lbWJlcl9pZCI6MTM0NTk5Mjg3ODE2MjY0OTA5MCwiY29tcGFueV9pZCI6MTI5NTkwODYyNzk4NDY3MDcyMiwic3lzdGVtX2lkIjpudWxsLCJkZXB0X25hbWUiOiLkuJrliqHkuIDpg6giLCJhdmF0YXIiOiIiLCJkYXRhX3JvbGVfbmFtZSI6ImFkbWluLHVzZXIsdXNlcixhZG1pbixhZG1pbix1c2VyLHVzZXIsdXNlcix1c2VyLHVzZXIsdXNlcix1c2VyLGFkbWluIiwiYXV0aG9yaXRpZXMiOlsiYWRtaW4iLCJ1c2VyIiwiYWRtaW5pc3RyYXRvciJdLCJyb2xlX25hbWUiOiJhZG1pbmlzdHJhdG9yLHVzZXIsYWRtaW5pc3RyYXRvcixhZG1pbixhZG1pbmlzdHJhdG9yLHVzZXIsdXNlcix1c2VyLGFkbWluLHVzZXIiLCJyZXN1bWVfdGVtcGxhdGUiOm51bGwsImxpY2Vuc2UiOiJwb3dlcmVkIGJ5IHptZG1zIiwicG9zdF9pZCI6IiIsInVzZXJfaWQiOiIxNDEyOTUzODA0MzMzNTU1NzE0Iiwib3JnX2lkIjpudWxsLCJuaWNrX25hbWUiOiLpmYjkuprpm4QiLCJjb21wYW55X25hbWUiOiLmtZnllYbkuK3mi5Ppm4blm6LvvIjph43luobvvInmnInpmZDlhazlj7giLCJkZXB0X2lkIjoiMTM5NzA4MTkzMDMyODQyNDQ0OSIsImhhbmRsZV9ocl9uYW1lIjpudWxsLCJhY2NvdW50IjoiY2hlbnl4IiwicmVzdW1lX2lkIjpudWxsfQ.xvUZAA0tLrpNTPK5nRhihdSyQbTQyAmcOJS724OUnHY';
|
|
27
121
|
var list = [
|
|
28
122
|
{
|
|
29
123
|
attachId: '1326475920778194945',
|
|
@@ -68,10 +162,12 @@ var qunjSeal = {
|
|
|
68
162
|
],
|
|
69
163
|
};
|
|
70
164
|
var electronicSealList = [
|
|
71
|
-
{ name: '浙商中拓集团(上海)合同专用章' },
|
|
72
|
-
{ name: '浙商/浙江中拓法人签字章' },
|
|
165
|
+
{ name: '浙商中拓集团(上海)合同专用章', id: '2980019783467188885' },
|
|
166
|
+
{ name: '浙商/浙江中拓法人签字章', id: '2980019871597904544' },
|
|
167
|
+
];
|
|
168
|
+
var electronicSeal = [
|
|
169
|
+
{ name: '浙商中拓集团(上海)合同专用章', id: '2980019783467188885' },
|
|
73
170
|
];
|
|
74
|
-
var electronicSeal = ['浙商中拓集团(上海)合同专用章'];
|
|
75
171
|
var SinaturesDemo = function () {
|
|
76
172
|
var _a = useState(0), rIndex = _a[0], setRIndex = _a[1];
|
|
77
173
|
var openCustomerModalHandle = function (index) {
|
|
@@ -82,15 +178,11 @@ var SinaturesDemo = function () {
|
|
|
82
178
|
var handleRef = useRef({});
|
|
83
179
|
var templateRef = useRef({});
|
|
84
180
|
return (React.createElement("div", null,
|
|
85
|
-
React.createElement(Sinatures, { isUpdate: true, fileList: list, fileTypeList: fileTypeList, qunjSealList: qunjSealList, qunjSeal: qunjSeal, electronicSealList: electronicSealList, electronicSeal: electronicSeal, ZT_API_BASEURL:
|
|
181
|
+
React.createElement(Sinatures, { isUpdate: true, fileList: list, fileTypeList: fileTypeList, qunjSealList: qunjSealList, qunjSeal: qunjSeal, electronicSealList: electronicSealList, electronicSeal: electronicSeal, ZT_API_BASEURL: ZT_API_BASEURL, ZT_FILE_BASEURL: "http://192.168.0.83:88", token: token, openCustomerModalHandle: openCustomerModalHandle, handleRef: handleRef, request: myRequest, compareTaskUrl: "api/zmdms-resource/seal/create-compare-task", queryCompareTaskUrl: "api/zmdms-resource/seal/query-compare-task", downloadCompareFileUrl: "api/zmdms-resource/seal/download-compare-file" }),
|
|
86
182
|
React.createElement(Template, { handleRef: handleRef, rIndex: rIndex, templateRef: templateRef }),
|
|
87
183
|
React.createElement("button", { onClick: function () {
|
|
88
184
|
var _a;
|
|
89
185
|
console.log((_a = handleRef.current) === null || _a === void 0 ? void 0 : _a.getData());
|
|
90
|
-
} }, "\u83B7\u53D6\u6570\u636E")
|
|
91
|
-
React.createElement("button", { onClick: function () {
|
|
92
|
-
var _a;
|
|
93
|
-
console.log((_a = handleRef.current) === null || _a === void 0 ? void 0 : _a.getData());
|
|
94
|
-
} }, "\u76D6\u7AE0")));
|
|
186
|
+
} }, "\u83B7\u53D6\u6570\u636E")));
|
|
95
187
|
};
|
|
96
188
|
export default SinaturesDemo;
|
|
@@ -9,6 +9,42 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
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
|
+
};
|
|
12
48
|
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
13
49
|
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
14
50
|
to[j] = from[i];
|
|
@@ -17,7 +53,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
|
17
53
|
import React, { useEffect, useState, useCallback, useRef } from 'react';
|
|
18
54
|
import Table from 'components/Table';
|
|
19
55
|
import EnhanceSelect from 'components/EnhanceSelect';
|
|
20
|
-
import { OperationBtnGroup, Empty, Button } from '../index';
|
|
56
|
+
import { OperationBtnGroup, Empty, Button, message } from '../index';
|
|
21
57
|
import MaterialComp, {
|
|
22
58
|
// clearData,
|
|
23
59
|
clearDataFn,
|
|
@@ -444,6 +480,20 @@ var TableDemo = function () {
|
|
|
444
480
|
var _e = useState(false), lengthChange = _e[0], setLengthChange = _e[1];
|
|
445
481
|
// 表格行拖拽改变
|
|
446
482
|
var _f = useState(false), moveChange = _f[0], setMoveChange = _f[1];
|
|
483
|
+
// 表格配置
|
|
484
|
+
var _g = useState({
|
|
485
|
+
materialId: { isChangeable: 1, isDisplay: 1, isRequired: 1 },
|
|
486
|
+
test1: { isChangeable: 1, isDisplay: 1, isRequired: 1 },
|
|
487
|
+
}), tableConfig = _g[0], setTableConfig = _g[1];
|
|
488
|
+
useEffect(function () {
|
|
489
|
+
setTimeout(function () {
|
|
490
|
+
setTableConfig({
|
|
491
|
+
materialId: { isChangeable: 1, isDisplay: 1, isRequired: 0 },
|
|
492
|
+
test1: { isChangeable: 1, isDisplay: 1, isRequired: 1 },
|
|
493
|
+
test2: { isChangeable: 1, isDisplay: 1, isRequired: 1 },
|
|
494
|
+
});
|
|
495
|
+
}, 5000);
|
|
496
|
+
}, []);
|
|
447
497
|
useEffect(function () {
|
|
448
498
|
setFirstRender(true);
|
|
449
499
|
}, []);
|
|
@@ -466,6 +516,7 @@ var TableDemo = function () {
|
|
|
466
516
|
width: 100,
|
|
467
517
|
dataIndex: 'materialId',
|
|
468
518
|
key: 'materialId',
|
|
519
|
+
validate: {},
|
|
469
520
|
shouldCellUpdate: function (record, preRecord) {
|
|
470
521
|
if (lengthChange) {
|
|
471
522
|
setLengthChange(false);
|
|
@@ -479,6 +530,7 @@ var TableDemo = function () {
|
|
|
479
530
|
},
|
|
480
531
|
render: function (text, record, index) {
|
|
481
532
|
return (React.createElement(EnhanceSelect, { value: text, list: list1, dataKey: "id", titleKey: "materialDesc", dropdownMatchSelectWidth: 130, onChange: function (value, option, fullData) {
|
|
533
|
+
tableHandleRef.current.clearErrorClass(index);
|
|
482
534
|
var newRecord = __assign({ materialId: value, materialDesc: fullData === null || fullData === void 0 ? void 0 : fullData.materialDesc }, clearDataFn({ prefix: 'prefix' }));
|
|
483
535
|
onEditableSaveHandle(newRecord, index);
|
|
484
536
|
} }));
|
|
@@ -539,6 +591,20 @@ var TableDemo = function () {
|
|
|
539
591
|
key: 'test3',
|
|
540
592
|
// 普通的输入框
|
|
541
593
|
editable: true,
|
|
594
|
+
validate: {
|
|
595
|
+
validate: function (value, record, index, title) {
|
|
596
|
+
if (Object.keys(tableConfig).length === 2 || !value) {
|
|
597
|
+
return Promise.reject({
|
|
598
|
+
errorFields: [
|
|
599
|
+
{
|
|
600
|
+
errors: "\u91C7\u8D2D\u57FA\u672C\u6570\u636E-\u660E\u7EC6\u8868 \u7B2C" + index + "\u884C \u91C7\u8D2D\u4ED8\u6B3E\u6761\u4EF62 \u5FC5\u586B\uFF01",
|
|
601
|
+
},
|
|
602
|
+
],
|
|
603
|
+
});
|
|
604
|
+
}
|
|
605
|
+
return Promise.resolve();
|
|
606
|
+
},
|
|
607
|
+
},
|
|
542
608
|
shouldCellUpdate: function (record, preRecord) {
|
|
543
609
|
if (firstRender) {
|
|
544
610
|
setFirstRender(false);
|
|
@@ -562,6 +628,7 @@ var TableDemo = function () {
|
|
|
562
628
|
key: 'test4',
|
|
563
629
|
// 简单配置的输入框
|
|
564
630
|
editable: true,
|
|
631
|
+
validate: {},
|
|
565
632
|
shouldCellUpdate: function (record, preRecord) {
|
|
566
633
|
if (firstRender) {
|
|
567
634
|
setFirstRender(false);
|
|
@@ -730,17 +797,19 @@ var TableDemo = function () {
|
|
|
730
797
|
},
|
|
731
798
|
];
|
|
732
799
|
// 本地偏好设置相关
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
800
|
+
// const [tableLayout, setTableLayout] = useState<any>(
|
|
801
|
+
// getStorage('test-table') || []
|
|
802
|
+
// );
|
|
803
|
+
// const onDynamicChange = useCallback((tableLayout: any) => {
|
|
804
|
+
// // 剔除调一些可能不可序列化的字段,只保留关键数据
|
|
805
|
+
// const newTableLayout = tableLayout.map((item) => ({
|
|
806
|
+
// key: item?.key,
|
|
807
|
+
// dataIndex: item?.dataIndex,
|
|
808
|
+
// hideColumn: item?.hideColumn,
|
|
809
|
+
// }));
|
|
810
|
+
// setTableLayout(newTableLayout);
|
|
811
|
+
// setStorege('test-table', newTableLayout);
|
|
812
|
+
// }, []);
|
|
744
813
|
// 本地偏好设置end
|
|
745
814
|
// 表格数据改变相关
|
|
746
815
|
var onEditableSaveHandle = useCallback(function (record, index, _dataIndex) {
|
|
@@ -790,43 +859,76 @@ var TableDemo = function () {
|
|
|
790
859
|
setRecords(newDataSource);
|
|
791
860
|
setMoveChange(true);
|
|
792
861
|
}, [setRecords]);
|
|
862
|
+
var tableHandleRef = useRef();
|
|
793
863
|
return (React.createElement(React.Fragment, null,
|
|
864
|
+
React.createElement("div", null,
|
|
865
|
+
React.createElement("button", { onClick: function () { return console.log(records); } }, "\u83B7\u53D6\u6570\u636E"),
|
|
866
|
+
React.createElement(Button, { loading: btnLoading, onClick: function () {
|
|
867
|
+
console.log(111);
|
|
868
|
+
(function () {
|
|
869
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
870
|
+
var err_1, errorFields;
|
|
871
|
+
return __generator(this, function (_a) {
|
|
872
|
+
switch (_a.label) {
|
|
873
|
+
case 0:
|
|
874
|
+
_a.trys.push([0, 2, , 3]);
|
|
875
|
+
return [4 /*yield*/, tableHandleRef.current.validate()];
|
|
876
|
+
case 1:
|
|
877
|
+
_a.sent();
|
|
878
|
+
return [3 /*break*/, 3];
|
|
879
|
+
case 2:
|
|
880
|
+
err_1 = _a.sent();
|
|
881
|
+
console.log(err_1);
|
|
882
|
+
errorFields = err_1.errorFields;
|
|
883
|
+
if (errorFields) {
|
|
884
|
+
message.warning(errorFields[0].errors + '');
|
|
885
|
+
}
|
|
886
|
+
return [3 /*break*/, 3];
|
|
887
|
+
case 3: return [2 /*return*/];
|
|
888
|
+
}
|
|
889
|
+
});
|
|
890
|
+
});
|
|
891
|
+
})();
|
|
892
|
+
} }, "\u70B9\u51FB")),
|
|
893
|
+
React.createElement("div", { style: { height: '2000px' } }),
|
|
794
894
|
React.createElement(Table
|
|
795
895
|
// 如果需要保留本地偏好,那么这里需要预处理一下columns数据
|
|
896
|
+
// columns={getTableLayoutFullData(columns, tableLayout)}
|
|
897
|
+
// initColumns={columns}
|
|
796
898
|
, {
|
|
797
899
|
// 如果需要保留本地偏好,那么这里需要预处理一下columns数据
|
|
798
|
-
columns
|
|
900
|
+
// columns={getTableLayoutFullData(columns, tableLayout)}
|
|
901
|
+
// initColumns={columns}
|
|
902
|
+
columns: columns, dataSource: records, rowKey: "id", tableHandleRef: tableHandleRef,
|
|
903
|
+
// 配置表格列
|
|
904
|
+
configInfo: tableConfig,
|
|
799
905
|
// 添加动态列配置
|
|
800
|
-
showColumnDynamic: true,
|
|
906
|
+
showColumnDynamic: true, showColumnDynamicKey: "testkey",
|
|
907
|
+
// onDynamicChange={onDynamicChange}
|
|
801
908
|
// 表格项可输入
|
|
802
909
|
onEditableSave: onEditableSaveHandle,
|
|
803
910
|
// 新增删除行
|
|
804
911
|
onAddAndDelHandle: onAddAndDelHandle,
|
|
805
912
|
// 表格行拖拽
|
|
806
|
-
onMoveRow: onMoveRowHandle
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
React.createElement(Button, { loading: btnLoading, onClick: function () {
|
|
810
|
-
console.log(111);
|
|
811
|
-
} }, "\u70B9\u51FB")),
|
|
913
|
+
onMoveRow: onMoveRowHandle,
|
|
914
|
+
// 自动伸缩列
|
|
915
|
+
isResizableColumn: true }),
|
|
812
916
|
React.createElement(Empty, null)));
|
|
813
917
|
};
|
|
814
|
-
function getStorage(key) {
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
catch (err) { }
|
|
829
|
-
}
|
|
918
|
+
// function getStorage(key) {
|
|
919
|
+
// try {
|
|
920
|
+
// const result = localStorage.getItem(key) || '';
|
|
921
|
+
// return JSON.parse(result);
|
|
922
|
+
// } catch (err) {
|
|
923
|
+
// return null;
|
|
924
|
+
// }
|
|
925
|
+
// }
|
|
926
|
+
// function setStorege(key, value) {
|
|
927
|
+
// try {
|
|
928
|
+
// const _value = typeof value === 'object' ? JSON.stringify(value) : value;
|
|
929
|
+
// localStorage.setItem(key, _value);
|
|
930
|
+
// } catch (err) {}
|
|
931
|
+
// }
|
|
830
932
|
function myRequest(options) {
|
|
831
933
|
return new Promise(function (resolve, reject) {
|
|
832
934
|
console.log(options);
|
|
@@ -1,7 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { ColumnsType } from '../';
|
|
3
|
+
export interface IConfigInfo {
|
|
4
|
+
[props: string]: {
|
|
5
|
+
isChangeable?: any;
|
|
6
|
+
isDisplay?: any;
|
|
7
|
+
isRequired?: any;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
2
10
|
interface IProps<RecordType> {
|
|
3
11
|
columns: ColumnsType<RecordType> | undefined;
|
|
4
12
|
showColumnDynamic?: boolean;
|
|
13
|
+
showColumnDynamicKey?: string;
|
|
5
14
|
/**新增行删除行方法 */
|
|
6
15
|
onAddAndDelHandle?: (type: 'add' | 'del', index: number) => void;
|
|
7
16
|
/**隐藏新增icon */
|
|
@@ -11,6 +20,13 @@ interface IProps<RecordType> {
|
|
|
11
20
|
showDynamicHandle?: () => void;
|
|
12
21
|
/**表格列编辑事件 */
|
|
13
22
|
onEditableSave?: (record: RecordType, index: number | undefined, dataIndex: string) => void;
|
|
23
|
+
/** 表格列配置相关信息 */
|
|
24
|
+
configInfo?: IConfigInfo;
|
|
14
25
|
}
|
|
15
|
-
declare
|
|
26
|
+
export declare const getTableLayoutFullData: (columns: any, tableLayout: any) => any;
|
|
27
|
+
declare function useColumns<RecordType>(props: IProps<RecordType>): {
|
|
28
|
+
newColumns: any;
|
|
29
|
+
dynamicColumns: any;
|
|
30
|
+
setNewColumns: React.Dispatch<any>;
|
|
31
|
+
};
|
|
16
32
|
export default useColumns;
|
|
@@ -9,25 +9,95 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
13
|
+
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
14
|
+
to[j] = from[i];
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
12
17
|
import React, { useCallback, useEffect, useState } from 'react';
|
|
13
18
|
import { PicRightOutlined } from '@ant-design/icons';
|
|
14
19
|
import TableAddDelColumn from '../table-adddel-column';
|
|
20
|
+
// 获取表格columns完整数据
|
|
21
|
+
export var getTableLayoutFullData = function (columns, tableLayout) {
|
|
22
|
+
if (Array.isArray(tableLayout) && tableLayout.length > 0) {
|
|
23
|
+
var newColumns = tableLayout.map(function (item) {
|
|
24
|
+
if ((item === null || item === void 0 ? void 0 : item.key) || (item === null || item === void 0 ? void 0 : item.dataIndex)) {
|
|
25
|
+
var result = columns.find(function (column) {
|
|
26
|
+
if (column.key) {
|
|
27
|
+
return column.key === (item === null || item === void 0 ? void 0 : item.key);
|
|
28
|
+
}
|
|
29
|
+
if (column.dataIndex) {
|
|
30
|
+
return column.dataIndex === (item === null || item === void 0 ? void 0 : item.dataIndex);
|
|
31
|
+
}
|
|
32
|
+
return false;
|
|
33
|
+
});
|
|
34
|
+
return __assign(__assign({}, result), item);
|
|
35
|
+
}
|
|
36
|
+
return __assign({}, item);
|
|
37
|
+
});
|
|
38
|
+
var newAddColumns = columns.filter(function (column) { return !tableLayout.find(function (item) { return item.key === column.key; }); });
|
|
39
|
+
return __spreadArray(__spreadArray([], newColumns), newAddColumns);
|
|
40
|
+
}
|
|
41
|
+
return columns;
|
|
42
|
+
};
|
|
43
|
+
function getStorage(key) {
|
|
44
|
+
try {
|
|
45
|
+
var result = localStorage.getItem(key) || '';
|
|
46
|
+
return JSON.parse(result);
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
15
52
|
function useColumns(props) {
|
|
16
|
-
var columns = props.columns, showColumnDynamic = props.showColumnDynamic, onAddAndDelHandle = props.onAddAndDelHandle, hideAddIcon = props.hideAddIcon, hideDelIcon = props.hideDelIcon, showDynamicHandle = props.showDynamicHandle, onEditableSave = props.onEditableSave;
|
|
53
|
+
var columns = props.columns, showColumnDynamic = props.showColumnDynamic, showColumnDynamicKey = props.showColumnDynamicKey, onAddAndDelHandle = props.onAddAndDelHandle, hideAddIcon = props.hideAddIcon, hideDelIcon = props.hideDelIcon, showDynamicHandle = props.showDynamicHandle, onEditableSave = props.onEditableSave, configInfo = props.configInfo;
|
|
54
|
+
var tableLayout = getStorage(showColumnDynamicKey);
|
|
17
55
|
// 新的columns
|
|
18
|
-
var _a = useState(columns), newColumns = _a[0], setNewColumns = _a[1];
|
|
56
|
+
var _a = useState(getTableLayoutFullData(columns, tableLayout)), newColumns = _a[0], setNewColumns = _a[1];
|
|
19
57
|
// 需要动态配置的列
|
|
20
|
-
var _b = useState(columns), dynamicColumns = _b[0], setDynamicColumns = _b[1];
|
|
58
|
+
var _b = useState(getTableLayoutFullData(columns, tableLayout)), dynamicColumns = _b[0], setDynamicColumns = _b[1];
|
|
21
59
|
// 动态列配置显隐
|
|
22
60
|
var ColumnDynamicCom = useCallback(function () { return (React.createElement(PicRightOutlined, { className: "zt-column--daynamic-icon", onClick: showDynamicHandle })); }, [showDynamicHandle]);
|
|
23
61
|
useEffect(function () {
|
|
24
|
-
|
|
62
|
+
var tableLayout = getStorage(showColumnDynamicKey);
|
|
63
|
+
var catchColumns = getTableLayoutFullData(columns, tableLayout);
|
|
64
|
+
if (!Array.isArray(catchColumns)) {
|
|
25
65
|
throw new Error('columns 必须为一个数组');
|
|
26
66
|
}
|
|
67
|
+
// 根据配置处理columns
|
|
68
|
+
// 主要处理是否隐藏
|
|
69
|
+
// 是否添加required配置
|
|
70
|
+
var _columns = [];
|
|
71
|
+
if (configInfo && Object.keys(configInfo).length > 0) {
|
|
72
|
+
catchColumns.forEach(function (col) {
|
|
73
|
+
var _a, _b, _c, _d;
|
|
74
|
+
var _column = __assign({}, col);
|
|
75
|
+
var dataIndex = _column.dataIndex;
|
|
76
|
+
if (!dataIndex) {
|
|
77
|
+
_columns.push(__assign({}, _column));
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
// 如果没有配置,或者配置isRequired为存在
|
|
81
|
+
if (((_a = configInfo[dataIndex]) === null || _a === void 0 ? void 0 : _a.isRequired) === 1 ||
|
|
82
|
+
((_b = configInfo[dataIndex]) === null || _b === void 0 ? void 0 : _b.isRequired) === '1') {
|
|
83
|
+
_column.required = true;
|
|
84
|
+
}
|
|
85
|
+
// 如果没有配置,或者配置isDisplay为存在
|
|
86
|
+
if (!configInfo[dataIndex] ||
|
|
87
|
+
((_c = configInfo[dataIndex]) === null || _c === void 0 ? void 0 : _c.isDisplay) === 1 ||
|
|
88
|
+
((_d = configInfo[dataIndex]) === null || _d === void 0 ? void 0 : _d.isDisplay) === '1') {
|
|
89
|
+
_columns.push(__assign({}, _column));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
_columns = catchColumns;
|
|
96
|
+
}
|
|
27
97
|
var _newColumns = [];
|
|
28
98
|
var _dynamicColumns = [];
|
|
29
99
|
// 处理columns
|
|
30
|
-
|
|
100
|
+
_columns.forEach(function (col) {
|
|
31
101
|
var _column = __assign({}, col);
|
|
32
102
|
// 添加超出隐藏
|
|
33
103
|
// !_column.render 兼容下拉框滚动行为,设置了ellipsis的话,会导致overflow:hidden,导致一些问题
|
|
@@ -58,7 +128,16 @@ function useColumns(props) {
|
|
|
58
128
|
_dynamicColumns.push(__assign({}, col));
|
|
59
129
|
}
|
|
60
130
|
// 添加必填标识
|
|
61
|
-
if (_column.required) {
|
|
131
|
+
if (typeof _column.required === 'function') {
|
|
132
|
+
var res = _column.required();
|
|
133
|
+
var _res = typeof res === 'boolean' ? res : res === 1 || res === '1';
|
|
134
|
+
if (_res) {
|
|
135
|
+
_column.title = (React.createElement(React.Fragment, null,
|
|
136
|
+
React.createElement("i", { className: "zt-column--required" }, "*"),
|
|
137
|
+
_column.title));
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
else if (_column.required) {
|
|
62
141
|
_column.title = (React.createElement(React.Fragment, null,
|
|
63
142
|
React.createElement("i", { className: "zt-column--required" }, "*"),
|
|
64
143
|
_column.title));
|
|
@@ -112,7 +191,9 @@ function useColumns(props) {
|
|
|
112
191
|
hideDelIcon,
|
|
113
192
|
ColumnDynamicCom,
|
|
114
193
|
onEditableSave,
|
|
194
|
+
configInfo,
|
|
195
|
+
showColumnDynamicKey,
|
|
115
196
|
]);
|
|
116
|
-
return
|
|
197
|
+
return { newColumns: newColumns, dynamicColumns: dynamicColumns, setNewColumns: setNewColumns };
|
|
117
198
|
}
|
|
118
199
|
export default useColumns;
|
|
@@ -4,15 +4,36 @@ import { ColumnType } from 'antd/lib/table';
|
|
|
4
4
|
import { TableRowSelection as AntTableRowSelection } from 'antd/lib/table/interface';
|
|
5
5
|
import { ISummaryConfig as TableISummaryConfig } from './utils/getSummaryData';
|
|
6
6
|
import { IEditableConfig } from './table-enhance-cell';
|
|
7
|
-
export interface
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
export interface IValidate {
|
|
8
|
+
/** 需要验证得key, 如果不传,组件会取当前列配置的dataIndex */
|
|
9
|
+
dataIndex?: string;
|
|
10
|
+
/** 提示的列头,如果不传,组件会取当前列配置的title */
|
|
11
|
+
title?: string;
|
|
12
|
+
/**
|
|
13
|
+
* 验证方式
|
|
14
|
+
* required 如果只传入这个key 那么已这个为准
|
|
15
|
+
* validate 验证函数 返回一个promise对象
|
|
16
|
+
* 也可以传入一个对象,对象有两个key 一个pattern正则 一个message提示信息
|
|
17
|
+
*/
|
|
11
18
|
required?: boolean;
|
|
19
|
+
validate?: (value: any, record: any, index: any, title: any) => Promise<any> | {
|
|
20
|
+
pattern: any;
|
|
21
|
+
message: string;
|
|
22
|
+
};
|
|
23
|
+
/** 当前index位置 */
|
|
24
|
+
index?: number;
|
|
25
|
+
}
|
|
26
|
+
export interface IColumnType<RecordType> extends ColumnType<RecordType> {
|
|
27
|
+
/**是否隐藏该列 可以传入一个返回boolean值得函数 */
|
|
28
|
+
hideColumn?: boolean | (() => boolean);
|
|
29
|
+
/**是否增加必填title, 可以传入一个返回boolean值的函数 */
|
|
30
|
+
required?: boolean | (() => boolean);
|
|
12
31
|
/**是否可以编辑 */
|
|
13
32
|
editable?: boolean;
|
|
14
33
|
/**可编辑列配置 */
|
|
15
34
|
editableConfig?: IEditableConfig;
|
|
35
|
+
/** 表格单元格验证逻辑 */
|
|
36
|
+
validate?: IValidate;
|
|
16
37
|
}
|
|
17
38
|
export interface IColumnGroupType<RecordType> extends Omit<IColumnType<RecordType>, ''> {
|
|
18
39
|
children: ColumnsType<RecordType>;
|
|
@@ -21,6 +42,8 @@ export declare type ISummaryConfig = TableISummaryConfig;
|
|
|
21
42
|
export declare type ColumnsTypeProp<RecordType> = IColumnGroupType<RecordType> | IColumnType<RecordType>;
|
|
22
43
|
export declare type ColumnsType<RecordType = unknown> = ColumnsTypeProp<RecordType>[];
|
|
23
44
|
export declare type TableRowSelection<T> = AntTableRowSelection<T>;
|
|
45
|
+
export declare const DIFF_CLASSNAME = "zt-table--diff-row";
|
|
46
|
+
export declare const ERROR_TD_CLASSNAME = "zt-error-validate-td";
|
|
24
47
|
export declare type ITableComponent = typeof Table & {
|
|
25
48
|
SELECTION_ALL: typeof AntTable.SELECTION_ALL;
|
|
26
49
|
SELECTION_INVERT: typeof AntTable.SELECTION_INVERT;
|
|
@@ -29,6 +52,7 @@ export declare type ITableComponent = typeof Table & {
|
|
|
29
52
|
ColumnGroup: typeof AntTable.ColumnGroup;
|
|
30
53
|
Summary: typeof AntTable.Summary;
|
|
31
54
|
DiffClassName: string;
|
|
55
|
+
ErrorTdCallName: string;
|
|
32
56
|
};
|
|
33
57
|
declare const TransTable: ITableComponent;
|
|
34
58
|
export default TransTable;
|