<!-- 预警服务-异常检测 -->
<template>
    <div>
    <!-- 卡片化的标签页 -->
    <el-tabs type="border-card">
    <!-- 【1】股市 -->
    <el-tab-pane label="股市">
      <el-card style='height: 1050px;margin-bottom: 10px;' :body-style={padding:0}>
      <!-- height:400px -->
      <!-- 1、上标 -->
      <span class="superscript" style="width: 20px; height: 40px;">股票异常检测</span>
      <!-- 2、产品搜索栏 -->
  
      <div class="form">
                                                          <!-- inline="true"表单域在一行 -->
          <el-form :inline="true"  class="demo-form-inline" :model="formInline1" ref="formInline2">
  
<!--              <el-form-item label="行业" prop="行业">-->
<!--              <el-select  size="mini" v-model="formInline1.industry">-->
<!--                  <el-option label="行业1" value="行业1"></el-option>-->
<!--                  <el-option label="行业2" value="行业2"></el-option>-->
<!--              </el-select>-->
<!--              </el-form-item>-->
              <el-form-item label="开始时间" prop="开始时间">
              <el-date-picker
                  v-model="formInline1.start_date"
                  type="date"
                  placeholder="年/月/日" 
                  size="mini">
              </el-date-picker>
              </el-form-item>
  
              <el-form-item label="结束时间" prop="结束时间">
              <el-date-picker
                  v-model="formInline1.end_date"
                  type="date"
                  placeholder="年/月/日" 
                  size="mini">
              </el-date-picker>
          </el-form-item>
              <el-form-item>
              <el-button class="grayish_btn" @click="onSubmit1" size="mini">查询</el-button>
              </el-form-item>
  
  
          </el-form>
      </div>
      <!-- 添加半圆饼图 -->
      <half-doughnut :key='1' :myHalfData="myHalfData1"></half-doughnut>
      <!-- <half-doughnut/ :prop=""> -->
      <!-- 表格 -->
      <div class="table">
              <el-table :data="tableData1.slice((currentPage-1)*pageSize,currentPage*pageSize)" :header-cell-style="{background: 'rgba(242, 242, 242, 0.654901960784314)'}"
                    border  
                    height="500"
                    :row-style="{height:'30px'}"
                    :cell-style="{padding:'5px'}"
                    header-row-class-name="active_header"
                    header-cell-class-name="active_header"
                    cell-class-name="content_center"
                    style="width: 100px">          <!-- style="width: 40%"               height="215"  -->
                <template v-for="(val,key) in tableLabel1">
<!--                  You should not mix 'v-for' with 'v-if'-->
<!--                  条件渲染-->
                <el-table-column  :prop="key"  :key='key'
                                 :label='typeof val === "object" ? val.label : val'
                                 :filters=filterText
                                 :filter-method="filterTag"
                                 v-if=' val.special'
                />
                  <el-table-column  :prop="key"  :key='key'
                                    :label='typeof val === "object" ? val.label : val'

                                    v-if=' !val.special'
                  />
                </template>
                <!--插槽里面没有东西就可以用单标签  -->
                  <el-table-column
                          prop="scale"
                          label="操作">
                          <template slot-scope="scope">
<!--                            <span class="text"  v-on:click="detail(scope.row,this.formInline1.start_date)">查看详情</span>-->
                            <span class="text"  v-on:click="testDeatil(scope.row)">查看详情</span>
                          </template>
                      </el-table-column>
              </el-table>
            </div>

<!--        分页-->
        <div class="block" style="margin-top:15px;">
          <el-pagination align='center' @size-change="handleSizeChange" @current-change="handleCurrentChange"
                         :current-page="currentPage"

                         :page-size="10"
                         layout="total, prev, pager, next, jumper"
                         :total="tableData1.length">
          </el-pagination>

        </div>
  
      </el-card>
    </el-tab-pane>
    <!-- 【2】债市 -->
    <el-tab-pane label="债市">
      <el-card style='height: 1050px;margin-bottom: 10px;' :body-style={padding:0}>
      <!-- height:400px -->
      <!-- 1、上标 -->
      <span class="superscript" style="width: 20px; height: 40px;">债市异常检测</span>
      <!-- 2、产品搜索栏 -->
  
      <div class="form">
                                                          <!-- inline="true"表单域在一行 -->
          <el-form :inline="true"  class="demo-form-inline" :model="formInline2" ref="formInline2">
