1,添加列表项显隐功能;2,添加导出全部功能;3,添加列表页滚动条位置记录;4,列表大小自适应;5,持续监管与自提图斑按项目类型划分

This commit is contained in:
ZhiJian 2024-11-16 11:05:55 +08:00
parent 5a0c688856
commit 53fa8a059c
23 changed files with 1652 additions and 379 deletions

View File

@ -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<>();

View File

@ -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);
}
/**
* 导出任务列表
*/

View File

@ -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) {

View File

@ -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;
/**

View File

@ -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;
/**

View File

@ -19,7 +19,8 @@
</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>
@ -182,7 +183,8 @@ 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()
})
@ -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;

View File

@ -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">
@ -205,7 +207,6 @@
</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: {},
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() {
@ -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;
},
}

View File

@ -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() {

View File

@ -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();
});
},
//

View File

@ -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();
});
},
//

View File

@ -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>
@ -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 // truea
},
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;

View File

@ -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 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">
@ -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: {},
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;
},
}

View File

@ -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>
@ -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() {

View File

@ -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>

View File

@ -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();
});
},
//

View File

@ -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();
});
},
//

View File

@ -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>
@ -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 // truea
},
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;
}
},
@ -328,7 +407,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 () {
@ -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("项目类型不能为空");
}
},
}

View File

@ -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;
},
}

View File

@ -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() {

View File

@ -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>

View File

@ -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;

View File

@ -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;

View File

@ -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 // truea
},
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("项目类型不能为空");
}
},
}