From 8cae1dcd8d2bde01880ac4b70bdda4e61df3c7ef Mon Sep 17 00:00:00 2001 From: YangYuGang <1378265336@qq.com> Date: 星期六, 08 三月 2025 12:46:26 +0800 Subject: [PATCH] 送货单(U9) --- src/views/components/CustModal.vue | 71 +++++++++++++++++++++-------------- 1 files changed, 43 insertions(+), 28 deletions(-) diff --git a/src/views/components/CustModal.vue b/src/views/components/CustModal.vue index d0bd18c..4470946 100644 --- a/src/views/components/CustModal.vue +++ b/src/views/components/CustModal.vue @@ -4,7 +4,7 @@ * @version: * @Date: 2024-06-05 15:46:07 * @LastEditors: Ben Lin - * @LastEditTime: 2024-07-18 15:42:20 + * @LastEditTime: 2024-09-11 23:38:35 --> <template> <BasicModal @@ -12,6 +12,7 @@ @register="registerModal" :title="title" @ok="handleSuccess" + @cancel="handleCancel" :width="width" > <a-layout> @@ -45,7 +46,7 @@ const ALayout = Layout; const ACard = Card; const ALayoutContent = LayoutContent; - const emit = defineEmits(['success', 'register']); + const emit = defineEmits(['success', 'register', 'modalInner', 'cancel']); const isUpdate = ref(true); const cType = ref(''); const title = ref(''); @@ -53,12 +54,10 @@ const FnName = ref(''); const mValues = ref<Recordable>({}); const initFnName = ref({}); - const dtlSlots = ref([] as any[]); const formSchema = ref([] as FormSchema[]); const formElName = ref([]); const useFormData = ref<any>({}); const props = defineProps({ - detailSlots: { type: Array, default: [] }, entityName: { type: String }, }); @@ -70,46 +69,52 @@ ]); /* 鍔ㄦ�乮mport瀹炰綋鍚�.ts鐨勮嚜瀹氫箟鏂规硶 */ try { - custImport.value = await import(`../tigerprojects/system/lowcode/entityts/${props.entityName}.ts`); + custImport.value = await import( + `../tigerprojects/system/lowcode/entityts/${props.entityName}.ts` + ); } catch (e) {} - const [{ CustFunc }] = isNullOrUnDef(custImport.value['default']) + const [{ CustFunc, GetDtlSlots }] = isNullOrUnDef(custImport.value['default']) ? EntityCustFunction.value : custImport.value['default'](); + const dtlSlots = ref<any[]>([]); + // watch( + // () => props.detailSlots, + // (v) => { + // if (v !== dtlSlots.value) { + // // dtlSlots.value = v; + // } + // }, + // { deep: true }, + // ); - watch( - () => props.detailSlots, - (v) => { - if (v !== dtlSlots.value) { - dtlSlots.value = v; - } - }, - { deep: true }, - ); - - const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => { - await nextTick(); + const [registerModal, { setModalProps, closeModal }] = useModalInner((data) => { formSchema.value = []; setModalProps({ confirmLoading: false }); isUpdate.value = !!data?.isUpdate; //鏄惁鏇存柊 cType.value = data?.ctype; //鏄摢涓〉闈� + dtlSlots.value = GetDtlSlots(cType.value); title.value = data?.title; //寮规鏍囬 width.value = data?.width; //寮规瀹藉害 formElName.value = data?.formElName; //寮规涓〃鍗曞悕瀛楁暟缁� useFormData.value = data?.formEl; //寮规涓〃鍗曞疄渚嬫暟缁� FnName.value = data?.fnName; //淇濆瓨鏁版嵁鏂规硶 mValues.value = data?.values; //涓昏〃鍗曚紶杩囨潵鐨勬暟鎹� - //寰幆琛ㄥ崟鍚嶆暟缁勶紝鎿嶄綔鍚勮〃鍗曞瓧娈� - formElName.value.forEach((name) => { - if (!isNullOrUnDef(useFormData.value[name])) { - useFormData.value[name][1]['resetFields'](); - if (unref(isUpdate)) { - useFormData.value[name][1]['setFieldsValue']({ - ...mValues.value, - }); + + emit('modalInner', dtlSlots.value, async () => { + await nextTick(); + /* 寰幆琛ㄥ崟鍚嶆暟缁勶紝鎿嶄綔鍚勮〃鍗曞瓧娈� */ + formElName.value.forEach((name) => { + if (!isNullOrUnDef(useFormData.value[name])) { + useFormData.value[name][1]['resetFields'](); + if (unref(isUpdate)) { + useFormData.value[name][1]['setFieldsValue']({ + ...mValues.value, + }); + } } - } + }); }); - //鍒濆鍖栨柟娉曡嚜瀹氫箟 + /* 鍒濆鍖栨柟娉曡嚜瀹氫箟 */ if (!isNullOrEmpty(data?.initFnName)) { initFnName.value = data?.initFnName; let param: CustModalParams = { @@ -118,6 +123,8 @@ mValues: mValues.value, others: data?.others, FnName: initFnName.value[cType.value], + initFnName: '', + data: ref<any[]>([]) }; CustFunc(param); } @@ -173,4 +180,12 @@ setModalProps({ confirmLoading: false }); } } + + /** + * @description: 鍙栨秷鎸夐挳瑙﹀彂鍙栨秷浜嬩欢 + * @return {*} + */ + function handleCancel() { + emit('cancel'); + } </script> -- Gitblit v1.9.3