Commit 434301e0 by 钟乾明

u: 新增考核结果卡片

parent a189bf53
......@@ -71,16 +71,26 @@ let config = {
note: ['jobstarttime', 'jobendtime'],
},
},
mVoList: {
name: '干部考核',
type: RENDER_TYPE.G,
img: 'cadre',
list: {
title: 'year',
note: 'result',
chilkey: ['attachmentName', 'attachmentFile'],
children: 'attachmentArray',
},
mergeCheckResult:{
name: '考核结果',
type: RENDER_TYPE.H,
img: 'assess_new',//标题图标
list:{
cadreEvaluationVoListConfig:{
title: 'year',
note: 'result',
chilkey: ['attachmentName', 'attachmentFile'],
children: 'attachmentArray',
},
assessVoListConfig:{
title: 'assyear',
note: 'assgrade',
chilkey: ['month', 'assgrade'],//根据原始数据自定义字段
children: 'months',//
}
}
},
cadreEvaluationVoList: {
name: '干部考核',
......
......@@ -8,9 +8,6 @@ const config = {
//区分测试环境和正式环境
baseUrl: isProduct ? 'https://portal.cndrealty.com/' : 'https://staging.jffctest.com/',
appkey: isProduct ? '781d2ec4' : 'd504275e', // 正式
// baseUrl: 'https://mxytest.cndrealty.com:4433/', //测试
// appkey: 'd504275e', // 测试
}
;
......
......@@ -62,7 +62,7 @@ const config = {
loginuserid: '46000011',
appkey: 'd504275e',
uid: 'hqhuang@cndrealty.com',
token:'yzj_199aa82fe0a735a740f446f4d1929e03',
token:'yzj_01d213c5453c8b0605811adebdf57836',
baseUrl: 'https://staging.jffctest.com/',
};
......
......@@ -57,7 +57,7 @@ const tipsmMdalClose = document.querySelector('.tips__close');
app.ready(() => {
initUser().then(() => {
console.log('initUser then>>');
console.log('initUser then>>', token);
$mas.token = token;
mount();
}).catch((e) => {
......@@ -175,7 +175,6 @@ function getPersonInfosByJobNo(jobNos) {
async function initUser() {
console.log('initUser 开始>>');
let openId = getUrlParamVal('openId');
const jobNo = getUrlParamVal('uid');
if (jobNo) {
......@@ -362,11 +361,12 @@ function mount() {
tipsModal.onclick = function() {
tipsModal.style.display = 'none';
};
console.log('开始获取>>', url, {
console.log('获取简历传参>>', url, {
loginuserid,
userid,
appKey
});
//获取简历信息
$mas.restful(url, {
loginuserid,
userid,
......@@ -374,7 +374,8 @@ function mount() {
}).then(({
data
}) => {
console.log('获取成功>>', url, data);
console.log('简历获取成功>>', url, data);
render(data);
return data;
}).catch(e => {
......@@ -400,6 +401,25 @@ function mount() {
*/
}
/**
* @description 考核结果数据(合并干部考核与员工考核)
* @param data
* */
function setMergeData(data) {
const ygData = data.assessVoList.map((item, index) => ({
...item,
year: item.assyear,
dataType: 'yg' //自定义区分干部考核与员工考核数据
}));
const gbData = data.cadreEvaluationVoList.map((item, index) => ({
...item,
dataType: 'gb' //自定义区分干部考核与员工考核数据
}));
data.mergeCheckResult = ygData.concat(gbData);
return data;
}
function scrollBehavior() {
const per = window.topHeight / 100;
container.addEventListener('scroll', function() {
......@@ -440,9 +460,10 @@ function openPhoto() {
}
function render(data) {
data = setMergeData(data);
console.log('处理后的data数据>>', data);
var RENDER_ITEM = configuration.renderItem;
let resumeBaseVo = data.resumeBaseVo || [];
let resumeBaseVo = data.resumeBaseVo || {};
let jobGradeType = data.jobGradeType || '3'; //- 区分人员类别 1-物业C级人员 2-物业D级人员 3-房开人员
header.innerText = resumeBaseVo.username;
name.innerText = resumeBaseVo.username;
......@@ -474,7 +495,7 @@ function render(data) {
if (data[ r ]) {
//物业是用新的绩效
let dataArr = filterData(r, data[ r ], true);
if (!dataArr) {
if (dataArr.length === 0) {
continue;
}
propertyRenderer(RENDER_ITEM[ r ], dataArr);
......@@ -494,7 +515,7 @@ function render(data) {
for (let r in RENDER_ITEM) {
if (data[ r ]) {
let dataArr = filterData(r, data[ r ], true);
if (!dataArr) {
if (dataArr.length === 0) {
continue;
}
propertyRenderer(RENDER_ITEM[ r ], dataArr);
......@@ -516,11 +537,13 @@ function render(data) {
eduVoList: configuration.renderItem.eduVoList,
// 社会关系
familyVoList: configuration.renderItem.familyVoList,
// 干部考核 -
cadreEvaluationVoList: configuration.renderItem.cadreEvaluationVoList,
// 绩效信息
assessVoList: configuration.renderItem.assessVoList,
//奖惩
//考核结果 添加2025年9月24日 16:41:05
mergeCheckResult: configuration.renderItem.mergeCheckResult,
// 干部考核
// cadreEvaluationVoList: configuration.renderItem.cadreEvaluationVoList,
// 绩效信息 员工考核
// assessVoList: configuration.renderItem.assessVoList,
//奖惩
rewardPunishVoList: configuration.renderItem.rewardPunishVoList
};
console.log('房开人员展示的模块>>', RENDER_ITEM);
......@@ -543,10 +566,11 @@ function render(data) {
// }
//旧版绩效
let dataArr = filterData(r, data[ r ], false);
if (!dataArr) {
console.log('房开数据>>', r, dataArr);
if (dataArr.length === 0) {
continue;
}
// 渲染dom
renderer(RENDER_ITEM[ r ], dataArr);
}
}
......@@ -571,6 +595,303 @@ function render(data) {
// eleHideShrink()
}
/**
* @description 重新过滤数据
* @param {*} item 模块名称
* @param {*} data 模块数据
* @param {*} isAssessNew 是否是新版绩效
* @return {*} 过滤后的数据
* */
function filterData(item, data, isAssessNew) {
let assessData = data || [];
// 处理绩效异常
if (item === 'assessVoList') {
if (isAssessNew) {
// 物业是用新版绩效
if (data.length === 0) {
assessData = [];
} else {
for (let i = 0; i < assessData.length; i++) {
if (!assessData[ i ].assgrade) {
assessData = [];
break;
}
}
}
} else {
// 旧版绩效
if (data.length === 0) {
assessData = [];
} else {
for (let i = 0; i < assessData.length; i++) {
if (!assessData[ i ].assgrade) {
assessData[ i ].assgrade = '';
break;
}
}
let templist = [];
let sumList = [];
for (let i = 0; i < data.length; i++) {
const index = templist.indexOf(data[ i ].assyear);
let _assyear = data[ i ].asstype;
// if(data[i].asstype==="半年度"){
// if(data[i].assendtime.substring(5,10)==="06-30"){
// _assyear='上半年度'
// }
// } else if(data[i].asstype==="月度"){
// if(data[i].assendtime.substring(5,10)==="01-31"){
// _assyear='1月'
// }
// } else if(data[i].asstype==="季度"){
// if(data[i].assendtime.substring(5,10)==="03-31"){
// _assyear='第一季度'
// }
// }
// if (index < 0) { //不存在
// templist.push(data[i].assyear)
// if(data[i].asstype==="年度"){
// sumList.push({ assyear: data[i].assyear,assgrade:data[i].assgrade, children: [] })
// }else {
// sumList.push({ assyear: _assyear,assgrade:data[i].assgrade, children: [{...data[i],asstype: _assyear}] })
//
// }
//
// } else {
// if(data[i].asstype==="年度"){
// sumList[index].assgrade=data[i].assgrade
// sumList[index].assyear=data[i].assyear
// } else {
// sumList[index].children.push({...data[i],asstype: _assyear})
// }
// }
}
// assessData = sumList
// 处理月度数据
let obj = {};
assessData.forEach(item => {
if (!obj[ item.assyear ]) {
obj[ item.assyear ] = [];
}
if (item.asstype === '月度') {
item.month = Number(item.assendtime.substring(5, 7)) + '月';
item.monthNum = Number(item.assendtime.substring(5, 7));
obj[ item.assyear ].push(item);
}
});
assessData = data.filter(i => i.asstype === '年度');
let objKeys = Object.keys(obj);
let dataYears = assessData.map(item => item.assyear);
let noYearData = [];
// let noYearData = {}
if (objKeys.length !== assessData.length) {
// noYearData = {assyear: objKeys.find(item => !dataYears.includes(item)), assgrade: ''}
//兼容多条没有年度数据的情况
for (let i = 0; i < objKeys.length; i++) {
if (!dataYears.includes(objKeys[ i ])) {
noYearData.push({ assyear: objKeys[ i ], assgrade: '' });
}
}
}
// if (noYearData.assyear) {
if (noYearData.length) {
// assessData.unshift(noYearData)
assessData = noYearData.concat(assessData);
assessData.sort((a, b) => {
return b.assyear - a.assyear;
});
}
assessData.forEach(item => {
item.months = obj[ item.assyear ];
});
//月份升序
assessData.forEach(item => {
if (item.months && item.months.length) {
item.months.sort((a, b) => {
return a.monthNum - b.monthNum;
});
}
});
}
}
}
//处理干部考核半年度数据
if (item === 'cadreEvaluationVoList') {
let arr = [];
console.log('干部考核数据处理 前>>', assessData);
// 将数据按 先半年度再年度的顺序排序
assessData.map(i => {
if (i.checkTypeName === '半年度') {
i.timeTemp = new Date(i.year, 5, 1).getTime();
console.log('半年度 timeTemp>>', i.timeTemp);
} else if (i.checkTypeName === '年度') {
i.timeTemp = new Date(i.year, 11, 1).getTime();
console.log('年度 timeTemp>>', i.timeTemp);
}
return i;
});
assessData.sort((a, b) => b.timeTemp - a.timeTemp); //降序
console.log('干部考核数据处理 后>>', assessData);
assessData.forEach(item => {
if (item.checkTypeName === '年度') {
arr.push({ ...item, halfArr: [] });
} else if (item.checkTypeName === '半年度') {
let idx = arr.findIndex(i => item.year === i.year);
if (idx === -1) {
//只有半年度数据没有年度数据
arr.push({
// ...item,
checkTypeName: '年度',
year: item.year,
result: '',
halfArr: [item]
});
} else {
arr[ idx ].halfArr.push(item);
}
}
});
assessData = arr;
}
//------------合并考核结果数据--------------
if (item === 'mergeCheckResult') {
assessData = [];
let ygResult = [];
let gbResult = [];
const ygArr = data.filter(i => i.dataType === 'yg');
const gbArr = data.filter(i => i.dataType === 'gb');
// 处理员工考核
if (ygArr.length) {
if (isAssessNew) {
// 物业是用新版绩效
for (let i = 0; i < ygArr.length; i++) {
if (!ygArr[ i ].assgrade) {
ygResult = [];
break;
}
}
} else {
// 旧版绩效
ygResult = JSON.parse(JSON.stringify(ygArr));
for (let i = 0; i < ygResult.length; i++) {
if (!ygResult[ i ].assgrade) {
ygResult[ i ].assgrade = '';
break;
}
}
// 处理月度数据
let obj = {};
ygResult.forEach(item => {
if (!obj[ item.assyear ]) {
obj[ item.assyear ] = [];
}
if (item.asstype === '月度') {
item.month = Number(item.assendtime.substring(5, 7)) + '月';
item.monthNum = Number(item.assendtime.substring(5, 7));
obj[ item.assyear ].push(item);
}
});
ygResult = ygArr.filter(i => i.asstype === '年度');
let objKeys = Object.keys(obj);
let dataYears = ygResult.map(item => item.assyear);
let noYearData = [];
if (objKeys.length !== ygResult.length) {
//兼容多条没有年度数据的情况
for (let i = 0; i < objKeys.length; i++) {
if (!dataYears.includes(objKeys[ i ])) {
noYearData.push({ assyear: objKeys[ i ], assgrade: '', dataType: 'yg' });
}
}
}
if (noYearData.length) {
ygResult = noYearData.concat(ygResult);
ygResult.sort((a, b) => {
return b.assyear - a.assyear;
});
}
ygResult.forEach(item => {
item.months = obj[ item.assyear ];
});
//月份升序
ygResult.forEach(item => {
if (item.months && item.months.length) {
item.months.sort((a, b) => {
return a.monthNum - b.monthNum;
});
}
});
}
} else {
ygResult = [];
}
// 处理干部考核
if (gbArr.length) {
gbResult = JSON.parse(JSON.stringify(gbArr));
let arr = [];
console.log('干部考核数据处理 前>>', gbResult);
// 将数据按 先半年度再年度的顺序排序
gbResult.map(i => {
if (i.checkTypeName === '半年度') {
i.timeTemp = new Date(i.year, 5, 1).getTime();
console.log('半年度 timeTemp>>', i.timeTemp);
} else if (i.checkTypeName === '年度') {
i.timeTemp = new Date(i.year, 11, 1).getTime();
console.log('年度 timeTemp>>', i.timeTemp);
}
return i;
});
gbResult.sort((a, b) => b.timeTemp - a.timeTemp); //降序
console.log('干部考核数据处理 后>>', gbResult);
gbResult.forEach(item => {
if (item.checkTypeName === '年度') {
arr.push({ ...item, halfArr: [] });
} else if (item.checkTypeName === '半年度') {
let idx = arr.findIndex(i => item.year === i.year);
if (idx === -1) {
//只有半年度数据没有年度数据
arr.push({
checkTypeName: '年度',
year: item.year,
result: '',
halfArr: [item],
dataType: 'gb'
});
} else {
arr[ idx ].halfArr.push(item);
}
}
});
gbResult = arr;
} else {
gbResult = [];
}
assessData = ygResult.concat(gbResult);
}
console.log('过滤后的数据>>', item, assessData);
return assessData;
}
function renderer(renderTemp, data) {
let type = renderTemp.type;
// 干部测评没有数据不展示
......@@ -589,6 +910,9 @@ function renderer(renderTemp, data) {
container.appendChild(listCRenderer(renderTemp.list, data));
break;
case RENDER_TYPE.H: // 考核结果
container.appendChild(listHRenderer(renderTemp.list, data));
break;
case RENDER_TYPE.G: // 干部考核
container.appendChild(listGRenderer(renderTemp.list, data));
break;
......@@ -817,6 +1141,7 @@ function listCRenderer(list, data) {
return renderWrap(temp, data.length > 3);
}
//绩效考核渲染 员工考核
function listDRenderer(list, data) {
// console.log('绩效', {list,data})
......@@ -993,6 +1318,7 @@ function listFRenderer(list, data) {
return renderWrap(temp, data.length > 3);
}
//干部测评渲染
/**
* @description 干部测评渲染
......@@ -1079,6 +1405,138 @@ function listGRenderer(list, data) {
return renderWrap(temp, data.length > 3);
}
/**
* @description 渲染考核结果dom
* */
function listHRenderer(config, data) {
let temp = ``;
if (data && data.length) {
let cadreFile = [];
assFileList = [];
data.forEach((item, index) => {
console.log(item.dataType, '>>', item);
if (item.dataType === 'gb') {
//处理干部考核
const list = config.cadreEvaluationVoListConfig;
let note = list.note;
let chil = list.chilkey;
let children = item[ list.children ]; //附件
let halfArr = item.halfArr;
// 有附件或有半年度
if ((chil instanceof Array && children) || (halfArr && halfArr.length)) {
let childrenHtml = ``;
// 文件名称排序
let sortChildren = children ? children.sort((a, b) => {
return a[ list.chilkey[ 0 ] ].localeCompare(b[ list.chilkey[ 0 ] ]);
}) : [];
sortChildren.forEach((items) => {
childrenHtml += itemRenderer(
`<span class="file_link"> ${renderFileIcon(items[ list.chilkey[ 1 ] ])} ${renderFileName(items[ list.chilkey[ 0 ] ])}</span>`,
'',
'children_content'
);
cadreFile.push(items[ list.chilkey[ 1 ] ]);
});
// 半年度
if (halfArr) {
halfArr.forEach((items) => {
childrenHtml += itemRenderer(
`· 半年度`,
`<span class="item__content-note t-black half_value">${items.result || ''}</span>`,
'children_content half_content'
);
// 半年度文件名称排序
let halfattAchmentArray = items.attachmentArray || [];
let sortChildren = halfattAchmentArray.sort((a, b) => {
return a[ list.chilkey[ 0 ] ].localeCompare(b[ list.chilkey[ 0 ] ]);
});
sortChildren.forEach((items) => {
childrenHtml += itemRenderer(
`<span class="file_link"> ${renderFileIcon(items[ list.chilkey[ 1 ] ])} ${renderFileName(items[ list.chilkey[ 0 ] ])}</span>`,
'',
'children_content half_content'
);
cadreFile.push(items[ list.chilkey[ 1 ] ]);
});
});
}
temp += itemRenderer(
`${item[ list.title ]}年`,
`<span class="item__content-note t-black ">${item[ note ] || ''}</span>`,
`${childrenHtml ? 'has-children text-left' : 'text-left'}`
);
if (childrenHtml) {
temp += `<div class="children_box">${childrenHtml}</div>`;
}
} else {
temp += itemRenderer(
`${item[ list.title ]}年`,
`<span class="item__content-note t-black">${item[ note ]}</span>`
);
}
cadreFileList = cadreFile;
} else if (item.dataType === 'yg') {
//处理员工考核
const list = config.assessVoListConfig;
console.log('----------->.', item.dataType, list);
let note = list.note;
//新增月度数据
temp += itemRenderer(
`${item[ list.title ]}年`,
`<span class='item__content-note t-black'>${item[ note ]} </span>`,
`${(item.months && item.months.length) || (item.attachmentArray && item.attachmentArray.length) ? 'has-children text-left' : 'text-left'}`
);
if ((item.months && item.months.length) || (item.attachmentArray && item.attachmentArray.length)) {
temp += '<div class="children_box">';
if (item.attachmentArray && item.attachmentArray.length) {
let sortChildren = item.attachmentArray.sort((a, b) => {
return a.attachmentName.localeCompare(b.attachmentName);
});
console.log('jx-sortChildren>>>', sortChildren);
sortChildren.forEach((items) => {
temp += itemRenderer(
`<span class='ass_file_link' data-url='${items.attachmentFile}'>${renderFileIcon(items.attachmentFile)}${renderFileName(items.attachmentName)}</span>`,
'',
'children_content'
);
assFileList.push(items.attachmentFile);
});
}
if (item.months && item.months.length) {
item.months.forEach((itemM, indexM) => {
temp += itemRenderer(
`<span class='child_row_title_dot'>·</span><span>${itemM.month}</span>`,
`<span class='item__content-note'>${itemM.assgrade}</span>`,
'text-left'
);
});
}
temp += '</div>';
}
}
});
} else {
temp = noDataRenderer();
}
return renderWrap(temp, data.length > 3);
}
// 绩效列表
let performanceArr = [],
performanceSelected = '';
......@@ -2386,8 +2844,6 @@ function renderFileName(attachmentName) {
}
function addFileEvent() {
let file_note = document.getElementsByClassName('file_link');
// console.log('assFileList>>', assFileList)
......@@ -2432,7 +2888,7 @@ function registerEvent(clickNode, data) {
break;
}
const url = `${configuration.baseUrl}mas/proxy?alias=${apiCode}&${fileName}&tocken=${$mas.token}`;
console.log('url>>', url);
console.log('附件url>>', url);
// if (fileType === 'pdf') {
// app.showPdf([{url}])
// } else {
......@@ -2457,7 +2913,6 @@ function registerEvent(clickNode, data) {
}
// 物业
function propertyListARenderer(list, data, extra = '') {
let temp = document.createElement('div');
......@@ -2759,180 +3214,7 @@ function getDateFormat(date) {
// let month = now.getMonth(); // 得到月份
// let date = now.getDate(); // 得到日期
}
/**
* @description 重新过滤数据
* @param {*} item 模块名称
* @param {*} data 模块数据
* @param {*} isAssessNew 是否是新版绩效
* @return {*} 过滤后的数据
* */
// 重新过滤数据
function filterData(item, data, isAssessNew) {
let assessData = data;
// 处理绩效异常
if (item === 'assessVoList') {
if (isAssessNew) {
// 物业是用新版绩效
if (data.length === 0) {
assessData = '';
} else {
for (let i = 0; i < assessData.length; i++) {
if (!assessData[ i ].assgrade) {
assessData = '';
break;
}
}
}
} else {
// 旧版绩效
if (data.length === 0) {
assessData = [];
} else {
for (let i = 0; i < assessData.length; i++) {
if (!assessData[ i ].assgrade) {
assessData[ i ].assgrade = '';
break;
}
}
let templist = [];
let sumList = [];
for (let i = 0; i < data.length; i++) {
const index = templist.indexOf(data[ i ].assyear);
let _assyear = data[ i ].asstype;
// if(data[i].asstype==="半年度"){
// if(data[i].assendtime.substring(5,10)==="06-30"){
// _assyear='上半年度'
// }
// } else if(data[i].asstype==="月度"){
// if(data[i].assendtime.substring(5,10)==="01-31"){
// _assyear='1月'
// }
// } else if(data[i].asstype==="季度"){
// if(data[i].assendtime.substring(5,10)==="03-31"){
// _assyear='第一季度'
// }
// }
// if (index < 0) { //不存在
// templist.push(data[i].assyear)
// if(data[i].asstype==="年度"){
// sumList.push({ assyear: data[i].assyear,assgrade:data[i].assgrade, children: [] })
// }else {
// sumList.push({ assyear: _assyear,assgrade:data[i].assgrade, children: [{...data[i],asstype: _assyear}] })
//
// }
//
// } else {
// if(data[i].asstype==="年度"){
// sumList[index].assgrade=data[i].assgrade
// sumList[index].assyear=data[i].assyear
// } else {
// sumList[index].children.push({...data[i],asstype: _assyear})
// }
// }
}
// assessData = sumList
// 处理月度数据
let obj = {};
assessData.forEach(item => {
if (!obj[ item.assyear ]) {
obj[ item.assyear ] = [];
}
if (item.asstype === '月度') {
item.month = Number(item.assendtime.substring(5, 7)) + '月';
item.monthNum = Number(item.assendtime.substring(5, 7));
obj[ item.assyear ].push(item);
}
});
assessData = data.filter(i => i.asstype === '年度');
let objKeys = Object.keys(obj);
let dataYears = assessData.map(item => item.assyear);
let noYearData = [];
// let noYearData = {}
if (objKeys.length !== assessData.length) {
// noYearData = {assyear: objKeys.find(item => !dataYears.includes(item)), assgrade: ''}
//兼容多条没有年度数据的情况
for (let i = 0; i < objKeys.length; i++) {
if (!dataYears.includes(objKeys[ i ])) {
noYearData.push({ assyear: objKeys[ i ], assgrade: '' });
}
}
}
// if (noYearData.assyear) {
if (noYearData.length) {
// assessData.unshift(noYearData)
assessData = noYearData.concat(assessData);
assessData.sort((a, b) => {
return b.assyear - a.assyear;
});
}
assessData.forEach(item => {
item.months = obj[ item.assyear ];
});
//月份升序
assessData.forEach(item => {
if (item.months && item.months.length) {
item.months.sort((a, b) => {
return a.monthNum - b.monthNum;
});
}
});
}
}
}
//处理干部考核半年度数据
if (item === 'cadreEvaluationVoList') {
let arr = [];
console.log('干部考核数据处理 前>>', assessData);
// 将数据按 先半年度再年度的顺序排序
assessData.map(i => {
if (i.checkTypeName === '半年度') {
i.timeTemp = new Date(i.year, 5, 1).getTime();
console.log('半年度 timeTemp>>', i.timeTemp);
} else if (i.checkTypeName === '年度') {
i.timeTemp = new Date(i.year, 11, 1).getTime();
console.log('年度 timeTemp>>', i.timeTemp);
}
return i;
});
assessData.sort((a, b) => b.timeTemp - a.timeTemp); //降序
console.log('干部考核数据处理 后>>', assessData);
assessData.forEach(item => {
if (item.checkTypeName === '年度') {
arr.push({ ...item, halfArr: [] });
} else if (item.checkTypeName === '半年度') {
let idx = arr.findIndex(i => item.year === i.year);
if (idx === -1) {
//只有半年度数据没有年度数据
arr.push({
// ...item,
checkTypeName: '年度',
year: item.year,
result: '',
halfArr: [item]
});
} else {
arr[ idx ].halfArr.push(item);
}
}
});
assessData = arr;
}
return assessData;
}
function eleHide() {
let wrap_content = document.getElementsByClassName('wrap_content');
......
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 sign in to comment