Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
bdc
/
bdcdj-web
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
62fc4b00
authored
2024-03-20 15:20:30 +0800
by
renchao@pashanhoo.com
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
收费
1 parent
a2c4706b
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
238 additions
and
218 deletions
README.md
src/api/sfxx.js
src/store/getters.js
src/store/modules/user.js
src/views/workflow/main/sfxx/index.vue
src/views/workflow/main/sfxx/sfDetail.vue
src/views/workflow/main/sfxx/xzsf.vue
README.md
View file @
62fc4b0
...
...
@@ -23,8 +23,6 @@
*
┗┻┛ ┗┻┛+ + + +
*
-->
# 安装依赖
npm install
# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
...
...
src/api/sfxx.js
View file @
62fc4b0
/*
* @Description: sfxx
* @Autor: renchao
* @LastEditTime: 202
3-12-26 16:06:35
* @LastEditTime: 202
4-03-20 14:02:38
*/
import
request
from
'@/utils/request'
;
let
SERVER
=
window
.
config
?
window
.
config
:
JSON
.
parse
(
localStorage
.
getItem
(
'ApiUrl'
))
...
...
@@ -17,6 +17,49 @@ export function getSfmxList (businessBsm) {
})
}
/**
* @description: 收费信息
* @param {*} businessBsm
* @author: renchao
*/
export
function
initSfxx
(
businessBsm
)
{
return
request
({
url
:
SERVER
.
SERVERAPI
+
'/rest/sys/sf/initSfxx'
,
method
:
'get'
,
params
:
{
businessBsm
:
businessBsm
}
})
}
/**
* @description: 重新计费
* @param {*} businessBsm
* @author: renchao
*/
export
function
recharge
(
businessBsm
)
{
return
request
({
url
:
SERVER
.
SERVERAPI
+
'/rest/sys/sf/recharge'
,
method
:
'get'
,
params
:
{
businessBsm
:
businessBsm
}
})
}
/**
* @description: 修改收费信息
* @param {*} businessBsm
* @author: renchao
*/
export
function
updateSfxx
(
data
)
{
return
request
({
url
:
SERVER
.
SERVERAPI
+
'/rest/sys/sf/updateSfxx'
,
method
:
'post'
,
data
})
}
export
function
saveSfmx
(
data
)
{
return
request
({
url
:
SERVER
.
SERVERAPI
+
'/rest/sys/sf/saveSfmx'
,
...
...
src/store/getters.js
View file @
62fc4b0
...
...
@@ -21,6 +21,7 @@ const getters = {
djbxx
:
state
=>
state
.
djbxx
.
djbxx
,
// workflow
isRefresh
:
state
=>
state
.
user
.
isRefresh
,
pouopData
:
state
=>
state
.
user
.
pouopData
,
workFresh
:
state
=>
state
.
user
.
workFresh
,
// 左侧菜单刷新
menuRefresh
:
state
=>
state
.
user
.
menuRefresh
,
...
...
src/store/modules/user.js
View file @
62fc4b0
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2024-0
2-01 08:52:00
* @LastEditTime: 2024-0
3-20 14:12:53
*/
import
{
getUserInfo
}
from
'@/api/user'
const
state
=
{
...
...
@@ -9,6 +9,8 @@ const state = {
userInfo
:
{},
avatar
:
'https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png'
,
isRefresh
:
false
,
// 弹窗返回需要回传的值
pouopData
:
{},
// 业务流程刷新
workFresh
:
false
,
// 左侧菜单刷新
...
...
@@ -29,6 +31,9 @@ const mutations = {
SETMENUREFRESH
:
(
state
,
data
)
=>
{
state
.
menuRefresh
=
data
},
SETPOUOPDATA
:
(
state
,
data
)
=>
{
state
.
pouopData
=
data
}
}
const
actions
=
{
...
...
@@ -48,6 +53,10 @@ const actions = {
reMenuRefresh
({
commit
},
data
)
{
commit
(
'SETMENUREFRESH'
,
data
)
},
// 存储弹窗data的值
getPouopData
({
commit
},
data
)
{
commit
(
'SETPOUOPDATA'
,
data
)
}
}
export
default
{
namespaced
:
true
,
...
...
src/views/workflow/main/sfxx/index.vue
View file @
62fc4b0
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2024-03-
19 17:30:22
* @LastEditTime: 2024-03-
20 14:22:37
-->
<
template
>
<div
class=
'sfxx slxx'
>
...
...
@@ -11,7 +11,7 @@
v-Loading=
"loading"
:label-position=
"flag ? 'top' : ''"
:inline=
"flag"
label-width=
"1
0
0px"
>
label-width=
"1
2
0px"
>
<div
class=
"slxx_con"
:class=
"flag ? 'formMarginBot0' : ''"
>
<div
class=
"slxx_title title-block"
>
基本信息
...
...
@@ -19,79 +19,48 @@
</div>
<el-row
:gutter=
"10"
>
<el-col
:span=
"8"
>
<el-form-item
label=
"
业务号
:"
>
<el-input
v-model=
"ruleForm.
ywh"
></el-input>
<el-form-item
label=
"
受理人员
:"
>
<el-input
v-model=
"ruleForm.
slry"
disabled
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"
申请登记类型
:"
>
<el-input
v-model=
"ruleForm.s
qdjlx"
></el-input>
<el-form-item
label=
"
受理时间
:"
>
<el-input
v-model=
"ruleForm.s
lsj"
disabled
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"
联系人
:"
>
<el-input
v-model=
"ruleForm.
lxr"
></el-input>
<el-form-item
label=
"
登记情形名称
:"
>
<el-input
v-model=
"ruleForm.
djqxmc"
disabled
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"10"
>
<el-col
:span=
"8"
>
<el-form-item
label=
"联系人电话:"
>
<el-input
v-model=
"ruleForm.lxdh"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"缴费人:"
>
<el-input
v-model=
"ruleForm.jfr"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"缴费单号:"
>
<el-input
v-model=
"ruleForm.jfdh"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"10"
>
<el-col
:span=
"8"
>
<el-form-item
label=
"应收金额:"
>
<el-input
v-model=
"ruleForm.ysje"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"实收金额:"
>
<el-input
v-model=
"ruleForm.ssje"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"备注:"
>
<el-input
v-model=
"ruleForm.bz"
></el-input>
<el-form-item
label=
"登记业务名称:"
>
<el-input
v-model=
"ruleForm.djywmc"
disabled
></el-input>
</el-form-item>
</el-col>
</el-row>
<div
class=
"slxx_title title-block"
>
收费明细
<el-button
type=
"primary"
@
click=
"hanldeAdd"
style=
"float:right;margin-top:-5px"
>
增加
</el-button>
计费明细
</div>
<el-table
:data=
"tableDatasf.data"
border
:height=
"210"
>
<el-table-column
v-for=
"item in tableDatasf.columns"
:key=
"item.index"
:prop=
"item.prop"
:label=
"item.label"
align=
"center"
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"50"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"text"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button>
</
template
>
<el-table
:data=
"tableDatajf.data"
border
:height=
"100"
>
<el-table-column
v-for=
"item in tableDatajf.columns"
:key=
"item.index"
:prop=
"item.prop"
:label=
"item.label"
align=
"center"
>
</el-table-column>
</el-table>
<div
class=
"slxx_title title-block"
>
计费明细
<div
class=
"triangle"
></div>
收费明细
<el-button
type=
"primary"
@
click=
"hanldeEdit"
style=
"float:right;margin-top:-5px"
>
修改
</el-button>
<el-button
type=
"primary"
@
click=
"hanldeRecharge"
style=
"float:right;margin-top:-5px;margin-right:10px"
>
重新计费
</el-button>
</div>
<el-table
:data=
"tableData
jf.data"
border
:height=
"21
0"
>
<el-table-column
v-for=
"item in tableData
j
f.columns"
:key=
"item.index"
:prop=
"item.prop"
:label=
"item.label"
align=
"center"
>
<el-table
:data=
"tableData
sf.data"
border
:height=
"10
0"
>
<el-table-column
v-for=
"item in tableData
s
f.columns"
:key=
"item.index"
:prop=
"item.prop"
:label=
"item.label"
align=
"center"
>
</el-table-column>
</el-table>
<div
class=
"slxx_title title-block"
>
票据
<div
class=
"triangle"
></div>
...
...
@@ -105,22 +74,14 @@
</
template
>
<
script
>
import
{
mapGetters
}
from
"vuex"
;
import
{
getSfmxList
,
deleteSfmx
}
from
"@/api/sfxx.js"
;
import
{
initSfxx
,
recharge
}
from
"@/api/sfxx.js"
;
export
default
{
components
:
{},
data
()
{
return
{
ruleForm
:
{
ywh
:
''
,
sqdjlx
:
''
,
lxr
:
''
,
lxdh
:
''
,
jfr
:
''
,
jfdh
:
''
,
ysje
:
''
,
ssje
:
''
,
bz
:
''
},
loading
:
false
,
bsmBusiness
:
this
.
$route
.
query
.
bsmBusiness
?
this
.
$route
.
query
.
bsmBusiness
:
window
.
currentSelect
.
bsmBusiness
,
ruleForm
:
{},
tableDatasf
:
{
columns
:
[
{
...
...
@@ -128,17 +89,6 @@
label
:
"收费单位"
,
},
{
label
:
'是否额外收费'
,
align
:
'center'
,
render
:
(
h
,
scope
)
=>
{
return
(
<
div
>
{
scope
.
row
.
sfewsf
==
'1'
?
<
span
>
是
<
/span> : <span>否</
span
>
}
<
/div
>
)
}
},
{
prop
:
"sfry"
,
label
:
"收费人员"
,
},
...
...
@@ -164,39 +114,44 @@
tableDatajf
:
{
columns
:
[
{
prop
:
"
sfdw
"
,
label
:
"计费
单位
"
,
prop
:
"
jfjs
"
,
label
:
"计费
基数
"
,
},
{
label
:
'是否额外收费'
,
align
:
'center'
,
render
:
(
h
,
scope
)
=>
{
return
(
<
div
>
{
scope
.
row
.
sfewsf
==
'1'
?
<
span
>
是
<
/span> : <span>否</
span
>
}
<
/div
>
)
}
prop
:
"jflx"
,
label
:
"计费类型"
,
},
{
prop
:
"
sfry
"
,
label
:
"
收费人员
"
,
prop
:
"
jflxmc
"
,
label
:
"
计费类型名称
"
,
},
{
prop
:
"
sfkmmc
"
,
label
:
"
收费科目名称
"
,
prop
:
"
ysje
"
,
label
:
"
应收金额
"
,
},
{
prop
:
"
sjffr
"
,
label
:
"
实际付费人
"
,
prop
:
"
zkhysje
"
,
label
:
"
折扣后应收金额
"
,
},
{
prop
:
"
ssje
"
,
label
:
"
实收金额
"
,
prop
:
"
qlrmc
"
,
label
:
"
权利人名称
"
,
},
{
prop
:
"ysje"
,
label
:
"应收金额"
,
prop
:
"ywrmc"
,
label
:
"义务人名称"
,
},
{
prop
:
"qlytmc"
,
label
:
"权利用途名称"
,
},
{
prop
:
"qlxzmc"
,
label
:
"权利性质名称"
,
},
{
prop
:
"zl"
,
label
:
"坐落"
,
}
],
data
:
[],
...
...
@@ -204,57 +159,48 @@
}
},
computed
:
{
...
mapGetters
([
"workFresh"
]),
...
mapGetters
([
"workFresh"
,
"flag"
,
"pouopData"
]),
},
watch
:
{
workFresh
:
{
handler
(
newVal
,
oldVal
)
{
if
(
newVal
)
this
.
getList
()
;
}
,
if
(
newVal
)
this
.
getList
()
}
},
pouopData
:
{
handler
(
newValue
,
oldValue
)
{
if
(
newValue
.
length
!=
0
)
{
this
.
tableDatasf
.
data
=
newValue
}
},
deep
:
true
}
},
mounted
()
{
this
.
getList
()
},
methods
:
{
getList
()
{
let
bsmBusiness
=
this
.
$route
.
query
.
bsmBusiness
?
this
.
$route
.
query
.
bsmBusiness
:
window
.
currentSelect
.
bsmBusiness
getSfmxList
(
bsmBusiness
).
then
(
res
=>
{
this
.
tableData
.
data
=
res
.
result
initSfxx
(
'6a114807a2779413e0db955951ac3524'
).
then
(
res
=>
{
let
{
slsq
,
jfList
,
sfList
}
=
res
.
result
this
.
ruleForm
=
slsq
this
.
tableDatajf
.
data
=
jfList
this
.
tableDatasf
.
data
=
sfList
})
},
hanldeAdd
()
{
let
bsmBusiness
=
this
.
$route
.
query
.
bsmBusiness
?
this
.
$route
.
query
.
bsmBusiness
:
window
.
currentSelect
.
bsmBusiness
this
.
$popupDialog
(
'新增'
,
'workflow/main/sfxx/xzsf'
,
{
bsmBusiness
:
bsmBusiness
},
'50%'
,
true
)
},
handleDelete
(
row
)
{
let
that
=
this
this
.
$confirm
(
'此操作将永久删除该 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
deleteSfmx
(
row
.
bsmSf
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
that
.
$message
({
message
:
'删除成功!'
,
type
:
'success'
})
that
.
getList
()
}
else
{
that
.
$message
({
type
:
'info'
,
message
:
res
.
message
})
}
})
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消删除'
})
hanldeRecharge
()
{
recharge
(
'6a114807a2779413e0db955951ac3524'
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
tableDatasf
.
data
=
res
.
result
this
.
$message
({
message
:
'计费成功!'
,
type
:
'success'
})
}
})
},
hanldeEdit
()
{
this
.
$popupDialog
(
'编辑'
,
'workflow/main/sfxx/sfDetail'
,
{
bsmBusiness
:
this
.
bsmBusiness
,
dataList
:
_
.
cloneDeep
(
this
.
tableDatasf
.
data
)
},
'50%'
,
true
)
}
}
}
...
...
src/views/workflow/main/sfxx/sfDetail.vue
0 → 100644
View file @
62fc4b0
<
template
>
<div
class=
'sfDetail'
>
<lb-table
:column=
"column"
:pagination=
"false"
:key=
"key"
:data=
"formData.dataList"
>
</lb-table>
<div
class=
"text-center"
>
<el-button
@
click=
"$popupCacel"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit"
plain
>
保存
</el-button>
</div>
</div>
</
template
>
<
script
>
import
store
from
'@/store/index.js'
import
{
updateSfxx
}
from
"@/api/sfxx.js"
;
export
default
{
props
:
{
formData
:
{
type
:
Object
,
default
:
{}
}
},
data
()
{
return
{
key
:
0
,
column
:
[
{
prop
:
'sfdw'
,
label
:
'收费单位'
,
render
:
(
h
,
scope
)
=>
{
return
(
<
el
-
input
value
=
{
scope
.
row
[
scope
.
column
.
property
]}
onInput
=
{(
val
)
=>
{
scope
.
row
[
scope
.
column
.
property
]
=
val
}}
><
/el-input
>
)
}
},
{
prop
:
'sfry'
,
label
:
'收费人员'
,
render
:
(
h
,
scope
)
=>
{
return
(
<
el
-
input
value
=
{
scope
.
row
[
scope
.
column
.
property
]}
onInput
=
{(
val
)
=>
{
scope
.
row
[
scope
.
column
.
property
]
=
val
}}
><
/el-input
>
)
}
},
{
prop
:
'sfkmmc'
,
label
:
'收费科目名称'
,
render
:
(
h
,
scope
)
=>
{
return
(
<
el
-
input
value
=
{
scope
.
row
[
scope
.
column
.
property
]}
onInput
=
{(
val
)
=>
{
scope
.
row
[
scope
.
column
.
property
]
=
val
}}
><
/el-input
>
)
}
},
{
prop
:
'sjffr'
,
label
:
'实际付费人'
,
render
:
(
h
,
scope
)
=>
{
return
(
<
el
-
input
value
=
{
scope
.
row
[
scope
.
column
.
property
]}
onInput
=
{(
val
)
=>
{
scope
.
row
[
scope
.
column
.
property
]
=
val
}}
><
/el-input
>
)
}
},
{
prop
:
'ssje'
,
label
:
'实收金额'
,
render
:
(
h
,
scope
)
=>
{
return
(
<
el
-
input
value
=
{
scope
.
row
[
scope
.
column
.
property
]}
onInput
=
{(
val
)
=>
{
scope
.
row
[
scope
.
column
.
property
]
=
val
}}
><
/el-input
>
)
}
},
{
prop
:
'ysje'
,
label
:
'应收金额'
,
render
:
(
h
,
scope
)
=>
{
return
(
<
el
-
input
value
=
{
scope
.
row
[
scope
.
column
.
property
]}
onInput
=
{(
val
)
=>
{
scope
.
row
[
scope
.
column
.
property
]
=
val
}}
><
/el-input
>
)
}
}
]
}
},
methods
:
{
handleSubmit
()
{
this
.
formData
.
dataList
.
forEach
(
item
=>
{
item
.
bsmBusiness
=
this
.
formData
.
bsmBusiness
})
updateSfxx
(
this
.
formData
.
dataList
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
store
.
dispatch
(
"user/getPouopData"
,
res
.
result
);
this
.
$message
({
message
:
'修改成功!'
,
type
:
'success'
})
this
.
$popupCacel
()
}
})
}
}
}
</
script
>
<
style
scoped
lang=
'scss'
>
</
style
>
\ No newline at end of file
src/views/workflow/main/sfxx/xzsf.vue
deleted
100644 → 0
View file @
a2c4706
<
template
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"100px"
>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"收费单位"
prop=
"sfdw"
>
<el-input
v-model=
"ruleForm.sfdw"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"是否额外收费"
prop=
"sfewsf"
>
<el-radio-group
v-model=
"ruleForm.sfewsf"
>
<el-radio
:label=
"1"
>
是
</el-radio>
<el-radio
:label=
"0"
>
否
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"收费人员"
prop=
"sfry"
>
<el-input
v-model=
"ruleForm.sfry"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"实际付费人"
prop=
"sjffr"
>
<el-input
v-model=
"ruleForm.sjffr"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"实收金额"
prop=
"ssje"
>
<el-input
v-model=
"ruleForm.ssje"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"应收金额"
prop=
"ysje"
>
<el-input
v-model=
"ruleForm.ysje"
></el-input>
</el-form-item>
</el-col>
</el-row>
<div
style=
"text-align:center"
>
<el-button
@
click=
"$popupCacel"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm('ruleForm')"
>
新增
</el-button>
</div>
</el-form>
</
template
>
<
script
>
import
store
from
'@/store'
import
{
saveSfmx
}
from
"@/api/sfxx.js"
;
export
default
{
props
:
{
formData
:
{
type
:
Object
,
default
:
()
=>
{
return
{}
}
}
},
data
()
{
return
{
rules
:
{},
ruleForm
:
{
}
}
},
methods
:
{
submitForm
()
{
store
.
dispatch
(
'user/reWorkFresh'
,
false
)
saveSfmx
({
...
this
.
ruleForm
,
bsmBusiness
:
this
.
formData
.
bsmBusiness
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
'保存成功'
);
//刷新列表
this
.
$popupCacel
()
store
.
dispatch
(
"user/reWorkFresh"
,
true
);
}
})
}
}
}
</
script
>
<
style
scoped
lang=
'scss'
>
@import
"~@/styles/public.scss"
;
</
style
>
\ No newline at end of file
Please
register
or
sign in
to post a comment