YZProjectCloud/yanzhu-bigscreen/src/api-old/engin.js

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
}