dev_forum
杨树明 6 years ago
parent f89bbaba9c
commit 5377f4dc74

@ -114,21 +114,21 @@ module.exports = {
// First, run the linter. // First, run the linter.
// It's important to do this before Babel processes the JS. // It's important to do this before Babel processes the JS.
// 上线然后要注释回来 // 上线然后要注释回来
// { {
// test: /\.(js|jsx|mjs)$/, test: /\.(js|jsx|mjs)$/,
// enforce: 'pre', enforce: 'pre',
// use: [ use: [
// { {
// options: { options: {
// formatter: eslintFormatter, formatter: eslintFormatter,
// eslintPath: require.resolve('eslint'), eslintPath: require.resolve('eslint'),
//
// }, },
// loader: require.resolve('eslint-loader'), loader: require.resolve('eslint-loader'),
// }, },
// ], ],
// include: paths.appSrc, include: paths.appSrc,
// }, },
{ {
// "oneOf" will traverse all following loaders until one will // "oneOf" will traverse all following loaders until one will
// match the requirements. When no loader matches it will fall // match the requirements. When no loader matches it will fall

@ -1,16 +1,18 @@
import React, { Component } from 'react'; import React, { Component } from 'react';
import { BrowserRouter as Router, Route, Link } from "react-router-dom"; import { BrowserRouter as Router, Route, Link } from "react-router-dom";
class Loading extends Component { import { Spin } from 'antd';
render() {
// Loading class Loading extends Component {
return ( render() {
<div className="App" style={{minHeight: '800px'}}> // Loading
return (
</div> <div className="App" style={{minHeight: '800px'}}>
); <Spin size="large" />
} </div>
} );
}
export default Loading; }
export default Loading;

@ -116,7 +116,7 @@ class ExerciseListItem extends Component{
{ {
item.lock_status === 0 ? item.lock_status === 0 ?
<Tooltip title={ this.props.isNotMember()?"私有属性,非课堂成员不能访问":"私有属性"} placement="bottom"> <Tooltip title={ this.props.isNotMember()===true?"私有属性,非课堂成员不能访问":"私有属性"} placement="bottom">
<i className="iconfont icon-guansuo color-grey-c ml10 font-16 fl"></i> <i className="iconfont icon-guansuo color-grey-c ml10 font-16 fl"></i>
</Tooltip> </Tooltip>
:"" :""

@ -613,7 +613,7 @@ class GraduationTasksSubmitedit extends Component{
{item.delete===true? {item.delete===true?
<i className="font-14 iconfont icon-guanbi " <i className="font-14 iconfont icon-guanbi "
id={item.id} id={item.id}
onClick={()=>this.onAttachmentRemove(item)} onClick={()=>this.onAttachmentRemove(item.id)}
aria-hidden="true"> aria-hidden="true">
</i>:""} </i>:""}
</div> </div>

@ -2,7 +2,7 @@ import React,{Component} from "React";
import { Form, Select, Input, Button,Checkbox,Upload,Icon,message,Modal} from "antd"; import { Form, Select, Input, Button,Checkbox,Upload,Icon,message,Modal} from "antd";
import {Link} from 'react-router-dom'; import {Link} from 'react-router-dom';
import TPMMDEditor from '../../../tpm/challengesnew/TPMMDEditor'; import TPMMDEditor from '../../../tpm/challengesnew/TPMMDEditor';
import { WordsBtn,getUrl } from 'educoder'; import { WordsBtn,getUrl ,bytesToSize} from 'educoder';
import axios from 'axios'; import axios from 'axios';
import Modals from '../../../modals/Modals'; import Modals from '../../../modals/Modals';
import '../../css/Courses.css'; import '../../css/Courses.css';
@ -40,27 +40,28 @@ class GraduationTasksedit extends Component{
axios.get(url).then((result)=>{ axios.get(url).then((result)=>{
// console.log(result) // console.log(result)
let newfilelist=[]; // let newfilelist=[];
if(result.data.attachments.length!=0){ // if(result.data.attachments.length!=0){
for(var list of result.data.attachments){ // for(var list of result.data.attachments){
newfilelist.push({ // newfilelist.push({
uid:list.id, // uid:list.id,
name:list.title, // name:list.title,
status: 'done', // status: 'done',
url:list.url, // url:list.url,
}) // })
} // }
//
} // }
let namelength=result.data.task_name.length; let namelength=result.data.task_name.length;
let sixlength=title_num-namelength let sixlength=title_num-namelength
this.setState({ this.setState({
fileList:newfilelist, // fileList:newfilelist,
description:result.data.description, description:result.data.description,
tasktype:result.data.task_type, tasktype:result.data.task_type,
name:result.data.task_name, name:result.data.task_name,
data:result.data, data:result.data,
title_num:sixlength title_num:sixlength,
attachments:result.data.attachments,
}) })
@ -100,36 +101,36 @@ class GraduationTasksedit extends Component{
// 附件相关 START // 附件相关 START
handleChange = (info) => { handleChange = (info) => {
let fileList = info.fileList; let fileList = info.fileList;
console.log(fileList) // console.log(fileList)
// for(var list of fileList ){ // for(var list of fileList ){
// console.log(fileList) // console.log(fileList)
// } // }
this.setState({ fileList }); this.setState({ fileList });
} }
onAttachmentRemove = (file) => { // onAttachmentRemove = (file) => {
// confirm({ // // confirm({
// title: '确定要删除这个附件吗?', // // title: '确定要删除这个附件吗?',
// okText: '确定', // // okText: '确定',
// cancelText: '取消', // // cancelText: '取消',
// // content: 'Some descriptions', // // // content: 'Some descriptions',
// onOk: () => { // // onOk: () => {
// this.deleteAttachment(file) // // this.deleteAttachment(file)
// }, // // },
// onCancel() { // // onCancel() {
// console.log('Cancel'); // // console.log('Cancel');
// }, // // },
// }); // // });
// return false; // // return false;
//
this.setState({ // this.setState({
Modalstype:true, // Modalstype:true,
Modalstopval:'确定要删除这个附件吗?', // Modalstopval:'确定要删除这个附件吗?',
ModalSave: ()=>this.deleteAttachment(file), // ModalSave: ()=>this.deleteAttachment(file),
ModalCancel:this.cancelAttachment // ModalCancel:this.cancelAttachment
}) // })
return false; // return false;
} // }
cancelAttachment=()=>{ cancelAttachment=()=>{
this.setState({ this.setState({
@ -141,10 +142,11 @@ class GraduationTasksedit extends Component{
}) })
} }
deleteAttachment = (file) => { onAttachmentRemove = (file) => {
this.cancelAttachment(); this.cancelAttachment();
const url = `/attachments/${file.response ? file.response.id : file.uid}.json` // const url = `/attachments/${file.response ? file.response.id : file.uid}.json`
const url = `/attachments/${file}.json`
axios.delete(url, { axios.delete(url, {
}) })
.then((response) => { .then((response) => {
@ -268,7 +270,7 @@ class GraduationTasksedit extends Component{
} }
render(){ render(){
const { getFieldDecorator } = this.props.form; const { getFieldDecorator } = this.props.form;
let {title_num,pageType,name,description,Loadtype, let {title_num,pageType,name,description,Loadtype,attachments,
Modalstype,Modalstopval,ModalCancel,ModalSave,shixunsreplace} =this.state; Modalstype,Modalstopval,ModalCancel,ModalSave,shixunsreplace} =this.state;
let {coursedata}=this.props; let {coursedata}=this.props;
@ -279,7 +281,7 @@ class GraduationTasksedit extends Component{
width: 600, width: 600,
// https://github.com/ant-design/ant-design/issues/15505 // https://github.com/ant-design/ant-design/issues/15505
// showUploadList={false},然后外部拿到 fileList 数组自行渲染列表。 // showUploadList={false},然后外部拿到 fileList 数组自行渲染列表。
// showUploadList: false, showUploadList: false,
action: `${getUrl()}/api/attachments.json`, action: `${getUrl()}/api/attachments.json`,
onChange: this.handleChange, onChange: this.handleChange,
onRemove: this.onAttachmentRemove, onRemove: this.onAttachmentRemove,
@ -418,8 +420,65 @@ class GraduationTasksedit extends Component{
</Button> </Button>
(单个文件150M以内) (单个文件150M以内)
</Upload> </Upload>
{attachments&&attachments.map((item,key)=>{
return(
<div className="color-grey mt5"
key={key}
>
<a className="color-grey ml3">
<i className="font-14 color-green iconfont icon-fujian mr8" aria-hidden="true"></i>
</a>
<a
href={item.url}
className="mr12 color9B9B" length="58">
{item.title}
</a>
<span className="color656565 mt2 color-grey-6 font-12 mr8">
{item.filesize}
</span>
{item.delete===true?
<i className="font-14 iconfont icon-guanbi "
id={item.id}
onClick={()=>this.onAttachmentRemove(item.id)}
aria-hidden="true">
</i>:""}
</div>
)
})}
<style>
{
`
.maxwidth500{
max-width:500px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: #05101a;
}
`
}
</style>
{this.state.fileList.length===0?"":this.state.fileList.map((item,key)=>{
return(
<p className="color-grey mt10" key={key} >
<a className="color-grey fl">
<i className="font-14 color-green iconfont icon-fujian mr8" aria-hidden="true"></i>
</a>
<span className="mr12 color9B9B maxwidth500 fl" length="58">
{item.name}
</span>
<span className="color656565 mt2 color-grey-6 font-12 mr8">
{item.response===undefined?"":bytesToSize(item.size)}
</span>
<i className="font-14 iconfont icon-guanbi "
id={item.response===undefined?"":item.response.id}
aria-hidden="true" onClick={()=>this.onAttachmentRemove(item.response===undefined?"":item.response.id&&item.response.id)}></i>
</p>
)
})}
{/*{attachments&&attachments.map((item,key)=>{*/} {/*{attachments&&attachments.map((item,key)=>{*/}
{/*return(*/} {/*return(*/}

@ -2,7 +2,7 @@ import React, {Component} from "React";
import {Form, Select, Input, Button, Checkbox, Upload, Icon, message, Modal} from "antd"; import {Form, Select, Input, Button, Checkbox, Upload, Icon, message, Modal} from "antd";
import {Link} from 'react-router-dom'; import {Link} from 'react-router-dom';
import TPMMDEditor from '../../../tpm/challengesnew/TPMMDEditor'; import TPMMDEditor from '../../../tpm/challengesnew/TPMMDEditor';
import {WordsBtn, getUrl} from 'educoder'; import {WordsBtn, getUrl,bytesToSize} from 'educoder';
import axios from 'axios'; import axios from 'axios';
import Modals from '../../../modals/Modals'; import Modals from '../../../modals/Modals';
import '../../css/Courses.css'; import '../../css/Courses.css';
@ -133,29 +133,29 @@ class GraduationTasksnew extends Component {
this.setState({fileList}); this.setState({fileList});
} }
onAttachmentRemove = (file) => { // onAttachmentRemove = (file) => {
// confirm({ // // confirm({
// title: '确定要删除这个附件吗?', // // title: '确定要删除这个附件吗?',
// okText: '确定', // // okText: '确定',
// cancelText: '取消', // // cancelText: '取消',
// // content: 'Some descriptions', // // // content: 'Some descriptions',
// onOk: () => { // // onOk: () => {
// this.deleteAttachment(file) // // this.deleteAttachment(file)
// }, // // },
// onCancel() { // // onCancel() {
// console.log('Cancel'); // // console.log('Cancel');
// }, // // },
// }); // // });
// return false; // // return false;
//
this.setState({ // this.setState({
Modalstype: true, // Modalstype: true,
Modalstopval: '确定要删除这个附件吗?', // Modalstopval: '确定要删除这个附件吗?',
ModalSave: () => this.deleteAttachment(file), // ModalSave: () => this.deleteAttachment(file),
ModalCancel: this.cancelAttachment // ModalCancel: this.cancelAttachment
}) // })
return false; // return false;
} // }
cancelAttachment = () => { cancelAttachment = () => {
this.setState({ this.setState({
@ -166,8 +166,9 @@ class GraduationTasksnew extends Component {
}) })
} }
deleteAttachment = (file) => { onAttachmentRemove = (file) => {
const url = `/attachments/${file.response ? file.response.id : file.uid}.json` // const url = `/attachments/${file.response ? file.response.id : file.uid}.json`
const url = `/attachments/${file}.json`
axios.delete(url, {}) axios.delete(url, {})
.then((response) => { .then((response) => {
if (response.data) { if (response.data) {
@ -256,7 +257,7 @@ class GraduationTasksnew extends Component {
multiple: true, multiple: true,
// https://github.com/ant-design/ant-design/issues/15505 // https://github.com/ant-design/ant-design/issues/15505
// showUploadList={false},然后外部拿到 fileList 数组自行渲染列表。 // showUploadList={false},然后外部拿到 fileList 数组自行渲染列表。
// showUploadList: false, showUploadList: false,
action: `${getUrl()}/api/attachments.json`, action: `${getUrl()}/api/attachments.json`,
onChange: this.handleChange, onChange: this.handleChange,
onRemove: this.onAttachmentRemove, onRemove: this.onAttachmentRemove,
@ -385,7 +386,7 @@ class GraduationTasksnew extends Component {
</div> </div>
<div className="stud-class-set pt20 pl20 pr20 coursenavbox edu-back-white"> <div className="stud-class-set pd20 coursenavbox edu-back-white">
<style>{` <style>{`
.uploadBtn.ant-btn { .uploadBtn.ant-btn {
border: none; border: none;
@ -428,6 +429,39 @@ class GraduationTasksnew extends Component {
</Button> </Button>
(单个文件150M以内) (单个文件150M以内)
</Upload> </Upload>
<style>
{
`
.maxwidth500{
max-width:500px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: #05101a;
}
`
}
</style>
{this.state.fileList.length===0?"":this.state.fileList.map((item,key)=>{
return(
<p className="color-grey mt10" key={key} >
<a className="color-grey fl">
<i className="font-14 color-green iconfont icon-fujian mr8" aria-hidden="true"></i>
</a>
<span className="mr12 color9B9B maxwidth500 fl" length="58">
{item.name}
</span>
<span className="color656565 mt2 color-grey-6 font-12 mr8">
{item.response===undefined?"":bytesToSize(item.size)}
</span>
<i className="font-14 iconfont icon-guanbi "
id={item.response===undefined?"":item.response.id}
aria-hidden="true" onClick={()=>this.onAttachmentRemove(item.response===undefined?"":item.response.id&&item.response.id)}></i>
</p>
)
})}
</div> </div>

@ -327,13 +327,13 @@ class GraduationTaskssettingapp extends Component{
}else{ }else{
if(endtimetype===true){ if(endtimetype===true){
this.setState({ this.setState({
crosscomment:e.target.checked, crosscomment:checked,
commenttime:newcommenttime commenttime:newcommenttime
}) })
}else{ }else{
this.setState({ this.setState({
end_time:newlatetime, end_time:newlatetime,
crosscomment:e.target.checked, crosscomment:checked,
commenttime:newcommenttime commenttime:newcommenttime
}) })
} }

@ -86,7 +86,7 @@ class GraduateTopicItem extends Component{
{ {
discussMessage.private_icon===true? discussMessage.private_icon===true?
<Tooltip title={ this.props.isNotMember?"私有属性,非课堂成员不能访问":"私有属性"} placement="bottom"> <Tooltip title={ this.props.isNotMember()===true?"私有属性,非课堂成员不能访问":"私有属性"} placement="bottom">
<i className="iconfont icon-guansuo color-grey-c ml10 font-16 fl mt4"></i> <i className="iconfont icon-guansuo color-grey-c ml10 font-16 fl mt4"></i>
</Tooltip> </Tooltip>
:"" :""

@ -40,6 +40,7 @@ class Listofworksstudentone extends Component {
props: props, props: props,
data: [], data: [],
datas: [], datas: [],
view_report:false,
page: 1, page: 1,
pages: 1, pages: 1,
limit: 20, limit: 20,
@ -305,6 +306,7 @@ class Listofworksstudentone extends Component {
work_efficiency: result.data.work_efficiency, work_efficiency: result.data.work_efficiency,
code_review: result.data.code_review, code_review: result.data.code_review,
challenges_count:result.data.challenges_count, challenges_count:result.data.challenges_count,
view_report:result.data.view_report,
}) })
if (result.data.student_works === undefined || result.data.student_works === null || JSON.stringify(result.data.student_works) === "[]") { if (result.data.student_works === undefined || result.data.student_works === null || JSON.stringify(result.data.student_works) === "[]") {
this.seacthdata(result.data); this.seacthdata(result.data);
@ -359,6 +361,7 @@ class Listofworksstudentone extends Component {
end_immediately: result.data.end_immediately, end_immediately: result.data.end_immediately,
code_review: result.data.code_review, code_review: result.data.code_review,
challenges_count:result.data.challenges_count, challenges_count:result.data.challenges_count,
view_report:result.data.view_report,
}) })
if (result.data.student_works === undefined || result.data.student_works === null || JSON.stringify(result.data.student_works) === "[]") { if (result.data.student_works === undefined || result.data.student_works === null || JSON.stringify(result.data.student_works) === "[]") {
this.seacthdata(result.data); this.seacthdata(result.data);
@ -707,6 +710,7 @@ class Listofworksstudentone extends Component {
end_immediately: result.data.end_immediately, end_immediately: result.data.end_immediately,
code_review: result.data.code_review, code_review: result.data.code_review,
challenges_count:result.data.challenges_count, challenges_count:result.data.challenges_count,
view_report:result.data.view_report,
}) })
this.seacthdata(result.data); this.seacthdata(result.data);
} }
@ -810,10 +814,10 @@ class Listofworksstudentone extends Component {
<Link <Link
to={`/courses/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${this.state.props.match.params.homeworkid}/settings`} to={`/courses/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${this.state.props.match.params.homeworkid}/settings`}
>设置</Link> >设置</Link>
<Link className="fr color-blue font-16" target={"_blank"} {this.state.view_report===true?<Link className="fr color-blue font-16" target={"_blank"}
to={`/courses/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${teacherdata === undefined ? "" : teacherdata.id}/shixun_work_report`}> to={`/courses/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${teacherdata === undefined ? "" : teacherdata.id}/shixun_work_report`}>
查看实训报告 查看实训报告
</Link> </Link>:""}
{/*<a className="fr color-blue font-16">查看实训报告</a>*/} {/*<a className="fr color-blue font-16">查看实训报告</a>*/}
{ {
teacherdata === undefined ? "" teacherdata === undefined ? ""
@ -941,10 +945,10 @@ class Listofworksstudentone extends Component {
<Link <Link
to={`/courses/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${this.state.props.match.params.homeworkid}/settings`} to={`/courses/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${this.state.props.match.params.homeworkid}/settings`}
>设置</Link> >设置</Link>
<Link className="fr color-blue font-16" target={"_blank"} {this.state.view_report===true?<Link className="fr color-blue font-16" target={"_blank"}
to={`/courses/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${this.state.props.match.params.homeworkid}/shixun_work_report`}> to={`/courses/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${this.state.props.match.params.homeworkid}/shixun_work_report`}>
查看实训报告 查看实训报告
</Link> </Link>:""}
{ {
teacherdata === undefined ? "" teacherdata === undefined ? ""
: teacherdata.commit_des === null || teacherdata.commit_des === undefined ? "" : : teacherdata.commit_des === null || teacherdata.commit_des === undefined ? "" :

@ -80,7 +80,7 @@ function startechart(data){
{ {
name:'', name:'',
type:'scatter', type:'scatter',
data:data.echart_data.efficiency_list, data:data.echart_data===undefined?"":data.echart_data.efficiency_list,
itemStyle:{ itemStyle:{
normal:{color:'#2e65ad'} normal:{color:'#2e65ad'}
}, },
@ -106,9 +106,9 @@ function startechart(data){
data : [ data : [
{ {
name: data.username, name: data.username,
xAxis:data.echart_data.myself_eff[0], xAxis:data.echart_data===undefined?"":data.echart_data.myself_eff[0],
yAxis:data.echart_data.myself_eff[1], yAxis:data.echart_data===undefined?"":data.echart_data.myself_eff[1],
value:data.echart_data.myself_eff[1], value:data.echart_data===undefined?"":data.echart_data.myself_eff[1],
} }
], ],
itemStyle: { itemStyle: {
@ -132,7 +132,7 @@ function startechart(data){
{ {
name:'二班', name:'二班',
type:'scatter', type:'scatter',
data: data.echart_data.myself_eff, data: data.echart_data===undefined?"":data.echart_data.myself_eff,
itemStyle:{ itemStyle:{
color:'#c23531' color:'#c23531'
}} }}
@ -141,7 +141,7 @@ function startechart(data){
var ablChart = echarts.init(document.getElementById('shixun_overall_ablility_chart')); var ablChart = echarts.init(document.getElementById('shixun_overall_ablility_chart'));
var dataBJ = data.echart_data.consume_list; var dataBJ = data.echart_data===undefined?"":data.echart_data.consume_list;
var itemStyle = { var itemStyle = {
@ -188,7 +188,7 @@ function startechart(data){
formatter: function (obj) { formatter: function (obj) {
var value = obj.value; var value = obj.value;
if(obj.name ==data.username){ if(obj.name ==data.username){
return "姓名:"+data.username + "<br/>"+'学号: '+data.user_id + "<br/>"+'得分:'+ data.echart_data.myself_object[1]; return "姓名:"+data.username + "<br/>"+'学号: '+data.user_id + "<br/>"+'得分:'+ data.echart_data===undefined?"":data.echart_data.myself_object[1];
} }
} }
@ -241,9 +241,9 @@ function startechart(data){
data : [ data : [
{ {
name: data.username, name: data.username,
xAxis: data.echart_data.myself_object[0], xAxis: data.echart_data===undefined?"":data.echart_data.myself_object[0],
yAxis:data.echart_data.myself_object[1], yAxis:data.echart_data===undefined?"":data.echart_data.myself_object[1],
value:data.echart_data.myself_object[1] value:data.echart_data===undefined?"":data.echart_data.myself_object[1]
} }
], ],
itemStyle: { itemStyle: {
@ -256,7 +256,7 @@ function startechart(data){
{ {
name: '能力1', name: '能力1',
type: 'scatter', type: 'scatter',
data: data.echart_data.myself_object, data: data.echart_data===undefined?"":data.echart_data.myself_object,
itemStyle:itemStyle1, itemStyle:itemStyle1,
symbolSize: function (val){ symbolSize: function (val){
return Math.round(val[2]); return Math.round(val[2]);
@ -367,8 +367,8 @@ class Shixunechart extends Component {
<div className="fl with65" style={{paddingLeft: "5%"}}> <div className="fl with65" style={{paddingLeft: "5%"}}>
<li className="mt5 mb5">{data&&data.username}</li> <li className="mt5 mb5">{data&&data.username}</li>
<li className="mt5 mb5">{data&&data.user_id}</li> <li className="mt5 mb5">{data&&data.user_id}</li>
<li className="mt5 mb5 color-orange03"><span className="color-orange03">{data&&data.echart_data.myself_eff[1]}</span></li> <li className="mt5 mb5 color-orange03"><span className="color-orange03">{data&&data.echart_data===undefined?"":data&&data.echart_data.myself_eff[1]}</span></li>
<li className="mt5 mb5 color-orange03"><span className="color-orange03">{data&&data.echart_data.myself_eff[0]}</span></li> <li className="mt5 mb5 color-orange03"><span className="color-orange03">{data&&data.echart_data===undefined?"":data&&data.echart_data.myself_eff[0]}</span></li>
</div> </div>
</div> </div>
<div className="pr mt20 with100"> <div className="pr mt20 with100">
@ -393,7 +393,7 @@ class Shixunechart extends Component {
<div className="fl with65" style={{paddingLeft: "5%"}}> <div className="fl with65" style={{paddingLeft: "5%"}}>
<li className="mt5 mb5">{data&&data.username}</li> <li className="mt5 mb5">{data&&data.username}</li>
<li className="mt5 mb5">{data&&data.user_id}</li> <li className="mt5 mb5">{data&&data.user_id}</li>
<li className="mt5 mb5 color-orange03"><span className="color-orange03">{data&&data.echart_data.myself_object[1]}</span></li> <li className="mt5 mb5 color-orange03"><span className="color-orange03">{data&&data.echart_data===undefined?"":data&&data.echart_data.myself_object[1]}</span></li>
</div> </div>
</div> </div>
<div className="popup_tip_box fontGrey2 with100 disc mt20" <div className="popup_tip_box fontGrey2 with100 disc mt20"

Loading…
Cancel
Save