优化项目管理

This commit is contained in:
hero920103 committed 2026-09-13 22:31:42 +08:00
1 parent 2f6cdbb3cd
commit a8c09c1db5
30 files changed
+1654 -346

No files matched your search

@@ -84,7 +84,7 @@
</template>
<script setup>
import { ref, reactive, watch } from "vue";
import { ref, reactive, watch, nextTick } from "vue";
import { ElMessage, ElMessageBox } from "element-plus";
import { Edit, Delete, ArrowDown } from "@element-plus/icons-vue";
import {
@@ -127,9 +127,12 @@ const logRef = ref();
const econtractRef = ref();
const invoiceRef = ref();
// 同时监听展开状态与目标合同 id:
// 页面被 keep-alive 缓存时,从其他入口再打开另一份合同时 visible 可能一直是 true(未变化),
// 只监听 visible 会导致不重新加载、内容串成上一份合同。
watch(
() => props.visible,
async (val) => {
[() => props.visible, () => props.contract?.id],
async ([val]) => {
if (!val) return;
activeTab.value = "basic";
counts.payback = 0;
@@ -146,6 +149,9 @@ watch(
} finally {
loading.value = false;
}
// 抽屉已打开时不会再触发 @opened,这里主动刷新各 Tab 数据(回款 / 附件 / 日志)
await nextTick();
loadAll();
}
);