Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica-admin-consultation
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
jingqi.liu
pica-admin-consultation
提交
2f80cb13
提交
2f80cb13
编写于
5月 19, 2021
作者:
vino
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改服务列表和增加助诊医生分佣设置列表
上级
cb66ed17
变更
6
显示空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
875 行增加
和
41 行删除
+875
-41
table-component.vue
src/components/list/table-component.vue
+3
-2
router.js
src/router/router.js
+4
-0
filter.js
src/utils/filter.js
+11
-0
assist-list.vue
src/views/IM/diagnosis-admin/assist-list.vue
+729
-0
diagnosis-editor.vue
src/views/IM/diagnosis-admin/diagnosis-editor.vue
+7
-1
service-list.vue
src/views/IM/diagnosis-admin/service-list.vue
+121
-38
未找到文件。
src/components/list/table-component.vue
浏览文件 @
2f80cb13
...
...
@@ -12,6 +12,7 @@
<el-table-column
prop=
"orderNo"
label=
"订单ID"
min-width=
"170"
align=
"center"
></el-table-column>
<el-table-column
prop=
"diagnoseTypeStr"
label=
"预约类型"
min-width=
"150"
align=
"center"
></el-table-column>
<el-table-column
prop=
"statusStr"
label=
"状态"
min-width=
"150"
align=
"center"
></el-table-column>
<el-table-column
prop=
"crrsName"
label=
"招募人"
min-width=
"170"
align=
"center"
></el-table-column>
<el-table-column
prop=
"operateUserName"
label=
"运营人员"
min-width=
"150"
align=
"center"
></el-table-column>
<el-table-column
prop=
"patientName"
label=
"患者姓名"
min-width=
"150"
align=
"center"
></el-table-column>
<el-table-column
prop=
"idCard"
label=
"证件号"
min-width=
"170"
align=
"center"
></el-table-column>
...
...
@@ -53,6 +54,7 @@
</el-table-column>
<el-table-column
prop=
"payTypeStr"
label=
"支付方式"
min-width=
"150"
align=
"center"
></el-table-column>
<el-table-column
prop=
"sexStr"
label=
"性别"
min-width=
"150"
align=
"center"
></el-table-column>
<el-table-column
prop=
"maritalStatusStr"
label=
"婚否"
min-width=
"150"
align=
"center"
></el-table-column>
<el-table-column
prop=
"age"
label=
"年龄"
min-width=
"150"
align=
"center"
></el-table-column>
<el-table-column
prop=
"idCardTypeStr"
label=
"证件类型"
min-width=
"170"
align=
"center"
></el-table-column>
<el-table-column
prop=
"userTitle"
label=
"助诊医生职称"
min-width=
"170"
align=
"center"
></el-table-column>
...
...
@@ -68,7 +70,6 @@
<span>
{{
scope
.
row
.
serviceFee
|
priceFilter
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"crrsName"
label=
"招募人"
min-width=
"170"
align=
"center"
></el-table-column>
<el-table-column
prop=
"remark"
label=
"备注"
min-width=
"200"
align=
"center"
show-overflow-tooltip
></el-table-column>
<el-table-column
label=
"操作"
fixed=
"right"
align=
"center"
min-width=
"200"
>
<
template
slot-scope=
"scope"
>
...
...
src/router/router.js
浏览文件 @
2f80cb13
...
...
@@ -5,6 +5,7 @@ const diagnosisList = r => require.ensure([], () => r(require('../views/IM/diagn
const
diagnosisIm
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/diagnosis-admin/diagnosis-im.vue'
)),
'diagnosisIm'
)
const
diagnosisLive
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/diagnosis-admin/diagnosis-live.vue'
)),
'diagnosisLive'
)
const
serviceList
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/diagnosis-admin/service-list.vue'
)),
'serviceList'
)
const
assistList
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/diagnosis-admin/assist-list.vue'
)),
'assistList'
)
const
diagnosisEditor
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/diagnosis-admin/diagnosis-editor.vue'
)),
'diagnosisEditor'
)
const
diagnosisListLod
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/diagnosis-admin/diagnosis-list-old.vue'
)),
'diagnosisListLod'
)
...
...
@@ -27,6 +28,9 @@ export default [{
},
{
path
:
'/service-List'
,
component
:
serviceList
},
{
path
:
'/assist-list'
,
component
:
assistList
},
{
path
:
'/diagnosis-editor'
,
component
:
diagnosisEditor
...
...
src/utils/filter.js
浏览文件 @
2f80cb13
...
...
@@ -22,6 +22,17 @@ const vueFilter = {
else
{
return
value
;
}
},
priceNum
(
value
)
{
if
(
value
!=
""
&&
value
!=
null
&&
value
!=
"null"
){
return
(
value
/
100
).
toFixed
(
2
);
}
else
if
(
value
==
0
){
return
(
value
/
100
).
toFixed
(
2
);
}
else
{
return
value
;
}
},
diagnosisTypeFilter
:
(
value
)
=>
{
if
(
value
==
1
)
{
...
...
src/views/IM/diagnosis-admin/assist-list.vue
0 → 100644
浏览文件 @
2f80cb13
<
template
>
<div
class=
"diagnosis-list-content"
>
<div
class=
"component-content screenSet"
id=
"screenSet"
>
<div
class=
"title"
>
助诊医生列表
</div>
<el-form
ref=
"form"
:inline=
"true"
:model=
"searchParam"
label-suffix=
":"
label-width=
"120px"
label-position=
"right"
style=
"width:100%;"
>
<el-row
:gutter=
"30"
type=
"flex"
style=
"margin-bottom:0;"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"助诊医生"
>
<el-input
v-model=
"searchParam.searchKey"
size=
"middle"
placeholder=
"请输入医生姓名或联系电话"
style=
"width: 120%;"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"10"
style=
"margin-left: 45px;"
>
<el-form-item
label=
"所在机构"
>
<el-input
v-model=
"searchParam.hospitalName"
size=
"middle"
placeholder=
"请输入所在机构名称"
style=
"width: 120%;"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"30"
type=
"flex"
style=
"margin-bottom:0;"
>
<el-col
:span=
"15"
>
<el-form-item
label=
"创建时间"
>
<el-date-picker
v-model=
"rangeTime"
type=
"daterange"
value-format=
"yyyy-MM-dd"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
style=
"width: 100%;"
:picker-options=
"pickerOptions1"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"10"
>
<el-form-item
label=
"分佣方式"
style=
"margin-left: 10px;"
>
<el-select
v-model=
"searchParam.commissionType"
id=
"statusSelector"
placeholder=
"请选择分佣方式"
clearable
style=
"width:110%;height: 32px;line-height: 32px;"
>
<el-option
v-for=
"item in commissionTypeList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"3"
style=
"text-align:center;padding-right:55px;padding-left: 0px;"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"search()"
>
搜索
</el-button>
</el-col>
</el-row>
</el-form>
<el-row
:gutter=
"30"
type=
"flex"
style=
"margin-bottom:0;float: right;"
>
<el-col
:span=
"5"
style=
"text-align:right;margin-bottom: 10px;margin-right: 40px;"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"refresh()"
>
刷新页面
</el-button>
</el-col>
<el-col
:span=
"5"
style=
"text-align:right;"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"add()"
>
添加助诊医生
</el-button>
</el-col>
</el-row>
<!-- 表格 -->
<el-table
class=
"search-table"
:data=
"tableData"
style=
"width: 100%"
v-loading=
"loading"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"50"
></el-table-column>
<el-table-column
prop=
"userId"
label=
"ID"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"userName"
label=
"助诊医生"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"mobile"
label=
"手机号"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"address"
label=
"地区"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"hospitalName"
label=
"医院"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"department"
label=
"科室"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"title"
label=
"职称"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"audioCommissionTypeStr"
label=
"语音分佣规则"
min-width=
"120"
align=
"left"
></el-table-column>
<el-table-column
prop=
"audioPrice"
label=
"语音分佣"
min-width=
"100"
align=
"left"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
audioPrice
|
priceNum
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"videoCommissionTypeStr"
label=
"视频分佣规则"
min-width=
"120"
align=
"left"
></el-table-column>
<el-table-column
prop=
"videoPrice"
label=
"视频分佣"
min-width=
"100"
align=
"left"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
videoPrice
|
priceNum
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"imgCommissionTypeStr"
label=
"图文分佣规则"
min-width=
"120"
align=
"left"
></el-table-column>
<el-table-column
prop=
"imgPrice"
label=
"图文分佣"
min-width=
"100"
align=
"left"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
imgPrice
|
priceNum
}}
</span>
</
template
>
</el-table-column>
<!-- <el-table-column prop="price" label="价格(元)" min-width="60" align="left">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{scope.row.price | rounding}}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column prop="status" label="状态" min-width="80" align="left">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{scope.row.status | statusFilter}}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column
prop=
"createdTime"
label=
"注册时间"
min-width=
"160"
align=
"left"
>
</el-table-column>
<el-table-column
label=
"操作"
fixed=
"right"
align=
"center"
min-width=
"150"
>
<
template
slot-scope=
"scope"
>
<div>
<el-button
type=
"primary"
size=
"small"
@
click=
"setPrice(scope.row, false)"
style=
"margin-top: 10px;"
>
设置分佣
</el-button>
</div>
</
template
>
</el-table-column>
</el-table>
<!-- 分页 -->
<div
class=
"pagination"
>
<el-pagination
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"searchParam.pageNo"
:page-sizes=
"[10, 15, 30, 50, 100, 200, 500, 700, 1000, 1500, 2000]"
:page-size=
"searchParam.pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"totalRows"
>
</el-pagination>
</div>
<el-dialog
:title=
"title"
:visible
.
sync=
"setAddVisible"
width=
"60%"
>
<el-row
:gutter=
"30"
class=
"row search"
type=
"flex"
style=
"margin-bottom:0;"
>
<el-form
ref=
"setPriceForm"
:rules=
"addRules"
:model=
"model"
label-width=
"250px"
label-suffix=
":"
label-position=
"right"
size=
"mini"
style=
"width: 100%;"
>
<el-col
:span=
"15"
>
<el-form-item
label=
"助诊医生"
class=
"required-label"
prop=
"userName"
>
<el-select
v-model=
"model.userName"
filterable
remote
placeholder=
"请输入专家姓名或医院名称,多个关键字用空格隔开,至少输入两个字符"
clearable
style=
"width: 170%;"
:remote-method=
"remoteMethod"
:disabled=
"isEdit"
@
change=
"nameChange"
@
visible-change=
"noSelectHand"
>
<el-option
v-for=
"item in nameList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
>
<span>
{{item.value}}
</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="15" style="margin-left: 105px;">-->
<!-- 实际收入(接诊后实际到账金额): ¥{{tempPrice | rounding}}-->
<!-- </el-col>-->
<el-col
:span=
"15"
>
<el-form-item
label=
"助诊医生职称"
class=
"required-label"
>
<el-input
v-model=
"model.title"
style=
"width: 170%;"
disabled
size=
"small"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"15"
>
<el-form-item
label=
"助诊医生所在机构"
class=
"required-label"
>
<el-input
v-model=
"model.hospitalName"
style=
"width: 170%;"
disabled
size=
"small"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"15"
>
<el-form-item
label=
"助诊医生所在科室"
class=
"required-label"
>
<el-input
v-model=
"model.department"
style=
"width: 170%;"
disabled
size=
"small"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"15"
>
<el-form-item
label=
"助诊电话"
class=
"required-label"
>
<el-input
v-model=
"model.mobile"
style=
"width: 170%;"
disabled
size=
"small"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"15"
>
<el-form-item
label=
"语音问诊分佣"
prop=
"audioCommissionType"
class=
"required-label"
>
<el-radio-group
v-model=
"model.audioCommissionType"
size=
"small"
style=
"line-height: 30px;"
>
<el-radio
:label=
"1"
style=
"float: left;margin-top: 10px;line-height: 20px;"
>
按比例分佣
</el-radio>
<span
style=
"float: right;width: 100px;"
><el-input-number
v-model=
"model.audioPrice1"
size=
"small"
:precision=
"2"
:min=
"0"
:max=
"9999"
></el-input-number></span>
<el-radio
:label=
"2"
style=
"float: left;margin-top: 10px;line-height: 20px;"
>
固定分佣金额
</el-radio>
<span
style=
"float: right;width: 100px;"
><el-input-number
v-model=
"model.audioPrice2"
size=
"small"
:precision=
"2"
:min=
"0"
:max=
"9999"
></el-input-number></span>
</el-radio-group>
</el-form-item>
</el-col>
<el-col
:span=
"15"
>
<el-form-item
label=
"视频问诊分佣"
prop=
"videoCommissionType"
class=
"required-label"
>
<el-radio-group
v-model=
"model.videoCommissionType"
size=
"small"
style=
"line-height: 30px;"
>
<el-radio
:label=
"1"
style=
"float: left;margin-top: 10px;line-height: 20px;"
>
按比例分佣
</el-radio>
<span
style=
"float: right;width: 100px;"
><el-input-number
v-model=
"model.videoPrice1"
size=
"small"
:precision=
"2"
:min=
"0"
:max=
"9999"
></el-input-number></span>
<el-radio
:label=
"2"
style=
"float: left;margin-top: 10px;line-height: 20px;"
>
固定分佣金额
</el-radio>
<span
style=
"float: right;width: 100px;"
><el-input-number
v-model=
"model.videoPrice2"
size=
"small"
:precision=
"2"
:min=
"0"
:max=
"9999"
></el-input-number></span>
</el-radio-group>
</el-form-item>
</el-col>
<el-col
:span=
"15"
>
<el-form-item
label=
"图文问诊分佣"
prop=
"imgCommissionType"
class=
"required-label"
>
<el-radio-group
v-model=
"model.imgCommissionType"
size=
"small"
style=
"line-height: 30px;"
>
<el-radio
:label=
"1"
style=
"float: left;margin-top: 10px;line-height: 20px;"
>
按比例分佣
</el-radio>
<span
style=
"float: right;width: 100px;"
><el-input-number
v-model=
"model.imgPrice1"
size=
"small"
:precision=
"2"
:min=
"0"
:max=
"9999"
></el-input-number></span>
<el-radio
:label=
"2"
style=
"float: left;margin-top: 10px;line-height: 20px;"
>
固定分佣金额
</el-radio>
<span
style=
"float: right;width: 100px;"
><el-input-number
v-model=
"model.imgPrice2"
size=
"small"
:precision=
"2"
:min=
"0"
:max=
"9999"
></el-input-number></span>
</el-radio-group>
</el-form-item>
</el-col>
</el-form>
</el-row>
<span
slot=
"footer"
class=
"dialog-footer"
style=
"text-align: center;"
>
<!-- <el-button @click="setPriceVisible = false">取 消</el-button>-->
<el-button
type=
"primary"
@
click=
"submit"
>
提交
</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
<
script
>
let
vm
=
null
;
export
default
{
data
(){
return
{
endFlag
:
false
,
beginFlag
:
false
,
loading
:
false
,
setPriceVisible
:
false
,
rangeTime
:
""
,
searchParam
:
{
searchKey
:
''
,
hospitalName
:
''
,
commissionType
:
0
,
startTime
:
""
,
endTime
:
""
,
pageSize
:
10
,
pageNo
:
1
},
batchUpdatePriceFlag
:
false
,
setPriceForm
:{
doctorId
:
''
,
serviceType
:
''
,
price
:
''
},
model
:{
name
:
''
,
userId
:
''
,
userName
:
''
,
mobile
:
''
,
address
:
''
,
hospitalName
:
''
,
title
:
''
,
audioCommissionType
:
''
,
audioPrice
:
''
,
audioPrice1
:
''
,
audioPrice2
:
''
,
videoCommissionType
:
''
,
videoPrice
:
''
,
videoPrice1
:
''
,
videoPrice2
:
''
,
imgCommissionType
:
''
,
imgPrice
:
''
,
imgPrice1
:
''
,
imgPrice2
:
''
,
},
timeSelect
:
[],
diagnosisSelect
:
[],
serviceTypeList
:
[],
tableData
:
[],
totalRows
:
0
,
setPriceRules
:
{
// price: [
// { required: true, message: '请输入价格', trigger: 'blur'},
// { pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/, message: '请输入正确额格式,可保留两位小数' }
// ],
},
liveBack
:
false
,
timeClickFlag
:
true
,
multipleSelection
:
[],
tempPrice
:
0
,
statusList
:
[
{
value
:
0
,
label
:
"全部"
},
{
value
:
1
,
label
:
"下架"
},
{
value
:
2
,
label
:
"上架"
}],
profit
:
0
,
selectedList
:[],
selectedPriceList
:[],
setAddVisible
:
false
,
title
:
'添加助诊医生'
,
isEdit
:
false
,
nameList
:
[],
commissionTypeList
:
[
{
value
:
0
,
label
:
"全部"
},
{
value
:
1
,
label
:
"按比例分佣"
},
{
value
:
2
,
label
:
"固定分佣金额"
}],
pickerOptions0
:
{
disabledDate
:
time
=>
{
if
(
this
.
searchParam
.
endTimestamp
!=
""
&&
this
.
searchParam
.
endTimestamp
!=
null
)
{
return
(
time
.
getTime
()
>
new
Date
(
this
.
searchParam
.
endTimestamp
).
getTime
()
);
}
}
},
pickerOptions1
:
{
disabledDate
:
time
=>
{
return
(
time
.
getTime
()
>
new
Date
().
getTime
()
);
//减去一天的时间代表可以选择同一天;
}
},
addRules
:
{
userName
:
[
{
required
:
true
,
message
:
"请输入助诊医生"
,
trigger
:
'blur'
}
],
audioCommissionType
:
[
{
required
:
true
,
message
:
"请设置语音问诊分佣"
,
trigger
:
'blur'
}
],
videoCommissionType
:
[
{
required
:
true
,
message
:
"请设置视频问诊分佣"
,
trigger
:
'blur'
}
],
imgCommissionType
:
[
{
required
:
true
,
message
:
"请设置图文问诊分佣"
,
trigger
:
'blur'
}
]
}
}
},
mounted
()
{
vm
=
this
;
this
.
getServiceTypeList
();
// this.getDiagnoseList()
this
.
search
()
},
methods
:
{
// 服务名称
getServiceTypeList
()
{
let
url
=
`/diagnose/doctorService/serviceType`
this
.
GET
(
url
).
then
(
res
=>
{
if
(
res
.
code
==
"000000"
)
{
this
.
serviceTypeList
=
res
.
data
}
})
},
search
()
{
if
(
this
.
rangeTime
){
this
.
searchParam
.
startTime
=
this
.
rangeTime
[
0
];
this
.
searchParam
.
endTime
=
this
.
rangeTime
[
1
];
}
else
{
this
.
searchParam
.
startTime
=
""
;
this
.
searchParam
.
endTime
=
""
;
}
this
.
loading
=
true
let
url
=
`/diagnose/commission/downDoctor/pageSearch`
let
params
=
this
.
searchParam
this
.
POST
(
url
,
params
).
then
(
res
=>
{
this
.
loading
=
false
if
(
res
.
code
==
"000000"
)
{
this
.
tableData
=
res
.
data
.
contentList
;
this
.
totalRows
=
res
.
data
.
total
;
}
});
// this.tableData = [
// {'orderNo': 100, 'serviceName': '语音问诊',
// 'doctorName': '李时珍', 'userMobile': '18888888888',
// 'price': '100', 'statusStr': '上架', 'appointBeginTime': '2015-10-10',
// 'status': '2'}
// ];
},
submit
()
{
if
(
this
.
model
.
audioCommissionType
==
1
&&
this
.
model
.
audioPrice1
==
""
){
this
.
$message
({
message
:
'请输入语音问诊分佣中的按比例分佣'
,
type
:
"warning"
});
return
;
}
if
(
this
.
model
.
audioCommissionType
==
2
&&
this
.
model
.
audioPrice2
==
""
){
this
.
$message
({
message
:
'请输入语音问诊分佣中的固定分佣金额'
,
type
:
"warning"
});
return
;
}
if
(
this
.
model
.
videoCommissionType
==
2
&&
this
.
model
.
videoPrice1
==
""
){
this
.
$message
({
message
:
'请输入视频问诊分佣中的固定分佣金额'
,
type
:
"warning"
});
return
;
}
if
(
this
.
model
.
videoCommissionType
==
2
&&
this
.
model
.
videoPrice2
==
""
){
this
.
$message
({
message
:
'请输入视频问诊分佣中的固定分佣金额'
,
type
:
"warning"
});
return
;
}
if
(
this
.
model
.
imgCommissionType
==
2
&&
this
.
model
.
imgPrice1
==
""
){
this
.
$message
({
message
:
'请输入图文问诊分佣中的固定分佣金额'
,
type
:
"warning"
});
return
;
}
if
(
this
.
model
.
imgCommissionType
==
2
&&
this
.
model
.
imgPrice2
==
""
){
this
.
$message
({
message
:
'请输入图文问诊分佣中的固定分佣金额'
,
type
:
"warning"
});
return
;
}
let
timeoutId
=
null
timeoutId
&&
clearTimeout
(
timeoutId
)
timeoutId
=
setTimeout
(()
=>
{
this
.
clickHandle
()
},
500
)
},
// 防止按钮多次点击
clickHandle
()
{
this
.
$refs
.
setPriceForm
.
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
loading
=
true
this
.
POST
(
'/diagnose/doctorService/updatePrice'
,
this
.
setPriceForm
).
then
(
res
=>
{
this
.
loading
=
false
// closeLoading(this);
if
(
res
.
code
==
"000000"
)
{
this
.
$message
({
message
:
'设置价格成功'
,
type
:
"success"
});
this
.
setPriceVisible
=
false
this
.
search
()
}
else
{
this
.
$message
({
message
:
res
.
message
,
type
:
"error"
})
}
});
}
})
},
handleSizeChange
(
value
)
{
this
.
searchParam
.
pageSize
=
value
this
.
search
()
},
handleCurrentChange
(
value
)
{
this
.
searchParam
.
pageNo
=
value
this
.
search
()
},
handleSelectionChange
(
val
)
{
this
.
multipleSelection
=
val
;
},
// 刷新页面
refresh
(){
this
.
searchParam
=
{
searchKey
:
''
,
serviceTypeId
:
0
,
status
:
0
,
startTime
:
""
,
endTime
:
""
,
pageSize
:
15
,
pageNo
:
1
};
this
.
rangeTime
=
""
;
this
.
search
();
},
setSelectedList
(){
if
(
this
.
multipleSelection
.
length
>
0
){
this
.
selectedList
=
[];
for
(
let
i
=
0
;
i
<
this
.
multipleSelection
.
length
;
i
++
){
this
.
selectedList
.
push
({
doctorId
:
this
.
multipleSelection
[
i
].
doctorId
,
serviceType
:
this
.
multipleSelection
[
i
].
serviceType
});
}
}
},
setSelectedPriceList
(){
if
(
this
.
multipleSelection
.
length
>
0
){
this
.
selectedPriceList
=
[];
for
(
let
i
=
0
;
i
<
this
.
multipleSelection
.
length
;
i
++
){
if
(
this
.
multipleSelection
[
i
].
price
!=
0
&&
(
this
.
multipleSelection
[
i
].
price
==
""
||
this
.
multipleSelection
[
i
].
price
==
null
)){
this
.
$message
({
message
:
'请先设置"问诊价格"'
,
type
:
"warning"
});
return
false
;
}
this
.
selectedPriceList
.
push
({
doctorId
:
this
.
multipleSelection
[
i
].
doctorId
,
serviceType
:
this
.
multipleSelection
[
i
].
serviceType
,
price
:
this
.
multipleSelection
[
i
].
price
});
}
return
true
;
}
},
setPrice
(
row
,
batchUpdatePriceFlag
){
this
.
batchUpdatePriceFlag
=
batchUpdatePriceFlag
;
this
.
setPriceForm
.
doctorId
=
row
.
doctorId
;
this
.
setPriceForm
.
serviceType
=
row
.
serviceType
;
this
.
setPriceForm
.
price
=
row
.
price
;
// this.setPriceVisible = true
this
.
setAddVisible
=
true
;
this
.
isEdit
=
true
;
this
.
title
=
"设置分佣"
;
vm
.
model
.
id
=
row
.
id
;
vm
.
model
.
userId
=
row
.
userId
;
vm
.
model
.
userName
=
row
.
userName
;
vm
.
model
.
mobile
=
row
.
mobile
;
vm
.
model
.
provinceName
=
row
.
provinceName
;
vm
.
model
.
cityName
=
row
.
cityName
;
vm
.
model
.
countyName
=
row
.
countyName
;
vm
.
model
.
townName
=
row
.
townName
;
vm
.
model
.
hospitalName
=
row
.
hospitalName
;
vm
.
model
.
department
=
row
.
department
;
vm
.
model
.
title
=
row
.
title
;
vm
.
model
.
audioCommissionType
=
row
.
audioCommissionType
;
if
(
row
.
audioCommissionType
==
1
){
vm
.
model
.
audioPrice1
=
this
.
priceNum
(
row
.
audioPrice
);
}
else
if
(
row
.
audioCommissionType
==
2
){
vm
.
model
.
audioPrice2
=
row
.
audioPrice
;
}
vm
.
model
.
videoCommissionType
=
row
.
videoCommissionType
;
if
(
row
.
videoCommissionType
==
1
){
vm
.
model
.
videoPrice1
=
row
.
videoPrice
;
}
else
if
(
row
.
videoCommissionType
==
2
){
vm
.
model
.
videoPrice2
=
row
.
videoPrice
;
}
vm
.
model
.
imgCommissionType
=
row
.
imgCommissionType
;
if
(
row
.
audioCommissionType
==
1
){
vm
.
model
.
imgPrice1
=
row
.
imgPrice
;
}
else
if
(
row
.
audioCommissionType
==
2
){
vm
.
model
.
imgPrice2
=
row
.
imgPrice
;
}
if
(
this
.
$refs
.
setPriceForm
)
{
this
.
$refs
.
setPriceForm
.
resetFields
()
}
// this.getProfit(row);
},
getProfit
(
row
){
this
.
POST
(
`/diagnose/doctorService/profit`
,
{
doctorId
:
row
.
doctorId
,
serviceType
:
row
.
serviceType
}).
then
(
res
=>
{
if
(
res
.
code
==
"000000"
)
{
vm
.
profit
=
res
.
data
;
if
(
vm
.
setPriceForm
.
price
!=
0
&&
(
vm
.
setPriceForm
.
price
==
""
||
vm
.
setPriceForm
.
price
==
null
)){
this
.
tempPrice
=
""
;
}
else
{
this
.
tempPrice
=
this
.
setPriceForm
.
price
*
this
.
profit
;
}
}
else
{
this
.
$message
({
message
:
res
.
message
,
type
:
"error"
})
}
});
},
changePrice
(
e
){
if
(
this
.
setPriceForm
.
price
!=
0
&&
(
this
.
setPriceForm
.
price
==
""
||
this
.
setPriceForm
.
price
==
undefined
)){
this
.
tempPrice
=
""
;
}
else
{
this
.
tempPrice
=
this
.
setPriceForm
.
price
*
this
.
profit
;
}
},
add
(){
this
.
setAddVisible
=
true
;
this
.
isEdit
=
false
;
this
.
title
=
"添加助诊医生"
;
},
//搜索
remoteMethod
(
val
)
{
if
(
val
.
length
>=
2
)
{
// console.log('搜索',val)
this
.
GET
(
`/doctor/doctorExpert/doctorInfoByNameLike?name=
${
val
}
`
)
.
then
(
function
(
res
)
{
if
(
res
.
code
==
'000000'
)
{
// let data = JSON.parse(JSON.stringify(res.data.data));//通过这个实现深拷贝
let
list
=
res
.
data
;
vm
.
expertData
=
list
;
let
newList
=
[];
list
.
map
((
item
,
index
)
=>
{
newList
[
index
]
=
{
value
:
`
${
item
.
name
}
${
item
.
mobilePhone
}
${
item
.
hospital
}
${
item
.
title
}
`
,
id
:
item
.
doctorId
,
name
:
item
.
name
,
}
})
// console.log('新数组',newList)
vm
.
nameList
=
newList
;
}
}).
catch
(
function
(
error
)
{
errorResponseCheck
(
error
,
vm
);
});
}
else
{
vm
.
expertData
=
[];
vm
.
nameList
=
[];
}
},
nameChange
(
val
)
{
// console.log('选中的值',val)
if
(
val
)
{
for
(
let
i
=
0
;
i
<
vm
.
expertData
.
length
;
i
++
){
if
(
val
==
vm
.
expertData
[
i
].
doctorId
)
{
let
item
=
vm
.
expertData
[
i
];
vm
.
model
.
userName
=
item
.
name
;
vm
.
model
.
mobile
=
item
.
mobilePhone
;
vm
.
model
.
hospitalName
=
item
.
hospital
;
vm
.
model
.
department
=
item
.
department
;
vm
.
model
.
title
=
item
.
title
;
vm
.
model
.
userId
=
item
.
doctorId
;
}
}
}
else
{
// vm.model.name = '';
// vm.model.mobilePhone = '';
// vm.model.provinceName = '';
// vm.model.cityName = '';
// vm.model.countyName = '';
// vm.model.townName = '';
// vm.model.hospital = '';
// vm.model.department = '';
// vm.model.title = '';
// vm.expertData = [];
// vm.model.doctorId = '';
vm
.
model
.
userName
=
''
;
vm
.
model
.
mobile
=
''
;
vm
.
model
.
hospitalName
=
''
;
vm
.
model
.
department
=
''
;
vm
.
model
.
title
=
''
;
vm
.
model
.
userId
=
''
;
}
vm
.
nameList
=
[];
},
noSelectHand
(
val
)
{
if
(
!
val
&&
!
vm
.
model
.
name
)
{
vm
.
nameList
=
[];
}
},
priceNum
(
value
)
{
if
(
value
!=
""
&&
value
!=
null
&&
value
!=
"null"
){
return
(
value
/
100
).
toFixed
(
2
);
}
else
if
(
value
==
0
){
return
(
value
/
100
).
toFixed
(
2
);
}
else
{
return
value
;
}
},
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.diagnosis-list-content
{
.component-content
{
padding
:
10px
;
background
:
#fff
;
overflow
:
hidden
!
important
;
.title
{
margin-bottom
:
30px
;
}
}
}
.required-label
{
.
el-form-item__label
:
:
before
{
content
:
'*'
;
color
:
#F56C6C
;
margin-right
:
4px
;
}
}
.el-dialog__footer
{
padding
:
10px
20px
20px
;
text-align
:
center
;
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
;
}
</
style
>
src/views/IM/diagnosis-admin/diagnosis-editor.vue
浏览文件 @
2f80cb13
...
...
@@ -131,6 +131,12 @@
<el-option
v-for=
"item of sexList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"婚否"
prop=
"maritalStatus"
>
<el-radio-group
v-model=
"formData.maritalStatus"
:disabled=
"formData.status==4 || editorType== 2"
>
<el-radio
:label=
"1"
>
未婚
</el-radio>
<el-radio
:label=
"2"
>
已婚
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"患者电话"
prop=
"patientMobilePhone"
>
<el-input
v-model=
"formData.patientMobilePhone"
placeholder=
"请输入手机号"
class=
"set-width"
:disabled=
"noable || editorType== 2"
maxlength=
"11"
></el-input>
</el-form-item>
...
...
@@ -466,7 +472,7 @@ export default {
},
getDoctorList
()
{
this
.
loading
=
true
let
url
=
`/diagnose/
/
doctorService/doctorList?diagnoseType=
${
this
.
formData
.
diagnoseType
}
`
let
url
=
`/diagnose/doctorService/doctorList?diagnoseType=
${
this
.
formData
.
diagnoseType
}
`
this
.
GET
(
url
).
then
(
res
=>
{
this
.
loading
=
false
if
(
res
.
code
==
'000000'
)
{
...
...
src/views/IM/diagnosis-admin/service-list.vue
浏览文件 @
2f80cb13
...
...
@@ -4,12 +4,12 @@
<div
class=
"title"
>
服务列表
</div>
<el-form
ref=
"form"
:inline=
"true"
:model=
"searchParam"
label-suffix=
":"
label-width=
"120px"
label-position=
"right"
style=
"width:100%;"
>
<el-row
:gutter=
"30"
type=
"flex"
style=
"margin-bottom:0;"
>
<el-col
:span=
"1
2
"
>
<el-col
:span=
"1
3
"
>
<el-form-item
label=
"服务医生"
>
<el-input
v-model=
"searchParam.searchKey"
size=
"middle"
placeholder=
"请输入医生姓名或联系电话"
style=
"width: 120%;"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"10"
style=
"margin-left: 65px;"
>
<el-col
:span=
"10"
>
<el-form-item
label=
"服务名称"
>
<el-select
v-model=
"searchParam.serviceTypeId"
...
...
@@ -29,25 +29,8 @@
</el-col>
</el-row>
<el-row
:gutter=
"30"
type=
"flex"
style=
"margin-bottom:0;"
>
<el-col
:span=
"1
5
"
>
<el-col
:span=
"1
3
"
>
<el-form-item
label=
"创建时间"
>
<!--
<el-date-picker-->
<!-- v-model="searchParam.startTime"-->
<!-- size="small"-->
<!-- type="date"-->
<!-- placeholder="请选择开始时间"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- :picker-options="pickerOptions0"-->
<!-- >
</el-date-picker>
~-->
<!--
<el-date-picker-->
<!-- v-model="searchParam.endTime"-->
<!-- size="small"-->
<!-- type="date"-->
<!-- placeholder="请选择结束时间"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- :picker-options="pickerOptions1"-->
<!-- default-time="23:59:59"-->
<!-- >
</el-date-picker>
-->
<el-date-picker
v-model=
"rangeTime"
type=
"daterange"
...
...
@@ -60,7 +43,7 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"
8"
style=
"padding-left: 0px;padding-right: 0px;
"
>
<el-col
:span=
"
10
"
>
<el-form-item
label=
"状态"
>
<el-select
v-model=
"searchParam.status"
...
...
@@ -78,7 +61,27 @@
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"3"
style=
"text-align:right;padding-right:55px;"
>
</el-row>
<el-row
:gutter=
"30"
type=
"flex"
style=
"margin-bottom:0;"
>
<el-col
:span=
"8"
>
<el-form-item
label=
"接诊分佣方式"
>
<el-select
v-model=
"searchParam.commissionType"
id=
"statusSelector"
placeholder=
"请选择服务状态"
clearable
style=
"height: 32px;line-height: 32px;"
>
<el-option
v-for=
"item in commissionTypeList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"15"
style=
"text-align:right;padding-right:55px;"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"search()"
>
搜索
</el-button>
</el-col>
</el-row>
...
...
@@ -114,6 +117,8 @@
<span>
{{
scope
.
row
.
price
|
rounding
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"commissionTypeStr"
label=
"接诊分佣方式"
min-width=
"120"
align=
"left"
></el-table-column>
<el-table-column
prop=
"commissionFee"
label=
"分佣金额(元)"
min-width=
"120"
align=
"left"
></el-table-column>
<el-table-column
prop=
"status"
label=
"状态"
min-width=
"80"
align=
"left"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
status
|
statusFilter
}}
</span>
...
...
@@ -150,24 +155,32 @@
<el-dialog
title=
"设置价格"
:visible
.
sync=
"setPriceVisible"
width=
"
40
%"
>
width=
"
55
%"
>
<el-row
:gutter=
"30"
class=
"row search"
type=
"flex"
style=
"margin-bottom:0;"
>
<el-form
ref=
"setPriceForm"
:rules=
"setPriceRules"
:model=
"setPriceForm"
label-width=
"
1
50px"
label-width=
"
2
50px"
label-suffix=
":"
label-position=
"right"
size=
"mini"
style=
"width: 100%;"
>
<el-col
:span=
"1
5
"
>
<el-form-item
label=
"
价格"
class=
"required-label
"
>
<el-col
:span=
"1
8
"
>
<el-form-item
label=
"
问诊价格"
class=
"required-label"
prop=
"price
"
>
<el-input-number
v-model=
"setPriceForm.price"
size=
"small"
:precision=
"2"
:min=
"0"
:max=
"9999"
placeholder=
"请输入价格"
@
change=
"changePrice($event)"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"15"
style=
"margin-left: 105px;"
>
实际收入(接诊后实际到账金额): ¥{{tempPrice | rounding}}
<el-col
:span=
"18"
>
<el-form-item
label=
"接诊服务费结算方式(上级医生)"
prop=
"commissionType"
>
<el-radio-group
v-model=
"setPriceForm.commissionType"
size=
"small"
style=
"line-height: 30px;"
>
<el-radio
:label=
"1"
style=
"margin-top: 10px;line-height: 20px;"
>
按比例分佣(%)
</el-radio>
<span
style=
"width: 100px;"
><el-input-number
v-model=
"setPriceForm.commissionPrice1"
size=
"small"
:precision=
"2"
:min=
"0"
:max=
"9999"
></el-input-number></span>
<el-radio
:label=
"2"
style=
"margin-top: 10px;line-height: 20px;"
>
固定分佣金额(元)
</el-radio>
<span
style=
"width: 100px;margin-left: 14px;"
><el-input-number
v-model=
"setPriceForm.commissionPrice2"
size=
"small"
:precision=
"2"
:min=
"0"
:max=
"9999"
></el-input-number></span>
</el-radio-group>
</el-form-item>
</el-col>
</el-form>
</el-row>
<span
slot=
"footer"
class=
"dialog-footer"
>
...
...
@@ -199,6 +212,10 @@ export default {
},
batchUpdatePriceFlag
:
false
,
setPriceForm
:{
commissionType
:
1
,
commissionPrice
:
''
,
commissionPrice1
:
''
,
commissionPrice2
:
''
,
doctorId
:
''
,
serviceType
:
''
,
price
:
''
...
...
@@ -209,10 +226,12 @@ export default {
tableData
:
[],
totalRows
:
0
,
setPriceRules
:
{
// price: [
// { required: true, message: '请输入价格', trigger: 'blur'},
// { pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/, message: '请输入正确额格式,可保留两位小数' }
// ],
price
:
[
{
required
:
true
,
message
:
"请输入"
,
trigger
:
'blur'
}
],
commissionType
:
[
{
required
:
true
,
message
:
"请输入"
,
trigger
:
'blur'
}
]
},
liveBack
:
false
,
timeClickFlag
:
true
,
...
...
@@ -231,6 +250,19 @@ export default {
value
:
2
,
label
:
"上架"
}],
commissionTypeList
:
[
{
value
:
0
,
label
:
"全部"
},
{
value
:
1
,
label
:
"按比例分佣"
},
{
value
:
2
,
label
:
"固定分佣金额"
}],
profit
:
0
,
selectedList
:[],
selectedPriceList
:[],
...
...
@@ -253,6 +285,7 @@ export default {
);
//减去一天的时间代表可以选择同一天;
}
},
}
},
mounted
()
{
...
...
@@ -307,6 +340,31 @@ export default {
});
return
;
}
if
(
this
.
setPriceForm
.
commissionType
==
null
||
this
.
setPriceForm
.
commissionType
==
""
){
this
.
$message
({
message
:
'请选择接诊服务费结算方式(上级医生)'
,
type
:
"warning"
});
return
;
}
if
(
this
.
setPriceForm
.
commissionType
==
1
&&
this
.
setPriceForm
.
commissionPrice1
==
""
){
this
.
$message
({
message
:
'请输入按比例分佣'
,
type
:
"warning"
});
return
;
}
if
(
this
.
setPriceForm
.
commissionType
==
2
&&
this
.
setPriceForm
.
commissionPrice2
==
""
){
this
.
$message
({
message
:
'请输入固定分佣'
,
type
:
"warning"
});
return
;
}
let
timeoutId
=
null
timeoutId
&&
clearTimeout
(
timeoutId
)
timeoutId
=
setTimeout
(()
=>
{
...
...
@@ -322,7 +380,17 @@ export default {
if
(
this
.
batchUpdatePriceFlag
){
let
setPriceList
=
[];
for
(
let
i
=
0
;
i
<
this
.
multipleSelection
.
length
;
i
++
){
setPriceList
.
push
({
doctorId
:
this
.
multipleSelection
[
i
].
doctorId
,
serviceType
:
this
.
multipleSelection
[
i
].
serviceType
,
price
:
this
.
setPriceForm
.
price
});
if
(
this
.
setPriceForm
.
commissionType
==
1
){
this
.
setPriceForm
.
commissionPriceStr
=
this
.
setPriceForm
.
commissionPrice1
;
}
else
if
(
this
.
setPriceForm
.
commissionType
==
2
){
this
.
setPriceForm
.
commissionPriceStr
=
this
.
setPriceForm
.
commissionPrice2
;
}
setPriceList
.
push
({
doctorId
:
this
.
multipleSelection
[
i
].
doctorId
,
serviceType
:
this
.
multipleSelection
[
i
].
serviceType
,
price
:
this
.
setPriceForm
.
price
,
commissionType
:
this
.
setPriceForm
.
commissionType
,
commissionPriceStr
:
this
.
setPriceForm
.
commissionPriceStr
});
}
this
.
POST
(
'/diagnose/doctorService/batchUpdatePrice'
,
setPriceList
).
then
(
res
=>
{
this
.
loading
=
false
...
...
@@ -343,6 +411,13 @@ export default {
});
}
else
{
if
(
this
.
setPriceForm
.
commissionType
==
1
){
this
.
setPriceForm
.
commissionPriceStr
=
this
.
setPriceForm
.
commissionPrice1
;
}
else
if
(
this
.
setPriceForm
.
commissionType
==
2
){
this
.
setPriceForm
.
commissionPriceStr
=
this
.
setPriceForm
.
commissionPrice2
;
}
this
.
POST
(
'/diagnose/doctorService/updatePrice'
,
this
.
setPriceForm
).
then
(
res
=>
{
this
.
loading
=
false
// closeLoading(this);
...
...
@@ -539,14 +614,22 @@ export default {
},
setPrice
(
row
,
batchUpdatePriceFlag
){
this
.
batchUpdatePriceFlag
=
batchUpdatePriceFlag
;
this
.
setPriceForm
.
doctorId
=
row
.
doctorId
;
this
.
setPriceForm
.
doctorId
=
row
.
doctorId
;
this
.
setPriceForm
.
serviceType
=
row
.
serviceType
;
this
.
setPriceForm
.
price
=
row
.
price
;
this
.
setPriceVisible
=
true
this
.
setPriceForm
.
commissionType
=
row
.
commissionType
;
if
(
this
.
setPriceForm
.
commissionType
==
1
){
this
.
setPriceForm
.
commissionPrice1
=
row
.
commissionPriceStr
;
}
else
if
(
this
.
setPriceForm
.
commissionType
==
2
){
this
.
setPriceForm
.
commissionPrice2
=
row
.
commissionPriceStr
;
}
this
.
setPriceForm
.
price
=
row
.
price
;
this
.
setPriceVisible
=
true
;
if
(
this
.
$refs
.
setPriceForm
)
{
this
.
$refs
.
setPriceForm
.
resetFields
()
}
this
.
getProfit
(
row
);
//
this.getProfit(row);
},
getProfit
(
row
){
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录