wangxingyuan 8 months ago
parent
commit
4f0cdbecec
12 changed files with 609 additions and 194 deletions
  1. +25
    -0
      src/api/basedata/patrolpointmnt/patrolpointpreset.js
  2. +8
    -0
      src/api/equipment/entry.js
  3. +30
    -0
      src/api/equipment/equipment.js
  4. +31
    -0
      src/api/equipment/equipment_type.js
  5. +18
    -2
      src/api/point/site_management.js
  6. +1
    -1
      src/views/basedata/bdconfig/mainsystem/index.vue
  7. +1
    -1
      src/views/basedata/eqpbook/channel/index.vue
  8. +171
    -35
      src/views/basedata/patrolpointmnt/patrolpointpreset/index.vue
  9. +83
    -34
      src/views/equipment/entry.vue
  10. +96
    -30
      src/views/equipment/equipment.vue
  11. +131
    -91
      src/views/equipment/equipment_type.vue
  12. +14
    -0
      src/views/point/site_management.vue

+ 25
- 0
src/api/basedata/patrolpointmnt/patrolpointpreset.js View File

@ -0,0 +1,25 @@
import request from '@/utils/request';
// 初始化list
export function getList(query) {
return request({
url: '/basedata/patrolpointmnt/patrolpointpreset/list',
method: 'get',
params: query
})
}
// 巡检点位
export function patrolpoint_list(query) {
return request({
url: 'basedata/patrolpointmnt/patrolpoint/list',
method: 'get',
params: query
})
}
// 新增
export function postAdd(query) {
return request({
url: '/basedata/patrolpointmnt/patrolpointpreset',
method: 'post',
data: query
})
}

+ 8
- 0
src/api/equipment/entry.js View File

@ -39,3 +39,11 @@ export function deviceRemove(id) {
method: 'post', method: 'post',
}) })
} }
// 修改
export function deviceEdit(data) {
return request({
url: `/basedata/prodevmnt/device/edit`,
method: 'post',
data: data
})
}

+ 30
- 0
src/api/equipment/equipment.js View File

@ -37,4 +37,34 @@ export function getEqpbook(query) {
url: `/basedata/eqpbook/${query}`, url: `/basedata/eqpbook/${query}`,
method: 'get', method: 'get',
}) })
}
// 设备来源
export function use_mode(query) {
return request({
url: `/system/dict/data/type/use_mode`,
method: 'get',
})
}
// 视频类型
export function video_mode(query) {
return request({
url: `/system/dict/data/type/video_mode`,
method: 'get',
})
}
// 新增
export function eqpbook(query) {
return request({
url: `/basedata/eqpbook`,
method: 'post',
data: query
})
}
// 编辑
export function edit(query) {
return request({
url: `/basedata/eqpbook/edit`,
method: 'post',
data: query
})
} }

+ 31
- 0
src/api/equipment/equipment_type.js View File

@ -5,4 +5,35 @@ export function getProDeviceTypeTreeSelect(query) {
method: 'get', method: 'get',
// params: query // params: query
}) })
}
//所属专业
export function profession_type(query) {
return request({
url: '/system/dict/data/type/profession_type',
method: 'get',
// params: query
})
}
// 修改
export function update(query) {
return request({
url: '/basedata/devicetype/update',
method: 'post',
data: query
})
}
// 删除
export function remove(query) {
return request({
url: `/basedata/devicetype/delete/${query}`,
method: 'post',
})
}
// 新增
export function add(query) {
return request({
url: '/basedata/devicetype/add',
method: 'post',
data: query
})
} }

+ 18
- 2
src/api/point/site_management.js View File

@ -35,7 +35,7 @@ export function postAdd(query) {
return request({ return request({
url: `/basedata/patrolpointmnt/patrolpoint`, url: `/basedata/patrolpointmnt/patrolpoint`,
method: 'post', method: 'post',
data:query
data: query
}) })
} }
@ -44,7 +44,7 @@ export function edit(query) {
return request({ return request({
url: `/basedata/patrolpointmnt/patrolpoint/edit`, url: `/basedata/patrolpointmnt/patrolpoint/edit`,
method: 'post', method: 'post',
data:query
data: query
}) })
} }
export function editItem(id) { export function editItem(id) {
@ -61,4 +61,20 @@ export function postRemove(id) {
method: 'POST', method: 'POST',
// data:query // data:query
}) })
}
// 设置智能识别类型
export function subtypeList(id) {
return request({
url: `/basedata/subtype/list`,
method: 'get',
// data:query
})
}
export function algList(id) {
return request({
url: `/basedata/alg/list`,
method: 'get',
// data:query
})
} }

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

@ -153,7 +153,7 @@
}}</el-button> }}</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="warning" icon="el-icon-download" plain size="mini">{{
<el-button type="warning" icon="el-icon-download" plain size="mini" @click="handleExport">{{
$t("share.export") $t("share.export")
}}</el-button> }}</el-button>
</el-col> </el-col>


+ 1
- 1
src/views/basedata/eqpbook/channel/index.vue View File

@ -115,7 +115,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="patroldeviceName"
prop="eqpbookName"
:label="$t('channel.device')" :label="$t('channel.device')"
align="center" align="center"
> >


+ 171
- 35
src/views/basedata/patrolpointmnt/patrolpointpreset/index.vue View File

