พ้นจากราชการ => ถึงแก่กรรม

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2024-05-03 13:24:48 +07:00
parent 79a6e52973
commit 932a8a930e
8 changed files with 362 additions and 517 deletions

View file

@ -7,12 +7,21 @@ import type { ResponseItems } from "@/modules/06_retirement/interface/response/M
import DialogHeader from "@/modules/06_retirement/components/DialogHeader.vue";
import http from "@/plugins/http";
import config from "@/app.config";
import { useTransferDataStore } from "@/modules/05_placement/store";
/** use */
const $q = useQuasar();
const { statusText } = useTransferDataStore();
const selected = ref<ResponseItems[]>([]);
const mixin = useCounterMixin();
const { showLoader, success, messageError, dialogConfirm, hideLoader } = mixin;
const {
showLoader,
success,
messageError,
dialogConfirm,
hideLoader,
findOrgName,
} = mixin;
/** คอลัมน์ */
const columns2 = ref<QTableProps["columns"]>([
@ -33,6 +42,9 @@ const columns2 = ref<QTableProps["columns"]>([
field: "fullname",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
format(val, row) {
return `${row.prefix}${row.firstName} ${row.lastName}`;
},
},
{
name: "position",
@ -46,29 +58,44 @@ const columns2 = ref<QTableProps["columns"]>([
{
name: "positionLevel",
align: "left",
label: "ระดับ",
label: "ประเภทตำแหน่ง",
sortable: true,
field: "positionLevel",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
format(val, row) {
let name = "";
if (row.posTypeName && row.posLevelName) {
name = `${row.posTypeName} (${row.posLevelName})`;
} else if (row.posTypeName) {
name = `${row.posTypeName}`;
} else if (row.posLevelName) {
name = `(${row.posLevelName})`;
} else name = "-";
return name;
},
},
{
name: "organizationPositionOld",
name: "org",
align: "left",
label: "สังกัด",
sortable: true,
field: "organizationPositionOld",
field: "org",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
format(val, row) {
return findOrgName(row);
},
},
{
name: "statustext",
name: "status",
align: "left",
label: "สถานะ",
sortable: true,
field: "statustext",
field: "status",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
format: (val) => statusText(val),
},
]);
@ -78,16 +105,15 @@ const visibleColumns2 = ref<string[]>([
"fullname",
"position",
"positionLevel",
"positionNumberOld",
"organizationPositionOld",
"statustext",
"org",
"status",
]);
/** props*/
const props = defineProps({
modal: Boolean,
closeModal: Function,
getData: Function,
fecthlistRecevice: Function,
rows2: Array,
filterKeyword2: String,
});
@ -128,7 +154,7 @@ const Ordersave = async () => {
messageError($q, e);
})
.finally(async () => {
props.getData?.();
props.fecthlistRecevice?.();
hideLoader();
});
};
@ -224,31 +250,15 @@ watchEffect(() => {
v-model="props.selected"
/>
</q-td>
<q-td key="no" :props="props">
{{ props.rowIndex + 1 }}
</q-td>
<q-td key="fullname" :props="props">
{{ props.row.fullname }}
</q-td>
<q-td key="position" :props="props">
{{ props.row.position }}
</q-td>
<q-td key="positionLevel" :props="props">
{{ props.row.positionLevel }}
</q-td>
<q-td key="organizationPositionOld" :props="props">
<div class="table_ellipsis">
{{ props.row.organizationPositionOld }}
<q-td v-for="col in props.cols" :key="col.id">
<div v-if="col.name === 'no'">
{{ props.rowIndex + 1 }}
</div>
</q-td>
<q-td key="organization" :props="props">
<div class="table_ellipsis">
{{ props.row.organization }}
<div v-else :class="col.name === 'org' ? 'table_ellipsis' : ''">
{{ col.value ? col.value : "-" }}
</div>
</q-td>
<q-td key="statustext" :props="props">
{{ props.row.statustext }}
</q-td>
</q-tr>
</template>
</d-table>