|
@ -122,6 +122,7 @@ |
|
|
<el-radio-group |
|
|
<el-radio-group |
|
|
size="small" |
|
|
size="small" |
|
|
v-model="displayType" |
|
|
v-model="displayType" |
|
|
|
|
|
:disabled="isLoading" |
|
|
@change="handleChangeDisplayType" |
|
|
@change="handleChangeDisplayType" |
|
|
> |
|
|
> |
|
|
<el-radio-button label="2">平铺</el-radio-button> |
|
|
<el-radio-button label="2">平铺</el-radio-button> |
|
@ -153,178 +154,190 @@ |
|
|
border |
|
|
border |
|
|
@expand-change="handleTriggerRowExpand" |
|
|
@expand-change="handleTriggerRowExpand" |
|
|
@selection-change="handleSelectionChange" |
|
|
@selection-change="handleSelectionChange" |
|
|
|
|
|
v-loading="isLoading" |
|
|
> |
|
|
> |
|
|
<el-table-column type="expand" v-if="displayType === '1'" key="expand"> |
|
|
<template v-if="displayType === '1'"> |
|
|
<template slot-scope="scope"> |
|
|
<el-table-column type="expand" key="expand"> |
|
|
<div class="expand-box"> |
|
|
<template slot-scope="scope"> |
|
|
<el-row class="row row-header flex"> |
|
|
<div class="expand-box"> |
|
|
<el-col class="row-item row-checkbox"> |
|
|
<el-row class="row row-header flex"> |
|
|
<el-checkbox |
|
|
<el-col class="row-item row-checkbox"> |
|
|
v-model="scope.row.allChecked" |
|
|
<el-checkbox |
|
|
@change="(e) => handleChangeRowAllChecked(e, scope.row)" |
|
|
v-model="scope.row.allChecked" |
|
|
></el-checkbox> |
|
|
@change="(e) => handleChangeRowAllChecked(e, scope.row)" |
|
|
</el-col> |
|
|
></el-checkbox> |
|
|
<el-col class="row-item">路线名称</el-col> |
|
|
</el-col> |
|
|
<el-col class="row-item">巡查类型</el-col> |
|
|
<el-col class="row-item">路线名称</el-col> |
|
|
<el-col class="row-item">巡查人员类型</el-col> |
|
|
<el-col class="row-item">巡查类型</el-col> |
|
|
<el-col class="row-item">巡查人员</el-col> |
|
|
<el-col class="row-item">巡查人员类型</el-col> |
|
|
<el-col class="row-item">创建时间</el-col> |
|
|
<el-col class="row-item">巡查人员</el-col> |
|
|
<el-col class="row-item row-operate">操作</el-col> |
|
|
<el-col class="row-item">创建时间</el-col> |
|
|
</el-row> |
|
|
<el-col class="row-item row-operate">操作</el-col> |
|
|
<el-row |
|
|
</el-row> |
|
|
class="row row-body flex" |
|
|
<el-row |
|
|
v-for="(item, index) in scope.row.expendData" |
|
|
class="row row-body flex" |
|
|
:key="index" |
|
|
v-for="(item, index) in scope.row.expendData" |
|
|
> |
|
|
:key="index" |
|
|
<el-col class="row-item row-checkbox"> |
|
|
> |
|
|
<el-checkbox |
|
|
<el-col class="row-item row-checkbox"> |
|
|
v-model="item.isChecked" |
|
|
<el-checkbox |
|
|
@change="(e) => handleChangeRowChecked(e, scope.row, item)" |
|
|
v-model="item.isChecked" |
|
|
></el-checkbox> |
|
|
@change=" |
|
|
</el-col> |
|
|
(e) => handleChangeRowChecked(e, scope.row, item) |
|
|
<el-col class="row-item">{{ item.name }}</el-col> |
|
|
" |
|
|
<el-col class="row-item">{{ |
|
|
></el-checkbox> |
|
|
getProTypeDictLabelName(item.dikeType) |
|
|
</el-col> |
|
|
}}</el-col> |
|
|
<el-col class="row-item">{{ item.name }}</el-col> |
|
|
<el-col class="row-item">{{ |
|
|
<el-col class="row-item">{{ |
|
|
getPersonTypeDictLabelName(item.dutyHolderType) |
|
|
getProTypeDictLabelName(item.dikeType) |
|
|
}}</el-col> |
|
|
}}</el-col> |
|
|
<el-col class="row-item"> |
|
|
<el-col class="row-item">{{ |
|
|
{{ |
|
|
getPersonTypeDictLabelName(item.dutyHolderType) |
|
|
item.dutyHolders && |
|
|
}}</el-col> |
|
|
item.dutyHolders.find((v) => v.dutyHolderType === "0") && |
|
|
<el-col class="row-item"> |
|
|
item.dutyHolders.find((v) => v.dutyHolderType === "0").name |
|
|
{{ |
|
|
}} |
|
|
item.dutyHolders && |
|
|
</el-col> |
|
|
item.dutyHolders.find((v) => v.dutyHolderType === "0") && |
|
|
<el-col class="row-item">{{ item.updateTime }}</el-col> |
|
|
item.dutyHolders.find((v) => v.dutyHolderType === "0") |
|
|
<el-col class="row-item row-operate"> |
|
|
.name |
|
|
<el-button |
|
|
}} |
|
|
class="custom-btn" |
|
|
</el-col> |
|
|
type="text" |
|
|
<el-col class="row-item">{{ item.updateTime }}</el-col> |
|
|
@click="handleCheck(item)" |
|
|
<el-col class="row-item row-operate"> |
|
|
>查看</el-button |
|
|
<el-button |
|
|
> |
|
|
class="custom-btn" |
|
|
<el-button |
|
|
type="text" |
|
|
class="custom-btn" |
|
|
@click="handleCheck(item)" |
|
|
type="text" |
|
|
>查看</el-button |
|
|
@click="handleEdit(item)" |
|
|
> |
|
|
>编辑</el-button |
|
|
<el-button |
|
|
> |
|
|
class="custom-btn" |
|
|
<el-button |
|
|
type="text" |
|
|
class="custom-btn" |
|
|
@click="handleEdit(item)" |
|
|
type="text" |
|
|
>编辑</el-button |
|
|
@click="handleDel(item)" |
|
|
> |
|
|
>删除</el-button |
|
|
<el-button |
|
|
> |
|
|
class="custom-btn" |
|
|
</el-col> |
|
|
type="text" |
|
|
</el-row> |
|
|
@click="handleDel(item)" |
|
|
<el-row |
|
|
>删除</el-button |
|
|
v-if="!scope.row.expendData || !scope.row.expendData.length" |
|
|
> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
<el-row |
|
|
|
|
|
v-if="!scope.row.expendData || !scope.row.expendData.length" |
|
|
|
|
|
> |
|
|
|
|
|
<div>暂无数据</div> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
</div> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="dikeName" align="center" label="堤防名称" /> |
|
|
|
|
|
<el-table-column prop="dikeType" align="center" label="堤防类型"> |
|
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
|
{{ |
|
|
|
|
|
projectTypeOptions.find((v) => v.dictValue == row.dikeType) && |
|
|
|
|
|
projectTypeOptions.find((v) => v.dictValue == row.dikeType) |
|
|
|
|
|
.dictLabel |
|
|
|
|
|
}} |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
prop="operatorName" |
|
|
|
|
|
align="center" |
|
|
|
|
|
label="行政责任人" |
|
|
|
|
|
> |
|
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
|
{{ |
|
|
|
|
|
row.dutyHolders && |
|
|
|
|
|
row.dutyHolders.find((v) => v.dutyHolderType == "2") && |
|
|
|
|
|
row.dutyHolders.find((v) => v.dutyHolderType == "2").name |
|
|
|
|
|
}} |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
prop="operatorName" |
|
|
|
|
|
align="center" |
|
|
|
|
|
label="巡查责任人" |
|
|
|
|
|
> |
|
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
|
{{ |
|
|
|
|
|
row.dutyHolders && |
|
|
|
|
|
row.dutyHolders.find((v) => v.dutyHolderType == "0") && |
|
|
|
|
|
row.dutyHolders.find((v) => v.dutyHolderType == "0").name |
|
|
|
|
|
}} |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
prop="operatorName" |
|
|
|
|
|
align="center" |
|
|
|
|
|
label="技术责任人" |
|
|
|
|
|
> |
|
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
|
{{ |
|
|
|
|
|
row.dutyHolders && |
|
|
|
|
|
row.dutyHolders.find((v) => v.dutyHolderType == "1") && |
|
|
|
|
|
row.dutyHolders.find((v) => v.dutyHolderType == "1").name |
|
|
|
|
|
}} |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
prop="operate" |
|
|
|
|
|
align="center" |
|
|
|
|
|
label="操作" |
|
|
|
|
|
fixed="right" |
|
|
|
|
|
> |
|
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
|
<el-button |
|
|
|
|
|
type="text" |
|
|
|
|
|
size="small" |
|
|
|
|
|
@click="handleCheckDetail(scope.row)" |
|
|
|
|
|
>查看</el-button |
|
|
> |
|
|
> |
|
|
<div>暂无数据</div> |
|
|
</template> |
|
|
</el-row> |
|
|
</el-table-column> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
<template v-else-if="displayType === '2'"> |
|
|
</el-table-column> |
|
|
<el-table-column key="selection" type="selection"></el-table-column> |
|
|
<el-table-column |
|
|
<el-table-column prop="dikeName" align="center" label="堤防名称" /> |
|
|
type="selection" |
|
|
<el-table-column prop="dikeType" align="center" label="堤防类型"> |
|
|
v-if="displayType === '2'" |
|
|
<template #default="{ row }"> |
|
|
key="selection" |
|
|
{{ |
|
|
></el-table-column> |
|
|
projectTypeOptions.find((v) => v.dictValue == row.dikeType) && |
|
|
<el-table-column |
|
|
projectTypeOptions.find((v) => v.dictValue == row.dikeType) |
|
|
prop="dikeName" |
|
|
.dictLabel |
|
|
align="center" |
|
|
}} |
|
|
label="堤防名称" |
|
|
</template> |
|
|
key="dikeName" |
|
|
</el-table-column> |
|
|
/> |
|
|
<el-table-column prop="name" align="center" label="巡查路线名称" /> |
|
|
<el-table-column |
|
|
<el-table-column prop="type" align="center" label="巡查类型"> |
|
|
key="dikeType" |
|
|
<template #default="{ row }"> |
|
|
prop="dikeType" |
|
|
{{ |
|
|
align="center" |
|
|
lineTypeOptions.find((v) => v.dictValue == row.type) && |
|
|
label="堤防类型" |
|
|
lineTypeOptions.find((v) => v.dictValue == row.type).dictLabel |
|
|
> |
|
|
}} |
|
|
<template #default="{ row }"> |
|
|
</template> |
|
|
{{ |
|
|
</el-table-column> |
|
|
projectTypeOptions.find((v) => v.dictValue == row.dikeType) && |
|
|
<el-table-column |
|
|
projectTypeOptions.find((v) => v.dictValue == row.dikeType) |
|
|
prop="operatorName" |
|
|
.dictLabel |
|
|
align="center" |
|
|
}} |
|
|
label="巡查责任人" |
|
|
</template> |
|
|
> |
|
|
</el-table-column> |
|
|
<template #default="{ row }"> |
|
|
<el-table-column |
|
|
{{ |
|
|
key="name" |
|
|
row.dutyHolders && |
|
|
prop="name" |
|
|
row.dutyHolders.find((v) => v.dutyHolderType == "0") && |
|
|
align="center" |
|
|
row.dutyHolders.find((v) => v.dutyHolderType == "0").name |
|
|
label="巡查路线名称" |
|
|
}} |
|
|
v-if="displayType === '2'" |
|
|
</template> |
|
|
/> |
|
|
</el-table-column> |
|
|
<el-table-column |
|
|
<el-table-column |
|
|
key="type" |
|
|
prop="operate" |
|
|
prop="type" |
|
|
align="center" |
|
|
align="center" |
|
|
label="操作" |
|
|
label="巡查类型" |
|
|
fixed="right" |
|
|
v-if="displayType === '2'" |
|
|
> |
|
|
> |
|
|
<template slot-scope="scope"> |
|
|
<template #default="{ row }"> |
|
|
|
|
|
{{ |
|
|
|
|
|
lineTypeOptions.find((v) => v.dictValue == row.type) && |
|
|
|
|
|
lineTypeOptions.find((v) => v.dictValue == row.type).dictLabel |
|
|
|
|
|
}} |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
prop="operatorName" |
|
|
|
|
|
key="operatorName2" |
|
|
|
|
|
align="center" |
|
|
|
|
|
label="行政责任人" |
|
|
|
|
|
v-if="displayType === '1'" |
|
|
|
|
|
> |
|
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
|
{{ |
|
|
|
|
|
row.dutyHolders && |
|
|
|
|
|
row.dutyHolders.find((v) => v.dutyHolderType == "2") && |
|
|
|
|
|
row.dutyHolders.find((v) => v.dutyHolderType == "2").name |
|
|
|
|
|
}} |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
key="operatorName0" |
|
|
|
|
|
prop="operatorName" |
|
|
|
|
|
align="center" |
|
|
|
|
|
label="巡查责任人" |
|
|
|
|
|
> |
|
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
|
{{ |
|
|
|
|
|
row.dutyHolders && |
|
|
|
|
|
row.dutyHolders.find((v) => v.dutyHolderType == "0") && |
|
|
|
|
|
row.dutyHolders.find((v) => v.dutyHolderType == "0").name |
|
|
|
|
|
}} |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
key="operatorName1" |
|
|
|
|
|
prop="operatorName" |
|
|
|
|
|
align="center" |
|
|
|
|
|
label="技术责任人" |
|
|
|
|
|
v-if="displayType === '1'" |
|
|
|
|
|
> |
|
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
|
{{ |
|
|
|
|
|
row.dutyHolders && |
|
|
|
|
|
row.dutyHolders.find((v) => v.dutyHolderType == "1") && |
|
|
|
|
|
row.dutyHolders.find((v) => v.dutyHolderType == "1").name |
|
|
|
|
|
}} |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
|
|
|
|
<el-table-column |
|
|
|
|
|
prop="operate" |
|
|
|
|
|
align="center" |
|
|
|
|
|
label="操作" |
|
|
|
|
|
fixed="right" |
|
|
|
|
|
> |
|
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
|
<template v-if="displayType === '2'"> |
|
|
|
|
|
<el-button |
|
|
<el-button |
|
|
class="custom-btn" |
|
|
class="custom-btn" |
|
|
type="text" |
|
|
type="text" |
|
@ -346,15 +359,8 @@ |
|
|
>删除</el-button |
|
|
>删除</el-button |
|
|
> |
|
|
> |
|
|
</template> |
|
|
</template> |
|
|
<el-button |
|
|
</el-table-column> |
|
|
v-else |
|
|
</template> |
|
|
type="text" |
|
|
|
|
|
size="small" |
|
|
|
|
|
@click="handleCheckDetail(scope.row)" |
|
|
|
|
|
>查看</el-button |
|
|
|
|
|
> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table> |
|
|
</el-table> |
|
|
<el-pagination |
|
|
<el-pagination |
|
|
background |
|
|
background |
|
@ -439,6 +445,7 @@ export default { |
|
|
data() { |
|
|
data() { |
|
|
return { |
|
|
return { |
|
|
displayType: "1", // 1: 按堤防 2: 平铺 |
|
|
displayType: "1", // 1: 按堤防 2: 平铺 |
|
|
|
|
|
isLoading: false, |
|
|
showBaseDetailDialog: false, |
|
|
showBaseDetailDialog: false, |
|
|
showRouteDetailDialog: false, |
|
|
showRouteDetailDialog: false, |
|
|
areasOptionProps: { |
|
|
areasOptionProps: { |
|
@ -483,6 +490,7 @@ export default { |
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
getTableData() { |
|
|
getTableData() { |
|
|
|
|
|
this.isLoading = true; |
|
|
this.tableCheckData = []; |
|
|
this.tableCheckData = []; |
|
|
if (this.displayType === "2") { |
|
|
if (this.displayType === "2") { |
|
|
getProjectCheckingLineRoute({ |
|
|
getProjectCheckingLineRoute({ |
|
@ -491,10 +499,14 @@ export default { |
|
|
data: { |
|
|
data: { |
|
|
...this.paramsData, |
|
|
...this.paramsData, |
|
|
}, |
|
|
}, |
|
|
}).then((response) => { |
|
|
}) |
|
|
this.tableData = response.records; |
|
|
.then((response) => { |
|
|
this.pageData.total = response.total; |
|
|
this.tableData = response.records; |
|
|
}); |
|
|
this.pageData.total = response.total; |
|
|
|
|
|
}) |
|
|
|
|
|
.finally(() => { |
|
|
|
|
|
this.isLoading = false; |
|
|
|
|
|
}); |
|
|
} else { |
|
|
} else { |
|
|
getProjectCheckingLine({ |
|
|
getProjectCheckingLine({ |
|
|
pageNum: this.pageData.pageNum, |
|
|
pageNum: this.pageData.pageNum, |
|
@ -502,16 +514,20 @@ export default { |
|
|
data: { |
|
|
data: { |
|
|
...this.paramsData, |
|
|
...this.paramsData, |
|
|
}, |
|
|
}, |
|
|
}).then((response) => { |
|
|
}) |
|
|
this.tableData = response.records.map((v) => { |
|
|
.then((response) => { |
|
|
return { |
|
|
this.tableData = response.records.map((v) => { |
|
|
...v, |
|
|
return { |
|
|
allChecked: false, |
|
|
...v, |
|
|
expendData: [], |
|
|
allChecked: false, |
|
|
}; |
|
|
expendData: [], |
|
|
|
|
|
}; |
|
|
|
|
|
}); |
|
|
|
|
|
this.pageData.total = response.total; |
|
|
|
|
|
}) |
|
|
|
|
|
.finally(() => { |
|
|
|
|
|
this.isLoading = false; |
|
|
}); |
|
|
}); |
|
|
this.pageData.total = response.total; |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
getTreeData() { |
|
|
getTreeData() { |
|
@ -664,7 +680,11 @@ export default { |
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
handleChangeDisplayType() { |
|
|
handleChangeDisplayType() { |
|
|
|
|
|
this.tableData = []; |
|
|
this.getTableData(); |
|
|
this.getTableData(); |
|
|
|
|
|
setTimeout(() => { |
|
|
|
|
|
this.$forceUpdate(); |
|
|
|
|
|
}, 30); |
|
|
}, |
|
|
}, |
|
|
handleAdd() { |
|
|
handleAdd() { |
|
|
this.$router.push("createRoutePage"); |
|
|
this.$router.push("createRoutePage"); |
|
|