项目进度占比

master
mhsnet 1 year ago
parent 97c688b29a
commit ec47b66c3c

@ -68,7 +68,7 @@ services:
NODE_ENV: NODE_ENV:
ENV=${NODE_ENV:-production} ENV=${NODE_ENV:-production}
PUBLIC_PATH=${PUBLIC_PATH:-/} PUBLIC_PATH=${PUBLIC_PATH:-/}
VUE_APP_TITLE=${VUE_APP_TITLE:-芋道管理系统} VUE_APP_TITLE=${VUE_APP_TITLE:-凯密克管理系统}
VUE_APP_BASE_API=${VUE_APP_BASE_API:-/prod-api} VUE_APP_BASE_API=${VUE_APP_BASE_API:-/prod-api}
VUE_APP_APP_NAME=${VUE_APP_APP_NAME:-/} VUE_APP_APP_NAME=${VUE_APP_APP_NAME:-/}
VUE_APP_TENANT_ENABLE=${VUE_APP_TENANT_ENABLE:-true} VUE_APP_TENANT_ENABLE=${VUE_APP_TENANT_ENABLE:-true}

@ -15,4 +15,7 @@ public interface ErrorCodeConstants {
ErrorCode INFO_NOT_EXISTS = new ErrorCode(1001000004, "信息栏不存在"); ErrorCode INFO_NOT_EXISTS = new ErrorCode(1001000004, "信息栏不存在");
ErrorCode AREA_PROJECT_NOT_EXISTS = new ErrorCode(1001000005, "信息对比不存在"); ErrorCode AREA_PROJECT_NOT_EXISTS = new ErrorCode(1001000005, "信息对比不存在");
ErrorCode ENERGY_NOT_EXISTS = new ErrorCode(1001000006, "能耗不存在"); ErrorCode ENERGY_NOT_EXISTS = new ErrorCode(1001000006, "能耗不存在");
ErrorCode CONSTANT_NOT_EXISTS = new ErrorCode(1001000007, "常用数据不存在");
ErrorCode AREA_PROJECT_SCHEDULE_NOT_EXISTS = new ErrorCode(1001000008, "常用数据不存在");
ErrorCode AREA_PROJECT_RATIO_NOT_EXISTS = new ErrorCode(1001000009, "常用数据不存在");
} }

