功能开发

main
guanxiaohan 2 years ago
parent 2080f1ec02
commit 026b594002
  1. 7
      src/api/itemManagement/itemList.js
  2. 29
      src/components/monitoring/electricity.vue
  3. 9
      src/components/monitoring/firefighting.vue
  4. 11
      src/components/monitoring/wall.vue
  5. 12
      src/components/monitoring/warm.vue
  6. 11
      src/components/monitoring/water.vue
  7. 4
      src/page/index/index.vue
  8. 16
      src/page/itemManagement/applicationExamine/index.vue
  9. 262
      src/page/itemManagement/itemList/index.vue
  10. 29
      src/page/opsVisualization/alarmProcess.vue
  11. 8
      src/page/opsVisualization/serviceDataOAM.vue
  12. 8
      src/page/opsVisualization/systemMonitoring/index.vue
  13. 2
      src/page/opsVisualization/tuobu.vue
  14. 40
      src/router/page/index.js
  15. 51
      src/router/views/index.js
  16. 3
      src/util/commonValue.js
  17. 4
      src/views/equipment/operationDetails.vue
  18. 1
      src/views/garden/home.vue
  19. 4
      src/views/garden/index.vue
  20. 10
      src/views/opsVisualization/alarmProcess.vue
  21. 2
      src/views/opsVisualization/tuobu.vue

@ -48,4 +48,11 @@ export const check = (params) => {
method: 'get',
params
})
}
export const deptList = (params) => {
return request({
url: "/api/blade-system/dept/list",
method: "get",
params,
});
}

@ -485,11 +485,15 @@ export default {
tataiTotal: "",
isMapViewer: 0,
alarmAlert: true, //
dialogItem: {}
};
},
created() {
this.getData();
window["handleDetail"] = () => {
this.handleDetail()
};
// window.handleDetail = this.handleDetail
},
beforeDestroy() {
if (this.setInterval) {
@ -799,7 +803,7 @@ export default {
// console.log(row)
},
//
addLabel(objectId, name, type, location, dataNum,inventarNummer,maintainTime,maintainUser,maintainPhone,maintainDesc) {
addLabel(objectId, name, type, location, dataNum,inventarNummer,maintainTime,maintainUser,maintainPhone,maintainDesc, code) {
console.log(type)
// id////
//
@ -854,11 +858,16 @@ export default {
<span style="opacity: 0.5;font-size: 12px;">维保内容:</span>
<span style="font-size: 15px;">${maintainDesc ? maintainDesc : ''}</span>
</div>
<button style="padding: 5px 0;font-size: 12px;" onclick="handleDetail()">操作明细</button>
</div>
</div>
</div>
</div>`;
customTag(position, null, content);
},
handleDetail() {
this.$router.push(`/equipment/operationDetails?name=${this.dialogItem.name}&code=${this.dialogItem.code}`)
},
// ()
onClick() {
@ -1105,7 +1114,19 @@ export default {
});
},
getNavigationMap() {
commonValue.getNavigationMap("electricity");
const label = commonValue.getNavigationMap("electricity")
// console.log('label', label)
this.$nextTick(() => {
if (this.$route.query.code) {
this.tableData.forEach(item => {
if (item.code == this.$route.query.code) {
console.log('gxh', item)
this.bjClick(item)
}
})
}
})
},
//
selectBim(i) {
@ -1118,6 +1139,8 @@ export default {
},
//
bjClick(item) {
this.dialogItem = item
console.log(this.bimModel, item.build)
if (this.bimModel == 2) {
if (item.build == 9) {
//

@ -286,6 +286,7 @@ export default {
safeTotal: 0,
alarmLists: [],
activeTab: 1,
dialogItem: {}
};
},
components: {
@ -305,6 +306,9 @@ export default {
this.getFiredWarnList(); //
this.addWaterLabel();
}, 3600000);
window["handleDetail"] = () => {
this.handleDetail()
};
},
mounted() {
let dom = document.getElementById('fire_box');
@ -550,6 +554,9 @@ export default {
},
},
methods: {
handleDetail() {
this.$router.push(`/equipment/operationDetails?name=${this.dialogItem.name}&code=${this.dialogItem.code}`)
},
// -
doCancelWarn(item) {
getCancelWarn(item.id).then((res) => {
@ -760,6 +767,7 @@ export default {
//
//
bjClick(item) {
this.dialogItem = item
// bfHelper.clearDrawableContainer();
// // console.log(item)
// let id = bfHelper.disposeId(1, item.build, item.modelId);
@ -946,6 +954,7 @@ export default {
<span style="font-size:12px;color:silver">维保内容</span>
<span style="font-size:13px;color:white">${item.maintainDesc ? item.maintainDesc : ''}</span>
</div>
<button style="padding: 5px 0;font-size: 12px;" onclick="handleDetail()">操作明细</button>
</div>
</div>
</div>

@ -708,6 +708,12 @@ export default {
classOption: {
step: 0.2,
}, //
dialogItem: {}
};
},
created() {
window["handleDetail"] = () => {
this.handleDetail()
};
},
watch: {
@ -816,6 +822,9 @@ export default {
}
},
methods: {
handleDetail() {
this.$router.push(`/equipment/operationDetails?name=${this.dialogItem.name}&code=${this.dialogItem.code}`)
},
// -
doCancelWarn(item) {
getCancelWarn(item.id).then((res) => {
@ -988,6 +997,7 @@ export default {
// console.log(row)
},
bjClick(row) {
this.dialogItem = row
bfHelper.clearTags();
if (this.bimModel == 1) {
for (let i = 0; i < this.ywq.length; i++) {
@ -1133,6 +1143,7 @@ export default {
<span style="opacity: 0.5;font-size: 12px;">维保内容:</span>
<span style="font-size: 13px;">${maintainDesc ? maintainDesc : ''}</span>
</div>
<button style="padding: 5px 0;font-size: 12px;" onclick="handleDetail()">操作明细</button>
</div>
</div>
</div>

@ -436,6 +436,7 @@ export default {
classOption: {
step: 0.3,
}, //
dialogItem: {}
};
},
watch: {
@ -594,7 +595,11 @@ export default {
},
},
},
created() { },
created() {
window["handleDetail"] = () => {
this.handleDetail()
};
},
beforeDestroy() {
if (this.setInterval) {
clearInterval(this.setInterval);
@ -611,6 +616,9 @@ export default {
this.getNavigationMap();
},
methods: {
handleDetail() {
this.$router.push(`/equipment/operationDetails?name=${this.dialogItem.name}&code=${this.dialogItem.code}`)
},
// -
doCancelWarn(item) {
getCancelWarn(item.id).then((res) => {
@ -764,6 +772,7 @@ export default {
},
//
bjClick(item) {
this.dialogItem = item
if (item.modelId == "") {
this.$message.error('对不起,暂无该设备模型,请稍后点击')
} else {
@ -940,6 +949,7 @@ export default {
<span style="opacity: 0.5;font-size: 12px;">维保内容:</span>
<span style="font-size: 13px;">${maintainDesc ? maintainDesc : ''}</span>
</div>
<button style="padding: 5px 0;font-size: 12px;" onclick="handleDetail()">操作明细</button>
</div>
</div>

@ -388,10 +388,14 @@ export default {
offList: [], //线
bjList: [], //
activeTab: 1,
dialogItem: {}
};
},
created() {
this.getData();
window["handleDetail"] = () => {
this.handleDetail()
};
},
beforeDestroy() {
if (this.setInterval) {
@ -576,6 +580,9 @@ export default {
},
beforeDestroy() { },
methods: {
handleDetail() {
this.$router.push(`/equipment/operationDetails?name=${this.dialogItem.name}&code=${this.dialogItem.code}`)
},
// -
doCancelWarn(item) {
getCancelWarn(item.id).then((res) => {
@ -718,6 +725,7 @@ export default {
getWaterMeterData(this.bimModel, e.target.id.substring(25)).then(
(res) => {
const data = res.data.data;
this.dialogItem = data
let content;
if (data.status == 90000) {
//
@ -858,6 +866,7 @@ export default {
<span style="opacity: 0.5;font-size: 12px;">维保内容:</span>
<span style="font-size: 13px;">${maintainDesc ? maintainDesc : ''}</span>
</div>
<button style="padding: 5px 0;font-size: 12px;" onclick="handleDetail()">操作明细</button>
</div>
</div>
</div>
@ -952,6 +961,7 @@ export default {
<span style="opacity: 0.5;font-size: 12px;">维保内容:</span>
<span style="font-size: 13px;">${maintainDesc ? maintainDesc : ''}</span>
</div>
<button style="padding: 5px 0;font-size: 12px;" onclick="handleDetail()">操作明细</button>
</div>
</div>
</div>
@ -960,6 +970,7 @@ export default {
},
//
bjClick(item) {
this.dialogItem = item
console.log('item',item)
if(item.modelId == ''){
this.$message.error('对不起,暂无该设备模型,请稍后点击')

@ -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">
<!-- 顶部标签卡 -->
@ -151,7 +151,7 @@ export default {
<style scoped type="text/css">
.avue-left {
position: relative;
width: 80%;
width: 90%;
}
.avue-layout {
height: calc(100% - 64px);

@ -54,7 +54,7 @@
</el-form-item>
</el-form>
<div>
<el-button v-if="multipleSelection.length != 0" class="register" @click="batchDeletion">批量删除</el-button>
<el-button v-if="multipleSelection.length != 0 && vaildData(permission.goods_apply_remove, false)" class="register" @click="batchDeletion">批量删除</el-button>
</div>
</div>
<div class="content-main">
@ -147,17 +147,19 @@
trigger="hover">
<div class="more-box">
<div
v-if="vaildData(permission.goods_apply_view, false)"
class="item"
@click="handleOperation('view', scope.row)">查看</div>
<div
v-if="vaildData(permission.goods_apply_remove, false)"
class="item"
@click="handleOperation('delete', scope.row)">删除</div>
<div
v-if="scope.row.status == '0'"
v-if="scope.row.status == '0' && vaildData(permission.goods_apply_check, false)"
class="item"
@click="handleOperation('examine', scope.row)">审核</div>
<div
v-if="scope.row.status == '1'"
v-if="scope.row.status == '1' && vaildData(permission.goods_apply_receive, false)"
class="item"
@click="handleOperation('receive', scope.row)">领取</div>
</div>
@ -332,8 +334,8 @@
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="name">
<el-input v-model="registerForm.name"
<el-form-item label="备注" prop="remarks">
<el-input v-model="registerForm.remarks"
disabled
/>
</el-form-item>
@ -409,6 +411,7 @@
import { findPage, detail, remove } from "@/api/itemManagement/applicationExamine";
import { goodsApplySave } from "@/api/itemManagement/itemList";
import {getDictionary} from '@/api/system/dictbiz'
import {mapGetters} from "vuex";
export default {
data() {
return {
@ -528,6 +531,7 @@
}
},
computed: {
...mapGetters(["userInfo", "permission"]),
registerTitle() {
if(this.dialogFormType == 'view') {
return '查看详情'
@ -717,6 +721,8 @@
return false;
}
}, fieldsToValidate);
} else {
this.registerHandleClose()
}
} else {
this.registerHandleClose()

@ -57,8 +57,8 @@
</el-form-item>
</el-form>
<div>
<el-button class="register" @click="handleAdd">登记入库</el-button>
<el-button v-if="multipleSelection.length != 0" class="register" @click="batchDeletion">批量删除</el-button>
<el-button class="register" @click="handleAdd" v-if="vaildData(permission.goods_storage, false)">登记入库</el-button>
<el-button v-if="multipleSelection.length != 0 && vaildData(permission.goods_remove, false)" class="register" @click="batchDeletion">批量删除</el-button>
</div>
</div>
<div class="content-main">
@ -91,6 +91,10 @@
prop="code"
label="物品编号">
</el-table-column>
<el-table-column
prop="deptName"
label="所属部门">
</el-table-column>
<el-table-column
prop="brand"
label="品牌">
@ -112,6 +116,10 @@
label="入库日期"
width="100">
</el-table-column>
<el-table-column
prop="source"
label="来源">
</el-table-column>
<el-table-column
prop="num"
label="库存">
@ -143,12 +151,12 @@
width="150"
trigger="hover">
<div class="more-box">
<div class="item" @click="handleOperation('view', scope.row)">查看</div>
<div class="item" @click="handleOperation('edit', scope.row)">编辑</div>
<div class="item" @click="handleOperation('change', scope.row)">库存变更</div>
<div class="item" @click="handleOperation('detail', scope.row)">操作明细</div>
<div class="item" @click="handleOperation('delete', scope.row)">删除</div>
<div class="item" @click="handleOperation('apply', scope.row)">申领</div>
<div v-if="vaildData(permission.goods_view, false)" class="item" @click="handleOperation('view', scope.row)">查看</div>
<div v-if="vaildData(permission.goods_edit, false)" class="item" @click="handleOperation('edit', scope.row)">编辑</div>
<div v-if="vaildData(permission.goods_change, false)" class="item" @click="handleOperation('change', scope.row)">库存变更</div>
<div v-if="vaildData(permission.goods_detail, false)" class="item" @click="handleOperation('detail', scope.row)">操作明细</div>
<div v-if="vaildData(permission.goods_remove, false)" class="item" @click="handleOperation('delete', scope.row)">删除</div>
<div v-if="vaildData(permission.goods_apply, false)" class="item" @click="handleOperation('apply', scope.row)">申领</div>
</div>
<div class="more" slot="reference">更多</div>
</el-popover>
@ -244,6 +252,27 @@
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
label="所属部门"
prop="brand"
>
<el-select
class="search_select"
v-model="registerForm.deptId"
placeholder="请选择所属部门"
filterable
:disabled="dialogFormDisabled"
>
<el-option
v-for="item in deptListData"
:key="item.id"
:label="item.deptName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
label="品牌"
@ -383,10 +412,31 @@
value-format="yyyy-MM-dd"
type="date"
placeholder="选择日期时间"
:disabled="dialogFormDisabled">
:disabled="dialogFormDisabled && dialogFormType != 'change'">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
label="来源"
prop="source"
>
<el-select
class="search_select"
v-model="registerForm.source"
placeholder="请选择来源"
filterable
:disabled="dialogFormDisabled && dialogFormType != 'change'"
>
<el-option
v-for="item in sourceList"
:key="item.dictValue"
:label="item.dictKey"
:value="item.dictValue">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span="8"
v-if="dialogFormType == 'apply'"
@ -409,7 +459,7 @@
<el-input
v-model="registerForm.remarks"
placeholder="请输入备注"
:disabled="dialogFormDisabled"
:disabled="dialogFormType == 'apply' ? false : dialogFormDisabled && dialogFormType != 'change'"
/>
</el-form-item>
</el-col>
@ -433,72 +483,80 @@
size="35%"
:before-close="handleClose">
<!-- <span>我来啦!</span> -->
<div class="message">
<div class="title">物品信息</div>
<el-divider></el-divider>
<div class="box">
<div class="item">
<div class="label">物品大类</div>
<div class="value">{{ registerForm.bigClass }}</div>
</div>
<div class="item">
<div class="label">物品名称</div>
<div class="value">{{ registerForm.name }}</div>
</div>
<div class="item">
<div class="label">物品编号</div>
<div class="value">{{ registerForm.code }}</div>
</div>
<div class="item">
<div class="label">品牌</div>
<div class="value">{{ registerForm.brand }}</div>
</div>
<div class="item">
<div class="label">型号</div>
<div class="value">{{ registerForm.model }}</div>
</div>
<div class="item">
<div class="label">规格</div>
<div class="value">{{ registerForm.standard }}</div>
<div class="message-history">
<div class="message">
<div class="title">物品信息</div>
<el-divider></el-divider>
<div class="box">
<div class="item">
<div class="label">物品大类</div>
<div class="value">{{ registerForm.bigClass }}</div>
</div>
<div class="item">
<div class="label">物品名称</div>
<div class="value">{{ registerForm.name }}</div>
</div>
<div class="item">
<div class="label">物品编号</div>
<div class="value">{{ registerForm.code }}</div>
</div>
<div class="item">
<div class="label">所属部门</div>
<div class="value">{{ registerForm.deptName }}</div>
</div>
<div class="item">
<div class="label">品牌</div>
<div class="value">{{ registerForm.brand }}</div>
</div>
<div class="item">
<div class="label">型号</div>
<div class="value">{{ registerForm.model }}</div>
</div>
<div class="item">
<div class="label">规格</div>
<div class="value">{{ registerForm.standard }}</div>
</div>
</div>
</div>
</div>
<div class="history">
<div class="title">历史记录</div>
<el-divider></el-divider>
<el-collapse
v-model="activeNames"
@change="handleChange"
>
<el-collapse-item
v-for="(item, index) in historyDetailList"
:key="index"
:name="index"
<div class="history">
<div class="title">历史记录</div>
<el-divider></el-divider>
<el-collapse
class="history-detail"
v-model="activeNames"
@change="handleChange"
>
<template slot="title">
<div class="title-time">{{ item.createTime }}</div>
<div class="title-text">{{ item.type }}</div>
<div class="title-num" :class="item.type == '申领出库' ? 'red' : 'green'">{{ item.type == '申领出库' ? '-' : '+' }}{{ item.num }}</div>
</template>
<div class="name-time" v-if="item.type == '申领出库'">
<div class="name">申领提交人{{ item.applyName }}</div>
<div class="time">提交时间{{ item.applyTime }}</div>
<div class="dept">所属部门{{ item.deptName }}</div>
</div>
<div class="name-time">
<div class="name">{{ item.type == '申领出库' ? '申领审核人' : '登记入库人' }}{{ item.type == '申领出库' ? item.approveName : item.inName }}</div>
<div class="time">提交时间{{ item.type == '申领出库' ? item.approveTime : item.inTime }}</div>
</div>
</el-collapse-item>
</el-collapse>
<el-collapse-item
v-for="(item, index) in historyDetailList"
:key="index"
:name="index"
>
<template slot="title">
<div class="title-time">{{ item.createTime }}</div>
<div class="title-text">{{ item.type }}</div>
<div class="title-num" :class="item.type == '申领出库' ? 'red' : 'green'">{{ item.type == '申领出库' ? '-' : '+' }}{{ item.num }}</div>
</template>
<div class="name-time" v-if="item.type == '申领出库'">
<div class="name">申领提交人{{ item.applyName }}</div>
<div class="time">提交时间{{ item.applyTime }}</div>
<div class="dept">所属部门{{ item.deptName }}</div>
</div>
<div class="name-time">
<div class="name">{{ item.type == '申领出库' ? '申领审核人' : '登记入库人' }}{{ item.type == '申领出库' ? item.approveName : item.inName }}</div>
<div class="time">提交时间{{ item.type == '申领出库' ? item.approveTime : item.inTime }}</div>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
</el-drawer>
</basic-container>
</template>
<script>
import { findPage, detail, save, goodsApplySave, remove, historyDetail, check } from "@/api/itemManagement/itemList";
import { findPage, detail, save, goodsApplySave, remove, historyDetail, check, deptList } from "@/api/itemManagement/itemList";
import {getDictionary} from '@/api/system/dictbiz'
import {mapGetters} from "vuex";
export default {
data() {
return {
@ -509,6 +567,7 @@
},
typeList: [],
brandList: [],
sourceList: [],
tableData: [],
multipleSelection: [],
currentPage: 1,
@ -531,8 +590,10 @@
unit: '',
useTo: '',
inDate: '',
source: '',
applyNum: '',
remarks: '',
deptId: '',
},
rules: {
bigClass: [
@ -544,6 +605,9 @@
code: [
{ required: true, message: '请输入物品编号', trigger: 'blur' },
],
deptId: [
{ required: true, message: '请选择部门名称', trigger: 'blur' },
],
brand: [
{ required: true, message: '请选择品牌', trigger: 'blur' },
],
@ -594,6 +658,9 @@
inDate: [
{ required: true, message: '请选择入库时间', trigger: 'blur' },
],
source: [
{ required: true, message: '请选择来源', trigger: 'blur' },
],
applyNum: [
{
validator: (rule, value, callback) => {
@ -612,10 +679,12 @@
},
drawer: false,
activeNames: [],
historyDetailList: []
historyDetailList: [],
deptListData: [],
}
},
computed: {
...mapGetters(["userInfo", "permission"]),
registerTitle() {
if(this.dialogFormType == 'add') {
return '登记入库'
@ -647,6 +716,12 @@
await getDictionary({code: 'brand'}).then(res => {
this.brandList = res.data.data.filter(item => item.parentId != '0')
})
await getDictionary({code: 'goods_source'}).then(res => {
this.sourceList = res.data.data.filter(item => item.parentId != '0')
})
await deptList().then(res => {
this.deptListData = res.data.data[0].children
})
},
//
findPage() {
@ -723,7 +798,7 @@
} else if(type == 'detail') {
this.drawer = true
this.detail(row.id)
historyDetail({code: row.code}).then(res => {
historyDetail({code: row.code, deptId: row.deptId}).then(res => {
// console.log(res)
this.historyDetailList = res.data.data
})
@ -763,13 +838,16 @@
detail({id}).then(res => {
console.log(res)
this.registerForm = res.data.data
if(this.dialogFormType == 'apply') {
this.registerForm.remarks = ''
}
})
},
//
registerHandleClick(type) {
if(type == 'confirm') {
if(this.dialogFormType == 'add') {
check({code: this.registerForm.code}).then(res => {
check({code: this.registerForm.code, deptId: this.registerForm.deptId}).then(res => {
if(!res.data) {
this.$message({
message: '该编号已存在',
@ -777,11 +855,18 @@
});
return;
} else {
const fieldsToValidate = ['bigClass','name','code','brand','model','standard','price','allocation','inNum','unit','useTo','inDate','remarks']
const fieldsToValidate = ['bigClass','name','code','brand','model','standard','price','allocation','inNum','unit','useTo','inDate','source','remarks','deptId']
this.$refs.registerForm.validate((valid) => {
if (valid) {
this.registerForm.num = 0
save(this.registerForm).then(res => {
let params = this.registerForm
this.deptListData.forEach(item => {
if(item.id == params.deptId) {
params.deptName = item.deptName
}
})
// console.log(params)
save(params).then(res => {
this.$message({
message: '入库成功',
type: 'success'
@ -803,11 +888,17 @@
}
})
} else if(this.dialogFormType == 'edit') {
const fieldsToValidate = ['bigClass','name','brand','model','standard','price','allocation','unit','useTo','inDate','remarks']
const fieldsToValidate = ['bigClass','name','brand','model','standard','price','allocation','unit','useTo','inDate','source','remarks','deptId']
this.$refs.registerForm.validate((valid) => {
if (valid) {
this.registerForm.num = this.registerForm.inNum
save(this.registerForm).then(res => {
let params = this.registerForm
this.deptListData.forEach(item => {
if(item.id == params.deptId) {
params.deptName = item.deptName
}
})
save(params).then(res => {
this.$message({
message: '修改成功',
type: 'success'
@ -827,7 +918,7 @@
}
}, fieldsToValidate);
} else if(this.dialogFormType == 'change') {
const fieldsToValidate = ['inNum']
const fieldsToValidate = ['inNum', 'inDate', 'source', 'remarks']
this.$refs.registerForm.validate((valid) => {
if (valid) {
save(this.registerForm).then(res => {
@ -851,6 +942,13 @@
}, fieldsToValidate);
} else if(this.dialogFormType == 'apply') {
const fieldsToValidate = ['applyNum']
if (this.registerForm.applyNum > this.registerForm.num) {
this.$message({
message: '申领数量不能大于库存数量',
type: 'error'
});
return
}
this.$refs.registerForm.validate((valid) => {
if (valid) {
let params = {
@ -905,8 +1003,10 @@
unit: '',
useTo: '',
inDate: '',
source: '',
applyNum: '',
remarks: '',
deptId: '',
}
},
//
@ -1005,12 +1105,20 @@
.el-input-number{
width: 100%;
}
::v-deep .el-date-editor.el-input, .el-date-editor.el-input__inner {
width: 100%;
}
}
.dialog-footer{
height: 40px;
display: flex;
justify-content: flex-end;
}
.message-history{
display: flex;
flex-direction: column;
height: 100%;
}
.message{
// padding: 0 20px;
margin: 0 20px 0px 20px;
@ -1046,6 +1154,10 @@
flex-direction: column;
border: 1px solid #D1D1D1;
border-top: none;
height: calc(91vh - 300px);
// flex: 1;
// display: flex;
// flex-direction: column;
.title{
height: 40px;
background: #FFFFFF;
@ -1055,9 +1167,11 @@
margin: 0 20px 0px 20px;
}
.el-collapse{
flex: 1;
margin: 0 20px;
border: none !important;
margin-bottom: 20px;
overflow: auto;
}
}
.title-text{

@ -1,7 +1,10 @@
<template>
<div class="content">
<basic-container class="content">
<div class="process">
<div class="title">报警节点示意图</div>
<div class="title">
<div>报警节点示意图</div>
<el-button class="go-back" @click="goBack">返回</el-button>
</div>
<el-carousel
style="position: relative"
:autoplay="false"
@ -174,7 +177,7 @@
</div>
</div> -->
</div>
</div>
</basic-container>
</template>
<script>
@ -362,16 +365,19 @@ export default {
arr.splice(arr.length - 1, 1);
return arr;
},
goBack() {
this.$router.go(-1);
}
},
};
</script>
<style lang="scss" scoped>
.content {
padding: 20px !important;
// padding: 20px !important;
.process {
width: calc(100% - 218px);
margin-left: 218px;
// width: calc(100% - 218px);
// margin-left: 218px;
height: 500px;
background: #ffffff;
border-radius: 0px 0px 0px 0px;
@ -389,6 +395,11 @@ export default {
align-items: center;
font-size: 18px;
color: #333333;
position: relative;
.go-back{
position: absolute;
right: 2px;
}
}
.main {
display: flex;
@ -602,9 +613,9 @@ export default {
height: 270px;
flex: 1;
margin-top: 30px;
width: calc(100% - 218px);
// height: 326px;
margin-left: 218px;
// width: calc(100% - 218px);
// // height: 326px;
// margin-left: 218px;
background: #ffffff;
border-radius: 0px 0px 0px 0px;
border: 1px solid #d1d1d1;

@ -1,7 +1,6 @@
<template>
<el-row style="margin-top: 10px; height: 98%">
<el-col :span="3"> </el-col>
<el-col :span="21" style="height: 100%">
<!-- <el-col :span="3"> </el-col> -->
<div style="height: 100%">
<basic-container style="height: 100%">
<div class="search_box">
<!-- <el-input
@ -188,8 +187,7 @@
</div>
</div>
</basic-container>
</el-col>
</el-row>
</div>
</template>
<style lang="scss" scoped>
.box {

@ -264,7 +264,7 @@ export default {
<style lang="scss" scoped>
.page {
padding: 30px 0 0 238px !important;
padding: 30px !important;
}
.search_box {
display: flex;
@ -295,13 +295,13 @@ export default {
}
}
.content_box1 {
width: 1640px;
// width: 1640px;
// height: 498px;
border: 1px solid #dcdcdc;
padding: 20px 0 0 20px;
}
.content_box3 {
width: 1640px;
// width: 1640px;
// height: 498px;
border: 1px solid #dcdcdc;
padding: 20px;
@ -321,7 +321,7 @@ export default {
flex-wrap: wrap;
}
.itemBox {
width: 210px;
width: 205px;
height: 212px;
border: 1px solid #dcdcdc;
margin: 0 20px 30px 0;

@ -22,7 +22,7 @@
<div class="center_jiedian_box">
<jiedian class="jiedian jiedian_1" :img="'jiedian_blue'" :status="dataList.some(item => item.name == 'mqtt服务' && item.status == 1)" :text="'mqtt服务'" :left="'-33'"></jiedian>
<jiedian class="jiedian jiedian_2" :img="'jiedian_blue'" :status="dataList.some(item => item.name == 'http服务' && item.status == 1)" :text="'http服务'" :left="'-30'"></jiedian>
<jiedian class="jiedian jiedian_3" :img="'jiedian_blue'" :status="dataList.some(item => item.name == 'modBus服务' && item.status == 1)" :text="'modBus服务'" :left="'-30'"></jiedian>
<jiedian class="jiedian jiedian_3" :img="'jiedian_blue'" :status="dataList.some(item => item.name == 'modbus服务' && item.status == 1)" :text="'modbus服务'" :left="'-30'"></jiedian>
</div>
<img class="server_1_bottom_center_left" src="../../../public/img/tuobu/server_1_bottom_center.png" alt="">
<div class="bottom_jiedian_box_1">

@ -83,44 +83,4 @@ export default [{
path: '*',
redirect: '/404'
},
{
path: '/opsVisualization',
name: '系统监控',
component: Layout,
redirect: '/opsVisualization/tuobu',
meta: {
keepAlive: true,
isTab: false,
isAuth: false
},
children: [
{
path: 'tuobu',
name: '系统监控',
meta: {
i18n: 'dashboard'
},
component: () =>
import( /* webpackChunkName: "views" */ '@/page/opsVisualization/tuobu')
},
{
path: "systemMonitoring",
name: '服务监控',
component: () =>
import( /* webpackChunkName: "page" */ '@/page/opsVisualization/systemMonitoring'),
},
{
path: "alarmProcess",
name: '业务数据监控',
component: () =>
import( /* webpackChunkName: "page" */ '@/page/opsVisualization/alarmProcess'),
},
{
path: "serviceDataOAM",
name: '报警信息记录',
component: () =>
import( /* webpackChunkName: "page" */ '@/page/opsVisualization/serviceDataOAM'),
},
]
},
]

@ -276,5 +276,54 @@ export default [{
import( /* webpackChunkName: "views" */ '@/page/itemManagement/applicationExamine')
},
]
}
},
{
path: '/opsVisualization',
name: '系统监控',
component: Layout,
redirect: '/opsVisualization/tuobu',
meta: {
keepAlive: true,
isTab: false,
isAuth: false
},
children: [
{
path: 'tuobu',
name: '系统监控',
meta: {
i18n: 'dashboard'
},
component: () =>
import( /* webpackChunkName: "views" */ '@/page/opsVisualization/tuobu')
},
{
path: "systemMonitoring",
name: '服务监控',
meta: {
i18n: 'dashboard'
},
component: () =>
import( /* webpackChunkName: "page" */ '@/page/opsVisualization/systemMonitoring'),
},
{
path: "alarmProcess",
name: '业务数据监控',
meta: {
i18n: 'dashboard'
},
component: () =>
import( /* webpackChunkName: "page" */ '@/page/opsVisualization/alarmProcess'),
},
{
path: "serviceDataOAM",
name: '报警信息记录',
meta: {
i18n: 'dashboard'
},
component: () =>
import( /* webpackChunkName: "page" */ '@/page/opsVisualization/serviceDataOAM'),
},
]
},
]

@ -34,6 +34,7 @@ const getNavigationMap = (type) => {
}
} else {
navigationMap('.mapDom', require('../../public/img/monitoring/mapviewer/total.png'), 8, 1);
// return 'electricity'
}
}
@ -77,4 +78,4 @@ const getMonth = () => {
getNavigationMap,
getUpdateMap,
getMonth
}
}

@ -31,6 +31,7 @@
<div>
<el-button v-if="multipleSelection.length != 0" class="register" @click="batchDeletion">批量删除</el-button>
<el-button class="register" @click="handleAdd">新增</el-button>
<el-button class="register" @click="gotoBim">园区监控</el-button>
<el-button class="register" @click="handleBack">返回</el-button>
</div>
</div>
@ -464,6 +465,9 @@
},
handleBack() {
this.$router.push({path: '/equipment/index'})
},
gotoBim() {
this.$router.push({path: '/garden/index', query: {code: this.$route.query.code}})
}
}
}

@ -94,7 +94,6 @@ export default {
methods: {
//
topNavFun(i) {
window.sessionStorage.removeItem('build');
window.sessionStorage.removeItem('floor');
window.sessionStorage.removeItem('ttbuild');

@ -177,6 +177,9 @@ export default {
// }else{
bfHelper.loadModel(1);
// }
if (this.$route.query.code) {
this.topNavFun(3)
}
},
beforeDestroy() {
@ -213,6 +216,7 @@ export default {
},
//
topNavFun(i) {
// console.log('123123')
window.sessionStorage.removeItem('build');
window.sessionStorage.removeItem('floor');
window.sessionStorage.removeItem('ttbuild');

@ -140,8 +140,8 @@ export default {
.content{
padding: 20px !important;
.process{
width: calc(100% - 218px);
margin-left: 218px;
// width: calc(100% - 218px);
// margin-left: 218px;
height: 584px;
background: #FFFFFF;
border-radius: 0px 0px 0px 0px;
@ -371,9 +371,9 @@ export default {
.method{
flex: 1;
margin-top: 30px;
width: calc(100% - 218px);
// height: 326px;
margin-left: 218px;
// width: calc(100% - 218px);
// // height: 326px;
// margin-left: 218px;
background: #FFFFFF;
border-radius: 0px 0px 0px 0px;
border: 1px solid #D1D1D1;

@ -22,7 +22,7 @@
<div class="center_jiedian_box">
<jiedian class="jiedian jiedian_1" :img="'jiedian_blue'" :text="'mqtt服务'" :left="'-33'"></jiedian>
<jiedian class="jiedian jiedian_2" :img="'jiedian_blue'" :text="'http服务'" :left="'-30'"></jiedian>
<jiedian class="jiedian jiedian_3" :img="'jiedian_blue'" :text="'modBus服务'" :left="'-30'"></jiedian>
<jiedian class="jiedian jiedian_3" :img="'jiedian_blue'" :text="'modbus服务'" :left="'-30'"></jiedian>
</div>
<img class="server_1_bottom_center_left" src="../../../public/img/tuobu/server_1_bottom_center.png" alt="">
<div class="bottom_jiedian_box_1">

Loading…
Cancel
Save