归档功能完善

This commit is contained in:
2026-06-08 16:15:58 +08:00
parent 92fd726e2b
commit 974f6c7a5b
2 changed files with 461 additions and 20 deletions
+14 -20
View File
@@ -116,7 +116,7 @@
<a v-if="canUploadSigned(row)" @click="handleUploadSigned(row)">上传已签署版本</a>
<a v-if="canMockFinishSign(row)" @click="handleMockFinishSign(row)">测试签署完成</a>
<a v-if="canCollect(row)" @click="handleMockCollect(row)">测试采集</a>
<a v-if="canArchive(row)" @click="handleArchive(row)">测试归档</a>
<a v-if="canArchive(row)" @click="handleArchive(row)">归档</a>
<a v-if="canTerminate(row)" @click="handleTerminate(row)">终止</a>
<a v-if="canDelete(row)" @click="handleDelete(row)">删除</a>
</div>
@@ -142,6 +142,7 @@
<ContractPartyPlaceholderModal ref="contractModalRef" @save="handleModalSave" />
<MixedSignModal ref="mixedSignModalRef" @business-updated="handleSignBusinessUpdated" />
<UploadSignedModal ref="uploadSignedModalRef" @done="handleSignBusinessUpdated" />
<ContractArchiveModal ref="contractArchiveModalRef" @done="handleArchiveDone" />
</section>
</template>
@@ -157,9 +158,9 @@ import { Input, message, Modal } from "ant-design-vue";
import ContractPartyPlaceholderModal from "./components/ContractPartyPlaceholderModal.vue";
import MixedSignModal from "./components/mixedSignModal.vue";
import UploadSignedModal from "./components/UploadSignedModal.vue";
import ContractArchiveModal from "./components/ContractArchiveModal.vue";
import { getContractTypeSimpleLabel } from "./contractLaunchOptions.js";
import {
archiveLaunch,
copyLaunchDraft,
createLaunchChangeDraft,
createLaunchDraft,
@@ -197,6 +198,7 @@ const toolbarRef = ref(null);
const contractModalRef = ref(null);
const mixedSignModalRef = ref(null);
const uploadSignedModalRef = ref(null);
const contractArchiveModalRef = ref(null);
const total = ref(0);
const loading = ref(false);
@@ -685,27 +687,19 @@ function handleMockCollect(row) {
}
function handleArchive(row) {
Modal.confirm({
title: "确认归档合同",
content: h("div", [
h("p", `确认将合同【${row.contractName}】归档?`),
h("p", { style: { color: "#999", fontSize: "12px" } }, "归档后合同进入已完成状态全生命周期结束"),
]),
okText: "确认归档",
cancelText: "取消",
onOk: () =>
archiveLaunch(row.id, {}).then((res) => {
if (!isSuccessResponse(res)) {
message.error(getResponseMessage(res, "测试归档失败"));
return;
}
message.success("测试归档完成合同已流转到已完成");
getList();
}),
icon: null,
getLaunchDetail(row.id).then((res) => {
if (!isSuccessResponse(res) || !getDataResult(res)) {
message.error(getResponseMessage(res, "获取归档详情失败"));
return;
}
contractArchiveModalRef.value?.showModal(getDataResult(res));
});
}
function handleArchiveDone() {
getList();
}
function handleTerminate(row) {
let terminateReason = "";
Modal.confirm({