1029 lines
42 KiB
Vue
1029 lines
42 KiB
Vue
<template>
|
||
<div>
|
||
<!-- 卡片化的标签页 -->
|
||
<el-tabs type="card">
|
||
<!-- 1、健康指数 -->
|
||
<el-tab-pane label="健康指数">
|
||
<el-card style=" height:80px; border: 1px solid #7f7f7f;" :body-style={padding:0} > <!--:body-style={padding:0}取消卡片边距,btn就能在左上角 -->
|
||
<div class="card_label" style=" height: 28px;width: 100%; text-align: center;">健康指数</div>
|
||
|
||
<div class="form"> <!-- inline="true"表单域在一行 -->
|
||
<el-form :inline="true" :model="formInline1" class="demo-form-inline">
|
||
<el-form-item label="公司名称" style=" margin-right: 40px;">
|
||
<el-autocomplete
|
||
class="inline-input"
|
||
v-model="formInline1.company"
|
||
:fetch-suggestions="querySearch"
|
||
placeholder="公司名称"
|
||
size="mini"
|
||
></el-autocomplete>
|
||
|
||
<el-input v-model="formInline1.company" placeholder="请输入公司名称" size="mini"></el-input>
|
||
</el-form-item>
|
||
|
||
<el-form-item label="日期 " style=" margin-right: 40px;">
|
||
<quter-component v-model="formInline1.quarter_year" placeholder="选择季度" />
|
||
</el-form-item>
|
||
<el-form-item>
|
||
<el-button class="grayish_btn" @click="onSubmit1" size="mini" style=" margin-right: 20px;">查询</el-button>
|
||
</el-form-item>
|
||
<el-form-item>
|
||
<el-button class="grayish_btn" @click="onSubmit2" size="mini">清空</el-button>
|
||
</el-form-item>
|
||
</el-form>
|
||
</div>
|
||
</el-card>
|
||
|
||
<!-- 第一栏"健康指数"的表格 -->
|
||
<div class="table">
|
||
<el-table :data="tableData_1" :header-cell-style="{background: 'rgba(242, 242, 242)'}"
|
||
border
|
||
height="250"
|
||
:row-style="{height:'28px'}"
|
||
:cell-style="{padding:'3px'}"
|
||
header-row-class-name="active_header"
|
||
header-cell-class-name="active_header"
|
||
cell-class-name="content_center"
|
||
style="width: 100%; border: 1px solid #7f7f7f;"> <!-- style="width: 40%" height="215" -->
|
||
<el-table-column v-for='(val,key) in tableLabel_short' :prop="key" :label="val" /><!--插槽里面没有东西就可以用单标签 -->
|
||
<el-table-column
|
||
prop="scale"
|
||
label="操作">
|
||
<template slot-scope="scope">
|
||
<el-button type="primary" v-on:click="onSubmit3" size="mini" >雷达图</el-button>
|
||
<el-button type="primary" @click="onSubmit4" size="mini" >加入对比</el-button>
|
||
<el-button type="primary" @click="onSubmit5" size="mini" >加入管理</el-button>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
</div>
|
||
<!-- 第一栏"健康指数"的弹窗-单雷达图 -->
|
||
<el-dialog :visible.sync="detailsdialog" width="80%" @open="open()">
|
||
<el-card style=";">
|
||
<el-card style=" height:740px; border: 1px solid #7f7f7f;" :body-style={padding:0} > <!--:body-style={padding:0}取消卡片边距,btn就能在左上角 -->
|
||
<div class="card_label" style=" height: 24px;width: 100%;text-align: left; padding-left:10px">雷达图对比</div>
|
||
|
||
<!-- 搜索框 -->
|
||
<!-- <div class="form"> <!– inline="true"表单域在一行 –>-->
|
||
<!-- <el-form :inline="true" :model="formInline_1" class="demo-form-inline">-->
|
||
<!-- <el-form-item label="公司:" style=" margin-right: 40px;">-->
|
||
<!-- <el-autocomplete-->
|
||
<!-- class="inline-input"-->
|
||
<!-- v-model="formInline2.company1"-->
|
||
<!-- :fetch-suggestions="querySearch"-->
|
||
<!-- placeholder="公司名称"-->
|
||
<!-- size="mini"-->
|
||
<!-- ></el-autocomplete>-->
|
||
<!-- </el-form-item>-->
|
||
<!-- <el-form-item>-->
|
||
<!-- <el-button class="grayish_btn" @click="onSubmit6" size="mini" style=" margin-right: 20px;">查询</el-button>-->
|
||
<!-- </el-form-item>-->
|
||
<!-- -->
|
||
<!-- </el-form>-->
|
||
<!-- </div>-->
|
||
<!-- 雷达图 -->
|
||
<div class='radar' >
|
||
<!-- <div class="quarter_change">-->
|
||
<!-- <i class="el-icon-arrow-left" border style="font-size: 50px;color:#7f7f7f"></i>-->
|
||
<!-- <div>上一季度</div>-->
|
||
<!-- </div>-->
|
||
|
||
<div ref="echarts_3" style="height:500px;width:500px"></div>
|
||
</div>
|
||
|
||
<!-- "雷达图"表格 -->
|
||
<div class="table" style="padding:20px">
|
||
<el-table :data="tableData_1"
|
||
border
|
||
:row-style="{height:'28px'}"
|
||
:cell-style="{padding:'3px'}"
|
||
header-row-class-name="active_header"
|
||
header-cell-class-name="active_header"
|
||
cell-class-name="content_center"
|
||
style="width: 100%; border: 1px solid #7f7f7f"> <!-- style="width: 40%" height="215" -->
|
||
<el-table-column prop="name" label="名称"></el-table-column>
|
||
<el-table-column v-for='(val,key) in tableLabel_long' :prop="key" :label="val"><!--插槽里面没有东西就可以用单标签 -->
|
||
</el-table-column>
|
||
</el-table>
|
||
</div>
|
||
|
||
</el-card>
|
||
<!-- 历史健康指数 -->
|
||
<el-card style=" height:680px; border: 1px solid #7f7f7f;" :body-style={padding:0} > <!--:body-style={padding:0}取消卡片边距,btn就能在左上角 -->
|
||
<div class="card_label" style=" height: 24px;width: 100%;text-align: left; padding-left:10px">历史健康指数</div>
|
||
|
||
<!-- 搜索框 -->
|
||
<div class="form"> <!-- inline="true"表单域在一行 -->
|
||
<el-form :inline="true" :model="formInline_2" class="demo-form-inline">
|
||
<el-form-item label="开始时间 " style=" margin-right: 40px;">
|
||
<quter-component label="开始时间" v-model="formInline_2.start_quarter" placeholder="选择季度" />
|
||
</el-form-item>
|
||
<el-form-item label="结束时间 " style=" margin-right: 40px;">
|
||
<quter-component label="结束时间" v-model="formInline_2.end_quarter" placeholder="选择季度" />
|
||
</el-form-item>
|
||
<!-- <el-form-item label="起止时间 " style=" margin-right: 40px;">-->
|
||
<!-- <el-select v-model="formInline_2.start_quarter" placeholder="请选择开始时间" size="mini">-->
|
||
<!-- <el-option v-for="item in options_quarter_year" :key="item.value" :label="item.label" :value="item.value"></el-option>-->
|
||
<!-- </el-select>-->
|
||
|
||
<!-- <el-select v-model="formInline_2.end_quarter" placeholder="请选择结束时间" size="mini">-->
|
||
<!-- <el-option v-for="item in options_quarter_year" :key="item.value" :label="item.label" :value="item.value"></el-option>-->
|
||
<!-- </el-select>-->
|
||
<!-- </el-form-item>-->
|
||
|
||
<el-form-item>
|
||
<el-button class="grayish_btn" @click="onSubmit7" size="mini" style=" margin-right: 20px;">查询</el-button>
|
||
</el-form-item>
|
||
|
||
</el-form>
|
||
</div>
|
||
|
||
<!-- 折线图 -->
|
||
<div class='line' >
|
||
|
||
<div ref="echarts_4" style="height:500px;width:800px"></div>
|
||
</div>
|
||
|
||
|
||
|
||
</el-card>
|
||
</el-card>
|
||
|
||
</el-dialog>
|
||
<!-- 加入对比还不知道怎么写,跳转吗 -->
|
||
<!-- 加入管理,把这一行数据存入管理tab -->
|
||
|
||
|
||
</el-tab-pane>
|
||
|
||
<!-- 2、对比 -->
|
||
<el-tab-pane label="对比">
|
||
<!-- 2-1-雷达图对比 -->
|
||
<el-card style=" height:850px; border: 1px solid #7f7f7f;" :body-style={padding:0} > <!--:body-style={padding:0}取消卡片边距,btn就能在左上角 -->
|
||
<div class="card_label" style=" height: 24px;width: 100%;text-align: left; padding-left:10px">雷达图对比</div>
|
||
|
||
<!-- 搜索框 -->
|
||
<div class="form"> <!-- inline="true"表单域在一行 -->
|
||
<el-form :inline="true" :model="formInline2" class="demo-form-inline">
|
||
<el-form-item label="公司1:" style=" margin-right: 40px;">
|
||
<el-autocomplete
|
||
class="inline-input"
|
||
v-model="formInline2.company1"
|
||
:fetch-suggestions="querySearch"
|
||
placeholder="公司名称"
|
||
></el-autocomplete>
|
||
</el-form-item>
|
||
<el-form-item label="公司2:" style=" margin-right: 40px;">
|
||
<el-autocomplete
|
||
class="inline-input"
|
||
v-model="formInline2.company2"
|
||
:fetch-suggestions="querySearch"
|
||
placeholder="公司名称"
|
||
></el-autocomplete>
|
||
<el-form-item label="时间 " style=" margin-right: 40px;margin-left: 40px;">
|
||
<quter-component label="开始时间" v-model="formInline2.quarter_year" placeholder="选择季度" />
|
||
</el-form-item>
|
||
</el-form-item>
|
||
<el-form-item>
|
||
<el-button class="grayish_btn" @click="onSubmit6" size="mini" style=" margin-right: 20px;">查询</el-button>
|
||
</el-form-item>
|
||
|
||
</el-form>
|
||
</div>
|
||
|
||
<!-- 雷达图 -->
|
||
<div class='radar' >
|
||
<!-- <div class="quarter_change">-->
|
||
<!-- <i class="el-icon-arrow-left" border style="font-size: 50px;color:#7f7f7f"></i>-->
|
||
<!-- <div>上一季度</div>-->
|
||
<!-- </div>-->
|
||
|
||
<div ref="echarts_1" style="height:500px;width:500px"></div>
|
||
</div>
|
||
|
||
<!-- "对比"表格 -->
|
||
<div class="table" style="padding:20px">
|
||
<el-table :data="tableData_2_1" :header-cell-style="{background: 'rgba(242, 242, 242)'}"
|
||
border
|
||
:row-style="{height:'28px'}"
|
||
:cell-style="{padding:'3px'}"
|
||
header-row-class-name="active_header"
|
||
header-cell-class-name="active_header"
|
||
cell-class-name="content_center"
|
||
style="width: 100%; border: 1px solid #7f7f7f"> <!-- style="width: 40%" height="215" -->
|
||
<el-table-column prop="name" label="名称"></el-table-column>
|
||
<el-table-column v-for='(val,key) in tableLabel_long' :prop="key" :label="val"><!--插槽里面没有东西就可以用单标签 -->
|
||
</el-table-column>
|
||
</el-table>
|
||
</div>
|
||
|
||
</el-card>
|
||
<!-- 2-2-健康指数对比 -->
|
||
<el-card style=" height:680px; border: 1px solid #7f7f7f;" :body-style={padding:0} > <!--:body-style={padding:0}取消卡片边距,btn就能在左上角 -->
|
||
<div class="card_label" style=" height: 24px;width: 100%;text-align: left; padding-left:10px">健康指数对比</div>
|
||
|
||
<!-- 搜索框 -->
|
||
<div class="form"> <!-- inline="true"表单域在一行 -->
|
||
<el-form :inline="true" :model="formInline3" class="demo-form-inline">
|
||
<!-- <el-form-item label="公司1:" style=" margin-right: 40px;">-->
|
||
<!-- <el-input v-model="formInline3.company1" placeholder="请输入公司名称" ></el-input>-->
|
||
<!-- </el-form-item>-->
|
||
|
||
<!-- <el-form-item label="公司2:" style=" margin-right: 40px;">-->
|
||
<!-- <el-input v-model="formInline3.company2" placeholder="请输入公司名称" ></el-input>-->
|
||
<!-- </el-form-item>-->
|
||
<el-form-item label="开始时间 " style=" margin-right: 40px;">
|
||
<quter-component v-model="formInline3.start_quarter" placeholder="选择季度" />
|
||
</el-form-item>
|
||
<el-form-item label="结束时间 " style=" margin-right: 40px;">
|
||
<quter-component v-model="formInline3.end_quarter" placeholder="选择季度" />
|
||
</el-form-item>
|
||
<!-- <el-form-item label="起止时间 " style=" margin-right: 40px;">-->
|
||
<!-- <el-select v-model="formInline3.start_quarter" placeholder="请选择开始时间" size="mini">-->
|
||
<!-- <el-option v-for="item in options_quarter_year" :key="item.value" :label="item.label" :value="item.value"></el-option>-->
|
||
<!-- </el-select>-->
|
||
|
||
<!-- <el-select v-model="formInline3.end_quarter" placeholder="请选择结束时间" size="mini">-->
|
||
<!-- <el-option v-for="item in options_quarter_year" :key="item.value" :label="item.label" :value="item.value"></el-option>-->
|
||
<!-- </el-select>-->
|
||
<!-- </el-form-item>-->
|
||
|
||
<el-form-item>
|
||
<el-button class="grayish_btn" @click="onSubmit10" size="mini" style=" margin-right: 20px;">查询</el-button>
|
||
</el-form-item>
|
||
|
||
</el-form>
|
||
</div>
|
||
<!-- 折线图 -->
|
||
<div class='line' >
|
||
<div ref="echarts_2" style="height:500px;width:800px"></div>
|
||
</div>
|
||
|
||
|
||
|
||
</el-card>
|
||
<!-- 2-3-交叉对比 -->
|
||
<el-card style=" height:740px; border: 1px solid #7f7f7f;" :body-style={padding:0} > <!--:body-style={padding:0}取消卡片边距,btn就能在左上角 -->
|
||
<div class="card_label" style=" height: 24px;width: 100%;text-align: left; padding-left:10px;">交叉对比</div>
|
||
<el-tabs type="card" style='padding-top:10px;padding-left:10px;'>
|
||
<!-- 2-3-1 行业-->
|
||
<el-tab-pane label="行业">
|
||
<el-card style=" height:80px; border: 1px solid #7f7f7f;" :body-style={padding:0} >
|
||
<div class="card_label" style=" height: 24px;width: 100%;text-align: left; padding-left:10px;">条件查询</div>
|
||
<!-- 搜索框 -->
|
||
<div class="form"> <!-- inline="true"表单域在一行 -->
|
||
<el-form :inline="true" :model="formInline4" class="demo-form-inline">
|
||
<el-form-item label="日期 " style=" margin-right: 40px;">
|
||
<quter-component v-model="formInline4.quarter_year" placeholder="选择季度" />
|
||
</el-form-item>
|
||
<el-form-item label="行业名称 " style=" margin-right: 40px;">
|
||
<el-select v-model="formInline4.industry" placeholder="请选择行业名称" >
|
||
<el-option v-for="item in options_industry" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<el-form-item>
|
||
<el-button class="grayish_btn" @click="onSubmit8" size="mini" style=" margin-right: 20px;">查询</el-button>
|
||
</el-form-item>
|
||
</el-form>
|
||
</div>
|
||
</el-card>
|
||
<!-- "对比-交叉对比-行业"表格 -->
|
||
<div class="table" style=" padding: 20px 10px 2px 0px;"><!--返回表格添加间隙 上 右 -->
|
||
<el-table :data="tableData_2_2" :header-cell-style="{background: 'rgba(242, 242, 242)'}"
|
||
border
|
||
:row-style="{height:'28px'}"
|
||
:cell-style="{padding:'3px'}"
|
||
header-row-class-name="active_header"
|
||
header-cell-class-name="active_header"
|
||
cell-class-name="content_center"
|
||
style="width: 100%; border: 1px solid #7f7f7f"> <!-- style="width: 40%" height="215" -->
|
||
|
||
<el-table-column prop="name" label="名称"></el-table-column>
|
||
<el-table-column v-for='(val,key) in tableLabel_long' :prop="key" :label="val" sortable><!--插槽里面没有东西就可以用单标签 -->
|
||
</el-table-column>
|
||
</el-table>
|
||
</div>
|
||
</el-tab-pane>
|
||
<!-- 2-3-2 地域 -->
|
||
<el-tab-pane label="地域">
|
||
<el-card style=" height:80px; border: 1px solid #7f7f7f;" :body-style={padding:0} >
|
||
<div class="card_label" style=" height: 24px;width: 100%;text-align: left; padding-left:10px;">条件查询</div>
|
||
<!-- 搜索框 -->
|
||
<div class="form"> <!-- inline="true"表单域在一行 -->
|
||
<el-form :inline="true" :model="formInline5" class="demo-form-inline">
|
||
<el-form-item label="开始时间">
|
||
<el-date-picker v-model="formInline5.start_date" type="date" placeholder="年-月-日" size="mini"></el-date-picker>
|
||
</el-form-item>
|
||
|
||
<el-form-item label="结束时间">
|
||
<el-date-picker v-model="formInline5.end_date" type="date" placeholder="年-月-日" size="mini"></el-date-picker>
|
||
</el-form-item>
|
||
|
||
<el-form-item label="省份 " style=" margin-right: 40px;">
|
||
<el-select v-model="formInline5.province" placeholder="请选择省份" size="mini">
|
||
<el-option v-for="item in options_province" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
|
||
<el-form-item>
|
||
<el-button class="grayish_btn" @click="onSubmit9" size="mini" style=" margin-right: 20px;">查询</el-button>
|
||
</el-form-item>
|
||
|
||
</el-form>
|
||
</div>
|
||
</el-card>
|
||
|
||
<!-- "对比-交叉对比-地域"表格 -->
|
||
<div class="table" style=" padding: 20px 10px 2px 0px;"><!--返回表格添加间隙 上 右 -->
|
||
<el-table :data="tableData_2_3" :header-cell-style="{background: 'rgba(242, 242, 242)'}"
|
||
border
|
||
:row-style="{height:'28px'}"
|
||
:cell-style="{padding:'3px'}"
|
||
header-row-class-name="active_header"
|
||
header-cell-class-name="active_header"
|
||
cell-class-name="content_center"
|
||
style="width: 100%; border: 1px solid #7f7f7f"> <!-- style="width: 40%" height="215" -->
|
||
|
||
<el-table-column prop="name" label="名称"></el-table-column>
|
||
<el-table-column v-for='(val,key) in tableLabel_long' :prop="key" :label="val" sortable><!--插槽里面没有东西就可以用单标签 -->
|
||
</el-table-column>
|
||
</el-table>
|
||
</div>
|
||
</el-tab-pane>
|
||
|
||
</el-tabs>
|
||
</el-card>
|
||
</el-tab-pane><!-- 2对比-end -->
|
||
|
||
<!-- 3、我的管理 -->
|
||
<el-tab-pane label="我的管理">
|
||
<!-- 第三栏"我的管理"的表格 -->
|
||
<div class="table">
|
||
<el-table :data="tableData_3" :header-cell-style="{background: 'rgba(242, 242, 242)'}"
|
||
|
||
|
||
border
|
||
height="250"
|
||
:row-style="{height:'28px'}"
|
||
:cell-style="{padding:'3px'}"
|
||
header-row-class-name="active_header"
|
||
header-cell-class-name="active_header"
|
||
cell-class-name="content_center"
|
||
style="width: 100%; border: 1px solid #7f7f7f;"> <!-- style="width: 40%" height="215" -->
|
||
<el-table-column v-for='(val,key) in tableLabel_short' :prop="key" :label="val" /><!--插槽里面没有东西就可以用单标签 -->
|
||
<el-table-column
|
||
prop="scale"
|
||
label="操作">
|
||
<template slot-scope="scope">
|
||
<el-button type="primary" v-on:@click="onSubmit3" size="mini" >雷达图</el-button>
|
||
<el-button type="primary" @click="onSubmit4" size="mini" >加入对比</el-button>
|
||
<el-button type="primary" @click="onSubmit5" size="mini" >加入管理</el-button>
|
||
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
|
||
</div>
|
||
|
||
|
||
</el-tab-pane>
|
||
|
||
|
||
</el-tabs>
|
||
</div>
|
||
</template>
|
||
|
||
<script>
|
||
import quterComponent from "@/components/quterComponent";
|
||
import * as echarts from "echarts"
|
||
import http from '../utils/request'
|
||
export default {
|
||
components:{
|
||
quterComponent
|
||
},
|
||
data() {
|
||
return {
|
||
// 雷达图数据
|
||
radarData:[],
|
||
// 雷达图弹窗
|
||
detailsdialog:false,
|
||
// 【分页组件的数据】
|
||
total:10,
|
||
page_size:1,
|
||
currentPage:2,
|
||
// 【整合接收数据】
|
||
formInline1: {
|
||
// 第1栏"健康指数"
|
||
company: '',
|
||
quarter_year: '',
|
||
},
|
||
formInline2: {
|
||
// 第2栏"对比"-"雷达图对比、健康指数共用"
|
||
tableData1:[],
|
||
tableData2:[],
|
||
radarData1:[],
|
||
radarData2:[],
|
||
company1: '',
|
||
company2: '',
|
||
quarter_year: '',
|
||
},
|
||
formInline3: {
|
||
// 第2栏"对比"-"健康指数对比"
|
||
company1: '',
|
||
company2: '',
|
||
start_quarter:'',
|
||
end_quarter:'',
|
||
},
|
||
formInline4: {
|
||
// 第2栏"对比"-"交叉对比"- 行业
|
||
quarter_year:'',
|
||
end_date:'',
|
||
industry:'',//行业独有
|
||
},
|
||
formInline5: {
|
||
// 第2栏"对比"-"交叉对比"-地域共用
|
||
start_date:'',
|
||
end_date:'',
|
||
province:'',//地域独有
|
||
},
|
||
// 健康指数点击雷达图后显示弹窗
|
||
formInline_1: {
|
||
company:'',
|
||
},
|
||
formInline_2: {
|
||
start_quarter:'',
|
||
end_quarter:'',
|
||
},
|
||
// 【搜索栏】
|
||
|
||
// 第2栏"对比"-"交叉对比"搜索栏(行业)
|
||
options_industry: [
|
||
{value: "房地产业",
|
||
label: "房地产业"},
|
||
{value: "信息传输、软件和信息技术服务业",
|
||
label: "信息传输、软件和信息技术服务业"},
|
||
{value: "水利、环境和公告设施管理业",
|
||
label: "水利、环境和公告设施管理业"},
|
||
{value: "制造业",
|
||
label: "制造业"},
|
||
{value: "综合",
|
||
label: "综合"},
|
||
{value: "建筑业",
|
||
label: "建筑业"},
|
||
{value: "批发和零售业",
|
||
label: "批发和零售业"},
|
||
{value: "电力、热力、燃气及水生产和供应业",
|
||
label: "电力、热力、燃气及水生产和供应业"},
|
||
{value: "银行",
|
||
label: "银行"},
|
||
],
|
||
// 第2栏"对比"-"交叉对比"搜索栏(地域省份)
|
||
options_province:[
|
||
{value: "北京市",
|
||
label: "北京市"},
|
||
{value: "山西省",
|
||
label: "山西省"},
|
||
{value: "河北省",
|
||
label: "河北省"},
|
||
{value: "河南省",
|
||
label: "河南省"},
|
||
{value: "山东省",
|
||
label: "山东省"},
|
||
{value: "安徽省",
|
||
label: "安徽省"},
|
||
],
|
||
|
||
// 【表格】
|
||
// [table-label]
|
||
tableLabel_short: {
|
||
name: '公司名称',
|
||
level: '健康等级',
|
||
健康指数: '健康指数',
|
||
},
|
||
tableLabel_long: {
|
||
// name: '名称',
|
||
健康指数: '健康指数',
|
||
财务状态:'财务状态',
|
||
运行状态:'运行状态',
|
||
规模扩张:'规模扩张',
|
||
声誉风险:'声誉风险',
|
||
外部环境:'外部环境',
|
||
操盘模式:'操盘模式',
|
||
},
|
||
// [table-data]
|
||
// 第1栏"健康指数"表格
|
||
tableData_1: [
|
||
// { name: '中国银行',
|
||
// index: 1,
|
||
// level: "中等",},
|
||
],
|
||
// 第2栏"对比"表格
|
||
tableData_2_1: [
|
||
|
||
],
|
||
// 第2栏"对比"-"交叉对比"表格_行业
|
||
tableData_2_2: [
|
||
{ name: '中国银行',
|
||
index: 1,},
|
||
|
||
{ name: '北京银行',
|
||
index: 3,},
|
||
],
|
||
// 第2栏"对比"-"交叉对比"表格_地域
|
||
tableData_2_3: [
|
||
{ name: '中国银行',
|
||
index: 1,},
|
||
|
||
{ name: '北京银行',
|
||
index: 3,},
|
||
],
|
||
// 第3栏"我的管理"
|
||
tableData_3: [
|
||
{ name: '中国银行',
|
||
index: 1,
|
||
level: "中等",},
|
||
],
|
||
// 第1栏"健康指数"-点击“雷达图”
|
||
tableData_4: [
|
||
{ name: '中国银行',
|
||
index: 1,
|
||
level: "中等",},
|
||
],
|
||
|
||
|
||
}
|
||
},
|
||
|
||
methods:{
|
||
// 联想
|
||
querySearch(queryString, cb) {
|
||
console.log(queryString)
|
||
// console.log(cb)
|
||
http.get(
|
||
"/search/search_health/?keyword="+queryString,
|
||
|
||
// paramsSerializer: params => {
|
||
// return qs.stringify(params, { indices: false })
|
||
).then(response => {
|
||
// console.log(response.data)
|
||
// console.log(cb)
|
||
let result=response.data
|
||
let re=[]
|
||
for (let i of result){
|
||
re.push({"value":i})
|
||
}
|
||
cb(re)
|
||
})},
|
||
// 健康指数
|
||
onSubmit1(){
|
||
console.log("健康指数查询")
|
||
http.get(
|
||
"/health/health_search/",
|
||
{params:{
|
||
name: this.formInline1.company,//公司名
|
||
date: this.formInline1.quarter_year,//时间(年份+季度)
|
||
}}).then(response => {
|
||
this.tableData_1= Array(response.data.data)
|
||
if (this.tableData_1['等级']===1)
|
||
this.tableData_1[0].level='严重'
|
||
else if (this.tableData_1['等级']===2)
|
||
this.tableData_1[0].level='中等'
|
||
else
|
||
this.tableData_1[0].level='良好'
|
||
// console.log(response)
|
||
this.tableData_1[0].name=this.formInline1.company
|
||
console.log(this.tableData_1)
|
||
if (this.radarData){
|
||
this.radarData.length=0
|
||
}
|
||
for (let i in response.data.data) {
|
||
// console.log(i)
|
||
if (i !== '健康指数' && i !== '等级' && typeof response.data.data[i] === 'number') this.radarData.push(response.data.data[i])
|
||
}
|
||
// console.log(this.radarData)
|
||
})
|
||
},
|
||
//
|
||
|
||
onSubmit2(){
|
||
console.log("清空")
|
||
},
|
||
|
||
onSubmit3(){
|
||
console.log("雷达图")
|
||
this.detailsdialog = true//打开弹窗
|
||
},
|
||
onSubmit4(){
|
||
console.log("加入对比")
|
||
},
|
||
onSubmit5(){
|
||
console.log("加入管理")
|
||
},
|
||
|
||
onSubmit6(){
|
||
if (this.tableData_2_1 || this.formInline2.radarData1 ||this.formInline2.radarData2){
|
||
this.formInline2.radarData1.length=0
|
||
this.formInline2.radarData2.length=0
|
||
this.tableData_2_1.length=0
|
||
}
|
||
http.get(
|
||
"/health/health_search/",
|
||
{params:{
|
||
name: this.formInline2.company1,//公司名
|
||
date: this.formInline2.quarter_year,//时间(年份+季度)
|
||
}}).then(response => {
|
||
this.formInline2.tableData1= response.data.data
|
||
if (this.formInline2.tableData1['等级']===1)
|
||
this.formInline2.tableData1.level='严重'
|
||
else if (this.formInline2.tableData1['等级']===2)
|
||
this.formInline2.tableData1.level='中等'
|
||
else
|
||
this.formInline2.tableData1.level='良好'
|
||
this.formInline2.tableData1.name=this.formInline2.company1
|
||
this.tableData_2_1.push( this.formInline2.tableData1)
|
||
for (let i in response.data.data){
|
||
if (i !=='健康指数' && i !=='等级' && typeof response.data.data[i]==='number') this.formInline2.radarData1.push(response.data.data[i])}
|
||
},
|
||
http.get(
|
||
"/health/health_search/",
|
||
{params:{
|
||
name: this.formInline2.company2,//公司名
|
||
date: this.formInline2.quarter_year,//时间(年份+季度)
|
||
}}).then(response => {
|
||
this.formInline2.tableData2= response.data.data
|
||
if (this.formInline2.tableData2['等级']===1)
|
||
this.formInline2.tableData2.level='严重'
|
||
else if (this.formInline2.tableData2['等级']===2)
|
||
this.formInline2.tableData2.level='中等'
|
||
else
|
||
this.formInline2.tableData2.level='良好'
|
||
// console.log(response)
|
||
this.formInline2.tableData2.name=this.formInline2.company2
|
||
for (let i in response.data.data)
|
||
if (i !=='健康指数' && i !=='等级' && typeof response.data.data[i]==='number') this.formInline2.radarData2.push(response.data.data[i])
|
||
console.log(this.formInline2.radarData2)
|
||
console.log(this.formInline2.radarData1)
|
||
const echarts1 = echarts.init(this.$refs.echarts_1)
|
||
|
||
this.tableData_2_1.push( this.formInline2.tableData2)
|
||
console.log(this.tableData_2_1)
|
||
const option1 = {
|
||
// 右上角存图
|
||
toolbox: {
|
||
feature: {
|
||
saveAsImage: {}
|
||
}
|
||
},
|
||
title: {
|
||
text: this.formInline2.quarter_year,
|
||
x:'center',//水平安放位置,默认为'left',可选为:'center' | 'left' | 'right' | {number}(x坐标,单位px)
|
||
y:"bottom",
|
||
padding:[ 0,10,10,10],
|
||
|
||
},
|
||
legend: {
|
||
data: ['中国银行']
|
||
},
|
||
radar: {
|
||
// shape: 'circle',
|
||
indicator: [
|
||
{ name: '投资关系', max: 100 },
|
||
{ name: '操盘模式', max: 100 },
|
||
{ name: '财务状态', max: 100 },
|
||
{ name: '运行状态', max: 100 },
|
||
{ name: '规模扩张', max: 100 },
|
||
{ name: '声誉风险', max: 100 },
|
||
{ name: '外部环境', max: 100 }
|
||
]
|
||
},
|
||
series: [
|
||
{
|
||
name: 'Budget vs spending',
|
||
type: 'radar',
|
||
data: [
|
||
{
|
||
value: this.formInline2.radarData1,
|
||
name: this.formInline2.company1
|
||
},
|
||
{
|
||
value: this.formInline2.radarData2,
|
||
name: this.formInline2.company2
|
||
},
|
||
]
|
||
}
|
||
]
|
||
};
|
||
echarts1.setOption(option1)
|
||
})
|
||
)
|
||
|
||
|
||
},
|
||
onSubmit10(){
|
||
let echarts1 = echarts.init(this.$refs.echarts_2)
|
||
http.get(
|
||
"/health/line_chart/",
|
||
{params:{
|
||
name1: this.formInline2.company1,//公司名
|
||
name2:this.formInline2.company2,
|
||
sdate: this.formInline3.start_quarter,//时间(年份+季度)
|
||
edate:this.formInline3.end_quarter,
|
||
}}).then(response => {
|
||
let time=response.data.data['date']
|
||
let index1=response.data.data['value1']
|
||
let index2=response.data.data['value2']
|
||
// 折线图
|
||
const option= {
|
||
// 右上角存图
|
||
toolbox: {
|
||
feature: {
|
||
saveAsImage: {}
|
||
}
|
||
},
|
||
title: {
|
||
text: '健康指数',
|
||
x:'center',//水平安放位置,默认为'left',可选为:'center' | 'left' | 'right' | {number}(x坐标,单位px)
|
||
|
||
},
|
||
tooltip: {
|
||
trigger: 'axis'
|
||
},
|
||
legend: {
|
||
data: [this.formInline2.company1,this.formInline2.company2],
|
||
x:'center',//水平安放位置,默认为'left',可选为:'center' | 'left' | 'right' | {number}(x坐标,单位px)
|
||
y:"bottom",
|
||
padding:0,
|
||
},
|
||
grid: {
|
||
left: '3%',
|
||
right: '4%',
|
||
bottom: '3%',
|
||
containLabel: true
|
||
},
|
||
xAxis: {
|
||
type: 'category',
|
||
boundaryGap: false,
|
||
data: time,
|
||
axisLabel: {
|
||
interval:0,
|
||
rotate:40}
|
||
},
|
||
yAxis: {
|
||
type: 'value',
|
||
},
|
||
series: [
|
||
{
|
||
name: this.formInline2.company1,
|
||
type: 'line',
|
||
stack: 'Total',
|
||
data: index1
|
||
},
|
||
{
|
||
name: this.formInline2.company2,
|
||
type: 'line',
|
||
stack: 'Total',
|
||
data: index2
|
||
},
|
||
]
|
||
};
|
||
echarts1.setOption(option)
|
||
})
|
||
},
|
||
onSubmit7(){
|
||
console.log("健康 历史")
|
||
http.get(
|
||
"/health/line_chart/",
|
||
{params:{
|
||
name1: this.formInline1.company,//公司名
|
||
sdate: this.formInline_2.start_quarter,//时间(年份+季度)
|
||
edate:this.formInline_2.end_quarter,
|
||
}}).then(response => {
|
||
let time=response.data.data['date']
|
||
let index=response.data.data['value1']
|
||
// 折线图
|
||
const echarts4 = echarts.init(this.$refs.echarts_4)
|
||
const option_4 = {
|
||
// 右上角存图
|
||
toolbox: {
|
||
feature: {
|
||
saveAsImage: {}
|
||
}
|
||
},
|
||
title: {
|
||
text: '健康指数',
|
||
x:'center',//水平安放位置,默认为'left',可选为:'center' | 'left' | 'right' | {number}(x坐标,单位px)
|
||
|
||
},
|
||
tooltip: {
|
||
trigger: 'axis'
|
||
},
|
||
legend: {
|
||
data: [this.formInline1.company],
|
||
x:'center',//水平安放位置,默认为'left',可选为:'center' | 'left' | 'right' | {number}(x坐标,单位px)
|
||
y:"bottom",
|
||
padding:0,
|
||
},
|
||
grid: {
|
||
left: '3%',
|
||
right: '4%',
|
||
bottom: '3%',
|
||
containLabel: true
|
||
},
|
||
xAxis: {
|
||
type: 'category',
|
||
boundaryGap: false,
|
||
data: time,
|
||
axisLabel: {
|
||
interval:0,
|
||
rotate:40}
|
||
},
|
||
yAxis: {
|
||
type: 'value',
|
||
|
||
|
||
},
|
||
series: [
|
||
{
|
||
name: this.formInline1.company,
|
||
type: 'line',
|
||
stack: 'Total',
|
||
data: index
|
||
},
|
||
// {
|
||
// name: '北京银行',
|
||
// type: 'line',
|
||
// stack: 'Total',
|
||
// data: [220, 182, 191, 234, 290, 330, 310]
|
||
// },
|
||
|
||
]
|
||
};
|
||
echarts4.setOption(option_4)
|
||
})
|
||
|
||
|
||
},
|
||
onSubmit8(){
|
||
console.log("交叉对比-行业 查询")
|
||
http.get(
|
||
"/health/health_indus/",
|
||
{params:{
|
||
ind: this.formInline4.industry,//公司名
|
||
date: this.formInline4.quarter_year,//时间(年份+季度)
|
||
}}).then(response => {
|
||
this.tableData_2_2= Array(response.data.data)
|
||
console.log(this.tableData_2_2)})
|
||
// if (this.formInline2.tableData1['等级']===1)
|
||
// this.formInline2.tableData1.level='严重'
|
||
// else if (this.formInline2.tableData1['等级']===2)
|
||
// this.formInline2.tableData1.level='中等'
|
||
// else
|
||
// this.formInline2.tableData1.level='良好'
|
||
// this.formInline2.tableData1.name=this.formInline2.company1
|
||
// this.tableData_2_1.push( this.formInline2.tableData1)
|
||
},
|
||
onSubmit9(){
|
||
console.log("交叉对比-地域 查询")
|
||
},
|
||
|
||
// 弹窗显示echarts
|
||
initEcharts() {
|
||
// 弹窗的雷达图与折线图
|
||
// 雷达图
|
||
const echarts3 = echarts.init(this.$refs.echarts_3)
|
||
const option_3 = {
|
||
// 右上角存图
|
||
toolbox: {
|
||
feature: {
|
||
saveAsImage: {}
|
||
}
|
||
},
|
||
title: {
|
||
text: this.formInline1.quarter_year.slice(0,4)+'年第'+this.formInline1.quarter_year.slice(6,)+'季度',
|
||
x:'center',//水平安放位置,默认为'left',可选为:'center' | 'left' | 'right' | {number}(x坐标,单位px)
|
||
y:"bottom",
|
||
padding:[ 0,10,10,10],
|
||
|
||
},
|
||
legend: {
|
||
data: ['中国银行']
|
||
},
|
||
radar: {
|
||
// shape: 'circle',
|
||
indicator: [
|
||
{ name: '投资关系', max: 100 },
|
||
{ name: '操盘模式', max: 100 },
|
||
{ name: '财务状态', max: 100 },
|
||
{ name: '运行状态', max: 100 },
|
||
{ name: '规模扩张', max: 100 },
|
||
{ name: '声誉风险', max: 100 },
|
||
{ name: '外部环境', max: 100 }
|
||
]
|
||
},
|
||
series: [
|
||
{
|
||
name: 'Budget vs spending',
|
||
type: 'radar',
|
||
data: [
|
||
{
|
||
value: this.radarData,
|
||
name: this.formInline1.company
|
||
},
|
||
]
|
||
}
|
||
]
|
||
};
|
||
echarts3.setOption(option_3)
|
||
},
|
||
open(){
|
||
this.$nextTick(() => {
|
||
// 执行echarts方法
|
||
this.initEcharts()
|
||
})
|
||
},
|
||
|
||
}
|
||
};
|
||
</script>
|
||
|
||
<style lang="less" scoped>
|
||
|
||
.grayish_btn{//浅灰色按钮
|
||
color: #fff;//文字颜色
|
||
background-color: #aaaaaa;//背景颜色
|
||
}
|
||
.card_label{
|
||
font-size: 13px;
|
||
// padding:10px;
|
||
color:#fff;
|
||
background-color: #7f7f7f;
|
||
}
|
||
.form{//产品搜索栏
|
||
display:flex;
|
||
justify-content:space-between;//左右贴边
|
||
margin-top:5px;
|
||
// height: 40px;
|
||
padding-left: 40px;
|
||
// padding: 30px;
|
||
|
||
}
|
||
.table{
|
||
// 和选项框隔开
|
||
margin-top:10px;
|
||
font-size: 12px;
|
||
|
||
|
||
// 调整表头间隔、设置表头下方边框颜色
|
||
/deep/ .el-table td.el-table__cell, .el-table th.el-table__cell.is-leaf {
|
||
border-bottom: 1px solid #333333 !important;
|
||
padding: 1px 0;
|
||
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;
|
||
}
|
||
}
|
||
|
||
// 雷达图
|
||
.radar{
|
||
display:flex;
|
||
justify-content:center;
|
||
margin-right: 200px;
|
||
|
||
/deep/ .quarter_change{
|
||
display:column;
|
||
justify-content:center;
|
||
margin-top: 200px;
|
||
margin-left: 0px;
|
||
margin-right: 150px;
|
||
margin-bottom: 20px;
|
||
|
||
}
|
||
}
|
||
.line{
|
||
display:flex;
|
||
justify-content:center;
|
||
}
|
||
.grayish_btn{//浅灰色按钮
|
||
color: #fff;//文字颜色
|
||
background-color: #aaaaaa;//背景颜色
|
||
}
|
||
</style>
|
||
|