<script setup lang="ts">
import { ref, defineAsyncComponent, onMounted, watch, computed } from "vue";
import { useQuasar } from "quasar";
import { useProbationDataStore } from "@/modules/05_placement/storeProbation";
import { useCounterMixin } from "@/stores/mixin";
import { useRoute, useRouter } from "vue-router";
import http from "@/plugins/http";
import config from "@/app.config";
import criterion from "@/modules/05_placement/components/Other/Criterion.vue";

const $q = useQuasar();
const probationStore = useProbationDataStore();
const { ratingColors } = probationStore;
const mixin = useCounterMixin();
const {
  date2Thai,
  notifyError,
  messageError,
  showLoader,
  hideLoader,
  success,
  dateToISO,
  dialogConfirm,
  dialogMessageNotify,
} = mixin;
const route = useRoute();
const router = useRouter();
const assignId = ref<string>(route.params.form.toString());
const personalId = ref<string>(route.params.id.toString());

const person = ref<any>([]);
const assign = ref<any>([]);
const evaluate_no = ref<string>("");
const start_date = ref<Date>(new Date());
const date_finish = ref<Date>(new Date());
const round = ref<any>();
const status = ref<boolean>(true);
const Autherise = ref<any>(null);
const dateAutherise = ref<any>(new Date());
const option = ref<any>([]);

/** part 1 */
const skill_level = ref<number>(0);
const competency_level = ref<number>(0);
const learn_level = ref<number>(0);
const apply_level = ref<number>(0);
const success_level = ref<number>(0);
const etc = ref<any>(false);
const achievement_other = ref<any>({ text: "", level: 0 });

/** part 2 */
const conduct_level = ref<any>([]);
const moral_level = ref<any>([]);
const discipline_level = ref<any>([]);
const etc2 = ref<any>(false); // checkBox 2.4
const behavio_orther = ref<any>({ text: "", level: 0 });
const behavio_strength_desc = ref<string>("");
const behavior_improve_desc = ref<string>("");
const orientation = ref<any>(null);
const self_learning = ref<any>(null);
const training_seminar = ref<any>(null);
const other_training = ref<any>(null);
const behavio_strengthRef = ref<any>(null);
const props = defineProps({
  tab: String,
});

const list2_1 = probationStore.behavior_no1;
const list2_2 = probationStore.behavior_no2;
const list2_3 = probationStore.behavior_no3;

/**
 * get ประเมิน
 * @param id
 */
async function fecthAssign(id: string) {
  showLoader();
  await http
    .get(config.API.evaluateCreate(id))
    .then(async (res: any) => {
      person.value = res.data.data.person;
      assign.value = res.data.data.assign;
      // option.value.push(res.data.data.commander);
      Autherise.value = res.data.data.director;
      evaluate_no.value = res.data.data.evaluate_no;
      start_date.value = res.data.data.start_date;
      date_finish.value = res.data.data.end_date;
      round.value = res.data.data.evaluate_no;
    })
    .catch((e) => {
      messageError($q, e);
    })
    .finally(() => {
      hideLoader();
    });
}

/** part 3 */
const alerts = Array(20)
  .fill(null)
  .map(() => ref<boolean>(false));

const lengthconduct = computed(() => {
  return conduct_level.value.filter((item: number) => item !== 0).length;
});
const lengthmoral_level = computed(() => {
  return moral_level.value.filter((item: number) => item !== 0).length;
});
const lengthdiscipline_level = computed(() => {
  return discipline_level.value.filter((item: number) => item !== 0).length;
});

/** rules */
const behavio_strengthRules = [
  (val: any) => (val && val.length > 0) || "กรุณากรอกข้อมูลจุดเด่น",
];
const behavio_inproveRef = ref<any>(null);
const behavio_inproveRules = [
  (val: any) => (val && val.length > 0) || "กรุณากรอกข้อมูลสิ่งที่ควรปรับปรุง",
];
const knowledge_level = ref<number>(0);
const knowledge_levelRules = [
  (val: any) => (val && val.length > 0) || "กรุณากรอกข้อมูลสิ่งที่ควรปรับปรุง",
];
const ArrayCountbotton = [orientation, self_learning, training_seminar];
const variablesToWatch = [
  knowledge_level,
  skill_level,
  competency_level,
  learn_level,
  apply_level,
  success_level,
];
const savaForm = () => {
  let hasError = false;
  behavio_strengthRef.value.validate();
  if (
    knowledge_level.value === 0 ||
    skill_level.value === 0 ||
    competency_level.value === 0 ||
    learn_level.value === 0 ||
    apply_level.value === 0 ||
    success_level.value === 0 ||
    lengthconduct.value !== 4 ||
    lengthmoral_level.value !== 3 ||
    lengthdiscipline_level.value !== 5 ||
    behavio_strength_desc.value === "" ||
    orientation.value === null ||
    self_learning.value === null ||
    training_seminar.value === null
  ) {
    hasError = true;
  } else if (
    (etc.value == true &&
      (achievement_other.value.text === undefined ||
        achievement_other.value.text == "" ||
        achievement_other.value.level == undefined ||
        achievement_other.value.level === 0)) ||
    (etc2.value == true &&
      (behavio_orther.value.text === undefined ||
        behavio_orther.value.text == "" ||
        behavio_orther.value.level === undefined ||
        behavio_orther.value.level == 0))
  ) {
    hasError = true;
  } else putformData();

  if (hasError === true) {
    variablesToWatch.forEach((item, index) => {
      if (item.value === 0) {
        alerts[index].value = true;
      }
    });
    ArrayCountbotton.forEach((item, index) => {
      if (item.value === null) {
        alerts[index + 9].value = true;
      }
    });
    if (lengthconduct.value !== 4) {
      alerts[6].value = true;
    }
    if (lengthmoral_level.value !== 3) {
      alerts[7].value = true;
    }
    if (lengthdiscipline_level.value !== 5) {
      alerts[8].value = true;
    }
    dialogMessageNotify($q, "กรุณากรอกข้อมูลให้ครบ");
  }
};

