diff --git a/yanzhu-bigscreen/src/api/greenCarbon.js b/yanzhu-bigscreen/src/api/greenCarbon.js index fd0e9cf6..f8fc50b7 100644 --- a/yanzhu-bigscreen/src/api/greenCarbon.js +++ b/yanzhu-bigscreen/src/api/greenCarbon.js @@ -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, + }); }); }); }; diff --git a/yanzhu-bigscreen/src/views/greenCarbon.vue b/yanzhu-bigscreen/src/views/greenCarbon.vue index f599dede..1abb8851 100644 --- a/yanzhu-bigscreen/src/views/greenCarbon.vue +++ b/yanzhu-bigscreen/src/views/greenCarbon.vue @@ -268,7 +268,7 @@ export default { series: [ { type: 'pie', - radius: '70%', + radius: '50%', avoidLabelOverlap: false, bottom: is1K ? '5%' : is2K ? '15%' : '10%', top: '-10%', diff --git a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/controller/SysUserController.java b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/controller/SysUserController.java index 25e3ab96..2de76f76 100644 --- a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/controller/SysUserController.java +++ b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/controller/SysUserController.java @@ -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){ diff --git a/yanzhu-ui-vue3/src/views/bim/sandTableSetting/index.vue b/yanzhu-ui-vue3/src/views/bim/sandTableSetting/index.vue index 0e04fd5b..7b7fb11b 100644 --- a/yanzhu-ui-vue3/src/views/bim/sandTableSetting/index.vue +++ b/yanzhu-ui-vue3/src/views/bim/sandTableSetting/index.vue @@ -86,8 +86,8 @@
- 保存 -
+ 保存 +
@@ -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}
`; - + 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; } }