wangxingyuan 8 months ago
parent
commit
90df3e52b6
11 changed files with 1220 additions and 333 deletions
  1. +56
    -0
      src/api/basedata/bdconfig/algconvert.js
  2. +56
    -0
      src/api/basedata/bdconfig/deviceconvert.js
  3. +48
    -0
      src/api/basedata/bdconfig/mainsystem.js
  4. +15
    -0
      src/api/point/point_mang.js
  5. +39
    -0
      src/api/point/site_management.js
  6. +232
    -68
      src/views/basedata/bdconfig/algconvert/index.vue
  7. +234
    -78
      src/views/basedata/bdconfig/deviceconvert/index.vue
  8. +236
    -89
      src/views/basedata/bdconfig/mainsystem/index.vue
  9. +17
    -1
      src/views/basedata/patrolpointmnt/patrolpoint/index.vue
  10. +141
    -33
      src/views/point/point_mang.vue
  11. +146
    -64
      src/views/point/site_management.vue

+ 56
- 0
src/api/basedata/bdconfig/algconvert.js View File

@ -0,0 +1,56 @@
import request from '@/utils/request';
// 初始化list
export function getList(query) {
return request({
url: '/basedata/bdconfig/algconvert/list',
method: 'get',
params: query
})
}
// 主系统
export function mainsystemList(query) {
return request({
url: '/basedata/bdconfig/mainsystem/list',
method: 'get',
params: { pageNum: 1, pageSize: 10000 }
})
}
// 算法
export function subtypeList(query) {
return request({
url: '/basedata/subtype/list',
method: 'get',
params: { pageNum: 1, pageSize: 10000 }
})
}
// 编辑查询
export function getItem(query) {
return request({
url: `/basedata/bdconfig/algconvert/${query}`,
method: 'get',
})
}
// 修改
export function edit(query) {
return request({
url: '/basedata/bdconfig/algconvert/edit',
method: 'post',
data: query
})
}
// 删除
export function postRemove(query) {
return request({
url: `/basedata/bdconfig/algconvert/remove/${query}`,
method: 'post',
// params: query
})
}
// 新增
export function postAdd(query) {
return request({
url: '/basedata/bdconfig/algconvert',
method: 'post',
data: query
})
}

+ 56
- 0
src/api/basedata/bdconfig/deviceconvert.js View File

@ -0,0 +1,56 @@
import request from '@/utils/request';
// 初始化list
export function getList(query) {
return request({
url: '/basedata/bdconfig/deviceconvert/list',
method: 'get',
params: query
})
}
// 主系统
export function mainsystemList(query) {
return request({
url: '/basedata/bdconfig/mainsystem/list',
method: 'get',
params: { pageNum: 1, pageSize: 10000 }
})
}
// 设备
export function getProDeviceTreeSelect(query) {
return request({
url: '/basedata/prodevmnt/device/getProDeviceTreeSelect',
method: 'get',
// params: { pageNum: 1, pageSize: 10000 }
})
}
// 新增
export function postAdd(query) {
return request({
url: '/basedata/bdconfig/deviceconvert',
method: 'post',
data: query
})
}
// 修改
export function edit(query) {
return request({
url: '/basedata/bdconfig/deviceconvert/edit',
method: 'post',
data: query
})
}
// 编辑查询
export function getItem(query) {
return request({
url: `/basedata/bdconfig/deviceconvert/${query}`,
method: 'get',
})
}
// 删除
export function postRemove(query) {
return request({
url: `/basedata/bdconfig/deviceconvert/remove/${query}`,
method: 'post',
// params: query
})
}

+ 48
- 0
src/api/basedata/bdconfig/mainsystem.js View File

@ -0,0 +1,48 @@
import request from '@/utils/request';
// 初始化list
export function getList(query) {
return request({
url: '/basedata/bdconfig/mainsystem/list',
method: 'get',
params: query
})
}
// 主系统类型
export function systemType(query) {
return request({
url: '/system/dict/data/type/system_type',
method: 'get',
// params: query
})
}
// 新增
export function postAdd(query) {
return request({
url: '/basedata/bdconfig/mainsystem',
method: 'post',
data: query
})
}
// 删除
export function postRemove(query) {
return request({
url: `/basedata/bdconfig/mainsystem/remove/${query}`,
method: 'post',
// params: query
})
}
// 修改
export function edit(query) {
return request({
url: '/basedata/bdconfig/mainsystem/edit',
method: 'post',
data: query
})
}
// 编辑查询
export function getItem(query) {
return request({
url: `/basedata/bdconfig/mainsystem/${query}`,
method: 'get',
})
}

+ 15
- 0
src/api/point/point_mang.js View File

@ -52,4 +52,19 @@ export function remove(query) {
url: `/basedata/patrolpointmnt/stdpatrolpoint/remove/${query}`,
method: 'post',
})
}
// 设置智能识别类型父级
export function algList(query) {
return request({
url: `/basedata/alg/list`,
method: 'get',
})
}
// 设置智能识别类型子级
export function subtypeList(query) {
return request({
url: `/basedata/subtype/list`,
method: 'get',
})
}

+ 39
- 0
src/api/point/site_management.js View File

@ -22,4 +22,43 @@ export function getPatroltypeList(query) {
url: `/basedata/patrolpointmnt/patroltype/list`,
method: 'get',
})
}
// 重要等级
export function pointImptLevel(query) {
return request({
url: `/system/dict/data/type/point_impt_level`,
method: 'get',
})
}
// 新增
export function postAdd(query) {
return request({
url: `/basedata/patrolpointmnt/patrolpoint`,
method: 'post',
data:query
})
}
// 编辑
export function edit(query) {
return request({
url: `/basedata/patrolpointmnt/patrolpoint/edit`,
method: 'post',
data:query
})
}
export function editItem(id) {
return request({
url: `/patrol/preset?patrolpointId=${id}`,
method: 'get',
// data:query
})
}
// 移除
export function postRemove(id) {
return request({
url: `/basedata/patrolpointmnt/patrolpoint/remove/${id}`,
method: 'POST',
// data:query
})
}

+ 232
- 68
src/views/basedata/bdconfig/algconvert/index.vue View File

