136 lines
3.3 KiB
JavaScript
136 lines
3.3 KiB
JavaScript
import request from '@/utils/request'
|
|
import dayjs from 'dayjs'
|
|
const magList=()=>{
|
|
return request({
|
|
url:`base/mag/list?pageSize=1000&pageNum=1`,
|
|
method:'get'
|
|
})
|
|
}
|
|
const magDetailList=(data)=>{
|
|
return request({
|
|
url:'base/magDetail/list',
|
|
method:'get',
|
|
params:data
|
|
})
|
|
}
|
|
const magGroupByTopic=()=>{
|
|
return new Promise((resolve) => {
|
|
request({
|
|
url: `base/magDetail/groupByTopic`,
|
|
method: 'get'
|
|
}).then(d=>{
|
|
let total=0;
|
|
let tmps=(d.data||[]).map(it=>{
|
|
total+=it.id||0;
|
|
return {
|
|
magid:it.magid,
|
|
mag:it.title,
|
|
magOrd:it.ord,
|
|
magDate:+dayjs(it.createTime).$d,
|
|
topicId:it.topic,
|
|
topic:it.authorName,
|
|
cnt:it.id
|
|
};
|
|
});
|
|
let datas=[];
|
|
tmps.forEach(it=>{
|
|
let objs=datas.filter(item=>item.mag==it.mag);
|
|
let obj={};
|
|
if(objs.length==0){
|
|
obj={
|
|
magid:it.magid,
|
|
mag:it.mag,
|
|
ord:it.magOrd,
|
|
date:it.magDate,
|
|
list:[]
|
|
}
|
|
datas.push(obj);
|
|
}else{
|
|
obj=objs[0];
|
|
}
|
|
obj.list.push({id:it.topicId,topic:it.topic,cnt:it.cnt})
|
|
});
|
|
datas.sort((a,b)=>{
|
|
if(a.ord==b.ord){
|
|
return b.date-a.date;
|
|
}
|
|
return b.ord-a.ord;
|
|
})
|
|
datas.forEach(item=>{
|
|
item.list.sort((a,b)=>a.id-b.id);
|
|
})
|
|
let titles=datas.length>0?datas[0].list.map(it=>it.topic):[];
|
|
|
|
resolve({
|
|
titles:titles,
|
|
datas:datas,
|
|
total:total,
|
|
})
|
|
})
|
|
});
|
|
}
|
|
|
|
const groupByMag=(magId)=>{
|
|
return new Promise((resolve) => {
|
|
request({
|
|
url:'base/magDetail/groupByMag',
|
|
data:{
|
|
magid:magId
|
|
},
|
|
method: 'post',
|
|
}).then(d=>{
|
|
let tmps=d.data||[];
|
|
let max=0;
|
|
tmps.forEach(it=>{
|
|
max=it.id>max?it.id:max;
|
|
});
|
|
tmps.forEach(it=>{
|
|
let t=(max-(it.id||0))*100.0/max+"%";
|
|
it.ord=`width:calc((100% - ${t}) - 40px)`;
|
|
});
|
|
resolve(tmps);
|
|
})
|
|
});
|
|
}
|
|
const committeeList=()=>{
|
|
return request({
|
|
url:`base/committee/list?pageSize=1000&pageNum=1`,
|
|
method:'get'
|
|
})
|
|
}
|
|
const committeeSumGroupByType=(data)=>{
|
|
return new Promise((resolve) => {
|
|
request({
|
|
url:'project/projectCommittee/sumGroupByType',
|
|
data:data,
|
|
method: 'post',
|
|
}).then(d=>{
|
|
let tmps=d.data||[];
|
|
let sum=0;
|
|
tmps.forEach(it=>{
|
|
sum+=(it.id||0)/10000.0;
|
|
it.id=(it.id||0)/10000.0;
|
|
})
|
|
resolve({
|
|
total:sum,
|
|
data:tmps
|
|
})
|
|
})
|
|
});
|
|
}
|
|
const selectByWorkingType=(data)=>{
|
|
return request({
|
|
url:'project/projectCommittee/selectByWorkingType',
|
|
method:"post",
|
|
data:data
|
|
})
|
|
}
|
|
export default {
|
|
magGroupByTopic,
|
|
magList,
|
|
groupByMag,
|
|
committeeList,
|
|
committeeSumGroupByType,
|
|
selectByWorkingType,
|
|
magDetailList
|
|
} |