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
a64b5bd0
Commit
a64b5bd0
authored
3 years ago
by
吴婷慧
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
福利处理完成
parent
daa7d48b
master
ECCS-3108
test
No related merge requests found
Changes
23
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
2176 additions
and
601 deletions
+2176
-601
welfare.js
src/api/apis_moudles/welfare.js
+13
-0
welfare.js
src/api/funcs_modules/welfare.js
+69
-1
state_code.js
src/api/state_code.js
+3
-0
common.less
src/assets/style/common.less
+3
-0
reset.less
src/assets/style/reset.less
+3
-1
index.js
src/components/Antd/index.js
+4
-2
index.vue
src/components/CUSTOMER/pagation/index.vue
+2
-2
customer.js
src/router/modules/customer.js
+3
-3
menu.js
src/router/modules/menu.js
+11
-2
welfare.js
src/router/modules/welfare.js
+13
-2
login.vue
src/views/author/login.vue
+7
-4
index.vue
src/views/customer/edit/index.vue
+26
-2
index.vue
src/views/customer/info/index.vue
+13
-26
index.vue
src/views/welfare/edit/components/benefits/index.vue
+277
-0
index.vue
src/views/welfare/edit/components/condition/index.vue
+325
-0
index.vue
src/views/welfare/edit/components/coverages/index.vue
+280
-0
index.vue
src/views/welfare/edit/index.vue
+398
-0
index.vue
src/views/welfare/index.vue
+7
-435
PolicyInfo.vue
src/views/welfare/info/components/PolicyInfo.vue
+58
-0
index.vue
src/views/welfare/info/components/benefits/index.vue
+105
-0
index.vue
src/views/welfare/info/components/condition/index.vue
+70
-0
index.vue
src/views/welfare/info/components/coverages/index.vue
+60
-121
index.vue
src/views/welfare/info/index.vue
+426
-0
No files found.
src/api/apis_moudles/welfare.js
View file @
a64b5bd0
// 福利管理api
export
default
{
benefitType
:
"
/backstage/auth/benefitMasterList
"
,
planList
:
"
/backstage/auth/planListPage
"
,
editPlan
:
"
/backstage/auth/planEdit
"
,
coverageCode
:
"
/backstage/auth/coverageMasterList
"
,
coverageList
:
"
/backstage/auth/coverageList
"
,
addCoverage
:
"
/backstage/auth/createCoverage
"
,
editCoverage
:
"
/backstage/auth/coverageEdit
"
,
conditionList
:
"
/backstage/auth/conditionList
"
,
addCondition
:
"
/backstage/auth/conditionCreate
"
,
editCondition
:
"
/backstage/auth/conditionEdit
"
,
benefitList
:
"
/backstage/auth/benefitList
"
,
addBenefit
:
"
/backstage/auth/createBenefit
"
,
editBenefit
:
"
/backstage/auth/benefitEdit
"
,
getFrequencyCode
:
"
/backstage/auth/frequencyList
"
,
getLimitCode
:
"
/backstage/auth/limitList
"
,
};
This diff is collapsed.
Click to expand it.
src/api/funcs_modules/welfare.js
View file @
a64b5bd0
...
...
@@ -6,9 +6,77 @@ const GETBENEGITTYPE = () => {
return
req
.
post
(
apis
.
benefitType
);
};
const
GETPLANLIST
=
(
data
)
=>
{
return
req
.
post
(
apis
.
planList
,
data
);
};
const
EDITPLANDATE
=
(
data
)
=>
{
return
req
.
post
(
apis
.
editPlan
,
data
);
};
const
GETCOVERAGELIST
=
(
data
)
=>
{
return
req
.
post
(
apis
.
coverageList
,
data
);
};
const
GETCONDITIONLIST
=
(
data
)
=>
{
return
req
.
post
(
apis
.
conditionList
,
data
);
};
const
ADDCONDITIONDATA
=
(
data
)
=>
{
return
req
.
post
(
apis
.
addCondition
,
data
);
};
const
EDITCONDITIONDATA
=
(
data
)
=>
{
return
req
.
post
(
apis
.
editCondition
,
data
);
};
const
GETBENEFITLIST
=
(
data
)
=>
{
return
req
.
post
(
apis
.
benefitList
,
data
);
};
const
ADDBENEFITLIST
=
(
data
)
=>
{
return
req
.
post
(
apis
.
addBenefit
,
data
);
};
const
EDITBENEFITLIST
=
(
data
)
=>
{
return
req
.
post
(
apis
.
editBenefit
,
data
);
};
const
GETCOVERAGECODE
=
(
data
)
=>
{
return
req
.
post
(
apis
.
coverageCode
,
data
);
};
const
ADDCOVERAGEDATA
=
(
data
)
=>
{
return
req
.
post
(
apis
.
addCoverage
,
data
);
};
const
EDITCOVERAGEDATA
=
(
data
)
=>
{
return
req
.
post
(
apis
.
editCoverage
,
data
);
};
const
GETFREQUENCYCODE
=
(
data
)
=>
{
return
req
.
post
(
apis
.
getFrequencyCode
,
data
);
};
const
GETLIMITCODE
=
(
data
)
=>
{
return
req
.
post
(
apis
.
getLimitCode
,
data
);
};
// 对象数组
export
default
{
GETBENEGITTYPE
,
GETCOVERAGELIST
};
export
default
{
GETBENEGITTYPE
,
GETPLANLIST
,
EDITPLANDATE
,
GETCOVERAGELIST
,
GETCONDITIONLIST
,
ADDCONDITIONDATA
,
EDITCONDITIONDATA
,
GETBENEFITLIST
,
ADDBENEFITLIST
,
EDITBENEFITLIST
,
GETCOVERAGECODE
,
ADDCOVERAGEDATA
,
EDITCOVERAGEDATA
,
GETFREQUENCYCODE
,
GETLIMITCODE
,
};
This diff is collapsed.
Click to expand it.
src/api/state_code.js
View file @
a64b5bd0
...
...
@@ -17,6 +17,9 @@ const TOKEN_INVLIDE_TO_LOGIN = (code) => {
store
.
commit
(
"
user/setUserInfo
"
,
""
);
route
.
replace
({
path
:
"
/login
"
,
query
:
{
refirect
:
route
.
currentRoute
.
fullPath
,
},
});
return
false
;
}
else
{
...
...
This diff is collapsed.
Click to expand it.
src/assets/style/common.less
View file @
a64b5bd0
...
...
@@ -31,6 +31,9 @@ button::-moz-focus-inner {
.mar-left10 {
.mg-l(30);
}
.mar-bottom10 {
.mg-b(20);
}
// 媒体查询
// 文本超长
...
...
This diff is collapsed.
Click to expand it.
src/assets/style/reset.less
View file @
a64b5bd0
...
...
@@ -238,7 +238,8 @@ select {
font-family: PingFangSC-Medium, PingFang SC;
}
}
.ant-calendar-picker {
.ant-calendar-picker,
.ant-input-number {
width: 100%;
}
// .ant-table,
...
...
@@ -271,6 +272,7 @@ select {
}
.ant-input,
.ant-input-number,
.ant-select-selection {
border: none;
background-color: #f8fafb;
...
...
This diff is collapsed.
Click to expand it.
src/components/Antd/index.js
View file @
a64b5bd0
...
...
@@ -19,7 +19,8 @@ import {
popconfirm
,
Modal
,
modal
,
Spin
Spin
,
Collapse
,
}
from
"
ant-design-vue
"
;
export
default
()
=>
{
...
...
@@ -43,7 +44,8 @@ export default () => {
popconfirm
,
Modal
,
modal
,
Spin
Spin
,
Collapse
,
];
// 注册
els
.
forEach
((
item
)
=>
{
...
...
This diff is collapsed.
Click to expand it.
src/components/CUSTOMER/pagation/index.vue
View file @
a64b5bd0
...
...
@@ -67,12 +67,12 @@ export default {
this
.
jumpPage
=
this
.
jumpPage
<
0
?
0
:
this
.
jumpPage
;
this
.
jumpPage
=
this
.
jumpPage
>
pages
?
pages
:
this
.
jumpPage
;
this
.
pagination
.
pageNum
=
this
.
jumpPage
;
this
.
$emit
(
"
pageChange
"
);
this
.
$emit
(
"
pageChange
"
,
{
pageNum
:
this
.
jumpPage
}
);
},
//改变分页
pageChange
(
pager
)
{
this
.
pagination
.
pageNum
=
pager
;
this
.
$emit
(
"
pageChange
"
);
this
.
$emit
(
"
pageChange
"
,
{
pageNum
:
pager
}
);
},
},
};
...
...
This diff is collapsed.
Click to expand it.
src/router/modules/customer.js
View file @
a64b5bd0
// 客户信息路由表,分包名称:customer
export
default
{
path
:
"
/
customer
"
,
path
:
"
/
"
,
redirect
:
"
customerInfo
"
,
component
:
()
=>
{
return
import
(
/* webpackChunkName: "customer" */
"
@/views/customer
"
);
},
children
:
[
{
path
:
""
,
path
:
"
customer
"
,
name
:
"
customerInfo
"
,
component
:
()
=>
import
(
"
@/views/customer/info
"
),
},
{
path
:
"
edit
"
,
path
:
"
customer/
edit
"
,
name
:
"
customerEdit
"
,
component
:
()
=>
import
(
"
@/views/customer/edit
"
),
},
...
...
This diff is collapsed.
Click to expand it.
src/router/modules/menu.js
View file @
a64b5bd0
...
...
@@ -16,9 +16,18 @@ export default [
},
{
icon
:
"
ssimanage_msg
"
,
path
:
"
/welfare
"
,
path
:
"
2
"
,
title
:
"
福利信息管理
"
,
children
:
[],
children
:
[
{
path
:
"
/welfare
"
,
title
:
"
福利信息明细
"
,
},
{
path
:
"
/welfare/edit
"
,
title
:
"
福利信息管理
"
,
},
],
},
{
icon
:
"
ssimanage
"
,
...
...
This diff is collapsed.
Click to expand it.
src/router/modules/welfare.js
View file @
a64b5bd0
// 福利管理路由表,分包名称:welfare
export
default
{
path
:
"
/welfare
"
,
name
:
"
welfare
"
,
path
:
"
/
"
,
component
:
()
=>
{
return
import
(
/* webpackChunkName: "Welfare" */
"
@/views/welfare
"
);
},
children
:
[
{
path
:
"
welfare
"
,
name
:
"
welfareInfo
"
,
component
:
()
=>
import
(
"
@/views/welfare/info
"
),
},
{
path
:
"
welfare/edit
"
,
name
:
"
welfareEdit
"
,
component
:
()
=>
import
(
"
@/views/welfare/edit
"
),
},
],
};
This diff is collapsed.
Click to expand it.
src/views/author/login.vue
View file @
a64b5bd0
<
template
>
<div
class=
"login"
>
<h2
class=
"title"
>
{{
title
}}
</h2>
<h2
class=
"title"
>
{{
title
}}
</h2>
<div
class=
"content"
>
<p
class=
"module-title"
>
<span>
密码登录
</span>
...
...
@@ -33,7 +33,9 @@
</a-input>
</a-form-model-item>
<a-form-model-item>
<a-button
type=
"primary"
block
@
click.stop=
"handlerLogin"
>
登录
</a-button>
<a-button
type=
"primary"
block
@
click.stop=
"handlerLogin"
>
登录
</a-button
>
</a-form-model-item>
</a-form-model>
</div>
...
...
@@ -49,7 +51,7 @@ export default {
form
:
{
userName
:
process
.
env
.
VUE_APP_USER
||
""
,
passWord
:
process
.
env
.
VUE_APP_PWD
||
""
,
verificationCode
:
""
verificationCode
:
""
,
},
formRules
:
{
userName
:
[{
required
:
true
,
message
:
"
请输入用户名
"
}],
...
...
@@ -81,7 +83,8 @@ export default {
this
.
$apis
.
LOGIN
(
this
.
form
).
then
((
res
)
=>
{
if
(
res
.
returnCode
===
"
0000
"
)
{
this
.
$store
.
commit
(
"
common/setUserInfo
"
,
res
.
content
);
this
.
$router
.
replace
(
"
/customer
"
);
const
path
=
this
.
$router
.
query
.
redirect
||
"
/customer
"
;
this
.
$router
.
replace
(
path
);
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
||
"
出现错误
"
);
this
.
form
.
verificationCode
=
""
;
...
...
This diff is collapsed.
Click to expand it.
src/views/customer/edit/index.vue
View file @
a64b5bd0
...
...
@@ -212,9 +212,9 @@
<a-row>
<a-col
:xl=
"24"
:lg=
"18"
:sm=
"12"
class=
"none-label clearfix"
>
<a-form-model-item
label=
"button"
>
<a-button
type=
"primary"
>
<
!--
<
a-button
type=
"primary"
>
<Icon
name=
"ssiprint"
:size=
"14"
/>
打印理赔申请书
</a-button>
</a-button>
-->
<a-button
type=
"primary"
class=
"mar-left10 text-r"
...
...
@@ -240,6 +240,10 @@
<
script
>
export
default
{
beforeRouteUpdate
(
to
,
from
,
next
)
{
this
.
$refs
.
form
.
resetFields
();
next
();
},
data
()
{
return
{
previewVisible
:
false
,
...
...
@@ -264,6 +268,9 @@ export default {
};
},
mounted
()
{
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
id
)
{
this
.
getCustomerDetail
(
this
.
$route
.
query
);
}
this
.
_getPayorCode
();
},
methods
:
{
...
...
@@ -319,6 +326,23 @@ export default {
];
}
},
getCustomerDetail
(
params
)
{
// this.queryForm = this.$lodash.cloneDeep(this.form);
const
{
id
,
patientPolicyId
}
=
params
;
const
data
=
{
id
:
id
&&
id
*
1
,
patientPolicyId
:
patientPolicyId
*
1
,
};
this
.
$apis
.
GETCUSTOMERDETAIL
(
data
).
then
((
res
)
=>
{
if
(
res
.
returnCode
===
"
0000
"
)
{
this
.
form
=
res
.
content
||
{};
this
.
_getCorporateCode
(
this
.
form
.
payorId
);
this
.
_getPlanCode
(
this
.
form
.
corpId
);
}
// this.dataList = (res.content && res.content.list) || [];
// this.total = (res.content && res.content.total) || 0;
});
},
codeSearch
(
val
)
{
if
(
!
val
)
{
this
.
comPlanCode
=
this
.
planCode
;
...
...
This diff is collapsed.
Click to expand it.
src/views/customer/info/index.vue
View file @
a64b5bd0
...
...
@@ -68,16 +68,11 @@
:customRow="handlerRowClick"
>
<template
slot=
"operation"
slot-scope=
"record"
>
<a-button
v-if=
"record.isEdit"
type=
"link"
@
click.stop=
"saveChange(record)"
>
保存
</a-button
>
<a-button
v-else
type=
"link"
@
click.stop=
"changeDataStatus(record)"
<a-button
type=
"link"
@
click.stop=
"changeDataStatus(record)"
>
修改
</a-button
>
<a-button
type=
"link"
class=
"success"
>
新增
</a-button>
<a-button
type=
"link"
>
打印理赔申请书
</a-button>
<!--
<a-button
type=
"link"
class=
"success"
>
新增
</a-button>
-->
<a-popconfirm
title=
"你确定要关闭吗?"
ok-text=
"确定"
...
...
@@ -102,23 +97,11 @@ export default {
title
:
"
病历号
"
,
dataIndex
:
"
mrnNo
"
,
width
:
180
,
customRender
:
(
val
,
row
)
=>
{
if
(
row
.
isEdit
)
{
return
<
a
-
input
v
-
model
=
{
row
.
mrnNo
}
><
/a-input>
;
}
return
val
;
},
},
{
title
:
"
客户姓名
"
,
dataIndex
:
"
patientName
"
,
width
:
120
,
customRender
:
(
val
,
row
)
=>
{
if
(
row
.
isEdit
)
{
return
<
a
-
input
v
-
model
=
{
row
.
patientName
}
><
/a-input>
;
}
return
val
;
},
},
{
title
:
"
出生日期
"
,
dataIndex
:
"
birthday
"
,
width
:
180
},
{
title
:
"
性别
"
,
dataIndex
:
"
sex
"
,
width
:
80
},
...
...
@@ -129,7 +112,7 @@ export default {
{
title
:
"
操作
"
,
key
:
"
operation
"
,
width
:
"
175
px
"
,
width
:
"
260
px
"
,
fixed
:
"
right
"
,
scopedSlots
:
{
customRender
:
"
operation
"
},
},
...
...
@@ -143,12 +126,12 @@ export default {
pager
:
{
pageNum
:
1
,
pageSize
:
10
,
total
:
0
}
total
:
0
,
}
,
};
},
components
:
{
BurtPagination
BurtPagination
,
},
created
()
{
this
.
_getCustomerList
();
...
...
@@ -167,7 +150,7 @@ export default {
return
true
;
}
this
.
$router
.
push
({
name
:
"
welfare
"
,
name
:
"
welfare
Info
"
,
query
:
{
id
,
patientPolicyId
},
});
},
...
...
@@ -176,7 +159,11 @@ export default {
},
// 修改按钮
changeDataStatus
(
record
)
{
this
.
$set
(
record
,
"
isEdit
"
,
true
);
const
{
id
,
patientPolicyId
}
=
record
;
this
.
$router
.
push
({
name
:
"
customerEdit
"
,
query
:
{
id
,
patientPolicyId
},
});
},
saveChange
(
record
)
{
record
.
isEdit
=
undefined
;
...
...
This diff is collapsed.
Click to expand it.
src/views/welfare/edit/components/benefits/index.vue
0 → 100644
View file @
a64b5bd0
<
template
>
<div
class=
"benefits"
>
<div
class=
"none-label mar-bottom10"
>
<a-button
type=
"primary"
@
click=
"editBenefitData(null)"
>
<Icon
name=
"ssiadd"
:size=
"14"
/>
新增福利
</a-button>
</div>
<a-table
:columns=
"columns"
:locale=
"
{ emptyText: 'No Data' }"
:data-source="benefitData"
row-key="benefitCode"
:pagination="false"
>
<template
slot=
"operation"
slot-scope=
"record"
>
<a-button
type=
"link"
@
click.stop=
"editBenefitData(record)"
>
修改
</a-button
>
<a-popconfirm
title=
"你确定要删除吗?"
ok-text=
"确定"
cancel-text=
"取消"
@
confirm=
"deleteData(record)"
>
<a-button
type=
"link"
class=
"danger"
>
删除
</a-button>
</a-popconfirm>
</
template
>
<
template
slot=
"expandedRowRender"
slot-scope=
"record"
>
<condition
:form-data=
"
{ ...record, conditionType: '01' }" />
</
template
>
</a-table>
<a-modal
title=
"福利管理"
v-model=
"isBenefitEditShow"
:footer=
"null"
width=
"500px"
@
cancel=
"isBenefitEditShow = false"
>
<a-form-model
ref=
"editForm"
layout=
"vertical"
:model=
"editForm"
:rules=
"editRule"
>
<a-row
:gutter=
"20"
>
<a-col
:md=
"12"
>
<a-form-model-item
label=
"客户公司名称"
prop=
"corpCode"
>
<a-input
disabled
v-model=
"editForm.corpCode"
>
</a-input>
</a-form-model-item>
</a-col>
<a-col
:md=
"12"
>
<a-form-model-item
label=
"保险计划"
prop=
"planCode"
>
<a-input
disabled
v-model=
"editForm.planCode"
>
</a-input>
</a-form-model-item>
</a-col>
<a-col
:md=
"12"
>
<a-form-model-item
label=
"保险责任"
prop=
"coverageCode"
>
<a-input
disabled
v-model=
"editForm.coverageCode"
>
</a-input>
</a-form-model-item>
</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-option
v-for=
"item in benefitCode"
:key=
"item.benefitCode"
:vlaue=
"item.benefitCode"
>
{{ item.description }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col
:md=
"12"
>
<a-form-model-item
label=
"开始时间"
prop=
"startDate"
>
<a-date-picker
v-model=
"editForm.startDate"
placeholder=
"请选择开始时间"
value-format=
"YYYY-MM-DD 00:00:00"
></a-date-picker>
</a-form-model-item>
</a-col>
<a-col
:md=
"12"
>
<a-form-model-item
label=
"结束时间"
prop=
"endDate"
>
<a-date-picker
v-model=
"editForm.endDate"
placeholder=
"请选择结束时间"
value-format=
"YYYY-MM-DD 00:00:00"
></a-date-picker>
</a-form-model-item>
</a-col>
<a-col
:md=
"12"
>
<a-form-model-item
label=
"等待期"
>
<a-input-number
v-model=
"editForm.waitingPeriod"
>
</a-input-number>
</a-form-model-item>
</a-col>
<a-col
:md=
"12"
>
<a-form-model-item
label=
"是否天数"
>
<a-input-number
v-model=
"editForm.isdays"
></a-input-number>
</a-form-model-item>
</a-col>
<a-col
:md=
"12"
>
<a-form-model-item
label=
"英文描述"
>
<a-input
v-model=
"editForm.englishDesc"
></a-input>
</a-form-model-item>
</a-col>
<a-col
:md=
"12"
>
<a-form-model-item
label=
"描述"
>
<a-input
v-model=
"editForm.loaDesc"
>
</a-input>
</a-form-model-item>
</a-col>
<!-- <a-col :md="12">
<a-form-model-item label="状态">
<a-select
v-model="editForm.status"
show-search
allow-clear
@filterOption="filterCode"
>
<a-select-option
v-for="item in statusCode"
:key="item.code"
:vlaue="item.code"
>
{{ item.name }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col> -->
</a-row>
<a-form-model-item
label=
"备注"
>
<a-textarea
v-model=
"editForm.remarks"
:autoSize=
"{ minRows: 2, maxRows: 5 }"
></a-textarea>
</a-form-model-item>
<a-form-model-item>
<a-button
type=
"primary"
@
click=
"saveBenefitData"
>
<Icon
name=
"ssiadd"
:size=
"14"
/>
保存
</a-button>
<a-button
class=
"mar-left10"
@
click=
"isBenefitEditShow = false"
>
取消
</a-button>
</a-form-model-item>
</a-form-model>
</a-modal>
</div>
</template>
<
script
>
import
condition
from
"
../condition
"
;
export
default
{
props
:
{
formData
:
{
type
:
Object
,
required
:
true
,
},
},
components
:
{
condition
,
},
data
()
{
const
columns
=
[
{
title
:
"
责任项目明细
"
,
dataIndex
:
"
benefitCode
"
},
// { title: "预授权申请", dataIndex: "index" },
{
title
:
"
更新日期
"
,
dataIndex
:
"
modifierDate
"
},
{
title
:
"
开始日期
"
,
dataIndex
:
"
startDate
"
},
{
title
:
"
结束日期
"
,
dataIndex
:
"
endDate
"
},
{
title
:
"
备注
"
,
dataIndex
:
"
remark
"
},
{
title
:
"
操作
"
,
key
:
"
operation
"
,
width
:
"
175px
"
,
fixed
:
"
right
"
,
scopedSlots
:
{
customRender
:
"
operation
"
},
},
];
return
{
columns
,
isBenefitEditShow
:
false
,
benefitData
:
[],
benefitCode
:
[],
editForm
:
{},
editRule
:
{
benefitCode
:
[{
required
:
true
,
message
:
"
请选择福利项
"
}],
startDate
:
[{
required
:
true
,
message
:
"
请选择开始时间
"
}],
endDate
:
[{
required
:
true
,
message
:
"
请选择结束时间
"
}],
},
};
},
mounted
()
{
this
.
_getBenefitList
();
},
methods
:
{
// 选择框筛选
filterCode
(
input
,
option
)
{
return
(
option
.
componentOptions
.
children
[
0
].
text
.
toLowerCase
()
.
indexOf
(
input
.
toLowerCase
())
>=
0
);
},
// 新增或编辑benefit数据
editBenefitData
(
data
)
{
data
=
data
||
{
payorCode
:
this
.
formData
.
payorCode
,
corpCode
:
this
.
formData
.
corpCode
,
planCode
:
this
.
formData
.
planCode
,
coverageCode
:
this
.
formData
.
coverageCode
,
isDirect
:
"
N
"
,
status
:
"
1
"
,
};
this
.
_getBenefitCode
();
this
.
editForm
=
this
.
$lodash
.
cloneDeep
(
data
);
this
.
isBenefitEditShow
=
true
;
},
deleteData
(
record
)
{
const
data
=
this
.
$lodash
.
cloneDeep
(
record
);
data
.
status
=
"
2
"
;
// 置为无效状态即删除
this
.
_editBenefitData
(
data
);
},
saveBenefitData
()
{
this
.
$refs
.
editForm
.
validate
((
valid
)
=>
{
if
(
!
valid
)
{
return
false
;
}
});
this
.
_editBenefitData
(
this
.
editForm
);
},
_editBenefitData
(
data
)
{
const
fn
=
data
.
id
||
data
.
id
===
0
?
this
.
$apis
.
EDITBENEFITLIST
:
this
.
$apis
.
ADDBENEFITLIST
;
fn
(
data
).
then
((
res
)
=>
{
if
(
res
.
returnCode
===
"
0000
"
)
{
this
.
$message
.
success
(
res
.
returnMsg
||
"
操作成功
"
);
this
.
_getBenefitList
();
this
.
isBenefitEditShow
=
false
;
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
||
"
操作失败
"
);
}
});
},
_getBenefitList
()
{
const
{
corpCode
,
coverageCode
,
payorCode
,
planCode
}
=
this
.
formData
;
const
data
=
{
corpCode
,
coverageCode
,
payorCode
,
planCode
};
this
.
$apis
.
GETBENEFITLIST
(
data
).
then
((
res
)
=>
{
this
.
benefitData
=
res
.
content
||
[];
});
},
_getBenefitCode
()
{
if
(
this
.
benefitCode
&&
this
.
benefitCode
.
length
)
{
return
true
;
}
this
.
$apis
.
GETBENEGITTYPE
().
then
((
res
)
=>
{
this
.
benefitCode
=
res
.
content
||
[];
});
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
.benefits {
.pa(0, 20, 10, 20);
background-color: #fff;
}
</
style
>
This diff is collapsed.
Click to expand it.
src/views/welfare/edit/components/condition/index.vue
0 → 100644
View file @
a64b5bd0
<
template
>
<div
class=
"condition"
>
<div
class=
"none-label mar-bottom10"
>
<a-button
type=
"primary"
@
click=
"editConditionData(null)"
>
<Icon
name=
"ssiadd"
:size=
"14"
/>
新增条件
</a-button>
</div>
<a-table
:columns=
"columns"
:locale=
"
{ emptyText: 'No Data' }"
:data-source="conditionList"
row-key="id"
:pagination="false"
>
<template
slot=
"operation"
slot-scope=
"record"
>
<a-button
type=
"link"
@
click.stop=
"editConditionData(record)"
>
修改
</a-button
>
<a-popconfirm
title=
"你确定要删除吗?"
ok-text=
"确定"
cancel-text=
"取消"
@
confirm=
"deleteData(record)"
>
<a-button
type=
"link"
class=
"danger"
>
删除
</a-button>
</a-popconfirm>
</
template
>
</a-table>
<a-modal
title=
"条件管理"
v-model=
"isConditionEditShow"
:footer=
"null"
@
cancel=
"isConditionEditShow = false"
>
<a-form-model
ref=
"editForm"
layout=
"vertical"
:model=
"editForm"
:rules=
"editRule"
>
<a-form-model-item
label=
"频率"
prop=
"frequencyCode"
>
<a-select
v-model=
"editForm.frequencyCode"
show-search
allow-clear
@
filterOption=
"filterCode"
>
<a-select-option
v-for=
"item in frequencyCode"
:key=
"item.frequencyCode"
:vlaue=
"item.frequencyCode"
>
{{ item.frequencyDesc }}
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item
label=
"条件"
prop=
"limitCode"
>
<a-select
v-model=
"editForm.limitCode"
show-search
allow-clear
@
filterOption=
"limitCode"
>
<a-select-option
v-for=
"item in limitCode"
:key=
"item.limitCode"
:vlaue=
"item.limitCode"
>
{{ item.limitDesc }}
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item
label=
"开始时间"
prop=
"startDate"
>
<a-date-picker
v-model=
"editForm.startDate"
placeholder=
"请选择开始时间"
value-format=
"YYYY-MM-DD 00:00:00"
></a-date-picker>
</a-form-model-item>
<a-form-model-item
label=
"结束时间"
prop=
"endDate"
>
<a-date-picker
v-model=
"editForm.endDate"
placeholder=
"请选择结束时间"
value-format=
"YYYY-MM-DD 00:00:00"
></a-date-picker>
</a-form-model-item>
<a-row
:gutter=
"10"
>
<a-col
:span=
"8"
>
<a-form-model-item
label=
"最小值"
>
<a-input-number
v-model=
"editForm.minValue"
>
</a-input-number>
</a-form-model-item>
</a-col>
<a-col
:span=
"8"
>
<a-form-model-item
label=
"最大值"
>
<a-input-number
v-model=
"editForm.maxValue"
>
</a-input-number>
</a-form-model-item>
</a-col>
<a-col
:span=
"8"
>
<a-form-model-item
label=
"家庭最大值"
>
<a-input-number
v-model=
"editForm.familyMaxValue"
>
</a-input-number>
</a-form-model-item>
</a-col>
</a-row>
<a-form-model-item
label=
"币种"
>
<a-select
v-model=
"editForm.currency"
show-search
allow-clear
@
filterOption=
"filterCode"
>
<a-select-option
v-for=
"item in currencyCode"
:key=
"item.code"
:vlaue=
"item.code"
>
{{ item.name }}
</a-select-option>
</a-select>
</a-form-model-item>
<!-- <a-form-model-item label="状态">
<a-select
v-model="editForm.status"
show-search
allow-clear
@filterOption="filterCode"
>
<a-select-option
v-for="item in statusCode"
:key="item.code"
:vlaue="item.code"
>
{{ item.name }}
</a-select-option>
</a-select>
</a-form-model-item> -->
<a-form-model-item
label=
"备注"
prop=
"remarks"
>
<a-textarea
v-model=
"editForm.remarks"
:autoSize=
"{ minRows: 2, maxRows: 5 }"
></a-textarea>
</a-form-model-item>
<a-form-model-item
class=
"text-r"
>
<a-button
type=
"primary"
@
click=
"saveConditionData"
>
<Icon
name=
"ssiadd"
:size=
"14"
/>
保存
</a-button>
<a-button
class=
"mar-left10"
@
click=
"isConditionEditShow = false"
>
取消
</a-button>
</a-form-model-item>
</a-form-model>
</a-modal>
</div>
</template>
<
script
>
export
default
{
props
:
{
formData
:
{
type
:
Object
,
required
:
true
,
},
},
data
()
{
const
columns
=
[
{
title
:
"
频率
"
,
dataIndex
:
"
frequencyCode
"
},
{
title
:
"
条件
"
,
dataIndex
:
"
limitCode
"
},
{
title
:
"
开始时间
"
,
dataIndex
:
"
startDate
"
},
{
title
:
"
结束时间
"
,
dataIndex
:
"
endDate
"
},
{
title
:
"
有效
"
,
dataIndex
:
"
status
"
},
// { title: "限额或限次", dataIndex: "index" },
{
title
:
"
最大值
"
,
dataIndex
:
"
maxValue
"
},
{
title
:
"
操作
"
,
key
:
"
operation
"
,
width
:
"
175px
"
,
fixed
:
"
right
"
,
scopedSlots
:
{
customRender
:
"
operation
"
},
},
];
return
{
columns
,
conditionList
:
[],
isConditionEditShow
:
false
,
editForm
:
{},
frequencyCode
:
[],
limitCode
:
[],
currencyCode
:
[
{
code
:
"
RMB
"
,
name
:
"
人民币
"
},
{
code
:
"
US
"
,
name
:
"
美金
"
},
],
statusCode
:
[
{
code
:
"
1
"
,
name
:
"
有效
"
},
{
code
:
"
2
"
,
name
:
"
无效
"
},
],
editRule
:
{
frequencyCode
:
[{
required
:
true
,
message
:
"
请选择频率
"
}],
limitCode
:
[{
required
:
true
,
message
:
"
请选择条件
"
}],
startDate
:
[{
required
:
true
,
message
:
"
请选择开始时间
"
}],
endDate
:
[{
required
:
true
,
message
:
"
请选择结束时间
"
}],
},
};
},
mounted
()
{
this
.
_getConditionList
();
},
methods
:
{
// 选择框筛选
filterCode
(
input
,
option
)
{
return
(
option
.
componentOptions
.
children
[
0
].
text
.
toLowerCase
()
.
indexOf
(
input
.
toLowerCase
())
>=
0
);
},
editConditionData
(
data
)
{
const
{
planCode
,
payorCode
,
coverageCode
,
corpCode
,
benefitCode
,
conditionType
,
}
=
this
.
formData
;
data
=
data
||
{
planCode
,
payorCode
,
coverageCode
,
corpCode
,
benefitCode
,
conditionType
,
currency
:
"
RMB
"
,
status
:
"
1
"
,
};
this
.
editForm
=
this
.
$lodash
.
cloneDeep
(
data
);
this
.
_getFrequencyCode
();
this
.
_getLimitCode
();
this
.
isConditionEditShow
=
true
;
},
saveConditionData
()
{
this
.
$refs
.
editForm
.
validate
((
valid
)
=>
{
if
(
!
valid
)
{
return
false
;
}
if
(
this
.
editForm
.
id
||
this
.
editForm
.
id
===
0
)
{
this
.
_editConditionData
(
this
.
editForm
);
}
else
{
this
.
_addConditionData
(
this
.
editForm
);
}
});
},
deleteData
(
record
)
{
const
data
=
this
.
$lodash
.
cloneDeep
(
record
);
data
.
status
=
"
2
"
;
// 置为无效状态即删除
this
.
_editConditionData
(
data
);
},
_getConditionList
()
{
const
{
planCode
,
payorCode
,
coverageCode
,
corpCode
,
benefitCode
,
conditionType
,
}
=
this
.
formData
;
const
data
=
{
planCode
,
payorCode
,
coverageCode
,
corpCode
,
benefitCode
,
conditionType
,
};
this
.
$apis
.
GETCONDITIONLIST
(
data
).
then
((
res
)
=>
{
this
.
conditionList
=
res
.
content
||
[];
});
},
_getFrequencyCode
()
{
if
(
this
.
frequencyCode
&&
this
.
frequencyCode
.
length
)
{
return
true
;
}
this
.
$apis
.
GETFREQUENCYCODE
().
then
((
res
)
=>
{
this
.
frequencyCode
=
res
.
content
||
[];
});
},
_getLimitCode
()
{
if
(
this
.
limitCode
&&
this
.
limitCode
.
length
)
{
return
true
;
}
this
.
$apis
.
GETLIMITCODE
().
then
((
res
)
=>
{
this
.
limitCode
=
res
.
content
||
[];
});
},
_addConditionData
(
data
)
{
this
.
$apis
.
ADDCONDITIONDATA
(
data
).
then
((
res
)
=>
{
if
(
res
.
returnCode
===
"
0000
"
)
{
this
.
_getConditionList
();
this
.
$message
.
success
(
res
.
returnMsg
||
"
操作成功
"
);
this
.
isConditionEditShow
=
false
;
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
||
"
操作失败
"
);
}
});
},
_editConditionData
(
data
)
{
this
.
$apis
.
EDITCONDITIONDATA
(
data
).
then
((
res
)
=>
{
if
(
res
.
returnCode
===
"
0000
"
)
{
this
.
_getConditionList
();
this
.
$message
.
success
(
res
.
returnMsg
||
"
操作成功
"
);
this
.
isConditionEditShow
=
false
;
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
||
"
操作失败
"
);
}
});
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
.condition {
.pa(0, 20, 10, 20);
background-color: #fff;
}
</
style
>
This diff is collapsed.
Click to expand it.
src/views/welfare/edit/components/coverages/index.vue
0 → 100644
View file @
a64b5bd0
<
template
>
<div
class=
"coverage"
>
<div
class=
"none-label mar-bottom10"
>
<a-button
type=
"primary"
@
click=
"editCoverageData(null)"
>
<Icon
name=
"ssiadd"
:size=
"14"
/>
新增责任
</a-button>
</div>
<a-table
:columns=
"columns"
:locale=
"
{ emptyText: 'No Data' }"
:data-source="coverageData"
row-key="coverageCode"
:pagination="false"
>
<template
slot=
"operation"
slot-scope=
"record"
>
<a-button
type=
"link"
@
click.stop=
"editCoverageData(record)"
>
修改
</a-button
>
<a-popconfirm
title=
"你确定要删除吗?"
ok-text=
"确定"
cancel-text=
"取消"
@
confirm=
"deleteData(record)"
>
<a-button
type=
"link"
class=
"danger"
>
删除
</a-button>
</a-popconfirm>
</
template
>
<
template
slot=
"expandedRowRender"
slot-scope=
"record"
>
<condition
class=
"mar-bottom10"
:form-data=
"
{ ...record, conditionType: '02' }"
/>
<benefits
:formData=
"record"
/>
</
template
>
</a-table>
<a-modal
title=
"责任管理"
v-model=
"isCoverageEditShow"
:footer=
"null"
width=
"500px"
@
cancel=
"isCoverageEditShow = false"
>
<a-form-model
ref=
"editForm"
layout=
"vertical"
:model=
"editForm"
:rules=
"editRule"
>
<a-row
:gutter=
"20"
>
<a-col
:md=
"12"
>
<a-form-model-item
label=
"客户公司名称"
prop=
"corpCode"
>
<a-input
disabled
v-model=
"editForm.corpCode"
>
</a-input>
</a-form-model-item>
</a-col>
<a-col
:md=
"12"
>
<a-form-model-item
label=
"保险计划"
prop=
"planCode"
>
<a-input
disabled
v-model=
"editForm.planCode"
>
</a-input>
</a-form-model-item>
</a-col>
<a-col
:md=
"12"
>
<a-form-model-item
label=
"保险责任"
prop=
"coverageCode"
>
<a-select
v-model=
"editForm.coverageCode"
show-search
allow-clear
@
filterOption=
"filterCode"
>
<a-select-option
v-for=
"item in coverageCode"
:key=
"item.coverageCode"
:vlaue=
"item.coverageCode"
>
{{ item.coverageDesc }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col
:md=
"12"
>
<a-form-model-item
label=
"等待期"
>
<a-input-number
v-model=
"editForm.waitingPeriod"
>
</a-input-number>
</a-form-model-item>
</a-col>
<a-col
:md=
"12"
>
<a-form-model-item
label=
"英文描述"
>
<a-input
v-model=
"editForm.englishDesc"
></a-input>
</a-form-model-item>
</a-col>
<a-col
:md=
"12"
>
<a-form-model-item
label=
"描述"
>
<a-input
v-model=
"editForm.loaDesc"
>
</a-input>
</a-form-model-item>
</a-col>
<a-col
:md=
"12"
>
<a-form-model-item
label=
"是否直付"
>
<a-radio-group
v-model=
"editForm.isDirect"
:default-value=
"editForm.isDirect"
button-style=
"solid"
>
<a-radio-button
value=
"Y"
>
是
</a-radio-button>
<a-radio-button
class=
"mar-left10"
value=
"N"
>
否
</a-radio-button>
</a-radio-group>
</a-form-model-item>
</a-col>
<!-- <a-col :md="12">
<a-form-model-item label="状态">
<a-select
v-model="editForm.status"
show-search
allow-clear
@filterOption="filterCode"
>
<a-select-option
v-for="item in statusCode"
:key="item.code"
:vlaue="item.code"
>
{{ item.name }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col> -->
</a-row>
<!-- <a-form-model-item label="保险公司" prop="payorCode">
<a-input disabled v-model="editForm.payorCode"> </a-input>
</a-form-model-item> -->
<a-form-model-item
label=
"备注"
>
<a-textarea
v-model=
"editForm.remarks"
:autoSize=
"{ minRows: 2, maxRows: 5 }"
></a-textarea>
</a-form-model-item>
<a-form-model-item>
<a-button
type=
"primary"
@
click=
"saveCoverageData"
>
<Icon
name=
"ssiadd"
:size=
"14"
/>
保存
</a-button>
<a-button
class=
"mar-left10"
@
click=
"isCoverageEditShow = false"
>
取消
</a-button>
</a-form-model-item>
</a-form-model>
</a-modal>
</div>
</template>
<
script
>
import
benefits
from
"
../benefits
"
;
import
condition
from
"
../condition
"
;
export
default
{
props
:
{
formData
:
{
required
:
true
,
type
:
Object
,
},
},
components
:
{
benefits
,
condition
,
},
data
()
{
const
columns
=
[
{
title
:
"
门诊责任
"
,
dataIndex
:
"
coverageCode
"
,
width
:
150
},
{
title
:
"
是否直付
"
,
dataIndex
:
"
isDirect
"
,
width
:
120
},
{
title
:
"
等待期
"
,
dataIndex
:
"
waitingPeriod
"
,
width
:
120
},
// { title: "预授权", dataIndex: "sex", width: 80 },
// { title: "预授权期限", dataIndex: "payorName", width: 180 },
{
title
:
"
状态
"
,
dataIndex
:
"
status
"
,
width
:
180
},
{
title
:
"
备注
"
,
dataIndex
:
"
remark
"
},
{
title
:
"
操作
"
,
key
:
"
operation
"
,
width
:
"
175px
"
,
fixed
:
"
right
"
,
scopedSlots
:
{
customRender
:
"
operation
"
},
},
];
return
{
isCoverageEditShow
:
false
,
columns
,
coverageData
:
[],
editForm
:
{},
coverageCode
:
[],
statusCode
:
[
{
code
:
"
1
"
,
name
:
"
有效
"
},
{
code
:
"
2
"
,
name
:
"
无效
"
},
],
editRule
:
{
coverageCode
:
[{
required
:
true
,
message
:
"
请选择保险责任
"
}],
},
};
},
mounted
()
{
this
.
_getCoverageList
();
},
methods
:
{
// 新增或编辑coverage数据
editCoverageData
(
data
)
{
data
=
data
||
{
payorCode
:
this
.
formData
.
payorCode
,
corpCode
:
this
.
formData
.
corpCode
,
planCode
:
this
.
formData
.
planCode
,
isDirect
:
"
N
"
,
status
:
"
1
"
,
};
this
.
_getCoverageCode
();
this
.
editForm
=
this
.
$lodash
.
cloneDeep
(
data
);
this
.
isCoverageEditShow
=
true
;
},
// 选择框筛选
filterCode
(
input
,
option
)
{
return
(
option
.
componentOptions
.
children
[
0
].
text
.
toLowerCase
()
.
indexOf
(
input
.
toLowerCase
())
>=
0
);
},
saveCoverageData
()
{
this
.
$refs
.
editForm
.
validate
((
valid
)
=>
{
if
(
!
valid
)
{
return
false
;
}
this
.
_editCoverageData
(
this
.
editForm
);
});
},
deleteData
(
record
)
{
const
data
=
this
.
$lodash
.
cloneDeep
(
record
);
data
.
status
=
"
2
"
;
// 置为无效状态即删除
this
.
_editCoverageData
(
data
);
},
_editCoverageData
(
data
)
{
const
fn
=
data
.
id
||
data
.
id
===
0
?
this
.
$apis
.
EDITCOVERAGEDATA
:
this
.
$apis
.
ADDCOVERAGEDATA
;
fn
(
data
).
then
((
res
)
=>
{
if
(
res
.
returnCode
===
"
0000
"
)
{
this
.
$message
.
success
(
res
.
returnMsg
||
"
操作成功
"
);
this
.
_getCoverageList
();
this
.
isCoverageEditShow
=
false
;
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
||
"
操作失败
"
);
}
});
},
_getCoverageCode
()
{
if
(
this
.
coverageCode
&&
this
.
coverageCode
.
length
)
{
return
true
;
}
this
.
$apis
.
GETCOVERAGECODE
().
then
((
res
)
=>
{
this
.
coverageCode
=
res
.
content
||
[];
});
},
_getCoverageList
()
{
const
{
corpCode
,
payorCode
,
planCode
}
=
this
.
formData
;
this
.
$apis
.
GETCOVERAGELIST
({
corpCode
,
payorCode
,
planCode
,
specialtyCode
:
""
,
})
.
then
((
res
)
=>
{
this
.
coverageData
=
res
.
content
||
[];
});
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
.coverage {
.pa(0, 20, 10, 20);
background-color: #fff;
}
</
style
>
This diff is collapsed.
Click to expand it.
src/views/welfare/edit/index.vue
0 → 100644
View file @
a64b5bd0
This diff is collapsed.
Click to expand it.
src/views/welfare/index.vue
View file @
a64b5bd0
This diff is collapsed.
Click to expand it.
src/views/welfare/info/components/PolicyInfo.vue
0 → 100644
View file @
a64b5bd0
<
template
>
<div>
<a-collapse
v-model=
"activeKeys"
expand-icon-position=
"right"
:bordered=
"false"
>
<a-collapse-panel
key=
"1"
header=
"保单信息"
>
<a-row
class=
"policy_line"
:gutter=
"10"
>
<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>
<a-row
class=
"policy_line"
:gutter=
"10"
>
<a-col
:span=
"6"
>
保单号:
</a-col>
<a-col
:span=
"6"
>
首保日期:
</a-col>
<a-col
:span=
"6"
>
保单直付区域:
</a-col>
</a-row>
<a-row
class=
"policy_line"
:gutter=
"10"
>
<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>
<a-row
class=
"policy_line"
:gutter=
"10"
>
<a-col
:span=
"6"
>
公司:
</a-col>
<a-col
:span=
"6"
>
会员标识:
</a-col>
</a-row>
</a-collapse-panel>
</a-collapse>
</div>
</
template
>
<
script
>
export
default
{
props
:
{
policyData
:
{
default
:
{},
},
},
data
()
{
return
{
activeKeys
:
"
1
"
,
};
},
};
</
script
>
<
style
lang=
"less"
scoped
>
.policy_line {
.pa(0, 30, 0, 30);
line-height: 60px;
// &:not(:last-child) {
border-bottom: 1px solid #f8fafb;
// }
}
</
style
>
This diff is collapsed.
Click to expand it.
src/views/welfare/components/benefits/index.vue
→
src/views/welfare/
info/
components/benefits/index.vue
View file @
a64b5bd0
<
template
>
<div
class=
"benefits"
>
<div>
<div
class=
"text-r"
>
<a-button
type=
"danger"
class=
"save-btn"
>
<Icon
name=
"ssiadd"
:size=
"14"
/>
新增
</a-button>
<a-table
:pagination=
"false"
:columns=
"considtionColumns"
:data-source=
"conditionData"
>
<template
slot=
"operation"
slot-scope=
"text, record"
>
<a-button
v-if=
"record.isEdit"
type=
"link"
>
保存
</a-button>
<a-button
v-else
type=
"link"
>
修改
</a-button>
<a-button
type=
"link"
class=
"success"
>
新增
</a-button>
<a-popconfirm
title=
"你确定要关闭吗?"
ok-text=
"确定"
cancel-text=
"取消"
>
<a-button
type=
"link"
class=
"danger"
>
删除
</a-button>
</a-popconfirm>
</
template
>
</a-table>
</div>
</div>
<div>
<!--
<div>
<div
class=
"text-r"
>
<a-button
type=
"danger"
class=
"save-btn"
>
<Icon
name=
"ssiadd"
:size=
"14"
/>
新增
...
...
@@ -49,47 +24,62 @@
</
template
>
</a-table>
</div>
</div>
</div>
-->
<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"
>
<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-row>
</div>
<condition
:formData=
"{ ...item, conditionType: '01' }"
/>
</a-collapse-panel>
</a-collapse>
</div>
</template>
<
script
>
import
condition
from
"
../condition
"
;
export
default
{
props
:
{
coverageForm
:
{
formData
:
{
type
:
Object
,
required
:
true
,
},
},
components
:
{
condition
,
},
data
()
{
const
considtionColumns
=
[
{
title
:
"
限额
"
,
dataIndex
:
"
index
"
},
{
title
:
"
操作
"
,
key
:
"
operation
"
,
width
:
"
175px
"
,
fixed
:
"
right
"
,
scopedSlots
:
{
customRender
:
"
operation
"
},
},
];
const
benefitColumns
=
[
{
title
:
"
责任列表
"
,
dataIndex
:
"
index
"
},
{
title
:
"
操作
"
,
key
:
"
operation
"
,
width
:
"
175px
"
,
fixed
:
"
right
"
,
scopedSlots
:
{
customRender
:
"
operation
"
},
},
];
return
{
considtionColumns
,
benefitColumns
,
conditionData
:
[{
index
:
"
900
"
}],
benefitData
:
[{
index
:
"
测试
"
}],
benefitData
:
[],
activeKeys
:
""
,
};
},
methods
:
{},
mounted
()
{
this
.
_getBenefitData
();
},
methods
:
{
_getBenefitData
()
{
const
{
corpCode
,
coverageCode
,
payorCode
,
planCode
}
=
this
.
formData
;
const
data
=
{
corpCode
,
coverageCode
,
payorCode
,
planCode
};
this
.
$apis
.
GETBENEFITLIST
(
data
).
then
((
res
)
=>
{
this
.
benefitData
=
res
.
content
||
[];
});
},
},
};
</
script
>
...
...
@@ -105,4 +95,11 @@ export default {
}
}
}
.policy_line {
.pa(0, 30, 0, 30);
line-height: 60px;
// &:not(:last-child) {
border-bottom: 1px solid #f8fafb;
// }
}
</
style
>
This diff is collapsed.
Click to expand it.
src/views/welfare/info/components/condition/index.vue
0 → 100644
View file @
a64b5bd0
<
template
>
<div>
<a-table
class=
"mar-bottom10"
:columns=
"columns"
:locale=
"
{ emptyText: 'No Data' }"
:data-source="conditionList"
row-key="mrnNo"
:pagination="false"
>
</a-table>
</div>
</
template
>
<
script
>
export
default
{
props
:
{
formData
:
{
default
:
{},
},
},
data
()
{
const
columns
=
[
{
title
:
"
频率
"
,
dataIndex
:
"
frequencyCode
"
},
{
title
:
"
条件
"
,
dataIndex
:
"
limitCode
"
},
{
title
:
"
最小值
"
,
dataIndex
:
"
minValue
"
},
{
title
:
"
最大值
"
,
dataIndex
:
"
maxValue
"
},
{
title
:
"
家庭最大值
"
,
dataIndex
:
"
familyMaxValue
"
},
{
title
:
"
操作
"
,
key
:
"
operation
"
,
width
:
"
175px
"
,
fixed
:
"
right
"
,
scopedSlots
:
{
customRender
:
"
operation
"
},
},
];
return
{
columns
,
conditionList
:
[],
};
},
mounted
()
{
this
.
_getConditionList
();
},
methods
:
{
_getConditionList
()
{
const
{
planCode
,
payorCode
,
coverageCode
,
corpCode
,
benefitCode
,
conditionType
,
}
=
this
.
formData
;
const
data
=
{
planCode
,
payorCode
,
coverageCode
,
corpCode
,
benefitCode
,
conditionType
,
};
this
.
$apis
.
GETCONDITIONLIST
(
data
).
then
((
res
)
=>
{
this
.
conditionList
=
res
.
content
||
[];
});
},
},
};
</
script
>
<
style
></
style
>
This diff is collapsed.
Click to expand it.
src/views/welfare/components/coverages/index.vue
→
src/views/welfare/
info/
components/coverages/index.vue
View file @
a64b5bd0
...
...
@@ -2,72 +2,70 @@
<div>
<!-- 分类 -->
<div
class=
"classify clearfix"
>
<a-button
:type=
"!type ? 'primary' : ''"
>
全部
</a-button>
<a-button
@
click=
"specialtyChange('')"
:type=
"!type ? 'primary' : ''"
>
全部
</a-button>
<a-button
:type=
"item.code === type ? 'primary' : ''"
@
click=
"specialtyChange(item.specialtyCode)"
:type=
"item.specialtyCode === type ? 'primary' : ''"
v-for=
"item in welfareType"
:key=
"item.
c
ode"
:key=
"item.
specialtyC
ode"
>
{{
item
.
name
}}
{{
item
.
specialtyDesc
}}
</a-button>
<div
class=
"save-btn"
>
<
a-button
type=
"danger
"
@
click=
"addNew"
>
<
!--
<a-button
type=
"primary
"
@
click=
"addNew"
>
<Icon
name=
"ssiadd"
:size=
"14"
/>
新增
</a-button>
</a-button>
-->
<a-button
type=
"primary"
>
<Icon
name=
"ssidownload"
:size=
"14"
/>
保存
</a-button>
</div>
</div>
<!-- table -->
<a-table
:columns=
"columns"
:data-source=
"dataList"
row-key=
"coverageCode"
:scroll=
"
{ x: true }"
:pagination="pagination"
:expanded-row-keys.sync="expandedRowKeys"
@change="onWelfareChange"
@expand="handleExpand"
<a-collapse
v-model=
"activeKeys"
expand-icon-position=
"right"
:bordered=
"false"
>
<template
slot=
"operation"
slot-scope=
"text, record, index"
>
<a-button
v-if=
"record.isEdit"
type=
"link"
@
click.stop=
"saveEditData(record)"
>
保存
</a-button>
<a-button
v-else
type=
"link"
@
click.stop=
"editData(record, index)"
>
修改
</a-button>
<a-button
type=
"link"
class=
"success"
>
新增
</a-button>
<a-popconfirm
title=
"你确定要关闭吗?"
ok-text=
"确定"
cancel-text=
"取消"
@
confirm=
"deleteData(record, index)"
>
<a-button
type=
"link"
class=
"danger"
>
删除
</a-button>
</a-popconfirm>
</
template
>
<
template
slot=
"expandedRowRender"
slot-scope=
"record"
>
<benefits
:coverageForm=
"record"
/>
</
template
>
</a-table>
<a-collapse-panel
v-for=
"item in coverageData"
:key=
"item.coverageCode"
:header=
"item.coverageCode"
>
<div>
<a-row
class=
"policy_line"
:gutter=
"10"
>
<a-col
:span=
"6"
>
是否开放直付:
{{
item
.
isDirect
}}
</a-col>
<a-col
:span=
"6"
>
直付刷卡上限:
</a-col>
<a-col
:span=
"6"
>
事先授权:
</a-col>
<a-col
:span=
"6"
>
等待期:
{{
item
.
waitingPeriod
}}
</a-col>
</a-row>
<a-row
class=
"policy_line"
:gutter=
"10"
>
<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: '02' }" />
<benefits
:formData=
"item"
/>
</a-collapse-panel>
</a-collapse>
</div>
</
template
>
<
script
>
import
benefits
from
"
../benefits
"
;
import
condition
from
"
../condition
"
;
export
default
{
props
:
{
coverageForm
:
{
formData
:
{
type
:
Object
,
required
:
true
,
},
},
components
:
{
condition
,
benefits
,
},
data
()
{
...
...
@@ -139,7 +137,8 @@ export default {
];
return
{
columns
,
dataList
:
[{
coverageCode
:
22
}],
activeKeys
:
""
,
coverageData
:
[],
expandedRowKeys
:
[],
type
:
""
,
welfareType
:
[],
...
...
@@ -152,7 +151,8 @@ export default {
};
},
watch
:
{
coverageForm
:
{
formData
:
{
immediate
:
true
,
deep
:
true
,
handler
:
function
()
{
this
.
type
=
""
;
...
...
@@ -160,24 +160,16 @@ export default {
},
},
},
moun
ted
()
{
crea
ted
()
{
this
.
_getSpecialtyCode
();
// this._getCoverageList();
},
computed
:
{
pagination
()
{
return
this
.
initPageConfig
(
{
...
this
.
pager
,
total
:
this
.
total
},
this
.
onWelfareSizeChange
);
},
},
methods
:
{
addNew
()
{
const
item
=
{
isEdit
:
true
,
isNew
:
true
};
this
.
pager
.
pageSize
++
;
this
.
_getCoverageCode
();
// 获取责任项目码表
this
.
dataList
.
unshift
(
item
);
this
.
coverageData
.
unshift
(
item
);
},
editData
(
record
)
{
this
.
_getCoverageCode
();
// 获取责任项目码表
...
...
@@ -193,67 +185,14 @@ export default {
},
deleteData
(
record
,
index
)
{
if
(
record
.
isNew
)
{
this
.
dataList
.
splice
(
index
,
1
);
this
.
coverageData
.
splice
(
index
,
1
);
return
true
;
}
this
.
dataList
.
splice
(
index
,
1
);
this
.
coverageData
.
splice
(
index
,
1
);
},
initPageConfig
(
pager
,
sizeChange
)
{
const
{
pageNum
,
pageSize
,
total
}
=
pager
;
const
pages
=
Math
.
ceil
(
total
/
pageSize
);
return
{
current
:
pageNum
,
pageSize
,
size
:
"
large
"
,
position
:
"
bottom
"
,
align
:
"
right
"
,
total
:
this
.
total
,
hideOnSinglePage
:
false
,
itemRender
:
(
current
,
type
,
originalElement
)
=>
{
if
(
type
===
"
prev
"
)
{
originalElement
.
children
=
undefined
;
originalElement
.
text
=
"
上一页
"
;
}
if
(
type
===
"
page
"
)
{
if
(
current
!==
pageNum
)
{
return
undefined
;
}
return
(
<
p
>
<
span
class
=
"
current-page
"
>
{
current
}
<
/span> /
{
pages
}
<
/p
>
);
}
if
(
type
===
"
next
"
)
{
originalElement
.
children
=
undefined
;
originalElement
.
text
=
"
下一页
"
;
return
(
<
div
>
{
originalElement
}
<
a
-
input
-
number
onblur
=
{
sizeChange
}
class
=
"
size-change
"
><
/a-input-number
>
<
/div
>
);
}
return
originalElement
;
},
};
},
onWelfareChange
(
pager
)
{
const
{
current
}
=
pager
;
// console.log(pager);
this
.
pager
.
pageNum
=
current
;
// this._getCustomerList();
},
onWelfareSizeChange
(
e
)
{
e
&&
e
.
stopPropagation
();
const
val
=
e
.
target
.
value
*
1
;
if
(
!
val
||
val
<
0
)
{
return
false
;
}
this
.
pager
.
pageSize
=
val
;
specialtyChange
(
code
)
{
this
.
type
=
code
;
this
.
_getCoverageList
();
},
// 选择框筛选
filterCode
(
input
,
option
)
{
...
...
@@ -263,20 +202,13 @@ export default {
.
indexOf
(
input
.
toLowerCase
())
>=
0
);
},
handleExpand
(
expended
,
record
)
{
console
.
log
(
expended
);
if
(
record
.
isEdit
&&
expended
)
{
console
.
log
(
this
.
expandedRowKeys
);
return
false
;
}
},
_getSpecialtyCode
()
{
this
.
$apis
.
GETSPECIALTYLIST
().
then
((
res
)
=>
{
this
.
welfareType
=
res
.
content
||
[];
});
},
_getCoverageList
()
{
const
{
corpCode
,
payorCode
,
planCode
}
=
this
.
coverageForm
;
const
{
corpCode
,
payorCode
,
planCode
}
=
this
.
formData
;
this
.
$apis
.
GETCOVERAGELIST
({
corpCode
,
...
...
@@ -285,7 +217,7 @@ export default {
specialtyCode
:
this
.
type
,
})
.
then
((
res
)
=>
{
this
.
dataList
=
res
.
content
||
[];
this
.
coverageData
=
res
.
content
||
[];
});
},
_getCoverageCode
()
{
...
...
@@ -304,6 +236,13 @@ export default {
.none-label {
text-align: right;
}
.policy_line {
.pa(0, 30, 0, 30);
line-height: 60px;
// &:not(:last-child) {
border-bottom: 1px solid #f8fafb;
// }
}
.classify {
.pa(10, 20, 10, 20);
.mg-t(30);
...
...
This diff is collapsed.
Click to expand it.
src/views/welfare/info/index.vue
0 → 100644
View file @
a64b5bd0
This diff is collapsed.
Click to expand it.
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