Browse Source

对接空间区域管理

dev
selia-zx 2 months ago
parent
commit
b59a333fbd
  1. 6
      package.json
  2. 162
      src/api/region.js
  3. 1
      src/assets/icons/svg/region.svg
  4. 1
      src/views/alarm/alarmCode/index.vue
  5. 2
      src/views/alarm/alarmRecord/index.vue
  6. 1
      src/views/alarm/alarmRule/index.vue
  7. 1
      src/views/device/comm/index.vue
  8. 1
      src/views/device/gateway/index.vue
  9. 60
      src/views/device/gather/index.vue
  10. 16
      src/views/device/ledger/index.vue
  11. 1
      src/views/device/maintenance/index.vue
  12. 1
      src/views/device/qrCode/index.vue
  13. 1
      src/views/device/spare/index.vue
  14. 2
      src/views/device/spareInOut/index.vue
  15. 1599
      src/views/region/index.vue

6
package.json

@ -1,8 +1,8 @@
{ {
"name": "ruoyi", "name": "mh",
"version": "3.8.8", "version": "3.8.8",
"description": "若依管理系统", "description": "铭汉能耗监测控制系统",
"author": "若依", "author": "铭汉",
"license": "MIT", "license": "MIT",
"scripts": { "scripts": {
"dev": "vue-cli-service serve", "dev": "vue-cli-service serve",

162
src/api/region.js

@ -0,0 +1,162 @@
import request from "@/utils/request";
// 查询树形结构
export function spaceTree() {
return request({
url: "/space/tree",
method: "get",
});
}
// 获取区域信息
export function getAreaList(query) {
return request({
url: "/space/area/list",
method: "get",
params: query,
});
}
// 添加区域
export function addArea(data) {
return request({
url: "/space/area",
method: "post",
data: data,
});
}
// 修改区域
export function updateArea(data) {
return request({
url: "/space/area",
method: "put",
data: data,
});
}
// 根据id查询区域信息
export function getArea(areaId) {
return request({
url: "/space/area/" + areaId,
method: "get",
});
}
// 删除区域
export function delArea(areaIds) {
return request({
url: "/space/area/" + areaIds,
method: "delete",
});
}
// 获取楼栋信息
export function getBuildingList(query) {
return request({
url: "/space/building/list",
method: "get",
params: query,
});
}
// 添加楼栋
export function addBuilding(data) {
return request({
url: "/space/building",
method: "post",
data: data,
});
}
// 修改楼栋
export function updateBuilding(data) {
return request({
url: "/space/building",
method: "put",
data: data,
});
}
// 根据id查询楼栋信息
export function getBuilding(buildingId) {
return request({
url: "/space/building/" + buildingId,
method: "get",
});
}
// 删除楼栋
export function delBuilding(buildingIds) {
return request({
url: "/space/building/" + buildingIds,
method: "delete",
});
}
// 获取楼层信息
export function getFloorList(query) {
return request({
url: "/space/floor/list",
method: "get",
params: query,
});
}
// 添加楼层
export function addFloor(data) {
return request({
url: "/space/floor",
method: "post",
data: data,
});
}
// 修改楼层
export function updateFloor(data) {
return request({
url: "/space/floor",
method: "put",
data: data,
});
}
// 根据id查询楼层信息
export function getFloor(floorId) {
return request({
url: "/space/floor/" + floorId,
method: "get",
});
}
// 删除楼层
export function delFloor(floorIds) {
return request({
url: "/space/floor/" + floorIds,
method: "delete",
});
}
// 获取房间信息
export function getHouseList(query) {
return request({
url: "/space/house/list",
method: "get",
params: query,
});
}
// 添加房间
export function addHouse(data) {
return request({
url: "/space/house",
method: "post",
data: data,
});
}
// 修改房间
export function updateHouse(data) {
return request({
url: "/space/house",
method: "put",
data: data,
});
}
// 根据id查询楼层信息
export function getHouse(houseId) {
return request({
url: "/space/house/" + houseId,
method: "get",
});
}
// 删除房间
export function delHouse(houseIds) {
return request({
url: "/space/house/" + houseIds,
method: "delete",
});
}

1
src/assets/icons/svg/region.svg

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1741677673232" class="icon" viewBox="0 0 1026 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3796" xmlns:xlink="http://www.w3.org/1999/xlink" width="200.390625" height="200"><path d="M311.999 435.014c0 1.528 1.522 3.050 1.522 3.050l170.742 245.442 4.571 4.564c3.064 4.578 6.099 7.629 9.15 10.686 15.243 9.135 36.578 3.043 48.778-13.729l155.508-250.014 3.036-4.571s0-1.528 1.528-1.528c21.351-35.057 33.535-76.222 33.535-120.428 0-129.578-105.186-234.772-234.765-234.772s-234.772 105.193-234.772 234.772c3.050 45.736 16.771 89.95 41.165 126.528zM508.649 139.265c0.144-0.001 0.316-0.001 0.486-0.001 92.35 0 167.214 74.864 167.214 167.214 0 0.169 0 0.337-0.001 0.505 0 31.987-9.143 60.952-24.393 86.873l-3.050 6.099-132.622 211.9-143.307-205.808-6.099-12.193c-15.25-24.393-24.393-54.886-24.393-86.9-1.522-91.471 73.186-167.693 166.164-167.693zM508.649 139.265z" p-id="3797" fill=""></path><path d="M513.229 413.671c0.119 0.001 0.261 0.001 0.4 0.001 52.822 0 95.643-42.821 95.643-95.643 0-0.138 0-0.277-0.001-0.415 0-53.343-42.693-96.028-96.042-96.028s-96.036 42.686-96.036 96.051c-0.001 0.119-0.001 0.261-0.001 0.401 0 52.818 42.818 95.635 95.635 95.635 0.141 0 0.282 0 0.423-0.001zM513.229 285.621c18.3 0 32.014 13.721 32.014 32.014s-13.721 32.007-32.014 32.007c-16.764 0-32.007-13.715-32.007-32.007-0.008-18.292 15.243-32.014 32.007-32.014zM932.464 433.493h-163.121c-18.3 0-32.014 13.721-32.014 32.014 0 18.3 13.721 32.014 32.014 32.014h99.093c16.764 0 32.007 15.25 32.007 32v323.2c0 18.293-13.721 32.014-32.007 32.014h-710.415c-18.292 0-32.007-13.729-32.007-32.014v-321.664c0-18.286 13.721-32.007 32.007-32.007h99.086c18.3 0 32.014-13.721 32.014-32.014 0-18.3-13.721-32.014-32.014-32.014h-163.107c-18.293 0-32.007 13.721-32.007 32.014v451.243c0 18.292 13.721 32 32.007 32h838.471c18.293 0 32.007-13.715 32.007-32v-452.771c1.522-16.771-13.721-32.014-32.014-32.014zM932.464 433.493z" p-id="3798" fill=""></path></svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

1
src/views/alarm/alarmCode/index.vue

@ -138,6 +138,7 @@
v-loading="loading" v-loading="loading"
:data="postList" :data="postList"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
stripe
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="消息编码" align="center" prop="msgCode" /> <el-table-column label="消息编码" align="center" prop="msgCode" />

2
src/views/alarm/alarmRecord/index.vue

@ -97,7 +97,7 @@
</div> </div>
</div> </div>
</div> </div>
<el-table v-loading="loading" :data="postList"> <el-table v-loading="loading" :data="postList" stripe>
<el-table-column label="设备名称" align="center" prop="deviceName" /> <el-table-column label="设备名称" align="center" prop="deviceName" />
<el-table-column label="仪表名称" align="center" prop="cpmName" /> <el-table-column label="仪表名称" align="center" prop="cpmName" />
<el-table-column label="报警类型" align="center" prop="alarmType"> <el-table-column label="报警类型" align="center" prop="alarmType">

1
src/views/alarm/alarmRule/index.vue

@ -130,6 +130,7 @@
v-loading="loading" v-loading="loading"
:data="postList" :data="postList"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
stripe
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="报警类型" align="center" prop="alarmType"> <el-table-column label="报警类型" align="center" prop="alarmType">

1
src/views/device/comm/index.vue

@ -102,6 +102,7 @@
v-loading="loading" v-loading="loading"
:data="postList" :data="postList"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
stripe
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="仪表类型" align="center" prop="mtType"> <el-table-column label="仪表类型" align="center" prop="mtType">

1
src/views/device/gateway/index.vue

@ -110,6 +110,7 @@
v-loading="loading" v-loading="loading"
:data="postList" :data="postList"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
stripe
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="网关名称" align="center" prop="gwName" /> <el-table-column label="网关名称" align="center" prop="gwName" />

60
src/views/device/gather/index.vue

@ -147,6 +147,7 @@
v-loading="loading" v-loading="loading"
:data="postList" :data="postList"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
stripe
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="仪表类型" align="center" prop="mtType"> <el-table-column label="仪表类型" align="center" prop="mtType">
@ -216,7 +217,6 @@
<span v-if="scope.row.isUse === 1"></span> <span v-if="scope.row.isUse === 1"></span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="别名" align="center" prop="otherName" />
<el-table-column label="累计/瞬时标识" align="center" prop="grade" /> <el-table-column label="累计/瞬时标识" align="center" prop="grade" />
<el-table-column label="系统类型" align="center" prop="systemType"> <el-table-column label="系统类型" align="center" prop="systemType">
<template slot-scope="scope"> <template slot-scope="scope">
@ -239,6 +239,14 @@
/> />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column
label="设备名称"
align="center"
prop="deviceLedgerId"
:formatter="formatDeviceLedger"
>
</el-table-column>
<el-table-column label="别名" align="center" prop="otherName" />
<el-table-column label="参数类型" align="center" prop="paramType"> <el-table-column label="参数类型" align="center" prop="paramType">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag <dict-tag
@ -566,6 +574,7 @@
v-model="form.terminalDeviceType" v-model="form.terminalDeviceType"
placeholder="请选择采集设备" placeholder="请选择采集设备"
clearable clearable
@change="handleDeviceType"
> >
<el-option <el-option
v-for="dict in dict.type.sys_device_type" v-for="dict in dict.type.sys_device_type"
@ -576,11 +585,19 @@
</el-select> </el-form-item </el-select> </el-form-item
></el-col> ></el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="设备台账id" prop="deviceLedgerId"> <el-form-item label="设备名称" prop="deviceLedgerId">
<el-input <el-select
v-model="form.deviceLedgerId" v-model="form.deviceLedgerId"
placeholder="请输入id" placeholder="请选择设备名称"
/> </el-form-item clearable
>
<el-option
v-for="item in ledgerList"
:key="item.id"
:label="item.deviceName"
:value="item.id"
/>
</el-select> </el-form-item
></el-col> ></el-col>
</el-row> </el-row>
</el-form> </el-form>
@ -600,7 +617,7 @@ import {
addCPM, addCPM,
updateCPM, updateCPM,
} from "@/api/device/gather"; } from "@/api/device/gather";
import { ledgerList } from "@/api/device/ledger";
export default { export default {
name: "gather", name: "gather",
dicts: [ dicts: [
@ -654,9 +671,11 @@ export default {
{ required: true, message: "请选择仪表类型", trigger: "blur" }, { required: true, message: "请选择仪表类型", trigger: "blur" },
], ],
}, },
ledgerList: [], //
}; };
}, },
created() { created() {
this.getLedgerList();
this.getList(); this.getList();
}, },
methods: { methods: {
@ -683,6 +702,28 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
//
handleDeviceType() {
this.getLedgerList();
},
//
getLedgerList() {
let data = {
pageNum: 1,
pageSize: 100000,
deviceType: this.form.terminalDeviceType,
};
ledgerList(data).then((response) => {
this.ledgerList = response.rows;
});
},
//
formatDeviceLedger(row, column, cellValue) {
// devices id cellValue
const device = this.ledgerList.find((item) => item.id === cellValue);
// deviceName
return device ? device.deviceName : cellValue;
},
// //
cancel() { cancel() {
this.open = false; this.open = false;
@ -758,7 +799,10 @@ export default {
this.form = { this.form = {
id: response.data.id, id: response.data.id,
remark: response.data.remark, remark: response.data.remark,
deviceLedgerId: response.data.deviceLedgerId, deviceLedgerId:
response.data.deviceLedgerId !== null
? response.data.deviceLedgerId.toString()
: null,
mtType: mtType:
response.data.mtType !== null response.data.mtType !== null
? response.data.mtType.toString() ? response.data.mtType.toString()
@ -819,6 +863,8 @@ export default {
}; };
this.open = true; this.open = true;
this.title = "修改设备参数信息"; this.title = "修改设备参数信息";
this.getLedgerList();
console.log("打开修改弹框的时候,设备类型是", this.form.deviceLedgerId);
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */

16
src/views/device/ledger/index.vue

@ -132,6 +132,7 @@
v-loading="loading" v-loading="loading"
:data="postList" :data="postList"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
stripe
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="设备名称" align="center" prop="deviceName" /> <el-table-column label="设备名称" align="center" prop="deviceName" />
@ -410,10 +411,25 @@ export default {
assetNum: [ assetNum: [
{ required: true, message: "资产编号不能为空", trigger: "blur" }, { required: true, message: "资产编号不能为空", trigger: "blur" },
], ],
installTime: [
{ required: true, message: "请选择安装时间", trigger: "blur" },
],
deviceType: [ deviceType: [
{ required: true, message: "请选择设备类型", trigger: "blur" }, { required: true, message: "请选择设备类型", trigger: "blur" },
], ],
status: [{ required: true, message: "请选择状态", trigger: "blur" }], status: [{ required: true, message: "请选择状态", trigger: "blur" }],
isCollection: [
{ required: true, message: "请选择是否", trigger: "blur" },
],
modelSpecs:[
{ required: true, message: "规格型号不能为空", trigger: "blur" },
],
isCalcEnergy: [
{ required: true, message: "请选择是否", trigger: "blur" },
],
systemType: [
{ required: true, message: "请选择系统类型", trigger: "blur" },
],
}, },
}; };
}, },

1
src/views/device/maintenance/index.vue

@ -207,6 +207,7 @@
v-loading="loading" v-loading="loading"
:data="postList" :data="postList"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
stripe
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="维保类型" align="center" prop="maintainType"> <el-table-column label="维保类型" align="center" prop="maintainType">

1
src/views/device/qrCode/index.vue

@ -102,6 +102,7 @@
v-loading="loading" v-loading="loading"
:data="postList" :data="postList"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
stripe
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="二维码序列号" align="center" prop="serialNum" /> <el-table-column label="二维码序列号" align="center" prop="serialNum" />

1
src/views/device/spare/index.vue

@ -118,6 +118,7 @@
v-loading="loading" v-loading="loading"
:data="postList" :data="postList"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
stripe
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="备件序列号" align="center" prop="serialNum" /> <el-table-column label="备件序列号" align="center" prop="serialNum" />

2
src/views/device/spareInOut/index.vue

@ -113,7 +113,7 @@
></right-toolbar> ></right-toolbar>
</el-row> </el-row>
<el-table v-loading="loading" :data="postList"> <el-table v-loading="loading" :data="postList" stripe>
<!-- <el-table-column label="库存备件Id" align="center" prop="sparePartsId" /> --> <!-- <el-table-column label="库存备件Id" align="center" prop="sparePartsId" /> -->
<el-table-column label="备件名称" align="center" prop="spareName" /> <el-table-column label="备件名称" align="center" prop="spareName" />
<el-table-column label="出入库操作类型" align="center" prop="operaType"> <el-table-column label="出入库操作类型" align="center" prop="operaType">

1599
src/views/region/index.vue

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save