no message
This commit is contained in:
parent
c23af7ec9b
commit
3375421ef5
4 changed files with 171 additions and 15 deletions
|
|
@ -13,6 +13,7 @@ import type {
|
|||
import type { QTableProps } from "quasar";
|
||||
import DialogAddPosition from "@/modules/01_metadataNew/components/position/DialogAddPosition.vue";
|
||||
|
||||
const editPosition = ref<boolean>(false)
|
||||
const modalAddPosition = ref<boolean>(false);
|
||||
const levelOpsMain = ref<DataOption[]>([]);
|
||||
const dataLevel = ref<any>();
|
||||
|
|
@ -173,6 +174,23 @@ function copyDetiail(data: RowDetailPositions) {
|
|||
formPositionSelect.positionArea = data.positionArea;
|
||||
modalAddPosition.value = true;
|
||||
}
|
||||
/**
|
||||
* แก้ไขข้อมูล
|
||||
* @param data ข้อมูลตำแหน่ง
|
||||
*/
|
||||
function editDetiail(data: RowDetailPositions) {
|
||||
formPositionSelect.positionId = data.id;
|
||||
formPositionSelect.posTypeId = data.posTypeId;
|
||||
formPositionSelect.positionName = data.positionName;
|
||||
formPositionSelect.positionField = data.positionField;
|
||||
formPositionSelect.positionType = data.posTypeId;
|
||||
formPositionSelect.positionLevel = data.posLevelId;
|
||||
formPositionSelect.positionExecutive = data.posExecutiveId;
|
||||
formPositionSelect.positionExecutiveField = data.positionExecutiveField;
|
||||
formPositionSelect.positionArea = data.positionArea;
|
||||
modalAddPosition.value = true;
|
||||
editPosition.value = true
|
||||
}
|
||||
|
||||
/**
|
||||
* ส่งค่า css ออกไปตามเงื่อนไข
|
||||
|
|
@ -376,6 +394,19 @@ onMounted(() => {
|
|||
>
|
||||
<q-tooltip>คัดลอกข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
color="edit"
|
||||
flat
|
||||
dense
|
||||
round
|
||||
size="12px"
|
||||
icon="mdi-pencil"
|
||||
clickable
|
||||
@click.stop="editDetiail(props.row)"
|
||||
v-close-popup
|
||||
>
|
||||
<q-tooltip>แก้ไขข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
color="red"
|
||||
flat
|
||||
|
|
@ -397,5 +428,7 @@ onMounted(() => {
|
|||
<DialogAddPosition
|
||||
v-model:add-position="modalAddPosition"
|
||||
v-model:form-data="formPositionSelect"
|
||||
v-model:edit-check="editPosition"
|
||||
:get-data="searchInput"
|
||||
/>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<script setup lang="ts">
|
||||
import { ref, reactive, watch } from "vue";
|
||||
import { ref, reactive, watch,defineProps } from "vue";
|
||||
import { useQuasar } from "quasar";
|
||||
import http from "@/plugins/http";
|
||||
import config from "@/app.config";
|
||||
|
|
@ -33,12 +33,16 @@ const formPositionSelect = reactive<FormPositionSelectDialog>({
|
|||
});
|
||||
const $q = useQuasar();
|
||||
|
||||
const props = defineProps({
|
||||
getData:Function
|
||||
})
|
||||
const { dialogConfirm, showLoader, success, hideLoader, messageError } =
|
||||
useCounterMixin();
|
||||
|
||||
const isReadonly = ref<boolean>(false); // อ่านได้อย่างเดียว
|
||||
const modal = defineModel<boolean>("addPosition", { required: true });
|
||||
const formData = defineModel<any>("formData", { required: true });
|
||||
const editCheck = defineModel<boolean>("editCheck", { required: true });
|
||||
|
||||
const positionNameRef = ref<Object | null>(null);
|
||||
const positionFieldRef = ref<Object | null>(null);
|
||||
|
|
@ -71,10 +75,54 @@ function validateFormPositionEdit() {
|
|||
}
|
||||
}
|
||||
if (hasError.every((result) => result === true)) {
|
||||
onSubmitSelectEdit();
|
||||
if (editCheck.value == true) {
|
||||
saveSelectEdit();
|
||||
} else {
|
||||
onSubmitSelectEdit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** ฟังชั่น บันทึก */
|
||||
function saveSelectEdit() {
|
||||
console.log(formPositionSelect.positionExecutive)
|
||||
console.log(formPositionSelect.positionArea)
|
||||
dialogConfirm(
|
||||
$q,
|
||||
async () => {
|
||||
showLoader();
|
||||
const body = {
|
||||
posDictName: formPositionSelect.positionName,
|
||||
posDictField: formPositionSelect.positionField, //สายงาน
|
||||
posTypeId: formPositionSelect.positionType, //*ประเภทตำแหน่ง
|
||||
posLevelId: formPositionSelect.positionLevel, //*ระดับตำแหน่ง
|
||||
posExecutiveId:
|
||||
formPositionSelect.positionExecutive == null
|
||||
? ''
|
||||
: formPositionSelect.positionExecutive, //ตำแหน่งทางการบริหาร
|
||||
posDictExecutiveField: formPositionSelect.positionExecutiveField!==null?formPositionSelect.positionExecutiveField:'', //ด้านทางการบริหาร
|
||||
posDictArea: formPositionSelect.positionArea !== null ? formPositionSelect.positionArea:'', //ด้าน/สาขา
|
||||
};
|
||||
await http
|
||||
.put(config.API.orgPosPositionById(formPositionSelect.positionId), body)
|
||||
.then(() => {
|
||||
success($q, "เพิ่มข้อมูลสำเร็จ");
|
||||
clearFormPositionSelect();
|
||||
modal.value = false;
|
||||
editCheck.value = false;
|
||||
props.getData?.()
|
||||
})
|
||||
.catch((err) => {
|
||||
messageError($q, err);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
},
|
||||
"ยืนยันการเพิ่มตำแหน่ง",
|
||||
"ต้องการยืนยันการเพิ่มตำแหน่งนี้ใช่หรือไม่?"
|
||||
);
|
||||
}
|
||||
/** ฟังชั่น บันทึก */
|
||||
function onSubmitSelectEdit() {
|
||||
dialogConfirm(
|
||||
|
|
@ -86,7 +134,10 @@ function onSubmitSelectEdit() {
|
|||
posDictField: formPositionSelect.positionField, //สายงาน
|
||||
posTypeId: formPositionSelect.positionType, //*ประเภทตำแหน่ง
|
||||
posLevelId: formPositionSelect.positionLevel, //*ระดับตำแหน่ง
|
||||
posExecutiveId: formPositionSelect.positionExecutive == '' ? null:formPositionSelect.positionExecutive, //ตำแหน่งทางการบริหาร
|
||||
posExecutiveId:
|
||||
formPositionSelect.positionExecutive == ""
|
||||
? null
|
||||
: formPositionSelect.positionExecutive, //ตำแหน่งทางการบริหาร
|
||||
posDictExecutiveField: formPositionSelect.positionExecutiveField, //ด้านทางการบริหาร
|
||||
posDictArea: formPositionSelect.positionArea, //ด้าน/สาขา
|
||||
};
|
||||
|
|
@ -96,6 +147,7 @@ function onSubmitSelectEdit() {
|
|||
success($q, "เพิ่มข้อมูลสำเร็จ");
|
||||
clearFormPositionSelect();
|
||||
modal.value = false;
|
||||
editCheck.value = false;
|
||||
})
|
||||
.catch((err) => {
|
||||
messageError($q, err);
|
||||
|
|
@ -206,6 +258,11 @@ function updateSelectType(val: string) {
|
|||
}));
|
||||
levelOps.value = levelOpsMain.value;
|
||||
}
|
||||
|
||||
function close() {
|
||||
modal.value = false;
|
||||
editCheck.value = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
|
@ -213,8 +270,8 @@ function updateSelectType(val: string) {
|
|||
<q-card style="min-width: 50vw">
|
||||
<form @submit.prevent="validateFormPositionEdit">
|
||||
<DialogHeader
|
||||
:tittle="`เพิ่มข้อมูลตำแหน่ง`"
|
||||
:close="() => (modal = false)"
|
||||
:tittle="`${editCheck ? 'แก้ไขข้อมูลตำแหน่ง' : 'เพิ่มข้อมูลตำแหน่ง'}`"
|
||||
:close="close"
|
||||
/>
|
||||
<q-separator />
|
||||
|
||||
|
|
|
|||
|
|
@ -26,10 +26,12 @@ import type {
|
|||
const isSpecial = ref<boolean>(false)
|
||||
const props = defineProps({
|
||||
emitSearch: Function,
|
||||
getData: Function,
|
||||
data: Object,
|
||||
levelOp: Object,
|
||||
});
|
||||
const modal = defineModel<boolean>("modalAdd", { required: true });
|
||||
const isEditCheck = defineModel<boolean>("isEdit", { required: true });
|
||||
const dataLevel = ref<any>();
|
||||
const $q = useQuasar();
|
||||
const mixin = useCounterMixin();
|
||||
|
|
@ -94,12 +96,16 @@ function validateFormPositionEdit() {
|
|||
}
|
||||
}
|
||||
if (hasError.every((result) => result === true)) {
|
||||
onSubmitSelectEdit();
|
||||
if(isEditCheck.value == true){
|
||||
saveSelectEdit();
|
||||
}else{
|
||||
onSubmitSelectEdit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** ฟังชั่น บันทึก */
|
||||
function onSubmitSelectEdit() {
|
||||
function saveSelectEdit(){
|
||||
console.log(formPositionSelect.positionExecutive)
|
||||
dialogConfirm(
|
||||
$q,
|
||||
async () => {
|
||||
|
|
@ -110,11 +116,50 @@ function onSubmitSelectEdit() {
|
|||
posTypeId: formPositionSelect.positionType, //*ประเภทตำแหน่ง
|
||||
posLevelId: formPositionSelect.positionLevel, //*ระดับตำแหน่ง
|
||||
posExecutiveId:
|
||||
formPositionSelect.positionExecutive !== ""
|
||||
formPositionSelect.positionExecutive !== null
|
||||
? formPositionSelect.positionExecutive
|
||||
: null, //ตำแหน่งทางการบริหาร
|
||||
posDictExecutiveField: formPositionSelect.positionExecutiveField, //ด้านทางการบริหาร
|
||||
posDictArea: formPositionSelect.positionArea, //ด้าน/สาขา
|
||||
: '', //ตำแหน่งทางการบริหาร
|
||||
posDictExecutiveField: formPositionSelect.positionExecutiveField !== null ? formPositionSelect.positionExecutiveField :'', //ด้านทางการบริหาร
|
||||
posDictArea: formPositionSelect.positionArea !== null ? formPositionSelect.positionArea :'', //ด้าน/สาขา
|
||||
isSpecial:isSpecial.value
|
||||
};
|
||||
await http
|
||||
.put(config.API.orgPosPositionById(formPositionSelect.positionId), body)
|
||||
.then(() => {
|
||||
success($q, "เพิ่มข้อมูลสำเร็จ");
|
||||
|
||||
props.getData?.()
|
||||
close();
|
||||
})
|
||||
.catch((err) => {
|
||||
messageError($q, err);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
},
|
||||
"ยืนยันการแก้ไขตำแหน่ง",
|
||||
"ต้องการยืนยันแก้ไขตำแหน่งนี้ใช่หรือไม่?"
|
||||
);
|
||||
}
|
||||
/** ฟังชั่น บันทึก */
|
||||
function onSubmitSelectEdit() {
|
||||
console.log(formPositionSelect.positionExecutive)
|
||||
dialogConfirm(
|
||||
$q,
|
||||
async () => {
|
||||
showLoader();
|
||||
const body = {
|
||||
posDictName: formPositionSelect.positionName,
|
||||
posDictField: formPositionSelect.positionField, //สายงาน
|
||||
posTypeId: formPositionSelect.positionType, //*ประเภทตำแหน่ง
|
||||
posLevelId: formPositionSelect.positionLevel, //*ระดับตำแหน่ง
|
||||
posExecutiveId:
|
||||
formPositionSelect.positionExecutive !== null
|
||||
? formPositionSelect.positionExecutive
|
||||
: '', //ตำแหน่งทางการบริหาร
|
||||
posDictExecutiveField: formPositionSelect.positionExecutiveField !== null ? formPositionSelect.positionExecutiveField :'', //ด้านทางการบริหาร
|
||||
posDictArea: formPositionSelect.positionArea !== null ? formPositionSelect.positionArea :'', //ด้าน/สาขา
|
||||
isSpecial:isSpecial.value
|
||||
};
|
||||
await http
|
||||
|
|
@ -138,6 +183,7 @@ function onSubmitSelectEdit() {
|
|||
}
|
||||
|
||||
async function clearFormPositionSelect() {
|
||||
isEditCheck.value = false
|
||||
isDisValidate.value = await true;
|
||||
formPositionSelect.positionId = "";
|
||||
formPositionSelect.positionName = "";
|
||||
|
|
@ -238,6 +284,7 @@ watch(
|
|||
formPositionSelect.positionExecutiveField =
|
||||
dataList.positionExecutiveField;
|
||||
formPositionSelect.positionArea = dataList.positionArea;
|
||||
isSpecial.value = dataList.isSpecial
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -246,7 +293,7 @@ watch(
|
|||
<template>
|
||||
<q-dialog v-model="modal" persistent>
|
||||
<q-card style="min-width: 50vw">
|
||||
<DialogHeader :tittle="'เพิ่มข้อมูลตำแหน่ง'" :close="close" />
|
||||
<DialogHeader :tittle="`${isEditCheck ? `แก้ไขข้อมูลตำแหน่ง`:`เพิ่มข้อมูลตำแหน่ง`}`" :close="close" />
|
||||
<q-separator />
|
||||
|
||||
<q-card-section class="q-pa-none">
|
||||
|
|
@ -383,7 +430,7 @@ watch(
|
|||
</div>
|
||||
<q-separator />
|
||||
<q-card-actions align="right" class="bg-white text-teal q-pa-sm">
|
||||
<q-btn type="submit" label="เพิ่มตำแหน่ง" color="public" />
|
||||
<q-btn type="submit" :label="`${isEditCheck ? 'แก้ไขตำแหน่ง':'เพิ่มตำแหน่ง'}`" color="public" />
|
||||
</q-card-actions>
|
||||
</form>
|
||||
</q-card-section>
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ const props = defineProps({
|
|||
shortName: { type: String, required: true },
|
||||
});
|
||||
|
||||
const isEdit = ref<boolean>(false)
|
||||
const modalAdd = ref<boolean>(false);
|
||||
const reqMaster = defineModel<FilterMaster>("reqMaster", { required: true });
|
||||
const isReadonly = ref<boolean>(false); // อ่านได้อย่างเดียว
|
||||
|
|
@ -82,6 +83,12 @@ const listMenu = ref<ListMenu[]>([
|
|||
type: "copy",
|
||||
color: "blue-6",
|
||||
},
|
||||
{
|
||||
label: "แก้ไข",
|
||||
icon: "mdi-pencil",
|
||||
type: "edit",
|
||||
color: "edit",
|
||||
},
|
||||
{
|
||||
label: "ลบ",
|
||||
icon: "delete",
|
||||
|
|
@ -486,6 +493,16 @@ function copyDetiail(data: RowDetailPositions) {
|
|||
modalAdd.value = true;
|
||||
dataCopy.value = data;
|
||||
}
|
||||
/**
|
||||
* แก้ไขข้อมูล
|
||||
* @param data ข้อมูลตำแหน่ง
|
||||
*/
|
||||
function editDetiail(data: RowDetailPositions) {
|
||||
isEdit.value = true;
|
||||
modalAdd.value = true;
|
||||
dataCopy.value = data;
|
||||
console.log(isEdit.value)
|
||||
}
|
||||
|
||||
/**
|
||||
* ส่งค่า css ออกไปตามเงื่อนไข
|
||||
|
|
@ -908,7 +925,7 @@ async function emitSearch(keyword: string, typeSelect: string) {
|
|||
@click="
|
||||
item.type === 'copy'
|
||||
? copyDetiail(props.row)
|
||||
: deletePos(props.row.id)
|
||||
: item.type === 'edit' ? editDetiail(props.row) : deletePos(props.row.id)
|
||||
"
|
||||
>
|
||||
<q-item-section avatar>
|
||||
|
|
@ -946,6 +963,8 @@ async function emitSearch(keyword: string, typeSelect: string) {
|
|||
v-model:modalAdd="modalAdd"
|
||||
:emitSearch="emitSearch"
|
||||
:data="dataCopy"
|
||||
v-model:is-edit="isEdit"
|
||||
:get-data="searchInput"
|
||||
/>
|
||||
</template>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue