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

View file

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

View file

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