Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-cr20g
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
Administrator
dsk-cr20g
Commits
2d4b2cf7
Commit
2d4b2cf7
authored
Sep 21, 2023
by
yht15023815643
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'V20230915' of
http://192.168.60.201/root/dsk-operate-sys
into V20230915
parents
0149f1ae
19e9d8a6
Changes
38
Hide whitespace changes
Inline
Side-by-side
Showing
38 changed files
with
645 additions
and
126 deletions
+645
-126
DskOperateSysApplication.java
...admin/src/main/java/com/dsk/DskOperateSysApplication.java
+2
-0
SysMenuController.java
...java/com/dsk/web/controller/system/SysMenuController.java
+2
-1
SysTenantController.java
...va/com/dsk/web/controller/system/SysTenantController.java
+14
-13
SysTenantPackageController.java
...dsk/web/controller/system/SysTenantPackageController.java
+13
-12
TenantConstants.java
...rc/main/java/com/dsk/common/constant/TenantConstants.java
+10
-0
EncryptUtils.java
...mmon/src/main/java/com/dsk/common/utils/EncryptUtils.java
+6
-0
pom.xml
dsk-module/dsk-biz-api/pom.xml
+0
-5
BusinessInfoController.java
...n/java/com/dsk/biz/controller/BusinessInfoController.java
+2
-2
IBusinessInfoService.java
...c/main/java/com/dsk/biz/service/IBusinessInfoService.java
+1
-1
BusinessInfoServiceImpl.java
...ava/com/dsk/biz/service/impl/BusinessInfoServiceImpl.java
+5
-5
EnterpriseProjectController.java
...a/com/dsk/jsk/controller/EnterpriseProjectController.java
+11
-0
RegionalEnterprisesController.java
...com/dsk/jsk/controller/RegionalEnterprisesController.java
+2
-6
EnterpriseProjectProcessDetailBody.java
...om/dsk/jsk/domain/EnterpriseProjectProcessDetailBody.java
+22
-0
EnterpriseProjectService.java
...in/java/com/dsk/jsk/service/EnterpriseProjectService.java
+12
-0
JskCombineInfoService.java
.../main/java/com/dsk/jsk/service/JskCombineInfoService.java
+1
-1
RegionalEnterprisesService.java
...m/dsk/jsk/service/service/RegionalEnterprisesService.java
+2
-2
RegionalEnterprisesServiceImpl.java
.../service/service/impl/RegionalEnterprisesServiceImpl.java
+3
-2
BusinessOpportunityRadarService.java
...m/dsk/search/service/BusinessOpportunityRadarService.java
+1
-1
index.vue
dsk-operate-ui/src/views/detail/party-b/index.vue
+3
-3
index.vue
dsk-operate-ui/src/views/enterpriseManagement/index.vue
+0
-5
programme.vue
dsk-operate-ui/src/views/enterpriseManagement/programme.vue
+1
-7
index.vue
dsk-operate-ui/src/views/index.vue
+12
-8
login.vue
dsk-operate-ui/src/views/login.vue
+3
-0
CustomTimeSelect.vue
...operate-ui/src/views/macro/component/CustomTimeSelect.vue
+339
-0
regionalEconomy.vue
...i/src/views/macro/economies/component/regionalEconomy.vue
+19
-4
index.vue
dsk-operate-ui/src/views/macro/enterprises/index.vue
+40
-11
BI.vue
...ate-ui/src/views/macro/nationalEconomies/component/BI.vue
+4
-0
qgjjdq.vue
...ui/src/views/macro/nationalEconomies/component/qgjjdq.vue
+2
-2
tdjy.vue
...e-ui/src/views/macro/nationalEconomies/component/tdjy.vue
+1
-0
zhongbiao.vue
...src/views/macro/nationalEconomies/component/zhongbiao.vue
+9
-9
index.vue
dsk-operate-ui/src/views/macro/nationalEconomies/index.vue
+3
-0
addProject.vue
...ui/src/views/project/projectList/component/addProject.vue
+38
-7
index.vue
dsk-operate-ui/src/views/system/user/profile/index.vue
+25
-1
vue.config.js
dsk-operate-ui/vue.config.js
+1
-1
SysUserMapper.java
...em/src/main/java/com/dsk/system/mapper/SysUserMapper.java
+6
-0
SysLoginService.java
...src/main/java/com/dsk/system/service/SysLoginService.java
+1
-1
SysMenuServiceImpl.java
.../java/com/dsk/system/service/impl/SysMenuServiceImpl.java
+13
-15
SysUserMapper.xml
...system/src/main/resources/mapper/system/SysUserMapper.xml
+16
-1
No files found.
dsk-admin/src/main/java/com/dsk/DskOperateSysApplication.java
View file @
2d4b2cf7
package
com
.
dsk
;
import
cn.dev33.satoken.secure.BCrypt
;
import
com.google.api.client.util.SecurityUtils
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup
;
...
...
dsk-admin/src/main/java/com/dsk/web/controller/system/SysMenuController.java
View file @
2d4b2cf7
...
...
@@ -2,6 +2,7 @@ package com.dsk.web.controller.system;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
cn.dev33.satoken.annotation.SaCheckRole
;
import
cn.dev33.satoken.annotation.SaMode
;
import
cn.hutool.core.lang.tree.Tree
;
import
com.dsk.common.annotation.Log
;
import
com.dsk.common.constant.TenantConstants
;
...
...
@@ -67,7 +68,7 @@ public class SysMenuController extends BaseController {
* 获取企业方案菜单下拉树列表
* 剔除"企业管理"相关菜单
*/
@SaCheckRole
(
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
)
@SaCheckRole
(
value
=
{
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
,
TenantConstants
.
DSK_TENANT_ADMIN_ROLE_KEY
},
mode
=
SaMode
.
OR
)
@GetMapping
(
"/tenantPackageTreeSelect"
)
public
R
<
List
<
Tree
<
Long
>>>
tenantPackageTreeSelect
(
SysMenu
menu
)
{
List
<
SysMenu
>
menus
=
menuService
.
selectTenantPackageMenuList
(
menu
,
getUserId
());
...
...
dsk-admin/src/main/java/com/dsk/web/controller/system/SysTenantController.java
View file @
2d4b2cf7
...
...
@@ -2,6 +2,7 @@ package com.dsk.web.controller.system;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
cn.dev33.satoken.annotation.SaCheckRole
;
import
cn.dev33.satoken.annotation.SaMode
;
import
com.baomidou.lock.annotation.Lock4j
;
import
com.dsk.common.annotation.Log
;
import
com.dsk.common.annotation.RepeatSubmit
;
...
...
@@ -42,8 +43,8 @@ public class SysTenantController extends BaseController {
/**
* 查询租户列表
*/
@SaCheckRole
(
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
)
@SaCheckPermission
(
"system:tenant:list
"
)
@SaCheckRole
(
value
=
{
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
,
TenantConstants
.
DSK_TENANT_ADMIN_ROLE_KEY
},
mode
=
SaMode
.
OR
)
@SaCheckPermission
(
value
=
"system:tenant:list"
,
orRole
=
"accountAdmin
"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
<
SysTenantVo
>
list
(
SysTenantBo
bo
,
PageQuery
pageQuery
)
{
return
tenantService
.
queryPageList
(
bo
,
pageQuery
);
...
...
@@ -66,8 +67,8 @@ public class SysTenantController extends BaseController {
*
* @param id 主键
*/
@SaCheckRole
(
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
)
@SaCheckPermission
(
"system:tenant:query
"
)
@SaCheckRole
(
value
=
{
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
,
TenantConstants
.
DSK_TENANT_ADMIN_ROLE_KEY
},
mode
=
SaMode
.
OR
)
@SaCheckPermission
(
value
=
"system:tenant:query"
,
orRole
=
"accountAdmin
"
)
@GetMapping
(
"/{id}"
)
public
R
<
SysTenantVo
>
getInfo
(
@NotNull
(
message
=
"主键不能为空"
)
@PathVariable
Long
id
)
{
return
R
.
ok
(
tenantService
.
queryById
(
id
));
...
...
@@ -76,8 +77,8 @@ public class SysTenantController extends BaseController {
/**
* 新增租户
*/
@SaCheckRole
(
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
)
@SaCheckPermission
(
"system:tenant:add
"
)
@SaCheckRole
(
value
=
{
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
,
TenantConstants
.
DSK_TENANT_ADMIN_ROLE_KEY
},
mode
=
SaMode
.
OR
)
@SaCheckPermission
(
value
=
"system:tenant:add"
,
orRole
=
"accountAdmin
"
)
@Log
(
title
=
"租户"
,
businessType
=
BusinessType
.
INSERT
)
@Lock4j
@RepeatSubmit
()
...
...
@@ -92,8 +93,8 @@ public class SysTenantController extends BaseController {
/**
* 修改租户
*/
@SaCheckRole
(
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
)
@SaCheckPermission
(
"system:tenant:edit
"
)
@SaCheckRole
(
value
=
{
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
,
TenantConstants
.
DSK_TENANT_ADMIN_ROLE_KEY
},
mode
=
SaMode
.
OR
)
@SaCheckPermission
(
value
=
"system:tenant:edit"
,
orRole
=
"accountAdmin
"
)
@Log
(
title
=
"租户"
,
businessType
=
BusinessType
.
UPDATE
)
@RepeatSubmit
()
@PutMapping
()
...
...
@@ -122,8 +123,8 @@ public class SysTenantController extends BaseController {
*
* @param ids 主键串
*/
@SaCheckRole
(
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
)
@SaCheckPermission
(
"system:tenant:remove
"
)
@SaCheckRole
(
value
=
{
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
,
TenantConstants
.
DSK_TENANT_ADMIN_ROLE_KEY
},
mode
=
SaMode
.
OR
)
@SaCheckPermission
(
value
=
"system:tenant:remove"
,
orRole
=
"accountAdmin
"
)
@Log
(
title
=
"租户"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{ids}"
)
public
R
<
Void
>
remove
(
@NotEmpty
(
message
=
"主键不能为空"
)
@PathVariable
Long
[]
ids
)
{
...
...
@@ -145,7 +146,7 @@ public class SysTenantController extends BaseController {
/**
* 清除动态租户
*/
@SaCheckRole
(
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
)
@SaCheckRole
(
value
=
{
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
,
TenantConstants
.
DSK_TENANT_ADMIN_ROLE_KEY
},
mode
=
SaMode
.
OR
)
@GetMapping
(
"/dynamic/clear"
)
public
R
<
Void
>
dynamicClear
()
{
TenantHelper
.
clearDynamic
();
...
...
@@ -158,8 +159,8 @@ public class SysTenantController extends BaseController {
* @param tenantId 租户id
* @param packageId 套餐id
*/
@SaCheckRole
(
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
)
@SaCheckPermission
(
"system:tenant:edit
"
)
@SaCheckRole
(
value
=
{
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
,
TenantConstants
.
DSK_TENANT_ADMIN_ROLE_KEY
},
mode
=
SaMode
.
OR
)
@SaCheckPermission
(
value
=
"system:tenant:edit"
,
orRole
=
"accountAdmin
"
)
@Log
(
title
=
"租户"
,
businessType
=
BusinessType
.
UPDATE
)
@GetMapping
(
"/syncTenantPackage"
)
public
R
<
Void
>
syncTenantPackage
(
@NotBlank
(
message
=
"企业ID不能为空"
)
String
tenantId
,
...
...
dsk-admin/src/main/java/com/dsk/web/controller/system/SysTenantPackageController.java
View file @
2d4b2cf7
...
...
@@ -2,6 +2,7 @@ package com.dsk.web.controller.system;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
cn.dev33.satoken.annotation.SaCheckRole
;
import
cn.dev33.satoken.annotation.SaMode
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.dsk.common.annotation.Log
;
import
com.dsk.common.annotation.RepeatSubmit
;
...
...
@@ -46,8 +47,8 @@ public class SysTenantPackageController extends BaseController {
/**
* 查询租户套餐列表
*/
@SaCheckRole
(
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
)
@SaCheckPermission
(
"system:tenantPackage:list
"
)
@SaCheckRole
(
value
=
{
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
,
TenantConstants
.
DSK_TENANT_ADMIN_ROLE_KEY
},
mode
=
SaMode
.
OR
)
@SaCheckPermission
(
value
=
"system:tenantPackage:list"
,
orRole
=
"accountAdmin
"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
<
SysTenantPackageVo
>
list
(
SysTenantPackageBo
bo
,
PageQuery
pageQuery
)
{
return
tenantPackageService
.
queryPageList
(
bo
,
pageQuery
);
...
...
@@ -56,8 +57,8 @@ public class SysTenantPackageController extends BaseController {
/**
* 查询租户套餐下拉选列表
*/
@SaCheckRole
(
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
)
@SaCheckPermission
(
"system:tenantPackage:list
"
)
@SaCheckRole
(
value
=
{
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
,
TenantConstants
.
DSK_TENANT_ADMIN_ROLE_KEY
},
mode
=
SaMode
.
OR
)
@SaCheckPermission
(
value
=
"system:tenantPackage:list"
,
orRole
=
"accountAdmin
"
)
@GetMapping
(
"/selectList"
)
public
R
<
List
<
SysTenantPackageSelectVo
>>
selectList
()
{
return
R
.
ok
(
tenantPackageService
.
selectList
());
...
...
@@ -80,8 +81,8 @@ public class SysTenantPackageController extends BaseController {
*
* @param packageId 主键
*/
@SaCheckRole
(
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
)
@SaCheckPermission
(
"system:tenantPackage:query
"
)
@SaCheckRole
(
value
=
{
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
,
TenantConstants
.
DSK_TENANT_ADMIN_ROLE_KEY
},
mode
=
SaMode
.
OR
)
@SaCheckPermission
(
value
=
"system:tenantPackage:query"
,
orRole
=
"accountAdmin
"
)
@GetMapping
(
"/{packageId}"
)
public
R
<
SysTenantPackageVo
>
getInfo
(
@NotNull
(
message
=
"主键不能为空"
)
@PathVariable
Long
packageId
)
{
return
R
.
ok
(
tenantPackageService
.
queryById
(
packageId
));
...
...
@@ -90,8 +91,8 @@ public class SysTenantPackageController extends BaseController {
/**
* 新增租户套餐
*/
@SaCheckRole
(
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
)
@SaCheckPermission
(
"system:tenantPackage:add
"
)
@SaCheckRole
(
value
=
{
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
,
TenantConstants
.
DSK_TENANT_ADMIN_ROLE_KEY
},
mode
=
SaMode
.
OR
)
@SaCheckPermission
(
value
=
"system:tenantPackage:add"
,
orRole
=
"accountAdmin
"
)
@Log
(
title
=
"租户套餐"
,
businessType
=
BusinessType
.
INSERT
)
@RepeatSubmit
()
@PostMapping
()
...
...
@@ -105,8 +106,8 @@ public class SysTenantPackageController extends BaseController {
/**
* 修改租户套餐
*/
@SaCheckRole
(
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
)
@SaCheckPermission
(
"system:tenantPackage:edit
"
)
@SaCheckRole
(
value
=
{
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
,
TenantConstants
.
DSK_TENANT_ADMIN_ROLE_KEY
},
mode
=
SaMode
.
OR
)
@SaCheckPermission
(
value
=
"system:tenantPackage:edit"
,
orRole
=
"accountAdmin
"
)
@Log
(
title
=
"租户套餐"
,
businessType
=
BusinessType
.
UPDATE
)
@RepeatSubmit
()
@PutMapping
()
...
...
@@ -134,8 +135,8 @@ public class SysTenantPackageController extends BaseController {
*
* @param packageIds 主键串
*/
@SaCheckRole
(
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
)
@SaCheckPermission
(
"system:tenantPackage:remove
"
)
@SaCheckRole
(
value
=
{
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
,
TenantConstants
.
DSK_TENANT_ADMIN_ROLE_KEY
},
mode
=
SaMode
.
OR
)
@SaCheckPermission
(
value
=
"system:tenantPackage:remove"
,
orRole
=
"accountAdmin
"
)
@Log
(
title
=
"租户套餐"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{packageIds}"
)
public
R
<
Void
>
remove
(
@NotEmpty
(
message
=
"主键不能为空"
)
@PathVariable
Long
[]
packageIds
)
{
...
...
dsk-common/src/main/java/com/dsk/common/constant/TenantConstants.java
View file @
2d4b2cf7
...
...
@@ -37,6 +37,16 @@ public interface TenantConstants {
*/
String
TENANT_ADMIN_ROLE_NAME
=
"管理员"
;
/**
* 大司空租户管理员角色
*/
String
DSK_TENANT_ADMIN_ROLE_KEY
=
"accountAdmin"
;
/**
* 大司空租户管理员角色名称
*/
String
DSK_TENANT_ADMIN_ROLE_NAME
=
"企业账号管理员"
;
/**
* 默认租户ID
*/
...
...
dsk-common/src/main/java/com/dsk/common/utils/EncryptUtils.java
View file @
2d4b2cf7
package
com
.
dsk
.
common
.
utils
;
import
cn.dev33.satoken.secure.BCrypt
;
import
cn.hutool.core.codec.Base64
;
import
cn.hutool.core.util.ArrayUtil
;
import
cn.hutool.core.util.StrUtil
;
...
...
@@ -240,4 +241,9 @@ public class EncryptUtils {
return
SmUtil
.
sm3
(
data
);
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
BCrypt
.
hashpw
(
"dsk123123"
));
}
}
dsk-module/dsk-biz-api/pom.xml
View file @
2d4b2cf7
...
...
@@ -56,11 +56,6 @@
<artifactId>
fastjson2
</artifactId>
<version>
2.0.25
</version>
</dependency>
<!-- <dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.3.2</version>
</dependency>-->
<!-- <dependency>-->
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/biz/controller/BusinessInfoController.java
View file @
2d4b2cf7
...
...
@@ -47,8 +47,8 @@ public class BusinessInfoController extends BaseController
* 查询所有项目名称(支持模糊查询)
*/
@PostMapping
(
"/query/project"
)
public
R
<
List
<
BusinessLikeProjectNameListVo
>>
queryprojectName
(
@RequestBody
BusinessListDto
dto
){
return
R
.
ok
(
businessInfoService
.
selectProjectName
(
dto
));
public
R
<
List
<
BusinessLikeProjectNameListVo
>>
queryprojectName
(
@RequestBody
BusinessListDto
dto
,
@RequestBody
PageQuery
pageQuery
){
return
R
.
ok
(
businessInfoService
.
selectProjectName
(
dto
,
pageQuery
));
}
/**
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/biz/service/IBusinessInfoService.java
View file @
2d4b2cf7
...
...
@@ -57,7 +57,7 @@ public interface IBusinessInfoService
* 查询所有项目名称(支持模糊查询)
* @return
*/
List
<
BusinessLikeProjectNameListVo
>
selectProjectName
(
BusinessListDto
dto
);
List
<
BusinessLikeProjectNameListVo
>
selectProjectName
(
BusinessListDto
dto
,
PageQuery
pageQuery
);
/**
* 项目批量导入
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/biz/service/impl/BusinessInfoServiceImpl.java
View file @
2d4b2cf7
...
...
@@ -138,11 +138,11 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
}
@Override
public
List
<
BusinessLikeProjectNameListVo
>
selectProjectName
(
BusinessListDto
dto
)
{
public
List
<
BusinessLikeProjectNameListVo
>
selectProjectName
(
BusinessListDto
dto
,
PageQuery
pageQuery
)
{
// List<BusinessLikeProjectNameListVo> vos = businessInfoMapper.selectProjectName(dto);
List
<
BusinessLikeProjectNameListVo
>
vos
=
new
ArrayList
<>();
try
{
Map
<
String
,
Object
>
result
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBid/news/findByName"
,
toRequestMap
(
dto
));
Map
<
String
,
Object
>
result
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBid/news/findByName"
,
toRequestMap
(
dto
,
pageQuery
));
if
(
ObjectUtil
.
isNotEmpty
(
result
.
get
(
"data"
)))
{
List
<
Map
<
String
,
Object
>>
list
=
(
List
<
Map
<
String
,
Object
>>)
BeanUtil
.
beanToMap
(
result
.
get
(
"data"
)).
get
(
"list"
);
if
(!
CollectionUtils
.
isEmpty
(
list
))
{
...
...
@@ -169,10 +169,10 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
return
vos
;
}
private
Map
<
String
,
Object
>
toRequestMap
(
BusinessListDto
dto
)
{
private
Map
<
String
,
Object
>
toRequestMap
(
BusinessListDto
dto
,
PageQuery
pageQuery
)
{
Map
<
String
,
Object
>
page
=
new
HashMap
<>();
page
.
put
(
"page"
,
1
);
page
.
put
(
"limit"
,
20
);
page
.
put
(
"page"
,
pageQuery
.
getPageNum
()
);
page
.
put
(
"limit"
,
pageQuery
.
getPageSize
()
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"keyword"
,
dto
.
getProjectName
());
map
.
put
(
"page"
,
page
);
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/jsk/controller/EnterpriseProjectController.java
View file @
2d4b2cf7
...
...
@@ -151,5 +151,16 @@ public class EnterpriseProjectController {
return
enterpriseProjectService
.
importantDetail
(
body
);
}
/***
*@Description: 公招市场-流程速览
*@Param:
*@return: com.dsk.common.core.domain.R
*@Author: Dgm
*@date: 2023/9/19 13:49
*/
@RequestMapping
(
value
=
"/projectProcess"
,
method
=
RequestMethod
.
POST
)
public
R
projectProcess
(
@RequestBody
@Valid
EnterpriseProjectProcessDetailBody
body
)
throws
Exception
{
return
enterpriseProjectService
.
projectProcess
(
body
);
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/jsk/controller/RegionalEnterprisesController.java
View file @
2d4b2cf7
...
...
@@ -25,16 +25,12 @@ public class RegionalEnterprisesController {
@Autowired
private
RegionalEnterprisesService
regionalEnterprisesService
;
@PostMapping
(
"regional/page"
)
@PostMapping
(
"
/
regional/page"
)
public
AjaxResult
page
(
@RequestBody
JSONObject
object
)
throws
Exception
{
ComposeQueryDto
compose
=
JSONObject
.
parseObject
(
object
.
toJSONString
(),
ComposeQueryDto
.
class
);
compose
.
getPage
().
setPage
(
compose
.
getPageNum
());
compose
.
getPage
().
setLimit
(
compose
.
getPageSize
());
compose
.
getPage
().
setField
(
compose
.
getField
());
compose
.
getPage
().
setOrder
(
compose
.
getOrder
());
if
(
PageQueryLimit
.
pageLimit
(
compose
.
getPage
())){
return
AjaxResult
.
error
(
"翻页已达到上限"
);
}
return
regionalEnterprisesService
.
enterprisePage
(
compose
);
return
regionalEnterprisesService
.
enterprisePage
(
object
);
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/jsk/domain/EnterpriseProjectProcessDetailBody.java
0 → 100644
View file @
2d4b2cf7
package
com
.
dsk
.
jsk
.
domain
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.NoArgsConstructor
;
import
lombok.ToString
;
import
javax.validation.constraints.NotNull
;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
EnterpriseProjectProcessDetailBody
{
/**
* id
*/
@NotNull
(
message
=
"id不能为空"
)
private
String
projectId
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/jsk/service/EnterpriseProjectService.java
View file @
2d4b2cf7
...
...
@@ -205,4 +205,16 @@ public class EnterpriseProjectService {
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/operate/enterpriseProject/importantDetail"
,
BeanUtil
.
beanToMap
(
body
,
false
,
false
));
return
BeanUtil
.
toBean
(
map
,
R
.
class
);
}
/***
*@Description: 公招市场-流程速览
*@Param:
*@return: com.dsk.common.core.domain.R
*@Author: Dgm
*@date: 2023/9/19 13:49
*/
public
R
projectProcess
(
EnterpriseProjectProcessDetailBody
body
)
throws
Exception
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/operate/recruitmentMarket/projectProcess"
,
BeanUtil
.
beanToMap
(
body
,
false
,
false
));
return
BeanUtil
.
toBean
(
map
,
R
.
class
);
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/jsk/service/JskCombineInfoService.java
View file @
2d4b2cf7
...
...
@@ -207,7 +207,7 @@ public class JskCombineInfoService {
}
public
TableDataInfo
bidPage
(
JskCombineBidPageDto
dto
)
throws
Exception
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/
operate/combine/bidPage
"
,
BeanUtil
.
beanToMap
(
dto
,
false
,
false
));
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/
nationzj/project/combine/tenderList
"
,
BeanUtil
.
beanToMap
(
dto
,
false
,
false
));
if
(
ObjectUtil
.
isNotEmpty
(
map
.
get
(
"data"
)))
{
Map
<
String
,
Object
>
data
=
BeanUtil
.
beanToMap
(
map
.
get
(
"data"
));
if
(!
ObjectUtils
.
isEmpty
(
data
.
get
(
"list"
)))
{
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/jsk/service/service/RegionalEnterprisesService.java
View file @
2d4b2cf7
package
com
.
dsk
.
jsk
.
service
.
service
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.jsk.domain.bo.ComposeQueryDto
;
/**
* @ClassName EconomicService
...
...
@@ -19,5 +19,5 @@ public interface RegionalEnterprisesService {
*@Author: Dgm
*@date: 2023/5/18 10:25
*/
AjaxResult
enterprisePage
(
ComposeQueryDto
compose
)
throws
Exception
;
AjaxResult
enterprisePage
(
JSONObject
object
)
throws
Exception
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/jsk/service/service/impl/RegionalEnterprisesServiceImpl.java
View file @
2d4b2cf7
...
...
@@ -2,6 +2,7 @@ package com.dsk.jsk.service.service.impl;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.acc.openapi.client.util.CommonUtils
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.utils.DskOpenApiUtil
;
...
...
@@ -29,8 +30,8 @@ public class RegionalEnterprisesServiceImpl implements RegionalEnterprisesServic
private
DskOpenApiUtil
dskOpenApiUtil
;
@Override
public
AjaxResult
enterprisePage
(
ComposeQueryDto
pageDto
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/enterprice/page"
,
BeanUtil
.
beanToMap
(
pageDto
,
false
,
false
));
public
AjaxResult
enterprisePage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/enterprice/page"
,
BeanUtil
.
beanToMap
(
object
,
false
,
false
));
Integer
code
=
MapUtils
.
getInteger
(
map
,
"code"
,
300
);
if
(
code
.
equals
(
HttpStatus
.
OK
.
value
()))
{
Map
data
=
MapUtils
.
getMap
(
map
,
"data"
,
null
);
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/search/service/BusinessOpportunityRadarService.java
View file @
2d4b2cf7
...
...
@@ -162,7 +162,7 @@ public class BusinessOpportunityRadarService {
}
public
AjaxResult
bxproPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/subscription/
b
xproPage"
,
object
);
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/subscription/
yqB
xproPage"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
}
dsk-operate-ui/src/views/detail/party-b/index.vue
View file @
2d4b2cf7
...
...
@@ -91,12 +91,12 @@
iframeLoading
()
{
let
iframeHeight
=
document
.
getElementById
(
"companyIframe"
).
clientHeight
,
number
=
0
this
.
iframeTimer
=
setInterval
(()
=>
{
number
++
if
(
document
.
getElementById
(
"companyIframe"
).
clientHeight
!=
iframeHeight
||
number
==
5
000
){
number
=
number
+
1000
if
(
document
.
getElementById
(
"companyIframe"
).
clientHeight
!=
iframeHeight
||
number
==
3
000
){
this
.
loading
=
false
clearInterval
(
this
.
iframeTimer
)
}
})
}
,
1000
)
}
}
}
...
...
dsk-operate-ui/src/views/enterpriseManagement/index.vue
View file @
2d4b2cf7
...
...
@@ -57,7 +57,6 @@
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['system:role:add']"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
...
...
@@ -68,7 +67,6 @@
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['system:role:remove']"
>
批量删除
</el-button>
</el-col>
<right-toolbar
:showSearch
.
sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
...
...
@@ -104,21 +102,18 @@
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['system:role:edit']"
>
修改
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['system:role:remove']"
>
删除
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-zoom-in"
@
click=
"handleLook(scope.row)"
v-hasPermi=
"['system:role:remove']"
>
查看
</el-button>
</
template
>
</el-table-column>
...
...
dsk-operate-ui/src/views/enterpriseManagement/programme.vue
View file @
2d4b2cf7
...
...
@@ -24,7 +24,6 @@
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['system:role:add']"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
...
...
@@ -35,7 +34,6 @@
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['system:role:remove']"
>
批量删除
</el-button>
</el-col>
<right-toolbar
:showSearch
.
sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
...
...
@@ -80,28 +78,24 @@
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['system:role:edit']"
>
修改
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['system:role:remove']"
>
删除
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-zoom-in"
@
click=
"handleLook(scope.row)"
v-hasPermi=
"['system:role:edit']"
>
查看
</el-button>
<!--
<el-button-->
<!--size="mini"-->
<!--type="text"-->
<!--icon="el-icon-upload"-->
<!--@click="handleSave(scope.row.packageId)"-->
<!--v-hasPermi="['system:role:edit']"-->
<!-->同步
</el-button>
-->
</
template
>
</el-table-column>
...
...
@@ -154,7 +148,7 @@
</template>
<
script
>
import
{
treeselect
as
qytreeselect
}
from
"@/api/system/menu"
;
import
{
qytreeselect
}
from
"@/api/system/menu"
;
import
{
addTenantPackage
,
getTenantPackage
,
detailTenantPackage
,
saveTenantPackage
,
deleteTenantPackage
}
from
"@/api/enterpriseManagement/enterpriseManagement"
;
...
...
dsk-operate-ui/src/views/index.vue
View file @
2d4b2cf7
...
...
@@ -13,7 +13,9 @@
</el-col>
<el-col
:span=
"8"
>
<div
class=
"user"
@
click=
"handleChange"
>
<h3>
{{
nickName
}}
<span>
总经理
</span></h3>
<h3>
{{
nickName
}}
<!--
<span>
总经理
</span>
-->
</h3>
<p>
您好,祝您工作顺利每一天
</p>
</div>
</el-col>
...
...
@@ -345,7 +347,9 @@
<el-col
:span=
"6"
>
<div
class=
"content-right"
>
<div
class=
"user"
@
click=
"handleChange"
>
<h3>
李婷婷
<span>
营销员
</span></h3>
<h3>
李婷婷
<!--<span>营销员</span>-->
</h3>
<p>
您好,祝您工作顺利每一天
</p>
</div>
<div
class=
"search"
>
...
...
@@ -935,9 +939,9 @@ export default {
},
itemStyle
:
{
normal
:{
color
:
'#
67B3FD
'
,
color
:
'#
14C9C9
'
,
lineStyle
:
{
width
:
3
width
:
2
},
}
},
...
...
@@ -961,7 +965,7 @@ export default {
offset
:
1
,
color
:
'#1B8EFF'
}]),
barBorderRadius
:[
20
,
20
,
0
,
0
]
//
barBorderRadius:[20,20, 0, 0]
}
},
data
:
data
.
map
(
item
=>
item
.
count
),
...
...
@@ -1258,9 +1262,9 @@ export default {
},
itemStyle
:
{
normal
:{
color
:
'#
67B3FD
'
,
color
:
'#
14C9C9
'
,
lineStyle
:
{
width
:
3
width
:
2
},
}
},
...
...
@@ -1284,7 +1288,7 @@ export default {
offset
:
1
,
color
:
'#1B8EFF'
}]),
barBorderRadius
:[
20
,
20
,
0
,
0
]
//
barBorderRadius:[20,20, 0, 0]
}
},
data
:
data
.
map
(
item
=>
item
.
count
),
...
...
dsk-operate-ui/src/views/login.vue
View file @
2d4b2cf7
...
...
@@ -24,6 +24,7 @@
<el-form-item
prop=
"captchaCode"
v-if=
"captchaEnabled"
>
<el-input
v-model=
"dxform.captchaCode"
@
focus=
"getCode"
auto-complete=
"off"
placeholder=
"请输入图形验证码"
style=
"width: 196px;float: left;"
...
...
@@ -92,6 +93,7 @@
v-model=
"loginForm.code"
auto-complete=
"off"
placeholder=
"请输入图形验证码"
@
focus=
"getCode"
style=
"width: 196px;float: left;"
@
keyup
.
enter
.
native=
"handleLogin"
>
...
...
@@ -130,6 +132,7 @@
<el-form-item
prop=
"captchaCode"
v-if=
"captchaEnabled && showcode"
>
<el-input
v-model=
"dxform.captchaCode"
@
focus=
"getCode"
auto-complete=
"off"
placeholder=
"请输入验证码"
style=
"width: 196px;float: left;"
...
...
dsk-operate-ui/src/views/macro/component/CustomTimeSelect.vue
0 → 100644
View file @
2d4b2cf7
<
template
>
<div
:ref=
"refStr"
class=
"custom-time-select screen-popper"
id=
"custom-time-select"
>
<div
:class=
"['input-block', isSelectOption?'rote':'']"
>
<div
class=
"block"
@
click=
"isSelectOption=!isSelectOption"
@
mouseenter=
"handleMouseenter"
@
mouseleave=
"handleMouseleave"
>
<el-input
class=
"custom-time-input"
v-model=
"value"
:placeholder=
"placeholder"
readonly
>
<template
slot=
"suffix"
>
<span
@
click
.
stop=
"handleClear"
:class=
"[isClear&&isHover?'el-icon-circle-close':'el-icon-arrow-down']"
></span>
</
template
>
</el-input>
</div>
<div
class=
"options-block"
v-if=
"isSelectOption"
>
<div
class=
"arrow"
></div>
<div
@
click=
"handleClick(option)"
:class=
"['option', value==option?'active':'']"
:key=
"i"
v-for=
"(option, i) in options"
>
<
template
v-if=
"option == '自定义'"
>
<div
style=
"position: relative"
>
自定义
<el-date-picker
ref=
"picker"
:default-value=
"defaultValue"
style=
"position: absolute;opacity: 0;"
v-model=
"pickerValue"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
value-format=
"yyyy-MM-dd"
:picker-options=
"pickerOptions"
@
change=
"changePicker"
>
</el-date-picker>
</div>
</
template
>
<
template
v-else
>
<span>
{{
option
}}
</span>
<span
v-if=
"value==option"
class=
"el-icon-check"
></span>
</
template
>
</div>
</div>
</div>
<div
v-if=
"isSelectOption"
class=
"picker-block"
ref=
"picker-block"
></div>
</div>
</template>
<
script
>
export
default
{
props
:
{
'placeholder'
:
{
type
:
String
,
default
:
'请选择'
,
},
'ref-str'
:
{
type
:
String
,
default
:
`timeselect
${
String
(
Math
.
random
(
0
,
100
)).
slice
(
2
)}
`
,
},
dateFrom
:
{
type
:
String
,
default
:
''
},
dateTo
:
{
type
:
String
,
default
:
''
},
timeList
:
{
type
:
Array
,
default
:
()
=>
[],
}
},
computed
:
{
isClear
()
{
if
(
!
this
.
isSelectOption
&&
this
.
value
)
{
return
true
}
else
{
return
false
}
},
pickerOptions
()
{
// 用计算属性
let
_this
=
this
// 此时 this指向的就是vue实例
return
{
disabledDate
(
time
)
{
if
(
_this
.
dateFrom
){
return
time
.
getTime
()
<
new
Date
(
_this
.
dateFrom
.
replace
(
/-/g
,
'/'
)).
getTime
()
-
8.64e6
;
//如果没有后面的-8.64e6就是不可以选择今天的
}
if
(
_this
.
dateTo
){
return
time
.
getTime
()
>
new
Date
(
_this
.
dateTo
.
replace
(
/-/g
,
'/'
)).
getTime
();
//如果没有后面的-8.64e7就是不可以选择今天的
}
}
}
},
},
watch
:
{
refStr
(
refStr
)
{
return
refStr
}
},
data
()
{
return
{
value
:
''
,
options
:
[
'近1年'
,
'近2年'
,
'近3年'
,
'近5年'
,
'自定义'
,],
isSelectOption
:
false
,
isHover
:
false
,
pickerValue
:
[],
defaultValue
:
new
Date
()
}
},
mounted
()
{
if
(
this
.
dateTo
){
this
.
defaultValue
=
new
Date
(
this
.
dateTo
)
}
this
.
handleAppClick
()
if
(
this
.
timeList
&&
this
.
timeList
.
length
>
0
){
this
.
options
=
this
.
timeList
}
},
methods
:
{
// 时间格式化
formatDate
(
timeStr
)
{
let
date
=
new
Date
(
Number
(
timeStr
))
let
year
=
date
.
getFullYear
()
let
month
=
String
(
date
.
getMonth
()
+
1
).
padStart
(
2
,
0
)
let
day
=
String
(
date
.
getDate
()).
padStart
(
2
,
0
)
return
`
${
year
}
-
${
month
}
-
${
day
}
`
},
// 判断是否点击的为组件内部
handleAppClick
()
{
const
app
=
document
.
getElementById
(
'app'
)
app
.
addEventListener
(
'click'
,
(
e
)
=>
{
const
dom
=
this
.
$refs
[
this
.
refStr
]
const
flag
=
dom
&&
dom
.
contains
(
e
.
target
)
// const flag = document.getElementById('custom-time-select').contains(e.target)
!
flag
?
this
.
isSelectOption
=
false
:
''
if
(
this
.
value
==
'自定义'
&&
(
!
this
.
pickerValue
||
!
this
.
pickerValue
.
length
))
{
this
.
value
=
''
this
.
$emit
(
'input'
,
''
)
this
.
$emit
(
'handle-search'
)
}
},
true
)
},
handleMouseenter
()
{
this
.
isHover
=
true
},
handleMouseleave
()
{
this
.
isHover
=
false
},
handleClear
()
{
if
(
this
.
isClear
&&
this
.
isHover
)
{
this
.
value
=
''
this
.
pickerValue
=
[]
this
.
$emit
(
'input'
,
''
)
this
.
$emit
(
'handle-search'
)
}
else
{
this
.
isSelectOption
=
true
}
},
handleClick
(
value
)
{
this
.
value
=
value
if
(
value
==
'自定义'
)
{
this
.
value
=
'自定义'
this
.
$refs
.
picker
&&
this
.
$refs
.
picker
.
length
&&
this
.
$refs
.
picker
[
0
].
focus
()
this
.
$nextTick
(()
=>
{
this
.
$refs
[
'picker-block'
].
appendChild
(
this
.
$refs
.
picker
[
0
].
popperElm
)
})
}
else
{
this
.
pickerValue
=
[]
this
.
isSelectOption
=
false
let
timeStr
=
[]
let
startTime
=
''
let
endTime
=
new
Date
()
switch
(
value
)
{
case
'近三天'
:
startTime
=
new
Date
(
endTime
.
getTime
()
-
3600
*
1000
*
24
*
3
)
timeStr
=
[
this
.
formatDate
(
startTime
),
this
.
formatDate
(
endTime
)]
break
;
case
'近七天'
:
startTime
=
new
Date
(
endTime
.
getTime
()
-
3600
*
1000
*
24
*
7
)
timeStr
=
[
this
.
formatDate
(
startTime
),
this
.
formatDate
(
endTime
)]
break
;
case
'近半月'
:
startTime
=
new
Date
(
endTime
.
getTime
()
-
3600
*
1000
*
24
*
15
)
timeStr
=
[
this
.
formatDate
(
startTime
),
this
.
formatDate
(
endTime
)]
break
;
case
'近1年'
:
startTime
=
new
Date
().
setFullYear
(
new
Date
().
getFullYear
()
-
1
)
if
(
this
.
dateTo
){
startTime
=
new
Date
(
this
.
dateTo
).
setFullYear
(
new
Date
(
this
.
dateTo
).
getFullYear
()
-
1
)
}
timeStr
=
[
this
.
formatDate
(
startTime
),
this
.
formatDate
(
endTime
)]
break
;
case
'近2年'
:
startTime
=
new
Date
().
setFullYear
(
new
Date
().
getFullYear
()
-
2
)
if
(
this
.
dateTo
){
startTime
=
new
Date
(
this
.
dateTo
).
setFullYear
(
new
Date
(
this
.
dateTo
).
getFullYear
()
-
2
)
}
timeStr
=
[
this
.
formatDate
(
startTime
),
this
.
formatDate
(
endTime
)]
break
;
case
'近3年'
:
startTime
=
new
Date
().
setFullYear
(
new
Date
().
getFullYear
()
-
3
)
if
(
this
.
dateTo
){
startTime
=
new
Date
(
this
.
dateTo
).
setFullYear
(
new
Date
(
this
.
dateTo
).
getFullYear
()
-
3
)
}
timeStr
=
[
this
.
formatDate
(
startTime
),
this
.
formatDate
(
endTime
)]
break
;
case
'近5年'
:
startTime
=
new
Date
().
setFullYear
(
new
Date
().
getFullYear
()
-
5
)
if
(
this
.
dateTo
){
startTime
=
new
Date
(
this
.
dateTo
).
setFullYear
(
new
Date
(
this
.
dateTo
).
getFullYear
()
-
5
)
}
timeStr
=
[
this
.
formatDate
(
startTime
),
this
.
formatDate
(
endTime
)]
break
;
default
:
if
(
this
.
pickerValue
&&
this
.
pickerValue
.
length
)
{
timeStr
=
this
.
pickerValue
}
else
{
timeStr
=
[]
this
.
value
=
''
}
break
;
}
this
.
$emit
(
'input'
,
timeStr
)
this
.
$emit
(
'handle-search'
)
}
},
// 时间选择改变后的回调
changePicker
(
value
)
{
this
.
isSelectOption
=
false
if
(
value
&&
value
.
length
)
{
// this.value = '自定义'
this
.
value
=
String
(
this
.
pickerValue
)
this
.
$emit
(
'input'
,
this
.
pickerValue
)
}
else
{
this
.
value
=
''
this
.
$emit
(
'input'
,
''
)
}
this
.
$emit
(
'handle-search'
)
}
}
}
</
script
>
<
style
lang=
"scss"
>
.custom-time-select
{
width
:
120px
;
height
:
34px
;
.input-block
{
width
:
100%
;
height
:
100%
;
margin
:
0
;
cursor
:
pointer
;
.block
{
width
:
100%
;
height
:
100%
;
>
.custom-time-input.el-input
{
width
:
100%
;
height
:
100%
;
>
input
{
width
:
100%
;
height
:
100%
;
overflow
:
hidden
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
border-radius
:
2px
;
}
}
}
.el-input__suffix
{
transform
:
rotateZ
(
0
);
width
:
25px
;
height
:
100%
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
}
&
.rote
{
.el-input__suffix
{
transform
:
rotateZ
(
180deg
);
}
}
}
.options-block
{
position
:
absolute
;
margin-top
:
12px
;
min-width
:
120px
;
font-size
:
14px
;
color
:
#666666
;
background-color
:
#fff
;
border
:
1px
solid
#E4E7ED
;
padding
:
6px
0
;
border-radius
:
4px
;
z-index
:
10
;
.option
{
padding
:
0
24px
0
16px
;
box-sizing
:
border-box
;
height
:
36px
;
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
>
span
{
display
:
inline-block
;
}
&
.active
{
background-color
:
#F2F7FF
;
color
:
#0381FA
;
}
&
:hover
{
background-color
:
#F5F7FA
;
}
}
}
.picker-block
{
position
:
relative
;
&
:
:
after
{
content
:
""
;
display
:block
;
visibility
:hidden
;
clear
:both
;
}
.el-picker-panel.el-date-range-picker.el-popper
{
left
:
0
!
important
;
/*top: 205px !important;*/
}
.popper__arrow
{
/*left: 30px !important;*/
}
}
}
</
style
>
dsk-operate-ui/src/views/macro/economies/component/regionalEconomy.vue
View file @
2d4b2cf7
...
...
@@ -406,7 +406,10 @@ export default {
},
label
:
{
show
:
this
.
valData
[
1
]
?
true
:
false
,
position
:
'top'
position
:
'top'
,
textStyle
:
{
padding
:
[
0
,
0
,
0
,
-
12
]
}
},
//设置折线颜色和粗细
lineStyle
:
{
...
...
@@ -470,7 +473,10 @@ export default {
},
label
:
{
show
:
this
.
valData1
[
1
]
?
true
:
false
,
position
:
'top'
position
:
'top'
,
textStyle
:
{
padding
:
[
0
,
0
,
0
,
-
35
]
}
},
itemStyle
:{
color
:
"#718AFF"
,
...
...
@@ -534,7 +540,10 @@ export default {
},
label
:
{
show
:
this
.
valData2
[
1
]
?
true
:
false
,
position
:
'top'
position
:
'top'
,
textStyle
:
{
padding
:
[
0
,
0
,
0
,
-
16
]
}
},
//设置折线颜色和粗细
lineStyle
:
{
...
...
@@ -598,7 +607,10 @@ export default {
},
label
:
{
show
:
this
.
valData3
[
1
]
?
true
:
false
,
position
:
'top'
position
:
'top'
,
textStyle
:
{
padding
:
[
0
,
0
,
0
,
-
16
]
}
},
//设置折线颜色和粗细
lineStyle
:
{
...
...
@@ -664,6 +676,9 @@ export default {
label
:
{
show
:
this
.
valData4
[
1
]
?
true
:
false
,
position
:
'top'
,
textStyle
:
{
padding
:
[
0
,
0
,
0
,
-
14
]
}
},
//设置折线颜色和粗细
lineStyle
:
{
...
...
dsk-operate-ui/src/views/macro/enterprises/index.vue
View file @
2d4b2cf7
...
...
@@ -19,6 +19,12 @@
placeholder=
"资质资格"
collapse-tags
clearable
></el-cascader>
<custom-time-select
style=
"display: inline-block"
:timeList=
"timeList"
v-model=
"queryParams.time"
:placeholder=
"timePlaceholder"
@
handle-search=
"changeSelect"
/>
<el-input
placeholder=
"输入关键词查询"
v-model=
"queryParams.ename"
clearable
@
clear=
"handleSearch()"
>
<i
slot=
"prefix"
class=
"el-icon-search"
></i>
<el-button
slot=
"append"
@
click=
"handleSearch()"
>
搜索
</el-button>
...
...
@@ -92,12 +98,13 @@
// import Offsite from './component/offsite'
import
{
encodeStr
}
from
"@/assets/js/common.js"
import
aptitudeCode
from
'@/assets/json/aptitudeCode'
import
CustomTimeSelect
from
'../component/CustomTimeSelect'
import
{
enterprise
,
location
,
getUipIdByCid
}
from
'@/api/macro/macro'
import
Region
from
'../component/region'
import
skeleton
from
'../component/skeleton'
export
default
{
name
:
'Enterprises'
,
components
:
{
Region
,
skeleton
},
components
:
{
Region
,
skeleton
,
CustomTimeSelect
},
data
()
{
return
{
encodeStr
,
...
...
@@ -106,6 +113,7 @@ export default {
queryParams
:{
ename
:
''
,
codeStr
:
''
,
time
:
''
,
},
props
:
{
value
:
'id'
,
...
...
@@ -126,7 +134,9 @@ export default {
provinceId
:
''
,
show_page
:
true
,
MaxPage
:
500
,
isSkeleton
:
true
isSkeleton
:
true
,
timeList
:
[
'近三天'
,
'近七天'
,
'近半月'
,
'自定义'
],
timePlaceholder
:
'中标时间'
,
}
},
created
()
{
...
...
@@ -171,7 +181,11 @@ export default {
async
querySubmit
(){
// this.isSkeleton = true;
this
.
tableLoading
=
true
;
const
params
=
{
pageNum
:
this
.
pageIndex
,
pageSize
:
this
.
pageSize
}
const
params
=
{}
params
.
page
=
{
limit
:
this
.
pageSize
,
page
:
this
.
pageIndex
,
}
if
(
this
.
queryParams
.
field
){
params
.
field
=
this
.
queryParams
.
field
}
...
...
@@ -187,6 +201,14 @@ export default {
if
(
this
.
queryParams
.
ename
){
params
.
aptitudeQueryDto
.
ename
=
this
.
queryParams
.
ename
}
if
(
this
.
queryParams
.
time
.
length
>
1
){
params
.
recentlyBidQueryDto
=
[
{
startTenderTime
:
this
.
queryParams
.
time
[
0
],
endTenderTime
:
this
.
queryParams
.
time
[
1
]
}
]
}
if
(
this
.
aptitudeType
){
let
aptitudeType
=
[];
aptitudeType
.
push
({
...
...
@@ -243,6 +265,7 @@ export default {
this
.
queryParams
=
{
ename
:
''
,
codeStr
:
''
,
time
:
''
,
}
this
.
pageIndex
=
1
;
this
.
querySubmit
()
...
...
@@ -298,7 +321,11 @@ export default {
location
(
params
).
then
(
res
=>
{
console
.
log
(
res
.
data
)
})
}
},
changeSelect
(){
this
.
pageIndex
=
1
;
this
.
querySubmit
()
},
}
}
</
script
>
...
...
@@ -353,14 +380,14 @@ export default {
::v-deep
.el-cascader
{
width
:
180px
;
margin-right
:
12px
;
height
:
3
2
px
;
line-height
:
3
2
px
!
important
;
height
:
3
4
px
;
line-height
:
3
4
px
!
important
;
.el-input
{
width
:
100%
;
height
:
32px
;
height
:
100%
;
.el-input__inner
{
height
:
32px
!
important
;
line-height
:
32px
!
important
;
width
:
100%
;
height
:
100%
;
}
}
.el-cascader__tags
{
...
...
@@ -376,11 +403,13 @@ export default {
}
::v-deep
.el-input.el-input-group
{
width
:
240px
;
height
:
3
0
px
;
height
:
3
4
px
;
border-radius
:
2px
;
margin-left
:
12px
;
border
:
1px
solid
#e0e0e0
;
.el-input__inner
{
height
:
30px
;
width
:
100%
;
height
:
100%
;
border
:
0
;
}
.el-input__suffix
{
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/BI.vue
View file @
2d4b2cf7
...
...
@@ -39,6 +39,10 @@
}
.el-tabs__header
{
margin
:
0
;
position
:
sticky
;
top
:
104px
;
z-index
:
999
;
background
:
#fff
;
.el-tabs__item
{
padding
:
0
16px
;
font-size
:
16px
;
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/qgjjdq.vue
View file @
2d4b2cf7
...
...
@@ -422,13 +422,13 @@
overflow
:visible
;
.el-table__header-wrapper
{
position
:
sticky
;
top
:
56
px
;
top
:
104
px
;
z-index
:
9
;
}
.el-table__fixed-header-wrapper
{
position
:
sticky
;
z-index
:
9
;
top
:
56
px
;
top
:
104
px
;
}
.el-table__fixed
{
overflow-x
:
clip
;
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/tdjy.vue
View file @
2d4b2cf7
...
...
@@ -279,6 +279,7 @@ export default {
countLandMarketByProvince
(
params
).
then
(
res
=>
{
this
.
topState
=
false
this
.
topList
=
res
.
data
.
provinceDate
;
console
.
log
(
res
.
data
.
provinceList
,
"||||||||"
)
var
list
=
[];
if
(
res
.
data
.
provinceDate
){
for
(
var
i
=
0
;
i
<
res
.
data
.
provinceDate
.
length
;
i
++
){
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/zhongbiao.vue
View file @
2d4b2cf7
...
...
@@ -422,20 +422,20 @@
}
lowerRangeTenderType
(
params
).
then
(
res
=>
{
this
.
xmlxState
=
false
;
for
(
var
i
=
0
;
i
<
res
.
data
.
length
;
i
++
){
for
(
let
j
=
0
;
j
<
res
.
data
[
i
].
typeList
.
length
;
j
++
){
if
(
res
.
data
[
i
].
typeList
[
j
].
tenderType
===
'施工'
){
res
.
data
[
i
].
sgRate
=
res
.
data
[
i
].
typeList
[
j
].
rate
.
toFixed
(
2
)
for
(
var
i
=
0
;
i
<
res
.
data
.
result
.
length
;
i
++
){
for
(
let
j
=
0
;
j
<
res
.
data
.
result
[
i
].
typeList
.
length
;
j
++
){
if
(
res
.
data
.
result
[
i
].
typeList
[
j
].
tenderType
===
'施工'
){
res
.
data
.
result
[
i
].
sgRate
=
res
.
data
.
result
[
i
].
typeList
[
j
].
rate
.
toFixed
(
2
)
}
if
(
res
.
data
[
i
].
typeList
[
j
].
tenderType
===
'勘察设计'
){
res
.
data
[
i
].
kcsjRate
=
res
.
data
[
i
].
typeList
[
j
].
rate
.
toFixed
(
2
)
if
(
res
.
data
.
result
[
i
].
typeList
[
j
].
tenderType
===
'勘察设计'
){
res
.
data
.
result
[
i
].
kcsjRate
=
res
.
data
.
result
[
i
].
typeList
[
j
].
rate
.
toFixed
(
2
)
}
if
(
res
.
data
[
i
].
typeList
[
j
].
tenderType
===
'监理'
){
res
.
data
[
i
].
jlRate
=
res
.
data
[
i
].
typeList
[
j
].
rate
.
toFixed
(
2
)
if
(
res
.
data
.
result
[
i
].
typeList
[
j
].
tenderType
===
'监理'
){
res
.
data
.
result
[
i
].
jlRate
=
res
.
data
.
result
[
i
].
typeList
[
j
].
rate
.
toFixed
(
2
)
}
}
}
this
.
xmxflList
=
res
.
data
;
this
.
xmxflList
=
res
.
data
.
result
;
if
(
this
.
xmxflList
){
this
.
$nextTick
(()
=>
{
this
.
initChart6
(
this
.
xmxflList
)
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/index.vue
View file @
2d4b2cf7
...
...
@@ -80,6 +80,9 @@ export default {
background
:
#FFFFFF
;
border-radius
:
4px
;
color
:
#232323
;
position
:
sticky
;
top
:
56px
;
z-index
:
999
;
::v-deep
.el-tabs
{
height
:
48px
;
line-height
:
48px
;
...
...
dsk-operate-ui/src/views/project/projectList/component/addProject.vue
View file @
2d4b2cf7
...
...
@@ -13,9 +13,9 @@
</div>
<el-form
class=
"popform j"
:model=
"queryParam"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"130px"
>
<el-form-item
label=
"项目名称:"
class=
"row"
prop=
"projectName"
>
<el-input
type=
"text"
placeholder=
"请输入"
v-model=
"queryParam.projectName"
@
input=
"getProject"
:
ο
nkeyup=
"queryParam.projectName=queryParam.projectName.replace(/^\s+|\s+$/g,'')"
></el-input>
<div
class=
"resultlist"
v-if=
"proList.length>0"
id=
"box1"
>
<div
v-for=
"(item,index) in proList"
@
click=
"selProject(item)"
><span
v-html=
"item.projectName"
></span></div>
<el-input
type=
"text"
placeholder=
"请输入"
v-model=
"queryParam.projectName"
@
input=
"getProject
(1)
"
:
ο
nkeyup=
"queryParam.projectName=queryParam.projectName.replace(/^\s+|\s+$/g,'')"
></el-input>
<div
class=
"resultlist
infinite-list"
v-infinite-scroll=
"load1
"
v-if=
"proList.length>0"
id=
"box1"
>
<div
class=
"infinite-list-item"
v-for=
"(item,index) in proList"
@
click=
"selProject(item)"
><span
v-html=
"item.projectName"
></span></div>
</div>
</el-form-item>
<el-form-item
label=
"招采单位:"
class=
"row"
prop=
"ownerCompany"
>
...
...
@@ -97,6 +97,7 @@
projectCategory
:[],
//项目类别
proList
:[],
//项目列表
companypage
:
1
,
projectpage
:
1
,
isscroll
:
false
,
}
},
...
...
@@ -177,16 +178,41 @@
},
//获取项目名称
getProject
(
value
){
if
(
value
.
length
>=
2
){
this
.
queryParam
.
projectStage
=
null
this
.
queryParam
.
investmentAmount
=
null
this
.
queryParam
.
projectType
=
null
this
.
queryParam
.
projectCategory
=
null
this
.
queryParam
.
status
=
0
this
.
queryParam
.
ownerCompany
=
''
if
(
value
==
1
){
this
.
proList
=
[]
this
.
projectpage
=
1
}
if
(
this
.
queryParam
.
projectName
.
length
>=
2
){
let
param
=
{
projectName
:
value
,
projectName
:
this
.
queryParam
.
projectName
,
page
:{
limit
:
20
,
page
:
this
.
projectpage
}
}
queryProject
(
JSON
.
stringify
(
param
)).
then
(
result
=>
{
if
(
result
.
code
!=
200
){
this
.
proList
=
[]
return
false
}
this
.
proList
=
result
.
data
if
(
result
.
data
!=
null
&&
result
.
data
.
length
>
0
){
this
.
isscroll
=
true
if
(
this
.
proList
.
length
===
0
)
{
this
.
proList
=
result
.
data
}
else
{
let
arr2
=
result
.
data
arr2
.
unshift
(
2
,
0
);
Array
.
prototype
.
splice
.
apply
(
this
.
proList
,
arr2
);
}
this
.
projectpage
+=
1
}
else
{
this
.
isscroll
=
false
}
})
}
},
...
...
@@ -195,6 +221,11 @@
this
.
getCompany
(
2
)
}
},
load1
(){
if
(
this
.
isscroll
){
this
.
getProject
(
2
)
}
},
selCompany
(
item
){
this
.
queryParam
.
companyId
=
item
.
jskEid
this
.
queryParam
.
ownerCompany
=
item
.
name
.
replace
(
/<
[^
>
]
+>/g
,
''
)
...
...
dsk-operate-ui/src/views/system/user/profile/index.vue
View file @
2d4b2cf7
...
...
@@ -53,7 +53,7 @@
</el-tab-pane>
</el-tabs>
</el-card>
<el-card
style=
"margin-top: 16px"
v-if=
"tableDataTotal > 0"
>
<el-card
style=
"margin-top: 16px"
>
<div
slot=
"header"
class=
"clearfix"
>
<span>
数据导出
</span>
</div>
...
...
@@ -84,6 +84,12 @@
<div
class=
"pagination-box"
v-if=
"tableDataTotal>params.pageSize"
>
<el-pagination
background
:current-page=
"params.pageNum"
:page-size=
"params.pageSize"
:total=
"tableDataTotal"
layout=
"prev, pager, next, jumper"
@
current-change=
"handleCurrentChange"
@
size-change=
"handleSizeChange"
/>
</div>
<div
class=
"tables"
>
<div
class=
"empty"
v-if=
"tableDataTotal==0"
>
<img
class=
"img"
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
暂无数据展示
</div>
</div>
</div>
</el-card>
</el-col>
</el-row>
...
...
@@ -133,6 +139,7 @@ export default {
this
.
tableData
=
[]
this
.
tableDataTotal
=
0
}
this
.
tableDataTotal
=
0
this
.
isSkeleton
=
false
})
},
...
...
@@ -151,3 +158,20 @@ export default {
}
};
</
script
>
<
style
scoped
lang=
"scss"
>
.empty
{
margin
:
0
auto
;
height
:
300px
;
text-align
:
center
;
.img
{
width
:
108px
;
height
:
108px
;
margin-bottom
:
24px
;
margin-top
:
70px
;
}
.p1
{
color
:
#333333
;
font-size
:
16px
;
}
}
</
style
>
dsk-operate-ui/vue.config.js
View file @
2d4b2cf7
...
...
@@ -34,7 +34,7 @@ module.exports = {
proxy
:
{
// detail: https://cli.vuejs.org/config/#devserver-proxy
[
process
.
env
.
VUE_APP_BASE_API
]:
{
target
:
`http://
139.9.157.4
9:9099/prod-api`
,
//测试
target
:
`http://
47.104.91.22
9:9099/prod-api`
,
//测试
// target: `http://localhost:9099`,//测试
// target: `http://122.9.160.122:9011`, //线上
// target: `http://192.168.0.165:9098`,//施
...
...
dsk-system/src/main/java/com/dsk/system/mapper/SysUserMapper.java
View file @
2d4b2cf7
...
...
@@ -92,4 +92,10 @@ public interface SysUserMapper extends BaseMapperPlus<SysUserMapper, SysUser, Sy
*/
SysUser
selectUserById
(
Long
userId
);
List
<
SysUser
>
selectUserByTenantPhone
(
String
phonenumber
);
List
<
SysUser
>
selectUserByTenantUsername
(
String
username
);
}
dsk-system/src/main/java/com/dsk/system/service/SysLoginService.java
View file @
2d4b2cf7
...
...
@@ -525,7 +525,7 @@ public class SysLoginService {
}
SysTenantVo
tenant
=
sysTenantService
.
queryByTenantId
(
tenantId
);
if
(
ObjectUtil
.
isNull
(
tenant
))
{
log
.
info
(
"登录企业:{} 不存在."
,
tenant
.
getCompanyName
()
);
log
.
info
(
"登录企业:{} 不存在."
,
tenant
Id
);
RedisUtils
.
deleteObject
(
GlobalConstants
.
PHONE_DEFAULT_TENANT
+
phoneNumber
);
return
null
;
}
else
if
(
TenantStatus
.
DISABLE
.
getCode
().
equals
(
tenant
.
getStatus
()))
{
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/SysMenuServiceImpl.java
View file @
2d4b2cf7
...
...
@@ -91,17 +91,16 @@ public class SysMenuServiceImpl implements ISysMenuService {
*/
@Override
public
List
<
SysMenu
>
selectTenantPackageMenuList
(
SysMenu
menu
,
Long
userId
)
{
List
<
SysMenu
>
menuList
=
null
;
List
<
SysMenu
>
menuList
;
// 管理员显示所有菜单信息
if
(
LoginHelper
.
isSuperAdmin
(
userId
))
{
menuList
=
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
SysMenu
>()
.
like
(
StringUtils
.
isNotBlank
(
menu
.
getMenuName
()),
SysMenu:
:
getMenuName
,
menu
.
getMenuName
())
.
eq
(
StringUtils
.
isNotBlank
(
menu
.
getVisible
()),
SysMenu:
:
getVisible
,
menu
.
getVisible
())
.
eq
(
StringUtils
.
isNotBlank
(
menu
.
getStatus
()),
SysMenu:
:
getStatus
,
menu
.
getStatus
())
.
orderByAsc
(
SysMenu:
:
getParentId
)
.
orderByAsc
(
SysMenu:
:
getOrderNum
));
menuList
=
menuList
.
stream
().
filter
(
menu1
->
!
menu1
.
getMenuName
().
equals
(
"企业管理"
)).
collect
(
Collectors
.
toList
());
}
menuList
=
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
SysMenu
>()
.
like
(
StringUtils
.
isNotBlank
(
menu
.
getMenuName
()),
SysMenu:
:
getMenuName
,
menu
.
getMenuName
())
.
eq
(
StringUtils
.
isNotBlank
(
menu
.
getVisible
()),
SysMenu:
:
getVisible
,
menu
.
getVisible
())
.
eq
(
SysMenu:
:
getStatus
,
"0"
)
.
orderByAsc
(
SysMenu:
:
getParentId
)
.
orderByAsc
(
SysMenu:
:
getOrderNum
));
//过滤企业管理权限,考虑今后权限名称可能会修改,因此以ID作为判断依据
menuList
=
menuList
.
stream
().
filter
(
menu1
->
menu1
.
getMenuId
()
!=
1693803090698280961L
).
collect
(
Collectors
.
toList
());
return
menuList
;
}
...
...
@@ -183,11 +182,10 @@ public class SysMenuServiceImpl implements ISysMenuService {
if
(
CollUtil
.
isEmpty
(
menus
))
{
return
CollUtil
.
newArrayList
();
}
return
TreeBuildUtils
.
build
(
menus
,
(
menu
,
tree
)
->
tree
.
setId
(
menu
.
getMenuId
())
.
setParentId
(
menu
.
getParentId
())
.
setName
(
menu
.
getMenuName
())
.
setWeight
(
menu
.
getOrderNum
()));
return
TreeBuildUtils
.
build
(
menus
,
(
menu
,
tree
)
->
tree
.
setId
(
menu
.
getMenuId
())
.
setParentId
(
menu
.
getParentId
())
.
setName
(
menu
.
getMenuName
())
.
setWeight
(
menu
.
getOrderNum
()));
}
/**
...
...
dsk-system/src/main/resources/mapper/system/SysUserMapper.xml
View file @
2d4b2cf7
...
...
@@ -139,6 +139,21 @@
<include
refid=
"selectUserVo"
/>
where u.del_flag = '0' and u.user_id = #{userId}
</select>
<select
id=
"selectUserByTenantPhone"
resultType=
"com.dsk.system.domain.SysUser"
>
select t1.user_id, t1.tenant_id,t1.user_name,t1.status from sys_user t1
inner join sys_tenant t on t1.tenant_id=t.tenant_id and t1.del_flag=0
where t.del_flag=0
and t.status=0
and t1.phonenumber=#{phonenumber}
order by t1.create_time desc
</select>
<select
id=
"selectUserByTenantUsername"
resultType=
"com.dsk.system.domain.SysUser"
>
select t1.user_id, t1.tenant_id,t1.user_name,t1.status from sys_user t1
left join sys_tenant t on t1.tenant_id=t.tenant_id and t1.del_flag=0
where t.del_flag=0
and t.status=0
and t1.user_name=#{username}
order by t1.create_time desc
</select>
</mapper>
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