+
+
end) {
+ return "合同生效日期不能晚于合同结束日期";
+ }
+ }
+ return "";
+}
+
function mapBusinessStatusToContractStatus(status) {
if (status === "completed") return 2000;
if (status === "signing") return 20;
@@ -863,6 +931,9 @@ async function writeBackLaunchSealFinished(status = 2000) {
const res = await finishLaunchSeal(businessRecord.value.id, {
sealContractId: contractId.value,
sealContractStatus: status,
+ signDate: formatDateTimeValue(completeSignDate.value),
+ sealDate: formatDateTimeValue(completeSealDate.value),
+ activeDate: formatDateTimeValue(completeActiveDate.value),
...signedFileInfo,
});
@@ -882,6 +953,7 @@ function resetSealPlacementState() {
function resetModalState(record = null) {
businessRecord.value = record ? { ...record } : null;
+ syncCompletionDates(record || {});
contractId.value = "";
contractStatus.value = mapBusinessStatusToContractStatus(record?.status);
pdfImages.value = [];
@@ -1623,6 +1695,11 @@ async function handleCompleteContract() {
message.warning("合约已结束");
return;
}
+ const validateMessage = validateCompletionDates();
+ if (validateMessage) {
+ message.warning(validateMessage);
+ return;
+ }
Modal.confirm({
title: "确认结束",
@@ -2454,6 +2531,13 @@ watch(visible, (value) => {
font-size: 13px;
}
+.complete-form-grid {
+ display: grid;
+ grid-template-columns: 1fr;
+ gap: 10px;
+ margin-bottom: 12px;
+}
+
.tag-success {
color: #4a9c5d;
font-weight: 500;