@ -0,0 +1,102 @@
package cn.iocoder.yudao.module.bikmk.controller.admin.areaprojectratio;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import javax.validation.constraints.*;
import javax.validation.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.IOException;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.bikmk.controller.admin.areaprojectratio.vo.*;
import cn.iocoder.yudao.module.bikmk.dal.dataobject.areaprojectratio.AreaProjectRatioDO;
import cn.iocoder.yudao.module.bikmk.convert.areaprojectratio.AreaProjectRatioConvert;
import cn.iocoder.yudao.module.bikmk.service.areaprojectratio.AreaProjectRatioService;
@Tag(name = "管理后台 - 项目占比")
@RestController
@RequestMapping("/bikmk/area-project-ratio")
@Validated
public class AreaProjectRatioController {
@Resource
private AreaProjectRatioService areaProjectRatioService;
@PostMapping("/create")
@Operation(summary = "创建项目占比")
@PreAuthorize("@ss.hasPermission('bikmk:area-project-ratio:create')")
public CommonResult<Long> createAreaProjectRatio(@Valid @RequestBody AreaProjectRatioCreateReqVO createReqVO) {
return success(areaProjectRatioService.createAreaProjectRatio(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新项目占比")
@PreAuthorize("@ss.hasPermission('bikmk:area-project-ratio:update')")
public CommonResult<Boolean> updateAreaProjectRatio(@Valid @RequestBody AreaProjectRatioUpdateReqVO updateReqVO) {
areaProjectRatioService.updateAreaProjectRatio(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除项目占比")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('bikmk:area-project-ratio:delete')")
public CommonResult<Boolean> deleteAreaProjectRatio(@RequestParam("id") Long id) {
areaProjectRatioService.deleteAreaProjectRatio(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得项目占比")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('bikmk:area-project-ratio:query')")
public CommonResult<AreaProjectRatioRespVO> getAreaProjectRatio(@RequestParam("id") Long id) {
AreaProjectRatioDO areaProjectRatio = areaProjectRatioService.getAreaProjectRatio(id);
return success(AreaProjectRatioConvert.INSTANCE.convert(areaProjectRatio));
}
@GetMapping("/list")
@Operation(summary = "获得项目占比列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('bikmk:area-project-ratio:query')")
public CommonResult<List<AreaProjectRatioRespVO>> getAreaProjectRatioList(@RequestParam("ids") Collection<Long> ids) {
List<AreaProjectRatioDO> list = areaProjectRatioService.getAreaProjectRatioList(ids);
return success(AreaProjectRatioConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@Operation(summary = "获得项目占比分页")
@PreAuthorize("@ss.hasPermission('bikmk:area-project-ratio:query')")
public CommonResult<PageResult<AreaProjectRatioRespVO>> getAreaProjectRatioPage(@Valid AreaProjectRatioPageReqVO pageVO) {
PageResult<AreaProjectRatioDO> pageResult = areaProjectRatioService.getAreaProjectRatioPage(pageVO);
return success(AreaProjectRatioConvert.INSTANCE.convertPage(pageResult));
}
@GetMapping("/export-excel")
@Operation(summary = "导出项目占比 Excel")
@PreAuthorize("@ss.hasPermission('bikmk:area-project-ratio:export')")
@OperateLog(type = EXPORT)
public void exportAreaProjectRatioExcel(@Valid AreaProjectRatioExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<AreaProjectRatioDO> list = areaProjectRatioService.getAreaProjectRatioList(exportReqVO);
// 导出 Excel
List<AreaProjectRatioExcelVO> datas = AreaProjectRatioConvert.INSTANCE.convertList02(list);
ExcelUtils.write(response, "项目占比.xls", "数据", AreaProjectRatioExcelVO.class, datas);
}
}

@ -0,0 +1,25 @@
package cn.iocoder.yudao.module.bikmk.controller.admin.areaprojectratio.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import javax.validation.constraints.*;
/**
* Base VO VO 使
* VO Swagger
*/
@Data
public class AreaProjectRatioBaseVO {
@Schema(description = "项目", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "项目不能为空")
private String project;
@Schema(description = "金额", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "金额不能为空")
private Integer money;
}

@ -0,0 +1,14 @@
package cn.iocoder.yudao.module.bikmk.controller.admin.areaprojectratio.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
@Schema(description = "管理后台 - 项目占比创建 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class AreaProjectRatioCreateReqVO extends AreaProjectRatioBaseVO {
}

@ -0,0 +1,31 @@
package cn.iocoder.yudao.module.bikmk.controller.admin.areaprojectratio.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.ExcelProperty;
/**
* Excel VO
*
* @author
*/
@Data
public class AreaProjectRatioExcelVO {
@ExcelProperty("编号")
private Long id;
@ExcelProperty("项目")
private String project;
@ExcelProperty("金额")
private Integer money;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
}

@ -0,0 +1,26 @@
package cn.iocoder.yudao.module.bikmk.controller.admin.areaprojectratio.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.time.LocalDateTime;
import org.springframework.format.annotation.DateTimeFormat;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 项目占比 Excel 导出 Request VO参数和 AreaProjectRatioPageReqVO 是一致的")
@Data
public class AreaProjectRatioExportReqVO {
@Schema(description = "项目")
private String project;
@Schema(description = "金额")
private Integer money;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

@ -0,0 +1,28 @@
package cn.iocoder.yudao.module.bikmk.controller.admin.areaprojectratio.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 项目占比分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class AreaProjectRatioPageReqVO extends PageParam {
@Schema(description = "项目")
private String project;
@Schema(description = "金额")
private Integer money;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

@ -0,0 +1,19 @@
package cn.iocoder.yudao.module.bikmk.controller.admin.areaprojectratio.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 项目占比 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class AreaProjectRatioRespVO extends AreaProjectRatioBaseVO {
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "6857")
private Long id;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
private LocalDateTime createTime;
}

@ -0,0 +1,18 @@
package cn.iocoder.yudao.module.bikmk.controller.admin.areaprojectratio.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
@Schema(description = "管理后台 - 项目占比更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class AreaProjectRatioUpdateReqVO extends AreaProjectRatioBaseVO {
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "6857")
@NotNull(message = "编号不能为空")
private Long id;
}

@ -0,0 +1,102 @@
package cn.iocoder.yudao.module.bikmk.controller.admin.constant;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import javax.validation.constraints.*;
import javax.validation.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.IOException;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.bikmk.controller.admin.constant.vo.*;
import cn.iocoder.yudao.module.bikmk.dal.dataobject.constant.ConstantDO;
import cn.iocoder.yudao.module.bikmk.convert.constant.ConstantConvert;
import cn.iocoder.yudao.module.bikmk.service.constant.ConstantService;
@Tag(name = "管理后台 - 常用数据")
@RestController
@RequestMapping("/bikmk/constant")
@Validated
public class ConstantController {
@Resource
private ConstantService constantService;
@PostMapping("/create")
@Operation(summary = "创建常用数据")
@PreAuthorize("@ss.hasPermission('bikmk:constant:create')")
public CommonResult<Long> createConstant(@Valid @RequestBody ConstantCreateReqVO createReqVO) {
return success(constantService.createConstant(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新常用数据")
@PreAuthorize("@ss.hasPermission('bikmk:constant:update')")
public CommonResult<Boolean> updateConstant(@Valid @RequestBody ConstantUpdateReqVO updateReqVO) {
constantService.updateConstant(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除常用数据")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('bikmk:constant:delete')")
public CommonResult<Boolean> deleteConstant(@RequestParam("id") Long id) {
constantService.deleteConstant(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得常用数据")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('bikmk:constant:query')")
public CommonResult<ConstantRespVO> getConstant(@RequestParam("id") Long id) {
ConstantDO constant = constantService.getConstant(id);
return success(ConstantConvert.INSTANCE.convert(constant));
}
@GetMapping("/list")
@Operation(summary = "获得常用数据列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('bikmk:constant:query')")
public CommonResult<List<ConstantRespVO>> getConstantList(@RequestParam("ids") Collection<Long> ids) {
List<ConstantDO> list = constantService.getConstantList(ids);
return success(ConstantConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@Operation(summary = "获得常用数据分页")
@PreAuthorize("@ss.hasPermission('bikmk:constant:query')")
public CommonResult<PageResult<ConstantRespVO>> getConstantPage(@Valid ConstantPageReqVO pageVO) {
PageResult<ConstantDO> pageResult = constantService.getConstantPage(pageVO);
return success(ConstantConvert.INSTANCE.convertPage(pageResult));
}
@GetMapping("/export-excel")
@Operation(summary = "导出常用数据 Excel")
@PreAuthorize("@ss.hasPermission('bikmk:constant:export')")
@OperateLog(type = EXPORT)
public void exportConstantExcel(@Valid ConstantExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<ConstantDO> list = constantService.getConstantList(exportReqVO);
// 导出 Excel
List<ConstantExcelVO> datas = ConstantConvert.INSTANCE.convertList02(list);
ExcelUtils.write(response, "常用数据.xls", "数据", ConstantExcelVO.class, datas);
}
}

@ -0,0 +1,33 @@
package cn.iocoder.yudao.module.bikmk.controller.admin.constant.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import javax.validation.constraints.*;
/**
* Base VO VO 使
* VO Swagger
*/
@Data
public class ConstantBaseVO {
@Schema(description = "健康度", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "健康度不能为空")
private Double health;
@Schema(description = "节电度数", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "节电度数不能为空")
private Integer degrees;
@Schema(description = "节电金额", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "节电金额不能为空")
private Integer money;
@Schema(description = "余额", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "余额不能为空")
private Integer balance;
}

@ -0,0 +1,14 @@
package cn.iocoder.yudao.module.bikmk.controller.admin.constant.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
@Schema(description = "管理后台 - 常用数据创建 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ConstantCreateReqVO extends ConstantBaseVO {
}

@ -0,0 +1,37 @@
package cn.iocoder.yudao.module.bikmk.controller.admin.constant.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.ExcelProperty;
/**
* Excel VO
*
* @author
*/
@Data
public class ConstantExcelVO {
@ExcelProperty("编号")
private Long id;
@ExcelProperty("健康度")
private Double health;
@ExcelProperty("节电度数")
private Integer degrees;
@ExcelProperty("节电金额")
private Integer money;
@ExcelProperty("余额")
private Integer balance;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
}

@ -0,0 +1,32 @@
package cn.iocoder.yudao.module.bikmk.controller.admin.constant.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.time.LocalDateTime;
import org.springframework.format.annotation.DateTimeFormat;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 常用数据 Excel 导出 Request VO参数和 ConstantPageReqVO 是一致的")
@Data
public class ConstantExportReqVO {
@Schema(description = "健康度")
private Double health;
@Schema(description = "节电度数")
private Integer degrees;
@Schema(description = "节电金额")
private Integer money;
@Schema(description = "余额")
private Integer balance;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

@ -0,0 +1,34 @@
package cn.iocoder.yudao.module.bikmk.controller.admin.constant.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 常用数据分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ConstantPageReqVO extends PageParam {
@Schema(description = "健康度")
private Double health;
@Schema(description = "节电度数")
private Integer degrees;
@Schema(description = "节电金额")
private Integer money;
@Schema(description = "余额")
private Integer balance;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

@ -0,0 +1,19 @@
package cn.iocoder.yudao.module.bikmk.controller.admin.constant.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 常用数据 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ConstantRespVO extends ConstantBaseVO {
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13329")
private Long id;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
private LocalDateTime createTime;
}

@ -0,0 +1,18 @@
package cn.iocoder.yudao.module.bikmk.controller.admin.constant.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
@Schema(description = "管理后台 - 常用数据更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ConstantUpdateReqVO extends ConstantBaseVO {
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13329")
@NotNull(message = "编号不能为空")
private Long id;
}

@ -5,7 +5,11 @@ import lombok.*;
import java.util.*; import java.util.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalDateTime;
import javax.validation.constraints.*; import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
/** /**
* Base VO VO 使 * Base VO VO 使
@ -18,8 +22,16 @@ public class PolicyBaseVO {
@NotNull(message = "区域不能为空") @NotNull(message = "区域不能为空")
private String region; private String region;
@Schema(description = "政策信息", requiredMode = Schema.RequiredMode.REQUIRED, example = "政策A") @Schema(description = "标题", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "政策信息不能为空") @NotNull(message = "标题不能为空")
private String policy; private String policy;
@Schema(description = "内容", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "内容不能为空")
private String cnt;
@Schema(description = "时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime stime;
} }

@ -5,6 +5,7 @@ import lombok.*;
import java.util.*; import java.util.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
@ -22,10 +23,16 @@ public class PolicyExcelVO {
@ExcelProperty("区域") @ExcelProperty("区域")
private String region; private String region;
@ExcelProperty("政策信息")
private String policy;
@ExcelProperty("创建时间") @ExcelProperty("创建时间")
private LocalDateTime createTime; private LocalDateTime createTime;
@ExcelProperty("标题")
private String policy;
@ExcelProperty("内容")
private String cnt;
@ExcelProperty("时间")
private LocalDateTime stime;
} }

@ -16,11 +16,18 @@ public class PolicyExportReqVO {
@Schema(description = "区域", example = "x市x区") @Schema(description = "区域", example = "x市x区")
private String region; private String region;
@Schema(description = "政策信息", example = "政策A")
private String policy;
@Schema(description = "创建时间") @Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime; private LocalDateTime[] createTime;
@Schema(description = "标题")
private String policy;
@Schema(description = "内容")
private String cnt;
@Schema(description = "时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] stime;
} }

@ -18,11 +18,18 @@ public class PolicyPageReqVO extends PageParam {
@Schema(description = "区域", example = "x市x区") @Schema(description = "区域", example = "x市x区")
private String region; private String region;
@Schema(description = "政策信息", example = "政策A")
private String policy;
@Schema(description = "创建时间") @Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime; private LocalDateTime[] createTime;
@Schema(description = "标题")
private String policy;
@Schema(description = "内容")
private String cnt;
@Schema(description = "时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] stime;
} }

@ -0,0 +1,34 @@
package cn.iocoder.yudao.module.bikmk.convert.areaprojectratio;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import cn.iocoder.yudao.module.bikmk.controller.admin.areaprojectratio.vo.*;
import cn.iocoder.yudao.module.bikmk.dal.dataobject.areaprojectratio.AreaProjectRatioDO;
/**
* Convert
*
* @author
*/
@Mapper
public interface AreaProjectRatioConvert {
AreaProjectRatioConvert INSTANCE = Mappers.getMapper(AreaProjectRatioConvert.class);
AreaProjectRatioDO convert(AreaProjectRatioCreateReqVO bean);
AreaProjectRatioDO convert(AreaProjectRatioUpdateReqVO bean);
AreaProjectRatioRespVO convert(AreaProjectRatioDO bean);
List<AreaProjectRatioRespVO> convertList(List<AreaProjectRatioDO> list);
PageResult<AreaProjectRatioRespVO> convertPage(PageResult<AreaProjectRatioDO> page);
List<AreaProjectRatioExcelVO> convertList02(List<AreaProjectRatioDO> list);
}

@ -0,0 +1,34 @@
package cn.iocoder.yudao.module.bikmk.convert.constant;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import cn.iocoder.yudao.module.bikmk.controller.admin.constant.vo.*;
import cn.iocoder.yudao.module.bikmk.dal.dataobject.constant.ConstantDO;
/**
* Convert
*
* @author
*/
@Mapper
public interface ConstantConvert {
ConstantConvert INSTANCE = Mappers.getMapper(ConstantConvert.class);
ConstantDO convert(ConstantCreateReqVO bean);
ConstantDO convert(ConstantUpdateReqVO bean);
ConstantRespVO convert(ConstantDO bean);
List<ConstantRespVO> convertList(List<ConstantDO> list);
PageResult<ConstantRespVO> convertPage(PageResult<ConstantDO> page);
List<ConstantExcelVO> convertList02(List<ConstantDO> list);
}

@ -0,0 +1,39 @@
package cn.iocoder.yudao.module.bikmk.dal.dataobject.areaprojectratio;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
/**
* DO
*
* @author
*/
@TableName("bikmk_area_project_ratio")
@KeySequence("bikmk_area_project_ratio_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AreaProjectRatioDO extends BaseDO {
/**
*
*/
@TableId
private Long id;
/**
*
*/
private String project;
/**
*
*/
private Integer money;
}

@ -0,0 +1,47 @@
package cn.iocoder.yudao.module.bikmk.dal.dataobject.constant;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
/**
* DO
*
* @author
*/
@TableName("bikmk_constant")
@KeySequence("bikmk_constant_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ConstantDO extends BaseDO {
/**
*
*/
@TableId
private Long id;
/**
*
*/
private Double health;
/**
*
*/
private Integer degrees;
/**
*
*/
private Integer money;
/**
*
*/
private Integer balance;
}

@ -4,6 +4,7 @@ import lombok.*;
import java.util.*; import java.util.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
@ -32,8 +33,16 @@ public class PolicyDO extends BaseDO {
*/ */
private String region; private String region;
/** /**
* *
*/ */
private String policy; private String policy;
/**
*
*/
private String cnt;
/**
*
*/
private LocalDateTime stime;
} }

@ -0,0 +1,36 @@
package cn.iocoder.yudao.module.bikmk.dal.mysql.areaprojectratio;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.bikmk.dal.dataobject.areaprojectratio.AreaProjectRatioDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.bikmk.controller.admin.areaprojectratio.vo.*;
/**
* Mapper
*
* @author
*/
@Mapper
public interface AreaProjectRatioMapper extends BaseMapperX<AreaProjectRatioDO> {
default PageResult<AreaProjectRatioDO> selectPage(AreaProjectRatioPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<AreaProjectRatioDO>()
.eqIfPresent(AreaProjectRatioDO::getProject, reqVO.getProject())
.eqIfPresent(AreaProjectRatioDO::getMoney, reqVO.getMoney())
.betweenIfPresent(AreaProjectRatioDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(AreaProjectRatioDO::getId));
}
default List<AreaProjectRatioDO> selectList(AreaProjectRatioExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<AreaProjectRatioDO>()
.eqIfPresent(AreaProjectRatioDO::getProject, reqVO.getProject())
.eqIfPresent(AreaProjectRatioDO::getMoney, reqVO.getMoney())
.betweenIfPresent(AreaProjectRatioDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(AreaProjectRatioDO::getId));
}
}

@ -0,0 +1,40 @@
package cn.iocoder.yudao.module.bikmk.dal.mysql.constant;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.bikmk.dal.dataobject.constant.ConstantDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.bikmk.controller.admin.constant.vo.*;
/**
* Mapper
*
* @author
*/
@Mapper
public interface ConstantMapper extends BaseMapperX<ConstantDO> {
default PageResult<ConstantDO> selectPage(ConstantPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<ConstantDO>()
.eqIfPresent(ConstantDO::getHealth, reqVO.getHealth())
.eqIfPresent(ConstantDO::getDegrees, reqVO.getDegrees())
.eqIfPresent(ConstantDO::getMoney, reqVO.getMoney())
.eqIfPresent(ConstantDO::getBalance, reqVO.getBalance())
.betweenIfPresent(ConstantDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(ConstantDO::getId));
}
default List<ConstantDO> selectList(ConstantExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<ConstantDO>()
.eqIfPresent(ConstantDO::getHealth, reqVO.getHealth())
.eqIfPresent(ConstantDO::getDegrees, reqVO.getDegrees())
.eqIfPresent(ConstantDO::getMoney, reqVO.getMoney())
.eqIfPresent(ConstantDO::getBalance, reqVO.getBalance())
.betweenIfPresent(ConstantDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(ConstantDO::getId));
}
}

@ -20,16 +20,20 @@ public interface PolicyMapper extends BaseMapperX<PolicyDO> {
default PageResult<PolicyDO> selectPage(PolicyPageReqVO reqVO) { default PageResult<PolicyDO> selectPage(PolicyPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<PolicyDO>() return selectPage(reqVO, new LambdaQueryWrapperX<PolicyDO>()
.eqIfPresent(PolicyDO::getRegion, reqVO.getRegion()) .eqIfPresent(PolicyDO::getRegion, reqVO.getRegion())
.eqIfPresent(PolicyDO::getPolicy, reqVO.getPolicy())
.betweenIfPresent(PolicyDO::getCreateTime, reqVO.getCreateTime()) .betweenIfPresent(PolicyDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(PolicyDO::getPolicy, reqVO.getPolicy())
.eqIfPresent(PolicyDO::getCnt, reqVO.getCnt())
.betweenIfPresent(PolicyDO::getStime, reqVO.getStime())
.orderByDesc(PolicyDO::getId)); .orderByDesc(PolicyDO::getId));
} }
default List<PolicyDO> selectList(PolicyExportReqVO reqVO) { default List<PolicyDO> selectList(PolicyExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<PolicyDO>() return selectList(new LambdaQueryWrapperX<PolicyDO>()
.eqIfPresent(PolicyDO::getRegion, reqVO.getRegion()) .eqIfPresent(PolicyDO::getRegion, reqVO.getRegion())
.eqIfPresent(PolicyDO::getPolicy, reqVO.getPolicy())
.betweenIfPresent(PolicyDO::getCreateTime, reqVO.getCreateTime()) .betweenIfPresent(PolicyDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(PolicyDO::getPolicy, reqVO.getPolicy())
.eqIfPresent(PolicyDO::getCnt, reqVO.getCnt())
.betweenIfPresent(PolicyDO::getStime, reqVO.getStime())
.orderByDesc(PolicyDO::getId)); .orderByDesc(PolicyDO::getId));
} }

@ -0,0 +1,70 @@
package cn.iocoder.yudao.module.bikmk.service.areaprojectratio;
import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.module.bikmk.controller.admin.areaprojectratio.vo.*;
import cn.iocoder.yudao.module.bikmk.dal.dataobject.areaprojectratio.AreaProjectRatioDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
/**
* Service
*
* @author
*/
public interface AreaProjectRatioService {
/**
*
*
* @param createReqVO
* @return
*/
Long createAreaProjectRatio(@Valid AreaProjectRatioCreateReqVO createReqVO);
/**
*
*
* @param updateReqVO
*/
void updateAreaProjectRatio(@Valid AreaProjectRatioUpdateReqVO updateReqVO);
/**
*
*
* @param id
*/
void deleteAreaProjectRatio(Long id);
/**
*
*
* @param id
* @return
*/
AreaProjectRatioDO getAreaProjectRatio(Long id);
/**
*
*
* @param ids
* @return
*/
List<AreaProjectRatioDO> getAreaProjectRatioList(Collection<Long> ids);
/**
*
*
* @param pageReqVO
* @return
*/
PageResult<AreaProjectRatioDO> getAreaProjectRatioPage(AreaProjectRatioPageReqVO pageReqVO);
/**
* , Excel
*
* @param exportReqVO
* @return
*/
List<AreaProjectRatioDO> getAreaProjectRatioList(AreaProjectRatioExportReqVO exportReqVO);
}

@ -0,0 +1,82 @@
package cn.iocoder.yudao.module.bikmk.service.areaprojectratio;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import java.util.*;
import cn.iocoder.yudao.module.bikmk.controller.admin.areaprojectratio.vo.*;
import cn.iocoder.yudao.module.bikmk.dal.dataobject.areaprojectratio.AreaProjectRatioDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.bikmk.convert.areaprojectratio.AreaProjectRatioConvert;
import cn.iocoder.yudao.module.bikmk.dal.mysql.areaprojectratio.AreaProjectRatioMapper;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.bikmk.enums.ErrorCodeConstants.*;
/**
* Service
*
* @author
*/
@Service
@Validated
public class AreaProjectRatioServiceImpl implements AreaProjectRatioService {
@Resource
private AreaProjectRatioMapper areaProjectRatioMapper;
@Override
public Long createAreaProjectRatio(AreaProjectRatioCreateReqVO createReqVO) {
// 插入
AreaProjectRatioDO areaProjectRatio = AreaProjectRatioConvert.INSTANCE.convert(createReqVO);
areaProjectRatioMapper.insert(areaProjectRatio);
// 返回
return areaProjectRatio.getId();
}
@Override
public void updateAreaProjectRatio(AreaProjectRatioUpdateReqVO updateReqVO) {
// 校验存在
validateAreaProjectRatioExists(updateReqVO.getId());
// 更新
AreaProjectRatioDO updateObj = AreaProjectRatioConvert.INSTANCE.convert(updateReqVO);
areaProjectRatioMapper.updateById(updateObj);
}
@Override
public void deleteAreaProjectRatio(Long id) {
// 校验存在
validateAreaProjectRatioExists(id);
// 删除
areaProjectRatioMapper.deleteById(id);
}
private void validateAreaProjectRatioExists(Long id) {
if (areaProjectRatioMapper.selectById(id) == null) {
throw exception(AREA_PROJECT_RATIO_NOT_EXISTS);
}
}
@Override
public AreaProjectRatioDO getAreaProjectRatio(Long id) {
return areaProjectRatioMapper.selectById(id);
}
@Override
public List<AreaProjectRatioDO> getAreaProjectRatioList(Collection<Long> ids) {
return areaProjectRatioMapper.selectBatchIds(ids);
}
@Override
public PageResult<AreaProjectRatioDO> getAreaProjectRatioPage(AreaProjectRatioPageReqVO pageReqVO) {
return areaProjectRatioMapper.selectPage(pageReqVO);
}
@Override
public List<AreaProjectRatioDO> getAreaProjectRatioList(AreaProjectRatioExportReqVO exportReqVO) {
return areaProjectRatioMapper.selectList(exportReqVO);
}
}

@ -0,0 +1,70 @@
package cn.iocoder.yudao.module.bikmk.service.constant;
import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.module.bikmk.controller.admin.constant.vo.*;
import cn.iocoder.yudao.module.bikmk.dal.dataobject.constant.ConstantDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
/**
* Service
*
* @author
*/
public interface ConstantService {
/**
*
*
* @param createReqVO
* @return
*/
Long createConstant(@Valid ConstantCreateReqVO createReqVO);
/**
*
*
* @param updateReqVO
*/
void updateConstant(@Valid ConstantUpdateReqVO updateReqVO);
/**
*
*
* @param id
*/
void deleteConstant(Long id);
/**
*
*
* @param id
* @return
*/
ConstantDO getConstant(Long id);
/**
*
*
* @param ids
* @return
*/
List<ConstantDO> getConstantList(Collection<Long> ids);
/**
*
*
* @param pageReqVO
* @return
*/
PageResult<ConstantDO> getConstantPage(ConstantPageReqVO pageReqVO);
/**
* , Excel
*
* @param exportReqVO
* @return
*/
List<ConstantDO> getConstantList(ConstantExportReqVO exportReqVO);
}

@ -0,0 +1,82 @@
package cn.iocoder.yudao.module.bikmk.service.constant;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import java.util.*;
import cn.iocoder.yudao.module.bikmk.controller.admin.constant.vo.*;
import cn.iocoder.yudao.module.bikmk.dal.dataobject.constant.ConstantDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.bikmk.convert.constant.ConstantConvert;
import cn.iocoder.yudao.module.bikmk.dal.mysql.constant.ConstantMapper;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.bikmk.enums.ErrorCodeConstants.*;
/**
* Service
*
* @author
*/
@Service
@Validated
public class ConstantServiceImpl implements ConstantService {
@Resource
private ConstantMapper constantMapper;
@Override
public Long createConstant(ConstantCreateReqVO createReqVO) {
// 插入
ConstantDO constant = ConstantConvert.INSTANCE.convert(createReqVO);
constantMapper.insert(constant);
// 返回
return constant.getId();
}
@Override
public void updateConstant(ConstantUpdateReqVO updateReqVO) {
// 校验存在
validateConstantExists(updateReqVO.getId());
// 更新
ConstantDO updateObj = ConstantConvert.INSTANCE.convert(updateReqVO);
constantMapper.updateById(updateObj);
}
@Override
public void deleteConstant(Long id) {
// 校验存在
validateConstantExists(id);
// 删除
constantMapper.deleteById(id);
}
private void validateConstantExists(Long id) {
if (constantMapper.selectById(id) == null) {
throw exception(CONSTANT_NOT_EXISTS);
}
}
@Override
public ConstantDO getConstant(Long id) {
return constantMapper.selectById(id);
}
@Override
public List<ConstantDO> getConstantList(Collection<Long> ids) {
return constantMapper.selectBatchIds(ids);
}
@Override
public PageResult<ConstantDO> getConstantPage(ConstantPageReqVO pageReqVO) {
return constantMapper.selectPage(pageReqVO);
}
@Override
public List<ConstantDO> getConstantList(ConstantExportReqVO exportReqVO) {
return constantMapper.selectList(exportReqVO);
}
}

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.bikmk.dal.mysql.areaprojectratio.AreaProjectRatioMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.bikmk.dal.mysql.areaprojectschedule.AreaProjectScheduleMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.bikmk.dal.mysql.constant.ConstantMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

@ -0,0 +1,167 @@
package cn.iocoder.yudao.module.bikmk.service.areaprojectratio;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.mock.mockito.MockBean;
import javax.annotation.Resource;
import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
import cn.iocoder.yudao.module.bikmk.controller.admin.areaprojectratio.vo.*;
import cn.iocoder.yudao.module.bikmk.dal.dataobject.areaprojectratio.AreaProjectRatioDO;
import cn.iocoder.yudao.module.bikmk.dal.mysql.areaprojectratio.AreaProjectRatioMapper;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import javax.annotation.Resource;
import org.springframework.context.annotation.Import;
import java.util.*;
import java.time.LocalDateTime;
import static cn.hutool.core.util.RandomUtil.*;
import static cn.iocoder.yudao.module.bikmk.enums.ErrorCodeConstants.*;
import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*;
import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.*;
import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.*;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
/**
* {@link AreaProjectRatioServiceImpl}
*
* @author
*/
@Import(AreaProjectRatioServiceImpl.class)
public class AreaProjectRatioServiceImplTest extends BaseDbUnitTest {
@Resource
private AreaProjectRatioServiceImpl areaProjectRatioService;
@Resource
private AreaProjectRatioMapper areaProjectRatioMapper;
@Test
public void testCreateAreaProjectRatio_success() {
// 准备参数
AreaProjectRatioCreateReqVO reqVO = randomPojo(AreaProjectRatioCreateReqVO.class);
// 调用
Long areaProjectRatioId = areaProjectRatioService.createAreaProjectRatio(reqVO);
// 断言
assertNotNull(areaProjectRatioId);
// 校验记录的属性是否正确
AreaProjectRatioDO areaProjectRatio = areaProjectRatioMapper.selectById(areaProjectRatioId);
assertPojoEquals(reqVO, areaProjectRatio);
}
@Test
public void testUpdateAreaProjectRatio_success() {
// mock 数据
AreaProjectRatioDO dbAreaProjectRatio = randomPojo(AreaProjectRatioDO.class);
areaProjectRatioMapper.insert(dbAreaProjectRatio);// @Sql: 先插入出一条存在的数据
// 准备参数
AreaProjectRatioUpdateReqVO reqVO = randomPojo(AreaProjectRatioUpdateReqVO.class, o -> {
o.setId(dbAreaProjectRatio.getId()); // 设置更新的 ID
});
// 调用
areaProjectRatioService.updateAreaProjectRatio(reqVO);
// 校验是否更新正确
AreaProjectRatioDO areaProjectRatio = areaProjectRatioMapper.selectById(reqVO.getId()); // 获取最新的
assertPojoEquals(reqVO, areaProjectRatio);
}
@Test
public void testUpdateAreaProjectRatio_notExists() {
// 准备参数
AreaProjectRatioUpdateReqVO reqVO = randomPojo(AreaProjectRatioUpdateReqVO.class);
// 调用, 并断言异常
assertServiceException(() -> areaProjectRatioService.updateAreaProjectRatio(reqVO), AREA_PROJECT_RATIO_NOT_EXISTS);
}
@Test
public void testDeleteAreaProjectRatio_success() {
// mock 数据
AreaProjectRatioDO dbAreaProjectRatio = randomPojo(AreaProjectRatioDO.class);
areaProjectRatioMapper.insert(dbAreaProjectRatio);// @Sql: 先插入出一条存在的数据
// 准备参数
Long id = dbAreaProjectRatio.getId();
// 调用
areaProjectRatioService.deleteAreaProjectRatio(id);
// 校验数据不存在了
assertNull(areaProjectRatioMapper.selectById(id));
}
@Test
public void testDeleteAreaProjectRatio_notExists() {
// 准备参数
Long id = randomLongId();
// 调用, 并断言异常
assertServiceException(() -> areaProjectRatioService.deleteAreaProjectRatio(id), AREA_PROJECT_RATIO_NOT_EXISTS);
}
@Test
@Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
public void testGetAreaProjectRatioPage() {
// mock 数据
AreaProjectRatioDO dbAreaProjectRatio = randomPojo(AreaProjectRatioDO.class, o -> { // 等会查询到
o.setProject(null);
o.setMoney(null);
o.setCreateTime(null);
});
areaProjectRatioMapper.insert(dbAreaProjectRatio);
// 测试 project 不匹配
areaProjectRatioMapper.insert(cloneIgnoreId(dbAreaProjectRatio, o -> o.setProject(null)));
// 测试 money 不匹配
areaProjectRatioMapper.insert(cloneIgnoreId(dbAreaProjectRatio, o -> o.setMoney(null)));
// 测试 createTime 不匹配
areaProjectRatioMapper.insert(cloneIgnoreId(dbAreaProjectRatio, o -> o.setCreateTime(null)));
// 准备参数
AreaProjectRatioPageReqVO reqVO = new AreaProjectRatioPageReqVO();
reqVO.setProject(null);
reqVO.setMoney(null);
reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
// 调用
PageResult<AreaProjectRatioDO> pageResult = areaProjectRatioService.getAreaProjectRatioPage(reqVO);
// 断言
assertEquals(1, pageResult.getTotal());
assertEquals(1, pageResult.getList().size());
assertPojoEquals(dbAreaProjectRatio, pageResult.getList().get(0));
}
@Test
@Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
public void testGetAreaProjectRatioList() {
// mock 数据
AreaProjectRatioDO dbAreaProjectRatio = randomPojo(AreaProjectRatioDO.class, o -> { // 等会查询到
o.setProject(null);
o.setMoney(null);
o.setCreateTime(null);
});
areaProjectRatioMapper.insert(dbAreaProjectRatio);
// 测试 project 不匹配
areaProjectRatioMapper.insert(cloneIgnoreId(dbAreaProjectRatio, o -> o.setProject(null)));
// 测试 money 不匹配
areaProjectRatioMapper.insert(cloneIgnoreId(dbAreaProjectRatio, o -> o.setMoney(null)));
// 测试 createTime 不匹配
areaProjectRatioMapper.insert(cloneIgnoreId(dbAreaProjectRatio, o -> o.setCreateTime(null)));
// 准备参数
AreaProjectRatioExportReqVO reqVO = new AreaProjectRatioExportReqVO();
reqVO.setProject(null);
reqVO.setMoney(null);
reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
// 调用
List<AreaProjectRatioDO> list = areaProjectRatioService.getAreaProjectRatioList(reqVO);
// 断言
assertEquals(1, list.size());
assertPojoEquals(dbAreaProjectRatio, list.get(0));
}
}

@ -0,0 +1,183 @@
package cn.iocoder.yudao.module.bikmk.service.constant;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.mock.mockito.MockBean;
import javax.annotation.Resource;
import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
import cn.iocoder.yudao.module.bikmk.controller.admin.constant.vo.*;
import cn.iocoder.yudao.module.bikmk.dal.dataobject.constant.ConstantDO;
import cn.iocoder.yudao.module.bikmk.dal.mysql.constant.ConstantMapper;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import javax.annotation.Resource;
import org.springframework.context.annotation.Import;
import java.util.*;
import java.time.LocalDateTime;
import static cn.hutool.core.util.RandomUtil.*;
import static cn.iocoder.yudao.module.bikmk.enums.ErrorCodeConstants.*;
import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*;
import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.*;
import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.*;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
/**
* {@link ConstantServiceImpl}
*
* @author
*/
@Import(ConstantServiceImpl.class)
public class ConstantServiceImplTest extends BaseDbUnitTest {
@Resource
private ConstantServiceImpl constantService;
@Resource
private ConstantMapper constantMapper;
@Test
public void testCreateConstant_success() {
// 准备参数
ConstantCreateReqVO reqVO = randomPojo(ConstantCreateReqVO.class);
// 调用
Long constantId = constantService.createConstant(reqVO);
// 断言
assertNotNull(constantId);
// 校验记录的属性是否正确
ConstantDO constant = constantMapper.selectById(constantId);
assertPojoEquals(reqVO, constant);
}
@Test
public void testUpdateConstant_success() {
// mock 数据
ConstantDO dbConstant = randomPojo(ConstantDO.class);
constantMapper.insert(dbConstant);// @Sql: 先插入出一条存在的数据
// 准备参数
ConstantUpdateReqVO reqVO = randomPojo(ConstantUpdateReqVO.class, o -> {
o.setId(dbConstant.getId()); // 设置更新的 ID
});
// 调用
constantService.updateConstant(reqVO);
// 校验是否更新正确
ConstantDO constant = constantMapper.selectById(reqVO.getId()); // 获取最新的
assertPojoEquals(reqVO, constant);
}
@Test
public void testUpdateConstant_notExists() {
// 准备参数
ConstantUpdateReqVO reqVO = randomPojo(ConstantUpdateReqVO.class);
// 调用, 并断言异常
assertServiceException(() -> constantService.updateConstant(reqVO), CONSTANT_NOT_EXISTS);
}
@Test
public void testDeleteConstant_success() {
// mock 数据
ConstantDO dbConstant = randomPojo(ConstantDO.class);
constantMapper.insert(dbConstant);// @Sql: 先插入出一条存在的数据
// 准备参数
Long id = dbConstant.getId();
// 调用
constantService.deleteConstant(id);
// 校验数据不存在了
assertNull(constantMapper.selectById(id));
}
@Test
public void testDeleteConstant_notExists() {
// 准备参数
Long id = randomLongId();
// 调用, 并断言异常
assertServiceException(() -> constantService.deleteConstant(id), CONSTANT_NOT_EXISTS);
}
@Test
@Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
public void testGetConstantPage() {
// mock 数据
ConstantDO dbConstant = randomPojo(ConstantDO.class, o -> { // 等会查询到
o.setHealth(null);
o.setDegrees(null);
o.setMoney(null);
o.setBalance(null);
o.setCreateTime(null);
});
constantMapper.insert(dbConstant);
// 测试 health 不匹配
constantMapper.insert(cloneIgnoreId(dbConstant, o -> o.setHealth(null)));
// 测试 degrees 不匹配
constantMapper.insert(cloneIgnoreId(dbConstant, o -> o.setDegrees(null)));
// 测试 money 不匹配
constantMapper.insert(cloneIgnoreId(dbConstant, o -> o.setMoney(null)));
// 测试 balance 不匹配
constantMapper.insert(cloneIgnoreId(dbConstant, o -> o.setBalance(null)));
// 测试 createTime 不匹配
constantMapper.insert(cloneIgnoreId(dbConstant, o -> o.setCreateTime(null)));
// 准备参数
ConstantPageReqVO reqVO = new ConstantPageReqVO();
reqVO.setHealth(null);
reqVO.setDegrees(null);
reqVO.setMoney(null);
reqVO.setBalance(null);
reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
// 调用
PageResult<ConstantDO> pageResult = constantService.getConstantPage(reqVO);
// 断言
assertEquals(1, pageResult.getTotal());
assertEquals(1, pageResult.getList().size());
assertPojoEquals(dbConstant, pageResult.getList().get(0));
}
@Test
@Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
public void testGetConstantList() {
// mock 数据
ConstantDO dbConstant = randomPojo(ConstantDO.class, o -> { // 等会查询到
o.setHealth(null);
o.setDegrees(null);
o.setMoney(null);
o.setBalance(null);
o.setCreateTime(null);
});
constantMapper.insert(dbConstant);
// 测试 health 不匹配
constantMapper.insert(cloneIgnoreId(dbConstant, o -> o.setHealth(null)));
// 测试 degrees 不匹配
constantMapper.insert(cloneIgnoreId(dbConstant, o -> o.setDegrees(null)));
// 测试 money 不匹配
constantMapper.insert(cloneIgnoreId(dbConstant, o -> o.setMoney(null)));
// 测试 balance 不匹配
constantMapper.insert(cloneIgnoreId(dbConstant, o -> o.setBalance(null)));
// 测试 createTime 不匹配
constantMapper.insert(cloneIgnoreId(dbConstant, o -> o.setCreateTime(null)));
// 准备参数
ConstantExportReqVO reqVO = new ConstantExportReqVO();
reqVO.setHealth(null);
reqVO.setDegrees(null);
reqVO.setMoney(null);
reqVO.setBalance(null);
reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
// 调用
List<ConstantDO> list = constantService.getConstantList(reqVO);
// 断言
assertEquals(1, list.size());
assertPojoEquals(dbConstant, list.get(0));
}
}

@ -111,21 +111,29 @@ public class PolicyServiceImplTest extends BaseDbUnitTest {
// mock 数据 // mock 数据
PolicyDO dbPolicy = randomPojo(PolicyDO.class, o -> { // 等会查询到 PolicyDO dbPolicy = randomPojo(PolicyDO.class, o -> { // 等会查询到
o.setRegion(null); o.setRegion(null);
o.setPolicy(null);
o.setCreateTime(null); o.setCreateTime(null);
o.setPolicy(null);
o.setCnt(null);
o.setStime(null);
}); });
policyMapper.insert(dbPolicy); policyMapper.insert(dbPolicy);
// 测试 region 不匹配 // 测试 region 不匹配
policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setRegion(null))); policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setRegion(null)));
// 测试 policy 不匹配
policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setPolicy(null)));
// 测试 createTime 不匹配 // 测试 createTime 不匹配
policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setCreateTime(null))); policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setCreateTime(null)));
// 测试 policy 不匹配
policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setPolicy(null)));
// 测试 cnt 不匹配
policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setCnt(null)));
// 测试 stime 不匹配
policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setStime(null)));
// 准备参数 // 准备参数
PolicyPageReqVO reqVO = new PolicyPageReqVO(); PolicyPageReqVO reqVO = new PolicyPageReqVO();
reqVO.setRegion(null); reqVO.setRegion(null);
reqVO.setPolicy(null);
reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
reqVO.setPolicy(null);
reqVO.setCnt(null);
reqVO.setStime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
// 调用 // 调用
PageResult<PolicyDO> pageResult = policyService.getPolicyPage(reqVO); PageResult<PolicyDO> pageResult = policyService.getPolicyPage(reqVO);
@ -141,21 +149,29 @@ public class PolicyServiceImplTest extends BaseDbUnitTest {
// mock 数据 // mock 数据
PolicyDO dbPolicy = randomPojo(PolicyDO.class, o -> { // 等会查询到 PolicyDO dbPolicy = randomPojo(PolicyDO.class, o -> { // 等会查询到
o.setRegion(null); o.setRegion(null);
o.setPolicy(null);
o.setCreateTime(null); o.setCreateTime(null);
o.setPolicy(null);
o.setCnt(null);
o.setStime(null);
}); });
policyMapper.insert(dbPolicy); policyMapper.insert(dbPolicy);
// 测试 region 不匹配 // 测试 region 不匹配
policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setRegion(null))); policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setRegion(null)));
// 测试 policy 不匹配
policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setPolicy(null)));
// 测试 createTime 不匹配 // 测试 createTime 不匹配
policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setCreateTime(null))); policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setCreateTime(null)));
// 测试 policy 不匹配
policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setPolicy(null)));
// 测试 cnt 不匹配
policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setCnt(null)));
// 测试 stime 不匹配
policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setStime(null)));
// 准备参数 // 准备参数
PolicyExportReqVO reqVO = new PolicyExportReqVO(); PolicyExportReqVO reqVO = new PolicyExportReqVO();
reqVO.setRegion(null); reqVO.setRegion(null);
reqVO.setPolicy(null);
reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
reqVO.setPolicy(null);
reqVO.setCnt(null);
reqVO.setStime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
// 调用 // 调用
List<PolicyDO> list = policyService.getPolicyList(reqVO); List<PolicyDO> list = policyService.getPolicyList(reqVO);