@ -68,7 +68,7 @@
>{{ $t("share.new") }}</el-button >{{ $t("share.new") }}</el-button
> >
</el-col> </el-col>
<el-col :span="1.5">
<!-- <el-col :span="1.5">
<el-button <el-button
type="success" type="success"
icon="el-icon-edit" icon="el-icon-edit"
@ -77,16 +77,21 @@
@click="handleEdit" @click="handleEdit"
>{{ $t("share.edit") }}</el-button >{{ $t("share.edit") }}</el-button
> >
</el-col>
</el-col> -->
<el-col :span="1.5"> <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">{{
$t("share.delete") $t("share.delete")
}}</el-button> }}</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <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-col>
</el-row> </el-row>
<el-table :data="tableData" style="width: 100%; margin-bottom: 20px"> <el-table :data="tableData" style="width: 100%; margin-bottom: 20px">
@ -143,32 +148,37 @@
:total="total" :total="total"
:page.sync="queryParams.pageNum" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@pagination="init"
/> />
<el-dialog <el-dialog
:title="title" :title="title"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
width="30%" width="30%"
:before-close="handleClose" :before-close="handleClose"
ref="ruleForm"
> >
<el-form v-model="dialogForm" :rules="rules" ref="ruleForm">
<el-form :model="dialogForm" :rules="rules" ref="ruleForm">
<el-form-item :label="$t('patrolpointpreset.ParentPointID')"> <el-form-item :label="$t('patrolpointpreset.ParentPointID')">
<span class="fatherID" @click="fatherIDFn">{{ fatherID }}</span>
<span class="fatherID" @click="fatherIDFn">{{
dialogForm.patrolpointId || fatherID
}}</span>
<i <i
class="el-icon-close" class="el-icon-close"
style="color: red; cursor: pointer; margin-left: 5px" style="color: red; cursor: pointer; margin-left: 5px"
></i> ></i>
</el-form-item> </el-form-item>
<el-form-item :label="$t('patrolpointpreset.ParentPointCode')"> <el-form-item :label="$t('patrolpointpreset.ParentPointCode')">
<span>{{ fatherID }}</span>
<span>{{ dialogForm.patrolpointCode }}</span>
</el-form-item> </el-form-item>
<el-form-item :label="$t('patrolpointpreset.ParentPointName')"> <el-form-item :label="$t('patrolpointpreset.ParentPointName')">
<span>{{ fatherID }}</span>
<span>{{ dialogForm.patrolpointName }}</span>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
:label="$t('patrolpointpreset.InspectionEquipmentID')" :label="$t('patrolpointpreset.InspectionEquipmentID')"
prop="InspectionEquipmentID"
prop="eqpbookId"
> >
<el-input <el-input
v-model="dialogForm.eqpbookId"
:placeholder=" :placeholder="
$t('share.PleaseEnter') + $t('share.PleaseEnter') +
' ' + ' ' +
@ -178,6 +188,7 @@
</el-form-item> </el-form-item>
<el-form-item :label="$t('patrolpointpreset.ChannelNumber')"> <el-form-item :label="$t('patrolpointpreset.ChannelNumber')">
<el-input <el-input
v-model="dialogForm.channelId"
:placeholder=" :placeholder="
$t('share.PleaseEnter') + $t('share.PleaseEnter') +
' ' + ' ' +
@ -187,6 +198,7 @@
</el-form-item> </el-form-item>
<el-form-item :label="$t('patrolpointpreset.PresetPointNumber')"> <el-form-item :label="$t('patrolpointpreset.PresetPointNumber')">
<el-input <el-input
v-model="dialogForm.presetCode"
:placeholder=" :placeholder="
$t('share.PleaseEnter') + $t('share.PleaseEnter') +
' ' + ' ' +
@ -196,6 +208,7 @@
</el-form-item> </el-form-item>
<el-form-item :label="$t('patrolpointpreset.PresetPointName')"> <el-form-item :label="$t('patrolpointpreset.PresetPointName')">
<el-input <el-input
v-model="dialogForm.presetName"
:placeholder=" :placeholder="
$t('share.PleaseEnter') + $t('share.PleaseEnter') +
' ' + ' ' +
@ -205,10 +218,8 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <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") $t("share.confirm")
}}</el-button> }}</el-button>
</span> </span>
@ -217,12 +228,13 @@
:title="tableTitle" :title="tableTitle"
:visible.sync="tableDialogVisible" :visible.sync="tableDialogVisible"
width="60%" width="60%"
:before-close="handleClose"
:before-close="tableDialogHandleClose"
append-to-body append-to-body
> >
<el-form v-model="dialogForm" :inline="true">
<el-form v-model="tableDialogForm" :inline="true">
<el-form-item :label="$t('patrolpointpreset.PointCode')"> <el-form-item :label="$t('patrolpointpreset.PointCode')">
<el-input <el-input
v-model="tableDialogForm.patrolpointCode"
:placeholder=" :placeholder="
$t('share.PleaseEnter') + ' ' + $t('patrolpointpreset.PointCode') $t('share.PleaseEnter') + ' ' + $t('patrolpointpreset.PointCode')
" "
@ -230,6 +242,7 @@
</el-form-item> </el-form-item>
<el-form-item :label="$t('patrolpointpreset.PointName')"> <el-form-item :label="$t('patrolpointpreset.PointName')">
<el-input <el-input
v-model="tableDialogForm.patrolpointName"
:placeholder=" :placeholder="
$t('share.PleaseEnter') + ' ' + $t('patrolpointpreset.PointName') $t('share.PleaseEnter') + ' ' + $t('patrolpointpreset.PointName')
" "
@ -239,70 +252,100 @@
<el-button <el-button
type="primary" type="primary"
icon="el-icon-search" icon="el-icon-search"
@click="handleQuery"
@click="tableDialogHandleQuery"
size="mini" size="mini"
>{{ $t("share.search") }}</el-button >{{ $t("share.search") }}</el-button
> >
<el-button icon="el-icon-refresh" @click="resetQuery" size="mini">{{
$t("share.reset")
}}</el-button>
<el-button
icon="el-icon-refresh"
@click="tableDialogResetQuery"
size="mini"
>{{ $t("share.reset") }}</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table :data="tableData" style="width: 100%; margin-bottom: 20px">
<el-table
:data="dialogTableData"
style="width: 100%; margin-bottom: 20px"
height="500px"
:row-style="rowStyle"
@row-click="changeCurrentRow"
>
<el-table-column type="index" width="55" align="center" /> <el-table-column type="index" width="55" align="center" />
<el-table-column <el-table-column
:label="$t('patrolpointpreset.PointCode')" :label="$t('patrolpointpreset.PointCode')"
prop="name"
prop="patrolpointCode"
align="center" align="center"
/> />
<el-table-column <el-table-column
:label="$t('patrolpointpreset.PointName')" :label="$t('patrolpointpreset.PointName')"
prop="name"
prop="patrolpointName"
align="center" align="center"
/> />
<el-table-column <el-table-column
:label="$t('patrolpointpreset.IntelligentRecognitionType')" :label="$t('patrolpointpreset.IntelligentRecognitionType')"
prop="name"
prop="algSubtypeName"
align="center" align="center"
/>
>
<template slot-scope="scope">
{{ scope.row.algSubtypeName || "无法设置阈值" }}
</template>
</el-table-column>
<el-table-column <el-table-column
:label="$t('patrolpointpreset.InspectionContent')" :label="$t('patrolpointpreset.InspectionContent')"
prop="name"
prop="patrolContent"
align="center" align="center"
/> />
<el-table-column <el-table-column
:label="$t('patrolpointpreset.purpose')" :label="$t('patrolpointpreset.purpose')"
prop="name"
prop="purpose"
align="center" align="center"
/> />
</el-table> </el-table>
<pagination <pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
v-show="tableDialogFormTotal > 0"
:total="tableDialogFormTotal"
:page.sync="tableDialogForm.pageNum"
:limit.sync="tableDialogForm.pageSize"
@pagination="patrolpointList"
/> />
<span slot="footer" class="dialog-footer">
<el-button @click="tableDialogHandleClose()">{{
$t("share.cancel")
}}</el-button>
<el-button type="primary" @click="tableDialogVisibleBtn()">{{
$t("share.confirm")
}}</el-button>
</span>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import {
getList,
patrolpoint_list,
postAdd,
} from "@/api/basedata/patrolpointmnt/patrolpointpreset";
export default { export default {
data() { data() {
return { return {
queryParams: {},
queryParams: {
pageNum: 1,
pageSize: 10,
},
tableData: [], tableData: [],
total: 10, total: 10,
dialogVisible: false, dialogVisible: false,
title: this.$t("patrolpointpreset.AddPresetInspectionPoints"), title: this.$t("patrolpointpreset.AddPresetInspectionPoints"),
dialogForm: {}, dialogForm: {},
fatherID: "1111",
fatherID: "选择",
tableTitle: this.$t( tableTitle: this.$t(
"patrolpointpreset.EditInspectionPointPresetPositions" "patrolpointpreset.EditInspectionPointPresetPositions"
), ),
tableDialogVisible: false, tableDialogVisible: false,
rules: { rules: {
InspectionEquipmentID: [
eqpbookId: [
{ {
required: true, required: true,
message: message:
@ -313,15 +356,35 @@ export default {
}, },
], ],
}, },
dialogTableData: [],
deviceId: null, // ID
deviceItem: null,
type: 0,
tableDialogForm: {
pageNum: 1,
pageSize: 10,
},
tableDialogFormTotal:10
}; };
}, },
mounted() {},
mounted() {
this.init();
},
methods: { methods: {
init() {
getList(this.queryParams).then((res) => {
if (res.code == 200) {
this.tableData = res.rows;
}
});
},
add() { add() {
this.dialogVisible = true; this.dialogVisible = true;
this.type = 0;
this.title = this.$t("patrolpointpreset.AddPresetInspectionPoints"); this.title = this.$t("patrolpointpreset.AddPresetInspectionPoints");
}, },
handleEdit() { handleEdit() {
this.type = 1;
this.dialogVisible = true; this.dialogVisible = true;
this.title = this.$t( this.title = this.$t(
"patrolpointpreset.EditInspectionPointPresetPositions" "patrolpointpreset.EditInspectionPointPresetPositions"
@ -329,7 +392,80 @@ export default {
}, },
fatherIDFn() { fatherIDFn() {
this.tableDialogVisible = true; this.tableDialogVisible = true;
this.patrolpointList();
},
patrolpointList() {
patrolpoint_list(this.tableDialogForm).then((res) => {
if (res.code == 200) {
this.dialogTableData = res.rows;
this.tableDialogFormTotal = res.total;
}
});
}, },
tableDialogVisibleBtn() {
this.dialogForm = {
patrolpointName: this.deviceItem.patrolpointName,
patrolpointCode: this.deviceItem.patrolpointCode,
patrolpointId: this.deviceItem.patrolpointId,
};
this.tableDialogVisible = false;
},
rowStyle({ row }) {
// return
if (this.deviceId === row.deviceId) {
return {
"background-color": "rgb(94, 180, 251)",
}; //
}
return {};
},
changeCurrentRow(row) {
this.deviceId = row.deviceId; // ID
this.deviceItem = row;
},
//
submitForm(ruleForm) {
this.$refs[ruleForm].validate((v) => {
if (v) {
console.log(this.dialogForm, 111111111);
if (this.type == 0) {
postAdd(this.dialogForm).then((res) => {
if (res.code == 200) {
this.$message({
type: "success",
message: "添加成功",
});
this.dialogVisible = false;
this.init();
}
});
} else {
//
}
}
});
},
handleQuery() {},
resetQuery() {},
handleClose() {
this.dialogVisible = false;
},
tableDialogHandleQuery() {
console.log(this.tableDialogForm)
this.patrolpointList()
// patrolpoint_list(this.tableDialogForm).then((res) => {
// if (res.code == 200) {
// this.dialogTableData = res.rows;
// this.tableDialogFormTotal = res.total;
// }
// });
},
tableDialogResetQuery() {},
tableDialogHandleClose() {
this.tableDialogVisible = false;
},
handleExport() {},
}, },
}; };
</script> </script>


+ 83
- 34
src/views/equipment/entry.vue View File

@ -34,7 +34,7 @@
:content="$t('share.export')" :content="$t('share.export')"
placement="top-start" placement="top-start"
> >
<i class="el-icon-download"></i>
<i class="el-icon-download" @click="handleExport"></i>
</el-tooltip> </el-tooltip>
<el-tooltip <el-tooltip
class="item" class="item"
@ -55,6 +55,7 @@
:props="defaultProps" :props="defaultProps"
@node-click="handleNodeClick" @node-click="handleNodeClick"
ref="tree" ref="tree"
default-expand-all
> >
<span slot-scope="{ node, data }" class="slot-node"> <span slot-scope="{ node, data }" class="slot-node">
<template> <template>
@ -104,12 +105,13 @@
<el-select <el-select
v-model="form.devicetypeId" v-model="form.devicetypeId"
:placeholder="$t('share.PleaseEnter') + $t('entry.DeviceType')" :placeholder="$t('share.PleaseEnter') + $t('entry.DeviceType')"
:disabled="disabled"
> >
<el-option <el-option
:label="item.deviceTypeName"
:value="item.deviceTypeId"
:label="item.devicetypeName"
:value="item.devicetypeId"
v-for="item in deviceTypeData" v-for="item in deviceTypeData"
:key="item.deviceTypeId"
:key="item.devicetypeId"
></el-option> ></el-option>
<!-- deviceTypeData --> <!-- deviceTypeData -->
</el-select> </el-select>
@ -128,7 +130,7 @@
$t("entry.EquipmentNumberPrompt") $t("entry.EquipmentNumberPrompt")
}}</span> }}</span>
</el-form-item> </el-form-item>
<el-form-item :label="$t('entry.DisplaySorting')">
<el-form-item :label="$t('entry.DisplaySorting')" prop="orderNum">
<el-input-number <el-input-number
v-model="form.orderNum" v-model="form.orderNum"
controls-position="right" controls-position="right"
@ -177,8 +179,9 @@
:step="0.1" :step="0.1"
></el-input-number> ></el-input-number>
<span class="number-title" <span class="number-title"
>({{ $t("entry.suggestion")+" " + $t("entry.minimumValue") }}-20
{{ $t("entry.minimumValue") }}20 )</span
>({{
$t("entry.suggestion") + " " + $t("entry.minimumValue")
}}-20 {{ $t("entry.minimumValue") }}20 )</span
> >
</el-form-item> </el-form-item>
<!-- 建议最小值-20最大值20 --> <!-- 建议最小值-20最大值20 -->
@ -201,8 +204,9 @@
:step="0.1" :step="0.1"
></el-input-number> ></el-input-number>
<span class="number-title" <span class="number-title"
>({{ $t("entry.suggestion")+" " + $t("entry.minimumValue") }}-6
{{ $t("entry.minimumValue") }}20 )</span
>({{
$t("entry.suggestion") + " " + $t("entry.minimumValue")
}}-6 {{ $t("entry.minimumValue") }}20 )</span
> >
</el-form-item> </el-form-item>
@ -225,6 +229,7 @@ import {
deviceQuery, deviceQuery,
insertMainDeviceAndCommByDeviceType, insertMainDeviceAndCommByDeviceType,
deviceRemove, deviceRemove,
deviceEdit
} from "@/api/equipment/entry"; } from "@/api/equipment/entry";
export default { export default {
name: "entry", name: "entry",
@ -279,15 +284,24 @@ export default {
trigger: "blur", trigger: "blur",
}, },
], ],
orderNum:[
{
required: true,
message:"请输入排序",
trigger: "blur",
},
]
}, },
type: 0,
disabled: false,
}; };
}, },
mounted() { mounted() {
this.init(); this.init();
devicetypeList().then((res) => { devicetypeList().then((res) => {
console.log(res);
console.log(res, 111);
if (res.code == 200) { if (res.code == 200) {
let arr = res.data.filter((item) => item.deviceTypeId !== 1);
let arr = res.data.filter((item) => item.devicetypeName !== '设备类型');
this.deviceTypeData = arr; this.deviceTypeData = arr;
} }
}); });
@ -301,10 +315,9 @@ export default {
}); });
}, },
handleNodeClick(data, e) { handleNodeClick(data, e) {
console.log(data, e);
this.deviceId = data.deviceId; this.deviceId = data.deviceId;
this.titleName = data.areaName || data.deviceName; this.titleName = data.areaName || data.deviceName;
// this.form.boolAdd = 1;
this.disabled=true;
(this.form.parentName = data.areaName), (this.form.areaId = data.areaId); (this.form.parentName = data.areaName), (this.form.areaId = data.areaId);
if (data.areaName) { if (data.areaName) {
@ -317,15 +330,17 @@ export default {
this.deleteIcon = false; this.deleteIcon = false;
this.addIcon = true; this.addIcon = true;
deviceQuery(data.deviceId).then((res) => { deviceQuery(data.deviceId).then((res) => {
console.log(res, 1111);
if (res.code == 200) { if (res.code == 200) {
// this.form=res.data;
this.type = 1;
this.form = res.data;
} }
}); });
} }
}, },
add() { add() {
this.show = true; this.show = true;
this.type = 0;
this.disabled=false;
}, },
remove() { remove() {
this.$confirm("是否确定删除", "系统提示", { this.$confirm("是否确定删除", "系统提示", {
@ -348,28 +363,62 @@ export default {
onSubmit() { onSubmit() {
this.$refs["ruleForm"].validate((v) => { this.$refs["ruleForm"].validate((v) => {
if (v) { if (v) {
insertMainDeviceAndCommByDeviceType(this.form).then((res) => {
if (res.code == 200) {
this.$message({
type: "success",
message: "新增成功",
});
// this.show = false;
this.form = {
orderNum: 0,
positionX: 0,
positionY: 66,
positionZ: 0,
handerType: 0,
boolAdd: 1,
deviceId: "",
};
this.init();
}
});
if (this.type == 0) {
insertMainDeviceAndCommByDeviceType(this.form).then((res) => {
if (res.code == 200) {
this.$message({
type: "success",
message: "新增成功",
});
this.form={}
this.form = {
orderNum: 0,
positionX: 0,
positionY: 66,
positionZ: 0,
handerType: 0,
boolAdd: 1,
deviceId: "",
};
this.init();
}
});
} else {
// this.form.handerType=2;
// this.form.updateTime=null;
deviceEdit(this.form).then(res=>{
if(res.code==200){
this.$message({
type: "success",
message: "编辑成功",
});
this.form={}
this.form = {
orderNum: 0,
positionX: 0,
positionY: 66,
positionZ: 0,
handerType: 0,
boolAdd: 1,
}
this.init();
}
})
}
this.show = false;
} }
}); });
}, },
//
handleExport() {
this.download(
"/basedata/prodevmnt/device/export",
{
...this.queryParams,
},
`entry_${new Date().getTime()}.xlsx`
);
},
}, },
}; };
</script> </script>


+ 96
- 30
src/views/equipment/equipment.vue View File

@ -67,7 +67,7 @@
icon="el-icon-edit" icon="el-icon-edit"
size="mini" size="mini"
:disabled="single" :disabled="single"
@click="handleEdit(null,0)"
@click="handleEdit(null, 0)"
>{{ $t("share.edit") }}</el-button >{{ $t("share.edit") }}</el-button
> >
</el-col> </el-col>
@ -83,13 +83,9 @@
> >
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button
plain
icon="el-icon-upload2"
size="mini"
@click="handleExport"
>{{ $t("share.import") }}</el-button
>
<el-button plain icon="el-icon-upload2" size="mini">{{
$t("share.import")
}}</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@ -102,9 +98,14 @@
> >
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-upload" size="mini" :disabled="uploadBtn">{{
$t("equipment.ModelSynchronization")
}}</el-button>
<el-button
type="primary"
plain
icon="el-icon-upload"
size="mini"
:disabled="uploadBtn"
>{{ $t("equipment.ModelSynchronization") }}</el-button
>
</el-col> </el-col>
</el-row> </el-row>
<el-table <el-table
@ -328,10 +329,10 @@
@click="handleDelete(scope.row.eqpbookId)" @click="handleDelete(scope.row.eqpbookId)"
>{{ $t("share.delete") }}</el-button >{{ $t("share.delete") }}</el-button
> >
<el-button size="mini" type="text" icon="el-icon-s-promotion">{{
<el-button size="mini" type="text" icon="el-icon-s-promotion" @click="goToAboutPage(scope.row.eqpbookId)">{{
$t("equipment.thoroughfare") $t("equipment.thoroughfare")
}}</el-button> }}</el-button>
<el-button size="mini" type="text" icon="el-icon-upload">{{
<el-button size="mini" type="text" icon="el-icon-upload" @click="uploadImg">{{
$t("equipment.uploadPictures") $t("equipment.uploadPictures")
}}</el-button> }}</el-button>
</template> </template>
@ -386,7 +387,7 @@
<el-col span="8"> <el-col span="8">
<el-form-item :label="$t('equipment.EquipmentName')"> <el-form-item :label="$t('equipment.EquipmentName')">
<el-input <el-input
v-model="dialogForm.type"
v-model="dialogForm.patroldeviceName"
:placeholder=" :placeholder="
$t('share.PleaseEnter') + $t('equipment.EquipmentName') $t('share.PleaseEnter') + $t('equipment.EquipmentName')
" "
@ -496,8 +497,8 @@
" "
style="display: block; width: 100%" style="display: block; width: 100%"
> >
<!-- <el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option> -->
<el-option label="是" value="1"></el-option>
<el-option label="否" value="0"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -513,8 +514,12 @@
" "
style="display: block; width: 100%" style="display: block; width: 100%"
> >
<!-- <el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option> -->
<el-option
:label="item.dictLabel"
:value="item.dictValue"
v-for="item in useModeData"
:key="item.dictValue"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -527,8 +532,13 @@
" "
style="display: block; width: 100%" style="display: block; width: 100%"
> >
<!-- <el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option> -->
<el-option
:label="item.dictLabel"
:value="item.dictValue"
v-for="item in videoModeData"
:key="item.dictValue"
></el-option>
<!-- <el-option label="区域二" value="beijing"></el-option> -->
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -652,10 +662,8 @@
</el-row> </el-row>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="dialogVisible = false"
> </el-button
>
<el-button @click="handleClose"> </el-button>
<el-button type="primary" @click="onSubmit"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
@ -668,6 +676,10 @@ import {
getTreeselect, getTreeselect,
postRemove, postRemove,
getEqpbook, getEqpbook,
use_mode,
video_mode,
eqpbook,
edit,
} from "@/api/equipment/equipment"; } from "@/api/equipment/equipment";
import Treeselect from "@riophae/vue-treeselect"; import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css"; import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@ -695,7 +707,10 @@ export default {
ids: [], ids: [],
single: true, single: true,
multiple: true, multiple: true,
uploadBtn:true,
uploadBtn: true,
useModeData: [],
videoModeData: [],
type: 0,
}; };
}, },
mounted() { mounted() {
@ -706,6 +721,16 @@ export default {
this.areaNameOptions = res.data; this.areaNameOptions = res.data;
} }
}); });
use_mode().then((res) => {
if (res.code == 200) {
this.useModeData = res.data;
}
});
video_mode().then((res) => {
if (res.code == 200) {
this.videoModeData = res.data;
}
});
}, },
methods: { methods: {
init() { init() {
@ -731,7 +756,9 @@ export default {
this.dialogVisible = false; this.dialogVisible = false;
}, },
handleAdd() { handleAdd() {
this.dialogForm = {};
this.dialogVisible = true; this.dialogVisible = true;
this.type = 0;
}, },
// //
handleQuery() { handleQuery() {
@ -747,11 +774,14 @@ export default {
this.init(); this.init();
}, },
typeFn(type) { typeFn(type) {
for (let i = 0; i <= this.deviceTypeOptions.length; i++) {
if (this.deviceTypeOptions[i].dictValue == type) {
return this.deviceTypeOptions[i].dictLabel;
console.log(type, 111111);
let src = null;
this.deviceTypeOptions.forEach((item) => {
if (item.dictValue == type) {
return (src = item.dictLabel);
} }
}
});
return src;
}, },
// //
handleDelete(eqpbookId) { handleDelete(eqpbookId) {
@ -807,7 +837,8 @@ export default {
} }
}, },
// //
handleEdit(id=null,type) {
handleEdit(id = null, type) {
this.dialogForm = {};
if (type == 0) { if (type == 0) {
let eqpbookId = this.ids[0]; let eqpbookId = this.ids[0];
this.getEqpbookFn(eqpbookId); this.getEqpbookFn(eqpbookId);
@ -823,6 +854,41 @@ export default {
} }
}); });
}, },
//
onSubmit() {
if (this.type == 0) {
//
eqpbook(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() {},
goToAboutPage(id){
this.$router.push('/basedata/eqpbook/channel')
},
//
uploadImg(){}
}, },
}; };
</script> </script>


