flx:提交随机数据生成盾构机、履带吊、汽车吊模块 车辆测速新增功能

This commit is contained in:
Rain_ 2025-06-07 17:44:24 +08:00
parent 1f1fb967ff
commit a5ffc31612
7 changed files with 6104 additions and 37 deletions

View File

@ -14,8 +14,18 @@ export const carMeasureSpeedbyApi = data => get('xmgl/carMeasureSpeedDev/queryBy
// 删除
export const carMeasureSpeeddeleteApi = data => post('xmgl/carMeasureSpeedDev/delete', data);
// 列表查询车辆测速设备信息
export const carMeasureSpeedDevListApi = data => get('xmgl/carMeasureSpeedDev/list', data);
// 历史记录-分页
export const carMeasureSpeedData = data => get('/xmgl/carMeasureSpeedData/page', data);
// 添加历史记录
export const carMeasureSpeedDataAdd = data => post('/xmgl/carMeasureSpeedData/add', data);
// 修改历史记录
export const carMeasureSpeedDataEdit = data => post('/xmgl/carMeasureSpeedData/edit', data);
// 删除历史记录
export const carMeasureSpeedDatadeleteApi = data => post('/xmgl/carMeasureSpeedData/delete', data);
//车辆进出闸门信息

View File

@ -1072,4 +1072,157 @@ export function resetPaveCompactionRecordConfigApi(data) {
// 查询配置路面压实数据
export function getPaveCompactionRecordConfigApi(data) {
return post(`xmgl/paveCompactionRecordConfig/queryInfo`, data);
}
// 盾构机监测
// 保存模拟盾构机实时数据配置信息
export function saveMockTunnelBoringMachineCurrentDataConfigApi(data) {
return post(`xmgl/mockTunnelBoringMachineCurrentDataConfig/save`, data);
}
// 重置模拟盾构机实时数据配置信息
export function resetMockTunnelBoringMachineCurrentDataConfigApi(data) {
return post(`xmgl/mockTunnelBoringMachineCurrentDataConfig/reset`, data);
}
// 列表查询模拟盾构机实时数据配置信息
export function getMockTunnelBoringMachineCurrentDataConfigApi(data) {
return get(`xmgl/mockTunnelBoringMachineCurrentDataConfig/list`, data);
}
// 生成盾构机监测实时数据
export function mockDataTunnelBoringMachineCurrentDataApi(data) {
return post(`xmgl/tunnelBoringMachineCurrentData/mockData`, data);
}
// 批量删除盾构机监测实时数据
export function deleteBatchTunnelBoringMachineCurrentDataApi(data) {
return post(`xmgl/tunnelBoringMachineCurrentData/deleteBatch`, data);
}
// 编辑盾构机监测实时数据信息
export function editTunnelBoringMachineCurrentDataApi(data) {
return post(`xmgl/tunnelBoringMachineCurrentData/edit`, data);
}
// 履带吊监测
// 保存模拟履带吊实时数据配置信息
export function saveMockCrawlerCraneCurrentDataConfigApi(data) {
return post(`xmgl/mockCrawlerCraneCurrentDataConfig/save`, data);
}
// 重置模拟履带吊实时数据配置信息
export function resetMockCrawlerCraneCurrentDataConfigApi(data) {
return post(`xmgl/mockCrawlerCraneCurrentDataConfig/reset`, data);
}
// 列表查询模拟履带吊实时数据配置信息
export function getMockCrawlerCraneCurrentDataConfigApi(data) {
return get(`xmgl/mockCrawlerCraneCurrentDataConfig/list`, data);
}
// 生成履带吊监测实时数据
export function mockDataCrawlerCraneCurrentDataApi(data) {
return post(`xmgl/crawlerCraneCurrentData/mockData`, data);
}
// 批量删除履带吊监测实时数据
export function deleteBatchCrawlerCraneCurrentDataApi(data) {
return post(`xmgl/crawlerCraneCurrentData/deleteBatch`, data);
}
// 编辑履带吊监测实时数据信息
export function editCrawlerCraneCurrentDataApi(data) {
return post(`xmgl/crawlerCraneCurrentData/edit`, data);
}
// 报警数据
// 保存模拟履带吊报警配置信息
export function saveMockCrawlerCraneAlarmConfigApi(data) {
return post(`xmgl/mockCrawlerCraneAlarmConfig/save`, data);
}
// 重置模拟履带吊报警配置信息
export function resetMockCrawlerCraneAlarmConfigApi(data) {
return post(`xmgl/mockCrawlerCraneAlarmConfig/reset`, data);
}
// 列表查询模拟履带吊报警配置信息
export function getMockCrawlerCraneAlarmConfigApi(data) {
return get(`xmgl/mockCrawlerCraneAlarmConfig/list`, data);
}
// 生成履带吊监测报警数据
export function mockDataCrawlerCraneAlarmApi(data) {
return post(`xmgl/crawlerCraneAlarm/mockData`, data);
}
// 批量删除履带吊监测报警数据
export function deleteBatchCrawlerCraneAlarmApi(data) {
return post(`xmgl/crawlerCraneAlarm/deleteBatch`, data);
}
// 编辑履带吊监测报警数据信息
export function editCrawlerCraneAlarmApi(data) {
return post(`xmgl/crawlerCraneAlarm/edit`, data);
}
// 工作循环数据
// 保存模拟人员考勤配置信息
export function saveMockCrawlerCraneWorkCycleConfigApi(data) {
return post(`xmgl/mockCrawlerCraneWorkCycleConfig/save`, data);
}
// 重置模拟人员考勤配置信息
export function resetMockCrawlerCraneWorkCycleConfigApi(data) {
return post(`xmgl/mockCrawlerCraneWorkCycleConfig/reset`, data);
}
// 列表查询模拟人员考勤配置信息
export function getMockCrawlerCraneWorkCycleConfigApi(data) {
return get(`xmgl/mockCrawlerCraneWorkCycleConfig/list`, data);
}
// 生成履带吊监测工作循环数据
export function mockDataCrawlerCraneWorkCycleApi(data) {
return post(`xmgl/crawlerCraneWorkerCycle/mockData`, data);
}
// 批量删除履带吊监测工作循环数据
export function deleteBatchCrawlerCraneWorkCycleApi(data) {
return post(`xmgl/crawlerCraneWorkerCycle/deleteBatch`, data);
}
// 编辑履带吊监测工作循环数据信息
export function editCrawlerCraneWorkCycleApi(data) {
return post(`xmgl/crawlerCraneWorkerCycle/edit`, data);
}
// 汽车吊监测
// 保存模拟汽车吊实时数据配置信息
export function saveMockTruckCraneCurrentDataConfigApi(data) {
return post(`xmgl/mockTruckCraneCurrentDataConfig/save`, data);
}
// 重置模拟汽车吊实时数据配置信息
export function resetMockTruckCraneCurrentDataConfigApi(data) {
return post(`xmgl/mockTruckCraneCurrentDataConfig/reset`, data);
}
// 列表查询模拟汽车吊实时数据配置信息
export function getMockTruckCraneCurrentDataConfigApi(data) {
return get(`xmgl/mockTruckCraneCurrentDataConfig/list`, data);
}
// 生成汽车吊监测实时数据
export function mockDataTruckCraneCurrentDataApi(data) {
return post(`xmgl/truckCraneCurrentData/mockData`, data);
}
// 批量删除汽车吊监测实时数据
export function deleteBatchTruckCraneCurrentDataApi(data) {
return post(`xmgl/truckCraneCurrentData/deleteBatch`, data);
}
// 编辑汽车吊监测实时数据信息
export function editTruckCraneCurrentDataApi(data) {
return post(`xmgl/truckCraneCurrentData/edit`, data);
}
// 报警数据
// 保存模拟汽车吊报警配置信息
export function saveMockTruckCraneAlarmConfigApi(data) {
return post(`xmgl/mockTruckCraneAlarmConfig/save`, data);
}
// 重置模拟汽车吊报警配置信息
export function resetMockTruckCraneAlarmConfigApi(data) {
return post(`xmgl/mockTruckCraneAlarmConfig/reset`, data);
}
// 列表查询模拟汽车吊报警配置信息
export function getMockTruckCraneAlarmConfigApi(data) {
return get(`xmgl/mockTruckCraneAlarmConfig/list`, data);
}
// 生成汽车吊监测报警数据
export function mockDataTruckCraneAlarmApi(data) {
return post(`xmgl/truckCraneAlarm/mockData`, data);
}
// 批量删除汽车吊监测报警数据
export function deleteBatchTruckCraneAlarmApi(data) {
return post(`xmgl/truckCraneAlarm/deleteBatch`, data);
}
// 编辑汽车吊监测报警数据信息
export function editTruckCraneAlarmApi(data) {
return post(`xmgl/truckCraneAlarm/edit`, data);
}

View File

@ -3424,6 +3424,30 @@ const routes2 = [{
"@/views/projectFront/operationManagement/roadSurfaceCompaction.vue",
], resolve),
},
{
path: "/project/operationManagement/shieldMachinesMonitoring",
name: "运维管理_盾构机监测",
component: (resolve) =>
require([
"@/views/projectFront/operationManagement/shieldMachinesMonitoring.vue",
], resolve),
},
{
path: "/project/operationManagement/carterpillarCraneMonitoring",
name: "运维管理_履带吊监测",
component: (resolve) =>
require([
"@/views/projectFront/operationManagement/carterpillarCraneMonitoring.vue",
], resolve),
},
{
path: "/project/operationManagement/truckCraneMonitoring",
name: "运维管理_汽车吊监测",
component: (resolve) =>
require([
"@/views/projectFront/operationManagement/truckCraneMonitoring.vue",
], resolve),
},
// 车辆定位
{
path: "/project/vehiclePosition/realTimeMonitor",

View File

@ -10,11 +10,19 @@
size="small"
>
<el-form-item label="车牌号码">
<el-input v-model="pageInfo.carNumber" placeholder="请输入" @keyup.enter.native="getList"></el-input>
<el-input
v-model="pageInfo.carNumber"
placeholder="请输入"
@keyup.enter.native="getList"
></el-input>
</el-form-item>
<el-form-item label="设备名称">
<el-input v-model="pageInfo.deviceName" placeholder="请输入" @keyup.enter.native="getList"></el-input>
<el-input
v-model="pageInfo.deviceName"
placeholder="请输入"
@keyup.enter.native="getList"
></el-input>
</el-form-item>
<el-form-item label="上传时间">
@ -31,45 +39,55 @@
<el-form-item>
<el-button
v-permission="{
key: 'clgl_query',
menuPath: '/project/carManage/carManage',
}"
type="primary"
size="medium"
plain
@click="getList"
>搜索</el-button>
>搜索</el-button
>
<el-button
v-permission="{
key: 'clgl_refresh',
menuPath: '/project/carManage/carManage',
}"
type="warning"
size="medium"
plain
@click="resetQuery"
>刷新</el-button>
>刷新</el-button
>
<el-button v-permission="{
key: 'add',
menuPath: '/project/carManage/vehicleReal',
}" size="medium" @click="carAdd(1)" type="primary">新增</el-button>
</el-form-item>
</el-form>
</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="deviceName"
align="center"
label="抓拍设备"
></el-table-column>
<el-table-column prop="carNumber" align="center" label="车牌号"></el-table-column>
<el-table-column prop="isExceed" align="center" label="是否超出阈值">
<template slot-scope="scope">
{{
scope.row.isExceed == 1 ? '是' : '否'
}}
{{ scope.row.isExceed == 1 ? "是" : "否" }}
</template>
</el-table-column>
<el-table-column width="200" prop="currentSpeed" align="center" label="时速(km/h)"></el-table-column>
<el-table-column
width="200"
prop="currentSpeed"
align="center"
label="时速(km/h)"
></el-table-column>
<el-table-column width="300" prop="exceedingThreshold" align="center" label="超出阈值"></el-table-column>
<el-table-column
width="300"
prop="exceedingThreshold"
align="center"
label="超出阈值"
></el-table-column>
<el-table-column width="300" prop="snapshotImage" align="center" label="抓拍照片">
<template slot-scope="scope">
<el-image
@ -83,7 +101,12 @@
</el-image>
</template>
</el-table-column>
<el-table-column width="300" prop="uploadTime" align="center" label="备案时间"></el-table-column>
<el-table-column
width="300"
prop="uploadTime"
align="center"
label="备案时间"
></el-table-column>
</el-table>
</div>
@ -100,42 +123,117 @@
background
></el-pagination>
</div>
<!-- 新增 -->
<el-dialog
:visible.sync="dealShow"
width="600px"
append-to-body
:title="dealTitle"
>
<el-form
ref="dealForm"
:model="dealForm"
:rules="dealFormRules"
size="medium"
label-width="210px"
class="dealForm"
>
<template v-if="dealType == 1">
<el-form-item label="抓拍设备" prop="devSn">
<el-select v-model="dealForm.devSn" placeholder="请选择" clearable filterable>
<el-option
v-for="(item, index) in carWashDevList"
:key="item.devSn"
:label="item.deviceName"
:value="item.devSn"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="车牌号" prop="carNumber">
<el-input v-model="dealForm.carNumber" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="是否超出阈值" prop="isExceed">
<el-radio-group v-model="dealForm.isExceed">
<el-radio :label="1"></el-radio>
<el-radio :label="0"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="时速(km/h)" prop="currentSpeed">
<el-input-number
:controls="false"
v-model="dealForm.currentSpeed"
controls-position="right"
placeholder="请输入"
></el-input-number>
</el-form-item>
<el-form-item label="抓拍图片" prop="fileList">
<el-upload
:action="$store.state.UPLOADURL"
name="files"
list-type="picture-card"
:limit="1"
:on-success="handleAvatarSuccess"
:file-list="dealForm.fileList"
:on-remove="handleDelete"
:on-exceed="handleExceed"
accept=".jpg,.jpeg,.png"
>
<i class="el-icon-plus"></i>
<!-- <div slot="tip" class="el-upload__tip">只支持.jpg格式</div> -->
</el-upload>
</el-form-item>
<el-form-item label="备案时间" prop="uploadTime">
<el-date-picker
value-format="yyyy-MM-dd hh:mm:ss"
type="datetime"
placeholder="开始时间"
v-model="dealForm.uploadTime"
></el-date-picker>
</el-form-item>
</template>
</el-form>
<div slot="footer" style="text-align: center">
<el-button @click="dealFormCancel">取消</el-button>
<el-button type="primary" @click="submitDealForm">保存</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { carMeasureSpeedData } from "../../../assets/js/api/carManage";
import { carMeasureSpeedData,carMeasureSpeedDevListApi, carMeasureSpeedDataAdd } from "../../../assets/js/api/carManage";
import dayjs from "dayjs";
export default {
mounted() {
this.getList();
this.carMeasureSpeedDevList();
},
data() {
return {
addEditForm: {
gateName: "",
gateNumber: "",
type: 1
type: 1,
},
formRules: {
gateName: [
{
required: true,
message: this.$t("message.personnelPosition.required"),
trigger: "blur"
}
trigger: "blur",
},
],
gateNumber: [
{
required: true,
message: this.$t("message.personnelPosition.required"),
trigger: "blur"
}
]
trigger: "blur",
},
],
},
List: [],
Popup: {
type: "add",
show: false
show: false,
},
//
pageInfo: {
@ -152,7 +250,7 @@ export default {
// uploadTime_begin: "2024-09-02 00:00:00",
// uploadTime_end: "2024-09-03 00:00:00",
uploadTime_begin: "",
uploadTime_end: ""
uploadTime_end: "",
},
//
updateDate: [
@ -163,11 +261,114 @@ export default {
new Date(new Date().setHours(32, 0, 0, 0))
.toISOString()
.slice(0, 19)
.replace("T", " ")
]
.replace("T", " "),
],
materialDetailInfo: {},
dealShow: false,
dealForm: {
devSn: "",
projectName: "",
constructionSite: "",
taskNumber: "",
operator: "",
dischargeTime: "",
useLayer: "",
proportionName: "",
plateWeight: "",
whetstoneRatio: "",
useStatus: "",
},
dealType: 1,
dealTitle: "",
dealFormRules: {
devSn: [{ required: true, message: "请选择抓拍设备", trigger: "change" }],
carNumber: [{ required: true, message: "请输入车牌号", trigger: "blur" }],
isExceed: [{ required: true, message: "请选择是否超出阈值", trigger: "change" }],
currentSpeed: [{ required: true, message: "请输入时速", trigger: "blur" }],
// fileList: [{ type: Array, required: true, message: "", trigger: "change" }],
uploadTime: [{ required: true, message: "请选择备案时间", trigger: "change" }],
},
carWashDevList: [],
carInfoList: [],
};
},
methods: {
handleAvatarSuccess(res, file) {
if (res.status == "SUCCESS") {
this.dealForm.fileList.push({
name: file.response.data[0].imageUrl,
url: this.$store.state.FILEURL + file.response.data[0].imageUrl,
});
}
},
handleExceed(files, fileList) {
this.$message.warning(
this.$t("message.docManage.dialog_upload_files.limitingChoice")
);
},
handleDelete(file, fileList) {
this.dealForm.fileList = fileList;
},
initDealForm() {
if (this.dealType == 1) {
this.dealForm = {
devSn: "",
carNumber: "",
isExceed: "",
currentSpeed: "",
snapshotImage: "",
uploadTime: dayjs().format("YYYY-MM-DD HH:mm:ss"),
fileList: [],
};
}
},
//
carAdd(type) {
this.dealType = type;
this.initDealForm();
this.$nextTick(() => {
this.$refs["dealForm"] && this.$refs["dealForm"].clearValidate();
});
this.dealTitle = "新增";
this.dealShow = true;
},
submitDealForm() {
this.$refs["dealForm"].validate((valid) => {
if (valid) {
let params = Object.assign({}, this.dealForm);
if (this.dealTitle == "新增" && this.dealType == 1) {
if(this.dealForm.fileList.length > 0) {
params.snapshotImage = this.dealForm.fileList[0].name;
}
carMeasureSpeedDataAdd({
...params,
projectSn: this.projectSn,
}).then((result) => {
if (result.success) {
this.$message.success(result.message);
this.getProgressListData();
this.dealShow = false;
}
});
}
}
});
},
dealFormCancel() {
this.initDealForm();
this.$refs["dealForm"].resetFields();
this.dealShow = false;
},
carMeasureSpeedDevList() {
carMeasureSpeedDevListApi({ projectSn: this.$store.state.projectSn }).then(
(result) => {
if (result.success) {
this.carWashDevList = result.result;
}
}
);
},
//
resetQuery() {
// console.log("pageinfo", this.pageInfo);
@ -184,7 +385,7 @@ export default {
//
this.Popup = {
type: type,
show: show
show: show,
};
},
Change() {},
@ -203,7 +404,10 @@ export default {
console.log("pageinfo", this.pageInfo);
carMeasureSpeedData({...this.pageInfo, projectSn: this.$store.state.projectSn}).then(result => {
carMeasureSpeedData({
...this.pageInfo,
projectSn: this.$store.state.projectSn,
}).then((result) => {
if (result.success) {
this.List = result.result.records;
this.pageInfo.total = Number(result.result.total);
@ -214,7 +418,7 @@ export default {
close() {
this.addEditForm = {
isEnable: 0
isEnable: 0,
};
},
@ -230,11 +434,22 @@ export default {
// console.log(`: ${val}`);
this.pageInfo.pageNo = val;
this.getList();
}
}
},
},
};
</script>
<style lang="less">
.dealForm {
display: flex;
flex-wrap: wrap;
.el-input {
width: 220px;
}
.el-form-item {
width: 100%;
}
}
.tableBtns {
display: flex;
justify-content: center;
@ -259,4 +474,4 @@ export default {
justify-content: center;
}
}
</style>
</style>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff