<!--
 * @Author: your name
 * @Date: 2024-05-29 09:13:51
 * @LastEditTime: 2024-05-31 16:26:47
 * @LastEditors: bogon
 * @Description: In User Settings Edit
 * @FilePath: /performance-test/src/views/performance/components/analysisEvent.vue
-->
<template>
  <div>
    <el-form ref="form" :model="form" label-width="120px">
      <el-row type="flex" justify="end">
        <el-col :span="5">
          <el-form-item class="searchFrom">
            <el-button type="primary" @click="onSubmit" size="small"
              >分析</el-button
            >
            <el-button size="small">重置</el-button>
            <i @click="drawer = true" class="el-icon-setting"></i>
          </el-form-item>
        </el-col>
      </el-row>
      <el-collapse v-model="activeNames">
        <el-collapse-item title="基础筛选：" name="1">
          <el-row class="flex-wrap-row" :gutter="5">
            <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="5">
              <el-form-item
                label="分析类型"
                v-if="checkedCities.find((item) => item === '分析类型')"
              >
                <el-select
                  v-model="form.region"
                  placeholder="请选择分析类型"
                  size="small"
                >
                  <el-option label="类型一" value="shanghai"></el-option>
                  <el-option label="类型二" value="beijing"></el-option>
                </el-select> </el-form-item
            ></el-col>
            <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="5">
              <el-form-item
                label="机组编号"
                v-if="checkedCities.find((item) => item === '机组编号')"
              >
                <el-select
                  multiple
                  v-model="form.region"
                  placeholder="请选择机组编号"
                  size="small"
                >
                  <el-option label="类型一" value="shanghai"></el-option>
                  <el-option label="类型二" value="beijing"></el-option>
                </el-select> </el-form-item
            ></el-col>
            <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="5">
              <el-form-item
                label="滤除月份"
                v-if="checkedCities.find((item) => item === '滤除月份')"
              >
                <el-date-picker
                  width="200"
                  size="small"
                  type="dates"
                  v-model="value4"
                  placeholder="选择一个或多个日期"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="9">
              <el-form-item
                label="分析时间"
                v-if="checkedCities.find((item) => item === '分析时间')"
              >
                <el-date-picker
                  size="small"
                  v-model="value1"
                  type="daterange"
                  range-separator="至"
                  start-placeholder="开始日期"
                  end-placeholder="结束日期"
                >
                </el-date-picker> </el-form-item
            ></el-col>
          </el-row>
        </el-collapse-item>
        <el-collapse-item
          title="SACAD数据测点过滤设置："
          name="2"
          v-if="checkedCities.find((item) => item === 'SCADA数据过滤')"
        >
          <el-row :gutter="5">
            <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
              <el-form-item label="风速过滤">
                <div class="demo-input-suffix">
                  <el-input
                    type="number"
                    size="small"
                    placeholder="最小值"
                    v-model="input1"
                  >
                  </el-input>
                  <el-input
                    type="number"
                    size="small"
                    placeholder="最大值"
                    v-model="input2"
                  >
                  </el-input>
                </div>
              </el-form-item>
            </el-col>
            <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
              <el-form-item label="桨距角过滤">
                <div class="demo-input-suffix">
                  <el-input
                    type="number"
                    size="small"
                    placeholder="最小值"
                    v-model="input1"
                  >
                  </el-input>
                  <el-input
                    type="number"
                    size="small"
                    placeholder="最大值"
                    v-model="input2"
                  >
                  </el-input>
                </div>
              </el-form-item>
            </el-col>
            <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
              <el-form-item label="有功功率过滤">
                <div class="demo-input-suffix">
                  <el-input
                    type="number"
                    size="small"
                    placeholder="最小值"
                    v-model="input1"
                  >
                  </el-input>
                  <el-input
                    type="number"
                    size="small"
                    placeholder="最大值"
                    v-model="input2"
                  >
                  </el-input>
                </div>
              </el-form-item>
            </el-col>
            <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
              <el-form-item label="发电机转速过滤">
                <div class="demo-input-suffix">
                  <el-input
                    type="number"
                    size="small"
                    placeholder="最小值"
                    v-model="input1"
                  >
                  </el-input>
                  <el-input
                    type="number"
                    size="small"
                    placeholder="最大值"
                    v-model="input2"
                  >
                  </el-input>
                </div>
              </el-form-item>
            </el-col>
          </el-row>
        </el-collapse-item>
        <el-collapse-item
          title="图像轴系设置："
          name="3"
          v-if="checkedCities.find((item) => item === '图像设置')"
        >
          <el-row :gutter="5">
            <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
              <el-form-item label="发电机转矩">
                <div class="demo-input-suffix">
                  <el-input
                    type="number"
                    size="small"
                    placeholder="步长"
                    v-model="input1"
                  >
                  </el-input>
                  <el-input
                    type="number"
                    size="small"
                    placeholder="最小值"
                    v-model="input2"
                  >
                  </el-input>
                  <el-input
                    type="number"
                    size="small"
                    placeholder="最大值"
                    v-model="input2"
                  >
                  </el-input>
                </div>
              </el-form-item>
            </el-col>
            <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
              <el-form-item label="风能利用系数">
                <div class="demo-input-suffix">
                  <el-input
                    type="number"
                    size="small"
                    placeholder="步长"
                    v-model="input1"
                  >
                  </el-input>
                  <el-input
                    type="number"
                    size="small"
                    placeholder="最小值"
                    v-model="input2"
                  >
                  </el-input>
                  <el-input
                    type="number"
                    size="small"
                    placeholder="最大值"
                    v-model="input2"
                  >
                  </el-input>
                </div>
              </el-form-item>
            </el-col>
            <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
              <el-form-item label="叶尖转速比">
                <div class="demo-input-suffix">
                  <el-input
                    type="number"
                    size="small"
                    placeholder="步长"
                    v-model="input1"
                  >
                  </el-input>
                  <el-input
                    type="number"
                    size="small"
                    placeholder="最小值"
                    v-model="input2"
                  >
                  </el-input>
                  <el-input
                    type="number"
                    size="small"
                    placeholder="最大值"
                    v-model="input2"
                  >
                  </el-input>
                </div>
              </el-form-item>
            </el-col>
            <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
              <el-form-item label="有功功率">
                <div class="demo-input-suffix">
                  <el-input
                    type="number"
                    size="small"
                    placeholder="步长"
                    v-model="input1"
                  >
                  </el-input>
                  <el-input
                    type="number"
                    size="small"
                    placeholder="最小值"
                    v-model="input2"
                  >
                  </el-input>
                  <el-input
                    type="number"
                    size="small"
                    placeholder="最大值"
                    v-model="input2"
                  >
                  </el-input>
                </div>
              </el-form-item>
            </el-col>
            <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
              <el-form-item label="桨距角">
                <div class="demo-input-suffix">
                  <el-input
                    type="number"
                    size="small"
                    placeholder="步长"
                    v-model="input1"
                  >
                  </el-input>
                  <el-input
                    type="number"
                    size="small"
                    placeholder="最小值"
                    v-model="input2"
                  >
                  </el-input>
                  <el-input
                    type="number"
                    size="small"
                    placeholder="最大值"
                    v-model="input2"
                  >
                  </el-input>
                </div>
              </el-form-item>
            </el-col>
          </el-row>
        </el-collapse-item>
      </el-collapse>
    </el-form>
    <el-card shadow="always" class="box-card">
      <el-row>
        <el-col :span="12"
          ><div class="left">
            <div>
              <span>机组编号：</span>
              <el-select v-model="value" placeholder="请选择" size="small">
                <el-option
                  v-for="item in options"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                >
                </el-option>
              </el-select>
            </div>
            <div>1.额定功率（Rated Power）：指发电机组在标准工况下</div>
            <div>2.发电机类型（Generator Type）:</div>
            <div>3.经度（Longitude）：</div>
            <div>4.维度（Dimensionality）：</div>
            <div>5.海拔高度（Altitude）：</div>
            <div>6.并网时间（Grid connection time）：</div>
            <div>7.是否标杆（Benchmarking or not）：</div>
            <div>8.地理位置（Location）：不同地理位置的气候条件</div>
            <div>
              9.供应商信息（Manufacturer
              Information）：制造商的信誉、技术水平和售后
            </div>
            <div>
              10.维护需求（Maintenance Requirements）：风力发电机组需要定期
            </div>
            <div>11.预期寿命（Expected Lifetime）：风力发电机组的设计寿命</div>
          </div>
        </el-col>
        <el-col :span="12">
          <div class="right">
            <iframe src="/html/A01.html" frameborder="0"></iframe>
          </div>
        </el-col>
      </el-row>
    </el-card>
    <el-drawer
      title="偏好设置"
      :visible.sync="drawer"
      :direction="direction"
      :before-close="handleClose"
      class="drawerOption"
    >
      <el-row>
        <el-col :span="12"
          ><div class="drawerLeft">
            <div style="text-align: center; font-size: 16px">常用功能设置</div>
            <el-checkbox
              :indeterminate="isIndeterminate"
              v-model="checkAll"
              @change="handleCheckAllChange"
              >全选</el-checkbox
            >
            <div style="margin: 15px 0"></div>
            <el-checkbox-group
              v-model="checkedCities"
              @change="handleCheckedCitiesChange"
            >
              <el-checkbox v-for="city in cities" :label="city" :key="city">{{
                city
              }}</el-checkbox>
              <el-checkbox
                label="SCADA数据过滤"
                key="SCADA数据过滤"
              ></el-checkbox>
              <div class="checkFromRow">
                <el-row>
                  <el-col :span="12">发电机转速测点</el-col>
                  <el-col :span="12">桨距角值测点</el-col>
                  <el-col :span="12">有功功率测点</el-col>
                  <el-col :span="12">风速速度测点</el-col>
                </el-row>
              </div>

              <el-checkbox label="图像设置" key="图像设置"></el-checkbox>
              <div class="checkFromRow">
                <el-row>
                  <el-col :span="12">发电机转矩轴系</el-col>
                  <el-col :span="12">桨距角轴系</el-col>
                  <el-col :span="12">叶尖速比轴系</el-col>
                  <el-col :span="12">有功功率轴系</el-col>
                  <el-col :span="12">发电机转矩轴系</el-col>
                </el-row>
              </div>
            </el-checkbox-group>
          </div></el-col
        >
        <el-col :span="12">
          <div class="drawerRight">
            <div style="text-align: center; font-size: 16px">已选中功能</div>
            <ul>
              <li v-for="func in checkedCities" :key="func">
                {{ func }}
                <el-button
                  type="text"
                  icon="el-icon-delete"
                  @click="removeFunction(func)"
                ></el-button>
              </li>
            </ul></div
        ></el-col>
      </el-row>
      <div class="demo-drawer__footer">
        <el-button @click="handleClose">取 消</el-button>
        <el-button type="primary" @click="handleClose">{{ "确 定" }}</el-button>
      </div>
    </el-drawer>
  </div>
