Commit 6e7ffdbe authored by Administrator's avatar Administrator

Merge remote-tracking branch 'origin/V20231129-中建一局二公司' into V20231129-中建一局二公司

parents 0c671c5b 93895dbd
...@@ -166,6 +166,7 @@ tenant: ...@@ -166,6 +166,7 @@ tenant:
- sys_push_record - sys_push_record
- d_customer - d_customer
- d_project - d_project
- d_project_type
- d_subcontract - d_subcontract
- advisory_body - advisory_body
- advisory_body_project - advisory_body_project
...@@ -184,7 +185,6 @@ tenant: ...@@ -184,7 +185,6 @@ tenant:
- d_customer_tax_certificate - d_customer_tax_certificate
- f_supplier_limited - f_supplier_limited
# MyBatisPlus配置 # MyBatisPlus配置
# https://baomidou.com/config/ # https://baomidou.com/config/
mybatis-plus: mybatis-plus:
......
package com.dsk.cscec.constant; package com.dsk.cscec.constant;
/** /**
* 搜索常量信息 * 咨询机构管理搜索常量信息
* *
* @author sxk * @author sxk
* @date 2023.12.11 * @date 2023.12.11
* @time 14:22 * @time 14:22
*/ */
public interface QueryConstants { public interface AdvisoryBodyManageQueryConstants {
/** /**
* 筛选数据一级公司名称 * 筛选数据一级公司名称
*/ */
......
package com.dsk.cscec.constant;
/**
* 涉诉限用禁用管理搜索常量信息
*
* @author sxk
* @date 2023.12.11
* @time 14:22
*/
public interface SupplierLimitedManageQueryConstants {
/**
* 涉诉限用禁用数据区分字段
*/
String LIMITED_DATA_TYPE = "限用禁用";
/**
* 解除限用禁用数据区分字段
*/
String UNLIMITED_DATA_TYPE = "解除限禁";
}
...@@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import java.util.List;
/** /**
* 咨询机构管理控制层 * 咨询机构管理控制层
...@@ -30,7 +30,7 @@ import javax.validation.constraints.NotNull; ...@@ -30,7 +30,7 @@ import javax.validation.constraints.NotNull;
@RequestMapping("advisory/body") @RequestMapping("advisory/body")
public class AdvisoryBodyManageController extends BaseController { public class AdvisoryBodyManageController extends BaseController {
@Resource @Resource
private IDProjectService baseService; private IDProjectService projectService;
@Resource @Resource
private AdvisoryBodyService advisoryBodyService; private AdvisoryBodyService advisoryBodyService;
@Resource @Resource
...@@ -43,7 +43,7 @@ public class AdvisoryBodyManageController extends BaseController { ...@@ -43,7 +43,7 @@ public class AdvisoryBodyManageController extends BaseController {
*/ */
@GetMapping("/getProjectList") @GetMapping("/getProjectList")
public TableDataInfo<ProjectSearchVo> getProjectList(ProjectSearchBo projectSearchBo, PageQuery pageQuery) { public TableDataInfo<ProjectSearchVo> getProjectList(ProjectSearchBo projectSearchBo, PageQuery pageQuery) {
return baseService.queryProjectList(projectSearchBo, pageQuery); return projectService.queryProjectList(projectSearchBo, pageQuery);
} }
/** /**
...@@ -54,12 +54,20 @@ public class AdvisoryBodyManageController extends BaseController { ...@@ -54,12 +54,20 @@ public class AdvisoryBodyManageController extends BaseController {
return advisoryBodyService.queryAdvisoryBodyList(advisoryBodySearchBo, pageQuery); return advisoryBodyService.queryAdvisoryBodyList(advisoryBodySearchBo, pageQuery);
} }
/**
* 获取项目承接类型下拉列表
*/
@GetMapping("/getIsInvestProject")
public R<List<String>> getIsInvestProject() {
return R.ok(projectService.queryIsInvestProject());
}
/** /**
* 获取合作项目明细 * 获取合作项目明细
*/ */
@GetMapping("/getCooperateProjectDetailList") @GetMapping("/getCooperateProjectDetailList")
public TableDataInfo<CooperateProjectDetailSearchVo> getCooperateProjectDetailList(@Validated CooperateProjectDetailSearchBo cooperateProjectDetailSearchBo, PageQuery pageQuery) { public TableDataInfo<CooperateProjectDetailSearchVo> getCooperateProjectDetailList(@Validated CooperateProjectDetailSearchBo cooperateProjectDetailSearchBo, PageQuery pageQuery) {
return baseService.queryCooperateProjectDetailList(cooperateProjectDetailSearchBo, pageQuery); return projectService.queryCooperateProjectDetailList(cooperateProjectDetailSearchBo, pageQuery);
} }
/** /**
...@@ -67,7 +75,7 @@ public class AdvisoryBodyManageController extends BaseController { ...@@ -67,7 +75,7 @@ public class AdvisoryBodyManageController extends BaseController {
*/ */
@GetMapping("/getProjectDetail") @GetMapping("/getProjectDetail")
public R<ProjectDetailVo> getProjectDetail(@Validated ProjectDetailBo projectDetailBo) { public R<ProjectDetailVo> getProjectDetail(@Validated ProjectDetailBo projectDetailBo) {
return R.ok(baseService.queryProjectDetail(projectDetailBo)); return R.ok(projectService.queryProjectDetail(projectDetailBo));
} }
/** /**
...@@ -79,19 +87,22 @@ public class AdvisoryBodyManageController extends BaseController { ...@@ -79,19 +87,22 @@ public class AdvisoryBodyManageController extends BaseController {
} }
/** /**
* 新增咨询机构 * 编辑咨询机构结算信息
* 包含:
* 新增咨询机构(advisory_body表)
* 新增/更新咨询机构与项目关联信息(advisory_body_project表)
*/ */
@PostMapping("/addAdvisoryBody") @PostMapping("/editAdvisoryBody")
public R<Void> addAdvisoryBody(@Validated AddAdvisoryBodyBo addAdvisoryBodyBo) { public R<Void> editAdvisoryBody(@Validated EditAdvisoryBodyInfoBo editInfoBo) {
return toAjax(advisoryBodyService.addAdvisoryBody(addAdvisoryBodyBo)); return toAjax(advisoryBodyService.editAdvisoryBody(editInfoBo));
} }
/** /**
* 获取咨询机构自定义表单 * 获取咨询机构自定义表单
*/ */
@GetMapping("/getAdvisoryBodyCustomForm/{projectKey}") @GetMapping("/getAdvisoryBodyCustomForm")
public R<AdvisoryBodyCustomForm> getAdvisoryBodyCustomForm(@Validated @NotNull(message = "项目主键不能为空") @PathVariable Long projectKey) { public R<List<AdvisoryBodyCustomForm>> getAdvisoryBodyCustomForm() {
return R.ok(advisoryBodyCustomFormService.getById(projectKey)); return R.ok(advisoryBodyCustomFormService.list());
} }
/** /**
...@@ -108,7 +119,7 @@ public class AdvisoryBodyManageController extends BaseController { ...@@ -108,7 +119,7 @@ public class AdvisoryBodyManageController extends BaseController {
*/ */
@PutMapping("/updateAdvisoryBodyCustomForm") @PutMapping("/updateAdvisoryBodyCustomForm")
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public R<Void> updateAdvisoryBodyCustomForm(@Validated AdvisoryBodyCustomForm advisoryBodyCustomForm) { public R<Void> updateAdvisoryBodyCustomForm(@Validated EditAdvisoryBodyCustomFormBo editBo) {
return toAjax(advisoryBodyCustomFormService.updateById(advisoryBodyCustomForm)); return toAjax(advisoryBodyCustomFormService.updateById(editBo));
} }
} }
\ No newline at end of file
package com.dsk.cscec.controller; package com.dsk.cscec.controller;
import com.dsk.common.core.domain.R;
import com.dsk.cscec.domain.DProjectType;
import com.dsk.cscec.domain.TreeSelect;
import com.dsk.cscec.service.DProjectTypeService; import com.dsk.cscec.service.DProjectTypeService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List;
/** /**
* 维表:工程类型,源于IPM(DProjectType)表控制层 * 维表:工程类型,源于IPM(DProjectType)表控制层
...@@ -13,7 +18,7 @@ import javax.annotation.Resource; ...@@ -13,7 +18,7 @@ import javax.annotation.Resource;
* @since 2024-01-05 11:45:43 * @since 2024-01-05 11:45:43
*/ */
@RestController @RestController
@RequestMapping("dProjectType") @RequestMapping("/dProjectType")
public class DProjectTypeController { public class DProjectTypeController {
/** /**
* 服务对象 * 服务对象
...@@ -21,6 +26,24 @@ public class DProjectTypeController { ...@@ -21,6 +26,24 @@ public class DProjectTypeController {
@Resource @Resource
private DProjectTypeService dProjectTypeService; private DProjectTypeService dProjectTypeService;
/**
* 获取所有工程类型
* @param
* @return
*/
@GetMapping("/getAll")
public R<List<TreeSelect>> selectList() {
return R.ok(dProjectTypeService.getList(new DProjectType()));
}
/**
* 根据工程类型id获取子级
* @param projectTypeId
* @return
*/
@GetMapping("/getChildren")
public R<List<DProjectType>> getChildren(String projectTypeId) {
return R.ok(dProjectTypeService.getChildren(projectTypeId));
}
} }
package com.dsk.cscec.controller;
import com.dsk.cscec.service.FSupplierLimitedService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* 供应商限制信息表(FSupplierLimited)表控制层
*
* @author sxk
* @since 2024-01-05 11:34:19
*/
@RestController
@RequestMapping("fSupplierLimited")
public class FSupplierLimitedController {
/**
* 服务对象
*/
@Resource
private FSupplierLimitedService fSupplierLimitedService;
}
package com.dsk.cscec.controller;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.bo.SupplierLimitedSearchBo;
import com.dsk.cscec.domain.bo.SupplierUnlimitedSearchBo;
import com.dsk.cscec.domain.vo.SupplierLimitedSearchVo;
import com.dsk.cscec.domain.vo.SupplierUnlimitedSearchVo;
import com.dsk.cscec.service.FSupplierLimitedService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* 供应商限制信息表(FSupplierLimited)表控制层
*
* @author sxk
* @since 2024-01-05 11:34:19
*/
@RestController
@RequestMapping("fSupplierLimited")
public class SupplierLimitedController {
/**
* 服务对象
*/
@Resource
private FSupplierLimitedService supplierLimitedService;
/**
* 获取涉诉限用禁用名单
*/
@GetMapping("/getSupplierLimitedList")
public TableDataInfo<SupplierLimitedSearchVo> getSupplierLimitedList(SupplierLimitedSearchBo searchBo, PageQuery pageQuery) {
return supplierLimitedService.querySupplierLimitedList(searchBo, pageQuery);
}
/**
* 获取解除限用禁用名单
*/
@GetMapping("/getSupplierUnlimitedList")
public TableDataInfo<SupplierUnlimitedSearchVo> getSupplierUnlimitedList(SupplierUnlimitedSearchBo searchBo, PageQuery pageQuery) {
return supplierLimitedService.querySupplierUnlimitedList(searchBo, pageQuery);
}
}
...@@ -6,7 +6,6 @@ import lombok.Data; ...@@ -6,7 +6,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
/** /**
...@@ -22,14 +21,8 @@ public class AdvisoryBodyCustomForm extends BaseEntity implements Serializable { ...@@ -22,14 +21,8 @@ public class AdvisoryBodyCustomForm extends BaseEntity implements Serializable {
/** /**
* 项目主键 * 项目主键
*/ */
@TableId(value = "project_key") @TableId(value = "ab_custom_form_id")
@NotNull(message = "项目主键不能为空") private Long abCustomFormId;
private Long projectKey;
/**
* 咨询机构ID
*/
@NotNull(message = "咨询机构ID不能为空")
private Long advisoryBodyId;
/** /**
* json数据 * json数据
*/ */
......
package com.dsk.cscec.domain; package com.dsk.cscec.domain;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data; import lombok.Data;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
/** /**
* 维表:工程类型,源于IPM(DProjectType)实体类 * 维表:工程类型,源于IPM(DProjectType)实体类
...@@ -62,4 +65,7 @@ public class DProjectType implements Serializable { ...@@ -62,4 +65,7 @@ public class DProjectType implements Serializable {
* 数据加载时间 * 数据加载时间
*/ */
private Date loadTime; private Date loadTime;
@TableField(exist = false)
private List<DProjectType> children = new ArrayList<DProjectType>();
} }
...@@ -43,4 +43,10 @@ public class TreeSelect implements Serializable { ...@@ -43,4 +43,10 @@ public class TreeSelect implements Serializable {
this.children = dept.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList()); this.children = dept.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList());
} }
public TreeSelect(DProjectType type) {
this.id = type.getProjectTypeId();
this.label = type.getProjectTypeName();
this.children = type.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList());
}
} }
...@@ -54,8 +54,14 @@ public class AdvisoryBodyBo extends BaseEntity { ...@@ -54,8 +54,14 @@ public class AdvisoryBodyBo extends BaseEntity {
/** /**
* 项目承接类型 * 项目承接类型
*/ */
private String isinvestproject;
/**
* 工程基础大类
*/
private String projectType1;
/** /**
* 工程类别明细 * 工程类别明细
*/ */
private String projectType2;
} }
package com.dsk.cscec.domain.bo;
import com.dsk.cscec.domain.AdvisoryBodyCustomForm;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author sxk
* @date 2024.01.09
* @time 11:24
*/
@Data
public class EditAdvisoryBodyCustomFormBo extends AdvisoryBodyCustomForm {
/**
* 项目主键
*/
@NotNull(message = "自定义表单ID不能为空")
private Long abCustomFormId;
}
...@@ -13,7 +13,7 @@ import java.util.Date; ...@@ -13,7 +13,7 @@ import java.util.Date;
* @time 09:54 * @time 09:54
*/ */
@Data @Data
public class AddAdvisoryBodyBo { public class EditAdvisoryBodyInfoBo {
/** /**
* 是否为新资讯机构 * 是否为新资讯机构
*/ */
...@@ -41,6 +41,7 @@ public class AddAdvisoryBodyBo { ...@@ -41,6 +41,7 @@ public class AddAdvisoryBodyBo {
private String businessScope; private String businessScope;
/** /**
* 合作时间 * 合作时间
* PRD上要求以合作时间作为排序字段,但PM未给出新增合作时间的位置,暂用创建时间作为排序字段
*/ */
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
private Date cooperatorDate; private Date cooperatorDate;
......
...@@ -19,6 +19,5 @@ public class ProjectDetailBo { ...@@ -19,6 +19,5 @@ public class ProjectDetailBo {
/** /**
* 咨询机构Cid * 咨询机构Cid
*/ */
@NotNull(message = "咨询机构Cid不能为空")
private Long advisoryBodyCid; private Long advisoryBodyCid;
} }
package com.dsk.cscec.domain.bo;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* @author sxk
* @date 2024.01.05
* @time 13:51
*/
@Data
public class SupplierLimitedSearchBo {
/**
* 供应商名称
*/
private String supplierName;
/**
* 是否为局名义被诉案件(是/否)
*/
private String isGroupCase;
/**
* 限用/禁用开始时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date limitedStartTime;
/**
* 限用/禁用结束时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date limitedEndTime;
}
package com.dsk.cscec.domain.bo;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* @author sxk
* @date 2024.01.08
* @time 09:07
*/
@Data
public class SupplierUnlimitedSearchBo {
/**
* 解除限用开始时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date unlimitedStartTime;
/**
* 解除限用结束时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date unlimitedEndTime;
/**
* 申请单位
*/
private String applyUnit;
}
...@@ -16,4 +16,12 @@ public class AdvisoryBodyExistVo extends AdvisoryBody { ...@@ -16,4 +16,12 @@ public class AdvisoryBodyExistVo extends AdvisoryBody {
* 是否为新资讯机构 * 是否为新资讯机构
*/ */
private Boolean isNewAdvisoryBody; private Boolean isNewAdvisoryBody;
/**
* 法定代表人
*/
private String corporatePerson;
/**
* 注册地址
*/
private String regAddress;
} }
package com.dsk.cscec.domain.vo;
import lombok.Data;
import java.util.Date;
/**
* @author sxk
* @date 2024.01.05
* @time 14:14
*/
@Data
public class SupplierLimitedSearchVo {
/**
* 主键id
*/
private String fid;
/**
* 单据编号
*/
private String frecordno;
/**
* 供应商Cid
*/
private Integer supplierCid;
/**
* 供应商名称(分供方名称)
*/
private String fsuppliername;
/**
* 供应商统一社会信用代码
*/
private String funifiedsocialcreditcode;
/**
* 限用情形
*/
private String flimitsituation;
/**
* 禁用情形
*/
private String fdisablesituation;
/**
* 子企业(限用推送单位)
*/
private String fjobunitname;
/**
* 限用/禁用状态
*/
private String fstate;
/**
* 时间戳(限用/禁用开始日期)
*/
private Date fts;
}
package com.dsk.cscec.domain.vo;
import lombok.Data;
import java.util.Date;
/**
* @author sxk
* @date 2024.01.05
* @time 17:47
*/
@Data
public class SupplierUnlimitedSearchVo {
/**
* 主键id
*/
private String fid;
/**
* 单据编号
*/
private String frecordno;
/**
* 供应商Cid
*/
private Integer supplierCid;
/**
* 供应商名称(分供方名称)
*/
private String fsuppliername;
/**
* 供应商统一社会信用代码
*/
private String funifiedsocialcreditcode;
/**
* 解除限用理由
*/
private String frelievereason;
/**
* 子企业(申请单位)
*/
private String fjobunitname;
/**
* 解除前状态(原限用/禁用)
*/
private String fbeforestate;
/**
* 限用日期
*/
private Date flimitdate;
/**
* 时间戳(解除限用/禁用开始日期)
*/
private Date fts;
}
...@@ -9,6 +9,8 @@ import com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo; ...@@ -9,6 +9,8 @@ import com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo;
import com.dsk.cscec.domain.vo.ProjectSearchVo; import com.dsk.cscec.domain.vo.ProjectSearchVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 项目维表(DProject)表数据库访问层 * 项目维表(DProject)表数据库访问层
* *
...@@ -21,9 +23,13 @@ public interface DProjectMapper extends BaseMapper<DProject> { ...@@ -21,9 +23,13 @@ public interface DProjectMapper extends BaseMapper<DProject> {
*/ */
Page<ProjectSearchVo> selectPageProjectList(@Param("page") Page<ProjectSearchVo> page, @Param(Constants.WRAPPER) Wrapper<DProject> queryWrapper); Page<ProjectSearchVo> selectPageProjectList(@Param("page") Page<ProjectSearchVo> page, @Param(Constants.WRAPPER) Wrapper<DProject> queryWrapper);
/**
* 获取项目承接类型下拉列表
*/
List<String> queryIsInvestProject();
/** /**
* 获取合作项目明细 * 获取合作项目明细
*/ */
Page<CooperateProjectDetailSearchVo> selectPageCooperateProjectDetailList(@Param("page") Page<CooperateProjectDetailSearchVo> page, @Param(Constants.WRAPPER) Wrapper<DProject> Wrapper); Page<CooperateProjectDetailSearchVo> selectPageCooperateProjectDetailList(@Param("page") Page<CooperateProjectDetailSearchVo> page, @Param(Constants.WRAPPER) Wrapper<DProject> Wrapper);
} }
\ No newline at end of file
package com.dsk.cscec.mapper; package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsk.cscec.domain.FSupplierLimited; import com.dsk.cscec.domain.FSupplierLimited;
import com.dsk.cscec.domain.vo.SupplierLimitedSearchVo;
import com.dsk.cscec.domain.vo.SupplierUnlimitedSearchVo;
import org.apache.ibatis.annotations.Param;
/** /**
* 供应商限制信息表(FSupplierLimited)表数据库访问层 * 供应商限制信息表(FSupplierLimited)表数据库访问层
...@@ -10,7 +17,14 @@ import com.dsk.cscec.domain.FSupplierLimited; ...@@ -10,7 +17,14 @@ import com.dsk.cscec.domain.FSupplierLimited;
* @since 2024-01-05 11:34:19 * @since 2024-01-05 11:34:19
*/ */
public interface FSupplierLimitedMapper extends BaseMapper<FSupplierLimited> { public interface FSupplierLimitedMapper extends BaseMapper<FSupplierLimited> {
/**
* 获取涉诉限用禁用名单
*/
Page<SupplierLimitedSearchVo> selectPageSupplierLimitedList(@Param("page") Page<Object> build, @Param(Constants.WRAPPER) Wrapper<FSupplierLimited> wrapper);
/**
* 获取解除限用禁用名单
*/
Page<SupplierUnlimitedSearchVo> selectPageSupplierUnlimitedList(@Param("page") Page<Object> build, @Param(Constants.WRAPPER) QueryWrapper<FSupplierLimited> wrapper);
} }
...@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.common.core.domain.PageQuery; import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.AdvisoryBody; import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.bo.AddAdvisoryBodyBo; import com.dsk.cscec.domain.bo.EditAdvisoryBodyInfoBo;
import com.dsk.cscec.domain.bo.AdvisoryBodySearchBo; import com.dsk.cscec.domain.bo.AdvisoryBodySearchBo;
import com.dsk.cscec.domain.vo.AdvisoryBodyExistVo; import com.dsk.cscec.domain.vo.AdvisoryBodyExistVo;
import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo; import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo;
...@@ -34,12 +34,15 @@ public interface AdvisoryBodyService extends IService<AdvisoryBody> { ...@@ -34,12 +34,15 @@ public interface AdvisoryBodyService extends IService<AdvisoryBody> {
AdvisoryBodyExistVo checkAdvisoryBodyExist(String advisoryBodyName); AdvisoryBodyExistVo checkAdvisoryBodyExist(String advisoryBodyName);
/** /**
* 新增咨询机构 * 编辑咨询机构结算信息
* 包含:
* 新增咨询机构(advisory_body表)
* 新增/更新咨询机构与项目关联信息(advisory_body_project表)
* *
* @param addAdvisoryBodyBo 新增信息 * @param editInfoBo 编辑信息
* @return 添加结果 * @return 编辑结果
*/ */
Integer addAdvisoryBody(AddAdvisoryBodyBo addAdvisoryBodyBo); Integer editAdvisoryBody(EditAdvisoryBodyInfoBo editInfoBo);
/** /**
* 每小时更新一次咨询机构经营范围 * 每小时更新一次咨询机构经营范围
......
...@@ -2,6 +2,9 @@ package com.dsk.cscec.service; ...@@ -2,6 +2,9 @@ package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.DProjectType; import com.dsk.cscec.domain.DProjectType;
import com.dsk.cscec.domain.TreeSelect;
import java.util.List;
/** /**
* 维表:工程类型,源于IPM(DProjectType)表服务接口 * 维表:工程类型,源于IPM(DProjectType)表服务接口
...@@ -11,5 +14,13 @@ import com.dsk.cscec.domain.DProjectType; ...@@ -11,5 +14,13 @@ import com.dsk.cscec.domain.DProjectType;
*/ */
public interface DProjectTypeService extends IService<DProjectType> { public interface DProjectTypeService extends IService<DProjectType> {
List<TreeSelect> getList(DProjectType type);
/**
* 根据工程类型id获取下一级
*
* @param projectTypeId
* @return
*/
List<DProjectType> getChildren(String projectTypeId);
} }
package com.dsk.cscec.service; package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.FSupplierLimited; import com.dsk.cscec.domain.FSupplierLimited;
import com.dsk.cscec.domain.bo.SupplierLimitedSearchBo;
import com.dsk.cscec.domain.bo.SupplierUnlimitedSearchBo;
import com.dsk.cscec.domain.vo.SupplierLimitedSearchVo;
import com.dsk.cscec.domain.vo.SupplierUnlimitedSearchVo;
/** /**
* 供应商限制信息表(FSupplierLimited)表服务接口 * 供应商限制信息表(FSupplierLimited)表服务接口
...@@ -10,5 +16,21 @@ import com.dsk.cscec.domain.FSupplierLimited; ...@@ -10,5 +16,21 @@ import com.dsk.cscec.domain.FSupplierLimited;
* @since 2024-01-05 11:34:23 * @since 2024-01-05 11:34:23
*/ */
public interface FSupplierLimitedService extends IService<FSupplierLimited> { public interface FSupplierLimitedService extends IService<FSupplierLimited> {
/**
* 获取涉诉限用禁用名单
*
* @param searchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
TableDataInfo<SupplierLimitedSearchVo> querySupplierLimitedList(SupplierLimitedSearchBo searchBo, PageQuery pageQuery);
/**
* 获取解除限用禁用名单
*
* @param searchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
TableDataInfo<SupplierUnlimitedSearchVo> querySupplierUnlimitedList(SupplierUnlimitedSearchBo searchBo, PageQuery pageQuery);
} }
...@@ -11,6 +11,8 @@ import com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo; ...@@ -11,6 +11,8 @@ import com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo;
import com.dsk.cscec.domain.vo.ProjectDetailVo; import com.dsk.cscec.domain.vo.ProjectDetailVo;
import com.dsk.cscec.domain.vo.ProjectSearchVo; import com.dsk.cscec.domain.vo.ProjectSearchVo;
import java.util.List;
/** /**
* 项目维表(DProject)表服务接口 * 项目维表(DProject)表服务接口
* *
...@@ -27,6 +29,13 @@ public interface IDProjectService extends IService<DProject> { ...@@ -27,6 +29,13 @@ public interface IDProjectService extends IService<DProject> {
*/ */
TableDataInfo<ProjectSearchVo> queryProjectList(ProjectSearchBo projectSearchBo, PageQuery pageQuery); TableDataInfo<ProjectSearchVo> queryProjectList(ProjectSearchBo projectSearchBo, PageQuery pageQuery);
/**
* 获取项目承接类型下拉列表
*
* @return 去重后的项目承接类型
*/
List<String> queryIsInvestProject();
/** /**
* 获取合作项目明细 * 获取合作项目明细
* *
......
...@@ -15,7 +15,7 @@ import com.dsk.common.exception.ServiceException; ...@@ -15,7 +15,7 @@ import com.dsk.common.exception.ServiceException;
import com.dsk.common.utils.StringUtils; import com.dsk.common.utils.StringUtils;
import com.dsk.cscec.domain.AdvisoryBody; import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.AdvisoryBodyProject; import com.dsk.cscec.domain.AdvisoryBodyProject;
import com.dsk.cscec.domain.bo.AddAdvisoryBodyBo; import com.dsk.cscec.domain.bo.EditAdvisoryBodyInfoBo;
import com.dsk.cscec.domain.bo.AdvisoryBodySearchBo; import com.dsk.cscec.domain.bo.AdvisoryBodySearchBo;
import com.dsk.cscec.domain.vo.AdvisoryBodyExistVo; import com.dsk.cscec.domain.vo.AdvisoryBodyExistVo;
import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo; import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo;
...@@ -140,6 +140,15 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv ...@@ -140,6 +140,15 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv
if (ObjectUtil.isNotNull(advisoryBody)) { if (ObjectUtil.isNotNull(advisoryBody)) {
//咨询机构表中有记录,则设置为非新咨询机构 //咨询机构表中有记录,则设置为非新咨询机构
AdvisoryBodyExistVo advisoryBodyExistVo = BeanUtil.toBean(advisoryBody, AdvisoryBodyExistVo.class); AdvisoryBodyExistVo advisoryBodyExistVo = BeanUtil.toBean(advisoryBody, AdvisoryBodyExistVo.class);
EnterpriseInfoHeaderBody infoHeaderBody = new EnterpriseInfoHeaderBody();
infoHeaderBody.setCompanyId(advisoryBodyExistVo.getAdvisoryBodyCid());
Map<String, Object> companyMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(infoHeaderBody, false, false));
Map companyData = MapUtils.getMap(companyMap, "data", null);
//法人信息
advisoryBodyExistVo.setCorporatePerson(MapUtils.getString(companyData,"corporatePerson"));
//注册地址
advisoryBodyExistVo.setRegAddress(MapUtils.getString(companyData, "addressDetail", ""));
//是否为新资讯机构
advisoryBodyExistVo.setIsNewAdvisoryBody(false); advisoryBodyExistVo.setIsNewAdvisoryBody(false);
return advisoryBodyExistVo; return advisoryBodyExistVo;
} else { } else {
...@@ -154,9 +163,23 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv ...@@ -154,9 +163,23 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv
String companyName = StringUtils.removeRed(MapUtils.getString(companyData, "name", "NotExist")); String companyName = StringUtils.removeRed(MapUtils.getString(companyData, "name", "NotExist"));
if (advisoryBodyName.equals(companyName)) { if (advisoryBodyName.equals(companyName)) {
AdvisoryBodyExistVo advisoryBodyExistVo = new AdvisoryBodyExistVo(); AdvisoryBodyExistVo advisoryBodyExistVo = new AdvisoryBodyExistVo();
advisoryBodyExistVo.setAdvisoryBodyCid(Math.toIntExact(MapUtils.getLong(companyData, "jskEid"))); //jskEid就是cid
Long jskEid = MapUtils.getLong(companyData, "jskEid");
advisoryBodyExistVo.setAdvisoryBodyCid(Math.toIntExact(jskEid));
//企业名称
advisoryBodyExistVo.setAdvisoryBodyName(companyName); advisoryBodyExistVo.setAdvisoryBodyName(companyName);
//经营范围
advisoryBodyExistVo.setBusinessScope(MapUtils.getString(companyData, "businessScope")); advisoryBodyExistVo.setBusinessScope(MapUtils.getString(companyData, "businessScope"));
//法人信息
advisoryBodyExistVo.setCorporatePerson(MapUtils.getString(companyData,"legalPerson"));
EnterpriseInfoHeaderBody infoHeaderBody = new EnterpriseInfoHeaderBody();
infoHeaderBody.setCompanyId(Math.toIntExact(jskEid));
Map<String, Object> companyMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(infoHeaderBody, false, false));
Map companyData1 = MapUtils.getMap(companyMap, "data", null);
//注册地址
advisoryBodyExistVo.setRegAddress(MapUtils.getString(companyData1, "addressDetail", ""));
//是否为新资讯机构
advisoryBodyExistVo.setIsNewAdvisoryBody(true); advisoryBodyExistVo.setIsNewAdvisoryBody(true);
return advisoryBodyExistVo; return advisoryBodyExistVo;
} }
...@@ -164,31 +187,64 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv ...@@ -164,31 +187,64 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv
//查不到则抛异常 //查不到则抛异常
throw new ServiceException("咨询机构不存在或结果不唯一,请输入完整咨询机构企业名称"); throw new ServiceException("咨询机构不存在或结果不唯一,请输入完整咨询机构企业名称");
} }
throw new ServiceException("咨询机构不存在");
} }
return null;
} }
/** /**
* 新增咨询机构 * 编辑咨询机构结算信息
* 包含:
* 新增咨询机构(advisory_body表)
* 新增/更新咨询机构与项目关联信息(advisory_body_project表)
* *
* @param addAdvisoryBodyBo 新增信息 * @param editInfoBo 编辑信息
* @return 添加结果 * @return 编辑结果
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Integer addAdvisoryBody(AddAdvisoryBodyBo addAdvisoryBodyBo) { public Integer editAdvisoryBody(EditAdvisoryBodyInfoBo editInfoBo) {
long advisoryBodyId = IdUtil.getSnowflakeNextId(); long advisoryBodyId = IdUtil.getSnowflakeNextId();
; //如果是新增咨询机构,则新增记录到咨询机构表
//如果是新增咨询机构,则需要新增记录到咨询机构表 if (editInfoBo.getIsNewAdvisoryBody()) {
if (addAdvisoryBodyBo.getIsNewAdvisoryBody()) { AdvisoryBody newAdvisoryBody = BeanUtil.toBean(editInfoBo, AdvisoryBody.class);
AdvisoryBody newAdvisoryBody = BeanUtil.toBean(addAdvisoryBodyBo, AdvisoryBody.class);
newAdvisoryBody.setAdvisoryBodyId(advisoryBodyId); newAdvisoryBody.setAdvisoryBodyId(advisoryBodyId);
//考虑到咨询机构经营范围是列表中的一个查询条件,因此需要单独存入表中
//但考虑到经营范围又来自建设库,进而衍生出数据一致性问题,因此在项目中做了定时任务同步数据
//故无需担心数据一致性问题
baseMapper.insert(newAdvisoryBody); baseMapper.insert(newAdvisoryBody);
//校验咨询机构与项目关联表中是否有记录,无则新增,有则修改
return checkAdvisoryBodyProjectInfoAndEdit(editInfoBo, advisoryBodyId);
} else {
//如果不是新增咨询机构,则校验咨询机构与项目关联表中是否有记录,无则新增,有则修改
return checkAdvisoryBodyProjectInfoAndEdit(editInfoBo, advisoryBodyId);
} }
}
AdvisoryBodyProject advisoryBodyProject = BeanUtil.toBean(addAdvisoryBodyBo, AdvisoryBodyProject.class); /**
advisoryBodyProject.setAdvisoryBodyId(advisoryBodyId); * 校验咨询机构与项目关联表中是否有记录,无则新增,有则修改
return advisoryBodyProjectMapper.insert(advisoryBodyProject); */
private Integer checkAdvisoryBodyProjectInfoAndEdit(EditAdvisoryBodyInfoBo editInfoBo, Long advisoryBodyId) {
AdvisoryBodyProject advisoryBodyProject = advisoryBodyProjectMapper.selectById(editInfoBo.getProjectKey());
if (ObjectUtil.isNotNull(advisoryBodyProject)) {
//修改咨询机构与项目关联信息
AdvisoryBodyProject updateAdvisoryBodyProject = BeanUtil.toBean(editInfoBo, AdvisoryBodyProject.class);
updateAdvisoryBodyProject.setProjectKey(editInfoBo.getProjectKey());
if (editInfoBo.getIsNewAdvisoryBody()) {
//新增的咨询机构不会咨询机构ID,需要到咨询机构表中查询
AdvisoryBody advisoryBody = baseMapper.selectOne(new LambdaQueryWrapper<AdvisoryBody>()
.eq(AdvisoryBody::getAdvisoryBodyCid, editInfoBo.getAdvisoryBodyCid()));
updateAdvisoryBodyProject.setAdvisoryBodyId(advisoryBody.getAdvisoryBodyId());
}else {
updateAdvisoryBodyProject.setAdvisoryBodyId(advisoryBodyProject.getAdvisoryBodyId());
}
return advisoryBodyProjectMapper.updateById(updateAdvisoryBodyProject);
} else {
//新增咨询机构与项目关联信息
AdvisoryBodyProject addAdvisoryBodyProject = BeanUtil.toBean(editInfoBo, AdvisoryBodyProject.class);
addAdvisoryBodyProject.setAdvisoryBodyId(advisoryBodyId);
return advisoryBodyProjectMapper.insert(addAdvisoryBodyProject);
}
} }
/** /**
......
...@@ -12,7 +12,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -12,7 +12,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.common.core.domain.PageQuery; import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.StringUtils; import com.dsk.common.utils.StringUtils;
import com.dsk.cscec.constant.QueryConstants; import com.dsk.cscec.constant.AdvisoryBodyManageQueryConstants;
import com.dsk.cscec.domain.DCustomer; import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.domain.bo.AdvisoryBodyBo; import com.dsk.cscec.domain.bo.AdvisoryBodyBo;
import com.dsk.cscec.domain.bo.CustomerCooperationBo; import com.dsk.cscec.domain.bo.CustomerCooperationBo;
...@@ -98,7 +98,7 @@ public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCusto ...@@ -98,7 +98,7 @@ public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCusto
Assert.isTrue(false,"参数不能为空"); Assert.isTrue(false,"参数不能为空");
} }
LambdaQueryWrapper<DCustomer> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<DCustomer> lqw = Wrappers.lambdaQuery();
lqw.eq(DCustomer::getRecommendOrgId,QueryConstants.LEVEL1_COMPANY_ID); lqw.eq(DCustomer::getRecommendOrgId, AdvisoryBodyManageQueryConstants.LEVEL1_COMPANY_ID);
lqw.eq(ObjectUtil.isNotNull(bo.getCustomerKey()),DCustomer::getCustomerKey,bo.getCustomerKey()); lqw.eq(ObjectUtil.isNotNull(bo.getCustomerKey()),DCustomer::getCustomerKey,bo.getCustomerKey());
lqw.eq(StringUtil.isNotBlank(bo.getUnifySocialCode()),DCustomer::getUnifySocialCode,bo.getUnifySocialCode()); lqw.eq(StringUtil.isNotBlank(bo.getUnifySocialCode()),DCustomer::getUnifySocialCode,bo.getUnifySocialCode());
lqw.eq(StringUtil.isNotBlank(bo.getCustomerName()),DCustomer::getCustomerName,bo.getCustomerName()); lqw.eq(StringUtil.isNotBlank(bo.getCustomerName()),DCustomer::getCustomerName,bo.getCustomerName());
...@@ -132,7 +132,7 @@ public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCusto ...@@ -132,7 +132,7 @@ public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCusto
@Override @Override
public TableDataInfo<AdvisoryBodyVo> queryAdvisoryList(AdvisoryBodyBo bo, PageQuery query) { public TableDataInfo<AdvisoryBodyVo> queryAdvisoryList(AdvisoryBodyBo bo, PageQuery query) {
bo.setContractOrgId(QueryConstants.LEVEL1_COMPANY_ID); bo.setContractOrgId(AdvisoryBodyManageQueryConstants.LEVEL1_COMPANY_ID);
Page<AdvisoryBodyVo> page = advisoryBodyMapper.queryListByBo(query.build(),bo); Page<AdvisoryBodyVo> page = advisoryBodyMapper.queryListByBo(query.build(),bo);
return TableDataInfo.build(page); return TableDataInfo.build(page);
} }
...@@ -142,7 +142,7 @@ public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCusto ...@@ -142,7 +142,7 @@ public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCusto
if(StringUtil.isBlank(bo.getCustomerId()) && StringUtil.isBlank(bo.getCustomerName())){ if(StringUtil.isBlank(bo.getCustomerId()) && StringUtil.isBlank(bo.getCustomerName())){
Assert.isTrue(false,"供应商不能为空"); Assert.isTrue(false,"供应商不能为空");
} }
bo.setSignOrgId(QueryConstants.LEVEL1_COMPANY_ID); bo.setSignOrgId(AdvisoryBodyManageQueryConstants.LEVEL1_COMPANY_ID);
Page<CustomerCooperationVo> page = dSubcontractMapper.selectCooperationList(query.build(),bo); Page<CustomerCooperationVo> page = dSubcontractMapper.selectCooperationList(query.build(),bo);
return TableDataInfo.build(page); return TableDataInfo.build(page);
} }
...@@ -153,15 +153,15 @@ public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCusto ...@@ -153,15 +153,15 @@ public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCusto
return new HashMap<>(); return new HashMap<>();
} }
AdvisoryBodyBo advisoryBodyBo = new AdvisoryBodyBo(); AdvisoryBodyBo advisoryBodyBo = new AdvisoryBodyBo();
advisoryBodyBo.setContractOrgId(QueryConstants.LEVEL1_COMPANY_ID); advisoryBodyBo.setContractOrgId(AdvisoryBodyManageQueryConstants.LEVEL1_COMPANY_ID);
advisoryBodyBo.setAdvisoryBodyName(companyName); advisoryBodyBo.setAdvisoryBodyName(companyName);
LambdaQueryWrapper<DCustomer> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<DCustomer> lqw = Wrappers.lambdaQuery();
lqw.eq(DCustomer::getRecommendOrgId,QueryConstants.LEVEL1_COMPANY_ID); lqw.eq(DCustomer::getRecommendOrgId, AdvisoryBodyManageQueryConstants.LEVEL1_COMPANY_ID);
lqw.eq(StringUtil.isNotBlank(companyName), DCustomer::getCustomerName, companyName); lqw.eq(StringUtil.isNotBlank(companyName), DCustomer::getCustomerName, companyName);
CustomerCooperationBo customerCooperationBo = new CustomerCooperationBo(); CustomerCooperationBo customerCooperationBo = new CustomerCooperationBo();
customerCooperationBo.setSignOrgId(QueryConstants.LEVEL1_COMPANY_ID); customerCooperationBo.setSignOrgId(AdvisoryBodyManageQueryConstants.LEVEL1_COMPANY_ID);
customerCooperationBo.setCustomerName(companyName); customerCooperationBo.setCustomerName(companyName);
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
......
package com.dsk.cscec.service.impl; package com.dsk.cscec.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.cscec.domain.DProjectType; import com.dsk.cscec.domain.DProjectType;
import com.dsk.cscec.domain.TreeSelect;
import com.dsk.cscec.mapper.DProjectTypeMapper; import com.dsk.cscec.mapper.DProjectTypeMapper;
import com.dsk.cscec.service.DProjectTypeService; import com.dsk.cscec.service.DProjectTypeService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/** /**
* 维表:工程类型,源于IPM(DProjectType)表服务实现类 * 维表:工程类型,源于IPM(DProjectType)表服务实现类
...@@ -19,4 +27,85 @@ public class DProjectTypeServiceImpl extends ServiceImpl<DProjectTypeMapper, DPr ...@@ -19,4 +27,85 @@ public class DProjectTypeServiceImpl extends ServiceImpl<DProjectTypeMapper, DPr
@Resource @Resource
private DProjectTypeMapper baseMapper; private DProjectTypeMapper baseMapper;
@Override
public List<TreeSelect> getList(DProjectType bo) {
return buildTree(baseMapper.selectList(buildQueryWrapper(bo))).stream().map(TreeSelect::new).collect(Collectors.toList());
}
@Override
public List<DProjectType> getChildren(String projectTypeId) {
DProjectType bo = new DProjectType();
if (StringUtils.isNotBlank(projectTypeId)) {
bo.setParentId(projectTypeId);
} else {
bo.setLevelNo(1l);
}
return baseMapper.selectList(buildQueryWrapper(bo));
}
private LambdaQueryWrapper<DProjectType> buildQueryWrapper(DProjectType bo) {
LambdaQueryWrapper<DProjectType> lqw = Wrappers.lambdaQuery();
lqw.eq(ObjectUtil.isNotNull(bo.getProjectTypeKey()), DProjectType::getProjectTypeKey, bo.getProjectTypeKey());
// lqw.like(StringUtils.isNotBlank(bo.getProjectTypeName()), DProjectType::getProjectTypeName, bo.getProjectTypeName());
lqw.eq(ObjectUtil.isNotNull(bo.getLevelNo()), DProjectType::getLevelNo, bo.getLevelNo());
lqw.eq(StringUtils.isNotBlank(bo.getProjectTypeId()), DProjectType::getProjectTypeId, bo.getProjectTypeId());
lqw.eq(StringUtils.isNotBlank(bo.getParentId()), DProjectType::getParentId, bo.getParentId());
return lqw;
}
public List<DProjectType> buildTree(List<DProjectType> types) {
List<DProjectType> returnList = new ArrayList<DProjectType>();
List<String> tempList = new ArrayList<String>();
for (DProjectType type : types) {
tempList.add(type.getProjectTypeId());
}
for (DProjectType type : types) {
// 如果是顶级节点, 遍历该父节点的所有子节点
if (!tempList.contains(type.getParentId())) {
recursionFn(types, type);
returnList.add(type);
}
}
if (returnList.isEmpty()) {
returnList = types;
}
return returnList;
}
/**
* 递归列表
*/
private void recursionFn(List<DProjectType> list, DProjectType t) {
// 得到子节点列表
List<DProjectType> childList = getChildList(list, t);
t.setChildren(childList);
for (DProjectType tChild : childList) {
if (hasChild(list, tChild)) {
recursionFn(list, tChild);
}
}
}
/**
* 得到子节点列表
*/
private List<DProjectType> getChildList(List<DProjectType> list, DProjectType t) {
List<DProjectType> tlist = new ArrayList<DProjectType>();
for (DProjectType n : list) {
if (ObjectUtil.isNotNull(n.getParentId()) && n.getParentId().equals(t.getProjectTypeId())) {
tlist.add(n);
}
}
return tlist;
}
/**
* 判断是否有子节点
*/
private boolean hasChild(List<DProjectType> list, DProjectType t) {
return getChildList(list, t).size() > 0;
}
} }
package com.dsk.cscec.service.impl; package com.dsk.cscec.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.StringUtils;
import com.dsk.cscec.constant.SupplierLimitedManageQueryConstants;
import com.dsk.cscec.domain.FSupplierLimited; import com.dsk.cscec.domain.FSupplierLimited;
import com.dsk.cscec.domain.bo.SupplierLimitedSearchBo;
import com.dsk.cscec.domain.bo.SupplierUnlimitedSearchBo;
import com.dsk.cscec.domain.vo.SupplierLimitedSearchVo;
import com.dsk.cscec.domain.vo.SupplierUnlimitedSearchVo;
import com.dsk.cscec.mapper.FSupplierLimitedMapper; import com.dsk.cscec.mapper.FSupplierLimitedMapper;
import com.dsk.cscec.service.FSupplierLimitedService; import com.dsk.cscec.service.FSupplierLimitedService;
import com.dsk.system.utils.DskOpenApiUtil;
import org.apache.commons.collections4.MapUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* 供应商限制信息表(FSupplierLimited)表服务实现类 * 供应商限制信息表(FSupplierLimited)表服务实现类
...@@ -18,5 +35,106 @@ import javax.annotation.Resource; ...@@ -18,5 +35,106 @@ import javax.annotation.Resource;
public class FSupplierLimitedServiceImpl extends ServiceImpl<FSupplierLimitedMapper, FSupplierLimited> implements FSupplierLimitedService { public class FSupplierLimitedServiceImpl extends ServiceImpl<FSupplierLimitedMapper, FSupplierLimited> implements FSupplierLimitedService {
@Resource @Resource
private FSupplierLimitedMapper baseMapper; private FSupplierLimitedMapper baseMapper;
@Resource
private DskOpenApiUtil dskOpenApiUtil;
/**
* 获取涉诉限用禁用名单
*
* @param searchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
@Override
public TableDataInfo<SupplierLimitedSearchVo> querySupplierLimitedList(SupplierLimitedSearchBo searchBo, PageQuery pageQuery) {
QueryWrapper<FSupplierLimited> wrapper = Wrappers.query();
wrapper
//供应商名称
.like(StringUtils.isNotBlank(searchBo.getSupplierName()), "fsl.fsuppliername", searchBo.getSupplierName())
//是否为局名义被诉案件
.eq(StringUtils.isNotBlank(searchBo.getIsGroupCase()), "fsl.fisgroupcase", searchBo.getIsGroupCase())
//限用/禁用时间
.between(ObjectUtils.isNotNull(searchBo.getLimitedStartTime()) && ObjectUtils.isNotNull(searchBo.getLimitedEndTime()),
"fsl.fts",
searchBo.getLimitedStartTime(),
searchBo.getLimitedEndTime())
//筛选涉诉限用禁用名单数据
.eq("fsl.fdatatype", SupplierLimitedManageQueryConstants.LIMITED_DATA_TYPE)
//根据限用/禁用时间倒序排序
.orderByDesc("fsl.fts");
Page<SupplierLimitedSearchVo> page = baseMapper.selectPageSupplierLimitedList(pageQuery.build(), wrapper);
for (SupplierLimitedSearchVo searchVo : page.getRecords()) {
Map<String, Object> params = new HashMap<>();
String supplierName = searchVo.getFsuppliername();
params.put("keyword", supplierName);
Map jskData = MapUtils.getMap(dskOpenApiUtil.requestBody("/nationzj/enterprice/index", params), "data", null);
//防止没有数据而导致强转错误,所以先判断下total
if (MapUtils.getInteger(jskData, "total", 0) > 0) {
List<Map<String, Object>> data = (List<Map<String, Object>>) jskData.get("list");
for (Map<String, Object> companyData : data) {
//企业名称完全匹配上,则直接返回给前端
String companyName = StringUtils.removeRed(MapUtils.getString(companyData, "name", "NotExist"));
if (supplierName.equals(companyName)) {
searchVo.setSupplierCid(Math.toIntExact(MapUtils.getLong(companyData, "jskEid")));
}
}
//查不到则抛异常
//throw new ServiceException("未查询到该供应商Cid");
}
//关键字标红
if (StringUtils.isNotBlank(searchBo.getSupplierName())) {
searchVo.setFsuppliername(StringUtils.markInRed(searchVo.getFsuppliername(), searchBo.getSupplierName()));
}
}
return TableDataInfo.build(page);
}
/**
* 获取解除限用禁用名单
*
* @param searchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
@Override
public TableDataInfo<SupplierUnlimitedSearchVo> querySupplierUnlimitedList(SupplierUnlimitedSearchBo searchBo, PageQuery pageQuery) {
QueryWrapper<FSupplierLimited> wrapper = Wrappers.query();
wrapper
//申请单位
.like(StringUtils.isNotBlank(searchBo.getApplyUnit()), "fsl.fjobunitname", searchBo.getApplyUnit())
//解除限用/禁用时间
.between(ObjectUtils.isNotNull(searchBo.getUnlimitedStartTime()) && ObjectUtils.isNotNull(searchBo.getUnlimitedEndTime()),
"fsl.fts",
searchBo.getUnlimitedStartTime(),
searchBo.getUnlimitedEndTime())
//筛选解除限用禁用名单数据
.eq("fsl.fdatatype", SupplierLimitedManageQueryConstants.UNLIMITED_DATA_TYPE)
//根据解除限用/禁用时间倒序排序
.orderByDesc("fsl.fts");
Page<SupplierUnlimitedSearchVo> page = baseMapper.selectPageSupplierUnlimitedList(pageQuery.build(), wrapper);
for (SupplierUnlimitedSearchVo searchVo : page.getRecords()) {
Map<String, Object> params = new HashMap<>();
String supplierName = searchVo.getFsuppliername();
params.put("keyword", supplierName);
Map jskData = MapUtils.getMap(dskOpenApiUtil.requestBody("/nationzj/enterprice/index", params), "data", null);
//防止没有数据而导致强转错误,所以先判断下total
if (MapUtils.getInteger(jskData, "total", 0) > 0) {
List<Map<String, Object>> data = (List<Map<String, Object>>) jskData.get("list");
for (Map<String, Object> companyData : data) {
//企业名称完全匹配上,则直接返回给前端
String companyName = StringUtils.removeRed(MapUtils.getString(companyData, "name", "NotExist"));
if (supplierName.equals(companyName)) {
searchVo.setSupplierCid(Math.toIntExact(MapUtils.getLong(companyData, "jskEid")));
}
}
//查不到则抛异常
//throw new ServiceException("未查询到该供应商Cid");
}
}
return TableDataInfo.build(page);
}
} }
...@@ -13,7 +13,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -13,7 +13,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.common.core.domain.PageQuery; import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.StringUtils; import com.dsk.common.utils.StringUtils;
import com.dsk.cscec.constant.QueryConstants; import com.dsk.cscec.constant.AdvisoryBodyManageQueryConstants;
import com.dsk.cscec.domain.AdvisoryBody; import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.AdvisoryBodyProject; import com.dsk.cscec.domain.AdvisoryBodyProject;
import com.dsk.cscec.domain.DProject; import com.dsk.cscec.domain.DProject;
...@@ -101,9 +101,9 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> ...@@ -101,9 +101,9 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
//咨询机构的项目数据取中建一局集团第二建筑有限公司和他的下级组织 //咨询机构的项目数据取中建一局集团第二建筑有限公司和他的下级组织
wrapper wrapper
//承包单位ID //承包单位ID
.eq("p.contract_org_id", QueryConstants.LEVEL1_COMPANY_ID) .eq("p.contract_org_id", AdvisoryBodyManageQueryConstants.LEVEL1_COMPANY_ID)
//承包单位主键(字段叫主键,但并不是主键) //承包单位主键(字段叫主键,但并不是主键)
.eq("p.contract_org_name", QueryConstants.LEVEL1_COMPANY_NAME) .eq("p.contract_org_name", AdvisoryBodyManageQueryConstants.LEVEL1_COMPANY_NAME)
//项目名称 //项目名称
.like(StringUtils.isNotBlank(projectSearchBo.getProjectName()), "p.project_name", projectSearchBo.getProjectName()) .like(StringUtils.isNotBlank(projectSearchBo.getProjectName()), "p.project_name", projectSearchBo.getProjectName())
//根据咨询机构名称查出来对应的项目ID //根据咨询机构名称查出来对应的项目ID
...@@ -130,6 +130,16 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> ...@@ -130,6 +130,16 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
return wrapper; return wrapper;
} }
/**
* 获取项目承接类型下拉列表
*
* @return 去重后的项目承接类型
*/
@Override
public List<String> queryIsInvestProject() {
return baseMapper.queryIsInvestProject();
}
/** /**
* 根据项目主键查询咨询机构 * 根据项目主键查询咨询机构
* *
...@@ -204,24 +214,27 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> ...@@ -204,24 +214,27 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
*/ */
@Override @Override
public ProjectDetailVo queryProjectDetail(ProjectDetailBo projectDetailBo) { public ProjectDetailVo queryProjectDetail(ProjectDetailBo projectDetailBo) {
Long advisoryBodyCid = projectDetailBo.getAdvisoryBodyCid();
//查询项目明细 //查询项目明细
DProject dProject = baseMapper.selectOne(new LambdaQueryWrapper<DProject>() DProject dProject = baseMapper.selectOne(new LambdaQueryWrapper<DProject>()
.eq(DProject::getProjectKey, projectDetailBo.getProjectKey())); .eq(DProject::getProjectKey, projectDetailBo.getProjectKey()));
ProjectDetailVo projectDetailVo = BeanUtil.toBean(dProject, ProjectDetailVo.class); ProjectDetailVo projectDetailVo = BeanUtil.toBean(dProject, ProjectDetailVo.class);
//查询咨询机构信息并填充 //查询咨询机构信息并填充
projectDetailVo.setAdvisoryBody(advisoryBodyMapper.queryAdvisoryBodyByProjectKey(projectDetailBo.getProjectKey())); projectDetailVo.setAdvisoryBody(advisoryBodyMapper.queryAdvisoryBodyByProjectKey(projectDetailBo.getProjectKey()));
EnterpriseInfoHeaderBody infoHeaderBody = new EnterpriseInfoHeaderBody();
infoHeaderBody.setCompanyId(Math.toIntExact(projectDetailBo.getAdvisoryBodyCid()));
Map<String, Object> companyMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(infoHeaderBody, false, false));
Map companyData = MapUtils.getMap(companyMap, "data", null);
//法人
projectDetailVo.setCorporatePerson(MapUtils.getString(companyData, "corporatePerson", ""));
//注册地址
projectDetailVo.setRegAddress(MapUtils.getString(companyData, "addressDetail", ""));
//查询项目信息并填充 //查询项目信息并填充
projectDetailVo.setAdvisoryBodyProject(advisoryBodyProjectMapper.selectById(projectDetailBo.getProjectKey())); projectDetailVo.setAdvisoryBodyProject(advisoryBodyProjectMapper.selectById(projectDetailBo.getProjectKey()));
if (ObjectUtil.isNotNull(advisoryBodyCid)) {
EnterpriseInfoHeaderBody infoHeaderBody = new EnterpriseInfoHeaderBody();
infoHeaderBody.setCompanyId(Math.toIntExact(advisoryBodyCid));
Map<String, Object> companyMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(infoHeaderBody, false, false));
Map companyData = MapUtils.getMap(companyMap, "data", null);
//法人
projectDetailVo.setCorporatePerson(MapUtils.getString(companyData, "corporatePerson", ""));
//注册地址
projectDetailVo.setRegAddress(MapUtils.getString(companyData, "addressDetail", ""));
}
return projectDetailVo; return projectDetailVo;
} }
} }
......
...@@ -80,6 +80,7 @@ public class ExportService { ...@@ -80,6 +80,7 @@ public class ExportService {
//回调函数 //回调函数
composeQueryDto.setExportBackUrl(EXPORT_BACK_URL); composeQueryDto.setExportBackUrl(EXPORT_BACK_URL);
composeQueryDto.setExportExeclName(fileName); composeQueryDto.setExportExeclName(fileName);
log.info(JSONObject.toJSONString(composeQueryDto));
dskOpenApiUtil.requestBody("/operate/export/zjyj/aptitude", BeanUtil.beanToMap(composeQueryDto,false,false)); dskOpenApiUtil.requestBody("/operate/export/zjyj/aptitude", BeanUtil.beanToMap(composeQueryDto,false,false));
return AjaxResult.success(); return AjaxResult.success();
} }
......
...@@ -57,6 +57,15 @@ ...@@ -57,6 +57,15 @@
</if> </if>
</trim> </trim>
</if> </if>
<if test="bo.isinvestproject != null and bo.isinvestproject != ''">
and dp.isinvestproject = #{bo.isinvestproject}
</if>
<if test="bo.projectType1 != null and bo.projectType1 != ''">
and dp.project_type1 = #{bo.projectType1}
</if>
<if test="bo.projectType2 != null and bo.projectType2 != ''">
and dp.project_type2 = #{bo.projectType2}
</if>
</where> </where>
order by dp.contract_sign_date desc order by dp.contract_sign_date desc
</select> </select>
......
...@@ -21,6 +21,12 @@ ...@@ -21,6 +21,12 @@
${ew.getCustomSqlSegment} ${ew.getCustomSqlSegment}
</select> </select>
<select id="queryIsInvestProject" resultType="java.lang.String">
SELECT DISTINCT isinvestproject
FROM d_project
WHERE (isinvestproject <![CDATA[ <> ]]> '')
</select>
<select id="selectPageCooperateProjectDetailList" <select id="selectPageCooperateProjectDetailList"
resultType="com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo"> resultType="com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo">
select p.project_key, select p.project_key,
......
...@@ -2,6 +2,32 @@ ...@@ -2,6 +2,32 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.cscec.mapper.FSupplierLimitedMapper"> <mapper namespace="com.dsk.cscec.mapper.FSupplierLimitedMapper">
<select id="selectPageSupplierLimitedList" resultType="com.dsk.cscec.domain.vo.SupplierLimitedSearchVo">
select fsl.fid,
fsl.frecordno,
fsl.fsuppliername,
fsl.funifiedsocialcreditcode,
fsl.flimitsituation,
fsl.fdisablesituation,
fsl.fjobunitname,
fsl.fstate,
fsl.fts
from f_supplier_limited fsl
${ew.getCustomSqlSegment}
</select>
<select id="selectPageSupplierUnlimitedList" resultType="com.dsk.cscec.domain.vo.SupplierUnlimitedSearchVo">
select fsl.fid,
fsl.frecordno,
fsl.fsuppliername,
fsl.funifiedsocialcreditcode,
fsl.frelievereason,
fsl.fjobunitname,
fsl.fbeforestate,
fsl.flimitdate,
fsl.fts
from f_supplier_limited fsl
${ew.getCustomSqlSegment}
</select>
</mapper> </mapper>
# 页面标题 # 页面标题
VUE_APP_TITLE = 数字化经营履约全生命链路管理系统 VUE_APP_TITLE = 中建一局集团第二建筑有限公司
# 开发环境配置 # 开发环境配置
ENV = 'development' ENV = 'development'
...@@ -16,4 +16,4 @@ VUE_CLI_BABEL_TRANSPILE_MODULES = true ...@@ -16,4 +16,4 @@ VUE_CLI_BABEL_TRANSPILE_MODULES = true
VUE_APP_SUB_SYSTEM_ADDRESS = "http://192.168.60.210:3400" VUE_APP_SUB_SYSTEM_ADDRESS = "http://192.168.60.210:3400"
# Bi大屏系统地址 # Bi大屏系统地址
VUE_APP_BI_SYSTEM_ADDRESS = "https://192.168.60.104:8001" VUE_APP_BI_SYSTEM_ADDRESS = "https://192.168.60.104:8001"
\ No newline at end of file
# 页面标题 # 页面标题
VUE_APP_TITLE = 数字化经营履约全生命链路管理系统 VUE_APP_TITLE = 中建一局集团第二建筑有限公司
# 生产环境配置 # 生产环境配置
ENV = 'production' ENV = 'production'
......
# 页面标题 # 页面标题
VUE_APP_TITLE = 数字化经营履约全生命链路管理系统 VUE_APP_TITLE = 中建一局集团第二建筑有限公司
NODE_ENV = production NODE_ENV = production
......
# 页面标题 # 页面标题
VUE_APP_TITLE = 数字化经营履约全生命链路管理系统 VUE_APP_TITLE = 中建一局集团第二建筑有限公司
NODE_ENV = "production" NODE_ENV = "production"
...@@ -15,4 +15,4 @@ VUE_APP_BASE_API = '/prod-api' ...@@ -15,4 +15,4 @@ VUE_APP_BASE_API = '/prod-api'
VUE_APP_SUB_SYSTEM_ADDRESS = "https://pre-plug.jiansheku.com" VUE_APP_SUB_SYSTEM_ADDRESS = "https://pre-plug.jiansheku.com"
# Bi大屏系统地址 # Bi大屏系统地址
VUE_APP_BI_SYSTEM_ADDRESS = "https://192.168.60.104:8001" VUE_APP_BI_SYSTEM_ADDRESS = "https://192.168.60.104:8001"
\ No newline at end of file
dsk-operate-ui/public/favicon.ico

16.6 KB | W: | H:

dsk-operate-ui/public/favicon.ico

4.19 KB | W: | H:

dsk-operate-ui/public/favicon.ico
dsk-operate-ui/public/favicon.ico
dsk-operate-ui/public/favicon.ico
dsk-operate-ui/public/favicon.ico
  • 2-up
  • Swipe
  • Onion skin
...@@ -42,4 +42,17 @@ export const getgetConsultingOrgProjectDetailApi = (params) => request({ ...@@ -42,4 +42,17 @@ export const getgetConsultingOrgProjectDetailApi = (params) => request({
url: "/advisory/body/getProjectDetail", url: "/advisory/body/getProjectDetail",
method: "get", method: "get",
params params
});
/**
* 查询咨询机构
* @param {*} advisoryBodyName
* @returns
*/
export const searchConsultingApi = (advisoryBodyName) => request({
url: "/advisory/body/checkAdvisoryBodyExist",
method: "get",
params: {
advisoryBodyName
}
}); });
\ No newline at end of file
...@@ -48,3 +48,21 @@ export function custmerInfo(param) { ...@@ -48,3 +48,21 @@ export function custmerInfo(param) {
method: 'get', method: 'get',
}); });
} }
//涉诉限用禁用名单名单
export function getSupplierLimitedList(param) {
return request({
url: '/fSupplierLimited/getSupplierLimitedList',
params: param,
method: 'get',
});
}
//解除限用禁用名单名单
export function getSupplierUnlimitedList(param) {
return request({
url: '/fSupplierLimited/getSupplierUnlimitedList',
params: param,
method: 'get',
});
}
This source diff could not be displayed because it is too large. You can view the blob instead.
<svg xmlns="http://www.w3.org/2000/svg" fill="white" version="1.1" width="14" height="14" viewBox="0 0 14 14">
<defs>
<clipPath id="master_svg0_634_008390">
<rect x="0" y="0" width="14" height="14" rx="0"/>
</clipPath>
</defs>
<g clip-path="url(#master_svg0_634_008390)">
<g>
<path
d="M1.0104570234375,2.9374589765625L1.0104570234375,11.9582959765625Q1.0104570234375,12.3854259765625,1.3125050234375,12.6875259765625Q1.6145490234375,12.9895259765625,2.0417070234375,12.9895259765625L11.9583740234375,12.9895259765625Q12.3855740234375,12.9895259765625,12.6875740234375,12.6875259765625Q12.9895740234375,12.3854259765625,12.9895740234375,11.9582859765625L12.9895740234375,2.9374539765625Q12.9895740234375,2.3808559765625,12.5959740234375,1.9872829765625Q12.2024740234375,1.5937089765625,11.6458740234375,1.5937089765625L2.3542070234375,1.5937089765625Q1.7976080234375,1.5937089765625,1.4040326234375,1.9872845765625Q1.0104570234375,2.3808599765625,1.0104570234375,2.9374589765625ZM2.0417070234375,12.0937259765625Q1.9062910234375,12.0937259765625,1.9062910234375,11.9582959765625L1.9062910234375,2.9374589765625Q1.9062910234375,2.7519259765625,2.0374820234374997,2.6207339765624997Q2.1686740234375,2.4895429765625,2.3542070234375,2.4895429765625L11.6458740234375,2.4895429765625Q11.8313740234375,2.4895429765625,11.9625740234375,2.6207339765624997Q12.0937740234375,2.7519249765625,12.0937740234375,2.9374579765625L12.0937740234375,11.9582959765625Q12.0937740234375,12.0937259765625,11.9583740234375,12.0937259765625L2.0417070234375,12.0937259765625Z"
fill-rule="evenodd" fill="#ffffff" fill-opacity="1"/>
</g>
<g>
<path
d="M4.822917,1.3557511Q4.825,1.3341757,4.825,1.3125Q4.825,1.2681789,4.816353,1.2247094Q4.807707,1.18124,4.790746,1.140292Q4.773785,1.099345,4.749161,1.062493Q4.724538,1.025642,4.693198,0.994302Q4.661858,0.962962,4.625007,0.938339Q4.588155,0.913715,4.547208,0.896754Q4.50626,0.879793,4.4627906,0.871147Q4.4193211,0.8625,4.375,0.8625Q4.3306789,0.8625,4.2872094,0.871147Q4.24374,0.879793,4.202792,0.896754Q4.161845,0.913715,4.124993,0.938339Q4.088142,0.962962,4.056802,0.994302Q4.025462,1.025642,4.000839,1.062493Q3.976215,1.099345,3.959254,1.140292Q3.942293,1.18124,3.933647,1.2247094Q3.925,1.2681789,3.925,1.3125Q3.925,1.3341757,3.927083,1.3557511L3.927083,3.45675Q3.925,3.47832,3.925,3.5Q3.925,3.54432,3.933647,3.58779Q3.942293,3.63126,3.959254,3.67221Q3.976215,3.71315,4.000839,3.75001Q4.025462,3.78686,4.056802,3.8182Q4.088142,3.84954,4.124993,3.87416Q4.161845,3.89878,4.202792,3.91575Q4.24374,3.93271,4.2872094,3.94135Q4.3306789,3.95,4.375,3.95Q4.4193211,3.95,4.4627906,3.94135Q4.50626,3.93271,4.547208,3.91575Q4.588155,3.89878,4.625007,3.87416Q4.661858,3.84954,4.693198,3.8182Q4.724538,3.78686,4.749161,3.75001Q4.773785,3.71315,4.790746,3.67221Q4.807707,3.63126,4.816353,3.58779Q4.825,3.54432,4.825,3.5Q4.825,3.47832,4.822917,3.45675L4.822917,1.3557511Z"
fill-rule="evenodd" fill="#ffffff" fill-opacity="1"/>
</g>
<g>
<path
d="M10.072917,1.3557511Q10.075,1.3341757,10.075,1.3125Q10.075,1.2681789,10.066353,1.2247094Q10.057707,1.18124,10.040746,1.140292Q10.023785,1.099345,9.999161,1.062493Q9.974538,1.025642,9.943198,0.994302Q9.911858,0.962962,9.875007,0.938339Q9.838155,0.913715,9.797208,0.896754Q9.75626,0.879793,9.7127906,0.871147Q9.6693211,0.8625,9.625,0.8625Q9.5806789,0.8625,9.5372094,0.871147Q9.49374,0.879793,9.452792,0.896754Q9.411845,0.913715,9.374993,0.938339Q9.338142,0.962962,9.306802,0.994302Q9.275462,1.025642,9.250839,1.062493Q9.226215,1.099345,9.209254,1.140292Q9.192293,1.18124,9.183647,1.2247094Q9.175,1.2681789,9.175,1.3125Q9.175,1.3341757,9.177083,1.3557511L9.177083,3.45675Q9.175,3.47832,9.175,3.5Q9.175,3.54432,9.183647,3.58779Q9.192293,3.63126,9.209254,3.67221Q9.226215,3.71315,9.250839,3.75001Q9.275462,3.78686,9.306802,3.8182Q9.338142,3.84954,9.374993,3.87416Q9.411845,3.89878,9.452792,3.91575Q9.49374,3.93271,9.5372094,3.94135Q9.5806789,3.95,9.625,3.95Q9.6693211,3.95,9.7127906,3.94135Q9.75626,3.93271,9.797208,3.91575Q9.838155,3.89878,9.875007,3.87416Q9.911858,3.84954,9.943198,3.8182Q9.974538,3.78686,9.999161,3.75001Q10.023785,3.71315,10.040746,3.67221Q10.057707,3.63126,10.066353,3.58779Q10.075,3.54432,10.075,3.5Q10.075,3.47832,10.072917,3.45675L10.072917,1.3557511Z"
fill-rule="evenodd" fill="#ffffff" fill-opacity="1"/>
</g>
<g>
<ellipse cx="7" cy="7.875" rx="0.875" ry="0.875" fill="#ffffff" fill-opacity="1"/>
</g>
<g transform="matrix(0,1,-1,0,14.875,-4.375)">
<path
d="M12.47396,4.862093L14.74727,6.174593Q14.79834,6.204078,14.84004,6.245775Q14.88174,6.28747,14.91122,6.33854Q14.94071,6.38961,14.95597,6.4465699999999995Q14.97123,6.50353,14.97123,6.5625L14.97123,9.1875Q14.97123,9.24647,14.95597,9.303429999999999Q14.94071,9.360389999999999,14.91122,9.41146Q14.88174,9.462530000000001,14.84004,9.50422Q14.79834,9.545919999999999,14.74727,9.57541L12.47396,10.88791Q12.42289,10.917390000000001,12.36593,10.932649999999999Q12.30897,10.94792,12.25,10.94792Q12.19103,10.94792,12.13407,10.932649999999999Q12.07711,10.917390000000001,12.02604,10.88791L9.752725,9.57541Q9.701656,9.545919999999999,9.6599584,9.50422Q9.61826079,9.462530000000001,9.5887761,9.41146Q9.5592914,9.360389999999999,9.544029,9.303429999999999Q9.5287667,9.24647,9.5287667,9.1875L9.5287666,6.5625Q9.5287666,6.50353,9.544029,6.4465699999999995Q9.5592914,6.38961,9.5887761,6.33854Q9.61826075,6.28747,9.6599584,6.245775Q9.701656,6.204077,9.752725,6.174593L12.02604,4.862093Q12.07711,4.8326080000000005,12.13407,4.817346Q12.19103,4.802083,12.25,4.802083Q12.30897,4.802083,12.36593,4.817346Q12.42289,4.8326080000000005,12.47396,4.862093L12.47396,4.862093ZM12.02604,5.637907L12.25,5.25L12.47396,5.637907L10.200642,6.95041L9.976683,6.5625L10.4246,6.5625L10.4246,9.1875L9.976683,9.1875L10.200642,8.79959L12.47396,10.11209L12.25,10.5L12.02604,10.11209L14.29936,8.79959L14.52332,9.1875L14.0754,9.1875L14.0754,6.5625L14.52332,6.5625L14.29936,6.95041L12.02604,5.637907Z"
fill="#ffffff" fill-opacity="1"/>
</g>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" version="1.1" width="14" height="14" viewBox="0 0 14 14">
<defs>
<clipPath id="master_svg0_634_008390">
<rect x="0" y="0" width="14" height="14" rx="0"/>
</clipPath>
</defs>
<g clip-path="url(#master_svg0_634_008390)">
<g>
<path
d="M1.0104570234375,2.9374589765625L1.0104570234375,11.9582959765625Q1.0104570234375,12.3854259765625,1.3125050234375,12.6875259765625Q1.6145490234375,12.9895259765625,2.0417070234375,12.9895259765625L11.9583740234375,12.9895259765625Q12.3855740234375,12.9895259765625,12.6875740234375,12.6875259765625Q12.9895740234375,12.3854259765625,12.9895740234375,11.9582859765625L12.9895740234375,2.9374539765625Q12.9895740234375,2.3808559765625,12.5959740234375,1.9872829765625Q12.2024740234375,1.5937089765625,11.6458740234375,1.5937089765625L2.3542070234375,1.5937089765625Q1.7976080234375,1.5937089765625,1.4040326234375,1.9872845765625Q1.0104570234375,2.3808599765625,1.0104570234375,2.9374589765625ZM2.0417070234375,12.0937259765625Q1.9062910234375,12.0937259765625,1.9062910234375,11.9582959765625L1.9062910234375,2.9374589765625Q1.9062910234375,2.7519259765625,2.0374820234374997,2.6207339765624997Q2.1686740234375,2.4895429765625,2.3542070234375,2.4895429765625L11.6458740234375,2.4895429765625Q11.8313740234375,2.4895429765625,11.9625740234375,2.6207339765624997Q12.0937740234375,2.7519249765625,12.0937740234375,2.9374579765625L12.0937740234375,11.9582959765625Q12.0937740234375,12.0937259765625,11.9583740234375,12.0937259765625L2.0417070234375,12.0937259765625Z"
fill-rule="evenodd" fill="#ffffff" fill-opacity="1"/>
</g>
<g>
<path
d="M4.822917,1.3557511Q4.825,1.3341757,4.825,1.3125Q4.825,1.2681789,4.816353,1.2247094Q4.807707,1.18124,4.790746,1.140292Q4.773785,1.099345,4.749161,1.062493Q4.724538,1.025642,4.693198,0.994302Q4.661858,0.962962,4.625007,0.938339Q4.588155,0.913715,4.547208,0.896754Q4.50626,0.879793,4.4627906,0.871147Q4.4193211,0.8625,4.375,0.8625Q4.3306789,0.8625,4.2872094,0.871147Q4.24374,0.879793,4.202792,0.896754Q4.161845,0.913715,4.124993,0.938339Q4.088142,0.962962,4.056802,0.994302Q4.025462,1.025642,4.000839,1.062493Q3.976215,1.099345,3.959254,1.140292Q3.942293,1.18124,3.933647,1.2247094Q3.925,1.2681789,3.925,1.3125Q3.925,1.3341757,3.927083,1.3557511L3.927083,3.45675Q3.925,3.47832,3.925,3.5Q3.925,3.54432,3.933647,3.58779Q3.942293,3.63126,3.959254,3.67221Q3.976215,3.71315,4.000839,3.75001Q4.025462,3.78686,4.056802,3.8182Q4.088142,3.84954,4.124993,3.87416Q4.161845,3.89878,4.202792,3.91575Q4.24374,3.93271,4.2872094,3.94135Q4.3306789,3.95,4.375,3.95Q4.4193211,3.95,4.4627906,3.94135Q4.50626,3.93271,4.547208,3.91575Q4.588155,3.89878,4.625007,3.87416Q4.661858,3.84954,4.693198,3.8182Q4.724538,3.78686,4.749161,3.75001Q4.773785,3.71315,4.790746,3.67221Q4.807707,3.63126,4.816353,3.58779Q4.825,3.54432,4.825,3.5Q4.825,3.47832,4.822917,3.45675L4.822917,1.3557511Z"
fill-rule="evenodd" fill="#ffffff" fill-opacity="1"/>
</g>
<g>
<path
d="M10.072917,1.3557511Q10.075,1.3341757,10.075,1.3125Q10.075,1.2681789,10.066353,1.2247094Q10.057707,1.18124,10.040746,1.140292Q10.023785,1.099345,9.999161,1.062493Q9.974538,1.025642,9.943198,0.994302Q9.911858,0.962962,9.875007,0.938339Q9.838155,0.913715,9.797208,0.896754Q9.75626,0.879793,9.7127906,0.871147Q9.6693211,0.8625,9.625,0.8625Q9.5806789,0.8625,9.5372094,0.871147Q9.49374,0.879793,9.452792,0.896754Q9.411845,0.913715,9.374993,0.938339Q9.338142,0.962962,9.306802,0.994302Q9.275462,1.025642,9.250839,1.062493Q9.226215,1.099345,9.209254,1.140292Q9.192293,1.18124,9.183647,1.2247094Q9.175,1.2681789,9.175,1.3125Q9.175,1.3341757,9.177083,1.3557511L9.177083,3.45675Q9.175,3.47832,9.175,3.5Q9.175,3.54432,9.183647,3.58779Q9.192293,3.63126,9.209254,3.67221Q9.226215,3.71315,9.250839,3.75001Q9.275462,3.78686,9.306802,3.8182Q9.338142,3.84954,9.374993,3.87416Q9.411845,3.89878,9.452792,3.91575Q9.49374,3.93271,9.5372094,3.94135Q9.5806789,3.95,9.625,3.95Q9.6693211,3.95,9.7127906,3.94135Q9.75626,3.93271,9.797208,3.91575Q9.838155,3.89878,9.875007,3.87416Q9.911858,3.84954,9.943198,3.8182Q9.974538,3.78686,9.999161,3.75001Q10.023785,3.71315,10.040746,3.67221Q10.057707,3.63126,10.066353,3.58779Q10.075,3.54432,10.075,3.5Q10.075,3.47832,10.072917,3.45675L10.072917,1.3557511Z"
fill-rule="evenodd" fill="#ffffff" fill-opacity="1"/>
</g>
<g>
<ellipse cx="7" cy="7.875" rx="0.875" ry="0.875" fill="#ffffff" fill-opacity="1"/>
</g>
<g transform="matrix(0,1,-1,0,14.875,-4.375)">
<path
d="M12.47396,4.862093L14.74727,6.174593Q14.79834,6.204078,14.84004,6.245775Q14.88174,6.28747,14.91122,6.33854Q14.94071,6.38961,14.95597,6.4465699999999995Q14.97123,6.50353,14.97123,6.5625L14.97123,9.1875Q14.97123,9.24647,14.95597,9.303429999999999Q14.94071,9.360389999999999,14.91122,9.41146Q14.88174,9.462530000000001,14.84004,9.50422Q14.79834,9.545919999999999,14.74727,9.57541L12.47396,10.88791Q12.42289,10.917390000000001,12.36593,10.932649999999999Q12.30897,10.94792,12.25,10.94792Q12.19103,10.94792,12.13407,10.932649999999999Q12.07711,10.917390000000001,12.02604,10.88791L9.752725,9.57541Q9.701656,9.545919999999999,9.6599584,9.50422Q9.61826079,9.462530000000001,9.5887761,9.41146Q9.5592914,9.360389999999999,9.544029,9.303429999999999Q9.5287667,9.24647,9.5287667,9.1875L9.5287666,6.5625Q9.5287666,6.50353,9.544029,6.4465699999999995Q9.5592914,6.38961,9.5887761,6.33854Q9.61826075,6.28747,9.6599584,6.245775Q9.701656,6.204077,9.752725,6.174593L12.02604,4.862093Q12.07711,4.8326080000000005,12.13407,4.817346Q12.19103,4.802083,12.25,4.802083Q12.30897,4.802083,12.36593,4.817346Q12.42289,4.8326080000000005,12.47396,4.862093L12.47396,4.862093ZM12.02604,5.637907L12.25,5.25L12.47396,5.637907L10.200642,6.95041L9.976683,6.5625L10.4246,6.5625L10.4246,9.1875L9.976683,9.1875L10.200642,8.79959L12.47396,10.11209L12.25,10.5L12.02604,10.11209L14.29936,8.79959L14.52332,9.1875L14.0754,9.1875L14.0754,6.5625L14.52332,6.5625L14.29936,6.95041L12.02604,5.637907Z"
fill="#ffffff" fill-opacity="1"/>
</g>
</g>
</svg>
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -26,6 +26,16 @@ ...@@ -26,6 +26,16 @@
opacity: 0; opacity: 0;
} }
.edit-fade-enter-active,
.edit-fade-leave-active {
transition: opacity 0.3s ease-in-out;
}
.edit-fade-leave-to,
.edit-fade-leave-to /* .fade-leave-active below version 2.1.8 */ {
opacity: 0;
}
.list-enter-active, .list-enter-active,
.list-leave-active { .list-leave-active {
transition: all 0.5s ease; transition: all 0.5s ease;
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
.el-form-item__label { .el-form-item__label {
font-weight: 400; font-weight: 400;
color: rgba(35, 35, 35, 0.8); color: rgba(35, 35, 35, 0.8);
text-align: left; text-align: right;
font-size: 14px; font-size: 14px;
line-height: 32px; line-height: 32px;
padding-right: 0px; padding-right: 0px;
......
...@@ -330,7 +330,7 @@ li { ...@@ -330,7 +330,7 @@ li {
padding-right: 12px; padding-right: 12px;
padding-left: 12px; padding-left: 12px;
line-height: 21px; line-height: 21px;
font-size: 12px; font-size: 14px;
font-weight: 400; font-weight: 400;
} }
thead { thead {
......
...@@ -233,3 +233,15 @@ ...@@ -233,3 +233,15 @@
.table-supplier .fixed-table .el-table__fixed-header-wrapper{ .table-supplier .fixed-table .el-table__fixed-header-wrapper{
top: -16px !important; top: -16px !important;
} }
.renling{
width: 280px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.ellipsis{
width: 500px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
...@@ -14,12 +14,12 @@ ...@@ -14,12 +14,12 @@
<!-- 已选字段 --> <!-- 已选字段 -->
<div class="use-header-container" v-if="useColumn.length"> <div class="use-header-container" v-if="useColumn.length">
<div class="use-header-title">已选字段</div> <div class="use-header-title">已选字段</div>
<vuedraggable v-model="useColumn" class="use-header-container-inner" ghostClass="dragClass"> <vuedraggable v-model="useColumn" class="use-header-container-inner" ghostClass="dragClass" handle=".use-header-item-drag-icon">
<transition-group name="fade" tag="div"> <transition-group name="fade" tag="div">
<div class="use-header-item" v-for="(item,index) of useColumn" :key="item.uid"> <div class="use-header-item" v-for="(item,index) of useColumn" :key="item.uid">
<el-checkbox v-model="item.use" class="use-header-item-label" <el-checkbox v-model="item.use" class="use-header-item-label"
@change="flag => checkedChange(index,flag,item)">{{item.label}}</el-checkbox> @change="flag => checkedChange(index,flag,item,false)">{{item.label}}</el-checkbox>
<img src="@/assets/images/consultingAgencyManagement/use-header-btn.png" alt=""> <img src="@/assets/images/consultingAgencyManagement/use-header-btn.png" alt="" class="use-header-item-drag-icon">
</div> </div>
</transition-group> </transition-group>
</vuedraggable> </vuedraggable>
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<div class="not-use-header-title">未选字段</div> <div class="not-use-header-title">未选字段</div>
<div class="not-use-header-item" v-for="(item,index) of notUseColumn" :key="item.uid"> <div class="not-use-header-item" v-for="(item,index) of notUseColumn" :key="item.uid">
<el-checkbox v-model="item.use" class="not-use-header-item-label" <el-checkbox v-model="item.use" class="not-use-header-item-label"
@change="flag => checkedChange(index,flag,item)">{{item.label}}</el-checkbox> @change="flag => checkedChange(index,flag,item,true)">{{item.label}}</el-checkbox>
</div> </div>
</div> </div>
...@@ -48,6 +48,7 @@ ...@@ -48,6 +48,7 @@
<script> <script>
import vuedraggable from "vuedraggable"; import vuedraggable from "vuedraggable";
import { v4 } from 'uuid'; import { v4 } from 'uuid';
import { elementMessageSingleton } from "@/utils";
export default { export default {
name: "dskTableHeaderSettingBar", name: "dskTableHeaderSettingBar",
components: { components: {
...@@ -128,7 +129,17 @@ export default { ...@@ -128,7 +129,17 @@ export default {
// console.log(this.notUseColumn); // console.log(this.notUseColumn);
} }
}, },
checkedChange(index, flag, item) { checkedChange(index, flag, item, isUse) {
// 至少保证一个自适应列存在
const { status, onlyColumn } = this.checkeOnlySelfAdaptation();
if (status && onlyColumn.uid == item.uid && !isUse) {
elementMessageSingleton("warning", "列表至少保证一个自适应列存在");
this.useColumn.splice(index, 1, {
...item,
use: true
});
return;
}
// 选中 往use push // 选中 往use push
if (flag) { if (flag) {
this.notUseColumn.splice(index, 1); this.notUseColumn.splice(index, 1);
...@@ -138,6 +149,24 @@ export default { ...@@ -138,6 +149,24 @@ export default {
this.useColumn.splice(index, 1); this.useColumn.splice(index, 1);
this.notUseColumn.push(item); this.notUseColumn.push(item);
}, },
checkeOnlySelfAdaptation() {
const _array = this.useColumn.filter(item => {
// 判断是否是自适应列
const isSelfAdaptationColumn = item.hasOwnProperty("minWidth") || item.width == "auto" || (!item.hasOwnProperty("minWidth") && !item.hasOwnProperty("width"));
return isSelfAdaptationColumn;
});
const len = _array.length;
// len等于1时仅剩一个自适应列
let status = false;
// 仅剩1个自适应列是用于判断当前取消的列是否是自适应列
let onlyColumn = null;
if (len == 1) {
onlyColumn = _array[0];
status = true;
}
return { status, onlyColumn };
},
cancel() { cancel() {
this.$emit("settingClose"); this.$emit("settingClose");
}, },
......
...@@ -45,7 +45,7 @@ export default { ...@@ -45,7 +45,7 @@ export default {
}, },
data() { data() {
return { return {
title: '中建一局公司', title: '中建一局集团第二建筑有限公司',
logo: logoImg logo: logoImg
} }
} }
......
...@@ -26,9 +26,9 @@ ...@@ -26,9 +26,9 @@
<router-link v-for="(tag, index) in visitedViews" ref="tag" :key="tag.fullPath" :class="isActive(tag)?'active':''" <router-link v-for="(tag, index) in visitedViews" ref="tag" :key="tag.fullPath" :class="isActive(tag)?'active':''"
:to="{ path: tag.fullPath, query: tag.query, fullPath: tag.fullPath }" tag="span" class="tags-view-item" :to="{ path: tag.fullPath, query: tag.query, fullPath: tag.fullPath }" tag="span" class="tags-view-item"
@click.middle.native="!isAffix(tag)?closeSelectedTag(tag):''" @contextmenu.prevent.native="openMenu(tag,$event)"> @click.middle.native="!isAffix(tag)?closeSelectedTag(tag):''" @contextmenu.prevent.native="openMenu(tag,$event)">
<svg :class="isActive(tag)?'tags-icon tags-icon-active':'tags-icon'" aria-hidden="true"> <!--<svg :class="isActive(tag)?'tags-icon tags-icon-active':'tags-icon'" aria-hidden="true">-->
<use :xlink:href="iconName(tag)" /> <!--<use :xlink:href="iconName(tag)" />-->
</svg> <!--</svg>-->
<span :id="isActive(tag)?'tagTitle':''">{{ tag.title.replace(/<[^>]+>/g, '') }}</span> <span :id="isActive(tag)?'tagTitle':''">{{ tag.title.replace(/<[^>]+>/g, '') }}</span>
<span v-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" /> <span v-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" />
<i <i
......
...@@ -324,7 +324,7 @@ export default { ...@@ -324,7 +324,7 @@ export default {
/** /**
* @type {HTMLDivElement} * @type {HTMLDivElement}
*/ */
const inner = document.querySelector(".basic-engineering-information-inner"); const inner = this.$el.querySelector(".basic-engineering-information-inner");
if (inner) { if (inner) {
const td = parseInt((inner.offsetWidth - 140 * 2) / 2); const td = parseInt((inner.offsetWidth - 140 * 2) / 2);
this.tableKeyWidth = `${parseInt(parseFloat(td / inner.offsetWidth) * 100)}%`; this.tableKeyWidth = `${parseInt(parseFloat(td / inner.offsetWidth) * 100)}%`;
......
<template> <template>
<div class="consulting-agency-container"> <div class="consulting-agency-container">
<el-form :model="comProjectDetailInfo" :rules="rules" :inline-message="false" class="basic-engineering-information-inner">
<!-- 基础信息 -->
<div class="project-basic-information">
<div class="info-module-title"><span>基础信息</span></div>
<table>
<colgroup>
<col>
<col :style="{width : tableKeyWidth}">
<col>
<col :style="{width : tableKeyWidth}">
</colgroup>
<tr>
<td class="table-key">咨询机构名称</td>
<td>
<transition mode="out-in" name="edit-fade">
<div class="normal-value" v-if="!comIsModify">
{{comProjectDetailInfo.advisoryBody && comProjectDetailInfo.advisoryBody.advisoryBodyName ? comProjectDetailInfo.advisoryBody.advisoryBodyName : "-"}}
</div>
<el-form-item label="" v-if="comIsModify">
<el-input v-model="comProjectDetailInfo.advisoryBody.advisoryBodyName" clearable v-focus placeholder="请输入完整咨询机构名称"
@input="searchConsulting"></el-input>
</el-form-item>
</transition>
</td>
<td class="table-key">法人代表</td>
<td>
{{comProjectDetailInfo.corporatePerson ? comProjectDetailInfo.corporatePerson : "-"}}
</td>
</tr>
<tr>
<!-- <td class="table-key">法人联系电话</td>
<td>
{{comProjectDetailInfo.corporatePerson ? comProjectDetailInfo.corporatePerson : "-"}}
</td> -->
<td class="table-key">注册地址</td>
<td colspan="3">
{{comProjectDetailInfo.regAddress ? comProjectDetailInfo.regAddress : "-"}}
</td>
</tr>
</table>
</div>
<!-- 项目联系人 -->
<div class="project-contact">
<div class="info-module-title"><span>项目联系人</span></div>
<table>
<colgroup>
<col>
<col :style="{width : tableKeyWidth}">
<col>
<col :style="{width : tableKeyWidth}">
</colgroup>
<tr>
<td class="table-key">项目负责人</td>
<td>
{{comProjectDetailInfo.advisoryBodyProject && comProjectDetailInfo.advisoryBodyProject.projectLeader ? comProjectDetailInfo.advisoryBodyProject.projectLeader : "-"}}
</td>
<td class="table-key">项目负责人专业</td>
<td>
{{comProjectDetailInfo.advisoryBodyProject && comProjectDetailInfo.advisoryBodyProject.projectLeaderMajor ? comProjectDetailInfo.advisoryBodyProject.projectLeaderMajor : "-"}}
</td>
</tr>
<tr>
<td class="table-key">联系电话</td>
<td colspan="3">
{{comProjectDetailInfo.advisoryBodyProject && comProjectDetailInfo.advisoryBodyProject.projectLeaderPhone ? comProjectDetailInfo.advisoryBodyProject.projectLeaderPhone : "-"}}
</td>
</tr>
</table>
</div>
<!-- 项目结算信息 -->
<div class="project-settlement-information">
<div class="info-module-title"><span>项目结算信息</span></div>
<table>
<colgroup>
<col>
<col :style="{width : tableKeyWidth}">
<col>
<col :style="{width : tableKeyWidth}">
</colgroup>
<tr>
<td class="table-key">结算开始时间</td>
<td>
{{comProjectDetailInfo.advisoryBodyProject && comProjectDetailInfo.advisoryBodyProject.settleStartTime ? comProjectDetailInfo.advisoryBodyProject.settleStartTime : "-"}}
</td>
<td class="table-key">结算完成时间</td>
<td>
{{comProjectDetailInfo.advisoryBodyProject && comProjectDetailInfo.advisoryBodyProject.settleFinishTime ? comProjectDetailInfo.advisoryBodyProject.settleFinishTime : "-"}}
</td>
</tr>
<tr>
<td class="table-key">是否为终审单位</td>
<td colspan="3">
{{comProjectDetailInfo.advisoryBodyProject && statusCheck(comProjectDetailInfo.advisoryBodyProject.isFinalJudgeUnit) ? statusCheck(comProjectDetailInfo.advisoryBodyProject.isFinalJudgeUnit) : "-"}}
</td>
</tr>
</table>
</div>
</el-form>
</div> </div>
</template> </template>
<script> <script>
import { searchConsultingApi } from "@/api/consultingOrgManagement";
export default { export default {
name: "consultingAgency", name: "consultingAgency",
props: { props: {
projectDetailInfo: Object projectDetailInfo: Object,
isModify: {
type: Boolean,
default: false
}
},
directives: {
focus: {
inserted(el) {
el.querySelector(".el-input__inner").focus();
}
}
},
watch: {
projectDetailInfo: {
handler(newValue, oldValue) {
this.comProjectDetailInfo = JSON.parse(JSON.stringify(newValue));
this.oldComProjectDetailInfo = JSON.parse(JSON.stringify(oldValue));
},
deep: true
},
isModify: {
handler(newValue) {
this.comIsModify = newValue;
}
}
}, },
data() { data() {
return { return {
comIsModify: this.isModify,
comProjectDetailInfo: JSON.parse(JSON.stringify(this.projectDetailInfo)),
oldComProjectDetailInfo: JSON.parse(JSON.stringify(this.projectDetailInfo)),
rules: {
},
tableKeyWidth: 0,
searchTimer: null
}; };
}, },
//可访问data属性 //可访问data属性
created() { created() {
this.setTableKeyWidth();
}, },
//计算集 //计算集
computed: { computed: {
...@@ -24,7 +154,59 @@ export default { ...@@ -24,7 +154,59 @@ export default {
}, },
//方法集 //方法集
methods: { methods: {
statusCheck(status) {
if (status == "0") {
return "是";
}
if (status == "1") {
return "否";
}
return "";
},
async setTableKeyWidth() {
try {
await this.$nextTick();
/**
* @type {HTMLDivElement}
*/
const inner = this.$el.querySelector(".basic-engineering-information-inner");
if (inner) {
const td = parseInt((inner.offsetWidth - 140 * 2) / 2);
this.tableKeyWidth = `${parseInt(parseFloat(td / inner.offsetWidth) * 100)}%`;
}
} catch (error) {
}
},
cancelModify() {
this.comProjectDetailInfo = JSON.parse(JSON.stringify(this.oldComProjectDetailInfo));
},
async searchConsulting(keywords) {
try {
if ((keywords || keywords == "0") && keywords?.toString()?.trim() && keywords?.toString()?.trim()?.length >= 1) {
this.clearSearchTimer();
this.searchTimer = setTimeout(async () => {
await this.searchConsultingHandle(keywords.toString().trim());
}, 1000);
}
} catch (error) {
}
},
async searchConsultingHandle(keywords) {
try {
const searchResult = await searchConsultingApi(keywords);
if (searchResult.code == 200) {
console.log(searchResult);
}
} catch (error) {
console.log(error);
}
},
clearSearchTimer() {
clearTimeout(this.searchTimer);
this.searchTimer = null;
}
}, },
} }
</script> </script>
...@@ -38,5 +220,113 @@ export default { ...@@ -38,5 +220,113 @@ export default {
padding: 16px; padding: 16px;
box-sizing: border-box; box-sizing: border-box;
overflow: auto; overflow: auto;
::v-deep .basic-engineering-information-inner {
width: 100%;
.info-module-title {
line-height: 24px;
color: #232323;
font-weight: bold;
font-size: 16px;
margin-bottom: 16px;
display: flex;
align-items: center;
& > span {
display: inline-block;
position: relative;
padding-left: 8px;
box-sizing: border-box;
&::before {
content: "";
position: absolute;
left: 0px;
top: 50%;
transform: translateY(-50%);
background: rgba(35, 35, 35, 0.8);
width: 2px;
height: 14px;
}
}
}
table {
width: 100%;
border-spacing: 0;
border-collapse: collapse;
&,
th,
td {
border: 1px solid #e6eaf1;
box-sizing: border-box;
}
td {
padding: 9px 12px;
line-height: 22px;
color: #232323;
font-size: 12px;
position: relative;
.normal-value {
vertical-align: middle;
line-height: 22px;
}
.el-form-item {
position: absolute;
left: 0px;
top: 0px;
width: 100%;
height: 100%;
margin-bottom: 0px;
z-index: 9;
.el-form-item__content {
height: 100%;
font-size: 12px;
line-height: unset;
.el-input {
height: 100%;
font-size: 12px;
}
.el-input__inner {
height: 40px;
line-height: 40px;
border-radius: unset;
border-color: transparent;
color: #232323;
font-size: 12px;
font-weight: 400;
padding-left: 12px;
outline: unset;
box-sizing: border-box;
&:focus {
border: 1px solid #0081ff;
}
}
}
}
}
.table-key {
background: #f0f3fa;
color: rgba(35, 35, 35, 0.8);
width: 140px;
&.lot {
height: 62px;
}
}
.data-td {
width: calc(100% - 140px);
}
}
.project-contact,
.project-settlement-information {
margin-top: 24px;
}
}
} }
</style> </style>
...@@ -17,14 +17,27 @@ ...@@ -17,14 +17,27 @@
<!-- tab切换部分 --> <!-- tab切换部分 -->
<div class="project-consulting-agency"> <div class="project-consulting-agency">
<!-- tab切换栏 --> <!-- tab切换栏 -->
<dsk-tab-toggle v-model="currentList" :tabs="toggleTabs"></dsk-tab-toggle> <div class="project-consulting-tab-container">
<dsk-tab-toggle v-model="currentList" :tabs="toggleTabs"></dsk-tab-toggle>
<!-- 编辑按钮 展示咨询机构结算信息显示 -->
<transition name="fade" appear mode="out-in">
<div class="edit-project-detail-container" v-if="currentList === 'consultingAgency' && !isModify" :key="'edit-project'">
<el-button type="primary" @click="editProjectDetail">编辑信息</el-button>
</div>
<div class="save-project-detail-container" v-if="currentList === 'consultingAgency' && isModify" :key="'save-project'">
<el-button type="primary" @click="editProjectDetail">保存</el-button>
<el-button @click="cancelSave">取消</el-button>
</div>
</transition>
</div>
<!-- tab切换容器 --> <!-- tab切换容器 -->
<div class="project-consulting-agency-inner"> <div class="project-consulting-agency-inner">
<!-- 工程基本信息 --> <!-- 工程基本信息 -->
<basic-engineering-information v-if="currentList === 'project'" :projectDetailInfo="projectDetailInfo"></basic-engineering-information> <basic-engineering-information v-if="currentList === 'project'" :projectDetailInfo="projectDetailInfo"></basic-engineering-information>
<!-- 咨询机构结算信息 --> <!-- 咨询机构结算信息 -->
<consulting-agency v-if="currentList === 'consultingAgency'" :projectDetailInfo="projectDetailInfo"></consulting-agency> <consulting-agency v-if="currentList === 'consultingAgency'" :projectDetailInfo="projectDetailInfo" :isModify="isModify"
ref="consultingAgency"></consulting-agency>
</div> </div>
</div> </div>
...@@ -62,7 +75,9 @@ export default { ...@@ -62,7 +75,9 @@ export default {
], ],
projectDetailInfo: {}, projectDetailInfo: {},
projectKey: "", projectKey: "",
advisoryBodyCid: "" advisoryBodyCid: "",
// 咨询机构结算信息 修改
isModify: false
}; };
}, },
//可访问data属性 //可访问data属性
...@@ -91,7 +106,17 @@ export default { ...@@ -91,7 +106,17 @@ export default {
} catch (error) { } catch (error) {
} }
} },
editProjectDetail() {
this.isModify = true;
},
saveProjectDetail() {
},
cancelSave() {
this.isModify = false;
this.$refs["consultingAgency"].cancelModify();
},
}, },
} }
</script> </script>
...@@ -157,6 +182,45 @@ export default { ...@@ -157,6 +182,45 @@ export default {
height: calc(100% - 110px); height: calc(100% - 110px);
margin-top: 16px; margin-top: 16px;
.project-consulting-tab-container {
position: relative;
.edit-project-detail-container {
position: absolute;
right: 16px;
top: 50%;
transform: translateY(-50%);
& > button {
height: 32px;
line-height: 32px;
padding: 0px 16px;
box-sizing: border-box;
background-color: #0081ff;
border-color: #0081ff;
}
}
.save-project-detail-container {
position: absolute;
right: 16px;
top: 50%;
transform: translateY(-50%);
& > button {
height: 32px;
line-height: 32px;
padding: 0px 16px;
box-sizing: border-box;
&.el-button--primary {
background-color: #0081ff;
border-color: #0081ff;
}
}
}
}
.project-consulting-agency-inner { .project-consulting-agency-inner {
width: 100%; width: 100%;
height: calc(100% - 47px); height: calc(100% - 47px);
......
...@@ -305,7 +305,7 @@ export default { ...@@ -305,7 +305,7 @@ export default {
const _temp = this.sideAddUid(JSON.parse(JSON.stringify(this.sideRoute))); const _temp = this.sideAddUid(JSON.parse(JSON.stringify(this.sideRoute)));
this.sideRoute = _temp; this.sideRoute = _temp;
this.defaultRoute = JSON.parse(JSON.stringify(this.sideRoute)); this.defaultRoute = JSON.parse(JSON.stringify(this.sideRoute));
this.searchIndex = this.findNodeIndex(this.defaultRoute, "overview").index; // this.searchIndex = this.findNodeIndex(this.defaultRoute, "overview").index;
}, },
// 查找菜单中的元素 // 查找菜单中的元素
findNodeIndex(tree, key, findKey = "pathName", findParent = false, parenNode = null) { findNodeIndex(tree, key, findKey = "pathName", findParent = false, parenNode = null) {
......
...@@ -130,7 +130,7 @@ export default { ...@@ -130,7 +130,7 @@ export default {
async maxHeightInit() { async maxHeightInit() {
try { try {
await this.$nextTick(); await this.$nextTick();
/** /**
* @type {HTMLDivElement} * @type {HTMLDivElement}
*/ */
const container = this.$el.querySelector(".table-item"); const container = this.$el.querySelector(".table-item");
...@@ -224,7 +224,7 @@ export default { ...@@ -224,7 +224,7 @@ export default {
} }
.el-table { .el-table {
.cell { .cell {
font-size: 12px; font-size: 14px;
} }
.el-table__header-wrapper { .el-table__header-wrapper {
min-height: 40px; min-height: 40px;
......
...@@ -92,7 +92,7 @@ export default { ...@@ -92,7 +92,7 @@ export default {
// 合作项目详情弹窗 // 合作项目详情弹窗
cooperationRecordDialog: false, cooperationRecordDialog: false,
dialogQueryParams: { dialogQueryParams: {
companyId: "", companyId: this.companyId,
combineId: "", combineId: "",
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
...@@ -264,7 +264,6 @@ export default { ...@@ -264,7 +264,6 @@ export default {
} }
}, },
viewProject(row) { viewProject(row) {
this.dialogQueryParams.companyId = row.companyId;
this.dialogQueryParams.combineId = row.counterpartCompanyId; this.dialogQueryParams.combineId = row.counterpartCompanyId;
this.cooperationRecordDialog = true; this.cooperationRecordDialog = true;
}, },
......
...@@ -92,7 +92,7 @@ export default { ...@@ -92,7 +92,7 @@ export default {
// 合作项目详情弹窗 // 合作项目详情弹窗
cooperationRecordDialog: false, cooperationRecordDialog: false,
dialogQueryParams: { dialogQueryParams: {
companyId: "", companyId: this.companyId,
combineId: "", combineId: "",
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
...@@ -264,7 +264,6 @@ export default { ...@@ -264,7 +264,6 @@ export default {
} }
}, },
viewProject(row) { viewProject(row) {
this.dialogQueryParams.companyId = row.companyId;
this.dialogQueryParams.combineId = row.companyId; this.dialogQueryParams.combineId = row.companyId;
this.cooperationRecordDialog = true; this.cooperationRecordDialog = true;
}, },
......
...@@ -203,7 +203,7 @@ export default { ...@@ -203,7 +203,7 @@ export default {
isCompany: false, //判断是否有建设库数据 isCompany: false, //判断是否有建设库数据
isCustomer: false, //判断是否展示修改客户信息 isCustomer: false, //判断是否展示修改客户信息
currentPath: { currentPath: {
pathName: 'overview' //默认展示页 pathName: '' //默认展示页
}, },
statisticObj: { statisticObj: {
basic: {}, basic: {},
...@@ -480,7 +480,7 @@ export default { ...@@ -480,7 +480,7 @@ export default {
height: auto; height: auto;
overflow: initial; overflow: initial;
box-sizing: border-box; box-sizing: border-box;
min-width: 1200px; /* min-width: 1200px; */
} }
} }
} }
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
</div> </div>
</div> </div>
<div class="content"> <div class="content">
<div class="table-search"> <div class="table-search" v-if="tableDataTotal > 0 && !isSkeleton">
<div class="total">{{tableDataTotal}}</div> <div class="total">{{tableDataTotal}}</div>
<div class="right"> <div class="right">
<span class="add" @click="addEnterprise">添加企业</span> <span class="add" @click="addEnterprise">添加企业</span>
...@@ -58,8 +58,6 @@ ...@@ -58,8 +58,6 @@
label="操作" label="操作"
align="left" align="left"
width="160" width="160"
class-name="small-padding fixed-width"
fixed="right"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<span style="color:#0081FF;" @click="handleCancel(scope.row.companyId)">取消监控</span> <span style="color:#0081FF;" @click="handleCancel(scope.row.companyId)">取消监控</span>
...@@ -70,8 +68,12 @@ ...@@ -70,8 +68,12 @@
<skeleton v-if="isSkeleton" style="padding: 16px"></skeleton> <skeleton v-if="isSkeleton" style="padding: 16px"></skeleton>
<div class="empty" v-if="tableDataTotal === 0 && !isSkeleton"> <div class="empty" v-if="tableDataTotal === 0 && !isSkeleton">
<img class="img" src="@/assets/images/project/empty.png"> <img class="img" src="@/assets/images/project/empty.png">
<div class="p1">抱歉,没找到相关数据</div> <div class="p1">您还未添加监控企业</div>
<div class="p2">建议调整关键词或筛选条件,重新搜索</div> <!--<div class="p2">建议调整关键词或筛选条件,重新搜索</div>-->
<div class="empty-btn">
<span class="add" @click="addEnterprise">添加企业</span>
<span class="add1" @click="handleBatch">批量监控</span>
</div>
</div> </div>
</div> </div>
<div class="pagination-box" v-if="tableDataTotal>queryParams.pageSize"> <div class="pagination-box" v-if="tableDataTotal>queryParams.pageSize">
...@@ -220,7 +222,6 @@ ...@@ -220,7 +222,6 @@
methods: { methods: {
async querySubmit() { async querySubmit() {
companyPage(this.queryParams).then(res => { companyPage(this.queryParams).then(res => {
console.log(res)
this.isSkeleton = false; this.isSkeleton = false;
this.tableData=res.rows this.tableData=res.rows
this.tableDataTotal=res.total this.tableDataTotal=res.total
...@@ -423,6 +424,7 @@ ...@@ -423,6 +424,7 @@
position: relative; position: relative;
::v-deep .el-radio{ ::v-deep .el-radio{
margin-right:16px; margin-right:16px;
color: rgba(35,35,35,0.8);
} }
::v-deep .el-date-editor{ ::v-deep .el-date-editor{
position: absolute; position: absolute;
...@@ -502,7 +504,6 @@ ...@@ -502,7 +504,6 @@
margin: 0 auto; margin: 0 auto;
height: 550px; height: 550px;
text-align: center; text-align: center;
border-top: 1px solid #EFEFEF;
.img{ .img{
width: 108px; width: 108px;
height: 108px; height: 108px;
...@@ -518,6 +519,29 @@ ...@@ -518,6 +519,29 @@
font-size: 14px; font-size: 14px;
margin-top: 8px; margin-top: 8px;
} }
.empty-btn{
margin-top: 24px;
span{
width: 88px;
height: 32px;
border-radius: 4px 4px 4px 4px;
line-height: 32px;
text-align: center;
display: inline-block;
font-size: 14px;
cursor: pointer;
}
.add{
color: #0081FF;
border: 1px solid #0081FF;
margin-right: 16px;
}
.add1{
color: #FFFFFF;
background: #0081FF;
border: 1px solid #0081FF;
}
}
} }
} }
::v-deep .dialogAdd{ ::v-deep .dialogAdd{
......
<template> <template>
<!--监控维度设置--> <!--监控维度设置-->
<div class="app-container MonitorSettings"> <div class="app-container MonitorSettings">
<div class="content"> <div class="content" style="height: 100%;">
<div class="m-title">监控维度设置</div> <div class="m-title">监控维度设置</div>
<div class="m-main"> <div class="m-main">
<div class="main-item"> <div class="main-item">
...@@ -127,7 +127,7 @@ ...@@ -127,7 +127,7 @@
rulesDetail({}).then(res => { rulesDetail({}).then(res => {
console.log(res) console.log(res)
if(res.data){ if(res.data){
let dimension=res.data.dimension.split(',');
this.queryParams={ this.queryParams={
pushFrequency:res.data.pushFrequency.toString(), pushFrequency:res.data.pushFrequency.toString(),
receiveMode:res.data.receiveMode.toString(), receiveMode:res.data.receiveMode.toString(),
...@@ -135,11 +135,15 @@ ...@@ -135,11 +135,15 @@
} }
this.startTime =res.data.timePeriodStart this.startTime =res.data.timePeriodStart
this.endTime = res.data.timePeriodEnd this.endTime = res.data.timePeriodEnd
for(let item in dimension){ if(res.data.dimension){
if (this.arr.indexOf(dimension[item]) == -1) { let dimension=res.data.dimension.split(',');
this.gsfx.push(dimension[item]) for(let item in dimension){
} else { if (this.arr.indexOf(dimension[item]) == -1) {
this.sffx.push(dimension[item]) console.log(dimension[item])
this.gsfx.push(dimension[item])
} else {
this.sffx.push(dimension[item])
}
} }
} }
} }
......
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
</div> </div>
<div class="content"> <div class="content">
<div class="total">{{tableDataTotal}}</div> <div class="total" v-if="tableDataTotal > 0 && !isSkeleton">{{tableDataTotal}}</div>
<div class="table-item"> <div class="table-item">
<div v-if="tableDataTotal > 0 && !isSkeleton"> <div v-if="tableDataTotal > 0 && !isSkeleton">
<el-table <el-table
...@@ -96,8 +96,6 @@ ...@@ -96,8 +96,6 @@
label="操作" label="操作"
align="center" align="center"
width="150" width="150"
class-name="small-padding fixed-width"
fixed="right"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<span style="cursor: pointer;color:#0081FF;" @click="handleDetail(scope.row)">查看详情</span> <span style="cursor: pointer;color:#0081FF;" @click="handleDetail(scope.row)">查看详情</span>
...@@ -108,8 +106,8 @@ ...@@ -108,8 +106,8 @@
<skeleton v-if="isSkeleton" style="padding: 16px"></skeleton> <skeleton v-if="isSkeleton" style="padding: 16px"></skeleton>
<div class="empty" v-if="tableDataTotal === 0 && !isSkeleton"> <div class="empty" v-if="tableDataTotal === 0 && !isSkeleton">
<img class="img" src="@/assets/images/project/empty.png"> <img class="img" src="@/assets/images/project/empty.png">
<div class="p1">抱歉,没找到相关数据</div> <div class="p1">暂未发现企业风险动态信息</div>
<div class="p2">建议调整关键词或筛选条件,重新搜索</div> <!--<div class="p2">建议调整关键词或筛选条件,重新搜索</div>-->
</div> </div>
</div> </div>
<div class="pagination-box" v-if="tableDataTotal>queryParams.pageSize"> <div class="pagination-box" v-if="tableDataTotal>queryParams.pageSize">
...@@ -376,7 +374,6 @@ ...@@ -376,7 +374,6 @@
el.Array.push({key:i,value:j}) el.Array.push({key:i,value:j})
} }
}) })
console.log(this.tableData)
}) })
}, },
getDetail(name,id) { getDetail(name,id) {
...@@ -718,10 +715,11 @@ ...@@ -718,10 +715,11 @@
top: -6px; top: -6px;
opacity: 0; opacity: 0;
line-height: 22px; line-height: 22px;
.el-input { ::v-deep .el-input {
width: 100%; width: 100%;
line-height: 22px; line-height: 22px;
.el-input__inner { .el-input__inner {
color: rgba(35,35,35,0.8);
width: 100%; width: 100%;
height: 22px !important; height: 22px !important;
} }
...@@ -744,6 +742,12 @@ ...@@ -744,6 +742,12 @@
margin-right: 24px; margin-right: 24px;
} }
} }
::v-deep .el-radio{
color: rgba(35,35,35,0.8);
}
::v-deep .el-checkbox__label{
color: rgba(35,35,35,0.8);
}
::v-deep .el-checkbox{ ::v-deep .el-checkbox{
margin-right: 10px; margin-right: 10px;
} }
...@@ -797,7 +801,6 @@ ...@@ -797,7 +801,6 @@
margin: 0 auto; margin: 0 auto;
height: 550px; height: 550px;
text-align: center; text-align: center;
border-top: 1px solid #EFEFEF;
.img{ .img{
width: 108px; width: 108px;
height: 108px; height: 108px;
......
...@@ -48,8 +48,11 @@ ...@@ -48,8 +48,11 @@
<skeleton v-if="isSkeleton" style="padding: 16px"></skeleton> <skeleton v-if="isSkeleton" style="padding: 16px"></skeleton>
<div class="empty" v-if="tableDataTotal === 0 && !isSkeleton"> <div class="empty" v-if="tableDataTotal === 0 && !isSkeleton">
<img class="img" src="@/assets/images/project/empty.png"> <img class="img" src="@/assets/images/project/empty.png">
<div class="p1">抱歉,没找到相关数据</div> <div class="p1">当前暂无监控报告</div>
<div class="p2">建议调整关键词或筛选条件,重新搜索</div> <!--<div class="p2">建议调整关键词或筛选条件,重新搜索</div>-->
</div>
<div class="pagination-box" v-if="tableDataTotal>queryParams.pageSize" style="background: #ffffff;margin-top: 16px;padding-right: 16px;">
<el-pagination background :current-page="queryParams.pageNum" :page-size="queryParams.pageSize" :total="tableDataTotal" layout="prev, pager, next, jumper" @current-change="handleCurrentChange" @size-change="handleSizeChange" />
</div> </div>
</div> </div>
</div> </div>
...@@ -89,7 +92,6 @@ ...@@ -89,7 +92,6 @@
methods: { methods: {
async querySubmit() { async querySubmit() {
reportPage(this.queryParams).then(res => { reportPage(this.queryParams).then(res => {
console.log(res)
this.isSkeleton = false; this.isSkeleton = false;
this.dataList=res.rows; this.dataList=res.rows;
this.tableDataTotal=res.total this.tableDataTotal=res.total
...@@ -100,7 +102,19 @@ ...@@ -100,7 +102,19 @@
this.queryParams.pageNum=1 this.queryParams.pageNum=1
this.queryParams.pageSize=10 this.queryParams.pageSize=10
this.querySubmit() this.querySubmit()
} },
// 重置页数
handleSizeChange(val) {
this.queryParams.pageNum = 1
this.queryParams.pageSize = val
this.querySubmit()
},
// 跳转指定页数
handleCurrentChange(val) {
this.queryParams.pageNum = val
this.querySubmit()
window.scrollTo(0, 0);
},
} }
} }
</script> </script>
...@@ -237,7 +251,6 @@ ...@@ -237,7 +251,6 @@
margin: 0 auto; margin: 0 auto;
height: 550px; height: 550px;
text-align: center; text-align: center;
border-top: 1px solid #EFEFEF;
background: #ffffff; background: #ffffff;
.img{ .img{
width: 108px; width: 108px;
......
<template> <template>
<div class="app-container enterprise_contatiner"> <div class="app-container enterprise_contatiner">
<div class="header"> <div class="header">
<div class="title_wrap">
<div class="enterprise_title">
评标助手
</div>
</div>
<el-tabs v-model="activeName" > <el-tabs v-model="activeName" >
<el-tab-pane label="查资质" name="first"></el-tab-pane> <el-tab-pane label="查资质" name="first"></el-tab-pane>
<el-tab-pane label="现行资质标准" name="second"></el-tab-pane> <el-tab-pane label="现行资质标准" name="second"></el-tab-pane>
...@@ -34,13 +39,12 @@ export default { ...@@ -34,13 +39,12 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.header{ .header{
justify-content: space-between; justify-content: space-between;
height: 48px;
background: #FFFFFF; background: #FFFFFF;
border-radius: 4px 4px 0 0 ; border-radius: 4px 4px 0 0 ;
border-bottom: 1px solid #EEEEEE; border-bottom: 1px solid #EEEEEE;
color: #232323; color: #232323;
position: sticky; position: sticky;
top: 0; top: -16px;
z-index: 999; z-index: 999;
::v-deep .el-tabs{ ::v-deep .el-tabs{
height: 48px; height: 48px;
......
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
</p> </p>
<p> <p>
<label class="label">公司性质</label> <label class="label">公司性质</label>
<span></span> <span>{{custmerInfo.customerProperty || '--'}}</span>
<label class="label">资质等级</label> <label class="label">资质等级</label>
<span>{{custmerInfo.credential || '--'}}</span> <span>{{custmerInfo.credential || '--'}}</span>
</p> </p>
......
...@@ -106,9 +106,19 @@ ...@@ -106,9 +106,19 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div class="renling"> <div class="renling">
<div style="display:flex;align-items:center"> <div style="display:flex;align-items:center">
<router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}?path=cooperationRecord&companyName=${scope.row.customerName}`" tag="a" <el-tooltip placement="top" v-if="scope.row.customerText.length>20">
class="wordprimary" v-html="scope.row.customerName"></router-link> <div slot="content">{{scope.row.customerText}}</div>
<span v-else v-html="scope.row.customerName"></span> <div class="renling">
<router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}?path=cooperationRecord&companyName=${scope.row.customerName}`" tag="a"
class="wordprimary" v-html="scope.row.customerName"></router-link>
<span v-else v-html="scope.row.customerName"></span>
</div>
</el-tooltip>
<div class="renling" v-else>
<router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}?path=cooperationRecord&companyName=${scope.row.customerName}`" tag="a"
class="wordprimary" v-html="scope.row.customerName"></router-link>
<span v-else v-html="scope.row.customerName"></span>
</div>
</div> </div>
</div> </div>
...@@ -138,7 +148,15 @@ ...@@ -138,7 +148,15 @@
</el-table-column> </el-table-column>
<el-table-column label="专业类别" min-width="85" :resizable="false"> <el-table-column label="专业类别" min-width="85" :resizable="false">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.groupSpecialty||"--"}} <el-tooltip placement="top" v-if="scope.row.groupSpecialty.length>35">
<div slot="content">{{scope.row.groupSpecialty}}</div>
<span class="ellipsis">
{{scope.row.groupSpecialty||"--"}}
</span>
</el-tooltip>
<span class="ellipsis" v-else>
{{scope.row.groupSpecialty||"--"}}
</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="法人代表" min-width="85" :resizable="false"> <el-table-column label="法人代表" min-width="85" :resizable="false">
...@@ -158,7 +176,15 @@ ...@@ -158,7 +176,15 @@
</el-table-column> </el-table-column>
<el-table-column label="施工承包范围" min-width="120" :resizable="false"> <el-table-column label="施工承包范围" min-width="120" :resizable="false">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.constructJobScope||"--"}} <el-tooltip placement="top-start" v-if="scope.row.constructJobScope.length>35">
<div slot="content">{{scope.row.constructJobScope}}</div>
<div class="ellipsis">
<span>{{scope.row.constructJobScope||"--"}}</span>
</div>
</el-tooltip>
<div class="ellipsis" v-else>
<span>{{scope.row.constructJobScope||"--"}}</span>
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="资质等级" min-width="85" :resizable="false"> <el-table-column label="资质等级" min-width="85" :resizable="false">
...@@ -181,7 +207,7 @@ ...@@ -181,7 +207,7 @@
{{scope.row.contactPhone||"--"}} {{scope.row.contactPhone||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="准入时间" min-width="120" :resizable="false"> <el-table-column label="准入时间" min-width="180" :resizable="false">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.approveDate2||"--"}} {{scope.row.approveDate2||"--"}}
</template> </template>
...@@ -419,6 +445,9 @@ ...@@ -419,6 +445,9 @@
this.isSkeleton = false this.isSkeleton = false
this.tableData = res.rows this.tableData = res.rows
this.total = res.total this.total = res.total
this.tableData.forEach(item=>{
item.customerText = item.customerName.replace(/<\/?[^>]+(style=('|")[^'"]*)?>/gi, '')
})
}) })
}, },
handleCurrentChange(val){ handleCurrentChange(val){
......
...@@ -111,9 +111,19 @@ ...@@ -111,9 +111,19 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div class="renling"> <div class="renling">
<div style="display:flex;align-items:center"> <div style="display:flex;align-items:center">
<router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}?path=cooperationRecord&companyName=${scope.row.customerName}`" tag="a" <el-tooltip placement="top" v-if="scope.row.customerText.length>20">
class="wordprimary" v-html="scope.row.customerName"></router-link> <div slot="content">{{scope.row.customerText}}</div>
<span v-else v-html="scope.row.customerName"></span> <div class="renling">
<router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}?path=cooperationRecord&companyName=${scope.row.customerName}`" tag="a"
class="wordprimary" v-html="scope.row.customerName"></router-link>
<span v-else v-html="scope.row.customerName"></span>
</div>
</el-tooltip>
<div class="renling" v-else>
<router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}?path=cooperationRecord&companyName=${scope.row.customerName}`" tag="a"
class="wordprimary" v-html="scope.row.customerName"></router-link>
<span v-else v-html="scope.row.customerName"></span>
</div>
</div> </div>
</div> </div>
...@@ -216,7 +226,7 @@ ...@@ -216,7 +226,7 @@
{{scope.row.serviceTeamSpeciality||"--"}} {{scope.row.serviceTeamSpeciality||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="准入时间" min-width="120" :resizable="false"> <el-table-column label="准入时间" min-width="180" :resizable="false">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.approveDate2||"--"}} {{scope.row.approveDate2||"--"}}
</template> </template>
...@@ -456,6 +466,9 @@ ...@@ -456,6 +466,9 @@
this.isSkeleton = false this.isSkeleton = false
this.tableData = res.rows this.tableData = res.rows
this.total = res.total this.total = res.total
this.tableData.forEach(item=>{
item.customerText = item.customerName.replace(/<\/?[^>]+(style=('|")[^'"]*)?>/gi, '')
})
}) })
}, },
handleCurrentChange(val){ handleCurrentChange(val){
......
...@@ -96,10 +96,18 @@ ...@@ -96,10 +96,18 @@
<el-table-column label="供应商编号" prop="customerCode" :fixed="tableColumnFixed" width="120" :resizable="false"> <el-table-column label="供应商编号" prop="customerCode" :fixed="tableColumnFixed" width="120" :resizable="false">
</el-table-column> </el-table-column>
<el-table-column label="供应商名称" :fixed="tableColumnFixed" width="380" :resizable="false"> <el-table-column label="供应商名称" :fixed="tableColumnFixed" width="305" :resizable="false">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="renling"> <div style="display:flex;align-items:center">
<div style="display:flex;align-items:center"> <el-tooltip placement="top" v-if="scope.row.customerText.length>20">
<div slot="content">{{scope.row.customerText}}</div>
<div class="renling">
<router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}?path=cooperationRecord&companyName=${scope.row.customerName}`" tag="a"
class="wordprimary" v-html="scope.row.customerName"></router-link>
<span v-else v-html="scope.row.customerName"></span>
</div>
</el-tooltip>
<div class="renling" v-else>
<router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}?path=cooperationRecord&companyName=${scope.row.customerName}`" tag="a" <router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}?path=cooperationRecord&companyName=${scope.row.customerName}`" tag="a"
class="wordprimary" v-html="scope.row.customerName"></router-link> class="wordprimary" v-html="scope.row.customerName"></router-link>
<span v-else v-html="scope.row.customerName"></span> <span v-else v-html="scope.row.customerName"></span>
...@@ -135,9 +143,17 @@ ...@@ -135,9 +143,17 @@
{{scope.row.customerClass||"--"}} {{scope.row.customerClass||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="专业类别" min-width="185" :resizable="false"> <el-table-column label="专业类别" min-width="520" :resizable="false">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.groupSpecialty||"--"}} <el-tooltip placement="top" v-if="scope.row.groupSpecialty.length>35">
<div slot="content">{{scope.row.groupSpecialty}}</div>
<span class="ellipsis">
{{scope.row.groupSpecialty||"--"}}
</span>
</el-tooltip>
<span class="ellipsis" v-else>
{{scope.row.groupSpecialty||"--"}}
</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="纳税人身份" min-width="120" :resizable="false"> <el-table-column label="纳税人身份" min-width="120" :resizable="false">
...@@ -183,9 +199,17 @@ ...@@ -183,9 +199,17 @@
{{scope.row.serviceTeamSpeciality||"--"}} {{scope.row.serviceTeamSpeciality||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="施工承包范围" min-width="200" :resizable="false"> <el-table-column label="施工承包范围" min-width="520" :resizable="false">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.constructJobScope||"--"}} <el-tooltip placement="top-start" v-if="scope.row.constructJobScope.length>35">
<div slot="content">{{scope.row.constructJobScope}}</div>
<div class="ellipsis">
<span>{{scope.row.constructJobScope||"--"}}</span>
</div>
</el-tooltip>
<div class="ellipsis" v-else>
<span>{{scope.row.constructJobScope||"--"}}</span>
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="资质等级" min-width="120" :resizable="false"> <el-table-column label="资质等级" min-width="120" :resizable="false">
...@@ -208,7 +232,7 @@ ...@@ -208,7 +232,7 @@
{{scope.row.contactPhone||"--"}} {{scope.row.contactPhone||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="准入时间" min-width="120" :resizable="false"> <el-table-column label="准入时间" min-width="180" :resizable="false">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.approveDate2||"--"}} {{scope.row.approveDate2||"--"}}
</template> </template>
...@@ -454,6 +478,9 @@ ...@@ -454,6 +478,9 @@
this.tableData = res.rows this.tableData = res.rows
this.total = res.total this.total = res.total
this.isSkeleton = false this.isSkeleton = false
this.tableData.forEach(item=>{
item.customerText = item.customerName.replace(/<\/?[^>]+(style=('|")[^'"]*)?>/gi, '')
})
}) })
}, },
handleCurrentChange(val){ handleCurrentChange(val){
......
...@@ -100,7 +100,15 @@ ...@@ -100,7 +100,15 @@
<el-table-column label="供应商名称" :fixed="tableColumnFixed" width="380" :resizable="false"> <el-table-column label="供应商名称" :fixed="tableColumnFixed" width="380" :resizable="false">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="renling"> <div class="renling">
<div style="display:flex;align-items:center"> <el-tooltip placement="top" v-if="scope.row.customerText.length>20">
<div slot="content">{{scope.row.customerText}}</div>
<div class="renling">
<router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}?path=cooperationRecord&companyName=${scope.row.customerName}`" tag="a"
class="wordprimary" v-html="scope.row.customerName"></router-link>
<span v-else v-html="scope.row.customerName"></span>
</div>
</el-tooltip>
<div class="renling" v-else>
<router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}?path=cooperationRecord&companyName=${scope.row.customerName}`" tag="a" <router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}?path=cooperationRecord&companyName=${scope.row.customerName}`" tag="a"
class="wordprimary" v-html="scope.row.customerName"></router-link> class="wordprimary" v-html="scope.row.customerName"></router-link>
<span v-else v-html="scope.row.customerName"></span> <span v-else v-html="scope.row.customerName"></span>
...@@ -133,7 +141,15 @@ ...@@ -133,7 +141,15 @@
</el-table-column> </el-table-column>
<el-table-column label="专业类别" min-width="85" :resizable="false"> <el-table-column label="专业类别" min-width="85" :resizable="false">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.groupSpecialty||"--"}} <el-tooltip placement="top" v-if="scope.row.groupSpecialty.length>35">
<div slot="content">{{scope.row.groupSpecialty}}</div>
<span class="ellipsis">
{{scope.row.groupSpecialty||"--"}}
</span>
</el-tooltip>
<span class="ellipsis" v-else>
{{scope.row.groupSpecialty||"--"}}
</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="法人代表" min-width="85" :resizable="false"> <el-table-column label="法人代表" min-width="85" :resizable="false">
...@@ -153,7 +169,15 @@ ...@@ -153,7 +169,15 @@
</el-table-column> </el-table-column>
<el-table-column label="施工承包范围" min-width="120" :resizable="false"> <el-table-column label="施工承包范围" min-width="120" :resizable="false">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.constructJobScope||"--"}} <el-tooltip placement="top-start" v-if="scope.row.constructJobScope.length>35">
<div slot="content">{{scope.row.constructJobScope}}</div>
<div class="ellipsis">
<span>{{scope.row.constructJobScope||"--"}}</span>
</div>
</el-tooltip>
<div class="ellipsis" v-else>
<span>{{scope.row.constructJobScope||"--"}}</span>
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="资质等级" min-width="85" :resizable="false"> <el-table-column label="资质等级" min-width="85" :resizable="false">
...@@ -176,7 +200,7 @@ ...@@ -176,7 +200,7 @@
{{scope.row.contactPhone||"--"}} {{scope.row.contactPhone||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="准入时间" min-width="120" :resizable="false"> <el-table-column label="准入时间" min-width="180" :resizable="false">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.approveDate2||"--"}} {{scope.row.approveDate2||"--"}}
</template> </template>
...@@ -415,6 +439,9 @@ ...@@ -415,6 +439,9 @@
this.isSkeleton = false this.isSkeleton = false
this.tableData = res.rows this.tableData = res.rows
this.total = res.total this.total = res.total
this.tableData.forEach(item=>{
item.customerText = item.customerName.replace(/<\/?[^>]+(style=('|")[^'"]*)?>/gi, '')
})
}) })
}, },
handleCurrentChange(val){ handleCurrentChange(val){
......
...@@ -101,9 +101,19 @@ ...@@ -101,9 +101,19 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div class="renling"> <div class="renling">
<div style="display:flex;align-items:center"> <div style="display:flex;align-items:center">
<router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}?path=cooperationRecord&companyName=${scope.row.customerName}`" tag="a" <el-tooltip placement="top" v-if="scope.row.customerText.length>20">
class="wordprimary" v-html="scope.row.customerName"></router-link> <div slot="content">{{scope.row.customerText}}</div>
<span v-else v-html="scope.row.customerName"></span> <div class="renling">
<router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}?path=cooperationRecord&companyName=${scope.row.customerName}`" tag="a"
class="wordprimary" v-html="scope.row.customerName"></router-link>
<span v-else v-html="scope.row.customerName"></span>
</div>
</el-tooltip>
<div class="renling" v-else>
<router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}?path=cooperationRecord&companyName=${scope.row.customerName}`" tag="a"
class="wordprimary" v-html="scope.row.customerName"></router-link>
<span v-else v-html="scope.row.customerName"></span>
</div>
</div> </div>
</div> </div>
...@@ -133,7 +143,15 @@ ...@@ -133,7 +143,15 @@
</el-table-column> </el-table-column>
<el-table-column label="专业类别" min-width="85" :resizable="false"> <el-table-column label="专业类别" min-width="85" :resizable="false">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.groupSpecialty||"--"}} <el-tooltip placement="top" v-if="scope.row.groupSpecialty.length>35">
<div slot="content">{{scope.row.groupSpecialty}}</div>
<span class="ellipsis">
{{scope.row.groupSpecialty||"--"}}
</span>
</el-tooltip>
<span class="ellipsis" v-else>
{{scope.row.groupSpecialty||"--"}}
</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="法人代表" min-width="85" :resizable="false"> <el-table-column label="法人代表" min-width="85" :resizable="false">
...@@ -171,7 +189,7 @@ ...@@ -171,7 +189,7 @@
{{scope.row.contactPhone||"--"}} {{scope.row.contactPhone||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="准入时间" min-width="120" :resizable="false"> <el-table-column label="准入时间" min-width="180" :resizable="false">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.approveDate2||"--"}} {{scope.row.approveDate2||"--"}}
</template> </template>
...@@ -409,6 +427,9 @@ ...@@ -409,6 +427,9 @@
this.isSkeleton = false this.isSkeleton = false
this.tableData = res.rows this.tableData = res.rows
this.total = res.total this.total = res.total
this.tableData.forEach(item=>{
item.customerText = item.customerName.replace(/<\/?[^>]+(style=('|")[^'"]*)?>/gi, '')
})
}) })
}, },
handleCurrentChange(val){ handleCurrentChange(val){
......
...@@ -101,9 +101,19 @@ ...@@ -101,9 +101,19 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div class="renling"> <div class="renling">
<div style="display:flex;align-items:center"> <div style="display:flex;align-items:center">
<router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}?path=cooperationRecord&companyName=${scope.row.customerName}`" tag="a" <el-tooltip placement="top" v-if="scope.row.customerText.length>20">
class="wordprimary" v-html="scope.row.customerName"></router-link> <div slot="content">{{scope.row.customerText}}</div>
<span v-else v-html="scope.row.customerName"></span> <div class="renling">
<router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}?path=cooperationRecord&companyName=${scope.row.customerName}`" tag="a"
class="wordprimary" v-html="scope.row.customerName"></router-link>
<span v-else v-html="scope.row.customerName"></span>
</div>
</el-tooltip>
<div class="renling" v-else>
<router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}?path=cooperationRecord&companyName=${scope.row.customerName}`" tag="a"
class="wordprimary" v-html="scope.row.customerName"></router-link>
<span v-else v-html="scope.row.customerName"></span>
</div>
</div> </div>
</div> </div>
...@@ -171,7 +181,7 @@ ...@@ -171,7 +181,7 @@
{{scope.row.contactPhone||"--"}} {{scope.row.contactPhone||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="准入时间" min-width="120" :resizable="false"> <el-table-column label="准入时间" min-width="180" :resizable="false">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.approveDate2||"--"}} {{scope.row.approveDate2||"--"}}
</template> </template>
...@@ -409,6 +419,9 @@ ...@@ -409,6 +419,9 @@
this.isSkeleton = false this.isSkeleton = false
this.tableData = res.rows this.tableData = res.rows
this.total = res.total this.total = res.total
this.tableData.forEach(item=>{
item.customerText = item.customerName.replace(/<\/?[^>]+(style=('|")[^'"]*)?>/gi, '')
})
}) })
}, },
handleCurrentChange(val){ handleCurrentChange(val){
......
...@@ -18,8 +18,6 @@ ...@@ -18,8 +18,6 @@
<el-table-column <el-table-column
label="操作" label="操作"
align="left" align="left"
class-name="small-padding fixed-width"
fixed="right"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.status===0" style="cursor: pointer;margin-right: 16px;color: #0081FF;" @click="handleClick(scope.row,1)">停用</span> <span v-if="scope.row.status===0" style="cursor: pointer;margin-right: 16px;color: #0081FF;" @click="handleClick(scope.row,1)">停用</span>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment