Commit d3a8ce0d authored by yht15023815643's avatar yht15023815643

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys...

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys into V20231129-中建一局二公司
parents ead87a57 58000116
......@@ -51,7 +51,11 @@
<artifactId>dsk-acc-open-sdk-java</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>co.elastic.clients</groupId>
<artifactId>elasticsearch-java</artifactId>
<version>8.7.0</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.tencentcloudapi</groupId>-->
......
package com.dsk.cscec.constant;
/**
* 搜索常量信息
*
* @author sxk
* @date 2023.12.11
* @time 14:22
*/
public interface QueryConstants {
/**
* 筛选数据一级公司名称
*/
String LEVEL1_COMPANY_NAME = "中建一局集团第二建筑有限公司";
/**
* 筛选数据一级公司ID
*/
String LEVEL1_COMPANY_ID = "F17305B4EA4444CBAB12892C7B99E475";
/**
* 筛选数据二级公司名称
* 备用,需要时请填入内容
*/
String LEVEL2_COMPANY_NAME = "";
/**
* 筛选数据二级公司ID
* 备用,需要时请填入内容
*/
String LEVEL2_COMPANY_ID = "";
}
package com.dsk.cscec.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.bean.BeanUtil;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.domain.bo.DCustomerSearchBo;
import com.dsk.cscec.service.IDCustomerService;
import com.dsk.system.domain.SysDept;
import com.dsk.system.domain.vo.SysDeptVo;
import lombok.RequiredArgsConstructor;
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;
import java.util.List;
/**
* 组织维表(DCustomer)表控制层
*
* @author lcl
* @since 2023-12-08 14:57:22
*/
@RequiredArgsConstructor
@RestController
@RequestMapping("/customer")
public class DCustomerController extends BaseController {
/**
* 服务对象
*/
private final IDCustomerService baseService;
/**
* 供应商总台账筛选
*/
@GetMapping("/all/searchList")
public TableDataInfo<DCustomer> allSearchList(DCustomerSearchBo bo, PageQuery query) {
return baseService.allSearchList(bo,query);
}
}
package com.dsk.cscec.controller;
import com.dsk.common.core.controller.BaseController;
import com.dsk.cscec.service.IDProjectService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
* 项目维表(DProject)表控制层
*
* @author makejava
* @since 2023-12-10 15:34:46
*/
@RestController
@RequestMapping("dProject")
public class DProjectController extends BaseController {
/**
* 服务对象
*/
@Resource
private IDProjectService IDProjectService;
///**
// * 分页查询所有数据
// *
// * @param page 分页对象
// * @param dProject 查询实体
// * @return 所有数据
// */
//@GetMapping
//public R selectAll(Page<DProject> page, DProject dProject) {
// return success(this.dProjectService.page(page, new QueryWrapper<>(dProject)));
//}
//
///**
// * 通过主键查询单条数据
// *
// * @param id 主键
// * @return 单条数据
// */
//@GetMapping("{id}")
//public R selectOne(@PathVariable Serializable id) {
// return success(this.dProjectService.getById(id));
//}
//
///**
// * 新增数据
// *
// * @param dProject 实体对象
// * @return 新增结果
// */
//@PostMapping
//public R insert(@RequestBody DProject dProject) {
// return success(this.dProjectService.save(dProject));
//}
//
///**
// * 修改数据
// *
// * @param dProject 实体对象
// * @return 修改结果
// */
//@PutMapping
//public R update(@RequestBody DProject dProject) {
// return success(this.dProjectService.updateById(dProject));
//}
//
///**
// * 删除数据
// *
// * @param idList 主键结合
// * @return 删除结果
// */
//@DeleteMapping
//public R delete(@RequestParam("idList") List<Long> idList) {
// return success(this.dProjectService.removeByIds(idList));
//}
}
package com.dsk.cscec.domain;
import java.util.Date;
import java.io.Serializable;
import lombok.Data;
/**
* 组织维表(DCustomer)表实体类
*
* @author lcl
* @since 2023-12-08 14:57:25
*/
@Data
public class DCustomer implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客商主键
*/
private Long customerKey;
/**
* ipm供应商id
*/
private String customerId;
/**
* ipm供应商名称
*/
private String cusomerName;
/**
* 财务客商编码
*/
private String finCustomerCode;
/**
* 财务客商名称
*/
private String finCustomerName;
/**
* 税号
*/
private String taxNumber;
/**
* 是否有效 Y 有效 N 无效
*/
private String isvalid;
/**
* 供应商编号
*/
private String customerCode;
/**
* 供应商名称
*/
private String customerName;
/**
* 供应商状态
*/
private String customerState;
/**
* 推荐公司ID
*/
private String recommendOrgId;
/**
* 推荐公司
*/
private String recommendOrg;
/**
* 准入时间
*/
private Date approveDate2;
/**
* 版本
*/
private Long version;
/**
* 供应商id
*/
private String supplierId;
/**
* 供应商类别编码
*/
private String customerCategoryCode;
/**
* 法人代表
*/
private String representative;
/**
* 工商注册号
*/
private String registerNo;
/**
* 统一社会信用代码
*/
private String unifySocialCode;
/**
* 税务登记号
*/
private String businessLicense;
/**
* 组织机构代码号
*/
private String orgnizationCode;
/**
* 注册资金
*/
private Double registerCapital;
/**
* 主营业务
*/
private String primaryBusiness;
/**
* 资质等级
*/
private String credential;
/**
* 品牌
*/
private String brand;
/**
* 地址
*/
private String address;
/**
* 城市id
*/
private String registerCityId;
/**
* 注册地区域
*/
private String registerRegion;
/**
* 省份
*/
private String registerProvince;
/**
* 城市
*/
private String registerCity;
/**
* 开户行
*/
private String openBank;
/**
* 银行账号
*/
private String bankAccount;
/**
* 联系人
*/
private String contactPerson;
/**
* 电话
*/
private String contactPhone;
/**
* 手机
*/
private String mobile;
/**
* 邮编
*/
private String zipcode;
/**
* email
*/
private String email;
/**
* 网址
*/
private String website;
/**
* 备注说明
*/
private String remark;
/**
* 地区编号
*/
private String areaCode;
/**
* 货币种类
*/
private String currency;
/**
* 所属组织机构id
*/
private String orgnizationId;
/**
* 类型
*/
private String customerType;
/**
* 企业信用情况
*/
private String creditSituation;
/**
* 创建者id
*/
private String employeeId;
/**
* 成立日期
*/
private String establishDate;
/**
* 区号
*/
private String phoneCode;
/**
* 企业性质
*/
private String customerProperty;
/**
* 职务
*/
private String sectorPosition;
/**
* 鉴别字段
*/
private String scope;
/**
* 传真
*/
private String fax;
/**
* 供应商类别
*/
private String customerClass;
/**
* 身份证号
*/
private String idCard;
/**
* 附属子公司名称
*/
private String subCompany;
/**
* 联营公司名称
*/
private String alliedCompany;
/**
* 营业额
*/
private Double turnOver;
/**
* 主要客户
*/
private String mainCustomer;
/**
* 主要货源
*/
private String mainResource;
/**
* 主要经营区域
*/
private String mainRegion;
/**
* 原材料供应情况
*/
private String rawMaterial;
/**
* 生产线及产能情况
*/
private String productline;
/**
* 客商类型
*/
private String customerCategoryType;
/**
* 所属母公司名称
*/
private String customerFirm;
/**
* 客商类型id
*/
private String customertypeId;
/**
* 供应商类别id
*/
private String customerCategoryTypeId;
/**
* 企业注册地
*/
private String registerAddress;
/**
* 工厂仓库所在地
*/
private String warehouseAddress;
/**
* 合作产品
*/
private String teamworkProduct;
/**
* 供方类型
*/
private String isfactoryorfranchise;
/**
* 营业执照到期时间1
*/
private Date expireDate1;
/**
* 组织机构代码证到期时间2
*/
private Date expireDate2;
/**
* 税务登记证到期时间3
*/
private Date expireDate3;
/**
* 资质证书到期时间4
*/
private Date expireDate4;
/**
* 安全生产许可证到期时间5
*/
private Date expireDate5;
/**
* 队长名称
*/
private String leaderName;
/**
* 专业类别id
*/
private String groupSpecialtyId;
/**
* 集团专业类别
*/
private String groupSpecialty;
/**
* 经营管理能力
*/
private String manageAbility;
/**
* 产品质量保证能力
*/
private String productQualityAbility;
/**
* 施工承包范围
*/
private String constructJobScope;
/**
* 经办人
*/
private String responsiblePerson;
/**
* 签字时间
*/
private Date approveDate1;
/**
* 是否同意准入
*/
private String isagree;
/**
* 商务经理
*/
private String businessManager;
/**
* 项目经理
*/
private String projectManager;
/**
* 采购部门负责人
*/
private String purchasePrincipal;
/**
* 上级公司代码
*/
private String upperCompanyCode;
/**
* 劳务队伍标志
*/
private String serviceTeamLogo;
/**
* 劳务队长身份证号
*/
private String laborCaptainIdcard;
/**
* 劳务队长联系电话
*/
private String laborCaptainPhone;
/**
* 队伍规模人数
*/
private Double serviceTeamPersonnum;
/**
* 专业特长
*/
private String serviceTeamSpeciality;
/**
* 二级市场企业编码
*/
private String secondaryCode;
/**
* 商务经理签字时间
*/
private Date approveDate3;
/**
* 项目经理签字时间
*/
private Date approveDate4;
/**
* 业务流程状态
*/
private String flowState;
/**
* 是否为进京劳务企业
*/
private String isenterbjlaborcomany;
/**
* 施工队长资格证到期时间6
*/
private String expireDate6;
/**
* 授权委托书到期时间7
*/
private String expireDate7;
/**
* 考评等级
*/
private String creditLevel;
/**
* 数据标志
*/
private String baseLogo;
/**
* 推荐项目
*/
private String recommendProject;
/**
* 推荐项目ID
*/
private String recommendProjectId;
/**
* 客商推荐时间
*/
private Date recommendDate;
/**
* 资质证书号
*/
private String aptitudeCard;
/**
* 安全生产许可证号
*/
private String workSafetyLicense;
/**
* 主表
*/
private String masterId;
/**
* 纳税人身份
*/
private String paytaxType;
/**
* 纳税人税率
*/
private String taxRate;
/**
* 身份信息选择
*/
private String cardType;
/**
* 客商分数
*/
private Double customerScore;
/**
* 客商名称2
*/
private String customerName2;
/**
* 客商名称3
*/
private String customerName3;
/**
* 客商名称4
*/
private String customerName4;
/**
* 国家
*/
private String country;
/**
* 一体化客商类型
*/
private String finCustomerType;
/**
* 公司编码
*/
private String companyCode;
/**
* 业主性质
*/
private String ownerKind;
/**
* 客商性质
*/
private String customerKind;
/**
* 数据来源
*/
private String dataSource;
/**
* 是否业主
*/
private String isowner;
/**
* 是否供应商
*/
private String iscustomer;
/**
* 地址1
*/
private String abbrName1;
/**
* 地址2
*/
private String abbrName2;
/**
* 税率类型
*/
private String taxType;
/**
* 是否冻结
*/
private String isfreeze;
/**
* 数据变化时间
*/
private String updateDate;
/**
* 数据更新时间
*/
private Date loadTime;
}
package com.dsk.cscec.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.extension.activerecord.Model;
/**
* 项目维表(DProject)表实体类
*
* @author sxk
* @since 2023-12-10 15:34:49
*/
@SuppressWarnings("serial")
public class DProject extends Model<DProject> {
//项目主键
private Long projectKey;
//项目ID
private String projectId;
//项目编码
private String projectCode;
//IPM项目名称
private String projectName;
//财务项目编码
private String finProjectCode;
//财务项目名称
private String finProjectName;
//项目简称
private String projectShortName;
//项目标准名称
private String projectStandardName;
//云筑网项目编码(预留)
private String projectCodePurchase;
//云筑网项目名称(预留)
private String projectNamePurchase;
//项目部ID
private String projectdeptId;
//项目部主键
private Long projectdeptKey;
//项目部名称
private String projectdeptName;
//大项目部ID
private String bigprojectdeptId;
//大项目部名称
private String bigprojectdeptName;
//评比用的大项目部ID
private String bigprojdeptAnaId;
//评比用的大项目部编码
private String bigprojdeptAnaCode;
//评比用的大项目部名称
private String bigprojdeptAnaName;
//评比用的大项目部经理
private String bigprojdeptAnaManager;
//评比用的大项目部手机号
private String bigprojdeptAnaMobile;
//分公司ID
private String orgLevelId3;
//分公司名称
private String orgLevelName3;
//子企业ID
private String orgLevelId2;
//子企业名称
private String orgLevelName2;
//子企业排序
private Long dispIndexLevel2;
//分公司排序
private Long dispIndexLevel3;
//大项目排序
private Long dispIndexLevel4;
//组织机构主键
private Long orgKey;
//合同主键
private Long contractKey;
//施工单位属性
private String jobunitAttribute;
//承包单位ID
private String contractOrgId;
//承包单位主键
private String contractOrgName;
//签约单位属性
private String contractunitAttribute;
//监理单位
private String supervisorOrgName;
//设计单位
private String designOrgName;
//流程状态
private String flowStateName;
//流程状态
private String projectState;
//业主结算状态
private String ownerbalanceState;
//分包结算状态
private String subbalanceState;
//财务清算状态
private String financeState;
//商务状态
private String businessState;
//中标信息主键
private String bidKey;
//业主主键
private Long ownerKey;
//业主名称
private String ownerName;
//业主性质
private String ownerNature;
//客户线-业主层级
private String ownerOrgLevel;
//客户线-业主类型
private String ownerTypeLevel;
//竞标方式主键
private Long competbidTypeKey;
//竞标方式名称
private String competbidType;
//所属集团
private String keyaccountName;
//是否关键客户
private Long isgroupkeyaccount;
//关键客户类别
private String groupkeyaccountClass;
//关键客户等级
private String groupkeyaccountGrade;
//是否军方
private Long ismilitary;
//是否市场
private Long ismarket;
//工程类型主键
private Long projectTypeKey;
//工程类型上级名称
private String projectType1;
//工程类型名称
private String projectType2;
//产品线主键
private Long productlineKey;
//产品线名称
private String productlineName2;
//产品线上级名称
private String productlineName1;
//市场模式主键
private Long marketjobTypeKey;
//市场模式名称
private String markJobType;
//市场模型上级名称
private String marketjobTypeName1;
//承包模式主键
private Long jobTypeKey;
//承包模式名称
private String jobType;
//承包模式上级名称
private String jobTypeName1;
//资金来源主键
private Long moneySourceKey;
//资金来源名称
private String moneySource;
//资金来源上级名称
private String moneySourceName1;
//重点项目级别
private String projectLevel;
//工程用途(中标交底)
private String projectPurpose;
//是否重点项目
private Long projectGrade;
//f_tax_sale_invoice_detail
private Long ishomesupport;
//是否内部项目
private String isinternalproject;
//是否房地产项目
private String isestateproject;
//是否投资项目
private String isinvestproject;
//进度款支付方式
private String steppayType;
//进度款支付比例
private Double steppayScale;
//项目所处阶段
private String projectPhase;
//项目类型
private String projectType;
//结构形式
private String structureType;
//基础形式
private String projectBaseFormat;
//市场所属区域主键
private Long marketAreaKey;
//市场所属区域名称
private String marketAreaName;
//省份名称
private String provinceName;
//省份缩写
private String provinceAbbrName;
//物理区域主键
private Long areaKey;
//物理区域名称
private String areaName;
//城市名称
private String cityName;
//县市
private String districtName;
//项目地址
private String projectAddress;
//合同生效(盖章)日期
private Date contractSignDate;
//合同开工日期
private Date contractStartDate;
//合同竣工日期
private Date contractEndDate;
//实际开工日期
private Date actualStartDate;
//实际完工时间
private Date actualEndDate;
//计划开工日期
private Date planStartDate;
//计划竣工日期
private Date planEndDate;
//中标日期
private Date bidwinDate;
//预计签约日期
private Date planSignDate;
//签约日期
private Date signDate;
//合同签订月份
private String contractSignMonth;
//项目经理主键
private String projectManagerKey;
//项目经理名称
private String projectManagerName;
//项目经理电话
private String projectManagerPhone;
//执行经理主键
private String executeManagerKey;
//执行经理名称
private String executeManagerName;
//执行经理电话
private String executeManagerPhone;
//商务经理主键
private String busiManagerKey;
//商务经理名称
private String busiManagerName;
//商务经理电话
private String busiManagerPhone;
//总工程师主键
private String chiefEngineerKey;
//总工程师名称
private String chiefEngineerName;
//总工程师电话
private String chiefEngineerPhone;
//生产经理主键
private String produceManagerKey;
//生产经理名称
private String produceManagerName;
//生产经理电话
private String produceManagerPhone;
//党支部书记主键
private String cpcManagerKey;
//党支部书记名称
private String cpcManagerName;
//党支部书记电话
private String cpcManagerPhone;
//党支部副书记主键
private String cpcViceManagerKey;
//党支部副书记名称
private String cpcViceManagerName;
//党支部副书记电话
private String cpcViceManagerPhone;
//机电经理主键
private String machineManagerKey;
//机电经理名称
private String machineManagerName;
//机电经理电话
private String machineManagerPhone;
//安全总监主键
private String safeManagerKey;
//安全总监名称
private String safeManagerName;
//安全总监电话
private String safeManagerPhone;
//财务总监主键
private String financeManagerKey;
//财务总监名称
private String financeManagerName;
//财务总监电话
private String financeManagerPhone;
//质量总监主键
private String qualifyManagerKey;
//质量总监名称
private String qualifyManagerName;
//质量总监电话
private String qualifyManagerPhone;
//项目相关指标
private Double projectScaleKpi;
//项目相关指标单位
private String projectScaleKpiUnit;
//合同总金额(项目表)
private Double contractValue;
//合同税额(合同分解表)
private Double contractTaxValue;
//不含税合同额(合同分解表)
private Double contractValueExcl;
//合同自施金额(项目表)
private Double ttlContractSelfValue;
//合同自施税额(合同分解表)
private Double contractSelfTaxValue;
//不含税合同自施额(合同分解表)
private Double contractSelfValueExcl;
//承包主合同金额(合同表)
private Double contractOrigValue;
//承包主合同自施金额(合同表)
private Double contractOrigSelfvalue;
//补充协议金额(合同表)
private Double contractModifyValue;
//补充协议自施金额(合同表)
private Double contractModifySelfvalue;
//商务自施额
private Double businessSelfValue;
//合同变更索赔额
private Long contractClaimValue;
//预计收入
private Double estiTtlIncome;
//预计成本
private Double estiTtlCost;
//预计收益
private Double estiTtlProfit;
//预收益率
private Double estiProfitRate;
//目标收益率
private Double targetProfitRate;
//合同总工期
private String contractWorkDays;
//计划工期(天)
private String planWorkDays;
//建筑面积
private Double buildingArea;
//地上层数
private String noOfOverfloor;
//地下层数
private String noOfUnderfloor;
//建筑高度(m)
private String constructHeight;
//长(跨)度
private String constructLongspan;
//单体工程数量(座)
private String constructQty;
//目标工期
private String targetWorkDays;
//项目管理人员数
private BigDecimal noOfProjectMaster;
//工程概况
private String projectOverview;
//工程概况
private String projectQualitygoals;
//产值批复模式
private String outputStatMode;
//项目规模
private String projectScale;
//计税方式
private String vatType;
//税率
private Double taxRate;
//保修完成日期
private Date guaranteeOverDate;
//停工日期
private Date suspensionDate;
//退场日期
private Date exitDate;
//清理日期
private Date checkupDate;
//清算日期
private Date liquidationDate;
//是否完成成本锁定
private String iscostlock;
//员工主键
private Long staffKey;
//项目人数
private Long personnumProject;
//是否计算收入线
private String iscalincome;
//是否计算成本线
private String iscalcost;
//项目封账类型
private String costinventoryType;
//实际完工时间
private Date actualFinishDate;
//分包结算完毕日期
private Date subSettleDate;
//业主结算完毕日期
private Date ownerSettleDate;
//是否需目标责任书
private String isresponse;
//财务手工导入的财务清算状态
private String ffipstate;
//担保比例
private Double guaranteeRatio;
//目标责任书上报日期
private Date reportDate;
//应上报目标责任书日期
private Date mustReportDate;
//是否公示二维码
private String isqrcodeSupervision;
//是否启用环保监督
private String isenableSupervision;
//经度
private Double longitude;
//纬度
private Double latitude;
//人员规模
private String projectHrScale;
//数据更新时间
private Date loadTime;
}
package com.dsk.cscec.domain.bo;
import lombok.Data;
/**
* @Author lcl
* @Data 2023/12/8 16:07
*/
@Data
public class DCustomerSearchBo {
/**
* 供应商名称
*/
private String customerName;
/**
* 区域
*/
private String[] region;
/**
* 省
*/
private String[] province;
/**
* 市
*/
private String[] city;
/**
* 供应商类别
*/
private String[] customerClass;
/**
* 供应商状态
*/
private String[] customerState;
/**
* 评价等级
*/
private String[] creditLevel;
/**
* 资质等级
*/
private String[] credential;
}
package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.domain.bo.DCustomerSearchBo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 组织维表(DCustomer)表数据库访问层
*
* @author lcl
* @since 2023-12-08 14:57:27
*/
public interface DCustomerMapper extends BaseMapper<DCustomer> {
Page<DCustomer> allSearchList(IPage<DCustomerSearchBo> build, @Param("bo") DCustomerSearchBo bo);
}
package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.cscec.domain.DProject;
/**
* 项目维表(DProject)表数据库访问层
*
* @author makejava
* @since 2023-12-10 15:34:46
*/
public interface DProjectMapper extends BaseMapper<DProject> {
}
package com.dsk.cscec.service;
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.DCustomer;
import com.dsk.cscec.domain.bo.DCustomerSearchBo;
/**
* 组织维表(DCustomer)表服务接口
*
* @author lcl
* @since 2023-12-08 14:57:26
*/
public interface IDCustomerService extends IService<DCustomer> {
TableDataInfo<DCustomer> allSearchList(DCustomerSearchBo bo, PageQuery query);
}
package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.DProject;
/**
* 项目维表(DProject)表服务接口
*
* @author makejava
* @since 2023-12-10 15:34:51
*/
public interface IDProjectService extends IService<DProject> {
}
package com.dsk.cscec.service.impl;
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.cscec.domain.bo.DCustomerSearchBo;
import com.dsk.cscec.mapper.DCustomerMapper;
import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.service.IDCustomerService;
import org.springframework.stereotype.Service;
/**
* 组织维表(DCustomer)表服务实现类
*
* @author lcl
* @since 2023-12-08 14:57:26
*/
@Service
public class DCustomerServiceImpl extends ServiceImpl<DCustomerMapper, DCustomer> implements IDCustomerService {
@Override
public TableDataInfo<DCustomer> allSearchList(DCustomerSearchBo bo, PageQuery query) {
return TableDataInfo.build(baseMapper.allSearchList(query.build(),bo));
}
}
package com.dsk.cscec.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.cscec.mapper.DProjectMapper;
import com.dsk.cscec.domain.DProject;
import com.dsk.cscec.service.IDProjectService;
import org.springframework.stereotype.Service;
/**
* 项目维表(DProject)表服务实现类
*
* @author makejava
* @since 2023-12-10 15:34:51
*/
@Service("dProjectService")
public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> implements IDProjectService {
}
......@@ -62,4 +62,25 @@ public class CompanySearchController {
public AjaxResult bossCompany(@RequestBody JSONObject object) {
return opportunityRadarService.bossCompany(object);
}
//---------------------------------------中建一局-------------------------------------------
/*
* 查资质
*/
@RequestMapping("/zjyjAptitude")
public AjaxResult zjyjAptitude(@RequestBody JSONObject object) {
return opportunityRadarService.zjyjAptitude(object);
}
/*
* 查资质 不满足
*/
@RequestMapping("/zjyjAptitude/contrary")
public AjaxResult zjyjAptitudeContrary(@RequestBody JSONObject object) {
return opportunityRadarService.zjyjAptitudeContrary(object);
}
}
package com.dsk.search.controller;
import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.utils.poi.ExcelUtil;
import com.dsk.jsk.domain.bo.ComposeQueryDto;
import com.dsk.search.service.BusinessOpportunityRadarService;
import com.dsk.search.service.ExportService;
import com.dsk.system.domain.vo.AptitudeVo;
import com.dsk.system.domain.vo.SysUserImportVo;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
/**
* 查企业
* @author lc
* @ClassName ExportController
* @Date 2023/12/06 16:40
*/
@RequestMapping("/export")
@RestController
public class ExportController {
@Resource
private ExportService exportService;
/**
* 获取导入模板
*/
@PostMapping("/aptitude/importTemplate")
public void importTemplate(HttpServletResponse response) {
List<Object> list = new ArrayList<>();
AptitudeVo aptitudeVo = new AptitudeVo();
aptitudeVo.setCompanyName("重庆市轨道交通(集团)有限公司");
list.add(aptitudeVo);
ExcelUtil.exportTemplate(list, "企业数据", "excel/userImportTemplate.xlsx", response);
}
/*
* 批量资质导出
*/
@RequestMapping("/aptitude/file")
public AjaxResult aptitudeFile(@RequestPart("file") MultipartFile file) throws Exception {
return exportService.aptitudeFile(file);
}
}
......@@ -217,4 +217,14 @@ public class BusinessOpportunityRadarService {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/subscription/yqBxproPage", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult zjyjAptitude(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/zjyj/aptitude", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult zjyjAptitudeContrary(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/zjyj/aptitude/contrary", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
}
package com.dsk.search.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.map.MapUtil;
import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.constant.Constants;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.excel.ExcelUtils;
import com.dsk.common.exception.ServiceException;
import com.dsk.jsk.domain.bo.ComposeQueryDto;
import com.dsk.jsk.service.EnterpriseService;
import com.dsk.system.domain.SysUserFileRecord;
import com.dsk.system.domain.vo.AptitudeVo;
import com.dsk.system.service.ISysUserFileRecordService;
import com.dsk.system.utils.DskOpenApiUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author lc
* @ClassName ExportService
* @Date 2023/12/06 16:40
**/
@Service
public class ExportService {
@Autowired
private DskOpenApiUtil dskOpenApiUtil;
@Autowired
private ISysUserFileRecordService sysUserFileRecordService;
@Value("${dsk.exportBackUrl}")
private String EXPORT_BACK_URL;
public AjaxResult aptitudeFile(MultipartFile file) throws Exception {
ComposeQueryDto composeQueryDto = new ComposeQueryDto();
//识别Excel内容
List<AptitudeVo> companyNameList = new ExcelUtils<>(AptitudeVo.class).importExcel(file.getInputStream(), 2);
if (companyNameList.isEmpty()) {
throw new ServiceException("表格中不存在待导入数据!");
}
List<String> list = new ArrayList<>();
for (int i = 0; i < companyNameList.size(); i++) {
if (i>499){
break;
}
list.add(companyNameList.get(i).getCompanyName());
}
composeQueryDto.setKeyword(String.join(",",list));
SysUserFileRecord fileRecord = new SysUserFileRecord();
fileRecord.setFileName("批量导出".concat(Constants.SUFFIX_XLSX));
fileRecord.setType(1);
//生成中
fileRecord.setStatus(2);
fileRecord.setRemark("资质批量导出");
Long fileId = sysUserFileRecordService.exportAdd(fileRecord);
composeQueryDto.setExportUniqueCode(fileId.toString());
//回调函数
composeQueryDto.setExportBackUrl(EXPORT_BACK_URL);
composeQueryDto.setExportExeclName("资质批量导出.xlsx");
dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/areaGroupByProvince", BeanUtil.beanToMap(composeQueryDto,false,false));
return AjaxResult.success();
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.cscec.mapper.DCustomerMapper">
<select id="allSearchList" resultType="com.dsk.cscec.domain.DCustomer">
select
customer_code, customer_name, recommend_org, register_region, register_province, register_city, customer_class, primary_business, paytax_type, tax_rate,
customer_state, leader_name, labor_captain_phone, labor_captain_idcard, service_team_personnum, service_team_speciality, construct_job_scope, credential,
register_capital, contact_person, contact_phone, approve_date2, credit_level
from d_customer
where recommend_org_id = 'F17305B4EA4444CBAB12892C7B99E475'
<if test="bo.customerName != null and bo.customerName != '' "> and customer_name like concat('%',#{bo.customerName},'%')</if>
order by approve_date2 desc
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.cscec.mapper.DProjectMapper">
</mapper>
\ No newline at end of file
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1543827393750" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4695" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css">@font-face { font-family: rbicon; src: url("chrome-extension://dipiagiiohfljcicegpgffpbnjmgjcnf/fonts/rbicon.woff2") format("woff2"); font-weight: normal; font-style: normal; }
</style></defs><path d="M64 64V640H896V64H64zM0 0h960v704H0V0z" p-id="4696"></path><path d="M192 896H768v64H192zM448 640H512v256h-64z" p-id="4697"></path><path d="M479.232 561.604267l309.9904-348.330667-47.803733-42.5472-259.566934 291.669333L303.957333 240.008533 163.208533 438.6048l52.224 37.009067 91.6224-129.28z" p-id="4698"></path></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="16" height="16" viewBox="0 0 16 16"><defs><clipPath id="master_svg0_233_92225/11_04949"><rect x="0" y="0" width="16" height="16" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_233_92225/11_04949)"><g><path d="M6.5,14L6.5,11Q6.5,10.9507543,6.509607,10.9024549Q6.519215,10.854155,6.53806,10.808658Q6.556906,10.763161,6.584265,10.722215Q6.611625,10.681269,6.646447,10.646447Q6.681269,10.611625,6.722215,10.584265Q6.763161,10.556906,6.808658,10.53806Q6.854155,10.519214999999999,6.9024549,10.509607Q6.9507543,10.5,7,10.5L9,10.5Q9.04925,10.5,9.09754,10.509607Q9.14584,10.519214999999999,9.19134,10.53806Q9.23684,10.556906,9.27778,10.584265Q9.31873,10.611625,9.35355,10.646447Q9.38838,10.681269,9.41573,10.722215Q9.44309,10.763161,9.46194,10.808658Q9.48078,10.854155,9.49039,10.9024549Q9.5,10.9507543,9.5,11L9.5,14Q9.5,14.04925,9.49039,14.09754Q9.48078,14.14584,9.46194,14.19134Q9.44309,14.23684,9.41573,14.27778Q9.38838,14.31873,9.35355,14.35355Q9.31873,14.38837,9.27779,14.41573Q9.23684,14.44309,9.19134,14.46194Q9.14584,14.48078,9.09754,14.49039Q9.04925,14.5,9,14.5L7,14.5Q6.9507543,14.5,6.9024549,14.49039Q6.854155,14.48078,6.808658,14.46194Q6.763161,14.44309,6.722215,14.41573Q6.681269,14.38837,6.646447,14.35355Q6.611625,14.31873,6.584265,14.27778Q6.556906,14.23684,6.53806,14.19134Q6.519215,14.14584,6.509607,14.09754Q6.5,14.04925,6.5,14ZM7.5,11.5L7.5,13.5L8.5,13.5L8.5,11.5L7.5,11.5Z" fill="#FFFFFF" fill-opacity="1"/></g><g><rect x="2" y="3" width="12" height="8" rx="1" fill-opacity="0" stroke-opacity="1" stroke="#FFFFFF" fill="none" stroke-width="1"/></g><g transform="matrix(1,0.0000922808758332394,-0.00009228093404090032,1,0.0012919330765726045,-0.0003691235033329576)"><path d="M4,14.5L12.00001,14.5Q12.04926,14.5,12.09756,14.490393Q12.14586,14.480785000000001,12.19135,14.46194Q12.23685,14.443094,12.2778,14.415735Q12.31874,14.388375,12.35357,14.353553Q12.38839,14.318731,12.41575,14.277785Q12.44311,14.236839,12.46195,14.191342Q12.4808,14.145845,12.49041,14.0975451Q12.50001,14.0492457,12.50001,14Q12.50001,13.9507543,12.49041,13.9024549Q12.4808,13.854155,12.46195,13.808658Q12.44311,13.763161,12.41575,13.722215Q12.38839,13.681269,12.35357,13.646447Q12.31874,13.611625,12.2778,13.584265Q12.23685,13.556906,12.19135,13.53806Q12.14586,13.519214999999999,12.09756,13.509607Q12.04926,13.5,12.00001,13.5L4,13.5Q3.9507543,13.5,3.9024549,13.509607Q3.854155,13.519214999999999,3.808658,13.53806Q3.763161,13.556906,3.722215,13.584265Q3.681269,13.611625,3.646447,13.646447Q3.611625,13.681269,3.584265,13.722215Q3.556906,13.763161,3.5380599999999998,13.808658Q3.519215,13.854155,3.509607,13.9024549Q3.5,13.9507543,3.5,14Q3.5,14.0492457,3.509607,14.0975451Q3.519215,14.145845,3.5380599999999998,14.191342Q3.556906,14.236839,3.584265,14.277785Q3.611625,14.318731,3.646447,14.353553Q3.681269,14.388375,3.722215,14.415735Q3.763161,14.443094,3.808658,14.46194Q3.854155,14.480785000000001,3.9024549,14.490393Q3.9507543,14.5,4,14.5Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M11.85355,5.353553Q11.92388,5.283227,11.96194,5.191342Q12,5.0994562,12,5Q12,4.9507543,11.99039,4.9024549Q11.98078,4.854155,11.96194,4.808658Q11.94309,4.763161,11.91573,4.722215Q11.88837,4.681269,11.85355,4.646447Q11.81873,4.611625,11.77778,4.584265Q11.73684,4.556906,11.69134,4.53806Q11.64584,4.519215,11.59754,4.509607Q11.54925,4.5,11.5,4.5Q11.40054,4.5,11.30866,4.53806Q11.21677,4.57612,11.14645,4.646447L11.14626,4.646634L8.5,7.29289L7.35355,6.14645Q7.31873,6.11162,7.27778,6.08427Q7.23684,6.05691,7.19134,6.03806Q7.14584,6.01921,7.09754,6.00961Q7.04925,6,7,6Q6.95075,6,6.90245,6.00961Q6.85416,6.01921,6.80866,6.03806Q6.76316,6.05691,6.7222100000000005,6.08427Q6.68127,6.11162,6.64645,6.14645L4.646634,8.14626L4.646447,8.14645Q4.57612,8.21677,4.53806,8.30866Q4.5,8.40054,4.5,8.5Q4.5,8.54925,4.509607,8.59754Q4.519215,8.64584,4.53806,8.69134Q4.556906,8.73684,4.584265,8.77778Q4.611625,8.81873,4.646447,8.85355Q4.681269,8.88838,4.722215,8.91573Q4.763161,8.94309,4.808658,8.96194Q4.854155,8.98078,4.9024549,8.99039Q4.9507543,9,5,9Q5.0994562,9,5.191342,8.96194Q5.283227,8.92388,5.353553,8.85355L5.353741,8.85337L7,7.20711L8.14645,8.35355Q8.21677,8.42388,8.30866,8.46194Q8.40054,8.5,8.5,8.5Q8.59946,8.5,8.69134,8.46194Q8.78323,8.42388,8.85355,8.35355L11.85337,5.353741L11.85355,5.353553L11.85355,5.353553Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"/></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="14" height="14" viewBox="0 0 14 14"><defs><clipPath id="master_svg0_264_80210"><rect x="0" y="0" width="14" height="14" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_264_80210)"><g><path d="M5.625,12.25L5.625,9.625Q5.625,9.5757543,5.634607,9.5274549Q5.644215,9.479155,5.66306,9.433658Q5.681906,9.388161,5.709265,9.347215Q5.736625,9.306269,5.771447,9.271447Q5.806269,9.236625,5.847215,9.209265Q5.888161,9.181906,5.933658,9.16306Q5.979155,9.144214999999999,6.0274549,9.134607Q6.0757543,9.125,6.125,9.125L7.875,9.125Q7.92425,9.125,7.97254,9.134607Q8.02084,9.144214999999999,8.06634,9.16306Q8.11184,9.181906,8.15278,9.209265Q8.19373,9.236625,8.22855,9.271447Q8.26337,9.306269,8.29073,9.347215Q8.31809,9.388161,8.33694,9.433658Q8.35578,9.479155,8.36539,9.5274549Q8.375,9.5757543,8.375,9.625L8.375,12.25Q8.375,12.29925,8.36539,12.34755Q8.35578,12.39584,8.33694,12.44134Q8.31809,12.48684,8.29073,12.52778Q8.26337,12.56873,8.22855,12.60355Q8.19373,12.63838,8.15278,12.66573Q8.11184,12.69309,8.06634,12.71194Q8.02084,12.73078,7.97254,12.74039Q7.92425,12.75,7.875,12.75L6.125,12.75Q6.0757543,12.75,6.0274549,12.74039Q5.979155,12.73078,5.933658,12.71194Q5.888161,12.69309,5.847215,12.66573Q5.806269,12.63838,5.771447,12.60355Q5.736625,12.56873,5.709265,12.52778Q5.681906,12.48684,5.66306,12.44134Q5.644215,12.39584,5.634607,12.34755Q5.625,12.29925,5.625,12.25ZM6.625,10.125L6.625,11.75L7.375,11.75L7.375,10.125L6.625,10.125Z" fill="#86909C" fill-opacity="1"/></g><g><rect x="1.75" y="2.625" width="10.5" height="7" rx="1" fill-opacity="0" stroke-opacity="1" stroke="#86909C" fill="none" stroke-width="1"/></g><g transform="matrix(1,0.0000922808758332394,-0.00009228093404090032,1,0.001130441442001029,-0.0003229830654163379)"><path d="M3.5,12.75L10.50001,12.75Q10.54926,12.75,10.59756,12.740393Q10.645859999999999,12.730785000000001,10.69135,12.71194Q10.73685,12.693094,10.7778,12.665735Q10.81874,12.638375,10.85356,12.603553Q10.888390000000001,12.568731,10.91575,12.527785Q10.943100000000001,12.486839,10.96195,12.441342Q10.9808,12.395845,10.990400000000001,12.3475451Q11.00001,12.2992457,11.00001,12.25Q11.00001,12.2007543,10.990400000000001,12.1524549Q10.9808,12.104155,10.96195,12.058658Q10.943100000000001,12.013161,10.91575,11.972215Q10.888390000000001,11.931269,10.85356,11.896447Q10.81874,11.861625,10.7778,11.834265Q10.73685,11.806906,10.69135,11.78806Q10.645859999999999,11.769214999999999,10.59756,11.759607Q10.54926,11.75,10.50001,11.75L3.5,11.75Q3.4507543,11.75,3.4024549,11.759607Q3.354155,11.769214999999999,3.308658,11.78806Q3.263161,11.806906,3.222215,11.834265Q3.181269,11.861625,3.146447,11.896447Q3.111625,11.931269,3.084265,11.972215Q3.056906,12.013161,3.0380599999999998,12.058658Q3.019215,12.104155,3.009607,12.1524549Q3,12.2007543,3,12.25Q3,12.2992457,3.009607,12.3475451Q3.019215,12.395845,3.0380599999999998,12.441342Q3.056906,12.486839,3.084265,12.527785Q3.111625,12.568731,3.146447,12.603553Q3.181269,12.638375,3.222215,12.665735Q3.263161,12.693094,3.308658,12.71194Q3.354155,12.730785000000001,3.4024549,12.740393Q3.4507543,12.75,3.5,12.75Z" fill-rule="evenodd" fill="#86909C" fill-opacity="1"/></g><g><path d="M10.41605,4.728553Q10.48638,4.658227,10.52444,4.566342Q10.5625,4.4744562,10.5625,4.375Q10.5625,4.3257543,10.55289,4.2774549Q10.54328,4.229155,10.52444,4.183658Q10.50559,4.138161,10.47823,4.097215Q10.45087,4.056269,10.41605,4.021447Q10.38123,3.986625,10.34028,3.959265Q10.29934,3.931906,10.25384,3.9130599999999998Q10.20834,3.894215,10.16004,3.884607Q10.11175,3.875,10.0625,3.875Q9.96304,3.875,9.87116,3.9130599999999998Q9.77927,3.95112,9.70895,4.021447L9.70876,4.021634L7.4375,6.29289L6.47855,5.333947Q6.44373,5.299124,6.40278,5.271765Q6.36184,5.244406,6.31634,5.22556Q6.27084,5.206715,6.22254,5.197107Q6.17425,5.1875,6.125,5.1875Q6.07575,5.1875,6.02745,5.197107Q5.97916,5.206715,5.93366,5.22556Q5.88816,5.244406,5.8472100000000005,5.271765Q5.80627,5.299124,5.77145,5.333947L4.021634,7.08376L4.021447,7.08395Q3.95112,7.15427,3.9130599999999998,7.24616Q3.875,7.3380399999999995,3.875,7.4375Q3.875,7.48675,3.884607,7.53504Q3.894215,7.58334,3.9130599999999998,7.62884Q3.931906,7.67434,3.959265,7.71528Q3.986625,7.75623,4.021447,7.79105Q4.056269,7.82588,4.097215,7.85323Q4.138161,7.88059,4.183658,7.89944Q4.229155,7.91829,4.2774549,7.92789Q4.3257543,7.9375,4.375,7.9375Q4.4744562,7.9375,4.566342,7.89944Q4.658227,7.8613800000000005,4.728553,7.79105L4.728741,7.79087L6.125,6.39461L7.08395,7.35355Q7.15427,7.4238800000000005,7.24616,7.46194Q7.3380399999999995,7.5,7.4375,7.5Q7.5369600000000005,7.5,7.62884,7.46194Q7.72073,7.4238800000000005,7.79105,7.35355L10.41587,4.728741L10.41605,4.728553L10.41605,4.728553Z" fill-rule="evenodd" fill="#86909C" fill-opacity="1"/></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="14" height="14" viewBox="0 0 14 14"><defs><clipPath id="master_svg0_264_80210"><rect x="0" y="0" width="14" height="14" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_264_80210)"><g><path d="M5.625,12.25L5.625,9.625Q5.625,9.5757543,5.634607,9.5274549Q5.644215,9.479155,5.66306,9.433658Q5.681906,9.388161,5.709265,9.347215Q5.736625,9.306269,5.771447,9.271447Q5.806269,9.236625,5.847215,9.209265Q5.888161,9.181906,5.933658,9.16306Q5.979155,9.144214999999999,6.0274549,9.134607Q6.0757543,9.125,6.125,9.125L7.875,9.125Q7.92425,9.125,7.97254,9.134607Q8.02084,9.144214999999999,8.06634,9.16306Q8.11184,9.181906,8.15278,9.209265Q8.19373,9.236625,8.22855,9.271447Q8.26337,9.306269,8.29073,9.347215Q8.31809,9.388161,8.33694,9.433658Q8.35578,9.479155,8.36539,9.5274549Q8.375,9.5757543,8.375,9.625L8.375,12.25Q8.375,12.29925,8.36539,12.34755Q8.35578,12.39584,8.33694,12.44134Q8.31809,12.48684,8.29073,12.52778Q8.26337,12.56873,8.22855,12.60355Q8.19373,12.63838,8.15278,12.66573Q8.11184,12.69309,8.06634,12.71194Q8.02084,12.73078,7.97254,12.74039Q7.92425,12.75,7.875,12.75L6.125,12.75Q6.0757543,12.75,6.0274549,12.74039Q5.979155,12.73078,5.933658,12.71194Q5.888161,12.69309,5.847215,12.66573Q5.806269,12.63838,5.771447,12.60355Q5.736625,12.56873,5.709265,12.52778Q5.681906,12.48684,5.66306,12.44134Q5.644215,12.39584,5.634607,12.34755Q5.625,12.29925,5.625,12.25ZM6.625,10.125L6.625,11.75L7.375,11.75L7.375,10.125L6.625,10.125Z" fill="#86909C" fill-opacity="1"/></g><g><rect x="1.75" y="2.625" width="10.5" height="7" rx="1" fill-opacity="0" stroke-opacity="1" stroke="#86909C" fill="none" stroke-width="1"/></g><g transform="matrix(1,0.0000922808758332394,-0.00009228093404090032,1,0.001130441442001029,-0.0003229830654163379)"><path d="M3.5,12.75L10.50001,12.75Q10.54926,12.75,10.59756,12.740393Q10.645859999999999,12.730785000000001,10.69135,12.71194Q10.73685,12.693094,10.7778,12.665735Q10.81874,12.638375,10.85356,12.603553Q10.888390000000001,12.568731,10.91575,12.527785Q10.943100000000001,12.486839,10.96195,12.441342Q10.9808,12.395845,10.990400000000001,12.3475451Q11.00001,12.2992457,11.00001,12.25Q11.00001,12.2007543,10.990400000000001,12.1524549Q10.9808,12.104155,10.96195,12.058658Q10.943100000000001,12.013161,10.91575,11.972215Q10.888390000000001,11.931269,10.85356,11.896447Q10.81874,11.861625,10.7778,11.834265Q10.73685,11.806906,10.69135,11.78806Q10.645859999999999,11.769214999999999,10.59756,11.759607Q10.54926,11.75,10.50001,11.75L3.5,11.75Q3.4507543,11.75,3.4024549,11.759607Q3.354155,11.769214999999999,3.308658,11.78806Q3.263161,11.806906,3.222215,11.834265Q3.181269,11.861625,3.146447,11.896447Q3.111625,11.931269,3.084265,11.972215Q3.056906,12.013161,3.0380599999999998,12.058658Q3.019215,12.104155,3.009607,12.1524549Q3,12.2007543,3,12.25Q3,12.2992457,3.009607,12.3475451Q3.019215,12.395845,3.0380599999999998,12.441342Q3.056906,12.486839,3.084265,12.527785Q3.111625,12.568731,3.146447,12.603553Q3.181269,12.638375,3.222215,12.665735Q3.263161,12.693094,3.308658,12.71194Q3.354155,12.730785000000001,3.4024549,12.740393Q3.4507543,12.75,3.5,12.75Z" fill-rule="evenodd" fill="#86909C" fill-opacity="1"/></g><g><path d="M10.41605,4.728553Q10.48638,4.658227,10.52444,4.566342Q10.5625,4.4744562,10.5625,4.375Q10.5625,4.3257543,10.55289,4.2774549Q10.54328,4.229155,10.52444,4.183658Q10.50559,4.138161,10.47823,4.097215Q10.45087,4.056269,10.41605,4.021447Q10.38123,3.986625,10.34028,3.959265Q10.29934,3.931906,10.25384,3.9130599999999998Q10.20834,3.894215,10.16004,3.884607Q10.11175,3.875,10.0625,3.875Q9.96304,3.875,9.87116,3.9130599999999998Q9.77927,3.95112,9.70895,4.021447L9.70876,4.021634L7.4375,6.29289L6.47855,5.333947Q6.44373,5.299124,6.40278,5.271765Q6.36184,5.244406,6.31634,5.22556Q6.27084,5.206715,6.22254,5.197107Q6.17425,5.1875,6.125,5.1875Q6.07575,5.1875,6.02745,5.197107Q5.97916,5.206715,5.93366,5.22556Q5.88816,5.244406,5.8472100000000005,5.271765Q5.80627,5.299124,5.77145,5.333947L4.021634,7.08376L4.021447,7.08395Q3.95112,7.15427,3.9130599999999998,7.24616Q3.875,7.3380399999999995,3.875,7.4375Q3.875,7.48675,3.884607,7.53504Q3.894215,7.58334,3.9130599999999998,7.62884Q3.931906,7.67434,3.959265,7.71528Q3.986625,7.75623,4.021447,7.79105Q4.056269,7.82588,4.097215,7.85323Q4.138161,7.88059,4.183658,7.89944Q4.229155,7.91829,4.2774549,7.92789Q4.3257543,7.9375,4.375,7.9375Q4.4744562,7.9375,4.566342,7.89944Q4.658227,7.8613800000000005,4.728553,7.79105L4.728741,7.79087L6.125,6.39461L7.08395,7.35355Q7.15427,7.4238800000000005,7.24616,7.46194Q7.3380399999999995,7.5,7.4375,7.5Q7.5369600000000005,7.5,7.62884,7.46194Q7.72073,7.4238800000000005,7.79105,7.35355L10.41587,4.728741L10.41605,4.728553L10.41605,4.728553Z" fill-rule="evenodd" fill="#86909C" fill-opacity="1"/></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="16" height="16" viewBox="0 0 16 16"><defs><clipPath id="master_svg0_233_92225/11_04949"><rect x="0" y="0" width="16" height="16" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_233_92225/11_04949)"><g><path d="M6.5,14L6.5,11Q6.5,10.9507543,6.509607,10.9024549Q6.519215,10.854155,6.53806,10.808658Q6.556906,10.763161,6.584265,10.722215Q6.611625,10.681269,6.646447,10.646447Q6.681269,10.611625,6.722215,10.584265Q6.763161,10.556906,6.808658,10.53806Q6.854155,10.519214999999999,6.9024549,10.509607Q6.9507543,10.5,7,10.5L9,10.5Q9.04925,10.5,9.09754,10.509607Q9.14584,10.519214999999999,9.19134,10.53806Q9.23684,10.556906,9.27778,10.584265Q9.31873,10.611625,9.35355,10.646447Q9.38838,10.681269,9.41573,10.722215Q9.44309,10.763161,9.46194,10.808658Q9.48078,10.854155,9.49039,10.9024549Q9.5,10.9507543,9.5,11L9.5,14Q9.5,14.04925,9.49039,14.09754Q9.48078,14.14584,9.46194,14.19134Q9.44309,14.23684,9.41573,14.27778Q9.38838,14.31873,9.35355,14.35355Q9.31873,14.38837,9.27779,14.41573Q9.23684,14.44309,9.19134,14.46194Q9.14584,14.48078,9.09754,14.49039Q9.04925,14.5,9,14.5L7,14.5Q6.9507543,14.5,6.9024549,14.49039Q6.854155,14.48078,6.808658,14.46194Q6.763161,14.44309,6.722215,14.41573Q6.681269,14.38837,6.646447,14.35355Q6.611625,14.31873,6.584265,14.27778Q6.556906,14.23684,6.53806,14.19134Q6.519215,14.14584,6.509607,14.09754Q6.5,14.04925,6.5,14ZM7.5,11.5L7.5,13.5L8.5,13.5L8.5,11.5L7.5,11.5Z" fill="#FFFFFF" fill-opacity="1"/></g><g><rect x="2" y="3" width="12" height="8" rx="1" fill-opacity="0" stroke-opacity="1" stroke="#FFFFFF" fill="none" stroke-width="1"/></g><g transform="matrix(1,0.0000922808758332394,-0.00009228093404090032,1,0.0012919330765726045,-0.0003691235033329576)"><path d="M4,14.5L12.00001,14.5Q12.04926,14.5,12.09756,14.490393Q12.14586,14.480785000000001,12.19135,14.46194Q12.23685,14.443094,12.2778,14.415735Q12.31874,14.388375,12.35357,14.353553Q12.38839,14.318731,12.41575,14.277785Q12.44311,14.236839,12.46195,14.191342Q12.4808,14.145845,12.49041,14.0975451Q12.50001,14.0492457,12.50001,14Q12.50001,13.9507543,12.49041,13.9024549Q12.4808,13.854155,12.46195,13.808658Q12.44311,13.763161,12.41575,13.722215Q12.38839,13.681269,12.35357,13.646447Q12.31874,13.611625,12.2778,13.584265Q12.23685,13.556906,12.19135,13.53806Q12.14586,13.519214999999999,12.09756,13.509607Q12.04926,13.5,12.00001,13.5L4,13.5Q3.9507543,13.5,3.9024549,13.509607Q3.854155,13.519214999999999,3.808658,13.53806Q3.763161,13.556906,3.722215,13.584265Q3.681269,13.611625,3.646447,13.646447Q3.611625,13.681269,3.584265,13.722215Q3.556906,13.763161,3.5380599999999998,13.808658Q3.519215,13.854155,3.509607,13.9024549Q3.5,13.9507543,3.5,14Q3.5,14.0492457,3.509607,14.0975451Q3.519215,14.145845,3.5380599999999998,14.191342Q3.556906,14.236839,3.584265,14.277785Q3.611625,14.318731,3.646447,14.353553Q3.681269,14.388375,3.722215,14.415735Q3.763161,14.443094,3.808658,14.46194Q3.854155,14.480785000000001,3.9024549,14.490393Q3.9507543,14.5,4,14.5Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M11.85355,5.353553Q11.92388,5.283227,11.96194,5.191342Q12,5.0994562,12,5Q12,4.9507543,11.99039,4.9024549Q11.98078,4.854155,11.96194,4.808658Q11.94309,4.763161,11.91573,4.722215Q11.88837,4.681269,11.85355,4.646447Q11.81873,4.611625,11.77778,4.584265Q11.73684,4.556906,11.69134,4.53806Q11.64584,4.519215,11.59754,4.509607Q11.54925,4.5,11.5,4.5Q11.40054,4.5,11.30866,4.53806Q11.21677,4.57612,11.14645,4.646447L11.14626,4.646634L8.5,7.29289L7.35355,6.14645Q7.31873,6.11162,7.27778,6.08427Q7.23684,6.05691,7.19134,6.03806Q7.14584,6.01921,7.09754,6.00961Q7.04925,6,7,6Q6.95075,6,6.90245,6.00961Q6.85416,6.01921,6.80866,6.03806Q6.76316,6.05691,6.7222100000000005,6.08427Q6.68127,6.11162,6.64645,6.14645L4.646634,8.14626L4.646447,8.14645Q4.57612,8.21677,4.53806,8.30866Q4.5,8.40054,4.5,8.5Q4.5,8.54925,4.509607,8.59754Q4.519215,8.64584,4.53806,8.69134Q4.556906,8.73684,4.584265,8.77778Q4.611625,8.81873,4.646447,8.85355Q4.681269,8.88838,4.722215,8.91573Q4.763161,8.94309,4.808658,8.96194Q4.854155,8.98078,4.9024549,8.99039Q4.9507543,9,5,9Q5.0994562,9,5.191342,8.96194Q5.283227,8.92388,5.353553,8.85355L5.353741,8.85337L7,7.20711L8.14645,8.35355Q8.21677,8.42388,8.30866,8.46194Q8.40054,8.5,8.5,8.5Q8.59946,8.5,8.69134,8.46194Q8.78323,8.42388,8.85355,8.35355L11.85337,5.353741L11.85355,5.353553L11.85355,5.353553Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"/></g></g></svg>
\ No newline at end of file
......@@ -121,12 +121,6 @@ aside {
}
}
//main-container全局样式
.app-container {
//padding: 16px;
//margin-top: 56px;
}
.components-container {
margin: 30px 50px;
position: relative;
......@@ -226,18 +220,14 @@ li {
margin: 0;
}
.app-main {
position: relative;
background-color: #f5f5f5;
>div{
width: calc(100% - 48px);
}
}
.app-container {
margin: 16px 24px;
position: absolute;
width: 100%;
height: 100%;
background-color: #f5f5f5;
padding: 16px 24px;
box-sizing: border-box;
//width: 100%;
overflow: auto;
.el-input__inner {
border-color: #d9d9d9;
color: #232323;
......
......@@ -215,7 +215,7 @@
.hideSidebar {
.sidebar-container {
width: 48px !important;
width: $hideSideBarWidth !important;
.sidebar-logo-container {
padding: 0px;
......@@ -235,8 +235,8 @@
}
.main-container {
margin-left: 48px;
width: calc(100% - 48px);
margin-left: $hideSideBarWidth;
width: calc(100% - #{$hideSideBarWidth});
}
.submenu-title-noDropdown {
......
......@@ -5,7 +5,7 @@
padding: 16px 24px;
width: 100%;
height: 100%;
overflow: auto;
}
.search-supplier {
-webkit-box-sizing: border-box;
......@@ -55,6 +55,9 @@
padding: 16px;
margin-top: 16px;
border-radius: 0px 0px 4px 4px;
&.i{
margin-top: -20px;
}
.total-title{
height: 24px;
line-height: 24px;
......@@ -89,6 +92,7 @@
.pagination{
text-align: right;
margin-right: -10px;
margin-top: 16px;
}
.table-item .el-table .is-scrolling-left + .el-table__fixed, .table-item .el-table .is-scrolling-middle + .el-table__fixed, .table-item .el-table .is-scrolling-right + .el-table__fixed{
bottom: 10px !important;
......
......@@ -52,6 +52,7 @@ $subMenuHover:#001528;
$base-sidebar-width: 220px;
$sideBarWidth: 220px;
$hideSideBarWidth : 48px;
//系统默认颜色
$systemColor:#0081FF;
......
......@@ -10,16 +10,16 @@
</template>
<script>
import iframeToggle from "./IframeToggle/index"
import iframeToggle from "./IframeToggle/index";
export default {
name: 'AppMain',
components: { iframeToggle },
computed: {
cachedViews() {
return this.$store.state.tagsView.cachedViews
return this.$store.state.tagsView.cachedViews;
},
key() {
return this.$route.fullPath
return this.$route.fullPath;
}
}
}
......@@ -27,12 +27,11 @@ export default {
<style lang="scss" scoped>
.app-main {
/* 50= navbar 50 */
min-height: calc(100vh - 50px);
width: 100%;
position: relative;
overflow: hidden;
display: flex;
height: calc(100% - 56px);
width: 100%;
background: #f5f5f5;
overflow: auto;
}
.fixed-header + .app-main {
......@@ -41,20 +40,17 @@ export default {
.hasTagsView {
.app-main {
/* 84 = navbar + tags-view = 50 + 34 */
min-height: calc(100vh - 56px);
min-width:1240px;
background: #F5F5F5;
overflow: initial;
height: calc(100% - 56px);
min-width: 1240px;
}
.fixed-header + .app-main {
padding-top: 84px;
}
}
.EnterpriseData{
.EnterpriseData {
.app-main {
overflow: initial;
overflow: hidden;
}
}
</style>
......
<template>
<div class="app-container" @click = 'handleALL'>
<div class="app-container" @click='handleALL'>
<el-card class="box-card noborder">
<div class="tables">
<div class="empty" v-if="tableData.total==0&& !isSkeleton">
......@@ -11,16 +11,16 @@
<div>
<!-- 未点击前的输入框样式 -->
<div class="normal-search-container" :class="{'is-hover-search' : searchHoverStatus}" @mouseover="searchHover($event)"
@mouseleave="searchUnHover($event)">
@mouseleave="searchUnHover($event)">
<img src="@/assets/images/enterprise/enterprise-search-icon.svg" alt="">
<span v-if="!searchHoverStatus && !searchParam.companyName">搜索</span>
<el-input v-model="searchParam.companyName" placeholder="输入关键词查询" style="width:238px;" @focus="searchFocus($event)"
@blur="searchBlur($event)" @input="value => searchInput(value)" v-else="searchHoverStatus || searchParam.companyName"
@keydown.native.enter="handleSearch">
@blur="searchBlur($event)" @input="value => searchInput(value)" v-else="searchHoverStatus || searchParam.companyName"
@keydown.native.enter="handleSearch">
<template slot="suffix">
<transition mode="out-in" appear name="fade">
<img src="@/assets/images/enterprise/search-input-clear-icon.svg" alt="" @click.stop="searchParam.companyName = '';getCustomerList()"
v-show="showClearIcon">
<img src="@/assets/images/enterprise/search-input-clear-icon.svg" alt=""
@click.stop="searchParam.companyName = '';getCustomerList()" v-show="showClearIcon">
</transition>
</template>
</el-input>
......@@ -31,176 +31,124 @@
</div>
</div>
<skeleton v-if="isSkeleton"></skeleton>
<el-table v-if="!isSkeleton&&tableData.total > 0" class="fixed-table" v-horizontal-scroll="tableData.total > 10 ? 'hover' : 'false'" max-height="640"
:data="tableData.rows"
stripe border
style="width: 100%">
<el-table-column
prop="index"
label="序号"
fixed="left"
width="60">
<el-table v-if="!isSkeleton&&tableData.total > 0" class="fixed-table" v-horizontal-scroll="tableData.total > 10 ? 'hover' : 'false'"
max-height="640" :data="tableData.rows" stripe border style="width: 100%">
<el-table-column prop="index" label="序号" fixed="left" width="60">
<template slot-scope='scope'>
<span>{{ (searchParam.pageNum - 1) * searchParam.pageSize + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column
prop="date"
label="企业名称"
fixed="left"
width="316">
<el-table-column prop="date" label="企业名称" fixed="left" width="316">
<template slot-scope="scope">
<div class="ps1">
<div class="wordprimary ps2" @click="toDetail(scope.row,'business')" v-html="scope.row.companyName"></div>
<div class="ps3">
<el-tooltip class="item" effect="dark" content="重新认领" placement="top">
<div @click="toRL(scope.row)"><img class="i" src="@/assets/images/project/khrl1.png"><img class="o" src="@/assets/images/project/khrl2.png"></div>
<div @click="toRL(scope.row)"><img class="i" src="@/assets/images/project/khrl1.png"><img class="o"
src="@/assets/images/project/khrl2.png"></div>
</el-tooltip>
</div>
</div>
</template>
</el-table-column>
<el-table-column
prop="cooperationProject"
label="合作项目"
width="90">
<el-table-column prop="cooperationProject" label="合作项目" width="90">
<template slot-scope="scope">
{{scope.row.cooperationProject || '--'}}
</template>
</el-table-column>
<el-table-column
prop="followProject"
label="跟进项目"
width="90">
<el-table-column prop="followProject" label="跟进项目" width="90">
<template slot-scope="scope">
{{scope.row.followProject || '--'}}
</template>
</el-table-column>
<el-table-column
prop="reserveProject"
label="储备项目"
width="90">
<el-table-column prop="reserveProject" label="储备项目" width="90">
<template slot-scope="scope">
{{scope.row.reserveProject || '--'}}
</template>
</el-table-column>
<el-table-column
prop="legalPerson"
label="法定代表人"
width="110">
<el-table-column prop="legalPerson" label="法定代表人" width="110">
<template slot-scope="scope">
{{scope.row.legalPerson || '--'}}
</template>
</el-table-column>
<el-table-column
prop="registerAddress"
label="注册地区"
width="160">
<el-table-column prop="registerAddress" label="注册地区" width="160">
<template slot-scope="scope">
{{scope.row.registerAddress || '--'}}
</template>
</el-table-column>
<el-table-column
prop="registerCapitalStr"
label="注册资本金(万元)"
width="160">
<el-table-column prop="registerCapitalStr" label="注册资本金(万元)" width="160">
<template slot-scope="scope">
<span v-if="scope.row.registerCapital && scope.row.registerCapital>0">{{scope.row.registerCapital}}</span><span v-else>--</span>
</template>
</el-table-column>
<el-table-column
prop="creditLevel"
label="企业主体评级" width="100">
<el-table-column prop="creditLevel" label="企业主体评级" width="100">
<template slot-scope="scope">
{{scope.row.creditLevel || '--'}}
</template>
</el-table-column>
<el-table-column
prop="isOn"
label="上市公司" width="76">
<el-table-column prop="isOn" label="上市公司" width="76">
<template slot-scope="scope">
{{scope.row.isOn == 1?"是":"否"}}
</template>
</el-table-column>
<el-table-column
prop="isMajor"
label="局级大客户" width="88">
<el-table-column prop="isMajor" label="局级大客户" width="88">
<template slot-scope="scope">
<span v-if="scope.row.isMajor != null">
<span v-if="scope.row.isMajor != null">
{{scope.row.isMajor == 1?"是":"否"}}
</span>
</span>
<span v-else>--</span>
</template>
</el-table-column>
<el-table-column
prop="customerLevel"
label="客户等级" width="76">
<el-table-column prop="customerLevel" label="客户等级" width="76">
<template slot-scope="scope">
{{scope.row.customerLevel || '--'}}
</template>
</el-table-column>
<el-table-column
prop="companyNature"
label="客户性质" width="76">
<el-table-column prop="companyNature" label="客户性质" width="76">
<template slot-scope="scope">
{{scope.row.companyNature || '--'}}
</template>
</el-table-column>
<el-table-column
prop="companyLevel"
label="客户级别" width="76">
<el-table-column prop="companyLevel" label="客户级别" width="76">
<template slot-scope="scope">
{{scope.row.companyLevel || '--'}}
</template>
</el-table-column>
<el-table-column
prop="address"
label="企业母公司" width="268">
<el-table-column prop="address" label="企业母公司" width="268">
<template slot-scope="scope">
<div class="">{{scope.row.superCompany || '--'}}</div>
</template>
</el-table-column>
<el-table-column :key="keys"
prop="mainBusiness"
label="主营业务" width="400">
<el-table-column :key="keys" prop="mainBusiness" label="主营业务" width="400">
<template slot-scope="scope">
<div v-if="scope.row.mainBusiness == null || scope.row.mainBusiness == ''">--</div>
<div v-if="scope.row.mainBusiness1">
<div class="box" v-if="scope.row.sq1==true">{{scope.row.mainBusiness1}}...<span @click="sq1(scope.row,false)">更多</span></div>
<div class="box" v-else>{{scope.row.mainBusiness}}<span @click="sq1(scope.row,true)">收起</span></div>
<div class="box" v-if="scope.row.sq1==true">{{scope.row.mainBusiness1}}...<span @click="sq1(scope.row,false)">更多</span></div>
<div class="box" v-else>{{scope.row.mainBusiness}}<span @click="sq1(scope.row,true)">收起</span></div>
</div>
<div v-else>{{scope.row.mainBusiness}}</div>
</template>
</el-table-column>
<el-table-column
prop="companyAttribute" :key="keys+2"
label="发包属性" width="400">
<el-table-column prop="companyAttribute" :key="keys+2" label="发包属性" width="400">
<template slot-scope="scope">
<div v-if="scope.row.companyAttribute == null || scope.row.companyAttribute == ''">--</div>
<div v-if="scope.row.companyAttribute1">
<div class="box" v-if="scope.row.sq2==true">{{scope.row.companyAttribute1}}...<span @click="sq2(scope.row,false)">更多</span></div>
<div class="box" v-else>{{scope.row.companyAttribute}}<span @click="sq2(scope.row,true)">收起</span></div>
<div class="box" v-if="scope.row.sq2==true">{{scope.row.companyAttribute1}}...<span @click="sq2(scope.row,false)">更多</span></div>
<div class="box" v-else>{{scope.row.companyAttribute}}<span @click="sq2(scope.row,true)">收起</span></div>
</div>
<div v-else>{{scope.row.companyAttribute}}</div>
</template>
</el-table-column>
<el-table-column
prop="followUser"
label="跟进人" width="110">
<el-table-column prop="followUser" label="跟进人" width="110">
<template slot-scope="scope">
{{scope.row.followUser || '--'}}
</template>
</el-table-column>
</el-table>
<div class="bottems" v-if="tableData.total>searchParam.pageSize">
<el-pagination
background
:page-size="searchParam.pageSize"
:current-page="searchParam.pageNum"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="tableData.total">
<el-pagination background :page-size="searchParam.pageSize" :current-page="searchParam.pageNum" @current-change="handleCurrentChange"
layout="prev, pager, next" :total="tableData.total">
</el-pagination>
</div>
<div class="delform" v-if="RLcompanyName">
......@@ -216,30 +164,30 @@
</template>
<script>
import { getToken } from "@/utils/auth";
import "@/assets/styles/project.scss"
import {getCustomerList,importData,addCustomer} from '@/api/custom/custom'
import {getEnterprise,getDictType,} from '@/api/main'
import {encodeStr} from "@/assets/js/common"
import { historyClaim } from "@/api/common" //认领
import skeleton from '../../project/projectList/component/skeleton'
import { getToken } from "@/utils/auth";
import "@/assets/styles/project.scss";
import { getCustomerList, importData, addCustomer } from '@/api/custom/custom';
import { getEnterprise, getDictType, } from '@/api/main';
import { encodeStr } from "@/assets/js/common";
import { historyClaim } from "@/api/common"; //认领
import skeleton from '../../project/projectList/component/skeleton';
export default {
name: 'CustomList',
components:{skeleton},
components: { skeleton },
data() {
return{
return {
encodeStr,
searchParam:{
companyName:'',
pageNum:1,
pageSize:20,
status:1,
searchParam: {
companyName: '',
pageNum: 1,
pageSize: 20,
status: 1,
},
tableData: [],//列表
customerLevel:[],//客户等级
rules:{
companyName:[{ required: true, message: '请输入非空格字符!', trigger: 'blur' },]
customerLevel: [],//客户等级
rules: {
companyName: [{ required: true, message: '请输入非空格字符!', trigger: 'blur' },]
},
//批量导入
action: process.env.VUE_APP_BASE_API + "/customer/importData",
......@@ -248,102 +196,102 @@ export default {
Authorization: "Bearer " + getToken(),
},
// isNew:true,
showlist:false,
keys:1,
RLcompanyName:'',//重新认领企业名称
isSkeleton:true,
showlist: false,
keys: 1,
RLcompanyName: '',//重新认领企业名称
isSkeleton: true,
showClearIcon: false,
searchHoverStatus: false,
hover: false,
}
};
},
created() {
this.$watch(
() => this.$route.params,
() => {
this.getCustomerList()
this.getDictType()
this.searchParam.companyName = ''
},{ immediate: true })
this.getCustomerList();
this.getDictType();
this.searchParam.companyName = '';
}, { immediate: true });
},
methods:{
sq1(item,sq){
this.$nextTick(()=>{
item.sq1 = sq
this.keys++ ;
})
methods: {
sq1(item, sq) {
this.$nextTick(() => {
item.sq1 = sq;
this.keys++;
});
},
sq2(item,sq){
this.$nextTick(()=>{
item.sq2 = sq
this.keys++ ;
})
sq2(item, sq) {
this.$nextTick(() => {
item.sq2 = sq;
this.keys++;
});
},
handleALL(event){
handleALL(event) {
var one = document.getElementById("box");
if(one){
if(!one.contains(event.target)){
this.showlist = false
if (one) {
if (!one.contains(event.target)) {
this.showlist = false;
}
}
},
toct(){
this.dialogVisible = false
this.$router.push({path:'/macro/urban'})
toct() {
this.dialogVisible = false;
this.$router.push({ path: '/macro/urban' });
},
getDictType(){
getDictType() {
//获取客户等级
getDictType('customer_level_type').then(result=>{
this.customerLevel = result.code == 200 ? result.data:[]
})
getDictType('customer_level_type').then(result => {
this.customerLevel = result.code == 200 ? result.data : [];
});
},
//获取客户列表
getCustomerList(){
getCustomerList(this.searchParam).then(result=>{
this.isSkeleton = false
this.tableData = result
this.tableData.rows.forEach(item=>{
item.registerCapital = item.registerCapital == null?null: item.registerCapital.replace(/^\D*(\d*(?:\.\d{0,6})?).*$/g, '$1')
if(item.mainBusiness != "" && item.mainBusiness != null && item.mainBusiness.length>84){
item.mainBusiness1 = item.mainBusiness.substring(0,81)
item.sq1 = true
}else{
item.sq1 = false
getCustomerList() {
getCustomerList(this.searchParam).then(result => {
this.isSkeleton = false;
this.tableData = result;
this.tableData.rows.forEach(item => {
item.registerCapital = item.registerCapital == null ? null : item.registerCapital.replace(/^\D*(\d*(?:\.\d{0,6})?).*$/g, '$1');
if (item.mainBusiness != "" && item.mainBusiness != null && item.mainBusiness.length > 84) {
item.mainBusiness1 = item.mainBusiness.substring(0, 81);
item.sq1 = true;
} else {
item.sq1 = false;
}
if(item.companyAttribute != "" && item.companyAttribute != null && item.companyAttribute.length>84){
item.companyAttribute1 = item.companyAttribute.substring(0,81)
item.sq2 = true
}else{
item.sq2 = false
if (item.companyAttribute != "" && item.companyAttribute != null && item.companyAttribute.length > 84) {
item.companyAttribute1 = item.companyAttribute.substring(0, 81);
item.sq2 = true;
} else {
item.sq2 = false;
}
})
})
});
});
},
//跳转到客户详情
toDetail(row,type){
let customerId = row.customerId
let companyId = row.companyId
let path = type
toDetail(row, type) {
let customerId = row.customerId;
let companyId = row.companyId;
let path = type;
// if(type == "" && companyId == null){
// path = 'business'
// }
this.$router.push({path:'/enterprise/'+encodeStr(companyId),query:{customerId:customerId,path:path}})
this.$router.push({ path: '/enterprise/' + encodeStr(companyId), query: { customerId: customerId, path: path } });
},
//认领客户
async toRL(row){
this.RLcompanyName = row.companyName.replace(/<[^>]+>/g, '')
async toRL(row) {
this.RLcompanyName = row.companyName.replace(/<[^>]+>/g, '');
},
async RL(){
let res = await historyClaim(this.RLcompanyName)
if(res.code==200){
this.$message.success('认领成功!')
this.handleCurrentChange(1)
this.RLcompanyName=''
async RL() {
let res = await historyClaim(this.RLcompanyName);
if (res.code == 200) {
this.$message.success('认领成功!');
this.handleCurrentChange(1);
this.RLcompanyName = '';
}
},
clearname(value){
if(value == ""){
this.handleCurrentChange(1)
clearname(value) {
if (value == "") {
this.handleCurrentChange(1);
}
},
handleSearch() {
......@@ -354,14 +302,14 @@ export default {
},
//翻页
handleCurrentChange(val) {
this.isSkeleton = true
this.searchParam.pageNum=val
this.getCustomerList()
this.isSkeleton = true;
this.searchParam.pageNum = val;
this.getCustomerList();
},
searchFocus(event) {
const { target } = event;
if (target?.value?.length) {
this.showClearIcon=true
this.showClearIcon = true;
}
},
searchBlur(event) {
......@@ -394,203 +342,202 @@ export default {
</script>
<style lang="scss" scoped>
.delform{
width: 228px;
left: 50%;
top: 50%;
margin-left: -114px;
margin-top: -57px;
.words{
font-size: 14px;
}
}
.app-container{
height: calc(100vh - 134px)
.delform {
width: 228px;
left: 50%;
top: 50%;
margin-left: -114px;
margin-top: -57px;
.words {
font-size: 14px;
}
.box-card{
padding-top: 16px;
width: 100%;
height: 100%;
.table_search{
::v-deep .normal-search-container {
display: flex;
align-items: center;
line-height: 32px;
height: 32px;
&.is-hover-search {
width: 238px;
background: #f4f6f9;
border-radius: 4px 4px 4px 4px;
}
.app-container {
height: calc(100vh - 134px);
}
.box-card {
padding-top: 16px;
width: 100%;
height: 100%;
.table_search {
::v-deep .normal-search-container {
display: flex;
align-items: center;
line-height: 32px;
height: 32px;
&.is-hover-search {
width: 238px;
background: #f4f6f9;
border-radius: 4px 4px 4px 4px;
& > img {
cursor: unset;
}
& > img {
cursor: unset;
}
}
&:hover {
& > span {
color: #0081ff;
}
&:hover {
& > span {
color: #0081ff;
}
}
& > img {
width: 16px;
height: 16px;
margin-left: 12px;
cursor: pointer;
}
& > img {
width: 16px;
height: 16px;
margin-left: 12px;
cursor: pointer;
}
& > span {
& > span {
color: rgba(35, 35, 35, 0.8);
font-weight: 400;
margin-left: 8px;
line-height: 22px;
font-size: 14px;
cursor: pointer;
}
.el-input {
& > .el-input__inner {
border: none;
height: 32px;
line-height: 32px;
caret-color: #0081ff;
color: rgba(35, 35, 35, 0.8);
font-weight: 400;
margin-left: 8px;
line-height: 22px;
font-size: 14px;
cursor: pointer;
}
background: #f4f6f9;
padding-right: 26px;
padding-left: 8px;
.el-input {
& > .el-input__inner {
border: none;
height: 32px;
&::placeholder {
color: rgba(35, 35, 35, 0.4) !important;
font-size: 14px !important;
line-height: 32px;
caret-color: #0081ff;
color: rgba(35, 35, 35, 0.8);
font-size: 14px;
background: #f4f6f9;
padding-right: 26px;
padding-left: 8px;
&::placeholder {
color: rgba(35, 35, 35, 0.4) !important;
font-size: 14px !important;
line-height: 32px;
}
}
.el-input__suffix {
right: 12px;
display: flex;
align-items: center;
}
.el-input__suffix {
right: 12px;
display: flex;
align-items: center;
.el-input__suffix-inner {
height: 14px;
width: 14px;
}
.el-input__suffix-inner {
height: 14px;
width: 14px;
}
img {
cursor: pointer;
vertical-align: unset;
margin-bottom: 14px;
}
img {
cursor: pointer;
vertical-align: unset;
margin-bottom: 14px;
}
}
}
}
}
.box{
position: relative;
>span{
position: absolute;
right: 10px;
bottom: 0;
color: #0081FF;
cursor: pointer;
&:hover{
color: #006AD1;
}
}
}
.dc{
font-size: 12px;
color: #3D3D3D;
font-weight: 400;
position: relative;
line-height: 32px;
&::after{
content: ' ';
width: 2px;
height: 2px;
background: rgba(35,35,35,0.4);
border-radius: 50%;
position: absolute;
top: 16px;
left: 14px;
}
>div{
display: inline-block;
margin-left: 20px;
}
.box {
position: relative;
> span {
position: absolute;
right: 10px;
bottom: 0;
color: #0081ff;
cursor: pointer;
&:hover {
color: #006ad1;
}
}
.img.img1{
margin-right: 2px;
background: url('../../../../src/assets/images/project/add_2.png')no-repeat center center;
background-size: 100%;
}
.dc {
font-size: 12px;
color: #3d3d3d;
font-weight: 400;
position: relative;
line-height: 32px;
&::after {
content: " ";
width: 2px;
height: 2px;
background: rgba(35, 35, 35, 0.4);
border-radius: 50%;
position: absolute;
top: 16px;
left: 14px;
}
.w88{
width: 88px;
> div {
display: inline-block;
margin-left: 20px;
}
.tables{
position: relative;
min-height: calc(100vh - 134px);
/*overflow: auto;*/
.empty{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
.btn{
margin-right: 8px;
margin-top: 16px;
}
}
.img.img1 {
margin-right: 2px;
background: url("../../../../src/assets/images/project/add_2.png") no-repeat
center center;
background-size: 100%;
}
.w88 {
width: 88px;
}
.tables {
position: relative;
min-height: calc(100vh - 134px);
/*overflow: auto;*/
.empty {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
.btn {
margin-right: 8px;
margin-top: 16px;
}
}
.ps1{
}
.ps1 {
display: flex;
justify-content: space-between;
.ps2 {
width: 350px;
}
.ps3 {
width: 60px;
display: flex;
justify-content: space-between;
.ps2{
width: 350px;
}
.ps3{
width: 60px;
display: flex;
justify-content: right;
>div{
margin-left: 12px;
>img{
float: right;
margin: 3px 0 0 4px;
width: 14px;
}
.i{
display: inline-block;
}
.o{
justify-content: right;
> div {
margin-left: 12px;
> img {
float: right;
margin: 3px 0 0 4px;
width: 14px;
}
.i {
display: inline-block;
}
.o {
display: none;
}
&:hover {
cursor: pointer;
.i {
display: none;
}
&:hover{
cursor: pointer;
.i{
display: none;
}
.o{
display: inline-block;
}
.o {
display: inline-block;
}
}
}
}
.popbot{
.wordprimary{
display: inline;
padding-right: 26px;
}
}
.app-container{
height: auto;
}
.popbot {
.wordprimary {
display: inline;
padding-right: 26px;
}
.searchInput{
.el-input{
width: 260px;
}
}
.searchInput {
.el-input {
width: 260px;
}
}
</style>
This source diff could not be displayed because it is too large. You can view the blob instead.
<template>
<!--企业监控列表-->
<div class="app-container EnterpriseMonitoring">
<div class="header">
<div class="search">
<div class="label">监控维度</div>
<div class="checkbox">
<el-radio-group v-model="radio">
<el-radio v-for="item in radioList" :label="item.type">{{item.label}}</el-radio>
</el-radio-group>
</div>
</div>
</div>
<div class="content">
<div class="table-search">
<div class="total">共 162 条</div>
<div class="right">
<span class="add">添加企业</span>
<span class="add1">批量监控</span>
</div>
</div>
<div class="table-item">
<el-table
class="fixed-table"
element-loading-text="Loading"
border
highlight-current-row
>
<el-table-column label="序号" width="60" align="left" fixed>
<!--<template slot-scope="scope">{{ pageIndex * pageSize - pageSize + scope.$index + 1 }}</template>-->
<template slot-scope="scope">1</template>
</el-table-column>
<el-table-column label="监控对象" align="left">
<template slot-scope="scope">
中国中铁股份有限公司
</template>
</el-table-column>
<el-table-column label="风险动态" align="left">
<template slot-scope="scope">
中国中铁股份有限公司
</template>
</el-table-column>
<el-table-column label="监控时间" width="200" align="left">
<template slot-scope="scope">
2022-09-02
</template>
</el-table-column>
<el-table-column
label="操作"
align="center"
width="180"
class-name="small-padding fixed-width"
fixed="right"
>
<template slot-scope="scope">
<span>取消监控</span>
</template>
</el-table-column>
</el-table>
</div>
</div>
<el-dialog :visible.sync="jkVisible" custom-class='dialog-claim' title="提示" width="480px" >
<div class="dialog-content"><i class="el-icon-warning"></i>取消后将错过企业最新动态</div>
<div slot="footer" class="dialog-footer">
<el-button>我再想想</el-button>
<el-button type="primary">确定取消</el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="qyVisible" custom-class='dialog-claim' title="添加监控企业" width="480px" >
<div class="add-content">
<div class="enterprise">
<div class="label">企业名称</div>
<el-input class="name" placeholder="请输入企业名称">
<el-button slot="append">搜索</el-button>
</el-input>
</div>
<div class="companyList">
<div class="list">
<div class="item">
<div class="item-left">
<!--<img v-if="item.logoUrl" :src="item.logoUrl" :alt="item.name.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')" />-->
<!--<img v-else src="@/assets/images/enterprise.png" :alt="item.name.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')" />-->
<img src="@/assets/images/enterprise.png"/>
</div>
<div class="item-right">
<p class="right-title">中国铁建集团</p>
<p class="right-tips">推荐监控</p>
</div>
<el-checkbox></el-checkbox>
</div>
</div>
<p class="tips">前往企业查询寻找企业线索<i class="el-icon-arrow-right"></i></p>
<div class="btn">
<div>
<el-button>取消</el-button>
<el-button type="primary">确定</el-button>
</div>
</div>
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button>取消</el-button>
<el-button type="primary">确定</el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="pldrVisible" custom-class='dialog-claim' title="批量导入监控企业" width="480px" >
<div class="upload-content">
<el-upload
class="upload-demo"
drag
action="https://jsonplaceholder.typicode.com/posts/"
multiple>
<i class="el-icon-plus"></i>
<div class="el-upload__text">
将文件拖到此处,或<em>点击上传</em>
</div>
<div class="el-upload__tip">仅允许导入xls、xlsx格式文件</div>
</el-upload>
</div>
<div slot="footer" class="dialog-footer">
<el-button class="download" icon="el-icon-download">下载模版</el-button>
<el-button>取消</el-button>
<el-button type="primary">确定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
name: 'EnterpriseMonitoring',
data() {
return {
radio:1,
radioList:[
{
type:1,
label:'今天'
},
{
type:2,
label:'近三天'
},
{
type:3,
label:'近一周'
},
{
type:4,
label:'近半月'
},
{
type:5,
label:'近一个月'
},
{
type:6,
label:'自定义日期'
},
],
tableData:[
{
name:'中国中铁股份有限公司',
time:'2022-09-02',
}
],
jkVisible:false,
qyVisible:false,
pldrVisible:false,
}
},
created() {
},
methods: {
handleClick() {
}
}
}
</script>
<style lang="scss" scoped>
.EnterpriseMonitoring{
.header{
background: #FFFFFF;
padding: 25px 16px;
border-radius: 4px;
.search{
display: -webkit-box;
align-items: flex-start;
line-height: 20px;
.label{
margin-right: 24px;
}
}
}
.content{
background: #FFFFFF;
border-radius: 4px;
margin-top: 16px;
padding: 16px;
.table-search{
display: flex;
justify-content: space-between;
font-size: 12px;
margin-bottom: 16px;
.total{
color: rgba(35,35,35,0.8);
}
.right{
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 .dialog-claim{
margin:0 !important;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
.el-dialog__header{
display: block;
padding:16px 20px;
border-bottom: 1px solid #EEEEEE;
font-size: 16px;
font-weight: 700;
color: #232323;
}
.el-dialog__body{
padding: 24px 20px;
font-size: 14px;
.dialog-content{
i{
margin-right: 10px;
font-size: 16px;
color:#FFAB44;
}
}
.upload-content{
.el-upload{
width: 100%;
}
.el-upload-dragger{
width: 100%;
padding-top: 50px;
.el-upload__text{
margin-top: 24px;
font-size: 14px;
}
.el-upload__tip{
font-size: 12px;
color: rgba(35,35,35,0.4);
}
}
}
.add-content{
height: 200px;
.enterprise{
display: -webkit-box;
align-items: flex-start;
line-height: 32px;
.name{
width: 372px;
height: 32px;
margin-left: 12px;
border-radius: 2px;
border: 1px solid #DCDFE6;
}
.el-input__inner{
border: 0;
height: 32px;
}
.el-input-group__append{
border: 0;
background: #F5F5F5;
width: 60px;
color: #0081FF;
}
}
.companyList{
width: 372px;
margin-left: 68px;
margin-top: 5px;
background: #FFFFFF;
box-shadow: 0px 4px 8px 2px rgba(0,0,0,0.04), 0px 2px 6px 0px rgba(0,0,0,0.06), 0px 0px 4px 0px rgba(0,0,0,0.08);
border-radius: 4px;
position: absolute;
.list{
max-height:372px;
}
.item{
display: flex;
margin: 0 16px;
padding: 14px 0 10px 0;
position: relative;
border-bottom: 1px solid #EEEEEE;
.item-left{
margin-right: 12px;
img{
width: 40px;
height: 40px;
}
}
.item-right{
p{
margin: 0;
padding: 0;
}
}
}
.item:last-child{
border-bottom: 0;
}
.tips{
border-top: 1px solid #EEEEEE;
border-bottom: 1px solid #EEEEEE;
height: 40px;
line-height: 40px;
color: #0081FF;
font-size: 12px;
padding: 0 0 0 12px;
margin: 0;
}
.btn{
padding: 16px 20px 24px 0;
display: block;
text-align: right;
}
}
}
}
.dialog-footer{
.download{
float: left;
}
}
}
}
</style>
<template>
<!--监控维度设置-->
<div class="app-container MonitorSettings">
<div class="content">
<div class="m-title">监控维度设置</div>
<div class="m-main">
<div class="main-item">
<div class="label">风险类型</div>
<div class="main-right">
<div class="checkbox">
<div class="checkbox-content-qx">
<el-checkbox v-model="checkFx" @change="checkFxBtn">全部</el-checkbox>
</div>
<el-checkbox-group v-model="queryParams.fxType" class="keyword_checkbox" @change="checkFx1Btn">
<el-checkbox v-for="item in fxlx" :label="item.value" :key="item.label">{{item.label}}</el-checkbox>
</el-checkbox-group>
</div>
</div>
</div>
<div class="main-item">
<div class="label">监控维度</div>
<div class="main-right">
<div class="checkbox">
<div class="checkbox-content-qx">
<el-checkbox v-model="checkJkwd" @change="checkJkwdBtn">全部</el-checkbox>
</div>
<el-checkbox-group v-model="queryParams.jkwdType" class="keyword_checkbox" @change="checkJkwd1Btn">
<el-checkbox v-for="item in jkwd" :label="item.value" :key="item.label">{{item.label}}</el-checkbox>
</el-checkbox-group>
</div>
</div>
</div>
</div>
<div class="m-title">监控推送时间设置</div>
<div class="m-main">
<div class="main-item">
<div class="label">推送频率</div>
<el-radio v-model="queryParams.radio" label="1">每天</el-radio>
<el-radio v-model="queryParams.radio" label="2">工作日(排除节假日)</el-radio>
</div>
<div class="main-item" style="line-height: 32px;">
<div class="label">推送时段</div>
<el-time-picker
is-range
class="timePicker"
v-model="queryParams.time"
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间"
placeholder="选择时间范围">
</el-time-picker>
</div>
</div>
<div class="m-title">监控接收方式</div>
<div class="m-main">
<div class="main-item">
<div class="label">接收方式</div>
<el-radio v-model="queryParams.radio" label="1">全部</el-radio>
<el-radio v-model="queryParams.radio" label="2">手机短信</el-radio>
<el-radio v-model="queryParams.radio" label="3">PC</el-radio>
</div>
<div class="main-item" style="line-height: 32px;">
<div class="label">手机号码</div>
<el-input class="phone" v-model="queryParams.phone" placeholder="请输入手机号"></el-input>
</div>
</div>
<div class="search">
<span class="btn1">保存</span>
<span class="btn2">重置</span>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'MonitorSettings',
data() {
return {
fxlx:[
{
value:'1',
label:'工商风险'
},
{
value:'2',
label:'司法风险'
},
],
jkwd:[
{
value:'1',
label:'法院公告'
},
{
value:'2',
label:'裁判文书'
},
{
value:'3',
label:'开庭公告'
},
{
value:'3',
label:'股权冻结'
},
],
checkFx: true,
checkJkwd: true,
queryParams:{
fxType:[],
jkwdType:[],
time:[new Date(2016, 9, 10, 8, 40), new Date(2016, 9, 10, 9, 40)],
radio:'1',
phone:''
}
}
},
created() {
},
methods: {
checkFxBtn(val) {
this.queryParams.fxType = [];
this.checkFx = true;
},
checkFx1Btn(val){
if (val.length > 0) {
this.checkFx = false;
} else if (val.length == 0) {
this.checkFx = true;
}
},
checkJkwdBtn(val) {
this.queryParams.jkwdType = [];
this.checkJkwd = true;
},
checkJkwd1Btn(val){
console.log(val)
if (val.length > 0) {
this.checkJkwd = false;
} else if (val.length == 0) {
this.checkJkwd = true;
}
},
}
}
</script>
<style lang="scss" scoped>
.MonitorSettings{
.content{
background: #ffffff;
padding: 16px;
}
.m-title{
border-left: 2px solid rgba(35,35,35,0.8);;
padding-left: 8px;
font-size: 16px;
height: 16px;
line-height: 16px;
font-weight: 700;
color: #232323;
margin-bottom: 16px;
}
.m-main{
border-bottom: 1px solid #EEEEEE;
margin-bottom: 16px;
}
.main-item {
margin-bottom: 16px;
display: -webkit-box;
align-items: flex-start;
.label {
width: 88px;
font-size: 14px;
font-weight: 400;
color: rgba(35, 35, 35, 0.8);
}
.main-right {
width: calc(100% - 112px);
.checkbox{
display: flex;
align-items: flex-start;
.checkbox-content-qx{
margin-right: 24px;
}
}
}
::v-deep .timePicker{
width: 228px;
height: 32px;
.el-range__icon{
line-height: 27px;
}
.el-range__close-icon{
line-height: 27px;
}
}
::v-deep .phone{
width: 228px;
height: 32px;
border-radius: 2px 2px 2px 2px;
}
}
.search{
margin: 24px 0 0 88px;
span{
width: 60px;
height: 32px;
line-height: 32px;
border-radius: 4px 4px 4px 4px;
cursor: pointer;
display: inline-block;
text-align: center;
font-size: 14px;
}
.btn1{
background: #0081FF;
border: 1px solid #0081FF;
color: #FFFFFF;
margin-right: 12px;
}
.btn2{
border: 1px solid #DCDFE6;
background: #ffffff;
color: rgba(35,35,35,0.8);
}
}
}
</style>
<template>
<!--监控动态-->
<div class="app-container MonitoringDynamics">
<div class="search">
<div class="search-item" style="line-height: 32px;margin-top: 0;padding-bottom: 8px;">
<div class="label">监控维度</div>
<el-input class="name" placeholder="请输入监控对象名称">
<el-button slot="append">搜索</el-button>
</el-input>
</div>
<div class="search-item">
<div class="label">更新时间</div>
<div class="checkbox">
<el-radio-group v-model="radio">
<el-radio v-for="item in radioList" :label="item.type">{{item.label}}</el-radio>
</el-radio-group>
<el-date-picker
v-if="radio==6"
v-model="date"
type="daterange"
value-format="yyyy-MM-dd"
unlink-panels
size="small"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</div>
</div>
<div class="search-item" style="line-height: 32px;">
<div class="label">监控类型</div>
<div class="checkbox">
<el-checkbox @change="checkJklxBtn('司法风险')"></el-checkbox>
<el-select v-model="queryParams.type" @change="iptAdaptive(inputID1,true,'changeSelect1')"
:class="[`select-adaptive-${inputID1}`,queryParams.type.length > 1 ? 'selectTag' : '']" multiple collapse-tags clearable
placeholder="司法风险">
<el-option v-for="(item,index) in sffxList" :key="index" :label="item" :value="item"></el-option>
</el-select>
<el-checkbox @change="checkJklxBtn('工商变更')"></el-checkbox>
<el-select v-model="queryParams.gsbgType" @change="iptAdaptive(inputID2,true,'changeSelect1')"
:class="[`select-adaptive-${inputID2}`,queryParams.gsbgType.length > 1 ? 'selectTag' : '']" multiple collapse-tags clearable
placeholder="工商变更">
<el-option v-for="(item,index) in gsbgList" :key="index" :label="item" :value="item"></el-option>
</el-select>
<!--<el-checkbox-group v-model="fxlxType" class="keyword_checkbox" @change="checkJklxBtn">-->
<!--<el-checkbox v-for="item in jkType" :label="item.value" :key="item.label"></el-checkbox>-->
<!--<template v-if="item.label=='司法风险'">-->
<!--<el-select v-model="queryParams.type" @change="iptAdaptive(inputID1,true,'changeSelect1')"-->
<!--:class="[`select-adaptive-${inputID1}`,queryParams.type.length > 1 ? 'selectTag' : '']" multiple collapse-tags clearable-->
<!--:placeholder="item.label">-->
<!--<el-option v-for="(item,index) in sffxList" :key="index" :label="item" :value="item"></el-option>-->
<!--</el-select>-->
<!--</template>-->
<!--<template v-if="item.label=='工商变更'">-->
<!--<el-select v-model="queryParams.gsbgType" @change="iptAdaptive(inputID2,true,'changeSelect1')"-->
<!--:class="[`select-adaptive-${inputID2}`,queryParams.gsbgType.length > 1 ? 'selectTag' : '']" multiple collapse-tags clearable-->
<!--:placeholder="item.label">-->
<!--<el-option v-for="(item,index) in gsbgList" :key="index" :label="item" :value="item"></el-option>-->
<!--</el-select>-->
<!--</template>-->
<!--</el-checkbox-group>-->
</div>
</div>
<div class="search-item">
<div class="label">风险级别</div>
<div class="main-right">
<div class="checkbox">
<div class="checkbox-content-qx">
<el-checkbox v-model="checkFx" @change="checkFxjbBtn">全部</el-checkbox>
</div>
<el-radio-group v-model="fxjbType" class="keyword_checkbox" @change="checkFxjb1Btn">
<el-radio v-for="item in fxjb" :label="item.value" :key="item.label">{{item.label}}</el-radio>
</el-radio-group>
</div>
</div>
</div>
</div>
<div class="content">
<div class="total">共 162 条</div>
<div class="table-item">
<el-table
class="fixed-table"
:data="tableData"
element-loading-text="Loading"
border
highlight-current-row
>
<el-table-column label="序号" width="60" align="left" fixed>
<!--<template slot-scope="scope">{{ pageIndex * pageSize - pageSize + scope.$index + 1 }}</template>-->
<template slot-scope="scope">1</template>
</el-table-column>
<el-table-column label="监控对象" prop="name" align="left" width="250">
<template slot-scope="scope">
中国中铁股份有限公司
</template>
</el-table-column>
<el-table-column label="风险级别" prop="fxjb" align="left" width="120">
<template slot-scope="scope">
正向
</template>
</el-table-column>
<el-table-column label="监控类型" prop="jklx" align="left" width="150">
<template slot-scope="scope">
新增中标业绩
</template>
</el-table-column>
<el-table-column label="动态内容" prop="dtlr" align="left">
<template slot-scope="scope">
新增中标业绩
</template>
</el-table-column>
<el-table-column label="更新时间" prop="time" align="left" width="150">
<template slot-scope="scope">
2022-09-02
</template>
</el-table-column>
<el-table-column
label="操作"
align="center"
width="150"
class-name="small-padding fixed-width"
fixed="right"
>
<template slot-scope="scope">
<span style="cursor: pointer;" @click="handleDetail">查看详情</span>
</template>
</el-table-column>
</el-table>
</div>
</div>
<el-dialog :visible.sync="dialogVisible" custom-class='dialog-claim' :title="title" width="720px" >
<div class="dialog-content">
<template v-if="title=='开庭公告详情'">
<info-table class="info-tab" :list="defaultList0" :obj="detail" :labelWidth="labelWidth"></info-table>
</template>
<template v-if="title=='失信被执行人详情'">
<info-table class="info-tab" :list="defaultList1" :obj="detail" :labelWidth="labelWidth"></info-table>
</template>
<template v-if="title=='法院公告详情'">
<info-table class="info-tab" :list="defaultList2" :obj="detail" :labelWidth="labelWidth"></info-table>
</template>
<template v-if="title=='经营异常详情'">
<info-table class="info-tab" :list="defaultList3" :obj="detail" :labelWidth="labelWidth"></info-table>
</template>
<template v-if="title=='股权冻结详情'">
<info-table class="info-tab" :list="defaultList4" :obj="detail" :labelWidth="labelWidth"></info-table>
</template>
<template v-if="title=='裁判文书详情'">
<info-table class="info-tab" :list="defaultList5" :obj="detail" :labelWidth="labelWidth"></info-table>
</template>
</div>
</el-dialog>
</div>
</template>
<script>
import { v4 } from "uuid";
import InfoTable from '../detail/party-a/component/infoTable';
export default {
name: 'MonitoringDynamics',
components: {
InfoTable
},
data() {
return {
radio:1,
date:'',
radioList:[
{
type:1,
label:'今天'
},
{
type:2,
label:'近三天'
},
{
type:3,
label:'近一周'
},
{
type:4,
label:'近半月'
},
{
type:5,
label:'近一个月'
},
{
type:6,
label:'自定义日期'
},
],
fxjb:[
{
value:'1',
label:'提示'
},
{
value:'2',
label:'正向'
},
{
value:'3',
label:'低风险'
},
{
value:'4',
label:'中风险'
},
{
value:'5',
label:'高风险'
},
],
checkFx: true,
fxlxType:[],
jkType:[
{
value:'1',
label:'司法风险'
},
{
value:'2',
label:'工商变更'
},
],
sffxList:['开庭公告','裁判文书','法院公告','失信被执行人','被执行人','限制高消费','股权冻结'],
gsbgList:['法定代表人变更','企业类型变更','注册资本变更','股东变更','对外投资变更','企业名称变更','注册地址变更','经营状态变更','分支机构'],
queryParams:{
type:[],
gsbgType:[],
},
fxjbType:'',
inputID1: this.getUid(),
inputID2: this.getUid(),
tableData:[
{
name:'中国中铁股份有限公司',
jklx:'正向',
kjlx:'新增中标业绩',
dtlr:'新增中标,中标金额234.45万元:怀化国际陆港商贸服务综合物流枢纽及配套工程建设项目公共配套服务设施(市政绿化提档升级)项目一期EPC',
time:'2022-09-02',
}
],
dialogVisible:false,
labelWidth: 140,
//开庭公告详情
defaultList0:[
{ name: '案由', prop: 'a' },
{ name: '案号', prop: 'b' },
{ name: '开庭时间', prop: 'c' },
{ name: '承办部门', prop: 'd' },
{ name: '审判长/主判人', prop: 'e'},
{ name: '当事人', prop: 'f'},
{ name: '法院', prop: 'g'},
{ name: '法庭', prop: 'h'},
{ name: '公告内容', prop: 'j', style: true },
],
//失信被执行人详情
defaultList1:[
{ name: '失信被执行人行为具体情形', prop: 'a', style: true },
{ name: '履行情况', prop: 'b' },
{ name: '立案文号', prop: 'c' },
{ name: '立案日期', prop: 'd' },
{ name: '执行依据文号', prop: 'e'},
{ name: '执行法院', prop: 'f'},
],
//法院公告详情
defaultList2:[
{ name: '原告', prop: 'a',style: true },
{ name: '被告', prop: 'b' },
{ name: '公共类型', prop: 'c' },
{ name: '公告日期', prop: 'd' },
{ name: '公告法院', prop: 'e',style: true},
{ name: '案由', prop: 'f',style: true},
],
//经营异常详情
defaultList3:[
{ name: '案号', prop: 'a'},
{ name: '经营异常类型', prop: 'b' },
{ name: '列入经营异常名录原因', prop: 'c',style: true },
{ name: '拖欠天数', prop: 'd' },
{ name: '涉及金额', prop: 'e'},
{ name: '列入日期', prop: 'e'},
{ name: '列入机关', prop: 'e'},
{ name: '数据来源', prop: 'f',style: true},
],
//股权冻结详情
defaultList4:[
{ name: '标题名称', prop: 'a'},
{ name: '执行事项', prop: 'b' },
{ name: '执行裁定文书号', prop: 'c'},
{ name: '执行通知文号', prop: 'd' },
{ name: '被执行人', prop: 'e'},
{ name: '被执行人持有股权、其他投资权益数额', prop: 'e'},
{ name: '冻结期限自', prop: 'e'},
{ name: '冻结期限至', prop: 'f'},
{ name: '冻结期限', prop: 'f'},
{ name: '公示日期', prop: 'f'},
],
//裁判文书详情
defaultList5:[
{ name: '案由', prop: 'a'},
{ name: '执行案号', prop: 'b' },
{ name: '身份', prop: 'c'},
{ name: '当事人', prop: 'd' },
{ name: '案件金额', prop: 'e'},
{ name: '判决日期', prop: 'e'},
{ name: '判决结果', prop: 'e',style: true},
],
title:'开庭公告详情',
detail:{
a:'民事借贷纠纷',
b:'(2023)豫44执513号',
c:'2021-11-20',
d:'-',
e:'-',
f:'原告:Z某某;被告L某某',
g:'宁乡县人民法院',
h:'第七审判庭',
j:'L某某宁乡县中小民间借贷服务有限公司: 本院受理原告C某某诉你民间借贷纠纷一案,现依法向你公告送达起诉状副本、应诉通知书、举证通知书、' +
'合议庭组成人员通知书及开庭传票等法律文书。自发出公告之日起,经过60日即视为送达。提出答辩状和举证的期限分别为公告期满后15日和30日内。' +
'并定于举证期满后第3日上午9时00分(遇法定假日顺延)在本院第七审判庭公开开庭审理,逾期将依法缺席裁判。 特此公告 发布日期:20160719',
}
}
},
created() {
this.getPlaceholder()
},
methods: {
checkJklxBtn(val) {
console.log(val)
if(val === '司法风险'){
this.queryParams.type=this.queryParams.type.length != this.sffxList.length ? [] : this.sffxList;
this.iptAdaptive(this.inputID1,true,'changeSelect1')
}
if(val==='工商变更'){
this.queryParams.gsbgType=this.queryParams.gsbgType.length != this.gsbgList.length ? [] : this.gsbgList;
this.iptAdaptive(this.inputID2,true,'changeSelect1')
}else {
this.queryParams.gsbgType=[]
}
},
checkFxjbBtn(val) {
this.fxjbType = [];
this.checkFx = true;
},
checkFxjb1Btn(val){
if (val.length > 0) {
this.checkFx = false;
} else if (val.length == 0) {
this.checkFx = true;
}
},
handleDetail(){
this.dialogVisible=true;
},
async getPlaceholder() {
try {
await this.$nextTick();
const doms = document.querySelectorAll("[class*='select-adaptive-']");
if (doms?.length) {
doms.forEach(dom => {
const realStyles = window.getComputedStyle(dom);
const ipt = dom.querySelector("input");
const text = ipt.getAttribute("placeholder");
const textContainer = document.createElement("span");
textContainer.style.setProperty("visibility", "hidden");
textContainer.style.setProperty("display", "inline-block");
textContainer.style.setProperty("font-size", "14px");
const hasPadding = (parseInt(realStyles.paddingLeft) || parseInt(realStyles.paddingRight)) ? true : false;
hasPadding ? textContainer.style.setProperty("padding", realStyles.paddingRight) : null;
textContainer.style.setProperty("box-sizing", "border-box");
textContainer.textContent = text;
document.body.append(textContainer);
// 加上按钮宽度 以及按钮左外边距
let containerWidth = textContainer.offsetWidth + 30;
textContainer.remove();
dom.style.setProperty("width", `${containerWidth}px`);
});
}
} catch (error) {
}
},
iptAdaptive(uid, multiple = false, name) {
multiple ? this.multipleAdaptiveHandle(uid, name) : this.iptAdaptiveHandle(uid, name);
},
getUid() {
return v4();
},
// 多选处理
async multipleAdaptiveHandle(uid, name) {
try {
await this.$nextTick();
const dom = document.querySelector(`.select-adaptive-${uid}`);
const iptChild = dom.querySelector(".el-input__inner");
if (dom) {
const textContainer = document.createElement("span");
const textName = `text-${uid}`;
textContainer.classList.add(textName);
const selectChildren = dom.querySelectorAll(".el-tag");
if (selectChildren.length) {
let width = 0;
selectChildren.forEach(item => {
const text = item.textContent;
const itemInfo = window.getComputedStyle(item);
textContainer.style.setProperty("visibility", "hidden");
textContainer.style.setProperty("display", "inline-block");
textContainer.style.setProperty("font-size", "14px");
textContainer.style.setProperty("padding", itemInfo.padding);
textContainer.style.setProperty("box-sizing", "border-box");
textContainer.textContent = text;
document.body.append(textContainer);
width += textContainer.offsetWidth + parseInt(itemInfo.marginLeft) + parseInt(itemInfo.marginRight);
textContainer.remove();
});
dom.style.setProperty("width", `${width + 50}px`);
// this.handleSearch(name);
return;
}
textContainer.style.setProperty("visibility", "hidden");
textContainer.style.setProperty("display", "inline-block");
textContainer.style.setProperty("font-size", "14px");
textContainer.style.setProperty("padding", "0px 8px");
textContainer.style.setProperty("box-sizing", "border-box");
textContainer.textContent = iptChild.getAttribute("placeholder");
document.body.append(textContainer);
let containerWidth = textContainer.offsetWidth + 12 + 8;
// let containerWidth = 130;
textContainer.remove();
dom.style.setProperty("width", `${containerWidth}px`);
// this.handleSearch(name);
}
} catch (error) {
console.log(error);
}
},
// 单选处理
async iptAdaptiveHandle(uid, name) {
try {
await this.$nextTick();
const dom = document.querySelector(`.select-adaptive-${uid}`);
const realStyles = window.getComputedStyle(dom);
if (dom) {
const iptChild = dom.querySelector(".el-input__inner");
const textContainer = document.createElement("span");
const textName = `text-${uid}`;
textContainer.classList.add(textName);
textContainer.style.setProperty("visibility", "hidden");
textContainer.style.setProperty("display", "inline-block");
textContainer.style.setProperty("font-size", "14px");
const hasPadding = (parseInt(realStyles.paddingLeft) || parseInt(realStyles.paddingRight)) ? true : false;
hasPadding ? textContainer.style.setProperty("padding", "0px 8px") : null;
textContainer.style.setProperty("box-sizing", "border-box");
textContainer.textContent = iptChild.value ? iptChild.value : iptChild.getAttribute("placeholder");
document.body.append(textContainer);
let containerWidth = textContainer.offsetWidth + 50;
textContainer.remove();
dom.style.setProperty("width", `${containerWidth}px`);
}
// this.handleSearch(name);
} catch (error) {
}
},
}
}
</script>
<style lang="scss" scoped>
.MonitoringDynamics{
.search{
background: #FFFFFF;
padding: 25px 16px;
border-radius: 4px;
.search-item{
display: -webkit-box;
align-items: flex-start;
line-height: 20px;
margin-top: 8px;
}
.label{
margin-right: 12px;
font-size: 14px;
color: rgba(35,35,35,0.8);
}
::v-deep .name{
width: 405px;
height: 32px;
margin-left: 12px;
border-radius: 2px;
border: 1px solid #DCDFE6;
.el-input__inner{
border: 0;
height: 32px;
}
.el-input-group__append{
border: 0;
background: #F5F5F5;
width: 60px;
color: #0081FF;
}
}
.checkbox{
display: flex;
align-items: flex-start;
padding-left: 12px;
position: relative;
.checkbox-content-qx{
margin-right: 24px;
}
::v-deep .el-checkbox{
margin-right: 10px;
}
::v-deep .el-date-editor{
position: absolute;
left: 602px;
top: -7px
}
::v-deep .el-select{
.el-input{
.el-input__inner{
height: 32px;
line-height: 32px;
border-radius: 4px;
border: 0;
padding-left: 0px;
padding-right: 8px;
&::placeholder{
color: rgba(35,35,35,0.8) !important;
}
}
.el-input__suffix{
top:2px;
}
}
}
}
}
.content{
background: #FFFFFF;
border-radius: 4px;
margin-top: 16px;
padding: 16px;
.total{
color: rgba(35,35,35,0.8);
font-size: 12px;
padding-bottom: 16px;
display: flex;
align-items: center;
&:before {
content: "";
display: inline-block;
width: 2px;
height: 2px;
background: rgba(35,35,35,.4);
margin-right: 4px;
}
}
}
::v-deep .dialog-claim{
.el-dialog__header{
display: block;
padding:16px 20px;
border-bottom: 1px solid #EEEEEE;
font-size: 16px;
font-weight: 700;
color: #232323;
}
.el-dialog__body {
padding: 24px 20px;
}
}
}
</style>
<template>
<!--监控报告-->
<div class="app-container MonitoringReport">
<div class="header">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="监控日报" name="first"></el-tab-pane>
<el-tab-pane label="监控周报" name="second"></el-tab-pane>
<el-tab-pane label="监控月报" name="third"></el-tab-pane>
</el-tabs>
</div>
<div class="report-content">
<div class="list">
<div class="list-title">
<div class="flex-box query-box">
<div class="flex-box query-params">
<span class="common-title">今日</span>
</div>
<div class="flex-box query-ability">
<span style="color:#0081FF;padding: 0 4px;">13</span>家企业发生<span style="color:#F7965B;padding: 0 4px;">651</span>条动态信息
</div>
</div>
</div>
<div class="item">
<div class="item-left">
<!--<img v-if="item.logoUrl" :src="item.logoUrl" :alt="item.name.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')" />-->
<!--<img v-else src="@/assets/images/enterprise.png" :alt="item.name.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')" />-->
<img src="@/assets/images/enterprise.png"/>
</div>
<div class="item-right">
<p class="right-title">
<span>中国铁建集团</span>
</p>
<p class="card-right-p">
<span class="right-label">提示:</span>
<span class="right-color color1">11</span>
<span class="right-label">正向:</span>
<span class="right-color color1">21</span>
<span class="right-label">低风险:</span>
<span class="right-color color1">31</span>
<span class="right-label">中风险:</span>
<span class="right-color color1">41</span>
<span class="right-label">高风险:</span>
<span class="right-color color1">1</span>
</p>
<div class="tips">新增<span>654</span>条动态信息</div>
</div>
</div>
<div class="item">
<div class="item-left">
<!--<img v-if="item.logoUrl" :src="item.logoUrl" :alt="item.name.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')" />-->
<!--<img v-else src="@/assets/images/enterprise.png" :alt="item.name.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')" />-->
<img src="@/assets/images/enterprise.png"/>
</div>
<div class="item-right">
<p class="right-title">
<span>中国铁建集团</span>
</p>
<p class="card-right-p">
<span class="right-label">提示:</span>
<span class="right-color color1">11</span>
<span class="right-label">正向:</span>
<span class="right-color color2">21</span>
<span class="right-label">低风险:</span>
<span class="right-color color3">31</span>
<span class="right-label">中风险:</span>
<span class="right-color color4">41</span>
<span class="right-label">高风险:</span>
<span class="right-color color5">1</span>
</p>
<div class="tips">新增<span>654</span>条动态信息</div>
</div>
</div>
</div>
<div class="list">
<div class="list-title">
<div class="flex-box query-box">
<div class="flex-box query-params">
<span class="common-title">昨日</span>
</div>
<div class="flex-box query-ability">
<span style="color:#0081FF;padding: 0 4px;">13</span>家企业发生<span style="color:#F7965B;padding: 0 4px;">651</span>条动态信息
</div>
</div>
</div>
<div class="item">
<div class="item-left">
<!--<img v-if="item.logoUrl" :src="item.logoUrl" :alt="item.name.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')" />-->
<!--<img v-else src="@/assets/images/enterprise.png" :alt="item.name.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')" />-->
<img src="@/assets/images/enterprise.png"/>
</div>
<div class="item-right">
<p class="right-title">
<span>中国铁建集团</span>
</p>
<p class="card-right-p">
<span class="right-label">提示:</span>
<span class="right-color color1">11</span>
<span class="right-label">正向:</span>
<span class="right-color color1">21</span>
<span class="right-label">低风险:</span>
<span class="right-color color1">31</span>
<span class="right-label">中风险:</span>
<span class="right-color color1">41</span>
<span class="right-label">高风险:</span>
<span class="right-color color1">1</span>
</p>
<div class="tips">新增<span>654</span>条动态信息</div>
</div>
</div>
<div class="item">
<div class="item-left">
<!--<img v-if="item.logoUrl" :src="item.logoUrl" :alt="item.name.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')" />-->
<!--<img v-else src="@/assets/images/enterprise.png" :alt="item.name.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')" />-->
<img src="@/assets/images/enterprise.png"/>
</div>
<div class="item-right">
<p class="right-title">
<span>中国铁建集团</span>
</p>
<p class="card-right-p">
<span class="right-label">提示:</span>
<span class="right-color color1">11</span>
<span class="right-label">正向:</span>
<span class="right-color color2">21</span>
<span class="right-label">低风险:</span>
<span class="right-color color3">31</span>
<span class="right-label">中风险:</span>
<span class="right-color color4">41</span>
<span class="right-label">高风险:</span>
<span class="right-color color5">1</span>
</p>
<div class="tips">新增<span>654</span>条动态信息</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'MonitoringReport',
data() {
return {
activeName:'first',
dataList:[
{
time:'今日',
list:[]
}
]
}
},
created() {
},
methods: {
handleClick() {
}
}
}
</script>
<style lang="scss" scoped>
.MonitoringReport{
/*background: #ffffff;*/
.header{
justify-content: space-between;
height: 48px;
background: #FFFFFF;
border-radius: 4px;
color: #232323;
/*position: sticky;*/
/*top: 54px;*/
/*z-index: 999;*/
::v-deep .el-tabs{
height: 48px;
line-height: 48px;
.el-tabs__nav-wrap::after {
position: static !important;
}
.el-tabs__header{
margin: 0;
.el-tabs__item{
padding: 0 16px;
font-size: 16px;
}
.is-active{
font-weight: bold;
}
}
.el-tabs__content{
width: 100%;
}
}
.location{
font-size: 14px;
color: #0081FF;
i{
margin-right: 6px;
font-size: 16px;
}
}
}
.report-content{
.list{
background: #fff;
margin-top: 16px;
.list-title{
height: 56px;
line-height: 56px;
border-bottom: 1px solid #EEEEEE;
padding: 0 16px;
.query-params{
font-size: 16px;
font-weight: 700;
color: #232323;
}
.query-ability{
font-size: 14px;
font-weight: 400;
color: #3D3D3D;
span{
margin: 0;
}
}
}
.item{
display: flex;
margin: 0 16px;
padding: 16px 0;
position: relative;
border-bottom: 1px solid #EEEEEE;
.item-left{
margin-right: 12px;
img{
width: 62px;
height: 62px;
}
}
.item-right{
p{
margin: 0;
padding: 0;
}
.right-title{
font-size: 16px;
font-weight: 700;
color: #333333;
margin-bottom: 10px;
margin-top: 2px;
}
.right-label{
font-size: 14px;
color: #666666;
}
.tips{
position: absolute;
right: 0;
top:46px;
color: #666666;
font-size: 14px;
span{
color: #333333;
padding: 0 4px;
}
}
.right-color{
margin-right: 24px;
}
.color1{
color: #0081FF;
}
.color2{
color: #0CBC6D;
}
.color3{
color: #F7965B;
}
.color4{
color: #FF3C3C;
}
.color5{
color: #FF3C3C;
}
}
}
.item:last-child{
border-bottom:0;
}
}
}
}
</style>
<template>
<div class="supplier">
<div class="search-supplier">
<!--<div class="title_wrap">-->
<!--<div class="enterprise_title">-->
<!--解除限用禁用名单-->
<!--</div>-->
<!--</div>-->
<div class="content-supplier">
<el-form :model="formdata" label-width="100px" label-position="right" :inline="true" >
<el-row>
<el-form-item label="解除限用时间">
<el-date-picker
v-model="formdata.time"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="年/月/日"
end-placeholder="年/月/日">
</el-date-picker>
</el-form-item>
<el-form-item label="申请单位">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
</el-row>
<el-form-item label=" ">
<el-button type="primary" size="small">查询</el-button>
<el-button size="small">重置</el-button>
</el-form-item>
</el-form>
</div>
</div>
<div class="table-supplier">
<div class="total-title">
<div class="totals">{{total}}</div>
</div>
<skeleton v-if="isSkeleton"></skeleton>
<div class="table-item-jf table-item" v-if="!isSkeleton&&tableData.length>0">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}"
v-sticky-header.always="{offsetTop : '-16px',offsetBottom : '10px'}" class="table-item1 fixed-table" border highlight-current-row
:header-row-class-name="setHeaderRow" :cell-class-name="setCellClass" :row-class-name="setRowClass" :header-cell-class-name="setCellClass"
ref="theOwnerListTable">
<el-table-column type="index" label="序号" :fixed="tableColumnFixed" width="60" :resizable="false">
<template slot-scope="scope">
<span>{{(pageNum - 1) *pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="单据编号" :fixed="tableColumnFixed" width="120" :resizable="false">
</el-table-column>
<el-table-column label="分供方名称" :fixed="tableColumnFixed" width="380" :resizable="false">
<template slot-scope="scope">
<div class="renling">
<div style="display:flex;align-items:center">
<router-link :to="`/enterprise/${encodeStr(scope.row.id)}`" tag="a"
class="wordprimary" v-html="scope.row.name"></router-link>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="社会统一信用代码" min-width="150">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="接触限用理由" min-width="280" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="申请单位" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="原限用/禁用" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="限用日期" min-width="150" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="解除限用/禁用日期" min-width="150" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination clearfix" v-show="total>0">
<el-pagination background :page-size="pageSize" :current-page.sync="pageNum" @current-change="handleCurrentChange" layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
</div>
</div>
</template>
<script>
import { encodeStr } from "@/assets/js/common.js";
import "@/assets/styles/public.scss";
import "@/assets/styles/supplierlist.scss";
import skeleton from '@/views/project/projectList/component/skeleton';
export default {
name: 'Unlist',
components:{skeleton},
data(){
return{
encodeStr,
formdata:{},
options: [
{
value: 'zhinan',
label: '指南',
children: [{
value: 'shejiyuanze',
label: '设计原则',
children: [{
value: 'yizhi',
label: '一致'
}, {
value: 'fankui',
label: '反馈'
}, {
value: 'xiaolv',
label: '效率'
}, {
value: 'kekong',
label: '可控'
}]
}, {
value: 'daohang',
label: '导航',
children: [{
value: 'cexiangdaohang',
label: '侧向导航'
}, {
value: 'dingbudaohang',
label: '顶部导航'
}]
}]
}, {
value: 'zujian',
label: '组件',
children: [{
value: 'basic',
label: 'Basic',
children: [{
value: 'layout',
label: 'Layout 布局'
}, {
value: 'color',
label: 'Color 色彩'
}, {
value: 'typography',
label: 'Typography 字体'
}, {
value: 'icon',
label: 'Icon 图标'
}, {
value: 'button',
label: 'Button 按钮'
}]
}, {
value: 'form',
label: 'Form',
children: [{
value: 'radio',
label: 'Radio 单选框'
}, {
value: 'checkbox',
label: 'Checkbox 多选框'
}, {
value: 'input',
label: 'Input 输入框'
}, {
value: 'input-number',
label: 'InputNumber 计数器'
}, {
value: 'select',
label: 'Select 选择器'
}, {
value: 'cascader',
label: 'Cascader 级联选择器'
}, {
value: 'switch',
label: 'Switch 开关'
}, {
value: 'slider',
label: 'Slider 滑块'
}, {
value: 'time-picker',
label: 'TimePicker 时间选择器'
}, {
value: 'date-picker',
label: 'DatePicker 日期选择器'
}, {
value: 'datetime-picker',
label: 'DateTimePicker 日期时间选择器'
}, {
value: 'upload',
label: 'Upload 上传'
}, {
value: 'rate',
label: 'Rate 评分'
}, {
value: 'form',
label: 'Form 表单'
}]
}, {
value: 'data',
label: 'Data',
children: [{
value: 'table',
label: 'Table 表格'
}, {
value: 'tag',
label: 'Tag 标签'
}, {
value: 'progress',
label: 'Progress 进度条'
}, {
value: 'tree',
label: 'Tree 树形控件'
}, {
value: 'pagination',
label: 'Pagination 分页'
}, {
value: 'badge',
label: 'Badge 标记'
}]
}, {
value: 'notice',
label: 'Notice',
children: [{
value: 'alert',
label: 'Alert 警告'
}, {
value: 'loading',
label: 'Loading 加载'
}, {
value: 'message',
label: 'Message 消息提示'
}, {
value: 'message-box',
label: 'MessageBox 弹框'
}, {
value: 'notification',
label: 'Notification 通知'
}]
}, {
value: 'navigation',
label: 'Navigation',
children: [{
value: 'menu',
label: 'NavMenu 导航菜单'
}, {
value: 'tabs',
label: 'Tabs 标签页'
}, {
value: 'breadcrumb',
label: 'Breadcrumb 面包屑'
}, {
value: 'dropdown',
label: 'Dropdown 下拉菜单'
}, {
value: 'steps',
label: 'Steps 步骤条'
}]
}, {
value: 'others',
label: 'Others',
children: [{
value: 'dialog',
label: 'Dialog 对话框'
}, {
value: 'tooltip',
label: 'Tooltip 文字提示'
}, {
value: 'popover',
label: 'Popover 弹出框'
}, {
value: 'card',
label: 'Card 卡片'
}, {
value: 'carousel',
label: 'Carousel 走马灯'
}, {
value: 'collapse',
label: 'Collapse 折叠面板'
}]
}]
}, {
value: 'ziyuan',
label: '资源',
children: [{
value: 'axure',
label: 'Axure Components'
}, {
value: 'sketch',
label: 'Sketch Templates'
}, {
value: 'jiaohu',
label: '组件交互文档'
}]
}
],
tableData:[
{name:'测试',legalPerson:'AAAA'}
],
isSkeleton:false,
total:100,
pageSize:50,
pageNum:1,
// table列是否悬浮
tableColumnFixed: true,
fbsvisib:false,
fbsisSkeleton:false,
}
},
created() {
},
methods:{
handleCurrentChange(){
},
setHeaderRow() {
return "owner-table-list-header";
},
setCellClass({ row, column, rowIndex, columnIndex }) {
if (columnIndex == 1) {
return "enterprise-name-column";
}
},
setRowClass({ row, rowIndex }) {
return "enterprise-name-row";
},
//点击分包商等级
getFBS(row){
this.fbsvisib = true
this.fbsisSkeleton = true
},
//点击准入
goAccess(row){
this.$tab.openPage('测试一下-准入情况', '/supplier/supplierlist/access')
},
//点击考评
goAssessment(row){
this.$tab.openPage('测试一下-供应商考评', '/supplier/supplierlist/assessment')
},
}
}
</script>
<style scoped>
</style>
<template>
<div class="supplier">
<div class="search-supplier">
<!--<div class="title_wrap">-->
<!--<div class="enterprise_title">-->
<!--涉诉限用禁用名单-->
<!--</div>-->
<!--</div>-->
<div class="content-supplier">
<el-form :model="formdata" label-width="155px" label-position="right" :inline="true" >
<el-row>
<el-form-item label="供应商名称">
<el-input v-model="formdata.user" placeholder="请输入供应商名称"></el-input>
</el-form-item>
<el-form-item label="是否为局名义被诉案件">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="是" value="shanghai"></el-option>
</el-select>
</el-form-item>
<el-form-item label="限用/禁用时间">
<el-date-picker
v-model="formdata.time"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="年/月/日"
end-placeholder="年/月/日">
</el-date-picker>
</el-form-item>
</el-row>
<el-form-item label=" ">
<el-button type="primary" size="small">查询</el-button>
<el-button size="small">重置</el-button>
</el-form-item>
</el-form>
</div>
</div>
<div class="table-supplier">
<div class="total-title">
<div class="totals">{{total}}</div>
</div>
<skeleton v-if="isSkeleton"></skeleton>
<div class="table-item-jf table-item" v-if="!isSkeleton&&tableData.length>0">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}"
v-sticky-header.always="{offsetTop : '-16px',offsetBottom : '10px'}" class="table-item1 fixed-table" border highlight-current-row
:header-row-class-name="setHeaderRow" :cell-class-name="setCellClass" :row-class-name="setRowClass" :header-cell-class-name="setCellClass"
ref="theOwnerListTable">
<el-table-column type="index" label="序号" :fixed="tableColumnFixed" width="60" :resizable="false">
<template slot-scope="scope">
<span>{{(pageNum - 1) *pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="单据编号" :fixed="tableColumnFixed" width="120" :resizable="false">
</el-table-column>
<el-table-column label="分供方名称" :fixed="tableColumnFixed" width="380" :resizable="false">
<template slot-scope="scope">
<div class="renling">
<div style="display:flex;align-items:center">
<router-link :to="`/enterprise/${encodeStr(scope.row.id)}`" tag="a"
class="wordprimary" v-html="scope.row.name"></router-link>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="社会统一信用代码" min-width="150">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="限用情形" min-width="280" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="禁用情景" min-width="280" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="限用推送单位" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="限用/禁用" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="限用/禁用开始日期" min-width="180" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination clearfix" v-show="total>0">
<el-pagination background :page-size="pageSize" :current-page.sync="pageNum" @current-change="handleCurrentChange" layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
</div>
</div>
</template>
<script>
import { encodeStr } from "@/assets/js/common.js";
import "@/assets/styles/public.scss";
import "@/assets/styles/supplierlist.scss";
import skeleton from '@/views/project/projectList/component/skeleton';
export default {
name: 'disableList',
components:{skeleton},
data(){
return{
encodeStr,
formdata:{},
options: [
{
value: 'zhinan',
label: '指南',
children: [{
value: 'shejiyuanze',
label: '设计原则',
children: [{
value: 'yizhi',
label: '一致'
}, {
value: 'fankui',
label: '反馈'
}, {
value: 'xiaolv',
label: '效率'
}, {
value: 'kekong',
label: '可控'
}]
}, {
value: 'daohang',
label: '导航',
children: [{
value: 'cexiangdaohang',
label: '侧向导航'
}, {
value: 'dingbudaohang',
label: '顶部导航'
}]
}]
}, {
value: 'zujian',
label: '组件',
children: [{
value: 'basic',
label: 'Basic',
children: [{
value: 'layout',
label: 'Layout 布局'
}, {
value: 'color',
label: 'Color 色彩'
}, {
value: 'typography',
label: 'Typography 字体'
}, {
value: 'icon',
label: 'Icon 图标'
}, {
value: 'button',
label: 'Button 按钮'
}]
}, {
value: 'form',
label: 'Form',
children: [{
value: 'radio',
label: 'Radio 单选框'
}, {
value: 'checkbox',
label: 'Checkbox 多选框'
}, {
value: 'input',
label: 'Input 输入框'
}, {
value: 'input-number',
label: 'InputNumber 计数器'
}, {
value: 'select',
label: 'Select 选择器'
}, {
value: 'cascader',
label: 'Cascader 级联选择器'
}, {
value: 'switch',
label: 'Switch 开关'
}, {
value: 'slider',
label: 'Slider 滑块'
}, {
value: 'time-picker',
label: 'TimePicker 时间选择器'
}, {
value: 'date-picker',
label: 'DatePicker 日期选择器'
}, {
value: 'datetime-picker',
label: 'DateTimePicker 日期时间选择器'
}, {
value: 'upload',
label: 'Upload 上传'
}, {
value: 'rate',
label: 'Rate 评分'
}, {
value: 'form',
label: 'Form 表单'
}]
}, {
value: 'data',
label: 'Data',
children: [{
value: 'table',
label: 'Table 表格'
}, {
value: 'tag',
label: 'Tag 标签'
}, {
value: 'progress',
label: 'Progress 进度条'
}, {
value: 'tree',
label: 'Tree 树形控件'
}, {
value: 'pagination',
label: 'Pagination 分页'
}, {
value: 'badge',
label: 'Badge 标记'
}]
}, {
value: 'notice',
label: 'Notice',
children: [{
value: 'alert',
label: 'Alert 警告'
}, {
value: 'loading',
label: 'Loading 加载'
}, {
value: 'message',
label: 'Message 消息提示'
}, {
value: 'message-box',
label: 'MessageBox 弹框'
}, {
value: 'notification',
label: 'Notification 通知'
}]
}, {
value: 'navigation',
label: 'Navigation',
children: [{
value: 'menu',
label: 'NavMenu 导航菜单'
}, {
value: 'tabs',
label: 'Tabs 标签页'
}, {
value: 'breadcrumb',
label: 'Breadcrumb 面包屑'
}, {
value: 'dropdown',
label: 'Dropdown 下拉菜单'
}, {
value: 'steps',
label: 'Steps 步骤条'
}]
}, {
value: 'others',
label: 'Others',
children: [{
value: 'dialog',
label: 'Dialog 对话框'
}, {
value: 'tooltip',
label: 'Tooltip 文字提示'
}, {
value: 'popover',
label: 'Popover 弹出框'
}, {
value: 'card',
label: 'Card 卡片'
}, {
value: 'carousel',
label: 'Carousel 走马灯'
}, {
value: 'collapse',
label: 'Collapse 折叠面板'
}]
}]
}, {
value: 'ziyuan',
label: '资源',
children: [{
value: 'axure',
label: 'Axure Components'
}, {
value: 'sketch',
label: 'Sketch Templates'
}, {
value: 'jiaohu',
label: '组件交互文档'
}]
}
],
tableData:[
{name:'测试',legalPerson:'AAAA'}
],
isSkeleton:false,
total:100,
pageSize:50,
pageNum:1,
// table列是否悬浮
tableColumnFixed: true,
fbsvisib:false,
fbsisSkeleton:false,
}
},
created() {
},
methods:{
handleCurrentChange(){
},
setHeaderRow() {
return "owner-table-list-header";
},
setCellClass({ row, column, rowIndex, columnIndex }) {
if (columnIndex == 1) {
return "enterprise-name-column";
}
},
setRowClass({ row, rowIndex }) {
return "enterprise-name-row";
},
//点击分包商等级
getFBS(row){
this.fbsvisib = true
this.fbsisSkeleton = true
},
//点击准入
goAccess(row){
this.$tab.openPage('测试一下-准入情况', '/supplier/supplierlist/access')
},
//点击考评
goAssessment(row){
this.$tab.openPage('测试一下-供应商考评', '/supplier/supplierlist/assessment')
},
}
}
</script>
<style scoped>
</style>
......@@ -103,7 +103,7 @@
<div class="table-item-jf table-item" style="margin-top: 16px" v-if="!fbsisSkeleton&&tableData.length>0">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}"
v-sticky-header.always="{offsetTop : '56px',offsetBottom : '10px'}" class="table-item1 fixed-table" border highlight-current-row>
v-sticky-header.always="{offsetTop : '-16px',offsetBottom : '10px'}" class="table-item1 fixed-table" border highlight-current-row>
<el-table-column label="证书类型" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
......
<template>
<!--供应商考评-->
<div class="supplier">
<div class="search-supplier">
<div class="title_wrap i">
<div class="enterprise_title">
供应商考评
</div>
</div>
</div>
<div class="table-supplier i">
<div class="table-item-jf table-item-jf1 empty-table" v-if="!tableData.length && !isSkeleton">
<img class="item-jf-img" src="@/assets/images/kong.png" alt="">
<div class="item-jf-titel">暂无相关数据</div>
<div class="item-jf-text">抱歉,暂无数据,试试更换搜索条件吧</div>
</div>
<skeleton v-if="isSkeleton"></skeleton>
<div class="table-item-jf table-item" v-if="!isSkeleton&&tableData.length>0">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}"
v-sticky-header.always="{offsetTop : '-16px',offsetBottom : '10px'}" class="table-item1 fixed-table" border highlight-current-row
:header-row-class-name="setHeaderRow" :cell-class-name="setCellClass" :row-class-name="setRowClass" :header-cell-class-name="setCellClass"
ref="theOwnerListTable">
<el-table-column type="index" label="序号" width="60" :resizable="false">
<template slot-scope="scope">
<span>{{(pageNum - 1) *pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="年度" width="120" :resizable="false">
</el-table-column>
<el-table-column label="使用公司" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="使用项目" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="项目考评" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司考评分" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="汇总分" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination clearfix" v-show="total>0">
<el-pagination background :page-size="pageSize" :current-page.sync="pageNum" @current-change="handleCurrentChange" layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
</div>
</div>
</template>
<script>
import { encodeStr } from "@/assets/js/common.js";
import "@/assets/styles/public.scss";
import "@/assets/styles/supplierlist.scss";
import skeleton from '@/views/project/projectList/component/skeleton';
export default {
name: 'assessment',
components:{skeleton},
data(){
return{
encodeStr,
tableData:[
{name:'测试',legalPerson:'AAAA'}
],
isSkeleton:false,
total:100,
pageSize:50,
pageNum:1,
}
},
methods: {
handleCurrentChange() {
},
setHeaderRow() {
return "owner-table-list-header";
},
setCellClass({ row, column, rowIndex, columnIndex }) {
if (columnIndex == 1) {
return "enterprise-name-column";
}
},
setRowClass({ row, rowIndex }) {
return "enterprise-name-row";
},
}
}
</script>
<style scoped>
</style>
<template>
<!--供应商考评-->
<div class="supplier">
<div class="search-supplier">
<div class="title_wrap i">
<div class="enterprise_title">
供应商考评
</div>
</div>
</div>
<div class="table-supplier i">
<div class="table-item-jf table-item-jf1 empty-table" v-if="!tableData.length && !isSkeleton">
<img class="item-jf-img" src="@/assets/images/kong.png" alt="">
<div class="item-jf-titel">暂无相关数据</div>
<div class="item-jf-text">抱歉,暂无数据,试试更换搜索条件吧</div>
</div>
<skeleton v-if="isSkeleton"></skeleton>
<div class="table-item-jf table-item" v-if="!isSkeleton&&tableData.length>0">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}"
v-sticky-header.always="{offsetTop : '-16px',offsetBottom : '10px'}" class="table-item1 fixed-table" border highlight-current-row
:header-row-class-name="setHeaderRow" :cell-class-name="setCellClass" :row-class-name="setRowClass" :header-cell-class-name="setCellClass"
ref="theOwnerListTable">
<el-table-column type="index" label="序号" width="60" :fixed="tableColumnFixed" :resizable="false">
<template slot-scope="scope">
<span>{{(pageNum - 1) *pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="使用项目" width="320" :fixed="tableColumnFixed" :resizable="false">
</el-table-column>
<el-table-column label="使用单位" :min-width="200" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司名称" :min-width="200" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="处置时间" :min-width="180" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="年度" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="处置前状态" :min-width="200" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="处置后状态" :min-width="200" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="处置前等级" :min-width="200" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="处置后等级" :min-width="200" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="预警原因" :min-width="200" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="不合格原因" :min-width="200" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination clearfix" v-show="total>0">
<el-pagination background :page-size="pageSize" :current-page.sync="pageNum" @current-change="handleCurrentChange" layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
</div>
</div>
</template>
<script>
import { encodeStr } from "@/assets/js/common.js";
import "@/assets/styles/public.scss";
import "@/assets/styles/supplierlist.scss";
import skeleton from '@/views/project/projectList/component/skeleton';
export default {
name: 'disposal',
components:{skeleton},
data(){
return{
encodeStr,
tableData:[
{name:'测试',legalPerson:'AAAA'}
],
isSkeleton:false,
total:100,
pageSize:50,
pageNum:1,
// table列是否悬浮
tableColumnFixed: true,
}
},
methods: {
handleCurrentChange() {
},
setHeaderRow() {
return "owner-table-list-header";
},
setCellClass({ row, column, rowIndex, columnIndex }) {
if (columnIndex == 1) {
return "enterprise-name-column";
}
},
setRowClass({ row, rowIndex }) {
return "enterprise-name-row";
},
}
}
</script>
<style scoped>
</style>
<template>
<div class="supplier">
<div class="search-supplier">
<div class="title_wrap">
<div class="enterprise_title">
劳务分包类
</div>
</div>
<div class="content-supplier">
<el-form :model="formdata" label-width="82px" label-position="right" :inline="true" >
<el-row>
<el-form-item label="供应商名称">
<el-input v-model="formdata.user" placeholder="请输入分供方名称"></el-input>
</el-form-item>
<el-form-item label="注册地区">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="注册城市">
<el-cascader
v-model="formdata.user"
:options="addressList" :collapse-tags="true"
:props="provienceprops"></el-cascader>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="供应商状态">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="资质等级">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="专业类别">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="评价等级">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="纳税人身份">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="纳税人税率">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="准入时间">
<el-date-picker
v-model="formdata.time"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="年/月/日"
end-placeholder="年/月/日">
</el-date-picker>
</el-form-item>
</el-row>
<el-divider></el-divider>
<el-form-item label=" ">
<el-button type="primary" size="small">查询</el-button>
<el-button size="small">重置</el-button>
</el-form-item>
</el-form>
</div>
</div>
<div class="table-supplier">
<div class="total-title">
<div class="totals">{{total}}</div>
</div>
<skeleton v-if="isSkeleton"></skeleton>
<div class="table-item-jf table-item" v-if="!isSkeleton&&tableData.length>0">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}"
v-sticky-header.always="{offsetTop : '-16px',offsetBottom : '10px'}" class="table-item1 fixed-table" border highlight-current-row
:header-row-class-name="setHeaderRow" :cell-class-name="setCellClass" :row-class-name="setRowClass" :header-cell-class-name="setCellClass"
ref="theOwnerListTable">
<el-table-column type="index" label="序号" :fixed="tableColumnFixed" width="60" :resizable="false">
<template slot-scope="scope">
<span>{{(pageNum - 1) *pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="供应商编号" :fixed="tableColumnFixed" width="120" :resizable="false">
</el-table-column>
<el-table-column label="供应商名称" :fixed="tableColumnFixed" width="380" :resizable="false">
<template slot-scope="scope">
<div class="renling">
<div style="display:flex;align-items:center">
<router-link :to="`/enterprise/${encodeStr(scope.row.id)}`" tag="a"
class="wordprimary" v-html="scope.row.name"></router-link>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="推荐单位" min-width="280">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司注册区域" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司注册省" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司注册城市" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="专业类别" min-width="85" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="法人代表" min-width="85" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="纳税人身份" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="纳税人税率" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="施工承包范围" min-width="200" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="资质等级" min-width="85" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="注册资本(万元)" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司联系人" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="联系人电话" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="准入时间" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司合作数量" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="合作项目数量" min-width="120" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||"--"}}</span>
</template>
</el-table-column>
<el-table-column label="分包商等级" min-width="120" :resizable="false">
<template slot-scope="scope">
<span class="wordprimary" @click="getFBS(scope.row)">{{scope.row.legalPerson||"--"}}</span>
</template>
</el-table-column>
<el-table-column label="链接" min-width="160" :resizable="false">
<template slot-scope="scope">
<span class="wordprimary tabs" @click="goAccess(scope.row)">准入</span>
<span class="wordprimary tabs" @click="goAssessment(scope.row)">考评</span>
</template>
</el-table-column>
<el-table-column label="资源平台分类" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination clearfix" v-show="total>0">
<el-pagination background :page-size="pageSize" :current-page.sync="pageNum" @current-change="handleCurrentChange" layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
</div>
<el-dialog title="等级及状态变更" :visible.sync="fbsvisib" custom-class='dialog-supplier' >
<skeleton v-if="fbsisSkeleton"></skeleton>
<div class="table-item-jf table-item" v-if="!fbsisSkeleton&&tableData.length>0">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}"
v-sticky-header.always="{offsetTop : '-16px',offsetBottom : '10px'}" class="table-item1 fixed-table" border highlight-current-row>
<el-table-column type="index" label="序号" width="60" :resizable="false">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="处置时间" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
<el-table-column label="处置前状态" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
<el-table-column label="处置后状态" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
<el-table-column label="处置前等级" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
<el-table-column label="处置后等级" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
</el-table>
</div>
</el-dialog>
</div>
</template>
<script>
import { encodeStr } from "@/assets/js/common.js";
import "@/assets/styles/public.scss";
import "@/assets/styles/supplierlist.scss";
import skeleton from '@/views/project/projectList/component/skeleton';
import api from '@/api/enterpriseData/enterpriseData.js';
import dataRegion from '@/assets/json/provinceTree'
export default {
name: 'laborSubcontracting',
components:{skeleton},
data(){
return{
encodeStr,
formdata:{},
addressList:[],
provienceprops:{
checkStrictly:true,
multiple:true,
value:'id',
},
options: [
{
value: 'zhinan',
label: '指南',
children: [{
value: 'shejiyuanze',
label: '设计原则',
children: [{
value: 'yizhi',
label: '一致'
}, {
value: 'fankui',
label: '反馈'
}, {
value: 'xiaolv',
label: '效率'
}, {
value: 'kekong',
label: '可控'
}]
}, {
value: 'daohang',
label: '导航',
children: [{
value: 'cexiangdaohang',
label: '侧向导航'
}, {
value: 'dingbudaohang',
label: '顶部导航'
}]
}]
}, {
value: 'zujian',
label: '组件',
children: [{
value: 'basic',
label: 'Basic',
children: [{
value: 'layout',
label: 'Layout 布局'
}, {
value: 'color',
label: 'Color 色彩'
}, {
value: 'typography',
label: 'Typography 字体'
}, {
value: 'icon',
label: 'Icon 图标'
}, {
value: 'button',
label: 'Button 按钮'
}]
}, {
value: 'form',
label: 'Form',
children: [{
value: 'radio',
label: 'Radio 单选框'
}, {
value: 'checkbox',
label: 'Checkbox 多选框'
}, {
value: 'input',
label: 'Input 输入框'
}, {
value: 'input-number',
label: 'InputNumber 计数器'
}, {
value: 'select',
label: 'Select 选择器'
}, {
value: 'cascader',
label: 'Cascader 级联选择器'
}, {
value: 'switch',
label: 'Switch 开关'
}, {
value: 'slider',
label: 'Slider 滑块'
}, {
value: 'time-picker',
label: 'TimePicker 时间选择器'
}, {
value: 'date-picker',
label: 'DatePicker 日期选择器'
}, {
value: 'datetime-picker',
label: 'DateTimePicker 日期时间选择器'
}, {
value: 'upload',
label: 'Upload 上传'
}, {
value: 'rate',
label: 'Rate 评分'
}, {
value: 'form',
label: 'Form 表单'
}]
}, {
value: 'data',
label: 'Data',
children: [{
value: 'table',
label: 'Table 表格'
}, {
value: 'tag',
label: 'Tag 标签'
}, {
value: 'progress',
label: 'Progress 进度条'
}, {
value: 'tree',
label: 'Tree 树形控件'
}, {
value: 'pagination',
label: 'Pagination 分页'
}, {
value: 'badge',
label: 'Badge 标记'
}]
}, {
value: 'notice',
label: 'Notice',
children: [{
value: 'alert',
label: 'Alert 警告'
}, {
value: 'loading',
label: 'Loading 加载'
}, {
value: 'message',
label: 'Message 消息提示'
}, {
value: 'message-box',
label: 'MessageBox 弹框'
}, {
value: 'notification',
label: 'Notification 通知'
}]
}, {
value: 'navigation',
label: 'Navigation',
children: [{
value: 'menu',
label: 'NavMenu 导航菜单'
}, {
value: 'tabs',
label: 'Tabs 标签页'
}, {
value: 'breadcrumb',
label: 'Breadcrumb 面包屑'
}, {
value: 'dropdown',
label: 'Dropdown 下拉菜单'
}, {
value: 'steps',
label: 'Steps 步骤条'
}]
}, {
value: 'others',
label: 'Others',
children: [{
value: 'dialog',
label: 'Dialog 对话框'
}, {
value: 'tooltip',
label: 'Tooltip 文字提示'
}, {
value: 'popover',
label: 'Popover 弹出框'
}, {
value: 'card',
label: 'Card 卡片'
}, {
value: 'carousel',
label: 'Carousel 走马灯'
}, {
value: 'collapse',
label: 'Collapse 折叠面板'
}]
}]
}, {
value: 'ziyuan',
label: '资源',
children: [{
value: 'axure',
label: 'Axure Components'
}, {
value: 'sketch',
label: 'Sketch Templates'
}, {
value: 'jiaohu',
label: '组件交互文档'
}]
}
],
tableData:[
{name:'测试',legalPerson:'AAAA'}
],
isSkeleton:false,
total:100,
pageSize:50,
pageNum:1,
// table列是否悬浮
tableColumnFixed: true,
fbsvisib:false,
fbsisSkeleton:false,
}
},
created() {
this.dataRegion()
},
methods:{
handleCurrentChange(){
},
//地区
async dataRegion() {
let addrs = JSON.parse(JSON.stringify(dataRegion))
addrs.forEach(item=>{
if (item.children) {
(item.children).forEach(i => {
if (i.children) {
delete i.children
}
})
}
})
this.addressList = addrs;
},
setHeaderRow() {
return "owner-table-list-header";
},
setCellClass({ row, column, rowIndex, columnIndex }) {
if (columnIndex == 1) {
return "enterprise-name-column";
}
},
setRowClass({ row, rowIndex }) {
return "enterprise-name-row";
},
//点击分包商等级
getFBS(row){
this.fbsvisib = true
this.fbsisSkeleton = true
},
//点击准入
goAccess(row){
this.$tab.openPage('测试一下-准入情况', '/supplier/supplierlist/access')
},
//点击考评
goAssessment(row){
this.$tab.openPage('测试一下-供应商考评', '/supplier/supplierlist/assessment')
},
}
}
</script>
<style scoped lang="scss">
</style>
<template>
<div class="supplier">
<div class="search-supplier">
<div class="title_wrap">
<div class="enterprise_title">
劳务分包队伍
</div>
</div>
<div class="content-supplier">
<el-form :model="formdata" label-width="82px" label-position="right" :inline="true" >
<el-row>
<el-form-item label="供应商名称">
<el-input v-model="formdata.user" placeholder="请输入分供方名称"></el-input>
</el-form-item>
<el-form-item label="劳务队长">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="注册地区">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="注册城市">
<el-cascader
v-model="formdata.user"
:options="addressList" :collapse-tags="true"
:props="provienceprops"></el-cascader>
</el-form-item>
<el-form-item label="供应商状态">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="资质等级">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="专业类别">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="评价等级">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="纳税人身份">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="纳税人税率">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="准入时间">
<el-date-picker
v-model="formdata.time"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="年/月/日"
end-placeholder="年/月/日">
</el-date-picker>
</el-form-item>
</el-row>
<el-divider></el-divider>
<el-form-item label=" ">
<el-button type="primary" size="small">查询</el-button>
<el-button size="small">重置</el-button>
</el-form-item>
</el-form>
</div>
</div>
<div class="table-supplier">
<div class="total-title">
<div class="totals">{{total}}</div>
</div>
<skeleton v-if="isSkeleton"></skeleton>
<div class="table-item-jf table-item" v-if="!isSkeleton&&tableData.length>0">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}"
v-sticky-header.always="{offsetTop : '-16px',offsetBottom : '10px'}" class="table-item1 fixed-table" border highlight-current-row
:header-row-class-name="setHeaderRow" :cell-class-name="setCellClass" :row-class-name="setRowClass" :header-cell-class-name="setCellClass"
ref="theOwnerListTable">
<el-table-column type="index" label="序号" :fixed="tableColumnFixed" width="60" :resizable="false">
<template slot-scope="scope">
<span>{{(pageNum - 1) *pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="二级市场编码" :fixed="tableColumnFixed" width="120" :resizable="false">
</el-table-column>
<el-table-column label="供应商编号" :fixed="tableColumnFixed" width="120" :resizable="false">
</el-table-column>
<el-table-column label="供应商名称" :fixed="tableColumnFixed" width="380" :resizable="false">
<template slot-scope="scope">
<div class="renling">
<div style="display:flex;align-items:center">
<router-link :to="`/enterprise/${encodeStr(scope.row.id)}`" tag="a"
class="wordprimary" v-html="scope.row.name"></router-link>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="营业执照号码" min-width="280">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="推荐单位" min-width="280">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司注册区域" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司注册省" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司注册城市" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="法人代表" min-width="85" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司联系人" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="联系人电话" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="注册资本(万元)" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="纳税人身份" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="纳税人税率" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="资质等级" min-width="85" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="主项资质" min-width="85" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="施工队长" min-width="85" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="联系电话" min-width="85" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="身份证号" min-width="85" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="队伍规模" min-width="85" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="专业特长" min-width="85" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="准入时间" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司合作数量" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="合作项目数量" min-width="120" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||"--"}}</span>
</template>
</el-table-column>
<el-table-column label="分包商等级" min-width="120" :resizable="false">
<template slot-scope="scope">
<span class="wordprimary" @click="getFBS(scope.row)">{{scope.row.legalPerson||"--"}}</span>
</template>
</el-table-column>
<el-table-column label="链接" min-width="160" :resizable="false">
<template slot-scope="scope">
<span class="wordprimary tabs" @click="goAccess(scope.row)">准入</span>
<span class="wordprimary tabs" @click="goAssessment(scope.row)">考评</span>
</template>
</el-table-column>
<el-table-column label="资源平台分类" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination clearfix" v-show="total>0">
<el-pagination background :page-size="pageSize" :current-page.sync="pageNum" @current-change="handleCurrentChange" layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
</div>
<el-dialog title="等级及状态变更" :visible.sync="fbsvisib" custom-class='dialog-supplier' >
<skeleton v-if="fbsisSkeleton"></skeleton>
<div class="table-item-jf table-item" v-if="!fbsisSkeleton&&tableData.length>0">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}"
v-sticky-header.always="{offsetTop : '-16px',offsetBottom : '10px'}" class="table-item1 fixed-table" border highlight-current-row>
<el-table-column type="index" label="序号" width="60" :resizable="false">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="处置时间" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
<el-table-column label="处置前状态" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
<el-table-column label="处置后状态" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
<el-table-column label="处置前等级" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
<el-table-column label="处置后等级" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
</el-table>
</div>
</el-dialog>
</div>
</template>
<script>
import { encodeStr } from "@/assets/js/common.js";
import "@/assets/styles/public.scss";
import "@/assets/styles/supplierlist.scss";
import skeleton from '@/views/project/projectList/component/skeleton';
import api from '@/api/enterpriseData/enterpriseData.js';
import dataRegion from '@/assets/json/provinceTree'
export default {
name: 'laborSubcontractingTeam',
components:{skeleton},
data(){
return{
encodeStr,
addressList:[],
provienceprops:{
checkStrictly:true,
multiple:true,
value:'id',
},
formdata:{},
options: [
{
value: 'zhinan',
label: '指南',
children: [{
value: 'shejiyuanze',
label: '设计原则',
children: [{
value: 'yizhi',
label: '一致'
}, {
value: 'fankui',
label: '反馈'
}, {
value: 'xiaolv',
label: '效率'
}, {
value: 'kekong',
label: '可控'
}]
}, {
value: 'daohang',
label: '导航',
children: [{
value: 'cexiangdaohang',
label: '侧向导航'
}, {
value: 'dingbudaohang',
label: '顶部导航'
}]
}]
}, {
value: 'zujian',
label: '组件',
children: [{
value: 'basic',
label: 'Basic',
children: [{
value: 'layout',
label: 'Layout 布局'
}, {
value: 'color',
label: 'Color 色彩'
}, {
value: 'typography',
label: 'Typography 字体'
}, {
value: 'icon',
label: 'Icon 图标'
}, {
value: 'button',
label: 'Button 按钮'
}]
}, {
value: 'form',
label: 'Form',
children: [{
value: 'radio',
label: 'Radio 单选框'
}, {
value: 'checkbox',
label: 'Checkbox 多选框'
}, {
value: 'input',
label: 'Input 输入框'
}, {
value: 'input-number',
label: 'InputNumber 计数器'
}, {
value: 'select',
label: 'Select 选择器'
}, {
value: 'cascader',
label: 'Cascader 级联选择器'
}, {
value: 'switch',
label: 'Switch 开关'
}, {
value: 'slider',
label: 'Slider 滑块'
}, {
value: 'time-picker',
label: 'TimePicker 时间选择器'
}, {
value: 'date-picker',
label: 'DatePicker 日期选择器'
}, {
value: 'datetime-picker',
label: 'DateTimePicker 日期时间选择器'
}, {
value: 'upload',
label: 'Upload 上传'
}, {
value: 'rate',
label: 'Rate 评分'
}, {
value: 'form',
label: 'Form 表单'
}]
}, {
value: 'data',
label: 'Data',
children: [{
value: 'table',
label: 'Table 表格'
}, {
value: 'tag',
label: 'Tag 标签'
}, {
value: 'progress',
label: 'Progress 进度条'
}, {
value: 'tree',
label: 'Tree 树形控件'
}, {
value: 'pagination',
label: 'Pagination 分页'
}, {
value: 'badge',
label: 'Badge 标记'
}]
}, {
value: 'notice',
label: 'Notice',
children: [{
value: 'alert',
label: 'Alert 警告'
}, {
value: 'loading',
label: 'Loading 加载'
}, {
value: 'message',
label: 'Message 消息提示'
}, {
value: 'message-box',
label: 'MessageBox 弹框'
}, {
value: 'notification',
label: 'Notification 通知'
}]
}, {
value: 'navigation',
label: 'Navigation',
children: [{
value: 'menu',
label: 'NavMenu 导航菜单'
}, {
value: 'tabs',
label: 'Tabs 标签页'
}, {
value: 'breadcrumb',
label: 'Breadcrumb 面包屑'
}, {
value: 'dropdown',
label: 'Dropdown 下拉菜单'
}, {
value: 'steps',
label: 'Steps 步骤条'
}]
}, {
value: 'others',
label: 'Others',
children: [{
value: 'dialog',
label: 'Dialog 对话框'
}, {
value: 'tooltip',
label: 'Tooltip 文字提示'
}, {
value: 'popover',
label: 'Popover 弹出框'
}, {
value: 'card',
label: 'Card 卡片'
}, {
value: 'carousel',
label: 'Carousel 走马灯'
}, {
value: 'collapse',
label: 'Collapse 折叠面板'
}]
}]
}, {
value: 'ziyuan',
label: '资源',
children: [{
value: 'axure',
label: 'Axure Components'
}, {
value: 'sketch',
label: 'Sketch Templates'
}, {
value: 'jiaohu',
label: '组件交互文档'
}]
}
],
tableData:[
{name:'测试',legalPerson:'AAAA'}
],
isSkeleton:false,
total:100,
pageSize:50,
pageNum:1,
// table列是否悬浮
tableColumnFixed: true,
fbsvisib:false,
fbsisSkeleton:false,
}
},
created() {
this.dataRegion()
},
methods:{
//地区
async dataRegion() {
let addrs = JSON.parse(JSON.stringify(dataRegion))
addrs.forEach(item=>{
if (item.children) {
(item.children).forEach(i => {
if (i.children) {
delete i.children
}
})
}
})
this.addressList = addrs;
},
handleCurrentChange(){
},
setHeaderRow() {
return "owner-table-list-header";
},
setCellClass({ row, column, rowIndex, columnIndex }) {
if (columnIndex == 1) {
return "enterprise-name-column";
}
},
setRowClass({ row, rowIndex }) {
return "enterprise-name-row";
},
//点击分包商等级
getFBS(row){
this.fbsvisib = true
this.fbsisSkeleton = true
},
//点击准入
goAccess(row){
this.$tab.openPage('测试一下-准入情况', '/supplier/supplierlist/access')
},
//点击考评
goAssessment(row){
this.$tab.openPage('测试一下-供应商考评', '/supplier/supplierlist/assessment')
},
}
}
</script>
<style scoped lang="scss">
</style>
......@@ -21,7 +21,8 @@
<el-form-item label="注册城市">
<el-cascader
v-model="formdata.user"
:options="options"></el-cascader>
:options="addressList" :collapse-tags="true"
:props="provienceprops"></el-cascader>
</el-form-item>
</el-row>
<el-row>
......@@ -88,7 +89,7 @@
<div class="table-item-jf table-item" v-if="!isSkeleton&&tableData.length>0">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}"
v-sticky-header.always="{offsetTop : '56px',offsetBottom : '10px'}" class="table-item1 fixed-table" border highlight-current-row
v-sticky-header.always="{offsetTop : '-16px',offsetBottom : '10px'}" class="table-item1 fixed-table" border highlight-current-row
:header-row-class-name="setHeaderRow" :cell-class-name="setCellClass" :row-class-name="setRowClass" :header-cell-class-name="setCellClass"
ref="theOwnerListTable">
......@@ -236,8 +237,8 @@
<el-table-column label="链接" min-width="160" :resizable="false">
<template slot-scope="scope">
<span class="wordprimary tabs" @click="goAccess(scope.row)">准入</span>
<span class="wordprimary tabs">考评</span>
<span class="wordprimary tabs">处置</span>
<span class="wordprimary tabs" @click="goAssessment(scope.row)">考评</span>
<span class="wordprimary tabs" @click="goDisposal(scope.row)">处置</span>
</template>
</el-table-column>
<el-table-column label="资源平台分类" min-width="120" :resizable="false">
......@@ -258,7 +259,7 @@
<skeleton v-if="fbsisSkeleton"></skeleton>
<div class="table-item-jf table-item" v-if="!fbsisSkeleton&&tableData.length>0">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}"
v-sticky-header.always="{offsetTop : '56px',offsetBottom : '10px'}" class="table-item1 fixed-table" border highlight-current-row>
v-sticky-header.always="{offsetTop : '-16px',offsetBottom : '10px'}" class="table-item1 fixed-table" border highlight-current-row>
<el-table-column type="index" label="序号" width="60" :resizable="false">
<template slot-scope="scope">
......@@ -302,12 +303,19 @@
import "@/assets/styles/supplierlist.scss";
import skeleton from '@/views/project/projectList/component/skeleton';
import api from '@/api/enterpriseData/enterpriseData.js';
import dataRegion from '@/assets/json/provinceTree'
export default {
name: 'ledger',
components:{skeleton},
data(){
return{
encodeStr,
addressList:[],
provienceprops:{
checkStrictly:true,
multiple:true,
value:'id',
},
formdata:{},
options: [
{
......@@ -507,10 +515,31 @@
}
],
tableData:[
{name:'测试',legalPerson:'AAAA'}
{name:'测试',legalPerson:'AAAA'},
{name:'测试',legalPerson:'AAAA'},
{name:'测试',legalPerson:'AAAA'},
{name:'测试',legalPerson:'AAAA'},
{name:'测试',legalPerson:'AAAA'},
{name:'测试',legalPerson:'AAAA'},
{name:'测试',legalPerson:'AAAA'},
{name:'测试',legalPerson:'AAAA'},
{name:'测试',legalPerson:'AAAA'},
{name:'测试',legalPerson:'AAAA'},
{name:'测试',legalPerson:'AAAA'},
{name:'测试',legalPerson:'AAAA'},
{name:'测试',legalPerson:'AAAA'},
{name:'测试',legalPerson:'AAAA'},
{name:'测试',legalPerson:'AAAA'},
{name:'测试',legalPerson:'AAAA'},
{name:'测试',legalPerson:'AAAA'},
{name:'测试',legalPerson:'AAAA'},
{name:'测试',legalPerson:'AAAA'},
{name:'测试',legalPerson:'AAAA'},
{name:'测试',legalPerson:'AAAA'},
{name:'测试',legalPerson:'AAAA'},
],
isSkeleton:false,
total:0,
total:100,
pageSize:50,
pageNum:1,
// table列是否悬浮
......@@ -520,8 +549,23 @@
}
},
created() {
this.dataRegion()
},
methods:{
//地区
async dataRegion() {
let addrs = JSON.parse(JSON.stringify(dataRegion))
addrs.forEach(item=>{
if (item.children) {
(item.children).forEach(i => {
if (i.children) {
delete i.children
}
})
}
})
this.addressList = addrs;
},
handleCurrentChange(){
},
......@@ -545,6 +589,14 @@
goAccess(row){
this.$tab.openPage('测试一下-准入情况', '/supplier/supplierlist/access')
},
//点击考评
goAssessment(row){
this.$tab.openPage('测试一下-供应商考评', '/supplier/supplierlist/assessment')
},
//点击处置
goDisposal(row){
this.$tab.openPage('测试一下-供应商处置', '/supplier/supplierlist/disposal')
},
}
}
</script>
......
<template>
<div class="supplier">
<div class="search-supplier">
<div class="title_wrap">
<div class="enterprise_title">
专业分包类
</div>
</div>
<div class="content-supplier">
<el-form :model="formdata" label-width="82px" label-position="right" :inline="true" >
<el-row>
<el-form-item label="分供方名称">
<el-input v-model="formdata.user" placeholder="请输入分供方名称"></el-input>
</el-form-item>
<el-form-item label="注册地区">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="注册城市">
<el-cascader
v-model="formdata.user"
:options="addressList" :collapse-tags="true"
:props="provienceprops"></el-cascader>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="供应商状态">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="资质等级">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="专业类别">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="评价等级">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="纳税人身份">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="纳税人税率">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="准入时间">
<el-date-picker
v-model="formdata.time"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="年/月/日"
end-placeholder="年/月/日">
</el-date-picker>
</el-form-item>
</el-row>
<el-divider></el-divider>
<el-form-item label=" ">
<el-button type="primary" size="small">查询</el-button>
<el-button size="small">重置</el-button>
</el-form-item>
</el-form>
</div>
</div>
<div class="table-supplier">
<div class="total-title">
<div class="totals">{{total}}</div>
</div>
<skeleton v-if="isSkeleton"></skeleton>
<div class="table-item-jf table-item" v-if="!isSkeleton&&tableData.length>0">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}"
v-sticky-header.always="{offsetTop : '-16px',offsetBottom : '10px'}" class="table-item1 fixed-table" border highlight-current-row
:header-row-class-name="setHeaderRow" :cell-class-name="setCellClass" :row-class-name="setRowClass" :header-cell-class-name="setCellClass"
ref="theOwnerListTable">
<el-table-column type="index" label="序号" :fixed="tableColumnFixed" width="60" :resizable="false">
<template slot-scope="scope">
<span>{{(pageNum - 1) *pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="供应商编号" :fixed="tableColumnFixed" width="120" :resizable="false">
</el-table-column>
<el-table-column label="供应商名称" :fixed="tableColumnFixed" width="380" :resizable="false">
<template slot-scope="scope">
<div class="renling">
<div style="display:flex;align-items:center">
<router-link :to="`/enterprise/${encodeStr(scope.row.id)}`" tag="a"
class="wordprimary" v-html="scope.row.name"></router-link>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="推荐单位" min-width="280">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司注册区域" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司注册省" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司注册城市" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="专业类别" min-width="85" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="法人代表" min-width="85" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="纳税人身份" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="纳税人税率" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="施工承包范围" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="资质等级" min-width="85" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="注册资本(万元)" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司联系人" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="联系人电话" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="准入时间" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司合作数量" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="合作项目数量" min-width="120" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||"--"}}</span>
</template>
</el-table-column>
<el-table-column label="分包商等级" min-width="120" :resizable="false">
<template slot-scope="scope">
<span class="wordprimary" @click="getFBS(scope.row)">{{scope.row.legalPerson||"--"}}</span>
</template>
</el-table-column>
<el-table-column label="链接" min-width="160" :resizable="false">
<template slot-scope="scope">
<span class="wordprimary tabs" @click="goAccess(scope.row)">准入</span>
<span class="wordprimary tabs" @click="goAssessment(scope.row)">考评</span>
</template>
</el-table-column>
<el-table-column label="资源平台分类" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination clearfix" v-show="total>0">
<el-pagination background :page-size="pageSize" :current-page.sync="pageNum" @current-change="handleCurrentChange" layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
</div>
<el-dialog title="等级及状态变更" :visible.sync="fbsvisib" custom-class='dialog-supplier' >
<skeleton v-if="fbsisSkeleton"></skeleton>
<div class="table-item-jf table-item" v-if="!fbsisSkeleton&&tableData.length>0">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}"
v-sticky-header.always="{offsetTop : '-16px',offsetBottom : '10px'}" class="table-item1 fixed-table" border highlight-current-row>
<el-table-column type="index" label="序号" width="60" :resizable="false">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="处置时间" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
<el-table-column label="处置前状态" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
<el-table-column label="处置后状态" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
<el-table-column label="处置前等级" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
<el-table-column label="处置后等级" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
</el-table>
</div>
</el-dialog>
</div>
</template>
<script>
import { encodeStr } from "@/assets/js/common.js";
import "@/assets/styles/public.scss";
import "@/assets/styles/supplierlist.scss";
import skeleton from '@/views/project/projectList/component/skeleton';
import api from '@/api/enterpriseData/enterpriseData.js';
import dataRegion from '@/assets/json/provinceTree'
export default {
name: 'professionalSubcontracting',
components:{skeleton},
data(){
return{
encodeStr,
addressList:[],
provienceprops:{
checkStrictly:true,
multiple:true,
value:'id',
},
formdata:{},
options: [
{
value: 'zhinan',
label: '指南',
children: [{
value: 'shejiyuanze',
label: '设计原则',
children: [{
value: 'yizhi',
label: '一致'
}, {
value: 'fankui',
label: '反馈'
}, {
value: 'xiaolv',
label: '效率'
}, {
value: 'kekong',
label: '可控'
}]
}, {
value: 'daohang',
label: '导航',
children: [{
value: 'cexiangdaohang',
label: '侧向导航'
}, {
value: 'dingbudaohang',
label: '顶部导航'
}]
}]
}, {
value: 'zujian',
label: '组件',
children: [{
value: 'basic',
label: 'Basic',
children: [{
value: 'layout',
label: 'Layout 布局'
}, {
value: 'color',
label: 'Color 色彩'
}, {
value: 'typography',
label: 'Typography 字体'
}, {
value: 'icon',
label: 'Icon 图标'
}, {
value: 'button',
label: 'Button 按钮'
}]
}, {
value: 'form',
label: 'Form',
children: [{
value: 'radio',
label: 'Radio 单选框'
}, {
value: 'checkbox',
label: 'Checkbox 多选框'
}, {
value: 'input',
label: 'Input 输入框'
}, {
value: 'input-number',
label: 'InputNumber 计数器'
}, {
value: 'select',
label: 'Select 选择器'
}, {
value: 'cascader',
label: 'Cascader 级联选择器'
}, {
value: 'switch',
label: 'Switch 开关'
}, {
value: 'slider',
label: 'Slider 滑块'
}, {
value: 'time-picker',
label: 'TimePicker 时间选择器'
}, {
value: 'date-picker',
label: 'DatePicker 日期选择器'
}, {
value: 'datetime-picker',
label: 'DateTimePicker 日期时间选择器'
}, {
value: 'upload',
label: 'Upload 上传'
}, {
value: 'rate',
label: 'Rate 评分'
}, {
value: 'form',
label: 'Form 表单'
}]
}, {
value: 'data',
label: 'Data',
children: [{
value: 'table',
label: 'Table 表格'
}, {
value: 'tag',
label: 'Tag 标签'
}, {
value: 'progress',
label: 'Progress 进度条'
}, {
value: 'tree',
label: 'Tree 树形控件'
}, {
value: 'pagination',
label: 'Pagination 分页'
}, {
value: 'badge',
label: 'Badge 标记'
}]
}, {
value: 'notice',
label: 'Notice',
children: [{
value: 'alert',
label: 'Alert 警告'
}, {
value: 'loading',
label: 'Loading 加载'
}, {
value: 'message',
label: 'Message 消息提示'
}, {
value: 'message-box',
label: 'MessageBox 弹框'
}, {
value: 'notification',
label: 'Notification 通知'
}]
}, {
value: 'navigation',
label: 'Navigation',
children: [{
value: 'menu',
label: 'NavMenu 导航菜单'
}, {
value: 'tabs',
label: 'Tabs 标签页'
}, {
value: 'breadcrumb',
label: 'Breadcrumb 面包屑'
}, {
value: 'dropdown',
label: 'Dropdown 下拉菜单'
}, {
value: 'steps',
label: 'Steps 步骤条'
}]
}, {
value: 'others',
label: 'Others',
children: [{
value: 'dialog',
label: 'Dialog 对话框'
}, {
value: 'tooltip',
label: 'Tooltip 文字提示'
}, {
value: 'popover',
label: 'Popover 弹出框'
}, {
value: 'card',
label: 'Card 卡片'
}, {
value: 'carousel',
label: 'Carousel 走马灯'
}, {
value: 'collapse',
label: 'Collapse 折叠面板'
}]
}]
}, {
value: 'ziyuan',
label: '资源',
children: [{
value: 'axure',
label: 'Axure Components'
}, {
value: 'sketch',
label: 'Sketch Templates'
}, {
value: 'jiaohu',
label: '组件交互文档'
}]
}
],
tableData:[
{name:'测试',legalPerson:'AAAA'}
],
isSkeleton:false,
total:100,
pageSize:50,
pageNum:1,
// table列是否悬浮
tableColumnFixed: true,
fbsvisib:false,
fbsisSkeleton:false,
}
},
created() {
this.dataRegion()
},
methods:{
//地区
async dataRegion() {
let addrs = JSON.parse(JSON.stringify(dataRegion))
addrs.forEach(item=>{
if (item.children) {
(item.children).forEach(i => {
if (i.children) {
delete i.children
}
})
}
})
this.addressList = addrs;
},
handleCurrentChange(){
},
setHeaderRow() {
return "owner-table-list-header";
},
setCellClass({ row, column, rowIndex, columnIndex }) {
if (columnIndex == 1) {
return "enterprise-name-column";
}
},
setRowClass({ row, rowIndex }) {
return "enterprise-name-row";
},
//点击分包商等级
getFBS(row){
this.fbsvisib = true
this.fbsisSkeleton = true
},
//点击准入
goAccess(row){
this.$tab.openPage('测试一下-准入情况', '/supplier/supplierlist/access')
},
//点击考评
goAssessment(row){
this.$tab.openPage('测试一下-供应商考评', '/supplier/supplierlist/assessment')
},
}
}
</script>
<style scoped lang="scss">
</style>
<template>
<div class="supplier">
<div class="search-supplier">
<div class="title_wrap">
<div class="enterprise_title">
租赁服务类
</div>
</div>
<div class="content-supplier">
<el-form :model="formdata" label-width="82px" label-position="right" :inline="true" >
<el-row>
<el-form-item label="供应商名称">
<el-input v-model="formdata.user" placeholder="请输入分供方名称"></el-input>
</el-form-item>
<el-form-item label="注册地区">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="注册城市">
<el-cascader
v-model="formdata.user"
:options="addressList" :collapse-tags="true"
:props="provienceprops"></el-cascader>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="供应商状态">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="资质等级">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="物资类别">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="评价等级">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="纳税人身份">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="纳税人税率">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="准入时间">
<el-date-picker
v-model="formdata.time"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="年/月/日"
end-placeholder="年/月/日">
</el-date-picker>
</el-form-item>
</el-row>
<el-divider></el-divider>
<el-form-item label=" ">
<el-button type="primary" size="small">查询</el-button>
<el-button size="small">重置</el-button>
</el-form-item>
</el-form>
</div>
</div>
<div class="table-supplier">
<div class="total-title">
<div class="totals">{{total}}</div>
</div>
<skeleton v-if="isSkeleton"></skeleton>
<div class="table-item-jf table-item" v-if="!isSkeleton&&tableData.length>0">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}"
v-sticky-header.always="{offsetTop : '-16px',offsetBottom : '10px'}" class="table-item1 fixed-table" border highlight-current-row
:header-row-class-name="setHeaderRow" :cell-class-name="setCellClass" :row-class-name="setRowClass" :header-cell-class-name="setCellClass"
ref="theOwnerListTable">
<el-table-column type="index" label="序号" :fixed="tableColumnFixed" width="60" :resizable="false">
<template slot-scope="scope">
<span>{{(pageNum - 1) *pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="供应商编号" :fixed="tableColumnFixed" width="120" :resizable="false">
</el-table-column>
<el-table-column label="供应商名称" :fixed="tableColumnFixed" width="380" :resizable="false">
<template slot-scope="scope">
<div class="renling">
<div style="display:flex;align-items:center">
<router-link :to="`/enterprise/${encodeStr(scope.row.id)}`" tag="a"
class="wordprimary" v-html="scope.row.name"></router-link>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="推荐单位" min-width="280">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司注册区域" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司注册省" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司注册城市" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="专业类别" min-width="85" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="法人代表" min-width="85" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="纳税人身份" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="纳税人税率" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="资质等级" min-width="85" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="注册资本(万元)" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司联系人" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="联系人电话" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="准入时间" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司合作数量" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="合作项目数量" min-width="120" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||"--"}}</span>
</template>
</el-table-column>
<el-table-column label="分包商等级" min-width="120" :resizable="false">
<template slot-scope="scope">
<span class="wordprimary" @click="getFBS(scope.row)">{{scope.row.legalPerson||"--"}}</span>
</template>
</el-table-column>
<el-table-column label="链接" min-width="160" :resizable="false">
<template slot-scope="scope">
<span class="wordprimary tabs" @click="goAccess(scope.row)">准入</span>
<span class="wordprimary tabs" @click="goAssessment(scope.row)">考评</span>
</template>
</el-table-column>
<el-table-column label="资源平台分类" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination clearfix" v-show="total>0">
<el-pagination background :page-size="pageSize" :current-page.sync="pageNum" @current-change="handleCurrentChange" layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
</div>
<el-dialog title="等级及状态变更" :visible.sync="fbsvisib" custom-class='dialog-supplier' >
<skeleton v-if="fbsisSkeleton"></skeleton>
<div class="table-item-jf table-item" v-if="!fbsisSkeleton&&tableData.length>0">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}"
v-sticky-header.always="{offsetTop : '-16px',offsetBottom : '10px'}" class="table-item1 fixed-table" border highlight-current-row>
<el-table-column type="index" label="序号" width="60" :resizable="false">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="处置时间" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
<el-table-column label="处置前状态" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
<el-table-column label="处置后状态" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
<el-table-column label="处置前等级" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
<el-table-column label="处置后等级" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
</el-table>
</div>
</el-dialog>
</div>
</template>
<script>
import { encodeStr } from "@/assets/js/common.js";
import "@/assets/styles/public.scss";
import "@/assets/styles/supplierlist.scss";
import skeleton from '@/views/project/projectList/component/skeleton';
import api from '@/api/enterpriseData/enterpriseData.js';
import dataRegion from '@/assets/json/provinceTree'
export default {
name: 'rentalServices',
components:{skeleton},
data(){
return{
encodeStr,
addressList:[],
provienceprops:{
checkStrictly:true,
multiple:true,
value:'id',
},
formdata:{},
options: [
{
value: 'zhinan',
label: '指南',
children: [{
value: 'shejiyuanze',
label: '设计原则',
children: [{
value: 'yizhi',
label: '一致'
}, {
value: 'fankui',
label: '反馈'
}, {
value: 'xiaolv',
label: '效率'
}, {
value: 'kekong',
label: '可控'
}]
}, {
value: 'daohang',
label: '导航',
children: [{
value: 'cexiangdaohang',
label: '侧向导航'
}, {
value: 'dingbudaohang',
label: '顶部导航'
}]
}]
}, {
value: 'zujian',
label: '组件',
children: [{
value: 'basic',
label: 'Basic',
children: [{
value: 'layout',
label: 'Layout 布局'
}, {
value: 'color',
label: 'Color 色彩'
}, {
value: 'typography',
label: 'Typography 字体'
}, {
value: 'icon',
label: 'Icon 图标'
}, {
value: 'button',
label: 'Button 按钮'
}]
}, {
value: 'form',
label: 'Form',
children: [{
value: 'radio',
label: 'Radio 单选框'
}, {
value: 'checkbox',
label: 'Checkbox 多选框'
}, {
value: 'input',
label: 'Input 输入框'
}, {
value: 'input-number',
label: 'InputNumber 计数器'
}, {
value: 'select',
label: 'Select 选择器'
}, {
value: 'cascader',
label: 'Cascader 级联选择器'
}, {
value: 'switch',
label: 'Switch 开关'
}, {
value: 'slider',
label: 'Slider 滑块'
}, {
value: 'time-picker',
label: 'TimePicker 时间选择器'
}, {
value: 'date-picker',
label: 'DatePicker 日期选择器'
}, {
value: 'datetime-picker',
label: 'DateTimePicker 日期时间选择器'
}, {
value: 'upload',
label: 'Upload 上传'
}, {
value: 'rate',
label: 'Rate 评分'
}, {
value: 'form',
label: 'Form 表单'
}]
}, {
value: 'data',
label: 'Data',
children: [{
value: 'table',
label: 'Table 表格'
}, {
value: 'tag',
label: 'Tag 标签'
}, {
value: 'progress',
label: 'Progress 进度条'
}, {
value: 'tree',
label: 'Tree 树形控件'
}, {
value: 'pagination',
label: 'Pagination 分页'
}, {
value: 'badge',
label: 'Badge 标记'
}]
}, {
value: 'notice',
label: 'Notice',
children: [{
value: 'alert',
label: 'Alert 警告'
}, {
value: 'loading',
label: 'Loading 加载'
}, {
value: 'message',
label: 'Message 消息提示'
}, {
value: 'message-box',
label: 'MessageBox 弹框'
}, {
value: 'notification',
label: 'Notification 通知'
}]
}, {
value: 'navigation',
label: 'Navigation',
children: [{
value: 'menu',
label: 'NavMenu 导航菜单'
}, {
value: 'tabs',
label: 'Tabs 标签页'
}, {
value: 'breadcrumb',
label: 'Breadcrumb 面包屑'
}, {
value: 'dropdown',
label: 'Dropdown 下拉菜单'
}, {
value: 'steps',
label: 'Steps 步骤条'
}]
}, {
value: 'others',
label: 'Others',
children: [{
value: 'dialog',
label: 'Dialog 对话框'
}, {
value: 'tooltip',
label: 'Tooltip 文字提示'
}, {
value: 'popover',
label: 'Popover 弹出框'
}, {
value: 'card',
label: 'Card 卡片'
}, {
value: 'carousel',
label: 'Carousel 走马灯'
}, {
value: 'collapse',
label: 'Collapse 折叠面板'
}]
}]
}, {
value: 'ziyuan',
label: '资源',
children: [{
value: 'axure',
label: 'Axure Components'
}, {
value: 'sketch',
label: 'Sketch Templates'
}, {
value: 'jiaohu',
label: '组件交互文档'
}]
}
],
tableData:[
{name:'测试',legalPerson:'AAAA'}
],
isSkeleton:false,
total:100,
pageSize:50,
pageNum:1,
// table列是否悬浮
tableColumnFixed: true,
fbsvisib:false,
fbsisSkeleton:false,
}
},
created() {
this.dataRegion()
},
methods:{
//地区
async dataRegion() {
let addrs = JSON.parse(JSON.stringify(dataRegion))
addrs.forEach(item=>{
if (item.children) {
(item.children).forEach(i => {
if (i.children) {
delete i.children
}
})
}
})
this.addressList = addrs;
},
handleCurrentChange(){
},
setHeaderRow() {
return "owner-table-list-header";
},
setCellClass({ row, column, rowIndex, columnIndex }) {
if (columnIndex == 1) {
return "enterprise-name-column";
}
},
setRowClass({ row, rowIndex }) {
return "enterprise-name-row";
},
//点击分包商等级
getFBS(row){
this.fbsvisib = true
this.fbsisSkeleton = true
},
//点击准入
goAccess(row){
this.$tab.openPage('测试一下-准入情况', '/supplier/supplierlist/access')
},
//点击考评
goAssessment(row){
this.$tab.openPage('测试一下-供应商考评', '/supplier/supplierlist/assessment')
},
}
}
</script>
<style scoped lang="scss">
</style>
<template>
<div class="supplier">
<div class="search-supplier">
<div class="title_wrap">
<div class="enterprise_title">
分供分包类
</div>
</div>
<div class="content-supplier">
<el-form :model="formdata" label-width="82px" label-position="right" :inline="true" >
<el-row>
<el-form-item label="供应商名称">
<el-input v-model="formdata.user" placeholder="请输入分供方名称"></el-input>
</el-form-item>
<el-form-item label="注册地区">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="注册城市">
<el-cascader
v-model="formdata.user"
:options="addressList" :collapse-tags="true"
:props="provienceprops"></el-cascader>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="供应商状态">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="资质等级">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="物资类别">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="评价等级">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="纳税人身份">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="纳税人税率">
<el-select v-model="formdata.user" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="准入时间">
<el-date-picker
v-model="formdata.time"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="年/月/日"
end-placeholder="年/月/日">
</el-date-picker>
</el-form-item>
</el-row>
<el-divider></el-divider>
<el-form-item label=" ">
<el-button type="primary" size="small">查询</el-button>
<el-button size="small">重置</el-button>
</el-form-item>
</el-form>
</div>
</div>
<div class="table-supplier">
<div class="total-title">
<div class="totals">{{total}}</div>
</div>
<skeleton v-if="isSkeleton"></skeleton>
<div class="table-item-jf table-item" v-if="!isSkeleton&&tableData.length>0">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}"
v-sticky-header.always="{offsetTop : '-16px',offsetBottom : '10px'}" class="table-item1 fixed-table" border highlight-current-row
:header-row-class-name="setHeaderRow" :cell-class-name="setCellClass" :row-class-name="setRowClass" :header-cell-class-name="setCellClass"
ref="theOwnerListTable">
<el-table-column type="index" label="序号" :fixed="tableColumnFixed" width="60" :resizable="false">
<template slot-scope="scope">
<span>{{(pageNum - 1) *pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="供应商编号" :fixed="tableColumnFixed" width="120" :resizable="false">
</el-table-column>
<el-table-column label="供应商名称" :fixed="tableColumnFixed" width="380" :resizable="false">
<template slot-scope="scope">
<div class="renling">
<div style="display:flex;align-items:center">
<router-link :to="`/enterprise/${encodeStr(scope.row.id)}`" tag="a"
class="wordprimary" v-html="scope.row.name"></router-link>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="推荐单位" min-width="280">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司注册区域" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司注册省" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司注册城市" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="供应类别" min-width="85" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="法人代表" min-width="85" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="纳税人身份" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="纳税人税率" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="资质等级" min-width="85" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="注册资本(万元)" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司联系人" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="联系人电话" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="准入时间" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司合作数量" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="合作项目数量" min-width="120" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||"--"}}</span>
</template>
</el-table-column>
<el-table-column label="分包商等级" min-width="120" :resizable="false">
<template slot-scope="scope">
<span class="wordprimary" @click="getFBS(scope.row)">{{scope.row.legalPerson||"--"}}</span>
</template>
</el-table-column>
<el-table-column label="链接" min-width="160" :resizable="false">
<template slot-scope="scope">
<span class="wordprimary tabs" @click="goAccess(scope.row)">准入</span>
<span class="wordprimary tabs" @click="goAssessment(scope.row)">考评</span>
</template>
</el-table-column>
<el-table-column label="资源平台分类" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination clearfix" v-show="total>0">
<el-pagination background :page-size="pageSize" :current-page.sync="pageNum" @current-change="handleCurrentChange" layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
</div>
<el-dialog title="等级及状态变更" :visible.sync="fbsvisib" custom-class='dialog-supplier' >
<skeleton v-if="fbsisSkeleton"></skeleton>
<div class="table-item-jf table-item" v-if="!fbsisSkeleton&&tableData.length>0">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}"
v-sticky-header.always="{offsetTop : '-16px',offsetBottom : '10px'}" class="table-item1 fixed-table" border highlight-current-row>
<el-table-column type="index" label="序号" width="60" :resizable="false">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="处置时间" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
<el-table-column label="处置前状态" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
<el-table-column label="处置后状态" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
<el-table-column label="处置前等级" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
<el-table-column label="处置后等级" :resizable="false">
<template slot-scope="scope">
<span>{{scope.row.legalPerson||'--'}}</span>
</template>
</el-table-column>
</el-table>
</div>
</el-dialog>
</div>
</template>
<script>
import { encodeStr } from "@/assets/js/common.js";
import "@/assets/styles/public.scss";
import "@/assets/styles/supplierlist.scss";
import skeleton from '@/views/project/projectList/component/skeleton';
import api from '@/api/enterpriseData/enterpriseData.js';
import dataRegion from '@/assets/json/provinceTree'
export default {
name: 'supplySubcontracting',
components:{skeleton},
data(){
return{
encodeStr,
addressList:[],
provienceprops:{
checkStrictly:true,
multiple:true,
value:'id',
},
formdata:{},
options: [
{
value: 'zhinan',
label: '指南',
children: [{
value: 'shejiyuanze',
label: '设计原则',
children: [{
value: 'yizhi',
label: '一致'
}, {
value: 'fankui',
label: '反馈'
}, {
value: 'xiaolv',
label: '效率'
}, {
value: 'kekong',
label: '可控'
}]
}, {
value: 'daohang',
label: '导航',
children: [{
value: 'cexiangdaohang',
label: '侧向导航'
}, {
value: 'dingbudaohang',
label: '顶部导航'
}]
}]
}, {
value: 'zujian',
label: '组件',
children: [{
value: 'basic',
label: 'Basic',
children: [{
value: 'layout',
label: 'Layout 布局'
}, {
value: 'color',
label: 'Color 色彩'
}, {
value: 'typography',
label: 'Typography 字体'
}, {
value: 'icon',
label: 'Icon 图标'
}, {
value: 'button',
label: 'Button 按钮'
}]
}, {
value: 'form',
label: 'Form',
children: [{
value: 'radio',
label: 'Radio 单选框'
}, {
value: 'checkbox',
label: 'Checkbox 多选框'
}, {
value: 'input',
label: 'Input 输入框'
}, {
value: 'input-number',
label: 'InputNumber 计数器'
}, {
value: 'select',
label: 'Select 选择器'
}, {
value: 'cascader',
label: 'Cascader 级联选择器'
}, {
value: 'switch',
label: 'Switch 开关'
}, {
value: 'slider',
label: 'Slider 滑块'
}, {
value: 'time-picker',
label: 'TimePicker 时间选择器'
}, {
value: 'date-picker',
label: 'DatePicker 日期选择器'
}, {
value: 'datetime-picker',
label: 'DateTimePicker 日期时间选择器'
}, {
value: 'upload',
label: 'Upload 上传'
}, {
value: 'rate',
label: 'Rate 评分'
}, {
value: 'form',
label: 'Form 表单'
}]
}, {
value: 'data',
label: 'Data',
children: [{
value: 'table',
label: 'Table 表格'
}, {
value: 'tag',
label: 'Tag 标签'
}, {
value: 'progress',
label: 'Progress 进度条'
}, {
value: 'tree',
label: 'Tree 树形控件'
}, {
value: 'pagination',
label: 'Pagination 分页'
}, {
value: 'badge',
label: 'Badge 标记'
}]
}, {
value: 'notice',
label: 'Notice',
children: [{
value: 'alert',
label: 'Alert 警告'
}, {
value: 'loading',
label: 'Loading 加载'
}, {
value: 'message',
label: 'Message 消息提示'
}, {
value: 'message-box',
label: 'MessageBox 弹框'
}, {
value: 'notification',
label: 'Notification 通知'
}]
}, {
value: 'navigation',
label: 'Navigation',
children: [{
value: 'menu',
label: 'NavMenu 导航菜单'
}, {
value: 'tabs',
label: 'Tabs 标签页'
}, {
value: 'breadcrumb',
label: 'Breadcrumb 面包屑'
}, {
value: 'dropdown',
label: 'Dropdown 下拉菜单'
}, {
value: 'steps',
label: 'Steps 步骤条'
}]
}, {
value: 'others',
label: 'Others',
children: [{
value: 'dialog',
label: 'Dialog 对话框'
}, {
value: 'tooltip',
label: 'Tooltip 文字提示'
}, {
value: 'popover',
label: 'Popover 弹出框'
}, {
value: 'card',
label: 'Card 卡片'
}, {
value: 'carousel',
label: 'Carousel 走马灯'
}, {
value: 'collapse',
label: 'Collapse 折叠面板'
}]
}]
}, {
value: 'ziyuan',
label: '资源',
children: [{
value: 'axure',
label: 'Axure Components'
}, {
value: 'sketch',
label: 'Sketch Templates'
}, {
value: 'jiaohu',
label: '组件交互文档'
}]
}
],
tableData:[
{name:'测试',legalPerson:'AAAA'}
],
isSkeleton:false,
total:100,
pageSize:50,
pageNum:1,
// table列是否悬浮
tableColumnFixed: true,
fbsvisib:false,
fbsisSkeleton:false,
}
},
created() {
this.dataRegion()
},
methods:{
//地区
async dataRegion() {
let addrs = JSON.parse(JSON.stringify(dataRegion))
addrs.forEach(item=>{
if (item.children) {
(item.children).forEach(i => {
if (i.children) {
delete i.children
}
})
}
})
this.addressList = addrs;
},
handleCurrentChange(){
},
setHeaderRow() {
return "owner-table-list-header";
},
setCellClass({ row, column, rowIndex, columnIndex }) {
if (columnIndex == 1) {
return "enterprise-name-column";
}
},
setRowClass({ row, rowIndex }) {
return "enterprise-name-row";
},
//点击分包商等级
getFBS(row){
this.fbsvisib = true
this.fbsisSkeleton = true
},
//点击准入
goAccess(row){
this.$tab.openPage('测试一下-准入情况', '/supplier/supplierlist/access')
},
//点击考评
goAssessment(row){
this.$tab.openPage('测试一下-供应商考评', '/supplier/supplierlist/assessment')
},
}
}
</script>
<style scoped lang="scss">
</style>
......@@ -2,21 +2,11 @@
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="组织名称" prop="deptName">
<el-input
v-model="queryParams.deptName"
placeholder="请输入组织名称"
clearable
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryParams.deptName" placeholder="请输入组织名称" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="组织状态" clearable>
<el-option
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
<el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item>
......@@ -27,40 +17,21 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:dept:add']"
>新增</el-button>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['system:dept:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="info"
plain
icon="el-icon-sort"
size="mini"
@click="toggleExpandAll"
>展开/折叠</el-button>
<el-button type="info" plain icon="el-icon-sort" size="mini" @click="toggleExpandAll">展开/折叠</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table
v-if="refreshTable"
v-loading="loading"
:data="deptList"
row-key="deptId"
:default-expand-all="isExpandAll"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
>
<el-table v-if="refreshTable" v-loading="loading" :data="deptList" row-key="deptId" :default-expand-all="isExpandAll"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}">
<el-table-column prop="deptName" label="组织名称" width="260"></el-table-column>
<el-table-column prop="orderNum" label="排序" width="200"></el-table-column>
<el-table-column prop="status" label="状态" width="100">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="200">
......@@ -70,28 +41,10 @@
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:dept:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-plus"
@click="handleAdd(scope.row)"
v-hasPermi="['system:dept:add']"
>新增</el-button>
<el-button
v-if="scope.row.parentId != 0"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:dept:remove']"
>删除</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:dept:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-plus" @click="handleAdd(scope.row)" v-hasPermi="['system:dept:add']">新增</el-button>
<el-button v-if="scope.row.parentId != 0" size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:dept:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
......@@ -139,11 +92,7 @@
<el-col :span="12">
<el-form-item label="组织状态">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
<el-radio v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
......@@ -154,20 +103,17 @@
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<el-dialog
title="验证信息"
:visible.sync="yanzheng"
width="30%">
<el-dialog title="验证信息" :visible.sync="yanzheng" width="30%">
<div class="phonecont">
<div class="p1"><i class="el-icon-warning"></i>手机号码验证</div>
<div>已经向<font color="orange">{{phone}}</font>发送验证码,请注意查收</div>
<div>
<el-col :span="6">
<span>请输入短信验证码</span>
</el-col>
<el-col :span="18">
<el-input v-model="yzm"></el-input>
</el-col>
<el-col :span="6">
<span>请输入短信验证码</span>
</el-col>
<el-col :span="18">
<el-input v-model="yzm"></el-input>
</el-col>
</div>
</div>
<span slot="footer" class="dialog-footer">
......@@ -181,7 +127,7 @@
<script>
import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild } from "@/api/system/dept";
import Treeselect from "@riophae/vue-treeselect";
import {captchaSms,checkSmsCode} from '@/api/login'
import { captchaSms, checkSmsCode } from '@/api/login';
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
......@@ -190,10 +136,10 @@ export default {
components: { Treeselect },
data() {
return {
yanzheng:false,
phone:'',
yzm:'',
deptId:'',
yanzheng: false,
phone: '',
yzm: '',
deptId: '',
// 遮罩层
loading: true,
// 显示搜索条件
......@@ -247,7 +193,7 @@ export default {
},
created() {
this.getList();
this.phone = this.$store.state.user.phonenumber
this.phone = this.$store.state.user.phonenumber;
},
methods: {
/** 查询组织列表 */
......@@ -334,27 +280,27 @@ export default {
});
},
/** 提交按钮 */
submitForm: function() {
submitForm: function () {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.deptId != undefined) {
updateDept(this.form).then(response => {
if(response.code == 200){
if (response.code == 200) {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
}else{
this.$modal.msgError(response.msg)
} else {
this.$modal.msgError(response.msg);
}
});
} else {
addDept(this.form).then(response => {
if(response.code == 200){
if (response.code == 200) {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
}else{
this.$modal.msgError(response.msg)
} else {
this.$modal.msgError(response.msg);
}
});
}
......@@ -363,40 +309,40 @@ export default {
},
/** 删除按钮操作 */
handleDelete(row) {
this.deptId = row.deptId
let islast = true
let txt = '是否确认删除名称为"' + row.deptName + '"的组织?'
if((row.children && row.children.length>0) || row.existUsers == true){//该组织下还有数据
islast = false
txt='是否删除该组织及该组织包含的所有人员?'
this.deptId = row.deptId;
let islast = true;
let txt = '是否确认删除名称为"' + row.deptName + '"的组织?';
if ((row.children && row.children.length > 0) || row.existUsers == true) {//该组织下还有数据
islast = false;
txt = '是否删除该组织及该组织包含的所有人员?';
}
let _this = this
let _this = this;
this.$confirm(txt, '系统提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
if(islast){
delDept(row.deptId).then(res=>{
if(res.code == 200){
if (islast) {
delDept(row.deptId).then(res => {
if (res.code == 200) {
_this.getList();
_this.$modal.msgSuccess("删除成功");
}else{
this.$message.warning('删除失败!')
} else {
this.$message.warning('删除失败!');
}
}).catch(res=>{
this.$message.warning(res.msg)
})
}else{
}).catch(res => {
this.$message.warning(res.msg);
});
} else {
//发送验证码
captchaSms().then(res=>{
if(res.code == 200){
this.yanzheng = true
this.$message.success('短信验证码已发送')
}else{
this.$message.warning('验证码发送失败')
captchaSms().then(res => {
if (res.code == 200) {
this.yanzheng = true;
this.$message.success('短信验证码已发送');
} else {
this.$message.warning('验证码发送失败');
}
})
});
}
}).catch(() => {
this.$message({
......@@ -405,55 +351,59 @@ export default {
});
});
},
cancel1(){
this.yzm = ''
this.yanzheng = false
cancel1() {
this.yzm = '';
this.yanzheng = false;
},
subyzm(){
subyzm() {
//验证验证码
let param = {
smsCode:this.yzm
}
checkSmsCode(param).then(res=>{
if(res.code == 200){
delDept(this.deptId).then(res=>{
if(res.code == 200){
this.yzm = ''
this.yanzheng = false
smsCode: this.yzm
};
checkSmsCode(param).then(res => {
if (res.code == 200) {
delDept(this.deptId).then(res => {
if (res.code == 200) {
this.yzm = '';
this.yanzheng = false;
this.$message({
type: 'success',
message: '删除成功!'
});
this.getList()
}else{
this.$message.warning('删除失败!')
this.getList();
} else {
this.$message.warning('删除失败!');
}
}).catch(res=>{
this.$message.warning(res.msg)
})
}else{
this.$message.warning(res.msg)
}).catch(res => {
this.$message.warning(res.msg);
});
} else {
this.$message.warning(res.msg);
}
}).catch(res=>{
this.$message.warning(res.msg)
})
}).catch(res => {
this.$message.warning(res.msg);
});
},
}
};
</script>
<style lang="scss" scoped>
.phonecont{
padding-bottom: 20px;
.p1{
.el-icon-warning{
color: #f8ac59;
margin-right: 5px;
}
font-size: 18px;
}
>div{
line-height: 36px;
.dept-container {
width: 100%;
height: 100%;
}
.phonecont {
padding-bottom: 20px;
.p1 {
.el-icon-warning {
color: #f8ac59;
margin-right: 5px;
}
font-size: 18px;
}
> div {
line-height: 36px;
}
}
</style>
......@@ -35,7 +35,8 @@ module.exports = {
proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
target: `http://47.104.91.229:9099/prod-api`,//测试
// target: `http://47.104.91.229:9099/prod-api`,//测试
target: `http://111.204.34.146:9099/prod-api`,//测试
// target: `https://szhapi.jiansheku.com`,//线上
// target: `http://122.9.160.122:9011`, //线上
// target: `http://192.168.0.165:9098`,//施-无线
......@@ -146,4 +147,4 @@ module.exports = {
}
);
}
};
\ No newline at end of file
};
package com.dsk.system.domain.vo;
import com.dsk.common.annotation.Excel;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 用户对象导入VO
*
* @author Lion Li
*/
@Data
@NoArgsConstructor
// @Accessors(chain = true) // 导入不允许使用 会找不到set方法
public class AptitudeVo implements Serializable {
//如需修改以下字段,需同步修改
private static final long serialVersionUID = 1L;
/**
* 序号
*/
@Excel(name = "序号")
private Integer no;
/**
* 企业名称
*/
@Excel(name = "企业名称")
private String companyName;
/**
* 资质名称
*/
@Excel(name = "资质名称")
private String certName;
/**
* 资质编号
*/
@Excel(name = "资质编号")
private String certNo;
/**
* 承包工程范围
*/
@Excel(name = "承包工程范围")
private String contractScope;
/**
* 发证日期
*/
@Excel(name = "发证日期")
private String issueDate;
/**
* 有效期
*/
@Excel(name = "有效期")
private String validityDate;
/**
* 发证机关
*/
@Excel(name = "发证机关")
private String authority;
/**
* 经营范围
*/
@Excel(name = "经营范围")
private String businessScope;
}
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