Merge remote-tracking branch 'origin/fix_2nd_20230103'
# Conflicts: # jero-web/src/views/projectManagement/components/listAddModel.vue
This commit is contained in:
@@ -159,3 +159,12 @@ ALTER TABLE `laws_weilai`.`params_report_detail`
|
|||||||
|
|
||||||
-- 更新拆分详情列 展示顺序不在列表头展示sql 2022-12-30 已同步生产环境
|
-- 更新拆分详情列 展示顺序不在列表头展示sql 2022-12-30 已同步生产环境
|
||||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `is_show_list` = 0 WHERE `id` = '1529373706885799937'
|
UPDATE `laws_weilai`.`onl_cgform_field` SET `is_show_list` = 0 WHERE `id` = '1529373706885799937'
|
||||||
|
|
||||||
|
-- 项目库置顶 2023-1-12 未同步生产环境
|
||||||
|
CREATE TABLE `laws_weilai`.`top_project` (
|
||||||
|
`id` varchar(36) NOT NULL COMMENT 'id',
|
||||||
|
`project_library_base_id` varchar(36) NULL COMMENT '项目id',
|
||||||
|
`flag` varchar(255) NULL COMMENT '置顶标识',
|
||||||
|
`sort` varchar(255) NULL COMMENT '置顶排序',
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
);
|
||||||
|
|||||||
+4
@@ -524,6 +524,10 @@ public class QueryGenerator {
|
|||||||
//update-end-author:taoyan date:20200909 for:【bug】in 类型多值查询 不适配postgresql #1671
|
//update-end-author:taoyan date:20200909 for:【bug】in 类型多值查询 不适配postgresql #1671
|
||||||
break;
|
break;
|
||||||
case LIKE:
|
case LIKE:
|
||||||
|
//由于适用地区数据字典的问题,所以对于适用地区条件查询单独进行处理(由于美国和澳大利亚都包含US,所以不能直接用like)
|
||||||
|
if("region".equals(name)){
|
||||||
|
name = " binary " + name;
|
||||||
|
}
|
||||||
queryWrapper.like(name, value);
|
queryWrapper.like(name, value);
|
||||||
break;
|
break;
|
||||||
case LEFT_LIKE:
|
case LEFT_LIKE:
|
||||||
|
|||||||
+1
-1
@@ -4153,7 +4153,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
StringBuilder condition = new StringBuilder();
|
StringBuilder condition = new StringBuilder();
|
||||||
for (String valueTemp : value.split(",")) {
|
for (String valueTemp : value.split(",")) {
|
||||||
valueSb.append("'" + valueTemp + "',");
|
valueSb.append("'" + valueTemp + "',");
|
||||||
condition.append(" or " + key + " like concat(concat('%','" + valueTemp + "'),'%')");
|
condition.append(" or " + key + " like binary concat(concat('%','" + valueTemp + "'),'%')");
|
||||||
}
|
}
|
||||||
condition.append(")");
|
condition.append(")");
|
||||||
String substring = valueSb.substring(0, valueSb.length() - 1);
|
String substring = valueSb.substring(0, valueSb.length() - 1);
|
||||||
|
|||||||
+1
-1
@@ -136,7 +136,7 @@
|
|||||||
<where>
|
<where>
|
||||||
parent_id = '' or parent_id is null
|
parent_id = '' or parent_id is null
|
||||||
</where>
|
</where>
|
||||||
order by plb.sort desc, plb.create_time desc
|
order by plb.create_time desc
|
||||||
</select>
|
</select>
|
||||||
<!-- <select id="queryPageList" resultType="com.jero.modules.project.entity.ProjectLibraryBase">-->
|
<!-- <select id="queryPageList" resultType="com.jero.modules.project.entity.ProjectLibraryBase">-->
|
||||||
|
|
||||||
|
|||||||
+84
-12
@@ -52,6 +52,8 @@ import com.jero.modules.system.service.ISysDictService;
|
|||||||
import com.jero.modules.system.service.ISysUserService;
|
import com.jero.modules.system.service.ISysUserService;
|
||||||
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
|
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
|
||||||
import com.jero.modules.system.util.StringUtils;
|
import com.jero.modules.system.util.StringUtils;
|
||||||
|
import com.jero.modules.top.entity.TopProjectEO;
|
||||||
|
import com.jero.modules.top.service.ITopProjectEOService;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.commons.lang3.ObjectUtils;
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
||||||
@@ -74,6 +76,7 @@ import java.text.ParseException;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.Comparator;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@@ -157,6 +160,9 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IProjectUserBrandService projectUserBrandService;
|
private IProjectUserBrandService projectUserBrandService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ITopProjectEOService iTopProjectEOService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存
|
* 保存
|
||||||
*
|
*
|
||||||
@@ -792,7 +798,31 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
|||||||
//目标市场
|
//目标市场
|
||||||
List<DictModel> targetMarketList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode());
|
List<DictModel> targetMarketList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode());
|
||||||
|
|
||||||
|
//置顶
|
||||||
|
List<String> idList = result.stream().map(ProjectLibraryBase::getId).collect(Collectors.toList());
|
||||||
|
List<TopProjectEO> topProjectEOList = new ArrayList<>();
|
||||||
|
if(ObjectUtils.isNotEmpty(idList)){
|
||||||
|
LambdaQueryWrapper<TopProjectEO> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.in(TopProjectEO::getCreateBy,loginUser.getUsername()).in(TopProjectEO::getProjectLibraryBaseId,idList).orderByDesc(TopProjectEO::getSort);
|
||||||
|
topProjectEOList = iTopProjectEOService.list(wrapper);
|
||||||
|
}
|
||||||
|
|
||||||
for(ProjectLibraryBase projectLibraryBase: result){
|
for(ProjectLibraryBase projectLibraryBase: result){
|
||||||
|
//置顶处理
|
||||||
|
if(ObjectUtils.isNotEmpty(topProjectEOList)){
|
||||||
|
List<TopProjectEO> collect = topProjectEOList.stream()
|
||||||
|
.filter(e -> projectLibraryBase.getId().equals(e.getProjectLibraryBaseId())
|
||||||
|
&& loginUser.getUsername().equals(e.getCreateBy()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
if(ObjectUtils.isNotEmpty(collect)){
|
||||||
|
projectLibraryBase.setFlag(collect.get(0).getFlag());
|
||||||
|
projectLibraryBase.setSort(collect.get(0).getSort());
|
||||||
|
}else{
|
||||||
|
projectLibraryBase.setSort("0");
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
projectLibraryBase.setSort("0");
|
||||||
|
}
|
||||||
//目标市场
|
//目标市场
|
||||||
String targetMarket = getMarket(params, targetMarketList, projectLibraryBase);
|
String targetMarket = getMarket(params, targetMarketList, projectLibraryBase);
|
||||||
//主项目的版本号
|
//主项目的版本号
|
||||||
@@ -809,6 +839,16 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
|||||||
+ "-" + projectVersion);
|
+ "-" + projectVersion);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(ObjectUtils.isEmpty(params.get("orderByField"))){
|
||||||
|
Collections.sort(result, new Comparator<ProjectLibraryBase>() {
|
||||||
|
@Override
|
||||||
|
public int compare(ProjectLibraryBase o1, ProjectLibraryBase o2) {
|
||||||
|
return -o1.getSort().compareTo(o2.getSort());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
//所有主项目
|
//所有主项目
|
||||||
List<ProjectLibraryBase> projectLibraryBaseListParent = projectLibraryBaseMapper.queryMaimList();
|
List<ProjectLibraryBase> projectLibraryBaseListParent = projectLibraryBaseMapper.queryMaimList();
|
||||||
disposeData(projectLibraryBaseListParent,"",false);
|
disposeData(projectLibraryBaseListParent,"",false);
|
||||||
@@ -1665,32 +1705,64 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void top(String id, String flag) {
|
public void top(String id, String flag) {
|
||||||
|
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
ProjectLibraryBase projectLibraryBase = this.getById(id);
|
ProjectLibraryBase projectLibraryBase = this.getById(id);
|
||||||
//置顶的时候将取消置顶标识传过来即:flag=1
|
//置顶的时候将取消置顶标识传过来即:flag=1
|
||||||
if(TopEnum.TOP_CANCEL.getValue().equals(flag)){
|
if(TopEnum.TOP_CANCEL.getValue().equals(flag)){
|
||||||
|
TopProjectEO topProjectEO = new TopProjectEO();
|
||||||
|
topProjectEO.setProjectLibraryBaseId(id);
|
||||||
|
topProjectEO.setFlag(TopEnum.TOP_CANCEL.getValue());
|
||||||
|
topProjectEO.setCreateBy(loginUser.getUsername());
|
||||||
|
|
||||||
//置顶
|
//置顶
|
||||||
LambdaQueryWrapper<ProjectLibraryBase> wrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<TopProjectEO> wrapper = new LambdaQueryWrapper<>();
|
||||||
wrapper.isNotNull(ProjectLibraryBase::getSort).orderByDesc(ProjectLibraryBase::getSort);
|
wrapper.in(TopProjectEO::getCreateBy,loginUser.getUsername()).orderByDesc(TopProjectEO::getSort);
|
||||||
List<ProjectLibraryBase> list = this.list(wrapper);
|
List<TopProjectEO> list = iTopProjectEOService.list(wrapper);
|
||||||
if(list.size() != 0){
|
if(list.size() != 0){
|
||||||
String sort = list.get(list.size() - 1).getSort();
|
String sort = list.get(0).getSort();
|
||||||
int sortTemp = Integer.valueOf(sort) + 1;
|
int sortTemp = Integer.valueOf(sort) + 1;
|
||||||
projectLibraryBase.setSort(String.valueOf(sortTemp));
|
topProjectEO.setSort(String.valueOf(sortTemp));
|
||||||
}else{
|
}else{
|
||||||
//首个置顶的项目排序为1
|
//首个置顶的项目排序为1
|
||||||
projectLibraryBase.setSort("1");
|
topProjectEO.setSort("1");
|
||||||
}
|
}
|
||||||
projectLibraryBase.setFlag(TopEnum.TOP_CANCEL.getValue());
|
iTopProjectEOService.save(topProjectEO);
|
||||||
this.updateById(projectLibraryBase);
|
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
//取消置顶
|
//取消置顶
|
||||||
LambdaUpdateWrapper<ProjectLibraryBase> updateWrapper = new LambdaUpdateWrapper<>();
|
LambdaUpdateWrapper<TopProjectEO> wrapper = new LambdaUpdateWrapper<>();
|
||||||
updateWrapper.in(ProjectLibraryBase::getId,id);
|
wrapper.in(TopProjectEO::getCreateBy,loginUser.getUsername()).in(TopProjectEO::getProjectLibraryBaseId,id);
|
||||||
updateWrapper.set(ProjectLibraryBase::getSort,null).set(ProjectLibraryBase::getFlag,null);
|
iTopProjectEOService.remove(wrapper);
|
||||||
this.update(projectLibraryBase,updateWrapper);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// @Override
|
||||||
|
// public void top(String id, String flag) {
|
||||||
|
// ProjectLibraryBase projectLibraryBase = this.getById(id);
|
||||||
|
// //置顶的时候将取消置顶标识传过来即:flag=1
|
||||||
|
// if(TopEnum.TOP_CANCEL.getValue().equals(flag)){
|
||||||
|
// //置顶
|
||||||
|
// LambdaQueryWrapper<ProjectLibraryBase> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
// wrapper.isNotNull(ProjectLibraryBase::getSort).orderByDesc(ProjectLibraryBase::getSort);
|
||||||
|
// List<ProjectLibraryBase> list = this.list(wrapper);
|
||||||
|
// if(list.size() != 0){
|
||||||
|
// String sort = list.get(list.size() - 1).getSort();
|
||||||
|
// int sortTemp = Integer.valueOf(sort) + 1;
|
||||||
|
// projectLibraryBase.setSort(String.valueOf(sortTemp));
|
||||||
|
// }else{
|
||||||
|
// //首个置顶的项目排序为1
|
||||||
|
// projectLibraryBase.setSort("1");
|
||||||
|
// }
|
||||||
|
// projectLibraryBase.setFlag(TopEnum.TOP_CANCEL.getValue());
|
||||||
|
// this.updateById(projectLibraryBase);
|
||||||
|
//
|
||||||
|
// }else{
|
||||||
|
// //取消置顶
|
||||||
|
// LambdaUpdateWrapper<ProjectLibraryBase> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
// updateWrapper.in(ProjectLibraryBase::getId,id);
|
||||||
|
// updateWrapper.set(ProjectLibraryBase::getSort,null).set(ProjectLibraryBase::getFlag,null);
|
||||||
|
// this.update(projectLibraryBase,updateWrapper);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> getVersionsInfo(String id) {
|
public List<String> getVersionsInfo(String id) {
|
||||||
|
|||||||
+79
@@ -0,0 +1,79 @@
|
|||||||
|
package com.jero.modules.top.entity;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
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-12
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("top_project")
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@ApiModel(value="top_project对象", description="项目库置顶关联表")
|
||||||
|
public class TopProjectEO 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;
|
||||||
|
|
||||||
|
/**项目id*/
|
||||||
|
@Excel(name = "项目id", width = 15)
|
||||||
|
@ApiModelProperty(value = "项目id")
|
||||||
|
private java.lang.String projectLibraryBaseId;
|
||||||
|
|
||||||
|
/**置顶标识*/
|
||||||
|
@Excel(name = "置顶标识", width = 15)
|
||||||
|
@ApiModelProperty(value = "置顶标识")
|
||||||
|
private java.lang.String flag;
|
||||||
|
|
||||||
|
/**置顶排序*/
|
||||||
|
@Excel(name = "置顶排序", width = 15)
|
||||||
|
@ApiModelProperty(value = "置顶排序")
|
||||||
|
private java.lang.String sort;
|
||||||
|
|
||||||
|
}
|
||||||
+17
@@ -0,0 +1,17 @@
|
|||||||
|
package com.jero.modules.top.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import com.jero.modules.top.entity.TopProjectEO;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 项目库置顶关联表
|
||||||
|
* @Author: jero-boot
|
||||||
|
* @Date: 2023-01-12
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface TopProjectEOMapper extends BaseMapper<TopProjectEO> {
|
||||||
|
|
||||||
|
}
|
||||||
+15
@@ -0,0 +1,15 @@
|
|||||||
|
<?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.top.mapper.TopProjectEOMapper">
|
||||||
|
<resultMap id="TopProjectEOResultMap" type="com.jero.modules.top.entity.TopProjectEO">
|
||||||
|
<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="project_library_base_id" property="projectLibraryBaseId" />
|
||||||
|
<result column="flag" property="flag" />
|
||||||
|
<result column="sort" property="sort" />
|
||||||
|
</resultMap>
|
||||||
|
</mapper>
|
||||||
+61
@@ -0,0 +1,61 @@
|
|||||||
|
package com.jero.modules.top.service;
|
||||||
|
|
||||||
|
import com.jero.modules.top.entity.TopProjectEO;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 项目库置顶关联表
|
||||||
|
* @Author: jero-boot
|
||||||
|
* @Date: 2023-01-12
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface ITopProjectEOService extends IService<TopProjectEO> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存
|
||||||
|
*
|
||||||
|
* @param topProjectEO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
void add(TopProjectEO topProjectEO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新
|
||||||
|
*
|
||||||
|
* @param topProjectEO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
void editById(TopProjectEO topProjectEO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过id删除
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
void deleteById(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除
|
||||||
|
*
|
||||||
|
* @param ids
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
void deleteByIds(List<String> ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过id查询
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
TopProjectEO queryById(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 列表查询
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<TopProjectEO> queryList();
|
||||||
|
}
|
||||||
+89
@@ -0,0 +1,89 @@
|
|||||||
|
package com.jero.modules.top.service.impl;
|
||||||
|
|
||||||
|
import com.jero.modules.top.entity.TopProjectEO;
|
||||||
|
import com.jero.modules.top.mapper.TopProjectEOMapper;
|
||||||
|
import com.jero.modules.top.service.ITopProjectEOService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Date;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 项目库置顶关联表
|
||||||
|
* @Author: jero-boot
|
||||||
|
* @Date: 2023-01-12
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class TopProjectEOServiceImpl extends ServiceImpl<TopProjectEOMapper, TopProjectEO> implements ITopProjectEOService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存
|
||||||
|
*
|
||||||
|
* @param topProjectEO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void add(TopProjectEO topProjectEO) {
|
||||||
|
Date now = new Date();
|
||||||
|
topProjectEO.setCreateTime(now);
|
||||||
|
topProjectEO.setUpdateTime(now);
|
||||||
|
save(topProjectEO);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新
|
||||||
|
*
|
||||||
|
* @param topProjectEO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void editById(TopProjectEO topProjectEO) {
|
||||||
|
Date now = new Date();
|
||||||
|
topProjectEO.setUpdateTime(now);
|
||||||
|
saveOrUpdate(topProjectEO);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过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 TopProjectEO queryById(String id) {
|
||||||
|
return getById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 列表查询
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<TopProjectEO> queryList() {
|
||||||
|
return list();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1369,7 +1369,7 @@ module.exports = {
|
|||||||
CuiBan:'CuiBan',
|
CuiBan:'CuiBan',
|
||||||
brand:'Brand',
|
brand:'Brand',
|
||||||
allsubitemsitem:'Whether to delete all subitems under this item',
|
allsubitemsitem:'Whether to delete all subitems under this item',
|
||||||
contactTheFounder:'Contact the founder',
|
contactTheFounder:'Contact author',
|
||||||
certificationCategoryNumber: 'certification Category Number',
|
certificationCategoryNumber: 'certification Category Number',
|
||||||
historicalrecord:'historical Record',
|
historicalrecord:'historical Record',
|
||||||
Referenceparametercolumn:'Reference Parameter Column',
|
Referenceparametercolumn:'Reference Parameter Column',
|
||||||
|
|||||||
@@ -1476,7 +1476,7 @@ module.exports = {
|
|||||||
columnforced:'确认强制撤回?',
|
columnforced:'确认强制撤回?',
|
||||||
brand:'品牌',
|
brand:'品牌',
|
||||||
allsubitemsitem:'该项目下拥有子项目,是否全部删除',
|
allsubitemsitem:'该项目下拥有子项目,是否全部删除',
|
||||||
contactTheFounder:'联系创建人',
|
contactTheFounder:'联系作者',
|
||||||
customize:'自定义表头',
|
customize:'自定义表头',
|
||||||
customColumn:'自定义列',
|
customColumn:'自定义列',
|
||||||
}
|
}
|
||||||
@@ -95,16 +95,26 @@
|
|||||||
<a-col :md="4" :xs="24" style="margin-bottom: 12px;">
|
<a-col :md="4" :xs="24" style="margin-bottom: 12px;">
|
||||||
<a-select :placeholder="$t('matchRules')" :value="item.rule"
|
<a-select :placeholder="$t('matchRules')" :value="item.rule"
|
||||||
:getPopupContainer="node=>node.parentNode" @change="handleRuleChange(item,$event)">
|
:getPopupContainer="node=>node.parentNode" @change="handleRuleChange(item,$event)">
|
||||||
|
<!-- 等于-->
|
||||||
<a-select-option value="eq">{{$t('beEqualTo')}}</a-select-option>
|
<a-select-option value="eq">{{$t('beEqualTo')}}</a-select-option>
|
||||||
<a-select-option value="like">{{$t('contain')}}</a-select-option>
|
<!-- 包含-->
|
||||||
<a-select-option value="right_like">{{$t('withStart')}}</a-select-option>
|
<a-select-option v-if="item.type != 'date'" value="like">{{$t('contain')}}</a-select-option>
|
||||||
<a-select-option value="left_like">{{$t('withEnd')}}</a-select-option>
|
<!-- 以..开始-->
|
||||||
<a-select-option value="in">{{$t('in')}}</a-select-option>
|
<a-select-option v-if="item.type == 'string'" value="right_like">{{$t('withStart')}}</a-select-option>
|
||||||
|
<!-- 以..结尾-->
|
||||||
|
<a-select-option v-if="item.type == 'string'" value="left_like">{{$t('withEnd')}}</a-select-option>
|
||||||
|
<!-- 在...中-->
|
||||||
|
<a-select-option v-if="item.type == 'string'" value="in">{{$t('in')}}</a-select-option>
|
||||||
|
<!-- 不等于-->
|
||||||
<a-select-option value="ne">{{$t('notEqual')}}</a-select-option>
|
<a-select-option value="ne">{{$t('notEqual')}}</a-select-option>
|
||||||
<a-select-option value="gt">{{$t('granter')}}</a-select-option>
|
<!-- 大于-->
|
||||||
<a-select-option value="ge">{{$t('greaterOrEqual')}}</a-select-option>
|
<a-select-option v-if="item.type == 'date'" value="gt">{{$t('granter')}}</a-select-option>
|
||||||
<a-select-option value="lt">{{$t('less')}}</a-select-option>
|
<!-- 大于等于-->
|
||||||
<a-select-option value="le">{{$t('lessOrEqual')}}</a-select-option>
|
<a-select-option v-if="item.type == 'date'" value="ge">{{$t('greaterOrEqual')}}</a-select-option>
|
||||||
|
<!-- 小于-->
|
||||||
|
<a-select-option v-if="item.type == 'date'" value="lt">{{$t('less')}}</a-select-option>
|
||||||
|
<!-- 小于等于-->
|
||||||
|
<a-select-option v-if="item.type == 'date'" value="le">{{$t('lessOrEqual')}}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
|
||||||
|
|||||||
@@ -885,7 +885,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .ant-table-body {
|
::v-deep .ant-table-body {
|
||||||
background: transparent !important;
|
//background: transparent !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.textfield {
|
.textfield {
|
||||||
|
|||||||
@@ -31,7 +31,10 @@
|
|||||||
</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">
|
||||||
<a-col :md="12" :sm="24">
|
<a-col :md="6" :sm="24">
|
||||||
|
<globalAdvancedQuery ref="globalAdvancedQueryRef"
|
||||||
|
@handleSuperQuery="handleSuperQuery"
|
||||||
|
:fieldList="fieldList"/>
|
||||||
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
|
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
|
||||||
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
|
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -42,7 +45,7 @@
|
|||||||
<a-table
|
<a-table
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
:scroll="{x: 800}"
|
:scroll="{x: 800,y:600}"
|
||||||
:data-source="dataList"
|
:data-source="dataList"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,columnTitle:' ' }"
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,columnTitle:' ' }"
|
||||||
@@ -72,13 +75,17 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getAction, postAction } from '@/api/manage'
|
import { getAction, postAction } from '@/api/manage'
|
||||||
|
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'transferList',
|
name: 'transferList',
|
||||||
components: {},
|
components: {
|
||||||
|
globalAdvancedQuery
|
||||||
|
},
|
||||||
props: ['url'],
|
props: ['url'],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
toggleSearchStatus: false,
|
||||||
visible: false,
|
visible: false,
|
||||||
queryParam: {},
|
queryParam: {},
|
||||||
confirmLoading: false,
|
confirmLoading: false,
|
||||||
@@ -86,29 +93,161 @@ export default {
|
|||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
title: this.$t('standard'),
|
title: this.$t('standard'),
|
||||||
align: 'center',
|
align: 'left',
|
||||||
dataIndex: 'serialNumber',
|
dataIndex: 'serialNumber',
|
||||||
|
width: 100,
|
||||||
|
fixed: 'left',
|
||||||
scopedSlots: { customRender: 'standard' }
|
scopedSlots: { customRender: 'standard' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('title'),
|
title: this.$t('title'),
|
||||||
align: 'center',
|
align: 'left',
|
||||||
dataIndex: 'title',
|
dataIndex: 'title',
|
||||||
|
width: 100,
|
||||||
|
fixed: 'left',
|
||||||
scopedSlots: { customRender: 'titleName' }
|
scopedSlots: { customRender: 'titleName' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('subtitle'),
|
title: this.$t('subtitle'),
|
||||||
align: 'center',
|
align: 'left',
|
||||||
dataIndex: 'subtitle',
|
dataIndex: 'subtitle',
|
||||||
|
ellipsis: true,
|
||||||
|
width: 150
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('zoneOfApplication'),
|
||||||
|
align: 'left',
|
||||||
|
dataIndex: 'region_dictText',
|
||||||
|
width: 150,
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('correspondingStandard'),
|
||||||
|
align: 'left',
|
||||||
|
dataIndex: 'correspondingStandard',
|
||||||
|
width: 150,
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('implementationCategory'),
|
||||||
|
align: 'left',
|
||||||
|
dataIndex: 'implementType_dictText',
|
||||||
|
width: 150,
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('ImplementationDate'),
|
||||||
|
align: 'left',
|
||||||
|
width: 200,
|
||||||
|
dataIndex: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('vehicleInProductionDate'),
|
||||||
|
align: 'left',
|
||||||
|
width: 220,
|
||||||
|
dataIndex: 'implementTime',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('certificationType'),
|
||||||
|
align: 'left',
|
||||||
|
dataIndex: 'attestationType_dictText',
|
||||||
|
width: 180,
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('certificationLevel'),
|
||||||
|
align: 'left',
|
||||||
|
dataIndex: 'attestationRank_dictText',
|
||||||
|
width: 180,
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('applicableSupplement'),
|
||||||
|
align: 'left',
|
||||||
|
width: 220,
|
||||||
|
dataIndex: 'applicableSupplement',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'WVTA ID',
|
||||||
|
align: 'left',
|
||||||
|
dataIndex: 'wvtaId',
|
||||||
|
width: 180,
|
||||||
ellipsis: true
|
ellipsis: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('areaOfResponsibility'),
|
title: this.$t('areaOfResponsibility'),
|
||||||
align: 'center',
|
align: 'left',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
dataIndex: 'dutyTerritory_dictText'
|
dataIndex: 'dutyTerritory_dictText',
|
||||||
|
width: 180
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
fieldList: [
|
||||||
|
{
|
||||||
|
type: 'string',
|
||||||
|
value: 'subtitle',
|
||||||
|
text: this.$t('subtitle')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: '',
|
||||||
|
value: 'region',
|
||||||
|
text: this.$t('zoneOfApplication'),
|
||||||
|
dictCode: 'region'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'string',
|
||||||
|
value: 'correspondingStandard',
|
||||||
|
text: this.$t('correspondingStandard')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: '',
|
||||||
|
value: 'implementType',
|
||||||
|
text: this.$t('implementationCategory'),
|
||||||
|
dictCode: 'implement_type'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'date',
|
||||||
|
value: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
|
||||||
|
text: this.$t('ImplementationDate')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'date',
|
||||||
|
value: 'implementTime',
|
||||||
|
text: this.$t('vehicleInProductionDate')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: '',
|
||||||
|
value: 'attestationType',
|
||||||
|
text: this.$t('certificationType'),
|
||||||
|
dictCode: 'attestation_type'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: '',
|
||||||
|
value: 'attestationRank',
|
||||||
|
text: this.$t('certificationLevel'),
|
||||||
|
dictCode: 'attestation_rank'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'string',
|
||||||
|
value: 'applicableSupplement',
|
||||||
|
text: this.$t('applicableSupplement')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'string',
|
||||||
|
value: 'wvtaId',
|
||||||
|
text: 'WVTA ID'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: '',
|
||||||
|
value: 'dutyTerritory',
|
||||||
|
text: this.$t('areaOfResponsibility'),
|
||||||
|
dictCode: 'duty_territory'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
dataList: [],
|
dataList: [],
|
||||||
content: [],
|
content: [],
|
||||||
loading: false,
|
loading: false,
|
||||||
@@ -122,6 +261,9 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
handleToggleSearch() {
|
||||||
|
this.toggleSearchStatus = !this.toggleSearchStatus
|
||||||
|
},
|
||||||
transferModel(id) {
|
transferModel(id) {
|
||||||
this.visible = true
|
this.visible = true
|
||||||
this.dummyInventoryBaseId = id
|
this.dummyInventoryBaseId = id
|
||||||
@@ -137,6 +279,9 @@ export default {
|
|||||||
this.pageNo = 1
|
this.pageNo = 1
|
||||||
this.queryParam = {}
|
this.queryParam = {}
|
||||||
this.replacePage()
|
this.replacePage()
|
||||||
|
this.$refs.globalAdvancedQueryRef.resetLine()
|
||||||
|
this.$refs.globalAdvancedQueryRef.emitCallback()
|
||||||
|
|
||||||
},
|
},
|
||||||
onChange(page, pageSize) {
|
onChange(page, pageSize) {
|
||||||
this.pageNo = page
|
this.pageNo = page
|
||||||
@@ -147,10 +292,24 @@ export default {
|
|||||||
this.pageSize = pageSize
|
this.pageSize = pageSize
|
||||||
this.replacePage()
|
this.replacePage()
|
||||||
},
|
},
|
||||||
|
handleSuperQuery(params, matchType) {
|
||||||
|
let sqp = {}
|
||||||
|
if (!params || (params && params.length == 0)) {
|
||||||
|
sqp['superQueryParams'] = ''
|
||||||
|
this.$refs.globalAdvancedQueryRef.superQueryFlag = false
|
||||||
|
} else {
|
||||||
|
this.$refs.globalAdvancedQueryRef.superQueryFlag = true
|
||||||
|
sqp['superQueryParams'] = encodeURI(JSON.stringify(params))
|
||||||
|
sqp['superQueryMatchType'] = matchType
|
||||||
|
}
|
||||||
|
this.queryParamQuery = sqp
|
||||||
|
this.replacePage()
|
||||||
|
},
|
||||||
replacePage() {
|
replacePage() {
|
||||||
let query = {
|
let query = {
|
||||||
// pageNo: this.pageNo,
|
// pageNo: this.pageNo,
|
||||||
// pageSize: this.pageSize,
|
// pageSize: this.pageSize,
|
||||||
|
...this.queryParamQuery,
|
||||||
...this.queryParam,
|
...this.queryParam,
|
||||||
dummyInventoryBaseId: this.dummyInventoryBaseId
|
dummyInventoryBaseId: this.dummyInventoryBaseId
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1130,9 +1130,9 @@
|
|||||||
overflow: visible;
|
overflow: visible;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .ant-table-body {
|
//::v-deep .ant-table-body {
|
||||||
padding-bottom: 7px;
|
// padding-bottom: 7px;
|
||||||
}
|
//}
|
||||||
|
|
||||||
::v-deep .ant-table-body-inner {
|
::v-deep .ant-table-body-inner {
|
||||||
padding-bottom: 16px;
|
padding-bottom: 16px;
|
||||||
|
|||||||
@@ -748,7 +748,7 @@
|
|||||||
|
|
||||||
.box-input {
|
.box-input {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: calc(100% - 64px);
|
width: calc(100% - 126px);
|
||||||
height: 38px;
|
height: 38px;
|
||||||
margin-top: 2px;
|
margin-top: 2px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
<span class="title-text-text"
|
<span class="title-text-text"
|
||||||
:title="$t('remarks')">{{$t('remarks')}}</span>
|
:title="$t('remarks')">{{$t('remarks')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel" :prop="!disabled?'certificationProgressRemark':''">
|
<a-form-model-item class="itemModel remarkbox" :prop="!disabled?'certificationProgressRemark':''">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
:placeholder="$t('PleaseEnter')+$t('remarks')"
|
:placeholder="$t('PleaseEnter')+$t('remarks')"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
@@ -159,7 +159,7 @@ export default {
|
|||||||
.box-input {
|
.box-input {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
height: 38px;
|
height: 38px;
|
||||||
width: 100%;
|
width: 128%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.itemModel {
|
.itemModel {
|
||||||
@@ -171,7 +171,9 @@ export default {
|
|||||||
.title-text-text {
|
.title-text-text {
|
||||||
margin-top: 9px;
|
margin-top: 9px;
|
||||||
}
|
}
|
||||||
|
/deep/ .remarkbox .ant-form-item-control{
|
||||||
|
width: 128%;
|
||||||
|
}
|
||||||
.headerText {
|
.headerText {
|
||||||
margin-left: 30px;
|
margin-left: 30px;
|
||||||
color: #040B29;
|
color: #040B29;
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
<div class="table-page-search-wrapper">
|
<div class="table-page-search-wrapper">
|
||||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :md="12" :sm="8">
|
<a-col :md="12" :sm="5">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text" :title="$t('standard')">
|
<div class="title-text" :title="$t('standard')">
|
||||||
<span>{{$t('standard')}}</span>
|
<span>{{$t('standard')}}</span>
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
<template v-if="toggleSearchStatus">
|
<template v-if="toggleSearchStatus">
|
||||||
<a-col :md="12" :sm="8">
|
<a-col :md="12" :sm="5">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text" :title="$t('title')">
|
<div class="title-text" :title="$t('title')">
|
||||||
<span>{{$t('title')}}</span>
|
<span>{{$t('title')}}</span>
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
v-model="queryParam.title"></a-input>
|
v-model="queryParam.title"></a-input>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :md="12" :sm="8">
|
<a-col :md="12" :sm="5">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text" :title="$t('status')">
|
<div class="title-text" :title="$t('status')">
|
||||||
<span>{{$t('status')}}</span>
|
<span>{{$t('status')}}</span>
|
||||||
@@ -312,6 +312,7 @@
|
|||||||
|
|
||||||
.title-text {
|
.title-text {
|
||||||
width: 110px;
|
width: 110px;
|
||||||
|
min-width: 110px;
|
||||||
color: #000F16;
|
color: #000F16;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
@@ -326,8 +327,9 @@
|
|||||||
|
|
||||||
.box-input {
|
.box-input {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 100%;
|
width: 70%;
|
||||||
height: 38px;
|
height: 38px;
|
||||||
|
margin-top: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-button {
|
.box-button {
|
||||||
|
|||||||
@@ -2426,7 +2426,7 @@
|
|||||||
|
|
||||||
.box-input {
|
.box-input {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 70%;
|
width: calc(100% - 126px);
|
||||||
height: 38px;
|
height: 38px;
|
||||||
margin-top: 2px;
|
margin-top: 2px;
|
||||||
}
|
}
|
||||||
@@ -2550,9 +2550,9 @@
|
|||||||
/*::v-deep .ant-table-fixed-right .ant-table-body-inner {*/
|
/*::v-deep .ant-table-fixed-right .ant-table-body-inner {*/
|
||||||
/* overflow-y: scroll;*/
|
/* overflow-y: scroll;*/
|
||||||
/*}*/
|
/*}*/
|
||||||
::v-deep .ant-table-body {
|
//::v-deep .ant-table-body {
|
||||||
padding-bottom: 7px;
|
// padding-bottom: 7px;
|
||||||
}
|
//}
|
||||||
|
|
||||||
::v-deep .ant-table-body-inner {
|
::v-deep .ant-table-body-inner {
|
||||||
padding-bottom: 16px;
|
padding-bottom: 16px;
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
</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">
|
||||||
<div class="title-text" style="width: 64px" :title="$t('areaOfResponsibility')">
|
<div class="title-text" :title="$t('areaOfResponsibility')">
|
||||||
<span>{{$t('areaOfResponsibility')}}</span>
|
<span>{{$t('areaOfResponsibility')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<j-dict-select-tag class="box-input" v-model="queryParam.dutyTerritory"
|
<j-dict-select-tag class="box-input" v-model="queryParam.dutyTerritory"
|
||||||
@@ -331,7 +331,7 @@
|
|||||||
|
|
||||||
.box-input {
|
.box-input {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 70%;
|
width: calc(100% - 126px);
|
||||||
height: 38px;
|
height: 38px;
|
||||||
margin-top: 2px;
|
margin-top: 2px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,6 +32,9 @@
|
|||||||
</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">
|
||||||
<a-col :md="12" :sm="24">
|
<a-col :md="12" :sm="24">
|
||||||
|
<globalAdvancedQuery ref="globalAdvancedQueryRef"
|
||||||
|
@handleSuperQuery="handleSuperQuery"
|
||||||
|
:fieldList="fieldList"/>
|
||||||
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
|
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
|
||||||
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
|
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -42,10 +45,10 @@
|
|||||||
<a-table
|
<a-table
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
:scroll="{x: 800}"
|
:scroll="{x: 800,y:600}"
|
||||||
:data-source="dataList"
|
:data-source="dataList"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,columnTitle:' ' }"
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,columnTitle:'' }"
|
||||||
:loading="loading">
|
:loading="loading">
|
||||||
|
|
||||||
</a-table>
|
</a-table>
|
||||||
@@ -72,10 +75,13 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getAction, postAction } from '@/api/manage'
|
import { getAction, postAction } from '@/api/manage'
|
||||||
|
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'transferList',
|
name: 'transferList',
|
||||||
components: {},
|
components: {
|
||||||
|
globalAdvancedQuery
|
||||||
|
},
|
||||||
props: ['url'],
|
props: ['url'],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -86,29 +92,161 @@ export default {
|
|||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
title: this.$t('standard'),
|
title: this.$t('standard'),
|
||||||
align: 'center',
|
align: 'left',
|
||||||
dataIndex: 'serialNumber',
|
dataIndex: 'serialNumber',
|
||||||
|
width: 100,
|
||||||
|
fixed: 'left',
|
||||||
scopedSlots: { customRender: 'standard' }
|
scopedSlots: { customRender: 'standard' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('title'),
|
title: this.$t('title'),
|
||||||
align: 'center',
|
align: 'left',
|
||||||
dataIndex: 'title',
|
dataIndex: 'title',
|
||||||
|
width: 100,
|
||||||
|
fixed: 'left',
|
||||||
scopedSlots: { customRender: 'titleName' }
|
scopedSlots: { customRender: 'titleName' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('subtitle'),
|
title: this.$t('subtitle'),
|
||||||
align: 'center',
|
align: 'left',
|
||||||
dataIndex: 'subtitle',
|
dataIndex: 'subtitle',
|
||||||
|
ellipsis: true,
|
||||||
|
width: 150
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('zoneOfApplication'),
|
||||||
|
align: 'left',
|
||||||
|
dataIndex: 'region_dictText',
|
||||||
|
width: 150,
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('correspondingStandard'),
|
||||||
|
align: 'left',
|
||||||
|
dataIndex: 'correspondingStandard',
|
||||||
|
width: 150,
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('implementationCategory'),
|
||||||
|
align: 'left',
|
||||||
|
dataIndex: 'implementType_dictText',
|
||||||
|
width: 150,
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('ImplementationDate'),
|
||||||
|
align: 'left',
|
||||||
|
width: 200,
|
||||||
|
dataIndex: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('vehicleInProductionDate'),
|
||||||
|
align: 'left',
|
||||||
|
width: 220,
|
||||||
|
dataIndex: 'implementTime',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('certificationType'),
|
||||||
|
align: 'left',
|
||||||
|
dataIndex: 'attestationType_dictText',
|
||||||
|
width: 180,
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('certificationLevel'),
|
||||||
|
align: 'left',
|
||||||
|
dataIndex: 'attestationRank_dictText',
|
||||||
|
width: 180,
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('applicableSupplement'),
|
||||||
|
align: 'left',
|
||||||
|
width: 220,
|
||||||
|
dataIndex: 'applicableSupplement',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'WVTA ID',
|
||||||
|
align: 'left',
|
||||||
|
dataIndex: 'wvtaId',
|
||||||
|
width: 180,
|
||||||
ellipsis: true
|
ellipsis: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('areaOfResponsibility'),
|
title: this.$t('areaOfResponsibility'),
|
||||||
align: 'center',
|
align: 'left',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
dataIndex: 'dutyTerritory_dictText'
|
dataIndex: 'dutyTerritory_dictText',
|
||||||
|
width: 180
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
fieldList: [
|
||||||
|
{
|
||||||
|
type: 'string',
|
||||||
|
value: 'subtitle',
|
||||||
|
text: this.$t('subtitle')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: '',
|
||||||
|
value: 'region',
|
||||||
|
text: this.$t('zoneOfApplication'),
|
||||||
|
dictCode: 'region'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'string',
|
||||||
|
value: 'correspondingStandard',
|
||||||
|
text: this.$t('correspondingStandard')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: '',
|
||||||
|
value: 'implementType',
|
||||||
|
text: this.$t('implementationCategory'),
|
||||||
|
dictCode: 'implement_type'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'date',
|
||||||
|
value: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
|
||||||
|
text: this.$t('ImplementationDate')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'date',
|
||||||
|
value: 'implementTime',
|
||||||
|
text: this.$t('vehicleInProductionDate')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: '',
|
||||||
|
value: 'attestationType',
|
||||||
|
text: this.$t('certificationType'),
|
||||||
|
dictCode: 'attestation_type'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: '',
|
||||||
|
value: 'attestationRank',
|
||||||
|
text: this.$t('certificationLevel'),
|
||||||
|
dictCode: 'attestation_rank'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'string',
|
||||||
|
value: 'applicableSupplement',
|
||||||
|
text: this.$t('applicableSupplement')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'string',
|
||||||
|
value: 'wvtaId',
|
||||||
|
text: 'WVTA ID'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: '',
|
||||||
|
value: 'dutyTerritory',
|
||||||
|
text: this.$t('areaOfResponsibility'),
|
||||||
|
dictCode: 'duty_territory'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
dataList: [],
|
dataList: [],
|
||||||
content: [],
|
content: [],
|
||||||
loading: false,
|
loading: false,
|
||||||
@@ -137,6 +275,8 @@ export default {
|
|||||||
this.pageNo = 1
|
this.pageNo = 1
|
||||||
this.queryParam = {}
|
this.queryParam = {}
|
||||||
this.replacePage()
|
this.replacePage()
|
||||||
|
this.$refs.globalAdvancedQueryRef.resetLine()
|
||||||
|
this.$refs.globalAdvancedQueryRef.emitCallback()
|
||||||
},
|
},
|
||||||
onChange(page, pageSize) {
|
onChange(page, pageSize) {
|
||||||
this.pageNo = page
|
this.pageNo = page
|
||||||
@@ -147,10 +287,24 @@ export default {
|
|||||||
this.pageSize = pageSize
|
this.pageSize = pageSize
|
||||||
this.replacePage()
|
this.replacePage()
|
||||||
},
|
},
|
||||||
|
handleSuperQuery(params, matchType) {
|
||||||
|
let sqp = {}
|
||||||
|
if (!params || (params && params.length == 0)) {
|
||||||
|
sqp['superQueryParams'] = ''
|
||||||
|
this.$refs.globalAdvancedQueryRef.superQueryFlag = false
|
||||||
|
} else {
|
||||||
|
this.$refs.globalAdvancedQueryRef.superQueryFlag = true
|
||||||
|
sqp['superQueryParams'] = encodeURI(JSON.stringify(params))
|
||||||
|
sqp['superQueryMatchType'] = matchType
|
||||||
|
}
|
||||||
|
this.queryParamQuery = sqp
|
||||||
|
this.replacePage()
|
||||||
|
},
|
||||||
replacePage() {
|
replacePage() {
|
||||||
let query = {
|
let query = {
|
||||||
// pageNo: this.pageNo,
|
// pageNo: this.pageNo,
|
||||||
// pageSize: this.pageSize,
|
// pageSize: this.pageSize,
|
||||||
|
...this.queryParamQuery,
|
||||||
...this.queryParam,
|
...this.queryParam,
|
||||||
dummyInventoryBaseId: this.dummyInventoryBaseId
|
dummyInventoryBaseId: this.dummyInventoryBaseId
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
<a-form-model-item class="itemModel" prop='projectVersion'>
|
<a-form-model-item class="itemModel" prop='projectVersion'>
|
||||||
<a-select
|
<a-select
|
||||||
class="box-input propbox"
|
class="box-input propbox"
|
||||||
style="width: 100%"
|
style="width: 109%"
|
||||||
v-model='formData.projectVersion'
|
v-model='formData.projectVersion'
|
||||||
:placeholder="$t('PleaseSelect')+$t('relatedProjectVersion')">
|
:placeholder="$t('PleaseSelect')+$t('relatedProjectVersion')">
|
||||||
<!-- <a-select-option :value="null">{{$t('pleaseSelect')}}</a-select-option>-->
|
<!-- <a-select-option :value="null">{{$t('pleaseSelect')}}</a-select-option>-->
|
||||||
@@ -66,13 +66,13 @@
|
|||||||
<!-- <a-col :span='6'>-->
|
<!-- <a-col :span='6'>-->
|
||||||
<!-- </a-col>-->
|
<!-- </a-col>-->
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="24" style="border-bottom: 1px #f5f5f5 solid;margin-bottom: 10px">
|
<a-row :gutter="24" style="border-bottom: 1px #e8e8e8 solid;margin-bottom: 10px">
|
||||||
<a-col :span="22">
|
<a-col :span="22">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<span class="title-text-text" :title="$t('explain')">{{$t('explain')}}</span>
|
<span class="title-text-text" :title="$t('explain')">{{$t('explain')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel" prop="explanation">
|
<a-form-model-item class="itemModel explainbox" prop="explanation">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
:placeholder="$t('PleaseEnter')+$t('explain')"
|
:placeholder="$t('PleaseEnter')+$t('explain')"
|
||||||
v-model.trim="formData.explanation" :rows="4"/>
|
v-model.trim="formData.explanation" :rows="4"/>
|
||||||
@@ -467,7 +467,7 @@
|
|||||||
|
|
||||||
.diolag-area {
|
.diolag-area {
|
||||||
.table-area {
|
.table-area {
|
||||||
margin: 20px 0;
|
//margin: 20px 0;
|
||||||
|
|
||||||
.action-edit {
|
.action-edit {
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
@@ -481,6 +481,9 @@
|
|||||||
/deep/.propbox .ant-form-explain{
|
/deep/.propbox .ant-form-explain{
|
||||||
margin-top: -17px !important;
|
margin-top: -17px !important;
|
||||||
}
|
}
|
||||||
|
/deep/.explainbox .ant-form-item-control{
|
||||||
|
width: 104%;
|
||||||
|
}
|
||||||
.drawer-bootom-button {
|
.drawer-bootom-button {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
@@ -506,7 +509,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.title-text {
|
.title-text {
|
||||||
width: 84px;
|
width: 100px;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
|||||||
@@ -263,6 +263,9 @@
|
|||||||
onSelectChange(selectedRowKeys, selectedRowKeysDate) {
|
onSelectChange(selectedRowKeys, selectedRowKeysDate) {
|
||||||
this.selectedRowKeysDate = selectedRowKeysDate
|
this.selectedRowKeysDate = selectedRowKeysDate
|
||||||
this.selectedRowKeys = selectedRowKeys
|
this.selectedRowKeys = selectedRowKeys
|
||||||
|
if (this.selectedRowKeys.length > 1) {
|
||||||
|
this.selectedRowKeys.shift()
|
||||||
|
}
|
||||||
},
|
},
|
||||||
handleTableChange(val) {
|
handleTableChange(val) {
|
||||||
console.log(',,,')
|
console.log(',,,')
|
||||||
|
|||||||
Reference in New Issue
Block a user