fix:病害管理新增导出,增加条件,预警设置修改,路产删除修改传id,增加数据管理页面
This commit is contained in:
parent
88ff760930
commit
ba5183d592
20
src/api/xj/dataManagement.js
Normal file
20
src/api/xj/dataManagement.js
Normal file
@ -0,0 +1,20 @@
|
||||
/*
|
||||
* @Author: SunTao 328867980@qq.com
|
||||
* @Date: 2025-01-14 15:58:14
|
||||
* @LastEditors: SunTao 328867980@qq.com
|
||||
* @LastEditTime: 2025-01-14 15:58:29
|
||||
* @FilePath: \znxjxt-ui\src\api\xj\dataManagement.js
|
||||
* @Description: 巡检管理-数据管理
|
||||
*/
|
||||
import request from "@/utils/request";
|
||||
|
||||
// 查询列表病害类型
|
||||
export function getDefectList(params) {
|
||||
return request({
|
||||
// 病害类型下拉
|
||||
// url: "/metadata/defectType",
|
||||
url: "/bigscreen/v2/getDefectTypesDrowDown",
|
||||
method: "get",
|
||||
params,
|
||||
});
|
||||
}
|
||||
@ -36,3 +36,11 @@ export function updateWarnSetup(params) {
|
||||
data: params,
|
||||
});
|
||||
}
|
||||
|
||||
// 路段下拉数据
|
||||
export function getSegment() {
|
||||
return request({
|
||||
url: "/api/v2/segment/selectList",
|
||||
method: "post",
|
||||
});
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
* @Author: SunTao 328867980@qq.com
|
||||
* @Date: 2024-11-20 11:58:33
|
||||
* @LastEditors: SunTao 328867980@qq.com
|
||||
* @LastEditTime: 2025-01-10 15:03:20
|
||||
* @LastEditTime: 2025-01-14 09:37:31
|
||||
* @FilePath: \znxjxt-ui\src\views\xj\document\maintenance-notice\index.vue
|
||||
* @Description: 养护通知单
|
||||
-->
|
||||
@ -174,6 +174,9 @@
|
||||
></i
|
||||
>{{ item.title }}</span
|
||||
>
|
||||
<span v-if="item.status === '3'">
|
||||
病害总长度:{{ lengthSum }} ;病害总面积:{{ areaSum }}</span
|
||||
>
|
||||
<!-- 表格 -->
|
||||
<el-table
|
||||
class="notice-table"
|
||||
@ -442,7 +445,10 @@ export default {
|
||||
{ title: "已开工", value: "已开工", status: "4" },
|
||||
{ title: "已完成", value: "已完成", status: "1" },
|
||||
],
|
||||
|
||||
// 病害总长度
|
||||
lengthSum: "",
|
||||
// 病害总面积
|
||||
areaSum: "",
|
||||
// 表格加载状态
|
||||
loading: false,
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
* @Author: SunTao 328867980@qq.com
|
||||
* @Date: 2024-01-08 11:56:02
|
||||
* @LastEditors: SunTao 328867980@qq.com
|
||||
* @LastEditTime: 2024-12-17 13:44:44
|
||||
* @LastEditTime: 2025-01-14 11:45:24
|
||||
* @FilePath: \znxjxt-ui\src\views\xj\inspection-warn\warning-setup\components\add-setup.vue
|
||||
* @Description: 预警中心-预警设置-新增/编辑组件
|
||||
-->
|
||||
@ -15,6 +15,43 @@
|
||||
:rules="rules"
|
||||
label-width="8rem"
|
||||
>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="道路名称" prop="segmentName">
|
||||
<el-select
|
||||
v-model="warningSetupForm.segmentName"
|
||||
placeholder="请选择路段"
|
||||
style="width: 100%"
|
||||
filterable
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="item in segmentList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="病害类型" prop="paramsDefectType">
|
||||
<el-cascader
|
||||
v-model="warningSetupForm.paramsDefectType"
|
||||
:options="tableDefect"
|
||||
style="width: 100%"
|
||||
:props="{
|
||||
checkStrictly: true,
|
||||
emitPath: true,
|
||||
children: 'subTypes',
|
||||
}"
|
||||
clearable
|
||||
></el-cascader>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="预警类型:" prop="meteringType">
|
||||
@ -68,10 +105,15 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { updateWarnSetup } from "@/api/xj/warnSetup";
|
||||
import { updateWarnSetup, addWarnSetup } from "@/api/xj/warnSetup";
|
||||
export default {
|
||||
name: "AddSetup",
|
||||
props: {
|
||||
// 道路下拉
|
||||
segmentList: {
|
||||
type: Array,
|
||||
default: () => [],
|
||||
},
|
||||
// 病害类型
|
||||
tableDefect: {
|
||||
type: Array,
|
||||
@ -88,6 +130,10 @@ export default {
|
||||
return {
|
||||
// 预警设置表单
|
||||
warningSetupForm: {
|
||||
// 病害类型绑定
|
||||
paramsDefectType: [],
|
||||
// 道路名称绑定
|
||||
segmentName: "",
|
||||
// 预警类型
|
||||
meteringType: "",
|
||||
// 预警病害长度
|
||||
@ -112,9 +158,15 @@ export default {
|
||||
],
|
||||
// 表单验证规则
|
||||
rules: {
|
||||
meteringType: [
|
||||
segmentName: [
|
||||
{ required: true, message: "请选择道路名称", trigger: "change" },
|
||||
],
|
||||
paramsDefectType: [
|
||||
{ required: true, message: "请选择病害类型", trigger: "change" },
|
||||
],
|
||||
meteringType: [
|
||||
{ required: true, message: "请选择预警类型", trigger: "change" },
|
||||
],
|
||||
length: [
|
||||
{ required: true, message: "请输入预警病害长度", trigger: "blur" },
|
||||
],
|
||||
@ -156,16 +208,26 @@ export default {
|
||||
submitForm() {
|
||||
this.$refs.warningSetupForm.validate((valid) => {
|
||||
if (valid) {
|
||||
console.log(this.warningSetupForm,'sdfsdf');
|
||||
|
||||
const data = {
|
||||
...this.warningSetupForm,
|
||||
id: this.dialogItem.id,
|
||||
};
|
||||
updateWarnSetup(data).then(({ code, data }) => {
|
||||
if (this.warningSetupForm.id) {
|
||||
updateWarnSetup(data).then(({ code }) => {
|
||||
if (code === 200) {
|
||||
this.$modal.msgSuccess("更新成功");
|
||||
this.$emit("cancel");
|
||||
}
|
||||
});
|
||||
} else {
|
||||
addWarnSetup(data).then(({ code }) => {
|
||||
if (code === 200) {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.$emit("cancel");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@ -2,19 +2,34 @@
|
||||
* @Author: SunTao 328867980@qq.com
|
||||
* @Date: 2024-01-08 11:56:02
|
||||
* @LastEditors: SunTao 328867980@qq.com
|
||||
* @LastEditTime: 2024-12-17 13:31:41
|
||||
* @LastEditTime: 2025-01-14 11:20:04
|
||||
* @FilePath: \znxjxt-ui\src\views\xj\inspection-warn\warning-setup\index.vue
|
||||
* @Description: 预警中心-预警设置
|
||||
-->
|
||||
<template>
|
||||
<div class="content">
|
||||
<!-- <el-form
|
||||
<el-form
|
||||
:model="setupForm"
|
||||
ref="setupForm"
|
||||
size="small"
|
||||
:inline="true"
|
||||
label-width="5rem"
|
||||
>
|
||||
<el-form-item label="道路名称" prop="segmentName">
|
||||
<el-select
|
||||
v-model="setupForm.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="paramsDefectType">
|
||||
<el-cascader
|
||||
v-model="paramsDefectType"
|
||||
@ -27,8 +42,7 @@
|
||||
clearable
|
||||
></el-cascader>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="病害长度" prop="lengthRange">
|
||||
<!-- <el-form-item label="病害长度" prop="lengthRange">
|
||||
<el-input-number
|
||||
v-model="setupForm.minLen"
|
||||
controls-position="right"
|
||||
@ -58,7 +72,7 @@
|
||||
placeholder="最大面积"
|
||||
:min="0"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item>
|
||||
<el-button
|
||||
type="primary"
|
||||
@ -96,7 +110,7 @@
|
||||
>删除
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-row> -->
|
||||
</el-row>
|
||||
<!-- 表格 -->
|
||||
<el-table
|
||||
ref="setupTable"
|
||||
@ -107,6 +121,7 @@
|
||||
>
|
||||
<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
|
||||
width="200"
|
||||
label="预警名称"
|
||||
@ -140,9 +155,30 @@
|
||||
@click="handleUpdate(scope.row)"
|
||||
>编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(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>
|
||||
</div>
|
||||
<!-- 新增/编辑弹窗 -->
|
||||
<el-dialog
|
||||
title="预警设置"
|
||||
@ -155,6 +191,7 @@
|
||||
<add-setup
|
||||
v-if="addVisible"
|
||||
:tableDefect="tableDefect"
|
||||
:segmentList="segmentList"
|
||||
:dialogItem="dialogItem"
|
||||
@cancel="addCancel"
|
||||
></add-setup>
|
||||
@ -167,6 +204,7 @@ import {
|
||||
getDefectList,
|
||||
getWarnSetupList,
|
||||
updateWarnSetup,
|
||||
getSegment,
|
||||
} from "@/api/xj/warnSetup";
|
||||
import AddSetup from "./components/add-setup.vue";
|
||||
export default {
|
||||
@ -176,8 +214,16 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
// 传查询接口表单
|
||||
searchForm: {},
|
||||
// 预警设置表单
|
||||
setupForm: {},
|
||||
setupForm: {
|
||||
segmentName: "",
|
||||
classType: "",
|
||||
defectType: "",
|
||||
},
|
||||
// 路段下拉选项
|
||||
segmentList: [],
|
||||
// 病害类型绑定
|
||||
paramsDefectType: [],
|
||||
// 病害类型下拉
|
||||
@ -190,6 +236,13 @@ export default {
|
||||
checkIds: [],
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 分页-列表总数
|
||||
tableTotal: 0,
|
||||
// 分页-页数页码
|
||||
pagination: {
|
||||
page: 1,
|
||||
size: 10,
|
||||
},
|
||||
// 新增弹窗是否显示
|
||||
addVisible: false,
|
||||
// 传弹窗数据
|
||||
@ -198,8 +251,23 @@ export default {
|
||||
},
|
||||
created() {
|
||||
this.getTableData();
|
||||
this.getTableDefect();
|
||||
this.getSegmentList();
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
* @description: 获取路段下拉数据
|
||||
* @param {*} val
|
||||
* @return {*}
|
||||
*/
|
||||
getSegmentList() {
|
||||
getSegment().then(({ code, data }) => {
|
||||
if (code === 200) {
|
||||
this.segmentList = data;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* @description: 获取列表病害类型对应数据
|
||||
* @param {*} val
|
||||
@ -213,6 +281,42 @@ export default {
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* @description: 点击查询事件
|
||||
* @param {*}
|
||||
* @return {*}
|
||||
*/
|
||||
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();
|
||||
},
|
||||
|
||||
/**
|
||||
* @description: 点击重置事件
|
||||
* @param {*}
|
||||
* @return {*}
|
||||
*/
|
||||
resetQuery() {
|
||||
this.pagination.page = 1;
|
||||
this.searchForm = {};
|
||||
this.setupForm = {
|
||||
segmentName: "",
|
||||
classType: "",
|
||||
defectType: "",
|
||||
};
|
||||
this.paramsDefectType = [];
|
||||
this.getTableData();
|
||||
},
|
||||
|
||||
/**
|
||||
* @description: 获取预警设置列表数据
|
||||
* @param {*}
|
||||
@ -220,7 +324,7 @@ export default {
|
||||
*/
|
||||
getTableData() {
|
||||
this.loading = true;
|
||||
getWarnSetupList()
|
||||
getWarnSetupList({ ...this.pagination, ...this.searchForm })
|
||||
.then(({ code, data }) => {
|
||||
if (code === 200) {
|
||||
this.setupList = data;
|
||||
|
||||
276
src/views/xj/inspection/data-management/index.vue
Normal file
276
src/views/xj/inspection/data-management/index.vue
Normal file
@ -0,0 +1,276 @@
|
||||
<!--
|
||||
* @Author: SunTao 328867980@qq.com
|
||||
* @Date: 2025-01-14 14:42:29
|
||||
* @LastEditors: SunTao 328867980@qq.com
|
||||
* @LastEditTime: 2025-01-14 16:35:48
|
||||
* @FilePath: \znxjxt-ui\src\views\xj\inspection\data-management\index.vue
|
||||
* @Description: 巡检管理-数据管理
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="content">
|
||||
<el-form
|
||||
:model="dataForm"
|
||||
ref="noticeForm"
|
||||
size="small"
|
||||
:inline="true"
|
||||
label-width="5rem"
|
||||
>
|
||||
<!-- <el-form-item label="病害类型" prop="paramsDefectType">
|
||||
<el-cascader
|
||||
v-model="paramsDefectType"
|
||||
:options="defectTypeList"
|
||||
:props="{
|
||||
checkStrictly: true,
|
||||
emitPath: true,
|
||||
children: 'subTypes',
|
||||
}"
|
||||
clearable
|
||||
></el-cascader>
|
||||
</el-form-item> -->
|
||||
<!-- <el-form-item label="是否检出" prop="detected">
|
||||
<el-select
|
||||
v-model="dataForm.detected"
|
||||
placeholder="请选择是否检出"
|
||||
clearable
|
||||
>
|
||||
<el-option label="是" value="1" />
|
||||
<el-option label="否" value="2" />
|
||||
</el-select>
|
||||
</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"
|
||||
>
|
||||
<!-- 表格 -->
|
||||
<el-table
|
||||
class="notice-table"
|
||||
ref="noticeTable"
|
||||
:data="dataList"
|
||||
v-loading="loading"
|
||||
style="width: 100%"
|
||||
>
|
||||
<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>
|
||||
<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"
|
||||
/>
|
||||
</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="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>
|
||||
</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-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getDefectList } from "@/api/xj/dataManagement";
|
||||
export default {
|
||||
name: "DataManagement",
|
||||
components: {},
|
||||
data() {
|
||||
return {
|
||||
// 表单绑定
|
||||
dataForm: {
|
||||
detected: "",
|
||||
},
|
||||
// 病害类型级联下拉绑定
|
||||
paramsDefectType: [],
|
||||
// 病害类型级联下拉数据
|
||||
defectTypeList: [],
|
||||
// 导航栏数据绑定
|
||||
editableTabs: [
|
||||
{ title: "病害", status: "2" },
|
||||
{ title: "路产", status: "1" },
|
||||
],
|
||||
// tab切换数据栏绑定
|
||||
activeName: "",
|
||||
// 列表加载状态
|
||||
loading: false,
|
||||
// 列表数据
|
||||
dataList: [],
|
||||
// 列表分页
|
||||
pagination: {
|
||||
page: 1,
|
||||
size: 10,
|
||||
},
|
||||
// 列表数据总数
|
||||
tableTotal: 0,
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
// this.getTableDefect();
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
* @description: 获取列表病害类型对应数据
|
||||
* @param {*} val
|
||||
* @return {*}
|
||||
*/
|
||||
getTableDefect() {
|
||||
getDefectList().then(({ code, data }) => {
|
||||
if (code === 200) {
|
||||
this.defectTypeList = data;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* @description: 切换导航栏
|
||||
* @param {*} val
|
||||
* @return {*}
|
||||
*/
|
||||
resetQuery() {
|
||||
this.getList();
|
||||
},
|
||||
|
||||
/**
|
||||
* @description: 获取列表数据
|
||||
* @param {*} val
|
||||
* @return {*}
|
||||
*/
|
||||
getList() {},
|
||||
|
||||
/**
|
||||
* @description: 订阅
|
||||
*/
|
||||
handleConfirm(row) {
|
||||
this.$modal
|
||||
.confirm(`是否确认订阅选中的【${row.messageTypeName}】消息?`)
|
||||
.then(() => {
|
||||
return subscribe({
|
||||
messageType: row.messageType,
|
||||
});
|
||||
})
|
||||
.then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("订阅成功");
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
|
||||
/**
|
||||
* @description: 取消订阅
|
||||
*/
|
||||
handleCancel(row) {
|
||||
this.$modal
|
||||
.confirm(`是否取消订阅选中的【${row.messageTypeName}】消息?`)
|
||||
.then(() => {
|
||||
return unsubscribe({
|
||||
messageType: row.messageType,
|
||||
});
|
||||
})
|
||||
.then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("取消订阅成功");
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.content {
|
||||
width: 100%;
|
||||
height: calc(100vh - 5.4rem);
|
||||
padding: 1rem;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
/* 分页样式 */
|
||||
.pagination-part {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
padding-top: 1rem;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
</style>
|
||||
@ -2,7 +2,7 @@
|
||||
* @Author: SunTao 328867980@qq.com
|
||||
* @Date: 2024-11-04 10:54:59
|
||||
* @LastEditors: SunTao 328867980@qq.com
|
||||
* @LastEditTime: 2025-01-06 13:18:09
|
||||
* @LastEditTime: 2025-01-14 11:49:25
|
||||
* @FilePath: \znxjxt-ui\src\views\xj\inspection\disease-management\components\merge-dialog.vue
|
||||
* @Description: 病害管理-合并病害弹窗
|
||||
-->
|
||||
@ -145,11 +145,11 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="病害类型" align="center" prop="defectTypeName">
|
||||
</el-table-column>
|
||||
<el-table-column label="病害状态" align="center" prop="state">
|
||||
<!-- <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> -->
|
||||
<el-table-column label="校验状态" align="center" prop="dataStatus">
|
||||
<template slot-scope="scope">
|
||||
<span>{{
|
||||
@ -226,9 +226,7 @@
|
||||
></div>
|
||||
<div class="rect-image">
|
||||
采集时间:
|
||||
{{
|
||||
new Date(currentImageItem.createdTime).toLocaleString()
|
||||
}}
|
||||
{{ new Date(currentImageItem.createdTime).toLocaleString() }}
|
||||
起始桩号: {{ currentImageItem.stakeStart || "暂无数据" }} 终止桩号:
|
||||
{{ currentImageItem.stakeEnd || "暂无数据" }}
|
||||
病害类型:
|
||||
@ -327,16 +325,16 @@ export default {
|
||||
}
|
||||
},
|
||||
|
||||
/* 过滤列表病害状态 */
|
||||
filterState(value) {
|
||||
let a = null;
|
||||
[a] = this.defectStatus.filter((item) => {
|
||||
return item.value === value;
|
||||
});
|
||||
if (a) {
|
||||
return a.label;
|
||||
}
|
||||
},
|
||||
// /* 过滤列表病害状态 */
|
||||
// filterState(value) {
|
||||
// let a = null;
|
||||
// [a] = this.defectStatus.filter((item) => {
|
||||
// return item.value === value;
|
||||
// });
|
||||
// if (a) {
|
||||
// return a.label;
|
||||
// }
|
||||
// },
|
||||
|
||||
/* 搜索事件 */
|
||||
handleQuery() {
|
||||
|
||||
@ -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 10:58:25
|
||||
* @LastEditors: SunTao 328867980@qq.com
|
||||
* @LastEditTime: 2024-12-24 15:57:52
|
||||
* @LastEditTime: 2025-01-14 11:50:15
|
||||
* @FilePath: \znxjxt-ui\src\views\xj\inspection\disease-management\index.vue
|
||||
* @Description: 巡检信息管理-病害管理
|
||||
-->
|
||||
@ -55,7 +55,7 @@
|
||||
clearable
|
||||
></el-cascader>
|
||||
</el-form-item>
|
||||
<el-form-item label="病害状态" prop="state">
|
||||
<!-- <el-form-item label="病害状态" prop="state">
|
||||
<el-select
|
||||
v-model="queryParams.state"
|
||||
placeholder="请选择病害状态"
|
||||
@ -68,7 +68,7 @@
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="上下行" prop="inspectDirection">
|
||||
<el-select
|
||||
v-model="queryParams.inspectDirection"
|
||||
@ -79,17 +79,6 @@
|
||||
<el-option label="下行" value="1" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<!-- <el-form-item label="预警标识" prop="warningFlag">
|
||||
<el-select
|
||||
v-model="queryParams.warningFlag"
|
||||
placeholder="请选择"
|
||||
clearable
|
||||
>
|
||||
<el-option label="是" :value="1" />
|
||||
<el-option label="否" :value="0" />
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="公里桩" prop="stakeRange">
|
||||
<el-input
|
||||
v-model="queryParams.stakeStart"
|
||||
@ -172,6 +161,16 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否已确认" prop="confirmStatus">
|
||||
<el-select
|
||||
v-model="queryParams.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"
|
||||
@ -209,17 +208,16 @@
|
||||
>删除
|
||||
</el-button>
|
||||
</el-col>
|
||||
<!-- <el-col :span="1.5">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit-outline"
|
||||
icon="el-icon-top-right"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleUpdateBatch"
|
||||
>批量确认
|
||||
@click="handleExport"
|
||||
>导出
|
||||
</el-button>
|
||||
</el-col> -->
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<!-- 数据表格 -->
|
||||
@ -239,11 +237,11 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="病害类型" align="center" prop="defectTypeName">
|
||||
</el-table-column>
|
||||
<el-table-column label="病害状态" align="center" prop="state">
|
||||
<!-- <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> -->
|
||||
<el-table-column label="校验状态" align="center" prop="dataStatus">
|
||||
<template slot-scope="scope">
|
||||
<span>{{
|
||||
@ -386,7 +384,7 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12" v-if="dialogTitle != '添加缺陷'">
|
||||
<el-col :span="24" v-if="dialogTitle != '添加缺陷'">
|
||||
<el-form-item label="校验状态" prop="dataStatus">
|
||||
<el-select
|
||||
v-model="form.dataStatus"
|
||||
@ -402,7 +400,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="dialogTitle === '添加缺陷' ? 24 : 12">
|
||||
<!-- <el-col :span="dialogTitle === '添加缺陷' ? 24 : 12">
|
||||
<el-form-item label="病害状态" prop="state">
|
||||
<el-select
|
||||
v-model="form.state"
|
||||
@ -417,7 +415,7 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col> -->
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
@ -439,7 +437,7 @@
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="病害长度" prop="targetLen">
|
||||
<el-form-item label="病害长度">
|
||||
<el-input-number
|
||||
v-model="form.targetLen"
|
||||
:min="0"
|
||||
@ -449,7 +447,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="病害面积" prop="targetArea">
|
||||
<el-form-item label="病害面积">
|
||||
<el-input-number
|
||||
v-model="form.targetArea"
|
||||
:min="0"
|
||||
@ -635,8 +633,8 @@
|
||||
></div>
|
||||
<div class="rect-image">
|
||||
采集时间:
|
||||
{{ new Date(currentImageItem.createdTime).toLocaleString()}} 起始桩号:
|
||||
{{ currentImageItem.stakeStart || "暂无数据" }} 终止桩号:
|
||||
{{ new Date(currentImageItem.createdTime).toLocaleString() }}
|
||||
起始桩号: {{ currentImageItem.stakeStart || "暂无数据" }} 终止桩号:
|
||||
{{ currentImageItem.stakeEnd || "暂无数据" }}
|
||||
病害类型:
|
||||
{{ currentImageItem.defectTypeName || "暂无数据" }}
|
||||
@ -723,6 +721,7 @@ export default {
|
||||
maxLen: undefined,
|
||||
minArea: undefined,
|
||||
maxArea: undefined,
|
||||
confirmStatus: "",
|
||||
id: "",
|
||||
snapshotId: "",
|
||||
taskId: "",
|
||||
@ -842,7 +841,7 @@ export default {
|
||||
this.getSegmentList();
|
||||
this.getTableDefect();
|
||||
this.getStates();
|
||||
this.getDefectStatusList();
|
||||
// this.getDefectStatusList();
|
||||
this.getTaskSelectList();
|
||||
},
|
||||
methods: {
|
||||
@ -877,15 +876,15 @@ export default {
|
||||
* @param {*} value
|
||||
* @return {*}
|
||||
*/
|
||||
filterState(value) {
|
||||
let a = null;
|
||||
[a] = this.defectStatus.filter((item) => {
|
||||
return item.value === value;
|
||||
});
|
||||
if (a) {
|
||||
return a.label;
|
||||
}
|
||||
},
|
||||
// filterState(value) {
|
||||
// let a = null;
|
||||
// [a] = this.defectStatus.filter((item) => {
|
||||
// return item.value === value;
|
||||
// });
|
||||
// if (a) {
|
||||
// return a.label;
|
||||
// }
|
||||
// },
|
||||
|
||||
/**
|
||||
* @description: 查询校验状态下拉数据
|
||||
@ -905,13 +904,13 @@ export default {
|
||||
* @param {*} val
|
||||
* @return {*}
|
||||
*/
|
||||
getDefectStatusList() {
|
||||
getDefectStatus().then(({ data, code }) => {
|
||||
if (code === 200) {
|
||||
this.defectStatus = data;
|
||||
}
|
||||
});
|
||||
},
|
||||
// getDefectStatusList() {
|
||||
// getDefectStatus().then(({ data, code }) => {
|
||||
// if (code === 200) {
|
||||
// this.defectStatus = data;
|
||||
// }
|
||||
// });
|
||||
// },
|
||||
|
||||
/**
|
||||
* @description: 查询巡检任务下拉数据
|
||||
@ -1007,6 +1006,7 @@ export default {
|
||||
maxLen: undefined,
|
||||
minArea: undefined,
|
||||
maxArea: undefined,
|
||||
confirmStatus: "",
|
||||
id: "",
|
||||
snapshotId: "",
|
||||
taskId: "",
|
||||
@ -1102,7 +1102,7 @@ export default {
|
||||
this.markers = row.geometry.coordinates;
|
||||
this.drawMapPoint();
|
||||
});
|
||||
this.form = { ...row, dataStatus: row.dataStatus.toString() };
|
||||
this.form = { ...row, dataStatus: row?.dataStatus?.toString() };
|
||||
this.upload.fileList = row.media.map((item) => {
|
||||
return {
|
||||
...item,
|
||||
@ -1309,6 +1309,38 @@ export default {
|
||||
.catch(() => {});
|
||||
},
|
||||
|
||||
/**
|
||||
* @description: 导出按钮事件
|
||||
* @param {*}
|
||||
* @return {*}
|
||||
*/
|
||||
handleExport() {
|
||||
const params = {
|
||||
...this.queryParams,
|
||||
startTime: this.dateTime ? this.dateTime[0] : "",
|
||||
endTime: this.dateTime ? this.dateTime[1] : "",
|
||||
};
|
||||
exportDefectData(params)
|
||||
.then((res) => {
|
||||
const link = document.createElement("a");
|
||||
const blob = new Blob([res], {
|
||||
// type: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
||||
// type: "application/zip",
|
||||
type: "application/vnd.ms-excel",
|
||||
});
|
||||
link.style.display = "none";
|
||||
link.href = URL.createObjectURL(blob);
|
||||
// TODO 源文件名问题
|
||||
link.download = item.extId;
|
||||
document.body.appendChild(link);
|
||||
link.click();
|
||||
document.body.removeChild(link);
|
||||
})
|
||||
.finally(() => {
|
||||
this.getList();
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* @description: 合并按钮事件
|
||||
* @param {*} row
|
||||
@ -1338,21 +1370,6 @@ export default {
|
||||
.catch(() => {});
|
||||
},
|
||||
|
||||
/**
|
||||
* @description: 导出按钮操作
|
||||
* @param {*} val
|
||||
* @return {*}
|
||||
*/
|
||||
handleExport() {
|
||||
this.download(
|
||||
"xj/defect/export",
|
||||
{
|
||||
...this.queryParams,
|
||||
},
|
||||
`defect_${new Date().getTime()}.xlsx`
|
||||
);
|
||||
},
|
||||
|
||||
/**
|
||||
* @description: 重置表单数据
|
||||
* @param {*} val
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
* @Author: SunTao 328867980@qq.com
|
||||
* @Date: 2024-10-11 15:14:16
|
||||
* @LastEditors: SunTao 328867980@qq.com
|
||||
* @LastEditTime: 2024-12-24 15:37:29
|
||||
* @LastEditTime: 2025-01-14 14:24:28
|
||||
* @FilePath: \znxjxt-ui\src\views\xj\inspection\road-management\index.vue
|
||||
* @Description: 巡检信息-路产管理
|
||||
-->
|
||||
@ -238,7 +238,6 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="路产id" align="center" prop="id" />
|
||||
|
||||
<el-table-column
|
||||
label="操作"
|
||||
align="center"
|
||||
@ -344,8 +343,8 @@
|
||||
></div>
|
||||
<div class="rect-image">
|
||||
采集时间:
|
||||
{{ new Date(currentImageItem.createdTime).toLocaleString() }} 起始桩号:
|
||||
{{ currentImageItem.stakeStart || "暂无数据" }} 终止桩号:
|
||||
{{ new Date(currentImageItem.createdTime).toLocaleString() }}
|
||||
起始桩号: {{ currentImageItem.stakeStart || "暂无数据" }} 终止桩号:
|
||||
{{ currentImageItem.stakeEnd || "暂无数据" }}
|
||||
路产类型:
|
||||
{{ filterDefect(currentImageItem.equipmentType) || "暂无数据" }}
|
||||
@ -623,7 +622,7 @@ export default {
|
||||
* @return {*}
|
||||
*/
|
||||
handleDelete(row) {
|
||||
const checkIds = row ? [row.id] : this.checkIds;
|
||||
const checkIds = row ? [row.snapshotId] : this.checkIds;
|
||||
if (!checkIds.length) {
|
||||
this.$modal.msgWarning("请选择要删除的记录");
|
||||
return;
|
||||
@ -673,7 +672,7 @@ export default {
|
||||
* @return {*}
|
||||
*/
|
||||
handleSelectionChange(selection) {
|
||||
this.checkIds = selection.map((item) => item.id);
|
||||
this.checkIds = selection.map((item) => item.snapshotId);
|
||||
this.single = selection.length !== 1;
|
||||
this.multiple = !selection.length;
|
||||
},
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
* @Author: SunTao 328867980@qq.com
|
||||
* @Date: 2024-10-14 09:48:43
|
||||
* @LastEditors: SunTao 328867980@qq.com
|
||||
* @LastEditTime: 2025-01-02 15:21:44
|
||||
* @LastEditTime: 2025-01-13 17:27:11
|
||||
* @FilePath: \znxjxt-ui\src\views\xj\inspection\task-management\index.vue
|
||||
* @Description: 巡检管理-巡检任务
|
||||
-->
|
||||
@ -440,15 +440,6 @@ export default {
|
||||
this.dialogItem = item;
|
||||
},
|
||||
|
||||
/**
|
||||
* @description: 导出文件
|
||||
* @return {*}
|
||||
*/
|
||||
submitForm(item, type) {
|
||||
console.log(item, "fdfdfd");
|
||||
this.wordExport(this.dialogItem, type);
|
||||
},
|
||||
|
||||
/**
|
||||
* @description: 导出文件的方法
|
||||
* @param {*} item
|
||||
@ -473,7 +464,6 @@ export default {
|
||||
document.body.removeChild(link);
|
||||
})
|
||||
.finally(() => {
|
||||
this.exportCancel();
|
||||
loadingInstance.close();
|
||||
});
|
||||
},
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user