+ 131
- 91
src/views/equipment/equipment_type.vue View File

@ -3,8 +3,8 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="5"> <el-col :span="5">
<div class="operate-left"> <div class="operate-left">
<i class="el-icon-plus" @click="add"></i>
<i class="el-icon-delete"></i>
<i class="el-icon-plus" @click="addBtn"></i>
<i class="el-icon-delete" @click="handleDelete"></i>
</div> </div>
<el-input <el-input
:placeholder="$t('equipment_type.EnterKeywordsForFiltering')" :placeholder="$t('equipment_type.EnterKeywordsForFiltering')"
@ -16,7 +16,7 @@
:props="defaultProps" :props="defaultProps"
@node-click="handleNodeClick" @node-click="handleNodeClick"
> >
<span slot-scope="{ node, data }" class="slot-node">
<!-- <span slot-scope="{ node, data }" class="slot-node">
<template> <template>
<i <i
class="el-icon-box" class="el-icon-box"
@ -33,33 +33,26 @@
></i> ></i>
<span>{{ node.label }}</span> <span>{{ node.label }}</span>
</template> </template>
</span>
</span> -->
</el-tree> </el-tree>
</div> </div>
</el-col> </el-col>
<el-col :span="19"> <el-col :span="19">
<div class="right"> <div class="right">
<el-button
type="primary"
@click="add"
v-if="!show && (type == 0 || type == 1)"
>{{ $t("equipment_type.AddDevice") }}</el-button
>
<i
class="el-icon-close closeBtn"
v-if="show && type == 0"
@click="close"
></i>
<el-button type="primary" @click="addBtn" v-if="!show">{{
$t("equipment_type.AddDevice")
}}</el-button>
<i class="el-icon-close closeBtn" v-if="show" @click="close"></i>
<div v-if="show"> <div v-if="show">
<div class="right-title">{{ rightTitle }}</div> <div class="right-title">{{ rightTitle }}</div>
<el-form :model="formData" :rules="rules" ref="ruleForm"> <el-form :model="formData" :rules="rules" ref="ruleForm">
<el-form-item <el-form-item
:label="$t('equipment_type.EquipmentTypeName')" :label="$t('equipment_type.EquipmentTypeName')"
prop="EquipmentTypeName"
prop="devicetypeName"
> >
<el-input <el-input
v-model="formData.EquipmentTypeName"
v-model="formData.devicetypeName"
:placeholder=" :placeholder="
$t('share.PleaseEnter') + $t('share.PleaseEnter') +
$t('equipment_type.EnterKeywordsForFiltering') $t('equipment_type.EnterKeywordsForFiltering')
@ -68,10 +61,10 @@
</el-form-item> </el-form-item>
<el-form-item <el-form-item
:label="$t('equipment_type.EquipmentCategoryNumber')" :label="$t('equipment_type.EquipmentCategoryNumber')"
prop="EquipmentCategoryNumber"
prop="devicetypeCode"
> >
<el-input <el-input
v-model="formData.EquipmentCategoryNumber"
v-model="formData.devicetypeCode"
:placeholder=" :placeholder="
$t('share.PleaseEnter') + $t('share.PleaseEnter') +
$t('equipment_type.EquipmentCategoryNumber') $t('equipment_type.EquipmentCategoryNumber')
@ -80,22 +73,32 @@
</el-form-item> </el-form-item>
<el-form-item <el-form-item
:label="$t('equipment_type.ProfessionalAffiliation')" :label="$t('equipment_type.ProfessionalAffiliation')"
prop="ProfessionalAffiliation"
prop="professionType"
> >
<el-input
v-model="formData.ProfessionalAffiliation"
<!-- <el-input
v-model="formData.professionTypeData"
:placeholder=" :placeholder="
$t('share.PleaseEnter') + $t('share.PleaseEnter') +
$t('equipment_type.ProfessionalAffiliation') $t('equipment_type.ProfessionalAffiliation')
" "
></el-input>
></el-input> -->
<el-select
v-model="formData.professionType"
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="item in professionTypeData"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item
:label="$t('equipment_type.NumberOfPhases')"
v-if="type !== 0 && type !== 1"
>
<el-radio-group v-model="formData.resource">
<el-form-item :label="$t('equipment_type.NumberOfPhases')">
<el-radio-group v-model="formData.phaseNum">
<el-radio <el-radio
:label="$t('equipment_type.NoPhaseNumber')" :label="$t('equipment_type.NoPhaseNumber')"
></el-radio> ></el-radio>
@ -108,12 +111,12 @@
<el-form-item <el-form-item
:label="$t('equipment_type.Farewell')" :label="$t('equipment_type.Farewell')"
v-if="type !== 0 && type !== 1"
v-if="formData.phaseNum == '单相'"
> >
<el-radio-group v-model="formData.resource">
<el-radio
<el-radio-group v-model="formData.phase">
<!-- <el-radio
:label="$t('equipment_type.NoPhaseNumber')" :label="$t('equipment_type.NoPhaseNumber')"
></el-radio>
></el-radio> -->
<el-radio label="A"></el-radio> <el-radio label="A"></el-radio>
<el-radio label="B"></el-radio> <el-radio label="B"></el-radio>
<el-radio label="C"></el-radio> <el-radio label="C"></el-radio>
@ -133,39 +136,18 @@
</template> </template>
<script> <script>
import { getProDeviceTypeTreeSelect } from "@/api/equipment/equipment_type";
import {
getProDeviceTypeTreeSelect,
profession_type,
update,
remove,
add,
} from "@/api/equipment/equipment_type";
export default { export default {
name: "equipment_type", name: "equipment_type",
data() { data() {
return { return {
treeData: [
{
label: "一级 1",
type: 1,
children: [
{
label: "二级 1-1",
type: 2,
children: [
{
label: "三级 1-1-1",
type: 3,
children: [
{
label: "四级 1-1-1-1",
type: 4,
},
{
label: "四级 1-1-1-2",
type: 4,
},
],
},
],
},
],
},
],
treeData: [],
defaultProps: { defaultProps: {
children: "children", children: "children",
label: "devicetypeName", label: "devicetypeName",
@ -176,62 +158,73 @@ export default {
show: false, show: false,
type: 0, type: 0,
rules: { rules: {
EquipmentTypeName: [
devicetypeName: [
{ {
required: true, required: true,
message: message:
this.$t("share.PleaseEnter") + this.$t("share.EquipmentTypeName"),
this.$t("share.PleaseEnter") +
this.$t("equipment_type.EquipmentTypeName"),
trigger: "blur", trigger: "blur",
}, },
], ],
EquipmentCategoryNumber: [
devicetypeCode: [
{ {
required: true, required: true,
message: message:
this.$t("share.PleaseEnter") + this.$t("share.PleaseEnter") +
this.$t("share.EquipmentCategoryNumber"),
this.$t("equipment_type.EquipmentCategoryNumber"),
trigger: "blur", trigger: "blur",
}, },
], ],
ProfessionalAffiliation: [
professionType: [
{ {
required: true, required: true,
message: message:
this.$t("share.PleaseEnter") + this.$t("share.PleaseEnter") +
this.$t("share.ProfessionalAffiliation"),
trigger: "blur",
this.$t("equipment_type.ProfessionalAffiliation"),
trigger: "change",
}, },
], ],
}, },
professionTypeData: [],
}; };
}, },
mounted() { mounted() {
getProDeviceTypeTreeSelect().then((res) => {
if (res.code == 200) {
this.treeData = res.data;
this.$message({
message: "查询成功",
type: "success",
});
}
});
this.init();
}, },
methods: { methods: {
init() {
getProDeviceTypeTreeSelect().then((res) => {
if (res.code == 200) {
this.treeData = res.data;
this.$message({
message: "查询成功",
type: "success",
});
}
});
profession_type().then((res) => {
if (res.code == 200) {
this.professionTypeData = res.data;
}
});
},
handleNodeClick(data) { handleNodeClick(data) {
console.log(data.type);
this.type = data.type;
if (data.type == 0) {
console.log(data);
// this.type = data.type;
if (data.devicetypeId == 1) {
this.rightTitle = this.$t("equipment_type.AddDevice"); this.rightTitle = this.$t("equipment_type.AddDevice");
this.show = true;
} else if (data.type !== 0 && data.type !== 1) {
this.show = true;
this.rightTitle = this.$t("equipment_type.EditEquipment");
} else if (data.type == 1) {
this.show = false; this.show = false;
this.type = 0;
} else {
this.type = 1;
this.rightTitle = this.$t("equipment_type.EditEquipment");
this.formData = JSON.parse(JSON.stringify(data));
this.show = true;
} }
}, },
add() {
addBtn() {
this.formData = {};
this.show = true; this.show = true;
this.type = 0; this.type = 0;
this.rightTitle = this.$t("equipment_type.AddDevice"); this.rightTitle = this.$t("equipment_type.AddDevice");
@ -242,13 +235,60 @@ export default {
subunit() { subunit() {
this.$refs["ruleForm"].validate((valid) => { this.$refs["ruleForm"].validate((valid) => {
if (valid) { if (valid) {
alert("submit!");
} else {
console.log("error submit!!");
return false;
if (this.formData.phaseNum == "无相数") {
this.formData.phase = 0;
} else if (this.formData.phaseNum == "三相") {
this.formData.phase = "ABC";
}
this.formData.powerMainEquFlag="Yes";
if (this.type == 0) {
this.formData.parentId = 1;
add(this.formData).then((res) => {
if (res.code == 200) {
this.$message({
message: "添加成功",
type: "success",
});
this.init();
this.show = false;
}
});
} else {
update(this.formData).then((res) => {
if (res.code == 200) {
this.$message({
message: "修改成功",
type: "success",
});
this.init();
this.show = false;
}
});
}
} }
}); });
}, },
//
handleDelete() {
if (this.show) {
this.$confirm("是否确定删除", "系统提示", {
confirmButtonText: this.$t("share.confirm"),
cancelButtonText: this.$t("share.cancel"),
type: "warning",
}).then(() => {
remove(this.formData.devicetypeId).then((res) => {
if (res.code == 200) {
this.$message({
type: "success",
message: "删除成功!",
});
this.init();
this.show = false;
}
});
});
}
},
}, },
}; };
</script> </script>


+ 14
- 0
src/views/point/site_management.vue View File

@ -80,6 +80,7 @@
:placeholder=" :placeholder="
$t('share.PleaseEnter') + $t('site_management.PointName') $t('share.PleaseEnter') + $t('site_management.PointName')
" "
disabled
></el-input> ></el-input>
</template> </template>
</el-table-column> </el-table-column>
@ -106,6 +107,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-input <el-input
v-model="scope.row.patrolpointCode" v-model="scope.row.patrolpointCode"
disabled
:placeholder=" :placeholder="
$t('share.PleaseEnter') + $t('share.PleaseEnter') +
$t('site_management.MonitoringPointNumber') $t('site_management.MonitoringPointNumber')
@ -128,6 +130,7 @@
$t('share.PleaseChoose') + $t('share.PleaseChoose') +
$t('site_management.InspectionType') $t('site_management.InspectionType')
" "
disabled
> >
<el-option <el-option
v-for="item in InspectionTypeData" v-for="item in InspectionTypeData"
@ -152,6 +155,7 @@
$t('site_management.ImportantLevel') $t('site_management.ImportantLevel')
" "
v-model="scope.row.pointImptLevel" v-model="scope.row.pointImptLevel"
disabled
> >
<el-option <el-option
v-for="item in pointImptLevelData" v-for="item in pointImptLevelData"
@ -173,14 +177,17 @@
<el-input <el-input
placeholder="x(-20,20)" placeholder="x(-20,20)"
v-model="scope.row.positionX" v-model="scope.row.positionX"
disabled
></el-input> ></el-input>
<el-input <el-input
placeholder="y(66)" placeholder="y(66)"
v-model="scope.row.positionY" v-model="scope.row.positionY"
disabled
></el-input> ></el-input>
<el-input <el-input
placeholder="z(-6,20)" placeholder="z(-6,20)"
v-model="scope.row.positionZ" v-model="scope.row.positionZ"
disabled
></el-input> ></el-input>
</div> </div>
</template> </template>
@ -196,6 +203,9 @@
width="220" width="220"
align="center" align="center"
> >
<template slot-scope="scope">
<span class="intelligenceType">设置</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
:label="$t('site_management.DiscriminantBenchmarkImage')" :label="$t('site_management.DiscriminantBenchmarkImage')"
@ -1324,4 +1334,8 @@ export default {
cursor: pointer; cursor: pointer;
} }
} }
.intelligenceType {
cursor: pointer;
color: #409eff;
}
</style> </style>

Loading…
Cancel
Save