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
8e2f690b
Commit
8e2f690b
authored
3 years ago
by
吴婷慧
Browse files
Options
Browse Files
Download
Plain Diff
解决冲突
parents
fe3903a0
17bc53ce
Changes
16
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
738 additions
and
320 deletions
+738
-320
base.js
src/api/apis_moudles/base.js
+1
-0
info.js
src/api/apis_moudles/info.js
+6
-0
base.js
src/api/funcs_modules/base.js
+6
-0
info.js
src/api/funcs_modules/info.js
+23
-1
request.js
src/api/request.js
+1
-1
index.js
src/components/Antd/index.js
+2
-0
index.js
src/mixins/index.js
+22
-1
utilsdictOptions.js
src/utils/utilsdictOptions.js
+18
-0
forget.vue
src/views/author/forget.vue
+40
-16
index.vue
src/views/customer/info/index.vue
+7
-11
companyInfo.vue
src/views/info/components/companyInfo.vue
+41
-31
infoDoctor.vue
src/views/info/components/infoDoctor.vue
+249
-0
infoSpecial.vue
src/views/info/components/infoSpecial.vue
+183
-0
index.vue
src/views/info/index.vue
+48
-234
collectionDetail.vue
src/views/verification/collectionDetail.vue
+10
-6
indexDetail.vue
src/views/verification/indexDetail.vue
+81
-19
No files found.
src/api/apis_moudles/base.js
View file @
8e2f690b
...
...
@@ -8,4 +8,5 @@ export default {
specialtyList
:
"
/backstage/auth/specialtyList
"
,
coverageCode
:
"
/backstage/auth/coverageMasterList
"
,
getRefcdByRefgrp
:
"
/common/getRefcdByRefgrp
"
,
// 公共获取码表接口
checkUserEmail
:
"
/backstage/user/checkUserEmail
"
,
// 校验用户邮箱
};
This diff is collapsed.
Click to expand it.
src/api/apis_moudles/info.js
View file @
8e2f690b
...
...
@@ -19,4 +19,10 @@ export default {
payorAddDiscount
:
"
/backstage/auth/payorAddDiscount
"
,
//新增折扣信息
payorAddDiscountBenefit
:
"
/backstage/auth/payorAddDiscountBenefit
"
,
//编辑折扣信息
payorDiscountDelete
:
"
/backstage/auth/payorDiscountDelete
"
,
//删除折扣信息
/*-------------科室信息-----------------*/
specialtyCreate
:
"
/backstage/auth/specialtyCreate
"
,
//新增科室
specialtyUpdate
:
"
/backstage/auth/specialtyUpdate
"
,
//修改科室
specialtyListPage
:
"
/backstage/auth/specialtyListPage
"
,
//科室列表
specialtyDelete
:
"
/backstage/auth/specialtyDelete
"
,
//科室删除
};
This diff is collapsed.
Click to expand it.
src/api/funcs_modules/base.js
View file @
8e2f690b
...
...
@@ -46,6 +46,11 @@ const GETREFCDBYREFGRP = (data) => {
return
req
.
post
(
apis
.
getRefcdByRefgrp
,
data
);
};
// 校验用户邮箱
const
CHECKUSEREMAIL
=
(
data
)
=>
{
return
req
.
post
(
`
${
apis
.
checkUserEmail
}
?userName=
${
data
.
userName
}
`
);
};
// 对象数组
export
default
{
GETUSERINFO
,
...
...
@@ -56,4 +61,5 @@ export default {
UPLOADIMG
,
GETCOVERAGECODE
,
GETREFCDBYREFGRP
,
CHECKUSEREMAIL
,
};
This diff is collapsed.
Click to expand it.
src/api/funcs_modules/info.js
View file @
8e2f690b
...
...
@@ -72,6 +72,24 @@ const PAYORDISCOUNTDELETE = (data) => {
return
req
.
post
(
apis
.
payorDiscountDelete
,
data
);
};
/*-------------科室信息-----------------*/
//创建科室
const
SPECIALTYCREATE
=
(
data
)
=>
{
return
req
.
post
(
apis
.
specialtyCreate
,
data
);
};
//修改科室
const
SPECIALTYUPDATE
=
(
data
)
=>
{
return
req
.
post
(
apis
.
specialtyUpdate
,
data
);
};
//科室列表
const
SPECIALTYLISTPAGE
=
(
data
)
=>
{
return
req
.
post
(
apis
.
specialtyListPage
,
data
);
};
//科室删除
const
SPECIALTYDELETE
=
(
data
)
=>
{
return
req
.
post
(
apis
.
specialtyDelete
,
data
);
};
// 对象数组
export
default
{
PROVIDERDETAIL
,
...
...
@@ -87,5 +105,9 @@ export default {
PAYORDELETE
,
PAYORADDDISCOUNT
,
PAYORADDDISCOUNTBENEFIT
,
PAYORDISCOUNTDELETE
PAYORDISCOUNTDELETE
,
SPECIALTYCREATE
,
SPECIALTYUPDATE
,
SPECIALTYLISTPAGE
,
SPECIALTYDELETE
};
This diff is collapsed.
Click to expand it.
src/api/request.js
View file @
8e2f690b
...
...
@@ -10,7 +10,7 @@ const service = axios.create({
return
status
>=
200
&&
status
<=
504
;
// 合法状态码
},
baseURL
:
process
.
env
.
VUE_APP_API
,
// 基础请求路径
timeout
:
1
0000
,
// 请求超时
timeout
:
6
0000
,
// 请求超时
});
// 重复尝试此时
service
.
defaults
.
retry
=
3
;
...
...
This diff is collapsed.
Click to expand it.
src/components/Antd/index.js
View file @
8e2f690b
...
...
@@ -21,6 +21,7 @@ import {
modal
,
Spin
,
Collapse
,
Tabs
}
from
"
ant-design-vue
"
;
export
default
()
=>
{
...
...
@@ -46,6 +47,7 @@ export default () => {
modal
,
Spin
,
Collapse
,
Tabs
];
// 注册
els
.
forEach
((
item
)
=>
{
...
...
This diff is collapsed.
Click to expand it.
src/mixins/index.js
View file @
8e2f690b
import
bus
from
"
../utils/bus
"
;
import
{
sexOptions
}
from
'
@/utils/utilsdictOptions.js
'
import
{
sexOptions
,
SendStatusOptions
,
ClaimsStatusOptions
}
from
'
@/utils/utilsdictOptions.js
'
// 全局混入将会影响每个单文件组件,请慎重思考是否要混入
export
default
{
...
...
@@ -9,6 +9,7 @@ export default {
};
},
filters
:
{
//过滤性别
formatSex
(
val
){
if
(
!
val
)
{
return
;
...
...
@@ -18,5 +19,25 @@ export default {
});
return
item
?
item
.
name
:
""
;
},
//过滤寄送状态
formatSendStatus
(
val
){
if
(
!
val
)
{
return
;
}
const
item
=
SendStatusOptions
.
find
((
item
)
=>
{
return
item
.
value
==
val
;
});
return
item
?
item
.
name
:
""
;
},
//过滤理赔状态
formatClaimsStatus
(
val
){
if
(
!
val
)
{
return
;
}
const
item
=
ClaimsStatusOptions
.
find
((
item
)
=>
{
return
item
.
value
==
val
;
});
return
item
?
item
.
name
:
""
;
},
}
};
This diff is collapsed.
Click to expand it.
src/utils/utilsdictOptions.js
View file @
8e2f690b
...
...
@@ -8,9 +8,27 @@ const sexOptions = [{
value
:
'
F
'
}];
//寄送状态
const
SendStatusOptions
=
[
{
name
:
'
未寄送
'
,
value
:
'
1
'
},
{
name
:
'
寄送
'
,
value
:
'
2
'
},
{
name
:
'
待寄送
'
,
value
:
'
3
'
},
];
//理赔状态
const
ClaimsStatusOptions
=
[
{
name
:
'
赔付
'
,
value
:
'
01
'
},
{
name
:
'
部分赔付
'
,
value
:
'
02
'
},
{
name
:
'
拒赔
'
,
value
:
'
03
'
},
{
name
:
'
补充材料
'
,
value
:
'
04
'
},
];
module
.
exports
=
{
sexOptions
,
SendStatusOptions
,
ClaimsStatusOptions
,
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
src/views/author/forget.vue
View file @
8e2f690b
...
...
@@ -111,15 +111,11 @@ export default {
});
},
handlerNext
()
{
this
.
$refs
.
form
.
validateField
(
[
"
userName
"
,
"
verificationCode
"
],
(
valid
)
=>
{
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
if
(
valid
)
{
return
false
;
}
this
.
activeStep
=
"
2
"
;
}
);
}
);
},
handlerReset
()
{
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
...
...
@@ -130,7 +126,31 @@ export default {
this
.
_reset
({
userName
,
verificationCode
,
newPwd
});
});
},
_getVerifyEmail
(
data
)
{
//校验用户邮箱
checkUserEmail
(
data
){
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$apis
.
CHECKUSEREMAIL
({
userName
:
data
.
userName
})
.
then
((
res
)
=>
{
if
(
res
.
returnCode
===
"
0000
"
)
{
resolve
(
res
.
content
);
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
);
reject
();
}
})
});
},
async
_getVerifyEmail
(
data
)
{
let
email
=
await
this
.
checkUserEmail
(
data
);
if
(
email
){
this
.
$modal
.
confirm
({
title
:
"
发送到邮箱
"
,
content
:
`确认发送至邮箱
${
email
}
?`
,
okText
:
"
确认
"
,
cancelText
:
"
取消
"
,
onOk
:
()
=>
{
this
.
$apis
.
GETVERIFYEMAIL
(
data
).
then
((
res
)
=>
{
if
(
res
.
returnCode
===
"
0000
"
)
{
this
.
$message
.
success
(
res
.
returnMsg
||
"
发送成功
"
);
...
...
@@ -139,6 +159,10 @@ export default {
}
});
},
onCancel
:
()
=>
{},
});
}
},
_reset
(
data
)
{
this
.
$apis
.
RESETPASSWORD
(
data
).
then
((
res
)
=>
{
if
(
res
.
returnCode
===
"
0000
"
)
{
...
...
@@ -175,11 +199,11 @@ export default {
.bd-b(solid, 31, transparent);
}
&::before {
.l(-
20
);
.l(-
18.8
);
.bd-r(solid, 20, #2b63ff);
}
&::after {
.r(-
20
);
.r(-
18.8
);
.bd-l(solid, 20, #2b63ff);
}
}
...
...
This diff is collapsed.
Click to expand it.
src/views/customer/info/index.vue
View file @
8e2f690b
...
...
@@ -50,6 +50,9 @@
:pagination="false"
:customRow="handlerRowClick"
>
<template
slot=
"sex"
slot-scope=
"text"
>
<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"
@
click.stop=
"printClaimPdf(record)"
>
打印理赔申请书
</a-button>
...
...
@@ -69,7 +72,7 @@
import
BurtPagination
from
"
@/components/CUSTOMER/pagation
"
;
import
{
downloadFile
}
from
'
@/utils/index
'
import
moment
from
'
moment
'
import
mixins
from
"
@/mixins
"
;
export
default
{
data
()
{
const
dateFormat
=
(
val
)
=>
{
...
...
@@ -79,18 +82,10 @@ export default {
{
title
:
"
病历号
"
,
dataIndex
:
"
mrnNo
"
,
width
:
180
,
},
{
title
:
"
客户姓名
"
,
dataIndex
:
"
patientName
"
,
width
:
120
,},
{
title
:
"
出生日期
"
,
dataIndex
:
"
birthday
"
,
width
:
170
,
customRender
:
dateFormat
},
{
title
:
"
性别
"
,
dataIndex
:
"
sex
"
,
width
:
80
,
customRender
:
(
val
)
=>
{
if
(
val
===
'
M
'
)
{
return
'
男
'
}
if
(
val
===
'
F
'
)
{
return
'
女
'
}
return
val
}
},
{
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
:
"
startDate
"
,
width
:
170
,
customRender
:
dateFormat
},
{
title
:
"
保险终止日期
"
,
dataIndex
:
"
endDate
"
,
width
:
170
,
customRender
:
dateFormat
},
{
title
:
"
操作
"
,
key
:
"
operation
"
,
width
:
"
260px
"
,
fixed
:
"
right
"
,
scopedSlots
:
{
customRender
:
"
operation
"
}},
];
...
...
@@ -107,6 +102,7 @@ export default {
},
};
},
mixins
:
[
mixins
],
components
:
{
BurtPagination
,
},
...
...
This diff is collapsed.
Click to expand it.
src/views/info/components/companyInfo.vue
View file @
8e2f690b
<
template
>
<div
class=
"info-div"
>
<Goback
title=
"保险公司详情"
/>
<a-form-model
ref=
"form"
layout=
"vertical"
>
<a-form-model
ref=
"form"
layout=
"vertical"
:model=
"detailObj"
:rules=
"formRules"
>
<a-row
:gutter=
"30"
>
<a-col
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"保险公司名称"
>
<a-form-model-item
label=
"保险公司名称"
prop=
"longName"
>
<a-input
v-model=
"detailObj.longName"
placeholder=
"保险公司名称"
/>
</a-form-model-item>
</a-col>
...
...
@@ -13,11 +13,6 @@
<a-input
v-model=
"detailObj.englishName"
placeholder=
"保险公司英文名称"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"保险公司Code"
>
<a-input
v-model=
"detailObj.payorCode"
placeholder=
"保险公司Code"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"国家"
>
<a-select
v-model=
"detailObj.country"
placeholder=
"请选择"
showSearch
>
...
...
@@ -28,7 +23,7 @@
</a-row>
<a-row
:gutter=
"30"
>
<a-col
:lg=
"3"
:sm=
"12"
>
<a-form-model-item
label=
"有效"
>
<a-form-model-item
label=
"有效"
prop=
"status"
>
<a-select
v-model=
"detailObj.status"
placeholder=
"请选择"
>
<a-select-option
value=
"1"
>
有效
</a-select-option>
<a-select-option
value=
"2"
>
无效
</a-select-option>
...
...
@@ -50,7 +45,7 @@
</a-row>
</a-col>
<a-col
:lg=
"10"
:sm=
"12"
>
<a-form-model-item
label=
"保险公司地址"
>
<a-form-model-item
label=
"保险公司地址"
prop=
"address"
>
<a-input
v-model=
"detailObj.address"
placeholder=
"保险公司地址"
/>
</a-form-model-item>
</a-col>
...
...
@@ -65,12 +60,12 @@
</a-form-model-item>
</a-col>
<a-col
:lg=
"4"
:sm=
"12"
>
<a-form-model-item
label=
"保险公司联系电话"
>
<a-form-model-item
label=
"保险公司联系电话"
prop=
"contactPhone"
>
<a-input
v-model=
"detailObj.contactPhone"
placeholder=
"保险公司联系电话"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"客服电话"
>
<a-form-model-item
label=
"客服电话"
prop=
"customerTel"
>
<a-input
v-model=
"detailObj.customerTel"
placeholder=
"客服电话"
/>
</a-form-model-item>
</a-col>
...
...
@@ -80,7 +75,7 @@
</a-form-model-item>
</a-col>
<a-col
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"保险公司邮件地址"
>
<a-form-model-item
label=
"保险公司邮件地址"
prop=
"email"
>
<a-input
v-model=
"detailObj.email"
placeholder=
"保险公司邮件地址"
/>
</a-form-model-item>
</a-col>
...
...
@@ -150,6 +145,7 @@
<
script
>
import
Goback
from
"
@/components/CUSTOMER/goback
"
;
import
moment
from
"
moment
"
;
export
default
{
props
:
{
detailObj
:
{
...
...
@@ -160,6 +156,14 @@ export default {
data
()
{
return
{
countyList
:
[],
formRules
:
{
longName
:
[{
required
:
true
,
message
:
"
请输入保险公司名称
"
,
trigger
:
"
blur
"
}],
status
:
[{
required
:
true
,
message
:
"
请选择是否有效
"
,
trigger
:
"
change
"
}],
address
:
[{
required
:
true
,
message
:
"
请输入保险公司地址
"
,
trigger
:
"
blur
"
}],
contactPhone
:
[{
required
:
true
,
message
:
"
请输入保险公司联系电话
"
,
trigger
:
"
blur
"
}],
customerTel
:
[{
required
:
true
,
message
:
"
请输入客服电话
"
,
trigger
:
"
blur
"
}],
email
:
[{
required
:
true
,
message
:
"
请输入保险公司邮件地址
"
,
trigger
:
"
blur
"
}],
},
}
},
components
:
{
...
...
@@ -194,8 +198,12 @@ export default {
},
//新建保存
handlerSava
(){
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
if
(
valid
)
{
let
formData
=
{
...
this
.
detailObj
,
startDate
:
this
.
detailObj
.
startDate
?
moment
(
this
.
detailObj
.
startDate
).
format
(
'
YYYY-MM-DD HH:mm:ss
'
):
''
,
endDate
:
this
.
detailObj
.
endDate
?
moment
(
this
.
detailObj
.
endDate
).
format
(
'
YYYY-MM-DD HH:mm:ss
'
):
''
,
claimApplicationTemplate
:
this
.
detailObj
.
claimApplicationTemplate
.
length
>
0
?
this
.
detailObj
.
claimApplicationTemplate
[
0
].
url
:
''
,
authApplicationTemplate
:
this
.
detailObj
.
authApplicationTemplate
.
length
>
0
?
this
.
detailObj
.
authApplicationTemplate
[
0
].
url
:
''
,
}
...
...
@@ -216,6 +224,8 @@ export default {
this
.
$message
.
error
(
res
.
returnMsg
);
}
});
}
});
},
removeFile
(
file
,
type
=
1
){
return
new
Promise
((
resolve
)
=>
{
...
...
This diff is collapsed.
Click to expand it.
src/views/info/components/infoDoctor.vue
0 → 100644
View file @
8e2f690b
<
template
>
<div
class=
"info-doctor"
>
<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>
</
template
>
<
template
slot=
"operation"
slot-scope=
"text, record, index"
>
<a-button
type=
"link"
@
click.stop=
"editEvt(record)"
>
修改
</a-button>
<a-button
type=
"link"
class=
"danger"
@
click.stop=
"delRecord(index)"
>
删除
</a-button>
</
template
>
</a-table>
<!--分页-->
<BurtPagination
:pagination=
"pagination"
@
pageChange=
"getDoctorList"
/>
<a-modal
title=
"编辑"
:visible=
"dialogShow"
width=
"60%"
:maskClosable=
"false"
okText=
"确定"
cancelText=
"取消"
@
ok=
"handleEditOK"
@
cancel=
"dialogShow = false"
>
<a-form-model
ref=
"editForm"
:model=
"editFormObj"
:rules=
"editRules"
>
<a-row
:gutter=
"30"
>
<a-col
:lg=
"12"
:sm=
"24"
>
<a-form-model-item
label=
"工号"
prop=
"doctorCode"
>
<a-input
type=
"number"
:min=
"0"
v-model.trim=
"editFormObj.doctorCode"
placeholder=
"工号"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"12"
:sm=
"24"
>
<a-form-model-item
label=
"医生姓名"
prop=
"doctorDesc"
>
<a-input
v-model.trim=
"editFormObj.doctorDesc"
placeholder=
"医生姓名"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"12"
:sm=
"24"
>
<a-form-model-item
label=
"医生英文名"
prop=
"doctorDescLang1"
>
<a-input
v-model.trim=
"editFormObj.doctorDescLang1"
placeholder=
"医生英文名"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"12"
:sm=
"24"
>
<a-form-model-item
label=
"国家/区域"
prop=
"country"
>
<a-select
v-model=
"editFormObj.country"
placeholder=
"请选择"
showSearch
allowClear
>
<a-select-option
v-for=
"(item) in countyList"
:value=
"item.descCh"
:key=
"item.id"
>
{{item.descCh}}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col
:lg=
"12"
:sm=
"24"
>
<a-form-model-item
label=
"语言"
prop=
"language"
>
<a-select
v-model=
"editFormObj.language"
placeholder=
"请选择"
mode=
"multiple"
showSearch
allowClear
>
<a-select-option
v-for=
"(item) in languageList"
:value=
"item.descCh"
:key=
"item.id"
>
{{item.descCh}}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col
:lg=
"12"
:sm=
"24"
>
<a-form-model-item
label=
"科室"
prop=
"specialtyList"
>
<a-select
v-model=
"editFormObj.specialtyList"
placeholder=
"请选择"
mode=
"multiple"
showSearch
allowClear
>
<a-select-option
:value=
"item.id"
v-for=
"item in specialtyList"
:key=
"item.id"
>
{{ item.specialtyDesc }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
</a-modal>
</div>
</template>
<
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
:
{
default
:
{}
}
},
data
(){
return
{
dialogShow
:
false
,
columns
,
dataList
:
[],
pagination
:
{
pageNum
:
1
,
pageSize
:
10
,
total
:
0
,
},
specialtyList
:
[],
//科室列表
specialtyObj
:
{},
//科室对象
countyList
:
[],
languageList
:
[],
editFormObj
:
{
id
:
""
,
doctorCode
:
''
,
doctorDesc
:
''
,
doctorDescLang1
:
''
,
country
:
''
,
language
:
[],
specialtyList
:
[],
},
editRules
:
{
specialtyList
:
[
{
required
:
true
,
message
:
"
请选择
"
,
trigger
:
"
change
"
},
],
},
}
},
components
:
{
BurtPagination
,
},
async
created
()
{
this
.
getSpecialtyList
();
this
.
getDoctorList
();
this
.
getRefcdByRefgrp
();
},
methods
:
{
filterSpecialty
(
val
)
{
let
txt
=
(
val
||
[]).
map
((
item
)
=>
{
return
this
.
specialtyObj
[
item
]
||
""
;
});
return
txt
.
join
(
"
,
"
);
},
//获取科室
getSpecialtyList
()
{
this
.
$apis
.
GETSPECIALTYLIST
().
then
((
res
)
=>
{
if
(
res
.
returnCode
==
"
0000
"
)
{
this
.
specialtyList
=
res
.
content
||
[];
(
res
.
content
||
[]).
forEach
((
item
)
=>
{
this
.
specialtyObj
[
item
.
id
]
=
item
.
specialtyDesc
;
});
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
);
}
});
},
getRefcdByRefgrp
()
{
// 获取国家列表
this
.
$apis
.
GETREFCDBYREFGRP
({
modid
:
"
CI
"
,
refgrp
:
"
COUNTRY_MAPPING
"
}).
then
((
res
)
=>
{
this
.
countyList
=
res
.
content
||
[];
});
// 获取语言列表
this
.
$apis
.
GETREFCDBYREFGRP
({
modid
:
"
CI
"
,
refgrp
:
"
LANGUAGE_TYPE
"
}).
then
((
res
)
=>
{
this
.
languageList
=
res
.
content
||
[];
});
},
//获取医生列表
getDoctorList
()
{
this
.
$apis
.
DOCTORLIST
({
providerId
:
this
.
detailObj
.
id
,
pageNum
:
this
.
pagination
.
pageNum
,
pageSize
:
this
.
pagination
.
pageSize
,
})
.
then
((
res
)
=>
{
if
(
res
.
returnCode
==
"
0000
"
)
{
let
content
=
res
.
content
||
{};
this
.
pagination
.
total
=
content
.
total
||
0
;
this
.
dataList
=
(
content
.
list
||
[]).
map
((
item
)
=>
{
let
specialtyList
=
(
item
.
specialtyList
||
[]).
map
(
(
innerItem
)
=>
{
return
innerItem
.
specialtyId
;
}
);
return
{
...
item
,
specialtyList
:
specialtyList
||
[],
};
});
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
);
}
});
},
editEvt
(
record
)
{
this
.
editFormObj
=
{
id
:
record
.
id
||
""
,
doctorCode
:
record
.
doctorCode
||
""
,
doctorDesc
:
record
.
doctorDesc
||
""
,
doctorDescLang1
:
record
.
doctorDescLang1
||
""
,
country
:
record
.
country
||
""
,
language
:
record
.
language
?
record
.
language
.
split
(
'
,
'
):
[],
specialtyList
:
record
.
specialtyList
||
[],
};
this
.
dialogShow
=
true
;
},
//编辑保存
handleEditOK
()
{
this
.
$refs
.
editForm
.
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
$apis
.
DOCTORUPDATE
({
...
this
.
editFormObj
,
language
:
this
.
editFormObj
.
language
.
join
(
'
,
'
),
specialtyList
:
this
.
editFormObj
.
specialtyList
.
map
((
item
)
=>
{
return
{
specialtyId
:
item
,
};
}),
})
.
then
((
res
)
=>
{
if
(
res
.
returnCode
==
"
0000
"
)
{
this
.
$message
.
success
(
"
编辑成功
"
);
this
.
dialogShow
=
false
;
this
.
getDoctorList
();
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
);
}
});
}
});
},
//删除医生
delRecord
(
index
)
{
this
.
$modal
.
confirm
({
title
:
"
删除
"
,
content
:
"
确定删除该条记录?
"
,
okText
:
"
确定
"
,
cancelText
:
"
取消
"
,
onOk
:
()
=>
{
this
.
$apis
.
DOCTORDELETE
({
id
:
this
.
dataList
[
index
].
id
,
})
.
then
((
res
)
=>
{
if
(
res
.
returnCode
==
"
0000
"
)
{
this
.
$message
.
success
(
"
删除成功
"
);
this
.
dataList
.
splice
(
index
,
1
);
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
);
}
});
},
});
},
}
}
</
script
>
<
style
lang=
"less"
scoped
>
</
style
>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
src/views/info/components/infoSpecial.vue
0 → 100644
View file @
8e2f690b
<
template
>
<div
class=
"info-special"
>
<div
class=
"btn-div"
>
<a-button
type=
"primary"
@
click=
"addNewEvt(
{})">
<Icon
name=
"ssiadd"
:size=
"14"
/>
新建科室
</a-button>
</div>
<a-table
:columns=
"columns"
:data-source=
"dataList"
:scroll=
"
{ x: 'max-content' }" :pagination="false">
<template
slot=
"coverageMasterList"
slot-scope=
"text"
>
<span>
{{
filterCoverage
(
text
)
}}
</span>
</
template
>
<
template
slot=
"operation"
slot-scope=
"text, record, index"
>
<a-button
type=
"link"
@
click.stop=
"addNewEvt(record)"
>
修改
</a-button>
<a-button
type=
"link"
class=
"danger"
@
click.stop=
"delRecord(index)"
>
删除
</a-button>
</
template
>
</a-table>
<!--分页-->
<BurtPagination
:pagination=
"pagination"
/>
<a-modal
:title=
"editFormObj.id?'编辑':'新建'"
:visible=
"dialogShow"
width=
"700px"
:maskClosable=
"false"
okText=
"确定"
cancelText=
"取消"
@
ok=
"handleEditOK"
@
cancel=
"dialogShow = false"
>
<a-form-model
ref=
"editForm"
:model=
"editFormObj"
:rules=
"editRules"
>
<a-row
:gutter=
"30"
>
<a-col
:lg=
"12"
:xs=
"24"
>
<a-form-model-item
label=
"科室名称"
prop=
"specialtyDesc"
>
<a-input
v-model.trim=
"editFormObj.specialtyDesc"
placeholder=
"科室名称"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"12"
:sm=
"24"
>
<a-form-model-item
label=
"责任列表"
prop=
"coverageCode"
>
<a-select
v-model=
"editFormObj.coverageCode"
placeholder=
"请选择责任"
search
allowClear
mode=
"multiple"
>
<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-row>
</a-form-model>
</a-modal>
</div>
</template>
<
script
>
import
BurtPagination
from
"
@/components/CUSTOMER/pagation
"
;
const
columns
=
[
{
title
:
"
序号
"
,
dataIndex
:
"
id
"
,
ellipsis
:
true
,
width
:
150
},
{
title
:
"
科室名称
"
,
dataIndex
:
"
specialtyDesc
"
,
ellipsis
:
true
,
width
:
150
},
{
title
:
"
科室编号
"
,
dataIndex
:
"
specialtyCode
"
,
ellipsis
:
true
,
width
:
150
},
{
title
:
"
责任
"
,
dataIndex
:
"
coverageMasterList
"
,
ellipsis
:
true
,
scopedSlots
:
{
customRender
:
"
coverageMasterList
"
},
width
:
155
,},
{
title
:
"
操作
"
,
dataIndex
:
"
operation
"
,
scopedSlots
:
{
customRender
:
"
operation
"
},
fixed
:
"
right
"
,
width
:
"
200px
"
,
align
:
"
center
"
,
},
];
export
default
{
data
(){
return
{
dialogShow
:
false
,
columns
,
dataList
:
[],
pagination
:
{
pageNum
:
1
,
pageSize
:
10
,
total
:
0
,
},
coverageCode
:
[],
//责任列表
editFormObj
:
{
id
:
''
,
specialtyDesc
:
''
,
coverageCode
:
[]
},
editRules
:
{
specialtyDesc
:
[{
required
:
true
,
message
:
"
请输入科室名称
"
,
trigger
:
"
blur
"
},
]
}
}
},
components
:
{
BurtPagination
},
created
(){
this
.
getData
()
this
.
getCoverageCode
();
},
methods
:
{
filterCoverage
(
val
)
{
let
txt
=
(
val
||
[]).
map
((
item
)
=>
{
return
item
.
coverageDesc
||
""
;
});
return
txt
.
join
(
"
,
"
);
},
getData
(){
this
.
$apis
.
SPECIALTYLISTPAGE
({
pageNum
:
this
.
pagination
.
pageNum
,
pageSize
:
this
.
pagination
.
pageSize
,
})
.
then
((
res
)
=>
{
if
(
res
.
returnCode
==
"
0000
"
)
{
let
content
=
res
.
content
||
{};
this
.
pagination
.
total
=
content
.
total
||
0
;
this
.
dataList
=
(
content
.
list
||
[]).
map
((
item
)
=>
{
let
coverageCode
=
(
item
.
coverageMasterList
||
[]).
map
(
item
=>
item
.
coverageCode
);
return
{
...
item
,
coverageCode
};
});
console
.
log
(
this
.
dataList
,
111
)
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
);
}
});
},
//获取责任列表
getCoverageCode
()
{
this
.
$apis
.
GETCOVERAGECODE
().
then
((
res
)
=>
{
this
.
coverageCode
=
res
.
content
||
[];
});
},
addNewEvt
(
record
){
this
.
dialogShow
=
true
;
this
.
$nextTick
(()
=>
{
this
.
$refs
.
editForm
.
resetFields
();
this
.
editFormObj
=
{
id
:
record
.
id
||
""
,
specialtyDesc
:
record
.
specialtyDesc
||
""
,
coverageCode
:
record
.
coverageCode
||
[],
};
})
},
//新建/编辑
handleEditOK
()
{
this
.
$refs
.
editForm
.
validate
((
valid
)
=>
{
if
(
valid
)
{
let
api
=
this
.
editFormObj
.
id
?
'
SPECIALTYUPDATE
'
:
'
SPECIALTYCREATE
'
;
this
.
$apis
[
api
]({
...
this
.
editFormObj
,
coverageMasterList
:
this
.
editFormObj
.
coverageCode
.
map
(
item
=>
{
return
{
coverageCode
:
item
}
})
})
.
then
((
res
)
=>
{
if
(
res
.
returnCode
==
"
0000
"
)
{
this
.
$message
.
success
(
this
.
editFormObj
.
id
?
"
编辑成功
"
:
'
新建成功
'
);
this
.
dialogShow
=
false
;
this
.
getData
();
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
);
}
});
}
});
},
//删除科室
delRecord
(
index
)
{
this
.
$modal
.
confirm
({
title
:
"
删除
"
,
content
:
"
确定删除该条记录?
"
,
okText
:
"
确定
"
,
cancelText
:
"
取消
"
,
onOk
:
()
=>
{
this
.
$apis
.
SPECIALTYDELETE
({
id
:
this
.
dataList
[
index
].
id
,
})
.
then
((
res
)
=>
{
if
(
res
.
returnCode
==
"
0000
"
)
{
this
.
$message
.
success
(
"
删除成功
"
);
this
.
dataList
.
splice
(
index
,
1
);
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
);
}
});
},
});
},
}
}
</
script
>
<
style
lang=
"less"
scoped
>
.btn-div{
margin-bottom: 10px;
}
</
style
>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
src/views/info/index.vue
View file @
8e2f690b
<
template
>
<div
class=
"white_bg burt-container"
>
<div
class=
"title-div"
>
申请日期
</div>
<a-form-model
ref=
"form"
layout=
"vertical"
>
<a-form-model
ref=
"form"
layout=
"vertical"
:model=
"detailObj"
:rules=
"formRules"
>
<a-row
:gutter=
"30"
>
<a-col
:lg=
"8"
:sm=
"12"
>
<a-form-model-item
label=
"医疗机构名称"
>
<a-form-model-item
label=
"医疗机构名称"
prop=
"longName"
>
<a-input
v-model=
"detailObj.longName"
placeholder=
"医疗机构名称"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"8"
:sm=
"12"
>
<a-form-model-item
label=
"医疗机构英文名"
>
<a-form-model-item
label=
"医疗机构英文名"
prop=
"englishName"
>
<a-input
v-model=
"detailObj.englishName"
placeholder=
"医疗机构英文名"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"8"
:sm=
"12"
>
<a-form-model-item
label=
"联系电话"
>
<a-form-model-item
label=
"联系电话"
prop=
"telNo1"
>
<a-input
v-model=
"detailObj.telNo1"
placeholder=
"请输入联系电话"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"10"
:sm=
"12"
>
<a-form-model-item
label=
"诊所地址(中文)"
>
<a-form-model-item
label=
"诊所地址(中文)"
prop=
"address"
>
<a-input
v-model=
"detailObj.address"
placeholder=
"诊所地址(中文)"
/>
</a-form-model-item>
</a-col>
...
...
@@ -98,157 +97,55 @@
<a-button
type=
"primary"
>
上传价目表文件
</a-button>
</a-upload>
</div>
-->
<div
class=
"title-div"
>
医生信息
</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>
</
template
>
<
template
slot=
"operation"
slot-scope=
"text, record, index"
>
<a-button
type=
"link"
@
click.stop=
"editEvt(record)"
>
修改
</a-button>
<a-button
type=
"link"
class=
"danger"
@
click.stop=
"delRecord(index)"
>
删除
</a-button>
</
template
>
</a-table>
<!--分页-->
<BurtPagination
:pagination=
"pagination"
@
pageChange=
"getDoctorList"
/>
<a-modal
title=
"编辑"
:visible=
"dialogShow"
width=
"60%"
:maskClosable=
"false"
okText=
"确定"
cancelText=
"取消"
@
ok=
"handleEditOK"
@
cancel=
"dialogShow = false"
>
<a-form-model
ref=
"editForm"
:model=
"editFormObj"
:rules=
"editRules"
>
<a-row
:gutter=
"30"
>
<a-col
:lg=
"12"
:sm=
"24"
>
<a-form-model-item
label=
"工号"
prop=
"doctorCode"
>
<a-input
type=
"number"
:min=
"0"
v-model.trim=
"editFormObj.doctorCode"
placeholder=
"工号"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"12"
:sm=
"24"
>
<a-form-model-item
label=
"医生姓名"
prop=
"doctorDesc"
>
<a-input
v-model.trim=
"editFormObj.doctorDesc"
placeholder=
"医生姓名"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"12"
:sm=
"24"
>
<a-form-model-item
label=
"医生英文名"
prop=
"doctorDescLang1"
>
<a-input
v-model.trim=
"editFormObj.doctorDescLang1"
placeholder=
"医生英文名"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"12"
:sm=
"24"
>
<a-form-model-item
label=
"国家"
prop=
"country"
>
<a-select
v-model=
"editFormObj.country"
placeholder=
"请选择"
showSearch
allowClear
>
<a-select-option
v-for=
"(item) in countyList"
:value=
"item.descCh"
:key=
"item.id"
>
{{item.descCh}}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col
:lg=
"12"
:sm=
"24"
>
<a-form-model-item
label=
"语言"
prop=
"language"
>
<a-select
v-model=
"editFormObj.language"
placeholder=
"请选择"
showSearch
allowClear
>
<a-select-option
v-for=
"(item) in languageList"
:value=
"item.descCh"
:key=
"item.id"
>
{{item.descCh}}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col
:lg=
"12"
:sm=
"24"
>
<a-form-model-item
label=
"科室"
prop=
"specialtyList"
>
<a-select
v-model=
"editFormObj.specialtyList"
placeholder=
"请选择"
mode=
"multiple"
showSearch
allowClear
>
<a-select-option
:value=
"item.id"
v-for=
"item in specialtyList"
:key=
"item.id"
>
{{ item.specialtyDesc }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
</a-modal>
<a-tabs
type=
"card"
v-model=
"activeKey"
@
change=
"paneChange"
>
<a-tab-pane
v-for=
"pane in panes"
:key=
"pane.key"
:tab=
"pane.title"
>
<component
v-if=
"detailObj.id && pane.show"
:detailObj=
"detailObj"
:is=
"pane.content"
></component>
</a-tab-pane>
</a-tabs>
</div>
</
template
>
<
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
"
,
},
];
import
InfoDoctor
from
'
./components/infoDoctor
'
;
import
InfoSpecial
from
'
./components/infoSpecial
'
;
export
default
{
data
()
{
return
{
dialogShow
:
false
,
columns
,
dataList
:
[],
detailObj
:
{},
//详细信息
pagination
:
{
pageNum
:
1
,
pageSize
:
10
,
total
:
0
,
},
specialtyList
:
[],
//科室列表
specialtyObj
:
{},
//科室对象
countyList
:
[],
languageList
:
[],
editFormObj
:
{
id
:
""
,
doctorCode
:
''
,
doctorDesc
:
''
,
doctorDescLang1
:
''
,
country
:
''
,
language
:
''
,
specialtyList
:
[],
},
editRules
:
{
specialtyList
:
[
{
required
:
true
,
message
:
"
请选择
"
,
trigger
:
"
change
"
},
],
},
formRules
:
{
longName
:
[{
required
:
true
,
message
:
"
请输入医疗机构名称
"
,
trigger
:
"
blur
"
}],
englishName
:
[{
required
:
true
,
message
:
"
请输入医疗机构英文名
"
,
trigger
:
"
blur
"
}],
telNo1
:
[{
required
:
true
,
message
:
"
请输入联系电话
"
,
trigger
:
"
blur
"
}],
address
:
[{
required
:
true
,
message
:
"
请输入诊所地址(中文)
"
,
trigger
:
"
blur
"
}]
},
activeKey
:
'
0
'
,
panes
:
[
{
title
:
"
医生信息
"
,
key
:
'
0
'
,
content
:
'
InfoDoctor
'
,
show
:
true
},{
title
:
"
科室管理
"
,
key
:
'
1
'
,
content
:
'
InfoSpecial
'
,
show
:
false
},
]
};
},
components
:
{
BurtPagination
,
InfoDoctor
,
InfoSpecial
},
async
created
()
{
this
.
getSpecialtyList
();
await
this
.
getDetail
();
this
.
getDoctorList
();
this
.
getRefcdByRefgrp
();
this
.
getDetail
();
},
methods
:
{
filterSpecialty
(
val
)
{
let
txt
=
(
val
||
[]).
map
((
item
)
=>
{
return
this
.
specialtyObj
[
item
]
||
""
;
});
return
txt
.
join
(
"
,
"
);
},
handlerSearch
()
{
this
.
pagination
.
pageNum
=
1
;
this
.
getData
();
},
getRefcdByRefgrp
()
{
// 获取国家列表
this
.
$apis
.
GETREFCDBYREFGRP
({
modid
:
"
CI
"
,
refgrp
:
"
COUNTRY_MAPPING
"
}).
then
((
res
)
=>
{
this
.
countyList
=
res
.
content
||
[];
});
// 获取语言列表
this
.
$apis
.
GETREFCDBYREFGRP
({
modid
:
"
CI
"
,
refgrp
:
"
LANGUAGE_TYPE
"
}).
then
((
res
)
=>
{
this
.
languageList
=
res
.
content
||
[];
});
},
//获取科室
getSpecialtyList
()
{
this
.
$apis
.
GETSPECIALTYLIST
().
then
((
res
)
=>
{
if
(
res
.
returnCode
==
"
0000
"
)
{
this
.
specialtyList
=
res
.
content
||
[];
(
res
.
content
||
[]).
forEach
((
item
)
=>
{
this
.
specialtyObj
[
item
.
id
]
=
item
.
specialtyDesc
;
});
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
);
}
paneChange
(){
this
.
panes
.
forEach
((
item
)
=>
{
item
.
show
=
false
;
});
this
.
panes
[
Number
(
this
.
activeKey
)].
show
=
true
;
},
//获取详细信息
getDetail
()
{
...
...
@@ -264,36 +161,10 @@ export default {
});
});
},
//获取医生列表
getDoctorList
()
{
this
.
$apis
.
DOCTORLIST
({
providerId
:
this
.
detailObj
.
id
,
pageNum
:
this
.
pagination
.
pageNum
,
pageSize
:
this
.
pagination
.
pageSize
,
})
.
then
((
res
)
=>
{
if
(
res
.
returnCode
==
"
0000
"
)
{
let
content
=
res
.
content
||
{};
this
.
pagination
.
total
=
content
.
total
||
0
;
this
.
dataList
=
(
content
.
list
||
[]).
map
((
item
)
=>
{
let
specialtyList
=
(
item
.
specialtyList
||
[]).
map
(
(
innerItem
)
=>
{
return
innerItem
.
specialtyId
;
}
);
return
{
...
item
,
specialtyList
:
specialtyList
||
[],
};
});
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
);
}
});
},
//保存
saveEvt
(){
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
if
(
valid
){
this
.
$apis
.
PROVIDERUPDATE
({...
this
.
detailObj
})
.
then
((
res
)
=>
{
if
(
res
.
returnCode
==
"
0000
"
)
{
...
...
@@ -302,67 +173,10 @@ export default {
this
.
$message
.
error
(
res
.
returnMsg
);
}
});
},
editEvt
(
record
)
{
this
.
editFormObj
=
{
id
:
record
.
id
||
""
,
doctorCode
:
record
.
doctorCode
||
""
,
doctorDesc
:
record
.
doctorDesc
||
""
,
doctorDescLang1
:
record
.
doctorDescLang1
||
""
,
country
:
record
.
country
||
""
,
language
:
record
.
language
||
""
,
specialtyList
:
record
.
specialtyList
||
[],
};
this
.
dialogShow
=
true
;
},
//编辑保存
handleEditOK
()
{
this
.
$refs
.
editForm
.
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
$apis
.
DOCTORUPDATE
({
...
this
.
editFormObj
,
specialtyList
:
this
.
editFormObj
.
specialtyList
.
map
((
item
)
=>
{
return
{
specialtyId
:
item
,
};
}),
})
.
then
((
res
)
=>
{
if
(
res
.
returnCode
==
"
0000
"
)
{
this
.
$message
.
success
(
"
编辑成功
"
);
this
.
dialogShow
=
false
;
this
.
getDoctorList
();
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
);
}
});
}
});
},
//删除医生
delRecord
(
index
)
{
this
.
$modal
.
confirm
({
title
:
"
删除
"
,
content
:
"
确定删除该条记录?
"
,
okText
:
"
确定
"
,
cancelText
:
"
取消
"
,
onOk
:
()
=>
{
this
.
$apis
.
DOCTORDELETE
({
id
:
this
.
dataList
[
index
].
id
,
})
.
then
((
res
)
=>
{
if
(
res
.
returnCode
==
"
0000
"
)
{
this
.
$message
.
success
(
"
删除成功
"
);
this
.
dataList
.
splice
(
index
,
1
);
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
);
}
});
},
});
},
},
};
</
script
>
...
...
This diff is collapsed.
Click to expand it.
src/views/verification/collectionDetail.vue
View file @
8e2f690b
...
...
@@ -84,18 +84,18 @@
</a-form-model-item>
</a-col>
<a-col
:lg=
"12"
:sm=
"24"
>
<a-form-model-item
label=
"
eob
核销时间"
prop=
"eobBackDate"
>
<a-form-model-item
label=
"
EOB
核销时间"
prop=
"eobBackDate"
>
<a-date-picker
format=
"YYYY年MM月DD日"
v-model=
"editFormObj.eobBackDate"
placeholder=
"选择日期"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"12"
:xs=
"24"
>
<a-form-model-item
label=
"
eob
回款(人民币)"
prop=
"eobBackMoneyCny"
>
<a-input
v-model.trim=
"editFormObj.eobBackMoneyCny"
placeholder=
"
eob
回款(人民币)"
/>
<a-form-model-item
label=
"
EOB
回款(人民币)"
prop=
"eobBackMoneyCny"
>
<a-input
v-model.trim=
"editFormObj.eobBackMoneyCny"
placeholder=
"
EOB
回款(人民币)"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"12"
:xs=
"24"
>
<a-form-model-item
label=
"
eob
回款(美元)"
prop=
"eobBackMoneyUsd"
>
<a-input
v-model.trim=
"editFormObj.eobBackMoneyUsd"
placeholder=
"
eob
回款(美元)"
/>
<a-form-model-item
label=
"
EOB
回款(美元)"
prop=
"eobBackMoneyUsd"
>
<a-input
v-model.trim=
"editFormObj.eobBackMoneyUsd"
placeholder=
"
EOB
回款(美元)"
/>
</a-form-model-item>
</a-col>
</a-row>
...
...
@@ -317,9 +317,13 @@ export default {
handleEditOK
()
{
this
.
$refs
.
editForm
.
validate
((
valid
)
=>
{
if
(
valid
)
{
let
editFormObj
=
{
...
this
.
editFormObj
,
eobBackDate
:
this
.
editFormObj
.
eobBackDate
?
moment
(
this
.
editFormObj
.
eobBackDate
).
format
(
'
YYYY-MM-DD 00:00:00
'
):
""
,
}
this
.
$apis
.
SAVEBACKMONEY
({
...
this
.
form
,
backMoneyEobList
:
[
this
.
editFormObj
],
backMoneyEobList
:
[
editFormObj
],
backDate
:
this
.
form
.
backDate
?
moment
(
this
.
form
.
backDate
).
format
(
'
YYYY-MM-DD 00:00:00
'
):
''
,
backMoneyNo
:
this
.
backMoneyNo
,
//回款编号
})
...
...
This diff is collapsed.
Click to expand it.
src/views/verification/indexDetail.vue
View file @
8e2f690b
...
...
@@ -46,7 +46,17 @@
<a-input
v-model=
"form.eobRemark"
placeholder=
"请输入备注"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"6"
:sm=
"12"
class=
"none-label"
>
<a-col
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"EOB文件"
>
<a-upload
name=
"file"
:multiple=
"false"
:showUploadList=
"true"
:fileList=
"form.eobFile"
:customRequest=
"uploadEvt"
:remove=
"removeFile"
>
<a-button
type=
"primary"
>
<Icon
name=
"ssiupload"
:size=
"18"
/>
上传EOB文件
</a-button>
</a-upload>
</a-form-model-item>
</a-col>
<a-col
:lg=
"24"
:sm=
"24"
class=
"none-label"
>
<a-form-model-item
label=
"button"
>
<!--
<a-button
type=
"primary"
>
导出
</a-button>
-->
<a-button
class=
"mar-left10"
type=
"primary"
@
click=
"addNewEvt"
>
...
...
@@ -74,8 +84,8 @@
<span>
{{
record
.
visitTimeStart
?
moment
(
record
.
visitTimeStart
).
format
(
'
YYYY-MM-DD
'
):
''
}}
</span>
~
<span>
{{
record
.
visitTimeEnd
?
moment
(
record
.
visitTimeEnd
).
format
(
'
YYYY-MM-DD
'
):
''
}}
</span>
</
template
>
<
template
slot=
"
sendSts"
slot-scope=
"record,
text"
>
<span>
{{
text
==
1
?
'
已寄送
'
:
'
未寄送
'
}}
</span>
<
template
slot=
"
claimsStatus"
slot-scope=
"
text"
>
<span>
{{
text
|
formatClaimsStatus
}}
</span>
</
template
>
<
template
slot=
"operation"
slot-scope=
"text, record"
>
<a-button
type=
"link"
@
click.stop=
"editEvt(record)"
>
修改
</a-button>
...
...
@@ -90,21 +100,20 @@
<a-form-model
ref=
"editForm"
:model=
"editFormObj"
:rules=
"editRules"
>
<a-row
:gutter=
"30"
>
<a-col
:lg=
"12"
:sm=
"24"
>
<a-form-model-item
label=
"理赔状态"
prop=
"paidSts"
>
<a-select
v-model=
"editFormObj.sendSts"
placeholder=
"请选择理赔状态"
allowClear
>
<a-select-option
:value=
"1"
>
待核销
</a-select-option>
<a-select-option
:value=
"2"
>
已核销
</a-select-option>
<a-form-model-item
label=
"理赔状态"
prop=
"claimsStatus"
>
<a-select
v-model=
"editFormObj.claimsStatus"
placeholder=
"请选择理赔状态"
allowClear
>
<a-select-option
v-for=
"(item,i) in ClaimsStatusOptions"
:key=
"i"
:value=
"item.value"
>
{{item.name}}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col
:lg=
"12"
:xs=
"24"
>
<a-form-model-item
label=
"账单回款金额"
prop=
"paidAmountEob"
>
<a-input
v-model.trim=
"editFormObj.paidAmountEob"
placeholder=
"账单回款金额"
type=
"number"
/>
<a-input
v-model.trim=
"editFormObj.paidAmountEob"
placeholder=
"账单回款金额"
type=
"number"
@
change=
"moneyChange"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"12"
:xs=
"24"
>
<a-form-model-item
label=
"未赔付金额"
prop=
"refuseAmountEob"
>
<a-input
v-model.trim=
"editFormObj.refuseAmountEob"
placeholder=
"未赔付金额"
type=
"number"
/>
<a-input
v-model.trim=
"editFormObj.refuseAmountEob"
placeholder=
"未赔付金额"
type=
"number"
disabled
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"12"
:xs=
"24"
>
...
...
@@ -122,12 +131,14 @@
import
Goback
from
"
@/components/CUSTOMER/goback
"
;
import
BurtPagination
from
"
@/components/CUSTOMER/pagation
"
;
import
moment
from
"
moment
"
;
import
{
ClaimsStatusOptions
}
from
'
@/utils/utilsdictOptions.js
'
import
mixins
from
"
@/mixins
"
;
const
columns
=
[
{
title
:
"
账单编号
"
,
dataIndex
:
"
receiptNo
"
,
ellipsis
:
true
,
width
:
100
},
{
title
:
"
客户姓名
"
,
dataIndex
:
"
patientName
"
,
ellipsis
:
true
,
width
:
85
},
{
title
:
"
保险公司
"
,
dataIndex
:
"
payorName
"
,
ellipsis
:
true
,
width
:
80
},
{
title
:
"
就诊日期
"
,
dataIndex
:
"
visitTimeStart
"
,
ellipsis
:
true
,
width
:
110
,
scopedSlots
:
{
customRender
:
"
visitTimeStart
"
}
},
{
title
:
"
理赔状态
"
,
dataIndex
:
"
sendSts
"
,
ellipsis
:
true
,
width
:
90
,
scopedSlots
:
{
customRender
:
"
sendSt
s
"
}
},
{
title
:
"
理赔状态
"
,
dataIndex
:
"
claimsStatus
"
,
ellipsis
:
true
,
width
:
90
,
scopedSlots
:
{
customRender
:
"
claimsStatu
s
"
}
},
{
title
:
"
账单金额
"
,
dataIndex
:
"
receiptAmount
"
,
ellipsis
:
true
,
width
:
85
},
{
title
:
"
自付金额
"
,
dataIndex
:
"
selfpaidAmount
"
,
ellipsis
:
true
,
width
:
85
},
{
title
:
"
理赔金额
"
,
dataIndex
:
"
eobPaidAmount
"
,
ellipsis
:
true
,
width
:
85
},
...
...
@@ -143,6 +154,7 @@ export default {
return
{
dialogShow
:
false
,
columns
,
ClaimsStatusOptions
,
eobNo
:
''
,
//eob编号
form
:
{
eobDate
:
''
,
...
...
@@ -151,7 +163,8 @@ export default {
eobAmountCny
:
''
,
eobAmountUsd
:
''
,
eobSts
:
''
,
eobRemark
:
''
eobRemark
:
''
,
eobFile
:
[]
},
dataList
:
[],
isEditNewEob
:
false
,
//是否在新建EOB
...
...
@@ -164,7 +177,7 @@ export default {
selectedRowKeys
:
[],
// Check here to configure the default column
editFormObj
:
{
receiptNo
:
''
,
paidSt
s
:
''
,
claimsStatu
s
:
''
,
paidAmountEob
:
''
,
refuseAmountEob
:
''
},
...
...
@@ -173,6 +186,7 @@ export default {
},
};
},
mixins
:
[
mixins
],
components
:
{
Goback
,
BurtPagination
,
...
...
@@ -182,7 +196,20 @@ export default {
this
.
_getCompanyOptions
();
if
(
this
.
eobNo
){
let
EobDataDetail
=
localStorage
.
getItem
(
'
EobDataDetail
'
);
this
.
form
=
EobDataDetail
?
JSON
.
parse
(
EobDataDetail
):
{};
let
dataDetail
=
EobDataDetail
?
JSON
.
parse
(
EobDataDetail
):
{};
if
(
dataDetail
.
eobFile
){
dataDetail
.
eobFile
=
[
{
uid
:
Math
.
random
()
*
10000
,
name
:
dataDetail
.
eobFile
.
slice
(
dataDetail
.
eobFile
.
lastIndexOf
(
'
/
'
)
+
1
),
status
:
'
done
'
,
url
:
dataDetail
.
eobFile
,
}
]
}
else
{
dataDetail
.
eobFile
=
[];
}
this
.
form
=
dataDetail
;
this
.
getData
();
}
},
...
...
@@ -206,6 +233,10 @@ export default {
this
.
isEditNewEob
=
false
;
this
.
getData
();
},
//回款金额改变
moneyChange
(){
this
.
editFormObj
.
refuseAmountEob
=
this
.
form
.
eobPaidAmount
||
0
-
this
.
editFormObj
.
paidAmountEob
||
0
;
},
// 获取保险公司下拉选项
_getCompanyOptions
()
{
this
.
$apis
.
GETCOMPANYOPTIONS
().
then
((
res
)
=>
{
...
...
@@ -230,13 +261,17 @@ export default {
},
//修改单条数据
editEvt
(
record
)
{
this
.
dialogShow
=
true
;
this
.
$nextTick
(()
=>
{
this
.
editFormObj
=
{
id
:
record
.
id
,
receiptNo
:
record
.
receiptNo
,
refuseAmountEob
:
record
.
refuseAmountEob
||
""
,
paidSts
:
record
.
paidSt
s
||
""
,
claimsStatus
:
record
.
claimsStatu
s
||
""
,
paidAmountEob
:
record
.
paidAmountEob
||
""
,
};
this
.
dialogShow
=
true
;
this
.
moneyChange
();
})
},
//编辑保存
handleEditOK
()
{
...
...
@@ -244,6 +279,7 @@ export default {
if
(
valid
)
{
this
.
$apis
.
SAVEEOBRECEIPTINFO
({
...
this
.
form
,
eobFile
:
this
.
form
.
eobFile
.
length
>
0
?
this
.
form
.
eobFile
[
0
].
url
:
''
,
eobReceiptList
:
[
this
.
editFormObj
],
eobDate
:
this
.
form
.
eobDate
?
moment
(
this
.
form
.
eobDate
).
format
(
'
YYYY-MM-DD 00:00:00
'
):
''
})
...
...
@@ -314,6 +350,7 @@ export default {
this
.
dataList
.
forEach
((
item
,
index
)
=>
{
if
(
this
.
selectedRowKeys
.
indexOf
(
index
)
!=-
1
){
eobReceiptList
.
push
({
id
:
item
.
id
,
receiptNo
:
item
.
receiptNo
,
refuseAmountEob
:
item
.
refuseAmountEob
,
paidSts
:
item
.
paidSts
,
...
...
@@ -323,6 +360,7 @@ export default {
})
let
formData
=
{
...
this
.
form
,
eobFile
:
this
.
form
.
eobFile
.
length
>
0
?
this
.
form
.
eobFile
[
0
].
url
:
''
,
eobReceiptList
:
eobReceiptList
,
eobDate
:
this
.
form
.
eobDate
?
moment
(
this
.
form
.
eobDate
).
format
(
'
YYYY-MM-DD 00:00:00
'
):
''
,
eobNo
:
this
.
eobNo
...
...
@@ -342,6 +380,30 @@ export default {
}
});
})
},
removeFile
(){
return
new
Promise
((
resolve
)
=>
{
this
.
form
.
eobFile
=
[];
resolve
();
});
},
//上传
uploadEvt
(
fileData
){
let
formData
=
new
FormData
();
formData
.
append
(
"
file
"
,
fileData
.
file
);
this
.
$apis
.
UPLOADIMG
(
formData
)
.
then
((
res
)
=>
{
fileData
.
onSuccess
();
let
fileList
=
[
{
uid
:
Math
.
random
()
*
10000
,
name
:
res
.
title
,
status
:
'
done
'
,
url
:
res
.
url
,
}
]
this
.
form
.
eobFile
=
fileList
;
})
}
},
};
...
...
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