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
0fc75f92
Commit
0fc75f92
authored
Sep 19, 2023
by
liuChang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'V20230915' of 192.168.60.201:root/dsk-operate-sys into V20230915
parents
d4a4d9d3
8c82824d
Changes
23
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
520 additions
and
149 deletions
+520
-149
SysUserFileRecordController.java
...sk/web/controller/system/SysUserFileRecordController.java
+40
-0
application.yml
dsk-admin/src/main/resources/application.yml
+1
-0
UploadComponent.java
...-api/src/main/java/com/dsk/component/UploadComponent.java
+40
-0
CompanySearchController.java
.../java/com/dsk/jsk/controller/CompanySearchController.java
+0
-55
JskCombineInfoController.java
...java/com/dsk/jsk/controller/JskCombineInfoController.java
+13
-25
BusinessOpportunityRadarController.java
...search/controller/BusinessOpportunityRadarController.java
+13
-3
groupAccount.js
dsk-operate-ui/src/api/detail/groupAccount/groupAccount.js
+8
-0
user.js
dsk-operate-ui/src/api/system/user.js
+9
-0
performance.vue
...i/src/views/detail/groupAccount/component/performance.vue
+21
-2
zhaobiao.vue
...e-ui/src/views/detail/groupAccount/component/zhaobiao.vue
+19
-1
index.vue
dsk-operate-ui/src/views/detail/party-b/index.vue
+3
-2
login.vue
dsk-operate-ui/src/views/login.vue
+10
-10
jzqyfx.vue
...ui/src/views/macro/nationalEconomies/component/jzqyfx.vue
+51
-17
qgjjdq.vue
...ui/src/views/macro/nationalEconomies/component/qgjjdq.vue
+1
-0
tdjy.vue
...e-ui/src/views/macro/nationalEconomies/component/tdjy.vue
+27
-8
zhaobiao.vue
.../src/views/macro/nationalEconomies/component/zhaobiao.vue
+15
-5
zhongbiao.vue
...src/views/macro/nationalEconomies/component/zhongbiao.vue
+51
-17
index.vue
dsk-operate-ui/src/views/system/user/index.vue
+1
-1
index.vue
dsk-operate-ui/src/views/system/user/profile/index.vue
+65
-3
SysUserFileRecord.java
...rc/main/java/com/dsk/system/domain/SysUserFileRecord.java
+43
-0
SysUserFileRecordMapper.java
...n/java/com/dsk/system/mapper/SysUserFileRecordMapper.java
+13
-0
ISysUserFileRecordService.java
...ava/com/dsk/system/service/ISysUserFileRecordService.java
+16
-0
SysUserFileRecordServiceImpl.java
...dsk/system/service/impl/SysUserFileRecordServiceImpl.java
+60
-0
No files found.
dsk-admin/src/main/java/com/dsk/web/controller/system/SysUserFileRecordController.java
0 → 100644
View file @
0fc75f92
package
com
.
dsk
.
web
.
controller
.
system
;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.system.domain.SysUserFileRecord
;
import
com.dsk.system.service.ISysUserFileRecordService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
/**
* 系统用户文件记录
*
* @author lcl
* @create 2023/9/15
*/
@RestController
@RequestMapping
(
"/user/file/record"
)
public
class
SysUserFileRecordController
extends
BaseController
{
@Autowired
private
ISysUserFileRecordService
baseService
;
/**
* 获取用户文件记录列表
*/
@GetMapping
(
value
=
"/list"
)
public
TableDataInfo
<
SysUserFileRecord
>
userList
(
PageQuery
page
){
return
baseService
.
userList
(
page
);
}
/**
* 添加用户文件记录列表
*/
@PostMapping
()
public
R
<
Void
>
add
(
@RequestBody
SysUserFileRecord
bean
){
return
toAjax
(
baseService
.
add
(
bean
));
}
}
dsk-admin/src/main/resources/application.yml
View file @
0fc75f92
...
...
@@ -159,6 +159,7 @@ tenant:
-
sys_user_role
-
sys_client
-
sys_region
-
sys_user_file_record
-
contact_info
-
customer_user
-
customer_follow_record
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/component/UploadComponent.java
0 → 100644
View file @
0fc75f92
package
com
.
dsk
.
component
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.oss.core.OssClient
;
import
com.dsk.oss.entity.UploadResult
;
import
com.dsk.oss.factory.OssFactory
;
import
com.dsk.system.domain.SysUserFileRecord
;
import
com.dsk.system.domain.vo.SysOssVo
;
import
com.dsk.system.service.ISysOssService
;
import
com.dsk.system.service.ISysUserFileRecordService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.io.ByteArrayInputStream
;
import
java.io.ByteArrayOutputStream
;
/**
* 上传组件
* @author lcl
* @create 2023/9/15
*/
@Component
public
class
UploadComponent
{
@Autowired
private
ISysOssService
ossService
;
@Autowired
private
ISysUserFileRecordService
fileRecordService
;
public
R
<
SysOssVo
>
upload
(
String
title
,
ByteArrayOutputStream
ba
,
String
suffix
,
String
contentType
)
{
ByteArrayInputStream
bio
=
new
ByteArrayInputStream
(
ba
.
toByteArray
());
OssClient
client
=
OssFactory
.
instance
();
UploadResult
uploadResult
=
client
.
uploadSuffix
(
bio
,
suffix
,
contentType
);
//总文件记录
SysOssVo
sysOssVo
=
ossService
.
buildResultEntity
(
title
.
concat
(
suffix
),
suffix
,
client
.
getConfigKey
(),
uploadResult
);
//用户文件记录
fileRecordService
.
add
(
new
SysUserFileRecord
(
sysOssVo
.
getOriginalName
(),
1
,
sysOssVo
.
getUrl
()));
return
R
.
ok
(
sysOssVo
);
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/jsk/controller/CompanySearchController.java
deleted
100644 → 0
View file @
d4a4d9d3
//package com.dsk.jsk.controller;
//
//
//import com.dsk.common.core.domain.AjaxResult;
//import com.dsk.jsk.domain.PageQueryLimit;
//import com.dsk.jsk.domain.bo.ComposeQueryDto;
//import com.dsk.jsk.service.BusinessOpportunityRadarService;
//import org.springframework.web.bind.annotation.*;
//
//import javax.annotation.Resource;
//
//
///**
// * 查企业
// * @author Administrator
// *
// */
//@RequestMapping("/enterprise")
//@RestController
//public class CompanySearchController {
//
//
// @Resource
// BusinessOpportunityRadarService opportunityRadarService;
//
// /*
// * 模糊查询企业名称
// */
// @PostMapping("/index")
// public AjaxResult landMarketPage(@RequestBody ComposeQueryDto dto) {
// if (PageQueryLimit.pageLimit(dto.getPage())){
// return AjaxResult.error("翻页已达到上限");
// }
// return opportunityRadarService.enterpriseIndex(dto);
// }
//
// /*
// * 完全匹配企业名称
// */
// @GetMapping("/findByName/{keyword}")
// public AjaxResult findByName(@PathVariable String keyword) {
// return opportunityRadarService.enterpriseByName(keyword);
// }
//
// /*
// * 完全匹配企业名称
// */
// @PostMapping("/page")
// public AjaxResult page(@RequestBody ComposeQueryDto dto) {
// if (PageQueryLimit.pageLimit(dto.getPage())){
// return AjaxResult.error("翻页已达到上限");
// }
// return opportunityRadarService.enterprisePage(dto);
// }
//}
dsk-module/dsk-biz-api/src/main/java/com/dsk/jsk/controller/JskCombineInfoController.java
View file @
0fc75f92
...
...
@@ -8,6 +8,7 @@ import com.dsk.common.core.domain.AjaxResult;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.common.core.service.OssService
;
import
com.dsk.component.UploadComponent
;
import
com.dsk.jsk.domain.JskCombineBidPageDto
;
import
com.dsk.jsk.domain.JskCombineCertificateDto
;
import
com.dsk.jsk.domain.JskCombineCountDto
;
...
...
@@ -18,8 +19,10 @@ import com.dsk.jsk.service.JskCombineInfoService;
import
com.dsk.oss.core.OssClient
;
import
com.dsk.oss.entity.UploadResult
;
import
com.dsk.oss.factory.OssFactory
;
import
com.dsk.system.domain.SysUserFileRecord
;
import
com.dsk.system.domain.vo.SysOssVo
;
import
com.dsk.system.service.ISysOssService
;
import
com.dsk.system.service.ISysUserFileRecordService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -44,7 +47,7 @@ public class JskCombineInfoController extends BaseController {
@Autowired
private
JskCombineInfoService
baseService
;
@Autowired
private
ISysOssService
ossService
;
private
UploadComponent
uploadComponent
;
/**
* 集团成员列表
...
...
@@ -164,11 +167,12 @@ public class JskCombineInfoController extends BaseController {
*/
@PostMapping
(
"/export/win/bid"
)
@SaCheckPermission
(
"combine:info:export:win:bid"
)
public
void
exportWinBid
(
@RequestBody
JskCombineSearchDto
dto
,
HttpServletResponse
response
)
{
public
R
<
SysOssVo
>
exportWinBid
(
@RequestBody
JskCombineSearchDto
dto
)
{
List
<
JskCombineWinBidProjectExportVo
>
list
=
baseService
.
exportWinBid
(
dto
);
String
title
=
dto
.
getCombineName
().
concat
(
"中标业绩清单"
);
ExcelUtils
<
JskCombineWinBidProjectExportVo
>
util
=
new
ExcelUtils
<>(
JskCombineWinBidProjectExportVo
.
class
);
util
.
exportExcel
(
response
,
list
,
"集团中标"
,
dto
.
getCombineName
().
concat
(
"中标业绩清单"
)
,
true
);
// String fileName = util.localInit(list, "集团中标", dto.getCombineName().concat("中标业绩清单"), true
);
ByteArrayOutputStream
ba
=
util
.
exportExcel
(
list
,
"集团中标"
,
title
,
true
);
return
uploadComponent
.
upload
(
title
,
ba
,
Constants
.
SUFFIX_XLSX
,
Constants
.
CONTENT_TYPE_XLSX
);
}
/**
...
...
@@ -176,10 +180,12 @@ public class JskCombineInfoController extends BaseController {
*/
@PostMapping
(
"/export/bid"
)
@SaCheckPermission
(
"combine:info:export:bid"
)
public
void
exportBid
(
@RequestBody
JskCombineBidPageDto
dto
,
HttpServletResponse
response
)
{
public
R
<
SysOssVo
>
exportBid
(
@RequestBody
JskCombineBidPageDto
dto
)
{
List
<
JskCombineBidProjectExportVo
>
list
=
baseService
.
exportBid
(
dto
);
String
title
=
dto
.
getCombineName
().
concat
(
"招标公告清单"
);
ExcelUtils
<
JskCombineBidProjectExportVo
>
util
=
new
ExcelUtils
<>(
JskCombineBidProjectExportVo
.
class
);
util
.
exportExcel
(
response
,
list
,
"集团招标"
,
dto
.
getCombineName
().
concat
(
"招标公告清单"
),
true
);
ByteArrayOutputStream
ba
=
util
.
exportExcel
(
list
,
"集团招标"
,
title
,
true
);
return
uploadComponent
.
upload
(
title
,
ba
,
Constants
.
SUFFIX_XLSX
,
Constants
.
CONTENT_TYPE_XLSX
);
}
...
...
@@ -191,24 +197,6 @@ public class JskCombineInfoController extends BaseController {
return
baseService
.
bidPage
(
dto
);
}
/**
* 导出上传oss测试
*/
@PostMapping
(
"/export/upload"
)
public
R
<
SysOssVo
>
exportuUpload
(
@RequestBody
JskCombineSearchDto
dto
)
{
List
<
JskCombineWinBidProjectExportVo
>
list
=
baseService
.
exportWinBid
(
dto
);
String
title
=
dto
.
getCombineName
().
concat
(
"中标业绩清单"
);
ExcelUtils
<
JskCombineWinBidProjectExportVo
>
util
=
new
ExcelUtils
<>(
JskCombineWinBidProjectExportVo
.
class
);
ByteArrayOutputStream
ba
=
util
.
exportExcel
(
list
,
"集团中标"
,
title
,
true
);
ByteArrayInputStream
bio
=
new
ByteArrayInputStream
(
ba
.
toByteArray
());
OssClient
client
=
OssFactory
.
instance
();
UploadResult
uploadResult
=
client
.
uploadSuffix
(
bio
,
Constants
.
SUFFIX_XLSX
,
Constants
.
CONTENT_TYPE_XLSX
);
//总文件记录
SysOssVo
sysOssVo
=
ossService
.
buildResultEntity
(
title
.
concat
(
Constants
.
SUFFIX_XLSX
),
Constants
.
SUFFIX_XLSX
,
client
.
getConfigKey
(),
uploadResult
);
return
R
.
ok
(
sysOssVo
);
}
/***
*@Description: 获取集团logo
*@Param:
...
...
@@ -217,7 +205,7 @@ public class JskCombineInfoController extends BaseController {
*@date: 2023/9/12 16:05
*/
@RequestMapping
(
value
=
"/combineMemberLogo"
,
method
=
RequestMethod
.
POST
)
public
R
combineMemberLogo
(
@RequestBody
Map
<
String
,
Object
>
paramMap
)
{
public
R
combineMemberLogo
(
@RequestBody
Map
<
String
,
Object
>
paramMap
)
{
return
baseService
.
combineMemberLogo
(
paramMap
);
}
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/search/controller/BusinessOpportunityRadarController.java
View file @
0fc75f92
...
...
@@ -3,17 +3,24 @@ package com.dsk.search.controller;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.biz.utils.ExcelUtils
;
import
com.dsk.common.constant.Constants
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.utils.poi.ExcelUtil
;
import
com.dsk.component.UploadComponent
;
import
com.dsk.jsk.domain.bo.ComposeQueryDto
;
import
com.dsk.jsk.domain.vo.ImportantProjectExportVo
;
import
com.dsk.jsk.domain.vo.JskCombineBidProjectExportVo
;
import
com.dsk.search.service.BusinessOpportunityRadarService
;
import
com.dsk.system.domain.vo.SysOssVo
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.ByteArrayOutputStream
;
import
java.util.List
;
...
...
@@ -29,6 +36,8 @@ public class BusinessOpportunityRadarController {
@Resource
private
BusinessOpportunityRadarService
opportunityRadarService
;
@Autowired
private
UploadComponent
uploadComponent
;
/*
* 公招标讯
...
...
@@ -184,11 +193,12 @@ public class BusinessOpportunityRadarController {
*/
@RequestMapping
(
"/export/important"
)
@SaCheckPermission
(
"radar:export:important"
)
public
void
exportBid
(
@RequestBody
JSONObject
object
,
HttpServletResponse
response
)
{
public
R
<
SysOssVo
>
exportBid
(
@RequestBody
JSONObject
object
,
HttpServletResponse
response
)
{
List
<
ImportantProjectExportVo
>
list
=
opportunityRadarService
.
exportImportant
(
object
);
// ExcelUtil<ImportantProjectExportVo> util = new ExcelUtil<>(ImportantProjectExportVo.class)
;
String
title
=
"重点项目导出明细"
;
ExcelUtils
<
ImportantProjectExportVo
>
util
=
new
ExcelUtils
<>(
ImportantProjectExportVo
.
class
);
util
.
exportExcel
(
response
,
list
,
"重点项目"
,
"重点项目导出明细"
,
true
);
ByteArrayOutputStream
ba
=
util
.
exportExcel
(
list
,
"重点项目"
,
title
,
true
);
return
uploadComponent
.
upload
(
title
,
ba
,
Constants
.
SUFFIX_XLSX
,
Constants
.
CONTENT_TYPE_XLSX
);
}
/*
...
...
dsk-operate-ui/src/api/detail/groupAccount/groupAccount.js
View file @
0fc75f92
...
...
@@ -76,6 +76,14 @@ export function bidPage(data) {
data
:
data
})
}
// 集团业绩导出
export
function
exportWinBid
(
data
)
{
return
request
({
url
:
'/combine/info/export/win/bid'
,
method
:
'post'
,
data
:
data
})
}
// 集团招标导出
export
function
exportBid
(
data
)
{
return
request
({
...
...
dsk-operate-ui/src/api/system/user.js
View file @
0fc75f92
...
...
@@ -133,3 +133,12 @@ export function deptTreeSelect() {
method
:
'get'
})
}
// 用户文件记录列表
export
function
fileList
(
data
)
{
return
request
({
url
:
'/user/file/record/list'
,
method
:
'get'
,
params
:
data
})
}
dsk-operate-ui/src/views/detail/groupAccount/component/performance.vue
View file @
0fc75f92
...
...
@@ -53,7 +53,7 @@
<
script
>
import
mixin
from
'../../party-a/mixins/mixin'
import
{
businessList
}
from
'@/api/detail/groupAccount/groupAccount'
import
{
businessList
,
exportWinBid
}
from
'@/api/detail/groupAccount/groupAccount'
import
dataRegion
from
'@/assets/json/dataRegion1'
import
{
getDictType
}
from
'@/api/main'
export
default
{
...
...
@@ -271,8 +271,27 @@
this
.
dataEXCEL
.
pageSize
=
this
.
tableDataTotal
;
}
delete
this
.
dataEXCEL
.
pageNum
this
.
$download
.
exportByPost
(
'/combine/info/export/win/bid'
,
this
.
dataEXCEL
,
'集团中标.xlsx'
);
exportWinBid
(
this
.
dataEXCEL
).
then
(
res
=>
{
if
(
res
.
code
===
200
){
this
.
downloadFile
(
res
.
data
.
url
,
res
.
data
.
originalName
)
}
})
// this.$download.exportByPost('/combine/info/export/win/bid',this.dataEXCEL,'集团中标.xlsx');
},
downloadFile
(
url
,
fileName
)
{
const
x
=
new
XMLHttpRequest
()
x
.
open
(
"GET"
,
url
,
true
)
x
.
responseType
=
'blob'
x
.
onload
=
function
(
e
)
{
const
url
=
window
.
URL
.
createObjectURL
(
x
.
response
)
const
a
=
document
.
createElement
(
'a'
)
a
.
href
=
url
a
.
download
=
fileName
a
.
click
()
a
.
remove
()
}
x
.
send
()
}
}
}
</
script
>
...
...
dsk-operate-ui/src/views/detail/groupAccount/component/zhaobiao.vue
View file @
0fc75f92
...
...
@@ -363,7 +363,25 @@
this
.
dataEXCEL
.
pageSize
=
this
.
tableDataTotal
;
}
delete
this
.
dataEXCEL
.
pageNum
this
.
$download
.
exportByPost
(
'/combine/info/export/bid'
,
this
.
dataEXCEL
,
'集团招标.xlsx'
);
exportBid
(
this
.
dataEXCEL
).
then
(
res
=>
{
if
(
res
.
code
===
200
){
this
.
downloadFile
(
res
.
data
.
url
,
res
.
data
.
originalName
)
}
})
},
downloadFile
(
url
,
fileName
)
{
const
x
=
new
XMLHttpRequest
()
x
.
open
(
"GET"
,
url
,
true
)
x
.
responseType
=
'blob'
x
.
onload
=
function
(
e
)
{
const
url
=
window
.
URL
.
createObjectURL
(
x
.
response
)
const
a
=
document
.
createElement
(
'a'
)
a
.
href
=
url
a
.
download
=
fileName
a
.
click
()
a
.
remove
()
}
x
.
send
()
},
clickFocus
(
e
){
document
.
getElementById
(
e
).
classList
.
toggle
(
'span-ba'
)
...
...
dsk-operate-ui/src/views/detail/party-b/index.vue
View file @
0fc75f92
...
...
@@ -17,6 +17,7 @@
return
{
loading
:
false
,
// 是否加载完成-当前页控制
iframeTimer
:
''
,
// 是否加载中定时器-当前页控制
footHeight
:
0
,
//底部高度,若为0(页面内部嵌套或者没有底部板块)
iframeHight
:
window
.
innerHeight
,
// iframe高度-当前页控制
navigation
:
{
isFixed
:
true
,
fixedHeight
:
56
,
totalHeight
:
68
},
// iframe之外页面顶部对象,ifFixed:是否浮动;fixedHeight:浮动对象高度;totalHeight:顶部整体高度
src
:
''
,
//iframe嵌套页面地址
...
...
@@ -34,11 +35,11 @@
},
mounted
()
{
this
.
iframeLoading
()
// 判断iframe页面是否加载完成-当前页控制
steerScroll
(
'companyIframe'
,
this
.
navigation
,
t
rue
)
// 监听滚动(iframe的id、页面排除iframe后页面剩下顶部高度[例:80]、增加监听[不传就是移除监听]、父级id[不带默认就是铺满整个页面]]
)
steerScroll
(
'companyIframe'
,
this
.
navigation
,
t
his
.
footHeight
,
true
)
// iframeId: iframe的id;navigation:页面排除iframe后剩下的顶部高度;footHeight: 页面排除iframe后剩下的底部高度;state:监听or移除监听;parentId: 父级id[不带默认就是铺满整个页面]];_this:指向当前实例(可忽略
)
},
beforeDestroy
()
{
clearInterval
(
this
.
iframeTimer
)
// -当前页控制
steerScroll
(
'companyIframe'
,
this
.
navigation
)
// 销毁滚动
steerScroll
(
'companyIframe'
,
this
.
navigation
,
this
.
footHeight
)
// iframeId: iframe的id;navigation:页面排除iframe后剩下的顶部高度;footHeight: 页面排除iframe后剩下的底部高度;state:监听or移除监听;parentId: 父级id[不带默认就是铺满整个页面]];_this:指向当前实例(可忽略)
clearInterval
(
this
.
tokentimer
)
},
methods
:
{
...
...
dsk-operate-ui/src/views/login.vue
View file @
0fc75f92
...
...
@@ -272,8 +272,8 @@
if
(
this
.
nosend
==
true
){
return
false
}
//
logincaptchaSms(this.dxform).then(res=>{
//
if(res.code == 200){
logincaptchaSms
(
this
.
dxform
).
then
(
res
=>
{
if
(
res
.
code
==
200
){
this
.
$message
.
success
(
'已发送短信!'
)
let
_this
=
this
...
...
@@ -288,14 +288,14 @@
_this
.
smstime
=
60
}
},
1000
)
//
}else{
//
this.$message.error(res.msg)
//
this.getCode()
//
this.showcode = true
//
}
//
}).catch(res=>{
//
this.$message.error(res.msg)
//
})
}
else
{
this
.
$message
.
error
(
res
.
msg
)
this
.
getCode
()
this
.
showcode
=
true
}
}).
catch
(
res
=>
{
this
.
$message
.
error
(
res
.
msg
)
})
},
handleLogin
()
{
this
.
$refs
.
loginForm
.
validate
(
valid
=>
{
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/jzqyfx.vue
View file @
0fc75f92
...
...
@@ -40,20 +40,36 @@
<el-table-column
prop=
"major"
label=
"资质类型"
/>
<el-table-column
label=
"特级"
align=
"right"
>
<el-table-column
prop=
"tjCount"
label=
"数量(个)"
align=
"right"
/>
<el-table-column
prop=
"tjRate"
label=
"占比(%)"
align=
"right"
/>
<el-table-column
prop=
"tjCount"
label=
"数量"
align=
"right"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
tjCount
}}
个
</
template
>
</el-table-column>
<el-table-column
prop=
"tjRate"
label=
"占比"
align=
"right"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
tjRate
}}
%
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"一级"
align=
"right"
>
<el-table-column
prop=
"oneCount"
label=
"数量(个)"
align=
"right"
/>
<el-table-column
prop=
"oneRate"
label=
"占比(%)"
align=
"right"
/>
<el-table-column
prop=
"oneCount"
label=
"数量"
align=
"right"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
oneCount
}}
个
</
template
>
</el-table-column>
<el-table-column
prop=
"oneRate"
label=
"占比"
align=
"right"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
oneRate
}}
%
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"二级"
align=
"right"
>
<el-table-column
prop=
"twoCount"
label=
"数量(个)"
align=
"right"
/>
<el-table-column
prop=
"twoRate"
label=
"占比(%)"
align=
"right"
/>
<el-table-column
prop=
"twoCount"
label=
"数量"
align=
"right"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
twoCount
}}
个
</
template
>
</el-table-column>
<el-table-column
prop=
"twoRate"
label=
"占比"
align=
"right"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
twoRate
}}
%
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"三级"
align=
"right"
>
<el-table-column
prop=
"threeCount"
label=
"数量(个)"
align=
"right"
/>
<el-table-column
prop=
"threeRate"
label=
"占比(%)"
align=
"right"
/>
<el-table-column
prop=
"threeCount"
label=
"数量"
align=
"right"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
threeCount
}}
个
</
template
>
</el-table-column>
<el-table-column
prop=
"threeRate"
label=
"占比"
align=
"right"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
threeRate
}}
%
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</div>
...
...
@@ -85,20 +101,36 @@
</el-table-column>
<el-table-column
prop=
"province"
label=
"地区"
/>
<el-table-column
label=
"特级"
align=
"right"
>
<el-table-column
prop=
"tjCount"
label=
"数量(个)"
align=
"right"
/>
<el-table-column
prop=
"tjRate"
label=
"占比(%)"
align=
"right"
/>
<el-table-column
prop=
"tjCount"
label=
"数量"
align=
"right"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
tjCount
}}
个
</
template
>
</el-table-column>
<el-table-column
prop=
"tjRate"
label=
"占比"
align=
"right"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
tjRate
}}
%
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"一级"
align=
"right"
>
<el-table-column
prop=
"oneCount"
label=
"数量(个)"
align=
"right"
/>
<el-table-column
prop=
"oneRate"
label=
"占比(%)"
align=
"right"
/>
<el-table-column
prop=
"oneCount"
label=
"数量"
align=
"right"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
oneCount
}}
个
</
template
>
</el-table-column>
<el-table-column
prop=
"oneRate"
label=
"占比"
align=
"right"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
oneRate
}}
%
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"二级"
align=
"right"
>
<el-table-column
prop=
"twoCount"
label=
"数量(个)"
align=
"right"
/>
<el-table-column
prop=
"twoRate"
label=
"占比(%)"
align=
"right"
/>
<el-table-column
prop=
"twoCount"
label=
"数量"
align=
"right"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
twoCount
}}
个
</
template
>
</el-table-column>
<el-table-column
prop=
"twoRate"
label=
"占比"
align=
"right"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
twoRate
}}
%
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"三级"
align=
"right"
>
<el-table-column
prop=
"threeCount"
label=
"数量(个)"
align=
"right"
/>
<el-table-column
prop=
"threeRate"
label=
"占比(%)"
align=
"right"
/>
<el-table-column
prop=
"threeCount"
label=
"数量"
align=
"right"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
threeCount
}}
个
</
template
>
</el-table-column>
<el-table-column
prop=
"threeRate"
label=
"占比"
align=
"right"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
threeRate
}}
%
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</div>
...
...
@@ -127,7 +159,9 @@
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"province"
label=
"地区"
/>
<el-table-column
prop=
"count"
label=
"企业异地备案数量(个)"
sortable
align=
"right"
/>
<el-table-column
prop=
"count"
label=
"企业异地备案数量"
sortable
align=
"right"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
</el-table-column>
<!--<el-table-column prop="zb" label="占比"/>-->
</el-table>
</div>
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/qgjjdq.vue
View file @
0fc75f92
...
...
@@ -167,6 +167,7 @@
getYears
(){
getYears
({}).
then
(
res
=>
{
this
.
yearOptions
=
res
.
data
.
reverse
();
this
.
queryParams
.
year
=
this
.
yearOptions
[
0
].
year
})
},
//地区
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/tdjy.vue
View file @
0fc75f92
...
...
@@ -31,8 +31,12 @@
<template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"type"
label=
"供应方式"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"count"
label=
"土地交易项目 (个)"
align=
"right"
:formatter=
"formatStatus"
sortable
/>
<el-table-column
prop=
"rate"
label=
"占比(%)"
align=
"right"
:formatter=
"formatStatus"
width=
"100"
/>
<el-table-column
prop=
"count"
label=
"土地交易项目"
align=
"right"
:formatter=
"formatStatus"
sortable
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
</el-table-column>
<el-table-column
prop=
"rate"
label=
"占比"
align=
"right"
:formatter=
"formatStatus"
width=
"90"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
rate
}}
%
</
template
>
</el-table-column>
</el-table>
</div>
</div>
...
...
@@ -70,8 +74,12 @@
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"type"
label=
"供应方式"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"count"
label=
"土地交易项目 (个)"
align=
"right"
:formatter=
"formatStatus"
sortable
/>
<el-table-column
prop=
"rate"
label=
"占比(%)"
align=
"right"
:formatter=
"formatStatus"
width=
"100"
/>
<el-table-column
prop=
"count"
label=
"土地交易项目"
align=
"right"
:formatter=
"formatStatus"
sortable
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
</el-table-column>
<el-table-column
prop=
"rate"
label=
"占比"
align=
"right"
:formatter=
"formatStatus"
width=
"90"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
rate
}}
%
</
template
>
</el-table-column>
</el-table>
</div>
</div>
...
...
@@ -112,8 +120,12 @@
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"province"
label=
"地区"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"count"
label=
"土地交易项目 (个)"
align=
"right"
:formatter=
"formatStatus"
sortable
/>
<el-table-column
prop=
"rate"
label=
"占比(%)"
align=
"right"
:formatter=
"formatStatus"
width=
"100"
/>
<el-table-column
prop=
"count"
label=
"土地交易项目"
align=
"right"
:formatter=
"formatStatus"
sortable
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
</el-table-column>
<el-table-column
prop=
"rate"
label=
"占比"
align=
"right"
:formatter=
"formatStatus"
width=
"90"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
rate
}}
%
</
template
>
</el-table-column>
</el-table>
</div>
</div>
...
...
@@ -147,8 +159,12 @@
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"type"
label=
"年份"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"count"
label=
"土地交易项目 (个)"
align=
"right"
:formatter=
"formatStatus"
sortable
/>
<el-table-column
prop=
"rate"
label=
"占比(%)"
align=
"right"
:formatter=
"formatStatus"
width=
"100"
/>
<el-table-column
prop=
"count"
label=
"土地交易项目"
align=
"right"
:formatter=
"formatStatus"
sortable
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
</el-table-column>
<el-table-column
prop=
"rate"
label=
"占比"
align=
"right"
:formatter=
"formatStatus"
width=
"90"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
rate
}}
%
</
template
>
</el-table-column>
</el-table>
</div>
</div>
...
...
@@ -789,6 +805,9 @@ export default {
width
:
33%
;
float
:
right
;
::v-deep
.el-table
{
.caret-wrapper
{
width
:
13px
;
}
.sort-caret.ascending
{
border-bottom-color
:
rgba
(
0
,
129
,
255
,
0
.5
);
}
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/zhaobiao.vue
View file @
0fc75f92
...
...
@@ -27,7 +27,9 @@
<template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"type"
label=
"年份"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"count"
label=
"招标数量(个)"
align=
"right"
:formatter=
"formatStatus"
sortable
/>
<el-table-column
prop=
"count"
label=
"招标数量"
align=
"right"
:formatter=
"formatStatus"
sortable
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
</el-table-column>
</el-table>
</div>
</div>
...
...
@@ -63,8 +65,12 @@
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"province"
label=
"地区"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"count"
label=
"招标数量 (个)"
align=
"right"
:formatter=
"formatStatus"
sortable
/>
<el-table-column
prop=
"rate"
label=
"占比(%)"
align=
"right"
:formatter=
"formatStatus"
width=
"100"
/>
<el-table-column
prop=
"count"
label=
"招标数量"
align=
"right"
:formatter=
"formatStatus"
sortable
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
</el-table-column>
<el-table-column
prop=
"rate"
label=
"占比"
align=
"right"
:formatter=
"formatStatus"
width=
"100"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
rate
}}
%
</
template
>
</el-table-column>
</el-table>
</div>
</div>
...
...
@@ -101,8 +107,12 @@
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"label"
label=
"时间"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"count"
label=
"招标数量(个)"
align=
"right"
:formatter=
"formatStatus"
sortable
/>
<el-table-column
prop=
"rate"
label=
"占比(%)"
align=
"right"
:formatter=
"formatStatus"
width=
"100"
/>
<el-table-column
prop=
"count"
label=
"招标数量"
align=
"right"
:formatter=
"formatStatus"
sortable
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
</el-table-column>
<el-table-column
prop=
"rate"
label=
"占比"
align=
"right"
:formatter=
"formatStatus"
width=
"100"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
rate
}}
%
</
template
>
</el-table-column>
</el-table>
</div>
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/zhongbiao.vue
View file @
0fc75f92
...
...
@@ -30,10 +30,18 @@
<template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"type"
label=
"项目类型"
:formatter=
"formatStatus"
width=
"100"
/>
<el-table-column
prop=
"count"
label=
"中标数量 (个)"
align=
"right"
:formatter=
"formatStatus"
sortable
width=
"130"
/>
<el-table-column
prop=
"countRate"
label=
"数量占比(%)"
align=
"right"
:formatter=
"formatStatus"
sortable
width=
"140"
/>
<el-table-column
prop=
"money"
label=
"中标总金额 (万元)"
align=
"right"
:formatter=
"formatStatus"
sortable
width=
"170"
/>
<el-table-column
prop=
"moneyRate"
label=
"金额占比(%)"
align=
"right"
:formatter=
"formatStatus"
sortable
width=
"140"
/>
<el-table-column
prop=
"count"
label=
"中标数量"
align=
"right"
:formatter=
"formatStatus"
sortable
width=
"130"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
</el-table-column>
<el-table-column
prop=
"countRate"
label=
"数量占比"
align=
"right"
:formatter=
"formatStatus"
sortable
width=
"140"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
countRate
}}
%
</
template
>
</el-table-column>
<el-table-column
prop=
"money"
label=
"中标总金额"
align=
"right"
:formatter=
"formatStatus"
sortable
width=
"190"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
money
}}
万元
</
template
>
</el-table-column>
<el-table-column
prop=
"moneyRate"
label=
"金额占比"
align=
"right"
:formatter=
"formatStatus"
sortable
width=
"120"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
moneyRate
}}
%
</
template
>
</el-table-column>
</el-table>
</div>
</div>
...
...
@@ -70,10 +78,18 @@
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"province"
label=
"地区"
:formatter=
"formatStatus"
width=
"100"
/>
<el-table-column
prop=
"count"
label=
"中标数量 (个)"
align=
"right"
:formatter=
"formatStatus"
sortable
width=
"130"
/>
<el-table-column
prop=
"countRate"
label=
"数量占比(%)"
align=
"right"
:formatter=
"formatStatus"
sortable
width=
"150"
/>
<el-table-column
prop=
"sumMoney"
label=
"中标总金额 (万元)"
align=
"right"
:formatter=
"formatStatus"
sortable
width=
"170"
/>
<el-table-column
prop=
"moneyRate"
label=
"金额占比(%)"
align=
"right"
:formatter=
"formatStatus"
sortable
width=
"145"
/>
<el-table-column
prop=
"count"
label=
"中标数量"
align=
"right"
:formatter=
"formatStatus"
sortable
width=
"130"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
</el-table-column>
<el-table-column
prop=
"countRate"
label=
"数量占比"
align=
"right"
:formatter=
"formatStatus"
sortable
width=
"140"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
countRate
}}
%
</
template
>
</el-table-column>
<el-table-column
prop=
"sumMoney"
label=
"中标总金额"
align=
"right"
:formatter=
"formatStatus"
sortable
width=
"190"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
sumMoney
}}
万元
</
template
>
</el-table-column>
<el-table-column
prop=
"moneyRate"
label=
"金额占比"
align=
"right"
:formatter=
"formatStatus"
sortable
width=
"120"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
moneyRate
}}
%
</
template
>
</el-table-column>
</el-table>
</div>
</div>
...
...
@@ -110,8 +126,12 @@
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"rangeName"
label=
"中标金额"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"count"
label=
"中标数量 (个)"
align=
"right"
:formatter=
"formatStatus"
sortable
/>
<el-table-column
prop=
"rate"
label=
"占比(%)"
align=
"right"
:formatter=
"formatStatus"
width=
"120"
sortable
/>
<el-table-column
prop=
"count"
label=
"中标数量"
align=
"right"
:formatter=
"formatStatus"
sortable
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
</el-table-column>
<el-table-column
prop=
"rate"
label=
"占比"
align=
"right"
:formatter=
"formatStatus"
width=
"120"
sortable
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
rate
}}
%
</
template
>
</el-table-column>
</el-table>
</div>
</div>
...
...
@@ -145,8 +165,12 @@
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"year"
label=
"年份"
:formatter=
"formatStatus"
width=
"100"
/>
<el-table-column
prop=
"count"
label=
"中标数量 (个)"
align=
"right"
:formatter=
"formatStatus"
sortable
/>
<el-table-column
prop=
"sumMoney"
label=
"中标总金额(万元)"
align=
"right"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"count"
label=
"中标数量"
align=
"right"
:formatter=
"formatStatus"
sortable
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
</el-table-column>
<el-table-column
prop=
"sumMoney"
label=
"中标总金额"
align=
"right"
:formatter=
"formatStatus"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
sumMoney
}}
万元
</
template
>
</el-table-column>
</el-table>
</div>
</div>
...
...
@@ -183,8 +207,12 @@
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"label"
label=
"时间"
:formatter=
"formatStatus"
width=
"130"
/>
<el-table-column
prop=
"rate"
label=
"下浮率(%)"
align=
"right"
:formatter=
"formatStatus"
sortable
/>
<el-table-column
prop=
"count"
label=
"统计项目数量 (个)"
align=
"right"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"rate"
label=
"下浮率"
align=
"right"
:formatter=
"formatStatus"
sortable
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
rate
}}
%
</
template
>
</el-table-column>
<el-table-column
prop=
"count"
label=
"统计项目数量"
align=
"right"
:formatter=
"formatStatus"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
</el-table-column>
</el-table>
</div>
</div>
...
...
@@ -225,9 +253,15 @@
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"month"
label=
"时间"
:formatter=
"formatStatus"
width=
"120"
/>
<el-table-column
prop=
"sgRate"
label=
"施工类下浮率(%)"
align=
"right"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"kcsjRate"
label=
"勘察设计类下浮率(%)"
align=
"right"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"jlRate"
label=
"监理类下浮率(%)"
align=
"right"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"sgRate"
label=
"施工类下浮率"
align=
"right"
:formatter=
"formatStatus"
width=
"160"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
sgRate
}}
%
</
template
>
</el-table-column>
<el-table-column
prop=
"kcsjRate"
label=
"勘察设计类下浮率"
align=
"right"
:formatter=
"formatStatus"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
kcsjRate
}}
%
</
template
>
</el-table-column>
<el-table-column
prop=
"jlRate"
label=
"监理类下浮率"
align=
"right"
:formatter=
"formatStatus"
width=
"160"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
jlRate
}}
%
</
template
>
</el-table-column>
</el-table>
</div>
</div>
...
...
dsk-operate-ui/src/views/system/user/index.vue
View file @
0fc75f92
...
...
@@ -673,7 +673,6 @@ export default {
submitForm
:
function
()
{
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
form
.
userName
=
this
.
form
.
phonenumber
if
(
this
.
form
.
userId
!=
undefined
)
{
updateUser
(
this
.
form
).
then
(
response
=>
{
if
(
response
.
code
==
200
){
...
...
@@ -687,6 +686,7 @@ export default {
}
});
}
else
{
this
.
form
.
userName
=
this
.
form
.
phonenumber
addUser
(
this
.
form
).
then
(
response
=>
{
if
(
response
.
code
==
200
){
this
.
$modal
.
msgSuccess
(
"新增成功"
);
...
...
dsk-operate-ui/src/views/system/user/profile/index.vue
View file @
0fc75f92
...
...
@@ -53,6 +53,38 @@
</el-tab-pane>
</el-tabs>
</el-card>
<el-card
style=
"margin-top: 16px"
v-if=
"tableDataTotal > 0"
>
<div
slot=
"header"
class=
"clearfix"
>
<span>
数据导出
</span>
</div>
<skeleton
v-if=
"isSkeleton"
style=
"padding: 16px"
></skeleton>
<div
class=
"table-item"
>
<el-table
class=
"fixed-table"
:data=
"tableData"
element-loading-text=
"Loading"
v-horizontal-scroll=
"'hover'"
max-height=
"640px"
border
highlight-current-row
v-if=
"tableDataTotal > 0 && !isSkeleton"
>
<el-table-column
label=
"序号"
width=
"60"
align=
"left"
>
<template
slot-scope=
"scope"
>
{{
(
params
.
pageNum
-
1
)
*
params
.
pageSize
+
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
label=
"导出表格名称"
align=
"left"
prop=
"fileName"
></el-table-column>
<el-table-column
label=
"导出时间"
align=
"left"
prop=
"createTime"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
align=
"left"
>
<div
class=
"wordprimary"
style=
"text-align: left"
@
click=
"getFile(scope.row.url)"
>
下载表格
</div>
</
template
>
</el-table-column>
</el-table>
</div>
<div
class=
"pagination-box"
v-if=
"tableDataTotal>params.pageSize"
>
<el-pagination
background
:current-page=
"params.pageNum"
:page-size=
"params.pageSize"
:total=
"tableDataTotal"
layout=
"prev, pager, next, jumper"
@
current-change=
"handleCurrentChange"
@
size-change=
"handleSizeChange"
/>
</div>
</el-card>
</el-col>
</el-row>
</div>
...
...
@@ -62,21 +94,27 @@
import
userAvatar
from
"./userAvatar"
;
import
userInfo
from
"./userInfo"
;
import
resetPwd
from
"./resetPwd"
;
import
{
getUserProfile
}
from
"@/api/system/user"
;
import
{
getUserProfile
,
fileList
}
from
"@/api/system/user"
;
import
skeleton
from
'@/views/project/projectList/component/skeleton'
export
default
{
name
:
"Profile"
,
components
:
{
userAvatar
,
userInfo
,
resetPwd
},
components
:
{
userAvatar
,
userInfo
,
resetPwd
,
skeleton
},
data
()
{
return
{
user
:
{},
roleGroup
:
{},
postGroup
:
{},
activeTab
:
"userinfo"
activeTab
:
"userinfo"
,
isSkeleton
:
true
,
tableData
:[],
tableDataTotal
:
0
,
params
:{
pageNum
:
1
,
pageSize
:
10
},
};
},
created
()
{
this
.
getUser
();
this
.
fileList
()
},
methods
:
{
getUser
()
{
...
...
@@ -85,6 +123,30 @@ export default {
this
.
roleGroup
=
response
.
data
.
roleGroup
;
this
.
postGroup
=
response
.
data
.
postGroup
;
});
},
fileList
(){
fileList
(
this
.
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
){
this
.
tableData
=
res
.
rows
this
.
tableDataTotal
=
res
.
total
}
else
{
this
.
tableData
=
[]
this
.
tableDataTotal
=
0
}
this
.
isSkeleton
=
false
})
},
handleCurrentChange
(
val
){
this
.
params
.
pageNum
=
val
this
.
fileList
()
},
handleSizeChange
(
val
){
this
.
params
.
pageNum
=
1
this
.
params
.
pageSize
=
val
this
.
fileList
()
},
getFile
(
url
){
window
.
open
(
url
)
}
}
};
...
...
dsk-system/src/main/java/com/dsk/system/domain/SysUserFileRecord.java
0 → 100644
View file @
0fc75f92
package
com
.
dsk
.
system
.
domain
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author lcl
* @create 2023/9/15
*/
@Data
@NoArgsConstructor
@TableName
(
"sys_user_file_record"
)
public
class
SysUserFileRecord
implements
Serializable
{
@TableId
(
value
=
"id"
)
private
Long
id
;
private
String
fileName
;
private
Integer
type
;
private
String
url
;
private
Long
userId
;
private
Integer
status
;
private
String
remark
;
private
Date
createTime
;
public
SysUserFileRecord
(
String
fileName
,
Integer
type
,
String
url
)
{
this
.
fileName
=
fileName
;
this
.
type
=
type
;
this
.
url
=
url
;
}
}
dsk-system/src/main/java/com/dsk/system/mapper/SysUserFileRecordMapper.java
0 → 100644
View file @
0fc75f92
package
com
.
dsk
.
system
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.dsk.system.domain.SysUserFileRecord
;
/**
* 用户文件记录
* @author lcl
* @create 2023/9/15
*/
public
interface
SysUserFileRecordMapper
extends
BaseMapper
<
SysUserFileRecord
>
{
}
dsk-system/src/main/java/com/dsk/system/service/ISysUserFileRecordService.java
0 → 100644
View file @
0fc75f92
package
com
.
dsk
.
system
.
service
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.system.domain.SysUserFileRecord
;
/**
* @author lcl
* @create 2023/9/15
*/
public
interface
ISysUserFileRecordService
{
TableDataInfo
<
SysUserFileRecord
>
userList
(
PageQuery
page
);
boolean
add
(
SysUserFileRecord
bean
);
}
dsk-system/src/main/java/com/dsk/system/service/impl/SysUserFileRecordServiceImpl.java
0 → 100644
View file @
0fc75f92
package
com
.
dsk
.
system
.
service
.
impl
;
import
cn.hutool.core.bean.BeanException
;
import
cn.hutool.core.date.DateField
;
import
cn.hutool.core.date.DateUtil
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.common.helper.LoginHelper
;
import
com.dsk.system.domain.SysUserFileRecord
;
import
com.dsk.system.mapper.SysUserFileRecordMapper
;
import
com.dsk.system.service.ISysUserFileRecordService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
javax.annotation.Resource
;
import
java.util.Date
;
/**
* 用户文件记录
*
* @author lcl
* @create 2023/9/15
*/
@Slf4j
@Service
public
class
SysUserFileRecordServiceImpl
implements
ISysUserFileRecordService
{
@Resource
private
SysUserFileRecordMapper
baseMapper
;
@Override
public
TableDataInfo
<
SysUserFileRecord
>
userList
(
PageQuery
page
)
{
return
TableDataInfo
.
build
(
baseMapper
.
selectPage
(
page
.
build
(),
Wrappers
.<
SysUserFileRecord
>
lambdaQuery
()
.
eq
(
SysUserFileRecord:
:
getUserId
,
LoginHelper
.
getUserId
())
.
eq
(
SysUserFileRecord:
:
getType
,
1
)
.
ge
(
SysUserFileRecord:
:
getCreateTime
,
DateUtil
.
offsetDay
(
new
Date
(),
-
30
))
.
orderByDesc
(
SysUserFileRecord:
:
getCreateTime
))
);
}
@Override
public
boolean
add
(
SysUserFileRecord
bean
)
{
dataVerify
(
bean
);
return
baseMapper
.
insert
(
bean
)
!=
0
;
}
private
void
dataVerify
(
SysUserFileRecord
bean
)
{
if
(
ObjectUtils
.
isEmpty
(
bean
.
getUrl
()))
throw
new
BeanException
(
"文件存储链接不能为空!"
);
if
(
ObjectUtils
.
isEmpty
(
bean
.
getFileName
()))
throw
new
BeanException
(
"文件名称不能为空!"
);
if
(
ObjectUtils
.
isEmpty
(
bean
.
getType
()))
throw
new
BeanException
(
"文件类型不能为空!"
);
bean
.
setUserId
(
LoginHelper
.
getUserId
());
}
}
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