合并分支 'dev_third_stage' 到 'master'

Dev third stage

查看合并请求 laws-nio/laws-weilai!113
This commit is contained in:
肖文钰
2022-07-27 19:41:23 +08:00
25 changed files with 1749 additions and 405 deletions
@@ -142,6 +142,7 @@ public class DocTranslationEOServiceImpl extends ServiceImpl<DocTranslationEOMap
o.eq(DocTranslationEO::getReleaseCondition,ReleaseConditionEnum.PUBLISHED.getValue()); o.eq(DocTranslationEO::getReleaseCondition,ReleaseConditionEnum.PUBLISHED.getValue());
}); });
}); });
queryWrapper.lambda().orderByDesc(DocTranslationEO::getCreateTime);
IPage<DocTranslationEO> result = this.page(page, queryWrapper); IPage<DocTranslationEO> result = this.page(page, queryWrapper);
disposeData(result.getRecords(),cut); disposeData(result.getRecords(),cut);
return result; return result;
@@ -140,11 +140,11 @@ public class TranslationDocumentUtils {
} }
try { try {
FileOutputStream out = new FileOutputStream(newFile); FileOutputStream out = new FileOutputStream(newFile);
out.write(translateAfter.getBytes("UTF-8"));
out.close();
MultipartFile multipartFile = createMfileByPath(translateAfterFilePath); MultipartFile multipartFile = createMfileByPath(translateAfterFilePath);
ossFile = iossFileService.uploadLocalOfCos(multipartFile, "", null, null); ossFile = iossFileService.uploadLocalOfCos(multipartFile, "", null, null);
out.write(translateAfter.getBytes("UTF-8"));
out.close();
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
e.printStackTrace(); e.printStackTrace();
} catch (IOException e) { } catch (IOException e) {
@@ -3189,7 +3189,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
//您订阅的XXX已被修改 //您订阅的XXX已被修改
content = "In the "+category + " " + serialNumber+" you subscribed to, has been modified,Please pay attention to check."; content = "In the "+category + " " + serialNumber+" you subscribed to, has been modified,Please pay attention to check.";
String contentInfo = "In the "+category + " " + href+" you subscribed to, "+sysUser.getUsername()+" changed the "+ href + " " + sbStr.toString(); String contentInfo = "In the "+category + " " + href+" you subscribed to, "+sysUser.getUsername()+" changed the "+ href + " " + sbStr.toString();
String msgTitle = serialNumber + " you subsribed to has been updated"; String msgTitle = serialNumber + " you subscribed to has been updated";
//封装消息的实体类 //封装消息的实体类
SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdListUpdate, msgTitle, content, contentInfo,MessageTypeEnum.READ.getValue(),MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdListUpdate, msgTitle, content, contentInfo,MessageTypeEnum.READ.getValue(),MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
sysAnnouncementService.saveAnnouncement(sysAnnouncement); sysAnnouncementService.saveAnnouncement(sysAnnouncement);
@@ -3411,7 +3411,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
} }
String fieldStr = fieldSb.substring(0, fieldSb.length() - 1); String fieldStr = fieldSb.substring(0, fieldSb.length() - 1);
String field = " osf.id,bdl.serial_number,bdl.title,bdl.title_en,bdl.state,osf.file_name,osf.connect_id," + fieldStr String field = " osf.id,bdl.id as \"buss_document_library_id\",bdl.serial_number,bdl.title,bdl.title_en,bdl.state,osf.file_name,osf.connect_id," + fieldStr
+ " from oss_file osf join buss_document_library bdl" + join.toString(); + " from oss_file osf join buss_document_library bdl" + join.toString();
//查询条件 //查询条件
@@ -0,0 +1,219 @@
package com.jero.modules.extRepo.controller;
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.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.extRepo.entity.ExtRepoData;
import com.jero.modules.extRepo.entity.ExtRepoDataPage;
import com.jero.modules.extRepo.service.IExtRepoDataService;
import com.jero.modules.extRepo.service.IExtRepoFolderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
/**
* @Description: 对外报告数据表
* @Author: jero-boot
* @Date: 2022-07-25
* @Version: V1.0
*/
@Api(tags = "对外报告数据表")
@RestController
@RequestMapping("/com.jero.modules.extRepo/extRepoData")
@Slf4j
public class ExtRepoDataController extends JeroController<ExtRepoData, IExtRepoDataService> {
@Autowired
private IExtRepoDataService extRepoDataService;
@Autowired
private IExtRepoFolderService extRepoFolderService;
/**
* 分页列表查询
*
* @param extRepoData
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "对外报告数据表-分页列表查询")
@ApiOperation(value = "对外报告数据表-分页列表查询", notes = "对外报告数据表-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(ExtRepoData extRepoData,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ExtRepoData> queryWrapper = QueryGenerator.initQueryWrapper(extRepoData, req.getParameterMap());
Page<ExtRepoData> page = new Page<ExtRepoData>(pageNo, pageSize);
// 文件名称模糊查询
String fileName = req.getParameter("fileName");
if (StringUtils.isNotBlank(fileName)) {
queryWrapper.like("fileName", fileName);
}
// 创建人模糊查询
String createBy = req.getParameter("createBy");
if (StringUtils.isNotBlank(fileName)) {
queryWrapper.like("createBy", createBy);
}
IPage<ExtRepoData> pageList = extRepoDataService.page(page, queryWrapper);
log.info("查询当前页:" + pageList.getCurrent());
log.info("查询当前页数量:" + pageList.getSize());
log.info("查询结果数量:" + pageList.getRecords().size());
log.info("数据总数:" + pageList.getTotal());
ExtRepoDataPage res = new ExtRepoDataPage(extRepoFolderService.haveManageAuth(extRepoData.getSupFolder()), pageList);
return Result.OK(res);
}
/**
* 列表查询
*
* @return
*/
@AutoLog(value = "对外报告数据表-列表查询")
@ApiOperation(value = "对外报告数据表-列表查询", notes = "对外报告数据表-列表查询")
@GetMapping(value = "/list")
public Result<List<ExtRepoData>> queryList() {
List<ExtRepoData> list = extRepoDataService.queryList();
return Result.OK(list);
}
/**
* 添加
*
* @param extRepoData
* @return
*/
@AutoLog(value = "对外报告数据表-添加")
@ApiOperation(value = "对外报告数据表-添加", notes = "对外报告数据表-添加")
@PostMapping(value = "/add")
public Result<?> add(@Validated @RequestBody ExtRepoData extRepoData) {
if (extRepoFolderService.haveManageAuth(extRepoData.getSupFolder())) {
extRepoDataService.add(extRepoData);
return Result.OK("添加成功!");
} else {
return Result.error("没有权限!");
}
}
/**
* 编辑
*
* @param extRepoData
* @return
*/
@AutoLog(value = "对外报告数据表-编辑")
@ApiOperation(value = "对外报告数据表-编辑", notes = "对外报告数据表-编辑")
@PutMapping(value = "/edit")
public Result<?> edit(@Validated @RequestBody ExtRepoData extRepoData) {
ExtRepoData erd = extRepoDataService.queryById(extRepoData.getId());
if (extRepoFolderService.haveManageAuth(erd.getSupFolder())) {
extRepoData.setSupFolder(erd.getSupFolder());
extRepoDataService.editById(extRepoData);
return Result.OK("编辑成功!");
} else {
return Result.error("没有权限!");
}
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "对外报告数据表-通过id删除")
@ApiOperation(value = "对外报告数据表-通过id删除", notes = "对外报告数据表-通过id删除")
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
ExtRepoData erd = extRepoDataService.queryById(id);
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if (erd.getCreateBy().equals(sysUser.getUsername())) {
extRepoDataService.deleteById(id);
return Result.OK("删除成功!");
} else {
return Result.error("没有权限!");
}
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "对外报告数据表-批量删除")
@ApiOperation(value = "对外报告数据表-批量删除", notes = "对外报告数据表-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
List<String> idsList = Arrays.asList(ids.split(","));
for (String id : idsList) {
ExtRepoData erd = extRepoDataService.queryById(id);
if (null != erd && !erd.getCreateBy().equals(sysUser.getUsername())) {
return Result.OK("没有权限!");
}
}
this.extRepoDataService.deleteByIds(idsList);
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
@AutoLog(value = "对外报告数据表-通过id查询")
@ApiOperation(value = "对外报告数据表-通过id查询", notes = "对外报告数据表-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
ExtRepoData extRepoData = extRepoDataService.queryById(id);
if (extRepoData == null) {
return Result.error("未找到对应数据");
}
return Result.OK(extRepoData);
}
/**
* 导出excel
*
* @param request
* @param extRepoData
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ExtRepoData extRepoData) {
return super.exportXls(request, extRepoData, ExtRepoData.class, "对外报告数据表");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, ExtRepoData.class);
}
}
@@ -0,0 +1,104 @@
package com.jero.modules.extRepo.controller;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController;
import com.jero.modules.extRepo.entity.ERFTreeData;
import com.jero.modules.extRepo.entity.ExtRepoFolder;
import com.jero.modules.extRepo.service.IExtRepoFolderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @Description: 对外报告文件夹表
* @Author: jero-boot
* @Date: 2022-07-25
* @Version: V1.0
*/
@Api(tags = "对外报告文件夹表")
@RestController
@RequestMapping("/extRepo/extRepoFolder")
@Slf4j
public class ExtRepoFolderController extends JeroController<ExtRepoFolder, IExtRepoFolderService> {
@Autowired
private IExtRepoFolderService extRepoFolderService;
/**
* 列表查询
*
* @return
*/
@AutoLog(value = "对外报告文件夹表-列表查询")
@ApiOperation(value = "对外报告文件夹表-列表查询", notes = "对外报告文件夹表-列表查询")
@GetMapping(value = "/list")
public Result<List<ERFTreeData>> queryList() {
List<ERFTreeData> list = extRepoFolderService.queryTreeList();
return Result.OK(list);
}
/**
* 添加
*
* @param extRepoFolder
* @return
*/
@AutoLog(value = "对外报告文件夹表-添加")
@ApiOperation(value = "对外报告文件夹表-添加", notes = "对外报告文件夹表-添加")
@PostMapping(value = "/add")
public Result<?> add(@Validated @RequestBody ExtRepoFolder extRepoFolder) {
extRepoFolderService.add(extRepoFolder);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param extRepoFolder
* @return
*/
@AutoLog(value = "对外报告文件夹表-编辑")
@ApiOperation(value = "对外报告文件夹表-编辑", notes = "对外报告文件夹表-编辑")
@PutMapping(value = "/edit")
public Result<?> edit(@Validated @RequestBody ExtRepoFolder extRepoFolder) {
extRepoFolderService.editById(extRepoFolder);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "对外报告文件夹表-通过id删除")
@ApiOperation(value = "对外报告文件夹表-通过id删除", notes = "对外报告文件夹表-通过id删除")
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
extRepoFolderService.deleteById(id);
return Result.OK("删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
@AutoLog(value = "对外报告文件夹表-通过id查询")
@ApiOperation(value = "对外报告文件夹表-通过id查询", notes = "对外报告文件夹表-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
ExtRepoFolder extRepoFolder = extRepoFolderService.queryById(id);
if (extRepoFolder == null) {
return Result.error("未找到对应数据");
}
return Result.OK(extRepoFolder);
}
}
@@ -0,0 +1,178 @@
package com.jero.modules.extRepo.entity;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* 对外报告文件夹 树结构实体类
*/
public class ERFTreeData implements Comparable<ERFTreeData> {
private static final long serialVersionUID = 1L;
/**
* 页面显示的名称 对应 folder_name
*/
private String title;
private String folderName;
/**
* 文件夹ID 对应 id
*/
private String key;
/**
* 层级,设定最多4级
*/
private int level;
/**
* 排序
*/
private int orderId;
/**
* 是否显示
*/
private boolean display = false;
/**
* 查看权限人员
*/
private String authView = "";
/**
* 管理权限人员
*/
private String authManage = "";
/**
* 查看权限人员id
*/
private String authViewIds = "";
/**
* 管理权限人员id
*/
private String authManageIds = "";
/**
* 子文件夹
*/
private List<ERFTreeData> children = new ArrayList<ERFTreeData>();
public ERFTreeData() {
}
public ERFTreeData(String title, String key, int level, int orderId) {
this.title = title;
this.folderName = title;
this.key = key;
this.level = level;
this.orderId = orderId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public int getLevel() {
return level;
}
public void setLevel(int level) {
this.level = level;
}
public List<ERFTreeData> getChildren() {
return children;
}
public void setChildren(List<ERFTreeData> children) {
this.children = children;
}
public int getOrderId() {
return orderId;
}
public void setOrderId(int orderId) {
this.orderId = orderId;
}
public boolean isDisplay() {
return display;
}
public void setDisplay(boolean display) {
this.display = display;
}
public String getFolderName() {
return folderName;
}
public void setFolderName(String folderName) {
this.folderName = folderName;
}
public String getAuthView() {
return authView;
}
public void setAuthView(String authView) {
this.authView = authView;
}
public String getAuthManage() {
return authManage;
}
public void setAuthManage(String authManage) {
this.authManage = authManage;
}
public String getAuthViewIds() {
return authViewIds;
}
public void setAuthViewIds(String authViewIds) {
this.authViewIds = authViewIds;
}
public String getAuthManageIds() {
return authManageIds;
}
public void setAuthManageIds(String authManageIds) {
this.authManageIds = authManageIds;
}
public void sortChildren() {
Collections.sort(children);
}
@Override
public int compareTo(@NotNull ERFTreeData o) {
return this.orderId - o.orderId;
}
}
@@ -0,0 +1,81 @@
package com.jero.modules.extRepo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
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;
/**
* @Description: 对外报告数据表
* @Author: jero-boot
* @Date: 2022-07-25
* @Version: V1.0
*/
@Data
@TableName("ext_repo_data")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="ext_repo_data对象", description="对外报告数据表")
public class ExtRepoData implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private java.lang.String id;
/**创建人*/
@ApiModelProperty(value = "创建人")
private java.lang.String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private java.lang.String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private java.util.Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private java.lang.String sysOrgCode;
/**文件标识*/
@Excel(name = "文件标识", width = 15)
@ApiModelProperty(value = "文件标识")
private java.lang.String fileKey;
/**文件名称*/
@Excel(name = "文件名称", width = 15)
@ApiModelProperty(value = "文件名称")
private java.lang.String fileName;
/**文件说明*/
@Excel(name = "文件说明", width = 15)
@ApiModelProperty(value = "文件说明")
private java.lang.String fileDescription;
/**所属文件夹*/
@Excel(name = "所属文件夹", width = 15)
@ApiModelProperty(value = "所属文件夹")
private java.lang.String supFolder;
}
@@ -0,0 +1,40 @@
package com.jero.modules.extRepo.entity;
import com.baomidou.mybatisplus.core.metadata.IPage;
public class ExtRepoDataPage {
/**
* 此页面是否有管理权限
*/
private boolean auth_manage;
/**
* 数据列表
*/
private IPage<ExtRepoData> pageList;
public ExtRepoDataPage() {
}
public ExtRepoDataPage(boolean auth_manage, IPage<ExtRepoData> pageList) {
this.auth_manage = auth_manage;
this.pageList = pageList;
}
public boolean isAuth_manage() {
return auth_manage;
}
public void setAuth_manage(boolean auth_manage) {
this.auth_manage = auth_manage;
}
public IPage<ExtRepoData> getPageList() {
return pageList;
}
public void setPageList(IPage<ExtRepoData> pageList) {
this.pageList = pageList;
}
}
@@ -0,0 +1,95 @@
package com.jero.modules.extRepo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
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;
/**
* @Description: 对外报告文件夹表
* @Author: jero-boot
* @Date: 2022-07-27
* @Version: V1.0
*/
@Data
@TableName("ext_repo_folder")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="ext_repo_folder对象", description="对外报告文件夹表")
public class ExtRepoFolder implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private java.util.Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private String sysOrgCode;
/**文件夹名称*/
@Excel(name = "文件夹名称", width = 15)
@ApiModelProperty(value = "文件夹名称")
private String folderName;
/**文件夹排序*/
@Excel(name = "文件夹排序", width = 15)
@ApiModelProperty(value = "文件夹排序")
private Integer orderId;
/**所属文件夹*/
@Excel(name = "所属文件夹", width = 15)
@ApiModelProperty(value = "所属文件夹")
private String supFolder;
/**查看权限人员*/
@Excel(name = "查看权限人员", width = 15)
@ApiModelProperty(value = "查看权限人员")
private String authView;
/**管理权限人员*/
@Excel(name = "管理权限人员", width = 15)
@ApiModelProperty(value = "管理权限人员")
private String authManage;
/**查看权限人员id*/
@Excel(name = "查看权限人员id", width = 15)
@ApiModelProperty(value = "查看权限人员id")
private String authViewIds;
/**管理权限人员id*/
@Excel(name = "管理权限人员id", width = 15)
@ApiModelProperty(value = "管理权限人员id")
private String authManageIds;
}
@@ -0,0 +1,14 @@
package com.jero.modules.extRepo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.extRepo.entity.ExtRepoData;
/**
* @Description: 对外报告数据表
* @Author: jero-boot
* @Date: 2022-07-25
* @Version: V1.0
*/
public interface ExtRepoDataMapper extends BaseMapper<ExtRepoData> {
}
@@ -0,0 +1,14 @@
package com.jero.modules.extRepo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.extRepo.entity.ExtRepoFolder;
/**
* @Description: 对外报告文件夹表
* @Author: jero-boot
* @Date: 2022-07-25
* @Version: V1.0
*/
public interface ExtRepoFolderMapper extends BaseMapper<ExtRepoFolder> {
}
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.extRepo.mapper.ExtRepoDataMapper">
<resultMap id="ExtRepoDataResultMap" type="com.jero.modules.extRepo.entity.ExtRepoData">
<id column="id" property="id" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="sys_org_code" property="sysOrgCode" />
<result column="file_key" property="fileKey" />
<result column="file_name" property="fileName" />
<result column="file_description" property="fileDescription" />
<result column="sup_folder" property="supFolder" />
</resultMap>
</mapper>
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.extRepo.mapper.ExtRepoFolderMapper">
<resultMap id="ExtRepoFolderResultMap" type="com.jero.modules.extRepo.entity.ExtRepoFolder">
<id column="id" property="id" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="sys_org_code" property="sysOrgCode" />
<result column="folder_name" property="folderName" />
<result column="order_id" property="orderId" />
<result column="sup_folder" property="supFolder" />
<result column="auth_view" property="authView" />
<result column="auth_manage" property="authManage" />
<result column="auth_view_ids" property="authViewIds" />
<result column="auth_manage_ids" property="authManageIds" />
</resultMap>
</mapper>
@@ -0,0 +1,62 @@
package com.jero.modules.extRepo.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.extRepo.entity.ExtRepoData;
import java.util.List;
/**
* @Description: 对外报告数据表
* @Author: jero-boot
* @Date: 2022-07-25
* @Version: V1.0
*/
public interface IExtRepoDataService extends IService<ExtRepoData> {
/**
* 保存
*
* @param extRepoData
* @return
*/
void add(ExtRepoData extRepoData);
/**
* 更新
*
* @param extRepoData
* @return
*/
void editById(ExtRepoData extRepoData);
/**
* 通过id删除
*
* @param id
* @return
*/
void deleteById(String id);
/**
* 批量删除
*
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
/**
* 通过id查询
*
* @param id
* @return
*/
ExtRepoData queryById(String id);
/**
* 列表查询
*
* @return
*/
List<ExtRepoData> queryList();
}
@@ -0,0 +1,71 @@
package com.jero.modules.extRepo.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.extRepo.entity.ERFTreeData;
import com.jero.modules.extRepo.entity.ExtRepoFolder;
import java.util.List;
/**
* @Description: 对外报告文件夹表
* @Author: jero-boot
* @Date: 2022-07-25
* @Version: V1.0
*/
public interface IExtRepoFolderService extends IService<ExtRepoFolder> {
/**
* 保存
*
* @param extRepoFolder
* @return
*/
void add(ExtRepoFolder extRepoFolder);
/**
* 更新
*
* @param extRepoFolder
* @return
*/
void editById(ExtRepoFolder extRepoFolder);
/**
* 通过id删除
*
* @param id
* @return
*/
void deleteById(String id);
/**
* 通过id查询
*
* @param id
* @return
*/
ExtRepoFolder queryById(String id);
/**
* 列表查询
*
* @return
*/
List<ExtRepoFolder> queryList();
/**
* 查询返回树结构
*
* @return
*/
List<ERFTreeData> queryTreeList();
/**
* 是否有管理权限
*
* @param folderId
* @return
*/
boolean haveManageAuth(String folderId);
}
@@ -0,0 +1,94 @@
package com.jero.modules.extRepo.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.extRepo.entity.ExtRepoData;
import com.jero.modules.extRepo.mapper.ExtRepoDataMapper;
import com.jero.modules.extRepo.service.IExtRepoDataService;
import org.apache.shiro.SecurityUtils;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* @Description: 对外报告数据表
* @Author: jero-boot
* @Date: 2022-07-25
* @Version: V1.0
*/
@Service
public class ExtRepoDataServiceImpl extends ServiceImpl<ExtRepoDataMapper, ExtRepoData> implements IExtRepoDataService {
/**
* 保存
*
* @param extRepoData
* @return
*/
@Override
public void add(ExtRepoData extRepoData) {
Date now = new Date();
extRepoData.setCreateTime(now);
extRepoData.setUpdateTime(now);
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
extRepoData.setUpdateBy(sysUser.getUsername());
save(extRepoData);
}
/**
* 更新
*
* @param extRepoData
* @return
*/
@Override
public void editById(ExtRepoData extRepoData) {
Date now = new Date();
extRepoData.setUpdateTime(now);
saveOrUpdate(extRepoData);
}
/**
* 通过id删除
*
* @param id
* @return
*/
@Override
public void deleteById(String id) {
removeById(id);
}
/**
* 批量删除
*
* @param ids
* @return
*/
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
}
/**
* 通过id查询
*
* @param id
* @return
*/
@Override
public ExtRepoData queryById(String id) {
return getById(id);
}
/**
* 列表查询
*
* @return
*/
@Override
public List<ExtRepoData> queryList() {
return list();
}
}
@@ -0,0 +1,314 @@
package com.jero.modules.extRepo.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.extRepo.entity.ERFTreeData;
import com.jero.modules.extRepo.entity.ExtRepoFolder;
import com.jero.modules.extRepo.mapper.ExtRepoFolderMapper;
import com.jero.modules.extRepo.service.IExtRepoFolderService;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.stereotype.Service;
import java.util.*;
/**
* @Description: 对外报告文件夹表
* @Author: jero-boot
* @Date: 2022-07-25
* @Version: V1.0
*/
@Service
public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, ExtRepoFolder> implements IExtRepoFolderService {
/**
* 一级文件夹的supFolder统一存root
*/
private static String superFolder = "root";
/**
* 保存
*
* @param extRepoFolder
* @return
*/
@Override
public void add(ExtRepoFolder extRepoFolder) {
try {
if (StringUtils.isEmpty(extRepoFolder.getSupFolder())) {
//一级文件夹的supFolder统一存root,方便以后查找
extRepoFolder.setSupFolder(superFolder);
}
Date now = new Date();
extRepoFolder.setCreateTime(now);
extRepoFolder.setUpdateTime(now);
save(extRepoFolder);
editOrderId(extRepoFolder);
} catch (Exception ex) {
log.error("添加对外报告文件夹失败:" + ex.getMessage());
throw new JeroBootException("添加文件夹失败!");
}
}
/**
* 同级文件夹,修改顺序号
*
* @param extRepoFolder
*/
private void editOrderId(ExtRepoFolder extRepoFolder) throws Exception {
List<ExtRepoFolder> list = getListBySupFolder(extRepoFolder.getSupFolder());
for (ExtRepoFolder erf : list) {
if (erf.getOrderId() >= extRepoFolder.getOrderId() && !erf.getId().equals(extRepoFolder.getId())) {
erf.setOrderId(erf.getOrderId() + 1);
updateById(erf);
}
}
}
private List<ExtRepoFolder> getListBySupFolder(String supFolder) {
ExtRepoFolder erf = new ExtRepoFolder();
erf.setSupFolder(supFolder);
QueryWrapper<ExtRepoFolder> queryWrapper = QueryGenerator.initQueryWrapper(erf, new HashMap<>());
return this.list(queryWrapper);
}
/**
* 更新
*
* @param extRepoFolder
* @return
*/
@Override
public void editById(ExtRepoFolder extRepoFolder) {
try {
//原有的记录
ExtRepoFolder erf_orig = queryById(extRepoFolder.getId());
Date now = new Date();
extRepoFolder.setUpdateTime(now);
saveOrUpdate(extRepoFolder);
editOrderId(extRepoFolder);
editAuth(erf_orig, extRepoFolder);
} catch (Exception ex) {
log.error("修改对外报告文件夹失败:" + ex.getMessage());
throw new JeroBootException("修改文件夹失败!");
}
}
/**
* 修改所有关联文件夹的权限
*/
private void editAuth(ExtRepoFolder erf_orig, ExtRepoFolder erf_new) throws Exception {
//管理权限
Map<String, String> authManage_orig = getAuthMap(erf_orig.getAuthManage(), erf_orig.getAuthManageIds());
Map<String, String> authManage_new = getAuthMap(erf_new.getAuthManage(), erf_new.getAuthManageIds());
//增加管理权限的人
Map<String, String> addManageRole = getDefMap(authManage_new, authManage_orig);
//删除管理权限的人
Map<String, String> delManageRole = getDefMap(authManage_orig, authManage_new);
//查看权限
Map<String, String> authView_orig = getAuthMap(erf_orig.getAuthView(), erf_orig.getAuthViewIds());
Map<String, String> authView_new = getAuthMap(erf_new.getAuthView(), erf_new.getAuthViewIds());
//增加查看权限的人
Map<String, String> addViewRole = getDefMap(authView_new, authView_orig);
//删除查看权限的人
Map<String, String> delViewRole = getDefMap(authView_orig, authView_new);
List<ExtRepoFolder> allSubFolder = getAllSubFolder(erf_orig.getId());
//存储变化的对象
List<ExtRepoFolder> updateFolder = new ArrayList<ExtRepoFolder>();
for (ExtRepoFolder erf : allSubFolder) {
boolean isChange = false;
Map<String, String> authManage_erf = getAuthMap(erf.getAuthManage(), erf.getAuthManageIds());
Map<String, String> authView_erf = getAuthMap(erf.getAuthView(), erf.getAuthViewIds());
for (String add : addManageRole.keySet()) {
if (!authManage_erf.keySet().contains(add)) {
authManage_erf.put(add, addManageRole.get(add));
isChange = true;
}
}
for (String del : delManageRole.keySet()) {
if (authManage_erf.keySet().contains(del)) {
authManage_erf.remove(del);
isChange = true;
}
}
for (String add : addViewRole.keySet()) {
if (!authView_erf.keySet().contains(add)) {
authView_erf.put(add, addViewRole.get(add));
isChange = true;
}
}
for (String del : delViewRole.keySet()) {
if (authView_erf.keySet().contains(del)) {
authView_erf.remove(del);
isChange = true;
}
}
erf.setAuthManage(StringUtils.join(authManage_erf.keySet(), ","));
erf.setAuthManageIds(StringUtils.join(authManage_erf.values(), ","));
erf.setAuthView(StringUtils.join(authView_erf.keySet(), ","));
erf.setAuthViewIds(StringUtils.join(authView_erf.values(), ","));
if (isChange) {
updateFolder.add(erf);
}
}
if (updateFolder.size() > 0) {
updateBatchById(updateFolder);
}
}
/**
* 得到列表新增元素集合
*
* @param mapA
* @param mapB
* @return
*/
private Map<String, String> getDefMap(Map<String, String> mapA, Map<String, String> mapB) {
Map<String, String> res = new HashMap<String, String>();
for (String s : mapA.keySet()) {
if (StringUtils.isNotBlank(s) && !mapB.keySet().contains(s)) {
res.put(s, mapA.get(s));
}
}
return res;
}
private List<ExtRepoFolder> getAllSubFolder(String folderId) {
List<ExtRepoFolder> resList = getListBySupFolder(folderId);
List<ExtRepoFolder> subList = new ArrayList<ExtRepoFolder>();
for (ExtRepoFolder erf : resList) {
subList.addAll(getAllSubFolder(erf.getId()));
}
resList.addAll(subList);
return resList;
}
/**
* 通过id删除
*
* @param id
* @return
*/
@Override
public void deleteById(String id) {
try {
List<ExtRepoFolder> resList = getListBySupFolder(id);
if (resList.isEmpty()) {
removeById(id);
}
} catch (Exception ex) {
log.error("删除对外报告文件夹失败:" + ex.getMessage());
throw new JeroBootException("删除文件夹失败!");
}
}
/**
* 通过id查询
*
* @param id
* @return
*/
@Override
public ExtRepoFolder queryById(String id) {
return getById(id);
}
/**
* 列表查询
*
* @return
*/
@Override
public List<ExtRepoFolder> queryList() {
return list();
}
/**
* 列表查询
*
* @return
*/
@Override
public List<ERFTreeData> queryTreeList() {
try {
List<ExtRepoFolder> list = queryList();
List<ERFTreeData> res = getSubFolder(superFolder, list, 1);
Collections.sort(res);
return res;
} catch (Exception ex) {
log.error("查询对外报告文件夹失败:" + ex.getMessage());
throw new JeroBootException("查询文件夹失败!");
}
}
/**
* 查找子文件夹,生成树结构
*
* @param supId
* @param list
* @param level 前端需要知道当前文件夹在哪一层
* @return
*/
private List<ERFTreeData> getSubFolder(String supId, List<ExtRepoFolder> list, int level) throws Exception {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
List<ERFTreeData> resList = new ArrayList<ERFTreeData>();
for (ExtRepoFolder erf : list) {
if (supId.equals(erf.getSupFolder())) {
ERFTreeData date = new ERFTreeData(erf.getFolderName(), erf.getId(), level, erf.getOrderId());
//检查有没有权限查看
date.setDisplay(erf.getCreateBy().equals(sysUser.getUsername()) || getStringList(erf.getAuthManage()).contains(sysUser.getUsername()) || getStringList(erf.getAuthView()).contains(sysUser.getUsername()));
int childLevel = date.getLevel() + 1;
date.setAuthManage(erf.getAuthManage());
date.setAuthManageIds(erf.getAuthManageIds());
date.setAuthView(erf.getAuthManage());
date.setAuthViewIds(erf.getAuthViewIds());
date.setChildren(getSubFolder(erf.getId(), list, childLevel));
date.sortChildren();
resList.add(date);
}
}
return resList;
}
/**
* 是否有管理权限
*
* @param folderId
* @return
*/
@Override
public boolean haveManageAuth(String folderId) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
ExtRepoFolder erf = queryById(folderId);
//如果是创建人 则默认有权限
if (null != erf) {
return getStringList(erf.getAuthManage()).contains(sysUser.getUsername()) || erf.getCreateBy().equals(sysUser.getUsername());
}
return false;
}
private List<String> getStringList(String listStr) {
List<String> res = new ArrayList<String>();
if (null != listStr) {
res = Arrays.asList(listStr.split(","));
}
return res;
}
private Map<String, String> getAuthMap(String strKey, String strValue) {
Map<String, String> resMap = new HashMap<String, String>();
List<String> keyList = getStringList(strKey);
List<String> valueList = getStringList(strValue);
for (int i = 0; i < keyList.size(); i++) {
resMap.put(keyList.get(i), valueList.get(i));
}
return resMap;
}
}
+2
View File
@@ -1190,4 +1190,6 @@ module.exports = {
selectDirectorylocation: 'Please select the directory location to add the folder', selectDirectorylocation: 'Please select the directory location to add the folder',
Fileuploaded:'File uploaded, please wait', Fileuploaded:'File uploaded, please wait',
uploadedbyyourself:'You can only delete files and data uploaded by yourself', uploadedbyyourself:'You can only delete files and data uploaded by yourself',
Fileuploaded:'File uploading, please wait',
doNotHavePermissionDeleteData:'Do not have permission to delete this data,'
} }
+137 -35
View File
@@ -178,9 +178,9 @@ module.exports = {
MenuType: '菜单类型', MenuType: '菜单类型',
menu: '菜单', menu: '菜单',
ButtonsPermissions: '按钮/权限', ButtonsPermissions: '按钮/权限',
ConventionalExport:'常规导出', ConventionalExport: '常规导出',
CustomExport:'自定义导出', CustomExport: '自定义导出',
CustomTemplateName:'自定义模板名称', CustomTemplateName: '自定义模板名称',
assembly: '组件', assembly: '组件',
route: '路径', route: '路径',
AddSubmenu: '添加子菜单', AddSubmenu: '添加子菜单',
@@ -393,8 +393,8 @@ module.exports = {
StandardDetails: '标准详情', StandardDetails: '标准详情',
whole: '全部', whole: '全部',
DocumentLibrary: '文档库', DocumentLibrary: '文档库',
GeneralExportInformation:'常规导出信息', GeneralExportInformation: '常规导出信息',
CustomizeExportInformation:'自定义导出信息', CustomizeExportInformation: '自定义导出信息',
DocumentComparisonLibrary: '文档对比库', DocumentComparisonLibrary: '文档对比库',
weekly: '周报', weekly: '周报',
SyncLibrary: '同步至文档库', SyncLibrary: '同步至文档库',
@@ -689,11 +689,11 @@ module.exports = {
listConfirmation: '清单确认', listConfirmation: '清单确认',
ListConfirmationDeadline: '清单确认截止时间', ListConfirmationDeadline: '清单确认截止时间',
dataConfirmation: '请选择清单确认状态为未发起或拒绝的数据,以及法规工程师认证工程师不为空', dataConfirmation: '请选择清单确认状态为未发起或拒绝的数据,以及法规工程师认证工程师不为空',
pleaseSelectinitiatedOrRejected:'请选择清单确认状态为未发起或拒绝的数据', pleaseSelectinitiatedOrRejected: '请选择清单确认状态为未发起或拒绝的数据',
TheEngineerAndCertification:'的法规工程师认证工程师不能为空', TheEngineerAndCertification: '的法规工程师认证工程师不能为空',
taskDataConfirmation: '请选择清单确认状态为接受及任务确认状态为未发起或拒绝的数据,以及工程接口人不为空', taskDataConfirmation: '请选择清单确认状态为接受及任务确认状态为未发起或拒绝的数据,以及工程接口人不为空',
theProjectContactEmpty:'的工程接口人不能为空', theProjectContactEmpty: '的工程接口人不能为空',
PleaseTaskConfirmationRejected:'请选择清单确认状态为接受及任务确认状态为未发起或拒绝的数据', PleaseTaskConfirmationRejected: '请选择清单确认状态为接受及任务确认状态为未发起或拒绝的数据',
pleaseSelectPersonFirst: '请先选择人员', pleaseSelectPersonFirst: '请先选择人员',
onlyOnePersonCanBeSelected: '只能选择一个人员', onlyOnePersonCanBeSelected: '只能选择一个人员',
overrule: '驳回', overrule: '驳回',
@@ -750,7 +750,7 @@ module.exports = {
// 参数收集 // 参数收集
MaintainConfigureInfo: '维护配置信息', MaintainConfigureInfo: '维护配置信息',
ParameteItemCollectionList: '参数项收集清单', ParameteItemCollectionList: '参数项收集清单',
ParameterViewPage:'参数项查看页', ParameterViewPage: '参数项查看页',
Areyousureparameteritems: '确认提交所选参数项嘛?', Areyousureparameteritems: '确认提交所选参数项嘛?',
Theselectedconfiguration: '参数清单中参数项均为待发起收集或变更时才能添加配置', Theselectedconfiguration: '参数清单中参数项均为待发起收集或变更时才能添加配置',
NoConfigurationNotStart: '未添加任何配置无法开始收集请检查', NoConfigurationNotStart: '未添加任何配置无法开始收集请检查',
@@ -817,10 +817,10 @@ module.exports = {
releaseVersion: '发布版本', releaseVersion: '发布版本',
parameterTemplate: '参数模板', parameterTemplate: '参数模板',
contentDescription: '内容说明', contentDescription: '内容说明',
WhetherMergeParameters:'是否合并参数', WhetherMergeParameters: '是否合并参数',
merge:'合并', merge: '合并',
nonjoinder:'不合并', nonjoinder: '不合并',
MergeSeparator:'合并分隔符', MergeSeparator: '合并分隔符',
parameterTemplateExportName: '参数项列表', parameterTemplateExportName: '参数项列表',
parameterDataExport: '参数项导出数据', parameterDataExport: '参数项导出数据',
// 参数收集结束 // 参数收集结束
@@ -983,10 +983,10 @@ module.exports = {
documentLibraryDetails: '文档库详情', documentLibraryDetails: '文档库详情',
question: '催办', question: '催办',
ConfirmQuestion: '确认催办', ConfirmQuestion: '确认催办',
OnlyOrTaskconfirmationOut:'只有清单确认状态或任务确认状态为待确认时才可以进行催办', OnlyOrTaskconfirmationOut: '只有清单确认状态或任务确认状态为待确认时才可以进行催办',
disableInput:'禁止输入', disableInput: '禁止输入',
taskConfirmationDeadline:'任务确认截止时间', taskConfirmationDeadline: '任务确认截止时间',
taskConfirmationResponsiblePerson:'责任人任务确认', taskConfirmationResponsiblePerson: '责任人任务确认',
or: '或', or: '或',
warningTime: '预警时间', warningTime: '预警时间',
RegulationMonthlyManagement: '法规月报管理', RegulationMonthlyManagement: '法规月报管理',
@@ -1025,23 +1025,23 @@ module.exports = {
closingDate: '截止日期', closingDate: '截止日期',
viewProcess: '查看流程', viewProcess: '查看流程',
evaluationResults: '评估结果', evaluationResults: '评估结果',
regulatoryTechnicalEvaluationResults:'法规技术评估结果', regulatoryTechnicalEvaluationResults: '法规技术评估结果',
Assessor:'评估人', Assessor: '评估人',
collectionOfRegulatoryOpinions:'法规意见收集', collectionOfRegulatoryOpinions: '法规意见收集',
collectionOfRegulatoryOpinionsProcess:'法规意见收集流程', collectionOfRegulatoryOpinionsProcess: '法规意见收集流程',
feedbackInformation:'反馈信息', feedbackInformation: '反馈信息',
relevantSections:'相关章节', relevantSections: '相关章节',
questionsSuggestions:'问题/建议', questionsSuggestions: '问题/建议',
link: '链接', link: '链接',
reason:'理由', reason: '理由',
planNoChinese:'计划号', planNoChinese: '计划号',
feedbackPoint:'反馈点', feedbackPoint: '反馈点',
standardNameCn:'标准名称中文', standardNameCn: '标准名称中文',
standardNameEn:'标准名称英文', standardNameEn: '标准名称英文',
deadlineForComments:'征求意见截止日期', deadlineForComments: '征求意见截止日期',
proposedTime:'提出时间', proposedTime: '提出时间',
standardNo:'标准编号', standardNo: '标准编号',
implemenDate:'实施日期', implemenDate: '实施日期',
// 上报库 // 上报库
Enable: '启用', Enable: '启用',
Latestupdatetime: '最新更新时间', Latestupdatetime: '最新更新时间',
@@ -1078,7 +1078,7 @@ module.exports = {
Btext: '文本+下拉多选', Btext: '文本+下拉多选',
Ctext: '文本+附件', Ctext: '文本+附件',
Dtext: '下拉单选+附件', Dtext: '下拉单选+附件',
Etext:'下拉多选+附件', Etext: '下拉多选+附件',
Ftext: '文本+下拉单选+附件', Ftext: '文本+下拉单选+附件',
Gtext: '标题', Gtext: '标题',
Nnothing: '无', Nnothing: '无',
@@ -1193,4 +1193,106 @@ module.exports = {
Checkthepermissions:'查看权限', Checkthepermissions:'查看权限',
onlyFilesUploaded:'只能上传.docx.doc文件', onlyFilesUploaded:'只能上传.docx.doc文件',
uploadedbyyourself:'只能删除自己上传的文件数据', uploadedbyyourself:'只能删除自己上传的文件数据',
Fileuploaded:'文件上传中请稍后',
English: '英文',
requiredParametersEmpty: '必填参数不能为空',
theResponsiblePersonAndDeadlineClank: '的责任人截止时间不能为空',
bringInTheProjectInterface: '带入工程接口人',
theCurrentListSaved: '当前列表数据已全部提交无法进行暂存',
defaultTemplate: '默认模板',
newRequestCommentListTemplate: '新征求意见清单模板',
NewReleasedStandardTemplate: '新发布标准模板',
pleaseSelectStandard: '请选择标准',
theResponsiblePersonEmpty: '的责任人不能为空',
theDeadlineEmpty: '的截止时间不能为空',
theDeliveryTypeCannotBeEmpty: '的交付物类型不能为空',
For: '针对于',
markedRejection: '标注的驳回意见',
RegulationListConfirmationTask: '清单确认任务',
RegulationListConfirmationNotification: '清单确认通知',
RegulationTaskConfirmation: '任务确认任务',
DesignComplianceTask: '设计符合性任务',
PreHomoTask: 'Pre-Homo任务',
ValidationTask: '验证符合性任务',
DesignComplianceNotification: '设计符合性通知',
PreHomoNotification: 'Pre-Homo通知',
ValidationComplianceNotification: '验证符合性通知',
RegulationTaskConfirmationNotification: '任务确认通知',
evaluationMethod: '评估方式',
uploadRelevantMaterials: '相关资料上传',
RelevantMaterials: '相关资料',
processBackground: '流程背景',
selectedStandard: '所选标准',
standardDecompositionDocument: '带入标准分解单',
pleaseSelectStandardFirst: '请先选择标准',
evaluatorFeedback: '评估人反馈',
nameTechnicalDocument: '技术文件名称',
chapter: '章节',
problemDescription: '问题说明',
filingExternalOpinions: '对外意见归档',
initiateProcessForCurrentStandard: '针对当前标准发起流程',
engineerFeedbackResults: '工程师反馈结果',
fileExport: '文件导出',
feedbackTime: '反馈时间',
regulatoryTechnologyAssessmentProcess: '法规技术评估流程',
feedbackEvaluation: '反馈评估',
clauseEvaluation: '条款评估',
standardDocuments: '标准文件',
pleaseCompleteTheEvaluationMethodorEvaluator: '请补全列表中评估方式或评估人',
reviewComments: '审核意见',
PleaseCompleteList: '请补全列表中符合性结果',
sponsorFeedback: '发起人反馈',
processNumber: '流程编号',
processName: '流程名称',
feedbackResults: '反馈结果',
theDoesNotSupportPreview: '当前文件格式不支持预览',
releaseSituation: '发布情况',
comparisonResults: '对比结果',
Published: '已发布',
initiateComparison: '发起对比',
translationLanguage: '翻译语言',
translationResults: '翻译结果',
conversionTime: '转换时间',
category: '类别',
RegulatoryProcessEvaluationResults: '法规流程评估结果',
ViewConformanceResults: '查看符合性结果',
CommentsCollectionResultsForReference: '意见收集结果参考',
TechnicalEvaluationResultsForReference: '技术评估结果参考',
ComplianceConfirmationRecord: '符合性确认记录',
complianceConfirmation: '符合性确认',
Deriveconformanceresults: '导出符合性结果',
Regulatorycompliancekanban: '法规符合性看板',
noComparisonDocumentSelected: '未选择对比文档',
RemarkInfo: '备注信息',
initiateDocumentComparison: '发起文档对比',
comparativeComments: '对比评论',
viewTheComparisonResults: '查看对比结果',
addFullTextComment: '添加全文评论',
turnOffAutomaticMatching: '关闭自动匹配',
exportComparisonReport: '导出对比报告',
comparisonDifferenceComment: '对比差异评论',
fullTextComments: '全文评论',
fileDeclaration: '文件说明',
FileForDetails: '文件详情',
Converting: '转换中',
convertNetwork: '转换完成',
convertFailed: '转换失败',
standardData: '标准数据',
Theorganization: '组织机构',
Addingfolder: '新增文件夹',
Addingsubfolders: '新增子文件夹',
Editfolder: '编辑文件夹',
Deletefolders: '删除文件夹',
Foldername: '文件夹名称',
Folderpermissions: '文件夹权限',
Folderorder: '文件夹顺序',
Downloadprivileges: '下载权限',
Openpersonnel: '开放人员',
originalText: '原文',
translatedText: '译文',
Administrativeprivileges: '管理权限',
Checkthepermissions: '查看权限',
onlyFilesUploaded: '只能上传.docx.doc文件',
uploadedbyyourself: '只能删除自己上传的文件数据',
doNotHavePermissionDeleteData: '没有权限删除此数据'
} }
@@ -42,7 +42,7 @@
<a-table <a-table
:columns="columns" :columns="columns"
rowKey="id" rowKey="id"
:scroll="{x: '100%',y:'calc(100vh - 430px)'}" :scroll="{x: '100%',y:'calc(100vh - 440px)'}"
:data-source="dataList" :data-source="dataList"
:pagination="false" :pagination="false"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,columnTitle:' ' }" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,columnTitle:' ' }"
@@ -68,7 +68,7 @@
<span class="Required-One">*</span> <span class="Required-One">*</span>
<span class="title-text-text-One" :title="$t('translationLanguage')">{{$t('translationLanguage')}}</span> <span class="title-text-text-One" :title="$t('translationLanguage')">{{$t('translationLanguage')}}</span>
</div> </div>
<a-form-model-item class="itemModel-One" style="width: calc(50% - 20px)" prop="translationLanguage"> <a-form-model-item class="itemModel-One" style="width: calc(50% - 20px)" prop="sourceLanguage">
<j-dict-select-tag class="box-input" v-model="formInline.sourceLanguage" <j-dict-select-tag class="box-input" v-model="formInline.sourceLanguage"
@input="handleInput('sourceLanguage')" @input="handleInput('sourceLanguage')"
:placeholder="$t('PleaseSelect')+$t('translationLanguage')" :placeholder="$t('PleaseSelect')+$t('translationLanguage')"
@@ -78,7 +78,7 @@
<span class="text-icon-One"> <span class="text-icon-One">
<a-icon type="arrow-right" style="font-size: 20px"/> <a-icon type="arrow-right" style="font-size: 20px"/>
</span> </span>
<a-form-model-item class="itemModel-One" style="width: calc(50% - 20px)" prop="translationLanguageOne"> <a-form-model-item class="itemModel-One" style="width: calc(50% - 20px)" prop="targetLanguage">
<j-dict-select-tag class="box-input" v-model="formInline.targetLanguage" <j-dict-select-tag class="box-input" v-model="formInline.targetLanguage"
@input="handleInput('targetLanguage')" @input="handleInput('targetLanguage')"
:placeholder="$t('PleaseSelect')+$t('translationLanguage')" :placeholder="$t('PleaseSelect')+$t('translationLanguage')"
@@ -111,14 +111,14 @@
selectedRowKeys: [], selectedRowKeys: [],
formInline: {}, formInline: {},
rules: { rules: {
translationLanguage: [ sourceLanguage: [
{ {
required: true, required: true,
message: this.$t('translationLanguage') + this.$t('cannotEmpty'), message: this.$t('translationLanguage') + this.$t('cannotEmpty'),
trigger: 'change' trigger: 'change'
} }
], ],
translationLanguageOne: [ targetLanguage: [
{ {
required: true, required: true,
message: this.$t('translationLanguage') + this.$t('cannotEmpty'), message: this.$t('translationLanguage') + this.$t('cannotEmpty'),
@@ -191,6 +191,9 @@
this.queryParam = {} this.queryParam = {}
this.selectedRowKeys = [] this.selectedRowKeys = []
this.replacePage() this.replacePage()
this.$nextTick(() => {
this.$refs.ruleForm.clearValidate()
})
}, },
searchQuery() { searchQuery() {
this.pageNo = 1 this.pageNo = 1
@@ -216,7 +219,7 @@
let query = { let query = {
pageNo: pageNo + '', pageNo: pageNo + '',
pageSize: pageSize + '', pageSize: pageSize + '',
type: 'pdf', type: 'doc',
...this.queryParam ...this.queryParam
} }
this.loading = true this.loading = true
@@ -249,9 +252,27 @@
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) { if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
this.$refs.ruleForm.validate(valid => { this.$refs.ruleForm.validate(valid => {
if (valid) { if (valid) {
let query = {
...this.formInline,
serialNumber: this.selectedRowKeysRecord[0].serial_number,
title: this.selectedRowKeysRecord[0].title,
fileName: this.selectedRowKeysRecord[0].file_name,
textStatus: this.selectedRowKeysRecord[0].text_info_id,
sourceFileId:this.selectedRowKeysRecord[0].id,
bussDocumentLibraryId:this.selectedRowKeysRecord[0].buss_document_library_id
}
this.confirmLoading = true this.confirmLoading = true
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys)) postAction('/docTranslation/docTranslationEO/add', query).then((res) => {
this.visible = false if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
this.visible = false
this.confirmLoading = false
this.$emit('RetrieveFilesListForm')
} else {
this.$message.warning(this.$t('operationFailed'))
this.confirmLoading = false
}
})
} }
}) })
} else { } else {
@@ -16,52 +16,11 @@
{{$t('originalText')}} {{$t('originalText')}}
</div> </div>
<div class="detail-text"> <div class="detail-text">
汽车用LED前照灯 <iframe :src="detailUrlLeft"
ref="iframeLeft"
1 范围 sandbox="allow-same-origin allow-scripts"
id="iframe-left"
本标准规定了汽车用LED光源/模块或含有LED光源/模块的前照灯配光性能、光色、温度循环等试验方法和检验规则等, class="detail-text-iframe" frameborder="0"></iframe>
本标准适用于M、N类汽车使用的LED前照灯、或主要由LED光源或LED模块形成远光或近光的LED前照灯。
2 规范性引用文件
下列文件中的条款,通过本标准的引用而成为本标准的条款,凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准.
GB 4599—2007 汽车用灯丝灯泡前照灯
GB 4785 汽车及挂车外部照明和光信号装置的安装规定
GB/T 7922 照明光源颜色的测量方法
GB 15766.1 道路机动车辆灯丝灯泡 尺寸、光电性能要求
3 术语和定义
GB 4599—2007和GB 4785中确立的,以及下列术语和定义适用于本标准占
3. 1
目标光通量: objective luminous flux
可更换光源或光源模块光通量的设计值。
3.2
光源失效 failure of light source
LED或LED模块在正常使用条件下,一个或多个LED失去发光功能、变暗、色度超标、或出现闪烁的现象。
3.3
LED 模块 LED module
仅含有LED的光源模块。
4 前照灯的不同型式
在以下主要方面有差异的前照灯:
——商品名称或商标;
——光学系统的特性;
——通过反射、折射、吸收和/或工作时的变形,改变光学效果的部件;
——提供的光束种类(近光,远光或远、近光);
——配光镜及其涂层的材料;
——LED光源/模块类型和参数(电压、功率、光通量、色度、显色性九
5 要求
5.1 一般要求
5.1. 1 LED前照灯应设计和制造成在正常使用条件下,即使受到振动,仍能保证满足使用要求和符合本标准规定。
5.1.2 LED前照灯应具有良好的散热性,防止LED光源热堆积,LED前照灯即使在低温凝冻的环境下仍能正常工作,
5.1.3 LED前照灯应具有良好的电磁兼容性能。
5.1.4 当前照灯装有LED光源或LED模块时其性能均应满足本标准要求;当LED前照灯中装有灯丝灯泡或HID光源实现远光或近光功能时,其配光性能和检测应分别满足其相应标准的要求,
5.1.5 前照灯应具有光束调整装置,当近光灯和远光灯形成一组合体,并各自装有LED光源/模块、灯丝灯泡(或灯光组)时,调整装置应能对它们分别进行调整,这些要求不适用于远光灯和近光灯不能单独调节的前照灯,
</div> </div>
</div> </div>
<div class="detail-content-right"> <div class="detail-content-right">
@@ -69,64 +28,7 @@
{{$t('translatedText')}} {{$t('translatedText')}}
</div> </div>
<div class="detail-text"> <div class="detail-text">
LED headlamp for automobile <iframe :src="detailUrlRight" class="detail-text-iframe" frameborder="0"></iframe>
one Range
This standard specifies the test methods and inspection rules for light distribution performance, light
color, temperature cycle, etc. of automotive LED light source / module or headlamp containing LED light
source / module,
This standard is applicable to LED headlamps used by M and N vehicles, or LED headlamps that mainly form
high beam or low beam by LED light source or LED module.
two Normative references
The provisions in the following documents become the provisions of this standard through the reference of
this standard. For dated references, all subsequent amendments (excluding the contents of Corrigendum) or
revisions are not applicable to this standard. However, parties to agreements based on this standard are
encouraged to study whether the latest versions of these documents can be used. For undated references,
the latest edition is applicable to this standard
GB 4599—2007 Automotive filament bulb headlamps
GB 4785 Provisions for the installation of exterior lighting and light signalling devices for automobiles
and trailers
GB/T 7922 Methods of measuring the color of lighting sources
GB 15766.1 Requirements for dimensions and photoelectric performance of filament bulbs for road motor
vehicles
three Terms and definitions
The terms and definitions established in GB 4599-2007 and GB 4785 and the following terms and definitions
are applicable to this standard
3. 1
Objective luminous flux
Design value of luminous flux of replaceable light source or light source module.
three point two
Failure of light source
Under normal use conditions of LED or LED module, one or more LEDs lose light-emitting function, darken,
chromaticity exceeds the standard, or flicker.
three point three
LED module
Light source module with led only.
four Different types of headlamps
Headlamps that differ in the following main respects:
——Trade name or trademark;
——Characteristics of optical system;
——Components that change the optical effect through reflection, refraction, absorption and / or
deformation during operation;
——Type of beam provided (low beam, high beam or high beam and low beam);
——Materials of lens and its coating;
——LED light source / module type and parameters (voltage, power, luminous flux, chromaticity, color
rendering IX
five requirement
five point one general requirements
5.1. one The LED headlamp shall be designed and manufactured to ensure that it can meet the use
requirements and comply with the provisions of this standard even if it is vibrated under normal
conditions of use.
5.1.2 The LED headlamp shall have good heat dissipation to prevent thermal accumulation of LED light
source. The LED headlamp can work normally even in the low-temperature freezing environment,
5.1.3 LED headlamp shall have good electromagnetic compatibility performance.
5.1.4 When the headlamp is equipped with LED light source or LED module, its performance shall meet the
requirements of this standard; When the LED headlamp is equipped with filament bulb or HID light source to
realize the function of high beam or low beam, its Photometric Performance and detection shall meet the
requirements of corresponding standards respectively,
5.1.5 The headlamp shall have a beam adjustment device. When the dipped beam and the high beam form a
combination and each is equipped with an LED light source / module and a filament bulb (or light group),
the adjustment device shall be able to adjust them respectively. These requirements do not apply to
headlamps where the high beam and the low beam cannot be adjusted separately,
</div> </div>
</div> </div>
</div> </div>
@@ -136,18 +38,42 @@
</template> </template>
<script> <script>
import { Base64 } from 'js-base64'
export default { export default {
name: 'documentTranslationResults', name: 'documentTranslationResults',
data() { data() {
return {} return {
detailUrlLeft: '',
detailUrlRight: '',
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
fileQuery: {}
}
}, },
mounted() { mounted() {
this.fileQuery = this.$route.query
this.onlinePreview()
setTimeout(() => {
this.$nextTick(() => {
this.$refs.iframeLeft.contentWindow.document.body.style = 'background-color:#fff'
console.log(this.$refs.iframeLeft.contentWindow.document.body.style.backgroundColor)
})
}, 2000)
}, },
methods: { methods: {
Fallback() { Fallback() {
this.$router.push({ this.$router.push({
path: '/documentTranslation' path: '/documentTranslation'
}) })
},
onlinePreview() {
let fileName = this.fileQuery.fileName
let index1 = fileName.lastIndexOf('.')
let index2 = fileName.length
let fileSuffix = fileName.substring(index1, index2)
this.detailUrlLeft = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + this.fileQuery.sourceFileId + fileSuffix)
this.detailUrlRight = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + this.fileQuery.targetFileId + fileSuffix)
} }
} }
} }
@@ -225,10 +151,22 @@
font-size: 14px; font-size: 14px;
font-weight: 400; font-weight: 400;
color: #040B29; color: #040B29;
height: calc(100vh - 230px);
} }
.page { .page {
text-align: right; text-align: right;
margin-top: 20px; margin-top: 20px;
} }
.detail-text-iframe {
width: 100%;
height: 100%;
border-width: 0px;
}
</style>
<style>
.detail-text-iframe .container {
display: none !important;
}
</style> </style>
@@ -100,6 +100,12 @@
v-if="record.createBy == userInfoQuery.username && record.releaseCondition == 'draft'" v-if="record.createBy == userInfoQuery.username && record.releaseCondition == 'draft'"
@click="deleteData(record)">{{$t('delete')}}</a> @click="deleteData(record)">{{$t('delete')}}</a>
</span> </span>
<span slot="translationLanguage" slot-scope="text,record"
:title="record.sourceLanguage_dictText +' -- '+record.targetLanguage_dictText">
<span class="translationLanguageText" style="margin-top: -2px">{{record.sourceLanguage_dictText}}</span>
<a-icon class="translationLanguageText" type="arrow-right" style="font-size: 16px"/>
<span class="translationLanguageText">{{record.targetLanguage_dictText}}</span>
</span>
</a-table> </a-table>
<div class="page" v-if="dataSource && dataSource.length > 0"> <div class="page" v-if="dataSource && dataSource.length > 0">
<a-pagination <a-pagination
@@ -148,6 +154,7 @@
pageNo: 1, pageNo: 1,
queryParam: {}, queryParam: {},
userInfoQuery: {}, userInfoQuery: {},
selectedRowKeysRecord: [],
columns: [ columns: [
{ {
title: this.$t('standard'), title: this.$t('standard'),
@@ -179,7 +186,8 @@
title: this.$t('translationLanguage'), title: this.$t('translationLanguage'),
align: 'center', align: 'center',
dataIndex: 'targetLanguage_dictText', dataIndex: 'targetLanguage_dictText',
width: 170 width: 240,
scopedSlots: { customRender: 'translationLanguage' }
}, },
{ {
title: this.$t('translationResults'), title: this.$t('translationResults'),
@@ -222,6 +230,7 @@
this.getList() this.getList()
}, },
RetrieveFilesListForm() { RetrieveFilesListForm() {
this.pageNo = 1
this.getList() this.getList()
}, },
handleToggleSearch() { handleToggleSearch() {
@@ -268,12 +277,18 @@
} }
}) })
}, },
onSelectChange(value) { onSelectChange(value, record) {
this.selectedRowKeys = value this.selectedRowKeys = value
this.selectedRowKeysRecord = record
}, },
viewClick(row) { viewClick(row) {
let newUrl = this.$router.resolve({ let newUrl = this.$router.resolve({
path: '/documentTranslationResults' path: '/documentTranslationResults',
query: {
targetFileId: row.targetFileId,
sourceFileId: row.sourceFileId,
fileName: row.fileName
}
}) })
window.open(newUrl.href, '_blank') window.open(newUrl.href, '_blank')
}, },
@@ -321,16 +336,27 @@
this.$confirm({ this.$confirm({
content: _this.$t('ConfirmBatchDeletion'), content: _this.$t('ConfirmBatchDeletion'),
onOk() { onOk() {
let idList = JSON.parse(JSON.stringify(_this.selectedRowKeys)) let idList = []
deleteAction(_this.url.deleteBatch, { ids: idList.join(',') }).then((res) => { let selectedRowKeysRecord = JSON.parse(JSON.stringify(_this.selectedRowKeysRecord))
if (res.success) { for (let i = 0; i < selectedRowKeysRecord.length; i++) {
_this.$message.success(_this.$t('OperationSuccessful')) if (selectedRowKeysRecord[i].createBy == _this.userInfo().username &&
_this.selectedRowKeys = [] selectedRowKeysRecord[i].releaseCondition == 'draft') {
_this.getList() idList.push(selectedRowKeysRecord[i].id)
} else {
_this.$message.warning(res.message)
} }
}) }
if (idList.length > 0) {
deleteAction(_this.url.deleteBatch, { ids: idList.join(',') }).then((res) => {
if (res.success) {
_this.$message.success(_this.$t('OperationSuccessful'))
_this.selectedRowKeys = []
_this.getList()
} else {
_this.$message.warning(res.message)
}
})
} else {
_this.$message.warning(_this.$t('doNotHavePermissionDeleteData'))
}
} }
}) })
} else { } else {
@@ -412,4 +438,9 @@
color: red; color: red;
margin-right: 4px; margin-right: 4px;
} }
.translationLanguageText {
margin-right: 4px;
display: inline-block;
}
</style> </style>
@@ -20,11 +20,11 @@
<span class="title-text-text" <span class="title-text-text"
:title="$t('fileName')">{{$t('fileName')}}</span> :title="$t('fileName')">{{$t('fileName')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="sourceFileId"> <a-form-model-item class="itemModel" prop="fileKey">
<a-button type="primary" class="button-text" <a-button type="primary" class="button-text"
@click="clickButtonToUpload('sourceFileId')"> @click="clickButtonToUpload('fileKey')">
{{ (formInline.sourceFileId === 'null' || formInline.sourceFileId === '' || {{ (formInline.fileKey === 'null' || formInline.fileKey === '' ||
formInline.sourceFileId == null) ? $t('clickUpload') : $t('viewUploadedFiles') formInline.fileKey == null) ? $t('clickUpload') : $t('viewUploadedFiles')
}} }}
</a-button> </a-button>
</a-form-model-item> </a-form-model-item>
@@ -38,12 +38,12 @@
<!-- <span class="Required">*</span>--> <!-- <span class="Required">*</span>-->
<span class="title-text-text" :title="$t('fileDeclaration')">{{$t('fileDeclaration')}}</span> <span class="title-text-text" :title="$t('fileDeclaration')">{{$t('fileDeclaration')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="description"> <a-form-model-item class="itemModel" prop="fileDescription">
<a-input class="box-input add-input" <a-input class="box-input add-input"
type="textarea" type="textarea"
:disabled="disabled" :disabled="disabled"
:placeholder="$t('PleaseEnter')+$t('fileDeclaration')" :placeholder="$t('PleaseEnter')+$t('fileDeclaration')"
v-model="formInline.description"/> v-model="formInline.fileDescription"/>
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
@@ -86,17 +86,18 @@ export default {
formInline: {}, formInline: {},
confirmLoading: false, confirmLoading: false,
spinning: false, spinning: false,
menuId:'',
visible: false, visible: false,
url: { url: {
add: 'params/template/add', add: 'com.jero.modules.extRepo/extRepoData/add',
edit: 'params/template/edit', edit: 'com.jero.modules.extRepo/extRepoData/edit',
}, },
rules: { rules: {
description:[ fileDescription:[
// { required: true, message: this.$t('PleaseEnter')+this.$t('fileDeclaration'), trigger: 'blur' }, // { required: true, message: this.$t('PleaseEnter')+this.$t('fileDeclaration'), trigger: 'blur' },
{ min:1, max: 200, message: this.$t('cantExeed')+'200'+this.$t('characters'), trigger: 'blur' }, { min:1, max: 200, message: this.$t('cantExeed')+'200'+this.$t('characters'), trigger: 'blur' },
], ],
sourceFileId: [ fileKey: [
{ {
required: true, required: true,
message: this.$t('fileName') + this.$t('cannotEmpty'), message: this.$t('fileName') + this.$t('cannotEmpty'),
@@ -122,9 +123,10 @@ export default {
} }
}) })
}, },
addModel() { addModel(menuId) {
this.visible = true this.visible = true
this.title = this.$t('UploadFile') this.title = this.$t('UploadFile')
this.menuId = menuId
this.formInline = {} this.formInline = {}
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['ruleForm'].clearValidate() this.$refs['ruleForm'].clearValidate()
@@ -147,9 +149,6 @@ export default {
} }
}, },
handleSubmit() { handleSubmit() {
if(this.formInline.paramsTemplateName !== undefined) {
this.formInline.paramsTemplateName = this.formInline.paramsTemplateName.trim()
}
this.$refs.ruleForm.validate(valid => { this.$refs.ruleForm.validate(valid => {
if (valid) { if (valid) {
this.spinning = true this.spinning = true
@@ -162,21 +161,23 @@ export default {
url = this.url.add url = this.url.add
Action = postAction Action = postAction
} }
this.formInline.supFolder = this.menuId
let query = JSON.parse(JSON.stringify(this.formInline)) let query = JSON.parse(JSON.stringify(this.formInline))
Object.keys(query).forEach(res => { Object.keys(query).forEach(res => {
if (query[res] && query[res] instanceof Array) { if (query[res] && query[res] instanceof Array) {
query[res] = query[res].join(',') query[res] = query[res].join(',')
} }
}) })
postAction(url, query).then((res) => { Action(url, query).then((res) => {
if (res.success) { if (res.success) {
this.spinning = false this.spinning = false
this.$message.success(this.$t('OperationSuccessful')) // this.$message.success(this.$t('OperationSuccessful'))
this.$message.success(res.message)
this.visible = false this.visible = false
this.$emit('addModelList') this.$emit('addModelList')
} else { } else {
this.spinning = false this.spinning = false
this.$message.warning(this.$t('operationFailed')) this.$message.warning(res.message)
this.confirmLoading = false this.confirmLoading = false
} }
}) })
+149 -218
View File
@@ -8,7 +8,6 @@
<a-input-search style="margin-bottom: 8px" :placeholder="$t('NodeQuickLookup')" @change="onLeftChange" <a-input-search style="margin-bottom: 8px" :placeholder="$t('NodeQuickLookup')" @change="onLeftChange"
@search="onSearch"/> @search="onSearch"/>
<a-tree <a-tree
v-if="gData.length>0"
:selected-keys="selectedKeys" :selected-keys="selectedKeys"
:expanded-keys.sync="expandedKeys" :expanded-keys.sync="expandedKeys"
:auto-expand-parent="autoExpandParent" :auto-expand-parent="autoExpandParent"
@@ -44,16 +43,16 @@
<template #overlay> <template #overlay>
<a-menu <a-menu
@click="({ key: menuKey }) => onContextMenuClick(treeKey, menuKey, record)"> @click="({ key: menuKey }) => onContextMenuClick(treeKey, menuKey, record)">
<a-menu-item key="1" @click="orgAdd" v-has="'split:sarFileSplitMenu:add'">{{$t('Addingfolder')}} <a-menu-item key="1" @click="orgAdd" v-has="'externalReports:folder'">{{$t('Addingfolder')}}
</a-menu-item> </a-menu-item>
<a-menu-item key="4" @click="orgAdds" v-if="deleteNode" <a-menu-item key="4" @click="orgAdds" v-if="deleteNode"
v-has="'split:sarFileSplitMenu:delete'">{{$t('Addingsubfolders')}} v-has="'externalReports:folder'">{{$t('Addingsubfolders')}}
</a-menu-item> </a-menu-item>
<a-menu-item key="2" @click="orgEdit" v-has="'split:sarFileSplitMenu:update'"> <a-menu-item key="2" @click="orgEdit" v-has="'externalReports:folder'">
{{$t('Editfolder')}} {{$t('Editfolder')}}
</a-menu-item> </a-menu-item>
<a-menu-item key="3" @click="orgDelete" <a-menu-item key="3" @click="orgDelete"
v-has="'split:sarFileSplitMenu:delete'">{{$t('Deletefolders')}} v-has="'externalReports:folder'">{{$t('Deletefolders')}}
</a-menu-item> </a-menu-item>
</a-menu> </a-menu>
@@ -186,26 +185,26 @@
:label-col="labelCol" :label-col="labelCol"
:wrapper-col="wrapperCol" :wrapper-col="wrapperCol"
> >
<a-form-model-item :label="$t('Foldername')" prop="name"> <a-form-model-item :label="$t('Foldername')" prop="folderName">
<a-input class="box-input add-input" v-model="form.name" :placeholder="$t('PleaseEnter')+$t('Foldername')"/> <a-input class="box-input add-input" v-model="form.folderName" :placeholder="$t('PleaseEnter')+$t('Foldername')"/>
</a-form-model-item> </a-form-model-item>
<a-form-model-item :label="$t('Administrativeprivileges')" prop="Administrativeprivileges"> <a-form-model-item :label="$t('Administrativeprivileges')" prop="authManage">
<PersonnelSelection class="box-input add-input" <PersonnelSelection class="box-input add-input"
:personneQuery="form" :personneQuery="form"
:query="{db_field_name:'Administrativeprivileges',db_field_txt:$t('Administrativeprivileges')}" :query="{db_field_name:'authManageIds',db_field_txt:$t('Administrativeprivileges')}"
@change="PersonnelSelectionChange" @change="PersonnelSelectionChange"
v-model="form.Administrativeprivileges"/> v-model="form.authManage"/>
</a-form-model-item> </a-form-model-item>
<a-form-model-item :label="$t('Checkthepermissions')" prop="Checkthepermissions"> <a-form-model-item :label="$t('Checkthepermissions')" prop="authView">
<PersonnelSelection <PersonnelSelection
class="box-input add-input" class="box-input add-input"
:personneQuery="form" :personneQuery="form"
:query="{db_field_name:'Checkthepermissions',db_field_txt:$t('Checkthepermissions')}" :query="{db_field_name:'authViewIds',db_field_txt:$t('Checkthepermissions')}"
@change="PersonnelSelectionChange" @change="PersonnelSelectionChange"
v-model="form.Checkthepermissions"/> v-model="form.authView"/>
</a-form-model-item> </a-form-model-item>
<a-form-model-item :label="$t('Folderorder')" prop="displaySeq"> <a-form-model-item :label="$t('Folderorder')" prop="orderId">
<a-input-number v-model="form.displaySeq" :min="1" :max="99999" class="box-input add-input" <a-input-number v-model="form.orderId" :min="1" :max="99999" class="box-input add-input"
:placeholder="$t('PleaseEnter')+$t('Folderorder')" :formatter="limitNumber" :placeholder="$t('PleaseEnter')+$t('Folderorder')" :formatter="limitNumber"
:parser="limitNumber" /> :parser="limitNumber" />
<!-- <a-input-number v-model="rowCount" :min="1" :placeholder="$t('pleaseEnter')+$t('numberRows')" :formatter="limitNumber" :parser="limitNumber" />--> <!-- <a-input-number v-model="rowCount" :min="1" :placeholder="$t('pleaseEnter')+$t('numberRows')" :formatter="limitNumber" :parser="limitNumber" />-->
@@ -224,7 +223,7 @@
<script> <script>
import addModel from './components/addModel' import addModel from './components/addModel'
import handleModel from './components/handle' import handleModel from './components/handle'
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage' import { getAction, postAction, downloadFile, deleteAction,putAction } from '@/api/manage'
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index' import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
// import exportTree from '@/components/exportTree/index' // import exportTree from '@/components/exportTree/index'
import axios from 'axios' import axios from 'axios'
@@ -282,17 +281,17 @@ export default {
menuRightVisible: false, menuRightVisible: false,
form: {}, form: {},
rules: { rules: {
name: [ folderName: [
{ required: true, message: this.$t('PleaseEnter') + this.$t('Foldername'), trigger: 'blur' }, { required: true, message: this.$t('PleaseEnter') + this.$t('Foldername'), trigger: 'blur' },
{ min: 1, max: 50, message: this.$t('cantExeed') + '50' + this.$t('characters'), trigger: 'blur' } { min: 1, max: 50, message: this.$t('cantExeed') + '50' + this.$t('characters'), trigger: 'blur' }
], ],
Administrativeprivileges: [ authManage: [
{ required: true, message: this.$t('PleaseSelect') + this.$t('Administrativeprivileges'), trigger: 'change' }, { required: true, message: this.$t('PleaseSelect') + this.$t('Administrativeprivileges'), trigger: 'change' },
], ],
Checkthepermissions: [ authView: [
{ required: true, message: this.$t('PleaseSelect') + this.$t('Checkthepermissions'), trigger: 'change' }, { required: true, message: this.$t('PleaseSelect') + this.$t('Checkthepermissions'), trigger: 'change' },
], ],
displaySeq: [ orderId: [
{ required: true, message: this.$t('PleaseEnter') + this.$t('Folderorder'), trigger: 'blur' } { required: true, message: this.$t('PleaseEnter') + this.$t('Folderorder'), trigger: 'blur' }
// { min: 1, max: 99999, message: this.$t('cantExeed') + '99999' + this.$t('characters'), trigger: 'blur' }, // { min: 1, max: 99999, message: this.$t('cantExeed') + '99999' + this.$t('characters'), trigger: 'blur' },
] ]
@@ -318,17 +317,17 @@ export default {
{ {
title: this.$t('fileName'), title: this.$t('fileName'),
align: 'center', align: 'center',
dataIndex: 'serialNumber', dataIndex: 'fileName',
}, },
{ {
title: this.$t('fileDeclaration'), title: this.$t('fileDeclaration'),
align: 'center', align: 'center',
dataIndex: 'title', dataIndex: 'fileDescription',
}, },
{ {
title: this.$t('uploadedBy'), title: this.$t('uploadedBy'),
align: 'center', align: 'center',
dataIndex: 'state_dicText', dataIndex: 'updateBy',
}, },
// { // {
// title: this.$t('category'), // title: this.$t('category'),
@@ -338,7 +337,7 @@ export default {
{ {
title: this.$t('uploadTime'), title: this.$t('uploadTime'),
align: 'center', align: 'center',
dataIndex: 'technologyTerritory_dicText', dataIndex: 'updateTime',
width: 250 width: 250
}, },
{ {
@@ -350,7 +349,7 @@ export default {
} }
], ],
url: { url: {
list: 'project/lawsComplianceBoard/page', list: 'com.jero.modules.extRepo/extRepoData/page',
getSysCategoryTree: '/sys/category/getSysCategoryTree', getSysCategoryTree: '/sys/category/getSysCategoryTree',
}, },
ids: '', ids: '',
@@ -380,26 +379,9 @@ export default {
const that = this const that = this
let client = '' let client = ''
let width = '' let width = ''
// this.widthBrown = window.screenWidth || document.body.clientWidth;
// let iframeTop= document.querySelector('.split-detail-left').getBoundingClientRect().top
// document.querySelector('.split-detail-left').style.height = this.brownHeight-iframeTop-24 + 'px'
// console.log(iframeTop,'iframeTop2222')
// document.querySelector('.split-detail-table .ant-table-content').style.width = width - 20 + 'px'
// window.addEventListener('resize', () => {
// that.screenWidth = window.screenWidth || document.body.clientWidth;
// client = document.querySelector('.split-detail-table .ant-table-content').getBoundingClientRect()
// // console.log('screenWidth',that.screenWidth)
// width = that.screenWidth - client.left
// document.querySelector('.split-detail-table .ant-table-content').style.width = width - 20 + 'px'
// iframeTop= document.querySelector('.split-detail-left').getBoundingClientRect().top
// console.log(iframeTop,'iframeTop111')
// document.querySelector('.split-detail-left').style.height = this.brownHeight-iframeTop-24 + 'px'
// }, false);
this.userData = this.userInfo() this.userData = this.userInfo()
this.infoId = this.$route.query.infoId // this.infoId = this.$route.query.infoId
console.log('info', this.$route.query) // console.log('info', this.$route.query)
this.loadMenuData() this.loadMenuData()
this.loadData() this.loadData()
this.generateList(this.gData) this.generateList(this.gData)
@@ -468,13 +450,15 @@ export default {
}, },
//获取左侧目录数据 //获取左侧目录数据
loadMenuData() { loadMenuData() {
let params = { // let params = {
infoId: this.infoId // infoId: this.infoId
} // }
this.loading = true this.loading = true
getAction(`split/sarFileSplitMenu/getSplitMenusByInfoId`, params).then(res => { getAction(`extRepo/extRepoFolder/list`, {}).then(res => {
if (res.success) { if (res.success) {
this.data = this.toTree(res.result) // this.data = this.toTree(res.result)
this.data = res.result
this.menuId = this.data[0].key
this.gData = [...this.data] this.gData = [...this.data]
Object.assign(this, { Object.assign(this, {
expandedKeys: this.expandedKeys, expandedKeys: this.expandedKeys,
@@ -486,51 +470,54 @@ export default {
}) })
}, },
//将数据拼成树形结构 //将数据拼成树形结构
toTree(config) { // toTree(config) {
// 删除 所有 children,以防止多次调用 // // 删除 所有 children,以防止多次调用
config.forEach(function(item) { // config.forEach(function(item) {
delete item.children // delete item.children
}) // })
// 将数据存储为 以 id 为 KEY 的 map 索引数据列 // // 将数据存储为 以 id 为 KEY 的 map 索引数据列
let map = {} // let map = {}
config.forEach((item) => { // config.forEach((item) => {
item.label = item.name // item.label = item.title
item.key = item.id // item.key = item.key
item.title = item.name + (item.itemName ? ' ' + item.itemName : '') // item.title = item.title
map[item.id] = item // map[item.key] = item
}) // })
let val = [] // let val = []
config.forEach((item) => { // config.forEach((item) => {
// 以当前遍历项,的pid,去map对象中找到索引的id // // 以当前遍历项,的pid,去map对象中找到索引的id
let parent = map[item.pid] // let parent = map[item.orderId]
// 如果找到索引,那么说明此项不在顶级当中,那么需要把此项添加到,他对应的父级中 // // 如果找到索引,那么说明此项不在顶级当中,那么需要把此项添加到,他对应的父级中
if (parent) { // if (parent) {
(parent.children || (parent.children = [])).push(item) // (parent.children || (parent.children = [])).push(item)
} else { // } else {
//如果没有在map中找到对应的索引ID,那么直接把 当前的item添加到 val结果集中,作为顶级 // //如果没有在map中找到对应的索引ID,那么直接把 当前的item添加到 val结果集中,作为顶级
val.push(item) // val.push(item)
} // }
}) // })
return val // return val
}, // },
//鼠标右键 //鼠标右键
rightClick({ event, node }) { rightClick({ event, node }) {
this.deleteNode = node._props.dataRef.pid ? false : true this.deleteNode = node._props.dataRef.level == 4 ? false : true
// console.log('eee',event,node) // console.log('eee',event,node)
// this.NodeTreeItemVisible=true // this.NodeTreeItemVisible=true
const x = const x =
event.currentTarget.offsetLeft + event.currentTarget.clientWidth event.currentTarget.offsetLeft + event.currentTarget.clientWidth
const y = event.currentTarget.offsetTop const y = event.currentTarget.offsetTop
console.log(node._props.dataRef)
this.NodeTreeItem = { this.NodeTreeItem = {
pageX: x, pageX: x,
pageY: y, pageY: y,
id: node._props.dataRef.id, authManage: node._props.dataRef.authManage,
name: node._props.dataRef.name, authViewIds: node._props.dataRef.authViewIds,
itemName: node._props.dataRef.itemName, key: node._props.dataRef.key,
displaySeq: node._props.dataRef.displaySeq, authManageIds: node._props.dataRef.authManageIds,
authView: node._props.dataRef.authView,
title: node._props.dataRef.title, title: node._props.dataRef.title,
pid: node._props.dataRef.pid || null folderName: node._props.dataRef.folderName,
orderId: node._props.dataRef.orderId,
} }
this.nodeItem = JSON.parse(JSON.stringify(this.NodeTreeItem)) this.nodeItem = JSON.parse(JSON.stringify(this.NodeTreeItem))
// this.form.pid=this.NodeTreeItem.id // this.form.pid=this.NodeTreeItem.id
@@ -557,12 +544,10 @@ export default {
this.uploadMenuId = selectedKeys[0] this.uploadMenuId = selectedKeys[0]
this.selectedKeys = selectedKeys this.selectedKeys = selectedKeys
let queryParam = { let queryParam = {
menu_id: this.menuId, supFolder: this.menuId
info_id: this.infoId
} }
this.parameter.info_id = this.infoId this.parameter.supFolder = this.menuId
this.parameter.menu_id = this.menuId
// eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam))) // eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
this.searchQuery(JSON.parse(JSON.stringify(queryParam))) this.searchQuery(JSON.parse(JSON.stringify(queryParam)))
// eventBUs.$emit('searchReset') // eventBUs.$emit('searchReset')
@@ -574,6 +559,8 @@ export default {
this.menuTitle = this.$t('Addingfolder') this.menuTitle = this.$t('Addingfolder')
this.isEdit = false this.isEdit = false
this.form = {} this.form = {}
let supFolder = ''
this.supFolder = this.nodeItem.key
this.menuRightVisible = true this.menuRightVisible = true
}, },
@@ -581,17 +568,22 @@ export default {
this.menuTitle = this.$t('Addingsubfolders') this.menuTitle = this.$t('Addingsubfolders')
this.isEdit = false this.isEdit = false
this.form = {} this.form = {}
let supFolder = ''
this.supFolder = this.nodeItem.key
this.menuRightVisible = true this.menuRightVisible = true
}, },
//树形修改 //树形修改
orgEdit() { orgEdit() {
this.menuTitle = this.$t('edit') this.menuTitle = this.$t('Editfolder')
this.isEdit = true this.isEdit = true
this.form.id = this.nodeItem.id let supFolder = ''
this.form.pid = this.nodeItem.pid this.form.id = this.nodeItem.key
this.form.name = this.nodeItem.name this.form.authManageIds = this.nodeItem.authManageIds
this.form.itemName = this.nodeItem.itemName this.form.authViewIds = this.nodeItem.authViewIds
this.form.displaySeq = this.nodeItem.displaySeq this.form.authManage = this.nodeItem.authManage
this.form.authView = this.nodeItem.authView
this.form.folderName = this.nodeItem.folderName
this.form.orderId = this.nodeItem.orderId
this.menuRightVisible = true this.menuRightVisible = true
}, },
//树形删除 //树形删除
@@ -600,13 +592,12 @@ export default {
content: this.$t('deleteNodes'), content: this.$t('deleteNodes'),
onOk: onOk:
async () => { async () => {
getAction(`split/sarFileSplitMenu/deleteMenu`, { id: this.nodeItem.id }).then(res => { deleteAction(`extRepo/extRepoFolder/delete`, { id: this.nodeItem.key }).then(res => {
if (res.success) { if (res.success) {
this.$message.success(this.$t('OperationSuccessful')) this.$message.success(this.$t('OperationSuccessful'))
this.loadMenuData() this.loadMenuData()
let queryParam = { let queryParam = {
menu_id: this.menuId, supFolder: this.menuId
info_id: this.infoId
} }
// eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam))) // eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
@@ -631,62 +622,56 @@ export default {
handleCancelMenuRight() { handleCancelMenuRight() {
this.menuRightVisible = false this.menuRightVisible = false
}, },
//增加条款确定 //增加文件夹确定
hideModalMenuRight() { hideModalMenuRight() {
let expandId = []
expandId.push(this.form.pid)
if (!this.isEdit) { if (!this.isEdit) {
let params = { let params = {
infoId: this.infoId, supFolder: this.supFolder,
pid: this.nodeItem.id, ...this.form
...this.form
}
this.$refs.ruleForm.validate(valid => {
if (valid) {
// console.log('parms',this.params)
if (!this.flag) {
this.flag = true
postAction(`split/sarFileSplitMenu/addMenu`, params).then(res => {
if (res.success) {
this.menuRightVisible = false
this.$message.success(this.$t('OperationSuccessful'))
// this.onExpand(expandId)
this.form = {}
this.expandedKeys.push(this.nodeItem.id)
// console.log('expandedKeys1111',this.expandedKeys)
this.loadMenuData()
let queryParam = {
menu_id: this.menuId,
info_id: this.infoId
}
// eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
this.searchQuery(JSON.parse(JSON.stringify(queryParam)))
// eventBUs.$emit('searchReset')
} else {
this.$message.warning(this.$t('operationFailed'))
}
}).finally(() => {
this.flag = false
this.menuRightVisible = false
})
}
} }
}) this.$refs.ruleForm.validate(valid => {
if (valid) {
// console.log('parms',this.params)
if (!this.flag) {
this.flag = true
postAction(`extRepo/extRepoFolder/add`, params).then(res => {
if (res.success) {
this.menuRightVisible = false
this.$message.success(this.$t('OperationSuccessful'))
// this.onExpand(expandId)
this.form = {}
this.expandedKeys.push(this.nodeItem.id)
// console.log('expandedKeys1111',this.expandedKeys)
this.loadMenuData()
let queryParam = {
supFolder: this.menuId
}
// eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
this.searchQuery(JSON.parse(JSON.stringify(queryParam)))
// eventBUs.$emit('searchReset')
} else {
this.$message.warning(this.$t('operationFailed'))
}
}).finally(() => {
this.flag = false
this.menuRightVisible = false
})
}
}
})
} else { } else {
let params = { let params = {
info_id: this.infoId,
...this.form ...this.form
} }
if (!this.flag) { if (!this.flag) {
this.flag = true this.flag = true
// console.log('parms',params) // console.log('parms',params)
putAction(`split/sarFileSplitMenu/updateMenu`, params).then(res => { putAction(`extRepo/extRepoFolder/edit`, params).then(res => {
if (res.success) { if (res.success) {
this.$message.success(this.$t('OperationSuccessful')) this.$message.success(this.$t('OperationSuccessful'))
this.onExpand(expandId)
this.form = {} this.form = {}
this.loadMenuData() this.loadMenuData()
} else { } else {
@@ -705,20 +690,23 @@ export default {
}, },
addModelList() { addModelList() {
this.pageNo = 1 this.pageNo = 1
this.loadData() let queryParam = {
supFolder: this.menuId
}
this.loadData(JSON.parse(JSON.stringify(queryParam)))
}, },
//获取列表数据 //获取列表数据
loadData(item) { loadData(item) {
let params = { let params = {
...this.queryParams, ...this.queryParams,
...item, ...item,
info_id: this.infoId
} }
this.loading = true this.loading = true
postAction(this.url.list, params).then(res => { getAction(this.url.list, params).then(res => {
if (res.success) { if (res.success) {
this.dataSource = res.result.records || [] this.dataSource = res.result.pageList.records || []
this.total = res.result.total this.total = res.result.pageList.total
this.loading = false this.loading = false
} }
}) })
@@ -765,8 +753,7 @@ export default {
// console.log('data111',data) // console.log('data111',data)
if (status === 'success') { if (status === 'success') {
let queryParam = { let queryParam = {
menu_id: this.menuId, supFolder: this.menuId
info_id: this.infoId
} }
this.loadMenuData() this.loadMenuData()
@@ -837,16 +824,21 @@ export default {
}, },
//删除 //删除
batchDel(val) { batchDel(val) {
console.log(this.menuId)
let _this = this let _this = this
this.$confirm({ this.$confirm({
content: _this.$t('ConfirmDelete'), content: _this.$t('ConfirmDelete'),
onOk() { onOk() {
getAction(_this.url.deleteBatch, { id: val.id }).then((res) => { let queryParam = {
supFolder: _this.menuId
}
deleteAction('com.jero.modules.extRepo/extRepoData/delete', { id: val.id }).then((res) => {
if (res.success) { if (res.success) {
_this.$message.success(_this.$t('OperationSuccessful')) _this.$message.success(_this.$t('OperationSuccessful'))
_this.getList()
_this.loadData(JSON.parse(JSON.stringify(queryParam)))
} else { } else {
_this.$message.warning(_this.$t('operationFailed')) _this.$message.warning(res.message)
} }
}) })
} }
@@ -860,11 +852,16 @@ export default {
content: _this.$t('ConfirmBatchDeletion'), content: _this.$t('ConfirmBatchDeletion'),
onOk() { onOk() {
let idList = JSON.parse(JSON.stringify(_this.selectedRowKeys)) let idList = JSON.parse(JSON.stringify(_this.selectedRowKeys))
getAction(_this.url.deleteBatch, { ids: idList.join(',') }).then((res) => { let queryParam = {
supFolder: _this.menuId
}
deleteAction('com.jero.modules.extRepo/extRepoData/deleteBatch', { ids: idList.join(',') }).then((res) => {
if (res.success) { if (res.success) {
_this.$message.success(_this.$t('OperationSuccessful')) _this.$message.success(_this.$t('OperationSuccessful'))
_this.selectedRowKeys = [] _this.selectedRowKeys = []
_this.getList()
_this.loadData(JSON.parse(JSON.stringify(queryParam)))
} else { } else {
_this.$message.warning(res.message) _this.$message.warning(res.message)
} }
@@ -879,72 +876,6 @@ export default {
sumber() { sumber() {
this.loadMenuData() this.loadMenuData()
}, },
//删除
deleteClick(val) {
let params = {
ids: val.id
}
this.$confirm({
title: this.$t('areYouSure'),
content: '',
onOk:
async () => {
axios({
url: '/jero-boot/split/sarFileSplitItems/batchDeleteItems',
method: 'post',
data: params,
transformRequest: [function(data) {
// Do whatever you want to transform the data
let ret = ''
for (let it in data) {
ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
}
return ret
}],
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'X-Access-Token': this.token
}
})
.then((res) => {
if (res.data.success) {
this.$message.success(this.$t('OperationSuccessful'))
this.loadMenuData()
let queryParam = {
menu_id: this.menuId,
info_id: this.infoId
}
// eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
this.searchQuery(JSON.parse(JSON.stringify(queryParam)))
// eventBUs.$emit('searchReset')
} else {
this.$message.warning(this.$t('operationFailed'))
}
})
.catch((error) => {
console.log(error)
})
// postAction(`split/sarFileSplitItems/batchDeleteItems`,params).then(res=> {
// if(res.success){
// this.$message.success(this.$t('OperationSuccessful'))
// // if(this.selecIds.length==this.tableData.length&&this.queryParams.pageNo!=1){
// // this.queryParams.pageNo=this.queryParams.pageNo-1
// // }
// // this.loadData()
// this.loadMenuData()
// eventBUs.$emit('searchReset')
// }else{
// this.$message.warning(this.$t('operationFailed'))
// }
// })
},
onCancel() {
}
})
},
//选择框 //选择框
onSelectChange(selectedRowKeys, rows) { onSelectChange(selectedRowKeys, rows) {
this.selectedRowKeys = selectedRowKeys this.selectedRowKeys = selectedRowKeys
@@ -966,7 +897,7 @@ export default {
// 上传文件 // 上传文件
handleuploadFile(e) { handleuploadFile(e) {
if (this.menuId) { if (this.menuId) {
this.$refs.addModelRef.addModel() this.$refs.addModelRef.addModel(this.menuId)
} else { } else {
this.$message.warning(this.$t('selectDirectorylocation')) this.$message.warning(this.$t('selectDirectorylocation'))
} }
@@ -33,9 +33,9 @@
</div> </div>
</a-col> </a-col>
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<div class="box-title-text"> <div class="box-title-text tree-select">
<div class="title-text" :title="$t('technicalField')"> <div class="title-text" :title="$t('technicalField')">
<span>{{ $t('technicalField') }}</span> <span>{{$t('technicalField')}}</span>
</div> </div>
<a-tree-select <a-tree-select
tree-node-filter-prop="title" tree-node-filter-prop="title"
@@ -48,10 +48,6 @@
tree-checkable tree-checkable
:placeholder="$t('PleaseSelect')+$t('technicalField')" :placeholder="$t('PleaseSelect')+$t('technicalField')"
/> />
<!-- <j-dict-select-tag class="box-input" v-model="queryParam.technologyTerritory"-->
<!-- :placeholder="$t('PleaseSelect')+$t('technicalField')"-->
<!-- :type="'select'"-->
<!-- :triggerChange="false" :dictCode="'duty_territory'"/>-->
</div> </div>
</a-col> </a-col>
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons"> <span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">