Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
薪
薪瑞通-前端
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
许珑标
薪瑞通-前端
Commits
d125b0aa
Commit
d125b0aa
authored
Apr 23, 2025
by
许珑标
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feat/contract-tree' into test
# Conflicts: # src/views/business/outContract/index.vue
parents
f2a4e760
cc51850d
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
202 additions
and
11 deletions
+202
-11
src/api/business/outContract.js
src/api/business/outContract.js
+9
-0
src/views/business/outContract/declare.vue
src/views/business/outContract/declare.vue
+129
-0
src/views/business/outContract/index.vue
src/views/business/outContract/index.vue
+64
-11
No files found.
src/api/business/outContract.js
View file @
d125b0aa
...
@@ -18,6 +18,15 @@ export function listAllOutContract(query) {
...
@@ -18,6 +18,15 @@ export function listAllOutContract(query) {
})
})
}
}
// 查询所有发薪合同的用工单位名称
export
function
allGroupNames
(
query
)
{
return
request
({
url
:
'
/business/outContract/groupName/listAll
'
,
method
:
'
get
'
,
params
:
query
})
}
// 查询发薪合同详细
// 查询发薪合同详细
export
function
getOutContract
(
id
)
{
export
function
getOutContract
(
id
)
{
return
request
({
return
request
({
...
...
src/views/business/outContract/declare.vue
0 → 100644
View file @
d125b0aa
<
template
>
<div
class=
"app-container declare"
>
<el-descriptions
title=
"合同信息"
:column=
"4"
border
>
<el-descriptions-item
label=
"合同名称"
>
{{
contractData
.
contractName
}}
</el-descriptions-item>
<el-descriptions-item
label=
"合同编号"
>
{{
contractData
.
contractCode
}}
</el-descriptions-item>
<el-descriptions-item
label=
"合作单位"
>
{{
contractData
.
groupName
}}
</el-descriptions-item>
<el-descriptions-item
label=
"代发企业"
>
{{
contractData
.
payerCompanyName
}}
</el-descriptions-item>
<el-descriptions-item
label=
"合作周期"
>
1年
</el-descriptions-item>
<el-descriptions-item
label=
"签约时间"
>
2025-03-12
</el-descriptions-item>
<el-descriptions-item
label=
"时间选择"
>
<el-date-picker
v-model=
"value1"
value-format=
"yyyy-MM"
type=
"monthrange"
range-separator=
"至"
start-placeholder=
"开始月份"
end-placeholder=
"结束月份"
>
</el-date-picker>
</el-descriptions-item>
</el-descriptions>
<!-- 申报主体内容盒子 -->
<el-row
:gutter=
"12"
>
<el-col
:span=
"6"
v-for=
"item in 12"
:key=
"item"
>
<div
class=
"declareMain"
>
<div
class=
"declareMain_title"
>
{{
item
}}
月
</div>
<div
class=
"declareMain_content"
>
人数:28人
</div>
<div
class=
"declareMain_buttonBox"
>
<el-button
type=
"primary"
plain
class=
"declareMain_declare"
>
去申报
</el-button>
<el-button
type=
"primary"
@
click=
"toLinkPay"
class=
"declareMain_pay"
>
去发薪
</el-button>
</div>
<!-- 当前申报状态 -->
<div
class=
"declareMain_status"
>
未申报
</div>
</div>
</el-col>
</el-row>
</div>
</
template
>
<
script
>
import
{
getOutContract
}
from
'
@/api/business/outContract
'
export
default
{
name
:
'
declare
'
,
data
()
{
return
{
contractData
:
{},
value1
:
''
}
},
mounted
()
{
if
(
this
.
$route
.
query
.
id
)
{
this
.
getOutContractFN
(
this
.
$route
.
query
.
id
)
}
},
methods
:
{
toLinkPay
()
{
this
.
$router
.
push
({
path
:
'
/transfer/salaryAccount
'
})
},
getOutContractFN
(
id
)
{
getOutContract
(
id
).
then
(
res
=>
{
console
.
log
(
res
)
if
(
res
.
code
==
200
)
{
this
.
contractData
=
res
.
data
}
})
},
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.
declare
:
:
v-deep
{
.declareMain
{
overflow
:
hidden
;
margin-top
:
32px
;
width
:
100%
;
background-color
:
#fafafa
;
border-radius
:
6px
;
padding
:
20px
;
position
:
relative
;
.declareMain_title
{
font-size
:
28px
;
color
:
#000
;
font-weight
:
600
;
}
.declareMain_content
{
font-size
:
16px
;
color
:
#666
;
margin-top
:
14px
;
}
.declareMain_buttonBox
{
margin-top
:
22px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-evenly
;
.declareMain_declare
{
width
:
calc
(
50%
-
15px
);
}
.declareMain_pay
{
width
:
calc
(
50%
-
15px
);
}
}
.declareMain_status
{
position
:
absolute
;
top
:
50px
;
right
:
-20px
;
width
:
100px
;
font-size
:
14px
;
font-weight
:
500
;
height
:
0
;
border-bottom
:
25px
solid
#50A3E7
;
border-left
:
20px
solid
transparent
;
border-right
:
20px
solid
transparent
;
color
:
white
;
text-align
:
center
;
line-height
:
25px
;
transform
:
rotate
(
45deg
);
transform-origin
:
top
right
;
}
}
}
</
style
>
\ No newline at end of file
src/views/business/outContract/index.vue
View file @
d125b0aa
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"EDMMain"
>
<div
class=
"EDMMain"
>
<div
class=
"themeMain"
>
<div
class=
"themeMain"
>
<div
class=
"head-container"
>
<div
class=
"head-container"
>
<el-input
v-model=
"deptName"
placeholder=
"请输入发薪主
体
"
clearable
size=
"small"
prefix-icon=
"el-icon-search"
<el-input
v-model=
"deptName"
placeholder=
"请输入发薪主
题
"
clearable
size=
"small"
prefix-icon=
"el-icon-search"
style=
"margin-bottom: 20px"
/>
style=
"margin-bottom: 20px"
/>
</div>
</div>
<div
class=
"head-container"
>
<div
class=
"head-container"
>
...
@@ -12,6 +12,17 @@
...
@@ -12,6 +12,17 @@
@
node-click=
"handleNodeClick"
/>
@
node-click=
"handleNodeClick"
/>
</div>
</div>
</div>
</div>
<div
class=
"cooperateUnitMain"
>
<div
class=
"head-container"
>
<el-input
v-model=
"deptName"
placeholder=
"请输入用工单位"
clearable
size=
"small"
prefix-icon=
"el-icon-search"
style=
"margin-bottom: 20px"
/>
</div>
<div
class=
"head-container"
>
<el-tree
:data=
"cooperateUnitList"
:props=
"defaultProps"
:expand-on-click-node=
"false"
:filter-node-method=
"filterNode"
ref=
"tree"
default-expand-all
highlight-current
@
node-click=
"handleCurrentChange"
/>
</div>
</div>
<div
class=
"listMain"
>
<div
class=
"listMain"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"80px"
>
label-width=
"80px"
>
...
@@ -23,10 +34,10 @@
...
@@ -23,10 +34,10 @@
<el-input
v-model=
"queryParams.contractCode"
placeholder=
"请输入合同编号"
clearable
<el-input
v-model=
"queryParams.contractCode"
placeholder=
"请输入合同编号"
clearable
@
keyup.enter.native=
"handleQuery"
/>
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"单位名称"
prop=
"groupName"
>
<
!--
<
el-form-item
label=
"单位名称"
prop=
"groupName"
>
<el-input
v-model=
"queryParams.groupName"
placeholder=
"请输入单位名称"
clearable
<el-input
v-model=
"queryParams.groupName"
placeholder=
"请输入单位名称"
clearable
@
keyup.enter.native=
"handleQuery"
/>
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
-->
<!--
<el-form-item
label=
"单位编码(社会信用代码)"
prop=
"groupCode"
>
-->
<!--
<el-form-item
label=
"单位编码(社会信用代码)"
prop=
"groupCode"
>
-->
<!--
<el-input-->
<!--
<el-input-->
<!-- v-model="queryParams.groupCode"-->
<!-- v-model="queryParams.groupCode"-->
...
@@ -110,6 +121,7 @@
...
@@ -110,6 +121,7 @@
v-hasPermi=
"['business:outContract:manage']"
>
员工管理
</el-button>
v-hasPermi=
"['business:outContract:manage']"
>
员工管理
</el-button>
<el-button
type=
"text"
icon=
"el-icon-s-help"
size=
"mini"
@
click=
"createBatchTaskOne(scope.row)"
<el-button
type=
"text"
icon=
"el-icon-s-help"
size=
"mini"
@
click=
"createBatchTaskOne(scope.row)"
v-hasPermi=
"['business:outContract:bco']"
>
生成发薪任务
</el-button>
v-hasPermi=
"['business:outContract:bco']"
>
生成发薪任务
</el-button>
<el-button
type=
"text"
icon=
"el-icon-s-help"
size=
"mini"
@
click=
"declareTaskOne(scope.row)"
>
申报
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['business:outContract:edit']"
>
修改
</el-button>
v-hasPermi=
"['business:outContract:edit']"
>
修改
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
...
@@ -147,8 +159,14 @@
...
@@ -147,8 +159,14 @@
</template>
</template>
<
script
>
<
script
>
import
{
listAllCompanyInfo
,
listCompanyInfo
}
from
'
@/api/business/companyInfo
'
import
{
listCompanyInfo
}
from
"
@/api/business/companyInfo
"
;
import
{
listOutContract
,
delOutContract
,
addOutContract
,
updateOutContract
}
from
"
@/api/business/outContract
"
;
import
{
listOutContract
,
delOutContract
,
addOutContract
,
updateOutContract
,
allGroupNames
}
from
'
@/api/business/outContract
'
import
{
buildPayOutRecord
}
from
'
@/api/business/payOutRecord
'
import
{
buildPayOutRecord
}
from
'
@/api/business/payOutRecord
'
export
default
{
export
default
{
...
@@ -238,6 +256,8 @@ export default {
...
@@ -238,6 +256,8 @@ export default {
label
:
"
label
"
label
:
"
label
"
},
},
deptName
:
null
,
deptName
:
null
,
// 合作单位数据
cooperateUnitList
:
[]
};
};
},
},
created
()
{
created
()
{
...
@@ -245,6 +265,7 @@ export default {
...
@@ -245,6 +265,7 @@ export default {
},
},
mounted
()
{
mounted
()
{
this
.
getThemeList
()
this
.
getThemeList
()
this
.
getAllGroupNames
();
this
.
getList
();
this
.
getList
();
},
},
watch
:
{
watch
:
{
...
@@ -254,9 +275,31 @@ export default {
...
@@ -254,9 +275,31 @@ export default {
},
},
methods
:
{
methods
:
{
// 节点单击事件
getAllGroupNames
(
payerCompanyId
)
{
allGroupNames
({
payerCompanyId
:
payerCompanyId
}).
then
(
resp
=>
{
if
(
resp
.
code
===
200
)
{
let
arr
=
[];
arr
=
resp
.
data
.
map
(
item
=>
{
return
{
id
:
item
,
label
:
item
}
})
this
.
cooperateUnitList
=
[{
id
:
''
,
label
:
'
用工单位
'
,
children
:
arr
}]
}
})
},
//节点点击事件-用工单位
handleCurrentChange
(
data
)
{
// this.queryParams.payerCompanyId = data.id;
this
.
queryParams
.
groupName
=
data
.
id
;
this
.
getList
();
},
// 节点单击事件-发薪主体
handleNodeClick
(
data
)
{
handleNodeClick
(
data
)
{
if
(
data
.
id
!=
this
.
queryParams
.
payerCompanyId
)
{
this
.
queryParams
.
groupName
=
''
}
this
.
queryParams
.
payerCompanyId
=
data
.
id
;
this
.
queryParams
.
payerCompanyId
=
data
.
id
;
this
.
getAllGroupNames
(
data
.
id
);
this
.
getList
();
this
.
getList
();
},
},
// 筛选节点
// 筛选节点
...
@@ -269,10 +312,10 @@ export default {
...
@@ -269,10 +312,10 @@ export default {
},
},
/** 查询付款主体信息列表 */
/** 查询付款主体信息列表 */
getThemeList
()
{
getThemeList
()
{
list
AllCompanyInfo
({
companyName
:
this
.
deptName
}).
then
(
response
=>
{
list
CompanyInfo
({
pageNum
:
1
,
pageSize
:
999
,
companyName
:
this
.
deptName
}).
then
(
response
=>
{
let
arr
=
[]
let
arr
=
[]
response
.
data
.
forEach
(
item
=>
{
response
.
rows
.
forEach
(
item
=>
{
arr
.
push
({
arr
.
push
({
id
:
item
.
id
,
id
:
item
.
id
,
label
:
item
.
companyName
label
:
item
.
companyName
...
@@ -406,6 +449,11 @@ export default {
...
@@ -406,6 +449,11 @@ export default {
this
.
bcoForm
.
targetIds
=
this
.
ids
this
.
bcoForm
.
targetIds
=
this
.
ids
this
.
bcoOpen
=
true
this
.
bcoOpen
=
true
},
},
//申报
declareTaskOne
(
row
)
{
console
.
log
(
'
申请申报
'
)
this
.
$router
.
push
({
path
:
"
/declare
"
,
query
:
{
id
:
row
.
id
}
});
},
// 单条生成发薪任务
// 单条生成发薪任务
createBatchTaskOne
(
row
)
{
createBatchTaskOne
(
row
)
{
this
.
bcoForm
.
contractName
=
row
.
contractName
this
.
bcoForm
.
contractName
=
row
.
contractName
...
@@ -436,14 +484,19 @@ export default {
...
@@ -436,14 +484,19 @@ export default {
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
.EDMMain
{
.EDMMain
{
display
:
flex
;
display
:
flex
;
align-items
:
flex-start
;
gap
:
10px
;
.themeMain
{
.themeMain
{
width
:
290px
;
width
:
190px
;
}
.cooperateUnitMain
{
width
:
190px
;
}
}
.listMain
{
.listMain
{
margin-left
:
10px
;
width
:
calc
(
100%
-
400px
);
width
:
calc
(
100%
-
300px
);
}
}
}
}
</
style
>
</
style
>
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