hrms-mgt/src/modules/05_placement/components/PersonalList/DialogFooter.vue

74 lines
1.4 KiB
Vue
Raw Normal View History

2023-06-07 13:42:11 +07:00
<script setup lang="ts">
/** รับค่ามาจากหน้าหลัก */
2023-06-07 13:42:11 +07:00
const props = defineProps({
editvisible: Boolean,
modalEdit: Boolean,
cancel: {
type: Function,
default: () => console.log("not function"),
},
edit: {
type: Function,
default: () => console.log("not function"),
},
save: {
type: Function,
default: () => console.log("not function"),
},
validate: {
type: Function,
default: () => console.log("not function"),
},
});
2023-06-07 13:42:11 +07:00
const emit = defineEmits([
"update:editvisible",
"update:next",
"update:previous",
]);
/**
* งช update
* @param value true/false
*/
2024-09-03 11:28:01 +07:00
function updateEdit(value: Boolean) {
2023-06-07 13:42:11 +07:00
emit("update:editvisible", value);
2024-09-03 11:28:01 +07:00
}
/** update edit */
2024-09-03 11:28:01 +07:00
async function edit() {
2023-06-07 13:42:11 +07:00
updateEdit(!props.editvisible);
props.edit();
2024-09-03 11:28:01 +07:00
}
/** save */
2024-09-03 11:28:01 +07:00
function checkSave() {
2023-06-07 13:42:11 +07:00
props.validate();
props.save();
2024-09-03 11:28:01 +07:00
}
2023-06-07 13:42:11 +07:00
</script>
2023-06-13 01:15:17 +07:00
<template>
<q-card-actions class="text-primary">
<q-space />
2024-09-03 11:28:01 +07:00
<q-btn
v-if="!editvisible"
2023-06-29 11:05:21 +07:00
outline
2024-09-03 11:28:01 +07:00
:disabled="editvisible"
2023-06-29 11:05:21 +07:00
:color="editvisible ? 'grey-7' : 'primary'"
2024-09-03 11:28:01 +07:00
@click="edit"
>
2023-06-13 01:15:17 +07:00
</q-btn>
2023-06-13 01:15:17 +07:00
<div v-else>
2024-09-03 11:28:01 +07:00
<q-btn
2023-06-29 11:05:21 +07:00
unelevated
label="บันทึก"
2024-09-03 11:28:01 +07:00
:disabled="!editvisible"
:color="!editvisible ? 'grey-7' : 'public'"
2023-06-29 11:05:21 +07:00
@click="checkSave"
>
</q-btn>
2023-06-13 01:15:17 +07:00
</div>
</q-card-actions>
</template>