flx:新增车辆测速设备管理
This commit is contained in:
parent
81f18f5f3d
commit
7fd9929e0e
BIN
src/assets/images/back-came.png
Normal file
BIN
src/assets/images/back-came.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 552 B |
@ -89,10 +89,10 @@ const routes2 = [{
|
||||
import ("../views/jxjadmin/operateManage.vue"),
|
||||
},
|
||||
{
|
||||
path: "/operateManagePc",
|
||||
name: "operateManagePc",
|
||||
component: () =>
|
||||
import ("../views/jxjadmin/operateManagePc.vue"),
|
||||
path: "/operateManagePc",
|
||||
name: "operateManagePc",
|
||||
component: () =>
|
||||
import ("../views/jxjadmin/operateManagePc.vue"),
|
||||
},
|
||||
//字典管理
|
||||
{
|
||||
@ -2137,6 +2137,12 @@ const routes2 = [{
|
||||
component: (resolve) =>
|
||||
require(["@/views/projectFront/carManage/carStatictis.vue"], resolve),
|
||||
},
|
||||
{
|
||||
path: "/project/carManage/carCamervelocity",
|
||||
name: "车辆管理_车辆测速设备管理",
|
||||
component: (resolve) =>
|
||||
require(["@/views/equipmentCenter/carManage/carCamervelocity.vue"], resolve),
|
||||
},
|
||||
{
|
||||
path: "/project/carManage/vehicleReal",
|
||||
name: "车辆管理_车辆实时数据",
|
||||
@ -6234,10 +6240,10 @@ const routes2 = [{
|
||||
require(["../views/projectFront/towerCrane/basicInfo.vue"], resolve),
|
||||
},
|
||||
{
|
||||
path: "electricDevManage",
|
||||
name: "电箱管理_设备管理",
|
||||
path: "carCamervelocity",
|
||||
name: "车辆管理_车辆测速设备管理",
|
||||
component: () =>
|
||||
import ("../views/equipmentCenter/electricBox/deviceManage"),
|
||||
import ("../views/equipmentCenter/carManage/carCamervelocity"),
|
||||
},
|
||||
{
|
||||
path: "lifterBasicInfo", //升降机管理 基本信息
|
||||
|
||||
603
src/views/equipmentCenter/carManage/carCamervelocity.vue
Normal file
603
src/views/equipmentCenter/carManage/carCamervelocity.vue
Normal file
@ -0,0 +1,603 @@
|
||||
<template>
|
||||
<div class="fullHeight">
|
||||
<div class="searchBox whiteBlock">
|
||||
<el-button type="warning" plain size="medium" @click="refresh">{{
|
||||
$t("message.alarmValueSet.refresh")
|
||||
}}</el-button>
|
||||
<el-button type="primary" size="medium" @click="add">{{
|
||||
$t("message.videoManage.add")
|
||||
}}</el-button>
|
||||
</div>
|
||||
|
||||
<div class="table_wrap whiteBlock">
|
||||
<el-table class="tables" :data="List" height="520px">
|
||||
<el-table-column
|
||||
prop="deviceName"
|
||||
align="center"
|
||||
label="设备名称"
|
||||
></el-table-column>
|
||||
|
||||
<el-table-column
|
||||
prop="devSn"
|
||||
align="center"
|
||||
label="设备编号"
|
||||
></el-table-column>
|
||||
|
||||
<el-table-column
|
||||
width="200"
|
||||
prop="enabled"
|
||||
align="center"
|
||||
label="设备状态"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.enabled == 1 ? "在线" : "离线" }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column
|
||||
width="300"
|
||||
prop="deviceAddress"
|
||||
align="center"
|
||||
label="设备地址"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
prop="recordTime"
|
||||
align="center"
|
||||
label="备案时间"
|
||||
></el-table-column>
|
||||
|
||||
<el-table-column
|
||||
width="300"
|
||||
:label="$t('message.alarmValueSet.operation')"
|
||||
align="center"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div class="tableBtns">
|
||||
<div
|
||||
@click="onsholdswtich(scope.row)"
|
||||
class="operationText"
|
||||
>
|
||||
<img
|
||||
src="@/assets/images/back-came.png"
|
||||
width="15px"
|
||||
height="15px"
|
||||
/>
|
||||
<span>阈值设置</span>
|
||||
</div>
|
||||
|
||||
<div @click="edit(scope.row)" class="operationText">
|
||||
<img
|
||||
src="@/assets/images/icon-edit.png"
|
||||
width="15px"
|
||||
height="15px"
|
||||
/>
|
||||
<span>{{
|
||||
$t("message.alarmValueSet.edit")
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
@click="deleteDev(scope.row)"
|
||||
class="operationText"
|
||||
>
|
||||
<img
|
||||
src="@/assets/images/icon-delete.png"
|
||||
width="15px"
|
||||
height="15px"
|
||||
/>
|
||||
<span>{{
|
||||
$t("message.alarmValueSet.delete")
|
||||
}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
|
||||
<div class="Pagination-but">
|
||||
<el-pagination
|
||||
class="pagerBox"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:current-page="pageInfo.pageNo"
|
||||
:page-sizes="[10, 50, 100]"
|
||||
:page-size="pageInfo.pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="pageInfo.total"
|
||||
background
|
||||
></el-pagination>
|
||||
</div>
|
||||
|
||||
<el-dialog
|
||||
:modal-append-to-body="false"
|
||||
@close="close"
|
||||
:title="$t('message.alarmValueSet.Popup_title')[Popup.type]"
|
||||
:visible.sync="Popup.show"
|
||||
width="667px"
|
||||
>
|
||||
<div class="dialog_content">
|
||||
<el-form
|
||||
v-if="Popup.type === 'add' || Popup.type === 'edit'"
|
||||
size="medium"
|
||||
:model="addEditForm"
|
||||
ref="addEditForm"
|
||||
label-width="120px"
|
||||
class="dialogFormBox"
|
||||
:rules="formRules"
|
||||
>
|
||||
<template v-if="!thresholdswtich">
|
||||
<el-form-item label="设备名称" prop="deviceName">
|
||||
<el-input
|
||||
v-model="addEditForm.deviceName"
|
||||
placeholder="请输入"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备编号" prop="devSn">
|
||||
<el-input
|
||||
v-model="addEditForm.devSn"
|
||||
placeholder="请输入"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否启用" prop="enabled">
|
||||
<el-radio-group v-model="addEditForm.enabled">
|
||||
<el-radio :label="1">是</el-radio>
|
||||
<el-radio :label="0">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="显示的名字" prop="displayedName">
|
||||
<el-input
|
||||
v-model="addEditForm.displayedName"
|
||||
placeholder="请输入"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="分包单位" prop="enterpriseIds">
|
||||
<el-select
|
||||
v-model="addEditForm.enterpriseIds"
|
||||
multiple
|
||||
filterable
|
||||
placeholder="请选择企业"
|
||||
>
|
||||
<el-option
|
||||
:label="item.enterpriseName"
|
||||
:value="item.id"
|
||||
v-for="(item, index) in enterpriseList"
|
||||
:key="index"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="地址" prop="deviceAddress">
|
||||
<el-input
|
||||
v-model="addEditForm.deviceAddress"
|
||||
placeholder="请选择"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="设备所在经度" prop="lat">
|
||||
<el-input
|
||||
v-model="addEditForm.lat"
|
||||
placeholder="请输入"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="设备所在纬度" prop="lng">
|
||||
<el-input
|
||||
v-model="addEditForm.lng"
|
||||
placeholder="请输入"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="摄像头" prop="camera">
|
||||
<el-select
|
||||
v-model="addEditForm.camera"
|
||||
multiple
|
||||
collapse-tags
|
||||
style="width: 100%"
|
||||
:placeholder="
|
||||
$t(
|
||||
'message.alarmValueSet.placeholder_select'
|
||||
)
|
||||
"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in videoList"
|
||||
:key="item.itemId"
|
||||
:label="item.videoName"
|
||||
:value="item.itemId"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="报警推送人" prop="alarmPusher">
|
||||
<el-select
|
||||
v-model="addEditForm.alarmPusher"
|
||||
multiple
|
||||
filterable
|
||||
:placeholder="
|
||||
$t(
|
||||
'message.alarmValueSet.placeholder_select'
|
||||
)
|
||||
"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.workerId"
|
||||
:label="item.workerName"
|
||||
:value="item.workerId"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
<template v-else>
|
||||
<el-form-item label="超速阈值设置" prop="threshold">
|
||||
<el-input
|
||||
v-model="addEditForm.threshold"
|
||||
placeholder="请输入"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
<div class="dialog-footer">
|
||||
<el-button
|
||||
class="cancleBtn"
|
||||
@click="
|
||||
(Popup.show = false), (thresholdswtich = false)
|
||||
"
|
||||
icon="el-icon-circle-close"
|
||||
size="medium"
|
||||
>{{ $t("message.alarmValueSet.cancel") }}</el-button
|
||||
>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-circle-check"
|
||||
@click="submit"
|
||||
size="medium"
|
||||
>{{ $t("message.alarmValueSet.save") }}</el-button
|
||||
>
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import {
|
||||
carMeasureSpeedApi,
|
||||
carMeasureSpeedAddApi,
|
||||
carMeasureSpeededitApi,
|
||||
carMeasureSpeedbyApi,
|
||||
carMeasureSpeeddeleteApi,
|
||||
} from "../../../assets/js/api/carManage";
|
||||
import { getVideoItemListApi } from "@/assets/js/api/lifter";
|
||||
|
||||
import { getEnterpriseInfoListApi } from "@/assets/js/api/specialWork";
|
||||
import { getLaborManagementInfoList } from "../../../assets/js/api/environmentManage";
|
||||
export default {
|
||||
mounted() {
|
||||
this.getList();
|
||||
this.getEnterpriseList();
|
||||
this.getLaborManagementList();
|
||||
this.getVideoItemList();
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
addEditForm: {
|
||||
gateName: "",
|
||||
gateNumber: "",
|
||||
type: 1,
|
||||
},
|
||||
formRules: {
|
||||
deviceName: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
devSn: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
// enabled: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: "请选择",
|
||||
// trigger: "blur"
|
||||
// }
|
||||
// ],
|
||||
// enterpriseIds: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: "请选择",
|
||||
// trigger: "blur"
|
||||
// }
|
||||
// ],
|
||||
// deviceAddress: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: "请输入",
|
||||
// trigger: "blur"
|
||||
// }
|
||||
// ],
|
||||
// camera: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: "请选择",
|
||||
// trigger: "blur"
|
||||
// }
|
||||
// ],
|
||||
// alarmPusher: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: "请选择",
|
||||
// trigger: "blur"
|
||||
// }
|
||||
// ],
|
||||
// lng: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: "请输入",
|
||||
// trigger: "blur"
|
||||
// }
|
||||
// ],
|
||||
// lat: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: "请输入",
|
||||
// trigger: "blur"
|
||||
// }
|
||||
// ]
|
||||
},
|
||||
List: [],
|
||||
Popup: {
|
||||
type: "add",
|
||||
show: false,
|
||||
},
|
||||
// 分页查询
|
||||
pageInfo: {
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 当前页
|
||||
pageNo: 1,
|
||||
// 每页条数
|
||||
pageSize: 10,
|
||||
},
|
||||
// 阈值
|
||||
thresholdswtich: false,
|
||||
// 分包单位
|
||||
enterpriseList: [],
|
||||
// 摄像头
|
||||
videoList: [],
|
||||
// 报警推送人
|
||||
options: [],
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
/** 查询企业列表 */
|
||||
getEnterpriseList() {
|
||||
const params = {
|
||||
projectSn: this.$store.state.projectSn,
|
||||
enterpriseName: undefined,
|
||||
userEnterpriseId: this.$store.state.userInfo.userEnterpriseId,
|
||||
enterpriseTypeId: undefined,
|
||||
};
|
||||
getEnterpriseInfoListApi(params).then((res) => {
|
||||
console.log("查询企业列表: ", res);
|
||||
this.enterpriseList = res.result;
|
||||
});
|
||||
},
|
||||
|
||||
getLaborManagementList() {
|
||||
getLaborManagementInfoList({
|
||||
projectSn: this.$store.state.projectSn,
|
||||
workerName: "",
|
||||
}).then((result) => {
|
||||
if (result.success) {
|
||||
console.log("施工人员", result);
|
||||
this.options = result.result;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
//获取摄像机列表
|
||||
getVideoItemList() {
|
||||
let data = {
|
||||
projectSn: this.$store.state.projectSn,
|
||||
};
|
||||
console.log(data);
|
||||
getVideoItemListApi(data).then((res) => {
|
||||
if (res.code == 200) {
|
||||
console.log(res);
|
||||
this.videoList = res.result.list;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
handle(type, show) {
|
||||
//打开弹窗前的统一处理
|
||||
this.Popup = {
|
||||
type: type,
|
||||
show: show,
|
||||
};
|
||||
},
|
||||
Change() {},
|
||||
add() {
|
||||
this.handle("add", true);
|
||||
},
|
||||
edit(obj) {
|
||||
console.log("编辑", obj);
|
||||
// 查询单条
|
||||
this.getonespeed(obj.id);
|
||||
this.handle("edit", true);
|
||||
},
|
||||
onsholdswtich(obj) {
|
||||
this.handle("edit", true);
|
||||
// 查询单条
|
||||
this.getonespeed(obj.id);
|
||||
this.thresholdswtich = true;
|
||||
},
|
||||
deleteDev(obj) {
|
||||
console.log("删除", obj);
|
||||
this.$confirm(
|
||||
this.$t(
|
||||
"message.personnelPosition.beaconManage.table.confirmText"
|
||||
) +
|
||||
"【" +
|
||||
obj.deviceName +
|
||||
"】?",
|
||||
this.$t("message.personnelPosition.beaconManage.table.Tips"),
|
||||
{
|
||||
confirmButtonText: this.$t(
|
||||
"message.personnelPosition.confirmButtonText"
|
||||
),
|
||||
cancelButtonText: this.$t(
|
||||
"message.personnelPosition.cancelButtonText"
|
||||
),
|
||||
type: "warning",
|
||||
}
|
||||
)
|
||||
.then(() => {
|
||||
carMeasureSpeeddeleteApi({ id: obj.id }).then((result) => {
|
||||
if (result.success) {
|
||||
this.$message.success(result.message);
|
||||
this.getList();
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
submit() {
|
||||
this.$refs["addEditForm"].validate((valid) => {
|
||||
this.thresholdswtich = false;
|
||||
console.log("表单信息", this.addEditForm);
|
||||
|
||||
if (valid) {
|
||||
let params = this.addEditForm;
|
||||
// 处理信息
|
||||
if (this.addEditForm.alarmPusher) {
|
||||
this.addEditForm.alarmPusher =
|
||||
this.addEditForm.alarmPusher.join(",");
|
||||
}
|
||||
if (this.addEditForm.camera) {
|
||||
this.addEditForm.camera =
|
||||
this.addEditForm.camera.join(",");
|
||||
}
|
||||
if (this.addEditForm.enterpriseIds) {
|
||||
this.addEditForm.enterpriseIds =
|
||||
this.addEditForm.enterpriseIds.join(",");
|
||||
}
|
||||
params.projectSn = this.$store.state.projectSn;
|
||||
if (this.Popup.type === "add") {
|
||||
carMeasureSpeedAddApi(params).then((result) => {
|
||||
if (result.success) {
|
||||
this.$message.success(result.message);
|
||||
this.getList();
|
||||
}
|
||||
});
|
||||
} else if (this.Popup.type === "edit") {
|
||||
console.log("编辑信息", this.addEditForm);
|
||||
carMeasureSpeededitApi(params).then((result) => {
|
||||
if (result.success) {
|
||||
this.$message.success(result.message);
|
||||
this.getList();
|
||||
}
|
||||
});
|
||||
}
|
||||
this.Popup.show = false;
|
||||
} else {
|
||||
console.log("error submit!!");
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
refresh() {
|
||||
this.getList();
|
||||
},
|
||||
getList() {
|
||||
carMeasureSpeedApi(this.pageInfo).then((result) => {
|
||||
if (result.success) {
|
||||
this.List = result.result.records;
|
||||
this.pageInfo.total = Number(result.result.total);
|
||||
// console.log("列表", result.result.records);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 查单条
|
||||
getonespeed(id) {
|
||||
carMeasureSpeedbyApi({ id: id }).then((result) => {
|
||||
if (result.success) {
|
||||
console.log("设备测试-单条", result.result);
|
||||
this.addEditForm = result.result;
|
||||
if (this.addEditForm.alarmPusher) {
|
||||
this.addEditForm.alarmPusher =
|
||||
this.addEditForm.alarmPusher.split(",");
|
||||
}
|
||||
if (this.addEditForm.camera) {
|
||||
this.addEditForm.camera =
|
||||
this.addEditForm.camera.split(",");
|
||||
}
|
||||
if (this.addEditForm.enterpriseIds) {
|
||||
this.addEditForm.enterpriseIds =
|
||||
this.addEditForm.enterpriseIds.split(",");
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
close() {
|
||||
this.addEditForm = {
|
||||
isEnable: 0,
|
||||
};
|
||||
console.log("关闭=====================");
|
||||
this.thresholdswtich = false;
|
||||
},
|
||||
|
||||
// 分页 左右 点击 输入
|
||||
handleSizeChange(val) {
|
||||
// console.log(`每页 ${val} 条`);
|
||||
this.pageInfo.pageSize = val;
|
||||
this.getList();
|
||||
},
|
||||
|
||||
// 分页多少条点击事件
|
||||
handleCurrentChange(val) {
|
||||
// console.log(`当前页: ${val}`);
|
||||
this.pageInfo.pageNo = val;
|
||||
this.getList();
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="less">
|
||||
.tableBtns {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.yj-dialogFormBox {
|
||||
width: 462px;
|
||||
}
|
||||
|
||||
.fullHeight {
|
||||
position: relative;
|
||||
|
||||
.Pagination-but {
|
||||
width: 100%;
|
||||
padding: 20px 0;
|
||||
// background: skyblue;
|
||||
position: absolute;
|
||||
bottom: 30px;
|
||||
right: 20px;
|
||||
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Loading…
x
Reference in New Issue
Block a user