</template>
<script>
export default {
  data() {
    return {
      value4: "",
      value1: "",
      form: {},
      activeNames: ["1", "2", "3"],
      checkAll: false,
      checkedCities: ["分析类型", "分析时间", "滤除月份", "机组编号"],
      cities: ["分析类型", "分析时间", "滤除月份", "机组编号"],
      isIndeterminate: true,
      drawer: false,
      direction: "rtl",
      value: "",
      options: [],
      editableTabsValue: "2",
      editableTabs: [
        {
          title: "Tab 1",
          name: "1",
          content: "Tab 1 content",
        },
        {
          title: "Tab 2",
          name: "2",
          content: "Tab 2 content",
        },
      ],
      form: {
        name: "",
        region: "",
        date1: "",
        date2: "",
        delivery: false,
        type: [],
        resource: "",
        desc: "",
      },
      formData: { content: "<p>Hello, Tinymce!</p>" },
      tabIndex: 2,
    };
  },
  methods: {
    handleCheckAllChange(val) {
      this.checkedCities = val
        ? [...this.cities, "SCADA数据过滤", "图像设置"]
        : [];
      this.isIndeterminate = false;
    },
    handleCheckedCitiesChange(value) {
      let checkedCount = value.length;
      this.checkAll = checkedCount === this.cities.length + 2;
      this.isIndeterminate =
        checkedCount > 0 && checkedCount < this.cities.length + 2;
    },
    removeFunction(item) {
      this.checkedCities = this.checkedCities.filter((fuc) => fuc !== item);
    },

    handleClose(done) {
      this.$confirm("确认关闭？")
        .then((_) => {
          // done();
          this.drawer = false;
        })
        .catch((_) => {});
    },
    // 鼠标单击的事件
    onClick(e, editor) {
      console.log("Element clicked");
      console.log(e);
      console.log(editor);
    },
    onSubmit() {
      console.log("submit!");
    },
    // 清空内容
    clear() {
      this.$refs.editor.clear();
    },
    handleTabsEdit(targetName, action) {
      if (action === "add") {
        let newTabName = ++this.tabIndex + "";
        this.editableTabs.push({
          title: "New Tab",
          name: newTabName,
          content: "New Tab content",
        });
        this.editableTabsValue = newTabName;
      }
      if (action === "remove") {
        let tabs = this.editableTabs;
        let activeName = this.editableTabsValue;
        if (activeName === targetName) {
          tabs.forEach((tab, index) => {
            if (tab.name === targetName) {
              let nextTab = tabs[index + 1] || tabs[index - 1];
              if (nextTab) {
                activeName = nextTab.name;
              }
            }
          });
        }

        this.editableTabsValue = activeName;
        this.editableTabs = tabs.filter((tab) => tab.name !== targetName);
      }
    },
  },
};
</script>
<style scoped lang="scss">
.box-card {
  margin: 10px 0;
  width: 100%;
  font-size: 14px;
  .el-card__body {
    width: 100%;
    .left {
      > div {
        line-height: 3;
      }
    }
    .right {
      height: 450px;
      width: 100%;
      iframe{
        width: 100%;
        height: 100%;
      }
    }
  }
}
::v-deep .searchFrom {
  .el-form-item__content {
    display: flex !important;
    justify-content: end !important;
    align-items: center !important;
    i {
      margin-left: 10px;
      font-size: 20px;
    }
  }
}
.drawerOption {
  .el-checkbox-group {
    line-height: 40px !important;
  }
  .drawerLeft {
    margin-left: 20px;
    color: #606266 !important;
  }
  .checkFromRow {
    .el-col-12 {
      color: #606266 !important;
      font-size: 14px;
    }
    .el-col-12:nth-child(even) {
      text-align: end !important;
    }
  }
  .drawerRight {
    margin-right: 20px;
    color: #606266 !important;
    font-size: 14px;
    ul {
      list-style-type: none;
      padding: 0;
      color: #606266 !important;
      li {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0px 10px;
        line-height: 40px !important;
      }
    }
  }
  .demo-drawer__footer {
    display: flex;
    margin-top: 50px;
    justify-content: center;
  }
}
::v-deep.el-input--small .el-input__inner {
  width: 200px !important;
}
.demo-input-suffix {
  display: flex !important;
}
::v-deep.demo-input-suffix .el-input--small {
  width: 100px !important;
}
::v-deep.demo-input-suffix .el-input--small .el-input__inner {
  width: 90px !important;
}
.abalysisType {
  margin-top: 30px;
}
</style>
