Browse Source

Merge branch 'release-sy-v1.0.0' of ssh://gitlab.datameta.com:2224/project/water/shuili-vue into release-sy-v1.0.0

sy-water-data-board-ui
panyuyi 1 month ago
parent
commit
7f33b56a4a
  1. 49
      src/api/dike/patrolMaintenance.js
  2. 140
      src/views/dike/runManage/patrolMaintenance/InspectionRecords/index.vue
  3. 137
      src/views/dike/runManage/patrolMaintenance/acceptanceRecords/index.vue
  4. 63
      src/views/dike/runManage/patrolMaintenance/componentsDetails/inspectionRecordDetails.vue
  5. 162
      src/views/dike/runManage/patrolMaintenance/defectList/index.vue
  6. 139
      src/views/dike/runManage/patrolMaintenance/maintenanceRecords/index.vue

49
src/api/dike/patrolMaintenance.js

@ -0,0 +1,49 @@
// 堤防相关接口
import request from '@/utils/request'
export * from './analysis';
/*************************************巡查记录管理**************************************/
// 堤防巡视检查记录列表v2
export function postV2RecordList (data) {
return request({
url: '/run/df/v2/record/list',
method: 'post',
data
})
}
// 堤防巡视检查记录详情v2
export function gettV2Record (id) {
return request({
url: `/run/df/v2/record/${id}`,
method: 'get'
})
}
/*************************************缺陷清单管理**************************************/
// 堤防巡查缺陷列表v2
export function postV2ProblemList (data) {
return request({
url: '/run/df/v2/problem/list',
method: 'post',
data
})
}
/*************************************养护记录管理**************************************/
// 堤防养护列表v2
export function postV2YhList (data) {
return request({
url: '/run/df/v2/yh/list',
method: 'post',
data
})
}
/*************************************验收记录管理**************************************/
// 审批列表
export function postV2ApprovalList (data) {
return request({
url: '/run/df/v2/approval/list',
method: 'post',
data
})
}

140
src/views/dike/runManage/patrolMaintenance/InspectionRecords/index.vue

@ -12,7 +12,7 @@
size="small"
class="w-202 ml-10"
:maxlength="50"
v-model="paramsData.patrolName"
v-model="paramsData.name"
placeholder="请输入名称"
/>
</div>
@ -23,14 +23,14 @@
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.patrolType"
v-model="paramsData.type"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in xcTypeOptions"
v-for="item in maintenanceType"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
@ -44,7 +44,7 @@
<el-date-picker
size="small"
class="ml-10"
v-model="paramsData.patrolTime"
v-model="paramsData.time"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
@ -72,14 +72,19 @@
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.patrolCategory"
v-model="paramsData.category"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option label="机电巡查" value="0"> </el-option>
<el-option label="工程巡查" value="1"> </el-option>
<el-option
v-for="item in maintenanceCategory"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</div>
@ -89,15 +94,19 @@
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.patrolStatus"
v-model="paramsData.status"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option label="日常巡查" value="0"> </el-option>
<el-option label="不定期巡查" value="1"> </el-option>
<el-option label="汛前巡查" value="2"> </el-option>
<el-option
v-for="item in maintenanceStatus"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</div>
<div class="flex-1 flex justify-end search-item">
@ -123,30 +132,30 @@
:data="tableData"
border
>
<el-table-column prop="orderNumber" align="center" label="单号" />
<el-table-column prop="patrolName" align="center" label="巡查名称" />
<el-table-column prop="patrolType" align="center" label="巡查类型">
<el-table-column prop="id" align="center" label="单号" />
<el-table-column prop="checkingName" align="center" label="巡查名称" />
<el-table-column prop="type" align="center" label="巡查类型">
<template slot-scope="scope">
<span>{{
getDictLabelName(scope.row.patrolType, "xcTypeOptions")
getDictLabelName(scope.row.type, "maintenanceType")
}}</span>
</template>
</el-table-column>
<el-table-column prop="patrolCategory" align="center" label="巡查类别">
<el-table-column prop="category" align="center" label="巡查类别">
<template slot-scope="scope">
<span>{{
getDictLabelName(scope.row.patrolCategory, "xcTypeOptions")
getDictLabelName(scope.row.category, "maintenanceCategory")
}}</span>
</template>
</el-table-column>
<el-table-column prop="patrolStatus" align="center" label="巡查状态">
<el-table-column prop="status" align="center" label="巡查状态">
<template slot-scope="scope">
<span>{{
getDictLabelName(scope.row.patrolStatus, "xcTypeOptions")
getDictLabelName(scope.row.status, "maintenanceStatus")
}}</span>
</template>
</el-table-column>
<el-table-column prop="dutyHolder" align="center" label="责任人" />
<el-table-column prop="dutyHolderName" align="center" label="责任人" />
<el-table-column
prop="startDate"
align="center"
@ -178,7 +187,7 @@
<el-button
type="text"
size="small"
@click="handleCheckDetails(scope.row, true)"
@click="handleEditDetails(scope.row, true)"
>编辑</el-button
>
</template>
@ -201,34 +210,28 @@
</template>
<script>
import TopBackTitle from "@/components/TopBackTitle/index.vue";
import { postDFInspectionRecordsList } from "@/api/management";
import { calcTableHeight } from "@/mixins/calcTableHeight";
import {
postV2RecordList
} from "@/api/dike/patrolMaintenance";
export default {
components: {TopBackTitle},
mixins: [calcTableHeight],
data() {
return {
tableData: [
{
orderNumber: 1,
patrolName: '测试',
patrolType: '1',
patrolCategory: '1',
patrolStatus: '1',
dutyHolder: '测试',
}
],
xcTypeOptions: [],
handleStatusOptions: [],
currentRow: {},
tableData: [],
maintenanceStatus: [],
maintenanceCategory: [],
maintenanceType: [],
paramsData: {
patrolName: "",
patrolType: "",
patrolTime: [],
name: "",
type: "",
time: [],
dutyHolder: '',
patrolCategory: '',
patrolStatus: ''
category: '',
status: ''
},
pageData: {
pageNum: 1, //
@ -239,9 +242,18 @@ export default {
};
},
created() {
this.getDicts("xs_classfy").then((response) => {
this.xcTypeOptions = response.data;
this.getDicts("patrol_maintenance_status").then((response) => {
this.maintenanceStatus = response.data;
});
this.getDicts("patrol_maintenance_category").then((response) => {
this.maintenanceCategory = response.data;
});
this.getDicts("patrol_maintenance_type").then((response) => {
this.maintenanceType = response.data;
});
},
mounted() {
this.getTableData()
},
methods: {
handleCurrentPageChange(page) {
@ -252,10 +264,16 @@ export default {
this.pageData.pageSize = pageSize;
this.getTableData();
},
handleCheckDetails() {
handleCheckDetails(row) {
this.$router.push({
path: "inspectionRecordDetails",
query: { id: row.id, checkingId: row.checkingId },
});
},
handleEditDetails(row) {
this.$router.push({
path: "inspectionRecordDetails",
query: { id: row.id, checkingId: row.checkingId, mode: "edit" },
});
},
getDictLabelName(type, dictListName) {
@ -273,30 +291,32 @@ export default {
},
//
handleResetQuery() {
this.paramsData.patrolName = "";
this.paramsData.patrolType = "";
this.paramsData.patrolTime = [];
this.paramsData.name = "";
this.paramsData.type = "";
this.paramsData.time = [];
this.paramsData.dutyHolder = "";
this.paramsData.patrolCategory = "";
this.paramsData.patrolStatus = "";
this.paramsData.category = "";
this.paramsData.status = "";
this.reqCountCalc();
this.pageData.pageNum = 1;
this.getTableData();
},
getTableData() {
postDFInspectionRecordsList({
const data = {
name: this.paramsData.name,
type: this.paramsData.type,
dutyHolder: this.paramsData.dutyHolder,
category: this.paramsData.category,
status: this.paramsData.status,
startTime: this.paramsData.time && this.paramsData.time.length > 1 ? this.paramsData.time[0] : '',
endTime: this.paramsData.time && this.paramsData.time.length > 1 ? this.paramsData.time[1] : '',
}
postV2RecordList({
data: {
timeView: {
timeField: "create_time",
},
adcd: this.paramsData.adcd,
dikeName: this.paramsData.dikeName,
dikeType: this.paramsData.dikeType,
lineName: this.paramsData.lineName,
lineType: this.paramsData.lineType,
dutyHolderType: this.paramsData.dutyHolderType,
// status: this.paramsData.status,
handleStatus: this.paramsData.handleStatus,
...data,
},
params: {
sort: "desc",
@ -306,7 +326,9 @@ export default {
pageNum: this.pageData.pageNum,
}).then((res) => {
if (res) {
this.tableData = res.records;
this.tableData = [{
id: 1
}];
this.pageData.total = res.total;
}
});

137
src/views/dike/runManage/patrolMaintenance/acceptanceRecords/index.vue

@ -12,7 +12,7 @@
size="small"
class="w-202 ml-10"
:maxlength="50"
v-model="paramsData.patrolName"
v-model="paramsData.name"
placeholder="请输入名称"
/>
</div>
@ -23,14 +23,14 @@
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.patrolType"
v-model="paramsData.type"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in xcTypeOptions"
v-for="item in maintenanceType"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
@ -44,7 +44,7 @@
<el-date-picker
size="small"
class="ml-10"
v-model="paramsData.patrolTime"
v-model="paramsData.time"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
@ -72,14 +72,19 @@
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.patrolCategory"
v-model="paramsData.category"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option label="机电巡查" value="0"> </el-option>
<el-option label="工程巡查" value="1"> </el-option>
<el-option
v-for="item in maintenanceCategory"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</div>
@ -89,15 +94,19 @@
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.patrolStatus"
v-model="paramsData.status"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option label="日常巡查" value="0"> </el-option>
<el-option label="不定期巡查" value="1"> </el-option>
<el-option label="汛前巡查" value="2"> </el-option>
<el-option
v-for="item in maintenanceStatus"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</div>
<div class="flex-1 flex justify-end search-item">
@ -123,30 +132,30 @@
:data="tableData"
border
>
<el-table-column prop="orderNumber" align="center" label="单号" />
<el-table-column prop="patrolName" align="center" label="巡查名称" />
<el-table-column prop="patrolType" align="center" label="巡查类型">
<el-table-column prop="id" align="center" label="单号" />
<el-table-column prop="checkingName" align="center" label="巡查名称" />
<el-table-column prop="type" align="center" label="巡查类型">
<template slot-scope="scope">
<span>{{
getDictLabelName(scope.row.patrolType, "xcTypeOptions")
getDictLabelName(scope.row.type, "maintenanceType")
}}</span>
</template>
</el-table-column>
<el-table-column prop="patrolCategory" align="center" label="巡查类别">
<el-table-column prop="category" align="center" label="巡查类别">
<template slot-scope="scope">
<span>{{
getDictLabelName(scope.row.patrolCategory, "xcTypeOptions")
getDictLabelName(scope.row.category, "maintenanceCategory")
}}</span>
</template>
</el-table-column>
<el-table-column prop="patrolStatus" align="center" label="巡查状态">
<el-table-column prop="status" align="center" label="巡查状态">
<template slot-scope="scope">
<span>{{
getDictLabelName(scope.row.patrolStatus, "xcTypeOptions")
getDictLabelName(scope.row.status, "maintenanceStatus")
}}</span>
</template>
</el-table-column>
<el-table-column prop="dutyHolder" align="center" label="责任人" />
<el-table-column prop="dutyHolderName" align="center" label="责任人" />
<el-table-column
prop="startDate"
align="center"
@ -195,36 +204,27 @@
</template>
<script>
import TopBackTitle from "@/components/TopBackTitle/index.vue";
import dayjs from "dayjs";
import { postDFInspectionRecordsList } from "@/api/management";
import { calcTableHeight } from "@/mixins/calcTableHeight";
import {
postV2ApprovalList
} from "@/api/dike/patrolMaintenance";
export default {
components: {TopBackTitle},
mixins: [calcTableHeight],
data() {
return {
dayjs,
tableData: [
{
orderNumber: 1,
patrolName: '测试',
patrolType: '1',
patrolCategory: '1',
patrolStatus: '1',
dutyHolder: '测试',
}
],
xcTypeOptions: [],
handleStatusOptions: [],
currentRow: {},
tableData: [],
maintenanceStatus: [],
maintenanceCategory: [],
maintenanceType: [],
paramsData: {
patrolName: "",
patrolType: "",
patrolTime: [],
name: "",
type: "",
time: [],
dutyHolder: '',
patrolCategory: '',
patrolStatus: ''
category: '',
status: ''
},
pageData: {
pageNum: 1, //
@ -235,9 +235,18 @@ export default {
};
},
created() {
this.getDicts("xs_classfy").then((response) => {
this.xcTypeOptions = response.data;
this.getDicts("patrol_maintenance_status").then((response) => {
this.maintenanceStatus = response.data;
});
this.getDicts("patrol_maintenance_category").then((response) => {
this.maintenanceCategory = response.data;
});
this.getDicts("patrol_maintenance_type").then((response) => {
this.maintenanceType = response.data;
});
},
mounted() {
this.getTableData()
},
methods: {
handleCurrentPageChange(page) {
@ -249,14 +258,10 @@ export default {
this.getTableData();
},
handleCheckDetails(row, canEdit) {
this.currentRow = row;
this.currentRow.canEdit = !!canEdit;
this.dialogVisible = true;
},
calcHours(start, end) {
if (!start || !end) return "-";
return dayjs(end).diff(dayjs(start), "hour");
handleCheckDetails() {
this.$router.push({
path: "defectDetails",
});
},
getDictLabelName(type, dictListName) {
if (!this[dictListName]) return "";
@ -273,30 +278,32 @@ export default {
},
//
handleResetQuery() {
this.paramsData.patrolName = "";
this.paramsData.patrolType = "";
this.paramsData.patrolTime = [];
this.paramsData.name = "";
this.paramsData.type = "";
this.paramsData.time = [];
this.paramsData.dutyHolder = "";
this.paramsData.patrolCategory = "";
this.paramsData.patrolStatus = "";
this.paramsData.category = "";
this.paramsData.status = "";
this.reqCountCalc();
this.pageData.pageNum = 1;
this.getTableData();
},
getTableData() {
postDFInspectionRecordsList({
const data = {
name: this.paramsData.name,
type: this.paramsData.type,
dutyHolder: this.paramsData.dutyHolder,
category: this.paramsData.category,
status: this.paramsData.status,
startTime: this.paramsData.time && this.paramsData.time.length > 1 ? this.paramsData.time[0] : '',
endTime: this.paramsData.time && this.paramsData.time.length > 1 ? this.paramsData.time[1] : '',
}
postV2ApprovalList({
data: {
timeView: {
timeField: "create_time",
},
adcd: this.paramsData.adcd,
dikeName: this.paramsData.dikeName,
dikeType: this.paramsData.dikeType,
lineName: this.paramsData.lineName,
lineType: this.paramsData.lineType,
dutyHolderType: this.paramsData.dutyHolderType,
// status: this.paramsData.status,
handleStatus: this.paramsData.handleStatus,
...data,
},
params: {
sort: "desc",

63
src/views/dike/runManage/patrolMaintenance/componentsDetails/inspectionRecordDetails.vue

@ -38,17 +38,18 @@
placeholder="请输入内容"
maxlength="200"
show-word-limit
resize="none"
v-model="form.describe">
</el-input>
</el-form-item>
</el-form>
<div class="map-box">
<SyMixMap
:showPosition="false"
:entries="entries"
:canEdit="false"
:traceList="traceList"
></SyMixMap>
<!-- <SyMixMap-->
<!-- :showPosition="false"-->
<!-- :entries="entries"-->
<!-- :canEdit="false"-->
<!-- :traceList="traceList"-->
<!-- ></SyMixMap>-->
</div>
</div>
<div class="form-row-title">巡查项</div>
@ -76,7 +77,41 @@
<el-table-column prop="inspectionContent" align="center" label="具体描述" />
<el-table-column prop="inspectionContent" align="center" label="缺陷照片" />
<el-table-column prop="inspectionContent" align="center" label="维养状态" />
<el-table-column prop="inspectionContent" align="center" label="操作" />
<el-table-column
prop="opera"
align="center"
label="操作"
fixed="right"
width="168"
>
<template slot-scope="scope">
<el-button
style="margin-right: 16px"
type="text"
size="small"
@click="handleCheckDetails(scope.row, false)"
>上传图片</el-button
>
<el-popconfirm
confirm-button-text="确定"
cancel-button-text="取消"
icon="el-icon-info"
icon-color="red"
title="确定删除吗?"
@confirm="deleteTableItem(scope.row)"
>
<el-button
style="color: red"
type="text"
size="small"
slot="reference"
v-hasPermi="['df:run:checking:item:delete']"
>删除</el-button
>
</el-popconfirm>
</template>
</el-table-column>
</el-table>
</div>
</div>
@ -86,6 +121,7 @@ import TopBackTitle from "@/components/TopBackTitle/index.vue";
import {calcTableHeight} from "@/mixins/calcTableHeight";
import SyMixMap from "@/views/components/SyMixMap.vue";
import {getRecordDetails, getRecordTraceList} from "@/api/dike";
import {gettV2Record} from "@/api/dike/patrolMaintenance";
export default {
components: {
@ -126,6 +162,16 @@ export default {
},
methods: {
async initData() {
this.getDetail()
this.getMapData()
},
async getDetail() {
console.log(this.$route.query.id)
const details = await gettV2Record(this.$route.query.id);
},
async getMapData() {
//
const res = await getRecordDetails(17);
this.entries = res.data?.entries ? JSON.parse(res.data.entries) : {};
getRecordTraceList({
@ -146,9 +192,6 @@ export default {
})
?.reverse() || [];
});
console.log('this.traceList', this.traceList)
console.log('this.entries', this.entries)
}
},
};

162
src/views/dike/runManage/patrolMaintenance/defectList/index.vue

@ -12,7 +12,7 @@
size="small"
class="w-202 ml-10"
:maxlength="50"
v-model="paramsData.patrolName"
v-model="paramsData.name"
placeholder="请输入名称"
/>
</div>
@ -23,14 +23,14 @@
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.patrolType"
v-model="paramsData.type"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in xcTypeOptions"
v-for="item in maintenanceType"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
@ -44,7 +44,7 @@
<el-date-picker
size="small"
class="ml-10"
v-model="paramsData.patrolTime"
v-model="paramsData.time"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
@ -72,14 +72,19 @@
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.patrolCategory"
v-model="paramsData.category"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option label="机电巡查" value="0"> </el-option>
<el-option label="工程巡查" value="1"> </el-option>
<el-option
v-for="item in maintenanceCategory"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</div>
@ -89,15 +94,40 @@
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.patrolStatus"
v-model="paramsData.status"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in maintenanceStatus"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</div>
<div class="search-item flex items-center">
<span class="search-label">问题等级</span>
<el-select
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.level"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option label="日常巡查" value="0"> </el-option>
<el-option label="不定期巡查" value="1"> </el-option>
<el-option label="汛前巡查" value="2"> </el-option>
<el-option
v-for="item in maintenanceLevel"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</div>
<div class="flex-1 flex justify-end search-item">
@ -123,30 +153,37 @@
:data="tableData"
border
>
<el-table-column prop="orderNumber" align="center" label="单号" />
<el-table-column prop="patrolName" align="center" label="巡查名称" />
<el-table-column prop="patrolType" align="center" label="巡查类型">
<el-table-column prop="id" align="center" label="单号" />
<el-table-column prop="checkingName" align="center" label="巡查名称" />
<el-table-column prop="type" align="center" label="巡查类型">
<template slot-scope="scope">
<span>{{
getDictLabelName(scope.row.patrolType, "xcTypeOptions")
getDictLabelName(scope.row.type, "maintenanceType")
}}</span>
</template>
</el-table-column>
<el-table-column prop="patrolCategory" align="center" label="巡查类别">
<el-table-column prop="category" align="center" label="巡查类别">
<template slot-scope="scope">
<span>{{
getDictLabelName(scope.row.patrolCategory, "xcTypeOptions")
getDictLabelName(scope.row.category, "maintenanceCategory")
}}</span>
</template>
</el-table-column>
<el-table-column prop="patrolStatus" align="center" label="巡查状态">
<el-table-column prop="level" align="center" label="问题等级">
<template slot-scope="scope">
<span>{{
getDictLabelName(scope.row.patrolStatus, "xcTypeOptions")
getDictLabelName(scope.row.level, "maintenanceLevel")
}}</span>
</template>
</el-table-column>
<el-table-column prop="dutyHolder" align="center" label="责任人" />
<el-table-column prop="status" align="center" label="巡查状态">
<template slot-scope="scope">
<span>{{
getDictLabelName(scope.row.status, "maintenanceStatus")
}}</span>
</template>
</el-table-column>
<el-table-column prop="dutyHolderName" align="center" label="责任人" />
<el-table-column
prop="startDate"
align="center"
@ -201,36 +238,28 @@
</template>
<script>
import TopBackTitle from "@/components/TopBackTitle/index.vue";
import dayjs from "dayjs";
import { postDFInspectionRecordsList } from "@/api/management";
import { calcTableHeight } from "@/mixins/calcTableHeight";
import {
postV2ProblemList
} from "@/api/dike/patrolMaintenance";
export default {
components: {TopBackTitle},
mixins: [calcTableHeight],
data() {
return {
dayjs,
tableData: [
{
orderNumber: 1,
patrolName: '测试',
patrolType: '1',
patrolCategory: '1',
patrolStatus: '1',
dutyHolder: '测试',
}
],
xcTypeOptions: [],
handleStatusOptions: [],
currentRow: {},
tableData: [],
maintenanceStatus: [],
maintenanceCategory: [],
maintenanceType: [],
maintenanceLevel: [],
paramsData: {
patrolName: "",
patrolType: "",
patrolTime: [],
name: "",
type: "",
time: [],
dutyHolder: '',
patrolCategory: '',
patrolStatus: ''
category: '',
status: ''
},
pageData: {
pageNum: 1, //
@ -241,9 +270,21 @@ export default {
};
},
created() {
this.getDicts("xs_classfy").then((response) => {
this.xcTypeOptions = response.data;
this.getDicts("patrol_maintenance_status").then((response) => {
this.maintenanceStatus = response.data;
});
this.getDicts("patrol_maintenance_category").then((response) => {
this.maintenanceCategory = response.data;
});
this.getDicts("patrol_maintenance_type").then((response) => {
this.maintenanceType = response.data;
});
this.getDicts("patrol_maintenance_level").then((response) => {
this.maintenanceLevel = response.data;
});
},
mounted() {
this.getTableData()
},
methods: {
handleCurrentPageChange(page) {
@ -254,16 +295,11 @@ export default {
this.pageData.pageSize = pageSize;
this.getTableData();
},
handleCheckDetails() {
this.$router.push({
path: "defectDetails",
});
},
calcHours(start, end) {
if (!start || !end) return "-";
return dayjs(end).diff(dayjs(start), "hour");
},
getDictLabelName(type, dictListName) {
if (!this[dictListName]) return "";
return (
@ -279,30 +315,32 @@ export default {
},
//
handleResetQuery() {
this.paramsData.patrolName = "";
this.paramsData.patrolType = "";
this.paramsData.patrolTime = [];
this.paramsData.name = "";
this.paramsData.type = "";
this.paramsData.time = [];
this.paramsData.dutyHolder = "";
this.paramsData.patrolCategory = "";
this.paramsData.patrolStatus = "";
this.paramsData.category = "";
this.paramsData.status = "";
this.reqCountCalc();
this.pageData.pageNum = 1;
this.getTableData();
},
getTableData() {
postDFInspectionRecordsList({
const data = {
name: this.paramsData.name,
type: this.paramsData.type,
dutyHolder: this.paramsData.dutyHolder,
category: this.paramsData.category,
status: this.paramsData.status,
startTime: this.paramsData.time && this.paramsData.time.length > 1 ? this.paramsData.time[0] : '',
endTime: this.paramsData.time && this.paramsData.time.length > 1 ? this.paramsData.time[1] : '',
}
postV2ProblemList({
data: {
timeView: {
timeField: "create_time",
},
adcd: this.paramsData.adcd,
dikeName: this.paramsData.dikeName,
dikeType: this.paramsData.dikeType,
lineName: this.paramsData.lineName,
lineType: this.paramsData.lineType,
dutyHolderType: this.paramsData.dutyHolderType,
// status: this.paramsData.status,
handleStatus: this.paramsData.handleStatus,
...data,
},
params: {
sort: "desc",

139
src/views/dike/runManage/patrolMaintenance/maintenanceRecords/index.vue

@ -12,7 +12,7 @@
size="small"
class="w-202 ml-10"
:maxlength="50"
v-model="paramsData.patrolName"
v-model="paramsData.name"
placeholder="请输入名称"
/>
</div>
@ -23,14 +23,14 @@
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.patrolType"
v-model="paramsData.type"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in xcTypeOptions"
v-for="item in maintenanceType"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
@ -44,7 +44,7 @@
<el-date-picker
size="small"
class="ml-10"
v-model="paramsData.patrolTime"
v-model="paramsData.time"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
@ -72,14 +72,19 @@
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.patrolCategory"
v-model="paramsData.category"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option label="机电巡查" value="0"> </el-option>
<el-option label="工程巡查" value="1"> </el-option>
<el-option
v-for="item in maintenanceCategory"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</div>
@ -89,15 +94,19 @@
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.patrolStatus"
v-model="paramsData.status"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option label="日常巡查" value="0"> </el-option>
<el-option label="不定期巡查" value="1"> </el-option>
<el-option label="汛前巡查" value="2"> </el-option>
<el-option
v-for="item in maintenanceStatus"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</div>
<div class="flex-1 flex justify-end search-item">
@ -123,30 +132,30 @@
:data="tableData"
border
>
<el-table-column prop="orderNumber" align="center" label="单号" />
<el-table-column prop="patrolName" align="center" label="巡查名称" />
<el-table-column prop="patrolType" align="center" label="巡查类型">
<el-table-column prop="id" align="center" label="单号" />
<el-table-column prop="checkingName" align="center" label="巡查名称" />
<el-table-column prop="type" align="center" label="巡查类型">
<template slot-scope="scope">
<span>{{
getDictLabelName(scope.row.patrolType, "xcTypeOptions")
getDictLabelName(scope.row.type, "maintenanceType")
}}</span>
</template>
</el-table-column>
<el-table-column prop="patrolCategory" align="center" label="巡查类别">
<el-table-column prop="category" align="center" label="巡查类别">
<template slot-scope="scope">
<span>{{
getDictLabelName(scope.row.patrolCategory, "xcTypeOptions")
getDictLabelName(scope.row.category, "maintenanceCategory")
}}</span>
</template>
</el-table-column>
<el-table-column prop="patrolStatus" align="center" label="巡查状态">
<el-table-column prop="status" align="center" label="巡查状态">
<template slot-scope="scope">
<span>{{
getDictLabelName(scope.row.patrolStatus, "xcTypeOptions")
getDictLabelName(scope.row.status, "maintenanceStatus")
}}</span>
</template>
</el-table-column>
<el-table-column prop="dutyHolder" align="center" label="责任人" />
<el-table-column prop="dutyHolderName" align="center" label="责任人" />
<el-table-column
prop="startDate"
align="center"
@ -201,36 +210,26 @@
</template>
<script>
import TopBackTitle from "@/components/TopBackTitle/index.vue";
import dayjs from "dayjs";
import { postDFInspectionRecordsList } from "@/api/management";
import { calcTableHeight } from "@/mixins/calcTableHeight";
import {
postV2YhList
} from "@/api/dike/patrolMaintenance";
export default {
components: {TopBackTitle},
mixins: [calcTableHeight],
data() {
return {
dayjs,
tableData: [
{
orderNumber: 1,
patrolName: '测试',
patrolType: '1',
patrolCategory: '1',
patrolStatus: '1',
dutyHolder: '测试',
}
],
xcTypeOptions: [],
handleStatusOptions: [],
currentRow: {},
tableData: [],
maintenanceStatus: [],
maintenanceCategory: [],
maintenanceType: [],
paramsData: {
patrolName: "",
patrolType: "",
patrolTime: [],
name: "",
type: "",
time: [],
dutyHolder: '',
patrolCategory: '',
patrolStatus: ''
category: '',
status: ''
},
pageData: {
pageNum: 1, //
@ -241,9 +240,18 @@ export default {
};
},
created() {
this.getDicts("xs_classfy").then((response) => {
this.xcTypeOptions = response.data;
this.getDicts("patrol_maintenance_status").then((response) => {
this.maintenanceStatus = response.data;
});
this.getDicts("patrol_maintenance_category").then((response) => {
this.maintenanceCategory = response.data;
});
this.getDicts("patrol_maintenance_type").then((response) => {
this.maintenanceType = response.data;
});
},
mounted() {
this.getTableData()
},
methods: {
handleCurrentPageChange(page) {
@ -254,15 +262,10 @@ export default {
this.pageData.pageSize = pageSize;
this.getTableData();
},
handleCheckDetails(row, canEdit) {
this.currentRow = row;
this.currentRow.canEdit = !!canEdit;
this.dialogVisible = true;
},
calcHours(start, end) {
if (!start || !end) return "-";
return dayjs(end).diff(dayjs(start), "hour");
handleCheckDetails() {
this.$router.push({
path: "defectDetails",
});
},
getDictLabelName(type, dictListName) {
if (!this[dictListName]) return "";
@ -279,30 +282,32 @@ export default {
},
//
handleResetQuery() {
this.paramsData.patrolName = "";
this.paramsData.patrolType = "";
this.paramsData.patrolTime = [];
this.paramsData.name = "";
this.paramsData.type = "";
this.paramsData.time = [];
this.paramsData.dutyHolder = "";
this.paramsData.patrolCategory = "";
this.paramsData.patrolStatus = "";
this.paramsData.category = "";
this.paramsData.status = "";
this.reqCountCalc();
this.pageData.pageNum = 1;
this.getTableData();
},
getTableData() {
postDFInspectionRecordsList({
const data = {
name: this.paramsData.name,
type: this.paramsData.type,
dutyHolder: this.paramsData.dutyHolder,
category: this.paramsData.category,
status: this.paramsData.status,
startTime: this.paramsData.time && this.paramsData.time.length > 1 ? this.paramsData.time[0] : '',
endTime: this.paramsData.time && this.paramsData.time.length > 1 ? this.paramsData.time[1] : '',
}
postV2YhList({
data: {
timeView: {
timeField: "create_time",
},
adcd: this.paramsData.adcd,
dikeName: this.paramsData.dikeName,
dikeType: this.paramsData.dikeType,
lineName: this.paramsData.lineName,
lineType: this.paramsData.lineType,
dutyHolderType: this.paramsData.dutyHolderType,
// status: this.paramsData.status,
handleStatus: this.paramsData.handleStatus,
...data,
},
params: {
sort: "desc",

Loading…
Cancel
Save