|
@ -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> |
|
@ -135,9 +136,14 @@ |
|
|
size="small" |
|
|
size="small" |
|
|
v-if="tableCheckData.length" |
|
|
v-if="tableCheckData.length" |
|
|
@click="handleExport" |
|
|
@click="handleExport" |
|
|
|
|
|
v-hasPermi="['df:run:inspection:line:export']" |
|
|
>导出</el-button |
|
|
>导出</el-button |
|
|
> |
|
|
> |
|
|
<el-button type="danger" size="small" @click="handleDelAll" |
|
|
<el-button |
|
|
|
|
|
type="danger" |
|
|
|
|
|
size="small" |
|
|
|
|
|
@click="handleDelAll" |
|
|
|
|
|
v-hasPermi="['df:run:inspection:line:delAll']" |
|
|
>删除</el-button |
|
|
>删除</el-button |
|
|
> |
|
|
> |
|
|
</div> |
|
|
</div> |
|
@ -148,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" |
|
@ -330,24 +348,19 @@ |
|
|
class="custom-btn" |
|
|
class="custom-btn" |
|
|
type="text" |
|
|
type="text" |
|
|
@click="handleEdit(scope.row)" |
|
|
@click="handleEdit(scope.row)" |
|
|
|
|
|
v-hasPermi="['df:run:inspection:line:item:edit']" |
|
|
>编辑</el-button |
|
|
>编辑</el-button |
|
|
> |
|
|
> |
|
|
<el-button |
|
|
<el-button |
|
|
class="custom-btn" |
|
|
class="custom-btn" |
|
|
type="text" |
|
|
type="text" |
|
|
@click="handleDel(scope.row)" |
|
|
@click="handleDel(scope.row)" |
|
|
|
|
|
v-hasPermi="['df:run:inspection:line:item:del']" |
|
|
>删除</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 |
|
@ -432,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: { |
|
@ -476,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({ |
|
@ -484,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, |
|
@ -495,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() { |
|
@ -602,14 +625,14 @@ export default { |
|
|
}, |
|
|
}, |
|
|
handleChangeRowAllChecked(checked, row) { |
|
|
handleChangeRowAllChecked(checked, row) { |
|
|
if (checked) { |
|
|
if (checked) { |
|
|
row.expendData.forEach((v) => { |
|
|
row.expendData?.forEach((v) => { |
|
|
v.isChecked = true; |
|
|
v.isChecked = true; |
|
|
if (!this.tableCheckData.find((v1) => v1.id === v.id)) { |
|
|
if (!this.tableCheckData.find((v1) => v1.id === v.id)) { |
|
|
this.tableCheckData.push(v); |
|
|
this.tableCheckData.push(v); |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
} else { |
|
|
} else { |
|
|
row.expendData.forEach((v) => { |
|
|
row.expendData?.forEach((v) => { |
|
|
v.isChecked = false; |
|
|
v.isChecked = false; |
|
|
this.tableCheckData = this.tableCheckData.filter( |
|
|
this.tableCheckData = this.tableCheckData.filter( |
|
|
(v1) => v1.id !== v.id |
|
|
(v1) => v1.id !== v.id |
|
@ -657,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"); |
|
@ -676,7 +703,6 @@ export default { |
|
|
}, |
|
|
}, |
|
|
// 查看 |
|
|
// 查看 |
|
|
handleCheck(row) { |
|
|
handleCheck(row) { |
|
|
console.log("row >>>>> ", row); |
|
|
|
|
|
this.$set(this, "currentRow", row); |
|
|
this.$set(this, "currentRow", row); |
|
|
this.showRouteDetailDialog = true; |
|
|
this.showRouteDetailDialog = true; |
|
|
}, |
|
|
}, |
|
|