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
chenhaojie 1 year ago
parent
commit
4e7c17ee17
  1. 8
      src/api/dike/index.js
  2. 8
      src/api/sluice/index.js
  3. 4
      src/views/dike/runManage/enginerring/inspectionItems/index.vue
  4. 43
      src/views/dike/runManage/enginerring/patrolManage/index.vue
  5. 453
      src/views/sluice/runManage/enginerring/inspectionItems/index.vue
  6. 43
      src/views/sluice/runManage/enginerring/patrolManage/index.vue

8
src/api/dike/index.js

@ -54,6 +54,14 @@ export function postProjectChecking(data) {
}) })
} }
// 巡查管理-获取绑定的巡查项目
export function getProjectCheckingRel(dikeCode) {
return request({
url: `/run/df/project/rel-checking/${dikeCode}`,
method: 'get',
})
}
// 害堤动物防治--堤防列表 // 害堤动物防治--堤防列表
export function getDikeAnimalProList(data) { export function getDikeAnimalProList(data) {
return request({ return request({

8
src/api/sluice/index.js

@ -130,6 +130,14 @@ export function postProjectChecking(data) {
}) })
} }
// 巡查管理-获取绑定的巡查项目
export function getProjectCheckingRel(dikeCode) {
return request({
url: `/run/sz/project/rel-checking/${dikeCode}`,
method: 'get',
})
}
/** 水雨情 */ /** 水雨情 */
// 水雨情--获取工程列表 // 水雨情--获取工程列表
export function getSluiceWaterRainProjectList(data) { export function getSluiceWaterRainProjectList(data) {

4
src/views/dike/runManage/enginerring/inspectionItems/index.vue

@ -214,10 +214,6 @@ export default {
// //
getDicts("xs_classfy").then((res) => { getDicts("xs_classfy").then((res) => {
if (res.data && Array.isArray(res.data)) { if (res.data && Array.isArray(res.data)) {
res.data.forEach((element) => {
element.dictValue = Number(element.dictValue);
});
console.log("🚀res.data🚀", res.data);
this.examType = res.data; this.examType = res.data;
} }
}); });

43
src/views/dike/runManage/enginerring/patrolManage/index.vue

@ -41,7 +41,11 @@
prop="waterAdministrativeDepartment" prop="waterAdministrativeDepartment"
align="center" align="center"
label="行政主管部门" label="行政主管部门"
/> >
<template #default="{ row }">
{{ getDictLabel(row.waterAdministrativeDepartment) }}
</template>
</el-table-column>
<el-table-column prop="lastTime" align="center" label="最近巡查时间" /> <el-table-column prop="lastTime" align="center" label="最近巡查时间" />
<el-table-column prop="operate" align="center" label="操作"> <el-table-column prop="operate" align="center" label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
@ -164,7 +168,11 @@
</div> </div>
</template> </template>
<script> <script>
import { getDikeProjectList, postProjectChecking } from "@/api/dike"; import {
getDikeProjectList,
postProjectChecking,
getProjectCheckingRel,
} from "@/api/dike";
import { postDFInspectionProjectList } from "@/api/management"; import { postDFInspectionProjectList } from "@/api/management";
export default { export default {
@ -177,6 +185,7 @@ export default {
total: 0, total: 0,
}, },
searchInput: "", searchInput: "",
waterAdministrativeDepartmentOptions: [],
dikeTypeList: [ dikeTypeList: [
{ {
label: "全部", label: "全部",
@ -189,17 +198,17 @@ export default {
dikeCode: "", dikeCode: "",
checkings: [ checkings: [
{ {
type: 0, type: "0",
label: "日常检查", label: "日常检查",
xcId: "", xcId: "",
}, },
{ {
type: 1, type: "1",
label: "定期检查", label: "定期检查",
xcId: "", xcId: "",
}, },
{ {
type: 2, type: "2",
label: "特别检查", label: "特别检查",
xcId: "", xcId: "",
}, },
@ -225,6 +234,9 @@ export default {
this.getDicts("embankment_type").then((response) => { this.getDicts("embankment_type").then((response) => {
this.dikeTypeList = response.data; this.dikeTypeList = response.data;
}); });
this.getDicts("water_administrative_department").then((response) => {
this.waterAdministrativeDepartmentOptions = response.data;
});
}, },
mounted() { mounted() {
this.getTableData(); this.getTableData();
@ -298,9 +310,20 @@ export default {
}, },
// //
handleSet(row) { handleSet(row) {
// this.initProjectList(); this.handleGetRemoteProjectListData(0);
this.handleGetRemoteProjectListData(1);
this.handleGetRemoteProjectListData(2);
this.dialogVisible = true; this.dialogVisible = true;
getProjectCheckingRel(row.dikeCode).then((res) => {
this.ruleForm.dikeCode = row.dikeCode; this.ruleForm.dikeCode = row.dikeCode;
if (res.data?.checkings?.length) {
this.ruleForm.checkings.forEach((item) => {
item.xcId = res.data.checkings?.find(
(v) => v.type == item.type
)?.xcId;
});
}
});
}, },
resetForm() { resetForm() {
this.$refs.ruleForm.resetFields(); this.$refs.ruleForm.resetFields();
@ -311,7 +334,6 @@ export default {
this.$refs.ruleForm.validate((valid) => { this.$refs.ruleForm.validate((valid) => {
if (valid) { if (valid) {
postProjectChecking(this.ruleForm).then((res) => { postProjectChecking(this.ruleForm).then((res) => {
console.log("res >>>>> ", res);
if (res?.success) { if (res?.success) {
this.$message.success("配置成功"); this.$message.success("配置成功");
this.dialogVisible = false; this.dialogVisible = false;
@ -320,6 +342,13 @@ export default {
} }
}); });
}, },
getDictLabel(key) {
return (
this.waterAdministrativeDepartmentOptions.filter(
(v) => v.dictValue === key
)?.[0]?.dictLabel || key
);
},
}, },
}; };
</script> </script>

453
src/views/sluice/runManage/enginerring/inspectionItems/index.vue

@ -1,14 +1,21 @@
<!-- 巡查项目管理-水闸 --> <!-- 巡查项目管理-水闸 -->
<script> <script>
import { getDicts, postSZInspectionProjectList, postSZInspectionProject, putSZInspectionProject, deleteSZInspectionProject, getSZInspectionProject } from '@/api/management' import {
getDicts,
postSZInspectionProjectList,
postSZInspectionProject,
putSZInspectionProject,
deleteSZInspectionProject,
getSZInspectionProject,
} from "@/api/management";
export default { export default {
name: 'InspectionItems', name: "InspectionItems",
data() { data() {
return { return {
searchInput: '', searchInput: "",
searchType: 3, searchType: 3,
dialogVisible: false, dialogVisible: false,
ContentType: '', ContentType: "",
firstType: [], // firstType: [], //
secondType: [], // secondType: [], //
examType: [], // examType: [], //
@ -17,28 +24,27 @@ export default {
pageNum: 1, // pageNum: 1, //
pageSize: 10, // pageSize: 10, //
pageSizes: [10, 20, 50, 100], pageSizes: [10, 20, 50, 100],
total: 0 // total: 0, //
}, },
ruleForm: { ruleForm: {
name: '', name: "",
type: '', type: "",
checkContentType: '', checkContentType: "",
items: [ items: [],
],
}, },
rules: { rules: {
name: [ name: [
{ required: true, message: '请输入巡视检查名称', trigger: 'blur' }, { required: true, message: "请输入巡视检查名称", trigger: "blur" },
{ max: 50, message: '名称最长为50个字符', trigger: 'blur' } { max: 50, message: "名称最长为50个字符", trigger: "blur" },
], ],
type: [ type: [
{ required: true, message: '请选择巡查类型', trigger: 'change' } { required: true, message: "请选择巡查类型", trigger: "change" },
], ],
checkContentType: [ checkContentType: [
{ required: true, message: '请选择巡视检查内容', trigger: 'change' } { required: true, message: "请选择巡视检查内容", trigger: "change" },
] ],
} },
} };
}, },
methods: { methods: {
// //
@ -46,97 +52,92 @@ export default {
postSZInspectionProjectList({ postSZInspectionProjectList({
data: { data: {
timeView: { timeView: {
timeField: "create_time" timeField: "create_time",
}, },
type: this.searchType == 3 ? '' : this.searchType type: this.searchType == 3 ? "" : this.searchType,
}, },
cv: { cv: {
name: "name", name: "name",
type: "like", type: "like",
value: this.searchInput value: this.searchInput,
}, },
pageSize: this.pageData.pageSize, pageSize: this.pageData.pageSize,
pageNum: this.pageData.pageNum pageNum: this.pageData.pageNum,
}).then((res) => { }).then((res) => {
if (res) { if (res) {
this.tableData = res.records this.tableData = res.records;
this.pageData.total = res.total this.pageData.total = res.total;
} }
console.log('🚀表格数据🚀', res) console.log("🚀表格数据🚀", res);
}) });
}, },
// //
resetSearch() { resetSearch() {
this.searchInput = '' this.searchInput = "";
this.searchType = 3 this.searchType = 3;
this.searchTableList() this.searchTableList();
}, },
// //
editTableItem(row) { editTableItem(row) {
getSZInspectionProject(row.id).then((res) => { getSZInspectionProject(row.id).then((res) => {
console.log('🚀res🚀', res.data) this.ruleForm = res.data;
this.ruleForm = res.data this.ruleForm.checkContentType = res.data.items[0].parts[0];
this.ruleForm.checkContentType = res.data.items[0].parts[0]
getDicts(res.data.items[0].parts[0]).then((res) => { getDicts(res.data.items[0].parts[0]).then((res) => {
this.secondType = res.data this.secondType = res.data;
console.log('🚀一级🚀', res.data) });
}) this.ruleForm.items.forEach((element) => {
this.ruleForm.items.forEach(element => {
getDicts(element.parts[1]).then((res) => { getDicts(element.parts[1]).then((res) => {
this.$set(element, 'third', res.data) this.$set(element, "third", res.data);
}) });
});
this.dialogVisible = true;
}); });
this.dialogVisible = true
console.log('🚀this.ruleForm🚀', this.ruleForm)
})
}, },
// //
deleteTableItem(row) { deleteTableItem(row) {
deleteSZInspectionProject(row.id).then((res) => { deleteSZInspectionProject(row.id).then((res) => {
this.getTableData() this.getTableData();
this.$message.success('删除成功'); this.$message.success("删除成功");
}) });
}, },
// //
addPatrolItem(checkContentType) { addPatrolItem(checkContentType) {
console.log('🚀checkContentType🚀', checkContentType) this.ruleForm.items.push({
this.ruleForm.items.push( content: "",
{ parts: [checkContentType, "", ""],
content: '', });
parts: [checkContentType, '', '']
}
)
}, },
// //
deletePatrolItem(index) { deletePatrolItem(index) {
this.ruleForm.items.splice(index, 1) this.ruleForm.items.splice(index, 1);
}, },
// //
changeContentType(dictValue) { changeContentType(dictValue) {
getDicts(dictValue).then((res) => { getDicts(dictValue).then((res) => {
this.secondType = res.data this.secondType = res.data;
console.log('🚀一级🚀', res.data) console.log("🚀一级🚀", res.data);
}) });
this.ruleForm.items = [ this.ruleForm.items = [
{ {
content: '', content: "",
parts: [this.ruleForm.checkContentType] parts: [this.ruleForm.checkContentType],
} },
] ];
}, },
// //
changeSecondType(row) { changeSecondType(row) {
getDicts(row.parts[1]).then((res) => { getDicts(row.parts[1]).then((res) => {
console.log('🚀二级🚀', res.data) row.parts[2] = "";
row.parts[2] = '' this.$set(row, "third", res.data);
this.$set(row, 'third', res.data) });
})
}, },
// //
changeThirdType(row) { changeThirdType(row) {
let value = row.third.find(item => item.dictValue == row.parts[2]).remark let value = row.third.find(
(item) => item.dictValue == row.parts[2]
).remark;
if (value) { if (value) {
row.content = value row.content = value;
} }
}, },
// //
@ -146,106 +147,112 @@ export default {
console.log(this.ruleForm); console.log(this.ruleForm);
if (this.ruleForm.id) { if (this.ruleForm.id) {
putSZInspectionProject(this.ruleForm).then(() => { putSZInspectionProject(this.ruleForm).then(() => {
this.getTableData() this.getTableData();
this.dialogVisible = false this.dialogVisible = false;
this.$message.success('更新成功'); this.$message.success("更新成功");
}) });
} else { } else {
postSZInspectionProject(this.ruleForm).then(() => { postSZInspectionProject(this.ruleForm).then(() => {
this.getTableData() this.getTableData();
this.dialogVisible = false this.dialogVisible = false;
this.$message.success('添加成功'); this.$message.success("添加成功");
}) });
} }
} else { } else {
console.log('校验不通过'); console.log("校验不通过");
return false; return false;
} }
}); });
}, },
// dialog // dialog
closeDialog(ruleForm = 'ruleForm') { closeDialog(ruleForm = "ruleForm") {
console.log('触发关闭dialog', ruleForm); console.log("触发关闭dialog", ruleForm);
this.$refs[ruleForm].resetFields(); this.$refs[ruleForm].resetFields();
this.ruleForm = { this.ruleForm = {
name: '', name: "",
type: '', type: "",
checkContentType: '', checkContentType: "",
items: [ items: [
{ {
content: '', content: "",
parts: ['', '', ''] parts: ["", "", ""],
} },
] ],
} };
}, },
// //
getTableData() { getTableData() {
this.searchInput = '', (this.searchInput = ""),
this.searchType = 3, (this.searchType = 3),
postSZInspectionProjectList({ postSZInspectionProjectList({
data: { data: {
timeView: { timeView: {
timeField: "create_time" timeField: "create_time",
}, },
}, },
cv: { cv: {
name: "name", name: "name",
type: "like" type: "like",
}, },
pageSize: this.pageData.pageSize, pageSize: this.pageData.pageSize,
pageNum: this.pageData.pageNum pageNum: this.pageData.pageNum,
}).then((res) => { }).then((res) => {
if (res) { if (res) {
this.tableData = res.records this.tableData = res.records;
this.pageData.total = res.total this.pageData.total = res.total;
}
console.log('🚀表格数据🚀', res)
})
} }
console.log("🚀表格数据🚀", res);
});
},
}, },
mounted() { mounted() {
// //
this.getTableData() this.getTableData();
// //
getDicts('xs_classfy').then((res) => { getDicts("xs_classfy").then((res) => {
if (res.data && Array.isArray(res.data)) { this.examType = res.data;
res.data.forEach(element => {
element.dictValue = Number(element.dictValue)
}); });
console.log('🚀res.data🚀', res.data)
this.examType = res.data
}
})
// //
getDicts('sz_xs_c_classfy').then((res) => { getDicts("sz_xs_c_classfy").then((res) => {
if (res.data && Array.isArray(res.data)) { this.firstType = res.data || [];
this.firstType = res.data });
}
})
}, },
} };
</script> </script>
<template> <template>
<div class="slider-right"> <div class="slider-right">
<div class="top-title"> <div class="top-title">基础信息管理</div>
基础信息管理
</div>
<div class="table-box"> <div class="table-box">
<div class="top-search"> <div class="top-search">
<span>巡视检查名称</span> <span>巡视检查名称</span>
<el-input class="search-input" v-model="searchInput" placeholder="请输入巡视检查名称" /> <el-input
class="search-input"
v-model="searchInput"
placeholder="请输入巡视检查名称"
/>
<span>巡查类型</span> <span>巡查类型</span>
<el-select v-model="searchType" placeholder="请选择"> <el-select v-model="searchType" placeholder="请选择">
<el-option v-for="item in examType" :label="item.dictLabel" :value="item.dictValue" :key="item.id"></el-option> <el-option
v-for="item in examType"
:label="item.dictLabel"
:value="item.dictValue"
:key="item.id"
></el-option>
<el-option label="全部" :value="3"></el-option> <el-option label="全部" :value="3"></el-option>
</el-select> </el-select>
<el-button class="search-btn" type="success" @click="searchTableList()">搜索</el-button> <el-button class="search-btn" type="success" @click="searchTableList()"
>搜索</el-button
>
<el-button @click="resetSearch()">重置</el-button> <el-button @click="resetSearch()">重置</el-button>
</div> </div>
<el-button class="search-btn" style=" margin-right: 16px;margin-bottom: 8px; float: right;" type="success" <el-button
@click="dialogVisible = true">添加</el-button> class="search-btn"
style="margin-right: 16px; margin-bottom: 8px; float: right"
type="success"
@click="dialogVisible = true"
>添加</el-button
>
<el-table height="625" :data="tableData" border> <el-table height="625" :data="tableData" border>
<el-table-column type="index" align="center" label="序号" width="100"> <el-table-column type="index" align="center" label="序号" width="100">
</el-table-column> </el-table-column>
@ -253,98 +260,223 @@ export default {
</el-table-column> </el-table-column>
<el-table-column align="center" label="巡查类型"> <el-table-column align="center" label="巡查类型">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="examType.length > 0 && scope.row.type !== null">{{ examType.find(item => item.dictValue == <span v-if="examType.length > 0 && scope.row.type !== null">{{
scope.row.type).dictLabel || examType.find((item) => item.dictValue == scope.row.type)
'' .dictLabel || ""
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="createTime" align="center" sortable label="创建时间"> <el-table-column
prop="createTime"
align="center"
sortable
label="创建时间"
>
</el-table-column> </el-table-column>
<el-table-column prop="updateTime" align="center" sortable label="更新时间"> <el-table-column
prop="updateTime"
align="center"
sortable
label="更新时间"
>
</el-table-column> </el-table-column>
<el-table-column prop="address" align="center" label="操作"> <el-table-column prop="address" align="center" label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button style=" margin-right: 16px;" @click="editTableItem(scope.row)" type="text" <el-button
size="small">编辑</el-button> style="margin-right: 16px"
<el-popconfirm confirm-button-text='确定' cancel-button-text='取消' icon="el-icon-info" icon-color="red" @click="editTableItem(scope.row)"
title="确定删除吗?" @confirm="deleteTableItem(scope.row)"> type="text"
<el-button style="color: red;" type="text" size="small" slot="reference">删除</el-button> size="small"
>编辑</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"
>删除</el-button
>
</el-popconfirm> </el-popconfirm>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-pagination background class="pagination" style="margin-top: 16px;margin-right: 16px;float: right;" <el-pagination
:current-page="pageData.pageNum" :page-sizes="pageData.pageSizes" layout="total, prev, pager, next, sizes, jumper" background
:total="pageData.total" @size-change="getTableData()"> class="pagination"
style="margin-top: 16px; margin-right: 16px; float: right"
:current-page="pageData.pageNum"
:page-sizes="pageData.pageSizes"
layout="total, prev, pager, next, sizes, jumper"
:total="pageData.total"
@size-change="getTableData()"
>
</el-pagination> </el-pagination>
</div> </div>
<!-- 弹窗 --> <!-- 弹窗 -->
<el-dialog title="新增/编辑巡查项目" @close="closeDialog" :visible.sync="dialogVisible" width="50%"> <el-dialog
<div style="display: flex; margin-bottom: 16px;"> title="新增/编辑巡查项目"
<div style="width: 5px; height: 16px; background-color: #31a08e; margin-right: 8px;"></div><span @close="closeDialog"
style="font-weight: 600;">基础信息</span> :visible.sync="dialogVisible"
width="50%"
>
<div style="display: flex; margin-bottom: 16px">
<div
style="
width: 5px;
height: 16px;
background-color: #31a08e;
margin-right: 8px;
"
></div>
<span style="font-weight: 600">基础信息</span>
</div> </div>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px"> <el-form
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-width="100px"
>
<el-form-item label-width="120px" label="巡视检查名称" prop="name"> <el-form-item label-width="120px" label="巡视检查名称" prop="name">
<el-input style="width: 202px;" v-model="ruleForm.name"></el-input> <el-input style="width: 202px" v-model="ruleForm.name"></el-input>
</el-form-item> </el-form-item>
<el-form-item label-width="120px" label="巡查类型" prop="type"> <el-form-item label-width="120px" label="巡查类型" prop="type">
<el-select v-model="ruleForm.type" placeholder="请选择巡查类型"> <el-select v-model="ruleForm.type" placeholder="请选择巡查类型">
<el-option v-for="item in examType" :label="item.dictLabel" :value="item.dictValue" <el-option
:key="item.id"></el-option> v-for="item in examType"
:label="item.dictLabel"
:value="item.dictValue"
:key="item.id"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label-width="120px" label="巡视检查内容" prop="checkContentType"> <el-form-item
<el-select v-model="ruleForm.checkContentType" @change="changeContentType(ruleForm.checkContentType)" label-width="120px"
placeholder="请选择巡视检查内容"> label="巡视检查内容"
<el-option v-for="item in firstType" :label="item.dictLabel" :value="item.dictValue" prop="checkContentType"
:key="item.id"></el-option> >
<el-select
v-model="ruleForm.checkContentType"
@change="changeContentType(ruleForm.checkContentType)"
placeholder="请选择巡视检查内容"
>
<el-option
v-for="item in firstType"
:label="item.dictLabel"
:value="item.dictValue"
:key="item.id"
></el-option>
<el-option label="其他" value="2"></el-option> <el-option label="其他" value="2"></el-option>
</el-select> </el-select>
<span style="margin-left: 8px; color: red;">注意切换选项后检查内容将会清空</span> <span style="margin-left: 8px; color: red"
>注意切换选项后检查内容将会清空</span
>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table height="350" :data="ruleForm.items" border> <el-table height="350" :data="ruleForm.items" border>
<el-table-column type="index" align="center" label="序号" center width="80"> <el-table-column
type="index"
align="center"
label="序号"
center
width="80"
>
</el-table-column> </el-table-column>
<el-table-column align="center" label="检查项目和内容" v-if="ruleForm.checkContentType != '2'"> <el-table-column
align="center"
label="检查项目和内容"
v-if="ruleForm.checkContentType != '2'"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-select v-model="scope.row.parts[1]" @change="changeSecondType(scope.row)" placeholder="请选择检查项目和内容"> <el-select
<el-option v-for="item in secondType" :label="item.dictLabel" :value="item.dictValue" v-model="scope.row.parts[1]"
:key="item.id"></el-option> @change="changeSecondType(scope.row)"
placeholder="请选择检查项目和内容"
>
<el-option
v-for="item in secondType"
:label="item.dictLabel"
:value="item.dictValue"
:key="item.id"
></el-option>
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="检查部位" v-if="ruleForm.checkContentType != '2'"> <el-table-column
align="center"
label="检查部位"
v-if="ruleForm.checkContentType != '2'"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-select v-model="scope.row.parts[2]" @change="changeThirdType(scope.row)" placeholder="请选择检查部位"> <el-select
<el-option v-for="item in scope.row.third" :label="item.dictLabel" :value="item.dictValue" v-model="scope.row.parts[2]"
:key="item.id"></el-option> @change="changeThirdType(scope.row)"
placeholder="请选择检查部位"
>
<el-option
v-for="item in scope.row.third"
:label="item.dictLabel"
:value="item.dictValue"
:key="item.id"
></el-option>
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="inspectionContent" label="检查内容"> <el-table-column
align="center"
prop="inspectionContent"
label="检查内容"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-input maxlength="500" v-model="scope.row.content"></el-input> <el-input maxlength="500" v-model="scope.row.content"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="address" align="center" label="操作"> <el-table-column prop="address" align="center" label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button style="margin-right: 8px;" <el-button
v-if="scope.$index == ruleForm.items.length - 1 && ruleForm.items.length < 50" style="margin-right: 8px"
@click="addPatrolItem(ruleForm.checkContentType)" type="text" size="small">添加</el-button> v-if="
<el-popconfirm v-if="ruleForm.items.length >= 2" confirm-button-text='确定' cancel-button-text='取消' scope.$index == ruleForm.items.length - 1 &&
icon="el-icon-info" icon-color="red" title="确定删除吗?" @confirm="deletePatrolItem(scope.$index)"> ruleForm.items.length < 50
<el-button slot="reference" style="color: red;" type="text" size="small">删除</el-button> "
@click="addPatrolItem(ruleForm.checkContentType)"
type="text"
size="small"
>添加</el-button
>
<el-popconfirm
v-if="ruleForm.items.length >= 2"
confirm-button-text="确定"
cancel-button-text="取消"
icon="el-icon-info"
icon-color="red"
title="确定删除吗?"
@confirm="deletePatrolItem(scope.$index)"
>
<el-button
slot="reference"
style="color: red"
type="text"
size="small"
>删除</el-button
>
</el-popconfirm> </el-popconfirm>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button size="mini" @click="dialogVisible = false"> </el-button> <el-button size="mini" @click="dialogVisible = false"> </el-button>
<el-button size="mini" type="primary" @click="submitForm('ruleForm')">保存</el-button> <el-button size="mini" type="primary" @click="submitForm('ruleForm')"
>保存</el-button
>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
@ -376,7 +508,6 @@ export default {
width: 300px; width: 300px;
margin-right: 10px; margin-right: 10px;
} }
} }
.search-btn { .search-btn {

43
src/views/sluice/runManage/enginerring/patrolManage/index.vue

@ -13,7 +13,7 @@
<span>水闸类型</span> <span>水闸类型</span>
<el-select v-model="wagaType" placeholder="请选择"> <el-select v-model="wagaType" placeholder="请选择">
<el-option <el-option
v-for="item in waraTypeList" v-for="item in wagaTypeList"
:key="item.dictValue" :key="item.dictValue"
:label="item.dictLabel" :label="item.dictLabel"
:value="item.dictValue" :value="item.dictValue"
@ -41,7 +41,11 @@
prop="waterAdministrativeDepartment" prop="waterAdministrativeDepartment"
align="center" align="center"
label="行政主管部门" label="行政主管部门"
/> >
<template #default="{ row }">
{{ getDictLabel(row.waterAdministrativeDepartment) }}
</template>
</el-table-column>
<el-table-column prop="lastTime" align="center" label="最近巡查时间" /> <el-table-column prop="lastTime" align="center" label="最近巡查时间" />
<el-table-column prop="operate" align="center" label="操作"> <el-table-column prop="operate" align="center" label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
@ -168,6 +172,7 @@ import {
getSluiceProjectList, getSluiceProjectList,
postProjectChecking, postProjectChecking,
postSZInspectionProjectList, postSZInspectionProjectList,
getProjectCheckingRel,
} from "@/api/sluice"; } from "@/api/sluice";
export default { export default {
@ -180,7 +185,8 @@ export default {
total: 0, total: 0,
}, },
searchInput: "", searchInput: "",
waraTypeList: [ waterAdministrativeDepartmentOptions: [],
wagaTypeList: [
{ {
label: "全部", label: "全部",
value: "", value: "",
@ -192,17 +198,17 @@ export default {
wagaCode: "", wagaCode: "",
checkings: [ checkings: [
{ {
type: 0, type: "0",
label: "日常检查", label: "日常检查",
xcId: "", xcId: "",
}, },
{ {
type: 1, type: "1",
label: "定期检查", label: "定期检查",
xcId: "", xcId: "",
}, },
{ {
type: 2, type: "2",
label: "特别检查", label: "特别检查",
xcId: "", xcId: "",
}, },
@ -226,7 +232,10 @@ export default {
}, },
created() { created() {
this.getDicts("sluice_type").then((response) => { this.getDicts("sluice_type").then((response) => {
this.waraTypeList = response.data; this.wagaTypeList = response.data;
});
this.getDicts("water_administrative_department").then((response) => {
this.waterAdministrativeDepartmentOptions = response.data;
}); });
}, },
mounted() { mounted() {
@ -301,9 +310,20 @@ export default {
}, },
// //
handleSet(row) { handleSet(row) {
// this.initProjectList(); this.handleGetRemoteProjectListData(0);
this.handleGetRemoteProjectListData(1);
this.handleGetRemoteProjectListData(2);
this.dialogVisible = true; this.dialogVisible = true;
getProjectCheckingRel(row.wagaCode).then((res) => {
this.ruleForm.wagaCode = row.wagaCode; this.ruleForm.wagaCode = row.wagaCode;
if (res.data?.checkings?.length) {
this.ruleForm.checkings.forEach((item) => {
item.xcId = res.data.checkings?.find(
(v) => v.type == item.type
)?.xcId;
});
}
});
}, },
resetForm() { resetForm() {
this.$refs.ruleForm.resetFields(); this.$refs.ruleForm.resetFields();
@ -322,6 +342,13 @@ export default {
} }
}); });
}, },
getDictLabel(key) {
return (
this.waterAdministrativeDepartmentOptions.filter(
(v) => v.dictValue === key
)?.[0]?.dictLabel || key
);
},
}, },
}; };
</script> </script>

Loading…
Cancel
Save