filter ==> ตั้งค่าระบบ
This commit is contained in:
parent
55ea7f7c5b
commit
ad250ce83f
4 changed files with 98 additions and 64 deletions
|
|
@ -1,32 +1,43 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref } from "vue";
|
import { ref, onMounted } from "vue";
|
||||||
import { useQuasar } from "quasar";
|
import { useQuasar } from "quasar";
|
||||||
|
|
||||||
/**
|
/** importType*/
|
||||||
* importType
|
|
||||||
*/
|
|
||||||
import type { QTableProps } from "quasar";
|
import type { QTableProps } from "quasar";
|
||||||
|
import type { DataBackup } from "@/modules/04_system/interface/response/Main";
|
||||||
|
|
||||||
/**
|
/** importStore*/
|
||||||
* importStore
|
|
||||||
*/
|
|
||||||
import { useCounterMixin } from "@/stores/mixin";
|
import { useCounterMixin } from "@/stores/mixin";
|
||||||
import { useDataStore } from "@/modules/04_system/stores/main";
|
import { useDataStore } from "@/modules/04_system/stores/main";
|
||||||
import { storeToRefs } from "pinia";
|
import { storeToRefs } from "pinia";
|
||||||
|
|
||||||
/**
|
/** use*/
|
||||||
* use
|
|
||||||
*/
|
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const { showLoader, date2Thai, dialogRemove, dialogConfirm } =
|
const {
|
||||||
useCounterMixin();
|
showLoader,
|
||||||
const { createBackUp, restore, deleteBackUp } = useDataStore();
|
date2Thai,
|
||||||
|
dialogRemove,
|
||||||
|
dialogConfirm,
|
||||||
|
onSearchDataTable,
|
||||||
|
} = useCounterMixin();
|
||||||
|
const {
|
||||||
|
createBackUp,
|
||||||
|
restore,
|
||||||
|
deleteBackUp,
|
||||||
|
fetchListBackup,
|
||||||
|
backupRunningList,
|
||||||
|
restoreRunningList,
|
||||||
|
} = useDataStore();
|
||||||
const storeData = useDataStore();
|
const storeData = useDataStore();
|
||||||
const { dataBackUp, backupRunTotal, restoreRunTotal } = storeToRefs(storeData);
|
const {
|
||||||
|
dataBackUp,
|
||||||
|
backupRunTotal,
|
||||||
|
restoreRunTotal,
|
||||||
|
prevBackupRunTotal,
|
||||||
|
prevRestoreRunTotal,
|
||||||
|
} = storeToRefs(storeData);
|
||||||
|
|
||||||
/**
|
/** Table*/
|
||||||
* Table
|
|
||||||
*/
|
|
||||||
const filter = ref<string>("");
|
const filter = ref<string>("");
|
||||||
const visibleColumns = ref<string[]>([
|
const visibleColumns = ref<string[]>([
|
||||||
"name",
|
"name",
|
||||||
|
|
@ -67,9 +78,7 @@ const columns = ref<QTableProps["columns"]>([
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
/**
|
/** function สร้างรายการข้อมูลสำรอง*/
|
||||||
* function สร้างรายการข้อมูลสำรอง
|
|
||||||
*/
|
|
||||||
function onCreateBackup() {
|
function onCreateBackup() {
|
||||||
dialogConfirm(
|
dialogConfirm(
|
||||||
$q,
|
$q,
|
||||||
|
|
@ -107,6 +116,25 @@ function onRestore(name: string) {
|
||||||
"ต้องการยืนยันการคืนค่าข้อมูลสำรองนี้ใช่หรือไม่?"
|
"ต้องการยืนยันการคืนค่าข้อมูลสำรองนี้ใช่หรือไม่?"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const dataMain = ref<DataBackup[]>([]);
|
||||||
|
|
||||||
|
function serchDataTable() {
|
||||||
|
dataBackUp.value = onSearchDataTable(
|
||||||
|
filter.value,
|
||||||
|
dataMain.value,
|
||||||
|
columns.value ? columns.value : []
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(async () => {
|
||||||
|
prevBackupRunTotal.value = -1;
|
||||||
|
prevRestoreRunTotal.value = -1;
|
||||||
|
await fetchListBackup();
|
||||||
|
await backupRunningList(fetchListBackup);
|
||||||
|
await restoreRunningList(() => {});
|
||||||
|
dataMain.value = dataBackUp.value;
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
@ -127,10 +155,10 @@ function onRestore(name: string) {
|
||||||
<q-input
|
<q-input
|
||||||
borderless
|
borderless
|
||||||
dense
|
dense
|
||||||
debounce="300"
|
|
||||||
outlined
|
outlined
|
||||||
v-model="filter"
|
v-model="filter"
|
||||||
placeholder="ค้นหา"
|
placeholder="ค้นหา"
|
||||||
|
@keydown.enter.pervent="serchDataTable"
|
||||||
>
|
>
|
||||||
<template v-slot:append>
|
<template v-slot:append>
|
||||||
<q-icon name="search" />
|
<q-icon name="search" />
|
||||||
|
|
@ -156,7 +184,6 @@ function onRestore(name: string) {
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
row-key="name"
|
row-key="name"
|
||||||
:visible-columns="visibleColumns"
|
:visible-columns="visibleColumns"
|
||||||
:filter="filter"
|
|
||||||
>
|
>
|
||||||
<template v-slot:header="props">
|
<template v-slot:header="props">
|
||||||
<q-tr :props="props">
|
<q-tr :props="props">
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@ const {
|
||||||
dialogRemove,
|
dialogRemove,
|
||||||
dialogConfirm,
|
dialogConfirm,
|
||||||
dialogMessageNotify,
|
dialogMessageNotify,
|
||||||
|
onSearchDataTable,
|
||||||
} = useCounterMixin();
|
} = useCounterMixin();
|
||||||
const {
|
const {
|
||||||
getSchedule,
|
getSchedule,
|
||||||
|
|
@ -112,8 +113,10 @@ const columns = ref<QTableProps["columns"]>([
|
||||||
align: "left",
|
align: "left",
|
||||||
label: "วันที่เริ่มการสำรองข้อมูล",
|
label: "วันที่เริ่มการสำรองข้อมูล",
|
||||||
sortable: true,
|
sortable: true,
|
||||||
field: (v) => date2Thai(v, false, true),
|
field: "startAt",
|
||||||
|
format(val, row) {
|
||||||
|
return date2Thai(val, false, true);
|
||||||
|
},
|
||||||
headerStyle: "font-size: 14px",
|
headerStyle: "font-size: 14px",
|
||||||
style: "font-size: 14px",
|
style: "font-size: 14px",
|
||||||
},
|
},
|
||||||
|
|
@ -268,6 +271,14 @@ function clearForm() {
|
||||||
formDataschedule.value.time = "";
|
formDataschedule.value.time = "";
|
||||||
formDataschedule.value.schedule = "";
|
formDataschedule.value.schedule = "";
|
||||||
}
|
}
|
||||||
|
const dataMain = ref<Schedule[]>([]);
|
||||||
|
function serchDataTable() {
|
||||||
|
dataSchedule.value = onSearchDataTable(
|
||||||
|
filter.value,
|
||||||
|
dataMain.value,
|
||||||
|
columns.value ? columns.value : []
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
watch(tab, () => {
|
watch(tab, () => {
|
||||||
if (tab.value === formDataschedule.value.type) {
|
if (tab.value === formDataschedule.value.type) {
|
||||||
|
|
@ -282,7 +293,8 @@ watch(tab, () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
getSchedule();
|
await getSchedule();
|
||||||
|
dataMain.value = dataSchedule.value;
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
@ -309,10 +321,10 @@ onMounted(async () => {
|
||||||
<q-input
|
<q-input
|
||||||
borderless
|
borderless
|
||||||
dense
|
dense
|
||||||
debounce="300"
|
|
||||||
outlined
|
outlined
|
||||||
v-model="filter"
|
v-model="filter"
|
||||||
placeholder="ค้นหา"
|
placeholder="ค้นหา"
|
||||||
|
@keydown.enter.pervent="serchDataTable"
|
||||||
>
|
>
|
||||||
<template v-slot:append>
|
<template v-slot:append>
|
||||||
<q-icon name="search" />
|
<q-icon name="search" />
|
||||||
|
|
@ -338,7 +350,6 @@ onMounted(async () => {
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
row-key="name"
|
row-key="name"
|
||||||
:visible-columns="visibleColumns"
|
:visible-columns="visibleColumns"
|
||||||
:filter="filter"
|
|
||||||
>
|
>
|
||||||
<template v-slot:header="props">
|
<template v-slot:header="props">
|
||||||
<q-tr :props="props">
|
<q-tr :props="props">
|
||||||
|
|
|
||||||
|
|
@ -35,22 +35,23 @@ export const useDataStore = defineStore("systemStore", () => {
|
||||||
* ดึงข้อมูลรายการข้อมูลสำรอง
|
* ดึงข้อมูลรายการข้อมูลสำรอง
|
||||||
*/
|
*/
|
||||||
async function fetchListBackup() {
|
async function fetchListBackup() {
|
||||||
showLoader();
|
try {
|
||||||
const res = await http.get(config.API.backup);
|
showLoader();
|
||||||
hideLoader();
|
const res = await http.get(config.API.backup);
|
||||||
if (!res) return false;
|
|
||||||
|
|
||||||
if (res.status === 200) {
|
if (!res) return false;
|
||||||
dataBackUp.value = await res.data;
|
if (res.status === 200) {
|
||||||
|
dataBackUp.value = await res.data;
|
||||||
dataBackUp.value = dataBackUp.value.map((item) => {
|
dataBackUp.value = dataBackUp.value.map((item) => {
|
||||||
return {
|
return {
|
||||||
...item,
|
...item,
|
||||||
status: "สำเร็จ",
|
status: "สำเร็จ",
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
return res.status;
|
||||||
return res.status;
|
}
|
||||||
|
} finally {
|
||||||
|
hideLoader();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,27 +1,22 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { onMounted, ref } from "vue";
|
import { onMounted, ref } from "vue";
|
||||||
|
|
||||||
import { useDataStore } from "@/modules/04_system/stores/main";
|
// import { useDataStore } from "@/modules/04_system/stores/main";
|
||||||
import { storeToRefs } from "pinia";
|
// import { storeToRefs } from "pinia";
|
||||||
/**
|
|
||||||
* import type
|
/** import type*/
|
||||||
*/
|
|
||||||
import type { ItemsTeb } from "@/modules/04_system/interface/index/Main";
|
import type { ItemsTeb } from "@/modules/04_system/interface/index/Main";
|
||||||
|
|
||||||
/**
|
/** import components*/
|
||||||
* import components
|
|
||||||
*/
|
|
||||||
import Card from "@/modules/04_system/components/01_cardBackupRestore.vue"; // ข้อมูลสำรอง
|
import Card from "@/modules/04_system/components/01_cardBackupRestore.vue"; // ข้อมูลสำรอง
|
||||||
import CardAutoBackup from "@/modules/04_system/components/02_cardAutoBackup.vue"; // คืนค่า
|
import CardAutoBackup from "@/modules/04_system/components/02_cardAutoBackup.vue"; // คืนค่า
|
||||||
|
|
||||||
const { fetchListBackup, backupRunningList, restoreRunningList } =
|
// const { fetchListBackup, backupRunningList, restoreRunningList } =
|
||||||
useDataStore();
|
// useDataStore();
|
||||||
|
|
||||||
/**
|
/** ตัวแปร*/
|
||||||
* ตัวแปร
|
// const storeData = useDataStore();
|
||||||
*/
|
// const { prevBackupRunTotal, prevRestoreRunTotal } = storeToRefs(storeData);
|
||||||
const storeData = useDataStore();
|
|
||||||
const { prevBackupRunTotal, prevRestoreRunTotal } = storeToRefs(storeData);
|
|
||||||
|
|
||||||
const tab = ref<string>("backup");
|
const tab = ref<string>("backup");
|
||||||
const tabItems = ref<ItemsTeb[]>([
|
const tabItems = ref<ItemsTeb[]>([
|
||||||
|
|
@ -29,13 +24,13 @@ const tabItems = ref<ItemsTeb[]>([
|
||||||
{ name: "autoBackUp", label: "Schedule ", icon: "mdi-clock-outline" },
|
{ name: "autoBackUp", label: "Schedule ", icon: "mdi-clock-outline" },
|
||||||
]);
|
]);
|
||||||
|
|
||||||
onMounted(async () => {
|
// onMounted(async () => {
|
||||||
prevBackupRunTotal.value = -1;
|
// prevBackupRunTotal.value = -1;
|
||||||
prevRestoreRunTotal.value = -1;
|
// prevRestoreRunTotal.value = -1;
|
||||||
await fetchListBackup();
|
// await fetchListBackup();
|
||||||
await backupRunningList(fetchListBackup);
|
// await backupRunningList(fetchListBackup);
|
||||||
await restoreRunningList(() => {});
|
// await restoreRunningList(() => {});
|
||||||
});
|
// });
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue