<script setup lang="ts">
import { ref, onMounted } from "vue";
import { useRouter } from "vue-router";

// import type
import type { DataList } from "@/modules/11_discipline/interface/response/complaint";
// importStroe
import { useComplainstDataStore } from "@/modules/11_discipline/store/ComplaintsStore";
// impoet Components
import TableComplaint from "@/modules/11_discipline/components/1_Complaint/TableComplaint.vue";

const router = useRouter();

const complainstStore = useComplainstDataStore();
const { fetchComplainst } = complainstStore; // function จาก stores

//ข้อมูล Table
const filterTable = ref<string>("");

onMounted(async () => {
  await fetchListComplaints();
});

// เรีนกรายการเรื่องร้องเรียน
async function fetchListComplaints() {
  const listData: DataList[] = [
    {
      subject: "ทุจริตในหน้าที่",
      detail: "มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน",
      complainant: "นางศิรินภา คงน้อย",
      offenseDescription: "ร้ายแรง",
      creationDate: "2023-10-16",
      considerationLevel: "ด่วนมาก",
      considerationDeadlineDate: "2023-11-01",
    },
    {
      subject: "ทุจริตในหน้าที่",
      detail: "มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน",
      complainant: "นายแก้ว คำ",
      offenseDescription: "ร้ายแรง",
      creationDate: "2023-10-16",
      considerationLevel: "ด่วนมาก",
      considerationDeadlineDate: "2023-11-01",
    },
    {
      subject: "ทุจริตในหน้าที่",
      detail:
        "มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน",
      complainant: "นายภัทรานุย คงนอย",
      offenseDescription: "ร้ายแรง",
      creationDate: "2023-10-16",
      considerationLevel: "ด่วนมาก",
      considerationDeadlineDate: "2023-11-01",
    },
  ];
  await fetchComplainst(listData);
}
function redirectToPageadd() {
  router.push(`/discipline/complaints/add`);
}
</script>

<template>
  <div class="toptitle text-dark col-12 row items-center">เรื่องร้องเรียน</div>
  <q-card flat bordered class="col-12 q-mt-sm q-pa-md">
    <div class="row col-12 q-col-gutter-sm q-mb-sm">
      <div>
        <q-btn
          id="addComplaints"
          for="addComplaints"
          size="12px"
          flat
          round
          color="primary"
          icon="mdi-plus"
          @click="redirectToPageadd()"
          ><q-tooltip>เพิ่มเรื่องร้องเรียน </q-tooltip></q-btn
        >
      </div>
      <q-space />
      <q-input
        class="col-xs-12 col-sm-3 col-md-2"
        id="filterTable"
        for="filterTable"
        dense
        outlined
        v-model="filterTable"
        label="ค้นหา"
      >
        <template v-slot:append>
          <q-icon name="search" />
        </template>
      </q-input>
      <q-select
        id="visibleColumns"
        for="visibleColumns"
        v-model="complainstStore.visibleColumns"
        multiple
        outlined
        dense
        options-dense
        :display-value="$q.lang.table.columns"
        emit-value
        map-options
        :options="complainstStore.columns"
        option-value="name"
        options-cover
        class="col-xs-12 col-sm-3 col-md-2"
      />
    </div>
    <div class="col-12">
      <TableComplaint :filterTable="filterTable" />
    </div>
  </q-card>
</template>

<style scoped></style>