@ -59,7 +59,7 @@ public class GoViewDataController {
@PreAuthorize("@ss.hasPermission('report:go-view-data:bikmk-policy')") @PreAuthorize("@ss.hasPermission('report:go-view-data:bikmk-policy')")
@OperateLog(enable = false) // 不记录操作日志,因为不需要 @OperateLog(enable = false) // 不记录操作日志,因为不需要
public CommonResult<List> bikmkPolicyList() { public CommonResult<List> bikmkPolicyList() {
GoViewDataRespVO respVO = goViewDataService.getDataBySQL("select region,policy from bikmk_policy"); GoViewDataRespVO respVO = goViewDataService.getDataBySQL("select region,policy,cnt,DATE_FORMAT(stime, \"%m-%d\") as 'stime' from bikmk_policy where deleted=0 order by region,stime desc");
List resA = respVO.getSource(); List resA = respVO.getSource();
Iterator<Map> resAI = resA.iterator(); Iterator<Map> resAI = resA.iterator();
List<List> itemListA = new ArrayList<>(); List<List> itemListA = new ArrayList<>();
@ -68,6 +68,8 @@ public class GoViewDataController {
List<String> itemListB = new ArrayList<>(); List<String> itemListB = new ArrayList<>();
itemListB.add(item.get("region").toString()); itemListB.add(item.get("region").toString());
itemListB.add(item.get("policy").toString()); itemListB.add(item.get("policy").toString());
itemListB.add(item.get("cnt").toString());
itemListB.add(item.get("stime").toString());
itemListA.add(itemListB); itemListA.add(itemListB);
} }
return success(itemListA); return success(itemListA);
@ -142,6 +144,15 @@ public class GoViewDataController {
return success(respVO); return success(respVO);
} }
@RequestMapping("/bikmk-constant-health")
@Operation(summary = "查询栏目信息")
@PreAuthorize("@ss.hasPermission('report:go-view-data:bikmk_constant_health')")
@OperateLog(enable = false) // 不记录操作日志,因为不需要
public CommonResult<GoViewDataRespVO> bikmkConstantHealth() {
GoViewDataRespVO respVO = goViewDataService.getDataBySQL("select health from bikmk_constant");
return success(respVO);
}
@RequestMapping("/get-by-sql") @RequestMapping("/get-by-sql")
@Operation(summary = "使用 SQL 查询数据") @Operation(summary = "使用 SQL 查询数据")
@PreAuthorize("@ss.hasPermission('report:go-view-data:get-by-sql')") @PreAuthorize("@ss.hasPermission('report:go-view-data:get-by-sql')")

@ -0,0 +1,54 @@
import request from '@/utils/request'
// 创建项目占比
export function createAreaProjectRatio(data) {
return request({
url: '/bikmk/area-project-ratio/create',
method: 'post',
data: data
})
}
// 更新项目占比
export function updateAreaProjectRatio(data) {
return request({
url: '/bikmk/area-project-ratio/update',
method: 'put',
data: data
})
}
// 删除项目占比
export function deleteAreaProjectRatio(id) {
return request({
url: '/bikmk/area-project-ratio/delete?id=' + id,
method: 'delete'
})
}
// 获得项目占比
export function getAreaProjectRatio(id) {
return request({
url: '/bikmk/area-project-ratio/get?id=' + id,
method: 'get'
})
}
// 获得项目占比分页
export function getAreaProjectRatioPage(query) {
return request({
url: '/bikmk/area-project-ratio/page',
method: 'get',
params: query
})
}
// 导出项目占比 Excel
export function exportAreaProjectRatioExcel(query) {
return request({
url: '/bikmk/area-project-ratio/export-excel',
method: 'get',
params: query,
responseType: 'blob'
})
}

@ -0,0 +1,54 @@
import request from '@/utils/request'
// 创建区域项目完成度
export function createAreaProjectSchedule(data) {
return request({
url: '/bikmk/area-project-schedule/create',
method: 'post',
data: data
})
}
// 更新区域项目完成度
export function updateAreaProjectSchedule(data) {
return request({
url: '/bikmk/area-project-schedule/update',
method: 'put',
data: data
})
}
// 删除区域项目完成度
export function deleteAreaProjectSchedule(id) {
return request({
url: '/bikmk/area-project-schedule/delete?id=' + id,
method: 'delete'
})
}
// 获得区域项目完成度
export function getAreaProjectSchedule(id) {
return request({
url: '/bikmk/area-project-schedule/get?id=' + id,
method: 'get'
})
}
// 获得区域项目完成度分页
export function getAreaProjectSchedulePage(query) {
return request({
url: '/bikmk/area-project-schedule/page',
method: 'get',
params: query
})
}
// 导出区域项目完成度 Excel
export function exportAreaProjectScheduleExcel(query) {
return request({
url: '/bikmk/area-project-schedule/export-excel',
method: 'get',
params: query,
responseType: 'blob'
})
}

@ -0,0 +1,54 @@
import request from '@/utils/request'
// 创建常用数据
export function createConstant(data) {
return request({
url: '/bikmk/constant/create',
method: 'post',
data: data
})
}
// 更新常用数据
export function updateConstant(data) {
return request({
url: '/bikmk/constant/update',
method: 'put',
data: data
})
}
// 删除常用数据
export function deleteConstant(id) {
return request({
url: '/bikmk/constant/delete?id=' + id,
method: 'delete'
})
}
// 获得常用数据
export function getConstant(id) {
return request({
url: '/bikmk/constant/get?id=' + id,
method: 'get'
})
}
// 获得常用数据分页
export function getConstantPage(query) {
return request({
url: '/bikmk/constant/page',
method: 'get',
params: query
})
}
// 导出常用数据 Excel
export function exportConstantExcel(query) {
return request({
url: '/bikmk/constant/export-excel',
method: 'get',
params: query,
responseType: 'blob'
})
}

@ -0,0 +1,219 @@
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="项目" prop="project">
<el-input v-model="queryParams.project" placeholder="请输入项目" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="金额" prop="money">
<el-input v-model="queryParams.money" placeholder="请输入金额" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker v-model="queryParams.createTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['bikmk:area-project-ratio:create']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['bikmk:area-project-ratio:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="编号" align="center" prop="id" />
<el-table-column label="项目" align="center" prop="project" />
<el-table-column label="金额" align="center" prop="money" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['bikmk:area-project-ratio:update']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['bikmk:area-project-ratio:delete']">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"/>
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" v-dialogDrag append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="项目" prop="project">
<el-input v-model="form.project" placeholder="请输入项目" />
</el-form-item>
<el-form-item label="金额" prop="money">
<el-input v-model="form.money" placeholder="请输入金额" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { createAreaProjectRatio, updateAreaProjectRatio, deleteAreaProjectRatio, getAreaProjectRatio, getAreaProjectRatioPage, exportAreaProjectRatioExcel } from "@/api/bikmk/areaProjectRatio";
export default {
name: "AreaProjectRatio",
components: {
},
data() {
return {
//
loading: true,
//
exportLoading: false,
//
showSearch: true,
//
total: 0,
//
list: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNo: 1,
pageSize: 10,
project: null,
money: null,
createTime: [],
},
//
form: {},
//
rules: {
project: [{ required: true, message: "项目不能为空", trigger: "blur" }],
money: [{ required: true, message: "金额不能为空", trigger: "blur" }],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
//
getAreaProjectRatioPage(this.queryParams).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
});
},
/** 取消按钮 */
cancel() {
this.open = false;
this.reset();
},
/** 表单重置 */
reset() {
this.form = {
id: undefined,
project: undefined,
money: undefined,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加项目占比";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id;
getAreaProjectRatio(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改项目占比";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (!valid) {
return;
}
//
if (this.form.id != null) {
updateAreaProjectRatio(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
return;
}
//
createAreaProjectRatio(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
});
},
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认删除项目占比编号为"' + id + '"的数据项?').then(function() {
return deleteAreaProjectRatio(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
//
let params = {...this.queryParams};
params.pageNo = undefined;
params.pageSize = undefined;
this.$modal.confirm('是否确认导出所有项目占比数据项?').then(() => {
this.exportLoading = true;
return exportAreaProjectRatioExcel(params);
}).then(response => {
this.$download.excel(response, '项目占比.xls');
this.exportLoading = false;
}).catch(() => {});
}
}
};
</script>

