<template>
  <el-dialog class="timedControl" custom-class="no-scroll" title="光照曲线图" :close-on-click-modal="false"
    :visible.sync="visibleSync" width="80%" destroy-on-close append-to-body :lock-scroll="true"
    :before-close="closeLogin">
    <el-row>
      <el-col :span="3" style="float: right; width: 8%;">

        <el-button size="mini" class="tableBlueButtton" @click="submitlightForm" v-hasPermi="['workbench:light:edit']">
          保存</el-button>
        <el-button size="mini" class="tableBlueButtton" @click="refreshlightForm" v-hasPermi="['workbench:light:edit']">
          刷新</el-button>
      </el-col>
    </el-row>
    <el-row :gutter="24" style="clear:both;margin-top: 5px ">
      <el-col :span="14">

        <el-row :gutter="24" style="clear:both;">
          <el-col :span="24">
            <div class="loginChart" ref="loginChart" style="width: 100%; height: 400px"></div>
          </el-col>
        </el-row>
        <el-row :gutter="24" style="clear:both;">
          <el-col :span="24">
            <div class="loginChart1" ref="loginChart1" style="width: 100%; height: 400px; float: left"></div>
          </el-col>
        </el-row>
      </el-col>
      <el-col :span="10">
        <el-form ref="loginQueryForm" :model="lightFilesModel" :inline="true" class="loginQueryFormClass"
          label-width="70px" height="300px">
          <el-row :gutter="24" style="clear:both; margin: 0;">
            <el-col :span="5" v-hasPermi="['workbench:light:switch']">
              <el-form-item label="启用"  label-width="50px" align="center" prop="schedulerTime" class="el-form-item-data-type">
                <template slot-scope="scope">
                  <el-switch v-model="lightFilesModel.isStatus" active-color="#13ce66" inactive-color="#ff4949"
                    active-value="0" inactive-value="1" @change="changeCattate()">
                  </el-switch>
                </template>
              </el-form-item>
            </el-col>
            <el-col :span="9" style="padding-right: 0;">
              <el-form-item label="隧道名称" prop="tunnelId" class="el-form-item-data">
                <el-select :disabled="tunnelDisabled" style="width: 100%" v-model="lightFilesModel.tunnelId"
                  placeholder="请选择隧道" clearable @change="lightChangeEvent">
                  <el-option v-for="item in tunnelData" :key="item.tunnelId" :label="item.tunnelName"
                    :value="item.tunnelId" />
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="9" style="padding-right: 0;">
              <el-form-item label="隧道方向" prop="direction" class="el-form-item-data">
                <el-input disabled style="width: 98%" v-model="
                    lightFilesModel.direction == '1' ? '潍坊方向' : '济南方向'
                  "></el-input>
                <!-- <el-select
                      disabled=true
                      clearable
                      v-model="lightFilesModel.direction"
                      placeholder="请选择隧道方向"
                      @change="lightChangeEvent"
                      style="width: 100%"
                    >
                      <el-option
                        v-for="dict in lightDirectionOptions"
                        :key="dict.value"
                        :label="dict.dictLabel"
                        :value="dict.dictValue"
                      />
                    </el-select> -->
              </el-form-item>
            </el-col>
          </el-row>
          <div style="width: 100%;height: 250px;overflow: auto; ">
            <el-row :gutter="24" style="clear:both;width: 100%; height: 60px;margin: 0;"
              v-for="(item, index) in lightFormItems" :key="index">
              <el-col :span="9" style="padding-right: 0;">
                <el-form-item label="选择设备"
                  class="el-form-item-direction-Item">
                  <el-select clearable v-model="item.lightParagraph" placeholder="请选择设备" style="width: 100%">
                    <el-option v-for="dict in lightParagraphList" :key="dict.value" :label="dict.dictLabel"
                      :value="dict.dictValue" />
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="9" style="padding-right: 4px;">
                <el-form-item label="下修比例"
                  class="el-form-item-direction-Item">
                  <el-input style="width: 100%;margin-left: 5px" placeholder="请输入下修比例" v-model="item.beforeLuminance" />
                </el-form-item>
              </el-col>
              <el-col :span="5" style="padding-right: 0;">
                <div class="buttonBox" style="float: right;margin-left: 10px">
                  <el-button class="delete" @click="deleteHandleUpdate(index)"></el-button>
                  <el-button class="add" @click="addHandleUpdate(index)"></el-button>
                </div>
              </el-col>
              <!-- <el-col :span="24">
                <el-form-item label="选择设备" v-for="(item, index) in lightFormItems" :key="index"
                  class="el-form-item-direction-Item">

                  <el-select clearable v-model="item.lightParagraph" placeholder="请选择设备" style="width: 30%">
                    <el-option v-for="dict in lightParagraphList" :key="dict.value" :label="dict.dictLabel"
                      :value="dict.dictValue" />
                  </el-select>
                  <span style="color: #fff;margin-left: 10px;font-weight: bold;">下修比例</span>
                  <el-input style="width: 30%;margin-left: 5px" placeholder="请输入下修比例" v-model="item.beforeLuminance">
                  </el-input>


                  <div class="buttonBox" style="width: 20% ;float: right;margin-left: 10px">
                    <el-button class="delete" @click="deleteHandleUpdate(index)"></el-button>
                    <el-button class="add" @click="addHandleUpdate(index)"></el-button>
                  </div>
                </el-form-item>
              </el-col> -->
            </el-row>
          </div>

        </el-form>
      </el-col>
      <el-col :span="10" style="margin-top: 1%">
        <el-row :gutter="24">
          <el-col :span="10" style="float: right; width: 23%;">

            <el-button size="mini" class="tableBlueButtton" @click="submitlightFormWei"
              v-hasPermi="['workbench:light:edit']">保存</el-button>
            <el-button size="mini" class="tableBlueButtton" @click="refreshlightFormWei"
              v-hasPermi="['workbench:light:edit']">刷新</el-button>
          </el-col>
        </el-row>
        <el-form ref="loginQueryFormWei" :model="lightFilesModelWei" :inline="true" class="loginQueryFormClass"
          label-width="70px" style="margin-top: 5px" height="300px">
          <el-row :gutter="24" style="clear:both; margin: 0;">
            <el-col :span="5" v-hasPermi="['workbench:light:switch']">
              <el-form-item label="启用"   label-width="50px" align="center" prop="schedulerTime" class="el-form-item-data-type">
                <template slot-scope="scope">
                  <el-switch v-model="lightFilesModelWei.isStatus" active-color="#13ce66" inactive-color="#ff4949"
                    active-value="0" inactive-value="1">
                  </el-switch>
                </template>
              </el-form-item>
            </el-col>
            <el-col :span="9" style="padding-right: 0;">
              <el-form-item label="隧道名称" prop="tunnelId" class="el-form-item-data">
                <el-select :disabled="tunnelDisabled" style="width: 100%" v-model="lightFilesModelWei.tunnelId"
                  placeholder="请选择隧道" clearable @change="lightChangeEventWei">
                  <el-option v-for="item in tunnelData" :key="item.tunnelId" :label="item.tunnelName"
                    :value="item.tunnelId" />
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="9" style="padding-right: 0;">
              <el-form-item label="隧道方向" prop="direction" class="el-form-item-data">
                <el-input disabled style="width: 98%" v-model="
                lightFilesModelWei.direction == '1' ? '潍坊方向' : '济南方向'
                  "></el-input>
                <!-- <el-select disabled="true" clearable v-model="lightFilesModelWei.direction" placeholder="请选择隧道方向"
                  @change="lightChangeEventWei" style="width: 100%">
                  <el-option v-for="dict in lightDirectionOptions" :key="dict.value" :label="dict.dictLabel"
                    :value="dict.dictValue" />
                </el-select> -->
              </el-form-item>
            </el-col>
          </el-row>
          <div style="width: 100%;height: 250px;overflow: auto; ">
            <el-row :gutter="24" style="clear:both;width: 100%; height: 60px;margin: 0;"
              v-for="(item, index) in lightFormItemsWei" :key="index">
              <el-col :span="9" style="padding-right: 0;">
                <el-form-item label="选择设备"
                  class="el-form-item-direction-Item">
                  <el-select clearable v-model="item.lightParagraph" placeholder="请选择设备" style="width: 100%">
                    <el-option v-for="dict in lightParagraphList" :key="dict.value" :label="dict.dictLabel"
                      :value="dict.dictValue" />
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="9" style="padding-right: 4px;">
                <el-form-item label="下修比例"
                class="el-form-item-direction-Item">
                  <el-input style="width: 100%;margin-left: 5px" placeholder="请输入下修比例" v-model="item.beforeLuminance" />
                </el-form-item>
              </el-col>
              <el-col :span="5" style="padding-right: 0;">
                <div class="buttonBox" style="float: right;margin-left: 10px">
                  <el-button class="delete" @click="deleteHandleUpdateWei(index)"></el-button>
                  <el-button class="add" @click="addHandleUpdateWei(index)"></el-button>
                </div>
              </el-col>
            </el-row>
          </div>

        </el-form>
      </el-col>
    </el-row>

  </el-dialog>
