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
34146c04
Commit
34146c04
authored
Jul 28, 2023
by
danfuman
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev20230707'
parents
04786c45
d1517056
Changes
123
Show whitespace changes
Inline
Side-by-side
Showing
123 changed files
with
3285 additions
and
1311 deletions
+3285
-1311
BusinessBacklogController.java
...sk/web/controller/business/BusinessBacklogController.java
+11
-5
BusinessFileController.java
...m/dsk/web/controller/business/BusinessFileController.java
+1
-1
BusinessFollowRecordController.java
...b/controller/business/BusinessFollowRecordController.java
+2
-2
BusinessInfoController.java
...m/dsk/web/controller/business/BusinessInfoController.java
+4
-4
BusinessLabelController.java
.../dsk/web/controller/business/BusinessLabelController.java
+1
-1
BusinessRelateCompanyController.java
.../controller/business/BusinessRelateCompanyController.java
+1
-1
ContactInfoController.java
...om/dsk/web/controller/customer/ContactInfoController.java
+77
-0
CustomerController.java
...a/com/dsk/web/controller/customer/CustomerController.java
+18
-57
BusinessOpportunityRadarController.java
...search/controller/BusinessOpportunityRadarController.java
+13
-3
CompanySearchController.java
...controller/search/controller/CompanySearchController.java
+1
-1
MarketAnalysisController.java
...ontroller/search/controller/MarketAnalysisController.java
+1
-2
BusinessOpportunityRadarService.java
...oller/search/service/BusinessOpportunityRadarService.java
+41
-41
MarketAnalysisService.java
.../web/controller/search/service/MarketAnalysisService.java
+27
-27
BusinessOpportunityRadarServiceImpl.java
...rch/service/impl/BusinessOpportunityRadarServiceImpl.java
+109
-109
MarketAnalysisServiceImpl.java
...roller/search/service/impl/MarketAnalysisServiceImpl.java
+69
-69
application.yml
dsk-admin/src/main/resources/application.yml
+1
-1
BusinessInfo.java
.../java/com/dsk/common/core/domain/entity/BusinessInfo.java
+24
-0
BusinessRelateCompany.java
.../dsk/common/core/domain/entity/BusinessRelateCompany.java
+8
-36
BusinessUser.java
.../java/com/dsk/common/core/domain/entity/BusinessUser.java
+14
-62
EnterpriseInvestmentBody.java
...sk/common/core/domain/model/EnterpriseInvestmentBody.java
+2
-0
EnterpriseProjectApprovalProjectPageBody.java
...omain/model/EnterpriseProjectApprovalProjectPageBody.java
+5
-2
CheckUtils.java
...common/src/main/java/com/dsk/common/utils/CheckUtils.java
+5
-2
biddetail.js
dsk-operate-ui/src/api/detail/party-a/biddetail.js
+10
-0
project.js
dsk-operate-ui/src/api/project/project.js
+9
-0
index.scss
dsk-operate-ui/src/assets/styles/index.scss
+8
-5
project.scss
dsk-operate-ui/src/assets/styles/project.scss
+19
-5
index.vue
dsk-operate-ui/src/layout/components/Sidebar/index.vue
+16
-4
index.vue
dsk-operate-ui/src/layout/components/TagsView/index.vue
+2
-2
index.js
dsk-operate-ui/src/router/index.js
+14
-0
index.vue
dsk-operate-ui/src/views/custom/customList/index.vue
+13
-4
index.vue
...operate-ui/src/views/custom/historicalCustomers/index.vue
+8
-3
index.vue
dsk-operate-ui/src/views/custom/overview/index.vue
+7
-7
index.vue
dsk-operate-ui/src/views/detail/biddetail/index.vue
+432
-0
CustomMoneySelect.vue
.../src/views/detail/party-a/component/CustomMoneySelect.vue
+1
-1
CustomTimeSelect.vue
...i/src/views/detail/party-a/component/CustomTimeSelect.vue
+1
-1
Sidebar.vue
...operate-ui/src/views/detail/party-a/component/Sidebar.vue
+1
-1
index.vue
dsk-operate-ui/src/views/detail/party-a/cooperate/index.vue
+14
-3
customDetail.vue
.../views/detail/party-a/dealings/component/customDetail.vue
+5
-2
supplierDetail.vue
...iews/detail/party-a/dealings/component/supplierDetail.vue
+5
-3
custom.vue
dsk-operate-ui/src/views/detail/party-a/dealings/custom.vue
+2
-2
hiscontract.vue
...rate-ui/src/views/detail/party-a/dealings/hiscontract.vue
+2
-3
supplier.vue
...operate-ui/src/views/detail/party-a/dealings/supplier.vue
+1
-2
index.vue
...rate-ui/src/views/detail/party-a/decisionMaking/index.vue
+230
-230
landtransaction.vue
...te-ui/src/views/detail/party-a/opport/landtransaction.vue
+5
-0
proposed.vue
dsk-operate-ui/src/views/detail/party-a/opport/proposed.vue
+1
-0
businfo.vue
dsk-operate-ui/src/views/detail/party-a/overview/businfo.vue
+16
-7
bidding.vue
...i/src/views/detail/party-a/overview/component/bidding.vue
+2
-2
busclue.vue
...i/src/views/detail/party-a/overview/component/busclue.vue
+1
-1
finance.vue
...i/src/views/detail/party-a/overview/component/finance.vue
+6
-2
infoheader.vue
...rc/views/detail/party-a/overview/component/infoheader.vue
+52
-24
relationship.vue
.../views/detail/party-a/overview/component/relationship.vue
+1
-1
holderinfo.vue
...erate-ui/src/views/detail/party-a/overview/holderinfo.vue
+15
-2
overseas.vue
...operate-ui/src/views/detail/party-a/overview/overseas.vue
+2
-1
index.vue
...te-ui/src/views/enterpriseData/components/Owner/index.vue
+12
-11
index.vue
...iews/enterpriseData/components/SearchEnterprise/index.vue
+9
-3
industrialStructure.vue
...c/views/macro/economies/component/industrialStructure.vue
+17
-6
index.vue
dsk-operate-ui/src/views/macro/enterprises/index.vue
+8
-3
details.vue
dsk-operate-ui/src/views/macro/financing/details.vue
+1
-1
index.vue
dsk-operate-ui/src/views/macro/financing/index.vue
+18
-12
zhaobiao.vue
.../src/views/macro/nationalEconomies/component/zhaobiao.vue
+7
-2
index.vue
dsk-operate-ui/src/views/macro/urban/index.vue
+6
-1
index.vue
dsk-operate-ui/src/views/project/overview/index.vue
+2
-5
addProject.vue
...ui/src/views/project/projectList/component/addProject.vue
+46
-8
gzdb.vue
...erate-ui/src/views/project/projectList/component/gzdb.vue
+100
-36
lxr.vue
...perate-ui/src/views/project/projectList/component/lxr.vue
+37
-20
xgqy.vue
...erate-ui/src/views/project/projectList/component/xgqy.vue
+129
-68
xmsl.vue
...erate-ui/src/views/project/projectList/component/xmsl.vue
+3
-3
index.vue
dsk-operate-ui/src/views/project/projectList/index.vue
+12
-2
details.vue
dsk-operate-ui/src/views/radar/BidRecord/details.vue
+2
-1
details.vue
dsk-operate-ui/src/views/radar/Bidding/details.vue
+1
-1
details.vue
dsk-operate-ui/src/views/radar/Establishment/details.vue
+4
-1
index.vue
...operate-ui/src/views/radar/components/BidRecord/index.vue
+27
-4
index.vue
dsk-operate-ui/src/views/radar/components/Bidding/index.vue
+27
-4
index.vue
...ate-ui/src/views/radar/components/Establishment/index.vue
+27
-7
index.vue
dsk-operate-ui/src/views/radar/components/Land/index.vue
+40
-17
index.vue
dsk-operate-ui/src/views/radar/components/Tender/index.vue
+58
-31
index.vue
...operate-ui/src/views/radar/components/bxprozbgg/index.vue
+28
-8
index.vue
...erate-ui/src/views/radar/components/debtProject/index.vue
+59
-29
BusinessBacklog.java
.../java/com/dsk/system/domain/business/BusinessBacklog.java
+52
-0
BusinessAddDto.java
...va/com/dsk/system/domain/business/dto/BusinessAddDto.java
+2
-2
BusinessExcelDto.java
.../com/dsk/system/domain/business/dto/BusinessExcelDto.java
+1
-1
BusinessIdDto.java
...ava/com/dsk/system/domain/business/dto/BusinessIdDto.java
+1
-1
BusinessListDto.java
...a/com/dsk/system/domain/business/dto/BusinessListDto.java
+2
-2
BusinessBacklogListVo.java
.../dsk/system/domain/business/vo/BusinessBacklogListVo.java
+45
-0
BusinessBrowseVo.java
...a/com/dsk/system/domain/business/vo/BusinessBrowseVo.java
+1
-1
BusinessLabelVo.java
...va/com/dsk/system/domain/business/vo/BusinessLabelVo.java
+1
-1
BusinessLikeProjectNameListVo.java
...tem/domain/business/vo/BusinessLikeProjectNameListVo.java
+34
-0
BusinessListVo.java
...ava/com/dsk/system/domain/business/vo/BusinessListVo.java
+11
-1
ContactInfo.java
...main/java/com/dsk/system/domain/customer/ContactInfo.java
+84
-0
ContactInfoSearchDto.java
.../dsk/system/domain/customer/dto/ContactInfoSearchDto.java
+26
-0
CustomerSearchDto.java
...com/dsk/system/domain/customer/dto/CustomerSearchDto.java
+12
-0
ContactInfoListVo.java
.../com/dsk/system/domain/customer/vo/ContactInfoListVo.java
+76
-0
EnterpriseService.java
...ain/java/com/dsk/system/dskService/EnterpriseService.java
+52
-1
BusinessBacklogMapper.java
...ain/java/com/dsk/system/mapper/BusinessBacklogMapper.java
+13
-15
BusinessFollowRecordMapper.java
...ava/com/dsk/system/mapper/BusinessFollowRecordMapper.java
+11
-11
BusinessInfoMapper.java
...c/main/java/com/dsk/system/mapper/BusinessInfoMapper.java
+18
-12
BusinessLabelMapper.java
.../main/java/com/dsk/system/mapper/BusinessLabelMapper.java
+9
-9
BusinessRelateCompanyMapper.java
...va/com/dsk/system/mapper/BusinessRelateCompanyMapper.java
+10
-7
ContactInfoMapper.java
...rc/main/java/com/dsk/system/mapper/ContactInfoMapper.java
+24
-0
BusinessOpportunityRadarService.java
...system/searchService/BusinessOpportunityRadarService.java
+95
-0
MarketAnalysisService.java
...a/com/dsk/system/searchService/MarketAnalysisService.java
+57
-0
IBusinessBacklogService.java
.../java/com/dsk/system/service/IBusinessBacklogService.java
+14
-10
IBusinessFollowRecordService.java
.../com/dsk/system/service/IBusinessFollowRecordService.java
+11
-11
IBusinessInfoService.java
...ain/java/com/dsk/system/service/IBusinessInfoService.java
+19
-11
IBusinessLabelService.java
...in/java/com/dsk/system/service/IBusinessLabelService.java
+9
-9
IBusinessRelateCompanyService.java
...com/dsk/system/service/IBusinessRelateCompanyService.java
+9
-12
IContactInfoService.java
...main/java/com/dsk/system/service/IContactInfoService.java
+53
-0
ICustomerService.java
...rc/main/java/com/dsk/system/service/ICustomerService.java
+2
-0
BusinessBacklogServiceImpl.java
...m/dsk/system/service/impl/BusinessBacklogServiceImpl.java
+37
-35
BusinessFollowRecordServiceImpl.java
.../system/service/impl/BusinessFollowRecordServiceImpl.java
+3
-3
BusinessInfoServiceImpl.java
.../com/dsk/system/service/impl/BusinessInfoServiceImpl.java
+196
-35
BusinessLabelServiceImpl.java
...com/dsk/system/service/impl/BusinessLabelServiceImpl.java
+1
-1
BusinessRelateCompanyServiceImpl.java
...system/service/impl/BusinessRelateCompanyServiceImpl.java
+28
-2
ContactInfoServiceImpl.java
...a/com/dsk/system/service/impl/ContactInfoServiceImpl.java
+69
-0
CustomerServiceImpl.java
...java/com/dsk/system/service/impl/CustomerServiceImpl.java
+63
-0
ReadBusinessInfoExcel.java
...va/com/dsk/system/service/impl/ReadBusinessInfoExcel.java
+1
-1
SysMenuServiceImpl.java
.../java/com/dsk/system/service/impl/SysMenuServiceImpl.java
+0
-1
UrbanInvestmentPlatformServiceImpl.java
...stem/service/impl/UrbanInvestmentPlatformServiceImpl.java
+25
-0
BusinessBacklogMapper.xml
.../main/resources/mapper/business/BusinessBacklogMapper.xml
+20
-39
BusinessFollowRecordMapper.xml
.../resources/mapper/business/BusinessFollowRecordMapper.xml
+2
-2
BusinessInfoMapper.xml
...src/main/resources/mapper/business/BusinessInfoMapper.xml
+28
-31
BusinessRelateCompanyMapper.xml
...resources/mapper/business/BusinessRelateCompanyMapper.xml
+22
-16
ContactInfoMapper.xml
...in/resources/mapper/system/customer/ContactInfoMapper.xml
+20
-0
No files found.
dsk-admin/src/main/java/com/dsk/web/controller/business/BusinessBacklogController.java
View file @
34146c04
...
...
@@ -2,7 +2,7 @@ package com.dsk.web.controller.business;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.
common.core.domain.entity
.BusinessBacklog
;
import
com.dsk.
system.domain.business
.BusinessBacklog
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.system.service.IBusinessBacklogService
;
import
io.swagger.annotations.Api
;
...
...
@@ -11,8 +11,6 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* 项目工作待办Controller
*
...
...
@@ -36,8 +34,7 @@ public class BusinessBacklogController extends BaseController
public
TableDataInfo
list
(
BusinessBacklog
businessBacklog
)
{
startPage
();
List
<
BusinessBacklog
>
list
=
businessBacklogService
.
selectBusinessBacklogList
(
businessBacklog
);
return
getDataTable
(
list
);
return
getDataTable
(
businessBacklogService
.
selectBusinessBacklogList
(
businessBacklog
));
}
/**
...
...
@@ -63,6 +60,15 @@ public class BusinessBacklogController extends BaseController
return
toAjax
(
businessBacklogService
.
updateBusinessBacklog
(
businessBacklog
));
}
/**
* 获取项目工作代办逾期数量
*/
@GetMapping
(
"/overdue/count/{businessId}"
)
public
AjaxResult
overdueCount
(
@PathVariable
Integer
businessId
)
{
return
AjaxResult
.
success
(
businessBacklogService
.
overdueCount
(
businessId
));
}
// /**
// * 导出项目工作待办列表
// */
...
...
dsk-admin/src/main/java/com/dsk/web/controller/business/BusinessFileController.java
View file @
34146c04
...
...
@@ -9,7 +9,7 @@ import com.dsk.common.utils.StringUtils;
import
com.dsk.common.utils.file.FileUploadUtils
;
import
com.dsk.common.utils.file.FileUtils
;
import
com.dsk.framework.config.ServerConfig
;
import
com.dsk.system.domain.BusinessIdDto
;
import
com.dsk.system.domain.
business.dto.
BusinessIdDto
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
...
...
dsk-admin/src/main/java/com/dsk/web/controller/business/BusinessFollowRecordController.java
View file @
34146c04
...
...
@@ -4,8 +4,8 @@ import com.dsk.common.core.controller.BaseController;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.domain.entity.BusinessFollowRecord
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.system.domain.BusinessIdDto
;
import
com.dsk.system.domain.BusinessListDto
;
import
com.dsk.system.domain.
business.dto.
BusinessIdDto
;
import
com.dsk.system.domain.
business.dto.
BusinessListDto
;
import
com.dsk.system.service.IBusinessFollowRecordService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
...
...
dsk-admin/src/main/java/com/dsk/web/controller/business/BusinessInfoController.java
View file @
34146c04
...
...
@@ -4,9 +4,9 @@ import com.dsk.common.core.controller.BaseController;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.domain.entity.BusinessInfo
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.system.domain.BusinessAddDto
;
import
com.dsk.system.domain.BusinessListDto
;
import
com.dsk.system.domain.vo.BusinessListVo
;
import
com.dsk.system.domain.
business.dto.
BusinessAddDto
;
import
com.dsk.system.domain.
business.dto.
BusinessListDto
;
import
com.dsk.system.domain.
business.
vo.BusinessListVo
;
import
com.dsk.system.service.IBusinessInfoService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -90,7 +90,7 @@ public class BusinessInfoController extends BaseController
/**
* 新增项目详情
*/
// @PreAuthorize("@ss.hasPermi('system:business:add')")
// @PreAuthorize("@ss.hasPermi('system:business:add')")
Z
// @Log(title = "项目管理", businessType = BusinessType.INSERT)
@PostMapping
(
"/add"
)
public
AjaxResult
add
(
@RequestBody
BusinessAddDto
dto
)
...
...
dsk-admin/src/main/java/com/dsk/web/controller/business/BusinessLabelController.java
View file @
34146c04
...
...
@@ -3,7 +3,7 @@ package com.dsk.web.controller.business;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.domain.entity.BusinessLabel
;
import
com.dsk.system.domain.BusinessIdDto
;
import
com.dsk.system.domain.
business.dto.
BusinessIdDto
;
import
com.dsk.system.service.IBusinessLabelService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
...
...
dsk-admin/src/main/java/com/dsk/web/controller/business/BusinessRelateCompanyController.java
View file @
34146c04
...
...
@@ -4,7 +4,7 @@ import com.dsk.common.core.controller.BaseController;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.domain.entity.BusinessRelateCompany
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.system.domain.BusinessIdDto
;
import
com.dsk.system.domain.
business.dto.
BusinessIdDto
;
import
com.dsk.system.service.IBusinessRelateCompanyService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
...
...
dsk-admin/src/main/java/com/dsk/web/controller/customer/ContactInfoController.java
0 → 100644
View file @
34146c04
package
com
.
dsk
.
web
.
controller
.
customer
;
import
com.dsk.common.annotation.RepeatSubmit
;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.system.domain.customer.ContactInfo
;
import
com.dsk.system.domain.customer.dto.ContactInfoSearchDto
;
import
com.dsk.system.service.IContactInfoService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
/**
* 联系人(ContactInfo)表控制层
*
* @author makejava
* @since 2023-07-25 17:18:00
*/
@RestController
@RequestMapping
(
"/contact/info"
)
public
class
ContactInfoController
extends
BaseController
{
/**
* 服务对象
*/
@Autowired
private
IContactInfoService
baseService
;
/**
* 联系人列表
*/
// @PreAuthorize("@ss.hasPermi('contact:list')")
@GetMapping
(
"/list"
)
public
TableDataInfo
selectPageList
(
ContactInfoSearchDto
dto
){
startPage
();
return
getDataTable
(
baseService
.
selectList
(
dto
));
}
/**
* 联系人详情
*/
// @PreAuthorize("@ss.hasPermi('contact:info')")
@GetMapping
(
"/{id}"
)
public
AjaxResult
info
(
@PathVariable
Long
id
){
return
AjaxResult
.
success
(
baseService
.
selectById
(
id
));
}
/**
* 添加用户联系人
*/
// @PreAuthorize("@ss.hasPermi('contact:add')")
@PostMapping
()
@RepeatSubmit
()
public
AjaxResult
add
(
@RequestBody
ContactInfo
baen
){
return
AjaxResult
.
success
(
baseService
.
insert
(
baen
));
}
/**
* 编辑用户联系人
*/
// @PreAuthorize("@ss.hasPermi('contact:edit')")
@PutMapping
()
@RepeatSubmit
()
public
AjaxResult
edit
(
@RequestBody
ContactInfo
baen
){
return
AjaxResult
.
success
(
baseService
.
update
(
baen
));
}
/**
* 删除用户联系人
*/
// @PreAuthorize("@ss.hasPermi('contact:del')")
@DeleteMapping
(
"/{id}"
)
@RepeatSubmit
()
public
AjaxResult
del
(
@PathVariable
(
"id"
)
Long
id
){
return
AjaxResult
.
success
(
baseService
.
deleteById
(
id
));
}
}
dsk-admin/src/main/java/com/dsk/web/controller/customer/CustomerController.java
View file @
34146c04
...
...
@@ -14,8 +14,8 @@ import com.dsk.common.utils.poi.ExcelUtil;
import
com.dsk.system.domain.customer.Customer
;
import
com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto
;
import
com.dsk.system.domain.customer.dto.CustomerSearchDto
;
import
com.dsk.system.searchService.BusinessOpportunityRadarService
;
import
com.dsk.system.service.ICustomerService
;
import
com.dsk.web.controller.search.service.BusinessOpportunityRadarService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.util.ObjectUtils
;
...
...
@@ -39,8 +39,8 @@ public class CustomerController extends BaseController {
@Autowired
private
ICustomerService
baseService
;
@Autowired
private
BusinessOpportunityRadarService
opportunityRadarService
;
//
@Autowired
//
private BusinessOpportunityRadarService opportunityRadarService;
/**
* 查询客户列表
...
...
@@ -68,7 +68,6 @@ public class CustomerController extends BaseController {
@PostMapping
()
@RepeatSubmit
public
AjaxResult
add
(
@RequestBody
Customer
customer
)
{
dealWithcustomerData
(
customer
);
return
toAjax
(
baseService
.
add
(
customer
));
}
...
...
@@ -80,7 +79,6 @@ public class CustomerController extends BaseController {
@RepeatSubmit
public
AjaxResult
claim
(
@RequestBody
Customer
customer
)
{
if
(
ObjectUtils
.
isEmpty
(
customer
.
getUipId
()))
throw
new
BeanException
(
"城投uipId不能为空"
);
dealWithcustomerData
(
customer
);
boolean
add
=
baseService
.
add
(
customer
);
if
(
add
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
...
...
@@ -90,43 +88,6 @@ public class CustomerController extends BaseController {
return
AjaxResult
.
error
();
}
private
void
dealWithcustomerData
(
Customer
customer
)
{
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCompanyName
()))
throw
new
BeanException
(
"企业名称不能为空"
);
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCompanyId
()))
{
try
{
Map
<
String
,
Object
>
map
=
opportunityRadarService
.
enterpriseByName
(
customer
.
getCompanyName
());
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
"data"
)))
{
customer
.
setCompanyId
(
MapUtil
.
getInt
(
BeanUtil
.
beanToMap
(
map
.
get
(
"data"
)),
"jskEid"
));
if
(
ObjectUtils
.
isEmpty
(
customer
.
getLegalPerson
()))
{
customer
.
setLegalPerson
(
MapUtil
.
getStr
(
map
,
"legalPerson"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getRegisterCapital
()))
{
customer
.
setRegisterCapital
(
MapUtil
.
getStr
(
map
,
"registeredCapitalStr"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getProvinceId
()))
{
customer
.
setProvinceId
(
MapUtil
.
getInt
(
map
,
"provinceId"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCityId
()))
{
customer
.
setCityId
(
MapUtil
.
getInt
(
map
,
"cityId"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getDistrictId
()))
{
customer
.
setDistrictId
(
MapUtil
.
getInt
(
map
,
"countyId"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getRegisterAddress
()))
{
customer
.
setRegisterAddress
(
MapUtil
.
getStr
(
map
,
"domicile"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCreditCode
()))
{
customer
.
setCreditCode
(
MapUtil
.
getStr
(
map
,
"creditCode"
));
}
}
}
catch
(
Exception
e
)
{
logger
.
debug
(
"获取企业id错误!error:{}"
,
e
.
getMessage
());
}
}
}
/**
* 编辑客户
*/
...
...
@@ -167,21 +128,21 @@ public class CustomerController extends BaseController {
continue
;
}
try
{
Map
<
String
,
Object
>
map
=
opportunityRadarService
.
enterpriseByName
(
customer
.
getCompanyName
());
if
(
ObjectUtils
.
isEmpty
(
map
))
{
throw
new
HttpException
(
"远程调用匹配接口失败!"
);
}
Map
<
String
,
Object
>
obj
=
BeanUtil
.
beanToMap
(
map
.
get
(
"data"
));
if
(!
ObjectUtils
.
isEmpty
(
obj
))
{
customer
.
setCompanyId
(
MapUtil
.
getInt
(
obj
,
"jskEid"
));
customer
.
setLegalPerson
(
MapUtil
.
getStr
(
obj
,
"legalPerson"
));
customer
.
setRegisterCapital
(
MapUtil
.
getStr
(
obj
,
"registeredCapitalStr"
));
customer
.
setProvinceId
(
MapUtil
.
getInt
(
obj
,
"provinceId"
));
customer
.
setCityId
(
MapUtil
.
getInt
(
obj
,
"cityId"
));
customer
.
setDistrictId
(
MapUtil
.
getInt
(
obj
,
"countyId"
));
customer
.
setRegisterAddress
(
MapUtil
.
getStr
(
obj
,
"domicile"
));
customer
.
setCreditCode
(
MapUtil
.
getStr
(
obj
,
"creditCode"
));
}
//
Map<String, Object> map = opportunityRadarService.enterpriseByName(customer.getCompanyName());
//
if (ObjectUtils.isEmpty(map)) {
//
throw new HttpException("远程调用匹配接口失败!");
//
}
//
Map<String, Object> obj = BeanUtil.beanToMap(map.get("data"));
//
if (!ObjectUtils.isEmpty(obj)) {
//
customer.setCompanyId(MapUtil.getInt(obj, "jskEid"));
//
customer.setLegalPerson(MapUtil.getStr(obj, "legalPerson"));
//
customer.setRegisterCapital(MapUtil.getStr(obj, "registeredCapitalStr"));
//
customer.setProvinceId(MapUtil.getInt(obj, "provinceId"));
//
customer.setCityId(MapUtil.getInt(obj, "cityId"));
//
customer.setDistrictId(MapUtil.getInt(obj, "countyId"));
//
customer.setRegisterAddress(MapUtil.getStr(obj, "domicile"));
//
customer.setCreditCode(MapUtil.getStr(obj, "creditCode"));
//
}
baseService
.
add
(
customer
);
successCount
++;
}
catch
(
Exception
e
)
{
...
...
dsk-admin/src/main/java/com/dsk/web/controller/search/controller/BusinessOpportunityRadarController.java
View file @
34146c04
...
...
@@ -3,9 +3,7 @@ package com.dsk.web.controller.search.controller;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.dtos.ComposeQueryDto
;
import
com.dsk.common.dtos.Page
;
import
com.dsk.web.controller.search.service.BusinessOpportunityRadarService
;
import
com.dsk.web.controller.search.service.MarketAnalysisService
;
import
com.dsk.system.searchService.BusinessOpportunityRadarService
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -87,6 +85,18 @@ public class BusinessOpportunityRadarController {
return
opportunityRadarService
.
jskBidNewsPage
(
object
);
}
/*
* 标讯pro 商机项目关联查询
*/
@RequestMapping
(
"/jskBidNewsPage/findByName"
)
public
AjaxResult
findByName
(
@RequestBody
JSONObject
object
)
{
ComposeQueryDto
compose
=
JSONObject
.
parseObject
(
object
.
toJSONString
(),
ComposeQueryDto
.
class
);
if
(
PageQueryLimit
.
pageLimit
(
compose
.
getPage
())){
return
AjaxResult
.
error
(
"翻页已达到上限"
);
}
return
opportunityRadarService
.
findByName
(
object
);
}
/*
* 专项债查询
...
...
dsk-admin/src/main/java/com/dsk/web/controller/search/controller/CompanySearchController.java
View file @
34146c04
...
...
@@ -4,7 +4,7 @@ import cn.hutool.json.JSONUtil;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.dtos.ComposeQueryDto
;
import
com.dsk.
web.controller.search.s
ervice.BusinessOpportunityRadarService
;
import
com.dsk.
system.searchS
ervice.BusinessOpportunityRadarService
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
...
...
dsk-admin/src/main/java/com/dsk/web/controller/search/controller/MarketAnalysisController.java
View file @
34146c04
...
...
@@ -4,8 +4,7 @@ import com.alibaba.fastjson2.JSONObject;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.common.dtos.ComposeQueryDto
;
import
com.dsk.web.controller.search.service.MarketAnalysisService
;
import
com.dsk.system.searchService.MarketAnalysisService
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
dsk-admin/src/main/java/com/dsk/web/controller/search/service/BusinessOpportunityRadarService.java
View file @
34146c04
package
com
.
dsk
.
web
.
controller
.
search
.
service
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.dtos.ComposeQueryDto
;
/**
* @Author liujie
* @ClassName MarketAnalysisService
* @Date 2023/5/15 16:39
**/
public
interface
BusinessOpportunityRadarService
{
AjaxResult
jskBidNewsPage
(
JSONObject
object
);
AjaxResult
jskBidTenderPage
(
JSONObject
object
);
AjaxResult
jskBidPage
(
JSONObject
object
);
AjaxResult
landMarketPage
(
JSONObject
object
);
AjaxResult
establishmentPage
(
JSONObject
object
);
AjaxResult
enterpriseIndex
(
JSONObject
object
);
AjaxResult
enterpriseByName
(
String
keyword
);
AjaxResult
enterprisePage
(
JSONObject
object
);
AjaxResult
bondProjectPage
(
JSONObject
object
);
AjaxResult
jskBidPlanPage
(
JSONObject
object
);
AjaxResult
getCapitalSourceSelect
();
AjaxResult
keywordList
();
AjaxResult
bidSourceList
(
JSONObject
object
);
}
//
package com.dsk.web.controller.search.service;
//
//
import com.alibaba.fastjson2.JSONObject;
//
import com.dsk.common.core.domain.AjaxResult;
//
import com.dsk.common.dtos.ComposeQueryDto;
//
/
//
**
//
* @Author liujie
//
* @ClassName MarketAnalysisService
//
* @Date 2023/5/15 16:39
//
**/
//
public interface BusinessOpportunityRadarService {
//
//
//
AjaxResult jskBidNewsPage(JSONObject object);
//
//
AjaxResult jskBidTenderPage(JSONObject object);
//
//
AjaxResult jskBidPage(JSONObject object);
//
//
AjaxResult landMarketPage( JSONObject object);
//
//
AjaxResult establishmentPage(JSONObject object);
//
//
AjaxResult enterpriseIndex(JSONObject object);
//
//
AjaxResult enterpriseByName(String keyword);
//
//
AjaxResult enterprisePage(JSONObject object);
//
//
AjaxResult bondProjectPage( JSONObject object);
//
//
AjaxResult jskBidPlanPage( JSONObject object);
//
//
AjaxResult getCapitalSourceSelect();
//
//
AjaxResult keywordList();
//
//
AjaxResult bidSourceList( JSONObject object);
//
//
}
dsk-admin/src/main/java/com/dsk/web/controller/search/service/MarketAnalysisService.java
View file @
34146c04
package
com
.
dsk
.
web
.
controller
.
search
.
service
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.dtos.ComposeQueryDto
;
/**
* @Author liujie
* @ClassName MarketAnalysisService
* @Date 2023/5/15 16:39
**/
public
interface
MarketAnalysisService
{
AjaxResult
areaGroupByProvince
();
AjaxResult
certGroupByMajorAndLevel
();
AjaxResult
certGroupByMajorProvinceLevel
();
AjaxResult
countGroupByProvince
(
JSONObject
object
);
AjaxResult
countGroupByMonth
(
JSONObject
object
);
AjaxResult
bidMoneyGroupByProjectType
(
JSONObject
object
);
AjaxResult
bidGroupCountByProjectType
(
JSONObject
object
);
}
//
package com.dsk.web.controller.search.service;
//
//
import com.alibaba.fastjson2.JSONObject;
//
import com.dsk.common.core.domain.AjaxResult;
//
import com.dsk.common.dtos.ComposeQueryDto;
//
/
//
**
//
* @Author liujie
//
* @ClassName MarketAnalysisService
//
* @Date 2023/5/15 16:39
//
**/
//
public interface MarketAnalysisService {
//
//
AjaxResult areaGroupByProvince();
//
//
AjaxResult certGroupByMajorAndLevel();
//
//
AjaxResult certGroupByMajorProvinceLevel();
//
//
AjaxResult countGroupByProvince(JSONObject object);
//
//
AjaxResult countGroupByMonth(JSONObject object);
//
//
AjaxResult bidMoneyGroupByProjectType(JSONObject object);
//
//
AjaxResult bidGroupCountByProjectType(JSONObject object);
//
}
dsk-admin/src/main/java/com/dsk/web/controller/search/service/impl/BusinessOpportunityRadarServiceImpl.java
View file @
34146c04
package
com
.
dsk
.
web
.
controller
.
search
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.dtos.ComposeQueryDto
;
import
com.dsk.common.utils.DskOpenApiUtil
;
import
com.dsk.web.controller.search.service.BusinessOpportunityRadarService
;
import
com.dsk.web.controller.search.service.MarketAnalysisService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @Author liujie
* @ClassName MarketAnalysisServiceImpl
* @Date 2023/5/15 16:40
**/
@Service
public
class
BusinessOpportunityRadarServiceImpl
implements
BusinessOpportunityRadarService
{
@Autowired
private
DskOpenApiUtil
dskOpenApiUtil
;
@Override
public
AjaxResult
jskBidNewsPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBid/news/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
jskBidTenderPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBidTender/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
establishmentPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/establishment/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
jskBidPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBid/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
landMarketPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/landMarket/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
enterpriseIndex
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/enterprice/index"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
enterprisePage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/enterprice/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
enterpriseByName
(
String
keyword
){
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"keyword"
,
keyword
);
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/enterprice/findByName"
,
params
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
bondProjectPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/bondProject/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
jskBidPlanPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBidPlan/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
getCapitalSourceSelect
()
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBidPlan/getCapitalSourceSelect"
,
null
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
keywordList
()
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/project/keywordList"
,
null
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
bidSourceList
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBid/source"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
}
//
package com.dsk.web.controller.search.service.impl;
//
//
import cn.hutool.core.bean.BeanUtil;
//
import com.alibaba.fastjson2.JSONObject;
//
import com.dsk.common.core.domain.AjaxResult;
//
import com.dsk.common.dtos.ComposeQueryDto;
//
import com.dsk.common.utils.DskOpenApiUtil;
//
import com.dsk.web.controller.search.service.BusinessOpportunityRadarService;
//
import com.dsk.web.controller.search.service.MarketAnalysisService;
//
import org.springframework.beans.factory.annotation.Autowired;
//
import org.springframework.stereotype.Service;
//
//
import java.util.HashMap;
//
import java.util.Map;
//
/
//
**
//
* @Author liujie
//
* @ClassName MarketAnalysisServiceImpl
//
* @Date 2023/5/15 16:40
//
**/
//
@Service
//
public class BusinessOpportunityRadarServiceImpl implements BusinessOpportunityRadarService {
//
//
@Autowired
//
private DskOpenApiUtil dskOpenApiUtil;
//
//
//
@Override
//
public AjaxResult jskBidNewsPage(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBid/news/page", object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
//
@Override
//
public AjaxResult jskBidTenderPage(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBidTender/page", object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult establishmentPage(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/establishment/page", object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult jskBidPage(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBid/page",object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult landMarketPage(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/landMarket/page", object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult enterpriseIndex(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/index", object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult enterprisePage(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/page",object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
//
@Override
//
public AjaxResult enterpriseByName(String keyword){
//
Map<String,Object> params = new HashMap<>();
//
params.put("keyword",keyword);
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/findByName", params);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult bondProjectPage(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/bondProject/page", object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult jskBidPlanPage(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBidPlan/page",object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult getCapitalSourceSelect() {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBidPlan/getCapitalSourceSelect", null);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult keywordList() {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/project/keywordList", null);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult bidSourceList(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBid/source",object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
}
dsk-admin/src/main/java/com/dsk/web/controller/search/service/impl/MarketAnalysisServiceImpl.java
View file @
34146c04
package
com
.
dsk
.
web
.
controller
.
search
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.dtos.ComposeQueryDto
;
import
com.dsk.common.utils.DskOpenApiUtil
;
import
com.dsk.common.utils.http.HttpUtils
;
import
com.dsk.web.controller.search.service.MarketAnalysisService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Map
;
/**
* @Author liujie
* @ClassName MarketAnalysisServiceImpl
* @Date 2023/5/15 16:40
**/
@Service
public
class
MarketAnalysisServiceImpl
implements
MarketAnalysisService
{
@Autowired
private
DskOpenApiUtil
dskOpenApiUtil
;
@Override
public
AjaxResult
areaGroupByProvince
()
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/areaGroupByProvince"
,
null
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
certGroupByMajorAndLevel
()
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/certGroupByMajorAndLevel"
,
null
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
certGroupByMajorProvinceLevel
()
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/certGroupByMajorProvinceLevel"
,
null
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
bidMoneyGroupByProjectType
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/bidMoneyGroupByProjectType"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
bidGroupCountByProjectType
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/bidGroupCountByProjectType"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
countGroupByProvince
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/countGroupByProvince"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
countGroupByMonth
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/countGroupByMonth"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
}
//
package com.dsk.web.controller.search.service.impl;
//
//
import cn.hutool.core.bean.BeanUtil;
//
import com.alibaba.fastjson2.JSONObject;
//
import com.dsk.common.core.domain.AjaxResult;
//
import com.dsk.common.core.domain.R;
//
import com.dsk.common.dtos.ComposeQueryDto;
//
import com.dsk.common.utils.DskOpenApiUtil;
//
import com.dsk.common.utils.http.HttpUtils;
//
import com.dsk.web.controller.search.service.MarketAnalysisService;
//
import org.springframework.beans.factory.annotation.Autowired;
//
import org.springframework.stereotype.Service;
//
//
import java.util.Map;
//
/
//
**
//
* @Author liujie
//
* @ClassName MarketAnalysisServiceImpl
//
* @Date 2023/5/15 16:40
//
**/
//
@Service
//
public class MarketAnalysisServiceImpl implements MarketAnalysisService {
//
//
@Autowired
//
private DskOpenApiUtil dskOpenApiUtil;
//
@Override
//
public AjaxResult areaGroupByProvince() {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/areaGroupByProvince", null);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult certGroupByMajorAndLevel() {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/certGroupByMajorAndLevel", null);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
//
@Override
//
public AjaxResult certGroupByMajorProvinceLevel() {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/certGroupByMajorProvinceLevel", null);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
//
@Override
//
public AjaxResult bidMoneyGroupByProjectType(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/bidMoneyGroupByProjectType", object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult bidGroupCountByProjectType(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/bidGroupCountByProjectType", object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult countGroupByProvince(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/countGroupByProvince", object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult countGroupByMonth(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/countGroupByMonth", object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
}
dsk-admin/src/main/resources/application.yml
View file @
34146c04
spring
:
profiles
:
active
:
pre
active
:
test
# MyBatisPlus配置
# https://baomidou.com/config/
...
...
dsk-common/src/main/java/com/dsk/common/core/domain/entity/BusinessInfo.java
View file @
34146c04
...
...
@@ -164,6 +164,28 @@ public class BusinessInfo extends BaseEntity
/** 主管单位联系电话 */
@Excel
(
name
=
"主管单位联系电话"
)
private
String
supervisorPhone
;
/** 建设单位城投id */
@Excel
(
name
=
"建设单位城投id"
)
private
String
constructionUnitUipId
;
/** 建设单位建设库id */
@Excel
(
name
=
"建设单位建设库id"
)
private
Integer
constructionUnitCid
;
public
String
getConstructionUnitUipId
()
{
return
constructionUnitUipId
;
}
public
void
setConstructionUnitUipId
(
String
constructionUnitUipId
)
{
this
.
constructionUnitUipId
=
constructionUnitUipId
;
}
public
Integer
getConstructionUnitCid
()
{
return
constructionUnitCid
;
}
public
void
setConstructionUnitCid
(
Integer
constructionUnitCid
)
{
this
.
constructionUnitCid
=
constructionUnitCid
;
}
public
String
getConstructionUnit
()
{
return
constructionUnit
;
...
...
@@ -514,6 +536,8 @@ public class BusinessInfo extends BaseEntity
.
append
(
"supervisorUnit"
,
getSupervisorUnit
())
.
append
(
"supervisorPrincipal"
,
getSupervisorPrincipal
())
.
append
(
"supervisorPhone"
,
getSupervisorPhone
())
.
append
(
"constructionUnitUipId"
,
getConstructionUnitUipId
())
.
append
(
"constructionUnitCid"
,
getConstructionUnitCid
())
.
toString
();
}
}
dsk-common/src/main/java/com/dsk/common/core/domain/entity/BusinessRelateCompany.java
View file @
34146c04
...
...
@@ -2,14 +2,11 @@ package com.dsk.common.core.domain.entity;
import
com.dsk.common.annotation.Excel
;
import
com.dsk.common.core.domain.BaseEntity
;
import
com.dsk.common.utils.CheckUtils
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
javax.validation.constraints.Pattern
;
/**
* 项目关联单位对象 business_relate_company
*
...
...
@@ -29,10 +26,14 @@ public class BusinessRelateCompany extends BaseEntity
@Excel
(
name
=
"项目id"
)
private
Integer
businessId
;
/** 单位id */
@Excel
(
name
=
"单位id"
)
/** 单位
建设库
id */
@Excel
(
name
=
"单位
建设库
id"
)
private
Integer
companyId
;
/** 单位城投id */
@Excel
(
name
=
"单位城投id"
)
private
String
companyUipId
;
/** 单位名称 */
@Excel
(
name
=
"单位名称"
)
private
String
companyName
;
...
...
@@ -53,35 +54,6 @@ public class BusinessRelateCompany extends BaseEntity
@Excel
(
name
=
"对接深度/竞争力度"
)
private
String
depth
;
/** 企业类型 */
@Excel
(
name
=
"企业类型"
)
private
String
companyType
;
@Override
public
String
toString
()
{
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
.
append
(
"id"
,
getId
())
.
append
(
"businessId"
,
getBusinessId
())
.
append
(
"companyId"
,
getCompanyId
())
.
append
(
"companyName"
,
getCompanyName
())
.
append
(
"companyRole"
,
getCompanyRole
())
.
append
(
"responsiblePerson"
,
getResponsiblePerson
())
.
append
(
"phone"
,
getPhone
())
.
append
(
"createTime"
,
getCreateTime
())
.
append
(
"updateTime"
,
getUpdateTime
())
.
append
(
"depth"
,
getDepth
())
.
append
(
"companyType"
,
getCompanyType
())
.
toString
();
}
public
BusinessRelateCompany
(
Integer
businessId
,
Integer
companyId
,
String
companyName
,
String
companyRole
)
{
this
.
businessId
=
businessId
;
this
.
companyId
=
companyId
;
this
.
companyName
=
companyName
;
this
.
companyRole
=
companyRole
;
}
public
BusinessRelateCompany
(
Integer
businessId
)
{
this
.
businessId
=
businessId
;
}
/** 是否业主单位 0:否 1:是 */
private
Integer
isProprietor
;
}
dsk-common/src/main/java/com/dsk/common/core/domain/entity/BusinessUser.java
View file @
34146c04
package
com
.
dsk
.
common
.
core
.
domain
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.dsk.common.annotation.Excel
;
import
com.dsk.common.core.domain.BaseEntity
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
...
...
@@ -11,11 +17,16 @@ import org.apache.commons.lang3.builder.ToStringStyle;
* @author lxl
* @date 2023-05-17
*/
@Data
@NoArgsConstructor
@Accessors
(
chain
=
true
)
@TableName
(
"business_user"
)
public
class
BusinessUser
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/** $column.columnComment */
@TableId
(
value
=
"id"
,
type
=
IdType
.
INPUT
)
private
Integer
id
;
/** 项目id(business_info表id) */
...
...
@@ -24,76 +35,17 @@ public class BusinessUser extends BaseEntity
/** 部门id */
@Excel
(
name
=
"部门id"
)
private
Integer
deptId
;
private
Long
deptId
;
/** 用户id */
@Excel
(
name
=
"用户id"
)
private
Integer
userId
;
private
Long
userId
;
/** 是否创建人(1 是,0 否) */
@Excel
(
name
=
"是否创建人(1 是,0 否)"
)
private
Integer
isFounder
;
public
void
setId
(
Integer
id
)
{
this
.
id
=
id
;
}
public
Integer
getId
()
{
return
id
;
}
public
void
setBusinessId
(
Integer
businessId
)
{
this
.
businessId
=
businessId
;
}
public
Integer
getBusinessId
()
{
return
businessId
;
}
public
void
setDeptId
(
Integer
deptId
)
{
this
.
deptId
=
deptId
;
}
public
Integer
getDeptId
()
{
return
deptId
;
}
public
void
setUserId
(
Integer
userId
)
{
this
.
userId
=
userId
;
}
public
Integer
getUserId
()
{
return
userId
;
}
public
void
setIsFounder
(
Integer
isFounder
)
{
this
.
isFounder
=
isFounder
;
}
public
Integer
getIsFounder
()
{
return
isFounder
;
}
@Override
public
String
toString
()
{
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
.
append
(
"id"
,
getId
())
.
append
(
"businessId"
,
getBusinessId
())
.
append
(
"deptId"
,
getDeptId
()
)
.
append
(
"userId"
,
getUserId
())
.
append
(
"isFounder"
,
getIsFounder
())
.
append
(
"createTime"
,
getCreateTime
())
.
append
(
"updateTime"
,
getUpdateTime
())
.
toString
();
}
public
BusinessUser
(
Integer
businessId
,
Integer
deptId
,
Integer
userId
,
Integer
isFounder
)
{
public
BusinessUser
(
Integer
businessId
,
Long
deptId
,
Long
userId
,
Integer
isFounder
)
{
this
.
businessId
=
businessId
;
this
.
deptId
=
deptId
;
this
.
userId
=
userId
;
...
...
dsk-common/src/main/java/com/dsk/common/core/domain/model/EnterpriseInvestmentBody.java
View file @
34146c04
...
...
@@ -21,6 +21,8 @@ public class EnterpriseInvestmentBody extends BasePage {
private
Integer
hasBid
;
private
double
stockPercentageMin
;
private
double
stockPercentageMax
;
//搜索-企业名称
private
String
keyword
;
public
boolean
isVaildCid
()
{
return
0
==
cid
;
...
...
dsk-common/src/main/java/com/dsk/common/core/domain/model/EnterpriseProjectApprovalProjectPageBody.java
View file @
34146c04
...
...
@@ -5,9 +5,7 @@ import lombok.EqualsAndHashCode;
import
lombok.NoArgsConstructor
;
import
lombok.ToString
;
import
javax.validation.constraints.AssertFalse
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
@Data
@ToString
...
...
@@ -25,6 +23,11 @@ public class EnterpriseProjectApprovalProjectPageBody extends BasePage {
*/
private
String
keys
;
/**
* 是否为民介0(否),1(是)
*/
private
String
isProject
;
/*
* 1金额倒序,2金额正序,3计划开工时间倒序,4计划开工时间正序,13计划完工时间倒序,14计划完工时间正序
...
...
dsk-common/src/main/java/com/dsk/common/utils/CheckUtils.java
View file @
34146c04
package
com
.
dsk
.
common
.
utils
;
import
java.math.BigDecimal
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
...
...
@@ -51,7 +52,8 @@ public class CheckUtils {
* @return
*/
public
static
int
checkIntegerPlaces
(
Double
number
)
{
String
strNumber
=
Double
.
toString
(
Math
.
abs
(
number
));
BigDecimal
bigDecimal
=
new
BigDecimal
(
String
.
valueOf
(
number
));
String
strNumber
=
bigDecimal
.
toString
();
int
integerPlaces
=
strNumber
.
indexOf
(
'.'
);
if
(
integerPlaces
==
-
1
)
{
return
strNumber
.
length
();
...
...
@@ -66,7 +68,8 @@ public class CheckUtils {
* @return
*/
public
static
int
checkDecimalPlaces
(
Double
number
)
{
String
strNumber
=
Double
.
toString
(
Math
.
abs
(
number
));
BigDecimal
bigDecimal
=
new
BigDecimal
(
String
.
valueOf
(
number
));
String
strNumber
=
bigDecimal
.
toString
();
int
decimalPlaces
=
0
;
int
index
=
strNumber
.
indexOf
(
'.'
);
if
(
index
!=
-
1
)
{
...
...
dsk-operate-ui/src/api/detail/party-a/biddetail.js
0 → 100644
View file @
34146c04
import
request
from
"@/utils/request"
;
// 投标记录列表
export
function
getBiddetail
(
data
)
{
return
request
({
url
:
'/enterpriseBussiness/projectDetail'
,
method
:
'post'
,
data
:
data
})
}
\ No newline at end of file
dsk-operate-ui/src/api/project/project.js
View file @
34146c04
...
...
@@ -158,6 +158,15 @@ export function addXGQY(param) {
})
}
//编辑相关企业
export
function
saveXGQY
(
param
)
{
return
request
({
url
:
'/business/company/edit'
,
method
:
'POST'
,
data
:
param
})
}
//删除相关企业
export
function
delXGQY
(
param
)
{
return
request
({
...
...
dsk-operate-ui/src/assets/styles/index.scss
View file @
34146c04
...
...
@@ -394,8 +394,11 @@ ul, li {
}
}
}
}
}
.el-table__body
tr
.hover-row
>
td
.el-table__cell
{
background-color
:
#DCEBFF
;
}
.common-title
{
border-left
:
2px
solid
#445781
;
padding-left
:
8px
;
...
...
@@ -524,15 +527,15 @@ ul, li {
line-height
:
50px
;
height
:
50px
;
}
.el-tabs__item.is-disabled
{
color
:
#C0C4CC
;
cursor
:
not
-
allowed
;
}
.is-active
{
color
:
#0081FF
;
font-weight
:
bold
;
}
}
.el-tabs__item.is-disabled
{
color
:
#C0C4CC
;
cursor
:
not
-
allowed
;
}
//按钮
.btn
{
margin-left
:
8px
;
...
...
dsk-operate-ui/src/assets/styles/project.scss
View file @
34146c04
...
...
@@ -33,7 +33,7 @@
box-shadow
:
0px
0px
8px
0px
rgba
(
0
,
0
,
0
,
0
.12
);
border-radius
:
2px
;
position
:
absolute
;
z-index
:
3
;
z-index
:
20
;
text-align
:
center
;
.words
{
padding
:
24px
0
;
...
...
@@ -459,10 +459,10 @@
opacity
:
0
.8
;
padding
:
0
;
}
.el-input
{
.el-input
,
.el-textarea
{
display
:
inline-block
;
width
:
240px
;
.el-input__inner
{
.el-input__inner
,
.el-textarea__inner
{
width
:
100%
;
height
:
32px
;
border-radius
:
0px
;
...
...
@@ -471,6 +471,11 @@
border-color
:
#0081FF
;
}
}
.el-textarea__inner
{
height
:
90px
;
font-family
:
inherit
;
color
:
#000
;
}
.el-input__suffix
{
height
:
32px
;
}
...
...
@@ -500,9 +505,15 @@
width
:
80px
;
}
}
.row.i
{
.el-form-item__label
{
line-height
:
18px
;
text-align
:
left
;
}
}
}
.popform.i
{
.el-input
{
.el-input
,
.el-textarea
{
width
:
335px
;
}
}
...
...
@@ -907,6 +918,9 @@
.xz
{
opacity
:
0
.8
;
}
.xg
{
//color: #FF3C3C;
}
.sc
{
color
:
#FF3C3C
;
}
...
...
@@ -994,7 +1008,7 @@
position
:
fixed
;
top
:
0
;
left
:
0
;
z-index
:
3
;
z-index
:
10
;
.upload
{
width
:
528px
;
height
:
430px
;
...
...
dsk-operate-ui/src/layout/components/Sidebar/index.vue
View file @
34146c04
...
...
@@ -13,7 +13,7 @@
mode=
"vertical"
>
<sidebar-item
v-for=
"(route, index) in
sidebarRouters
"
v-for=
"(route, index) in
hidechildren
"
:key=
"route.path + index"
:is-collapse=
"isCollapse"
...
...
@@ -49,6 +49,18 @@ export default {
computed
:
{
...
mapState
([
"settings"
]),
...
mapGetters
([
"sidebarRouters"
,
"sidebar"
]),
hidechildren
(){
return
this
.
sidebarRouters
.
map
(
item
=>
{
if
(
item
.
children
?.
length
){
item
.
children
=
item
.
children
.
filter
(
i
=>
{
if
(
typeof
(
i
.
hidden
)
==
'boolean'
&&
i
.
hidden
==
false
||
i
.
path
==
"index"
){
return
i
}
})
}
return
item
})
},
activeMenu
()
{
const
route
=
this
.
$route
;
const
{
meta
,
path
}
=
route
;
...
...
dsk-operate-ui/src/layout/components/TagsView/index.vue
View file @
34146c04
...
...
@@ -390,8 +390,8 @@ export default {
height
:
17px
;
justify-content
:
center
;
width
:
36px
;
right
:
-
46
px
;
bottom
:
1
0px
;
right
:
-
130
px
;
bottom
:
0px
;
cursor
:
pointer
;
text-align
:
center
;
&
:hover
{
...
...
dsk-operate-ui/src/router/index.js
View file @
34146c04
...
...
@@ -145,6 +145,20 @@ export const constantRoutes = [
}
]
},
{
path
:
'/biddetail'
,
component
:
Layout
,
hidden
:
true
,
redirect
:
'noredirect'
,
children
:
[
{
path
:
'/biddetail/:id(
\\
d+)'
,
component
:
()
=>
import
(
'@/views/detail//biddetail/index'
),
name
:
'Biddetail'
,
meta
:
{
title
:
'中标业绩详情'
,
icon
:
'enterprise'
}
}
]
},
{
path
:
'/financing'
,
component
:
Layout
,
...
...
dsk-operate-ui/src/views/custom/customList/index.vue
View file @
34146c04
...
...
@@ -104,7 +104,7 @@
label=
"注册资本金(万元)"
width=
"140"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
registerCapital
||
'--'
}}
<span
v-if=
"scope.row.registerCapital && scope.row.registerCapital>0"
>
{{
scope
.
row
.
registerCapital
}}
</span><span
v-else
>
--
</span>
</
template
>
</el-table-column>
<el-table-column
...
...
@@ -313,9 +313,18 @@
}
},
created
()
{
this
.
$watch
(
()
=>
this
.
$route
.
params
,
()
=>
{
this
.
getCustomerList
()
this
.
getDictType
()
this
.
prvinceTree
()
this
.
searchParam
.
companyName
=
''
},
// 组件创建完后获取数据,
// 此时 data 已经被 observed 了
{
immediate
:
true
}
)
},
methods
:{
sq1
(
item
,
sq
){
...
...
dsk-operate-ui/src/views/custom/historicalCustomers/index.vue
View file @
34146c04
...
...
@@ -93,7 +93,7 @@
label=
"注册资本金(万元)"
width=
"140"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
registerCapital
||
'--'
}}
<span
v-if=
"scope.row.registerCapital && scope.row.registerCapital>0"
>
{{
scope
.
row
.
registerCapital
}}
</span><span
v-else
>
--
</span>
</
template
>
</el-table-column>
<el-table-column
...
...
@@ -243,8 +243,13 @@ export default {
}
},
created
()
{
this
.
$watch
(
()
=>
this
.
$route
.
params
,
()
=>
{
this
.
getCustomerList
()
this
.
getDictType
()
this
.
searchParam
.
companyName
=
''
},{
immediate
:
true
})
},
methods
:{
sq1
(
item
,
sq
){
...
...
dsk-operate-ui/src/views/custom/overview/index.vue
View file @
34146c04
...
...
@@ -33,7 +33,7 @@
</div>
</div>
<div
class=
"flex"
>
<el-card
class=
"box-card noborder left"
style=
"position: relative"
>
<el-card
class=
"box-card noborder left"
style=
"position: relative
;padding-bottom: 0
"
>
<div
class=
"cardtitles"
>
客户级别
</div>
<div
class=
"chartsum"
>
<div
class=
"sum"
>
23家
</div>
...
...
@@ -67,7 +67,7 @@
</el-card>
<el-card
class=
"box-card noborder right"
>
<el-card
class=
"box-card noborder right"
style=
"padding-bottom: 0"
>
<div
class=
"cardtitles"
>
客户跟进动态
<div
class=
"labels"
>
<div
:class=
"
{'on':datatype==1}" @click="getDT(1)">周
</div>
...
...
@@ -259,11 +259,11 @@
{
name
:
''
,
type
:
'bar'
,
barWidth
:
'1
2
px'
,
barWidth
:
'1
8
px'
,
data
:
[
100
,
152
,
200
,
334
,
390
,
330
,
220
,
256
,
178
],
itemStyle
:{
normal
:
{
barBorderRadius
:
[
4
,
4
,
0
,
0
],
barBorderRadius
:
[
9
,
9
,
0
,
0
],
color
:
'#165DFF'
}
}
...
...
@@ -316,11 +316,11 @@
{
name
:
''
,
type
:
'bar'
,
barWidth
:
'1
2
px'
,
barWidth
:
'1
8
px'
,
data
:
[
110
,
112
,
190
,
234
,
310
,
350
,
220
,
276
,
198
],
itemStyle
:{
normal
:{
barBorderRadius
:[
4
,
4
,
0
,
0
],
barBorderRadius
:[
9
,
9
,
0
,
0
],
color
:
'#14C9C9'
},
}
...
...
@@ -367,7 +367,7 @@
left
:
'8%'
,
top
:
'8%'
,
right
:
'5%'
,
bottom
:
'
10%
'
,
bottom
:
'
42px
'
,
},
tooltip
:{
axisPointer
:{
//悬浮于圆点展示标签
...
...
dsk-operate-ui/src/views/detail/biddetail/index.vue
0 → 100644
View file @
34146c04
<
template
>
<div
class=
"app-container qyzx-details"
>
<div
class=
"bottomlist"
>
<ul
class=
"bottomlist-content"
>
<li
class=
"bottomlist-list"
>
<p
class=
"list-titel"
>
{{
info
.
projectAllName
}}
</p>
<div
class=
"list-content"
v-if=
"info.winBidTime"
>
<p
class=
"list-content-text"
>
<span>
中标时间:
</span>
<span
>
{{
info
.
winBidTime
}}
</span>
</p>
</div>
<div
class=
"list-content-img"
@
mouseenter=
"showimg=false"
@
mouseleave=
"showimg=true"
>
<img
v-if=
"showimg"
src=
"@/assets/images/bxpro/original1.png"
>
<img
v-else
src=
"@/assets/images/bxpro/original.png"
>
<span>
<a
:href=
"info.sourceUrl"
target=
"_blank"
>
原文链接
</a>
</span>
</div>
</li>
</ul>
</div>
<div
class=
"content main3"
>
<div
class=
"common-title"
>
信息详情
</div>
<div
class=
"biddetail-title"
>
中标信息
</div>
<div
class=
"main31-box"
>
<p>
<label
class=
"label"
>
中标企业
</label>
<span>
<router-link
v-if=
"info.companyName"
:to=
"info.uipId?'/enterprise/' + encodeStr(info.companyId) :'/company/' + encodeStr(info.companyId) "
tag=
"a"
class=
"list-titel-a blue"
v-html=
"info.companyName"
></router-link>
<span
v-else
>
--
</span>
</span>
<label
class=
"label"
>
中标时间
</label>
<span>
{{
info
.
winBidTime
||
"--"
}}
</span>
<label
class=
"label"
>
中标金额
</label>
<span>
{{
info
.
winBidAmount
||
"--"
}}
</span>
</p>
<p>
<label
class=
"label"
>
项目负责人
</label>
<span>
{{
info
.
staffName
||
"--"
}}
</span>
<label
class=
"label"
>
中标地区
</label>
<span>
{{
info
.
region
||
"--"
}}
</span>
<label
class=
"label"
>
项目类型
</label>
<span>
{{
info
.
projectTypeNew
||
"--"
}}
</span>
</p>
<p>
<label
class=
"label"
>
工期(天)
</label>
<span>
{{
info
.
period
||
"--"
}}
</span>
<label
class=
"label"
>
下浮率(%)
</label>
<span>
{{
info
.
lowerRate
||
"--"
}}
</span>
<label
class=
"label"
>
建设性质
</label>
<span>
{{
info
.
projectNature
||
"--"
}}
</span>
</p>
</div>
<div
class=
"biddetail-title"
>
招标信息
</div>
<div
class=
"main31-box"
>
<p>
<label
class=
"label"
>
招标单位
</label>
<span
class=
"span1"
>
<router-link
v-if=
"info.projectUnit"
:to=
"info.uipId?'/enterprise/' + encodeStr(info.projectUnitId) :'/company/' + encodeStr(info.projectUnitId) "
tag=
"a"
class=
"list-titel-a blue"
v-html=
"info.projectUnit"
></router-link>
<span
v-else
>
--
</span>
</span>
<label
class=
"label label1"
>
招标代理机构
</label>
<span
class=
"span1"
>
{{
info
.
agency
||
"--"
}}
</span>
</p>
</div>
<div
class=
"tip"
>
<span>
温馨提示:
</span>
本栏信息全部来自政府建设主管单位,可作为该公司资质电报、招标投标业绩核实、优质工程(奖杯)申请、信用评估等用途使用。
</div>
</div>
<div
class=
"content main3"
>
<div
class=
"common-title"
>
信息快照
</div>
<div
class=
"main3-box"
>
<img
class=
"tip-img"
:src=
"'https://imgs.jiansheku.com/'+info.snapshootPic"
v-if=
"info.snapshootPic"
/>
<div
v-else
class=
"no-data"
>
<div
class=
"no-data-box"
>
<img
:src=
"noData"
alt=
"暂时没有找到相关数据"
/>
<span>
暂时没有找到相关数据
</span>
</div>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
"@/assets/styles/public.css"
;
import
{
encodeStr
}
from
"@/assets/js/common.js"
import
{
getBiddetail
}
from
'@/api/detail/party-a/biddetail.js'
;
export
default
{
name
:
'Biddetail'
,
data
()
{
return
{
encodeStr
,
id
:
''
,
info
:{},
showimg
:
true
,
noData
:
require
(
"@/assets/images/detail/noData.png"
)
}
},
created
()
{
this
.
id
=
this
.
$route
.
params
.
id
;
this
.
biddetail
();
},
methods
:{
biddetail
(){
getBiddetail
({
id
:
this
.
id
}).
then
(
res
=>
{
if
(
res
.
code
==
200
){
this
.
info
=
res
.
data
}
}).
catch
(
error
=>
{
});
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.bottomlist
{
width
:
100%
;
background-color
:
#FFFFFF
;
border-radius
:
4px
4px
4px
4px
;
.bottomlist-title
{
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
margin-top
:
12px
;
padding
:
16px
;
border-bottom
:
1px
solid
#EFEFEF
;
.title-right
{
display
:
flex
;
align-items
:
center
;
p
:first-child
{
font-size
:
12px
;
font-weight
:
400
;
color
:
#3D3D3D
;
margin-right
:
10px
;
}
p
:last-child
{
display
:
flex
;
align-items
:
center
;
font-size
:
14px
;
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
}
img
{
width
:
18px
;
height
:
18px
;
}
}
}
.bottomlist-content
{
padding-bottom
:
0px
;
}
.bottomlist-list
{
padding
:
16px
;
font-size
:
14px
;
border-bottom
:
1px
solid
#EFEFEF
;
padding-bottom
:
14px
;
.list-titel
{
font-size
:
16px
;
font-weight
:
700
;
color
:
#3D3D3D
;
line-height
:
19px
;
.list-titel-a
{
text-decoration
:
none
;
color
:
#3D3D3D
;
}
a
:hover
,
a
:visited
,
a
:link
,
a
:active
{
color
:
#3D3D3D
;
}
}
.content-label
{
margin-top
:
12px
;
.list-label
{
background
:
#F3F3FF
;
color
:
#8491E8
;
border-radius
:
1px
1px
1px
1px
;
margin-right
:
12px
;
padding
:
3px
7px
;
font-size
:
12px
;
}
.list-label-zb
{
font-weight
:
400
;
color
:
#5A88F9
;
background
:
#E7EDFC
;
}
.list-label-lx
{
font-weight
:
400
;
color
:
#41A1FD
;
background
:
#E4F3FD
;
}
}
.list-content
{
margin-top
:
6px
;
display
:
flex
;
justify-content
:
start
;
align-items
:
center
;
.list-content-text
{
margin-top
:
7px
;
display
:
flex
;
justify-content
:
start
;
align-items
:
center
;
margin-right
:
27px
;
font-size
:
14px
;
span
:first-child
{
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
line-height
:
15px
}
span
:last-child
{
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
line-height
:
15px
}
.blue
{
color
:
#0081FF
!
important
;
cursor
:
pointer
;
}
}
}
.list-addree
{
width
:
auto
;
background
:
#F3F4F5
;
display
:
inline-flex
;
margin-top
:
7px
;
.list-content-text
{
margin-top
:
0px
;
span
{
line-height
:
30px
!
important
;
}
}
img
{
width
:
14px
;
margin
:
0
8px
;
}
}
.list-content-img
{
position
:
absolute
;
top
:
16px
;
right
:
40px
;
color
:
#0081FF
;
display
:
flex
;
align-items
:
center
;
font-size
:
14px
;
cursor
:
pointer
;
img
{
width
:
14px
;
height
:
14px
;
margin-right
:
4px
;
}
}
.list-content-img
:hover
{
color
:
#0067CC
;
}
}
.bottomlist-list
:hover
{
background
:
#F6F9FC
;
cursor
:
pointer
;
}
.pagination
{
padding
:
14px
;
.el-pagination
{
float
:
right
;
}
}
}
.app-container
{
padding
:
0
;
}
.qyzx-details
{
.content
{
margin-top
:
16px
;
background
:
#FFFFFF
;
padding
:
16px
;
border-radius
:
4px
;
}
.common-title
{
margin-bottom
:
16px
;
}
.biddetail-title
{
color
:
#232323
;
font-size
:
14px
;
height
:
14px
;
line-height
:
14px
;
margin-top
:
8px
;
}
.tip
{
font-size
:
12px
;
color
:
rgba
(
35
,
35
,
35
,
0
.80
);
span
{
color
:
rgba
(
35
,
35
,
35
,
0
.40
);
}
}
.main3
{
position
:
relative
;
.main3-box
{
margin-top
:
22px
;
min-height
:
400px
;
border
:
1px
solid
#D8D8D8
;
img
{
width
:
100%
;
}
.no-data
{
font-size
:
14px
;
font-family
:
Microsoft
YaHei-Regular
,
Microsoft
YaHei
;
font-weight
:
400
;
color
:
#999999
;
width
:
100%
;
height
:
400px
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
background
:
#ffffff
;
.no-data-box
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
img
{
width
:
64px
;
height
:
79px
;
margin-bottom
:
16px
;
}
}
}
}
.main31-box
{
margin-top
:
16px
;
margin-bottom
:
16px
;
border-top
:
1px
solid
#E6E9F0
;
p
{
display
:
flex
;
align-items
:
center
;
margin
:
0
;
border-left
:
1px
solid
#E6E9F0
;
border-right
:
1px
solid
#E6E9F0
;
border-bottom
:
1px
solid
#E6E9F0
;
background
:
#F0F3FA
;
.label
{
width
:
11
.1%
;
height
:
100%
;
font-weight
:
400
;
line-height
:
22px
;
font-size
:
12px
;
padding
:
9px
12px
;
}
.label1
{
width
:
10%
;
}
span
{
width
:
22
.3%
;
color
:
#000
;
line-height
:
22px
;
padding
:
9px
12px
;
font-size
:
12px
;
background
:
#fff
;
}
.span1
{
width
:
40%
;
}
.span-one
{
width
:
90%
;
}
.blue
{
color
:
#0081FF
!
important
;
cursor
:
pointer
;
}
}
}
}
}
</
style
>
\ No newline at end of file
dsk-operate-ui/src/views/detail/party-a/component/CustomMoneySelect.vue
View file @
34146c04
...
...
@@ -242,7 +242,7 @@ export default {
border
:
1px
solid
#E4E7ED
;
padding
:
6px
0
;
border-radius
:
4px
;
z-index
:
9
;
z-index
:
10
;
// .arrow {
...
...
dsk-operate-ui/src/views/detail/party-a/component/CustomTimeSelect.vue
View file @
34146c04
...
...
@@ -272,7 +272,7 @@ export default {
border
:
1px
solid
#E4E7ED
;
padding
:
6px
0
;
border-radius
:
4px
;
z-index
:
9
;
z-index
:
10
;
.option
{
padding
:
0
24px
0
16px
;
...
...
dsk-operate-ui/src/views/detail/party-a/component/Sidebar.vue
View file @
34146c04
...
...
@@ -107,7 +107,7 @@ export default {
{
title
:
'商务信息'
,
pathName
:
'business'
},
{
title
:
'招标偏好'
,
pathName
:
'preference'
},
{
title
:
'合作情况'
,
pathName
:
'cooperate'
},
{
title
:
'
决策链条
'
,
pathName
:
'decisionMaking'
},
{
title
:
'
联系人
'
,
pathName
:
'decisionMaking'
},
{
title
:
'跟进记录'
,
pathName
:
'gjjl'
}
],
defaultRoute
:
[],
...
...
dsk-operate-ui/src/views/detail/party-a/cooperate/index.vue
View file @
34146c04
...
...
@@ -28,7 +28,7 @@
@
handle-current-change=
"handleCurrentChange"
>
<
template
slot=
"projectName"
slot-scope=
"scope"
>
<span
class=
"link-type"
@
click=
"clickDetail(scope.row.id)"
>
<span
class=
"link-type"
@
click=
"clickDetail(scope.row.id)"
>
{{
scope
.
row
.
projectName
}}
</span>
</
template
>
...
...
@@ -64,7 +64,7 @@
<el-form-item
label=
"项目名称:"
prop=
"projectName"
label-width=
"120px"
>
<el-input
v-model=
"addParam.projectName"
placeholder=
"请输入项目名称"
@
input=
"getCompany1"
></el-input>
<div
class=
"resultlist"
v-if=
"showlist1"
>
<div
v-for=
"(item,index) in companData1"
@
click=
"selCompany1(item
)"
><span
v-html=
"item
"
></span></div>
<div
v-for=
"(item,index) in companData1"
@
click=
"selCompany1(item
.projectName)"
><span
v-html=
"item.projectName
"
></span></div>
</div>
</el-form-item>
<div
class=
"erow"
>
...
...
@@ -266,6 +266,17 @@ export default {
this
.
ifEmpty
=
true
}
this
.
tableData
=
res
.
rows
this
.
tableData
.
forEach
(
item
=>
{
let
investmentAmount
=
item
.
investmentAmount
if
(
investmentAmount
){
investmentAmount
=
parseFloat
(
investmentAmount
)
if
(
investmentAmount
<=
0
){
item
.
investmentAmount
=
null
}
}
else
{
item
.
investmentAmount
=
null
}
})
this
.
tableDataTotal
=
res
.
total
this
.
tableLoading
=
false
}
...
...
@@ -313,7 +324,7 @@ export default {
}
},
selCompany1
(
item
){
this
.
addParam
.
projectName
=
item
this
.
addParam
.
projectName
=
item
.
replace
(
/<
[^
>
]
+>/g
,
''
)
this
.
showlist1
=
false
},
//获取业主单位
...
...
dsk-operate-ui/src/views/detail/party-a/dealings/component/customDetail.vue
View file @
34146c04
...
...
@@ -27,8 +27,7 @@
<template
slot=
"projectAllName"
slot-scope=
"scope"
>
<div
class=
"flex-box"
>
<img
class=
"tip-img"
src=
"@/assets/images/detail/ico_pdf.png"
v-if=
"scope.row.snapshootPic"
@
click=
"handlePic(scope.row.snapshootPic, true)"
/>
<div
class=
"a-link"
@
click=
"handlePic(scope.row.sourceUrl)"
v-if=
"scope.row.sourceUrl&&scope.row.projectAllName"
v-html=
"scope.row.projectAllName"
style=
"cursor: pointer"
></div>
<!--
<router-link
to=
""
tag=
"a"
class=
"a-link"
v-if=
"scope.row.id&&scope.row.projectAllName"
v-html=
"scope.row.projectAllName"
></router-link>
-->
<div
class=
"a-link"
@
click=
"linkTo(scope)"
v-if=
"scope.row.id&&scope.row.projectAllName"
v-html=
"scope.row.projectAllName"
style=
"cursor: pointer"
></div>
<span
v-else
v-html=
"scope.row.projectAllName || '--'"
></span>
</div>
</
template
>
...
...
@@ -108,6 +107,10 @@ export default {
window
.
open
(
url
,
"_blank"
)
}
}
,
linkTo
(
scope
){
this
.
drawer
=
false
this
.
$router
.
push
(
`/biddetail/${scope.row.id
}
`
)
}
,
cancel
()
{
this
.
$emit
(
'cancel'
)
}
...
...
dsk-operate-ui/src/views/detail/party-a/dealings/component/supplierDetail.vue
View file @
34146c04
...
...
@@ -27,9 +27,7 @@
<template
slot=
"projectAllName"
slot-scope=
"scope"
>
<div
class=
"flex-box"
>
<img
class=
"tip-img"
src=
"@/assets/images/detail/ico_pdf.png"
v-if=
"scope.row.snapshootPic"
@
click=
"handlePic(scope.row.snapshootPic, true)"
/>
<div
class=
"a-link"
@
click=
"handlePic(scope.row.sourceUrl)"
v-if=
"scope.row.sourceUrl&&scope.row.projectAllName"
v-html=
"scope.row.projectAllName"
style=
"cursor: pointer"
></div>
<!--
<router-link
to=
""
tag=
"a"
class=
"a-link"
v-if=
"scope.row.id&&scope.row.projectAllName"
v-html=
"scope.row.projectAllName"
></router-link>
-->
<span
v-else
v-html=
"scope.row.projectAllName || '--'"
></span>
<div
class=
"a-link"
@
click=
"linkTo(scope)"
v-if=
"scope.row.id&&scope.row.projectAllName"
v-html=
"scope.row.projectAllName"
style=
"cursor: pointer"
></div>
<span
v-else
v-html=
"scope.row.projectAllName || '--'"
></span>
</div>
</
template
>
<
template
slot=
"province"
slot-scope=
"scope"
>
...
...
@@ -108,6 +106,10 @@ export default {
window
.
open
(
url
,
"_blank"
)
}
}
,
linkTo
(
scope
){
this
.
drawer
=
false
this
.
$router
.
push
(
`/biddetail/${scope.row.id
}
`
)
}
,
cancel
()
{
this
.
$emit
(
'cancel'
)
}
...
...
dsk-operate-ui/src/views/detail/party-a/dealings/custom.vue
View file @
34146c04
...
...
@@ -25,8 +25,7 @@
<div
v-else
v-html=
"scope.row.companyName || '--'"
></div>
</
template
>
<
template
slot=
"projectAllName"
slot-scope=
"scope"
>
<div
class=
"a-link"
@
click=
"handleDetail(scope.row.projectInfo)"
v-if=
"scope.row.projectInfo&&scope.row.projectInfo.sourceUrl&&scope.row.projectInfo.projectAllName"
v-html=
"scope.row.projectInfo.projectAllName"
style=
"cursor: pointer"
></div>
<!--
<router-link
to=
""
tag=
"a"
class=
"a-link"
v-if=
"scope.row.projectInfo.projectId&&scope.row.projectInfo.projectAllName"
v-html=
"scope.row.projectInfo.projectAllName"
></router-link>
-->
<router-link
:to=
"`/biddetail/$
{scope.row.projectInfo.projectId}`" tag="a" class="a-link" v-if="scope.row.projectInfo.projectId
&&
scope.row.projectInfo.projectAllName" >
{{
scope
.
row
.
projectInfo
.
projectAllName
}}
</router-link>
<div
v-else
v-html=
"scope.row.projectInfo&&scope.row.projectInfo.projectAllName || '--'"
></div>
<div
v-if=
"scope.row.count>1"
@
click=
"handleClick($event, scope.row)"
style=
"color: #FF7E38;cursor: pointer;"
>
有
{{
scope
.
row
.
count
}}
个合作项目/工程 >
</div>
</
template
>
...
...
@@ -105,6 +104,7 @@ export default {
},
handleDetail
(
row
){
if
(
row
.
sourceUrl
){
window
.
open
(
row
.
sourceUrl
,
"_blank"
)
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/dealings/hiscontract.vue
View file @
34146c04
...
...
@@ -21,9 +21,8 @@
@
sort-change=
"sortChange"
>
<template
slot=
"projectAllName"
slot-scope=
"scope"
>
<div
class=
"a-link"
@
click=
"handleDetail(scope.row)"
v-if=
"scope.row.sourceUrl&&scope.row.projectAllName"
v-html=
"scope.row.projectAllName"
style=
"cursor: pointer"
></div>
<!--
<router-link
to=
""
tag=
"a"
class=
"a-link"
v-if=
"scope.row.id&&scope.row.projectAllName "
v-html=
"scope.row.projectAllName"
></router-link>
-->
<div
v-else
v-html=
"scope.row.projectAllName || '--'"
></div>
<router-link
:to=
"`/biddetail/$
{scope.row.id}`" tag="a" class="a-link" v-if="scope.row.id
&&
scope.row.projectAllName" >
{{
scope
.
row
.
projectAllName
}}
</router-link>
<div
v-else
v-html=
"scope.row&&scope.row.projectAllName || '--'"
></div>
</
template
>
<
template
slot=
"companyName"
slot-scope=
"scope"
>
<router-link
:to=
"scope.row.uipId?`/enterprise/$
{encodeStr(scope.row.companyId)}`:`/company/${encodeStr(scope.row.companyId)}`" tag="a" class="a-link" v-if="scope.row.companyId
&&
scope.row.companyName">
{{
scope
.
row
.
companyName
}}
</router-link>
...
...
dsk-operate-ui/src/views/detail/party-a/dealings/supplier.vue
View file @
34146c04
...
...
@@ -25,8 +25,7 @@
<div
v-else
v-html=
"scope.row.companyName || '--'"
></div>
</
template
>
<
template
slot=
"projectAllName"
slot-scope=
"scope"
>
<div
class=
"a-link"
@
click=
"handleDetail(scope.row.projectInfo)"
v-if=
"scope.row.projectInfo&&scope.row.projectInfo.sourceUrl&&scope.row.projectInfo.projectAllName"
v-html=
"scope.row.projectInfo.projectAllName"
style=
"cursor: pointer"
></div>
<!--
<router-link
to=
""
tag=
"a"
class=
"a-link"
v-if=
"scope.row.projectInfo.projectId&&scope.row.projectInfo.projectAllName"
v-html=
"scope.row.projectInfo.projectAllName"
></router-link>
-->
<router-link
:to=
"`/biddetail/$
{scope.row.projectInfo.projectId}`" tag="a" class="a-link" v-if="scope.row.projectInfo.projectId
&&
scope.row.projectInfo.projectAllName" >
{{
scope
.
row
.
projectInfo
.
projectAllName
}}
</router-link>
<div
v-else
v-html=
"scope.row.projectInfo&&scope.row.projectInfo.projectAllName || '--'"
></div>
<div
v-if=
"scope.row.count>1"
@
click=
"handleClick($event, scope.row)"
style=
"color: #FF7E38;cursor: pointer;"
>
有
{{
scope
.
row
.
count
}}
个合作项目/工程 >
</div>
</
template
>
...
...
dsk-operate-ui/src/views/detail/party-a/decisionMaking/index.vue
View file @
34146c04
...
...
@@ -5,7 +5,7 @@
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-params"
></div>
<div
class=
"flex-box query-add"
>
<el-button
type=
"primary"
icon=
"el-icon-plus"
@
click=
"opennew"
>
新增
决策链条
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-plus"
@
click=
"opennew"
>
新增
联系人
</el-button>
</div>
</div>
...
...
@@ -71,12 +71,12 @@
</template>
<
script
>
import
Tables
from
"../component/Tables"
import
{
import
Tables
from
"../component/Tables"
import
{
getList
,
addChain
}
from
'@/api/detail/party-a/decisionMaking'
export
default
{
}
from
'@/api/detail/party-a/decisionMaking'
export
default
{
name
:
'DecisionMaking'
,
components
:
{
Tables
...
...
@@ -178,10 +178,10 @@ export default {
this
.
dialogVisible
=
true
},
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.decisionMaking
{
.decisionMaking
{
background
:
#ffffff
;
border-radius
:
4px
;
padding
:
16px
;
...
...
@@ -316,11 +316,11 @@ export default {
}
}
}
}
::v-deep
.el-table__fixed
::before
,
::v-deep
.el-table__fixed-right
::before
{
}
::v-deep
.el-table__fixed
::before
,
::v-deep
.el-table__fixed-right
::before
{
background-color
:unset
;
}
::v-deep
.el-dialog__headerbtn
{
}
::v-deep
.el-dialog__headerbtn
{
z-index
:
9
;
}
}
</
style
>
dsk-operate-ui/src/views/detail/party-a/opport/landtransaction.vue
View file @
34146c04
...
...
@@ -92,6 +92,11 @@ export default {
this
.
tableLoading
=
false
if
(
res
.
code
==
200
){
this
.
tableData
=
res
.
rows
if
(
this
.
tableData
.
length
>
0
){
this
.
tableData
.
map
(
item
=>
{
item
.
transactionPrice
==
0
&&
(
item
.
transactionPrice
=
'--'
)
})
}
}
this
.
tableDataTotal
=
res
.
total
}
...
...
dsk-operate-ui/src/views/detail/party-a/opport/proposed.vue
View file @
34146c04
...
...
@@ -61,6 +61,7 @@ export default {
],
formData
:
[
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'输入项目名称关键词查询'
,
options
:
[],
width
:
220
},
{
type
:
1
,
fieldName
:
'isProject'
,
value
:
''
,
placeholder
:
'是否为民间推介项目'
,
options
:
[{
name
:
'不限'
,
value
:
null
},{
name
:
'是'
,
value
:
'1'
},{
name
:
'否'
,
value
:
'0'
}],
width
:
180
},
],
//列表
tableLoading
:
false
,
...
...
dsk-operate-ui/src/views/detail/party-a/overview/businfo.vue
View file @
34146c04
...
...
@@ -2,7 +2,7 @@
<div
class=
"app-container detail-container"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
class=
"detail-tab"
>
<el-tab-pane
label=
"工商信息"
name=
"first"
></el-tab-pane>
<el-tab-pane
label=
"工商变更"
name=
"second"
></el-tab-pane>
<el-tab-pane
label=
"工商变更"
:disabled=
"tableDataTotal>0"
name=
"second"
></el-tab-pane>
</el-tabs>
...
...
@@ -91,11 +91,13 @@ export default {
],
//列表
tableLoading
:
false
,
tableData
:[]
tableData
:[],
tableDataTotal
:
0
}
},
created
()
{
this
.
handleQuery
()
this
.
handleQuery
();
this
.
handleQuery1
();
},
methods
:
{
handleClick
(){
...
...
@@ -103,13 +105,20 @@ export default {
},
async
handleQuery
()
{
this
.
tableLoading
=
true
let
param
=
this
.
activeName
==
'first'
?
this
.
baseParams
:
this
.
queryParams
let
res
=
this
.
activeName
==
'first'
?
await
icInfo
(
param
)
:
await
changeInfo
(
param
)
let
param
=
this
.
baseParams
;
let
res
=
await
icInfo
(
param
);
this
.
tableLoading
=
false
if
(
res
.
code
==
200
){
this
.
activeName
==
'first'
?
this
.
forInfo
=
res
.
data
:
this
.
tableData
=
res
.
rows
this
.
forInfo
=
res
.
data
}
},
async
handleQuery1
()
{
let
param
=
this
.
queryParams
let
res
=
await
changeInfo
(
param
)
if
(
res
.
code
==
200
){
this
.
tableData
=
res
.
rows
;
this
.
tableDataTotal
=
res
.
total
}
this
.
activeName
==
'first'
?
''
:
this
.
tableDataTotal
=
res
.
total
},
showRegion
(
region
){
if
(
region
)
{
...
...
dsk-operate-ui/src/views/detail/party-a/overview/component/bidding.vue
View file @
34146c04
...
...
@@ -166,9 +166,9 @@ export default {
}
},
grid
:{
left
:
'
1
%'
,
left
:
'
5
%'
,
top
:
'8%'
,
right
:
'
5
%'
,
right
:
'
8
%'
,
bottom
:
'8%'
,
containLabel
:
true
},
...
...
dsk-operate-ui/src/views/detail/party-a/overview/component/busclue.vue
View file @
34146c04
dsk-operate-ui/src/views/detail/party-a/overview/component/finance.vue
View file @
34146c04
...
...
@@ -33,21 +33,25 @@
prop=
"operatingIncome"
align=
"right"
label=
"营业收入(亿)"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
operatingIncome
==
0
||!
scope
.
row
.
operatingIncome
?
'--'
:
scope
.
row
.
operatingIncome
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"netProfit"
align=
"right"
label=
"净利润(亿)"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
netProfit
==
0
||!
scope
.
row
.
netProfit
?
'--'
:
scope
.
row
.
netProfit
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"totalAssets"
align=
"right"
label=
"总资产(亿)"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
totalAssets
==
0
||!
scope
.
row
.
totalAssets
?
'--'
:
scope
.
row
.
totalAssets
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"netAssets"
align=
"right"
label=
"净资产(亿)"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
netAssets
==
0
||!
scope
.
row
.
netAssets
?
'--'
:
scope
.
row
.
netAssets
}}
</
template
>
</el-table-column>
</el-table-column>
</el-table>
...
...
@@ -95,8 +99,8 @@ export default {
let
myChart
=
echarts
.
init
(
document
.
getElementById
(
"echartsFinance"
))
let
barData
=
[],
years
=
[],
compareData
=
[];
this
.
viewData
.
map
(
item
=>
{
barData
.
push
(
item
[
val
+
'Size'
]
.
toFixed
(
2
)
);
compareData
.
push
(
item
[
val
+
'Compare'
]
||
''
);
barData
.
push
(
item
[
val
+
'Size'
]
?
item
[
val
+
'Size'
].
toFixed
(
2
):
'--'
);
compareData
.
push
(
item
[
val
+
'Compare'
]
||
'
--
'
);
years
.
push
(
item
.
year
)
})
// let compareDataMax = Math.max(...compareData)
...
...
dsk-operate-ui/src/views/detail/party-a/overview/component/infoheader.vue
View file @
34146c04
...
...
@@ -11,8 +11,9 @@
<img
:src=
"require('@/assets/images/detail/overview/logo@2x.png')"
:alt=
"companyInfo.companyName"
:title=
"companyInfo.companyName"
v-else
>
</div>
<div
class=
"company-title"
>
<div
class=
"company-name"
>
{{
companyInfo
.
companyName
||
'--'
}}
<div
class=
"company-name flex-box"
@
mouseenter=
"ifShow=!ifShow"
@
mouseleave=
"ifShow=!ifShow"
>
<div
v-clipboard:copy=
"companyInfo.companyName"
v-clipboard:success=
"clipboardSuccess"
>
{{
companyInfo
.
companyName
||
'--'
}}
</div>
<span
v-clipboard:copy=
"companyInfo.companyName"
v-clipboard:success=
"clipboardSuccess"
v-if=
"companyInfo.companyName && ifShow"
>
复制
</span>
</div>
<div
class=
"company-tag"
>
<div
style=
"float: left;margin-top: 8px;"
class=
"company-history"
v-if=
"companyInfo.historyNames && companyInfo.historyNames.length>0"
>
...
...
@@ -160,6 +161,7 @@
</template>
<
script
>
import
ClipboardJS
from
'clipboard'
import
{
changePath
,
encodeStr
}
from
'@/assets/js/common'
var
Swiper
=
require
(
'@/assets/lib/swiper/swiper-bundle.min.js'
)
import
"@/assets/lib/swiper/swiper-bundle.css"
...
...
@@ -171,6 +173,7 @@ export default {
data
()
{
return
{
encodeStr
,
ifShow
:
false
,
newStatic
:
null
,
labelList
:
[],
//企业标签
customerId
:
''
,
...
...
@@ -204,6 +207,11 @@ export default {
methods
:
{
//认领
async
handleClaim
(){
let
res
=
await
api
.
customerStatus
(
this
.
companyInfo
.
companyName
)
if
(
res
.
data
===
1
){
this
.
claimLoading
=
false
this
.
dialogVisible2
=
true
;
}
else
{
if
(
this
.
companyInfo
.
uipId
){
this
.
claimLoading
=
true
let
param
=
{
...
...
@@ -219,11 +227,6 @@ export default {
registerAddress
:
this
.
companyInfo
.
provinceName
+
(
this
.
companyInfo
.
cityName
?
'-'
+
this
.
companyInfo
.
cityName
:
''
)
+
(
this
.
companyInfo
.
districtName
?
'-'
+
this
.
companyInfo
.
districtName
:
''
),
creditCode
:
this
.
companyInfo
.
creditCode
}
let
res
=
await
api
.
customerStatus
(
this
.
companyInfo
.
companyName
)
if
(
res
.
data
===
1
){
this
.
claimLoading
=
false
this
.
dialogVisible2
=
true
;
}
else
{
let
res
=
await
claim
(
param
)
this
.
claimLoading
=
false
if
(
res
.
code
==
200
){
...
...
@@ -231,10 +234,14 @@ export default {
this
.
companyInfo
.
claimStatus
=
1
this
.
customerId
=
res
.
data
.
customerId
}
}
}
else
{
this
.
$message
.
warning
(
'对不起,当前不能认领'
)
}
}
},
/** 复制代码成功 */
clipboardSuccess
()
{
this
.
$modal
.
msgSuccess
(
"复制成功"
);
},
//取消认领
cancelClaimClick
(){
...
...
@@ -522,6 +529,27 @@ export default {
color
:
#000000
;
font-weight
:
bold
;
margin-right
:
100px
;
cursor
:
pointer
;
align-items
:
center
;
span
{
width
:
44px
;
height
:
22px
;
font-size
:
12px
;
line-height
:
22px
;
color
:
#666666
;
text-align
:
center
;
font-weight
:
400
;
display
:
inline-block
;
border
:
1px
solid
#EEEEEE
;
border-radius
:
2px
;
cursor
:
pointer
;
margin-left
:
16px
;
&
:hover
{
background
:
#E9F4FF
;
color
:
#0081FF
;
border
:
1px
solid
#0081FF
;
}
}
}
.company-tag
{
overflow
:
hidden
;
...
...
dsk-operate-ui/src/views/detail/party-a/overview/component/relationship.vue
View file @
34146c04
...
...
@@ -3,7 +3,7 @@
<div
class=
"common-title"
>
关系企业
</div>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
class=
"tabpane selfTab"
>
<el-tab-pane
label=
"股东"
name=
"first"
></el-tab-pane>
<el-tab-pane
label=
"对外投资"
name=
"second"
></el-tab-pane>
<el-tab-pane
label=
"对外投资"
:disabled=
"shipTotal
<1
"
name=
"second"
></el-tab-pane>
<el-tab-pane
label=
"分支机构"
:disabled=
"affiliatesTotal
<1
"
name=
"third"
></el-tab-pane>
</el-tabs>
<div
class=
"table-item"
>
...
...
dsk-operate-ui/src/views/detail/party-a/overview/holderinfo.vue
View file @
34146c04
...
...
@@ -8,7 +8,7 @@
/>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
class=
"detail-tab"
>
<el-tab-pane
label=
"股东信息"
name=
"first"
></el-tab-pane>
<el-tab-pane
label=
"历史股东"
name=
"second"
></el-tab-pane>
<el-tab-pane
label=
"历史股东"
:disabled=
"disabled"
name=
"second"
></el-tab-pane>
</el-tabs>
<tables
...
...
@@ -65,11 +65,13 @@ export default {
tableLoading
:
false
,
tableData
:[],
tableDataTotal
:
0
,
disabled
:
false
,
labelArr
:[
'失信联合惩戒企业'
,
'严重行政处罚'
,
'司法纠纷'
,
'注销'
,
'注销企业'
],
}
},
created
()
{
this
.
handleQuery
()
this
.
handleQuery
();
this
.
handleQuery1
();
},
methods
:
{
handleClick
(){
...
...
@@ -85,6 +87,17 @@ export default {
this
.
tableData
=
res
.
rows
}
this
.
tableDataTotal
=
res
.
total
},
async
handleQuery1
(
params
)
{
let
param
=
params
?
params
:
this
.
queryParams
param
.
isHistory
=
1
let
res
=
await
bestStockPage
(
param
)
this
.
tableLoading
=
false
if
(
res
.
code
==
200
){
if
(
res
.
total
<
1
){
this
.
disabled
=
true
}
}
}
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/overview/overseas.vue
View file @
34146c04
...
...
@@ -82,7 +82,8 @@ export default {
{
name
:
'不到5%'
,
value
:
'0~0.05'
}
],
width
:
130
}
},
{
type
:
3
,
fieldName
:
'keyword'
,
value
:
''
,
placeholder
:
'输入企业名称查询'
},
],
//列表
tableLoading
:
false
,
...
...
dsk-operate-ui/src/views/enterpriseData/components/Owner/index.vue
View file @
34146c04
...
...
@@ -3,7 +3,7 @@
<div
class=
"content"
>
<div
class=
"content_item"
>
<div
class=
"content_right item_ckquery_list"
>
<el-input
class=
"ename_input"
placeholder=
"请输入企业名称关键字"
v-model=
"keys"
>
<el-input
class=
"ename_input"
placeholder=
"请输入企业名称关键字"
clearable
v-model=
"keys"
>
<div
slot=
"append"
class=
"btn-search"
@
click=
"search()"
>
搜索
</div>
</el-input>
...
...
@@ -137,13 +137,15 @@
</div>
</div>
<div
class=
"table-item-jf table-item-jf1"
v-if=
"tableData.length==0"
>
<div
class=
"table-item-jf table-item-jf1"
v-if=
"tableData.length==0
&& !isSkeleton
"
>
<img
class=
"item-jf-img"
src=
"@/assets/images/kong.png"
alt=
""
>
<div
class=
"item-jf-titel"
>
抱歉,没找到相关数据!
</div>
<div
class=
"item-jf-text"
>
建议调整关键词或筛选条件,重新搜索!
</div>
</div>
<div
class=
" table-item-jf"
v-if=
"tableData.length>0"
>
<el-table
:data=
"tableData"
v-loading=
"loading"
:header-cell-style=
"
{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}" element-loading-text="Loading" class="table-item1 fixed-table" border highlight-current-row>
<skeleton
style=
"margin-left:16px;"
v-if=
"isSkeleton"
></skeleton>
<div
class=
" table-item-jf"
v-if=
"!isSkeleton&&tableData.length>0"
>
<el-table
:data=
"tableData"
:header-cell-style=
"
{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}" class="table-item1 fixed-table" border highlight-current-row>
<el-table-column
type=
"index"
label=
"序号"
fixed
width=
"60"
>
<template
slot-scope=
"scope"
>
<span>
{{
(
pageNum
-
1
)
*
20
+
scope
.
$index
+
1
}}
</span>
...
...
@@ -484,12 +486,15 @@
<
script
>
import
{
encodeStr
}
from
"@/assets/js/common.js"
import
jsk_data
from
'../../../../../public/jsk.json'
;
import
skeleton
from
'@/views/project/projectList/component/skeleton'
import
api
from
'@/api/enterpriseData/enterpriseData.js'
;
export
default
{
name
:
'Owner'
,
components
:{
skeleton
},
data
()
{
return
{
encodeStr
,
isSkeleton
:
true
,
keys
:
''
,
addressList
:
[],
addressType
:
[],
...
...
@@ -498,10 +503,7 @@ export default {
expandTrigger
:
"hover"
,
value
:
"id"
,
},
loading
:
false
,
pageSize
:
20
,
jskBidQueryDto
:
{
provinceIds
:
[],
cityIds
:
[],
...
...
@@ -918,9 +920,9 @@ export default {
}
else
{
delete
params
.
equityRelationship
}
this
.
loading
=
true
;
this
.
isSkeleton
=
true
;
api
.
uipSerach
(
params
).
then
(
res
=>
{
this
.
loading
=
false
;
this
.
isSkeleton
=
false
// console.log(res)
if
(
res
.
code
==
200
)
{
this
.
tableData
=
res
.
rows
;
...
...
@@ -928,7 +930,6 @@ export default {
}
}).
catch
(
error
=>
{
this
.
loading
=
false
;
});
},
...
...
dsk-operate-ui/src/views/enterpriseData/components/SearchEnterprise/index.vue
View file @
34146c04
...
...
@@ -4,7 +4,7 @@
<div
class=
"content"
>
<div
class=
"content_item content_item_padding0"
>
<div
class=
"content_right item_ckquery_list"
>
<el-input
class=
"ename_input"
placeholder=
"请输入关键字,如企业名称、统一社会信用代码等"
v-model=
"ename"
@
input=
"projectNamebtn('ename',ename,'关键字:')"
>
<el-input
class=
"ename_input"
clearable
placeholder=
"请输入关键字,如企业名称、统一社会信用代码等"
v-model=
"ename"
@
input=
"projectNamebtn('ename',ename,'关键字:')"
>
<div
slot=
"append"
class=
"btn-search"
@
click=
"search()"
>
搜索
</div>
</el-input>
<!--
<template
v-if=
"ename"
>
...
...
@@ -454,12 +454,13 @@
</div>
</div>
<div
class=
"table-item-jf1"
v-if=
"tableData.length==0"
>
<div
class=
"table-item-jf1"
v-if=
"tableData.length==0
&& !isSkeleton
"
>
<img
class=
"item-jf-img"
src=
"@/assets/images/kong.png"
alt=
""
>
<div
class=
"item-jf-titel"
>
抱歉,没找到相关数据!
</div>
<div
class=
"item-jf-text"
>
建议调整关键词或筛选条件,重新搜索!
</div>
</div>
<ul
class=
"bottomlist-content"
v-if=
"tableData.length>0"
>
<skeleton
style=
"margin-left:16px;"
v-if=
"isSkeleton"
></skeleton>
<ul
class=
"bottomlist-content"
v-if=
"!isSkeleton&&tableData.length>0"
>
<li
class=
"info-list"
v-for=
"(item,index) in tableData"
:key=
"index"
>
<div
class=
"info-list-left"
>
<img
v-if=
"item.logoUrl"
:src=
"item.logoUrl"
:alt=
"item.name.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')"
/>
...
...
@@ -584,8 +585,10 @@
import
options
from
'@/assets/json/options.json'
;
import
api
from
'@/api/enterpriseData/enterpriseData.js'
;
import
{
encodeStr
}
from
"@/assets/js/common.js"
import
skeleton
from
'@/views/project/projectList/component/skeleton'
export
default
{
name
:
'EnterpriseQuery'
,
components
:{
skeleton
},
directives
:
{
numberOnly
:
{
bind
:
function
(
el
)
{
...
...
@@ -605,6 +608,7 @@
return
{
encodeStr
,
ename
:
''
,
isSkeleton
:
true
,
enameQueryTypeList
:
[{
key
:
'and'
,
status
:
false
,
...
...
@@ -2752,7 +2756,9 @@
data
.
aptitudeQueryDto
[
'aptitudeDtoList'
]
=
aptitudeDtoList
;
data
.
aptitudeQueryDto
[
'aptitudeSource'
]
=
'new'
;
}
this
.
isSkeleton
=
true
;
api
.
enterprisePage
(
data
).
then
(
res
=>
{
this
.
isSkeleton
=
false
if
(
res
.
code
==
200
)
{
this
.
tableData
=
res
.
data
.
list
;
this
.
total
=
res
.
data
.
total
;
...
...
dsk-operate-ui/src/views/macro/economies/component/industrialStructure.vue
View file @
34146c04
...
...
@@ -114,7 +114,9 @@ export default {
}
bidMoneyGroupByProjectType
(
params
).
then
(
res
=>
{
if
(
res
.
data
.
length
>
0
){
let
list
=
res
.
data
[
1
].
type
let
list
=
[]
if
(
res
.
data
.
length
>
1
){
list
=
res
.
data
[
1
].
type
for
(
let
i
=
0
;
i
<
res
.
data
[
0
].
type
.
length
;
i
++
){
for
(
let
j
=
0
;
j
<
list
.
length
;
j
++
){
if
(
res
.
data
[
0
].
type
[
i
].
projectType
===
list
[
j
].
projectType
){
...
...
@@ -123,6 +125,13 @@ export default {
}
}
}
}
else
{
list
=
res
.
data
[
0
].
type
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
){
list
[
i
].
lastMoney
=
0
;
list
[
i
].
lastRate
=
0
;
}
}
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
){
list
[
i
].
money
=
list
[
i
].
money
?
Number
(
list
[
i
].
money
).
toFixed
(
2
)
:
'-'
;
list
[
i
].
rate
=
list
[
i
].
rate
?
Number
(
list
[
i
].
rate
).
toFixed
(
2
)
:
'-'
;
...
...
@@ -189,6 +198,8 @@ export default {
//鼠标悬停时显示的样式
tooltip
:
{
extraCssText
:
'width:120px!important;'
,
backgroundColor
:
"rgba(255, 255, 255, 0.8)"
,
borderWidth
:
'0'
,
formatter
:
function
(
params
){
var
result
=
''
result
+=
'<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'
+
params
.
name
+
'</p>'
...
...
dsk-operate-ui/src/views/macro/enterprises/index.vue
View file @
34146c04
...
...
@@ -384,13 +384,18 @@ export default {
.el-input__suffix
{
margin-top
:
-1px
;
}
.el-input__inner
:focus
{
border-color
:
#e0e0e0
;
}
.el-input-group__append
{
width
:
59px
;
width
:
60px
;
padding
:
0
;
text-align
:
center
;
background
:
#F5F5F5
;
color
:
#0081FF
;
border-left
:
0
;
padding
:
0
;
text-align
:
center
;
border-radius
:
0
;
border-right
:
0
;
}
}
.total
{
...
...
dsk-operate-ui/src/views/macro/financing/details.vue
View file @
34146c04
...
...
@@ -225,7 +225,7 @@ export default {
img
{
width
:
28px
;
height
:
28px
;
margin-bottom
:
-9px
;
//
margin-bottom: -9px;
margin-right
:
17px
;
}
}
...
...
dsk-operate-ui/src/views/macro/financing/index.vue
View file @
34146c04
<
template
>
<div
class=
"app-container qyzx"
>
<Region
v-if=
"province"
:province=
"province"
:dataQuery=
"dataQuery"
@
addressListbtn=
"addressListbtn"
></Region>
<div
class=
"content"
>
<skeleton
v-if=
"isSkeleton"
style=
"padding: 16px"
></skeleton>
<div
v-if=
"!isSkeleton"
class=
"content"
>
<div
class=
"common-title"
>
专项债项目
</div>
<div
class=
"content-box"
v-if=
"!state"
>
<div
class=
"box-left"
>
...
...
@@ -14,7 +15,7 @@
border
:summary-method=
"getSummaries"
show-summary
height=
"400"
max-
height=
"400"
fit
@
sort-change=
"sortChange"
highlight-current-row
...
...
@@ -34,7 +35,7 @@
</div>
</div>
</div>
<div
class=
"content"
>
<div
v-if=
"!isSkeleton"
class=
"content"
>
<div
class=
"common-title flex-box"
>
<div
class=
"flex-box"
>
项目明细
</div>
<div
class=
"flex-box query-ability"
>
...
...
@@ -44,7 +45,6 @@
</div>
<div
class=
"table-item"
>
<el-table
v-loading=
"tableLoading"
:data=
"listData"
element-loading-text=
"Loading"
@
sort-change=
"sortChange1"
...
...
@@ -85,10 +85,11 @@
import
*
as
echarts
from
'echarts'
;
import
{
statistics
,
projectsPage
,
location
}
from
'@/api/macro/macro'
import
Region
from
'../component/region'
import
skeleton
from
'../component/skeleton'
export
default
{
name
:
'Financing'
,
components
:
{
Region
Region
,
skeleton
},
data
()
{
return
{
...
...
@@ -96,7 +97,6 @@ export default {
tableParams
:{},
tableData
:[],
listData
:[],
tableLoading
:
false
,
pageIndex
:
1
,
pageSize
:
10
,
tableDataTotal
:
0
,
...
...
@@ -106,6 +106,7 @@ export default {
province
:
''
,
provinceId
:[],
state
:
false
,
isSkeleton
:
true
}
},
created
()
{
...
...
@@ -157,7 +158,6 @@ export default {
},
methods
:
{
getData
(){
this
.
tableLoading
=
true
let
params
=
{
pageNum
:
this
.
pageIndex
,
pageSize
:
this
.
pageSize
}
if
(
this
.
tableParams
.
field
){
params
.
field
=
this
.
tableParams
.
field
...
...
@@ -175,16 +175,12 @@ export default {
params
.
areaId
=
this
.
provinceId
[
2
]
}
projectsPage
(
params
).
then
(
res
=>
{
this
.
tableLoading
=
false
this
.
listData
=
res
.
data
.
list
;
this
.
tableDataTotal
=
res
.
data
.
totalCount
})
// 延迟关闭加载效果
// setTimeout(() => {
// this.tableLoading = false
// }, 200)
},
getStatistics
(){
this
.
isSkeleton
=
true
let
params
=
{};
if
(
this
.
provinceId
.
length
>
0
){
params
.
provinceId
=
this
.
provinceId
[
0
]
...
...
@@ -202,6 +198,7 @@ export default {
params
.
order
=
this
.
queryParams
.
order
}
statistics
(
params
).
then
(
res
=>
{
this
.
isSkeleton
=
false
var
list
=
[];
for
(
var
i
=
0
;
i
<
res
.
data
.
length
;
i
++
){
var
obj
=
{};
...
...
@@ -308,6 +305,15 @@ export default {
field
:
this
.
queryParams
.
field
,
order
:
this
.
queryParams
.
order
};
if
(
this
.
provinceId
.
length
>
0
){
params
.
provinceId
=
this
.
provinceId
[
0
]
}
if
(
this
.
provinceId
.
length
>
1
){
params
.
cityId
=
this
.
provinceId
[
1
]
}
if
(
this
.
provinceId
.
length
>
2
){
params
.
areaId
=
this
.
provinceId
[
2
]
}
statistics
(
params
).
then
(
res
=>
{
var
list
=
[];
for
(
var
i
=
0
;
i
<
res
.
data
.
length
;
i
++
){
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/zhaobiao.vue
View file @
34146c04
...
...
@@ -15,14 +15,14 @@
<div
class=
"main2"
>
<div
class=
"flex-box query-box head"
>
<span>
{{
value
}}
全国招标总数
<span
class=
"number"
>
{{
totalCount
}}
</span>
万个
</span>
<div
class=
"select-popper"
style=
"position: relative;"
>
<div
class=
"select-popper"
style=
"position: relative;
margin-right:0;
"
>
<el-dropdown
@
command=
"handleDate"
trigger=
"click"
ref=
"punishDateShowPopper"
:hide-on-click=
"false"
>
<span
class=
"el-dropdown-link"
:class=
"punishDateValue ? 'color_text' : ''"
>
{{
punishDateValue
}}
<i
class=
"el-icon-
caret-bottom
"
></i></span>
<span
class=
"el-dropdown-link"
:class=
"punishDateValue ? 'color_text' : ''"
>
{{
punishDateValue
}}
<i
class=
"el-icon-
arrow-down"
style=
"color:#313131;
"
></i></span>
<div>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
...
...
@@ -625,5 +625,10 @@ export default {
}
}
}
::v-deep
.el-input--medium
{
.el-input__icon
{
line-height
:
32px
;
}
}
}
</
style
>
dsk-operate-ui/src/views/macro/urban/index.vue
View file @
34146c04
...
...
@@ -831,6 +831,9 @@ export default {
border-radius
:
4px
;
.search
{
margin-top
:
22px
;
::v-deep
.el-radio
{
margin-right
:
16px
;
}
.search-box
{
display
:
inline-block
;
margin-right
:
32px
;
...
...
@@ -918,7 +921,7 @@ export default {
height
:
32px
;
line-height
:
32px
;
font-size
:
12px
;
padding-left
:
6
px
;
padding-left
:
8
px
;
border-right
:
0
;
}
.el-input__suffix
{
...
...
@@ -931,6 +934,8 @@ export default {
background
:
#F5F5F5
;
color
:
#0081FF
;
border-left
:
0
;
border-radius
:
0
;
border-right
:
0
;
}
/*}*/
}
...
...
dsk-operate-ui/src/views/project/overview/index.vue
View file @
34146c04
...
...
@@ -253,7 +253,6 @@ export default {
weekdata1
.
length
=
time
weekdata2
.
length
=
time
weekdata3
.
length
=
time
console
.
log
(
time
)
for
(
var
i
=
0
;
i
<
7
;
i
++
){
if
(
i
>
time
){
weekdata1
.
push
(
''
)
...
...
@@ -304,8 +303,6 @@ export default {
default
:
break
;
}
console
.
log
(
datas
)
console
.
log
(
labels
)
this
.
initDT
(
datas
,
labels
)
},
resizeEcharts
(){
...
...
@@ -350,8 +347,8 @@ export default {
// trigger: 'axis'
},
legend
:
{
right
:
'
20
px'
,
top
:
"
30
px"
,
right
:
'
155
px'
,
top
:
"
2
px"
,
data
:
[
'成交金额'
,
'储备项目'
,
'跟进动态'
],
itemHeight
:
8
,
// 修改icon图形大小
itemGap
:
20
...
...
dsk-operate-ui/src/views/project/projectList/component/addProject.vue
View file @
34146c04
...
...
@@ -12,10 +12,13 @@
</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"
></el-input>
<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>
</div>
</el-form-item>
<el-form-item
label=
"
业主
单位:"
class=
"row"
prop=
"ownerCompany"
>
<el-input
type=
"text"
placeholder=
"请输入"
v-model=
"queryParam.ownerCompany"
@
input=
"getCompany"
></el-input>
<el-form-item
label=
"
招采
单位:"
class=
"row"
prop=
"ownerCompany"
>
<el-input
type=
"text"
placeholder=
"请输入"
v-model=
"queryParam.ownerCompany"
@
input=
"getCompany"
:
ο
nkeyup=
"queryParam.ownerCompany=queryParam.ownerCompany.replace(/^\s+|\s+$/g,'')"
></el-input>
<div
class=
"resultlist"
v-if=
"showlist"
id=
"box"
>
<div
v-for=
"(item,index) in companData"
@
click=
"selCompany(item)"
><span
v-html=
"item.name"
></span></div>
</div>
...
...
@@ -56,6 +59,7 @@
<
script
>
import
{
getEnterprise
,
getDictType
,}
from
'@/api/main'
import
{
addProject
}
from
'@/api/project/project'
import
{
queryProject
}
from
'@/api/detail/party-a/cooperate'
export
default
{
name
:
'addProject'
,
data
(){
...
...
@@ -74,7 +78,7 @@
userId
:
''
,
//用户id
projectName
:
''
,
// 项目名称
companyId
:
''
,
//企业id
ownerCompany
:
''
,
//
业主
单位
ownerCompany
:
''
,
//
招采
单位
projectStage
:
null
,
//项目阶段
projectType
:
null
,
//项目类型
projectCategory
:
null
,
//项目类别
...
...
@@ -90,6 +94,7 @@
projectStage
:[],
//项目阶段
projectType
:[],
//项目类型
projectCategory
:[],
//项目类别
proList
:[],
//项目列表
}
},
mounted
(){
...
...
@@ -110,6 +115,7 @@
},
methods
:{
toradar
(){
this
.
resetForm
()
this
.
$router
.
push
({
path
:
'/radar'
})
},
handleALL
(
event
){
...
...
@@ -119,6 +125,12 @@
this
.
showlist
=
false
}
}
var
two
=
document
.
getElementById
(
"box1"
);
if
(
two
){
if
(
!
two
.
contains
(
event
.
target
)){
this
.
proList
=
[]
}
}
},
//获取建设库客户
getCompany
(
value
){
...
...
@@ -139,19 +151,45 @@
})
}
},
//获取项目名称
getProject
(
value
){
if
(
value
.
length
>=
2
){
let
param
=
{
projectName
:
value
,
}
queryProject
(
JSON
.
stringify
(
param
)).
then
(
result
=>
{
if
(
result
.
code
!=
200
){
this
.
proList
=
[]
return
false
}
this
.
proList
=
result
.
data
})
}
},
selCompany
(
item
){
this
.
queryParam
.
companyId
=
item
.
jskEid
this
.
queryParam
.
ownerCompany
=
item
.
name
.
replace
(
/<
[^
>
]
+>/g
,
''
)
this
.
showlist
=
false
},
selProject
(
item
){
this
.
queryParam
.
projectStage
=
item
.
projectStage
this
.
queryParam
.
investmentAmount
=
item
.
investmentAmount
this
.
queryParam
.
projectType
=
item
.
projectType
this
.
queryParam
.
projectCategory
=
item
.
projectCategory
this
.
queryParam
.
status
=
item
.
status
this
.
queryParam
.
ownerCompany
=
item
.
companyName
this
.
queryParam
.
projectName
=
item
.
projectName
.
replace
(
/<
[^
>
]
+>/g
,
''
)
this
.
proList
=
[]
},
//添加客户
submitForm
(
formName
)
{
this
.
queryParam
.
userId
=
this
.
$store
.
state
.
user
.
userId
if
(
this
.
queryParam
.
investmentAmount
!=
""
)
this
.
queryParam
.
investmentAmount
=
parseFloat
(
this
.
queryParam
.
investmentAmount
)
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
addProject
(
this
.
queryParam
).
then
(
result
=>
{
let
param
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
queryParam
))
if
(
param
.
investmentAmount
!=
""
)
param
.
investmentAmount
=
parseFloat
(
param
.
investmentAmount
)
addProject
(
param
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
'添加成功!'
)
this
.
resetForm
(
'ruleForm'
)
...
...
@@ -168,7 +206,7 @@
this
.
queryParam
=
{
projectName
:
''
,
// 项目名称
companyId
:
''
,
//企业id
ownerCompany
:
''
,
//
业主
单位
ownerCompany
:
''
,
//
招采
单位
projectStage
:
null
,
//项目阶段
projectType
:
null
,
//项目类型
projectCategory
:
null
,
//项目类别
...
...
dsk-operate-ui/src/views/project/projectList/component/gzdb.vue
View file @
34146c04
...
...
@@ -11,14 +11,14 @@
<div
class=
"writting"
v-if=
"isEdit == true"
>
<div
class=
"wri_top"
>
<img
src=
"@/assets/images/project/add_3.png"
>
<el-input
v-model=
"queryParam.task"
placeholder=
"新建一条跟进记录,如:周五上午预约客户上门拜访"
></el-input>
<el-input
v-model=
"queryParam.task"
maxlength=
"500"
placeholder=
"新建一条跟进记录,如:周五上午预约客户上门拜访"
></el-input>
</div>
<div
class=
"wr_bot"
>
<div
class=
"times"
><img
src=
"@/assets/images/project/ico_4.png"
>
<el-date-picker
value-format=
"yyyy-MM-dd"
v-model=
"queryParam.
finish
Time"
type=
"date"
placeholder=
"
完成
时间"
>
<el-date-picker
value-format=
"yyyy-MM-dd
HH:mm:ss
"
v-model=
"queryParam.
due
Time"
type=
"date
time
"
placeholder=
"
截止
时间"
>
</el-date-picker>
</div>
<div
class=
"sels"
>
...
...
@@ -26,28 +26,40 @@
<el-input
v-model=
"queryParam.target"
placeholder=
"拜访对象"
maxlength=
"500"
style=
"width: 100px;"
>
</el-input>
</div>
<div
class=
"btn btn_primary h32 wc"
@
click=
"add"
:class=
"
{'btn_disabled':queryParam.task == ''}">完成
</div>
<div
class=
"wc"
>
<div
class=
"btn btn_primary h32 "
@
click=
"add"
:class=
"
{'btn_disabled':queryParam.task == ''}">完成
</div>
<div
class=
"btn btn_primary h32"
style=
"border: 1px solid #D3D3D3;background: #ffffff;color:rgba(35,35,35,0.8);"
@
click=
"cancel"
:class=
"
{'btn_disabled':queryParam.task == ''}">取消
</div>
</div>
</div>
</div>
</div>
<skeleton
v-if=
"isSkeleton"
style=
"padding-top: 16px"
></skeleton>
<div
v-else
>
<div
class=
"tasktitle"
><strong>
我的任务
</strong><span
@
click=
"getYQ"
>
{{
yqnum
}}
条已逾期
</span>
<!--
<span
class=
"on"
>
4条已逾期
</span>
-->
</div>
<div
class=
"tabList"
v-else
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tab-pane
label=
"进行中任务"
name=
"first"
></el-tab-pane>
<el-tab-pane
label=
"已完成任务"
name=
"second"
></el-tab-pane>
<el-tab-pane
:label=
"yqnum"
name=
"third"
></el-tab-pane>
</el-tabs>
<div
class=
"tasklist"
v-for=
"(item,index) in datalist.rows"
>
<div
class=
"task_name"
>
{{
item
.
task
}}
</div>
<div
class=
"task_con"
><span>
发起时间:
{{
item
.
createTime
}}
</span><span
v-if=
"item.target"
>
关联客户:
<font
class=
"wordprimary"
>
{{
item
.
target
}}
</font></span><span
v-if=
"item.
finishTime"
>
完成时间:
{{
item
.
finish
Time
}}
</span></div>
<div
class=
"select"
:class=
"
{'on':item.state ==
2
}">
<div
class=
"task_con"
><span>
发起时间:
{{
item
.
createTime
}}
</span><span
v-if=
"item.target"
>
关联客户:
<font
class=
"wordprimary"
>
{{
item
.
target
}}
</font></span><span
v-if=
"item.
dueTime"
>
完成时间:
{{
item
.
due
Time
}}
</span></div>
<div
class=
"select"
:class=
"
{'on':item.state ==
1
}">
<div
class=
"select-popper"
>
<span>
{{
item
.
state
==
2
?
"已完成"
:
"未完成
"
}}
{{
item
.
state
==
1
?
"已完成"
:
"进行中
"
}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-select
v-if=
"isDisableds == false"
placeholder=
"请选择"
v-model=
"item.state"
class=
"select-multiple"
@
change=
"changes(item.id,$event)"
>
<el-option
label=
"
未完成"
value=
"1
"
></el-option>
<el-option
label=
"已完成"
value=
"
2
"
></el-option>
<el-option
label=
"
进行中"
value=
"0
"
></el-option>
<el-option
label=
"已完成"
value=
"
1
"
></el-option>
</el-select>
</div></div>
</div>
<!--
<div
class=
"tasktitle"
><strong>
已完成
</strong></div>
-->
<!---->
<!--
<div
class=
"tasktitle"
><strong>
进行中
</strong><span
@
click=
"getYQ"
>
{{
yqnum
}}
条已逾期
</span>
<
!
–
<span
class=
"on"
>
4条已逾期
</span>
–>
</div>
-->
<div
class=
"tables"
v-if=
"datalist.total>searchPram.pageSize"
>
<div
class=
"bottems"
>
...
...
@@ -85,6 +97,7 @@
},
data
(){
return
{
activeName
:
'first'
,
isEdit
:
false
,
value
:
''
,
status
:
0
,
...
...
@@ -92,22 +105,34 @@
businessId
:
this
.
detailId
?
this
.
detailId
:
parseInt
(
this
.
$route
.
query
.
id
),
//项目详情id
target
:
''
,
task
:
''
,
finish
Time
:
''
,
due
Time
:
''
,
},
searchPram
:{
businessId
:
this
.
detailId
?
this
.
detailId
:
parseInt
(
this
.
$route
.
query
.
id
),
pageSize
:
20
,
pageNum
:
1
,
state
:
null
,
state
:
0
},
datalist
:[],
yqnum
:
0
,
//已逾期数量
yqnum
:
''
,
//已逾期数量
isDisableds
:
this
.
isDisabled
,
isSkeleton
:
true
,
}
},
created
(){
this
.
getList
()
let
params
=
{
...
this
.
searchPram
,
state
:
2
,
// cancelHttp: true
}
getGZDB
(
params
).
then
(
result
=>
{
this
.
datalist
=
result
.
code
==
200
?
result
:[]
console
.
log
(
this
.
datalist
.
rows
)
if
(
this
.
datalist
){
this
.
yqnum
=
`已逾期
${
this
.
datalist
.
rows
.
length
}
条`
;
}
})
},
methods
:{
getEdit
(){
...
...
@@ -115,7 +140,9 @@
this
.
value
=
""
},
add
(){
if
(
this
.
queryParam
.
task
==
''
||
this
.
queryParam
.
finishTime
==
''
)
// if(this.queryParam.task == '' || this.queryParam.dueTime == '')
if
(
this
.
queryParam
.
task
==
''
)
return
this
.
$message
.
warning
(
'时间和内容需填写完整!'
)
addGZDB
(
this
.
queryParam
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
...
...
@@ -123,29 +150,37 @@
this
.
getList
()
this
.
queryParam
.
target
=
''
this
.
queryParam
.
task
=
''
this
.
queryParam
.
finish
Time
=
''
this
.
queryParam
.
due
Time
=
''
}
else
{
this
.
$message
.
error
(
result
.
msg
)
}
})
},
cancel
(){
this
.
isEdit
=
false
;
this
.
queryParam
.
target
=
''
this
.
queryParam
.
task
=
''
this
.
queryParam
.
dueTime
=
''
},
getList
(){
this
.
isSkeleton
=
true
getGZDB
(
this
.
searchPram
).
then
(
result
=>
{
let
params
=
{
...
this
.
searchPram
,
// cancelHttp: true
}
getGZDB
(
params
).
then
(
result
=>
{
this
.
isSkeleton
=
false
this
.
datalist
=
result
.
code
==
200
?
result
:[]
let
num
=
0
this
.
datalist
.
rows
.
forEach
(
item
=>
{
if
(
item
.
state
==
0
)
num
++
;
})
this
.
yqnum
=
num
})
},
handleCurrentChange
(
val
){
this
.
searchPram
.
pageNum
=
val
this
.
getList
()
},
handleClick
(){
this
.
searchPram
.
state
=
this
.
activeName
===
'first'
?
0
:
this
.
activeName
===
'second'
?
1
:
2
this
.
getList
()
},
changes
(
id
,
state
){
let
param
=
{
id
:
id
,
...
...
@@ -162,7 +197,7 @@
},
getYQ
(){
let
state
=
this
.
searchPram
.
state
this
.
searchPram
.
state
=
state
==
0
?
null
:
0
this
.
searchPram
.
state
=
state
==
2
?
null
:
2
this
.
handleCurrentChange
(
1
)
},
}
...
...
@@ -170,6 +205,35 @@
</
script
>
<
style
lang=
"scss"
scoped
>
.records
{
.tasklist
{
.select
{
background
:
#FFEBEB
;
color
:
#FF3C3C
;
.select-popper
{
color
:
#FF3C3C
;
}
}
.task_name
{
word-wrap
:
break-word
;
width
:
87%
;
}
}
}
.tabList
{
margin-top
:
18px
;
::v-deep
.el-tabs
{
.el-tabs__header
{
margin
:
0
;
}
.el-tabs__active-bar
{
height
:
1px
;
}
.
el-tabs__nav-wrap
:
:
after
{
height
:
1px
;
}
}
}
.wc
{
position
:
absolute
;
right
:
0
;
...
...
dsk-operate-ui/src/views/project/projectList/component/lxr.vue
View file @
34146c04
...
...
@@ -106,8 +106,8 @@
<img
src=
"@/assets/images/economies/icon.png"
>
<span>
{{projectname}}
</span>
</div>
<el-form
class=
"popform"
label-width=
"137px"
>
<el-form-item
label=
"联系人姓名:"
class=
"row"
>
<el-form
class=
"popform"
:model=
"queryParam"
ref=
"ruleForm"
label-width=
"137px"
:rules=
"rules"
>
<el-form-item
label=
"联系人姓名:"
class=
"row"
prop=
"name"
>
<el-input
type=
"text"
v-model=
"queryParam.name"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"联系人性别:"
class=
"row"
>
...
...
@@ -157,6 +157,9 @@
},
data
(){
return
{
rules
:{
name
:[{
required
:
true
,
message
:
'请输入非空格字符!'
,
trigger
:
'blur'
},],
},
dialogVisible
:
false
,
isnew
:
true
,
//是否新增
textarea
:
""
,
...
...
@@ -200,26 +203,40 @@
})
},
save
(){
this
.
$refs
[
'ruleForm'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
let
param
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
queryParam
))
param
.
sex
=
parseInt
(
param
.
sex
)
if
(
this
.
isnew
==
false
){
editLXR
(
param
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
if
(
!
this
.
queryParam
.
phone
)
{
this
.
$message
.
error
(
'请输入电话号码'
)
return
false
}
var
regPartton
=
/1
[
3-9
]
+
\d{9}
/
;
var
regPartton1
=
/0
\d{2,3}
-
\d{7,8}
|
\(?
0
\d{2,3}[
)-
]?\d{7,8}
|
\(?
0
\d{2,3}[
)-
]
*
\d{7,8}
/
;
if
(
!
regPartton
.
test
(
this
.
queryParam
.
phone
)
&&
!
regPartton1
.
test
(
this
.
queryParam
.
phone
))
{
this
.
$message
.
error
(
"请输入正确的电话"
);
return
false
}
if
(
this
.
isnew
==
false
)
{
editLXR
(
param
).
then
(
result
=>
{
if
(
result
.
code
==
200
)
{
this
.
$message
.
success
(
'保存成功!'
)
this
.
getList
()
this
.
dialogVisible
=
false
}
})
}
if
(
this
.
isnew
==
true
)
{
addLXR
(
param
).
then
(
result
=>
{
if
(
result
.
code
==
200
)
{
if
(
this
.
isnew
==
true
)
{
addLXR
(
param
).
then
(
result
=>
{
if
(
result
.
code
==
200
)
{
this
.
$message
.
success
(
'新增成功!'
)
this
.
getList
()
this
.
dialogVisible
=
false
}
})
}
}
})
},
//翻页
handleCurrentChange
(
val
)
{
...
...
dsk-operate-ui/src/views/project/projectList/component/xgqy.vue
View file @
34146c04
...
...
@@ -4,7 +4,7 @@
<el-card
class=
"box-card noborder"
>
<div
class=
"cardtitles"
>
相关企业
</div>
<div
class=
"searchbtns"
>
<el-select
class=
"select"
placeholder=
"企业类型"
clearable
v-model=
"searchParam.company
Typ
e"
@
change=
"handleCurrentChange(1)"
>
<el-select
class=
"select"
placeholder=
"企业类型"
clearable
v-model=
"searchParam.company
Rol
e"
@
change=
"handleCurrentChange(1)"
>
<el-option
v-for=
"(item,index) in companytype"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
<div
class=
"searchInput small"
>
...
...
@@ -40,16 +40,44 @@
sortable
label=
"对接深度/竞争力度"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
depth
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"companyRole"
label=
"企业角色"
width=
""
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
companyRole
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"responsiblePerson"
label=
"负责人"
width=
""
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
responsiblePerson
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"phone"
label=
"负责人联系方式"
width=
""
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
phone
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"responsiblePerson"
label=
"备注"
width=
""
>
<
template
slot-scope=
"scope"
>
<div
class=
"showremark"
v-if=
"scope.row.remark"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"scope.row.remark"
placement=
"top"
><span>
{{
scope
.
row
.
remark
}}
</span></el-tooltip>
</div>
<div
v-else
>
--
</div>
</
template
>
</el-table-column>
<el-table-column
v-if=
"isDisableds == false"
prop=
"name"
...
...
@@ -58,6 +86,7 @@
width=
""
>
<
template
slot-scope=
"scope"
>
<div
class=
"hoverbtn"
>
<div
class=
"xg"
@
click=
"getDetail(scope.row)"
>
修改
</div>
<div
class=
"sc"
@
click=
"ondel = scope.row.id"
>
删除
</div>
</div>
</
template
>
...
...
@@ -83,55 +112,69 @@
</div>
</div>
</div>
<
el-dialog
class=
"popups"
:visible
.
sync=
"dialogVisible"
width=
"464px"
>
<
div
@
click =
'handleALL'
>
<
div
class=
"poptitle"
>
<
img
src=
"@/assets/images/economies/icon.png"
>
<
span>
新建相关企业
</span
>
<
/div
>
<
div
class=
"types"
>
<
div
v-for=
"(item,index) in companytype"
:class=
"{'on':types==item.dictValue}"
@
click=
"totype(item.dictValue)"
><i></i>
{{item.dictLabel}}
</div
>
<
/div
>
<
div
class=
"popform"
>
<
div
class=
"popbot"
style=
"padding-right: 0"
>
<
div
class=
"btn btn_cancel h32"
@
click=
"cancel(0)"
>
返回
</div
>
<
div
class=
"btn btn_primary h32"
@
click=
"gettype"
>
下一步
</div
>
<
/div
>
<
/div
>
<
/div
>
<
/el-dialog
>
<
!--<el-dialog-->
<!--class="popups"-->
<!--:visible.sync="dialogVisible"-->
<!--width="464px">--
>
<
!--<div @click = 'handleALL'>--
>
<
!--<div class="poptitle">--
>
<
!--<img src="@/assets/images/economies/icon.png">--
>
<
!--<span>新建相关企业</span>--
>
<
!--</div>--
>
<
!--<div class="types">--
>
<
!--<div v-for="(item,index) in companytype" :class="{'on':types==item.dictValue}" @click="totype(item.dictValue)"><i></i>{{item.dictLabel}}</div>--
>
<
!--</div>--
>
<
!--<div class="popform">--
>
<
!--<div class="popbot" style="padding-right: 0">--
>
<
!--<div class="btn btn_cancel h32" @click="cancel(0)">返回</div>--
>
<
!--<div class="btn btn_primary h32" @click="gettype">下一步</div>--
>
<
!--</div>--
>
<
!--</div>--
>
<
!--</div>--
>
<
!--</el-dialog>--
>
<el-dialog
class=
"popups"
:visible
.
sync=
"hzhbVisible"
width=
"464px"
>
<div
class=
"poptitle"
>
<img
src=
"@/assets/images/economies/icon.png"
>
<span>
新建相关企业
-{{types}}
</span>
<span>
新建相关企业
</span>
</div>
<el-form
class=
"popform i"
:model=
"queryParam"
label-width=
"85px"
:rules=
"rules"
ref=
"ruleForm"
>
<el-form-item
label=
"企业角色:"
prop=
"companyRole"
class=
"row"
>
<el-select
placeholder=
"请选择"
v-model=
"queryParam.companyRole"
>
<el-option
v-for=
"(item,index) in companytype"
:key=
"index"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"企业名称:"
prop=
"companyName"
class=
"row"
>
<el-input
type=
"text"
v-model=
"queryParam.companyName"
@
input=
"getCompany"
placeholder=
"请输入"
></el-input>
<div
class=
"resultlist"
v-if=
"showlist"
id=
"box"
>
<div
v-for=
"(item,index) in companData"
@
click=
"selCompany(item)"
><span
v-html=
"item.name"
></span></div>
</div>
</el-form-item>
<el-form-item
:label=
"typename"
class=
"row"
>
<el-form-item
:label=
"typename"
class=
"row
i
"
>
<el-input
type=
"text"
v-model=
"queryParam.depth"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"企业角色:"
class=
"row"
>
<el-select
placeholder=
"请选择"
v-model=
"queryParam.companyRole"
>
<el-option
v-for=
"(item,index) in companyrole"
:key=
"index"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"负责人:"
class=
"row"
>
<el-input
type=
"text"
v-model=
"queryParam.responsiblePerson"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"联系方式:"
class=
"row"
>
<el-input
type=
"text"
oninput=
"value=value.replace(/[^\d]/g,'')"
v-model=
"queryParam.phone"
maxlength=
"11"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"备注说明:"
class=
"row"
>
<el-input
type=
"textarea"
placeholder=
"请输入"
v-model=
"queryParam.remark"
maxlength=
"200"
show-word-limit
>
</el-input>
</el-form-item>
<div
class=
"popbot"
>
<div
class=
"btn btn_cancel h32"
@
click=
"cancel(1)"
>
返回
</div>
<div
class=
"btn btn_primary h32"
@
click=
"addqy"
>
添加
</div>
<div
class=
"btn btn_cancel h32"
@
click=
"cancel()"
>
返回
</div>
<div
class=
"btn btn_primary h32"
v-if=
"isedit"
@
click=
"saveqy"
>
保存
</div>
<div
class=
"btn btn_primary h32"
v-else
@
click=
"addqy"
>
添加
</div>
</div>
</el-form>
</el-dialog>
...
...
@@ -140,10 +183,11 @@
</template>
<
script
>
import
"@/assets/styles/project.scss"
import
{
getXGQY
,
addXGQY
,
delXGQY
}
from
'@/api/project/project'
import
{
getDictType
,
getEnterprise
}
from
'@/api/main'
import
'@/assets/styles/project.scss'
import
{
addXGQY
,
delXGQY
,
getXGQY
,
saveXGQY
}
from
'@/api/project/project'
import
{
getDictType
,
getEnterprise
}
from
'@/api/main'
import
skeleton
from
'./skeleton'
export
default
{
components
:{
skeleton
},
name
:
'xgqy'
,
...
...
@@ -156,38 +200,43 @@
},
data
(){
return
{
types
:
1
,
dialogVisible
:
false
,
hzhbVisible
:
false
,
textarea
:
""
,
nowedit
:
-
1
,
//当前正在编辑的文本
tipslit
:[],
//项目标签
tipsvalue
:
""
,
//标签填写内容
tableData
:
[],
typelist
:[
'对接深度:'
,
'合作阶段:'
,
'竞争力度:'
],
typename
:
""
,
typename
:
"对接深度/竞争力度"
,
rules
:{
companyRole
:[{
required
:
true
,
message
:
'请输入非空格字符!'
,
trigger
:
'blur'
},],
companyName
:[{
required
:
true
,
message
:
'请输入非空格字符!'
,
trigger
:
'blur'
},],
phone
:
[
{
pattern
:
/^1
[
3|4|5|6|7|8|9
][
0-9
]\d{8}
$/
,
message
:
"请输入正确的手机号码"
,
trigger
:
"blur"
}
]
},
companytype
:[],
companyrole
:[],
queryParam
:{
businessId
:
this
.
detailId
?
this
.
detailId
:
this
.
$route
.
query
.
id
,
companyId
:
''
,
companyName
:
''
,
companyRole
:
''
,
companyType
:
''
,
responsiblePerson
:
''
,
depth
:
''
,
remark
:
''
,
},
searchParam
:{
pageSize
:
20
,
pageNum
:
1
,
businessId
:
this
.
detailId
?
this
.
detailId
:
this
.
$route
.
query
.
id
,
company
Typ
e
:
""
,
company
Rol
e
:
""
,
companyName
:
''
,
},
ondel
:
-
1
,
isedit
:
false
,
isDisableds
:
this
.
isDisabled
,
showlist
:
false
,
companData
:[],
...
...
@@ -198,17 +247,17 @@
//企业类型
getDictType
(
'company_type'
).
then
(
result
=>
{
this
.
companytype
=
result
.
code
==
200
?
result
.
data
:[]
this
.
types
=
this
.
companytype
[
0
].
dictValue
})
//企业角色
getDictType
(
'company_role'
).
then
(
result
=>
{
this
.
companyrole
=
result
.
code
==
200
?
result
.
data
:[]
})
this
.
getlist
()
},
mounted
(){
},
methods
:{
getDetail
(
row
){
this
.
isedit
=
true
this
.
hzhbVisible
=
true
this
.
queryParam
=
JSON
.
parse
(
JSON
.
stringify
(
row
))
},
//获取建设库客户
getCompany
(
value
){
this
.
queryParam
.
companyId
=
''
...
...
@@ -252,9 +301,14 @@
})
},
addqy
(){
if
(
this
.
queryParam
.
companyName
===
''
){
return
this
.
$message
.
warning
(
'企业名称需填写完整!'
)
}
if
(
this
.
queryParam
.
companyRole
===
''
){
return
this
.
$message
.
warning
(
'企业角色称需填写完整!'
)
}
addXGQY
(
this
.
queryParam
).
then
(
res
=>
{
this
.
hzhbVisible
=
false
this
.
dialogVisible
=
false
if
(
res
.
code
==
200
){
this
.
$message
.
success
(
'添加成功!'
)
this
.
getlist
()
...
...
@@ -262,6 +316,18 @@
this
.
$message
.
error
(
res
.
msg
)
}
})
},
saveqy
(){
saveXGQY
(
this
.
queryParam
).
then
(
res
=>
{
this
.
hzhbVisible
=
false
if
(
res
.
code
==
200
){
this
.
$message
.
success
(
'修改成功!'
)
this
.
getlist
()
}
else
{
this
.
$message
.
error
(
res
.
msg
)
}
})
},
getlist
(){
this
.
isSkeleton
=
true
...
...
@@ -275,38 +341,21 @@
this
.
searchParam
.
pageNum
=
val
this
.
getlist
()
},
cancel
(
type
){
if
(
type
==
0
)
this
.
dialogVisible
=
false
else
{
this
.
dialogVisible
=
true
cancel
(){
this
.
hzhbVisible
=
false
}
},
totype
(
value
){
this
.
types
=
value
},
gettype
(){
this
.
queryParam
.
companyType
=
this
.
types
this
.
companytype
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
dictValue
==
this
.
types
){
this
.
typename
=
this
.
typelist
[
index
]
}
})
this
.
hzhbVisible
=
true
this
.
dialogVisible
=
false
},
//打开新建窗口
opennew
(){
this
.
dialogVisible
=
true
this
.
isedit
=
false
this
.
hzhbVisible
=
true
this
.
queryParam
=
{
businessId
:
this
.
detailId
?
this
.
detailId
:
this
.
$route
.
query
.
id
,
companyId
:
''
,
companyName
:
''
,
companyRole
:
''
,
companyType
:
''
,
responsiblePerson
:
''
,
depth
:
''
,
remark
:
''
,
}
},
}
...
...
@@ -314,6 +363,18 @@
</
script
>
<
style
lang=
"scss"
scoped
>
.showremark
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
display
:
-
webkit-box
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
2
;
word-break
:
break-all
;
cursor
:
pointer
;
&
:hover
{
color
:
#0081FF
;
}
}
.searchInput
.el-input
{
width
:
68%
;
}
...
...
dsk-operate-ui/src/views/project/projectList/component/xmsl.vue
View file @
34146c04
...
...
@@ -64,7 +64,7 @@
</div>
</div>
<div
class=
"con i"
>
<span>
建设
单位 :
</span>
<span>
业主
单位 :
</span>
<div
class=
"inputxt"
id=
"inputxt3"
:style=
"
{width:rig1}">
<div
class=
"flex"
v-if=
"nowedit == 3 && isDisabled == false"
>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.constructionUnit"
></el-input>
...
...
@@ -93,7 +93,7 @@
</div>
</div>
<div
class=
"con i"
>
<span>
建设
单位负责人 :
</span>
<span>
业主
单位负责人 :
</span>
<div
class=
"inputxt"
id=
"inputxt5"
>
<div
class=
"flex"
v-if=
"nowedit == 5 && isDisabled == false"
>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.constructionPrincipal"
></el-input>
...
...
@@ -121,7 +121,7 @@
</div>
</div>
<div
class=
"con i"
>
<span>
建设
单位联系电话 :
</span>
<span>
业主
单位联系电话 :
</span>
<div
class=
"inputxt"
id=
"inputxt7"
>
<div
class=
"flex"
v-if=
"nowedit == 7 && isDisabled == false"
>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.constructionPhone"
></el-input>
...
...
dsk-operate-ui/src/views/project/projectList/index.vue
View file @
34146c04
...
...
@@ -129,7 +129,7 @@
<span>
项目类型:
</span>
<span>
{{
item
.
projectType
}}
</span>
</div>
<div
class=
"det-con"
v-if=
"item.investmentAmount"
>
<div
class=
"det-con"
v-if=
"item.investmentAmount
&&item.investmentAmount>0
"
>
<span>
投资估算(万元):
</span>
<span>
{{
item
.
investmentAmount
}}
</span>
</div>
...
...
@@ -139,7 +139,8 @@
</div>
<div
class=
"det-con"
v-if=
"item.ownerCompany "
>
<span>
业主单位:
</span>
<span
class=
"wordprimary"
>
{{
item
.
ownerCompany
}}
</span>
<span
class=
"wordprimary"
v-if=
"item.ownerCompanyCid||item.ownerCompanyUipId"
@
click=
"toEnterprise(item)"
>
{{
item
.
ownerCompany
}}
</span>
<span
v-else
>
{{
item
.
ownerCompany
}}
</span>
</div>
</div>
<el-divider
v-if=
"index != datalist.length-1"
></el-divider>
...
...
@@ -185,11 +186,13 @@
import
addproject
from
'./component/addProject'
import
batchimport
from
'./component/batchImport'
import
skeleton
from
'./component/skeleton'
import
{
encodeStr
}
from
"@/assets/js/common.js"
export
default
{
name
:
'ProjectList'
,
components
:{
addproject
,
batchimport
,
skeleton
},
data
()
{
return
{
encodeStr
,
types
:
'project'
,
props
:{
multiple
:
true
},
activeName
:
'first'
,
...
...
@@ -387,6 +390,13 @@ export default {
toDetail
(
id
,
tag
){
this
.
$router
.
push
({
path
:
'/project/projectList/detail'
,
query
:
{
id
:
id
,
tag
:
tag
}
});
},
toEnterprise
(
item
){
if
(
item
.
ownerCompanyUipId
){
this
.
$router
.
push
({
path
:
'/enterprise/'
+
this
.
encodeStr
(
item
.
ownerCompanyCid
)});
}
else
if
(
item
.
ownerCompanyCid
){
this
.
$router
.
push
({
path
:
'/company/'
+
this
.
encodeStr
(
item
.
ownerCompanyCid
)});
}
},
handleClick
(){
this
.
reset
()
},
...
...
dsk-operate-ui/src/views/radar/BidRecord/details.vue
View file @
34146c04
...
...
@@ -54,7 +54,8 @@
<el-table-column
label=
"企业名称"
>
<
template
slot-scope=
"scope"
>
<router-link
:to=
"scope.row.uipId?'/enterprise/' + encodeStr(scope.row.uipId) :'/company/' + encodeStr(scope.row.companyId) "
tag=
"a"
class=
"list-titel-a blue"
v-html=
"scope.row.companyName"
></router-link>
<router-link
v-if=
"scope.row.uipId||scope.row.companyId"
:to=
"scope.row.uipId?'/enterprise/' + encodeStr(scope.row.companyId) :'/company/' + encodeStr(scope.row.companyId) "
tag=
"a"
class=
"list-titel-a blue"
v-html=
"scope.row.companyName"
></router-link>
<span
v-else
>
{{
scope
.
row
.
companyName
||
'--'
}}
</span>
</
template
>
</el-table-column>
...
...
dsk-operate-ui/src/views/radar/Bidding/details.vue
View file @
34146c04
...
...
@@ -25,7 +25,7 @@
<p
class=
"list-content-text"
>
<span>
招采单位:
</span>
<span
v-if=
"textList.tenderee"
>
<router-link
:to=
"
textList.uipId?'/enterprise/' + encodeStr(textList.uipId) :
'/company/' + encodeStr(textList.tendereeId) "
tag=
"a"
class=
"list-titel-a blue"
v-html=
"textList.tenderee"
></router-link>
<router-link
:to=
"'/company/' + encodeStr(textList.tendereeId) "
tag=
"a"
class=
"list-titel-a blue"
v-html=
"textList.tenderee"
></router-link>
</span>
<span
v-else
>
--
</span>
</p>
...
...
dsk-operate-ui/src/views/radar/Establishment/details.vue
View file @
34146c04
...
...
@@ -87,7 +87,10 @@
</p>
<p>
<label
class=
"label"
>
项目联系方式
</label>
<span>
{{textList.personTel||'--'}}
</span>
<span
v-if=
"textList.personTel && textList.personTel.length>0"
>
<
template
v-for=
"item in JSON.parse(textList.personTel)"
>
{{
item
.
tel
}}
</
template
>
</span>
<span
v-else
>
--
</span>
<label
class=
"label"
>
行业分类
</label>
<span>
{{textList.projectIndustry||'--'}}
</span>
</p>
...
...
dsk-operate-ui/src/views/radar/components/BidRecord/index.vue
View file @
34146c04
...
...
@@ -119,7 +119,11 @@
</div>
<div
class=
"bottomlist"
>
<div
class=
"bottomlist-title"
>
<div></div>
<div
class=
"bottomlist-title-left"
>
<p
class=
"title-left"
>
查询结果
</p>
</div>
<div
class=
"title-right"
>
<p>
共有
{{
total
}}
条
</p>
<p>
...
...
@@ -129,12 +133,13 @@
</div>
</div>
<div
class=
"table-item-jf1"
v-if=
"tableData.length==0"
>
<div
class=
"table-item-jf1"
v-if=
"tableData.length==0
&& !isSkeleton
"
>
<img
class=
"item-jf-img"
src=
"@/assets/images/kong.png"
alt=
""
>
<div
class=
"item-jf-titel"
>
抱歉,没找到相关数据!
</div>
<div
class=
"item-jf-text"
>
建议调整关键词或筛选条件,重新搜索!
</div>
</div>
<ul
class=
"bottomlist-content"
v-if=
"tableData.length>0"
>
<skeleton
style=
"margin-left:16px;"
v-if=
"isSkeleton"
></skeleton>
<ul
class=
"bottomlist-content"
v-if=
"tableData.length>0&& !isSkeleton"
>
<li
class=
"bottomlist-list"
v-for=
"item in tableData"
>
<p
class=
"list-titel"
>
<router-link
:to=
"'/radar/BidRecord/details/'+ item.id"
tag=
"a"
class=
"list-titel-a"
v-html=
"item.projectName"
></router-link>
...
...
@@ -184,11 +189,14 @@
<
script
>
import
jsk_data
from
'../../../../../public/jsk.json'
;
import
{
encodeStr
}
from
"@/assets/js/common.js"
import
skeleton
from
'@/views/project/projectList/component/skeleton'
import
api
from
'@/api/radar/radar.js'
;
export
default
{
name
:
'BidRecord'
,
components
:{
skeleton
},
data
()
{
return
{
isSkeleton
:
true
,
addressList
:
[],
addressType
:
[],
props
:
{
...
...
@@ -434,7 +442,9 @@ export default {
}
else
{
delete
params
.
keywordNot
}
this
.
isSkeleton
=
true
;
api
.
jskBidTenderPage
(
params
).
then
(
res
=>
{
this
.
isSkeleton
=
false
;
if
(
res
.
code
==
200
)
{
this
.
tableData
=
res
.
data
.
list
;
this
.
total
=
res
.
data
.
total
;
...
...
@@ -970,7 +980,20 @@ export default {
cursor
:
pointer
;
}
}
.bottomlist-title-left
{
display
:
inline-flex
;;
align-items
:
center
;
.title-left
{
border-left
:
2px
solid
#445781
;
padding-left
:
8px
;
padding-right
:
32px
;
font-size
:
16px
;
height
:
16px
;
line-height
:
16px
;
font-weight
:
bold
;
color
:
#232323
;
}
}
}
.bottomlist-content
{
...
...
dsk-operate-ui/src/views/radar/components/Bidding/index.vue
View file @
34146c04
...
...
@@ -204,7 +204,11 @@
</div>
<div
class=
"bottomlist"
>
<div
class=
"bottomlist-title"
>
<div></div>
<div
class=
"bottomlist-title-left"
>
<p
class=
"title-left"
>
查询结果
</p>
</div>
<div
class=
"title-right"
>
<p>
共有
{{
total
}}
条
</p>
<p>
...
...
@@ -214,12 +218,13 @@
</div>
</div>
<div
class=
"table-item-jf1"
v-if=
"tableData.length==0"
>
<div
class=
"table-item-jf1"
v-if=
"tableData.length==0
&& !isSkeleton
"
>
<img
class=
"item-jf-img"
src=
"@/assets/images/kong.png"
alt=
""
>
<div
class=
"item-jf-titel"
>
抱歉,没找到相关数据!
</div>
<div
class=
"item-jf-text"
>
建议调整关键词或筛选条件,重新搜索!
</div>
</div>
<ul
class=
"bottomlist-content"
v-if=
"tableData.length>0"
>
<skeleton
style=
"margin-left:16px;"
v-if=
"isSkeleton"
></skeleton>
<ul
class=
"bottomlist-content"
v-if=
"tableData.length>0&& !isSkeleton"
>
<li
class=
"bottomlist-list"
v-for=
"item in tableData"
>
<p
class=
"list-titel"
>
<router-link
:to=
"'/radar/Bidding/details/'+ item.id"
tag=
"a"
class=
"list-titel-a"
v-html=
"item.projectName"
></router-link>
...
...
@@ -306,12 +311,15 @@
<
script
>
import
jsk_data
from
'../../../../../public/jsk.json'
;
import
{
encodeStr
}
from
"@/assets/js/common.js"
import
skeleton
from
'@/views/project/projectList/component/skeleton'
import
api
from
'@/api/radar/radar.js'
;
export
default
{
name
:
'Bidding'
,
components
:{
skeleton
},
data
()
{
return
{
encodeStr
,
isSkeleton
:
true
,
IssueTimeOptions
:
[
{
label
:
"不限"
,
...
...
@@ -590,7 +598,9 @@ export default {
}
else
{
delete
params
.
keywordNot
}
this
.
isSkeleton
=
true
;
api
.
jskBidPlanPage
(
params
).
then
(
res
=>
{
this
.
isSkeleton
=
false
;
if
(
res
.
code
==
200
)
{
this
.
tableData
=
res
.
data
.
list
;
this
.
total
=
res
.
data
.
total
;
...
...
@@ -1151,7 +1161,20 @@ export default {
margin-top
:
12px
;
padding
:
16px
;
border-bottom
:
1px
solid
#EFEFEF
;
.bottomlist-title-left
{
display
:
inline-flex
;;
align-items
:
center
;
.title-left
{
border-left
:
2px
solid
#445781
;
padding-left
:
8px
;
padding-right
:
32px
;
font-size
:
16px
;
height
:
16px
;
line-height
:
16px
;
font-weight
:
bold
;
color
:
#232323
;
}
}
.title-right
{
display
:
flex
;
align-items
:
center
;
...
...
dsk-operate-ui/src/views/radar/components/Establishment/index.vue
View file @
34146c04
...
...
@@ -175,7 +175,11 @@
</div>
<div
class=
"bottomlist"
>
<div
class=
"bottomlist-title"
>
<div></div>
<div
class=
"bottomlist-title-left"
>
<p
class=
"title-left"
>
查询结果
</p>
</div>
<div
class=
"title-right"
>
<p>
共有
{{
total
}}
条
</p>
<p>
...
...
@@ -185,12 +189,13 @@
</div>
</div>
<div
class=
"table-item-jf1"
v-if=
"tableData.length==0"
>
<div
class=
"table-item-jf1"
v-if=
"tableData.length==0
&& !isSkeleton
"
>
<img
class=
"item-jf-img"
src=
"@/assets/images/kong.png"
alt=
""
>
<div
class=
"item-jf-titel"
>
抱歉,没找到相关数据!
</div>
<div
class=
"item-jf-text"
>
建议调整关键词或筛选条件,重新搜索!
</div>
</div>
<ul
class=
"bottomlist-content"
v-if=
"tableData.length>0"
>
<skeleton
style=
"margin-left:16px;"
v-if=
"isSkeleton"
></skeleton>
<ul
class=
"bottomlist-content"
v-if=
"tableData.length>0&& !isSkeleton"
>
<li
class=
"bottomlist-list"
v-for=
"item in tableData"
>
<p
class=
"list-titel"
>
<router-link
:to=
"'/radar/Establishment/details/'+ item.id"
tag=
"a"
class=
"list-titel-a"
v-html=
"item.projectName"
></router-link>
...
...
@@ -269,14 +274,15 @@
<
script
>
import
jsk_data
from
'../../../../../public/jsk.json'
;
import
{
encodeStr
}
from
"@/assets/js/common.js"
import
skeleton
from
'@/views/project/projectList/component/skeleton'
import
api
from
'@/api/radar/radar.js'
;
export
default
{
name
:
'Establishment'
,
components
:
{
},
components
:{
skeleton
},
data
()
{
return
{
encodeStr
,
isSkeleton
:
true
,
//是否为向民间推介项目
isProjectOptions
:
[{
value
:
0
,
...
...
@@ -625,8 +631,9 @@
},
establishmentDto
:
data
,
};
this
.
isSkeleton
=
true
;
api
.
establishmentPage
(
params
).
then
(
res
=>
{
this
.
isSkeleton
=
false
;
if
(
res
.
code
==
200
)
{
this
.
tableData
=
res
.
data
.
list
;
this
.
total
=
res
.
data
.
total
;
...
...
@@ -1264,7 +1271,20 @@
cursor
:
pointer
;
}
}
.bottomlist-title-left
{
display
:
inline-flex
;;
align-items
:
center
;
.title-left
{
border-left
:
2px
solid
#445781
;
padding-left
:
8px
;
padding-right
:
32px
;
font-size
:
16px
;
height
:
16px
;
line-height
:
16px
;
font-weight
:
bold
;
color
:
#232323
;
}
}
}
.bottomlist-content
{
...
...
dsk-operate-ui/src/views/radar/components/Land/index.vue
View file @
34146c04
...
...
@@ -202,6 +202,10 @@
<div
class=
"bottomlist"
>
<div
class=
"bottomlist-title"
>
<div
class=
"bottomlist-title-left"
>
<p
class=
"title-left"
>
查询结果
</p>
<el-popover
v-model=
"fieldshow"
placement=
"bottom-start"
trigger=
"click"
popper-class=
"viewlist-el-popover"
>
<ul
class=
"pup_list"
>
...
...
@@ -215,6 +219,7 @@
:style=
"
{transform:fieldshow?'rotate(180deg)':''}">
</i>
</span>
</el-popover>
</div>
<div
class=
"title-right"
>
<p>
共有
{{
total
}}
条
</p>
<p>
...
...
@@ -224,13 +229,13 @@
</div>
</div>
<div
class=
"table-item-jf1"
v-if=
"tableData.length==0"
>
<div
class=
"table-item-jf1"
v-if=
"tableData.length==0
&& !isSkeleton
"
>
<img
class=
"item-jf-img"
src=
"@/assets/images/kong.png"
alt=
""
>
<div
class=
"item-jf-titel"
>
抱歉,没找到相关数据!
</div>
<div
class=
"item-jf-text"
>
建议调整关键词或筛选条件,重新搜索!
</div>
</div>
<ul
class=
"bottomlist-content"
v-if=
"tableData.length>0"
>
<skeleton
style=
"margin-left:16px;"
v-if=
"isSkeleton"
></skeleton>
<ul
class=
"bottomlist-content"
v-if=
"tableData.length>0
&& !isSkeleton
"
>
<li
class=
"bottomlist-list"
v-for=
"item in tableData"
>
<p
class=
"list-titel"
>
<router-link
:to=
"'/radar/Land/details/'+ item.id"
tag=
"a"
class=
"list-titel-a"
v-html=
"item.projectName"
></router-link>
...
...
@@ -312,13 +317,16 @@
<
script
>
import
{
encodeStr
}
from
"@/assets/js/common.js"
import
skeleton
from
'@/views/project/projectList/component/skeleton'
import
api
from
'@/api/radar/radar.js'
;
import
jsk_data
from
'../../../../../public/jsk.json'
;
export
default
{
name
:
'Land'
,
components
:{
skeleton
},
data
()
{
return
{
encodeStr
,
isSkeleton
:
true
,
conditionTitles
:
{
keyword
:
"关键词:"
,
landAddr
:
"土地坐落:"
,
...
...
@@ -612,7 +620,9 @@
},
landMarketDto
:
data
,
};
this
.
isSkeleton
=
true
;
api
.
landMarketPage
(
params
).
then
(
res
=>
{
this
.
isSkeleton
=
false
;
if
(
res
.
code
==
200
)
{
this
.
tableData
=
res
.
data
.
list
;
this
.
total
=
res
.
data
.
total
;
...
...
@@ -1041,7 +1051,20 @@
margin-top
:
12px
;
padding
:
16px
;
border-bottom
:
1px
solid
#EFEFEF
;
.bottomlist-title-left
{
display
:
inline-flex
;;
align-items
:
center
;
.title-left
{
border-left
:
2px
solid
#445781
;
padding-left
:
8px
;
padding-right
:
32px
;
font-size
:
16px
;
height
:
16px
;
line-height
:
16px
;
font-weight
:
bold
;
color
:
#232323
;
}
}
.title-right
{
display
:
flex
;
align-items
:
center
;
...
...
dsk-operate-ui/src/views/radar/components/Tender/index.vue
View file @
34146c04
...
...
@@ -177,19 +177,26 @@
</div>
<div
class=
"bottomlist"
>
<div
class=
"bottomlist-title"
>
<div
class=
"bottomlist-title-left"
>
<p
class=
"title-left"
>
查询结果
</p>
</div>
<div
class=
"title-right"
>
<p>
共有
{{
total
}}
条
</p>
<p>
<img
src=
"@/assets/images/EXCEL.png"
alt=
""
>
<span
class=
"excel"
@
click=
"$message(
{message: '功能正在开发中',type: 'warning'})">导出EXCEL
</span>
</p>
</div>
<div
class=
"table-item-jf1"
v-if=
"tableData.length==0"
>
</div>
<div
class=
"table-item-jf1"
v-if=
"tableData.length==0&& !isSkeleton"
>
<img
class=
"item-jf-img"
src=
"@/assets/images/kong.png"
alt=
""
>
<div
class=
"item-jf-titel"
>
抱歉,没找到相关数据!
</div>
<div
class=
"item-jf-text"
>
建议调整关键词或筛选条件,重新搜索!
</div>
</div>
<ul
class=
"bottomlist-content"
v-if=
"tableData.length>0"
>
<skeleton
style=
"margin-left:16px;"
v-if=
"isSkeleton"
></skeleton>
<ul
class=
"bottomlist-content"
v-if=
"tableData.length>0&& !isSkeleton"
>
<li
class=
"bottomlist-list"
v-for=
"item in tableData"
>
<p
class=
"list-titel"
>
<router-link
:to=
"'/radar/Tender/details/'+ item.id"
tag=
"a"
class=
"list-titel-a"
v-html=
"item.projectName"
></router-link>
...
...
@@ -285,18 +292,20 @@
import
Select
from
"./Select.vue"
;
import
jsk_data
from
'../../../../../public/jsk.json'
;
import
{
encodeStr
}
from
"@/assets/js/common.js"
import
skeleton
from
'@/views/project/projectList/component/skeleton'
import
api
from
'@/api/radar/radar.js'
;
export
default
{
name
:
'Tender'
,
components
:
{
Select
Select
,
skeleton
},
data
()
{
return
{
//有无联系方式
encodeStr
,
isSkeleton
:
true
,
phonePointType
:
[{
value
:
''
,
label
:
'不限'
...
...
@@ -787,8 +796,9 @@
};
params
.
keyword
=
this
.
keyword
;
params
.
keywordNot
=
this
.
keywordNot
;
this
.
isSkeleton
=
true
;
api
.
jskBidPage
(
params
).
then
(
res
=>
{
this
.
isSkeleton
=
false
;
if
(
res
.
code
==
200
)
{
this
.
tableData
=
res
.
data
.
list
;
this
.
total
=
res
.
data
.
total
;
...
...
@@ -1232,26 +1242,42 @@
.bottomlist-title
{
display
:
flex
;
justify-content
:
end
;
justify-content
:
space-between
;
align-items
:
center
;
margin-top
:
12px
;
padding
:
24px
;
padding
:
16px
;
border-bottom
:
1px
solid
#EFEFEF
;
p
:first-child
{
.bottomlist-title-left
{
display
:
inline-flex
;;
align-items
:
center
;
.title-left
{
border-left
:
2px
solid
#445781
;
padding-left
:
8px
;
padding-right
:
32px
;
font-size
:
16px
;
height
:
16px
;
line-height
:
16px
;
font-weight
:
bold
;
color
:
#232323
;
}
}
.title-right
{
display
:
flex
;
align-items
:
center
;
p
:first-child
{
font-size
:
12px
;
font-weight
:
400
;
color
:
#3D3D3D
;
margin-right
:
10px
;
}
p
:last-child
{
p
:last-child
{
display
:
flex
;
align-items
:
center
;
font-size
:
14px
;
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
}
img
{
img
{
width
:
18px
;
height
:
18px
;
}
...
...
@@ -1259,6 +1285,7 @@
cursor
:
pointer
;
}
}
}
.bottomlist-content
{
...
...
dsk-operate-ui/src/views/radar/components/bxprozbgg/index.vue
View file @
34146c04
...
...
@@ -331,7 +331,11 @@
</div>
<div
class=
"bottomlist"
>
<div
class=
"bottomlist-title"
>
<div></div>
<div
class=
"bottomlist-title-left"
>
<p
class=
"title-left"
>
查询结果
</p>
</div>
<div
class=
"title-right"
>
<p>
共有{{total}}条
</p>
<p>
...
...
@@ -341,13 +345,13 @@
</div>
</div>
<div
class=
"table-item-jf1"
v-if=
"tableData.length==0"
>
<div
class=
"table-item-jf1"
v-if=
"tableData.length==0
&& !isSkeleton
"
>
<img
class=
"item-jf-img"
src=
"@/assets/images/kong.png"
alt=
""
>
<div
class=
"item-jf-titel"
>
抱歉,没找到相关数据!
</div>
<div
class=
"item-jf-text"
>
建议调整关键词或筛选条件,重新搜索!
</div>
</div>
<div
class=
"table-item"
v-if=
"tableData.length>0"
>
<skeleton
style=
"margin-left:16px;"
v-if=
"isSkeleton"
></skeleton>
<div
class=
"table-item"
v-if=
"tableData.length>0
&& !isSkeleton
"
>
<el-table
:data=
"tableData"
element-loading-text=
"Loading"
border
fit
highlight-current-row
>
<el-table-column
label=
"序号"
width=
"60"
>
<
template
slot-scope=
"scope"
>
...
...
@@ -486,15 +490,17 @@
import
jsk_data
from
'../../../../../public/jsk.json'
;
import
Keyword
from
"@/components/Keyword"
;
import
{
encodeStr
}
from
"@/assets/js/common.js"
import
skeleton
from
'@/views/project/projectList/component/skeleton'
import
api
from
'@/api/radar/radar.js'
;
export
default
{
name
:
"bxprozbgg"
,
components
:
{
Keyword
Keyword
,
skeleton
},
data
(){
return
{
encodeStr
,
isSkeleton
:
true
,
allDownloadList
:[],
province
:[
{
...
...
@@ -1635,7 +1641,9 @@
params
.
keyword
=
this
.
keyword
;
params
.
keywordNot
=
this
.
keywordNot
;
this
.
currentPage
=
params
.
page
.
page
;
this
.
isSkeleton
=
true
;
api
.
jskBidNewsPage
(
params
).
then
(
res
=>
{
this
.
isSkeleton
=
false
;
if
(
res
.
code
==
200
)
{
this
.
tableData
=
res
.
data
.
list
;
this
.
total
=
res
.
data
.
total
;
...
...
@@ -1987,7 +1995,20 @@
align-items
:
center
;
margin-top
:
12px
;
padding
:
16px
;
.bottomlist-title-left
{
display
:
inline-flex
;;
align-items
:
center
;
.title-left
{
border-left
:
2px
solid
#445781
;
padding-left
:
8px
;
padding-right
:
32px
;
font-size
:
16px
;
height
:
16px
;
line-height
:
16px
;
font-weight
:
bold
;
color
:
#232323
;
}
}
.title-right
{
display
:
flex
;
align-items
:
center
;
...
...
@@ -2030,7 +2051,6 @@
}
}
}
}
.bottomlist-content
{
...
...
dsk-operate-ui/src/views/radar/components/debtProject/index.vue
View file @
34146c04
...
...
@@ -91,20 +91,26 @@
<div
class=
"bottomlist"
>
<div
class=
"bottomlist-title"
>
<div
class=
"bottomlist-title-left"
>
<p
class=
"title-left"
>
查询结果
</p>
</div>
<div
class=
"title-right"
>
<p>
共有{{total}}条
</p>
<p>
<img
src=
"@/assets/images/EXCEL.png"
alt=
""
>
<span
class=
"excel"
@
click=
"$message({message: '功能正在开发中',type: 'warning'})"
>
导出EXCEL
</span>
</p>
</div>
<div
class=
"table-item-jf1"
v-if=
"tableData.length==0"
>
</div>
<div
class=
"table-item-jf1"
v-if=
"tableData.length==0&& !isSkeleton"
>
<img
class=
"item-jf-img"
src=
"@/assets/images/kong.png"
alt=
""
>
<div
class=
"item-jf-titel"
>
抱歉,没找到相关数据!
</div>
<div
class=
"item-jf-text"
>
建议调整关键词或筛选条件,重新搜索!
</div>
</div>
<ul
class=
"bottomlist-content"
v-if=
"tableData.length>0"
>
<skeleton
style=
"margin-left:16px;"
v-if=
"isSkeleton"
></skeleton>
<ul
class=
"bottomlist-content"
v-if=
"!isSkeleton&&tableData.length>0"
>
<li
class=
"bottomlist-list"
v-for=
"item in tableData"
>
<p
class=
"list-titel"
>
<router-link
:to=
"'/radar/debtProject/details/'+ item.uuid"
tag=
"a"
class=
"list-titel-a"
v-html=
"item.projectName"
></router-link>
...
...
@@ -180,13 +186,16 @@
<
script
>
import
{
encodeStr
}
from
"@/assets/js/common.js"
import
skeleton
from
'@/views/project/projectList/component/skeleton'
import
api
from
'@/api/radar/radar.js'
;
import
jsk_data
from
'../../../../../public/jsk.json'
;
export
default
{
name
:
'debtProject'
,
components
:{
skeleton
},
data
()
{
return
{
encodeStr
,
isSkeleton
:
true
,
projectName
:
''
,
nameTypeList
:
[{
key
:
'like'
,
...
...
@@ -490,8 +499,9 @@
if
(
this
.
projectType
.
length
>
0
&&
this
.
projectType
[
0
]
!=
'不限'
){
params
.
specialBondProjectDto
[
'projectType'
]
=
this
.
projectType
.
join
(
','
);
}
this
.
isSkeleton
=
true
;
api
.
bondProjectPage
(
params
).
then
(
res
=>
{
this
.
isSkeleton
=
false
;
if
(
res
.
code
==
200
)
{
this
.
tableData
=
res
.
data
.
list
;
this
.
total
=
res
.
data
.
total
;
...
...
@@ -672,11 +682,28 @@
border-radius
:
4px
4px
4px
4px
;
.bottomlist-title
{
display
:
flex
;
justify-content
:
end
;
justify-content
:
space-between
;
align-items
:
center
;
margin-top
:
12px
;
padding
:
24
px
;
padding
:
16
px
;
border-bottom
:
1px
solid
#EFEFEF
;
.bottomlist-title-left
{
display
:
inline-flex
;;
align-items
:
center
;
.title-left
{
border-left
:
2px
solid
#445781
;
padding-left
:
8px
;
padding-right
:
32px
;
font-size
:
16px
;
height
:
16px
;
line-height
:
16px
;
font-weight
:
bold
;
color
:
#232323
;
}
}
.title-right
{
display
:
flex
;
align-items
:
center
;
p
:first-child
{
font-size
:
12px
;
font-weight
:
400
;
...
...
@@ -684,6 +711,8 @@
margin-right
:
10px
;
}
p
:last-child
{
display
:
flex
;
align-items
:
center
;
font-size
:
14px
;
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
...
...
@@ -696,6 +725,7 @@
cursor
:
pointer
;
}
}
}
.bottomlist-content
{
padding-bottom
:
0px
;
...
...
dsk-
common/src/main/java/com/dsk/common/core/domain/entity
/BusinessBacklog.java
→
dsk-
system/src/main/java/com/dsk/system/domain/business
/BusinessBacklog.java
View file @
34146c04
package
com
.
dsk
.
common
.
core
.
domain
.
entity
;
package
com
.
dsk
.
system
.
domain
.
business
;
import
java.util.Date
;
import
com.dsk.common.core.domain.BaseEntity
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.dsk.common.annotation.Excel
;
import
lombok.Data
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
...
...
@@ -14,6 +15,7 @@ import org.apache.commons.lang3.builder.ToStringStyle;
* @author lxl
* @date 2023-05-17
*/
@Data
public
class
BusinessBacklog
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
...
...
@@ -34,82 +36,17 @@ public class BusinessBacklog extends BaseEntity
private
String
task
;
/** 完成时间 */
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
@Excel
(
name
=
"完成时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd
HH:mm:ss
"
)
@Excel
(
name
=
"完成时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd
HH:mm:ss
"
)
private
Date
finishTime
;
/** 完成时间 */
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@Excel
(
name
=
"到期时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
dueTime
;
/** 状态(2已完成,1进行中,0逾期) */
@Excel
(
name
=
"状态
(2已完成,1进行中,0逾期)
"
)
@Excel
(
name
=
"状态
0:进行中 1:已到期
"
)
private
Integer
state
;
public
void
setId
(
Integer
id
)
{
this
.
id
=
id
;
}
public
Integer
getId
()
{
return
id
;
}
public
void
setBusinessId
(
Integer
businessId
)
{
this
.
businessId
=
businessId
;
}
public
Integer
getBusinessId
()
{
return
businessId
;
}
public
void
setTarget
(
String
target
)
{
this
.
target
=
target
;
}
public
String
getTarget
()
{
return
target
;
}
public
void
setTask
(
String
task
)
{
this
.
task
=
task
;
}
public
String
getTask
()
{
return
task
;
}
public
void
setFinishTime
(
Date
finishTime
)
{
this
.
finishTime
=
finishTime
;
}
public
Date
getFinishTime
()
{
return
finishTime
;
}
public
void
setState
(
Integer
state
)
{
this
.
state
=
state
;
}
public
Integer
getState
()
{
return
state
;
}
@Override
public
String
toString
()
{
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
.
append
(
"id"
,
getId
())
.
append
(
"businessId"
,
getBusinessId
())
.
append
(
"target"
,
getTarget
())
.
append
(
"task"
,
getTask
())
.
append
(
"finishTime"
,
getFinishTime
())
.
append
(
"state"
,
getState
())
.
append
(
"createTime"
,
getCreateTime
())
.
append
(
"updateTime"
,
getUpdateTime
())
.
toString
();
}
}
dsk-system/src/main/java/com/dsk/system/domain/BusinessAddDto.java
→
dsk-system/src/main/java/com/dsk/system/domain/
business/dto/
BusinessAddDto.java
View file @
34146c04
package
com
.
dsk
.
system
.
domain
;
package
com
.
dsk
.
system
.
domain
.
business
.
dto
;
import
lombok.Data
;
...
...
@@ -18,7 +18,7 @@ public class BusinessAddDto {
/**
* 用户id
*/
private
Integer
userId
;
private
Long
userId
;
/**
* 项目类型
...
...
dsk-system/src/main/java/com/dsk/system/domain/BusinessExcelDto.java
→
dsk-system/src/main/java/com/dsk/system/domain/
business/dto/
BusinessExcelDto.java
View file @
34146c04
package
com
.
dsk
.
system
.
domain
;
package
com
.
dsk
.
system
.
domain
.
business
.
dto
;
import
com.dsk.common.utils.StringUtils
;
import
lombok.Data
;
...
...
dsk-system/src/main/java/com/dsk/system/domain/BusinessIdDto.java
→
dsk-system/src/main/java/com/dsk/system/domain/
business/dto/
BusinessIdDto.java
View file @
34146c04
package
com
.
dsk
.
system
.
domain
;
package
com
.
dsk
.
system
.
domain
.
business
.
dto
;
import
lombok.Data
;
...
...
dsk-system/src/main/java/com/dsk/system/domain/BusinessListDto.java
→
dsk-system/src/main/java/com/dsk/system/domain/
business/dto/
BusinessListDto.java
View file @
34146c04
package
com
.
dsk
.
system
.
domain
;
package
com
.
dsk
.
system
.
domain
.
business
.
dto
;
import
lombok.Data
;
...
...
@@ -24,7 +24,7 @@ public class BusinessListDto {
/**
* 用户查看全部他人可见项目标示
*/
private
Integer
others
;
private
Long
others
;
/**
* 省id
...
...
dsk-system/src/main/java/com/dsk/system/domain/business/vo/BusinessBacklogListVo.java
0 → 100644
View file @
34146c04
package
com
.
dsk
.
system
.
domain
.
business
.
vo
;
import
com.dsk.common.annotation.Excel
;
import
com.dsk.common.core.domain.BaseEntity
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
java.util.Date
;
/**
* 项目工作待办对象 business_backlog
*
* @author lxl
* @date 2023-05-17
*/
@Data
public
class
BusinessBacklogListVo
{
private
static
final
long
serialVersionUID
=
1L
;
/** $column.columnComment */
private
Integer
id
;
/** 项目id */
private
Integer
businessId
;
/** 关联客户 */
private
String
target
;
/** 待办工作内容 */
private
String
task
;
/** 完成时间 */
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@Excel
(
name
=
"完成时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
finishTime
;
/** 完成时间 */
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@Excel
(
name
=
"到期时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
dueTime
;
/** 状态(2已完成,1进行中,0逾期) */
@Excel
(
name
=
"状态 0:进行中 1:已到期 2:已逾期"
)
private
Integer
state
;
}
dsk-system/src/main/java/com/dsk/system/domain/vo/BusinessBrowseVo.java
→
dsk-system/src/main/java/com/dsk/system/domain/
business/
vo/BusinessBrowseVo.java
View file @
34146c04
package
com
.
dsk
.
system
.
domain
.
vo
;
package
com
.
dsk
.
system
.
domain
.
business
.
vo
;
import
lombok.Data
;
...
...
dsk-system/src/main/java/com/dsk/system/domain/vo/BusinessLabelVo.java
→
dsk-system/src/main/java/com/dsk/system/domain/
business/
vo/BusinessLabelVo.java
View file @
34146c04
package
com
.
dsk
.
system
.
domain
.
vo
;
package
com
.
dsk
.
system
.
domain
.
business
.
vo
;
import
lombok.Data
;
...
...
dsk-system/src/main/java/com/dsk/system/domain/business/vo/BusinessLikeProjectNameListVo.java
0 → 100644
View file @
34146c04
package
com
.
dsk
.
system
.
domain
.
business
.
vo
;
import
com.dsk.common.annotation.Excel
;
import
lombok.Data
;
/**
* @author lcl
* @create 2023/7/27
*/
@Data
public
class
BusinessLikeProjectNameListVo
{
private
String
projectName
;
private
String
companyName
;
/** 总投金额(万元) */
private
Double
investmentAmount
;
/** 项目级别 */
private
String
projectLevel
;
/** 项目阶段 */
private
String
projectStage
;
/** 项目类型 */
private
String
projectType
;
/** 项目类别 */
private
String
projectCategory
;
/** 项目状态(0.储备中1.跟进中2.已合作) */
private
Integer
status
;
}
dsk-system/src/main/java/com/dsk/system/domain/vo/BusinessListVo.java
→
dsk-system/src/main/java/com/dsk/system/domain/
business/
vo/BusinessListVo.java
View file @
34146c04
package
com
.
dsk
.
system
.
domain
.
vo
;
package
com
.
dsk
.
system
.
domain
.
business
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
...
...
@@ -48,6 +48,16 @@ public class BusinessListVo {
*/
private
String
ownerCompany
;
/**
* 业主单位城投id
*/
private
String
ownerCompanyUipId
;
/**
* 业主单位建设库id
*/
private
Integer
ownerCompanyCid
;
/**
* 最后跟进时间
*/
...
...
dsk-system/src/main/java/com/dsk/system/domain/customer/ContactInfo.java
0 → 100644
View file @
34146c04
package
com
.
dsk
.
system
.
domain
.
customer
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 用户联系人(CustomerContact)实体类
*
* @author makejava
* @since 2023-07-25 17:18:00
*/
@Data
@NoArgsConstructor
@Accessors
(
chain
=
true
)
@TableName
(
"contact_info"
)
public
class
ContactInfo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
22461377492423075L
;
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 客户id
*/
private
String
customerId
;
/**
* 项目id
*/
private
Integer
projectId
;
/**
* 姓名
*/
private
String
name
;
/**
* 性别
*/
private
String
sex
;
/**
* 角色
*/
private
String
role
;
/**
* 职位
*/
private
String
position
;
/**
* 联系方式
*/
private
String
contactInformation
;
/**
* 企业id
*/
private
Integer
companyId
;
/**
* 城投企业id
*/
private
String
uipId
;
/**
* 企业名称
*/
private
String
companyName
;
/**
* 备注
*/
private
String
remark
;
private
String
createBy
;
private
Date
createTime
;
private
String
updateBy
;
private
Long
updateId
;
private
Date
updateTime
;
}
dsk-system/src/main/java/com/dsk/system/domain/customer/dto/ContactInfoSearchDto.java
0 → 100644
View file @
34146c04
package
com
.
dsk
.
system
.
domain
.
customer
.
dto
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @author lcl
* @create 2023/5/16
*/
@Data
public
class
ContactInfoSearchDto
implements
Serializable
{
/**
* 项目id
*/
private
Integer
projectId
;
/**
* 企业名称
*/
private
String
companyName
;
/**
* 客户id
*/
private
String
customerId
;
}
dsk-system/src/main/java/com/dsk/system/domain/customer/dto/CustomerSearchDto.java
View file @
34146c04
...
...
@@ -10,10 +10,22 @@ import java.io.Serializable;
*/
@Data
public
class
CustomerSearchDto
implements
Serializable
{
/**
* 企业id
*/
private
Integer
companyId
;
/**
* 城投企业id
*/
private
String
uipId
;
/**
* 企业名称
*/
private
String
companyName
;
/**
* 客户id
*/
private
String
customerId
;
/**
* 用户id
*/
...
...
dsk-system/src/main/java/com/dsk/system/domain/customer/vo/ContactInfoListVo.java
0 → 100644
View file @
34146c04
package
com
.
dsk
.
system
.
domain
.
customer
.
vo
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 用户联系人(CustomerContact)实体类
*
* @author makejava
* @since 2023-07-25 17:18:00
*/
@Data
public
class
ContactInfoListVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
22461377492423075L
;
private
Long
id
;
/**
* 客户id
*/
private
String
customerId
;
/**
* 项目id
*/
private
Integer
projectId
;
/**
* 项目名称
*/
private
String
projectName
;
/**
* 姓名
*/
private
String
name
;
/**
* 性别
*/
private
String
sex
;
/**
* 角色
*/
private
String
role
;
/**
* 职位
*/
private
String
position
;
/**
* 联系方式
*/
private
String
contactInformation
;
/**
* 企业id
*/
private
Integer
companyId
;
/**
* 城投企业id
*/
private
String
uipId
;
/**
* 企业名称
*/
private
String
companyName
;
/**
* 更新人
*/
private
String
updateBy
;
}
dsk-system/src/main/java/com/dsk/system/dskService/EnterpriseService.java
View file @
34146c04
...
...
@@ -145,9 +145,38 @@ public class EnterpriseService {
}
public
TableDataInfo
investment
(
EnterpriseInvestmentBody
body
)
throws
Exception
{
if
(
body
.
isVaildCid
())
return
new
TableDataInfo
(
new
ArrayList
<>(),
0
);
if
(
body
.
isVaildCid
())
{
return
new
TableDataInfo
(
new
ArrayList
<>(),
0
);
}
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/operate/enterprise/investment"
,
BeanUtil
.
beanToMap
(
body
,
false
,
false
));
return
dskOpenApiUtil
.
responsePage
(
map
);
// Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/investment", BeanUtil.beanToMap(body, false, false));
// Integer code = MapUtils.getInteger(map, "code", 300);
// if (!code.equals(HttpStatus.OK.value())) {
// throw new RuntimeException();
// }
// Map data = MapUtils.getMap(map, "data", null);
// List<Object> list = CommonUtils.assertAsArray(MapUtils.getObject(data, "list", ""));
// if (CollectionUtils.isEmpty(list)) {
// return new TableDataInfo(list, 0);
// }
// List<Object> newList = new ArrayList<>(20);
// for (Object companyObj : list) {
// Map<String, Object> companyMap = CommonUtils.assertAsMap(companyObj);
// String businessStatus = MapUtils.getString(companyMap, "businessStatus");
// if (!"注销".equals(businessStatus)) {
// newList.add(companyMap);
// }
// }
// for (Object companyObj : list) {
// Map<String, Object> companyMap = CommonUtils.assertAsMap(companyObj);
// String businessStatus = MapUtils.getString(companyMap, "businessStatus");
// if ("注销".equals(businessStatus)) {
// newList.add(companyMap);
// }
// }
// return new TableDataInfo(newList, MapUtils.getInteger(data, "totalCount", 0));
}
public
TableDataInfo
affiliates
(
EnterpriseAffiliatesBody
body
)
throws
Exception
{
...
...
@@ -221,16 +250,32 @@ public class EnterpriseService {
}
ArrayList
<
String
>
uipIds
=
new
ArrayList
<>();
ArrayList
<
Long
>
cIds
=
new
ArrayList
<>();
for
(
Object
dataMap
:
list
)
{
uipIds
.
add
(
MapUtils
.
getString
(
CommonUtils
.
assertAsMap
(
dataMap
),
"uipId"
));
cIds
.
add
(
MapUtils
.
getLong
(
CommonUtils
.
assertAsMap
(
dataMap
),
"companyId"
));
}
List
<
CustomerStatusListVo
>
claimStatusList
=
iCustomerService
.
selectStatusList
(
uipIds
);
Map
<
String
,
Object
>
bondCreditRatingBatchMap
=
new
HashMap
<>(
1
);
bondCreditRatingBatchMap
.
put
(
"cIds"
,
cIds
);
Map
<
String
,
Object
>
bondCreditRatingMap
=
dskOpenApiUtil
.
requestBody
(
"/operate/enterprise/bondCreditRatingBatch"
,
bondCreditRatingBatchMap
);
Integer
codeRating
=
MapUtils
.
getInteger
(
bondCreditRatingMap
,
"code"
,
300
);
ArrayList
<
Map
<
String
,
Object
>>
objArrayList
=
new
ArrayList
(
1
);
if
(
codeRating
.
equals
(
HttpStatus
.
OK
.
value
()))
{
Object
object
=
bondCreditRatingMap
.
get
(
"data"
);
if
(
ObjectUtil
.
isNotEmpty
(
object
))
{
objArrayList
=
(
ArrayList
)
object
;
}
}
//按照城投企业id合并两个list
for
(
Object
companyObj
:
list
)
{
Map
<
String
,
Object
>
companyMap
=
CommonUtils
.
assertAsMap
(
companyObj
);
companyMap
.
put
(
"bratingSubjectLevel"
,
null
);
String
uipId
=
MapUtils
.
getString
(
companyMap
,
"uipId"
);
Long
companyId
=
MapUtils
.
getLong
(
companyMap
,
"companyId"
);
companyMap
.
put
(
"bondBalance"
,
MapUtils
.
getDouble
(
companyMap
,
"bondBalance"
)==
null
?
null
:
String
.
format
(
"%.2f"
,
MapUtils
.
getDouble
(
companyMap
,
"bondBalance"
)));
companyMap
.
put
(
"totalAssets"
,
MapUtils
.
getDouble
(
companyMap
,
"totalAssets"
)==
null
?
null
:
String
.
format
(
"%.2f"
,
MapUtils
.
getDouble
(
companyMap
,
"totalAssets"
)));
companyMap
.
put
(
"belongNetAssets"
,
MapUtils
.
getDouble
(
companyMap
,
"belongNetAssets"
)==
null
?
null
:
String
.
format
(
"%.2f"
,
MapUtils
.
getDouble
(
companyMap
,
"belongNetAssets"
)));
...
...
@@ -273,6 +318,12 @@ public class EnterpriseService {
companyMap
.
put
(
"claimStatus"
,
1
);
}
}
for
(
Map
<
String
,
Object
>
m
:
objArrayList
)
{
Long
companyIdCredit
=
MapUtils
.
getLong
(
m
,
"companyId"
,
0L
);
if
(
companyIdCredit
.
equals
(
companyId
))
{
companyMap
.
put
(
"bratingSubjectLevel"
,
m
.
get
(
"bratingSubjectLevel"
));
}
}
}
return
new
TableDataInfo
(
list
,
MapUtils
.
getInteger
(
data
,
"totalCount"
,
0
));
...
...
dsk-system/src/main/java/com/dsk/system/mapper/BusinessBacklogMapper.java
View file @
34146c04
package
com
.
dsk
.
system
.
mapper
;
import
com.dsk.common.core.domain.entity.BusinessBacklog
;
import
com.dsk.system.domain.business.BusinessBacklog
;
import
com.dsk.system.domain.business.vo.BusinessBacklogListVo
;
import
java.util.List
;
...
...
@@ -26,7 +27,7 @@ public interface BusinessBacklogMapper
* @param businessBacklog 项目工作待办
* @return 项目工作待办集合
*/
public
List
<
BusinessBacklog
>
selectBusinessBacklogList
(
BusinessBacklog
businessBacklog
);
public
List
<
BusinessBacklog
ListVo
>
selectBusinessBacklogList
(
BusinessBacklog
businessBacklog
);
/**
* 新增项目工作待办
...
...
@@ -60,9 +61,6 @@ public interface BusinessBacklogMapper
*/
public
int
deleteBusinessBacklogByIds
(
Long
[]
ids
);
/**
* 修改工作待办逾期状态
* @return
*/
int
updateBacklogState
();
Integer
overdueCount
(
Integer
businessId
);
}
dsk-system/src/main/java/com/dsk/system/mapper/BusinessFollowRecordMapper.java
View file @
34146c04
package
com
.
dsk
.
system
.
mapper
;
import
com.dsk.common.core.domain.entity.BusinessFollowRecord
;
import
com.dsk.system.domain.BusinessIdDto
;
import
com.dsk.system.domain.BusinessListDto
;
import
com.dsk.system.domain.vo.BusinessListVo
;
import
com.dsk.system.domain.
business.dto.
BusinessIdDto
;
import
com.dsk.system.domain.
business.dto.
BusinessListDto
;
import
com.dsk.system.domain.
business.
vo.BusinessListVo
;
import
java.util.List
;
...
...
dsk-system/src/main/java/com/dsk/system/mapper/BusinessInfoMapper.java
View file @
34146c04
...
...
@@ -2,11 +2,12 @@ package com.dsk.system.mapper;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.dsk.common.core.domain.entity.BusinessInfo
;
import
com.dsk.system.domain.BusinessListDto
;
import
com.dsk.system.domain.business.dto.BusinessListDto
;
import
com.dsk.system.domain.business.vo.BusinessLikeProjectNameListVo
;
import
com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto
;
import
com.dsk.system.domain.customer.vo.CustomerBusinessListVo
;
import
com.dsk.system.domain.vo.BusinessBrowseVo
;
import
com.dsk.system.domain.vo.BusinessListVo
;
import
com.dsk.system.domain.
business.
vo.BusinessBrowseVo
;
import
com.dsk.system.domain.
business.
vo.BusinessListVo
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -19,8 +20,7 @@ import java.util.List;
* @date 2023-05-17
*/
@Mapper
public
interface
BusinessInfoMapper
extends
BaseMapper
<
BusinessInfo
>
{
public
interface
BusinessInfoMapper
extends
BaseMapper
<
BusinessInfo
>
{
/**
* 查询项目详情
*
...
...
@@ -39,9 +39,10 @@ public interface BusinessInfoMapper extends BaseMapper<BusinessInfo>
/**
* 查询所有项目名称(支持模糊查询)
*
* @return
*/
List
<
String
>
selectProjectName
(
BusinessListDto
dto
);
List
<
BusinessLikeProjectNameListVo
>
selectProjectName
(
BusinessListDto
dto
);
/**
* 查询项目详情列表
...
...
@@ -78,6 +79,7 @@ public interface BusinessInfoMapper extends BaseMapper<BusinessInfo>
/**
* 批量删除项目
* 项目关联的其他所有表数据一并删除
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
...
...
@@ -85,6 +87,7 @@ public interface BusinessInfoMapper extends BaseMapper<BusinessInfo>
/**
* 根据项目统计
*
* @param business
* @return
*/
...
...
@@ -92,13 +95,16 @@ public interface BusinessInfoMapper extends BaseMapper<BusinessInfo>
/**
* 查询项目名称是否存在
*
* @param projectName
* @param userId
* @return
*/
int
isRepetitionProjectName
(
@Param
(
"projectName"
)
String
projectName
,
@Param
(
"userId"
)
Integer
userId
);
int
isRepetitionProjectName
(
@Param
(
"projectName"
)
String
projectName
,
@Param
(
"userId"
)
Long
userId
,
@Param
(
"companyName"
)
String
companyName
);
int
selectCountByStatusAndCustomerId
(
@Param
(
"status"
)
Integer
status
,
@Param
(
"customerId"
)
String
customerId
);
int
selectCountByStatusAndCustomerId
(
@Param
(
"status"
)
Integer
status
,
@Param
(
"customerId"
)
String
customerId
);
List
<
CustomerBusinessListVo
>
selectCustomerBusinessList
(
CustomerBusinessSearchDto
dto
);
...
...
dsk-system/src/main/java/com/dsk/system/mapper/BusinessLabelMapper.java
View file @
34146c04
package
com
.
dsk
.
system
.
mapper
;
import
com.dsk.common.core.domain.entity.BusinessLabel
;
import
com.dsk.system.domain.BusinessIdDto
;
import
com.dsk.system.domain.
business.dto.
BusinessIdDto
;
import
java.util.List
;
...
...
dsk-system/src/main/java/com/dsk/system/mapper/BusinessRelateCompanyMapper.java
View file @
34146c04
...
...
@@ -61,4 +61,7 @@ public interface BusinessRelateCompanyMapper extends BaseMapper<BusinessRelateCo
* @return 结果
*/
public
int
deleteBusinessRelateCompanyByIds
(
Long
[]
ids
);
BusinessRelateCompany
selectByProprietor
(
Integer
id
);
}
dsk-system/src/main/java/com/dsk/system/mapper/ContactInfoMapper.java
0 → 100644
View file @
34146c04
package
com
.
dsk
.
system
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.dsk.system.domain.customer.ContactInfo
;
import
com.dsk.system.domain.customer.dto.ContactInfoSearchDto
;
import
com.dsk.system.domain.customer.vo.ContactInfoListVo
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
/**
* 用户联系人(CustomerContact)表数据库访问层
*
* @author makejava
* @since 2023-07-25 17:18:05
*/
@Mapper
public
interface
ContactInfoMapper
extends
BaseMapper
<
ContactInfo
>
{
List
<
ContactInfoListVo
>
selectPageList
(
ContactInfoSearchDto
dto
);
}
dsk-system/src/main/java/com/dsk/system/searchService/BusinessOpportunityRadarService.java
0 → 100644
View file @
34146c04
package
com
.
dsk
.
system
.
searchService
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.utils.DskOpenApiUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @Author liujie
* @ClassName MarketAnalysisServiceImpl
* @Date 2023/5/15 16:40
**/
@Service
public
class
BusinessOpportunityRadarService
{
@Autowired
private
DskOpenApiUtil
dskOpenApiUtil
;
public
AjaxResult
jskBidNewsPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBid/news/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
findByName
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBid/news/findByName"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
jskBidTenderPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBidTender/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
establishmentPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/establishment/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
jskBidPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBid/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
landMarketPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/landMarket/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
enterpriseIndex
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/enterprice/index"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
enterprisePage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/enterprice/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
enterpriseByName
(
String
keyword
)
{
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"keyword"
,
keyword
);
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/enterprice/findByName"
,
params
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
bondProjectPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/bondProject/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
jskBidPlanPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBidPlan/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
getCapitalSourceSelect
()
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBidPlan/getCapitalSourceSelect"
,
null
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
keywordList
()
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/project/keywordList"
,
null
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
bidSourceList
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBid/source"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
}
dsk-system/src/main/java/com/dsk/system/searchService/MarketAnalysisService.java
0 → 100644
View file @
34146c04
package
com
.
dsk
.
system
.
searchService
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.utils.DskOpenApiUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Map
;
/**
* @Author liujie
* @ClassName MarketAnalysisServiceImpl
* @Date 2023/5/15 16:40
**/
@Service
public
class
MarketAnalysisService
{
@Autowired
private
DskOpenApiUtil
dskOpenApiUtil
;
public
AjaxResult
areaGroupByProvince
()
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/areaGroupByProvince"
,
null
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
certGroupByMajorAndLevel
()
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/certGroupByMajorAndLevel"
,
null
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
certGroupByMajorProvinceLevel
()
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/certGroupByMajorProvinceLevel"
,
null
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
bidMoneyGroupByProjectType
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/bidMoneyGroupByProjectType"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
bidGroupCountByProjectType
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/bidGroupCountByProjectType"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
countGroupByProvince
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/countGroupByProvince"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
countGroupByMonth
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/countGroupByMonth"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
}
dsk-system/src/main/java/com/dsk/system/service/IBusinessBacklogService.java
View file @
34146c04
package
com
.
dsk
.
system
.
service
;
import
com.dsk.common.core.domain.entity.BusinessBacklog
;
import
com.dsk.system.domain.business.BusinessBacklog
;
import
com.dsk.system.domain.business.vo.BusinessBacklogListVo
;
import
java.util.List
;
...
...
@@ -26,7 +27,7 @@ public interface IBusinessBacklogService
* @param businessBacklog 项目工作待办
* @return 项目工作待办集合
*/
public
List
<
BusinessBacklog
>
selectBusinessBacklogList
(
BusinessBacklog
businessBacklog
);
public
List
<
BusinessBacklog
ListVo
>
selectBusinessBacklogList
(
BusinessBacklog
businessBacklog
);
/**
* 新增项目工作待办
...
...
@@ -59,4 +60,7 @@ public interface IBusinessBacklogService
* @return 结果
*/
public
int
deleteBusinessBacklogById
(
Long
id
);
Integer
overdueCount
(
Integer
businessId
);
}
dsk-system/src/main/java/com/dsk/system/service/IBusinessFollowRecordService.java
View file @
34146c04
package
com
.
dsk
.
system
.
service
;
import
com.dsk.common.core.domain.entity.BusinessFollowRecord
;
import
com.dsk.system.domain.BusinessIdDto
;
import
com.dsk.system.domain.BusinessListDto
;
import
com.dsk.system.domain.vo.BusinessListVo
;
import
com.dsk.system.domain.
business.dto.
BusinessIdDto
;
import
com.dsk.system.domain.
business.dto.
BusinessListDto
;
import
com.dsk.system.domain.
business.
vo.BusinessListVo
;
import
java.util.List
;
...
...
dsk-system/src/main/java/com/dsk/system/service/IBusinessInfoService.java
View file @
34146c04
...
...
@@ -2,16 +2,17 @@ package com.dsk.system.service;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.domain.entity.BusinessInfo
;
import
com.dsk.system.domain.BusinessAddDto
;
import
com.dsk.system.domain.BusinessListDto
;
import
com.dsk.system.domain.business.dto.BusinessAddDto
;
import
com.dsk.system.domain.business.dto.BusinessListDto
;
import
com.dsk.system.domain.business.vo.BusinessLikeProjectNameListVo
;
import
com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto
;
import
com.dsk.system.domain.customer.vo.CustomerBusinessListVo
;
import
com.dsk.system.domain.vo.BusinessBrowseVo
;
import
com.dsk.system.domain.vo.BusinessListVo
;
import
com.dsk.system.domain.
business.
vo.BusinessBrowseVo
;
import
com.dsk.system.domain.
business.
vo.BusinessListVo
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.List
;
import
java.util.Map
;
/**
* 项目详情Service接口
...
...
@@ -56,7 +57,7 @@ public interface IBusinessInfoService
* 查询所有项目名称(支持模糊查询)
* @return
*/
List
<
String
>
selectProjectName
(
BusinessListDto
dto
);
List
<
BusinessLikeProjectNameListVo
>
selectProjectName
(
BusinessListDto
dto
);
/**
* 项目批量导入
...
...
@@ -99,4 +100,11 @@ public interface IBusinessInfoService
List
<
CustomerBusinessListVo
>
selectCustomerBusinessList
(
CustomerBusinessSearchDto
dto
);
/**
* 查询企业的城投id和建设库id
* @param companyName
* @return
*/
Map
queryUipIdOrCid
(
String
companyName
);
}
dsk-system/src/main/java/com/dsk/system/service/IBusinessLabelService.java
View file @
34146c04
package
com
.
dsk
.
system
.
service
;
import
com.dsk.common.core.domain.entity.BusinessLabel
;
import
com.dsk.system.domain.BusinessIdDto
;
import
com.dsk.system.domain.
business.dto.
BusinessIdDto
;
import
java.util.List
;
...
...
dsk-system/src/main/java/com/dsk/system/service/IBusinessRelateCompanyService.java
View file @
34146c04
package
com
.
dsk
.
system
.
service
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.domain.entity.BusinessRelateCompany
;
import
com.dsk.system.domain.BusinessIdDto
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
com.dsk.system.domain.business.dto.BusinessIdDto
;
import
java.util.List
;
...
...
dsk-system/src/main/java/com/dsk/system/service/IContactInfoService.java
0 → 100644
View file @
34146c04
package
com
.
dsk
.
system
.
service
;
import
com.dsk.system.domain.customer.ContactInfo
;
import
com.dsk.system.domain.customer.dto.ContactInfoSearchDto
;
import
com.dsk.system.domain.customer.vo.ContactInfoListVo
;
import
java.util.List
;
/**
* 用户联系人(CustomerContact)表服务接口
*
* @author makejava
* @since 2023-07-25 17:18:05
*/
public
interface
IContactInfoService
{
/**
* 查询数据列表
*/
List
<
ContactInfoListVo
>
selectList
(
ContactInfoSearchDto
dto
);
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
ContactInfo
selectById
(
Long
id
);
/**
* 新增数据
*
* @param bean 实例对象
* @return 实例对象
*/
boolean
insert
(
ContactInfo
bean
);
/**
* 修改数据
*
* @param bean 实例对象
* @return 实例对象
*/
boolean
update
(
ContactInfo
bean
);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
boolean
deleteById
(
Long
id
);
}
dsk-system/src/main/java/com/dsk/system/service/ICustomerService.java
View file @
34146c04
...
...
@@ -39,4 +39,6 @@ public interface ICustomerService {
boolean
historyClaim
(
String
companyName
);
Customer
selectByCompanyNameAndUserId
(
String
companyName
);
}
dsk-system/src/main/java/com/dsk/system/service/impl/BusinessBacklogServiceImpl.java
View file @
34146c04
package
com
.
dsk
.
system
.
service
.
impl
;
import
com.dsk.common.core.domain.entity.BusinessBacklog
;
import
cn.hutool.core.bean.BeanException
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.dsk.system.domain.business.BusinessBacklog
;
import
com.dsk.common.exception.base.BaseException
;
import
com.dsk.common.utils.DateUtils
;
import
com.dsk.system.domain.business.vo.BusinessBacklogListVo
;
import
com.dsk.system.mapper.BusinessBacklogMapper
;
import
com.dsk.system.service.IBusinessBacklogService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -22,9 +25,8 @@ import java.util.List;
*/
@Service
@Slf4j
public
class
BusinessBacklogServiceImpl
implements
IBusinessBacklogService
{
@Autowired
public
class
BusinessBacklogServiceImpl
implements
IBusinessBacklogService
{
@Resource
private
BusinessBacklogMapper
businessBacklogMapper
;
/**
...
...
@@ -34,8 +36,7 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
* @return 项目工作待办
*/
@Override
public
BusinessBacklog
selectBusinessBacklogById
(
Integer
id
)
{
public
BusinessBacklog
selectBusinessBacklogById
(
Integer
id
)
{
return
businessBacklogMapper
.
selectBusinessBacklogById
(
id
);
}
...
...
@@ -46,8 +47,10 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
* @return 项目工作待办
*/
@Override
public
List
<
BusinessBacklog
>
selectBusinessBacklogList
(
BusinessBacklog
businessBacklog
)
{
public
List
<
BusinessBacklogListVo
>
selectBusinessBacklogList
(
BusinessBacklog
businessBacklog
)
{
if
(
ObjectUtil
.
isEmpty
(
businessBacklog
.
getBusinessId
()))
{
throw
new
BeanException
(
"项目id不能为空!"
);
}
return
businessBacklogMapper
.
selectBusinessBacklogList
(
businessBacklog
);
}
...
...
@@ -59,12 +62,10 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
*/
@Override
@Transactional
public
int
insertBusinessBacklog
(
BusinessBacklog
businessBacklog
)
{
if
(
businessBacklog
.
getFinishTime
().
before
(
new
Date
()))
throw
new
BaseException
(
"完成时间必须大于当前时间"
);
businessBacklog
.
setCreateTime
(
DateUtils
.
getNowDate
());
//新增记录,状态默认 进行中
businessBacklog
.
setState
(
1
);
public
int
insertBusinessBacklog
(
BusinessBacklog
businessBacklog
)
{
if
(
ObjectUtil
.
isNotEmpty
(
businessBacklog
.
getDueTime
())){
if
(
businessBacklog
.
getDueTime
().
before
(
new
Date
()))
throw
new
BaseException
(
"到期时间必须大于当前时间"
);
}
return
businessBacklogMapper
.
insertBusinessBacklog
(
businessBacklog
);
}
...
...
@@ -76,16 +77,23 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
*/
@Override
@Transactional
public
int
updateBusinessBacklog
(
BusinessBacklog
businessBacklog
)
{
//从完成状态修改到为完成,判断是否已逾期
BusinessBacklog
backlog
=
selectBusinessBacklogById
(
businessBacklog
.
getId
());
if
(
businessBacklog
.
getState
()
==
1
&&
backlog
.
getState
()
==
2
&&
backlog
.
getFinishTime
().
before
(
new
Date
()))
{
businessBacklog
.
setState
(
0
);
businessBacklog
.
setUpdateTime
(
new
Date
());
return
businessBacklogMapper
.
updateBusinessBacklog
(
businessBacklog
);
public
int
updateBusinessBacklog
(
BusinessBacklog
businessBacklog
)
{
if
(
ObjectUtil
.
isEmpty
(
businessBacklog
.
getId
()))
{
throw
new
BeanException
(
"id不能为空!"
);
}
if
(
ObjectUtil
.
isEmpty
(
businessBacklog
.
getState
()))
{
throw
new
BeanException
(
"状态不能为空!"
);
}
switch
(
businessBacklog
.
getState
())
{
case
0
:
businessBacklog
.
setFinishTime
(
null
);
break
;
case
1
:
businessBacklog
.
setFinishTime
(
new
Date
());
break
;
default
:
throw
new
BeanException
(
"状态参数错误!"
);
}
businessBacklog
.
setUpdateTime
(
new
Date
());
return
businessBacklogMapper
.
updateBusinessBacklog
(
businessBacklog
);
}
...
...
@@ -96,8 +104,7 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
* @return 结果
*/
@Override
public
int
deleteBusinessBacklogByIds
(
Long
[]
ids
)
{
public
int
deleteBusinessBacklogByIds
(
Long
[]
ids
)
{
return
businessBacklogMapper
.
deleteBusinessBacklogByIds
(
ids
);
}
...
...
@@ -108,17 +115,12 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
* @return 结果
*/
@Override
public
int
deleteBusinessBacklogById
(
Long
id
)
{
public
int
deleteBusinessBacklogById
(
Long
id
)
{
return
businessBacklogMapper
.
deleteBusinessBacklogById
(
id
);
}
/**
* 定时修改工作待办逾期状态
*/
@Scheduled
(
cron
=
"0 0 0 * * ?"
)
//每天凌晨0点执行一次
public
void
judgeOverdue
()
{
int
updateBacklogState
=
businessBacklogMapper
.
updateBacklogState
();
if
(
updateBacklogState
>
1
)
log
.
info
(
"定时修改工作待办逾期状态"
);
@Override
public
Integer
overdueCount
(
Integer
businessId
)
{
return
businessBacklogMapper
.
overdueCount
(
businessId
);
}
}
dsk-system/src/main/java/com/dsk/system/service/impl/BusinessFollowRecordServiceImpl.java
View file @
34146c04
...
...
@@ -2,9 +2,9 @@ package com.dsk.system.service.impl;
import
com.dsk.common.core.domain.entity.BusinessFollowRecord
;
import
com.dsk.common.utils.DateUtils
;
import
com.dsk.system.domain.BusinessIdDto
;
import
com.dsk.system.domain.BusinessListDto
;
import
com.dsk.system.domain.vo.BusinessListVo
;
import
com.dsk.system.domain.
business.dto.
BusinessIdDto
;
import
com.dsk.system.domain.
business.dto.
BusinessListDto
;
import
com.dsk.system.domain.
business.
vo.BusinessListVo
;
import
com.dsk.system.mapper.BusinessFollowRecordMapper
;
import
com.dsk.system.service.IBusinessFollowRecordService
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/BusinessInfoServiceImpl.java
View file @
34146c04
...
...
@@ -2,41 +2,48 @@ package com.dsk.system.service.impl;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.map.MapUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.acc.openapi.client.util.CommonUtils
;
import
com.dsk.common.config.RuoYiConfig
;
import
com.dsk.common.constant.HttpStatus
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.domain.entity.BusinessInfo
;
import
com.dsk.common.core.domain.entity.BusinessLabel
;
import
com.dsk.common.core.domain.entity.BusinessRelateCompany
;
import
com.dsk.common.core.domain.entity.BusinessUser
;
import
com.dsk.common.exception.ServiceException
;
import
com.dsk.common.exception.base.BaseException
;
import
com.dsk.common.utils.CheckUtils
;
import
com.dsk.common.utils.DateUtils
;
import
com.dsk.common.utils.SecurityUtils
;
import
com.dsk.common.utils.StringUtils
;
import
com.dsk.common.utils.*
;
import
com.dsk.common.utils.file.FileUtils
;
import
com.dsk.system.domain.BusinessAddDto
;
import
com.dsk.system.domain.BusinessExcelDto
;
import
com.dsk.system.domain.BusinessListDto
;
import
com.dsk.system.domain.business.dto.BusinessAddDto
;
import
com.dsk.system.domain.business.dto.BusinessExcelDto
;
import
com.dsk.system.domain.business.dto.BusinessListDto
;
import
com.dsk.system.domain.business.vo.BusinessLikeProjectNameListVo
;
import
com.dsk.system.domain.customer.Customer
;
import
com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto
;
import
com.dsk.system.domain.customer.vo.CustomerBusinessListVo
;
import
com.dsk.system.domain.vo.BusinessBrowseVo
;
import
com.dsk.system.domain.vo.BusinessLabelVo
;
import
com.dsk.system.domain.vo.BusinessListVo
;
import
com.dsk.system.domain.customer.vo.CustomerVo
;
import
com.dsk.system.domain.business.vo.BusinessBrowseVo
;
import
com.dsk.system.domain.business.vo.BusinessLabelVo
;
import
com.dsk.system.domain.business.vo.BusinessListVo
;
import
com.dsk.system.mapper.BusinessInfoMapper
;
import
com.dsk.system.mapper.BusinessLabelMapper
;
import
com.dsk.system.mapper.BusinessRelateCompanyMapper
;
import
com.dsk.system.mapper.BusinessUserMapper
;
import
com.dsk.system.service.IBusinessInfoService
;
import
com.dsk.system.service.ICustomerService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.MapUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.*
;
/**
* 项目详情Service业务层处理
...
...
@@ -55,6 +62,13 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
private
BusinessLabelMapper
businessLabelMapper
;
@Resource
private
ReadBusinessInfoExcel
readBusinessInfoExcel
;
@Resource
private
BusinessRelateCompanyMapper
relateCompanyMapper
;
@Resource
private
DskOpenApiUtil
dskOpenApiUtil
;
@Autowired
private
ICustomerService
customerService
;
/**
* 查询项目详情
...
...
@@ -69,7 +83,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
@Override
public
BusinessInfo
getConstruction
(
Integer
id
)
{
BusinessInfo
businessInfo
=
businessInfoMapper
.
getConstruction
(
id
);
BusinessInfo
businessInfo
=
businessInfoMapper
.
getConstruction
(
id
);
return
ObjectUtil
.
isEmpty
(
businessInfo
)
?
new
BusinessInfo
()
:
businessInfo
;
}
...
...
@@ -81,13 +95,10 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
*/
@Override
public
List
<
BusinessListVo
>
selectBusinessInfoList
(
BusinessListDto
dto
)
{
if
(
StringUtils
.
isEmpty
(
dto
.
getMinAmount
()))
dto
.
setMinAmount
(
"0"
);
List
<
BusinessListVo
>
othersList
=
new
ArrayList
<>();
//userId不传值,就查询全部他人可见项目+自己的
if
(
dto
.
getUserId
()
==
null
)
{
Long
userId
=
SecurityUtils
.
getLoginUser
().
getUserId
();
if
(
userId
==
null
)
throw
new
BaseException
(
"请登录"
);
dto
.
setOthers
(
userId
.
intValue
());
dto
.
setOthers
(
SecurityUtils
.
getUserId
());
//查询他人可见项目
othersList
=
businessInfoMapper
.
selectBusinessInfoList
(
dto
);
}
...
...
@@ -103,7 +114,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
BusinessBrowseVo
businessBrowseVo
=
new
BusinessBrowseVo
();
//查询项目基本信息
BusinessInfo
businessInfo
=
businessInfoMapper
.
selectBusinessInfoById
(
businessId
);
if
(
ObjectUtil
.
isNotEmpty
(
businessInfo
))
BeanUtil
.
copyProperties
(
businessInfo
,
businessBrowseVo
);
if
(
ObjectUtil
.
isNotEmpty
(
businessInfo
))
BeanUtil
.
copyProperties
(
businessInfo
,
businessBrowseVo
);
//商务团队
businessBrowseVo
.
setTeam
(
businessUserMapper
.
selectCreatorByBusinessId
(
businessId
));
//查询是否是项目创建人
...
...
@@ -122,13 +133,45 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
businessBrowseVo
.
setFollowRecordCount
(
total
.
getFollowRecordCount
());
businessBrowseVo
.
setRelateCompanyCount
(
total
.
getRelateCompanyCount
());
//资料文档统计
businessBrowseVo
.
setFileCount
(
FileUtils
.
getAllFileNames
(
RuoYiConfig
.
getProfile
()
+
businessId
).
size
());
businessBrowseVo
.
setFileCount
(
FileUtils
.
getAllFileNames
(
RuoYiConfig
.
getProfile
()
+
businessId
).
size
());
return
businessBrowseVo
;
}
@Override
public
List
<
String
>
selectProjectName
(
BusinessListDto
dto
)
{
return
businessInfoMapper
.
selectProjectName
(
dto
);
public
List
<
BusinessLikeProjectNameListVo
>
selectProjectName
(
BusinessListDto
dto
)
{
// List<BusinessLikeProjectNameListVo> vos = businessInfoMapper.selectProjectName(dto);
List
<
BusinessLikeProjectNameListVo
>
vos
=
new
ArrayList
<>();
try
{
Map
<
String
,
Object
>
result
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBid/news/findByName"
,
toRequestMap
(
dto
));
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
))
{
for
(
Map
<
String
,
Object
>
map
:
list
)
{
BusinessLikeProjectNameListVo
vo
=
new
BusinessLikeProjectNameListVo
();
vo
.
setProjectName
(
MapUtil
.
getStr
(
map
,
"projectName"
).
replace
(
dto
.
getProjectName
(),
"<font color='#FF204E'>"
+
dto
.
getProjectName
()
+
"</font>"
));
vo
.
setCompanyName
(
MapUtil
.
getStr
(
map
,
"tenderee"
));
vo
.
setInvestmentAmount
(
Double
.
parseDouble
(
MapUtil
.
getStr
(
map
,
"projectContractAmount"
)));
vo
.
setProjectType
(
MapUtil
.
getStr
(
map
,
"projectType"
));
vo
.
setProjectCategory
(
MapUtil
.
getStr
(
map
,
"projectPurposes"
));
vos
.
add
(
vo
);
}
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"模糊查询项目名称调用失败!"
);
}
return
vos
;
}
private
Map
<
String
,
Object
>
toRequestMap
(
BusinessListDto
dto
)
{
Map
<
String
,
Object
>
page
=
new
HashMap
<>();
page
.
put
(
"page"
,
1
);
page
.
put
(
"limit"
,
20
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"keyword"
,
dto
.
getProjectName
());
map
.
put
(
"page"
,
page
);
return
map
;
}
@Override
...
...
@@ -141,10 +184,10 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
Integer
errorCount
=
0
;
//失败条数
List
<
String
>
result
=
new
LinkedList
();
//导入结果汇总
List
<
BusinessExcelDto
>
businessInfoList
=
readBusinessInfoExcel
.
getExcelInfo
(
file
);
if
(
CollectionUtil
.
isEmpty
(
businessInfoList
))
return
AjaxResult
.
error
(
"文档中无项目信息,请按照模板文档格式上传"
);
if
(
CollectionUtil
.
isEmpty
(
businessInfoList
))
return
AjaxResult
.
error
(
"文档中无项目信息,请按照模板文档格式上传"
);
for
(
BusinessExcelDto
businessInfo
:
businessInfoList
)
{
//查询已有的项目名称
Integer
count
=
businessInfoMapper
.
isRepetitionProjectName
(
businessInfo
.
getProjectName
(),
userId
.
intValue
());
Integer
count
=
businessInfoMapper
.
isRepetitionProjectName
(
businessInfo
.
getProjectName
(),
userId
,
businessInfo
.
getOwnerCompany
());
row
++;
if
(
count
>
0
)
{
//如果存在,跳过该项目,不保存
...
...
@@ -155,8 +198,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
//保存到数据库
BusinessAddDto
businessAddDto
=
new
BusinessAddDto
();
BeanUtil
.
copyProperties
(
businessInfo
,
businessAddDto
);
businessAddDto
.
setUserId
(
userId
.
intValue
());
businessAddDto
.
setCompanyId
(
0
);
businessAddDto
.
setUserId
(
userId
);
AjaxResult
add
=
insertBusinessInfo
(
businessAddDto
);
if
(
add
.
get
(
"code"
).
equals
(
HttpStatus
.
SUCCESS
))
rowSuccess
++;
}
...
...
@@ -164,7 +206,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
result
.
add
(
"导入项目成功条数"
+
rowSuccess
);
result
.
add
(
"导入项目去重条数"
+
errorCount
);
AjaxResult
success
=
AjaxResult
.
success
(
String
.
join
(
","
,
result
));
success
.
put
(
"successCount"
,
rowSuccess
);
success
.
put
(
"successCount"
,
rowSuccess
);
return
success
;
}
...
...
@@ -178,7 +220,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
@Transactional
public
AjaxResult
insertBusinessInfo
(
BusinessAddDto
dto
)
{
//新增前查询是否已存在
int
count
=
businessInfoMapper
.
isRepetitionProjectName
(
dto
.
getProjectName
(),
dto
.
getUserId
());
int
count
=
businessInfoMapper
.
isRepetitionProjectName
(
dto
.
getProjectName
(),
dto
.
getUserId
()
,
dto
.
getOwnerCompany
()
);
if
(
count
>
0
)
return
AjaxResult
.
error
(
"项目名称已存在"
);
//判断资金Double类型的位数
if
(
dto
.
getInvestmentAmount
()
!=
null
)
{
...
...
@@ -190,16 +232,40 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
//新增项目主信息
BusinessInfo
businessInfo
=
new
BusinessInfo
();
BeanUtil
.
copyProperties
(
dto
,
businessInfo
);
businessInfo
.
setConstructionUnit
(
dto
.
getOwnerCompany
());
CustomerVo
vo
=
new
CustomerVo
();
if
(
ObjectUtil
.
isNotEmpty
(
dto
.
getCustomerId
()))
{
vo
=
customerService
.
info
(
dto
.
getCustomerId
());
}
else
{
Customer
verifyCustomer
=
customerService
.
selectByCompanyNameAndUserId
(
dto
.
getOwnerCompany
());
if
(
ObjectUtil
.
isNotEmpty
(
verifyCustomer
))
{
BeanUtil
.
copyProperties
(
verifyCustomer
,
vo
);
}
else
{
vo
.
setCompanyName
(
dto
.
getOwnerCompany
());
customerService
.
add
(
vo
);
}
businessInfo
.
setCustomerId
(
vo
.
getCustomerId
());
}
businessInfo
.
setConstructionUnit
(
vo
.
getCompanyName
());
businessInfo
.
setConstructionUnitUipId
(
vo
.
getUipId
());
businessInfo
.
setConstructionUnitCid
(
vo
.
getCompanyId
());
businessInfo
.
setConstructionPrincipal
(
vo
.
getLegalPerson
());
int
addBusiness
=
businessInfoMapper
.
insertBusinessInfo
(
businessInfo
);
if
(
addBusiness
>
0
)
{
//获取登陆用户的部门id
Long
deptId
=
SecurityUtils
.
getLoginUser
().
getDeptId
();
//新增用户-项目关系信息
int
addbusinessUser
=
businessUserMapper
.
insertBusinessUser
(
new
BusinessUser
(
businessInfo
.
getId
(),
deptId
.
intValue
(),
dto
.
getUserId
(),
1
));
return
addbusinessUser
>
0
?
AjaxResult
.
success
()
:
AjaxResult
.
error
();
int
addbusinessUser
=
businessUserMapper
.
insertBusinessUser
(
new
BusinessUser
(
businessInfo
.
getId
(),
SecurityUtils
.
getDeptId
(),
dto
.
getUserId
(),
1
));
if
(
addbusinessUser
==
0
)
{
throw
new
ServiceException
(
"项目关系信息添加失败!"
);
}
}
int
i
=
relateCompanyMapper
.
insertBusinessRelateCompany
(
dealwithCustomer
(
businessInfo
));
if
(
i
==
0
)
{
throw
new
ServiceException
(
"业主单位信息添加失败!"
);
}
return
AjaxResult
.
error
();
return
AjaxResult
.
success
();
}
...
...
@@ -212,8 +278,11 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
@Override
@Transactional
public
int
updateBusinessInfo
(
BusinessInfo
businessInfo
)
{
if
(
ObjectUtil
.
isEmpty
(
businessInfo
.
getId
()))
{
throw
new
BaseException
(
"项目id不能为空!"
);
}
//判断资金Double类型的位数
if
(
businessInfo
.
getInvestmentAmount
()
!=
null
)
{
if
(
ObjectUtil
.
isNotEmpty
(
businessInfo
.
getInvestmentAmount
())
)
{
int
front
=
CheckUtils
.
checkIntegerPlaces
(
businessInfo
.
getInvestmentAmount
());
int
later
=
CheckUtils
.
checkDecimalPlaces
(
businessInfo
.
getInvestmentAmount
());
if
(
front
>
9
)
throw
new
BaseException
(
"500"
,
"小数点前最多支持9位"
);
...
...
@@ -223,13 +292,53 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
if
(!
CheckUtils
.
isPhone
(
businessInfo
.
getConstructionPhone
())
||
!
CheckUtils
.
isPhone
(
businessInfo
.
getSupervisorPhone
()))
throw
new
BaseException
(
"500"
,
"请输入正确的电话号码"
);
}
businessInfo
.
setUpdateTime
(
DateUtils
.
getNowDate
());
// BusinessInfo info = businessInfoMapper.selectBusinessInfoById(businessInfo.getId());
//查询企业的城投id和建设库id
BusinessRelateCompany
relateCompany
=
relateCompanyMapper
.
selectByProprietor
(
businessInfo
.
getId
());
if
(
ObjectUtil
.
isNotEmpty
(
businessInfo
.
getConstructionUnit
()))
{
Map
map
=
queryUipIdOrCid
(
businessInfo
.
getConstructionUnit
());
if
(
map
.
containsKey
(
"jskEid"
))
{
businessInfo
.
setConstructionUnitCid
(
MapUtils
.
getInteger
(
map
,
"jskEid"
,
null
));
}
else
{
businessInfo
.
setConstructionUnitUipId
(
MapUtils
.
getString
(
map
,
"uipId"
,
null
));
businessInfo
.
setConstructionUnitCid
(
MapUtils
.
getInteger
(
map
,
"companyId"
,
null
));
}
//相关企业
if
(
ObjectUtil
.
isEmpty
(
relateCompany
))
{
relateCompanyMapper
.
insertBusinessRelateCompany
(
dealwithCustomer
(
businessInfo
));
}
if
(
ObjectUtil
.
isNotEmpty
(
relateCompany
)
&&
!
businessInfo
.
getConstructionUnit
().
equals
(
relateCompany
.
getCompanyName
()))
{
relateCompany
.
setCompanyId
(
businessInfo
.
getConstructionUnitCid
());
relateCompany
.
setCompanyUipId
(
businessInfo
.
getConstructionUnitUipId
());
relateCompany
.
setCompanyName
(
businessInfo
.
getConstructionUnit
());
relateCompanyMapper
.
updateBusinessRelateCompany
(
relateCompany
);
}
// //客户信息
// if(ObjectUtil.isNotEmpty(info.getCustomerId())){
// CustomerVo customerVo = customerService.info(info.getCustomerId());
// customerVo
// customerService.edit(customerVo);
// }else {
// Customer customer = new Customer();
// customer.setCompanyName()
// customerService.add()
// }
}
if
(
ObjectUtil
.
isNotEmpty
(
relateCompany
)
&&
(
ObjectUtil
.
isNotEmpty
(
businessInfo
.
getConstructionPhone
())
||
ObjectUtil
.
isNotEmpty
(
businessInfo
.
getConstructionPrincipal
())))
{
relateCompany
.
setPhone
(
businessInfo
.
getConstructionPhone
());
relateCompany
.
setResponsiblePerson
(
businessInfo
.
getConstructionPrincipal
());
relateCompanyMapper
.
updateBusinessRelateCompany
(
relateCompany
);
}
return
businessInfoMapper
.
updateBusinessInfo
(
businessInfo
);
}
/**
* 批量删除项目
* 项目关联的其他所有表数据一并删除
*
* @param ids 需要删除的项目详情主键
* @return 结果
*/
...
...
@@ -276,4 +385,56 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
public
List
<
CustomerBusinessListVo
>
selectCustomerBusinessList
(
CustomerBusinessSearchDto
dto
)
{
return
businessInfoMapper
.
selectCustomerBusinessList
(
dto
);
}
@Override
public
Map
queryUipIdOrCid
(
String
companyName
)
{
Map
<
Object
,
Object
>
map
=
MapUtil
.
builder
().
build
();
if
(
StringUtils
.
isEmpty
(
companyName
))
return
map
;
//查询城投企业
Map
<
String
,
Object
>
paramMap
=
MapUtil
.<
String
,
Object
>
builder
().
put
(
"companyName"
,
companyName
).
build
();
Map
<
String
,
Object
>
resultMap
=
dskOpenApiUtil
.
requestBody
(
"/urbanInvestment/detailsByCompanyName"
,
paramMap
);
Integer
code
=
MapUtils
.
getInteger
(
resultMap
,
"code"
,
300
);
if
(
code
==
HttpStatus
.
SUCCESS
)
{
Map
data
=
MapUtils
.
getMap
(
resultMap
,
"data"
,
null
);
if
(
data
!=
null
)
{
map
.
put
(
"uipId"
,
MapUtils
.
getString
(
data
,
"uipId"
,
null
));
map
.
put
(
"companyId"
,
MapUtils
.
getInteger
(
data
,
"companyId"
,
null
));
}
}
if
(
MapUtil
.
isEmpty
(
map
))
{
//查村建设库企业
Map
<
String
,
Object
>
jskParamMap
=
MapUtil
.<
String
,
Object
>
builder
()
.
put
(
"keyword"
,
companyName
)
.
put
(
"page"
,
MapUtil
.<
String
,
Object
>
builder
().
put
(
"page"
,
1
).
put
(
"limit"
,
10
).
build
())
.
build
();
Map
<
String
,
Object
>
jskResultMap
=
dskOpenApiUtil
.
requestBody
(
"/enterprise/index"
,
jskParamMap
);
if
(
MapUtils
.
getInteger
(
resultMap
,
"code"
,
300
).
equals
(
HttpStatus
.
SUCCESS
))
{
Map
data
=
MapUtils
.
getMap
(
jskResultMap
,
"data"
,
null
);
if
(
data
!=
null
)
{
List
<
Object
>
list
=
CommonUtils
.
assertAsArray
(
MapUtils
.
getObject
(
data
,
"list"
,
""
));
if
(
CollectionUtil
.
isNotEmpty
(
list
))
{
for
(
Object
obj
:
list
)
{
map
.
put
(
"jskEid"
,
MapUtils
.
getInteger
(
BeanUtil
.
beanToMap
(
obj
,
false
,
false
),
"jskEid"
,
null
));
}
}
}
}
}
return
map
;
}
private
BusinessRelateCompany
dealwithCustomer
(
BusinessInfo
bean
)
{
BusinessRelateCompany
relateCompany
=
new
BusinessRelateCompany
();
relateCompany
.
setBusinessId
(
bean
.
getId
());
relateCompany
.
setCompanyId
(
bean
.
getConstructionUnitCid
());
relateCompany
.
setCompanyUipId
(
bean
.
getConstructionUnitUipId
());
relateCompany
.
setCompanyName
(
bean
.
getConstructionUnit
());
relateCompany
.
setPhone
(
bean
.
getConstructionPhone
());
relateCompany
.
setCompanyRole
(
"招采单位"
);
relateCompany
.
setResponsiblePerson
(
bean
.
getConstructionPrincipal
());
relateCompany
.
setIsProprietor
(
1
);
relateCompany
.
setRemark
(
"业主单位"
);
return
relateCompany
;
}
}
dsk-system/src/main/java/com/dsk/system/service/impl/BusinessLabelServiceImpl.java
View file @
34146c04
...
...
@@ -4,7 +4,7 @@ import java.util.List;
import
com.dsk.common.core.domain.entity.BusinessLabel
;
import
com.dsk.common.utils.DateUtils
;
import
com.dsk.system.domain.BusinessIdDto
;
import
com.dsk.system.domain.
business.dto.
BusinessIdDto
;
import
com.dsk.system.mapper.BusinessLabelMapper
;
import
com.dsk.system.service.IBusinessLabelService
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/BusinessRelateCompanyServiceImpl.java
View file @
34146c04
package
com
.
dsk
.
system
.
service
.
impl
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.dsk.common.core.domain.entity.BusinessRelateCompany
;
import
com.dsk.common.exception.base.BaseException
;
import
com.dsk.common.utils.CheckUtils
;
import
com.dsk.common.utils.DateUtils
;
import
com.dsk.system.domain.BusinessIdDto
;
import
com.dsk.system.domain.
business.dto.
BusinessIdDto
;
import
com.dsk.system.mapper.BusinessRelateCompanyMapper
;
import
com.dsk.system.service.IBusinessInfoService
;
import
com.dsk.system.service.IBusinessRelateCompanyService
;
import
org.apache.commons.collections4.MapUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -24,6 +30,8 @@ public class BusinessRelateCompanyServiceImpl implements IBusinessRelateCompanyS
{
@Resource
private
BusinessRelateCompanyMapper
businessRelateCompanyMapper
;
@Resource
private
IBusinessInfoService
businessInfoService
;
/**
* 查询项目关联单位
...
...
@@ -61,6 +69,14 @@ public class BusinessRelateCompanyServiceImpl implements IBusinessRelateCompanyS
{
// if(!CheckUtils.isPhone(businessRelateCompany.getPhone())) throw new BaseException("500","请输入正确的电话号码");
businessRelateCompany
.
setCreateTime
(
DateUtils
.
getNowDate
());
//查询企业的城投id和建设库id
Map
map
=
businessInfoService
.
queryUipIdOrCid
(
businessRelateCompany
.
getCompanyName
());
if
(
map
.
containsKey
(
"jskEid"
)){
businessRelateCompany
.
setCompanyId
(
MapUtils
.
getInteger
(
map
,
"jskEid"
,
null
));
}
else
{
businessRelateCompany
.
setCompanyUipId
(
MapUtils
.
getString
(
map
,
"uipId"
,
null
));
businessRelateCompany
.
setCompanyId
(
MapUtils
.
getInteger
(
map
,
"companyId"
,
null
));
}
return
businessRelateCompanyMapper
.
insertBusinessRelateCompany
(
businessRelateCompany
);
}
...
...
@@ -74,8 +90,18 @@ public class BusinessRelateCompanyServiceImpl implements IBusinessRelateCompanyS
@Transactional
public
int
updateBusinessRelateCompany
(
BusinessRelateCompany
businessRelateCompany
)
{
// if(!CheckUtils.isPhone(businessRelateCompany.getPhone())) throw new BaseException("500","请输入正确的电话号码");
if
(
ObjectUtil
.
isNotEmpty
(
businessRelateCompany
.
getPhone
())){
if
(!
CheckUtils
.
isPhone
(
businessRelateCompany
.
getPhone
()))
throw
new
BaseException
(
"500"
,
"请输入正确的电话号码"
);
}
businessRelateCompany
.
setUpdateTime
(
DateUtils
.
getNowDate
());
//查询企业的城投id和建设库id
Map
map
=
businessInfoService
.
queryUipIdOrCid
(
businessRelateCompany
.
getCompanyName
());
if
(
map
.
containsKey
(
"jskEid"
)){
businessRelateCompany
.
setCompanyId
(
MapUtils
.
getInteger
(
map
,
"jskEid"
,
null
));
}
else
{
businessRelateCompany
.
setCompanyUipId
(
MapUtils
.
getString
(
map
,
"uipId"
,
null
));
businessRelateCompany
.
setCompanyId
(
MapUtils
.
getInteger
(
map
,
"companyId"
,
null
));
}
return
businessRelateCompanyMapper
.
updateBusinessRelateCompany
(
businessRelateCompany
);
}
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/ContactInfoServiceImpl.java
0 → 100644
View file @
34146c04
package
com
.
dsk
.
system
.
service
.
impl
;
import
cn.hutool.core.bean.BeanException
;
import
com.dsk.common.core.domain.model.LoginUser
;
import
com.dsk.common.utils.SecurityUtils
;
import
com.dsk.system.domain.customer.ContactInfo
;
import
com.dsk.system.domain.customer.dto.ContactInfoSearchDto
;
import
com.dsk.system.domain.customer.vo.ContactInfoListVo
;
import
com.dsk.system.mapper.ContactInfoMapper
;
import
com.dsk.system.service.IContactInfoService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
* 用户联系人(CustomerContact)表服务实现类
*
* @author makejava
* @since 2023-07-25 17:18:04
*/
@Slf4j
@Service
public
class
ContactInfoServiceImpl
implements
IContactInfoService
{
@Resource
private
ContactInfoMapper
baseMapper
;
@Override
public
List
<
ContactInfoListVo
>
selectList
(
ContactInfoSearchDto
dto
)
{
return
baseMapper
.
selectPageList
(
dto
);
}
@Override
public
ContactInfo
selectById
(
Long
id
)
{
return
baseMapper
.
selectById
(
id
);
}
@Override
public
boolean
insert
(
ContactInfo
bean
)
{
verifyParameter
(
bean
);
return
baseMapper
.
insert
(
bean
)
>
0
;
}
@Override
public
boolean
update
(
ContactInfo
bean
)
{
if
(
ObjectUtils
.
isEmpty
(
bean
.
getId
()))
throw
new
BeanException
(
"id不能为空!"
);
verifyParameter
(
bean
);
return
baseMapper
.
updateById
(
bean
)
>
0
;
}
@Override
public
boolean
deleteById
(
Long
id
)
{
return
baseMapper
.
deleteById
(
id
)
>
0
;
}
/**
* 参数验证
*/
private
void
verifyParameter
(
ContactInfo
bean
)
{
// if (ObjectUtils.isEmpty(bean.getCustomerId())) throw new BeanException("客户id不能为空!");
LoginUser
loginUser
=
SecurityUtils
.
getLoginUser
();
bean
.
setCreateBy
(
loginUser
.
getUser
().
getNickName
());
bean
.
setUpdateId
(
loginUser
.
getUserId
());
bean
.
setUpdateBy
(
loginUser
.
getUser
().
getNickName
());
}
}
dsk-system/src/main/java/com/dsk/system/service/impl/CustomerServiceImpl.java
View file @
34146c04
...
...
@@ -3,10 +3,12 @@ package com.dsk.system.service.impl;
import
cn.hutool.core.bean.BeanException
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.map.MapUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.exception.ServiceException
;
import
com.dsk.common.utils.SecurityUtils
;
import
com.dsk.common.utils.StringUtils
;
import
com.dsk.system.domain.customer.Customer
;
import
com.dsk.system.domain.customer.CustomerUser
;
import
com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto
;
...
...
@@ -15,6 +17,7 @@ import com.dsk.system.domain.customer.vo.*;
import
com.dsk.system.dskService.EnterpriseService
;
import
com.dsk.system.mapper.CustomerMapper
;
import
com.dsk.system.mapper.CustomerUserMapper
;
import
com.dsk.system.searchService.BusinessOpportunityRadarService
;
import
com.dsk.system.service.IBusinessInfoService
;
import
com.dsk.system.service.ICustomerService
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -25,6 +28,7 @@ import org.springframework.util.ObjectUtils;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.Map
;
/**
* 客户信息表(Customer)表服务实现类
...
...
@@ -44,6 +48,8 @@ public class CustomerServiceImpl implements ICustomerService {
private
IBusinessInfoService
businessInfoService
;
@Autowired
private
EnterpriseService
enterpriseService
;
@Autowired
private
BusinessOpportunityRadarService
opportunityRadarService
;
@Override
public
List
<
CustomerListVo
>
selectList
(
CustomerSearchDto
dto
)
{
...
...
@@ -65,6 +71,7 @@ public class CustomerServiceImpl implements ICustomerService {
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
add
(
Customer
customer
)
{
dealWithcustomerData
(
customer
);
if
(
ObjectUtils
.
isEmpty
(
customer
.
getUipId
()))
{
try
{
R
res
=
enterpriseService
.
getUipId
(
customer
.
getCompanyName
());
...
...
@@ -153,6 +160,11 @@ public class CustomerServiceImpl implements ICustomerService {
return
updateClaimStatus
(
companyName
,
0
);
}
@Override
public
Customer
selectByCompanyNameAndUserId
(
String
companyName
)
{
return
baseMapper
.
selectByCompanyNameAndUserId
(
companyName
,
SecurityUtils
.
getUserId
());
}
//修改客户认领状态
private
boolean
updateClaimStatus
(
String
companyName
,
Integer
status
)
{
Customer
cus
=
baseMapper
.
selectByCompanyNameAndUserId
(
companyName
,
SecurityUtils
.
getUserId
());
...
...
@@ -167,5 +179,56 @@ public class CustomerServiceImpl implements ICustomerService {
return
customerUserMapper
.
updateById
(
customerUser
)
==
1
;
}
private
void
dealWithcustomerData
(
Customer
customer
)
{
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCompanyName
()))
throw
new
BeanException
(
"企业名称不能为空"
);
try
{
Map
<
String
,
Object
>
map
=
opportunityRadarService
.
enterpriseByName
(
customer
.
getCompanyName
());
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
"data"
)))
{
Map
<
String
,
Object
>
data
=
BeanUtil
.
beanToMap
(
map
.
get
(
"data"
));
Integer
companyId
=
MapUtil
.
getInt
(
data
,
"jskEid"
);
if
(
ObjectUtil
.
isNotEmpty
(
customer
.
getCompanyId
())
&&
!
customer
.
getCompanyId
().
equals
(
companyId
))
{
return
;
}
customer
.
setCompanyId
(
companyId
);
if
(
ObjectUtils
.
isEmpty
(
customer
.
getLegalPerson
()))
{
customer
.
setLegalPerson
(
MapUtil
.
getStr
(
data
,
"legalPerson"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getRegisterCapital
()))
{
customer
.
setRegisterCapital
(
MapUtil
.
getStr
(
data
,
"registeredCapitalStr"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getProvinceId
()))
{
customer
.
setProvinceId
(
MapUtil
.
getInt
(
data
,
"provinceId"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCityId
()))
{
customer
.
setCityId
(
MapUtil
.
getInt
(
data
,
"cityId"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getDistrictId
()))
{
customer
.
setDistrictId
(
MapUtil
.
getInt
(
data
,
"countyId"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getRegisterAddress
()))
{
if
(
ObjectUtil
.
isNotEmpty
(
MapUtil
.
getStr
(
data
,
"domicile"
))){
customer
.
setRegisterAddress
(
MapUtil
.
getStr
(
data
,
"domicile"
));
}
else
{
String
address
=
null
;
if
(
ObjectUtils
.
isEmpty
(
MapUtil
.
getStr
(
data
,
"province"
)))
{
address
=
MapUtil
.
getStr
(
data
,
"province"
);
if
(
ObjectUtils
.
isEmpty
(
MapUtil
.
getStr
(
data
,
"city"
)))
{
address
=
address
.
concat
(
"-"
).
concat
(
MapUtil
.
getStr
(
data
,
"city"
));
if
(
ObjectUtils
.
isEmpty
(
MapUtil
.
getStr
(
data
,
"county"
)))
{
address
=
address
.
concat
(
"-"
).
concat
(
MapUtil
.
getStr
(
data
,
"county"
));
}
}
}
customer
.
setRegisterAddress
(
address
);
}
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCreditCode
()))
{
customer
.
setCreditCode
(
MapUtil
.
getStr
(
data
,
"creditCode"
));
}
}
}
catch
(
Exception
e
)
{
log
.
debug
(
"获取企业id错误!error:{}"
,
e
.
getMessage
());
}
}
}
dsk-system/src/main/java/com/dsk/system/service/impl/ReadBusinessInfoExcel.java
View file @
34146c04
package
com
.
dsk
.
system
.
service
.
impl
;
import
com.dsk.system.domain.BusinessExcelDto
;
import
com.dsk.system.domain.
business.dto.
BusinessExcelDto
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.poi.hssf.usermodel.HSSFWorkbook
;
import
org.apache.poi.ss.usermodel.*
;
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/SysMenuServiceImpl.java
View file @
34146c04
...
...
@@ -9,7 +9,6 @@ import java.util.List;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Primary
;
import
org.springframework.stereotype.Service
;
import
com.dsk.common.constant.Constants
;
import
com.dsk.common.constant.UserConstants
;
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/UrbanInvestmentPlatformServiceImpl.java
View file @
34146c04
package
com
.
dsk
.
system
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.dsk.acc.openapi.client.util.CommonUtils
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.dtos.UrbanInvestmentPlatformDto
;
...
...
@@ -49,22 +50,46 @@ public class UrbanInvestmentPlatformServiceImpl implements UrbanInvestmentPlatfo
}
ArrayList
<
String
>
uipIds
=
new
ArrayList
<>();
ArrayList
<
Long
>
cIds
=
new
ArrayList
<>();
for
(
Object
dataMap
:
list
)
{
uipIds
.
add
(
MapUtils
.
getString
(
CommonUtils
.
assertAsMap
(
dataMap
),
"uipId"
));
cIds
.
add
(
MapUtils
.
getLong
(
CommonUtils
.
assertAsMap
(
dataMap
),
"companyId"
));
}
// List<String> claimStatusList = iCustomerService.selectUipIdList(uipIds);
List
<
CustomerStatusListVo
>
customerStatusListVos
=
iCustomerService
.
selectStatusList
(
uipIds
);
Map
<
String
,
Object
>
bondCreditRatingBatchMap
=
new
HashMap
<>(
1
);
bondCreditRatingBatchMap
.
put
(
"cIds"
,
cIds
);
Map
<
String
,
Object
>
bondCreditRatingMap
=
dskOpenApiUtil
.
requestBody
(
"/operate/enterprise/bondCreditRatingBatch"
,
bondCreditRatingBatchMap
);
Integer
codeRating
=
MapUtils
.
getInteger
(
bondCreditRatingMap
,
"code"
,
300
);
ArrayList
<
Map
<
String
,
Object
>>
objArrayList
=
new
ArrayList
(
1
);
if
(
codeRating
.
equals
(
HttpStatus
.
OK
.
value
()))
{
Object
object
=
bondCreditRatingMap
.
get
(
"data"
);
if
(
ObjectUtil
.
isNotEmpty
(
object
))
{
objArrayList
=
(
ArrayList
)
object
;
}
}
//按照城投企业id合并两个list
//按照城投企业id合并两个list
for
(
Object
companyObj
:
list
)
{
Map
<
String
,
Object
>
companyMap
=
CommonUtils
.
assertAsMap
(
companyObj
);
Long
companyId
=
MapUtils
.
getLong
(
companyMap
,
"companyId"
);
String
uipId
=
MapUtils
.
getString
(
companyMap
,
"uipId"
);
companyMap
.
put
(
"claimStatus"
,
0
);
companyMap
.
put
(
"bratingSubjectLevel"
,
null
);
for
(
CustomerStatusListVo
vo
:
customerStatusListVos
)
{
if
(
uipId
.
equals
(
vo
.
getUipId
()))
{
companyMap
.
put
(
"claimStatus"
,
1
);
}
}
for
(
Map
<
String
,
Object
>
m
:
objArrayList
)
{
Long
companyIdCredit
=
MapUtils
.
getLong
(
m
,
"companyId"
,
0L
);
if
(
companyIdCredit
.
equals
(
companyId
))
{
companyMap
.
put
(
"bratingSubjectLevel"
,
m
.
get
(
"bratingSubjectLevel"
));
}
}
}
// for (Object companyObj : list) {
...
...
dsk-system/src/main/resources/mapper/business/BusinessBacklogMapper.xml
View file @
34146c04
...
...
@@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.dsk.system.mapper.BusinessBacklogMapper"
>
<resultMap
type=
"com.dsk.
common.core.domain.entity
.BusinessBacklog"
id=
"BusinessBacklogResult"
>
<resultMap
type=
"com.dsk.
system.domain.business
.BusinessBacklog"
id=
"BusinessBacklogResult"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"businessId"
column=
"business_id"
/>
<result
property=
"target"
column=
"target"
/>
...
...
@@ -21,71 +21,48 @@
target,
task,
finish_time,
state,
due_time,
if(due_time
<
now() and state = 0, 2 ,state) state,
create_time,
update_time
from business_backlog
</sql>
<select
id=
"selectBusinessBacklogList"
parameterType=
"com.dsk.
common.core.domain.entity.BusinessBacklog
"
<select
id=
"selectBusinessBacklogList"
parameterType=
"com.dsk.
system.domain.business.vo.BusinessBacklogListVo
"
resultMap=
"BusinessBacklogResult"
>
<include
refid=
"selectBusinessBacklogVo"
/>
<where>
<if
test=
"businessId != null "
>
and business_id = #{businessId}
</if>
where business_id = #{businessId}
<if
test=
"target != null and target != ''"
>
and target = #{target}
</if>
<if
test=
"task != null and task != ''"
>
and task = #{task}
</if>
<if
test=
"finishTime != null "
>
and finish_time = #{finishTime}
</if>
<if
test=
"state != null "
>
and state = #{state}
</if>
</where>
ORDER BY create_time DESC
</select>
<select
id=
"selectBusinessBacklogById"
parameterType=
"Long"
resultMap=
"BusinessBacklogResult"
>
<select
id=
"selectBusinessBacklogById"
resultMap=
"BusinessBacklogResult"
>
<include
refid=
"selectBusinessBacklogVo"
/>
where id = #{id}
</select>
<insert
id=
"insertBusinessBacklog"
parameterType=
"com.dsk.
common.core.domain.entity
.BusinessBacklog"
<insert
id=
"insertBusinessBacklog"
parameterType=
"com.dsk.
system.domain.business
.BusinessBacklog"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into business_backlog
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"businessId != null"
>
business_id,
</if>
<if
test=
"target != null"
>
target,
</if>
<if
test=
"task != null"
>
task,
</if>
<if
test=
"finishTime != null"
>
finish_time,
</if>
<if
test=
"state != null"
>
state,
</if>
<if
test=
"createTime != null"
>
create_time,
</if>
<if
test=
"updateTime != null"
>
update_time,
</if>
<if
test=
"dueTime != null"
>
due_time,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"businessId != null"
>
#{businessId},
</if>
<if
test=
"target != null"
>
#{target},
</if>
<if
test=
"task != null"
>
#{task},
</if>
<if
test=
"finishTime != null"
>
#{finishTime},
</if>
<if
test=
"state != null"
>
#{state},
</if>
<if
test=
"createTime != null"
>
#{createTime},
</if>
<if
test=
"updateTime != null"
>
#{updateTime},
</if>
<if
test=
"dueTime != null"
>
#{dueTime},
</if>
</trim>
</insert>
<update
id=
"updateBusinessBacklog"
parameterType=
"com.dsk.common.core.domain.entity.BusinessBacklog"
>
update business_backlog
<trim
prefix=
"SET"
suffixOverrides=
","
>
<if
test=
"businessId != null"
>
business_id = #{businessId},
</if>
<if
test=
"target != null"
>
target = #{target},
</if>
<if
test=
"task != null"
>
task = #{task},
</if>
<if
test=
"finishTime != null"
>
finish_time = #{finishTime},
</if>
<if
test=
"state != null"
>
state = #{state},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime},
</if>
<if
test=
"updateTime != null"
>
update_time = #{updateTime},
</if>
</trim>
where id = #{id}
</update>
<update
id=
"updateBacklogState"
>
update business_backlog
set state = 0
where state = 1
and finish_time
<
CURRENT_TIMESTAMP
<update
id=
"updateBusinessBacklog"
parameterType=
"com.dsk.system.domain.business.BusinessBacklog"
>
update business_backlog set finish_time = #{finishTime}, state = #{state} where id = #{id}
</update>
<delete
id=
"deleteBusinessBacklogById"
parameterType=
"Long"
>
...
...
@@ -100,4 +77,8 @@
#{id}
</foreach>
</delete>
<select
id=
"overdueCount"
resultType=
"java.lang.Integer"
>
select count(id) from business_backlog where business_id = #{businessId} and due_time
<
now() and state = 0
</select>
</mapper>
dsk-system/src/main/resources/mapper/business/BusinessFollowRecordMapper.xml
View file @
34146c04
...
...
@@ -75,7 +75,7 @@
</where>
ORDER BY f.creat_time DESC
</select>
<select
id=
"selectRelateProject"
resultType=
"com.dsk.system.domain.vo.BusinessListVo"
>
<select
id=
"selectRelateProject"
resultType=
"com.dsk.system.domain.
business.
vo.BusinessListVo"
>
select i.id,i.project_name as projectName
from business_info i
left join business_user u on u.business_id = i.id
...
...
dsk-system/src/main/resources/mapper/business/BusinessInfoMapper.xml
View file @
34146c04
...
...
@@ -78,11 +78,13 @@
construction_phone,
supervisor_unit,
supervisor_principal,
supervisor_phone
supervisor_phone,
construction_unit_uip_id,
construction_unit_cid
from business_info
</sql>
<select
id=
"selectBusinessInfoList"
resultType=
"com.dsk.system.domain.vo.BusinessListVo"
>
<select
id=
"selectBusinessInfoList"
resultType=
"com.dsk.system.domain.
business.
vo.BusinessListVo"
>
SELECT
i.id,
i.project_name projectName,
...
...
@@ -92,14 +94,16 @@
i.district_name districtName,
i.investment_amount investmentAmount,
i.construction_unit ownerCompany,
i.construction_unit_uip_id ownerCompanyUipId,
i.construction_unit_cid ownerCompanyCid,
MAX(f.creat_time) followTime,
u.nick_name nickName,
GROUP_CONCAT(DISTINCT l.label) label
FROM business_info i
LEFT JOIN business_user bu on bu.business_id = i.id
LEFT JOIN business_follow_record f on f.business_id = i.id
LEFT JOIN business_label l on l.business_id = i.id
LEFT JOIN business_user bu on bu.business_id = i.id
LEFT JOIN sys_user u on u.user_id = f.user_id
LEFT JOIN sys_user u on u.user_id = bu.user_id
<where>
<if
test=
"userId != null"
>
and bu.user_id = #{userId}
...
...
@@ -110,20 +114,8 @@
#{projectType}
</foreach>
</if>
<if
test=
"minAmount != null and minAmount != '' and minAmount != '0' and maxAmount != minAmount"
>
and i.investment_amount
>
#{minAmount}
</if>
<if
test=
"minAmount == '0' and maxAmount != minAmount"
>
and ((i.investment_amount
>
#{minAmount}
and i.investment_amount
<
= #{maxAmount})
or i.investment_amount is null)
</if>
<if
test=
"maxAmount != null and maxAmount != '' and maxAmount != minAmount and minAmount != '0'"
>
and i.investment_amount
<
= #{maxAmount}
</if>
<if
test=
"minAmount != null and minAmount != '' and maxAmount != null and maxAmount != '' and maxAmount == minAmount"
>
and i.investment_amount = #{minAmount}
</if>
<if
test=
"minAmount != null and minAmount != ''"
>
and i.investment_amount
>
= #{minAmount}
</if>
<if
test=
"maxAmount != null and maxAmount != ''"
>
and i.investment_amount
<
= #{maxAmount}
</if>
<if
test=
"projectStage != null and projectStage != ''"
>
and i.project_stage in
<foreach
collection=
"projectStage"
item=
"projectStage"
open=
"("
separator=
","
close=
")"
>
...
...
@@ -215,15 +207,14 @@
ORDER BY i.create_time DESC
</select>
<select
id=
"selectProjectName"
resultType=
"java.lang.String"
>
SELECT *
FROM
(SELECT project_name as name FROM business_info) AS bu
<where>
<if
test=
"projectName !=null and projectName!=''"
>
name like concat('%',#{projectName},'%')
</if>
</where>
<select
id=
"selectProjectName"
resultType=
"com.dsk.system.domain.business.vo.BusinessLikeProjectNameListVo"
>
SELECT
project_name, investment_amount, project_level, project_stage, project_type,
project_category, status
FROM business_info
where project_name like concat('%',#{projectName},'%')
order by project_name desc
limit 20
</select>
<select
id=
"selectBusinessInfoById"
parameterType=
"integer"
resultMap=
"BusinessInfoResult"
>
...
...
@@ -231,7 +222,7 @@
where id = #{id}
</select>
<select
id=
"selectTotal"
resultType=
"com.dsk.system.domain.vo.BusinessBrowseVo"
>
<select
id=
"selectTotal"
resultType=
"com.dsk.system.domain.
business.
vo.BusinessBrowseVo"
>
SELECT
count(DISTINCT c.id) contactsCount,
count(DISTINCT f.id) followRecordCount,
...
...
@@ -284,6 +275,8 @@
<if
test=
"supervisorUnit != null"
>
supervisor_unit,
</if>
<if
test=
"supervisorPrincipal != null"
>
supervisor_principal,
</if>
<if
test=
"supervisorPhone != null"
>
supervisor_phone,
</if>
<if
test=
"constructionUnitUipId != null"
>
construction_unit_uip_id,
</if>
<if
test=
"constructionUnitCid != null"
>
construction_unit_cid,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"projectName != null"
>
#{projectName},
</if>
...
...
@@ -321,6 +314,8 @@
<if
test=
"supervisorUnit != null"
>
#{supervisorUnit},
</if>
<if
test=
"supervisorPrincipal != null"
>
#{supervisorPrincipal},
</if>
<if
test=
"supervisorPhone != null"
>
#{supervisorPhone},
</if>
<if
test=
"constructionUnitUipId != null"
>
#{constructionUnitUipId},
</if>
<if
test=
"constructionUnitCid != null"
>
#{constructionUnitCid},
</if>
</trim>
</insert>
...
...
@@ -343,11 +338,11 @@
city_id = #{cityId},
district_name = #{districtName},
district_id = #{districtId},
construction_unit_uip_id = #{constructionUnitUipId},
construction_unit_cid = #{constructionUnitCid},
<if
test=
"projectType != null"
>
project_type = #{projectType},
</if>
<if
test=
"projectCategory != null"
>
project_category = #{projectCategory},
</if>
<if
test=
"isPrivate != null"
>
is_private = #{isPrivate},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime},
</if>
<if
test=
"updateTime != null"
>
update_time = #{updateTime},
</if>
<if
test=
"status != null"
>
status = #{status},
</if>
<if
test=
"customerId != null"
>
customer_id = #{customerId},
</if>
<if
test=
"evaluationBidWay != null"
>
evaluation_bid_way = #{evaluationBidWay},
</if>
...
...
@@ -427,8 +422,10 @@
<select
id=
"isRepetitionProjectName"
resultType=
"java.lang.Integer"
>
select count(i.id)
from business_info i
inner join business_user u on u.business_id = i.id
join business_user u on u.business_id = i.id
left join customer ct on ct.customer_id = i.customer_id
where i.project_name = #{projectName}
and u.user_id = #{userId}
<if
test=
"companyName != null and companyName != '' "
>
and ct.company_name =#{companyName}
</if>
</select>
</mapper>
dsk-system/src/main/resources/mapper/business/BusinessRelateCompanyMapper.xml
View file @
34146c04
...
...
@@ -12,10 +12,12 @@
<result
property=
"companyRole"
column=
"company_role"
/>
<result
property=
"responsiblePerson"
column=
"responsible_person"
/>
<result
property=
"phone"
column=
"phone"
/>
<result
property=
"isProprietor"
column=
"is_proprietor"
/>
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<result
property=
"depth"
column=
"depth"
/>
<result
property=
"company
Type"
column=
"company_type
"
/>
<result
property=
"company
UipId"
column=
"company_uip_id
"
/>
</resultMap>
<sql
id=
"selectBusinessRelateCompanyVo"
>
...
...
@@ -27,9 +29,11 @@
responsible_person,
phone,
depth,
is_proprietor,
remark,
create_time,
update_time,
company_
type
company_
uip_id
from business_relate_company
</sql>
...
...
@@ -48,7 +52,6 @@
#{responsiblePerson}
</if>
<if
test=
"phone != null and phone != ''"
>
and phone = #{phone}
</if>
<if
test=
"companyType != null and companyType != ''"
>
and company_type = #{companyType}
</if>
</where>
</select>
...
...
@@ -68,9 +71,9 @@
<if
test=
"companyRole != null"
>
company_role,
</if>
<if
test=
"responsiblePerson != null"
>
responsible_person,
</if>
<if
test=
"phone != null"
>
phone,
</if>
<if
test=
"
createTime != null"
>
create_time
,
</if>
<if
test=
"
updateTime != null"
>
update_time
,
</if>
<if
test=
"company
Type != null"
>
company_type
,
</if>
<if
test=
"
isProprietor != null"
>
is_proprietor
,
</if>
<if
test=
"
remark != null and remark != '' "
>
remark
,
</if>
<if
test=
"company
UipId != null"
>
company_uip_id
,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"businessId != null"
>
#{businessId},
</if>
...
...
@@ -80,26 +83,24 @@
<if
test=
"companyRole != null"
>
#{companyRole},
</if>
<if
test=
"responsiblePerson != null"
>
#{responsiblePerson},
</if>
<if
test=
"phone != null"
>
#{phone},
</if>
<if
test=
"
createTime != null"
>
#{createTime
},
</if>
<if
test=
"
updateTime != null"
>
#{updateTime
},
</if>
<if
test=
"company
Type != null"
>
#{companyType
},
</if>
<if
test=
"
isProprietor != null"
>
#{isProprietor
},
</if>
<if
test=
"
remark != null and remark != ''"
>
#{remark
},
</if>
<if
test=
"company
UipId != null"
>
#{companyUipId
},
</if>
</trim>
</insert>
<update
id=
"updateBusinessRelateCompany"
parameterType=
"com.dsk.common.core.domain.entity.BusinessRelateCompany"
>
update business_relate_company
<trim
prefix=
"SET"
suffixOverrides=
","
>
<if
test=
"businessId != null"
>
business_id = #{businessId},
</if>
<set>
<if
test=
"companyId != null"
>
company_id = #{companyId},
</if>
<if
test=
"companyUipId != null"
>
company_uip_id = #{companyUipId},
</if>
<if
test=
"companyName != null"
>
company_name = #{companyName},
</if>
<if
test=
"depth != null"
>
depth = #{depth},
</if>
<if
test=
"companyRole != null"
>
company_role = #{companyRole},
</if>
<if
test=
"responsiblePerson != null"
>
responsible_person = #{responsiblePerson},
</if>
<if
test=
"phone != null"
>
phone = #{phone},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime},
</if>
<if
test=
"updateTime != null"
>
update_time = #{updateTime},
</if>
<if
test=
"companyType != null"
>
company_type = #{companyType},
</if>
</trim>
<if
test=
"remark != null"
>
remark = #{remark},
</if>
</set>
where id = #{id}
</update>
...
...
@@ -115,4 +116,9 @@
#{id}
</foreach>
</delete>
<select
id=
"selectByProprietor"
resultType=
"com.dsk.common.core.domain.entity.BusinessRelateCompany"
>
<include
refid=
"selectBusinessRelateCompanyVo"
/>
where business_id = #{businessId} and is_proprietor = 1
</select>
</mapper>
dsk-system/src/main/resources/mapper/system/customer/ContactInfoMapper.xml
0 → 100644
View file @
34146c04
<?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.system.mapper.ContactInfoMapper"
>
<select
id=
"selectPageList"
resultType=
"com.dsk.system.domain.customer.vo.ContactInfoListVo"
>
select
cc.id, cc.customer_id, cc.project_id, bi.project_name, cc.name, cc.sex, cc.role,
cc.position, cc.contact_information, cc.company_id, cc.uip_id, cc.company_name,
cc.update_by
from contact_info cc
left join business_info bi on cc.project_id = bi.id
<where>
<if
test=
"cc.customerId != null and cc.customerId !='' "
>
and (cc.customer_id = #{customerId} or cc.company_name =#{companyName})
</if>
<if
test=
"cc.projectId != null "
>
and cc.project_id = #{projectId}
</if>
</where>
order by cc.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