1,添加列表项显隐功能;2,添加导出全部功能;3,添加列表页滚动条位置记录;4,列表大小自适应;5,持续监管与自提图斑按项目类型划分
This commit is contained in:
parent
5a0c688856
commit
53fa8a059c
@ -17,9 +17,11 @@ import com.ruoyi.cxxm.domain.entity.zftk.*;
|
||||
import com.ruoyi.cxxm.domain.entity.zt.ZtTask;
|
||||
import com.ruoyi.cxxm.domain.entity.zt.ZtTaskQuery;
|
||||
import com.ruoyi.cxxm.domain.entity.zttb.ZttbTask;
|
||||
import com.ruoyi.cxxm.mapper.DeptMapper;
|
||||
import com.ruoyi.cxxm.service.IZftkCheckAuditService;
|
||||
import com.ruoyi.cxxm.service.IZftkCheckService;
|
||||
import com.ruoyi.cxxm.service.IZftkCheckVerifyService;
|
||||
import com.ruoyi.system.mapper.SysDeptMapper;
|
||||
import com.ruoyi.system.service.ISysUserService;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -56,6 +58,8 @@ public class ZftkTaskController extends BaseController {
|
||||
private IZftkCheckAuditService checkAuditService;
|
||||
@Autowired
|
||||
private IZftkCheckVerifyService checkVerifyService;
|
||||
@Autowired
|
||||
private DeptMapper deptMapper;
|
||||
|
||||
/**
|
||||
* 查询任务列表
|
||||
@ -114,6 +118,15 @@ public class ZftkTaskController extends BaseController {
|
||||
|
||||
}
|
||||
|
||||
@ApiOperation("导出全部任务列表")
|
||||
@Log(title = "导出全部任务", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/exportAll")
|
||||
public void exportAll(HttpServletResponse response) {
|
||||
Long deptId = this.getLoginUser().getDeptId();
|
||||
List<ZftkTask> list = taskService.lambdaQuery().in(ZftkTask::getDeptId, deptMapper.getAllAncestorsByDeptId(deptId)).list();
|
||||
this.handleExport(list, response);
|
||||
}
|
||||
|
||||
|
||||
private void handleExport(List<ZftkTask> list,HttpServletResponse response){
|
||||
ArrayList<ZftkTaskExport> zftkTaskExports = new ArrayList<>();
|
||||
|
@ -16,6 +16,7 @@ import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.cxxm.domain.entity.zftk.ZftkTask;
|
||||
import com.ruoyi.cxxm.domain.entity.zt.*;
|
||||
import com.ruoyi.cxxm.domain.entity.zttb.ZttbTask;
|
||||
import com.ruoyi.cxxm.mapper.DeptMapper;
|
||||
import com.ruoyi.cxxm.service.*;
|
||||
import com.ruoyi.system.service.ISysUserService;
|
||||
import io.swagger.annotations.Api;
|
||||
@ -49,6 +50,8 @@ public class ZtTaskController extends BaseController {
|
||||
private IZtCheckService checkService;
|
||||
@Autowired
|
||||
private IZtCheckAuditService checkAuditService;
|
||||
@Autowired
|
||||
private DeptMapper deptMapper;
|
||||
|
||||
/**
|
||||
* 查询任务列表
|
||||
@ -96,6 +99,15 @@ public class ZtTaskController extends BaseController {
|
||||
|
||||
}
|
||||
|
||||
@ApiOperation("导出全部任务列表")
|
||||
@Log(title = "导出全部任务", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/exportAll")
|
||||
public void exportAll(HttpServletResponse response) {
|
||||
Long deptId = this.getLoginUser().getDeptId();
|
||||
List<ZtTask> list = taskService.lambdaQuery().in(ZtTask::getDeptId, deptMapper.getAllAncestorsByDeptId(deptId)).list();
|
||||
this.handleExport(list, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出任务列表
|
||||
*/
|
||||
|
@ -16,7 +16,9 @@ import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.common.utils.bean.BeanUtils;
|
||||
import com.ruoyi.cxxm.domain.entity.zftk.*;
|
||||
import com.ruoyi.cxxm.domain.entity.zt.ZtTask;
|
||||
import com.ruoyi.cxxm.domain.entity.zttb.*;
|
||||
import com.ruoyi.cxxm.mapper.DeptMapper;
|
||||
import com.ruoyi.cxxm.service.IZttbCheckAuditService;
|
||||
import com.ruoyi.cxxm.service.IZttbCheckService;
|
||||
import com.ruoyi.system.service.ISysUserService;
|
||||
@ -53,6 +55,8 @@ public class ZttbTaskController extends BaseController {
|
||||
private IZttbCheckService checkService;
|
||||
@Autowired
|
||||
private IZttbCheckAuditService checkAuditService;
|
||||
@Autowired
|
||||
private DeptMapper deptMapper;
|
||||
|
||||
/**
|
||||
* 查询任务列表
|
||||
@ -110,6 +114,15 @@ public class ZttbTaskController extends BaseController {
|
||||
this.handleExport(list, response);
|
||||
}
|
||||
|
||||
@ApiOperation("导出全部任务列表")
|
||||
@Log(title = "导出全部任务", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/exportAll")
|
||||
public void exportAll(HttpServletResponse response) {
|
||||
Long deptId = this.getLoginUser().getDeptId();
|
||||
List<ZttbTask> list = taskService.lambdaQuery().in(ZttbTask::getDeptId, deptMapper.getAllAncestorsByDeptId(deptId)).list();
|
||||
this.handleExport(list, response);
|
||||
}
|
||||
|
||||
private void handleExport(List<ZttbTask> list, HttpServletResponse response) {
|
||||
ArrayList<ZttbTaskExport> zttbTaskExports = new ArrayList<>();
|
||||
for (ZttbTask task : list) {
|
||||
|
@ -118,12 +118,19 @@ public class ZtTaskExport extends BaseEntity {
|
||||
private String jbntmj;
|
||||
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@Excel(name = "项目类型",needMerge = true)
|
||||
@ApiModelProperty(value = "项目类型")
|
||||
private String xmmc;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@Excel(name = "项目名称",needMerge = true)
|
||||
@ApiModelProperty(value = "项目名称")
|
||||
private String xmmc;
|
||||
private String mc;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -121,9 +121,14 @@ public class ZttbTaskExport extends BaseEntity {
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@Excel(name = "项目类型",needMerge = true)
|
||||
@ApiModelProperty(value = "项目类型")
|
||||
private String xmmc;
|
||||
|
||||
|
||||
@Excel(name = "项目名称",needMerge = true)
|
||||
@ApiModelProperty(value = "项目名称")
|
||||
private String xmmc;
|
||||
private String mc;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -14,12 +14,13 @@
|
||||
@contextmenu.prevent.native="openMenu(tag,$event)"
|
||||
>
|
||||
{{ tag.title }}
|
||||
<span v-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" />
|
||||
<span v-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)"/>
|
||||
</router-link>
|
||||
</scroll-pane>
|
||||
<ul v-show="visible" :style="{left:left+'px',top:top+'px'}" class="contextmenu">
|
||||
<li @click="refreshSelectedTag(selectedTag)"><i class="el-icon-refresh-right"></i> 刷新页面</li>
|
||||
<li v-if="!isAffix(selectedTag)" @click="closeSelectedTag(selectedTag)"><i class="el-icon-close"></i> 关闭当前</li>
|
||||
<li v-if="!isAffix(selectedTag)" @click="closeSelectedTag(selectedTag)"><i class="el-icon-close"></i> 关闭当前
|
||||
</li>
|
||||
<li @click="closeOthersTags"><i class="el-icon-circle-close"></i> 关闭其他</li>
|
||||
<li v-if="!isFirstView()" @click="closeLeftTags"><i class="el-icon-back"></i> 关闭左侧</li>
|
||||
<li v-if="!isLastView()" @click="closeRightTags"><i class="el-icon-right"></i> 关闭右侧</li>
|
||||
@ -33,7 +34,7 @@ import ScrollPane from './ScrollPane'
|
||||
import path from 'path'
|
||||
|
||||
export default {
|
||||
components: { ScrollPane },
|
||||
components: {ScrollPane},
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
@ -108,7 +109,7 @@ export default {
|
||||
fullPath: tagPath,
|
||||
path: tagPath,
|
||||
name: route.name,
|
||||
meta: { ...route.meta }
|
||||
meta: {...route.meta}
|
||||
})
|
||||
}
|
||||
if (route.children) {
|
||||
@ -130,7 +131,7 @@ export default {
|
||||
}
|
||||
},
|
||||
addTags() {
|
||||
const { name } = this.$route
|
||||
const {name} = this.$route
|
||||
if (name) {
|
||||
this.$store.dispatch('tagsView/addView', this.$route)
|
||||
if (this.$route.meta.link) {
|
||||
@ -161,7 +162,7 @@ export default {
|
||||
}
|
||||
},
|
||||
closeSelectedTag(view) {
|
||||
this.$tab.closePage(view).then(({ visitedViews }) => {
|
||||
this.$tab.closePage(view).then(({visitedViews}) => {
|
||||
if (this.isActive(view)) {
|
||||
this.toLastView(visitedViews, view)
|
||||
}
|
||||
@ -182,13 +183,14 @@ export default {
|
||||
})
|
||||
},
|
||||
closeOthersTags() {
|
||||
this.$router.push(this.selectedTag.fullPath).catch(()=>{});
|
||||
this.$router.push(this.selectedTag.fullPath).catch(() => {
|
||||
});
|
||||
this.$tab.closeOtherPage(this.selectedTag).then(() => {
|
||||
this.moveToCurrentTag()
|
||||
})
|
||||
},
|
||||
closeAllTags(view) {
|
||||
this.$tab.closeAllPage().then(({ visitedViews }) => {
|
||||
this.$tab.closeAllPage().then(({visitedViews}) => {
|
||||
if (this.affixTags.some(tag => tag.path === this.$route.path)) {
|
||||
return
|
||||
}
|
||||
@ -204,7 +206,7 @@ export default {
|
||||
// you can adjust it according to your needs.
|
||||
if (view.name === 'Dashboard') {
|
||||
// to reload home page
|
||||
this.$router.replace({ path: '/redirect' + view.fullPath })
|
||||
this.$router.replace({path: '/redirect' + view.fullPath})
|
||||
} else {
|
||||
this.$router.push('/')
|
||||
}
|
||||
@ -244,6 +246,7 @@ export default {
|
||||
background: #fff;
|
||||
border-bottom: 1px solid #d8dce5;
|
||||
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 3px 0 rgba(0, 0, 0, .04);
|
||||
|
||||
.tags-view-wrapper {
|
||||
.tags-view-item {
|
||||
display: inline-block;
|
||||
@ -258,16 +261,20 @@ export default {
|
||||
font-size: 12px;
|
||||
margin-left: 5px;
|
||||
margin-top: 4px;
|
||||
|
||||
&:first-of-type {
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
&:last-of-type {
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
&.active {
|
||||
background-color: #42b983;
|
||||
color: #fff;
|
||||
border-color: #42b983;
|
||||
|
||||
&::before {
|
||||
content: '';
|
||||
background: #fff;
|
||||
@ -281,6 +288,7 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.contextmenu {
|
||||
margin: 0;
|
||||
background: #fff;
|
||||
@ -293,10 +301,12 @@ export default {
|
||||
font-weight: 400;
|
||||
color: #333;
|
||||
box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3);
|
||||
|
||||
li {
|
||||
margin: 0;
|
||||
padding: 7px 16px;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
background: #eee;
|
||||
}
|
||||
@ -317,11 +327,13 @@ export default {
|
||||
text-align: center;
|
||||
transition: all .3s cubic-bezier(.645, .045, .355, 1);
|
||||
transform-origin: 100% 50%;
|
||||
|
||||
&:before {
|
||||
transform: scale(.6);
|
||||
display: inline-block;
|
||||
vertical-align: -3px;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background-color: #b4bccc;
|
||||
color: #fff;
|
||||
|
@ -33,7 +33,7 @@
|
||||
v-model="queryParams.dkh"
|
||||
placeholder="请输入搜索内容"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
@change="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="功能分区" prop="gnfq">-->
|
||||
@ -91,31 +91,31 @@
|
||||
<!-- </el-button>-->
|
||||
<!-- </el-col>-->
|
||||
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
|
||||
<el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange" height="57.5vh">
|
||||
<el-table ref="table" @header-dragend="reTableWrap" v-loading="loading" :data="taskList" @selection-change="handleSelectionChange" height="57.5vh">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" :selectable="selectable" fixed="left"/>-->
|
||||
<el-table-column label="id" align="center" prop="id" fixed="left"/>
|
||||
<el-table-column label="年份" align="center" prop="nian"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian"/>
|
||||
<el-table-column label="地块号" align="center" prop="dkh"/>
|
||||
<el-table-column label="功能分区" align="center" prop="gnfq" min-width="180"/>
|
||||
<el-table-column label="地块面积" align="center" prop="dkmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="农用地面积" align="center" prop="nydmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="建设用地面积" align="center" prop="jsydmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="未利用用地面积" align="center" prop="wlydmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="永久基本农田面积" align="center" prop="yjjbntmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="动工状态" align="center" prop="dgzt"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" min-width="120"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" width="180">
|
||||
<el-table-column label="年份" align="center" prop="nian" v-if="getVisibleByLabel('年份')"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian" v-if="getVisibleByLabel('县名称')"/>
|
||||
<el-table-column label="地块号" align="center" prop="dkh" v-if="getVisibleByLabel('地块号')"/>
|
||||
<el-table-column label="指派情况" align="center" prop="xzxfqk" v-if="getVisibleByLabel('指派情况')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d}') }}</span>
|
||||
<dict-tag :options="dict.type.task_xfqk" value="未指派" v-if="scope.row.xzxfqk=='0'"
|
||||
style="color: red"/>
|
||||
<dict-tag :options="dict.type.task_xfqk" value="已指派" v-if="scope.row.xzxfqk=='1'"
|
||||
style="color: green"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="州级下发情况" align="center" prop="zjxfqk">
|
||||
<el-table-column label="指派给" align="center" prop="toName" v-if="getVisibleByLabel('指派给')"/>
|
||||
<el-table-column label="指派时间" align="center" prop="xzxfsj" width="180" v-if="getVisibleByLabel('指派时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.xzxfsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="州级下发情况" align="center" prop="zjxfqk" v-if="getVisibleByLabel('州级下发情况')">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.task_xfqk" :value="scope.row.zjxfqk" v-if="scope.row.zjxfqk=='0'"
|
||||
style="color: red"/>
|
||||
@ -123,11 +123,26 @@
|
||||
style="color: green"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="州级下发时间" align="center" prop="zjxfsj" width="180">
|
||||
<el-table-column label="州级下发时间" align="center" prop="zjxfsj" width="180" v-if="getVisibleByLabel('州级下发时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.zjxfsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="功能分区" align="center" prop="gnfq" min-width="180" v-if="getVisibleByLabel('功能分区')"/>
|
||||
<el-table-column label="地块面积" align="center" prop="dkmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('地块面积')"/>
|
||||
<el-table-column label="农用地面积" align="center" prop="nydmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('农用地面积')"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('耕地面积')"/>
|
||||
<el-table-column label="建设用地面积" align="center" prop="jsydmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('建设用地面积')"/>
|
||||
<el-table-column label="未利用用地面积" align="center" prop="wlydmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('未利用用地面积')"/>
|
||||
<el-table-column label="永久基本农田面积" align="center" prop="yjjbntmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('永久基本农田面积')"/>
|
||||
<el-table-column label="动工状态" align="center" prop="dgzt" v-if="getVisibleByLabel('动工状态')"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" min-width="120" v-if="getVisibleByLabel('导入人员')"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" width="180" v-if="getVisibleByLabel('导入时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<!-- <el-table-column label="县级下发情况" align="center" prop="xjxfqk">-->
|
||||
<!-- <template slot-scope="scope">-->
|
||||
<!-- <dict-tag :options="dict.type.task_xfqk" :value="scope.row.xjxfqk" v-if="scope.row.xjxfqk=='0'"-->
|
||||
@ -141,20 +156,7 @@
|
||||
<!-- <span>{{ parseTime(scope.row.xjxfsj, '{y}-{m}-{d}') }}</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column label="指派情况" align="center" prop="xzxfqk">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.task_xfqk" value="未指派" v-if="scope.row.xzxfqk=='0'"
|
||||
style="color: red"/>
|
||||
<dict-tag :options="dict.type.task_xfqk" value="已指派" v-if="scope.row.xzxfqk=='1'"
|
||||
style="color: green"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="指派给" align="center" prop="toName"/>
|
||||
<el-table-column label="指派时间" align="center" prop="xzxfsj" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.xzxfsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" min-width="180"
|
||||
fixed="right">
|
||||
<template slot-scope="scope">
|
||||
@ -197,15 +199,14 @@
|
||||
|
||||
<div v-show="xmmcShow">
|
||||
<ZftkProjectList @selectXmmc="selectXmmc"
|
||||
@xmmcAssign="openXmmcAssignPage"
|
||||
v-bind:dept-id="this.queryParams.deptId"
|
||||
v-bind:show-xmmc-assign="true"
|
||||
v-bind:refresh="xmmcListRefresh"
|
||||
@xmmcAssign="openXmmcAssignPage"
|
||||
v-bind:dept-id="this.queryParams.deptId"
|
||||
v-bind:show-xmmc-assign="true"
|
||||
v-bind:refresh="xmmcListRefresh"
|
||||
></ZftkProjectList>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!-- 添加或修改任务对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form-item label="项目名称" prop="xmmc">
|
||||
@ -437,14 +438,92 @@ export default {
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {},
|
||||
xmmcListRefresh:false,
|
||||
xmmcs: [],
|
||||
xmmcListRefresh: false,
|
||||
// 列信息
|
||||
columns: [
|
||||
{label: `年份`, visible: true},
|
||||
{label: `县名称`, visible: true},
|
||||
{label: `地块号`, visible: true},
|
||||
{label: `指派情况`, visible: true},
|
||||
{label: `指派给`, visible: true},
|
||||
{label: `指派时间`, visible: true},
|
||||
{label: `州级下发情况`, visible: true},
|
||||
{label: `州级下发时间`, visible: true},
|
||||
{label: `功能分区`, visible: true},
|
||||
{label: `地块面积`, visible: true},
|
||||
{label: `农用地面积`, visible: true},
|
||||
{label: `耕地面积`, visible: true},
|
||||
{label: `建设用地面积`, visible: true},
|
||||
{label: `未利用用地面积`, visible: true},
|
||||
{label: `永久基本农田面积`, visible: true},
|
||||
{label: `动工状态`, visible: true},
|
||||
{label: `导入人员`, visible: true},
|
||||
{label: `导入时间`, visible: true}
|
||||
],
|
||||
scrollTop: 0
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getDeptId();
|
||||
// this.getList();
|
||||
},
|
||||
mounted() {
|
||||
// 监听滚动条的位置
|
||||
this.$refs.table.bodyWrapper.addEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
)
|
||||
},
|
||||
beforeDestroy() {
|
||||
// 移除监听器
|
||||
this.$refs.table.bodyWrapper.removeEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
);
|
||||
},
|
||||
// 被 keep-alive 缓存的组件激活时调用
|
||||
activated() {
|
||||
this.$nextTick(() => {
|
||||
setTimeout(() => {
|
||||
// 设置滚动条的位置
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
}, 100) // 需要设置延迟,否则无效
|
||||
})
|
||||
},
|
||||
watch:{
|
||||
columns: {
|
||||
handler() {
|
||||
this.$nextTick(() => {
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
deep: true,
|
||||
immediate: true
|
||||
},
|
||||
// 监听数据变化,如果数据有更新,则重置滚动条
|
||||
'queryParams.pageNum': {
|
||||
handler() {
|
||||
this.scrollTop = 0
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
},
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
handleScroll(event) {
|
||||
this.scrollTop = event.target.scrollTop;
|
||||
},
|
||||
reTableWrap() {
|
||||
if (this.$refs.table && this.$refs.table.doLayout) {
|
||||
this.$refs.table.doLayout();
|
||||
}
|
||||
},
|
||||
getVisibleByLabel(label) {
|
||||
const column = this.columns.find(col => col.label === label);
|
||||
return column ? column.visible : null;
|
||||
},
|
||||
/** 查询任务列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
@ -453,6 +532,7 @@ export default {
|
||||
this.taskList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
getDeptId() {
|
||||
@ -467,10 +547,10 @@ export default {
|
||||
});
|
||||
},
|
||||
getUsers() {
|
||||
this.loading=true;
|
||||
this.loading = true;
|
||||
getUsers({"deptId": this.deptId, "groupName": this.groupName}).then(response => {
|
||||
this.users = response.data;
|
||||
this.loading=false;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
@ -670,18 +750,21 @@ export default {
|
||||
},
|
||||
selectXmmc(xmmc) {
|
||||
this.queryParams.xmmc = xmmc;
|
||||
this.xmmcs = [];
|
||||
this.handleQuery();
|
||||
this.xmmcShow = false;
|
||||
},
|
||||
goBack() {
|
||||
this.queryParams.tbbh = null;
|
||||
this.xmmcListRefresh = !this.xmmcListRefresh;
|
||||
this.xmmcs = [];
|
||||
this.xmmcShow = true;
|
||||
},
|
||||
openXmmcAssignPage(xmmcs) {
|
||||
this.drawer2 = true;
|
||||
this.xmmcs = xmmcs;
|
||||
this.ids = [];
|
||||
this.assignTaskId = null;
|
||||
this.loading = false;
|
||||
},
|
||||
}
|
||||
|
@ -46,7 +46,7 @@
|
||||
v-model="queryParams.dkh"
|
||||
placeholder="请输入搜索内容"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
@change="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="巡查情况" prop="yxccs">
|
||||
@ -93,34 +93,34 @@
|
||||
>导出
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
|
||||
<el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange" height="57.5vh">
|
||||
<el-table ref="table" @header-dragend="reTableWrap" v-loading="loading" :data="taskList" @selection-change="handleSelectionChange" height="57.5vh">
|
||||
<el-table-column type="selection" width="55" align="center" fixed="left"/>
|
||||
<el-table-column label="id" align="center" prop="id" fixed="left"/>
|
||||
<el-table-column label="年份" align="center" prop="nian"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian"/>
|
||||
<el-table-column label="地块号" align="center" prop="dkh"/>
|
||||
<el-table-column label="已巡查次数" align="center" prop="yxccs"/>
|
||||
<el-table-column label="州级巡查次数" align="center" prop="zjxccs"/>
|
||||
<el-table-column label="县级巡查次数" align="center" prop="xjxccs"/>
|
||||
<el-table-column label="最后巡查时间" align="center" prop="xcsj" min-width="120">
|
||||
<el-table-column label="年份" align="center" prop="nian" v-if="getVisibleByLabel('年份')"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian" v-if="getVisibleByLabel('县名称')"/>
|
||||
<el-table-column label="地块号" align="center" prop="dkh" v-if="getVisibleByLabel('地块号')"/>
|
||||
<el-table-column label="已巡查次数" align="center" prop="yxccs" v-if="getVisibleByLabel('已巡查次数')"/>
|
||||
<el-table-column label="州级巡查次数" align="center" prop="zjxccs" v-if="getVisibleByLabel('州级巡查次数')"/>
|
||||
<el-table-column label="县级巡查次数" align="center" prop="xjxccs" v-if="getVisibleByLabel('县级巡查次数')"/>
|
||||
<el-table-column label="最后巡查时间" align="center" prop="xcsj" min-width="120" v-if="getVisibleByLabel('最后巡查时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.xcsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="功能分区" align="center" prop="gnfq" min-width="180"/>
|
||||
<el-table-column label="地块面积" align="center" prop="dkmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="农用地面积" align="center" prop="nydmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="建设用地面积" align="center" prop="jsydmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="未利用用地面积" align="center" prop="wlydmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="永久基本农田面积" align="center" prop="yjjbntmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="动工状态" align="center" prop="dgzt"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" min-width="120"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" width="180">
|
||||
<el-table-column label="功能分区" align="center" prop="gnfq" min-width="180" v-if="getVisibleByLabel('功能分区')"/>
|
||||
<el-table-column label="地块面积" align="center" prop="dkmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('地块面积')"/>
|
||||
<el-table-column label="农用地面积" align="center" prop="nydmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('农用地面积')"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('耕地面积')"/>
|
||||
<el-table-column label="建设用地面积" align="center" prop="jsydmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('建设用地面积')"/>
|
||||
<el-table-column label="未利用用地面积" align="center" prop="wlydmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('未利用用地面积')"/>
|
||||
<el-table-column label="永久基本农田面积" align="center" prop="yjjbntmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('永久基本农田面积')"/>
|
||||
<el-table-column label="动工状态" align="center" prop="dgzt" v-if="getVisibleByLabel('动工状态')"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" min-width="120" v-if="getVisibleByLabel('导入人员')"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" width="180" v-if="getVisibleByLabel('导入时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
@ -258,14 +258,90 @@ export default {
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {},
|
||||
columns: [
|
||||
{label: `年份`, visible: true},
|
||||
{label: `县名称`, visible: true},
|
||||
{label: `地块号`, visible: true},
|
||||
{label: `已巡查次数`, visible: true},
|
||||
{label: `州级巡查次数`, visible: true},
|
||||
{label: `县级巡查次数`, visible: true},
|
||||
{label: `最后巡查时间`, visible: true},
|
||||
{label: `功能分区`, visible: true},
|
||||
{label: `地块面积`, visible: true},
|
||||
{label: `农用地面积`, visible: true},
|
||||
{label: `耕地面积`, visible: true},
|
||||
{label: `建设用地面积`, visible: true},
|
||||
{label: `未利用用地面积`, visible: true},
|
||||
{label: `永久基本农田面积`, visible: true},
|
||||
{label: `动工状态`, visible: true},
|
||||
{label: `导入人员`, visible: true},
|
||||
{label: `导入时间`, visible: true}
|
||||
],
|
||||
scrollTop: 0
|
||||
};
|
||||
},
|
||||
|
||||
created() {
|
||||
//this.getList();
|
||||
this.getDeptTree();
|
||||
},
|
||||
mounted() {
|
||||
// 监听滚动条的位置
|
||||
this.$refs.table.bodyWrapper.addEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
)
|
||||
},
|
||||
beforeDestroy() {
|
||||
// 移除监听器
|
||||
this.$refs.table.bodyWrapper.removeEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
);
|
||||
},
|
||||
// 被 keep-alive 缓存的组件激活时调用
|
||||
activated() {
|
||||
this.$nextTick(() => {
|
||||
setTimeout(() => {
|
||||
// 设置滚动条的位置
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
}, 100) // 需要设置延迟,否则无效
|
||||
})
|
||||
},
|
||||
watch:{
|
||||
columns: {
|
||||
handler() {
|
||||
this.$nextTick(() => {
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
deep: true,
|
||||
immediate: true
|
||||
},
|
||||
// 监听数据变化,如果数据有更新,则重置滚动条
|
||||
'queryParams.pageNum': {
|
||||
handler() {
|
||||
this.scrollTop = 0
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
},
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
checkRole,
|
||||
handleScroll(event) {
|
||||
this.scrollTop = event.target.scrollTop;
|
||||
},
|
||||
reTableWrap() {
|
||||
if (this.$refs.table && this.$refs.table.doLayout) {
|
||||
this.$refs.table.doLayout();
|
||||
}
|
||||
},
|
||||
getVisibleByLabel(label) {
|
||||
const column = this.columns.find(col => col.label === label);
|
||||
return column ? column.visible : null;
|
||||
},
|
||||
/** 查询任务列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
@ -276,6 +352,7 @@ export default {
|
||||
this.taskList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
@ -396,7 +473,7 @@ export default {
|
||||
const id = row.id || this.ids
|
||||
this.download(`/cxxm/zftk/task/export/${id}`, {
|
||||
...this.queryParams
|
||||
}, `执法踏勘_${new Date().getFullYear()}-${new Date().getMonth() + 1}-${new Date().getDate()}.xlsx`)
|
||||
}, `执法踏勘_${this.queryParams.xmmc}_${new Date().getFullYear()}-${new Date().getMonth() + 1}-${new Date().getDate()}.xlsx`)
|
||||
},
|
||||
/** 查询部门下拉树结构 */
|
||||
getDeptTree() {
|
||||
|
@ -48,7 +48,7 @@
|
||||
v-model="queryParams.dkh"
|
||||
placeholder="请输入搜索内容"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
@change="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="功能分区" prop="gnfq">-->
|
||||
@ -111,30 +111,16 @@
|
||||
>删除
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange" height="57.5vh">
|
||||
<el-table ref="table" v-loading="loading" :data="taskList" @selection-change="handleSelectionChange" height="57.5vh">
|
||||
<el-table-column type="selection" width="55" align="center" :selectable="selectable" fixed="left"/>
|
||||
<el-table-column label="id" align="center" prop="id" fixed="left"/>
|
||||
<el-table-column label="年份" align="center" prop="nian"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian"/>
|
||||
<el-table-column label="地块号" align="center" prop="dkh"/>
|
||||
<el-table-column label="功能分区" align="center" prop="gnfq" min-width="180"/>
|
||||
<el-table-column label="地块面积" align="center" prop="dkmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="农用地面积" align="center" prop="nydmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="建设用地面积" align="center" prop="jsydmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="未利用用地面积" align="center" prop="wlydmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="永久基本农田面积" align="center" prop="yjjbntmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="动工状态" align="center" prop="dgzt"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" min-width="120"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="下发情况" align="center" prop="zjxfqk">
|
||||
<el-table-column label="年份" align="center" prop="nian" v-if="getVisibleByLabel('年份')"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian" v-if="getVisibleByLabel('县名称')"/>
|
||||
<el-table-column label="地块号" align="center" prop="dkh" v-if="getVisibleByLabel('地块号')"/>
|
||||
<el-table-column label="下发情况" align="center" prop="zjxfqk" v-if="getVisibleByLabel('下发情况')">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.task_xfqk" :value="scope.row.zjxfqk" v-if="scope.row.zjxfqk=='0'"
|
||||
style="color: red"/>
|
||||
@ -142,11 +128,25 @@
|
||||
style="color: green"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="下发时间" align="center" prop="zjxfsj" width="180">
|
||||
<el-table-column label="下发时间" align="center" prop="zjxfsj" width="180" v-if="getVisibleByLabel('下发时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.zjxfsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="功能分区" align="center" prop="gnfq" min-width="180" v-if="getVisibleByLabel('功能分区')"/>
|
||||
<el-table-column label="地块面积" align="center" prop="dkmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('地块面积')"/>
|
||||
<el-table-column label="农用地面积" align="center" prop="nydmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('农用地面积')"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('耕地面积')"/>
|
||||
<el-table-column label="建设用地面积" align="center" prop="jsydmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('建设用地面积')"/>
|
||||
<el-table-column label="未利用用地面积" align="center" prop="wlydmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('未利用用地面积')"/>
|
||||
<el-table-column label="永久基本农田面积" align="center" prop="yjjbntmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('永久基本农田面积')"/>
|
||||
<el-table-column label="动工状态" align="center" prop="dgzt" v-if="getVisibleByLabel('动工状态')"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" min-width="120" v-if="getVisibleByLabel('导入人员')"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" width="180" v-if="getVisibleByLabel('导入时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" min-width="180"
|
||||
fixed="right">
|
||||
<template slot-scope="scope">
|
||||
@ -347,13 +347,87 @@ export default {
|
||||
// 表单校验
|
||||
rules: {},
|
||||
xmmcListRefresh: false,
|
||||
// 列信息
|
||||
columns: [
|
||||
{label: `年份`, visible: true},
|
||||
{label: `县名称`, visible: true},
|
||||
{label: `地块号`, visible: true},
|
||||
{label: `下发情况`, visible: true},
|
||||
{label: `下发时间`, visible: true},
|
||||
{label: `功能分区`, visible: true},
|
||||
{label: `地块面积`, visible: true},
|
||||
{label: `农用地面积`, visible: true},
|
||||
{label: `耕地面积`, visible: true},
|
||||
{label: `建设用地面积`, visible: true},
|
||||
{label: `未利用用地面积`, visible: true},
|
||||
{label: `永久基本农田面积`, visible: true},
|
||||
{label: `动工状态`, visible: true},
|
||||
{label: `导入人员`, visible: true},
|
||||
{label: `导入时间`, visible: true}
|
||||
],
|
||||
scrollTop: 0
|
||||
};
|
||||
},
|
||||
created() {
|
||||
//this.getList();
|
||||
this.getDeptTree();
|
||||
},
|
||||
mounted() {
|
||||
// 监听滚动条的位置
|
||||
this.$refs.table.bodyWrapper.addEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
)
|
||||
},
|
||||
beforeDestroy() {
|
||||
// 移除监听器
|
||||
this.$refs.table.bodyWrapper.removeEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
);
|
||||
},
|
||||
// 被 keep-alive 缓存的组件激活时调用
|
||||
activated() {
|
||||
this.$nextTick(() => {
|
||||
setTimeout(() => {
|
||||
// 设置滚动条的位置
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
}, 100) // 需要设置延迟,否则无效
|
||||
})
|
||||
},
|
||||
watch:{
|
||||
columns: {
|
||||
handler() {
|
||||
this.$nextTick(() => {
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
deep: true,
|
||||
immediate: true
|
||||
},
|
||||
// 监听数据变化,如果数据有更新,则重置滚动条
|
||||
'queryParams.pageNum': {
|
||||
handler() {
|
||||
this.scrollTop = 0
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
},
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
handleScroll(event) {
|
||||
this.scrollTop = event.target.scrollTop;
|
||||
},
|
||||
reTableWrap() {
|
||||
if (this.$refs.table && this.$refs.table.doLayout) {
|
||||
this.$refs.table.doLayout();
|
||||
}
|
||||
},
|
||||
getVisibleByLabel(label) {
|
||||
const column = this.columns.find(col => col.label === label);
|
||||
return column ? column.visible : null;
|
||||
},
|
||||
/** 查询任务列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
@ -361,6 +435,7 @@ export default {
|
||||
this.taskList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
|
@ -31,7 +31,7 @@
|
||||
v-model="queryParams.dkh"
|
||||
placeholder="请输入搜索内容"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
@change="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="功能分区" prop="gnfq">-->
|
||||
@ -92,25 +92,25 @@
|
||||
>删除
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange" height="57.5vh">
|
||||
<el-table ref="table" v-loading="loading" :data="taskList" @selection-change="handleSelectionChange" height="57.5vh">
|
||||
<el-table-column type="selection" width="55" align="center" :selectable="selectable" fixed="left"/>
|
||||
<el-table-column label="id" align="center" prop="id" fixed="left"/>
|
||||
<el-table-column label="年份" align="center" prop="nian"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian"/>
|
||||
<el-table-column label="地块号" align="center" prop="dkh"/>
|
||||
<el-table-column label="功能分区" align="center" prop="gnfq" min-width="180"/>
|
||||
<el-table-column label="地块面积" align="center" prop="dkmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="农用地面积" align="center" prop="nydmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="建设用地面积" align="center" prop="jsydmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="未利用用地面积" align="center" prop="wlydmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="永久基本农田面积" align="center" prop="yjjbntmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="动工状态" align="center" prop="dgzt"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" min-width="120"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" width="180">
|
||||
<el-table-column label="年份" align="center" prop="nian" v-if="getVisibleByLabel('年份')"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian" v-if="getVisibleByLabel('县名称')"/>
|
||||
<el-table-column label="地块号" align="center" prop="dkh" v-if="getVisibleByLabel('地块号')"/>
|
||||
<el-table-column label="功能分区" align="center" prop="gnfq" min-width="180" v-if="getVisibleByLabel('功能分区')"/>
|
||||
<el-table-column label="地块面积" align="center" prop="dkmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('地块面积')"/>
|
||||
<el-table-column label="农用地面积" align="center" prop="nydmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('农用地面积')"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('耕地面积')"/>
|
||||
<el-table-column label="建设用地面积" align="center" prop="jsydmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('建设用地面积')"/>
|
||||
<el-table-column label="未利用用地面积" align="center" prop="wlydmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('未利用用地面积')"/>
|
||||
<el-table-column label="永久基本农田面积" align="center" prop="yjjbntmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('永久基本农田面积')"/>
|
||||
<el-table-column label="动工状态" align="center" prop="dgzt" v-if="getVisibleByLabel('动工状态')"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" min-width="120" v-if="getVisibleByLabel('导入人员')"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" width="180" v-if="getVisibleByLabel('导入时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
@ -354,12 +354,70 @@ export default {
|
||||
url: process.env.VUE_APP_BASE_API + "/cxxm/zftk/task/importData",
|
||||
},
|
||||
xmmcListRefresh: false,
|
||||
// 列信息
|
||||
columns: [
|
||||
{label: `年份`, visible: true},
|
||||
{label: `县名称`, visible: true},
|
||||
{label: `地块号`, visible: true},
|
||||
{label: `功能分区`, visible: true},
|
||||
{label: `地块面积`, visible: true},
|
||||
{label: `农用地面积`, visible: true},
|
||||
{label: `耕地面积`, visible: true},
|
||||
{label: `建设用地面积`, visible: true},
|
||||
{label: `未利用用地面积`, visible: true},
|
||||
{label: `永久基本农田面积`, visible: true},
|
||||
{label: `动工状态`, visible: true},
|
||||
{label: `导入人员`, visible: true},
|
||||
{label: `导入时间`, visible: true}
|
||||
],
|
||||
scrollTop: 0
|
||||
};
|
||||
},
|
||||
created() {
|
||||
// this.getList();
|
||||
},
|
||||
mounted() {
|
||||
// 监听滚动条的位置
|
||||
this.$refs.table.bodyWrapper.addEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
)
|
||||
},
|
||||
beforeDestroy() {
|
||||
// 移除监听器
|
||||
this.$refs.table.bodyWrapper.removeEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
);
|
||||
},
|
||||
// 被 keep-alive 缓存的组件激活时调用
|
||||
activated() {
|
||||
this.$nextTick(() => {
|
||||
setTimeout(() => {
|
||||
// 设置滚动条的位置
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
}, 100) // 需要设置延迟,否则无效
|
||||
})
|
||||
},
|
||||
watch: {
|
||||
columns: {
|
||||
handler() {
|
||||
this.$nextTick(() => {
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
deep: true,
|
||||
immediate: true
|
||||
},
|
||||
// 监听数据变化,如果数据有更新,则重置滚动条
|
||||
'queryParams.pageNum': {
|
||||
handler() {
|
||||
this.scrollTop = 0
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
},
|
||||
},
|
||||
// 根据名称筛选任务列表
|
||||
'queryParams.xmmc'(val) {
|
||||
if (val) {
|
||||
@ -370,6 +428,18 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleScroll(event) {
|
||||
this.scrollTop = event.target.scrollTop;
|
||||
},
|
||||
reTableWrap() {
|
||||
if (this.$refs.table && this.$refs.table.doLayout) {
|
||||
this.$refs.table.doLayout();
|
||||
}
|
||||
},
|
||||
getVisibleByLabel(label) {
|
||||
const column = this.columns.find(col => col.label === label);
|
||||
return column ? column.visible : null;
|
||||
},
|
||||
/** 查询任务列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
@ -377,6 +447,7 @@ export default {
|
||||
this.taskList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
|
@ -101,36 +101,47 @@
|
||||
>导出
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getTaskXmmcList"></right-toolbar>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
v-if="!showXmmcAssign"
|
||||
@click="handleExportAll"
|
||||
>导出全部
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getTaskXmmcList" :columns="columns"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="xmmcList" @selection-change="handleSelectionChange" height="65vh">
|
||||
<el-table ref="table" v-loading="loading" :data="xmmcList" @selection-change="handleSelectionChange" height="65vh">
|
||||
<el-table-column v-if="showXmmcDistribute || showXmmcAssign || showXmmcCheck" type="selection" width="55"
|
||||
align="center"
|
||||
:selectable="selectable"
|
||||
fixed="left"/>
|
||||
<el-table-column label="序号" type="index" width="50" align="center" :index="indexMethod" fixed="left"/>
|
||||
<el-table-column label="项目名称" align="center" prop="xmmc" min-width="180"/>
|
||||
<el-table-column label="图斑数量" align="center" prop="nums"/>
|
||||
<el-table-column label="已下发" align="center" prop="zjyxf"/>
|
||||
<el-table-column label="未下发" align="center" prop="zjwxf">
|
||||
<el-table-column label="项目名称" align="center" prop="xmmc" min-width="180" v-if="getVisibleByLabel('项目名称')"/>
|
||||
<el-table-column label="图斑数量" align="center" prop="nums" v-if="getVisibleByLabel('图斑数量')"/>
|
||||
<el-table-column label="已下发" align="center" prop="zjyxf" v-if="getVisibleByLabel('已下发')"/>
|
||||
<el-table-column label="未下发" align="center" prop="zjwxf" v-if="getVisibleByLabel('未下发')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.nums - scope.row.zjyxf }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="已指派" align="center" prop="xzyxf"/>
|
||||
<el-table-column label="未指派" align="center" prop="xzwxf">
|
||||
<el-table-column label="已指派" align="center" prop="xzyxf" v-if="getVisibleByLabel('已指派')"/>
|
||||
<el-table-column label="未指派" align="center" prop="xzwxf" v-if="getVisibleByLabel('未指派')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.nums - scope.row.xzyxf }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="已巡查" align="center" prop="yxc"/>
|
||||
<el-table-column label="未巡查" align="center" prop="wxc">
|
||||
<el-table-column label="已巡查" align="center" prop="yxc" v-if="getVisibleByLabel('已巡查')"/>
|
||||
<el-table-column label="未巡查" align="center" prop="wxc" v-if="getVisibleByLabel('未巡查')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.nums - scope.row.yxc }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" min-width="120">
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" min-width="120" v-if="getVisibleByLabel('导入时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
@ -212,7 +223,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {distributeTaskByXmmc, listTaskXmmc, listTaskXmmc2,updateTaskXmmc} from "@/api/cxxm/zftk/task";
|
||||
import {distributeTaskByXmmc, listTaskXmmc, listTaskXmmc2, updateTaskXmmc} from "@/api/cxxm/zftk/task";
|
||||
|
||||
export default {
|
||||
name: "ZftkProjectList",
|
||||
@ -250,6 +261,19 @@ export default {
|
||||
xmmc: null,
|
||||
},
|
||||
rules: {},
|
||||
// 列信息
|
||||
columns: [
|
||||
{label: `项目名称`, visible: true},
|
||||
{label: `图斑数量`, visible: true},
|
||||
{label: `已下发`, visible: true},
|
||||
{label: `未下发`, visible: true},
|
||||
{label: `已指派`, visible: true},
|
||||
{label: `未指派`, visible: true},
|
||||
{label: `已巡查`, visible: true},
|
||||
{label: `未巡查`, visible: true},
|
||||
{label: `导入时间`, visible: true}
|
||||
],
|
||||
scrollTop: 0
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@ -272,13 +296,66 @@ export default {
|
||||
immediate: true,
|
||||
deep: true // 为true,表示深度监听,这时候就能监测到a值变化
|
||||
},
|
||||
columns: {
|
||||
handler() {
|
||||
this.$nextTick(() => {
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
deep: true,
|
||||
immediate: true
|
||||
},
|
||||
// 监听数据变化,如果数据有更新,则重置滚动条
|
||||
'xmmcQueryParams.pageNum': {
|
||||
handler() {
|
||||
this.scrollTop = 0
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getTaskXmmcList();
|
||||
this.isFirstLoad = false; // 设置标志变量
|
||||
|
||||
},
|
||||
mounted() {
|
||||
// 监听滚动条的位置
|
||||
this.$refs.table.bodyWrapper.addEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
)
|
||||
},
|
||||
beforeDestroy() {
|
||||
// 移除监听器
|
||||
this.$refs.table.bodyWrapper.removeEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
);
|
||||
},
|
||||
// 被 keep-alive 缓存的组件激活时调用
|
||||
activated() {
|
||||
this.$nextTick(() => {
|
||||
setTimeout(() => {
|
||||
// 设置滚动条的位置
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
}, 100) // 需要设置延迟,否则无效
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
handleScroll(event) {
|
||||
this.scrollTop = event.target.scrollTop;
|
||||
},
|
||||
reTableWrap() {
|
||||
if (this.$refs.table && this.$refs.table.doLayout) {
|
||||
this.$refs.table.doLayout();
|
||||
}
|
||||
},
|
||||
getVisibleByLabel(label) {
|
||||
const column = this.columns.find(col => col.label === label);
|
||||
return column ? column.visible : null;
|
||||
},
|
||||
getTaskXmmcList() {
|
||||
this.loading = true;
|
||||
const path = this.$route.path
|
||||
@ -290,6 +367,7 @@ export default {
|
||||
this.xmmcList = response.rows;
|
||||
this.xmmcTotal = response.total;
|
||||
this.loading = false;
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
handleImport() {
|
||||
@ -365,6 +443,11 @@ export default {
|
||||
...this.queryParams
|
||||
}, `执法踏勘_${new Date().getFullYear()}-${new Date().getMonth() + 1}-${new Date().getDate()}.xlsx`)
|
||||
},
|
||||
handleExportAll() {
|
||||
this.download(`/cxxm/zftk/task/exportAll`, {
|
||||
...this.queryParams
|
||||
}, `执法踏勘_全部数据_${new Date().getFullYear()}-${new Date().getMonth() + 1}-${new Date().getDate()}.xlsx`)
|
||||
},
|
||||
editXmmc(xmmc) {
|
||||
this.oldXmmc = xmmc;
|
||||
this.form.xmmc = xmmc;
|
||||
|
@ -48,7 +48,7 @@
|
||||
v-model="queryParams.tbbh"
|
||||
placeholder="请输入搜索内容"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
@change="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="下发情况" prop="zjxfqk">-->
|
||||
@ -76,7 +76,7 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<h3 v-if="this.queryParams.xmmc">项目名称:{{ this.queryParams.xmmc }}</h3>
|
||||
<h3 v-if="this.queryParams.xmmc">项目类型:{{ this.queryParams.xmmc }}</h3>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<!-- <el-col :span="1.5">-->
|
||||
@ -90,30 +90,35 @@
|
||||
<!-- </el-button>-->
|
||||
<!-- </el-col>-->
|
||||
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
|
||||
<el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange" height="57.5vh">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" :selectable="selectable" fixed="left"/>-->
|
||||
<el-table ref="table" v-loading="loading" :data="taskList" @selection-change="handleSelectionChange" height="57.5vh">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" :selectable="selectable" fixed="left"/>-->
|
||||
<el-table-column label="id" align="center" prop="id" fixed="left"/>
|
||||
<el-table-column label="年份" align="center" prop="nian"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian"/>
|
||||
<el-table-column label="乡镇名称" align="center" prop="xzmc"/>
|
||||
<el-table-column label="村社名称" align="center" prop="csmc" min-width="180"/>
|
||||
<el-table-column label="图斑类型" align="center" prop="tblx"/>
|
||||
<el-table-column label="图斑编号" align="center" prop="tbbh" min-width="180" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="图斑面积" align="center" prop="tbmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="基本农田面积" align="center" prop="jbntmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="存在问题" align="center" prop="czwt" min-width="180"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" min-width="120"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" min-width="120">
|
||||
<el-table-column label="年份" align="center" prop="nian" v-if="getVisibleByLabel('年份')"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian" v-if="getVisibleByLabel('县名称')"/>
|
||||
<el-table-column label="乡镇名称" align="center" prop="xzmc" v-if="getVisibleByLabel('乡镇名称')"/>
|
||||
<el-table-column label="村社名称" align="center" prop="csmc" min-width="180" v-if="getVisibleByLabel('村社名称')"/>
|
||||
<el-table-column label="图斑类型" align="center" prop="tblx" v-if="getVisibleByLabel('图斑类型')"/>
|
||||
<el-table-column label="图斑编号" align="center" prop="tbbh" min-width="180" :show-overflow-tooltip="true" v-if="getVisibleByLabel('图斑编号')"/>
|
||||
<el-table-column label="指派情况" align="center" prop="xzxfqk" v-if="getVisibleByLabel('指派情况')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d}') }}</span>
|
||||
<dict-tag :options="dict.type.task_xfqk" value="未指派" v-if="scope.row.xzxfqk=='0'"
|
||||
style="color: red"/>
|
||||
<dict-tag :options="dict.type.task_xfqk" value="已指派" v-if="scope.row.xzxfqk=='1'"
|
||||
style="color: green"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="州级下发情况" align="center" prop="zjxfqk">
|
||||
<el-table-column label="指派到" align="center" prop="groupName" v-if="getVisibleByLabel('指派到')"/>
|
||||
<el-table-column label="指派给" align="center" prop="toName" v-if="getVisibleByLabel('指派给')"/>
|
||||
<el-table-column label="指派时间" align="center" prop="xzxfsj" width="180" v-if="getVisibleByLabel('指派时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.xzxfsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="州级下发情况" align="center" prop="zjxfqk" v-if="getVisibleByLabel('州级下发情况')">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.task_xfqk" :value="scope.row.zjxfqk" v-if="scope.row.zjxfqk=='0'"
|
||||
style="color: red"/>
|
||||
@ -121,11 +126,21 @@
|
||||
style="color: green"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="州级下发时间" align="center" prop="zjxfsj" width="180">
|
||||
<el-table-column label="州级下发时间" align="center" prop="zjxfsj" width="180" v-if="getVisibleByLabel('州级下发时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.zjxfsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="图斑面积" align="center" prop="tbmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('图斑面积')"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('耕地面积')"/>
|
||||
<el-table-column label="基本农田面积" align="center" prop="jbntmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('基本农田面积')"/>
|
||||
<el-table-column label="存在问题" align="center" prop="czwt" min-width="180" v-if="getVisibleByLabel('存在问题')"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" min-width="120" v-if="getVisibleByLabel('导入人员')"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" min-width="120" v-if="getVisibleByLabel('导入时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="县级下发情况" align="center" prop="xjxfqk">-->
|
||||
<!-- <template slot-scope="scope">-->
|
||||
<!-- <dict-tag :options="dict.type.task_xfqk" :value="scope.row.xjxfqk" v-if="scope.row.xjxfqk=='0'"-->
|
||||
@ -139,20 +154,6 @@
|
||||
<!-- <span>{{ parseTime(scope.row.xjxfsj, '{y}-{m}-{d}') }}</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column label="指派情况" align="center" prop="xzxfqk">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.task_xfqk" value="未指派" v-if="scope.row.xzxfqk=='0'"
|
||||
style="color: red"/>
|
||||
<dict-tag :options="dict.type.task_xfqk" value="已指派" v-if="scope.row.xzxfqk=='1'"
|
||||
style="color: green"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="指派给" align="center" prop="toName"/>
|
||||
<el-table-column label="指派时间" align="center" prop="xzxfsj" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.xzxfsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" min-width="180"
|
||||
fixed="right">
|
||||
<template slot-scope="scope">
|
||||
@ -196,10 +197,10 @@
|
||||
|
||||
<div v-show="xmmcShow">
|
||||
<ZtProjectList @selectXmmc="selectXmmc"
|
||||
@xmmcAssign="openXmmcAssignPage"
|
||||
v-bind:dept-id="this.queryParams.deptId"
|
||||
v-bind:show-xmmc-assign="true"
|
||||
v-bind:refresh="xmmcListRefresh"
|
||||
@xmmcAssign="openXmmcAssignPage"
|
||||
v-bind:dept-id="this.queryParams.deptId"
|
||||
v-bind:show-xmmc-assign="true"
|
||||
v-bind:refresh="xmmcListRefresh"
|
||||
></ZtProjectList>
|
||||
</div>
|
||||
|
||||
@ -207,8 +208,11 @@
|
||||
<!-- 添加或修改任务对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="125px">
|
||||
<el-form-item label="项目名称" prop="xmmc">
|
||||
<el-input v-model="form.xmmc" placeholder="请输入项目名称"/>
|
||||
<el-form-item label="项目类型" prop="xmmc">
|
||||
<el-input v-model="form.xmmc" placeholder="请输入项目类型" disabled/>
|
||||
</el-form-item>
|
||||
<el-form-item label="项目名称" prop="mc">
|
||||
<el-input v-model="form.mc" placeholder="请输入项目名称"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="年份" prop="nian">
|
||||
<el-input v-model="form.nian" placeholder="请输入年份"/>
|
||||
@ -444,14 +448,91 @@ export default {
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {},
|
||||
xmmcListRefresh:false,
|
||||
xmmcs: [],
|
||||
xmmcListRefresh: false,
|
||||
columns:[
|
||||
{ label: `年份`, visible: true },
|
||||
{ label: `县名称`, visible: true },
|
||||
{ label: `乡镇名称`, visible: true },
|
||||
{ label: `村社名称`, visible: true },
|
||||
{ label: `图斑类型`, visible: true },
|
||||
{ label: `图斑编号`, visible: true },
|
||||
{ label: `指派情况`, visible: true },
|
||||
{ label: `指派给`, visible: true },
|
||||
{ label: `指派时间`, visible: true },
|
||||
{ label: `州级下发情况`, visible: true },
|
||||
{ label: `州级下发时间`, visible: true },
|
||||
{ label: `图斑面积`, visible: true },
|
||||
{ label: `耕地面积`, visible: true },
|
||||
{ label: `基本农田面积`, visible: true },
|
||||
{ label: `存在问题`, visible: true },
|
||||
{ label: `导入人员`, visible: true },
|
||||
{ label: `导入时间`, visible: true },
|
||||
],
|
||||
// 表格滚动条位置
|
||||
scrollTop: 0
|
||||
};
|
||||
},
|
||||
created() {
|
||||
// this.getList();
|
||||
this.getDeptId();
|
||||
},
|
||||
mounted () {
|
||||
// 监听滚动条的位置
|
||||
this.$refs.table.bodyWrapper.addEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
)
|
||||
},
|
||||
beforeDestroy() {
|
||||
// 移除监听器
|
||||
this.$refs.table.bodyWrapper.removeEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
);
|
||||
},
|
||||
// 被 keep-alive 缓存的组件激活时调用
|
||||
activated () {
|
||||
this.$nextTick(() => {
|
||||
setTimeout(() => {
|
||||
// 设置滚动条的位置
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
}, 100) // 需要设置延迟,否则无效
|
||||
})
|
||||
},
|
||||
watch:{
|
||||
columns:{
|
||||
handler() {
|
||||
this.$nextTick(() => {
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
deep: true,
|
||||
immediate: true
|
||||
},
|
||||
// 监听数据变化,如果数据有更新,则重置滚动条
|
||||
'queryParams.pageNum':{
|
||||
handler() {
|
||||
this.scrollTop = 0
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleScroll(event) {
|
||||
this.scrollTop = event.target.scrollTop;
|
||||
},
|
||||
reTableWrap() {
|
||||
if (this.$refs.table && this.$refs.table.doLayout) {
|
||||
this.$refs.table.doLayout();
|
||||
}
|
||||
},
|
||||
getVisibleByLabel(label) {
|
||||
const column = this.columns.find(col => col.label === label);
|
||||
return column ? column.visible : null;
|
||||
},
|
||||
/** 查询任务列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
@ -462,6 +543,7 @@ export default {
|
||||
this.taskList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
getDeptId() {
|
||||
@ -679,18 +761,21 @@ export default {
|
||||
},
|
||||
selectXmmc(xmmc) {
|
||||
this.queryParams.xmmc = xmmc;
|
||||
this.xmmcs = [];
|
||||
this.handleQuery();
|
||||
this.xmmcShow = false;
|
||||
},
|
||||
goBack() {
|
||||
this.queryParams.tbbh = null;
|
||||
this.xmmcListRefresh = !this.xmmcListRefresh;
|
||||
this.xmmcs = [];
|
||||
this.xmmcShow = true;
|
||||
},
|
||||
openXmmcAssignPage(xmmcs) {
|
||||
this.drawer2 = true;
|
||||
this.xmmcs = xmmcs;
|
||||
this.ids = [];
|
||||
this.assignTaskId = null;
|
||||
this.loading = false;
|
||||
},
|
||||
}
|
||||
|
@ -62,7 +62,7 @@
|
||||
v-model="queryParams.tbbh"
|
||||
placeholder="请输入搜索内容"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
@change="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="巡查情况" prop="yxccs">
|
||||
@ -79,7 +79,7 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<h3 v-if="this.queryParams.xmmc">项目名称:{{ this.queryParams.xmmc }}</h3>
|
||||
<h3 v-if="this.queryParams.xmmc">项目类型:{{ this.queryParams.xmmc }}</h3>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
@ -93,32 +93,44 @@
|
||||
>导出
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange" height="57.5vh">
|
||||
<el-table ref="table" v-loading="loading" :data="taskList" @selection-change="handleSelectionChange"
|
||||
height="57.5vh">
|
||||
<el-table-column type="selection" width="55" align="center" fixed="left"/>
|
||||
<el-table-column label="id" align="center" prop="id" fixed="left"/>
|
||||
<el-table-column label="年份" align="center" prop="nian"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian"/>
|
||||
<el-table-column label="乡镇名称" align="center" prop="xzmc"/>
|
||||
<el-table-column label="村社名称" align="center" prop="csmc" min-width="180"/>
|
||||
<el-table-column label="图斑类型" align="center" prop="tblx"/>
|
||||
<el-table-column label="图斑编号" align="center" prop="tbbh" min-width="180" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="已巡查次数" align="center" prop="yxccs"/>
|
||||
<el-table-column label="州级巡查次数" align="center" prop="zjxccs"/>
|
||||
<el-table-column label="县级巡查次数" align="center" prop="xjxccs"/>
|
||||
<el-table-column label="最后巡查时间" align="center" prop="xcsj" min-width="120">
|
||||
<el-table-column label="年份" align="center" prop="nian" v-if="getVisibleByLabel('年份')"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian" v-if="getVisibleByLabel('县名称')"/>
|
||||
<el-table-column label="乡镇名称" align="center" prop="xzmc" v-if="getVisibleByLabel('乡镇名称')"/>
|
||||
<el-table-column label="村社名称" align="center" prop="csmc" min-width="180"
|
||||
v-if="getVisibleByLabel('村社名称')"/>
|
||||
<el-table-column label="图斑类型" align="center" prop="tblx" v-if="getVisibleByLabel('图斑类型')"/>
|
||||
<el-table-column label="图斑编号" align="center" prop="tbbh" min-width="180" :show-overflow-tooltip="true"
|
||||
v-if="getVisibleByLabel('图斑编号')"/>
|
||||
<el-table-column label="已巡查次数" align="center" prop="yxccs" v-if="getVisibleByLabel('已巡查次数')"/>
|
||||
<el-table-column label="州级巡查次数" align="center" prop="zjxccs"
|
||||
v-if="getVisibleByLabel('州级巡查次数')"/>
|
||||
<el-table-column label="县级巡查次数" align="center" prop="xjxccs"
|
||||
v-if="getVisibleByLabel('县级巡查次数')"/>
|
||||
<el-table-column label="最后巡查时间" align="center" prop="xcsj" min-width="120"
|
||||
v-if="getVisibleByLabel('最后巡查时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.xcsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="图斑面积" align="center" prop="tbmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="基本农田面积" align="center" prop="jbntmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="存在问题" align="center" prop="czwt" min-width="180"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" min-width="120"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" min-width="120">
|
||||
<el-table-column label="图斑面积" align="center" prop="tbmj" :show-overflow-tooltip="true"
|
||||
v-if="getVisibleByLabel('图斑面积')"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true"
|
||||
v-if="getVisibleByLabel('耕地面积')"/>
|
||||
<el-table-column label="基本农田面积" align="center" prop="jbntmj" :show-overflow-tooltip="true"
|
||||
v-if="getVisibleByLabel('基本农田面积')"/>
|
||||
<el-table-column label="存在问题" align="center" prop="czwt" min-width="180"
|
||||
v-if="getVisibleByLabel('存在问题')"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" min-width="120"
|
||||
v-if="getVisibleByLabel('导入人员')"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" min-width="120"
|
||||
v-if="getVisibleByLabel('导入时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
@ -150,8 +162,8 @@
|
||||
|
||||
<div v-show="xmmcShow">
|
||||
<ZtProjectList @selectXmmc="selectXmmc"
|
||||
v-bind:show-xmmc-check="true"
|
||||
v-bind:dept-id="this.queryParams.deptId"></ZtProjectList>
|
||||
v-bind:show-xmmc-check="true"
|
||||
v-bind:dept-id="this.queryParams.deptId"></ZtProjectList>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -252,14 +264,87 @@ export default {
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {},
|
||||
columns: [
|
||||
{label: `年份`, visible: true},
|
||||
{label: `县名称`, visible: true},
|
||||
{label: `乡镇名称`, visible: true},
|
||||
{label: `村社名称`, visible: true},
|
||||
{label: `图斑类型`, visible: true},
|
||||
{label: `图斑编号`, visible: true},
|
||||
{label: `已巡查次数`, visible: true},
|
||||
{label: `州级巡查次数`, visible: true},
|
||||
{label: `县级巡查次数`, visible: true},
|
||||
{label: `最后巡查时间`, visible: true},
|
||||
{label: `图斑面积`, visible: true},
|
||||
{label: `耕地面积`, visible: true},
|
||||
{label: `基本农田面积`, visible: true},
|
||||
{label: `存在问题`, visible: true},
|
||||
{label: `导入人员`, visible: true},
|
||||
{label: `导入时间`, visible: true},
|
||||
],
|
||||
scrollTop: 0
|
||||
};
|
||||
},
|
||||
created() {
|
||||
//this.getList();
|
||||
this.getDeptTree();
|
||||
},
|
||||
mounted() {
|
||||
// 监听滚动条的位置
|
||||
this.$refs.table.bodyWrapper.addEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
)
|
||||
},
|
||||
beforeDestroy() {
|
||||
// 移除监听器
|
||||
this.$refs.table.bodyWrapper.removeEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
);
|
||||
},
|
||||
// 被 keep-alive 缓存的组件激活时调用
|
||||
activated() {
|
||||
this.$nextTick(() => {
|
||||
setTimeout(() => {
|
||||
// 设置滚动条的位置
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
}, 100) // 需要设置延迟,否则无效
|
||||
})
|
||||
},
|
||||
watch: {
|
||||
columns: {
|
||||
handler() {
|
||||
this.$nextTick(() => {
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
deep: true,
|
||||
immediate: true
|
||||
},
|
||||
'queryParams.pageNum': {
|
||||
handler() {
|
||||
this.scrollTop = 0
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
checkRole,
|
||||
handleScroll(event) {
|
||||
this.scrollTop = event.target.scrollTop;
|
||||
},
|
||||
reTableWrap() {
|
||||
if (this.$refs.table && this.$refs.table.doLayout) {
|
||||
this.$refs.table.doLayout();
|
||||
}
|
||||
},
|
||||
getVisibleByLabel(label) {
|
||||
const column = this.columns.find(col => col.label === label);
|
||||
return column ? column.visible : null;
|
||||
},
|
||||
/** 查询任务列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
@ -270,6 +355,7 @@ export default {
|
||||
this.taskList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
@ -391,7 +477,7 @@ export default {
|
||||
const id = row.id || this.ids
|
||||
this.download(`/cxxm/zt/task/export/${id}`, {
|
||||
...this.queryParams
|
||||
}, `部省监管_${new Date().getFullYear()}-${new Date().getMonth() + 1}-${new Date().getDate()}.xlsx`)
|
||||
}, `部省监管_${this.queryParams.xmmc}_${new Date().getFullYear()}-${new Date().getMonth() + 1}-${new Date().getDate()}.xlsx`)
|
||||
},
|
||||
/** 查询部门下拉树结构 */
|
||||
getDeptTree() {
|
||||
|
@ -70,9 +70,10 @@
|
||||
<el-tab-pane label="基本信息" name="1" style="height: 76vh;overflow: auto">
|
||||
<el-descriptions column="2" border :contentStyle="content_style"
|
||||
:labelStyle="label_style">
|
||||
<el-descriptions-item label="项目名称" :span="2">{{ form.xmmc }}</el-descriptions-item>
|
||||
<el-descriptions-item label="项目类型" :span="2">{{ form.xmmc }}</el-descriptions-item>
|
||||
<el-descriptions-item label="项目名称" :span="2">{{ form.mc }}</el-descriptions-item>
|
||||
<el-descriptions-item label="图斑来源" :span="2">{{ form.tbly }}</el-descriptions-item>
|
||||
<el-descriptions-item label="任务类型" :span="2">{{ form.rwlx }}</el-descriptions-item>
|
||||
<el-descriptions-item label="任务类型" :span="2">{{ form.rwlx === 'null'? '无' : form.rwlx }}</el-descriptions-item>
|
||||
<el-descriptions-item label="年份">{{ form.nian }}</el-descriptions-item>
|
||||
<el-descriptions-item label="县名称">{{ form.xian }}</el-descriptions-item>
|
||||
<el-descriptions-item label="乡镇名称">{{ form.xzmc }}</el-descriptions-item>
|
||||
|
@ -63,7 +63,7 @@
|
||||
v-model="queryParams.tbbh"
|
||||
placeholder="请输入搜索内容"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
@change="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="下发情况" prop="zjxfqk">
|
||||
@ -84,7 +84,7 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<h3 v-if="this.queryParams.xmmc">项目名称:{{ this.queryParams.xmmc }}</h3>
|
||||
<h3 v-if="this.queryParams.xmmc">项目类型:{{ this.queryParams.xmmc }}</h3>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
@ -120,29 +120,22 @@
|
||||
>删除
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange" height="57.5vh">
|
||||
<el-table ref="table" v-loading="loading" :data="taskList" @selection-change="handleSelectionChange"
|
||||
height="57.5vh">
|
||||
<el-table-column type="selection" width="55" align="center" :selectable="selectable" fixed="left"/>
|
||||
<el-table-column label="id" align="center" prop="id" fixed="left"/>
|
||||
<el-table-column label="年份" align="center" prop="nian"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian"/>
|
||||
<el-table-column label="乡镇名称" align="center" prop="xzmc"/>
|
||||
<el-table-column label="村社名称" align="center" prop="csmc" min-width="180"/>
|
||||
<el-table-column label="图斑类型" align="center" prop="tblx"/>
|
||||
<el-table-column label="图斑编号" align="center" prop="tbbh" min-width="180" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="图斑面积" align="center" prop="tbmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="基本农田面积" align="center" prop="jbntmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="存在问题" align="center" prop="czwt" min-width="180"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" min-width="120"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="下发情况" align="center" prop="zjxfqk">
|
||||
<el-table-column label="年份" align="center" prop="nian" v-if="getVisibleByLabel('年份')"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian" v-if="getVisibleByLabel('县名称')"/>
|
||||
<el-table-column label="乡镇名称" align="center" prop="xzmc" v-if="getVisibleByLabel('乡镇名称')"/>
|
||||
<el-table-column label="村社名称" align="center" prop="csmc" min-width="180"
|
||||
v-if="getVisibleByLabel('村社名称')"/>
|
||||
<el-table-column label="图斑类型" align="center" prop="tblx" v-if="getVisibleByLabel('图斑类型')"/>
|
||||
<el-table-column label="图斑编号" align="center" prop="tbbh" min-width="180" :show-overflow-tooltip="true"
|
||||
v-if="getVisibleByLabel('图斑编号')"/>
|
||||
<el-table-column label="下发情况" align="center" prop="zjxfqk" v-if="getVisibleByLabel('下发情况')">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.task_xfqk" :value="scope.row.zjxfqk" v-if="scope.row.zjxfqk=='0'"
|
||||
style="color: red"/>
|
||||
@ -150,11 +143,28 @@
|
||||
style="color: green"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="下发时间" align="center" prop="zjxfsj" width="180">
|
||||
<el-table-column label="下发时间" align="center" prop="zjxfsj" width="180"
|
||||
v-if="getVisibleByLabel('下发时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.zjxfsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="图斑面积" align="center" prop="tbmj" :show-overflow-tooltip="true"
|
||||
v-if="getVisibleByLabel('图斑面积')"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true"
|
||||
v-if="getVisibleByLabel('耕地面积')"/>
|
||||
<el-table-column label="基本农田面积" align="center" prop="jbntmj" :show-overflow-tooltip="true"
|
||||
v-if="getVisibleByLabel('基本农田面积')"/>
|
||||
<el-table-column label="存在问题" align="center" prop="czwt" min-width="180"
|
||||
v-if="getVisibleByLabel('存在问题')"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" min-width="120"
|
||||
v-if="getVisibleByLabel('导入人员')"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" min-width="120"
|
||||
v-if="getVisibleByLabel('导入时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" min-width="180"
|
||||
fixed="right">
|
||||
<template slot-scope="scope">
|
||||
@ -206,8 +216,11 @@
|
||||
<!-- 添加或修改任务对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="125px">
|
||||
<el-form-item label="项目名称" prop="xmmc">
|
||||
<el-input v-model="form.xmmc" placeholder="请输入项目名称" disabled/>
|
||||
<el-form-item label="项目类型" prop="xmmc">
|
||||
<el-input v-model="form.xmmc" placeholder="请输入项目类型" disabled/>
|
||||
</el-form-item>
|
||||
<el-form-item label="项目名称" prop="mc">
|
||||
<el-input v-model="form.mc" placeholder="请输入项目名称"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="任务类型" prop="tbbh">
|
||||
<el-input v-model="form.rwlx" placeholder="请输入任务类型"/>
|
||||
@ -368,13 +381,86 @@ export default {
|
||||
// 表单校验
|
||||
rules: {},
|
||||
xmmcListRefresh: false,
|
||||
// 列信息
|
||||
columns: [
|
||||
{label: `年份`, visible: true},
|
||||
{label: `县名称`, visible: true},
|
||||
{label: `乡镇名称`, visible: true},
|
||||
{label: `村社名称`, visible: true},
|
||||
{label: `图斑类型`, visible: true},
|
||||
{label: `图斑编号`, visible: true},
|
||||
{label: `下发情况`, visible: true},
|
||||
{label: `下发时间`, visible: true},
|
||||
{label: `图斑面积`, visible: true},
|
||||
{label: `耕地面积`, visible: true},
|
||||
{label: `基本农田面积`, visible: true},
|
||||
{label: `存在问题`, visible: true},
|
||||
{label: `导入人员`, visible: true},
|
||||
{label: `导入时间`, visible: true}
|
||||
],
|
||||
scrollTop: 0
|
||||
};
|
||||
},
|
||||
created() {
|
||||
//this.getList();
|
||||
this.getDeptTree();
|
||||
},
|
||||
mounted() {
|
||||
// 监听滚动条的位置
|
||||
this.$refs.table.bodyWrapper.addEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
)
|
||||
},
|
||||
beforeDestroy() {
|
||||
// 移除监听器
|
||||
this.$refs.table.bodyWrapper.removeEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
);
|
||||
},
|
||||
// 被 keep-alive 缓存的组件激活时调用
|
||||
activated() {
|
||||
this.$nextTick(() => {
|
||||
setTimeout(() => {
|
||||
// 设置滚动条的位置
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
}, 100) // 需要设置延迟,否则无效
|
||||
})
|
||||
},
|
||||
watch: {
|
||||
columns: {
|
||||
handler() {
|
||||
this.$nextTick(() => {
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
deep: true,
|
||||
immediate: true
|
||||
},
|
||||
// 监听数据变化,如果数据有更新,则重置滚动条
|
||||
'queryParams.pageNum': {
|
||||
handler() {
|
||||
this.scrollTop = 0
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleScroll(event) {
|
||||
this.scrollTop = event.target.scrollTop;
|
||||
},
|
||||
reTableWrap() {
|
||||
if (this.$refs.table && this.$refs.table.doLayout) {
|
||||
this.$refs.table.doLayout();
|
||||
}
|
||||
},
|
||||
getVisibleByLabel(label) {
|
||||
const column = this.columns.find(col => col.label === label);
|
||||
return column ? column.visible : null;
|
||||
},
|
||||
/** 查询任务列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
@ -382,6 +468,7 @@ export default {
|
||||
this.taskList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
|
@ -49,7 +49,7 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<h3 v-if="this.queryParams.xmmc">项目名称:{{ this.queryParams.xmmc }}</h3>
|
||||
<h3 v-if="this.queryParams.xmmc">项目类型:{{ this.queryParams.xmmc }}</h3>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
@ -74,24 +74,33 @@
|
||||
>删除
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange" height="57.5vh">
|
||||
<el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange"
|
||||
ref="table" height="57.5vh">
|
||||
<el-table-column type="selection" width="55" align="center" :selectable="selectable" fixed="left"/>
|
||||
<el-table-column label="id" align="center" prop="id" fixed="left"/>
|
||||
<el-table-column label="年份" align="center" prop="nian"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian"/>
|
||||
<el-table-column label="乡镇名称" align="center" prop="xzmc"/>
|
||||
<el-table-column label="村社名称" align="center" prop="csmc" min-width="180"/>
|
||||
<el-table-column label="图斑类型" align="center" prop="tblx"/>
|
||||
<el-table-column label="图斑编号" align="center" prop="tbbh" min-width="180" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="图斑面积" align="center" prop="tbmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="基本农田面积" align="center" prop="jbntmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="存在问题" align="center" prop="czwt" min-width="180"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" min-width="120"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" min-width="120">
|
||||
<el-table-column label="年份" align="center" prop="nian" v-if="getVisibleByLabel('年份')"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian" v-if="getVisibleByLabel('县名称')"/>
|
||||
<el-table-column label="乡镇名称" align="center" prop="xzmc" v-if="getVisibleByLabel('乡镇名称')"/>
|
||||
<el-table-column label="村社名称" align="center" prop="csmc" min-width="180"
|
||||
v-if="getVisibleByLabel('村社名称')"/>
|
||||
<el-table-column label="图斑类型" align="center" prop="tblx" v-if="getVisibleByLabel('图斑类型')"/>
|
||||
<el-table-column label="图斑编号" align="center" prop="tbbh" min-width="180" :show-overflow-tooltip="true"
|
||||
v-if="getVisibleByLabel('图斑编号')"/>
|
||||
<el-table-column label="图斑面积" align="center" prop="tbmj" :show-overflow-tooltip="true"
|
||||
v-if="getVisibleByLabel('图斑面积')"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true"
|
||||
v-if="getVisibleByLabel('耕地面积')"/>
|
||||
<el-table-column label="基本农田面积" align="center" prop="jbntmj" :show-overflow-tooltip="true"
|
||||
v-if="getVisibleByLabel('基本农田面积')"/>
|
||||
<el-table-column label="存在问题" align="center" prop="czwt" min-width="180"
|
||||
v-if="getVisibleByLabel('存在问题')"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" min-width="120"
|
||||
v-if="getVisibleByLabel('导入人员')"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" min-width="120"
|
||||
v-if="getVisibleByLabel('导入时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
@ -137,8 +146,11 @@
|
||||
<!-- 添加或修改任务对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="125px">
|
||||
<el-form-item label="项目名称" prop="xmmc">
|
||||
<el-input v-model="form.xmmc" placeholder="请输入项目名称" disabled/>
|
||||
<el-form-item label="项目类型" prop="xmmc">
|
||||
<el-input v-model="form.xmmc" placeholder="请输入项目类型" disabled/>
|
||||
</el-form-item>
|
||||
<el-form-item label="项目名称" prop="mc">
|
||||
<el-input v-model="form.mc" placeholder="请输入项目名称"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="任务类型" prop="tbbh">
|
||||
<el-input v-model="form.rwlx" placeholder="请输入任务类型"/>
|
||||
@ -347,12 +359,83 @@ export default {
|
||||
url: process.env.VUE_APP_BASE_API + "/cxxm/zt/task/importData",
|
||||
},
|
||||
xmmcListRefresh: false,
|
||||
// 列信息
|
||||
columns: [
|
||||
{label: `年份`, visible: true},
|
||||
{label: `县名称`, visible: true},
|
||||
{label: `乡镇名称`, visible: true},
|
||||
{label: `村社名称`, visible: true},
|
||||
{label: `图斑类型`, visible: true},
|
||||
{label: `图斑编号`, visible: true},
|
||||
{label: `图斑面积`, visible: true},
|
||||
{label: `耕地面积`, visible: true},
|
||||
{label: `基本农田面积`, visible: true},
|
||||
{label: `存在问题`, visible: true},
|
||||
{label: `导入人员`, visible: true},
|
||||
{label: `导入时间`, visible: true}
|
||||
],
|
||||
scrollTop: 0
|
||||
};
|
||||
},
|
||||
created() {
|
||||
//this.getList();
|
||||
},
|
||||
mounted() {
|
||||
// 监听滚动条的位置
|
||||
this.$refs.table.bodyWrapper.addEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
)
|
||||
},
|
||||
beforeDestroy() {
|
||||
// 移除监听器
|
||||
this.$refs.table.bodyWrapper.removeEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
);
|
||||
},
|
||||
// 被 keep-alive 缓存的组件激活时调用
|
||||
activated() {
|
||||
this.$nextTick(() => {
|
||||
setTimeout(() => {
|
||||
// 设置滚动条的位置
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
}, 100) // 需要设置延迟,否则无效
|
||||
})
|
||||
},
|
||||
watch: {
|
||||
columns: {
|
||||
handler() {
|
||||
this.$nextTick(() => {
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
deep: true,
|
||||
immediate: true
|
||||
},
|
||||
// 监听数据变化,如果数据有更新,则重置滚动条
|
||||
'queryParams.pageNum': {
|
||||
handler() {
|
||||
this.scrollTop = 0
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleScroll(event) {
|
||||
this.scrollTop = event.target.scrollTop;
|
||||
},
|
||||
reTableWrap() {
|
||||
if (this.$refs.table && this.$refs.table.doLayout) {
|
||||
this.$refs.table.doLayout();
|
||||
}
|
||||
},
|
||||
getVisibleByLabel(label) {
|
||||
const column = this.columns.find(col => col.label === label);
|
||||
return column ? column.visible : null;
|
||||
},
|
||||
/** 查询任务列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
@ -360,6 +443,7 @@ export default {
|
||||
this.taskList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
|
@ -101,40 +101,52 @@
|
||||
>导出
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getTaskXmmcList"></right-toolbar>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
v-if="!showXmmcAssign"
|
||||
@click="handleExportAll"
|
||||
>导出全部
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getTaskXmmcList" :columns="columns"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="xmmcList" @selection-change="handleSelectionChange" height="65vh">
|
||||
<el-table-column v-if="showXmmcDistribute || showXmmcAssign || showXmmcCheck" type="selection" width="55" align="center"
|
||||
:selectable="selectable"
|
||||
fixed="left"/>
|
||||
<el-table ref="table" v-loading="loading" :data="xmmcList" @selection-change="handleSelectionChange" height="65vh">
|
||||
<el-table-column v-if="showXmmcDistribute || showXmmcAssign || showXmmcCheck" type="selection" width="55"
|
||||
align="center"
|
||||
:selectable="selectable" fixed="left"/>
|
||||
<el-table-column label="序号" type="index" width="50" align="center" :index="indexMethod" fixed="left"/>
|
||||
<el-table-column label="项目名称" align="center" prop="xmmc" min-width="180"/>
|
||||
<el-table-column label="图斑数量" align="center" prop="nums"/>
|
||||
<el-table-column label="已下发" align="center" prop="zjyxf"/>
|
||||
<el-table-column label="未下发" align="center" prop="zjwxf">
|
||||
<el-table-column label="项目类型" align="center" prop="xmmc" min-width="180"
|
||||
v-if="getVisibleByLabel('项目类型')"/>
|
||||
<el-table-column label="图斑数量" align="center" prop="nums" v-if="getVisibleByLabel('图斑数量')"/>
|
||||
<el-table-column label="已下发" align="center" prop="zjyxf" v-if="getVisibleByLabel('已下发')"/>
|
||||
<el-table-column label="未下发" align="center" prop="zjwxf" v-if="getVisibleByLabel('未下发')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.nums - scope.row.zjyxf }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="已指派" align="center" prop="xzyxf"/>
|
||||
<el-table-column label="未指派" align="center" prop="xzwxf">
|
||||
<el-table-column label="已指派" align="center" prop="xzyxf" v-if="getVisibleByLabel('已指派')"/>
|
||||
<el-table-column label="未指派" align="center" prop="xzwxf" v-if="getVisibleByLabel('未指派')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.nums - scope.row.xzyxf }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="已巡查" align="center" prop="yxc"/>
|
||||
<el-table-column label="未巡查" align="center" prop="wxc">
|
||||
<el-table-column label="已巡查" align="center" prop="yxc" v-if="getVisibleByLabel('已巡查')"/>
|
||||
<el-table-column label="未巡查" align="center" prop="wxc" v-if="getVisibleByLabel('未巡查')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.nums - scope.row.yxc }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" min-width="120">
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" min-width="120" v-if="getVisibleByLabel('导入时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
<el-button
|
||||
@ -162,7 +174,7 @@
|
||||
icon="el-icon-edit"
|
||||
@click="editXmmc(scope.row.xmmc)"
|
||||
v-if="showImport || showXmmcDistribute"
|
||||
>修改名称
|
||||
>修改类型
|
||||
</el-button>
|
||||
</div>
|
||||
<!-- <el-button-->
|
||||
@ -195,12 +207,12 @@
|
||||
@pagination="getTaskXmmcList"/>
|
||||
|
||||
<!-- 添加或修改任务对话框 -->
|
||||
<el-dialog title="修改项目名称" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-dialog title="修改项目类型" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="125px">
|
||||
<el-form-item label="项目名称" prop="xmmc">
|
||||
<el-input type="textarea" v-model="form.xmmc" placeholder="请输入项目名称"/>
|
||||
<el-form-item label="项目类型" prop="xmmc">
|
||||
<el-input type="textarea" v-model="form.xmmc" placeholder="请输入项目类型"/>
|
||||
</el-form-item>
|
||||
<span style="color: red;justify-content: center">提示: 请谨慎修改项目名称!</span>
|
||||
<span style="color: red;justify-content: center">提示: 请谨慎修改项目类型!</span>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
@ -212,7 +224,7 @@
|
||||
|
||||
<script>
|
||||
|
||||
import {distributeTaskByXmmc, listTaskXmmc, listTaskXmmc2,updateTaskXmmc} from "@/api/cxxm/zt/task";
|
||||
import {distributeTaskByXmmc, listTaskXmmc, listTaskXmmc2, updateTaskXmmc} from "@/api/cxxm/zt/task";
|
||||
|
||||
export default {
|
||||
name: "ZtProjectList",
|
||||
@ -250,6 +262,19 @@ export default {
|
||||
xmmc: null,
|
||||
},
|
||||
rules: {},
|
||||
// 列信息
|
||||
columns: [
|
||||
{label: `项目类型`, visible: true},
|
||||
{label: `图斑数量`, visible: true},
|
||||
{label: `已下发`, visible: true},
|
||||
{label: `未下发`, visible: true},
|
||||
{label: `已指派`, visible: true},
|
||||
{label: `未指派`, visible: true},
|
||||
{label: `已巡查`, visible: true},
|
||||
{label: `未巡查`, visible: true},
|
||||
{label: `导入时间`, visible: true}
|
||||
],
|
||||
scrollTop: 0
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@ -272,13 +297,66 @@ export default {
|
||||
immediate: true,
|
||||
deep: true // 为true,表示深度监听,这时候就能监测到a值变化
|
||||
},
|
||||
columns: {
|
||||
handler() {
|
||||
this.$nextTick(() => {
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
deep: true,
|
||||
immediate: true
|
||||
},
|
||||
// 监听数据变化,如果数据有更新,则重置滚动条
|
||||
'xmmcQueryParams.pageNum': {
|
||||
handler() {
|
||||
this.scrollTop = 0
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getTaskXmmcList();
|
||||
this.isFirstLoad = false; // 设置标志变量
|
||||
|
||||
},
|
||||
mounted() {
|
||||
// 监听滚动条的位置
|
||||
this.$refs.table.bodyWrapper.addEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
)
|
||||
},
|
||||
beforeDestroy() {
|
||||
// 移除监听器
|
||||
this.$refs.table.bodyWrapper.removeEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
);
|
||||
},
|
||||
// 被 keep-alive 缓存的组件激活时调用
|
||||
activated() {
|
||||
this.$nextTick(() => {
|
||||
setTimeout(() => {
|
||||
// 设置滚动条的位置
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
}, 100) // 需要设置延迟,否则无效
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
handleScroll(event) {
|
||||
this.scrollTop = event.target.scrollTop;
|
||||
},
|
||||
reTableWrap() {
|
||||
if (this.$refs.table && this.$refs.table.doLayout) {
|
||||
this.$refs.table.doLayout();
|
||||
}
|
||||
},
|
||||
getVisibleByLabel(label) {
|
||||
const column = this.columns.find(col => col.label === label);
|
||||
return column ? column.visible : null;
|
||||
},
|
||||
getTaskXmmcList() {
|
||||
this.loading = true;
|
||||
const path = this.$route.path
|
||||
@ -290,6 +368,7 @@ export default {
|
||||
this.xmmcList = response.rows;
|
||||
this.xmmcTotal = response.total;
|
||||
this.loading = false;
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
handleImport() {
|
||||
@ -313,8 +392,8 @@ export default {
|
||||
} else if (this.showXmmcAssign && row.nums - row.xzyxf > 0) {
|
||||
return true;
|
||||
} else if (this.showXmmcCheck) {
|
||||
return true;}
|
||||
else {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
@ -327,8 +406,8 @@ export default {
|
||||
/** 下发按钮操作 */
|
||||
handleXmmcDistribute(row) {
|
||||
const xmmcs = row.xmmc || this.xmmcs;
|
||||
if(!xmmcs || xmmcs.indexOf('') !== -1){
|
||||
this.$modal.msgError("存在项目名称为空的选项,无法按项目名称下发任务");
|
||||
if (!xmmcs || xmmcs.indexOf('') !== -1) {
|
||||
this.$modal.msgError("存在项目类型为空的选项,无法按项目类型下发任务");
|
||||
return;
|
||||
}
|
||||
this.$modal.confirm('是否确认下发项目中的任务?').then(function () {
|
||||
@ -358,13 +437,18 @@ export default {
|
||||
handleExportByXmmcs(row) {
|
||||
const xmmcs = row.xmmc || this.xmmcs;
|
||||
if (!xmmcs || xmmcs.indexOf('') !== -1) {
|
||||
this.$modal.msgError("存在项目名称为空的选项,无法按项目名称导出");
|
||||
this.$modal.msgError("存在项目类型为空的选项,无法按项目名类型导出");
|
||||
return;
|
||||
}
|
||||
this.download(`/cxxm/zt/task/exportByXmmcs/${xmmcs}`, {
|
||||
...this.queryParams
|
||||
}, `持续监管_${new Date().getFullYear()}-${new Date().getMonth() + 1}-${new Date().getDate()}.xlsx`)
|
||||
},
|
||||
handleExportAll() {
|
||||
this.download(`/cxxm/zt/task/exportAll`, {
|
||||
...this.queryParams
|
||||
}, `持续监管_全部数据_${new Date().getFullYear()}-${new Date().getMonth() + 1}-${new Date().getDate()}.xlsx`)
|
||||
},
|
||||
editXmmc(xmmc) {
|
||||
this.oldXmmc = xmmc;
|
||||
this.form.xmmc = xmmc;
|
||||
@ -386,7 +470,7 @@ export default {
|
||||
submitForm() {
|
||||
if (this.form.xmmc != null && this.form.xmmc.trim() !== '') {
|
||||
if (this.form.xmmc === this.oldXmmc) {
|
||||
this.$modal.msgWarning("新项目名称与原项目名称一致,无需修改");
|
||||
this.$modal.msgWarning("新项目类型与原项目类型一致,无需修改");
|
||||
this.open = false;
|
||||
return;
|
||||
}
|
||||
@ -396,7 +480,7 @@ export default {
|
||||
this.getTaskXmmcList();
|
||||
})
|
||||
} else {
|
||||
this.$modal.msgError("项目名称不能为空");
|
||||
this.$modal.msgError("项目类型不能为空");
|
||||
}
|
||||
},
|
||||
}
|
||||
|
@ -48,7 +48,7 @@
|
||||
v-model="queryParams.tbbh"
|
||||
placeholder="请输入搜索内容"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
@change="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="下发情况" prop="zjxfqk">-->
|
||||
@ -76,7 +76,7 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<h3 v-if="this.queryParams.xmmc">项目名称:{{ this.queryParams.xmmc }}</h3>
|
||||
<h3 v-if="this.queryParams.xmmc">项目类型:{{ this.queryParams.xmmc }}</h3>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<!-- <el-col :span="1.5">-->
|
||||
@ -89,30 +89,34 @@
|
||||
<!-- >乡镇情况-->
|
||||
<!-- </el-button>-->
|
||||
<!-- </el-col>-->
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
|
||||
<el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange" height="57.5vh">
|
||||
<el-table ref="table" v-loading="loading" :data="taskList" @selection-change="handleSelectionChange" height="57.5vh">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" :selectable="selectable" fixed="left"/>-->
|
||||
<el-table-column label="id" align="center" prop="id" fixed="left"/>
|
||||
<el-table-column label="年份" align="center" prop="nian"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian"/>
|
||||
<el-table-column label="乡镇名称" align="center" prop="xzmc"/>
|
||||
<el-table-column label="村社名称" align="center" prop="csmc" min-width="180"/>
|
||||
<el-table-column label="图斑来源" align="center" prop="tbly"/>
|
||||
<el-table-column label="图斑编号" align="center" prop="tbbh" min-width="180" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="图斑面积" align="center" prop="tbmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="基本农田面积" align="center" prop="jbntmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="存在问题" align="center" prop="czwt" min-width="180"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" min-width="180"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" width="180">
|
||||
<el-table-column label="年份" align="center" prop="nian" v-if="getVisibleByLabel('年份')"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian" v-if="getVisibleByLabel('县名称')"/>
|
||||
<el-table-column label="乡镇名称" align="center" prop="xzmc" v-if="getVisibleByLabel('乡镇名称')"/>
|
||||
<el-table-column label="村社名称" align="center" prop="csmc" min-width="180" v-if="getVisibleByLabel('村社名称')"/>
|
||||
<el-table-column label="图斑来源" align="center" prop="tbly" v-if="getVisibleByLabel('图斑来源')"/>
|
||||
<el-table-column label="图斑编号" align="center" prop="tbbh" min-width="180" :show-overflow-tooltip="true" v-if="getVisibleByLabel('图斑编号')"/>
|
||||
<el-table-column label="指派情况" align="center" prop="xzxfqk" v-if="getVisibleByLabel('指派情况')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d}') }}</span>
|
||||
<dict-tag :options="dict.type.task_xfqk" value="未指派" v-if="scope.row.xzxfqk=='0'"
|
||||
style="color: red"/>
|
||||
<dict-tag :options="dict.type.task_xfqk" value="已指派" v-if="scope.row.xzxfqk=='1'"
|
||||
style="color: green"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="州级下发情况" align="center" prop="zjxfqk">
|
||||
<el-table-column label="指派给" align="center" prop="toName" v-if="getVisibleByLabel('指派给')"/>
|
||||
<el-table-column label="指派时间" align="center" prop="xzxfsj" width="180" v-if="getVisibleByLabel('指派时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.xzxfsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="州级下发情况" align="center" prop="zjxfqk" v-if="getVisibleByLabel('州级下发情况')">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.task_xfqk" :value="scope.row.zjxfqk" v-if="scope.row.zjxfqk=='0'"
|
||||
style="color: red"/>
|
||||
@ -120,11 +124,21 @@
|
||||
style="color: green"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="州级下发时间" align="center" prop="zjxfsj" width="180">
|
||||
<el-table-column label="州级下发时间" align="center" prop="zjxfsj" width="180" v-if="getVisibleByLabel('州级下发时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.zjxfsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="图斑面积" align="center" prop="tbmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('图斑面积')"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('耕地面积')"/>
|
||||
<el-table-column label="基本农田面积" align="center" prop="jbntmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('基本农田面积')"/>
|
||||
<el-table-column label="存在问题" align="center" prop="czwt" min-width="180" v-if="getVisibleByLabel('存在问题')"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" min-width="180" v-if="getVisibleByLabel('导入人员')"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" width="180" v-if="getVisibleByLabel('导入时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="县级下发情况" align="center" prop="xjxfqk">-->
|
||||
<!-- <template slot-scope="scope">-->
|
||||
<!-- <dict-tag :options="dict.type.task_xfqk" :value="scope.row.xjxfqk" v-if="scope.row.xjxfqk=='0'"-->
|
||||
@ -138,20 +152,6 @@
|
||||
<!-- <span>{{ parseTime(scope.row.xjxfsj, '{y}-{m}-{d}') }}</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column label="指派情况" align="center" prop="xzxfqk">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.task_xfqk" value="未指派" v-if="scope.row.xzxfqk=='0'"
|
||||
style="color: red"/>
|
||||
<dict-tag :options="dict.type.task_xfqk" value="已指派" v-if="scope.row.xzxfqk=='1'"
|
||||
style="color: green"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="指派给" align="center" prop="toName"/>
|
||||
<el-table-column label="指派时间" align="center" prop="xzxfsj" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.xzxfsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" min-width="180"
|
||||
fixed="right">
|
||||
<template slot-scope="scope">
|
||||
@ -443,7 +443,31 @@ export default {
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {},
|
||||
xmmcs:[],
|
||||
xmmcListRefresh:false,
|
||||
// 列信息
|
||||
columns: [
|
||||
{label: `年份`, visible: true},
|
||||
{label: `县名称`, visible: true},
|
||||
{label: `乡镇名称`, visible: true},
|
||||
{label: `村社名称`, visible: true},
|
||||
{label: `图斑来源`, visible: true},
|
||||
{label: `图斑编号`, visible: true},
|
||||
{label: `指派情况`, visible: true},
|
||||
{label: `指派给`, visible: true},
|
||||
{label: `指派时间`, visible: true},
|
||||
{label: `州级下发情况`, visible: true},
|
||||
{label: `州级下发时间`, visible: true},
|
||||
{label: `下发情况`, visible: true},
|
||||
{label: `下发时间`, visible: true},
|
||||
{label: `图斑面积`, visible: true},
|
||||
{label: `耕地面积`, visible: true},
|
||||
{label: `基本农田面积`, visible: true},
|
||||
{label: `存在问题`, visible: true},
|
||||
{label: `导入人员`, visible: true},
|
||||
{label: `导入时间`, visible: true}
|
||||
],
|
||||
scrollTop: 0
|
||||
};
|
||||
},
|
||||
created() {
|
||||
@ -451,7 +475,62 @@ export default {
|
||||
// this.getList();
|
||||
|
||||
},
|
||||
mounted() {
|
||||
// 监听滚动条的位置
|
||||
this.$refs.table.bodyWrapper.addEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
)
|
||||
},
|
||||
beforeDestroy() {
|
||||
// 移除监听器
|
||||
this.$refs.table.bodyWrapper.removeEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
);
|
||||
},
|
||||
// 被 keep-alive 缓存的组件激活时调用
|
||||
activated() {
|
||||
this.$nextTick(() => {
|
||||
setTimeout(() => {
|
||||
// 设置滚动条的位置
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
}, 100) // 需要设置延迟,否则无效
|
||||
})
|
||||
},
|
||||
watch: {
|
||||
columns: {
|
||||
handler() {
|
||||
this.$nextTick(() => {
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
deep: true,
|
||||
immediate: true
|
||||
},
|
||||
// 监听数据变化,如果数据有更新,则重置滚动条
|
||||
'queryParams.pageNum': {
|
||||
handler() {
|
||||
this.scrollTop = 0
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleScroll(event) {
|
||||
this.scrollTop = event.target.scrollTop;
|
||||
},
|
||||
reTableWrap() {
|
||||
if (this.$refs.table && this.$refs.table.doLayout) {
|
||||
this.$refs.table.doLayout();
|
||||
}
|
||||
},
|
||||
getVisibleByLabel(label) {
|
||||
const column = this.columns.find(col => col.label === label);
|
||||
return column ? column.visible : null;
|
||||
},
|
||||
/** 查询任务列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
@ -681,18 +760,21 @@ export default {
|
||||
},
|
||||
selectXmmc(xmmc) {
|
||||
this.queryParams.xmmc = xmmc;
|
||||
this.xmmcs = [];
|
||||
this.handleQuery();
|
||||
this.xmmcShow = false;
|
||||
},
|
||||
goBack() {
|
||||
this.queryParams.tbbh = null;
|
||||
this.xmmcListRefresh = !this.xmmcListRefresh;
|
||||
this.xmmcs = [];
|
||||
this.xmmcShow = true;
|
||||
},
|
||||
openXmmcAssignPage(xmmcs) {
|
||||
this.drawer2 = true;
|
||||
this.xmmcs = xmmcs;
|
||||
this.ids = [];
|
||||
this.assignTaskId = null;
|
||||
this.loading = false;
|
||||
},
|
||||
}
|
||||
|
@ -64,7 +64,7 @@
|
||||
v-model="queryParams.tbbh"
|
||||
placeholder="请输入搜索内容"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
@change="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="巡查情况" prop="yxccs">
|
||||
@ -81,7 +81,7 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<h3 v-if="this.queryParams.xmmc">项目名称:{{ this.queryParams.xmmc }}</h3>
|
||||
<h3 v-if="this.queryParams.xmmc">项目类型:{{ this.queryParams.xmmc }}</h3>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
@ -95,32 +95,32 @@
|
||||
>导出
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange" height="57.5vh">
|
||||
<el-table ref="table" v-loading="loading" :data="taskList" @selection-change="handleSelectionChange" height="57.5vh">
|
||||
<el-table-column type="selection" width="55" align="center" fixed="left"/>
|
||||
<el-table-column label="id" align="center" prop="id" fixed="left"/>
|
||||
<el-table-column label="年份" align="center" prop="nian"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian"/>
|
||||
<el-table-column label="乡镇名称" align="center" prop="xzmc"/>
|
||||
<el-table-column label="村社名称" align="center" prop="csmc" min-width="180"/>
|
||||
<el-table-column label="图斑来源" align="center" prop="tbly"/>
|
||||
<el-table-column label="图斑编号" align="center" prop="tbbh" min-width="180" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="已巡查次数" align="center" prop="yxccs"/>
|
||||
<el-table-column label="州级巡查次数" align="center" prop="zjxccs"/>
|
||||
<el-table-column label="县级巡查次数" align="center" prop="xjxccs"/>
|
||||
<el-table-column label="最后巡查时间" align="center" prop="xcsj" min-width="120">
|
||||
<el-table-column label="年份" align="center" prop="nian" v-if="getVisibleByLabel('年份')"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian" v-if="getVisibleByLabel('县名称')"/>
|
||||
<el-table-column label="乡镇名称" align="center" prop="xzmc" v-if="getVisibleByLabel('乡镇名称')"/>
|
||||
<el-table-column label="村社名称" align="center" prop="csmc" min-width="180" v-if="getVisibleByLabel('村社名称')"/>
|
||||
<el-table-column label="图斑来源" align="center" prop="tbly" v-if="getVisibleByLabel('图斑来源')"/>
|
||||
<el-table-column label="图斑编号" align="center" prop="tbbh" min-width="180" :show-overflow-tooltip="true" v-if="getVisibleByLabel('图斑编号')"/>
|
||||
<el-table-column label="已巡查次数" align="center" prop="yxccs" v-if="getVisibleByLabel('已巡查次数')"/>
|
||||
<el-table-column label="州级巡查次数" align="center" prop="zjxccs" v-if="getVisibleByLabel('州级巡查次数')"/>
|
||||
<el-table-column label="县级巡查次数" align="center" prop="xjxccs" v-if="getVisibleByLabel('县级巡查次数')"/>
|
||||
<el-table-column label="最后巡查时间" align="center" prop="xcsj" min-width="120" v-if="getVisibleByLabel('最后巡查时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.xcsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="图斑面积" align="center" prop="tbmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="基本农田面积" align="center" prop="jbntmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="存在问题" align="center" prop="czwt" min-width="180"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" width="180"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" width="180">
|
||||
<el-table-column label="图斑面积" align="center" prop="tbmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('图斑面积')"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('耕地面积')"/>
|
||||
<el-table-column label="基本农田面积" align="center" prop="jbntmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('基本农田面积')"/>
|
||||
<el-table-column label="存在问题" align="center" prop="czwt" min-width="180" v-if="getVisibleByLabel('存在问题')"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" min-width="180" v-if="getVisibleByLabel('导入人员')"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" width="180" v-if="getVisibleByLabel('导入时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
@ -259,14 +259,88 @@ export default {
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {},
|
||||
columns: [
|
||||
{label: `年份`, visible: true},
|
||||
{label: `县名称`, visible: true},
|
||||
{label: `乡镇名称`, visible: true},
|
||||
{label: `村社名称`, visible: true},
|
||||
{label: `图斑来源`, visible: true},
|
||||
{label: `图斑编号`, visible: true},
|
||||
{label: `已巡查次数`, visible: true},
|
||||
{label: `州级巡查次数`, visible: true},
|
||||
{label: `县级巡查次数`, visible: true},
|
||||
{label: `最后巡查时间`, visible: true},
|
||||
{label: `图斑面积`, visible: true},
|
||||
{label: `耕地面积`, visible: true},
|
||||
{label: `基本农田面积`, visible: true},
|
||||
{label: `存在问题`, visible: true},
|
||||
{label: `导入人员`, visible: true},
|
||||
{label: `导入时间`, visible: true},
|
||||
],
|
||||
scrollTop: 0
|
||||
};
|
||||
},
|
||||
created() {
|
||||
// this.getList();
|
||||
this.getDeptTree();
|
||||
},
|
||||
mounted() {
|
||||
// 监听滚动条的位置
|
||||
this.$refs.table.bodyWrapper.addEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
)
|
||||
},
|
||||
beforeDestroy() {
|
||||
// 移除监听器
|
||||
this.$refs.table.bodyWrapper.removeEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
);
|
||||
},
|
||||
// 被 keep-alive 缓存的组件激活时调用
|
||||
activated() {
|
||||
this.$nextTick(() => {
|
||||
setTimeout(() => {
|
||||
// 设置滚动条的位置
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
}, 100) // 需要设置延迟,否则无效
|
||||
})
|
||||
},
|
||||
watch: {
|
||||
columns: {
|
||||
handler() {
|
||||
this.$nextTick(() => {
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
deep: true,
|
||||
immediate: true
|
||||
},
|
||||
// 监听数据变化,如果数据有更新,则重置滚动条
|
||||
'queryParams.pageNum': {
|
||||
handler() {
|
||||
this.scrollTop = 0
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
checkRole,
|
||||
handleScroll(event) {
|
||||
this.scrollTop = event.target.scrollTop;
|
||||
},
|
||||
reTableWrap() {
|
||||
if (this.$refs.table && this.$refs.table.doLayout) {
|
||||
this.$refs.table.doLayout();
|
||||
}
|
||||
},
|
||||
getVisibleByLabel(label) {
|
||||
const column = this.columns.find(col => col.label === label);
|
||||
return column ? column.visible : null;
|
||||
},
|
||||
/** 查询任务列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
@ -398,7 +472,7 @@ export default {
|
||||
const id = row.id || this.ids
|
||||
this.download(`/cxxm/zttb/task/export/${id}`, {
|
||||
...this.queryParams
|
||||
}, `自提图斑_${new Date().getFullYear()}-${new Date().getMonth() + 1}-${new Date().getDate()}.xlsx`)
|
||||
}, `自提图斑_${this.queryParams.xmmc}_${new Date().getFullYear()}-${new Date().getMonth() + 1}-${new Date().getDate()}.xlsx`)
|
||||
},
|
||||
/** 查询部门下拉树结构 */
|
||||
getDeptTree() {
|
||||
|
@ -69,7 +69,8 @@
|
||||
<el-tab-pane label="基本信息" name="1" style="height: 76vh;overflow: auto">
|
||||
<el-descriptions column="2" border :contentStyle="content_style"
|
||||
:labelStyle="label_style">
|
||||
<el-descriptions-item label="项目名称" :span="2">{{ form.xmmc }}</el-descriptions-item>
|
||||
<el-descriptions-item label="项目类型" :span="2">{{ form.xmmc }}</el-descriptions-item>
|
||||
<el-descriptions-item label="项目名称" :span="2">{{ form.mc }}</el-descriptions-item>
|
||||
<el-descriptions-item label="图斑来源" :span="2">{{ form.tbly }}</el-descriptions-item>
|
||||
<el-descriptions-item label="年份">{{ form.nian }}</el-descriptions-item>
|
||||
<el-descriptions-item label="县名称">{{ form.xian }}</el-descriptions-item>
|
||||
|
@ -64,7 +64,7 @@
|
||||
v-model="queryParams.tbbh"
|
||||
placeholder="请输入搜索内容"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
@change="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="下发情况" prop="zjxfqk">
|
||||
@ -85,7 +85,7 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<h3 v-if="this.queryParams.xmmc">项目名称:{{ this.queryParams.xmmc }}</h3>
|
||||
<h3 v-if="this.queryParams.xmmc">项目类型:{{ this.queryParams.xmmc }}</h3>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
@ -110,29 +110,19 @@
|
||||
>删除
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange" height="57.5vh">
|
||||
<el-table ref="table" v-loading="loading" :data="taskList" @selection-change="handleSelectionChange" height="57.5vh">
|
||||
<el-table-column type="selection" width="55" align="center" :selectable="selectable" fixed="left"/>
|
||||
<el-table-column label="id" align="center" prop="id" fixed="left"/>
|
||||
<el-table-column label="年份" align="center" prop="nian"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian"/>
|
||||
<el-table-column label="乡镇名称" align="center" prop="xzmc"/>
|
||||
<el-table-column label="村社名称" align="center" prop="csmc" min-width="180"/>
|
||||
<el-table-column label="图斑来源" align="center" prop="tbly"/>
|
||||
<el-table-column label="图斑编号" align="center" prop="tbbh" min-width="180" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="图斑面积" align="center" prop="tbmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="基本农田面积" align="center" prop="jbntmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="存在问题" align="center" prop="czwt" min-width="180"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" width="180"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="下发情况" align="center" prop="zjxfqk">
|
||||
<el-table-column label="年份" align="center" prop="nian" v-if="getVisibleByLabel('年份')"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian" v-if="getVisibleByLabel('县名称')"/>
|
||||
<el-table-column label="乡镇名称" align="center" prop="xzmc" v-if="getVisibleByLabel('乡镇名称')"/>
|
||||
<el-table-column label="村社名称" align="center" prop="csmc" min-width="180" v-if="getVisibleByLabel('村社名称')"/>
|
||||
<el-table-column label="图斑来源" align="center" prop="tbly" v-if="getVisibleByLabel('图斑来源')"/>
|
||||
<el-table-column label="图斑编号" align="center" prop="tbbh" min-width="180" :show-overflow-tooltip="true" v-if="getVisibleByLabel('图斑编号')"/>
|
||||
<el-table-column label="下发情况" align="center" prop="zjxfqk" v-if="getVisibleByLabel('下发情况')">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.task_xfqk" :value="scope.row.zjxfqk" v-if="scope.row.zjxfqk=='0'"
|
||||
style="color: red"/>
|
||||
@ -140,11 +130,21 @@
|
||||
style="color: green"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="下发时间" align="center" prop="zjxfsj" width="180">
|
||||
<el-table-column label="下发时间" align="center" prop="zjxfsj" width="180" v-if="getVisibleByLabel('下发时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.zjxfsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="图斑面积" align="center" prop="tbmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('图斑面积')"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('耕地面积')"/>
|
||||
<el-table-column label="基本农田面积" align="center" prop="jbntmj" :show-overflow-tooltip="true" v-if="getVisibleByLabel('基本农田面积')"/>
|
||||
<el-table-column label="存在问题" align="center" prop="czwt" min-width="180" v-if="getVisibleByLabel('存在问题')"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" width="180" v-if="getVisibleByLabel('导入人员')"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" width="180" v-if="getVisibleByLabel('导入时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" min-width="180"
|
||||
fixed="right">
|
||||
<template slot-scope="scope">
|
||||
@ -197,8 +197,11 @@
|
||||
<!-- 添加或修改任务对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="125px">
|
||||
<el-form-item label="项目名称" prop="xmmc">
|
||||
<el-input v-model="form.xmmc" placeholder="请输入项目名称" disabled/>
|
||||
<el-form-item label="项目类型" prop="xmmc">
|
||||
<el-input v-model="form.xmmc" placeholder="请输入项目类型" disabled/>
|
||||
</el-form-item>
|
||||
<el-form-item label="项目名称" prop="mc">
|
||||
<el-input v-model="form.xmmc" placeholder="请输入项目名称"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="年份" prop="nian">
|
||||
<el-input v-model="form.nian" placeholder="请输入年份"/>
|
||||
@ -356,13 +359,86 @@ export default {
|
||||
// 表单校验
|
||||
rules: {},
|
||||
xmmcListRefresh: false,
|
||||
// 列信息
|
||||
columns: [
|
||||
{label: `年份`, visible: true},
|
||||
{label: `县名称`, visible: true},
|
||||
{label: `乡镇名称`, visible: true},
|
||||
{label: `村社名称`, visible: true},
|
||||
{label: `图斑来源`, visible: true},
|
||||
{label: `图斑编号`, visible: true},
|
||||
{label: `下发情况`, visible: true},
|
||||
{label: `下发时间`, visible: true},
|
||||
{label: `图斑面积`, visible: true},
|
||||
{label: `耕地面积`, visible: true},
|
||||
{label: `基本农田面积`, visible: true},
|
||||
{label: `存在问题`, visible: true},
|
||||
{label: `导入人员`, visible: true},
|
||||
{label: `导入时间`, visible: true}
|
||||
],
|
||||
scrollTop: 0
|
||||
};
|
||||
},
|
||||
created() {
|
||||
//this.getList();
|
||||
this.getDeptTree();
|
||||
},
|
||||
mounted() {
|
||||
// 监听滚动条的位置
|
||||
this.$refs.table.bodyWrapper.addEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
)
|
||||
},
|
||||
beforeDestroy() {
|
||||
// 移除监听器
|
||||
this.$refs.table.bodyWrapper.removeEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
);
|
||||
},
|
||||
// 被 keep-alive 缓存的组件激活时调用
|
||||
activated() {
|
||||
this.$nextTick(() => {
|
||||
setTimeout(() => {
|
||||
// 设置滚动条的位置
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
}, 100) // 需要设置延迟,否则无效
|
||||
})
|
||||
},
|
||||
watch: {
|
||||
columns: {
|
||||
handler() {
|
||||
this.$nextTick(() => {
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
deep: true,
|
||||
immediate: true
|
||||
},
|
||||
// 监听数据变化,如果数据有更新,则重置滚动条
|
||||
'queryParams.pageNum': {
|
||||
handler() {
|
||||
this.scrollTop = 0
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleScroll(event) {
|
||||
this.scrollTop = event.target.scrollTop;
|
||||
},
|
||||
reTableWrap() {
|
||||
if (this.$refs.table && this.$refs.table.doLayout) {
|
||||
this.$refs.table.doLayout();
|
||||
}
|
||||
},
|
||||
getVisibleByLabel(label) {
|
||||
const column = this.columns.find(col => col.label === label);
|
||||
return column ? column.visible : null;
|
||||
},
|
||||
/** 查询任务列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
|
@ -47,7 +47,7 @@
|
||||
v-model="queryParams.tbbh"
|
||||
placeholder="请输入搜索内容"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
@change="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
@ -57,7 +57,7 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<h3 v-if="this.queryParams.xmmc">项目名称:{{ this.queryParams.xmmc }}</h3>
|
||||
<h3 v-if="this.queryParams.xmmc">项目类型:{{ this.queryParams.xmmc }}</h3>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
@ -92,24 +92,32 @@
|
||||
>删除
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange" height="57.5vh">
|
||||
<el-table ref="table" v-loading="loading" :data="taskList" @selection-change="handleSelectionChange" height="57.5vh">
|
||||
<el-table-column type="selection" width="55" align="center" :selectable="selectable" fixed="left"/>
|
||||
<el-table-column label="id" align="center" prop="id" fixed="left"/>
|
||||
<el-table-column label="年份" align="center" prop="nian"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian"/>
|
||||
<el-table-column label="乡镇名称" align="center" prop="xzmc"/>
|
||||
<el-table-column label="村社名称" align="center" prop="csmc" min-width="180"/>
|
||||
<el-table-column label="图斑来源" align="center" prop="tbly"/>
|
||||
<el-table-column label="图斑编号" align="center" prop="tbbh" min-width="180" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="图斑面积" align="center" prop="tbmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="基本农田面积" align="center" prop="jbntmj" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="存在问题" align="center" prop="czwt" min-width="180"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" min-width="120"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" min-width="120">
|
||||
<el-table-column label="年份" align="center" prop="nian" v-if="getVisibleByLabel('年份')"/>
|
||||
<el-table-column label="县名称" align="center" prop="xian" v-if="getVisibleByLabel('县名称')"/>
|
||||
<el-table-column label="乡镇名称" align="center" prop="xzmc" v-if="getVisibleByLabel('乡镇名称')"/>
|
||||
<el-table-column label="村社名称" align="center" prop="csmc" min-width="180"
|
||||
v-if="getVisibleByLabel('村社名称')"/>
|
||||
<el-table-column label="图斑来源" align="center" prop="tbly" v-if="getVisibleByLabel('图斑来源')"/>
|
||||
<el-table-column label="图斑编号" align="center" prop="tbbh" min-width="180" :show-overflow-tooltip="true"
|
||||
v-if="getVisibleByLabel('图斑编号')"/>
|
||||
<el-table-column label="图斑面积" align="center" prop="tbmj" :show-overflow-tooltip="true"
|
||||
v-if="getVisibleByLabel('图斑面积')"/>
|
||||
<el-table-column label="耕地面积" align="center" prop="gdmj" :show-overflow-tooltip="true"
|
||||
v-if="getVisibleByLabel('耕地面积')"/>
|
||||
<el-table-column label="基本农田面积" align="center" prop="jbntmj" :show-overflow-tooltip="true"
|
||||
v-if="getVisibleByLabel('基本农田面积')"/>
|
||||
<el-table-column label="存在问题" align="center" prop="czwt" min-width="180"
|
||||
v-if="getVisibleByLabel('存在问题')"/>
|
||||
<el-table-column label="导入人员" align="center" prop="createBy" min-width="120"
|
||||
v-if="getVisibleByLabel('导入人员')"/>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" min-width="120"
|
||||
v-if="getVisibleByLabel('导入时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
@ -164,8 +172,11 @@
|
||||
<!-- 添加或修改任务对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="125px">
|
||||
<el-form-item label="项目名称" prop="xmmc">
|
||||
<el-input v-model="form.xmmc" placeholder="请输入项目名称" disabled/>
|
||||
<el-form-item label="项目类型" prop="xmmc">
|
||||
<el-input v-model="form.xmmc" placeholder="请输入项目类型" disabled/>
|
||||
</el-form-item>
|
||||
<el-form-item label="项目名称" prop="mc">
|
||||
<el-input v-model="form.xmmc" placeholder="请输入项目名称"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="年份" prop="nian">
|
||||
<el-input v-model="form.nian" placeholder="请输入年份"/>
|
||||
@ -361,11 +372,52 @@ export default {
|
||||
url: process.env.VUE_APP_BASE_API + "/cxxm/zttb/task/importData",
|
||||
},
|
||||
xmmcListRefresh: false,
|
||||
// 列信息
|
||||
columns: [
|
||||
{label: `年份`, visible: true},
|
||||
{label: `县名称`, visible: true},
|
||||
{label: `乡镇名称`, visible: true},
|
||||
{label: `村社名称`, visible: true},
|
||||
{label: `图斑来源`, visible: true},
|
||||
{label: `图斑编号`, visible: true},
|
||||
{label: `图斑面积`, visible: true},
|
||||
{label: `耕地面积`, visible: true},
|
||||
{label: `基本农田面积`, visible: true},
|
||||
{label: `存在问题`, visible: true},
|
||||
{label: `导入人员`, visible: true},
|
||||
{label: `导入时间`, visible: true}
|
||||
],
|
||||
scrollTop: 0
|
||||
};
|
||||
},
|
||||
created() {
|
||||
// this.getList();
|
||||
},
|
||||
mounted() {
|
||||
// 监听滚动条的位置
|
||||
this.$refs.table.bodyWrapper.addEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
)
|
||||
},
|
||||
beforeDestroy() {
|
||||
// 移除监听器
|
||||
this.$refs.table.bodyWrapper.removeEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
);
|
||||
},
|
||||
// 被 keep-alive 缓存的组件激活时调用
|
||||
activated() {
|
||||
this.$nextTick(() => {
|
||||
setTimeout(() => {
|
||||
// 设置滚动条的位置
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
}, 100) // 需要设置延迟,否则无效
|
||||
})
|
||||
},
|
||||
watch: {
|
||||
// 根据名称筛选任务列表
|
||||
'queryParams.xmmc'(val) {
|
||||
@ -374,9 +426,37 @@ export default {
|
||||
} else {
|
||||
this.upload.newXmmc = null;
|
||||
}
|
||||
},
|
||||
columns: {
|
||||
handler() {
|
||||
this.$nextTick(() => {
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
deep: true,
|
||||
immediate: true
|
||||
},
|
||||
// 监听数据变化,如果数据有更新,则重置滚动条
|
||||
'queryParams.pageNum': {
|
||||
handler() {
|
||||
this.scrollTop = 0
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleScroll(event) {
|
||||
this.scrollTop = event.target.scrollTop;
|
||||
},
|
||||
reTableWrap() {
|
||||
if (this.$refs.table && this.$refs.table.doLayout) {
|
||||
this.$refs.table.doLayout();
|
||||
}
|
||||
},
|
||||
getVisibleByLabel(label) {
|
||||
const column = this.columns.find(col => col.label === label);
|
||||
return column ? column.visible : null;
|
||||
},
|
||||
/** 查询任务列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
|
@ -101,36 +101,47 @@
|
||||
>导出
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getTaskXmmcList"></right-toolbar>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
v-if="!showXmmcAssign"
|
||||
@click="handleExportAll"
|
||||
>导出全部
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getTaskXmmcList" :columns="columns"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="xmmcList" @selection-change="handleSelectionChange" height="65vh">
|
||||
<el-table-column v-if="showXmmcDistribute || showXmmcAssign || showXmmcCheck"
|
||||
type="selection" width="55" align="center"
|
||||
:selectable="selectable"
|
||||
fixed="left"/>
|
||||
<el-table ref="table" v-loading="loading" :data="xmmcList" @selection-change="handleSelectionChange" height="65vh">
|
||||
<el-table-column v-if="showXmmcDistribute || showXmmcAssign || showXmmcCheck" type="selection" width="55"
|
||||
align="center"
|
||||
:selectable="selectable" fixed="left"/>
|
||||
<el-table-column label="序号" type="index" width="50" align="center" :index="indexMethod" fixed="left"/>
|
||||
<el-table-column label="项目名称" align="center" prop="xmmc" min-width="180"/>
|
||||
<el-table-column label="图斑数量" align="center" prop="nums"/>
|
||||
<el-table-column label="已下发" align="center" prop="zjyxf"/>
|
||||
<el-table-column label="未下发" align="center" prop="zjwxf">
|
||||
<el-table-column label="项目类型" align="center" prop="xmmc" min-width="180"
|
||||
v-if="getVisibleByLabel('项目类型')"/>
|
||||
<el-table-column label="图斑数量" align="center" prop="nums" v-if="getVisibleByLabel('图斑数量')"/>
|
||||
<el-table-column label="已下发" align="center" prop="zjyxf" v-if="getVisibleByLabel('已下发')"/>
|
||||
<el-table-column label="未下发" align="center" prop="zjwxf" v-if="getVisibleByLabel('未下发')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.nums - scope.row.zjyxf }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="已指派" align="center" prop="xzyxf"/>
|
||||
<el-table-column label="未指派" align="center" prop="xzwxf">
|
||||
<el-table-column label="已指派" align="center" prop="xzyxf" v-if="getVisibleByLabel('已指派')"/>
|
||||
<el-table-column label="未指派" align="center" prop="xzwxf" v-if="getVisibleByLabel('未指派')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.nums - scope.row.xzyxf }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="已巡查" align="center" prop="yxc"/>
|
||||
<el-table-column label="未巡查" align="center" prop="wxc">
|
||||
<el-table-column label="已巡查" align="center" prop="yxc" v-if="getVisibleByLabel('已巡查')"/>
|
||||
<el-table-column label="未巡查" align="center" prop="wxc" v-if="getVisibleByLabel('未巡查')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.nums - scope.row.yxc }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" min-width="120">
|
||||
<el-table-column label="导入时间" align="center" prop="drsj" min-width="120" v-if="getVisibleByLabel('导入时间')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
@ -163,7 +174,7 @@
|
||||
icon="el-icon-edit"
|
||||
@click="editXmmc(scope.row.xmmc)"
|
||||
v-if="showImport || showXmmcDistribute"
|
||||
>修改名称
|
||||
>修改类型
|
||||
</el-button>
|
||||
</div>
|
||||
<!-- <el-button-->
|
||||
@ -197,12 +208,12 @@
|
||||
|
||||
|
||||
<!-- 添加或修改任务对话框 -->
|
||||
<el-dialog title="修改项目名称" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-dialog title="修改项目类型" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="125px">
|
||||
<el-form-item label="项目名称" prop="xmmc">
|
||||
<el-input type="textarea" v-model="form.xmmc" placeholder="请输入项目名称"/>
|
||||
<el-form-item label="项目类型" prop="xmmc">
|
||||
<el-input type="textarea" v-model="form.xmmc" placeholder="请输入项目类型"/>
|
||||
</el-form-item>
|
||||
<span style="color: red;justify-content: center">提示: 请谨慎修改项目名称!</span>
|
||||
<span style="color: red;justify-content: center">提示: 请谨慎修改项目类型!</span>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
@ -259,6 +270,19 @@ export default {
|
||||
xmmc: null,
|
||||
},
|
||||
rules: {},
|
||||
// 列信息
|
||||
columns: [
|
||||
{label: `项目类型`, visible: true},
|
||||
{label: `图斑数量`, visible: true},
|
||||
{label: `已下发`, visible: true},
|
||||
{label: `未下发`, visible: true},
|
||||
{label: `已指派`, visible: true},
|
||||
{label: `未指派`, visible: true},
|
||||
{label: `已巡查`, visible: true},
|
||||
{label: `未巡查`, visible: true},
|
||||
{label: `导入时间`, visible: true}
|
||||
],
|
||||
scrollTop: 0
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@ -281,13 +305,66 @@ export default {
|
||||
immediate: true,
|
||||
deep: true // 为true,表示深度监听,这时候就能监测到a值变化
|
||||
},
|
||||
columns: {
|
||||
handler() {
|
||||
this.$nextTick(() => {
|
||||
this.reTableWrap();
|
||||
});
|
||||
},
|
||||
deep: true,
|
||||
immediate: true
|
||||
},
|
||||
// 监听数据变化,如果数据有更新,则重置滚动条
|
||||
'xmmcQueryParams.pageNum': {
|
||||
handler() {
|
||||
this.scrollTop = 0
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getTaskXmmcList();
|
||||
this.isFirstLoad = false; // 设置标志变量
|
||||
|
||||
},
|
||||
mounted() {
|
||||
// 监听滚动条的位置
|
||||
this.$refs.table.bodyWrapper.addEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
)
|
||||
},
|
||||
beforeDestroy() {
|
||||
// 移除监听器
|
||||
this.$refs.table.bodyWrapper.removeEventListener(
|
||||
'scroll',
|
||||
this.handleScroll,
|
||||
false
|
||||
);
|
||||
},
|
||||
// 被 keep-alive 缓存的组件激活时调用
|
||||
activated() {
|
||||
this.$nextTick(() => {
|
||||
setTimeout(() => {
|
||||
// 设置滚动条的位置
|
||||
this.$refs.table.bodyWrapper.scrollTop = this.scrollTop
|
||||
}, 100) // 需要设置延迟,否则无效
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
handleScroll(event) {
|
||||
this.scrollTop = event.target.scrollTop;
|
||||
},
|
||||
reTableWrap() {
|
||||
if (this.$refs.table && this.$refs.table.doLayout) {
|
||||
this.$refs.table.doLayout();
|
||||
}
|
||||
},
|
||||
getVisibleByLabel(label) {
|
||||
const column = this.columns.find(col => col.label === label);
|
||||
return column ? column.visible : null;
|
||||
},
|
||||
getTaskXmmcList() {
|
||||
this.loading = true;
|
||||
const path = this.$route.path
|
||||
@ -337,7 +414,7 @@ export default {
|
||||
handleXmmcDistribute(row) {
|
||||
const xmmcs = row.xmmc || this.xmmcs;
|
||||
if (!xmmcs || xmmcs.indexOf('') !== -1) {
|
||||
this.$modal.msgError("存在项目名称为空的选项,无法按项目名称下发任务");
|
||||
this.$modal.msgError("存在项目类型为空的选项,无法按项目类型下发任务");
|
||||
return;
|
||||
}
|
||||
this.$modal.confirm('是否确认下发项目中的任务?').then(function () {
|
||||
@ -367,13 +444,18 @@ export default {
|
||||
handleExportByXmmcs(row) {
|
||||
const xmmcs = row.xmmc || this.xmmcs;
|
||||
if (!xmmcs || xmmcs.indexOf('') !== -1) {
|
||||
this.$modal.msgError("存在项目名称为空的选项,无法按项目名称导出");
|
||||
this.$modal.msgError("存在项目类型为空的选项,无法按项目类型导出");
|
||||
return;
|
||||
}
|
||||
this.download(`/cxxm/zttb/task/exportByXmmcs/${xmmcs}`, {
|
||||
...this.queryParams
|
||||
}, `自提图斑_${new Date().getFullYear()}-${new Date().getMonth() + 1}-${new Date().getDate()}.xlsx`)
|
||||
},
|
||||
handleExportAll() {
|
||||
this.download(`/cxxm/zttb/task/exportAll`, {
|
||||
...this.queryParams
|
||||
}, `自提图斑_全部数据_${new Date().getFullYear()}-${new Date().getMonth() + 1}-${new Date().getDate()}.xlsx`)
|
||||
},
|
||||
editXmmc(xmmc) {
|
||||
this.oldXmmc = xmmc;
|
||||
this.form.xmmc = xmmc;
|
||||
@ -395,7 +477,7 @@ export default {
|
||||
submitForm() {
|
||||
if (this.form.xmmc != null && this.form.xmmc.trim() !== '') {
|
||||
if (this.form.xmmc === this.oldXmmc) {
|
||||
this.$modal.msgWarning("新项目名称与原项目名称一致,无需修改");
|
||||
this.$modal.msgWarning("新项目类型与原项目类型一致,无需修改");
|
||||
this.open = false;
|
||||
return;
|
||||
}
|
||||
@ -405,7 +487,7 @@ export default {
|
||||
this.getTaskXmmcList();
|
||||
})
|
||||
} else {
|
||||
this.$modal.msgError("项目名称不能为空");
|
||||
this.$modal.msgError("项目类型不能为空");
|
||||
}
|
||||
},
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user