</template>

<script>
  import * as echarts from "echarts";
  import {
    addConfig,
    listConfig,
    updateConfig
  } from "@/api/business/wisdomLight/app";
  import {
    dataDevicesLogInfoList,
    dataLogInfoLineList
  } from "@/api/equipment/eqTypeItem/item";
  import {
    listDepId,
    listTunnels
  } from "@/api/equipment/tunnel/api";

  export default {
    name: "lightCurveModal",
    data() {
      return {
        visibleSync: false,
        //光照曲线ref
        loginChart: null,
        //光强配置文件
        lightFilesModel: {
          beforeLuminance: '',
          direction: '2'
        },
        //潍坊光强配置文件
        lightFilesModelWei: {
          beforeLuminance: '',
          direction: '1'
        },
        lightFormItems: [{
          lightParagraph: '',
          beforeLuminance: '',
        }],
        lightFormItemsWei: [{
          lightParagraph: '',
          beforeLuminance: '',
        }],
        tunnelDisabled: true,
        //光照查询
        queryParamsLight: {},
        //光照查询
        queryParamsLight1: {},
        //光 x  光强
        XDataLight: [],
        //光 y  时间
        yDataLight: [],
        //光 y  时间
        yDataLight1: [],
        //光 y  时间
        yDataLight2: [],

        //光 x  光强
        XDataLightOne: [],
        //光 y  时间
        yDataLightOne: [],
        //光 y  时间
        yDataLightOne1: [],
        //光 y  时间
        yDataLightOne2: [],
        userQueryParams: {
          userName: this.$store.state.user.name,
        },
        paramsData: {},
        tunnelData: [],
        //隧道方向
        lightDirectionOptions: [{
            dictLabel: "济南方向",
            dictValue: "2"
          },
          {
            dictLabel: "潍坊方向",
            dictValue: "1"
          }
        ], //方向列表
        catDirectionOptions: [{
            dictLabel: "上行",
            dictValue: "1"
          },
          {
            dictLabel: "下行",
            dictValue: "2"
          }
        ],
        //照明段
        lightParagraphList: [{
            dictLabel: "棚洞段",
            dictValue: "棚洞段"
          },
          {
            dictLabel: "入口段",
            dictValue: "入口段"
          },
          {
            dictLabel: "过渡段",
            dictValue: "过渡段"
          },
          {
            dictLabel: "基本段",
            dictValue: "基本段"
          },
          {
            dictLabel: "出口段",
            dictValue: "出口段"
          },
        ],
        directionOptions: [],
        mathNum: 2000,
        mathNum1: 2000,
      }
    },
    mounted() {},
    created() {},
    methods: {
      closeLogin() {
        this.lightFilesModelWei = {
          beforeLuminance: ''
        }
        this.lightFilesModel = {
          beforeLuminance: ''
        }
        this.lightFormItems = [{
          lightParagraph: '',
          beforeLuminance: '',
        }]
        this.lightFormItemsWei = [{
          lightParagraph: '',
          beforeLuminance: '',
        }]
        this.$emit("selectLightStrategyList");
        this.visibleSync = !this.visibleSync
      },
      // 获取济南光照照图表数据信息
      initLoginChart() {
        let newPromise = new Promise((resolve) => {
          resolve();
        });
        //然后异步执行echarts的初始化函数
        newPromise.then(() => {
          this.LoginMychart = echarts.init(this.$refs.loginChart);
          var option = {
            tooltip: {
              trigger: "axis",
            },
            title: {
              text: '济南方向洞外亮度',
              textStyle: {
                color: '#05AAFD', // 设置标题颜色
              },
            },
            legend: {
              show: true,
              icon: "roundRect",
              itemWidth: 14,
              itemHeight: 8,
              x: "center",
              data: ["历史光强", "历史光强", "今天光强"],
              textStyle: {
                //图例文字的样式
                color: "#00AAF2",
                fontSize: 12,
              },
              top: "20",
            },
            grid: {
              top: "30%",
              bottom: "18%",
              left: "14%",
              right: "12%",
            },
            xAxis: {
              type: "category",
              boundaryGap: true,
              data: this.XDataLight,
              axisLabel: {
                textStyle: {
                  color: "#00AAF2",
                  fontSize: 10,
                },
              },
              axisLine: {
                show: true,
                lineStyle: {
                  color: "#386D88",
                },
              },
            },
            yAxis: {
              type: "value",
              name: "光强",
              nameTextStyle: {
                color: "#FFB500",
                fontSize: 10,
              },
              axisLabel: {
                textStyle: {
                  color: "#00AAF2",
                  fontSize: 10,
                },
              },
              axisLine: {
                show: false,
              },
              axisTick: {
                show: false,
              },
              min: 0, // 设置 Y 轴的默认最小值
              max: this.mathNum, // 设置 Y 轴的默认最大值
              splitLine: {
                show: true,
                lineStyle: {
                  //分割线的样式
                  color: ["rgba(0,0,0,0.3)"],
                  width: 1,
                  type: "dashed",
                },
              },
            },
            series: [{
                name: "历史光强",
                type: "line",
                color: "#787FFE",
                symbol: "circle",
                symbolSize: [7, 7],
                itemStyle: {
                  normal: {
                    borderColor: "white",
                  },
                },
                smooth: true,
                data: this.yDataLight,
              },
              {
                name: "历史光强",
                type: "line",
                color: "#00DCA2",
                symbol: "circle",
                symbolSize: [7, 7],
                itemStyle: {
                  normal: {
                    borderColor: "white",
                  },
                },
                smooth: true,
                data: this.yDataLight1,
              },
              {
                name: "今天光强",
                type: "line",
                color: "#FFB200",
                symbol: "circle",
                symbolSize: [7, 7],
                itemStyle: {
                  normal: {
                    borderColor: "white",
                  },
                },
                smooth: true,
                data: this.yDataLight2,
              },
            ],
          };

          this.LoginMychart.setOption(option);
          window.addEventListener("resize", function () {
            this.LoginMychart.resize();
          });
        });
      },
      // 获取潍坊光照照图表数据信息
      initLoginChart1() {
        let newPromise = new Promise((resolve) => {
          resolve();
        });
        //然后异步执行echarts的初始化函数
        newPromise.then(() => {
          this.LoginMychart1 = echarts.init(this.$refs.loginChart1);
          var option = {
            tooltip: {
              trigger: "axis",
            },
            title: {
              text: '潍坊方向洞外亮度',
              textStyle: {
                color: '#05AAFD', // 设置标题颜色
              },
            },
            legend: {
              show: true,
              icon: "roundRect",
              itemWidth: 14,
              itemHeight: 8,
              x: "center",
              data: ["历史光强", "历史光强", "今天光强"],
              textStyle: {
                //图例文字的样式
                color: "#00AAF2",
                fontSize: 12,
              },
              top: "20",
            },
            grid: {
              top: "30%",
              bottom: "18%",
              left: "14%",
              right: "12%",
            },
            xAxis: {
              type: "category",
              boundaryGap: true,
              data: this.XDataLightOne,
              axisLabel: {
                textStyle: {
                  color: "#00AAF2",
                  fontSize: 10,
                },
              },
              axisLine: {
                show: true,
                lineStyle: {
                  color: "#386D88",
                },
              },
            },
            yAxis: {
              type: "value",
              name: "光强",
              nameTextStyle: {
                color: "#FFB500",
                fontSize: 10,
              },
              axisLabel: {
                textStyle: {
                  color: "#00AAF2",
                  fontSize: 10,
                },
              },
              axisLine: {
                show: false,
              },
              axisTick: {
                show: false,
              },
              min: 0, // 设置 Y 轴的默认最小值
              max: this.mathNum1, // 设置 Y 轴的默认最大值
              splitLine: {
                show: true,
                lineStyle: {
                  //分割线的样式
                  color: ["rgba(0,0,0,0.3)"],
                  width: 1,
                  type: "dashed",
                },
              },

            },
            series: [{
                name: "历史光强",
                type: "line",
                color: "#787FFE",
                symbol: "circle",
                symbolSize: [7, 7],
                itemStyle: {
                  normal: {
                    borderColor: "white",
                  },
                },
                smooth: true,
                data: this.yDataLightOne,
              },
              {
                name: "历史光强",
                type: "line",
                color: "#00DCA2",
                symbol: "circle",
                symbolSize: [7, 7],
                itemStyle: {
                  normal: {
                    borderColor: "white",
                  },
                },
                smooth: true,
                data: this.yDataLightOne1,
              },
              {
                name: "今天光强",
                type: "line",
                color: "#FFB200",
                symbol: "circle",
                symbolSize: [7, 7],
                itemStyle: {
                  normal: {
                    borderColor: "white",
                  },
                },
                smooth: true,
                data: this.yDataLightOne2,
              },
            ],
          };

          this.LoginMychart1.setOption(option);
          window.addEventListener("resize", function () {
            this.LoginMychart1.resize();
          });
        });
      },
      //光强照明配置查询
      lightListConfig(queryParams) {
        // debugger
        listConfig(queryParams).then((response) => {
          // debugger
          if (response.rows.length > 0) {
            let rows = response.rows[0];
            this.lightFilesModel.id = rows.id
            this.lightFilesModel.isStatus = rows.isStatus.toString()
            this.lightFormItems = []
            if (!!rows.beforeLuminance) {
              let jsonArray = JSON.parse(rows.beforeLuminance);
              if (!!jsonArray) {
                for (let index = 0; index < jsonArray.length; index++) {
                  let lightFormItems = {
                    lightParagraph: jsonArray[index].lightParagraph,
                    beforeLuminance: jsonArray[index].beforeLuminance,
                  }
                  this.lightFormItems.push(lightFormItems)
                }
              } else {
                this.lightFormItems = [{
                  lightParagraph: '',
                  beforeLuminance: '',
                }]
              }
            } else {
              this.lightFormItems = [{
                lightParagraph: '',
                beforeLuminance: '',
              }]
            }
          } else {
            this.lightFilesModel.id = ''
            this.lightFilesModel.beforeLuminance = ''
          }
          this.$forceUpdate();
        })
      },
      //潍坊光强照明配置查询
      lightListConfigWei(queryParams) {
        // debugger
        listConfig(queryParams).then((response) => {
          // debugger
          if (response.rows.length > 0) {
            let rows = response.rows[0];
            this.lightFilesModelWei.id = rows.id
            this.lightFilesModelWei.isStatus = rows.isStatus.toString()
            this.lightFormItemsWei = []
            if (!!rows.beforeLuminance) {
              let jsonArray = JSON.parse(rows.beforeLuminance);
              if (!!jsonArray) {
                for (let index = 0; index < jsonArray.length; index++) {
                  let lightFormItems = {
                    lightParagraph: jsonArray[index].lightParagraph,
                    beforeLuminance: jsonArray[index].beforeLuminance,
                  }
                  this.lightFormItemsWei.push(lightFormItems)
                }
              } else {
                this.lightFormItemsWei = [{
                  lightParagraph: '',
                  beforeLuminance: '',
                }]
              }
            } else {
              this.lightFormItemsWei = [{
                lightParagraph: '',
                beforeLuminance: '',
              }]
            }
          } else {
            this.lightFilesModelWei.id = ''
            this.lightFilesModelWei.beforeLuminance = ''
          }
          this.$forceUpdate();
        })
      },
      //获取光亮的数据
      getEchartsData(row, type) {
        debugger
        //清空上次数据
        this.XDataLight = []
        this.yDataLight = []
        this.yDataLight1 = []
        this.yDataLight2 = []

        //光 x  光强
        this.XDataLightOne = []
        //光 y  时间
        this.yDataLightOne = []
        //光 y  时间
        this.yDataLightOne1 = []
        //光 y  时间
        this.yDataLightOne2 = []

        let querysParamsTab = {}
        if (row == null && type == null) {
          this.tunnelDisabled = false
          this.$nextTick(() => {
            this.initLoginChart();
            this.initLoginChart1();
            return
          });
          return
        }
        if (!!row) {
          this.lightFilesModel.tunnelId = row.tunnelId
          this.lightFilesModelWei.tunnelId = row.tunnelId
        }
        querysParamsTab.tunnelId = this.lightFilesModel.tunnelId
        querysParamsTab.pageNum = 1
        querysParamsTab.pageSize = 999
        //类型 外部测光设备
        querysParamsTab.searchValue = 4
        //刷新数据
        if (type == "refresh") {
          this.lightChangeEvent()
          this.lightChangeEventWei()
        }
        this.lightFilesModel.direction = "2"
        this.lightFilesModelWei.direction = "1"
        //根据隧道id获取相应外部测光设备
        dataDevicesLogInfoList(this.addDateRange(querysParamsTab)).then(
          (response) => {
            //返回设备
            let listTab = response.rows;
            if (listTab.length > 0) {
              if (!!row) { //编辑打开
                //济南
                this.lightFilesModel.direction = "2"
                let queryParams = {
                  tunnelName: row.tunnelName,
                  pageSize: 2,
                  pageNum: 1,
                  direction: this.lightFilesModel.direction,
                  modeType: 0
                }
                //查询出原有配置并且显示
                this.lightListConfig(queryParams)

                //潍坊
                this.lightFilesModelWei.direction = "1"
                let queryParamsWei = {
                  tunnelName: row.tunnelName,
                  pageSize: 2,
                  pageNum: 1,
                  direction: this.lightFilesModelWei.direction,
                  modeType: 0
                }
                //查询出原有配置并且显示
                this.lightListConfigWei(queryParamsWei)
              }
              this.queryParamsLight.direction = this.lightFilesModel.direction
              this.queryParamsLight1.direction = this.lightFilesModel.direction
              //济南
              let rows = listTab.find(item => item.direction == "济南方向")
              //设备id
              this.queryParamsLight.deviceId = rows.eqId

              //潍坊
              let rows1 = listTab.find(item => item.direction == "潍坊方向")
              //设备id
              this.queryParamsLight1.deviceId = rows1.eqId


              this.queryParamsLight.pageNum = 1;
              this.queryParamsLight.pageSize = 10;
              this.queryParamsLight.searchValue = 4;

              this.queryParamsLight1.pageNum = 1;
              this.queryParamsLight1.pageSize = 10;
              this.queryParamsLight1.searchValue = 4;
              // 获取当前日期
              let currentDate = new Date();

              // 获取前天日期
              let twoDaysAgo = new Date();
              twoDaysAgo.setDate(currentDate.getDate() - 2);

              // 获取大前天日期
              let threeDaysAgo = new Date();
              threeDaysAgo.setDate(currentDate.getDate() - 1);

              let ds = this.getdate(currentDate) //当前
              let ds1 = this.getdate(twoDaysAgo) //前天
              let ds2 = this.getdate(threeDaysAgo) //昨天
              // debugger
              let todayDate = ds[0].split(" ")[0]



              let ds3 = []
              ds3.push(ds1[0])
              ds3.push(ds[1])
              dataLogInfoLineList(
                this.addDateRange(this.queryParamsLight, ds3)
              ).then((response) => {
                // debugger
                let list1 = response.rows;
                list1 = this.lightDatafiler(list1)
                //重新组装数据
                // for (let i=list1.length-1;i>=0;i--){
                for (let i = 0; i < list1.length; i++) {
                  if(list1[i].createTime.indexOf(ds2[0].split(" ")[0])>-1){
                    this.yDataLight1.push(list1[i].data)
                  }
                  if(list1[i].createTime.indexOf(ds1[0].split(" ")[0])>-1){
                    this.yDataLight.push(list1[i].data)
                  }
                  if(list1[i].createTime.indexOf(ds[0].split(" ")[0])>-1){
                    this.yDataLight2.push(list1[i].data)
                    this.XDataLight.push(list1[i].createTime)
                  }
                }
                let sd = [2,1,4,45,32,2]
                this.XDataLight = this.XDataLight.sort()
               //   this.yDataLight2.reverse()
               //   this.yDataLight.reverse()
               // this.yDataLight1.reverse()
                // this.XDataLight = this.generateTimeList(todayDate)
                this.XDataLightOne = this.XDataLight

                setTimeout(() => {
                  this.$nextTick(() => {

                    let mathList = []
                    let yDataLight1 = JSON.parse(JSON.stringify(this.yDataLight))
                    if (yDataLight1.length > 0) {
                      var max = yDataLight1.sort(function (a, b) {
                        return b - a;
                      })[0];
                      mathList.push(max)
                    }
                    let yDataLight2 = JSON.parse(JSON.stringify(this.yDataLight1))
                    if (yDataLight2.length > 0) {
                      var max1 = yDataLight2.sort(function (a, b) {
                        return b - a;
                      })[0];
                      mathList.push(max1)
                    }
                    let yDataLight3 = JSON.parse(JSON.stringify(this.yDataLight2))
                    if (yDataLight3.length > 0) {
                      var max2 = yDataLight3.sort(function (a, b) {
                        return b - a;
                      })[0];
                      mathList.push(max2)
                    }
                    var max3 = mathList.sort(function (a, b) {
                      return b - a;
                    })[0];
                    if (!!max3) {
                      this.mathNum = max3
                    }
                    this.initLoginChart();
                  });
                }, 500);
              });



              dataLogInfoLineList(
                this.addDateRange(this.queryParamsLight1, ds3)
              ).then((response) => {
                // debugger
                let list1 = response.rows;
                list1 = this.lightDatafiler(list1)
                //重新组装数据
                for (let i = 0; i < list1.length; i++) {
                  if(list1[i].createTime.indexOf(ds2[0].split(" ")[0])>-1){
                    this.yDataLightOne1.push(list1[i].data)
                  }
                  if(list1[i].createTime.indexOf(ds1[0].split(" ")[0])>-1){
                    this.yDataLightOne.push(list1[i].data)
                  }
                  if(list1[i].createTime.indexOf(ds[0].split(" ")[0])>-1){
                    this.yDataLightOne2.push(list1[i].data)
                  }
                }
                list1 = this.lightDatafiler(this.yDataLightOne2)
                //今天

                // debugger
                setTimeout(() => {
                  this.$nextTick(() => {
                    let mathList = []
                    let yDataLightOne1 = JSON.parse(JSON.stringify(this.yDataLightOne))
                    if (yDataLightOne1.length > 0) {
                      var max = yDataLightOne1.sort(function (a, b) {
                        return b - a;
                      })[0];
                      mathList.push(max)
                    }
                    let yDataLightOne2 = JSON.parse(JSON.stringify(this.yDataLightOne1))
                    if (yDataLightOne2.length > 0) {
                      var max1 = yDataLightOne2.sort(function (a, b) {
                        return b - a;
                      })[0];
                      mathList.push(max1)
                    }
                    let yDataLightOne3 = JSON.parse(JSON.stringify(this.yDataLightOne2))
                    if (yDataLightOne3.length > 0) {
                      var max2 = yDataLightOne3.sort(function (a, b) {
                        return b - a;
                      })[0];
                      mathList.push(max2)
                    }
                    var max3 = mathList.sort(function (a, b) {
                      return b - a;
                    })[0];
                    console.log(max3)
                    if (!!max3) {
                      this.mathNum1 = max3
                    }

                    this.initLoginChart1();
                  });
                }, 500);
              });
            }
          }
        );
      },
      generateTimeList(today) {
        let timeList = [];
        // debugger
        let date = new Date();
        date.setHours(0, 0, 0, 0); // 设置时间为凌晨00:00
        while (date.getHours() < 24) {
          timeList.push(today + " " + this.formatTime(date.getHours(), date.getMinutes()));
          if (this.formatTime(date.getHours(), date.getMinutes()) == "00:10") {
            break
          }
          date.setMinutes(date.getMinutes() + 50);
        }
        return timeList;
      },
      formatTime(hours, minutes) {
        let formattedHours = hours.toString().padStart(2, '0');
        let formattedMinutes = minutes.toString().padStart(2, '0');
        return formattedHours + ':' + formattedMinutes;
      },
      lightDatafiler(list1) {
        list1.sort(function(a, b) {
          return new Date(a.createTime) - new Date(b.createTime);
        });
        let num = 0
        // 过滤后的列表
        const filteredList = list1.filter((entity, index) => {
          // 检查当前实体时间是否满足每隔5分钟的条件
          if (index === 0) {
            // 第一个实体始终保留
            return true;
          } else {
            const prevTime = new Date(list1[index - num].createTime);
            const currTime = new Date(list1[index].createTime);
            const diffInMinutes = (currTime - prevTime) / (1000 * 60); // 计算相邻实体的时间差，单位为分钟

            if (diffInMinutes >= 5) {
              num = 0
            }else{
              num =num+1
            }
            return diffInMinutes >= 5; // 判断时间差是否大于等于5分钟
          }
        });
        return filteredList;
      },
      //光强 修改隧道名称查看不同隧道 光强照明配置
      lightChangeEvent(indextabs) {
        debugger

        console.log(this.lightFilesModel.tunnelId,this.lightFilesModel.direction,"indextabs")
        if (!!this.lightFilesModel.tunnelId && !!this.lightFilesModel.direction) {
          let tunnel = this.tunnelData.find(tunnelItem => tunnelItem.tunnelId == this.lightFilesModel.tunnelId)
          // debugger
          let queryParams = {
            tunnelName: tunnel.tunnelName,
            pageSize: 1,
            pageNum: 2,
            direction: this.lightFilesModel.direction,
            modeType: 0
          }
          this.lightFilesModelWei.tunnelId = this.lightFilesModel.tunnelId
          this.lightListConfig(queryParams)
          this.$forceUpdate()
          // setTimeout(() => {
          //   this.$nextTick(() => {
          //     //获取车辆数据
          //     this.refreshlightForm();
          //   });
          // }, 10);
        }
      },

      //光强 修改隧道名称查看不同隧道 光强照明配置
      lightChangeEventWei(indextabs) {
        if (!!this.lightFilesModelWei.tunnelId && !!this.lightFilesModelWei.direction) {
          let tunnel = this.tunnelData.find(tunnelItem => tunnelItem.tunnelId == this.lightFilesModelWei.tunnelId)

          // debugger
          let queryParams = {
            tunnelName: tunnel.tunnelName,
            pageSize: 1,
            pageNum: 2,
            direction: this.lightFilesModelWei.direction,
            modeType: 0
          }
          this.lightFilesModel.tunnelId = this.lightFilesModelWei.tunnelId
          this.lightListConfigWei(queryParams)
          this.$forceUpdate()
          // setTimeout(() => {
          //   this.$nextTick(() => {
          //     //获取车辆数据
          //     this.refreshlightFormWei();
          //   });
          // }, 10);
        }
      },
      /** 查询隧道列表 */
      async getTunnels() {
        if (this.$cache.local.get("manageStation") == "1") {
          this.paramsData.tunnelId = this.$cache.local.get("manageStationSelect");
        }
        console.log(this.paramsData)
        debugger
        await listDepId(this.paramsData).then((response) => {
          this.tunnelData = response.rows;
          console.log(this.tunnelData, "隧道列表");
        });
      },
      //查询方向
      async getDirection() {
        await this.getDicts("sd_strategy_direction").then((response) => {
          this.directionOptions = response.data;
        });
      },
      //济南光照下修比例保存
      submitlightForm() {
        if (!this.lightFilesModel.tunnelId) {
          this.$modal.msgWarning("请选择隧道名称");
          return
        }
        for (let item of this.lightFormItems) {
          if (!item.lightParagraph) {
            this.$modal.msgWarning("请选择设备");
            return
          } else if (!item.beforeLuminance) {
            this.$modal.msgWarning("请输入下修比例");
            return
          }
        }
        // debugger
        //模式1 车辆 0光强
        this.lightFilesModel.modeType = 0
        //下修比例

        this.lightFilesModel.beforeLuminance = JSON.stringify(this.lightFormItems)
        if (!!this.lightFilesModel.id) {
          updateConfig(this.lightFilesModel).then((response) => {
            this.$modal.msgSuccess("修改成功");
          });
        } else {
          addConfig(this.lightFilesModel).then((response) => {
            // debugger
            this.lightFilesModel.id = response.data.id
            this.$modal.msgSuccess("新增成功");
          });
        }
      },
      //潍坊光照下修比例保存
      submitlightFormWei() {
        if (!this.lightFilesModelWei.tunnelId) {
          this.$modal.msgWarning("请选择隧道名称");
          return
        }
        for (let item of this.lightFormItemsWei) {
          if (!item.lightParagraph) {
            this.$modal.msgWarning("请选择设备");
            return
          } else if (!item.beforeLuminance) {
            this.$modal.msgWarning("请输入下修比例");
            return
          }
        }
        // debugger
        //模式1 车辆 0光强
        this.lightFilesModelWei.modeType = 0
        this.lightFilesModelWei.beforeLuminance = JSON.stringify(this.lightFormItemsWei)
        if (!!this.lightFilesModelWei.id) {
          updateConfig(this.lightFilesModelWei).then((response) => {
            this.$modal.msgSuccess("修改成功");
          });
        } else {
          addConfig(this.lightFilesModelWei).then((response) => {
            // debugger
            this.lightFilesModelWei.id = response.data.id
            this.$modal.msgSuccess("新增成功");
          });
        }
      },
      //刷新光照图表
      refreshlightForm() {
        console.log(this.lightFilesModel)
        this.getEchartsData(null, "refresh")
      },
      //刷新光照图表
      refreshlightFormWei() {
        this.getEchartsData(null, "refresh")
      },
      //生成日期
      getdate(currentDate) {

        // 生成日期字符串

        let year = currentDate.getFullYear();
        let month = String(currentDate.getMonth() + 1).padStart(2, '0');
        let day = String(currentDate.getDate()).padStart(2, '0');
        let formattedDate = year + '-' + month + '-' + day;

        return [formattedDate + ' 00:00:00', formattedDate + ' 23:59:59'];

      },
      //生成日期
      getCatdate(currentDate) {

        // 生成日期字符串

        let year = currentDate.getFullYear();
        let month = String(currentDate.getMonth() + 1).padStart(2, '0');
        let day = String(currentDate.getDate()).padStart(2, '0');
        let formattedDate = year + '-' + month + '-' + day;

        return [formattedDate + ' 00:00:00', formattedDate + ' 23:59:59'];

      },
      deleteHandleUpdate(index) {
        if (this.lightFormItems.length == 1) {
          return this.$modal.msgWarning("至少保留一条执行操作");
        }
        this.lightFormItems.splice(index, 1)
        // debugger
      },
      addHandleUpdate(index) {
        // debugger
        let form = {
          lightParagraph: '',
          beforeLuminance: '',
        }
        this.lightFormItems.push(form)
      },
      deleteHandleUpdateWei(index) {
        if (this.lightFormItemsWei.length == 1) {
          return this.$modal.msgWarning("至少保留一条执行操作");
        }
        this.lightFormItemsWei.splice(index, 1)
        // debugger
      },
      addHandleUpdateWei(index) {
        // debugger
        let form = {
          lightParagraph: '',
          beforeLuminance: '',
        }
        this.lightFormItemsWei.push(form)
      },
    },
    props: {
      show: Boolean,
      tunnelItem: {
        type: Object
      },
      tunnelList: {
        type: Array
      }
    },
    watch: {
      show: {
        async handler(newValue, oldValue) {
          // debugger
          this.visibleSync = !this.visibleSync
          // //查询主策略
          // this.selectListStrategy()
          //查询隧道列表
          await this.getTunnels()
          //查询方向
          await this.getDirection()

        }
      }
    }
  }

</script>

<style scoped >
  .el-form--inline .el-form-item{
    margin-right: 0;
  }
  .el-form-item-data {
    .el-form-item__content {
      width: calc(100% - 70px);
    }

    /* .el-form-item__label {
      width: 70px !important;
    } */
  }

  .el-form-item-data-type {
    .el-form-item__content {
      width: 30%;
    }

    /* .el-form-item__label {
      width: 70px !important;
    } */
  }

  .el-form-item-direction {
    .el-form-item__content {
      width: 60%;
    }

    /* .el-form-item__label {
      width: 70px !important;
    } */
  }

  .el-form-item-direction-Item {

    .el-form-item__content {
      width: calc(100% - 70px);
    }

  }

  .buttonBox {
    display: flex;
    justify-content: space-around;
    align-items: center;
    height: 36px;
    width: 100%;
    .delete,
    .add {
      width: 16px;
      height: 16px;
      background-position: center;
      background-repeat: no-repeat;
      background-size: 100%;
      border: none;
      background-color: transparent;
    }

    .delete {
      background-image: url(../../../../assets/icons/delete.png);
    }

    .add {
      background-image: url(../../../../assets/icons/add.png);
    }
  }

</style>
