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
4c1ac7ba
Commit
4c1ac7ba
authored
Jun 09, 2023
by
zhangyi
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
2df62e52
26282b9d
Changes
21
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
262 additions
and
458 deletions
+262
-458
BusinessFileController.java
...m/dsk/web/controller/business/BusinessFileController.java
+8
-19
FileUtils.java
...on/src/main/java/com/dsk/common/utils/file/FileUtils.java
+97
-36
SecurityConfig.java
...rc/main/java/com/dsk/framework/config/SecurityConfig.java
+1
-1
company_logo.png
dsk-operate-ui/src/assets/images/detail/company_logo.png
+0
-0
common.js
dsk-operate-ui/src/assets/js/common.js
+11
-1
index.js
dsk-operate-ui/src/router/index.js
+2
-2
Header.vue
dsk-operate-ui/src/views/detail/party-a/component/Header.vue
+4
-13
Sidebar.vue
...operate-ui/src/views/detail/party-a/component/Sidebar.vue
+2
-1
index.vue
dsk-operate-ui/src/views/detail/party-a/index.vue
+10
-8
infoheader.vue
...rc/views/detail/party-a/overview/component/infoheader.vue
+62
-323
overview.vue
...operate-ui/src/views/detail/party-a/overview/overview.vue
+2
-2
index.vue
dsk-operate-ui/src/views/macro/economies/index.vue
+1
-1
index.vue
dsk-operate-ui/src/views/macro/enterprises/index.vue
+1
-1
index.vue
dsk-operate-ui/src/views/macro/financing/index.vue
+30
-14
BusinessListDto.java
.../src/main/java/com/dsk/system/domain/BusinessListDto.java
+0
-6
BusinessBrowseVo.java
.../main/java/com/dsk/system/domain/vo/BusinessBrowseVo.java
+6
-1
BusinessFollowRecordMapper.java
...ava/com/dsk/system/mapper/BusinessFollowRecordMapper.java
+2
-1
IBusinessFollowRecordService.java
.../com/dsk/system/service/IBusinessFollowRecordService.java
+2
-1
BusinessFollowRecordServiceImpl.java
.../system/service/impl/BusinessFollowRecordServiceImpl.java
+9
-6
BusinessInfoServiceImpl.java
.../com/dsk/system/service/impl/BusinessInfoServiceImpl.java
+6
-6
BusinessFollowRecordMapper.xml
.../resources/mapper/business/BusinessFollowRecordMapper.xml
+6
-15
No files found.
dsk-admin/src/main/java/com/dsk/web/controller/business/BusinessFileController.java
View file @
4c1ac7ba
...
@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.*;
...
@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.*;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -69,17 +70,6 @@ public class BusinessFileController extends BaseController {
...
@@ -69,17 +70,6 @@ public class BusinessFileController extends BaseController {
return
getDataTable
(
allFiles
);
return
getDataTable
(
allFiles
);
}
}
/* *//**
* 上传文件及文件夹
* @param url
* @param folderPath
* @return
*//*
@GetMapping("/upload/{url}/{folderPath}")
public AjaxResult uploadFolder(@PathVariable("url") String url,@PathVariable("folderPath") String folderPath) throws IOException {
return toAjax(FileUtils.uploadFolder(url, LOCALPATH + folderPath));
}*/
/**
/**
* 上传文件及文件夹
* 上传文件及文件夹
* @param file 文件流
* @param file 文件流
...
@@ -87,7 +77,7 @@ public class BusinessFileController extends BaseController {
...
@@ -87,7 +77,7 @@ public class BusinessFileController extends BaseController {
* @return
* @return
*/
*/
@PostMapping
(
"/upload"
)
@PostMapping
(
"/upload"
)
public
AjaxResult
uploadFolder
(
@RequestPart
(
"file"
)
MultipartFile
file
,
HttpServletRequest
request
){
public
AjaxResult
uploadFolder
(
@RequestPart
(
"file"
)
MultipartFile
file
,
HttpServletRequest
request
){
try
{
try
{
String
businessFileName
=
request
.
getHeader
(
"FilePath"
);
String
businessFileName
=
request
.
getHeader
(
"FilePath"
);
// 上传文件路径
// 上传文件路径
...
@@ -96,7 +86,7 @@ public class BusinessFileController extends BaseController {
...
@@ -96,7 +86,7 @@ public class BusinessFileController extends BaseController {
String
fileName
=
FileUploadUtils
.
upload
(
filePath
,
file
);
String
fileName
=
FileUploadUtils
.
upload
(
filePath
,
file
);
String
url
=
serverConfig
.
getUrl
()
+
fileName
;
String
url
=
serverConfig
.
getUrl
()
+
fileName
;
AjaxResult
ajax
=
AjaxResult
.
success
();
AjaxResult
ajax
=
AjaxResult
.
success
();
ajax
.
put
(
"url"
,
url
);
ajax
.
put
(
"url"
,
fileName
);
return
ajax
;
return
ajax
;
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
return
AjaxResult
.
error
(
e
.
getMessage
());
return
AjaxResult
.
error
(
e
.
getMessage
());
...
@@ -105,12 +95,11 @@ public class BusinessFileController extends BaseController {
...
@@ -105,12 +95,11 @@ public class BusinessFileController extends BaseController {
/**
/**
* 下载文件
* 下载文件
* @param url
* @param filePath 要下载的文件路径
* @param targetFolder
* @param response 返回的响应
* @return
*/
*/
@
GetMapping
(
"/download/{url}/{targetFolder}
"
)
@
PostMapping
(
"/download
"
)
public
AjaxResult
downloadFolder
(
@PathVariable
(
"url"
)
String
url
,
@PathVariable
(
"targetFolder"
)
String
targetFolder
)
throws
IOException
{
public
void
downloadFolder
(
@RequestBody
BusinessIdDto
filePath
,
HttpServletResponse
response
)
{
return
toAjax
(
FileUtils
.
downloadFolder
(
url
,
targetFolder
)
);
FileUtils
.
downloadByFilePath
(
filePath
.
getFilePath
(),
response
);
}
}
}
}
dsk-common/src/main/java/com/dsk/common/utils/file/FileUtils.java
View file @
4c1ac7ba
...
@@ -4,6 +4,7 @@ import com.dsk.common.config.RuoYiConfig;
...
@@ -4,6 +4,7 @@ import com.dsk.common.config.RuoYiConfig;
import
com.dsk.common.core.domain.entity.BusinessFileVo
;
import
com.dsk.common.core.domain.entity.BusinessFileVo
;
import
com.dsk.common.exception.base.BaseException
;
import
com.dsk.common.exception.base.BaseException
;
import
com.dsk.common.utils.DateUtils
;
import
com.dsk.common.utils.DateUtils
;
import
com.dsk.common.utils.ServletUtils
;
import
com.dsk.common.utils.StringUtils
;
import
com.dsk.common.utils.StringUtils
;
import
com.dsk.common.utils.uuid.IdUtils
;
import
com.dsk.common.utils.uuid.IdUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -29,8 +30,6 @@ import java.nio.charset.StandardCharsets;
...
@@ -29,8 +30,6 @@ import java.nio.charset.StandardCharsets;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.zip.ZipEntry
;
import
java.util.zip.ZipInputStream
;
/**
/**
* 文件处理工具类
* 文件处理工具类
...
@@ -313,46 +312,95 @@ public class FileUtils
...
@@ -313,46 +312,95 @@ public class FileUtils
}
}
/**
/**
* 下载文件
* 根据文件路径下载文件
* @param url 要下载的文件链接
* @param filePath 要下载的文件路径
* @param targetFolder 目标文件
* @param response 返回的响应
*/
public
static
void
downloadByFilePath
(
String
filePath
,
HttpServletResponse
response
)
{
try
{
// path是指想要下载的文件的路径
File
file
=
new
File
(
filePath
);
// log.info(file.getPath());
if
(!
file
.
exists
())
throw
new
BaseException
(
"文件不存在!"
);
// 获取文件名
String
filename
=
file
.
getName
();
// log.info("文件名: "+filename);
// 获取文件后缀名
// String ext = filename.substring(filename.lastIndexOf(".") + 1).toLowerCase();
// log.info("文件后缀名:" + ext);
// 将文件写入输入流
FileInputStream
fileInputStream
=
new
FileInputStream
(
file
);
InputStream
fis
=
new
BufferedInputStream
(
fileInputStream
);
byte
[]
buffer
=
new
byte
[
fis
.
available
()];
fis
.
read
(
buffer
);
// 清空response
response
.
reset
();
// 设置response的Header
response
.
setCharacterEncoding
(
"UTF-8"
);
//文件类型
response
.
setContentType
(
"application/octet-stream"
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment;filename="
+
URLEncoder
.
encode
(
filename
,
"UTF-8"
));
//文件名称
response
.
addHeader
(
"Download-filename"
,
URLEncoder
.
encode
(
filename
,
"UTF-8"
));
// 告知浏览器文件的大小
response
.
addHeader
(
"Content-Length"
,
""
+
file
.
length
());
OutputStream
outputStream
=
new
BufferedOutputStream
(
response
.
getOutputStream
());
outputStream
.
write
(
buffer
);
fis
.
close
();
outputStream
.
flush
();
}
catch
(
IOException
ex
)
{
ex
.
printStackTrace
();
}
}
/**
* 根据文件url下载文件
* @param filePath 要下载的文件链接
* @param response 响应体
* @return
* @return
* @throws IOException
* @throws IOException
*/
*/
public
static
boolean
downloadFolder
(
String
url
,
String
targetFolder
)
throws
IOException
{
public
static
void
downloadByUrl
(
String
filePath
,
HttpServletResponse
response
){
URL
downloadUrl
=
new
URL
(
url
);
// String fileUrl = request.getParameter("fileUrl"); // 获取文件链接
HttpURLConnection
connection
=
(
HttpURLConnection
)
downloadUrl
.
openConnection
();
connection
.
setRequestMethod
(
"GET"
);
connection
.
connect
();
if
(
connection
.
getResponseCode
()
!=
HttpURLConnection
.
HTTP_OK
)
{
try
{
throw
new
RuntimeException
(
"下载文件夹失败: "
+
connection
.
getResponseMessage
());
URL
url
=
new
URL
(
filePath
);
}
HttpURLConnection
connection
=
(
HttpURLConnection
)
url
.
openConnection
();
connection
.
setRequestMethod
(
"GET"
);
try
(
ZipInputStream
zipInputStream
=
new
ZipInputStream
(
connection
.
getInputStream
()))
{
// 设置响应头,告诉浏览器下载文件
ZipEntry
entry
;
String
contentType
=
connection
.
getContentType
();
// 获取文件类型
while
((
entry
=
zipInputStream
.
getNextEntry
())
!=
null
)
{
response
.
setContentType
(
contentType
);
String
entryName
=
entry
.
getName
();
String
filename
=
extractFilenameFromUrl
(
filePath
);
// 从链接中提取文件名
if
(
StringUtils
.
isBlank
(
entryName
))
{
response
.
setHeader
(
"Content-Disposition"
,
"attachment; filename="
+
filename
+
""
);
continue
;
}
File
entryFile
=
new
File
(
targetFolder
,
entryName
);
// 将文件流写入响应输出流
if
(
entry
.
isDirectory
())
{
InputStream
inputStream
=
connection
.
getInputStream
();
entryFile
.
mkdirs
();
byte
[]
buffer
=
new
byte
[
4096
];
}
else
{
int
bytesRead
=
-
1
;
File
parent
=
entryFile
.
getParentFile
();
while
((
bytesRead
=
inputStream
.
read
(
buffer
))
!=
-
1
)
{
if
(!
parent
.
exists
())
{
response
.
getOutputStream
().
write
(
buffer
,
0
,
bytesRead
);
parent
.
mkdirs
();
}
}
inputStream
.
close
();
try
(
FileOutputStream
outputStream
=
new
FileOutputStream
(
entryFile
))
{
connection
.
disconnect
();
IOUtils
.
copy
(
zipInputStream
,
outputStream
);
}
catch
(
Exception
e
)
{
}
e
.
printStackTrace
();
}
}
}
}
// 从文件链接中提取文件名
public
static
String
extractFilenameFromUrl
(
String
url
)
{
int
slashIndex
=
url
.
lastIndexOf
(
'/'
);
int
dotIndex
=
url
.
lastIndexOf
(
'.'
);
if
(
dotIndex
==
-
1
||
dotIndex
<
slashIndex
)
{
return
"download"
;
}
}
return
true
;
return
url
.
substring
(
slashIndex
+
1
)
;
}
}
/**
/**
...
@@ -568,4 +616,17 @@ public class FileUtils
...
@@ -568,4 +616,17 @@ public class FileUtils
String
baseName
=
FilenameUtils
.
getBaseName
(
fileName
);
String
baseName
=
FilenameUtils
.
getBaseName
(
fileName
);
return
baseName
;
return
baseName
;
}
}
/**
* 获取本地服务的域名,端口
* @return
*/
public
static
String
getUrl
()
{
HttpServletRequest
request
=
ServletUtils
.
getRequest
();
StringBuffer
url
=
request
.
getRequestURL
();
String
contextPath
=
request
.
getServletContext
().
getContextPath
();
return
url
.
delete
(
url
.
length
()
-
request
.
getRequestURI
().
length
(),
url
.
length
()).
append
(
contextPath
).
toString
();
}
}
}
dsk-framework/src/main/java/com/dsk/framework/config/SecurityConfig.java
View file @
4c1ac7ba
...
@@ -111,7 +111,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
...
@@ -111,7 +111,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
// 过滤请求
// 过滤请求
.
authorizeRequests
()
.
authorizeRequests
()
// 对于登录login 注册register 验证码captchaImage 允许匿名访问
// 对于登录login 注册register 验证码captchaImage 允许匿名访问
.
antMatchers
(
"/login"
,
"/register"
,
"/captchaImage"
,
"/economic/**"
,
"/enterprises/**"
,
"/specialPurposeBonds/**"
,
"/urbanInvestment/**"
,
"/enterprise/**"
).
permitAll
()
.
antMatchers
(
"/login"
,
"/register"
,
"/captchaImage"
).
permitAll
()
// 静态资源,可匿名访问
// 静态资源,可匿名访问
.
antMatchers
(
HttpMethod
.
GET
,
"/"
,
"/*.html"
,
"/**/*.html"
,
"/**/*.css"
,
"/**/*.js"
,
"/profile/**"
).
permitAll
()
.
antMatchers
(
HttpMethod
.
GET
,
"/"
,
"/*.html"
,
"/**/*.html"
,
"/**/*.css"
,
"/**/*.js"
,
"/profile/**"
).
permitAll
()
.
antMatchers
(
"/swagger-ui.html"
,
"/swagger-resources/**"
,
"/webjars/**"
,
"/*/api-docs"
,
"/druid/**"
).
permitAll
()
.
antMatchers
(
"/swagger-ui.html"
,
"/swagger-resources/**"
,
"/webjars/**"
,
"/*/api-docs"
,
"/druid/**"
).
permitAll
()
...
...
dsk-operate-ui/src/assets/images/detail/company_logo.png
0 → 100644
View file @
4c1ac7ba
13.6 KB
dsk-operate-ui/src/assets/js/common.js
View file @
4c1ac7ba
...
@@ -40,6 +40,16 @@ function changeStr(str, index, changeStr) {
...
@@ -40,6 +40,16 @@ function changeStr(str, index, changeStr) {
return
str
.
substr
(
0
,
index
)
+
changeStr
+
str
.
substr
(
index
+
changeStr
.
length
)
return
str
.
substr
(
0
,
index
)
+
changeStr
+
str
.
substr
(
index
+
changeStr
.
length
)
}
}
//甲方详情子页面互跳
function
changePath
(
that
,
pathName
){
try
{
that
.
$parent
.
showPartPage
({
pathName
})
}
catch
{
that
.
$parent
.
$parent
.
showPartPage
({
pathName
})
}
}
export
{
export
{
encodeStr
encodeStr
,
changePath
}
}
dsk-operate-ui/src/router/index.js
View file @
4c1ac7ba
...
@@ -116,7 +116,7 @@ export const constantRoutes = [
...
@@ -116,7 +116,7 @@ export const constantRoutes = [
]
]
},
},
{
{
path
:
'/financing
Details
'
,
path
:
'/financing'
,
component
:
Layout
,
component
:
Layout
,
hidden
:
true
,
hidden
:
true
,
redirect
:
'noredirect'
,
redirect
:
'noredirect'
,
...
@@ -125,7 +125,7 @@ export const constantRoutes = [
...
@@ -125,7 +125,7 @@ export const constantRoutes = [
path
:
'/macro/financing/details/:id(
\\
d+)'
,
path
:
'/macro/financing/details/:id(
\\
d+)'
,
component
:
()
=>
import
(
'@/views/macro/financing/details'
),
component
:
()
=>
import
(
'@/views/macro/financing/details'
),
name
:
'financingDetails'
,
name
:
'financingDetails'
,
meta
:
{
title
:
'区域专项债详情'
}
meta
:
{
title
:
'区域专项债详情'
,
icon
:
''
}
}
}
]
]
},
},
...
...
dsk-operate-ui/src/views/detail/party-a/component/Header.vue
View file @
4c1ac7ba
...
@@ -4,36 +4,27 @@
...
@@ -4,36 +4,27 @@
<el-breadcrumb
separator=
"/"
>
<el-breadcrumb
separator=
"/"
>
<el-breadcrumb-item
:to=
"
{ path: '/enterpriseData' }">企业数据
</el-breadcrumb-item>
<el-breadcrumb-item
:to=
"
{ path: '/enterpriseData' }">企业数据
</el-breadcrumb-item>
<el-breadcrumb-item
:to=
"
{ path: '/enterpriseData?tag=1' }">查企业
</el-breadcrumb-item>
<el-breadcrumb-item
:to=
"
{ path: '/enterpriseData?tag=1' }">查企业
</el-breadcrumb-item>
<el-breadcrumb-item>
中铁一建
</el-breadcrumb-item>
<el-breadcrumb-item>
{{
companyInfo
.
simpleName
||
companyInfo
.
companyName
||
'--'
}}
</el-breadcrumb-item>
</el-breadcrumb>
</el-breadcrumb>
</div>
</div>
<div
class=
"flex-box part-header"
>
<div
class=
"flex-box part-header"
>
<img
class=
"header-logo"
src=
"@/assets/images/avatar.png
"
>
<img
class=
"header-logo"
:src=
"companyInfo.logoUrl || require('@/assets/images/detail/company_logo.png')
"
>
中交第二航务工程局有限公司
{{
companyInfo
.
companyName
||
'--'
}}
</div>
</div>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
infoHeader
}
from
'@/api/detail/party-a/index'
export
default
{
export
default
{
name
:
'Header'
,
name
:
'Header'
,
props
:
[
'companyId'
],
props
:
[
'companyId'
,
'companyInfo'
],
data
()
{
data
()
{
return
{
return
{
enterprise
:
{}
}
}
},
},
created
()
{
created
()
{
this
.
getInfoHeader
()
},
},
methods
:
{
methods
:
{
async
getInfoHeader
(){
let
{
data
}
=
await
infoHeader
({
companyId
:
this
.
companyId
})
if
(
data
.
code
==
200
){
this
.
enterprise
=
data
.
data
}
}
}
}
}
}
</
script
>
</
script
>
...
...
dsk-operate-ui/src/views/detail/party-a/component/Sidebar.vue
View file @
4c1ac7ba
...
@@ -8,6 +8,7 @@
...
@@ -8,6 +8,7 @@
</el-input>
</el-input>
<el-menu
<el-menu
:default-active=
"routeIndex"
:default-active=
"routeIndex"
:unique-opened=
"true"
class=
"detail-menu"
class=
"detail-menu"
@
open=
"handleOpen"
>
@
open=
"handleOpen"
>
<template
v-for=
"(item, index) in sideRoute"
>
<template
v-for=
"(item, index) in sideRoute"
>
...
@@ -119,7 +120,7 @@ export default {
...
@@ -119,7 +120,7 @@ export default {
break
break
}
else
if
(
sideArr
[
i
].
children
){
}
else
if
(
sideArr
[
i
].
children
){
for
(
let
j
=
0
;
j
<
sideArr
[
i
].
children
.
length
;
j
++
){
for
(
let
j
=
0
;
j
<
sideArr
[
i
].
children
.
length
;
j
++
){
if
(
sideArr
[
i
].
children
.
pathName
==
this
.
pathName
){
if
(
sideArr
[
i
].
children
[
j
]
.
pathName
==
this
.
pathName
){
idx
=
i
+
'-'
+
j
idx
=
i
+
'-'
+
j
break
break
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/index.vue
View file @
4c1ac7ba
<
template
>
<
template
>
<div
class=
"app-container part-container"
>
<div
class=
"app-container part-container"
>
<Header
:company-id=
"companyId"
v-if=
"companyId"
/>
<Header
:company-id=
"companyId"
:companyInfo=
"companyInfo"
v-if=
"companyId"
/>
<div
class=
"flex-box part-main"
>
<div
class=
"flex-box part-main"
>
<div
class=
"part-left"
>
<div
class=
"part-left"
>
<side-bar
@
currentPath=
"showPartPage"
:pathName=
"currentPath.pathName"
:partBoxHeight=
"partBoxHeight"
:customerId=
"customerId"
/>
<side-bar
@
currentPath=
"showPartPage"
:pathName=
"currentPath.pathName"
:partBoxHeight=
"partBoxHeight"
:customerId=
"customerId"
/>
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
<div
class=
"part-right"
>
<div
class=
"part-right"
>
<div
id=
"partBox"
v-if=
"companyId"
>
<div
id=
"partBox"
v-if=
"companyId"
>
<!-- 企业概览 -->
<!-- 企业概览 -->
<Overview
v-if=
"currentPath.pathName=='overview'"
:company-id=
"companyId"
/>
<Overview
v-if=
"currentPath.pathName=='overview'"
:company-id=
"companyId"
:companyInfo=
"companyInfo"
/>
<Businfo
v-if=
"currentPath.pathName=='businfo'"
:company-id=
"companyId"
/>
<Businfo
v-if=
"currentPath.pathName=='businfo'"
:company-id=
"companyId"
/>
<Holderinfo
v-if=
"currentPath.pathName=='holderinfo'"
:company-id=
"companyId"
/>
<Holderinfo
v-if=
"currentPath.pathName=='holderinfo'"
:company-id=
"companyId"
/>
<Execuinfo
v-if=
"currentPath.pathName=='execuinfo'"
:company-id=
"companyId"
/>
<Execuinfo
v-if=
"currentPath.pathName=='execuinfo'"
:company-id=
"companyId"
/>
...
@@ -142,7 +142,7 @@ export default {
...
@@ -142,7 +142,7 @@ export default {
data
()
{
data
()
{
return
{
return
{
companyInfo
:
{},
companyInfo
:
{},
companyId
:
10361319
,
//企业Id(测试默认3068)
companyId
:
'565476563130566e69'
,
//企业Id(测试默认3068)
customerId
:
''
,
//企业Id(测试默认'a00d582a6041f32c16aac804e4924736')
customerId
:
''
,
//企业Id(测试默认'a00d582a6041f32c16aac804e4924736')
currentPath
:
{
currentPath
:
{
pathName
:
'overview'
//默认展示页
pathName
:
'overview'
//默认展示页
...
@@ -152,8 +152,10 @@ export default {
...
@@ -152,8 +152,10 @@ export default {
},
},
created
()
{
created
()
{
if
(
this
.
$route
.
query
.
companyId
)
{
// 获取companyId
if
(
this
.
$route
.
query
.
companyId
)
{
// 获取companyId
let
id
=
this
.
$route
.
query
.
companyId
let
companyId
=
this
.
$route
.
query
.
companyId
this
.
getCompanyId
(
id
)
this
.
getCompanyId
(
companyId
)
}
else
{
//测试
this
.
getCompanyId
(
this
.
companyId
)
}
}
if
(
this
.
$route
.
query
.
path
)
{
// 获取跳转对应板块
if
(
this
.
$route
.
query
.
path
)
{
// 获取跳转对应板块
this
.
currentPath
.
pathName
=
this
.
$route
.
query
.
path
this
.
currentPath
.
pathName
=
this
.
$route
.
query
.
path
...
@@ -176,9 +178,9 @@ export default {
...
@@ -176,9 +178,9 @@ export default {
},
},
// 解密
// 解密
async
getCompanyId
(
companyId
){
async
getCompanyId
(
companyId
){
let
{
data
}
=
await
idRemark
({
companyId
})
let
{
data
}
=
await
idRemark
({
mark
:
companyId
})
if
(
data
.
code
==
200
){
if
(
data
){
this
.
companyId
=
data
.
data
this
.
companyId
=
data
this
.
handleQuery
()
this
.
handleQuery
()
}
}
},
},
...
...
dsk-operate-ui/src/views/detail/party-a/overview/component/infoheader.vue
View file @
4c1ac7ba
This diff is collapsed.
Click to expand it.
dsk-operate-ui/src/views/detail/party-a/overview/overview.vue
View file @
4c1ac7ba
<
template
>
<
template
>
<div
class=
"app-container part-container"
>
<div
class=
"app-container part-container"
>
<div
class=
"view-content"
><Infoheader
/></div>
<!-- 企业信息 -->
<div
class=
"view-content"
><Infoheader
:companyId=
"companyId"
:companyInfo=
"companyInfo"
/></div>
<!-- 企业信息 -->
<div
class=
"view-content"
><Operations
/></div>
<!-- 公司经营 -->
<div
class=
"view-content"
><Operations
/></div>
<!-- 公司经营 -->
<div
class=
"view-content"
><Bidding
/></div>
<!--招标偏好、业务往来-->
<div
class=
"view-content"
><Bidding
/></div>
<!--招标偏好、业务往来-->
<div
class=
"view-content"
><Busclue
/></div>
<!--商机线索-->
<div
class=
"view-content"
><Busclue
/></div>
<!--商机线索-->
...
@@ -22,7 +22,7 @@ import Risk from './component/risk'
...
@@ -22,7 +22,7 @@ import Risk from './component/risk'
import
Tender
from
"./component/tender"
import
Tender
from
"./component/tender"
export
default
{
export
default
{
name
:
'Overview'
,
name
:
'Overview'
,
props
:
[
'companyId'
],
props
:
[
'companyId'
,
'companyInfo'
],
components
:
{
components
:
{
Infoheader
,
Infoheader
,
Operations
,
Operations
,
...
...
dsk-operate-ui/src/views/macro/economies/index.vue
View file @
4c1ac7ba
...
@@ -32,7 +32,7 @@ export default {
...
@@ -32,7 +32,7 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
activeName
:
'f
our
'
,
activeName
:
'f
irst
'
,
dataQuery
:{},
dataQuery
:{},
province
:
''
province
:
''
}
}
...
...
dsk-operate-ui/src/views/macro/enterprises/index.vue
View file @
4c1ac7ba
...
@@ -68,7 +68,7 @@
...
@@ -68,7 +68,7 @@
// import LocalEnterprises from './component/localEnterprises'
// import LocalEnterprises from './component/localEnterprises'
// import Offsite from './component/offsite'
// import Offsite from './component/offsite'
import
aptitudeCode
from
'@/assets/json/aptitudeCode'
import
aptitudeCode
from
'@/assets/json/aptitudeCode'
import
{
countGroupByMonth
,
countGroupByProvince
,
getYear
}
from
'@/api/macro/macro'
import
{
enterprise
}
from
'@/api/macro/macro'
export
default
{
export
default
{
name
:
'Enterprises'
,
name
:
'Enterprises'
,
// components: {LocalEnterprises,Offsite},
// components: {LocalEnterprises,Offsite},
...
...
dsk-operate-ui/src/views/macro/financing/index.vue
View file @
4c1ac7ba
...
@@ -11,15 +11,16 @@
...
@@ -11,15 +11,16 @@
:data=
"tableData"
:data=
"tableData"
element-loading-text=
"Loading"
element-loading-text=
"Loading"
border
border
show-summary
height=
"360"
height=
"360"
fit
fit
@
sort-change=
"sortChange"
@
sort-change=
"sortChange"
highlight-current-row
highlight-current-row
>
>
<el-table-column
prop=
"name"
label=
"项目类型"
width=
"150"
/>
<el-table-column
prop=
"name"
label=
"项目类型"
width=
"150"
/>
<el-table-column
prop=
"
value
"
label=
"项目个数"
sortable=
"custom"
width=
"140"
/>
<el-table-column
prop=
"
number
"
label=
"项目个数"
sortable=
"custom"
width=
"140"
/>
<el-table-column
prop=
"
totalInvestment
"
label=
"投资额(亿元)"
sortable=
"custom"
width=
"140"
/>
<el-table-column
prop=
"
value
"
label=
"投资额(亿元)"
sortable=
"custom"
width=
"140"
/>
<el-table-column
prop=
"proportion"
label=
"比例"
width=
"140"
sortable=
"custom"
/>
<el-table-column
prop=
"proportion"
label=
"比例
(%)
"
width=
"140"
sortable=
"custom"
/>
</el-table>
</el-table>
</div>
</div>
</div>
</div>
...
@@ -37,6 +38,7 @@
...
@@ -37,6 +38,7 @@
v-loading=
"tableLoading"
v-loading=
"tableLoading"
:data=
"listData"
:data=
"listData"
element-loading-text=
"Loading"
element-loading-text=
"Loading"
@
sort-change=
"sortChange1"
border
border
fit
fit
highlight-current-row
highlight-current-row
...
@@ -49,10 +51,10 @@
...
@@ -49,10 +51,10 @@
<router-link
:to=
"'/macro/financing/details/'+ scope.row.id"
tag=
"a"
class=
"a-link"
>
{{
scope
.
row
.
projectName
}}
</router-link>
<router-link
:to=
"'/macro/financing/details/'+ scope.row.id"
tag=
"a"
class=
"a-link"
>
{{
scope
.
row
.
projectName
}}
</router-link>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"projectTotalInvestment"
label=
"项目总投资(亿)"
sortable
width=
"155"
/>
<el-table-column
prop=
"projectTotalInvestment"
label=
"项目总投资(亿)"
sortable
=
"custom"
width=
"155"
/>
<el-table-column
prop=
"projectCapital"
label=
"项目资本金(亿)"
sortable
width=
"155"
/>
<el-table-column
prop=
"projectCapital"
label=
"项目资本金(亿)"
sortable
=
"custom"
width=
"155"
/>
<el-table-column
prop=
"econData007"
label=
"项目收益倍数(倍)"
width=
"150"
/>
<el-table-column
prop=
"econData007"
label=
"项目收益倍数(倍)"
sortable=
"custom"
width=
"150"
/>
<el-table-column
prop=
"zxz"
label=
"专项债金额(亿)"
width=
"150"
/>
<el-table-column
prop=
"zxz"
label=
"专项债金额(亿)"
sortable=
"custom"
width=
"150"
/>
<el-table-column
prop=
"specialCapital"
label=
"专项债用作资本金(亿)"
width=
"170"
/>
<el-table-column
prop=
"specialCapital"
label=
"专项债用作资本金(亿)"
width=
"170"
/>
<el-table-column
prop=
"projectEntity"
label=
"项目主体"
>
<el-table-column
prop=
"projectEntity"
label=
"项目主体"
>
<!--<template slot-scope="scope">-->
<!--<template slot-scope="scope">-->
...
@@ -126,8 +128,9 @@ export default {
...
@@ -126,8 +128,9 @@ export default {
for
(
var
i
=
0
;
i
<
res
.
data
.
length
;
i
++
){
for
(
var
i
=
0
;
i
<
res
.
data
.
length
;
i
++
){
var
obj
=
{};
var
obj
=
{};
obj
.
name
=
res
.
data
[
i
].
projectType
;
obj
.
name
=
res
.
data
[
i
].
projectType
;
obj
.
value
=
res
.
data
[
i
].
count
;
obj
.
value
=
res
.
data
[
i
].
totalInvestment
;
obj
.
totalInvestment
=
res
.
data
[
i
].
totalInvestment
;
obj
.
number
=
res
.
data
[
i
].
count
;
// obj.totalInvestment=res.data[i].totalInvestment;
obj
.
proportion
=
res
.
data
[
i
].
proportion
;
obj
.
proportion
=
res
.
data
[
i
].
proportion
;
list
.
push
(
obj
)
list
.
push
(
obj
)
}
}
...
@@ -140,8 +143,6 @@ export default {
...
@@ -140,8 +143,6 @@ export default {
for
(
let
i
=
0
;
i
<
10
;
i
++
){
for
(
let
i
=
0
;
i
<
10
;
i
++
){
data
.
push
(
arr
[
i
])
data
.
push
(
arr
[
i
])
}
}
console
.
log
(
arr
)
console
.
log
(
data
)
this
.
initChart
(
data
)
this
.
initChart
(
data
)
})
})
},
},
...
@@ -156,8 +157,8 @@ export default {
...
@@ -156,8 +157,8 @@ export default {
formatter
:
function
(
params
)
{
formatter
:
function
(
params
)
{
var
result
=
''
var
result
=
''
result
+=
'<h3 style="color: #232226;padding: 0 0 5px 0;margin: 0;">'
+
params
.
data
.
name
+
'</h3>'
result
+=
'<h3 style="color: #232226;padding: 0 0 5px 0;margin: 0;">'
+
params
.
data
.
name
+
'</h3>'
result
+=
'<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'
+
params
.
data
.
value
+
'个</p>'
result
+=
'<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'
+
params
.
data
.
number
+
'个</p>'
result
+=
'<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'
+
params
.
data
.
totalInvestment
+
'亿元</p>'
result
+=
'<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'
+
params
.
data
.
value
+
'亿元</p>'
result
+=
'<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'
+
params
.
data
.
proportion
+
'%</p>'
result
+=
'<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'
+
params
.
data
.
proportion
+
'%</p>'
return
result
;
return
result
;
},
},
...
@@ -189,8 +190,10 @@ export default {
...
@@ -189,8 +190,10 @@ export default {
myChart
.
setOption
(
option
);
myChart
.
setOption
(
option
);
},
},
sortChange
({
column
,
prop
,
order
}){
sortChange
({
column
,
prop
,
order
}){
if
(
prop
===
'
value
'
){
if
(
prop
===
'
number
'
){
this
.
queryParams
.
field
=
'count'
this
.
queryParams
.
field
=
'count'
}
else
if
(
prop
===
'value'
){
this
.
queryParams
.
field
=
'totalInvestment '
}
else
{
}
else
{
this
.
queryParams
.
field
=
prop
this
.
queryParams
.
field
=
prop
}
}
...
@@ -233,6 +236,19 @@ export default {
...
@@ -233,6 +236,19 @@ export default {
this
.
pageIndex
=
val
this
.
pageIndex
=
val
this
.
getData
()
this
.
getData
()
},
},
sortChange1
({
column
,
prop
,
order
}){
this
.
tableParams
.
field
=
prop
;
if
(
column
.
order
===
"ascending"
){
this
.
tableParams
.
order
=
'asc'
}
else
if
(
column
.
order
===
"descending"
){
this
.
tableParams
.
order
=
'desc'
}
else
{
this
.
tableParams
.
order
=
''
this
.
tableParams
.
field
=
''
}
this
.
pageIndex
=
1
;
this
.
getData
()
},
}
}
}
}
</
script
>
</
script
>
...
...
dsk-system/src/main/java/com/dsk/system/domain/BusinessListDto.java
View file @
4c1ac7ba
...
@@ -11,12 +11,6 @@ import java.util.List;
...
@@ -11,12 +11,6 @@ import java.util.List;
**/
**/
@Data
@Data
public
class
BusinessListDto
{
public
class
BusinessListDto
{
/**
* 拜访方式
*/
private
String
visitWay
;
/**
/**
* 项目名称
* 项目名称
*/
*/
...
...
dsk-system/src/main/java/com/dsk/system/domain/vo/BusinessBrowseVo.java
View file @
4c1ac7ba
...
@@ -121,9 +121,14 @@ public class BusinessBrowseVo {
...
@@ -121,9 +121,14 @@ public class BusinessBrowseVo {
private
Integer
backlogCount
;
private
Integer
backlogCount
;
/**
/**
*
资料文档
统计
*
相关企业
统计
*/
*/
private
Integer
relateCompanyCount
;
private
Integer
relateCompanyCount
;
/**
* 资料文档统计
*/
private
Integer
fileCount
;
}
}
dsk-system/src/main/java/com/dsk/system/mapper/BusinessFollowRecordMapper.java
View file @
4c1ac7ba
...
@@ -3,6 +3,7 @@ package com.dsk.system.mapper;
...
@@ -3,6 +3,7 @@ package com.dsk.system.mapper;
import
com.dsk.common.core.domain.entity.BusinessFollowRecord
;
import
com.dsk.common.core.domain.entity.BusinessFollowRecord
;
import
com.dsk.system.domain.BusinessIdDto
;
import
com.dsk.system.domain.BusinessIdDto
;
import
com.dsk.system.domain.BusinessListDto
;
import
com.dsk.system.domain.BusinessListDto
;
import
com.dsk.system.domain.vo.BusinessListVo
;
import
java.util.List
;
import
java.util.List
;
...
@@ -20,7 +21,7 @@ public interface BusinessFollowRecordMapper
...
@@ -20,7 +21,7 @@ public interface BusinessFollowRecordMapper
* @param userId
* @param userId
* @return
* @return
*/
*/
List
<
String
>
selectRelateProject
(
Integer
userId
);
List
<
BusinessListVo
>
selectRelateProject
(
Integer
userId
);
/**
/**
* 查询关联业主企业
* 查询关联业主企业
...
...
dsk-system/src/main/java/com/dsk/system/service/IBusinessFollowRecordService.java
View file @
4c1ac7ba
...
@@ -3,6 +3,7 @@ package com.dsk.system.service;
...
@@ -3,6 +3,7 @@ package com.dsk.system.service;
import
com.dsk.common.core.domain.entity.BusinessFollowRecord
;
import
com.dsk.common.core.domain.entity.BusinessFollowRecord
;
import
com.dsk.system.domain.BusinessIdDto
;
import
com.dsk.system.domain.BusinessIdDto
;
import
com.dsk.system.domain.BusinessListDto
;
import
com.dsk.system.domain.BusinessListDto
;
import
com.dsk.system.domain.vo.BusinessListVo
;
import
java.util.List
;
import
java.util.List
;
...
@@ -59,7 +60,7 @@ public interface IBusinessFollowRecordService
...
@@ -59,7 +60,7 @@ public interface IBusinessFollowRecordService
* @param userId
* @param userId
* @return
* @return
*/
*/
List
<
String
>
selectRelateProject
(
Integer
userId
);
List
<
BusinessListVo
>
selectRelateProject
(
Integer
userId
);
/**
/**
* 查询关联业主企业
* 查询关联业主企业
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/BusinessFollowRecordServiceImpl.java
View file @
4c1ac7ba
package
com
.
dsk
.
system
.
service
.
impl
;
package
com
.
dsk
.
system
.
service
.
impl
;
import
com.dsk.common.core.domain.entity.BusinessFollowRecord
;
import
com.dsk.common.core.domain.entity.BusinessFollowRecord
;
import
com.dsk.common.exception.base.BaseException
;
import
com.dsk.common.utils.DateUtils
;
import
com.dsk.common.utils.DateUtils
;
import
com.dsk.common.utils.SecurityUtils
;
import
com.dsk.system.domain.BusinessIdDto
;
import
com.dsk.system.domain.BusinessIdDto
;
import
com.dsk.system.domain.BusinessListDto
;
import
com.dsk.system.domain.BusinessListDto
;
import
com.dsk.system.domain.vo.BusinessListVo
;
import
com.dsk.system.mapper.BusinessFollowRecordMapper
;
import
com.dsk.system.mapper.BusinessFollowRecordMapper
;
import
com.dsk.system.service.IBusinessFollowRecordService
;
import
com.dsk.system.service.IBusinessFollowRecordService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -45,11 +48,11 @@ public class BusinessFollowRecordServiceImpl implements IBusinessFollowRecordSer
...
@@ -45,11 +48,11 @@ public class BusinessFollowRecordServiceImpl implements IBusinessFollowRecordSer
@Override
@Override
public
List
<
BusinessFollowRecord
>
allFollow
(
BusinessListDto
dto
)
{
public
List
<
BusinessFollowRecord
>
allFollow
(
BusinessListDto
dto
)
{
//userId不传值,就查询全部门项目
//userId不传值,就查询全部门项目
//
if (dto.getUserId() == null) {
if
(
dto
.
getUserId
()
==
null
)
{
//
Long deptId = SecurityUtils.getLoginUser().getDeptId();
Long
deptId
=
SecurityUtils
.
getLoginUser
().
getDeptId
();
//
if (deptId == null) throw new BaseException("请登录");
if
(
deptId
==
null
)
throw
new
BaseException
(
"请登录"
);
//
dto.setDeptId(deptId.intValue());
dto
.
setDeptId
(
deptId
.
intValue
());
//
}
}
return
businessFollowRecordMapper
.
allFollow
(
dto
);
return
businessFollowRecordMapper
.
allFollow
(
dto
);
}
}
...
@@ -72,7 +75,7 @@ public class BusinessFollowRecordServiceImpl implements IBusinessFollowRecordSer
...
@@ -72,7 +75,7 @@ public class BusinessFollowRecordServiceImpl implements IBusinessFollowRecordSer
}
}
@Override
@Override
public
List
<
String
>
selectRelateProject
(
Integer
userId
)
{
public
List
<
BusinessListVo
>
selectRelateProject
(
Integer
userId
)
{
return
businessFollowRecordMapper
.
selectRelateProject
(
userId
);
return
businessFollowRecordMapper
.
selectRelateProject
(
userId
);
}
}
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/BusinessInfoServiceImpl.java
View file @
4c1ac7ba
...
@@ -80,11 +80,11 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
...
@@ -80,11 +80,11 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
@Override
@Override
public
List
<
BusinessListVo
>
selectBusinessInfoList
(
BusinessListDto
dto
)
{
public
List
<
BusinessListVo
>
selectBusinessInfoList
(
BusinessListDto
dto
)
{
//userId不传值,就查询全部门项目
//userId不传值,就查询全部门项目
//
if (dto.getUserId() == null) {
if
(
dto
.
getUserId
()
==
null
)
{
//
Long deptId = SecurityUtils.getLoginUser().getDeptId();
Long
deptId
=
SecurityUtils
.
getLoginUser
().
getDeptId
();
//
if (deptId == null) throw new BaseException("请登录");
if
(
deptId
==
null
)
throw
new
BaseException
(
"请登录"
);
//
dto.setDeptId(deptId.intValue());
dto
.
setDeptId
(
deptId
.
intValue
());
//
}
}
return
businessInfoMapper
.
selectBusinessInfoList
(
dto
);
return
businessInfoMapper
.
selectBusinessInfoList
(
dto
);
}
}
...
@@ -105,7 +105,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
...
@@ -105,7 +105,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
businessBrowseVo
.
setFollowRecordCount
(
total
.
getFollowRecordCount
());
businessBrowseVo
.
setFollowRecordCount
(
total
.
getFollowRecordCount
());
businessBrowseVo
.
setRelateCompanyCount
(
total
.
getRelateCompanyCount
());
businessBrowseVo
.
setRelateCompanyCount
(
total
.
getRelateCompanyCount
());
//资料文档统计
//资料文档统计
businessBrowseVo
.
set
RelateCompany
Count
(
FileUtils
.
getAllFileNames
(
RuoYiConfig
.
getProfile
()+
businessId
).
size
());
businessBrowseVo
.
set
File
Count
(
FileUtils
.
getAllFileNames
(
RuoYiConfig
.
getProfile
()+
businessId
).
size
());
return
businessBrowseVo
;
return
businessBrowseVo
;
}
}
...
...
dsk-system/src/main/resources/mapper/business/BusinessFollowRecordMapper.xml
View file @
4c1ac7ba
...
@@ -75,29 +75,20 @@
...
@@ -75,29 +75,20 @@
<if
test=
"deptId != null"
>
<if
test=
"deptId != null"
>
and u.dept_id = #{deptId}
and u.dept_id = #{deptId}
</if>
</if>
<if
test=
"projectName != null and projectName != ''"
>
and i.project_name = #{projectName}
</if>
<if
test=
"ownerCompany != null and ownerCompany != ''"
>
and i.construction_unit = #{ownerCompany}
</if>
<if
test=
"visitWay != null and visitWay != ''"
>
and f.visit_way = #{visitWay}
</if>
</where>
</where>
ORDER BY f.creat_time DESC
ORDER BY f.creat_time DESC
</select>
</select>
<select
id=
"selectRelateProject"
resultType=
"
java.lang.String
"
>
<select
id=
"selectRelateProject"
resultType=
"
com.dsk.system.domain.vo.BusinessListVo
"
>
select i.
project_n
ame
select i.
id,i.project_name as projectN
ame
from business_info i
from business_info i
left join business_
follow_record f on f
.business_id = i.id
left join business_
user u on u
.business_id = i.id
where
f
.user_id = #{userId}
where
u
.user_id = #{userId}
</select>
</select>
<select
id=
"selectRelateCompany"
resultType=
"java.lang.String"
>
<select
id=
"selectRelateCompany"
resultType=
"java.lang.String"
>
select i.construction_unit
select i.construction_unit
from business_info i
from business_info i
left join business_
follow_record f on f
.business_id = i.id
left join business_
user u on u
.business_id = i.id
where
f
.user_id = #{userId}
where
u
.user_id = #{userId}
</select>
</select>
<insert
id=
"insertBusinessFollowRecord"
parameterType=
"com.dsk.common.core.domain.entity.BusinessFollowRecord"
useGeneratedKeys=
"true"
<insert
id=
"insertBusinessFollowRecord"
parameterType=
"com.dsk.common.core.domain.entity.BusinessFollowRecord"
useGeneratedKeys=
"true"
...
...
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