<!--              <el-form-item label="行业" prop="行业">-->
<!--              <el-select  size="mini" v-model="formInline2.industry">-->
<!--                  <el-option label="行业1" value="行业1"></el-option>-->
<!--                  <el-option label="行业2" value="行业2"></el-option>-->
<!--              </el-select>-->
<!--              </el-form-item>-->
              <el-form-item label="开始时间" prop="开始时间">
              <el-date-picker
                  v-model="formInline2.start_date"
                  type="date"
                  placeholder="年/月/日" 
                  size="mini">
              </el-date-picker>
              </el-form-item>
  
              <el-form-item label="结束时间" prop="结束时间">
              <el-date-picker
                  v-model="formInline2.end_date"
                  type="date"
                  placeholder="年/月/日" 
                  size="mini">
              </el-date-picker>
          </el-form-item>
              <el-form-item>
              <el-button class="grayish_btn" @click="onSubmit2" size="mini">查询</el-button>
              </el-form-item>
  
  
          </el-form>
      </div>
      <!-- 添加半圆饼图 -->
      <half-doughnut :key='2' :myHalfData="myHalfData3"></half-doughnut>
      <!-- 表格 -->
      <div class="table">
              <el-table :data="tableData2.slice((currentPage-1)*pageSize,currentPage*pageSize)" :header-cell-style="{background: 'rgba(242, 242, 242, 0.654901960784314)'}"
                    border  
                    height="500"
                    :row-style="{height:'30px'}"
                    :cell-style="{padding:'5px'}"
                    header-row-class-name="active_header"
                    header-cell-class-name="active_header"
                    cell-class-name="content_center"
                    style="width: 100px">          <!-- style="width: 40%"               height="215"  -->
                <template v-for="(val,key) in tableLabel2">
                  <!--                  You should not mix 'v-for' with 'v-if'-->
                  <!--                  条件渲染-->
                  <el-table-column  :prop="key"  :key='key'
                                    :label='typeof val === "object" ? val.label : val'
                                    :filters=filterText
                                    :filter-method="filterTag"
                                    v-if=' val.special'
                  />
                  <el-table-column  :prop="key"  :key='key'
                                    :label='typeof val === "object" ? val.label : val'

                                    v-if=' !val.special'
                  />
                </template>
                  <el-table-column
                          prop="scale"
                          label="操作">
                          <template slot-scope="scope">
                            <span class="text"  v-on:click="detail(scope.row,formInline2.start_date)">查看详情</span>
                          </template>
                      </el-table-column>
              </el-table>
            </div>
        <el-pagination align='center' @size-change="handleSizeChange" @current-change="handleCurrentChange"
                       :current-page="currentPage"

                       :page-size="10"
                       layout="total, prev, pager, next, jumper"
                       :total="tableData2.length">
        </el-pagination>
      
      
  
  
      </el-card>
    </el-tab-pane>
    <!-- 【3】期货 -->
    <el-tab-pane label="期货">
      <el-card style='height: 1050px;margin-bottom: 10px;' :body-style={padding:0}>
      <!-- height:400px -->
      <!-- 1、上标 -->
      <span class="superscript" style="width: 20px; height: 40px;">合约交易异常</span>
      <!-- 2、产品搜索栏 -->
  
      <div class="form">
                                                          <!-- inline="true"表单域在一行 -->
          <el-form :inline="true"  class="demo-form-inline" :model="formInline3" ref="formInline3">
<!--              <el-form-item label="商品种类" prop="商品种类">-->

<!--                  <el-select   v-model="formInline3.industry" placeholder="选择商品" size="mini">-->
<!--                    <el-option v-for="item in futureOption" :key="item.value" :label="item.label" :value="item.value"></el-option>-->
<!--                  </el-select>-->

<!--              </el-form-item>-->
              <el-form-item label="开始时间" prop="开始时间">
              <el-date-picker
                  v-model="formInline3.start_date"
                  type="date"
                  placeholder="年/月/日" 
                  size="mini">
              </el-date-picker>
              </el-form-item>
  
              <el-form-item label="结束时间" prop="结束时间">
              <el-date-picker
                  v-model="formInline3.end_date"
                  type="date"
                  placeholder="年/月/日" 
                  size="mini">
              </el-date-picker>
          </el-form-item>
              <el-form-item>
              <el-button class="grayish_btn" @click="onSubmit3" size="mini">查询</el-button>
              </el-form-item>
  
  
          </el-form>
      </div>
      <!-- 添加半圆饼图 -->
      <half-doughnut :key='3' :myHalfData="myHalfData2"></half-doughnut>
      <!-- 表格 -->
      <div class="table">
              <el-table :data="tableData3.slice((currentPage-1)*pageSize,currentPage*pageSize)" :header-cell-style="{background: 'rgba(242, 242, 242, 0.654901960784314)'}"
                    border  
                    height="500"
                    :row-style="{height:'30px'}"
                    :cell-style="{padding:'5px'}"
                    header-row-class-name="active_header"
                    header-cell-class-name="active_header"
                    cell-class-name="content_center"
                    style="width: 100px">          <!-- style="width: 40%"               height="215"  -->
                <template v-for="(val,key) in tableLabel3 ">
                  <!--                  You should not mix 'v-for' with 'v-if'-->
                  <!--                  条件渲染-->
                  <el-table-column  :prop="key"  :key='key'
                                    :label='typeof val === "object" ? val.label : val'
                                    :filters=filterText
                                    :filter-method="filterTag"
                                    v-if=' val.special'
                  />
                  <el-table-column  :prop="key"  :key='key'
                                    :label='typeof val === "object" ? val.label : val'

                                    v-if=' !val.special'
                  />
                </template>
                <!--插槽里面没有东西就可以用单标签  -->
                  <el-table-column
                          prop="scale"
                          label="操作">
                          <template slot-scope="scope">
                            <span class="text"  v-on:click="detail(scope.row,formInline3.start_date)">查看详情</span>
                          </template>
                      </el-table-column>
              </el-table>
            </div>

        <el-pagination align='center' @size-change="handleSizeChange" @current-change="handleCurrentChange"
                       :current-page="currentPage"

                       :page-size="10"
                       layout="total, prev, pager, next, jumper"
                       :total="tableData3.length">
        </el-pagination>

      </el-card>
    </el-tab-pane>
  </el-tabs>
    <!-- #1弹窗：股价波动异常、高频交易 -->
    <el-dialog  :visible.sync="detailsdialog1" width="100%" @open="open()" >
            <!-- 详细信息 -->
            <el-card style=" height:100%;margin-bottom:10px ; " :body-style={padding:0} >
              <div style="display:flex;">
                <el-divider direction="vertical" class="sublabel"></el-divider>
                <span class='title'>异常统计</span>
              </div>

                <Histogram :x-data="xData" :y-data="yData" :legend="legend" :title="titleText"/>