@ -3,11 +3,17 @@
<el-form v-model="queryParams" :inline="true">
<el-form-item :label="$t('algconvert.mainSystem')">
<el-select
v-model="queryParams.mainSystemCode"
:placeholder="
$t('share.PleaseChoose') + ' ' + $t('algconvert.mainSystem')
"
>
<!-- <el-option label="item.label" value="item.value"></el-option> -->
<el-option
:label="item.mainSystemName || item.mainSystemCode"
:value="item.mainSystemCode"
v-for="item in mainSystemData"
:key="item.mainSystemId"
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('algconvert.algorithm')">
@ -15,12 +21,19 @@
:placeholder="
$t('share.PleaseChoose') + ' ' + $t('algconvert.algorithm')
"
v-model="queryParams.algId"
>
<el-option label="item.label" value="item.value"></el-option>
<el-option
:label="item.algSubtypeName"
:value="item.algSubtypeId"
v-for="item in subtypeData"
:key="item.algSubtypeId"
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('algconvert.algorithm')">
<el-form-item label="原算法编号">
<el-input
v-model="queryParams.originalAlgCode"
:placeholder="
$t('share.PleaseChoose') +
' ' +
@ -52,61 +65,76 @@
>{{ $t("share.new") }}</el-button
>
</el-col>
<el-col :span="1.5">
<!-- <el-col :span="1.5">
<el-button type="success" icon="el-icon-edit" plain size="mini" @click="handleEdit()">{{
$t("share.edit")
}}</el-button>
</el-col>
</el-col> -->
<el-col :span="1.5">
<el-button type="danger" icon="el-icon-delete" plain size="mini">{{
$t("share.delete")
}}</el-button>
<el-button
type="danger"
icon="el-icon-delete"
plain
size="mini"
@click="handleDeleteAll"
:disabled="ids.length <= 0"
>{{ $t("share.delete") }}</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="warning" icon="el-icon-download" plain size="mini">{{
$t("share.export")
}}</el-button>
<el-button
type="warning"
icon="el-icon-download"
plain
size="mini"
@click="handleExport"
>{{ $t("share.export") }}</el-button
>
</el-col>
</el-row>
<el-table :data="tableData" style="width: 100%; margin-bottom: 20px">
<el-table
:data="tableData"
style="width: 100%; margin-bottom: 20px"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column
prop="id"
prop="algConvertId"
:label="$t('algconvert.LedgerID')"
align="center"
/>
<el-table-column
prop="id"
prop="mainSystemCode"
:label="$t('algconvert.MainSystemNumber')"
align="center"
/>
<el-table-column
prop="name"
prop="mainSystemName"
:label="$t('algconvert.MainSystemName')"
align="center"
/>
<el-table-column
prop="id"
prop="manufacturerCode"
:label="$t('algconvert.ManufacturerNumber')"
align="center"
/>
<el-table-column
prop="id"
prop="manufacturerName"
:label="$t('algconvert.ManufacturerName')"
align="center"
/>
<el-table-column
prop="id"
prop="algName"
:label="$t('algconvert.algorithm')"
align="center"
/>
<el-table-column
prop="id"
prop="algCode"
:label="$t('algconvert.AlgorithmNumber')"
align="center"
/>
<el-table-column
prop="id"
prop="originalAlgCode"
:label="$t('algconvert.OriginalAlgorithmNumber')"
align="center"
/>
@ -115,13 +143,13 @@
<el-button
type="text"
size="small"
@click="handleEdit(scope.$index, scope.row)"
@click="handleEdit(scope.row.algConvertId)"
>{{ $t("share.edit") }}</el-button
>
<el-button
type="text"
size="small"
@click="handleDelete(scope.$index, scope.row)"
@click="handleDelete(scope.row.algConvertId)"
>{{ $t("share.delete") }}</el-button
>
</template>
@ -132,6 +160,7 @@
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="init"
/>
<el-dialog
:title="title"
@ -140,28 +169,50 @@
:before-close="handleClose"
>
<el-form :model="dialogForm" :rules="rules" ref="ruleForm">
<el-form-item :label="$t('algconvert.mainSystem')" prop="mainSystem">
<el-form-item
:label="$t('algconvert.mainSystem')"
prop="mainSystemName"
>
<el-select
v-model="dialogForm.mainSystemName"
style="width: 100%"
:placeholder="
$t('share.PleaseChoose') + ' ' + $t('algconvert.mainSystem')
"
value-key="mainSystemId"
@change="mainSystemFn"
>
<el-option label="item.label" value="item.value"></el-option>
<el-option
:label="item.mainSystemName || item.mainSystemCode"
:value="item.mainSystemCode"
v-for="item in mainSystemData"
:key="item.mainSystemId"
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('algconvert.algorithm')" prop="algorithm">
<el-form-item :label="$t('algconvert.algorithm')" prop="algId">
<el-select
style="width: 100%"
:placeholder="
$t('share.PleaseChoose') + ' ' + $t('algconvert.algorithm')
"
v-model="dialogForm.algId"
multiple
>
<el-option label="item.label" value="item.value"></el-option>
<el-option
:label="item.algSubtypeName"
:value="item.algSubtypeId"
v-for="item in subtypeData"
:key="item.algSubtypeId"
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('algconvert.OriginalAlgorithmNumber')" prop="OriginalAlgorithmNumber">
<el-form-item
:label="$t('algconvert.OriginalAlgorithmNumber')"
prop="originalAlgCode"
>
<el-input
v-model="dialogForm.originalAlgCode"
:placeholder="
$t('share.PleaseEnter') +
' ' +
@ -171,10 +222,8 @@
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">{{
$t("share.cancel")
}}</el-button>
<el-button type="primary" @click="dialogVisible = false">{{
<el-button @click="handleClose">{{ $t("share.cancel") }}</el-button>
<el-button type="primary" @click="submitForm('ruleForm')">{{
$t("share.confirm")
}}</el-button>
</span>
@ -183,42 +232,29 @@
</template>
<script>
import {
getList,
mainsystemList,
subtypeList,
postAdd,
getItem,
edit,
postRemove,
} from "@/api/basedata/bdconfig/algconvert";
export default {
data() {
return {
queryParams: {},
tableData: [
{
id: 1,
date: "2016-05-02",
name: "王小虎",
address: "上海市普陀区金沙江路 1518 弄",
},
{
id: 2,
date: "2016-05-04",
name: "王小虎",
address: "上海市普陀区金沙江路 1517 弄",
},
{
id: 3,
date: "2016-05-01",
name: "王小虎",
address: "上海市普陀区金沙江路 1519 弄",
},
{
id: 4,
date: "2016-05-03",
name: "王小虎",
address: "上海市普陀区金沙江路 1516 弄",
},
],
queryParams: {
pageNum: 1,
pageSize: 10,
},
tableData: [],
total: 10,
dialogVisible: false,
dialogForm: {},
title:this.$t('algconvert.AddBasicData-DeviceCorrespondence'),
title: this.$t("algconvert.AddBasicData-DeviceCorrespondence"),
rules: {
mainSystem: [
mainSystemName: [
{
required: true,
message:
@ -228,7 +264,7 @@ export default {
trigger: "change",
},
],
algorithm:[
algId: [
{
required: true,
message:
@ -238,7 +274,7 @@ export default {
trigger: "change",
},
],
OriginalAlgorithmNumber:[
originalAlgCode: [
{
required: true,
message:
@ -247,22 +283,150 @@ export default {
this.$t("algconvert.OriginalAlgorithmNumber"),
trigger: "blur",
},
]
],
},
mainSystemData: [],
subtypeData: [],
type: 0,
ids: [],
};
},
computed: {},
created() {},
mounted() {},
mounted() {
this.init();
mainsystemList().then((res) => {
if (res.code == 200) {
this.mainSystemData = res.rows;
}
});
subtypeList().then((res) => {
if (res.code == 200) {
this.subtypeData = res.rows;
}
});
},
methods: {
//
init() {
getList(this.queryParams).then((res) => {
if (res.code == 200) {
this.tableData = res.rows;
this.total = res.total;
}
});
},
add() {
this.dialogForm = {};
this.dialogVisible = true;
this.title=this.$t('algconvert.AddBasicData-DeviceCorrespondence')
this.title = this.$t("algconvert.AddBasicData-DeviceCorrespondence");
},
handleEdit(){
handleEdit(id) {
this.dialogVisible = true;
this.title=this.$t('algconvert.EditBasicData-DeviceCorrespondence')
}
this.title = this.$t("algconvert.EditBasicData-DeviceCorrespondence");
this.type = 1;
getItem(id).then((res) => {
console.log(res);
this.dialogForm = res.data;
let arr = this.dialogForm.algId.split(",") || [];
this.dialogForm.algId = arr.map(Number);
console.log(this.dialogForm.algId);
});
},
handleClose() {
this.dialogVisible = false;
},
//
submitForm(ruleForm) {
this.$refs[ruleForm].validate((v) => {
let data = JSON.parse(JSON.stringify(this.dialogForm));
data.algId = this.dialogForm.algId.toString();
// return
if (v) {
if (this.type == 0) {
postAdd(data).then((res) => {
if (res.code == 200) {
this.init();
this.dialogVisible = false;
}
});
} else {
edit(data).then((res) => {
if (res.code == 200) {
this.init();
this.dialogVisible = false;
}
});
}
}
});
},
mainSystemFn(val) {
const selectedSystem = this.mainSystemData.find(
(item) => item.mainSystemCode === val
);
console.log(selectedSystem, "点击");
this.dialogForm.mainSystemName = selectedSystem.mainSystemName;
this.dialogForm.mainSystemCode = selectedSystem.mainSystemCode;
this.dialogForm.manufacturerCode = selectedSystem.manufacturerCode;
this.dialogForm.manufacturerName = selectedSystem.manufacturerName;
},
resetQuery() {
this.queryParams = {
pageNum: 1,
pageSize: 10,
};
this.init();
},
//
handleQuery() {
console.log(this.queryParams);
this.init();
},
//
handleDelete(id) {
this.$confirm(`确定要删除Id为${id}的数据吗?`, "删除", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
postRemove(id).then((res) => {
if (res.code == 200) {
this.$message({
type: "success",
message: "删除成功!",
});
this.init();
}
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
},
//
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.algConvertId);
},
//
handleDeleteAll() {
let ids = this.ids.toString();
this.handleDelete(ids);
},
//
handleExport() {
this.download(
"/basedata/bdconfig/algconvert/export",
{
...this.queryParams,
},
`algconvert_${new Date().getTime()}.xlsx`
);
},
},
};
</script>


+ 234
- 78
src/views/basedata/bdconfig/deviceconvert/index.vue View File

@ -3,24 +3,39 @@
<el-form v-model="queryParams" :inline="true">
<el-form-item :label="$t('deviceconvert.mainSystem')">
<el-select
v-model="queryParams.mainSystemCode"
style="width: 100%"
:placeholder="
$t('share.PleaseChoose') + ' ' + $t('deviceconvert.mainSystem')
"
>
<!-- <el-option label="item.label" value="item.value"></el-option> -->
<el-option
:label="item.mainSystemName || item.mainSystemCode"
:value="item.mainSystemCode"
v-for="item in mainSystemData"
:key="item.mainSystemId"
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('deviceconvert.device')">
<el-select
v-model="queryParams.deviceId"
style="width: 100%"
:placeholder="
$t('share.PleaseChoose') + ' ' + $t('deviceconvert.device')
"
>
<!-- <el-option label="item.label" value="item.value"></el-option> -->
<el-option
:label="item.deviceName"
:value="item.deviceId"
v-for="item in deviceData"
:key="item.deviceId"
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('deviceconvert.OriginalEquipmentNumber')">
<el-input
v-model="queryParams.originalDeviceCode"
:placeholder="
$t('share.PleaseChoose') +
' ' +
@ -52,81 +67,108 @@
>{{ $t("share.new") }}</el-button
>
</el-col>
<!-- <el-col :span="1.5">
<el-button
type="success"
icon="el-icon-edit"
plain
size="mini"
@click="handleEdit()"
>{{ $t("share.edit") }}</el-button
>
</el-col> -->
<el-col :span="1.5">
<el-button type="success" icon="el-icon-edit" plain size="mini" @click="handleEdit()">{{
$t("share.edit")
}}</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" icon="el-icon-delete" plain size="mini">{{
$t("share.delete")
}}</el-button>
<el-button
type="danger"
icon="el-icon-delete"
plain
size="mini"
:disabled="ids.length <= 0"
@click="handleDeleteAll"
>{{ $t("share.delete") }}</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="warning" icon="el-icon-download" plain size="mini">{{
$t("share.export")
}}</el-button>
<el-button
type="warning"
icon="el-icon-download"
plain
size="mini"
@click="handleExport"
>{{ $t("share.export") }}</el-button
>
</el-col>
</el-row>
<el-table :data="tableData" style="width: 100%; margin-bottom: 20px">
<el-table
:data="tableData"
style="width: 100%; margin-bottom: 20px"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column
prop="id"
prop="deviceConvertId"
:label="$t('deviceconvert.LedgerID')"
align="center"
/>
<el-table-column
prop="id"
prop="mainSystemCode"
:label="$t('deviceconvert.MainSystemNumber')"
align="center"
/>
<el-table-column
prop="name"
prop="mainSystemName"
:label="$t('deviceconvert.MainSystemName')"
align="center"
/>
<el-table-column
prop="id"
prop="manufacturerCode"
:label="$t('deviceconvert.ManufacturerNumber')"
align="center"
/>
<el-table-column
prop="id"
prop="manufacturerName"
:label="$t('deviceconvert.ManufacturerName')"
align="center"
/>
<el-table-column
prop="id"
prop="deviceName"
:label="$t('deviceconvert.device')"
align="center"
/>
<el-table-column
prop="id"
prop="deviceCode"
:label="$t('deviceconvert.DeviceNumber')"
align="center"
/>
<el-table-column
prop="id"
prop="originalDeviceCode"
:label="$t('deviceconvert.OriginalEquipmentNumber')"
align="center"
/>
<el-table-column
prop="id"
prop="deviceLevel"
:label="$t('deviceconvert.EquipmentHierarchy')"
align="center"
/>
>
<template slot-scope="scope">
<el-tag v-if="scope.row.deviceLevel == 1">间隔</el-tag>
<el-tag v-if="scope.row.deviceLevel == 2">主设备</el-tag>
<el-tag v-if="scope.row.deviceLevel == 3">设备点位</el-tag>
<el-tag v-if="scope.row.deviceLevel == 4">部件</el-tag>
</template>
</el-table-column>
<el-table-column :label="$t('share.operate')" align="center">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click="handleEdit(scope.$index, scope.row)"
@click="handleEdit(scope.row.deviceConvertId)"
>{{ $t("share.edit") }}</el-button
>
<el-button
type="text"
size="small"
@click="handleDelete(scope.$index, scope.row)"
@click="handleDelete(scope.row.deviceConvertId)"
>{{ $t("share.delete") }}</el-button
>
</template>
@ -137,6 +179,7 @@
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="init"
/>
<el-dialog
:title="title"
@ -145,34 +188,49 @@
:before-close="handleClose"
>
<el-form ref="dialogForm" :model="dialogForm" :rules="rules">
<el-form-item :label="$t('deviceconvert.mainSystem')" prop="mainSystem">
<el-form-item
:label="$t('deviceconvert.mainSystem')"
prop="mainSystemCode"
>
<el-select
v-model="dialogForm.mainSystem"
v-model="dialogForm.mainSystemCode"
style="width: 100%"
:placeholder="
$t('share.PleaseChoose') + ' ' + $t('deviceconvert.mainSystem')
"
@change="mainSystemFn"
>
<!-- <el-option label="item.label" value="item.value"></el-option> -->
<el-option
:label="item.mainSystemName || item.mainSystemCode"
:value="item.mainSystemCode"
v-for="item in mainSystemData"
:key="item.mainSystemId"
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('deviceconvert.device')" prop="device">
<el-form-item :label="$t('deviceconvert.device')" prop="deviceId">
<el-select
v-model="dialogForm.device"
v-model="dialogForm.deviceId"
style="width: 100%"
:placeholder="
$t('share.PleaseChoose') + ' ' + $t('deviceconvert.device')
"
@change="deviceFn"
>
<!-- <el-option label="item.label" value="item.value"></el-option> -->
<el-option
:label="item.deviceName"
:value="item.deviceId"
v-for="item in deviceData"
:key="item.deviceId"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label="$t('deviceconvert.OriginalEquipmentNumber')"
prop="OriginalEquipmentNumber"
prop="originalDeviceCode"
>
<el-input
v-model="dialogForm.OriginalEquipmentNumber"
v-model="dialogForm.originalDeviceCode"
:placeholder="
$t('share.PleaseChoose') +
' ' +
@ -182,7 +240,7 @@
</el-form-item>
<el-form-item :label="$t('deviceconvert.EquipmentHierarchy')">
<el-select
v-model="dialogForm.EquipmentHierarchy"
v-model="dialogForm.deviceLevel"
style="width: 100%"
:placeholder="
$t('share.PleaseChoose') +
@ -190,7 +248,10 @@
$t('deviceconvert.EquipmentHierarchy')
"
>
<el-option label="item.label" value="item.value"></el-option>
<el-option label="间隔" value="1"></el-option>
<el-option label="主设备" value="2"></el-option>
<el-option label="设备点位" value="3"></el-option>
<el-option label="部件" value="4"></el-option>
</el-select>
</el-form-item>
</el-form>
@ -207,40 +268,27 @@
</template>
<script>
import {
getList,
mainsystemList,
getProDeviceTreeSelect,
postAdd,
getItem,
edit,
postRemove,
} from "@/api/basedata/bdconfig/deviceconvert";
export default {
data() {
return {
queryParams: {},
tableData: [
{
id: 1,
date: "2016-05-02",
name: "王小虎",
address: "上海市普陀区金沙江路 1518 弄",
},
{
id: 2,
date: "2016-05-04",
name: "王小虎",
address: "上海市普陀区金沙江路 1517 弄",
},
{
id: 3,
date: "2016-05-01",
name: "王小虎",
address: "上海市普陀区金沙江路 1519 弄",
},
{
id: 4,
date: "2016-05-03",
name: "王小虎",
address: "上海市普陀区金沙江路 1516 弄",
},
],
queryParams: {
pageNum: 1,
pageSize: 10,
},
tableData: [],
total: 10,
dialogVisible: false,
rules: {
mainSystem: [
mainSystemCode: [
{
required: true,
message:
@ -250,7 +298,7 @@ export default {
trigger: "change",
},
],
device: [
deviceId: [
{
required: true,
message:
@ -260,7 +308,7 @@ export default {
trigger: "change",
},
],
OriginalEquipmentNumber: [
originalDeviceCode: [
{
required: true,
message:
@ -273,30 +321,138 @@ export default {
},
dialogForm: {},
title: this.$t("deviceconvert.AddBasicData-DeviceCorrespondence"),
mainSystemData: [],
deviceData: [],
type: 0,
ids: [],
};
},
computed: {},
created() {},
mounted() {},
mounted() {
this.init();
mainsystemList().then((res) => {
if (res.code == 200) {
this.mainSystemData = res.rows;
}
});
getProDeviceTreeSelect().then((res) => {
if (res.code == 200) {
this.deviceData = res.data;
}
});
},
methods: {
//
init() {
getList(this.queryParams).then((res) => {
this.tableData = res.rows;
this.total = res.total;
});
},
add() {
this.type = 0;
this.dialogVisible = true;
this.title=this.$t("deviceconvert.AddBasicData-DeviceCorrespondence");
this.title = this.$t("deviceconvert.AddBasicData-DeviceCorrespondence");
},
submitForm(){
this.$refs['dialogForm'].validate((valid) => {
if (valid) {
alert('submit!');
submitForm() {
this.$refs["dialogForm"].validate((valid) => {
if (valid) {
if (this.type == 0) {
postAdd(this.dialogForm).then((res) => {
console.log(res, 111111);
if (res.code == 200) {
this.dialogVisible = false;
this.$message({
message: `新增成功`,
type: "success",
});
this.init();
}
});
} else {
console.log('error submit!!');
return false;
edit(this.dialogForm).then((res) => {
if (res.code == 200) {
this.dialogVisible = false;
this.$message({
message: `修改成功`,
type: "success",
});
this.init();
}
});
}
});
} else {
console.log("error submit!!");
return false;
}
});
},
handleEdit(){
mainSystemFn(val) {
const selectedSystem = this.mainSystemData.find(
(item) => item.mainSystemCode === val
);
this.dialogForm.mainSystemName = selectedSystem.mainSystemName;
this.dialogForm.mainSystemCode = selectedSystem.mainSystemCode;
this.dialogForm.manufacturerCode = selectedSystem.manufacturerCode;
this.dialogForm.manufacturerName = selectedSystem.manufacturerName;
},
deviceFn(val) {
const deviceData = this.deviceData.find((item) => item.deviceId === val);
this.dialogForm.deviceCode = deviceData.deviceCode;
this.dialogForm.deviceName = deviceData.deviceName;
},
handleEdit(id) {
this.dialogVisible = true;
this.title=this.$t("deviceconvert.EditBasicData-DeviceCorrespondence");
}
this.type = 1;
this.title = this.$t("deviceconvert.EditBasicData-DeviceCorrespondence");
getItem(id).then((res) => {
if (res.code == 200) {
this.dialogForm = res.data;
}
});
},
//
handleDelete(id) {
postRemove(id).then((res) => {
if (res.code == 200) {
this.$message({
type: "success",
message: "删除成功!",
});
this.init();
}
});
},
//
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.deviceConvertId);
},
//
handleDeleteAll() {
let ids = this.ids.toString();
this.handleDelete(ids);
},
//
handleQuery() {
this.init()
},
//
resetQuery(){
this.queryParams = { pageNum: 1, pageSize: 10 };
this.init()
},
//
handleExport() {
this.download(
"/basedata/bdconfig/deviceconvert/export",
{
...this.queryParams,
},
`deviceconvert_${new Date().getTime()}.xlsx`
);
},
},
};
</script>


+ 236
- 89
src/views/basedata/bdconfig/mainsystem/index.vue View File

@ -3,6 +3,7 @@
<el-form v-model="queryParams" :inline="true" label-width="160px">
<el-form-item :label="$t('mainsystem.MainSystemNumber')">
<el-input
v-model="queryParams.mainSystemCode"
:placeholder="
$t('share.PleaseEnter') + ' ' + $t('mainsystem.MainSystemNumber')
"
@ -12,6 +13,7 @@
<el-form-item :label="$t('mainsystem.MainSystemName')">
<el-input
v-model="queryParams.mainSystemName"
:placeholder="
$t('share.PleaseEnter') + ' ' + $t('mainsystem.MainSystemName')
"
@ -19,8 +21,12 @@
></el-input>
</el-form-item>
<el-form-item :label="$t('mainsystem.ManufacturerNumber')" prop="ManufacturerNumber">
<el-form-item
:label="$t('mainsystem.ManufacturerNumber')"
prop="ManufacturerNumber"
>
<el-input
v-model="queryParams.manufacturerCode"
:placeholder="
$t('share.PleaseEnter') + ' ' + $t('mainsystem.ManufacturerNumber')
"
@ -30,6 +36,7 @@
<el-form-item :label="$t('mainsystem.ManufacturerName')">
<el-input
v-model="queryParams.manufacturerName"
:placeholder="
$t('share.PleaseEnter') + ' ' + $t('mainsystem.ManufacturerName')
"
@ -39,8 +46,9 @@
<el-form-item :label="$t('mainsystem.StartDateOfUse')">
<el-date-picker
v-model="value1"
v-model="queryParams.createTime"
type="date"
value-format="yyyy-MM-dd"
:placeholder="
$t('share.PleaseEnter') + ' ' + $t('mainsystem.StartDateOfUse')
"
@ -50,37 +58,48 @@
<el-form-item :label="$t('mainsystem.DeviceMapping')">
<el-select
v-model="queryParams.convertFlag"
style="width: 100%"
:placeholder="
$t('share.PleaseChoose') + ' ' + $t('mainsystem.DeviceMapping')
"
>
<!-- <el-option label="是" value="1"></el-option> -->
<el-option label="是" value="1"></el-option>
<el-option label="否" value="0"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('mainsystem.algorithmMapping')">
<el-select
v-model="queryParams.algConvertFlag"
:placeholder="
$t('share.PleaseChoose') + ' ' + $t('mainsystem.algorithmMapping')
"
>
<!-- <el-option label="是" value="1"></el-option> -->
<el-option label="是" value="1"></el-option>
<el-option label="否" value="0"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('mainsystem.SystemType')">
<el-select
v-model="queryParams.systemType"
:placeholder="
$t('share.PleaseChoose') + ' ' + $t('mainsystem.SystemType')
"
>
<!-- <el-option label="是" value="1"></el-option> -->
<el-option
:label="item.dictLabel"
:value="item.dictValue"
v-for="item in systemTypeData"
:key="item.dictValue"
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('mainsystem.port')">
<el-input
v-model="queryParams.port"
:placeholder="$t('share.PleaseEnter') + ' ' + $t('mainsystem.port')"
suffix-icon="xxxx"
></el-input>
@ -88,6 +107,7 @@
<el-form-item :label="$t('mainsystem.user')">
<el-input
v-model="queryParams.username"
:placeholder="$t('share.PleaseEnter') + ' ' + $t('mainsystem.user')"
suffix-icon="xxxx"
></el-input>
@ -117,13 +137,18 @@
>{{ $t("share.new") }}</el-button
>
</el-col>
<!-- <el-col :span="1.5">
<el-button
type="success"
icon="el-icon-edit"
plain
size="mini"
@click="handleEdit()"
>{{ $t("share.edit") }}</el-button
>
</el-col> -->
<el-col :span="1.5">
<el-button type="success" icon="el-icon-edit" plain size="mini" @click="handleEdit()">{{
$t("share.edit")
}}</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" icon="el-icon-delete" plain size="mini">{{
<el-button type="danger" icon="el-icon-delete" plain size="mini" :disabled="ids.length <= 0" @click="handleDeleteAll">{{
$t("share.delete")
}}</el-button>
</el-col>
@ -133,7 +158,7 @@
}}</el-button>
</el-col>
</el-row>
<el-table :data="tableData" style="width: 100%; margin-bottom: 20px">
<el-table :data="tableData" style="width: 100%; margin-bottom: 20px" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column
prop="id"
@ -141,57 +166,66 @@
align="center"
/>
<el-table-column
prop="id"
prop="mainSystemCode"
:label="$t('mainsystem.MainSystemNumber')"
align="center"
/>
<el-table-column
prop="name"
prop="mainSystemName"
:label="$t('mainsystem.MainSystemName')"
align="center"
/>
<el-table-column :label="$t('mainsystem.MainSystemType')" align="center">
<template slot-scope="scope">
{{ systemTypeFn(scope.row.systemType) }}
</template>
</el-table-column>
<el-table-column
prop="id"
:label="$t('mainsystem.MainSystemType')"
align="center"
/>
<el-table-column
prop="id"
prop="manufacturerCode"
:label="$t('mainsystem.ManufacturerNumber')"
align="center"
/>
<el-table-column
prop="id"
prop="manufacturerName"
:label="$t('mainsystem.ManufacturerName')"
align="center"
/>
<el-table-column
prop="id"
prop="startUseTime"
:label="$t('mainsystem.StartDateOfUse')"
align="center"
/>
<el-table-column
prop="id"
prop="convertFlag"
:label="$t('mainsystem.DeviceMapping')"
align="center"
/>
>
<template slot-scope="scope">
{{ scope.row.convertFlag == 1 ? "是" : "否" }}
</template>
</el-table-column>
<el-table-column prop="algConvertFlag" label="算法映射" align="center">
<template slot-scope="scope">
{{ scope.row.algConvertFlag == 1 ? "是" : "否" }}
</template>
</el-table-column>
<el-table-column
prop="id"
prop="ipAddr"
:label="$t('mainsystem.ipAddress')"
align="center"
/>
<el-table-column
prop="id"
prop="port"
:label="$t('mainsystem.port')"
align="center"
/>
<el-table-column
prop="id"
prop="username"
:label="$t('mainsystem.user')"
align="center"
/>
<el-table-column
prop="id"
prop="password"
:label="$t('mainsystem.password')"
align="center"
/>
@ -200,13 +234,13 @@
<el-button
type="text"
size="small"
@click="handleEdit(scope.$index, scope.row)"
@click="handleEdit(scope.row.mainSystemId)"
>{{ $t("share.edit") }}</el-button
>
<el-button
type="text"
size="small"
@click="handleDelete(scope.$index, scope.row)"
@click="handleDelete(scope.row.mainSystemId)"
>{{ $t("share.delete") }}</el-button
>
</template>
@ -217,6 +251,7 @@
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="init"
/>
<el-dialog
:title="title"
@ -232,10 +267,10 @@
>
<el-form-item
:label="$t('mainsystem.MainSystemNumber')"
prop="MainSystemNumber"
prop="mainSystemCode"
>
<el-input
v-model="dialogForm.MainSystemNumber"
v-model="dialogForm.mainSystemCode"
:placeholder="
$t('share.PleaseEnter') + ' ' + $t('mainsystem.MainSystemNumber')
"
@ -243,24 +278,33 @@
</el-form-item>
<el-form-item :label="$t('mainsystem.MainSystemName')">
<el-input
v-model="dialogForm.name"
v-model="dialogForm.mainSystemName"
:placeholder="
$t('share.PleaseEnter') + ' ' + $t('mainsystem.MainSystemName')
"
></el-input>
</el-form-item>
<el-form-item :label="$t('mainsystem.SystemType')" prop="SystemType">
<el-form-item :label="$t('mainsystem.SystemType')" prop="systemType">
<el-select
v-model="dialogForm.systemType"
:placeholder="
$t('share.PleaseChoose') + ' ' + $t('mainsystem.SystemType')
"
>
<!-- <el-option label="是" value="1"></el-option> -->
<el-option
:label="item.dictLabel"
:value="item.dictValue"
v-for="item in systemTypeData"
:key="item.dictValue"
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('mainsystem.ManufacturerNumber')" prop="ManufacturerNumber">
<el-form-item
:label="$t('mainsystem.ManufacturerNumber')"
prop="manufacturerCode"
>
<el-input
v-model="dialogForm.ManufacturerNumber"
v-model="dialogForm.manufacturerCode"
:placeholder="
$t('share.PleaseEnter') +
' ' +
@ -268,9 +312,12 @@
"
></el-input>
</el-form-item>
<el-form-item :label="$t('mainsystem.ManufacturerName')" prop="ManufacturerName">
<el-form-item
:label="$t('mainsystem.ManufacturerName')"
prop="manufacturerName"
>
<el-input
v-model="dialogForm.ManufacturerName"
v-model="dialogForm.manufacturerName"
:placeholder="
$t('share.PleaseEnter') + ' ' + $t('mainsystem.ManufacturerName')
"
@ -278,8 +325,9 @@
</el-form-item>
<el-form-item :label="$t('mainsystem.StartDateOfUse')">
<el-date-picker
v-model="value1"
v-model="dialogForm.startUseTime"
type="date"
value-format="yyyy-MM-dd"
:placeholder="
$t('share.PleaseEnter') + ' ' + $t('mainsystem.StartDateOfUse')
"
@ -288,16 +336,31 @@
</el-form-item>
<el-form-item :label="$t('mainsystem.DeviceMapping')">
<el-select
v-model="dialogForm.convertFlag"
style="width: 100%"
:placeholder="
$t('share.PleaseChoose') + ' ' + $t('mainsystem.DeviceMapping')
"
>
<el-option label="是" value="1"></el-option>
<el-option label="否" value="0"></el-option>
</el-select>
</el-form-item>
<el-form-item label="算法映射">
<el-select
v-model="dialogForm.algConvertFlag"
style="width: 100%"
:placeholder="
$t('share.PleaseChoose') + ' ' + $t('mainsystem.DeviceMapping')
"
>
<!-- <el-option label="是" value="1"></el-option> -->
<el-option label="是" value="1"></el-option>
<el-option label="否" value="0"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('mainsystem.ipAddress')">
<el-input
v-model="dialogForm.name"
v-model="dialogForm.ipAddr"
:placeholder="
$t('share.PleaseEnter') + ' ' + $t('mainsystem.ipAddress')
"
@ -305,19 +368,19 @@
</el-form-item>
<el-form-item :label="$t('mainsystem.port')">
<el-input
v-model="dialogForm.name"
v-model="dialogForm.port"
:placeholder="$t('share.PleaseEnter') + ' ' + $t('mainsystem.port')"
></el-input>
</el-form-item>
<el-form-item :label="$t('mainsystem.user')">
<el-input
v-model="dialogForm.name"
v-model="dialogForm.username"
:placeholder="$t('share.PleaseEnter') + ' ' + $t('mainsystem.user')"
></el-input>
</el-form-item>
<el-form-item :label="$t('mainsystem.password')">
<el-input
v-model="dialogForm.name"
v-model="dialogForm.password"
:placeholder="
$t('share.PleaseEnter') + ' ' + $t('mainsystem.password')
"
@ -325,10 +388,8 @@
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">{{
$t("share.cancel")
}}</el-button>
<el-button type="primary" @click="dialogVisible = false">{{
<el-button @click="handleClose">{{ $t("share.cancel") }}</el-button>
<el-button type="primary" @click="submitForm('ruleForm')">{{
$t("share.confirm")
}}</el-button>
</span>
@ -337,42 +398,22 @@
</template>
<script>
import { getList, systemType,postAdd,postRemove,getItem,edit } from "@/api/basedata/bdconfig/mainsystem";
export default {
data() {
return {
queryParams: {},
tableData: [
{
id: 1,
date: "2016-05-02",
name: "王小虎",
address: "上海市普陀区金沙江路 1518 弄",
},
{
id: 2,
date: "2016-05-04",
name: "王小虎",
address: "上海市普陀区金沙江路 1517 弄",
},
{
id: 3,
date: "2016-05-01",
name: "王小虎",
address: "上海市普陀区金沙江路 1519 弄",
},
{
id: 4,
date: "2016-05-03",
name: "王小虎",
address: "上海市普陀区金沙江路 1516 弄",
},
],
queryParams: {
pageNum: 1,
pageSize: 10,
},
tableData: [],
total: 10,
dialogVisible: false,
title: this.$t('mainsystem.AddBasicData-MainSystemConfiguration'),
title: this.$t("mainsystem.AddBasicData-MainSystemConfiguration"),
dialogForm: {},
rules: {
MainSystemNumber: [
mainSystemCode: [
{
required: true,
message:
@ -382,7 +423,7 @@ export default {
trigger: "blur",
},
],
SystemType:[
systemType: [
{
required: true,
message:
@ -392,8 +433,8 @@ export default {
trigger: "change",
},
],
ManufacturerNumber:[
{
manufacturerCode: [
{
required: true,
message:
this.$t("share.PleaseEnter") +
@ -402,7 +443,7 @@ export default {
trigger: "blur",
},
],
ManufacturerName:[
manufacturerName: [
{
required: true,
message:
@ -411,20 +452,126 @@ export default {
this.$t("mainsystem.ManufacturerName"),
trigger: "blur",
},
]
],
},
systemTypeData: [],
type: 0,
ids:[]
};
},
mounted() {},
mounted() {
this.init();
systemType().then((res) => {
if (res.code == 200) {
this.systemTypeData = res.data;
}
});
},
methods: {
init() {
getList(this.queryParams).then((res) => {
console.log(res);
if (res.code == 200) {
this.tableData = res.rows;
}
});
},
add() {
this.type = 0;
this.dialogVisible = true;
this.title=this.$t('mainsystem.AddBasicData-MainSystemConfiguration')
this.title = this.$t("mainsystem.AddBasicData-MainSystemConfiguration");
this.dialogForm = {};
},
handleEdit(id) {
this.type = 1;
this.title = this.$t("mainsystem.EditBasicData-MainSystemConfiguration");
getItem(id).then((res) => {
if (res.code == 200) {
this.dialogForm = res.data;
this.dialogVisible = true;
}
});
},
//
handleQuery() {
this.init();
},
//
resetQuery() {
this.queryParams = { pageNum: 1, pageSize: 10 };
this.init();
},
//
systemTypeFn(row) {
let name = null;
this.systemTypeData.filter((item) => {
if (item.dictValue == row) {
name = item.dictLabel;
}
});
return name;
},
handleClose() {
this.dialogVisible = false;
this.dialogForm = {};
},
submitForm(ruleForm) {
this.$refs[ruleForm].validate((v) => {
if (v) {
if (this.type == 0) {
postAdd(this.dialogForm).then((res) => {
if (res.code == 200) {
this.$message({
type: "success",
message: "添加成功!",
});
this.dialogVisible = false;
this.init();
}
});
} else {
edit(this.dialogForm).then((res) => {
if (res.code == 200) {
this.$message({
type: "success",
message: "编辑成功!",
});
this.dialogVisible = false;
this.init();
}
});
}
}
});
},
//
handleExport() {
this.download('/basedata/bdconfig/mainsystem/export', {
...this.queryParams
}, `mainsystem_${new Date().getTime()}.xlsx`)
},
//
handleDelete(id){
postRemove(id).then((res) => {
console.log(res)
if(res.code == 200){
this.$message({
type: "success",
message: "删除成功!",
});
this.init();
}
});
},
//
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.mainSystemId);
},
//
handleDeleteAll() {
let ids = this.ids.toString();
this.handleDelete(ids);
},
handleEdit(){
this.dialogVisible = true;
this.title=this.$t('mainsystem.EditBasicData-MainSystemConfiguration')
}
},
};
</script>


+ 17
- 1
src/views/basedata/patrolpointmnt/patrolpoint/index.vue View File

@ -417,7 +417,6 @@ export default {
//
tableTyle(row) {
this.type = 1;
this.tableItem = row;
this.tableItem.alarmThreshold = JSON.parse(row.alarmThreshold);
subtypeList().then((res0) => {
@ -437,6 +436,23 @@ export default {
});
this.dialogTable = list;
this.typedialogVisible = true;
this.$nextTick(() => {
if (row.alarmThreshold) {
let data = row.alarmThreshold;
let idArr = [];
data.forEach((item) => {
idArr.push(item.id.split("_")[1]);
});
idArr.forEach((id) => {
let show = res0.rows.find(
(item) => item.algSubtypeId == id
);
if (show) {
this.$refs.multipleTable.toggleRowSelection(show, true);
}
});
}
});
}
});
}


+ 141
- 33
src/views/point/point_mang.vue View File

@ -5,14 +5,9 @@
<div class="qurey">
<el-input
:placeholder="$t('point_mang.PleaseEnterTheContent')"
v-model="input3"
v-model="filterText"
class="input-with-select"
>
<el-button
slot="append"
icon="el-icon-search"
type="primary"
></el-button>
</el-input>
</div>
<el-tree
@ -21,6 +16,7 @@
@node-click="handleNodeClick"
node-key="devicetypeId"
ref="tree"
:filter-node-method="filterNode"
></el-tree>
</el-col>
<el-col :span="20" v-if="devicetypeId">
@ -100,13 +96,16 @@
</template>
</el-table-column>
<el-table-column
prop="date"
:label="$t('point_mang.IntelligentRecognitionType')"
align="center"
>
<template slot-scope="scope">
<span class="intelligenceType" @click="intelligenceTypeBtn"
>设置</span
<span
class="intelligenceType"
@click="intelligenceTypeBtn(scope.row)"
>{{
scope.row.algSubtypeName ? scope.row.algSubtypeName : "设置"
}}</span
>
</template>
</el-table-column>
@ -118,7 +117,7 @@
<el-button
size="mini"
type="danger"
@click="handleDelete(scope.row)"
@click="handleDelete(scope.row, scope.$index)"
>{{ $t("share.delete") }}</el-button
>
</template>
@ -139,8 +138,16 @@
:visible.sync="dialogVisible"
width="50%"
:before-close="handleClose"
border
>
<el-table :data="intelligenceTypeData">
<el-table
:data="intelligenceTypeData"
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
default-expand-all
row-key="id"
@selection-change="handleSelectionChangeDialog"
ref="multipleTable"
>
<el-table-column
type="selection"
width="55"
@ -152,20 +159,29 @@
align="center"
:label="$t('point_mang.index')"
></el-table-column>
<el-table-column
prop="componentDevicetypeId"
<!-- <el-table-column
prop="algName"
align="center"
:label="$t('point_mang.AlgorithmName')"
></el-table-column>
></el-table-column> -->
<el-table-column :label="$t('patrolpoint.AlgorithmName')">
<template slot-scope="scope">
{{
scope.row.algSubtypeName
? scope.row.algSubtypeName
: scope.row.algName
}}
</template>
</el-table-column>
<el-table-column
prop="patrolContent"
align="center"
:label="$t('point_mang.ThresholdUpperLimit')"
:render-header="addRedStar"
>
<template slot-scope="scope">
<!-- <template slot-scope="scope">
<el-input></el-input>
</template>
</template> -->
</el-table-column>
<el-table-column
prop="mainDevicetypeId"
@ -173,16 +189,14 @@
:label="$t('point_mang.LowerThresholdLimit')"
:render-header="addRedStar"
>
<template slot-scope="scope">
<!-- <template slot-scope="scope">
<el-input></el-input>
</template>
</template> -->
</el-table-column>
</el-table>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">{{
$t("share.cancel")
}}</el-button>
<el-button type="primary" @click="dialogVisible = false">{{
<el-button @click="handleClose">{{ $t("share.cancel") }}</el-button>
<el-button type="primary" @click="dialogTableOk">{{
$t("share.confirm")
}}</el-button>
</span>
@ -198,6 +212,8 @@ import {
dataFormat,
add,
remove,
algList,
subtypeList,
} from "@/api/point/point_mang";
export default {
data() {
@ -214,8 +230,17 @@ export default {
dialogVisible: false,
intelligenceTypeData: [],
devicetypeId: null,
dialogTableSelect: [],
stdpatrolPointId: null,
dialogTableSelectName: [],
filterText: null,
};
},
watch: {
filterText(val) {
this.$refs.tree.filter(val);
},
},
created() {},
mounted() {
this.init();
@ -239,6 +264,10 @@ export default {
});
},
methods: {
filterNode(value, data) {
if (!value) return true;
return data.devicetypeName.indexOf(value) !== -1;
},
init(qurey) {
getTreeAreaDeviceSelect(qurey).then((res) => {
this.tableData = [];
@ -258,8 +287,46 @@ export default {
h("span", " " + column.label),
];
},
intelligenceTypeBtn() {
this.dialogVisible = true;
intelligenceTypeBtn(row) {
this.stdpatrolPointId = row.stdpatrolPointId;
subtypeList().then((res0) => {
if (res0.code == 200) {
algList().then((res1) => {
if (res1.code == 200) {
let list = res1.rows;
list.forEach((item) => {
item.children = [];
item.id = `${item.algId}_${item.algId}`;
res0.rows.forEach((i) => {
i.id = i.algSubtypeId;
if (item.algId == i.algId && item.algName == i.algName) {
item.children.push(i);
}
});
});
this.intelligenceTypeData = list;
this.dialogVisible = true;
this.$nextTick(() => {
if (row.alarmThreshold) {
let data = JSON.parse(row.alarmThreshold);
let idArr = [];
data.forEach((item) => {
idArr.push(item.id.split("_")[1]);
});
idArr.forEach((id) => {
let show = res0.rows.find(
(item) => item.algSubtypeId == id
);
if (show) {
this.$refs.multipleTable.toggleRowSelection(show, true);
}
});
}
});
}
});
}
});
},
// *
addRedStar(h, { column }) {
@ -284,7 +351,14 @@ export default {
});
},
addBtn() {
this.tableData.push({});
if (this.tableData.length < 200) {
this.tableData.push({});
} else {
this.$message({
type: "warning",
message: "最多添加200条数据!",
});
}
},
//
submitForm() {
@ -309,17 +383,51 @@ export default {
}
},
//
handleDelete(row) {
remove(row.stdpatrolPointId).then((res) => {
if (res.code == 200) {
this.$message({
type: "success",
message: "删除成功!",
});
this.initClickList(row);
handleDelete(row, index) {
if (!row.stdpatrolPointId) {
this.tableData.splice(index, 1);
} else {
remove(row.stdpatrolPointId).then((res) => {
if (res.code == 200) {
this.$message({
type: "success",
message: "删除成功!",
});
this.initClickList(row);
}
});
}
return;
},
//
handleSelectionChangeDialog(val) {
this.dialogTableSelect = [];
this.dialogTableSelectName = [];
val.forEach((item) => {
let data = {
id: `sub_${item.algSubtypeId}`,
code: item.algSubtypeCode || "",
upperValue: item.upperValue || "",
lowerValue: item.lowerValue || "",
algSubtypeName: item.algSubtypeName || "",
};
this.dialogTableSelect.push(data);
this.dialogTableSelectName.push(item.algSubtypeName);
});
},
dialogTableOk() {
this.dialogVisible = false;
console.log(this.dialogTableSelect, this.stdpatrolPointId);
this.tableData.forEach((item) => {
if (item.stdpatrolPointId == this.stdpatrolPointId) {
item.alarmThreshold = JSON.stringify(this.dialogTableSelect);
item.algSubtypeName = this.dialogTableSelectName.join(",");
}
});
},
handleClose() {
this.dialogVisible = false;
},
},
};
</script>


+ 146
- 64
src/views/point/site_management.vue View File

@ -34,7 +34,7 @@
</el-alert>
<div class="tableOperate">
<div class="btnBox">
<el-button type="primary" @click="add">{{
<el-button type="primary" @click="add" :disabled="deviceIdShow">{{
$t("share.addTo")
}}</el-button>
<el-button type="danger">{{ $t("share.delete") }}</el-button>
@ -155,9 +155,9 @@
>
<el-option
v-for="item in pointImptLevelData"
:key="item.value"
:label="item.label"
:value="item.value"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
@ -170,9 +170,18 @@
>
<template slot-scope="scope">
<div class="tableXYZ">
<el-input placeholder="x(-20,20)" v-model="scope.row.positionX"></el-input>
<el-input placeholder="y(66)" v-model="scope.row.positionY"></el-input>
<el-input placeholder="z(-6,20)" v-model="scope.row.positionZ"></el-input>
<el-input
placeholder="x(-20,20)"
v-model="scope.row.positionX"
></el-input>
<el-input
placeholder="y(66)"
v-model="scope.row.positionY"
></el-input>
<el-input
placeholder="z(-6,20)"
v-model="scope.row.positionZ"
></el-input>
</div>
</template>
</el-table-column>
@ -205,12 +214,12 @@
size="mini"
type="text"
@click="monitorPointEdit(scope.row)"
>{{ $t("share.new") }}</el-button
>修改</el-button
>
<el-button
size="mini"
type="text"
@click="handleDelete(scope.row)"
@click="handleDelete(scope.row.patrolpointId)"
>{{ $t("share.delete") }}</el-button
>
</template>
@ -222,7 +231,7 @@
<img src="@/assets/images/camera.png" class="cameraImg" />
<div>{{ $t("site_management.ClickOnTheLeftSide") }}</div>
</div>
<el-tabs v-model="activeName" @tab-click="tabsClick" stretch="true">
<el-tabs v-model="activeName" @tab-click="tabsClick" :stretch="true">
<el-tab-pane :label="$t('site_management.tabsOne')" name="first">
<div class="tabsBtn">
<el-button
@ -274,7 +283,7 @@
:before-close="monitorPointHandleClose"
>
<el-form
v-model="monitorPointForm"
:model="monitorPointForm"
label-position="right"
label-width="190px"
style="padding-right: 10%"
@ -283,10 +292,10 @@
>
<el-form-item
:label="$t('site_management.MonitoringPointName')"
prop="MonitoringPointName"
prop="patrolpointName"
>
<el-input
v-model="monitorPointForm.MonitoringPointName"
v-model="monitorPointForm.patrolpointName"
:placeholder="
$t('share.PleaseEnter') +
$t('site_management.MonitoringPointName')
@ -295,10 +304,10 @@
</el-form-item>
<el-form-item
:label="$t('site_management.MonitoringPointNumber')"
prop="MonitoringPointNumber"
prop="patrolpointCode"
>
<el-input
v-model="monitorPointForm.MonitoringPointNumber"
v-model="monitorPointForm.patrolpointCode"
:placeholder="
$t('share.PleaseEnter') +
$t('site_management.MonitoringPointNumber')
@ -307,10 +316,10 @@
</el-form-item>
<el-form-item
:label="$t('site_management.MonitoringContent')"
prop="MonitoringContent"
prop="patrolContent"
>
<el-input
v-model="monitorPointForm.MonitoringContent"
v-model="monitorPointForm.patrolContent"
type="textarea"
maxlength="200"
:placeholder="
@ -318,12 +327,13 @@
"
></el-input>
</el-form-item>
<el-form-item
:label="$t('site_management.InspectionType')"
prop="InspectionType"
prop="patrolTypeId"
>
<el-select
v-model="monitorPointForm.InspectionType"
v-model="monitorPointForm.patrolTypeId"
multiple
filterable
allow-create
@ -334,25 +344,31 @@
style="width: 100%"
>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
v-for="item in InspectionTypeData"
:key="item.patrolTypeId"
:label="item.patrolTypeName"
:value="item.patrolTypeId"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
:label="$t('site_management.ImportantLevel')"
prop="ImportantLevel"
prop="pointImptLevel"
>
<el-select
v-model="monitorPointForm.ImportantLevel"
v-model="monitorPointForm.pointImptLevel"
:placeholder="
$t('share.PleaseChoose') + $t('site_management.ImportantLevel')
"
>
<!-- <el-option label="重要等级" value="重要等级"> </el-option> -->
<el-option
v-for="item in pointImptLevelData"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('site_management.purpose')">
@ -361,12 +377,13 @@
:placeholder="
$t('share.PleaseEnter') + $t('site_management.purpose')
"
disabled
></el-input>
</el-form-item>
<el-form-item :label="$t('site_management.coordinate') + ' x'">
<el-input-number
v-model="monitorPointForm.name"
v-model="monitorPointForm.positionX"
:min="-20"
:max="20"
label=""
@ -376,7 +393,7 @@
</el-form-item>
<el-form-item :label="$t('site_management.coordinate') + ' y'">
<el-input-number
v-model="monitorPointForm.name"
v-model="monitorPointForm.positionY"
:min="66"
:max="80"
label=""
@ -386,7 +403,7 @@
</el-form-item>
<el-form-item :label="$t('site_management.coordinate') + ' z'">
<el-input-number
v-model="monitorPointForm.name"
v-model="monitorPointForm.positionZ"
:min="-6"
:max="20"
label=""
@ -399,7 +416,7 @@
<el-button @click="monitorPointHandleClose">{{
$t("share.cancel")
}}</el-button>
<el-button type="primary" @click="monitorPointHandleClose">{{
<el-button type="primary" @click="submitForm">{{
$t("share.confirm")
}}</el-button>
</span>
@ -811,6 +828,11 @@ import {
getTreeAreaDeviceSelect,
getMonitor,
getPatroltypeList,
pointImptLevel,
postAdd,
edit,
editItem,
postRemove,
} from "@/api/point/site_management";
export default {
@ -832,7 +854,7 @@ export default {
monitorPointDialogVisible: false,
monitorPointForm: {},
rules: {
MonitoringPointName: [
patrolpointName: [
{
required: true,
message:
@ -841,7 +863,7 @@ export default {
trigger: "blur",
},
],
MonitoringPointNumber: [
patrolpointCode: [
{
required: true,
message:
@ -850,7 +872,7 @@ export default {
trigger: "blur",
},
],
MonitoringContent: [
patrolContent: [
{
required: true,
message:
@ -859,7 +881,7 @@ export default {
trigger: "blur",
},
],
InspectionType: [
patrolTypeId: [
{
required: true,
message:
@ -868,7 +890,7 @@ export default {
trigger: "blur",
},
],
ImportantLevel: [
pointImptLevel: [
{
required: true,
message:
@ -879,21 +901,6 @@ export default {
],
},
monitorPointTitle: "添加监控点位",
options: [
{
value: "HTML",
label: "HTML",
},
{
value: "CSS",
label: "CSS",
},
{
value: "JavaScript",
label: "JavaScript",
},
],
bindingMonitorPointTitle: "绑定可见光监控点",
bindingMonitorPointDialogVisible: false,
bindingMonitorPointTableData: [],
@ -936,21 +943,25 @@ export default {
// url: import.meta.env.VITE_APP_BASE_API + "/zhxx/device/import",
},
InspectionTypeData: [],
pointImptLevelData:[
pointImptLevelData: [
{
value: 'I',
label: 'I类'
value: "I",
label: "I类",
},
{
value: 'II',
label: 'II类'
value: "II",
label: "II类",
},
{
value: "III",
label: "III类"
}
]
label: "III类",
},
],
input3: null,
value: null,
deviceIdShow: true,
TreeItem: {},
type: 0,
};
},
mounted() {
@ -964,6 +975,9 @@ export default {
this.InspectionTypeData = res.rows;
}
});
pointImptLevel().then((res) => {
this.pointImptLevelData = res.data;
});
},
methods: {
// *
@ -974,6 +988,14 @@ export default {
];
},
handleNodeClick(data, e) {
this.TreeItem = data;
this.monitorPointForm.areaId = data.areaId;
this.monitorPointForm.deviceId = data.deviceId;
if (data.deviceId) {
this.deviceIdShow = false;
} else {
this.deviceIdShow = true;
}
let obj = {
areaId: data.areaId,
};
@ -981,19 +1003,23 @@ export default {
obj.deviceId = data.deviceId;
}
getMonitor(obj).then((res) => {
console.log(res, 11111111);
if (res.code == 200) {
this.tableData = res.rows;
this.tableData.forEach((item) => {
let id=item.algSubtypeIds.split(",");
item.patrolTypeId = id.map(Number)
});
}
});
},
changeCurrentRow(row) {
this.currentRowId = row.id; // ID
rowStyle(row);
this.rowStyle(row);
},
//
rowStyle({ row }) {
rowStyle(row) {
console.log(row, 1111111111);
if (this.name === row.name) {
return { "background-color": "#F7EDED", cursor: "pointer" };
}
@ -1001,17 +1027,28 @@ export default {
},
tabsClick() {},
add() {
this.type = 0;
this.monitorPointDialogVisible = true;
this.monitorPointTitle = this.$t("site_management.AddMonitoringPoints");
},
monitorPointHandleClose() {
this.monitorPointDialogVisible = false;
},
monitorPointEdit() {
monitorPointEdit(data) {
this.type = 1;
this.monitorPointDialogVisible = true;
this.monitorPointTitle = this.$t(
"site_management.ModifyMonitoringPoints"
);
this.monitorPointForm = data;
// this.tableData.forEach((item) => {
// if (item.patrolpointId == data.patrolpointId) {
// // console.log(item, 11111111111111);
// editItem(item.patrolpointId).then((res) => {
// console.log(res, 111111111);
// });
// }
// });
},
//
bindingMonitorPointClose() {
@ -1066,7 +1103,7 @@ export default {
},
InspectionChangeCurrentRow(row) {
this.currentRowId = row.id; // ID
rowStyle(row);
this.rowStyle(row);
},
/**文件上传中处理 */
handleFileUploadProgress(event, file, fileList) {
@ -1094,6 +1131,51 @@ export default {
console.log(111);
this.upload.open = true;
},
handleClose() {},
//
submitForm() {
this.$refs["ruleForm"].validate((valid) => {
if (valid) {
this.monitorPointForm.patrolTypeId =
this.monitorPointForm.patrolTypeId.toString();
if (this.type == 0) {
postAdd(this.monitorPointForm).then((res) => {
if (res.code == 200) {
this.$message({
type: "success",
message: "添加成功!",
});
this.monitorPointDialogVisible = false;
this.handleNodeClick(this.TreeItem);
}
});
} else {
edit(this.monitorPointForm).then((res) => {
if (res.code == 200) {
this.$message({
type: "success",
message: "修改成功!",
});
this.monitorPointDialogVisible = false;
this.handleNodeClick(this.TreeItem);
}
});
}
}
});
},
//
handleDelete(id) {
postRemove(id).then((res) => {
if (res.code == 200) {
this.$message({
type: "success",
message: "删除成功!",
});
this.handleNodeClick(this.TreeItem);
}
});
},
},
};
</script>


Loading…
Cancel
Save