<template>
  <div>
    <el-form
      ref="monitorForm"
      :model="monitorForm"
      :rules="rules"
      label-width="200px"
      class="form"
    >
      <el-form-item label="所在铁路线:" prop="wayId">
        <el-select
          v-model="monitorForm.wayId"
          placeholder="请选择铁路线"
          @change="changerailWay()"
        >
          <el-option
            v-for="item in railWaySelect"
            :key="item.id"
            :label="item.name"
            :value="item.id"
          ></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="所在站点:" prop="siteId">
        <el-select
          v-model="monitorForm.siteId"
          placeholder="请选择站点"
          @change="changesite()"
        >
          <el-option
            v-for="item in stationSelect2"
            :key="item.id"
            :label="item.siteName"
            :value="item.id"
          ></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="所在FSU:" prop="fsuId">
        <el-select v-model="monitorForm.fsuId" placeholder="请选择FSU">
          <el-option
            v-for="item in fsuSelect2"
            :key="item.id"
            :label="item.equipName"
            :value="item.id"
          ></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="设备身份编号:" prop="equipCode">
        <el-input
          v-model="monitorForm.equipCode"
          placeholder="请输入设备身份编号"
        />
      </el-form-item>
      <el-form-item label="设备名称:" prop="equipName">
        <el-input
          v-model="monitorForm.equipName"
          placeholder="请输入设备名称"
        />
      </el-form-item>
      <el-form-item label="设备厂商:" prop="equipFactory">
        <el-input
          v-model="monitorForm.equipFactory"
          placeholder="请输入设备厂商"
        />
      </el-form-item>
      <el-form-item label="设备类别:" prop="equipType">
        <el-select v-model="monitorForm.equipType" placeholder="请输入设备类别">
          <el-option
            v-for="item in equipTypeSelect"
            :key="item.id"
            :label="item.dictValue"
            :value="item.dictValue"
          ></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="设备型号:" prop="equipMode">
        <el-select v-model="monitorForm.equipMode" placeholder="请输入设备型号">
          <el-option
            v-for="item in equipModeSelect"
            :key="item.id"
            :label="item.dictValue"
            :value="item.dictValue"
          ></el-option>
        </el-select>
      </el-form-item>

      <el-form-item label="设备生产序列号:" prop="equipSerialNumber">
        <el-input
          v-model="monitorForm.equipSerialNumber"
          placeholder="请输入设备生产序列号"
        />
      </el-form-item>
      <el-form-item label="设备所在铁路公里标:" prop="kmSign">
        <el-input
          v-model="monitorForm.kmSign"
          placeholder="请输入设备所在铁路公里标"
        />
      </el-form-item>
      <el-form-item label="安装日期:" prop="installDate">
        <el-input
          v-model="monitorForm.installDate"
          placeholder="请输入安装日期"
        />
      </el-form-item>

      <el-form-item label="	维护日期:" prop="repairDate">
        <el-input
          v-model="monitorForm.repairDate"
          placeholder="请输入维护日期"
        />
      </el-form-item>
    </el-form>
    <div class="btn">
      <el-button type="primary" @click="reset">重置</el-button>
      <el-button type="primary" @click="submit">确认提交</el-button>
    </div>
  </div>
</template>
<script>
import { monitorEquipsave, selectMonitorItem } from "../../api";
import { mapGetters, mapActions } from "vuex";
import { successAlert, warningAlert } from "@/utils/alert";
export default {
  props: [],
  components: {},
  data() {
    return {
      railWaySelect: [],
      stationSelect: [],
      stationSelect2: [],
      fsuSelect: [],
      fsuSelect2: [],
      FSUrailway: [
        {
          key: 6,
          label: "张呼客运专线",
        },
        {
          key: 12,
          label: "南昆客运专线",
        },
      ],
      equipTypeSelect: [],
      equipModeSelect: [],
      monitorForm: {
        wayId: "",
        parentId: "",
        siteId: "",
        fsuId: "",
        equipCode: "",
        equipFactory: "",
        equipMode: '',
        equipName: "",
        equipSerialNumber: "",
        equipType: '',
        installDate: "2022-02-24 12:24:84",
        kmSign: "",

        repairDate: "2022-02-24 12:24:84",
      },
      rules: {
        parentId: [
          { required: true, message: "请选择铁路线", trigger: "blur" },
        ],
        equipCode: [
          { required: true, message: "请输入设备身份编号", trigger: "blur" },
        ],
        equipFactory: [
          { required: true, message: "请输入设备厂商", trigger: "blur" },
        ],
        equipMode: [
          { required: true, message: "请选择设备型号", trigger: "blur" },
        ],
        equipName: [
          { required: true, message: "请输入设备名", trigger: "blur" },
        ],
        equipSerialNumber: [
          { required: true, message: "请输入设备生产序列号", trigger: "blur" },
        ],
        equipType: [
          { required: true, message: "请输入设备类别", trigger: "blur" },
        ],
        installDate: [
          { required: true, message: "请输入安装日期", trigger: "blur" },
        ],
        kmSign: [
          {
            required: true,
            message: "请输入设备所在铁路公里标",
            trigger: "blur",
          },
        ],
        repairDate: [
          { required: true, message: "请输入维护日期", trigger: "blur" },
        ],
      },
    };
  },
  computed: {
    ...mapGetters({
      railWaylist: "railWay/list",
      stationlist: "station/list",
      fsulist: "FSU/list",
    }),
  },
  methods: {
    ...mapActions({
      asyncrailWayList: "railWay/asyncList",
      asyncstationList: "station/asyncList",
      asyncfsuList: "FSU/asyncList",
    }),
    changerailWay() {
      this.stationSelect2 = this.stationlist.filter(
        (item) => item.parentId === this.monitorForm.wayId
      );
    },
    changesite() {
      this.fsuSelect2 = this.fsulist.filter(
        (item) => item.parentId === this.monitorForm.siteId
      );
    },
    reset() {
      this.$refs.monitorForm.resetFields();
    },
    submit() {
      this.$refs.monitorForm.validate((valid) => {
        if (valid) {
          this.monitorForm.parentId = this.monitorForm.fsuId;
          monitorEquipsave(this.monitorForm).then((res) => {
            if (res.code == 200) {
              successAlert("添加成功");
            } else {
              warning("添加失败");
            }
          });
        }
        this.monitorForm = {
          wayId: "",
          parentId: "",
          siteId: "",
          fsuId: "",
          equipCode: "",
          equipFactory: "",
          equipMode: '',
          equipName: "",
          equipSerialNumber: "",
          equipType: '',
          installDate: "2022-02-22 12:24:84",
          kmSign: "",

          repairDate: "2022-02-24 12:24:84",
        };
      });
    },
  },
  created() {
    selectMonitorItem().then((res) => {
       this.equipTypeSelect=res["03"]
      this.equipModeSelect=res["09"]
    });
  },
  mounted() {
    this.asyncrailWayList();
    this.asyncstationList();
    this.asyncfsuList();
    this.railWaySelect = this.railWaylist;
    this.stationSelect = this.stationlist;
    this.fsuSelect = this.fsulist;
  },
};
</script>
<style lang="scss" scoped>
.form {
  padding: 20px 0;
  width: 600px;
  margin: 0 auto;
}
.btn {
  padding-top: 50px;
  text-align: center;
  button {
    width: 120px;
  }
}
</style>