<script setup lang="ts">
import { ref, onMounted, watch } from "vue";
import type {
  DataOption1,
  DataOption,
} from "@/modules/05_placement/interface/index/Main";
import { useCounterMixin } from "@/stores/mixin";
import type { QForm } from "quasar";
import { useQuasar } from "quasar";
import { useRoute, useRouter } from "vue-router";
import http from "@/plugins/http";
import config from "@/app.config";
import type { treeTab } from "@/modules/05_placement/interface/index/Main";
import type { ResponseOrganiz } from "@/modules/05_placement/interface/response/Order";
import type { QTableProps } from "quasar";

import DialogHeader from "@/modules/04_registry/components/DialogHeader.vue";

const mixin = useCounterMixin();
const {
  date2Thai,
  messageError,
  showLoader,
  hideLoader,
  success,
  dialogConfirm,
  dialogMessageNotify,
} = mixin;
const $q = useQuasar(); //ใช้ noti quasar
const route = useRoute();
const router = useRouter();

const props = defineProps({
  next: {
    type: Function,
    default: () => console.log("not function"),
  },
  previous: {
    type: Function,
    default: () => console.log("not function"),
  },
});
const next = () => props.next();
const orderId = route.params.orderid;

const myForm = ref<QForm>();
const myForm2 = ref<QForm>();

//option
const typeOrderOption = ref<DataOption1[]>([]);
const byOrderOption = ref<DataOption1[]>([]);
const CommandOption = ref<DataOption1[]>([]);

//Main
const typeOrder = ref<any>([]);
const nameOrder = ref<any>("");
const command = ref<number | "">();
const dateYear = ref<number>(new Date().getFullYear());
const dateCommand = ref<Date>(new Date());
const byOrder = ref<string>("");
const nameCommand = ref<any>([]);
const positionCommand = ref<string>("");

//form  C-PM-01 - 04
const examRound = ref<string>("");
const examRoundOption = ref<DataOption1[]>([]);
const conclusionRegisterNo = ref<string>("");
const conclusionRegisterDate = ref<Date>(new Date());

const conclusionResultNo = ref<string>("");
const conclusionResultDate = ref<Date>(new Date());

// C-PM-05 - 06
const meeting = ref<string>("");
const dateMeeting = ref<Date>(new Date());

//  C-PM-08
const conclusionReturnNo = ref<string>("");
const conclusionReturnDate = ref<Date>(new Date());

// C-PM-09
const organizations = ref<string>("");
const organizationsOption = ref<DataOption1[]>([
  { name: "หน่วยงานที่ 1", id: "3fa85f64-5717-4562-b3fc-2c963f66afa6" },
]);
const order = ref<string>("");
const orderDate = ref<Date>(new Date());
const orderOption = ref<DataOption1[]>([
  { name: "คำสั่งที่ 1", id: "3fa85f64-5717-4562-b3fc-2c963f66afa6" },
]);
const book = ref<string>("");
const bookDate = ref<Date>(new Date());
const bookOption = ref<DataOption1[]>([
  { name: "หนังสือ 1", id: "3fa85f64-5717-4562-b3fc-2c963f66afa6" },
]);

// C-PM-10
const dialogVisible = ref<boolean>(false);
const organizationsOld = ref<string>("");
const organizationsOldOption = ref<DataOption1[]>([
  { name: "หน่วยงานที่ 1", id: "3fa85f64-5717-4562-b3fc-2c963f66afa6" },
]);
const orderOld = ref<string>("");
const orderOldDate = ref<Date>(new Date());
const orderOldOption = ref<DataOption1[]>([
  { name: "คำสั่งที่ 1", id: "3fa85f64-5717-4562-b3fc-2c963f66afa6" },
]);
const locationname = ref<string>("");
const experimentOc = ref<string>("");
const experimentformDate = ref<Date>(new Date());
const experimenttoDate = ref<Date>(new Date());
const chairman = ref<string>("");
const chairmanOption = ref<DataOption1[]>([
  { name: "ประธาน ", id: "3fa85f64-5717-4562-b3fc-2c963f66afa6" },
]);
const director = ref<string>("");
const directorOption = ref<DataOption1[]>([
  { name: "กรรมการ 1 ", id: "3fa85f64-5717-4562-b3fc-2c963f66afa6" },
  { name: "กรรมการ 2 ", id: "3fa85f64-5717-4562-e24k-2c963f66afa6" },
]);
const director2 = ref<string>("");
const director2Option = ref<DataOption1[]>([
  { name: "กรรมการ 1 ", id: "3fa85f64-5717-4562-b3fc-2c963f66afa6" },
  { name: "กรรมการ 2 ", id: "3fa85f64-5717-4562-e24k-2c963f66afa6" },
]);

// C-PM-11-12
const committeeOc = ref<string>("");
const committeeOcOption = ref<DataOption1[]>([
  {
    name: "หน่วยงาน (อนุสนธิคำสั่ง) ",
    id: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  },
]);
const committeeOrder = ref<string>("");
const committeeOrderOption = ref<DataOption1[]>([
  {
    name: "คำสั่ง (อนุสนธิคำสั่ง) ",
    id: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  },
]);
const committeeDate = ref<Date>(new Date());

// C-PM-13
const receiveOc = ref<string>("");
const receiveOcOption = ref<DataOption1[]>([
  {
    name: "คำสั่งโอน ",
    id: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  },
]);
// C-PM-14
const transferOrganizationName = ref<string>("");
const conclusionReceive = ref<string>("");
const conclusionReceiveDate = ref<Date>(new Date());

// C-PM-16
const orderNumber = ref<string>();
const orderNumberDate = ref<Date>(new Date());

// C-PM-18-20
const fault = ref<string>("");
const guiltyBasis = ref<string>("");
const conclusionFireNo = ref<string>("");
const conclusionFireDate = ref<Date>(new Date());
const conclusionFireResolution = ref<string>("");

onMounted(async () => {
  if (orderId) {
    fecthTypeOption("hasData");
  } else {
    fecthTypeOption("noData");
  }
});

watch(byOrder, async () => {
  await http
    .get(config.API.approverOC(byOrder.value))
    .then((res: any) => {
      CommandOption.value = res.data.result;
    })
    .catch((e: any) => {
      console.log(e);
    });
});

watch(nameCommand, async () => {
  if (positionCommand.value === "" || positionCommand.value === undefined) {
    positionCommand.value = nameCommand.value.positionName;
  }
});
const fecthTypeOption = async (actions: string) => {
  showLoader();
  await http
    .get(config.API.typeOrder())
    .then((res) => {
      typeOrderOption.value = res.data.result.map((e: any) => ({
        id: e.id,
        name: e.name,
        category: e.category,
        commandCode: e.commandCode,
        fullname: e.commandCode + "   " + e.name,
      }));
    })
    .catch((e) => {
      messageError($q, e);
    })
    .finally(async () => {
      await fecthCommand();
      if (actions == "hasData") {
        await fetchdetailOrder();
      }
      hideLoader();
    });
};

const fetchdetailOrder = async () => {
  let orderIdString = orderId.toString();
  await http
    .get(config.API.detailOrder(orderIdString))
    .then((res: any) => {

      const data = res.data.result;
      typeOrder.value = typeOrderOption.value.find(
        (e) => e.id === data.orderTypeValue
      );
      nameOrder.value = data.orderTitle;
      command.value = data.orderNo;
      dateYear.value = Number(data.orderYear);
      dateCommand.value = data.orderDate;
      byOrder.value = data.orderBy;
      nameCommand.value = data.signatoryBy;
      positionCommand.value = data.signatoryPosition;

      examRound.value = data.examRound;
      conclusionRegisterNo.value = data.conclusionRegisterNo;
      conclusionRegisterDate.value = data.conclusionRegisterDate;
      conclusionResultNo.value = data.conclusionResultNo;
      conclusionResultDate.value = data.conclusionResultDate;
      // 05 -06
      meeting.value = data.conclusionMeetingNo;
      dateMeeting.value = data.conclusionMeetingDate;

      // 08
      conclusionReturnNo.value = data.conclusionReturnNo;
      conclusionReturnDate.value = data.conclusionReturnDate;

      //09
      organizations.value = data.sourceOrganizationName;
      order.value = data.conclusionReturnNo;
      orderDate.value = data.conclusionReturnDate;
      book.value = data.militaryCommandNo;
      bookDate.value = data.militaryCommanDate;

      //10
      if (data.orderTypeCode === "c-pm-10") {
        nodeTree();
      }
      organizationsOld.value = data.placementCommandIssuer;
      orderOld.value = data.placementCommandNo;
      orderOldDate.value = data.placementCommandDate;
      locationname.value = data.placementPositionName;
      experimentOc.value = data.placementOrganizationName;
      experimentformDate.value = data.probationStartDate;
      experimenttoDate.value = data.probationEndDate;
      chairman.value = data.chairManFullName;
      director.value = data.member1FullName;
      director2.value = data.member2FullName;

      //11-12
      committeeOc.value = data.placementCommandIssuer;
      committeeOrder.value = data.placementCommandNo;
      committeeDate.value = data.placementCommandDate;

      //13
      receiveOc.value = data.receiveOrganizationName;

      //14
      transferOrganizationName.value = data.transferOrganizationName;
      conclusionReceive.value = data.conclusionReceiveNo;
      conclusionReceiveDate.value = data.conclusionReceiveDate;

      //16
      orderNumber.value = data.govAidCommandNo;
      orderNumberDate.value = data.govAidCommandDate;

      //18-20
      fault.value = data.fault;
      guiltyBasis.value = data.guiltyBasis;
      conclusionFireNo.value = data.conclusionFireNo;
      conclusionFireDate.value = data.conclusionFireDate;
      conclusionFireResolution.value = data.conclusionFireResolution;

      fecthExamRoundOption(data.orderTypeCode);
    })
    .catch((e) => {
      messageError($q, e);
    })
    .finally(async () => {
      // await fecthCommand();
      hideLoader();
    });
};
const fecthCommand = async () => {
  await http
    .get(config.API.organizationsOrder())
    .then((res: any) => {
      byOrderOption.value = res.data.result;
    })
    .catch((e: any) => {
      console.log(e);
    });
};

