financial-bigscreen/src_old/views/健康指数.vue
2024-11-14 15:27:41 +08:00

1029 lines
42 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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"> &lt;!&ndash; inline="true"表单域在一行 &ndash;&gt;-->
<!-- <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>