This commit is contained in:
xuyucheng 2022-03-08 16:59:36 +08:00
parent 7e01e4a055
commit eb59f31f06
10 changed files with 126 additions and 59 deletions

View File

@ -110,9 +110,10 @@ export default {
data:{
handler(val){
this.data = val
console.log(this.data)
this.initLine()
},
immediate:true,
// immediate:true,
deep:true
},

View File

@ -346,10 +346,17 @@ export default {
result.result[key]["其他类型问卷"].forEach((item, index) => {
if (this.question[key][index].options) {
for (let i in this.question[key][index].options) {
this.question[key][index].options[i][0] === item
if(Array.isArray(item)){
this.question[key][index].options[i][0] === item[0]
? (this.question[key][index].answer =
this.question[key][index].options[i],this.question[key][index].des = item[1])
: null;
}else{
this.question[key][index].options[i][0] === item
? (this.question[key][index].answer =
this.question[key][index].options[i])
: null;
}
}
} else {
this.question[key][index].answer = item;
@ -460,11 +467,11 @@ export default {
list.forEach((key) => {
this.data[key]["其他类型问卷"] = val[key].map((item) => {
if (item.options) {
if (item.des) {
if (Object.prototype.hasOwnProperty.call(item,'des')) {
if (item.answer[0] === "A") {
return [item.answer[0], item.des];
} else {
return item.answer[0];
return [item.answer[0]];
}
} else {
return item.answer[0];
@ -499,7 +506,7 @@ export default {
});
val[key]["其他类型问卷"].forEach((item) => {
state.push(item !== null && item !== "" ? true : false);
state.push(item !== null && item !== "" &&item !==undefined ? true : false);
});
});
this.submitStatus = state.every((item) => {

View File

@ -91,50 +91,50 @@
</el-row>
</div>
</el-tab-pane> -->
<el-tab-pane name="first">
<el-tab-pane name="first" :disabled="tabData[0].disabled">
<p slot="label">综合信用评价</p>
<div>
<span>更新日期{{ data["综合信用等级"]["评价时间"] }}</span>
<el-row
><step-credit-appraisal @getVisible="getVisible" :name="state"
><step-credit-appraisal @getVisible="getVisible" :name="state" @getDisabled="getDisabled"
/></el-row></div
></el-tab-pane>
<el-tab-pane name="second">
<el-tab-pane name="second" :disabled="tabData[1].disabled">
<p slot="label">行业宏观分析</p>
<div>
<span>更新日期{{ data["综合信用等级"]["评价时间"] }}</span>
<el-row><step-industry-analysis :name="state"/></el-row></div
<el-row><step-industry-analysis :name="state" @getDisabled="getDisabled"/></el-row></div
></el-tab-pane>
<el-tab-pane name="third">
<el-tab-pane name="third" :disabled="tabData[2].disabled">
<p slot="label">财务要素评价</p>
<div>
<span>更新日期{{ data["综合信用等级"]["评价时间"] }}</span>
<el-row><step-elements-appraisal :state="state" /></el-row></div
<el-row><step-elements-appraisal :state="state" @getDisabled="getDisabled"/></el-row></div
></el-tab-pane>
<el-tab-pane name="fourth">
<el-tab-pane name="fourth" :disabled="tabData[3].disabled">
<p slot="label">公司风险分析</p>
<div>
<span>更新日期{{ data["综合信用等级"]["评价时间"] }}</span>
<el-row><step-risk-appraisal /></el-row>
<el-row><step-risk-appraisal @getDisabled="getDisabled"/></el-row>
</div>
</el-tab-pane>
<el-tab-pane name="fifth">
<el-tab-pane name="fifth" :disabled="tabData[4].disabled">
<p slot="label">公司基本信息</p>
<div>
<span>更新日期{{ data["综合信用等级"]["评价时间"] }}</span>
<el-row><step-company-info /></el-row></div
<el-row><step-company-info @getDisabled="getDisabled"/></el-row></div
></el-tab-pane>
<el-tab-pane name="sixth">
<el-tab-pane name="sixth" :disabled="tabData[5].disabled">
<p slot="label">分析指标明细</p>
<div>
<span>更新日期{{ data["综合信用等级"]["评价时间"] }}</span>
<el-row><stepAnalysisIndicator /></el-row></div
<el-row><stepAnalysisIndicator @getDisabled="getDisabled"/></el-row></div
></el-tab-pane>
<el-tab-pane name="seventh">
<el-tab-pane name="seventh" :disabled="tabData[6].disabled">
<p slot="label">ESG评价</p>
<div>
<span>更新日期{{ data["综合信用等级"]["评价时间"] }}</span>
<el-row><step-esg :name="state"></step-esg></el-row></div
<el-row><step-esg :name="state" @getDisabled="getDisabled"></step-esg></el-row></div
></el-tab-pane>
</el-tabs>
@ -175,13 +175,13 @@ export default {
data() {
return {
tabData: [
{ label: "综合信用评价", state: "first" },
{ label: "行业宏观分析", state: "second" },
{ label: "财务要素评价", state: "third" },
{ label: "公司风险分析", state: "fourth" },
{ label: "公司基本信息", state: "fifth" },
{ label: "分析指标明细", state: "sixth" },
{ label: "ESG评价", state: "seventh" },
{ label: "综合信用评价", state: "first",disabled:false },
{ label: "行业宏观分析", state: "second",disabled:false },
{ label: "财务要素评价", state: "third",disabled:false },
{ label: "公司风险分析", state: "fourth",disabled:false },
{ label: "公司基本信息", state: "fifth",disabled:false },
{ label: "分析指标明细", state: "sixth",disabled:false },
{ label: "ESG评价", state: "seventh",disabled:false },
],
state: "first",
data: {
@ -216,6 +216,10 @@ export default {
this.visible = val;
},
getDisabled(obj){
this.tabData[obj.index].disabled = obj.disabled
},
toAppraisal() {
this.$router.push("/appraisal");
},
@ -281,6 +285,18 @@ export default {
};
},
},
watch:{
tabData:{
handler(val){
for(let i in val){
if(!val[i].disabled){
return this.state = val[i].state
}
}
},
deep:true
}
}
};
</script>
<style lang='scss' scoped>

View File

@ -28,8 +28,12 @@ export default {
methods: {
init() {
JsonPost("/company/company_index", { table: "指标明细" }).then((res) => {
this.data = res.result;
this.getColumns();
if (Object.keys(res.result).length === 0) {
this.$emit("getDisabled",{disabled:true,index:5})
} else {
this.data = res.result;
this.getColumns();
}
});
},

View File

@ -78,7 +78,11 @@ export default {
methods: {
init() {
JsonPost("/company/company_index",{table:'公司基本信息'}).then((res) => {
this.data = res.result;
if (Object.keys(res.result).length === 0) {
this.$emit("getDisabled",{disabled:true,index:4})
} else {
this.data = res.result;
}
});
},

View File

@ -219,6 +219,7 @@ export default {
(res) => {
if (Object.keys(res.result).length === 0) {
this.$emit("getVisible", true);
this.$emit("getDisabled",{disabled:true,index:0})
} else {
this.data = res.result;
this.viewReport(res.result["信用分析"]["查看报告"]);

View File

@ -226,10 +226,14 @@ export default {
init() {
JsonPost("/company/company_index", { table: "财务要素分析" }).then(
(res) => {
this.data = res.result;
if (Object.keys(res.result).length === 0) {
this.$emit("getDisabled",{disabled:true,index:2})
} else {
this.data = res.result;
this.getTableData(this.selectTable);
this.secondaryIndicators();
}
}
);
},

View File

@ -3,8 +3,8 @@
<el-card>
<el-row type="flex" justify="space-between">
<el-col :span="11">
<p class="pri-title">ESG评级{{data['ESG评级']['ESG评级']}}</p>
<span>行业评级分布{{data['ESG评级']['行业']}}</span>
<p class="pri-title">ESG评级{{ data["ESG评级"]["ESG评级"] }}</p>
<span>行业评级分布{{ data["ESG评级"]["行业"] }}</span>
<div class="kpi">
<div
class="kpi-item"
@ -13,7 +13,10 @@
:style="{
background: item.color,
width: item.width,
border: data['ESG评级']['ESG评级'] === item.level ? '4px dashed #00D8FF' : 'none',
border:
data['ESG评级']['ESG评级'] === item.level
? '4px dashed #00D8FF'
: 'none',
}"
>
{{ item.level }}
@ -26,16 +29,27 @@
</div> -->
</el-col>
<el-col :span="11">
<p class="pri-title">ESG综合得分{{data['ESG评级']['ESG综合得分']}}</p>
<span>行业得分{{data['ESG评级']['行业']}}</span>
<p class="pri-title">
ESG综合得分{{ data["ESG评级"]["ESG综合得分"] }}
</p>
<span>行业得分{{ data["ESG评级"]["行业"] }}</span>
<div class="esg-progress">
<div class="esg-progress-line">
<div class="esg-progress-line-value" :style="{width:data['ESG评级']['ESG综合得分']+'%'}"></div>
<div
class="esg-progress-line-value"
:style="{ width: data['ESG评级']['ESG综合得分'] + '%' }"
></div>
</div>
</div>
<el-row type="flex" style="margin-top: 20px">
<span>0</span>
<span :style="{position: 'absolute', left: data['ESG评级']['ESG综合得分']+'%'}">{{data['ESG评级']['ESG综合得分']}}</span>
<span
:style="{
position: 'absolute',
left: data['ESG评级']['ESG综合得分'] + '%',
}"
>{{ data["ESG评级"]["ESG综合得分"] }}</span
>
<span style="position: absolute; right: 0">100</span>
</el-row>
</el-col>
@ -70,7 +84,10 @@
<el-card>
<p>议题表现</p>
<el-divider></el-divider>
<fecr-table :data="data['实质性议题']" :columns="issue().columns"></fecr-table>
<fecr-table
:data="data['实质性议题']"
:columns="issue().columns"
></fecr-table>
</el-card>
</div>
</template>
@ -97,8 +114,8 @@ export default {
{ level: "AAA", color: "#20D89F", width: "12%" },
],
data:{
"ESG评级":{}
data: {
ESG评级: {},
},
issueScore: [
@ -113,7 +130,7 @@ export default {
["40%", "45%"],
["30%", "35%"],
],
name:'环境'
name: "环境",
},
{
color: [
@ -126,7 +143,7 @@ export default {
["40%", "45%"],
["30%", "35%"],
],
name:'社会'
name: "社会",
},
{
color: [
@ -139,21 +156,25 @@ export default {
["40%", "45%"],
["30%", "35%"],
],
name:'治理'
name: "治理",
},
],
};
},
created(){
this.init()
created() {
this.init();
},
methods: {
init(){
get("/company/esg_analysis").then(res=>{
this.data = res.result[0]
})
init() {
get("/company/esg_analysis").then((res) => {
if (Object.keys(res.result).length === 0) {
this.$emit("getDisabled", {disabled:true,index:6});
} else {
this.data = res.result[0];
}
});
},
score() {

View File

@ -68,7 +68,12 @@ export default {
methods: {
init() {
get("/company/industry_analysis").then((res) => {
this.data = res.result;
if (Object.keys(res.result).length === 0) {
this.$emit("getDisabled", {disabled:true,index:1});
} else {
this.data = res.result;
console.log(this.data)
}
});
},
},

View File

@ -10,7 +10,7 @@
type="dashboard"
:percentage="data['风险分数']"
:format="format"
:color="data['风险分数']>50?'#ff9300':'#1989fa'"
:color="data['风险分数'] > 50 ? '#ff9300' : '#1989fa'"
></el-progress
><span>高风险</span>
</el-row>
@ -99,11 +99,15 @@ export default {
init() {
JsonPost("/company/company_index", { table: "风险要素分析" }).then(
(res) => {
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);
if (Object.keys(res.result).length === 0) {
this.$emit("getDisabled", {disabled:true,index:3});
} 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);
}
}
);
},
@ -194,9 +198,9 @@ export default {
border-bottom: 0.25px solid #707070;
}
.left-risk{
span{
margin-top:20px
.left-risk {
span {
margin-top: 20px;
}
}
</style>