修改大屏问题
parent
b3ddd1ae17
commit
9db50321d6
|
@ -1,5 +1,5 @@
|
|||
import request from "@/utils/request";
|
||||
import dayjs from 'dayjs'
|
||||
import dayjs from "dayjs";
|
||||
const groupByAll = (data) => {
|
||||
return new Promise((resolve) => {
|
||||
return request({
|
||||
|
@ -7,35 +7,35 @@ const groupByAll = (data) => {
|
|||
method: "get",
|
||||
params: data,
|
||||
}).then((d) => {
|
||||
let tmps=(d.data||[]).map(it=>{
|
||||
it.sumEmissionReduction=(it.sumEstimateValue||0)-(it.sumPracticalValue||0);
|
||||
it.emissionReduction=(it.estimateValue||0)-(it.practicalValue||0);
|
||||
return it;
|
||||
})
|
||||
let sumEmissionReduction=0;
|
||||
let sumEstimateValue=0;
|
||||
let sumPracticalValue=0;
|
||||
let emissionReduction=0;
|
||||
let estimateValue=0;
|
||||
let practicalValue=0;
|
||||
tmps.forEach(it=>{
|
||||
sumEmissionReduction+=(it.sumEmissionReduction||0);
|
||||
sumEstimateValue+=(it.sumEstimateValue||0);
|
||||
sumPracticalValue+=(it.sumPracticalValue||0);
|
||||
emissionReduction+=(it.emissionReduction||0);
|
||||
estimateValue+=(it.estimateValue||0);
|
||||
practicalValue+=(it.practicalValue||0);
|
||||
});
|
||||
tmps.push({
|
||||
factorType:0,
|
||||
sumEmissionReduction:sumEmissionReduction,
|
||||
sumEstimateValue:sumEstimateValue,
|
||||
sumPracticalValue:sumPracticalValue,
|
||||
emissionReduction:emissionReduction,
|
||||
estimateValue:estimateValue,
|
||||
practicalValue:practicalValue
|
||||
})
|
||||
resolve(tmps)
|
||||
let tmps = (d.data || []).map((it) => {
|
||||
it.sumEmissionReduction = (it.sumEstimateValue || 0) - (it.sumPracticalValue || 0);
|
||||
it.emissionReduction = (it.estimateValue || 0) - (it.practicalValue || 0);
|
||||
return it;
|
||||
});
|
||||
let sumEmissionReduction = 0;
|
||||
let sumEstimateValue = 0;
|
||||
let sumPracticalValue = 0;
|
||||
let emissionReduction = 0;
|
||||
let estimateValue = 0;
|
||||
let practicalValue = 0;
|
||||
tmps.forEach((it) => {
|
||||
sumEmissionReduction += it.sumEmissionReduction || 0;
|
||||
sumEstimateValue += it.sumEstimateValue || 0;
|
||||
sumPracticalValue += it.sumPracticalValue || 0;
|
||||
emissionReduction += it.emissionReduction || 0;
|
||||
estimateValue += it.estimateValue || 0;
|
||||
practicalValue += it.practicalValue || 0;
|
||||
});
|
||||
tmps.push({
|
||||
factorType: 0,
|
||||
sumEmissionReduction: sumEmissionReduction,
|
||||
sumEstimateValue: sumEstimateValue,
|
||||
sumPracticalValue: sumPracticalValue,
|
||||
emissionReduction: emissionReduction,
|
||||
estimateValue: estimateValue,
|
||||
practicalValue: practicalValue,
|
||||
});
|
||||
resolve(tmps);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
@ -46,58 +46,60 @@ const groupCurrentMonth = (data) => {
|
|||
url: "/manage/greenCarbonData/groupCurrentMonth",
|
||||
method: "get",
|
||||
params: data,
|
||||
}).then(d=>{
|
||||
let tmps=(d.data||[]).map(it=>{
|
||||
it.emissionReduction=(it.estimateValue||0)-(it.practicalValue||0);
|
||||
return it;
|
||||
})
|
||||
let emissionReduction=0;
|
||||
let estimateValue=0;
|
||||
let practicalValue=0;
|
||||
tmps.forEach(it=>{
|
||||
emissionReduction+=(it.emissionReduction||0);
|
||||
estimateValue+=(it.estimateValue||0);
|
||||
practicalValue+=(it.practicalValue||0);
|
||||
});
|
||||
tmps.push({
|
||||
factorType:0,
|
||||
emissionReduction:emissionReduction,
|
||||
estimateValue:estimateValue,
|
||||
practicalValue:practicalValue
|
||||
})
|
||||
resolve(tmps)
|
||||
}).then((d) => {
|
||||
let tmps = (d.data || []).map((it) => {
|
||||
it.emissionReduction = (it.estimateValue || 0) - (it.practicalValue || 0);
|
||||
return it;
|
||||
});
|
||||
let emissionReduction = 0;
|
||||
let estimateValue = 0;
|
||||
let practicalValue = 0;
|
||||
tmps.forEach((it) => {
|
||||
emissionReduction += it.emissionReduction || 0;
|
||||
estimateValue += it.estimateValue || 0;
|
||||
practicalValue += it.practicalValue || 0;
|
||||
});
|
||||
tmps.push({
|
||||
factorType: 0,
|
||||
emissionReduction: emissionReduction,
|
||||
estimateValue: estimateValue,
|
||||
practicalValue: practicalValue,
|
||||
});
|
||||
resolve(tmps);
|
||||
});
|
||||
});
|
||||
};
|
||||
const getGroupData=(tmps,data,factorType,dataType)=>{
|
||||
let titles=[];
|
||||
let res=[];
|
||||
let dt=dayjs(data.createTime);
|
||||
for(let i=0;i<12;i++){
|
||||
let date=dt.add(i,"month");
|
||||
let year=date.$y;
|
||||
let month=date.$M+1;
|
||||
titles.push(month+"月");
|
||||
let objs=tmps.filter(it=>(it.factorType==factorType||factorType==0)&& it.comId==year && it.projectId==month);
|
||||
let val=null;
|
||||
if(objs.length>0){
|
||||
if(dataType==1){
|
||||
val=objs[0].estimateValue/1000.0
|
||||
const getGroupData = (tmps, data, factorType, dataType) => {
|
||||
let titles = [];
|
||||
let res = [];
|
||||
let dt = dayjs(data.createTime);
|
||||
for (let i = 0; i < 12; i++) {
|
||||
let date = dt.add(i, "month");
|
||||
let year = date.$y;
|
||||
let month = date.$M + 1;
|
||||
titles.push(month + "月");
|
||||
let objs = tmps.filter((it) => (it.factorType == factorType || factorType == 0) && it.comId == year && it.projectId == month);
|
||||
let val = 0;
|
||||
if (objs.length > 0) {
|
||||
objs.forEach((obj) => {
|
||||
if (dataType == 1) {
|
||||
val += obj.estimateValue / 1000.0;
|
||||
}
|
||||
if(dataType==2){
|
||||
val=objs[0].practicalValue/1000.0
|
||||
if (dataType == 2) {
|
||||
val += obj.practicalValue / 1000.0;
|
||||
}
|
||||
if(dataType==3){
|
||||
val=((objs[0].estimateValue||0) - (val=objs[0].practicalValue||0))/1000.0
|
||||
if (dataType == 3) {
|
||||
val += ((obj.estimateValue || 0) - (val = obj.practicalValue || 0)) / 1000.0;
|
||||
}
|
||||
}
|
||||
res.push(val);
|
||||
});
|
||||
}
|
||||
return {
|
||||
titles:titles,
|
||||
datas:res
|
||||
}
|
||||
}
|
||||
res.push(val);
|
||||
}
|
||||
return {
|
||||
titles: titles,
|
||||
datas: res,
|
||||
};
|
||||
};
|
||||
|
||||
const groupByYearMonth = (data) => {
|
||||
return new Promise((resolve) => {
|
||||
|
@ -105,47 +107,46 @@ const groupByYearMonth = (data) => {
|
|||
url: "/manage/greenCarbonData/groupByYearMonth",
|
||||
method: "get",
|
||||
params: data,
|
||||
}).then(d=>{
|
||||
let tmps=d.data||[];
|
||||
let buildData={
|
||||
//预估
|
||||
estimate: getGroupData(tmps,data,1,1),
|
||||
//实际
|
||||
practical:getGroupData(tmps,data,1,2),
|
||||
//减排
|
||||
emissionReduction:getGroupData(tmps,data,1,3),
|
||||
};
|
||||
let oilData={
|
||||
//预估
|
||||
estimate: getGroupData(tmps,data,2,1),
|
||||
//实际
|
||||
practical:getGroupData(tmps,data,2,2),
|
||||
//减排
|
||||
emissionReduction:getGroupData(tmps,data,2,3),
|
||||
};
|
||||
let powerData={
|
||||
//预估
|
||||
estimate: getGroupData(tmps,data,3,1),
|
||||
//实际
|
||||
practical:getGroupData(tmps,data,3,2),
|
||||
//减排
|
||||
emissionReduction:getGroupData(tmps,data,3,3),
|
||||
};
|
||||
let totalData={
|
||||
//预估
|
||||
estimate: getGroupData(tmps,data,0,1),
|
||||
//实际
|
||||
practical:getGroupData(tmps,data,0,2),
|
||||
//减排
|
||||
emissionReduction:getGroupData(tmps,data,0,3),
|
||||
};
|
||||
resolve({
|
||||
buildData:buildData,
|
||||
oilData:oilData,
|
||||
powerData:powerData,
|
||||
totalData:totalData,
|
||||
})
|
||||
|
||||
}).then((d) => {
|
||||
let tmps = d.data || [];
|
||||
let buildData = {
|
||||
//预估
|
||||
estimate: getGroupData(tmps, data, 1, 1),
|
||||
//实际
|
||||
practical: getGroupData(tmps, data, 1, 2),
|
||||
//减排
|
||||
emissionReduction: getGroupData(tmps, data, 1, 3),
|
||||
};
|
||||
let oilData = {
|
||||
//预估
|
||||
estimate: getGroupData(tmps, data, 2, 1),
|
||||
//实际
|
||||
practical: getGroupData(tmps, data, 2, 2),
|
||||
//减排
|
||||
emissionReduction: getGroupData(tmps, data, 2, 3),
|
||||
};
|
||||
let powerData = {
|
||||
//预估
|
||||
estimate: getGroupData(tmps, data, 3, 1),
|
||||
//实际
|
||||
practical: getGroupData(tmps, data, 3, 2),
|
||||
//减排
|
||||
emissionReduction: getGroupData(tmps, data, 3, 3),
|
||||
};
|
||||
let totalData = {
|
||||
//预估
|
||||
estimate: getGroupData(tmps, data, 0, 1),
|
||||
//实际
|
||||
practical: getGroupData(tmps, data, 0, 2),
|
||||
//减排
|
||||
emissionReduction: getGroupData(tmps, data, 0, 3),
|
||||
};
|
||||
resolve({
|
||||
buildData: buildData,
|
||||
oilData: oilData,
|
||||
powerData: powerData,
|
||||
totalData: totalData,
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
|
|
|
@ -268,7 +268,7 @@ export default {
|
|||
series: [
|
||||
{
|
||||
type: 'pie',
|
||||
radius: '70%',
|
||||
radius: '50%',
|
||||
avoidLabelOverlap: false,
|
||||
bottom: is1K ? '5%' : is2K ? '15%' : '10%',
|
||||
top: '-10%',
|
||||
|
|
|
@ -276,6 +276,10 @@ public class SysUserController extends BaseController {
|
|||
@GetMapping("/getInfo")
|
||||
public AjaxResult getInfo() {
|
||||
SysUser user = SecurityUtils.getLoginUser().getSysUser();
|
||||
SysDept dept= deptService.selectDeptById(user.getDeptId());
|
||||
user.setComId(dept.getComId());
|
||||
user.setActiveComId(dept.getComId());
|
||||
user.setDept(dept);
|
||||
AjaxResult ajax = AjaxResult.success();
|
||||
ajax.put("user", user);
|
||||
if(Objects.nonNull(user.getRoles()) && user.getRoles().size()>0){
|
||||
|
|
|
@ -86,8 +86,8 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="tools-bottom">
|
||||
<el-button type="primary" @click="doSave">保存</el-button>
|
||||
</div>
|
||||
<el-button type="primary" @click="doSave">保存</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="test-box">
|
||||
<div class="tag-box">
|
||||
|
@ -109,7 +109,11 @@ import useUserStore from "@/store/modules/user";
|
|||
import { listBimModel } from "@/api/bim/bimModel";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import { emitter } from "@/router/index.js";
|
||||
import { devicePositionGet,devicePositionAddItems, devicePositionUpdateItems} from "@/api/bim/bim.js";
|
||||
import {
|
||||
devicePositionGet,
|
||||
devicePositionAddItems,
|
||||
devicePositionUpdateItems,
|
||||
} from "@/api/bim/bim.js";
|
||||
import icons from "./icons.js";
|
||||
export default {
|
||||
name: "SandTableSetting",
|
||||
|
@ -128,7 +132,7 @@ export default {
|
|||
positionByModalId: "",
|
||||
selItem: null,
|
||||
iconVideo: "",
|
||||
addLabels:[],
|
||||
addLabels: [],
|
||||
};
|
||||
},
|
||||
created() {
|
||||
|
@ -155,55 +159,59 @@ export default {
|
|||
methods: {
|
||||
doSave() {
|
||||
this.$confirm("确认保存修改?", "提示", {
|
||||
type:"warning",
|
||||
type: "warning",
|
||||
confirmButtonText: "确 认",
|
||||
cancelButtonText: "取 消",
|
||||
}).then(() => {
|
||||
let adds=this.devices.filter((item)=>{
|
||||
return item.id==null
|
||||
}).map(item=>{
|
||||
return {
|
||||
deviceId:item.deviceId,
|
||||
deviceType:item.deviceType,
|
||||
position:JSON.stringify( item.position),
|
||||
enabled:item.show?1:0,
|
||||
currentUser:this.userStore.name,
|
||||
remark:'',
|
||||
}
|
||||
})
|
||||
let updates=this.devices.filter((item)=>{
|
||||
return item.id!=null
|
||||
}).map(item=>{
|
||||
return {
|
||||
id:item.id,
|
||||
position:JSON.stringify( item.position),
|
||||
currentUser:this.userStore.name,
|
||||
enabled:item.show?1:0,
|
||||
}
|
||||
})
|
||||
console.log("-->",adds,updates)
|
||||
let ajaxs=[];
|
||||
if(adds.length>0){
|
||||
ajaxs.push(devicePositionAddItems({items:adds}))
|
||||
let adds = this.devices
|
||||
.filter((item) => {
|
||||
return item.id == null;
|
||||
})
|
||||
.map((item) => {
|
||||
return {
|
||||
deviceId: item.deviceId,
|
||||
deviceType: item.deviceType,
|
||||
position: JSON.stringify(item.position),
|
||||
enabled: item.show ? 1 : 0,
|
||||
currentUser: this.userStore.name,
|
||||
remark: "",
|
||||
};
|
||||
});
|
||||
let updates = this.devices
|
||||
.filter((item) => {
|
||||
return item.id != null;
|
||||
})
|
||||
.map((item) => {
|
||||
return {
|
||||
id: item.id,
|
||||
position: JSON.stringify(item.position),
|
||||
currentUser: this.userStore.name,
|
||||
enabled: item.show ? 1 : 0,
|
||||
};
|
||||
});
|
||||
console.log("-->", adds, updates);
|
||||
let ajaxs = [];
|
||||
if (adds.length > 0) {
|
||||
ajaxs.push(devicePositionAddItems({ items: adds }));
|
||||
}
|
||||
if(updates.length>0){
|
||||
ajaxs.push(devicePositionUpdateItems({items:updates}))
|
||||
if (updates.length > 0) {
|
||||
ajaxs.push(devicePositionUpdateItems({ items: updates }));
|
||||
}
|
||||
Promise.all(ajaxs).then((res)=>{
|
||||
ElMessage.success("保存成功")
|
||||
})
|
||||
Promise.all(ajaxs).then((res) => {
|
||||
ElMessage.success("保存成功");
|
||||
});
|
||||
});
|
||||
},
|
||||
clearLabels(){
|
||||
this.addLabels.forEach(id=>{
|
||||
clearLabels() {
|
||||
this.addLabels.forEach((id) => {
|
||||
window.sandSettingApi.Label.removeBalloon(id);
|
||||
})
|
||||
this.addLabels=[];
|
||||
});
|
||||
this.addLabels = [];
|
||||
},
|
||||
addDeviceLabel(){
|
||||
this.devices.forEach(d=>{
|
||||
if(d.position && d.position.length>0){
|
||||
this.AddLable(d)
|
||||
addDeviceLabel() {
|
||||
this.devices.forEach((d) => {
|
||||
if (d.position && d.position.length > 0) {
|
||||
this.AddLable(d);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
@ -229,7 +237,7 @@ export default {
|
|||
${item.name}
|
||||
</span>
|
||||
</div>`;
|
||||
|
||||
|
||||
window.sandSettingApi.Label.addBalloon({
|
||||
Html: html,
|
||||
ID: item.elId,
|
||||
|
@ -249,18 +257,22 @@ export default {
|
|||
window.sandSettingApi.Feature.getByPosition([e.x, e.y], (n) => {
|
||||
if (n && n["id"]) {
|
||||
this.positionByModalId = n.id.split("^")[0];
|
||||
window.sandSettingApi.Public.pickupCoordinate(true, (e) => {
|
||||
this.selItem.position = e;
|
||||
window.sandSettingApi.Label.removeBalloon(item.elId);
|
||||
this.AddLable(this.selItem);
|
||||
window.sandSettingApi.Public.pickupCoordinate(false);
|
||||
window.sandSettingApi.Public.clearHandler();
|
||||
});
|
||||
} else {
|
||||
ElMessage.warning("请在模型上选点!");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
window.sandSettingApi.Public.pickupCoordinate(true, (e) => {
|
||||
if (!this.positionByModalId) {
|
||||
return;
|
||||
}
|
||||
this.selItem.position = e;
|
||||
window.sandSettingApi.Label.removeBalloon(item.elId);
|
||||
this.AddLable(this.selItem);
|
||||
window.sandSettingApi.Public.pickupCoordinate(false);
|
||||
window.sandSettingApi.Public.clearHandler();
|
||||
});
|
||||
},
|
||||
doToolsClose() {
|
||||
this.activeMenu = 0;
|
||||
|
@ -298,12 +310,12 @@ export default {
|
|||
.filter((item) => item.deviceType == this.activeMenu)
|
||||
.map((item) => {
|
||||
item.show = item.enabled != 0;
|
||||
item.position=this.$tryToJson(item.position,[]);
|
||||
item.position = this.$tryToJson(item.position, []);
|
||||
item.elId = (item.id ? item.id : cnt++) + "-" + item.deviceType;
|
||||
return item;
|
||||
});
|
||||
this.clearLabels();
|
||||
this.addDeviceLabel();
|
||||
this.clearLabels();
|
||||
this.addDeviceLabel();
|
||||
});
|
||||
},
|
||||
initEngine() {
|
||||
|
@ -489,10 +501,10 @@ export default {
|
|||
}
|
||||
}
|
||||
}
|
||||
.tools-bottom{
|
||||
.tools-bottom {
|
||||
position: absolute;
|
||||
bottom: 10px;
|
||||
width:100%;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue