This commit is contained in:
xuyucheng 2022-04-29 17:08:02 +08:00
parent 329b06255f
commit 1d272788ad
3 changed files with 141 additions and 46 deletions

View File

@ -28,19 +28,56 @@
<el-card class="left" style="height: auto">
<span>股东信息</span>
<fecr-table
:data="optimizeData(data['股东信息'])"
:data="
optimizeData(
data['股东信息'].slice(
(currentShareholders - 1) * sizeShareholders,
currentShareholders * sizeShareholders
)
)
"
:columns="getColumn(data['股东信息'])"
class="top"
/></el-card>
class="top" />
<el-pagination
@size-change="handleSizeShareholdersChange"
@current-change="handleCurrentShareholdersChange"
:current-page="currentShareholders"
:page-sizes="[5, 10]"
:page-size="100"
layout="total, sizes, prev, pager, next"
:total="data['股东信息'].length"
style="float:right;margin-top:20px"
>
</el-pagination
></el-card>
</el-col>
<el-col :span="24">
<el-card class="left"
><span>主要成员</span>
<fecr-table
:data="optimizeData(data['主要成员'])"
:data="
optimizeData(
data['主要成员'].slice(
(currentMember - 1) * sizeMember,
currentMember * sizeMember
)
)
"
:columns="getColumn(data['主要成员'])"
class="top"
/></el-card>
/>
<el-pagination
@size-change="handleSizeMemberChange"
@current-change="handleCurrentMemberChange"
:current-page="currentMember"
:page-sizes="[5, 10]"
:page-size="100"
layout="total, sizes, prev, pager, next"
:total="data['主要成员'].length"
style="float:right;margin-top:20px"
>
</el-pagination>
</el-card>
</el-col>
</el-row>
</template>
@ -52,6 +89,10 @@ export default {
components: { FecrTable },
data() {
return {
currentMember: 1,
sizeMember: 5,
currentShareholders: 1,
sizeShareholders: 5,
businessColumn: [
"企业状态",
"注册资本",
@ -79,13 +120,27 @@ export default {
init() {
get("/company/basic_info").then((res) => {
if (Object.keys(res.result).length === 0) {
this.$emit("getDisabled",{disabled:true,index:0})
this.$emit("getDisabled", { disabled: true, index: 0 });
} else {
this.data = res.result;
}
});
},
handleSizeMemberChange(val) {
this.sizeMember = val;
},
handleCurrentMemberChange(val) {
this.currentMember = val;
},
handleSizeShareholdersChange(val) {
this.sizeShareholders = val;
},
handleCurrentShareholdersChange(val) {
this.currentShareholders = val;
},
//
optimizeData(val) {
const data = [];
@ -125,4 +180,8 @@ export default {
border-right: 0.25px solid #707070;
border-bottom: 0.25px solid #707070;
}
.el-card{
min-height: auto;
}
</style>

View File

@ -1,6 +1,28 @@
<!-- 行业宏观分析 -->
<template>
<el-row>
<el-dialog :visible.sync="reportVisible" title="预览">
<div class="pdf-box">
<pdf
:src="file"
:page="item"
v-for="item in numPages"
:key="item"
:style="{
width: numPages === 1 ? '70%' : '100%',
height: numPages === 1 ? '70%' : '100%',
}"
>
</pdf>
</div>
<span slot="footer" class="dialog-footer">
<span style="float: left; line-height: 50px">{{ numPages }}</span>
<el-button @click="reportVisible = false"> </el-button>
<el-button type="primary" @click="reportVisible = false"
> </el-button
>
</span>
</el-dialog>
<el-col :span="12">
<el-card class="left">
<span>增长趋势</span>
@ -19,7 +41,7 @@
><el-card class="left">
<div slot="header" class="clearfix">
<span>{{ data["行业"] }}</span>
<el-button type="primary" size="small" style="float: right"
<el-button type="primary" size="small" style="float: right" @click="viewReport"
>宏观报告</el-button
>
</div>
@ -47,17 +69,21 @@
</template>
<script>
import { get } from "@/api/api";
import pdf from "vue-pdf";
import { get, BlobGet } from "api/api";
import FecrLine from "@/components/FecrLine";
import FecrPie from "@/components/FecrPie";
export default {
components: { FecrLine, FecrPie },
components: { FecrLine, FecrPie,pdf },
props: {
name: [String],
},
data() {
return {
data: {},
reportVisible: false,
file: "",
numPages: "",
};
},
@ -75,9 +101,47 @@ export default {
}
});
},
viewReport() {
this.reportVisible = true;
BlobGet("/file/get_industry_report").then((res) => {
if (res.info) {
this.$message.warning(res.info);
} else {
this.loadPdfHandler(res);
}
});
},
// pdf
loadPdfHandler(url) {
var loadingTask = pdf.createLoadingTask(url);
loadingTask.promise.then((pdf) => {
this.file = loadingTask;
this.numPages = pdf.numPages;
});
},
},
};
</script>
<style lang='scss' scoped>
@import "@/assets/css/company.scss";
::v-deep .el-dialog {
margin-top: 5vh !important;
height: 90vh;
}
::v-deep .el-dialog__body {
height: calc(100% - 200px);
overflow: auto;
}
.pdf-box {
width: 100%;
display: flex;
justify-content: center;
flex-wrap: wrap;
align-items: center;
}
</style>

View File

@ -37,7 +37,7 @@
<el-row class="left-risk">
<span>自身风险</span>
<fecr-table
:data="ownRiskData"
:data="data['自身风险']"
:columns="column"
class="top"
:height="'300px'"
@ -45,7 +45,7 @@
></fecr-table>
<span>变更记录</span>
<fecr-table
:data="changeRecordData"
:data="data['变更记录']"
:columns="column"
class="top"
:height="'300px'"
@ -59,7 +59,7 @@
<el-row class="left-risk">
<span>经营风险</span>
<fecr-table
:data="businessRiskData"
:data="data['经营风险']"
:columns="column"
class="top"
:height="'300px'"
@ -67,7 +67,7 @@
></fecr-table>
<span>周边风险</span>
<fecr-table
:data="sideRiskData"
:data="data['周边风险']"
:columns="sideRiskColumn"
class="top"
:shortWidth="[0, 1]"
@ -93,19 +93,15 @@ export default {
return {
options: ["风险级别", "风险数量", "列入失信名单"],
data: {},
ownRiskData: [],
sideRiskData: [],
businessRiskData: [],
changeRecordData: [],
column: [
{ label: "风险类型", prop: "风险类型" },
{ label: "类型", prop: "类型" },
{ label: "数量", prop: "数量" },
{ label: "影响程度", prop: "影响程度" },
{ label: "影响", prop: "影响" },
],
sideRiskColumn: [
{ label: "风险类型", prop: "风险类型" },
{ label: "类型", prop: "类型" },
{ label: "数量", prop: "数量" },
{ label: "风险详情", prop: "风险详情" },
{ label: "详情", prop: "详情" },
],
};
},
@ -121,10 +117,6 @@ export default {
this.$emit("getDisabled", { disabled: true, index: 5 });
} else {
this.data = res.result;
this.ownRiskData = this.optimizeData(this.data["合规风险"], 0);
this.businessRiskData = this.optimizeData(this.data["经营风险"], 0);
this.sideRiskData = this.optimizeData(this.data["周边风险"], 1);
this.changeRecordData = this.optimizeData(this.data["变更记录"], 0);
}
});
},
@ -132,26 +124,6 @@ export default {
format(percentage) {
return percentage;
},
//
optimizeData(val, i) {
var label = i == 1 ? "风险详情" : "影响程度";
return val.map((item) => {
return {
风险类型: item[0],
数量: item[1],
[label]: Array.isArray(item[2])
? item[2]
.map((ele, index) => {
return index === 0
? index + 1 + "." + ele
: "</br>" + (index + 1) + "." + ele;
})
.toString()
: item[2],
};
});
},
},
};
</script>