From fe950251bf133b5f715534df6d4bf98de05558ae Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期三, 16 九月 2026 16:48:26 +0800
Subject: [PATCH] feat(crm): 退费单/销户申请审核通过后隐藏编辑删除并提供只读详情

---
 src/views/crm/cancellation/modules/form.vue |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/src/views/crm/cancellation/modules/form.vue b/src/views/crm/cancellation/modules/form.vue
index 5a7fe02..77e8255 100644
--- a/src/views/crm/cancellation/modules/form.vue
+++ b/src/views/crm/cancellation/modules/form.vue
@@ -18,11 +18,17 @@
 
 type CancellationFormModalData = {
   cancellation?: Pick<CrmCancellationApi.Cancellation, 'id'>;
+  /** 鍙妯″紡锛氬鏍搁�氳繃鐨勯攢鎴风敵璇蜂粎鍏佽鏌ョ湅璇︽儏 */
+  readonly?: boolean;
 };
 
 const emit = defineEmits(['success']);
 const formData = ref<Partial<CrmCancellationApi.Cancellation>>();
+const readonly = ref(false);
 const getTitle = computed(() => {
+  if (readonly.value) {
+    return '閿�鎴风敵璇疯鎯�';
+  }
   return formData.value?.id
     ? $t('ui.actionTitle.edit', ['閿�鎴风敵璇�'])
     : $t('ui.actionTitle.create', ['閿�鎴风敵璇�']);
@@ -67,11 +73,16 @@
   async onOpenChange(isOpen: boolean) {
     if (!isOpen) {
       formData.value = undefined;
+      readonly.value = false;
       return;
     }
     formApi.setState({ schema: useFormSchema(formApi) });
     await formApi.resetForm();
     const data = modalApi.getData() as null | CancellationFormModalData;
+    // 鍙璇︽儏锛氱鐢ㄥ叏閮ㄥ瓧娈靛苟闅愯棌銆岀‘瀹氥�嶆寜閽紱缂栬緫/鏂板鍒欐仮澶嶅彲鎿嶄綔
+    readonly.value = !!data?.readonly;
+    formApi.setDisabled(readonly.value);
+    modalApi.setState({ showConfirmButton: !readonly.value });
     if (!data?.cancellation?.id) {
       return;
     }

--
Gitblit v1.9.3