<!--              <span style="display:block;text-indent:2em;line-height: 25px;margin: 10px;">-->
<!--                股票1在2021-01-01至2021-02-01时间段内，在2021-1-8内达到股价峰值，为26元/每股，比该公司该段时间内平均股价（9元/每股），上涨15元，涨幅188.8%。在股价过高的情况下可能会导致风险增加、股票泡沫、不良收购等多种导致经济不稳定的风险因素的增加，在2021-01-09达到交易量峰值，为231支，比该公司该段时间内平均交易量（121股），上涨110股，涨幅为90.9%。在交易量过高的情况下可能会在一定程度上可能对市场稳定性、公平竞争和投资者信心造成负面影响。-->

<!--              </span>-->

            </el-card>
          </el-dialog>
      <!-- #2弹窗：资产泡沫 -->
      <el-dialog  :visible.sync="detailsdialog2" width="100%" @open="open()" >
        <!-- 详细信息 -->
        <el-card style=" height:100%;margin-bottom:10px ; " :body-style={padding:0} >
          <div style="display:flex;">
                <el-divider direction="vertical" class="sublabel"></el-divider>
                <span class='title'>异常统计</span>
              </div>
              <div style="height:100px;margin-left: 20px;">图谱</div>
              <el-table class='detail_table'
                    :data="tableData_detail_1_2"
                    style="width: 100%"
                    :header-cell-style="{background: 'rgba(242, 242, 242, 0.654901960784314)'}"
                    border
                    :row-style="{height:'28px'}"
                    :cell-style="{padding:'0px'}"
                    header-row-class-name="active_header"
                    header-cell-class-name="active_header"
                    cell-class-name="content_center"
                    height="215" >
                    <el-table-column v-for='(val,key) in tableLabel_detail_1_2' :prop="key" :label="val"  show-overflow-tooltip :min-width="calculateColumnWidth(key,tableData_detail_1_2)">

                    </el-table-column><!--插槽里面没有东西就可以用单标签  -->


                </el-table>
                <DifferentialChart/>
<!--              <span style="display:block;text-indent:2em;line-height: 25px;margin: 10px;">-->
<!--                股票1在2021-01-01至2021-02-01时间段内，在2021-1-8内达到股价峰值，为26元/每股，比该公司该段时间内平均股价（9元/每股），上涨15元，涨幅188.8%。在股价过高的情况下可能会导致风险增加、股票泡沫、不良收购等多种导致经济不稳定的风险因素的增加，在2021-01-09达到交易量峰值，为231支，比该公司该段时间内平均交易量（121股），上涨110股，涨幅为90.9%。在交易量过高的情况下可能会在一定程度上可能对市场稳定性、公平竞争和投资者信心造成负面影响。-->

<!--              </span>-->

        </el-card>
      </el-dialog>

      <!-- #3弹窗：事件风险波及、风险事件时长、事件热度异常 -->
      <el-dialog  :visible.sync="detailsdialog3" width="100%" @open="open()" >
        <!-- 详细信息 -->
        <el-card style=" height:100%;margin-bottom:10px ; " :body-style={padding:0} >
          <div style="display:flex;">
                <el-divider direction="vertical" class="sublabel"></el-divider>
                <span class='title'>异常统计</span>
              </div>
              <div style="height:100px;margin-left: 20px;">图谱</div>
              <el-table class='detail_table'
                    :data="tableData_detail_1_3"
                    style="width: 100%"
                    :header-cell-style="{background: 'rgba(242, 242, 242, 0.654901960784314)'}"
                    border


                    :row-style="{height:'28px'}"
                    :cell-style="{padding:'0px'}"
                    header-row-class-name="active_header"
                    header-cell-class-name="active_header"
                    cell-class-name="content_center"
                    height="215" >
                    <el-table-column v-for='(val,key) in tableLabel_detail_1_3' :prop="key" :label="val"  show-overflow-tooltip :min-width="calculateColumnWidth(key,tableData_detail_1_3)">

                    </el-table-column><!--插槽里面没有东西就可以用单标签  -->
                </el-table>

                <AreaChart :key='1' :myAreaChart="myAreaChart1"></AreaChart>


