<template>
  <el-dialog
    class="addtowerDialog"
    title="修改杆塔"
    :visible.sync="isShow"
    :close-on-click-modal="false"
    width="470px"
  >
    <el-form
      label-position="left"
      ref="formInfo"
      label-width="100px"
      :rules="rules"
      :model="formdata"
    >
      <el-form-item label="电压等级：" prop="dyId">
        <el-select
          v-model="formdata.dyId"
          placeholder="请选择"
          @change="getSearchxl"
        >
          <el-option
            v-for="item in dyOptions"
            :key="item.id"
            :label="item.name"
            :value="item.id"
          ></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="线路名称：" prop="lineId">
        <el-select v-model="formdata.lineId" placeholder="请选择">
          <el-option
            v-for="item in lineOptions"
            :key="item.id"
            :label="item.name"
            :value="item.id"
          ></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="杆塔名称：" prop="name">
        <el-input v-model="formdata.towerName" autocomplete="off"></el-input>
      </el-form-item>
      <el-form-item label="杆塔地址：" prop="address">
        <el-input v-model="formdata.address" autocomplete="off"></el-input>
      </el-form-item>
      <el-form-item label="排序号：" prop="order">
        <el-input-number
          controls-position="right"
          v-model="formdata.order"
          :min="0"
        ></el-input-number>
      </el-form-item>
    </el-form>
    <div slot="footer" class="dialog-footer">
      <el-button @click="isShow = false">取 消</el-button>
      <el-button type="primary" @click="submitForm()">确 定</el-button>
    </div>
  </el-dialog>
</template>
<script>
import { updateTowerApi, getSearchInfo } from "@/utils/api/index";

export default {
  data() {
    return {
      isShow: false,
      lineOptions: [],
      dyOptions: [],
      formdata: {},
      rules: {
        dyId: [{ required: true, message: "请选择电压", trigger: "blur" }],
        towerName: [
          { required: true, message: "请输入杆塔名称", trigger: "blur" },
        ],
        lineId: [
          { required: true, message: "请选择线路编号", trigger: "blur" },
        ],
        // address: [
        //   { required: true, message: "请输入杆塔地址", trigger: "blur" },
        // ],
        order: [{ required: true, message: "请输入排序号", trigger: "blur" }],
      },
    };
  },
  mounted() {},
  methods: {
    //获取电压信息
    getSearchdy() {
      getSearchInfo({ type: 1 })
        .then((res) => {
          this.dyOptions = res.data.list;
          this.getSearchxl();
        })
        .catch((err) => {});
    },
    //获取线路数据
    getSearchxl() {
      getSearchInfo({ type: 2, id: this.formdata.dyId })
        .then((res) => {
          this.lineOptions = res.data.list;
        })
        .catch((err) => {});
    },

    //判断
    getdataform(val) {
      //this.formdata = val;
      this.formdata.order = 0;
      this.formdata = JSON.parse(JSON.stringify(val));
    },
    // 保存确定操作
    submitForm() {
      this.$refs.formInfo.validate((valid) => {
        if (valid) {
          updateTowerApi({
            id: this.formdata.towerId,
            name: this.formdata.towerName,
            address: null,
            lineId: this.formdata.lineId,
            lineName: this.formdata.lineName,
            order: this.formdata.order,
          })
            .then((res) => {
              this.isShow = false;
              //this.$message.success("修改成功");
              this.$message({
                duration: 1500,
                showClose: true,
                message: "修改成功",
                type: "success",
              });
              this.$parent.terminalList(); //刷新
            })
            .catch((err) => {
              //this.$message.error("修改失败");
              this.$message({
                duration: 1500,
                showClose: true,
                message: "修改失败",
                type: "error",
              });
            });
        } else {
          console.log("error submit!!");
          return false;
        }
      });
    },
    display() {
      this.isShow = true;
      this.getSearchdy();
    },
    hide() {
      this.isShow = false;
    },
  },
};
</script>
<style lang="less">
.addtowerDialog {
  .el-select {
    width: 100%;
  }
  .el-input-number {
    width: 100%;
  }
  .el-input-number .el-input__inner {
    text-align: left;
  }
}
</style>