/** ฟังชั่น post data*/
function putformData() {
  const data = {
    evaluate_no: evaluate_no.value,
    start_date: start_date.value,
    date_finish: date_finish.value,
    knowledge_level: knowledge_level.value,
    skill_level: skill_level.value,
    competency_level: competency_level.value,
    learn_level: learn_level.value,
    apply_level: apply_level.value,
    success_level: success_level.value,
    achievement_other: achievement_other.value,
    conduct1_level: conduct_level.value[0],
    conduct2_level: conduct_level.value[1],
    conduct3_level: conduct_level.value[2],
    conduct4_level: conduct_level.value[3],
    moral1_level: moral_level.value[0],
    moral2_level: moral_level.value[1],
    moral3_level: moral_level.value[2],
    discipline1_level: discipline_level.value[0],
    discipline2_level: discipline_level.value[1],
    discipline3_level: discipline_level.value[2],
    discipline4_level: discipline_level.value[3],
    discipline5_level: discipline_level.value[4],
    behavior_orther: behavio_orther.value,
    behavior_strength_desc: behavio_strength_desc.value,
    behavior_improve_desc: behavior_improve_desc.value,
    orientation: Number(orientation.value),
    self_learning: Number(self_learning.value),
    training_seminar: Number(training_seminar.value),
    other_training: Number(other_training.value),
    commander_dated: dateToISO(dateAutherise.value),
  };
  dialogConfirm($q, async () => {
    await http
      .post(config.API.createformCommader(assignId.value), data)
      .then(() => {
        success($q, "บันทึกสำเร็จ");
        router.push(`/probation/detail/${personalId.value}/${assignId.value}`);
      })
      .catch((e: any) => {
        messageError($q, e);
      });
  });
}

/** ฟังชั่น คลาส css*/
function getBordered(i: boolean) {
  return {
    border_custom: i,
  };
}

variablesToWatch.forEach((variable, index) => {
  watch(variable, (item: any) => {
    if (item !== 0) {
      alerts[index].value = false;
    }
  });
});

ArrayCountbotton.forEach((variable, index) => {
  watch(variable, (item: any) => {
    if (item !== null) {
      alerts[index + 9].value = false;
    }
  });
});

watch(lengthconduct, (newLength) => {
  if (newLength === 4) {
    alerts[6].value = false;
  }
});

watch(lengthmoral_level, (newLength) => {
  if (newLength === 3) {
    alerts[7].value = false;
  }
});

watch(lengthdiscipline_level, (newLength) => {
  if (newLength === 5) {
    alerts[8].value = false;
  }
});

onMounted(async () => {
  fecthAssign(assignId.value);
});
</script>

