<template>
  <div class="AreaBox">
    <div class="areaHead">
      <span>{{ areaData.cmdid }}</span>
      <!-- <el-tooltip
        class="item"
        effect="dark"
        :content="!collect ? '取消收藏' : '添加收藏'"
        placement="top"
      >
        <i
          :class="collect ? 'el-icon-star-off' : 'el-icon-star-on'"
          @click="collectCourses"
        ></i>
      </el-tooltip> -->
    </div>
    <div class="paramsDate">
      <h3>日历快速查询</h3>
      <el-date-picker
        v-model="dateValue"
        type="date"
        placeholder="选择日期"
        format="yyyy 年 MM 月 dd 日"
        :picker-options="pickerOptions"
        @change="changedate"
        @focus="handleDateFocus"
        :clearable="false"
      >
      </el-date-picker>
    </div>
    <div class="paramsDate">
      <h3>通道监拍点</h3>
      <!-- <el-radio-group v-model="selectChannelValue" @input="changeChannelId">
        <el-radio-button
          v-for="item in channelListOption"
          :key="item.channelid"
          :value="item.channelid"
          :label="item.channelid"
        >
          {{
            item.alias !== null && item.alias !== ""
              ? item.alias
              : item.channelname
          }}</el-radio-button
        >
      </el-radio-group> -->
      <el-select
        v-model="selectChannelValue"
        placeholder="请选择通道"
        @change="changeChannelId"
        ref="multiSelect"
      >
        <el-option
          v-for="item in channelListOption"
          :key="item.channelid"
          :label="
            item.alias !== null && item.alias !== ''
              ? item.alias
              : item.channelname
          "
          :value="item.channelid"
        >
          {{
            item.alias !== null && item.alias !== ""
              ? item.alias
              : item.channelname
          }}
        </el-option>
      </el-select>
    </div>
    <div class="paramsDate setTimebtn">
      <h3>操作项</h3>
      <div class="buttonGroup">
        <takePicButton></takePicButton>
        <takeVideoButton></takeVideoButton>

        <deviceInfoButton></deviceInfoButton>

        <scheduleButton></scheduleButton>
        <alarmButton></alarmButton>
        <cableButton></cableButton>
        <gpsButton></gpsButton>
        <el-button type="primary" @click="handlehistoryPic">
          历史图片</el-button
        >
        <el-button type="primary" @click="handleParams"> 参数配置</el-button>
        <!-- <el-button type="primary" @click="handleTakePic" :loading="picLoading"
          >主动拍照
        </el-button> -->
        <!-- <el-button type="primary">主动拍照 </el-button>
        <el-button type="primary">主动拍照 </el-button>
        <el-button type="primary">主动拍照 </el-button>
        <el-button type="primary">主动拍照 </el-button>
        <el-button type="primary">主动拍照 </el-button>
        <el-button type="primary">主动拍照 </el-button>
        <el-button type="primary">主动拍照 </el-button> -->
      </div>
    </div>
    <div class="setfocalLength" v-if="areaData.protocol == '65286'">
      <h3>焦距调节</h3>
      <div class="selectChannel">
        <span class="labelname">选择通道</span>
        <el-select
          v-model="channelarrValue"
          placeholder="请选择通道"
          ref="multiSelect"
        >
          <el-option
            v-for="item in channelfocalOpyion"
            :key="item.channelid"
            :label="
              item.alias !== null && item.alias !== ''
                ? item.alias
                : item.channelname
            "
            :value="item.channelid"
          >
            {{
              item.alias !== null && item.alias !== ""
                ? item.alias
                : item.channelname
            }}
          </el-option>
        </el-select>
      </div>
      <div class="buttonGroup">
        <el-button type="primary" icon="el-icon-zoom-in" @click="amplify()"
          >放大</el-button
        >
        <el-button type="primary" icon="el-icon-zoom-out" @click="reduce()"
          >缩小</el-button
        >
      </div>
    </div>
    <parameterSetDialog ref="parameterSetref"></parameterSetDialog>
  </div>
