Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-operate-sys-cscec
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fulixin
dsk-operate-sys-cscec
Commits
ae430bbf
Commit
ae430bbf
authored
Dec 14, 2023
by
liuChang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'V20231129-中建一局二公司' of 192.168.60.201:root/dsk-operate-sys into V20231129-中建一局二公司
parents
8fd66f59
14996ce3
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
739 additions
and
91 deletions
+739
-91
SysConfigController.java
...va/com/dsk/web/controller/system/SysConfigController.java
+1
-1
SysPushController.java
...java/com/dsk/web/controller/system/SysPushController.java
+3
-6
Constants.java
...mmon/src/main/java/com/dsk/common/constant/Constants.java
+2
-0
DCustomerMapper.xml
...z-api/src/main/resources/mapper/cscec/DCustomerMapper.xml
+1
-1
common.js
dsk-operate-ui/src/api/common.js
+20
-11
index.js
dsk-operate-ui/src/api/consultingOrgManagement/index.js
+23
-1
index.vue
dsk-operate-ui/src/components/TableListCom/index.vue
+18
-15
permission.js
dsk-operate-ui/src/permission.js
+15
-14
user.js
dsk-operate-ui/src/store/modules/user.js
+17
-0
index.js
dsk-operate-ui/src/utils/index.js
+3
-3
detailsOfCooperation.vue
...components/EnterpriseList/detail/detailsOfCooperation.vue
+322
-0
index.vue
...nsultingOrgManagement/components/EnterpriseList/index.vue
+259
-14
index.vue
.../consultingOrgManagement/components/ProjectList/index.vue
+15
-14
index.vue
dsk-operate-ui/src/views/consultingOrgManagement/index.vue
+1
-0
SysPush.java
dsk-system/src/main/java/com/dsk/system/domain/SysPush.java
+2
-2
SysStatutoryHoliday.java
.../main/java/com/dsk/system/domain/SysStatutoryHoliday.java
+29
-0
SysPushMapper.java
...em/src/main/java/com/dsk/system/mapper/SysPushMapper.java
+2
-2
ISysPushService.java
...src/main/java/com/dsk/system/service/ISysPushService.java
+2
-2
SysPushServiceImpl.java
.../java/com/dsk/system/service/impl/SysPushServiceImpl.java
+4
-5
No files found.
dsk-admin/src/main/java/com/dsk/web/controller/system/SysConfigController.java
View file @
ae430bbf
...
...
@@ -79,7 +79,7 @@ public class SysConfigController extends BaseController {
*
* @param configKey 参数Key
*/
@GetMapping
(
value
=
"/{configKey}"
)
@GetMapping
(
value
=
"/
key/
{configKey}"
)
public
R
<
SysConfig
>
getConfig
(
@PathVariable
String
configKey
)
{
return
R
.
ok
(
configService
.
selectConfigByKey
(
configKey
));
}
...
...
dsk-
module/dsk-biz-api/src/main/java/com/dsk/cscec/controller
/SysPushController.java
→
dsk-
admin/src/main/java/com/dsk/web/controller/system
/SysPushController.java
View file @
ae430bbf
package
com
.
dsk
.
cscec
.
controller
;
package
com
.
dsk
.
web
.
controller
.
system
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
...
...
@@ -6,14 +6,11 @@ import com.dsk.common.core.controller.BaseController;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.cscec.domain.SysPush
;
import
com.dsk.cscec.service.ISysPushService
;
import
org.apache.ibatis.annotations.Delete
;
import
com.dsk.system.domain.SysPush
;
import
com.dsk.system.service.ISysPushService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
/**
* 系统推送(SysPush)表控制层
*
...
...
dsk-common/src/main/java/com/dsk/common/constant/Constants.java
View file @
ae430bbf
...
...
@@ -82,5 +82,7 @@ public interface Constants {
String
CONTENT_TYPE_XLSX
=
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
;
String
STATUTORY_HOLIDAY_ADDR
=
"https://timor.tech/api/holiday/year/"
;
}
dsk-module/dsk-biz-api/src/main/resources/mapper/cscec/DCustomerMapper.xml
View file @
ae430bbf
...
...
@@ -8,7 +8,7 @@
select
customer_key, customer_id, customer_code, customer_name, recommend_org, register_region, register_province, register_city, customer_class, primary_business,
paytax_type, tax_rate, customer_state, leader_name, labor_captain_phone, labor_captain_idcard, service_team_personnum, service_team_speciality,
construct_job_scope, credential, register_capital, contact_person, contact_phone, approve_date2, credit_level
construct_job_scope, credential, register_capital, contact_person, contact_phone, approve_date2, credit_level
, group_specialty
from d_customer
where recommend_org_id = 'F17305B4EA4444CBAB12892C7B99E475'
<if
test=
"bo.customerName != null and bo.customerName != '' "
>
and customer_name like concat('%',#{bo.customerName},'%')
</if>
...
...
dsk-operate-ui/src/api/common.js
View file @
ae430bbf
import
request
from
'@/utils/request'
import
request
from
'@/utils/request'
;
// id解密
export
const
idRemark
=
(
data
)
=>
{
...
...
@@ -6,29 +6,38 @@ export const idRemark = (data) => {
url
:
'/enterprise/remark'
,
method
:
'post'
,
data
:
data
})
}
})
;
}
;
// 认领用户
export
const
claim
=
function
claim
(
param
)
{
export
const
claim
=
function
claim
(
param
)
{
return
request
({
url
:
'/customer/claim'
,
method
:
'post'
,
data
:
param
})
}
})
;
}
;
// 历史客户认领
export
const
historyClaim
=
function
historyClaim
(
name
)
{
export
const
historyClaim
=
function
historyClaim
(
name
)
{
return
request
({
url
:
'/customer/historyClaim/'
+
name
,
url
:
'/customer/historyClaim/'
+
name
,
method
:
'Put'
,
})
}
})
;
}
;
//获取大司空open 插件访问token
export
function
dskAccessToken
()
{
return
request
({
url
:
'/system/config/dsk/accessToken'
,
method
:
'get'
,
})
})
;
}
/**
* 获取地区
* @returns {Array<object>}
*/
export
const
getAreaListApi
=
()
=>
request
({
url
:
"/area/all/withoutRegion"
,
method
:
"get"
});
dsk-operate-ui/src/api/consultingOrgManagement/index.js
View file @
ae430bbf
import
request
from
'@/utils/request'
;
/**
* 咨询机构合作台账 查询列表 以及 查询参数
* 咨询机构合作台账 查询
项目
列表 以及 查询参数
* @param {object} params
* @returns
*/
...
...
@@ -9,4 +9,26 @@ export const getConsultingOrgProjectListWithSearchApi = (params) => request({
url
:
"/advisory/body/getProjectList"
,
method
:
"get"
,
params
});
/**
* 咨询机构合作台账 查询企业列表 以及 查询参数
* @param {object} params
* @returns
*/
export
const
getConsultingOrgEenterpriseListWithSearchApi
=
(
params
)
=>
request
({
url
:
"/advisory/body/getAdvisoryBodyList"
,
method
:
"get"
,
params
});
/**
* 咨询机构合作台账 查询企业列表 以及 查询参数
* @param {object} params
* @returns
*/
export
const
getConsultingOrgEenterpriseDetailWithSearchApi
=
(
params
)
=>
request
({
url
:
"/advisory/body/getCooperateProjectDetailList"
,
method
:
"get"
,
params
});
\ No newline at end of file
dsk-operate-ui/src/components/TableListCom/index.vue
View file @
ae430bbf
...
...
@@ -3,8 +3,8 @@
<div
class=
"table-item"
>
<el-table
v-if=
"tableDataTotal>0"
class=
"fixed-table"
:class=
"headerFixed ? 'headerFixed':''"
v-loading=
"tableLoading"
:data=
"tableData"
element-loading-text=
"Loading"
ref=
"tableRef"
border
fit
highlight-current-row
:default-sort=
"defaultSort?defaultSort:
{}"
@sort-change="sortChange" @selection-change="selectionChange" :cell-class-name="cellClassName" :cell-style="cellStyle"
:height="height"
:maxHeight="maxHeight" v-sticky-header="stickyHeader">
@sort-change="sortChange" @selection-change="selectionChange" :cell-class-name="cellClassName" :cell-style="cellStyle"
:
row-class-name="rowClassName" :row-style="rowStyle" :height="height" :
maxHeight="maxHeight" v-sticky-header="stickyHeader">
<el-table-column
type=
"selection"
:width=
"needSelection.width ? needSelection.width : '38px'"
v-if=
"needSelection.flag"
:fixed=
"needSelection.fixed"
:align=
"needSelection.align"
:show-overflow-tooltip=
"needSelection.showOverflowTooltip"
>
</el-table-column>
...
...
@@ -98,11 +98,19 @@ export default {
},
cellClassName
:
{
type
:
Function
,
default
:
()
=>
()
=>
{
}
default
:
()
=>
{
}
},
cellStyle
:
{
type
:
Function
,
default
:
()
=>
()
=>
{
}
default
:
()
=>
{
}
},
rowClassName
:
{
type
:
Function
,
default
:
()
=>
{
}
},
rowStyle
:
{
type
:
Function
,
default
:
()
=>
{
}
},
// 吸顶偏移量
stickyHeader
:
{
...
...
@@ -208,7 +216,7 @@ export default {
.table-list-com-ins
{
::v-deep
.table-item
{
.no-line-feed
{
display
:
inline-
block
;
display
:
block
;
color
:
#0081ff
;
cursor
:
pointer
;
width
:
100%
;
...
...
@@ -243,21 +251,16 @@ export default {
}
.el-table
{
.cell
{
height
:
21px
;
&
.el-tooltip
{
height
:
21px
;
}
}
/* .cell {
display: flex;
align-items: center;
} */
}
}
::v-deep
.el-table__body
tr
.current-row
>
td
.el-table__cell
{
background-color
:
#ffffff
;
}
/*::v-deep .el-table__fixed{
height: calc(100% - 16px) !important;
}*/
::v-deep
.el-table__row
{
&
:nth-child
(
even
)
{
...
...
@@ -277,7 +280,7 @@ export default {
}
}
}
::v-deep
.el-table
th
.el-table__cell.is-leaf
,
::v-deep
.el-table
td
.el-table__cell
{
border-bottom
:
1px
solid
#e6eaf1
;
...
...
dsk-operate-ui/src/permission.js
View file @
ae430bbf
...
...
@@ -10,7 +10,7 @@ NProgress.configure({ showSpinner: false });
const
whiteList
=
[
'/login'
,
'/register'
];
router
.
beforeEach
((
to
,
from
,
next
)
=>
{
router
.
beforeEach
(
async
(
to
,
from
,
next
)
=>
{
NProgress
.
start
();
if
(
getToken
())
{
// tab页签title
...
...
@@ -26,20 +26,21 @@ router.beforeEach((to, from, next) => {
if
(
store
.
getters
.
roles
.
length
===
0
)
{
isRelogin
.
show
=
true
;
// 判断当前用户是否已拉取完user_info信息
store
.
dispatch
(
'GetInfo'
).
then
(()
=>
{
try
{
await
store
.
dispatch
(
'GetInfo'
);
// 拉取地区信息
await
store
.
dispatch
(
"getArea"
);
isRelogin
.
show
=
false
;
store
.
dispatch
(
'GenerateRoutes'
).
then
(
accessRoutes
=>
{
// 根据roles权限生成可访问的路由表
router
.
addRoutes
(
accessRoutes
);
// 动态添加可访问路由表
next
({
...
to
,
replace
:
true
});
// hack方法 确保addRoutes已完成
});
}).
catch
(
err
=>
{
store
.
dispatch
(
'LogOut'
).
then
(()
=>
{
Message
.
error
(
err
);
sessionStorage
.
removeItem
(
'views'
);
next
({
path
:
'/'
});
});
});
const
accessRoutes
=
await
store
.
dispatch
(
'GenerateRoutes'
);
// 根据roles权限生成可访问的路由表
router
.
addRoutes
(
accessRoutes
);
// 动态添加可访问路由表
next
({
...
to
,
replace
:
true
});
// hack方法 确保addRoutes已完成
}
catch
(
error
)
{
await
store
.
dispatch
(
'LogOut'
);
Message
.
error
(
error
);
sessionStorage
.
removeItem
(
'views'
);
next
({
path
:
'/'
});
}
}
else
{
next
();
}
...
...
dsk-operate-ui/src/store/modules/user.js
View file @
ae430bbf
import
{
login
,
logout
,
getInfo
}
from
'@/api/login'
;
import
{
getAreaListApi
}
from
"@/api/common"
;
import
{
getToken
,
setToken
,
removeToken
,
setTenantid
}
from
'@/utils/auth'
;
const
user
=
{
...
...
@@ -10,6 +11,7 @@ const user = {
permissions
:
[],
userId
:
''
,
phonenumber
:
''
,
areaArrayList
:
[]
},
mutations
:
{
...
...
@@ -33,6 +35,9 @@ const user = {
},
SET_USERPHONE
:
(
state
,
phonenumber
)
=>
{
state
.
phonenumber
=
phonenumber
;
},
SET_AREA_LIST
(
state
,
payload
)
{
state
.
areaArrayList
=
payload
?
payload
:
[];
}
},
...
...
@@ -78,6 +83,18 @@ const user = {
});
},
// 获取地区信息
async
getArea
({
commit
,
state
})
{
try
{
const
areaList
=
await
getAreaListApi
();
if
(
areaList
.
code
==
200
)
{
commit
(
"SET_AREA_LIST"
,
areaList
.
data
);
return
areaList
;
}
return
[];
}
catch
(
error
)
{
}
},
// 退出系统
LogOut
({
commit
,
state
})
{
return
new
Promise
((
resolve
,
reject
)
=>
{
...
...
dsk-operate-ui/src/utils/index.js
View file @
ae430bbf
...
...
@@ -601,8 +601,8 @@ export function queryConditionFiltering(params) {
for
(
let
index
=
0
;
index
<
len
;
index
++
)
{
const
key
=
keys
[
index
];
if
(
_temp
.
hasOwnProperty
(
key
))
{
// 数组内部不处理
外部处理
if
(
_temp
[
key
]
instanceof
Array
)
{
// 数组内部不处理
if
(
_temp
[
key
]
instanceof
Array
&&
_temp
[
key
]?.
length
)
{
result
[
key
]
=
_temp
[
key
];
continue
;
}
...
...
@@ -612,7 +612,7 @@ export function queryConditionFiltering(params) {
continue
;
}
// 过滤无效值 0为有效数据
if
(
_temp
[
key
]
||
_temp
[
key
]
==
"0"
)
{
if
(
typeof
_temp
[
key
]
!=
"object"
&&
(
_temp
[
key
]
||
_temp
[
key
]
==
"0"
)
)
{
result
[
key
]
=
_temp
[
key
];
continue
;
}
...
...
dsk-operate-ui/src/views/consultingOrgManagement/components/EnterpriseList/detail/detailsOfCooperation.vue
0 → 100644
View file @
ae430bbf
<
template
>
<div
class=
"details-of-cooperation default-layout-container"
>
<div
class=
"default-layout-container-inner"
>
<div
class=
"consulting-search-form"
>
<!-- 表单 -->
<el-form
:model=
"form"
ref=
"form"
:rules=
"rules"
label-width=
"84px"
class=
"el-search-form-public"
>
<div
class=
"each-line"
>
<el-form-item
label=
"项目地区"
>
<el-input
v-model=
"form.provinceName"
placeholder=
"请输入咨询机构名称"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"项目承接类型"
>
<el-select
v-model=
"form.isinvestproject"
placeholder=
"请选择"
clearable
>
<el-option
v-for=
"item in projectTypeOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"工程类型大类"
>
<el-select
v-model=
"form.projectType1"
placeholder=
"请选择"
clearable
>
<el-option
v-for=
"item in projectTypeOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
</div>
<div
class=
"each-line special-line"
>
<el-form-item
label=
"工程类别明细"
>
<el-select
v-model=
"form.projectType"
placeholder=
"请选择"
clearable
>
<el-option
v-for=
"item in engineeringCategoryDetailOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"关键字搜索"
>
<el-input
v-model=
"form.projectName"
placeholder=
"请输入"
clearable
></el-input>
</el-form-item>
<!-- 查询重置 -->
<div
class=
"consulting-search-form-btn"
>
<el-button
type=
"primary"
@
click=
"searchForm(true)"
class=
"search-btn"
>
查询
</el-button>
<el-button
@
click=
"resetForm"
class=
"reset-btn"
>
重置
</el-button>
</div>
</div>
</el-form>
</div>
<!-- 列表容器 -->
<div
class=
"search-result-list-container"
>
<div
class=
"search-result-head-container"
>
<div
class=
"result-head-left"
>
<div
class=
"result-list-total"
>
共
{{
total
}}
条
</div>
</div>
<div
class=
"result-head-right"
></div>
</div>
<skeleton
v-if=
"tableLoading"
></skeleton>
<!-- table 列表 -->
<table-list-com
ref=
"tableContainer"
:tableData=
"tableDataList"
:formColum=
"formColum"
:tableDataTotal=
"total"
:queryParams=
"queryParams"
v-else-if=
"!tableLoading"
:height=
"'100%'"
@
handle-current-change=
"handleCurrentChange"
>
<!-- 项目列表 -->
<template
slot=
"projectName"
slot-scope=
"
{data,row}">
<div
v-if=
"row.projectName"
class=
"no-line-feed "
>
{{
row
.
projectName
}}
</div>
<span
v-else
>
-
</span>
</
template
>
</table-list-com>
</div>
</div>
</div>
</template>
<
script
>
import
TableListCom
from
"@/components/TableListCom"
;
import
Skeleton
from
"@/components/Skeleton"
;
import
{
getConsultingOrgEenterpriseDetailWithSearchApi
}
from
"@/api/consultingOrgManagement"
;
import
{
queryConditionFiltering
}
from
"@/utils"
;
import
{
v4
}
from
'uuid'
;
export
default
{
name
:
"detailsOfCooperation"
,
components
:
{
TableListCom
,
Skeleton
},
data
()
{
return
{
form
:
{
// 项目地区
provinceName
:
""
,
// 承接项目类型
isinvestproject
:
""
,
// 工程类型大类
projectType1
:
""
,
// 工程类别明细
projectType
:
""
,
// 项目关键字搜索
projectName
:
""
},
tableLoading
:
false
,
fixedPropsKey
:
[
"staticSerialNumber"
,
"advisoryBodyName"
],
// 列表表头
formColum
:
[
{
label
:
'序号'
,
prop
:
"staticSerialNumber"
,
type
:
"index"
,
lock
:
true
,
fixed
:
false
,
uid
:
v4
()
},
{
label
:
'咨询机构名称'
,
prop
:
'advisoryBodyName'
,
width
:
"198px"
,
lock
:
true
,
fixed
:
false
,
slot
:
true
,
uid
:
v4
(),
showOverflowTooltip
:
true
},
{
label
:
'最近一次合作时间'
,
prop
:
'lastCooperateTime'
,
width
:
"201px"
,
uid
:
v4
()
},
{
label
:
'经营状态'
,
prop
:
'businessStatus'
,
width
:
"74px"
,
uid
:
v4
()
},
{
label
:
'法定代表人'
,
prop
:
'corporatePerson'
,
width
:
"86px"
,
uid
:
v4
()
},
{
label
:
'注册资本'
,
prop
:
'regCapital'
,
width
:
"107px"
,
uid
:
v4
()
},
{
label
:
'注册地区'
,
prop
:
'regArea'
,
width
:
"149px"
,
uid
:
v4
()
},
{
label
:
'成立日期'
,
prop
:
'registeredDate'
,
width
:
"97px"
,
uid
:
v4
()
},
{
label
:
'经营范围'
,
prop
:
'businessScope'
,
width
:
"417px"
,
uid
:
v4
()
},
{
label
:
'合作项目数量'
,
prop
:
'cooperateProjectCount'
,
width
:
"98px"
,
uid
:
v4
(),
slot
:
true
},
],
queryParams
:
{
pageSize
:
20
,
pageNum
:
1
,
// 咨询机构ID
advisoryBodyId
:
""
,
},
tableDataList
:
[],
total
:
0
,
rules
:
{
},
projectTypeOptions
:
[],
engineeringCategoryOptions
:
[
{
value
:
"1"
,
label
:
"测试1"
},
{
value
:
"2"
,
label
:
"测试2"
}
],
engineeringCategoryDetailOptions
:
[
{
value
:
"1"
,
label
:
"测试1"
},
{
value
:
"2"
,
label
:
"测试2"
}
]
};
},
//可访问data属性
created
()
{
this
.
init
();
},
beforeDestroy
()
{
this
.
removeScrollXListen
();
},
//计算集
computed
:
{
},
//方法集
methods
:
{
async
init
()
{
try
{
// if (!this.$routes?.params?.advisoryBodyId) return this.$message.error("缺少咨询机构Id");
// this.queryParams.advisoryBodyId = !this.$routes?.params?.advisoryBodyId;
await
this
.
getList
(
this
.
queryParams
);
}
catch
(
error
)
{
}
},
// 创建最终查询条件
mergeCondition
()
{
const
_queryParams
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
queryParams
));
// 过滤条件
const
_form
=
queryConditionFiltering
(
this
.
form
);
// 处理时间
if
(
_form
?.
cooperationTime
?.
length
)
{
_form
.
projectStartTime
=
_form
?.
projectCreateTime
[
0
];
_form
.
projectEndTime
=
_form
?.
projectCreateTime
[
1
];
}
delete
_form
.
cooperationTime
;
return
{
...
_queryParams
,
...
_form
};
},
searchForm
(
defaultPage
=
false
)
{
// 查询按钮从第一页查询
if
(
defaultPage
)
{
this
.
queryParams
.
pageNum
=
1
;
this
.
queryParams
.
pageSize
=
20
;
}
this
.
getList
(
this
.
mergeCondition
());
},
resetForm
()
{
const
defaultValue
=
this
.
$options
.
data
.
call
(
this
);
this
.
form
=
defaultValue
.
form
;
this
.
queryParams
=
defaultValue
.
queryParams
;
this
.
getList
(
this
.
queryParams
);
},
async
getList
(
params
)
{
try
{
this
.
tableLoading
=
true
;
const
result
=
await
getConsultingOrgEenterpriseDetailWithSearchApi
(
params
);
if
(
result
.
code
==
200
)
{
this
.
tableDataList
=
result
.
rows
?
result
.
rows
:
[];
this
.
total
=
result
.
total
?
result
.
total
:
0
;
}
else
{
this
.
$message
.
error
(
result
.
msg
);
}
console
.
log
(
result
);
}
catch
(
error
)
{
}
finally
{
this
.
tableLoading
=
false
;
await
this
.
$nextTick
();
this
.
total
?
this
.
$refs
.
tableContainer
.
$refs
.
tableRef
.
doLayout
()
:
null
;
this
.
listenScrollX
();
}
},
// 表头设置变化
async
settingChange
(
use
)
{
try
{
this
.
formColum
=
use
;
}
catch
(
error
)
{
}
},
handleCurrentChange
(
page
)
{
this
.
queryParams
.
pageNum
=
page
;
this
.
searchForm
();
},
async
listenScrollX
()
{
try
{
await
this
.
$nextTick
();
const
scrollContainer
=
document
.
querySelector
(
".cooperation-desk-account-enterprise .el-table__body-wrapper"
);
if
(
scrollContainer
)
{
scrollContainer
.
removeEventListener
(
"scroll"
,
this
.
listenHandler
,
false
);
scrollContainer
.
addEventListener
(
"scroll"
,
this
.
listenHandler
,
false
);
}
}
catch
(
error
)
{
}
},
removeScrollXListen
()
{
const
scrollContainer
=
document
.
querySelector
(
".cooperation-desk-account-enterprise .el-table__body-wrapper"
);
if
(
scrollContainer
)
{
scrollContainer
.
removeEventListener
(
"scroll"
,
this
.
listenHandler
,
false
);
}
},
listenHandler
(
e
)
{
const
{
target
}
=
e
;
if
(
target
)
{
const
flag
=
target
.
scrollLeft
>
0
?
true
:
false
;
this
.
formColum
.
forEach
(
item
=>
this
.
fixedPropsKey
.
includes
(
item
.
prop
)
?
item
.
fixed
=
flag
:
null
);
}
}
},
}
</
script
>
<
style
lang=
"scss"
scoped
>
.details-of-cooperation
{
.default-layout-container-inner
{
.consulting-search-form
{
background
:
#fff
;
padding
:
16px
;
border-radius
:
4px
;
box-sizing
:
border-box
;
@import
"@/assets/styles/el-search-form-public.scss"
;
.special-line
{
display
:
flex
;
align-items
:
center
;
.el-form-item
{
margin-bottom
:
0px
;
}
}
.consulting-search-form-btn
{
width
:
364px
;
display
:
inline-flex
;
align-items
:
center
;
justify-content
:
flex-end
;
.el-button
{
height
:
32px
;
line-height
:
32px
;
text-align
:
center
;
padding
:
0px
16px
;
box-sizing
:
border-box
;
border-radius
:
4px
;
&
.search-btn
{
background
:
#0081ff
;
border-color
:
#0081ff
;
}
&
.reset-btn
{
border
:
1px
solid
#dcdfe6
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
background
:
#fff
;
margin-left
:
12px
;
}
}
}
}
.search-result-list-container
{
margin-top
:
16px
;
background
:
#fff
;
border-radius
:
4px
;
padding
:
16px
;
box-sizing
:
border-box
;
height
:
calc
(
100%
-
128px
);
@import
"@/assets/styles/search-result-list-public.scss"
;
::v-deep
.table-list-com-ins
{
height
:
calc
(
100%
-
80px
);
margin-top
:
16px
;
.pagination-box
{
padding
:
0px
;
margin-top
:
16px
;
}
}
}
}
}
</
style
>
dsk-operate-ui/src/views/consultingOrgManagement/components/EnterpriseList/index.vue
View file @
ae430bbf
<
template
>
<div
class=
"cooperation-desk-account-enterprise"
>
<div
class=
"cooperation-desk-account-enterprise"
>
<div
class=
"consulting-search-form"
>
<el-form
:model=
"form"
ref=
"form"
:rules=
"rules"
label-width=
"84px"
class=
"el-search-form-public"
>
<div
class=
"each-line"
>
<el-form-item
label=
"咨询机构名称"
>
<el-input
v-model=
"form.advisoryBodyName"
placeholder=
"请输入咨询机构名称"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"最近合作时间"
>
<el-date-picker
v-model=
"form.cooperationTime"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"年/月/日"
end-placeholder=
"年/月/日"
format=
"yyyy/MM/dd"
value-format=
"yyyy-MM-dd"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"经营范围"
>
<el-input
v-model=
"form.businessScope"
placeholder=
"请输入经营范围"
clearable
></el-input>
</el-form-item>
</div>
</el-form>
<!-- 查询重置 -->
<div
class=
"consulting-search-form-btn"
>
<el-button
type=
"primary"
@
click=
"searchForm(true)"
class=
"search-btn"
>
查询
</el-button>
<el-button
@
click=
"resetForm"
class=
"reset-btn"
>
重置
</el-button>
</div>
</div>
<!-- 列表容器 -->
<div
class=
"search-result-list-container"
>
<div
class=
"search-result-head-container"
>
<div
class=
"result-head-left"
>
<div
class=
"result-list-total"
>
共
{{
total
}}
条
</div>
</div>
<div
class=
"result-head-right"
></div>
</div>
<skeleton
v-if=
"tableLoading"
></skeleton>
<!-- table 列表 -->
<table-list-com
ref=
"tableContainer"
:tableData=
"tableDataList"
:formColum=
"formColum"
:tableDataTotal=
"total"
:queryParams=
"queryParams"
v-else-if=
"!tableLoading"
:height=
"'100%'"
@
handle-current-change=
"handleCurrentChange"
>
<!-- 咨询机构名称 -->
<template
slot=
"advisoryBodyName"
slot-scope=
"
{data,row}">
<div
v-if=
"row.advisoryBodyName"
class=
"no-line-feed "
>
{{
row
.
advisoryBodyName
}}
</div>
<span
v-else
>
-
</span>
</
template
>
<!-- 合作项目数量 -->
<
template
slot=
"cooperateProjectCount"
slot-scope=
"{data,row}"
>
<div
v-if=
"row.cooperateProjectCount"
class=
"no-line-feed "
>
{{
row
.
cooperateProjectCount
}}
</div>
<span
v-else
>
-
</span>
</
template
>
</table-list-com>
</div>
</div>
</template>
<
script
>
import
TableListCom
from
"@/components/TableListCom"
;
import
Skeleton
from
"@/components/Skeleton"
;
import
{
getConsultingOrgEenterpriseListWithSearchApi
}
from
"@/api/consultingOrgManagement"
;
import
{
queryConditionFiltering
}
from
"@/utils"
;
import
{
v4
}
from
'uuid'
;
export
default
{
name
:
"cooperationDeskAccountEnterprise"
,
data
()
{
return
{
name
:
"cooperationDeskAccountEnterprise"
,
components
:
{
TableListCom
,
Skeleton
},
data
()
{
return
{
form
:
{
// 咨询机构名称
advisoryBodyName
:
""
,
// 最近合作时间
cooperationTime
:
[],
// 合作开始时间
minLastCooperateDate
:
""
,
// 合作结束时间
maxLastCooperateDate
:
""
,
// 经营范围
businessScope
:
""
,
},
tableLoading
:
false
,
fixedPropsKey
:
[
"staticSerialNumber"
,
"advisoryBodyName"
],
// 列表表头
formColum
:
[
{
label
:
'序号'
,
prop
:
"staticSerialNumber"
,
type
:
"index"
,
lock
:
true
,
fixed
:
false
,
uid
:
v4
()
},
{
label
:
'咨询机构名称'
,
prop
:
'advisoryBodyName'
,
width
:
"198px"
,
lock
:
true
,
fixed
:
false
,
slot
:
true
,
uid
:
v4
(),
showOverflowTooltip
:
true
},
{
label
:
'最近一次合作时间'
,
prop
:
'lastCooperateTime'
,
width
:
"201px"
,
uid
:
v4
()
},
{
label
:
'经营状态'
,
prop
:
'businessStatus'
,
width
:
"74px"
,
uid
:
v4
()
},
{
label
:
'法定代表人'
,
prop
:
'corporatePerson'
,
width
:
"86px"
,
uid
:
v4
()
},
{
label
:
'注册资本'
,
prop
:
'regCapital'
,
width
:
"107px"
,
uid
:
v4
()
},
{
label
:
'注册地区'
,
prop
:
'regArea'
,
width
:
"149px"
,
uid
:
v4
()
},
{
label
:
'成立日期'
,
prop
:
'registeredDate'
,
width
:
"97px"
,
uid
:
v4
()
},
{
label
:
'经营范围'
,
prop
:
'businessScope'
,
width
:
"417px"
,
uid
:
v4
()
},
{
label
:
'合作项目数量'
,
prop
:
'cooperateProjectCount'
,
width
:
"98px"
,
uid
:
v4
(),
slot
:
true
},
],
queryParams
:
{
pageSize
:
50
,
pageNum
:
1
},
tableDataList
:
[],
total
:
0
,
rules
:
{
},
};
},
//可访问data属性
created
()
{
this
.
init
();
},
beforeDestroy
()
{
this
.
removeScrollXListen
();
},
//计算集
computed
:
{
},
//方法集
methods
:
{
async
init
()
{
try
{
await
this
.
getList
(
this
.
queryParams
);
}
catch
(
error
)
{
}
},
// 创建最终查询条件
mergeCondition
()
{
const
_queryParams
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
queryParams
));
// 过滤条件
const
_form
=
queryConditionFiltering
(
this
.
form
);
// 处理时间
if
(
_form
?.
cooperationTime
?.
length
)
{
_form
.
projectStartTime
=
_form
?.
projectCreateTime
[
0
];
_form
.
projectEndTime
=
_form
?.
projectCreateTime
[
1
];
}
},
//可访问data属性
created
(){
},
//计算集
computed
:{
delete
_form
.
cooperationTime
;
return
{
...
_queryParams
,
...
_form
};
},
searchForm
(
defaultPage
=
false
)
{
// 查询按钮从第一页查询
if
(
defaultPage
)
{
this
.
queryParams
.
pageNum
=
1
;
this
.
queryParams
.
pageSize
=
50
;
}
this
.
getList
(
this
.
mergeCondition
());
},
resetForm
()
{
const
defaultValue
=
this
.
$options
.
data
.
call
(
this
);
this
.
form
=
defaultValue
.
form
;
this
.
queryParams
=
defaultValue
.
queryParams
;
this
.
getList
(
this
.
queryParams
);
},
async
getList
(
params
)
{
try
{
this
.
tableLoading
=
true
;
const
result
=
await
getConsultingOrgEenterpriseListWithSearchApi
(
params
);
if
(
result
.
code
==
200
)
{
this
.
tableDataList
=
result
.
rows
?
result
.
rows
:
[];
this
.
total
=
result
.
total
?
result
.
total
:
0
;
}
else
{
this
.
$message
.
error
(
result
.
msg
);
}
console
.
log
(
result
);
}
catch
(
error
)
{
},
//方法集
methods
:{
}
finally
{
this
.
tableLoading
=
false
;
await
this
.
$nextTick
();
this
.
total
?
this
.
$refs
.
tableContainer
.
$refs
.
tableRef
.
doLayout
()
:
null
;
this
.
listenScrollX
();
}
},
// 表头设置变化
async
settingChange
(
use
)
{
try
{
this
.
formColum
=
use
;
}
catch
(
error
)
{
}
},
handleCurrentChange
(
page
)
{
this
.
queryParams
.
pageNum
=
page
;
this
.
searchForm
();
},
async
listenScrollX
()
{
try
{
await
this
.
$nextTick
();
const
scrollContainer
=
document
.
querySelector
(
".cooperation-desk-account-enterprise .el-table__body-wrapper"
);
if
(
scrollContainer
)
{
scrollContainer
.
removeEventListener
(
"scroll"
,
this
.
listenHandler
,
false
);
scrollContainer
.
addEventListener
(
"scroll"
,
this
.
listenHandler
,
false
);
}
}
catch
(
error
)
{
},
}
},
removeScrollXListen
()
{
const
scrollContainer
=
document
.
querySelector
(
".cooperation-desk-account-enterprise .el-table__body-wrapper"
);
if
(
scrollContainer
)
{
scrollContainer
.
removeEventListener
(
"scroll"
,
this
.
listenHandler
,
false
);
}
},
listenHandler
(
e
)
{
const
{
target
}
=
e
;
if
(
target
)
{
const
flag
=
target
.
scrollLeft
>
0
?
true
:
false
;
this
.
formColum
.
forEach
(
item
=>
this
.
fixedPropsKey
.
includes
(
item
.
prop
)
?
item
.
fixed
=
flag
:
null
);
}
}
},
}
</
script
>
<
style
lang=
"scss"
scoped
>
.cooperation-desk-account-enterprise
{
.consulting-search-form
{
background
:
#fff
;
padding
:
16px
;
border-bottom-left-radius
:
4px
;
border-bottom-right-radius
:
4px
;
box-sizing
:
border-box
;
@import
"@/assets/styles/el-search-form-public.scss"
;
.consulting-search-form-btn
{
padding-left
:
96px
;
box-sizing
:
border-box
;
.el-button
{
height
:
32px
;
line-height
:
32px
;
text-align
:
center
;
padding
:
0px
16px
;
box-sizing
:
border-box
;
border-radius
:
4px
;
&
.search-btn
{
background
:
#0081ff
;
border-color
:
#0081ff
;
}
&
.reset-btn
{
border
:
1px
solid
#dcdfe6
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
background
:
#fff
;
margin-left
:
12px
;
}
}
}
}
.search-result-list-container
{
margin-top
:
16px
;
background
:
#fff
;
border-radius
:
4px
;
padding
:
16px
;
box-sizing
:
border-box
;
height
:
calc
(
100%
-
128px
);
@import
"@/assets/styles/search-result-list-public.scss"
;
::v-deep
.table-list-com-ins
{
height
:
calc
(
100%
-
80px
);
margin-top
:
16px
;
.pagination-box
{
padding
:
0px
;
margin-top
:
16px
;
}
}
}
}
</
style
>
dsk-operate-ui/src/views/consultingOrgManagement/components/ProjectList/index.vue
View file @
ae430bbf
...
...
@@ -7,22 +7,22 @@
<el-input
v-model=
"form.projectName"
placeholder=
"请输入项目名称"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"咨询机构"
>
<el-input
v-model=
"form.
consultingAgency
"
placeholder=
"请输入咨询机构名称"
clearable
></el-input>
<el-input
v-model=
"form.
advisoryBodyName
"
placeholder=
"请输入咨询机构名称"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"业主单位"
>
<el-input
v-model=
"form.owner
Name
"
placeholder=
"请输入业主名称"
clearable
></el-input>
<el-input
v-model=
"form.owner
Unit
"
placeholder=
"请输入业主名称"
clearable
></el-input>
</el-form-item>
</div>
<div
class=
"each-line"
>
<el-form-item
label=
"承接项目单位"
>
<el-input
v-model=
"form.undertak
ing
Unit"
placeholder=
"请输入承接项目单位名称"
clearable
></el-input>
<el-input
v-model=
"form.undertak
eProject
Unit"
placeholder=
"请输入承接项目单位名称"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"项目创建时间"
>
<el-date-picker
v-model=
"form.projectCreateTime"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"年/月/日"
end-placeholder=
"年/月/日"
format=
"yyyy/MM/dd"
value-format=
"yyyy-MM-dd"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"项目承接类型"
>
<el-select
v-model=
"form.pr
ject
Type"
placeholder=
"请选择"
clearable
>
<el-select
v-model=
"form.pr
ojectUndertake
Type"
placeholder=
"请选择"
clearable
>
<el-option
v-for=
"item in projectTypeOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
...
...
@@ -30,13 +30,13 @@
</div>
<div
class=
"each-line"
style=
"padding-top:16px;border-top:1px solid #EEEEEE;box-sizing:border-box"
>
<el-form-item
label=
"工程类型大类"
>
<el-select
v-model=
"form.engineeringCategory"
placeholder=
"请选择"
clearable
>
<el-select
v-model=
"form.engineering
Foundation
Category"
placeholder=
"请选择"
clearable
>
<el-option
v-for=
"item in engineeringCategoryOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"工程类别明细"
>
<el-select
v-model=
"form.engineeringCategoryDe
at
il"
placeholder=
"请选择"
clearable
>
<el-select
v-model=
"form.engineeringCategoryDe
ta
il"
placeholder=
"请选择"
clearable
>
<el-option
v-for=
"item in engineeringCategoryDetailOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
...
...
@@ -55,6 +55,7 @@
</div>
</div>
<!-- 列表容器 -->
<div
class=
"search-result-list-container"
>
<div
class=
"search-result-head-container"
>
...
...
@@ -73,22 +74,22 @@
v-else-if=
"!tableLoading"
:height=
"'100%'"
@
handle-current-change=
"handleCurrentChange"
>
<!-- 项目列表 -->
<template
slot=
"projectName"
slot-scope=
"
{data,row}">
<
span
v-if=
"row.projectName"
class=
"no-line-feed "
>
{{
row
.
projectName
}}
</span
>
<
div
v-if=
"row.projectName"
class=
"no-line-feed "
>
{{
row
.
projectName
}}
</div
>
<span
v-else
>
-
</span>
</
template
>
<!-- 业主单位 -->
<
template
slot=
"ownerName"
slot-scope=
"{data,row}"
>
<
span
v-if=
"row.ownerName"
class=
"no-line-feed "
>
{{
row
.
ownerName
}}
</span
>
<
div
v-if=
"row.ownerName"
class=
"no-line-feed "
>
{{
row
.
ownerName
}}
</div
>
<span
v-else
>
-
</span>
</
template
>
<!-- 项目承接单位 -->
<
template
slot=
"contractOrgName"
slot-scope=
"{data,row}"
>
<
span
v-if=
"row.contractOrgName"
class=
"no-line-feed "
>
{{
row
.
contractOrgName
}}
</span
>
<
div
v-if=
"row.contractOrgName"
class=
"no-line-feed "
>
{{
row
.
contractOrgName
}}
</div
>
<span
v-else
>
-
</span>
</
template
>
<!-- 咨询机构名称 -->
<
template
slot=
"advisoryBodyName"
slot-scope=
"{data,row}"
>
<
span
v-if=
"row.advisoryBodyName"
class=
"no-line-feed "
>
{{
row
.
advisoryBodyName
}}
</span
>
<
div
v-if=
"row.advisoryBodyName"
class=
"no-line-feed "
>
{{
row
.
advisoryBodyName
}}
</div
>
<span
v-else
>
-
</span>
</
template
>
</table-list-com>
...
...
@@ -159,7 +160,7 @@ export default {
{
label
:
'业主单位'
,
prop
:
'ownerName'
,
slot
:
true
,
uid
:
v4
(),
width
:
"185px"
,
showOverflowTooltip
:
true
},
{
label
:
'项目承接单位'
,
prop
:
'contractOrgName'
,
width
:
"196px"
,
slot
:
true
,
uid
:
v4
()
},
{
label
:
'咨询机构名称'
,
prop
:
'advisoryBodyName'
,
width
:
"172px"
,
slot
:
true
,
uid
:
v4
()
},
{
label
:
'创建时间'
,
prop
:
'
loadTim
e'
,
width
:
"172px"
,
uid
:
v4
()
},
{
label
:
'创建时间'
,
prop
:
'
contractSignDat
e'
,
width
:
"172px"
,
uid
:
v4
()
},
],
fixedPropsKey
:
[
"staticSerialNumber"
,
"projectName"
],
queryParams
:
{
...
...
@@ -293,7 +294,7 @@ export default {
async
listenScrollX
()
{
try
{
await
this
.
$nextTick
();
const
scrollContainer
=
document
.
querySelector
(
".el-table__body-wrapper"
);
const
scrollContainer
=
document
.
querySelector
(
".
cooperation-desk-account-project .
el-table__body-wrapper"
);
if
(
scrollContainer
)
{
scrollContainer
.
removeEventListener
(
"scroll"
,
this
.
listenHandler
,
false
);
scrollContainer
.
addEventListener
(
"scroll"
,
this
.
listenHandler
,
false
);
...
...
@@ -303,7 +304,7 @@ export default {
}
},
removeScrollXListen
()
{
const
scrollContainer
=
document
.
querySelector
(
".el-table__body-wrapper"
);
const
scrollContainer
=
document
.
querySelector
(
".
cooperation-desk-account-project .
el-table__body-wrapper"
);
if
(
scrollContainer
)
{
scrollContainer
.
removeEventListener
(
"scroll"
,
this
.
listenHandler
,
false
);
}
...
...
@@ -314,7 +315,7 @@ export default {
const
flag
=
target
.
scrollLeft
>
0
?
true
:
false
;
this
.
formColum
.
forEach
(
item
=>
this
.
fixedPropsKey
.
includes
(
item
.
prop
)
?
item
.
fixed
=
flag
:
null
);
}
}
}
,
},
}
</
script
>
...
...
dsk-operate-ui/src/views/consultingOrgManagement/index.vue
View file @
ae430bbf
...
...
@@ -61,6 +61,7 @@ export default {
.default-layout-container-inner
{
.cooperation-desk-account-project
,
.cooperation-desk-account-enterprise
{
overflow
:
hidden
;
height
:
calc
(
100%
-
48px
);
}
}
...
...
dsk-
module/dsk-biz-api/src/main/java/com/dsk/cscec
/domain/SysPush.java
→
dsk-
system/src/main/java/com/dsk/system
/domain/SysPush.java
View file @
ae430bbf
package
com
.
dsk
.
cscec
.
domain
;
package
com
.
dsk
.
system
.
domain
;
import
java.util.Date
;
import
java.io.Serializable
;
...
...
@@ -42,6 +42,6 @@ public class SysPush implements Serializable {
private
Date
createTime
;
private
String
t
ane
ntId
;
private
String
t
ena
ntId
;
}
dsk-system/src/main/java/com/dsk/system/domain/SysStatutoryHoliday.java
0 → 100644
View file @
ae430bbf
package
com
.
dsk
.
system
.
domain
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
/**
* @Author lcl
* @Data 2023/12/14 15:23
*/
@Data
@TableName
(
"sys_statutory_holiday"
)
public
class
SysStatutoryHoliday
{
@TableId
(
"id"
)
private
Long
id
;
/**
* 是否假日 0:否 1:是
*/
private
Integer
isHoliday
;
/**
* 名称
*/
private
String
name
;
/**
* 日期
*/
private
String
date
;
}
dsk-
module/dsk-biz-api/src/main/java/com/dsk/cscec
/mapper/SysPushMapper.java
→
dsk-
system/src/main/java/com/dsk/system
/mapper/SysPushMapper.java
View file @
ae430bbf
package
com
.
dsk
.
cscec
.
mapper
;
package
com
.
dsk
.
system
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.dsk.
cscec
.domain.SysPush
;
import
com.dsk.
system
.domain.SysPush
;
/**
* 系统推送(SysPush)表数据库访问层
...
...
dsk-
module/dsk-biz-api/src/main/java/com/dsk/cscec
/service/ISysPushService.java
→
dsk-
system/src/main/java/com/dsk/system
/service/ISysPushService.java
View file @
ae430bbf
package
com
.
dsk
.
cscec
.
service
;
package
com
.
dsk
.
system
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.
cscec
.domain.SysPush
;
import
com.dsk.
system
.domain.SysPush
;
/**
* 系统推送(SysPush)表服务接口
...
...
dsk-
module/dsk-biz-api/src/main/java/com/dsk/cscec
/service/impl/SysPushServiceImpl.java
→
dsk-
system/src/main/java/com/dsk/system
/service/impl/SysPushServiceImpl.java
View file @
ae430bbf
package
com
.
dsk
.
cscec
.
service
.
impl
;
package
com
.
dsk
.
system
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.toolkit.ObjectUtils
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.common.exception.ServiceException
;
import
com.dsk.cscec.mapper.SysPushMapper
;
import
com.dsk.cscec.domain.SysPush
;
import
com.dsk.cscec.service.ISysPushService
;
import
com.dsk.system.mapper.SysPushMapper
;
import
com.dsk.system.domain.SysPush
;
import
com.dsk.system.service.ISysPushService
;
import
jodd.bean.BeanException
;
import
org.springframework.stereotype.Service
;
...
...
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