合并分支 'dev_2nd_20230213' 到 'master'
Dev 2nd 20230213 查看合并请求 laws-nio/laws-weilai!288
This commit is contained in:
+250
-185
@@ -8,6 +8,7 @@ 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 net.sf.saxon.functions.ConstantFunction;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
@@ -27,91 +28,91 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
/**
|
||||
* @Description: 自定义表头
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-01-05
|
||||
* @Date: 2023-01-05
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
public class HeadCustomEOServiceImpl extends ServiceImpl<HeadCustomEOMapper, HeadCustomEO> implements IHeadCustomEOService {
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param headCustomEOList
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @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);
|
||||
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> 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);
|
||||
//设计
|
||||
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);
|
||||
}
|
||||
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);
|
||||
}
|
||||
}
|
||||
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) {
|
||||
@@ -144,131 +145,195 @@ public class HeadCustomEOServiceImpl extends ServiceImpl<HeadCustomEOMapper, Hea
|
||||
// }
|
||||
// }
|
||||
|
||||
@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);
|
||||
@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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @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
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteByIds(List<String> ids) {
|
||||
removeByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
/**
|
||||
* 通过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;
|
||||
* 列表查询
|
||||
*
|
||||
* @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);
|
||||
}
|
||||
}
|
||||
|
||||
List<HeadCustomVO> res = new ArrayList<>();
|
||||
if ("法规清单".equals(moduleFlag) || "虚拟清单详情".equals(moduleFlag) || "维护清单".equals(moduleFlag)) {
|
||||
res = checkDefaultHead(headCustomVOOneList, cut, moduleFlag);
|
||||
} else {
|
||||
res = headCustomVOOneList;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
/**
|
||||
* 检查默认表头,如果不存在则添加进列表
|
||||
*/
|
||||
private List<HeadCustomVO> checkDefaultHead(List<HeadCustomVO> headCustomVOOneList, String cut, String moduleFlag) {
|
||||
List<HeadCustomVO> res = new ArrayList<>();
|
||||
//编号,标题,操作
|
||||
boolean hasBH = false;
|
||||
boolean hasBT = false;
|
||||
boolean hasCZ = false;
|
||||
for (HeadCustomVO hcVO : headCustomVOOneList) {
|
||||
if ("编号".equals(hcVO.getTitle()) || "Number".equals(hcVO.getTitle())) {
|
||||
hasBH = true;
|
||||
}
|
||||
if ("标题".equals(hcVO.getTitle())) {
|
||||
hasBT = true;
|
||||
}
|
||||
if ("操作".equals(hcVO.getTitle())) {
|
||||
hasCZ = true;
|
||||
}
|
||||
}
|
||||
if (!hasBH) {
|
||||
HeadCustomVO bh = new HeadCustomVO();
|
||||
bh.setDataIndex("serialNumber");
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
bh.setTitle("编号");
|
||||
} else {
|
||||
bh.setTitle("Number");
|
||||
}
|
||||
bh.setFixed("left");
|
||||
res.add(bh);
|
||||
}
|
||||
if (!hasBT) {
|
||||
HeadCustomVO bt = new HeadCustomVO();
|
||||
bt.setDataIndex("title");
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
bt.setTitle("标题");
|
||||
} else {
|
||||
bt.setTitle("title");
|
||||
}
|
||||
bt.setFixed("left");
|
||||
res.add(bt);
|
||||
}
|
||||
res.addAll(headCustomVOOneList);
|
||||
if (!hasCZ) {
|
||||
HeadCustomVO cz = new HeadCustomVO();
|
||||
cz.setDataIndex("operation");
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
cz.setTitle("操作");
|
||||
} else {
|
||||
cz.setTitle("Operation");
|
||||
}
|
||||
cz.setFixed("right");
|
||||
res.add(cz);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -99,7 +99,8 @@
|
||||
pti.verify_person_charge_feedback as "verifyPersonChargeFeedback",
|
||||
plb.studio_engineer as "studioEngineer",
|
||||
plb.target_market as "targetMarket",
|
||||
pti.id as "projectTaskInventoryId"
|
||||
pti.id as "projectTaskInventoryId",
|
||||
plb.project_version as projectVersion
|
||||
FROM
|
||||
project_laws_inventory pli
|
||||
LEFT JOIN project_task_inventory pti ON ( pli.id = pti.project_laws_inventory_id )
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@
|
||||
<select id="getInfoList" resultMap="NcrTrackVOResultMap">
|
||||
SELECT
|
||||
pni.project_name,plb.target_market,plb.project_version,pyni.year_name,
|
||||
pli.serial_number,pli.title,pli.duty_territory,pli.create_time,pli.project_library_id,
|
||||
pli.serial_number,pli.title,pli.duty_territory,pli.create_time,pli.project_library_id,pli.stand_id,
|
||||
pti.design_flow_task_status,pti.prehomo_flow_task_status,pti.verify_flow_task_status,pti.design_p_id,pti.prehomo_p_id,pti.verify_p_id,pti.id,pti.project_laws_inventory_id,
|
||||
pli.design_initiator_id,pli.design_duty_id,pli.prehomo_initiator_id,pli.prehomo_duty_id,pli.verify_initiator_id,pli.verify_duty_id
|
||||
|
||||
|
||||
+48
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.query.QueryRuleEnum;
|
||||
import com.jero.common.system.vo.DictModel;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.document.enums.FieldTypeEnum;
|
||||
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
|
||||
@@ -24,7 +25,9 @@ import com.jero.modules.project.mapper.ProjectTaskInventoryDetailEOMapper;
|
||||
import com.jero.modules.project.service.ILawsComplianceBoardService;
|
||||
import com.jero.modules.system.entity.SysCategory;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
import com.jero.modules.system.enums.DicCodeEnum;
|
||||
import com.jero.modules.system.service.ISysDictItemService;
|
||||
import com.jero.modules.system.service.ISysDictService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
|
||||
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
|
||||
@@ -72,6 +75,9 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
|
||||
@Autowired
|
||||
private ISysUserService sysUserService;
|
||||
|
||||
@Autowired
|
||||
private ISysDictService sysDictService;
|
||||
|
||||
@Override
|
||||
public IPage queryPageList(Map<String, Object> params) {
|
||||
int pageNo = Integer.parseInt(params.get("pageNo").toString());
|
||||
@@ -181,6 +187,20 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
|
||||
String cut = (String) params.get("cut");
|
||||
List<Map<String,Object>> complianceResultList = this.lawsComplianceBoardMapper.queryComplianceResultList(params);
|
||||
if(CollectionUtils.isNotEmpty(complianceResultList)){
|
||||
for (Map<String, Object> map : complianceResultList) {
|
||||
//处理相关项目名称
|
||||
String projectName = String.valueOf(map.get("projectName"));
|
||||
String yearName = String.valueOf(map.get("yearName"));
|
||||
String targetMarket = String.valueOf(map.get("targetMarket"));
|
||||
String projectVersion = String.valueOf(map.get("projectVersion"));
|
||||
List<DictModel> regionList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode());
|
||||
targetMarket = getTargetMarket(cut, regionList, targetMarket);
|
||||
if(ObjectUtils.isEmpty(map.get("projectVersion"))){
|
||||
map.put("projectName",projectName+"-"+yearName+"-"+targetMarket);
|
||||
}else{
|
||||
map.put("projectName",projectName+"-"+yearName+"-"+targetMarket+"-"+projectVersion);
|
||||
}
|
||||
}
|
||||
List<String> projectLawsInventoryIdList = complianceResultList.stream().map(map-> (String) map.get("id")).collect(Collectors.toList());
|
||||
QueryWrapper<ProjectTaskInventoryDetailEO> taskDetailQueryWrapper = new QueryWrapper<>();
|
||||
taskDetailQueryWrapper.lambda().in(ProjectTaskInventoryDetailEO::getProjectTaskInventoryId,projectLawsInventoryIdList);
|
||||
@@ -215,6 +235,34 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
|
||||
return result;
|
||||
}
|
||||
|
||||
private String getTargetMarket(String cut, List<DictModel> regionList, String targetMarket) {
|
||||
//适用地区
|
||||
List<DictModel> dictModelList = new ArrayList<>();
|
||||
String region = "";
|
||||
if(com.jero.modules.system.util.StringUtils.isNotBlank(targetMarket)){
|
||||
for (String s : targetMarket.split(",")) {
|
||||
List<DictModel> dictModelListTemp = regionList.stream()
|
||||
.filter(e -> s.equals(e.getValue())).collect(Collectors.toList());
|
||||
dictModelList.addAll(dictModelListTemp);
|
||||
}
|
||||
|
||||
if(dictModelList.size() != 0){
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (DictModel dictModel : dictModelList) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
sb.append(dictModel.getText()+",");
|
||||
}else{
|
||||
sb.append(dictModel.getTextEn()+",");
|
||||
}
|
||||
}
|
||||
if(com.jero.modules.system.util.StringUtils.isNotBlank(sb)){
|
||||
region = sb.substring(0,sb.length()-1);
|
||||
}
|
||||
}
|
||||
}
|
||||
return region;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建任务清单列表数据
|
||||
* @param complianceResultList
|
||||
|
||||
+5
@@ -187,6 +187,7 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
|
||||
//设计符合性确认
|
||||
if(StringUtils.isNotBlank(designPId) && StringUtils.isNotBlank(designFlowTaskStatusName)){
|
||||
NcrTrackVO ncrTrackVOTemp = entityInfo(trackVO.getSerialNumber(),
|
||||
trackVO.getStandId(),
|
||||
trackVO.getTitle(),
|
||||
trackVO.getDesignPId(),
|
||||
trackVO.getDutyTerritory(),
|
||||
@@ -206,6 +207,7 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
|
||||
//PreHomo确认
|
||||
if(StringUtils.isNotBlank(prehomoPId) && StringUtils.isNotBlank(prehomoFlowTaskStatusName)){
|
||||
NcrTrackVO ncrTrackVOTemp = entityInfo(trackVO.getSerialNumber(),
|
||||
trackVO.getStandId(),
|
||||
trackVO.getTitle(),
|
||||
trackVO.getPrehomoPId(),
|
||||
trackVO.getDutyTerritory(),
|
||||
@@ -225,6 +227,7 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
|
||||
//验证符合性确认
|
||||
if(StringUtils.isNotBlank(verifyPId) && StringUtils.isNotBlank(verifyFlowTaskStatusName)){
|
||||
NcrTrackVO ncrTrackVOTemp = entityInfo(trackVO.getSerialNumber(),
|
||||
trackVO.getStandId(),
|
||||
trackVO.getTitle(),
|
||||
trackVO.getVerifyPId(),
|
||||
trackVO.getDutyTerritory(),
|
||||
@@ -389,6 +392,7 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
|
||||
}
|
||||
|
||||
private NcrTrackVO entityInfo(String serialNumber,
|
||||
String standId,
|
||||
String title,
|
||||
String flowType,
|
||||
String dutyTerritory,
|
||||
@@ -430,6 +434,7 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
|
||||
ncrTrackVO.setUuid(uuid);
|
||||
ncrTrackVO.setCreateTime(createTime);
|
||||
ncrTrackVO.setSerialNumber(serialNumber);//编号
|
||||
ncrTrackVO.setStandId(standId);//id
|
||||
ncrTrackVO.setTitle(title);//标题
|
||||
if(StringUtils.isNotBlank(flowType)){
|
||||
ncrTrackVO.setFlowType(name);//流程类型
|
||||
|
||||
+5
-3
@@ -747,9 +747,11 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
||||
}
|
||||
if(StringUtils.isNotBlank(projectLibraryBase.getYearName())){
|
||||
projectLibraryBase.setProjectName(projectLibraryBase.getProjectName()
|
||||
+ "-" + projectLibraryBase.getYearName()
|
||||
+ "-" + targetMarket
|
||||
+ "-" + projectVersion);
|
||||
+ "-" + projectLibraryBase.getYearName());
|
||||
// projectLibraryBase.setProjectName(projectLibraryBase.getProjectName()
|
||||
// + "-" + projectLibraryBase.getYearName()
|
||||
// + "-" + targetMarket
|
||||
// + "-" + projectVersion);
|
||||
}
|
||||
}
|
||||
return records;
|
||||
|
||||
@@ -41,6 +41,9 @@ public class NcrTrackVO implements Serializable {
|
||||
//中英文切换
|
||||
private String cut;
|
||||
|
||||
//文档库ID
|
||||
private String standId;
|
||||
|
||||
//编号
|
||||
@Excel(name = "编号", width = 20)
|
||||
private String serialNumber;
|
||||
|
||||
+5
@@ -440,6 +440,11 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
|
||||
List<String> userIdList = new ArrayList<>();
|
||||
datas.forEach(data -> {
|
||||
String standardInfo = data.getStandardInfo();
|
||||
if(StringUtils.isNotBlank(standardInfo)){
|
||||
String standardInfoTemp = standardInfo.replaceAll("、", " ");
|
||||
data.setStandardInfo(standardInfoTemp);
|
||||
}
|
||||
//设置上一个操作人。
|
||||
for (Map.Entry<String, List<ProcessInfoDetailEO>> detailMap : lastAssigneeDetailMap.entrySet()) {
|
||||
if(StringUtils.equals(data.getId(),detailMap.getKey())){
|
||||
|
||||
+17
-2
@@ -185,10 +185,25 @@
|
||||
|
||||
.ant-table-thead > tr > th {
|
||||
background: #f3f6f6!important;
|
||||
padding: 12px 8px!important;
|
||||
padding-top: 12px!important;
|
||||
padding-bottom: 12px!important;
|
||||
}
|
||||
|
||||
.ant-table-tbody > tr > td {
|
||||
padding: 12px 8px!important;
|
||||
padding-top: 12px!important;
|
||||
padding-bottom: 12px!important;
|
||||
}
|
||||
|
||||
.ant-tooltip-inner {
|
||||
color: #333;
|
||||
background-color: #fff !important;
|
||||
}
|
||||
|
||||
.ant-tooltip-arrow::before {
|
||||
background-color: #fff !important;
|
||||
}
|
||||
|
||||
.ant-menu-inline-collapsed-tooltip a {
|
||||
color: #333 !important;
|
||||
}
|
||||
</style>
|
||||
@@ -129,11 +129,13 @@
|
||||
|
||||
.ant-table-thead > tr > th {
|
||||
background: #f3f6f6!important;
|
||||
padding: 12px 8px!important;
|
||||
padding-top: 12px!important;
|
||||
padding-bottom: 12px!important;
|
||||
}
|
||||
|
||||
.ant-table-tbody > tr > td {
|
||||
padding: 12px 8px!important;
|
||||
padding-top: 12px!important;
|
||||
padding-bottom: 12px!important;
|
||||
}
|
||||
|
||||
.ant-tooltip-inner {
|
||||
|
||||
@@ -1476,7 +1476,7 @@ module.exports = {
|
||||
columnforced:'确认强制撤回?',
|
||||
brand:'品牌',
|
||||
allsubitemsitem:'该项目下拥有子项目,是否全部删除',
|
||||
contactTheFounder:'联系创建人',
|
||||
contactTheFounder:'联系作者',
|
||||
customize:'自定义表头',
|
||||
customColumn:'自定义列',
|
||||
}
|
||||
@@ -829,6 +829,7 @@
|
||||
|
||||
.selectWid {
|
||||
min-width: 150px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.inputWid {
|
||||
|
||||
@@ -760,6 +760,7 @@
|
||||
|
||||
.selectWid {
|
||||
min-width: 150px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.inputWid {
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
<template>
|
||||
<div style="height: 100%">
|
||||
<div class="box">
|
||||
<div class="box" v-if="isTrue">
|
||||
<a-table
|
||||
class="table"
|
||||
rowKey="id"
|
||||
:components="drag(columns,'columns')"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
:pagination="false"
|
||||
:scroll="{x: true}"
|
||||
:scroll="{x: '100%'}"
|
||||
:data-source="dataSource"
|
||||
:loading="loading"
|
||||
:columns="columns"
|
||||
@@ -63,6 +64,7 @@
|
||||
<script>
|
||||
import eventBUs from '../../common/event'
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'docTable',
|
||||
@@ -91,6 +93,7 @@
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
jsonBody: [],
|
||||
@@ -102,6 +105,7 @@
|
||||
dataSource: [],
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
isTrue: false,
|
||||
total: 0,
|
||||
searchParmes: {},
|
||||
loading: false,
|
||||
@@ -164,7 +168,8 @@
|
||||
dataIndex: res.db_field_name,
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
sorter: res.sort
|
||||
sorter: res.sort,
|
||||
width:170,
|
||||
})
|
||||
if (res.click) {
|
||||
this.columns[index].scopedSlots = {
|
||||
@@ -196,6 +201,10 @@
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
})
|
||||
}
|
||||
this.isTrue = false
|
||||
setTimeout(()=>{
|
||||
this.isTrue = true
|
||||
},500)
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -254,6 +263,8 @@
|
||||
}
|
||||
</style>
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
|
||||
.box {
|
||||
width: 100%;
|
||||
height: calc(100% - 100px);
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
<template>
|
||||
<div style="height: 100%">
|
||||
<div class="box">
|
||||
<div class="box" v-if='isTrue'>
|
||||
<a-table
|
||||
class="table"
|
||||
rowKey="id"
|
||||
:components="drag(columns,'columns')"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%'}"
|
||||
@@ -65,9 +66,11 @@
|
||||
import eventBUs from '../../common/event'
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'ocrTable',
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
props: {
|
||||
//接口
|
||||
url: {
|
||||
@@ -92,6 +95,7 @@
|
||||
data() {
|
||||
return {
|
||||
jsonBody: [],
|
||||
isTrue:false,
|
||||
checkboxList: [],
|
||||
userData: {},
|
||||
tableAll: false,
|
||||
@@ -201,9 +205,19 @@
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
})
|
||||
}
|
||||
this.isTrue = false
|
||||
setTimeout(()=>{
|
||||
this.isTrue = true
|
||||
},100)
|
||||
}
|
||||
})
|
||||
},
|
||||
getDataAdmin(){
|
||||
this.isTrue = false
|
||||
setTimeout(()=>{
|
||||
this.isTrue = true
|
||||
},100)
|
||||
},
|
||||
tableOnChange(pagination, filters, sorter) {
|
||||
this.orderBy = sorter.order == 'ascend' ? '1' : '2'
|
||||
this.orderByField = sorter.columnKey
|
||||
@@ -263,6 +277,8 @@
|
||||
|
||||
</style>
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
|
||||
.box {
|
||||
width: 100%;
|
||||
height: calc(100% - 100px);
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
</a-spin>
|
||||
<div class='drawer-bootom-button' style="margin-top: 4px">
|
||||
<a-button style='margin-right: .8rem' @click='handleCancel'>{{ $t('cancel') }}</a-button>
|
||||
<a-button @click='handleSubmit' type='primary' :loading='confirmLoading'>{{ $t('submit') }}</a-button>
|
||||
<a-button @click='handleSubmit' type='primary' :loading='confirmLoading'>{{ $t('confirm') }}</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
<template>
|
||||
<div style="height: 100%">
|
||||
<div class="box">
|
||||
<div class="box" v-if="isTrue">
|
||||
<a-table
|
||||
class="table"
|
||||
rowKey="id"
|
||||
:components="drag(columns,'columns')"
|
||||
:row-selection="{ fixed: true, selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
:pagination="false"
|
||||
:scroll="{x: true}"
|
||||
:scroll="{x: '100%'}"
|
||||
:data-source="dataSource"
|
||||
:loading="loading"
|
||||
:columns="columns"
|
||||
@@ -34,12 +35,14 @@
|
||||
</span>
|
||||
<span slot="urlClick" slot-scope="text,record">
|
||||
<a class="text" :title="text" @click="urlClick(text)">
|
||||
{{text && text.length > 18?text.slice(0,17)+'...':text}}
|
||||
<!-- {{text && text.length > 18?text.slice(0,17)+'...':text}}-->
|
||||
{{text}}
|
||||
</a>
|
||||
</span>
|
||||
<span slot="detailText" slot-scope="text,record">
|
||||
<span class="text" :title="text">
|
||||
{{text && text.length > 18?text.slice(0,17)+'...':text}}
|
||||
<span :title="text">
|
||||
<!-- {{text && text.length > 18?text.slice(0,17)+'...':text}}-->
|
||||
{{text}}
|
||||
</span>
|
||||
</span>
|
||||
</a-table>
|
||||
@@ -62,6 +65,7 @@
|
||||
<script>
|
||||
import eventBUs from '../../common/event'
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'SplitDetailTable',
|
||||
@@ -94,6 +98,7 @@
|
||||
default:''
|
||||
}
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
jsonBody: [],
|
||||
@@ -105,6 +110,7 @@
|
||||
dataSource: [],
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
isTrue: false,
|
||||
total: 0,
|
||||
searchParmes: {},
|
||||
loading: false,
|
||||
@@ -173,7 +179,8 @@
|
||||
dataIndex: res.db_field_name,
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
sorter: res.sort
|
||||
sorter: res.sort,
|
||||
width: 100
|
||||
})
|
||||
|
||||
if (res.urlClick) {
|
||||
@@ -181,7 +188,7 @@
|
||||
customRender: 'urlClick'
|
||||
}
|
||||
}else if(res.db_field_name=='iterms_conditions'){
|
||||
this.columns[index].width='500'
|
||||
this.columns[index].width= 500
|
||||
this.columns[index].scopedSlots = {
|
||||
customRender: 'showContent'
|
||||
}
|
||||
@@ -208,6 +215,10 @@
|
||||
})
|
||||
}
|
||||
// console.log('columns',this.columns)
|
||||
this.isTrue = false
|
||||
this.$nextTick(()=>{
|
||||
this.isTrue = true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -287,7 +298,7 @@
|
||||
.table{
|
||||
.ant-table-row-cell-break-word{
|
||||
span{
|
||||
display: block;
|
||||
//display: block;
|
||||
width: inherit;
|
||||
|
||||
}
|
||||
@@ -308,6 +319,8 @@
|
||||
}
|
||||
</style>
|
||||
<style lang="less" scoped>
|
||||
@import'~@assets/less/common.less';
|
||||
|
||||
.ant-table td {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
<template>
|
||||
<div style="height: 100%">
|
||||
<div class="box">
|
||||
<div class="box" v-if="isTrue">
|
||||
<a-table
|
||||
class="table"
|
||||
rowKey="id"
|
||||
:components="drag(columns,'columns')"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%'}"
|
||||
@@ -59,6 +60,7 @@
|
||||
<script>
|
||||
import eventBUs from '../../common/event'
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'SplitDocTable',
|
||||
@@ -87,6 +89,7 @@
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
jsonBody: [],
|
||||
@@ -98,6 +101,7 @@
|
||||
dataSource: [],
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
isTrue: false,
|
||||
total: 0,
|
||||
searchParmes: {},
|
||||
loading: false,
|
||||
@@ -193,6 +197,10 @@
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
})
|
||||
}
|
||||
this.isTrue = false
|
||||
this.$nextTick(()=>{
|
||||
this.isTrue = true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
<template>
|
||||
<div style="height: 100%">
|
||||
<div class="box">
|
||||
<div class="box" v-if="isTrue">
|
||||
<a-table
|
||||
class="table"
|
||||
rowKey="id"
|
||||
:components="drag(columns,'columns')"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%'}"
|
||||
@@ -65,6 +66,7 @@
|
||||
import eventBUs from '../../common/event'
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'SplitTable',
|
||||
@@ -93,6 +95,7 @@
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
jsonBody: [],
|
||||
@@ -104,6 +107,7 @@
|
||||
dataSource: [],
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
isTrue: false,
|
||||
total: 0,
|
||||
searchParmes: {},
|
||||
loading: false,
|
||||
@@ -224,9 +228,19 @@
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
})
|
||||
}
|
||||
this.isTrue = false
|
||||
this.$nextTick(()=>{
|
||||
this.isTrue = true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
getDataAdmin(){
|
||||
this.isTrue = false
|
||||
setTimeout(()=>{
|
||||
this.isTrue = true
|
||||
},100)
|
||||
},
|
||||
tableOnChange(pagination, filters, sorter) {
|
||||
this.orderBy = sorter.order == 'ascend' ? '1' : '2'
|
||||
this.orderByField = sorter.columnKey
|
||||
@@ -291,6 +305,9 @@
|
||||
}
|
||||
</style>
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
|
||||
|
||||
.box {
|
||||
width: 100%;
|
||||
height: calc(100% - 100px);
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
@searchReset="searchReset"
|
||||
/>
|
||||
<a-table
|
||||
:components="drag(columns,'cloumns')"
|
||||
:columns="columns"
|
||||
rowKey="serial_number"
|
||||
:scroll="{x: 1500}"
|
||||
@@ -60,6 +61,7 @@
|
||||
<script>
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import currencySearch from '@/components/currencySearch/index'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
@@ -75,6 +77,7 @@
|
||||
return false
|
||||
}
|
||||
},
|
||||
mixins: [ResizeColumnProvide,ResizeHeader],
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
@@ -88,18 +91,21 @@
|
||||
title: this.$t('standard'),
|
||||
dataIndex: 'serial_number',
|
||||
ellipsis: true,
|
||||
align: 'left'
|
||||
align: 'left',
|
||||
width: 480
|
||||
},
|
||||
{
|
||||
title: this.$t('title'),
|
||||
dataIndex: 'title',
|
||||
ellipsis: true,
|
||||
align: 'left'
|
||||
align: 'left',
|
||||
width: 480
|
||||
},
|
||||
{
|
||||
title: this.$t('TextStatus'),
|
||||
dataIndex: 'state',
|
||||
align: 'left'
|
||||
align: 'left',
|
||||
width: 480
|
||||
}
|
||||
],
|
||||
dataList: [],
|
||||
|
||||
@@ -5,18 +5,19 @@
|
||||
:visible="visible"
|
||||
:confirm-loading="confirmLoading"
|
||||
:maskClosable="false"
|
||||
@cancel="visible = false"
|
||||
@cancel="visible = false;$emit('visible')"
|
||||
>
|
||||
<template slot="footer">
|
||||
<a-button key="back" @click="visible = false">
|
||||
<a-button key="back" @click="visible = false;$emit('visible')">
|
||||
{{$t('cancel')}}
|
||||
</a-button>
|
||||
</template>
|
||||
<a-table
|
||||
class="table"
|
||||
:components="drag(columns,'columns')"
|
||||
:columns="columns"
|
||||
:pagination="false"
|
||||
:scroll="{y: 420}"
|
||||
:scroll="{x:'100%',y: 420}"
|
||||
:data-source="dataSource"
|
||||
:loading="loading"
|
||||
>
|
||||
@@ -46,9 +47,12 @@
|
||||
|
||||
<script>
|
||||
import { getAction, postAction, } from '@/api/manage'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
props:['url'],
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data(){
|
||||
return{
|
||||
visible:false,
|
||||
@@ -65,7 +69,8 @@
|
||||
dataIndex: 'logContent',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'content' }
|
||||
scopedSlots: { customRender: 'content' },
|
||||
width: 664
|
||||
},
|
||||
{
|
||||
title: this.$t('OperationTime'),
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
ref='table'
|
||||
size='middle'
|
||||
rowKey='id'
|
||||
:components="drag(columns,'columns')"
|
||||
:columns='columns'
|
||||
:dataSource='areaTable'
|
||||
:pagination='false'
|
||||
@@ -72,10 +73,12 @@ import { putAction, postAction, getAction, deleteAction ,downloadFile } from '@/
|
||||
import axios from 'axios'
|
||||
import Vue from 'vue'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'diolagArea',
|
||||
components: {},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
token:Vue.ls.get(ACCESS_TOKEN),
|
||||
@@ -102,20 +105,23 @@ export default {
|
||||
title: this.$t('Exporttype'),
|
||||
align: 'left',
|
||||
dataIndex: 'exportType',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 260
|
||||
},
|
||||
{
|
||||
title: this.$t('Exporttime'),
|
||||
align: 'left',
|
||||
dataIndex: 'exportTime',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 260
|
||||
},
|
||||
{
|
||||
title: this.$t('file'),
|
||||
align: 'left',
|
||||
dataIndex: 'exportFileName',
|
||||
scopedSlots: { customRender: 'file' },
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 260
|
||||
}
|
||||
],
|
||||
newVisible: false,
|
||||
|
||||
@@ -226,9 +226,9 @@
|
||||
methods: {
|
||||
searchQuery() {
|
||||
if (this.isDefault) {
|
||||
if (!this.queryParam['WarnTimeText']) {
|
||||
this.queryParam['WarnTimeText'] = '2'
|
||||
}
|
||||
// if (!this.queryParam['WarnTimeText']) {
|
||||
// this.queryParam['WarnTimeText'] = '2'
|
||||
// }
|
||||
let startTime = moment(new Date()).format('YYYY-MM-DD')
|
||||
let endTime = this.getNowdate()
|
||||
this.queryParam['WarnTime'] = [startTime, endTime]
|
||||
@@ -240,7 +240,7 @@
|
||||
this.queryParam = {}
|
||||
if (this.isDefault) {
|
||||
let startTime = moment(new Date()).format('YYYY-MM-DD')
|
||||
this.queryParam['WarnTimeText'] = '2'
|
||||
// this.queryParam['WarnTimeText'] = '2'
|
||||
let endTime = this.getNowdate()
|
||||
this.queryParam['WarnTime'] = [startTime, endTime]
|
||||
this.queryParam = { ...this.queryParam }
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
<template>
|
||||
<a-table
|
||||
:components="drag(columnshistory,'columnshistory')"
|
||||
class="table"
|
||||
:columns="columnshistory"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%',y: 400}"
|
||||
:data-source="dataSourcehistory"
|
||||
:loading="loading"
|
||||
>
|
||||
<span slot="content" slot-scope="text,record">
|
||||
<a-tooltip placement="topLeft">
|
||||
<template slot="title">
|
||||
<span v-html="text"></span>
|
||||
</template>
|
||||
<span v-html="text"></span>
|
||||
</a-tooltip>
|
||||
</span>
|
||||
<span slot="detailText" slot-scope="text,record">
|
||||
<span class="text" :title="text">
|
||||
{{text && text.length > 10?text.slice(0,9)+'...':text}}
|
||||
</span>
|
||||
</span>
|
||||
</a-table>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
export default {
|
||||
name: 'historyTable.vue',
|
||||
props:['columnshistory','dataSourcehistory'],
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,39 @@
|
||||
<template>
|
||||
<a-table
|
||||
class="table"
|
||||
:components="drag(columnshistory,'columnshistory')"
|
||||
:columns="columnshistory"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%', y: 400}"
|
||||
:data-source="dataSourcehistory"
|
||||
:loading="loading"
|
||||
>
|
||||
<span slot="content" slot-scope="text,record">
|
||||
<a-tooltip placement="topLeft">
|
||||
<template slot="title">
|
||||
<span v-html="text"></span>
|
||||
</template>
|
||||
<span v-html="text"></span>
|
||||
</a-tooltip>
|
||||
</span>
|
||||
<span slot="detailText" slot-scope="text,record">
|
||||
<span class="text" :title="text">
|
||||
{{text && text.length > 10?text.slice(0,9)+'...':text}}
|
||||
</span>
|
||||
</span>
|
||||
</a-table>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'historyTable1',
|
||||
props:['columnshistory','dataSourcehistory'],
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -3,6 +3,7 @@
|
||||
<div class="box">
|
||||
<!-- -->
|
||||
<a-table
|
||||
:components="drag(columns,'columns',JSON.parse(JSON.stringify(minWidthColumns)))"
|
||||
class="table"
|
||||
rowKey="id"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
@@ -179,28 +180,29 @@
|
||||
@ok="handleOk"
|
||||
@cancel="handleCancel"
|
||||
>
|
||||
<a-table
|
||||
class="table"
|
||||
:columns="columnshistory"
|
||||
:pagination="false"
|
||||
:scroll="{y: 400}"
|
||||
:data-source="dataSourcehistory"
|
||||
:loading="loading"
|
||||
>
|
||||
<span slot="content" slot-scope="text,record">
|
||||
<a-tooltip placement="topLeft">
|
||||
<template slot="title">
|
||||
<span v-html="text"></span>
|
||||
</template>
|
||||
<span v-html="text"></span>
|
||||
</a-tooltip>
|
||||
</span>
|
||||
<span slot="detailText" slot-scope="text,record">
|
||||
<span class="text" :title="text">
|
||||
{{text && text.length > 10?text.slice(0,9)+'...':text}}
|
||||
</span>
|
||||
</span>
|
||||
</a-table>
|
||||
<historyTable :columnshistory='columnshistory' :dataSourcehistory='dataSourcehistory'></historyTable>
|
||||
<!-- <a-table-->
|
||||
<!-- class="table"-->
|
||||
<!-- :columns="columnshistory"-->
|
||||
<!-- :pagination="false"-->
|
||||
<!-- :scroll="{y: 400}"-->
|
||||
<!-- :data-source="dataSourcehistory"-->
|
||||
<!-- :loading="loading"-->
|
||||
<!-- >-->
|
||||
<!-- <span slot="content" slot-scope="text,record">-->
|
||||
<!-- <a-tooltip placement="topLeft">-->
|
||||
<!-- <template slot="title">-->
|
||||
<!-- <span v-html="text"></span>-->
|
||||
<!-- </template>-->
|
||||
<!-- <span v-html="text"></span>-->
|
||||
<!-- </a-tooltip>-->
|
||||
<!-- </span>-->
|
||||
<!-- <span slot="detailText" slot-scope="text,record">-->
|
||||
<!-- <span class="text" :title="text">-->
|
||||
<!-- {{text && text.length > 10?text.slice(0,9)+'...':text}}-->
|
||||
<!-- </span>-->
|
||||
<!-- </span>-->
|
||||
<!-- </a-table>-->
|
||||
<div class="page" v-if="dataSourcehistory.length > 0">
|
||||
<a-pagination
|
||||
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||
@@ -271,11 +273,14 @@
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import axios from 'axios'
|
||||
import Vue from 'vue'
|
||||
import VueDraggableResizable from 'vue-draggable-resizable'
|
||||
// import VueDraggableResizable from 'vue-draggable-resizable'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
import historyTable from './historyTable.vue'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
props: {
|
||||
//接口
|
||||
url: {
|
||||
@@ -304,48 +309,51 @@
|
||||
},
|
||||
components: {
|
||||
CollectionType,
|
||||
VueDraggableResizable
|
||||
// VueDraggableResizable
|
||||
historyTable
|
||||
},
|
||||
data() {
|
||||
this.components = {
|
||||
header: {
|
||||
cell: (h, props, children) => {
|
||||
const { key, ...restProps } = props
|
||||
|
||||
// 此处的this.columns 是定义的table的表头属性变量
|
||||
|
||||
const col = this.columns.find((col) => {
|
||||
const k = col.dataIndex || col.key
|
||||
return k === key
|
||||
})
|
||||
|
||||
if (!col || !col.width) {
|
||||
return h('th', { ...restProps }, [...children])
|
||||
}
|
||||
|
||||
const dragProps = {
|
||||
key: col.dataIndex || col.key,
|
||||
class: 'table-draggable-handle',
|
||||
attrs: {
|
||||
w: 10,
|
||||
x: col.width,
|
||||
z: 1,
|
||||
axis: 'x',
|
||||
draggable: false,
|
||||
resizable: false
|
||||
},
|
||||
on: {
|
||||
dragging: (x, y) => {
|
||||
col.width = Math.max(x, 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
const drag = h('vue-draggable-resizable', { ...dragProps })
|
||||
return h('th', { ...restProps, class: 'resize-table-th' }, [...children, drag])
|
||||
}
|
||||
}
|
||||
}
|
||||
// this.components = {
|
||||
// header: {
|
||||
// cell: (h, props, children) => {
|
||||
// const { key, ...restProps } = props
|
||||
//
|
||||
// // 此处的this.columns 是定义的table的表头属性变量
|
||||
//
|
||||
// const col = this.columns.find((col) => {
|
||||
// const k = col.dataIndex || col.key
|
||||
// return k === key
|
||||
// })
|
||||
//
|
||||
// if (!col || !col.width) {
|
||||
// return h('th', { ...restProps }, [...children])
|
||||
// }
|
||||
//
|
||||
// const dragProps = {
|
||||
// key: col.dataIndex || col.key,
|
||||
// class: 'table-draggable-handle',
|
||||
// attrs: {
|
||||
// w: 10,
|
||||
// x: col.width,
|
||||
// z: 1,
|
||||
// axis: 'x',
|
||||
// draggable: false,
|
||||
// resizable: false
|
||||
// },
|
||||
// on: {
|
||||
// dragging: (x, y) => {
|
||||
// col.width = Math.max(x, 1)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// const drag = h('vue-draggable-resizable', { ...dragProps })
|
||||
// return h('th', { ...restProps, class: 'resize-table-th' }, [...children, drag])
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
return {
|
||||
colIndexs:[],
|
||||
minWidthColumns:[],
|
||||
token: Vue.ls.get(ACCESS_TOKEN),
|
||||
jsonBody: [],
|
||||
checkboxList: [],
|
||||
@@ -411,14 +419,15 @@
|
||||
{
|
||||
title: this.$t('OperationDetails'),
|
||||
dataIndex: 'logContent',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 320,
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'content' }
|
||||
},
|
||||
{
|
||||
title: this.$t('OperationTime'),
|
||||
dataIndex: 'createTime',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 180
|
||||
}
|
||||
@@ -767,10 +776,10 @@
|
||||
let num = 0
|
||||
this.content = []
|
||||
jsonHead.forEach((res, index) => {
|
||||
console.log(res)
|
||||
// console.log(res)
|
||||
// 配置列
|
||||
if (res.type) {
|
||||
console.log('配置')
|
||||
// console.log('配置')
|
||||
this.columns.push({
|
||||
dataIndex: res.db_field_name,
|
||||
align: 'left',
|
||||
@@ -834,8 +843,15 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(res.isLock && res.isLock === '0'){
|
||||
this.colIndexs.push(index)
|
||||
}
|
||||
})
|
||||
this.columns = [...this.columns]
|
||||
this.colIndexs.forEach((item)=>{
|
||||
this.minWidthColumns.push([this.columns[item],500])
|
||||
})
|
||||
this.$forceUpdate()
|
||||
}
|
||||
})
|
||||
@@ -976,7 +992,7 @@
|
||||
Object.keys(Obj).forEach((item) => {
|
||||
if (Obj[item] instanceof Object && Obj[item].controlType !== undefined) {
|
||||
Obj[item].list.forEach((itemLi) => {
|
||||
console.log(item)
|
||||
// console.log(item)
|
||||
if((this.currentPersonRole == 'homo' || this.currentPersonRole == 'admin') && item == 'referencesCol'){
|
||||
itemLi.isLock = 0
|
||||
}else{
|
||||
@@ -1163,6 +1179,10 @@
|
||||
text-justify: inter-ideograph;
|
||||
word-break: break-all
|
||||
}
|
||||
|
||||
::v-deep .ant-table-placeholder{
|
||||
margin-top: 8px !important;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.resize-table-th {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div style="height: 100%">
|
||||
<div class="box">
|
||||
<div class="box" v-if='isTrue'>
|
||||
<!-- -->
|
||||
<a-table
|
||||
class="table"
|
||||
@@ -11,7 +11,7 @@
|
||||
:data-source="dataSource"
|
||||
:loading="loading"
|
||||
sticky
|
||||
:components="components"
|
||||
:components="drag(columns,'columns',JSON.parse(JSON.stringify(minWidthColumns)))"
|
||||
:columns="columns"
|
||||
:rowClassName="rowClassName"
|
||||
@change="tableOnChange"
|
||||
@@ -168,28 +168,30 @@
|
||||
@ok="handleOk"
|
||||
@cancel="handleCancel"
|
||||
>
|
||||
<a-table
|
||||
class="table"
|
||||
:columns="columnshistory"
|
||||
:pagination="false"
|
||||
:scroll="{y: 400}"
|
||||
:data-source="dataSourcehistory"
|
||||
:loading="loading"
|
||||
>
|
||||
<span slot="content" slot-scope="text,record">
|
||||
<a-tooltip placement="topLeft">
|
||||
<template slot="title">
|
||||
<span v-html="text"></span>
|
||||
</template>
|
||||
<span v-html="text"></span>
|
||||
</a-tooltip>
|
||||
</span>
|
||||
<span slot="detailText" slot-scope="text,record">
|
||||
<span class="text" :title="text">
|
||||
{{text && text.length > 10?text.slice(0,9)+'...':text}}
|
||||
</span>
|
||||
</span>
|
||||
</a-table>
|
||||
<history-table1 :columnshistory='columnshistory' :dataSourcehistory='dataSourcehistory'></history-table1>
|
||||
<!-- :components="drag(columnshistory,'columnshistory')"-->
|
||||
<!-- <a-table-->
|
||||
<!-- class="table"-->
|
||||
<!-- :columns="columnshistory"-->
|
||||
<!-- :pagination="false"-->
|
||||
<!-- :scroll="{x: '100%', y: 400}"-->
|
||||
<!-- :data-source="dataSourcehistory"-->
|
||||
<!-- :loading="loading"-->
|
||||
<!-- >-->
|
||||
<!-- <span slot="content" slot-scope="text,record">-->
|
||||
<!-- <a-tooltip placement="topLeft">-->
|
||||
<!-- <template slot="title">-->
|
||||
<!-- <span v-html="text"></span>-->
|
||||
<!-- </template>-->
|
||||
<!-- <span v-html="text"></span>-->
|
||||
<!-- </a-tooltip>-->
|
||||
<!-- </span>-->
|
||||
<!-- <span slot="detailText" slot-scope="text,record">-->
|
||||
<!-- <span class="text" :title="text">-->
|
||||
<!-- {{text && text.length > 10?text.slice(0,9)+'...':text}}-->
|
||||
<!-- </span>-->
|
||||
<!-- </span>-->
|
||||
<!-- </a-table>-->
|
||||
<div class="page" v-if="dataSourcehistory.length > 0">
|
||||
<a-pagination
|
||||
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||
@@ -213,8 +215,10 @@
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import axios from 'axios'
|
||||
import Vue from 'vue'
|
||||
import VueDraggableResizable from 'vue-draggable-resizable'
|
||||
// import VueDraggableResizable from 'vue-draggable-resizable'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
import historyTable1 from './historyTable1.vue'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
@@ -241,48 +245,52 @@
|
||||
},
|
||||
components: {
|
||||
CollectionType,
|
||||
VueDraggableResizable
|
||||
// VueDraggableResizable
|
||||
historyTable1
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
this.components = {
|
||||
header: {
|
||||
cell: (h, props, children) => {
|
||||
const { key, ...restProps } = props
|
||||
|
||||
// 此处的this.columns 是定义的table的表头属性变量
|
||||
|
||||
const col = this.columns.find((col) => {
|
||||
const k = col.dataIndex || col.key
|
||||
return k === key
|
||||
})
|
||||
|
||||
if (!col || !col.width) {
|
||||
return h('th', { ...restProps }, [...children])
|
||||
}
|
||||
|
||||
const dragProps = {
|
||||
key: col.dataIndex || col.key,
|
||||
class: 'table-draggable-handle',
|
||||
attrs: {
|
||||
w: 10,
|
||||
x: col.width,
|
||||
z: 1,
|
||||
axis: 'x',
|
||||
draggable: false,
|
||||
resizable: false
|
||||
},
|
||||
on: {
|
||||
dragging: (x, y) => {
|
||||
col.width = Math.max(x, 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
const drag = h('vue-draggable-resizable', { ...dragProps })
|
||||
return h('th', { ...restProps, class: 'resize-table-th' }, [...children, drag])
|
||||
}
|
||||
}
|
||||
}
|
||||
// this.components = {
|
||||
// header: {
|
||||
// cell: (h, props, children) => {
|
||||
// const { key, ...restProps } = props
|
||||
//
|
||||
// // 此处的this.columns 是定义的table的表头属性变量
|
||||
//
|
||||
// const col = this.columns.find((col) => {
|
||||
// const k = col.dataIndex || col.key
|
||||
// return k === key
|
||||
// })
|
||||
//
|
||||
// if (!col || !col.width) {
|
||||
// return h('th', { ...restProps }, [...children])
|
||||
// }
|
||||
//
|
||||
// const dragProps = {
|
||||
// key: col.dataIndex || col.key,
|
||||
// class: 'table-draggable-handle',
|
||||
// attrs: {
|
||||
// w: 10,
|
||||
// x: col.width,
|
||||
// z: 1,
|
||||
// axis: 'x',
|
||||
// draggable: false,
|
||||
// resizable: false
|
||||
// },
|
||||
// on: {
|
||||
// dragging: (x, y) => {
|
||||
// col.width = Math.max(x, 1)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// const drag = h('vue-draggable-resizable', { ...dragProps })
|
||||
// return h('th', { ...restProps, class: 'resize-table-th' }, [...children, drag])
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
return {
|
||||
colIndexs:[],
|
||||
minWidthColumns:[],
|
||||
token: Vue.ls.get(ACCESS_TOKEN),
|
||||
jsonBody: [],
|
||||
checkboxList: [],
|
||||
@@ -297,6 +305,8 @@
|
||||
pageNo: 1,
|
||||
pageSize: 100,
|
||||
pageNohistory: 1,
|
||||
description:'',
|
||||
isTrue:false,
|
||||
pageSizehistory: 10,
|
||||
pageSizeOptions: ['100', '200'],
|
||||
total: 0,
|
||||
@@ -340,14 +350,15 @@
|
||||
{
|
||||
title: this.$t('OperationDetails'),
|
||||
dataIndex: 'logContent',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'content' }
|
||||
scopedSlots: { customRender: 'content' },
|
||||
width: 484
|
||||
},
|
||||
{
|
||||
title: this.$t('remarks'),
|
||||
dataIndex: 'remarks',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 180,
|
||||
scopedSlots: { customRender: 'detailText' }
|
||||
@@ -355,7 +366,7 @@
|
||||
{
|
||||
title: this.$t('OperationTime'),
|
||||
dataIndex: 'createTime',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 180
|
||||
}
|
||||
@@ -629,8 +640,20 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(res.type){
|
||||
this.colIndexs.push(index)
|
||||
}
|
||||
})
|
||||
this.columns = [...this.columns]
|
||||
|
||||
this.isTrue = false
|
||||
setTimeout(()=>{
|
||||
this.isTrue = true
|
||||
this.columns = [...this.columns]
|
||||
this.colIndexs.forEach((item)=>{
|
||||
this.minWidthColumns.push([this.columns[item],500])
|
||||
})
|
||||
},300)
|
||||
console.log(this.columns)
|
||||
}
|
||||
})
|
||||
@@ -861,6 +884,7 @@
|
||||
}
|
||||
</style>
|
||||
<style scoped lang="less">
|
||||
@import'~@assets/less/common.less';
|
||||
.inputWid {
|
||||
min-width: 100px;
|
||||
height: 38px;
|
||||
@@ -971,6 +995,10 @@
|
||||
text-justify: inter-ideograph;
|
||||
word-break: break-all
|
||||
}
|
||||
|
||||
::v-deep .ant-table-placeholder{
|
||||
margin-top: 8px !important;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.resize-table-th {
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
<template>
|
||||
<div style="height: 100%">
|
||||
<div class="box">
|
||||
<div class="box" v-if="isTrue">
|
||||
<a-table
|
||||
class="table"
|
||||
rowKey="id"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%'}"
|
||||
:components="drag(columns,'columns')"
|
||||
:data-source="dataSource"
|
||||
:loading="loading"
|
||||
:rowClassName="rowClassName"
|
||||
@@ -62,9 +63,11 @@
|
||||
<script>
|
||||
import eventBUs from '../../common/event'
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import {ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
mixins: [ResizeColumnProvide,ResizeHeader],
|
||||
props: {
|
||||
//接口
|
||||
url: {
|
||||
@@ -97,6 +100,7 @@
|
||||
dataSource: [],
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
isTrue:false,
|
||||
total: 0,
|
||||
searchParmes: {},
|
||||
loading: false,
|
||||
@@ -193,6 +197,10 @@
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
})
|
||||
}
|
||||
this.isTrue = false
|
||||
this.$nextTick(()=>{
|
||||
this.isTrue = true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -5,15 +5,16 @@
|
||||
style="z-index: 1007"
|
||||
:visible="visibleFile"
|
||||
:maskClosable="false"
|
||||
@cancel="visibleFile = false"
|
||||
@cancel="visibleFile = false;$emit('visible')"
|
||||
>
|
||||
<template slot="footer">
|
||||
<a-button key="back" @click="visibleFile = false">
|
||||
<a-button key="back" @click="visibleFile = false;$emit('visible')">
|
||||
{{$t('cancel')}}
|
||||
</a-button>
|
||||
</template>
|
||||
<a-table
|
||||
class="table"
|
||||
:components="drag(columnsFile,'columnsFile')"
|
||||
:columns="columnsFile"
|
||||
:pagination="false"
|
||||
:scroll="{x:500,y: 400}"
|
||||
@@ -39,10 +40,11 @@
|
||||
import { Base64 } from 'js-base64'
|
||||
import { getAction, postAction, downloadFile, putAction } from '@/api/manage'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'viewFileModel',
|
||||
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
dataSourceFile: [],
|
||||
|
||||
@@ -5,8 +5,10 @@ const events = {
|
||||
move: 'mousemove',
|
||||
stop: 'mouseup'
|
||||
}
|
||||
let tableAll = [] // 单个页面存放多个表格的columns
|
||||
var columnsAll = []
|
||||
var columnsKey = ''
|
||||
let minColumn = [] // 存放设置最小宽的列及宽度
|
||||
const DragHandler = {
|
||||
name: 'nio-drag-handler',
|
||||
//获取混入的方法(重新设置表头宽度)
|
||||
@@ -85,28 +87,65 @@ const DragHandler = {
|
||||
return h('div', { class: 'nio-drag-handler', on: { mousedown: this.handleMouseDown } }, [line])
|
||||
}
|
||||
}
|
||||
const ResizeHeaderOne = function(val, name) {
|
||||
const ResizeHeaderOne = function(val, name ,minWidths) {
|
||||
columnsAll = val
|
||||
columnsKey = name
|
||||
minColumn = minWidths
|
||||
if(tableAll.indexOf(val) === -1){
|
||||
tableAll.push(val)
|
||||
}
|
||||
return (h, props, children) => {
|
||||
const { key, column, ...restProps } = props
|
||||
let col = {}
|
||||
// 处理多级表头
|
||||
col = getRenderCoL(key, val)
|
||||
// col = getRenderCoL(key, val)
|
||||
col = getRenderCoL(key, columnsAll)
|
||||
let content = [].concat(children)
|
||||
if (col ) {
|
||||
const handlerVNode = h(DragHandler, {
|
||||
props: {
|
||||
width: col.width,
|
||||
minWidth: Math.min(col.width, 100),
|
||||
column: col
|
||||
if (col) {
|
||||
let handlerVNode;
|
||||
if(minColumn && minWidths !== undefined && minColumn.length>0){
|
||||
// 存放所有需要手动设置最小宽度的列的dataIndex
|
||||
let colsdataIndex = []
|
||||
minColumn.forEach((item)=>{
|
||||
colsdataIndex.push(item[0].dataIndex)
|
||||
handlerVNode = h(DragHandler, {
|
||||
props: {
|
||||
width: col.width,
|
||||
minWidth: Math.min(item[1]),
|
||||
column: col
|
||||
}
|
||||
}, [])
|
||||
content = content.concat(
|
||||
handlerVNode
|
||||
)
|
||||
})
|
||||
// 不需要手动设置最小宽度的列
|
||||
if(colsdataIndex.indexOf(col.dataIndex) === -1){
|
||||
handlerVNode = h(DragHandler, {
|
||||
props: {
|
||||
width: col.width,
|
||||
minWidth: Math.min(col.width, 100),
|
||||
column: col
|
||||
}
|
||||
}, [])
|
||||
content = content.concat(
|
||||
handlerVNode
|
||||
)
|
||||
}
|
||||
}, [])
|
||||
content = content.concat(
|
||||
handlerVNode
|
||||
)
|
||||
}else{
|
||||
handlerVNode = h(DragHandler, {
|
||||
props: {
|
||||
width: col.width,
|
||||
minWidth: Math.min(col.width, 100),
|
||||
column: col
|
||||
}
|
||||
}, [])
|
||||
content = content.concat(
|
||||
handlerVNode
|
||||
)
|
||||
}
|
||||
}
|
||||
console.log(restProps)
|
||||
console.log(restProps,11)
|
||||
let className = ''
|
||||
if ((restProps.attrs && restProps.attrs.colSpan && restProps.attrs.colSpan == 1) || (restProps.attrs && restProps.attrs.colSpan && restProps.attrs.colSpan > 0)){
|
||||
className = ' second'
|
||||
@@ -120,10 +159,12 @@ const ResizeHeaderOne = function(val, name) {
|
||||
}
|
||||
export const ResizeHeader = {
|
||||
methods: {
|
||||
drag(columns, name) {
|
||||
drag(columns, name ,minWidths) {
|
||||
console.log(minWidths)
|
||||
return {
|
||||
header: {
|
||||
cell: ResizeHeaderOne(columns, name)
|
||||
// minWidths : 最小宽度 => [[需要设置的列,最小宽],[需要设置的列,最小宽],...]
|
||||
cell: ResizeHeaderOne(columns, name,minWidths)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -197,6 +238,14 @@ export const ResizeColumnProvide = {
|
||||
},
|
||||
methods: {
|
||||
_resizeColumn(w, column) {
|
||||
console.log(column)
|
||||
tableAll.forEach(item=>{
|
||||
item.forEach((i)=>{
|
||||
if(i === column && i.dataIndex === column.dataIndex){
|
||||
columnsAll = item
|
||||
}
|
||||
})
|
||||
})
|
||||
this.moving = true
|
||||
let time = setTimeout(() => {
|
||||
this.moving = false
|
||||
|
||||
@@ -0,0 +1,278 @@
|
||||
import _ from 'lodash'
|
||||
|
||||
const events = {
|
||||
start: 'mousedown',
|
||||
move: 'mousemove',
|
||||
stop: 'mouseup'
|
||||
}
|
||||
let istableAll = [] // 单个页面存放多个表格的columns
|
||||
var tablecolumnsAll = []
|
||||
var tablecolumnsKey = ''
|
||||
let tableminColumn = [] // 存放设置最小宽的列及宽度
|
||||
const tableDragHandler = {
|
||||
name: 'nio-drag-handler',
|
||||
//获取混入的方法(重新设置表头宽度)
|
||||
inject: ['onResizeColumn'],
|
||||
props: {
|
||||
column: { type: Object, required: true },
|
||||
minWidth: { type: Number, required: true }
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
dragging: false,
|
||||
thWidth: 0,// 列头的宽度,用于计算
|
||||
startX: 0,
|
||||
moveEvent: {
|
||||
remove: function() {
|
||||
}
|
||||
},
|
||||
stopEvent: {
|
||||
remove: function() {
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
//销毁监听
|
||||
tablebeforeDestroy() {
|
||||
this.removeEvents()
|
||||
},
|
||||
methods: {
|
||||
//鼠标开始拖拽
|
||||
tablehandleMouseDown(e) {
|
||||
e.stopPropagation()
|
||||
e.preventDefault()
|
||||
this.tablehandleStart(e)
|
||||
},
|
||||
|
||||
tablehandleStart(e) {
|
||||
console.log(e)
|
||||
this.dragging = true
|
||||
this.removeEvents()
|
||||
this.thWidth = this.$el.parentNode.getBoundingClientRect().width
|
||||
if (e instanceof MouseEvent && e.which !== 1) {
|
||||
return
|
||||
}
|
||||
if (e.stopPropagation) e.stopPropagation()
|
||||
this.startX = e.pageX
|
||||
this.moveEvent = addEventListenerWrap(document.documentElement, events.move, this.handleMove)
|
||||
this.stopEvent = addEventListenerWrap(document.documentElement, events.stop, this.handleStop)
|
||||
},
|
||||
|
||||
handleMove(e) {
|
||||
this.updateWidth(e)
|
||||
},
|
||||
handleStop(e) {
|
||||
this.dragging = false
|
||||
this.updateWidth(e)
|
||||
this.removeEvents()
|
||||
},
|
||||
|
||||
updateWidth(e) {
|
||||
let pageX = e.pageX
|
||||
const tmpDeltaX = this.startX - pageX
|
||||
let w = Math.max(this.thWidth - tmpDeltaX, this.minWidth)
|
||||
w = Math.min(w, Infinity)
|
||||
this.onResizeColumn(w, this.column)
|
||||
},
|
||||
|
||||
removeEvents() {
|
||||
this.moveEvent.remove()
|
||||
this.stopEvent.remove()
|
||||
}
|
||||
},
|
||||
//渲染div 绑定拖拽
|
||||
render(h) {
|
||||
const line = h('div', { class: 'nio-drag-handler-line' }, [])
|
||||
return h('div', { class: 'nio-drag-handler', on: { mousedown: this.tablehandleMouseDown } }, [line])
|
||||
}
|
||||
}
|
||||
const tableResizeHeaderOne = function(val, name ,minWidths) {
|
||||
tablecolumnsAll = val
|
||||
tablecolumnsKey = name
|
||||
tableminColumn = minWidths
|
||||
if(istableAll.indexOf(val) === -1){
|
||||
istableAll.push(val)
|
||||
}
|
||||
return (h, props, children) => {
|
||||
const { key, column, ...restProps } = props
|
||||
let col = {}
|
||||
// 处理多级表头
|
||||
// col = getRenderCoL(key, val)
|
||||
col = getRenderCoL(key, tablecolumnsAll)
|
||||
let content = [].concat(children)
|
||||
if (col) {
|
||||
let handlerVNode;
|
||||
if(tableminColumn && minWidths !== undefined && tableminColumn.length>0){
|
||||
// 存放所有需要手动设置最小宽度的列的dataIndex
|
||||
let colsdataIndex = []
|
||||
tableminColumn.forEach((item)=>{
|
||||
colsdataIndex.push(item[0].dataIndex)
|
||||
handlerVNode = h(tableDragHandler, {
|
||||
props: {
|
||||
width: col.width,
|
||||
minWidth: Math.min(item[1]),
|
||||
column: col
|
||||
}
|
||||
}, [])
|
||||
content = content.concat(
|
||||
handlerVNode
|
||||
)
|
||||
})
|
||||
// 不需要手动设置最小宽度的列
|
||||
if(colsdataIndex.indexOf(col.dataIndex) === -1){
|
||||
handlerVNode = h(tableDragHandler, {
|
||||
props: {
|
||||
width: col.width,
|
||||
minWidth: Math.min(col.width, 100),
|
||||
column: col
|
||||
}
|
||||
}, [])
|
||||
content = content.concat(
|
||||
handlerVNode
|
||||
)
|
||||
}
|
||||
}else{
|
||||
handlerVNode = h(tableDragHandler, {
|
||||
props: {
|
||||
width: col.width,
|
||||
minWidth: Math.min(col.width, 100),
|
||||
column: col
|
||||
}
|
||||
}, [])
|
||||
content = content.concat(
|
||||
handlerVNode
|
||||
)
|
||||
}
|
||||
}
|
||||
return h('th', {
|
||||
key,
|
||||
props: { col },
|
||||
...Object.assign({}, restProps, { class: (restProps.class || '') + ' nio-header-th' })
|
||||
}, content)
|
||||
}
|
||||
}
|
||||
export const tableResizeHeader = {
|
||||
methods: {
|
||||
tabledrag(columns, name ,minWidths) {
|
||||
console.log(minWidths)
|
||||
return {
|
||||
header: {
|
||||
// minWidths : 最小宽度 => [[需要设置的列,最小宽],[需要设置的列,最小宽],...]
|
||||
cell: tableResizeHeaderOne(columns, name,minWidths)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
const getRenderCoL = (key, tbCols) => {
|
||||
let result = ''
|
||||
_.forEach(tbCols, (item) => {
|
||||
if (item.children) {
|
||||
result = getRenderCoL(key, item.children)
|
||||
return !result
|
||||
} else {
|
||||
const k = item.dataIndex || item.key
|
||||
if (k === key) {
|
||||
result = item
|
||||
return false
|
||||
}
|
||||
}
|
||||
})
|
||||
return result
|
||||
}
|
||||
//拖拽的节流方法
|
||||
const throttle2 = (fn, delay) => {
|
||||
let valid = true
|
||||
return (...args) => {
|
||||
if (!valid) {
|
||||
return
|
||||
}
|
||||
valid = false
|
||||
setTimeout(() => {
|
||||
fn(...args)
|
||||
valid = true
|
||||
}, delay)
|
||||
}
|
||||
}
|
||||
//对table组件进行重构的核心方法组件
|
||||
|
||||
|
||||
//监听鼠标移动的方法
|
||||
function addEventListenerWrap(target, eventType, cb) {
|
||||
if (target && target.addEventListener) {
|
||||
target.addEventListener(eventType, cb)
|
||||
}
|
||||
|
||||
return {
|
||||
remove: () => {
|
||||
if (target && target.removeEventListener) {
|
||||
target.removeEventListener(eventType, cb)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//在table组件中混入的一个方法 provide => onResizeColumn
|
||||
//目的是在table重写中(tableDragHandler方法)
|
||||
//可以用到构造的onResizeColumn方法(重新设置表头的宽度)
|
||||
export const tableResizeColumnProvide = {
|
||||
name: 'ResizeColumnProvideMixin',
|
||||
provide() {
|
||||
return {
|
||||
onResizeColumn: this.onResizeColumn
|
||||
}
|
||||
},
|
||||
|
||||
data() {
|
||||
const onResizeColumn = throttle2(this._resizeColumn, 30)
|
||||
return {
|
||||
moving: false, //这个属性是为了在拖拽时 阻止表头触发排序的功能
|
||||
onResizeColumn
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
_resizeColumn(w, column) {
|
||||
console.log(column)
|
||||
istableAll.forEach(item=>{
|
||||
item.forEach((i)=>{
|
||||
if(i === column && i.dataIndex === column.dataIndex){
|
||||
tablecolumnsAll = item
|
||||
}
|
||||
})
|
||||
})
|
||||
this.moving = true
|
||||
let time = setTimeout(() => {
|
||||
this.moving = false
|
||||
clearTimeout(time)
|
||||
}, 2000)
|
||||
//在拖拽时找到对应表头 重新设置表头的宽度
|
||||
let num = -1
|
||||
let numOne = -1
|
||||
for (let i = 0; i < tablecolumnsAll.length; i++) {
|
||||
if (tablecolumnsAll[i].dataIndex === column.dataIndex) {
|
||||
num = i
|
||||
break
|
||||
}
|
||||
if (tablecolumnsAll[i].children && tablecolumnsAll[i].children.length > 0) {
|
||||
for (let j = 0; j < tablecolumnsAll[i].children.length; j++) {
|
||||
if (tablecolumnsAll[i].children[j].dataIndex === column.dataIndex) {
|
||||
num = i
|
||||
numOne = j
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// const matchedIndex = columns.findIndex(item => item.dataIndex === column.dataIndex)
|
||||
// console.log(matchedIndex)
|
||||
// columns[matchedIndex].width = w
|
||||
if (numOne > -1) {
|
||||
tablecolumnsAll[num].children[numOne].width = w
|
||||
} else {
|
||||
tablecolumnsAll[num].width = w
|
||||
}
|
||||
this[tablecolumnsKey] = tablecolumnsAll
|
||||
}
|
||||
}
|
||||
}
|
||||
+21
-3
@@ -26,8 +26,10 @@
|
||||
</div>
|
||||
</div>
|
||||
<a-table
|
||||
v-if="isTrue"
|
||||
ref="table"
|
||||
size="middle"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 320px)'}"
|
||||
@@ -71,7 +73,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess"></uploadFile>
|
||||
<viewFileModel ref="viewFileModelRef"/>
|
||||
<viewFileModel ref="viewFileModelRef" @visible="sVisible"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -81,6 +83,7 @@
|
||||
import { getAction, putAction, downloadFile } from '@/api/manage'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { postAction } from '../../../../api/manage'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'evaluationResultsList',
|
||||
@@ -88,12 +91,14 @@
|
||||
uploadFile,
|
||||
viewFileModel
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
total: 0,
|
||||
pageSize: 10,
|
||||
pageNo: 1,
|
||||
isTrue: true,
|
||||
flag: false,
|
||||
dataSource: [],
|
||||
formInline: {},
|
||||
@@ -173,6 +178,9 @@
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
sVisible(){
|
||||
this.getDataAdmin()
|
||||
},
|
||||
clickButtonToUpload(item) {
|
||||
this.$refs.uploadFile.perentHandleFunc()
|
||||
this.$refs.uploadFile.visible = true
|
||||
@@ -218,7 +226,7 @@
|
||||
actiProcInstId: this.actiProcInstId
|
||||
}
|
||||
downloadFile('/lawsOpinionGather/lawsOpinionAssessmentResultEO/exportXls',
|
||||
this.$route.query.serialNumber + ' ' + this.$t('evaluationResults') + '.zip', query)
|
||||
this.$route.query.serialNumber+ ' ' +this.$t('evaluationResults') + '.zip', query)
|
||||
},
|
||||
getData() {
|
||||
this.formInline = JSON.parse(JSON.stringify(this.$route.query))
|
||||
@@ -260,6 +268,12 @@
|
||||
seeFileClick(item) {
|
||||
this.$refs.viewFileModelRef.clickButtonToUpload(item)
|
||||
},
|
||||
getDataAdmin(){
|
||||
this.isTrue = false
|
||||
setTimeout(()=>{
|
||||
this.isTrue = true
|
||||
},100)
|
||||
},
|
||||
endProcessClick() {
|
||||
let query = {
|
||||
ids: this.$route.query.id
|
||||
@@ -279,7 +293,7 @@
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
@import'~@assets/less/common.less';
|
||||
|
||||
.doc-detail {
|
||||
background: #fff;
|
||||
@@ -385,6 +399,10 @@
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
::v-deep .ant-table-placeholder{
|
||||
margin-top: 8px !important;
|
||||
}
|
||||
|
||||
.operator-text-index {
|
||||
display: inline-block;
|
||||
/*margin-right: 16px;*/
|
||||
|
||||
+3
@@ -13,6 +13,7 @@
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%'}"
|
||||
@@ -137,6 +138,7 @@
|
||||
import moment from 'moment'
|
||||
import eventBUs from '../../../../common/event'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'initiatingProcess',
|
||||
@@ -147,6 +149,7 @@
|
||||
footerProcess,
|
||||
PersonnelSelection
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
title: this.$t('regulatoryEngineer') + this.$t('initiatingProcess'),
|
||||
|
||||
@@ -100,6 +100,7 @@
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 260px)'}"
|
||||
@@ -141,9 +142,11 @@
|
||||
<script>
|
||||
import { getAction, postAction, deleteAction } from '@/api/manage'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
//url传参严格按照当前命名
|
||||
@@ -462,4 +465,8 @@
|
||||
::v-deep .ant-table-body {
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
::v-deep .ant-table-placeholder {
|
||||
margin-top: 8px !important;
|
||||
}
|
||||
</style>
|
||||
+3
@@ -17,6 +17,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<a-table
|
||||
:components="drag(columns,'columns')"
|
||||
:columns="columns"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 300px)'}"
|
||||
:data-source="dataList"
|
||||
@@ -54,12 +55,14 @@
|
||||
<script>
|
||||
import { getAction, postAction, deleteAction } from '@/api/manage'
|
||||
import classificationMaintenanceAdd from './classificationMaintenanceAdd'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'classificationMaintenanceModel',
|
||||
components: {
|
||||
classificationMaintenanceAdd
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
url: {
|
||||
|
||||
+13
-5
@@ -60,6 +60,7 @@
|
||||
</a-form>
|
||||
</div>
|
||||
<a-table
|
||||
:components="drag(columns,'columns')"
|
||||
:columns="columns"
|
||||
:rowKey="(record)=>JSON.stringify(record)"
|
||||
:scroll="{x: 1200}"
|
||||
@@ -93,6 +94,7 @@
|
||||
<script>
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'listAddModel',
|
||||
@@ -100,6 +102,7 @@
|
||||
globalAdvancedQuery
|
||||
},
|
||||
props: ['url'],
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
toggleSearchStatus: false,
|
||||
@@ -113,31 +116,36 @@
|
||||
title: this.$t('standard'),
|
||||
dataIndex: 'serial_number',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 228
|
||||
},
|
||||
{
|
||||
title: this.$t('title'),
|
||||
dataIndex: 'title',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 228
|
||||
},
|
||||
{
|
||||
title: this.$t('zoneOfApplication'),
|
||||
dataIndex: 'region',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 228
|
||||
},
|
||||
{
|
||||
title: this.$t('ImplementationDate'),
|
||||
dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 228
|
||||
},
|
||||
{
|
||||
title: this.$t('vehicleInProductionDate'),
|
||||
dataIndex: 'implement_time',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 228
|
||||
}
|
||||
],
|
||||
dataList: [],
|
||||
|
||||
+1
-1
@@ -674,7 +674,7 @@
|
||||
}
|
||||
</style>
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
@import'~@assets/less/common.less';
|
||||
|
||||
.doc-detail {
|
||||
background: #fff;
|
||||
|
||||
+23
-1
@@ -3,7 +3,7 @@
|
||||
<div class="search-detail-wrap">
|
||||
<div class="box-content-left">
|
||||
<div class="classification">{{$t('classification')}}:</div>
|
||||
<template v-for="tag in tagList">
|
||||
<template v-for='tag in tagList.slice(0,4)' v-if='!toggleSearchStatus'>
|
||||
<a-checkable-tag
|
||||
:key="tag.id"
|
||||
:title="tag.problemLabel"
|
||||
@@ -13,6 +13,24 @@
|
||||
{{ tag.problemLabel }}
|
||||
</a-checkable-tag>
|
||||
</template>
|
||||
<template v-for='tag in tagList' v-if='toggleSearchStatus'>
|
||||
<a-checkable-tag
|
||||
:key="tag.id"
|
||||
:title="tag.problemLabel"
|
||||
:checked="selectedTags.indexOf(tag.id) > -1"
|
||||
@change="checked => handleChange(tag.id, checked)"
|
||||
>
|
||||
{{ tag.problemLabel }}
|
||||
</a-checkable-tag>
|
||||
</template>
|
||||
<div style='display: inline-block;margin-bottom: 7px;'>
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a @click="handleToggleSearch">
|
||||
{{ !toggleSearchStatus ? $t('open') : $t('away') }}
|
||||
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-content-content">
|
||||
<div class="box-content-content-index"
|
||||
@@ -207,6 +225,7 @@
|
||||
total: 0,
|
||||
selectedTags: [],
|
||||
loading: false,
|
||||
toggleSearchStatus: false,
|
||||
queryBase: {},
|
||||
pageSize: 10,
|
||||
queryForm: {},
|
||||
@@ -444,6 +463,9 @@
|
||||
this.$refs.problemKnowledgeBaseListViewRef.getData(JSON.parse(JSON.stringify(val)))
|
||||
})
|
||||
},
|
||||
handleToggleSearch() {
|
||||
this.toggleSearchStatus = !this.toggleSearchStatus
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<a-tabs v-model="tabModel" @change="callback">
|
||||
<a-tabs v-model="tabModel" @change="callback" style="margin-top: -27px;">
|
||||
<a-tab-pane :key="$t('problemKnowledgeBase')" :tab="$t('problemKnowledgeBase')">
|
||||
<problemKnowledgeBaseList v-if="tabModel == $t('problemKnowledgeBase')" ref="problemKnowledgeBaseListRef"/>
|
||||
</a-tab-pane>
|
||||
|
||||
+4
-1
@@ -73,6 +73,7 @@
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%'}"
|
||||
@@ -130,6 +131,7 @@
|
||||
import fillAdd from './modules/fillAdd'
|
||||
import moment from 'moment'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'RegulationMonthlyFill',
|
||||
@@ -137,6 +139,7 @@
|
||||
fillTable,
|
||||
fillAdd
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
//url传参严格按照当前命名
|
||||
@@ -216,7 +219,7 @@
|
||||
title: this.$t('operation'),
|
||||
align: 'left',
|
||||
fixed: 'right',
|
||||
width: 190,
|
||||
width: 230,
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
}
|
||||
],
|
||||
|
||||
+3
@@ -35,6 +35,7 @@
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%'}"
|
||||
@@ -88,12 +89,14 @@
|
||||
import { getAction, postAction, downloadFile } from '@/api/manage'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { Base64 } from 'js-base64'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'RegulationMonthlyManagement',
|
||||
components: {
|
||||
managementAdd
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
//url传参严格按照当前命名
|
||||
|
||||
+13
-5
@@ -61,6 +61,7 @@
|
||||
</div>
|
||||
<div style="width: 100%">
|
||||
<a-table
|
||||
:components="drag(columns,'columns')"
|
||||
:columns="columns"
|
||||
rowKey="id"
|
||||
:scroll="{x: 1200}"
|
||||
@@ -96,12 +97,14 @@
|
||||
<script>
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'addModel',
|
||||
components: {
|
||||
globalAdvancedQuery
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
props: {
|
||||
},
|
||||
data() {
|
||||
@@ -116,19 +119,22 @@
|
||||
title: this.$t('standard'),
|
||||
dataIndex: 'serial_number',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 228
|
||||
},
|
||||
{
|
||||
title: this.$t('title'),
|
||||
dataIndex: 'title',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 228
|
||||
},
|
||||
{
|
||||
title: this.$t('zoneOfApplication'),
|
||||
dataIndex: 'region',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 228
|
||||
},
|
||||
// {
|
||||
// title: this.$t('status'),
|
||||
@@ -146,13 +152,15 @@
|
||||
title: this.$t('ImplementationDate'),
|
||||
dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 228
|
||||
},
|
||||
{
|
||||
title: this.$t('vehicleInProductionDate'),
|
||||
dataIndex: 'implement_time',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 228
|
||||
}
|
||||
// {
|
||||
// title: this.$t('correspondingStandard'),
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%',y:500}"
|
||||
@@ -55,12 +56,14 @@
|
||||
<script>
|
||||
import fillTableAdd from './fillTableAdd'
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'fillTable',
|
||||
components: {
|
||||
fillTableAdd
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
|
||||
+11
-4
@@ -84,6 +84,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<a-table
|
||||
:components="drag(columns,'columns')"
|
||||
:columns="columns"
|
||||
:scroll="{x: '100%'}"
|
||||
:data-source="dataList"
|
||||
@@ -131,6 +132,7 @@
|
||||
import PersonnelSelection from '@/components/PersonnelSelection/index'
|
||||
import ImportFile from '@/components/ImportFile/index'
|
||||
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'TermInformation',
|
||||
@@ -139,6 +141,7 @@
|
||||
ImportFile
|
||||
},
|
||||
props: ['gatherResultList'],
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
url: {
|
||||
@@ -158,25 +161,29 @@
|
||||
title: this.$t('clauseName'),
|
||||
dataIndex: 'itemName',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 234
|
||||
},
|
||||
{
|
||||
title: this.$t('clauseContent'),
|
||||
dataIndex: 'itemContent',
|
||||
align: 'left',
|
||||
scopedSlots: { customRender: 'clauseContent' }
|
||||
scopedSlots: { customRender: 'clauseContent' },
|
||||
width: 234
|
||||
},
|
||||
{
|
||||
title: this.$t('evaluationMethod'),
|
||||
dataIndex: 'evaluationMethods',
|
||||
align: 'left',
|
||||
scopedSlots: { customRender: 'evaluationMethod' }
|
||||
scopedSlots: { customRender: 'evaluationMethod' },
|
||||
width: 234
|
||||
},
|
||||
{
|
||||
title: this.$t('Assessor'),
|
||||
dataIndex: 'Assessor',
|
||||
align: 'left',
|
||||
scopedSlots: { customRender: 'Assessor' }
|
||||
scopedSlots: { customRender: 'Assessor' },
|
||||
width: 234
|
||||
},
|
||||
{
|
||||
title: this.$t('operation'),
|
||||
|
||||
+15
-12
@@ -92,6 +92,7 @@
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 260px)'}"
|
||||
@@ -130,6 +131,7 @@
|
||||
import { getAction, postAction, downloadFile } from '@/api/manage'
|
||||
import viewFileModel from '@/components/viewFileModel/index'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'evaluationResultsClause',
|
||||
@@ -137,6 +139,7 @@
|
||||
PersonnelSelection,
|
||||
viewFileModel
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
queryParam: {},
|
||||
@@ -161,70 +164,70 @@
|
||||
{
|
||||
title: this.$t('clauseNo'),
|
||||
dataIndex: 'itemNum',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 160
|
||||
},
|
||||
{
|
||||
title: this.$t('clauseName'),
|
||||
dataIndex: 'itemName',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 160
|
||||
},
|
||||
{
|
||||
title: this.$t('clauseContent'),
|
||||
dataIndex: 'itemContent',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 260,
|
||||
scopedSlots: { customRender: 'clauseContent' }
|
||||
},
|
||||
{
|
||||
title: this.$t('Assessor'),
|
||||
dataIndex: 'evaluatorName',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 160
|
||||
},
|
||||
{
|
||||
title: this.$t('evaluationMethod'),
|
||||
dataIndex: 'evaluationMethodsName',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 160
|
||||
},
|
||||
{
|
||||
title: this.$t('complianceResults'),
|
||||
dataIndex: 'complianceResultName',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 160
|
||||
},
|
||||
{
|
||||
title: this.$t('nameTechnicalDocument'),
|
||||
dataIndex: 'technicalFileName',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 260
|
||||
},
|
||||
{
|
||||
title: this.$t('chapter'),
|
||||
dataIndex: 'section',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 260
|
||||
},
|
||||
{
|
||||
title: this.$t('opinion'),
|
||||
dataIndex: 'opinion',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 260
|
||||
},
|
||||
{
|
||||
title: this.$t('enclosure'),
|
||||
dataIndex: 'accessoryFile',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 160,
|
||||
scopedSlots: { customRender: 'accessoryFile' }
|
||||
@@ -232,7 +235,7 @@
|
||||
{
|
||||
title: this.$t('feedbackTime'),
|
||||
dataIndex: 'feedbackTime',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 160
|
||||
}
|
||||
@@ -327,7 +330,7 @@
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
@import'~@assets/less/common.less';
|
||||
|
||||
.doc-detail {
|
||||
background: #fff;
|
||||
|
||||
+9
-1
@@ -57,6 +57,7 @@
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%',y:350}"
|
||||
@@ -85,6 +86,7 @@
|
||||
import { getAction, postAction, downloadFile } from '@/api/manage'
|
||||
import viewFileModel from '@/components/viewFileModel/index'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'evaluationResultsWhole',
|
||||
@@ -92,6 +94,7 @@
|
||||
PersonnelSelection,
|
||||
viewFileModel
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
queryParam: {},
|
||||
@@ -156,6 +159,7 @@
|
||||
title: this.$t('problemDescription'),
|
||||
dataIndex: 'issueOrSuggest',
|
||||
align: 'left',
|
||||
width: 573,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
@@ -264,7 +268,7 @@
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
@import'~@assets/less/common.less';
|
||||
|
||||
.doc-detail {
|
||||
background: #fff;
|
||||
@@ -433,6 +437,10 @@
|
||||
/deep/.ant-table-column-title{
|
||||
font-weight: bold!important;
|
||||
}
|
||||
|
||||
::v-deep .ant-table-placeholder{
|
||||
margin-top: 8px !important;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.box-clause .ant-card-body {
|
||||
|
||||
+3
@@ -14,6 +14,7 @@
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%'}"
|
||||
@@ -244,6 +245,7 @@
|
||||
import moment from 'moment'
|
||||
import eventBUs from '../../../../common/event'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'evaluationInitiationProcess',
|
||||
@@ -256,6 +258,7 @@
|
||||
standardDecompositionSheet,
|
||||
TermInformation
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
title: this.$t('regulatoryEngineer') + this.$t('initiatingProcess'),
|
||||
|
||||
@@ -103,6 +103,7 @@
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 140px)'}"
|
||||
@@ -181,12 +182,14 @@
|
||||
import { getAction, postAction, deleteAction } from '@/api/manage'
|
||||
import processInformation from './components/processInformation'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
components: {
|
||||
processInformation
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
//url传参严格按照当前命名
|
||||
@@ -585,4 +588,8 @@
|
||||
::v-deep .ant-table-body {
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
::v-deep .ant-table-placeholder {
|
||||
margin-top: 8px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -34,6 +34,7 @@
|
||||
</div>
|
||||
|
||||
<a-table
|
||||
:components="drag(columns,'columns')"
|
||||
ref="table"
|
||||
rowKey="id"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
@@ -55,10 +56,11 @@
|
||||
<script>
|
||||
import { getAction, putAction, deleteAction } from '@/api/manage'
|
||||
import { JeroListMixin } from '@/mixins/JeroListMixin'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'customContentList',
|
||||
mixins: [JeroListMixin],
|
||||
mixins: [JeroListMixin,ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
queryParam: {},
|
||||
@@ -69,6 +71,7 @@
|
||||
align: 'left',
|
||||
dataIndex: 'msgContent',
|
||||
ellipsis: true,
|
||||
width: 700,
|
||||
scopedSlots: { customRender: 'msgContent' }
|
||||
},
|
||||
{
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
</div>
|
||||
<div class="colloction-table">
|
||||
<a-table
|
||||
:components="drag(columns,'columns')"
|
||||
ref="table"
|
||||
size="middle"
|
||||
rowKey="id"
|
||||
@@ -102,12 +103,13 @@
|
||||
<script>
|
||||
import { getAction, postAction, deleteAction, putAction } from '@/api/manage'
|
||||
import problemKnowledgeBaseList from './components/problemKnowledgeBaseList'
|
||||
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
export default {
|
||||
name: 'collection',
|
||||
components: {
|
||||
problemKnowledgeBaseList
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
selectedRowKeys: [],
|
||||
@@ -323,7 +325,7 @@
|
||||
}
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
@import'~@assets/less/common.less';
|
||||
|
||||
.collection {
|
||||
.collection-search-wrapper {
|
||||
@@ -369,6 +371,16 @@
|
||||
height: 38px;
|
||||
}
|
||||
|
||||
///deep/ .nio-drag-handler {
|
||||
// position: absolute;
|
||||
// right: 0;
|
||||
// top: 0;
|
||||
// height: 100%;
|
||||
// width: 1px;
|
||||
// z-index: 1;
|
||||
// border-left: 1px #e8e8e8 solid;
|
||||
//}
|
||||
|
||||
::v-deep .ant-card-body {
|
||||
padding: 0 24px!important;
|
||||
}
|
||||
|
||||
@@ -177,9 +177,10 @@
|
||||
>
|
||||
<a-table
|
||||
class="table"
|
||||
:components="drag(columns,'columns')"
|
||||
:columns="columns"
|
||||
:pagination="false"
|
||||
:scroll="{y: 400}"
|
||||
:scroll="{x: '100%',y: 400}"
|
||||
:data-source="dataSource"
|
||||
:loading="loading"
|
||||
>
|
||||
@@ -217,7 +218,7 @@
|
||||
class="table"
|
||||
:columns="columnsRelated"
|
||||
:pagination="false"
|
||||
:scroll="{y: 400}"
|
||||
:scroll="{x: '100%',y: 400}"
|
||||
:data-source="dataSourceRelated"
|
||||
:loading="loading"
|
||||
>
|
||||
@@ -273,12 +274,14 @@
|
||||
import { Base64 } from 'js-base64'
|
||||
import uploadFile from '@/components/uploadFile/file'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'docIndex',
|
||||
components: {
|
||||
uploadFile
|
||||
},
|
||||
mixins: [ResizeColumnProvide,ResizeHeader],
|
||||
data() {
|
||||
return {
|
||||
url: {
|
||||
@@ -295,7 +298,8 @@
|
||||
dataIndex: 'title',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
scopedSlots: { customRender: 'operation' },
|
||||
width: 544
|
||||
}
|
||||
],
|
||||
columnsFile: [
|
||||
@@ -333,7 +337,8 @@
|
||||
dataIndex: 'content',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'content' }
|
||||
scopedSlots: { customRender: 'content' },
|
||||
width: 484
|
||||
},
|
||||
{
|
||||
title: this.$t('ModificationTime'),
|
||||
@@ -828,4 +833,8 @@
|
||||
///deep/.table .ant-table-tbody > tr > td {
|
||||
// color: #040B29 ;
|
||||
//}
|
||||
|
||||
/deep/ .ant-table-placeholder{
|
||||
margin-top: 8px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -69,6 +69,7 @@
|
||||
@actionSynchron="actionSynchron"
|
||||
:url="url"
|
||||
showAction
|
||||
ref='tableAdmin'
|
||||
@actionDown="actionDown"
|
||||
@onSelectChange="onSelectChange"
|
||||
@actionDelete="actionDelete"
|
||||
@@ -441,7 +442,7 @@
|
||||
},
|
||||
docVisible(val){
|
||||
this.drawVisible=val
|
||||
|
||||
this.$refs.tableAdmin.getDataAdmin()
|
||||
},
|
||||
//文件详情跳转
|
||||
detailClick(val){
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
:flag="'3'"
|
||||
:OperationList="OperationList"
|
||||
showAction
|
||||
ref='tableAdmin'
|
||||
@onSelectChange="onSelectChange"
|
||||
@backDocument="backDocument"
|
||||
@deleteDetail="deleteDetail"
|
||||
@@ -249,6 +250,7 @@
|
||||
if (num == 1){
|
||||
eventBUs.$emit('searchGetData')
|
||||
}
|
||||
this.$refs.tableAdmin.getDataAdmin()
|
||||
},
|
||||
iVisible(val,num) {
|
||||
this.importsVisible = val
|
||||
|
||||
@@ -60,6 +60,7 @@
|
||||
</div>
|
||||
<div class="colloction-table">
|
||||
<a-table
|
||||
:components="drag(columns,'columns')"
|
||||
ref="table"
|
||||
size="middle"
|
||||
rowKey="id"
|
||||
@@ -101,12 +102,14 @@
|
||||
<script>
|
||||
import { getAction, postAction, deleteAction, putAction } from '@/api/manage'
|
||||
import SubArea from './module/SubArea'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'subscribtion',
|
||||
components: {
|
||||
SubArea
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
selectedRowKeys: [],
|
||||
@@ -336,7 +339,7 @@
|
||||
}
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
@import'~@assets/less/common.less';
|
||||
|
||||
.subscribtion {
|
||||
.subscribtion-search-wrapper {
|
||||
@@ -379,6 +382,16 @@
|
||||
.box-button {
|
||||
height: 38px;
|
||||
}
|
||||
|
||||
///deep/ .nio-drag-handler {
|
||||
// position: absolute;
|
||||
// right: 0;
|
||||
// top: 0;
|
||||
// height: 100%;
|
||||
// width: 1px;
|
||||
// z-index: 1;
|
||||
// border-left: 1px #e8e8e8 solid;
|
||||
//}
|
||||
</style>
|
||||
<style lang="less">
|
||||
.subscribtion {
|
||||
|
||||
@@ -65,11 +65,12 @@
|
||||
ref="table"
|
||||
size="middle"
|
||||
rowKey="id"
|
||||
:components="drag(columns,'columns')"
|
||||
:columns="columns"
|
||||
:dataSource="areaTable"
|
||||
:pagination="false"
|
||||
:loading="loading"
|
||||
:scroll="{x: 600}"
|
||||
:scroll="{x: '100%'}"
|
||||
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
||||
@change="handleTableChange">
|
||||
<a slot="name" slot-scope="text">{{ text }}</a>
|
||||
@@ -95,11 +96,14 @@
|
||||
|
||||
<script>
|
||||
import { putAction,postAction,getAction,deleteAction } from '@/api/manage'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'diolagArea',
|
||||
components:{
|
||||
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data(){
|
||||
return{
|
||||
title:this.$t('add'),
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<div class="list-table">
|
||||
<a-table :data-source="tableData" :scroll="{x: 900}"
|
||||
:columns="columns" rowKey="id"
|
||||
:components="drag(columns,'columns')"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
:pagination="false"
|
||||
class="tag-con-table">
|
||||
@@ -27,6 +28,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'listTable',
|
||||
props:{
|
||||
@@ -34,6 +37,7 @@
|
||||
total:Number,
|
||||
queryParams: Object
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data(){
|
||||
return{
|
||||
// tableData:[],
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
<div class="tree-table-content">
|
||||
<a-table
|
||||
class="tree-table-con"
|
||||
:components="drag(columns,'columns')"
|
||||
:columns="columns"
|
||||
:data-source="tabData"
|
||||
rowKey="id"
|
||||
@@ -35,6 +36,8 @@
|
||||
|
||||
<script>
|
||||
import { getAction, postAction, deleteAction, putAction } from '@/api/manage'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'treeTable',
|
||||
props:{
|
||||
@@ -47,6 +50,7 @@
|
||||
default: true
|
||||
}
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data(){
|
||||
return{
|
||||
loading:false, //搜索条件
|
||||
@@ -56,18 +60,21 @@
|
||||
dataIndex: 'name',
|
||||
key: 'name',
|
||||
ellipsis: true,
|
||||
width: 100
|
||||
},
|
||||
{
|
||||
title: this.$t('enName'),
|
||||
dataIndex: 'enName',
|
||||
key: 'enName',
|
||||
ellipsis: true,
|
||||
width: 100
|
||||
},
|
||||
{
|
||||
title: this.$t('describe'),
|
||||
dataIndex: 'description',
|
||||
key: 'description',
|
||||
ellipsis: true,
|
||||
width: 100
|
||||
},
|
||||
{
|
||||
title: this.$t('operation'),
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
ref="table"
|
||||
size="middle"
|
||||
rowKey="id"
|
||||
:scroll="{x: '100%'}"
|
||||
:components="drag(columns,'columns')"
|
||||
:columns="columns"
|
||||
:dataSource="tableData"
|
||||
:pagination="false"
|
||||
@@ -31,8 +33,11 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'tabTable',
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data(){
|
||||
return{
|
||||
queryParams:{
|
||||
@@ -92,6 +97,8 @@
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import'~@assets/less/common.less';
|
||||
|
||||
.tab-table{
|
||||
.action-edit{
|
||||
margin-right: 10px;
|
||||
|
||||
@@ -67,6 +67,7 @@
|
||||
|
||||
<a-table :data-source="tableData" rowKey="id" :columns="columns"
|
||||
:scroll="{x: true}"
|
||||
:components="drag(columns,'columns')"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :pagination="false"
|
||||
:loading="loading" class="tag-con-table">
|
||||
|
||||
@@ -115,6 +116,7 @@
|
||||
import DicList from '../dialog/DicList'
|
||||
import Vue from 'vue'
|
||||
import { UI_CACHE_DB_DICT_DATA } from '@/store/mutation-types'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'tagContent',
|
||||
@@ -122,6 +124,7 @@
|
||||
// tabTable,
|
||||
DicList
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
title: this.$t('add'),
|
||||
|
||||
+59
-17
@@ -42,18 +42,7 @@
|
||||
</span>
|
||||
</a-row>
|
||||
</a-form>
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:loading="loadingLeft"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%',y:340}"
|
||||
rowKey="id"
|
||||
:data-source="dataSourceLeft"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeysLeft, onChange: onSelectChangeLeft,columnTitle:' ' }"
|
||||
:columns="columns"
|
||||
>
|
||||
</a-table>
|
||||
<table-left :tablecolumns='tablecolumns' :dataSourceLeft='dataSourceLeft' :loadingLeft='loadingLeft' :selectedRowKeysLeft='selectedRowKeysLeft' :onSelectChangeLeft='onSelectChangeLeft'></table-left>
|
||||
<div class="page">
|
||||
<a-pagination
|
||||
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||
@@ -111,6 +100,7 @@
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loadingRight"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%',y:340}"
|
||||
@@ -174,9 +164,15 @@
|
||||
import { getAction, postAction, deleteAction ,downloadFile} from '@/api/manage'
|
||||
import { Base64 } from 'js-base64'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
import tableLeft from './tableLeft'
|
||||
|
||||
export default {
|
||||
name: 'initiateDocumentComparison',
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
components:{
|
||||
tableLeft
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
@@ -219,25 +215,67 @@
|
||||
title: this.$t('standard'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
dataIndex: 'serialNumber'
|
||||
dataIndex: 'serialNumber',
|
||||
width: 79
|
||||
},
|
||||
{
|
||||
title: this.$t('title'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
dataIndex: 'title'
|
||||
dataIndex: 'title',
|
||||
width: 79
|
||||
},
|
||||
{
|
||||
title: this.$t('TextStatus'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
dataIndex: 'fileType'
|
||||
dataIndex: 'fileType',
|
||||
width: 79
|
||||
},
|
||||
{
|
||||
title: this.$t('fileName'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
dataIndex: 'fileName'
|
||||
dataIndex: 'fileName',
|
||||
width: 79
|
||||
}
|
||||
],
|
||||
tablecolumns: [
|
||||
{
|
||||
title: this.$t('number'),
|
||||
align: 'left',
|
||||
width: 70,
|
||||
customRender: function(t, r, index) {
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
},
|
||||
{
|
||||
title: this.$t('standard'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
dataIndex: 'serialNumber',
|
||||
width: 79
|
||||
},
|
||||
{
|
||||
title: this.$t('title'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
dataIndex: 'title',
|
||||
width: 79
|
||||
},
|
||||
{
|
||||
title: this.$t('TextStatus'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
dataIndex: 'fileType',
|
||||
width: 79
|
||||
},
|
||||
{
|
||||
title: this.$t('fileName'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
dataIndex: 'fileName',
|
||||
width: 79
|
||||
}
|
||||
],
|
||||
dataSourceLeft: [],
|
||||
@@ -434,7 +472,7 @@
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
@import'~@assets/less/common.less';
|
||||
|
||||
.doc-detail {
|
||||
background: #fff;
|
||||
@@ -611,4 +649,8 @@
|
||||
color: #040B29;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
::v-deep .ant-table-placeholder{
|
||||
margin-top: 8px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,33 @@
|
||||
<template>
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:components="tabledrag(tablecolumns,'tablecolumns')"
|
||||
:loading="loadingLeft"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%',y:340}"
|
||||
rowKey="id"
|
||||
:data-source="dataSourceLeft"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeysLeft, onChange: onSelectChangeLeft,columnTitle:' ' }"
|
||||
:columns="tablecolumns"
|
||||
>
|
||||
</a-table>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { tableResizeHeader, tableResizeColumnProvide } from '@/mixins/tableheader'
|
||||
|
||||
export default {
|
||||
name: 'tableLeft',
|
||||
mixins:[tableResizeHeader, tableResizeColumnProvide],
|
||||
props:['tablecolumns',
|
||||
'dataSourceLeft',
|
||||
'loadingLeft',
|
||||
'selectedRowKeysLeft',
|
||||
'onSelectChangeLeft']
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -55,6 +55,7 @@
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 280px)'}"
|
||||
@@ -111,10 +112,12 @@
|
||||
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { Base64 } from 'js-base64'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
components: {},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
//url传参严格按照当前命名
|
||||
|
||||
+14
-5
@@ -46,6 +46,7 @@
|
||||
</a-form>
|
||||
</div>
|
||||
<a-table
|
||||
:components="drag(columns,'columns')"
|
||||
:columns="columns"
|
||||
rowKey="id"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 440px)'}"
|
||||
@@ -105,10 +106,12 @@
|
||||
|
||||
<script>
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'RetrieveFilesList',
|
||||
components: {},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
toggleSearchStatus: false,
|
||||
@@ -147,31 +150,36 @@
|
||||
title: this.$t('standard'),
|
||||
dataIndex: 'serial_number',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 163
|
||||
},
|
||||
{
|
||||
title: this.$t('title'),
|
||||
dataIndex: 'title',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 163
|
||||
},
|
||||
{
|
||||
title: this.$t('TextStatus'),
|
||||
dataIndex: 'state',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 162
|
||||
},
|
||||
{
|
||||
title: this.$t('fileName'),
|
||||
dataIndex: 'file_name',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 163
|
||||
},
|
||||
{
|
||||
title: this.$t('textInformation'),
|
||||
dataIndex: 'text_info',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 163
|
||||
}
|
||||
],
|
||||
dataList: [],
|
||||
@@ -257,6 +265,7 @@
|
||||
},
|
||||
handleCancel() {
|
||||
this.visible = false
|
||||
this.$emit('visible')
|
||||
},
|
||||
handleSubmit() {
|
||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||
|
||||
@@ -74,8 +74,10 @@
|
||||
</div>
|
||||
<div>
|
||||
<a-table
|
||||
v-if="isTrue"
|
||||
ref="table"
|
||||
size="middle"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 140px)'}"
|
||||
@@ -128,7 +130,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<addModel ref="addModelRef" @addModelForm="addModelForm"/>
|
||||
<RetrieveFilesList ref="RetrieveFilesListRef" @RetrieveFilesListForm="RetrieveFilesListForm"/>
|
||||
<RetrieveFilesList ref="RetrieveFilesListRef" @RetrieveFilesListForm="RetrieveFilesListForm" @visible='sVisible'/>
|
||||
</a-card>
|
||||
</template>
|
||||
|
||||
@@ -138,6 +140,7 @@
|
||||
import RetrieveFilesList from './components/RetrieveFilesList'
|
||||
import eventBUs from '../../../common/event'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
@@ -145,8 +148,10 @@
|
||||
addModel,
|
||||
RetrieveFilesList
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
isTrue: true,
|
||||
//url传参严格按照当前命名
|
||||
url: {
|
||||
list: '/docTranslation/docTranslationEO/page',
|
||||
@@ -249,6 +254,9 @@
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
sVisible(){
|
||||
this.getDataAdmin()
|
||||
},
|
||||
addModelForm() {
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
@@ -360,6 +368,12 @@
|
||||
RetrieveFilesClick() {
|
||||
this.$refs.RetrieveFilesListRef.addModel()
|
||||
},
|
||||
getDataAdmin(){
|
||||
this.isTrue = false
|
||||
setTimeout(()=>{
|
||||
this.isTrue = true
|
||||
},100)
|
||||
},
|
||||
BatchDelete() {
|
||||
if (this.selectedRowKeys.length > 0) {
|
||||
let _this = this
|
||||
@@ -482,4 +496,8 @@
|
||||
::v-deep .ant-table-body {
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
::v-deep .ant-table-placeholder{
|
||||
margin-top: 8px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -88,6 +88,7 @@
|
||||
ref="table"
|
||||
size="middle"
|
||||
@change="tableOnChange"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%'}"
|
||||
@@ -239,12 +240,14 @@
|
||||
import moment from 'moment'
|
||||
import { Base64 } from 'js-base64'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'DocumentLibrary',
|
||||
components: {
|
||||
libraryPush
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
searchOption: [],
|
||||
@@ -738,6 +741,7 @@
|
||||
}
|
||||
</style>
|
||||
<style lang="less" scoped>
|
||||
@import'~@assets/less/common.less';
|
||||
|
||||
.search-con-text {
|
||||
|
||||
|
||||
@@ -62,6 +62,7 @@
|
||||
<div style="width: 100%">
|
||||
<a-table
|
||||
:columns="columns"
|
||||
:components="drag(columns,'columns')"
|
||||
rowKey="id"
|
||||
:scroll="{x: 1200}"
|
||||
:data-source="dataList"
|
||||
@@ -96,6 +97,7 @@
|
||||
<script>
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'addModel',
|
||||
@@ -108,6 +110,7 @@
|
||||
default: {}
|
||||
}
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
toggleSearchStatus: false,
|
||||
@@ -120,19 +123,22 @@
|
||||
title: this.$t('standard'),
|
||||
dataIndex: 'serial_number',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 228
|
||||
},
|
||||
{
|
||||
title: this.$t('title'),
|
||||
dataIndex: 'title',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 228
|
||||
},
|
||||
{
|
||||
title: this.$t('zoneOfApplication'),
|
||||
dataIndex: 'region',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 228
|
||||
},
|
||||
// {
|
||||
// title: this.$t('status'),
|
||||
@@ -150,13 +156,15 @@
|
||||
title: this.$t('ImplementationDate'),
|
||||
dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 228
|
||||
},
|
||||
{
|
||||
title: this.$t('vehicleInProductionDate'),
|
||||
dataIndex: 'implement_time',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 228
|
||||
}
|
||||
// {
|
||||
// title: this.$t('correspondingStandard'),
|
||||
@@ -250,6 +258,7 @@
|
||||
},
|
||||
handleCancel() {
|
||||
this.visible = false
|
||||
this.$emit('visible')
|
||||
},
|
||||
handleSubmit() {
|
||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||
|
||||
@@ -737,6 +737,7 @@
|
||||
},
|
||||
handleCancel() {
|
||||
this.visible = false
|
||||
this.$emit('visible')
|
||||
},
|
||||
handleSubmit() {
|
||||
this.$refs.ruleForm.validate(valid => {
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
</a-form>
|
||||
</div>
|
||||
<a-table
|
||||
:components="drag(columns,'columns')"
|
||||
:columns="columns"
|
||||
rowKey="id"
|
||||
:scroll="{x: 800}"
|
||||
@@ -63,11 +64,13 @@
|
||||
|
||||
<script>
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'transferList',
|
||||
components: {},
|
||||
props: ['url'],
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
@@ -78,26 +81,30 @@
|
||||
{
|
||||
title: this.$t('VirtualListName'),
|
||||
dataIndex: 'name',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 223
|
||||
},
|
||||
{
|
||||
title: this.$t('instructionForUse'),
|
||||
dataIndex: 'useExplain',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 223
|
||||
},
|
||||
{
|
||||
title: this.$t('updateTime'),
|
||||
dataIndex: 'updateTime',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 223
|
||||
},
|
||||
{
|
||||
title: this.$t('creater'),
|
||||
dataIndex: 'createBy',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 223
|
||||
}
|
||||
],
|
||||
dataList: [],
|
||||
@@ -161,6 +168,7 @@
|
||||
},
|
||||
handleCancel() {
|
||||
this.visible = false
|
||||
this.$emit('visible')
|
||||
},
|
||||
handleSubmit(flag) {
|
||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||
|
||||
@@ -126,7 +126,31 @@
|
||||
<a-icon type="setting"/>
|
||||
{{$t('batSetting')}}
|
||||
</div>
|
||||
<!-- 自定义表头-->
|
||||
<!-- 调取-->
|
||||
<!-- v-if="isTrue"-->
|
||||
<div @click="transferClick"
|
||||
v-has="'dummyInventoryInfo:copyInfoByIds'"
|
||||
class="operator-text" >
|
||||
<a-icon type="profile"/>
|
||||
{{$t('Transfer')}}
|
||||
</div>
|
||||
<!-- 添加-->
|
||||
<!-- v-if="isTrue"-->
|
||||
<div @click="handleAdd"
|
||||
v-has="'dummyInventoryInfo:add'"
|
||||
class="operator-text" >
|
||||
<a-icon type="plus"/>
|
||||
{{$t('add')}}
|
||||
</div>
|
||||
<!-- 删除-->
|
||||
<!-- v-if="isTrue"-->
|
||||
<div @click="handleDel"
|
||||
v-has="'dummyInventoryInfo:deleteBatch'"
|
||||
class="operator-text" >
|
||||
<a-icon type="delete"/>
|
||||
{{$t('BatchDelete')}}
|
||||
</div>
|
||||
<!-- 自定义表头-->
|
||||
<a-popconfirm :visible="customizevisible" overlayClassName='popconfirmmize' placement="bottomRight" >
|
||||
<template slot="title" id="popconfirmmize">
|
||||
<div style="height:320px;overflow:scroll;overflow-x: auto;">
|
||||
@@ -153,32 +177,8 @@
|
||||
{{ $t('customize') }}
|
||||
</div>
|
||||
</a-popconfirm>
|
||||
<!-- 调取-->
|
||||
<!-- v-if="isTrue"-->
|
||||
<div @click="transferClick"
|
||||
v-has="'dummyInventoryInfo:copyInfoByIds'"
|
||||
class="operator-text" >
|
||||
<a-icon type="profile"/>
|
||||
{{$t('Transfer')}}
|
||||
</div>
|
||||
<!-- 添加-->
|
||||
<!-- v-if="isTrue"-->
|
||||
<div @click="handleAdd"
|
||||
v-has="'dummyInventoryInfo:add'"
|
||||
class="operator-text" >
|
||||
<a-icon type="plus"/>
|
||||
{{$t('add')}}
|
||||
</div>
|
||||
<!-- 删除-->
|
||||
<!-- v-if="isTrue"-->
|
||||
<div @click="handleDel"
|
||||
v-has="'dummyInventoryInfo:deleteBatch'"
|
||||
class="operator-text" >
|
||||
<a-icon type="delete"/>
|
||||
{{$t('BatchDelete')}}
|
||||
</div>
|
||||
</div>
|
||||
<div style="width: 100%">
|
||||
<div style="width: 100%" v-if="istable">
|
||||
<a-table
|
||||
ref="table"
|
||||
:loading="loading"
|
||||
@@ -255,10 +255,10 @@
|
||||
</a-card>
|
||||
</div>
|
||||
</div>
|
||||
<addModel :url="url" ref="addModelRef" @addModelList="addModelList"/>
|
||||
<editModel :url="url" ref="editModelRef" @editModelList="editModelList"/>
|
||||
<UpdateLog :url="url" ref="UpdateLogRef"/>
|
||||
<transferList :url="url" @transferListForm="transferListForm" ref="transferListRef"/>
|
||||
<addModel :url="url" ref="addModelRef" @addModelList="addModelList" @visible='sVisible'/>
|
||||
<editModel :url="url" ref="editModelRef" @editModelList="editModelList" @visible='sVisible'/>
|
||||
<UpdateLog :url="url" ref="UpdateLogRef" @visible='sVisible'/>
|
||||
<transferList :url="url" @transferListForm="transferListForm" ref="transferListRef" @visible='sVisible'/>
|
||||
<transferListvirtal :url="url" @transferListFormHomo="transferListFormHomo" ref="transferListvirtalRef"/>
|
||||
<batSetting :url="url" ref="batSettingRef" @batSettingList="batSettingList"/>
|
||||
<a-modal
|
||||
@@ -306,9 +306,9 @@
|
||||
import transferList from './transferList'
|
||||
import transferListvirtal from './transferListvirtal'
|
||||
import { getAction, postAction, downloadFile } from '@/api/manage'
|
||||
import {ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
import { Base64 } from 'js-base64'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { ResizeHeader,ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'virtualListDetails',
|
||||
@@ -331,6 +331,7 @@
|
||||
visibleFile: false,
|
||||
transferList: false,
|
||||
orderBy: '1',
|
||||
istable: true,
|
||||
orderByField: '',
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
|
||||
@@ -1330,11 +1331,18 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
this.isTruee = false
|
||||
this.$nextTick(()=>{
|
||||
this.isTruee = true
|
||||
})
|
||||
return columnResult
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
sVisible(){
|
||||
this.getDataAdmin()
|
||||
},
|
||||
handleSuperQuery(params, matchType) {
|
||||
let sqp = {}
|
||||
if (!params || (params && params.length == 0)) {
|
||||
@@ -1368,6 +1376,12 @@
|
||||
transferClick() {
|
||||
this.$refs.transferListRef.transferModel()
|
||||
},
|
||||
getDataAdmin(){
|
||||
this.isTrue = false
|
||||
setTimeout(()=>{
|
||||
this.isTrue = true
|
||||
},100)
|
||||
},
|
||||
//导出
|
||||
handleExport() {
|
||||
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
|
||||
@@ -1729,7 +1743,7 @@
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
@import'~@assets/less/common.less';
|
||||
|
||||
.doc-detail {
|
||||
background: #fff;
|
||||
@@ -1925,7 +1939,7 @@
|
||||
//}
|
||||
|
||||
::v-deep .ant-table-body-inner {
|
||||
padding-bottom: 16px;
|
||||
padding-bottom: 9px;
|
||||
}
|
||||
|
||||
::v-deep .ant-table-scroll .ant-table-header::-webkit-scrollbar {
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%'}"
|
||||
@@ -160,6 +161,7 @@
|
||||
import tableDragResize from '@/mixins/tableDragResize'
|
||||
import setCreator from '@/components/setCreator/index'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
@@ -167,7 +169,7 @@
|
||||
VueDraggableResizable,
|
||||
setCreator
|
||||
},
|
||||
mixins: [tableDragResize],
|
||||
mixins: [tableDragResize, ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
@@ -219,21 +221,21 @@
|
||||
title: this.$t('VirtualListName'),
|
||||
align: 'left',
|
||||
dataIndex: 'name',
|
||||
width: '25%',
|
||||
width: 260,
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'VirtualListName' }
|
||||
},
|
||||
{
|
||||
title: this.$t('listStatus'),
|
||||
align: 'left',
|
||||
width: '25%',
|
||||
width: 260,
|
||||
ellipsis: true,
|
||||
dataIndex: 'state_dictText'
|
||||
},
|
||||
{
|
||||
title: this.$t('creater'),
|
||||
align: 'left',
|
||||
width: '25%',
|
||||
width: 260,
|
||||
ellipsis: true,
|
||||
dataIndex: 'createBy'
|
||||
},
|
||||
|
||||
@@ -133,6 +133,7 @@
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
rowKey="id"
|
||||
@@ -296,6 +297,7 @@
|
||||
import eventBUs from '@/common/event'
|
||||
import { mapGetters } from 'vuex'
|
||||
import PersonnelSelection from '@/components/PersonnelSelection/index'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'SplitDetail',
|
||||
@@ -306,6 +308,7 @@
|
||||
globalAdvancedQuery
|
||||
// ImportFile
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
toggleSearchStatus: false,
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
size="middle"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:components="drag(columns,'columns')"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 130px)'}"
|
||||
rowKey="id"
|
||||
:data-source="dataSource"
|
||||
@@ -120,11 +121,14 @@ import axios from 'axios'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import eventBUs from '../../../common/event'
|
||||
import Vue from 'vue'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
components: {
|
||||
addModel,
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
token:Vue.ls.get(ACCESS_TOKEN),
|
||||
@@ -180,6 +184,7 @@ export default {
|
||||
ellipsis: true,
|
||||
dataIndex: 'description',
|
||||
// scopedSlots: { customRender: 'titleName' }
|
||||
width: 192
|
||||
},
|
||||
// {
|
||||
// title: this.$t('zoneOfApplication'),
|
||||
@@ -535,4 +540,8 @@ export default {
|
||||
::v-deep .ant-table-body {
|
||||
background: transparent!important;
|
||||
}
|
||||
|
||||
::v-deep .ant-table-placeholder{
|
||||
margin-top: 8px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -34,6 +34,7 @@
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 158px)'}"
|
||||
@@ -43,9 +44,9 @@
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
:columns="columns"
|
||||
>
|
||||
<span slot="projectName" slot-scope="text,record" :title="text">
|
||||
{{ text && text.length > 20 ? text.slice(0, 19) + '...' : text }}
|
||||
</span>
|
||||
<!-- <span slot="projectName" slot-scope="text,record" :title="text">-->
|
||||
<!-- {{ text && text.length > 20 ? text.slice(0, 19) + '...' : text }}-->
|
||||
<!-- </span>-->
|
||||
<span slot="operation" slot-scope="text,record">
|
||||
<a class="text-operation" @click="handlecody(record)" v-has="'params:report:history'">{{$t('Exporthistory')}}</a>
|
||||
<a class="text-operation" @click="deleteLib(record)" v-has="'report:detail:list'">{{$t('See')}}</a>
|
||||
@@ -110,12 +111,14 @@
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import eventBUs from '../../../common/event'
|
||||
import Vue from 'vue'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
components: {
|
||||
ExportHistory
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
token: Vue.ls.get(ACCESS_TOKEN),
|
||||
@@ -157,7 +160,7 @@
|
||||
{
|
||||
title: this.$t('entryName'),
|
||||
align: 'left',
|
||||
width: '17%',
|
||||
width: 210,
|
||||
dataIndex: 'projectName',
|
||||
sorter:true,
|
||||
scopedSlots: { customRender: 'projectName' }
|
||||
@@ -165,11 +168,13 @@
|
||||
{
|
||||
title: this.$t('ListTitle'),
|
||||
align: 'left',
|
||||
dataIndex: 'title'
|
||||
width: 380,
|
||||
dataIndex: 'title',
|
||||
},
|
||||
{
|
||||
title: this.$t('Version'),
|
||||
align: 'left',
|
||||
width: 382,
|
||||
dataIndex: 'version'
|
||||
},
|
||||
{
|
||||
@@ -483,4 +488,14 @@
|
||||
::v-deep .ant-table-body {
|
||||
background: transparent!important;
|
||||
}
|
||||
|
||||
::v-deep .ant-table-row-cell-break-word{
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
::v-deep .ant-table-placeholder{
|
||||
margin-top: 8px !important
|
||||
}
|
||||
</style>
|
||||
@@ -46,6 +46,7 @@
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 160px)'}"
|
||||
@@ -114,11 +115,14 @@ import axios from 'axios'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import eventBUs from '../../../common/event'
|
||||
import Vue from 'vue'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
components: {
|
||||
addModel,
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
token:Vue.ls.get(ACCESS_TOKEN),
|
||||
@@ -166,7 +170,7 @@ export default {
|
||||
dataIndex: 'templateName',
|
||||
sorter:true,
|
||||
ellipsis: true,
|
||||
width: 300,
|
||||
width: 201,
|
||||
scopedSlots: { customRender: 'templateName' }
|
||||
},
|
||||
{
|
||||
@@ -174,7 +178,7 @@ export default {
|
||||
align: 'left',
|
||||
dataIndex: 'description',
|
||||
ellipsis: true,
|
||||
width: 300,
|
||||
width: 192,
|
||||
scopedSlots: { customRender: 'projectName' }
|
||||
},
|
||||
{
|
||||
|
||||
@@ -70,6 +70,7 @@
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 130px)'}"
|
||||
@@ -113,12 +114,15 @@ import axios from 'axios'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import ImportFileOnlyList from '@/components/ImportFileOnlyList/index'
|
||||
import Vue from 'vue'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
components: {
|
||||
addModel,
|
||||
ImportFileOnlyList
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
certCategoryParamsInfoEOList: [],
|
||||
@@ -174,6 +178,7 @@ export default {
|
||||
align: 'left',
|
||||
dataIndex: 'description',
|
||||
ellipsis: true,
|
||||
width: 180,
|
||||
// scopedSlots: { customRender: 'titleName' }
|
||||
},
|
||||
{
|
||||
@@ -527,4 +532,8 @@ export default {
|
||||
::v-deep .ant-table-body {
|
||||
background: transparent!important;
|
||||
}
|
||||
|
||||
::v-deep .ant-table-placeholder{
|
||||
margin-top: 8px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -7,6 +7,7 @@
|
||||
</div>
|
||||
<div style="width: 100%">
|
||||
<a-table
|
||||
:components="drag(columns,'columns')"
|
||||
ref="table"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
@@ -26,9 +27,11 @@
|
||||
import { getAction, postAction, downloadFile } from '@/api/manage'
|
||||
import moment from 'moment'
|
||||
import { Base64 } from 'js-base64'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'circulationHistory',
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
dataSource: [],
|
||||
@@ -44,32 +47,32 @@
|
||||
title: this.$t('OperationNode'),
|
||||
dataIndex: 'name',
|
||||
align: 'left',
|
||||
width:'20%',
|
||||
width:200,
|
||||
},
|
||||
{
|
||||
title: this.$t('Operator'),
|
||||
dataIndex: 'assignee',
|
||||
align: 'left',
|
||||
width:'20%',
|
||||
width:200,
|
||||
},
|
||||
{
|
||||
title: this.$t('result'),
|
||||
dataIndex: 'approvalResult',
|
||||
align: 'left',
|
||||
width:'20%',
|
||||
width:200,
|
||||
scopedSlots: { customRender: 'approvalResult' }
|
||||
},
|
||||
{
|
||||
title: this.$t('opinion'),
|
||||
dataIndex: 'approvalOpinion',
|
||||
align: 'left',
|
||||
width:'20%',
|
||||
width:200,
|
||||
},
|
||||
{
|
||||
title: this.$t('OperationTime'),
|
||||
dataIndex: 'createTime',
|
||||
align: 'left',
|
||||
width:'20%',
|
||||
width:200,
|
||||
customRender: function(t, r, index) {
|
||||
return moment(t).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
</div>
|
||||
<a-table
|
||||
ref="table"
|
||||
:components="drag(columnsAll,'columnsAll')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: 1600}"
|
||||
@@ -320,6 +321,7 @@
|
||||
import uploadFile from '@/components/uploadFile/file'
|
||||
import viewFileModel from '@/components/viewFileModel/index'
|
||||
import { Base64 } from 'js-base64'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'engineeringConfirmation',
|
||||
@@ -328,6 +330,7 @@
|
||||
uploadFile,
|
||||
viewFileModel
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
@@ -404,39 +407,45 @@
|
||||
{
|
||||
title: 'ID',
|
||||
dataIndex: 'serialNumber',
|
||||
align: 'left'
|
||||
align: 'left',
|
||||
width: 235
|
||||
},
|
||||
{
|
||||
title: this.$t('completedBy'),
|
||||
dataIndex: 'createBy',
|
||||
ellipsis: true,
|
||||
align: 'left'
|
||||
align: 'left',
|
||||
width: 235
|
||||
},
|
||||
{
|
||||
title: this.$t('completedTime'),
|
||||
dataIndex: 'createTime',
|
||||
ellipsis: true,
|
||||
align: 'left'
|
||||
align: 'left',
|
||||
width: 235
|
||||
},
|
||||
{
|
||||
title: this.$t('feedbackFromTheEngineer'),
|
||||
dataIndex: 'engineerFeedbackContent',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'engineerFeedbackContent' }
|
||||
scopedSlots: { customRender: 'engineerFeedbackContent' },
|
||||
width: 235
|
||||
},
|
||||
{
|
||||
title: this.$t('Deliverables'),
|
||||
dataIndex: 'fileId',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'Deliverables' }
|
||||
scopedSlots: { customRender: 'Deliverables' },
|
||||
width: 235
|
||||
},
|
||||
{
|
||||
title: this.$t('replyFromProjectContactPerson'),
|
||||
dataIndex: 'engineeringInterfacePersonReply',
|
||||
ellipsis: true,
|
||||
align: 'left'
|
||||
align: 'left',
|
||||
width: 235
|
||||
},
|
||||
{
|
||||
title: this.$t('operation'),
|
||||
|
||||
@@ -141,70 +141,70 @@
|
||||
{
|
||||
title: this.$t('clauseNo'),
|
||||
dataIndex: 'itemNum',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('clauseName'),
|
||||
dataIndex: 'itemName',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('clauseContent'),
|
||||
dataIndex: 'itemContent',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 280,
|
||||
scopedSlots: { customRender: 'clauseContent' }
|
||||
},
|
||||
{
|
||||
title: this.$t('evaluationMethod'),
|
||||
dataIndex: 'evaluationMethodsName',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('complianceResults'),
|
||||
dataIndex: 'complianceResult',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
scopedSlots: { customRender: 'complianceResults' }
|
||||
},
|
||||
{
|
||||
title: this.$t('nameTechnicalDocument'),
|
||||
dataIndex: 'technicalFileName',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 280,
|
||||
scopedSlots: { customRender: 'nameTechnicalDocument' }
|
||||
},
|
||||
{
|
||||
title: this.$t('chapter'),
|
||||
dataIndex: 'section',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
scopedSlots: { customRender: 'chapter' }
|
||||
},
|
||||
{
|
||||
title: this.$t('opinion'),
|
||||
dataIndex: 'opinion',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
scopedSlots: { customRender: 'opinion' }
|
||||
},
|
||||
{
|
||||
title: this.$t('enclosure'),
|
||||
dataIndex: 'accessoryFile',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
scopedSlots: { customRender: 'enclosure' }
|
||||
},
|
||||
{
|
||||
title: this.$t('sponsorFeedback'),
|
||||
dataIndex: 'sponsorFeedback',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'sponsorFeedbackIndex' }
|
||||
@@ -214,35 +214,35 @@
|
||||
{
|
||||
title: this.$t('clauseNo'),
|
||||
dataIndex: 'itemNum',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('clauseName'),
|
||||
dataIndex: 'itemName',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('clauseContent'),
|
||||
dataIndex: 'itemContent',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 280,
|
||||
scopedSlots: { customRender: 'clauseContent' }
|
||||
},
|
||||
{
|
||||
title: this.$t('evaluationMethod'),
|
||||
dataIndex: 'evaluationMethodsName',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('complianceResults'),
|
||||
dataIndex: 'complianceResult',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'Results' }
|
||||
@@ -250,28 +250,28 @@
|
||||
{
|
||||
title: this.$t('nameTechnicalDocument'),
|
||||
dataIndex: 'technicalFileName',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 280,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('chapter'),
|
||||
dataIndex: 'section',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('opinion'),
|
||||
dataIndex: 'opinion',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('enclosure'),
|
||||
dataIndex: 'accessoryFile',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'accessoryFile' }
|
||||
@@ -279,7 +279,7 @@
|
||||
{
|
||||
title: this.$t('sponsorFeedback'),
|
||||
dataIndex: 'sponsorFeedback',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'sponsorFeedback' }
|
||||
@@ -289,35 +289,35 @@
|
||||
{
|
||||
title: this.$t('clauseNo'),
|
||||
dataIndex: 'itemNum',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('clauseName'),
|
||||
dataIndex: 'itemName',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('clauseContent'),
|
||||
dataIndex: 'itemContent',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 280,
|
||||
scopedSlots: { customRender: 'clauseContent' }
|
||||
},
|
||||
{
|
||||
title: this.$t('evaluationMethod'),
|
||||
dataIndex: 'evaluationMethodsName',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('complianceResults'),
|
||||
dataIndex: 'complianceResult',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'Results' }
|
||||
@@ -325,28 +325,28 @@
|
||||
{
|
||||
title: this.$t('nameTechnicalDocument'),
|
||||
dataIndex: 'technicalFileName',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 280,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('chapter'),
|
||||
dataIndex: 'section',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('opinion'),
|
||||
dataIndex: 'opinion',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('enclosure'),
|
||||
dataIndex: 'accessoryFile',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'accessoryFile' }
|
||||
@@ -354,7 +354,7 @@
|
||||
{
|
||||
title: this.$t('sponsorFeedback'),
|
||||
dataIndex: 'sponsorFeedback',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 180,
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'sponsorFeedbackIndex' }
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<div style="width: 100%">
|
||||
<a-table
|
||||
ref="table"
|
||||
:components="drag(columnsAll,'columnsAll')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%'}"
|
||||
@@ -23,6 +24,7 @@
|
||||
import { getAction, postAction, downloadFile } from '@/api/manage'
|
||||
import moment from 'moment'
|
||||
import { Base64 } from 'js-base64'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'regulatoryCirculationHistory',
|
||||
@@ -32,6 +34,7 @@
|
||||
default: false
|
||||
}
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
dataSource: [],
|
||||
@@ -41,35 +44,35 @@
|
||||
title: this.$t('OperationContent'),
|
||||
dataIndex: 'taskDefinitionKeyName',
|
||||
align: 'left',
|
||||
width: '20%',
|
||||
width: 370,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('opinion'),
|
||||
dataIndex: 'approvalOpinion',
|
||||
align: 'left',
|
||||
width: '20%',
|
||||
width: 370,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('Operator'),
|
||||
dataIndex: 'createBy',
|
||||
align: 'left',
|
||||
width: '20%',
|
||||
width: 370,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('role'),
|
||||
dataIndex: 'operatorRoleName',
|
||||
align: 'left',
|
||||
width: '20%',
|
||||
width: 370,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('OperationTime'),
|
||||
dataIndex: 'createTime',
|
||||
align: 'left',
|
||||
width: '20%',
|
||||
width: 370,
|
||||
ellipsis: true,
|
||||
customRender: function(t, r, index) {
|
||||
return moment(t).format('YYYY-MM-DD HH:mm:ss')
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<template>
|
||||
<div style="width: 100%;padding: 0 24px 24px 24px">
|
||||
<a-table
|
||||
:components="drag(columns,'columns')"
|
||||
ref="table"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
@@ -58,6 +59,7 @@
|
||||
import { Base64 } from 'js-base64'
|
||||
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'standardContentList',
|
||||
@@ -67,6 +69,7 @@
|
||||
default: {}
|
||||
}
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
dataSource: [],
|
||||
@@ -175,6 +178,7 @@
|
||||
remark: this.standardContentListQuery.verifyRemark
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<div style="width: 100%">
|
||||
<a-table
|
||||
ref="table"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: true}"
|
||||
@@ -26,9 +27,11 @@
|
||||
import { getAction, postAction, downloadFile } from '@/api/manage'
|
||||
import moment from 'moment'
|
||||
import { Base64 } from 'js-base64'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'circulationHistory',
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
dataSource: [],
|
||||
@@ -45,23 +48,27 @@
|
||||
{
|
||||
title: this.$t('OperationNode'),
|
||||
dataIndex: 'name',
|
||||
align: 'left'
|
||||
align: 'left',
|
||||
width: 470
|
||||
},
|
||||
{
|
||||
title: this.$t('Operator'),
|
||||
dataIndex: 'assignee',
|
||||
align: 'left'
|
||||
align: 'left',
|
||||
width: 270
|
||||
},
|
||||
{
|
||||
title: this.$t('result'),
|
||||
dataIndex: 'reviewResult',
|
||||
align: 'left',
|
||||
scopedSlots: { customRender: 'reviewResult' }
|
||||
scopedSlots: { customRender: 'reviewResult' },
|
||||
width: 270
|
||||
},
|
||||
{
|
||||
title: this.$t('opinion'),
|
||||
dataIndex: 'approvalOpinion',
|
||||
align: 'left'
|
||||
align: 'left',
|
||||
width: 270
|
||||
},
|
||||
{
|
||||
title: this.$t('operationTime'),
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<a-table
|
||||
:components="drag(columns,'columns')"
|
||||
class="table"
|
||||
key="id"
|
||||
:pagination="false"
|
||||
@@ -103,10 +104,12 @@
|
||||
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
||||
import eventBUs from '../../../common/event'
|
||||
import moment from 'moment'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'ProcessClassification',
|
||||
components: {},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
tableDataLoading: false,
|
||||
|
||||
@@ -33,6 +33,17 @@
|
||||
v-model="formInline.paramsName"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('NareaOfResponsibility')">
|
||||
<span>{{$t('NareaOfResponsibility')}}</span>
|
||||
</div>
|
||||
<j-multi-select-tag class="box-input" v-model="formInline.dutyTerritory"
|
||||
:placeholder="$t('PleaseSelect')+$t('NareaOfResponsibility')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'duty_territory'"/>
|
||||
</div>
|
||||
</a-col>
|
||||
<!-- <a-col :md="6" :sm="8">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text" :title="$t('certificationCategory')">-->
|
||||
@@ -45,17 +56,6 @@
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<template v-if="toggleSearchStatus">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('NareaOfResponsibility')">
|
||||
<span>{{$t('NareaOfResponsibility')}}</span>
|
||||
</div>
|
||||
<j-multi-select-tag class="box-input" v-model="formInline.dutyTerritory"
|
||||
:placeholder="$t('PleaseSelect')+$t('NareaOfResponsibility')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'duty_territory'"/>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('dre')">
|
||||
|
||||
@@ -112,12 +112,12 @@
|
||||
class="taskTable"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: true,y:'calc(100vh - 335px)'}"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 300px)'}"
|
||||
:data-source="dataSource"
|
||||
rowKey="id"
|
||||
@change="tableOnChange"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
:columns="columns"
|
||||
:columns="columns" :components="drag(columns,'columns',JSON.parse(JSON.stringify([[columns[3],200],[columns[4],200],[columns[5],200]])))"
|
||||
>
|
||||
<div slot="standardInformation" slot-scope="text,result" class="box-left">
|
||||
<div class="content">
|
||||
@@ -234,6 +234,7 @@
|
||||
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
||||
import { mapGetters } from 'vuex'
|
||||
import store from '@/store/'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'TaskList',
|
||||
@@ -246,6 +247,7 @@
|
||||
taskBatSetting
|
||||
},
|
||||
props: ['isDisplayNum', 'areaOfResponsibility'],
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
toggleSearchStatus: false,
|
||||
@@ -936,6 +938,10 @@
|
||||
/deep/ .ant-table-tbody > tr > td {
|
||||
padding: 16px 16px!important;
|
||||
}
|
||||
|
||||
::v-deep .ant-table-placeholder {
|
||||
margin-top: 8px !important;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.box-input .ant-select-selection {
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
ref='table'
|
||||
size='middle'
|
||||
rowKey='id'
|
||||
:components="drag(columns,'columns')"
|
||||
:columns='columns'
|
||||
:dataSource='dataSource'
|
||||
:pagination='false'
|
||||
@@ -138,6 +139,7 @@
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import eventBUs from '@/common/event'
|
||||
import store from '@/store/'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'TaskParameterCollection',
|
||||
@@ -148,6 +150,7 @@
|
||||
HistoricalVersion,
|
||||
ProjectCollectionParameters
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
columns: [
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<a-table
|
||||
:components="drag(columns,'columnsAll')"
|
||||
:columns="columns"
|
||||
:scroll="{x: 900}"
|
||||
:data-source="dataList"
|
||||
@@ -67,6 +68,7 @@
|
||||
import { getAction, postAction, deleteAction } from '@/api/manage'
|
||||
import certificationDirectoryAdd from './certificationDirectoryAdd'
|
||||
import viewFileModel from '@/components/viewFileModel/index'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'certificationDirectory',
|
||||
@@ -75,6 +77,7 @@
|
||||
viewFileModel
|
||||
},
|
||||
props: ['isDisplayNum'],
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
@@ -86,45 +89,52 @@
|
||||
title: this.$t('directoryName'),
|
||||
dataIndex: 'directoryName',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 132
|
||||
},
|
||||
{
|
||||
title: this.$t('batch'),
|
||||
dataIndex: 'lot',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 132
|
||||
},
|
||||
{
|
||||
title: this.$t('catalogFile'),
|
||||
dataIndex: 'directoryFile',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'operationFile' }
|
||||
scopedSlots: { customRender: 'operationFile' },
|
||||
width: 132
|
||||
},
|
||||
{
|
||||
title: this.$t('testScheme'),
|
||||
dataIndex: 'experimentFile',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'operationFile' }
|
||||
scopedSlots: { customRender: 'operationFile' },
|
||||
width: 132
|
||||
},
|
||||
{
|
||||
title: this.$t('testReportLocation'),
|
||||
dataIndex: 'detectionReportLocation',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 132
|
||||
},
|
||||
{
|
||||
title: this.$t('explain'),
|
||||
dataIndex: 'explainInfo',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 132
|
||||
},
|
||||
{
|
||||
title: this.$t('uploadTime'),
|
||||
dataIndex: 'uploadTime',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 130
|
||||
},
|
||||
{
|
||||
title: this.$t('operation'),
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
<div id="main-right">
|
||||
<a-table
|
||||
ref="table"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: true}"
|
||||
@@ -27,6 +28,7 @@
|
||||
import * as echarts from 'echarts'
|
||||
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
||||
import responsibilityList from './responsibilityList'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'certificationProgress',
|
||||
@@ -39,6 +41,7 @@
|
||||
default: []
|
||||
}
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
@@ -50,28 +53,33 @@
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('notInvolved'),
|
||||
align: 'center',
|
||||
dataIndex: 'notInvolved'
|
||||
align: 'left',
|
||||
dataIndex: 'notInvolved',
|
||||
width: 102
|
||||
},
|
||||
{
|
||||
title: this.$t('toBeStarted'),
|
||||
align: 'center',
|
||||
dataIndex: 'toBeStarted'
|
||||
align: 'left',
|
||||
dataIndex: 'toBeStarted',
|
||||
width: 102
|
||||
},
|
||||
{
|
||||
title: this.$t('inProgress'),
|
||||
align: 'center',
|
||||
dataIndex: 'inProgress'
|
||||
align: 'left',
|
||||
dataIndex: 'inProgress',
|
||||
width: 102
|
||||
},
|
||||
{
|
||||
title: this.$t('experimentFailed'),
|
||||
align: 'center',
|
||||
dataIndex: 'experimentFailed'
|
||||
align: 'left',
|
||||
dataIndex: 'experimentFailed',
|
||||
width: 122
|
||||
},
|
||||
{
|
||||
title: this.$t('experimentPassed'),
|
||||
align: 'center',
|
||||
dataIndex: 'experimentPassed'
|
||||
align: 'left',
|
||||
dataIndex: 'experimentPassed',
|
||||
width: 122
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+15
-8
@@ -14,6 +14,7 @@
|
||||
<div id="main-right">
|
||||
<a-table
|
||||
ref="table"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: true}"
|
||||
@@ -34,6 +35,7 @@
|
||||
import * as echarts from 'echarts'
|
||||
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
||||
import responsibilityList from './responsibilityList'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'CurrentStatusOfTheProjectEcharts',
|
||||
@@ -46,6 +48,7 @@
|
||||
default: []
|
||||
}
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
@@ -57,23 +60,27 @@
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('red'),
|
||||
align: 'center',
|
||||
dataIndex: 'redCount'
|
||||
align: 'left',
|
||||
dataIndex: 'redCount',
|
||||
width: 139
|
||||
},
|
||||
{
|
||||
title: this.$t('yellow'),
|
||||
align: 'center',
|
||||
dataIndex: 'yellowCount'
|
||||
align: 'left',
|
||||
dataIndex: 'yellowCount',
|
||||
width: 139
|
||||
},
|
||||
{
|
||||
title: this.$t('green'),
|
||||
align: 'center',
|
||||
dataIndex: 'greenCount'
|
||||
align: 'left',
|
||||
dataIndex: 'greenCount',
|
||||
width: 139
|
||||
},
|
||||
{
|
||||
title: this.$t('blue'),
|
||||
align: 'center',
|
||||
dataIndex: 'blueCount'
|
||||
align: 'left',
|
||||
dataIndex: 'blueCount',
|
||||
width: 139
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||
<div style="margin-bottom: 60px">
|
||||
<a-table
|
||||
:components="drag(columns,'columns')"
|
||||
:columns="columns"
|
||||
:rowKey="record=> record.key"
|
||||
:scroll="{x: 800}"
|
||||
@@ -41,486 +42,187 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
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
|
||||
export default {
|
||||
name: 'transferList',
|
||||
components: {},
|
||||
props: ['url'],
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
queryParam: {},
|
||||
confirmLoading: false,
|
||||
selectedRowKeys: [],
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('customColumn'),
|
||||
dataIndex: 'name',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 884
|
||||
},
|
||||
],
|
||||
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
|
||||
}
|
||||
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
|
||||
},
|
||||
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
|
||||
}
|
||||
})
|
||||
},
|
||||
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) => {
|
||||
this.loading = true
|
||||
postAction(this.url.transferUrl, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.confirmLoading = false
|
||||
this.visible = false
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.$emit('customizeListForm')
|
||||
this.dataList = res.result.records || []
|
||||
this.total = res.result.total
|
||||
this.loading = false
|
||||
} else {
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
this.confirmLoading = false
|
||||
this.visible = false
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
getAdd() {
|
||||
let _this = this
|
||||
this.$confirm({
|
||||
content: _this.$t('TheDoesNotContainData'),
|
||||
onOk() {
|
||||
_this.handleSubmit('1')
|
||||
},
|
||||
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
|
||||
// }
|
||||
// })
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
})
|
||||
},
|
||||
getAdd() {
|
||||
let _this = this
|
||||
this.$confirm({
|
||||
content: _this.$t('TheDoesNotContainData'),
|
||||
onOk() {
|
||||
_this.handleSubmit('1')
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -14,9 +14,10 @@
|
||||
</template>
|
||||
<a-table
|
||||
class="table"
|
||||
:components="drag(columns,'columns')"
|
||||
:columns="columns"
|
||||
:pagination="false"
|
||||
:scroll="{y: 400}"
|
||||
:scroll="{x:'100%',y: 400}"
|
||||
:data-source="dataSource"
|
||||
:loading="loading"
|
||||
>
|
||||
@@ -29,9 +30,11 @@
|
||||
|
||||
<script>
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'historicalVersionList',
|
||||
mixins: [ResizeColumnProvide, ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
@@ -46,13 +49,15 @@
|
||||
title: this.$t('versionName'),
|
||||
dataIndex: 'versionsName',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 362
|
||||
},
|
||||
{
|
||||
title: this.$t('finalizationTime'),
|
||||
dataIndex: 'createTime',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 362
|
||||
},
|
||||
{
|
||||
title: this.$t('operation'),
|
||||
|
||||
@@ -60,6 +60,7 @@
|
||||
</a-form>
|
||||
</div>
|
||||
<a-table
|
||||
:components="drag(columns,'columns')"
|
||||
:columns="columns"
|
||||
rowKey="id"
|
||||
:scroll="{x: 1200}"
|
||||
@@ -93,6 +94,7 @@
|
||||
<script>
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'listAddModel',
|
||||
@@ -100,6 +102,7 @@
|
||||
globalAdvancedQuery
|
||||
},
|
||||
props: ['url'],
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
toggleSearchStatus: false,
|
||||
@@ -112,19 +115,22 @@
|
||||
title: this.$t('standard'),
|
||||
dataIndex: 'serial_number',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 228
|
||||
},
|
||||
{
|
||||
title: this.$t('title'),
|
||||
dataIndex: 'title',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 228
|
||||
},
|
||||
{
|
||||
title: this.$t('zoneOfApplication'),
|
||||
dataIndex: 'region',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 228
|
||||
},
|
||||
// {
|
||||
// title: this.$t('status'),
|
||||
@@ -142,13 +148,15 @@
|
||||
title: this.$t('ImplementationDate'),
|
||||
dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 228
|
||||
},
|
||||
{
|
||||
title: this.$t('vehicleInProductionDate'),
|
||||
dataIndex: 'implement_time',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 228
|
||||
},
|
||||
// {
|
||||
// title: this.$t('correspondingStandard'),
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
v-model="queryParam.title"></j-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<template v-if="toggleSearchStatus">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('areaOfResponsibility')">
|
||||
@@ -36,6 +35,7 @@
|
||||
:triggerChange="false" :dictCode="'duty_territory'"/>
|
||||
</div>
|
||||
</a-col>
|
||||
<template v-if="toggleSearchStatus">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('listConfirmationStatus')">
|
||||
@@ -97,6 +97,34 @@
|
||||
<div class="table-operator"
|
||||
v-if="(isRoleSwitching && !isDisplay) || (!isDisplay && roleSwitchingList.length > 1) || isDisplay"
|
||||
style="overflow:hidden;margin-bottom: 20px">
|
||||
<div style="float: right;margin-top: 1px; margin-left: 20px">
|
||||
<a-popconfirm :visible="customizevisible" overlayClassName='popconfirmmize' placement="bottomRight" >
|
||||
<template slot="title" id="popconfirmmize">
|
||||
<div style="height:320px;overflow:scroll;overflow-x: auto;">
|
||||
<a-checkbox
|
||||
style='margin-bottom: 22px;'
|
||||
v-if="customizeList && customizeList.length"
|
||||
v-model="checkAll"
|
||||
:indeterminate="indeterminate"
|
||||
@change="onCheckAllChange"
|
||||
>{{$t('selectAll')}}
|
||||
</a-checkbox>
|
||||
<a-checkbox-group @change="onChange" v-model="checkedList" class="customize-text">
|
||||
<a-checkbox class="customize-text-title" :disabled='item.disabled' v-for="(item, key) in customizeList" :key="key" :value="item.field">{{ item.name }}
|
||||
</a-checkbox>
|
||||
</a-checkbox-group>
|
||||
<div class="drawer-bootom-button">
|
||||
<a-button @click="cancel" style="margin-right: 16px">{{$t('cancel')}}</a-button>
|
||||
<a-button @click="handleSubmit" type="primary" :loading="confirmLoading">{{$t('determine')}}</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<div class="operator-text" style="position: relative" @click='getcustomize'>
|
||||
<a-icon type="setting"/>
|
||||
{{ $t('customize') }}
|
||||
</div>
|
||||
</a-popconfirm>
|
||||
</div>
|
||||
<div style="float: left;margin-bottom: 0px;margin-left: 20px" v-if="isDisplay">
|
||||
<div class="operator-text" @click="initiateListConfirmationcClick('清单')">
|
||||
<a-icon type="solution"/>
|
||||
@@ -107,7 +135,7 @@
|
||||
{{ $t('initiateTaskConfirmation') }}
|
||||
</div>
|
||||
</div>
|
||||
<div style="float: right;margin-top: 1px;" v-if="isDisplay">
|
||||
<div style="float: right;margin-top: 1px;;margin-right: 20px" v-if="isDisplay">
|
||||
<a-popconfirm overlayClassName='popconfirm' placement="bottomRight">
|
||||
<template slot="title" id="popconfirm">
|
||||
<div style="height:320px;overflow:scroll;overflow-x: auto;">
|
||||
@@ -161,32 +189,6 @@
|
||||
<span style="position: absolute;left: -13px;top: -4px">...</span>{{ $t('more') }}
|
||||
</div>
|
||||
</a-popconfirm>
|
||||
<a-popconfirm :visible="customizevisible" overlayClassName='popconfirmmize' placement="bottomRight" >
|
||||
<template slot="title" id="popconfirmmize">
|
||||
<div style="height:320px;overflow:scroll;overflow-x: auto;">
|
||||
<a-checkbox
|
||||
style='margin-bottom: 22px;'
|
||||
v-if="customizeList && customizeList.length"
|
||||
v-model="checkAll"
|
||||
:indeterminate="indeterminate"
|
||||
@change="onCheckAllChange"
|
||||
>{{$t('selectAll')}}
|
||||
</a-checkbox>
|
||||
<a-checkbox-group @change="onChange" v-model="checkedList" class="customize-text">
|
||||
<a-checkbox class="customize-text-title" :disabled='item.disabled' v-for="(item, key) in customizeList" :key="key" :value="item.field">{{ item.name }}
|
||||
</a-checkbox>
|
||||
</a-checkbox-group>
|
||||
<div class="drawer-bootom-button">
|
||||
<a-button @click="cancel" style="margin-right: 16px">{{$t('cancel')}}</a-button>
|
||||
<a-button @click="handleSubmit" type="primary" :loading="confirmLoading">{{$t('determine')}}</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<div class="operator-text" style="position: relative" @click='getcustomize'>
|
||||
<a-icon type="setting"/>
|
||||
{{ $t('customize') }}
|
||||
</div>
|
||||
</a-popconfirm>
|
||||
<!-- <div class="operator-text" @click="customizeClick">-->
|
||||
<!-- <a-icon type="setting"/>-->
|
||||
<!-- {{ $t('customize') }}-->
|
||||
@@ -210,7 +212,7 @@
|
||||
{{ $t('roleSwitching') }}
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!isDisplay" style="float: right;margin-top: 1px;margin-bottom: 0px">
|
||||
<div v-if="!isDisplay" style="float: right;margin-top: 1px;margin-bottom: 0px;margin-right: 20px">
|
||||
<div @click="handleExport" v-has="'projectLawsInventory:exportData'"
|
||||
v-if="isRoleSwitching || formInlineRoleSwitching.roleSwitchingCode == '12'"
|
||||
class="operator-text">
|
||||
@@ -244,7 +246,7 @@
|
||||
class="customizetable"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 356px)'}"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 300px)'}"
|
||||
rowKey="id"
|
||||
:data-source="dataSource"
|
||||
@change="tableOnChange"
|
||||
@@ -813,7 +815,7 @@
|
||||
title: this.$t('operation'),
|
||||
align: 'left',
|
||||
fixed: 'right',
|
||||
width: 240,
|
||||
width: 200,
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
},
|
||||
{
|
||||
|
||||
@@ -105,6 +105,7 @@
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"-->
|
||||
<a-table
|
||||
class="table"
|
||||
:components="drag(columns,'columnsAll')"
|
||||
:columns="columns"
|
||||
rowKey="id"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
@@ -270,6 +271,7 @@
|
||||
import { getAction, postAction, downloadFile, putAction } from '@/api/manage'
|
||||
import ImportFile from '@/components/ImportFile/index'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'listOfRelevantPersonnel',
|
||||
@@ -278,6 +280,7 @@
|
||||
ImportFile,
|
||||
personBatting
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
toggleSearchStatus: false,
|
||||
@@ -288,31 +291,36 @@
|
||||
title: this.$t('areaOfResponsibility'),
|
||||
align: 'left',
|
||||
dataIndex: 'dutyTerritory_dictText',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 153
|
||||
},
|
||||
{
|
||||
align: 'left',
|
||||
dataIndex: 'lawEngineerName',
|
||||
slots: { title: 'regulatoryEngineer' },
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 153
|
||||
},
|
||||
{
|
||||
align: 'left',
|
||||
slots: { title: 'engineeringInterfacePerson' },
|
||||
dataIndex: 'engineeringInterfacePersonName',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 153
|
||||
},
|
||||
{
|
||||
align: 'left',
|
||||
slots: { title: 'certifiedEngineer' },
|
||||
dataIndex: 'certificationEngineerName',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 153
|
||||
},
|
||||
{
|
||||
title: this.$t('remarks'),
|
||||
align: 'left',
|
||||
dataIndex: 'remark',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 153
|
||||
},
|
||||
{
|
||||
title: this.$t('operation'),
|
||||
@@ -689,4 +697,8 @@
|
||||
/*/deep/.table .ant-table-tbody > tr > td {*/
|
||||
/* color: #040B29 ;*/
|
||||
/*}*/
|
||||
|
||||
.table {
|
||||
margin-bottom: 60px;
|
||||
}
|
||||
</style>
|
||||
@@ -51,6 +51,7 @@
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
rowKey="uuid"
|
||||
:pagination="false"
|
||||
@@ -60,11 +61,16 @@
|
||||
:data-source="dataSource"
|
||||
:columns="columns"
|
||||
>
|
||||
<span slot="standard" slot-scope="text,result">
|
||||
<span slot="ProcessType" slot-scope="text,result">
|
||||
<a @click="standardClick(result)" class="textName" :title="text">
|
||||
{{text}}
|
||||
</a>
|
||||
</span>
|
||||
<span slot="standard" slot-scope="text,result">
|
||||
<a @click="standardhdClick(result)" class="textName" :title="text">
|
||||
{{text}}
|
||||
</a>
|
||||
</span>
|
||||
</a-table>
|
||||
</div>
|
||||
<div class="page" v-if="dataSource.length > 0">
|
||||
@@ -85,9 +91,11 @@
|
||||
<script>
|
||||
import { getAction, postAction, downloadFile, deleteAction,downloadFilePost } from '@/api/manage'
|
||||
import store from '@/store/'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'nonConformance',
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
queryParam: {},
|
||||
@@ -111,13 +119,13 @@
|
||||
align: 'left',
|
||||
dataIndex: 'title',
|
||||
ellipsis: true,
|
||||
width: 180,
|
||||
scopedSlots: { customRender: 'standard' }
|
||||
width: 180
|
||||
},
|
||||
{
|
||||
title: this.$t('ProcessType'),
|
||||
align: 'left',
|
||||
dataIndex: 'flowType',
|
||||
scopedSlots: { customRender: 'ProcessType' },
|
||||
ellipsis: true,
|
||||
sorter:true,
|
||||
width: 180
|
||||
@@ -253,6 +261,15 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
standardhdClick(row) {
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/docManage/library/detail',
|
||||
query: {
|
||||
id: row.standId
|
||||
}
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
},
|
||||
standardClick(val) {
|
||||
let num = val.prcType
|
||||
let query = {
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
</div>
|
||||
<a-table
|
||||
ref="table"
|
||||
:components="drag(columns,'columns')"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: true,y:400}"
|
||||
@@ -36,9 +37,11 @@
|
||||
<script>
|
||||
import { getAction, postAction, downloadFile } from '@/api/manage'
|
||||
import moment from 'moment'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'responsibilityList',
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
@@ -55,7 +58,7 @@
|
||||
{
|
||||
title: this.$t('areaOfResponsibility'),
|
||||
dataIndex: 'dutyTerritoryName',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 400,
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'areaOfResponsibility' }
|
||||
@@ -63,7 +66,7 @@
|
||||
{
|
||||
title: this.$t('Quantity'),
|
||||
dataIndex: 'amount',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 300
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('confirmationOfRegulationsList')">
|
||||
{{$t('confirmationOfRegulationsList')}}</span>
|
||||
</div>
|
||||
@@ -32,7 +32,7 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('regulatoryTaskConfirmation')">
|
||||
{{$t('regulatoryTaskConfirmation')}}</span>
|
||||
</div>
|
||||
@@ -51,7 +51,7 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('confirmationOfDesignConformity')">
|
||||
{{$t('confirmationOfDesignConformity')}}</span>
|
||||
</div>
|
||||
@@ -70,7 +70,7 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('preHomoCompletion')">
|
||||
{{$t('preHomoCompletion')}}</span>
|
||||
</div>
|
||||
@@ -89,7 +89,7 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('certificationStart')">
|
||||
{{$t('certificationStart')}}</span>
|
||||
</div>
|
||||
@@ -109,7 +109,7 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('certificationEnd')">
|
||||
{{$t('certificationEnd')}}</span>
|
||||
</div>
|
||||
@@ -129,7 +129,7 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('verificationAndConformityconfirmation')">
|
||||
{{$t('verificationAndConformityconfirmation')}}</span>
|
||||
</div>
|
||||
@@ -163,55 +163,55 @@
|
||||
confirmLoading: false,
|
||||
formInline: {},
|
||||
rules: {
|
||||
listConfirmation: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('confirmationOfRegulationsList') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
legalTaskConfirmation: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('regulatoryTaskConfirmation') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
designDeadline: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('confirmationOfDesignConformity') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
prehomoDeadline: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('preHomoCompletion') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
attestationStartTime: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('certificationStart') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
attestationEndTime: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('certificationEnd') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
verifyDeadline: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('verificationConfirmationDeadline') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
]
|
||||
// listConfirmation: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t('confirmationOfRegulationsList') + this.$t('cannotEmpty'),
|
||||
// trigger: 'change'
|
||||
// }
|
||||
// ],
|
||||
// legalTaskConfirmation: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t('regulatoryTaskConfirmation') + this.$t('cannotEmpty'),
|
||||
// trigger: 'change'
|
||||
// }
|
||||
// ],
|
||||
// designDeadline: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t('confirmationOfDesignConformity') + this.$t('cannotEmpty'),
|
||||
// trigger: 'change'
|
||||
// }
|
||||
// ],
|
||||
// prehomoDeadline: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t('preHomoCompletion') + this.$t('cannotEmpty'),
|
||||
// trigger: 'change'
|
||||
// }
|
||||
// ],
|
||||
// attestationStartTime: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t('certificationStart') + this.$t('cannotEmpty'),
|
||||
// trigger: 'change'
|
||||
// }
|
||||
// ],
|
||||
// attestationEndTime: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t('certificationEnd') + this.$t('cannotEmpty'),
|
||||
// trigger: 'change'
|
||||
// }
|
||||
// ],
|
||||
// verifyDeadline: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t('verificationConfirmationDeadline') + this.$t('cannotEmpty'),
|
||||
// trigger: 'change'
|
||||
// }
|
||||
// ]
|
||||
},
|
||||
ids: []
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
</a-form>
|
||||
</div>
|
||||
<a-table
|
||||
:components="drag(columns,'columns')"
|
||||
:columns="columns"
|
||||
rowKey="id"
|
||||
:scroll="{x: 1000}"
|
||||
@@ -63,11 +64,13 @@
|
||||
|
||||
<script>
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'transferList',
|
||||
components: {},
|
||||
props: ['url'],
|
||||
mixins: [ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
@@ -79,25 +82,29 @@
|
||||
title: this.$t('VirtualListName'),
|
||||
dataIndex: 'name',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 235
|
||||
},
|
||||
{
|
||||
title: this.$t('instructionForUse'),
|
||||
dataIndex: 'useExplain',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 235
|
||||
},
|
||||
{
|
||||
title: this.$t('updateTime'),
|
||||
dataIndex: 'updateTime',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 235
|
||||
},
|
||||
{
|
||||
title: this.$t('creater'),
|
||||
dataIndex: 'createBy',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 235
|
||||
}
|
||||
],
|
||||
dataList: [],
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
<!-- </a-form>-->
|
||||
<!-- </div>-->
|
||||
<a-table
|
||||
:components="drag(columns,'columns')"
|
||||
:columns="columns"
|
||||
:rowKey="(record)=>JSON.stringify(record)"
|
||||
:scroll="{x: '100%',y:500}"
|
||||
@@ -63,9 +64,11 @@
|
||||
|
||||
<script>
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'versionStatistics',
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
ref='table'
|
||||
size='middle'
|
||||
rowKey='id'
|
||||
:components="drag(columns,'columns')"
|
||||
:columns='columns'
|
||||
:dataSource='areaTable'
|
||||
:pagination='false'
|
||||
@@ -72,12 +73,14 @@ import axios from 'axios'
|
||||
import Vue from 'vue'
|
||||
import ParameterTemplate from '../dialog/ParameterTemplate'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'diolagArea',
|
||||
components: {
|
||||
ParameterTemplate
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
token:Vue.ls.get(ACCESS_TOKEN),
|
||||
@@ -91,13 +94,15 @@ export default {
|
||||
title: this.$t('zoneOfApplication'),
|
||||
dataIndex: 'region_dictText',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 296
|
||||
},
|
||||
{
|
||||
title: this.$t('parameterTemplate'),
|
||||
align: 'left',
|
||||
dataIndex: 'paramsTemplateName',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 296
|
||||
}
|
||||
],
|
||||
newVisible: false,
|
||||
|
||||
@@ -148,6 +148,7 @@
|
||||
ref='table'
|
||||
size='middle'
|
||||
rowKey='id'
|
||||
:components="drag(columns,'columns')"
|
||||
:columns='columns'
|
||||
:dataSource='areaTable'
|
||||
:pagination='false'
|
||||
@@ -178,10 +179,12 @@
|
||||
|
||||
<script>
|
||||
import { putAction, postAction, getAction, deleteAction } from '@/api/manage'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
|
||||
export default {
|
||||
name: 'diolagArea',
|
||||
components: {},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
title: this.$t('add'),
|
||||
@@ -193,15 +196,17 @@
|
||||
{
|
||||
title: this.$t('zoneOfApplication'),
|
||||
dataIndex: 'region_dictText',
|
||||
key: 'showArea',
|
||||
// key: 'showArea',
|
||||
align: 'left',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 363
|
||||
},
|
||||
{
|
||||
title: this.$t('parameterTemplate'),
|
||||
align: 'left',
|
||||
dataIndex: 'paramsTemplateName',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
width: 363
|
||||
}
|
||||
],
|
||||
projectVersionList: [],
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user