<script setup lang="ts">
import { ref, onMounted } from "vue";
import { useRouter } from "vue-router";
import type { DataList } from "../../interface/response/order";

// importStroe
import { useOrderStore } from "@/modules/11_discipline/store/OrderStore";
// importComponents
import tableOrder from "@/modules/11_discipline/components/4_Order/TableOrder.vue";

const router = useRouter();
const OrderStore = useOrderStore();
const { fetchOrder } = OrderStore; // function จาก stores

// filter ข้อมูลใน table
const filterTable = ref<string>("");

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

// เรียกรายการคำสั่ง จาก API
async function fetchListOrder() {
  const listData: DataList[] = [
    {
      subject: "ทุจริตในหน้าที่",
      ordernumber: "1/2556",
      dateOrder: "1 ธ.ค. 2565",
      orderby: "สำนักงานคณพกรรมการข้าราชการกรุงเทพฯ",
      signer: "นางศิรินภา คงน้อย",
      statusorder: "เสร็จสิ้นแล้ว",
    },
    {
      subject: "ทุจริตในหน้าที่",
      ordernumber: "4/2556",
      dateOrder: "1 ธ.ค. 2565",
      orderby: "สำนักงานคณพกรรมการข้าราชการกรุงเทพฯ",
      signer: "นางศิรินภา คงน้อย",
      statusorder: "เสร็จสิ้นแล้ว",
    },
    {
      subject: "ทุจริตในหน้าที่",
      ordernumber: "2/2556",
      dateOrder: "1 ธ.ค. 2565",
      orderby: "สำนักงานคณพกรรมการข้าราชการกรุงเทพฯ",
      signer: "นางศิรินภา คงน้อย",
      statusorder: "เสร็จสิ้นแล้ว",
    },
  ];
  await fetchOrder(listData); // ส่งข้อมูลไปยัง stores
}

// redirect ไปยังการเพิ่มออกคำสั่งลงโทษทางวินัย
function redirectToPageadd() {
  router.push(`/discipline-order/add`);
}
</script>

<template>
  <div class="toptitle text-dark col-12 row items-center">
    รายการออกคำสั่งลงโทษทางวินัย
  </div>
  <div class="col-12 q-mt-sm">
    <q-card flat bordered>
      <div class="q-pa-md">
        <q-toolbar style="padding: 0" class="q-gutter-sm q-mb-md">
          <q-btn
            id="addDisciplineOrder"
            flat
            dense
            round
            color="primary"
            icon="mdi-plus"
            @click="redirectToPageadd()"
            ><q-tooltip>เพิ่มรายการออกคำสั่งลงโทษทางวินัย </q-tooltip></q-btn
          >
          <q-space />
          <div class="col-2">
            <q-input
              for="filterTable"
              dense
              outlined
              v-model="filterTable"
              label="ค้นหา"
            />
          </div>
          <div class="col-2">
            <q-select
              for="visibleColumns"
              v-model="OrderStore.visibleColumns"
              multiple
              outlined
              dense
              options-dense
              :display-value="$q.lang.table.columns"
              emit-value
              map-options
              :options="OrderStore.columns"
              option-value="name"
              options-cover
            />
          </div>
        </q-toolbar>
        <tableOrder :filterTable="filterTable" />
      </div>
    </q-card>
  </div>
</template>

<style scoped></style>