@ -0,0 +1,229 @@
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="区域" prop="region">
<el-input v-model="queryParams.region" placeholder="请输入区域" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="完成" prop="do">
<el-input v-model="queryParams.do" placeholder="请输入完成" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="计划" prop="plan">
<el-input v-model="queryParams.plan" placeholder="请输入计划" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker v-model="queryParams.createTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['bikmk:area-project-schedule:create']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['bikmk:area-project-schedule:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="编号" align="center" prop="id" />
<el-table-column label="区域" align="center" prop="region" />
<el-table-column label="完成" align="center" prop="do" />
<el-table-column label="计划" align="center" prop="plan" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['bikmk:area-project-schedule:update']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['bikmk:area-project-schedule:delete']">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"/>
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" v-dialogDrag append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="区域" prop="region">
<el-input v-model="form.region" placeholder="请输入区域" />
</el-form-item>
<el-form-item label="完成" prop="do">
<el-input v-model="form.do" placeholder="请输入完成" />
</el-form-item>
<el-form-item label="计划" prop="plan">
<el-input v-model="form.plan" placeholder="请输入计划" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { createAreaProjectSchedule, updateAreaProjectSchedule, deleteAreaProjectSchedule, getAreaProjectSchedule, getAreaProjectSchedulePage, exportAreaProjectScheduleExcel } from "@/api/bikmk/areaProjectSchedule";
export default {
name: "AreaProjectSchedule",
components: {
},
data() {
return {
//
loading: true,
//
exportLoading: false,
//
showSearch: true,
//
total: 0,
//
list: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNo: 1,
pageSize: 10,
region: null,
do: null,
plan: null,
createTime: [],
},
//
form: {},
//
rules: {
region: [{ required: true, message: "区域不能为空", trigger: "blur" }],
do: [{ required: true, message: "完成不能为空", trigger: "blur" }],
plan: [{ required: true, message: "计划不能为空", trigger: "blur" }],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
//
getAreaProjectSchedulePage(this.queryParams).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
});
},
/** 取消按钮 */
cancel() {
this.open = false;
this.reset();
},
/** 表单重置 */
reset() {
this.form = {
id: undefined,
region: undefined,
do: undefined,
plan: undefined,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加区域项目完成度";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id;
getAreaProjectSchedule(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改区域项目完成度";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (!valid) {
return;
}
//
if (this.form.id != null) {
updateAreaProjectSchedule(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
return;
}
//
createAreaProjectSchedule(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
});
},
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认删除区域项目完成度编号为"' + id + '"的数据项?').then(function() {
return deleteAreaProjectSchedule(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
//
let params = {...this.queryParams};
params.pageNo = undefined;
params.pageSize = undefined;
this.$modal.confirm('是否确认导出所有区域项目完成度数据项?').then(() => {
this.exportLoading = true;
return exportAreaProjectScheduleExcel(params);
}).then(response => {
this.$download.excel(response, '区域项目完成度.xls');
this.exportLoading = false;
}).catch(() => {});
}
}
};
</script>

