- ปรับเมนู (ใหม่)
- ปรับคำสั่ง
This commit is contained in:
parent
ed7c6e9f07
commit
ada9644df7
19 changed files with 448 additions and 15 deletions
10
src/modules/01_metadataNew/interface/index/Main.ts
Normal file
10
src/modules/01_metadataNew/interface/index/Main.ts
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
interface Pagination {
|
||||
rowsPerPage: number;
|
||||
}
|
||||
|
||||
interface DataOption {
|
||||
id: string;
|
||||
name: string;
|
||||
}
|
||||
|
||||
export type { Pagination, DataOption };
|
||||
14
src/modules/01_metadataNew/interface/request/Main.ts
Normal file
14
src/modules/01_metadataNew/interface/request/Main.ts
Normal 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 };
|
||||
26
src/modules/01_metadataNew/router.ts
Normal file
26
src/modules/01_metadataNew/router.ts
Normal 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",
|
||||
},
|
||||
},
|
||||
];
|
||||
0
src/modules/01_metadataNew/store.ts
Normal file
0
src/modules/01_metadataNew/store.ts
Normal file
7
src/modules/01_metadataNew/views/calendar.vue
Normal file
7
src/modules/01_metadataNew/views/calendar.vue
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<template>
|
||||
ข้อมูลปฏิทินวันหยุด
|
||||
</template>
|
||||
|
||||
<script setup lang="ts"></script>
|
||||
|
||||
<style scoped></style>
|
||||
7
src/modules/01_metadataNew/views/insignia.vue
Normal file
7
src/modules/01_metadataNew/views/insignia.vue
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<template>
|
||||
ข้อมูลเครื่องราชอิสริยาภรณ์
|
||||
</template>
|
||||
|
||||
<script setup lang="ts"></script>
|
||||
|
||||
<style scoped></style>
|
||||
10
src/modules/02_organizationalNew/interface/index/Main.ts
Normal file
10
src/modules/02_organizationalNew/interface/index/Main.ts
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
interface Pagination {
|
||||
rowsPerPage: number;
|
||||
}
|
||||
|
||||
interface DataOption {
|
||||
id: string;
|
||||
name: string;
|
||||
}
|
||||
|
||||
export type { Pagination, DataOption };
|
||||
14
src/modules/02_organizationalNew/interface/request/Main.ts
Normal file
14
src/modules/02_organizationalNew/interface/request/Main.ts
Normal 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 };
|
||||
14
src/modules/02_organizationalNew/router.ts
Normal file
14
src/modules/02_organizationalNew/router.ts
Normal 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",
|
||||
},
|
||||
},
|
||||
];
|
||||
0
src/modules/02_organizationalNew/store.ts
Normal file
0
src/modules/02_organizationalNew/store.ts
Normal file
7
src/modules/02_organizationalNew/views/main.vue
Normal file
7
src/modules/02_organizationalNew/views/main.vue
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<template>
|
||||
โครงสร้างอัตรากำลัง (ใหม่)
|
||||
</template>
|
||||
|
||||
<script setup lang="ts"></script>
|
||||
|
||||
<style scoped></style>
|
||||
10
src/modules/03_recruitingNew/interface/index/Main.ts
Normal file
10
src/modules/03_recruitingNew/interface/index/Main.ts
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
interface Pagination {
|
||||
rowsPerPage: number;
|
||||
}
|
||||
|
||||
interface DataOption {
|
||||
id: string;
|
||||
name: string;
|
||||
}
|
||||
|
||||
export type { Pagination, DataOption };
|
||||
14
src/modules/03_recruitingNew/interface/request/Main.ts
Normal file
14
src/modules/03_recruitingNew/interface/request/Main.ts
Normal 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 };
|
||||
14
src/modules/03_recruitingNew/router.ts
Normal file
14
src/modules/03_recruitingNew/router.ts
Normal 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",
|
||||
},
|
||||
},
|
||||
];
|
||||
0
src/modules/03_recruitingNew/store.ts
Normal file
0
src/modules/03_recruitingNew/store.ts
Normal file
7
src/modules/03_recruitingNew/views/main.vue
Normal file
7
src/modules/03_recruitingNew/views/main.vue
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<template>
|
||||
ทะเบียนประวัติ (ใหม่)
|
||||
</template>
|
||||
|
||||
<script setup lang="ts"></script>
|
||||
|
||||
<style scoped></style>
|
||||
|
|
@ -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)"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue