提交 8e7e4da2 编写于 作者: changdi.hao's avatar changdi.hao

Merge branch 'dev-0522' into 'release'

# Conflicts:
#   src/views/IM/diagnosis-admin/diagnosis-editor.vue
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
<el-table-column prop="orderNo" label="订单ID" min-width="170" align="center"></el-table-column> <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="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="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="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="patientName" label="患者姓名" min-width="150" align="center"></el-table-column>
<el-table-column prop="idCard" label="证件号" min-width="170" align="center"></el-table-column> <el-table-column prop="idCard" label="证件号" min-width="170" align="center"></el-table-column>
...@@ -53,6 +54,7 @@ ...@@ -53,6 +54,7 @@
</el-table-column> </el-table-column>
<el-table-column prop="payTypeStr" label="支付方式" min-width="150" align="center"></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="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="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="idCardTypeStr" label="证件类型" min-width="170" align="center"></el-table-column>
<el-table-column prop="userTitle" 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 @@ ...@@ -68,7 +70,6 @@
<span>{{scope.row.serviceFee | priceFilter}}</span> <span>{{scope.row.serviceFee | priceFilter}}</span>
</template> </template>
</el-table-column> </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 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"> <el-table-column label="操作" fixed="right" align="center" min-width="200">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -175,4 +176,4 @@ export default { ...@@ -175,4 +176,4 @@ export default {
</script> </script>
<style> <style>
</style> </style>
\ No newline at end of file
...@@ -5,6 +5,7 @@ const diagnosisList = r => require.ensure([], () => r(require('../views/IM/diagn ...@@ -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 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 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 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 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') const diagnosisListLod = r => require.ensure([], () => r(require('../views/IM/diagnosis-admin/diagnosis-list-old.vue')), 'diagnosisListLod')
...@@ -27,6 +28,9 @@ export default [{ ...@@ -27,6 +28,9 @@ export default [{
}, { }, {
path: '/service-List', path: '/service-List',
component: serviceList component: serviceList
}, {
path: '/assist-list',
component: assistList
}, { }, {
path: '/diagnosis-editor', path: '/diagnosis-editor',
component: diagnosisEditor component: diagnosisEditor
......
...@@ -23,6 +23,17 @@ const vueFilter = { ...@@ -23,6 +23,17 @@ const vueFilter = {
return value; 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) => { diagnosisTypeFilter: (value) => {
if(value == 1) { if(value == 1) {
return '音频' return '音频'
......
<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-form-item label="助诊医生" class="required-label" prop="userName">
<el-col :span="15">
<el-select v-model="model.userName"
filterable
remote
placeholder="请输入专家姓名或医院名称,多个关键字用空格隔开,至少输入两个字符"
clearable
style="width: 130%;"
: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-col>
</el-form-item>
<!-- <el-col :span="15" style="margin-left: 105px;">-->
<!-- 实际收入(接诊后实际到账金额): ¥{{tempPrice | rounding}}-->
<!-- </el-col>-->
<el-form-item label="助诊医生职称" class="required-label">
<el-col :span="15">
<el-input v-model="model.title" style="width: 130%;" disabled size="small" ></el-input>
</el-col>
</el-form-item>
<el-form-item label="助诊医生所在机构" class="required-label">
<el-col :span="15">
<el-input v-model="model.hospitalName" style="width: 130%;" disabled size="small" ></el-input>
</el-col>
</el-form-item>
<el-form-item label="助诊医生所在科室" class="required-label">
<el-col :span="15">
<el-input v-model="model.department" style="width: 130%;" disabled size="small" ></el-input>
</el-col>
</el-form-item>
<el-form-item label="助诊电话" class="required-label">
<el-col :span="15">
<el-input v-model="model.mobile" style="width: 130%;" disabled size="small" ></el-input>
</el-col>
</el-form-item>
<el-form-item label="语音问诊分佣" prop="audioCommissionType" class="required-label">
<el-col :span="16">
<el-radio-group v-model="model.audioCommissionType" size="small" style="line-height: 45px;">
<div>
<el-radio :label="1" style="float: left;margin-top: 5px;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="100"></el-input-number></span>
</div>
<div>
<el-radio :label="2" style="float: left;margin-top: 30px;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>
</div>
</el-radio-group>
</el-col>
</el-form-item>
<el-form-item label="视频问诊分佣" prop="videoCommissionType" class="required-label">
<el-col :span="16">
<el-radio-group v-model="model.videoCommissionType" size="small" style="line-height: 45px;">
<div>
<el-radio :label="1" style="float: left;margin-top: 5px;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="100"></el-input-number></span>
</div>
<div>
<el-radio :label="2" style="float: left;margin-top: 30px;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>
</div>
</el-radio-group>
</el-col>
</el-form-item>
<el-form-item label="图文问诊分佣" prop="imgCommissionType" class="required-label">
<el-col :span="16">
<el-radio-group v-model="model.imgCommissionType" size="small" style="line-height: 45px;">
<div>
<el-radio :label="1" style="float: left;margin-top: 5px;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="100"></el-input-number></span>
</div>
<div>
<el-radio :label="2" style="float: left;margin-top: 30px;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>
</div>
</el-radio-group>
</el-col>
</el-form-item>
</el-form>
<!-- </el-row>-->
<span slot="footer" class="dialog-footer" style="text-align: center;">
<el-button @click="setAddVisible = 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,
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 == undefined){
this.$message({
message: '请输入语音问诊分佣中的按比例分佣',
type: "warning"
});
return;
}
if(this.model.audioCommissionType == 2 && this.model.audioPrice2 == undefined){
this.$message({
message: '请输入语音问诊分佣中的固定分佣金额',
type: "warning"
});
return;
}
if(this.model.videoCommissionType == 1 && this.model.videoPrice1 == undefined){
this.$message({
message: '请输入视频问诊分佣中的按比例分佣',
type: "warning"
});
return;
}
if(this.model.videoCommissionType == 2 && this.model.videoPrice2 == undefined){
this.$message({
message: '请输入视频问诊分佣中的固定分佣金额',
type: "warning"
});
return;
}
if(this.model.imgCommissionType == 1 && this.model.imgPrice1 == undefined){
this.$message({
message: '请输入图文问诊分佣中的按比例分佣',
type: "warning"
});
return;
}
if(this.model.imgCommissionType == 2 && this.model.imgPrice2 == undefined){
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) {
vm.loading = true
vm.setSubmitPrice();
this.POST('/diagnose/commission/downDoctor/save', vm.model).then(res => {
vm.loading = false
// closeLoading(this);
if (res.code == "000000") {
vm.$message({
message: '设置成功',
type: "success"
});
vm.setAddVisible = false;
vm.search()
}else {
vm.$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: '',
hospitalName: '',
commissionType: 0,
startTime: "",
endTime: "",
pageSize: 10,
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){
if(this.$refs.setPriceForm) {
this.$refs.setPriceForm.resetFields()
}
this.batchUpdatePriceFlag = batchUpdatePriceFlag;
// 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 = "";
vm.model.audioPrice = "";
vm.model.audioPrice1 = undefined;
vm.model.audioPrice2 = undefined;
vm.model.videoCommissionType = "";
vm.model.videoPrice = "";
vm.model.videoPrice1 = undefined;
vm.model.videoPrice2 = undefined;
vm.model.imgCommissionType = "";
vm.model.imgPrice = "";
vm.model.imgPrice1 = undefined;
vm.model.imgPrice2 = undefined;
vm.model.audioCommissionType = row.audioCommissionType;
// vm.model.videoCommissionType = row.videoCommissionType;
// vm.model.imgCommissionType = row.imgCommissionType;
if(row.audioCommissionType == 1){
vm.model.audioPrice1 = vm.priceNum(row.audioPrice);
}
else if(row.audioCommissionType == 2){
vm.model.audioPrice2 = vm.priceNum(row.audioPrice);
}
vm.model.videoCommissionType = row.videoCommissionType;
if(row.videoCommissionType == 1){
vm.model.videoPrice1 = vm.priceNum(row.videoPrice);
}
else if(row.videoCommissionType == 2){
vm.model.videoPrice2 = vm.priceNum(row.videoPrice);
}
vm.model.imgCommissionType = row.imgCommissionType;
if(row.imgCommissionType == 1){
vm.model.imgPrice1 = vm.priceNum(row.imgPrice);
}
else if(row.imgCommissionType == 2){
vm.model.imgPrice2 = vm.priceNum(row.imgPrice);
}
// 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 = "添加助诊医生";
if(!this.isEdit){
vm.model.id = null;
vm.model.userName = '';
vm.model.mobile = '';
vm.model.hospitalName = '';
vm.model.department = '';
vm.model.title = '';
vm.model.userId = '';
vm.model.audioCommissionType = "";
vm.model.audioPrice = "";
vm.model.audioPrice1 = undefined;
vm.model.audioPrice2 = undefined;
vm.model.videoCommissionType = "";
vm.model.videoPrice = "";
vm.model.videoPrice1 = undefined;
vm.model.videoPrice2 = undefined;
vm.model.imgCommissionType = "";
vm.model.imgPrice = "";
vm.model.imgPrice1 = undefined;
vm.model.imgPrice2 = undefined;
}
},
//搜索
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;
}
},
setSubmitPrice(){
if(this.model.audioCommissionType == 1 && this.model.audioPrice1 != ""){
this.model.audioPrice = this.model.audioPrice1;
}
else if(this.model.audioCommissionType == 2 && this.model.audioPrice2 != ""){
this.model.audioPrice = this.model.audioPrice2;
}
if(this.model.videoCommissionType == 1 && this.model.videoPrice1 != ""){
this.model.videoPrice = this.model.videoPrice1;
}
else if(this.model.videoCommissionType == 2 && this.model.videoPrice2 != ""){
this.model.videoPrice = this.model.videoPrice2;
}
if(this.model.imgCommissionType == 1 && this.model.imgPrice1 != ""){
this.model.imgPrice = this.model.imgPrice1;
}
else if(this.model.imgCommissionType == 2 && this.model.imgPrice2 != ""){
this.model.imgPrice = this.model.imgPrice2;
}
if(this.model.audioPrice != null){
this.model.audioPrice = this.model.audioPrice * 100;
}
if(this.model.videoPrice != null){
this.model.videoPrice = this.model.videoPrice * 100;
}
if(this.model.imgPrice != null){
this.model.imgPrice = this.model.imgPrice * 100;
}
}
}
}
</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>
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div class="component-content screenSet" id="screenSet"> <div class="component-content screenSet" id="screenSet">
<div class="title">编辑</div> <div class="title">编辑</div>
<el-form ref="form" :model="formData" label-width="130px" :rules="editorType== 2 ? null : rules" v-loading='loading'> <el-form ref="form" :model="formData" label-width="130px" :rules="editorType== 2 ? null : rules" v-loading='loading'>
<h1>预约单信息</h1> <h1>预约单信息</h1>
<el-form-item label="预约类型"> <el-form-item label="预约类型">
<el-select v-model="formData.diagnoseType" placeholder="请选择预约类型" disabled class="set-width"> <el-select v-model="formData.diagnoseType" placeholder="请选择预约类型" disabled class="set-width">
...@@ -16,23 +16,23 @@ ...@@ -16,23 +16,23 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="创建时间"> <el-form-item label="创建时间">
<el-date-picker <el-date-picker
disabled disabled
class="set-width" class="set-width"
type="datetime" type="datetime"
placeholder="创建时间" placeholder="创建时间"
v-model="formData.createdTime" v-model="formData.createdTime"
format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="匹配时间" > <el-form-item label="匹配时间" >
<el-date-picker <el-date-picker
disabled disabled
class="set-width" class="set-width"
type="datetime" type="datetime"
placeholder="匹配时间" placeholder="匹配时间"
v-model="formData.operateTime" v-model="formData.operateTime"
format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
...@@ -43,9 +43,9 @@ ...@@ -43,9 +43,9 @@
<el-date-picker <el-date-picker
disabled disabled
class="set-width" class="set-width"
type="datetime" type="datetime"
placeholder="匹配时间" placeholder="匹配时间"
v-model="formData.doneTime" v-model="formData.doneTime"
format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
> >
...@@ -75,10 +75,10 @@ ...@@ -75,10 +75,10 @@
</el-form-item> </el-form-item>
<el-form-item label="预约时间" prop="appointBeginTime" > <el-form-item label="预约时间" prop="appointBeginTime" >
<el-date-picker <el-date-picker
disabled :disabled="formData.status == 4 || editorType== 2"
type="datetime" type="datetime"
placeholder="开始时间" placeholder="开始时间"
v-model="formData.appointBeginTime" v-model="formData.appointBeginTime"
style="width: 200px;" style="width: 200px;"
:picker-options="endDateOpt" :picker-options="endDateOpt"
format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss"
...@@ -87,11 +87,11 @@ ...@@ -87,11 +87,11 @@
> >
</el-date-picker> </el-date-picker>
<span>-</span> <span>-</span>
<el-date-picker <el-date-picker
disabled :disabled="formData.status == 4 || editorType== 2"
type="datetime" type="datetime"
placeholder="结束时间" placeholder="结束时间"
v-model="formData.appointEndTime" v-model="formData.appointEndTime"
style="width: 200px;" style="width: 200px;"
format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss"
:picker-options="endDateOpt1" :picker-options="endDateOpt1"
...@@ -100,7 +100,7 @@ ...@@ -100,7 +100,7 @@
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<h1>患者信息</h1> <h1>患者信息</h1>
<el-form-item label="患者姓名" prop="patientName" > <el-form-item label="患者姓名" prop="patientName" >
...@@ -115,12 +115,12 @@ ...@@ -115,12 +115,12 @@
<el-input v-model="formData.idCard" placeholder="请输入证件号" class="set-width" :disabled="noable || editorType== 2" maxlength="18" @blur="blurFn"></el-input> <el-input v-model="formData.idCard" placeholder="请输入证件号" class="set-width" :disabled="noable || editorType== 2" maxlength="18" @blur="blurFn"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="出生日期" prop="birthdayStr" > <el-form-item label="出生日期" prop="birthdayStr" >
<el-date-picker <el-date-picker
class="set-width" class="set-width"
:disabled="noable || birthDisable || editorType== 2" :disabled="noable || birthDisable || editorType== 2"
type="date" type="date"
placeholder="出生日期" placeholder="出生日期"
v-model="formData.birthdayStr" v-model="formData.birthdayStr"
format="yyyy-MM-dd" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
> >
...@@ -131,6 +131,12 @@ ...@@ -131,6 +131,12 @@
<el-option v-for="item of sexList" :key="item.value" :label="item.label" :value="item.value"></el-option> <el-option v-for="item of sexList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select> </el-select>
</el-form-item> </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-form-item label="患者电话" prop="patientMobilePhone" >
<el-input v-model="formData.patientMobilePhone" placeholder="请输入手机号" class="set-width" :disabled="noable || editorType== 2" maxlength="11"></el-input> <el-input v-model="formData.patientMobilePhone" placeholder="请输入手机号" class="set-width" :disabled="noable || editorType== 2" maxlength="11"></el-input>
</el-form-item> </el-form-item>
...@@ -173,10 +179,10 @@ ...@@ -173,10 +179,10 @@
<h1>接诊信息</h1> <h1>接诊信息</h1>
<el-form-item label="接诊医生" prop="doctorName"> <el-form-item label="接诊医生" prop="doctorName">
<el-input v-model="formData.doctorName" placeholder="请选择接诊医生" class="set-width" disabled></el-input> <!-- <el-input v-model="formData.doctorName" placeholder="请选择接诊医生" class="set-width" disabled></el-input>-->
<!-- <el-select v-model="formData.doctorName" placeholder="请选择接诊医生" disabled class="set-width"> <el-select @change="doctorChanged($event)" v-model="formData.doctorName" placeholder="请选择接诊医生" class="set-width" :disabled="editorType== 2 || this.formData.status == 4">
<el-option v-for="item of sexList" :key="item.value" :label="item.label" :value="item.value"></el-option> <el-option v-for="item of doctorList" :key="item.doctorId" :label="item.doctorName" :value="item.doctorId"></el-option>
</el-select> --> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="接诊医生职称" > <el-form-item label="接诊医生职称" >
<el-input v-model="formData.doctorTitle" placeholder="请选择职称" class="set-width" disabled></el-input> <el-input v-model="formData.doctorTitle" placeholder="请选择职称" class="set-width" disabled></el-input>
...@@ -230,7 +236,7 @@ ...@@ -230,7 +236,7 @@
<el-form-item label="病情照片" > <el-form-item label="病情照片" >
<p class="img-title">请上传患处照片、所用药品、与病情相关的线上诊疗记录截图、检查检测报告,请保证图片清晰完整,以便医生确认病情</p> <p class="img-title">请上传患处照片、所用药品、与病情相关的线上诊疗记录截图、检查检测报告,请保证图片清晰完整,以便医生确认病情</p>
<upload-img :isDisable="editorType== 2" :imgList="formData.illnessImageUrls" ref="imgComponent"></upload-img> <upload-img :isDisable="editorType== 2" :imgList="formData.illnessImageUrls" ref="imgComponent"></upload-img>
</el-form-item> </el-form-item>
<el-form-item label="诊断建议" prop="diagnoseAdvice"> <el-form-item label="诊断建议" prop="diagnoseAdvice">
<p class="old-diagnoseAdvice">{{oldDiagnoseAdvice}}</p> <p class="old-diagnoseAdvice">{{oldDiagnoseAdvice}}</p>
<el-input type="textarea" v-model="formData.diagnoseAdvice" placeholder="请输入更新建议(更新后原建议将被删除)" :disabled="formData.status==4 || editorType== 2" maxlength="1000" show-word-limit></el-input> <el-input type="textarea" v-model="formData.diagnoseAdvice" placeholder="请输入更新建议(更新后原建议将被删除)" :disabled="formData.status==4 || editorType== 2" maxlength="1000" show-word-limit></el-input>
...@@ -300,7 +306,7 @@ export default { ...@@ -300,7 +306,7 @@ export default {
oldDiagnoseAdvice: '', //旧的诊断建议 oldDiagnoseAdvice: '', //旧的诊断建议
formData: { formData: {
// 预约单信息 // 预约单信息
diagnoseType: '', diagnoseType: '',
appointSource: '', appointSource: '',
createdTime: '', createdTime: '',
operateTime: '', operateTime: '',
...@@ -311,7 +317,7 @@ export default { ...@@ -311,7 +317,7 @@ export default {
status: 1, status: 1,
operateUserName: '', operateUserName: '',
appointBeginTime: '', appointBeginTime: '',
appointEndTime: '', appointEndTime: '',
// 患者信息 // 患者信息
patientName: '', patientName: '',
idCardType: 1, idCardType: 1,
...@@ -361,6 +367,7 @@ export default { ...@@ -361,6 +367,7 @@ export default {
relationList: RELATION_LIST, relationList: RELATION_LIST,
doctorSourceList: D_S_LIST, doctorSourceList: D_S_LIST,
followList: FOLLW_LIST, followList: FOLLW_LIST,
doctorList: [],
rules: { rules: {
appointBeginTime: [ appointBeginTime: [
{ required: true, message: '请输入预约时间', trigger: 'change' } { required: true, message: '请输入预约时间', trigger: 'change' }
...@@ -383,6 +390,9 @@ export default { ...@@ -383,6 +390,9 @@ export default {
sex: [ sex: [
{ required: true, message: '请选择性别', trigger: 'change' } { required: true, message: '请选择性别', trigger: 'change' }
], ],
maritalStatus: [
{ required: true, message: '请选择婚否', trigger: 'change' }
],
patientMobilePhone: [ patientMobilePhone: [
{ required: true, message: '请输入患者电话', trigger: ['blur','change'] } { required: true, message: '请输入患者电话', trigger: ['blur','change'] }
], ],
...@@ -419,14 +429,14 @@ export default { ...@@ -419,14 +429,14 @@ export default {
disabledDate: time => { disabledDate: time => {
return ( return (
time.getTime() < new Date(this.formData.appointBeginTime).getTime() time.getTime() < new Date(this.formData.appointBeginTime).getTime()
); );
} }
} }
} }
}, },
created() { created() {
this.editorType = this.$route.query.editorType this.editorType = this.$route.query.editorType
this.diagnoseLogId = this.$route.query.id this.diagnoseLogId = this.$route.query.id
this.search() this.search()
}, },
mounted() { mounted() {
...@@ -458,11 +468,26 @@ export default { ...@@ -458,11 +468,26 @@ export default {
} else { } else {
this.$message.info('请稍后重试') this.$message.info('请稍后重试')
} }
this.getDoctorList()
}).catch(() => { }).catch(() => {
this.$message.info('请稍后重试') this.$message.info('请稍后重试')
}); });
}, },
getDoctorList() {
this.loading = true
let url = `/diagnose/doctorService/doctorList?diagnoseType=${this.formData.diagnoseType}`
this.GET(url).then(res => {
this.loading = false
if (res.code == '000000') {
this.doctorList = res.data
} else {
this.$message.info('请稍后重试')
}
}).catch(() => {
this.$message.info('请稍后重试')
});
},
// 预约开始时间选择时 // 预约开始时间选择时
continueBeginChange(val) { continueBeginChange(val) {
if(this.formData.appointEndTime) { if(this.formData.appointEndTime) {
...@@ -507,6 +532,18 @@ export default { ...@@ -507,6 +532,18 @@ export default {
return (value * 100) return (value * 100)
} }
}, },
doctorChanged(value) {
let selected = this.doctorList.find(item => item.doctorId === value);
if (selected) {
this.formData.doctorId = value
this.formData.doctorName = selected.doctorName
this.formData.doctorTitle = selected.doctorTitle
this.formData.doctorHospital = selected.doctorHospital
this.formData.doctorDepartment = selected.doctorDepartment
this.formData.doctorMobile = selected.doctorMobile
this.formData.serviceFee = this.priceFilter(selected.serviceFee)
}
},
save() { save() {
this.$refs.form.validate((valid) => { this.$refs.form.validate((valid) => {
let url = `/diagnose/admin/diagnose/update` let url = `/diagnose/admin/diagnose/update`
...@@ -516,7 +553,7 @@ export default { ...@@ -516,7 +553,7 @@ export default {
params.price = this.setPrice(params.price) params.price = this.setPrice(params.price)
params.serviceFee = this.setPrice(params.serviceFee) params.serviceFee = this.setPrice(params.serviceFee)
if (!params.diagnoseAdvice) { if (!params.diagnoseAdvice) {
params.diagnoseAdvice = this.oldDiagnoseAdvice params.diagnoseAdvice = this.oldDiagnoseAdvice
} }
this.POST(url, params).then(res => { this.POST(url, params).then(res => {
this.loading = false this.loading = false
......
...@@ -498,6 +498,23 @@ export default { ...@@ -498,6 +498,23 @@ export default {
}, },
// 预约时间 // 预约时间
timeHandle(row) { timeHandle(row) {
let bTime = new Date(row.userAppointBeginTime)
let eTime = new Date(row.userAppointEndTime)
if (this.activeName == 'three' && (new Date() - bTime) && (eTime - new Date())) {
this.$confirm(' 当前问诊正在进行中,一旦将立即关闭进行中的问诊且无法恢复,确定继续更改时间?', '提醒', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.timeHandleFn(row)
}).catch(() => {
})
} else {
this.timeHandleFn(row)
}
},
timeHandleFn(row) {
this.beginFlag = false this.beginFlag = false
this.endFlag = false this.endFlag = false
this.timeVisible = true this.timeVisible = true
......
...@@ -3,13 +3,13 @@ ...@@ -3,13 +3,13 @@
<div class="component-content screenSet" id="screenSet"> <div class="component-content screenSet" id="screenSet">
<div class="title">服务列表</div> <div class="title">服务列表</div>
<el-form ref="form" :inline="true" :model="searchParam" label-suffix=":" label-width="120px" label-position="right" style="width:100%;"> <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-row :gutter="30" type="flex" style="margin-bottom:0;">
<el-col :span="12"> <el-col :span="13">
<el-form-item label="服务医生"> <el-form-item label="服务医生">
<el-input v-model="searchParam.searchKey" size="middle" placeholder="请输入医生姓名或联系电话" style="width: 120%;"></el-input> <el-input v-model="searchParam.searchKey" size="middle" placeholder="请输入医生姓名或联系电话" style="width: 120%;"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10" style="margin-left: 65px;"> <el-col :span="10">
<el-form-item label="服务名称"> <el-form-item label="服务名称">
<el-select <el-select
v-model="searchParam.serviceTypeId" v-model="searchParam.serviceTypeId"
...@@ -29,25 +29,8 @@ ...@@ -29,25 +29,8 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="30" type="flex" style="margin-bottom:0;"> <el-row :gutter="30" type="flex" style="margin-bottom:0;">
<el-col :span="15"> <el-col :span="13">
<el-form-item label="创建时间"> <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 <el-date-picker
v-model="rangeTime" v-model="rangeTime"
type="daterange" type="daterange"
...@@ -60,14 +43,14 @@ ...@@ -60,14 +43,14 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8" style="padding-left: 0px;padding-right: 0px;"> <el-col :span="10">
<el-form-item label="状态"> <el-form-item label="状态">
<el-select <el-select
v-model="searchParam.status" v-model="searchParam.status"
id="statusSelector" id="statusSelector"
placeholder="请选择服务状态" placeholder="请选择服务状态"
clearable clearable
style="margin-left:16px;height: 32px;line-height: 32px;" style="margin-left:20px;height: 32px;line-height: 32px;"
> >
<el-option <el-option
v-for="item in statusList" v-for="item in statusList"
...@@ -78,7 +61,27 @@ ...@@ -78,7 +61,27 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </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;width: 100%;"
>
<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="16" style="text-align:right;padding-right:55px;">
<el-button type="primary" size="small" @click="search()">搜索</el-button> <el-button type="primary" size="small" @click="search()">搜索</el-button>
</el-col> </el-col>
</el-row> </el-row>
...@@ -109,12 +112,14 @@ ...@@ -109,12 +112,14 @@
<el-table-column prop="serviceName" label="服务名称" min-width="100" align="left"></el-table-column> <el-table-column prop="serviceName" label="服务名称" min-width="100" align="left"></el-table-column>
<el-table-column prop="doctorName" label="服务医生" min-width="120" align="left"></el-table-column> <el-table-column prop="doctorName" label="服务医生" min-width="120" align="left"></el-table-column>
<el-table-column prop="mobilePhone" label="联系电话" min-width="120" align="left"></el-table-column> <el-table-column prop="mobilePhone" label="联系电话" min-width="120" align="left"></el-table-column>
<el-table-column prop="price" label="价格(元)" min-width="60" align="left"> <el-table-column prop="price" label="价格(元)" min-width="80" align="left">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{scope.row.price | rounding}}</span> <span>{{scope.row.price | rounding}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="status" label="状态" min-width="80" align="left"> <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"> <template slot-scope="scope">
<span>{{scope.row.status | statusFilter}}</span> <span>{{scope.row.status | statusFilter}}</span>
</template> </template>
...@@ -150,26 +155,41 @@ ...@@ -150,26 +155,41 @@
<el-dialog <el-dialog
title="设置价格" title="设置价格"
:visible.sync="setPriceVisible" :visible.sync="setPriceVisible"
width="40%"> width="55%">
<el-row :gutter="30" class="row search" type="flex" style="margin-bottom:0;"> <!-- <el-row :gutter="30" class="row search" type="flex" style="margin-bottom:0;">-->
<el-form ref="setPriceForm" <el-form ref="setPriceForm"
:rules="setPriceRules" :rules="setPriceRules"
:model="setPriceForm" :model="setPriceForm"
label-width="150px" label-width="250px"
label-suffix=":" label-suffix=":"
label-position="right" label-position="right"
size="mini" size="mini"
style="width: 100%;"> style="width: 100%;">
<el-col :span="15">
<el-form-item label="价格" class="required-label"> <el-form-item label="问诊价格" class="required-label" prop="price">
<el-col :span="18">
<el-input-number v-model="setPriceForm.price" size="small" :precision="2" :min="0" :max="9999" placeholder="请输入价格" @change="changePrice($event)"></el-input-number> <el-input-number v-model="setPriceForm.price" size="small" :precision="2" :min="0" :max="9999" placeholder="请输入价格" @change="changePrice($event)"></el-input-number>
</el-col>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="15" style="margin-left: 105px;">
实际收入(接诊后实际到账金额): ¥{{tempPrice | rounding}} <el-form-item label="接诊服务费结算方式(上级医生)" prop="commissionType">
</el-col> <el-col :span="18">
<el-radio-group v-model="setPriceForm.commissionType" size="small" style="line-height: 45px;">
<div>
<el-radio :label="1" style="float: left;margin-top: 5px;line-height: 20px;">按比例分佣(%)</el-radio>
<span style="float: right;width: 100px;"><el-input-number v-model="setPriceForm.commissionPrice1" size="small" :precision="2" :min="0" :max="100"></el-input-number></span>
</div>
<div>
<el-radio :label="2" style="float: left;margin-top: 30px;line-height: 20px;">固定分佣金额(元)</el-radio>
<span style="float: right;width: 100px;margin-left: 14px;"><el-input-number v-model="setPriceForm.commissionPrice2" size="small" :precision="2" :min="0" :max="9999"></el-input-number></span>
</div>
</el-radio-group>
</el-col>
</el-form-item>
</el-form> </el-form>
</el-row> <!-- </el-row>-->
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="setPriceVisible = false">取 消</el-button> <el-button @click="setPriceVisible = false">取 消</el-button>
<el-button type="primary" @click="confirmSetPrice">确 定</el-button> <el-button type="primary" @click="confirmSetPrice">确 定</el-button>
...@@ -199,6 +219,10 @@ export default { ...@@ -199,6 +219,10 @@ export default {
}, },
batchUpdatePriceFlag: false, batchUpdatePriceFlag: false,
setPriceForm:{ setPriceForm:{
commissionType: 1,
commissionPrice: '',
commissionPrice1: '',
commissionPrice2: '',
doctorId: '', doctorId: '',
serviceType: '', serviceType: '',
price: '' price: ''
...@@ -209,10 +233,12 @@ export default { ...@@ -209,10 +233,12 @@ export default {
tableData: [], tableData: [],
totalRows: 0, totalRows: 0,
setPriceRules: { setPriceRules: {
// price: [ price: [
// { required: true, message: '请输入价格', trigger: 'blur'}, {required: true, message: "请输入问诊价格", trigger: 'blur'}
// { pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/, message: '请输入正确额格式,可保留两位小数' } ],
// ], commissionType: [
{required: true, message: "请选择接诊服务费结算方式", trigger: 'blur'}
]
}, },
liveBack: false, liveBack: false,
timeClickFlag: true, timeClickFlag: true,
...@@ -231,6 +257,19 @@ export default { ...@@ -231,6 +257,19 @@ export default {
value: 2, value: 2,
label: "上架" label: "上架"
}], }],
commissionTypeList: [
{
value: 0,
label: "全部"
},
{
value: 1,
label: "按比例分佣"
},
{
value: 2,
label: "固定分佣金额"
}],
profit: 0, profit: 0,
selectedList:[], selectedList:[],
selectedPriceList:[], selectedPriceList:[],
...@@ -253,6 +292,7 @@ export default { ...@@ -253,6 +292,7 @@ export default {
); //减去一天的时间代表可以选择同一天; ); //减去一天的时间代表可以选择同一天;
} }
}, },
} }
}, },
mounted() { mounted() {
...@@ -307,6 +347,29 @@ export default { ...@@ -307,6 +347,29 @@ export default {
}); });
return; return;
} }
if(this.setPriceForm.commissionType == null || this.setPriceForm.commissionType == ""){
this.$message({
message: '请选择接诊服务费结算方式(上级医生)',
type: "warning"
});
return;
}
if(this.setPriceForm.commissionType == 1 && this.setPriceForm.commissionPrice1 == undefined ){
this.$message({
message: '请输入按比例分佣',
type: "warning"
});
return;
}
if(this.setPriceForm.commissionType == 2 && this.setPriceForm.commissionPrice2 == undefined ){
this.$message({
message: '请输入固定分佣金额',
type: "warning"
});
return;
}
let timeoutId = null let timeoutId = null
timeoutId && clearTimeout(timeoutId) timeoutId && clearTimeout(timeoutId)
timeoutId = setTimeout(() => { timeoutId = setTimeout(() => {
...@@ -322,7 +385,18 @@ export default { ...@@ -322,7 +385,18 @@ export default {
if(this.batchUpdatePriceFlag){ if(this.batchUpdatePriceFlag){
let setPriceList = []; let setPriceList = [];
for(let i = 0; i < this.multipleSelection.length; i++){ 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,
commissionPrice:this.setPriceForm.commissionPriceStr
});
} }
this.POST('/diagnose/doctorService/batchUpdatePrice', setPriceList).then(res => { this.POST('/diagnose/doctorService/batchUpdatePrice', setPriceList).then(res => {
this.loading = false this.loading = false
...@@ -343,6 +417,13 @@ export default { ...@@ -343,6 +417,13 @@ export default {
}); });
} }
else { 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.setPriceForm.commissionPrice = this.setPriceForm.commissionPriceStr;
this.POST('/diagnose/doctorService/updatePrice', this.setPriceForm).then(res => { this.POST('/diagnose/doctorService/updatePrice', this.setPriceForm).then(res => {
this.loading = false this.loading = false
// closeLoading(this); // closeLoading(this);
...@@ -538,15 +619,29 @@ export default { ...@@ -538,15 +619,29 @@ export default {
}) })
}, },
setPrice(row, batchUpdatePriceFlag){ setPrice(row, batchUpdatePriceFlag){
if(this.$refs.setPriceForm) {
this.$refs.setPriceForm.resetFields()
}
this.batchUpdatePriceFlag = batchUpdatePriceFlag; this.batchUpdatePriceFlag = batchUpdatePriceFlag;
this. setPriceForm.doctorId = row.doctorId; this.setPriceForm.doctorId = row.doctorId;
this.setPriceForm.serviceType = row.serviceType; this.setPriceForm.serviceType = row.serviceType;
this.setPriceForm.price = row.price; this.setPriceForm.price = row.price;
this.setPriceVisible = true this.setPriceForm.commissionType = "";
if(this.$refs.setPriceForm) { this.setPriceForm.commissionPrice1 = undefined;
this.$refs.setPriceForm.resetFields() this.setPriceForm.commissionPrice2 = undefined;
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.getProfit(row); this.setPriceForm.price = row.price;
this.setPriceVisible = true;
// if(this.$refs.setPriceForm) {
// this.$refs.setPriceForm.resetFields()
// }
// this.getProfit(row);
}, },
getProfit(row){ getProfit(row){
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册