- ปรับเมนู (ใหม่)

- ปรับคำสั่ง
This commit is contained in:
Warunee Tamkoo 2024-01-12 13:54:47 +07:00
parent ed7c6e9f07
commit ada9644df7
19 changed files with 448 additions and 15 deletions

View file

@ -50,6 +50,79 @@ const menuList = readonly<any[]>([
path: "dashboard",
role: "dashboard",
},
{
key: 3,
icon: "o_person",
activeIcon: "person",
label: "ข้อมูลหลัก (ใหม่)",
path: "metadataNew",
role: "metadata",
children: [
{
key: 3.1,
label: "ข้อมูลปฏิทินวันหยุด",
path: "masterCalendarWork",
},
{
key: 3.2,
label: "ข้อมูลเครื่องราชอิสริยาภรณ์",
path: "masterInsignia",
},
],
},
{
key: 4,
icon: "o_groups",
activeIcon: "groups",
label: "โครงสร้างอัตรากำลัง (ใหม่)",
path: "organizationalNew",
role: "organization",
// children: [
// {
// key: 3.1,
// label: "จัดการตำแหน่ง",
// path: "organizationalMapping",
// },
// {
// key: 3.2,
// label: "แผนภูมิโครงสร้าง",
// path: "organizationalStructChart",
// },
// {
// key: 3.3,
// label: "แผนภูมิองค์กร",
// path: "organizationalOrgChart",
// },
// {
// key: 3.4,
// label: "ผังโครงสร้าง",
// path: "organizationalTree",
// },
// {
// key: 3.5,
// label: "ผังโครงสร้างลูกจ้าง",
// path: "organizationalEmployee",
// },
// {
// key: 3.6,
// label: "จัดการบัญชี 2",
// path: "manageReport2",
// },
// {
// key: 3.7,
// label: "รายงานบัญชี",
// path: "organizationalReport",
// },
// ],
},
{
key: 4,
icon: "o_contact_page",
activeIcon: "contact_page",
label: "ทะเบียนประวัติ (ใหม่)",
path: "registryNew",
role: "registry",
},
{
key: 2,
icon: "o_person",

View file

@ -0,0 +1,10 @@
interface Pagination {
rowsPerPage: number;
}
interface DataOption {
id: string;
name: string;
}
export type { Pagination, DataOption };

View file

@ -0,0 +1,14 @@
interface DataSumCalendarObject {
id: number;
monthFull: String;
count: number;
color: String;
}
interface DataListsObject {
id: number;
count: number;
name: string;
}
export type { DataSumCalendarObject, DataListsObject };

View file

@ -0,0 +1,26 @@
const calendarWorkPage = () =>
import("@/modules/01_metadataNew/views/calendar.vue");
const masterInsignia = () => import("@/modules/01_metadataNew/views/insignia.vue");
export default [
{
path: "/master-data/calendar",
name: "masterCalendarWork",
component: calendarWorkPage,
meta: {
Auth: true,
Key: [7],
Role: "metadata",
},
},
{
path: "/master-data/insignia",
name: "masterInsignia",
component: masterInsignia,
meta: {
Auth: true,
Key: [7],
Role: "metadata",
},
},
];

View file

View file

@ -0,0 +1,7 @@
<template>
อมลปฏนวนหย
</template>
<script setup lang="ts"></script>
<style scoped></style>

View file

@ -0,0 +1,7 @@
<template>
อมลเครองราชอสรยาภรณ
</template>
<script setup lang="ts"></script>
<style scoped></style>

View file

@ -0,0 +1,10 @@
interface Pagination {
rowsPerPage: number;
}
interface DataOption {
id: string;
name: string;
}
export type { Pagination, DataOption };

View file

@ -0,0 +1,14 @@
interface DataSumCalendarObject {
id: number;
monthFull: String;
count: number;
color: String;
}
interface DataListsObject {
id: number;
count: number;
name: string;
}
export type { DataSumCalendarObject, DataListsObject };

View file

@ -0,0 +1,14 @@
const mainPage = () => import("@/modules/02_organizationalNew/views/main.vue");
export default [
{
path: "/organization-new",
name: "organizationalNew",
component: mainPage,
meta: {
Auth: true,
Key: [7],
Role: "organization",
},
},
];

View file

@ -0,0 +1,7 @@
<template>
โครงสรางอตรากำล (ใหม)
</template>
<script setup lang="ts"></script>
<style scoped></style>

View file

@ -0,0 +1,10 @@
interface Pagination {
rowsPerPage: number;
}
interface DataOption {
id: string;
name: string;
}
export type { Pagination, DataOption };

View file

@ -0,0 +1,14 @@
interface DataSumCalendarObject {
id: number;
monthFull: String;
count: number;
color: String;
}
interface DataListsObject {
id: number;
count: number;
name: string;
}
export type { DataSumCalendarObject, DataListsObject };

View file

@ -0,0 +1,14 @@
const mainPage = () => import("@/modules/02_organizationalNew/views/main.vue");
export default [
{
path: "/registry-new",
name: "registryNew",
component: mainPage,
meta: {
Auth: true,
Key: [7],
Role: "registry",
},
},
];

View file

View file

@ -0,0 +1,7 @@
<template>
ทะเบยนประว (ใหม)
</template>
<script setup lang="ts"></script>
<style scoped></style>

View file

@ -1,6 +1,5 @@
<script setup lang="ts">
import { ref, onMounted, watch } from "vue";
import type { DataOption1 } from "@/modules/05_placement/interface/index/Main";
import { useCounterMixin } from "@/stores/mixin";
import type { QForm } from "quasar";
import { useQuasar } from "quasar";
@ -10,7 +9,7 @@ import config from "@/app.config";
import type { treeTab } from "@/modules/05_placement/interface/index/Main";
import type { ResponseOrganiz } from "@/modules/05_placement/interface/response/Order";
import type { QTableProps } from "quasar";
import type { OrederResult } from "@/modules/10_order/interface/index/Main";
import type { DataOption1, OrederResult } from "@/modules/10_order/interface/index/Main";
import DialogHeader from "@/modules/04_registry/components/DialogHeader.vue";
import { useOrderPlacementDataStore } from "@/modules/10_order/store";
@ -121,6 +120,13 @@ const faultLevel = ref<string>("");
const caseFault = ref<string>("");
const result = ref<string>("");
const refRaw = ref<string>("");
const complaintId = ref<string>("");
const complaintOption = ref<DataOption1[]>([
{
id: "00000000-0000-0000-0000-000000000000",
name: "ทุจริตต่อหน้าที่",
},
]);
const typeOrderFilter = ref<any>({
typeOrderOption: [],
@ -277,11 +283,12 @@ const fetchdetailOrder = async () => {
conclusionTranferNo.value = data.conclusionTranferNo;
conclusionTranferDate.value = data.conclusionTranferDate;
// 25-32
// 19, 20 25-32
faultLevel.value = data.faultLevel;
caseFault.value = data.caseFault;
result.value = data.result;
refRaw.value = data.refRaw;
complaintId.value = data.complaintId;
fecthExamRoundOption(data.orderTypeCode);
})
@ -293,6 +300,7 @@ const fetchdetailOrder = async () => {
hideLoader();
});
};
const fecthCommand = async () => {
await http
.get(config.API.organizationsOrder())
@ -303,6 +311,7 @@ const fecthCommand = async () => {
messageError($q, e);
});
};
const selectCMP = (selectOrder: OrederResult) => {
if (selectOrder != null) {
fecthExamRoundOption(selectOrder.commandCode);
@ -361,12 +370,15 @@ const selectCMP = (selectOrder: OrederResult) => {
// 24
conclusionTranferNo.value = "";
conclusionTranferDate.value = new Date();
// 25-32
// 19, 20 & 25-32
faultLevel.value = "";
caseFault.value = "";
result.value = "";
refRaw.value = "";
complaintId.value = "";
};
//
const fecthExamRoundOption = async (commandCode: string) => {
await http
@ -378,6 +390,7 @@ const fecthExamRoundOption = async (commandCode: string) => {
messageError($q, e);
});
};
//
const submit = async () => {
let signBy = null;
@ -481,11 +494,7 @@ const submit = async () => {
govAidCommandNo: orderNumber.value,
govAidCommandDate: orderNumberDate.value,
});
} else if (
typeOrder.value.commandCode == "C-PM-18" ||
typeOrder.value.commandCode == "C-PM-19" ||
typeOrder.value.commandCode == "C-PM-20"
) {
} else if (typeOrder.value.commandCode == "C-PM-18") {
Object.assign(formdata, {
fault: fault.value,
guiltyBasis: guiltyBasis.value,
@ -493,6 +502,22 @@ const submit = async () => {
conclusionFireDate: conclusionFireDate.value,
conclusionFireResolution: conclusionFireResolution.value,
});
} else if (
typeOrder.value.commandCode == "C-PM-19" ||
typeOrder.value.commandCode == "C-PM-20"
) {
Object.assign(formdata, {
complaintId: complaintId.value,
fault: "-",
guiltyBasis: "-",
conclusionFireNo: conclusionFireNo.value,
conclusionFireDate: conclusionFireDate.value,
conclusionFireResolution: conclusionFireResolution.value,
faultLevel: faultLevel.value,
caseFault: caseFault.value,
result: result.value,
refRaw: refRaw.value,
});
} else if (typeOrder.value.commandCode == "C-PM-24") {
Object.assign(formdata, {
conclusionTranferNo: conclusionTranferNo.value,
@ -509,6 +534,7 @@ const submit = async () => {
typeOrder.value.commandCode == "C-PM-32"
) {
Object.assign(formdata, {
complaintId: complaintId.value,
faultLevel: faultLevel.value,
caseFault: caseFault.value,
result: result.value,
@ -1781,12 +1807,7 @@ const getClass = (val: boolean) => {
<!-- C-PM-18-20 -->
<div
class="row col-12 q-col-gutter-x-lg q-col-gutter-y-md"
v-if="
typeOrder != null &&
(typeOrder.commandCode === 'C-PM-18' ||
typeOrder.commandCode === 'C-PM-19' ||
typeOrder.commandCode === 'C-PM-20')
"
v-if="typeOrder != null && typeOrder.commandCode === 'C-PM-18'"
>
<div class="col-xs-12 col-md-6">
<q-input
@ -1892,6 +1913,163 @@ const getClass = (val: boolean) => {
</div>
</div>
<!-- C-PM-18-19 -->
<div
class="row col-12 q-col-gutter-x-lg q-col-gutter-y-md"
v-if="
typeOrder != null &&
(typeOrder.commandCode === 'C-PM-19' ||
typeOrder.commandCode === 'C-PM-20')
"
>
<div class="row col-12">
<div class="col-xs-12 col-md-6">
<selector
:class="getClass(true)"
outlined
dense
lazy-rules
v-model="complaintId"
:rules="[(val: string) => !!val || `${'กรุณาเลือกเรื่องร้องเรียน'}`]"
emit-value
hide-bottom-space
:label="`${'เรื่องร้องเรียน'}`"
map-options
option-label="name"
:options="complaintOption"
option-value="id"
use-input
input-debounce="0"
/>
</div>
</div>
<div class="col-xs-12 col-md-4">
<q-input
:class="getClass(true)"
outlined
dense
lazy-rules
v-model="conclusionFireNo"
:rules="[
(val) =>
!!val || `${'กรุณากรอกครั้งที่ (เรื่องการดำเนินการทางวินัย)'}`,
]"
:label="`${'ครั้งที่ (เรื่องการดำเนินการทางวินัย)'}`"
hide-bottom-space
/>
</div>
<div class="col-xs-12 col-md-4">
<datepicker
menu-class-name="modalfix"
v-model="conclusionFireDate"
:locale="'th'"
autoApply
borderless
:enableTimePicker="false"
week-start="0"
>
<template #year="{ year }">
{{ year + 543 }}
</template>
<template #year-overlay-value="{ value }">
{{ parseInt(value + 543) }}
</template>
<template #trigger>
<q-input
outlined
dense
class="full-width datepicker"
:model-value="
conclusionFireDate != null
? date2Thai(conclusionFireDate)
: null
"
:label="`${'ลงวันที่ (เรื่องการดำเนินการทางวินัย) '}`"
:rules="[
(val) =>
!!val ||
`${'กรุณาเลือกลงวันที่ (เรื่องการดำเนินการทางวินัย)'}`,
]"
>
<template v-slot:prepend>
<q-icon
name="event"
class="cursor-pointer"
style="color: var(--q-primary)"
>
</q-icon>
</template>
</q-input>
</template>
</datepicker>
</div>
<div class="col-xs-12 col-md-4">
<q-input
:class="getClass(true)"
outlined
dense
lazy-rules
v-model="conclusionFireResolution"
:rules="[
(val) =>
!!val ||
`${'กรุณากรอก มติที่ประชุม(เรื่องการดำเนินการทางวินัย)'}`,
]"
:label="`${'มติที่ประชุม (เรื่องการดำเนินการทางวินัย)'}`"
hide-bottom-space
/>
</div>
<div class="col-xs-12 col-md-6">
<q-input
:class="getClass(true)"
outlined
dense
lazy-rules
v-model="faultLevel"
:rules="[(val) => !!val || `${'กรุณากรอกระดับความผิด'}`]"
:label="`${'ระดับความผิด'}`"
hide-bottom-space
/>
</div>
<div class="col-xs-12 col-md-6">
<q-input
:class="getClass(true)"
outlined
dense
lazy-rules
v-model="caseFault"
:rules="[(val) => !!val || `${'กรุณากรอกกรณีความผิด'}`]"
:label="`${'กรณีความผิด'}`"
hide-bottom-space
/>
</div>
<div class="col-xs-12 col-md-6">
<q-input
:class="getClass(true)"
outlined
dense
lazy-rules
v-model="result"
:rules="[(val) => !!val || `${'กรุณากรอกผลดำเนินการพิจารณา'}`]"
:label="`${'ผลดำเนินการพิจารณา'}`"
hide-bottom-space
/>
</div>
<div class="col-xs-12 col-md-6">
<q-input
:class="getClass(true)"
outlined
dense
lazy-rules
v-model="refRaw"
:rules="[(val) => !!val || `${'กรุณากรอกอ้างอิงมาตราตามกฎหมาย'}`]"
:label="`${'อ้างอิงมาตราตามกฎหมาย'}`"
hide-bottom-space
/>
</div>
</div>
<!-- C-PM-24 -->
<div
class="row col-12 q-col-gutter-x-lg q-col-gutter-y-md"
@ -1968,6 +2146,28 @@ const getClass = (val: boolean) => {
typeOrder.commandCode === 'C-PM-32')
"
>
<div class="row col-12">
<div class="col-xs-12 col-md-6">
<selector
:class="getClass(true)"
outlined
dense
lazy-rules
v-model="complaintId"
:rules="[(val: string) => !!val || `${'กรุณาเลือกเรื่องร้องเรียน'}`]"
emit-value
hide-bottom-space
:label="`${'เรื่องร้องเรียน'}`"
map-options
option-label="name"
:options="complaintOption"
option-value="id"
use-input
input-debounce="0"
/>
</div>
</div>
<div class="col-xs-12 col-md-6">
<q-input
:class="getClass(true)"

View file

@ -5,8 +5,11 @@ const Dashboard = () => import("@/views/Dashboard.vue");
const Error404NotFound = () => import("@/views/Error404NotFound.vue");
import ModuleMetadata from "@/modules/01_metadata/router";
import ModuleMetadataNew from "@/modules/01_metadataNew/router";
import ModuleOrganizational from "@/modules/02_organizational/router";
import ModuleOrganizationalNew from "@/modules/02_organizationalNew/router";
import ModuleRecruiting from "@/modules/03_recruiting/router";
import ModuleRecruitingNew from "@/modules/03_recruitingNew/router";
import ModuleRegistry from "@/modules/04_registry/router";
import ModulePlacement from "@/modules/05_placement/router";
import ModuleRetirement from "@/modules/06_retirement/router";
@ -39,8 +42,11 @@ const router = createRouter({
},
},
...ModuleMetadata,
...ModuleMetadataNew,
...ModuleOrganizational,
...ModuleOrganizationalNew,
...ModuleRecruiting,
...ModuleRecruitingNew,
...ModuleRegistry,
...ModulePlacement,
...ModuleRetirement,