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
7f8519cd
Commit
7f8519cd
authored
Dec 22, 2023
by
tyn
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
merge
parent
dd17f1ef
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
539 additions
and
17 deletions
+539
-17
index.js
dsk-operate-ui/src/api/consultingTransaction/index.js
+13
-1
index.vue
...nsultingOrgManagement/components/EnterpriseList/index.vue
+6
-1
index.vue
.../consultingOrgManagement/components/ProjectList/index.vue
+7
-1
Sidebar.vue
...operate-ui/src/views/detail/party-a/component/Sidebar.vue
+2
-2
cooperativeConstructionUnit.vue
...y-a/consultingTransaction/cooperativeConstructionUnit.vue
+17
-7
cooperativeGroup.vue
...detail/party-a/consultingTransaction/cooperativeGroup.vue
+475
-0
cooperativeOwnerUnits.vue
...l/party-a/consultingTransaction/cooperativeOwnerUnits.vue
+13
-3
index.vue
dsk-operate-ui/src/views/detail/party-a/index.vue
+6
-2
No files found.
dsk-operate-ui/src/api/consultingTransaction/index.js
View file @
7f8519cd
...
...
@@ -39,7 +39,19 @@ export const getCooperativeOwnerUnitsOptionsApi = (data) => request({
* @returns
*/
export
const
getCooperativeOwnerUnitsCountAmountApi
=
(
data
)
=>
request
({
url
:
"/consultancy/pageSelect"
,
url
:
"/consultancy/statistics"
,
method
:
"post"
,
data
});
/**
* 常合作集团详情 合作成员列表
* @param {*} data
* @returns
*/
export
const
getCooperativeGroupMemberApi
=
(
data
)
=>
request
({
url
:
"/consultancy/combinePage"
,
method
:
"post"
,
data
});
\ No newline at end of file
dsk-operate-ui/src/views/consultingOrgManagement/components/EnterpriseList/index.vue
View file @
7f8519cd
...
...
@@ -39,7 +39,7 @@
v-else-if=
"!tableLoading"
:maxHeight=
"true"
@
handle-current-change=
"handleCurrentChange"
>
<!-- 咨询机构名称 -->
<template
slot=
"advisoryBodyName"
slot-scope=
"
{data,row}">
<div
v-if=
"row.advisoryBodyName"
class=
"no-line-feed
"
>
{{
row
.
advisoryBodyName
}}
</div>
<div
v-if=
"row.advisoryBodyName"
class=
"no-line-feed
"
@
click=
"viewEnterprise(row)
"
>
{{
row
.
advisoryBodyName
}}
</div>
<span
v-else
>
-
</span>
</
template
>
<!-- 合作项目数量 -->
...
...
@@ -70,6 +70,7 @@ import Skeleton from "@/components/Skeleton";
import
{
getConsultingOrgEenterpriseListWithSearchApi
}
from
"@/api/consultingOrgManagement"
;
import
{
queryConditionFiltering
}
from
"@/utils"
;
import
{
v4
}
from
'uuid'
;
import
{
encodeStr
}
from
"@/assets/js/common"
;
export
default
{
name
:
"cooperationDeskAccountEnterprise"
,
components
:
{
...
...
@@ -140,6 +141,10 @@ export default {
if
(
!
row
.
advisoryBodyCid
)
return
this
.
$message
.
warning
(
"缺少咨询机构id"
);
this
.
$tab
.
openPage
(
`
${
row
.
advisoryBodyName
}
合作明细`
,
`/consultingOrgManagement/detailsOfCooperation/
${
row
.
advisoryBodyCid
}
`
);
},
// 跳转到企业详情
viewEnterprise
(
row
)
{
this
.
$tab
.
openPage
(
row
.
advisoryBodyName
?
row
.
advisoryBodyName
:
"咨询机构详情"
,
`/enterprise/
${
encodeStr
(
row
.
advisoryBodyCid
)}
`
);
},
// 创建最终查询条件
mergeCondition
()
{
const
_queryParams
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
queryParams
));
...
...
dsk-operate-ui/src/views/consultingOrgManagement/components/ProjectList/index.vue
View file @
7f8519cd
...
...
@@ -89,7 +89,8 @@
</template> -->
<!-- 咨询机构名称 -->
<
template
slot=
"advisoryBodyName"
slot-scope=
"{data,row}"
>
<div
v-if=
"row.advisoryBody && row.advisoryBody.advisoryBodyName"
class=
"no-line-feed"
>
{{
row
.
advisoryBody
.
advisoryBodyName
}}
</div>
<div
v-if=
"row.advisoryBody && row.advisoryBody.advisoryBodyName"
class=
"no-line-feed"
@
click=
"viewEnterprise(row)"
>
{{
row
.
advisoryBody
.
advisoryBodyName
}}
</div>
<span
v-else
>
-
</span>
</
template
>
</table-list-com>
...
...
@@ -105,6 +106,7 @@ import Skeleton from "@/components/Skeleton";
import
{
getConsultingOrgProjectListWithSearchApi
}
from
"@/api/consultingOrgManagement"
;
import
{
queryConditionFiltering
}
from
"@/utils"
;
import
{
v4
}
from
'uuid'
;
import
{
encodeStr
}
from
"@/assets/js/common.js"
;
export
default
{
name
:
"cooperationDeskAccountProject"
,
components
:
{
...
...
@@ -319,6 +321,10 @@ export default {
// 查看项目详情
viewProjectDetail
(
row
)
{
this
.
$tab
.
openPage
(
row
.
projectName
,
`/consultingOrgManagement/projectDetail/
${
row
.
advisoryBody
?.
advisoryBodyCid
}?
projectKey
=
$
{
row
.
projectKey
}
`);
},
// 跳转到企业详情
viewEnterprise(row) {
this.$tab.openPage(row.advisoryBody.advisoryBodyName ? row.advisoryBody.advisoryBodyName : "咨询机构详情", `
/
enterprise
/
$
{
encodeStr
(
row
.
advisoryBody
.
advisoryBodyCid
)}
`);
}
},
}
...
...
dsk-operate-ui/src/views/detail/party-a/component/Sidebar.vue
View file @
7f8519cd
...
...
@@ -333,8 +333,8 @@ export default {
getFinancial
(
id
)
{
financial
({
cid
:
String
(
id
)
}).
then
(
res
=>
{
if
((
res
.
code
==
200
&&
!
res
.
data
)
||
!
res
.
data
?.
totalAssets
)
{
this
.
$set
(
this
.
sideRoute
[
0
],
"disabled"
,
true
);
this
.
$set
(
this
.
sideRoute
[
1
]
,
"disabled"
,
true
);
// 禁用商务信息
this
.
$set
(
this
.
findNodeIndex
(
this
.
sideRoute
,
"business"
)
,
"disabled"
,
true
);
this
.
defaultRoute
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
sideRoute
));
}
});
...
...
dsk-operate-ui/src/views/detail/party-a/consultingTransaction/cooperativeConstructionUnit.vue
View file @
7f8519cd
...
...
@@ -6,9 +6,9 @@
<tables
v-if=
"!isSkeleton"
:indexFixed=
"true"
:tableData=
"tableData"
:forData=
"forData"
:tableDataTotal=
"tableDataTotal"
:queryParams=
"queryParams"
@
handle-current-change=
"handleCurrentChange"
@
sort-change=
"sortChange"
>
<!-- 业主名称 -->
<template
slot=
"companyName"
slot-scope=
"scope"
>
<span
v-if=
"scope.row.companyName"
style=
"color: #0081FF;cursor: pointer;"
@
click=
"viewEnterprise(scope.row)"
v-html=
"scope.row.co
mpanyName"
>
{{
scope
.
row
.
c
ompanyName
}}
</span>
<template
slot=
"co
unterpartCo
mpanyName"
slot-scope=
"scope"
>
<span
v-if=
"scope.row.co
unterpartCo
mpanyName"
style=
"color: #0081FF;cursor: pointer;"
@
click=
"viewEnterprise(scope.row)"
v-html=
"scope.row.co
unterpartCompanyName"
>
{{
scope
.
row
.
counterpartC
ompanyName
}}
</span>
<span
v-else
>
-
</span>
</
template
>
<!-- 合作项目数量 -->
...
...
@@ -71,7 +71,7 @@ export default {
}
,
selectOptions
:
{
}
,
forData
:
[
{
label
:
'施工单位名称'
,
prop
:
'companyName'
,
width
:
'295'
,
slot
:
true
,
showOverflowTooltip
:
true
}
,
{
label
:
'施工单位名称'
,
prop
:
'co
unterpartCo
mpanyName'
,
width
:
'295'
,
slot
:
true
,
showOverflowTooltip
:
true
}
,
{
label
:
'合作项目数量'
,
prop
:
'count'
,
minWidth
:
'190'
,
align
:
"right"
,
slot
:
true
,
sortable
:
"custom"
}
,
{
label
:
'最近一次合作时间'
,
prop
:
'time'
,
minWidth
:
'214'
,
sortable
:
"custom"
}
,
{
label
:
'合作总金额(万元)'
,
prop
:
'amount'
,
minWidth
:
'226'
,
align
:
"right"
,
sortable
:
"custom"
}
,
...
...
@@ -118,6 +118,7 @@ export default {
dialogIsSkeleton
:
true
,
dialogtableDataTotal
:
0
,
dialogTableData
:
[],
statisticsData
:
{
}
,
}
;
}
,
//可访问data属性
...
...
@@ -250,6 +251,10 @@ export default {
const
res
=
await
getCooperativeOwnerUnitsDetailApi
(
data
);
this
.
dialogTableData
=
res
.
rows
?
res
.
rows
:
[];
this
.
dialogtableDataTotal
=
res
.
total
?
res
.
total
:
0
;
const
count
=
await
getCooperativeOwnerUnitsCountAmountApi
(
data
);
if
(
count
.
code
==
200
&&
count
.
data
)
{
this
.
statisticsData
=
count
.
data
;
}
}
catch
(
error
)
{
console
.
log
(
error
);
}
finally
{
...
...
@@ -284,14 +289,19 @@ export default {
const
res
=
await
getCooperativeOwnerUnitsDetailApi
(
data
);
this
.
dialogTableData
=
res
.
rows
?
res
.
rows
:
[];
this
.
dialogtableDataTotal
=
res
.
total
?
res
.
total
:
0
;
const
count
=
await
getCooperativeOwnerUnitsCountAmountApi
(
data
);
if
(
count
.
code
==
200
&&
count
.
data
)
{
this
.
statisticsData
=
count
.
data
;
}
}
catch
(
error
)
{
console
.
log
(
error
);
}
}
,
dialogCurrentChange
(
page
)
{
this
.
dialogQueryParams
.
pageNum
=
page
;
const
params
=
this
.
createQueryCondition
(
this
.
dialogQueryParams
);
this
.
dialogHandleQurey
(
params
);
const
params
=
this
.
createQueryCondition
(
this
.
dialogFormData
);
const
searchParams
=
JSON
.
parse
(
JSON
.
stringify
({
...
params
,
...
this
.
dialogQueryParams
}
));
this
.
dialogHandleQurey
(
searchParams
);
}
,
async
dialogOPen
()
{
await
this
.
setOptions
();
...
...
@@ -346,7 +356,7 @@ export default {
::
v
-
deep
.
cooperation
-
record
-
dialog
-
container
{
.
cooperation
-
record
-
dialog
{
height
:
85
%
;
height
:
60
%
;
position
:
absolute
;
left
:
50
%
;
top
:
50
%
;
...
...
dsk-operate-ui/src/views/detail/party-a/consultingTransaction/cooperativeGroup.vue
0 → 100644
View file @
7f8519cd
<
template
>
<div
class=
"cooperative-group-container"
>
<head-form-new
title=
"常合作集团"
:form-data=
"formData"
:query-params=
"queryParams"
:total=
"tableDataTotal"
:isExcel=
"true"
@
handle-search=
"handleSearch"
/>
<skeleton
v-if=
"isSkeleton"
style=
"padding: 16px"
></skeleton>
<tables
v-if=
"!isSkeleton"
:indexFixed=
"true"
:tableData=
"tableData"
:forData=
"forData"
:tableDataTotal=
"tableDataTotal"
:queryParams=
"queryParams"
@
handle-current-change=
"handleCurrentChange"
@
sort-change=
"sortChange"
>
<!-- 业主名称 -->
<template
slot=
"combineName"
slot-scope=
"scope"
>
<span
v-if=
"scope.row.combineName"
style=
"color: #0081FF;cursor: pointer;"
@
click=
"viewEnterprise(scope.row)"
v-html=
"scope.row.combineName"
>
{{
scope
.
row
.
combineName
}}
</span>
<span
v-else
>
-
</span>
</
template
>
<!-- 合作项目数量 -->
<
template
slot=
"count"
slot-scope=
"scope"
>
<span
v-if=
"scope.row.count"
style=
"color: #0081FF;cursor: pointer;"
@
click=
"viewProject(scope.row)"
>
{{
scope
.
row
.
count
}}
</span>
<span
v-else
>
-
</span>
</
template
>
</tables>
<el-dialog
title=
"合作项目/工程明细"
:visible
.
sync=
"cooperationRecordDialog"
width=
"1100px"
@
close=
"dialogClose"
@
open=
"dialogOPen"
class=
"cooperation-record-dialog-container"
custom-class=
"cooperation-record-dialog"
:destroy-on-close=
"true"
:close-on-click-modal=
"false"
>
<!-- tab切换栏 -->
<dsk-tab-toggle
v-model=
"currentList"
:tabs=
"toggleTabs"
@
tabToggle=
"tabToggle"
></dsk-tab-toggle>
<div
class=
"cooperation-record-dialog-innner"
>
<!-- 成员列表 -->
<
template
v-if=
"currentList == 'cooperativeMember'"
>
<dialog-head-form-new
title=
""
:form-data=
"dialogFormData"
:query-params=
"dialogQueryParams"
:total=
"dialogtableDataTotal"
:isExcel=
"false"
@
handle-search=
"dialogHandleSearch"
ref=
"dialogSearchFormNew"
/>
<skeleton
v-if=
"dialogIsSkeleton"
style=
"padding: 16px"
></skeleton>
<!-- 列表 -->
<dialog-tables
v-if=
"!dialogIsSkeleton"
:indexFixed=
"true"
:tableData=
"dialogTableData"
:forData=
"memberForData"
:tableDataTotal=
"dialogtableDataTotal"
:queryParams=
"dialogQueryParams"
@
handle-current-change=
"dialogCurrentChange"
@
sort-change=
"dialogSortChange"
:maxHeight=
"true"
>
<!-- 合作成员-->
<template
slot=
"companyName"
slot-scope=
"scope"
>
<span
v-if=
"scope.row.companyName"
style=
"color: #0081FF;cursor: pointer;"
v-html=
"scope.row.companyName"
>
{{
scope
.
row
.
companyName
}}
</span>
<span
v-else
>
-
</span>
</
template
>
</dialog-tables>
</template>
<!-- 项目列表 -->
<
template
v-if=
"currentList == 'cooperativeProject'"
>
<dialog-head-form-new
title=
""
:form-data=
"dialogFormData"
:query-params=
"dialogQueryParams"
:total=
"dialogtableDataTotal"
:isExcel=
"false"
@
handle-search=
"dialogHandleSearch"
ref=
"dialogSearchFormNew"
/>
<skeleton
v-if=
"dialogIsSkeleton"
style=
"padding: 16px"
></skeleton>
<!-- 列表 -->
<dialog-tables
v-if=
"!dialogIsSkeleton"
:indexFixed=
"true"
:tableData=
"dialogTableData"
:forData=
"dialogForData"
:tableDataTotal=
"dialogtableDataTotal"
:queryParams=
"dialogQueryParams"
@
handle-current-change=
"dialogCurrentChange"
@
sort-change=
"dialogSortChange"
:maxHeight=
"true"
>
<!-- 合作项目/工程名称-->
<template
slot=
"projectName"
slot-scope=
"scope"
>
<span
v-if=
"scope.row.projectName"
style=
"color: #0081FF;cursor: pointer;"
v-html=
"scope.row.projectName"
>
{{
scope
.
row
.
projectName
}}
</span>
<span
v-else
>
-
</span>
</
template
>
<!-- 合作成员 -->
<
template
slot=
"companyName"
slot-scope=
"scope"
>
<span
v-if=
"scope.row.companyName"
style=
"color: #0081FF;cursor: pointer;"
v-html=
"scope.row.companyName"
>
{{
scope
.
row
.
companyName
}}
</span>
<span
v-else
>
-
</span>
</
template
>
<!-- 省市区 -->
<
template
slot=
"area"
slot-scope=
"scope"
>
<span>
{{
`${scope.row.province ? scope.row.province : ""
}
${scope.row.province && scope.row.city ? " - " : ""
}
${scope.row.city ? scope.row.city : ""
}
${scope.row.city && scope.row.area ? " - " : ""
}
${scope.row.area ? scope.row.area : ""
}
`
}}
<
/span
>
<
/template
>
<
/dialog-tables
>
<
/template
>
<
/div
>
<
/el-dialog
>
<
/div
>
<
/template
>
<
script
>
import
skeleton
from
'../component/skeleton'
;
import
mixin
from
'@/views/detail/party-a/mixins/mixin'
;
import
{
getCooperativeOwnerUnitsListApi
,
getCooperativeOwnerUnitsDetailApi
,
getCooperativeOwnerUnitsOptionsApi
,
getCooperativeOwnerUnitsCountAmountApi
,
getCooperativeGroupMemberApi
}
from
"@/api/consultingTransaction"
;
import
DialogHeadFormNew
from
"../component/HeadFormNew"
;
import
DialogTables
from
"../component/Tables"
;
import
DskTabToggle
from
"@/components/DskTabToggle"
;
export
default
{
name
:
"cooperativeGroup"
,
mixins
:
[
mixin
],
components
:
{
skeleton
,
DialogHeadFormNew
,
DialogTables
,
DskTabToggle
}
,
props
:
[
'companyId'
],
data
()
{
return
{
currentList
:
"cooperativeMember"
,
toggleTabs
:
[
{
value
:
"cooperativeMember"
,
name
:
"成员列表"
,
id
:
this
.
getUid
()
}
,
{
value
:
"cooperativeProject"
,
name
:
"项目列表"
,
id
:
this
.
getUid
()
}
],
queryParams
:
{
companyId
:
this
.
companyId
,
pageNum
:
1
,
pageSize
:
10
,
companyType
:
3
,
sort
:
""
}
,
selectOptions
:
{
}
,
forData
:
[
{
label
:
'集团名称'
,
prop
:
'combineName'
,
width
:
'295'
,
slot
:
true
,
showOverflowTooltip
:
true
}
,
{
label
:
'合作项目数量'
,
prop
:
'count'
,
minWidth
:
'190'
,
align
:
"right"
,
slot
:
true
,
sortable
:
"custom"
}
,
{
label
:
'最近一次合作时间'
,
prop
:
'time'
,
minWidth
:
'214'
,
sortable
:
"custom"
}
,
{
label
:
'合作总金额(万元)'
,
prop
:
'amount'
,
minWidth
:
'226'
,
align
:
"right"
,
sortable
:
"custom"
}
,
],
formData
:
[
{
type
:
4
,
fieldName
:
'businessTypes'
,
value
:
''
,
placeholder
:
'咨询机构业务'
,
options
:
[],
uid
:
this
.
getUid
()
}
,
{
type
:
4
,
fieldName
:
'counterpartCompanyRoles'
,
value
:
''
,
placeholder
:
'合作项目类型'
,
options
:
[],
uid
:
this
.
getUid
()
}
,
{
type
:
4
,
fieldName
:
'projectTypes'
,
value
:
''
,
placeholder
:
'合作工程类型'
,
options
:
[],
uid
:
this
.
getUid
()
}
,
{
type
:
5
,
fieldName
:
'time'
,
value
:
''
,
placeholder
:
'合作频率'
,
startTime
:
'beginTime'
,
endTime
:
'endTime'
,
uid
:
this
.
getUid
()
}
,
{
type
:
6
,
fieldName
:
'money'
,
value
:
''
,
placeholder
:
'合作金额'
,
uid
:
this
.
getUid
()
}
,
{
type
:
3
,
fieldName
:
'keyword'
,
value
:
''
,
placeholder
:
'请输入'
,
uid
:
this
.
getUid
()
}
,
],
//列表
tableLoading
:
false
,
tableData
:
[],
tableDataTotal
:
0
,
isSkeleton
:
true
,
// 合作项目详情弹窗
cooperationRecordDialog
:
false
,
dialogQueryParams
:
{
companyId
:
""
,
pageNum
:
1
,
pageSize
:
10
,
companyType
:
3
,
sort
:
""
}
,
memberForData
:
[
{
label
:
'合作成员'
,
prop
:
'companyName'
,
width
:
'351'
,
slot
:
true
,
showOverflowTooltip
:
true
}
,
{
label
:
'合作次数'
,
prop
:
'count '
,
minWidth
:
'223'
,
align
:
"right"
,
slot
:
true
,
sortable
:
"custom"
}
,
{
label
:
'最近一次合作时间'
,
prop
:
'time'
,
minWidth
:
'214'
,
sortable
:
"custom"
}
,
{
label
:
'合作总金额(万元)'
,
prop
:
'amount'
,
minWidth
:
'226'
,
align
:
"right"
,
sortable
:
"custom"
}
,
],
dialogForData
:
[
{
label
:
'合作项目/工程名称'
,
prop
:
'projectName'
,
width
:
'182'
,
slot
:
true
,
showOverflowTooltip
:
true
}
,
{
label
:
'合作成员'
,
prop
:
'companyName'
,
width
:
'110'
,
slot
:
true
,
showOverflowTooltip
:
true
}
,
{
label
:
'合作时间'
,
prop
:
'time'
,
width
:
'93'
,
sortable
:
"custom"
}
,
{
label
:
'集团成员身份'
,
prop
:
'role'
,
width
:
'122'
}
,
{
label
:
'咨询机构承担角色'
,
prop
:
'agencyBusinessType'
,
width
:
'122'
}
,
{
label
:
'项目类型'
,
prop
:
'counterpartRole'
,
minWidth
:
'74'
}
,
{
label
:
'工程类型'
,
prop
:
'projectType'
,
minWidth
:
'74'
}
,
{
label
:
'项目/工程金额(万元)'
,
prop
:
'amount'
,
width
:
'164'
,
sortable
:
"custom"
,
align
:
"right"
,
}
,
{
label
:
'项目地区'
,
prop
:
'area'
,
width
:
'245'
,
slot
:
true
}
,
],
dialogFormData
:
[
{
type
:
4
,
fieldName
:
'businessTypes'
,
value
:
''
,
placeholder
:
'咨询机构业务'
,
options
:
[],
uid
:
this
.
getUid
()
}
,
{
type
:
4
,
fieldName
:
'counterpartCompanyRoles'
,
value
:
''
,
placeholder
:
'合作项目类型'
,
options
:
[],
uid
:
this
.
getUid
()
}
,
{
type
:
4
,
fieldName
:
'projectTypes'
,
value
:
''
,
placeholder
:
'合作工程类型'
,
options
:
[],
uid
:
this
.
getUid
()
}
,
{
type
:
5
,
fieldName
:
'time'
,
value
:
''
,
placeholder
:
'合作频率'
,
startTime
:
'beginTime'
,
endTime
:
'endTime'
,
uid
:
this
.
getUid
()
}
,
{
type
:
3
,
fieldName
:
'keyword'
,
value
:
''
,
placeholder
:
'请输入'
,
uid
:
this
.
getUid
()
}
,
],
dialogIsSkeleton
:
true
,
dialogtableDataTotal
:
0
,
dialogTableData
:
[],
statisticsData
:
{
}
,
}
;
}
,
//可访问data属性
created
()
{
this
.
initDetail
();
}
,
//计算集
computed
:
{
}
,
//方法集
methods
:
{
async
initDetail
()
{
try
{
await
this
.
setOptions
(
true
);
await
this
.
handleQuery
();
}
catch
(
error
)
{
}
}
,
async
setOptions
(
flag
)
{
try
{
const
options
=
await
getCooperativeOwnerUnitsOptionsApi
({
companyId
:
this
.
queryParams
.
companyId
}
);
if
(
options
.
code
==
200
&&
options
.
data
)
{
for
(
const
key
in
options
.
data
)
{
options
.
data
[
key
]
=
options
.
data
[
key
].
map
(
item
=>
({
name
:
item
,
value
:
item
}
));
}
this
.
selectOptions
=
options
.
data
;
const
optionsKey
=
[[
"businessType"
,
"businessTypes"
],
[
"counterpartCompanyRole"
,
"counterpartCompanyRoles"
],
[
"projectType"
,
"projectTypes"
]];
optionsKey
.
forEach
(([
key
,
value
])
=>
{
flag
?
this
.
$set
(
this
.
formData
.
find
(
formItem
=>
value
==
formItem
.
fieldName
),
"options"
,
this
.
selectOptions
[
key
])
:
null
;
this
.
$set
(
this
.
dialogFormData
.
find
(
formItem
=>
value
==
formItem
.
fieldName
),
"options"
,
this
.
selectOptions
[
key
]);
}
);
}
}
catch
(
error
)
{
console
.
log
(
error
);
}
}
,
// 创建列表查询条件
createQueryCondition
(
form
)
{
/**
* @type {Array<{
* fieldName : string;
* value : any
*
}
>
}
*/
const
paramsArray
=
JSON
.
parse
(
JSON
.
stringify
(
form
));
const
params
=
{
}
;
// 处理查询参数
paramsArray
.
forEach
(
item
=>
{
// 有效参数
if
((
item
.
value
&&
item
.
value
!=
"0"
&&
!
Array
.
isArray
(
item
.
value
))
||
item
?.
value
?.
length
)
{
// 多选
if
([
"businessTypes"
,
"counterpartCompanyRoles"
,
"projectTypes"
].
includes
(
item
.
fieldName
))
{
params
[
item
.
fieldName
]
=
item
.
value
;
}
// 时间处理
if
(
item
.
fieldName
==
"time"
)
{
params
[
"beginTime"
]
=
item
.
value
[
0
];
params
[
"endTime"
]
=
item
.
value
[
1
];
}
// 金额处理
if
(
item
.
fieldName
==
"money"
)
{
params
[
"minAmount"
]
=
item
.
value
[
0
]
?
item
.
value
[
0
]
:
""
;
params
[
"maxAmount"
]
=
item
.
value
[
1
]
?
item
.
value
[
1
]
:
""
;
}
// 搜索关键词处理
if
(
item
.
fieldName
==
"keyword"
&&
item
?.
value
.
trim
())
{
params
[
"keyword"
]
=
item
.
value
;
}
}
}
);
return
params
;
}
,
// 查询
async
handleSearch
()
{
const
params
=
this
.
createQueryCondition
(
this
.
formData
);
this
.
queryParams
.
pageNum
=
1
;
const
searchParams
=
JSON
.
parse
(
JSON
.
stringify
({
...
params
,
...
this
.
queryParams
}
));
this
.
handleQuery
(
searchParams
);
}
,
async
handleQuery
(
params
)
{
try
{
let
data
=
params
?
params
:
this
.
queryParams
;
this
.
isSkeleton
=
true
;
const
res
=
await
getCooperativeOwnerUnitsListApi
(
data
);
this
.
tableData
=
res
.
rows
?
res
.
rows
:
[];
this
.
tableDataTotal
=
res
.
total
?
res
.
total
:
0
;
}
catch
(
error
)
{
console
.
log
(
error
);
}
finally
{
this
.
isSkeleton
=
false
;
}
}
,
viewEnterprise
(
row
)
{
}
,
async
sortChange
({
column
,
order
,
prop
}
)
{
let
sort
=
null
;
switch
(
prop
)
{
case
"time"
:
order
==
"ascending"
?
sort
=
4
:
sort
=
3
;
break
;
case
"amount"
:
order
==
"ascending"
?
sort
=
2
:
sort
=
1
;
break
;
default
:
break
;
}
if
(
!
order
)
sort
=
""
;
this
.
queryParams
.
sort
=
sort
;
try
{
let
data
=
this
.
queryParams
;
const
res
=
await
getCooperativeOwnerUnitsListApi
(
data
);
this
.
tableData
=
res
.
rows
?
res
.
rows
:
[];
this
.
tableDataTotal
=
res
.
total
?
res
.
total
:
0
;
}
catch
(
error
)
{
console
.
log
(
error
);
}
}
,
viewProject
(
row
)
{
this
.
dialogQueryParams
.
companyId
=
row
.
companyId
;
this
.
cooperationRecordDialog
=
true
;
}
,
async
dialogHandleQurey
(
params
)
{
try
{
let
data
=
params
?
params
:
this
.
dialogQueryParams
;
this
.
dialogIsSkeleton
=
true
;
const
res
=
currentList
==
"cooperativeMember"
?
await
getCooperativeGroupMemberApi
(
data
)
:
await
getCooperativeOwnerUnitsDetailApi
(
data
);
this
.
dialogTableData
=
res
.
rows
?
res
.
rows
:
[];
this
.
dialogtableDataTotal
=
res
.
total
?
res
.
total
:
0
;
const
count
=
await
getCooperativeOwnerUnitsCountAmountApi
(
data
);
if
(
count
.
code
==
200
&&
count
.
data
)
{
this
.
statisticsData
=
count
.
data
;
}
}
catch
(
error
)
{
console
.
log
(
error
);
}
finally
{
this
.
dialogIsSkeleton
=
false
;
}
}
,
dialogHandleSearch
(
v
)
{
const
params
=
this
.
createQueryCondition
(
this
.
dialogFormData
);
this
.
dialogQueryParams
.
pageNum
=
1
;
const
searchParams
=
JSON
.
parse
(
JSON
.
stringify
({
...
params
,
...
this
.
dialogQueryParams
}
));
this
.
dialogHandleQurey
(
searchParams
);
}
,
async
dialogSortChange
({
column
,
order
,
prop
}
)
{
let
sort
=
null
;
switch
(
prop
)
{
case
"count"
:
order
==
"ascending"
?
sort
=
6
:
sort
=
5
;
break
;
case
"time"
:
order
==
"ascending"
?
sort
=
4
:
sort
=
3
;
break
;
case
"amount"
:
order
==
"ascending"
?
sort
=
2
:
sort
=
1
;
break
;
default
:
break
;
}
if
(
!
order
)
sort
=
""
;
this
.
dialogQueryParams
.
sort
=
sort
;
try
{
let
data
=
this
.
dialogQueryParams
;
const
res
=
currentList
==
"cooperativeMember"
?
await
getCooperativeGroupMemberApi
(
data
)
:
await
getCooperativeOwnerUnitsDetailApi
(
data
);
this
.
dialogTableData
=
res
.
rows
?
res
.
rows
:
[];
this
.
dialogtableDataTotal
=
res
.
total
?
res
.
total
:
0
;
const
count
=
await
getCooperativeOwnerUnitsCountAmountApi
(
data
);
if
(
count
.
code
==
200
&&
count
.
data
)
{
this
.
statisticsData
=
count
.
data
;
}
}
catch
(
error
)
{
console
.
log
(
error
);
}
}
,
dialogCurrentChange
(
page
)
{
this
.
dialogQueryParams
.
pageNum
=
page
;
const
params
=
this
.
createQueryCondition
(
this
.
dialogFormData
);
const
searchParams
=
JSON
.
parse
(
JSON
.
stringify
({
...
params
,
...
this
.
dialogQueryParams
}
));
this
.
dialogHandleQurey
(
searchParams
);
}
,
async
dialogOPen
()
{
await
this
.
setOptions
();
await
this
.
dialogHandleQurey
();
}
,
dialogClose
()
{
const
data
=
this
.
$options
.
data
.
call
(
this
);
this
.
dialogQueryParams
=
data
.
dialogQueryParams
;
this
.
dialogFormData
=
data
.
dialogFormData
;
this
.
dialogtableDataTotal
=
data
.
dialogtableDataTotal
;
this
.
dialogTableData
=
data
.
dialogTableData
;
}
,
// 切换tab
tabToggle
()
{
}
}
,
}
<
/script
>
<
style
lang
=
"scss"
scoped
>
.
cooperative
-
group
-
container
{
background
:
#
ffffff
;
border
-
radius
:
4
px
;
padding
:
16
px
;
input
{
border
:
1
px
solid
#
efefef
;
}
::
v
-
deep
.
el
-
form
-
item
{
margin
-
right
:
8
px
!
important
;
}
.
query
-
box
{
margin
:
10
px
0
20
px
;
}
.
cell
-
span
{
display
:
inline
-
block
;
position
:
relative
;
overflow
:
hidden
;
text
-
overflow
:
ellipsis
;
display
:
-
webkit
-
box
;
-
webkit
-
box
-
orient
:
vertical
;
-
webkit
-
line
-
clamp
:
4
;
cursor
:
pointer
;
>
span
{
display
:
inline
-
block
;
width
:
37
px
;
position
:
absolute
;
right
:
0
;
bottom
:
0
;
background
-
color
:
#
fff
;
z
-
index
:
1
;
}
}
@
import
"@/assets/styles/search-common.scss"
;
::
v
-
deep
.
cooperation
-
record
-
dialog
-
container
{
.
cooperation
-
record
-
dialog
{
height
:
60
%
;
position
:
absolute
;
left
:
50
%
;
top
:
50
%
;
transform
:
translate
(
-
50
%
,
-
50
%
);
border
-
radius
:
4
px
;
margin
:
0
px
!
important
;
display
:
flex
;
flex
-
direction
:
column
;
.
el
-
dialog__header
{
padding
:
20
px
;
height
:
56
px
;
display
:
flex
;
align
-
items
:
center
;
justify
-
content
:
space
-
between
;
box
-
sizing
:
border
-
box
;
border
-
bottom
:
1
px
solid
#
eeeeee
;
.
el
-
dialog__title
{
color
:
#
232323
;
font
-
weight
:
bold
;
line
-
height
:
16
px
;
}
.
el
-
dialog__headerbtn
{
position
:
static
;
width
:
16
px
;
height
:
16
px
;
}
}
.
el
-
dialog__body
{
height
:
calc
(
100
%
-
56
px
);
padding
:
0
px
;
.
cooperation
-
record
-
dialog
-
innner
{
width
:
100
%
;
height
:
calc
(
100
%
-
48
px
);
padding
:
24
px
20
px
;
box
-
sizing
:
border
-
box
;
.
Tables
{
height
:
calc
(
100
%
-
40
px
);
}
}
}
.
el
-
table
-
horizontal
-
scrollbar
{
display
:
none
!
important
;
}
}
}
}
<
/style
>
dsk-operate-ui/src/views/detail/party-a/consultingTransaction/cooperativeOwnerUnits.vue
View file @
7f8519cd
...
...
@@ -118,6 +118,7 @@ export default {
dialogIsSkeleton
:
true
,
dialogtableDataTotal
:
0
,
dialogTableData
:
[],
statisticsData
:
{
}
}
;
}
,
//可访问data属性
...
...
@@ -250,6 +251,10 @@ export default {
const
res
=
await
getCooperativeOwnerUnitsDetailApi
(
data
);
this
.
dialogTableData
=
res
.
rows
?
res
.
rows
:
[];
this
.
dialogtableDataTotal
=
res
.
total
?
res
.
total
:
0
;
const
count
=
await
getCooperativeOwnerUnitsCountAmountApi
(
data
);
if
(
count
.
code
==
200
&&
count
.
data
)
{
this
.
statisticsData
=
count
.
data
;
}
}
catch
(
error
)
{
console
.
log
(
error
);
}
finally
{
...
...
@@ -284,14 +289,19 @@ export default {
const
res
=
await
getCooperativeOwnerUnitsDetailApi
(
data
);
this
.
dialogTableData
=
res
.
rows
?
res
.
rows
:
[];
this
.
dialogtableDataTotal
=
res
.
total
?
res
.
total
:
0
;
const
count
=
await
getCooperativeOwnerUnitsCountAmountApi
(
data
);
if
(
count
.
code
==
200
&&
count
.
data
)
{
this
.
statisticsData
=
count
.
data
;
}
}
catch
(
error
)
{
console
.
log
(
error
);
}
}
,
dialogCurrentChange
(
page
)
{
this
.
dialogQueryParams
.
pageNum
=
page
;
const
params
=
this
.
createQueryCondition
(
this
.
dialogQueryParams
);
this
.
dialogHandleQurey
(
params
);
const
params
=
this
.
createQueryCondition
(
this
.
dialogFormData
);
const
searchParams
=
JSON
.
parse
(
JSON
.
stringify
({
...
params
,
...
this
.
dialogQueryParams
}
));
this
.
dialogHandleQurey
(
searchParams
);
}
,
async
dialogOPen
()
{
await
this
.
setOptions
();
...
...
@@ -346,7 +356,7 @@ export default {
::
v
-
deep
.
cooperation
-
record
-
dialog
-
container
{
.
cooperation
-
record
-
dialog
{
height
:
85
%
;
height
:
60
%
;
position
:
absolute
;
left
:
50
%
;
top
:
50
%
;
...
...
dsk-operate-ui/src/views/detail/party-a/index.vue
View file @
7f8519cd
...
...
@@ -38,6 +38,8 @@
<!-- 2、常合作施工单位 -->
<cooperative-construction-unit
v-if=
"currentPath.pathName=='cooperativeConstructionUnit'"
:company-id=
"companyId"
></cooperative-construction-unit>
<!-- 3、常合作集团 -->
<cooperative-group
v-if=
"currentPath.pathName=='cooperativeGroup'"
:company-id=
"companyId"
></cooperative-group>
<!-- 投诚分析 -->
<RegionalEconomies
v-if=
"currentPath.pathName=='regionalEconomies'"
:company-id=
"companyId"
:companyInfo=
"companyInfo"
/>
<LandAcquisition
v-if=
"currentPath.pathName=='landAcquisition'"
:company-id=
"companyId"
/>
...
...
@@ -115,6 +117,7 @@ import Hiscontract from "./dealings/hiscontract"; //业务往来-历史发包
import
Bidrecords
from
"./dealings/bidrecords"
;
//业务往来-开标记录
import
CooperativeOwnerUnits
from
"@/views/detail/party-a/consultingTransaction/cooperativeOwnerUnits"
;
//咨询业务往来 常合作业主单位
import
CooperativeConstructionUnit
from
"@/views/detail/party-a/consultingTransaction/cooperativeConstructionUnit"
;
//咨询业务往来 常合作施工单位
import
CooperativeGroup
from
"@/views/detail/party-a/consultingTransaction/cooperativeGroup"
;
//咨询业务往来 常合作集团
import
LandAcquisition
from
"./urbanLnvestment/landAcquisition"
;
//投诚分析-城投拿地
import
RegionalEconomies
from
"./urbanLnvestment/regionalEconomies"
;
//投诚分析-区域经济
import
SameRegion
from
"./urbanLnvestment/sameRegion"
;
//投诚分析-同地区城投
...
...
@@ -185,7 +188,8 @@ export default {
ConsultingAgencyCooperation
,
AccessCondition
,
CooperationRecord
,
CooperativeConstructionUnit
CooperativeConstructionUnit
,
CooperativeGroup
},
data
()
{
return
{
...
...
@@ -286,7 +290,7 @@ export default {
this
.
companyId
=
data
;
await
this
.
$nextTick
();
this
.
listenSider
();
//
await this.getStatistic();
await
this
.
getStatistic
();
await
this
.
handleQuery
();
await
this
.
association
(
this
.
$route
.
query
.
customerId
);
this
.
$refs
.
sidebar
.
getFinancial
(
data
);
...
...
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