<!--              <span style="display:block;text-indent:2em;line-height: 25px;margin: 10px;">-->
<!--                股票1在2021-01-01至2021-02-01时间段内，在2021-1-8内达到股价峰值，为26元/每股，比该公司该段时间内平均股价（9元/每股），上涨15元，涨幅188.8%。在股价过高的情况下可能会导致风险增加、股票泡沫、不良收购等多种导致经济不稳定的风险因素的增加，在2021-01-09达到交易量峰值，为231支，比该公司该段时间内平均交易量（121股），上涨110股，涨幅为90.9%。在交易量过高的情况下可能会在一定程度上可能对市场稳定性、公平竞争和投资者信心造成负面影响。-->

<!--              </span>-->

        </el-card>
      </el-dialog>
  </div>
</template>

<script>
import HalfDoughnut from "../components/echarts/HalfDoughnut.vue";
import DifferentialChart from "@/components/echarts/DifferentialChart.vue";
import Histogram from "@/components/echarts/Histogram.vue";
import AreaChart from "@/components/echarts/AreaChart.vue";
import http from "@/utils/request";
import {Loading} from "element-ui";


export default {

  components:{
    HalfDoughnut,
    DifferentialChart,
    Histogram,
    AreaChart,

  },
  data () {
      return {
        currentPage: 1, // 当前页码
        total: 20, // 总条数
        pageSize: 10, // 每页的数据条数
        filterText:[],
        titleText:'',
        legend:'',
        xData:[],
        yData:[],
        //记录当前所选的市场
        selectedIndustry:'',
// 期货
        futureOption:[{'value': 'NIZL.SHF', 'label': '沪镍'}, {'value': 'RRZL.DCE', 'label': '粳米'}, {'value': 'LHZL.DCE', 'label': '生猪'}, {'value': 'CSZL.DCE', 'label': '玉米淀粉'}, {'value': 'RBZL.SHF', 'label': '螺纹钢'}, {'value': 'APZL.CZC', 'label': '苹果'}, {'value': 'CFZL.CZC', 'label': '棉花'}, {'value': 'BZL.DCE', 'label': '豆二'}, {'value': 'URZL.CZC', 'label': '尿素'}, {'value': 'AUZL.SHF', 'label': '沪金'}, {'value': 'BCZL.SHF', 'label': '国际铜'}, {'value': 'PBZL.SHF', 'label': '沪铅'}, {'value': 'AZL.DCE', 'label': '豆一'}, {'value': 'SPZL.SHF', 'label': '纸浆'}, {'value': 'LZL.DCE', 'label': '塑料'}, {'value': 'SFZL.CZC', 'label': '硅铁'}, {'value': 'BUZL.SHF', 'label': '沥青'}, {'value': 'TAZL.CZC', 'label': 'PTA'}, {'value': 'HCZL.SHF', 'label': '热卷'}, {'value': 'SRZL.CZC', 'label': '白糖'}, {'value': 'CJZL.CZC', 'label': '红枣'}, {'value': 'SAZL.CZC', 'label': '纯碱'}, {'value': 'WRZL.SHF', 'label': '线材'}, {'value': 'CZL.DCE', 'label': '玉米'}, {'value': 'ZNZL.SHF', 'label': '沪锌'}, {'value': 'EBZL.DCE', 'label': '苯乙烯'}, {'value': 'RSZL.CZC', 'label': '菜籽'}, {'value': 'FBZL.DCE', 'label': '纤维板'}, {'value': 'MAZL.CZC', 'label': '甲醇'}, {'value': 'PPZL.DCE', 'label': '聚丙烯'}, {'value': 'IZL.DCE', 'label': '铁矿石'}, {'value': 'PZL.DCE', 'label': '棕榈油'}, {'value': 'FGZL.CZC', 'label': '玻璃'}, {'value': 'RUZL.SHF', 'label': '橡胶'}, {'value': 'AGZL.SHF', 'label': '沪银'}, {'value': 'SNZL.SHF', 'label': '沪锡'}, {'value': 'FUZL.SHF', 'label': '燃油'}, {'value': 'PGZL.DCE', 'label': 'LPG'}, {'value': 'PFZL.CZC', 'label': '短纤'}, {'value': 'SCZL.SHF', 'label': '原油'}, {'value': 'EGZL.DCE', 'label': '乙二醇'}, {'value': 'JMZL.DCE', 'label': '焦煤'}, {'value': 'MZL.DCE', 'label': '豆粕'}, {'value': 'NRZL.SHF', 'label': '20号胶'}, {'value': 'VZL.DCE', 'label': 'PVC'}, {'value': 'YZL.DCE', 'label': '豆油'}, {'value': 'JDZL.DCE', 'label': '鸡蛋'}, {'value': 'AOZL.SHF', 'label': '氧化铝'}, {'value': 'SSZL.SHF', 'label': '不锈钢'}, {'value': 'RMZL.CZC', 'label': '菜粕'}, {'value': 'CYZL.CZC', 'label': '棉纱'}, {'value': 'LUZL.SHF', 'label': '低硫燃油'}, {'value': 'OIZL.CZC', 'label': '菜油'}, {'value': 'JZL.DCE', 'label': '焦炭'}, {'value': 'ALZL.SHF', 'label': '沪铝'}, {'value': 'CUZL.SHF', 'label': '沪铜'}, {'value': 'SMZL.CZC', 'label': '锰硅'}, {'value': 'PKZL.CZC', 'label': '花生'}],
        // 判断是否弹窗打开
  // 判断是否弹窗打开
      detailsdialog1:false,
      detailsdialog2:false,
      detailsdialog3:false,
      // detailsdialog4:false,

  // 【图表数据】
  //半圆图
      myHalfData1: [
            // { value: 300, name: "股价波动异常" },
            // { value: 350, name: "高频交易" },
            // { value: 200, name: "资产泡沫" },
            // { value: 120, name: "事件风险波及" },
            // { value: 110, name: "风险事件时长" },
            // { value: 280, name: "事件热度异常" },
            // {
            //   // make an record to fill the bottom 50%
            //   value: 300+350+200+120+110+280,
            //   itemStyle: {
            //     color: "none",
            //   },
            // },
          ],
        myHalfData3:[],
        myHalfData2:[
            // { value: 300, name: "股价波动异常" },
            // { value: 350, name: "高频交易" },
            // { value: 200, name: "资产泡沫" },
            // {
            //   // make an record to fill the bottom 50%
            //   value: 300+350+200,
            //   itemStyle: {
            //     // stop the chart from rendering this piece
            //     color: "none",
            //   },
            // },
          ],
  // 面积图
      myAreaChart1:[],



  // 【整合接收数据】
      formInline1: {
          industry:'',
          start_date:'',
          end_date:'',
      },
      formInline2: {
          industry:'',
          start_date:'',
          end_date:'',
      },
      formInline3: {
          industry:'',
          start_date:'',
          end_date:'',
      },
  // 【表格】
      tableData1: [
          { 
              异常关联类型: '股价波动异常',
              涉及股票: '股票1',
              },
          { 
              异常关联类型: '高频交易',
              涉及股票: '股票1',
          },
          { 
              异常关联类型: '资产泡沫',
              涉及股票: '股票1',
          },
            
          ],
      tableData2: [
          { 
              异常关联类型: '股价波动异常',
              涉及股票: '债券1',
              },
          { 
              异常关联类型: '高频交易',
              涉及股票: '债券2',
          },
          { 
              异常关联类型: '资产泡沫',
              涉及股票: '债券3',
          },
            
          ],
      tableData3: [
          { 
              异常关联类型: '股价波动异常',
              涉及商品: '玉米',
              },
          { 
              异常关联类型: '高频交易',
              涉及商品: '大豆',
          },
          { 
              异常关联类型: '资产泡沫',
              涉及商品: '棕榈油',
          },
            
          ],
      tableLabel1: {
          编码: '编号',
        异常关联类型: {label:'异常关联类型' ,
          special:true
        },
          名称: '涉及股票',
          监测时间: '监测时间',
          股票价格: '股票价格',
          交易数量: '交易数量',
          风险等级: '风险等级',

      },
      tableLabel2: {
        编码: '编号',
        异常关联类型: {label:'异常关联类型' ,
          special:true
        },
        名称: '涉及主体',
          监测时间: '监测时间',
          股票价格: '债券价格',
          交易数量: '交易数量',
          风险等级: '风险等级',


      },
      tableLabel3: {
        编码: '编号',
          异常关联类型: {label:'异常关联类型' ,
            special:true
  },
          涉及商品: '涉及商品',
          合约名称: '合约名称',
          监测时间: '监测时间',
          股票价格: '股票价格',
          交易数量: '交易数量',
          风险等级: '风险等级',

      },
      tableLabel_detail_1_1:
      {
        编号: '编号',
        异常主体:'异常主体',
        关联对象:'关联对象',
        异常关联类型:'异常关联类型',
        关联相似度:'关联相似度',
        涉及事件详情:'涉及事件详情',
        高影响力主体分析:'高影响力主体分析',
        风险等级:'风险等级',
      },
      tableData_detail_1_1:[
      {
        编号: '',
        异常主体:'股票1',
        关联对象:'股票2',
        异常关联类型:'高频交易',
        关联相似度:'关联相似度',
        涉及事件详情:'事件分析',
        高影响力主体分析:'高影响力主体分析',
        风险等级:'',
      },

      ],
      tableLabel_detail_1_2:
      {
        编号: '编号',
        异常主体:'异常主体',
        关联对象:'关联对象',
        异常关联类型:'异常关联类型',
        关联相似度:'关联相似度',
        涉及事件详情:'涉及事件详情',
        高影响力主体分析:'高影响力主体分析',
        风险等级:'风险等级',
      },
      tableData_detail_1_2:[
      {
        编号: '',
        异常主体:'股票1',
        关联对象:'股票2',
        异常关联类型:'高频交易',
        关联相似度:'关联相似度',
        涉及事件详情:'事件分析',
        高影响力主体分析:'高影响力主体分析',
        风险等级:'',
      },

      ],
      tableLabel_detail_1_3:
      {
        编号: '编号',
        异常主体:'异常主体',
        关联对象:'关联对象',
        异常关联类型:'异常关联类型',
        关联相似度:'关联相似度',
        涉及事件详情:'涉及事件详情',
        高影响力主体分析:'高影响力主体分析',
        风险等级:'风险等级',
      },
      tableData_detail_1_3:[
      {
        编号: '',
        异常主体:'股票1',
        关联对象:'股票2',
        异常关联类型:'高频交易',
        关联相似度:'关联相似度',
        涉及事件详情:'事件分析',
        高影响力主体分析:'高影响力主体分析',
        风险等级:'',
      },

      ],
  }
    },
    mounted(){
    },
    methods:{

      handleSizeChange(val) {
        console.log(`每页 ${val} 条`);
        this.currentPage = 1;
        this.pageSize = val;
      },
      //当前页改变时触发 跳转其他页
      handleCurrentChange(val) {
        console.log(`当前页: ${val}`);
        this.currentPage = val;
      },



      filterTag(value, row) {
        return row.异常关联类型 === value;
      },

      onSubmit1(){
        // console.log(this.formInline1.start_date,this.formInline1.end_date)
        console.log()
        if (String(this.formInline1.start_date)===String(this.formInline1.end_date)){
          this.$message({
            showClose: true,
            message: '请重新选择时间',
            type: 'warning'
          });

        }
        else {
          let options={
            text:'请稍等'
          }
          let loadingInstance = Loading.service(options);
          this.selectedIndustry = 'stock'
          if (this.myHalfData1.length !== 0)
            this.myHalfData1.length = 0
          this.currentPage=1
          http.get('/anomaly/all_anomaly/', {
            params: {
              sc: 'stock',
              indus: this.formInline1.industry,
              sdate: this.formInline1.start_date,
              edate: this.formInline1.end_date
            }
          }).then((res) => {
            // console.log(res.data.date)
            // this.$notify.info({
            //   title: '提示',
            //   message: '仅显示部分结果'
            // });
            let total = 0
            for (let i in res.data.date) {
              if (res.data.date[i]!==0){
                total += Number(res.data.date[i])

                this.myHalfData1.push({value: Number(res.data.date[i]), name: i})
              }
            }
            if (total!==0){
              this.myHalfData1.push({
                value: total,
                itemStyle: {
                  color: "none",
                }
              })

            }


          })
          http.get('/anomaly/item_anomaly/', {
            params: {
              sc: 'stock',
              indus: this.formInline1.industry,
              sdate: this.formInline1.start_date,
              edate: this.formInline1.end_date
            }
          }).then((res) => {
            this.filterText=[]
            this.tableData1 = res.data.data
            const unique =  Array.from(new Set(this.tableData1.map(item => item.异常关联类型)));
            console.log(unique)
            for (let i in unique)
            {
             let  tmp={ text: unique[i], value: unique[i] }
            if ( !this.filterText.some(item => JSON.stringify(item) === JSON.stringify(tmp)))
              this.filterText.push(tmp)
            }
            console.log(this.filterText)

          })
          loadingInstance.close()
        }

      },
      onSubmit2(){
        if (String(this.formInline2.start_date)===String(this.formInline2.end_date)){
          this.$message({
            showClose: true,
            message: '请重新选择时间',
            type: 'warning'
          });
        }
        else {
          let options={
            text:'请稍等'
          }
          this.currentPage=1
          let loadingInstance = Loading.service(options);
          this.selectedIndustry = 'bond'
          if (this.myHalfData3.length !== 0)
            this.myHalfData3.length = 0
          http.get('/anomaly/all_anomaly/', {
            params: {
              sc: 'bond',
              indus: this.formInline2.industry,
              sdate: this.formInline2.start_date,
              edate: this.formInline2.end_date
            }
          }).then((res) => {
            // this.$notify.info({
            //   title: '提示',
            //   message: '仅显示部分结果'
            // });
            console.log(res.data.date)
            let total = 0
            for (let i in res.data.date) {
              if (res.data.date[i]!==0){
                total += Number(res.data.date[i])
                this.myHalfData3.push({value: Number(res.data.date[i]), name: i})
              }
            }

            if (total!==0){
              this.myHalfData3.push({
                value: total,
                itemStyle: {
                  color: "none",
                }
              })

            }

            http.get('/anomaly/item_anomaly/', {
              params: {
                sc: 'bond',
                indus: this.formInline2.industry,
                sdate: this.formInline2.start_date,
                edate: this.formInline2.end_date
              }
            }).then((res) => {
              this.filterText=[]
              this.tableData2 = res.data.data
              const unique =  Array.from(new Set(this.tableData2.map(item => item.异常关联类型)));
              console.log(unique)
              for (let i in unique)
              {
                let  tmp={ text: unique[i], value: unique[i] }
                if ( !this.filterText.some(item => JSON.stringify(item) === JSON.stringify(tmp)))
                  this.filterText.push(tmp)
              }
            })
          })
          loadingInstance.close()
        }
      },
      onSubmit3(){
        if (String(this.formInline3.start_date)===String(this.formInline3.end_date)){
          this.$message({
            showClose: true,
            message: '请重新选择时间',
            type: 'warning'
          });
        }
        else {
          this.currentPage=1
          let options={
            text:'请稍等'
          }
          let loadingInstance = Loading.service(options);
          this.selectedIndustry = 'future'
          if (this.myHalfData2.length !== 0)
            this.myHalfData2.length = 0
          http.get('/anomaly/all_anomaly/', {
            params: {
              sc: 'future',
              indus: this.formInline3.industry,
              sdate: this.formInline3.start_date,
              edate: this.formInline3.end_date
            }
          }).then((res) => {
            // this.$notify.info({
            //   title: '提示',
            //   message: '仅显示部分结果'
            // });
            console.log(res.data.date)
            let total = 0
            for (let i in res.data.date) {
              if (res.data.date[i]!==0){
                total += Number(res.data.date[i])
                this.myHalfData2.push({value: Number(res.data.date[i]), name: i})
              }
            }
            if (total!==0){

              this.myHalfData2.push({
                value: total,
                itemStyle: {
                  color: "none",
                }
              })
            }

            http.get('/anomaly/item_anomaly/', {
              params: {
                sc: 'future',
                indus: this.formInline3.industry,
                sdate: this.formInline3.start_date,
                edate: this.formInline3.end_date
              }
            }).then((res) => {
              this.filterText=[]
              this.tableData3 = res.data.data
              const unique =  Array.from(new Set(this.tableData3.map(item => item.异常关联类型)));
              console.log(unique)
              for (let i in unique)
              {
                let  tmp={ text: unique[i], value: unique[i] }
                if ( !this.filterText.some(item => JSON.stringify(item) === JSON.stringify(tmp)))
                  this.filterText.push(tmp)
              }
            })
          })
          loadingInstance.close()
        }
      },
      // 调整表格列宽
      calculateColumnWidth(prop,data) {
          const text = String(data[0][prop]); // 使用第一行的数据作为示例
          const calculatedWidth = text.length;
          // console.log('console.log(calculatedWidth):',calculatedWidth)
          if(calculatedWidth>10 && calculatedWidth<=50){
            const baseWidth= 20 + calculatedWidth * 0.5
            return `${baseWidth}px`;
          }
          if(calculatedWidth<=10){
            const baseWidth= 15
            return `${baseWidth}px`;
          }
          else{
            const baseWidth= 20 + calculatedWidth * 0.5
            return `${baseWidth}px`;
          }
    },
      //股
      testDeatil(row){
        let that=this
        if(row.异常关联类型==='价格波动异常'||row.异常关联类型==='高频交易异常' ||row.异常关联类型==='资产泡沫异常') {
          this.detailsdialog1 = true//打开弹窗
          http.get('/anomaly/sc_anomaly/', {
            params: {
              date: this.formInline1.start_date,
              sc: that.selectedIndustry,
              id: row.名称,
              type: row.异常关联类型
            }
          }).then((res) => {
            let name=res.data.name!==''?res.data.name:row.名称
            let y = []
            let x = []
            if (row.异常关联类型 === '价格波动异常')
              for (let i in res.data.data) {

                y.push(res.data.data[i].价格波动异常值)
                x.push(res.data.data[i].监测时间)
                this.legend = '价格波动'
                this.titleText = name+'价格波动情况'
              }
            if (row.异常关联类型 === '高频交易异常')
              for (let i in res.data.data) {
                y.push(res.data.data[i].高频交易值)
                x.push(res.data.data[i].监测时间)
                this.legend = '交易量波动'
                this.titleText = name+'交易量变化情况'
              }
            if (row.异常关联类型 === '资产泡沫异常')
              for (let i in res.data.data) {
                y.push(res.data.data[i].资产泡沫值)
                x.push(res.data.data[i].监测时间)
                this.legend = '资产泡沫值'
                this.titleText = name+'资产泡沫'
              }

            this.xData = x.reverse()
            this.yData = y.reverse()
            // this.lineData['yData']=y
            // console.log(this.lineData)
          })
          http.get('/anomaly/anomaly_event/', {
            params: {
              time: this.formInline1.start_date,
              market: that.selectedIndustry,
              subject: row.名称,
              type: row.异常关联类型
            }
          }).then((res) => {
            console.log(res.data)
          })
        }



        if (row.异常关联类型==='资产泡沫') {
          this.detailsdialog2 = true//打开弹窗
        }
        if (row.异常关联类型==='事件风险波及'||row.异常关联类型==='风险事件时长'||row.异常关联类型==='事件热度异常') {
          this.detailsdialog3 = true//打开弹窗
        }
        // console.log(row)
        // http.get('/anomaly/anomaly_relevant_analyse/', {
        //   params: {
        //     subject: row.名称,
        //     time: row.监测时间,
        //     market: this.selectedIndustry,
        //     type: row.异常关联类型
        //   }
        // }).then((res) => {
        //   console.log(res.data)
        // })
      },
      detail(row,date) {

        let that = this
        if (this.selectedIndustry !== 'future') {
          if (row.异常关联类型 === '价格波动异常' || row.异常关联类型 === '高频交易异常' || row.异常关联类型 === '资产泡沫异常') {
            this.detailsdialog1 = true//打开弹窗
            http.get('/anomaly/sc_anomaly/', {
              params: {
                date: date,
                sc: that.selectedIndustry,
                id: row.名称,
                type: row.异常关联类型
              }
            }).then((res) => {
              let name=res.data.name!==''?res.data.name:row.名称
              console.log(name)
              let y = []
              let x = []
              if (row.异常关联类型 === '价格波动异常')
                for (let i in res.data.data) {
                  y.push(res.data.data[i].价格波动异常值)
                  x.push(res.data.data[i].监测时间)
                  this.legend = '价格波动'
                  this.titleText = name+'价格波动情况'
                }
              if (row.异常关联类型 === '高频交易异常')
                for (let i in res.data.data) {
                  y.push(res.data.data[i].高频交易值)
                  x.push(res.data.data[i].监测时间)
                  this.legend = '交易量波动'
                  this.titleText = name+'交易量变化情况'
                }
              if (row.异常关联类型 === '资产泡沫异常')
                for (let i in res.data.data) {
                  y.push(res.data.data[i].资产泡沫值)
                  x.push(res.data.data[i].监测时间)
                  this.legend = '资产泡沫值'
                  this.titleText = name+'资产泡沫'
                }
              this.xData = x.reverse()
              this.yData = y.reverse()
              // this.lineData['yData']=y
              // console.log(this.lineData)
            })
          }
          if (row.异常关联类型 === '资产泡沫') {
            this.detailsdialog2 = true//打开弹窗

          }
          if (row.异常关联类型 === '事件风险波及' || row.异常关联类型 === '风险事件时长' || row.异常关联类型 === '事件热度异常') {
            this.detailsdialog3 = true//打开弹窗

          }
        } else {
          if (row.异常关联类型 === '价格波动异常' || row.异常关联类型 === '高频交易异常') {
            this.detailsdialog1 = true//打开弹窗
            http.get('/anomaly/sc_anomaly/', {
              params: {
                sc: 'future',
                date: date,
                id: row.合约名称,
                type: row.异常关联类型
              }
            }).then((res) => {
              let y = []
              let x = []
              if (row.异常关联类型 === '价格波动异常')
                for (let i in res.data.data) {
                  y.push(res.data.data[i].价格波动异常值)
                  x.push(res.data.data[i].监测时间)
                }
              this.legend = '价格波动率'
              if (row.异常关联类型 === '高频交易异常')
                for (let i in res.data.data) {
                  y.push(res.data.data[i].高频交易值)
                  x.push(res.data.data[i].监测时间)
                }
              this.legend = '交易量波动'
              this.xData = x.reverse()
              this.yData = y.reverse()
            })
          }
          if (row.异常关联类型 === '资产泡沫') {
            this.detailsdialog2 = true//打开弹窗

          }
          if (row.异常关联类型 === '事件风险波及' || row.异常关联类型 === '风险事件时长' || row.异常关联类型 === '事件热度异常') {
            this.detailsdialog3 = true//打开弹窗

          }
        }
        //关联实体
        // http.get('/anomaly/anomaly_relevant_analyse/', {
        //   params: {
        //     subject: row.合约名称,
        //     monitoring_time: row.监测时间,
        //     market: this.selectedIndustry,
        //     type: row.异常关联类型
        //   }
        // }).then((res) => {
        //   console.log(res.data)
        // })
      },

    // 打开弹窗图像
      open(){
              // this.$nextTick(() => {
              // //  执行echarts方法
              //   this.initEcharts()
              // })
      },


    },
  }
