diff --git a/jero-boot/db/蔚来标准sql/dev_third_record.sql b/jero-boot/db/蔚来标准sql/dev_third_record.sql index f8c534ad3..aa02d7fe1 100644 --- a/jero-boot/db/蔚来标准sql/dev_third_record.sql +++ b/jero-boot/db/蔚来标准sql/dev_third_record.sql @@ -1179,4 +1179,27 @@ update onl_cgform_field set is_query = '1', is_read_only = '1' where id = '09fa6 -- 配置表,增加问题知识库预览图片配置 2022-09-27 已同步生产环境 INSERT INTO `laws_weilai`.`sys_config` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `config`, `config_name`) VALUES ('4', 'admin', '2022-09-28 14:35:30', NULL, NULL, 'A01', 'http://grp.nioint.com/', 'domianWebImgURL'); +--问题知识库,增加字段 发布状态 2022-10-13 已同步生产环境 +ALTER TABLE `laws_weilai`.`problem_knowledge_base` + ADD COLUMN `release_status` varchar(50) NULL COMMENT '发布状态' AFTER `release_time`; +--处理问题知识库数据,发布人,发布时间,发布状态数据sql 2022-10-13 已同步生产环境 +update problem_knowledge_base pkd set pkd.release_status = 'Have released',pkd.release_time = pkd.create_time,pkd.release_user_id = (select su.id from sys_user su where su.username = pkd.create_by) + +-- 参数项收集清单 添加同步上报库时间字段 2022-10-20 已同步生产环境 +ALTER TABLE `laws_weilai`.`params_collect_manifest` + ADD COLUMN `report_time` datetime NULL COMMENT '同步上报库时间' AFTER `title_default_value`; +ALTER TABLE `laws_weilai`.`params_collect_manifest_history` + ADD COLUMN `report_time` datetime NULL COMMENT '同步上报库时间' AFTER `title_default_value`; + +INSERT INTO `laws_weilai`.`onl_cgform_field`(`id`, `cgform_head_id`, `db_field_name`, `db_field_en_name`, `db_field_txt`, `order_num`, `db_field_name_old`, `db_is_key`, `db_is_null`, `db_type`, `db_length`, `db_point_length`, `db_default_val`, `dict_field`, `dict_table`, `dict_text`, `field_show_type`, `field_href`, `field_length`, `field_valid_type`, `field_must_input`, `field_extend_json`, `field_default_value`, `is_query`, `is_show_form`, `is_show_list`, `is_read_only`, `query_mode`, `main_table`, `main_field`, `update_by`, `update_time`, `create_time`, `create_by`, `converter`, `query_def_val`, `query_dict_text`, `query_dict_field`, `query_dict_table`, `query_show_type`, `query_config_flag`, `query_valid_type`, `query_must_input`, `sort_flag`, `show_area`, `is_show_laws_list`, `is_show_search`, `is_delete`, `is_model`, `dict_id`) VALUES ('5afe057bed3412bcedf5bf17565d3ff4', '9ca1773d2a484d2fadae38491ad51aa1', 'report_time', 'Sync Time', '同步上报库时间', 28, NULL, 0, 1, 'Date', 0, 0, '', '', '', '', 'date', '', 120, NULL, '0', '', '', 0, 0, 1, 0, 'single', '', '', NULL, NULL, '2022-10-20 11:08:04', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0', NULL, NULL, NULL, 0, '7', NULL); + +--法规月报填写修改主要内容中英文字段长度 2022-10-21 已同步生产环境 +ALTER TABLE `laws_weilai`.`laws_monthly_report_write` +MODIFY COLUMN `content_cn` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '主要内容中文' AFTER `production_car_implement_time`, +MODIFY COLUMN `content_en` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '主要内容英文' AFTER `content_cn`; + +--法规月报填写修改NIO工作进展中英文字段长度 2022-10-21 已同步生产环境 +ALTER TABLE `laws_weilai`.`laws_monthly_report_write` +MODIFY COLUMN `work_progress_cn` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'NIO工作进展中文' AFTER `content_en`, +MODIFY COLUMN `work_progress_en` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'NIO工作进展英文' AFTER `work_progress_cn`; diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/CommonController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/CommonController.java index 6e92fa0dd..d95b68abb 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/CommonController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/CommonController.java @@ -7,7 +7,6 @@ import com.jero.common.api.vo.Result; import com.jero.common.constant.enums.CutEnum; import com.jero.common.exception.JeroBootException; import com.jero.common.system.api.ISysBaseAPI; -import com.jero.common.system.vo.LoginUser; import com.jero.common.util.RestUtil; import com.jero.common.util.TokenUtils; import com.jero.common.util.oConvertUtils; @@ -19,7 +18,6 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpHeaders; @@ -27,12 +25,7 @@ import org.springframework.http.HttpMethod; import org.springframework.http.ResponseEntity; import org.springframework.http.server.ServletServerHttpRequest; import org.springframework.util.AntPathMatcher; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.HandlerMapping; @@ -41,12 +34,7 @@ import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.BufferedInputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; +import java.io.*; import java.net.URLDecoder; import java.text.SimpleDateFormat; import java.util.Date; @@ -382,12 +370,13 @@ public class CommonController { fileName = ossFile.getFileName(); response.setContentType("application/force-download");// 设置强制下载不打开 response.addHeader("Content-Disposition", "attachment;fileName=" + new String(fileName.getBytes("UTF-8"),"iso-8859-1")); - InputStream download = CosBootUtil.download(filePath); + File file = new File(filePath); if(file.getName().endsWith(".pdf") || file.getName().endsWith(".PDF")){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String currentTime = sdf.format(new Date()); String waterContent = userName+" "+currentTime; + InputStream download = CosBootUtil.download(filePath); newFile = PDFUtils.PDFWatermark(download,uploadpath,file.getName(),waterContent); inputStream = new FileInputStream(newFile.getPath()); }else{ @@ -432,6 +421,83 @@ public class CommonController { } } + /** + * word,excel预览 cos -pdf无水印 + * + * @param id 传入文件id + * @param request + * @param response + */ + @GetMapping(value = "/downLoadFileNOMark") + public void downLoadFileNoPDFWatermarkCos(String id,HttpServletRequest request, HttpServletResponse response,String userName) { + if(StringUtils.isBlank(id)){ + throw new JeroBootException("参数信息不全"); + } + id = id.split("\\.")[0]; + // 查询数据表数据是否存在 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(OSSFile::getId,id); + OSSFile ossFile = ossFileService.getOne(queryWrapper); + if( null == ossFile){ + throw new JeroBootException("文件不存在"); + } + InputStream inputStream = null; + OutputStream outputStream = null; + File newFile =null; + try { + String fileName = ""; + //本地下载 + String filePath = ossFile.getUrl(); + if(!CosBootUtil.doesObjectExist(filePath)){ + response.setStatus(404); + throw new RuntimeException("文件不存在.."); + } + // 文件名称 + fileName = ossFile.getFileName(); + response.setContentType("application/force-download");// 设置强制下载不打开 + response.addHeader("Content-Disposition", "attachment;fileName=" + new String(fileName.getBytes("UTF-8"),"iso-8859-1")); + + File file = new File(filePath); + inputStream = CosBootUtil.download(filePath); + outputStream = response.getOutputStream(); + byte[] buf = new byte[1024]; + int len; + while ((len = inputStream.read(buf)) > 0) { + outputStream.write(buf, 0, len); + } + response.flushBuffer(); + } catch (IOException e) { + log.error("文件下载失败" + e.getMessage()); + response.setStatus(404); + e.printStackTrace(); + } finally { + if (inputStream != null) { + try { + inputStream.close(); + } catch (IOException e) { + log.error(e.getMessage(), e); + } + } + if (outputStream != null) { + try { + outputStream.close(); + } catch (IOException e) { + log.error(e.getMessage(), e); + } + + } + if (newFile != null) { + try { + newFile.delete(); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + + } + + } + } + /** * 文件下载 * diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java index 4a67f32ad..e4198f9f9 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java @@ -127,10 +127,24 @@ public class SysUserController { public Result> queryPageList(SysUser user, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { Result> result = new Result>(); - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(user, req.getParameterMap()); + Map reqMap = req.getParameterMap(); + Map newReqMap = new HashMap<>(); + for (String key : reqMap.keySet()){ + if(!key.equals("orgCode")){ + newReqMap.put(key,reqMap.get(key)); + } + } + user.setOrgCode(null); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(user, newReqMap); //TODO 外部模拟登陆临时账号,列表不显示 queryWrapper.ne("username", "_reserve_user_external"); - Page page = new Page(pageNo, pageSize); + String[] orgCode = reqMap.get("orgCode"); + if(null != orgCode && orgCode.length > 0){ + List orgCodeList = sysDepartService.getSubDepIdsByDepId(orgCode[0]); + orgCodeList.add(orgCode[0]); + queryWrapper.in("org_code",orgCodeList); + } + Page page = new Page<>(pageNo, pageSize); IPage pageList = sysUserService.page(page, queryWrapper); //批量查询用户的所属部门 @@ -1549,6 +1563,12 @@ public class SysUserController { for (SysDepartTreeModel sdtm: departTreeModelList) { dutList.addAll(findChildNode(sdtm)); } + SysUser admin = sysUserService.getUserByName("admin"); + DepartUserTree dut = new DepartUserTree(); + dut.setId(admin.getId()); + dut.setName(admin.getUsername()); + dut.setType("User"); + dutList.add(dut); result.setResult(dutList); result.setSuccess(true); return result; diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/RoleEnum.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/RoleEnum.java new file mode 100644 index 000000000..5e344c977 --- /dev/null +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/RoleEnum.java @@ -0,0 +1,62 @@ +package com.jero.modules.system.enums; + +public enum RoleEnum { + ADMIN_ID("R&H Manager","R&H Manager","manager","1534020391015444481",2), + MANAGER_ID("系统管理员","Administrator","admin","f6817f48af4fb3af11b9e8bf182f618b",3), + COUNTRU_CARD_MANAGE("countryCard管理员","countryCardManage","countryCardManage","1564916346120916993",4), + ; + + String name; + String enName; + String value; + String id; + Integer order; + + RoleEnum(String name, String enName, String value, String id, Integer order) { + this.name = name; + this.enName = enName; + this.value = value; + this.id = id; + this.order = order; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public String getEnName() { + return enName; + } + + public void setEnName(String enName) { + this.enName = enName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Integer getOrder() { + return order; + } + + public void setOrder(Integer order) { + this.order = order; + } +} diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java index b1ca1cf74..b091fc0c4 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java @@ -270,4 +270,10 @@ public interface ISysUserService extends IService { * @return */ List queryUserRoleListInfoByUserId(String userId); + + /** + * 验证当前登录用户是否是超级管理员。 + * @return + */ + boolean isAdministrator(); } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDepartServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDepartServiceImpl.java index 02027b250..8c5c3d639 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDepartServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDepartServiceImpl.java @@ -1,5 +1,6 @@ package com.jero.modules.system.service.impl; +import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -24,6 +25,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.stream.Collectors; import static com.jero.modules.system.util.FindsDepartsChildrenUtil.convertSysDepartToSysDepartTreeModel; @@ -286,7 +288,37 @@ public class SysDepartServiceImpl extends ServiceImpl getSubDepIdsByDepId(String departId) { - return this.baseMapper.getSubDepIdsByDepId(departId); + List idList = new ArrayList<>(); + if(StringUtils.isNotEmpty(departId)) { + // 查询所有部门 + LambdaQueryWrapper query = new LambdaQueryWrapper(); + query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString()); + List listAll = this.list(query); + + List result = new ArrayList<>(); + // 递归查询 指定父节点下的所有子节点,包括父节点 + if (CollectionUtil.isNotEmpty(listAll)) { + recursion(listAll, result, departId); + } + + + idList.add(departId); // 加上父节点 + idList = result.stream().map(SysDepart::getId).collect(Collectors.toList()); + + } + return idList; + } + + // 递归查询子节点 + private void recursion(List listAll, List result, String fatherId) { + List childern = listAll.stream().filter(e-> fatherId.equals(e.getParentId())).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(childern)) { + result.addAll(childern); + for(SysDepart depart : childern) { + recursion(listAll, result, depart.getId()); + } + + } } @Override diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java index 3f4c2adcb..71dac6e67 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java @@ -17,6 +17,7 @@ import com.jero.common.util.oConvertUtils; import com.jero.modules.base.service.BaseCommonService; import com.jero.modules.system.entity.*; import com.jero.modules.system.enums.PPSyncEnum; +import com.jero.modules.system.enums.RoleEnum; import com.jero.modules.system.mapper.*; import com.jero.modules.system.model.SysUserSysDepartModel; import com.jero.modules.system.service.ISysUserService; @@ -24,6 +25,7 @@ import com.jero.modules.system.vo.SysUserDepVo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheEvict; import org.springframework.stereotype.Service; @@ -586,4 +588,30 @@ public class SysUserServiceImpl extends ServiceImpl impl } return result; } + + /** + * 验证当前登录用户是否是超级管理员 + * @return + */ + @Override + public boolean isAdministrator() { + boolean result = false; + RoleEnum administrator = RoleEnum.MANAGER_ID; + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + List userRoleList = this.sysUserRoleMapper.selectList(new QueryWrapper().lambda().eq(SysUserRole::getUserId, currentUser.getId())); // 查询用户所有角色 + if(CollectionUtils.isNotEmpty(userRoleList)){ + List userRoles = userRoleList.stream().filter(userRole -> { + boolean flag = false; + if(StringUtils.equals(userRole.getRoleId(),administrator.getId())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(userRoles)){ + result = true; + } + } + return result; + } } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/PDFUtils.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/PDFUtils.java index c83b6776c..9738325ef 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/PDFUtils.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/PDFUtils.java @@ -17,6 +17,7 @@ import java.awt.geom.Dimension2D; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.io.*; +import java.lang.reflect.Field; @Slf4j public class PDFUtils { @@ -217,7 +218,10 @@ public class PDFUtils { String path = uploadpath + File.separator + fileName; newFilePath = path.replace(fileName, "transformation" + fileName); reader = new PdfReader(byes); - + //解密文件 + Field f = PdfReader.class.getDeclaredField("ownerPasswordUsed"); + f.setAccessible(true); + f.set(reader, Boolean.TRUE); // 加完水印的文件 os = new FileOutputStream(newFilePath); stamper = new PdfStamper(reader, os); @@ -286,6 +290,11 @@ public class PDFUtils { e.printStackTrace(); log.error(e.getMessage()); + } catch (IllegalAccessException e) { + e.printStackTrace(); + log.error(e.getMessage()); + }catch (NoSuchFieldException e) { + e.printStackTrace(); } finally { try { stamper.close(); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestEOController.java index 349d8ced7..b9da4fa4e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestEOController.java @@ -56,8 +56,9 @@ public class ParamsCollectManifestEOController extends JeroController>> getHeader(@RequestParam(name = "paramsManifestId") String paramsManifestId, @RequestParam(name = "flag") String flag, + @RequestParam(name = "userType", required = false) String userType, @RequestParam(name = "cut") String cut) { - List> list = paramsCollectManifestEOService.getHeader(paramsManifestId, flag, cut); + List> list = paramsCollectManifestEOService.getHeader(paramsManifestId, flag, userType, cut); return Result.OK(list); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsCollectManifestEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsCollectManifestEO.java index 6b38ec36e..2dfe8f17f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsCollectManifestEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsCollectManifestEO.java @@ -2,14 +2,17 @@ package com.jero.modules.cert.collect.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; +import java.util.Date; /** @@ -41,6 +44,12 @@ public class ParamsCollectManifestEO extends ParamsCollectManifestBaseEO impleme @ApiModelProperty(value = "添加标识") private String addFlag; + /**同步上报库时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "同步上报库时间") + private Date reportTime; + @TableField(exist = false) private String userTypes; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsCollectManifestHistoryEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsCollectManifestHistoryEO.java index 223acf2b3..7a69ce97f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsCollectManifestHistoryEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsCollectManifestHistoryEO.java @@ -1,12 +1,16 @@ package com.jero.modules.cert.collect.entity; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; +import java.util.Date; /** @@ -22,4 +26,9 @@ import java.io.Serializable; @ApiModel(value="params_collect_manifest_history对象", description="参数项收集清单历史版本") public class ParamsCollectManifestHistoryEO extends ParamsCollectManifestBaseEO implements Serializable { + /**同步上报库时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "同步上报库时间") + private Date reportTime; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml index 9a10df792..26f0ae6c0 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml @@ -30,6 +30,7 @@ + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestHistoryEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestHistoryEOMapper.xml index 07a93e805..e02a6edb6 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestHistoryEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestHistoryEOMapper.xml @@ -27,6 +27,7 @@ + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java index 8904cd11c..16249bc07 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java @@ -83,7 +83,7 @@ public interface IParamsCollectManifestEOService extends IService> getHeader(String paramsManifestId, String flag, String cut); + List> getHeader(String paramsManifestId, String flag, String userType, String cut); /** * 提交 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index 6ffb1fdef..34349bfc1 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -749,7 +749,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl> getHeader(String paramsManifestId, String flag, String cut) { + public List> getHeader(String paramsManifestId, String flag, String userType, String cut) { List fieldList = onlCgformFieldService.getFieldList(flag); // flag--->7 if (fieldList.size() != 0) { //过滤列表字段(is_show_list-->列表是否显示0否 1是) @@ -772,6 +772,10 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl map = new HashMap<>(); String dbFieldName = onlCgformField.getDbFieldName(); + if ("report_time".equals(dbFieldName) + && (CollectManifestUserTypeEnum.SDT.getValue().equals(userType) || CollectManifestUserTypeEnum.DRE.getValue().equals(userType))) { + continue; + } if ("nio_number".equals(dbFieldName) || "params_name".equals(dbFieldName)) { map.put("click5", true); if("nio_number".equals(dbFieldName)) { @@ -2080,6 +2084,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl implements ISarFileCompareItemCommentService { @Autowired @@ -102,7 +104,29 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl left = new QueryWrapper<>(); + left.eq("items_id_left", itemsIdLeft); + if (baseMapper.selectCount(left) == 0) { + SarFileCompareItem sarFileCompareItem = SarFileCompareItemServiceImpl.queryById(itemsIdLeft); + sarFileCompareItem.setReviewed(0); + SarFileCompareItemServiceImpl.saveOrUpdate(sarFileCompareItem); + } + QueryWrapper right = new QueryWrapper<>(); + right.eq("items_id_right", itemsIdRight); + if (baseMapper.selectCount(right) == 0) { + SarFileCompareItem sarFileCompareItem = SarFileCompareItemServiceImpl.queryById(itemsIdRight); + sarFileCompareItem.setReviewed(0); + SarFileCompareItemServiceImpl.saveOrUpdate(sarFileCompareItem); + } + } /** @@ -223,14 +247,16 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl 1) { for (int j = 0; j < leftSplit.length; j++) { @@ -299,9 +327,13 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl 1) { for (int j = 0; j < rightSplit.length; j++) { @@ -333,9 +367,13 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl mergeCellSet = new HashSet<>(mergeCells); for (SarFileCompareExcelMergeCell mergeCell : mergeCellSet) { Integer leftCount = mergeCell.getLeftEnd() - mergeCell.getLeftStart() + 1; Integer rightCount = mergeCell.getRightEnd() - mergeCell.getRightStart() + 1; Integer start = leftCount - rightCount >= 0 ? mergeCell.getLeftStart() : mergeCell.getRightStart(); + log.info("-------------- 合并开始行数:" + start + " -----------------"); Integer end = leftCount - rightCount >= 0 ? mergeCell.getLeftEnd() : mergeCell.getRightEnd(); + log.info("-------------- 合并结束行数: " + end + " -----------------"); //合并 CellRangeAddress region0 = new CellRangeAddress(start, end, 0, 0); sheet.addMergedRegion(region0); @@ -394,6 +435,7 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl") < 0) { if (tableHtml.indexOf("") < 0) { tableHtml = tableHtml.replaceFirst("", ""); @@ -480,13 +541,16 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl]*?>|<[\\s]*?\\/[\\s]*?br[\\s]*?>", cnt); String tableSheetName = "表格" + System.currentTimeMillis(); ConvertHtml2Excel.table2Excel(tableHtml, (HSSFWorkbook) workbook, tableSheetName); + log.info("-------------------------表格生产完毕----------------------------"); //添加超链接 + log.info("-------------------------开始添加超链接---------------------------"); CreationHelper createHelper = workbook.getCreationHelper(); Hyperlink hyperlink1 = createHelper.createHyperlink(HyperlinkType.DOCUMENT); String tableName = "#\'" + tableSheetName + "\'!A1"; hyperlink1.setAddress(tableName); cell.setHyperlink(hyperlink1);// 链接 cell.setCellStyle(cellStyleLink); + log.info("-------------------------超链接添加完毕---------------------------"); } /** @@ -498,11 +562,15 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl", "").replace("