<template>
  <q-card class="my-card" flat bordered>
    <q-toolbar>
      <div
        class="text-h6 text-weight-medium text-dark col-12 row items-center q-py-md"
      >
        <q-btn
          icon="mdi-arrow-left"
          unelevated
          round
          dense
          flat
          color="primary"
          class="q-mr-sm"
          @click="router.go(-1)"
        />
        การทดลองปฏิบัติหน้าที่ราชการของ {{ person.name }}
      </div>
    </q-toolbar>
    <q-separator />

    <q-card-section>
      <div class="row col-12 no-margin q-px-md q-pt-sm">
        <div class="toptitle text-dark col-12 row items-center">
          <div>แบบประเมินผล (ผู้บังคับบัญชา)</div>
        </div>
        <div class="row col-12 q-gutter-lg">
          <div class="col-12 row">
            <div class="col-12 text-top0 row items-center">
              <div class="col-12 row text-top0">
                <q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
                ผู้ทดลองปฏิบัติหน้าที่ราชการ {{ person.name }}
              </div>
              <div class="col-12 q-pl-md q-pb-md">
                <div class="col-12">
                  <span class="text-top0 q-pl-sm">ตำแหน่งในสายงาน</span>
                  {{ person.positionName }}
                </div>

                <div class="col-12">
                  <span class="text-top0 q-pl-sm">ระดับตำแหน่ง</span>
                  {{ person.positionLevelName }}
                </div>

                <div class="col-12">
                  <span class="text-top0 q-pl-sm">สังกัด</span> {{ person.Oc }}
                </div>
              </div>

              <q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
              การทดลองปฎิบัติหน้าที่ราชการ<span class="text-primary q-pr-sm">{{
                "ครั้งที่ " + assign.round_no
              }}</span>
              ตั้งแต่วันที่
              <span class="text-black q-px-sm">{{
                date2Thai(assign.date_start)
              }}</span>
              ถึงวันที่
              <span class="text-black q-px-sm">{{
                date2Thai(assign.date_finish)
              }}</span>
            </div>

            <div class="col-12 text-top0 row items-center">
              <q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
              ประเมินผล
              <span class="text-primary q-pr-sm">{{
                "ครั้งที่ " + round
              }}</span>
            </div>

            <div class="col-12 text-top0 row items-center">
              <div class="col-6 q-px-sm">
                <datepicker
                  menu-class-name="modalfix"
                  v-model="start_date"
                  :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 col-3"
                      :model-value="
                        start_date != null ? date2Thai(start_date) : 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-6 q-px-sm">
                <datepicker
                  menu-class-name="modalfix"
                  v-model="date_finish"
                  :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 col-3"
                      :model-value="
                        date_finish != null ? date2Thai(date_finish) : 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>

            <div class="col-12 q-pt-md">
              <q-separator size="3px" color="grey-2" />
            </div>
            <criterion />
            <div class="col-12 q-pt-md">
              <q-separator size="3px" color="grey-2" />
            </div>
          </div>

          <div class="col-12 row">
            <div class="col-12 text-top0 items-center">
              <q-avatar class="bg-grey-2 q-mr-sm" size="28px">1</q-avatar>
              ผลสัมฤทธิ์ของการทดลองปฏิบัติบัติหน้าที่ราชการ
            </div>
          </div>
          <div class="col-12 row no-margin">
            <q-card class="text-top0 col-xs-12 col-sm-11 q-pa-xs q-pl-lg">
              <q-list dense>
                <q-item
                  dense
                  tag="label"
                  v-ripple
                  :class="getBordered(alerts[0].value)"
                >
                  <q-item-section>
                    <q-item-label>
                      <q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
                      1.1. ความรู้ความสามารถ</q-item-label
                    >
                  </q-item-section>
                  <q-item-section side>
                    <q-rating
                      :disable="!status"
                      v-model="knowledge_level"
                      max="5"
                      size="sm"
                      :rules="knowledge_levelRules"
                      color="grey"
                      :color-selected="ratingColors"
                      label="ระดับการประเมินพฤติกรรม"
                    >
                      <template v-slot:tip-1>
                        <q-tooltip>ต่ำกว่าความคาดหวังมาก (1)</q-tooltip>
                      </template>
                      <template v-slot:tip-2>
                        <q-tooltip>ต่ำกว่าความคาดหวังค่อนข้างมาก (2)</q-tooltip>
                      </template>
                      <template v-slot:tip-3>
                        <q-tooltip>เป็นไปตามความคาดหวัง (3)</q-tooltip>
                      </template>
                      <template v-slot:tip-4>
                        <q-tooltip>สูงว่าความคาดหวังค่อนข้างมาก (4)</q-tooltip>
                      </template>
                      <template v-slot:tip-5>
                        <q-tooltip>สูงกว่าความคาดหวังมาก (5)</q-tooltip>
                      </template>
                    </q-rating>
                  </q-item-section>
                </q-item>
              </q-list>
            </q-card>

            <q-card class="text-top0 col-xs-12 col-sm-11 q-pa-xs q-pl-lg">
              <q-list dense>
                <q-item
                  dense
                  tag="label"
                  v-ripple
                  :class="getBordered(alerts[1].value)"
                >
                  <q-item-section>
                    <q-item-label>
                      <q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
                      1.2. ทักษะ</q-item-label
                    >
                  </q-item-section>
                  <q-item-section side>
                    <q-rating
                      :disable="!status"
                      v-model="skill_level"
                      max="5"
                      size="sm"
                      color="grey"
                      :color-selected="ratingColors"
                      label="ระดับการประเมินพฤติกรรม"
                    >
                      <template v-slot:tip-1>
                        <q-tooltip>ต่ำกว่าความคาดหวังมาก (1)</q-tooltip>
                      </template>
                      <template v-slot:tip-2>
                        <q-tooltip>ต่ำกว่าความคาดหวังค่อนข้างมาก (2)</q-tooltip>
                      </template>
                      <template v-slot:tip-3>
                        <q-tooltip>เป็นไปตามความคาดหวัง (3)</q-tooltip>
                      </template>
                      <template v-slot:tip-4>
                        <q-tooltip>สูงว่าความคาดหวังค่อนข้างมาก (4)</q-tooltip>
                      </template>
                      <template v-slot:tip-5>
                        <q-tooltip>สูงกว่าความคาดหวังมาก (5)</q-tooltip>
                      </template>
                    </q-rating>
                  </q-item-section>
                </q-item>
              </q-list>
            </q-card>

            <q-card class="text-top0 col-xs-12 col-sm-11 q-pa-xs q-pl-lg">
              <q-list dense>
                <q-item
                  dense
                  tag="label"
                  v-ripple
                  :class="getBordered(alerts[2].value)"
                >
                  <q-item-section>
                    <q-item-label>
                      <q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
                      1.3. สมมรถนะ</q-item-label
                    >
                  </q-item-section>
                  <q-item-section side>
                    <q-rating
                      :disable="!status"
                      v-model="competency_level"
                      max="5"
                      size="sm"
                      color="grey"
                      :color-selected="ratingColors"
                      label="ระดับการประเมินพฤติกรรม"
                    >
                      <template v-slot:tip-1>
                        <q-tooltip>ต่ำกว่าความคาดหวังมาก (1)</q-tooltip>
                      </template>
                      <template v-slot:tip-2>
                        <q-tooltip>ต่ำกว่าความคาดหวังค่อนข้างมาก (2)</q-tooltip>
                      </template>
                      <template v-slot:tip-3>
                        <q-tooltip>เป็นไปตามความคาดหวัง (3)</q-tooltip>
                      </template>
                      <template v-slot:tip-4>
                        <q-tooltip>สูงว่าความคาดหวังค่อนข้างมาก (4)</q-tooltip>
                      </template>
                      <template v-slot:tip-5>
                        <q-tooltip>สูงกว่าความคาดหวังมาก (5)</q-tooltip>
                      </template>
                    </q-rating>
                  </q-item-section>
                </q-item>
              </q-list>
            </q-card>

            <q-card class="text-top0 col-xs-12 col-sm-11 q-pa-xs q-pl-lg">
              <q-list dense>
                <q-item
                  dense
                  tag="label"
                  v-ripple
                  :class="getBordered(alerts[3].value)"
                >
                  <q-item-section>
                    <q-item-label>
                      <q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
                      1.4. ความสามารถในการเรียนรู้งาน</q-item-label
                    >
                  </q-item-section>
                  <q-item-section side>
                    <q-rating
                      :disable="!status"
                      v-model="learn_level"
                      max="5"
                      size="sm"
                      color="grey"
                      :color-selected="ratingColors"
                      label="ระดับการประเมินพฤติกรรม"
                    >
                      <template v-slot:tip-1>
                        <q-tooltip>ต่ำกว่าความคาดหวังมาก (1)</q-tooltip>
                      </template>
                      <template v-slot:tip-2>
                        <q-tooltip>ต่ำกว่าความคาดหวังค่อนข้างมาก (2)</q-tooltip>
                      </template>
                      <template v-slot:tip-3>
                        <q-tooltip>เป็นไปตามความคาดหวัง (3)</q-tooltip>
                      </template>
                      <template v-slot:tip-4>
                        <q-tooltip>สูงว่าความคาดหวังค่อนข้างมาก (4)</q-tooltip>
                      </template>
                      <template v-slot:tip-5>
                        <q-tooltip>สูงกว่าความคาดหวังมาก (5)</q-tooltip>
                      </template>
                    </q-rating>
                  </q-item-section>
                </q-item>
              </q-list>
            </q-card>

            <q-card class="text-top0 col-xs-12 col-sm-11 q-pa-xs q-pl-lg">
              <q-list dense>
                <q-item
                  dense
                  tag="label"
                  v-ripple
                  :class="getBordered(alerts[4].value)"
                >
                  <q-item-section>
                    <q-item-label>
                      <q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
                      1.5.
                      ความสามารถในการปรับใช้ความรู้กับงานในหน้าที่</q-item-label
                    >
                  </q-item-section>
                  <q-item-section side>
                    <q-rating
                      :disable="!status"
                      v-model="apply_level"
                      max="5"
                      size="sm"
                      color="grey"
                      :color-selected="ratingColors"
                      label="ระดับการประเมินพฤติกรรม"
                    >
                      <template v-slot:tip-1>
                        <q-tooltip>ต่ำกว่าความคาดหวังมาก (1)</q-tooltip>
                      </template>
                      <template v-slot:tip-2>
                        <q-tooltip>ต่ำกว่าความคาดหวังค่อนข้างมาก (2)</q-tooltip>
                      </template>
                      <template v-slot:tip-3>
                        <q-tooltip>เป็นไปตามความคาดหวัง (3)</q-tooltip>
                      </template>
                      <template v-slot:tip-4>
                        <q-tooltip>สูงว่าความคาดหวังค่อนข้างมาก (4)</q-tooltip>
                      </template>
                      <template v-slot:tip-5>
                        <q-tooltip>สูงกว่าความคาดหวังมาก (5)</q-tooltip>
                      </template>
                    </q-rating>
                  </q-item-section>
                </q-item>
              </q-list>
            </q-card>

            <q-card class="text-top0 col-xs-12 col-sm-11 q-pa-xs q-pl-lg">
              <q-list dense>
                <q-item
                  dense
                  tag="label"
                  v-ripple
                  :class="getBordered(alerts[5].value)"
                >
                  <q-item-section>
                    <q-item-label>
                      <q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
                      1.6. ความสำเร็จของงานที่ได้รับมอบหมาย</q-item-label
                    >
                  </q-item-section>
                  <q-item-section side>
                    <q-rating
                      :disable="!status"
                      v-model="success_level"
                      max="5"
                      size="sm"
                      color="grey"
                      :color-selected="ratingColors"
                      label="ระดับการประเมินพฤติกรรม"
                    >
                      <template v-slot:tip-1>
                        <q-tooltip>ต่ำกว่าความคาดหวังมาก (1)</q-tooltip>
                      </template>
                      <template v-slot:tip-2>
                        <q-tooltip>ต่ำกว่าความคาดหวังค่อนข้างมาก (2)</q-tooltip>
                      </template>
                      <template v-slot:tip-3>
                        <q-tooltip>เป็นไปตามความคาดหวัง (3)</q-tooltip>
                      </template>
                      <template v-slot:tip-4>
                        <q-tooltip>สูงว่าความคาดหวังค่อนข้างมาก (4)</q-tooltip>
                      </template>
                      <template v-slot:tip-5>
                        <q-tooltip>สูงกว่าความคาดหวังมาก (5)</q-tooltip>
                      </template>
                    </q-rating>
                  </q-item-section>
                </q-item>
              </q-list>
            </q-card>

            <q-card class="text-top0 col-xs-12 col-sm-11 q-pa-xs q-pl-lg">
              <q-list dense>
                <q-item dense tag="label" v-ripple>
                  <q-item-section>
                    <q-item-label>
                      <q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
                      1.7 อื่นๆ
                      <q-checkbox
                        :disable="!status"
                        class="q-ml-sm"
                        dense
                        v-model="etc"
                        @click="
                          (achievement_other.text = ''),
                            (achievement_other.level = 0)
                        "
                    /></q-item-label>
                  </q-item-section>
                </q-item>
              </q-list>
            </q-card>

            <q-card
              v-if="etc"
              class="text-top0 col-xs-12 col-sm-11 q-pa-xs q-pl-lg"
            >
              <q-list dense>
                <q-item dense tag="label" v-ripple>
                  <q-item-section class="q-ml-md">
                    <q-item-label>
                      <q-input
                        :disable="!status"
                        v-model="achievement_other.text"
                        label="กรอกอื่นๆ"
                        dense
                        lazy-rules
                        autogrow
                        hide-bottom-space
                        outlined
                        class="bg-white"
                        :rules="[
                          (val) =>
                            (val && val.length > 0) || 'กรุณากรอกข้อความ',
                        ]"
                      />
                    </q-item-label>
                  </q-item-section>
                  <q-item-section side>
                    <q-rating
                      :disable="!status"
                      v-model="achievement_other.level"
                      max="5"
                      size="sm"
                      color="grey"
                      :color-selected="ratingColors"
                      label="ระดับการประเมินพฤติกรรม"
                    >
                      <template v-slot:tip-1>
                        <q-tooltip>ต่ำกว่าความคาดหวังมาก (1)</q-tooltip>
                      </template>
                      <template v-slot:tip-2>
                        <q-tooltip>ต่ำกว่าความคาดหวังค่อนข้างมาก (2)</q-tooltip>
                      </template>
                      <template v-slot:tip-3>
                        <q-tooltip>เป็นไปตามความคาดหวัง (3)</q-tooltip>
                      </template>
                      <template v-slot:tip-4>
                        <q-tooltip>สูงว่าความคาดหวังค่อนข้างมาก (4)</q-tooltip>
                      </template>
                      <template v-slot:tip-5>
                        <q-tooltip>สูงกว่าความคาดหวังมาก (5)</q-tooltip>
                      </template>
                    </q-rating>
                  </q-item-section>
                </q-item>
              </q-list>
            </q-card>
          </div>

          <!-- Part 2 -->
          <!-- <Part2 /> -->
          <div class="row col-12 q-gutter-lg no-margin">
            <div class="col-12 row">
              <div class="col-12 text-top0 items-center">
                <q-avatar class="bg-grey-2 q-mr-sm" size="28px">2</q-avatar>
                พฤติกรรมของผู้ทดลองปฏิบัติบัติหน้าที่ราชการ
              </div>
              <div class="col-12 text-top0 row items-center q-pl-lg">
                <q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
                2.1 ความประพฤติ
              </div>
              <q-card
                :class="getBordered(alerts[6].value)"
                flat
                bordered
                class="col-xs-12 col-sm-11 col-md-10 offset-md-1 q-pa-sm bg-grey-1"
              >
                <q-list dense v-for="(list, i) in list2_1" :key="i">
                  <q-item dense tag="label" v-ripple>
                    <q-item-section>
                      <q-item-label>{{ list.label }}</q-item-label>
                    </q-item-section>
                    <q-item-section side>
                      <q-rating
                        :disable="!status"
                        v-model="conduct_level[i]"
                        :val="list.id"
                        max="5"
                        size="sm"
                        color="grey"
                        :color-selected="ratingColors"
                        label="ระดับการประเมินพฤติกรรม"
                      >
                        <template v-slot:tip-1>
                          <q-tooltip>ต่ำกว่าความคาดหวังมาก (1)</q-tooltip>
                        </template>
                        <template v-slot:tip-2>
                          <q-tooltip
                            >ต่ำกว่าความคาดหวังค่อนข้างมาก (2)</q-tooltip
                          >
                        </template>
                        <template v-slot:tip-3>
                          <q-tooltip>เป็นไปตามความคาดหวัง (3)</q-tooltip>
                        </template>
                        <template v-slot:tip-4>
                          <q-tooltip
                            >สูงว่าความคาดหวังค่อนข้างมาก (4)</q-tooltip
                          >
                        </template>
                        <template v-slot:tip-5>
                          <q-tooltip>สูงกว่าความคาดหวังมาก (5)</q-tooltip>
                        </template>
                      </q-rating>
                    </q-item-section>
                  </q-item>
                  <q-separator class="q-my-xs" v-if="i + 1 < list2_1.length" />
                </q-list>
              </q-card>
            </div>
            <div class="col-12 row">
              <div class="col-12 text-top0 row items-center q-pl-lg">
                <q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
                2.2 ความมีคุณธรรมจริยธรรม
              </div>
              <q-card
                :class="getBordered(alerts[7].value)"
                flat
                bordered
                class="col-xs-12 col-sm-11 col-md-10 offset-md-1 q-pa-sm bg-grey-1"
              >
                <q-list dense v-for="(list, i) in list2_2" :key="i">
                  <q-item dense tag="label" v-ripple>
                    <q-item-section>
                      <q-item-label>{{ list.label }}</q-item-label>
                    </q-item-section>
                    <q-item-section side>
                      <q-rating
                        :disable="!status"
                        v-model="moral_level[i]"
                        :val="list.id"
                        max="5"
                        size="sm"
                        color="grey"
                        :color-selected="ratingColors"
                        label="ระดับการประเมินพฤติกรรม"
                      >
                        <template v-slot:tip-1>
                          <q-tooltip>ต่ำกว่าความคาดหวังมาก (1)</q-tooltip>
                        </template>
                        <template v-slot:tip-2>
                          <q-tooltip
                            >ต่ำกว่าความคาดหวังค่อนข้างมาก (2)</q-tooltip
                          >
                        </template>
                        <template v-slot:tip-3>
                          <q-tooltip>เป็นไปตามความคาดหวัง (3)</q-tooltip>
                        </template>
                        <template v-slot:tip-4>
                          <q-tooltip
                            >สูงว่าความคาดหวังค่อนข้างมาก (4)</q-tooltip
                          >
                        </template>
                        <template v-slot:tip-5>
                          <q-tooltip>สูงกว่าความคาดหวังมาก (5)</q-tooltip>
                        </template>
                      </q-rating>
                    </q-item-section>
                  </q-item>
                  <q-separator class="q-my-xs" v-if="i + 1 < list2_2.length" />
                </q-list>
              </q-card>
            </div>
            <div class="col-12 row">
              <div class="col-12 text-top0 row items-center q-pl-lg">
                <q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
                2.3 การรักษาวินัย
              </div>

              <q-card
                :class="getBordered(alerts[8].value)"
                flat
                bordered
                class="col-xs-12 col-sm-11 col-md-10 offset-md-1 q-pa-sm bg-grey-1"
              >
                <q-list dense v-for="(list, i) in list2_3" :key="i">
                  <q-item dense tag="label" v-ripple>
                    <q-item-section>
                      <q-item-label>{{ list.label }}</q-item-label>
                    </q-item-section>
                    <q-item-section side>
                      <q-rating
                        :disable="!status"
                        v-model="discipline_level[i]"
                        :val="list.id"
                        max="5"
                        size="sm"
                        color="grey"
                        :color-selected="ratingColors"
                        label="ระดับการประเมินพฤติกรรม"
                      >
                        <template v-slot:tip-1>
                          <q-tooltip>ต่ำกว่าความคาดหวังมาก (1)</q-tooltip>
                        </template>
                        <template v-slot:tip-2>
                          <q-tooltip
                            >ต่ำกว่าความคาดหวังค่อนข้างมาก (2)</q-tooltip
                          >
                        </template>
                        <template v-slot:tip-3>
                          <q-tooltip>เป็นไปตามความคาดหวัง (3)</q-tooltip>
                        </template>
                        <template v-slot:tip-4>
                          <q-tooltip
                            >สูงว่าความคาดหวังค่อนข้างมาก (4)</q-tooltip
                          >
                        </template>
                        <template v-slot:tip-5>
                          <q-tooltip>สูงกว่าความคาดหวังมาก (5)</q-tooltip>
                        </template>
                      </q-rating>
                    </q-item-section>
                  </q-item>
                  <q-separator class="q-my-xs" v-if="i + 1 < list2_3.length" />
                </q-list>
              </q-card>
            </div>
            <div class="col-12 row">
              <div class="col-12 text-top0 row items-center q-pl-lg">
                <q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
                2.4 อื่นๆ
                <q-checkbox
                  :disable="!status"
                  class="q-ml-sm"
                  dense
                  v-model="etc2"
                  @click="
                    (behavio_orther.text = ''), (behavio_orther.level = 0)
                  "
                />
              </div>
              <q-card
                v-if="etc2"
                flat
                bordered
                class="col-xs-12 col-sm-11 col-md-10 offset-md-1 q-pa-sm bg-grey-1"
              >
                <q-list dense>
                  <q-item dense tag="label" v-ripple>
                    <q-item-section>
                      <q-item-label>
                        <q-input
                          :disable="!status"
                          v-model="behavio_orther.text"
                          label="กรอกอื่นๆ"
                          dense
                          lazy-rules
                          autogrow
                          hide-bottom-space
                          outlined
                          class="bg-white"
                          :rules="[
                            (val) =>
                              (val && val.length > 0) || 'กรุณากรอกข้อความ',
                          ]"
                        />
                      </q-item-label>
                    </q-item-section>
                    <q-item-section side>
                      <q-rating
                        :disable="!status"
                        v-model="behavio_orther.level"
                        max="5"
                        size="sm"
                        color="grey"
                        :color-selected="ratingColors"
                        label="ระดับการประเมินพฤติกรรม"
                      >
                        <template v-slot:tip-1>
                          <q-tooltip>ต่ำกว่าความคาดหวังมาก (1)</q-tooltip>
                        </template>
                        <template v-slot:tip-2>
                          <q-tooltip
                            >ต่ำกว่าความคาดหวังค่อนข้างมาก (2)</q-tooltip
                          >
                        </template>
                        <template v-slot:tip-3>
                          <q-tooltip>เป็นไปตามความคาดหวัง (3)</q-tooltip>
                        </template>
                        <template v-slot:tip-4>
                          <q-tooltip
                            >สูงว่าความคาดหวังค่อนข้างมาก (4)</q-tooltip
                          >
                        </template>
                        <template v-slot:tip-5>
                          <q-tooltip>สูงกว่าความคาดหวังมาก (5)</q-tooltip>
                        </template>
                      </q-rating>
                    </q-item-section>
                  </q-item>
                </q-list>
              </q-card>
            </div>
            <!-- <FormComment /> -->
            <div class="row col-12 q-gutter-lg no-margin">
              <div class="col-12 row">
                <div class="col-12 text-top0 row items-center q-pl-lg">
                  <q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
                  จุดเด่น (ไม่เกิน 5 บรรทัด)
                </div>
                <q-input
                  :disable="!status"
                  outlined
                  dense
                  v-model="behavio_strength_desc"
                  class="col-xs-12 col-sm-11 col-md-10 offset-md-1"
                  lazy-rules
                  type="textarea"
                  label="กรอกจุดเด่น"
                  hide-bottom-space
                  :row="5"
                  :rules="behavio_strengthRules"
                  ref="behavio_strengthRef"
                />
              </div>
              <div class="col-12 row">
                <div class="col-12 text-top0 row items-center q-pl-lg">
                  <q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
                  สิ่งที่ควรปรับปรุง (ไม่เกิน 5 บรรทัด)
                </div>
                <q-input
                  :disable="!status"
                  outlined
                  dense
                  v-model="behavior_improve_desc"
                  class="col-xs-12 col-sm-11 col-md-10 offset-md-1"
                  lazy-rules
                  type="textarea"
                  hide-bottom-space
                  label="กรอกสิ่งที่ควรปรับปรุง"
                  :row="5"
                  :rules="behavio_inproveRules"
                  ref="behavio_inproveRef"
                />
              </div>
            </div>
          </div>

          <!-- Part 3 -->
          <!-- <Part3 /> -->
          <div class="row col-12 q-gutter-lg no-margin">
            <div class="col-12 row justify-center">
              <div class="col-12 text-top0 items-center">
                <q-avatar class="bg-grey-2 q-mr-sm" size="28px">3</q-avatar>
                การพัฒนาผู้ทดลองปฏิบัติบัติหน้าที่ราชการ
              </div>
              <q-card
                flat
                bordered
                class="col-xs-12 col-sm-11 col-md-11 q-pa-sm bg-grey-1"
              >
                <q-list dense>
                  <q-item
                    dense
                    tag="label"
                    v-ripple
                    :class="getBordered(alerts[9].value)"
                  >
                    <q-item-section>
                      <q-item-label>1. การปฐมนิเทศ</q-item-label>
                    </q-item-section>
                    <q-item-section side>
                      <div class="row">
                        <q-radio
                          :disable="!status"
                          checked-icon="task_alt"
                          unchecked-icon="panorama_fish_eye"
                          v-model="orientation"
                          val="1"
                          label="ดำเนินการเเล้ว"
                        />
                        <q-radio
                          :disable="!status"
                          checked-icon="task_alt"
                          unchecked-icon="panorama_fish_eye"
                          v-model="orientation"
                          val="0"
                          label=" ยังไม่ได้ดำเนินการ"
                        />
                      </div>
                    </q-item-section>
                  </q-item>
                  <q-separator class="q-my-xs" />
                  <q-item
                    dense
                    tag="label"
                    v-ripple
                    :class="getBordered(alerts[10].value)"
                  >
                    <q-item-section>
                      <q-item-label>2. การเรียนรู้ด้วยตนเอง</q-item-label>
                    </q-item-section>
                    <q-item-section side>
                      <div class="row">
                        <q-radio
                          :disable="!status"
                          checked-icon="task_alt"
                          unchecked-icon="panorama_fish_eye"
                          v-model="self_learning"
                          val="1"
                          label="ดำเนินการเเล้ว"
                        />
                        <q-radio
                          :disable="!status"
                          checked-icon="task_alt"
                          unchecked-icon="panorama_fish_eye"
                          v-model="self_learning"
                          val="0"
                          label=" ยังไม่ได้ดำเนินการ"
                        />
                      </div>
                    </q-item-section>
                  </q-item>
                  <q-separator class="q-my-xs" />
                  <q-item
                    dense
                    tag="label"
                    v-ripple
                    :class="getBordered(alerts[11].value)"
                  >
                    <q-item-section>
                      <q-item-label>3. การอบรมสัมนาร่วมกัน</q-item-label>
                    </q-item-section>
                    <q-item-section side>
                      <div class="row">
                        <q-radio
                          :disable="!status"
                          checked-icon="task_alt"
                          unchecked-icon="panorama_fish_eye"
                          v-model="training_seminar"
                          val="1"
                          label="ดำเนินการเเล้ว"
                        />
                        <q-radio
                          :disable="!status"
                          checked-icon="task_alt"
                          unchecked-icon="panorama_fish_eye"
                          v-model="training_seminar"
                          val="0"
                          label=" ยังไม่ได้ดำเนินการ"
                        />
                      </div>
                    </q-item-section>
                  </q-item>
                  <q-separator class="q-my-xs" />
                  <q-item dense tag="label" v-ripple>
                    <q-item-section>
                      <q-item-label
                        >4. การอบรมอื่น ๆ ตามที่หน่วยงานกำหนด
                        (ถ้ามี)</q-item-label
                      >
                    </q-item-section>
                    <q-item-section side>
                      <div class="row">
                        <q-radio
                          :disable="!status"
                          checked-icon="task_alt"
                          unchecked-icon="panorama_fish_eye"
                          v-model="other_training"
                          val="1"
                          label="ดำเนินการเเล้ว"
                        />
                        <q-radio
                          :disable="!status"
                          checked-icon="task_alt"
                          unchecked-icon="panorama_fish_eye"
                          v-model="other_training"
                          val="0"
                          label=" ยังไม่ได้ดำเนินการ"
                        />
                      </div>
                    </q-item-section>
                  </q-item>
                </q-list>
              </q-card>
            </div>
          </div>

          <!-- Footer -->
          <div class="row col-12 q-gutter-lg no-margin justify-center">
            <div class="col-xs-12 col-sm-11 row">
              <div class="col-12 text-top2 row items-center">
                ผู้บังคับบัญชา
              </div>
              <div class="col-12 row q-col-gutter-md">
                <q-select
                  class="col-xs-12 col-sm-8"
                  dense
                  v-model="Autherise"
                  outlined
                  :options="option"
                  option-label="label"
                  label="ผู้บังคับบัญชา"
                  disable
                />
                <div class="col-xs-12 col-sm-4">
                  <datepicker
                    menu-class-name="modalfix"
                    v-model="dateAutherise"
                    :locale="'th'"
                    autoApply
                    borderless
                    :enableTimePicker="false"
                    week-start="0"
                    :readonly="!status"
                  >
                    <template #year="{ year }">
                      {{ year + 543 }}
                    </template>
                    <template #year-overlay-value="{ value }">
                      {{ parseInt(value + 543) }}
                    </template>
                    <template #trigger>
                      <q-input
                        :disable="!status"
                        outlined
                        dense
                        class="full-width datepicker col-3"
                        :model-value="
                          dateAutherise != null
                            ? date2Thai(dateAutherise)
                            : 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>
            </div>
          </div>

          <div class="col-12">
            <q-separator size="3px" color="grey-2" />
          </div>
          <!-- <Footer /> -->
          <div class="row col-12">
            <q-space />
            <q-btn
              label="บันทึก"
              color="secondary"
              @click="savaForm"
              v-if="status"
            />
          </div>
        </div>
      </div>
    </q-card-section>
  </q-card>
</template>

<style lang="scss" scoped>
.text-top2 {
  font-weight: 500;
  padding-bottom: 8px;
  color: rgb(70, 68, 68);
}

.text-top0 {
  font-weight: 600;
  padding-bottom: 8px;
  color: rgb(70, 68, 68);
}

.q-rating__icon {
  text-shadow: transparent !important;
}

.q-card {
  box-shadow: 0px 0px 0px 0px !important;
}
.border_custom {
  border: 2px solid #c10015;
  border-radius: 5px;
  // color: #c10015;
}
</style>
