ztxkui 4.2.23-613 → 4.2.23-615
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/components/business/Signatures/index.js +130 -142
- package/dist/components/electron-signatures/content.js +353 -340
- package/dist/components/electron-signatures/electron-signatures-fragment.js +21 -18
- package/dist/components/electron-signatures/hooks/useParseElectronSetting.d.ts +10 -4
- package/dist/components/electron-signatures/hooks/useParseElectronSetting.js +231 -165
- package/dist/components/utils/checkSealCoUse.d.ts +16 -0
- package/dist/components/utils/checkSealCoUse.js +83 -0
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/dist/index.css +1 -0
- package/dist/index.css.map +1 -1
- package/dist/main.js +2 -2
- package/package.json +2 -2
|
@@ -83,6 +83,7 @@ import ElectronicSeal from './components/ElectronicSeal';
|
|
|
83
83
|
import DetailTable from './components/DetailTable';
|
|
84
84
|
import { useRecords, useQunjData, useElectronicData } from './hooks';
|
|
85
85
|
import useLastest from '../../utils/useLastest';
|
|
86
|
+
import checkSealCoUse from '../../utils/checkSealCoUse';
|
|
86
87
|
/** 需要存样板合同类型 采购合同 销售合同 双边合同 */
|
|
87
88
|
var NEED_SAVE_TEMPLATE = [
|
|
88
89
|
'scm_order_contract_cght',
|
|
@@ -384,123 +385,117 @@ var Sinatures = function (_a) {
|
|
|
384
385
|
companyTypes,
|
|
385
386
|
]);
|
|
386
387
|
/** 指定签署位置 */
|
|
387
|
-
var checkSealFn = function (flag, needEconomicObj) {
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
return;
|
|
412
|
-
}
|
|
413
|
-
// 校验带有"必须共同使用"标识的印章(mustUseWithOthers + useWithSealIds)
|
|
414
|
-
if (innerElectronicSeal.length > 0 && electronicList.length > 0) {
|
|
415
|
-
var selectedSealIds_1 = new Set(innerElectronicSeal.map(function (id) { return id + ''; }));
|
|
416
|
-
for (var _i = 0, electronicList_1 = electronicList; _i < electronicList_1.length; _i++) {
|
|
417
|
-
var seal = electronicList_1[_i];
|
|
418
|
-
if (selectedSealIds_1.has(seal.sealId + '') &&
|
|
419
|
-
seal.mustUseWithOthers &&
|
|
420
|
-
seal.useWithSealIds) {
|
|
421
|
-
var requiredIds = seal.useWithSealIds
|
|
422
|
-
.split(',')
|
|
423
|
-
.map(function (id) { return id.trim(); })
|
|
424
|
-
.filter(Boolean);
|
|
425
|
-
var hasMatch = requiredIds.some(function (id) { return selectedSealIds_1.has(id); });
|
|
426
|
-
if (!hasMatch) {
|
|
427
|
-
var msg = i18next.t('当前所选的{{sealName}},要求必须和{{requiredSealNames}}其中之一一起使用,请重新勾选印章。', {
|
|
428
|
-
sealName: seal.sealName,
|
|
429
|
-
requiredSealNames: seal.useWithSealNames,
|
|
430
|
-
});
|
|
431
|
-
message.warning(msg);
|
|
432
|
-
return;
|
|
388
|
+
var checkSealFn = function (flag, needEconomicObj) { return __awaiter(void 0, void 0, void 0, function () {
|
|
389
|
+
var isError, checkedElecSealIds, isCoUsePass, params;
|
|
390
|
+
var _a;
|
|
391
|
+
return __generator(this, function (_b) {
|
|
392
|
+
switch (_b.label) {
|
|
393
|
+
case 0:
|
|
394
|
+
setVisible(false);
|
|
395
|
+
isError = false;
|
|
396
|
+
checkedElecSealIds = [];
|
|
397
|
+
records === null || records === void 0 ? void 0 : records.forEach(function (item, index) {
|
|
398
|
+
if (!!item.isElectronicSeal) {
|
|
399
|
+
if (!item.attachId && !isError) {
|
|
400
|
+
message.error(i18next.t('第{{slot0}}行附件没有附件id,无法盖章!', {
|
|
401
|
+
slot0: index + 1,
|
|
402
|
+
}));
|
|
403
|
+
isError = true;
|
|
404
|
+
}
|
|
405
|
+
else {
|
|
406
|
+
checkedElecSealIds.push(item.attachId);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
});
|
|
410
|
+
if (isError) {
|
|
411
|
+
return [2 /*return*/];
|
|
433
412
|
}
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
setLoading(true);
|
|
438
|
-
var params = __assign({ attachIdList: [], sealIdList: innerElectronicSeal, deleteAttachIdList: [], docAttachMap: attachMap, deptId: deptId, needYjzrr: isEconomic }, (needEconomicObj || {}));
|
|
439
|
-
if (!contractId) {
|
|
440
|
-
setDocumentIds([]);
|
|
441
|
-
setSealedIds([]);
|
|
442
|
-
params.attachIdList = checkedElecSealIds;
|
|
443
|
-
params.deleteAttachIdList = [];
|
|
444
|
-
}
|
|
445
|
-
else {
|
|
446
|
-
params.contractId = contractId;
|
|
447
|
-
// 已勾选的要加盖电子印章的附件id列表与已盖章附件id(用于校验上传的附件是新增还是删除)比较
|
|
448
|
-
checkedElecSealIds.forEach(function (n) {
|
|
449
|
-
if (sealedIds.length !== 0 && !sealedIds.includes(n)) {
|
|
450
|
-
params.attachIdList.push(n);
|
|
451
|
-
}
|
|
452
|
-
});
|
|
453
|
-
}
|
|
454
|
-
// 已盖章的附件id列表中筛选出要删除的附件id列表
|
|
455
|
-
sealedIds.forEach(function (n) {
|
|
456
|
-
if (checkedElecSealIds.length !== 0 && !checkedElecSealIds.includes(n)) {
|
|
457
|
-
params.deleteAttachIdList.push(n);
|
|
458
|
-
}
|
|
459
|
-
});
|
|
460
|
-
// 上一次盖章时的参数信息
|
|
461
|
-
setPrevParam(params);
|
|
462
|
-
request({
|
|
463
|
-
url: '/api/zmdms-resource/seal/confirm-seal-info',
|
|
464
|
-
method: 'POST',
|
|
465
|
-
timeout: 90000,
|
|
466
|
-
data: params,
|
|
467
|
-
})
|
|
468
|
-
.then(function (res) {
|
|
469
|
-
var _a;
|
|
470
|
-
setLoading(false);
|
|
471
|
-
if (res.status === 200 &&
|
|
472
|
-
res.data.code === 200 &&
|
|
473
|
-
res.data.data.preSignUrl) {
|
|
474
|
-
var sealedIdsCopy = __spreadArray([], sealedIds);
|
|
475
|
-
for (var i = sealedIdsCopy.length; i--; i >= 0) {
|
|
476
|
-
if ((_a = res.data.data.deleteAttachIdList) === null || _a === void 0 ? void 0 : _a.includes(sealedIdsCopy[i])) {
|
|
477
|
-
sealedIdsCopy.splice(i, 1);
|
|
413
|
+
if (innerElectronicSeal.length === 0) {
|
|
414
|
+
message.info(i18next.t('请勾选电子印章!'));
|
|
415
|
+
return [2 /*return*/];
|
|
478
416
|
}
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
417
|
+
return [4 /*yield*/, checkSealCoUse({
|
|
418
|
+
request: request,
|
|
419
|
+
qysSealIds: innerElectronicSeal,
|
|
420
|
+
qjSealNos: needQj && checked
|
|
421
|
+
? ((_a = innerQunjSeal === null || innerQunjSeal === void 0 ? void 0 : innerQunjSeal.details) === null || _a === void 0 ? void 0 : _a.map(function (item) { return item.sealNo; })) || []
|
|
422
|
+
: [],
|
|
423
|
+
})];
|
|
424
|
+
case 1:
|
|
425
|
+
isCoUsePass = _b.sent();
|
|
426
|
+
if (!isCoUsePass) {
|
|
427
|
+
return [2 /*return*/];
|
|
428
|
+
}
|
|
429
|
+
setLoading(true);
|
|
430
|
+
params = __assign({ attachIdList: [], sealIdList: innerElectronicSeal, deleteAttachIdList: [], docAttachMap: attachMap, deptId: deptId, needYjzrr: isEconomic }, (needEconomicObj || {}));
|
|
431
|
+
if (!contractId) {
|
|
432
|
+
setDocumentIds([]);
|
|
433
|
+
setSealedIds([]);
|
|
434
|
+
params.attachIdList = checkedElecSealIds;
|
|
435
|
+
params.deleteAttachIdList = [];
|
|
436
|
+
}
|
|
437
|
+
else {
|
|
438
|
+
params.contractId = contractId;
|
|
439
|
+
// 已勾选的要加盖电子印章的附件id列表与已盖章附件id(用于校验上传的附件是新增还是删除)比较
|
|
440
|
+
checkedElecSealIds.forEach(function (n) {
|
|
441
|
+
if (sealedIds.length !== 0 && !sealedIds.includes(n)) {
|
|
442
|
+
params.attachIdList.push(n);
|
|
443
|
+
}
|
|
444
|
+
});
|
|
445
|
+
}
|
|
446
|
+
// 已盖章的附件id列表中筛选出要删除的附件id列表
|
|
447
|
+
sealedIds.forEach(function (n) {
|
|
448
|
+
if (checkedElecSealIds.length !== 0 && !checkedElecSealIds.includes(n)) {
|
|
449
|
+
params.deleteAttachIdList.push(n);
|
|
450
|
+
}
|
|
451
|
+
});
|
|
452
|
+
// 上一次盖章时的参数信息
|
|
453
|
+
setPrevParam(params);
|
|
454
|
+
request({
|
|
455
|
+
url: '/api/zmdms-resource/seal/confirm-seal-info',
|
|
456
|
+
method: 'POST',
|
|
457
|
+
timeout: 90000,
|
|
458
|
+
data: params,
|
|
459
|
+
})
|
|
460
|
+
.then(function (res) {
|
|
461
|
+
var _a;
|
|
462
|
+
setLoading(false);
|
|
463
|
+
if (res.status === 200 &&
|
|
464
|
+
res.data.code === 200 &&
|
|
465
|
+
res.data.data.preSignUrl) {
|
|
466
|
+
var sealedIdsCopy = __spreadArray([], sealedIds);
|
|
467
|
+
for (var i = sealedIdsCopy.length; i--; i >= 0) {
|
|
468
|
+
if ((_a = res.data.data.deleteAttachIdList) === null || _a === void 0 ? void 0 : _a.includes(sealedIdsCopy[i])) {
|
|
469
|
+
sealedIdsCopy.splice(i, 1);
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
setSealedIds(__spreadArray(__spreadArray([], sealedIdsCopy), res.data.data.attachIdList));
|
|
473
|
+
setContractId(res.data.data.contractId);
|
|
474
|
+
setAttachMap(res.data.data.docAttachMap);
|
|
475
|
+
setDocumentIds(res.data.data.documentIdList);
|
|
476
|
+
if (onSigValuesChange) {
|
|
477
|
+
onSigValuesChange(sigValuesChange('docAttachMap', res.data.data.docAttachMap));
|
|
478
|
+
onSigValuesChange(sigValuesChange('checkAttachIdList', __spreadArray(__spreadArray([], sealedIdsCopy), res.data.data.attachIdList)));
|
|
479
|
+
onSigValuesChange(sigValuesChange('documentIdList', res.data.data.documentIdList));
|
|
480
|
+
}
|
|
481
|
+
// 如果未盖章列表用户全部都取消 不用跳转
|
|
482
|
+
if (!(needReSealList.length === 0 && flag === 'needReSeal')) {
|
|
483
|
+
window.open(res.data.data.preSignUrl);
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
else {
|
|
487
|
+
message.error(res.data.msg || i18next.t('出错了'));
|
|
488
|
+
}
|
|
489
|
+
})
|
|
490
|
+
.catch(function (error) {
|
|
491
|
+
var _a, _b;
|
|
492
|
+
setLoading(false);
|
|
493
|
+
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) || i18next.t('请求失败!'));
|
|
494
|
+
});
|
|
495
|
+
return [2 /*return*/];
|
|
496
496
|
}
|
|
497
|
-
})
|
|
498
|
-
.catch(function (error) {
|
|
499
|
-
var _a, _b;
|
|
500
|
-
setLoading(false);
|
|
501
|
-
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) || i18next.t('请求失败!'));
|
|
502
497
|
});
|
|
503
|
-
};
|
|
498
|
+
}); };
|
|
504
499
|
/** 查询未确认盖章位置的印章信息列表 */
|
|
505
500
|
var getNoSealInfoList = function () {
|
|
506
501
|
return new Promise(function (resolve, reject) {
|
|
@@ -1122,10 +1117,10 @@ var Sinatures = function (_a) {
|
|
|
1122
1117
|
},
|
|
1123
1118
|
/** 签章组件相关校验 */
|
|
1124
1119
|
validateSealFn: function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1125
|
-
var hasElectronicSeal,
|
|
1126
|
-
var _a;
|
|
1127
|
-
return __generator(this, function (
|
|
1128
|
-
switch (
|
|
1120
|
+
var hasElectronicSeal, qjSealNos, isCoUsePass;
|
|
1121
|
+
var _a, _b;
|
|
1122
|
+
return __generator(this, function (_c) {
|
|
1123
|
+
switch (_c.label) {
|
|
1129
1124
|
case 0:
|
|
1130
1125
|
// 确认盖章后 勾选的信息有更改
|
|
1131
1126
|
if (isEdit &&
|
|
@@ -1192,36 +1187,29 @@ var Sinatures = function (_a) {
|
|
|
1192
1187
|
return [2 /*return*/, false];
|
|
1193
1188
|
}
|
|
1194
1189
|
}
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
if (!hasMatch) {
|
|
1209
|
-
message.warning(i18next.t('当前所选的{{sealName}},要求必须和{{requiredSealNames}}其中之一一起使用,请重新勾选印章。', {
|
|
1210
|
-
sealName: seal.sealName,
|
|
1211
|
-
requiredSealNames: seal.useWithSealNames,
|
|
1212
|
-
}));
|
|
1213
|
-
return [2 /*return*/, false];
|
|
1214
|
-
}
|
|
1215
|
-
}
|
|
1216
|
-
}
|
|
1190
|
+
qjSealNos = isEdit && needQj && checked
|
|
1191
|
+
? ((_b = innerQunjSeal === null || innerQunjSeal === void 0 ? void 0 : innerQunjSeal.details) === null || _b === void 0 ? void 0 : _b.map(function (item) { return item.sealNo; })) || []
|
|
1192
|
+
: [];
|
|
1193
|
+
if (!(isEdit && ((innerElectronicSeal === null || innerElectronicSeal === void 0 ? void 0 : innerElectronicSeal.length) > 0 || qjSealNos.length > 0))) return [3 /*break*/, 2];
|
|
1194
|
+
return [4 /*yield*/, checkSealCoUse({
|
|
1195
|
+
request: request,
|
|
1196
|
+
qysSealIds: innerElectronicSeal,
|
|
1197
|
+
qjSealNos: qjSealNos,
|
|
1198
|
+
})];
|
|
1199
|
+
case 1:
|
|
1200
|
+
isCoUsePass = _c.sent();
|
|
1201
|
+
if (!isCoUsePass) {
|
|
1202
|
+
return [2 /*return*/, false];
|
|
1217
1203
|
}
|
|
1204
|
+
_c.label = 2;
|
|
1205
|
+
case 2:
|
|
1218
1206
|
if (!(needQys &&
|
|
1219
1207
|
isEdit &&
|
|
1220
1208
|
hasElectronicSeal &&
|
|
1221
|
-
(innerElectronicSeal === null || innerElectronicSeal === void 0 ? void 0 : innerElectronicSeal.length) > 0)) return [3 /*break*/,
|
|
1209
|
+
(innerElectronicSeal === null || innerElectronicSeal === void 0 ? void 0 : innerElectronicSeal.length) > 0)) return [3 /*break*/, 4];
|
|
1222
1210
|
return [4 /*yield*/, getNoSealInfoList()];
|
|
1223
|
-
case
|
|
1224
|
-
case
|
|
1211
|
+
case 3: return [2 /*return*/, _c.sent()];
|
|
1212
|
+
case 4: return [2 /*return*/, true];
|
|
1225
1213
|
}
|
|
1226
1214
|
});
|
|
1227
1215
|
}); },
|