fix:修改联调

This commit is contained in:
SunTao 2025-01-15 15:09:36 +08:00
parent ba5183d592
commit c661674306
10 changed files with 715 additions and 349 deletions

View File

@ -18,3 +18,21 @@ export function getDefectList(params) {
params,
});
}
// 查询数据列表
export function getDataList(params) {
return request({
url: "/basCheckoutSetting/list",
method: "get",
params,
});
}
// 修改数据状态
export function updateStatus(data) {
return request({
url: "/basCheckoutSetting/updateStatus",
method: "post",
data,
});
}

View File

@ -60,3 +60,12 @@ export function getMaintenanceNoticeById(params) {
params,
});
}
// 查询病害列表
export function listDefect(query) {
return request({
url: "/xj/defect/list",
method: "get",
params: query,
});
}

View File

@ -2,7 +2,7 @@
* @Author: error: error: git config user.name & please set dead value or install git && error: git config user.email & please set dead value or install git & please set dead value or install git
* @Date: 2024-10-08 09:26:24
* @LastEditors: SunTao 328867980@qq.com
* @LastEditTime: 2024-12-02 14:46:30
* @LastEditTime: 2025-01-15 14:48:24
* @FilePath: \znxjxt-ui\src\api\xj\warnSetup.js
* @Description: 巡检信息-预警设置
*/
@ -13,7 +13,7 @@ export function getDefectList(params) {
return request({
// 病害类型下拉
// url: "/metadata/defectType",
url: "/bigscreen/v2/getDefectTypesDrowDown",
url: "/alarmSetting/dropDown",
method: "get",
params,
});
@ -28,6 +28,15 @@ export function getWarnSetupList(params) {
});
}
// 新增预警设置
export function addWarnSetup(data) {
return request({
url: "/alarmSetting/add",
method: "post",
data,
});
}
// 更新预警设置
export function updateWarnSetup(params) {
return request({
@ -44,3 +53,11 @@ export function getSegment() {
method: "post",
});
}
// 删除预警设置
export function delWarnSetup(id) {
return request({
url: `/alarmSetting/${id}`,
method: "delete",
});
}

View File

@ -2,7 +2,7 @@
* @Author: SunTao 328867980@qq.com
* @Date: 2024-11-20 11:58:33
* @LastEditors: SunTao 328867980@qq.com
* @LastEditTime: 2025-01-03 10:37:57
* @LastEditTime: 2025-01-15 11:48:48
* @FilePath: \znxjxt-ui\src\views\xj\document\maintenance-notice\components\edit-dialog.vue
* @Description: 养护通知单编辑弹窗
-->
@ -89,6 +89,272 @@
</el-form-item>
</el-row> -->
</el-form>
<el-card shadow="never">
<div slot="header" class="clearfix">
<span>选择病害</span>
<!-- <el-button style="float: right; padding: 3px 0" type="text"
>操作按钮</el-button
> -->
</div>
<!-- 列表查询条件 -->
<el-form
:model="diseaseForm"
ref="queryForm"
size="small"
:inline="true"
label-width="100px"
>
<el-form-item label="道路名称" prop="segmentName">
<el-select
v-model="diseaseForm.segmentName"
placeholder="请选择路段"
filterable
clearable
>
<el-option
v-for="item in segmentList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="采集时间" prop="dateTime">
<el-date-picker
v-model="dateTime"
type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
clearable
/>
</el-form-item>
<el-form-item label="病害类型" prop="paramsDefectType">
<el-cascader
v-model="paramsDefectType"
:options="tableDefect"
:props="{
checkStrictly: true,
emitPath: true,
children: 'subTypes',
}"
clearable
></el-cascader>
</el-form-item>
<!-- <el-form-item label="病害状态" prop="state">
<el-select
v-model="diseaseForm.state"
placeholder="请选择病害状态"
clearable
>
<el-option
v-for="item in defectStatus"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item> -->
<el-form-item label="上下行" prop="inspectDirection">
<el-select
v-model="diseaseForm.inspectDirection"
placeholder="请选择"
clearable
>
<el-option label="上行" value="0" />
<el-option label="下行" value="1" />
</el-select>
</el-form-item>
<el-form-item label="公里桩" prop="stakeRange">
<el-input
v-model="diseaseForm.stakeStart"
placeholder="起始公里桩"
style="width: 10rem"
clearable
/>
<span style="margin: 0 5px">-</span>
<el-input
v-model="diseaseForm.stakeEnd"
placeholder="终止公里桩"
style="width: 10rem"
clearable
/>
<el-tooltip
class="item"
effect="dark"
content="格式为K0000+000"
placement="top"
>
<i class="el-icon-info"></i>
</el-tooltip>
</el-form-item>
<el-form-item label="病害id" prop="id">
<el-input
v-model="diseaseForm.id"
placeholder="请填写病害id"
clearable
/>
</el-form-item>
<el-form-item label="病害长度" prop="lengthRange">
<el-input-number
v-model="diseaseForm.minLen"
controls-position="right"
placeholder="最小长度"
:min="0"
></el-input-number>
<span style="margin: 0 5px">-</span>
<el-input-number
v-model="diseaseForm.maxLen"
controls-position="right"
placeholder="最大长度"
:min="0"
></el-input-number>
</el-form-item>
<el-form-item label="快照id" prop="snapshotId">
<el-input
v-model="diseaseForm.snapshotId"
placeholder="请填写快照id"
clearable
/>
</el-form-item>
<el-form-item label="病害面积" prop="areaRange">
<el-input-number
v-model="diseaseForm.minArea"
controls-position="right"
placeholder="最小面积"
:min="0"
></el-input-number>
<span style="margin: 0 5px">-</span>
<el-input-number
v-model="diseaseForm.maxArea"
controls-position="right"
placeholder="最大面积"
:min="0"
></el-input-number>
</el-form-item>
<el-form-item label="巡检任务" prop="taskId">
<el-select
v-model="diseaseForm.taskId"
placeholder="请选择巡检任务"
filterable
clearable
>
<el-option
v-for="item in taskList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="是否已确认" prop="confirmStatus">
<el-select
v-model="diseaseForm.confirmStatus"
placeholder="请选择"
clearable
>
<el-option label="确认" value="1" />
<el-option label="未确认" value="2" />
</el-select>
</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-form-item>
</el-form>
<!-- 列表 -->
<el-table
ref="roadTable"
v-loading="loading"
:data="diseaseList"
:row-key="getRowKey"
@selection-change="handleSelectionChange"
height="40rem"
style="width: 100%"
>
<el-table-column
type="selection"
:reserve-selection="true"
width="55"
align="center"
/>
<el-table-column label="路段名称" align="center" prop="segmentName" />
<el-table-column label="采集时间" align="center" prop="createdTime">
<template slot-scope="scope">
<span>{{ new Date(scope.row.createdTime).toLocaleString() }}</span>
</template>
</el-table-column>
<el-table-column label="病害类型" align="center" prop="defectTypeName">
</el-table-column>
<!-- <el-table-column label="病害状态" align="center" prop="state">
<template slot-scope="scope">
<span>{{ filterState(scope.row.state) }}</span>
</template>
</el-table-column> -->
<el-table-column label="校验状态" align="center" prop="dataStatus">
<template slot-scope="scope">
<span>{{
scope.row.dataStatus
? scope.row.dataStatus === 1
? "未校验"
: "已校验"
: ""
}}</span>
</template>
</el-table-column>
<el-table-column label="开始桩号" align="center" prop="stakeStart" />
<el-table-column label="结束桩号" align="center" prop="stakeEnd" />
<el-table-column label="病害图片" align="center" prop="media">
<template slot-scope="scope">
<img
@click="showScreenImg(scope.row)"
height="50"
:src="scope.row.mediaUrl"
/>
</template>
</el-table-column>
<el-table-column label="病害长度" align="center" prop="targetLen">
<template slot-scope="scope">
{{ scope.row.targetLen * 1 <= 0 ? "" : `${scope.row.targetLen}` }}
</template>
</el-table-column>
<el-table-column label="病害面积" align="center" prop="targetArea" />
<el-table-column
label="道路方向"
align="center"
prop="inspectDirection"
>
<template slot-scope="scope">
<span>{{
scope.row.inspectDirection === "0" ? "上行" : "下行"
}}</span>
</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>
</div>
</el-card>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
@ -98,7 +364,7 @@
<script>
import FssmScroll from "@/components/scroll/fssm-scroll.vue";
import { addMaintenanceNotice } from "@/api/xj/document";
import { addMaintenanceNotice, listDefect } from "@/api/xj/document";
export default {
name: "EditDialog",
components: { FssmScroll },
@ -173,6 +439,48 @@ export default {
// },
// ],
},
//
diseaseForm: {
segmentName: "",
defectType: "",
classType: "",
taskId: "",
state: "",
inspectDirection: "",
stakeStart: "",
stakeEnd: "",
warningFlag: null,
minLen: undefined,
maxLen: undefined,
minArea: undefined,
maxArea: undefined,
confirmStatus: "",
id: "",
snapshotId: "",
taskId: "",
},
//
dateTime: [],
//
paramsDefectType: [],
//
tableDefect: [],
//
taskList: [],
//
diseaseList: [],
//
loading: false,
//
checkList: [],
// -
tableTotal: 0,
// -
pagination: {
page: 1,
size: 10,
},
};
},
watch: {
@ -197,6 +505,9 @@ export default {
immediate: true,
},
},
mounted() {
this.getDiseaseList();
},
methods: {
// /**
// * @description:
@ -212,6 +523,72 @@ export default {
// this.editForm.taskDescription.splice(index, 1);
// },
handleQuery() {},
resetQuery() {},
/**
* @description: 获取病害列表数据
* @param {*}
* @return {*}
*/
getDiseaseList() {
this.loading = true;
const params = {
...this.searchForm,
...this.pagination,
startTime: this.dateTime ? this.dateTime[0] : "",
endTime: this.dateTime ? this.dateTime[1] : "",
};
listDefect(params)
.then((response) => {
this.diseaseList = response.rows;
this.tableTotal = response.total;
this.loading = false;
})
.catch(() => {
this.loading = false;
});
},
/**
* @description: 列表行绑定id
* @param {*} row
* @return {*}
*/
getRowKey(row) {
return row.snapshotId;
},
/**
* @description: 列表选择改变事件
* @param {*} selection
* @return {*}
*/
handleSelectionChange(selection) {
this.checkList = selection;
},
/**
* @description: 切换分页
* @param {*} arg
* @return {*}
*/
handleCurrentChange(arg) {
this.pagination.page = arg;
this.getDiseaseList();
},
/**
* @description: 切换每条/
* @param {*} arg
* @return {*}
*/
handleSizeChange(arg) {
this.pagination.size = arg;
this.getDiseaseList();
},
/**
* @description: 取消
*/
@ -273,8 +650,17 @@ export default {
}
}
/* 分页样式 */
.pagination-part {
width: 100%;
display: flex;
padding-top: 1rem;
justify-content: flex-end;
}
/* 页脚 */
.dialog-footer {
padding: 1rem 0;
display: flex;
justify-content: flex-end;
}

View File

@ -2,7 +2,7 @@
* @Author: SunTao 328867980@qq.com
* @Date: 2024-11-20 11:58:33
* @LastEditors: SunTao 328867980@qq.com
* @LastEditTime: 2025-01-14 09:37:31
* @LastEditTime: 2025-01-15 11:15:05
* @FilePath: \znxjxt-ui\src\views\xj\document\maintenance-notice\index.vue
* @Description: 养护通知单
-->
@ -142,62 +142,45 @@
>
</el-form-item>
</el-form>
<!-- 导航栏 -->
<el-tabs v-model="activeName" @tab-click="resetQuery">
<el-tab-pane
v-for="(item, index) in editableTabs"
:key="`tabs-${index}`"
:label="item.title"
:name="item.value"
>
<!-- 标签页头 -->
<span slot="label"
><i
v-if="item.status === '1'"
style="color: #67c23a"
class="el-icon-success"
></i>
<i
v-if="item.status === '4'"
style="color: #409eff"
class="el-icon-remove"
></i>
<i
v-if="item.status === '2'"
style="color: #e6a23c"
class="el-icon-info"
></i>
<i
v-if="item.status === '3'"
style="color: #909399"
class="el-icon-warning"
></i
>{{ item.title }}</span
>
<span v-if="item.status === '3'">
病害总长度{{ lengthSum }} 病害总面积{{ areaSum }}</span
>
<!-- 操作按钮 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
>新增
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete(null)"
>删除
</el-button>
</el-col>
</el-row>
<!-- 表格 -->
<el-table
class="notice-table"
ref="noticeTable"
:data="noticeList"
@selection-change="handleSelectionChange"
v-loading="loading"
style="width: 100%"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="index" label="序号"> </el-table-column>
<el-table-column label="路段名称" align="center" prop="segmentName" />
<el-table-column
label="采集时间"
align="center"
prop="createdTimeLocal"
>
<el-table-column label="采集时间" align="center" prop="createdTimeLocal">
</el-table-column>
<el-table-column
label="病害类型"
align="center"
prop="defectTypeName"
>
<el-table-column label="病害类型" align="center" prop="defectTypeName">
</el-table-column>
<el-table-column label="开始桩号" align="center" prop="stakeStart" />
<el-table-column label="结束桩号" align="center" prop="stakeEnd" />
@ -212,9 +195,7 @@
</el-table-column>
<el-table-column label="病害长度" align="center" prop="targetLen">
<template slot-scope="scope">
{{
scope.row.targetLen * 1 <= 0 ? "" : `${scope.row.targetLen}`
}}
{{ scope.row.targetLen * 1 <= 0 ? "" : `${scope.row.targetLen}` }}
</template>
</el-table-column>
<el-table-column label="病害面积" align="center" prop="targetArea" />
@ -244,23 +225,20 @@
>
<template slot-scope="scope">
<el-button
v-if="activeName !== '未生成'"
size="mini"
type="text"
icon="el-icon-view"
@click="handleView(scope.row)"
>查看
</el-button>
<el-button
v-if="activeName === '未生成'"
<!-- <el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
>生成通知单
</el-button>
</el-button> -->
<el-button
v-if="activeName === '已生成'"
size="mini"
type="text"
icon="el-icon-delete"
@ -284,23 +262,21 @@
>
</el-pagination>
</div>
</el-tab-pane>
</el-tabs>
<!-- 编辑弹窗 -->
<!-- 新增弹窗 -->
<el-dialog
title="生成表单"
:visible.sync="editVisible"
width="40rem"
:visible.sync="addVisible"
width="90%"
append-to-body
:close-on-click-modal="false"
destroy-on-close
@close="editCancel"
@close="addCancel"
>
<edit-dialog
v-if="editVisible"
v-if="addVisible"
:segmentList="segmentList"
:dialogItem="dialogItem"
@cancel="editCancel"
@cancel="addCancel"
/>
</el-dialog>
@ -436,15 +412,6 @@ export default {
segmentList: [],
//
tableDefect: [],
//
activeName: "未生成",
//
editableTabs: [
{ title: "未生成", value: "未生成", status: "3" },
{ title: "已生成", value: "已生成", status: "2" },
{ title: "已开工", value: "已开工", status: "4" },
{ title: "已完成", value: "已完成", status: "1" },
],
//
lengthSum: "",
//
@ -461,11 +428,13 @@ export default {
page: 1,
size: 10,
},
//
multiple: true,
//
dialogItem: {},
//
editVisible: false,
addVisible: false,
//
viewVisible: false,
@ -507,15 +476,6 @@ export default {
});
},
/**
* @description: 切换导航栏
* @param {*}
* @return {*}
*/
changeTab() {
this.resetQuery();
},
/**
* @description: 点击查询
* @param {*}
@ -583,7 +543,6 @@ export default {
const data = {
...this.searchForm,
...this.pagination,
maintenanceStatus: this.activeName,
};
getMaintenanceNoticeList(data)
.then(({ code, rows, total }) => {
@ -597,6 +556,26 @@ export default {
});
},
/**
* @description: 列表选择改变事件
* @param {*} selection
* @return {*}
*/
handleSelectionChange(selection) {
this.checkIds = selection.map((item) => item.id);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
/**
* @description: 点击新增事件
* @param {*} row
* @return {*}
*/
handleAdd() {
this.addVisible = true;
},
/**
* @description: 表格查看事件
* @param {*} row
@ -614,7 +593,7 @@ export default {
*/
handleUpdate(row) {
this.dialogItem = row;
this.editVisible = true;
this.addVisible = true;
},
/**
@ -656,12 +635,12 @@ export default {
},
/**
* @description: 编辑弹窗关闭事件
* @description: 新增弹窗关闭事件
* @param {*}
* @return {*}
*/
editCancel() {
this.editVisible = false;
addCancel() {
this.addVisible = false;
this.dialogItem = {};
this.getList();
},

View File

@ -2,7 +2,7 @@
* @Author: SunTao 328867980@qq.com
* @Date: 2024-01-08 11:56:02
* @LastEditors: SunTao 328867980@qq.com
* @LastEditTime: 2025-01-14 11:45:24
* @LastEditTime: 2025-01-15 14:54:44
* @FilePath: \znxjxt-ui\src\views\xj\inspection-warn\warning-setup\components\add-setup.vue
* @Description: 预警中心-预警设置-新增/编辑组件
-->
@ -17,9 +17,9 @@
>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="道路名称" prop="segmentName">
<el-form-item label="道路名称" prop="segmentId">
<el-select
v-model="warningSetupForm.segmentName"
v-model="warningSetupForm.segmentId"
placeholder="请选择路段"
style="width: 100%"
filterable
@ -37,18 +37,20 @@
</el-row>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="病害类型" prop="paramsDefectType">
<el-cascader
v-model="warningSetupForm.paramsDefectType"
:options="tableDefect"
<el-form-item label="病害类型" prop="defectType">
<el-select
v-model="warningSetupForm.defectType"
placeholder="请选择病害"
style="width: 100%"
:props="{
checkStrictly: true,
emitPath: true,
children: 'subTypes',
}"
clearable
></el-cascader>
>
<el-option
v-for="item in tableDefect"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
@ -96,6 +98,17 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="预警状态:" prop="status">
<el-switch
v-model="warningSetupForm.status"
active-value="启用"
inactive-value="停用"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -131,9 +144,9 @@ export default {
//
warningSetupForm: {
//
paramsDefectType: [],
defectType: "",
//
segmentName: "",
segmentId: "",
//
meteringType: "",
//
@ -158,10 +171,10 @@ export default {
],
//
rules: {
segmentName: [
segmentId: [
{ required: true, message: "请选择道路名称", trigger: "change" },
],
paramsDefectType: [
defectType: [
{ required: true, message: "请选择病害类型", trigger: "change" },
],
meteringType: [
@ -208,8 +221,6 @@ export default {
submitForm() {
this.$refs.warningSetupForm.validate((valid) => {
if (valid) {
console.log(this.warningSetupForm,'sdfsdf');
const data = {
...this.warningSetupForm,
};

View File

@ -2,7 +2,7 @@
* @Author: SunTao 328867980@qq.com
* @Date: 2024-01-08 11:56:02
* @LastEditors: SunTao 328867980@qq.com
* @LastEditTime: 2025-01-14 11:20:04
* @LastEditTime: 2025-01-15 15:06:33
* @FilePath: \znxjxt-ui\src\views\xj\inspection-warn\warning-setup\index.vue
* @Description: 预警中心-预警设置
-->
@ -15,9 +15,9 @@
:inline="true"
label-width="5rem"
>
<el-form-item label="道路名称" prop="segmentName">
<el-form-item label="道路名称" prop="segmentId">
<el-select
v-model="setupForm.segmentName"
v-model="setupForm.segmentId"
placeholder="请选择路段"
filterable
clearable
@ -30,17 +30,19 @@
/>
</el-select>
</el-form-item>
<el-form-item label="病害类型" prop="paramsDefectType">
<el-cascader
v-model="paramsDefectType"
:options="tableDefect"
:props="{
checkStrictly: true,
emitPath: true,
children: 'subTypes',
}"
<el-form-item label="病害类型" prop="defectType">
<el-select
v-model="setupForm.defectType"
placeholder="请选择病害"
clearable
></el-cascader>
>
<el-option
v-for="item in tableDefect"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="病害长度" prop="lengthRange">
<el-input-number
@ -98,7 +100,7 @@
>新增
</el-button>
</el-col>
<el-col :span="1.5">
<!-- <el-col :span="1.5">
<el-button
type="danger"
plain
@ -109,7 +111,7 @@
v-hasPermi="['system:defect:remove']"
>删除
</el-button>
</el-col>
</el-col> -->
</el-row>
<!-- 表格 -->
<el-table
@ -119,7 +121,7 @@
@selection-change="handleSelectionChange"
style="width: 100%"
>
<el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column type="selection" width="55" align="center" /> -->
<el-table-column type="index" label="序号"> </el-table-column>
<el-table-column label="道路名称" align="center" prop="segmentName" />
<el-table-column
@ -166,7 +168,7 @@
</el-table-column>
</el-table>
<!-- 分页组件 -->
<div class="pagination-part">
<!-- <div class="pagination-part">
<el-pagination
background
:current-page.sync="pagination.page"
@ -178,7 +180,7 @@
:total="tableTotal"
>
</el-pagination>
</div>
</div> -->
<!-- 新增/编辑弹窗 -->
<el-dialog
title="预警设置"
@ -205,6 +207,7 @@ import {
getWarnSetupList,
updateWarnSetup,
getSegment,
delWarnSetup,
} from "@/api/xj/warnSetup";
import AddSetup from "./components/add-setup.vue";
export default {
@ -218,8 +221,7 @@ export default {
searchForm: {},
//
setupForm: {
segmentName: "",
classType: "",
segmentId: "",
defectType: "",
},
//
@ -288,14 +290,6 @@ export default {
*/
handleQuery() {
this.pagination.page = 1;
this.setupForm.classType = this.paramsDefectType
? this.paramsDefectType[0]
: "";
this.setupForm.defectType = this.paramsDefectType
? this.paramsDefectType.length > 1
? this.paramsDefectType[1]
: ""
: "";
this.searchForm = JSON.parse(JSON.stringify(this.setupForm));
this.getTableData();
},
@ -309,8 +303,7 @@ export default {
this.pagination.page = 1;
this.searchForm = {};
this.setupForm = {
segmentName: "",
classType: "",
segmentId: "",
defectType: "",
};
this.paramsDefectType = [];
@ -328,6 +321,7 @@ export default {
.then(({ code, data }) => {
if (code === 200) {
this.setupList = data;
// this.tableTotal = data.total;
}
})
.finally(() => {
@ -375,19 +369,19 @@ export default {
* @return {*}
*/
handleDelete(row) {
const checkIds = row ? [row.id] : this.checkIds;
if (!checkIds.length) {
this.$modal.msgWarning("请选择要删除的记录");
return;
}
const checkIds = row ? row.id : this.checkIds;
// if (!checkIds.length) {
// this.$modal.msgWarning("");
// return;
// }
this.$modal
.confirm(`是否确认删除选中的${checkIds.length}条记录?`)
.confirm(`是否确认删除选中的1条记录?`)
.then(() => {
// return deleteRoad(checkIds);
return delWarnSetup(checkIds);
})
.then(() => {
this.getRoadList();
this.$refs.defectTable.clearSelection();
this.getTableData();
// this.$refs.defectTable.clearSelection();
this.$modal.msgSuccess("删除成功");
})
.catch(() => {});

View File

@ -2,7 +2,7 @@
* @Author: SunTao 328867980@qq.com
* @Date: 2025-01-14 14:42:29
* @LastEditors: SunTao 328867980@qq.com
* @LastEditTime: 2025-01-14 16:35:48
* @LastEditTime: 2025-01-15 13:34:15
* @FilePath: \znxjxt-ui\src\views\xj\inspection\data-management\index.vue
* @Description: 巡检管理-数据管理
-->
@ -56,79 +56,23 @@
style="width: 100%"
>
<el-table-column type="index" label="序号"> </el-table-column>
<el-table-column label="路段名称" align="center" prop="segmentName" />
<el-table-column
label="采集时间"
label="病害类别"
align="center"
prop="createdTimeLocal"
>
</el-table-column>
<el-table-column
label="病害类型"
align="center"
prop="defectTypeName"
>
</el-table-column>
<el-table-column label="开始桩号" align="center" prop="stakeStart" />
<el-table-column label="结束桩号" align="center" prop="stakeEnd" />
<el-table-column label="病害图片" align="center" prop="media">
<template slot-scope="scope">
<img
@click="showScreenImg(scope.row)"
height="50"
:src="scope.row.mediaUrl"
prop="classTypeName"
/>
</template>
<el-table-column label="病害名称" align="center" prop="childTypeName">
</el-table-column>
<el-table-column label="病害长度" align="center" prop="targetLen">
<el-table-column label="修改人" align="center" prop="updateName" />
<el-table-column label="修改时间" align="center" prop="updatedTime" />
<el-table-column label="是否检出" align="center" prop="status">
<template slot-scope="scope">
{{
scope.row.targetLen * 1 <= 0 ? "" : `${scope.row.targetLen}`
}}
</template>
</el-table-column>
<el-table-column label="病害面积" align="center" prop="targetArea" />
<el-table-column label="状态" align="center" prop="noticeStatus" />
<el-table-column label="是否紧急" align="center" prop="urgentFlag">
<template slot-scope="scope">
<el-button
v-if="scope.row.urgentFlag === 1"
type="danger"
plain
disabled
>紧急</el-button
>
<el-button
v-if="scope.row.urgentFlag === 2"
type="warning"
plain
disabled
>不紧急</el-button
>
</template>
</el-table-column>
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
v-if="scope.row.status === 1"
size="mini"
type="text"
icon="el-icon-circle-check"
@click="handleConfirm(scope.row)"
>订阅
</el-button>
<el-button
v-if="scope.row.status === 2"
size="mini"
type="text"
icon="el-icon-circle-close"
@click="handleCancel(scope.row)"
>取消订阅
</el-button>
<el-switch
v-model="scope.row.status"
:active-value="1"
:inactive-value="0"
@change="handleCheckChange(scope.row)"
/>
</template>
</el-table-column>
</el-table>
@ -152,7 +96,11 @@
</template>
<script>
import { getDefectList } from "@/api/xj/dataManagement";
import {
getDefectList,
getDataList,
updateStatus,
} from "@/api/xj/dataManagement";
export default {
name: "DataManagement",
components: {},
@ -168,11 +116,11 @@ export default {
defectTypeList: [],
//
editableTabs: [
{ title: "病害", status: "2" },
{ title: "路产", status: "1" },
{ title: "病害", value: "1", status: "2" },
{ title: "路产", value: "2", status: "1" },
],
// tab
activeName: "",
activeName: "1",
//
loading: false,
//
@ -187,7 +135,7 @@ export default {
};
},
mounted() {
// this.getTableDefect();
this.getList();
},
methods: {
/**
@ -217,42 +165,46 @@ export default {
* @param {*} val
* @return {*}
*/
getList() {},
/**
* @description: 订阅
*/
handleConfirm(row) {
this.$modal
.confirm(`是否确认订阅选中的【${row.messageTypeName}】消息?`)
.then(() => {
return subscribe({
messageType: row.messageType,
getList() {
getDataList({ type: this.activeName }).then(({ code, data }) => {
if (code === 200) {
this.dataList = data;
}
});
})
.then(() => {
this.getList();
this.$modal.msgSuccess("订阅成功");
})
.catch(() => {});
},
/**
* @description: 取消订阅
* @description: 切换是否检出状态
* @param {*} row
* @return {*}
*/
handleCancel(row) {
this.$modal
.confirm(`是否取消订阅选中的【${row.messageTypeName}】消息?`)
.then(() => {
return unsubscribe({
messageType: row.messageType,
});
})
.then(() => {
handleCheckChange(row) {
updateStatus(row).then(({ code, msg }) => {
if (code === 200) {
this.$modal.msgSuccess(msg);
this.getList();
}
});
},
/**
* @description: 切换分页
* @param {*} arg
* @return {*}
*/
handleCurrentChange(arg) {
this.pagination.page = arg;
this.getList();
},
/**
* @description: 切换每条/
* @param {*} arg
* @return {*}
*/
handleSizeChange(arg) {
this.pagination.size = arg;
this.getList();
this.$modal.msgSuccess("取消订阅成功");
})
.catch(() => {});
},
},
};

View File

@ -161,14 +161,14 @@
/>
</el-select>
</el-form-item>
<el-form-item label="是否已确认" prop="confirmStatus">
<el-form-item label="是否已确认" prop="dataStatus">
<el-select
v-model="queryParams.confirmStatus"
v-model="queryParams.dataStatus"
placeholder="请选择"
clearable
>
<el-option label="确认" value="1" />
<el-option label="未确认" value="2" />
<el-option label="确认" value="2" />
<el-option label="未确认" value="1" />
</el-select>
</el-form-item>
<el-form-item>
@ -721,7 +721,7 @@ export default {
maxLen: undefined,
minArea: undefined,
maxArea: undefined,
confirmStatus: "",
dataStatus: "",
id: "",
snapshotId: "",
taskId: "",
@ -1006,7 +1006,7 @@ export default {
maxLen: undefined,
minArea: undefined,
maxArea: undefined,
confirmStatus: "",
dataStatus: "",
id: "",
snapshotId: "",
taskId: "",

View File

@ -2,7 +2,7 @@
* @Author: SunTao 328867980@qq.com
* @Date: 2024-10-11 15:14:16
* @LastEditors: SunTao 328867980@qq.com
* @LastEditTime: 2025-01-14 14:24:28
* @LastEditTime: 2025-01-15 15:08:22
* @FilePath: \znxjxt-ui\src\views\xj\inspection\road-management\index.vue
* @Description: 巡检信息-路产管理
-->
@ -633,9 +633,9 @@ export default {
return deleteRoad(checkIds);
})
.then(() => {
this.$modal.msgSuccess("删除成功");
this.getRoadList();
this.$refs.defectTable.clearSelection();
this.$modal.msgSuccess("删除成功");
})
.catch(() => {});
},