@ -0,0 +1,239 @@
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="健康度" prop="health">
<el-input v-model="queryParams.health" placeholder="请输入健康度" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="节电度数" prop="degrees">
<el-input v-model="queryParams.degrees" placeholder="请输入节电度数" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="节电金额" prop="money">
<el-input v-model="queryParams.money" placeholder="请输入节电金额" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="余额" prop="balance">
<el-input v-model="queryParams.balance" placeholder="请输入余额" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker v-model="queryParams.createTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['bikmk:constant:create']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['bikmk:constant:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="编号" align="center" prop="id" />
<el-table-column label="健康度" align="center" prop="health" />
<el-table-column label="节电度数" align="center" prop="degrees" />
<el-table-column label="节电金额" align="center" prop="money" />
<el-table-column label="余额" align="center" prop="balance" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['bikmk:constant:update']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['bikmk:constant:delete']">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"/>
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" v-dialogDrag append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="健康度" prop="health">
<el-input v-model="form.health" placeholder="请输入健康度" />
</el-form-item>
<el-form-item label="节电度数" prop="degrees">
<el-input v-model="form.degrees" placeholder="请输入节电度数" />
</el-form-item>
<el-form-item label="节电金额" prop="money">
<el-input v-model="form.money" placeholder="请输入节电金额" />
</el-form-item>
<el-form-item label="余额" prop="balance">
<el-input v-model="form.balance" placeholder="请输入余额" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { createConstant, updateConstant, deleteConstant, getConstant, getConstantPage, exportConstantExcel } from "@/api/bikmk/constant";
export default {
name: "Constant",
components: {
},
data() {
return {
//
loading: true,
//
exportLoading: false,
//
showSearch: true,
//
total: 0,
//
list: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNo: 1,
pageSize: 10,
health: null,
degrees: null,
money: null,
balance: null,
createTime: [],
},
//
form: {},
//
rules: {
health: [{ required: true, message: "健康度不能为空", trigger: "blur" }],
degrees: [{ required: true, message: "节电度数不能为空", trigger: "blur" }],
money: [{ required: true, message: "节电金额不能为空", trigger: "blur" }],
balance: [{ required: true, message: "余额不能为空", trigger: "blur" }],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
//
getConstantPage(this.queryParams).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
});
},
/** 取消按钮 */
cancel() {
this.open = false;
this.reset();
},
/** 表单重置 */
reset() {
this.form = {
id: undefined,
health: undefined,
degrees: undefined,
money: undefined,
balance: undefined,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加常用数据";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id;
getConstant(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改常用数据";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (!valid) {
return;
}
//
if (this.form.id != null) {
updateConstant(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
return;
}
//
createConstant(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
});
},
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认删除常用数据编号为"' + id + '"的数据项?').then(function() {
return deleteConstant(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
//
let params = {...this.queryParams};
params.pageNo = undefined;
params.pageSize = undefined;
this.$modal.confirm('是否确认导出所有常用数据数据项?').then(() => {
this.exportLoading = true;
return exportConstantExcel(params);
}).then(response => {
this.$download.excel(response, '常用数据.xls');
this.exportLoading = false;
}).catch(() => {});
}
}
};
</script>

