เพิ่มข้อมูลตำแหน่ง
This commit is contained in:
parent
5ebf832889
commit
dc1ea116c8
3 changed files with 83 additions and 53 deletions
|
|
@ -10,6 +10,7 @@ import DialogAddPosition from "@/modules/01_metadataNew/components/position/Dial
|
||||||
|
|
||||||
interface FormPositionSelect {
|
interface FormPositionSelect {
|
||||||
positionId: string;
|
positionId: string;
|
||||||
|
posTypeId: string;
|
||||||
positionName: string;
|
positionName: string;
|
||||||
positionField: string;
|
positionField: string;
|
||||||
positionType: string;
|
positionType: string;
|
||||||
|
|
@ -50,6 +51,7 @@ const levelOps = ref<DataOption[]>([]);
|
||||||
|
|
||||||
const formPositionSelect = reactive<FormPositionSelect>({
|
const formPositionSelect = reactive<FormPositionSelect>({
|
||||||
positionId: "",
|
positionId: "",
|
||||||
|
posTypeId: "",
|
||||||
positionName: "",
|
positionName: "",
|
||||||
positionField: "",
|
positionField: "",
|
||||||
positionType: "",
|
positionType: "",
|
||||||
|
|
@ -191,8 +193,8 @@ const optionFilter = ref<DataOption[]>([
|
||||||
* @param data ข้อมูลตำแหน่ง
|
* @param data ข้อมูลตำแหน่ง
|
||||||
*/
|
*/
|
||||||
function copyDetiail(data: RowDetailPositions) {
|
function copyDetiail(data: RowDetailPositions) {
|
||||||
updateSelectType(data.posTypeId);
|
formPositionSelect.positionId = data.id;
|
||||||
formPositionSelect.positionId = data.positionId;
|
formPositionSelect.posTypeId = data.posTypeId;
|
||||||
formPositionSelect.positionName = data.positionName;
|
formPositionSelect.positionName = data.positionName;
|
||||||
formPositionSelect.positionField = data.positionField;
|
formPositionSelect.positionField = data.positionField;
|
||||||
formPositionSelect.positionType = data.posTypeId;
|
formPositionSelect.positionType = data.posTypeId;
|
||||||
|
|
@ -200,17 +202,10 @@ function copyDetiail(data: RowDetailPositions) {
|
||||||
formPositionSelect.positionExecutive = data.posExecutiveId;
|
formPositionSelect.positionExecutive = data.posExecutiveId;
|
||||||
formPositionSelect.positionExecutiveField = data.positionExecutiveField;
|
formPositionSelect.positionExecutiveField = data.positionExecutiveField;
|
||||||
formPositionSelect.positionArea = data.positionArea;
|
formPositionSelect.positionArea = data.positionArea;
|
||||||
|
modalAddPosition.value = true
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateSelectType(val: string) {
|
|
||||||
const listLevel = dataLevel.value.find((e: any) => e.id === val);
|
|
||||||
levelOpsMain.value = listLevel.posLevels.map((e: OptionLevel) => ({
|
|
||||||
id: e.id,
|
|
||||||
name: e.posLevelName,
|
|
||||||
}));
|
|
||||||
levelOps.value = levelOpsMain.value;
|
|
||||||
formPositionSelect.positionLevel = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ส่งค่า css ออกไปตามเงื่อนไข
|
* ส่งค่า css ออกไปตามเงื่อนไข
|
||||||
|
|
@ -276,7 +271,7 @@ function popupAdd() {
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<div class="row col-12 q-mb-sm">
|
<div class="row col-12 q-mb-sm">
|
||||||
<div class="col-1">
|
<div class="col-12 col-md-5">
|
||||||
<q-btn
|
<q-btn
|
||||||
id="addComplaints"
|
id="addComplaints"
|
||||||
for="addComplaints"
|
for="addComplaints"
|
||||||
|
|
@ -290,9 +285,8 @@ function popupAdd() {
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<q-space />
|
<q-space />
|
||||||
</div>
|
<div class="row col-12 col-md-7 q-col-gutter-sm justify-start">
|
||||||
<div class="row col-12 q-col-gutter-sm items-start">
|
<div class="col-12 col-sm-6 col-md-4">
|
||||||
<div class="col-12 col-sm-6 col-md-3">
|
|
||||||
<q-select
|
<q-select
|
||||||
label="ค้นหาจาก"
|
label="ค้นหาจาก"
|
||||||
v-model="type"
|
v-model="type"
|
||||||
|
|
@ -306,7 +300,7 @@ function popupAdd() {
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-12 col-sm-6 col-md-6">
|
<div class="col-12 col-sm-6 col-md-4">
|
||||||
<q-input
|
<q-input
|
||||||
ref="searchRef"
|
ref="searchRef"
|
||||||
:class="inputEdit(isReadonly)"
|
:class="inputEdit(isReadonly)"
|
||||||
|
|
@ -321,7 +315,7 @@ function popupAdd() {
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-12 col-sm-6 col-md-3">
|
<div class="col-12 col-sm-6 col-md-4">
|
||||||
<q-btn
|
<q-btn
|
||||||
color="primary"
|
color="primary"
|
||||||
icon="search"
|
icon="search"
|
||||||
|
|
@ -332,6 +326,8 @@ function popupAdd() {
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="full-width q-mt-sm">
|
<div class="full-width q-mt-sm">
|
||||||
<d-table
|
<d-table
|
||||||
|
|
@ -406,5 +402,9 @@ function popupAdd() {
|
||||||
</template>
|
</template>
|
||||||
</d-table>
|
</d-table>
|
||||||
</div>
|
</div>
|
||||||
<DialogAddPosition v-model:add-position="modalAddPosition" />
|
<DialogAddPosition
|
||||||
|
v-model:add-position="modalAddPosition"
|
||||||
|
v-model:form-data="formPositionSelect"
|
||||||
|
|
||||||
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ const { dialogConfirm, showLoader, success, hideLoader, messageError } =
|
||||||
|
|
||||||
const isReadonly = ref<boolean>(false); // อ่านได้อย่างเดียว
|
const isReadonly = ref<boolean>(false); // อ่านได้อย่างเดียว
|
||||||
const modal = defineModel<boolean>("addPosition", { required: true });
|
const modal = defineModel<boolean>("addPosition", { required: true });
|
||||||
|
const formData = defineModel<any>("formData", { required: true });
|
||||||
|
|
||||||
const positionNameRef = ref<Object | null>(null);
|
const positionNameRef = ref<Object | null>(null);
|
||||||
const positionFieldRef = ref<Object | null>(null);
|
const positionFieldRef = ref<Object | null>(null);
|
||||||
|
|
@ -79,34 +80,46 @@ function onSubmitSelectEdit() {
|
||||||
dialogConfirm(
|
dialogConfirm(
|
||||||
$q,
|
$q,
|
||||||
async () => {
|
async () => {
|
||||||
// showLoader();
|
showLoader();
|
||||||
// const body = {
|
const body = {
|
||||||
// posDictName: formPositionSelect.positionName,
|
posDictName: formPositionSelect.positionName,
|
||||||
// posDictField: formPositionSelect.positionField, //สายงาน
|
posDictField: formPositionSelect.positionField, //สายงาน
|
||||||
// posTypeId: formPositionSelect.positionType, //*ประเภทตำแหน่ง
|
posTypeId: formPositionSelect.positionType, //*ประเภทตำแหน่ง
|
||||||
// posLevelId: formPositionSelect.positionLevel, //*ระดับตำแหน่ง
|
posLevelId: formPositionSelect.positionLevel, //*ระดับตำแหน่ง
|
||||||
// posExecutiveId: formPositionSelect.positionExecutive, //ตำแหน่งทางการบริหาร
|
posExecutiveId: formPositionSelect.positionExecutive, //ตำแหน่งทางการบริหาร
|
||||||
// posDictExecutiveField: formPositionSelect.positionExecutiveField, //ด้านทางการบริหาร
|
posDictExecutiveField: formPositionSelect.positionExecutiveField, //ด้านทางการบริหาร
|
||||||
// posDictArea: formPositionSelect.positionArea, //ด้าน/สาขา
|
posDictArea: formPositionSelect.positionArea, //ด้าน/สาขา
|
||||||
// };
|
};
|
||||||
// await http
|
await http
|
||||||
// .post(config.API.orgPosPosition, body)
|
.post(config.API.orgPosPosition, body)
|
||||||
// .then(() => {
|
.then(() => {
|
||||||
// success($q, "เพิ่มข้อมูลสำเร็จ");
|
success($q, "เพิ่มข้อมูลสำเร็จ");
|
||||||
// clearFormPositionSelect();
|
clearFormPositionSelect();
|
||||||
// })
|
modal.value = false;
|
||||||
// .catch((err) => {
|
})
|
||||||
// messageError($q, err);
|
.catch((err) => {
|
||||||
// })
|
messageError($q, err);
|
||||||
// .finally(() => {
|
})
|
||||||
// hideLoader();
|
.finally(() => {
|
||||||
// });
|
hideLoader();
|
||||||
|
});
|
||||||
},
|
},
|
||||||
"ยืนยันการเพิ่มตำแหน่ง",
|
"ยืนยันการเพิ่มตำแหน่ง",
|
||||||
"ต้องการยืนยันการเพิ่มตำแหน่งนี้ใช่หรือไม่?"
|
"ต้องการยืนยันการเพิ่มตำแหน่งนี้ใช่หรือไม่?"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function clearFormPositionSelect() {
|
||||||
|
formPositionSelect.positionId = "";
|
||||||
|
formPositionSelect.positionName = "";
|
||||||
|
formPositionSelect.positionField = "";
|
||||||
|
formPositionSelect.positionType = "";
|
||||||
|
formPositionSelect.positionLevel = "";
|
||||||
|
formPositionSelect.positionExecutive = "";
|
||||||
|
formPositionSelect.positionExecutiveField = "";
|
||||||
|
formPositionSelect.positionArea = "";
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ส่งค่า css ออกไปตามเงื่อนไข
|
* ส่งค่า css ออกไปตามเงื่อนไข
|
||||||
* @param val true/false
|
* @param val true/false
|
||||||
|
|
@ -124,8 +137,9 @@ async function fetchType() {
|
||||||
await http
|
await http
|
||||||
.get(config.API.orgPosType)
|
.get(config.API.orgPosType)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
dataLevel.value = res.data.result;
|
const data = res.data.result;
|
||||||
typeOpsMain.value = res.data.result.map((e: OptionType) => ({
|
dataLevel.value = data;
|
||||||
|
typeOpsMain.value = data.map((e: OptionType) => ({
|
||||||
id: e.id,
|
id: e.id,
|
||||||
name: e.posTypeName,
|
name: e.posTypeName,
|
||||||
}));
|
}));
|
||||||
|
|
@ -139,16 +153,6 @@ async function fetchType() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateSelectType(val: string) {
|
|
||||||
const listLevel = dataLevel.value.find((e: any) => e.id === val);
|
|
||||||
levelOpsMain.value = listLevel.posLevels.map((e: OptionLevel) => ({
|
|
||||||
id: e.id,
|
|
||||||
name: e.posLevelName,
|
|
||||||
}));
|
|
||||||
levelOps.value = levelOpsMain.value;
|
|
||||||
formPositionSelect.positionLevel = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
/** function เรียกรายการตำแหน่งทางการบริหาร */
|
/** function เรียกรายการตำแหน่งทางการบริหาร */
|
||||||
async function fetchExecutive() {
|
async function fetchExecutive() {
|
||||||
showLoader();
|
showLoader();
|
||||||
|
|
@ -175,9 +179,33 @@ watch(
|
||||||
if (modal.value == true) {
|
if (modal.value == true) {
|
||||||
fetchType();
|
fetchType();
|
||||||
fetchExecutive();
|
fetchExecutive();
|
||||||
|
if (formData.value) {
|
||||||
|
const dataList = formData.value;
|
||||||
|
setTimeout(() => {
|
||||||
|
updateSelectType(dataList.posTypeId);
|
||||||
|
}, 1000);
|
||||||
|
formPositionSelect.positionId = dataList.positionId;
|
||||||
|
formPositionSelect.positionName = dataList.positionName;
|
||||||
|
formPositionSelect.positionField = dataList.positionField;
|
||||||
|
formPositionSelect.positionType = dataList.positionType;
|
||||||
|
formPositionSelect.positionLevel = dataList.positionLevel;
|
||||||
|
formPositionSelect.positionExecutive = dataList.positionExecutive;
|
||||||
|
formPositionSelect.positionExecutiveField =
|
||||||
|
dataList.positionExecutiveField;
|
||||||
|
formPositionSelect.positionArea = dataList.positionArea;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
function updateSelectType(val: string) {
|
||||||
|
const listLevel = dataLevel.value.find((e: any) => e.id === val);
|
||||||
|
levelOpsMain.value = listLevel.posLevels.map((e: OptionLevel) => ({
|
||||||
|
id: e.id,
|
||||||
|
name: e.posLevelName,
|
||||||
|
}));
|
||||||
|
levelOps.value = levelOpsMain.value;
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ onMounted(() => {
|
||||||
<template>
|
<template>
|
||||||
<div class="toptitle text-dark col-12 row items-center">ข้อมูลตำแหน่ง</div>
|
<div class="toptitle text-dark col-12 row items-center">ข้อมูลตำแหน่ง</div>
|
||||||
|
|
||||||
<q-card flat bordered class="q-pa-md">
|
<q-card flat bordered >
|
||||||
<q-tabs
|
<q-tabs
|
||||||
dense
|
dense
|
||||||
v-model="currentTab"
|
v-model="currentTab"
|
||||||
|
|
@ -40,9 +40,11 @@ onMounted(() => {
|
||||||
/>
|
/>
|
||||||
</q-tabs>
|
</q-tabs>
|
||||||
<q-separator size="2px" />
|
<q-separator size="2px" />
|
||||||
|
<div class="q-pa-md">
|
||||||
<ListPosition v-if="currentTab == 'list_position'"/>
|
<ListPosition v-if="currentTab == 'list_position'"/>
|
||||||
<ListType v-if="currentTab == 'list_type'"/>
|
<ListType v-if="currentTab == 'list_type'"/>
|
||||||
<ListExecutive v-if="currentTab == 'list_executive'"/>
|
<ListExecutive v-if="currentTab == 'list_executive'"/>
|
||||||
|
</div>
|
||||||
</q-card>
|
</q-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue