Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jft-vue-platform
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
王梦龙
jft-vue-platform
Commits
019d2cfe
提交
019d2cfe
authored
8月 06, 2024
作者:
赵世杰
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
账单开发
上级
4e81094e
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
237 行增加
和
16 行删除
+237
-16
bill.js
src/api/bill.js
+33
-0
index.js
src/router/index.js
+6
-0
index.vue
src/views/bill/electronicContractBill/index.vue
+181
-0
index.vue
src/views/bill/salaryStatement/index.vue
+17
-16
没有找到文件。
src/api/bill.js
浏览文件 @
019d2cfe
...
@@ -87,4 +87,36 @@ export function payBillPayment(query) {
...
@@ -87,4 +87,36 @@ export function payBillPayment(query) {
method
:
'post'
,
method
:
'post'
,
data
:
query
,
data
:
query
,
})
})
}
// 合同账单主列表
export
function
contractBillList
(
query
)
{
return
request
({
url
:
"/djl-contract/contract/bill/query/list"
,
method
:
'get'
,
params
:
query
,
})
}
// 合同账单主列表
export
function
proContractBillList
(
query
)
{
return
request
({
url
:
"/djl-contract/pro/contract/bill/query/list"
,
method
:
'get'
,
params
:
query
,
})
}
// 合同账单结算
export
function
contractBillSettle
(
query
)
{
return
request
({
url
:
"/djl-contract/contract/bill/settle"
,
method
:
'post'
,
data
:
query
,
})
}
// 合同账单收款
export
function
contractBillPayment
(
query
)
{
return
request
({
url
:
"/djl-contract/contract/bill/collect"
,
method
:
'post'
,
data
:
query
,
})
}
}
\ No newline at end of file
src/router/index.js
浏览文件 @
019d2cfe
...
@@ -179,6 +179,12 @@ export const constantRoutes = [
...
@@ -179,6 +179,12 @@ export const constantRoutes = [
name
:
'salaryStatement'
,
name
:
'salaryStatement'
,
meta
:
{
title
:
'发薪账单'
,
icon
:
'form'
}
meta
:
{
title
:
'发薪账单'
,
icon
:
'form'
}
},
},
{
path
:
'electronicContractBill'
,
component
:
()
=>
import
(
'@/views/bill/electronicContractBill/index'
),
name
:
'electronicContractBill'
,
meta
:
{
title
:
'电子合同账单'
,
icon
:
'form'
}
},
]
]
}
}
// {
// {
...
...
src/views/bill/electronicContractBill/index.vue
0 → 100644
浏览文件 @
019d2cfe
<
template
>
<div
class=
"electronicContractBill"
>
<el-form
:model=
"queryParams"
ref=
"queryRef"
:inline=
"true"
>
<el-form-item
label=
"账单年月"
prop=
"billDate"
>
<el-date-picker
v-model=
"queryParams.billDate"
type=
"month"
placeholder=
"账单年月"
value-format=
"YYYY-MM"
/>
</el-form-item>
<el-form-item
label=
"派遣"
prop=
"baseCode"
>
<el-select
v-model=
"queryParams.baseCode"
placeholder=
"请选择"
style=
"width: 240px"
filterable
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"Search"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"Refresh"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
label=
"账单年月"
prop=
"billYM"
/>
<el-table-column
label=
"累计签订电子合同份数"
prop=
"totalTimes"
/>
<el-table-column
label=
"服务费总额"
prop=
"totalFee"
/>
<el-table-column
label=
"操作"
align=
"center"
>
<template
#
default=
"
{ row }">
<el-button
v-if=
"row.state == 'none'"
link
type=
"primary"
icon=
"Memo"
@
click=
"handleSettle(row)"
>
结算
</el-button>
<el-button
v-if=
"row.state == 'payment' && row.platState == 'settle'"
link
type=
"primary"
icon=
"Tickets"
@
click=
"handlePayment(row)"
>
收款
</el-button>
<el-button
link
type=
"primary"
icon=
"Edit"
@
click=
"handleDetails(row)"
>
明细
</el-button>
<el-button
link
type=
"primary"
icon=
"Download"
@
click=
"exportData(row)"
>
导出
</el-button>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total > 0"
:total=
"total"
v-model:page=
"queryParams.page"
v-model:limit=
"queryParams.limit"
@
pagination=
"getList"
/>
<el-dialog
v-model=
"dialogFormVisible"
title=
"明细"
width=
"1000"
>
<!-- <el-form :inline="true">
<el-form-item>
<el-button type="primary" icon="Search" @click="getDetailList">搜索</el-button>
<el-button icon="Refresh" @click="resetDetailQuery">重置</el-button>
</el-form-item>
</el-form> -->
<el-table
v-loading=
"detailLoading"
:data=
"detailList"
>
<el-table-column
label=
"账单年月"
align=
"center"
prop=
"billYM"
/>
<el-table-column
label=
"项目"
align=
"center"
prop=
"project"
/>
<el-table-column
label=
"签订合同人数"
align=
"center"
prop=
"totalTimes"
/>
<el-table-column
label=
"服务费"
align=
"center"
prop=
"totalFee"
/>
</el-table>
<div
style=
"position: relative;"
>
<pagination
v-show=
"detailTotal > 0"
:total=
"detailTotal"
v-model:page=
"detailQueryParams.page"
v-model:limit=
"detailQueryParams.limit"
@
pagination=
"getDetailList"
/>
</div>
<
template
#
footer
>
<div
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"dialogFormVisible = false"
>
确定
</el-button>
</div>
</
template
>
</el-dialog>
</div>
</template>
<
script
setup
>
import
{
ref
}
from
"vue"
;
import
{
contractBillList
,
proContractBillList
,
contractBillPayment
,
contractBillSettle
,
queryAllDispatch
}
from
"@/api/bill"
const
{
proxy
}
=
getCurrentInstance
();
const
list
=
ref
([{}]);
const
loading
=
ref
(
false
);
const
options
=
ref
([]);
// 派遣下拉
const
total
=
ref
(
0
);
// 分页
const
queryParams
=
ref
({
billDate
:
''
,
baseCode
:
''
,
page
:
1
,
limit
:
10
});
// 查询参数
const
detailList
=
ref
([]);
const
detailLoading
=
ref
(
false
);
const
dialogFormVisible
=
ref
(
false
);
// 弹窗
const
detailTotal
=
ref
(
0
);
const
detailQueryParams
=
ref
({
page
:
1
,
limit
:
10
,
baseCode
:
''
,
billDate
:
''
,
})
// 弹窗列表查询条件
/** 查询明细 */
function
handleDetails
(
row
)
{
dialogFormVisible
.
value
=
true
;
detailLoading
.
value
=
true
;
detailTotal
.
value
=
0
;
detailList
.
value
=
[];
detailQueryParams
.
value
.
page
=
1
;
detailQueryParams
.
value
.
limit
=
10
;
detailQueryParams
.
value
.
billDate
=
row
.
billYM
;
detailQueryParams
.
value
.
baseCode
=
row
.
baseCode
;
getDetailList
()
}
/** 查询明细 */
function
getDetailList
()
{
proContractBillList
(
detailQueryParams
.
value
).
then
(
res
=>
{
detailLoading
.
value
=
false
;
detailTotal
.
value
=
res
.
count
;
detailList
.
value
=
res
.
data
;
})
}
// 重置弹窗明细查询条件
function
resetDetailQuery
()
{
detailQueryParams
.
value
.
name
=
''
;
detailQueryParams
.
value
.
idNo
=
''
;
getDetailList
()
}
// 导出
function
exportData
(
row
)
{
proxy
.
download
(
"/djl-contract/contract/bill/export"
,
{
billYM
:
row
.
billYM
},
`合同账单导出结果.xlsx`
);
}
// 结算
function
handleSettle
(
row
)
{
proxy
.
$modal
.
confirm
(
'是否确认结算当前账单?'
).
then
(
function
()
{
return
contractBillSettle
({
id
:
row
.
id
,
baseCode
:
row
.
baseCode
,
});
}).
then
((
res
)
=>
{
getList
();
proxy
.
$modal
.
msgSuccess
(
res
.
code
);
}).
catch
(()
=>
{
});
}
// 收款
function
handlePayment
(
row
)
{
proxy
.
$modal
.
confirm
(
'是否确认收款?'
).
then
(
function
()
{
return
contractBillPayment
({
id
:
row
.
id
,
baseCode
:
row
.
baseCode
,
});
}).
then
((
res
)
=>
{
getList
();
proxy
.
$modal
.
msgSuccess
(
res
.
code
);
}).
catch
(()
=>
{
});
}
/** 搜索按钮操作 */
function
handleQuery
()
{
queryParams
.
value
.
page
=
1
;
queryParams
.
value
.
limit
=
10
;
getList
();
}
/** 重置按钮操作 */
function
resetQuery
()
{
queryParams
.
value
=
{
billDate
:
''
,
page
:
1
,
limit
:
10
}
handleQuery
();
}
/** 查询预支工资账单列表 */
function
getList
()
{
loading
.
value
=
true
;
contractBillList
(
queryParams
.
value
).
then
(
response
=>
{
list
.
value
=
response
.
data
;
total
.
value
=
response
.
count
;
loading
.
value
=
false
;
});
}
function
getqueryAllDispatch
()
{
queryAllDispatch
().
then
(
res
=>
{
res
.
data
=
res
.
data
||
[]
options
.
value
=
res
.
data
.
map
(
item
=>
{
return
{
value
:
item
.
baseCode
,
label
:
item
.
name
}
});
})
}
getqueryAllDispatch
();
getList
();
</
script
>
<
style
lang=
"scss"
>
.electronicContractBill
{
padding
:
20px
;
}
</
style
>
\ No newline at end of file
src/views/bill/salaryStatement/index.vue
浏览文件 @
019d2cfe
...
@@ -5,20 +5,20 @@
...
@@ -5,20 +5,20 @@
<el-date-picker
v-model=
"queryParams.billDate"
type=
"month"
placeholder=
"账单年月"
value-format=
"YYYY-MM"
/>
<el-date-picker
v-model=
"queryParams.billDate"
type=
"month"
placeholder=
"账单年月"
value-format=
"YYYY-MM"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"派遣"
prop=
"baseCode"
>
<el-form-item
label=
"派遣"
prop=
"baseCode"
>
<el-select
<el-select
v-model=
"queryParams.baseCode"
v-model=
"queryParams.baseCode"
placeholder=
"请选择"
placeholder=
"请选择"
style=
"width: 240px"
style=
"width: 240px"
filterable
filterable
>
>
<el-option
<el-option
v-for=
"item in options"
v-for=
"item in options"
:key=
"item.value"
:key=
"item.value"
:label=
"item.label"
:label=
"item.label"
:value=
"item.value"
:value=
"item.value"
/>
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"Search"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
type=
"primary"
icon=
"Search"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"Refresh"
@
click=
"resetQuery"
>
重置
</el-button>
<el-button
icon=
"Refresh"
@
click=
"resetQuery"
>
重置
</el-button>
...
@@ -39,8 +39,7 @@
...
@@ -39,8 +39,7 @@
<
template
#
default=
"{ row }"
>
<
template
#
default=
"{ row }"
>
<el-button
v-if=
"row.state == 'none'"
link
type=
"primary"
icon=
"Memo"
<el-button
v-if=
"row.state == 'none'"
link
type=
"primary"
icon=
"Memo"
@
click=
"handleSettle(row)"
>
结算
</el-button>
@
click=
"handleSettle(row)"
>
结算
</el-button>
<el-button
v-if=
"row.state == 'settle'"
link
type=
"primary"
icon=
"Tickets"
<el-button
v-if=
"row.state == 'payment' && row.platState == 'settle'"
link
type=
"primary"
icon=
"Tickets"
@
click=
"handlePayment(row)"
>
收款
</el-button>
@
click=
"handlePayment(row)"
>
收款
</el-button>
<el-button
link
type=
"primary"
icon=
"Edit"
@
click=
"handleDetails(row)"
>
明细
</el-button>
<el-button
link
type=
"primary"
icon=
"Edit"
@
click=
"handleDetails(row)"
>
明细
</el-button>
<el-button
link
type=
"primary"
icon=
"Download"
@
click=
"exportData(row)"
>
导出
</el-button>
<el-button
link
type=
"primary"
icon=
"Download"
@
click=
"exportData(row)"
>
导出
</el-button>
</
template
>
</
template
>
...
@@ -139,6 +138,7 @@ function handleSettle(row) {
...
@@ -139,6 +138,7 @@ function handleSettle(row) {
proxy
.
$modal
.
confirm
(
'是否确认结算当前账单?'
).
then
(
function
()
{
proxy
.
$modal
.
confirm
(
'是否确认结算当前账单?'
).
then
(
function
()
{
return
payBillSettle
({
return
payBillSettle
({
id
:
row
.
id
,
id
:
row
.
id
,
baseCode
:
row
.
baseCode
,
});
});
}).
then
((
res
)
=>
{
}).
then
((
res
)
=>
{
getList
();
getList
();
...
@@ -150,6 +150,7 @@ function handlePayment(row) {
...
@@ -150,6 +150,7 @@ function handlePayment(row) {
proxy
.
$modal
.
confirm
(
'是否确认收款?'
).
then
(
function
()
{
proxy
.
$modal
.
confirm
(
'是否确认收款?'
).
then
(
function
()
{
return
payBillPayment
({
return
payBillPayment
({
id
:
row
.
id
,
id
:
row
.
id
,
baseCode
:
row
.
baseCode
,
});
});
}).
then
((
res
)
=>
{
}).
then
((
res
)
=>
{
getList
();
getList
();
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论