", "\r\n"); //分割图片 + log.info("-------------------------开始分割文字与图片---------------------------"); splitImg(text, request.getSession()); + log.info("-------------------------文字与图片分割完毕---------------------------"); //分割表格 + log.info("-------------------------从剩余文字中开始分割表格---------------------------"); String txtAndImg = (String) request.getSession().getAttribute("txtAndImg"); txtAndImg = txtAndImg.replaceAll("table", "replaceTable"); splitTable(txtAndImg, request.getSession()); + log.info("-------------------------表格分割完毕---------------------------"); return (String) request.getSession().getAttribute("textAndTableAndImg"); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/enums/ReleaseConditionEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/enums/ReleaseConditionEnum.java index bba19ad94..1504bb042 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/enums/ReleaseConditionEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/enums/ReleaseConditionEnum.java @@ -8,7 +8,7 @@ import org.apache.commons.lang3.StringUtils; */ public enum ReleaseConditionEnum { - PUBLISHED("已发布","published","Have published"), + PUBLISHED("已发布","published","Published"), DRAFT("草稿","draft","Draft"), ; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/impl/ExtRepoFolderServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/impl/ExtRepoFolderServiceImpl.java index 429a8d72f..442ab9d67 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/impl/ExtRepoFolderServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/impl/ExtRepoFolderServiceImpl.java @@ -241,7 +241,6 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl resList = new ArrayList<>(); for (ExtRepoFolder erf : list) { if (supId.equals(erf.getSupFolder())) { - //int childLevel = level + 1; if (haveViewAuth(erf.getId())) { ERFTreeData date = new ERFTreeData(erf.getFolderName(), erf.getId(), level, erf.getOrderId()); boolean parentRightClick = haveManageAuth(erf.getId()); @@ -252,7 +251,7 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl(),level,parentRightClick)); + date.setChildren(subFolderTree(new ArrayList(),date)); date.sortChildren(); resList.add(date); } else { @@ -265,19 +264,18 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl subFolderTree(String folder,List childTree,int level,boolean parentRightClick) { - int childLevel = level + 1; - List listBySupFolder = getListBySupFolder(folder); - ExtRepoFolder father = queryById(folder); + private List subFolderTree(List childTree,ERFTreeData father) { + int childLevel = father.getLevel() + 1; + List listBySupFolder = getListBySupFolder(father.getKey()); for (ExtRepoFolder extRepoFolder : listBySupFolder) { ERFTreeData date = new ERFTreeData(extRepoFolder.getFolderName(), extRepoFolder.getId(), childLevel, extRepoFolder.getOrderId()); //是否有管理权限 boolean childRightClick = haveManageAuth(extRepoFolder.getId()); - if (parentRightClick||childRightClick) { + if (father.isManager()||childRightClick) { date.setManager(true); } //如果参数为空则延续父文件夹权限,反之用自己的 @@ -295,7 +293,7 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl(),childLevel,childRightClick)); + date.setChildren(subFolderTree(new ArrayList(),date)); date.sortChildren(); childTree.add(date); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/controller/LawsOpinionGatherEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/controller/LawsOpinionGatherEOController.java index 6eec32d23..69864ff66 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/controller/LawsOpinionGatherEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/controller/LawsOpinionGatherEOController.java @@ -8,13 +8,16 @@ import javax.servlet.http.HttpServletResponse; import com.alibaba.fastjson.JSONObject; import com.jero.common.api.vo.Result; import com.jero.common.system.query.QueryGenerator; +import com.jero.common.system.vo.LoginUser; import com.jero.modules.lawsOpinionGather.entity.LawsOpinionGatherEO; import com.jero.modules.lawsOpinionGather.service.ILawsOpinionGatherEOService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jero.modules.system.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import com.jero.common.system.base.controller.JeroController; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -37,6 +40,8 @@ import com.jero.common.aspect.annotation.AutoLog; public class LawsOpinionGatherEOController extends JeroController { @Autowired private ILawsOpinionGatherEOService lawsOpinionGatherEOService; + @Autowired + private ISysUserService sysUserService; /** * 分页列表查询 @@ -57,6 +62,19 @@ public class LawsOpinionGatherEOController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(lawsOpinionGatherEO, req.getParameterMap()); queryWrapper.orderByDesc("start_time"); + /** + * 创建查询数据权限,超级管理员可以看到所有的数据,并且能删除,其它用户只能看到自己创建、或自己为评估人的数据。 + */ + boolean administrator = this.sysUserService.isAdministrator(); + if(!administrator){ + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //如果不是超级管理员,获取自己所有参与过的法规意见收集 + queryWrapper.and(query -> { + query.eq("create_by",currentUser.getUsername()); + query.or().like("evaluator_ids",currentUser.getId()); + }); + } + Page page = new Page(pageNo, pageSize); IPage pageList = lawsOpinionGatherEOService.page(page, queryWrapper); this.lawsOpinionGatherEOService.disposeData(pageList.getRecords(),cut); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/entity/LawsOpinionGatherEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/entity/LawsOpinionGatherEO.java index 78205d522..91adffa7a 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/entity/LawsOpinionGatherEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/entity/LawsOpinionGatherEO.java @@ -122,4 +122,8 @@ public class LawsOpinionGatherEO implements Serializable { @ApiModelProperty(value = "评估人ids,多个之间使用英文逗号分隔") private String evaluatorIds; + + /**删除标识 true 可以删除,false,没有权限删除**/ + @TableField(exist = false) + private boolean deleteFlag = false; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsOpinionGatherEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsOpinionGatherEOServiceImpl.java index 376cc56a3..60217e805 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsOpinionGatherEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsOpinionGatherEOServiceImpl.java @@ -6,6 +6,7 @@ import com.jero.common.api.vo.Result; import com.jero.common.constant.enums.CutEnum; import com.jero.common.constant.enums.MessageTypeEnum; import com.jero.common.exception.JeroBootException; +import com.jero.common.system.vo.LoginUser; import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.lawsOpinionGather.entity.LawsOpinionGatherEO; import com.jero.modules.lawsOpinionGather.enums.GatherResultEnum; @@ -31,6 +32,7 @@ import com.jero.modules.system.service.impl.SysCategoryServiceImpl; import com.jero.modules.wkflow.feginClient.WorkFlowFeignClient; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; import org.jeecg.modules.jmreport.common.constant.CommonConstant; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -197,6 +199,8 @@ public class LawsOpinionGatherEOServiceImpl extends ServiceImpl lawsOpinionGatherEOList,String cut) { if(CollectionUtils.isNotEmpty(lawsOpinionGatherEOList)){ + boolean administrator = this.sysUserService.isAdministrator(); + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); //树形数据字典 List technologyTerritoryList = sysCategoryService.list(); lawsOpinionGatherEOList.forEach(lawsOpinionGather -> { @@ -211,6 +215,10 @@ public class LawsOpinionGatherEOServiceImpl extends ServiceImpl opinionArchiveFileList = iOSSFileService.getFileInfosByConnectId(StringUtils.join(lawsOpinionGather.getOpinionArchiveId(), ",")); lawsOpinionGather.setOpinionArchiveFileList(opinionArchiveFileList); } + //如果当前用户是超级管理员,或是这条数据的创建人,给删除权限。 + if(StringUtils.equals(lawsOpinionGather.getCreateBy(),currentUser.getUsername()) || administrator){ + lawsOpinionGather.setDeleteFlag(true); + } }); } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/controller/LawsTechnologyEvaluationEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/controller/LawsTechnologyEvaluationEOController.java index ca025a19e..eb3ec59fd 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/controller/LawsTechnologyEvaluationEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/controller/LawsTechnologyEvaluationEOController.java @@ -3,19 +3,26 @@ package com.jero.modules.lawsTechnologyEvaluation.controller; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.alibaba.fastjson.JSONObject; import com.jero.common.api.vo.Result; import com.jero.common.system.query.QueryGenerator; +import com.jero.common.system.vo.LoginUser; import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO; +import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationFlowDetailEO; import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationEOService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationFlowDetailEOService; +import com.jero.modules.system.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import com.jero.common.system.base.controller.JeroController; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; @@ -40,6 +47,10 @@ import com.jero.common.aspect.annotation.AutoLog; public class LawsTechnologyEvaluationEOController extends JeroController { @Autowired private ILawsTechnologyEvaluationEOService lawsTechnologyEvaluationEOService; + @Autowired + private ISysUserService sysUserService; + @Autowired + private ILawsTechnologyEvaluationFlowDetailEOService lawsTechnologyEvaluationFlowDetailEOService; /** * 分页列表查询 @@ -60,6 +71,10 @@ public class LawsTechnologyEvaluationEOController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(lawsTechnologyEvaluationEO, req.getParameterMap()); queryWrapper.orderByDesc("start_time"); + boolean administrator = this.sysUserService.isAdministrator(); + if(!administrator){ + this.lawsTechnologyEvaluationEOService.createQueryPermission(queryWrapper,lawsTechnologyEvaluationEO,administrator); + } Page page = new Page(pageNo, pageSize); IPage pageList = lawsTechnologyEvaluationEOService.page(page, queryWrapper); this.lawsTechnologyEvaluationEOService.disposeData(pageList.getRecords(),cut); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/entity/LawsTechnologyEvaluationEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/entity/LawsTechnologyEvaluationEO.java index 37a7d210f..5cb9f2248 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/entity/LawsTechnologyEvaluationEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/entity/LawsTechnologyEvaluationEO.java @@ -149,4 +149,7 @@ public class LawsTechnologyEvaluationEO implements Serializable { @ApiModelProperty(value = "流程编号") private String prcNum; + /**删除标识 true 可以删除,false,没有权限删除**/ + @TableField(exist = false) + private boolean deleteFlag = false; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/ILawsTechnologyEvaluationEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/ILawsTechnologyEvaluationEOService.java index b2bad56ff..83138cd5f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/ILawsTechnologyEvaluationEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/ILawsTechnologyEvaluationEOService.java @@ -1,6 +1,7 @@ package com.jero.modules.lawsTechnologyEvaluation.service; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.jero.common.api.vo.Result; import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO; @@ -92,4 +93,6 @@ public interface ILawsTechnologyEvaluationEOService extends IService batchCompleteTask(JSONObject jsonObject); + + void createQueryPermission(QueryWrapper queryWrapper, LawsTechnologyEvaluationEO lawsTechnologyEvaluationEO,boolean administrator); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java index ac77d8994..cefc08e86 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java @@ -9,6 +9,7 @@ import com.jero.common.constant.enums.CutEnum; import com.jero.common.constant.enums.MessageTypeEnum; import com.jero.common.constant.enums.ModuleEnum; import com.jero.common.exception.JeroBootException; +import com.jero.common.system.vo.LoginUser; import com.jero.generater.modules.online.cgform.entity.OnlCgformField; import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl; import com.jero.modules.document.enums.FieldTypeEnum; @@ -39,6 +40,7 @@ import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; +import org.apache.shiro.SecurityUtils; import org.jeecg.modules.jmreport.common.constant.CommonConstant; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -229,6 +231,8 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl datas, String cut) { if(CollectionUtils.isNotEmpty(datas)){ + boolean administrator = this.sysUserService.isAdministrator(); + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); List categoryList = sysCategoryService.list(); for (LawsTechnologyEvaluationEO data : datas) { if(StringUtils.isNotEmpty(data.getEvaluationMethods())){ @@ -244,6 +248,9 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl().success("手动结束成功!"); } + @Override + public void createQueryPermission(QueryWrapper queryWrapper, LawsTechnologyEvaluationEO lawsTechnologyEvaluationEO,boolean administrator) { + if(!administrator){ + //如果不是超级管理员,获取自己创建的和所有参与过的法规技术评估数据。 + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + QueryWrapper flowDetailQueryWrap = new QueryWrapper<>(); + flowDetailQueryWrap.lambda().eq(LawsTechnologyEvaluationFlowDetailEO::getEvaluatorId,currentUser.getId()); + List flowDetailEOList = this.lawsTechnologyEvaluationFlowDetailEOService.list(flowDetailQueryWrap); + if(CollectionUtils.isNotEmpty(flowDetailEOList)){ + List lawsTechnologyEvaluationIdList = flowDetailEOList.stream().map(LawsTechnologyEvaluationFlowDetailEO::getLawsTechnologyEvaluationId).distinct().collect(Collectors.toList()); + queryWrapper.and(query -> { + query.eq("create_by",currentUser.getUsername()); + query.or(q -> { + for (String lawsTechnologyEvaluationId : lawsTechnologyEvaluationIdList) { + q.or().like("id",lawsTechnologyEvaluationId); + } + }); + }); + } + } + } + private String getTreeName(String cut, List categoryList, List technologyTerritoryList) { StringBuilder sb = new StringBuilder(); for (String technologyTerritory : technologyTerritoryList) { diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseEOController.java index ec31393a5..3ab0e2c98 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseEOController.java @@ -13,6 +13,7 @@ import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseEOServ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jero.modules.system.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import com.jero.common.system.base.controller.JeroController; import org.springframework.beans.factory.annotation.Autowired; @@ -37,6 +38,8 @@ import com.jero.common.aspect.annotation.AutoLog; public class ProblemKnowledgeBaseEOController extends JeroController { @Autowired private IProblemKnowledgeBaseEOService problemKnowledgeBaseEOService; + @Autowired + private ISysUserService sysUserService; /** * 分页列表查询 @@ -54,6 +57,11 @@ public class ProblemKnowledgeBaseEOController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(problemKnowledgeBaseEO, req.getParameterMap()); this.problemKnowledgeBaseEOService.createQueryPermission(queryWrapper,problemKnowledgeBaseEO); queryWrapper.orderByDesc("create_time"); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseEO.java index 870abb198..81caaff2c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseEO.java @@ -1,6 +1,7 @@ package com.jero.modules.problemKnowledgeBase.entity; import java.io.Serializable; +import java.util.Date; import java.util.List; import com.baomidou.mybatisplus.annotation.IdType; @@ -156,7 +157,7 @@ public class ProblemKnowledgeBaseEO implements Serializable { /**发布日期*/ @Excel(name = "发布日期", width = 15) @ApiModelProperty(value = "发布日期") - private java.lang.String releaseTime; + private Date releaseTime; /**点赞总数量*/ @TableField(exist = false) @@ -195,4 +196,9 @@ public class ProblemKnowledgeBaseEO implements Serializable { /**附件展示数组*/ @TableField(exist = false) private List accessoryFileNameList; + + /**发布状态*/ + @Excel(name = "发布状态", width = 15) + @ApiModelProperty(value = "发布状态") + private String releaseStatus; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java index a1e1f7bd9..9ab7619ea 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java @@ -24,6 +24,7 @@ import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.problemKnowledgeBase.entity.*; import com.jero.modules.problemKnowledgeBase.enums.CollectStatusEnum; import com.jero.modules.problemKnowledgeBase.enums.PraiseStatusEnum; +import com.jero.modules.problemKnowledgeBase.enums.ReleaseStatusEnum; import com.jero.modules.problemKnowledgeBase.enums.ShowPermissionsEnum; import com.jero.modules.problemKnowledgeBase.mapper.ProblemKnowledgeBaseEOMapper; import com.jero.modules.problemKnowledgeBase.service.*; @@ -114,17 +115,19 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl queryWrapper,ProblemKnowledgeBaseEO problemKnowledgeBaseEO) { /** - * 查询权限 - * 公开:所有人都可以看到。 - * 私密:只有配置了的权限用户可以看到。 + * 2022-10-13增加权限,超级管理员可以看到所有的问题知识库数据。 */ - LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - QueryWrapper userPermissionQueryWrapper = new QueryWrapper<>(); - userPermissionQueryWrapper.lambda().eq(ProblemKnowledgeBaseUserEO::getUserId,currentUser.getId()); - List problemKnowledgeBaseUserEOList = problemKnowledgeBaseUserEOService.list(userPermissionQueryWrapper); + boolean administrator = this.sysUserService.isAdministrator(); + if(!administrator){ + /** + * 查询权限 + * 公开:所有人都可以看到。 + * 私密:只有配置了的权限用户可以看到。 + */ + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + QueryWrapper userPermissionQueryWrapper = new QueryWrapper<>(); + userPermissionQueryWrapper.lambda().eq(ProblemKnowledgeBaseUserEO::getUserId,currentUser.getId()); + List problemKnowledgeBaseUserEOList = problemKnowledgeBaseUserEOService.list(userPermissionQueryWrapper); - List problemKnowledgeBaseIdList = problemKnowledgeBaseUserEOList.stream().map(ProblemKnowledgeBaseUserEO::getProblemKnowledgeBaseId).distinct().collect(Collectors.toList()); + List problemKnowledgeBaseIdList = problemKnowledgeBaseUserEOList.stream().map(ProblemKnowledgeBaseUserEO::getProblemKnowledgeBaseId).distinct().collect(Collectors.toList()); - queryWrapper.lambda().and(query -> { - query.eq(ProblemKnowledgeBaseEO::getShowPermissions,ShowPermissionsEnum.OPEN.getValue()); + queryWrapper.lambda().and(query -> { + query.eq(ProblemKnowledgeBaseEO::getShowPermissions,ShowPermissionsEnum.OPEN.getValue()); if(CollectionUtils.isNotEmpty(problemKnowledgeBaseIdList)){ query.or(o -> { o.eq(ProblemKnowledgeBaseEO::getShowPermissions,ShowPermissionsEnum.PRIVACY.getValue()); o.in(ProblemKnowledgeBaseEO::getId,problemKnowledgeBaseIdList); }); } - }); + }); + } String searchStr = problemKnowledgeBaseEO.getSearchStr(); if(StringUtils.isNotEmpty(searchStr)){ diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java index 12b491960..9127a8e3b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java @@ -14,9 +14,11 @@ import com.jero.common.util.RedisUtil; import com.jero.common.util.TokenUtils; import com.jero.modules.dummy.service.impl.DummyInventoryInfoEOServiceImpl; import com.jero.modules.enums.DictCodeEnum; +import com.jero.modules.ocr.entity.User; import com.jero.modules.project.entity.ProjectLibraryBase; import com.jero.modules.project.entity.ProjectRelatedPersonnel; import com.jero.modules.project.enums.ProjectInventoryFieldEnum; +import com.jero.modules.project.enums.ProjectRoleEnum; import com.jero.modules.project.mapper.ProjectRelatedPersonnelMapper; import com.jero.modules.project.service.IProjectRelatedPersonnelService; import com.jero.modules.system.entity.SysDictItem; @@ -967,6 +969,11 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl oppositeDisposeData(List records, String projectId, String cut) { + //查询所有的用户 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.select(SysUser::getUsername,SysUser::getId); + List userList = sysUserService.list(wrapper); + Result result = new Result<>(); int row=3; StringBuilder message = new StringBuilder(); @@ -1021,15 +1028,18 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl lawEngineerNameList = Arrays.asList(projectRelatedPersonnel.getLawEngineerName().split(",")); if (CollectionUtils.isNotEmpty(lawEngineerNameList) && StringUtils.isNotBlank(lawEngineerNameList.get(0))) { lawEngineerNameList = lawEngineerNameList.stream().distinct().collect(Collectors.toList()); - lawEngineerUsers=sysUserService.queryUserIdListByNameList(lawEngineerNameList); - if(lawEngineerUsers.size()!=lawEngineerNameList.size()){ - //中英切换提示语 - if(CutEnum.CN.getValue().equals(cut)) { - message.append("导入的法规工程师姓名有误,请检查第" + row + "行"); - }else{ - message.append("The imported law engineer is wrong.Please check line " + row ); - } - } + //验证导入的相关人员 + lawEngineerUsers = personnelMatch(userList, lawEngineerNameList, message, ProjectRoleEnum.REGULATI_ENGINEER.getValue(), cut, row); + +// lawEngineerUsers=sysUserService.queryUserIdListByNameList(lawEngineerNameList); +// if(lawEngineerUsers.size()!=lawEngineerNameList.size()){ +// //中英切换提示语 +// if(CutEnum.CN.getValue().equals(cut)) { +// message.append("导入的法规工程师姓名有误,请检查第" + row + "行"); +// }else{ +// message.append("The imported law engineer is wrong.Please check line " + row ); +// } +// } } if(CollectionUtils.isNotEmpty(lawEngineerUsers)) { @@ -1055,15 +1065,18 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl engineeringInterfacePersonNameList = Arrays.asList(projectRelatedPersonnel.getEngineeringInterfacePersonName().split(",")); if (CollectionUtils.isNotEmpty(engineeringInterfacePersonNameList) && StringUtils.isNotBlank(engineeringInterfacePersonNameList.get(0))) { engineeringInterfacePersonNameList = engineeringInterfacePersonNameList.stream().distinct().collect(Collectors.toList()); - engineeringInterfacePersonUsers=sysUserService.queryUserIdListByNameList(engineeringInterfacePersonNameList); - if(engineeringInterfacePersonUsers.size()!=engineeringInterfacePersonNameList.size()){ - //中英切换提示语 - if(CutEnum.CN.getValue().equals(cut)) { - message.append("导入的工程接口人姓名有误,请检查第" + row + "行"); - }else{ - message.append("The imported engineering interface person is wrong.Please check line " + row ); - } - } + //验证导入的相关人员 + engineeringInterfacePersonUsers = personnelMatch(userList, engineeringInterfacePersonNameList, message, ProjectRoleEnum.ENGINEERING_INTERFACE_PERSON.getValue(), cut, row); + +// engineeringInterfacePersonUsers=sysUserService.queryUserIdListByNameList(engineeringInterfacePersonNameList); +// if(engineeringInterfacePersonUsers.size()!=engineeringInterfacePersonNameList.size()){ +// //中英切换提示语 +// if(CutEnum.CN.getValue().equals(cut)) { +// message.append("导入的工程接口人姓名有误,请检查第" + row + "行"); +// }else{ +// message.append("The imported engineering interface person is wrong.Please check line " + row ); +// } +// } } if(CollectionUtils.isNotEmpty(engineeringInterfacePersonUsers)) { @@ -1090,8 +1103,13 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl baseCertificationEngineerList = queryCertificationEngineer(projectId); List baseCertificationEngineerNameList = baseCertificationEngineerList.stream().map(e -> e.getCertificationEngineerName()).collect(Collectors.toList()); + //转为小写后在判断 + List baseCertificationEngineerNameListTemp = new ArrayList<>(); + for (String s : baseCertificationEngineerNameList) { + baseCertificationEngineerNameListTemp.add(s.toLowerCase()); + } for(String certificationEngineerName : certificationEngineerNameList){ - if(!baseCertificationEngineerNameList.contains(certificationEngineerName)){ + if(!baseCertificationEngineerNameListTemp.contains(certificationEngineerName.toLowerCase())){ //中英切换提示语 if(CutEnum.CN.getValue().equals(cut)) { message.append("导入的认证工程师姓名不属于该项目,请检查第" + row + "行"); @@ -1101,18 +1119,32 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl personnelMatch(List userList, + List personnelList, + StringBuilder message, + String personnelType, + String cut, + int row){ + int count = 0; + //全部转为小写来匹配 + List sysUserList = new ArrayList<>(); + for (String personnel : personnelList) { + String personnelLower = personnel.toLowerCase(); + for (SysUser sysUser : userList) { + String username = sysUser.getUsername(); + String usernameLower = username.toLowerCase(); + if(personnelLower.equals(usernameLower)){ + sysUserList.add(sysUser); + count ++; + } + } + } + if(personnelList.size() != count){ + //法规工程师异常提示语 + if(ProjectRoleEnum.REGULATI_ENGINEER.getValue().equals(personnelType)){ + if(CutEnum.CN.getValue().equals(cut)) { + message.append("导入的工程接口人姓名有误,请检查第" + row + "行"); + }else{ + message.append("The imported engineering interface person is wrong.Please check line " + row ); + } + } + //认证工程师异常提示语 + if(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue().equals(personnelType)){ + if(CutEnum.CN.getValue().equals(cut)) { + message.append("导入的认证工程师姓名有误,请检查第" + row + "行"); + }else { + message.append("The imported certification engineer is wrong.Please check line " + row ); + } + } + //工程接口人异常提示语 + if(ProjectRoleEnum.ENGINEERING_INTERFACE_PERSON.getValue().equals(personnelType)){ + if(CutEnum.CN.getValue().equals(cut)) { + message.append("导入的工程接口人姓名有误,请检查第" + row + "行"); + }else{ + message.append("The imported engineering interface person is wrong.Please check line " + row ); + } + } + }else{ + return sysUserList; + } + return new ArrayList<>(); + } + @Override public ProjectRelatedPersonnel queryByProjectIdAndDutyTerritory(String projectId, String dutyTerritory) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportWriteEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportWriteEOController.java index e4fb26d4e..b47ddcb11 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportWriteEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportWriteEOController.java @@ -1,6 +1,7 @@ package com.jero.modules.report.controller; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.system.base.controller.JeroController; @@ -62,9 +63,29 @@ public class LawsMonthlyReportWriteEOController extends JeroController pageList = lawsMonthlyReportWriteEOService.getPageInfo(lawsMonthlyReportWriteEO, pageNo,pageSize,req); - return Result.OK(pageList); + List listInfo = lawsMonthlyReportWriteEOService.getListInfo(lawsMonthlyReportWriteEO, pageNo, pageSize, req); + Page pages = lawsMonthlyReportWriteEOService.getPages(pageNo, pageSize, listInfo); + return Result.OK(pages); } +// /** +// * 分页列表查询 +// * +// * @param lawsMonthlyReportWriteEO +// * @param pageNo +// * @param pageSize +// * @param req +// * @return +// */ +// @AutoLog(value = "月报填写-分页列表查询") +// @ApiOperation(value="月报填写-分页列表查询", notes="月报填写-分页列表查询") +// @GetMapping(value = "/page") +// public Result queryPageList(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO, +// @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, +// @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, +// HttpServletRequest req) { +// IPage pageList = lawsMonthlyReportWriteEOService.getPageInfo(lawsMonthlyReportWriteEO, pageNo,pageSize,req); +// return Result.OK(pageList); +// } /** * 列表查询 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/LawsMonthlyReportTitleTemplateEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/LawsMonthlyReportTitleTemplateEO.java index 4a66c3f86..9bd5daf0f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/LawsMonthlyReportTitleTemplateEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/LawsMonthlyReportTitleTemplateEO.java @@ -13,7 +13,6 @@ import lombok.experimental.Accessors; import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; -import java.io.Serializable; import java.util.ArrayList; import java.util.List; @@ -29,7 +28,7 @@ import java.util.List; @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) @ApiModel(value="laws_monthly_report_title_template对象", description="月报标题模板") -public class LawsMonthlyReportTitleTemplateEO implements Serializable { +public class LawsMonthlyReportTitleTemplateEO implements Comparable { private static final long serialVersionUID = 1L; /**主键*/ @@ -84,4 +83,10 @@ public class LawsMonthlyReportTitleTemplateEO implements Serializable { @TableField(exist = false) private String key; + + @Override + public int compareTo(LawsMonthlyReportTitleTemplateEO o) { + return this.sort-o.sort;//升序 +// return o.id-this.id;//降序 + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/LawsMonthlyReportWriteEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/LawsMonthlyReportWriteEO.java index 2563e41b4..11892a582 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/LawsMonthlyReportWriteEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/LawsMonthlyReportWriteEO.java @@ -116,7 +116,7 @@ public class LawsMonthlyReportWriteEO implements Serializable { /**适用范围*/ @Excel(name = "适用范围", width = 15) @ApiModelProperty(value = "适用范围") - @Dict(dicCode ="apply_scope") + @Dict(dicCode ="fa3_gui1_yue4_bao4_-_shi4_yong4_fan4_wei2") private java.lang.String applyScope; /**状态*/ diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/enums/DictCodeReportEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/enums/DictCodeReportEnum.java index 7aea0d69d..5e6d09401 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/enums/DictCodeReportEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/enums/DictCodeReportEnum.java @@ -8,7 +8,7 @@ package com.jero.modules.report.enums; */ public enum DictCodeReportEnum { APPLYCAR("适用车型","car_type"), - APPLYSCOPE("适用范围","apply_scope"), + APPLYSCOPE("适用范围","fa3_gui1_yue4_bao4_-_shi4_yong4_fan4_wei2"), STATE("状态","state"), USEMETHOD("用法","yong4_fa3"); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/enums/ExportStateEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/enums/ExportStateEnum.java index b4802d3f1..b9f7a4598 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/enums/ExportStateEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/enums/ExportStateEnum.java @@ -7,8 +7,8 @@ package com.jero.modules.report.enums; * @auth zhn */ public enum ExportStateEnum { - NOT_EXPORT("未导出","Not export","1"), - HAS_BEEN_EXPORT("已导出","Has been export","2"); + NOT_EXPORT("未导出","Not exported","1"), + HAS_BEEN_EXPORT("已导出","Exported","2"); String name; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportWriteEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportWriteEOService.java index 2f653b1b2..9bcf996c6 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportWriteEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportWriteEOService.java @@ -1,6 +1,7 @@ package com.jero.modules.report.service; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.jero.modules.report.entity.LawsMonthlyReportWriteEO; @@ -72,7 +73,11 @@ public interface ILawsMonthlyReportWriteEOService extends IService getPageInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO, +// IPage getPageInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO, +// Integer pageNo, +// Integer pageSize, +// HttpServletRequest req); + List getListInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO, Integer pageNo, Integer pageSize, HttpServletRequest req); @@ -82,4 +87,6 @@ public interface ILawsMonthlyReportWriteEOService extends IService parameter); + + Page getPages(Integer currentPage, Integer pageSize, List list); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java index a34563275..cb571424d 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java @@ -60,8 +60,10 @@ import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.Date; import java.util.Iterator; +import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -288,7 +290,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl getPageInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEOTemp, + public List getListInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEOTemp, Integer pageNo, Integer pageSize, HttpServletRequest req) { @@ -300,11 +302,48 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl page = new Page(pageNo, pageSize); - Page pageInfo = this.page(page, queryWrapper); +// Page page = new Page(pageNo, pageSize); +// Page pageInfo = this.page(page, queryWrapper); + + + //所有的月报 + List lawsMonthlyReportWriteEOList = this.list(queryWrapper); + //所有月报的一级目录 + List oneMenuIdLIst = lawsMonthlyReportWriteEOList.stream().map(LawsMonthlyReportWriteEO::getMemoriesChapterOne).distinct().collect(Collectors.toList()); + //月报标题模板 + LambdaQueryWrapper wrapperTemp = new LambdaQueryWrapper<>(); + wrapperTemp.orderByAsc(LawsMonthlyReportTitleTemplateEO::getSort); + List list = lawsMonthlyReportTitleTemplateEOService.list(wrapperTemp); + //1. 一级目录 + List oneList = list.stream().filter(e -> StringUtils.isBlank(e.getParentId())).collect(Collectors.toList()); + oneList = oneList.stream().filter(e -> oneMenuIdLIst.contains(e.getId())).collect(Collectors.toList()); + Collections.sort(oneList);//正序排序 + + List lawsMonthlyReportWriteEOS = new LinkedList<>(); + for (LawsMonthlyReportTitleTemplateEO lawsMonthlyReportTitleTemplateEO : oneList) { + String oneId = lawsMonthlyReportTitleTemplateEO.getId(); + //一级目录下的二级目录 + List twoList = list.stream().filter(e -> StringUtils.isNotBlank(e.getParentId()) && oneId.equals(e.getParentId())).collect(Collectors.toList()); + Collections.sort(twoList);//正序排序 + + //一级目录下的月报 + for (LawsMonthlyReportTitleTemplateEO monthlyReportTitleTemplateEO : twoList) { + for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : lawsMonthlyReportWriteEOList) { + if(oneId.equals(lawsMonthlyReportWriteEO.getMemoriesChapterOne()) && monthlyReportTitleTemplateEO.getId().equals(lawsMonthlyReportWriteEO.getMemoriesChapter())){ + lawsMonthlyReportWriteEOS.add(lawsMonthlyReportWriteEO); + } + } + } + +// List lawsMonthlyReportWriteEOListOne = lawsMonthlyReportWriteEOList.stream() +// .filter(e -> oneId.equals(e.getMemoriesChapterOne())).collect(Collectors.toList()); +// lawsMonthlyReportWriteEOS.addAll(lawsMonthlyReportWriteEOListOne); + } + + //法规月报id - List lawsMonthlyReportIdList = pageInfo.getRecords().stream().map(LawsMonthlyReportWriteEO::getId).collect(Collectors.toList()); - List userIdList = pageInfo.getRecords().stream().map(LawsMonthlyReportWriteEO::getLawsContact).collect(Collectors.toList()); + List lawsMonthlyReportIdList = lawsMonthlyReportWriteEOS.stream().map(LawsMonthlyReportWriteEO::getId).collect(Collectors.toList()); + List userIdList = lawsMonthlyReportWriteEOS.stream().map(LawsMonthlyReportWriteEO::getLawsContact).collect(Collectors.toList()); List userIds = new ArrayList<>(); for (String s : userIdList) { if(StringUtils.isNotBlank(s)){ @@ -343,7 +382,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl getPageInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEOTemp, +// Integer pageNo, +// Integer pageSize, +// HttpServletRequest req) { +// QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(lawsMonthlyReportWriteEOTemp, req.getParameterMap()); +// queryWrapper.orderByDesc("memories_chapter_one","memories_chapter","create_time"); +// //管理员查看全部数据,其余人只能查看自己的数据 +// LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); +// List rolesList = sysBaseApi.getRolesByUsername(currentUser.getUsername()); +// if(!rolesList.contains(ProjectRoleEnum.ADMIN.getCode())){ +// queryWrapper.in("create_by",currentUser.getUsername()); +// } +// Page page = new Page(pageNo, pageSize); +// Page pageInfo = this.page(page, queryWrapper); +// //法规月报id +// List lawsMonthlyReportIdList = pageInfo.getRecords().stream().map(LawsMonthlyReportWriteEO::getId).collect(Collectors.toList()); +// List userIdList = pageInfo.getRecords().stream().map(LawsMonthlyReportWriteEO::getLawsContact).collect(Collectors.toList()); +// List userIds = new ArrayList<>(); +// for (String s : userIdList) { +// if(StringUtils.isNotBlank(s)){ +// if(s.contains(",")){ +// userIds.addAll(Arrays.asList(s.split(","))); +// }else{ +// userIds.add(s); +// } +// } +// } +// List jsonObjects = sysBaseApi.queryUsersByIds(StringUtils.join(userIds, ",")); +// List userList = new ArrayList<>(); +// for (JSONObject jsonObject : jsonObjects) { +// LoginUser loginUser = JSONObject.parseObject(jsonObject.toJSONString(), LoginUser.class); +// userList.add(loginUser); +// } +// +// //获取章节目录 +// List lawsMonthlyReportTitleTemplateEOList = lawsMonthlyReportTitleTemplateEOService.list(); +// +// //新征求意见清单模板 +// List newOpinionTemplateEOList = new ArrayList<>(); +// if(lawsMonthlyReportIdList.size() != 0){ +// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); +// wrapper.in(NewOpinionTemplateEO::getLawsMonthlyReportWriteId,lawsMonthlyReportIdList); +// newOpinionTemplateEOList = iNewOpinionTemplateEOService.list(wrapper); +// } +// +// +// //新发布标准清单模板 +// List newStandardTemplateEOList = new ArrayList<>(); +// if(lawsMonthlyReportIdList.size() != 0){ +// LambdaQueryWrapper qrapperTemp = new LambdaQueryWrapper<>(); +// qrapperTemp.in(NewStandardTemplateEO::getLawsMonthlyReportWriteId,lawsMonthlyReportIdList); +// newStandardTemplateEOList = iNewStandardTemplateEOService.list(qrapperTemp); +// } +// +// +// for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : pageInfo.getRecords()) { +// //处理法规联系人 +// lawsContact(userList, lawsMonthlyReportWriteEO,lawsMonthlyReportWriteEOTemp.getCut()); +// //处理章节目录 +// if(StringUtils.isNotBlank(lawsMonthlyReportWriteEO.getMemoriesChapter())){ +// List lawsMonthlyReportTitleTemplateEOS = lawsMonthlyReportTitleTemplateEOList.stream() +// .filter(e -> lawsMonthlyReportWriteEO.getMemoriesChapter().equals(e.getId())).collect(Collectors.toList()); +// if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){ +// lawsMonthlyReportWriteEO.setMemoriesChapterName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleCn()); +// }else if(CutEnum.EN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){ +// lawsMonthlyReportWriteEO.setMemoriesChapterName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleEn()); +// } +// } +// //处理章节目录对应的一级目录 +// if(StringUtils.isNotBlank(lawsMonthlyReportWriteEO.getMemoriesChapterOne())){ +// List lawsMonthlyReportTitleTemplateEOS = lawsMonthlyReportTitleTemplateEOList.stream() +// .filter(e -> lawsMonthlyReportWriteEO.getMemoriesChapterOne().equals(e.getId())).collect(Collectors.toList()); +// if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){ +// lawsMonthlyReportWriteEO.setMemoriesChapterOneName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleCn()); +// }else if(CutEnum.EN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){ +// lawsMonthlyReportWriteEO.setMemoriesChapterOneName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleEn()); +// } +// } +// +// if(ContentTemplateEnum.NEW_REQUEST_LIST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){ +// //新征求意见清单模板 +// List collect = newOpinionTemplateEOList.stream() +// .filter(e -> lawsMonthlyReportWriteEO.getId().equals(e.getLawsMonthlyReportWriteId())).collect(Collectors.toList()); +// lawsMonthlyReportWriteEO.setNewOpinionTemplateEOList(collect); +// +// }else if(ContentTemplateEnum.NEW_RELEASE_STANDARD_MANIFEST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){ +// //新发布标准清单模板 +// List collect = newStandardTemplateEOList.stream() +// .filter(e -> lawsMonthlyReportWriteEO.getId().equals(e.getLawsMonthlyReportWriteId())).collect(Collectors.toList()); +// lawsMonthlyReportWriteEO.setNewStandardTemplateEOList(collect); +// } +// +// //处理导出状态 +// String exportState = lawsMonthlyReportWriteEO.getExportState(); +// if(StringUtils.isNotBlank(exportState)){ +// if(ExportStateEnum.NOT_EXPORT.getValue().equals(exportState)){ +// if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut())){ +// lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.NOT_EXPORT.getName()); +// }else{ +// lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.NOT_EXPORT.getNameEn()); +// } +// }else if(ExportStateEnum.HAS_BEEN_EXPORT.getValue().equals(exportState)){ +// if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut())){ +// lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.HAS_BEEN_EXPORT.getName()); +// }else{ +// lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.HAS_BEEN_EXPORT.getNameEn()); +// } +// } +// } +// } +// return pageInfo; +// } private void lawsContact(List userList, LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO,String cut) { String lawsContact = lawsMonthlyReportWriteEO.getLawsContact(); @@ -873,38 +1025,221 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl lawsMonthlyReportWriteEOS, String titleCN, XWPFDocument document) { //封面标识 String flag = "cover"; String moth = lawsMonthlyReportWriteEOS.get(0).getMonth().replaceAll("-", "年") + "月"; + //标题前面添加一个换行 + WordUtil.exportWord(document, "", null, ParagraphAlignment.CENTER, 0, null, + false, false, "Blue Sky Noto Regular",null,null,"break"); - titleCN = "\r\n\r\n" + titleCN + "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"; + //添加标题 WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 18, false, false, "Blue Sky Noto Regular",null,null,flag); + + //标题下面添加9个换行 + for (int i = 0; i < 9; i++) { + WordUtil.exportWord(document, "", null, ParagraphAlignment.CENTER, 0, null, + false, false, "Blue Sky Noto Regular",null,null,"break"); + } WordUtil.exportWord(document, moth, null, ParagraphAlignment.CENTER, 0, 12, false, false, "Blue Sky Noto Regular",null,null,flag); + + String year = lawsMonthlyReportWriteEOS.get(0).getMonth().split("-")[0]; + String mothNew = lawsMonthlyReportWriteEOS.get(0).getMonth().split("-")[1]; + int mothLast = Integer.valueOf(mothNew) + 1; + + //添加说明 2022/7/15 至 2022/8/14 期间发布的主要内容 + String text = year + "/" + mothNew +"/15 至 "+year+"/"+mothLast+"/14期间发布的主要内容"; + WordUtil.exportWord(document, text, null, ParagraphAlignment.CENTER, 0, 11, + false, false, "Blue Sky Noto Regular",null,null,flag); + + //添加换行 + WordUtil.exportWord(document, "\r\n", null, ParagraphAlignment.CENTER, 0, null, + false, false, null,null,null,flag); + + //添加说明 编辑: 整车工程 - 法规与认证&环保与材料科团队 + String text1 = "编辑: 整车工程 - 法规与认证&环保与材料科团队"; + WordUtil.exportWord(document, text1, null, ParagraphAlignment.CENTER, 0, 11, + false, false, "Blue Sky Noto Regular",null,null,flag); + //添加下一页 document.createParagraph().createRun().addBreak(BreakType.PAGE); } - //封面 + //封面(WPS版本) +// private void coverCn(List lawsMonthlyReportWriteEOS, +// String titleCN, +// XWPFDocument document) { +// //封面标识 +// String flag = "cover"; +// String moth = lawsMonthlyReportWriteEOS.get(0).getMonth().replaceAll("-", "年") + "月"; +// +// titleCN = "\r\n\r\n" + titleCN + "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"; +// WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 18, +// false, false, "Blue Sky Noto Regular",null,null,flag); +// WordUtil.exportWord(document, moth, null, ParagraphAlignment.CENTER, 0, 12, +// false, false, "Blue Sky Noto Regular",null,null,flag); +// +// String year = lawsMonthlyReportWriteEOS.get(0).getMonth().split("-")[0]; +// String mothNew = lawsMonthlyReportWriteEOS.get(0).getMonth().split("-")[1]; +// int mothLast = Integer.valueOf(mothNew) + 1; +// +// //添加说明 2022/7/15 至 2022/8/14 期间发布的主要内容 +// String text = year + "/" + mothNew +"/15 至 "+year+"/"+mothLast+"/14期间发布的主要内容"; +// WordUtil.exportWord(document, text, null, ParagraphAlignment.CENTER, 0, 11, +// false, false, "Blue Sky Noto Regular",null,null,flag); +// +// //添加换行 +// WordUtil.exportWord(document, "\r\n", null, ParagraphAlignment.CENTER, 0, null, +// false, false, null,null,null,flag); +// +// //添加说明 编辑: 整车工程 - 法规与认证&环保与材料科团队 +// String text1 = "编辑: 整车工程 - 法规与认证&环保与材料科团队"; +// WordUtil.exportWord(document, text1, null, ParagraphAlignment.CENTER, 0, 11, +// false, false, "Blue Sky Noto Regular",null,null,flag); +// +// //添加下一页 +// document.createParagraph().createRun().addBreak(BreakType.PAGE); +// } + //封面(office版本) private void coverEn(List lawsMonthlyReportWriteEOS, String titleCN, XWPFDocument document) { //封面标识 String flag = "cover"; - String moth = lawsMonthlyReportWriteEOS.get(0).getMonth().replaceAll("-", "年") + "月"; - titleCN = "\r\n\r\n" + titleCN + "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"; + String year = lawsMonthlyReportWriteEOS.get(0).getMonth().split("-")[0]; + String mothNew = lawsMonthlyReportWriteEOS.get(0).getMonth().split("-")[1]; + int mothLast = Integer.valueOf(mothNew) + 1; + String moth = mothNew+"/"+year; + String mothNewEn = getMothEn(mothNew); + String mothLastEn = getMothEn(String.valueOf(mothLast)); + + //标题前面添加一个换行 + WordUtil.exportWord(document, "", null, ParagraphAlignment.CENTER, 0, null, + false, false, "Blue Sky Noto Regular",null,null,"break"); + + //添加标题 WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 18, false, false, "Blue Sky Noto Regular",null,null,flag); + //标题下面添加8个换行 + for (int i = 0; i < 8; i++) { + WordUtil.exportWord(document, "", null, ParagraphAlignment.CENTER, 0, null, + false, false, "Blue Sky Noto Regular",null,null,"break"); + } + WordUtil.exportWord(document, moth, null, ParagraphAlignment.CENTER, 0, 12, false, false, "Blue Sky Noto Regular",null,null,flag); + + + + //添加说明 Update between July 15, 2022 and August 14, 2022 + String text = "Update between "+mothNewEn+" 15,"+year+" and "+mothLastEn+" 14,"+year; + WordUtil.exportWord(document, text, null, ParagraphAlignment.CENTER, 0, 11, + false, false, "Blue Sky Noto Regular",null,null,flag); + + //添加换行 + WordUtil.exportWord(document, "\r\n", null, ParagraphAlignment.CENTER, 0, null, + false, false, null,null,null,flag); + + //添加说明 编辑: 整车工程 - 法规与认证&环保与材料科团队 + String text1 = "Edit By: Regulation & Homologation, Environmental & Materials Team"; + WordUtil.exportWord(document, text1, null, ParagraphAlignment.CENTER, 0, 11, + false, false, "Blue Sky Noto Regular",null,null,flag); + //添加下一页 document.createParagraph().createRun().addBreak(BreakType.PAGE); } + //封面(WPS版本) +// private void coverEn(List lawsMonthlyReportWriteEOS, +// String titleCN, +// XWPFDocument document) { +// //封面标识 +// String flag = "cover"; +// +// String year = lawsMonthlyReportWriteEOS.get(0).getMonth().split("-")[0]; +// String mothNew = lawsMonthlyReportWriteEOS.get(0).getMonth().split("-")[1]; +// int mothLast = Integer.valueOf(mothNew) + 1; +// String moth = mothNew+"/"+year; +// String mothNewEn = getMothEn(mothNew); +// String mothLastEn = getMothEn(String.valueOf(mothLast)); +// +//// String moth = lawsMonthlyReportWriteEOS.get(0).getMonth().replaceAll("-", "年") + "月"; +// +// titleCN = "\r\n\r\n" + titleCN + "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"; +// WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 18, +// false, false, "Blue Sky Noto Regular",null,null,flag); +// WordUtil.exportWord(document, moth, null, ParagraphAlignment.CENTER, 0, 12, +// false, false, "Blue Sky Noto Regular",null,null,flag); +// +// +// +// //添加说明 Update between July 15, 2022 and August 14, 2022 +// String text = "Update between "+mothNewEn+" 15,"+year+" and "+mothLastEn+" 14,"+year; +// WordUtil.exportWord(document, text, null, ParagraphAlignment.CENTER, 0, 11, +// false, false, "Blue Sky Noto Regular",null,null,flag); +// +// //添加换行 +// WordUtil.exportWord(document, "\r\n", null, ParagraphAlignment.CENTER, 0, null, +// false, false, null,null,null,flag); +// +// //添加说明 编辑: 整车工程 - 法规与认证&环保与材料科团队 +// String text1 = "Edit By: Regulation & Homologation, Environmental & Materials Team"; +// WordUtil.exportWord(document, text1, null, ParagraphAlignment.CENTER, 0, 11, +// false, false, "Blue Sky Noto Regular",null,null,flag); +// +// //添加下一页 +// document.createParagraph().createRun().addBreak(BreakType.PAGE); +// } + + private String getMothEn(String moth){ + String result = ""; + switch (moth) { + // 心跳检测 + case "1": + result = "January"; + break; + case "2": + result = "February"; + break; + case "3": + result = "March"; + break; + case "4": + result = "April"; + break; + case "5": + result = "May"; + break; + case "6": + result = "June"; + break; + case "7": + result = "July"; + break; + case "8": + result = "August"; + break; + case "9": + result = "September"; + break; + case "10": + result = "October"; + break; + case "11": + result = "November"; + break; + case "12": + result = "December"; + break; + default: + break; + } + return result; + } private void wordContent(List lawsMonthlyReportWriteEOS, List lawsMonthlyReportTitleTemplateEOS, List reportTitleOneList, @@ -1179,4 +1514,32 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl list){ + Page page =new Page(); + if(list==null){ + return null; + } + int size = list.size(); + if(pageSize > size){ + pageSize = size; + } + if(pageSize!=0){ + //求出最⼤页数,防⽌currentPage越界 + int maxPage = size % pageSize ==0? size / pageSize : size / pageSize +1; + if(currentPage > maxPage){ + currentPage = maxPage; + } + } + //当前页第⼀条数据的下标 + int curIdx = currentPage >1?(currentPage -1)* pageSize :0; + List pageList =new ArrayList(); + //将当前页的数据放进pageList + for(int i =0; i < pageSize && curIdx + i < size; i++){ + pageList.add(list.get(curIdx + i)); + } + page.setCurrent(currentPage).setSize(pageSize).setTotal(list.size()).setRecords(pageList); + return page; + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/util/WordUtil.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/util/WordUtil.java index 848032435..dc18a8ca8 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/util/WordUtil.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/util/WordUtil.java @@ -128,6 +128,10 @@ public class WordUtil { } XWPFRun titleParagraphRun = titleParagraph.createRun(); + //封面中的换行 + if("break".equals(flag)){ + titleParagraphRun.addBreak(); + } if (isNewline) { titleParagraphRun.setText("\r"); } else { @@ -202,45 +206,7 @@ public class WordUtil { styles.addStyle(style); } -// @SneakyThrows -// public static void exportHeardAndFoot(XWPFDocument document){ -//// XWPFDocument document = new XWPFDocument(); -// -// // create header-footer -// XWPFHeaderFooterPolicy headerFooterPolicy = document.getHeaderFooterPolicy(); -// if (headerFooterPolicy == null) headerFooterPolicy = document.createHeaderFooterPolicy(); -// -// // create header start -// XWPFHeader header = headerFooterPolicy.createHeader(XWPFHeaderFooterPolicy.DEFAULT); -// -// XWPFParagraph paragraph = header.createParagraph(); -// paragraph.setAlignment(ParagraphAlignment.CENTER); -// -// XWPFRun run = paragraph.createRun(); -// run.setText("Header"); -// -// // create footer start -// XWPFFooter footer = headerFooterPolicy.createFooter(XWPFHeaderFooterPolicy.DEFAULT); -// -// paragraph = footer.createParagraph(); -// paragraph.setAlignment(ParagraphAlignment.CENTER); -// -// run = paragraph.createRun(); -// run.setText("Footer"); -// -// CTSectPr sectPr = document.getDocument().getBody().getSectPr(); -// if (sectPr == null) sectPr = document.getDocument().getBody().addNewSectPr(); -// CTPageMar pageMar = sectPr.getPgMar(); -// if (pageMar == null) pageMar = sectPr.addNewPgMar(); -// pageMar.setLeft(BigInteger.valueOf(2000)); //720 TWentieths of an Inch Point (Twips) = 720/20 = 36 pt = 36/72 = 0.5" -// pageMar.setRight(BigInteger.valueOf(720)); -// pageMar.setTop(BigInteger.valueOf(1440)); //1440 Twips = 1440/20 = 72 pt = 72/72 = 1" -// pageMar.setBottom(BigInteger.valueOf(1440)); -// -// pageMar.setHeader(BigInteger.valueOf(2000)); //45.4 pt * 20 = 908 = 45.4 pt header from top -// pageMar.setFooter(BigInteger.valueOf(568)); //28.4 pt * 20 = 568 = 28.4 pt footer from bottom -// -// } + //主要内容生成页眉页脚(office版本) @SneakyThrows public static void exportHeardAndFoot(XWPFDocument document,String month){ XWPFHeaderFooterPolicy headerFooterPolicy = document.getHeaderFooterPolicy(); @@ -266,7 +232,7 @@ public class WordUtil { picture.getCTPicture().getBlipFill().getBlip().setEmbed(blipID); run.addTab(); is.close(); - run.setText(" "+month); + run.setText(" "+month); run.setFontSize(11); run.setFontFamily("Blue Sky Noto Regular"); } @@ -313,20 +279,107 @@ public class WordUtil { CTSectPr sectPr = document.getDocument().getBody().getSectPr(); if (sectPr == null) sectPr = document.getDocument().getBody().addNewSectPr(); - //设置页面大小 + //设置页面大小(21*29.7) CTPageSz pgSz = sectPr.addNewPgSz(); - pgSz.setW(BigInteger.valueOf(11907)); - pgSz.setH(BigInteger.valueOf(16840)); + pgSz.setW(BigInteger.valueOf(11905)); + pgSz.setH(BigInteger.valueOf(16838)); CTPageMar pageMar = sectPr.getPgMar(); if (pageMar == null) pageMar = sectPr.addNewPgMar(); - pageMar.setLeft(BigInteger.valueOf(1803)); //左边距 - pageMar.setRight(BigInteger.valueOf(1803));//右边距 + pageMar.setLeft(BigInteger.valueOf(1797)); //左边距 + pageMar.setRight(BigInteger.valueOf(1797));//右边距 pageMar.setTop(BigInteger.valueOf(1440)); //页眉高度 pageMar.setBottom(BigInteger.valueOf(1440));//页脚高度 pageMar.setHeader(BigInteger.valueOf(720)); //页眉上边框到顶部的距离 pageMar.setFooter(BigInteger.valueOf(720)); //页脚下边框到底部的距离 } + //主要内容生成页眉页脚(WPS版本) +// @SneakyThrows +// public static void exportHeardAndFoot(XWPFDocument document,String month){ +// XWPFHeaderFooterPolicy headerFooterPolicy = document.getHeaderFooterPolicy(); +// if (headerFooterPolicy == null) headerFooterPolicy = document.createHeaderFooterPolicy(); +// XWPFHeader header = headerFooterPolicy.createHeader(XWPFHeaderFooterPolicy.DEFAULT); +// +//// String logoFilePath = "/jero-boot/home/weilai.png"; +// String logoFilePath = WordUtil.class.getClassLoader().getResource("static/home/weilai.png").getPath(); +// //页眉第一个段落展示logo----------------------------------------------------------------------------------- +// if (org.apache.commons.lang3.StringUtils.isNotBlank(logoFilePath)) { +// XWPFParagraph logo = header.createParagraph(); +// logo.setAlignment(ParagraphAlignment.LEFT); +// XWPFRun run = logo.createRun(); +// +// String imgFile = logoFilePath; +// InputStream is = WordUtil.class.getClassLoader().getResourceAsStream("static/home/weilai.png"); +//// InputStream is = new FileInputStream(imgFile); +// XWPFPicture picture = run.addPicture(is, XWPFDocument.PICTURE_TYPE_PNG, imgFile, Units.toEMU(95), Units.toEMU(35)); +// String blipID = ""; +// for(XWPFPictureData picturedata : header.getAllPackagePictures()) { //这段必须有,不然打开的logo图片不显示 +// blipID = header.getRelationId(picturedata); +// } +// picture.getCTPicture().getBlipFill().getBlip().setEmbed(blipID); +// run.addTab(); +// is.close(); +// run.setText(" "+month); +// run.setFontSize(11); +// run.setFontFamily("Blue Sky Noto Regular"); +// } +// //页眉第二个段落展示日期------------------------------------------------------------ +// XWPFParagraph paragraph = header.createParagraph();//创建新的段落 +//// paragraph.setAlignment(ParagraphAlignment.RIGHT);//段落文本的对齐方式 +// XWPFRun run = paragraph.createRun(); +//// run.setText(month); +// +// //页脚(三个段落分别展示3个内容)----------------------------------------------------- +// XWPFFooter footer = headerFooterPolicy.createFooter(XWPFHeaderFooterPolicy.DEFAULT); +// +// paragraph = footer.createParagraph(); +// paragraph.setAlignment(ParagraphAlignment.CENTER); +// run = paragraph.createRun(); +// run.setText("NIO Internal"); +// run.setFontSize(11); +// run.setFontFamily("Blue Sky Standard Regular"); +// +// paragraph = footer.createParagraph(); +// paragraph.setAlignment(ParagraphAlignment.LEFT); +// run = paragraph.createRun(); +// run.setText("NIO.com"); +// run.setFontSize(11); +// run.setFontFamily("Blue Sky Noto Regular"); +// +// //生成页码--------------------------------------------------------------------- +// paragraph = footer.createParagraph(); +// paragraph.setAlignment(ParagraphAlignment.RIGHT); +// run = paragraph.createRun(); +// CTFldChar fldChar = run.getCTR().addNewFldChar(); +// fldChar.setFldCharType(STFldCharType.Enum.forString("begin")); +// +// run = paragraph.createRun(); +// CTText ctText = run.getCTR().addNewInstrText(); +// ctText.setStringValue("PAGE \\* MERGEFORMAT"); +// ctText.setSpace(SpaceAttribute.Space.Enum.forString("preserve")); +// +// fldChar = run.getCTR().addNewFldChar(); +// fldChar.setFldCharType(STFldCharType.Enum.forString("end")); +// //---------------------------------------------------------------------------- +// +// +// +// CTSectPr sectPr = document.getDocument().getBody().getSectPr(); +// if (sectPr == null) sectPr = document.getDocument().getBody().addNewSectPr(); +// //设置页面大小 +// CTPageSz pgSz = sectPr.addNewPgSz(); +// pgSz.setW(BigInteger.valueOf(11907)); +// pgSz.setH(BigInteger.valueOf(16840)); +// CTPageMar pageMar = sectPr.getPgMar(); +// if (pageMar == null) pageMar = sectPr.addNewPgMar(); +// pageMar.setLeft(BigInteger.valueOf(1803)); //左边距 +// pageMar.setRight(BigInteger.valueOf(1803));//右边距 +// pageMar.setTop(BigInteger.valueOf(1440)); //页眉高度 +// pageMar.setBottom(BigInteger.valueOf(1440));//页脚高度 +// +// pageMar.setHeader(BigInteger.valueOf(720)); //页眉上边框到顶部的距离 +// pageMar.setFooter(BigInteger.valueOf(720)); //页脚下边框到底部的距离 +// } /** * 主页面(只有页脚) @@ -356,18 +409,58 @@ public class WordUtil { if (sectPr == null) sectPr = document.getDocument().getBody().addNewSectPr(); //设置页面大小 CTPageSz pgSz = sectPr.addNewPgSz(); - pgSz.setW(BigInteger.valueOf(11907)); - pgSz.setH(BigInteger.valueOf(16840)); + pgSz.setW(BigInteger.valueOf(11905)); + pgSz.setH(BigInteger.valueOf(16838)); CTPageMar pageMar = sectPr.getPgMar(); if (pageMar == null) pageMar = sectPr.addNewPgMar(); - pageMar.setLeft(BigInteger.valueOf(1803)); //左边距 - pageMar.setRight(BigInteger.valueOf(1803));//右边距 + pageMar.setLeft(BigInteger.valueOf(1797)); //左边距 + pageMar.setRight(BigInteger.valueOf(1797));//右边距 pageMar.setTop(BigInteger.valueOf(1440)); //页眉高度 pageMar.setBottom(BigInteger.valueOf(1440));//页脚高度 pageMar.setHeader(BigInteger.valueOf(500)); //页眉上边框到顶部的距离 pageMar.setFooter(BigInteger.valueOf(1200)); //页脚下边框到底部的距离 } +// /** +// * 主页面(只有页脚 WPS版本) +// * @param document +// * @param month +// */ +// @SneakyThrows +// public static void exportHeardAndFootMain(XWPFDocument document,String month){ +// XWPFHeaderFooterPolicy headerFooterPolicy = document.getHeaderFooterPolicy(); +// if (headerFooterPolicy == null) headerFooterPolicy = document.createHeaderFooterPolicy(); +//// XWPFHeader header = headerFooterPolicy.createHeader(XWPFHeaderFooterPolicy.DEFAULT); +//// XWPFParagraph paragraph = header.createParagraph();//创建新的段落 +//// XWPFRun run = paragraph.createRun(); +// +// XWPFFooter footer = headerFooterPolicy.createFooter(XWPFHeaderFooterPolicy.DEFAULT); +// XWPFParagraph paragraph = footer.createParagraph(); +// paragraph.setAlignment(ParagraphAlignment.CENTER); +// XWPFRun run = paragraph.createRun(); +// run.setText("NIO Internal"); +// run.setFontSize(18); +// run.setFontFamily("Blue Sky Standard Regular"); +//// run.setFontFamily("Blue Sky Noto Regular"); +// run.setBold(true); +// +// +// CTSectPr sectPr = document.getDocument().getBody().getSectPr(); +// if (sectPr == null) sectPr = document.getDocument().getBody().addNewSectPr(); +// //设置页面大小 +// CTPageSz pgSz = sectPr.addNewPgSz(); +// pgSz.setW(BigInteger.valueOf(11907)); +// pgSz.setH(BigInteger.valueOf(16840)); +// CTPageMar pageMar = sectPr.getPgMar(); +// if (pageMar == null) pageMar = sectPr.addNewPgMar(); +// pageMar.setLeft(BigInteger.valueOf(1803)); //左边距 +// pageMar.setRight(BigInteger.valueOf(1803));//右边距 +// pageMar.setTop(BigInteger.valueOf(1440)); //页眉高度 +// pageMar.setBottom(BigInteger.valueOf(1440));//页脚高度 +// +// pageMar.setHeader(BigInteger.valueOf(500)); //页眉上边框到顶部的距离 +// pageMar.setFooter(BigInteger.valueOf(1200)); //页脚下边框到底部的距离 +// } /** * 导出工具示例 @@ -454,7 +547,7 @@ public class WordUtil { String applyScope = lawsMonthlyReportWriteEO.getApplyScope();//适用范围 String state = lawsMonthlyReportWriteEO.getState();//状态 String useMethod = lawsMonthlyReportWriteEO.getUseMethod();//用法 - String implementCar = lawsMonthlyReportWriteEO.getImplementCar();//实施车型 +// String implementCar = lawsMonthlyReportWriteEO.getImplementCar();//实施车型 String newCarImplementTime = lawsMonthlyReportWriteEO.getNewCarImplementTime();//新车型实施日期 String productionCarImplementTime = lawsMonthlyReportWriteEO.getProductionCarImplementTime();//在产车实施日期 String contentCn = lawsMonthlyReportWriteEO.getContentCn();//主要内容中文 @@ -463,25 +556,25 @@ public class WordUtil { String workProgressEn = lawsMonthlyReportWriteEO.getWorkProgressEn();//NIO工作进展英文 String lawsContactTemp = lawsMonthlyReportWriteEO.getLawsContact();//法规联系人 String lawsContact = getLawsContact(loginUserList, lawsContactTemp); - if(StringUtils.isNotEmpty(lawsContact)){ - List lawsContactList = Arrays.asList(lawsContact.split(",")); - if (lawsContactList.size() > 4) { - StringBuilder str = new StringBuilder(); - int count = 0; - for (String s : lawsContactList) { - str.append(s + ","); - count++; - if (count % 4 == 0) { - str.append("\n"); - } - } - if(str.toString().endsWith("\n")){ - lawsContact = str.substring(0,str.length()-2); - }else{ - lawsContact = str.substring(0,str.length()-1); - } - } - } +// if(StringUtils.isNotEmpty(lawsContact)){ +// List lawsContactList = Arrays.asList(lawsContact.split(",")); +// if (lawsContactList.size() > 4) { +// StringBuilder str = new StringBuilder(); +// int count = 0; +// for (String s : lawsContactList) { +// str.append(s + ","); +// count++; +// if (count % 4 == 0) { +// str.append("\n"); +// } +// } +// if(str.toString().endsWith("\n")){ +// lawsContact = str.substring(0,str.length()-2); +// }else{ +// lawsContact = str.substring(0,str.length()-1); +// } +// } +// } String link = lawsMonthlyReportWriteEO.getLink();//链接 String technologyTerritoryName = ""; @@ -504,7 +597,7 @@ public class WordUtil { String stateName = dictItem(sysDictItems, state,cut, DictCodeReportEnum.STATE.getValue()); String useMethodName = dictItem(sysDictItems, useMethod,cut, DictCodeReportEnum.USEMETHOD.getValue()); - XWPFTable table = document.createTable(11, 2); + XWPFTable table = document.createTable(10, 2); //表格属性 CTTblPr tablePr = table.getCTTbl().addNewTblPr(); //固定列宽(英文和数字的时候自动换行) @@ -534,19 +627,19 @@ public class WordUtil { //第5行 setCellThree(table,3, "用法",useMethodName,sysDictItems,DictCodeReportEnum.USEMETHOD.getValue()); //第6行 - setCell(table,4, "实施车型",implementCar); +// setCell(table,4, "实施车型",implementCar); //第7行 - setCell(table,5, "新车型实施日期",newCarImplementTime); + setCell(table,4, "新车型实施日期",newCarImplementTime); //第8行 - setCell(table,6, "在产车实施日期",productionCarImplementTime); + setCell(table,5, "在产车实施日期",productionCarImplementTime); //第9行 - setCell(table,7, "主要内容",contentCn); + setCell(table,6, "主要内容",contentCn); //第10行 - setCell(table,8, "NIO工作进展",workProgressCn); + setCell(table,7, "NIO工作进展",workProgressCn); //第11行 - setCell(table,9, "法规联系人",lawsContact); + setCell(table,8, "法规联系人",lawsContact); //第12行 - setCell(table,10, "链接",link); + setCell(table,9, "链接",link); }else{ //第1行 setCell(table,0, "Related Areas",technologyTerritoryName); @@ -559,19 +652,19 @@ public class WordUtil { //第5行 setCellThree(table,3,"Usage",useMethodName,sysDictItems,DictCodeReportEnum.APPLYSCOPE.getValue()); //第6行 - setCell(table,4,"Implementation Model",implementCar); +// setCell(table,4,"Implementation Model",implementCar); //第7行 - setCell(table,5,"New Type Execution Date",newCarImplementTime); + setCell(table,4,"New Type Execution Date",newCarImplementTime); //第8行 - setCell(table,6,"New Vehicle Execution Date",productionCarImplementTime); + setCell(table,5,"New Vehicle Execution Date",productionCarImplementTime); //第9行 - setCell(table,7,"Main Content",contentEn); + setCell(table,6,"Main Content",contentEn); //第10行 - setCell(table,8,"NIO Work Progress",workProgressEn); + setCell(table,7,"NIO Work Progress",workProgressEn); //第11行 - setCell(table,9,"Regulatory Contact",lawsContact); + setCell(table,8,"Regulatory Contact",lawsContact); //第12行 - setCell(table, 10,"Link",link); + setCell(table, 9,"Link",link); } // ctTblLayoutType.setType(STTblLayoutType.FIXED); @@ -1040,7 +1133,7 @@ public class WordUtil { for (String s : lawsContact.split(",")) { List loginUserList = collect.stream().filter(e -> e.getId().equals(s)).collect(Collectors.toList()); if(loginUserList.size() != 0){ - sb.append(loginUserList.get(0).getUsername()+","); + sb.append(loginUserList.get(0).getRealname()+","); } } if(com.jero.modules.system.util.StringUtils.isNotBlank(sb)){ @@ -1072,6 +1165,7 @@ public class WordUtil { ctTc.addNewP() : ctTc.getPArray(0); //getParagraph(ctP) 获取 XWPFParagraph XWPFParagraph par = cell.getParagraph(ctP); + par.setAlignment(ParagraphAlignment.LEFT); //XWPFRun 设置格式 XWPFRun run = par.createRun(); //单元格内容换行 @@ -1109,6 +1203,7 @@ public class WordUtil { ctTc.addNewP() : ctTc.getPArray(0); //getParagraph(ctP) 获取 XWPFParagraph XWPFParagraph par = cell.getParagraph(ctP); + par.setAlignment(ParagraphAlignment.LEFT); //XWPFRun 设置格式 XWPFRun run = par.createRun(); //单元格内容换行 □ ■ @@ -1136,7 +1231,7 @@ public class WordUtil { setBlank(text, run, sb, itemText); } if("Usage".equals(fieldName)){ - String itemText = "Constraint,Recommend,Installation Is Compliant"; + String itemText = "Mandatory,Voluntary,Mandatory if fitted"; setBlank(text, run, sb, itemText); } } @@ -1169,13 +1264,13 @@ public class WordUtil { String blank = ""; switch (value) { case "M": - blank = " "; + blank = " "; break; case "N": blank = "\r\n"; break; case "企业": - blank = " "; + blank = " "; break; case "整车": blank = " "; @@ -1190,10 +1285,10 @@ public class WordUtil { blank = ""; break; case "Enterprise": - blank = " "; + blank = " "; break; case "Vehicle": - blank = " "; + blank = " "; break; case "System/Parts": blank = "\r\n"; @@ -1231,13 +1326,13 @@ public class WordUtil { case "安装需符合": blank = ""; break; - case "Constraint": + case "Mandatory": blank = " "; break; - case "Recommend": + case "Voluntary": blank = " "; break; - case "Installation Is Compliant": + case "Mandatory if fitted": blank = ""; break; default: diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java index c4c4dd28f..b7a5cb5fa 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java @@ -576,13 +576,13 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl + :detailDate='detailDate' watermark='download'> @@ -667,6 +667,10 @@ type: Object, default: {}, require: true + }, + watermark: { + type: String, + default: '' } }, data() { diff --git a/jero-web/src/components/PersonnelSelection/index.vue b/jero-web/src/components/PersonnelSelection/index.vue index 5edbc5c27..02ab1fba8 100644 --- a/jero-web/src/components/PersonnelSelection/index.vue +++ b/jero-web/src/components/PersonnelSelection/index.vue @@ -1,16 +1,33 @@ @@ -91,6 +107,8 @@ return { loading: false, gData: [], + valueSelect: [], + dictOptions: [], autoExpandParent: false, checkboxList: [], expandedKeys: [], @@ -111,7 +129,35 @@ } }, mounted() { - + this.valueSelect = [] + this.dictOptions = [] + setTimeout(() => { + if (this.value) { + let contentName = [] + let contentId = [] + if (this.personneQuery[this.query.db_field_name + 'Name']) { + contentName = this.personneQuery[this.query.db_field_name + 'Name'].split(',') + } else if (this.personneQuery[this.query.db_field_name]) { + contentName = this.personneQuery[this.query.db_field_name].split(',') + } else { + contentName = [] + } + if (this.personneQuery[this.query.db_field_name + '_id']) { + contentId = this.personneQuery[this.query.db_field_name + '_id'].split(',') + } else if (this.personneQuery[this.query.db_field_name]) { + contentId = this.personneQuery[this.query.db_field_name].split(',') + } else { + contentId = [] + } + contentId.forEach((res, index) => { + this.dictOptions.push({ + value: res, + title: contentName[index] + }) + this.valueSelect.push(res) + }) + } + }, 600) }, methods: { // checkChange(val, checked, indeterminate) { @@ -314,6 +360,28 @@ this.visible = false this.treeVisible = false }, + onChange(value) { + this.valueSelect = value + console.log(this.valueSelect) + console.log(this.dictOptions) + this.userIds = [] + this.userName = [] + if (this.valueSelect && this.valueSelect.length > 0) { + value.forEach(res => { + this.dictOptions.forEach(val => { + if (res == val.value) { + this.userIds.push(val.value) + this.userName.push(val.title) + } + }) + }) + } + let userIds = JSON.parse(JSON.stringify(this.userIds)) + let userName = JSON.parse(JSON.stringify(this.userName)) + console.log(userIds) + this.$emit('input', userName.join(',')) + this.$emit('change', this.query.db_field_name, userIds.join(','), this.query.subscript) + }, handleSubmit() { // if (this.userIds && this.userIds.length > 0) { if (this.isSingleChoice) { @@ -330,6 +398,19 @@ // userIds = userIds.filter(function(item, index) { // return userIds.indexOf(item) === index // 因为indexOf 只能查找到第一个 // }) + if (!this.isInput) { + this.dictOptions = [] + this.valueSelect = [] + if (userIds && userIds.length > 0) { + userIds.forEach((res, index) => { + this.dictOptions.push({ + title: userName[index], + value: res + }) + this.valueSelect.push(res) + }) + } + } this.$emit('input', userName.join(',')) this.$emit('change', this.query.db_field_name, userIds.join(','), this.query.subscript) this.visible = false @@ -514,11 +595,18 @@ width: 100%; } + .itemModelStand-input { + width: calc(100% - 100px); + display: inline-block; + height: 38px; + } + .button-box { + width: 90px; margin-left: 10px; height: 38px; line-height: 38px; - + float: right; } .drawer-bootom-button { @@ -590,4 +678,18 @@ color: #21c9cc; display: inline-block; } + + .itemOption { + display: inline-block; + width: 100%; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + -o-text-overflow: ellipsis; + } + + \ No newline at end of file diff --git a/jero-web/src/components/libraryAddForm/index.vue b/jero-web/src/components/libraryAddForm/index.vue index 73fae7f9f..86cd81291 100644 --- a/jero-web/src/components/libraryAddForm/index.vue +++ b/jero-web/src/components/libraryAddForm/index.vue @@ -150,6 +150,7 @@
- {{ item.db_field_txt }} + {{ item.db_field_txt }} {{$t('See')}}
@@ -605,9 +604,11 @@ res.result.userType = result[0] ? result[0].value : '' } this.getTableList(res.result.userType) + this.getHeader(res.result.userType) } else { this.getTableList(result[0].value) + this.getHeader(result[0].value) } this.$emit('LoginUserType', result, this.currentPersonRole, res.result.userType) } else { @@ -615,7 +616,7 @@ } }) }, - getHeader() { + getHeader(userType) { let paramsManifestid let url if (this.$route.query.it === undefined) { @@ -629,7 +630,8 @@ } let params = { paramsManifestId: paramsManifestid, - flag: '7' + flag: '7', + userType:userType, } getAction(url, params).then((res) => { if (res.success) { diff --git a/jero-web/src/components/uploadFileChangeDown/file.vue b/jero-web/src/components/uploadFileChangeDown/file.vue index e742821cb..19b236668 100644 --- a/jero-web/src/components/uploadFileChangeDown/file.vue +++ b/jero-web/src/components/uploadFileChangeDown/file.vue @@ -43,7 +43,7 @@ import { mapGetters } from 'vuex' export default { name: 'file', - props: ['disableds', 'thisFileUploadUrl', 'readonly', 'thisFileType', 'isUploadFile', 'detailDate'], + props: ['disableds', 'thisFileUploadUrl', 'readonly', 'thisFileType', 'isUploadFile', 'detailDate','watermark'], data() { return { visible: false, @@ -91,7 +91,11 @@ import { mapGetters } from 'vuex' methods: { ...mapGetters(['userInfo']), download() { - downloadFile('/sys/common/downLoadFile', this.template.templateName, { id: this.template.templateId }) + if(this.watermark == 'download'){ + downloadFile('/sys/common/downLoadFileNOMark', this.template.templateName, { id: this.template.templateId }) + } else { + downloadFile('/sys/common/downLoadFile', this.template.templateName, { id: this.template.templateId }) + } }, perentHandleFunc(data) { this.myfileList = data @@ -220,7 +224,11 @@ import { mapGetters } from 'vuex' // let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix) // window.open(url, '_blank') // } else { + if(this.watermark == 'download'){ + downloadFile('/sys/common/downLoadFileNOMark', fileQuery.fileName, { id: fileQuery.id }) + }else { downloadFile('/sys/common/downLoadFile', fileQuery.fileName, { id: fileQuery.id }) + } // } } } diff --git a/jero-web/src/store/modules/user.js b/jero-web/src/store/modules/user.js index 2b9b58549..ccd43b585 100644 --- a/jero-web/src/store/modules/user.js +++ b/jero-web/src/store/modules/user.js @@ -11,6 +11,7 @@ import { CACHE_INCLUDED_ROUTES } from '@/store/mutation-types' import { welcome } from '@/utils/util' +import { LZString } from '@/utils/compressedData' import { queryPermissionsByUser } from '@/api/api' import { getAction } from '@/api/manage' @@ -146,7 +147,8 @@ const user = { // if (!gData) { // getAction('sys/user/queryUserTreeList', {}).then((res) => { // if (res.success) { - // localStorage.setItem('gData', JSON.stringify(res.result)) + // let index = LZString.compressToUint8Array(JSON.stringify(res.result)).join(',') + // localStorage.setItem('gData', LZString.compressToEncodedURIComponent(index)) // } // }) // } diff --git a/jero-web/src/utils/compressedData.js b/jero-web/src/utils/compressedData.js new file mode 100644 index 000000000..f855f5083 --- /dev/null +++ b/jero-web/src/utils/compressedData.js @@ -0,0 +1,313 @@ +export const LZString = function() { + function f(h, e) { + if (!b[h]) { + b[h] = {}; + for (var i = 0; i < h.length; i++) { + b[h][h.charAt(i)] = i + } + } + return b[h][e] + } + + var c = String.fromCharCode, + g = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", + d = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$", + b = {}, + a = { + compressToBase64: function(h) { + if (null == h) { + return "" + } + var e = a._compress(h, 6, + function(i) { + return g.charAt(i) + }); + switch (e.length % 4) { + default: + case 0: + return e; + case 1: + return e + "==="; + case 2: + return e + "=="; + case 3: + return e + "=" + } + }, + decompressFromBase64: function(e) { + return null == e ? "": "" == e ? null: a._decompress(e.length, 32, + function(h) { + return f(g, e.charAt(h)) + }) + }, + compressToUTF16: function(e) { + return null == e ? "": a._compress(e, 15, + function(h) { + return c(h + 32) + }) + " " + }, + decompressFromUTF16: function(e) { + return null == e ? "": "" == e ? null: a._decompress(e.length, 16384, + function(h) { + return e.charCodeAt(h) - 32 + }) + }, + compressToUint8Array: function(l) { + for (var j = a.compress(l), m = new Uint8Array(2 * j.length), k = 0, h = j.length; h > k; k++) { + var i = j.charCodeAt(k); + m[2 * k] = i >>> 8, + m[2 * k + 1] = i % 256 + } + return m + }, + decompressFromUint8Array: function(k) { + if (null === k || void 0 === k) { + return a.decompress(k) + } + for (var l = new Array(k.length / 2), j = 0, h = l.length; h > j; j++) { + l[j] = 256 * k[2 * j] + k[2 * j + 1] + } + var i = []; + return l.forEach(function(e) { + i.push(c(e)) + }), + a.decompress(i.join("")) + }, + compressToEncodedURIComponent: function(e) { + return null == e ? "": a._compress(e, 6, + function(h) { + return d.charAt(h) + }) + }, + decompressFromEncodedURIComponent: function(e) { + return null == e ? "": "" == e ? null: (e = e.replace(/ /g, "+"), a._decompress(e.length, 32, + function(h) { + return f(d, e.charAt(h)) + })) + }, + compress: function(e) { + return a._compress(e, 16, + function(h) { + return c(h) + }) + }, + _compress: function(q, j, w) { + if (null == q) { + return "" + } + var C, I, z, J = {}, + k = {}, + H = "", + E = "", + F = "", + y = 2, + B = 3, + A = 2, + D = [], + x = 0, + G = 0; + for (z = 0; z < q.length; z += 1) { + if (H = q.charAt(z), Object.prototype.hasOwnProperty.call(J, H) || (J[H] = B++, k[H] = !0), E = F + H, Object.prototype.hasOwnProperty.call(J, E)) { + F = E + } else { + if (Object.prototype.hasOwnProperty.call(k, F)) { + if (F.charCodeAt(0) < 256) { + for (C = 0; A > C; C++) { + x <<= 1, + G == j - 1 ? (G = 0, D.push(w(x)), x = 0) : G++ + } + for (I = F.charCodeAt(0), C = 0; 8 > C; C++) { + x = x << 1 | 1 & I, + G == j - 1 ? (G = 0, D.push(w(x)), x = 0) : G++, + I >>= 1 + } + } else { + for (I = 1, C = 0; A > C; C++) { + x = x << 1 | I, + G == j - 1 ? (G = 0, D.push(w(x)), x = 0) : G++, + I = 0 + } + for (I = F.charCodeAt(0), C = 0; 16 > C; C++) { + x = x << 1 | 1 & I, + G == j - 1 ? (G = 0, D.push(w(x)), x = 0) : G++, + I >>= 1 + } + } + y--, + 0 == y && (y = Math.pow(2, A), A++), + delete k[F] + } else { + for (I = J[F], C = 0; A > C; C++) { + x = x << 1 | 1 & I, + G == j - 1 ? (G = 0, D.push(w(x)), x = 0) : G++, + I >>= 1 + } + } + y--, + 0 == y && (y = Math.pow(2, A), A++), + J[E] = B++, + F = String(H) + } + } + if ("" !== F) { + if (Object.prototype.hasOwnProperty.call(k, F)) { + if (F.charCodeAt(0) < 256) { + for (C = 0; A > C; C++) { + x <<= 1, + G == j - 1 ? (G = 0, D.push(w(x)), x = 0) : G++ + } + for (I = F.charCodeAt(0), C = 0; 8 > C; C++) { + x = x << 1 | 1 & I, + G == j - 1 ? (G = 0, D.push(w(x)), x = 0) : G++, + I >>= 1 + } + } else { + for (I = 1, C = 0; A > C; C++) { + x = x << 1 | I, + G == j - 1 ? (G = 0, D.push(w(x)), x = 0) : G++, + I = 0 + } + for (I = F.charCodeAt(0), C = 0; 16 > C; C++) { + x = x << 1 | 1 & I, + G == j - 1 ? (G = 0, D.push(w(x)), x = 0) : G++, + I >>= 1 + } + } + y--, + 0 == y && (y = Math.pow(2, A), A++), + delete k[F] + } else { + for (I = J[F], C = 0; A > C; C++) { + x = x << 1 | 1 & I, + G == j - 1 ? (G = 0, D.push(w(x)), x = 0) : G++, + I >>= 1 + } + } + y--, + 0 == y && (y = Math.pow(2, A), A++) + } + for (I = 2, C = 0; A > C; C++) { + x = x << 1 | 1 & I, + G == j - 1 ? (G = 0, D.push(w(x)), x = 0) : G++, + I >>= 1 + } + for (;;) { + if (x <<= 1, G == j - 1) { + D.push(w(x)); + break + } + G++ + } + return D.join("") + }, + decompress: function(e) { + return null == e ? "": "" == e ? null: a._decompress(e.length, 32768, + function(h) { + return e.charCodeAt(h) + }) + }, + _decompress: function(B, C, I) { + var r, F, x, z, q, K, L, E, H = [], + G = 4, + J = 4, + D = 3, + k = "", + j = [], + y = { + val: I(0), + position: C, + index: 1 + }; + for (F = 0; 3 > F; F += 1) { + H[F] = F + } + for (z = 0, K = Math.pow(2, 2), L = 1; L != K;) { + q = y.val & y.position, + y.position >>= 1, + 0 == y.position && (y.position = C, y.val = I(y.index++)), + z |= (q > 0 ? 1 : 0) * L, + L <<= 1 + } + switch (r = z) { + case 0: + for (z = 0, K = Math.pow(2, 8), L = 1; L != K;) { + q = y.val & y.position, + y.position >>= 1, + 0 == y.position && (y.position = C, y.val = I(y.index++)), + z |= (q > 0 ? 1 : 0) * L, + L <<= 1 + } + E = c(z); + break; + case 1: + for (z = 0, K = Math.pow(2, 16), L = 1; L != K;) { + q = y.val & y.position, + y.position >>= 1, + 0 == y.position && (y.position = C, y.val = I(y.index++)), + z |= (q > 0 ? 1 : 0) * L, + L <<= 1 + } + E = c(z); + break; + case 2: + return "" + } + for (H[3] = E, x = E, j.push(E);;) { + if (y.index > B) { + return "" + } + for (z = 0, K = Math.pow(2, D), L = 1; L != K;) { + q = y.val & y.position, + y.position >>= 1, + 0 == y.position && (y.position = C, y.val = I(y.index++)), + z |= (q > 0 ? 1 : 0) * L, + L <<= 1 + } + switch (E = z) { + case 0: + for (z = 0, K = Math.pow(2, 8), L = 1; L != K;) { + q = y.val & y.position, + y.position >>= 1, + 0 == y.position && (y.position = C, y.val = I(y.index++)), + z |= (q > 0 ? 1 : 0) * L, + L <<= 1 + } + H[J++] = c(z), + E = J - 1, + G--; + break; + case 1: + for (z = 0, K = Math.pow(2, 16), L = 1; L != K;) { + q = y.val & y.position, + y.position >>= 1, + 0 == y.position && (y.position = C, y.val = I(y.index++)), + z |= (q > 0 ? 1 : 0) * L, + L <<= 1 + } + H[J++] = c(z), + E = J - 1, + G--; + break; + case 2: + return j.join("") + } + if (0 == G && (G = Math.pow(2, D), D++), H[E]) { + k = H[E] + } else { + if (E !== J) { + return null + } + k = x + x.charAt(0) + } + j.push(k), + H[J++] = x + k.charAt(0), + G--, + x = k, + 0 == G && (G = Math.pow(2, D), D++) + } + } + }; + return a +} (); + +// module.exports = LZString \ No newline at end of file diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/classificationMaintenanceAdd.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/classificationMaintenanceAdd.vue index 81b080a51..4b0ef10b7 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/classificationMaintenanceAdd.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/classificationMaintenanceAdd.vue @@ -34,6 +34,7 @@
-
+
{{$t('managePublishing')}}
diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue index 0fc3fa9f4..487daf815 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue @@ -34,9 +34,10 @@ {{$t('problemClassification')}}
- + * {{$t('authorizedUser')}}
- + - {{$t('bringInDocumentInformation')}} + {{$t('addStandardInformation')}} @@ -178,7 +179,10 @@
- {{$t('submit')}} + + {{$t('tempSave')}} + + {{$t('release')}}
@@ -356,7 +360,7 @@ document.title = this.$t('problemKnowledgeBase') + this.$t('edit') } else { this.isDisplayIndex = true - this.$nextTick(()=>{ + this.$nextTick(() => { this.myQuillEditor() }) document.title = this.$t('problemKnowledgeBase') + this.$t('newlyAdded') @@ -476,6 +480,11 @@ } else { this.formInline.standNumber = [] } + if (this.formInline.problemType) { + this.formInline.problemType = this.formInline.problemType.split(',') + } else { + this.formInline.problemType = [] + } this.formInline = { ...this.formInline } } else { this.formInline = {} @@ -491,7 +500,7 @@ this.$router.go(-1) }, onEditorReady(quill) { - if (this.formInlineOne.content){ + if (this.formInlineOne.content) { document.getElementsByClassName('ql-editor')[0].innerHTML = this.formInlineOne.content } }, @@ -595,14 +604,20 @@ this.formInline[this.uploadName] = attIdList.join(',') this.formInline = { ...this.formInline } }, - submit() { + tempSaveClick(){ + + }, + submit(releaseStatus) { this.$refs.ruleForm.validate(valid => { if (valid) { let formInline = JSON.parse(JSON.stringify(this.formInline)) // if (formInline.standNumber && formInline.standNumber.length > 0) { - if (formInline.standNumber instanceof Array){ + if (formInline.standNumber instanceof Array) { formInline.standNumber = formInline.standNumber.join(',') } + if (formInline.problemType instanceof Array) { + formInline.problemType = formInline.problemType.join(',') + } // } this.loading = true this.confirmLoading = true @@ -624,6 +639,7 @@ }) }) } + formInline.releaseStatus = releaseStatus Action(url, formInline).then((res) => { if (res.success) { this.$message.success(this.$t('OperationSuccessful')) @@ -775,6 +791,7 @@ .box-button { height: 38px; margin-top: 4px; + margin-left: 10px; } .box-button-index { diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue index 1c1ef45bd..375192fd7 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue @@ -15,7 +15,9 @@
-
{{$t('classificationMaintenance')}} @@ -42,11 +44,15 @@ -
+
{{$t('managePublishing')}}
-
+
{{$t('newlyAdded')}}
@@ -65,16 +71,16 @@ {{val}}
-
-
- +
+
- {{val.fileName}} + {{val.fileName}}
@@ -85,9 +91,13 @@ {{item.createBy}}
-
+
- {{item.problemTypeName}} + {{item.standNumber}} +
+
+ + {{item.targetMarket_dicText}}
@@ -170,6 +180,7 @@ import SelectedBy from '@/components/SelectedBy/index' import problemKnowledgeBaseListView from './problemKnowledgeBaseListView' import { mapGetters } from 'vuex' + import { Base64 } from 'js-base64' export default { name: 'problemKnowledgeBaseList', @@ -193,6 +204,7 @@ queryForm: {}, tagList: [], downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download', + downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download', pageNo: 1, url: { getInfoList: '/problemKnowledgeBase/problemKnowledgeBaseEO/page' @@ -207,6 +219,17 @@ localStorage.removeItem('serial_number') } this.isTrue = true + let BaseQuery = localStorage.getItem('problemknowledgeBase') + if (BaseQuery) { + let content = JSON.parse(BaseQuery) + if (content.id) { + this.isTrue = false + this.$nextTick(() => { + this.$refs.problemKnowledgeBaseListViewRef.getData(JSON.parse(JSON.stringify(content))) + }) + } + localStorage.removeItem('problemknowledgeBase') + } this.getList() this.replacePage() }, @@ -255,6 +278,26 @@ this.getList() }) }, + fileClick(fileQuery) { + let fileName = fileQuery.fileName + let index1 = fileName.lastIndexOf('.') + let index2 = fileName.length + let fileSuffix = fileName.substring(index1, index2) + if (fileSuffix == '.pdf') { + window.open('/pdf/web/viewer.html?file=' + encodeURIComponent('/jero-boot/sys/common/pdf/viewFile?id=' + fileQuery.id + '&userName=' + this.userInfo().username)) + } else if (fileSuffix == '.docx' || fileSuffix == '.doc') { + let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix) + window.open(url, '_blank') + } else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') { + let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix) + window.open(url, '_blank') + } else if (fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') { + let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + fileQuery.id + fileSuffix) + window.open(url, '_blank') + } else { + downloadFile('/sys/common/downLoadFile', fileQuery.fileName, { id: fileQuery.id }) + } + }, problemKnowledgeBase() { this.pageNo = 1 this.isTrue = true @@ -309,7 +352,8 @@ }, getText(str) { let words = str.replace(/<[^<>]+>/g, '').replace(/ /gi, '') //这里是去除标签 - return words.replace(/\s/g, '') //这里是去除空格 + //.replace(/\s/g, '') //这里是去除空格 + return words }, getList() { let selectedTags = JSON.parse(JSON.stringify(this.selectedTags)) @@ -317,7 +361,8 @@ pageNo: this.pageNo, pageSize: this.pageSize, searchStr: this.searchStr, - problemTypes: selectedTags.join(',') + problemTypes: selectedTags.join(','), + releaseStatus: 'Have released' } this.loading = true getAction(this.url.getInfoList, query).then((res) => { @@ -629,7 +674,7 @@ background: #DBF2F3; border-radius: 3px; margin-left: 6px; - max-width: 120px; + max-width: 140px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; @@ -662,22 +707,22 @@ margin-top: 10px; .content-box-content-botton-text { - max-width: 198px; + /*max-width: 198px;*/ height: 32px; display: inline-block; text-align: center; line-height: 32px; - padding: 0 10px; - background: #EFF1F3; + /*background: #EFF1F3;*/ border-radius: 4px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; - font-size: 12px; + font-size: 14px; font-weight: 400; color: #040B29; - margin-right: 10px; + margin-right: 20px; cursor: pointer; + text-decoration: underline; } } } @@ -789,7 +834,7 @@ background: #fff; background: rgba(4, 11, 41, 0.06); color: #363C54; - max-width: 150px; + max-width: 280px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseListView.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseListView.vue index 78ad86e43..4c0f51f27 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseListView.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseListView.vue @@ -33,9 +33,13 @@ {{queryForm.createBy}}
-
- - {{queryForm.problemTypeName}} +
+ + {{queryForm.standNumber}} +
+
+ + {{queryForm.targetMarket_dicText}}
@@ -96,8 +100,16 @@
{{item.commentContent}}
-
- {{$t('answer')}} +
+ + {{$t('answer')}} + + + {{$t('delete')}} +
@@ -109,8 +121,15 @@
{{val.commentContent}}
-
+
+ {{$t('answer')}} + + + {{$t('delete')}} +
@@ -158,6 +177,7 @@ import SelectedBy from '@/components/SelectedBy/index' import { mapGetters } from 'vuex' import { Base64 } from 'js-base64' + import { deleteAction } from '../../../../api/manage' export default { name: 'problemKnowledgeBaseListView', @@ -167,6 +187,8 @@ data() { return { visibleComment: false, + administrators: false, + userInfoQuery: {}, releaseList: [], loading: false, formInline: {}, @@ -205,7 +227,15 @@ } }, mounted() { - + this.administrators = false + this.userInfoQuery = this.userInfo() + if (this.userInfo().userRoleList && this.userInfo().userRoleList.length > 0) { + this.userInfo().userRoleList.forEach(res => { + if (res.roleCode == 'admin') { + this.administrators = true + } + }) + } }, methods: { ...mapGetters(['userInfo']), @@ -229,6 +259,28 @@ downloadFile('/sys/common/downLoadFile', fileQuery.fileName, { id: fileQuery.id }) } }, + deleteClick(item) { + let _this = this + this.$confirm({ + content: _this.$t('ConfirmDelete'), + onOk() { + let url = '' + if (item.problemKnowledgeBaseId) { + url = '/problemKnowledgeBase/problemKnowledgeBaseCommentEO/deleteBatch' + } else { + url = '/project/problemKnowledgeBaseReplyEO/deleteBatch' + } + deleteAction(url, { ids: item.id }).then((res) => { + if (res.success) { + _this.$message.success(_this.$t('OperationSuccessful')) + _this.releaseData() + } else { + _this.$message.warning(res.message) + } + }) + } + }) + }, download(item) { downloadFile('/sys/common/downLoadFile', item.fileName, { id: item.id, userName: this.userInfo().username }) }, @@ -494,22 +546,22 @@ margin-top: 10px; .content-box-content-botton-text { - max-width: 200px; + /*max-width: 200px;*/ /*min-width: 120px;*/ height: 32px; display: inline-block; text-align: center; line-height: 32px; - padding: 0 10px; - background: #EFF1F3; + /*padding: 0 10px;*/ + /*background: #EFF1F3;*/ border-radius: 4px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; - font-size: 12px; + font-size: 14px; font-weight: 400; color: #040B29; - margin-right: 10px; + margin-right: 20px; cursor: pointer; .file-text { @@ -517,6 +569,7 @@ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; + text-decoration: underline; display: inline-block; margin-right: 6px; cursor: pointer; @@ -632,6 +685,10 @@ margin-top: 6px; } + .answer-text-index { + width: 100%; + } + .answer-text { display: inline-block; padding: 3px 14px; diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseRelease.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseRelease.vue index 67a491e01..16bc05889 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseRelease.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseRelease.vue @@ -3,25 +3,49 @@
- - - + + + {{$t('managePublishing')}}
- -
-
- {{$t('searchContent')}} + + + +
+
+ {{$t('searchContent')}} +
+ +
+
+ +
+
+ {{$t('releaseStatus')}} +
+ + + + {{ item.name}} + + + +
+
+
+ {{$t('query')}} + {{$t('reset')}} +
- - {{$t('query')}} - {{$t('reset')}} -
+
@@ -41,9 +65,14 @@
{{item.contentOne}}
+
+ {{item.releaseStatus == 'Draft'?$t('draft'):$t('HaveReleased')}} +
@@ -83,10 +112,22 @@ conList: [], total: 0, pageSize: 10, - searchStr: '', + queryParam: {}, + releaseStatusList: [ + { + name: this.$t('draft'), + value: 'Draft' + }, + { + name: this.$t('HaveReleased'), + value: 'Have released' + } + ], loading: false, + administrators: false, downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download', pageNo: 1, + userInfoQuery: {}, url: { getInfoList: '/problemKnowledgeBase/problemKnowledgeBaseEO/page', deleteBatch: '/problemKnowledgeBase/problemKnowledgeBaseEO/deleteBatch' @@ -96,6 +137,15 @@ mounted() { this.getList() document.title = this.$t('managePublishing') + this.administrators = false + this.userInfoQuery = this.userInfo() + if (this.userInfo().userRoleList && this.userInfo().userRoleList.length > 0) { + this.userInfo().userRoleList.forEach(res => { + if (res.roleCode == 'admin') { + this.administrators = true + } + }) + } }, methods: { ...mapGetters(['userInfo']), @@ -113,20 +163,21 @@ this.getList() }, ResetSearch() { - this.searchStr = '' + this.queryParam = {} this.pageNo = 1 this.getList() }, getText(str) { let words = str.replace(/<[^<>]+>/g, '').replace(/ /gi, '') //这里是去除标签 - return words.replace(/\s/g, '') //这里是去除空格 + //.replace(/\s/g, '') //这里是去除空格 + return words }, getList() { let query = { pageNo: this.pageNo, pageSize: this.pageSize, createBy: this.userInfo().username, - searchStr: this.searchStr + ...this.queryParam } this.loading = true getAction(this.url.getInfoList, query).then((res) => { @@ -271,11 +322,21 @@ .text-text-right { padding: 19px 19px; - width: calc(100% - 180px); + width: calc(100% - 300px); box-sizing: border-box; /*margin-left: 38px;*/ } + .text-text-right-text-One { + width: 120px; + height: 100%; + text-align: center; + position: absolute; + right: 180px; + top: 50%; + transform: translate-Y(-50%); + } + .text-text-right-text { width: 180px; height: 100%; @@ -351,16 +412,13 @@ .search-detail-wrap { width: 100%; - margin: 0 auto; + margin-bottom: 16px; } .box-title-text { line-height: 1.4; display: flex; align-items: center; - margin-bottom: 10px; - text-align: center; - justify-content: center; } .title-text { @@ -380,7 +438,7 @@ .box-input { /*min-width: 200px;*/ display: inline-block; - width: 50%; + width: 100%; height: 38px; margin-top: 2px; margin-right: 16px; diff --git a/jero-web/src/views/businessSupport/regulationReport/components/RegulationMonthlyFill.vue b/jero-web/src/views/businessSupport/regulationReport/components/RegulationMonthlyFill.vue index 0fa66b3aa..2be197f75 100644 --- a/jero-web/src/views/businessSupport/regulationReport/components/RegulationMonthlyFill.vue +++ b/jero-web/src/views/businessSupport/regulationReport/components/RegulationMonthlyFill.vue @@ -44,19 +44,27 @@
-
+
{{$t('monthlyTitleTemplate')}}
-
+
{{$t('monthlyIntegrationAndExport')}}
-
+
{{$t('addContent')}}
-
+
{{$t('BatchDelete')}}
@@ -74,10 +82,28 @@ :columns="columns" > - {{$t('copy')}} - {{$t('view')}} - {{$t('edit')}} - {{$t('deleteLib')}} + + {{$t('copy')}} + + + {{$t('view')}} + + + {{$t('edit')}} + + + {{$t('deleteLib')}} +
@@ -103,6 +129,7 @@ import fillTable from './modules/fillTable' import fillAdd from './modules/fillAdd' import moment from 'moment' + import { mapGetters } from 'vuex' export default { name: 'RegulationMonthlyFill', @@ -118,14 +145,14 @@ list: '/report/lawsMonthlyReportWriteEO/page', exportData: '/report/lawsMonthlyReportWriteEO/exportMonthlyReport' }, - exportStatusList:[ + exportStatusList: [ { - value:'2', - name:this.$t('hasBeenExport') + value: '2', + name: this.$t('hasBeenExport') }, { - value:'1', - name:this.$t('notExport') + value: '1', + name: this.$t('notExport') } ], loading: false, @@ -192,15 +219,27 @@ width: 190, scopedSlots: { customRender: 'operation' } } - ] + ], + userData:{}, + administrators:false } }, mounted() { this.queryParam.month = moment(new Date()).format('YYYY-MM') this.getList() + this.userData = this.userInfo() + this.administrators = false + if (this.userInfo().userRoleList && this.userInfo().userRoleList.length > 0) { + this.userInfo().userRoleList.forEach(res => { + if (res.roleCode == 'admin') { + this.administrators = true + } + }) + } }, methods: { - copyClick(row){ + ...mapGetters(['userInfo']), + copyClick(row) { let _this = this this.$confirm({ content: _this.$t('ConfirmReplication'), diff --git a/jero-web/src/views/businessSupport/regulationReport/components/RegulationMonthlyManagement.vue b/jero-web/src/views/businessSupport/regulationReport/components/RegulationMonthlyManagement.vue index 09ff3b0f0..a89cbe2cd 100644 --- a/jero-web/src/views/businessSupport/regulationReport/components/RegulationMonthlyManagement.vue +++ b/jero-web/src/views/businessSupport/regulationReport/components/RegulationMonthlyManagement.vue @@ -22,7 +22,7 @@
-
+
{{$t('uploadMonthly')}}
@@ -51,14 +51,16 @@ {{record.issueStatus == 2 ? $t('release') : $t('withdraw')}} {{$t('deleteLib')}} {{$t('download')}} @@ -110,6 +112,7 @@ downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download', downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download', userData: {}, + administrators:false, columns: [ { title: this.$t('RegulationMonthlyName'), @@ -161,6 +164,14 @@ mounted() { this.getList() this.userData = this.userInfo() + this.administrators = false + if (this.userInfo().userRoleList && this.userInfo().userRoleList.length > 0) { + this.userInfo().userRoleList.forEach(res => { + if (res.roleCode == 'admin') { + this.administrators = true + } + }) + } }, methods: { ...mapGetters(['userInfo']), diff --git a/jero-web/src/views/businessSupport/regulationReport/components/modules/defaultTemplate.vue b/jero-web/src/views/businessSupport/regulationReport/components/modules/defaultTemplate.vue index b42ce13c7..4797f1267 100644 --- a/jero-web/src/views/businessSupport/regulationReport/components/modules/defaultTemplate.vue +++ b/jero-web/src/views/businessSupport/regulationReport/components/modules/defaultTemplate.vue @@ -98,7 +98,7 @@ :placeholder="$t('PleaseSelect')+$t('scopeOfApplication')" :type="'checkbox'" :disabled="disabled" - :triggerChange="false" :dictCode="'apply_scope'"/> + :triggerChange="false" :dictCode="'fa3_gui1_yue4_bao4_-_shi4_yong4_fan4_wei2'"/>
@@ -255,7 +255,7 @@ * {{$t('regulatoryContact')}}
- + ]+>/g, '').replace(/ /gi, '') //这里是去除标签 - return words.replace(/\s/g, '') //这里是去除空格 + //.replace(/\s/g, '') //这里是去除空格 + return words }, getList() { let query = { diff --git a/jero-web/src/views/documentManage/splitting/modules/SplitAddForm.vue b/jero-web/src/views/documentManage/splitting/modules/SplitAddForm.vue index 38a09b877..c51d31859 100644 --- a/jero-web/src/views/documentManage/splitting/modules/SplitAddForm.vue +++ b/jero-web/src/views/documentManage/splitting/modules/SplitAddForm.vue @@ -155,6 +155,7 @@
{{resultData.fileNameRight}}
-
+
{{$t('comparisonDifferenceComment')}}
@@ -162,7 +162,7 @@ {{$t('fullTextComments')}}
- @@ -494,6 +494,7 @@ .operator-text-text { cursor: pointer; margin-right: 53px; + max-width: 138px; font-size: 14px; font-weight: 400; color: #040B29; diff --git a/jero-web/src/views/documentTools/documentComparison/components/documentDataComparison.vue b/jero-web/src/views/documentTools/documentComparison/components/documentDataComparison.vue index 4d0b38763..309f061db 100644 --- a/jero-web/src/views/documentTools/documentComparison/components/documentDataComparison.vue +++ b/jero-web/src/views/documentTools/documentComparison/components/documentDataComparison.vue @@ -91,7 +91,9 @@
- +
{{$t('comparativeComments')}} @@ -99,7 +101,7 @@ + :rows="3"/>
@@ -135,7 +137,7 @@ {{$t('fullTextComments')}}
- @@ -536,7 +538,7 @@ .detail-content-left { width: 50%; float: left; - height: 620px; + height: calc(100vh - 210px); border-right: 2px #EFF1F3 solid; padding: 24px 32px; box-sizing: border-box; @@ -545,7 +547,7 @@ .detail-content-right { width: 50%; - height: 620px; + height: calc(100vh - 210px); float: left; padding: 24px 32px; box-sizing: border-box; @@ -593,6 +595,7 @@ .Remarks { margin-top: 20px; width: 50%; + display: inline-block; padding: 0 32px; box-sizing: border-box; } @@ -602,7 +605,8 @@ } .submit-button { - width: 100%; + display: inline-block; + width: 50%; margin-top: 20px; text-align: right; padding: 0 32px; diff --git a/jero-web/src/views/documentTools/documentComparison/index.vue b/jero-web/src/views/documentTools/documentComparison/index.vue index 39fe0ee88..57657ca5e 100644 --- a/jero-web/src/views/documentTools/documentComparison/index.vue +++ b/jero-web/src/views/documentTools/documentComparison/index.vue @@ -8,7 +8,7 @@
{{$t('standard')}}
-
@@ -17,7 +17,7 @@
{{$t('title')}}
-
@@ -42,11 +42,11 @@
-
+
{{$t('initiateComparison')}}
-
+
{{$t('BatchDelete')}}
@@ -67,15 +67,15 @@ {{$t('comparisonResults')}} {{!record.releaseState || record.releaseState == 'draft' ? $t('release') :$t('withdraw')}} {{$t('edit')}} {{$t('delete')}} @@ -132,10 +132,11 @@ pageNo: 1, queryParam: {}, userInfoQuery: {}, + administrators:false, selectedRowKeysRecord: [], columns: [ { - title: this.$t('standard') + 1, + title: this.$t('standard') + ' 1', align: 'center', dataIndex: 'serialNumberLeft', width: 170, @@ -143,7 +144,7 @@ scopedSlots: { customRender: 'serialNumberLeft' } }, { - title: this.$t('title') + 1, + title: this.$t('title') + ' 1', align: 'center', dataIndex: 'titleLeft', width: 170, @@ -151,7 +152,7 @@ scopedSlots: { customRender: 'serialNumberLeft' } }, { - title: this.$t('TextStatus') + 1, + title: this.$t('TextStatus') + ' 1', align: 'center', width: 200, ellipsis: true, @@ -166,7 +167,7 @@ // scopedSlots: { customRender: 'fileNameLeft' } // }, { - title: this.$t('standard') + 2, + title: this.$t('standard') + ' 2', align: 'center', dataIndex: 'serialNumberRight', ellipsis: true, @@ -174,7 +175,7 @@ width: 170 }, { - title: this.$t('title') + 2, + title: this.$t('title') + ' 2', align: 'center', dataIndex: 'titleRight', scopedSlots: { customRender: 'serialNumberRight' }, @@ -182,7 +183,7 @@ width: 170 }, { - title: this.$t('TextStatus') + 2, + title: this.$t('TextStatus') + ' 2', align: 'center', width: 200, ellipsis: true, @@ -233,6 +234,14 @@ this.queryParam = { ...this.queryParam } } this.userInfoQuery = this.userInfo() + this.administrators = false + if (this.userInfo().userRoleList && this.userInfo().userRoleList.length > 0) { + this.userInfo().userRoleList.forEach(res => { + if (res.roleCode == 'admin') { + this.administrators = true + } + }) + } this.getList() }, methods: { diff --git a/jero-web/src/views/documentTools/documentTranslation/index.vue b/jero-web/src/views/documentTools/documentTranslation/index.vue index 36096b058..c78b81e2a 100644 --- a/jero-web/src/views/documentTools/documentTranslation/index.vue +++ b/jero-web/src/views/documentTools/documentTranslation/index.vue @@ -8,7 +8,7 @@
{{$t('standard')}}
-
@@ -17,7 +17,7 @@
{{$t('title')}}
-
@@ -27,7 +27,7 @@ {{$t('translationResults')}}
@@ -59,15 +59,15 @@
-
+
{{$t('upload1')}}
-
+
{{$t('RetrieveFiles')}}
-
+
{{$t('BatchDelete')}}
@@ -86,18 +86,22 @@ > - {{$t('view')}} + {{$t('view')}} {{!record.releaseCondition || record.releaseCondition == 'draft' ? $t('release') :$t('withdraw')}} {{$t('download')}} {{$t('delete')}} @@ -158,6 +162,7 @@ queryParam: {}, userInfoQuery: {}, selectedRowKeysRecord: [], + administrators:false, columns: [ { title: this.$t('standard'), @@ -233,6 +238,14 @@ } this.getList() this.userInfoQuery = this.userInfo() + this.administrators = false + if (this.userInfo().userRoleList && this.userInfo().userRoleList.length > 0) { + this.userInfo().userRoleList.forEach(res => { + if (res.roleCode == 'admin') { + this.administrators = true + } + }) + } }, methods: { ...mapGetters(['userInfo']), diff --git a/jero-web/src/views/documentTools/searchCenter/components/problemKnowledgeBase.vue b/jero-web/src/views/documentTools/searchCenter/components/problemKnowledgeBase.vue index ea2577782..f22aa238b 100644 --- a/jero-web/src/views/documentTools/searchCenter/components/problemKnowledgeBase.vue +++ b/jero-web/src/views/documentTools/searchCenter/components/problemKnowledgeBase.vue @@ -4,8 +4,8 @@
- {{$t('problemClassification')}} - {{$t('classification')}} + {{$t('market')}}
@@ -176,13 +176,20 @@ }) }, checkedClick(item) { - let newUrl = this.$router.resolve({ - path: '/problemKnowledgeBaseView', + localStorage.setItem('problemknowledgeBase',JSON.stringify(item)) + this.$router.push({ + path: '/problemknowledgeBase', query: { id: item.id } }) - window.open(newUrl.href, '_blank') + // let newUrl = this.$router.resolve({ + // path: '/problemknowledgeBase', + // query: { + // id: item.id + // } + // }) + // window.open(newUrl.href, '_blank') }, pageOnChange(page, pageSize) { this.pageNo = page @@ -222,7 +229,8 @@ }, getText(str) { let words = str.replace(/<[^<>]+>/g, '').replace(/ /gi, '') //这里是去除标签 - return words.replace(/\s/g, '') //这里是去除空格 + //.replace(/\s/g, '') //这里是去除空格 + return words }, getParagraphInfoList() { let queryParamIndex = JSON.parse(JSON.stringify(this.queryParam)) diff --git a/jero-web/src/views/documentTools/searchCenter/components/whole.vue b/jero-web/src/views/documentTools/searchCenter/components/whole.vue index 4b5525064..0b2597018 100644 --- a/jero-web/src/views/documentTools/searchCenter/components/whole.vue +++ b/jero-web/src/views/documentTools/searchCenter/components/whole.vue @@ -201,7 +201,8 @@ }, getText(str) { let words = str.replace(/<[^<>]+>/g, '').replace(/ /gi, '') //这里是去除标签 - return words.replace(/\s/g, '') //这里是去除空格 + //.replace(/\s/g, '') //这里是去除空格 + return words }, getList() { let queryParam = JSON.parse(JSON.stringify(this.queryParam)) diff --git a/jero-web/src/views/documentTools/searchCenter/index.vue b/jero-web/src/views/documentTools/searchCenter/index.vue index 8270a0c4b..eb06f6f1e 100644 --- a/jero-web/src/views/documentTools/searchCenter/index.vue +++ b/jero-web/src/views/documentTools/searchCenter/index.vue @@ -26,7 +26,7 @@ v-else-if="active === $t('whole') || active === $t('problemKnowledgeBase') || active === $t('monthlyReportRegulations')" class="inputSearch" - :placeholder="$t('pleaseEnter')+$t('searchContent')" + :placeholder="$t('enterSearchContent')" > * {{$t('file')}} + :title="$t('fileName')">{{$t('fileName')}}
18?title.slice(0,17)+'...':title}} @@ -61,10 +61,10 @@
-
- {{ $t('file') }} +
+ {{ $t('fileName') }}
-
@@ -82,16 +82,17 @@
{{ $t('uploadTime') }}
- + + class="box-input" + @change="onChange" + style='margin-left: -1px' + v-model="queryParams.time" + :disabled="false"/>
- + @@ -106,18 +107,22 @@
-
+
{{ $t('UploadFile') }}
-
+
{{ $t('BatchDelete') }}
@@ -158,9 +169,9 @@ />
- + - + - -
-
- * - {{$t('Foldername')}} + +
+
+ * + {{$t('Foldername')}} +
+ + +
- - - -
- - + +
@@ -205,9 +216,10 @@ {{$t('Administrativeprivileges')}}
- + {{$t('Checkthepermissions')}}
- + {{$t('Folderorder')}}
- + + :parser="limitNumber"/>
@@ -255,453 +268,453 @@ -
+
-
+
+ + + .split-detail-search-header { + .ant-col-sm-8 { + min-width: 300px; + } - \ No newline at end of file diff --git a/jero-web/src/views/processCenter/components/engineeringConfirmation.vue b/jero-web/src/views/processCenter/components/engineeringConfirmation.vue index bc666817e..3028d1b80 100644 --- a/jero-web/src/views/processCenter/components/engineeringConfirmation.vue +++ b/jero-web/src/views/processCenter/components/engineeringConfirmation.vue @@ -99,6 +99,7 @@ diff --git a/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue b/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue index 904a21025..1fb2a099e 100644 --- a/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue +++ b/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue @@ -717,6 +717,7 @@ if (res.success) { this.currentPersonRole = this.formInlineRoleSwitching.roleSwitchingCode this.$message.success(this.$t('OperationSuccessful')) + this.$refs.CollectionTabel.getHeader(this.currentPersonRole) this.visibleRoleSwitching = false this.confirmLoadingRoleSwitching = false localStorage.setItem('currentPersonRole', JSON.stringify(this.formInlineRoleSwitching.roleSwitchingCode)) diff --git a/jero-web/src/views/projectManagement/components/addModel.vue b/jero-web/src/views/projectManagement/components/addModel.vue index 7c9c8da7c..305e4ba47 100644 --- a/jero-web/src/views/projectManagement/components/addModel.vue +++ b/jero-web/src/views/projectManagement/components/addModel.vue @@ -107,10 +107,11 @@ * {{$t('StudioEngineer')}}
- + @@ -124,11 +125,11 @@
{{$t('certifiedEngineer')}}
- + diff --git a/jero-web/src/views/projectManagement/components/listOfRegulations.vue b/jero-web/src/views/projectManagement/components/listOfRegulations.vue index ca9de26a5..c09c6e5c9 100644 --- a/jero-web/src/views/projectManagement/components/listOfRegulations.vue +++ b/jero-web/src/views/projectManagement/components/listOfRegulations.vue @@ -1456,15 +1456,18 @@ this.selectedRowKeys = value }, searchQuery() { + this.selectedRowKeys = [] this.getList() }, searchReset() { this.queryParam = {} + this.selectedRowKeys = [] this.$refs.globalAdvancedQueryRef.resetLine() this.$refs.globalAdvancedQueryRef.emitCallback() // this.getList() }, addModelList() { + this.selectedRowKeys = [] this.getList() }, handleSuperQuery(params, matchType) { @@ -2130,7 +2133,7 @@ } else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') { let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix) window.open(url, '_blank') - }else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){ + } else if (fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') { let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + fileQuery.id + fileSuffix) window.open(url, '_blank') } else { @@ -2151,7 +2154,7 @@ } else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') { let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + id + fileSuffix) window.open(url, '_blank') - }else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){ + } else if (fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') { let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + id + fileSuffix) window.open(url, '_blank') } else { @@ -2484,17 +2487,17 @@ } ::v-deep .ant-table-body-one { - padding-bottom: 0!important; + padding-bottom: 0 !important; } ::v-deep .antfixedLeft { - padding-bottom: 0!important; - overflow: scroll!important; + padding-bottom: 0 !important; + overflow: scroll !important; } ::v-deep .antfixedRight { - padding-bottom: 0!important; - overflow: scroll!important; + padding-bottom: 0 !important; + overflow: scroll !important; }