diff --git a/src/modules/02_organization/components/DialogNewStructure.vue b/src/modules/02_organization/components/DialogNewStructure.vue index 202b0eda6..9d6a6b4fc 100644 --- a/src/modules/02_organization/components/DialogNewStructure.vue +++ b/src/modules/02_organization/components/DialogNewStructure.vue @@ -62,6 +62,8 @@ const typeOp = ref([ }, ]); +const selectType = ref([]); + //ฟอร์มเพิ่มโครงสร้าง const formData = reactive({ orgRevisionId: "", @@ -69,10 +71,30 @@ const formData = reactive({ typeDraft: "", }); -/** - * ฟังก์ชันยืนยันการบันทึกการกสร้างโครงสร้าง - */ +/** ฟังก์ชันยืนยันการบันทึกการกสร้างโครงสร้าง*/ function onSubmit() { + //เช็คการทำสำเนา + formData.typeDraft = + selectType.value.includes("ORG") && + selectType.value.includes("PERSON") && + selectType.value.includes("POSITION") && + selectType.value.includes("ROLE") + ? "ORG_POSITION_PERSON_ROLE" + : selectType.value.includes("ORG") && + selectType.value.includes("PERSON") && + selectType.value.includes("POSITION") + ? "ORG_POSITION_PERSON" + : selectType.value.includes("ORG") && + selectType.value.includes("POSITION") && + selectType.value.includes("ROLE") + ? "ORG_POSITION_ROLE" + : selectType.value.includes("ORG") && + selectType.value.includes("POSITION") + ? "ORG_POSITION" + : selectType.value.includes("ORG") + ? "ORG" + : "NEW"; + dialogConfirm( $q, async () => { @@ -102,19 +124,16 @@ function onSubmit() { ); } -/** - * ฟังก์ชัน ปิด popup และกำหนดฟอร์มเพิ่มโครงสร้างเป็น Default - */ +/** ฟังก์ชัน ปิด popup และกำหนดฟอร์มเพิ่มโครงสร้างเป็น Default*/ function close() { modal.value = false; formData.orgRevisionId = ""; formData.orgRevisionName = ""; formData.typeDraft = ""; + selectType.value = []; } -/** - * ฟังก์ชันเรียกข้อมูลประวัติโครงสร้าง - */ +/** ฟังก์ชันเรียกข้อมูลประวัติโครงสร้าง*/ function fetchOrgRevision() { showLoader(); http @@ -138,15 +157,25 @@ function fetchOrgRevision() { }); } +/** + * ฟังก์ชันเลือกทำสำเนา + * @param val รายการที่เลือก + */ +function updateSelectCopy(val: string[]) { + if (!val.includes("ORG")) { + selectType.value = []; + } else if (!val.includes("POSITION")) { + selectType.value = ["ORG"]; + } +} + /** * ดูการเปลี่ยนแปลง modal เมื่อเป็น true - * * type ไม่เป็นการสร้างใหม่ให้เรียกข้อมูลประวัติโครงสร้าง */ watch( () => modal.value, () => { - modal.value && (formData.typeDraft = type.value); modal.value && type.value !== "NEW" && fetchOrgRevision(); } ); @@ -161,7 +190,7 @@ watch(
-
+
-
- + เลือกทำสำเนา +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
- + diff --git a/src/modules/02_organization/views/main.vue b/src/modules/02_organization/views/main.vue index 6460eda7a..820e1629c 100644 --- a/src/modules/02_organization/views/main.vue +++ b/src/modules/02_organization/views/main.vue @@ -285,7 +285,17 @@ onMounted(async () => { - + +