</script>

<style lang='less' scoped>
.form{//产品搜索栏
    
    display:flex;
    justify-content:space-between;//左右贴边
    margin-top:10px; 
    // height: 40px;
    padding-left: 20px;
  
   }
   .grayish_btn{//浅灰色按钮
    color: #fff;//文字颜色
    background-color: #aaaaaa;//背景颜色
  }
   // 调整表头间隔、设置表头下方边框颜色
  .table{
    padding: 0px 20px 2px 20px;//返回表格添加间隙 上 右
    // font-size: 12px;
    // color: #606266;

    // 调整表头间隔、设置表头下方边框颜色
    .text{
      color:rgba(2, 167, 240, 0.729411764705882);
    }

}
.detail_table{
  margin-top: 15px;
  margin-left: 10px;
  margin-right: 0px;
/deep/ .el-table {
  width: 98.5% !important;
}
}
 // 右侧空只能这样调整，左侧必须用margin
 /deep/ .el-table {
    width: 97.5% !important;
    // margin-right: 10px;
  }

  // 调整表头间隔、设置表头下方边框颜色
  /deep/ .el-table td.el-table__cell, .el-table th.el-table__cell.is-leaf {
  // border-bottom: 1px solid #333333 !important;
  padding: 1px 1px 1px 1px;
  min-width: 0;
  }
  // 去除表格cell间隔
  .el-table .el-table__cell {
    padding: 0px 0;
    min-width: 0;
    // border-color:#333333;

  }
  /deep/ .active_header{//表头
    color: #333333;
    font-size: 13px;
    text-align: center !important;
    // border-color:#333333;

    // height: 1px;
  }
  /deep/ .content_center{//表的内容
    text-align: center !important;
    font-size: 13px;
    // border-color:#333333;
  }
.sublabel{ // 小标签标识
    // font-size: 13px;
    // padding:2px;
    margin-top:10px;
    background-color: rgba(2, 167, 240, 0.5);
    width: 5px;
    height: 35px;
}
.title{
    padding-left: 4px;
    margin-top:15px;
    font-weight: bold;//字体加粗
    display:flex;
    justify-content:flex-start
}


</style>
