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
878032c7
Commit
878032c7
authored
May 30, 2025
by
许珑标
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
账户管理及充值优化
parent
7ff8b50d
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
253 additions
and
91 deletions
+253
-91
src/views/business/companyPayChannel/index.vue
src/views/business/companyPayChannel/index.vue
+2
-2
src/views/business/salaryAccount/index.vue
src/views/business/salaryAccount/index.vue
+22
-2
src/views/business/taxUnit/LaborAcc.vue
src/views/business/taxUnit/LaborAcc.vue
+15
-87
src/views/business/taxUnit/channel.vue
src/views/business/taxUnit/channel.vue
+214
-0
No files found.
src/views/business/companyPayChannel/index.vue
View file @
878032c7
...
@@ -321,9 +321,9 @@ export default {
...
@@ -321,9 +321,9 @@ export default {
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
open
=
false
;
this
.
open
=
false
;
this
.
getList
();
this
.
getList
();
}).
catch
(()
=>
{
row
.
status
=
row
.
status
===
2
?
1
:
2
;
});
});
}).
then
(()
=>
{
_this
.
$modal
.
msgSuccess
(
text
+
"
成功
"
);
}).
catch
(
function
()
{
}).
catch
(
function
()
{
row
.
status
=
row
.
status
===
2
?
1
:
2
;
row
.
status
=
row
.
status
===
2
?
1
:
2
;
});
});
...
...
src/views/business/salaryAccount/index.vue
View file @
878032c7
...
@@ -43,6 +43,11 @@
...
@@ -43,6 +43,11 @@
卡号:
{{
ele
.
payAccNo
}}
卡号:
{{
ele
.
payAccNo
}}
</el-col>
</el-col>
</el-row>
</el-row>
<el-row>
<el-col
:span=
"16"
>
通道:
{{
sysPayChannelMap
.
get
(
ele
.
channelCode
)
}}
</el-col>
</el-row>
<!--
<div
style=
"width:90%;"
>
<!--
<div
style=
"width:90%;"
>
<el-row>
<el-row>
<el-col
:span=
"8"
>
<el-col
:span=
"8"
>
...
@@ -125,6 +130,13 @@
...
@@ -125,6 +130,13 @@
</el-col>
</el-col>
</el-row>
</el-row>
</div>
</div>
<div
style=
"width:90%;"
>
<el-row>
<el-col
:span=
"16"
>
通道:
{{
sysPayChannelMap
.
get
(
ele
.
channelCode
)
}}
</el-col>
</el-row>
</div>
<!--
<div
style=
"width:90%;"
>
<!--
<div
style=
"width:90%;"
>
<el-row>
<el-row>
<el-col
:span=
"8"
>
<el-col
:span=
"8"
>
...
@@ -506,6 +518,7 @@ import { bindUnitAcc, listAllHasNoOpenInfo } from '@/api/business/unitInfo'
...
@@ -506,6 +518,7 @@ import { bindUnitAcc, listAllHasNoOpenInfo } from '@/api/business/unitInfo'
import
{
allHasNoOpenInfoCompany
,
bindCompanyAcc
,
listAllCompanyInfo
}
from
'
@/api/business/companyInfo
'
import
{
allHasNoOpenInfoCompany
,
bindCompanyAcc
,
listAllCompanyInfo
}
from
'
@/api/business/companyInfo
'
import
{
queryHasNoAccSign
}
from
'
@/api/business/laborSign
'
import
{
queryHasNoAccSign
}
from
'
@/api/business/laborSign
'
import
{
listAllCompanyPayChannel
,
signChannel
}
from
'
@/api/business/companyPayChannel
'
import
{
listAllCompanyPayChannel
,
signChannel
}
from
'
@/api/business/companyPayChannel
'
import
{
listAllPayChannel
}
from
'
@/api/business/payChannel
'
export
default
{
export
default
{
name
:
'
SalaryAccount
'
,
name
:
'
SalaryAccount
'
,
components
:
{
TaxSignComponent
,
QrCodeComponent
,
AccSelect
},
components
:
{
TaxSignComponent
,
QrCodeComponent
,
AccSelect
},
...
@@ -604,12 +617,14 @@ export default {
...
@@ -604,12 +617,14 @@ export default {
loading
:
false
,
loading
:
false
,
// 第三方发薪账号余额、服务费充值选择弹窗
// 第三方发薪账号余额、服务费充值选择弹窗
rechargeCoursePanelDialog
:
false
,
rechargeCoursePanelDialog
:
false
,
companyPayChannelList
:
[]
companyPayChannelList
:
[],
sysPayChannelMap
:
null
,
}
}
},
},
created
()
{
created
()
{
},
},
mounted
()
{
mounted
()
{
this
.
sysPayChannelAll
()
if
(
this
.
payType
==
'
first
'
)
{
if
(
this
.
payType
==
'
first
'
)
{
this
.
params
.
bindType
=
1
this
.
params
.
bindType
=
1
this
.
getListAllAccInfoFN
()
this
.
getListAllAccInfoFN
()
...
@@ -619,6 +634,11 @@ export default {
...
@@ -619,6 +634,11 @@ export default {
}
}
},
},
methods
:
{
methods
:
{
sysPayChannelAll
()
{
listAllPayChannel
().
then
(
resp
=>
{
this
.
sysPayChannelMap
=
new
Map
(
resp
.
data
.
map
(
value
=>
[
value
.
channelCode
,
value
.
channelName
]));
})
},
/** 第三方绑定发薪账号-签约成功执行 */
/** 第三方绑定发薪账号-签约成功执行 */
submitSignContract
()
{
submitSignContract
()
{
this
.
bindAcc
.
panel
=
false
;
this
.
bindAcc
.
panel
=
false
;
...
@@ -734,7 +754,7 @@ export default {
...
@@ -734,7 +754,7 @@ export default {
addAccRecharge
(
this
.
aliQRCodeRechargeForm
).
then
(
res
=>
{
addAccRecharge
(
this
.
aliQRCodeRechargeForm
).
then
(
res
=>
{
this
.
aliQRCodeRechargeOpen
=
false
this
.
aliQRCodeRechargeOpen
=
false
if
(
200
===
res
.
code
)
{
if
(
200
===
res
.
code
)
{
if
(
1
===
this
.
aliQRCodeRechargeForm
.
bind
Type
)
{
if
(
1
===
this
.
aliQRCodeRechargeForm
.
recharge
Type
)
{
if
(
res
.
data
.
status
)
{
if
(
res
.
data
.
status
)
{
this
.
qrPayPanel
.
payUrl
=
res
.
data
.
msg
this
.
qrPayPanel
.
payUrl
=
res
.
data
.
msg
this
.
qrPayPanel
.
open
=
true
this
.
qrPayPanel
.
open
=
true
...
...
src/views/business/taxUnit/LaborAcc.vue
View file @
878032c7
...
@@ -11,7 +11,9 @@
...
@@ -11,7 +11,9 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
"支付通道"
prop=
"channelCode"
>
<el-form-item
label=
"支付通道"
prop=
"channelCode"
>
<el-select
v-model=
"queryParams.channelCode"
placeholder=
"请选择支付通道"
clearable
>
<el-select
v-model=
"queryParams.channelCode"
placeholder=
"请选择支付通道"
clearable
>
<el-option
v-for=
"(item, index) in sysPayChannelList"
:label=
"item.channelName"
:value=
"item.channelCode"
/>
<el-option
v-for=
"(item, index) in taxUnitPayChannelList"
:label=
"item.channelName"
:value=
"item.channelCode"
:disabled=
"!item.isEnter || item.isEnter
<
3
||
!
item
.
status
||
item
.
status
!==
1
"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
...
@@ -60,12 +62,6 @@
...
@@ -60,12 +62,6 @@
icon=
"el-icon-info"
icon=
"el-icon-info"
@
click=
"viewDetail(scope.row)"
@
click=
"viewDetail(scope.row)"
>
账户详情
</el-button>
>
账户详情
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"updateRate(scope.row)"
>
设置费率
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -100,31 +96,7 @@
...
@@ -100,31 +96,7 @@
</div>
</div>
</el-dialog>
</el-dialog>
<!-- 设置费率-->
<!-- 添加代发账户对话框 -->
<el-dialog
title=
"费率设置"
:visible.sync=
"configRatePanel"
width=
"30%"
center
>
<el-descriptions
:title=
"configRateForm.companyName"
:column=
"1"
:label-style=
"label_style"
:contentStyle=
"content_style"
>
</el-descriptions>
<el-descriptions
:title=
"'外卡卡号:' + configRateForm.alipayCardNo"
:column=
"1"
>
</el-descriptions>
<el-form
ref=
"configRateForm"
:model=
"configRateForm"
:rules=
"configRateFormRules"
label-width=
"150px"
>
<el-form-item
label=
"转账到支付宝费率"
prop=
"toAlipayRate"
>
<el-input-number
v-model=
"configRateForm.toAlipayRate"
placeholder=
"请输入到支付宝费率"
:step=
"0.001"
:precision=
"3"
:min=
"0"
:max=
"1"
style=
"width: 200px"
/>
</el-form-item>
<el-form-item
label=
"转账到银行卡费率"
prop=
"toBankRate"
>
<el-input-number
v-model=
"configRateForm.toBankRate"
placeholder=
"请输入到银行卡费率"
:step=
"0.001"
:precision=
"3"
:min=
"0"
:max=
"1"
style=
"width: 200px"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"configRatePanel = false"
>
关 闭
</el-button>
<el-button
type=
"primary"
@
click=
"configRateSubmit"
>
确 定
</el-button>
</div>
</el-dialog>
<!-- 添加或修改企业支付通道对话框 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"500px"
append-to-body
>
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"500px"
append-to-body
>
<el-form
ref=
"addForm"
:model=
"addForm"
label-width=
"120px"
>
<el-form
ref=
"addForm"
:model=
"addForm"
label-width=
"120px"
>
<el-form-item
label=
"对方企业名称"
prop=
"inviterName"
>
<el-form-item
label=
"对方企业名称"
prop=
"inviterName"
>
...
@@ -135,7 +107,9 @@
...
@@ -135,7 +107,9 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
"分配账户通道"
prop=
"channelCode"
>
<el-form-item
label=
"分配账户通道"
prop=
"channelCode"
>
<el-select
v-model=
"addForm.channelCode"
placeholder=
"请选择支付通道"
>
<el-select
v-model=
"addForm.channelCode"
placeholder=
"请选择支付通道"
>
<el-option
v-for=
"(item, index) in taxUnitPayChannelList"
:label=
"item.channelName"
:value=
"item.channelCode"
/>
<el-option
v-for=
"(item, index) in taxUnitPayChannelList"
:label=
"item.channelName"
:value=
"item.channelCode"
:disabled=
"!item.isEnter || item.isEnter < 3 || !item.status || item.status !== 1"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
...
@@ -204,26 +178,6 @@ export default {
...
@@ -204,26 +178,6 @@ export default {
panel
:
false
,
panel
:
false
,
info
:
{}
info
:
{}
},
},
// 设置费率相关
label_style
:
{
'
font-size
'
:
'
16px
'
,
},
content_style
:
{
'
font-size
'
:
'
16px
'
,
},
configRatePanel
:
false
,
configRateForm
:
{
toAlipayRate
:
0
,
toBankRate
:
0
},
configRateFormRules
:
{
toAlipayRate
:
[
{
required
:
true
,
message
:
'
请输入转账到支付宝的费率
'
,
trigger
:
'
blur
'
}
],
toBankRate
:
[
{
required
:
true
,
message
:
'
请输入转账到银行卡的费率
'
,
trigger
:
'
blur
'
}
],
},
sysPayChannelList
:
[],
sysPayChannelList
:
[],
sysPayChannelMap
:
undefined
,
sysPayChannelMap
:
undefined
,
taxUnitPayChannelList
:
[],
taxUnitPayChannelList
:
[],
...
@@ -241,6 +195,7 @@ export default {
...
@@ -241,6 +195,7 @@ export default {
mounted
()
{
mounted
()
{
this
.
queryParams
.
laborSignId
=
this
.
$route
.
query
.
signId
this
.
queryParams
.
laborSignId
=
this
.
$route
.
query
.
signId
this
.
getList
();
this
.
getList
();
this
.
pageInit
()
},
},
methods
:
{
methods
:
{
async
getList
()
{
async
getList
()
{
...
@@ -284,42 +239,9 @@ export default {
...
@@ -284,42 +239,9 @@ export default {
this
.
$modal
.
closeLoading
()
this
.
$modal
.
closeLoading
()
})
})
},
},
// 打开设置费率弹窗
async
pageInit
()
{
updateRate
(
cardInfo
){
this
.
$modal
.
loading
(
"
正在查询...
"
)
getAccAliInfo
(
cardInfo
.
payAccNo
).
then
(
resp
=>
{
if
(
200
===
resp
.
code
)
{
this
.
configRateForm
.
companyName
=
cardInfo
.
accName
this
.
configRateForm
.
toAlipayRate
=
resp
.
data
.
toAlipayRate
this
.
configRateForm
.
toBankRate
=
resp
.
data
.
toBankRate
this
.
configRateForm
.
alipayCardNo
=
cardInfo
.
payAccNo
this
.
configRatePanel
=
true
}
}).
finally
(()
=>
{
this
.
$modal
.
closeLoading
()
})
},
configRateSubmit
()
{
this
.
$refs
[
'
configRateForm
'
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
$modal
.
msgSuccess
(
"
操作成功
"
)
this
.
configRatePanel
=
false
let
params
=
{
sysMerchantId
:
this
.
configRateForm
.
sysMerchantId
,
toAlipayRate
:
Number
(
this
.
configRateForm
.
toAlipayRate
),
toBankRate
:
Number
(
this
.
configRateForm
.
toBankRate
)
}
}
})
},
/** 新增按钮操作 */
async
handleAdd
()
{
this
.
open
=
true
;
this
.
title
=
"
分配代发账户
"
;
const
channelQuery
=
{
const
channelQuery
=
{
unitType
:
2
,
unitType
:
2
,
isEnter
:
3
,
status
:
1
}
}
await
getLaborSign
(
this
.
queryParams
.
laborSignId
).
then
(
resp
=>
{
await
getLaborSign
(
this
.
queryParams
.
laborSignId
).
then
(
resp
=>
{
channelQuery
.
compaynId
=
resp
.
data
.
taxUnitId
channelQuery
.
compaynId
=
resp
.
data
.
taxUnitId
...
@@ -332,6 +254,12 @@ export default {
...
@@ -332,6 +254,12 @@ export default {
})
})
}
}
},
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
open
=
true
;
this
.
title
=
"
分配代发账户
"
;
},
submitAdd
()
{
submitAdd
()
{
if
(
this
.
accList
&&
this
.
accList
.
length
>
0
)
{
if
(
this
.
accList
&&
this
.
accList
.
length
>
0
)
{
const
hasChannel
=
this
.
accList
.
some
(
acc
=>
acc
.
channelCode
===
this
.
addForm
.
channelCode
);
const
hasChannel
=
this
.
accList
.
some
(
acc
=>
acc
.
channelCode
===
this
.
addForm
.
channelCode
);
...
...
src/views/business/taxUnit/channel.vue
0 → 100644
View file @
878032c7
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"80px"
>
<el-form-item
label=
"通道名称"
prop=
"channelName"
>
<el-input
v-model=
"queryParams.channelName"
placeholder=
"请输入通道名称"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"关联企业"
prop=
"companyId"
>
<el-select
v-model=
"queryParams.companyId"
placeholder=
"请选择关联企业"
clearable
>
<el-option
v-for=
"item in unitInfoList"
:key=
"item.companyId"
:label=
"item.companyName"
:value=
"item.companyId"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<!--
<el-row
:gutter=
"10"
class=
"mb8"
>
-->
<!--
<el-col
:span=
"1.5"
>
-->
<!--
<el-button-->
<!-- type="warning"-->
<!-- icon="el-icon-download"-->
<!-- size="mini"-->
<!-- @click="handleExport"-->
<!-- v-hasPermi="['business:companyPayChannel:export']"-->
<!-- >导出
</el-button>
-->
<!--
</el-col>
-->
<!--
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
-->
<!--
</el-row>
-->
<el-table
v-loading=
"loading"
:data=
"companyPayChannelList"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"支付通道"
align=
"center"
prop=
"channelName"
/>
<el-table-column
label=
"关联企业"
align=
"center"
prop=
"companyName"
/>
<el-table-column
label=
"使用状态"
align=
"center"
prop=
"status"
>
<template
slot-scope=
"scope"
>
<el-switch
v-model=
"scope.row.status"
:active-value=
"1"
:inactive-value=
"2"
@
change=
"handleStatusChange(scope.row)"
></el-switch>
</
template
>
</el-table-column>
<el-table-column
label=
"开通状态"
align=
"center"
prop=
"isEnter"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.pay_channel_use_status"
:value=
"scope.row.isEnter"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-help"
v-if=
"scope.row.isEnter === 1"
>
开通
</el-button>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total>0"
:total=
"total"
:page.sync=
"queryParams.pageNum"
:limit.sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
</div>
</template>
<
script
>
import
{
listCompanyPayChannel
,
updateCompanyPayChannel
}
from
"
@/api/business/companyPayChannel
"
;
import
{
listAllPayChannel
}
from
'
@/api/business/payChannel
'
import
{
listAllUnitInfo
}
from
'
@/api/business/unitInfo
'
export
default
{
name
:
"
CompanyPayChannel
"
,
dicts
:
[
'
pay_channel_use_status
'
],
data
()
{
return
{
// 根路径
baseURL
:
process
.
env
.
VUE_APP_BASE_API
,
// 遮罩层
loading
:
true
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 企业支付通道表格数据
companyPayChannelList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
companyId
:
null
,
unitType
:
2
,
channelCode
:
null
,
channelName
:
null
,
status
:
null
,
deptId
:
null
,
},
sysPayChannelList
:
[],
unitInfoList
:
[]
};
},
created
()
{
this
.
queryAllUnit
()
this
.
getList
();
},
methods
:
{
/** 查询企业支付通道列表 */
getList
()
{
this
.
loading
=
true
;
this
.
queryParams
.
unitType
=
2
listCompanyPayChannel
(
this
.
queryParams
).
then
(
response
=>
{
this
.
companyPayChannelList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
},
queryAllUnit
()
{
listAllUnitInfo
().
then
(
resp
=>
{
this
.
unitInfoList
=
resp
.
data
.
map
(
item
=>
({
'
companyId
'
:
item
[
'
id
'
],
'
companyName
'
:
item
[
'
unitName
'
]
}));
console
.
log
(
this
.
unitInfoList
)
})
},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
},
// 表单重置
reset
()
{
this
.
form
=
{
id
:
null
,
companyId
:
null
,
unitType
:
null
,
channelCode
:
null
,
channelName
:
null
,
status
:
0
,
isEnter
:
null
,
deptId
:
null
,
};
this
.
resetForm
(
"
form
"
);
},
sysPayChannelAll
()
{
listAllPayChannel
().
then
(
resp
=>
{
this
.
sysPayChannelList
=
resp
.
data
if
(
this
.
sysPayChannelList
&&
this
.
companyPayChannelList
)
{
this
.
sysPayChannelList
.
filter
(
item
=>
{
if
(
this
.
companyPayChannelList
.
some
(
obj
=>
obj
.
channelCode
===
item
.
channelCode
))
{
item
.
disabled
=
true
}
})
}
})
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
},
// 通道状态修改
handleStatusChange
(
row
)
{
const
_this
=
this
;
let
text
=
row
.
status
===
1
?
"
启用
"
:
"
停用
"
;
_this
.
$modal
.
confirm
(
'
确认要"
'
+
text
+
'
""
'
+
row
.
channelName
+
'
"支付通道吗?
'
).
then
(
function
()
{
const
updateForm
=
{
id
:
row
.
id
,
status
:
row
.
status
}
updateCompanyPayChannel
(
updateForm
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
open
=
false
;
this
.
getList
();
}).
catch
(()
=>
{
row
.
status
=
row
.
status
===
2
?
1
:
2
;
});
}).
catch
(
function
()
{
row
.
status
=
row
.
status
===
2
?
1
:
2
;
});
},
}
};
</
script
>
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