Refactoring code module 13_portfolio

This commit is contained in:
STW_TTTY\stwtt 2024-09-10 15:58:58 +07:00
parent 33f23e4fc5
commit 54cfdd2f9b
3 changed files with 54 additions and 43 deletions

View file

@ -0,0 +1,13 @@
interface PortfolioRowsType {
id: string;
createdAt: Date | null;
lastUpdatedAt: Date | null;
createdFullName: string;
lastUpdateFullName: string;
name: string;
detail: string;
}
export type {
PortfolioRowsType
}

View file

@ -2,14 +2,14 @@
import { ref, onMounted } from "vue";
import { useQuasar } from "quasar";
import { useRouter, useRoute } from "vue-router";
import { useCounterMixin } from "@/stores/mixin";
import axios from "axios";
import http from "@/plugins/http";
import config from "@/app.config";
import axios from "axios";
import type { QForm } from "quasar";
import { useCounterMixin } from "@/stores/mixin";
const router = useRouter();
const $q = useQuasar();
const router = useRouter();
const mixin = useCounterMixin();
const { success, messageError, showLoader, hideLoader, dialogConfirm } = mixin;
@ -18,22 +18,12 @@ const { success, messageError, showLoader, hideLoader, dialogConfirm } = mixin;
*/
const route = useRoute();
const files = ref<any>();
const name = ref("");
const detail = ref("");
const name = ref<string>("");
const detail = ref<string>("");
const id = ref<string>("");
const routeName = router.currentRoute.value.name;
const fileList = ref<any[]>([]);
/**
* เรยกฟงกนทงหมดตอนเรยกใชไฟล
*/
onMounted(() => {
if (route.params.id !== undefined) {
id.value = route.params.id.toString();
fecthData(id.value);
}
});
const saveData = async () => {
dialogConfirm(
$q,
@ -174,6 +164,16 @@ function fileOpen(fileName: string) {
hideLoader();
});
}
/**
* เรยกฟงกนทงหมดตอนเรยกใชไฟล
*/
onMounted(() => {
if (route.params.id !== undefined) {
id.value = route.params.id.toString();
fecthData(id.value);
}
});
</script>
<template>

View file

@ -2,23 +2,17 @@
import type { QTableProps } from "quasar";
import { ref, onMounted } from "vue";
import { useQuasar } from "quasar";
import { useRouter } from "vue-router";
import { useCounterMixin } from "@/stores/mixin";
import http from "@/plugins/http";
import config from "@/app.config";
import { useRouter } from "vue-router";
import { useCounterMixin } from "@/stores/mixin";
const currentPage = ref<number>(1);
const router = useRouter();
import type { PortfolioRowsType } from "@/modules/13_portfolio/interface/Main";
const $q = useQuasar();
const router = useRouter();
const mixin = useCounterMixin();
const {
date2Thai,
messageError,
showLoader,
hideLoader,
dialogRemove,
success,
} = mixin;
const { messageError, showLoader, hideLoader, dialogRemove, success } = mixin;
const pagination = ref({
sortBy: "desc",
@ -30,7 +24,7 @@ const pagination = ref({
* เพมหวขอตาราง
*/
const filter = ref<string>("");
const rows = ref<any>([]);
const rows = ref<PortfolioRowsType[]>([]);
const visibleColumns = ref<String[]>(["no", "name", "detail"]);
const columns = ref<QTableProps["columns"]>([
{
@ -62,19 +56,12 @@ const columns = ref<QTableProps["columns"]>([
},
]);
/**
* เรยกฟงกนทงหมดตอนเรยกใชไฟล
*/
onMounted(async () => {
await fecthList();
});
//
const fecthList = async () => {
async function fecthList() {
showLoader();
await http
.get(config.API.portfolio)
.then((res: any) => {
.then((res) => {
rows.value = res.data.result;
})
.catch((e: any) => {
@ -83,22 +70,26 @@ const fecthList = async () => {
.finally(() => {
hideLoader();
});
};
}
/**
* งกนกดเพมไปหนาเพมขอโอน
*/
const clickAdd = async () => {
async function clickAdd() {
router.push(`/portfolio/add`);
};
}
/**
* งกนกดยอนกล
*/
const clickBack = () => {
function clickBack() {
router.push(`/`);
};
}
/**
* งช ลบ อม
* @param id id row
*/
function onDelete(id: string) {
dialogRemove($q, () => {
showLoader();
@ -114,6 +105,13 @@ function onDelete(id: string) {
});
});
}
/**
* เรยกฟงกนทงหมดตอนเรยกใชไฟล
*/
onMounted(async () => {
await fecthList();
});
</script>
<template>