Merge branch 'develop' into warunee-dev

This commit is contained in:
Warunee Tamkoo 2023-08-23 22:23:36 +07:00
commit 4977ab5f7e
6 changed files with 118 additions and 14 deletions

View file

@ -24,5 +24,8 @@ export default {
insigniaNosend: (insigniaPeriodId: any) => `${insignia}/request/org/no-send/${insigniaPeriodId}`, insigniaNosend: (insigniaPeriodId: any) => `${insignia}/request/org/no-send/${insigniaPeriodId}`,
insigniaAgency: () => `${insignia}/request/agency`, insigniaAgency: () => `${insignia}/request/agency`,
insigniaDashboard: (insigniaPeriodId: string) => `${insignia}/request/dashboard/${insigniaPeriodId}`, insigniaDashboard: (insigniaPeriodId: string) => `${insignia}/request/dashboard/${insigniaPeriodId}`,
// record
noteround: () => `${insignia}/request/note`,
}; };

View file

@ -145,6 +145,37 @@
</div> </div>
</div> </div>
</q-card> </q-card>
<q-card bordered class="row col-12 text-dark q-mt-sm">
<div class="bg-grey-1 q-pa-sm col-12 row items-center text-primary">
<div class="q-pl-sm text-weight-bold text-dark">เอกสารเพมเต</div>
</div>
<div class="col-12"><q-separator /></div>
<div class="col-12">
<d-table
:rows="rows"
:columns="columns"
row-key="fileName"
hide-header
hide-bottom
>
<template v-slot:body="props">
<q-tr :props="props" class="cursor-pointer">
<q-td key="no" :props="props">
{{ props.rowIndex + 1 }}
</q-td>
<q-td key="fileName" :props="props">
{{ props.row.fileName }}
</q-td>
<q-td key="btnMicrosoft" :props="props">
<q-btn flat dense round color="red" icon="picture_as_pdf">
<q-tooltip>ไฟล PDF</q-tooltip>
</q-btn>
</q-td>
</q-tr>
</template>
</d-table>
</div>
</q-card>
<q-card bordered class="row col-12 text-dark q-mt-sm"> <q-card bordered class="row col-12 text-dark q-mt-sm">
<div class="bg-grey-1 q-pa-sm col-12 row items-center text-primary"> <div class="bg-grey-1 q-pa-sm col-12 row items-center text-primary">
<div class="q-pl-sm text-weight-bold text-dark"> <div class="q-pl-sm text-weight-bold text-dark">
@ -610,7 +641,12 @@ import CurrencyInput from "@/components/CurruncyInput.vue";
import http from "@/plugins/http"; import http from "@/plugins/http";
import config from "@/app.config"; import config from "@/app.config";
import type { ResponseItems } from "@/modules/06_retirement/interface/response/Main"; import type {
ResponseItems,
TypeFile,
} from "@/modules/06_retirement/interface/response/Main";
import type { QTableProps } from "quasar";
const $q = useQuasar(); const $q = useQuasar();
const route = useRoute(); const route = useRoute();
@ -671,6 +707,37 @@ const actionPass = ref<boolean>(false);
const reasonReign = ref<string>(""); const reasonReign = ref<string>("");
const dateBreak = ref<Date | null>(null); const dateBreak = ref<Date | null>(null);
const rows = ref<TypeFile[]>([]);
const columns = ref<QTableProps["columns"]>([
{
name: "no",
align: "left",
label: "ลำดับ",
sortable: true,
field: "no",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
{
name: "fileName",
align: "left",
label: "ชื่อไฟล์",
sortable: true,
field: "fileName",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
{
name: "btnMicrosoft",
align: "right",
label: "ปุ่ม",
sortable: true,
field: "btnMicrosoft",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
]);
const closeModal = () => (modal.value = false); const closeModal = () => (modal.value = false);
const openModal = () => (modal.value = true); const openModal = () => (modal.value = true);
@ -700,9 +767,18 @@ const fetchData = async (id: string) => {
.get(config.API.resingByid(id)) .get(config.API.resingByid(id))
.then((res: any) => { .then((res: any) => {
const data = res.data.result; const data = res.data.result;
console.log(data); // console.log(data);
dataDetail.value = data; let list: TypeFile[] = [];
if (data.docs.length > 0) {
data.docs.map((doc: TypeFile) => {
list.push({
pathName: doc.pathName ?? "",
fileName: doc.fileName ?? "",
});
});
}
dataDetail.value = data;
organizationPositionOld.value = data.organizationPositionOld ?? ""; organizationPositionOld.value = data.organizationPositionOld ?? "";
positionTypeOld.value = data.positionTypeOld ?? ""; positionTypeOld.value = data.positionTypeOld ?? "";
positionLevelOld.value = data.positionLevelOld ?? ""; positionLevelOld.value = data.positionLevelOld ?? "";

View file

@ -30,4 +30,9 @@ interface ResponseItems {
datetext: string | null; datetext: string | null;
} }
export type { resMain, ResponseItems }; interface TypeFile {
fileName: string;
pathName: string;
}
export type { resMain, ResponseItems, TypeFile };

View file

@ -173,9 +173,6 @@ const columns2 = ref<QTableProps["columns"]>([
const rows2 = ref<any[]>([]); const rows2 = ref<any[]>([]);
const Note = ref<string>("");
const titleModal = ref<string>("");
const actionModal = ref<string>("");
const person = ref<any>([]); const person = ref<any>([]);
const props = defineProps({ const props = defineProps({
tab: { tab: {

View file

@ -1,5 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref } from "vue"; import { ref, onMounted } from "vue";
import type { QTableProps } from "quasar"; import type { QTableProps } from "quasar";
const fileUpload = ref<any>(null); const fileUpload = ref<any>(null);
@ -59,6 +59,14 @@ const rows2 = ref<any>([
file: "", file: "",
}, },
]); ]);
const props = defineProps({
roundId: {
type: String,
},
});
onMounted(() => {
console.log(props.roundId);
});
const resetFilterRef = () => { const resetFilterRef = () => {
filterKeyword.value = ""; filterKeyword.value = "";
filterDoc.value.focus(); filterDoc.value.focus();

View file

@ -2,6 +2,8 @@
import { ref, onMounted } from "vue"; import { ref, onMounted } from "vue";
// import { useRouter } from "vue-router"; // import { useRouter } from "vue-router";
import { useCounterMixin } from "@/stores/mixin"; import { useCounterMixin } from "@/stores/mixin";
import http from "@/plugins/http";
import config from "@/app.config";
import DialogForm from "@/modules/07_insignia/components/3_result/DialogForm.vue"; import DialogForm from "@/modules/07_insignia/components/3_result/DialogForm.vue";
import fileUploadview from "../components/3_result/fileUpload.vue"; import fileUploadview from "../components/3_result/fileUpload.vue";
@ -21,12 +23,25 @@ const selectTypeOption = ref<OptionData[]>([
{ id: "1", name: "เบญจมาภรณ์มงกุฎไทย" }, { id: "1", name: "เบญจมาภรณ์มงกุฎไทย" },
]); ]);
const selectRound = ref<string>("1"); const selectRound = ref<string>();
const selectRoundOption = ref<OptionData[]>([ const selectRoundOption = ref<OptionData[]>([]);
{ id: "1", name: "รอบการเสนอขอพระราชทานเครื่องราชฯ ปี 2566" }, onMounted(async () => {
]); await fecthRound();
const filterKeyword = ref<string>(""); });
const fecthRound = async () => {
await http
.get(config.API.noteround())
.then((res) => {
let data = res.data.result;
selectRoundOption.value = data;
selectRound.value = data[0].id;
})
.catch((err) => {
console.log(err);
});
};
const filterKeyword = ref<string>("");
const pagination = ref({ const pagination = ref({
sortBy: "filename", sortBy: "filename",
@ -670,7 +685,7 @@ const filterSelector = (val: any, update: Function, filtername: string) => {
</div> </div>
<div v-else-if="tab == 'doc'"> <div v-else-if="tab == 'doc'">
<fileUploadview /> <fileUploadview :roundId="selectRound" />
</div> </div>
</div> </div>