Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-operate-sys-cscec
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fulixin
dsk-operate-sys-cscec
Commits
889af0e5
Commit
889af0e5
authored
Dec 11, 2023
by
Administrator
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/V20231129-中建一局二公司' into V20231129-中建一局二公司
parents
41d2b47c
3ad08473
Changes
35
Hide whitespace changes
Inline
Side-by-side
Showing
35 changed files
with
3686 additions
and
20 deletions
+3686
-20
QueryConstants.java
.../src/main/java/com/dsk/cscec/constant/QueryConstants.java
+32
-0
DCustomerController.java
...in/java/com/dsk/cscec/controller/DCustomerController.java
+9
-0
DProjectController.java
...ain/java/com/dsk/cscec/controller/DProjectController.java
+82
-0
DCustomer.java
...biz-api/src/main/java/com/dsk/cscec/domain/DCustomer.java
+13
-0
DProject.java
...-biz-api/src/main/java/com/dsk/cscec/domain/DProject.java
+410
-0
DCustomerSearchBo.java
.../main/java/com/dsk/cscec/domain/bo/DCustomerSearchBo.java
+21
-7
DProjectMapper.java
...pi/src/main/java/com/dsk/cscec/mapper/DProjectMapper.java
+15
-0
IDCustomerService.java
...rc/main/java/com/dsk/cscec/service/IDCustomerService.java
+2
-0
IDProjectService.java
...src/main/java/com/dsk/cscec/service/IDProjectService.java
+15
-0
DCustomerServiceImpl.java
...java/com/dsk/cscec/service/impl/DCustomerServiceImpl.java
+52
-1
IDProjectServiceImpl.java
...java/com/dsk/cscec/service/impl/IDProjectServiceImpl.java
+19
-0
DCustomerMapper.xml
...z-api/src/main/resources/mapper/cscec/DCustomerMapper.xml
+49
-4
DProjectMapper.xml
...iz-api/src/main/resources/mapper/cscec/DProjectMapper.xml
+9
-0
monitor.svg
dsk-operate-ui/src/assets/icons/svg/monitor.svg
+1
-2
monitorTag.svg
dsk-operate-ui/src/assets/icons/svg/monitorTag.svg
+1
-0
monitorTags.svg
dsk-operate-ui/src/assets/icons/svg/monitorTags.svg
+1
-0
monitors.svg
dsk-operate-ui/src/assets/icons/svg/monitors.svg
+1
-0
download.png
dsk-operate-ui/src/assets/images/download.png
+0
-0
plus.png
dsk-operate-ui/src/assets/images/plus.png
+0
-0
advisoryOrgan.vue
dsk-operate-ui/src/views/bigDataSearch/advisoryOrgan.vue
+13
-0
EnterpriseMonitoring.vue
dsk-operate-ui/src/views/monitoring/EnterpriseMonitoring.vue
+361
-0
MonitorSettings.vue
dsk-operate-ui/src/views/monitoring/MonitorSettings.vue
+232
-0
MonitoringDynamics.vue
dsk-operate-ui/src/views/monitoring/MonitoringDynamics.vue
+581
-0
MonitoringReport.vue
dsk-operate-ui/src/views/monitoring/MonitoringReport.vue
+296
-0
assistant.vue
dsk-operate-ui/src/views/supplier/assistant.vue
+74
-0
AptitudeStandard.vue
...ate-ui/src/views/supplier/components/AptitudeStandard.vue
+123
-0
BatchImport.vue
dsk-operate-ui/src/views/supplier/components/BatchImport.vue
+293
-0
SearchAptitude.vue
...erate-ui/src/views/supplier/components/SearchAptitude.vue
+772
-0
SearchResult.vue
...operate-ui/src/views/supplier/components/SearchResult.vue
+65
-0
laborSubcontracting.vue
...i/src/views/supplier/supplierlist/laborSubcontracting.vue
+24
-1
laborSubcontractingTeam.vue
...c/views/supplier/supplierlist/laborSubcontractingTeam.vue
+24
-1
ledger.vue
dsk-operate-ui/src/views/supplier/supplierlist/ledger.vue
+24
-1
professionalSubcontracting.vue
...iews/supplier/supplierlist/professionalSubcontracting.vue
+24
-1
rentalServices.vue
...ate-ui/src/views/supplier/supplierlist/rentalServices.vue
+24
-1
supplySubcontracting.vue
.../src/views/supplier/supplierlist/supplySubcontracting.vue
+24
-1
No files found.
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/constant/QueryConstants.java
0 → 100644
View file @
889af0e5
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
=
""
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/controller/DCustomerController.java
View file @
889af0e5
...
...
@@ -14,6 +14,7 @@ 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.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -43,6 +44,14 @@ public class DCustomerController extends BaseController {
return
baseService
.
allSearchList
(
bo
,
query
);
}
/**
* 供应商信息
*/
@GetMapping
(
"/info/{customerKey}"
)
public
R
<
DCustomer
>
info
(
@PathVariable
String
customerKey
)
{
return
R
.
ok
(
baseService
.
info
(
customerKey
));
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/controller/DProjectController.java
0 → 100644
View file @
889af0e5
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));
//}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/DCustomer.java
View file @
889af0e5
...
...
@@ -3,6 +3,8 @@ package com.dsk.cscec.domain;
import
java.util.Date
;
import
java.io.Serializable
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
lombok.Data
;
/**
...
...
@@ -19,6 +21,7 @@ public class DCustomer implements Serializable {
/**
* 客商主键
*/
@TableId
(
value
=
"customer_key"
)
private
Long
customerKey
;
/**
* ipm供应商id
...
...
@@ -528,5 +531,15 @@ public class DCustomer implements Serializable {
* 数据更新时间
*/
private
Date
loadTime
;
/**
* 企业合作数量
*/
@TableField
(
exist
=
false
)
private
Integer
enterpriseCooperationCount
;
/**
* 项目合作数量
*/
@TableField
(
exist
=
false
)
private
Integer
projectCooperationCount
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/DProject.java
0 → 100644
View file @
889af0e5
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
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/bo/DCustomerSearchBo.java
View file @
889af0e5
...
...
@@ -2,6 +2,8 @@ package com.dsk.cscec.domain.bo;
import
lombok.Data
;
import
java.util.List
;
/**
* @Author lcl
* @Data 2023/12/8 16:07
...
...
@@ -15,30 +17,42 @@ public class DCustomerSearchBo {
/**
* 区域
*/
private
String
[]
region
;
private
List
<
String
>
region
;
/**
* 省
*/
private
String
[]
province
;
private
List
<
String
>
province
;
/**
* 市
*/
private
String
[]
city
;
private
List
<
String
>
city
;
/**
* 供应商类别
*/
private
String
[]
customerClass
;
private
List
<
String
>
customerClass
;
/**
* 供应商状态
*/
private
String
[]
customerState
;
private
List
<
String
>
customerState
;
/**
* 评价等级
*/
private
String
[]
creditLevel
;
private
List
<
String
>
creditLevel
;
/**
* 资质等级
*/
private
String
[]
credential
;
private
List
<
String
>
credential
;
/**
* 准入时间(开始)
*/
private
String
approveDateBegion
;
/**
* 准入时间(结束)
*/
private
String
approveDateEnd
;
/**
* 是否队伍 0:否 1:是
*/
private
Integer
isTeam
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/mapper/DProjectMapper.java
0 → 100644
View file @
889af0e5
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
>
{
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/IDCustomerService.java
View file @
889af0e5
...
...
@@ -16,5 +16,7 @@ public interface IDCustomerService extends IService<DCustomer> {
TableDataInfo
<
DCustomer
>
allSearchList
(
DCustomerSearchBo
bo
,
PageQuery
query
);
DCustomer
info
(
String
customerKey
);
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/IDProjectService.java
0 → 100644
View file @
889af0e5
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
>
{
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/impl/DCustomerServiceImpl.java
View file @
889af0e5
package
com
.
dsk
.
cscec
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.page.TableDataInfo
;
...
...
@@ -8,6 +10,10 @@ import com.dsk.cscec.mapper.DCustomerMapper;
import
com.dsk.cscec.domain.DCustomer
;
import
com.dsk.cscec.service.IDCustomerService
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 组织维表(DCustomer)表服务实现类
...
...
@@ -20,7 +26,52 @@ public class DCustomerServiceImpl extends ServiceImpl<DCustomerMapper, DCustomer
@Override
public
TableDataInfo
<
DCustomer
>
allSearchList
(
DCustomerSearchBo
bo
,
PageQuery
query
)
{
return
TableDataInfo
.
build
(
baseMapper
.
allSearchList
(
query
.
build
(),
bo
));
dealWithCustomerClass
(
bo
);
Page
<
DCustomer
>
page
=
baseMapper
.
allSearchList
(
query
.
build
(),
bo
);
if
(
CollectionUtils
.
isNotEmpty
(
page
.
getRecords
()))
{
for
(
DCustomer
customer
:
page
.
getRecords
())
{
}
}
return
TableDataInfo
.
build
(
page
);
}
@Override
public
DCustomer
info
(
String
customerKey
)
{
return
baseMapper
.
selectById
(
customerKey
);
}
private
void
dealWithCustomerClass
(
DCustomerSearchBo
bo
)
{
if
(!
ObjectUtils
.
isEmpty
(
bo
.
getCustomerClass
()))
{
List
<
String
>
list
=
new
ArrayList
<>();
Integer
isTeam
=
null
;
for
(
String
customerClass
:
bo
.
getCustomerClass
())
{
switch
(
customerClass
){
case
"专业分包"
:
list
.
add
(
"专业分包"
);
break
;
case
"物资设备"
:
list
.
add
(
"分供"
);
break
;
case
"施工机械"
:
list
.
add
(
"租赁"
);
break
;
case
"劳务分包"
:
if
(
isTeam
==
null
)
isTeam
=
0
;
list
.
add
(
"劳务分包"
);
break
;
case
"劳务队伍"
:
if
(
isTeam
==
null
)
isTeam
=
1
;
list
.
add
(
"劳务分包"
);
break
;
default
:
break
;
}
}
bo
.
setCustomerClass
(
list
);
bo
.
setIsTeam
(
isTeam
);
}
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/impl/IDProjectServiceImpl.java
0 → 100644
View file @
889af0e5
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
{
}
dsk-module/dsk-biz-api/src/main/resources/mapper/cscec/DCustomerMapper.xml
View file @
889af0e5
...
...
@@ -6,13 +6,58 @@
<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
customer_
key, customer_id, 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
<if
test=
"bo.region != null and bo.region != '' "
>
and register_region in
<foreach
collection=
"region"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</if>
<if
test=
"bo.province != null and bo.province != '' "
>
and register_province in
<foreach
collection=
"province"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</if>
<if
test=
"bo.city != null and bo.city != '' "
>
and register_city in
<foreach
collection=
"city"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</if>
<if
test=
"bo.customerClass != null and bo.customerClass != '' "
>
and customer_class in
<foreach
collection=
"customerClass"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</if>
<if
test=
"bo.customerState != null and bo.customerState != '' "
>
and customer_state in
<foreach
collection=
"customerState"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</if>
<if
test=
"bo.creditLevel != null and bo.creditLevel != '' "
>
and credit_level in
<foreach
collection=
"creditLevel"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</if>
<if
test=
"bo.credential != null and bo.credential != '' "
>
and credential in
<foreach
collection=
"credential"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</if>
<if
test=
"bo.approveDateBegion != null and bo.approveDateBegion != '' "
>
and approve_date2
>
= #{bo.approveDateBegion}
</if>
<if
test=
"bo.approveDateEnd != null and bo.approveDateEnd != '' "
>
and approve_date2
<
= #{bo.approveDateBegion}
</if>
<if
test=
"bo.isTeam != null"
>
and leader_name is
<if
test=
"bo.isTeam == 0"
>
not
</if>
null
</if>
order by approve_date2 desc
</select>
</mapper>
\ No newline at end of file
dsk-module/dsk-biz-api/src/main/resources/mapper/cscec/DProjectMapper.xml
0 → 100644
View file @
889af0e5
<?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
dsk-operate-ui/src/assets/icons/svg/monitor.svg
View file @
889af0e5
<?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
dsk-operate-ui/src/assets/icons/svg/monitorTag.svg
0 → 100644
View file @
889af0e5
<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
dsk-operate-ui/src/assets/icons/svg/monitorTags.svg
0 → 100644
View file @
889af0e5
<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
dsk-operate-ui/src/assets/icons/svg/monitors.svg
0 → 100644
View file @
889af0e5
<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
dsk-operate-ui/src/assets/images/download.png
0 → 100644
View file @
889af0e5
427 Bytes
dsk-operate-ui/src/assets/images/plus.png
0 → 100644
View file @
889af0e5
222 Bytes
dsk-operate-ui/src/views/bigDataSearch/advisoryOrgan.vue
0 → 100644
View file @
889af0e5
<
template
>
</
template
>
<
script
>
export
default
{
}
</
script
>
<
style
>
</
style
>
\ No newline at end of file
dsk-operate-ui/src/views/monitoring/EnterpriseMonitoring.vue
0 → 100644
View file @
889af0e5
<
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
>
dsk-operate-ui/src/views/monitoring/MonitorSettings.vue
0 → 100644
View file @
889af0e5
<
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
>
dsk-operate-ui/src/views/monitoring/MonitoringDynamics.vue
0 → 100644
View file @
889af0e5
<
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
>
dsk-operate-ui/src/views/monitoring/MonitoringReport.vue
0 → 100644
View file @
889af0e5
<
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
>
dsk-operate-ui/src/views/supplier/assistant.vue
0 → 100644
View file @
889af0e5
<
template
>
<div
class=
"app-container enterprise_contatiner"
>
<div
class=
"header"
>
<el-tabs
v-model=
"activeName"
>
<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>
<SearchAptitude
v-if=
"activeName === 'first'"
></SearchAptitude>
<AptitudeStandard
v-if=
"activeName === 'second'"
></AptitudeStandard>
<SearchResult
v-if=
"activeName === 'third'"
></SearchResult>
</div>
</
template
>
<
script
>
import
SearchAptitude
from
'./components/SearchAptitude'
import
AptitudeStandard
from
'./components/AptitudeStandard'
import
SearchResult
from
'./components/SearchResult'
export
default
{
name
:
'Assistant'
,
components
:
{
SearchAptitude
,
AptitudeStandard
,
SearchResult
},
data
()
{
return
{
activeName
:
'first'
}
},
}
</
script
>
<
style
lang=
"scss"
scoped
>
.header
{
justify-content
:
space-between
;
height
:
48px
;
background
:
#FFFFFF
;
border-radius
:
4px
4px
0
0
;
border-bottom
:
1px
solid
#EEEEEE
;
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
;
}
}
}
</
style
>
\ No newline at end of file
dsk-operate-ui/src/views/supplier/components/AptitudeStandard.vue
0 → 100644
View file @
889af0e5
<
template
>
<div>
<div
class=
"apt_stan_header"
>
<span
v-for=
"(item,index) in list"
class=
"apt_stan_header_span"
:class=
"activeIndex==index?'active_span':''"
:key=
"index"
@
click=
"activeIndex=index"
>
{{
item
}}
</span>
</div>
<div
class=
"apt_stan_content"
>
<div
class=
"apt_stan_content_header"
>
<el-select
v-model=
"value"
placeholder=
"请选择"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</div>
<div
style=
"padding:16px;"
>
<el-table
:data=
"tableData"
:header-cell-style=
"
{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}" v-horizontal-scroll="'hover'"
class="table-item1 fixed-table" border highlight-current-row>
<el-table-column
label=
"资质名称"
fixed
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
province
}}
</
template
>
</el-table-column>
<el-table-column
label=
"等级"
width=
"274"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
biddingCount
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"经营范围"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
landInfoCount
||
"--"
}}
</
template
>
</el-table-column>
</el-table>
<div
class=
"apt_stan_content_text_box"
>
·建筑工程是指各类结构形式的民用建筑工程、工业建筑工程、构筑物工程以及相配套的道路、通信、管网管线等设施工程。工程内容包括地基与基础、主体结构、建筑屋面、装修装饰、建筑幕墙、附建人防工程以及给水排水及供暖、通风与空调、电气、消防、智能化、防雷等配套工程;
</div>
</div>
</div>
</div>
</template>
<
script
>
export
default
{
data
(){
return
{
tableData
:[],
activeIndex
:
0
,
list
:[
'建筑业企业资质'
,
'工程监理'
,
'工程设计'
,
'工程勘察'
,
'工程造价咨询'
],
options
:
[
{
value
:
'选项1'
,
label
:
'黄金糕'
},
{
value
:
'选项2'
,
label
:
'双皮奶'
},
{
value
:
'选项3'
,
label
:
'蚵仔煎'
},
{
value
:
'选项4'
,
label
:
'龙须面'
},
{
value
:
'选项5'
,
label
:
'北京烤鸭'
}
],
value
:
''
}
},
}
</
script
>
<
style
lang=
"scss"
scoped
>
.apt_stan_header
{
border-radius
:
0px
0px
4px
4px
;
display
:
flex
;
padding
:
16px
;
background
:
#FFFFFF
;
.apt_stan_header_span
{
cursor
:
pointer
;
font-size
:
14px
;
color
:
#3D3D3D
;
height
:
32px
;
border-radius
:
4px
;
padding
:
5px
12px
;
margin-right
:
12px
;
display
:
inline-block
;
background
:
#F3F4F5
;
}
.active_span
{
background
:
#F6F9FC
;
color
:
#0081FF
;
}
}
.apt_stan_content
{
margin-top
:
16px
;
background
:
#FFFFFF
;
border-radius
:
4px
4px
0px
0px
;
.apt_stan_content_header
{
padding
:
16px
;
border-width
:
0px
0px
1px
0px
;
border-style
:
solid
;
border-color
:
#EEEEEE
;
}
::v-deep
.el-input__inner
{
border
:
none
;
}
.apt_stan_content_text_box
{
border-radius
:
0px
0px
4px
4px
;
padding
:
16px
;
background
:
#FFFFFF
;
border
:
1px
solid
#E6EAF1
;
color
:
#3D3D3D
;
font-size
:
12px
;
margin-top
:
16px
;
}
}
</
style
>
\ No newline at end of file
dsk-operate-ui/src/views/supplier/components/BatchImport.vue
0 → 100644
View file @
889af0e5
<
template
>
<el-dialog
title=
"批量查资质"
custom-class=
"batch_import_dialog"
:visible
.
sync=
"visible"
>
<div
class=
"upload"
v-if=
"addfile==false"
>
<div
class=
"up_title"
>
导入Excel文件,高效查询或导出企业信息;查询成功后可使用筛选项二次筛选
</div>
<div>
<div
class=
"step_box"
v-for=
"(item,index) in list"
:key=
"index"
>
<span
class=
"step"
>
{{
index
+
1
}}
</span><span
class=
"step_text"
>
{{
item
}}
</span><span
class=
"step_line"
v-if=
"index!=3"
></span>
</div>
</div>
<div
class=
"up_box"
>
<el-upload
class=
"batch_import_upload"
:action=
"action"
:multiple=
"false"
accept=
".xls,.xlsx"
drag
ref=
"upload"
:auto-upload=
"false"
:file-list=
"fileList"
:on-change=
"handleFileListChange"
:headers=
"headers"
:on-success=
"onSuccess"
>
<img
class=
"up_img"
src=
"@/assets/images/plus.png"
>
<div
class=
"up_text"
>
点击选择文件或将文件拖拽至此导入企业名录
</div>
<div
class=
"up_tip"
>
· 导入的文件内容必须依照下载模板的要求填写);
</div>
<div
class=
"up_tip"
>
· 上传文件最大为2M,仅支持Excel表格文件(xls,xlsx);
</div>
<div
class=
"up_tip"
>
· 单次查询企业数量限时免费 5000 家。
</div>
</el-upload>
</div>
<div
class=
"bd"
></div>
<div
class=
"btns1 clearfix"
>
<div
class=
"btn btn_default dowload"
@
click=
"downloadClick"
><img
src=
"@/assets/images/download.png"
alt=
""
>
下载模板
</div>
<div
class=
"btn btn_primary btn_disabled fr"
v-if=
"isUpload==false"
>
查询
</div>
<div
class=
"btn btn_primary fr"
@
click=
"importConfirmClick"
v-else
>
查询
</div>
<div
class=
"btn btn_default fr"
@
click=
"importCancel"
>
取消
</div>
</div>
</div>
<div
class=
"success"
v-if=
"addfile==true"
>
<div
v-if=
"addsuccess==false"
>
<img
class=
"img"
src=
"@/assets/images/project/clock.png"
>
<div
class=
"p1"
>
查询客户中...
</div>
<div
class=
"p2"
>
请耐心等待,过程大概30秒
</div>
</div>
<div
v-if=
"addsuccess == true"
>
<div
class=
"p3"
>
<img
src=
"@/assets/images/project/success.png"
>
查询成功
</div>
<div
class=
"p2"
>
{{
messages
}}
</div>
<div
class=
"btns"
>
<div
class=
"btn btn_primary h32"
@
click=
"getmsg"
>
查看
</div>
</div>
</div>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
getToken
}
from
"@/utils/auth"
;
import
"@/assets/styles/project.scss"
import
{
importData
}
from
'@/api/custom/custom'
export
default
{
name
:
'batchImport'
,
props
:{
importtype
:
''
},
data
(){
return
{
list
:[
'下载模版'
,
'按要求在模板内填写企业全称名录'
,
'上传文件'
,
'查询结果'
],
visible
:
false
,
isUpload
:
false
,
//有上传的文件
addfile
:
false
,
//已上传文件
addsuccess
:
false
,
//已成功加入数据
//批量导入
action
:
""
,
fileList
:
[],
headers
:
{
Authorization
:
"Bearer "
+
getToken
(),
},
downloadhref
:
''
,
//样例地址
successCount
:
0
,
//成功条数
messages
:
''
,
}
},
created
(){
if
(
this
.
importtype
==
'project'
){
//项目管理
this
.
downloadhref
=
'/file/projectTemplate.xlsx'
this
.
action
=
process
.
env
.
VUE_APP_BASE_API
+
'/business/info/upload'
}
if
(
this
.
importtype
==
'custom'
){
//客户管理
this
.
downloadhref
=
'/file/Template.xlsx'
this
.
action
=
process
.
env
.
VUE_APP_BASE_API
+
"/customer/importData"
}
},
methods
:{
getmsg
(){
this
.
importCancel
()
this
.
$emit
(
'getdatas'
)
},
handleFileListChange
(
file
,
fileList
)
{
var
testmsg
=
file
.
name
.
substring
(
file
.
name
.
lastIndexOf
(
"."
)
+
1
);
const
extension
=
testmsg
===
"xlsx"
;
const
extension1
=
testmsg
===
"xls"
;
if
(
!
extension
&&
!
extension1
)
{
this
.
$message
({
message
:
"上传文件只能是.xls,.xlsx格式!"
,
type
:
"warning"
,
});
return
false
;
}
const
isLt2M
=
file
.
size
/
1024
/
1024
<
2
if
(
!
isLt2M
)
{
this
.
$refs
.
upload
.
clearFiles
()
this
.
$message
({
message
:
'上传文件大小不能超过 2MB!'
,
type
:
'warning'
})
return
false
}
if
(
fileList
.
length
>
0
)
{
this
.
fileList
=
[
fileList
[
fileList
.
length
-
1
]];
this
.
isUpload
=
true
}
},
onSuccess
(
res
,
file
,
fileList
)
{
if
(
res
.
code
==
200
)
{
this
.
successCount
=
res
.
successCount
if
(
this
.
importtype
==
'project'
){
//项目管理
this
.
messages
=
res
.
msg
}
if
(
this
.
importtype
==
'custom'
){
//客户管理
let
num
=
res
.
data
?
res
.
data
.
length
:
0
let
str
=
'成功导入客户条数'
+
res
.
successCount
+
',客户去重条数'
+
num
this
.
messages
=
str
}
this
.
addsuccess
=
true
}
else
{
this
.
importCancel
()
this
.
$message
.
error
({
message
:
res
.
msg
,
showClose
:
true
})
}
},
downloadClick
()
{
let
a
=
document
.
createElement
(
"a"
);
a
.
setAttribute
(
"href"
,
this
.
downloadhref
);
a
.
setAttribute
(
"download"
,
"批量导入模版.xlsx"
);
document
.
body
.
appendChild
(
a
);
a
.
click
();
a
.
remove
();
},
// 批量导入
importConfirmClick
()
{
if
(
this
.
fileList
.
length
>
0
)
{
this
.
$refs
[
"upload"
].
submit
();
this
.
addfile
=
true
}
else
{
this
.
$message
(
"请先选择文件"
);
}
},
importCancel
(){
this
.
addfile
=
false
this
.
isUpload
=
false
this
.
addsuccess
=
false
this
.
fileList
=
[]
this
.
$emit
(
'cancels'
)
},
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
::v-deep
.batch_import_dialog
{
width
:
656px
;
border-radius
:
4px
;
.el-dialog__header
{
font-size
:
16px
;
color
:
#232323
;
font-weight
:
700
;
}
.el-dialog__body
{
border-top
:
1px
solid
#E5E6EB
;
}
.up_title
{
font-size
:
12px
;
color
:
#666666
;
position
:
absolute
;
top
:
23px
;
left
:
116px
;
}
.upload
{
.step_box
{
display
:
inline-block
;
font-size
:
12px
;
color
:
#3D3D3D
;
.step
{
display
:
inline-block
;
width
:
12px
;
height
:
12px
;
background
:
#0081FF
;
color
:
#ffffff
;
margin-right
:
4px
;
text-align
:
center
;
border-radius
:
50%
;
}
.step_line
{
width
:
27px
;
height
:
1px
;
display
:
inline-block
;
background
:
#D8D8D8
;
position
:
relative
;
top
:
-4px
;
margin
:
0
12px
;
}
}
.up_box
{
margin-top
:
20px
;
.batch_import_upload
{
.el-upload-dragger
{
width
:
616px
;
height
:
224px
;
background
:
#F2F3F5
;
border-radius
:
2px
2px
2px
2px
;
border
:
1px
solid
#E5E6EB
;
.up_img
{
width
:
14px
;
height
:
14px
;
margin-top
:
50px
;
margin-bottom
:
24px
;
}
.up_text
{
font-size
:
14px
;
color
:
#232323
;
margin-bottom
:
4px
;
}
.up_tip
{
color
:
#999999
;
font-size
:
12px
;
height
:
20px
;
line-height
:
20px
;
}
}
}
.el-upload-list__item
{
height
:
36px
;
line-height
:
36px
;
background
:
#F7F8FA
;
border-radius
:
2px
2px
2px
2px
;
a
{
color
:
#1D2129
;
}
.el-icon-close
{
top
:
10px
;
}
}
}
.bd
{
width
:
656px
;
margin-left
:
-20px
;
height
:
1px
;
background
:
#E5E6EB
;
margin-top
:
17px
;
}
.btns1
{
.btn
{
border-radius
:
2px
;
padding
:
0
16px
;
width
:
auto
;
height
:
32px
;
line-height
:
32px
;
margin-top
:
16px
;
}
.btn_default
{
border-color
:
#DCDFE6
;
color
:
#232323
;
margin-left
:
0
;
}
.fr
{
float
:right
;
}
.dowload
{
img
{
width
:
16px
;
height
:
16px
;
}
}
.btn_disabled
{
background
:
#94BFFF
;
color
:
#ffffff
;
}
}
}
}
</
style
>
dsk-operate-ui/src/views/supplier/components/SearchAptitude.vue
0 → 100644
View file @
889af0e5
<
template
>
<div>
<div
class=
"content"
>
<div
class=
"content_item content_item_padding0"
>
<div
class=
"label"
>
企业名称
</div>
<div
class=
"content_right item_ckquery_list"
>
<el-input
class=
"ename_input"
clearable
placeholder=
"多个企业用空格隔开"
v-model=
"ename"
@
input=
"projectNamebtn('ename',ename,'关键字:')"
>
<div
slot=
"append"
class=
"btn-search"
@
click=
"search()"
>
搜索
</div>
</el-input>
</div>
</div>
<div
class=
"content_item"
>
<div
class=
"label label1"
>
资质条件
</div>
<div
class=
"content_right content_item_ckquery"
>
<div
class=
"item_ckquery_list"
v-for=
"(item,i) in aptitudeDtoList"
:key=
"i"
:class=
"i>0?'item_ckquery_distance':''"
>
<el-cascader
:options=
"optionss"
separator=
'丨'
clearable
:ref=
"i"
class=
"content_item_list"
v-model=
"item.codeStr"
@
change=
'optionsbtn(i)'
filterable
:props=
"
{
checkStrictly:true,
label:'name',
value:'id',
children:'list',
expandTrigger:'hover'
}" popper-class='content_item_zizi'>
</el-cascader>
<div
class=
"ckquery_list_right"
v-show=
"i==aptitudeDtoList.length-1"
style=
"position: relative;"
>
<span
class=
"item_ckquery_btn"
@
click=
"addAptitudeDtoList"
>
<i
class=
"el-icon-plus"
style=
"font-size:14px"
></i>
添加资质
</span>
</div>
</div>
</div>
</div>
<div
class=
"content_item"
style=
"margin-left:68px;"
>
<span
v-for=
" (kitme,k) in queryTypelist"
:key=
"k"
>
<el-radio
v-model=
"queryType"
:label=
"kitme.key"
>
{{
kitme
.
value
}}
</el-radio>
</span>
</div>
<div
class=
"content_item content_item1"
>
<div
class=
"search-new"
>
<span
@
click=
"search()"
>
查询
</span>
<span
style=
"color:#5B5B5B"
@
click=
"reset()"
>
重置
</span>
<span
@
click=
"$refs.batchImport.visible = true"
>
批量查询
</span>
</div>
</div>
</div>
<div
class=
"bottomlist"
>
<div
class=
"bottomlist-title"
>
<div
class=
"bottomlist-title-left"
>
<p
class=
"title-left"
>
<span
style=
"margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;"
>
·
</span>
共有
{{
total
}}
条
</p>
</div>
<div
class=
"title-right"
>
<p>
<img
src=
"@/assets/images/EXCEL.png"
alt=
""
>
<span
class=
"excel"
@
click=
"clickDialog"
>
导出EXCEL
</span>
</p>
</div>
</div>
<div
class=
"bd"
></div>
<div
class=
"table-item-jf table-item-jf1"
v-if=
"tableData.length==0&& !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>
<template
v-if=
"!isSkeleton&&tableData.length>0"
>
<div
v-for=
"(item,index) in tableData"
:key=
"index"
style=
"padding-bottom: 16px;"
>
<skeleton
style=
"margin-left:16px;"
v-if=
"isSkeleton"
></skeleton>
<div
class=
" table-item-jf table-item "
>
<div
class=
"title_box"
>
<img
src=
"@/assets/images/enterprise.png"
>
<span
class=
"name_box"
>
{{
item
.
name
}}
</span>
<span
class=
"float_r"
>
符合条件资质(
{{
item
.
total
}}
)
<span
v-if=
"item.total>5"
class=
"show_more"
@
click=
"showClick(item)"
>
查看所有 >
</span></span></span>
</div>
<el-table
:data=
"item.list"
:header-cell-style=
"
{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}" v-horizontal-scroll="'hover'"
class="table-item1 fixed-table" border highlight-current-row>
<el-table-column
label=
"证书编号"
width=
"119"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
supplierCount
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"资质名称"
width=
"273"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
biddingCount
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"承包工程范围"
width=
"415"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
landInfoCount
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"发证日期"
width=
"119"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
bratingSubjectLevel
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"有效期至"
width=
"119"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
bondBalance
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"发证机关"
width=
"204"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
bondBalance1
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"经营范围"
width=
"415"
>
<
template
slot-scope=
"scope"
>
<span
class=
"line_2"
>
{{
scope
.
row
.
bondBalance2
||
"--"
}}
</span>
</
template
>
</el-table-column>
</el-table>
</div>
</div>
<div
class=
"pagination clearfix"
v-show=
"total>0"
>
<el-pagination
background
:page-size=
"pageSize"
:current-page=
"pageNum"
@
current-change=
"handleCurrentChange"
layout=
"prev, pager, next"
:total=
"total"
>
</el-pagination>
</div>
</template>
</div>
<el-dialog
title=
"所有符合条件资质"
custom-class=
"show_more_dialog"
:visible
.
sync=
"showMore"
>
<div
class=
" table-item-jf table-item "
>
<div
class=
"title_box"
>
<img
src=
"@/assets/images/enterprise.png"
>
<span
class=
"name_box"
>
{{ dialogData.name }}
</span>
<span
class=
"float_r"
>
共有
<span
style=
"color: #0081FF;"
>
{{ dialogData.total }}
</span>
个资质
</span>
</div>
<el-table
:data=
"dialogData.list"
:header-cell-style=
"{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}"
v-horizontal-scroll=
"'hover'"
class=
"table-item1 fixed-table"
border
highlight-current-row
>
<el-table-column
label=
"证书编号"
width=
"119"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
supplierCount
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"资质名称"
width=
"273"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
biddingCount
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"承包工程范围"
width=
"415"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
landInfoCount
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"发证日期"
width=
"119"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
bratingSubjectLevel
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"有效期至"
width=
"119"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
bondBalance
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"发证机关"
width=
"204"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
bondBalance1
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"经营范围"
width=
"415"
>
<
template
slot-scope=
"scope"
>
<span
class=
"line_2"
>
{{
scope
.
row
.
bondBalance2
||
"--"
}}
</span>
</
template
>
</el-table-column>
</el-table>
</div>
<div
class=
"pagination clearfix"
v-show=
"dialogData.total>5"
>
<el-pagination
background
:current-page=
"pageNum1"
:page-size=
"pageSize"
@
current-change=
"handleCurrentChange1"
layout=
"prev, pager, next"
:total=
"total"
>
</el-pagination>
</div>
</el-dialog>
<BatchImport
ref=
"batchImport"
></BatchImport>
<ExportDialog
:data=
"exportData"
v-if=
"exportData.dialogExportVisible"
@
clickEXCEL=
"clickEXCEL"
></ExportDialog>
</div>
</template>
<
script
>
import
"@/assets/styles/public.scss"
;
import
api
from
'@/api/enterpriseData/enterpriseData.js'
;
import
skeleton
from
'@/views/project/projectList/component/skeleton'
;
import
ExportDialog
from
"@/views/component/export-dialog"
import
BatchImport
from
"./BatchImport"
export
default
{
components
:
{
skeleton
,
ExportDialog
,
BatchImport
},
data
(){
return
{
batchImport
:
false
,
ename
:
''
,
aptitudeDtoList
:
[
{
nameStr
:
''
,
codeStr
:
[],
}
],
queryTypelist
:
[
{
key
:
'or'
,
status
:
false
,
value
:
'任意均可'
},
{
key
:
'and'
,
status
:
true
,
value
:
'同时具备'
},
],
queryType
:
'and'
,
optionss
:
[],
dialogData
:{},
tableData
:
[
{
name
:
'中交第二航务工程局有限公司'
,
list
:[
{
biddingCount
:
'工程勘察岩土工程专业(岩土工程勘察)甲级'
,
landInfoCount
:
'可承担一级以下公路,单座桥长 1000 米以下、单跨跨度 150 米以下的桥梁,长度 1000 米以下的隧道工程的施工。'
,
supplierCount
:
'B233000514'
,
bratingSubjectLevel
:
'2021-12-27'
,
bondBalance
:
'2021-12-27'
,
bondBalance1
:
'浙江省住房和城乡建设厅'
,
bondBalance2
:
'经营范围包含许可项目:建设工程设计;建设工程勘察;建设工程监理;建设工程施工;测绘服务;国土空间规划编制;水利工程建设监理(依法...'
,
}
],
total
:
10
},
{
name
:
'中交第二航务工程局有限公司'
,
list
:[
{
biddingCount
:
'工程勘察岩土工程专业(岩土工程勘察)甲级'
,
landInfoCount
:
'可承担一级以下公路,单座桥长 1000 米以下、单跨跨度 150 米以下的桥梁,长度 1000 米以下的隧道工程的施工。'
,
supplierCount
:
'B233000514'
,
bratingSubjectLevel
:
'2021-12-27'
,
bondBalance
:
'2021-12-27'
,
bondBalance1
:
'浙江省住房和城乡建设厅'
,
bondBalance2
:
'经营范围包含许可项目:建设工程设计;建设工程勘察;建设工程监理;建设工程施工;测绘服务;国土空间规划编制;水利工程建设监理(依法...'
,
}
],
total
:
10
},
],
total
:
0
,
pageNum
:
1
,
pageNum1
:
1
,
pageSize
:
5
,
dataEXCEL
:{},
isSkeleton
:
false
,
exportData
:{
title
:
'查城投平台'
,
dialogExportVisible
:
false
,
forData
:
[
{
label
:
'公司名称'
,
prop
:
'companyName'
,
slot
:
true
,
minWidth
:
'140'
},
{
label
:
'区域'
,
prop
:
'province'
,
slot
:
true
,
minWidth
:
'160'
},
{
label
:
'招标数量'
,
prop
:
'biddingCount'
,
slot
:
true
,
minWidth
:
'80'
},
{
label
:
'城投拿地'
,
prop
:
'landInfoCount'
,
slot
:
true
,
minWidth
:
'80'
},
{
label
:
'供应商'
,
prop
:
'supplierCount'
,
slot
:
true
,
minWidth
:
'100'
},
{
label
:
'债券余额(亿元)'
,
prop
:
'bondBalance'
,
minWidth
:
'130'
},
{
label
:
'主体评级'
,
prop
:
'bratingSubjectLevel'
,
minWidth
:
'80'
},
{
label
:
'行政级别'
,
prop
:
'uipExecutiveLevel'
,
minWidth
:
'80'
},
{
label
:
'股东背景'
,
prop
:
'shareholderBg'
,
slot
:
true
,
minWidth
:
'100'
},
{
label
:
'股权关系'
,
prop
:
'equityRelationship'
,
slot
:
true
,
minWidth
:
'100'
},
{
label
:
'平台重要性'
,
prop
:
'platformImportance'
,
slot
:
true
,
minWidth
:
'130'
},
{
label
:
'城投业务类型'
,
prop
:
'uipBusinessType'
,
slot
:
true
,
minWidth
:
'130'
},
{
label
:
'实控人'
,
prop
:
'actualController'
,
slot
:
true
,
minWidth
:
'140'
},
{
label
:
'最新报告期'
,
prop
:
'latestReportPeriod'
,
slot
:
true
,
minWidth
:
'120'
},
{
label
:
'总资产(亿元)'
,
prop
:
'totalAssets'
,
slot
:
true
,
minWidth
:
'120'
},
{
label
:
'归母净资产(亿元)'
,
prop
:
'belongNetAssets'
,
slot
:
true
,
minWidth
:
'140'
},
],
exportTableData
:[],
exportEXCEL
:{}
},
showMore
:
false
,
}
},
created
(){
api
.
aptitudeCode
().
then
(
res
=>
{
if
(
res
)
{
this
.
optionss
=
res
;
}
else
{
this
.
optionss
=
aptitudeCode
;
}
}).
catch
(
error
=>
{
this
.
optionss
=
aptitudeCode
;
});
},
methods
:{
projectNamebtn
(){},
search
(){},
showClick
(
item
){
this
.
showMore
=
true
;
this
.
dialogData
=
item
},
handleCurrentChange
(
pageNum
)
{
this
.
pageNum
=
pageNum
;
this
.
search
(
pageNum
,
this
.
pageSize
);
},
handleCurrentChange1
(
pageNum
)
{
this
.
pageNum1
=
pageNum
;
this
.
search
(
pageNum
,
this
.
pageSize
);
},
handleSizeChange
(
pageSize
)
{
this
.
pageSize
=
pageSize
;
this
.
search
(
this
.
pageNum
,
pageSize
);
},
reloadPage
()
{
this
.
pageFlag
=
false
;
this
.
$nextTick
(()
=>
{
this
.
pageFlag
=
true
;
});
},
optionsbtn
(
i
)
{
if
(
this
.
aptitudeDtoList
.
length
>
1
&&
this
.
aptitudeDtoList
[
i
].
codeStr
.
length
<
1
)
{
this
.
aptitudeDtoList
.
splice
(
i
,
1
);
i
--
;
}
this
.
$refs
[
i
]
&&
this
.
$refs
[
i
][
0
].
toggleDropDownVisible
(
false
);
var
_this
=
this
;
//延迟500毫秒执行
if
(
this
.
$refs
[
i
])
{
setTimeout
(
function
()
{
_this
.
aptitudeDtoList
[
i
].
nameStr
=
_this
.
$refs
[
i
][
0
].
$refs
.
input
.
$options
.
propsData
.
value
;
},
100
);
}
},
addAptitudeDtoList
(){
var
n
=
0
;
for
(
let
i
=
0
;
i
<
this
.
aptitudeDtoList
.
length
;
i
++
)
{
if
(
!
this
.
aptitudeDtoList
[
i
].
nameStr
)
{
n
++
;
}
}
if
(
n
>
0
)
{
this
.
$message
.
warning
(
"请选择资质条件后,增加资质!"
);
}
else
{
this
.
aptitudeDtoList
.
push
({
nameStr
:
''
,
codeStr
:
[],
});
}
},
reset
(){
Object
.
assign
(
this
.
$data
,
this
.
$options
.
data
());
//重置data
api
.
aptitudeCode
().
then
(
res
=>
{
if
(
res
)
{
this
.
optionss
=
res
;
}
else
{
this
.
optionss
=
aptitudeCode
;
}
}).
catch
(
error
=>
{
this
.
optionss
=
aptitudeCode
;
});
},
clickDialog
(){
this
.
exportData
.
dialogExportVisible
=
true
;
},
clickEXCEL
(
value
,
title
)
{
if
(
this
.
tableData
.
length
===
0
){
this
.
$message
.
error
(
'当前信息列表数据为空,请重新筛选数据'
);
return
}
if
(
value
>
2000
){
return
}
this
.
dataEXCEL
.
exportExeclName
=
title
;
if
(
value
){
this
.
dataEXCEL
.
pageSize
=
value
}
else
{
this
.
dataEXCEL
.
pageSize
=
2000
;
}
api
.
uipSerachExport
(
this
.
dataEXCEL
).
then
(
res
=>
{
if
(
res
.
code
===
200
){
this
.
exportData
.
exportEXCEL
=
true
;
}
else
{
this
.
$message
.
error
(
res
.
msg
);
}
})
},
cancel
(){
this
.
exportData
.
dialogExportVisible
=
false
;
this
.
exportData
.
exportEXCEL
=
{}
},
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.content
{
padding
:
0px
16px
;
padding-top
:
16px
;
border-radius
:
4px
4px
4px
4px
;
background
:
#ffffff
;
::v-deep
.el-input
.el-input__inner
{
height
:
32px
;
line-height
:
32px
;
}
::v-deep
.el-radio__label
{
margin-left
:
0px
;
padding-left
:
4px
;
margin-right
:
24px
;
}
.content_item
{
padding-top
:
20px
;
display
:
flex
;
align-items
:
center
;
.label
{
width
:
68px
;
font-size
:
14px
;
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
}
.label1
{
align-self
:
baseline
;
display
:
inline-block
;
height
:
32px
;
line-height
:
32px
;
}
.content_right
{
.ename_input
{
width
:
405px
;
margin-right
:
20px
;
}
.el-input-group
{
display
:
flex
;
align-items
:
center
;
}
::v-deep
.el-input-group__append
{
padding
:
0px
;
line-height
:
32px
;
font-weight
:
400
;
color
:
#0081ff
;
height
:
32px
;
width
:
80px
;
background
:
#f5f5f5
;
border-radius
:
0px
0px
0px
0px
;
text-align
:
center
;
cursor
:
pointer
;
}
}
.item_ckquery_list
{
display
:
flex
;
align-items
:
center
;
.qualifications-tab
{
margin-right
:
4px
;
border
:
1px
solid
#e0e0e0
;
padding
:
2px
3px
;
border-radius
:
2px
;
height
:
32px
;
margin-top
:
1px
;
span
{
background
:
#fff
;
display
:
inline-block
;
cursor
:
pointer
;
float
:
left
;
border-radius
:
2px
;
padding
:
3px
8px
;
margin-top
:
0
.5px
;
}
.action
{
color
:
#ffffff
;
background
:
#0081ff
;
}
}
.content_item_list
{
width
:
280px
;
height
:
32px
;
line-height
:
32px
;
}
.ckquery_list_right
{
width
:
670px
;
}
}
.item_ckquery_list
.el-input__icon
{
position
:
relative
;
top
:
1px
;
}
.ckquery_list_right
{
width
:
405px
;
top
:
1px
;
.item_ckquery_btn
{
height
:
32px
;
line-height
:
32px
;
top
:
1px
;
border-color
:
#DCDFE6
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
&
:hover
{
color
:
#ffffff
;
}
}
}
.register_count_ipt
{
margin-left
:
0px
;
}
.register_count_ipt
.el-input__inner
{
width
:
174px
;
}
::v-deep
.el-input-group__prepend
{
padding
:
0
8px
;
}
.content-projecttype
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
.projecttype
{
font-weight
:
400
;
color
:
#232323
;
padding
:
1px
5px
;
margin-right
:
4px
;
cursor
:
pointer
;
border-radius
:
3px
3px
3px
3px
;
font-size
:
14px
;
}
.projecttype
:first-child
{
padding-left
:
0px
;
}
.projecttype
:hover
{
background
:
#f3f4f5
;
padding
:
1px
5px
;
}
.activetype
{
background
:
#f3f4f5
;
padding
:
1px
5px
!
important
;
}
}
}
.content_item1
{
margin-top
:
16px
;
padding-top
:
16px
;
border-top
:
1px
solid
#EEEEEE
;
padding-left
:
64px
;
.search-new
{
padding-bottom
:
16px
;
span
{
display
:
inline-block
;
width
:
80px
;
text-align
:
center
;
line-height
:
32px
;
cursor
:
pointer
;
border-radius
:
4px
;
border
:
1px
solid
#D4D4D4
;
opacity
:
1
;
margin-right
:
12px
;
}
}
}
.content_item_padding0
{
padding
:
0
;
}
}
.bottomlist
{
width
:
100%
;
background-color
:
#ffffff
;
border-radius
:
4px
4px
4px
4px
;
.bottomlist-title
{
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
margin-top
:
12px
;
padding
:
16px
;
.title-right
{
display
:
flex
;
align-items
:
center
;
p
:last-child
{
display
:
flex
;
align-items
:
center
;
font-size
:
14px
;
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
}
img
{
width
:
18px
;
height
:
18px
;
}
.excel
{
cursor
:
pointer
;
}
}
}
.bd
{
border-top
:
1px
solid
#EEEEEE
;
margin
:
0
16px
16px
;
}
.bottomlist-title-left
{
display
:
inline-flex
;
align-items
:
center
;
.title-left
{
height
:
16px
;
line-height
:
16px
;
font-size
:
12px
;
font-weight
:
400
;
color
:
#3d3d3d
;
}
}
.bottomlist-content
{
padding-bottom
:
0px
;
}
.table-item-jf
{
padding
:
0px
16px
;
.list-titel-a
{
color
:
#0081ff
;
}
::v-deep
.el-table--border
.el-table__cell
:first-child
.cell
{
padding
:
0px
8px
;
padding-left
:
12px
;
font-size
:
12px
;
font-weight
:
400
;
}
::v-deep
.el-table
th
.el-table__cell
>
.cell
{
padding
:
0px
8px
;
padding-left
:
12px
;
font-size
:
12px
;
font-weight
:
400
;
}
::v-deep
.el-table
th
.el-table__cell.is-leaf
,
::v-deep
.el-table
td
.el-table__cell
{
border-bottom
:
1px
solid
#e6eaf1
;
}
::v-deep
.el-table--border
.el-table__cell
{
border-right
:
1px
solid
#e6eaf1
;
}
::v-deep
.el-table__fixed
::before
{
height
:
0
;
}
.el-table
{
th
,
td
{
.cell
{
font-size
:
12px
;
}
}
}
.title_box
{
font-size
:
14px
;
color
:
#232323
;
.name_box
{
font-size
:
16px
;
font-weight
:
700
;
color
:
#232323
;
margin-bottom
:
12px
;
}
img
{
width
:
28px
;
height
:
28px
;
margin-right
:
12px
;
}
.float_r
{
float
:right
;
.show_more
{
cursor
:
pointer
;
color
:
#0081FF
;
margin-left
:
8px
;
}
}
}
}
.table-item1
{
::v-deep
.el-table__body-wrapper
{
color
:
#232323
;
}
}
.fixed-table
{
overflow
:
initial
;
::v-deep
.el-table__header-wrapper
{
position
:
sticky
;
top
:
56px
;
z-index
:
9
;
}
::v-deep
.el-table__fixed-header-wrapper
{
position
:
sticky
;
z-index
:
9
;
top
:
56px
;
}
::v-deep
.el-table__fixed
{
overflow-x
:
clip
;
overflow-y
:
clip
;
}
}
.table-item-jf1
{
border-top
:
1px
solid
#efefef
;
}
.pagination
{
padding
:
14px
;
.el-pagination
{
float
:
right
;
}
}
}
.line_2
{
overflow
:hidden
;
text-overflow
:ellipsis
;
line-clamp
:
2
;
display
:
-
webkit-box
;
text-overflow
:
-
o-ellipsis-lastline
;
-webkit-line-clamp
:
2
;
-webkit-box-orient
:vertical
;
}
::v-deep
.show_more_dialog
{
border-radius
:
4px
;
width
:
900px
;
.el-dialog__header
{
font-size
:
16px
;
color
:
#232323
;
font-weight
:
700
;
}
.el-dialog__body
{
border-top
:
1px
solid
#E5E6EB
;
padding
:
20px
20px
56px
;
}
.title_box
{
font-size
:
14px
;
color
:
#232323
;
margin-bottom
:
20px
;
height
:
28px
;
line-height
:
28px
;
.name_box
{
font-size
:
16px
;
color
:
#232323
;
margin-bottom
:
12px
;
}
img
{
width
:
28px
;
height
:
28px
;
margin-right
:
12px
;
}
.float_r
{
float
:right
;
.show_more
{
cursor
:
pointer
;
color
:
#0081FF
;
margin-left
:
8px
;
}
}
}
.pagination
{
float
:right
;
margin-top
:
12px
;
margin-right
:
-10px
;
}
}
</
style
>
\ No newline at end of file
dsk-operate-ui/src/views/supplier/components/SearchResult.vue
0 → 100644
View file @
889af0e5
<
template
>
<div
class=
"search_result_box"
>
<el-table
:data=
"tableData"
:header-cell-style=
"
{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}" v-horizontal-scroll="'hover'"
class="table-item1 fixed-table" border highlight-current-row>
<el-table-column
type=
"index"
label=
"序号"
fixed
width=
"60"
>
<template
slot-scope=
"scope"
>
<span>
{{
(
pageNum
-
1
)
*
pageSize
+
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"表格名称"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
biddingCount
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"查询时间"
width=
"189"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
landInfoCount
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"154"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
bondBalance
||
"--"
}}
</
template
>
</el-table-column>
</el-table>
<el-pagination
background
:current-page=
"pageNum"
@
current-change=
"handleCurrentChange"
layout=
"prev, pager, next"
:total=
"total"
>
</el-pagination>
</div>
</template>
<
script
>
export
default
{
data
(){
return
{
tableData
:[],
total
:
0
,
pageNum
:
1
,
}
},
methods
:{
handleCurrentChange
(
pageNum
)
{
this
.
pageNum
=
pageNum
;
},
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.search_result_box
{
background
:
#ffffff
;
padding
:
16px
;
.el-pagination
{
display
:
flex
;
justify-content
:
end
;
padding
:
0
;
margin-right
:
-5px
;
margin-top
:
16px
;
}
}
</
style
>
\ No newline at end of file
dsk-operate-ui/src/views/supplier/supplierlist/laborSubcontracting.vue
View file @
889af0e5
...
...
@@ -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>
...
...
@@ -270,6 +271,7 @@
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
},
...
...
@@ -277,6 +279,12 @@
return
{
encodeStr
,
formdata
:{},
addressList
:[],
provienceprops
:{
checkStrictly
:
true
,
multiple
:
true
,
value
:
'id'
,
},
options
:
[
{
value
:
'zhinan'
,
...
...
@@ -488,10 +496,25 @@
}
},
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"
;
...
...
dsk-operate-ui/src/views/supplier/supplierlist/laborSubcontractingTeam.vue
View file @
889af0e5
...
...
@@ -29,7 +29,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-form-item
label=
"供应商状态"
>
<el-select
v-model=
"formdata.user"
placeholder=
"请选择"
>
...
...
@@ -303,12 +304,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
:
'laborSubcontractingTeam'
,
components
:{
skeleton
},
data
(){
return
{
encodeStr
,
addressList
:[],
provienceprops
:{
checkStrictly
:
true
,
multiple
:
true
,
value
:
'id'
,
},
formdata
:{},
options
:
[
{
...
...
@@ -521,8 +529,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
(){
},
...
...
dsk-operate-ui/src/views/supplier/supplierlist/ledger.vue
View file @
889af0e5
...
...
@@ -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>
...
...
@@ -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
:
[
{
...
...
@@ -541,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
(){
},
...
...
dsk-operate-ui/src/views/supplier/supplierlist/professionalSubcontracting.vue
View file @
889af0e5
...
...
@@ -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>
...
...
@@ -270,12 +271,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
:
'professionalSubcontracting'
,
components
:{
skeleton
},
data
(){
return
{
encodeStr
,
addressList
:[],
provienceprops
:{
checkStrictly
:
true
,
multiple
:
true
,
value
:
'id'
,
},
formdata
:{},
options
:
[
{
...
...
@@ -488,8 +496,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
(){
},
...
...
dsk-operate-ui/src/views/supplier/supplierlist/rentalServices.vue
View file @
889af0e5
...
...
@@ -22,7 +22,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>
...
...
@@ -266,12 +267,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
:
'rentalServices'
,
components
:{
skeleton
},
data
(){
return
{
encodeStr
,
addressList
:[],
provienceprops
:{
checkStrictly
:
true
,
multiple
:
true
,
value
:
'id'
,
},
formdata
:{},
options
:
[
{
...
...
@@ -484,8 +492,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
(){
},
...
...
dsk-operate-ui/src/views/supplier/supplierlist/supplySubcontracting.vue
View file @
889af0e5
...
...
@@ -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>
...
...
@@ -265,12 +266,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
:
'supplySubcontracting'
,
components
:{
skeleton
},
data
(){
return
{
encodeStr
,
addressList
:[],
provienceprops
:{
checkStrictly
:
true
,
multiple
:
true
,
value
:
'id'
,
},
formdata
:{},
options
:
[
{
...
...
@@ -483,8 +491,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
(){
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment