Commit 363cf322 authored by 罗林杰's avatar 罗林杰

完善控制台

parent 638a4901
...@@ -74,3 +74,26 @@ export function getPrivateInfo(businessId) { ...@@ -74,3 +74,26 @@ export function getPrivateInfo(businessId) {
params: { businessId: businessId } params: { businessId: businessId }
}) })
} }
// 8. 获取未审核动态列表
export function listArticle(query) {
return request({
url: '/memInfo/listArticle',
method: 'get',
params: query
})
}
export function getPeopleNumber(query) {
return request({
url: '/memInfo/getPeopleNumber',
method: 'get',
params: { firstDay: query.firstDay, lastDay: query.lastDay }
})
}
export function getArticle(query) {
return request({
url: '/memInfo/getArticle',
method: 'get',
params: { date: query.date}
})
}
...@@ -10,68 +10,40 @@ ...@@ -10,68 +10,40 @@
<div> <div>
<img class="span_image" src="@/assets/image/controlIcon.png"> <img class="span_image" src="@/assets/image/controlIcon.png">
</div> </div>
<div>20</div> <div style="padding-left: 20px">{{ this.peopleNumber.registerNumber }}</div>
</div>
<div class="TopFooter">
<div style="display: inline-block"></div>
<div style="display: inline-block">
<img style="color: red" class="arrows" src="@/assets/image/controlUp.png">
</div>
<div style="color: #DC1919; display: inline-block">20%</div>
</div> </div>
</div> </div>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div> <div>
<div class="topTitle">本月实名用户量(新增)</div> <div class="topTitle">本月实名用户量</div>
<div class="TopBody"> <div class="TopBody">
<div> <div>
<img class="span_image" src="@/assets/image/controlIcon2.png"> <img class="span_image" src="@/assets/image/controlIcon2.png">
</div> </div>
<div>10</div> <div style="padding-left: 20px">{{ this.peopleNumber.realNumber }}</div>
</div>
<div class="TopFooter">
<div style="display: inline-block"></div>
<div style="display: inline-block">
<img style="color: red" class="arrows" src="@/assets/image/controlUp.png">
</div>
<div style="color: #DC1919; display: inline-block">3%</div>
</div> </div>
</div> </div>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div> <div>
<div class="topTitle">本月用户量(新增)</div> <div class="topTitle">本月活动参加人数</div>
<div class="TopBody"> <div class="TopBody">
<div> <div>
<img class="span_image" src="@/assets/image/controlIcon3.png"> <img class="span_image" src="@/assets/image/controlIcon3.png">
</div> </div>
<div>10</div> <div style="padding-left: 20px">{{ this.peopleNumber.activityNumber }}</div>
</div>
<div class="TopFooter">
<div style="display: inline-block"></div>
<div style="display: inline-block">
<img style="color: red" class="arrows" src="@/assets/image/controlUp.png">
</div>
<div style="color: #DC1919;display: inline-block">3%</div>
</div> </div>
</div> </div>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div> <div>
<div class="topTitle">本月申请量(新增)</div> <div class="topTitle">本月动态数</div>
<div class="TopBody"> <div class="TopBody">
<div> <div>
<img class="span_image" src="@/assets/image/controlIcon4.png"> <img class="span_image" src="@/assets/image/controlIcon4.png">
</div> </div>
<div>2</div> <div style="padding-left: 20px">{{ this.peopleNumber.articleNumber }}</div>
</div>
<div class="TopFooter">
<div style="display: inline-block"></div>
<div style="display: inline-block">
<img style="color: red" class="arrows" src="@/assets/image/controlUp.png">
</div>
<div style="color: #DC1919;display: inline-block">1%</div>
</div> </div>
</div> </div>
</el-col> </el-col>
...@@ -86,35 +58,15 @@ ...@@ -86,35 +58,15 @@
<el-col :span="12"> <el-col :span="12">
<div class="controlSpan_middle">数据统计</div> <div class="controlSpan_middle">数据统计</div>
</el-col> </el-col>
<el-col :span="12">
<!-- <div style="float: right">-->
<!-- <el-button style="padding-right: 0;padding-top: 0; color: #666" type="text" @click="$router.push({path:'/dataStatistics/createCaseStatistics'})">查看更多-->
<!-- <i class="el-icon-arrow-right" />-->
<!-- </el-button>-->
<!-- </div>-->
</el-col>
</el-row> </el-row>
<el-divider class="controlDivider" /> <el-divider class="controlDivider" />
<div> <div>
<el-row> <el-row>
<!-- <el-col :span="6">-->
<!--&lt;!&ndash; <el-select v-model="caseType" placeholder="请选择" @change="handleGetStatisticsData">&ndash;&gt;-->
<!--&lt;!&ndash; <el-option&ndash;&gt;-->
<!--&lt;!&ndash; v-for="item in options"&ndash;&gt;-->
<!--&lt;!&ndash; :key="item.value"&ndash;&gt;-->
<!--&lt;!&ndash; :label="item.label"&ndash;&gt;-->
<!--&lt;!&ndash; :value="item.value"&ndash;&gt;-->
<!--&lt;!&ndash; />&ndash;&gt;-->
<!--&lt;!&ndash; </el-select>&ndash;&gt;-->
<!-- </el-col>-->
<el-col :span="24"> <el-col :span="24">
<div style="float: right"> <div style="float: right">
<el-radio-group v-model="range" @change="handleGetStatisticsData"> <el-radio-group v-model="range" @change="handleGetStatisticsData">
<el-radio :label="0"></el-radio> <el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio> <el-radio :label="1"></el-radio>
<el-radio :label="2"></el-radio>
<el-radio :label="3"></el-radio>
<el-radio :label="4"></el-radio>
</el-radio-group> </el-radio-group>
</div> </div>
</el-col> </el-col>
...@@ -129,21 +81,13 @@ ...@@ -129,21 +81,13 @@
<el-card> <el-card>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<div class="controlSpan_middle">留言</div> <div class="controlSpan_middle">活动报名人数</div>
</el-col> </el-col>
<!-- <el-col :span="12">-->
<!-- <div style="float: right">-->
<!-- <el-button style="padding-right: 0;padding-top: 0; color: #666" type="text" @click="$router.push({path:'/sf/lawer/LeaveMessage/index'})">查看更多-->
<!-- <i class="el-icon-arrow-right" />-->
<!-- </el-button>-->
<!-- </div>-->
<!-- </el-col>-->
</el-row> </el-row>
<el-divider class="controlDivider" /> <el-divider class="controlDivider" />
<el-row> <el-row>
<div style="float: right"> <div style="float: right">
<el-button size="mini" :class="isShow ? 'active' : 'btn1'" @click="leaveMessageBtnMonth">本月</el-button> <el-button size="mini">本月</el-button>
<el-button size="mini" :class="isShow2 ? 'active' : 'btn1'" style="margin-left: 3px!important;" @click="leaveMessageBtnYear">本年</el-button>
</div> </div>
</el-row> </el-row>
<div id="echarts-leaveMessage" class="span_1"> <div id="echarts-leaveMessage" class="span_1">
...@@ -159,10 +103,7 @@ ...@@ -159,10 +103,7 @@
<el-card style="height: 393px"> <el-card style="height: 393px">
<div style="display: flex;justify-content: space-between"> <div style="display: flex;justify-content: space-between">
<div class="controlSpan_middle"> <div class="controlSpan_middle">
访客数据(今日) 今日访问次数 top10
</div>
<div>
当前院内访客: <span style="color: #333333;font-size: 16px;font-weight: bold">20</span>
</div> </div>
</div> </div>
<el-divider class="chosenOne-divider" /> <el-divider class="chosenOne-divider" />
...@@ -175,15 +116,8 @@ ...@@ -175,15 +116,8 @@
<el-card style="min-height: 393px"> <el-card style="min-height: 393px">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<div class="end_title">留言</div> <div class="end_title">待审核动态</div>
</el-col> </el-col>
<!-- <el-col :span="12">-->
<!-- <div style="float: right">-->
<!-- <el-button style="padding-right: 0; color: #666" type="text" @click="$router.push({path:'/sf/lawer/LeaveMessage/index'})">查看更多-->
<!-- <i class="el-icon-arrow-right" />-->
<!-- </el-button>-->
<!-- </div>-->
<!-- </el-col>-->
</el-row> </el-row>
<el-divider class="controlDivider" /> <el-divider class="controlDivider" />
<div class="end_table"> <div class="end_table">
...@@ -192,9 +126,9 @@ ...@@ -192,9 +126,9 @@
:data="tableList" :data="tableList"
> >
<el-table-column type="index" label="序号" width="55" /> <el-table-column type="index" label="序号" width="55" />
<el-table-column label="留言人" prop="userName" /> <el-table-column label="发布人" prop="userName" />
<el-table-column label="题" prop="leaveTitle" /> <el-table-column label="题" prop="leaveTitle" />
<el-table-column label="留言时间" prop="leaveDate" /> <el-table-column label="发布时间" prop="leaveDate" />
<el-table-column <el-table-column
label="操作" label="操作"
width="150" width="150"
...@@ -215,15 +149,14 @@ ...@@ -215,15 +149,14 @@
<script> <script>
import * as echarts from 'echarts' import * as echarts from 'echarts'
// import { controlData } from './apis' import { getArticle, getPeopleNumber, listArticle } from '@/api/contentManagement/memInfo'
// import { judgeLeaveMessage } from '@/views/judgeMessageManage/apis'
export default { export default {
name: 'Control', name: 'Control',
data() { data() {
return { return {
isShow: true, isShow: true,
isShow2: false, isShow2: false,
judgeMessageData: 0,
dateLists: ['2023-07-20', '2023-07-21', '2023-07-22', '2023-07-23', '2023-07-24', '2023-07-25', '2023-07-26'], dateLists: ['2023-07-20', '2023-07-21', '2023-07-22', '2023-07-23', '2023-07-24', '2023-07-25', '2023-07-26'],
commitLists: ['7', '16', '4', '11', '13', '19', '12'], commitLists: ['7', '16', '4', '11', '13', '19', '12'],
passLists: ['3', '2', '0', '2', '7', '3', '1'], passLists: ['3', '2', '0', '2', '7', '3', '1'],
...@@ -263,23 +196,10 @@ export default { ...@@ -263,23 +196,10 @@ export default {
registerCount: '' registerCount: ''
}, },
number: '-50.00', number: '-50.00',
tableList: [ tableList: [],
{ peopleNumber: [],
userName: '张三', activityNumber: [],
leaveTitle: '留言', visitCount: [],
leaveDate: '2023-07-12'
},
{
userName: '张三',
leaveTitle: '留言',
leaveDate: '2023-07-12'
},
{
userName: '张三',
leaveTitle: '留言',
leaveDate: '2023-07-12'
}
],
options: [ options: [
{ value: 1, label: '审判立案' }, { value: 1, label: '审判立案' },
{ value: 2, label: '执行立案' }, { value: 2, label: '执行立案' },
...@@ -290,12 +210,8 @@ export default { ...@@ -290,12 +210,8 @@ export default {
} }
}, },
mounted() { mounted() {
this.handleGetCauseNum() this.getList()
this.handleGetJudgeMessage() this.getPeopleNumber()
this.handGetUserNum()
//
this.getVisitorDate()
this.handleGetJudgeMessageData()
this.handleGetStatisticsData() this.handleGetStatisticsData()
// 通过监听内容部分的宽度让图表resize // 通过监听内容部分的宽度让图表resize
var elementResizeDetectorMaker = require('element-resize-detector') var elementResizeDetectorMaker = require('element-resize-detector')
...@@ -363,123 +279,46 @@ export default { ...@@ -363,123 +279,46 @@ export default {
}) })
}) })
}, },
/** 本月按钮*/ getList() {
leaveMessageBtnMonth() { const queryParams = {
this.isShow = true page: 1,
this.isShow2 = false rows: 10
this.judgeMessageData = 0 }
this.handleGetJudgeMessageData() listArticle(queryParams).then(res => {
this.tableList = res.data
})
}, },
/** 本年按钮*/ getPeopleNumber() {
leaveMessageBtnYear() { // 获取当前日期
this.isShow = false const date = new Date()
this.isShow2 = true // 算出当前日期是的月份
this.judgeMessageData = 1 const month = date.getMonth() + 1
this.handleGetJudgeMessageData() // 根据月份,获取第一天和最后一天日期
const firstDay = new Date(date.getFullYear(), month - 1, 1)
const lastDay = new Date(date.getFullYear(), month, 0)
const queryParams = {
firstDay: firstDay,
lastDay: lastDay
}
getPeopleNumber(queryParams).then(res => {
this.peopleNumber = res.data
this.activityNumber = res.data.cmsActivityList
this.visitCount = res.data.visitCount
this.getVisitorData()
this.dataChartsLeaveMessage()
})
}, },
/** 获取统计数据图*/ /** 获取统计数据图*/
handleGetStatisticsData() { handleGetStatisticsData() {
// const row = { // 格式化日期
// range: this.range, const date = this.$parseDate(new Date(), 'YYYY-MM-DD')
// caseType: this.caseType
// } const queryParams = {
// console.log(row) date: date
// console.log('12312312312312')
// controlData.getStatisticsData(row).then(res => {
// this.statisticsDataLists = Object.values(res.data)
// const dateList = []
// const commitList = []
// const passList = []
// this.statisticsDataLists.forEach(item => {
// dateList.push(item.date)
// commitList.push(item.commit)
// passList.push(item.pass)
// })
// this.dateLists = dateList
// this.commitLists = commitList
// this.passLists = passList
if (this.range === 0) {
this.dateLists = ['2023-07-20', '2023-07-21', '2023-07-22', '2023-07-23', '2023-07-24', '2023-07-25', '2023-07-26']
}
if (this.range === 1) {
this.dateLists = ['2023-26', '2023-27', '2023-28', '2023-29', '2023-30']
this.commitLists = ['7', '16', '4', '11', '13']
this.passLists = ['3', '2', '0', '2', '7']
}
if (this.range === 2) {
this.dateLists = ['2023-03', '2023-04', '2023-05', '2023-06', '2023-07']
this.commitLists = ['7', '16', '4', '11', '13']
this.passLists = ['3', '2', '0', '2', '7']
}
if (this.range === 3) {
this.dateLists = ['2022-11', '2022-12', '2023-1', '2023-2', '2023-3']
this.commitLists = ['7', '16', '4', '11', '13']
this.passLists = ['3', '2', '0', '2', '7']
}
if (this.range === 4) {
this.dateLists = ['2019', '2020', '2021', '2022', '2023']
this.commitLists = ['7', '16', '4', '11', '13']
this.passLists = ['3', '2', '0', '2', '7']
} }
getArticle(queryParams).then(res => {
})
this.getRegistrationTime() this.getRegistrationTime()
// })
},
/** 法官留言数据图*/
handleGetJudgeMessageData() {
// controlData.getJudgeMessageData(this.judgeMessageData).then(res => {
// this.JudgeMessageForm = res.data
this.dataChartsLeaveMessage()
// })
},
/** 访客数据图*/
getVisitorDate() {
// controlData.getVisitor().then(res => {
// this.visitorDate = res.data
this.getVisitorData()
// })
},
/** 获取立案数量*/
handleGetCauseNum() {
// controlData.getCauseNum().then(res => {
// this.causeForm.sum = res.data.sum
// this.causeForm.direction = res.data.direction
// this.causeForm.percent = res.data.percent
// })
},
/** 获取用户数量*/
handGetUserNum() {
// controlData.getUserNum().then(res => {
// this.userForm.authCount = res.data.authCount
// this.userForm.lawyerCount = res.data.lawyerCount
// this.userForm.authCount = res.data.authCount
// this.userForm.registerCount = res.data.registerCount
// this.userForm.lawyerChange = res.data.lawyerChange
// this.userForm.registerChange = res.data.registerChange
// if (res.data.authChange === '--') {
// this.userForm.authChangeNum = res.data.authChange
// } else {
// this.userForm.authChangeNum = Math.abs(res.data.authChange).toFixed(2)
// }
// if (res.data.lawyerChange === '--') {
// this.userForm.lawyerChangeNum = res.data.lawyerChange
// } else {
// this.userForm.lawyerChangeNum = Math.abs(res.data.lawyerChange).toFixed(2)
// }
// if (res.data.registerChange === '--') {
// this.userForm.registerChangeNum = res.data.registerChange
// } else {
// this.userForm.registerChangeNum = Math.abs(res.data.registerChange).toFixed(2)
// }
// })
},
/** 获取法官留言List*/
handleGetJudgeMessage() {
// const row = {
// leaveStatus: 0
// }
// controlData.getJudgeMessage(row).then(res => {
// this.tableList = res.rows.slice(0, 5)
// })
}, },
/** 数据统计*/ /** 数据统计*/
getRegistrationTime() { getRegistrationTime() {
...@@ -491,7 +330,7 @@ export default { ...@@ -491,7 +330,7 @@ export default {
legend: { legend: {
x: 'center', x: 'center',
y: 'bottom', y: 'bottom',
data: ['申请量', '审核通过量'], data: ['通过数', '未通过数'],
// 图例之间的间距 // 图例之间的间距
itemGap: 20, itemGap: 20,
// 图标高度 // 图标高度
...@@ -509,12 +348,12 @@ export default { ...@@ -509,12 +348,12 @@ export default {
type: 'value' type: 'value'
}, },
series: [{ series: [{
name: '立案申请量', name: '通过数',
data: this.commitLists, data: this.commitLists,
type: 'line' type: 'line'
}, },
{ {
name: '审核通过量', name: '未通过数',
data: this.passLists, data: this.passLists,
type: 'line' type: 'line'
} }
...@@ -522,97 +361,38 @@ export default { ...@@ -522,97 +361,38 @@ export default {
} }
myChartRegistrationTime.setOption(optionRegistrationTime) myChartRegistrationTime.setOption(optionRegistrationTime)
}, },
/** 法官留言(雷达图) /** 雷达图 **/
* */
dataChartsLeaveMessage() { dataChartsLeaveMessage() {
if (this.judgeMessageData === 0) { // 假设 this.activityNumber 是一个包含活动信息的对象数组
const myChartAverage = echarts.init(document.getElementById('dataCharts_leaveMessage')) const activityData = this.activityNumber.map(item => ({
const optionAverage = { name: item.title,
tooltip: { value: item.applicationCount
trigger: 'axis' }))
}, // 计算最大值用于 radar.indicator.max
legend: { const maxValues = activityData.map(item => item.value)
x: 'center', const maxValue = Math.max(...maxValues)
y: 'bottom',
data: ['本月留言量', '本月回复量'],
// 图例之间的间距
itemGap: 20,
// 图标高度
itemHeight: 12,
textStyle: {
// 字体大小
fontSize: 13
}
},
radar: {
// shape: 'circle',
radius: '53%',
indicator: [
{ name: '咨询', min: 0 },
{ name: '感谢', min: 0 },
{ name: '求助', min: 0 },
{ name: '投诉', min: 0 },
{ name: '谏言', min: 0 }
],
name: {
textStyle: {
color: '#333',
fontSize: '14px'
}
}
},
color: ['#46BCF3', '#C760F2'],
series: [{
type: 'radar',
tooltip: {
trigger: 'item'
},
data: [
{
value: ['14', '38', '15', '36', '12'],
name: '本月留言量',
areaStyle: {
color: '#46BCF3'
}
},
{
value: ['10', '20', '5', '13', '8'],
name: '本月回复量'
}
]
}]
}
myChartAverage.setOption(optionAverage)
}
if (this.judgeMessageData === 1) {
const myChartAverage = echarts.init(document.getElementById('dataCharts_leaveMessage')) const myChartAverage = echarts.init(document.getElementById('dataCharts_leaveMessage'))
const optionAverage = { const optionAverage = {
tooltip: { tooltip: {
trigger: 'axis' trigger: 'item' // 设置为 'item' 以便每个点都能触发提示框
}, },
legend: { legend: {
x: 'center', left: 'center',
y: 'bottom', bottom: '10%',
data: ['本年留言量', '本年回复量'],
// 图例之间的间距
itemGap: 20, itemGap: 20,
// 图标高度
itemHeight: 12, itemHeight: 12,
textStyle: { textStyle: {
// 字体大小
fontSize: 13 fontSize: 13
} }
}, },
radar: { radar: {
// shape: 'circle',
radius: '53%', radius: '53%',
indicator: [ indicator: activityData.map(item => ({ // 使用预处理的数据
{ name: '咨询', min: 0 }, name: item.name,
{ name: '感谢', min: 0 }, min: 0,
{ name: '求助', min: 0 }, max: maxValue // 设置最大值
{ name: '投诉', min: 0 }, })),
{ name: '谏言', min: 0 }
],
name: { name: {
textStyle: { textStyle: {
color: '#333', color: '#333',
...@@ -620,55 +400,49 @@ export default { ...@@ -620,55 +400,49 @@ export default {
} }
} }
}, },
color: ['#46BCF3', '#C760F2'], color: ['#46BCF3'],
series: [{ series: [{
type: 'radar', type: 'radar',
tooltip: { areaStyle: { // 设置区域样式
trigger: 'item' color: 'rgba(69, 188, 243, 0.8)', // 蓝色填充,带透明度
}, opacity: 0.8 // 也可以直接设置opacity属性来控制透明度
data: [
{
value: ['97', '93', '84', '98', '44'],
name: '本年留言量',
areaStyle: {
color: '#46BCF3'
}
}, },
data: [ // 只有一个系列,因此只需要一个数据项
{ {
value: ['70', '83', '65', '90', '32'], value: activityData.map(item => item.value), // 仅传递数值
name: '本年回复量' name: '活动报名人数'
} }
] ]
}] }]
} }
myChartAverage.setOption(optionAverage) myChartAverage.setOption(optionAverage)
}
}, },
/** 访客数据(饼状图) /** 访客数据(饼状图) */
* */
getVisitorData() { getVisitorData() {
// 假设 this.visitCount 是一个包含多个 {title, applicationCount} 对象的数组
const visitCount = this.visitCount.map(item => ({
name: item.title,
value: item.applicationCount
}))
// 初始化图表
const myChartGender = echarts.init(document.getElementById('dataCharts_visitor')) const myChartGender = echarts.init(document.getElementById('dataCharts_visitor'))
// 定义一个颜色数组
const colors = ['#46BCF3', '#C760F2', '#FF9F40', '#3DE7C9', '#5470C6', '#EE6666', '#FAC858', '#91CC75', '#EE6666', '#FAC858', '#91CC75', '#EE6666']
// 配置项
const optionEnter = { const optionEnter = {
tooltip: { tooltip: {
trigger: 'item' trigger: 'item'
}, },
color: ['#46BCF3', '#C760F2'], color: colors, // 提供颜色数组
grid: {
top: 0,
bottom: 20,
left: 20,
right: 20,
containLabel: true
},
legend: { legend: {
left: 'center', left: 'center',
bottom: 18, bottom: 18,
// 图例之间的间距
itemGap: 20, itemGap: 20,
// 图标高度
itemHeight: 12, itemHeight: 12,
textStyle: { textStyle: {
// 字体大小
fontSize: 13 fontSize: 13
} }
}, },
...@@ -676,11 +450,7 @@ export default { ...@@ -676,11 +450,7 @@ export default {
{ {
type: 'pie', type: 'pie',
radius: '50%', radius: '50%',
data: [ data: visitCount,
{ value: '10', name: '离院' },
{ value: '30', name: '来访' }
],
emphasis: { emphasis: {
itemStyle: { itemStyle: {
shadowBlur: 10, shadowBlur: 10,
...@@ -691,6 +461,8 @@ export default { ...@@ -691,6 +461,8 @@ export default {
} }
] ]
} }
// 设置图表的配置项并使用数据
myChartGender.setOption(optionEnter) myChartGender.setOption(optionEnter)
} }
} }
......
...@@ -517,7 +517,7 @@ ...@@ -517,7 +517,7 @@
</div> </div>
<!-- 按钮区 --> <!-- 按钮区 -->
<div class="btn-box"> <div class="btn-box">
<el-button v-if="controls.isOperation !== '3'" style="width: 80px; height: 40px;font-size: 16px;" @click="submit">保存</el-button> <el-button v-if="controls.isOperation !== '3'" type="primary" style="width: 80px; height: 40px;font-size: 16px;" @click="submit">保存</el-button>
<el-button style="width: 80px; height: 40px;font-size: 16px;" @click="goBack">返回</el-button> <el-button style="width: 80px; height: 40px;font-size: 16px;" @click="goBack">返回</el-button>
</div> </div>
</div> </div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment