Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
B
bims
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
孙海亮
bims
Commits
0bef4630
Commit
0bef4630
authored
Mar 31, 2022
by
朱彩云
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'test' into 'master'
ECCS-1459完成 See merge request
!3
parents
0f4a59df
830dd7aa
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
247 additions
and
110 deletions
+247
-110
welfare.js
src/api/apis_moudles/welfare.js
+2
-1
welfare.js
src/api/funcs_modules/welfare.js
+6
-0
login_bg.jpg
src/assets/image/login_bg.jpg
+0
-0
login_bg.png
src/assets/image/login_bg.png
+0
-0
index.vue
src/views/author/index.vue
+1
-1
detail.vue
src/views/charge-query/detail.vue
+2
-1
lpjManageDetail.vue
src/views/charge-query/lpjManageDetail.vue
+1
-1
index.vue
src/views/customer/edit/index.vue
+8
-23
index.vue
src/views/customer/info/index.vue
+25
-5
company.vue
src/views/info/company.vue
+16
-16
companyInfo.vue
src/views/info/components/companyInfo.vue
+8
-1
infoDoctor.vue
src/views/info/components/infoDoctor.vue
+37
-13
index.vue
src/views/info/index.vue
+3
-3
index.vue
src/views/welfare/edit/components/benefits/index.vue
+19
-7
index.vue
src/views/welfare/edit/components/condition/index.vue
+8
-8
index.vue
src/views/welfare/info/components/benefits/index.vue
+69
-11
index.vue
src/views/welfare/info/components/condition/index.vue
+8
-7
index.vue
src/views/welfare/info/components/coverages/index.vue
+33
-12
index.vue
src/views/welfare/info/index.vue
+1
-0
No files found.
src/api/apis_moudles/welfare.js
View file @
0bef4630
...
...
@@ -11,9 +11,10 @@ export default {
conditionList
:
"
/backstage/auth/conditionList
"
,
addCondition
:
"
/backstage/auth/conditionCreate
"
,
editCondition
:
"
/backstage/auth/conditionEdit
"
,
benefitList
:
"
/backstage/auth/benefitList
"
,
benefitList
:
"
/backstage/auth/benefitList
Show
"
,
addBenefit
:
"
/backstage/auth/createBenefit
"
,
editBenefit
:
"
/backstage/auth/benefitEdit
"
,
getFrequencyCode
:
"
/backstage/auth/frequencyList
"
,
getLimitCode
:
"
/backstage/auth/limitList
"
,
remainingQuotaSet
:
"
/backstage/auth/remainingQuotaSet
"
// 修改剩余金额
};
src/api/funcs_modules/welfare.js
View file @
0bef4630
...
...
@@ -66,6 +66,11 @@ const GETLIMITCODE = (data) => {
return
req
.
post
(
apis
.
getLimitCode
,
data
);
};
// 修改剩余金额
const
SETREMAININGQUOTA
=
(
data
)
=>
{
return
req
.
post
(
apis
.
remainingQuotaSet
,
data
);
};
// 对象数组
export
default
{
GETBENEGITTYPE
,
...
...
@@ -84,4 +89,5 @@ export default {
EDITCOVERAGEDATA
,
GETFREQUENCYCODE
,
GETLIMITCODE
,
SETREMAININGQUOTA
};
src/assets/image/login_bg.jpg
0 → 100644
View file @
0bef4630
55.9 KB
src/assets/image/login_bg.png
deleted
100644 → 0
View file @
0f4a59df
This diff is collapsed.
Click to expand it.
src/views/author/index.vue
View file @
0bef4630
...
...
@@ -24,7 +24,7 @@ export default {
justify-content: center;
align-items: center;
min-height: 100vh;
background: url("../../assets/image/login_bg.
pn
g") center center no-repeat;
background: url("../../assets/image/login_bg.
jp
g") center center no-repeat;
background-size: 100% 100%;
.title {
.fs(90);
...
...
src/views/charge-query/detail.vue
View file @
0bef4630
...
...
@@ -327,7 +327,8 @@ export default {
},
// 重置
handlerReset
()
{
this
.
form
=
{};
const
{
patientNo
,
patientName
}
=
this
.
form
;
this
.
form
=
{
patientNo
,
patientName
};
},
editEvt
(
record
)
{
this
.
editFormObj
=
{
...
...
src/views/charge-query/lpjManageDetail.vue
View file @
0bef4630
...
...
@@ -168,7 +168,7 @@ export default {
{
title
:
"
应收金额
"
,
dataIndex
:
"
chargeAmount
"
,
width
:
100
,
align
:
'
center
'
},
{
title
:
"
折扣金额
"
,
dataIndex
:
"
discountAmount
"
,
width
:
100
,
align
:
'
center
'
},
{
title
:
"
减免金额
"
,
dataIndex
:
"
discountAmount2
"
,
width
:
100
,
align
:
'
center
'
},
{
title
:
"
客户自
负
"
,
dataIndex
:
"
paidAmount
"
,
width
:
100
,
align
:
'
center
'
},
{
title
:
"
客户自
付
"
,
dataIndex
:
"
paidAmount
"
,
width
:
100
,
align
:
'
center
'
},
{
title
:
"
理赔金额
"
,
dataIndex
:
"
paidamount
"
,
width
:
100
,
align
:
'
center
'
},
// { title: "操作", key: "operation", width: "175px",fixed: "right",scopedSlots: { customRender: "operation" }},
];
...
...
src/views/customer/edit/index.vue
View file @
0bef4630
...
...
@@ -283,6 +283,14 @@ export default {
this
.
$apis
.
GETCUSTOMERDETAIL
(
data
).
then
((
res
)
=>
{
if
(
res
.
returnCode
===
"
0000
"
)
{
let
data
=
res
.
content
||
{};
// type === '2'说明是新增保单,需要把客户信息清空
if
(
type
===
'
2
'
)
{
const
{
mrnNo
,
idNo
,
patientName
,
birthday
,
sex
,
id
}
=
data
this
.
form
=
{
...
this
.
form
,
mrnNo
,
idNo
,
patientName
,
birthday
,
sex
,
id
}
this
.
medCardCopeFiles
=
[];
this
.
idCardCopeFiles
=
[];
return
true
}
this
.
_getCorporateCode
(
data
.
payorId
);
this
.
_getPlanCode
(
data
.
corpId
);
const
medCardCopeFiles
=
data
.
medCardCopeFiles
||
[];
...
...
@@ -301,29 +309,6 @@ export default {
name
:
item
.
fileName
,
})
})
// type === '2'说明是新增保单,需要把客户信息清空
if
(
type
===
'
2
'
)
{
data
=
{
...
data
,
payorId
:
undefined
,
corpName
:
''
,
idType
:
undefined
,
policyNo
:
''
,
firstEnrollmentTime
:
''
,
startDate
:
''
,
cardNo
:
''
,
policyDircetArea
:
undefined
,
waitingPeriod
:
'
N
'
,
isUndertakeAnamnesis
:
"
N
"
,
endDate
:
''
,
planName
:
undefined
,
remark
:
''
,
medCardCopeFiles
:
[],
idCardCopeFiles
:
[],
// 身份证复印件
}
this
.
medCardCopeFiles
=
[];
this
.
idCardCopeFiles
=
[];
}
this
.
form
=
data
;
}
// this.dataList = (res.content && res.content.list) || [];
...
...
src/views/customer/info/index.vue
View file @
0bef4630
...
...
@@ -56,7 +56,7 @@
<span>
{{
text
|
formatSex
}}
</span>
</
template
>
<
template
slot=
"operation"
slot-scope=
"record"
>
<a-button
type=
"link"
@
click.stop=
"changeDataStatus(record)"
>
修改
</a-button>
<a-button
type=
"link"
v-if=
"!record.isExpired"
@
click.stop=
"changeDataStatus(record)"
>
修改
</a-button>
<a-button
type=
"link"
@
click.stop=
"printClaimPdf(record)"
>
打印理赔申请书
</a-button>
<a-button
type=
"link"
@
click.stop=
"changeDataStatus(record, '2')"
>
新增保单
</a-button>
<!--
<a-button
type=
"link"
class=
"success"
>
新增
</a-button>
-->
...
...
@@ -86,9 +86,21 @@ export default {
{
title
:
"
出生日期
"
,
dataIndex
:
"
birthday
"
,
width
:
170
,
customRender
:
dateFormat
},
{
title
:
"
性别
"
,
dataIndex
:
"
sex
"
,
width
:
80
,
scopedSlots
:
{
customRender
:
"
sex
"
}
},
{
title
:
"
保险公司
"
,
dataIndex
:
"
payorName
"
,
width
:
180
},
{
title
:
"
保单号码
"
,
dataIndex
:
"
policyNo
"
,
width
:
190
},
{
title
:
"
保单生效日期
"
,
dataIndex
:
"
startDate
"
,
width
:
170
,
customRender
:
dateFormat
},
{
title
:
"
保单终止日期
"
,
dataIndex
:
"
endDate
"
,
width
:
170
,
customRender
:
dateFormat
},
{
title
:
"
保险卡号
"
,
dataIndex
:
"
cardNo
"
,
width
:
190
},
{
title
:
"
保单生效日期
"
,
dataIndex
:
"
startDate
"
,
width
:
170
,
customRender
:
(
val
,
row
)
=>
{
const
formatDate
=
dateFormat
(
val
)
if
(
row
.
isExpired
)
{
return
<
span
class
=
"
red-text
"
>
{
formatDate
}
<
/span
>
}
return
formatDate
;
}},
{
title
:
"
保单终止日期
"
,
dataIndex
:
"
endDate
"
,
width
:
170
,
customRender
:
(
val
,
row
)
=>
{
const
formatDate
=
dateFormat
(
val
)
if
(
row
.
isExpired
)
{
return
<
span
class
=
"
red-text
"
>
{
formatDate
}
<
/span
>
}
return
formatDate
;
}},
{
title
:
"
操作
"
,
key
:
"
operation
"
,
width
:
"
270px
"
,
fixed
:
"
right
"
,
scopedSlots
:
{
customRender
:
"
operation
"
},
align
:
'
center
'
},
];
return
{
...
...
@@ -198,8 +210,13 @@ export default {
...
this
.
pager
,
};
this
.
$apis
.
GETCUSTOMERLIST
(
data
).
then
((
res
)
=>
{
this
.
dataList
=
(
res
.
content
&&
res
.
content
.
list
)
||
[];
this
.
pager
.
total
=
(
res
.
content
&&
res
.
content
.
total
)
||
0
;
const
data
=
(
res
.
content
&&
res
.
content
.
list
)
||
[];
data
.
forEach
(
item
=>
{
item
.
isExpired
=
moment
(
item
.
endDate
).
valueOf
()
<
moment
(
new
Date
()).
valueOf
()
});
console
.
log
(
data
)
this
.
dataList
=
data
;
});
},
},
...
...
@@ -215,4 +232,7 @@ export default {
.ant-btn .icon-class {
.mg-r(10);
}
.red-text{
color: red;
}
</
style
>
src/views/info/company.vue
View file @
0bef4630
...
...
@@ -5,16 +5,11 @@
<a-button
type=
"primary"
@
click.stop=
"addCompany"
>
新建保险公司
</a-button>
</div>
<a-table
:columns=
"columns"
:data-source=
"dataList"
:scroll=
"
{ x: 'max-content' }" :pagination="false">
<div
v-for=
"col in columns"
:slot=
"col.dataIndex"
slot-scope=
"text, record, index"
:key=
"col.dataIndex"
>
<template
v-if=
"col.dataIndex == 'operation'"
>
<template
slot=
'operation'
slot-scope=
"record"
>
<a-button
type=
"link"
@
click.stop=
"editEvt(record)"
>
修改
</a-button>
<a-button
type=
"link"
class=
"success"
@
click.stop=
"detailEvt(record)"
>
查看
</a-button>
<a-button
type=
"link"
class=
"danger"
@
click.stop=
"delRecord(index)"
>
删除
</a-button>
</
template
>
<
template
v-else
>
<span>
{{
text
}}
</span>
</
template
>
</div>
</a-table>
<!--分页-->
<BurtPagination
:pagination=
"pagination"
@
pageChange=
"getData"
/>
...
...
@@ -62,18 +57,23 @@
<
script
>
import
BurtPagination
from
"
@/components/CUSTOMER/pagation
"
;
const
columns
=
[
{
title
:
"
序号
"
,
dataIndex
:
"
id
"
,
width
:
120
},
{
title
:
"
保险公司名称
"
,
dataIndex
:
"
longName
"
,
ellipsis
:
true
,
scopedSlots
:
{
customRender
:
"
longName
"
},
width
:
130
},
{
title
:
"
保险公司英文名
"
,
dataIndex
:
"
englishName
"
,
ellipsis
:
true
,
scopedSlots
:
{
customRender
:
"
englishName
"
},
width
:
105
},
{
title
:
"
联系电话
"
,
dataIndex
:
"
contactPhone
"
,
scopedSlots
:
{
customRender
:
"
contactPhone
"
},
width
:
125
},
{
title
:
"
联系地址
"
,
dataIndex
:
"
address
"
,
ellipsis
:
true
,
scopedSlots
:
{
customRender
:
"
address
"
},
width
:
180
},
{
title
:
"
Protal链接
"
,
dataIndex
:
"
portalUrl
"
,
ellipsis
:
true
,
scopedSlots
:
{
customRender
:
"
portalUrl
"
},
width
:
155
},
{
title
:
"
联系人
"
,
dataIndex
:
"
contactPerson
"
,
ellipsis
:
true
,
scopedSlots
:
{
customRender
:
"
contactPerson
"
},
width
:
100
},
{
title
:
"
操作
"
,
dataIndex
:
"
operation
"
,
scopedSlots
:
{
customRender
:
"
operation
"
},
fixed
:
"
right
"
,
width
:
"
200px
"
,
align
:
"
center
"
},
];
export
default
{
data
()
{
const
columns
=
[
{
title
:
"
序号
"
,
dataIndex
:
"
id
"
,
width
:
120
},
{
title
:
"
保险公司名称
"
,
dataIndex
:
"
longName
"
,
ellipsis
:
true
,
width
:
130
},
{
title
:
"
保险公司英文名
"
,
dataIndex
:
"
englishName
"
,
ellipsis
:
true
,
width
:
105
},
{
title
:
"
联系电话
"
,
dataIndex
:
"
contactPhone
"
,
width
:
125
,
customRender
:
(
val
)
=>
{
const
valArr
=
val
&&
val
.
split
(
/,|
\n
/ig
)
||
[];
const
valStr
=
valArr
.
join
(
'
<br />
'
)
return
<
span
domPropsInnerHTML
=
{
valStr
}
><
/span
>
}},
{
title
:
"
联系地址
"
,
dataIndex
:
"
address
"
,
ellipsis
:
true
,
width
:
180
},
{
title
:
"
Protal链接
"
,
dataIndex
:
"
portalUrl
"
,
ellipsis
:
true
,
width
:
155
},
{
title
:
"
联系人
"
,
dataIndex
:
"
contactPerson
"
,
ellipsis
:
true
,
width
:
100
},
{
title
:
"
操作
"
,
dataIndex
:
"
operation
"
,
scopedSlots
:
{
customRender
:
"
operation
"
},
fixed
:
"
right
"
,
width
:
"
200px
"
,
align
:
"
center
"
},
];
return
{
dialogShow
:
false
,
columns
,
...
...
src/views/info/components/companyInfo.vue
View file @
0bef4630
...
...
@@ -106,9 +106,16 @@
</a-col>
<a-col
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"密码"
>
<a-input
type=
"password"
v-model=
"detailObj.loginPwd"
placeholder=
"密码"
/>
<a-input
-password
type=
"password"
v-model=
"detailObj.loginPwd"
placeholder=
"密码"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"备注"
>
<a-textarea
type=
"password"
v-model=
"detailObj.remark"
max-length=
"500"
:auto-size=
"
{minRows: 3}" />
</a-form-model-item>
</a-col>
</a-row>
<a-row
:gutter=
"30"
>
<a-col
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"理赔申请书模板"
>
<a-upload
name=
"file"
:multiple=
"false"
accept=
"application/pdf"
:showUploadList=
"true"
...
...
src/views/info/components/infoDoctor.vue
View file @
0bef4630
<
template
>
<div
class=
"info-doctor"
>
<div
class=
"mar-bottom10"
>
<a-button
type=
"primary"
@
click=
"editEvt(
{})">
<Icon
name=
"ssiadd"
:size=
"14"
/>
新建医生
</a-button>
</div>
<a-table
:columns=
"columns"
:data-source=
"dataList"
:scroll=
"
{ x: 'max-content' }" :pagination="false">
<template
slot=
"specialtyList"
slot-scope=
"text, record"
>
<span>
{{
filterSpecialty
(
record
.
specialtyList
)
}}
</span>
...
...
@@ -52,6 +57,13 @@
</a-select>
</a-form-model-item>
</a-col>
<a-col
:lg=
"12"
:sm=
"24"
>
<a-form-model-item
label=
"状态"
prop=
"jobStatus"
>
<a-select
v-model=
"editFormObj.jobStatus"
placeholder=
"请选择"
showSearch
allowClear
>
<a-select-option
:value=
"item.code"
v-for=
"item in jobStatusCode"
:key=
"item.code"
>
{{ item.name }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
</a-modal>
...
...
@@ -60,16 +72,6 @@
<
script
>
import
BurtPagination
from
"
@/components/CUSTOMER/pagation
"
;
const
columns
=
[
{
title
:
"
序号
"
,
dataIndex
:
"
id
"
,
ellipsis
:
true
,
width
:
150
},
{
title
:
"
工号
"
,
dataIndex
:
"
doctorCode
"
,
ellipsis
:
true
,
width
:
95
},
{
title
:
"
医生姓名
"
,
dataIndex
:
"
doctorDesc
"
,
ellipsis
:
true
,
width
:
125
},
{
title
:
"
医生英文名
"
,
dataIndex
:
"
doctorDescLang1
"
,
ellipsis
:
true
,
width
:
135
,},
{
title
:
"
科室
"
,
dataIndex
:
"
specialtyList
"
,
ellipsis
:
true
,
scopedSlots
:
{
customRender
:
"
specialtyList
"
},
width
:
155
,},
{
title
:
"
国家/区域
"
,
dataIndex
:
"
country
"
,
ellipsis
:
true
,
width
:
110
,
},
{
title
:
"
语言
"
,
dataIndex
:
"
language
"
,
ellipsis
:
true
,
width
:
120
},
{
title
:
"
操作
"
,
dataIndex
:
"
operation
"
,
scopedSlots
:
{
customRender
:
"
operation
"
},
fixed
:
"
right
"
,
width
:
"
200px
"
,
align
:
"
center
"
,
},
];
export
default
{
props
:
{
detailObj
:
{
...
...
@@ -77,6 +79,24 @@ export default{
}
},
data
(){
const
columns
=
[
{
title
:
"
序号
"
,
dataIndex
:
"
id
"
,
ellipsis
:
true
,
width
:
150
},
{
title
:
"
工号
"
,
dataIndex
:
"
doctorCode
"
,
ellipsis
:
true
,
width
:
95
},
{
title
:
"
医生姓名
"
,
dataIndex
:
"
doctorDesc
"
,
ellipsis
:
true
,
width
:
125
},
{
title
:
"
医生英文名
"
,
dataIndex
:
"
doctorDescLang1
"
,
ellipsis
:
true
,
width
:
135
,},
{
title
:
"
科室
"
,
dataIndex
:
"
specialtyList
"
,
ellipsis
:
true
,
scopedSlots
:
{
customRender
:
"
specialtyList
"
},
width
:
180
,},
{
title
:
"
国家/区域
"
,
dataIndex
:
"
country
"
,
ellipsis
:
true
,
width
:
110
,
},
{
title
:
"
语言
"
,
dataIndex
:
"
language
"
,
ellipsis
:
true
,
width
:
120
},
{
title
:
"
状态
"
,
dataIndex
:
"
jobStatus
"
,
ellipsis
:
true
,
width
:
120
,
customRender
:
(
val
)
=>
{
for
(
let
i
=
0
;
i
<
this
.
jobStatusCode
.
length
;
i
++
)
{
if
(
this
.
jobStatusCode
[
i
].
code
===
val
)
{
return
this
.
jobStatusCode
[
i
].
name
}
}
return
val
}},
{
title
:
"
操作
"
,
dataIndex
:
"
operation
"
,
scopedSlots
:
{
customRender
:
"
operation
"
},
fixed
:
"
right
"
,
width
:
"
200px
"
,
align
:
"
center
"
,
},
];
return
{
dialogShow
:
false
,
columns
,
...
...
@@ -104,6 +124,10 @@ export default{
{
required
:
true
,
message
:
"
请选择
"
,
trigger
:
"
change
"
},
],
},
jobStatusCode
:
[
{
code
:
'
01
'
,
name
:
'
在职
'
},
{
code
:
'
02
'
,
name
:
'
离职
'
}
]
}
},
components
:
{
...
...
@@ -180,7 +204,7 @@ export default{
},
editEvt
(
record
)
{
this
.
editFormObj
=
{
id
:
record
.
id
||
""
,
id
:
record
.
id
||
undefined
,
doctorCode
:
record
.
doctorCode
||
""
,
doctorDesc
:
record
.
doctorDesc
||
""
,
doctorDescLang1
:
record
.
doctorDescLang1
||
""
,
...
...
@@ -194,8 +218,8 @@ export default{
handleEditOK
()
{
this
.
$refs
.
editForm
.
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
$apis
.
DOCTORUPDATE
({
const
fn
=
this
.
editFormObj
.
id
?
this
.
$apis
.
DOCTORUPDATE
:
this
.
$apis
.
DOCTORCREATE
fn
({
...
this
.
editFormObj
,
language
:
this
.
editFormObj
.
language
.
join
(
'
,
'
),
specialtyList
:
this
.
editFormObj
.
specialtyList
.
map
((
item
)
=>
{
...
...
src/views/info/index.vue
View file @
0bef4630
...
...
@@ -69,17 +69,17 @@
</a-col>
<a-col
:lg=
"8"
:sm=
"12"
>
<a-form-model-item
label=
"Bank Name 银行名称"
>
<a-input
v-model=
"detailObj.bankAddrEng"
type=
"number"
placeholder=
"Bank Name 银行名称"
/>
<a-input
v-model=
"detailObj.bankAddrEng"
placeholder=
"Bank Name 银行名称"
/>
</a-form-model-item>
</a-col>
<a-col
:sm=
"12"
>
<a-form-model-item
label=
"Bank Address 银行地址"
>
<a-input
v-model=
"detailObj.bankAddr"
type=
"number"
placeholder=
"Bank Address 银行地址"
/>
<a-input
v-model=
"detailObj.bankAddr"
placeholder=
"Bank Address 银行地址"
/>
</a-form-model-item>
</a-col>
<a-col
:sm=
"12"
>
<a-form-model-item
label=
"Swift Code 国际电汇代码"
>
<a-input
v-model=
"detailObj.telegraphicTransferCode"
type=
"number"
placeholder=
"Swift Code 国际电汇代码"
/>
<a-input
v-model=
"detailObj.telegraphicTransferCode"
placeholder=
"Swift Code 国际电汇代码"
/>
</a-form-model-item>
</a-col>
<a-col
:sm=
"24"
class=
"none-label"
>
...
...
src/views/welfare/edit/components/benefits/index.vue
View file @
0bef4630
...
...
@@ -61,7 +61,7 @@
</a-col>
<a-col
:md=
"12"
>
<a-form-model-item
label=
"福利项目"
prop=
"benefitCode"
>
<a-select
v-model=
"editForm.benefitCode"
show-search
allow-clear
:filterOption=
"filterCode"
>
<a-select
v-model=
"editForm.benefitCode"
show-search
allow-clear
:filterOption=
"filterCode"
:mode=
"editForm.id ? '' : multiple"
>
<a-select-option
v-for=
"item in benefitCode"
:key=
"item.benefitCode + item.description"
:value=
"item.benefitCode"
>
{{ item.description }}
</a-select-option>
...
...
@@ -93,7 +93,7 @@
</a-input-number>
</a-form-model-item>
</a-col>
<a-col
:md=
"12"
>
<
!-- <
a-col :md="12">
<a-form-model-item label="英文描述">
<a-input v-model="editForm.englishDesc"></a-input>
</a-form-model-item>
...
...
@@ -102,7 +102,7 @@
<a-form-model-item label="描述">
<a-input v-model="editForm.loaDesc"> </a-input>
</a-form-model-item>
</a-col>
</a-col>
-->
<!-- <a-col :md="12">
<a-form-model-item label="状态">
<a-select
...
...
@@ -164,12 +164,12 @@ export default {
return val && moment(val).format('YYYY-MM-DD')
} */
const
columns
=
[
{
title
:
"
责任项目明细
"
,
dataIndex
:
"
benefitDesc
"
},
{
title
:
"
责任项目明细
"
,
dataIndex
:
"
benefitDesc
"
,
width
:
300
},
// { title: "预授权申请", dataIndex: "index" },
// { title: "开始日期", dataIndex: "startDate", customRender: dateFormat },
// { title: "结束日期", dataIndex: "endDate", customRender: dateFormat },
{
title
:
"
更新日期
"
,
dataIndex
:
"
modifierDate
"
,
width
:
180
},
{
title
:
"
备注
"
,
dataIndex
:
"
remarks
"
,
width
:
180
},
{
title
:
"
备注
"
,
dataIndex
:
"
remarks
"
},
{
title
:
"
操作
"
,
key
:
"
operation
"
,
...
...
@@ -184,7 +184,9 @@ export default {
isBenefitEditShow
:
false
,
benefitData
:
[],
benefitCode
:
[],
editForm
:
{},
editForm
:
{
benefitCode
:
[]
},
editRule
:
{
benefitCode
:
[{
required
:
true
,
message
:
"
请选择福利项
"
}],
// startDate: [{ required: true, message: "请选择开始时间" }],
...
...
@@ -211,12 +213,15 @@ export default {
corpCode
:
this
.
formData
.
corpCode
,
planCode
:
this
.
formData
.
planCode
,
coverageCode
:
this
.
formData
.
coverageCode
,
benefitCode
:
''
,
isDirect
:
"
N
"
,
status
:
"
1
"
,
};
this
.
_getBenefitCode
();
this
.
editForm
=
this
.
$lodash
.
cloneDeep
(
data
);
this
.
editForm
.
benefitCode
=
this
.
editForm
.
benefitCode
?
this
.
editForm
.
benefitCode
.
split
(
'
,
'
)
:
this
.
editForm
.
benefitCode
this
.
isBenefitEditShow
=
true
;
console
.
log
(
this
.
editForm
)
},
cancel
()
{
this
.
$refs
.
editForm
.
resetFields
();
...
...
@@ -233,7 +238,14 @@ export default {
if
(
!
valid
)
{
return
false
;
}
this
.
_editBenefitData
(
this
.
editForm
);
// 编辑的时候benefit是单选操作的是String类型 新增的时候为多选 Array类型
const
{
id
,
benefitCode
}
=
this
.
editForm
const
data
=
{
...
this
.
editForm
,
benefitCode
:
id
||
id
===
0
?
benefitCode
:
benefitCode
.
join
(
'
,
'
)
}
this
.
_editBenefitData
(
data
);
});
},
_editBenefitData
(
data
)
{
...
...
src/views/welfare/edit/components/condition/index.vue
View file @
0bef4630
...
...
@@ -122,14 +122,14 @@ export default {
const
columns
=
[
{
title
:
"
条件类型
"
,
dataIndex
:
"
frequencyDesc
"
},
{
title
:
"
条件内容
"
,
dataIndex
:
"
limitDesc
"
},
{
title
:
"
状态
"
,
dataIndex
:
"
status
"
,
customRender
:
(
val
)
=>
{
for
(
let
i
=
0
;
i
<
this
.
statusCode
.
length
;
i
++
)
{
if
(
val
===
this
.
statusCode
[
i
].
code
)
{
return
this
.
statusCode
[
i
].
name
}
}
return
val
;
}
},
//
{ title: "状态", dataIndex: "status", customRender: (val) => {
//
for(let i = 0; i
<
this
.
statusCode
.
length
;
i
++
)
{
//
if (val === this.statusCode[i].code) {
//
return this.statusCode[i].name
//
}
//
}
//
return val;
//
} },
// { title: "限额或限次", dataIndex: "index" },
{
title
:
"
福利限制
"
,
dataIndex
:
"
maxValue
"
,
customRender
:
(
val
,
row
)
=>
{
if
(
row
.
limitCode
.
indexOf
(
'
07
'
)
===
0
)
{
...
...
src/views/welfare/info/components/benefits/index.vue
View file @
0bef4630
...
...
@@ -25,24 +25,43 @@
</a-table>
</div>
</div>
-->
<a-collapse
v-model=
"activeKeys"
expand-icon-position=
"right"
:bordered=
"false"
>
<
!-- <
a-collapse v-model="activeKeys" expand-icon-position="right" :bordered="false">
<a-collapse-panel v-for="item in benefitData" :key="item.benefitCode" :header="item.benefitCode + ' ' +item.benefitDesc">
<div>
<a-row class="policy_line" :gutter="10">
<a-col :span="6">事先授权:</a-col>
<a-col :span="6">等待期:{{ item.waitingPeriod }}</a-col>
<
!-- <
a-col :span="6">年限额:</a-col>
<a-col :span="6">赔付比例:</a-col>
-->
<a-col :span="6">年限额:</a-col>
<a-col :span="6">赔付比例:</a-col>
</a-row>
</div>
<condition :formData="{ ...item, conditionType: '01' }" />
</a-collapse-panel>
</a-collapse>
</a-collapse> -->
<a-row
v-for=
"(item, index) in benefitData"
:key=
"item.benefitCode"
class=
"policy_line"
:gutter=
"10"
>
<a-col
:span=
"12"
>
{{item.benefitCode + ' ' +item.benefitDesc}}
</a-col>
<a-col
:span=
"12"
class=
"border-r"
>
<a-row
:gutter=
"10"
>
<a-col
:span=
"12"
>
{{item.benefitConditionDesc}}
</a-col>
<a-col
:span=
"12"
class=
"border-r"
v-if=
"item.remainingQuota || item.remainingQuota === 0"
>
<a-row
v-if=
"item.isEditRemainingQuota"
>
<a-col
:span=
"14"
>
<a-input
v-model=
"remainingQuotaForm[item.benefitCode]"
placeholder=
"请输入剩余金额"
></a-input>
</a-col>
<a-col
:span=
"10"
>
<a-button
type=
"link"
@
click=
"saveRemainingQuota(item, index)"
>
保存
</a-button>
<a-button
type=
"link"
@
click=
"editRemainingQuota(item, index)"
>
取消
</a-button>
</a-col>
</a-row>
<p
v-else
@
dblclick=
"editRemainingQuota(item, index)"
title=
"双击可编辑剩余金额"
>
剩余{{item.remainingQuota}}元
</p>
</a-col>
</a-row>
</a-col>
</a-row>
</div>
</template>
<
script
>
import
condition
from
"
../condition
"
;
export
default
{
props
:
{
...
...
@@ -52,21 +71,56 @@ export default {
},
},
components
:
{
condition
,
},
data
()
{
return
{
benefitData
:
[],
activeKeys
:
""
,
remainingQuotaForm
:
{}
};
},
mounted
()
{
this
.
_getBenefitData
();
},
methods
:
{
// 编辑剩余金额的打开与取消
editRemainingQuota
(
data
,
index
)
{
const
val
=
data
.
isEditRemainingQuota
if
(
!
val
)
{
this
.
remainingQuotaForm
[
data
.
benefitCode
]
=
data
.
remainingQuota
;
}
this
.
$set
(
this
.
benefitData
[
index
],
'
isEditRemainingQuota
'
,
!
val
)
},
// 剩余金额保存
saveRemainingQuota
(
data
,
index
)
{
const
{
benefitCode
,
corpCode
,
coverageCode
,
patientId
,
payorCode
,
planCode
}
=
data
;
const
remainingQuota
=
this
.
remainingQuotaForm
[
benefitCode
]
if
(
!
remainingQuota
)
{
this
.
$message
.
error
(
'
剩余金额不能为空
'
)
return
false
;
}
if
(
!
/^
\d
+$|^
\d
*
\.\d
+$/g
.
test
(
remainingQuota
))
{
this
.
$message
.
error
(
'
剩余金额应该为数字
'
)
return
false
;
}
const
params
=
{
benefitCode
,
corpCode
,
coverageCode
,
patientId
,
payorCode
,
planCode
,
remainingQuota
,
quotaType
:
'
01
'
// 额度类型(01:福利额度 02:责任额度 03:计划额度)
}
this
.
$apis
.
SETREMAININGQUOTA
(
params
).
then
(
res
=>
{
if
(
res
.
returnCode
===
'
0000
'
)
{
this
.
$message
.
success
(
res
.
returnMsg
||
'
保存成功
'
)
this
.
editRemainingQuota
(
data
,
index
)
// 转换编辑状态
this
.
benefitData
[
index
].
remainingQuota
=
remainingQuota
// 直接赋值, 就不请求数据初始化了
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
||
'
保存失败
'
)
}
})
},
_getBenefitData
()
{
const
{
corpCode
,
coverageCode
,
payorCode
,
planCode
}
=
this
.
formData
;
const
data
=
{
corpCode
,
coverageCode
,
payorCode
,
planCode
};
const
data
=
{
corpCode
,
coverageCode
,
payorCode
,
planCode
,
patientId
:
this
.
formData
.
id
};
this
.
$apis
.
GETBENEFITLIST
(
data
).
then
((
res
)
=>
{
this
.
benefitData
=
res
.
content
||
[];
});
...
...
@@ -77,7 +131,7 @@ export default {
<
style
lang=
"less"
scoped
>
.benefits {
.pa(0,
20, 10, 2
0);
.pa(0,
0, 10,
0);
background-color: #fff;
.save-btn {
.mg-t(20);
...
...
@@ -88,10 +142,14 @@ export default {
}
}
.policy_line {
display: flex;
align-items: center;
.pa(0, 30, 0, 30);
line
-height: 60px;
// &:not(:last-child) {
min
-height: 60px;
line-height: 1.5;
border-bottom: 1px solid #f8fafb;
// }
.border-r{
border-right: 1px solid #f8fafb;
}
}
</
style
>
src/views/welfare/info/components/condition/index.vue
View file @
0bef4630
...
...
@@ -24,13 +24,14 @@ export default {
{
title
:
"
条件类型
"
,
dataIndex
:
"
frequencyDesc
"
},
{
title
:
"
条件内容
"
,
dataIndex
:
"
limitDesc
"
},
// { title: "最小值", dataIndex: "minValue" },
{
title
:
"
福利限制
"
,
dataIndex
:
"
maxValue
"
,
customRender
:
(
val
,
row
)
=>
{
if
(
row
.
limitCode
.
indexOf
(
'
07
'
)
===
0
)
{
return
val
+
'
%
'
}
return
val
}},
{
title
:
"
剩余金额
"
,
dataIndex
:
"
leftValue
"
}
// { title: "福利限制", dataIndex: "maxValue", customRender: (val, row) => {
// if (row.limitCode.indexOf('07') === 0) {
// return val + '%'
// }
// return val
// }},
{
title
:
"
剩余金额
"
,
dataIndex
:
"
leftValue
"
},
{
title
:
"
备注
"
,
dataIndex
:
"
remark
"
}
];
return
{
columns
,
...
...
src/views/welfare/info/components/coverages/index.vue
View file @
0bef4630
...
...
@@ -2,12 +2,14 @@
<div>
<!-- 分类 -->
<div
class=
"classify clearfix"
>
<a-button
@
click=
"specialtyChange('')"
:type=
"!type ? 'primary' : ''"
>
全部
</a-button>
<a-button
@
click=
"specialtyChange(item.specialtyCode)"
:type=
"item.specialtyCode === type ? 'primary' : ''"
v-for=
"item in welfareType"
:key=
"item.specialtyCode"
>
{{
item
.
specialtyDesc
}}
</a-button>
<div
class=
"classify-btns"
>
<a-button
@
click=
"specialtyChange(null)"
:type=
"!type || !type.length ? 'primary' : ''"
>
全部
</a-button>
<a-button
@
click=
"specialtyChange(item.specialtyCode)"
:type=
"type.indexOf(item.specialtyCode) > -1 ? 'primary' : ''"
v-for=
"item in welfareType"
:key=
"item.specialtyCode"
>
{{
item
.
specialtyDesc
}}
</a-button>
</div>
<div
class=
"save-btn"
>
<!--
<a-button
type=
"primary"
@
click=
"addNew"
>
<Icon
name=
"ssiadd"
:size=
"14"
/>
新增
...
...
@@ -29,7 +31,7 @@
<a-col
:span=
"6"
>
赔付比例:
</a-col>
</a-row>
</div>
<condition
:formData=
"
{ ...item, conditionType: '02' }" />
<condition
class=
"conditions"
:formData=
"
{ ...item, conditionType: '02' }" />
<benefits
:formData=
"item"
/>
</a-collapse-panel>
</a-collapse>
...
...
@@ -56,7 +58,7 @@ export default {
activeKeys
:
""
,
coverageData
:
[],
expandedRowKeys
:
[],
type
:
""
,
type
:
[]
,
welfareType
:
[],
pager
:
{
pageNum
:
1
,
...
...
@@ -80,7 +82,7 @@ export default {
immediate
:
true
,
deep
:
true
,
handler
:
function
()
{
this
.
type
=
""
;
this
.
type
=
[]
;
this
.
_getCoverageList
();
},
},
...
...
@@ -116,7 +118,12 @@ export default {
this
.
coverageData
.
splice
(
index
,
1
);
},
specialtyChange
(
code
)
{
this
.
type
=
code
;
if
(
code
||
code
==
0
)
{
this
.
type
.
push
(
code
)
}
else
{
this
.
type
=
[];
}
console
.
log
(
code
,
code
||
code
==
0
,
this
.
type
)
this
.
_getCoverageList
();
},
// 选择框筛选
...
...
@@ -149,7 +156,7 @@ export default {
corpCode
,
payorCode
,
planCode
,
specialtyCode
:
this
.
type
,
specialtyCode
:
this
.
type
?
this
.
type
.
join
(
'
;
'
)
:
this
.
type
,
}).
then
((
res
)
=>
{
this
.
coverageData
=
res
.
content
||
[];
});
...
...
@@ -178,17 +185,31 @@ export default {
}
}
.classify {
.pa(
10, 20, 1
0, 20);
.pa(
0, 20,
0, 20);
.mg-t(30);
.mg-b(10);
display: flex;
align-items: center;
justify-content: space-between;
background-color: #f8fafb;
.ant-btn:not(:first-child) {
.mg-l(30);
}
.classify-btns{
.pa(10, 0, 10, 0);
flex: 1;
overflow-x: auto;
white-space: nowrap;
}
.save-btn {
width: 160px;
text-align: center;
float: right;
}
}
.conditions{
.pa(0, 30, 0, 30)
}
.icon-class {
.mg-r(10);
}
...
...
src/views/welfare/info/index.vue
View file @
0bef4630
...
...
@@ -120,6 +120,7 @@ export default {
sex
:
undefined
,
idNo
:
undefined
,
payorId
:
undefined
,
cardNo
:
undefined
},
detailForm
:
{},
coverageForm
:
{},
...
...
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