</template>
<script>
import takePicButton from "./takePicButton.vue";
import takeVideoButton from "./takeVideoButton.vue";
import deviceInfoButton from "./deviceInfoButton.vue";
import scheduleButton from "./scheduleButton.vue";
import alarmButton from "./alarmButton.vue";
import cableButton from "./cableButton.vue";
import gpsButton from "./gpsButton.vue";
import parameterSetDialog from "../../photographicDevice/components/parameterSetDialog.vue";
import {
  getChannelByTermidJoggle,
  updateTermCamera,
  getTermStatus,
} from "@/utils/api/index";
export default {
  components: {
    takePicButton,
    takeVideoButton,
    deviceInfoButton,
    scheduleButton,
    alarmButton,
    cableButton,
    gpsButton,
    parameterSetDialog,
  },
  data() {
    return {
      selectChannelValue: null, //选中的通道
      channelListOption: [], //通道数组
      channelarrValue: null,
      channelfocalOpyion: [], //焦距通道
      dateValue: "", //选择日期
      pickerOptions: {
        disabledDate(date) {
          return date.getTime() > Date.now(); // 禁用大于今天的日期
        },
      },
      picLoading: false, //拍照loading
      selectDyId: "", //获取当前选中的电压线路等信息
      selectLineId: "",
      selectTowerId: "",
      collect: false, //收藏
    };
  },

  watch: {
    areaData: {
      handler(newVal, oldVal) {},
      deep: true,
      immediate: true,
    },
  },
  computed: {
    areaData() {
      return this.$store.state.currentData;
    },
  },
  mounted() {
    this.getDateTime();
  },
  methods: {
    //获取当前时间
    getDateTime() {
      console.log(new Date());
      this.dateValue = new Date().getTime();
      console.log(this.dateValue);
    },
    //点击收藏和取消收藏
    collectCourses() {
      this.collect = !this.collect;
    },
    //focus时间重新赋值
    handleDateFocus() {
      // 更新pickerOptions的disabledDate函数，禁用大于当前时间的日期
      this.pickerOptions.disabledDate = (date) => {
        //console.log(date);
        const currentDate = new Date();
        return date.getTime() > currentDate.getTime(); // 禁用大于今天的日期
      };
    },
    //选择时间
    changedate() {
      console.log(this.dateValue.getTime());
      this.$parent.getPhotoList(
        this.selectChannelValue,
        this.dateValue,
        this.areaData.id
      );
    },
    //获取通道的接口
    getChannelList() {
      console.log(this.areaData);
      getChannelByTermidJoggle({ termid: this.areaData.id })
        .then((res) => {
          console.log(res);
          this.channelListOption = [
            { channelname: "全部", channelid: -1, alias: null },
          ];
          this.channelListOption = this.channelListOption.concat(res.data.list);
          console.log(this.channelListOption);
          this.channelfocalOpyion = res.data.list; //焦距通道
          this.channelarrValue = this.channelfocalOpyion[0].channelid;
          this.selectChannelValue = this.channelListOption[0].channelid; //默认选中所有通道;
          this.$store.commit("channelId", this.selectChannelValue); //通道保存在vuex中
          this.$store.commit("channelIdList", res.data.list); //将通道保存在vuex中
          this.$parent.getPhotoList(
            this.selectChannelValue,
            this.dateValue,
            this.areaData.id
          );
          this.selectDyId = res.data.dyId;
          this.selectLineId = res.data.lineId;
          this.selectTowerId = res.data.towerId;
        })
        .catch((err) => {
          console.log(err); //代码错误、请求失败捕获
        });
    },
    //切换通道
    changeChannelId(val) {
      console.log(val);
      this.$store.commit("channelId", val); //将currentData保存在vuex中
      this.$parent.getPhotoList(val, this.dateValue, this.areaData.id);
    },
    //历史图片跳转
    handlehistoryPic() {
      console.log(this.areaData);
      console.log(this.selectDyId, this.selectLineId, this.selectTowerId);
      // console.log(this.zzCmdid, this.selectChannelValue);
      if (typeof this.dateValue == "number") {
        this.dateValue = new Date(new Date().toLocaleDateString()).getTime();
      } else {
        this.dateValue = this.dateValue.getTime();
      }
      this.$router.push({
        path: "/realTimeSearch",
        query: {
          dyId: this.selectDyId,
          lineId: this.selectLineId,
          towerId: this.selectTowerId,
          termId: this.areaData.id,
          cmdId: this.areaData.cmdid,
          channelId: this.selectChannelValue,
          date: this.dateValue,
        },
      });
    },
    //参数配置
    handleParams() {
      console.log(this.areaData);
      this.$refs.parameterSetref.display(this.areaData);
    },
    //焦距放大缩小
    amplify() {
      getTermStatus({ termId: this.areaData.id }).then((res) => {
        console.log(res);
        if (res.data.isonline) {
          updateTermCamera({
            termId: this.areaData.id,
            channelId: this.channelarrValue,
            type: 6,
          })
            .then((res) => {})
            .catch();
          //this.$refs.infodialog_ref.getListData(this.channelId, this.cmdid);
        } else {
          this.$message({
            duration: 1500,
            showClose: true,
            message: "装置下线，发送指令失败",
            type: "error",
          });
        }
      });
      console.log(this.channelarrValue, this.areaData.id);
    },
    //焦距缩小
    reduce() {
      getTermStatus({ termId: this.areaData.id }).then((res) => {
        console.log(res);
        if (res.data.isonline) {
          updateTermCamera({
            termId: this.areaData.id,
            channelId: this.channelarrValue,
            type: 7,
          })
            .then((res) => {})
            .catch();
          //this.$refs.infodialog_ref.getListData(this.channelId, this.cmdid);
        } else {
          this.$message({
            duration: 1500,
            showClose: true,
            message: "装置下线，发送指令失败",
            type: "error",
          });
        }
      });
    },
  },
};
</script>
<style lang="less">
.AreaBox {
  .areaHead {
    height: 32px;
    line-height: 32px;
    color: #169e8c;
    font-size: 14px;
    font-weight: normal;
    display: flex;
    align-items: center;
    i {
      margin-left: 16px;
      cursor: pointer;
    }
    .el-icon-star-off {
      font-size: 18px;
      color: #f08200;
    }
    .el-icon-star-on {
      font-size: 20px;
      color: #f08200;
    }
  }
  .paramsDate {
    margin-bottom: 16px;
    position: relative;
    h3 {
      font-size: 14px;
      font-weight: normal;
      color: #303133;
      margin-bottom: 8px;
    }
    .el-radio-group {
      display: flex;
      flex-wrap: wrap;
      .el-radio-button {
        margin-right: 6px;
        margin-top: 6px;
        .el-radio-button__inner {
          padding: 8px 4px;
          width: 66px;
          border-left: 1px solid #dcdfe6;
          border-radius: 4px;
        }
        .el-radio-button__orig-radio:checked + .el-radio-button__inner {
          box-shadow: none !important;
        }
      }
    }
  }
  .setTimebtn {
    .buttonGroup {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      .el-button {
        margin-bottom: 8px;
        width: 104px;
      }
      .el-button + .el-button {
        margin-left: 0px;
      }
    }
  }
  .setfocalLength {
    margin-bottom: 16px;
    position: relative;
    h3 {
      font-size: 14px;
      font-weight: normal;
      color: #303133;
      margin-bottom: 8px;
    }
    .selectChannel {
      display: flex;
      align-items: center;
      margin-bottom: 12px;
      .labelname {
        font-size: 14px;
        margin-right: 4px;
        width: 80px;
        color: #666;
      }
    }
    .buttonGroup {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      .el-button {
        margin-bottom: 8px;
        width: 104px;
      }
      .el-button + .el-button {
        margin-left: 0px;
      }
    }
  }
}
</style>
