<template>
  <Dialog v-model="modelVisible" :title="data ? '修改' : '新增'" width="550px">
    <div class="AddNEditDialog">
      <Form
        v-model="formData"
        class="form"
        ref="FormConfigRef"
        :formList="formList"
        column="1"
        labelWidth="90px"
      />
    </div>

    <template #footer>
      <Button
        style="background-color: rgba(0, 179, 204, 0.3)"
        @click.native="(modelVisible = false), (submitting = false)"
      >
        取消
      </Button>
      <Button @click.native="handleSubmit" :loading="submitting"> 确定 </Button>
    </template>
  </Dialog>
</template>

<script>
import Dialog from "@screen/components/Dialog/index.vue";
import Button from "@screen/components/Buttons/Button.vue";
import Form from "@screen/components/FormConfig";

import request from "@/utils/request";
import { getSelectOptionsStation } from "@screen/pages/control/event/businessDataManagement/utils.js";
import { Message } from "element-ui";
import * as PresetFormItems from "@screen/common/PresetFormItems.js";

export default {
  name: "AddNEditDialog",
  components: {
    Dialog,
    Button,
    Form,
  },
  model: {
    prop: "visible",
    event: "update:value",
  },
  props: {
    visible: Boolean,
    data: Object,
  },
  inject: ["setCurrentPage"],
  data() {
    return {
      submitting: false,
      formData: {},
      formList: [
        {
          label: "信息级别:",
          key: "level",
          type: "RadioGroup",
          isAlone: true,
          options: {
            activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
            options: [
              {
                key: "1",
                label: "影响通行",
              },
              {
                key: "2",
                label: "不影响通行",
              },
            ],
          },
        },
        PresetFormItems.releaseChannel,
        {
          label: "审核方式:",
          key: "process",
          type: "RadioGroup",
          isAlone: true,
          options: {
            activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
            options: [
              {
                key: "1",
                label: "单人审核",
              },
              {
                key: "2",
                label: "双人审核",
              },
            ],
          },
        },
        {
          label: "启用日期:",
          key: "startDate",
          type: "DatePicker",
          required: true,
        },
      ],
    };
  },
  computed: {
    modelVisible: {
      get() {
        return this.visible;
      },
      set(val) {
        this.$emit("update:value", val);
      },
    },
  },
  watch: {
    modelVisible: {
      immediate: true,
      handler(bool) {
        if (!bool) return;

        this.formData = {
          ...this.data,
        };

        this.getOptions();
      },
    },
  },
  methods: {
    getOptions() {},
    handleSubmit() {},
  },
};
</script>

<style lang="scss" scoped>
.AddNEditDialog {
  width: 450px;
  height: 200px;
  display: flex;
  flex-direction: column;
  gap: 15px;

  .tips {
    font-size: 12px;
  }
}
</style>