main
guanxiaohan 1 year ago
commit d5d091ed28
  1. BIN
      dist.rar
  2. BIN
      public/img/opsVisualization/node1_4.png
  3. BIN
      public/img/opsVisualization/node2_4.png
  4. BIN
      public/img/opsVisualization/node3_4.png
  5. BIN
      public/img/opsVisualization/node4_4.png
  6. BIN
      public/img/opsVisualization/node5_4.png
  7. 4
      src/api/opsVisualization/alarmProcess.js
  8. 6
      src/api/opsVisualization/serviceDataOAM.js
  9. 6
      src/api/opsVisualization/systemMonitoring.js
  10. 2
      src/api/opsVisualization/tuobu.js
  11. 14
      src/api/source/total.js
  12. 51
      src/components/monitoring/conditioner.vue
  13. 4
      src/components/monitoring/door.vue
  14. 8
      src/components/monitoring/electricity.vue
  15. 4
      src/components/monitoring/firefighting.vue
  16. 4
      src/components/monitoring/lift.vue
  17. 4
      src/components/monitoring/light.vue
  18. 4
      src/components/monitoring/monitoring.vue
  19. 4
      src/components/monitoring/wall.vue
  20. 4
      src/components/monitoring/warm.vue
  21. 4
      src/components/monitoring/water.vue
  22. 2
      src/page/index/index.vue
  23. 34
      src/page/itemManagement/analysis/leftBottom.vue
  24. 228
      src/page/itemManagement/analysis/leftTop.vue
  25. 29
      src/page/itemManagement/applicationExamine/index.vue
  26. 29
      src/page/itemManagement/basicInformation/index.vue
  27. 29
      src/page/itemManagement/itemList/index.vue
  28. 29
      src/page/itemManagement/procurementInformation/index.vue
  29. 5
      src/page/opsVisualization/alarmProcess.vue
  30. 59
      src/page/opsVisualization/serviceDataOAM.vue
  31. 5
      src/page/opsVisualization/systemMonitoring/index.vue
  32. 1
      src/permission.js
  33. 8
      src/router/views/index.js
  34. 2
      src/styles/media.scss
  35. 12
      src/util/bfHelper.js
  36. 31
      src/views/authority/datascope.vue
  37. 33
      src/views/authority/role.vue
  38. 32
      src/views/equipment/dataRecord.vue
  39. 31
      src/views/equipment/doorRecord.vue
  40. 27
      src/views/equipment/drawManage.vue
  41. 29
      src/views/equipment/index.vue
  42. 31
      src/views/equipment/operationRecord.vue
  43. 29
      src/views/equipment/rule.vue
  44. 32
      src/views/equipment/warmRecord.vue
  45. 30
      src/views/equipment/warnHistory.vue
  46. 32
      src/views/equipment/waterRecord.vue
  47. 34
      src/views/sourceAnaly/components/buildElectric.vue
  48. 2
      src/views/sourceAnaly/components/lineCharts.vue
  49. 241
      src/views/sourceAnaly/components/powerConsumption.vue
  50. 31
      src/views/system/dept.vue
  51. 29
      src/views/system/dict.vue
  52. 29
      src/views/system/dictbiz.vue
  53. 31
      src/views/system/menu.vue
  54. 29
      src/views/system/systemSetting.vue
  55. 27
      src/views/system/user.vue

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

