final version
This commit is contained in:
parent
c47f75d166
commit
d3089a9c4c
@ -16,11 +16,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
import com.ruoyi.cxxm.domain.*;
|
import com.ruoyi.cxxm.domain.*;
|
||||||
import com.ruoyi.cxxm.domain.dto.TaskCheckSubmit;
|
import com.ruoyi.cxxm.domain.dto.TaskCheckSubmit;
|
||||||
import com.ruoyi.cxxm.domain.vo.TaskCheckSubmitVo;
|
import com.ruoyi.cxxm.domain.vo.TaskCheckSubmitVo;
|
||||||
import com.ruoyi.cxxm.domain.vo.app.AppTaskCheckListItem;
|
import com.ruoyi.cxxm.domain.vo.app.AppTaskCheckListItem;
|
||||||
|
import com.ruoyi.cxxm.mapper.TaskCheckMapper;
|
||||||
import com.ruoyi.cxxm.service.*;
|
import com.ruoyi.cxxm.service.*;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
@ -52,6 +54,8 @@ public class TaskCheckController extends BaseController {
|
|||||||
private ITbxxService tbxxService;
|
private ITbxxService tbxxService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ITaskCheckAuditService taskCheckAuditService;
|
private ITaskCheckAuditService taskCheckAuditService;
|
||||||
|
@Autowired
|
||||||
|
private TaskCheckMapper taskCheckMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询任务巡查记录列表
|
* 查询任务巡查记录列表
|
||||||
@ -140,7 +144,7 @@ public class TaskCheckController extends BaseController {
|
|||||||
/**
|
/**
|
||||||
* 查询用户提交的填报记录列表
|
* 查询用户提交的填报记录列表
|
||||||
*
|
*
|
||||||
* @param taskCheck 包含查询条件的任务检查实体
|
* @param taskCheck 包含查询条件的任务检查实体
|
||||||
* @param pageDomain 分页参数
|
* @param pageDomain 分页参数
|
||||||
* @return TableDataInfo 包含分页数据的表格信息
|
* @return TableDataInfo 包含分页数据的表格信息
|
||||||
*/
|
*/
|
||||||
@ -149,13 +153,21 @@ public class TaskCheckController extends BaseController {
|
|||||||
public TableDataInfo submittedList(TaskCheck taskCheck, PageDomain pageDomain) {
|
public TableDataInfo submittedList(TaskCheck taskCheck, PageDomain pageDomain) {
|
||||||
// 初始化分页信息
|
// 初始化分页信息
|
||||||
Page<TaskCheck> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
Page<TaskCheck> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
||||||
// 构建查询条件,查询当前用户提交的记录,并按记录ID倒序排列
|
|
||||||
LambdaQueryWrapper<TaskCheck> queryWrapper = new LambdaQueryWrapper<>();
|
|
||||||
queryWrapper.eq(TaskCheck::getXcryId, SecurityUtils.getUserId());
|
|
||||||
queryWrapper.orderByDesc(TaskCheck::getId);
|
|
||||||
// 执行查询
|
|
||||||
Page<TaskCheck> taskCheckPage = taskCheckService.page(page, queryWrapper);
|
|
||||||
|
|
||||||
|
// 构建查询条件,查询当前用户提交的记录,并按记录ID倒序排列
|
||||||
|
// LambdaQueryWrapper<TaskCheck> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
// queryWrapper.eq(TaskCheck::getXcryId, SecurityUtils.getUserId());
|
||||||
|
// queryWrapper.orderByDesc(TaskCheck::getId);
|
||||||
|
// 联表查询task表添加rwlx条件
|
||||||
|
MPJLambdaWrapper<TaskCheck> tcMPJQueryWrapper = new MPJLambdaWrapper<TaskCheck>()
|
||||||
|
.selectAll(TaskCheck.class)
|
||||||
|
.select(Task::getRwlx)
|
||||||
|
.leftJoin(Task.class, Task::getId,TaskCheck::getTaskId)
|
||||||
|
.eq(TaskCheck::getXcryId, SecurityUtils.getUserId())
|
||||||
|
.eq(Objects.nonNull(taskCheck.getRwlx()), Task::getRwlx, taskCheck.getRwlx());
|
||||||
|
// 执行查询
|
||||||
|
// Page<TaskCheck> taskCheckPage = taskCheckService.page(page, queryWrapper);
|
||||||
|
Page<TaskCheck> taskCheckPage = taskCheckMapper.selectJoinPage(page, TaskCheck.class, tcMPJQueryWrapper);
|
||||||
// 遍历查询结果,转换为前端需要的格式
|
// 遍历查询结果,转换为前端需要的格式
|
||||||
ArrayList<AppTaskCheckListItem> tcList = new ArrayList<>();
|
ArrayList<AppTaskCheckListItem> tcList = new ArrayList<>();
|
||||||
for (TaskCheck item : taskCheckPage.getRecords()) {
|
for (TaskCheck item : taskCheckPage.getRecords()) {
|
||||||
@ -188,7 +200,7 @@ public class TaskCheckController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 返回处理后的分页数据
|
// 返回处理后的分页数据
|
||||||
return getDataTableByPageNewList(taskCheckPage,tcList);
|
return getDataTableByPageNewList(taskCheckPage, tcList);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ import com.ruoyi.common.core.controller.BaseController;
|
|||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
import com.ruoyi.cxxm.domain.vo.app.AppTypeVo;
|
import com.ruoyi.cxxm.domain.vo.app.AppTypeVo;
|
||||||
import com.ruoyi.cxxm.mapper.AppTypeMapper;
|
import com.ruoyi.cxxm.mapper.AppTypeMapper;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
@ -12,6 +13,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/cxxm/app/type")
|
@RequestMapping("/cxxm/app/type")
|
||||||
public class AppTypeController extends BaseController {
|
public class AppTypeController extends BaseController {
|
||||||
@ -30,6 +32,7 @@ public class AppTypeController extends BaseController {
|
|||||||
// 构建查询条件,查询字典类型为"task_lx"的任务类型信息
|
// 构建查询条件,查询字典类型为"task_lx"的任务类型信息
|
||||||
LambdaQueryWrapper<AppTypeVo> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<AppTypeVo> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.eq(AppTypeVo::getDictType,"task_lx");
|
queryWrapper.eq(AppTypeVo::getDictType,"task_lx");
|
||||||
|
queryWrapper.orderByAsc(AppTypeVo::getSort);
|
||||||
// 根据查询条件查询任务类型列表
|
// 根据查询条件查询任务类型列表
|
||||||
List<AppTypeVo> appTypeVos = appTypeMapper.selectList(queryWrapper);
|
List<AppTypeVo> appTypeVos = appTypeMapper.selectList(queryWrapper);
|
||||||
// 将查询结果转换为数据表格格式返回
|
// 将查询结果转换为数据表格格式返回
|
||||||
|
@ -1,22 +1,25 @@
|
|||||||
package com.ruoyi.cxxm.controller.app;
|
package com.ruoyi.cxxm.controller.app;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.ruoyi.common.config.RuoYiConfig;
|
||||||
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.constant.Constants;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.core.page.PageDomain;
|
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.text.StrFormatter;
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.ruoyi.common.utils.file.FileUtils;
|
||||||
import com.ruoyi.cxxm.domain.AppVersion;
|
import com.ruoyi.cxxm.domain.AppVersion;
|
||||||
import com.ruoyi.cxxm.service.IAppVersionService;
|
import com.ruoyi.cxxm.service.IAppVersionService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.core.env.Environment;
|
||||||
|
import org.springframework.http.MediaType;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.util.List;
|
import java.net.UnknownHostException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* app版本Controller
|
* app版本Controller
|
||||||
@ -24,45 +27,93 @@ import java.util.List;
|
|||||||
* @author jian
|
* @author jian
|
||||||
* @date 2024-04-11
|
* @date 2024-04-11
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/cxxm/version")
|
@RequestMapping("/cxxm/version")
|
||||||
public class AppVersionController extends BaseController
|
public class AppVersionController extends BaseController {
|
||||||
{
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IAppVersionService appVersionService;
|
private IAppVersionService appVersionService;
|
||||||
|
@Autowired
|
||||||
|
private Environment environment;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 检查是否有新版本可用
|
* 检查是否有新版本可用
|
||||||
*
|
*
|
||||||
* @param currentVersion 当前应用的版本号,格式为X.Y.Z(数字表示)
|
* @param currentVersion 当前应用的版本号,格式为X.Y.Z(数字表示)
|
||||||
* @return 返回新版本的信息或错误消息。如果成功查询到新版本,则返回新版本的信息;如果查询不到新版本或出现错误,则返回错误消息。
|
* @return 返回新版本的信息或错误消息。如果成功查询到新版本,则返回新版本的信息;如果查询不到新版本或出现错误,则返回错误消息。
|
||||||
*/
|
*/
|
||||||
@GetMapping("/check")
|
@GetMapping("/check")
|
||||||
public AjaxResult check(String currentVersion) {
|
public AjaxResult check(String currentVersion) {
|
||||||
// 验证传入的当前版本号是否为空或格式不正确
|
// 验证传入的当前版本号是否为空或格式不正确
|
||||||
if (currentVersion == null || currentVersion.isEmpty() || !currentVersion.matches("\\d+\\.\\d+\\.\\d+")) {
|
if (currentVersion == null || currentVersion.isEmpty() || !currentVersion.matches("\\d+\\.\\d+\\.\\d+")) {
|
||||||
return AjaxResult.error("当前版本格式不正确或不能为空");
|
return AjaxResult.error("当前版本格式不正确或不能为空");
|
||||||
|
}
|
||||||
|
// 构建查询条件,查询比当前版本号大的且标记为需要更新的最新版本
|
||||||
|
LambdaQueryWrapper<AppVersion> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.gt(AppVersion::getNewVersion, currentVersion);
|
||||||
|
queryWrapper.eq(AppVersion::getIsUpdate, "Y");
|
||||||
|
queryWrapper.orderByDesc(AppVersion::getId);
|
||||||
|
queryWrapper.last("limit 1");
|
||||||
|
try {
|
||||||
|
AppVersion appVersion = appVersionService.getOne(queryWrapper);
|
||||||
|
// 判断是否查询到新版本,若查询到则返回新版本信息,否则返回当前已是最新版本的消息
|
||||||
|
if (appVersion != null) {
|
||||||
|
return AjaxResult.success(appVersion);
|
||||||
|
} else {
|
||||||
|
return AjaxResult.success("当前已经是最新版本");
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
// 捕获查询过程中的异常,返回查询失败的消息
|
||||||
|
return AjaxResult.error("查询最新版本信息失败,请稍后重试");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// 构建查询条件,查询比当前版本号大的且标记为需要更新的最新版本
|
|
||||||
LambdaQueryWrapper<AppVersion> queryWrapper = new LambdaQueryWrapper<>();
|
@GetMapping("/checkLastVersion")
|
||||||
queryWrapper.gt(AppVersion::getNewVersion, currentVersion);
|
public String checkLastVersion() throws UnknownHostException {
|
||||||
queryWrapper.eq(AppVersion::getIsUpdate, "Y");
|
// 构建查询条件,查询比当前版本号大的且标记为需要更新的最新版本
|
||||||
queryWrapper.orderByDesc(AppVersion::getId);
|
LambdaQueryWrapper<AppVersion> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.last("limit 1");
|
queryWrapper.eq(AppVersion::getIsUpdate, "Y");
|
||||||
try {
|
queryWrapper.orderByDesc(AppVersion::getId);
|
||||||
|
queryWrapper.last("limit 1");
|
||||||
AppVersion appVersion = appVersionService.getOne(queryWrapper);
|
AppVersion appVersion = appVersionService.getOne(queryWrapper);
|
||||||
// 判断是否查询到新版本,若查询到则返回新版本信息,否则返回当前已是最新版本的消息
|
// 判断是否查询到新版本,若查询到则返回新版本信息,否则返回当前已是最新版本的消息
|
||||||
if (appVersion != null) {
|
return StrFormatter.format("http://116.63.157.3:8069/prod-api{}", appVersion.getApkUrl());
|
||||||
return AjaxResult.success(appVersion);
|
|
||||||
} else {
|
|
||||||
return AjaxResult.success("当前已经是最新版本");
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
// 捕获查询过程中的异常,返回查询失败的消息
|
|
||||||
return AjaxResult.error("查询最新版本信息失败,请稍后重试");
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
@GetMapping("/checkLastVersion2")
|
||||||
|
public void checkLastVersion2(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||||
|
// 构建查询条件,查询比当前版本号大的且标记为需要更新的最新版本
|
||||||
|
LambdaQueryWrapper<AppVersion> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.eq(AppVersion::getIsUpdate, "Y");
|
||||||
|
queryWrapper.orderByDesc(AppVersion::getId);
|
||||||
|
queryWrapper.last("limit 1");
|
||||||
|
AppVersion appVersion = appVersionService.getOne(queryWrapper);
|
||||||
|
resourceDownload(appVersion.getApkUrl(), request, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void resourceDownload(String resource, HttpServletRequest request, HttpServletResponse response)
|
||||||
|
throws Exception {
|
||||||
|
try {
|
||||||
|
if (!FileUtils.checkAllowDownload(resource)) {
|
||||||
|
throw new Exception(StringUtils.format("资源文件({})非法,不允许下载。 ", resource));
|
||||||
|
}
|
||||||
|
// 本地资源路径
|
||||||
|
String localPath = RuoYiConfig.getProfile();
|
||||||
|
// 数据库资源地址
|
||||||
|
String downloadPath = localPath + StringUtils.substringAfter(resource, Constants.RESOURCE_PREFIX);
|
||||||
|
// 下载名称
|
||||||
|
String downloadName = StringUtils.substringAfterLast(downloadPath, "/");
|
||||||
|
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
|
||||||
|
FileUtils.setAttachmentResponseHeader(response, downloadName);
|
||||||
|
FileUtils.writeBytes(downloadPath, response.getOutputStream());
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("下载文件失败", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,7 +2,9 @@ package com.ruoyi.cxxm.domain;
|
|||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
import com.ruoyi.common.annotation.Excel;
|
import com.ruoyi.common.annotation.Excel;
|
||||||
|
|
||||||
|
|
||||||
@ -83,5 +85,11 @@ public class TaskCheck extends BaseEntity {
|
|||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@Excel(name = "巡查时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
@Excel(name = "巡查时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||||
private Date xcsj;
|
private Date xcsj;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务类型
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String rwlx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.ruoyi.cxxm.mapper;
|
package com.ruoyi.cxxm.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.github.yulichang.base.MPJBaseMapper;
|
||||||
import com.ruoyi.cxxm.domain.TaskCheck;
|
import com.ruoyi.cxxm.domain.TaskCheck;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -9,7 +10,7 @@ import com.ruoyi.cxxm.domain.TaskCheck;
|
|||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
* @date 2024-03-28
|
* @date 2024-03-28
|
||||||
*/
|
*/
|
||||||
public interface TaskCheckMapper extends BaseMapper<TaskCheck> {
|
public interface TaskCheckMapper extends MPJBaseMapper<TaskCheck> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ package com.ruoyi.cxxm.mapper;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.github.yulichang.base.MPJBaseMapper;
|
||||||
import com.ruoyi.common.annotation.DataScope;
|
import com.ruoyi.common.annotation.DataScope;
|
||||||
import com.ruoyi.cxxm.domain.Task;
|
import com.ruoyi.cxxm.domain.Task;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
@ -15,7 +16,7 @@ import java.util.List;
|
|||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
* @date 2024-03-28
|
* @date 2024-03-28
|
||||||
*/
|
*/
|
||||||
public interface TaskMapper extends BaseMapper<Task> {
|
public interface TaskMapper extends MPJBaseMapper<Task> {
|
||||||
/**
|
/**
|
||||||
* 查询任务列表--保留数据权限
|
* 查询任务列表--保留数据权限
|
||||||
* @param queryWrapper
|
* @param queryWrapper
|
||||||
|
@ -340,6 +340,9 @@ public class TaskCheckServiceImpl extends ServiceImpl<TaskCheckMapper, TaskCheck
|
|||||||
TaskCheckSubmitVo taskCheckSubmitVo = new TaskCheckSubmitVo();
|
TaskCheckSubmitVo taskCheckSubmitVo = new TaskCheckSubmitVo();
|
||||||
// 通过ID获取任务检查信息,并将其属性复制到任务检查提交Vo中
|
// 通过ID获取任务检查信息,并将其属性复制到任务检查提交Vo中
|
||||||
TaskCheck taskCheck = taskCheckService.getById(tcId);
|
TaskCheck taskCheck = taskCheckService.getById(tcId);
|
||||||
|
if(Objects.isNull(taskCheck)){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
BeanUtils.copyProperties(taskCheck, taskCheckSubmitVo);
|
BeanUtils.copyProperties(taskCheck, taskCheckSubmitVo);
|
||||||
|
|
||||||
// 判断当前用户是否为任务创建者
|
// 判断当前用户是否为任务创建者
|
||||||
@ -431,9 +434,9 @@ public class TaskCheckServiceImpl extends ServiceImpl<TaskCheckMapper, TaskCheck
|
|||||||
/**
|
/**
|
||||||
* 获取填报统计信息
|
* 获取填报统计信息
|
||||||
*
|
*
|
||||||
* @param task 任务信息
|
* @param task 任务信息
|
||||||
* @param taskCheck 任务检查信息
|
* @param taskCheck 任务检查信息
|
||||||
* @param taskCheckAudit 任务检查审核信息
|
* @param taskCheckAudit 任务检查审核信息
|
||||||
* @param taskCheckStatistics 任务检查统计信息
|
* @param taskCheckStatistics 任务检查统计信息
|
||||||
* @return 返回填充好的任务检查统计信息
|
* @return 返回填充好的任务检查统计信息
|
||||||
*/
|
*/
|
||||||
@ -472,7 +475,6 @@ public class TaskCheckServiceImpl extends ServiceImpl<TaskCheckMapper, TaskCheck
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 上报任务巡查信息。
|
* 上报任务巡查信息。
|
||||||
* 对指定的任务巡查记录进行上报处理,更新任务巡查表和任务表的相关信息。
|
* 对指定的任务巡查记录进行上报处理,更新任务巡查表和任务表的相关信息。
|
||||||
@ -487,9 +489,8 @@ public class TaskCheckServiceImpl extends ServiceImpl<TaskCheckMapper, TaskCheck
|
|||||||
TaskCheck taskCheck = taskCheckService.getById(tcId);
|
TaskCheck taskCheck = taskCheckService.getById(tcId);
|
||||||
// 如果该任务已经上报,则直接返回true
|
// 如果该任务已经上报,则直接返回true
|
||||||
if (Objects.equals(taskCheck.getSfsb(), SFSB.YSB.getValue())) {
|
if (Objects.equals(taskCheck.getSfsb(), SFSB.YSB.getValue())) {
|
||||||
return true;
|
throw new RuntimeException("该任务已经上报,不能重复上报!");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新任务巡查表,标记为已上报
|
// 更新任务巡查表,标记为已上报
|
||||||
taskCheck.setId(tcId);
|
taskCheck.setId(tcId);
|
||||||
taskCheck.setSfsb(SFSB.YSB.getValue());
|
taskCheck.setSfsb(SFSB.YSB.getValue());
|
||||||
@ -536,15 +537,18 @@ public class TaskCheckServiceImpl extends ServiceImpl<TaskCheckMapper, TaskCheck
|
|||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public boolean cancelReportTaskCheckInfo(Long tcId) {
|
public boolean cancelReportTaskCheckInfo(Long tcId) {
|
||||||
// 判断任务审核情况
|
|
||||||
if (Objects.equals(taskCheckAuditService.getById(tcId).getShjg(), SHJG.TRUE.getValue())) {
|
|
||||||
throw new RuntimeException("该任务已审核,不能取消上报!");
|
|
||||||
}
|
|
||||||
// 根据ID获取任务检查信息
|
// 根据ID获取任务检查信息
|
||||||
TaskCheck taskCheck = taskCheckService.getById(tcId);
|
TaskCheck taskCheck = taskCheckService.getById(tcId);
|
||||||
// 如果任务检查状态为未上报,则直接返回true
|
// 如果任务检查状态为未上报,则直接返回true
|
||||||
if (Objects.equals(taskCheck.getSfsb(), SFSB.WSB.getValue())) {
|
if (Objects.equals(taskCheck.getSfsb(), SFSB.WSB.getValue())) {
|
||||||
return true;
|
throw new RuntimeException("该任务未上报,无法取消上报!");
|
||||||
|
}
|
||||||
|
// 判断任务审核情况
|
||||||
|
TaskCheckAudit tcCheckAudit = taskCheckAuditService.getOne(new LambdaQueryWrapper<TaskCheckAudit>().eq(TaskCheckAudit::getTcId, tcId));
|
||||||
|
if (Objects.nonNull(tcCheckAudit)) {
|
||||||
|
if (Objects.equals(tcCheckAudit.getShjg(), SHJG.TRUE.getValue()) || Objects.equals(tcCheckAudit.getShjg(), SHJG.FALSE.getValue())) {
|
||||||
|
throw new RuntimeException("该任务已审核,无法取消上报!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// 更新任务检查信息为已上报
|
// 更新任务检查信息为已上报
|
||||||
taskCheck.setId(tcId);
|
taskCheck.setId(tcId);
|
||||||
@ -581,7 +585,6 @@ public class TaskCheckServiceImpl extends ServiceImpl<TaskCheckMapper, TaskCheck
|
|||||||
taskMapper.setLastTcInfoFieldToNullById(taskCheck.getTaskId());
|
taskMapper.setLastTcInfoFieldToNullById(taskCheck.getTaskId());
|
||||||
}
|
}
|
||||||
taskService.saveOrUpdate(task);
|
taskService.saveOrUpdate(task);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ spring:
|
|||||||
# 数据库索引
|
# 数据库索引
|
||||||
database: 0
|
database: 0
|
||||||
# 密码
|
# 密码
|
||||||
password:
|
password: 123456
|
||||||
# 连接超时时间
|
# 连接超时时间
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
lettuce:
|
lettuce:
|
||||||
@ -95,7 +95,7 @@ token:
|
|||||||
# 令牌密钥
|
# 令牌密钥
|
||||||
secret: abcdefghijklmnopqrstuvwxyz
|
secret: abcdefghijklmnopqrstuvwxyz
|
||||||
# 令牌有效期(默认30分钟)
|
# 令牌有效期(默认30分钟)
|
||||||
expireTime: 30
|
expireTime: 4320
|
||||||
|
|
||||||
# MyBatis Plus配置
|
# MyBatis Plus配置
|
||||||
mybatis-plus:
|
mybatis-plus:
|
||||||
|
@ -10,10 +10,10 @@ import com.ruoyi.common.utils.StringUtils;
|
|||||||
public class PageDomain
|
public class PageDomain
|
||||||
{
|
{
|
||||||
/** 当前记录起始索引 */
|
/** 当前记录起始索引 */
|
||||||
private Integer pageNum;
|
private Integer pageNum = 1;
|
||||||
|
|
||||||
/** 每页显示记录数 */
|
/** 每页显示记录数 */
|
||||||
private Integer pageSize;
|
private Integer pageSize = 10;
|
||||||
|
|
||||||
/** 排序列 */
|
/** 排序列 */
|
||||||
private String orderByColumn;
|
private String orderByColumn;
|
||||||
|
@ -115,7 +115,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
|
|||||||
// 静态资源,可匿名访问
|
// 静态资源,可匿名访问
|
||||||
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
|
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
|
||||||
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
|
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
|
||||||
.antMatchers("/cxxm/version/check").permitAll()
|
.antMatchers("/cxxm/version/check**").permitAll()
|
||||||
// 除上面外的所有请求全部需要鉴权认证
|
// 除上面外的所有请求全部需要鉴权认证
|
||||||
.anyRequest().authenticated()
|
.anyRequest().authenticated()
|
||||||
.and()
|
.and()
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# 页面标题
|
# 页面标题
|
||||||
VUE_APP_TITLE = 楚雄外业调查管理系统
|
VUE_APP_TITLE = 楚雄州自然资源综合执法监管外业工作辅助平台V1.0
|
||||||
|
|
||||||
# 开发环境配置
|
# 开发环境配置
|
||||||
ENV = 'development'
|
ENV = 'development'
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# 页面标题
|
# 页面标题
|
||||||
VUE_APP_TITLE = 楚雄外业调查管理系统
|
VUE_APP_TITLE = 楚雄州自然资源综合执法监管外业工作辅助平台V1.0
|
||||||
|
|
||||||
# 生产环境配置
|
# 生产环境配置
|
||||||
ENV = 'production'
|
ENV = 'production'
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 235 KiB |
@ -3,11 +3,11 @@
|
|||||||
<transition name="sidebarLogoFade">
|
<transition name="sidebarLogoFade">
|
||||||
<router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
|
<router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
|
||||||
<img v-if="logo" :src="logo" class="sidebar-logo" />
|
<img v-if="logo" :src="logo" class="sidebar-logo" />
|
||||||
<h1 v-else class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1>
|
<!-- <h1 class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1>-->
|
||||||
</router-link>
|
</router-link>
|
||||||
<router-link v-else key="expand" class="sidebar-logo-link" to="/">
|
<router-link v-else key="expand" class="sidebar-logo-link" to="/">
|
||||||
<img v-if="logo" :src="logo" class="sidebar-logo" />
|
<img v-if="logo" :src="logo" class="sidebar-logo" />
|
||||||
<h1 class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1>
|
<!-- <h1 class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1>-->
|
||||||
</router-link>
|
</router-link>
|
||||||
</transition>
|
</transition>
|
||||||
</div>
|
</div>
|
||||||
@ -78,7 +78,7 @@ export default {
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
line-height: 50px;
|
line-height: 50px;
|
||||||
font-size: 14px;
|
font-size: 15px;
|
||||||
font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
|
font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
@ -27,10 +27,10 @@
|
|||||||
<el-descriptions-item label="未整改">
|
<el-descriptions-item label="未整改">
|
||||||
<el-tag type="danger" effect="dark">{{ form.taskCheckStatistics.wzgcs }}次</el-tag>
|
<el-tag type="danger" effect="dark">{{ form.taskCheckStatistics.wzgcs }}次</el-tag>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="未整改到位">
|
<el-descriptions-item label="整改未到位">
|
||||||
<el-tag type="warning" effect="dark">{{ form.taskCheckStatistics.wzgdwcs }}次</el-tag>
|
<el-tag type="warning" effect="dark">{{ form.taskCheckStatistics.wzgdwcs }}次</el-tag>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="已整改">
|
<el-descriptions-item label="整改到位">
|
||||||
<el-tag type="success" effect="dark">{{ form.taskCheckStatistics.yzgcs }}次</el-tag>
|
<el-tag type="success" effect="dark">{{ form.taskCheckStatistics.yzgcs }}次</el-tag>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="审核不通过">
|
<el-descriptions-item label="审核不通过">
|
||||||
|
@ -76,16 +76,16 @@
|
|||||||
<dict-tag :options="dict.type.task_lx" :value="scope.row.rwlx"/>
|
<dict-tag :options="dict.type.task_lx" :value="scope.row.rwlx"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="图斑所在县" align="center" prop="tbszx"/>
|
<el-table-column label="图斑所在县" align="center" prop="tbszx" min-width="90"/>
|
||||||
<!-- <el-table-column label="下发时间" align="center" prop="xfsj" width="180">-->
|
<!-- <el-table-column label="下发时间" align="center" prop="xfsj" width="180">-->
|
||||||
<!-- <template slot-scope="scope">-->
|
<!-- <template slot-scope="scope">-->
|
||||||
<!-- <span>{{ parseTime(scope.row.xfsj, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>-->
|
<!-- <span>{{ parseTime(scope.row.xfsj, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>-->
|
||||||
<!-- </template>-->
|
<!-- </template>-->
|
||||||
<!-- </el-table-column>-->
|
<!-- </el-table-column>-->
|
||||||
<el-table-column label="需巡查次数" align="center" prop="xxccs"/>
|
<el-table-column label="需巡查次数" align="center" prop="xxccs" min-width="90"/>
|
||||||
<el-table-column label="已巡查次数" align="center" prop="yxccs"/>
|
<el-table-column label="已巡查次数" align="center" prop="yxccs" min-width="90"/>
|
||||||
<el-table-column label="州巡查次数" align="center" prop="zjxccs"/>
|
<el-table-column label="州巡查次数" align="center" prop="zjxccs" min-width="90"/>
|
||||||
<el-table-column label="县巡查次数" align="center" prop="xjxccs"/>
|
<el-table-column label="县巡查次数" align="center" prop="xjxccs" min-width="90"/>
|
||||||
<el-table-column label="最后巡查时间" align="center" prop="xcsj" width="150">
|
<el-table-column label="最后巡查时间" align="center" prop="xcsj" width="150">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span>{{ parseTime(scope.row.xcsj, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
<span>{{ parseTime(scope.row.xcsj, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
||||||
|
@ -203,7 +203,13 @@
|
|||||||
<TianDiTuMap2 style="width: 96%;height:500px" v-bind:mapInfo="this.mapInfo"></TianDiTuMap2>
|
<TianDiTuMap2 style="width: 96%;height:500px" v-bind:mapInfo="this.mapInfo"></TianDiTuMap2>
|
||||||
</div>
|
</div>
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
<el-collapse-item title="任务信息" name="2">
|
<el-collapse-item title="更多图斑信息" name="2">
|
||||||
|
<el-descriptions column="2" v-if="form.tbxx!=null" border :contentStyle="content_style"
|
||||||
|
:labelStyle="label_style">
|
||||||
|
<el-descriptions-item v-for="(value,key) in tbxxInfo" :label="key">{{ value }}</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
</el-collapse-item>
|
||||||
|
<el-collapse-item title="任务信息" name="3">
|
||||||
<el-descriptions column="2" border :contentStyle="content_style" :labelStyle="label_style">
|
<el-descriptions column="2" border :contentStyle="content_style" :labelStyle="label_style">
|
||||||
<el-descriptions-item label="导入人员">{{ form.createBy }}</el-descriptions-item>
|
<el-descriptions-item label="导入人员">{{ form.createBy }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="导入时间">{{
|
<el-descriptions-item label="导入时间">{{
|
||||||
@ -214,18 +220,18 @@
|
|||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="下发时间">{{ form.xfsj }}</el-descriptions-item>
|
<el-descriptions-item label="下发时间">{{ form.xfsj }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="已巡查次数">{{ form.yxccs }}</el-descriptions-item>
|
<el-descriptions-item label="已巡查次数">{{ form.yxccs }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="是否归档">{{
|
<el-descriptions-item label="任务状态">
|
||||||
this.selectDictLabel(this.dict.type.sf, form.sfgd)
|
<el-tag type="success" v-if="form.sfgd=='0'">启用</el-tag>
|
||||||
}}
|
<el-tag type="warning" v-if="form.sfgd=='1'">结束</el-tag>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
<el-collapse-item title="任务周期" name="3">
|
<el-collapse-item title="任务周期" name="4">
|
||||||
<el-form-item label="需巡查次数" prop="xxccs">
|
<el-form-item label="需巡查次数" prop="xxccs">
|
||||||
<el-input-number v-model="form.xxccs" placeholder="请输入需巡查次数" :min="1"/>
|
<el-input-number v-model="form.xxccs" placeholder="请输入需巡查次数" :min="1"/>
|
||||||
<el-tag type="info" style="margin-left: 10px">次</el-tag>
|
<el-tag type="info" style="margin-left: 10px">次</el-tag>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="巡查周期选项" prop="xczqxx" v-if="form.xxccs>1">
|
<el-form-item label="巡查周期选项" prop="xczqxx" v-if="form.xxccs>1" style="display: none">
|
||||||
<el-radio-group v-model="form.xczqxx">
|
<el-radio-group v-model="form.xczqxx">
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="dict in dict.type.task_xczqxx"
|
v-for="dict in dict.type.task_xczqxx"
|
||||||
@ -235,7 +241,7 @@
|
|||||||
</el-radio>
|
</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="巡查周期" prop="xczq" v-if="form.xxccs>1 && form.xczqxx==3">
|
<el-form-item label="巡查周期" prop="xczq" v-if="form.xxccs>1 && form.xczqxx==3" style="display: none">
|
||||||
<el-input-number v-model="form.xczq" placeholder="请输入巡查周期" :min="1"/>
|
<el-input-number v-model="form.xczq" placeholder="请输入巡查周期" :min="1"/>
|
||||||
<el-tag type="info" style="margin-left: 10px">天/次</el-tag>
|
<el-tag type="info" style="margin-left: 10px">天/次</el-tag>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -295,7 +301,7 @@ export default {
|
|||||||
// 是否显示弹出层
|
// 是否显示弹出层
|
||||||
open: false,
|
open: false,
|
||||||
// 折叠面板
|
// 折叠面板
|
||||||
activeNames: ['1', '2', '3'],
|
activeNames: ['1', '2', '3', '4'],
|
||||||
// 查询参数
|
// 查询参数
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
@ -459,7 +465,7 @@ export default {
|
|||||||
this.tbxxInfo = JSON.parse(response.data.tbxx.info);
|
this.tbxxInfo = JSON.parse(response.data.tbxx.info);
|
||||||
|
|
||||||
|
|
||||||
this.mapInfo.centerPoint = {x:response.data.x,y:response.data.y}
|
this.mapInfo.centerPoint = {x: response.data.x, y: response.data.y}
|
||||||
this.mapInfo.gis = response.data.tbxx.gis
|
this.mapInfo.gis = response.data.tbxx.gis
|
||||||
|
|
||||||
this.open = true;
|
this.open = true;
|
||||||
|
@ -96,7 +96,7 @@
|
|||||||
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
<span>{{ parseTime(scope.row.drsj, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</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="180">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
@ -185,10 +185,14 @@
|
|||||||
<div style="height:500px;margin-top: 20px">
|
<div style="height:500px;margin-top: 20px">
|
||||||
<TianDiTuMap2 style="width: 96%;height:500px" v-bind:mapInfo="this.mapInfo"></TianDiTuMap2>
|
<TianDiTuMap2 style="width: 96%;height:500px" v-bind:mapInfo="this.mapInfo"></TianDiTuMap2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
<el-collapse-item title="任务信息" name="2">
|
<el-collapse-item title="更多图斑信息" name="2">
|
||||||
|
<el-descriptions column="2" v-if="form.tbxx!=null" border :contentStyle="content_style"
|
||||||
|
:labelStyle="label_style">
|
||||||
|
<el-descriptions-item v-for="(value,key) in tbxxInfo" :label="key">{{ value }}</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
</el-collapse-item>
|
||||||
|
<el-collapse-item title="任务信息" name="3">
|
||||||
<el-descriptions column="2" border :contentStyle="content_style" :labelStyle="label_style">
|
<el-descriptions column="2" border :contentStyle="content_style" :labelStyle="label_style">
|
||||||
<el-descriptions-item label="导入人员">{{ form.createBy }}</el-descriptions-item>
|
<el-descriptions-item label="导入人员">{{ form.createBy }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="导入时间">{{
|
<el-descriptions-item label="导入时间">{{
|
||||||
@ -205,12 +209,12 @@
|
|||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
<el-collapse-item title="任务周期" name="3">
|
<el-collapse-item title="任务周期" name="4">
|
||||||
<el-form-item label="需巡查次数" prop="xxccs">
|
<el-form-item label="需巡查次数" prop="xxccs">
|
||||||
<el-input-number v-model="form.xxccs" placeholder="请输入需巡查次数" :min="1"/>
|
<el-input-number v-model="form.xxccs" placeholder="请输入需巡查次数" :min="1"/>
|
||||||
<el-tag type="info" style="margin-left: 10px">次</el-tag>
|
<el-tag type="info" style="margin-left: 10px">次</el-tag>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="巡查周期选项" prop="xczqxx" v-if="form.xxccs>1">
|
<el-form-item label="巡查周期选项" prop="xczqxx" v-if="form.xxccs>1" style="display: none">
|
||||||
<el-radio-group v-model="form.xczqxx">
|
<el-radio-group v-model="form.xczqxx">
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="dict in dict.type.task_xczqxx"
|
v-for="dict in dict.type.task_xczqxx"
|
||||||
@ -220,7 +224,7 @@
|
|||||||
</el-radio>
|
</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="巡查周期" prop="xczq" v-if="form.xxccs>1 && form.xczqxx==3">
|
<el-form-item label="巡查周期" prop="xczq" v-if="form.xxccs>1 && form.xczqxx==3" style="display: none">
|
||||||
<el-input-number v-model="form.xczq" placeholder="请输入巡查周期" :min="1"/>
|
<el-input-number v-model="form.xczq" placeholder="请输入巡查周期" :min="1"/>
|
||||||
<el-tag type="info" style="margin-left: 10px">天/次</el-tag>
|
<el-tag type="info" style="margin-left: 10px">天/次</el-tag>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -345,7 +349,7 @@ export default {
|
|||||||
// 表单校验
|
// 表单校验
|
||||||
rules: {},
|
rules: {},
|
||||||
// 折叠面板
|
// 折叠面板
|
||||||
activeNames: ['1', '2', '3'],
|
activeNames: ['1', '2', '3', '4'],
|
||||||
// 日期区间选择
|
// 日期区间选择
|
||||||
pickerOptions: {
|
pickerOptions: {
|
||||||
shortcuts: [{
|
shortcuts: [{
|
||||||
@ -469,6 +473,9 @@ export default {
|
|||||||
getTask(id).then(response => {
|
getTask(id).then(response => {
|
||||||
this.form = response.data;
|
this.form = response.data;
|
||||||
this.tbxxInfo = JSON.parse(response.data.tbxx.info);
|
this.tbxxInfo = JSON.parse(response.data.tbxx.info);
|
||||||
|
|
||||||
|
this.mapInfo.centerPoint = {x: response.data.x, y: response.data.y}
|
||||||
|
this.mapInfo.gis = response.data.tbxx.gis
|
||||||
this.open = true;
|
this.open = true;
|
||||||
this.title = "修改任务";
|
this.title = "修改任务";
|
||||||
});
|
});
|
||||||
@ -578,7 +585,7 @@ export default {
|
|||||||
this.form = response.data;
|
this.form = response.data;
|
||||||
this.tbxxInfo = JSON.parse(response.data.tbxx.info);
|
this.tbxxInfo = JSON.parse(response.data.tbxx.info);
|
||||||
|
|
||||||
this.mapInfo.centerPoint = {x:response.data.x,y:response.data.y}
|
this.mapInfo.centerPoint = {x: response.data.x, y: response.data.y}
|
||||||
this.mapInfo.gis = response.data.tbxx.gis
|
this.mapInfo.gis = response.data.tbxx.gis
|
||||||
|
|
||||||
this.open = true;
|
this.open = true;
|
||||||
|
@ -128,7 +128,8 @@
|
|||||||
<file-upload v-model="form.apkUrl" @change="handleFile" :fileSize="500" :fileType="['apk']" :limit="1"/>
|
<file-upload v-model="form.apkUrl" @change="handleFile" :fileSize="500" :fileType="['apk']" :limit="1"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="更新描述" prop="updateDescription">
|
<el-form-item label="更新描述" prop="updateDescription">
|
||||||
<editor v-model="form.updateDescription" :height="200"></editor>
|
<!-- <editor v-model="form.updateDescription" :height="200"></editor>-->
|
||||||
|
<el-input v-model="form.updateDescription" type="textarea" placeholder="请输入更新描述" :autosize="{ minRows: 8}"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="是否更新" prop="isUpdate">
|
<el-form-item label="是否更新" prop="isUpdate">
|
||||||
<el-radio-group v-model="form.isUpdate">
|
<el-radio-group v-model="form.isUpdate">
|
||||||
|
@ -119,15 +119,6 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="20" style="margin-bottom: 10px">
|
<el-row :gutter="20" style="margin-bottom: 10px">
|
||||||
<el-col :span="4">
|
|
||||||
<div>
|
|
||||||
<el-statistic
|
|
||||||
group-separator=","
|
|
||||||
:value="statisticsData.yzg"
|
|
||||||
title="已整改">
|
|
||||||
</el-statistic>
|
|
||||||
</div>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="4">
|
<el-col :span="4">
|
||||||
<div>
|
<div>
|
||||||
<el-statistic
|
<el-statistic
|
||||||
@ -142,7 +133,16 @@
|
|||||||
<el-statistic
|
<el-statistic
|
||||||
group-separator=","
|
group-separator=","
|
||||||
:value="statisticsData.wzgdw"
|
:value="statisticsData.wzgdw"
|
||||||
title="未整改到位">
|
title="整改未到位">
|
||||||
|
</el-statistic>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4">
|
||||||
|
<div>
|
||||||
|
<el-statistic
|
||||||
|
group-separator=","
|
||||||
|
:value="statisticsData.yzg"
|
||||||
|
title="整改到位">
|
||||||
</el-statistic>
|
</el-statistic>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="login">
|
<div class="login">
|
||||||
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
|
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
|
||||||
<h3 class="title">若依后台管理系统</h3>
|
<h3 class="title">楚雄州自然资源综合执法监管外业工作辅助平台V1.0</h3>
|
||||||
<el-form-item prop="username">
|
<el-form-item prop="username">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="loginForm.username"
|
v-model="loginForm.username"
|
||||||
@ -173,7 +173,7 @@ export default {
|
|||||||
.login-form {
|
.login-form {
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
width: 400px;
|
width: 450px;
|
||||||
padding: 25px 25px 5px 25px;
|
padding: 25px 25px 5px 25px;
|
||||||
.el-input {
|
.el-input {
|
||||||
height: 38px;
|
height: 38px;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="register">
|
<div class="register">
|
||||||
<el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
|
<el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
|
||||||
<h3 class="title">若依后台管理系统</h3>
|
<h3 class="title">楚雄州自然资源综合执法监管外业工作辅助平台V1.0</h3>
|
||||||
<el-form-item prop="username">
|
<el-form-item prop="username">
|
||||||
<el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="账号">
|
<el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="账号">
|
||||||
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
||||||
@ -61,7 +61,7 @@
|
|||||||
</el-form>
|
</el-form>
|
||||||
<!-- 底部 -->
|
<!-- 底部 -->
|
||||||
<div class="el-register-footer">
|
<div class="el-register-footer">
|
||||||
<span>Copyright © 2018-2024 ruoyi.vip All Rights Reserved.</span>
|
<!-- <span>Copyright © 2018-2024 ruoyi.vip All Rights Reserved.</span>-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -164,7 +164,7 @@ export default {
|
|||||||
.register-form {
|
.register-form {
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
width: 400px;
|
width: 450px;
|
||||||
padding: 25px 25px 5px 25px;
|
padding: 25px 25px 5px 25px;
|
||||||
.el-input {
|
.el-input {
|
||||||
height: 38px;
|
height: 38px;
|
||||||
|
Loading…
Reference in New Issue
Block a user