feat(能耗统计): 修改查询界面

feat(电计量设备信息): 部门类型取消多选
master
黄锦贤 3 days ago
parent 3e9f3de668
commit e1e6a861f6

@ -61,7 +61,7 @@
"sortablejs": "1.10.2",
"swiper": "^5.4.5",
"v-scale-screen": "^1.0.2",
"vue": "2.6.12",
"vue": "^2.6.14",
"vue-count-to": "1.0.13",
"vue-cropper": "0.5.5",
"vue-meta": "2.4.0",
@ -89,7 +89,7 @@
"sass-loader": "10.1.1",
"script-ext-html-webpack-plugin": "2.1.5",
"svg-sprite-loader": "5.1.1",
"vue-template-compiler": "2.6.12"
"vue-template-compiler": "^2.6.14"
},
"engines": {
"node": ">=8.9",

@ -71,10 +71,12 @@
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>搜索
</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>重置
</el-button
>
</el-form-item>
</el-form>
@ -88,7 +90,8 @@
size="mini"
@click="handleAdd"
v-hasPermi="['energy:ShuiMeasurement:add']"
>新增</el-button
>新增
</el-button
>
</el-col>
<el-col :span="1.5">
@ -98,7 +101,8 @@
icon="el-icon-sort"
size="mini"
@click="toggleExpandAll"
>展开/折叠</el-button
>展开/折叠
</el-button
>
</el-col>
<el-col :span="1.5">
@ -109,10 +113,11 @@
size="mini"
@click="handleExport"
v-hasPermi="['energy:ShuiMeasurement:export']"
>导出</el-button>
>导出
</el-button>
</el-col>
<el-col :span="1.5">
{{list.length}}
{{ list.length }}
</el-col>
<right-toolbar
:showSearch.sync="showSearch"
@ -136,8 +141,8 @@
prop="monitorId"
min-width="150"
/>
<el-table-column label="计量设备名称" align="center" prop="monitorName" />
<el-table-column label="计量设备位置" align="center" prop="monitorAddr" />
<el-table-column label="计量设备名称" align="center" prop="monitorName"/>
<el-table-column label="计量设备位置" align="center" prop="monitorAddr"/>
<el-table-column label="计量设备类型" align="center" prop="monitorType">
<template slot-scope="scope">
<dict-tag
@ -146,9 +151,9 @@
/>
</template>
</el-table-column>
<el-table-column label="CBS房间编号" align="center" key="roomCode" prop="roomCode" />
<el-table-column label="CBS房间名称" align="center" key="roomName" prop="roomName" />
<el-table-column label="CBS物理编号" align="center" key="physicalCode" prop="physicalCode" />
<el-table-column label="CBS房间编号" align="center" key="roomCode" prop="roomCode"/>
<el-table-column label="CBS房间名称" align="center" key="roomName" prop="roomName"/>
<el-table-column label="CBS物理编号" align="center" key="physicalCode" prop="physicalCode"/>
<el-table-column label="计量设备状态" align="center" prop="monitorStatus">
<template slot-scope="scope">
<dict-tag
@ -205,7 +210,8 @@
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['energy:ShuiMeasurement:edit']"
>修改</el-button
>修改
</el-button
>
<el-button
size="mini"
@ -213,7 +219,8 @@
icon="el-icon-plus"
@click="handleAdd(scope.row)"
v-hasPermi="['energy:ShuiMeasurement:add']"
>新增</el-button
>新增
</el-button
>
<el-button
size="mini"
@ -221,7 +228,8 @@
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['energy:ShuiMeasurement:remove']"
>删除</el-button
>删除
</el-button
>
</template>
</el-table-column>
@ -240,7 +248,8 @@
</el-col>
<el-col :span="12">
<el-button type="primary" @click="selectDevice"
>选择采集设备</el-button
>选择采集设备
</el-button
>
</el-col>
</el-row>
@ -254,7 +263,7 @@
/>
</el-form-item>
<el-form-item label="计量设备编号" prop="monitorId">
<el-input v-model="form.monitorId" placeholder="请输入计量设备名称" />
<el-input v-model="form.monitorId" placeholder="请输入计量设备名称"/>
</el-form-item>
<el-form-item label="计量设备名称" prop="monitorName">
<el-input
@ -269,24 +278,25 @@
/>
</el-form-item>
<el-form-item label="类型" prop="monitorType" v-if="false">
<el-input v-model="form.monitorType" />
<el-input v-model="form.monitorType"/>
</el-form-item>
<el-form-item label="CBS房间编号" prop="roomCode">
<el-input v-model="form.roomCode" placeholder="请输入CBS房间编号" />
<el-input v-model="form.roomCode" placeholder="请输入CBS房间编号"/>
</el-form-item>
<el-form-item label="CBS房间名称" prop="roomName">
<el-input v-model="form.roomName" placeholder="请输入房间名称" />
<el-input v-model="form.roomName" placeholder="请输入房间名称"/>
</el-form-item>
<el-form-item label="CBS物理编号" prop="physicalCode">
<el-input v-model="form.physicalCode" placeholder="physicalCode" />
<el-input v-model="form.physicalCode" placeholder="physicalCode"/>
</el-form-item>
<el-form-item label="通讯地址" prop="addressCode">
<el-input v-model="form.addressCode" placeholder="请填写通讯地址" />
<el-input v-model="form.addressCode" placeholder="请填写通讯地址"/>
</el-form-item>
<el-form-item label="电表类型" prop="electricityMeterType">
<el-select v-model="form.electricityMeterType" clearable placeholder="请选择电表类型" style="width: 100%">
<el-option
v-for="item in dict.type.electricity_type" :value="item.value+''" :key="item.value+''" :label="item.label" >
v-for="item in dict.type.electricity_type" :value="item.value+''" :key="item.value+''"
:label="item.label">
</el-option>
</el-select>
</el-form-item>
@ -296,7 +306,8 @@
v-for="dict in dict.type.monitorStatus"
:key="dict.value"
:label="parseInt(dict.value)"
>{{ dict.label }}</el-radio
>{{ dict.label }}
</el-radio
>
</el-radio-group>
</el-form-item>
@ -325,13 +336,15 @@
<el-tree
class="tree-border"
:data="subentryOptions"
accordion
show-checkbox
:check-strictly="true"
:default-expanded-keys="twoKeys"
:default-expanded-keys="[...subentryExpandedKeys]"
ref="subentry"
node-key="id"
empty-text="加载中,请稍候"
:props="defaultProps"
@check="handleCheckSubentryOptions"
></el-tree>
</el-form-item>
<el-form-item label="业态类型" prop="businessId">
@ -348,19 +361,19 @@
></el-tree>
</el-form-item>
<el-form-item label="传感器仪表" prop="meterTypeId">
<el-input v-model="form.meterTypeId" placeholder="请输入传感器仪表" />
<el-input v-model="form.meterTypeId" placeholder="请输入传感器仪表"/>
</el-form-item>
<el-form-item label="测量器具" prop="meterId">
<el-input v-model="form.meterId" placeholder="请输入测量器具" />
<el-input v-model="form.meterId" placeholder="请输入测量器具"/>
</el-form-item>
<el-form-item label="修正值" prop="correctValue">
<el-input v-model="form.correctValue" placeholder="请输入修正值" />
<el-input v-model="form.correctValue" placeholder="请输入修正值"/>
</el-form-item>
<el-form-item label="PT值" prop="pt">
<el-input v-model="form.pt" placeholder="请输入PT值" />
<el-input v-model="form.pt" placeholder="请输入PT值"/>
</el-form-item>
<el-form-item label="CT值" prop="ct">
<el-input v-model="form.ct" placeholder="请输入CT值" />
<el-input v-model="form.ct" placeholder="请输入CT值"/>
</el-form-item>
<el-form-item label="是否虚拟" label-width="100px" prop="isAmmeter">
<el-radio v-model="form.isAmmeter" label="true"></el-radio>
@ -372,7 +385,8 @@
v-for="dict in dict.type.public_share_type"
:key="dict.value"
:label="parseInt(dict.value)"
>{{ dict.label }}</el-radio
>{{ dict.label }}
</el-radio
>
</el-radio-group>
</el-form-item>
@ -446,10 +460,12 @@
icon="el-icon-search"
size="mini"
@click="handleQuery1"
>搜索</el-button
>搜索
</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery1"
>重置</el-button
>重置
</el-button
>
</el-form-item>
</el-form>
@ -458,7 +474,7 @@
:data="typeList"
@selection-change="handleSelectionChange1"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
label="设备编号"
align="center"
@ -469,7 +485,7 @@
align="center"
prop="collectDeviceName"
/>
<el-table-column label="生产厂家" align="center" prop="manufacturer" />
<el-table-column label="生产厂家" align="center" prop="manufacturer"/>
<el-table-column label="能源类型" align="center" prop="energyType">
<template slot-scope="scope">
<dict-tag
@ -506,13 +522,13 @@ import {
businessTreeSelect,
treeselect,
} from "@/api/energy/energy/waterManagement/shuiMeasurement";
import { listInfo } from "@/api/energy/energy/base/info";
import {listInfo} from "@/api/energy/energy/base/info";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "ShuiMeasurement",
dicts: ["isAmmeter", "monitorStatus", "energy_type", "public_share_type",'monitor_hierarchy','electricity_type'],
dicts: ["isAmmeter", "monitorStatus", "energy_type", "public_share_type", 'monitor_hierarchy', 'electricity_type'],
components: {
Treeselect,
},
@ -567,8 +583,8 @@ export default {
form: {},
//
rules: {
electricityMeterType:[
{ required: true, message: "电表类型不能为空", trigger: "blur" }
electricityMeterType: [
{required: true, message: "电表类型不能为空", trigger: "blur"}
],
},
//
@ -602,6 +618,7 @@ export default {
businessOptions: [],
//
twoKeys: [],
subentryExpandedKeys: [],
};
},
created() {
@ -645,16 +662,6 @@ export default {
children: node.children,
};
},
/** 查询计量设备信息下拉树结构 */
getTreeselect() {
this.queryParams.monitorType = 2;
listShuiMeasurement(this.queryParams).then((response) => {
this.ShuiMeasurementOptions = [];
const data = { objid: 0, monitorName: "顶级节点", children: [] };
data.children = this.handleTree(response.data, "objid", "parentId");
this.ShuiMeasurementOptions.push(data);
});
},
//
cancel() {
this.open = false;
@ -802,7 +809,8 @@ export default {
this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => {});
.catch(() => {
});
},
// -------------------------------------------
/** 选择采集设备操作 */
@ -863,9 +871,32 @@ export default {
/** 查询部门类型树结构 */
getSubentrySelect() {
subentryTreeSelect().then((response) => {
this.subentryOptions = response.data;
this.setSubentryOptions(response.data, 0);
});
},
setSubentryOptions(data, level) {
data.forEach(item => {
if (item.children && item.children.length > 0) {
this.$set(item, 'disabled', true);
}
if (item.children) {
this.setSubentryOptions(item.children, level + 1);
}
});
if (level != 0) return
this.subentryOptions = data
this.subentryExpandedKeys =[].concat([this.form.subentryId])
},
handleCheckSubentryOptions(data, checkedStatus) {
const isParent = data.children && data.children.length > 0
if (isParent) {
this.$refs.subentry.setChecked(data.id, false)
return
}
if (checkedStatus.checkedKeys.includes(data.id)) {
this.$refs.subentry.setCheckedKeys([data.id])
}
},
/** 查询业态类型树结构 */
getBusinessSelect() {
businessTreeSelect().then((response) => {
@ -907,7 +938,7 @@ export default {
this.queryParams.monitorType = 2;
listShuiMeasurement(this.queryParams).then((response) => {
this.ShuiMeasurementOptions = [];
const data = { objid: 0, monitorName: "顶级节点", children: [] };
const data = {objid: 0, monitorName: "顶级节点", children: []};
data.children = this.handleTree(response.data, "objid", "parentId");
this.ShuiMeasurementOptions.push(data);
});
@ -916,8 +947,8 @@ export default {
getAllTree(objid) {
return treeselect(objid).then((response) => {
this.buildOptions = response.builds;
this.subentryOptions = response.subentrys;
this.businessOptions = response.business;
this.setSubentryOptions(response.subentrys, 0);
return response;
});
},
@ -930,3 +961,10 @@ export default {
},
};
</script>
<style scoped>
/* 隐藏带 is-disabled 类名的复选框 */
/deep/ .el-checkbox__input.is-disabled .el-checkbox__inner {
display: none !important;
}
</style>

@ -162,6 +162,20 @@
prop="address"
v-if="columns[2].visible"
/>
<el-table-column
label="表具类型"
align="center"
key="publicShareType"
prop="publicShareType"
v-if="columns[3].visible"
>
<template slot-scope="scope">
<dict-tag
:options="dict.type.public_share_type"
:value="scope.row.publicShareType"
/>
</template>
</el-table-column>
<el-table-column
label="表具层级"
align="center"
@ -183,6 +197,37 @@
prop="owningUser"
v-if="columns[3].visible"
/>
<el-table-column
label="所属部门"
align="center"
key="subentryName"
prop="subentryName"
v-if="columns[3].visible"
/>
<el-table-column
label="尖电量(kW·h)"
align="center"
key="kwh1"
prop="kwh1"
/>
<el-table-column
label="峰电量(kW·h)"
align="center"
key="kwh2"
prop="kwh2"
/>
<el-table-column
label="平电量(kW·h)"
align="center"
key="kwh3"
prop="kwh3"
/>
<el-table-column
label="谷电量(kW·h)"
align="center"
key="kwh4"
prop="kwh4"
/>
<el-table-column
label="用电量(kW·h)"
align="center"
@ -255,7 +300,7 @@
highlight-current
@check-change="handleCheckChange"
/>
</div>
</div>http://192.168.58.226:81/ems/powerUse/Energystatistics
</el-col>
</el-form>
<div slot="footer" class="dialog-footer">
@ -456,34 +501,34 @@ export default {
},
},
created() {
this.dateRangeone = new Date(new Date().setHours(0, 0, 0, 0));
var d = new Date(this.dateRangeone);
let m = ("0" + (d.getMonth() + 1)).slice(-2);
let tian = ("0" + d.getDate()).slice(-2);
let h = ("0" + d.getHours()).slice(-2);
let M = ("0" + d.getMinutes()).slice(-2);
let s = ("0" + d.getSeconds()).slice(-2);
console.log("d", d);
this.dateRangeone = d.getFullYear() + "-" + m + "-" + tian;
this.dateRangetwo = new Date(
new Date().setHours(0, 0, 0, 0) + 24 * 60 * 60 * 1000 - 1
);
var d1 = new Date(this.dateRangetwo);
let m1 = ("0" + (d1.getMonth() + 1)).slice(-2);
let tian1 = ("0" + d1.getDate()).slice(-2);
let h1 = ("0" + d1.getHours()).slice(-2);
let M1 = ("0" + d1.getMinutes()).slice(-2);
let s1 = ("0" + d1.getSeconds()).slice(-2);
console.log("tian1.length", tian1);
this.dateRangetwo = d1.getFullYear() + "-" + m1 + "-" + tian1;
//this.dateRangetwo = d1.getFullYear()+ '-'+m1+ '-'+tian1+ ' '+ h1+ ':'+M1+':'+s1;
this.initDateRange();
this.getList();
//this.getDeptTree();
},
mounted() {},
methods: {
initDateRange(){
this.dateRangeone = new Date(new Date().setHours(0, 0, 0, 0));
var d = new Date(this.dateRangeone);
let m = ("0" + (d.getMonth() + 1)).slice(-2);
let tian = ("0" + d.getDate()).slice(-2);
let h = ("0" + d.getHours()).slice(-2);
let M = ("0" + d.getMinutes()).slice(-2);
let s = ("0" + d.getSeconds()).slice(-2);
console.log("d", d);
this.dateRangeone = d.getFullYear() + "-" + m + "-" + tian;
this.dateRangetwo = new Date(
new Date().setHours(0, 0, 0, 0) + 24 * 60 * 60 * 1000 - 1
);
var d1 = new Date(this.dateRangetwo);
let m1 = ("0" + (d1.getMonth() + 1)).slice(-2);
let tian1 = ("0" + d1.getDate()).slice(-2);
let h1 = ("0" + d1.getHours()).slice(-2);
let M1 = ("0" + d1.getMinutes()).slice(-2);
let s1 = ("0" + d1.getSeconds()).slice(-2);
console.log("tian1.length", tian1);
this.dateRangetwo = d1.getFullYear() + "-" + m1 + "-" + tian1;
},
/** 查询用户列表 */
getList() {
this.loading = true;
@ -641,12 +686,9 @@ export default {
},
/** 重置按钮操作 */
resetQuery() {
//this.dateRange = [];
this.dateRangeone = "";
this.dateRangetwo = "";
//this.resetForm("queryForm");
//this.queryParams.deptId = undefined;
//this.$refs.tree.setCurrentKey(null);
this.initDateRange()
this.queryParams.publicShareType=null
this.queryParams.monitorHierarchy=null
this.handleQuery();
},
//

Loading…
Cancel
Save