const nameOrderFilter = (selectOrder: any) => {
  switch (selectOrder) {
    case "C-PM-01":
      return "บรรจุและแต่งตั้งผู้สอบแข่งขันได้";
    case "C-PM-02":
      return "บรรจุและแต่งตั้งผู้ได้รับคัดเลือก";
    case "C-PM-03":
      return "แต่งตั้งข้าราชการ";
    case "C-PM-04":
      return "ย้ายข้าราชการ";
    case "C-PM-05":
      return "แต่งตั้งข้าราชการ";
    case "C-PM-06":
      return "แต่งตั้งข้าราชการ";
    case "C-PM-07":
      return "ย้ายข้าราชการ";
    case "C-PM-08":
      return "บรรจุและแต่งตั้งข้าราชการกรุงเทพมหานครสามัญกลับเข้ารับราชการ";
    case "C-PM-09":
      return "บรรจุและแต่งตั้งผู้ออกไปรับราชการทหารกลับเข้ารับราชการ";
    case "C-PM-10":
      return "แต่งตั้งคณะกรรมการประเมินผลการทดลองปฏิบัติหน้าที่ราชการ";
    case "C-PM-11":
      return "ให้ข้าราชการกรุงเทพมหานครสามัญซึ่งมีผลการทดลองปฏิบัติหน้าที่ราชการไม่ต่ำกว่ามาตรฐานที่กำหนดรับราชการต่อไป";
    case "C-PM-12":
      return "ให้ข้าราชการกรุงเทพมหานครสามัญออกจากราชการเพราะผลการทดลองปฏิบัติหน้าที่ราชการต่ำกว่ามาตรฐานที่กำหนด";
    case "C-PM-13":
      return "ให้โอนข้าราชการกรุงเทพมหานครสามัญ";
    case "C-PM-14":
      return "รับโอนข้าราชการกรุงเทพมหานครสามัญ";
    case "C-PM-15":
      return "ให้ข้าราชการช่วยราชการ";
    case "C-PM-16":
      return "ให้ข้าราชการกลับไปปฎิบัติงานทางต้นสังกัดเดิม";
    case "C-PM-17":
      return "อนุญาตให้ข้าราชการลาออกจากราชการ";
    case "C-PM-18":
      return "ลงโทษให้ออกจากราชการ";
    case "C-PM-19":
      return "ลงโทษปลดออกจากราชการ";
    case "C-PM-20":
      return "ลงโทษไล่ออกจากราชการ";
    case "C-PM-21":
      return "จ้างและแต่งตั้งลูกจ้างประจำ";

    default:
      return "error";
  }
};
const selectCMP = (selectOrder: any) => {
  fecthExamRoundOption(selectOrder.commandCode);
  if (selectOrder.commandCode === "C-PM-10") {
    nodeTree();
  }
  nameOrder.value = nameOrderFilter(selectOrder.commandCode);
  //01-04
  examRound.value = "";
  conclusionRegisterNo.value = "";
  conclusionRegisterDate.value = new Date();
  conclusionResultNo.value = "";
  conclusionResultDate.value = new Date();
  // 05-06
  meeting.value = "";
  dateMeeting.value = new Date();
  //08
  conclusionReceive.value = "";
  conclusionReceiveDate.value = new Date();
  //09
  organizations.value = "";
  order.value = "";
  orderDate.value = new Date();
  book.value = "";
  bookDate.value = new Date();
  //10
  organizationsOld.value, (orderOld.value = "");
  orderOldDate.value = new Date();
  locationname.value = "";
  experimentOc.value = "";
  experimentformDate.value = new Date();
  experimenttoDate.value = new Date();
  chairman.value = "";
  director.value = "";
  director2.value = "";
  //11-12
  committeeOc.value = "";
  committeeOrder.value = "";
  committeeDate.value = new Date();
  //13
  receiveOc.value = "";
  //14
  transferOrganizationName.value = "";
  conclusionReceive.value = "";
  conclusionReceiveDate.value = new Date();
  //16
  orderNumber.value = "";
  orderNumberDate.value = new Date();
  //18-20
  fault.value = "";
  guiltyBasis.value = "";
  conclusionFireNo.value = "";
  conclusionFireDate.value = new Date();
  conclusionFireResolution.value = "";
};
const fecthExamRoundOption = async (commandCode: string) => {
  await http
    .get(config.API.examroundOrder(commandCode))
    .then((res) => {
      examRoundOption.value = res.data.result;
    })
    .catch((e) => {
      console.log(e);
    });
};

