fix:修改大屏今日巡查,修改终端管理页面报错

This commit is contained in:
SunTao 2024-12-05 17:48:42 +08:00
parent 269fc702fe
commit e522e816b3
7 changed files with 91 additions and 267 deletions

View File

@ -2,7 +2,7 @@
* @Author: SunTao 328867980@qq.com
* @Date: 2024-10-21 09:59:32
* @LastEditors: SunTao 328867980@qq.com
* @LastEditTime: 2024-12-05 17:13:51
* @LastEditTime: 2024-12-05 17:30:29
* @FilePath: \znxjxt-ui\src\views\big-screen\disease-components\traffic-safety.vue
* @Description: 病害巡检大屏-今日巡查
-->
@ -20,10 +20,10 @@
<span> {{ scale }} </span>%
</div> -->
<div class="right-rate">
较昨日<span v-if="state === '增加'" class="up">{{ state }}</span><span v-if="state === '减少'" class="bottom">{{ state
较昨日<span v-if="state === '增加'" class="up">{{ state }}</span><span v-else class="bottom">{{ state
}}</span> {{ count }}
<i v-if="state === '增加'" class="el-icon-top"></i>
<i v-if="state === '减少'" class="el-icon-bottom"></i>
<i v-else class="el-icon-bottom"></i>
</div>
</div>

View File

@ -741,7 +741,7 @@ export default {
getLinePoint() {
if (!this.markLayerLines) {
mapPciList().then(({ code, data }) => {
if (code === 200) {
if (code === 200 && data) {
this.lineString = data.filter((item) => item.coordinates !== null);
this.drawLine();
}

View File

@ -21,10 +21,11 @@
>%
</div> -->
<div class="right-rate">
较昨日<span v-if="state === '增加'" class="up">{{ state }}</span><span v-if="state === '减少'" class="bottom">{{ state
较昨日<span v-if="state === '增加'" class="up">{{ state }}</span><span v-if="state === '增加'" class="up">{{ state
}}</span><span v-else class="bottom">{{ state
}}</span> {{ count }}
<i v-if="state === '增加'" class="el-icon-top"></i>
<i v-if="state === '减少'" class="el-icon-bottom"></i>
<i v-else class="el-icon-bottom"></i>
</div>
</div>
<!-- 病害总览弹窗 -->

View File

@ -200,10 +200,10 @@ export default {
...this.searchForm,
...this.pagination,
};
getScopeList(params).then(({ code, data }) => {
getScopeList(params).then(({ code, rows,total }) => {
if (code === 200) {
this.sectionList = data.rows;
this.tableTotal = data.total;
this.sectionList = rows;
this.tableTotal = total;
}
});
},

View File

@ -11,60 +11,33 @@
<div class="add-content">
<div>
<div class="left-form">
<el-form
ref="dialogForm"
:model="dialogForm"
:rules="rules"
label-width="100px"
>
<el-form ref="dialogForm" :model="dialogForm" :rules="rules" label-width="100px">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="路段编码" prop="segmentCode">
<el-input
v-model="dialogForm.segmentCode"
placeholder="请输入路段编码"
clearable
></el-input>
<el-input v-model="dialogForm.segmentCode" placeholder="请输入路段编码" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="路段名称" prop="segmentName">
<el-input
v-model="dialogForm.segmentName"
placeholder="请输入路段名称"
clearable
></el-input>
<el-input v-model="dialogForm.segmentName" placeholder="请输入路段名称" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="道路类型" prop="roadType">
<el-select
v-model="dialogForm.roadType"
placeholder="请选择道路类型"
>
<el-option
v-for="dict in dict.type.bas_road_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
<el-select v-model="dialogForm.roadType" placeholder="请选择道路类型">
<el-option v-for="dict in dict.type.bas_road_type" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="管理站" prop="deptId">
<el-select
v-model="dialogForm.deptId"
placeholder="请选择管理站"
>
<el-option
v-for="dict in deptIdList"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
<el-select v-model="dialogForm.deptId" placeholder="请选择管理站">
<el-option v-for="dict in deptIdList" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
@ -72,94 +45,53 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="起点桩" prop="stakeStart">
<el-input
v-model="dialogForm.stakeStart"
placeholder="请填写起点桩"
clearable
></el-input>
<el-input v-model="dialogForm.stakeStart" placeholder="请填写起点桩" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="终点桩" prop="stakeEnd">
<el-input
v-model="dialogForm.stakeEnd"
placeholder="请填写终点桩"
clearable
></el-input>
<el-input v-model="dialogForm.stakeEnd" placeholder="请填写终点桩" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="路宽" prop="width">
<el-input-number
v-model="dialogForm.width"
controls-position="right"
placeholder="请填写路宽"
:min="0"
style="width: 100%"
></el-input-number>
<el-input-number v-model="dialogForm.width" controls-position="right" placeholder="请填写路宽" :min="0"
style="width: 100%"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="里程" prop="mileage">
<el-input-number
v-model="dialogForm.mileage"
controls-position="right"
placeholder="请填写里程"
:min="0"
style="width: 100%"
></el-input-number>
<el-input-number v-model="dialogForm.mileage" controls-position="right" placeholder="请填写里程" :min="0"
style="width: 100%"></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="车道数量" prop="laneCount">
<el-input-number
v-model="dialogForm.laneCount"
controls-position="right"
placeholder="请填写车道数量"
:min="0"
style="width: 100%"
></el-input-number>
<el-input-number v-model="dialogForm.laneCount" controls-position="right" placeholder="请填写车道数量" :min="0"
style="width: 100%"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="养护级别" prop="curingLevel">
<el-input
v-model="dialogForm.curingLevel"
placeholder="请填写养护级别"
clearable
></el-input>
<el-input v-model="dialogForm.curingLevel" placeholder="请填写养护级别" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="最大限速" prop="maxSpeedLimit">
<el-input-number
v-model="dialogForm.maxSpeedLimit"
controls-position="right"
placeholder="请填写最大限速"
:min="0"
style="width: 100%"
></el-input-number>
<el-input-number v-model="dialogForm.maxSpeedLimit" controls-position="right" placeholder="请填写最大限速"
:min="0" style="width: 100%"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="选择路线" prop="routeId">
<el-select
v-model="dialogForm.routeId"
placeholder="请选择路线"
clearable
>
<el-option
v-for="item in routeList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
<el-select v-model="dialogForm.routeId" placeholder="请选择路线" clearable>
<el-option v-for="item in routeList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
@ -167,26 +99,16 @@
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="路段坐标点" prop="coordinates">
<el-input
type="textarea"
:disabled="true"
v-model="dialogForm.coordinates"
rows="4"
resize="none"
></el-input>
<el-input type="textarea" :disabled="true" v-model="dialogForm.coordinates" rows="4"
resize="none"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="范围坐标点" prop="polygon">
<el-input
type="textarea"
:disabled="true"
v-model="dialogForm.polygon"
rows="4"
resize="none"
></el-input>
<el-input type="textarea" :disabled="true" v-model="dialogForm.polygon" rows="4"
resize="none"></el-input>
</el-form-item>
</el-col>
</el-row>
@ -200,16 +122,9 @@
</el-form>
</div>
<div class="right-map">
<fssm-map
:showLine="true"
:showDraw="true"
id="add_map"
ref="mapContainer"
@endEoordinateLine="getEndEoordinate"
@endEoordinate="getEndPolygon"
:editCoordinates="editCoordinates"
:editCoordinatesLine="editCoordinatesLine"
></fssm-map>
<fssm-map :showLine="true" :showDraw="true" id="add_map" ref="mapContainer"
@endEoordinateLine="getEndEoordinate" @endEoordinate="getEndPolygon" :editCoordinates="editCoordinates"
:editCoordinatesLine="editCoordinatesLine"></fssm-map>
</div>
</div>
<div class="dialog-footer">
@ -323,15 +238,13 @@ export default {
handler(val) {
if (val.title === "修改") {
this.dialogForm = val.item;
this.editCoordinates = val.item.polygon.split(";").map((item) => {
this.editCoordinates = val.item?.polygon?.split(";")?.map((item) => {
return item.split(",");
});
this.editCoordinatesLine = val.item.coordinates
.split(";")
.map((item) => {
this.editCoordinatesLine = val.item?.coordinates?.split(";")
?.map((item) => {
return item.split(",");
});
console.log(val, "ddssss");
}
},
immediate: true,

View File

@ -2,36 +2,23 @@
* @Author: SunTao 328867980@qq.com
* @Date: 2024-10-17 11:01:18
* @LastEditors: SunTao 328867980@qq.com
* @LastEditTime: 2024-10-17 11:24:08
* @LastEditTime: 2024-12-05 17:40:36
* @FilePath: \znxjxt-ui\src\views\xj\route\route-terminal\components\terminal-add.vue
* @Description: 路线管理-终端管理新增弹窗
-->
<template>
<div class="add-content">
<div class="add-form">
<el-form
ref="dialogForm"
:model="dialogForm"
:rules="rules"
label-width="120px"
>
<el-form ref="dialogForm" :model="dialogForm" :rules="rules" label-width="120px">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="设备编号" prop="clientid">
<el-input
v-model="dialogForm.clientid"
placeholder="请输入设备编号"
clearable
></el-input>
<el-form-item label="设备编号" prop="clientId">
<el-input v-model="dialogForm.clientId" placeholder="请输入设备编号" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属车辆" prop="plateno">
<el-input
v-model="dialogForm.plateno"
placeholder="请输入所属车辆"
clearable
></el-input>
<el-form-item label="所属车辆" prop="plateNo">
<el-input v-model="dialogForm.plateNo" placeholder="请输入所属车辆" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
@ -55,12 +42,7 @@
</el-col> -->
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input
type="textarea"
v-model="dialogForm.remark"
rows="3"
resize="none"
></el-input>
<el-input type="textarea" v-model="dialogForm.remark" rows="3" resize="none"></el-input>
</el-form-item>
</el-col>
</el-row>
@ -98,16 +80,16 @@ export default {
return {
//
dialogForm: {
clientid: "",
plateno: "",
clientId: "",
plateNo: "",
areas: [],
remark: "",
},
rules: {
clientid: [
clientId: [
{ required: true, message: "设备编号不能为空", trigger: "blur" },
],
plateno: [
plateNo: [
{ required: true, message: "所属车辆不能为空", trigger: "blur" },
],
areas: [
@ -129,12 +111,7 @@ export default {
dialogItem: {
handler(val) {
if (val.title === "修改") {
const a =
"122.2772084092066,42.1903654574782;122.4566518803403,41.91936930784885;123.0608999272153,41.9541594027907;122.9638539170191,42.419247153717315;122.37425425176474,42.413753989654815;122.36143698071095,42.24529693046514;122.2772084092066,42.1903654574782";
this.dialogForm.coordinates = a;
this.editCoordinates = a.split(";").map((item) => {
return item.split(",");
});
this.dialogForm = JSON.parse(JSON.stringify(val.item))
}
},
immediate: true,

View File

@ -2,7 +2,7 @@
* @Author: SunTao 328867980@qq.com
* @Date: 2024-10-17 10:40:54
* @LastEditors: SunTao 328867980@qq.com
* @LastEditTime: 2024-10-17 10:53:59
* @LastEditTime: 2024-12-05 17:38:38
* @FilePath: \znxjxt-ui\src\views\xj\route\route-terminal\index.vue
* @Description: 路线管理-终端管理
-->
@ -11,119 +11,52 @@
<div class="section-content">
<!-- 搜索表单 -->
<div class="section-form">
<el-form
:model="sectionForm"
ref="queryForm"
size="small"
:inline="true"
label-width="6rem"
>
<el-form-item label="设备编号" prop="clientid">
<el-input
v-model="sectionForm.clientid"
placeholder="请输入设备编号"
clearable
@keyup.enter.native="handleQuery"
/>
<el-form :model="sectionForm" ref="queryForm" size="small" :inline="true" label-width="6rem">
<el-form-item label="设备编号" prop="clientId">
<el-input v-model="sectionForm.clientId" placeholder="请输入设备编号" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<!-- 操作按钮 -->
<div class="btn-row">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
>新增
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增
</el-button>
</div>
<!-- 列表 -->
<el-table
ref="roadTable"
v-loading="loading"
:data="sectionList"
@selection-change="handleSelectionChange"
style="width: 100%"
>
<el-table ref="roadTable" v-loading="loading" :data="sectionList" @selection-change="handleSelectionChange"
style="width: 100%">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="设备编号" align="center" prop="clientId" />
<el-table-column label="所属车辆" align="center" prop="plateNo" />
<el-table-column label="作业范围" align="center" prop="segmentCode" />
<el-table-column label="设备状态" align="center" prop="name" />
<el-table-column label="网络连接" align="center" prop="name" />
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="viewTable(scope.row)"
>查看
<el-button size="mini" type="text" icon="el-icon-view" @click="viewTable(scope.row)">查看
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="editTable(scope.row)"
>修改
<el-button size="mini" type="text" icon="el-icon-edit" @click="editTable(scope.row)">修改
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="deleteTable(scope.row)"
>删除
<el-button size="mini" type="text" icon="el-icon-delete" @click="deleteTable(scope.row)">删除
</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<div class="pagination-part">
<el-pagination
background
:current-page.sync="pagination.page"
@current-change="handleCurrentChange"
:page-sizes="[10, 20, 30, 40]"
:page-size.sync="pagination.size"
@size-change="handleSizeChange"
layout="total, sizes, prev, pager, next, jumper"
:total="tableTotal"
>
<el-pagination background :current-page.sync="pagination.page" @current-change="handleCurrentChange"
:page-sizes="[10, 20, 30, 40]" :page-size.sync="pagination.size" @size-change="handleSizeChange"
layout="total, sizes, prev, pager, next, jumper" :total="tableTotal">
</el-pagination>
</div>
<!-- 新增/修改弹窗 -->
<el-dialog
:title="addTitle"
:visible.sync="addVisible"
width="60%"
append-to-body
:close-on-click-modal="false"
destroy-on-close
@close="addCancel"
>
<terminal-add
v-if="addVisible"
:dialogItem="dialogItem"
@addCancel="addCancel"
></terminal-add>
<el-dialog :title="addTitle" :visible.sync="addVisible" width="60%" append-to-body :close-on-click-modal="false"
destroy-on-close @close="addCancel">
<terminal-add v-if="addVisible" :dialogItem="dialogItem" @addCancel="addCancel"></terminal-add>
</el-dialog>
</div>
</template>
@ -140,7 +73,7 @@ export default {
//
sectionForm: {
// segmentCode: "",
clientid: "",
clientId: "",
},
//
searchForm: {},
@ -190,7 +123,7 @@ export default {
resetQuery() {
this.sectionForm = {
// segmentCode: "",
clientid: "",
clientId: "",
};
this.searchForm = {};
this.getTableList();
@ -249,10 +182,11 @@ export default {
* @param {*} val
* @return {*}
*/
editTable() {
editTable(item) {
this.addTitle = "修改设备";
this.dialogItem = {
title: "修改",
item,
};
this.addVisible = true;
},
@ -342,4 +276,3 @@ export default {
justify-content: flex-end;
}
</style>