jinna 3 years ago
parent f94c27147a
commit 139fed3131
  1. 46
      src/api/equipment/index.js
  2. 8
      src/components/monitoring/conditioner.vue
  3. 8
      src/components/monitoring/door.vue
  4. 9
      src/components/monitoring/electricity.vue
  5. 8
      src/components/monitoring/firefighting.vue
  6. 8
      src/components/monitoring/lift.vue
  7. 8
      src/components/monitoring/light.vue
  8. 8
      src/components/monitoring/monitoring.vue
  9. 8
      src/components/monitoring/wall.vue
  10. 8
      src/components/monitoring/warm.vue
  11. 10
      src/components/monitoring/water.vue
  12. 114
      src/views/equipment/index.vue
  13. 41
      src/views/equipment/operationRecord.vue

@ -3,7 +3,7 @@ import request from "@/router/axios";
// 获取表格数据
export const getList = (current, size, params, classCode) => {
return request({
url: "/api/blade-desk/equip/list",
url: "/api/blade-desk/equip/getPage",
method: "get",
params: {
...params,
@ -182,7 +182,7 @@ export const getElectricHistoryList = (
locationName,
equipName,
funcCat,
funcType,
funcType
) => {
return request({
url: "/api/blade-desk/electric/pageHistoryValue",
@ -218,12 +218,11 @@ export const getElectricHistoryListByCode = (
start,
end,
current,
size
size,
},
});
};
// 获取历史用水量记录数据
export const getWaterHistoryList = (
area,
@ -231,7 +230,7 @@ export const getWaterHistoryList = (
end,
current,
size,
equipName,
equipName
) => {
return request({
url: "/api/blade-desk/water/pageHistoryValue",
@ -242,18 +241,12 @@ export const getWaterHistoryList = (
end,
current,
size,
equipName
equipName,
},
});
};
// 获取单个水表历史电量记录数据
export const getWaterHistoryListByCode = (
code,
start,
end,
current,
size
) => {
export const getWaterHistoryListByCode = (code, start, end, current, size) => {
return request({
url: "/api/blade-desk/water/historyValuesByCode",
method: "get",
@ -262,7 +255,7 @@ export const getWaterHistoryListByCode = (
start,
end,
current,
size
size,
},
});
};
@ -275,7 +268,7 @@ export const getWarmHistoryList = (
current,
size,
build,
equipName,
equipName
) => {
return request({
url: "/api/blade-desk/garden/warm/pageHistoryValue",
@ -287,18 +280,12 @@ export const getWarmHistoryList = (
current,
size,
build,
equipName
equipName,
},
});
};
// 获取单个暖表历史电量记录数据
export const getWarmHistoryListByCode = (
code,
start,
end,
current,
size
) => {
export const getWarmHistoryListByCode = (code, start, end, current, size) => {
return request({
url: "/api/blade-desk/garden/warm/historyValuesByCode",
method: "get",
@ -307,7 +294,16 @@ export const getWarmHistoryListByCode = (
start,
end,
current,
size
size,
},
});
};
};
// 图片保存接口
export const saveImg = (data) => {
return request({
url: "/api/blade-desk/equip/save-images",
method: "post",
data,
});
};

@ -94,7 +94,7 @@
<div class="title flex-center">
<!-- <img src="../../../public/img/monitoring/sblb.png" /> -->
<img src="../../../public/img/monitoring/electricity/listIcon3.png" />
<span>设备列表</span>
<span id="condi_box">设备列表</span>
</div>
<!-- <div class="select flex-center-between">
<span class="name">设备位置</span>
@ -547,6 +547,12 @@ export default {
}, 3600000);
},
mounted() {
let dom = document.getElementById('condi_box');
dom.addEventListener('contextmenu', (event)=> {
event.preventDefault(); //
const routerUrl = this.$router.resolve({ path: '/equipment/index', query: { classCode: '0900' } });
window.open(routerUrl.href, "_blank");
});
this.getNavigationMap();
},

@ -203,7 +203,7 @@
<div class="tab" :class="bimModel == 2 ? 'tataigen' : ''">
<div class="title flex-center">
<img src="../../../public/img/monitoring/electricity/listIcon3.png" />
<span>设备列表</span>
<span id="door_box">设备列表</span>
</div>
<div class="tabBox">
<el-table @row-click="tableClick" :data="tableData" style="
@ -651,6 +651,12 @@ export default {
this.getData();
},
mounted() {
let dom = document.getElementById('door_box');
dom.addEventListener('contextmenu', (event)=> {
event.preventDefault(); //
const routerUrl = this.$router.resolve({ path: '/equipment/index', query: { classCode: '1000' } });
window.open(routerUrl.href, "_blank");
});
this.getNavigationMap();
},
methods: {

@ -281,7 +281,7 @@
<div class="tab" :class="bimModel == 2 ? 'tataigen' : ''">
<div class="title flex-center">
<img src="../../../public/img/monitoring/electricity/listIcon3.png" />
<span>设备列表</span>
<span id="eletric_box">设备列表</span>
</div>
<div class="tabBox">
<el-table @row-click="tableClick" :data="tableData" style="width: 100%"
@ -448,6 +448,7 @@ export default {
},
created() {
this.getData();
},
beforeDestroy() {
if (this.setInterval) {
@ -456,6 +457,12 @@ export default {
},
mounted() {
this.getNavigationMap();
let dom = document.getElementById('eletric_box');
dom.addEventListener('contextmenu', (event)=> {
event.preventDefault(); //
const routerUrl = this.$router.resolve({ path: '/equipment/index', query: { classCode: '0100' } });
window.open(routerUrl.href, "_blank");
});
},
watch: {
bimModel: {

@ -151,7 +151,7 @@
<div class="tab" :class="bimModel == 2 ? 'tataigen' : ''">
<div class="title flex-center">
<img src="../../../public/img/monitoring/electricity/listIcon3.png" />
<span>设备列表</span>
<span id="fire_box">设备列表</span>
</div>
<div class="tabBox">
<el-table @row-click="tableClick" :data="tableData" style="width: 100%"
@ -307,6 +307,12 @@ export default {
}, 3600000);
},
mounted() {
let dom = document.getElementById('fire_box');
dom.addEventListener('contextmenu', (event)=> {
event.preventDefault(); //
const routerUrl = this.$router.resolve({ path: '/equipment/index', query: { classCode: '0600' } });
window.open(routerUrl.href, "_blank");
});
this.getNavigationMap();
},
beforeDestroy() {

@ -89,7 +89,7 @@
<div class="tab" :class="bimModel == 2 ? 'tataigen' : ''">
<div class="title flex-center">
<img src="../../../public/img/monitoring/electricity/listIcon3.png">
<span>设备列表</span>
<span id="lift_box">设备列表</span>
</div>
<div class="tabBox">
<el-table @row-click="tableClick" :data="arr" style="width: 100%;max-height: 220px;"
@ -312,6 +312,12 @@ export default {
this.getLiftWarnList();//
},
mounted() {
let dom = document.getElementById('lift_box');
dom.addEventListener('contextmenu', (event)=> {
event.preventDefault(); //
const routerUrl = this.$router.resolve({ path: '/equipment/index', query: { classCode: '0700' } });
window.open(routerUrl.href, "_blank");
});
if (this.bimModel == 1) {
this.getNavigationMap()
}

@ -151,7 +151,7 @@
src="../../../public/img/monitoring/electricity/sbIcon.png"
/> -->
<img src="../../../public/img/monitoring/electricity/listIcon3.png" />
<span>开关列表</span>
<span id="light_box">开关列表</span>
</div>
<div class="main-switch" v-if="floored == null">
<div>
@ -427,6 +427,12 @@ export default {
}, 3600000);
},
mounted() {
let dom = document.getElementById('light_box');
dom.addEventListener('contextmenu', (event)=> {
event.preventDefault(); //
const routerUrl = this.$router.resolve({ path: '/equipment/index', query: { classCode: '0500' } });
window.open(routerUrl.href, "_blank");
});
this.getNavigationMap();
this.initSocket();
},

@ -112,7 +112,7 @@
<div class="tab" :class="bimModel == 2 ? 'tataigen' : ''">
<div class="title flex-center">
<img src="../../../public/img/monitoring/electricity/listIcon3.png" />
<span>设备列表</span>
<span id="monit_box">设备列表</span>
</div>
<div class="tabBox">
<el-table @row-click="tableClick" :data="tableData" style="width: 100%; max-height: 210px"
@ -570,6 +570,12 @@ export default {
},
},
mounted() {
let dom = document.getElementById('monit_box');
dom.addEventListener('contextmenu', (event)=> {
event.preventDefault(); //
const routerUrl = this.$router.resolve({ path: '/equipment/index', query: { classCode: '0400' } });
window.open(routerUrl.href, "_blank");
});
if (this.bimModel == 1) {
this.getNavigationMap();
}

@ -171,7 +171,7 @@
<div class="switch" :class="bimModel == 2 ? 'tataigen' : ''">
<div class="title flex-center">
<img src="../../../public/img/monitoring/sblb.png" />
<span>设备列表</span>
<span id="wall_box">设备列表</span>
</div>
<img src="../../../public/img/monitoring/ktline.png" style="margin-left: 1.25rem" />
<img src="../../../public/img/monitoring/ktborder.png" class="kt-border kt-border1" />
@ -790,6 +790,12 @@ export default {
}
},
mounted() {
let dom = document.getElementById('wall_box');
dom.addEventListener('contextmenu', (event)=> {
event.preventDefault(); //
const routerUrl = this.$router.resolve({ path: '/equipment/index', query: { classCode: '1100' } });
window.open(routerUrl.href, "_blank");
});
this.getWall();
// this.getWallGK();
this.getFenceWarnList(); //

@ -269,7 +269,7 @@
<div class="tab">
<div class="title flex-center">
<img src="../../../public/img/monitoring/electricity/listIcon3.png" />
<span>设备列表</span>
<span id="warm_box">设备列表</span>
</div>
<div class="tabBox">
<el-table :data="tableData.slice((current - 1) * size, current * size)" style="width: 100%; max-height: 210px"
@ -582,6 +582,12 @@ export default {
}
},
mounted() {
let dom = document.getElementById('warm_box');
dom.addEventListener('contextmenu', (event)=> {
event.preventDefault(); //
const routerUrl = this.$router.resolve({ path: '/equipment/index', query: { classCode: '0300' } });
window.open(routerUrl.href, "_blank");
});
this.getData();
this.getNavigationMap();
},

@ -259,10 +259,10 @@
</div>
</div>
<!-- 设备列表 -->
<div class="tab" :class="bimModel == 2 ? 'tataigen' : ''">
<div class="tab" :class="bimModel == 2 ? 'tataigen' : ''" >
<div class="title flex-center">
<img src="../../../public/img/monitoring/electricity/listIcon3.png" />
<span>设备列表</span>
<span id="water_box">设备列表</span>
</div>
<div class="tabBox">
<el-table @row-click="tableClick" :data="tableData" style="width: 100%" height="230px"
@ -399,6 +399,12 @@ export default {
}
},
mounted() {
let dom = document.getElementById('water_box');
dom.addEventListener('contextmenu', (event)=> {
event.preventDefault(); //
const routerUrl = this.$router.resolve({ path: '/equipment/index', query: { classCode: '0200' } });
window.open(routerUrl.href, "_blank");
});
this.getNavigationMap();
},
watch: {

@ -4,7 +4,7 @@
<div class="box">
<el-scrollbar>
<basic-container>
<avue-tree :option="treeOption" :data="treeData" @node-click="nodeClick" />
<avue-tree ref="tree" :option="treeOption" :data="treeData" @node-click="nodeClick" />
</basic-container>
</el-scrollbar>
</div>
@ -194,8 +194,8 @@
<el-form-item label="简称" prop="shortName">
<el-input :disabled="eqiupType == 'edit' ? false : iDisabled" v-model="ruleForm.shortName"></el-input>
</el-form-item>
<el-form-item label="厂家" prop="brand">
<el-input :disabled="eqiupType == 'edit' ? false : iDisabled" v-model="ruleForm.brand"></el-input>
<el-form-item label="简称" prop="shortName">
<el-input :disabled="eqiupType == 'edit' ? false : iDisabled" v-model="ruleForm.shortName"></el-input>
</el-form-item>
<el-form-item label="使用时间" prop="useStartTime">
<el-date-picker :disabled="eqiupType == 'edit' ? false : iDisabled" format="yyyy-MM-dd"
@ -206,6 +206,9 @@
<el-form-item label="具体位置" prop="location">
<el-input :disabled="eqiupType == 'edit' ? false : iDisabled" v-model="ruleForm.location"></el-input>
</el-form-item>
<el-form-item label="固定资产编号" prop="inventarNummer">
<el-input :disabled="eqiupType == 'edit' ? false : iDisabled" v-model="ruleForm.inventarNummer"></el-input>
</el-form-item>
<el-form-item label="维保人" prop="tendingUser">
<el-input :disabled="eqiupType == 'edit' ? false : iDisabled" v-model="ruleForm.tendingUser"></el-input>
</el-form-item>
@ -217,6 +220,19 @@
<el-date-picker :disabled="eqiupType == 'edit' ? false : iDisabled" v-model="ruleForm.tendingTime" type="datetime" placeholder="选择维保时间">
</el-date-picker>
</el-form-item>
<el-form-item label="设备图片">
<el-upload
:class="(imgList.length >= 5 || eqiupType == 'look') ? 'hide' : ''"
action="/api/blade-desk/oss/put-file"
list-type="picture-card"
:on-success="handleSuccess"
:before-remove="beforeRemove"
:on-remove="handleRemove"
:limit="5"
:file-list="fileList">
<i class="el-icon-plus"></i>
</el-upload>
</el-form-item>
</div>
</div>
</div>
@ -242,7 +258,8 @@
getQy,
getLc,
getQy1,
getLc1
getLc1,
saveImg
} from "@/api/equipment/index";
import {
mapGetters
@ -257,7 +274,7 @@
return {
options: [],
iDisabled: true,
equipType:"",//
eqiupType:"",//
build: [], //
floored: [], //
props: {
@ -495,7 +512,7 @@
currentPage: 1,
total: 0
},
treeDeptId: '',
treeDeptId: this.$route.query.classCode ? this.$route.query.classCode : '',
treeData: [],
treeOption: {
nodeKey: 'id',
@ -504,6 +521,7 @@
const parentId = (node.level === 0) ? 0 : node.data.id;
getDeptLazyTree(parentId).then(res => {
resolve(res.data.data.map(item => {
return {
...item,
leaf: !item.hasChildren
@ -566,6 +584,10 @@
label: "投入使用时间",
prop: "useStartTime",
},
{
label: "固定资产编号",
prop: "inventarNummer",
},
{
label: "更新时间",
prop: "updateTime",
@ -620,7 +642,9 @@
span: 24,
}
]
}
},
imgList:[],
fileList:[]
};
},
watch: {},
@ -641,7 +665,6 @@
}
},
mounted() {
console.log('kkkk')
getDeptLazyTree2().then(res => {
let data = res.data.data;
for(let i=0;i<data.length;i++){
@ -684,6 +707,26 @@
this.selectionList = [];
this.$refs.crud.toggleSelection();
},
//
handleSuccess(response, file, fileList){
console.log(response)
if(response.code == 200){
this.imgList.push(response.data.link)
}
},
beforeRemove(file,fileList){
if(this.eqiupType == 'look'){
return false
}
},
handleRemove(file,fileList){
console.log(file)
if(file.response){
this.imgList = this.imgList.filter(item => item !== file.response.data.link)
}else{
this.imgList = this.imgList.filter(item => item !== file.url.slice(file.url))
}
},
//
handleDelete() {
if (this.selectionList.length === 0) {
@ -749,6 +792,7 @@
//
onLoad(page, params = {}) {
this.loading = true;
console.log(this.treeDeptId)
getList(page.currentPage, page.pageSize, Object.assign(params, this.query), this.treeDeptId).then(res => {
const data = res.data.data;
this.page.total = data.total;
@ -762,17 +806,27 @@
this.equipmentBox = true;
this.iDisabled = false;
this.eqiupType = type;
console.log(this.eqiupType,type)
this.fileList = []
if (type == "add") {
//
this.equipmentTit = "新增设备";
} else if (type == "edit") {
//
this.equipmentTit = "编辑设备";
getDetails(row.id).then((res) => {
this.ruleForm = res.data.data;
console.log('data',this.ruleForm)
this.ruleForm.images.map(item =>{
this.fileList.push({url:item.filePath})
this.imgList.push(item.filePath)
})
console.log('设备编辑',this.ruleForm);
getQy1(this.ruleForm.area).then(res => {
this.build = res.data.data;
});
// getLc(this.ruleForm.area).then(res => {
// this.floored = res.data.data;
@ -784,6 +838,10 @@
this.equipmentTit = "查看设备";
getDetails(row.id).then((res) => {
this.ruleForm = res.data.data;
this.ruleForm.images.map(item =>{
this.fileList.push({url:item.filePath})
this.imgList.push(item.filePath)
})
getQy1(this.ruleForm.area).then(res => {
this.build = res.data.data;
});
@ -811,11 +869,33 @@
if (!this.iDisabled) {
this.$refs[formName].validate((valid) => {
if (valid) {
add(this.ruleForm).then(res => {
this.resetForm('ruleForm');
this.page.currentPage = 1;
this.onLoad(this.page);
});
let data = []
if(this.imgList.length !== 0){
this.imgList.map(item =>{
data.push({
equipCode:this.ruleForm.code,
filePath:item
})
})
}
saveImg(data).then(res =>{
if(res.data.code == 200){
add(this.ruleForm).then(res => {
this.resetForm('ruleForm');
this.page.currentPage = 1;
this.onLoad(this.page);
});
}
})
// }else{
// add(this.ruleForm).then(res => {
// this.resetForm('ruleForm');
// this.page.currentPage = 1;
// this.onLoad(this.page);
// });
// }
} else {
return false;
}
@ -916,4 +996,12 @@
.btn {
margin-top: 50px;
}
/deep/.el-input{
width: 220px;
}
.hide{
/deep/ .el-upload--picture-card {
display: none;
}
}
</style>

@ -27,9 +27,16 @@
<el-button type="text" style="font-size: 12px;" @click="addRecords(scope.row,'edit')">编辑</el-button>
<!-- <el-button type="text" style="font-size: 12px;" @click="checkRecords">验收</el-button> -->
</div>
</template>
<template slot="category" slot-scope="scope">
<span>{{scope.row.category == 1 ? '日常保养' : '故障维修'}}</span>
</template>
<!-- <template slot="categorySearch">
<el-select size="small" v-model="form.category" v-loadmore="loadmore">
<el-option :value="1" label="日常保养"></el-option>
<el-option :value="2" label="故障维修"></el-option>
</el-select>
</template> -->
<!-- <template slot="nameSearch">
<el-tooltip v-show="isSelect" class="item" effect="dark" content="请先选择设备类型" placement="top">
<el-select disabled size="small" v-model="dataForm.name" v-loadmore="loadmore">
@ -45,15 +52,15 @@
<div style="max-height: 300px;overflow-y: auto;overflow-x: hidden;">
<el-form ref="form" :model="dataForm" label-width="120px" :rules="dataRules">
<el-form-item label="设备名称:" style="width: 32%;display: inline-block;" prop="name">
<span v-show="dialogTitle == '查看'">{{dataForm.name}}</span>
<span v-show="dialogTitle == '查看'">{{dataForm.equipName}}</span>
<!-- <el-input v-else v-model="dataForm.name" size="small" readonly @focus="chooseDeviceName"></el-input> -->
<el-tooltip v-show="dialogTitle !== '查看' && isSelect" class="item" effect="dark" content="请先选择设备类型" placement="top">
<el-select disabled size="small" v-model="dataForm.code" v-loadmore="loadmore">
<el-select disabled filterable size="small" v-model="dataForm.equipCode" v-loadmore="loadmore">
<el-option v-for="item in deviceName" :key="item.code" :value="item.code" :label="item.name"></el-option>
</el-select>
</el-tooltip>
<el-select v-show="dialogTitle !== '查看' && !isSelect" size="small" v-model="dataForm.code" v-loadmore="loadmore">
<el-option v-for="item in deviceName" :key="item.code" :value="item.code" :label="item.name"></el-option>
<el-select filterable v-show="dialogTitle !== '查看' && !isSelect" size="small" v-model="dataForm.equipCode" v-loadmore="loadmore">
<el-option v-for="item in deviceName" :key="item.code" :value="item.code" :label="item.name"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="principal" label="设备负责人:" style="width: 32%;display: inline-block;">
@ -66,8 +73,12 @@
</el-form-item>
<el-form-item prop="category" label="检修性质:" style="width: 32%;display: inline-block;">
<span v-if="dialogTitle == '查看'">{{dataForm.category}}</span>
<el-input v-else v-model="dataForm.category" size="small"></el-input>
<span v-if="dialogTitle == '查看'">{{dataForm.category == 1 ? '日常保养' : '故障维修'}}</span>
<!-- <el-input v-else v-model="dataForm.category" size="small"></el-input> -->
<el-select v-else size="small" v-model="dataForm.category">
<el-option :value="1" label="日常保养"></el-option>
<el-option :value="2" label="故障维修"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="maintainer" label="维保负责人:" style="width: 32%;display: inline-block;">
<span v-if="dialogTitle == '查看'">{{dataForm.maintainer}}</span>
@ -240,7 +251,7 @@
total: 0,
},
current:'',
size:10,
size:100,
option: {
lazy: true,
tip: false,
@ -258,7 +269,7 @@
menuWidth: 200,
column: [{
label: "设备名称",
prop: "name",
prop: "equipName",
search: true,
align: 'center',
},
@ -272,7 +283,15 @@
label: "检修性质",
prop: "category",
search: true,
align: 'center'
align: 'center',
type:'select',
dicData: [{
label: '日常保养',
value: 1
}, {
label: '故障维修',
value: 2
}]
},
{
label: "设备负责人",

Loading…
Cancel
Save