const submit = async () => {
  let signBy = null;
  if (!nameCommand.value.length) {
    signBy = await nameCommand.value.name;
  } else if (nameCommand.value !== "") {
    signBy = await nameCommand.value;
  } else {
    const name2 = await CommandOption.value.find(
      (x: any) => x.name == nameCommand.value
    );
    signBy = await name2?.name;
  }

  const orderByOrganizationName = await byOrderOption.value.find(
    (x: any) => x.id == byOrder.value
  )?.name;

  const formdata = {
    orderTypeValue: typeOrder.value.id,
    orderTitle: nameOrder.value,
    orderNo:
      command.value == undefined || command.value == "" ? "" : command.value,
    orderYear: dateYear.value,
    orderDate: dateCommand.value,
    orderBy: byOrder.value,
    orderByOrganizationName: orderByOrganizationName,
    registerPosition: "",
    signatoryBy: signBy === "" ? nameCommand.value : signBy,
    signatoryPosition: positionCommand.value,
  };
  if (
    typeOrder.value.commandCode == "C-PM-01" ||
    typeOrder.value.commandCode == "C-PM-02" ||
    typeOrder.value.commandCode == "C-PM-03" ||
    typeOrder.value.commandCode == "C-PM-04"
  ) {
    Object.assign(formdata, {
      examRound: examRound.value,
      conclusionRegisterNo: conclusionRegisterNo.value,
      conclusionRegisterDate: conclusionRegisterDate.value,
      conclusionResultNo: conclusionResultNo.value.toString(),
      conclusionResultDate: conclusionResultDate.value,
    });
  } else if (
    typeOrder.value.commandCode == "C-PM-05" ||
    typeOrder.value.commandCode == "C-PM-06"
  ) {
    Object.assign(formdata, {
      conclusionMeetingNo: meeting.value,
      conclusionMeetingDate: dateMeeting.value,
    });
  } else if (typeOrder.value.commandCode == "C-PM-08") {
    Object.assign(formdata, {
      conclusionReturnNo: conclusionReturnNo.value,
      conclusionReturnDate: conclusionReturnDate.value,
    });
  } else if (typeOrder.value.commandCode == "C-PM-09") {
    Object.assign(formdata, {
      sourceOrganizationName: organizations.value,
      conclusionReturnNo: order.value,
      conclusionReturnDate: orderDate.value,
      militaryCommandNo: book.value,
      militaryCommandDate: bookDate.value,
    });
  } else if (typeOrder.value.commandCode == "C-PM-10") {
    Object.assign(formdata, {
      placementCommandIssuer: organizationsOld.value,
      placementCommandNo: orderOld.value,
      placementCommandDate: orderOldDate.value,
      placementPositionName: locationname.value,
      placementOrganizationName: experimentOc.value,
      probationStartDate: experimentformDate.value,
      probationEndDate: experimenttoDate.value,
      chairManFullName: chairman.value,
      member1FullName: director.value,
      member2FullName: director2.value,
    });
  } else if (
    typeOrder.value.commandCode == "C-PM-11" ||
    typeOrder.value.commandCode == "C-PM-12"
  ) {
    Object.assign(formdata, {
      placementCommandIssuer: committeeOc.value,
      placementCommandNo: committeeOrder.value,
      placementCommandDate: committeeDate.value,
    });
  } else if (typeOrder.value.commandCode == "C-PM-13") {
    Object.assign(formdata, {
      receiveOrganizationName: receiveOc.value,
    });
  } else if (typeOrder.value.commandCode == "C-PM-14") {
    Object.assign(formdata, {
      transferOrganizationName: transferOrganizationName.value,
      conclusionReceiveNo: conclusionReceive.value,
      conclusionReceiveDate: conclusionReceiveDate.value,
    });
  } else if (typeOrder.value.commandCode == "C-PM-16") {
    Object.assign(formdata, {
      govAidCommandNo: orderNumber.value,
      govAidCommandDate: orderNumberDate.value,
    });
  } else if (
    typeOrder.value.commandCode == "C-PM-18" ||
    typeOrder.value.commandCode == "C-PM-19" ||
    typeOrder.value.commandCode == "C-PM-20"
  ) {
    Object.assign(formdata, {
      fault: fault.value,
      guiltyBasis: guiltyBasis.value,
      conclusionFireNo: conclusionFireNo.value,
      conclusionFireDate: conclusionFireDate.value,
      conclusionFireResolution: conclusionFireResolution.value,
    });
  }

  await myForm.value!.validate().then((result: boolean) => {
    if (result) {
      dialogConfirm($q, () => {
        if (!orderId) {
          createListOrder(formdata, typeOrder.value.commandCode);
        } else {
          let orderIdString = orderId.toString();
          updateOrder(formdata, orderIdString, typeOrder.value.commandCode);
        }
      });
    }
  });
};
const createListOrder = async (formData: Object, type: string) => {
  showLoader();
  await http
    .post(config.API.orderCPM(type), formData)
    .then((res) => {
      const data = res.data.result;
      localStorage.setItem("orderId", data.id);
      router.push(`/order/detail/${data.id}?step=${2}`);
      next();
      success($q, "บันทึกข้อมูลสำเร็จ");
    })
    .catch((e) => {
      messageError($q, e);
    })
    .finally(() => {
      hideLoader();
    });
};
const updateOrder = async (formData: Object, orderId: string, type: string) => {
  showLoader();
  await http
    .put(config.API.orderCPMUpdate(type, orderId), formData)
    .then((res) => {
      next();
      success($q, "บันทึกข้อมูลสำเร็จ");
    })
    .catch((e) => {
      messageError($q, e);
    })
    .finally(() => {
      hideLoader();
    });
};
// dialog 10
const search = ref<string>("");
const nodesTree = ref<treeTab[]>([]);
const expanded = ref<string[]>([]);
const selected = ref<string>("");
const selectedModal = ref<ResponseOrganiz[]>([]);
const visibleColumnsModal = ref<String[]>(["no", "idCard", "name", "position"]);
const columnsModal = ref<QTableProps["columns"]>([
  {
    name: "no",
    align: "left",
    label: "ลำดับ",
    field: "no",
    sortable: true,
    sort: (a: string, b: string) =>
      a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
  },
  {
    name: "idCard",
    align: "left",
    label: "เลขประจำตัวประชาชน",
    field: "idCard",
    sortable: true,
    sort: (a: string, b: string) =>
      a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
  },
  {
    name: "name",
    align: "left",
    label: "ชื่อ-สกุล",
    field: "name",
    sortable: true,
    sort: (a: string, b: string) =>
      a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
  },
  {
    name: "position",
    align: "left",
    label: "ตำแหน่ง",
    field: "position",
    sortable: true,
    sort: (a: string, b: string) =>
      a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
  },
]);
const rowsModal = ref<ResponseOrganiz[]>([]);
const clickAction = ref<string>("");
const filterModal = ref<string>("");
const nodeTree = async () => {
  showLoader();
  await http
    .get(config.API.profileOrganizRoot)
    .then((res: any) => {
      const data = res.data.result;
      nodesTree.value = data;
      if (data.length > 0) {
        expanded.value = [data[0].id];
      }
    })
    .catch((e) => {
      messageError($q, e);
    })
    .finally(() => {
      hideLoader();
    });
};
const onSelected = async (id: string) => {
  await listModal(id);
};
const listModal = async (id: string) => {
  showLoader();
  await http
    .get(config.API.copyOrderPersonsId(id))
    .then((res) => {
      const data = res.data.result;
      let list: ResponseOrganiz[] = [];
      data.map((r: ResponseOrganiz) => {
        list.push({
          firstName: r.firstName ?? "",
          idCard: r.idCard ?? "",
          lastName: r.lastName ?? "",
          name: r.name ?? "",
          position: r.position ?? "",
          prefixId: r.prefixId ?? "",
          profileId: r.profileId ?? "",
          unit: r.unit ?? "",
        });
      });
      rowsModal.value = list;
    })
    .catch((e) => {
      messageError($q, e);
    })
    .finally(async () => {
      hideLoader();
    });
};
const openDialog = (action: string) => {
  dialogVisible.value = true;
  clickAction.value = action;
  selectedModal.value = [];
};
const clickSavelist = () => {
  if (selectedModal.value.length > 0) {
    if (clickAction.value === "chairman") {
      chairman.value = selectedModal.value[0].name;
    } else if (clickAction.value === "director") {
      director.value = selectedModal.value[0].name;
    } else if (clickAction.value === "director2") {
      director2.value = selectedModal.value[0].name;
    }
    dialogVisible.value = false;
  } else dialogMessageNotify($q, "โปรดเลือกรายชื่อ");
};

/**
 * class จัดรูปแบบแสดงระหว่างข้อมูลที่แก้ไขหรือแสดงเฉยๆ
 * @param val ข้อมูล input สำหรับแก้ไขหรือไม่
 */
