fix(master-data): Type posLevelName To String

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2026-02-24 16:25:03 +07:00
parent d1340f523d
commit 7004fcac1d
3 changed files with 44 additions and 14 deletions

View file

@ -51,12 +51,21 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "posLevelName", name: "posLevelName",
align: "left", align: "left",
label: "ระดับชั้นงาน", label: "ชั้นงาน",
sortable: true, sortable: true,
field: "posLevelName", field: "posLevelName",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
{
name: "posLevelRank",
align: "left",
label: "ระดับชั้นงาน",
sortable: true,
field: "posLevelRank",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
{ {
name: "posTypeName", name: "posTypeName",
align: "left", align: "left",
@ -116,6 +125,7 @@ const columns = ref<QTableProps["columns"]>([
const visibleColumns = ref<string[]>([ const visibleColumns = ref<string[]>([
"no", "no",
"posLevelName", "posLevelName",
"posLevelRank",
"posTypeName", "posTypeName",
"posLevelAuthority", "posLevelAuthority",
"createdAt", "createdAt",
@ -130,9 +140,10 @@ const isStatusEdit = ref<boolean>(false); // สถานะแก่ไขข
const modalDialog = ref<boolean>(false); // popup const modalDialog = ref<boolean>(false); // popup
// //
const formDataLevel = reactive<FormDataLevel>({ const formDataLevel = reactive<FormDataLevel>({
posLevelName: null, posLevelName: "",
posTypeName: "", posTypeName: "",
posLevelAuthority: "", posLevelAuthority: "",
posLevelRank: null,
}); });
/** /**
@ -170,7 +181,7 @@ async function fetchData() {
*/ */
function onClickOpenDialog( function onClickOpenDialog(
statusEdit: boolean = false, statusEdit: boolean = false,
data: DataGroup = {} as DataGroup data: DataGroup = {} as DataGroup,
) { ) {
isStatusEdit.value = statusEdit; isStatusEdit.value = statusEdit;
modalDialog.value = true; modalDialog.value = true;
@ -180,6 +191,7 @@ function onClickOpenDialog(
formDataLevel.posLevelName = data.posLevelName; formDataLevel.posLevelName = data.posLevelName;
formDataLevel.posTypeName = titleName.value; formDataLevel.posTypeName = titleName.value;
formDataLevel.posLevelAuthority = data.posLevelAuthority; formDataLevel.posLevelAuthority = data.posLevelAuthority;
formDataLevel.posLevelRank = data.posLevelRank;
} else { } else {
formDataLevel.posTypeName = titleName.value ? titleName.value : ""; formDataLevel.posTypeName = titleName.value ? titleName.value : "";
} }
@ -191,9 +203,10 @@ function onClickOpenDialog(
*/ */
function onClickCloseDialog() { function onClickCloseDialog() {
modalDialog.value = false; modalDialog.value = false;
formDataLevel.posLevelName = null; formDataLevel.posLevelName = "";
formDataLevel.posTypeName = ""; formDataLevel.posTypeName = "";
formDataLevel.posLevelAuthority = ""; formDataLevel.posLevelAuthority = "";
formDataLevel.posLevelRank = null;
} }
/** /**
@ -206,9 +219,9 @@ function onSubmit() {
dialogConfirm($q, async () => { dialogConfirm($q, async () => {
showLoader(); showLoader();
const body = { const body = {
posLevelName: Number(formDataLevel.posLevelName), posLevelName: formDataLevel.posLevelName,
posTypeId: posTypeId.value, posTypeId: posTypeId.value,
posLevelRank: Number(formDataLevel.posLevelName), posLevelRank: Number(formDataLevel.posLevelRank),
posLevelAuthority: formDataLevel.posLevelAuthority, posLevelAuthority: formDataLevel.posLevelAuthority,
}; };
// Phat APi // Phat APi
@ -268,7 +281,7 @@ function serchDataTable() {
rows.value = onSearchDataTable( rows.value = onSearchDataTable(
filter.value, filter.value,
rowsMain.value, rowsMain.value,
columns.value ? columns.value : [] columns.value ? columns.value : [],
); );
} }
@ -412,15 +425,13 @@ onMounted(() => {
outlined outlined
ref="posLevelNameRef" ref="posLevelNameRef"
v-model="formDataLevel.posLevelName" v-model="formDataLevel.posLevelName"
label="ระดับชั้นงาน" label="ชั้นงาน"
dense dense
lazy-rules lazy-rules
borderless borderless
bg-color="white" bg-color="white"
hide-bottom-space hide-bottom-space
mask="#" :rules="[(val:string) => !!val || 'กรุณากรอกชั้นงาน']"
reverse-fill-mask
:rules="[(val:string) => !!val || 'กรุณากรอกระดับชั้นงาน']"
class="inputgreen" class="inputgreen"
/> />
</div> </div>
@ -449,7 +460,7 @@ onMounted(() => {
<q-select <q-select
ref="posTypeIdRef" ref="posTypeIdRef"
v-model="formDataLevel.posTypeName" v-model="formDataLevel.posTypeName"
label="ระดับชั้นงาน" label="กลุ่มงาน"
outlined outlined
dense dense
bg-color="white" bg-color="white"
@ -457,6 +468,24 @@ onMounted(() => {
readonly readonly
/> />
</div> </div>
<div class="col-12">
<q-input
outlined
ref="posLevelNameRef"
v-model="formDataLevel.posLevelRank"
label="ระดับชั้นงาน"
dense
lazy-rules
borderless
bg-color="white"
hide-bottom-space
mask="#"
reverse-fill-mask
:rules="[(val:string) => !!val || 'กรุณากรอกระดับชั้นงาน']"
class="inputgreen"
/>
</div>
</q-card-section> </q-card-section>
<q-separator /> <q-separator />
<q-card-actions align="right"> <q-card-actions align="right">

View file

@ -28,7 +28,7 @@ interface FormQuery {
interface DataGroup { interface DataGroup {
id: string; id: string;
posLevelAuthority: string; posLevelAuthority: string;
posLevelName: number; posLevelName: string;
posLevelRank: number; posLevelRank: number;
posTypeName: string; posTypeName: string;
} }

View file

@ -5,9 +5,10 @@ interface FrmDataGroup {
} }
interface FormDataLevel { interface FormDataLevel {
posLevelName: number | null; posLevelName: string;
posTypeName: string | null; posTypeName: string | null;
posLevelAuthority: string; posLevelAuthority: string;
posLevelRank: number | null;
} }
export type { FrmDataGroup, FormDataLevel }; export type { FrmDataGroup, FormDataLevel };