zhitan-admin/src/main/java/com/zhitan/web/controller/basicdata/SysEnerclassController.java
@@ -42,7 +42,7 @@ /** * æ¥è¯¢ææè½æºåç§è®¾ç½®å表 */ @PreAuthorize("@ss.hasPermi('enerInfoManage:enerclass:list')") // @PreAuthorize("@ss.hasPermi('enerInfoManage:enerclass:list')") @GetMapping("/list") public AjaxResult list(SysEnerclass sysEnerclass) { zhitan-admin/src/main/java/com/zhitan/web/controller/basicdata/SysEnergyController.java
@@ -36,7 +36,7 @@ /** * æ¥è¯¢enerclassnameè½æºç±»ååç§°ä¸ææ¡ */ @PreAuthorize("@ss.hasPermi('enerInfoManage:energy:getenerclassname')") @PreAuthorize("@ss.hasPermi('enerInfoManage:energy:list')") @GetMapping("/getenerclassname") public AjaxResult list() { @@ -82,7 +82,7 @@ /** * è·åenergy详ç»ä¿¡æ¯ */ @PreAuthorize("@ss.hasPermi('enerInfoManage:energy:query')") @PreAuthorize("@ss.hasPermi('enerInfoManage:energy:list')") @GetMapping(value = "/{enerid}") public AjaxResult getInfo(@PathVariable("enerid") Integer enerid) { @@ -147,7 +147,7 @@ /** * ä¿åè½æºå价设置 */ @PreAuthorize("@ss.hasPermi('enerInfoManage:energy:updateEnergyPrice')") @PreAuthorize("@ss.hasPermi('enerInfoManage:energy:edit')") @Log(title = "energy", businessType = BusinessType.UPDATE) @PutMapping("/updateEnergyPrice") public AjaxResult updateEnergyPrice(@RequestBody(required = false) SysEnergy sysEnergy) throws ParseException { @@ -173,7 +173,7 @@ /** * ä¿åè½æºææ ç³»æ°è®¾ç½® */ @PreAuthorize("@ss.hasPermi('enerInfoManage:energy:updateEnergyCoefficient')") @PreAuthorize("@ss.hasPermi('enerInfoManage:energy:edit')") @Log(title = "energy", businessType = BusinessType.UPDATE) @PutMapping("/updateEnergyCoefficient") public AjaxResult updateEnergyCoefficient(@RequestBody(required = false) SysEnergy sysEnergy) throws ParseException { zhitan-admin/src/main/java/com/zhitan/web/controller/saving/EnergySavingProgramController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,88 @@ package com.zhitan.web.controller.saving; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhitan.common.core.controller.BaseController; import com.zhitan.common.core.domain.AjaxResult; import com.zhitan.common.core.page.TableDataInfo; import com.zhitan.saving.domain.dto.EnergySavingProgramDTO; import com.zhitan.saving.domain.entity.EnergySavingProgram; import com.zhitan.saving.domain.vo.EnergySavingProgramVO; import com.zhitan.saving.service.IEnergySavingProgramService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; /** * èè½é¡¹ç®ç®¡ç * Controller * * @author ZhiTan * @date 2024-12-26 */ @RestController @RequestMapping("/energySavingProject") @Api(tags = "èè½é¡¹ç®ç®¡ç") public class EnergySavingProgramController extends BaseController { @Resource private IEnergySavingProgramService energySavingProgramService; /** * æ¥è¯¢ * èè½é¡¹ç®ç®¡ç * å表 */ @GetMapping("/page") @PreAuthorize("@ss.hasPermi('energySavingProject:list')") @ApiOperation(value = "å页å表") public TableDataInfo list(EnergySavingProgram energySavingProgram) { Page<EnergySavingProgramVO> list = energySavingProgramService.selectEnergySavingProgramList(energySavingProgram); return getDataTable(list); } /** * è·å * èè½é¡¹ç®ç®¡ç * 详ç»ä¿¡æ¯ */ @ApiOperation(value = "æ¥è¯¢è¯¦æ ") @PreAuthorize("@ss.hasPermi('energySavingProject')") @GetMapping(value = "getById") public AjaxResult getInfo(@RequestParam("id") Long id) { return success(energySavingProgramService.selectEnergySavingProgramById(id)); } /** * æ°å¢ * èè½é¡¹ç®ç®¡ç */ @ApiOperation(value = "æ°å¢") @PostMapping("add") public AjaxResult add( @RequestBody EnergySavingProgramDTO dto) { return energySavingProgramService.insertEnergySavingProgram(dto); } /** * ä¿®æ¹ * èè½é¡¹ç®ç®¡ç */ @ApiOperation(value = "æ´æ°") @PostMapping("edit") public AjaxResult edit(@RequestBody EnergySavingProgramDTO dto) { return energySavingProgramService.updateEnergySavingProgram(dto); } /** * å é¤ * èè½é¡¹ç®ç®¡ç */ @DeleteMapping("del/{id}") @ApiOperation(value = "å é¤") public AjaxResult remove(@PathVariable Long id) { return energySavingProgramService.deleteEnergySavingProgramById(id); } } zhitan-admin/src/main/java/com/zhitan/web/controller/saving/PoliciesRegulationsManagementController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,84 @@ package com.zhitan.web.controller.saving; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhitan.common.core.controller.BaseController; import com.zhitan.common.core.domain.AjaxResult; import com.zhitan.common.core.page.TableDataInfo; import com.zhitan.saving.domain.dto.PoliciesRegulationsDTO; import com.zhitan.saving.domain.dto.PoliciesRegulationsManagementPageDTO; import com.zhitan.saving.domain.vo.PoliciesRegulationsManagementDetailVO; import com.zhitan.saving.domain.vo.PoliciesRegulationsManagementPageVO; import com.zhitan.saving.service.IPoliciesRegulationsManagementService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; /** * æ¿çæ³è§Controller * * @author ZhiTan * @date 2024-12-26 */ @RestController @Api(tags = "æ¿çæ³è§ç®¡ç") @RequestMapping("/policiesRegulations") public class PoliciesRegulationsManagementController extends BaseController { @Resource private IPoliciesRegulationsManagementService policiesRegulationsService; /** * æ¿çæ³è§-å表æ¥è¯¢ */ @GetMapping("/page") @ApiOperation(value = "å页å表") public TableDataInfo page(PoliciesRegulationsManagementPageDTO pageDTO) { Page<PoliciesRegulationsManagementPageVO> responsePage = policiesRegulationsService.getPageList(pageDTO); return getDataTable(responsePage); } /** * æ¿çæ³è§-æ¥è¯¢è¯¦æ */ @GetMapping("/detail") @ApiOperation(value = "æ¥è¯¢è¯¦æ ") public AjaxResult page(@RequestParam("id") Long id) { PoliciesRegulationsManagementDetailVO responsePage = policiesRegulationsService.getDetail(id); return success(responsePage); } /** * æ¿çæ³è§-æ°å¢ */ @PostMapping("/add") @ApiOperation(value = "æ°å¢") public AjaxResult add(@RequestBody @Validated PoliciesRegulationsDTO addDTO) { policiesRegulationsService.add(addDTO); return success(); } /** * æ¿çæ³è§-æ´æ° */ @PostMapping("/edit") @ApiOperation(value = "æ´æ°") public AjaxResult edit(@RequestBody @Validated PoliciesRegulationsDTO editDTO) { policiesRegulationsService.edit(editDTO); return success(); } /** * æ¿çæ³è§-å é¤ */ @DeleteMapping("/delete/{id}") @ApiOperation(value = "å é¤") public AjaxResult delete(@PathVariable("id") Long id) { policiesRegulationsService.delete(id); return success(); } } zhitan-admin/target/classes/META-INF/spring-devtools.properties
ÎļþÒÑɾ³ý zhitan-admin/target/classes/application-dev.yml
ÎļþÒÑɾ³ý zhitan-admin/target/classes/application-prod.yml
ÎļþÒÑɾ³ý zhitan-admin/target/classes/application.yml
ÎļþÒÑɾ³ý zhitan-admin/target/classes/banner.txt
ÎļþÒÑɾ³ý zhitan-admin/target/classes/i18n/messages.properties
ÎļþÒÑɾ³ý zhitan-admin/target/classes/logback.xml
ÎļþÒÑɾ³ý zhitan-admin/target/classes/mybatis/mybatis-config.xml
ÎļþÒÑɾ³ý zhitan-common/src/main/java/com/zhitan/common/constant/CommonConst.java
@@ -1,5 +1,7 @@ package com.zhitan.common.constant; import java.math.BigDecimal; /** * @Description: 常éå°è£ * @author: yxw @@ -22,10 +24,7 @@ * å符串æ°å -1 */ public static final String STR_NUMBER_MINUS_ONE = "-1"; /** * å符串æ°å 0 */ public static final String STR_NUMBER_0 = "0"; /** * å符串æ°å 1 */ @@ -107,6 +106,90 @@ */ public static final int DIGIT_4 = 4; /** * æ°å 5 */ public static final int DIGIT_5 = 5; /** * æ°å 6 */ public static final int DIGIT_6 = 6; /** * æ°å 7 */ public static final int DIGIT_7 = 7; /** * æ°å 8 */ public static final int DIGIT_8 = 8; /** * æ°å 9 */ public static final int DIGIT_9 = 9; /** * æ°å 10 */ public static final int DIGIT_10 = 10; /** * æ°å 11 */ public static final int DIGIT_11 = 11; /** * æ°å 12 */ public static final int DIGIT_12 = 12; /** * æ°å 13 */ public static final int DIGIT_13 = 13; /** * æ°å 14 */ public static final int DIGIT_14 = 14; /** * æ°å 15 */ public static final int DIGIT_15 = 15; /** * æ°å 16 */ public static final int DIGIT_16 = 16; /** * æ°å 23 */ public static final int DIGIT_23 = 23; /** * æ°å 24 */ public static final int DIGIT_24 = 24; /** * æ°å 30 */ public static final int DIGIT_30 = 30; /** * æ°å 31 */ public static final int DIGIT_31 = 31; /** * æ°å 32 */ public static final int DIGIT_32 = 32; /** * æ°å 3600 */ public static final int DIGIT_3600 = 3600; /** * æ°å 50 */ public static final int DIGIT_50 = 50; /** * æ°å 59 */ public static final int DIGIT_59 = 59; /** * æ°å 150 */ public static final int DIGIT_150 = 150; /** * æ°å 100 */ public static final int DIGIT_100 = 100; @@ -122,6 +205,48 @@ * æ°å -3 */ public static final int DIGIT_MINUS_3 = -3; /** * æ°å 500 */ public static final int DIGIT_500 = 500; /** * æ°å 10000 */ public static final int DIGIT_10000 = 10000; /** * æ°å 100000000 */ public static final int DIGIT_100000000 = 100000000; /** * æå°å¼åå§å */ public static final double MIN_INIT_VALUE = -99; /** * DOUBLE æ°å0.0 */ public static final Double DOUBLE_ZERO = 0.0; /** * æ°å -5 */ public static final int DIGIT_MINUS_5 = -5; /** * æ°å -6 */ public static final int DIGIT_MINUS_6 = -6; /** * æ°å -11 */ public static final int DIGIT_MINUS_11 = -11; /** * æ°å -12 */ public static final int DIGIT_MINUS_12 = -12; /** * 计ç®ç¹è¯å«è§å 累积é */ @@ -142,4 +267,924 @@ * éç®æ¥å£å°å */ public static final String RE_CALC_INTERFACE_ADDRESS = "http://127.0.0.1:8999/computing/recalc"; //////////////////////////////// /** * æ£å¸¸ç¶æ */ public static final Integer STATUS_NORMAL = 0; /** * ç¦ç¨ç¶æ */ public static final Integer STATUS_DISABLE = -1; /** * å 餿 å¿ */ public static final Integer DEL_FLAG_1 = 1; /** * æªå é¤ */ public static final Integer DEL_FLAG_0 = 0; /** * ç³»ç»æ¥å¿ç±»åï¼ ç»å½ */ public static final int LOG_TYPE_1 = 1; /** * ç³»ç»æ¥å¿ç±»åï¼ æä½ */ public static final int LOG_TYPE_2 = 2; /** * æä½æ¥å¿ç±»åï¼ æ¥è¯¢ */ public static final int OPERATE_TYPE_1 = 1; /** * æä½æ¥å¿ç±»åï¼ æ·»å */ public static final int OPERATE_TYPE_2 = 2; /** * æä½æ¥å¿ç±»åï¼ æ´æ° */ public static final int OPERATE_TYPE_3 = 3; /** * æä½æ¥å¿ç±»åï¼ å é¤ */ public static final int OPERATE_TYPE_4 = 4; /** * æä½æ¥å¿ç±»åï¼ åå ¥ */ public static final int OPERATE_TYPE_5 = 5; /** * æä½æ¥å¿ç±»åï¼ å¯¼åº */ public static final int OPERATE_TYPE_6 = 6; /** * ç¾åä¹0 */ public static final String PERCENTAGE_ZERO = "0.00%"; /** * ç¾åå· */ public static final String PERCENTAGE_FLAG = "%"; /** * ä¿ç两ä½å°æ° */ public static final String KEEP_TWO_DECIMAL = "%.2f"; /** * ç§æ·1 */ public static final int TENANT_1 = 1; /** * {@code 500 Server Error} (HTTP/1.0 - RFC 1945) */ public static final Integer SC_INTERNAL_SERVER_ERROR_500 = 500; /** * {@code 200 OK} (HTTP/1.0 - RFC 1945) */ public static final Integer SC_OK_200 = 200; /** * è®¿é®æéè®¤è¯æªéè¿ 510 */ public static final Integer SC_JEECG_NO_AUTHZ = 510; /** * ç»å½ç¨æ·Shiroæéç¼åKEYåç¼ */ public static String PREFIX_USER_SHIRO_CACHE = "shiro:cache:org.jeecg.config.shiro.ShiroRealm.authorizationCache:"; /** * ç»å½ç¨æ·Token令çç¼åKEYåç¼ */ public static final String PREFIX_USER_TOKEN = "user:token:"; /** * å¯ä¸ç»å½ç»å½ç¨æ·Token令çç¼åKEYåç¼ */ public static final String PREFIX_ONLY_USER_TOKEN = "only:user:token:"; /** * å¯ä¸ç»å½ç»å½è¢«ç¦»çº¿åæ è¯åç¼ */ public static final String PREFIX_ONLY_USER_SINGLE_TOKEN = "prefix_only_user_single_token_"; /** * ç»å½ç¨æ·ç§æ·redisç¼åä¿¡æ¯åç§° */ public static final String PREFIX_TENANT_INFO_NAME = "sys:tenant:name:"; /** * Tokenç¼åæ¶é´ï¼3600ç§å³ä¸å°æ¶ */ public static final int TOKEN_EXPIRE_TIME = 3600; /** * 0ï¼ä¸çº§èå */ public static final Integer MENU_TYPE_0 = 0; /** * 1ï¼åèå */ public static final Integer MENU_TYPE_1 = 1; /** * 2ï¼æé®æé */ public static final Integer MENU_TYPE_2 = 2; /** * éå对象类åï¼USER:æå®ç¨æ·ï¼ALL:å ¨ä½ç¨æ·ï¼ */ public static final String MSG_TYPE_UESR = "USER"; public static final String MSG_TYPE_ALL = "ALL"; /** * åå¸ç¶æï¼0æªåå¸ï¼1å·²åå¸ï¼2å·²æ¤éï¼ */ public static final String NO_SEND = "0"; public static final String HAS_SEND = "1"; public static final String HAS_CANCLE = "2"; /** * é è¯»ç¶æï¼0æªè¯»ï¼1å·²è¯»ï¼ */ public static final String HAS_READ_FLAG = "1"; public static final String NO_READ_FLAG = "0"; /** * ä¼å 级ï¼Lä½ï¼Mä¸ï¼Hé«ï¼ */ public static final String PRIORITY_L = "L"; public static final String PRIORITY_M = "M"; public static final String PRIORITY_H = "H"; /** * çä¿¡æ¨¡æ¿æ¹å¼ 0 .ç»å½æ¨¡æ¿ã1.æ³¨åæ¨¡æ¿ã2.å¿è®°å¯ç æ¨¡æ¿ */ public static final String SMS_TPL_TYPE_0 = "0"; public static final String SMS_TPL_TYPE_1 = "1"; public static final String SMS_TPL_TYPE_2 = "2"; /** * ç¶æ(0æ æ1ææ) */ public static final String STATUS_0 = "0"; public static final String STATUS_1 = "1"; /** * 忥工使µå¼æ1忥0ä¸åæ¥ */ public static final Integer ACT_SYNC_1 = 1; public static final Integer ACT_SYNC_0 = 0; /** * æ¶æ¯ç±»å1:éç¥å ¬å2:ç³»ç»æ¶æ¯ */ public static final String MSG_CATEGORY_1 = "1"; public static final String MSG_CATEGORY_2 = "2"; /** * æ¯å¦é ç½®èåçæ°æ®æé 1æ¯0å¦ */ public static final Integer RULE_FLAG_0 = 0; public static final Integer RULE_FLAG_1 = 1; /** * æ¯å¦ç¨æ·å·²è¢«å»ç» 1æ£å¸¸(è§£å») 2å»ç» */ public static final Integer USER_UNFREEZE = 1; public static final Integer USER_FREEZE = 2; /** * åå ¸ç¿»è¯ææ¬åç¼ */ public static final String DICT_TEXT_SUFFIX = "_dictText"; /** * 表å设计å¨ä¸»è¡¨ç±»å */ public static final Integer DESIGN_FORM_TYPE_MAIN = 1; /** * 表å设计å¨å表表类å */ public static final Integer DESIGN_FORM_TYPE_SUB = 2; /** * 表å设计å¨URLææéè¿ */ public static final Integer DESIGN_FORM_URL_STATUS_PASSED = 1; /** * 表å设计å¨URLæææªéè¿ */ public static final Integer DESIGN_FORM_URL_STATUS_NOT_PASSED = 2; /** * 表åè®¾è®¡å¨æ°å¢ Flag */ public static final String DESIGN_FORM_URL_TYPE_ADD = "add"; /** * 表å设计å¨ä¿®æ¹ Flag */ public static final String DESIGN_FORM_URL_TYPE_EDIT = "edit"; /** * 表å设计å¨è¯¦æ Flag */ public static final String DESIGN_FORM_URL_TYPE_DETAIL = "detail"; /** * 表å设计å¨å¤ç¨æ°æ® Flag */ public static final String DESIGN_FORM_URL_TYPE_REUSE = "reuse"; /** * 表å设计å¨ç¼è¾ Flag ï¼å·²å¼ç¨ï¼ */ public static final String DESIGN_FORM_URL_TYPE_VIEW = "view"; /** * onlineåæ°å¼è®¾ç½®ï¼æ¯ï¼Y, å¦ï¼Nï¼ */ public static final String ONLINE_PARAM_VAL_IS_TURE = "Y"; public static final String ONLINE_PARAM_VAL_IS_FALSE = "N"; /** * æä»¶ä¸ä¼ ç±»åï¼æ¬å°ï¼localï¼Minioï¼minioï¼é¿éäºï¼aliossï¼ */ public static final String UPLOAD_TYPE_LOCAL = "local"; public static final String UPLOAD_TYPE_MINIO = "minio"; public static final String UPLOAD_TYPE_OSS = "alioss"; /** * ææ¡£ä¸ä¼ èªå®ä¹æ¡¶åç§° */ public static final String UPLOAD_CUSTOM_BUCKET = "eoafile"; /** * ææ¡£ä¸ä¼ èªå®ä¹è·¯å¾ */ public static final String UPLOAD_CUSTOM_PATH = "eoafile"; /** * æä»¶å¤é¾æ¥ææå¤©æ° */ public static final Integer UPLOAD_EFFECTIVE_DAYS = 1; /** * å工身份 ï¼1:æ®éåå·¥ 2:ä¸çº§ï¼ */ public static final Integer USER_IDENTITY_1 = 1; public static final Integer USER_IDENTITY_2 = 2; /** * sys_user 表 username å¯ä¸é®ç´¢å¼ */ public static final String SQL_INDEX_UNIQ_SYS_USER_USERNAME = "uniq_sys_user_username"; /** * sys_user 表 work_no å¯ä¸é®ç´¢å¼ */ public static final String SQL_INDEX_UNIQ_SYS_USER_WORK_NO = "uniq_sys_user_work_no"; /** * sys_user 表 phone å¯ä¸é®ç´¢å¼ */ public static final String SQL_INDEX_UNIQ_SYS_USER_PHONE = "uniq_sys_user_phone"; /** * sys_user 表 email å¯ä¸é®ç´¢å¼ */ public static final String SQL_INDEX_UNIQ_SYS_USER_EMAIL = "uniq_sys_user_email"; /** * sys_quartz_job 表 job_class_name å¯ä¸é®ç´¢å¼ */ public static final String SQL_INDEX_UNIQ_JOB_CLASS_NAME = "uniq_job_class_name"; /** * sys_position 表 code å¯ä¸é®ç´¢å¼ */ public static final String SQL_INDEX_UNIQ_CODE = "uniq_code"; /** * sys_role 表 code å¯ä¸é®ç´¢å¼ */ public static final String SQL_INDEX_UNIQ_SYS_ROLE_CODE = "uniq_sys_role_role_code"; /** * sys_depart 表 code å¯ä¸é®ç´¢å¼ */ public static final String SQL_INDEX_UNIQ_DEPART_ORG_CODE = "uniq_depart_org_code"; /** * å¨çº¿è天 æ¯å¦ä¸ºé»è®¤åç» */ public static final String IM_DEFAULT_GROUP = "1"; /** * å¨çº¿è天 å¾çæä»¶ä¿åè·¯å¾ */ public static final String IM_UPLOAD_CUSTOM_PATH = "imfile"; /** * å¨çº¿è天 ç¨æ·ç¶æ */ public static final String IM_STATUS_ONLINE = "online"; /** * å¨çº¿è天 SOCKETæ¶æ¯ç±»å */ public static final String IM_SOCKET_TYPE = "chatMessage"; /** * å¨çº¿è天 æ¯å¦å¼å¯é»è®¤æ·»å 好å 1æ¯ 0å¦ */ public static final String IM_DEFAULT_ADD_FRIEND = "1"; /** * å¨çº¿è天 ç¨æ·å¥½åç¼ååç¼ */ public static final String IM_PREFIX_USER_FRIEND_CACHE = "sys:cache:im:im_prefix_user_friend_"; /** * èå¤è¡¥å¡ä¸å¡ç¶æ ï¼1ï¼åæ 2ï¼ä¸åæï¼ */ public static final String SIGN_PATCH_BIZ_STATUS_1 = "1"; public static final String SIGN_PATCH_BIZ_STATUS_2 = "2"; /** * å ¬æææ¡£ä¸ä¼ èªå®ä¹è·¯å¾ */ public static final String UPLOAD_CUSTOM_PATH_OFFICIAL = "officialdoc"; /** * å ¬æææ¡£ä¸è½½èªå®ä¹è·¯å¾ */ public static final String DOWNLOAD_CUSTOM_PATH_OFFICIAL = "officaldown"; /** * WPSåå¨å¼ç±»å«(1 codeæå· 2 textï¼WPS模æ¿è¿æ¯å ¬æåææ¨¡æ¿ï¼) */ public static final String WPS_TYPE_1 = "1"; public static final String WPS_TYPE_2 = "2"; public final static String X_ACCESS_TOKEN = "X-Access-Token"; public final static String X_SIGN = "X-Sign"; public final static String X_TIMESTAMP = "X-TIMESTAMP"; public final static String TOKEN_IS_INVALID_MSG = "Token失æï¼è¯·éæ°ç»å½!"; public final static String TOKEN_IS_SINGLE_MSG = "æ¨å·²ç»å¨å ¶ä»å°æ¹ç»å½!"; /** * å¤ç§æ· 请æ±å¤´ */ public final static String TENANT_ID = "tenant-id"; /** * å¾®æå¡è¯»åé ç½®æä»¶å±æ§ æå¡å°å */ public final static String CLOUD_SERVER_KEY = "spring.cloud.nacos.discovery.server-addr"; /** * ç³»ç»éåæ¶æ¯ç¶æï¼0=æªåå¸ */ public static final String ANNOUNCEMENT_SEND_STATUS_0 = "0"; /** * ç³»ç»éåæ¶æ¯ç¶æï¼1=å·²åå¸ */ public static final String ANNOUNCEMENT_SEND_STATUS_1 = "1"; /** * ç³»ç»éåæ¶æ¯ç¶æï¼2=å·²æ¤é */ public static final String ANNOUNCEMENT_SEND_STATUS_2 = "2"; /** * æ 鿥è¦è®¾ç½®ç¹ä½æ¨¡æé */ public static final String SEN_ALARM_CONF_VAL_TYPE_ANALOG = "analogQuantity"; /** * æ 鿥è¦è®¾ç½®ç¹ä½ç¶æé */ public static final String SEN_ALARM_CONF_VAL_TYPE_STATE = "stateQuantity"; public static final String WHERE = "WHERE"; public static final String ADMIN = "admin"; public static final String ADMIN_NAME = "管çå"; public static final String LOCAL_IP = "127.0.0.1"; /** * 常éå符串 ç©ºæ ¼ */ public static final String SPACE = " "; /** * 常éå符串 éå· */ public static final String STR_COMMA = ","; /** * ä¸å线 */ public static final String STR_UNDERLINE = "_"; /** * 常éå符串 䏿éå· */ public static final String CHINESE_STR_COMMA = "ï¼"; /** * ååå· - */ public static final String SINGLE_MINUS_SIGN = "-"; /** * æçº¿ / */ public static final String STR_SLASH = "/"; /** * å å· + */ public static final String STR_PLUS = "+"; /** * åèäºå ¥ */ public static final String STR_ROUNDING = "%.2f"; /** * å符串æ°å 0 */ public static final String STR_NUMBER_0 = "0"; /** * å符串æ°å 0.00 */ public static final String STR_NUMBER_0_00 = "0.00"; /** * å符串æ°å 0.0000 */ public static final String STR_NUMBER_0_0000 = "0.0000"; /** * å符串æ°å 100% */ public static final String STR_NUMBER_100 = "100%"; /** * å符串æ°å 0% */ public static final String STR_NUMBER_PERCENTAGE_0 = "0%"; /** * å符串æ°å 100.00% */ public static final String STR_NUMBER_PERCENTAGE_100 = "100.00%"; /** * 大å忝 H */ public static final String WORD_H = "H"; /** * 忝 LJL */ public static final String WORD_LJL = "LJL"; /** * å°æ°0 */ public static final double DIGIT_DOUBLE_0 = 0D; /** * å°æ°0 */ public static final double DIGIT_DOUBLE_00 = 0.00D; /** * å°æ°1 */ public static final double DIGIT_DOUBLE_1 = 1.0D; /** * å°æ°100 */ public static final double DIGIT_DOUBLE_100 = 100D; /** * æ¶é´é´é15åé */ public static final int TIME_SPAN_MINUTES_15 = 1000 * 60 * 15; /** * æ¶é´é´é60åé */ public static final int TIME_SPAN_MINUTES_60 = 1000 * 60 * 60; /** * æ¯å¹´çææ° */ public static final int MONTHS_OF_YEAR = 12; /** * æ¯æçå¤©æ° */ public static final int DAYS_OF_MONTH = 31; /** * æ¯å¤©çå°æ¶æ° */ public static final int HOURS_OF_DAY = 24; /** * æ¯å°æ¶çåéæ° */ public static final int MINUTES_OF_HOUR = 60; /** * æ¯åéçç§æ° */ public static final int SECOND_OF_MINUTES = 60; /** * ä¸ä¸ªç¹ä½ä¸å°æ¶çæ°æ®é */ public static final int DATA_AMOUNT_ONE_POINT_ONE_HOUR = 4; /** * 计ç®ç¹è¯å«è§å 累积é,sqlæ¥è¯¢ä½¿ç¨ */ public static final String COMMON_STR_CALC_POINT_RULE_LJL_SQL = "\\_LJL"; /** * æ°æ®åºæ¥è¯¢ç»¼åè½èåç¼ */ public static final String COMMON_STR_CALC_POINT_RULE_ZHNH_SQL = "\\_ZHNH"; /** * å°å³°å¹³è°·çæé ç½® */ public static final String COMMON_JFPG_NOW_CONFIGURE = "NOW"; /** * å°å³°å¹³è°·å¾ çæé ç½® */ public static final String COMMON_JFPG_NEXT_CONFIGURE = "NEXT"; /*** * 人æ°å¸åä½ */ public static final String MONEY_UNIT_RMB = "å "; /** * åè®¡è¡æ°æ®å */ public static final String TABLE_ROW_NAME_SUM = "å计"; /** * æ¾ç¤ºå符串 - è´¹ç¨ */ public static final String STRING_SHOW_COST = "è´¹ç¨"; /** * æ¾ç¤ºå符串 - è´¹ */ public static final String STRING_SHOW_COST_CHARGE = "è´¹"; /** * æ¾ç¤ºå符串 - ç¨ */ public static final String STRING_SHOW_USE = "ç¨"; /** * æ¾ç¤ºå符串 - é */ public static final String STRING_SHOW_CONSUMPTION = "é"; /** * åºå®åå proportionTotal */ public static final String ENERGY_CONSUME_PROP_NAME_PROPORTION_TOTAL = "proportionTotal"; /** * åºå®åå consumeTotal */ public static final String ENERGY_CONSUME_PROP_NAME_CONSUME_TOTAL = "consumeTotal"; /** * è½æºåä½ */ public static final String ENERGY_CONSUME_PROP_NAME_CONSUME_UNIT = "consumeUnit"; /** * åºå®åå energyTotal */ public static final String ENERGY_CONSUME_PROP_NAME_ENERGY_TOTAL = "energyTotal"; /** * åºå®åå costTotal */ public static final String ENERGY_CONSUME_PROP_NAME_COST_TOTAL = "costTotal"; /** * æ¶èéåä½ */ public static final String ENERGY_CONSUME_PROP_NAME_ENERGY_UNIT = "energyUnit"; /** * æ»æååçç¹ä½æ¨¡æ¿code */ public static final String TAG_CODE_ZYGGL = "\\_ActivePower_Total"; /** * æ»æååçç¹ä½æ¨¡æ¿code */ public static final String TAG_CODE_ZYGGL_IN_CODE = "_ActivePower_Total"; /** * æååçCode */ public static final String TAG_CODE_ZYGGL_PART = "\\_ActivePower"; /** * æ»æ ååçç¹ä½æ¨¡æ¿code */ public static final String TAG_CODE_ZWGGL = "ReactivePower_Total"; /** * æ ååçCode */ public static final String TAG_CODE_ZWGGL_PART = "ReactivePower"; /** * æ»åçå æ° ç¹ä½æ¨¡æ¿code */ public static final String TAG_CODE_GLYS = "PowerFactor_Total"; /** * çµæµ */ public static final String TAG_CODE_CURRENT = "Current_"; /** * çµå */ public static final String TAG_CODE_VOLTAGE = "Voltage_"; /** * åçå æ° */ public static final String TAG_CODE_FACTOR = "PowerFactor_"; /** * åçå æ° */ public static final String TAG_CODE_FACTOR_PART = "PowerFactor"; /** * Aç¸ */ public static final String A_PHASE = "A"; /** * Bç¸ */ public static final String B_PHASE = "B"; /** * Cç¸ */ public static final String C_PHASE = "C"; /** * è½æºè®¡ç®ç±»å(ééç¹) */ public static final String ENERGY_INDEX_TYPE_COLLECT = "COLLECT"; /** * è½æºç±»å(计ç®ç¹) */ public static final String ENERGY_INDEX_TYPE_CALCULATE = "CALCULATE"; /** * æ» */ public static final String TOTAL = "Total"; /** * name */ public static final String STR_NAME = "name"; /** * Aç¸çµæµ */ public static final String TAG_CODE_CURRENT_A = "Current_A"; /** * Bç¸çµæµ */ public static final String TAG_CODE_CURRENT_B = "Current_B"; /** * Cç¸çµæµ */ public static final String TAG_CODE_CURRENT_C = "Current_C"; /** * Aç¸çµå */ public static final String TAG_CODE_VOLTAGE_A = "Voltage_A"; /** * Bç¸çµå */ public static final String TAG_CODE_VOLTAGE_B = "Voltage_B"; /** * Cç¸çµå */ public static final String TAG_CODE_VOLTAGE_C = "Voltage_C"; /** * Aç¸åçå æ° */ public static final String TAG_CODE_FACTOR_A = "PowerFactor_A_Total"; /** * Bç¸åçå æ° */ public static final String TAG_CODE_FACTOR_B = "PowerFactor_B_Total"; /** * Cç¸åçå æ° */ public static final String TAG_CODE_FACTOR_C = "PowerFactor_C_Total"; /** * æ»åçå æ° */ public static final String TAG_CODE_FACTOR_TOTAL = "PowerFactor_Total"; /** * çµåè´è·åä½ */ public static final String ELECTRIC_LOAD_UNIT = "(kW)"; /** * çµåè´è·åä½ */ public static final String ELECTRIC_LOAD_UNIT_SHOW = "kW"; /** * çµæµåä½ A */ public static final String ELECTRICITY_CURRENT_UNIT_A = "A"; /** * çµååä½ V */ public static final String ELECTRICITY_VOLTAGE_UNIT_V = "V"; /** * ç¬¦å· - ç¾åå· */ public static final String SYMBOL_PERCENT = "%"; /** * ç¨æ°´éãå¤©ç¶æ°éãè¸æ±½éåä½ */ public static final String CUBIC_METER = "m³"; /** * ç¨çµéåä½ */ public static final String ELECTRICITY_CONSUMPTION = "kWh"; /** * 综åè½èåä½ */ public static final String ENERGY_CONSUME = "tce"; /** * æ¶é´æ¾ç¤ºå符åç¼ */ public static final String TIME_UNIT_SHOW_HOUR = "æ¶"; /** * 屿§å段åç§° value */ public static final String PROP_NAME_VALUE = "value"; /** * 屿§å段åç§° cost */ public static final String PROP_NAME_COST = "cost"; /** * å° */ public static final String TIP = "tip"; /** * å³° */ public static final String PEAK = "peak"; /** * å¹³ */ public static final String FLAT = "flat"; /** * è°· */ public static final String TROUGH = "trough"; /** * å æ¯ **/ public static final String ENERGY_ENTRY_PROPORTION = "proportion"; /** * æ»æ° **/ public static final String ENERGY_ENTRY_TOTAL = "total"; /** * è®¡ç®æ¶èçå ¬å¼ **/ public static final String FEL_ENERGY_ENTRY_CONSUMPTION_CALC = "total*proportion"; /** * æ åæ¶é´ **/ public static final String STANDARD_TIME = "GMT+8"; /** * å符串OK */ public static final String STR_OK = "ok"; /** * è¡¥å 使°0 */ public static final String COMPLEMENTARY_DIGIT_0 = "%02d"; /** * çµåç级 */ public static final String GENERAL_STR_DYDJ = "çµåç级"; /** * çµåç级åä½ */ public static final String GENERAL_STR_DYDJ_UNIT = "kV"; /** * ååå¨å°æ° */ public static final String GENERAL_STR_BYQTS = "ååå¨å°æ°"; /** * ååå¨å°æ°åä½ */ public static final String GENERAL_STR_BYQTS_UNIT = "å°"; /** * è£ æºå®¹é */ public static final String GENERAL_STR_ZJRL = "è£ æºå®¹é"; /** * è£ æºå®¹éåä½ */ public static final String GENERAL_STR_ZJRL_UNIT = "kVA"; /** * è¿è¡å®¹é */ public static final String GENERAL_STR_YXRL = "è¿è¡å®¹é"; /** * æååç */ public static final String GENERAL_STR_YGGL = "æååç"; /** * æ ååç */ public static final String GENERAL_STR_WGGL = "æ ååç"; /** * æ ååçåä½ */ public static final String GENERAL_STR_WGGL_UNIT = "kvar"; /** * è½æºå¯¹æ¯-忝 */ public static final String ENERGY_COMPARISON_YOY = "YOY"; /** * è½æºå¯¹æ¯-ç¯æ¯ */ public static final String ENERGY_COMPARISON_MOM = "MOM"; /** * å¯å¨ */ public static final String START = "å¯å¨"; /** * 忢 */ public static final String STOP = "忢"; /*** * åä½-亿åç¦æ¶ */ public static final String UNIT_TWH = "亿 Kwh"; /*** * åä½-ä¸åç¦æ¶ */ public static final String UNIT_MILLION_KWH = "ä¸ Kwh"; /*** * åä½-å¨ */ public static final String UNIT_TONS = "å¨"; /*** * åä½-忝-å¨ */ public static final String UNIT_LETTERS_TONS = "t"; /*** * åä½è½¬æ¢-ç¾-100 */ public static final BigDecimal UNIT_CONVERSION_100 = new BigDecimal(DIGIT_100); /*** * åä½è½¬æ¢-å¨-1000 */ public static final BigDecimal UNIT_CONVERSION_1000 = new BigDecimal(DIGIT_1000); /*** * åä½è½¬æ¢-ä¸-10000 */ public static final BigDecimal UNIT_CONVERSION_10000 = new BigDecimal(DIGIT_10000); /*** * åä½è½¬æ¢-亿-100000000 */ public static final BigDecimal UNIT_CONVERSION_100000000 = new BigDecimal(DIGIT_100000000); /** * åå ¸-ç¢³ææ¾ç³»æ° */ public static final String DICT_CARBON_COEFFICIENT = "carbon_emission_coefficient"; /** * WEIGHTY */ public static final String WEIGHTY = "WEIGHTY"; /** * å */ public static final String ENERGY_UNIT_TYPE_FACTORY = "FACTORY"; /** * è½¦é´ */ public static final String ENERGY_UNIT_TYPE_WORKPLACE = "WORKPLACE"; /** * å·¥åº */ public static final String ENERGY_UNIT_TYPE_PROCESS = "PROCESS"; /** * è®¾å¤ */ public static final String ENERGY_UNIT_TYPE_DEVICE = "DEVICE"; } zhitan-common/src/main/java/com/zhitan/common/core/domain/BaseEntity.java
@@ -1,5 +1,6 @@ package com.zhitan.common.core.domain; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; @@ -26,20 +27,25 @@ private String searchValue; /** å建è */ @TableField(fill = FieldFill.INSERT) private String createBy; /** å建æ¶é´ */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @TableField(fill = FieldFill.INSERT) private Date createTime; /** æ´æ°è */ @TableField(fill = FieldFill.UPDATE) private String updateBy; /** æ´æ°æ¶é´ */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @TableField(fill = FieldFill.UPDATE) private Date updateTime; /** 夿³¨ */ @TableField(exist = false) private String remark; /** æ°æ®æé */ zhitan-common/src/main/java/com/zhitan/common/utils/PageUtils.java
@@ -41,4 +41,15 @@ return new Page(pageNum,pageSize); } public static <T> Page<T> getPageInfo() { PageDomain pageDomain = TableSupport.buildPageRequest(); return new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize()); } public static <R> Page<R> getPageInfo(Class<R> R) { PageDomain pageDomain = TableSupport.buildPageRequest(); return new Page<R>(pageDomain.getPageNum(), pageDomain.getPageSize()); } } zhitan-common/src/main/java/com/zhitan/common/utils/id/IdGenUtil.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ package com.zhitan.common.utils.id; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import java.util.UUID; /** * çæID * @author Geoffrey * @date 2024/12/31 */ public class IdGenUtil { public static long nextLongId() { return IncrLongIdUtil.nextLongId(); } public static String randomId() { long id = IdWorker.getId(); return String.valueOf(id); } public static Integer nextIntegerId() { return Math.abs(UUID.randomUUID().hashCode()); } } zhitan-common/src/main/java/com/zhitan/common/utils/id/IncrLongIdUtil.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,41 @@ package com.zhitan.common.utils.id; import java.util.concurrent.atomic.AtomicInteger; /** * longid * @author Geoffrey * @date 2024/12/31 */ public class IncrLongIdUtil { private static final int INCR_PART_LIMIT_VALUE = 10000; private static final AtomicInteger ID_INCR_PART_TEMP = new AtomicInteger(INCR_PART_LIMIT_VALUE); private static final StringBuffer ID_BUILDER = new StringBuffer(); private static transient long baseTime = System.currentTimeMillis() / 1000; private static final String DATA_CENTER_ID = "0"; // 0-9 public static synchronized long nextLongId() { ID_BUILDER.setLength(0); long currentTime = System.currentTimeMillis() / 1000; if (currentTime > baseTime) { ID_INCR_PART_TEMP.set(INCR_PART_LIMIT_VALUE); baseTime = currentTime; } int index = ID_INCR_PART_TEMP.incrementAndGet(); if (index >= (INCR_PART_LIMIT_VALUE * 10 - 1)) { if (currentTime == baseTime) { try { Thread.sleep(1000); currentTime = System.currentTimeMillis() / 1000; baseTime = currentTime; } catch (InterruptedException e) { // do nothing } } ID_INCR_PART_TEMP.set(INCR_PART_LIMIT_VALUE); } String longStr = ID_BUILDER.append(currentTime).append(DATA_CENTER_ID).append(index).toString(); return Long.parseLong(longStr); } } zhitan-generator/target/classes/generator.yml
ÎļþÒÑɾ³ý zhitan-generator/target/classes/mapper/generator/GenTableColumnMapper.xml
ÎļþÒÑɾ³ý zhitan-generator/target/classes/mapper/generator/GenTableMapper.xml
ÎļþÒÑɾ³ý zhitan-generator/target/classes/vm/java/controller.java.vm
ÎļþÒÑɾ³ý zhitan-generator/target/classes/vm/java/domain.java.vm
ÎļþÒÑɾ³ý zhitan-generator/target/classes/vm/java/mapper.java.vm
ÎļþÒÑɾ³ý zhitan-generator/target/classes/vm/java/service.java.vm
ÎļþÒÑɾ³ý zhitan-generator/target/classes/vm/java/serviceImpl.java.vm
ÎļþÒÑɾ³ý zhitan-generator/target/classes/vm/java/sub-domain.java.vm
ÎļþÒÑɾ³ý zhitan-generator/target/classes/vm/js/api.js.vm
ÎļþÒÑɾ³ý zhitan-generator/target/classes/vm/sql/sql.vm
ÎļþÒÑɾ³ý zhitan-generator/target/classes/vm/vue/index-tree.vue.vm
ÎļþÒÑɾ³ý zhitan-generator/target/classes/vm/vue/index.vue.vm
ÎļþÒÑɾ³ý zhitan-generator/target/classes/vm/vue/v3/index-tree.vue.vm
ÎļþÒÑɾ³ý zhitan-generator/target/classes/vm/vue/v3/index.vue.vm
ÎļþÒÑɾ³ý zhitan-generator/target/classes/vm/xml/mapper.xml.vm
ÎļþÒÑɾ³ý zhitan-quartz/target/classes/mapper/quartz/SysJobLogMapper.xml
ÎļþÒÑɾ³ý zhitan-quartz/target/classes/mapper/quartz/SysJobMapper.xml
ÎļþÒÑɾ³ý zhitan-system/src/main/java/com/zhitan/peakvalley/domain/dto/PeakValleyDTO.java
@@ -1,6 +1,7 @@ package com.zhitan.peakvalley.domain.dto; import com.zhitan.common.enums.TimeType; import com.zhitan.common.utils.StringUtils; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; @@ -49,17 +50,19 @@ public String getTimeType() { String result = TimeType.DAY.name(); switch (TimeType.valueOf(this.timeType)) { case HOUR: case DAY: return TimeType.HOUR.name(); case MONTH: return TimeType.DAY.name(); result= TimeType.HOUR.name(); break; case YEAR: return TimeType.MONTH.name(); result= TimeType.MONTH.name(); break; case MONTH: default: return TimeType.DAY.name(); break; } return result; } } zhitan-system/src/main/java/com/zhitan/saving/domain/dto/EnergySavingProgramDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,57 @@ package com.zhitan.saving.domain.dto; import com.fasterxml.jackson.annotation.JsonFormat; import com.zhitan.common.annotation.Excel; import io.swagger.annotations.ApiModel; import lombok.Data; import java.util.Date; /** * @author Geoffrey * @date 2025/01/13 */ @Data @ApiModel(value = "èè½é¡¹ç®DTO") public class EnergySavingProgramDTO { private Long id; /** * èè½è®¡å */ private String plan; /** * 宿æ¶é´ */ @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "宿æ¶é´", width = 30, dateFormat = "yyyy-MM-dd") private Date completionTime; /** * 项ç®ç»é¿ */ @Excel(name = "项ç®ç»é¿") private String liablePerson; /** * 宿½è®¡å */ private String implementationPlan; /** * å½åå·¥ä½ */ private String currentWork; /** * è约é */ private String savingAmount; /** * 夿³¨ */ private String remark; } zhitan-system/src/main/java/com/zhitan/saving/domain/dto/PoliciesRegulationsDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,57 @@ package com.zhitan.saving.domain.dto; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.annotations.ApiModel; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.util.Date; /** * @author Geoffrey * @date 2025/01/13 */ @Data @ApiModel(value = "æ¿çç®¡çæ°å¢DTO") public class PoliciesRegulationsDTO { @JsonSerialize(using = ToStringSerializer.class) private Long id; /** * æ¿çæ é¢ */ @NotBlank(message = "请è¾å ¥æ¿çæ é¢") private String title; /** * æ¿çç±»å */ @NotNull(message = "è¯·éæ©æ¿çç±»å") private String type; /** * å°åé¨é¨ */ @NotBlank(message = "请è¾å ¥å°åé¨é¨") private String dept; /** * å°åæ¶é´ */ @NotNull(message = "è¯·éæ©å°åæ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date issuingTime; /** * æä»¶å°å */ @NotBlank(message = "请ä¸ä¼ æä»¶") private String url; } zhitan-system/src/main/java/com/zhitan/saving/domain/dto/PoliciesRegulationsManagementPageDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package com.zhitan.saving.domain.dto; import io.swagger.annotations.ApiModel; import lombok.Data; /** * @author Geoffrey * @date 2025/01/13 */ @Data @ApiModel(value = "PoliciesRegulationsManagementPageDTO", description = "æ¿çæ³è§-å表æ¥è¯¢Dto") public class PoliciesRegulationsManagementPageDTO { /** * ç±»å */ private String type; /** * æ é¢ */ private String title; } zhitan-system/src/main/java/com/zhitan/saving/domain/entity/EnergySavingProgram.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,74 @@ package com.zhitan.saving.domain.entity; import com.fasterxml.jackson.annotation.JsonFormat; import com.zhitan.common.annotation.Excel; import com.zhitan.common.core.domain.BaseEntity; import io.swagger.annotations.ApiModel; import lombok.Data; import java.util.Date; /** * èè½é¡¹ç®ç®¡ç * * @author Geoffrey * @date 2025/01/13 */ @Data @ApiModel(value = "EnergySavingProgram", description = "èè½é¡¹ç®ç®¡çå®ä½") public class EnergySavingProgram extends BaseEntity { private static final long serialVersionUID = 1L; /** * $column.columnComment */ private Long id; /** * æ»ä½è®¡å */ @Excel(name = "æ»ä½è®¡å") private String plan; /** * 宿æ¶é´ */ @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "宿æ¶é´", width = 30, dateFormat = "yyyy-MM-dd") private Date completionTime; /** * 项ç®ç»é¿ */ @Excel(name = "项ç®ç»é¿") private String liablePerson; /** * 宿½è®¡å */ private String implementationPlan; /** * å½åå·¥ä½ */ private String currentWork; /** * è约é */ private String savingAmount; /** * 夿³¨ */ private String remark; /** * æ¯å¦å é¤ */ @Excel(name = "æ¯å¦å é¤") private Long del; } zhitan-system/src/main/java/com/zhitan/saving/domain/entity/PoliciesRegulationsManagement.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,64 @@ package com.zhitan.saving.domain.entity; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.zhitan.common.annotation.Excel; import com.zhitan.common.core.domain.BaseEntity; import io.swagger.annotations.ApiModel; import lombok.Data; import java.util.Date; /** * æ¿çæ³è§å¯¹è±¡ * @author Geoffrey * @date 2025/01/13 */ @Data @TableName(value = "policies_regulations_management") @ApiModel(value = "PoliciesRegulationsManagement", description = "æ¿çæ³è§å¯¹è±¡") public class PoliciesRegulationsManagement extends BaseEntity { private static final long serialVersionUID = 1L; /** * id */ private Long id; /** * æ¿çæ é¢ */ @Excel(name = "æ¿çæ é¢") private String title; /** * æ¿çç±»å */ @Excel(name = "æ¿çç±»å") private String type; /** * å°åé¨é¨ */ @Excel(name = "å°åé¨é¨") private String dept; /** * å°åæ¶é´ */ @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "å°åæ¶é´", width = 30, dateFormat = "yyyy-MM-dd") private Date issuingTime; /** * æä»¶å°å */ @Excel(name = "æä»¶å°å") private String url; /** * å 餿 å¿ï¼0ï¼æ£å¸¸ï¼1ï¼å é¤ï¼ */ private Integer delFlag; } zhitan-system/src/main/java/com/zhitan/saving/domain/vo/DropdownListVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,24 @@ package com.zhitan.saving.domain.vo; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; /** * 䏿å表vo * @Author DYL **/ @Data public class DropdownListVO { /** * id */ @JsonSerialize(using = ToStringSerializer.class) private Long id; /** * åç§° */ private String name; } zhitan-system/src/main/java/com/zhitan/saving/domain/vo/EnergySavingProgramVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,15 @@ package com.zhitan.saving.domain.vo; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.zhitan.saving.domain.entity.EnergySavingProgram; /** * èè½é¡¹ç®ç®¡ç VO * @author Geoffrey * @date 2025/01/13 */ public class EnergySavingProgramVO extends EnergySavingProgram { @JsonSerialize(using = ToStringSerializer.class) private Long id; } zhitan-system/src/main/java/com/zhitan/saving/domain/vo/PoliciesRegulationsManagementDetailVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,57 @@ package com.zhitan.saving.domain.vo; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.zhitan.common.annotation.Excel; import lombok.Data; import java.util.Date; /** * æ¿çæ³è§å¯¹è±¡vo * @author Geoffrey * @date 2025/01/13 */ @Data public class PoliciesRegulationsManagementDetailVO { /** * id */ @JsonSerialize(using = ToStringSerializer.class) private Long id; /** * æ¿çæ é¢ */ @Excel(name = "æ¿çæ é¢") private String title; /** * æ¿çç±»å */ @Excel(name = "æ¿çç±»å") private String type; /** * å°åé¨é¨ */ @Excel(name = "å°åé¨é¨") private String dept; /** * å°åæ¶é´ */ @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "å°åæ¶é´", width = 30, dateFormat = "yyyy-MM-dd") private Date issuingTime; /** * æä»¶å°å */ @Excel(name = "æä»¶å°å") private String address; } zhitan-system/src/main/java/com/zhitan/saving/domain/vo/PoliciesRegulationsManagementPageVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,62 @@ package com.zhitan.saving.domain.vo; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.zhitan.common.annotation.Excel; import lombok.Data; import java.util.Date; /** * æ¿çæ³è§page vo * @author Geoffrey * @date 2025/01/13 */ @Data public class PoliciesRegulationsManagementPageVO { /** * id */ @JsonSerialize(using = ToStringSerializer.class) private Long id; /** * æ¿çæ é¢ */ @Excel(name = "æ¿çæ é¢") private String title; /** * æ¿çç±»å */ @Excel(name = "æ¿çç±»å") private String type; /** * æ¿çç±»ååç§° */ private String typeName; /** * å°åé¨é¨ */ @Excel(name = "å°åé¨é¨") private String dept; /** * å°åæ¶é´ */ @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "å°åæ¶é´", width = 30, dateFormat = "yyyy-MM-dd") private Date issuingTime; /** * æä»¶å°å */ @Excel(name = "æä»¶å°å") private String url; } zhitan-system/src/main/java/com/zhitan/saving/mapper/EnergySavingProgramMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,27 @@ package com.zhitan.saving.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.zhitan.saving.domain.entity.EnergySavingProgram; /** * èè½é¡¹ç®ç®¡ç * Mapperæ¥å£ * * @author ZhiTan * @date 2024-12-26 */ public interface EnergySavingProgramMapper extends BaseMapper<EnergySavingProgram> { /** * æ¥è¯¢ * èè½é¡¹ç®ç®¡ç * * @param id èè½é¡¹ç®ç®¡ç * ä¸»é® * @return èè½é¡¹ç®ç®¡ç */ EnergySavingProgram selectEnergySavingProgramById(Long id); } zhitan-system/src/main/java/com/zhitan/saving/mapper/PoliciesRegulationsManagementMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,29 @@ package com.zhitan.saving.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhitan.common.annotation.DataSource; import com.zhitan.common.enums.DataSourceType; import com.zhitan.saving.domain.dto.PoliciesRegulationsManagementPageDTO; import com.zhitan.saving.domain.entity.PoliciesRegulationsManagement; import com.zhitan.saving.domain.vo.PoliciesRegulationsManagementPageVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; /** * æ¿çæ³è§Mapperæ¥å£ * * @author ZhiTan * @date 2024-12-26 */ @Mapper public interface PoliciesRegulationsManagementMapper extends BaseMapper<PoliciesRegulationsManagement> { /** * æ¿çæ³è§-å表å页æ¥è¯¢ */ Page<PoliciesRegulationsManagementPageVO> getPageList(Page<PoliciesRegulationsManagementPageVO> pageInfo, @Param("dto") PoliciesRegulationsManagementPageDTO pageDTO); } zhitan-system/src/main/java/com/zhitan/saving/service/IEnergySavingProgramService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,68 @@ package com.zhitan.saving.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.zhitan.common.core.domain.AjaxResult; import com.zhitan.saving.domain.entity.EnergySavingProgram; import com.zhitan.saving.domain.dto.EnergySavingProgramDTO; import com.zhitan.saving.domain.vo.EnergySavingProgramVO; /** * èè½é¡¹ç®ç®¡ç * Serviceæ¥å£ * * @author ZhiTan * @date 2024-12-26 */ public interface IEnergySavingProgramService extends IService<EnergySavingProgram> { /** * æ¥è¯¢ * èè½é¡¹ç®ç®¡ç * * @param id èè½é¡¹ç®ç®¡ç * ä¸»é® * @return èè½é¡¹ç®ç®¡ç */ EnergySavingProgram selectEnergySavingProgramById(Long id); /** * æ¥è¯¢ * èè½é¡¹ç®ç®¡ç * å表 * * @param energySavingProgram èè½é¡¹ç®ç®¡ç * @return èè½é¡¹ç®ç®¡ç * éå */ Page<EnergySavingProgramVO> selectEnergySavingProgramList(EnergySavingProgram energySavingProgram); /** * æ°å¢ * èè½é¡¹ç®ç®¡ç * * @param dto * @return ç»æ */ AjaxResult insertEnergySavingProgram(EnergySavingProgramDTO dto); /** * ä¿®æ¹ * èè½é¡¹ç®ç®¡ç * * @param dto * @return ç»æ */ AjaxResult updateEnergySavingProgram(EnergySavingProgramDTO dto); /** * å é¤ * èè½é¡¹ç®ç®¡ç * ä¿¡æ¯ * * @param id èè½é¡¹ç®ç®¡ç * ä¸»é® * @return ç»æ */ AjaxResult deleteEnergySavingProgramById(Long id); } zhitan-system/src/main/java/com/zhitan/saving/service/IPoliciesRegulationsManagementService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,43 @@ package com.zhitan.saving.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.zhitan.saving.domain.entity.PoliciesRegulationsManagement; import com.zhitan.saving.domain.dto.PoliciesRegulationsDTO; import com.zhitan.saving.domain.dto.PoliciesRegulationsManagementPageDTO; import com.zhitan.saving.domain.vo.PoliciesRegulationsManagementDetailVO; import com.zhitan.saving.domain.vo.PoliciesRegulationsManagementPageVO; /** * æ¿çæ³è§Serviceæ¥å£ * * @author ZhiTan * @date 2024-12-26 */ public interface IPoliciesRegulationsManagementService extends IService<PoliciesRegulationsManagement> { /** * æ¿çæ³è§-å表æ¥è¯¢ */ Page<PoliciesRegulationsManagementPageVO> getPageList(PoliciesRegulationsManagementPageDTO pageDTO); /** * æ¿çæ³è§-æ¥è¯¢è¯¦æ */ PoliciesRegulationsManagementDetailVO getDetail(Long id); /** * æ¿çæ³è§-æ°å¢ */ void add(PoliciesRegulationsDTO addDTO); /** * æ¿çæ³è§-æ´æ° */ void edit(PoliciesRegulationsDTO editDTO); /** * æ¿çæ³è§-å é¤ */ void delete(Long id); } zhitan-system/src/main/java/com/zhitan/saving/service/impl/EnergySavingProgramServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,153 @@ package com.zhitan.saving.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zhitan.common.constant.CommonConst; import com.zhitan.common.core.domain.AjaxResult; import com.zhitan.common.exception.ServiceException; import com.zhitan.common.utils.DateUtils; import com.zhitan.common.utils.PageUtils; import com.zhitan.common.utils.bean.BeanUtils; import com.zhitan.saving.domain.dto.EnergySavingProgramDTO; import com.zhitan.saving.domain.entity.EnergySavingProgram; import com.zhitan.saving.domain.vo.EnergySavingProgramVO; import com.zhitan.saving.mapper.EnergySavingProgramMapper; import com.zhitan.saving.service.IEnergySavingProgramService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.text.ParseException; import java.util.ArrayList; import java.util.List; /** * èè½é¡¹ç®ç®¡ç * Serviceä¸å¡å±å¤ç * * @author ZhiTan * @date 2024-12-26 */ @Service public class EnergySavingProgramServiceImpl extends ServiceImpl<EnergySavingProgramMapper, EnergySavingProgram> implements IEnergySavingProgramService { @Resource private EnergySavingProgramMapper energySavingProgramMapper; /** * æ¥è¯¢ * èè½é¡¹ç®ç®¡ç * * @param id èè½é¡¹ç®ç®¡ç * ä¸»é® * @return èè½é¡¹ç®ç®¡ç */ @Override public EnergySavingProgram selectEnergySavingProgramById(Long id) { return energySavingProgramMapper.selectEnergySavingProgramById(id); } /** * æ¥è¯¢ * èè½é¡¹ç®ç®¡ç * å表 * * @param energySavingProgram èè½é¡¹ç®ç®¡ç * @return èè½é¡¹ç®ç®¡ç */ @Override public Page<EnergySavingProgramVO> selectEnergySavingProgramList( EnergySavingProgram energySavingProgram) { Page< EnergySavingProgram> pageInfo = PageUtils.getPageInfo( EnergySavingProgram.class); Page< EnergySavingProgram> energySavingProgramPage = this.baseMapper.selectPage(pageInfo, new LambdaQueryWrapper< EnergySavingProgram>().eq(EnergySavingProgram::getDel, CommonConst.DEL_FLAG_0) // .eq(ObjectUtils.isNotEmpty(energySavingProgram.getEndTime()), EnergySavingProgram::getEndTime, energySavingProgram.getEndTime()) .orderByDesc(EnergySavingProgram::getCreateTime) ); List< EnergySavingProgram> energySavingProgramList = energySavingProgramPage.getRecords(); List<EnergySavingProgramVO> voList = new ArrayList<>(); energySavingProgramList.stream().forEach(indexInfo -> { EnergySavingProgramVO infoVO = new EnergySavingProgramVO(); BeanUtils.copyProperties(indexInfo, infoVO); voList.add(infoVO); }); Page<EnergySavingProgramVO> responsePage = PageUtils.getPageInfo(EnergySavingProgramVO.class); responsePage.setTotal(energySavingProgramPage.getTotal()); responsePage.setRecords(voList); return responsePage; } /** * æ°å¢ * èè½é¡¹ç®ç®¡ç * * @param dto * @return ç»æ * @throws ParseException */ @Override @Transactional public AjaxResult insertEnergySavingProgram(EnergySavingProgramDTO dto) { EnergySavingProgram energySavingProgram = new EnergySavingProgram(); BeanUtils.copyProperties(dto, energySavingProgram); energySavingProgram.setCreateTime(DateUtils.getNowDate()); energySavingProgram.setDel(0L); return AjaxResult.success(energySavingProgramMapper.insert(energySavingProgram)); } /** * ä¿®æ¹ * èè½é¡¹ç®ç®¡ç * * @param dto * @return ç»æ */ @Override @Transactional public AjaxResult updateEnergySavingProgram(EnergySavingProgramDTO dto) { EnergySavingProgram vo = this.baseMapper.selectEnergySavingProgramById(dto.getId()); if (vo == null) { throw new ServiceException("æªæ¾å°å¯¹åºå®ä½"); } else { BeanUtils.copyProperties(dto, vo); vo.setDel(CommonConst.DEL_FLAG_0.longValue()); int i = energySavingProgramMapper.updateById(vo); return AjaxResult.success(i); } } /** * å é¤ * èè½é¡¹ç®ç®¡ç * ä¿¡æ¯ * * @param id èè½é¡¹ç®ç®¡ç * ä¸»é® * @return ç»æ */ @Override @Transactional public AjaxResult deleteEnergySavingProgramById(Long id) { EnergySavingProgram vo = this.baseMapper.selectEnergySavingProgramById(id); if (vo == null) { throw new ServiceException("æªæ¾å°å¯¹åºå®ä½"); } else { vo.setUpdateTime(DateUtils.getNowDate()); vo.setDel(CommonConst.DEL_FLAG_1.longValue()); int i = energySavingProgramMapper.updateById(vo); return AjaxResult.success(i); } } } zhitan-system/src/main/java/com/zhitan/saving/service/impl/PoliciesRegulationsManagementServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,110 @@ package com.zhitan.saving.service.impl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zhitan.common.constant.CommonConst; import com.zhitan.common.exception.ServiceException; import com.zhitan.common.utils.PageUtils; import com.zhitan.common.utils.SecurityUtils; import com.zhitan.common.utils.bean.BeanUtils; import com.zhitan.common.utils.id.IdGenUtil; import com.zhitan.saving.domain.dto.PoliciesRegulationsDTO; import com.zhitan.saving.domain.dto.PoliciesRegulationsManagementPageDTO; import com.zhitan.saving.domain.entity.PoliciesRegulationsManagement; import com.zhitan.saving.domain.vo.PoliciesRegulationsManagementDetailVO; import com.zhitan.saving.domain.vo.PoliciesRegulationsManagementPageVO; import com.zhitan.saving.mapper.PoliciesRegulationsManagementMapper; import com.zhitan.saving.service.IPoliciesRegulationsManagementService; import org.apache.commons.lang3.ObjectUtils; import org.springframework.stereotype.Service; /** * æ¿çæ³è§Serviceä¸å¡å±å¤ç * * @author ZhiTan * @date 2024-12-26 */ @Service public class PoliciesRegulationsManagementServiceImpl extends ServiceImpl<PoliciesRegulationsManagementMapper, PoliciesRegulationsManagement> implements IPoliciesRegulationsManagementService { /** * æ¿çæ³è§-å表æ¥è¯¢ */ @Override public Page<PoliciesRegulationsManagementPageVO> getPageList(PoliciesRegulationsManagementPageDTO pageDTO) { Page<PoliciesRegulationsManagementPageVO> pageInfo = PageUtils.getPageInfo(PoliciesRegulationsManagementPageVO.class); return baseMapper.getPageList(pageInfo, pageDTO); } /** * æ¿çæ³è§-æ¥è¯¢è¯¦æ */ @Override public PoliciesRegulationsManagementDetailVO getDetail(Long id) { PoliciesRegulationsManagement policiesRegulationsManagement = baseMapper.selectById(id); if (ObjectUtils.isEmpty(policiesRegulationsManagement)) { return null; } PoliciesRegulationsManagementDetailVO detailVO = new PoliciesRegulationsManagementDetailVO(); BeanUtils.copyProperties(policiesRegulationsManagement, detailVO); return detailVO; } /** * æ¿çæ³è§-æ°å¢ */ @Override public void add(PoliciesRegulationsDTO addDTO) { long pid = IdGenUtil.nextLongId(); String username = SecurityUtils.getUsername(); PoliciesRegulationsManagement policiesRegulationsManagement = new PoliciesRegulationsManagement(); policiesRegulationsManagement.setId(pid); policiesRegulationsManagement.setDelFlag(0); policiesRegulationsManagement.setCreateBy(username); BeanUtils.copyProperties(addDTO, policiesRegulationsManagement); // æ°å¢æ¿çæ³è§ baseMapper.insert(policiesRegulationsManagement); } /** * æ¿çæ³è§-æ´æ° */ @Override public void edit(PoliciesRegulationsDTO editDTO) { if (ObjectUtils.isEmpty(editDTO.getId())) { throw new ServiceException("æ¿çIDä¸è½ä¸ºç©º"); } // è·åæ¿çæ³è§ PoliciesRegulationsManagement policiesRegulationsManagement = baseMapper.selectById(editDTO.getId()); if (ObjectUtils.isEmpty(policiesRegulationsManagement)) { throw new ServiceException("æªæ¾å°å¯¹åºå®ä½"); } BeanUtils.copyProperties(editDTO, policiesRegulationsManagement); baseMapper.updateById(policiesRegulationsManagement); } /** * æ¿çæ³è§-å é¤ */ @Override public void delete(Long id) { // è·åæ¿çæ³è§ PoliciesRegulationsManagement policiesRegulationsManagement = baseMapper.selectById(id); if (ObjectUtils.isEmpty(policiesRegulationsManagement)) { throw new ServiceException("æªæ¾å°å¯¹åºå®ä½"); } policiesRegulationsManagement.setDelFlag(CommonConst.DEL_FLAG_1); baseMapper.updateById(policiesRegulationsManagement); } } zhitan-system/src/main/java/com/zhitan/system/service/impl/SysConfigServiceImpl.java
@@ -49,7 +49,6 @@ * @return åæ°é ç½®ä¿¡æ¯ */ @Override @DataSource(DataSourceType.MASTER) public SysConfig selectConfigById(Long configId) { SysConfig config = new SysConfig(); zhitan-system/src/main/resources/mapper/saving/EnergySavingProgramMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,39 @@ <?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="com.zhitan.saving.mapper.EnergySavingProgramMapper"> <resultMap type="EnergySavingProgram" id="EnergySavingProgramResult"> <result property="id" column="id" /> <result property="name" column="name" /> <result property="plan" column="plan" /> <result property="target" column="target" /> <result property="startTime" column="start_time" /> <result property="endTime" column="end_time" /> <result property="liablePerson" column="liable_person" /> <result property="formulateTime" column="formulate_time" /> <result property="implementationPlan" column="implementation_plan" /> <result property="currentWork" column="current_work" /> <result property="savingAmount" column="saving_amount" /> <result property="remark" column="remark" /> <result property="createBy" column="create_by" /> <result property="updateBy" column="update_by" /> <result property="createTime" column="create_time" /> <result property="updateTime" column="update_time" /> <result property="del" column="del" /> </resultMap> <sql id="selectEnergySavingProgramVo"> select id,plan,completion_time,liable_person,create_by,update_by,create_time,update_time,del,implementation_plan,current_work,saving_amount,remark from energy_saving_program </sql> <select id="selectEnergySavingProgramById" parameterType="Long" resultMap="EnergySavingProgramResult"> <include refid="selectEnergySavingProgramVo"/> where id = #{id} </select> </mapper> zhitan-system/src/main/resources/mapper/saving/PoliciesRegulationsManagementMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,29 @@ <?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="com.zhitan.saving.mapper.PoliciesRegulationsManagementMapper"> <select id="getPageList" resultType="com.zhitan.saving.domain.vo.PoliciesRegulationsManagementPageVO"> select prm.id, prm.title, prm.type, prm.dept, prm.issuing_time, prm.url, sdd.dict_label as typeName from policies_regulations_management AS prm left join sys_dict_data AS sdd on prm.type = sdd.dict_value <where> prm.del_flag = 0 <if test="dto.type != null"> and prm.type = #{dto.type} </if> <if test="dto.title != null and dto.title != ''"> and prm.title like concat('%',#{dto.title},'%') </if> </where> order by prm.issuing_time desc </select> </mapper> zhitan-system/target/classes/mapper/alarm/AlarmItemMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/alarm/AlarmLimitTypeMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/alarm/HistoryAlarmMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/alarm/RealtimeAlarmMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/auxiliaryinput/ProductOutputMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/basicdata/FacilityAnnexMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/basicdata/FacilityArchivesMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/basicdata/MeterAnnexMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/basicdata/MeterImplementCountMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/basicdata/MeterImplementMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/basicdata/SysEnerclassMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/basicdata/SysEnergyMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/comprehensivestatistics/ComprehensiveStatisticsMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/comprehensivestatistics/DailyComprehensiveMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/dataitem/DataItemMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/energyIndicators/EnergyIndicatorsMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/gatewaysetting/GatewaySettingMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/keyequipment/DailyKeyEquipmentMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/keyequipment/MonthlyKeyEquipmentMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/keyequipment/YearKeyEquipmentMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/meter/MeterImplementMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/model/CalcFunctionMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/model/DaqTemplateMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/model/EnergyIndexMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/model/IndexFormulaMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/model/IndexStorageMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/model/ModelInfoMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/model/ModelNodeMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/peakvalley/ElectricityDataItemMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/peakvalley/ElectricityPriceDateMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/peakvalley/EletricityPriceMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/realtimedata/PeriodDataMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/realtimedata/SysEquipmentFileMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/system/SysConfigMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/system/SysDeptMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/system/SysDictDataMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/system/SysDictTypeMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/system/SysLoginInfoMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/system/SysMenuMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/system/SysNameConfigMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/system/SysNoticeMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/system/SysOperLogMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/system/SysPostMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/system/SysRoleDeptMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/system/SysRoleMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/system/SysRoleMenuMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/system/SysUserMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/system/SysUserPostMapper.xml
ÎļþÒÑɾ³ý zhitan-system/target/classes/mapper/system/SysUserRoleMapper.xml
ÎļþÒÑɾ³ý zhitan-vue/src/api/policy/policy.js
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,44 @@ import request from "@/utils/request" // è·åå表 export function policyPage(params) { return request({ url: "/policiesRegulations/page", method: "get", params, }) } // æ°å¢ export function policyAdd(data) { return request({ url: "/policiesRegulations/add", method: "post", data, }) } // æ¥è¯¦æ export function policyInfo(params) { return request({ url: "/policiesRegulations/detail?id=" + params, method: "get", }) } // ç¼è¾ export function policyEdit(data) { return request({ url: "/policiesRegulations/edit", method: "post", data, }) } //å é¤ export function policyDel(id) { return request({ url: "/policiesRegulations/delete/" + id, method: "delete", }) } zhitan-vue/src/api/policy/project.js
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,44 @@ import request from "@/utils/request" // è·åå表 export function projectPage(params) { return request({ url: "/energySavingProject/page", method: "get", params, }) } // æ°å¢ export function projectAdd(data) { return request({ url: "/energySavingProject/add", method: "post", data, }) } // æ¥è¯¦æ export function projectInfo(params) { return request({ url: "/energySavingProject/getById?id=" + params, method: "get", }) } // ç¼è¾ export function projectEdit(data) { return request({ url: "/energySavingProject/edit", method: "post", data, }) } //å é¤ export function projectDel(id) { return request({ url: "/energySavingProject/del/" + id, method: "delete", }) } zhitan-vue/src/components/FileUpload/index.vue
@@ -20,8 +20,12 @@ <!-- ä¸ä¼ æç¤º --> <div class="el-upload__tip" v-if="showTip"> 请ä¸ä¼ <template v-if="fileSize"> 大å°ä¸è¶ è¿ <b style="color: #f56c6c">{{ fileSize }}MB</b> </template> <template v-if="fileType"> æ ¼å¼ä¸º <b style="color: #f56c6c">{{ fileType.join("/") }}</b> </template> <template v-if="fileSize"> 大å°ä¸è¶ è¿ <b style="color: #f56c6c">{{ fileSize }}MB</b> </template> <template v-if="fileType"> æ ¼å¼ä¸º <b style="color: #f56c6c">{{ fileType.join("/") }}</b> </template> çæä»¶ </div> <!-- æä»¶å表 --> @@ -39,7 +43,7 @@ </template> <script setup> import { getToken } from "@/utils/auth"; import { getToken } from "@/utils/auth" const props = defineProps({ modelValue: [String, Object, Array], // æ°ééå¶ @@ -55,110 +59,112 @@ // æä»¶ç±»å, ä¾å¦['png', 'jpg', 'jpeg'] fileType: { type: Array, default: () => ["doc", "xls", "ppt", "txt", "pdf","docx"], default: () => ["doc", "xls", "ppt", "txt", "pdf", "docx"], }, // æ¯å¦æ¾ç¤ºæç¤º isShowTip: { type: Boolean, default: true } }); default: true, }, }) const { proxy } = getCurrentInstance(); const emit = defineEmits(); const number = ref(0); const uploadList = ref([]); const baseUrl = import.meta.env.VITE_APP_BASE_API; const uploadFileUrl = ref(import.meta.env.VITE_APP_BASE_API + "/common/upload"); // ä¸ä¼ æä»¶æå¡å¨å°å const headers = ref({ Authorization: "Bearer " + getToken() }); const fileList = ref([]); const showTip = computed( () => props.isShowTip && (props.fileType || props.fileSize) ); const { proxy } = getCurrentInstance() const emit = defineEmits() const number = ref(0) const uploadList = ref([]) const baseUrl = import.meta.env.VITE_APP_BASE_API const uploadFileUrl = ref(import.meta.env.VITE_APP_BASE_API + "/common/upload") // ä¸ä¼ æä»¶æå¡å¨å°å const headers = ref({ Authorization: "Bearer " + getToken() }) const fileList = ref([]) const showTip = computed(() => props.isShowTip && (props.fileType || props.fileSize)) watch(() => props.modelValue, val => { if (val) { let temp = 1; // é¦å å°å¼è½¬ä¸ºæ°ç» const list = Array.isArray(val) ? val : props.modelValue.split(','); // ç¶åå°æ°ç»è½¬ä¸ºå¯¹è±¡æ°ç» fileList.value = list.map(item => { if (typeof item === "string") { item = { name: item, url: item }; } item.uid = item.uid || new Date().getTime() + temp++; return item; }); } else { fileList.value = []; return []; } },{ deep: true, immediate: true }); watch( () => props.modelValue, (val) => { if (val) { let temp = 1 // é¦å å°å¼è½¬ä¸ºæ°ç» const list = Array.isArray(val) ? val : props.modelValue.split(",") // ç¶åå°æ°ç»è½¬ä¸ºå¯¹è±¡æ°ç» fileList.value = list.map((item) => { if (typeof item === "string") { item = { name: item, url: item } } item.uid = item.uid || new Date().getTime() + temp++ return item }) } else { fileList.value = [] return [] } }, { deep: true, immediate: true } ) // ä¸ä¼ åæ ¡æ£æ ¼å¼åå¤§å° function handleBeforeUpload(file) { // æ ¡æ£æä»¶ç±»å if (props.fileType.length) { const fileName = file.name.split('.'); const fileExt = fileName[fileName.length - 1]; const isTypeOk = props.fileType.indexOf(fileExt) >= 0; const fileName = file.name.split(".") const fileExt = fileName[fileName.length - 1] const isTypeOk = props.fileType.indexOf(fileExt) >= 0 if (!isTypeOk) { proxy.$modal.msgError(`æä»¶æ ¼å¼ä¸æ£ç¡®, 请ä¸ä¼ ${props.fileType.join("/")}æ ¼å¼æä»¶!`); return false; proxy.$modal.msgError(`æä»¶æ ¼å¼ä¸æ£ç¡®, 请ä¸ä¼ ${props.fileType.join("/")}æ ¼å¼æä»¶!`) return false } } // æ ¡æ£æä»¶å¤§å° if (props.fileSize) { const isLt = file.size / 1024 / 1024 < props.fileSize; const isLt = file.size / 1024 / 1024 < props.fileSize if (!isLt) { proxy.$modal.msgError(`ä¸ä¼ æä»¶å¤§å°ä¸è½è¶ è¿ ${props.fileSize} MB!`); return false; proxy.$modal.msgError(`ä¸ä¼ æä»¶å¤§å°ä¸è½è¶ è¿ ${props.fileSize} MB!`) return false } } proxy.$modal.loading("æ£å¨ä¸ä¼ æä»¶ï¼è¯·ç¨å..."); number.value++; return true; proxy.$modal.loading("æ£å¨ä¸ä¼ æä»¶ï¼è¯·ç¨å...") number.value++ return true } // æä»¶ä¸ªæ°è¶ åº function handleExceed() { proxy.$modal.msgError(`ä¸ä¼ æä»¶æ°éä¸è½è¶ è¿ ${props.limit} 个!`); proxy.$modal.msgError(`ä¸ä¼ æä»¶æ°éä¸è½è¶ è¿ ${props.limit} 个!`) } // ä¸ä¼ 失败 function handleUploadError(err) { proxy.$modal.msgError("ä¸ä¼ æä»¶å¤±è´¥"); proxy.$modal.msgError("ä¸ä¼ æä»¶å¤±è´¥") } // ä¸ä¼ æååè° function handleUploadSuccess(res, file) { if (res.code === 200) { uploadList.value.push({ name: res.fileName, url: res.fileName }); uploadedSuccessfully(); uploadList.value.push({ name: res.fileName, url: res.fileName, fullUrl: res.url }) uploadedSuccessfully() } else { number.value--; proxy.$modal.closeLoading(); proxy.$modal.msgError(res.msg); proxy.$refs.fileUpload.handleRemove(file); uploadedSuccessfully(); number.value-- proxy.$modal.closeLoading() proxy.$modal.msgError(res.msg) proxy.$refs.fileUpload.handleRemove(file) uploadedSuccessfully() } } // å 餿件 function handleDelete(index) { fileList.value.splice(index, 1); emit("update:modelValue", fileList.value); fileList.value.splice(index, 1) emit("update:modelValue", fileList.value) } // ä¸ä¼ ç»æå¤ç function uploadedSuccessfully() { if (number.value > 0 && uploadList.value.length === number.value) { fileList.value = fileList.value.filter(f => f.url !== undefined).concat(uploadList.value); uploadList.value = []; number.value = 0; fileList.value = fileList.value.filter((f) => f.url !== undefined).concat(uploadList.value) uploadList.value = [] number.value = 0 console.log(fileList.value) emit("update:modelValue", fileList.value); proxy.$modal.closeLoading(); emit("update:modelValue", fileList.value) proxy.$modal.closeLoading() } } @@ -166,22 +172,22 @@ function getFileName(name) { // 妿æ¯urlé£ä¹åæåçåå 妿䏿¯ç´æ¥è¿å if (name.lastIndexOf("/") > -1) { return name.slice(name.lastIndexOf("/") + 1); return name.slice(name.lastIndexOf("/") + 1) } else { return name; return name } } // 对象转ææå®å符串åé function listToString(list, separator) { let strs = ""; separator = separator || ","; let strs = "" separator = separator || "," for (let i in list) { if (list[i].url) { strs += list[i].url + separator; strs += list[i].url + separator } } return strs != '' ? strs.substr(0, strs.length - 1) : ''; return strs != "" ? strs.substr(0, strs.length - 1) : "" } </script> zhitan-vue/src/utils/dict.js
@@ -1,24 +1,30 @@ import useDictStore from '@/store/modules/dict' import { getDicts } from '@/api/system/dict/data' import useDictStore from "@/store/modules/dict" import { getDicts } from "@/api/system/dict/data" /** * è·ååå ¸æ°æ® */ export function useDict(...args) { const res = ref({}); const res = ref({}) return (() => { args.forEach((dictType, index) => { res.value[dictType] = []; const dicts = useDictStore().getDict(dictType); res.value[dictType] = [] const dicts = useDictStore().getDict(dictType) if (dicts) { res.value[dictType] = dicts; res.value[dictType] = dicts } else { getDicts(dictType).then(resp => { res.value[dictType] = resp.data.map(p => ({ label: p.dictLabel, value: p.dictValue, elTagType: p.listClass, elTagClass: p.cssClass })) useDictStore().setDict(dictType, res.value[dictType]); getDicts(dictType).then((resp) => { console.log(resp) res.value[dictType] = resp.data.map((p) => ({ label: p.dictLabel, value: p.dictValue, elTagType: p.listClass, elTagClass: p.cssClass, })) useDictStore().setDict(dictType, res.value[dictType]) }) } }) return toRefs(res.value); return toRefs(res.value) })() } } zhitan-vue/src/views/energyconservation/policyrule/components/EditModal.vue
@@ -1,92 +1,116 @@ <template> <el-dialog v-model="visible" :title="title" width="600" @close="handleClose"> <el-form :model="form" ref="queryRef" :rules="formRules" label-width="120px" v-loading="loading"> <el-form-item label="æä»¶æ é¢" prop="limitName"> <el-input v-model="form.value1" placeholder="请è¾å ¥æä»¶æ é¢" /> </el-form-item> <el-form-item label="æä»¶ç±»å«"> <el-select v-model="form.value2" placeholder="è¯·éæ©"> <el-option v-for="item in 6" :key="item" :label="item" :value="item"> </el-option> </el-select> </el-form-item> </el-form> <div slot="footer" class="text-right"> <el-button type="primary" @click="submitForm" :loading="loading">ç¡® å®</el-button> <el-button @click="handleClose">å æ¶</el-button> </div> </el-dialog> <el-dialog v-model="visible" :title="title" width="600" @close="handleClose"> <el-form :model="form" ref="queryRef" :rules="formRules" label-width="120px" v-loading="loading"> <el-form-item label="æä»¶æ é¢" prop="title"> <el-input v-model="form.title" placeholder="请è¾å ¥æä»¶æ é¢" /> </el-form-item> <el-form-item label="æä»¶ç±»å«" prop="type"> <el-select v-model="form.type" placeholder="æä»¶ç±»å«" style="width: 100%"> <el-option v-for="dict in policy_sort" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> <el-form-item label="å°åé¨é¨" prop="dept"> <el-input v-model="form.dept" placeholder="请è¾å ¥å°åé¨é¨" /> </el-form-item> <el-form-item label="å°åæ¶é´" prop="issuingTime"> <el-date-picker v-model="form.issuingTime" type="date" placeholder="è¯·éæ©å°åæ¶é´" format="YYYY-MM-DD" date-format="YYYY/MM/DD" /> </el-form-item> <el-form-item label="éä»¶" prop="url"> <FileUpload :limit="1" :modelValue="fileList" @update:modelValue="(val) => (fileList = val)"></FileUpload> </el-form-item> </el-form> <div slot="footer" class="text-right"> <el-button type="primary" @click="submitForm" :loading="loading">ç¡® å®</el-button> <el-button @click="handleClose">å æ¶</el-button> </div> </el-dialog> </template> <script setup> const { proxy } = getCurrentInstance(); import { policyAdd, policyEdit } from "@/api/policy/policy" const { proxy } = getCurrentInstance() const { policy_sort } = proxy.useDict("policy_sort") let visible = ref(false) let title = ref('') let title = ref("") let loading = ref(false) let form = ref({ value1: '', value2: '', title: "", type: "", url: "", }) let emit = defineEmits(['get-list']) const fileList = ref([]) let emit = defineEmits(["get-list"]) const formRules = { value1: [{ required: true, trigger: "blur", message: "请è¾å ¥æä»¶æ é¢" }], value2: [{ required: true, trigger: "change", message: "è¯·éæ©æä»¶ç±»å" }], title: [{ required: true, trigger: "blur", message: "请è¾å ¥æä»¶æ é¢" }], type: [{ required: true, trigger: "change", message: "è¯·éæ©æä»¶ç±»å" }], } function submitForm() { proxy.$refs.queryRef.validate(valid => { if (valid) { // loading.value = true; // let obj = form.value.id ? alarmEdit(form.value) : alarmAdd(form.value) // obj.then((res) => { // if (res.code == 200) { // proxy.$modal.msgSuccess(res.message); // emit('get-list') // } else { // proxy.$modal.msgError(res.message); // } // }).catch((err) => { // }).finally(() => { // handleClose() // }); } }) proxy.$refs.queryRef.validate((valid) => { if (valid) { loading.value = true if (fileList.value.length > 0) { form.value.url = fileList.value[0].fullUrl } else { form.value.url = "" } let obj = form.value.id ? policyEdit(form.value) : policyAdd(form.value) obj .then((res) => { if (res.code == 200) { proxy.$modal.msgSuccess(res.msg) emit("get-list") handleClose() } else { proxy.$modal.msgError(res.msg) } }) .catch((err) => {}) .finally(() => { loading.value = false }) } }) } function handleOpen(row) { if (row && row.id) { title.value = "ç¼è¾æ¿çæ³è§" form.value = JSON.parse(JSON.stringify(row)) } else { title.value = "æ·»å æ¿çæ³è§" fileList.value = [] if (row && row.id) { title.value = "ç¼è¾æ¿çæ³è§" form.value = JSON.parse(JSON.stringify(row)) if (row.url) { fileList.value = [ { url: row.url, name: row.url, }, ] } visible.value = true } else { title.value = "æ·»å æ¿çæ³è§" fileList.value = [] } visible.value = true } function handleClose(value) { visible.value = false loading.value = false proxy.$refs.queryRef.resetFields() form.value = { value1: '', value2: '', } visible.value = false loading.value = false proxy.$refs.queryRef.resetFields() form.value = { value1: "", value2: "", } } defineExpose({ handleOpen }) </script> <style lang="scss" scoped></style> <style lang="scss" scoped></style> zhitan-vue/src/views/energyconservation/policyrule/policyRule.vue
@@ -1,123 +1,128 @@ <template> <div class="page"> <div class="form-card"> <el-form :model="queryParams" ref="queryRef" :inline="true" label-width="120px"> <el-form-item label="æä»¶ç±»å«"> <el-select v-model="queryParams.value1" placeholder="è¯·éæ©"> <el-option v-for="item in 6" :key="item" :label="item" :value="item"> </el-option> </el-select> </el-form-item> <el-form-item label="æä»¶æ é¢"> <el-input v-model="queryParams.value2" placeholder="请è¾å ¥æä»¶æ é¢" /> </el-form-item> <el-form-item> <el-button type="primary" icon="Search" @click="handleQuery">æç´¢</el-button> <el-button icon="Refresh" @click="resetQuery">éç½®</el-button> </el-form-item> </el-form> </div> <div class="table-box"> <div class="mt20 mb20"> <el-button type="primary" icon="plus" @click="handleAdd">æ°å¢</el-button> <!-- <el-button type="primary" icon="Delete">å é¤</el-button> --> </div> <el-table :data="tableData" v-loading="loading"> <el-table-column prop="value1" label="æä»¶æ é¢" show-overflow-tooltip align="center" /> <el-table-column prop="value2" label="æä»¶ç±»å«" show-overflow-tooltip align="center" /> <el-table-column prop="value3" label="å°åæ¶é´" show-overflow-tooltip align="center" /> <el-table-column label="æä½" width="300" align="center"> <template #default="scope"> <el-button link type="primary" icon="Edit" @click="handleAdd(scope.row)"> ä¿®æ¹ </el-button> <el-button link type="primary" icon="Delete" @click="handleDel(scope.row)"> å é¤ </el-button> </template> </el-table-column> </el-table> <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> </div> <EditModal ref="editModalRef" @get-list="getList" /> <div class="page"> <div class="form-card"> <el-form :model="queryParams" ref="queryRef" :inline="true" label-width="120px"> <el-form-item label="æä»¶æ é¢"> <el-input v-model="queryParams.title" placeholder="请è¾å ¥æä»¶æ é¢" clearable /> </el-form-item> <el-form-item label="æä»¶ç±»å«"> <el-select v-model="queryParams.type" placeholder="æä»¶ç±»å«" style="width: 100%" clearable> <el-option v-for="dict in policy_sort" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> <el-form-item> <el-button type="primary" icon="Search" @click="handleQuery">æç´¢</el-button> <el-button icon="Refresh" @click="resetQuery">éç½®</el-button> </el-form-item> </el-form> </div> <div class="table-box"> <div class="mt20 mb20"> <el-button type="primary" icon="plus" @click="handleAdd">æ°å¢</el-button> <!-- <el-button type="primary" icon="Delete">å é¤</el-button> --> </div> <el-table :data="tableData" v-loading="loading"> <el-table-column prop="title" label="æä»¶æ é¢" show-overflow-tooltip align="center" /> <el-table-column prop="typeName" label="æä»¶ç±»å«" show-overflow-tooltip align="center" /> <el-table-column prop="dept" label="å°åé¨é¨" show-overflow-tooltip align="center" /> <el-table-column prop="issuingTime" label="å°åæ¶é´" show-overflow-tooltip align="center" /> <el-table-column label="æä½" width="300" align="center"> <template #default="scope"> <el-button v-if="scope.row.url" link type="primary" icon="Files" @click="handleFile(scope.row.url)"> éä»¶ </el-button> <el-button link type="primary" icon="Edit" @click="handleAdd(scope.row)"> ä¿®æ¹ </el-button> <el-button link type="primary" icon="Delete" @click="handleDel(scope.row)"> å é¤ </el-button> </template> </el-table-column> </el-table> <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> </div> <EditModal ref="editModalRef" @get-list="getList" /> </div> </template> <script setup> import EditModal from './components/EditModal' import EditModal from "./components/EditModal" import { policyPage, policyDel } from "@/api/policy/policy" const { proxy } = getCurrentInstance() const { policy_sort } = proxy.useDict("policy_sort") let { proxy } = getCurrentInstance() let loading = ref(false); let total = ref(2); let tableData = ref([ { id: 1, value1: '1111', value2: 'value2', value3: '2024å¹´10æ17æ¥11:15:39' }, { id: 2, value1: '222', value2: '222', value3: '2024å¹´10æ17æ¥11:16:39' }]) let loading = ref(false) let total = ref(2) let tableData = ref([]) let queryParams = ref({ value1: '', value2: '', pageNum: 1, pageSize: 10, value1: "", value2: "", pageNum: 1, pageSize: 10, }) function getList() { // loading.value = true // alarmList(queryParams.value).then(res => { // console.log(res.rows) // tableData.value = res.rows // total.value = res.total // loading.value = false // }) loading.value = true policyPage(queryParams.value).then((res) => { console.log(res.rows) tableData.value = res.rows total.value = res.total loading.value = false }) } getList() let editModalRef = ref('') let editModalRef = ref("") function handleAdd(row) { if (editModalRef.value) { editModalRef.value.handleOpen(row) } if (editModalRef.value) { editModalRef.value.handleOpen(row) } } function handleDel(row) { // proxy.$modal.confirm('æ¯å¦ç¡®è®¤å 餿°æ®é¡¹?').then(function () { // return alarmDel(row.id); // }).then(() => { // getList(); // proxy.$modal.msgSuccess("å 餿å"); // }).catch(() => { }); proxy.$modal .confirm("æ¯å¦ç¡®è®¤å 餿°æ®é¡¹?") .then(function () { return policyDel(row.id) }) .then(() => { getList() proxy.$modal.msgSuccess("å 餿å") }) .catch(() => {}) } function handleFile(url) { window.open(url) } function handleQuery() { queryParams.value.pageNum = 1 getList() queryParams.value.pageNum = 1 getList() } function resetQuery() { queryParams.value = { value1: '', value2: '', pageNum: 1, pageSize: 10, } getList() queryParams.value = { value1: "", value2: "", pageNum: 1, pageSize: 10, } getList() } </script> <style lang="scss" scoped> @import "@/assets/styles/page.scss"; .header-box { :deep .el-form-item__content { color: #fff; font-size: 16px; } :deep .el-form-item__content { color: #fff; font-size: 16px; } } </style> </style> zhitan-vue/src/views/energyconservation/projectmanage/projectmanage/components/EditModal.vue
@@ -1,124 +1,124 @@ <template> <el-dialog v-model="visible" :title="title" width="600" @close="handleClose"> <el-form :model="form" ref="queryRef" :rules="formRules" label-width="120px" v-loading="loading"> <el-form-item label="项ç®åç§°" prop="value1"> <el-input v-model="form.value1" placeholder="请è¾å ¥é¡¹ç®åç§°" /> </el-form-item> <el-form-item label="èè½è®¡å" prop="value2"> <el-input v-model="form.value2" placeholder="请è¾å ¥èè½è®¡å" /> </el-form-item> <el-form-item label="èè½ç®æ " prop="value3"> <el-input v-model="form.value3" placeholder="请è¾å ¥èè½ç®æ " /> </el-form-item> <el-form-item label="å¼å§æ¶é´" prop="value4"> <el-date-picker v-model="form.value4" type="date" placeholder="è¯·éæ©å¼å§æ¶é´" format="YYYY-MM-DD" date-format="YYYY/MM/DD" /> </el-form-item> <el-form-item label="ç»ææ¶é´" prop="value5"> <el-date-picker v-model="form.value5" type="date" placeholder="è¯·éæ©ç»ææ¶é´" format="YYYY-MM-DD" date-format="YYYY/MM/DD" /> </el-form-item> <el-form-item label="è´è´£äºº" prop="value6"> <el-input v-model="form.value6" placeholder="请è¾å ¥è´è´£äºº" /> </el-form-item> <el-form-item label="å¶å®æ¶æ£" prop="value7"> <el-date-picker v-model="form.value7" type="date" placeholder="è¯·éæ©å¶å®æ¶æ£" format="YYYY-MM-DD" date-format="YYYY/MM/DD" /> </el-form-item> </el-form> <div slot="footer" class="text-right"> <el-button type="primary" @click="submitForm" :loading="loading">ç¡® å®</el-button> <el-button @click="handleClose">å æ¶</el-button> </div> </el-dialog> <el-dialog v-model="visible" :title="title" width="600" @close="handleClose"> <el-form :model="form" ref="queryRef" :rules="formRules" label-width="120px" v-loading="loading"> <el-form-item label="æ»ä½è®¡å" prop="plan"> <el-input v-model="form.plan" placeholder="请è¾å ¥æ»ä½è®¡å" /> </el-form-item> <el-form-item label="宿½è®¡å" prop="implementationPlan"> <el-input v-model="form.implementationPlan" placeholder="请è¾å ¥å®æ½è®¡å" /> </el-form-item> <el-form-item label="å½åå·¥ä½" prop="currentWork"> <el-input v-model="form.currentWork" placeholder="请è¾å ¥å½åå·¥ä½" /> </el-form-item> <el-form-item label="è约é" prop="savingAmount"> <el-input-number style="width: 100%" v-model="form.savingAmount" placeholder="请è¾å ¥è约é" /> </el-form-item> <!-- <el-form-item label="å¼å§æ¶é´" prop="value4"> <el-date-picker v-model="form.value4" type="date" placeholder="è¯·éæ©å¼å§æ¶é´" format="YYYY-MM-DD" date-format="YYYY/MM/DD" /> </el-form-item> <el-form-item label="ç»ææ¶é´" prop="value5"> <el-date-picker v-model="form.value5" type="date" placeholder="è¯·éæ©ç»ææ¶é´" format="YYYY-MM-DD" date-format="YYYY/MM/DD" /> </el-form-item> --> <el-form-item label="è´è´£äºº" prop="liablePerson"> <el-input v-model="form.liablePerson" placeholder="请è¾å ¥è´è´£äºº" /> </el-form-item> <el-form-item label="宿æ¶é´" prop="completionTime"> <el-date-picker v-model="form.completionTime" type="date" placeholder="è¯·éæ©å®ææ¶é´" format="YYYY-MM-DD" date-format="YYYY/MM/DD" /> </el-form-item> <el-form-item label="夿³¨" prop="remark"> <el-input type="textarea" v-model="form.remark" placeholder="请è¾å ¥å¤æ³¨" /> </el-form-item> </el-form> <div slot="footer" class="text-right"> <el-button type="primary" @click="submitForm" :loading="loading">ç¡® å®</el-button> <el-button @click="handleClose">å æ¶</el-button> </div> </el-dialog> </template> <script setup> import { alarmAdd, alarmEdit } from '@/api/businessConfiguration/businessConfiguration' const { proxy } = getCurrentInstance(); let props = defineProps(['alarmTypeList', 'operatorList']) import { projectEdit, projectAdd } from "@/api/policy/project" const { proxy } = getCurrentInstance() let props = defineProps(["alarmTypeList", "operatorList"]) let visible = ref(false) let title = ref('') let title = ref("") let loading = ref(false) let form = ref({ value1: null, value2: null, value3: null, value4: null, value5: null, value6: null, value7: null, plan: null, implementationPlan: null, remark: null, liablePerson: null, currentWork: null, completionTime: null, savingAmount: null, }) let emit = defineEmits(['getList']) let emit = defineEmits(["getList"]) const formRules = { value1: [{ required: true, trigger: "blur", message: "请è¾å ¥é¡¹ç®åç§°" }], value2: [{ required: true, trigger: "blur", message: "请è¾å ¥èè½è®¡å" }], value3: [{ required: true, trigger: "blur", message: "请è¾å ¥èè½ç®æ " }], value4: [{ required: true, trigger: "blur", message: "è¯·éæ©å¼å§æ¶é´" }], value5: [{ required: true, trigger: "blur", message: "è¯·éæ©ç»ææ¶é´" }], value6: [{ required: true, trigger: "blur", message: "请è¾å ¥è´è´£äºº" }], value7: [{ required: true, trigger: "blur", message: "è¯·éæ©å¶å®æ¶æ£" }], plan: [{ required: true, trigger: "blur", message: "请è¾å ¥å¿ 填项" }], implementationPlan: [{ required: true, trigger: "blur", message: "请è¾å ¥å¿ 填项" }], savingAmount: [{ required: true, trigger: "blur", message: "请è¾å ¥å¿ 填项" }], liablePerson: [{ required: true, trigger: "blur", message: "请è¾å ¥å¿ 填项" }], currentWork: [{ required: true, trigger: "blur", message: "请è¾å ¥å¿ 填项" }], } function submitForm() { proxy.$refs.queryRef.validate(valid => { if (valid) { // loading.value = true; // let obj = form.value.id ? alarmEdit(form.value) : alarmAdd(form.value) // obj.then((res) => { // if (res.code == 200) { // proxy.$modal.msgSuccess(res.message); // emit('getList') // } else { // proxy.$modal.msgError(res.message); // } // }).catch((err) => { // }).finally(() => { // handleClose() // }); } }) proxy.$refs.queryRef.validate((valid) => { if (valid) { loading.value = true let obj = form.value.id ? projectEdit(form.value) : projectAdd(form.value) obj .then((res) => { if (res.code == 200) { proxy.$modal.msgSuccess(res.msg) emit("getList") handleClose() } else { proxy.$modal.msgError(res.msg) } }) .catch((err) => {}) .finally(() => {}) } }) } function handleOpen(row) { if (row && row.id) { title.value = "ç¼è¾èè½é¡¹ç®ç®¡ç" form.value = JSON.parse(JSON.stringify(row)) } else { title.value = "æ·»å èè½é¡¹ç®ç®¡ç" } visible.value = true if (row && row.id) { title.value = "ç¼è¾èè½é¡¹ç®ç®¡ç" form.value = JSON.parse(JSON.stringify(row)) } else { title.value = "æ·»å èè½é¡¹ç®ç®¡ç" } visible.value = true } function handleClose(value) { visible.value = false loading.value = false proxy.$refs.queryRef.resetFields() form.value = { value1: null, value2: null, value3: null, value4: null, value5: null, value6: null, value7: null, } visible.value = false loading.value = false proxy.$refs.queryRef.resetFields() form.value = {} } defineExpose({ handleOpen }) </script> <style lang="scss" scoped></style> zhitan-vue/src/views/energyconservation/projectmanage/projectmanage/projectManage.vue
@@ -1,135 +1,136 @@ <template> <div class="page"> <div class="form-card"> <el-form :model="queryParams" ref="queryRef" :inline="true" label-width="120px"> <el-form-item label="项ç®åç§°"> <el-input v-model="queryParams.value1" placeholder="请è¾å ¥é¡¹ç®åç§°" /> </el-form-item> <el-form-item label="ç»è®¡æ¶é´"> <el-date-picker v-model="queryParams.value2" type="daterange" start-placeholder="éæ©å¼å§æ¶é´" end-placeholder="éæ©ç»ææ¶é´" format="YYYY-MM-DD" date-format="YYYY/MM/DD" /> </el-form-item> <el-form-item> <el-button type="primary" icon="Search" @click="handleQuery">æç´¢</el-button> <el-button icon="Refresh" @click="resetQuery">éç½®</el-button> </el-form-item> </el-form> </div> <div class="table-box"> <div class="mt20 mb20"> <el-button type="primary" icon="plus" @click="handleAdd">æ°å¢</el-button> <el-button type="primary" icon="Download" @click="handleAdd"> å¯¼åº </el-button> </div> <el-table :data="tableData" v-loading="loading"> <el-table-column prop="value1" label="项ç®åç§°" show-overflow-tooltip align="center" /> <el-table-column prop="value2" label="èè½è®¡å" show-overflow-tooltip align="center" /> <el-table-column prop="value3" label="èè½ç®æ " show-overflow-tooltip align="center" /> <el-table-column prop="value4" label="å¼å§æ¶é´" show-overflow-tooltip align="center" /> <el-table-column prop="value5" label="ç»ææ¶é´" show-overflow-tooltip align="center" /> <el-table-column prop="value6" label="è´è´£äºº" show-overflow-tooltip align="center" /> <el-table-column prop="value7" label="å¶å®æ¶æ£" show-overflow-tooltip align="center" /> <el-table-column prop="value8" label="å建人" show-overflow-tooltip align="center" /> <el-table-column label="æä½" width="300" align="center"> <template #default="scope"> <el-button link type="primary" icon="Files" @click=" "> éä»¶ </el-button> <el-button link type="primary" icon="Edit" @click="handleAdd(scope.row)"> ä¿®æ¹ </el-button> <el-button link type="primary" icon="Delete" @click="handleDel(scope.row)"> å é¤ </el-button> </template> </el-table-column> </el-table> <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> </div> <edit-modal ref="EditModalRef" @getList="getList" /> <div class="page"> <div class="form-card"> <el-form :model="queryParams" ref="queryRef" :inline="true" label-width="120px"> <el-form-item label="æ»ä½è®¡å"> <el-input v-model="queryParams.plan" placeholder="请è¾å ¥æ»ä½è®¡å" /> </el-form-item> <el-form-item label="è´è´£äºº"> <el-input v-model="queryParams.liablePerson" placeholder="请è¾å ¥è´è´£äºº" /> </el-form-item> <!-- <el-form-item label="ç»è®¡æ¶é´"> <el-date-picker v-model="queryParams.value2" type="daterange" start-placeholder="éæ©å¼å§æ¶é´" end-placeholder="éæ©ç»ææ¶é´" format="YYYY-MM-DD" date-format="YYYY/MM/DD" /> </el-form-item> --> <el-form-item> <el-button type="primary" icon="Search" @click="handleQuery">æç´¢</el-button> <el-button icon="Refresh" @click="resetQuery">éç½®</el-button> </el-form-item> </el-form> </div> <div class="table-box"> <div class="mt20 mb20"> <el-button type="primary" icon="plus" @click="handleAdd">æ°å¢</el-button> <!-- <el-button type="primary" icon="Download" @click="handleAdd"> å¯¼åº </el-button> --> </div> <el-table :data="tableData" v-loading="loading"> <el-table-column prop="plan" label="æ»ä½è®¡å" show-overflow-tooltip align="center" /> <el-table-column prop="implementationPlan" label="宿½è®¡å" show-overflow-tooltip align="center" /> <el-table-column prop="savingAmount" label="è约é" show-overflow-tooltip align="center" /> <!-- <el-table-column prop="value4" label="å¼å§æ¶é´" show-overflow-tooltip align="center" /> <el-table-column prop="value5" label="ç»ææ¶é´" show-overflow-tooltip align="center" /> --> <el-table-column prop="currentWork" label="å½åå·¥ä½" show-overflow-tooltip align="center" /> <el-table-column prop="liablePerson" label="è´è´£äºº" show-overflow-tooltip align="center" /> <el-table-column prop="completionTime" label="宿æ¶é´" show-overflow-tooltip align="center" /> <el-table-column prop="createTime" label="å建æ¶é´" show-overflow-tooltip align="center" /> <el-table-column prop="remark" label="夿³¨" show-overflow-tooltip align="center" /> <el-table-column label="æä½" width="300" align="center"> <template #default="scope"> <!-- <el-button link type="primary" icon="Files" @click=""> éä»¶ </el-button> --> <el-button link type="primary" icon="Edit" @click="handleAdd(scope.row)"> ä¿®æ¹ </el-button> <el-button link type="primary" icon="Delete" @click="handleDel(scope.row)"> å é¤ </el-button> </template> </el-table-column> </el-table> <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> </div> <edit-modal ref="EditModalRef" @getList="getList" /> </div> </template> <script setup> import EditModal from './components/EditModal.vue' import EditModal from "./components/EditModal.vue" import { projectPage, projectDel } from "@/api/policy/project" let { proxy } = getCurrentInstance() let loading = ref(false); let total = ref(0); let tableData = ref([ {id:1, value1: '1', value2: '2', value3: '3', value4: '4', value5: '5', value6: '6', value7: '7', value8: '8' }, { id:2, value1: '1', value2: '2', value3: '3', value4: '4', value5: '5', value6: '6', value7: '7', value8: '8' }, { id:3, value1: '1', value2: '2', value3: '3', value4: '4', value5: '5', value6: '6', value7: '7', value8: '8' }, { id:4, value1: '1', value2: '2', value3: '3', value4: '4', value5: '5', value6: '6', value7: '7', value8: '8' }, ]) let loading = ref(false) let total = ref(0) let tableData = ref([]) let queryParams = ref({ value1: '', value2: [], pageNum: 1, pageSize: 10, value1: "", value2: [], pageNum: 1, pageSize: 10, }) function getList() { // loading.value = true // alarmList(queryParams.value).then(res => { // console.log(res.rows) // tableData.value = res.rows // total.value = res.total // loading.value = false // }) loading.value = true projectPage(queryParams.value).then((res) => { console.log(res.rows) tableData.value = res.rows total.value = res.total loading.value = false }) } getList() let EditModalRef = ref('') let EditModalRef = ref("") function handleAdd(row) { if (EditModalRef.value) { EditModalRef.value.handleOpen(row) } if (EditModalRef.value) { EditModalRef.value.handleOpen(row) } } function handleDel(row) { // proxy.$modal.confirm('æ¯å¦ç¡®è®¤å 餿°æ®é¡¹?').then(function () { // return alarmDel(row.id); // }).then(() => { // getList(); // proxy.$modal.msgSuccess("å 餿å"); // }).catch(() => { }); proxy.$modal .confirm("æ¯å¦ç¡®è®¤å 餿°æ®é¡¹?") .then(function () { return projectDel(row.id) }) .then(() => { getList() proxy.$modal.msgSuccess("å 餿å") }) .catch(() => {}) } function handleQuery() { queryParams.value.pageNum = 1 getList() queryParams.value.pageNum = 1 getList() } function resetQuery() { queryParams.value = { value1: '', value2: [], pageNum: 1, pageSize: 10, } getList() queryParams.value = { value1: "", value2: [], pageNum: 1, pageSize: 10, } getList() } </script> <style lang="scss" scoped> @import "@/assets/styles/page.scss"; .header-box { :deep .el-form-item__content { color: #fff; font-size: 16px; } :deep .el-form-item__content { color: #fff; font-size: 16px; } } </style> </style> zhitan-vue/src/views/modelconfiguration/calculationformula/calculationFormula.vue
@@ -1,47 +1,48 @@ <template> <div class="page"> <div class="form-card"> <el-form ref="form" :inline="true" :model="queryParams" @submit.prevent label-width="80px"> <el-form-item label="彿°å"> <el-input v-model="queryParams.funcName" placeholder="请è¾å ¥å½æ°å" /> </el-form-item> <el-form-item> <el-button type="primary" icon="Search" @click="handleQuery">æç´¢</el-button> <el-button icon="Refresh" @click="resetQuery">éç½®</el-button> </el-form-item> </el-form> </div> <div class="table-box"> <el-table :data="tableData" style="width: 100%"> <el-table-column prop="funcName" label="彿°å" show-overflow-tooltip align="center"> </el-table-column> <el-table-column prop="funcText" label="彿°ææ¬" show-overflow-tooltip align="center"> </el-table-column> <el-table-column prop="info" label="ä»ç»" show-overflow-tooltip align="center"> </el-table-column> <el-table-column prop="prop" label="æä½" width="150" align="center"> <div class="page"> <div class="form-card"> <el-form ref="form" :inline="true" :model="queryParams" @submit.prevent label-width="80px"> <el-form-item label="彿°å"> <el-input v-model="queryParams.funcName" placeholder="请è¾å ¥å½æ°å" /> </el-form-item> <el-form-item> <el-button type="primary" icon="Search" @click="handleQuery">æç´¢</el-button> <el-button icon="Refresh" @click="resetQuery">éç½®</el-button> </el-form-item> </el-form> </div> <div class="table-box"> <el-table :data="tableData" style="width: 100%"> <el-table-column prop="funcName" label="彿°å" show-overflow-tooltip align="center"> </el-table-column> <el-table-column prop="funcText" label="彿°ææ¬" show-overflow-tooltip align="center"> </el-table-column> <el-table-column prop="info" label="ä»ç»" show-overflow-tooltip align="center"> </el-table-column> <!-- <el-table-column prop="prop" label="æä½" width="150" align="center"> <template #default="scope"> <el-button link type="primary" icon="Delete" @click="handleDel(scope.row)"> å é¤ </el-button> </template> </el-table-column> </el-table> <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> </div> </el-table-column> --> </el-table> <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> </div> </div> </template> <script setup> import { delFunction, listFunction } from '@/api/modelConfiguration/indexWarehouse'; import { delFunction, listFunction } from "@/api/modelConfiguration/indexWarehouse" let { proxy } = getCurrentInstance() let queryParams = ref({ funcName: '', pageNum: 1, pageSize: 10, funcName: "", pageNum: 1, pageSize: 10, }) let tableData = ref([]) let total = ref(0) @@ -49,40 +50,42 @@ /** æç´¢æé®æä½ */ function handleQuery() { queryParams.value.pageNum = 1; getList(); queryParams.value.pageNum = 1 getList() } /** éç½®æé®æä½ */ function resetQuery() { queryParams.value={} handleQuery(); queryParams.value = {} handleQuery() } function getList() { loading.value = true; listFunction(queryParams.value).then(response => { tableData.value = response.rows; total.value = response.total; loading.value = false; }); loading.value = true listFunction(queryParams.value).then((response) => { tableData.value = response.rows total.value = response.total loading.value = false }) } getList() /** å é¤æé®æä½ */ function handleDel(row) { proxy.$modal.confirm('æ¯å¦ç¡®è®¤å é¤è®¡ç®å½æ°ä¸º"' + row.funcName + '"çæ°æ®é¡¹?', "è¦å", { confirmButtonText: "ç¡®å®", cancelButtonText: "åæ¶", type: "warning" }).then(function () { return delFunction(row.id); }).then(() => { getList(); proxy.$modal.msgSuccess("å 餿å"); }).catch(function () { }); proxy.$modal .confirm('æ¯å¦ç¡®è®¤å é¤è®¡ç®å½æ°ä¸º"' + row.funcName + '"çæ°æ®é¡¹?', "è¦å", { confirmButtonText: "ç¡®å®", cancelButtonText: "åæ¶", type: "warning", }) .then(function () { return delFunction(row.id) }) .then(() => { getList() proxy.$modal.msgSuccess("å 餿å") }) .catch(function () {}) } </script> <style lang="scss" scoped> @import "@/assets/styles/page.scss"; zhitan-vue/src/views/monitor/cache/index.vue
@@ -3,39 +3,72 @@ <el-row> <el-col :span="24" class="card-box"> <el-card> <template #header><Monitor style="width: 1em; height: 1em; vertical-align: middle;" /> <span style="vertical-align: middle;">åºæ¬ä¿¡æ¯</span></template> <template #header ><Monitor style="width: 1em; height: 1em; vertical-align: middle" /> <span style="vertical-align: middle">åºæ¬ä¿¡æ¯</span></template > <div class="el-table el-table--enable-row-hover el-table--medium"> <table cellspacing="0" style="width: 100%"> <tbody> <tr> <td class="el-table__cell is-leaf"><div class="cell">Redisçæ¬</div></td> <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.redis_version }}</div></td> <td class="el-table__cell is-leaf"> <div class="cell" v-if="cache.info">{{ cache.info.redis_version }}</div> </td> <td class="el-table__cell is-leaf"><div class="cell">è¿è¡æ¨¡å¼</div></td> <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.redis_mode == "standalone" ? "åæº" : "é群" }}</div></td> <td class="el-table__cell is-leaf"> <div class="cell" v-if="cache.info"> {{ cache.info.redis_mode == "standalone" ? "åæº" : "é群" }} </div> </td> <td class="el-table__cell is-leaf"><div class="cell">端å£</div></td> <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.tcp_port }}</div></td> <td class="el-table__cell is-leaf"> <div class="cell" v-if="cache.info">{{ cache.info.tcp_port }}</div> </td> <td class="el-table__cell is-leaf"><div class="cell">客æ·ç«¯æ°</div></td> <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.connected_clients }}</div></td> <td class="el-table__cell is-leaf"> <div class="cell" v-if="cache.info">{{ cache.info.connected_clients }}</div> </td> </tr> <tr> <td class="el-table__cell is-leaf"><div class="cell">è¿è¡æ¶é´(天)</div></td> <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.uptime_in_days }}</div></td> <td class="el-table__cell is-leaf"> <div class="cell" v-if="cache.info">{{ cache.info.uptime_in_days }}</div> </td> <td class="el-table__cell is-leaf"><div class="cell">使ç¨å å</div></td> <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.used_memory_human }}</div></td> <td class="el-table__cell is-leaf"> <div class="cell" v-if="cache.info">{{ cache.info.used_memory_human }}</div> </td> <td class="el-table__cell is-leaf"><div class="cell">使ç¨CPU</div></td> <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ parseFloat(cache.info.used_cpu_user_children).toFixed(2) }}</div></td> <td class="el-table__cell is-leaf"> <div class="cell" v-if="cache.info"> {{ parseFloat(cache.info.used_cpu_user_children).toFixed(2) }} </div> </td> <td class="el-table__cell is-leaf"><div class="cell">å åé ç½®</div></td> <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.maxmemory_human }}</div></td> <td class="el-table__cell is-leaf"> <div class="cell" v-if="cache.info">{{ cache.info.maxmemory_human }}</div> </td> </tr> <tr> <td class="el-table__cell is-leaf"><div class="cell">AOFæ¯å¦å¼å¯</div></td> <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.aof_enabled == "0" ? "å¦" : "æ¯" }}</div></td> <td class="el-table__cell is-leaf"> <div class="cell" v-if="cache.info">{{ cache.info.aof_enabled == "0" ? "å¦" : "æ¯" }}</div> </td> <td class="el-table__cell is-leaf"><div class="cell">RDBæ¯å¦æå</div></td> <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.rdb_last_bgsave_status }}</div></td> <td class="el-table__cell is-leaf"> <div class="cell" v-if="cache.info">{{ cache.info.rdb_last_bgsave_status }}</div> </td> <td class="el-table__cell is-leaf"><div class="cell">Keyæ°é</div></td> <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.dbSize">{{ cache.dbSize }} </div></td> <td class="el-table__cell is-leaf"> <div class="cell" v-if="cache.dbSize">{{ cache.dbSize }}</div> </td> <td class="el-table__cell is-leaf"><div class="cell">ç½ç»å ¥å£/åºå£</div></td> <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.instantaneous_input_kbps }}kps/{{cache.info.instantaneous_output_kbps}}kps</div></td> <td class="el-table__cell is-leaf"> <div class="cell" v-if="cache.info"> {{ cache.info.instantaneous_input_kbps }}kps/{{ cache.info.instantaneous_output_kbps }}kps </div> </td> </tr> </tbody> </table> @@ -45,7 +78,10 @@ <el-col :span="12" class="card-box"> <el-card> <template #header><PieChart style="width: 1em; height: 1em; vertical-align: middle;" /> <span style="vertical-align: middle;">å½ä»¤ç»è®¡</span></template> <template #header ><PieChart style="width: 1em; height: 1em; vertical-align: middle" /> <span style="vertical-align: middle">å½ä»¤ç»è®¡</span></template > <div class="el-table el-table--enable-row-hover el-table--medium"> <div ref="commandstats" style="height: 420px" /> </div> @@ -54,7 +90,10 @@ <el-col :span="12" class="card-box"> <el-card> <template #header><Odometer style="width: 1em; height: 1em; vertical-align: middle;" /> <span style="vertical-align: middle;">å åä¿¡æ¯</span></template> <template #header ><Odometer style="width: 1em; height: 1em; vertical-align: middle" /> <span style="vertical-align: middle">å åä¿¡æ¯</span></template > <div class="el-table el-table--enable-row-hover el-table--medium"> <div ref="usedmemory" style="height: 420px" /> </div> @@ -65,25 +104,25 @@ </template> <script setup name="Cache"> import { getCache } from '@/api/monitor/cache'; import * as echarts from 'echarts'; import { getCache } from "@/api/monitor/cache" import * as echarts from "echarts" const cache = ref([]); const commandstats = ref(null); const usedmemory = ref(null); const { proxy } = getCurrentInstance(); const cache = ref([]) const commandstats = ref(null) const usedmemory = ref(null) const { proxy } = getCurrentInstance() function getList() { proxy.$modal.loading("æ£å¨å è½½ç¼åçæ§æ°æ®ï¼è¯·ç¨åï¼"); getCache().then(response => { proxy.$modal.closeLoading(); cache.value = response.data; proxy.$modal.loading("æ£å¨å è½½ç¼åçæ§æ°æ®ï¼è¯·ç¨åï¼") getCache().then((response) => { proxy.$modal.closeLoading() cache.value = response.data const commandstatsIntance = echarts.init(commandstats.value, "macarons"); const commandstatsIntance = echarts.init(commandstats.value, "macarons") commandstatsIntance.setOption({ tooltip: { trigger: "item", formatter: "{a} <br/>{b} : {c} ({d}%)" formatter: "{a} <br/>{b} : {c} ({d}%)", }, series: [ { @@ -94,14 +133,14 @@ center: ["50%", "38%"], data: response.data.commandStats, animationEasing: "cubicInOut", animationDuration: 1000 } ] }); const usedmemoryInstance = echarts.init(usedmemory.value, "macarons"); animationDuration: 1000, }, ], }) const usedmemoryInstance = echarts.init(usedmemory.value, "macarons") usedmemoryInstance.setOption({ tooltip: { formatter: "{b} <br/>{a} : " + cache.value.info.used_memory_human formatter: "{b} <br/>{a} : " + cache.value.info.used_memory_human, }, series: [ { @@ -110,23 +149,33 @@ min: 0, max: 1000, detail: { formatter: cache.value.info.used_memory_human formatter: cache.value.info.used_memory_human, }, data: [ { value: parseFloat(cache.value.info.used_memory_human), name: "å åæ¶è" } ] } ] name: "å åæ¶è", }, ], }, ], }) window.addEventListener("resize", () => { commandstatsIntance.resize(); usedmemoryInstance.resize(); },{passive: true}); window.addEventListener( "resize", () => { commandstatsIntance.resize() usedmemoryInstance.resize() }, { passive: true } ) }) } getList(); getList() </script> <style lang="scss" scoped> .el-table { color: #333; } </style>