@ -6,13 +6,20 @@
<el-form-item label="区域" prop="region"> <el-form-item label="区域" prop="region">
<el-input v-model="queryParams.region" placeholder="请输入区域" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.region" placeholder="请输入区域" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item label="政策信息" prop="policy">
<el-input v-model="queryParams.policy" placeholder="请输入政策信息" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime"> <el-form-item label="创建时间" prop="createTime">
<el-date-picker v-model="queryParams.createTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange" <el-date-picker v-model="queryParams.createTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" /> range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
</el-form-item> </el-form-item>
<el-form-item label="标题" prop="policy">
<el-input v-model="queryParams.policy" placeholder="请输入标题" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="内容" prop="cnt">
<el-input v-model="queryParams.cnt" placeholder="请输入内容" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="时间" prop="stime">
<el-date-picker v-model="queryParams.stime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button> <el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" @click="resetQuery"></el-button> <el-button icon="el-icon-refresh" @click="resetQuery"></el-button>
@ -36,12 +43,18 @@
<el-table v-loading="loading" :data="list"> <el-table v-loading="loading" :data="list">
<el-table-column label="编号" align="center" prop="id" /> <el-table-column label="编号" align="center" prop="id" />
<el-table-column label="区域" align="center" prop="region" /> <el-table-column label="区域" align="center" prop="region" />
<el-table-column label="政策信息" align="center" prop="policy" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180"> <el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template v-slot="scope"> <template v-slot="scope">
<span>{{ parseTime(scope.row.createTime) }}</span> <span>{{ parseTime(scope.row.createTime) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="标题" align="center" prop="policy" />
<el-table-column label="内容" align="center" prop="cnt" />
<el-table-column label="时间" align="center" prop="stime" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.stime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template v-slot="scope"> <template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
@ -61,8 +74,14 @@
<el-form-item label="区域" prop="region"> <el-form-item label="区域" prop="region">
<el-input v-model="form.region" placeholder="请输入区域" /> <el-input v-model="form.region" placeholder="请输入区域" />
</el-form-item> </el-form-item>
<el-form-item label="政策信息" prop="policy"> <el-form-item label="标题" prop="policy">
<el-input v-model="form.policy" placeholder="请输入政策信息" /> <el-input v-model="form.policy" placeholder="请输入标题" />
</el-form-item>
<el-form-item label="内容" prop="cnt">
<el-input v-model="form.cnt" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="时间" prop="stime">
<el-date-picker clearable v-model="form.stime" type="date" value-format="timestamp" placeholder="选择时间" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -101,15 +120,18 @@ export default {
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
region: null, region: null,
policy: null,
createTime: [], createTime: [],
policy: null,
cnt: null,
stime: [],
}, },
// //
form: {}, form: {},
// //
rules: { rules: {
region: [{ required: true, message: "区域不能为空", trigger: "blur" }], region: [{ required: true, message: "区域不能为空", trigger: "blur" }],
policy: [{ required: true, message: "政策信息不能为空", trigger: "blur" }], policy: [{ required: true, message: "标题不能为空", trigger: "blur" }],
cnt: [{ required: true, message: "内容不能为空", trigger: "blur" }],
} }
}; };
}, },
@ -138,6 +160,8 @@ export default {
id: undefined, id: undefined,
region: undefined, region: undefined,
policy: undefined, policy: undefined,
cnt: undefined,
stime: undefined,
}; };
this.resetForm("form"); this.resetForm("form");
}, },

Loading…
Cancel
Save