Merge branch 'feature_dev_20230105_ZDYBT'
# Conflicts: # jero-boot/db/蔚来标准sql/dev_2nd_period.sql # jero-web/src/common/lang/en-us.js # jero-web/src/common/lang/zh-cn.js # jero-web/src/views/projectManagement/components/customizeList.vue # jero-web/src/views/projectManagement/components/listOfRegulations.vue
This commit is contained in:
@@ -160,6 +160,23 @@ ALTER TABLE `laws_weilai`.`params_report_detail`
|
||||
-- 更新拆分详情列 展示顺序不在列表头展示sql 2022-12-30 已同步生产环境
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `is_show_list` = 0 WHERE `id` = '1529373706885799937'
|
||||
|
||||
-- 自定义表头 2023-01-05 未同步生产环境
|
||||
CREATE TABLE `laws_weilai`.`head_custom` (
|
||||
`id` varchar(36) NOT NULL COMMENT 'id',
|
||||
`create_by` varchar(255) NULL COMMENT '创建人',
|
||||
`create_time` datetime(0) NULL COMMENT '创建时间',
|
||||
`update_by` varchar(255) NULL COMMENT '修改人',
|
||||
`update_time` datetime(0) NULL COMMENT '修改时间',
|
||||
`sys_org_code` varchar(255) NULL COMMENT '部门',
|
||||
`head_field_cn` varchar(255) NULL COMMENT '表头字段中文',
|
||||
`head_field_en` varchar(255) NULL COMMENT '表头字段英文',
|
||||
`parent_id` varchar(36) NULL COMMENT '父id',
|
||||
`module_flag` varchar(255) NULL COMMENT '模块标识',
|
||||
`sort` varchar(255) NULL COMMENT '排序',
|
||||
`field` varchar(255) NULL COMMENT '对应列表接口字段名',
|
||||
`affirm_flag` varchar(36) NULL COMMENT '确认标识',
|
||||
PRIMARY KEY (`id`));
|
||||
|
||||
-- 项目库置顶 2023-1-12 已同步生产环境
|
||||
CREATE TABLE `top_project` (
|
||||
`id` varchar(36) NOT NULL,
|
||||
|
||||
+184
@@ -0,0 +1,184 @@
|
||||
package com.jero.modules.head.controller;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.modules.head.entity.HeadCustomEO;
|
||||
import com.jero.modules.head.service.IHeadCustomEOService;
|
||||
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.head.vo.HeadCustomVO;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
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 io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 自定义表头
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-01-05
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="自定义表头")
|
||||
@RestController
|
||||
@RequestMapping("/head/headCustomEO")
|
||||
@Slf4j
|
||||
public class HeadCustomEOController extends JeroController<HeadCustomEO, IHeadCustomEOService> {
|
||||
@Autowired
|
||||
private IHeadCustomEOService headCustomEOService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @param headCustomEO
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "自定义表头-分页列表查询")
|
||||
@ApiOperation(value="自定义表头-分页列表查询", notes="自定义表头-分页列表查询")
|
||||
@GetMapping(value = "/page")
|
||||
public Result<?> queryPageList(HeadCustomEO headCustomEO,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<HeadCustomEO> queryWrapper = QueryGenerator.initQueryWrapper(headCustomEO, req.getParameterMap());
|
||||
Page<HeadCustomEO> page = new Page<HeadCustomEO>(pageNo, pageSize);
|
||||
IPage<HeadCustomEO> pageList = headCustomEOService.page(page, queryWrapper);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
* @param cut
|
||||
* @param moduleFlag 模块标识
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "自定义表头-列表查询")
|
||||
@ApiOperation(value="自定义表头-列表查询", notes="自定义表头-列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<List<HeadCustomVO>> queryList(String cut,String moduleFlag) {
|
||||
List<HeadCustomVO> list = headCustomEOService.queryList(cut,moduleFlag);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*
|
||||
* @param jsonObject
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "自定义表头-添加")
|
||||
@ApiOperation(value="自定义表头-添加", notes="自定义表头-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<?> add(@RequestBody JSONObject jsonObject) {
|
||||
JSONArray headCustomEOArr = jsonObject.getJSONArray("headCustomEOList");
|
||||
List<HeadCustomEO> headCustomEOList = new ArrayList<>();
|
||||
HeadCustomEO headCustomEO = null;
|
||||
for (Object headCustom : headCustomEOArr) {
|
||||
headCustomEO = JSONObject.parseObject(JSONObject.toJSONString(headCustom),HeadCustomEO.class);
|
||||
headCustomEOList.add(headCustomEO);
|
||||
}
|
||||
|
||||
headCustomEOService.add(headCustomEOList);
|
||||
return Result.OK("添加成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param headCustomEO
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "自定义表头-编辑")
|
||||
@ApiOperation(value="自定义表头-编辑", notes="自定义表头-编辑")
|
||||
@PutMapping(value = "/edit")
|
||||
public Result<?> edit(@Validated @RequestBody HeadCustomEO headCustomEO) {
|
||||
headCustomEOService.editById(headCustomEO);
|
||||
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) {
|
||||
headCustomEOService.deleteById(id);
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "自定义表头-批量删除")
|
||||
@ApiOperation(value="自定义表头-批量删除", notes="自定义表头-批量删除")
|
||||
@DeleteMapping(value = "/deleteBatch")
|
||||
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
|
||||
this.headCustomEOService.deleteByIds(Arrays.asList(ids.split(",")));
|
||||
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) {
|
||||
HeadCustomEO headCustomEO = headCustomEOService.queryById(id);
|
||||
if(headCustomEO==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(headCustomEO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*
|
||||
* @param request
|
||||
* @param headCustomEO
|
||||
*/
|
||||
@RequestMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, HeadCustomEO headCustomEO) {
|
||||
return super.exportXls(request, headCustomEO, HeadCustomEO.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, HeadCustomEO.class);
|
||||
}
|
||||
|
||||
}
|
||||
+111
@@ -0,0 +1,111 @@
|
||||
package com.jero.modules.head.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jero.modules.project.entity.ProjectLibraryBase;
|
||||
import lombok.Data;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 自定义表头
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-01-05
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("head_custom")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="head_custom对象", description="自定义表头")
|
||||
public class HeadCustomEO implements Comparable<HeadCustomEO> {
|
||||
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 headFieldCn;
|
||||
|
||||
/**表头字段英文*/
|
||||
@Excel(name = "表头字段英文", width = 15)
|
||||
@ApiModelProperty(value = "表头字段英文")
|
||||
private java.lang.String headFieldEn;
|
||||
|
||||
/**对应列表接口字段名*/
|
||||
@Excel(name = "对应列表接口字段名", width = 15)
|
||||
@ApiModelProperty(value = "对应列表接口字段名")
|
||||
private java.lang.String field;
|
||||
|
||||
/**父id*/
|
||||
@Excel(name = "父id", width = 15)
|
||||
@ApiModelProperty(value = "父id")
|
||||
private java.lang.String parentId;
|
||||
|
||||
/**模块标识*/
|
||||
@Excel(name = "模块标识", width = 15)
|
||||
@ApiModelProperty(value = "模块标识")
|
||||
private java.lang.String moduleFlag;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "二级标题")
|
||||
private List<HeadCustomEO> children;
|
||||
|
||||
@ApiModelProperty(value = "标题顺序")
|
||||
private String sort;
|
||||
|
||||
/**确认标识*/
|
||||
@Excel(name = "确认标识", width = 15)
|
||||
@ApiModelProperty(value = "确认标识")
|
||||
private java.lang.String affirmFlag;
|
||||
|
||||
@Override
|
||||
public int compareTo(HeadCustomEO o) {
|
||||
return Integer.valueOf(this.getSort())-Integer.valueOf(o.getSort());//升序
|
||||
// return o.id-this.id;//降序
|
||||
}
|
||||
|
||||
}
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
package com.jero.modules.head.enums;
|
||||
|
||||
/**
|
||||
* @description
|
||||
* @date 2022/1/21 15:22
|
||||
* @auth zhn
|
||||
*/
|
||||
public enum AffirmFlagEnum {
|
||||
DESIGN_FLAG("设计符合性确认","Design Compliance Check","1"),
|
||||
AFFIRM_FLAG("Pre-Homo确认","Pre-Homo Confirmation","2"),
|
||||
VERIFY_FLAG("验证符合性确认","Validation Compliance Check","3");
|
||||
|
||||
|
||||
|
||||
String name;
|
||||
String nameEn;
|
||||
String value;
|
||||
|
||||
private AffirmFlagEnum(String name,String nameEn, String value) {
|
||||
this.name = name;
|
||||
this.nameEn = nameEn;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
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 getNameEn() {
|
||||
return nameEn;
|
||||
}
|
||||
|
||||
public void setNameEn(String nameEn) {
|
||||
this.nameEn = nameEn;
|
||||
}
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
package com.jero.modules.head.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.jero.modules.head.entity.HeadCustomEO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @Description: 自定义表头
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-01-05
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface HeadCustomEOMapper extends BaseMapper<HeadCustomEO> {
|
||||
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
<?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.head.mapper.HeadCustomEOMapper">
|
||||
<resultMap id="HeadCustomEOResultMap" type="com.jero.modules.head.entity.HeadCustomEO">
|
||||
<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="head_field_cn" property="headFieldCn" />
|
||||
<result column="head_field_en" property="headFieldEn" />
|
||||
<result column="parent_id" property="parentId" />
|
||||
<result column="module_flag" property="moduleFlag" />
|
||||
<result column="sort" property="sort" />
|
||||
<result column="field" property="field" />
|
||||
</resultMap>
|
||||
</mapper>
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
package com.jero.modules.head.service;
|
||||
|
||||
import com.jero.modules.head.entity.HeadCustomEO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.head.vo.HeadCustomVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 自定义表头
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-01-05
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface IHeadCustomEOService extends IService<HeadCustomEO> {
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param headCustomEOList
|
||||
* @return
|
||||
*/
|
||||
void add(List<HeadCustomEO> headCustomEOList);
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param headCustomEO
|
||||
* @return
|
||||
*/
|
||||
void editById(HeadCustomEO headCustomEO);
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
void deleteById(String id);
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
void deleteByIds(List<String> ids);
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
HeadCustomEO queryById(String id);
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
List<HeadCustomVO> queryList(String cut, String moduleFlag);
|
||||
}
|
||||
+274
@@ -0,0 +1,274 @@
|
||||
package com.jero.modules.head.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.head.entity.HeadCustomEO;
|
||||
import com.jero.modules.head.enums.AffirmFlagEnum;
|
||||
import com.jero.modules.head.mapper.HeadCustomEOMapper;
|
||||
import com.jero.modules.head.service.IHeadCustomEOService;
|
||||
import com.jero.modules.head.vo.HeadCustomVO;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Date;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
/**
|
||||
* @Description: 自定义表头
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-01-05
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
public class HeadCustomEOServiceImpl extends ServiceImpl<HeadCustomEOMapper, HeadCustomEO> implements IHeadCustomEOService {
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param headCustomEOList
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void add(List<HeadCustomEO> headCustomEOList) {
|
||||
if(ObjectUtils.isNotEmpty(headCustomEOList)){
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
//先删除再新增
|
||||
LambdaQueryWrapper<HeadCustomEO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(HeadCustomEO::getCreateBy,loginUser.getUsername()).in(HeadCustomEO::getModuleFlag,headCustomEOList.get(0).getModuleFlag());
|
||||
this.remove(wrapper);
|
||||
|
||||
//一级标题
|
||||
List<HeadCustomEO> oneList = headCustomEOList.stream().filter(e -> StringUtils.isBlank(e.getAffirmFlag())).collect(Collectors.toList());
|
||||
Collections.sort(oneList);
|
||||
//二级标题
|
||||
List<HeadCustomEO> twoList = headCustomEOList.stream().filter(e -> StringUtils.isNotBlank(e.getAffirmFlag())).collect(Collectors.toList());
|
||||
|
||||
//设计
|
||||
List<HeadCustomEO> design = twoList.stream().filter(e -> AffirmFlagEnum.DESIGN_FLAG.getValue().equals(e.getAffirmFlag())).collect(Collectors.toList());
|
||||
Collections.sort(design);
|
||||
//pre
|
||||
List<HeadCustomEO> affirm = twoList.stream().filter(e -> AffirmFlagEnum.AFFIRM_FLAG.getValue().equals(e.getAffirmFlag())).collect(Collectors.toList());
|
||||
Collections.sort(affirm);
|
||||
//验证
|
||||
List<HeadCustomEO> verify = twoList.stream().filter(e -> AffirmFlagEnum.VERIFY_FLAG.getValue().equals(e.getAffirmFlag())).collect(Collectors.toList());
|
||||
Collections.sort(verify);
|
||||
|
||||
if(ObjectUtils.isNotEmpty(design)){
|
||||
HeadCustomEO headCustomEO = new HeadCustomEO();
|
||||
headCustomEO.setHeadFieldCn(AffirmFlagEnum.DESIGN_FLAG.getName());
|
||||
headCustomEO.setHeadFieldEn(AffirmFlagEnum.DESIGN_FLAG.getNameEn());
|
||||
headCustomEO.setModuleFlag(design.get(0).getModuleFlag());
|
||||
headCustomEO.setSort(design.get(0).getSort());
|
||||
headCustomEO.setChildren(design);
|
||||
oneList.add(headCustomEO);
|
||||
}
|
||||
if(ObjectUtils.isNotEmpty(affirm)){
|
||||
HeadCustomEO headCustomEO = new HeadCustomEO();
|
||||
headCustomEO.setHeadFieldCn(AffirmFlagEnum.AFFIRM_FLAG.getName());
|
||||
headCustomEO.setHeadFieldEn(AffirmFlagEnum.AFFIRM_FLAG.getNameEn());
|
||||
headCustomEO.setModuleFlag(affirm.get(0).getModuleFlag());
|
||||
headCustomEO.setSort(affirm.get(0).getSort());
|
||||
headCustomEO.setChildren(affirm);
|
||||
oneList.add(headCustomEO);
|
||||
}
|
||||
if(ObjectUtils.isNotEmpty(verify)){
|
||||
HeadCustomEO headCustomEO = new HeadCustomEO();
|
||||
headCustomEO.setHeadFieldCn(AffirmFlagEnum.VERIFY_FLAG.getName());
|
||||
headCustomEO.setHeadFieldEn(AffirmFlagEnum.VERIFY_FLAG.getNameEn());
|
||||
headCustomEO.setModuleFlag(verify.get(0).getModuleFlag());
|
||||
headCustomEO.setSort(verify.get(0).getSort());
|
||||
headCustomEO.setChildren(verify);
|
||||
oneList.add(headCustomEO);
|
||||
}
|
||||
|
||||
List<HeadCustomEO> headCustomEOS = new ArrayList<>();
|
||||
for (HeadCustomEO headCustomEO : oneList) {
|
||||
//一级标题
|
||||
String id = UUID.randomUUID().toString().replace("-", "");
|
||||
HeadCustomEO headCustomEOTemp = getHeadCustomEO(loginUser, headCustomEO, id);
|
||||
headCustomEOS.add(headCustomEOTemp);
|
||||
//二级标题
|
||||
if(ObjectUtils.isNotEmpty(headCustomEO.getChildren())){
|
||||
for (HeadCustomEO child : headCustomEO.getChildren()) {
|
||||
String idTemp = UUID.randomUUID().toString().replace("-", "");
|
||||
HeadCustomEO customEO = getHeadCustomEO(loginUser, child, idTemp);
|
||||
customEO.setParentId(id);
|
||||
headCustomEOS.add(customEO);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(ObjectUtils.isNotEmpty(headCustomEOS)){
|
||||
this.saveBatch(headCustomEOS);
|
||||
}
|
||||
}
|
||||
}
|
||||
// @Override
|
||||
// public void add(List<HeadCustomEO> headCustomEOList) {
|
||||
// if(ObjectUtils.isNotEmpty(headCustomEOList)){
|
||||
// LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
// //先删除再新增
|
||||
// LambdaQueryWrapper<HeadCustomEO> wrapper = new LambdaQueryWrapper<>();
|
||||
// wrapper.in(HeadCustomEO::getCreateBy,loginUser.getUsername()).in(HeadCustomEO::getModuleFlag,headCustomEOList.get(0).getModuleFlag());
|
||||
// this.remove(wrapper);
|
||||
//
|
||||
// List<HeadCustomEO> headCustomEOS = new ArrayList<>();
|
||||
// for (HeadCustomEO headCustomEO : headCustomEOList) {
|
||||
// //一级标题
|
||||
// String id = UUID.randomUUID().toString().replace("-", "");
|
||||
// HeadCustomEO headCustomEOTemp = getHeadCustomEO(loginUser, headCustomEO, id);
|
||||
// headCustomEOS.add(headCustomEOTemp);
|
||||
// //二级标题
|
||||
// if(ObjectUtils.isNotEmpty(headCustomEO.getChildren())){
|
||||
// for (HeadCustomEO child : headCustomEO.getChildren()) {
|
||||
// String idTemp = UUID.randomUUID().toString().replace("-", "");
|
||||
// HeadCustomEO customEO = getHeadCustomEO(loginUser, child, idTemp);
|
||||
// customEO.setParentId(id);
|
||||
// headCustomEOS.add(customEO);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// if(ObjectUtils.isNotEmpty(headCustomEOS)){
|
||||
// this.saveBatch(headCustomEOS);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
@NotNull
|
||||
private HeadCustomEO getHeadCustomEO(LoginUser loginUser, HeadCustomEO headCustomEO, String id) {
|
||||
HeadCustomEO headCustomEOTemp = new HeadCustomEO();
|
||||
headCustomEOTemp.setId(id);
|
||||
headCustomEOTemp.setHeadFieldCn(headCustomEO.getHeadFieldCn());
|
||||
headCustomEOTemp.setHeadFieldEn(headCustomEO.getHeadFieldEn());
|
||||
headCustomEOTemp.setModuleFlag(headCustomEO.getModuleFlag());
|
||||
headCustomEOTemp.setAffirmFlag(headCustomEO.getAffirmFlag());
|
||||
headCustomEOTemp.setField(headCustomEO.getField());
|
||||
headCustomEOTemp.setSort(headCustomEO.getSort());
|
||||
headCustomEOTemp.setCreateBy(loginUser.getUsername());
|
||||
headCustomEOTemp.setCreateTime(new Date());
|
||||
headCustomEOTemp.setUpdateTime(new Date());
|
||||
return headCustomEOTemp;
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param headCustomEO
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void editById(HeadCustomEO headCustomEO) {
|
||||
Date now = new Date();
|
||||
headCustomEO.setUpdateTime(now);
|
||||
saveOrUpdate(headCustomEO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过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 HeadCustomEO queryById(String id) {
|
||||
return getById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<HeadCustomVO> queryList(String cut,String moduleFlag) {
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
LambdaQueryWrapper<HeadCustomEO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(HeadCustomEO::getCreateBy,loginUser.getUsername()).in(HeadCustomEO::getModuleFlag,moduleFlag);
|
||||
List<HeadCustomEO> list = this.list(wrapper);
|
||||
List<HeadCustomVO> headCustomVOOneList = new LinkedList<>();
|
||||
if(ObjectUtils.isNotEmpty(list)){
|
||||
//列表表头一级
|
||||
List<HeadCustomEO> oneList = list.stream()
|
||||
.filter(e -> StringUtils.isBlank(e.getAffirmFlag())).collect(Collectors.toList());
|
||||
//列表表头二级
|
||||
List<HeadCustomEO> twoList = list.stream()
|
||||
.filter(e -> StringUtils.isNotBlank(e.getAffirmFlag())).collect(Collectors.toList());
|
||||
Collections.sort(oneList);
|
||||
for (HeadCustomEO headCustomEO : oneList) {
|
||||
HeadCustomVO headCustomVO = new HeadCustomVO();
|
||||
if(ObjectUtils.isNotEmpty(twoList)){
|
||||
List<HeadCustomEO> two = twoList.stream()
|
||||
.filter(e -> headCustomEO.getId().equals(e.getParentId())).collect(Collectors.toList());
|
||||
Collections.sort(two);
|
||||
List<HeadCustomVO> headCustomVOTwoList = new LinkedList<>();
|
||||
for (HeadCustomEO customEO : two) {
|
||||
HeadCustomVO headCustomVOTemp = new HeadCustomVO();
|
||||
getHeadCustomVO(cut, customEO, headCustomVOTemp);
|
||||
headCustomVOTwoList.add(headCustomVOTemp);
|
||||
}
|
||||
if(ObjectUtils.isNotEmpty(headCustomVOTwoList)){
|
||||
headCustomVO.setChildren(headCustomVOTwoList);
|
||||
}
|
||||
}
|
||||
getHeadCustomVO(cut, headCustomEO,headCustomVO);
|
||||
headCustomVOOneList.add(headCustomVO);
|
||||
}
|
||||
}
|
||||
return headCustomVOOneList;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private HeadCustomVO getHeadCustomVO(String cut, HeadCustomEO headCustomEO,HeadCustomVO headCustomVO) {
|
||||
headCustomVO.setDataIndex(headCustomEO.getField());
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
headCustomVO.setTitle(headCustomEO.getHeadFieldCn());
|
||||
}else{
|
||||
headCustomVO.setTitle(headCustomEO.getHeadFieldEn());
|
||||
}
|
||||
//每个功能模块列表表头固定的列可能不相同,所以需要单独处理(后期变更的时候继续维护此处即可)
|
||||
if("法规清单".equals(headCustomEO.getModuleFlag())){
|
||||
if("编号".equals(headCustomEO.getHeadFieldCn())){
|
||||
headCustomVO.setFixed("left");
|
||||
}
|
||||
if("标题".equals(headCustomEO.getHeadFieldCn())){
|
||||
headCustomVO.setFixed("left");
|
||||
}
|
||||
if("操作".equals(headCustomEO.getHeadFieldCn())){
|
||||
headCustomVO.setFixed("right");
|
||||
}
|
||||
}
|
||||
return headCustomVO;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.jero.modules.head.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description
|
||||
* @date 2023/1/6 9:48
|
||||
* @auth zhn
|
||||
*/
|
||||
@Data
|
||||
public class HeadCustomVO {
|
||||
private String title;//表头字段
|
||||
|
||||
private String dataIndex;//对应列表字段
|
||||
|
||||
private String fixed;//字段位置标识
|
||||
|
||||
private List<HeadCustomVO> children;//二级表头
|
||||
|
||||
}
|
||||
@@ -1378,4 +1378,5 @@ module.exports = {
|
||||
columnforced:'Confirm a forced retraction?',
|
||||
customize:'Customize the header',
|
||||
customColumn:'Custom column',
|
||||
|
||||
}
|
||||
@@ -1476,7 +1476,7 @@ module.exports = {
|
||||
columnforced:'确认强制撤回?',
|
||||
brand:'品牌',
|
||||
allsubitemsitem:'该项目下拥有子项目,是否全部删除',
|
||||
contactTheFounder:'联系作者',
|
||||
contactTheFounder:'联系创建人',
|
||||
customize:'自定义表头',
|
||||
customColumn:'自定义列',
|
||||
}
|
||||
@@ -94,7 +94,7 @@ const ResizeHeaderOne = function(val, name) {
|
||||
// 处理多级表头
|
||||
col = getRenderCoL(key, val)
|
||||
let content = [].concat(children)
|
||||
if (col) {
|
||||
if (col ) {
|
||||
const handlerVNode = h(DragHandler, {
|
||||
props: {
|
||||
width: col.width,
|
||||
@@ -106,10 +106,15 @@ const ResizeHeaderOne = function(val, name) {
|
||||
handlerVNode
|
||||
)
|
||||
}
|
||||
console.log(restProps)
|
||||
let className = ''
|
||||
if ((restProps.attrs && restProps.attrs.colSpan && restProps.attrs.colSpan == 1) || (restProps.attrs && restProps.attrs.colSpan && restProps.attrs.colSpan > 0)){
|
||||
className = ' second'
|
||||
}
|
||||
return h('th', {
|
||||
key,
|
||||
props: { col },
|
||||
...Object.assign({}, restProps, { class: (restProps.class || '') + ' nio-header-th' })
|
||||
...Object.assign({}, restProps, { class: (restProps.class || '') + ' nio-header-th' + className})
|
||||
}, content)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,26 +11,26 @@
|
||||
<div style="margin-bottom: 60px">
|
||||
<a-table
|
||||
:columns="columns"
|
||||
rowKey="id"
|
||||
:rowKey="record=> record.key"
|
||||
:scroll="{x: 800}"
|
||||
:data-source="dataList"
|
||||
:pagination="false"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,columnTitle:' ',getCheckboxProps: getCheckboxProps }"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,columnTitle:'',getCheckboxProps: getCheckboxProps }"
|
||||
:loading="loading">
|
||||
|
||||
</a-table>
|
||||
<!-- <div class="page" v-if="dataList.length > 0">-->
|
||||
<!-- <a-pagination-->
|
||||
<!-- :show-total="total => $t('total')+` ${total} `+$t('strip')"-->
|
||||
<!-- show-quick-jumper-->
|
||||
<!-- show-size-changer-->
|
||||
<!-- :page-size.sync="pageSize"-->
|
||||
<!-- :total="total"-->
|
||||
<!-- :current="pageNo"-->
|
||||
<!-- @change="onChange"-->
|
||||
<!-- @showSizeChange="SizeChange"-->
|
||||
<!-- />-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="page" v-if="dataList.length > 0">-->
|
||||
<!-- <a-pagination-->
|
||||
<!-- :show-total="total => $t('total')+` ${total} `+$t('strip')"-->
|
||||
<!-- show-quick-jumper-->
|
||||
<!-- show-size-changer-->
|
||||
<!-- :page-size.sync="pageSize"-->
|
||||
<!-- :total="total"-->
|
||||
<!-- :current="pageNo"-->
|
||||
<!-- @change="onChange"-->
|
||||
<!-- @showSizeChange="SizeChange"-->
|
||||
<!-- />-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
|
||||
<div class="drawer-bootom-button">
|
||||
@@ -41,235 +41,538 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
|
||||
export default {
|
||||
name: 'transferList',
|
||||
components: {},
|
||||
props: ['url'],
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
queryParam: {},
|
||||
confirmLoading: false,
|
||||
selectedRowKeys: [],
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('customColumn'),
|
||||
dataIndex: 'name',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
},
|
||||
],
|
||||
dataList: [
|
||||
{
|
||||
orderBy: '1',
|
||||
name: '1',
|
||||
id: '1',
|
||||
status:1,
|
||||
},
|
||||
{
|
||||
orderBy: '2',
|
||||
name: '2',
|
||||
id: '12',
|
||||
status:2,
|
||||
},
|
||||
{
|
||||
orderBy: '3',
|
||||
name: '3',
|
||||
id: '13',
|
||||
},
|
||||
{
|
||||
orderBy: '4',
|
||||
name: '4',
|
||||
id: '15',
|
||||
},
|
||||
{
|
||||
orderBy: '5',
|
||||
name: '4',
|
||||
id: '16',
|
||||
},
|
||||
{
|
||||
orderBy: '6',
|
||||
name: '4',
|
||||
id: '17',
|
||||
},
|
||||
{
|
||||
orderBy: '7',
|
||||
name: '4',
|
||||
id: '18',
|
||||
},
|
||||
{
|
||||
orderBy: '8',
|
||||
name: '4',
|
||||
id: '19',
|
||||
status:2,
|
||||
},
|
||||
],
|
||||
content: [],
|
||||
loading: false,
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
total: 0
|
||||
export default {
|
||||
name: 'transferList',
|
||||
components: {},
|
||||
props: ['url'],
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
queryParam: {},
|
||||
confirmLoading: false,
|
||||
selectedRowKeys: [],
|
||||
selectedRows: [],
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('customColumn'),
|
||||
dataIndex: 'name',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
},
|
||||
],
|
||||
dataList: [
|
||||
{
|
||||
sort: '1',
|
||||
name: this.$t('standard'),
|
||||
headFieldCn:'编号',
|
||||
headFieldEn:'Number',
|
||||
field: 'serialNumber',
|
||||
key: 1,
|
||||
moduleFlag:'法规清单',
|
||||
status:1,
|
||||
},
|
||||
{
|
||||
sort: '2',
|
||||
name: this.$t('title'),
|
||||
headFieldCn:'标题',
|
||||
headFieldEn:'title',
|
||||
field: 'title',
|
||||
key: 2,
|
||||
moduleFlag:'法规清单',
|
||||
status:2,
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('subtitle'),
|
||||
headFieldCn:'子标题',
|
||||
headFieldEn:'Sub-title',
|
||||
field: 'subtitle',
|
||||
key: 3,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('listConfirmationStatus'),
|
||||
headFieldCn:'清单确认状态',
|
||||
headFieldEn:'List Confirmation Status',
|
||||
field: 'inventoryAffirmStatusName',
|
||||
key: 4,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('taskAffirmStatus'),
|
||||
headFieldCn:'任务确认状态',
|
||||
headFieldEn:'Task Confirmation Status',
|
||||
field: 'taskAffirmStatusName',
|
||||
key: 5,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('zoneOfApplication'),
|
||||
headFieldCn:'适用地区',
|
||||
headFieldEn:'Area',
|
||||
field: 'region_dictText',
|
||||
key: 6,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('correspondingStandard'),
|
||||
headFieldCn:'对应标准',
|
||||
headFieldEn:'Compare EU/CN',
|
||||
field: 'correspondingStandard',
|
||||
key: 7,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('implementationCategory'),
|
||||
headFieldCn:'实施类别',
|
||||
headFieldEn:'Usage',
|
||||
field: 'implementType_dictText',
|
||||
key: 8,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('ImplementationDate'),
|
||||
headFieldCn:'标准实施日期',
|
||||
headFieldEn:'New Type Execution Date',
|
||||
field: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
|
||||
key: 9,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('vehicleInProductionDate'),
|
||||
headFieldCn:'在产车实施日期',
|
||||
headFieldEn:'New Vehicle Execution Date',
|
||||
field: 'implementTime',
|
||||
key: 10,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('certificationType'),
|
||||
headFieldCn:'认证类型',
|
||||
headFieldEn:'Certification Type',
|
||||
field: 'attestationType_dictText',
|
||||
key: 11,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('certificationLevel'),
|
||||
headFieldCn:'认证级别',
|
||||
headFieldEn:'Certification Level',
|
||||
field: 'attestationRank_dictText',
|
||||
key: 12,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('applicableSupplement'),
|
||||
headFieldCn:'适用增补件',
|
||||
headFieldEn:'Applicable Supplement',
|
||||
field: 'applicableSupplement',
|
||||
key: 13,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: 'WVTA ID',
|
||||
headFieldCn:'WVTA ID',
|
||||
headFieldEn:'WVTA ID',
|
||||
field: 'wvtaId',
|
||||
key: 14,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('areaOfResponsibility'),
|
||||
headFieldCn:'责任领域',
|
||||
headFieldEn:'Responsible Field',
|
||||
field: 'dutyTerritory_dictText',
|
||||
key: 15,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('regulatoryEngineer'),
|
||||
headFieldCn:'法规工程师',
|
||||
headFieldEn:'Regulation Engineer',
|
||||
field: 'regulationOwnerName',
|
||||
key: 16,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('certifiedEngineer'),
|
||||
headFieldCn:'认证工程师',
|
||||
headFieldEn:'Homo Engineer',
|
||||
field: 'homologationEngineerName',
|
||||
key: 17,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('engineeringInterfacePerson'),
|
||||
headFieldCn:'工程接口人',
|
||||
headFieldEn:'Eng. Interface',
|
||||
field: 'engineeringInterfacePersonName',
|
||||
key: 18,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('remarks'),
|
||||
headFieldCn:'备注',
|
||||
headFieldEn:'Comments',
|
||||
field: 'remark',
|
||||
key: 19,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('confirmationOfDesignConformity') + '/' + this.$t('Deliverables'),
|
||||
headFieldCn:'交付物',
|
||||
headFieldEn:'Deliverables',
|
||||
field: 'designDeliverableTemplateName',
|
||||
affirmFlag:'1',
|
||||
key: 20,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('confirmationOfDesignConformity') + '/' + this.$t('Sponsor'),
|
||||
headFieldCn:'发起人',
|
||||
headFieldEn:'Creator',
|
||||
field: 'designInitiatorName',
|
||||
affirmFlag:'1',
|
||||
key: 21,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('confirmationOfDesignConformity') + '/' + this.$t('personLiable'),
|
||||
headFieldCn:'责任人',
|
||||
headFieldEn:'Assignee',
|
||||
field: 'designDutyName',
|
||||
affirmFlag:'1',
|
||||
key: 22,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('confirmationOfDesignConformity') + '/' + this.$t('TaskCutOffTime'),
|
||||
headFieldCn:'截止时间',
|
||||
headFieldEn:'Due Date',
|
||||
field: 'designDueDate',
|
||||
affirmFlag:'1',
|
||||
key: 23,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('confirmationOfDesignConformity') + '/' + this.$t('descriptionDeliverables'),
|
||||
headFieldCn:'交付物说明',
|
||||
headFieldEn:'Instruction',
|
||||
field: 'designRemark',
|
||||
affirmFlag:'1',
|
||||
key: 24,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('PrehomoConfirmation') + '/' + this.$t('Deliverables'),
|
||||
headFieldCn:'交付物',
|
||||
headFieldEn:'Deliverables',
|
||||
field: 'prehomoDeliverableTemplateName',
|
||||
affirmFlag:'2',
|
||||
key: 25,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('PrehomoConfirmation') + '/' + this.$t('Sponsor'),
|
||||
headFieldCn:'发起人',
|
||||
headFieldEn:'Creator',
|
||||
field: 'prehomoInitiatorName',
|
||||
affirmFlag:'2',
|
||||
key:26,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('PrehomoConfirmation') + '/' + this.$t('personLiable'),
|
||||
headFieldCn:'责任人',
|
||||
headFieldEn:'Assignee',
|
||||
field: 'prehomoDutyName',
|
||||
affirmFlag:'2',
|
||||
key: 27,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('PrehomoConfirmation') + '/' + this.$t('TaskCutOffTime'),
|
||||
headFieldCn:'截止时间',
|
||||
headFieldEn:'Due Date',
|
||||
field: 'prehomoDueDate',
|
||||
affirmFlag:'2',
|
||||
key: 28,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('PrehomoConfirmation') + '/' + this.$t('descriptionDeliverables'),
|
||||
headFieldCn:'交付物说明',
|
||||
headFieldEn:'Instruction',
|
||||
field: 'prehomoRemark',
|
||||
affirmFlag:'2',
|
||||
key: 29,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('verificationAndConformityconfirmation') + '/' + this.$t('Deliverables'),
|
||||
headFieldCn:'交付物',
|
||||
headFieldEn:'Deliverables',
|
||||
field: 'verifyDeliverableTemplateName',
|
||||
affirmFlag:'3',
|
||||
key: 30,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('verificationAndConformityconfirmation') + '/' + this.$t('Sponsor'),
|
||||
headFieldCn:'发起人',
|
||||
headFieldEn:'Creator',
|
||||
field: 'verifyInitiatorName',
|
||||
affirmFlag:'3',
|
||||
key: 31,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('verificationAndConformityconfirmation') + '/' + this.$t('personLiable'),
|
||||
headFieldCn:'责任人',
|
||||
headFieldEn:'Assignee',
|
||||
field: 'verifyDutyName',
|
||||
affirmFlag:'3',
|
||||
key: 32,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('verificationAndConformityconfirmation') + '/' + this.$t('TaskCutOffTime'),
|
||||
headFieldCn:'截止时间',
|
||||
headFieldEn:'Due Date',
|
||||
field: 'verifyDueDate',
|
||||
affirmFlag:'3',
|
||||
key: 33,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('verificationAndConformityconfirmation') + '/' + this.$t('descriptionDeliverables'),
|
||||
headFieldCn:'交付物说明',
|
||||
headFieldEn:'Instruction',
|
||||
field: 'verifyRemark',
|
||||
affirmFlag:'3',
|
||||
key: 34,
|
||||
moduleFlag:'法规清单',
|
||||
},
|
||||
{
|
||||
sort: '',
|
||||
name: this.$t('operation'),
|
||||
headFieldCn:'操作',
|
||||
headFieldEn:'Operation',
|
||||
key: 35,
|
||||
moduleFlag:'法规清单',
|
||||
status:2,
|
||||
},
|
||||
],
|
||||
content: [],
|
||||
columnsAll:[],
|
||||
loading: false,
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
total: 0
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
transferModel(val) {
|
||||
this.visible = true
|
||||
this.queryParam = {}
|
||||
this.columnsAll = val
|
||||
// this.$nextTick(() => {
|
||||
// this.selectedRowKeys = []
|
||||
// this.selectedRows = []
|
||||
// })
|
||||
//
|
||||
// this.getCheckboxProps()
|
||||
},
|
||||
searchQuery() {
|
||||
this.pageNo = 1
|
||||
this.replacePage()
|
||||
},
|
||||
searchReset() {
|
||||
this.pageNo = 1
|
||||
this.queryParam = {}
|
||||
this.replacePage()
|
||||
},
|
||||
onChange(page, pageSize) {
|
||||
this.pageNo = page
|
||||
this.replacePage()
|
||||
},
|
||||
SizeChange(page, pageSize) {
|
||||
this.pageNo = 1
|
||||
this.pageSize = pageSize
|
||||
this.replacePage()
|
||||
},
|
||||
replacePage() {
|
||||
let query = {
|
||||
pageNo: this.pageNo,
|
||||
pageSize: this.pageSize,
|
||||
...this.queryParam
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
transferModel() {
|
||||
this.visible = true
|
||||
this.queryParam = {}
|
||||
this.selectedRowKeys = []
|
||||
// this.replacePage()
|
||||
},
|
||||
searchQuery() {
|
||||
this.pageNo = 1
|
||||
this.replacePage()
|
||||
},
|
||||
searchReset() {
|
||||
this.pageNo = 1
|
||||
this.queryParam = {}
|
||||
this.replacePage()
|
||||
},
|
||||
onChange(page, pageSize) {
|
||||
this.pageNo = page
|
||||
this.replacePage()
|
||||
},
|
||||
SizeChange(page, pageSize) {
|
||||
this.pageNo = 1
|
||||
this.pageSize = pageSize
|
||||
this.replacePage()
|
||||
},
|
||||
replacePage() {
|
||||
let query = {
|
||||
pageNo: this.pageNo,
|
||||
pageSize: this.pageSize,
|
||||
...this.queryParam
|
||||
}
|
||||
this.loading = true
|
||||
postAction(this.url.transferUrl, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.dataList = res.result.records || []
|
||||
this.total = res.result.total
|
||||
this.loading = false
|
||||
} else {
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
onSelectChange(value) {
|
||||
this.selectedRowKeys = value
|
||||
// if (this.selectedRowKeys.length > 1) {
|
||||
// this.selectedRowKeys.shift()
|
||||
// }
|
||||
},
|
||||
getCheckboxProps(record) {
|
||||
console.log(record.status, 'status');
|
||||
return ({
|
||||
props: {
|
||||
//当状态是1或者2的时候执行disable
|
||||
disabled: record.status === 1 || record.status === 2
|
||||
}
|
||||
})
|
||||
},
|
||||
handleCancel() {
|
||||
this.visible = false
|
||||
},
|
||||
handleSubmit(flag) {
|
||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||
this.confirmLoading = true
|
||||
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
|
||||
this.confirmLoading = false
|
||||
this.$emit('transferListForm',selectedRowKeys.join(','))
|
||||
this.selectedRowKeys = []
|
||||
// postAction(this.url.addModel, {
|
||||
// dummyInventoryBaseId: selectedRowKeys.join(','),
|
||||
// projectLibraryId: this.$route.query.id,
|
||||
// flag: flag
|
||||
// }).then((res) => {
|
||||
// if (res.success) {
|
||||
// this.confirmLoading = false
|
||||
// this.$message.success(this.$t('OperationSuccessful'))
|
||||
// this.visible = false
|
||||
// this.selectedRowKeys = []
|
||||
// this.$emit('transferListForm')
|
||||
// } else {
|
||||
// if (res.message == '该虚拟清单的维护清单中没有数据,是否需要添加') {
|
||||
// this.confirmLoading = false
|
||||
// this.getAdd()
|
||||
// return
|
||||
// }
|
||||
// this.$message.warning(this.$t('operationFailed'))
|
||||
// this.confirmLoading = false
|
||||
// }
|
||||
// })
|
||||
this.loading = true
|
||||
postAction(this.url.transferUrl, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.dataList = res.result.records || []
|
||||
this.total = res.result.total
|
||||
this.loading = false
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
getAdd() {
|
||||
let _this = this
|
||||
this.$confirm({
|
||||
content: _this.$t('TheDoesNotContainData'),
|
||||
onOk() {
|
||||
_this.handleSubmit('1')
|
||||
})
|
||||
},
|
||||
onSelectChange(value, rows) {
|
||||
this.selectedRowKeys = value
|
||||
this.selectedRows = rows
|
||||
// if (this.selectedRowKeys.length > 1) {
|
||||
// this.selectedRowKeys.shift()
|
||||
// }
|
||||
},
|
||||
getCheckboxProps(record) {
|
||||
let titleList = []
|
||||
this.columnsAll.forEach((item) => {
|
||||
if(item.children){
|
||||
item.children.forEach((val) => {
|
||||
titleList.push(item.dataIndex,val.dataIndex)
|
||||
})
|
||||
}else {
|
||||
titleList.push(item.dataIndex)
|
||||
}
|
||||
})
|
||||
console.log(titleList)
|
||||
return ({
|
||||
props: {
|
||||
//当状态是1或者2的时候执行disable
|
||||
disabled: record.status === 1 || record.status === 2,
|
||||
defaultChecked: titleList.includes(record.field)
|
||||
}
|
||||
})
|
||||
},
|
||||
handleCancel() {
|
||||
this.visible = false
|
||||
},
|
||||
handleSubmit(flag) {
|
||||
// if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||
this.confirmLoading = true
|
||||
// let selectedRows = JSON.parse(JSON.stringify(this.selectedRows))
|
||||
// this.confirmLoading = false
|
||||
// this.$emit('transferListForm',selectedRowKeys.join(','))
|
||||
// this.selectedRowKeys = []
|
||||
this.selectedRows.forEach((item,index) => {
|
||||
item.sort = index + 1
|
||||
})
|
||||
let headCustomEOList = JSON.parse(JSON.stringify(this.selectedRows))
|
||||
let query ={
|
||||
headCustomEOList :headCustomEOList
|
||||
}
|
||||
postAction('head/headCustomEO/add', query).then((res) => {
|
||||
if (res.success) {
|
||||
this.confirmLoading = false
|
||||
this.visible = false
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.$emit('customizeListForm')
|
||||
} else {
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
this.confirmLoading = false
|
||||
this.visible = false
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
getAdd() {
|
||||
let _this = this
|
||||
this.$confirm({
|
||||
content: _this.$t('TheDoesNotContainData'),
|
||||
onOk() {
|
||||
_this.handleSubmit('1')
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.page {
|
||||
text-align: right;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.page {
|
||||
text-align: right;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.drawer-bootom-button {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
z-index: 100;
|
||||
width: 100%;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
padding: 10px 16px;
|
||||
text-align: right;
|
||||
left: 0;
|
||||
background: #fff;
|
||||
border-radius: 0 0 2px 2px;
|
||||
}
|
||||
.drawer-bootom-button {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
z-index: 100;
|
||||
width: 100%;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
padding: 10px 16px;
|
||||
text-align: right;
|
||||
left: 0;
|
||||
background: #fff;
|
||||
border-radius: 0 0 2px 2px;
|
||||
}
|
||||
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.title-text {
|
||||
width: 20%;
|
||||
min-width: 110px;
|
||||
color: #000F16;
|
||||
display: inline-block;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
margin-right: 16px;
|
||||
margin-top: 3px;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.title-text {
|
||||
width: 20%;
|
||||
min-width: 110px;
|
||||
color: #000F16;
|
||||
display: inline-block;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
margin-right: 16px;
|
||||
margin-top: 3px;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.box-input {
|
||||
display: inline-block;
|
||||
width: 70%;
|
||||
height: 38px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
.box-input {
|
||||
display: inline-block;
|
||||
width: 70%;
|
||||
height: 38px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.box-button {
|
||||
height: 38px;
|
||||
}
|
||||
|
||||
.box-button {
|
||||
height: 38px;
|
||||
}
|
||||
</style>
|
||||
@@ -215,7 +215,7 @@
|
||||
<a-table
|
||||
ref="table"
|
||||
:components="drag(columns,'columnsAll')"
|
||||
class="tableList"
|
||||
class="customizetable"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 356px)'}"
|
||||
@@ -510,7 +510,7 @@
|
||||
listTitle: '',
|
||||
orderBy: '1',
|
||||
orderByField: '',
|
||||
columnsAll: [
|
||||
column: [
|
||||
{
|
||||
title: this.$t('standard'),
|
||||
align: 'left',
|
||||
@@ -798,6 +798,7 @@
|
||||
scopedSlots: { customRender: 'operationOne' }
|
||||
}
|
||||
],
|
||||
columnsAll:[],
|
||||
columnsFileAll: [
|
||||
{
|
||||
title: this.$t('deliverableTemplate'),
|
||||
@@ -1032,6 +1033,7 @@
|
||||
mounted() {
|
||||
// if (this.$route.query.studioEngineer == this.userInfo().id) {
|
||||
this.JLoading = true
|
||||
this.getHeader()
|
||||
// this.getAndUserId()
|
||||
this.getRoleByUserId(() => {
|
||||
this.getAndUserId()
|
||||
@@ -1523,6 +1525,9 @@
|
||||
this.selectedRowKeys = []
|
||||
this.getList()
|
||||
},
|
||||
customizeListForm(val){
|
||||
this.getHeader()
|
||||
},
|
||||
transferListForm(id){
|
||||
this.$refs.transferListvirtalRef.transferModel(id)
|
||||
},
|
||||
@@ -1554,6 +1559,58 @@
|
||||
}
|
||||
this.getList()
|
||||
},
|
||||
getHeader(){
|
||||
getAction('head/headCustomEO/list', {
|
||||
moduleFlag:'法规清单'
|
||||
}).then((res) => {
|
||||
if (res.success) {
|
||||
console.log(res.result)
|
||||
if(res.result.length != 0){
|
||||
this.columnsAll = res.result
|
||||
}else{
|
||||
this.columnsAll = this.column
|
||||
}
|
||||
this.columnsAll.forEach((item,index) => {
|
||||
if(item.title != '设计符合性确认' && item.title != 'Pre-Homo确认' && item.title != '验证符合性确认'){
|
||||
item.width = 180
|
||||
item.align = 'left'
|
||||
if(item.title == '操作'){
|
||||
item.scopedSlots = {
|
||||
customRender: 'operationOne'
|
||||
}
|
||||
}else if(item.title == '编号'){
|
||||
item.sorter = true
|
||||
item.scopedSlots = {
|
||||
customRender: 'standard'
|
||||
}
|
||||
}else if(item.title == '标题'){
|
||||
item.scopedSlots = {
|
||||
customRender: 'titleName'
|
||||
}
|
||||
}
|
||||
else if(item.title == '清单确认状态' || item.title == '任务确认状态' || item.title == '认证级别' || item.title == 'WVTA ID' ||
|
||||
item.title == '责任领域' || item.title == '法规工程师' || item.title == '认证工程师' || item.title == '工程接口人'){
|
||||
item.sorter = true
|
||||
}
|
||||
}else {
|
||||
delete item.dataIndex
|
||||
delete item.fixed
|
||||
item.children.forEach((val,index) => {
|
||||
val.width = 180
|
||||
val.align = 'left'
|
||||
val.ellipsis = true
|
||||
})
|
||||
}
|
||||
})
|
||||
console.log(this.columnsAll)
|
||||
this.loading = false
|
||||
this.JLoading = false
|
||||
} else {
|
||||
this.JLoading = false
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
getList() {
|
||||
let roleCode
|
||||
if (this.isDisplay) {
|
||||
@@ -2269,7 +2326,7 @@
|
||||
})
|
||||
},
|
||||
customizeClick(){
|
||||
this.$refs.customizeListRef.transferModel()
|
||||
this.$refs.customizeListRef.transferModel(this.columnsAll)
|
||||
},
|
||||
bringInRelevantPersonnelClick() {
|
||||
let _this = this
|
||||
@@ -2615,12 +2672,18 @@
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.tableList .ant-table-thead > tr > th {
|
||||
padding: 0px 16px !important;
|
||||
//.customizetable .ant-table-thead > tr > th {
|
||||
// height: 46px !important;
|
||||
//padding: 8px 8px !important;
|
||||
//font-weight: bold;
|
||||
//background: #f3f6f6;
|
||||
//}
|
||||
.ant-table-row-cell-ellipsis{
|
||||
padding: 0!important;
|
||||
}
|
||||
.second{
|
||||
padding: 0!important;
|
||||
}
|
||||
|
||||
//.tableList .ant-table-tbody > tr > td{
|
||||
// color: #040B29 ;
|
||||
//}
|
||||
|
||||
Reference in New Issue
Block a user