fix:修改联调
This commit is contained in:
parent
ba5183d592
commit
c661674306
@ -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,
|
||||
});
|
||||
}
|
||||
|
||||
@ -60,3 +60,12 @@ export function getMaintenanceNoticeById(params) {
|
||||
params,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询病害列表
|
||||
export function listDefect(query) {
|
||||
return request({
|
||||
url: "/xj/defect/list",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
@ -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",
|
||||
});
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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();
|
||||
},
|
||||
|
||||
@ -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,
|
||||
};
|
||||
|
||||
@ -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(() => {});
|
||||
|
||||
@ -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(() => {});
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
@ -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: "",
|
||||
|
||||
@ -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(() => {});
|
||||
},
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user