mode
This commit is contained in:
parent
396a39de99
commit
6a86d7a3e4
|
@ -30,7 +30,6 @@ function OperationalRisk(props) {
|
|||
if (props.table === '经营风险' && props.updateTime) {
|
||||
api.post("/admin/company/operating_risk", { cid: props.cid, update_time: props.updateTime }).then(res => {
|
||||
setValue(res)
|
||||
|
||||
})
|
||||
}
|
||||
}, [props.cid, props.updateTime, props.table])
|
||||
|
|
|
@ -14,12 +14,11 @@ class EditReport extends Component {
|
|||
}
|
||||
|
||||
componentDidMount() {
|
||||
const url = this.props.value.types === "综合评价流程" ? "/admin/rating/get_report_text_model" : "/admin/rating/get_esg_report_text"
|
||||
api.post(url, { rid: this.props.value.rid })
|
||||
api.post("/admin/rating/report_data", { rid: this.props.value.rid })
|
||||
.then(res => {
|
||||
this.setState({
|
||||
data: res.result['text_model'] ? res.result['text_model'] : [],
|
||||
tree: res.result['text_model'] ? this.createTree(res.result) : [],
|
||||
data: res.result['报告内容'] ? res.result['报告内容'] : [],
|
||||
tree: res.result['报告内容'] ? this.createTree(res.result) : [],
|
||||
type: this.props.value.types === "综合评价流程" ? 0 : 1
|
||||
})
|
||||
})
|
||||
|
@ -27,7 +26,7 @@ class EditReport extends Component {
|
|||
|
||||
createTree = (val) => {
|
||||
if (this.props.value.types === "综合评价流程") {
|
||||
const data = val['text_model'].map((item, index) => {
|
||||
const data = val['报告内容'].map((item, index) => {
|
||||
return {
|
||||
title: item['章节'], key: index.toString(), children: item["章节内容"].map((item_1, index_1) => {
|
||||
return {
|
||||
|
@ -40,7 +39,7 @@ class EditReport extends Component {
|
|||
})
|
||||
return data
|
||||
} else {
|
||||
const data = val['text_model'].map((item, index) => {
|
||||
const data = val['报告内容'].map((item, index) => {
|
||||
return {
|
||||
title: item['章节'], key: index.toString(), children: item["章节内容"].map((_, index_1) => {
|
||||
return {
|
||||
|
@ -105,13 +104,12 @@ class EditReport extends Component {
|
|||
}
|
||||
|
||||
onFinish = () => {
|
||||
const url = this.state.type === 0 ? "/admin/rating/report_edit_save_delete" : "/admin/rating/esg_report_edit_save_delete"
|
||||
const form = {
|
||||
cid: this.props.value.cid,
|
||||
rid: this.props.value.rid,
|
||||
text_model: this.state.data
|
||||
}
|
||||
api.post(url, form)
|
||||
api.post("/admin/rating/report_revise", form)
|
||||
.then(res => {
|
||||
message.info(res.info)
|
||||
})
|
||||
|
|
|
@ -20,11 +20,10 @@ class FillDetails extends Component {
|
|||
}
|
||||
|
||||
componentDidMount() {
|
||||
const url = this.props.value.types === "综合评价流程" ? "/admin/rating/details" : "/admin/rating/esg_details"
|
||||
api.post(url, { rid: this.props.value.rid })
|
||||
api.post("/admin/rating/details", { rid: this.props.value.rid })
|
||||
.then(res => {
|
||||
this.setState({
|
||||
data: res.result.length !== 0 ? res.result[0] : {},
|
||||
data: res.result,
|
||||
type: this.props.value.types === "综合评价流程" ? 0 : 1
|
||||
}, () => {
|
||||
this.getQuestionnaire()
|
||||
|
@ -34,11 +33,10 @@ class FillDetails extends Component {
|
|||
})
|
||||
}
|
||||
|
||||
|
||||
getQuestionnaire() {
|
||||
const form = {
|
||||
type: this.props.value.types === "综合评价流程" ? '综合信用评价' : 'ESG评价',
|
||||
industry: this.state.data["行业选择"][0]
|
||||
industry: this.props.value.types === "综合评价流程" ? this.state.data["行业选择"][0]:undefined
|
||||
}
|
||||
api.post("/admin/model/questionnaire/get_questionnaire", form)
|
||||
.then(res => {
|
||||
|
@ -98,7 +96,6 @@ class FillDetails extends Component {
|
|||
}
|
||||
|
||||
analysisArray = (params) => {
|
||||
|
||||
var columns = []
|
||||
const matrixData = params.map((row) => {
|
||||
var arr = [];
|
||||
|
@ -122,8 +119,7 @@ class FillDetails extends Component {
|
|||
return {
|
||||
title: item, dataIndex: item, align: 'center', key: i
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
const data = transData.map((item, i) => {
|
||||
var obj = {}
|
||||
|
@ -135,11 +131,8 @@ class FillDetails extends Component {
|
|||
})
|
||||
return obj
|
||||
})
|
||||
|
||||
data.shift()
|
||||
|
||||
return <React.Fragment><Tag color="#2db7f5">近三年企业数据</Tag><FeTable data={data} columns={transTitle}></FeTable></React.Fragment>
|
||||
|
||||
}
|
||||
|
||||
onChangeDisabled = e => {
|
||||
|
@ -156,7 +149,6 @@ class FillDetails extends Component {
|
|||
|
||||
render() {
|
||||
var sum = 0
|
||||
|
||||
return (
|
||||
<React.Fragment>
|
||||
{this.state.data && this.state.type === 0 ? <>
|
||||
|
@ -164,7 +156,7 @@ class FillDetails extends Component {
|
|||
<p><Tag color="#87d068">评价年度:{this.state.data["评价年度"]}</Tag><Tag color="#87d068" style={{ float: 'right' }}>{(() => { if ("行业选择" in this.state.data && this.state.data["行业选择"] !== null) { return this.state.data["行业选择"].join("/") } else { return null } })()}</Tag></p>
|
||||
<Tag color="#108ee9" style={{ marginBottom: 20 }}>经营问卷</Tag>
|
||||
<p>{this.state.visible.map((item, index) => {
|
||||
return <Tag color={!item.disabled ? '#f50' : '#909399'} style={{ marginBottom: 20,cursor:'pointer' }} onClick={this.onChangeDisabled.bind(this, index)}>{item.name}</Tag>
|
||||
return <Tag color={!item.disabled ? '#f50' : '#909399'} style={{ marginBottom: 20, cursor: 'pointer' }} onClick={this.onChangeDisabled.bind(this, index)}>{item.name}</Tag>
|
||||
})}</p>
|
||||
{this.state.questionnaire.map((item, i) => {
|
||||
if (i !== 0) {
|
||||
|
@ -189,7 +181,7 @@ class FillDetails extends Component {
|
|||
</>
|
||||
})}
|
||||
</p>
|
||||
}else{
|
||||
} else {
|
||||
return null
|
||||
}
|
||||
})
|
||||
|
|
|
@ -136,14 +136,16 @@ function RateProcess1(props) {
|
|||
"animated": true
|
||||
},
|
||||
]
|
||||
res.info.forEach((item, index) => {
|
||||
Object.keys(item).forEach((key, i) => {
|
||||
console.log(res.info['评价流程'])
|
||||
Object.keys(res.info['评价流程']).forEach((item, index) => {
|
||||
console.log(item,index)
|
||||
Object.keys(res.info['评价流程'][item]).forEach((key, i) => {
|
||||
nodes.push({
|
||||
id: count.toString(),
|
||||
data: { label: key },
|
||||
type: index === 0 ? "input" : index === res.info.length - 1 ? "output" : "default",
|
||||
position: { x: (i + 1) * 200, y: (index + 1) * 100 },
|
||||
style: item[key] === 1 ? {
|
||||
style: res.info['评价流程'][item][key] === 1 ? {
|
||||
background: '#87d068',
|
||||
color: '#fff',
|
||||
border: '1px solid #87d068',
|
||||
|
@ -158,7 +160,8 @@ function RateProcess1(props) {
|
|||
count++
|
||||
})
|
||||
})
|
||||
setNodes(nodes)
|
||||
console.log(nodes)
|
||||
// setNodes(nodes)
|
||||
if (props.value.type === "ESG评价流程") {
|
||||
setEdges(edges_2)
|
||||
} else {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import React, { Component } from 'react'
|
||||
import { Descriptions, Tag, Divider, Empty } from 'antd'
|
||||
import { Descriptions, Tag, Divider, Empty, } from 'antd'
|
||||
import api from "@/api/request"
|
||||
|
||||
class RateResult extends Component {
|
||||
|
@ -7,16 +7,15 @@ class RateResult extends Component {
|
|||
super(props)
|
||||
this.state = {
|
||||
data: {},
|
||||
type: 0,
|
||||
risk: {},
|
||||
}
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
const url = this.props.value.types === "综合评价流程" ? "/admin/rating/rating_result" : "/admin/rating/esg_rating_result"
|
||||
api.post(url, { rid: this.props.value.rid })
|
||||
api.post("/admin/rating/rating_result", { rid: this.props.value.rid })
|
||||
.then(res => {
|
||||
this.setState({
|
||||
data: res.result[0],
|
||||
data: res.result,
|
||||
type: this.props.value.types === "综合评价流程" ? 0 : 1
|
||||
})
|
||||
}).catch(err => {
|
||||
|
@ -46,37 +45,15 @@ class RateResult extends Component {
|
|||
</Descriptions>
|
||||
<Divider />
|
||||
<Tag color="#108ee9" style={{ marginBottom: 20 }}>财务评分</Tag>
|
||||
{['盈利能力', '债务风险', '经营增长', '资产质量', '财务合计'].map(item => {
|
||||
{['盈利能力', '债务风险', '经营增长', '资产质量'].map(item => {
|
||||
return <Descriptions column={4} title={item}>
|
||||
{this.state.data["财务评分"] && this.state.data["财务评分"][item] && Object.keys(this.state.data["财务评分"][item]).map((key, i) => {
|
||||
return <Descriptions.Item label={key} key={i}>{this.state.data["财务评分"][item][key]}</Descriptions.Item>
|
||||
})}
|
||||
</Descriptions>
|
||||
})}
|
||||
<p style={{ fontWeight: 800 }}>合计:{this.state.data['财务评分'] && this.state.data['财务评分']['合计']}</p>
|
||||
<Divider />
|
||||
<Tag color="#108ee9" style={{ marginBottom: 20 }}>风险评分</Tag>
|
||||
<Descriptions column={4} title="合规风险">
|
||||
<Descriptions.Item label="合规风险">{this.state.data["风险评分"] && this.state.data["风险评分"]["合规风险"]}</Descriptions.Item>
|
||||
</Descriptions>
|
||||
<Descriptions column={4} title="经营风险">
|
||||
{this.state.data["风险评分"] && Object.keys(this.state.data["风险评分"]["经营风险"]).map((key, i) => {
|
||||
return <Descriptions.Item label={key} key={i}>{this.state.data["风险评分"]["经营风险"][key]}</Descriptions.Item>
|
||||
})}
|
||||
</Descriptions>
|
||||
<Divider />
|
||||
{this.state.data["风险评分"] && this.state.data["风险评分"]["关联风险"] && this.state.data["风险评分"]["关联风险"]["变更记录"] && Object.keys(this.state.data["风险评分"]["关联风险"]["变更记录"]).map((key, i) => {
|
||||
return <Descriptions column={4} title="关联风险 - 变更记录"><Descriptions.Item label={key} key={i}>{this.state.data["风险评分"]["关联风险"]["变更记录"][key]}</Descriptions.Item></Descriptions>
|
||||
})}
|
||||
{this.state.data["风险评分"] && this.state.data["风险评分"]["关联风险"] && this.state.data["风险评分"]["关联风险"]["周边风险"] && Object.keys(this.state.data["风险评分"]["关联风险"]["周边风险"]).map((key, i) => {
|
||||
return <Descriptions column={4} title="关联风险 - 周边风险"><Descriptions.Item label={key} key={i}>{this.state.data["风险评分"]["关联风险"]["周边风险"][key]}</Descriptions.Item></Descriptions>
|
||||
})}
|
||||
<Descriptions column={4} title="关联风险 - 合计">
|
||||
<Descriptions.Item label="合计">{this.state.data["风险评分"] && this.state.data["风险评分"]["关联风险"]["合计"]}</Descriptions.Item>
|
||||
</Descriptions>
|
||||
<Divider />
|
||||
<Descriptions column={4} title="风险合计">
|
||||
<Descriptions.Item label="合计">{this.state.data["风险评分"] && this.state.data["风险评分"]["合计"]}</Descriptions.Item>
|
||||
</Descriptions>
|
||||
</>
|
||||
: this.state.data && this.state.type === 1 ?
|
||||
<>
|
||||
|
|
|
@ -12,11 +12,10 @@ class RiskData extends Component {
|
|||
}
|
||||
|
||||
componentDidMount() {
|
||||
const url = this.props.value.types === "综合评价流程" ? "/admin/rating/risk" : "/admin/rating/esg_risk"
|
||||
api.post(url, { rid: this.props.value.rid })
|
||||
api.post("/admin/rating/risk" , { rid: this.props.value.rid })
|
||||
.then(res => {
|
||||
this.setState({
|
||||
data: res.result.length !== 0 ? res.result[0] : {},
|
||||
data: res.result,
|
||||
type: this.props.value.types === "综合评价流程" ? 0 : 1
|
||||
})
|
||||
}).catch(err => {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import React, { Component } from 'react'
|
||||
import { Input } from 'antd'
|
||||
import { Input, Form, Button } from 'antd'
|
||||
import Pdf from "@/components/pdf"
|
||||
import FeTable from '@/components/table'
|
||||
import api from "@/api/request"
|
||||
|
@ -7,8 +7,10 @@ import { connect } from 'react-redux';
|
|||
import store from "@/store/index"
|
||||
import { operationAction } from "@/action/index"
|
||||
|
||||
|
||||
const { Search } = Input
|
||||
var status = {
|
||||
name: '',
|
||||
sort: ''
|
||||
}
|
||||
|
||||
class ManageRate extends Component {
|
||||
constructor(props) {
|
||||
|
@ -17,25 +19,32 @@ class ManageRate extends Component {
|
|||
data: [],
|
||||
columns: [],
|
||||
file: "",
|
||||
visible: false
|
||||
visible: false,
|
||||
total: 0,
|
||||
form: {
|
||||
search: {},
|
||||
sort: {},
|
||||
page_no: 1,
|
||||
page_size: 10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
this.onSearch("")
|
||||
this.init()
|
||||
}
|
||||
|
||||
onSearch = (value) => {
|
||||
api.post("/admin/rating/search", { query: value, skip: 0, limit: 10 }).then(res => {
|
||||
const col = Object.keys(res.result[0]).map((key, i) => {
|
||||
init = () => {
|
||||
api.post("/admin/rating/search", this.state.form).then(res => {
|
||||
const col = Object.keys(res.result.records[0]).map((key, i) => {
|
||||
return key === "证书fid" || key === "报告fid" ? {
|
||||
title: key,
|
||||
dataIndex: key,
|
||||
key: i,
|
||||
align: 'center',
|
||||
render: (record) => <span style={{ color: '#108ee9',cursor:'pointer' }} onClick={this.handleClick.bind(this, record)}>预 览</span>
|
||||
render: (record) => <span style={{ color: '#108ee9', cursor: 'pointer' }} onClick={this.handleClick.bind(this, record)}>预 览</span>
|
||||
} : {
|
||||
title: key, dataIndex: key, align: 'center', key: i
|
||||
title: key, dataIndex: key, align: 'center', key: i, sorter: key !== 'uid' ? (a, b, c) => { this.sort(c, key) } : null, defaultSortOrder: 'descend',
|
||||
}
|
||||
})
|
||||
col.push({
|
||||
|
@ -43,17 +52,50 @@ class ManageRate extends Component {
|
|||
dataIndex: '详 情',
|
||||
key: col.length,
|
||||
align: 'center',
|
||||
render: () => <span style={{ color: '#108ee9',cursor:'pointer' }}>详 情</span>,
|
||||
render: () => <span style={{ color: '#108ee9', cursor: 'pointer' }}>详 情</span>,
|
||||
})
|
||||
this.setState({
|
||||
data: res.result,
|
||||
columns: col
|
||||
columns: col,
|
||||
data: res.result.records,
|
||||
total: res.result.total
|
||||
})
|
||||
}).catch(err => {
|
||||
console.log(err)
|
||||
})
|
||||
}
|
||||
|
||||
onSearch = (value) => {
|
||||
const search = { search: {}, page_no: 1 }
|
||||
value && Object.keys(value).forEach(key => {
|
||||
if (value[key] && value[key].length !== 0) {
|
||||
search.search[key] = value[key]
|
||||
}
|
||||
})
|
||||
this.setState({
|
||||
form: Object.assign(this.state.form, search)
|
||||
}, () => {
|
||||
this.init()
|
||||
})
|
||||
}
|
||||
|
||||
sort = (c, item, search) => {
|
||||
if (status.name === item && status.sort === c) {
|
||||
return false
|
||||
} else {
|
||||
status = {
|
||||
name: item,
|
||||
sort: c
|
||||
}
|
||||
this.setState({
|
||||
form: Object.assign(this.state.form, {
|
||||
sort: { [item]: c === 'ascend' ? 'asc' : 'desc' }
|
||||
})
|
||||
}, () => {
|
||||
this.onSearch()
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
isJump = false
|
||||
|
||||
handleClick(value) {
|
||||
|
@ -77,7 +119,7 @@ class ManageRate extends Component {
|
|||
return item.title === value["评价项目"] + '(' + value["评价ID"] + ')' ? false : true
|
||||
})
|
||||
if (state) {
|
||||
newPanes.push({ title: value["评价项目"] + '(' + value["评价ID"] + ')', content: "/manage/rate/details", key: (Number(newPanes[newPanes.length - 1].key) + 1).toString(),value:{cid:value["企业ID"],rid:value["评价ID"],types:value['评价项目'] === 'ESG评价'?'ESG评价流程':'综合评价流程'} });
|
||||
newPanes.push({ title: value["评价项目"] + '(' + value["评价ID"] + ')', content: "/manage/rate/details", key: (Number(newPanes[newPanes.length - 1].key) + 1).toString(), value: { cid: value["企业ID"], rid: value["评价ID"], types: value['评价项目'] === 'ESG评价' ? 'ESG评价流程' : '综合评价流程' } });
|
||||
store.dispatch(operationAction(newPanes, (newPanes[newPanes.length - 1].key)))
|
||||
} else {
|
||||
return null
|
||||
|
@ -93,12 +135,44 @@ class ManageRate extends Component {
|
|||
})
|
||||
}
|
||||
|
||||
pageChange = (current, pageSize) => {
|
||||
this.setState({
|
||||
form: Object.assign(this.state.form, {
|
||||
page_no: current,
|
||||
page_size: pageSize
|
||||
})
|
||||
}, () => {
|
||||
this.init()
|
||||
})
|
||||
}
|
||||
|
||||
onShowSizeChange = (current, pageSize) => {
|
||||
this.setState({
|
||||
form: Object.assign(this.state.form, {
|
||||
page_no: current,
|
||||
page_size: pageSize
|
||||
})
|
||||
}, () => {
|
||||
this.init()
|
||||
})
|
||||
}
|
||||
|
||||
render() {
|
||||
return (
|
||||
<React.Fragment>
|
||||
<Pdf file={this.state.file} visible={this.state.visible} callback={this.setVisible.bind(this)}></Pdf>
|
||||
<Search placeholder="检索评价" onSearch={this.onSearch} enterButton style={{ width: 300, marginBottom: 20 }} />
|
||||
<FeTable data={this.state.data} columns={this.state.columns} callback={this.callback.bind(this)}></FeTable>
|
||||
<Form layout="inline" onFinish={this.onSearch} style={{ marginBottom: 20 }}>
|
||||
<Form.Item name="企业ID" label="企业ID">
|
||||
<Input allowClear />
|
||||
</Form.Item>
|
||||
<Form.Item name="企业名称" label="企业名称">
|
||||
<Input allowClear />
|
||||
</Form.Item>
|
||||
<Button type="primary" htmlType="submit">
|
||||
检索
|
||||
</Button>
|
||||
</Form>
|
||||
<FeTable data={this.state.data} columns={this.state.columns} current={this.state.form.page_no} callback={this.callback.bind(this)} total={this.state.total} pageChange={this.pageChange.bind(this)} onShowSizeChange={this.onShowSizeChange.bind(this)} />
|
||||
</React.Fragment>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -13,11 +13,11 @@ class TestCompany extends Component {
|
|||
super(props)
|
||||
this.state = {
|
||||
data: [
|
||||
// { title: "企业认证", desc: "根据企业名称、统一社会信用代码、法人姓名进行企业认证", obj: { company: "", code: "", legal_person: "", cid: "" }, label: ["企业名称", "统一社会信用代码", "法人姓名", "企业ID"], url: "/admin/test/enterprise_certification", method: 'post' },
|
||||
// { title: "级联删除企业ID", desc: "根据cid,删除与其有关的所有记录", obj: { cid: "", data: [] }, label: ["企业ID", "企业数据"], url: "/admin/test/delete_cid_cascade", method: 'post' },
|
||||
// { title: "级联删除评价ID", desc: "根据rid,删除与其有关的所有记录", obj: { rid: "", record: "", data: [] }, label: ["评价ID", "评价类型", "评价记录"], url: "/admin/test/delete_rid_cascade", method: 'post' },
|
||||
// { title: "企业认证状态修改", desc: "修改企业认证状态,只能修改为未认证,如需认证则通过认证接口", obj: { cid: "" }, label: ["企业ID"], url: "/admin/test/change_verified", method: 'get' },
|
||||
// { title: "级联生成企业主页", desc: "根据rid,生成企业主页信息", obj: { rid: "", types: "" }, label: ["评价ID", "评价类型"], url: "/admin/test/generate_rid_information", method: 'post' },
|
||||
{ title: "企业认证", desc: "根据企业名称、统一社会信用代码、法人姓名进行企业认证", obj: { company: "", code: "", legal_person: "", cid: "" }, label: ["企业名称", "统一社会信用代码", "法人姓名", "企业ID"], url: "/admin/test/enterprise_certification", method: 'post' },
|
||||
{ title: "级联删除企业ID", desc: "如需重新打分,可根据此接口传入cid,删除与其有关的所有记录。", obj: { cid: "", data: [] }, label: ["企业ID", "企业数据"], url: "/admin/test/delete_cid_cascade", method: 'post' },
|
||||
{ title: "级联删除评价ID", desc: "如需重新打分,可根据此接口传入rid,删除与其有关的所有记录,并将进行状态改为进行。", obj: { rid: "", record: "", data: [] }, label: ["评价ID", "评价类型", "评价记录"], url: "/admin/test/delete_rid_cascade", method: 'post' },
|
||||
{ title: "企业认证状态修改", desc: "修改企业认证状态,只能修改为未认证,并将应用端-企业用户对应认证信息置为None,如需认证则通过认证接口。", obj: { cid: "" }, label: ["企业ID"], url: "/admin/test/change_verified", method: 'get' },
|
||||
{ title: "rid生成企业主页信息", desc: "通过此接口传入rid可以重新完成模型打分、报告生成、证书生成、主页数据生成等一系列流程。", obj: { rid: ""}, label: ["评价ID", "评价类型"], url: "/admin/test/generate_rid_information", method: 'post' },
|
||||
{ title: "新增测试企业", desc: "新增一家测试测试", obj: { email: "", company: "", code: "", legal_person: "" }, label: ["邮箱", "企业", "统一社会信用代码", "法人"], url: "/admin/test/new_company", method: 'post' },
|
||||
],
|
||||
setIsModalVisible: false,
|
||||
|
@ -34,10 +34,6 @@ class TestCompany extends Component {
|
|||
}
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
|
||||
}
|
||||
|
||||
form = React.createRef()
|
||||
|
||||
showModal = (val) => {
|
||||
|
|
Loading…
Reference in New Issue