@ -3,7 +3,7 @@ import request from '@/router/axios';
//设备类型通讯链路及排除方案
export const getWarnPoint = (params) => {
return request({
url: '/monitor-business/getWarnPoint',
url: '/kgApi/monitor-business/getWarnPoint',
method: 'get',
params
})
@ -11,7 +11,7 @@ export const getWarnPoint = (params) => {
//排查方案信息列表
export const getResolveTips = (params) => {
return request({
url: '/monitor-business/getResolveTips',
url: '/kgApi/monitor-business/getResolveTips',
method: 'get',
params
})

@ -2,7 +2,7 @@ import request from '@/router/axios';
//报警设备列表
export const getEquipList = (params) => {
return request({
url: '/monitor-business/getEquipList',
url: '/kgApi/monitor-business/getEquipList',
method: 'get',
params
})
@ -10,7 +10,7 @@ export const getEquipList = (params) => {
//当前报警信息
export const getWarnMsg = (params) => {
return request({
url: '/monitor-business/getWarnMsg',
url: '/kgApi/monitor-business/getWarnMsg',
method: 'get',
params
})
@ -18,7 +18,7 @@ export const getWarnMsg = (params) => {
//报警记录
export const getWarnHisList = (params) => {
return request({
url: '/monitor-business/getWarnHisList',
url: '/kgApi/monitor-business/getWarnHisList',
method: 'get',
params
})

@ -2,19 +2,19 @@ import request from '@/router/axios';
export const getServiceList = () => {
return request({
url: '/monitor-system/getServiceList',
url: '/kgApi/monitor-system/getServiceList',
method: 'get',
})
}
export const getMiddleList = () => {
return request({
url: '/monitor-system/getMiddleList',
url: '/kgApi/monitor-system/getMiddleList',
method: 'get',
})
}
export const getServerParamsList = () => {
return request({
url: '/monitor-system/getServerParamsList',
url: '/kgApi/monitor-system/getServerParamsList',
method: 'get',
})
}

@ -2,7 +2,7 @@ import request from '@/router/axios';
export const getMonitorList = () => {
return request({
url: '/monitor-system/getMonitorList',
url: '/kgApi/monitor-system/getMonitorList',
method: 'get',
})
}

@ -140,15 +140,16 @@ export const getProductElectric = (dateType, queryDate) => {
};
// 生产耗电分析
export const getProductElectricLine = (type, area, dateType, queryDate) => {
export const getProductElectricLine = ( area, dateType, queryDate,productType) => {
return request({
url: "/api/blade-desk/analysis/energy/subitem/get-product-electric-chart-line",
method: "get",
params: {
type,
// type,
area,
dateType,
queryDate,
productType
},
});
};
@ -2537,3 +2538,12 @@ export const getDoorAccCount = (startTime, endTime) => {
params: { startTime, endTime },
});
};
// 楼宇耗电分析点击四号楼时添加饼图接口
export const getFourPie = (query) =>{
return request({
url:'/api/blade-desk/analysis/energy/subitem/get-build4-consume-electric-chart-pie',
method:'get',
params:query
})
}

@ -213,6 +213,28 @@
testObject1.temSetting
}}</span></span>
<img src="../../../public/img/monitoring/electricity/jia.png" alt="" @click="plusTemper" />
</div>
<div class="conditios-block-temper">
<img src="../../../public/img/monitoring/electricity/jian.png" alt="" @click="decreaseWind" />
<span><span style="font-size: 24px; font-family: fantasy" v-if="testObject1.funcCat == 1">{{
testObject1.speed == 0
? "低速"
: testObject1.speed == 1
? "中速"
: testObject1.speed == 2
? "高速"
: "自动"
}}</span></span>
<span><span style="font-size: 24px; font-family: fantasy" v-if="testObject1.funcCat == 3">{{
testObject1.speed == 1
? "低速"
: testObject1.speed == 2
? "中速"
: testObject1.speed == 3
? "高速"
: "自动"
}}</span></span>
<img src="../../../public/img/monitoring/electricity/jia.png" alt="" @click="plusWind" />
</div>
<div class="conditios-block-temper1">
<div class="conditios-block-temper1-left">
@ -256,6 +278,28 @@
}}</span></span>
<img src="../../../public/img/monitoring/electricity/gray-jia.png" alt="" @click="plusTemper" />
</div>
<div class="conditios-block-temper">
<img src="../../../public/img/monitoring/electricity/gray-jian.png" alt="" @click="decreaseWind" />
<span style="color: #7da0d1"><span style="font-size: 24px; font-family: fantasy" v-if="testObject1.funcCat == 1">{{
testObject1.speed == 0
? "低速"
: testObject1.speed == 1
? "中速"
: testObject1.speed == 2
? "高速"
: "自动"
}}</span></span>
<span style="color: #7da0d1"><span style="font-size: 24px; font-family: fantasy" v-if="testObject1.funcCat == 3">{{
testObject1.speed == 1
? "低速"
: testObject1.speed == 2
? "中速"
: testObject1.speed == 3
? "高速"
: "自动"
}}</span></span>
<img src="../../../public/img/monitoring/electricity/gray-jia.png" alt="" @click="plusWind" />
</div>
<div class="conditios-block-temper1">
<div class="conditios-block-temper1-left">
<img src="../../../public/img/monitoring/electricity/wendu.png" alt="" />
@ -1079,7 +1123,9 @@ export default {
},
handleDetail() {
this.$router.push(`/equipment/operationDetails?code=${this.dialogItem.code}&type=空调&area=${this.bimModel}`)
// this.$router.push(`/equipment/operationDetails?code=${this.dialogItem.code}&type=&area=${this.bimModel}`)
const routerUrl = this.$router.resolve({ path: '/equipment/operationDetails', query: { code: this.dialogItem.code,type:'空调',area: this.bimModel} });
window.open(routerUrl.href, "_blank");
},
comeBim() {
console.log('调用comeBim')
@ -1856,7 +1902,8 @@ export default {
left: 105px;
bottom: 41px;
width: 244px;
height: 333px;
// height: 333px;
height: 410px;
background: url(../../../public/img/monitoring/electricity/newbg1.png);
background-size: 100% 100%;

@ -1153,7 +1153,9 @@ export default {
return content;
},
handleDetail() {
this.$router.push(`/equipment/operationDetails?code=${this.dialogItem.code}&type=电子门禁&area=${this.bimModel}`)
// this.$router.push(`/equipment/operationDetails?code=${this.dialogItem.code}&type=&area=${this.bimModel}`)
const routerUrl = this.$router.resolve({ path: '/equipment/operationDetails', query: { code: this.dialogItem.code,type:'电子门禁',area: this.bimModel} });
window.open(routerUrl.href, "_blank");
},
doorCustom(item) {
setTimeout(() => {

@ -992,7 +992,9 @@ export default {
},
handleDetail() {
this.$router.push(`/equipment/operationDetails?code=${this.dialogItem.code}&type=电&area=${this.bimModel}`)
// this.$router.push(`/equipment/operationDetails?code=${this.dialogItem.code}&type=&area=${this.bimModel}`)
const routerUrl = this.$router.resolve({ path: '/equipment/operationDetails', query: { code: this.dialogItem.code,type:'电',area: this.bimModel} });
window.open(routerUrl.href, "_blank");
},
handleCloseDialog() {
console.log('handleCloseDialog')
@ -1046,7 +1048,7 @@ export default {
// this.getElectricityBjxx(); //
this.getElectricWarnList();
this.getsbList(); //
this.getEquipmentState(); //
// this.getEquipmentState(); //
this.setInterval = setInterval(() => {
this.getCurElectro(); //
@ -1054,7 +1056,7 @@ export default {
// this.getElectricityBjxx(); //
this.getElectricWarnList();
this.getsbList(); //
this.getEquipmentState(); //
// this.getEquipmentState(); //
}, 3600000);
},
//

@ -647,7 +647,9 @@ export default {
})
},
handleDetail() {
this.$router.push(`/equipment/operationDetails?code=${this.dialogItem.code}&type=消防&area=${this.bimModel}`)
// this.$router.push(`/equipment/operationDetails?code=${this.dialogItem.code}&type=&area=${this.bimModel}`)
const routerUrl = this.$router.resolve({ path: '/equipment/operationDetails', query: { code: this.dialogItem.code,type:'消防',area: this.bimModel} });
window.open(routerUrl.href, "_blank");
},
// -
doCancelWarn(item) {

@ -389,7 +389,9 @@ export default {
},
methods: {
handleDetail() {
this.$router.push(`/equipment/operationDetails?code=${this.dialogItem.code}&type=电梯&id=${this.clickId}&area=${this.bimModel}`)
// this.$router.push(`/equipment/operationDetails?code=${this.dialogItem.code}&type=&id=${this.clickId}&area=${this.bimModel}`)
const routerUrl = this.$router.resolve({ path: '/equipment/operationDetails', query: { code: this.dialogItem.code,type:'电梯',area: this.bimModel} });
window.open(routerUrl.href, "_blank");
},
//
getList(){

@ -500,7 +500,9 @@ export default {
})
},
handleDetail() {
this.$router.push(`/equipment/operationDetails?code=${this.dialogItem.code}&type=照明&area=${this.bimModel}`)
// this.$router.push(`/equipment/operationDetails?code=${this.dialogItem.code}&type=&area=${this.bimModel}`)
const routerUrl = this.$router.resolve({ path: '/equipment/operationDetails', query: { code: this.dialogItem.code,type:'照明',area: this.bimModel} });
window.open(routerUrl.href, "_blank");
},
clickShortName(data) {
// this.dialogItem = data

@ -877,7 +877,9 @@ export default {
},
handleDetail() {
this.$router.push(`/equipment/operationDetails?code=${this.dialogItem.code}&type=监控&area=${this.bimModel}`)
// this.$router.push(`/equipment/operationDetails?code=${this.dialogItem.code}&type=&area=${this.bimModel}`)
const routerUrl = this.$router.resolve({ path: '/equipment/operationDetails', query: { code: this.dialogItem.code,type:'监控',area: this.bimModel} });
window.open(routerUrl.href, "_blank");
},
bjClick(item) {
this.dialogItem = item

@ -826,7 +826,9 @@ export default {
},
methods: {
handleDetail() {
this.$router.push(`/equipment/operationDetails?code=${this.dialogItem.code}&type=电子围界&area=${this.bimModel}`)
// this.$router.push(`/equipment/operationDetails?code=${this.dialogItem.code}&type=&area=${this.bimModel}`)
const routerUrl = this.$router.resolve({ path: '/equipment/operationDetails', query: { code: this.dialogItem.code,type:'电子围界',area: this.bimModel} });
window.open(routerUrl.href, "_blank");
},
// -
doCancelWarn(item) {

@ -671,7 +671,9 @@ export default {
},
methods: {
handleDetail() {
this.$router.push(`/equipment/operationDetails?code=${this.dialogItem.code}&type=热`)
// this.$router.push(`/equipment/operationDetails?code=${this.dialogItem.code}&type=`)
const routerUrl = this.$router.resolve({ path: '/equipment/operationDetails', query: { code: this.dialogItem.code,type:'热',} });
window.open(routerUrl.href, "_blank");
},
// -
doCancelWarn(item) {

@ -560,7 +560,9 @@ export default {
beforeDestroy() { },
methods: {
handleDetail() {
this.$router.push(`/equipment/operationDetails?code=${this.dialogItem.code}&type=水&area=${this.bimModel}`)
// this.$router.push(`/equipment/operationDetails?code=${this.dialogItem.code}&type=&area=${this.bimModel}`)
const routerUrl = this.$router.resolve({ path: '/equipment/operationDetails', query: { code: this.dialogItem.code,type:'水',area:this.bimModel} });
window.open(routerUrl.href, "_blank");
},
// -
doCancelWarn(item) {

@ -9,7 +9,7 @@
<top ref="top" />
</div>
<!-- 运维可视化化左侧导航栏 -->
<!-- <opsSidebar v-if="$route.path.indexOf('opsVisualization') != -1" /> -->
<opsSidebar v-if="$route.path.indexOf('opsVisualization') != -1" />
<div class="avue-layout">
<div class="avue-main">
<!-- 顶部标签卡 -->

@ -1,16 +1,35 @@
<template>
<div class="source-situation">
<p class="yq-title">物品出入库数量统计</p>
<div id="left_bottom"></div>
<p class="yq-title">物品出入库数量统计</p>
<div class="search-box">
<el-select
v-model="deptId"
placeholder="请选择部门"
@change="getData()"
clearable
>
<el-option
v-for="item in deptList"
:key="item.id"
:label="item.deptName"
:value="item.id"
>
</el-option>
</el-select>
</div>
<div id="left_bottom"></div>
</div>
</template>
<script>
import { getGoodsBar } from "@/api/itemManagement/analysis";
import { deptList } from "@/api/itemManagement/itemList";
export default {
data() {
return {
intervalTime22: null,
deptId:'',
deptList:[],
};
},
beforeDestroy() {
@ -21,14 +40,21 @@ export default {
}
},
mounted() {
this.selectDict();
this.getData();
this.intervalTime22 = setInterval(() => {
this.getData();
},30*60*1000)
},
methods: {
//
async selectDict() {
deptList().then((res) => {
this.deptList = res.data.data[0].children;
});
},
getData() {
getGoodsBar().then(res => {
getGoodsBar({deptId: this.deptId}).then(res => {
const data = res.data.data
let name = []
let ck = []
@ -50,7 +76,7 @@ export default {
grid: {
left: '3%',
right: '4%',
bottom: '3%',
bottom: '10%',
containLabel: true
},
yAxis: {

@ -5,93 +5,140 @@
<div class="change-time">
<div
@click="getData(1)"
:style="choseDate == 1 ? 'backgroundColor: rgb(8,166,255); color: white;' : ''"
:style="
choseDate == 1
? 'backgroundColor: rgb(8,166,255); color: white;'
: ''
"
>
</div>
<div
@click="getData(2)"
:style="choseDate == 2 ? 'backgroundColor: rgb(8,166,255); color: white;' : ''"
:style="
choseDate == 2
? 'backgroundColor: rgb(8,166,255); color: white;'
: ''
"
>
季度
</div>
<div
@click="getData(3)"
:style="choseDate == 3 ? 'backgroundColor: rgb(8,166,255); color: white;' : ''"
:style="
choseDate == 3
? 'backgroundColor: rgb(8,166,255); color: white;'
: ''
"
>
</div>
</div>
<div class="search-box" style="margin-left: 1.6rem;">
<el-select
v-model="deptId"
placeholder="请选择部门"
@change="getData(choseDate)"
clearable
>
<el-option
v-for="item in deptList"
:key="item.id"
:label="item.deptName"
:value="item.id"
>
</el-option>
</el-select>
</div>
</div>
<div id="left_top"></div>
<div id="left_top" v-show="!isEmpty"></div>
<div v-show="isEmpty" class="empty_box">暂无数据</div>
</div>
</template>
<script>
import { getApplyLine } from "@/api/itemManagement/analysis";
import { deptList } from "@/api/itemManagement/itemList";
export default {
data() {
return {
choseDate: 3,
intervalTime22: null,
deptId: "",
deptList: [],
isEmpty:false
};
},
beforeDestroy() {
if (this.intervalTime22) {
console.log('clearInterval22')
console.log("clearInterval22");
clearInterval(this.intervalTime22);
this.intervalTime22 = null;
}
},
mounted() {
this.selectDict();
this.getData(this.choseDate);
this.intervalTime22 = setInterval(() => {
this.getData(this.choseDate);
},30*60*1000)
}, 30 * 60 * 1000);
},
methods: {
//
async selectDict() {
deptList().then((res) => {
this.deptList = res.data.data[0].children;
});
},
getData(type) {
console.log('gxh', type)
this.choseDate = type
getApplyLine({type}).then(res => {
console.log(res)
let data = res.data.data
let seriesData = []
let xAxisData = data.dateList
data.dataList.forEach(item => {
seriesData.push({
name: item.name,
type: 'line',
data: item.consumeList
})
})
let myChart = this.$echarts.init(document.getElementById('left_top'))
// const data = {
// conRate: '0.5',
// proRate: '0.5'
// }
myChart.setOption({
tooltip: {
trigger: 'axis'
},
legend: {},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: {
type: 'category',
boundaryGap: false,
data: xAxisData
},
yAxis: {
type: 'value'
},
series: seriesData
})
})
console.log("gxh", type);
this.choseDate = type;
getApplyLine({ type, deptId: this.deptId }).then((res) => {
let data = res.data.data;
let seriesData = [];
let xAxisData = data.dateList;
if(data.dataList.length != 0){
this.isEmpty = false
data.dataList.forEach((item) => {
seriesData.push({
name: item.name,
type: "line",
data: item.consumeList,
});
});
}else{
this.isEmpty = true
}
let myChart = this.$echarts.init(document.getElementById("left_top"));
// const data = {
// conRate: '0.5',
// proRate: '0.5'
// }
console.log("seriesData========================>", seriesData);
myChart.setOption({
tooltip: {
trigger: "axis",
},
legend: {},
grid: {
left: "3%",
right: "4%",
bottom: "3%",
containLabel: true,
},
xAxis: {
type: "category",
boundaryGap: false,
data: xAxisData,
},
yAxis: {
type: "value",
},
series: seriesData,
});
});
},
},
};
@ -100,47 +147,58 @@ export default {
<style scoped lang="scss">
.source-situation {
height: 370px;
#left_top{
width: 100%;
height: 300px;
}
.yq-title {
margin: 0.7rem 0 0 1.5rem;
color: black;
font-weight: bold;
}
.change-time-box {
// position: absolute;
// right: 1.25rem;
display: flex;
justify-content: flex-end;
margin: 12px 0;
cursor: pointer;
.change-time {
display: inline-flex;
border: 1px solid #08a6ff;
width: 7.5rem;
#left_top {
width: 100%;
height: 300px;
}
.yq-title {
margin: 0.7rem 0 0 1.5rem;
color: black;
font-weight: bold;
}
.change-time-box {
// position: absolute;
// right: 1.25rem;
display: flex;
justify-content: space-between;
align-items: center;
margin: 12px 0;
cursor: pointer;
.change-time {
display: inline-flex;
border: 1px solid #08a6ff;
width: 7.5rem;
// margin-top: 1.875rem;
justify-content: flex-start;
border-radius: 0.312rem;
font-size: 14px;
z-index: 100;
div {
color: black;
width: 50%;
text-align: center;
border-right: 1px solid rgb(8, 166, 255);
}
}
/deep/ .el-date-editor .el-input__inner {
background-color: rgb(152, 160, 173);
color: rgba(255, 255, 255, 0.7);
border-color: rgb(152, 160, 173);
justify-content: flex-start;
border-radius: 0.312rem;
font-size: 14px;
z-index: 100;
height: 19px;
margin-right: 10px;
div {
color: black;
width: 50%;
text-align: center;
border-right: 1px solid rgb(8, 166, 255);
}
}
/deep/ .el-date-editor .el-input__inner {
background-color: rgb(152, 160, 173);
color: rgba(255, 255, 255, 0.7);
border-color: rgb(152, 160, 173);
}
/deep/ .el-date-editor .el-input__inner::-webkit-input-placeholder {
color: white;
}
/deep/ .el-date-editor .el-input__inner::-webkit-input-placeholder {
color: white;
}
}
.empty_box{
width: 100%;
height: 300px;
text-align: center;
line-height: 300px;
color: #5e6d82;
}
}
</style>

@ -1,4 +1,30 @@
<template>
<div>
<div style="user-select: none;
height: 40px;
display: flex;
align-items: center;
position: relative;
padding: 0 10px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
border-top: 1px solid #f6f6f6;
background-color: #fff;
-webkit-box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);">
<div style="height: 100%;
border-bottom: 3px solid #409EFF;
display: flex;
align-items: center;
padding: 0 10px;
font-family: Arial,sans-serif;
font-size: 15px;
color: #409EFF;">
{{routeName == '' ? '申领审核' : routeName}}
</div>
</div>
<basic-container class="content">
<div class="content-top">
<el-form
@ -538,6 +564,7 @@
</el-dialog>
</basic-container>
</div>
</template>
<script>
@ -550,6 +577,7 @@
export default {
data() {
return {
routeName:'',
queryForm: {
bigClass: '',
brand: '',
@ -710,6 +738,7 @@
}
},
mounted() {
this.routeName = this.$route.name
this.init()
},
methods: {

@ -1,4 +1,30 @@
<template>
<div>
<div style="user-select: none;
height: 40px;
display: flex;
align-items: center;
position: relative;
padding: 0 10px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
border-top: 1px solid #f6f6f6;
background-color: #fff;
-webkit-box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);">
<div style="height: 100%;
border-bottom: 3px solid #409EFF;
display: flex;
align-items: center;
padding: 0 10px;
font-family: Arial,sans-serif;
font-size: 15px;
color: #409EFF;">
{{routeName == '' ? '物品基本信息' : routeName}}
</div>
</div>
<basic-container class="content">
<div class="content-top">
<el-form
@ -325,6 +351,7 @@
</div>
</el-dialog>
</basic-container>
</div>
</template>
<script>
@ -334,6 +361,7 @@
export default {
data() {
return {
routeName:'',
queryForm: {
bigClass: '',
brand: '',
@ -417,6 +445,7 @@
}
},
mounted() {
this.routeName = this.$route.name
this.init()
},
methods: {

@ -1,4 +1,30 @@
<template>
<div>
<div style="user-select: none;
height: 40px;
display: flex;
align-items: center;
position: relative;
padding: 0 10px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
border-top: 1px solid #f6f6f6;
background-color: #fff;
-webkit-box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);">
<div style="height: 100%;
border-bottom: 3px solid #409EFF;
display: flex;
align-items: center;
padding: 0 10px;
font-family: Arial,sans-serif;
font-size: 15px;
color: #409EFF;">
{{routeName == '' ? '物品列表' : routeName}}
</div>
</div>
<basic-container class="content">
<div class="content-top">
<el-form
@ -794,6 +820,7 @@
</div>
</el-drawer>
</basic-container>
</div>
</template>
<script>
@ -804,6 +831,7 @@
export default {
data() {
return {
routeName:'',
queryForm: {
bigClass: '',
brand: '',
@ -962,6 +990,7 @@
}
},
mounted() {
this.routeName = this.$route.name
this.init()
},
methods: {

@ -1,4 +1,30 @@
<template>
<div>
<div style="user-select: none;
height: 40px;
display: flex;
align-items: center;
position: relative;
padding: 0 10px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
border-top: 1px solid #f6f6f6;
background-color: #fff;
-webkit-box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);">
<div style="height: 100%;
border-bottom: 3px solid #409EFF;
display: flex;
align-items: center;
padding: 0 10px;
font-family: Arial,sans-serif;
font-size: 15px;
color: #409EFF;">
{{routeName == '' ? '采购信息' : routeName}}
</div>
</div>
<basic-container class="content">
<div class="content-top">
<el-form
@ -629,6 +655,7 @@
</el-dialog>
</el-dialog>
</basic-container>
</div>
</template>
<script>
@ -640,6 +667,7 @@
export default {
data() {
return {
routeName:'',
queryForm: {
name: '',
code: '',
@ -745,6 +773,7 @@
}
},
mounted() {
this.routeName = this.$route.name
this.init()
},
methods: {

@ -8,6 +8,7 @@
<el-carousel
style="position: relative"
:autoplay="false"
trigger="click"
:loop="false"
@change="change"
>
@ -58,7 +59,7 @@
<div class="node-img" v-if="item.lineData && item.lineData[0]">
<img
class="nav_img"
:src="require(`../../../public/img/opsVisualization/node1_${item.lineData[1].status ||3}.png`)"
:src="require(`../../../public/img/opsVisualization/node1_${item.lineData[0].status ||3}.png`)"
/>
<div class="node-text">
{{
@ -374,6 +375,8 @@ export default {
<style lang="scss" scoped>
.content {
width: calc(100% - 218px);
margin-left: 218px;
// padding: 20px !important;
.process {
// width: calc(100% - 218px);

@ -1,6 +1,6 @@
<template>
<!-- <el-col :span="3"> </el-col> -->
<div style="height: 100%">
<div style="height: 100%;width:calc(100% - 218px);margin-left:218px;">
<basic-container style="height: 100%">
<div class="search_box">
<!-- <el-input
@ -9,7 +9,7 @@
placeholder="请输入设备类型编码"
clearable
/> -->
<el-select
<!-- <el-select
class="search_select"
placeholder="请选择报警状态"
style="margin: 0 20px 0 0"
@ -18,7 +18,7 @@
<el-option label="全部" value=""></el-option>
<el-option label="正常" value="0"></el-option>
<el-option label="报警" value="1"></el-option>
</el-select>
</el-select> -->
<el-input
class="search_input"
v-model="equipCode"
@ -57,19 +57,19 @@
</el-table-column>
<el-table-column prop="equipName" label="设备名称">
</el-table-column>
<el-table-column
<!-- <el-table-column
prop="equipStatus"
label="设备状态"
width="100"
align="center"
>
</el-table-column>
</el-table-column> -->
<el-table-column prop="warnContent" label="报警信息">
</el-table-column>
<el-table-column prop="warnDate" label="报警时间">
</el-table-column>
<el-table-column prop="equipLocation" label="设备位置">
</el-table-column>
<!-- <el-table-column prop="equipLocation" label="设备位置">
</el-table-column> -->
<el-table-column
prop="address"
label="操作"
@ -308,6 +308,7 @@ export default {
tableData: [],
warnMsgList: [],
equipCode2: "",
equipName:''
};
},
@ -329,7 +330,7 @@ export default {
this.loading = true;
getEquipList({
classCode,
warnStatus,
// warnStatus,
equipCode,
currentPage,
pageSize,
@ -342,17 +343,44 @@ export default {
},
tabChange(tabKey) {
this.tabKey = tabKey;
const { equipCode2 } = this;
const { equipCode2,equipName } = this;
console.log('this============>',this)
if (tabKey == 1) {
getWarnMsg({ equipCode: equipCode2 }).then((res) => {
let query = {}
if(equipCode2){
query = {
equipCode:equipCode2,
equipName:equipName
}
}else{
query = {
equipCode:'',
equipName:equipName
}
}
console.log('query==============>',query)
getWarnMsg(query).then((res) => {
this.warnMsgList = res.data.data;
});
} else if (tabKey == 2) {
getWarnHisList({
equipCode: equipCode2,
currentPage: 1,
pageSize: 99,
}).then((res) => {
let query = {}
if(equipCode2){
query = {
equipCode: equipCode2,
equipName:equipName,
currentPage: 1,
pageSize: 99,
}
}else{
query = {
equipCode: '',
equipName:equipName,
currentPage: 1,
pageSize: 99,
}
}
getWarnHisList(query).then((res) => {
this.warnMsgList = res.data.data.records;
});
}
@ -394,6 +422,7 @@ export default {
},
handleDetail(detail) {
this.equipCode2 = detail.equipCode;
this.equipName = detail.equipName
this.tabChange(1);
},
},

@ -30,6 +30,7 @@
>
{{ item.name }}
</div>
<div style="margin-top:20px;">{{item.monitorType}}</div>
<div
class="color_block"
:style="{ background: item.color != 'red' ? '#4fd069' : '#e14b33' }"
@ -265,6 +266,8 @@ export default {
<style lang="scss" scoped>
.page {
padding: 30px !important;
width: calc(100% - 218px);
margin-left: 218px;
}
.search_box {
display: flex;
@ -322,7 +325,7 @@ export default {
}
.itemBox {
width: 205px;
height: 212px;
height: 232px;
border: 1px solid #dcdcdc;
margin: 0 20px 30px 0;
display: flex;

@ -12,6 +12,7 @@ NProgress.configure({ showSpinner: false });
const lockPage = store.getters.website.lockPage; //锁屏页
router.beforeEach((to, from, next) => {
console.log(to);
window.routeName = to.name
if (to.path.indexOf('home') < 0) {
document.documentElement.style.fontSize = '';
} else {

@ -95,7 +95,7 @@ export default [{
import( /* webpackChunkName: "views" */ '@/views/equipment/operationRecord')
}, {
path: 'dataRecord',
name: '设备采集数据记录',
name: '历史电量记录',
meta: {
i18n: 'dashboard'
},
@ -103,7 +103,7 @@ export default [{
import( /* webpackChunkName: "views" */ '@/views/equipment/dataRecord')
}, {
path: 'waterRecord',
name: '设备采集数据记录',
name: '历史用水记录',
meta: {
i18n: 'dashboard'
},
@ -111,7 +111,7 @@ export default [{
import( /* webpackChunkName: "views" */ '@/views/equipment/waterRecord')
}, {
path: 'warmRecord',
name: '设备采集数据记录',
name: '历史用热记录',
meta: {
i18n: 'dashboard'
},
@ -119,7 +119,7 @@ export default [{
import( /* webpackChunkName: "views" */ '@/views/equipment/warmRecord')
}, {
path: 'doorRecord',
name: '设备采集数据记录',
name: '门禁出入记录',
meta: {
i18n: 'dashboard'
},

@ -144,7 +144,7 @@
}
//主框架
.avue-tags {
display: none;
// display: block;
}
.avue-left,
.avue-logo {

@ -2863,12 +2863,12 @@ const loadModel = (i) => {
// BimfaceLoaderConfig.APIHost = "http://10.90.100.203:8080";
BimfaceLoaderConfig.dataEnvType = BimfaceEnvOption.Local;
BimfaceLoaderConfig.sdkPath = "static/jssdk@3.6.293/jssdk";
BimfaceLoaderConfig.path = i == 1 ? '/bimfaceApi/ywq/viewToken.json' :
'/bimfaceApi/tt/viewToken.json';
// BimfaceLoaderConfig.path =
// i == 1
// ? "http://10.90.100.203:8080/ywq/viewToken.json"
// : "http://10.90.100.203:8080/tt/viewToken.json";
// BimfaceLoaderConfig.path = i == 1 ? '/bimfaceApi/ywq/viewToken.json' :
// '/bimfaceApi/tt/viewToken.json';
BimfaceLoaderConfig.path =
i == 1
? "http://10.90.100.203:8080/ywq/viewToken.json"
: "http://10.90.100.203:8080/tt/viewToken.json";
BimfaceSDKLoader.load(BimfaceLoaderConfig, onSDKLoadSucceeded, (err) => {
console.log('err', err)

@ -1,4 +1,30 @@
<template>
<div>
<div style="user-select: none;
height: 40px;
display: flex;
align-items: center;
position: relative;
padding: 0 10px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
border-top: 1px solid #f6f6f6;
background-color: #fff;
-webkit-box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);">
<div style="height: 100%;
border-bottom: 3px solid #409EFF;
display: flex;
align-items: center;
padding: 0 10px;
font-family: Arial,sans-serif;
font-size: 15px;
color: #409EFF;">
{{routeName == '' ? '数据权限' : routeName}}
</div>
</div>
<basic-container>
<avue-crud :option="option"
:table-loading="loading"
@ -49,6 +75,7 @@
</template> -->
</avue-crud>
</basic-container>
</div>
</template>
<script>
@ -61,6 +88,7 @@
export default {
data() {
return {
routeName:'',
form: {
parentId:'0',
},
@ -290,6 +318,9 @@
// return id.form.parentName
// }
},
mounted() {
this.routeName = this.$route.name
},
methods: {
initData() {
getListTree().then(res => {

@ -1,4 +1,30 @@
<template>
<div>
<div style="user-select: none;
height: 40px;
display: flex;
align-items: center;
position: relative;
padding: 0 10px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
border-top: 1px solid #f6f6f6;
background-color: #fff;
-webkit-box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);">
<div style="height: 100%;
border-bottom: 3px solid #409EFF;
display: flex;
align-items: center;
padding: 0 10px;
font-family: Arial,sans-serif;
font-size: 15px;
color: #409EFF;">
{{routeName == '' ? '角色管理' : routeName}}
</div>
</div>
<basic-container>
<avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="form"
:permission="permissionList" :before-open="beforeOpen" @row-del="rowDel" @row-update="rowUpdate"
@ -39,6 +65,7 @@
</span>
</el-dialog>
</basic-container>
</div>
</template>
<script>
@ -60,6 +87,7 @@
export default {
data() {
return {
routeName:'',
form: {},
box: false,
props: {
@ -210,6 +238,9 @@
return ids;
}
},
mounted() {
this.routeName = this.$route.name
},
methods: {
initData(roleId) {
getRoleTreeById(roleId).then(res => {
@ -365,4 +396,4 @@
.basic-container.avue-view {
height: 100%;
}
</style>
</style>

@ -1,4 +1,31 @@
<template>
<div>
<div style="user-select: none;
height: 40px;
display: flex;
align-items: center;
position: relative;
padding: 0 10px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
border-top: 1px solid #f6f6f6;
background-color: #fff;
-webkit-box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);">
<div style="height: 100%;
border-bottom: 3px solid #409EFF;
display: flex;
align-items: center;
padding: 0 10px;
font-family: Arial,sans-serif;
font-size: 15px;
color: #409EFF;">
{{routeName == '' ? '历史用电记录' : routeName}}
</div>
</div>
<basic-container>
<el-row>
<el-col :span="24">
@ -79,6 +106,7 @@
</span>
</el-dialog>
</basic-container>
</div>
</template>
<script>
@ -104,6 +132,7 @@ export default {
currentPage: 1,
total: 0,
},
routeName:'',
option: {
lazy: true,
tip: false,
@ -405,6 +434,9 @@ export default {
return ids.join(",");
},
},
mounted() {
this.routeName = this.$route.name
},
methods: {
//
historyByCode(row) {

@ -1,4 +1,30 @@
<template>
<div>
<div style="user-select: none;
height: 40px;
display: flex;
align-items: center;
position: relative;
padding: 0 10px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
border-top: 1px solid #f6f6f6;
background-color: #fff;
-webkit-box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);">
<div style="height: 100%;
border-bottom: 3px solid #409EFF;
display: flex;
align-items: center;
padding: 0 10px;
font-family: Arial,sans-serif;
font-size: 15px;
color: #409EFF;">
{{routeName == '' ? '门禁出入记录' : routeName}}
</div>
</div>
<basic-container>
<el-row>
<el-col :span="24">
@ -46,6 +72,7 @@
</el-col>
</el-row>
</basic-container>
</div>
</template>
<script>
@ -71,6 +98,7 @@ export default {
currentPage: 1,
total: 0,
},
routeName:'',
option: {
lazy: true,
tip: false,
@ -254,6 +282,9 @@ export default {
};
},
},
mounted() {
this.routeName = this.$route.name
},
methods: {
//
getDoorSb() {

@ -1,6 +1,31 @@
<template>
<!-- 图纸管理 -->
<el-row>
<div style="user-select: none;
height: 40px;
display: flex;
align-items: center;
position: relative;
padding: 0 10px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
border-top: 1px solid #f6f6f6;
background-color: #fff;
-webkit-box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);">
<div style="height: 100%;
border-bottom: 3px solid #409EFF;
display: flex;
align-items: center;
padding: 0 10px;
font-family: Arial,sans-serif;
font-size: 15px;
color: #409EFF;">
{{routeName == '' ? '图纸管理' : routeName}}
</div>
</div>
<el-col :span="5">
<div class="box">
<el-scrollbar>
@ -146,6 +171,7 @@ import {getList} from '@/api/equipment/drawClassify'
export default{
data(){
return {
routeName:'',
area: "1",
equipName:'',
page: {
@ -396,6 +422,7 @@ import {getList} from '@/api/equipment/drawClassify'
}
},
created(){
this.routeName = this.$route.name
this.gettree()
},
methods:{

@ -1,5 +1,30 @@
<template>
<el-row>
<div style="user-select: none;
height: 40px;
display: flex;
align-items: center;
position: relative;
padding: 0 10px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
border-top: 1px solid #f6f6f6;
background-color: #fff;
-webkit-box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);">
<div style="height: 100%;
border-bottom: 3px solid #409EFF;
display: flex;
align-items: center;
padding: 0 10px;
font-family: Arial,sans-serif;
font-size: 15px;
color: #409EFF;">
{{routeName == '' ? '设备管理' : routeName}}
</div>
</div>
<el-col :span="3">
<div class="box">
<el-scrollbar>
@ -647,7 +672,8 @@
]
},
imgList:[],
fileList:[]
fileList:[],
routeName:''
};
},
watch: {},
@ -668,6 +694,7 @@
}
},
mounted() {
this.routeName = this.$route.name
if(this.$route.query.code){
getDetail({equipCode:this.$route.query.code}).then(res =>{
console.log(res)

@ -1,5 +1,30 @@
<template>
<el-row>
<div style="user-select: none;
height: 40px;
display: flex;
align-items: center;
position: relative;
padding: 0 10px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
border-top: 1px solid #f6f6f6;
background-color: #fff;
-webkit-box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);">
<div style="height: 100%;
border-bottom: 3px solid #409EFF;
display: flex;
align-items: center;
padding: 0 10px;
font-family: Arial,sans-serif;
font-size: 15px;
color: #409EFF;">
{{routeName == '' ? '运维记录' : routeName}}
</div>
</div>
<el-col :span="3">
<div class="box">
<el-scrollbar>
@ -426,7 +451,8 @@
message:'请输入正确的手机号格式',
trigger:'blur'
}]
}
},
routeName:''
};
},
computed: {
@ -447,6 +473,9 @@
return ids.join(",");
}
},
mounted() {
this.routeName = this.$route.name
},
methods: {
loadmore(){
this.current ++;

@ -1,4 +1,30 @@
<template>
<div>
<div style="user-select: none;
height: 40px;
display: flex;
align-items: center;
position: relative;
padding: 0 10px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
border-top: 1px solid #f6f6f6;
background-color: #fff;
-webkit-box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);">
<div style="height: 100%;
border-bottom: 3px solid #409EFF;
display: flex;
align-items: center;
padding: 0 10px;
font-family: Arial,sans-serif;
font-size: 15px;
color: #409EFF;">
{{routeName == '' ? '设备规则' : routeName}}
</div>
</div>
<basic-container class="content">
<div class="content-top">
<el-form
@ -379,6 +405,7 @@
</div>
</el-dialog>
</basic-container>
</div>
</template>
<script>
@ -388,6 +415,7 @@
export default {
data() {
return {
routeName:'',
queryForm: {
classCode: '',
type: '',
@ -484,6 +512,7 @@
}
},
mounted() {
this.routeName = this.$route.name
this.init()
},
methods: {

@ -1,4 +1,31 @@
<template>
<div>
<div style="user-select: none;
height: 40px;
display: flex;
align-items: center;
position: relative;
padding: 0 10px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
border-top: 1px solid #f6f6f6;
background-color: #fff;
-webkit-box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);">
<div style="height: 100%;
border-bottom: 3px solid #409EFF;
display: flex;
align-items: center;
padding: 0 10px;
font-family: Arial,sans-serif;
font-size: 15px;
color: #409EFF;">
{{routeName == '' ? '历史用热记录' : routeName}}
</div>
</div>
<basic-container>
<el-row>
<el-col :span="24">
@ -69,6 +96,7 @@
</span>
</el-dialog>
</basic-container>
</div>
</template>
<script>
@ -79,6 +107,7 @@ import { dateFormat } from "@/util/date";
export default {
data() {
return {
routeName:'',
area: "1",
build: '',
equipName: '',//
@ -273,6 +302,9 @@ export default {
};
},
},
mounted() {
this.routeName = this.$route.name
},
methods: {
//
historyByCode(row) {

@ -1,5 +1,30 @@
<template>
<el-row>
<div style="user-select: none;
height: 40px;
display: flex;
align-items: center;
position: relative;
padding: 0 10px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
border-top: 1px solid #f6f6f6;
background-color: #fff;
-webkit-box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);">
<div style="height: 100%;
border-bottom: 3px solid #409EFF;
display: flex;
align-items: center;
padding: 0 10px;
font-family: Arial,sans-serif;
font-size: 15px;
color: #409EFF;">
{{routeName == '' ? '历史报警记录' : routeName}}
</div>
</div>
<el-col :span="3">
<div class="box">
<el-scrollbar>
@ -184,6 +209,7 @@
// format:'yyyy-MM-dd',
// valueFormat:'yyyy-MM-dd',
align:'center',
sortable:true,
},
{
label: "开始时间",
@ -253,6 +279,7 @@
children: 'children'
}
},
routeName:''
};
},
computed: {
@ -273,6 +300,9 @@
return ids.join(",");
}
},
mounted() {
this.routeName = this.$route.name
},
methods: {
nodeClick(data){
this.classCode = data.key;

@ -1,4 +1,31 @@
<template>
<div>
<div style="user-select: none;
height: 40px;
display: flex;
align-items: center;
position: relative;
padding: 0 10px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
border-top: 1px solid #f6f6f6;
background-color: #fff;
-webkit-box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);">
<div style="height: 100%;
border-bottom: 3px solid #409EFF;
display: flex;
align-items: center;
padding: 0 10px;
font-family: Arial,sans-serif;
font-size: 15px;
color: #409EFF;">
{{routeName == '' ? '历史用水记录' : routeName}}
</div>
</div>
<basic-container>
<el-row>
<el-col :span="24">
@ -51,6 +78,7 @@
</span>
</el-dialog>
</basic-container>
</div>
</template>
<script>
@ -61,6 +89,7 @@ import { dateFormat } from "@/util/date";
export default {
data() {
return {
routeName:'',
area: "1",
build: '',
floor: '',
@ -228,6 +257,9 @@ export default {
return ids.join(",");
},
},
mounted() {
this.routeName = this.$route.name
},
methods: {
//
historyByCode(row) {

@ -32,7 +32,7 @@
? true
: false
" placeholder="请选择楼层" size="mini" style="margin-left: 10px; width: 7.5rem" v-model="choseFloor"
@change="getPieData">
@change="changeFloor">
<el-option v-for="(item, index) in floors" :label="item.name" :value="item.id" :key="index" v-if="
(choseBuild == '03' || choseBuild == '05') && item.id == '03'
? false
@ -102,7 +102,7 @@
<script>
import radarChart from "./radarChart";
import lineCharts from "./lineCharts";
import { getBuildElectLine, getBuildElectPie } from "@/api/source/total";
import { getBuildElectLine, getBuildElectPie, getFourPie } from "@/api/source/total";
import { dateFormat } from "@/util/date";
export default {
props: {
@ -271,7 +271,22 @@ export default {
this.floorLineChart(lineData, floorData, data.dateList);
}
});
this.getPieData();
if(this.buildValue != '04'){
this.getPieData();
}else{
this.getFourPieData()
}
},
getFourPieData(){
getFourPie({
dateType:this.choseDate,
queryDate:this.chooseDateValue ? this.chooseDateValue : "",
floorNumber:this.choseFloor ? this.choseFloor : ""
}).then(res =>{
const data = res.data.data
this.getPie(data)
})
},
getPieData() {
//
@ -444,11 +459,20 @@ export default {
},
searchBuild() {
this.buildValue = this.choseBuild;
this.choseFloor = "";
this.getData();
this.choseFloor = "";
this.getData();
// this.floorLeida();
// this.floorLineChart()
},
changeFloor(){
console.log('choseFloor==========>',this.choseFloor)
if(this.buildValue == '04'){
this.getFourPieData()
}else{
this.getPieData()
}
},
},
};
</script>

@ -44,7 +44,7 @@ export default {
itemWidth: 15,
itemHeight: 7,
right: "0",
top: "10%",
top: "5%",
itemGap: 10,
},
grid: {

@ -1,7 +1,7 @@
<template>
<div class="build-electric">
<p class="yq-title">生产耗电分析</p>
<div class="change-tab" style="position: absolute; top: 1rem; right: 6.25rem">
<!-- <div class="change-tab" style="position: absolute; top: 1rem; right: 6.25rem">
<div @click="selectType('1')" :style="{
backgroundColor: chooseType == '1' ? 'rgb(8,166,255)' : '',
}">
@ -12,17 +12,29 @@
}">
功能
</div>
</div>
<el-checkbox
</div> -->
<el-select placeholder="请选择" size="mini" style="margin-left: 10px; width: 7.5rem;position: absolute; top: 1rem; right: 1.25rem;"
v-model="choseArea" @change="searchArea" clearable>
<el-option label="业务区" :value="1"></el-option>
<el-option label="塔台" :value="2"></el-option>
</el-select>
<!-- <el-checkbox
v-if="chooseType == '1'"
class="change-check"
style="position: absolute; top: 1rem; right: 1.25rem; color: white"
style="position: absolute; top: 1rem; right: 4rem; color: white"
v-model="checkArea"
@change="changeArea"
>业务区</el-checkbox>
<el-checkbox
v-if="chooseType == '1'"
class="change-check"
style="position: absolute; top: 1rem; right: 1.25rem; color: white"
v-model="checkTT"
@change="changeTT"
>塔台</el-checkbox> -->
<div class="search-box">
<div
v-show="checkArea"
v-show="choseArea != ''"
class="choose-time"
style="float: left"
>
@ -102,11 +114,13 @@ export default {
},
data() {
return {
choseArea:'',
checkArea: false,
checkTT:false,
choseDate: "3", //
chooseDateValue: dateFormat(new Date(), "yyyy-MM-dd"), //
chooseType: "1",
build: ["业务区", "塔台", "气象雷达站", "西三边", "东三边", "场外二次雷达"],
build: ["业务区", "塔台", "气象雷达站", "西三边", "东三边", "场外二次雷达","场内二次雷达"],
buildColor: [
"rgb(56,169,255)",
"rgb(44,246,172)",
@ -118,44 +132,57 @@ export default {
"#a3ff20",
],
buildValue: "",
choseBuild: "",
choseBuild: "模拟机",
buildings: [
// "", "", ""
{
id: "",
name: "全部",
id:'模拟机',
name:'模拟机'
},
{
id: "01",
name: "1号楼",
id:'核心机房空调',
name:'核心机房空调'
},
{
id: "02",
name: "2号楼",
},
{
id: "03",
name: "3号楼",
},
{
id: "04",
name: "4号楼",
},
{
id: "05",
name: "5号楼",
},
{
id: "06",
name: "6号楼",
},
{
id: "08",
name: "塔楼",
},
{
id: "09",
name: "塔台辅楼",
},
id:'工艺设备',
name:'工艺设备'
}
// {
// id: "",
// name: "",
// },
// {
// id: "01",
// name: "1",
// },
// {
// id: "02",
// name: "2",
// },
// {
// id: "03",
// name: "3",
// },
// {
// id: "04",
// name: "4",
// },
// {
// id: "05",
// name: "5",
// },
// {
// id: "06",
// name: "6",
// },
// {
// id: "08",
// name: "",
// },
// {
// id: "09",
// name: "",
// },
],
choseFloor: "", // - 3
floors: [
@ -196,14 +223,54 @@ export default {
checkArea(newV) {
console.log('变化了', this.chooseType)
this.buildValue = ''
this.choseBuild = ''
this.choseBuild = '模拟机'
if(newV) {
this.build = ["1号楼", "2号楼", "3号楼", "4号楼", "5号楼", "6号楼"]
// this.build = ["1", "2", "3", "4", "5", "6"]
this.build = ["模拟机"]
} else {
this.build = ["业务区", "塔台", "气象雷达站", "西三边", "东三边", "场外二次雷达"]
this.build = ["业务区", "塔台", "气象雷达站", "西三边", "东三边", "场外二次雷达","场内二次雷达"]
}
this.getData()
}
},
choseArea(newVal){
console.log('newVal=============>',newVal)
this.buildValue = ''
if(newVal == 1){
this.buildings = [
{
id:'模拟机',
name:'模拟机'
},
{
id:'核心机房空调',
name:'核心机房空调'
},
{
id:'工艺设备',
name:'工艺设备'
}
]
this.build = ["模拟机"]
this.choseBuild = '模拟机'
}else if(newVal == 2){
this.buildings = [
{
id:'机房空调',
name:'机房空调'
},
{
id:'工艺设备',
name:'工艺设备'
}
]
this.build = ["工艺设备"]
this.choseBuild = '工艺设备'
}else{
this.build = ["业务区", "塔台", "气象雷达站", "西三边", "东三边", "场外二次雷达",'场内二次雷达']
}
this.getData()
},
},
methods: {
//
@ -244,7 +311,7 @@ export default {
}
this.getData()
},
// changeArea() {
changeArea() {
// if(this.chooseType == 1) {
// if(this.checkArea) {
// this.build = ["1", "2", "3", "4", "5", "6"]
@ -252,10 +319,45 @@ export default {
// this.build = ["", "", "", "西", "", ""]
// }
// this.getData()
// }
this.checkTT = false
this.checkArea = true
this.buildings = [
{
id:'模拟机',
name:'模拟机'
},
{
id:'核心机房空调',
name:'核心机房空调'
},
{
id:'工艺设备',
name:'工艺设备'
}
]
this.choseBuild = '模拟机'
this.getData()
},
changeTT(){
this.checkTT = true
this.checkArea = false
this.buildings = [
{
id:'机房空调',
name:'机房空调'
},
{
id:'工艺设备',
name:'工艺设备'
}
]
this.choseBuild = '工艺设备'
this.getData()
},
// },
getData() {
getProductElectricLine(this.chooseType, this.checkArea ? 1 : '', this.choseDate, this.chooseDateValue).then(res => {
// this.chooseType,
getProductElectricLine( this.choseArea, this.choseDate, this.chooseDateValue,this.choseBuild).then(res => {
let leidaData = [];
let lineData = [];
let floorData = [];
@ -263,11 +365,12 @@ export default {
for (let i = 0; i < data.dataList.length; i++) {
// leidaData.push(data.dataList[i].consume);
lineData.push(data.dataList[i].consumeList);
let floor =
parseInt(data.dataList[i].locationNumber) === 0
? "-1"
: parseInt(data.dataList[i].locationNumber);
floorData.push(this.buildValue == '08' ? '塔楼' : this.buildValue == '09' ? '塔台辅楼' : floor + "F");
// let floor =
// parseInt(data.dataList[i].locationNumber) === 0
// ? "-1"
// : parseInt(data.dataList[i].locationNumber);
// floorData.push(this.buildValue == '08' ? '' : this.buildValue == '09' ? '' : floor + "F");
floorData.push(data.dataList[i].locationNumber)
}
if (this.buildValue == "") {
// this.getLeida(leidaData);
@ -326,6 +429,44 @@ export default {
// this.floorLeida();
// this.floorLineChart()
},
searchArea(){
// if(this.choseArea == 1){
// this.buildings = [
// {
// id:'',
// name:''
// },
// {
// id:'',
// name:''
// },
// {
// id:'',
// name:''
// }
// ]
// this.build = [""]
// this.choseBuild = ''
// this.getData()
// }else if(this.choseArea == 2){
// this.buildings = [
// {
// id:'',
// name:''
// },
// {
// id:'',
// name:''
// }
// ]
// this.build = [""]
// this.choseBuild = ''
// this.getData()
// }else{
// this.build = ["", "", "", "西", "", "",'']
// this.getData()
// }
},
},
};
</script>

@ -1,4 +1,30 @@
<template>
<div>
<div style="user-select: none;
height: 40px;
display: flex;
align-items: center;
position: relative;
padding: 0 10px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
border-top: 1px solid #f6f6f6;
background-color: #fff;
-webkit-box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);">
<div style="height: 100%;
border-bottom: 3px solid #409EFF;
display: flex;
align-items: center;
padding: 0 10px;
font-family: Arial,sans-serif;
font-size: 15px;
color: #409EFF;">
{{routeName == '' ? '机构管理' : routeName}}
</div>
</div>
<basic-container>
<avue-crud :option="option"
:table-loading="loading"
@ -44,6 +70,7 @@
</template>
</avue-crud>
</basic-container>
</div>
</template>
<script>
@ -61,6 +88,7 @@
export default {
data() {
return {
routeName:'',
form: {},
selectionList: [],
query: {},
@ -205,6 +233,9 @@
return ids.join(",");
}
},
mounted() {
this.routeName = this.$route.name
},
methods: {
initData() {
getDeptTree().then(res => {

@ -1,4 +1,30 @@
<template>
<div>
<div style="user-select: none;
height: 40px;
display: flex;
align-items: center;
position: relative;
padding: 0 10px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
border-top: 1px solid #f6f6f6;
background-color: #fff;
-webkit-box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);">
<div style="height: 100%;
border-bottom: 3px solid #409EFF;
display: flex;
align-items: center;
padding: 0 10px;
font-family: Arial,sans-serif;
font-size: 15px;
color: #409EFF;">
{{routeName == '' ? '系统字典' : routeName}}
</div>
</div>
<basic-container>
<avue-crud
:option="optionParent"
@ -100,6 +126,7 @@
</avue-crud>
</el-dialog>
</basic-container>
</div>
</template>
<script>
@ -118,6 +145,7 @@ import {mapGetters} from "vuex";
export default {
data() {
return {
routeName:'',
dictValue: '暂无',
parentId: -1,
formParent: {},
@ -164,6 +192,7 @@ export default {
}
},
mounted() {
this.routeName = this.$route.name
this.initData();
},
methods: {

@ -1,4 +1,30 @@
<template>
<div>
<div style="user-select: none;
height: 40px;
display: flex;
align-items: center;
position: relative;
padding: 0 10px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
border-top: 1px solid #f6f6f6;
background-color: #fff;
-webkit-box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);">
<div style="height: 100%;
border-bottom: 3px solid #409EFF;
display: flex;
align-items: center;
padding: 0 10px;
font-family: Arial,sans-serif;
font-size: 15px;
color: #409EFF;">
{{routeName == '' ? '业务字典' : routeName}}
</div>
</div>
<basic-container>
<avue-crud
:option="optionParent"
@ -100,6 +126,7 @@
</avue-crud>
</el-dialog>
</basic-container>
</div>
</template>
<script>
@ -118,6 +145,7 @@
export default {
data() {
return {
routeName:'',
dictValue: '暂无',
parentId: -1,
formParent: {},
@ -164,6 +192,7 @@
}
},
mounted() {
this.routeName = this.$route.name
this.initData();
},
methods: {

@ -1,4 +1,30 @@
<template>
<div>
<div style="user-select: none;
height: 40px;
display: flex;
align-items: center;
position: relative;
padding: 0 10px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
border-top: 1px solid #f6f6f6;
background-color: #fff;
-webkit-box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);">
<div style="height: 100%;
border-bottom: 3px solid #409EFF;
display: flex;
align-items: center;
padding: 0 10px;
font-family: Arial,sans-serif;
font-size: 15px;
color: #409EFF;">
{{routeName == '' ? '系统菜单' : routeName}}
</div>
</div>
<basic-container>
<avue-crud :option="option"
:table-loading="loading"
@ -46,6 +72,7 @@
</template>
</avue-crud>
</basic-container>
</div>
</template>
<script>
@ -58,6 +85,7 @@
export default {
data() {
return {
routeName:'',
form: {},
query: {},
loading: true,
@ -267,6 +295,9 @@
return ids.join(",");
}
},
mounted() {
this.routeName = this.$route.name
},
methods: {
initData() {
getMenuTree().then(res => {

@ -1,4 +1,30 @@
<template>
<div>
<div style="user-select: none;
height: 40px;
display: flex;
align-items: center;
position: relative;
padding: 0 10px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
border-top: 1px solid #f6f6f6;
background-color: #fff;
-webkit-box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);">
<div style="height: 100%;
border-bottom: 3px solid #409EFF;
display: flex;
align-items: center;
padding: 0 10px;
font-family: Arial,sans-serif;
font-size: 15px;
color: #409EFF;">
{{routeName == '' ? '系统设置' : routeName}}
</div>
</div>
<div class="setting-block">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="当前模式" name="first">
@ -175,6 +201,7 @@
</el-tab-pane>
</el-tabs>
</div>
</div>
</template>
<script>
@ -183,6 +210,7 @@ import { getPeople, setPeople, getArea, setArea } from "@/api/source/total";
export default {
data() {
return {
routeName:'',
activeName: "first", ////
areaIndex: "1", ///
ruleForm: {
@ -331,6 +359,7 @@ export default {
};
},
mounted() {
this.routeName = this.$route.name
this.getWarmMode();
},
methods: {

@ -1,5 +1,30 @@
<template>
<el-row>
<div style="user-select: none;
height: 40px;
display: flex;
align-items: center;
position: relative;
padding: 0 10px;
margin-bottom: 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
border-top: 1px solid #f6f6f6;
background-color: #fff;
-webkit-box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);">
<div style="height: 100%;
border-bottom: 3px solid #409EFF;
display: flex;
align-items: center;
padding: 0 10px;
font-family: Arial,sans-serif;
font-size: 15px;
color: #409EFF;">
{{routeName == '' ? '采购信息' : routeName}}
</div>
</div>
<el-col :span="5">
<div class="box">
<el-scrollbar>
@ -212,6 +237,7 @@
}
};
return {
routeName:'',
form: {},
search:{},
roleBox: false,
@ -720,6 +746,7 @@
}
},
mounted() {
this.routeName = this.$route.name
//
if (!website.tenantMode) {
this.initData(website.tenantId);

Loading…
Cancel
Save