From c1b5f6edeacfa0326931d06de6773b936dbabe27 Mon Sep 17 00:00:00 2001 From: maven <2163098428@qq.com> Date: 星期二, 26 八月 2025 15:18:44 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev_JLMY' into dev_JLMY --- src/views/production/productionReporting/components/useDialog.js | 62 +++++++++++++++++++++++++++++++ 1 files changed, 62 insertions(+), 0 deletions(-) diff --git a/src/views/production/productionReporting/components/useDialog.js b/src/views/production/productionReporting/components/useDialog.js new file mode 100644 index 0000000..3351cdc --- /dev/null +++ b/src/views/production/productionReporting/components/useDialog.js @@ -0,0 +1,62 @@ +/** + * 瀵硅瘽妗嗙鐞嗙粍鍚堝紡鍑芥暟 + * 鎻愪緵瀵硅瘽妗嗙殑鎵撳紑銆佸叧闂�佹暟鎹鐞嗙瓑鍔熻兘 + */ +import {ref} from 'vue'; + +export function useDialog() { + const dialogVisible = ref(false); + const dialogType = ref('add'); + const dialogRef = ref(null); + const currentRowData = ref(null); + + // 鎵撳紑瀵硅瘽妗� + const openDialog = (type = 'add', rowData = null) => { + dialogType.value = type; + currentRowData.value = rowData; + dialogVisible.value = true; + + // 璋冪敤瀵硅瘽妗嗙粍浠剁殑鍒濆鍖栨柟娉� + if (dialogRef.value) { + if (type === 'add') { + dialogRef.value.Initialization?.(); + } else if ((type === 'edit' || type === 'viewRow' || type === 'scheduling' || type === 'work') && rowData) { + dialogRef.value.editInitialization?.(type,rowData); + } + } + }; + const viewRow = (type,rowData) => { + dialogType.value = type; + currentRowData.value = rowData; + dialogVisible.value = true; + openDialog('viewRow', rowData); + }; + // 鍏抽棴瀵硅瘽妗� + const closeDialog = () => { + dialogVisible.value = false; + dialogType.value = 'add'; + currentRowData.value = null; + }; + + // 瀵硅瘽妗嗘垚鍔熷洖璋� + const handleDialogSuccess = (callback) => { + closeDialog(); + if (typeof callback === 'function') { + callback(); + } + }; + + return { + // 鐘舵�� + dialogVisible, + dialogType, + dialogRef, + currentRowData, + + // 鏂规硶 + openDialog, + closeDialog, + handleDialogSuccess, + viewRow + }; +} -- Gitblit v1.9.3