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
2337ae84
Commit
2337ae84
authored
Dec 14, 2023
by
liuChang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'V20231129-中建一局二公司' of 192.168.60.201:root/dsk-operate-sys into V20231129-中建一局二公司
parents
7a2f7643
5a8b070c
Changes
57
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
57 changed files
with
2792 additions
and
522 deletions
+2792
-522
application.yml
dsk-admin/src/main/resources/application.yml
+6
-0
AdvisoryBodyManageController.java
...om/dsk/cscec/controller/AdvisoryBodyManageController.java
+31
-18
BizDictDataController.java
.../java/com/dsk/cscec/controller/BizDictDataController.java
+43
-0
CustomerInfoController.java
...java/com/dsk/cscec/controller/CustomerInfoController.java
+51
-0
DCustomerController.java
...in/java/com/dsk/cscec/controller/DCustomerController.java
+1
-8
DimAreaController.java
...main/java/com/dsk/cscec/controller/DimAreaController.java
+38
-0
BizDictData.java
...z-api/src/main/java/com/dsk/cscec/domain/BizDictData.java
+77
-0
DProject.java
...-biz-api/src/main/java/com/dsk/cscec/domain/DProject.java
+6
-5
DimArea.java
...k-biz-api/src/main/java/com/dsk/cscec/domain/DimArea.java
+41
-0
SysAdvisoryBody.java
...i/src/main/java/com/dsk/cscec/domain/SysAdvisoryBody.java
+97
-0
TreeSelect.java
...iz-api/src/main/java/com/dsk/cscec/domain/TreeSelect.java
+46
-0
AdvisoryBodySearchBo.java
...in/java/com/dsk/cscec/domain/bo/AdvisoryBodySearchBo.java
+34
-0
BizDictDataBo.java
.../src/main/java/com/dsk/cscec/domain/bo/BizDictDataBo.java
+76
-0
CustomerInfoBo.java
...src/main/java/com/dsk/cscec/domain/bo/CustomerInfoBo.java
+88
-0
ProjectSearchBo.java
...rc/main/java/com/dsk/cscec/domain/bo/ProjectSearchBo.java
+68
-0
AdvisoryBodySearchVo.java
...in/java/com/dsk/cscec/domain/vo/AdvisoryBodySearchVo.java
+51
-0
CustomerInfoVo.java
...src/main/java/com/dsk/cscec/domain/vo/CustomerInfoVo.java
+152
-0
ProjectSearchVo.java
...rc/main/java/com/dsk/cscec/domain/vo/ProjectSearchVo.java
+84
-0
RegionVo.java
...z-api/src/main/java/com/dsk/cscec/domain/vo/RegionVo.java
+18
-0
BizDictDataMapper.java
...src/main/java/com/dsk/cscec/mapper/BizDictDataMapper.java
+33
-0
DCustomerMapper.java
...i/src/main/java/com/dsk/cscec/mapper/DCustomerMapper.java
+10
-0
DProjectMapper.java
...pi/src/main/java/com/dsk/cscec/mapper/DProjectMapper.java
+9
-1
DimAreaMapper.java
...api/src/main/java/com/dsk/cscec/mapper/DimAreaMapper.java
+16
-0
SysAdvisoryBodyMapper.java
...main/java/com/dsk/cscec/mapper/SysAdvisoryBodyMapper.java
+30
-0
IBizDictDataService.java
.../main/java/com/dsk/cscec/service/IBizDictDataService.java
+39
-0
ICustomerInfoService.java
...main/java/com/dsk/cscec/service/ICustomerInfoService.java
+21
-0
IDProjectService.java
...src/main/java/com/dsk/cscec/service/IDProjectService.java
+23
-1
IDimAreaService.java
.../src/main/java/com/dsk/cscec/service/IDimAreaService.java
+21
-0
SysAdvisoryBodyService.java
...in/java/com/dsk/cscec/service/SysAdvisoryBodyService.java
+15
-0
BizDictDataServiceImpl.java
...va/com/dsk/cscec/service/impl/BizDictDataServiceImpl.java
+197
-0
CustomerInfoServiceImpl.java
...a/com/dsk/cscec/service/impl/CustomerInfoServiceImpl.java
+79
-0
DCustomerServiceImpl.java
...java/com/dsk/cscec/service/impl/DCustomerServiceImpl.java
+7
-9
DimAreaServiceImpl.java
...n/java/com/dsk/cscec/service/impl/DimAreaServiceImpl.java
+83
-0
IDProjectServiceImpl.java
...java/com/dsk/cscec/service/impl/IDProjectServiceImpl.java
+148
-2
SysAdvisoryBodyServiceImpl.java
...om/dsk/cscec/service/impl/SysAdvisoryBodyServiceImpl.java
+19
-0
BizDictDataMapper.xml
...api/src/main/resources/mapper/cscec/BizDictDataMapper.xml
+60
-0
DCustomerMapper.xml
...z-api/src/main/resources/mapper/cscec/DCustomerMapper.xml
+146
-39
DProjectMapper.xml
...iz-api/src/main/resources/mapper/cscec/DProjectMapper.xml
+16
-1
SysAdvisoryBodyMapper.xml
...src/main/resources/mapper/cscec/SysAdvisoryBodyMapper.xml
+27
-0
.env.development
dsk-operate-ui/.env.development
+1
-1
index.js
dsk-operate-ui/src/api/consultingOrgManagement/index.js
+12
-0
bigDataTag.svg
dsk-operate-ui/src/assets/icons/svg/bigDataTag.svg
+1
-0
bigDataTags.svg
dsk-operate-ui/src/assets/icons/svg/bigDataTags.svg
+1
-0
lock.png
...-ui/src/assets/images/consultingAgencyManagement/lock.png
+0
-0
use-header-btn.png
...sets/images/consultingAgencyManagement/use-header-btn.png
+0
-0
common.css
dsk-operate-ui/src/assets/styles/common.css
+10
-0
el-search-form-public.scss
dsk-operate-ui/src/assets/styles/el-search-form-public.scss
+13
-0
index.scss
dsk-operate-ui/src/assets/styles/index.scss
+18
-12
index.vue
dsk-operate-ui/src/components/DskAmountRange/index.vue
+1
-1
index.vue
...nts/DskTableHeaderSetting/components/SettingBar/index.vue
+229
-9
index.vue
...operate-ui/src/components/DskTableHeaderSetting/index.vue
+7
-1
index.vue
dsk-operate-ui/src/components/TableListCom/index.vue
+135
-50
index.js
dsk-operate-ui/src/utils/index.js
+37
-0
advisoryOrgan.vue
dsk-operate-ui/src/views/bigDataSearch/advisoryOrgan.vue
+149
-4
index.vue
.../consultingOrgManagement/components/ProjectList/index.vue
+168
-357
assistant.vue
dsk-operate-ui/src/views/supplier/assistant.vue
+1
-1
SysConfigServiceImpl.java
...ava/com/dsk/system/service/impl/SysConfigServiceImpl.java
+2
-2
No files found.
dsk-admin/src/main/resources/application.yml
View file @
2337ae84
...
...
@@ -163,6 +163,12 @@ tenant:
-
sys_user_file_record
-
sys_oss_config
-
sys_region
-
d_customer
-
d_project
-
d_subcontract
-
sys_advisory_body
-
dim_area
-
biz_dict_data
# MyBatisPlus配置
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/controller/
DProject
Controller.java
→
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/controller/
AdvisoryBodyManage
Controller.java
View file @
2337ae84
package
com
.
dsk
.
cscec
.
controller
;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.cscec.domain.bo.AdvisoryBodySearchBo
;
import
com.dsk.cscec.domain.bo.ProjectSearchBo
;
import
com.dsk.cscec.domain.vo.AdvisoryBodySearchVo
;
import
com.dsk.cscec.domain.vo.ProjectSearchVo
;
import
com.dsk.cscec.service.IDProjectService
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
/**
*
项目维表(DProject)表
控制层
*
咨询机构管理
控制层
*
* @author
makejava
* @author
sxk
* @since 2023-12-10 15:34:46
*/
@RestController
@RequestMapping
(
"
dProject
"
)
public
class
DProject
Controller
extends
BaseController
{
@RequestMapping
(
"
advisory/body
"
)
public
class
AdvisoryBodyManage
Controller
extends
BaseController
{
/**
* 服务对象
*/
@Resource
private
IDProjectService
IDProjectService
;
private
IDProjectService
baseService
;
/**
* 获取所有项目列表数据
*/
@GetMapping
(
"/getProjectList"
)
public
TableDataInfo
<
ProjectSearchVo
>
getProjectList
(
ProjectSearchBo
projectSearchBo
,
PageQuery
pageQuery
)
{
return
baseService
.
queryProjectList
(
projectSearchBo
,
pageQuery
);
}
/**
* 获取所有企业列表(咨询机构)数据
*/
@GetMapping
(
"/getAdvisoryBodyList"
)
public
TableDataInfo
<
AdvisoryBodySearchVo
>
getAdvisoryBodyList
(
AdvisoryBodySearchBo
advisoryBodySearchBo
,
PageQuery
pageQuery
)
{
return
baseService
.
queryAdvisoryBodyList
(
advisoryBodySearchBo
,
pageQuery
);
}
///**
// * 分页查询所有数据
// *
// * @param page 分页对象
// * @param dProject 查询实体
// * @return 所有数据
// */
//@GetMapping
//public R selectAll(Page<DProject> page, DProject dProject) {
// return success(this.dProjectService.page(page, new QueryWrapper<>(dProject)));
//}
//
///**
// * 通过主键查询单条数据
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/controller/BizDictDataController.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
controller
;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.cscec.domain.TreeSelect
;
import
com.dsk.cscec.domain.bo.BizDictDataBo
;
import
com.dsk.cscec.service.IBizDictDataService
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
* 字典相关
*
* @author
* @since 2023-12-10
*/
@RequiredArgsConstructor
@RestController
@RequestMapping
(
"/bizDictData"
)
public
class
BizDictDataController
extends
BaseController
{
/**
* 服务对象
*/
private
final
IBizDictDataService
iBizDictDataService
;
/**
* 查询业务数据字典树形列表
*
* @return
*/
@GetMapping
(
"/tree"
)
public
R
<
List
<
TreeSelect
>>
tree
(
@Validated
BizDictDataBo
bo
)
{
return
R
.
ok
(
iBizDictDataService
.
buildDeptTreeSelect
(
bo
));
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/controller/CustomerInfoController.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
controller
;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.cscec.domain.DCustomer
;
import
com.dsk.cscec.domain.bo.CustomerInfoBo
;
import
com.dsk.cscec.domain.vo.CustomerInfoVo
;
import
com.dsk.cscec.service.ICustomerInfoService
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotEmpty
;
/**
* 供应商相关
*
* @author
* @since 2023-12-10
*/
@RequiredArgsConstructor
@RestController
@RequestMapping
(
"/customerInfo"
)
public
class
CustomerInfoController
extends
BaseController
{
/**
* 服务对象
*/
private
final
ICustomerInfoService
iCustomerInfoService
;
/**
* 供应商分类列表
*/
@PostMapping
(
"/list"
)
public
TableDataInfo
<
CustomerInfoVo
>
list
(
@Validated
@RequestBody
CustomerInfoBo
bo
,
@RequestBody
PageQuery
query
)
{
return
iCustomerInfoService
.
queryPageList
(
bo
,
query
);
}
/**
* 合作记录-供应商准入情况
*/
@GetMapping
(
"/getByName/{name}"
)
public
R
<
DCustomer
>
list
(
@NotEmpty
(
message
=
"企业名称不能为空"
)
@PathVariable
String
name
)
{
return
R
.
ok
(
iCustomerInfoService
.
queryByName
(
name
));
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/controller/DCustomerController.java
View file @
2337ae84
package
com
.
dsk
.
cscec
.
controller
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.domain.R
;
...
...
@@ -10,14 +8,9 @@ import com.dsk.common.core.page.TableDataInfo;
import
com.dsk.cscec.domain.DCustomer
;
import
com.dsk.cscec.domain.bo.DCustomerSearchBo
;
import
com.dsk.cscec.service.IDCustomerService
;
import
com.dsk.system.domain.SysDept
;
import
com.dsk.system.domain.vo.SysDeptVo
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
* 组织维表(DCustomer)表控制层
*
...
...
@@ -37,7 +30,7 @@ public class DCustomerController extends BaseController {
* 供应商总台账筛选
*/
@PostMapping
(
"/all/searchList"
)
public
TableDataInfo
<
DCustomer
>
allSearchList
(
@RequestBody
DCustomerSearchBo
bo
,
PageQuery
query
)
{
public
TableDataInfo
<
DCustomer
>
allSearchList
(
@RequestBody
DCustomerSearchBo
bo
,
@RequestBody
PageQuery
query
)
{
return
baseService
.
allSearchList
(
bo
,
query
);
}
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/controller/DimAreaController.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
controller
;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.cscec.domain.vo.RegionVo
;
import
com.dsk.cscec.service.IDimAreaService
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
* (DimArea)表控制层
*
* @author lcl
* @since 2023-12-13 13:45:22
*/
@RestController
@RequestMapping
(
"/area"
)
public
class
DimAreaController
extends
BaseController
{
/**
* 服务对象
*/
@Resource
private
IDimAreaService
baseService
;
/**
* 获取地区树
*/
@GetMapping
(
"/all"
)
public
R
<
List
<
RegionVo
>>
allArea
(){
return
R
.
ok
(
baseService
.
allArea
());
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/BizDictData.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
domain
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableLogic
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 业务数据字典对象 biz_dict_data
*
* @author ruoyi
* @date 2021-11-08
*/
@Data
@NoArgsConstructor
@Accessors
(
chain
=
true
)
@TableName
(
"biz_dict_data"
)
public
class
BizDictData
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 编码
*/
@TableId
(
value
=
"id"
)
private
String
id
;
private
String
ancestors
;
/**
* 字典编码
*/
private
String
code
;
/**
* 字典名称
*/
private
String
name
;
/**
* 系统字典表 biz_dict_data_type
*/
private
String
type
;
/**
* 字典父级id
*/
private
String
parentId
;
@TableField
(
exist
=
false
)
private
String
parentName
;
/**
* 备注
*/
private
String
remark
;
/**
* 删除标志(0代表存在 2代表删除)
*/
@TableLogic
private
String
delFlag
;
@TableField
(
exist
=
false
)
private
List
<
BizDictData
>
children
=
new
ArrayList
<
BizDictData
>();
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/DProject.java
View file @
2337ae84
package
com
.
dsk
.
cscec
.
domain
;
import
lombok.Data
;
import
java.io.Serializable
;
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
>
{
@Data
public
class
DProject
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
//项目主键
private
Long
projectKey
;
//项目ID
...
...
@@ -405,6 +407,5 @@ public class DProject extends Model<DProject> {
private
String
projectHrScale
;
//数据更新时间
private
Date
loadTime
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/DimArea.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
domain
;
import
java.io.Serializable
;
import
lombok.Data
;
/**
* (DimArea)表实体类
*
* @author lcl
* @since 2023-12-13 13:45:22
*/
@Data
public
class
DimArea
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
Integer
areaKey
;
private
String
areaCode
;
private
String
areaName
;
/**
* 地区
*/
private
String
areaName1
;
/**
* 省
*/
private
String
areaName2
;
/**
* 省简写
*/
private
String
areaAbbrName2
;
private
String
areaName3
;
private
Integer
levelNo
;
private
String
isleaf
;
private
String
isvalid
;
private
String
remark
;
private
String
areaId
;
private
String
parentId
;
private
String
loadTime
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/SysAdvisoryBody.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
domain
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 咨询机构(SysAdvisoryBody)表实体类
*
* @author sxk
* @since 2023-12-12 10:12:06
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
SysAdvisoryBody
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 咨询机构ID
*/
@TableId
(
value
=
"advisory_body_id"
)
private
Long
advisoryBodyId
;
/**
* 咨询机构cid(用于查询建设库数据)
*/
private
Integer
advisoryBodyCid
;
/**
* 项目主键(用作关联d_project)
*/
private
Long
projectKey
;
/**
* 咨询机构名称
*/
private
String
advisoryBodyName
;
/**
* 法人代表
*/
private
String
legalPerson
;
/**
* 法人联系电话
*/
private
String
legalPersonPhone
;
/**
* 注册地址
*/
private
String
regAddress
;
/**
* 项目负责人
*/
private
String
projectLeader
;
/**
* 项目负责人专业
*/
private
String
projectLeaderMajor
;
/**
* 项目负责人联系电话
*/
private
String
projectLeaderPhone
;
/**
* 结算开始时间
*/
private
Date
settleStarTime
;
/**
* 结算完成时间
*/
private
Date
settleFinishTime
;
/**
* 是否为终审单位(0代表是 1代表否)
*/
private
String
isFinalJudgeUnit
;
/**
* 创建者
*/
private
String
createBy
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 更新者
*/
private
String
updateBy
;
/**
* 更新时间
*/
private
Date
updateTime
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/TreeSelect.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
domain
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* Treeselect树结构实体类
*
* @author ruoyi
*/
@Data
@NoArgsConstructor
@Accessors
(
chain
=
true
)
public
class
TreeSelect
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 节点ID
*/
private
String
id
;
/**
* 节点名称
*/
private
String
label
;
/**
* 子节点
*/
@JsonInclude
(
JsonInclude
.
Include
.
NON_EMPTY
)
private
List
<
TreeSelect
>
children
;
public
TreeSelect
(
BizDictData
dept
)
{
this
.
id
=
dept
.
getId
();
this
.
label
=
dept
.
getName
();
this
.
children
=
dept
.
getChildren
().
stream
().
map
(
TreeSelect:
:
new
).
collect
(
Collectors
.
toList
());
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/bo/AdvisoryBodySearchBo.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
domain
.
bo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.Date
;
/**
* @author sxk
* @date 2023.12.13
* @time 10:33
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
AdvisoryBodySearchBo
{
/**
* 咨询机构名称
*/
private
String
advisoryBodyName
;
/**
* 最小最近合作时间
*/
private
Date
minLastCooperateDate
;
/**
* 最大最近合作时间
*/
private
Date
maxLastCooperateDate
;
/**
* 经营范围
*/
private
String
businessScope
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/bo/BizDictDataBo.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
domain
.
bo
;
import
com.dsk.common.core.domain.BaseEntity
;
import
com.dsk.common.core.validate.AddGroup
;
import
com.dsk.common.core.validate.EditGroup
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
/**
* 业务数据字典业务对象 biz_dict_data
*
* @author ruoyi
* @date 2021-11-08
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
BizDictDataBo
extends
BaseEntity
{
/**
* 编码
*/
@NotNull
(
message
=
"编码不能为空"
,
groups
=
{
EditGroup
.
class
})
private
String
id
;
/**
* 字典编码
*/
private
String
code
;
/**
* 字典名称
*/
@NotBlank
(
message
=
"字典名称不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
name
;
/**
* 系统字典表 biz_dict_data_type
*/
@NotBlank
(
message
=
"系统字典表 biz_dict_data_type不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
type
;
/**
* 字典父级id
*/
@NotNull
(
message
=
"字典父级id不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
parentId
;
/**
* 分页大小
*/
private
Integer
pageSize
;
/**
* 当前页数
*/
private
Integer
pageNum
;
/**
* 排序列
*/
private
String
orderByColumn
;
/**
* 排序的方向desc或者asc
*/
private
String
isAsc
;
/**
* 祖级列表
*/
private
String
ancestors
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/bo/CustomerInfoBo.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
domain
.
bo
;
import
com.dsk.common.core.domain.BaseEntity
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
javax.validation.constraints.NotEmpty
;
import
java.util.Date
;
import
java.util.List
;
/**
* 供应商分类查询
*
* @author
* @since 2023-12-10
*/
@Data
public
class
CustomerInfoBo
extends
BaseEntity
{
/**
* 供应商类别(分供,劳务分包,专业分包,租赁,劳务分包队伍)
*/
@NotEmpty
(
message
=
"供应商类别不能为空"
)
private
String
customerClass
;
/**
* 劳务队伍标志(Y N)
*/
private
String
serviceTeamLogo
;
/**
* 供应商名称
*/
private
String
customerName
;
/**
* 注册地区域(东北地区,华东地区,华中地区,华北地区,华南地区,西北地区,西南地区)
*/
private
List
<
String
>
registerRegion
;
/**
* 省份
*/
private
List
<
String
>
registerProvince
;
/**
* 城市
*/
private
List
<
String
>
registerCity
;
/**
* 供应商状态(不合格,优质,合格,移出,预警)
*/
private
List
<
String
>
customerState
;
/**
* 资质等级(一级,二级,三级,不分等级,特级)
*/
private
List
<
String
>
credential
;
/**
* 专业类别id
*/
private
List
<
String
>
groupSpecialtyId
;
/**
* 集团专业类别
*/
private
String
groupSpecialty
;
/**
* 考评等级(A,B,C,Z)
*/
private
List
<
String
>
creditLevel
;
/**
* 纳税人身份(一般纳税人,小规模纳税人)
*/
private
List
<
String
>
paytaxType
;
/**
* 纳税人税率(免税,3%,6%,11%,17%)
*/
private
List
<
String
>
taxRate
;
/**
* 准入时间开始
*/
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
approveDate2Start
;
/**
* 准入时间结束
*/
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
approveDate2End
;
/**
* 队长名称
*/
private
String
leaderName
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/bo/ProjectSearchBo.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
domain
.
bo
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @author sxk
* @date 2023.12.11
* @time 14:01
*/
@Data
public
class
ProjectSearchBo
{
/**
* 项目名称
*/
private
String
projectName
;
/**
* 咨询机构名称
*/
private
String
advisoryBodyName
;
/**
* 业主单位
*/
private
String
ownerUnit
;
/**
* 承接项目单位
*/
private
String
undertakeProjectUnit
;
/**
* 项目创建开始时间
*/
private
Date
projectStartTime
;
/**
* 项目创建结束时间
*/
private
Date
projectEndTime
;
/**
* 项目承接类型
*/
private
String
projectUndertakeType
;
/**
* 工程基础大类
*/
private
String
engineeringFoundationCategory
;
/**
* 工程类别明细
*/
private
String
engineeringCategoryDetail
;
/**
* 最小合同金额
*/
private
Double
minContractAmount
;
/**
* 最大合同金额
*/
private
Double
maxContractAmount
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/vo/AdvisoryBodySearchVo.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
domain
.
vo
;
import
com.dsk.cscec.domain.SysAdvisoryBody
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.Date
;
/**
* @author sxk
* @date 2023.12.13
* @time 10:32
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
AdvisoryBodySearchVo
extends
SysAdvisoryBody
{
/**
* 最近一次合作时间
*/
private
Date
lastCooperateTime
;
/**
* 经营状态
*/
private
String
businessStatus
;
/**
* 法定代表人
*/
private
String
corporatePerson
;
/**
* 注册资本
*/
private
String
regCapital
;
/**
* 注册地区
*/
private
String
regArea
;
/**
* 成立日期
*/
private
String
registeredDate
;
/**
* 经营范围
*/
private
String
businessScope
;
/**
* 合作项目数量
*/
private
Long
cooperateProjectCount
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/vo/CustomerInfoVo.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
domain
.
vo
;
import
com.alibaba.excel.annotation.ExcelIgnoreUnannotated
;
import
lombok.Data
;
import
java.util.Date
;
/**
* 供应商分类查询
*
* @author
* @since 2023-12-10
*/
@Data
@ExcelIgnoreUnannotated
public
class
CustomerInfoVo
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 客商主键
*/
private
Long
customerKey
;
/**
* ipm供应商id
*/
private
String
customerId
;
/**
* 供应商编号
*/
private
String
customerCode
;
/**
* 供应商名称
*/
private
String
customerName
;
/**
* 供应商状态
*/
private
String
customerState
;
/**
* 推荐公司ID
*/
private
String
recommendOrgId
;
/**
* 推荐公司
*/
private
String
recommendOrg
;
/**
* 注册地区域
*/
private
String
registerRegion
;
/**
* 省份
*/
private
String
registerProvince
;
/**
* 城市
*/
private
String
registerCity
;
/**
* 集团专业类别
*/
private
String
groupSpecialty
;
/**
* 法人代表
*/
private
String
representative
;
/**
* 纳税人身份
*/
private
String
paytaxType
;
/**
* 纳税人税率
*/
private
String
taxRate
;
/**
* 施工承包范围
*/
private
String
constructJobScope
;
/**
* 资质等级
*/
private
String
credential
;
/**
* 注册资金
*/
private
Double
registerCapital
;
/**
* 联系人
*/
private
String
contactPerson
;
/**
* 联系人电话
*/
private
String
contactPhone
;
/**
* 准入时间
*/
private
Date
approveDate2
;
/**
* 供应商类别
*/
private
String
customerClass
;
/**
* 考评等级
*/
private
String
creditLevel
;
/**
* 二级市场企业编码
*/
private
String
secondaryCode
;
/**
* 统一社会信用代码/营业执照号码
*/
private
String
unifySocialCode
;
/**
* 队长名称
*/
private
String
leaderName
;
/**
* 劳务队长身份证号
*/
private
String
laborCaptainIdcard
;
/**
* 劳务队长联系电话
*/
private
String
laborCaptainPhone
;
/**
* 队伍规模人数
*/
private
Double
serviceTeamPersonnum
;
/**
* 专业特长
*/
private
String
serviceTeamSpeciality
;
/**
* 公司合作数量
*/
private
Integer
enterpriseCooperationCount
;
/**
* 合作项目数量
*/
private
Integer
projectCooperationCount
;
/**
* jsk企业id
*/
private
Integer
companyId
;
/**
* 资源平台分类
*/
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/vo/ProjectSearchVo.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
domain
.
vo
;
import
com.dsk.cscec.domain.SysAdvisoryBody
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @author sxk
* @date 2023.12.11
* @time 14:01
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
ProjectSearchVo
{
/**
* 项目主键
*/
private
Long
projectKey
;
/**
* 项目ID
*/
private
String
projectId
;
/**
* 项目名称
*/
private
String
projectName
;
/**
* 项目编码
*/
private
String
projectCode
;
/**
* 省市
*/
private
String
provinceName
;
/**
* 项目承接类型
*/
private
String
isinvestproject
;
/**
* 工程基础大类
*/
private
String
projectType1
;
/**
* 工程类别明细
*/
private
String
projectType
;
/**
* 合同金额
*/
private
BigDecimal
contractOrigValue
;
/**
* 业主单位
*/
private
String
ownerName
;
/**
* 项目承接单位
*/
private
String
contractOrgName
;
/**
* 咨询机构(咨询机构表)
*/
private
SysAdvisoryBody
advisoryBody
;
/**
* 创建时间
*/
private
Date
loadTime
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/vo/RegionVo.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
domain
.
vo
;
import
lombok.Data
;
import
java.util.List
;
/**
* @Author lcl
* @Data 2023/12/13 14:14
*/
@Data
public
class
RegionVo
{
String
value
;
List
<
RegionVo
>
children
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/mapper/BizDictDataMapper.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.dsk.cscec.domain.BizDictData
;
import
com.dsk.cscec.domain.bo.BizDictDataBo
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* 业务数据字典Mapper接口
*
* @author ruoyi
* @date 2021-11-08
*/
public
interface
BizDictDataMapper
extends
BaseMapper
<
BizDictData
>
{
public
List
<
Long
>
findIdByName
(
String
name
);
BizDictData
findByNameAndType
(
@Param
(
"name"
)
String
name
,
@Param
(
"type"
)
String
type
);
int
countByName
(
@Param
(
"name"
)
String
name
,
@Param
(
"type"
)
String
type
);
List
<
BizDictData
>
exportListVo
(
@Param
(
"bo"
)
BizDictDataBo
bo
);
/**
* 根据ID查询相关数据
*
* @param id
* @return 查询到的数据
*/
BizDictData
queryByID
(
Long
id
);
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/mapper/DCustomerMapper.java
View file @
2337ae84
...
...
@@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.dsk.cscec.domain.DCustomer
;
import
com.dsk.cscec.domain.bo.CustomerInfoBo
;
import
com.dsk.cscec.domain.bo.DCustomerSearchBo
;
import
com.dsk.cscec.domain.vo.CustomerInfoVo
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
...
...
@@ -20,5 +22,13 @@ public interface DCustomerMapper extends BaseMapper<DCustomer> {
Page
<
DCustomer
>
allSearchList
(
IPage
<
DCustomerSearchBo
>
build
,
@Param
(
"bo"
)
DCustomerSearchBo
bo
);
/**
* 分类查询供应商列表
* @param build
* @param bo
* @return
*/
Page
<
CustomerInfoVo
>
queryListByType
(
IPage
<
CustomerInfoBo
>
build
,
@Param
(
"bo"
)
CustomerInfoBo
bo
);
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/mapper/DProjectMapper.java
View file @
2337ae84
package
com
.
dsk
.
cscec
.
mapper
;
import
com.baomidou.mybatisplus.core.conditions.Wrapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.toolkit.Constants
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.dsk.cscec.domain.DProject
;
import
com.dsk.cscec.domain.vo.ProjectSearchVo
;
import
org.apache.ibatis.annotations.Param
;
/**
* 项目维表(DProject)表数据库访问层
...
...
@@ -10,6 +15,9 @@ import com.dsk.cscec.domain.DProject;
* @since 2023-12-10 15:34:46
*/
public
interface
DProjectMapper
extends
BaseMapper
<
DProject
>
{
/**
* 获取所有项目列表数据
*/
Page
<
ProjectSearchVo
>
selectPageProjectList
(
@Param
(
"page"
)
Page
<
ProjectSearchVo
>
page
,
@Param
(
Constants
.
WRAPPER
)
Wrapper
<
DProject
>
queryWrapper
);
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/mapper/DimAreaMapper.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.dsk.cscec.domain.DimArea
;
/**
* (DimArea)表数据库访问层
*
* @author lcl
* @since 2023-12-13 13:45:22
*/
public
interface
DimAreaMapper
extends
BaseMapper
<
DimArea
>
{
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/mapper/SysAdvisoryBodyMapper.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
mapper
;
import
com.baomidou.mybatisplus.core.conditions.Wrapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.toolkit.Constants
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.dsk.cscec.domain.SysAdvisoryBody
;
import
com.dsk.cscec.domain.vo.AdvisoryBodySearchVo
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.Date
;
/**
* 咨询机构(SysAdvisoryBody)表数据库访问层
*
* @author sxk
* @since 2023-12-12 10:12:04
*/
public
interface
SysAdvisoryBodyMapper
extends
BaseMapper
<
SysAdvisoryBody
>
{
/**
* 查询最近一次合作时间
*/
Date
selectLastCooperateTime
(
@Param
(
"advisoryBodyId"
)
Long
advisoryBodyId
);
/**
* 获取所有企业列表(咨询机构)数据
*/
Page
<
AdvisoryBodySearchVo
>
selectPageAdvisoryBodyList
(
@Param
(
"page"
)
Page
<
AdvisoryBodySearchVo
>
page
,
@Param
(
Constants
.
WRAPPER
)
Wrapper
<
SysAdvisoryBody
>
queryWrapper
);
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/IBizDictDataService.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.cscec.domain.BizDictData
;
import
com.dsk.cscec.domain.TreeSelect
;
import
com.dsk.cscec.domain.bo.BizDictDataBo
;
import
java.util.List
;
/**
* 业务数据字典Service接口
*
* @author ruoyi
* @date 2021-11-08
*/
public
interface
IBizDictDataService
extends
IService
<
BizDictData
>
{
/**
* 查询单个
*
* @return
*/
BizDictData
queryById
(
Long
id
);
/**
* 查询列表
*/
TableDataInfo
<
BizDictData
>
queryPageList
(
BizDictDataBo
bo
,
PageQuery
query
);
/**
* 查询列表
*/
List
<
BizDictData
>
queryList
(
BizDictDataBo
bo
);
String
importDict
(
List
<
BizDictData
>
dictList
,
String
type
,
String
operName
);
List
<
TreeSelect
>
buildDeptTreeSelect
(
BizDictDataBo
bo
);
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/ICustomerInfoService.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.cscec.domain.DCustomer
;
import
com.dsk.cscec.domain.bo.CustomerInfoBo
;
import
com.dsk.cscec.domain.vo.CustomerInfoVo
;
/**
* 组织维表(DCustomer)表服务接口
*
* @author
* @since 2023-12-10
*/
public
interface
ICustomerInfoService
extends
IService
<
DCustomer
>
{
TableDataInfo
<
CustomerInfoVo
>
queryPageList
(
CustomerInfoBo
bo
,
PageQuery
query
);
DCustomer
queryByName
(
String
name
);
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/IDProjectService.java
View file @
2337ae84
package
com
.
dsk
.
cscec
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.cscec.domain.DProject
;
import
com.dsk.cscec.domain.bo.AdvisoryBodySearchBo
;
import
com.dsk.cscec.domain.bo.ProjectSearchBo
;
import
com.dsk.cscec.domain.vo.AdvisoryBodySearchVo
;
import
com.dsk.cscec.domain.vo.ProjectSearchVo
;
/**
* 项目维表(DProject)表服务接口
*
* @author
makejava
* @author
sxk
* @since 2023-12-10 15:34:51
*/
public
interface
IDProjectService
extends
IService
<
DProject
>
{
/**
* 获取所有项目列表数据
*
* @param projectSearchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
TableDataInfo
<
ProjectSearchVo
>
queryProjectList
(
ProjectSearchBo
projectSearchBo
,
PageQuery
pageQuery
);
/**
* 获取所有企业列表(咨询机构)数据
*
* @param advisoryBodySearchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
TableDataInfo
<
AdvisoryBodySearchVo
>
queryAdvisoryBodyList
(
AdvisoryBodySearchBo
advisoryBodySearchBo
,
PageQuery
pageQuery
);
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/IDimAreaService.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.dsk.cscec.domain.DimArea
;
import
com.dsk.cscec.domain.vo.RegionVo
;
import
java.util.List
;
/**
* (DimArea)表服务接口
*
* @author lcl
* @since 2023-12-13 13:45:22
*/
public
interface
IDimAreaService
extends
IService
<
DimArea
>
{
List
<
RegionVo
>
allArea
();
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/SysAdvisoryBodyService.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.dsk.cscec.domain.SysAdvisoryBody
;
/**
* 咨询机构(SysAdvisoryBody)表服务接口
*
* @author sxk
* @since 2023-12-12 10:12:09
*/
public
interface
SysAdvisoryBodyService
extends
IService
<
SysAdvisoryBody
>
{
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/impl/BizDictDataServiceImpl.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
service
.
impl
;
import
cn.hutool.core.lang.Assert
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.common.exception.ServiceException
;
import
com.dsk.common.utils.StringUtils
;
import
com.dsk.cscec.domain.BizDictData
;
import
com.dsk.cscec.domain.TreeSelect
;
import
com.dsk.cscec.domain.bo.BizDictDataBo
;
import
com.dsk.cscec.mapper.BizDictDataMapper
;
import
com.dsk.cscec.service.IBizDictDataService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* 业务数据字典Service业务层处理
*
* @author ruoyi
* @date 2021-11-08
*/
@Slf4j
@Service
public
class
BizDictDataServiceImpl
extends
ServiceImpl
<
BizDictDataMapper
,
BizDictData
>
implements
IBizDictDataService
{
@Override
public
BizDictData
queryById
(
Long
id
)
{
return
baseMapper
.
queryByID
(
id
);
}
@Override
public
TableDataInfo
<
BizDictData
>
queryPageList
(
BizDictDataBo
bo
,
PageQuery
query
)
{
Page
<
BizDictData
>
result
=
baseMapper
.
selectPage
(
query
.
build
(),
buildQueryWrapper
(
bo
));
return
TableDataInfo
.
build
(
result
);
}
@Override
public
List
<
BizDictData
>
queryList
(
BizDictDataBo
bo
)
{
return
baseMapper
.
selectList
(
buildQueryWrapper
(
bo
));
}
private
LambdaQueryWrapper
<
BizDictData
>
buildQueryWrapper
(
BizDictDataBo
bo
)
{
Map
<
String
,
Object
>
params
=
bo
.
getParams
();
LambdaQueryWrapper
<
BizDictData
>
lqw
=
Wrappers
.
lambdaQuery
();
lqw
.
like
(
StringUtils
.
isNotBlank
(
bo
.
getCode
()),
BizDictData:
:
getCode
,
bo
.
getCode
());
lqw
.
like
(
StringUtils
.
isNotBlank
(
bo
.
getName
()),
BizDictData:
:
getName
,
bo
.
getName
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getType
()),
BizDictData:
:
getType
,
bo
.
getType
());
lqw
.
eq
(
bo
.
getParentId
()
!=
null
,
BizDictData:
:
getParentId
,
bo
.
getParentId
());
return
lqw
;
}
/**
* 保存前的数据校验
*
* @param entity 实体类数据
*/
private
void
validEntityBeforeSave
(
BizDictData
entity
)
{
//TODO 做一些数据校验,如唯一约束
//code唯一校验
if
(
StringUtils
.
isNotBlank
(
entity
.
getCode
()))
{
LambdaQueryWrapper
<
BizDictData
>
lqw
=
Wrappers
.
lambdaQuery
();
lqw
.
eq
(
BizDictData:
:
getType
,
entity
.
getType
());
lqw
.
eq
(
BizDictData:
:
getCode
,
entity
.
getCode
());
lqw
.
ne
(
ObjectUtil
.
isNotNull
(
entity
.
getId
()),
BizDictData:
:
getId
,
entity
.
getId
());
List
<
BizDictData
>
dictDataList
=
baseMapper
.
selectList
(
lqw
);
if
(
CollectionUtils
.
isNotEmpty
(
dictDataList
))
{
Assert
.
isTrue
(
false
,
"编码 "
+
entity
.
getCode
()
+
" 已存在"
);
}
}
}
public
List
<
BizDictData
>
buildDeptTree
(
List
<
BizDictData
>
depts
)
{
List
<
BizDictData
>
returnList
=
new
ArrayList
<
BizDictData
>();
List
<
String
>
tempList
=
new
ArrayList
<
String
>();
for
(
BizDictData
dept
:
depts
)
{
tempList
.
add
(
dept
.
getId
());
}
for
(
BizDictData
dept
:
depts
)
{
// 如果是顶级节点, 遍历该父节点的所有子节点
if
(!
tempList
.
contains
(
dept
.
getParentId
()))
{
recursionFn
(
depts
,
dept
);
returnList
.
add
(
dept
);
}
}
if
(
returnList
.
isEmpty
())
{
returnList
=
depts
;
}
return
returnList
;
}
/**
* 递归列表
*/
private
void
recursionFn
(
List
<
BizDictData
>
list
,
BizDictData
t
)
{
// 得到子节点列表
List
<
BizDictData
>
childList
=
getChildList
(
list
,
t
);
t
.
setChildren
(
childList
);
for
(
BizDictData
tChild
:
childList
)
{
if
(
hasChild
(
list
,
tChild
))
{
recursionFn
(
list
,
tChild
);
}
}
}
/**
* 得到子节点列表
*/
private
List
<
BizDictData
>
getChildList
(
List
<
BizDictData
>
list
,
BizDictData
t
)
{
List
<
BizDictData
>
tlist
=
new
ArrayList
<
BizDictData
>();
for
(
BizDictData
n
:
list
)
{
if
(
ObjectUtil
.
isNotNull
(
n
.
getParentId
())
&&
n
.
getParentId
().
equals
(
t
.
getId
()))
{
tlist
.
add
(
n
);
}
}
return
tlist
;
}
/**
* 判断是否有子节点
*/
private
boolean
hasChild
(
List
<
BizDictData
>
list
,
BizDictData
t
)
{
return
getChildList
(
list
,
t
).
size
()
>
0
;
}
@Override
public
String
importDict
(
List
<
BizDictData
>
dictList
,
String
type
,
String
operName
)
{
int
successNum
=
0
;
int
failureNum
=
0
;
StringBuilder
successMsg
=
new
StringBuilder
();
StringBuilder
failureMsg
=
new
StringBuilder
();
for
(
BizDictData
dictData
:
dictList
)
{
try
{
Assert
.
notNull
(
dictData
.
getName
(),
"字典名称不能为空"
);
dictData
.
setType
(
type
);
//查询编码是否重复
validEntityBeforeSave
(
dictData
);
//查询名称是否重复
Assert
.
isFalse
(
baseMapper
.
countByName
(
dictData
.
getName
(),
type
)
!=
0
,
"字典名称已存在"
);
//查询是否有父级
if
(
StrUtil
.
isNotBlank
(
dictData
.
getParentName
()))
{
BizDictData
bizDictData
=
baseMapper
.
findByNameAndType
(
dictData
.
getParentName
(),
type
);
if
(
bizDictData
!=
null
)
{
dictData
.
setParentId
(
bizDictData
.
getId
());
dictData
.
setAncestors
(
bizDictData
.
getAncestors
()
+
","
+
bizDictData
.
getId
());
}
else
{
// bizDictData = new BizDictData();
// bizDictData.setName(dictData.getParentName());
// bizDictData.setType(type);
// this.save(bizDictData);
// dictData.setParentId(bizDictData.getId());
Assert
.
isTrue
(
false
,
"父级 "
+
dictData
.
getParentName
()
+
" 不存在"
);
}
}
else
{
dictData
.
setParentId
(
"0"
);
}
this
.
save
(
dictData
);
successNum
++;
successMsg
.
append
(
"<br/>"
+
successNum
+
"、字典 "
+
dictData
.
getName
()
+
" 导入成功"
);
}
catch
(
Exception
e
)
{
failureNum
++;
String
msg
=
"<br/>"
+
failureNum
+
"、字典 "
+
dictData
.
getName
()
+
" 导入失败:"
;
failureMsg
.
append
(
msg
+
e
.
getMessage
());
log
.
error
(
"BizDictDataServiceImpl.importDict() error:"
+
msg
,
e
);
}
}
if
(
failureNum
>
0
)
{
failureMsg
.
insert
(
0
,
"很抱歉,导入失败!共 "
+
failureNum
+
" 条数据格式不正确,错误如下:"
);
throw
new
ServiceException
(
failureMsg
.
toString
());
}
else
{
successMsg
.
insert
(
0
,
"恭喜您,数据已全部导入成功!共 "
+
successNum
+
" 条,数据如下:"
);
}
return
successMsg
.
toString
();
}
@Override
public
List
<
TreeSelect
>
buildDeptTreeSelect
(
BizDictDataBo
bo
)
{
List
<
BizDictData
>
list
=
baseMapper
.
selectList
(
buildQueryWrapper
(
bo
));
List
<
BizDictData
>
deptTrees
=
buildDeptTree
(
list
);
return
deptTrees
.
stream
().
map
(
TreeSelect:
:
new
).
collect
(
Collectors
.
toList
());
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/impl/CustomerInfoServiceImpl.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.map.MapUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.cscec.domain.DCustomer
;
import
com.dsk.cscec.domain.bo.CustomerInfoBo
;
import
com.dsk.cscec.domain.vo.CustomerInfoVo
;
import
com.dsk.cscec.mapper.DCustomerMapper
;
import
com.dsk.cscec.mapper.DSubcontractMapper
;
import
com.dsk.cscec.service.ICustomerInfoService
;
import
com.dsk.search.service.BusinessOpportunityRadarService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
java.util.Map
;
/**
* 组织维表(DCustomer)表服务实现类
*
* @author
* @since 2023-12-10
*/
@Service
public
class
CustomerInfoServiceImpl
extends
ServiceImpl
<
DCustomerMapper
,
DCustomer
>
implements
ICustomerInfoService
{
@Autowired
private
DSubcontractMapper
subcontractMapper
;
@Autowired
private
BusinessOpportunityRadarService
opportunityRadarService
;
@Override
public
TableDataInfo
<
CustomerInfoVo
>
queryPageList
(
CustomerInfoBo
bo
,
PageQuery
query
)
{
if
(
"劳务分包"
.
equals
(
bo
.
getCustomerClass
())){
bo
.
setServiceTeamLogo
(
"N"
);
}
if
(
"劳务分包队伍"
.
equals
(
bo
.
getCustomerClass
())){
bo
.
setCustomerClass
(
"劳务分包"
);
bo
.
setServiceTeamLogo
(
"Y"
);
}
Page
<
CustomerInfoVo
>
page
=
baseMapper
.
queryListByType
(
query
.
build
(),
bo
);
if
(
CollectionUtils
.
isNotEmpty
(
page
.
getRecords
()))
{
page
.
getRecords
().
parallelStream
().
forEach
(
item
->{
//企业合作数量
item
.
setEnterpriseCooperationCount
(
subcontractMapper
.
selectEnterpriseCountByCustomerId
(
item
.
getCustomerId
()));
//项目合作数量
item
.
setProjectCooperationCount
(
subcontractMapper
.
selectProjectCountByCustomerId
(
item
.
getCustomerId
()));
try
{
Map
<
String
,
Object
>
map
=
opportunityRadarService
.
enterpriseByName
(
item
.
getCustomerName
());
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
"data"
)))
{
Map
<
String
,
Object
>
data
=
BeanUtil
.
beanToMap
(
map
.
get
(
"data"
));
Integer
companyId
=
MapUtil
.
getInt
(
data
,
"jskEid"
);
item
.
setCompanyId
(
companyId
);
}
}
catch
(
Exception
e
){
//
}
});
}
return
TableDataInfo
.
build
(
page
);
}
@Override
public
DCustomer
queryByName
(
String
name
)
{
LambdaQueryWrapper
<
DCustomer
>
lqw
=
Wrappers
.
lambdaQuery
();
lqw
.
eq
(
DCustomer:
:
getCustomerName
,
name
);
lqw
.
orderByDesc
(
DCustomer:
:
getApproveDate2
);
lqw
.
last
(
"limit 1"
);
return
baseMapper
.
selectOne
(
lqw
);
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/impl/DCustomerServiceImpl.java
View file @
2337ae84
...
...
@@ -2,20 +2,18 @@ package com.dsk.cscec.service.impl;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.map.MapUtil
;
import
cn.hutool.core.util.ObjectUtil
;
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
;
import
com.dsk.cscec.domain.DCustomer
;
import
com.dsk.cscec.domain.bo.DCustomerSearchBo
;
import
com.dsk.cscec.mapper.DCustomerMapper
;
import
com.dsk.cscec.domain.DCustomer
;
import
com.dsk.cscec.mapper.DSubcontractMapper
;
import
com.dsk.cscec.service.IDCustomerService
;
import
com.dsk.search.service.BusinessOpportunityRadarService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springdoc.core.converters.models.PageableAsQueryParam
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
...
...
@@ -45,22 +43,22 @@ public class DCustomerServiceImpl extends ServiceImpl<DCustomerMapper, DCustomer
dealWithCustomerClass
(
bo
);
Page
<
DCustomer
>
page
=
baseMapper
.
allSearchList
(
query
.
build
(),
bo
);
if
(
CollectionUtils
.
isNotEmpty
(
page
.
getRecords
()))
{
for
(
DCustomer
customer
:
page
.
getRecords
())
{
page
.
getRecords
().
parallelStream
().
forEach
(
item
->
{
//企业合作数量
customer
.
setEnterpriseCooperationCount
(
subcontractMapper
.
selectEnterpriseCountByCustomerId
(
customer
.
getCustomerId
()));
item
.
setEnterpriseCooperationCount
(
subcontractMapper
.
selectEnterpriseCountByCustomerId
(
item
.
getCustomerId
()));
//项目合作数量
customer
.
setProjectCooperationCount
(
subcontractMapper
.
selectProjectCountByCustomerId
(
customer
.
getCustomerId
()));
item
.
setProjectCooperationCount
(
subcontractMapper
.
selectProjectCountByCustomerId
(
item
.
getCustomerId
()));
try
{
Map
<
String
,
Object
>
map
=
opportunityRadarService
.
enterpriseByName
(
customer
.
getCustomerName
());
Map
<
String
,
Object
>
map
=
opportunityRadarService
.
enterpriseByName
(
item
.
getCustomerName
());
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
"data"
)))
{
Map
<
String
,
Object
>
data
=
BeanUtil
.
beanToMap
(
map
.
get
(
"data"
));
Integer
companyId
=
MapUtil
.
getInt
(
data
,
"jskEid"
);
customer
.
setCompanyId
(
companyId
);
item
.
setCompanyId
(
companyId
);
}
}
catch
(
Exception
e
){
//
}
}
}
);
}
return
TableDataInfo
.
build
(
page
);
}
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/impl/DimAreaServiceImpl.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.dsk.common.constant.CacheNames
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.core.domain.entity.SysDictData
;
import
com.dsk.cscec.domain.vo.RegionVo
;
import
com.dsk.cscec.mapper.DimAreaMapper
;
import
com.dsk.cscec.domain.DimArea
;
import
com.dsk.cscec.service.IDimAreaService
;
import
com.dsk.system.service.ISysDictDataService
;
import
com.dsk.system.service.ISysDictTypeService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cache.annotation.Cacheable
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* (DimArea)表服务实现类
*
* @author lcl
* @since 2023-12-13 13:45:22
*/
@Service
public
class
DimAreaServiceImpl
extends
ServiceImpl
<
DimAreaMapper
,
DimArea
>
implements
IDimAreaService
{
@Autowired
private
ISysDictTypeService
sysDictTypeService
;
private
static
final
String
AREA_TYPE
=
"arealist"
;
// @Cacheable(cacheNames = "", key = "")
@Override
public
List
<
RegionVo
>
allArea
()
{
List
<
RegionVo
>
vos
=
new
ArrayList
<>();
//区域
List
<
SysDictData
>
sysDictData
=
sysDictTypeService
.
selectDictDataByType
(
AREA_TYPE
);
if
(
CollectionUtils
.
isNotEmpty
(
sysDictData
)){
for
(
SysDictData
data
:
sysDictData
)
{
RegionVo
regionVo
=
new
RegionVo
();
regionVo
.
setValue
(
data
.
getDictValue
());
List
<
RegionVo
>
provinceVos
=
new
ArrayList
<>();
//省
List
<
Object
>
provinces
=
baseMapper
.
selectObjs
(
Wrappers
.<
DimArea
>
lambdaQuery
()
.
select
(
DimArea:
:
getAreaName2
)
.
eq
(
DimArea:
:
getAreaName1
,
data
.
getDictValue
())
.
ne
(
DimArea:
:
getAreaName2
,
data
.
getDictValue
())
.
groupBy
(
DimArea:
:
getAreaName2
));
if
(
CollectionUtils
.
isNotEmpty
(
provinces
)){
for
(
Object
province
:
provinces
)
{
RegionVo
provinceVo
=
new
RegionVo
();
provinceVo
.
setValue
(
String
.
valueOf
(
province
));
List
<
RegionVo
>
cityVos
=
new
ArrayList
<>();
//市
List
<
Object
>
citys
=
baseMapper
.
selectObjs
(
Wrappers
.<
DimArea
>
lambdaQuery
()
.
select
(
DimArea:
:
getAreaName3
)
.
eq
(
DimArea:
:
getAreaName2
,
provinceVo
.
getValue
())
.
ne
(
DimArea:
:
getAreaName3
,
provinceVo
.
getValue
())
.
groupBy
(
DimArea:
:
getAreaName3
));
if
(
CollectionUtils
.
isNotEmpty
(
citys
)){
for
(
Object
city
:
citys
)
{
RegionVo
cityVo
=
new
RegionVo
();
cityVo
.
setValue
(
String
.
valueOf
(
city
));
cityVos
.
add
(
cityVo
);
}
}
provinceVo
.
setChildren
(
cityVos
);
provinceVos
.
add
(
provinceVo
);
}
}
regionVo
.
setChildren
(
provinceVos
);
vos
.
add
(
regionVo
);
}
}
return
vos
;
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/impl/IDProjectServiceImpl.java
View file @
2337ae84
package
com
.
dsk
.
cscec
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.baomidou.mybatisplus.core.conditions.Wrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.dsk.cscec.mapper.DProjectMapper
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.common.utils.StringUtils
;
import
com.dsk.cscec.constant.QueryConstants
;
import
com.dsk.cscec.domain.DProject
;
import
com.dsk.cscec.domain.SysAdvisoryBody
;
import
com.dsk.cscec.domain.bo.AdvisoryBodySearchBo
;
import
com.dsk.cscec.domain.bo.ProjectSearchBo
;
import
com.dsk.cscec.domain.vo.AdvisoryBodySearchVo
;
import
com.dsk.cscec.domain.vo.ProjectSearchVo
;
import
com.dsk.cscec.mapper.DProjectMapper
;
import
com.dsk.cscec.mapper.SysAdvisoryBodyMapper
;
import
com.dsk.cscec.service.IDProjectService
;
import
com.dsk.jsk.domain.EnterpriseInfoHeaderBody
;
import
com.dsk.system.utils.DskOpenApiUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.MapUtils
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
/**
*
项目维表(DProject)表服务实现类
*
咨询机构管理
*
* @author makejava
* @since 2023-12-10 15:34:51
*/
@Slf4j
@Service
(
"dProjectService"
)
public
class
IDProjectServiceImpl
extends
ServiceImpl
<
DProjectMapper
,
DProject
>
implements
IDProjectService
{
@Resource
private
DProjectMapper
baseMapper
;
@Resource
private
SysAdvisoryBodyMapper
advisoryBodyMapper
;
@Resource
private
DskOpenApiUtil
dskOpenApiUtil
;
/**
* 获取所有项目列表数据
*
* @param projectSearchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
@Override
public
TableDataInfo
<
ProjectSearchVo
>
queryProjectList
(
ProjectSearchBo
projectSearchBo
,
PageQuery
pageQuery
)
{
//根据咨询机构名称查询对应的项目IDs
String
advisoryBodyName
=
projectSearchBo
.
getAdvisoryBodyName
();
List
<
Long
>
projectIds
=
new
ArrayList
<>();
if
(
StringUtils
.
isNotBlank
(
advisoryBodyName
))
{
for
(
SysAdvisoryBody
sysAdvisoryBody
:
advisoryBodyMapper
.
selectList
(
new
LambdaQueryWrapper
<
SysAdvisoryBody
>()
.
like
(
SysAdvisoryBody:
:
getAdvisoryBodyName
,
advisoryBodyName
)))
{
if
(
ObjectUtil
.
isNotNull
(
sysAdvisoryBody
.
getProjectKey
()))
{
projectIds
.
add
(
sysAdvisoryBody
.
getProjectKey
());
}
}
}
Page
<
ProjectSearchVo
>
page
=
baseMapper
.
selectPageProjectList
(
pageQuery
.
build
(),
this
.
buildProjectQueryWrapper
(
projectSearchBo
,
projectIds
));
//补充咨询机构信息
for
(
ProjectSearchVo
projectSearchVo
:
page
.
getRecords
())
{
SysAdvisoryBody
advisoryBody
=
this
.
getAdvisoryBodyByProjectKey
(
projectSearchVo
.
getProjectKey
());
if
(
ObjectUtil
.
isNotNull
(
advisoryBody
))
{
projectSearchVo
.
setAdvisoryBody
(
advisoryBody
);
}
}
return
TableDataInfo
.
build
(
page
);
}
private
Wrapper
<
DProject
>
buildProjectQueryWrapper
(
ProjectSearchBo
projectSearchBo
,
List
<
Long
>
projectIds
)
{
QueryWrapper
<
DProject
>
wrapper
=
Wrappers
.
query
();
//咨询机构的项目数据取中建一局集团第二建筑有限公司和他的下级组织
wrapper
//承包单位ID
.
eq
(
"p.contract_org_id"
,
QueryConstants
.
LEVEL1_COMPANY_ID
)
//承包单位主键(字段叫主键,但并不是主键)
.
eq
(
"p.contract_org_name"
,
QueryConstants
.
LEVEL1_COMPANY_NAME
)
//项目名称
.
like
(
StringUtils
.
isNotBlank
(
projectSearchBo
.
getProjectName
()),
"p.project_name"
,
projectSearchBo
.
getProjectName
())
//根据咨询机构名称查出来对应的项目ID
.
in
(!
projectIds
.
isEmpty
(),
"p.project_id"
,
projectIds
)
//业主单位
.
like
(
StringUtils
.
isNotBlank
(
projectSearchBo
.
getOwnerUnit
()),
"p.owner_name"
,
projectSearchBo
.
getOwnerUnit
())
//项目创建时间(字段去的合同签约日期)
.
between
(
ObjectUtil
.
isNotNull
(
projectSearchBo
.
getProjectStartTime
())
&&
ObjectUtil
.
isNotNull
(
projectSearchBo
.
getProjectEndTime
()),
"p.sign_date"
,
projectSearchBo
.
getProjectStartTime
(),
projectSearchBo
.
getProjectEndTime
())
//项目承接类型下拉选项
.
eq
(
StringUtils
.
isNotBlank
(
projectSearchBo
.
getProjectUndertakeType
()),
"p.isinvestproject"
,
projectSearchBo
.
getProjectUndertakeType
())
//工程基础大类下拉选项
.
eq
(
StringUtils
.
isNotBlank
(
projectSearchBo
.
getEngineeringFoundationCategory
()),
"p.project_type1"
,
projectSearchBo
.
getEngineeringFoundationCategory
())
//工程类别明细
.
eq
(
StringUtils
.
isNotBlank
(
projectSearchBo
.
getEngineeringCategoryDetail
()),
"p.project_type"
,
projectSearchBo
.
getEngineeringCategoryDetail
())
//合同金额
.
between
(
ObjectUtil
.
isNotNull
(
projectSearchBo
.
getMinContractAmount
())
&&
ObjectUtil
.
isNotNull
(
projectSearchBo
.
getMaxContractAmount
()),
"p.contract_orig_value"
,
projectSearchBo
.
getMinContractAmount
(),
projectSearchBo
.
getMaxContractAmount
())
.
orderByDesc
(
"p.load_time"
);
return
wrapper
;
}
/**
* 根据项目ID查询咨询机构
*
* @param projectKey 项目主键
* @return 咨询机构
*/
private
SysAdvisoryBody
getAdvisoryBodyByProjectKey
(
Long
projectKey
)
{
return
advisoryBodyMapper
.
selectOne
(
new
LambdaQueryWrapper
<
SysAdvisoryBody
>()
.
eq
(
SysAdvisoryBody:
:
getProjectKey
,
projectKey
));
}
/**
* 获取所有企业列表(咨询机构)数据
*
* @param advisoryBodySearchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
@Override
public
TableDataInfo
<
AdvisoryBodySearchVo
>
queryAdvisoryBodyList
(
AdvisoryBodySearchBo
advisoryBodySearchBo
,
PageQuery
pageQuery
)
{
//先按照分页要求从咨询机构表中查出分页数据
QueryWrapper
<
SysAdvisoryBody
>
wrapper
=
Wrappers
.
query
();
Page
<
AdvisoryBodySearchVo
>
page
=
advisoryBodyMapper
.
selectPageAdvisoryBodyList
(
pageQuery
.
build
(),
wrapper
);
//根据咨询机构cid查询对应的企业信息
for
(
AdvisoryBodySearchVo
advisoryBodySearchVo
:
page
.
getRecords
())
{
EnterpriseInfoHeaderBody
infoHeaderBody
=
new
EnterpriseInfoHeaderBody
();
infoHeaderBody
.
setCompanyId
(
Math
.
toIntExact
(
advisoryBodySearchVo
.
getAdvisoryBodyCid
()));
Map
<
String
,
Object
>
companyMap
=
dskOpenApiUtil
.
requestBody
(
"/api/jsk/enterprise/infoHeader"
,
BeanUtil
.
beanToMap
(
infoHeaderBody
,
false
,
false
));
Map
companyData
=
MapUtils
.
getMap
(
companyMap
,
"data"
,
null
);
//最近一次合作时间
advisoryBodySearchVo
.
setLastCooperateTime
(
advisoryBodyMapper
.
selectLastCooperateTime
(
advisoryBodySearchVo
.
getAdvisoryBodyId
()));
advisoryBodySearchVo
.
setBusinessStatus
(
MapUtils
.
getString
(
companyData
,
"businessStatus"
,
""
));
advisoryBodySearchVo
.
setCorporatePerson
(
MapUtils
.
getString
(
companyData
,
"corporatePerson"
,
""
));
String
provinceName
=
MapUtils
.
getString
(
companyData
,
"provinceName"
,
""
);
String
cityName
=
MapUtils
.
getString
(
companyData
,
"cityName"
,
""
);
String
districtName
=
MapUtils
.
getString
(
companyData
,
"districtName"
,
""
);
advisoryBodySearchVo
.
setRegCapital
(
provinceName
+
cityName
+
districtName
);
advisoryBodySearchVo
.
setRegArea
(
MapUtils
.
getString
(
companyData
,
"regArea"
,
""
));
advisoryBodySearchVo
.
setRegisteredDate
(
MapUtils
.
getString
(
companyData
,
"registeredDate"
,
""
));
advisoryBodySearchVo
.
setBusinessScope
(
MapUtils
.
getString
(
companyData
,
"businessScope"
,
""
));
//合作项目数量
advisoryBodySearchVo
.
setCooperateProjectCount
(
advisoryBodyMapper
.
selectCount
(
new
LambdaQueryWrapper
<
SysAdvisoryBody
>()
.
eq
(
SysAdvisoryBody:
:
getAdvisoryBodyId
,
advisoryBodySearchVo
.
getAdvisoryBodyId
())));
}
return
TableDataInfo
.
build
(
page
);
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/impl/SysAdvisoryBodyServiceImpl.java
0 → 100644
View file @
2337ae84
package
com
.
dsk
.
cscec
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.dsk.cscec.mapper.SysAdvisoryBodyMapper
;
import
com.dsk.cscec.domain.SysAdvisoryBody
;
import
com.dsk.cscec.service.SysAdvisoryBodyService
;
import
org.springframework.stereotype.Service
;
/**
* 咨询机构(SysAdvisoryBody)表服务实现类
*
* @author sxk
* @since 2023-12-12 10:12:09
*/
@Service
(
"sysAdvisoryBodyService"
)
public
class
SysAdvisoryBodyServiceImpl
extends
ServiceImpl
<
SysAdvisoryBodyMapper
,
SysAdvisoryBody
>
implements
SysAdvisoryBodyService
{
}
dsk-module/dsk-biz-api/src/main/resources/mapper/cscec/BizDictDataMapper.xml
0 → 100644
View file @
2337ae84
<?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.BizDictDataMapper"
>
<resultMap
type=
"com.dsk.cscec.domain.BizDictData"
id=
"BizDictDataResult"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"code"
column=
"code"
/>
<result
property=
"name"
column=
"name"
/>
<result
property=
"type"
column=
"type"
/>
<result
property=
"parentId"
column=
"parent_id"
/>
<result
property=
"remark"
column=
"remark"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id,code,name,type,parent_id,remark
</sql>
<select
id=
"findIdByName"
resultType=
"java.lang.Long"
>
select id from biz_dict_data where `name` like concat('%',#{name},'%')
</select>
<select
id=
"findByNameAndType"
resultType=
"com.dsk.cscec.domain.BizDictData"
>
select id,name,code,ancestors from biz_dict_data
where `name` = #{name}
and type = #{type}
and del_flag = 0
</select>
<select
id=
"countByName"
resultType=
"java.lang.Integer"
>
SELECT
count( id )
FROM
biz_dict_data
WHERE
del_flag = 0
<if
test=
"type != null and type != ''"
>
AND `type` = #{type}
</if>
AND `name` = #{name}
</select>
<select
id=
"exportListVo"
resultType=
"com.dsk.cscec.domain.BizDictData"
>
select t.id,t.name,t.parent_id,t1.name parentName, t.unit,t.remark,t.code,t.feature from biz_dict_data t
left join biz_dict_data t1 on t.parent_id=t1.id
where
t.del_flag=0
and t.`type`=#{bo.type}
<if
test=
"bo.name != null and bo.name != ''"
>
and (t.name like concat('%',#{bo.name},'%') or t1.name like concat('%',#{bo.name},'%'))
</if>
</select>
<select
id=
"queryByID"
resultType=
"com.dsk.cscec.domain.BizDictData"
>
select
<include
refid=
"Base_Column_List"
/>
from biz_dict_data where del_flag = 0
and id = #{id}
</select>
</mapper>
dsk-module/dsk-biz-api/src/main/resources/mapper/cscec/DCustomerMapper.xml
View file @
2337ae84
This diff is collapsed.
Click to expand it.
dsk-module/dsk-biz-api/src/main/resources/mapper/cscec/DProjectMapper.xml
View file @
2337ae84
...
...
@@ -5,5 +5,20 @@
<mapper
namespace=
"com.dsk.cscec.mapper.DProjectMapper"
>
<select
id=
"selectPageProjectList"
resultType=
"com.dsk.cscec.domain.vo.ProjectSearchVo"
>
select p.project_key,
p.project_id,
p.project_name,
p.project_code,
p.province_name,
p.isinvestproject,
p.project_type1,
p.project_type,
p.contract_orig_value,
p.owner_name,
p.contract_org_name,
p.load_time
from d_project p
${ew.getCustomSqlSegment}
</select>
</mapper>
\ No newline at end of file
dsk-module/dsk-biz-api/src/main/resources/mapper/cscec/SysAdvisoryBodyMapper.xml
0 → 100644
View file @
2337ae84
<?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.SysAdvisoryBodyMapper"
>
<select
id=
"selectLastCooperateTime"
resultType=
"java.util.Date"
>
select ab.create_time
from sys_advisory_body ab
where ab.advisory_body_id = ${advisoryBodyId};
</select>
<select
id=
"selectPageAdvisoryBodyList"
resultType=
"com.dsk.cscec.domain.vo.AdvisoryBodySearchVo"
>
select advisory_body_id,
project_id,
advisory_body_name,
legal_person,
legal_person_phone,
reg_address,
project_leader,
project_leader_major,
project_leader_phone,
settle_star_time,
settle_finish_time,
is_final_judge_unit
from sys_advisory_body ${ew.getCustomSqlSegment}
</select>
</mapper>
\ No newline at end of file
dsk-operate-ui/.env.development
View file @
2337ae84
...
...
@@ -13,7 +13,7 @@ VUE_CLI_BABEL_TRANSPILE_MODULES = true
# 子系统地址
# VUE_APP_SUB_SYSTEM_ADDRESS = "https://pre-plug.jiansheku.com"
VUE_APP_SUB_SYSTEM_ADDRESS = "http://192.168.60.
104
:3400"
VUE_APP_SUB_SYSTEM_ADDRESS = "http://192.168.60.
210
:3400"
# Bi大屏系统地址
VUE_APP_BI_SYSTEM_ADDRESS = "https://192.168.60.104:8001"
\ No newline at end of file
dsk-operate-ui/src/api/consultingOrgManagement/index.js
0 → 100644
View file @
2337ae84
import
request
from
'@/utils/request'
;
/**
* 咨询机构合作台账 查询列表 以及 查询参数
* @param {object} params
* @returns
*/
export
const
getConsultingOrgProjectListWithSearchApi
=
(
params
)
=>
request
({
url
:
"/advisory/body/getProjectList"
,
method
:
"get"
,
params
});
\ No newline at end of file
dsk-operate-ui/src/assets/icons/svg/bigDataTag.svg
0 → 100644
View file @
2337ae84
<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_04941"
><rect
x=
"0"
y=
"0"
width=
"16"
height=
"16"
rx=
"0"
/></clipPath></defs><g
clip-path=
"url(#master_svg0_233_92225/11_04941)"
><g><path
d=
"M0.5,3.5L0.5,12.5Q0.5,13.1213,0.93934,13.5607Q1.3786800000000001,14,2,14L14,14Q14.6213,14,15.0607,13.5607Q15.5,13.1213,15.5,12.5L15.5,3.5Q15.5,2.878679,15.0607,2.4393399Q14.6213,2,14,2L2,2Q1.3786800000000001,2,0.9393398,2.4393399Q0.5,2.87868,0.5,3.5ZM1.646447,12.8536Q1.5,12.7071,1.5,12.5L1.5,3.5Q1.5,3.292893,1.646447,3.146447Q1.7928929999999998,3,2,3L14,3Q14.2071,3,14.3536,3.146447Q14.5,3.292894,14.5,3.5L14.5,12.5Q14.5,12.7071,14.3536,12.8536Q14.2071,13,14,13L2,13Q1.792894,13,1.646447,12.8536Z"
fill-rule=
"evenodd"
fill=
"#FFFFFF"
fill-opacity=
"1"
/></g><g><path
d=
"M7.5,10L7.5,11Q7.5,11.04925,7.509607,11.09755Q7.519215,11.14585,7.53806,11.19134Q7.556906,11.23684,7.584265,11.27779Q7.611625,11.31873,7.646447,11.35356Q7.681269,11.38838,7.722215,11.41574Q7.763161,11.4431,7.808658,11.46194Q7.854155,11.48079,7.9024549,11.49039Q7.9507543,11.5,8,11.5Q8.0492457,11.5,8.0975451,11.49039Q8.145845,11.48079,8.191342,11.46194Q8.236839,11.4431,8.277785,11.41574Q8.318731,11.38838,8.353553,11.35356Q8.388375,11.31873,8.415735,11.27779Q8.443094,11.23684,8.46194,11.19134Q8.480785000000001,11.14585,8.490393,11.09755Q8.5,11.04925,8.5,11L8.5,10Q8.5,9.9507543,8.490393,9.9024549Q8.480785000000001,9.854155,8.46194,9.808658Q8.443094,9.763161,8.415735,9.722215Q8.388375,9.681269,8.353553,9.646447Q8.318731,9.611625,8.277785,9.584265Q8.236839,9.556906,8.191342,9.53806Q8.145845,9.519214999999999,8.0975451,9.509607Q8.0492457,9.5,8,9.5Q7.9507543,9.5,7.9024549,9.509607Q7.854155,9.519214999999999,7.808658,9.53806Q7.763161,9.556906,7.722215,9.584265Q7.681269,9.611625,7.646447,9.646447Q7.611625,9.681269,7.584265,9.722215Q7.556906,9.763161,7.53806,9.808658Q7.519215,9.854155,7.509607,9.9024549Q7.5,9.9507543,7.5,10Z"
fill-rule=
"evenodd"
fill=
"#FFFFFF"
fill-opacity=
"1"
/></g><g><path
d=
"M5.5,9L5.5,11Q5.5,11.04925,5.509607,11.09754Q5.519215,11.14584,5.53806,11.19134Q5.556906,11.23684,5.584265,11.27778Q5.611625,11.31873,5.646447,11.35355Q5.681269,11.38838,5.722215,11.41573Q5.763161,11.44309,5.808658,11.46194Q5.854155,11.48078,5.9024549,11.49039Q5.9507543,11.5,6,11.5Q6.0492457,11.5,6.0975451,11.49039Q6.145845,11.48078,6.191342,11.46194Q6.236839,11.44309,6.277785,11.41573Q6.318731,11.38838,6.353553,11.35355Q6.388375,11.31873,6.415735,11.27779Q6.443094,11.23684,6.46194,11.19134Q6.480785,11.14584,6.490393,11.09754Q6.5,11.04925,6.5,11L6.5,9Q6.5,8.9507543,6.490393,8.9024549Q6.480785,8.854155,6.46194,8.808658Q6.443094,8.763161,6.415735,8.722215Q6.388375,8.681269,6.353553,8.646447Q6.318731,8.611625,6.277785,8.584265Q6.236839,8.556906,6.191342,8.53806Q6.145845,8.519214999999999,6.0975451,8.509607Q6.0492457,8.5,6,8.5Q5.9507543,8.5,5.9024549,8.509607Q5.854155,8.519214999999999,5.808658,8.53806Q5.763161,8.556906,5.722215,8.584265Q5.681269,8.611625,5.646447,8.646447Q5.611625,8.681269,5.584265,8.722215Q5.556906,8.763161,5.53806,8.808658Q5.519215,8.854155,5.509607,8.9024549Q5.5,8.9507543,5.5,9Z"
fill-rule=
"evenodd"
fill=
"#FFFFFF"
fill-opacity=
"1"
/></g><g><path
d=
"M3.5,7L3.5,11Q3.5,11.04925,3.509607,11.09755Q3.519215,11.14584,3.5380599999999998,11.19134Q3.556906,11.23684,3.584265,11.27778Q3.611625,11.31873,3.646447,11.35355Q3.681269,11.38837,3.722215,11.41573Q3.763161,11.44309,3.808658,11.46194Q3.854155,11.48078,3.9024549,11.49039Q3.9507543,11.5,4,11.5Q4.0492457,11.5,4.0975451,11.49039Q4.145845,11.48078,4.191342,11.46194Q4.236839,11.44309,4.277785,11.41573Q4.318731,11.38837,4.353553,11.35355Q4.388375,11.31873,4.415735,11.27778Q4.443094,11.23684,4.46194,11.19134Q4.480785,11.14584,4.490393,11.09755Q4.5,11.04925,4.5,11L4.5,7Q4.5,6.9507543,4.490393,6.9024549Q4.480785,6.854155,4.46194,6.808658Q4.443094,6.763161,4.415735,6.722215Q4.388375,6.681269,4.353553,6.646447Q4.318731,6.611625,4.277785,6.584265Q4.236839,6.556906,4.191342,6.53806Q4.145845,6.519215,4.0975451,6.509607Q4.0492457,6.5,4,6.5Q3.9507543,6.5,3.9024549,6.509607Q3.854155,6.519215,3.808658,6.53806Q3.763161,6.556906,3.722215,6.584265Q3.681269,6.611625,3.646447,6.646447Q3.611625,6.681269,3.584265,6.722215Q3.556906,6.763161,3.5380599999999998,6.808658Q3.519215,6.854155,3.509607,6.9024549Q3.5,6.9507543,3.5,7Z"
fill-rule=
"evenodd"
fill=
"#FFFFFF"
fill-opacity=
"1"
/></g><g><ellipse
cx=
"10.3787841796875"
cy=
"6.1363677978515625"
rx=
"1.5"
ry=
"1.5"
fill-opacity=
"0"
stroke-opacity=
"1"
stroke=
"#FFFFFF"
fill=
"none"
stroke-width=
"1"
/></g><g><path
d=
"M11.5252901796875,7.989980797851563L12.5252311796875,8.989917797851563Q12.5955571796875,9.060247797851563,12.6874421796875,9.098307797851563Q12.7793281796875,9.136367797851562,12.8787841796875,9.136367797851562Q12.9782441796875,9.136367797851562,13.0701241796875,9.098307797851563Q13.1620141796875,9.060247797851563,13.2323341796875,8.989917797851563Q13.3026641796875,8.919597797851562,13.3407241796875,8.827707797851563Q13.3787841796875,8.735827797851563,13.3787841796875,8.636367797851562Q13.3787841796875,8.536911797851563,13.3407241796875,8.445025797851562Q13.3026641796875,8.353140797851562,13.2323341796875,8.282814797851563L12.2323971796875,7.282873797851563L12.2323371796875,7.282814797851563Q12.1620111796875,7.212487797851563,12.0701261796875,7.174427797851562Q11.9782403796875,7.1363677978515625,11.8787841796875,7.1363677978515625Q11.7793279796875,7.1363677978515625,11.6874421796875,7.174427797851562Q11.5955571796875,7.212487797851563,11.5252311796875,7.282814797851563Q11.4549041796875,7.353140797851562,11.4168441796875,7.445025797851563Q11.3787841796875,7.536911597851563,11.3787841796875,7.6363677978515625Q11.3787841796875,7.735823997851562,11.4168441796875,7.827709797851562Q11.4549041796875,7.919594797851563,11.5252311796875,7.989920797851562L11.5252901796875,7.989980797851563Z"
fill-rule=
"evenodd"
fill=
"#FFFFFF"
fill-opacity=
"1"
/></g></g></svg>
\ No newline at end of file
dsk-operate-ui/src/assets/icons/svg/bigDataTags.svg
0 → 100644
View file @
2337ae84
<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_80202"
><rect
x=
"0"
y=
"0"
width=
"14"
height=
"14"
rx=
"0"
/></clipPath></defs><g
clip-path=
"url(#master_svg0_264_80202)"
><g><path
d=
"M0.5,3L0.5,11Q0.5,11.62132,0.93934,12.0607Q1.3786800000000001,12.5,2,12.5L12,12.5Q12.6213,12.5,13.0607,12.0607Q13.5,11.62132,13.5,11L13.5,3Q13.5,2.378679,13.0607,1.9393399Q12.6213,1.5,12,1.5L2,1.5Q1.3786800000000001,1.5,0.9393398,1.9393399Q0.5,2.37868,0.5,3ZM1.646447,11.35355Q1.5,11.20711,1.5,11L1.5,3Q1.5,2.792893,1.646447,2.646447Q1.7928929999999998,2.5,2,2.5L12,2.5Q12.2071,2.5,12.3536,2.646447Q12.5,2.792894,12.5,3L12.5,11Q12.5,11.20711,12.3536,11.35355Q12.2071,11.5,12,11.5L2,11.5Q1.792894,11.5,1.646447,11.35355Z"
fill-rule=
"evenodd"
fill=
"#86909C"
fill-opacity=
"1"
/></g><g><path
d=
"M6.5,8.75L6.5,9.625002Q6.5,9.674248,6.509607,9.722547Q6.519215,9.77085,6.53806,9.81634Q6.556906,9.86184,6.584265,9.90279Q6.611625,9.94373,6.646447,9.97856Q6.681269,10.01338,6.722215,10.04074Q6.763161,10.0681,6.808658,10.08694Q6.854155,10.10579,6.9024549,10.11539Q6.9507543,10.125,7,10.125Q7.0492457,10.125,7.0975451,10.11539Q7.145845,10.10579,7.191342,10.08694Q7.236839,10.0681,7.277785,10.04074Q7.318731,10.01338,7.353553,9.97856Q7.388375,9.94373,7.415735,9.90279Q7.443094,9.86184,7.46194,9.81634Q7.480785,9.77085,7.490393,9.722547Q7.5,9.674248,7.5,9.625002L7.5,8.75Q7.5,8.7007543,7.490393,8.6524549Q7.480785,8.604155,7.46194,8.558658Q7.443094,8.513161,7.415735,8.472215Q7.388375,8.431269,7.353553,8.396447Q7.318731,8.361625,7.277785,8.334265Q7.236839,8.306906,7.191342,8.28806Q7.145845,8.269214999999999,7.0975451,8.259607Q7.0492457,8.25,7,8.25Q6.9507543,8.25,6.9024549,8.259607Q6.854155,8.269214999999999,6.808658,8.28806Q6.763161,8.306906,6.722215,8.334265Q6.681269,8.361625,6.646447,8.396447Q6.611625,8.431269,6.584265,8.472215Q6.556906,8.513161,6.53806,8.558658Q6.519215,8.604155,6.509607,8.6524549Q6.5,8.7007543,6.5,8.75Z"
fill-rule=
"evenodd"
fill=
"#86909C"
fill-opacity=
"1"
/></g><g><path
d=
"M4.75,7.875L4.75,9.625Q4.75,9.67425,4.759607,9.72254Q4.769215,9.77084,4.78806,9.81634Q4.806906,9.86184,4.834265,9.90278Q4.861625,9.94373,4.896447,9.97855Q4.931269,10.01337,4.972215,10.04073Q5.013161,10.06809,5.058658,10.08694Q5.104155,10.10578,5.1524549,10.11539Q5.2007543,10.125,5.25,10.125Q5.2992457,10.125,5.3475451,10.11539Q5.395845,10.10578,5.441342,10.08694Q5.486839,10.06809,5.527785,10.04073Q5.568731,10.01337,5.603553,9.97855Q5.638375,9.94373,5.665735,9.90278Q5.693094,9.86184,5.71194,9.81634Q5.730785,9.77084,5.740393,9.72254Q5.75,9.67425,5.75,9.625L5.75,7.875Q5.75,7.8257543,5.740393,7.7774549Q5.730785,7.729155,5.71194,7.683658Q5.693094,7.638161,5.665735,7.597215Q5.638375,7.556269,5.603553,7.521447Q5.568731,7.486625,5.527785,7.459265Q5.486839,7.431906,5.441342,7.41306Q5.395845,7.394215,5.3475451,7.384607Q5.2992457,7.375,5.25,7.375Q5.2007543,7.375,5.1524549,7.384607Q5.104155,7.394215,5.058658,7.41306Q5.013161,7.431906,4.972215,7.459265Q4.931269,7.486625,4.896447,7.521447Q4.861625,7.556269,4.834265,7.597215Q4.806906,7.638161,4.78806,7.683658Q4.769215,7.729155,4.759607,7.7774549Q4.75,7.8257543,4.75,7.875Z"
fill-rule=
"evenodd"
fill=
"#86909C"
fill-opacity=
"1"
/></g><g><path
d=
"M3,6.125L3,9.625Q3,9.67425,3.009607,9.72254Q3.019215,9.77084,3.0380599999999998,9.81634Q3.056906,9.86184,3.084265,9.90278Q3.111625,9.94373,3.146447,9.97855Q3.181269,10.01338,3.222215,10.04073Q3.263161,10.06809,3.308658,10.08694Q3.354155,10.10578,3.4024549,10.11539Q3.4507543,10.125,3.5,10.125Q3.5492457,10.125,3.5975451,10.11539Q3.645845,10.10578,3.691342,10.08694Q3.736839,10.06809,3.777785,10.04073Q3.818731,10.01338,3.853553,9.97855Q3.888375,9.94373,3.915735,9.90278Q3.943094,9.86184,3.9619400000000002,9.81634Q3.980785,9.77084,3.990393,9.72254Q4,9.67425,4,9.625L4,6.125Q4,6.0757543,3.990393,6.0274549Q3.980785,5.979155,3.9619400000000002,5.933658Q3.943094,5.888161,3.915735,5.847215Q3.888375,5.806269,3.853553,5.771447Q3.818731,5.736625,3.777785,5.709265Q3.736839,5.681906,3.691342,5.66306Q3.645845,5.644215,3.5975451,5.634607Q3.5492457,5.625,3.5,5.625Q3.4507543,5.625,3.4024549,5.634607Q3.354155,5.644215,3.308658,5.66306Q3.263161,5.681906,3.222215,5.709265Q3.181269,5.736625,3.146447,5.771447Q3.111625,5.806269,3.084265,5.847215Q3.056906,5.888161,3.0380599999999998,5.933658Q3.019215,5.979155,3.009607,6.0274549Q3,6.0757543,3,6.125Z"
fill-rule=
"evenodd"
fill=
"#86909C"
fill-opacity=
"1"
/></g><g><ellipse
cx=
"9.081436157226562"
cy=
"5.36932373046875"
rx=
"1.3125"
ry=
"1.3125"
fill-opacity=
"0"
stroke-opacity=
"1"
stroke=
"#86909C"
fill=
"none"
stroke-width=
"1"
/></g><g><path
d=
"M10.040442157226563,7.03543673046875L10.915383157226563,7.91037373046875Q10.985709157226562,7.9807037304687505,11.077594157226562,8.01876373046875Q11.169480157226563,8.05682373046875,11.268936157226562,8.05682373046875Q11.368392157226562,8.05682373046875,11.460276157226563,8.01876373046875Q11.552166157226562,7.9807037304687505,11.622486157226563,7.91037373046875Q11.692816157226563,7.84005373046875,11.730876157226563,7.74816373046875Q11.768936157226562,7.65627973046875,11.768936157226562,7.55682373046875Q11.768936157226562,7.45736773046875,11.730876157226563,7.36548173046875Q11.692816157226563,7.27359673046875,11.622486157226563,7.20327073046875L10.747549157226562,6.3283297304687505L10.747489157226562,6.32827073046875Q10.677163157226563,6.25794373046875,10.585278157226563,6.21988373046875Q10.493392357226563,6.18182373046875,10.393936157226562,6.18182373046875Q10.294479957226562,6.18182373046875,10.202594157226562,6.21988373046875Q10.110709157226562,6.25794373046875,10.040383157226563,6.32827073046875Q9.970056157226562,6.39859673046875,9.931996157226562,6.49048173046875Q9.893936157226562,6.58236753046875,9.893936157226562,6.68182373046875Q9.893936157226562,6.78127993046875,9.931996157226562,6.87316573046875Q9.970056157226562,6.96505073046875,10.040383157226563,7.03537673046875L10.040442157226563,7.03543673046875Z"
fill-rule=
"evenodd"
fill=
"#86909C"
fill-opacity=
"1"
/></g></g></svg>
\ No newline at end of file
dsk-operate-ui/src/assets/images/consultingAgencyManagement/lock.png
0 → 100644
View file @
2337ae84
688 Bytes
dsk-operate-ui/src/assets/images/consultingAgencyManagement/use-header-btn.png
0 → 100644
View file @
2337ae84
530 Bytes
dsk-operate-ui/src/assets/styles/common.css
View file @
2337ae84
...
...
@@ -55,3 +55,13 @@
padding
:
16px
24px
;
box-sizing
:
border-box
;
}
.head-enter-active
,
.head-leave-active
{
transition
:
all
0.5s
ease
;
}
.head-enter
,
.head-leave-to
{
opacity
:
0
;
transform
:
translateY
(
50px
);
}
dsk-operate-ui/src/assets/styles/el-search-form-public.scss
View file @
2337ae84
...
...
@@ -41,6 +41,16 @@
}
}
.el-input__suffix
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
.el-input__icon
{
line-height
:
32px
;
}
}
.el-date-editor
{
width
:
268px
;
height
:
32px
;
...
...
@@ -60,6 +70,9 @@
.el-range__close-icon
{
line-height
:
32px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
.el-range-separator
{
...
...
dsk-operate-ui/src/assets/styles/index.scss
View file @
2337ae84
...
...
@@ -464,21 +464,30 @@ li {
height
:
100%
;
font-size
:
14px
;
color
:
#232323
;
.cell
{
padding-right
:
12px
;
padding-left
:
12px
;
line-height
:
21px
;
font-size
:
12px
;
font-weight
:
400
;
}
th
{
height
:
40px
;
font-size
:
12px
!
important
;
font-weight
:
400
!
important
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
padding
:
9px
0px
;
.cell
{
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
}
}
td
{
font-size
:
14px
;
}
.cell
{
padding-right
:
12px
;
padding-left
:
12px
;
line-height
:
21px
;
padding
:
9px
0px
;
.cell
{
color
:
#232323
;
}
}
.sort-caret.ascending
{
border-bottom-color
:
rgba
(
0
,
129
,
255
,
0
.5
);
}
...
...
@@ -505,10 +514,7 @@ li {
.is-scrolling-left
+
.el-table__fixed
,
.is-scrolling-middle
+
.el-table__fixed
,
.is-scrolling-right
+
.el-table__fixed
{
//box-shadow:none;
//-webkit-box-shadow: 2px 0px 1px -2px #C3CBD5;
box-shadow
:
2px
0
8px
-7px
#202020
;
//border-right: 1px solid #C3CBD5;
height
:
auto
!
important
;
bottom
:
16px
!
important
;
}
...
...
dsk-operate-ui/src/components/DskAmountRange/index.vue
View file @
2337ae84
...
...
@@ -76,7 +76,7 @@ export default {
.dsk-range-start
,
.dsk-range-end
{
&
.dsk-amount-ipt.el-input
{
line-height
:
20px
;
line-height
:
1
;
height
:
100%
;
.el-input__inner
{
line-height
:
1
;
...
...
dsk-operate-ui/src/components/DskTableHeaderSetting/components/SettingBar/index.vue
View file @
2337ae84
<
template
>
<transition>
<div
class=
"dsk-table-header-setting-bar"
>
<div
class=
"dsk-table-header-setting-bar"
:class=
"
{'is-outer' : isOuter}"
>
<div
class=
"dsk-table-header-setting-bar-inner"
>
<!-- 固定表头 -->
<div
class=
"lock-header-container"
v-if=
"lockColumn.length"
>
<div
class=
"lock-header-item"
v-for=
"(item,index) of lockColumn"
:key=
"item.uid"
>
<img
src=
"@/assets/images/consultingAgencyManagement/lock.png"
alt=
""
>
<div
class=
"lock-header-item-label"
>
{{
item
.
label
}}
</div>
</div>
</div>
<!-- 已选字段 -->
<div
class=
"use-header-container"
v-if=
"useColumn.length"
>
<div
class=
"use-header-title"
>
已选字段
</div>
<vuedraggable
v-model=
"useColumn"
class=
"use-header-container-inner"
ghostClass=
"dragClass"
>
<transition-group
name=
"fade"
tag=
"div"
>
<div
class=
"use-header-item"
v-for=
"(item,index) of useColumn"
:key=
"item.uid"
>
<el-checkbox
v-model=
"item.use"
class=
"use-header-item-label"
@
change=
"flag => checkedChange(index,flag,item)"
>
{{
item
.
label
}}
</el-checkbox>
<img
src=
"@/assets/images/consultingAgencyManagement/use-header-btn.png"
alt=
""
>
</div>
</transition-group>
</vuedraggable>
</div>
<!-- 未选字段 -->
<div
class=
"not-use-header-container"
v-if=
"notUseColumn.length"
>
<div
class=
"not-use-header-title"
>
未选字段
</div>
<div
class=
"not-use-header-item"
v-for=
"(item,index) of notUseColumn"
:key=
"item.uid"
>
<el-checkbox
v-model=
"item.use"
class=
"not-use-header-item-label"
@
change=
"flag => checkedChange(index,flag,item)"
>
{{
item
.
label
}}
</el-checkbox>
</div>
</div>
</div>
<!-- 确定 取消 -->
<div
class=
"dsk-table-header-setting-footer"
>
<el-button
@
click
.
stop=
"cancel"
>
取消
</el-button>
<el-button
type=
"primary"
@
click
.
stop=
"ok"
>
确定
</el-button>
</div>
</div>
</transition>
</
template
>
<
script
>
import
vuedraggable
from
"vuedraggable"
;
import
{
v4
}
from
'uuid'
;
export
default
{
name
:
"dskTableHeaderSettingBar"
,
components
:
{
...
...
@@ -24,11 +63,13 @@ export default {
return
{
lockColumn
:
[],
useColumn
:
[],
notUseColumn
:
[]
notUseColumn
:
[],
isOuter
:
false
};
},
//可访问data属性
created
()
{
this
.
containerPositionInit
();
this
.
settingHeaderClassify
();
},
//计算集
...
...
@@ -37,32 +78,75 @@ export default {
},
//方法集
methods
:
{
async
containerPositionInit
()
{
try
{
await
this
.
$nextTick
();
const
container
=
document
.
querySelector
(
".dsk-table-header-setting"
);
// 获取定位元素距离 视口右边缘状况
const
right
=
container
.
getBoundingClientRect
().
right
;
// 获取屏幕视口大小进行对比
const
viewPortWidth
=
document
.
documentElement
.
clientWidth
;
// 获取当前容器超出点击区域宽度
const
settingBar
=
document
.
querySelector
(
".dsk-table-header-setting-bar"
).
offsetWidth
-
container
.
offsetWidth
;
// 是否超出视口
const
outer
=
right
+
settingBar
>
viewPortWidth
?
true
:
false
;
this
.
isOuter
=
outer
;
}
catch
(
error
)
{
}
},
// 表头当前状态分类
settingHeaderClassify
()
{
if
(
this
.
settingList
?.
length
)
{
const
temp
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
settingList
));
const
len
=
temp
.
length
;
for
(
let
index
=
0
;
index
<
len
;
index
++
)
{
temp
[
index
].
uid
=
v4
();
if
(
temp
[
index
].
lock
)
{
this
.
lockColumn
.
push
({
...
temp
[
index
],
use
:
true
use
:
true
,
});
continue
;
}
// 设置了false值
if
(
temp
[
index
].
hasOwnProperty
(
"use"
)
&&
temp
[
index
].
use
===
false
)
{
this
.
notUseColumn
.
push
(
temp
[
index
]);
this
.
notUseColumn
.
push
({
...
temp
[
index
],
use
:
false
});
continue
;
}
// 默认为true 展示
this
.
useColumn
.
push
({
...
temp
[
index
],
use
:
true
use
:
true
,
});
}
console
.
log
(
this
.
useColumn
);
// console.log(this.lockColumn);
// console.log(this.useColumn);
// console.log(this.notUseColumn);
}
},
checkedChange
(
index
,
flag
,
item
)
{
// 选中 往use push
if
(
flag
)
{
this
.
notUseColumn
.
splice
(
index
,
1
);
this
.
useColumn
.
push
(
item
);
return
;
}
this
.
useColumn
.
splice
(
index
,
1
);
this
.
notUseColumn
.
push
(
item
);
},
cancel
()
{
this
.
$emit
(
"settingClose"
);
},
ok
()
{
const
_lockColumn
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
lockColumn
));
const
_useColumn
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
useColumn
));
const
_notUseColumn
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
notUseColumn
));
this
.
$emit
(
"settingChange"
,
_lockColumn
.
concat
(
_useColumn
,
_notUseColumn
));
this
.
cancel
();
}
},
}
...
...
@@ -70,19 +154,155 @@ export default {
<
style
lang=
"scss"
scoped
>
.dsk-table-header-setting-bar
{
position
:
absolute
;
top
:
2
4
px
;
top
:
2
8
px
;
left
:
0px
;
width
:
236px
;
height
:
456px
;
background
:
#fff
;
border
:
1px
solid
#eeeeee
;
border-radius
:
4px
;
box-sizing
:
border-box
;
z-index
:
3000
;
box-shadow
:
0
2px
4px
rgba
(
0
,
0
,
0
,
0
.12
)
,
0
0
6px
rgba
(
0
,
0
,
0
,
0
.04
);
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
);
&
.is-outer
{
left
:
unset
;
right
:
0px
;
}
.dsk-table-header-setting-bar-inner
{
width
:
100%
;
height
:
100%
;
height
:
calc
(
100%
-
56px
);
padding
:
12px
;
box-sizing
:
border-box
;
overflow-y
:
auto
;
&
:
:-
webkit-scrollbar
{
width
:
16px
;
}
&
:
:-
webkit-scrollbar-track
{
background
:
#f3f4f5
;
}
&
:
:-
webkit-scrollbar-thumb
{
border-radius
:
4px
;
border
:
4px
solid
#f3f4f5
;
background
:
rgba
(
98
,
110
,
126
,
0
.2
);
}
.lock-header-container
{
padding-bottom
:
12px
;
border-bottom
:
1px
solid
#eeeeee
;
box-sizing
:
border-box
;
.lock-header-item
{
display
:
flex
;
align-items
:
center
;
line-height
:
24px
;
font-size
:
14px
;
color
:
#232323
;
&
>
img
{
width
:
14px
;
height
:
14px
;
margin-right
:
8px
;
}
}
}
::v-deep
.use-header-container
{
padding
:
12px
0px
;
box-sizing
:
border-box
;
.dragClass
{
background
:
rgba
(
0
,
129
,
255
,
0
.3
);
}
.use-header-title
{
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
font-size
:
14px
;
font-weight
:
400
;
}
.use-header-item
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
margin-top
:
8px
;
cursor
:
pointer
;
.el-checkbox__input.is-checked
.el-checkbox__inner
{
background-color
:
#0081ff
;
border-color
:
#0081ff
;
}
.el-checkbox__inner
:hover
{
border-color
:
#0081ff
;
}
.el-checkbox__label
{
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
font-size
:
14px
;
padding-left
:
8px
;
}
&
>
img
{
width
:
14px
;
height
:
14px
;
}
}
}
::v-deep
.not-use-header-container
{
border-top
:
1px
solid
#eeeeee
;
padding
:
12px
0px
;
box-sizing
:
border-box
;
.not-use-header-title
{
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
font-size
:
14px
;
font-weight
:
400
;
}
.not-use-header-item
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
margin-top
:
8px
;
.el-checkbox__input.is-checked
.el-checkbox__inner
{
background-color
:
#0081ff
;
border-color
:
#0081ff
;
}
.el-checkbox__inner
:hover
{
border-color
:
#0081ff
;
}
.el-checkbox__label
{
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
font-size
:
14px
;
padding-left
:
8px
;
}
}
}
}
.dsk-table-header-setting-footer
{
display
:
flex
;
align-items
:
center
;
justify-content
:
flex-end
;
height
:
56px
;
padding
:
0px
12px
;
border-top
:
1px
solid
#eeeeee
;
box-sizing
:
border-box
;
.el-button
{
height
:
32px
;
padding
:
0
16px
;
box-sizing
:
border-box
;
}
}
}
</
style
>
dsk-operate-ui/src/components/DskTableHeaderSetting/index.vue
View file @
2337ae84
...
...
@@ -2,7 +2,10 @@
<div
class=
"dsk-table-header-setting"
@
click=
"showHeaderSetting"
>
<svg-icons
:icon-class=
"'table-header-setting-icon'"
:class-name=
"'table-header-setting-icon'"
></svg-icons>
<div
class=
"table-header-setting-text"
>
表头设置
</div>
<setting-bar
v-if=
"showHeaderSettingStatus"
:settingList=
"settingList"
></setting-bar>
<transition
appear
name=
"head"
mode=
"out-in"
>
<setting-bar
v-if=
"showHeaderSettingStatus"
:settingList=
"settingList"
@
settingChange=
"settingChange"
@
settingClose=
"showHeaderSettingStatus = false"
></setting-bar>
</transition>
</div>
</
template
>
<
script
>
...
...
@@ -37,6 +40,9 @@ export default {
methods
:
{
showHeaderSetting
()
{
this
.
showHeaderSettingStatus
=
true
;
},
settingChange
(
use
)
{
this
.
$emit
(
"settingChange"
,
use
);
}
},
}
...
...
dsk-operate-ui/src/components/TableListCom/index.vue
View file @
2337ae84
<
template
>
<div
class=
"
Tables
table-list-com-ins"
>
<div
class=
"table-list-com-ins"
>
<div
class=
"table-item"
>
<el-table
v-if=
"tableDataTotal>0"
class=
"fixed-table"
:class=
"headerFixed ? 'headerFixed':''"
v-loading=
"tableLoading"
:data=
"tableData"
element-loading-text=
"Loading"
ref=
"tableRef"
border
fit
highlight-current-row
v-sticky-header
.
always=
"stickyHeader
"
:default-sort=
"defaultSort?defaultSort:
{}" @sort-change="sortChange" @selection-change="selectionChange" :cell-class-name="cellClassName
"
:
cell-style="cellStyle
">
element-loading-text=
"Loading"
ref=
"tableRef"
border
fit
highlight-current-row
:default-sort=
"defaultSort?defaultSort:
{}
"
@sort-change="sortChange" @selection-change="selectionChange" :cell-class-name="cellClassName" :cell-style="cellStyle" :height="height
"
:
maxHeight="maxHeight" v-sticky-header="stickyHeader
">
<el-table-column
type=
"selection"
:width=
"needSelection.width ? needSelection.width : '38px'"
v-if=
"needSelection.flag"
:fixed=
"needSelection.fixed"
:align=
"needSelection.align"
:show-overflow-tooltip=
"needSelection.showOverflowTooltip"
>
</el-table-column>
...
...
@@ -12,43 +12,47 @@
<template
slot-scope=
"scope"
>
{{
queryParams
.
pageNum
*
queryParams
.
pageSize
-
queryParams
.
pageSize
+
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<
template
v-for=
"(item,index) in formColum"
>
<!-- 复选框列 -->
<el-table-column
v-if=
"item.type == 'selection'"
type=
"selection"
:key=
"index"
:width=
"item.width ? item.width : '38px'"
:fixed=
"item.fixed"
:align=
"item.align?item.align:'left'"
:show-overflow-tooltip=
"item.showOverflowTooltip"
>
</el-table-column>
<!-- 序号列 -->
<el-table-column
v-else-if=
"item.type == 'index'"
type=
"index"
:key=
"index"
:label=
"item.label ? item.label : '序号'"
:width=
"flexWidth(tableData)"
:align=
"item.align?item.align:'left'"
:fixed=
"item.fixed"
:resizable=
"false"
>
<template
slot-scope=
"scope"
>
{{
queryParams
.
pageNum
*
queryParams
.
pageSize
-
queryParams
.
pageSize
+
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<!-- 普通列 -->
<el-table-column
v-else
:key=
"index"
:label=
"item.label"
:prop=
"item.prop"
:width=
"item.width"
:min-width=
"item.minWidth"
:align=
"item.align?item.align:'left'"
:fixed=
"item.fixed"
:sortable=
"item.sortable ?item.sortable=='custom'? 'custom':true : false"
:resizable=
"false"
>
<
template
v-if=
"item.children&&item.children.length"
>
<el-table-column
v-for=
"(cld, i) in item.children"
:key=
"i"
:prop=
"cld.prop"
:label=
"cld.label"
:width=
"cld.width"
:resizable=
"false"
>
<template
slot-scope=
"cldscope"
>
<template
v-if=
"cld.slot"
>
<slot
:name=
"cld.prop"
:row=
"cldscope.row"
:data=
"cld"
></slot>
<template
v-if=
"item.use !== false"
>
<!-- 复选框列 -->
<el-table-column
v-if=
"item.type == 'selection'"
type=
"selection"
:key=
"item.uid ? item.uid : index"
:width=
"item.width ? item.width : '38px'"
:fixed=
"item.fixed"
:align=
"item.align?item.align:'left'"
:show-overflow-tooltip=
"item.showOverflowTooltip"
>
</el-table-column>
<!-- 序号列 -->
<el-table-column
v-else-if=
"item.type == 'index'"
type=
"index"
:key=
"item.uid ? item.uid : index"
:label=
"item.label ? item.label : '序号'"
:width=
"flexWidth(tableData)"
:align=
"item.align?item.align:'left'"
:fixed=
"item.fixed"
:resizable=
"false"
>
<template
slot-scope=
"scope"
>
{{
queryParams
.
pageNum
*
queryParams
.
pageSize
-
queryParams
.
pageSize
+
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<!-- 普通列 -->
<el-table-column
v-else
:key=
"item.uid ? item.uid : index"
:label=
"item.label"
:prop=
"item.prop"
:width=
"item.width"
:min-width=
"item.minWidth"
:align=
"item.align?item.align:'left'"
:fixed=
"item.fixed"
:sortable=
"item.sortable ?item.sortable=='custom'? 'custom':true : false"
:resizable=
"false"
:show-overflow-tooltip=
"item.showOverflowTooltip"
>
<
template
v-if=
"item.children&&item.children.length"
>
<el-table-column
v-for=
"(cld, i) in item.children"
:key=
"i"
:prop=
"cld.prop"
:label=
"cld.label"
:width=
"cld.width"
:resizable=
"false"
>
<template
slot-scope=
"cldscope"
>
<template
v-if=
"cld.slot"
>
<slot
:name=
"cld.prop"
:row=
"cldscope.row"
:data=
"cld"
></slot>
</
template
>
<
template
v-else
>
<span>
{{
cldscope
.
row
[
cld
.
prop
]
||
'-'
}}
</span>
</
template
>
</template>
<
template
v-else
>
<span>
{{
cldscope
.
row
[
cld
.
prop
]
||
'-'
}}
</span>
</
template
>
</template>
</el-table-column>
</template>
<
template
v-else-if=
"item.slotHeader"
slot=
"header"
>
<slot
:name=
"item.slotName"
></slot>
</
template
>
<
template
slot-scope=
"scope"
>
<slot
v-if=
"item.slot"
:name=
"item.prop"
:row=
"scope.row"
:index=
"scope.$index"
:data=
"item"
></slot>
<!-- 操作栏 -->
<slot
v-else-if=
"item.prop == 'action-field-bar'"
name=
"action-field-bar"
:row=
"scope.row"
:index=
"scope.$index"
:data=
"item"
></slot>
<span
v-else
>
{{
scope
.
row
[
item
.
prop
]
||
'-'
}}
</span>
</
template
>
</el-table-column>
</el-table-column>
</template>
<
template
v-else-if=
"item.slotHeader"
slot=
"header"
>
<slot
:name=
"item.slotName"
></slot>
</
template
>
<
template
slot-scope=
"scope"
>
<slot
v-if=
"item.slot"
:name=
"item.prop"
:row=
"scope.row"
:index=
"scope.$index"
:data=
"item"
></slot>
<!-- 操作栏 -->
<slot
v-else-if=
"item.prop == 'action-field-bar'"
name=
"action-field-bar"
:row=
"scope.row"
:index=
"scope.$index"
:data=
"item"
></slot>
<span
v-else
>
{{
scope
.
row
[
item
.
prop
]
||
'-'
}}
</span>
</
template
>
</el-table-column>
</template>
</template>
<
template
slot=
"empty"
>
</
template
>
...
...
@@ -58,10 +62,12 @@
<no-data
/>
</div>
</div>
<div
class=
"pagination-box"
v-if=
"show_page && tableDataTotal>queryParams.pageSize"
>
<el-pagination
background
:current-page=
"current_page"
:page-size=
"queryParams.pageSize"
:total=
"tableDataTotal"
layout=
"prev, pager, next, jumper"
@
current-change=
"handleCurrentChange"
@
size-change=
"handleSizeChange"
/>
</div>
</div>
</template>
...
...
@@ -70,6 +76,12 @@ import NoData from '@/components/NoData';
export
default
{
name
:
"tableListCom"
,
props
:
{
height
:
{
type
:
[
String
,
Number
]
},
maxHeight
:
{
type
:
[
String
,
Number
]
},
isIndex
:
{
type
:
Boolean
,
default
:
false
...
...
@@ -96,8 +108,9 @@ export default {
stickyHeader
:
{
type
:
Object
,
default
:
()
=>
({
offsetBottom
:
'10px'
,
offsetTop
:
"0px"
offsetBottom
:
'0px'
,
offsetTop
:
"0px"
,
show
:
false
})
},
headerFixed
:
{
...
...
@@ -192,10 +205,59 @@ export default {
</
script
>
<
style
lang=
"scss"
scoped
>
.Tables
{
.table-list-com-ins
{
::v-deep
.table-item
{
.no-line-feed
{
display
:
inline-block
;
color
:
#0081ff
;
cursor
:
pointer
;
width
:
100%
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
}
.pagination-box
{
display
:
flex
;
align-items
:
center
;
justify-content
:
flex-end
;
}
// .el-table th.gutter {
// display: table-cell !important;
// }
.el-table--border
th
.gutter
:last-of-type
{
display
:
block
!
important
;
padding-right
:
16px
;
}
.
el-table__body-wrapper
:
:-
webkit-scrollbar
{
width
:
16px
;
height
:
16px
;
}
.
el-scrollbar-warp
:
:-
webkit-scrollbar
{
width
:
16px
;
height
:
16px
;
}
.el-table
{
.cell
{
height
:
21px
;
&
.el-tooltip
{
height
:
21px
;
}
}
}
}
::v-deep
.el-table__body
tr
.current-row
>
td
.el-table__cell
{
background-color
:
#ffffff
;
}
/*::v-deep .el-table__fixed{
height: calc(100% - 16px) !important;
}*/
::v-deep
.el-table__row
{
&
:nth-child
(
even
)
{
...
...
@@ -215,19 +277,13 @@ export default {
}
}
}
.table-item
{
::v-deep
.el-table
td
.el-table__cell
{
border-bottom
:
0
;
}
}
::v-deep
.el-table
th
.el-table__cell.is-leaf
,
::v-deep
.el-table
td
.el-table__cell
{
border-bottom
:
1px
solid
#e6eaf1
;
box-sizing
:
border-box
;
}
::v-deep
.el-table--border
.el-table__cell
{
border-right
:
1px
solid
#e6eaf1
;
box-sizing
:
border-box
;
}
::v-deep
.el-table__body
tr
.hover-row.current-row
>
td
,
::v-deep
.el-table__body
tr
.hover-row.el-table__row--striped.current-row
>
td
,
...
...
@@ -242,5 +298,34 @@ export default {
::v-deep
.el-table--enable-row-hover
.el-table__body
tr
:hover
>
td
{
background-color
:
#dcebff
;
}
::v-deep
.fixed-table
{
overflow
:
visible
;
}
::v-deep
.el-table__header-wrapper
{
position
:
sticky
;
top
:
0
;
z-index
:
9
;
}
::v-deep
.el-table__fixed-header-wrapper
{
position
:
sticky
;
z-index
:
9
;
top
:
0
;
}
.headerFixed
{
::v-deep
.el-table__header-wrapper
{
position
:
sticky
;
top
:
80px
;
z-index
:
9
;
}
::v-deep
.el-table__fixed-header-wrapper
{
position
:
sticky
;
z-index
:
9
;
top
:
80px
;
}
}
::v-deep
.el-table__fixed
{
overflow-x
:
clip
;
overflow-y
:
clip
;
}
}
</
style
>
dsk-operate-ui/src/utils/index.js
View file @
2337ae84
...
...
@@ -587,6 +587,43 @@ export function hasDuplicates(arr, mapKey = null) {
}
}
/**
* 表单查询条件过滤
* @param {Object} params
*/
export
function
queryConditionFiltering
(
params
)
{
try
{
if
(
Object
.
prototype
.
toString
.
call
(
params
)
!=
"[object Object]"
)
throw
new
Error
(
"传入查询条件不是一个对象"
);
const
_temp
=
JSON
.
parse
(
JSON
.
stringify
(
params
));
const
keys
=
Object
.
keys
(
_temp
);;
const
len
=
keys
.
length
;
const
result
=
{};
for
(
let
index
=
0
;
index
<
len
;
index
++
)
{
const
key
=
keys
[
index
];
if
(
_temp
.
hasOwnProperty
(
key
))
{
// 数组内部不处理 外部处理
if
(
_temp
[
key
]
instanceof
Array
)
{
result
[
key
]
=
_temp
[
key
];
continue
;
}
// 如果是对象 递归处理
if
(
Object
.
prototype
.
toString
.
call
(
_temp
[
key
])
==
"[object Object]"
)
{
result
[
key
]
=
queryConditionFiltering
(
_temp
[
key
]);
continue
;
}
// 过滤无效值 0为有效数据
if
(
_temp
[
key
]
||
_temp
[
key
]
==
"0"
)
{
result
[
key
]
=
_temp
[
key
];
continue
;
}
}
}
return
result
;
}
catch
(
error
)
{
console
.
warn
(
error
);
}
}
// 甲方详情左侧菜单映射
export
const
detailSideBar
=
new
Map
([
// 企业速览
...
...
dsk-operate-ui/src/views/bigDataSearch/advisoryOrgan.vue
View file @
2337ae84
<
template
>
<div
v-loading=
"loading"
class=
"market-container"
>
<iframe
id=
"companyIframe"
class=
"market-iframe"
marginwidth=
"0"
marginheight=
"0"
scrolling=
"no"
frameborder=
"0"
width=
"100%"
:src=
"src"
/>
</div>
</
template
>
<
script
>
import
{
steerScroll
}
from
'@/assets/js/jskplug'
;
import
{
dskAccessToken
}
from
'@/api/common'
;
import
{
encodeStr
}
from
"@/assets/js/common"
;
import
MaxPageSizeTip
from
"@/views/components/MaxPageSizeTip.vue"
;
import
{
getUipIdByCid
}
from
'@/api/macro/macro'
;
export
default
{
name
:
'Enterprise'
,
components
:
{
MaxPageSizeTip
},
data
()
{
return
{
encodeStr
,
loading
:
false
,
// 是否加载完成-当前页控制
iframeTimer
:
''
,
// 是否加载中定时器-当前页控制
footHeight
:
0
,
//底部高度,若为0(页面内部嵌套或者没有底部板块)
iframeHight
:
`
${
window
.
innerHeight
}
px`
,
// iframe高度-当前页控制
navigation
:
{
isFixed
:
true
,
fixedHeight
:
56
,
totalHeight
:
68
},
// iframe之外页面顶部对象,ifFixed:是否浮动;fixedHeight:浮动对象高度;totalHeight:顶部整体高度
src
:
''
,
//iframe嵌套页面地址
// domain: 'https://plug.jiansheku.com', // 插件地址
// domain: 'https://pre-plug.jiansheku.com', // 插件地址测试
domain
:
'http://192.168.60.210:3400'
,
ak
:
'aec7b3ff2y2q8x6t49a7e2c463ce21912'
,
// 需要携带的sdkId
timelongs
:
7200
,
//刷新token时间
tokentimer
:
null
,
showMaxPageTip
:
false
,
iframeIns
:
null
,
};
},
created
()
{
this
.
domain
=
process
.
env
.
VUE_APP_SUB_SYSTEM_ADDRESS
;
this
.
gettokens
();
this
.
iframeObserver
();
let
that
=
this
;
window
.
addEventListener
(
"message"
,
this
.
pagecapListener
,
{
passive
:
true
});
window
.
addEventListener
(
'message'
,
this
.
linkListener
,
false
);
},
mounted
()
{
this
.
iframeLoading
();
// 判断iframe页面是否加载完成-当前页控制
// steerScroll('companyIframe', this.navigation, this.footHeight, true); // iframeId: iframe的id;navigation:页面排除iframe后剩下的顶部高度;footHeight: 页面排除iframe后剩下的底部高度;state:监听or移除监听;parentId: 父级id[不带默认就是铺满整个页面]];_this:指向当前实例(可忽略)
},
beforeDestroy
()
{
clearInterval
(
this
.
iframeTimer
);
// -当前页控制
steerScroll
(
'companyIframe'
,
this
.
navigation
,
this
.
footHeight
);
// iframeId: iframe的id;navigation:页面排除iframe后剩下的顶部高度;footHeight: 页面排除iframe后剩下的底部高度;state:监听or移除监听;parentId: 父级id[不带默认就是铺满整个页面]];_this:指向当前实例(可忽略)
clearInterval
(
this
.
tokentimer
);
window
.
removeEventListener
(
"message"
,
this
.
pagecapListener
,
{
passive
:
true
});
window
.
removeEventListener
(
"message"
,
this
.
linkListener
);
// 移除layout样式
this
.
iframeIns
?.
contentWindow
?
this
.
iframeIns
.
contentWindow
.
postMessage
(
"removeHtmlLayoutStyle"
,
{
targetOrigin
:
this
.
domain
,
})
:
null
;
},
methods
:
{
linkListener
(
event
)
{
let
{
data
,
origin
}
=
event
;
if
(
origin
!=
this
.
domain
)
return
;
if
(
data
.
id
)
{
getUipIdByCid
([
data
.
id
]).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
data
&&
res
.
data
.
length
>
0
&&
res
.
data
[
0
].
uipId
)
{
this
.
$router
.
push
({
path
:
'/enterprise/'
+
this
.
encodeStr
(
data
.
id
)
});
}
else
{
this
.
$tab
.
openPage
(
data
.
title
,
'/company/'
+
this
.
encodeStr
(
data
.
id
));
}
}
}
}).
catch
(
error
=>
{
});
}
else
{
if
(
data
.
url
)
{
this
.
$tab
.
openPage
(
data
.
title
,
data
.
url
);
}
}
},
async
iframeObserver
()
{
try
{
await
this
.
$nextTick
();
this
.
iframeIns
=
document
.
querySelector
(
".market-iframe"
);
}
catch
(
error
)
{
console
.
log
(
error
);
}
},
// 列表翻页上限
pagecapListener
(
e
)
{
const
{
origin
,
data
}
=
e
;
if
(
origin
!=
this
.
domain
)
return
;
if
(
data
==
"pageCurrentMaxSize"
)
{
this
.
$maxTip
(
"您可通过筛选工具来查询数据~若有更多需求请联系客服 0262798729!"
).
then
(({
done
,
uid
})
=>
{
done
();
});
}
},
gettokens
()
{
dskAccessToken
().
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
timelongs
=
res
.
data
.
expire
;
this
.
ak
=
res
.
data
.
accessToken
;
this
.
src
=
`
${
this
.
domain
}
/search/market?ak=
${
this
.
ak
}
&initTime=
${
new
Date
().
getTime
()}
&uid=
${
this
.
ak
}
&origin=
${
window
.
location
.
origin
}
`
;
this
.
refreshtoken
();
}
else
{
clearTimeout
(
this
.
tokentimer
);
}
});
},
refreshtoken
()
{
this
.
tokentimer
=
setTimeout
(()
=>
{
dskAccessToken
().
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
timelongs
=
res
.
data
.
expire
;
this
.
ak
=
res
.
data
.
accessToken
;
let
ifam
=
document
.
getElementById
(
'companyIframe'
);
//iframe的id
let
akObj
=
res
.
data
.
expire
;
//accessToken接口的返回值
let
initTime
=
new
Date
().
getTime
();
//accessToken接口返回后的当前时间戳
ifam
.
contentWindow
.
postMessage
({
'accessToken'
:
akObj
.
accessToken
,
'initTime'
:
initTime
},
'*'
);
}
else
{
clearTimeout
(
this
.
tokentimer
);
}
});
},
this
.
timelongs
*
1000
);
},
//判断iframe页面是否加载完成-当前页控制
iframeLoading
()
{
let
iframeHeight
=
document
.
getElementById
(
"companyIframe"
).
clientHeight
,
number
=
0
;
this
.
iframeTimer
=
setInterval
(()
=>
{
number
++
;
if
(
document
.
getElementById
(
"companyIframe"
).
clientHeight
!=
iframeHeight
||
number
==
5000
)
{
this
.
loading
=
false
;
clearInterval
(
this
.
iframeTimer
);
}
});
}
}
};
</
script
>
<
style
>
<
style
lang=
"scss"
scoped
>
.market-container
{
width
:
100%
;
height
:
100%
;
padding
:
16px
24px
;
padding-right
:
15px
;
box-sizing
:
border-box
;
position
:
absolute
;
left
:
0
;
top
:
0
;
</
style
>
\ No newline at end of file
.market-iframe
{
width
:
100%
;
height
:
100%
;
}
}
</
style
>
dsk-operate-ui/src/views/consultingOrgManagement/components/ProjectList/index.vue
View file @
2337ae84
This diff is collapsed.
Click to expand it.
dsk-operate-ui/src/views/supplier/assistant.vue
View file @
2337ae84
...
...
@@ -40,7 +40,7 @@ export default {
border-bottom
:
1px
solid
#EEEEEE
;
color
:
#232323
;
position
:
sticky
;
top
:
54px
;
top
:
0
;
z-index
:
999
;
::v-deep
.el-tabs
{
height
:
48px
;
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/SysConfigServiceImpl.java
View file @
2337ae84
...
...
@@ -154,7 +154,7 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService {
public
void
insertTenantConfig
(
SysConfig
config
)
{
//重复验证
boolean
exists
=
baseMapper
.
exists
(
Wrappers
.<
SysConfig
>
lambdaQuery
().
eq
(
SysConfig:
:
getConfigKey
,
config
.
getConfigKey
()));
if
(
exists
)
{
if
(
exists
)
{
throw
new
BeanException
(
"当前配置键已存在!"
);
}
...
...
@@ -285,7 +285,7 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService {
dskAccessTokenDto
.
put
(
"appKey"
,
appkey
);
dskAccessTokenDto
.
put
(
"appSecret"
,
appSecret
);
String
post
=
HttpUtil
.
post
(
domain
+
accessTokenAPI
,
JsonUtils
.
toJsonString
(
dskAccessTokenDto
));
String
post
=
HttpUtil
.
post
(
"https://"
+
domain
+
accessTokenAPI
,
JsonUtils
.
toJsonString
(
dskAccessTokenDto
));
Assert
.
notEmpty
(
post
,
"大司空数据accessTokenAPI响应异常"
);
log
.
info
(
"大司空数据accessToken API响应:"
+
post
);
Dict
dict
=
JsonUtils
.
parseMap
(
post
);
...
...
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