const getClass = (val: boolean) => {
  return {
    "full-width inputgreen cursor-pointer": val,
    "full-width cursor-pointer": !val,
  };
};
</script>
<template>
  <div style="max-height: 68vh; overflow-y: scroll">
    <!-- Main -->
    <q-form ref="myForm" class="q-pa-md">
      <div class="row col-12 q-col-gutter-x-lg q-col-gutter-y-md">
        <div class="col-xs-12 col-md-6">
          <q-select
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="typeOrder"
            :rules="[(val: string) => !!val || `${'กรุณาเลือกประเภทคำสั่ง'}`]"
            hide-bottom-space
            :label="`${'ประเภทคำสั่ง'}`"
            map-options
            option-label="fullname"
            :options="typeOrderOption"
            option-value="id"
            use-input
            input-debounce="0"
            @update:model-value="selectCMP(typeOrder)"
          />
        </div>
        <div class="col-xs-12 col-md-6">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="nameOrder"
            :rules="[(val) => !!val || `${'กรุณากรอกคำสั่งเรื่อง'}`]"
            :label="`${'คำสั่งเรื่อง'}`"
            hide-bottom-space
          />
        </div>
        <div class="row col-xs-7 col-md-3">
          <div class="col-6">
            <q-input
              :class="getClass(true)"
              outlined
              dense
              lazy-rules
              v-model="command"
              hide-bottom-space
              :label="`${'คำสั่งเลขที่'}`"
            />
          </div>
          <label class="col-1 flex justify-center items-center text-bold"
            >/</label
          >
          <div class="col-5">
            <datepicker
              v-model="dateYear"
              :locale="'th'"
              autoApply
              year-picker
              :enableTimePicker="false"
            >
              <template #year="{ year }">{{ year + 543 }}</template>
              <template #year-overlay-value="{ value }">{{
                parseInt(value + 543)
              }}</template>
              <template #trigger>
                <q-input
                  :model-value="dateYear + 543"
                  :rules="[(val) => !!val || `${'กรุณากรอก พ.ศ.'}`]"
                  :label="`${'พ.ศ.'}`"
                  dense
                  outlined
                >
                </q-input>
              </template>
            </datepicker>
          </div>
        </div>
        <div class="col-xs-5 col-md-3">
          <datepicker
            menu-class-name="modalfix"
            v-model="dateCommand"
            :locale="'th'"
            autoApply
            borderless
            :enableTimePicker="false"
            week-start="0"
          >
            <template #year="{ year }">
              {{ year + 543 }}
            </template>
            <template #year-overlay-value="{ value }">
              {{ parseInt(value + 543) }}
            </template>
            <template #trigger>
              <q-input
                outlined
                dense
                class="full-width datepicker"
                :model-value="
                  dateCommand != null ? date2Thai(dateCommand) : null
                "
                :label="`${'วันที่คำสั่งมีผล'}`"
                :rules="[(val) => !!val || `${'กรุณาเลือกวันที่คำสั่งมีผล'}`]"
              >
                <template v-slot:prepend>
                  <q-icon
                    name="event"
                    class="cursor-pointer"
                    style="color: var(--q-primary)"
                  >
                  </q-icon>
                </template>
              </q-input>
            </template>
          </datepicker>
        </div>
        <div class="col-xs-12 col-md-6">
          <selector
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="byOrder"
            :rules="[(val: string) => !!val || `${'กรุณาเลือกคำสั่งโดย'}`]"
            emit-value
            hide-bottom-space
            :label="`${'คำสั่งโดย'}`"
            map-options
            option-label="name"
            :options="byOrderOption"
            option-value="id"
            use-input
            input-debounce="0"
            @update:model-value="(nameCommand = ''), (positionCommand = '')"
          />
        </div>
        <div
          class="col-xs-12 col-md-6"
          v-if="byOrder !== '00000000-0000-0000-0000-000000000000'"
        >
          <selector
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="nameCommand"
            :rules="[(val: string) => !!val || `${'กรุณาเลือกผู้มีอำนาจลงนาม'}`]"
            hide-bottom-space
            :label="`${'ผู้มีอำนาจลงนาม'}`"
            map-options
            option-label="name"
            :options="CommandOption"
            option-value="id"
            use-input
            input-debounce="0"
          >
            <template v-if="CommandOption.length === 0" v-slot:no-option>
              <q-item>
                <q-item-section class="text-primary">
                  กรุณาเลือกคำสั่งโดยก่อน
                </q-item-section>
              </q-item>
            </template>
          </selector>

          <!-- <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="nameCommand"
            :rules="[(val) => !!val || `${'กรุณากรอกผู้มีอำนาจลงนาม'}`]"
            :label="`${'ผู้มีอำนาจลงนาม'}`"
            hide-bottom-space
          /> -->
        </div>
        <div
          class="col-xs-12 col-md-6"
          v-if="byOrder !== '00000000-0000-0000-0000-000000000000'"
        >
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="positionCommand"
            :rules="[(val) => !!val || `${'กรุณากรอกตำแหน่งผู้มีอำนาจลงนาม'}`]"
            :label="`${'ตำแหน่งผู้มีอำนาจลงนาม'}`"
            hide-bottom-space
            disable
          />
        </div>
        <div
          class="col-xs-12 col-md-6"
          v-if="byOrder == '00000000-0000-0000-0000-000000000000'"
        >
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="nameCommand"
            :rules="[(val) => !!val || `${'กรุณากรอกผู้มีอำนาจลงนาม'}`]"
            :label="`${'ผู้มีอำนาจลงนาม'}`"
            hide-bottom-space
          />
        </div>
        <div
          class="col-xs-12 col-md-6"
          v-if="byOrder == '00000000-0000-0000-0000-000000000000'"
        >
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="positionCommand"
            :rules="[(val) => !!val || `${'กรุณากรอกตำแหน่งผู้มีอำนาจลงนาม'}`]"
            :label="`${'ตำแหน่งผู้มีอำนาจลงนาม'}`"
            hide-bottom-space
          />
        </div>
        <div class="col-12 q-mb-md" v-if="typeOrder.commandCode">
          <q-separator />
        </div>
      </div>

      <!-- C-PM-01-04 -->
      <div
        class="row col-12 q-col-gutter-x-lg q-col-gutter-y-md"
        v-if="
          typeOrder.commandCode === 'C-PM-01' ||
          typeOrder.commandCode === 'C-PM-02' ||
          typeOrder.commandCode === 'C-PM-03' ||
          typeOrder.commandCode === 'C-PM-04'
        "
      >
        <div class="col-xs-12 col-md-12">
          <selector
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="examRound"
            :rules="[(val: string) => !!val || `${'กรุณาเลือกรอบการสอบ'}`]"
            hide-bottom-space
            :label="`${'รอบการสอบ'}`"
            emit-value
            map-options
            option-label="examRoundName"
            :options="examRoundOption"
            option-value="examRoundValue"
            use-input
            input-debounce="0"
          />
        </div>

        <div class="col-xs-12 col-md-6">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="conclusionRegisterNo"
            :rules="[
              (val) =>
                !!val ||
                `${'กรุณากรอกมติ กก. ครั้งที่ (เรื่อง รับสมัครสอบฯ)'}`,
            ]"
            :label="`${'มติ กก. ครั้งที่ (เรื่อง รับสมัครสอบฯ)'}`"
            hide-bottom-space
          />

          <!-- <selector :class="getClass(true)" outlined dense lazy-rules v-model="conclusionRegisterNo"
            :rules="[(val: string) => !!val || `${'กรุณาเลือกมติ กก. ครั้งที่ (เรื่อง รับสมัครสอบฯ)'}`]"
            hide-bottom-space :label="`${'มติ กก. ครั้งที่ (เรื่อง รับสมัครสอบฯ)'}`" emit-value map-options
            option-label="name" :options="registerOption" option-value="id" use-input input-debounce="0" /> -->
        </div>
        <div class="col-xs-12 col-md-6">
          <datepicker
            menu-class-name="modalfix"
            v-model="conclusionRegisterDate"
            :locale="'th'"
            autoApply
            borderless
            :enableTimePicker="false"
            week-start="0"
          >
            <template #year="{ year }">
              {{ year + 543 }}
            </template>
            <template #year-overlay-value="{ value }">
              {{ parseInt(value + 543) }}
            </template>
            <template #trigger>
              <q-input
                outlined
                dense
                class="full-width datepicker"
                :model-value="
                  conclusionRegisterDate != null
                    ? date2Thai(conclusionRegisterDate)
                    : null
                "
                :label="`${'ลงวันที่ (เรื่อง รับสมัครสอบฯ)'}`"
                :rules="[
                  (val) =>
                    !!val || `${'กรุณาเลือกลงวันที่ (เรื่อง รับสมัครสอบฯ)'}`,
                ]"
              >
                <template v-slot:prepend>
                  <q-icon
                    name="event"
                    class="cursor-pointer"
                    style="color: var(--q-primary)"
                  >
                  </q-icon>
                </template>
              </q-input>
            </template>
          </datepicker>
        </div>
        <div class="col-xs-12 col-md-6">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="conclusionResultNo"
            :rules="[
              (val) =>
                !!val || `${'กรุณากรอกมติ กก. ครั้งที่ (เรื่อง ผลการสอบฯ)'}`,
            ]"
            :label="`${'มติ กก. ครั้งที่ (เรื่อง ผลการสอบฯ)'}`"
            hide-bottom-space
          />

          <!-- <selector :class="getClass(true)" outlined dense lazy-rules v-model="conclusionResultNo"
            :rules="[(val: string) => !!val || `${'กรุณาเลือกมติ กก. ครั้งที่ (เรื่อง ผลการสอบแข่งขัน)'}`]"
            hide-bottom-space :label="`${'มติ กก. ครั้งที่ (เรื่อง ผลการสอบแข่งขัน)'}`" emit-value map-options
            option-label="name" :options="announceOption" option-value="id" use-input input-debounce="0" /> -->
        </div>
        <div class="col-xs-12 col-md-6">
          <datepicker
            menu-class-name="modalfix"
            v-model="conclusionResultDate"
            :locale="'th'"
            autoApply
            borderless
            :enableTimePicker="false"
            week-start="0"
          >
            <template #year="{ year }">
              {{ year + 543 }}
            </template>
            <template #year-overlay-value="{ value }">
              {{ parseInt(value + 543) }}
            </template>
            <template #trigger>
              <q-input
                outlined
                dense
                class="full-width datepicker"
                :model-value="
                  conclusionResultDate != null
                    ? date2Thai(conclusionResultDate)
                    : null
                "
                :label="`${'ลงวันที่ (เรื่อง ผลการสอบฯ)'}`"
                :rules="[
                  (val) =>
                    !!val || `${'กรุณาเลือกลงวันที่ (เรื่อง ผลการสอบฯ)'}`,
                ]"
              >
                <template v-slot:prepend>
                  <q-icon
                    name="event"
                    class="cursor-pointer"
                    style="color: var(--q-primary)"
                  >
                  </q-icon>
                </template>
              </q-input>
            </template>
          </datepicker>
        </div>
      </div>

      <!-- C-PM-05-06 -->
      <div
        class="row col-12 q-col-gutter-x-lg q-col-gutter-y-md"
        v-if="
          typeOrder.commandCode === 'C-PM-05' ||
          typeOrder.commandCode === 'C-PM-06'
        "
      >
        <!-- <div class="col-xs-12 col-md-6">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="conclusion1"
            :rules="[(val) => !!val || `${'กรุณากรอกมติ กก. ครั้งที่'}`]"
            :label="`${'มติ กก. ครั้งที่'}`"
            hide-bottom-space
          /> -->

        <!-- <selector :class="getClass(true)" outlined dense lazy-rules v-model="conclusion1"
            :rules="[(val: string) => !!val || `${'กรุณาเลือกมติ กก. ครั้งที่ '}`]" hide-bottom-space
            :label="`${'มติ กก. ครั้งที่'}`" emit-value map-options option-label="name" :options="conclusion1Option"
            option-value="id" use-input input-debounce="0" /> -->
        <!-- </div> -->
        <!-- <div class="col-xs-12 col-md-6">
          <datepicker
            menu-class-name="modalfix"
            v-model="conclusionDate1"
            :locale="'th'"
            autoApply
            borderless
            :enableTimePicker="false"
            week-start="0"
          >
            <template #year="{ year }">
              {{ year + 543 }}
            </template>
            <template #year-overlay-value="{ value }">
              {{ parseInt(value + 543) }}
            </template>
            <template #trigger>
              <q-input
                outlined
                dense
                class="full-width datepicker"
                :model-value="
                  conclusionDate1 != null ? date2Thai(conclusionDate1) : null
                "
                :label="`${'ลงวันที่ '}`"
                :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่ '}`]"
              >
                <template v-slot:prepend>
                  <q-icon
                    name="event"
                    class="cursor-pointer"
                    style="color: var(--q-primary)"
                  >
                  </q-icon>
                </template>
              </q-input>
            </template>
          </datepicker>
        </div> -->
        <!-- <div class="col-xs-12 col-md-6">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="conclusion2"
            :rules="[(val) => !!val || `${'กรุณากรอกมติ กก. ครั้งที่'}`]"
            :label="`${'มติ กก. ครั้งที่'}`"
            hide-bottom-space
          /> -->

        <!-- <selector :class="getClass(true)" outlined dense lazy-rules v-model="conclusion2" :rules="[(val: string) => !!val || `${'กรุณาเลือกมติ กก. ครั้งที่ '}`]" hide-bottom-space :label="`${'มติ กก. ครั้งที่ '}`" emit-value map-options option-label="name" :options="conclusion2Option" option-value="id" use-input input-debounce="0" /> -->
        <!-- </div> -->
        <!-- <div class="col-xs-12 col-md-6">
          <datepicker
            menu-class-name="modalfix"
            v-model="conclusionDate2"
            :locale="'th'"
            autoApply
            borderless
            :enableTimePicker="false"
            week-start="0"
          >
            <template #year="{ year }">
              {{ year + 543 }}
            </template>
            <template #year-overlay-value="{ value }">
              {{ parseInt(value + 543) }}
            </template>
            <template #trigger>
              <q-input
                outlined
                dense
                class="full-width datepicker"
                :model-value="
                  conclusionDate2 != null ? date2Thai(conclusionDate2) : null
                "
                :label="`${'ลงวันที่ '}`"
                :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่ '}`]"
              >
                <template v-slot:prepend>
                  <q-icon
                    name="event"
                    class="cursor-pointer"
                    style="color: var(--q-primary)"
                  >
                  </q-icon>
                </template>
              </q-input>
            </template>
          </datepicker>
        </div> -->
        <div class="col-xs-12 col-md-6">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="meeting"
            :rules="[(val) => !!val || `${'กรุณากรอกการประชุม ครั้งที่'}`]"
            :label="`${'การประชุม ครั้งที่'}`"
            hide-bottom-space
          />

          <!-- <selector :class="getClass(true)" outlined dense lazy-rules v-model="meeting"
            :rules="[(val: string) => !!val || `${'กรุณาเลือกการประชุม ครั้งที่ '}`]" hide-bottom-space
            :label="`${'การประชุมครั้งที่ '}`" emit-value map-options option-label="name" :options="meetingOption"
            option-value="id" use-input input-debounce="0" /> -->
        </div>
        <div class="col-xs-12 col-md-6">
          <datepicker
            menu-class-name="modalfix"
            v-model="dateMeeting"
            :locale="'th'"
            autoApply
            borderless
            :enableTimePicker="false"
            week-start="0"
          >
            <template #year="{ year }">
              {{ year + 543 }}
            </template>
            <template #year-overlay-value="{ value }">
              {{ parseInt(value + 543) }}
            </template>
            <template #trigger>
              <q-input
                outlined
                dense
                class="full-width datepicker"
                :model-value="
                  dateMeeting != null ? date2Thai(dateMeeting) : null
                "
                :label="`${'ลงวันที่ '}`"
                :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่ '}`]"
              >
                <template v-slot:prepend>
                  <q-icon
                    name="event"
                    class="cursor-pointer"
                    style="color: var(--q-primary)"
                  >
                  </q-icon>
                </template>
              </q-input>
            </template>
          </datepicker>
        </div>
      </div>

      <!-- C-PM-07 -->
      <!-- <div
        class="row col-12 q-col-gutter-x-lg q-col-gutter-y-md"
        v-if="typeOrder.commandCode === 'C-PM-07'"
      >
        <div class="col-xs-12 col-md-6">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="conclusionRelocation1"
            :rules="[(val) => !!val || `${'กรุณากรอกมติ กก. ครั้งที่'}`]"
            :label="`${'มติ กก. ครั้งที่'}`"
            hide-bottom-space
          />
        </div>
        <div class="col-xs-12 col-md-6">
          <datepicker
            menu-class-name="modalfix"
            v-model="conclusionRelocationDate1"
            :locale="'th'"
            autoApply
            borderless
            :enableTimePicker="false"
            week-start="0"
          >
            <template #year="{ year }">
              {{ year + 543 }}
            </template>
            <template #year-overlay-value="{ value }">
              {{ parseInt(value + 543) }}
            </template>
            <template #trigger>
              <q-input
                outlined
                dense
                class="full-width datepicker"
                :model-value="
                  conclusionRelocationDate1 != null
                    ? date2Thai(conclusionRelocationDate1)
                    : null
                "
                :label="`${'ลงวันที่ '}`"
                :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่ '}`]"
              >
                <template v-slot:prepend>
                  <q-icon
                    name="event"
                    class="cursor-pointer"
                    style="color: var(--q-primary)"
                  >
                  </q-icon>
                </template>
              </q-input>
            </template>
          </datepicker>
        </div>
        <div class="col-xs-12 col-md-6">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="conclusionRelocation2"
            :rules="[(val) => !!val || `${'กรุณากรอกมติ กก. ครั้งที่'}`]"
            :label="`${'มติ กก. ครั้งที่'}`"
            hide-bottom-space
          />
        </div>
        <div class="col-xs-12 col-md-6">
          <datepicker
            menu-class-name="modalfix"
            v-model="conclusionRelocationDate2"
            :locale="'th'"
            autoApply
            borderless
            :enableTimePicker="false"
            week-start="0"
          >
            <template #year="{ year }">
              {{ year + 543 }}
            </template>
            <template #year-overlay-value="{ value }">
              {{ parseInt(value + 543) }}
            </template>
            <template #trigger>
              <q-input
                outlined
                dense
                class="full-width datepicker"
                :model-value="
                  conclusionRelocationDate2 != null
                    ? date2Thai(conclusionRelocationDate2)
                    : null
                "
                :label="`${'ลงวันที่ '}`"
                :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่ '}`]"
              >
                <template v-slot:prepend>
                  <q-icon
                    name="event"
                    class="cursor-pointer"
                    style="color: var(--q-primary)"
                  >
                  </q-icon>
                </template>
              </q-input>
            </template>
          </datepicker>
        </div>
      </div> -->

      <!-- C-PM-08 -->
      <div
        class="row col-12 q-col-gutter-x-lg q-col-gutter-y-md"
        v-if="typeOrder.commandCode === 'C-PM-08'"
      >
        <!-- <div class="col-xs-12 col-md-6">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="conclusion"
            :rules="[(val) => !!val || `${'กรุณากรอกมติ กก. ครั้งที่'}`]"
            :label="`${'มติ กก. ครั้งที่'}`"
            hide-bottom-space
          />
        </div> -->
        <!-- <div class="col-xs-12 col-md-6">
          <datepicker
            menu-class-name="modalfix"
            v-model="conclusionDate"
            :locale="'th'"
            autoApply
            borderless
            :enableTimePicker="false"
            week-start="0"
          >
            <template #year="{ year }">
              {{ year + 543 }}
            </template>
            <template #year-overlay-value="{ value }">
              {{ parseInt(value + 543) }}
            </template>
            <template #trigger>
              <q-input
                outlined
                dense
                class="full-width datepicker"
                :model-value="
                  conclusionDate != null ? date2Thai(conclusionDate) : null
                "
                :label="`${'ลงวันที่ '}`"
                :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่ '}`]"
              >
                <template v-slot:prepend>
                  <q-icon
                    name="event"
                    class="cursor-pointer"
                    style="color: var(--q-primary)"
                  >
                  </q-icon>
                </template>
              </q-input>
            </template>
          </datepicker>
        </div> -->
        <!-- <div class="col-xs-12 col-md-6">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="conclusionLeave"
            :rules="[
              (val) =>
                !!val ||
                `${'กรุณากรอกมติ กก. ครั้งที่ (เรื่อง ออกจากราชการ)'}`,
            ]"
            :label="`${'มติ กก. ครั้งที่ (เรื่อง ออกจากราชการ)'}`"
            hide-bottom-space
          />
        </div> -->
        <!-- <div class="col-xs-12 col-md-6">
          <datepicker
            menu-class-name="modalfix"
            v-model="conclusionLeaveDate"
            :locale="'th'"
            autoApply
            borderless
            :enableTimePicker="false"
            week-start="0"
          >
            <template #year="{ year }">
              {{ year + 543 }}
            </template>
            <template #year-overlay-value="{ value }">
              {{ parseInt(value + 543) }}
            </template>
            <template #trigger>
              <q-input
                outlined
                dense
                class="full-width datepicker"
                :model-value="
                  conclusionLeaveDate != null
                    ? date2Thai(conclusionLeaveDate)
                    : null
                "
                :label="`${'ลงวันที่ (เรื่อง ออกจากราชการ)'}`"
                :rules="[
                  (val) =>
                    !!val || `${'กรุณาเลือกลงวันที่ (เรื่อง ออกจากราชการ)'}`,
                ]"
              >
                <template v-slot:prepend>
                  <q-icon
                    name="event"
                    class="cursor-pointer"
                    style="color: var(--q-primary)"
                  >
                  </q-icon>
                </template>
              </q-input>
            </template>
          </datepicker>
        </div> -->
        <div class="col-xs-12 col-md-6">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="conclusionReturnNo"
            :rules="[
              (val) =>
                !!val ||
                `${'กรุณากรอกมติ กก. ครั้งที่ (เรื่อง กลับเข้าราชการ)'}`,
            ]"
            :label="`${'มติ กก. ครั้งที่ (เรื่อง กลับเข้าราชการ)'}`"
            hide-bottom-space
          />

          <!-- <selector :class="getClass(true)" outlined dense lazy-rules v-model="conclusionReceive"
            :rules="[(val: string) => !!val || `${'มติ กก. ครั้งที่ (กลับเข้าราชการ)'}`]" hide-bottom-space
            :label="`${'มติ กก. ครั้งที่ (กลับเข้าราชการ)'}`" emit-value map-options option-label="name"
            :options="ReceiveOption" option-value="id" use-input input-debounce="0" /> -->
        </div>
        <div class="col-xs-12 col-md-6">
          <datepicker
            menu-class-name="modalfix"
            v-model="conclusionReturnDate"
            :locale="'th'"
            autoApply
            borderless
            :enableTimePicker="false"
            week-start="0"
          >
            <template #year="{ year }">
              {{ year + 543 }}
            </template>
            <template #year-overlay-value="{ value }">
              {{ parseInt(value + 543) }}
            </template>
            <template #trigger>
              <q-input
                outlined
                dense
                class="full-width datepicker"
                :model-value="
                  conclusionReturnDate != null
                    ? date2Thai(conclusionReturnDate)
                    : null
                "
                :label="`${'ลงวันที่ '}`"
                :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่ '}`]"
              >
                <template v-slot:prepend>
                  <q-icon
                    name="event"
                    class="cursor-pointer"
                    style="color: var(--q-primary)"
                  >
                  </q-icon>
                </template>
              </q-input>
            </template>
          </datepicker>
        </div>
      </div>

      <!-- C-PM-09 -->
      <div
        class="row col-12 q-col-gutter-x-lg q-col-gutter-y-md"
        v-if="typeOrder.commandCode === 'C-PM-09'"
      >
        <div class="col-xs-12 col-md-12">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="organizations"
            :rules="[(val) => !!val || `${'กรุณากกรอกหน่วยงาน'}`]"
            :label="`${'หน่วยงาน'}`"
            hide-bottom-space
          />
          <!-- <selector
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="organizations"
            :rules="[(val: string) => !!val || `${'กรุณาเลือกหน่วยงาน'}`]"
            hide-bottom-space
            :label="`${'ชื่อหน่วยงาน'}`"
            emit-value
            map-options
            option-label="name"
            :options="organizationsOption"
            option-value="id"
            use-input
            input-debounce="0"
          /> -->
        </div>
        <div class="col-xs-12 col-md-6">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="order"
            :rules="[(val) => !!val || `${'กรุณาเลือกคำสั่งที่'}`]"
            :label="`${'คำสั่งที่'}`"
            hide-bottom-space
          />

          <!-- <selector :class="getClass(true)" outlined dense lazy-rules v-model="order"
            :rules="[(val: string) => !!val || `${'กรุณาเลือกคำสั่งที่'}`]" hide-bottom-space :label="`${'คำสั่งที่'}`"
            emit-value map-options option-label="name" :options="orderOption" option-value="id" use-input
            input-debounce="0" /> -->
        </div>
        <div class="col-xs-12 col-md-6">
          <datepicker
            menu-class-name="modalfix"
            v-model="orderDate"
            :locale="'th'"
            autoApply
            borderless
            :enableTimePicker="false"
            week-start="0"
          >
            <template #year="{ year }">
              {{ year + 543 }}
            </template>
            <template #year-overlay-value="{ value }">
              {{ parseInt(value + 543) }}
            </template>
            <template #trigger>
              <q-input
                outlined
                dense
                class="full-width datepicker"
                :model-value="orderDate != null ? date2Thai(orderDate) : null"
                :label="`${'ลงวันที่ '}`"
                :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่ '}`]"
              >
                <template v-slot:prepend>
                  <q-icon
                    name="event"
                    class="cursor-pointer"
                    style="color: var(--q-primary)"
                  >
                  </q-icon>
                </template>
              </q-input>
            </template>
          </datepicker>
        </div>
        <div class="col-xs-12 col-md-6">
          <!-- <selector
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="book"
            :rules="[(val: string) => !!val || `${'กรุณาเลือก หนังสือสำนักงาน ก.พ. ที่ นร'}`]"
            hide-bottom-space
            :label="`${'หนังสือสำนักงาน ก.พ. ที่ นร'}`"
            emit-value
            map-options
            option-label="name"
            :options="bookOption"
            option-value="id"
            use-input
            input-debounce="0"
          /> -->
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="book"
            :rules="[
              (val) => !!val || `${'กรุณากกรอกหนังสือสำนักงาน ก.พ. ที่ นร'}`,
            ]"
            :label="`${'หนังสือสำนักงาน ก.พ. ที่ นร'}`"
            hide-bottom-space
          />
        </div>
        <div class="col-xs-12 col-md-6">
          <datepicker
            menu-class-name="modalfix"
            v-model="bookDate"
            :locale="'th'"
            autoApply
            borderless
            :enableTimePicker="false"
            week-start="0"
          >
            <template #year="{ year }">
              {{ year + 543 }}
            </template>
            <template #year-overlay-value="{ value }">
              {{ parseInt(value + 543) }}
            </template>
            <template #trigger>
              <q-input
                outlined
                dense
                class="full-width datepicker"
                :model-value="bookDate != null ? date2Thai(bookDate) : null"
                :label="`${'ลงวันที่'}`"
                :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่ '}`]"
              >
                <template v-slot:prepend>
                  <q-icon
                    name="event"
                    class="cursor-pointer"
                    style="color: var(--q-primary)"
                  >
                  </q-icon>
                </template>
              </q-input>
            </template>
          </datepicker>
        </div>
      </div>

      <!-- C-PM-10 -->
      <div
        class="row col-12 q-col-gutter-x-lg q-col-gutter-y-md"
        v-if="typeOrder.commandCode === 'C-PM-10'"
      >
        <div class="col-xs-12 col-md-4">
          <!-- <selector
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="organizationsOld"
            :rules="[(val: string) => !!val || `${'กรุณาเลือกหน่วยงาน (ต้นทาง)'}`]"
            hide-bottom-space
            :label="`${'ชื่อหน่วยงาน (ต้นทาง)'}`"
            emit-value
            map-options
            option-label="name"
            :options="organizationsOldOption"
            option-value="id"
            use-input
            input-debounce="0"
          /> -->
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="organizationsOld"
            :rules="[(val) => !!val || `${'กรุณากรอกหน่วยงาน  (ต้นทาง)'}`]"
            :label="`${'ชื่อหน่วยงาน (ต้นทาง)'}`"
            hide-bottom-space
          />
        </div>
        <div class="col-xs-12 col-md-4">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="orderOld"
            :rules="[(val) => !!val || `${'กรุณาเลือกคำสั่งที่ (ต้นทาง)'}`]"
            :label="`${'คำสั่งที่ (ต้นทาง)'}`"
            hide-bottom-space
          />

          <!-- <selector :class="getClass(true)" outlined dense lazy-rules v-model="orderOld"
            :rules="[(val: string) => !!val || `${'กรุณาเลือกคำสั่งที่ (ต้นทาง)'}`]" hide-bottom-space
            :label="`${'คำสั่งที่ (ต้นทาง)'}`" emit-value map-options option-label="name" :options="orderOldOption"
            option-value="id" use-input input-debounce="0" /> -->
        </div>
        <div class="col-xs-12 col-md-4">
          <datepicker
            menu-class-name="modalfix"
            v-model="orderOldDate"
            :locale="'th'"
            autoApply
            borderless
            :enableTimePicker="false"
            week-start="0"
          >
            <template #year="{ year }">
              {{ year + 543 }}
            </template>
            <template #year-overlay-value="{ value }">
              {{ parseInt(value + 543) }}
            </template>
            <template #trigger>
              <q-input
                outlined
                dense
                class="full-width datepicker"
                :model-value="
                  orderOldDate != null ? date2Thai(orderOldDate) : null
                "
                :label="`${'ลงวันที่ '}`"
                :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่ '}`]"
              >
                <template v-slot:prepend>
                  <q-icon
                    name="event"
                    class="cursor-pointer"
                    style="color: var(--q-primary)"
                  >
                  </q-icon>
                </template>
              </q-input>
            </template>
          </datepicker>
        </div>
        <div class="col-xs-12 col-md-4">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="locationname"
            :rules="[(val) => !!val || `${'กรุณากรอกให้ดำรงตำแหน่ง ณ'}`]"
            :label="`${'ให้ดำรงตำแหน่ง ณ'}`"
            hide-bottom-space
          />
        </div>

        <div class="col-xs-12 col-md-4">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="experimentOc"
            :rules="[
              (val) =>
                !!val ||
                `${'กรุณากรอกหน่วยงานที่ให้ทดลองปฏิบัติหน้าที่ราชการ'}`,
            ]"
            :label="`${'หน่วยงานที่ให้ทดลองปฏิบัติหน้าที่ราชการ'}`"
            hide-bottom-space
          />
        </div>
        <div class="col-md-4"></div>

        <div class="col-xs-12 col-md-4">
          <datepicker
            menu-class-name="modalfix"
            v-model="experimentformDate"
            :locale="'th'"
            autoApply
            borderless
            :enableTimePicker="false"
            week-start="0"
          >
            <template #year="{ year }">
              {{ year + 543 }}
            </template>
            <template #year-overlay-value="{ value }">
              {{ parseInt(value + 543) }}
            </template>
            <template #trigger>
              <q-input
                outlined
                dense
                class="full-width datepicker"
                :model-value="
                  experimentformDate != null
                    ? date2Thai(experimentformDate)
                    : null
                "
                :label="`${'ทดลองปฏิบัติหน้าที่ราชการตั้งแต่วันที่ '}`"
                :rules="[
                  (val) =>
                    !!val ||
                    `${'กรุณาเลือกลงวันที่ทดลองปฏิบัติหน้าที่ราชการตั้งแต่วันที่ '}`,
                ]"
              >
                <template v-slot:prepend>
                  <q-icon
                    name="event"
                    class="cursor-pointer"
                    style="color: var(--q-primary)"
                  >
                  </q-icon>
                </template>
              </q-input>
            </template>
          </datepicker>
        </div>

        <div class="col-xs-12 col-md-4">
          <datepicker
            menu-class-name="modalfix"
            v-model="experimenttoDate"
            :locale="'th'"
            autoApply
            borderless
            :enableTimePicker="false"
            week-start="0"
          >
            <template #year="{ year }">
              {{ year + 543 }}
            </template>
            <template #year-overlay-value="{ value }">
              {{ parseInt(value + 543) }}
            </template>
            <template #trigger>
              <q-input
                outlined
                dense
                class="full-width datepicker"
                :model-value="
                  experimenttoDate != null
                    ? date2Thai(experimenttoDate)
                    : null
                "
                :label="`${'ทดลองปฏิบัติหน้าที่ราชการถึงวันที่ '}`"
                :rules="[
                  (val) =>
                    !!val ||
                    `${'กรุณาเลือกลงวันที่ทดลองปฏิบัติหน้าที่ราชการถึงวันที่ '}`,
                ]"
              >
                <template v-slot:prepend>
                  <q-icon
                    name="event"
                    class="cursor-pointer"
                    style="color: var(--q-primary)"
                  >
                  </q-icon>
                </template>
              </q-input>
            </template>
          </datepicker>
        </div>
        <div class="col-md-4"></div>

        <div class="col-xs-12 col-md-4">
          <!-- <selector
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="chairman"
            :rules="[(val: string) => !!val || `${'กรุณาเลือกประธาน'}`]"
            hide-bottom-space
            :label="`${'ประธาน'}`"
            emit-value
            map-options
            option-label="name"
            :options="chairmanOption"
            option-value="id"
            use-input
            input-debounce="0"
          /> -->
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="chairman"
            :rules="[(val) => !!val || `${'กรุณากรอกชื่อประธาน'}`]"
            :label="`${'ประธาน'}`"
            hide-bottom-space
            @click="openDialog('chairman')"
          />
        </div>
        <div class="col-xs-12 col-md-4">
          <!-- <selector
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="director"
            :rules="[(val: string) => !!val || `${'กรุณาเลือกกรรมการ'}`]"
            hide-bottom-space
            :label="`${'กรรมการ'}`"
            emit-value
            map-options
            option-label="name"
            :options="directorOption"
            option-value="id"
            use-input
            input-debounce="0"
          /> -->
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="director"
            :rules="[(val) => !!val || `${'กรุณากรอกชื่อกรรมการ'}`]"
            :label="`${'กรรมการ'}`"
            hide-bottom-space
            @click="openDialog('director')"
          />
        </div>
        <div class="col-xs-12 col-md-4">
          <!-- <selector
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="director2"
            :rules="[(val: string) => !!val || `${'กรุณาเลือกกรรมการ'}`]"
            hide-bottom-space
            :label="`${'กรรมการ'}`"
            emit-value
            map-options
            option-label="name"
            :options="director2Option"
            option-value="id"
            use-input
            input-debounce="0"
          /> -->
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="director2"
            :rules="[(val) => !!val || `${'กรุณากรอกชื่อกรรมการ'}`]"
            :label="`${'กรรมการ'}`"
            hide-bottom-space
            @click="openDialog('director2')"
          />
        </div>
      </div>

      <!-- C-PM-11 - 12 -->
      <div
        class="row col-12 q-col-gutter-x-lg q-col-gutter-y-md"
        v-if="
          typeOrder.commandCode === 'C-PM-11' ||
          typeOrder.commandCode === 'C-PM-12'
        "
      >
        <div class="col-xs-12 col-md-4">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="committeeOc"
            :rules="[
              (val) => !!val || `${'กรุณาเลือกชื่อหน่วยงาน (อนุสนธิคำสั่ง)'}`,
            ]"
            :label="`${'ชื่อหน่วยงาน (อนุสนธิคำสั่ง)'}`"
            hide-bottom-space
          />

          <!-- <selector :class="getClass(true)" outlined dense lazy-rules v-model="committeeOc"
            :rules="[(val: string) => !!val || `${'กรุณาเลือกหน่วยงาน (อนุสนธิคำสั่ง)'}`]" hide-bottom-space
            :label="`${'ชื่อหน่วยงาน (อนุสนธิคำสั่ง)'}`" emit-value map-options option-label="name"
            :options="committeeOcOption" option-value="id" use-input input-debounce="0" /> -->
        </div>
        <div class="col-xs-12 col-md-4">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="committeeOrder"
            :rules="[(val) => !!val || `${'กรุณากรอกอนุสนธิคำสั่งที่'}`]"
            :label="`${'อนุสนธิคำสั่งที่'}`"
            hide-bottom-space
          />

          <!-- <selector :class="getClass(true)" outlined dense lazy-rules v-model="committeeOrder"
            :rules="[(val: string) => !!val || `${'กรุณาเลือกอนุสนธิคำสั่งที่'}`]" hide-bottom-space
            :label="`${'อนุสนธิคำสั่งที่'}`" emit-value map-options option-label="name" :options="committeeOrderOption"
            option-value="id" use-input input-debounce="0" /> -->
        </div>
        <div class="col-xs-12 col-md-4">
          <datepicker
            menu-class-name="modalfix"
            v-model="committeeDate"
            :locale="'th'"
            autoApply
            borderless
            :enableTimePicker="false"
            week-start="0"
          >
            <template #year="{ year }">
              {{ year + 543 }}
            </template>
            <template #year-overlay-value="{ value }">
              {{ parseInt(value + 543) }}
            </template>
            <template #trigger>
              <q-input
                outlined
                dense
                class="full-width datepicker"
                :model-value="
                  committeeDate != null ? date2Thai(committeeDate) : null
                "
                :label="`${'ลงวันที่ '}`"
                :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่ '}`]"
              >
                <template v-slot:prepend>
                  <q-icon
                    name="event"
                    class="cursor-pointer"
                    style="color: var(--q-primary)"
                  >
                  </q-icon>
                </template>
              </q-input>
            </template>
          </datepicker>
        </div>
      </div>

      <!-- C-PM-13 -->
      <div
        class="row col-6 q-col-gutter-x-lg q-col-gutter-y-md"
        v-if="typeOrder.commandCode === 'C-PM-13'"
      >
        <div class="col-xs-12 col-md-12">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="receiveOc"
            :rules="[(val) => !!val || `${'กรุณากรอกหน่วยงาน'}`]"
            :label="`${'ชื่อหน่วยงาน'}`"
            hide-bottom-space
          />

          <!-- <selector :class="getClass(true)" outlined dense lazy-rules v-model="receiveOc"
            :rules="[(val: string) => !!val || `${'กรุณาเลือกหน่วยงาน'}`]" hide-bottom-space
            :label="`${'ชื่อหน่วยงาน'}`" emit-value map-options option-label="name" :options="receiveOcOption"
            option-value="id" use-input input-debounce="0" /> -->
        </div>
      </div>

      <!-- C-PM-14 -->
      <div
        class="row col-12 q-col-gutter-x-lg q-col-gutter-y-md"
        v-if="typeOrder.commandCode === 'C-PM-14'"
      >
        <div class="col-xs-12 col-md-4">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="transferOrganizationName"
            :rules="[(val) => !!val || `${'กรุณากรอกส่วนราชการที่ให้โอน'}`]"
            :label="`${'ส่วนราชการที่ให้โอน'}`"
            hide-bottom-space
          />

          <!-- <selector :class="getClass(true)" outlined dense lazy-rules v-model="conclusionReceive"
          :rules="[(val: string) => !!val || `${'มติ กก. ครั้งที่ '}`]" hide-bottom-space
          :label="`${'มติ กก. ครั้งที่ '}`" emit-value map-options option-label="name" :options="ReceiveOption"
          option-value="id" use-input input-debounce="0" /> -->
        </div>
        <div class="col-xs-12 col-md-4">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="conclusionReceive"
            :rules="[(val) => !!val || `${'กรุณากรอกมติ กก. ครั้งที่'}`]"
            :label="`${'มติ กก. ครั้งที่'}`"
            hide-bottom-space
          />

          <!-- <selector :class="getClass(true)" outlined dense lazy-rules v-model="conclusionReceive"
            :rules="[(val: string) => !!val || `${'มติ กก. ครั้งที่ '}`]" hide-bottom-space
            :label="`${'มติ กก. ครั้งที่ '}`" emit-value map-options option-label="name" :options="ReceiveOption"
            option-value="id" use-input input-debounce="0" /> -->
        </div>
        <div class="col-xs-12 col-md-4">
          <datepicker
            menu-class-name="modalfix"
            v-model="conclusionReceiveDate"
            :locale="'th'"
            autoApply
            borderless
            :enableTimePicker="false"
            week-start="0"
          >
            <template #year="{ year }">
              {{ year + 543 }}
            </template>
            <template #year-overlay-value="{ value }">
              {{ parseInt(value + 543) }}
            </template>
            <template #trigger>
              <q-input
                outlined
                dense
                class="full-width datepicker"
                :model-value="
                  conclusionReceiveDate != null
                    ? date2Thai(conclusionReceiveDate)
                    : null
                "
                :label="`${'ลงวันที่ '}`"
                :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่ '}`]"
              >
                <template v-slot:prepend>
                  <q-icon
                    name="event"
                    class="cursor-pointer"
                    style="color: var(--q-primary)"
                  >
                  </q-icon>
                </template>
              </q-input>
            </template>
          </datepicker>
        </div>
      </div>

      <!-- C-PM-16 -->
      <div
        class="row col-12 q-col-gutter-x-lg q-col-gutter-y-md"
        v-if="typeOrder.commandCode === 'C-PM-16'"
      >
        <div class="col-xs-12 col-md-6">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="orderNumber"
            :rules="[
              (val) => !!val || `${'กรุณากรอกคำสั่งให้ช่วยราชการเลขที่'}`,
            ]"
            :label="`${'คำสั่งให้ช่วยราชการเลขที่'}`"
            hide-bottom-space
          />
        </div>
        <div class="col-xs-12 col-md-6">
          <datepicker
            menu-class-name="modalfix"
            v-model="orderNumberDate"
            :locale="'th'"
            autoApply
            borderless
            :enableTimePicker="false"
            week-start="0"
          >
            <template #year="{ year }">
              {{ year + 543 }}
            </template>
            <template #year-overlay-value="{ value }">
              {{ parseInt(value + 543) }}
            </template>
            <template #trigger>
              <q-input
                outlined
                dense
                class="full-width datepicker"
                :model-value="
                  orderNumberDate != null ? date2Thai(orderNumberDate) : null
                "
                :label="`${'ลงวันที่ '}`"
                :rules="[(val) => !!val || `${'กรุณาเลือกลงวันที่ '}`]"
              >
                <template v-slot:prepend>
                  <q-icon
                    name="event"
                    class="cursor-pointer"
                    style="color: var(--q-primary)"
                  >
                  </q-icon>
                </template>
              </q-input>
            </template>
          </datepicker>
        </div>
      </div>

      <!-- C-PM-18-20 -->
      <div
        class="row col-12 q-col-gutter-x-lg q-col-gutter-y-md"
        v-if="
          typeOrder.commandCode === 'C-PM-18' ||
          typeOrder.commandCode === 'C-PM-19' ||
          typeOrder.commandCode === 'C-PM-20'
        "
      >
        <div class="col-xs-12 col-md-6">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="fault"
            :rules="[
              (val) => !!val || `${'กรุณากรอกรายละเอียดการกระทำความผิด'}`,
            ]"
            :label="`${'รายละเอียดการกระทำความผิด'}`"
            hide-bottom-space
          />
        </div>
        <div class="col-xs-12 col-md-6">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="guiltyBasis"
            :rules="[(val) => !!val || `${'กรุณากรอกฐานความผิด'}`]"
            :label="`${'ฐานความผิด'}`"
            hide-bottom-space
          />
        </div>
        <div class="col-xs-12 col-md-4">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="conclusionFireNo"
            :rules="[
              (val) =>
                !!val ||
                `${'กรุณากรอกครั้งที่ (เรื่องการดำเนินการทางวินัย)'}`,
            ]"
            :label="`${'ครั้งที่ (เรื่องการดำเนินการทางวินัย)'}`"
            hide-bottom-space
          />
        </div>
        <div class="col-xs-12 col-md-4">
          <datepicker
            menu-class-name="modalfix"
            v-model="conclusionFireDate"
            :locale="'th'"
            autoApply
            borderless
            :enableTimePicker="false"
            week-start="0"
          >
            <template #year="{ year }">
              {{ year + 543 }}
            </template>
            <template #year-overlay-value="{ value }">
              {{ parseInt(value + 543) }}
            </template>
            <template #trigger>
              <q-input
                outlined
                dense
                class="full-width datepicker"
                :model-value="
                  conclusionFireDate != null
                    ? date2Thai(conclusionFireDate)
                    : null
                "
                :label="`${'ลงวันที่ (เรื่องการดำเนินการทางวินัย) '}`"
                :rules="[
                  (val) =>
                    !!val ||
                    `${'กรุณาเลือกลงวันที่ (เรื่องการดำเนินการทางวินัย)'}`,
                ]"
              >
                <template v-slot:prepend>
                  <q-icon
                    name="event"
                    class="cursor-pointer"
                    style="color: var(--q-primary)"
                  >
                  </q-icon>
                </template>
              </q-input>
            </template>
          </datepicker>
        </div>
        <div class="col-xs-12 col-md-4">
          <q-input
            :class="getClass(true)"
            outlined
            dense
            lazy-rules
            v-model="conclusionFireResolution"
            :rules="[
              (val) =>
                !!val ||
                `${'กรุณากรอก มติที่ประชุม(เรื่องการดำเนินการทางวินัย)'}`,
            ]"
            :label="`${'มติที่ประชุม (เรื่องการดำเนินการทางวินัย)'}`"
            hide-bottom-space
          />
        </div>
      </div>
    </q-form>
  </div>

  <q-separator />
  <div class="flex justify-end q-pa-sm q-gutter-sm">
    <q-btn unelevated label="บันทึก" color="public" @click="submit">
      <q-tooltip>บันทึก</q-tooltip>
    </q-btn>
  </div>

  <q-dialog v-model="dialogVisible">
    <q-card style="width: 900px; max-width: 80vw">
      <DialogHeader tittle="เลือกรายชื่อตามหน่วยงาน" v-close-popup />
      <q-separator />
      <q-card-section class="q-pa-sm bg-grey-1">
        <div class="row col-12 q-col-gutter-sm">
          <div class="col-xs-12 col-sm-5 row">
            <q-card flat bordered class="fit q-pa-sm">
              <q-scroll-area visible style="height: 70vh">
                <q-input
                  outlined
                  dense
                  v-model="search"
                  placeholder="ค้นหา"
                  class="q-mb-sm"
                >
                  <template v-slot:append>
                    <q-icon name="mdi-magnify" />
                  </template>
                </q-input>
                <q-tree
                  :nodes="nodesTree"
                  dense
                  node-key="id"
                  :filter="search"
                  v-model:selected="selected"
                  v-model:expanded="expanded"
                  no-selection-unset
                  selected-color="primary"
                  @update:selected="onSelected"
                  default-expand-all
                />
              </q-scroll-area>
            </q-card>
          </div>
          <div class="col-xs-12 col-sm-7">
            <div class="col-12 row q-py-sm items-center">
              <q-space />
              <div class="items-center" style="display: flex">
                <q-input
                  standout
                  dense
                  v-model="filterModal"
                  ref="filterRef"
                  outlined
                  debounce="300"
                  placeholder="ค้นหา"
                  style="max-width: 200px"
                  class="q-ml-sm"
                >
                  <template v-slot:append>
                    <q-icon v-if="filterModal == ''" name="search" />
                    <q-icon
                      v-if="filterModal !== ''"
                      name="clear"
                      class="cursor-pointer"
                    />
                  </template>
                </q-input>

                <!-- <q-select
                  v-model="visibleColumnsModal"
                  :display-value="$q.lang.table.columns"
                  multiple
                  outlined
                  dense
                  :options="columnsModal"
                  options-dense
                  option-value="name"
                  map-options
                  emit-value
                  style="min-width: 150px"
                  class="gt-xs q-ml-sm"
                /> -->
              </div>
            </div>
            <d-table
              :rows="rowsModal"
              :columns="columnsModal"
              :visible-columns="visibleColumnsModal"
              row-key="profileId"
              selection="single"
              v-model:selected="selectedModal"
              no-data-label="ไม่มีข้อมูล"
              :filter="filterModal"
            >
              <template v-slot:body-selection="scope">
                <q-checkbox
                  keep-color
                  color="primary"
                  dense
                  v-model="scope.selected"
                />
              </template>

              <template v-slot:body-cell="props">
                <q-td :props="props">
                  <div v-if="props.col.name == 'no'">
                    {{ props.rowIndex + 1 }}
                  </div>

                  <div v-else>
                    {{ props.value }}
                  </div>
                </q-td>
              </template>
            </d-table>
          </div>
        </div>
      </q-card-section>
      <q-card-actions align="right">
        <q-btn
          dense
          unelevated
          label="บันทึก"
          color="public"
          @click="clickSavelist"
          class="q-px-md"
        />
      </q-card-actions>
    </q-card>
  </q-dialog>
</template>

<style>
.q-field--with-bottom {
  padding-bottom: 0px;
}
.custom-header-table {
  max-height: 64vh;

  .q-table tr:nth-child(odd) td {
    background: white;
  }

  .q-table tr:nth-child(even) td {
    background: #f8f8f8;
  }

  .q-table thead tr {
    background: #ecebeb;
  }

  .q-table thead tr th {
    position: sticky;
    z-index: 1;
  }

  .q-table thead tr:last-child th {
    top: 48px;
  }

  .q-table thead tr:first-child th {
    top: 0;
  }
}
</style>