fix: commander popup
This commit is contained in:
parent
e7e767e7f9
commit
cb7f021834
9 changed files with 231 additions and 172 deletions
|
|
@ -36,15 +36,6 @@ const rejectName = computed(() =>
|
|||
const selected = ref<any[]>([]);
|
||||
const rows = ref<any[]>([]);
|
||||
const columns = ref<QTableProps["columns"]>([
|
||||
{
|
||||
name: "posNo",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
sortable: true,
|
||||
field: "posNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
{
|
||||
name: "fullName",
|
||||
align: "left",
|
||||
|
|
@ -58,11 +49,20 @@ const columns = ref<QTableProps["columns"]>([
|
|||
style: "font-size: 14px",
|
||||
},
|
||||
{
|
||||
name: "posExecutiveName",
|
||||
name: "posNo",
|
||||
align: "left",
|
||||
label: "ตำแหน่งทางการบริหาร",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
sortable: true,
|
||||
field: "posExecutiveName",
|
||||
field: "posNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
{
|
||||
name: "positionSign",
|
||||
align: "left",
|
||||
label: "ตำแหน่งใต้ลายเซ็น",
|
||||
sortable: true,
|
||||
field: "positionSign",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
|
|
|
|||
|
|
@ -103,14 +103,14 @@ const visibleColumns = ref<string[]>([
|
|||
"positionType",
|
||||
"actFullName",
|
||||
]);
|
||||
const visibleColumnsMember = ref<string[]>([
|
||||
"no",
|
||||
const visibleColumnsMemberBase = ref<string[]>([
|
||||
// "no",
|
||||
"posNo",
|
||||
"name",
|
||||
"position",
|
||||
"posLevel",
|
||||
"posType",
|
||||
"actFullName",
|
||||
"positionSign",
|
||||
]);
|
||||
/** หัวตาราง */
|
||||
const columns = ref<QTableProps["columns"]>([
|
||||
|
|
@ -173,24 +173,33 @@ const columns = ref<QTableProps["columns"]>([
|
|||
}`;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "actFullName",
|
||||
align: "left",
|
||||
label: "รักษาการแทน",
|
||||
sortable: true,
|
||||
field: "actFullName",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
// {
|
||||
// name: "actFullName",
|
||||
// align: "left",
|
||||
// label: "รักษาการแทน",
|
||||
// sortable: true,
|
||||
// field: "actFullName",
|
||||
// headerStyle: "font-size: 14px",
|
||||
// style: "font-size: 14px",
|
||||
// },
|
||||
]);
|
||||
|
||||
const baseColumnsMember = ref<QTableProps["columns"]>([
|
||||
// {
|
||||
// name: "no",
|
||||
// align: "left",
|
||||
// label: "ลำดับ",
|
||||
// sortable: false,
|
||||
// field: "no",
|
||||
// headerStyle: "font-size: 14px",
|
||||
// style: "font-size: 14px",
|
||||
// },
|
||||
{
|
||||
name: "no",
|
||||
name: "name",
|
||||
align: "left",
|
||||
label: "ลำดับ",
|
||||
sortable: false,
|
||||
field: "no",
|
||||
label: "ชื่อ-นามสกุล",
|
||||
sortable: true,
|
||||
field: "name",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
|
|
@ -203,16 +212,6 @@ const baseColumnsMember = ref<QTableProps["columns"]>([
|
|||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
{
|
||||
name: "name",
|
||||
align: "left",
|
||||
label: "ชื่อ-นามสกุล",
|
||||
sortable: true,
|
||||
field: "name",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
|
||||
{
|
||||
name: "position",
|
||||
align: "left",
|
||||
|
|
@ -236,6 +235,15 @@ const baseColumnsMember = ref<QTableProps["columns"]>([
|
|||
}`;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "positionSign",
|
||||
align: "left",
|
||||
label: "ตำแหน่งใต้ลายเซ็น",
|
||||
sortable: true,
|
||||
field: "positionSign",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
]);
|
||||
|
||||
const columnsMember = computed(() => {
|
||||
|
|
@ -250,6 +258,13 @@ const columnsMember = computed(() => {
|
|||
return baseColumnsMember.value;
|
||||
});
|
||||
|
||||
const visibleColumnsMember = computed(() => {
|
||||
if (isAct.value || isDirector.value) {
|
||||
return ["name", "posNo", "positionSign"];
|
||||
}
|
||||
return ["name", "posNo", "position", "posLevel", "posType"];
|
||||
});
|
||||
|
||||
/** เพิ่ม คณะกรรมการ */
|
||||
function onAdd() {
|
||||
modal.value = true;
|
||||
|
|
|
|||
|
|
@ -31,15 +31,15 @@ const pageSize = ref<number>(10);
|
|||
const maxPaeg = ref<number>(1);
|
||||
const total = ref<number>(0);
|
||||
const columns = ref<QTableProps["columns"]>([
|
||||
{
|
||||
name: "citizenId",
|
||||
align: "left",
|
||||
label: "เลขประจำตัวประชาชน",
|
||||
sortable: true,
|
||||
field: "citizenId",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
// {
|
||||
// name: "citizenId",
|
||||
// align: "left",
|
||||
// label: "เลขประจำตัวประชาชน",
|
||||
// sortable: true,
|
||||
// field: "citizenId",
|
||||
// headerStyle: "font-size: 14px",
|
||||
// style: "font-size: 14px",
|
||||
// },
|
||||
{
|
||||
name: "posNo",
|
||||
align: "left",
|
||||
|
|
@ -86,6 +86,39 @@ const columns = ref<QTableProps["columns"]>([
|
|||
},
|
||||
]);
|
||||
|
||||
const columnsAct = ref<QTableProps["columns"]>([
|
||||
{
|
||||
name: "fullName",
|
||||
align: "left",
|
||||
label: "ชื่อ-นามสกุล",
|
||||
sortable: true,
|
||||
field: "fullName",
|
||||
format(val, row) {
|
||||
return `${row.prefix}${row.firstName} ${row.lastName}`;
|
||||
},
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
{
|
||||
name: "posNo",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
sortable: true,
|
||||
field: "posNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
{
|
||||
name: "positionSign",
|
||||
align: "left",
|
||||
label: "ตำแหน่งใต้ลายเซ็น",
|
||||
sortable: true,
|
||||
field: "positionSign",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
]);
|
||||
|
||||
function onCloseDialog() {
|
||||
modal.value = false;
|
||||
isAct.value = false;
|
||||
|
|
@ -197,7 +230,7 @@ watch(modal, (val) => {
|
|||
<div class="col-12">
|
||||
<d-table
|
||||
flat
|
||||
:columns="columns"
|
||||
:columns="isAct ? columnsAct : columns"
|
||||
:rows="rows"
|
||||
row-key="key"
|
||||
dense
|
||||
|
|
@ -246,7 +279,7 @@ watch(modal, (val) => {
|
|||
:props="props"
|
||||
>
|
||||
<div>
|
||||
{{ col.value ?? "-" }}
|
||||
{{ col.value ? col.value : "-" }}
|
||||
</div>
|
||||
</q-td>
|
||||
</q-tr>
|
||||
|
|
|
|||
|
|
@ -48,15 +48,6 @@ const pagination = ref({
|
|||
|
||||
const rows = ref<any[]>([]);
|
||||
const columns = ref<QTableProps["columns"]>([
|
||||
{
|
||||
name: "posNo",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
sortable: true,
|
||||
field: "posNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
{
|
||||
name: "fullName",
|
||||
align: "left",
|
||||
|
|
@ -70,11 +61,20 @@ const columns = ref<QTableProps["columns"]>([
|
|||
style: "font-size: 14px",
|
||||
},
|
||||
{
|
||||
name: "posExecutiveName",
|
||||
name: "posNo",
|
||||
align: "left",
|
||||
label: "ตำแหน่งทางการบริหาร",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
sortable: true,
|
||||
field: "posExecutiveName",
|
||||
field: "posNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
{
|
||||
name: "positionSign",
|
||||
align: "left",
|
||||
label: "ตำแหน่งใต้ลายเซ็น",
|
||||
sortable: true,
|
||||
field: "positionSign",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
|
|
@ -127,60 +127,61 @@ async function getData() {
|
|||
}
|
||||
|
||||
function onSubmit() {
|
||||
if (selected.value.length !== 0) {
|
||||
dialogConfirm($q, async () => {
|
||||
if (props.keycloakUserId) {
|
||||
const body = selected.value.map((items: any, index: any) => ({
|
||||
seq: index,
|
||||
prefix: items.prefix,
|
||||
firstName: items.firstName,
|
||||
lastName: items.lastName,
|
||||
positionName: items.position,
|
||||
profileId: items.id,
|
||||
keycloakId: items.keycloakId,
|
||||
...(items.posExecutiveName
|
||||
? { PositionExecutiveName: items.posExecutiveName }
|
||||
: {}),
|
||||
}));
|
||||
showLoader();
|
||||
const profileSuffix =
|
||||
(props.profileType?.toLocaleLowerCase() as string) === "officer"
|
||||
? ""
|
||||
: "-employee";
|
||||
// if (selected.value.length !== 0) {
|
||||
dialogConfirm($q, async () => {
|
||||
if (props.keycloakUserId) {
|
||||
const body = selected.value.map((items: any, index: any) => ({
|
||||
seq: index,
|
||||
prefix: items.prefix,
|
||||
firstName: items.firstName,
|
||||
lastName: items.lastName,
|
||||
positionName: items.position,
|
||||
profileId: items.id,
|
||||
keycloakId: items.keycloakId,
|
||||
PositionExecutiveName: items.positionSign,
|
||||
// ...(items.positionSign
|
||||
// ? { PositionExecutiveName: items.positionSign }
|
||||
// : {}),
|
||||
}));
|
||||
showLoader();
|
||||
const profileSuffix =
|
||||
(props.profileType?.toLocaleLowerCase() as string) === "officer"
|
||||
? ""
|
||||
: "-employee";
|
||||
|
||||
const apiEndpoint =
|
||||
routeName.value === "resignReject" ||
|
||||
routeName.value === "resignRejectEMP"
|
||||
? config.API.addResignCancel(
|
||||
profileSuffix,
|
||||
props.type?.toLocaleLowerCase() as string,
|
||||
pageId.value
|
||||
)
|
||||
: config.API.addResign(
|
||||
profileSuffix,
|
||||
props.type?.toLocaleLowerCase() as string,
|
||||
pageId.value
|
||||
);
|
||||
await http
|
||||
.post(apiEndpoint, body)
|
||||
.then(async () => {
|
||||
await props.getData?.(pageId.value);
|
||||
closeDialog();
|
||||
success($q, "บันทึกสำเร็จ");
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
} else {
|
||||
closeDialog();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
dialogMessageNotify($q, "กรุณาเลือกอย่างน้อย 1 คน");
|
||||
}
|
||||
const apiEndpoint =
|
||||
routeName.value === "resignReject" ||
|
||||
routeName.value === "resignRejectEMP"
|
||||
? config.API.addResignCancel(
|
||||
profileSuffix,
|
||||
props.type?.toLocaleLowerCase() as string,
|
||||
pageId.value
|
||||
)
|
||||
: config.API.addResign(
|
||||
profileSuffix,
|
||||
props.type?.toLocaleLowerCase() as string,
|
||||
pageId.value
|
||||
);
|
||||
await http
|
||||
.post(apiEndpoint, body)
|
||||
.then(async () => {
|
||||
await props.getData?.(pageId.value);
|
||||
closeDialog();
|
||||
success($q, "บันทึกสำเร็จ");
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
} else {
|
||||
closeDialog();
|
||||
}
|
||||
});
|
||||
// } else {
|
||||
// dialogMessageNotify($q, "กรุณาเลือกอย่างน้อย 1 คน");
|
||||
// }
|
||||
}
|
||||
|
||||
function closeDialog() {
|
||||
|
|
|
|||
|
|
@ -48,15 +48,6 @@ const pagination = ref({
|
|||
|
||||
const rows = ref<any[]>([]);
|
||||
const columns = ref<QTableProps["columns"]>([
|
||||
{
|
||||
name: "posNo",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
sortable: true,
|
||||
field: "posNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
{
|
||||
name: "fullName",
|
||||
align: "left",
|
||||
|
|
@ -69,6 +60,15 @@ const columns = ref<QTableProps["columns"]>([
|
|||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
{
|
||||
name: "posNo",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
sortable: true,
|
||||
field: "posNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
{
|
||||
name: "positionSign",
|
||||
align: "left",
|
||||
|
|
@ -136,7 +136,7 @@ function onSubmit() {
|
|||
firstName: items.firstName ?? "",
|
||||
lastName: items.lastName ?? "",
|
||||
positionName: items.position ?? "",
|
||||
positionSign: items.positionSign ?? items.posExecutiveName ?? "",
|
||||
positionSign: items.positionSign,
|
||||
profileId: items.id,
|
||||
keycloakId: items.keycloakId,
|
||||
positionLeaveName:
|
||||
|
|
|
|||
|
|
@ -31,19 +31,10 @@ const rows = ref<DataOperators[]>([]);
|
|||
const visibleColumns = ref<string[]>([
|
||||
"posNo",
|
||||
"fullName",
|
||||
"posExecutiveName",
|
||||
"actFullName",
|
||||
"positionSign",
|
||||
// "actFullName",
|
||||
]);
|
||||
const columns = ref<QTableProps["columns"]>([
|
||||
{
|
||||
name: "posNo",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
sortable: true,
|
||||
field: "posNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
{
|
||||
name: "fullName",
|
||||
align: "left",
|
||||
|
|
@ -57,11 +48,20 @@ const columns = ref<QTableProps["columns"]>([
|
|||
style: "font-size: 14px",
|
||||
},
|
||||
{
|
||||
name: "posExecutiveName",
|
||||
name: "posNo",
|
||||
align: "left",
|
||||
label: "ตำแหน่งทางการบริหาร",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
sortable: true,
|
||||
field: "posExecutiveName",
|
||||
field: "posNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
{
|
||||
name: "positionSign",
|
||||
align: "left",
|
||||
label: "ตำแหน่งใต้ลายเซ็น",
|
||||
sortable: true,
|
||||
field: "positionSign",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
|
|
@ -95,7 +95,7 @@ function onSubmit() {
|
|||
posType: data.posType ?? "",
|
||||
posLevel: data.posLevel ?? "",
|
||||
position: data.position ?? "",
|
||||
positionExecutive: data.posExecutiveName ?? "",
|
||||
positionExecutive: data.positionSign ?? "",
|
||||
roleName: roleName.value.trim(),
|
||||
};
|
||||
showLoader();
|
||||
|
|
@ -274,7 +274,9 @@ watch(modal, (newVal) => {
|
|||
:key="col.name"
|
||||
:props="props"
|
||||
>
|
||||
<span class="text-weight-medium">{{ getColumnLabel(col, isAct) }}</span>
|
||||
<span class="text-weight-medium">{{
|
||||
getColumnLabel(col, isAct)
|
||||
}}</span>
|
||||
</q-th>
|
||||
</q-tr>
|
||||
</template>
|
||||
|
|
@ -293,7 +295,7 @@ watch(modal, (newVal) => {
|
|||
:key="col.name"
|
||||
:props="props"
|
||||
>
|
||||
{{ col.value ?? "-" }}
|
||||
{{ col.value ? col.value : "-" }}
|
||||
</q-td>
|
||||
</q-tr>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -59,25 +59,15 @@ const search = ref<string>("");
|
|||
const rows = ref<DataDirector[]>([]); //รายชื่อผู้บังคับบัญชา/ผู้มีอำนาจออกคำสั่ง
|
||||
const selected = ref<DataDirector[]>([]); //เลือกผู้บังคับบัญชา/ผู้มีอำนาจออกคำสั่ง
|
||||
const columns = ref<QTableProps["columns"]>([
|
||||
{
|
||||
name: "citizenId",
|
||||
align: "left",
|
||||
label: "เลขประจำตัวประชาชน",
|
||||
sortable: true,
|
||||
field: "citizenId",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
{
|
||||
name: "posNo",
|
||||
align: "left",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
sortable: true,
|
||||
field: "posNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
|
||||
// {
|
||||
// name: "citizenId",
|
||||
// align: "left",
|
||||
// label: "เลขประจำตัวประชาชน",
|
||||
// sortable: true,
|
||||
// field: "citizenId",
|
||||
// headerStyle: "font-size: 14px",
|
||||
// style: "font-size: 14px",
|
||||
// },
|
||||
{
|
||||
name: "firstName",
|
||||
align: "left",
|
||||
|
|
@ -90,25 +80,42 @@ const columns = ref<QTableProps["columns"]>([
|
|||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
|
||||
{
|
||||
name: "position",
|
||||
name: "posNo",
|
||||
align: "left",
|
||||
label: "ตำแหน่ง",
|
||||
label: "เลขที่ตำแหน่ง",
|
||||
sortable: true,
|
||||
field: "position",
|
||||
field: "posNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
// {
|
||||
// name: "position",
|
||||
// align: "left",
|
||||
// label: "ตำแหน่ง",
|
||||
// sortable: true,
|
||||
// field: "position",
|
||||
// headerStyle: "font-size: 14px",
|
||||
// style: "font-size: 14px",
|
||||
// },
|
||||
// {
|
||||
// name: "posType",
|
||||
// align: "left",
|
||||
// label: "ประเภทตำแหน่ง",
|
||||
// sortable: true,
|
||||
// field: "posType",
|
||||
// format(val, row) {
|
||||
// return `${row.posType} ${row.posLevel ? `(${row.posLevel})` : ""} `;
|
||||
// },
|
||||
// headerStyle: "font-size: 14px",
|
||||
// style: "font-size: 14px",
|
||||
// },
|
||||
{
|
||||
name: "posType",
|
||||
name: "positionSign",
|
||||
align: "left",
|
||||
label: "ประเภทตำแหน่ง",
|
||||
label: "ตำแหน่งใต้ลายเซ็น",
|
||||
sortable: true,
|
||||
field: "posType",
|
||||
format(val, row) {
|
||||
return `${row.posType} ${row.posLevel ? `(${row.posLevel})` : ""} `;
|
||||
},
|
||||
field: "positionSign",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
|
|
@ -790,7 +797,7 @@ onMounted(async () => {
|
|||
:props="props"
|
||||
>
|
||||
<div>
|
||||
{{ col.value ?? "-" }}
|
||||
{{ col.value ? col.value : "-" }}
|
||||
</div>
|
||||
</q-td>
|
||||
</q-tr>
|
||||
|
|
|
|||
|
|
@ -119,6 +119,7 @@ interface DataOperators {
|
|||
profileId: string;
|
||||
roleName: string;
|
||||
posExecutiveName?: string;
|
||||
positionSign?: string;
|
||||
}
|
||||
|
||||
export type {
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ export function calculateAge(birthDate: Date | null) {
|
|||
*/
|
||||
export function getColumnLabel(col: any, isAct: boolean) {
|
||||
if (col.name === "posNo" && isAct) {
|
||||
return `${col.label} (รักษาการแทน)`;
|
||||
return `${col.label}รักษาการแทน`;
|
||||
}
|
||||
return col.label;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue