提交 df4d6788 编写于 作者: qian.jie's avatar qian.jie

发布dev

上级 394f1165
因为 它太大了无法显示 源差异 。您可以改为 查看blob
...@@ -167,7 +167,20 @@ export const callDirect = async (data) => { ...@@ -167,7 +167,20 @@ export const callDirect = async (data) => {
method: 'post', method: 'post',
}); });
}; };
export const manualCall = async (data) => {
return request({
url: '/diagnose/admin/diagnose/manual/call',
data: data,
method: 'post',
});
};
// 获取申请取消备注
export const outbounNote = async () => {
return request({
url: '/diagnose/admin/diagnose/outbound/note',
method: 'post',
});
};
export const usersigTrtc = async (data) => { export const usersigTrtc = async (data) => {
return request({ return request({
url: '/coupler/usersig/trtc', url: '/coupler/usersig/trtc',
......
src/assets/image/workbench/appointment.png

256 字节 | W: | H:

src/assets/image/workbench/appointment.png

252 字节 | W: | H:

src/assets/image/workbench/appointment.png
src/assets/image/workbench/appointment.png
src/assets/image/workbench/appointment.png
src/assets/image/workbench/appointment.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/image/workbench/calling.png

928 字节 | W: | H:

src/assets/image/workbench/calling.png

825 字节 | W: | H:

src/assets/image/workbench/calling.png
src/assets/image/workbench/calling.png
src/assets/image/workbench/calling.png
src/assets/image/workbench/calling.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/image/workbench/photo.png

299 字节 | W: | H:

src/assets/image/workbench/photo.png

276 字节 | W: | H:

src/assets/image/workbench/photo.png
src/assets/image/workbench/photo.png
src/assets/image/workbench/photo.png
src/assets/image/workbench/photo.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/image/workbench/video.png

262 字节 | W: | H:

src/assets/image/workbench/video.png

239 字节 | W: | H:

src/assets/image/workbench/video.png
src/assets/image/workbench/video.png
src/assets/image/workbench/video.png
src/assets/image/workbench/video.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/image/workbench/voice.png

260 字节 | W: | H:

src/assets/image/workbench/voice.png

243 字节 | W: | H:

src/assets/image/workbench/voice.png
src/assets/image/workbench/voice.png
src/assets/image/workbench/voice.png
src/assets/image/workbench/voice.png
  • 2-up
  • Swipe
  • Onion skin
<template>
<div>
<el-dialog
title="申请取消/退款"
:visible.sync="dialogFormVisible"
@close="cancel"
>
<el-form
ref="setForm"
:model="form"
:rules="addRules"
>
<el-form-item
label="申请取消/退款原因:"
:label-width="formLabelWidth"
prop="region"
>
<el-select
v-model="form.region"
placeholder="请选择申请取消/退款"
style="width: 50%"
>
<el-option
v-for="(item, index) of noteList"
:key="index"
:label="item"
:value="item"
/>
</el-select>
</el-form-item>
</el-form>
<div
slot="footer"
class="dialog-footer"
>
<el-button @click="cancel">
取 消
</el-button>
<el-button
type="primary"
@click="confirm"
>
提 交
</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
// import {outbounNote} from '../../api/diagnosis';
import { updateDiagnosis } from '../../utils/diagnosis';
let vm = null;
export default {
props: {
dialogFormVisible: {
type: Boolean,
default: false,
},
diagnoseLogId: {
type: Number,
default: 0,
},
noteList: {
type: Array,
default: () => {
return [];
},
},
},
data() {
return {
form: {
region: '',
},
formLabelWidth: '200px',
addRules: {
region: [
{
required: true,
message: '请选择申请取消/退款原因',
trigger: 'blur',
},
],
},
};
},
watch: {},
created() {
vm = this;
},
mounted() {
// this.getOutboundNote();
},
methods: {
// getOutboundNote() {
// outbounNote().then(res => {
// if(res.code == '000000') {
// this.noteList = res.data || [];
// }
// });
// },
confirm() {
this.$refs.setForm.validate((valid) => {
if (valid) {
console.log(this.form.region, '22');
const req = {
id: this.diagnoseLogId,
bizType: 17,
refundRemark: this.form.region,
};
updateDiagnosis(req)
.then(function (res) {
if (res.code == '000000') {
vm.cancel();
vm.$emit('search');
} else {
vm.$message.error(res.message);
}
})
.catch(function (error) {
vm.$message.error(error.message);
});
}
});
},
cancel() {
this.form.region = '';
this.$emit('update:dialogFormVisible', false);
},
},
};
</script>
<style lang="scss" scoped></style>
...@@ -123,11 +123,18 @@ ...@@ -123,11 +123,18 @@
@click="openDiagnosisStartTimeDialog" @click="openDiagnosisStartTimeDialog"
> >
<i class="el-icon-alarm-clock" /> <i class="el-icon-alarm-clock" />
<span v-if="startTimeValue === ''">请选择问诊时间</span> <span v-if="!rangeTimeData">请选择问诊时间</span>
<span <span v-else>
v-else {{
>{{ dayFormatWithoutSecond(startTimeValue) }} -- rangeTimeData
{{ dayFormatWithoutSecond(endTimeValue) }}</span> ? rangeTimeData
: dayFormatWithoutSecond(startTimeValue)
}}
{{
dayFormatWithoutSecond(endTimeValue)
? ' -- ' + dayFormatWithoutSecond(endTimeValue)
: ''
}}</span>
</div> </div>
</el-col> </el-col>
</el-form-item> </el-form-item>
...@@ -301,6 +308,10 @@ ...@@ -301,6 +308,10 @@
type: Boolean, type: Boolean,
default: false, default: false,
}, },
rangeTimeData: {
type: String,
default: '',
},
diagnoseLogId: { diagnoseLogId: {
type: Number, type: Number,
default: 0, default: 0,
...@@ -381,6 +392,8 @@ ...@@ -381,6 +392,8 @@
}, },
}, },
created() { created() {
// this.startTimeValue = this.rangeTimeData;
console.log('``````', this.rangeTimeData);
vm = this; vm = this;
this.getDoctorList(); this.getDoctorList();
}, },
...@@ -456,7 +469,7 @@ ...@@ -456,7 +469,7 @@
cancel() { cancel() {
this.doctorId = ''; this.doctorId = '';
this.formData.outsideDoctor = ''; this.formData.outsideDoctor = '';
this.startTimeValue = ''; // this.startTimeValue = this.rangeTimeData;
this.endTimeValue = ''; this.endTimeValue = '';
this.timeRange = ''; this.timeRange = '';
this.$emit('update:diagnosisDoctorVisible', false); this.$emit('update:diagnosisDoctorVisible', false);
...@@ -512,12 +525,13 @@ ...@@ -512,12 +525,13 @@
} }
}, },
openDiagnosisStartTimeDialog() { openDiagnosisStartTimeDialog() {
this.startTimeValue = this.rangeTimeData;
this.diagnosisStartTimeDialog = true; this.diagnosisStartTimeDialog = true;
}, },
startTimeConfirm(isCancle) { startTimeConfirm(isCancle) {
console.log('isCancle-', isCancle); console.log('isCancle-', isCancle);
if (isCancle == 'cancel') { if (isCancle == 'cancel') {
this.startTimeValue = ''; // this.startTimeValue = '';
this.endTimeValue = ''; this.endTimeValue = '';
this.timeRange = ''; this.timeRange = '';
} }
...@@ -542,6 +556,7 @@ ...@@ -542,6 +556,7 @@
.add(this.timeRange, 'minute') .add(this.timeRange, 'minute')
.format('YYYY-MM-DD HH:mm:ss'); .format('YYYY-MM-DD HH:mm:ss');
} }
this.$emit('changeStartTime', { time: this.startTimeValue });
this.diagnosisStartTimeDialog = false; this.diagnosisStartTimeDialog = false;
}, },
dayFormat(v) { dayFormat(v) {
......
...@@ -80,7 +80,14 @@ ...@@ -80,7 +80,14 @@
</div> </div>
</div> </div>
</div> </div>
<div class="manual-call-status">
<div class="manual-dialing">
<img
:src="isManuacall ? manuacallIng : manuacall"
alt=""
@click="manualDialing(1)"
>
</div>
<div <div
v-if="diagnoseTypeIcon == 'voice' && doctorTrtcEntryStatus == 2" v-if="diagnoseTypeIcon == 'voice' && doctorTrtcEntryStatus == 2"
class="call-status" class="call-status"
...@@ -93,6 +100,7 @@ ...@@ -93,6 +100,7 @@
> >
</div> </div>
</div> </div>
</div>
<div class="inquiry-user-status"> <div class="inquiry-user-status">
<span <span
:class=" :class="
...@@ -162,7 +170,14 @@ ...@@ -162,7 +170,14 @@
</div> </div>
</div> </div>
</div> </div>
<div class="manual-call-status">
<div class="manual-dialing">
<img
:src="isManuacallType ? manuacallIng : manuacall"
alt=""
@click="manualDialing(2)"
>
</div>
<div <div
v-if="diagnoseTypeIcon == 'voice' && userTrtcEntryStatus == 2" v-if="diagnoseTypeIcon == 'voice' && userTrtcEntryStatus == 2"
class="call-status" class="call-status"
...@@ -175,6 +190,7 @@ ...@@ -175,6 +190,7 @@
> >
</div> </div>
</div> </div>
</div>
<div class="inquiry-user-status"> <div class="inquiry-user-status">
<span <span
:class=" :class="
...@@ -202,7 +218,12 @@ ...@@ -202,7 +218,12 @@
</template> </template>
<script> <script>
import { teamDetail, callDirect, doctorAdviceList } from '@/api/diagnosis'; import {
teamDetail,
callDirect,
doctorAdviceList,
manualCall,
} from '@/api/diagnosis';
import { createNamespacedHelpers } from 'vuex'; import { createNamespacedHelpers } from 'vuex';
const { mapState } = createNamespacedHelpers('main'); const { mapState } = createNamespacedHelpers('main');
export default { export default {
...@@ -217,14 +238,18 @@ ...@@ -217,14 +238,18 @@
data() { data() {
return { return {
infocallImg: require('@/assets/image/workbench/calling.png'), infocallImg: require('@/assets/image/workbench/calling.png'),
callout: require('@/assets/image/workbench/callout.png'), callout: require('@/assets/image/workbench/appremind.png'),
callouting: require('@/assets/image/workbench/callouting.png'), callouting: require('@/assets/image/workbench/remindalready.png'),
offline: require('@/assets/image/workbench/offline.png'), offline: require('@/assets/image/workbench/offline.png'),
manuacall: require('@/assets/image/workbench/maulcall.png'),
manuacallIng: require('@/assets/image/workbench/calling.gif'),
timer: null, timer: null,
isChat: false, isChat: false,
isUserChat: false, isUserChat: false,
isDoctorChat: false, isDoctorChat: false,
isCall: false, isCall: false,
isManuacall: false,
isManuacallType: false,
accId: '', accId: '',
}; };
}, },
...@@ -349,6 +374,7 @@ ...@@ -349,6 +374,7 @@
}, },
watch: { watch: {
item(newVal, oldVal) { item(newVal, oldVal) {
console.log(newVal, oldVal, 'newVal, oldVal');
if (newVal !== oldVal) { if (newVal !== oldVal) {
if (newVal.doctorTrtcEntryStatus == 2) { if (newVal.doctorTrtcEntryStatus == 2) {
this.isDoctorChat = false; this.isDoctorChat = false;
...@@ -375,6 +401,52 @@ ...@@ -375,6 +401,52 @@
}, },
methods: { methods: {
manualDialing(type) {
this.$confirm('确认要电话通知该医生吗?', '提示', {
confirmButtonText: '电话通知',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
let userMobilePhone = '';
let userId = '';
let doctorId = '';
let doctorMobilePhone = '';
if (type === 1) {
userMobilePhone = null;
userId = null;
doctorId = this.item.doctorId;
doctorMobilePhone = this.item.doctorMobile;
} else {
userMobilePhone = this.item.userMobile;
userId = this.item.userId;
doctorId = null;
doctorMobilePhone = null;
}
const params = {
diagnoseId: this.item.diagnoseLogId,
doctorId: doctorId,
doctorMobilePhone: doctorMobilePhone,
userId: userId,
userMobilePhone: userMobilePhone,
};
manualCall(params).then((res) => {
if (res.code === '000000') {
if (type === 1) {
this.isManuacall = true;
} else {
this.isManuacallType = true;
}
}
});
})
.catch(() => {
this.$message({
type: 'info',
message: '取消拨打电话',
});
});
},
formatDateData(time) { formatDateData(time) {
const now_data = new Date().getTime(); const now_data = new Date().getTime();
const my_time = now_data - time; const my_time = now_data - time;
...@@ -630,14 +702,24 @@ ...@@ -630,14 +702,24 @@
} }
} }
} }
.manual-call-status {
display: flex;
.manual-dialing {
margin-right: 5px;
cursor: pointer;
img {
width: 27px;
height: 48px;
}
}
.call-status { .call-status {
width: 45px; // width: 45px;
height: 46px; // height: 46px;
img { img {
cursor: pointer; cursor: pointer;
width: 45px; width: 27px;
height: 46px; height: 48px;
}
} }
} }
} }
...@@ -746,7 +828,7 @@ ...@@ -746,7 +828,7 @@
width: 12px; width: 12px;
height: 12px; height: 12px;
display: inline-block; display: inline-block;
background: url("../../assets/image/workbench/appointment.png") no-repeat; background: url('../../assets/image/workbench/appointment.png') no-repeat;
background-size: cover; background-size: cover;
margin-right: 5px; margin-right: 5px;
} }
...@@ -754,21 +836,21 @@ ...@@ -754,21 +836,21 @@
width: 12px; width: 12px;
height: 12px; height: 12px;
display: inline-block; display: inline-block;
background: url("../../assets/image/workbench/video.png") no-repeat; background: url('../../assets/image/workbench/video.png') no-repeat;
background-size: cover; background-size: cover;
} }
.photo { .photo {
width: 12px; width: 12px;
height: 12px; height: 12px;
display: inline-block; display: inline-block;
background: url("../../assets/image/workbench/photo.png") no-repeat; background: url('../../assets/image/workbench/photo.png') no-repeat;
background-size: cover; background-size: cover;
} }
.voice { .voice {
width: 12px; width: 12px;
height: 12px; height: 12px;
display: inline-block; display: inline-block;
background: url("../../assets/image/workbench/voice.png") no-repeat; background: url('../../assets/image/workbench/voice.png') no-repeat;
background-size: cover; background-size: cover;
} }
} }
......
...@@ -72,8 +72,7 @@ ...@@ -72,8 +72,7 @@
</el-button> </el-button>
<el-button <el-button
v-if=" v-if="
showBtn(scope.row, 21, 22, 23, 24, 25, 26, 3, 2) && showBtn(scope.row, 21, 22, 23, 24, 25, 26, 3, 2) && menuType == 1
menuType == 1
" "
type="primary" type="primary"
size="small" size="small"
...@@ -92,8 +91,7 @@ ...@@ -92,8 +91,7 @@
</el-button> </el-button>
<el-button <el-button
v-if=" v-if="
showBtn(scope.row, 2, 21, 22, 23, 24, 25, 26, 3) && showBtn(scope.row, 2, 21, 22, 23, 24, 25, 26, 3) && menuType == 1
menuType == 1
" "
type="primary" type="primary"
size="small" size="small"
...@@ -139,9 +137,7 @@ ...@@ -139,9 +137,7 @@
加入问诊 加入问诊
</el-button> </el-button>
<el-button <el-button
v-if=" v-if="showBtn(scope.row, 2, 3, 4, 6, 21, 22, 23, 24, 25, 26, 5, 6)"
showBtn(scope.row, 2, 3, 4, 6, 21, 22, 23, 24, 25, 26, 5, 6)
"
type="primary" type="primary"
size="small" size="small"
class="btn" class="btn"
...@@ -149,6 +145,15 @@ ...@@ -149,6 +145,15 @@
> >
编辑 编辑
</el-button> </el-button>
<el-button
v-if="showBtn(scope.row, 21)"
type="primary"
size="small"
class="btn"
@click="applyCancel(scope.row)"
>
申请取消/退款
</el-button>
<el-button <el-button
v-if="showBtn(scope.row, 23)" v-if="showBtn(scope.row, 23)"
type="primary" type="primary"
...@@ -285,11 +290,10 @@ ...@@ -285,11 +290,10 @@
return { return {
dtTableData: DIAGNOS_LIST_NEW, dtTableData: DIAGNOS_LIST_NEW,
showTableData: DIAGNOS_LIST_NEW, showTableData: DIAGNOS_LIST_NEW,
isFreash:true, isFreash: true,
}; };
}, },
watch: { watch: {},
},
mounted() { mounted() {
this.showTableData = this.saveTableData; this.showTableData = this.saveTableData;
}, },
...@@ -344,6 +348,10 @@ ...@@ -344,6 +348,10 @@
witeGo(row) { witeGo(row) {
this.$emit('witeGo', row); this.$emit('witeGo', row);
}, },
// 申请取消
applyCancel(row) {
this.$emit('applyCancel', row);
},
// 设为待匹配医生 // 设为待匹配医生
waitMatchDot(row) { waitMatchDot(row) {
this.$emit('waitMatchDot', row); this.$emit('waitMatchDot', row);
...@@ -399,7 +407,7 @@ ...@@ -399,7 +407,7 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.btn { .btn {
margin-top: 5px; margin-top: 5px;
} }
</style> </style>
...@@ -20,6 +20,11 @@ export const DIAGNOS_LIST_NEW = [ ...@@ -20,6 +20,11 @@ export const DIAGNOS_LIST_NEW = [
showtooltip: false, showtooltip: false,
with: '200', with: '200',
}, },
{
prop: 'refundRemark',
label: '订单状态',
showtooltip: false,
},
{ {
prop: 'statusStr', prop: 'statusStr',
label: '状态', label: '状态',
......
...@@ -4,133 +4,142 @@ ...@@ -4,133 +4,142 @@
*/ */
// 预约类型list // 预约类型list
export const TYPE_LIST = [{ export const TYPE_LIST = [
{
label: '全部', label: '全部',
value: '' value: '',
}, },
{ {
label: '语音问诊', label: '语音问诊',
value: 1 value: 1,
}, },
{ {
label: '视频问诊', label: '视频问诊',
value: 2 value: 2,
}, },
{ {
label: '图文问诊', label: '图文问诊',
value: 3 value: 3,
} },
]; ];
// 支付方式 // 支付方式
export const PAY_LIST = [{ export const PAY_LIST = [
{
label: '代付', label: '代付',
value: 1 value: 1,
}, },
{ {
label: '扫码支付', label: '扫码支付',
value: 2 value: 2,
}, },
{ {
label: '分享支付', label: '分享支付',
value: 3 value: 3,
} },
]; ];
// 订单来源 // 订单来源
export const SOURCE_LIST = [{ export const SOURCE_LIST = [
{
label: '全部', label: '全部',
value: '' value: '',
}, },
{ {
label: '铁军反馈', label: '铁军反馈',
value: 1 value: 1,
}, },
{ {
label: '主动联系', label: '主动联系',
value: 2 value: 2,
}, },
{ {
label: '问卷收集', label: '问卷收集',
value: 3 value: 3,
}, },
{ {
label: '微信群反馈', label: '微信群反馈',
value: 4 value: 4,
}, },
{ {
label: '话题讨论与回复', label: '话题讨论与回复',
value: 5 value: 5,
} },
]; ];
// 订单价格 // 订单价格
export const ORDER_PRICE = [ export const ORDER_PRICE = [
{
label: '全部',
value: null,
},
{ {
label: '0元订单', label: '0元订单',
value: 0 value: 0,
}, },
{ {
label: '付费订单', label: '付费订单',
value: 9999 value: 9999,
} },
]; ];
// 订单状态 // 订单状态
export const STATUS_LIST = [{ export const STATUS_LIST = [
{
label: '初始状态(未支付)', label: '初始状态(未支付)',
value: 1 value: 1,
}, },
{ {
label: '待问诊(支付成功待完善)', label: '待问诊(支付成功待完善)',
value: 2 value: 2,
}, },
{ {
label: '问诊中(已完善)', label: '问诊中(已完善)',
value: 3 value: 3,
}, },
{ {
label: '已问诊', label: '已问诊',
value: 4 value: 4,
}, },
{ {
label: '已取消', label: '已取消',
value: 5 value: 5,
}, },
{ {
label: '已结算', label: '已结算',
value: 6 value: 6,
}, },
{ {
label: '已匹配', label: '已匹配',
value: 21 value: 21,
}, },
{ {
label: '待分诊', label: '待分诊',
value: 22 value: 22,
}, },
{ {
label: '待匹配医生', label: '待匹配医生',
value: 23 value: 23,
}, },
{ {
label: '待协调医生', label: '待协调医生',
value: 24 value: 24,
}, },
{ {
label: '待确认时间', label: '待确认时间',
value: 25 value: 25,
}, },
{ {
label: '待问诊', label: '待问诊',
value: 26 value: 26,
} },
]; ];
// 证件类型 // 证件类型
export const CAR_LIST = [{ export const CAR_LIST = [
{
label: '居民身份证', label: '居民身份证',
value: 1 value: 1,
} },
// { // {
// label: '护照', // label: '护照',
// value: 2 // value: 2
...@@ -142,179 +151,188 @@ export const CAR_LIST = [{ ...@@ -142,179 +151,188 @@ export const CAR_LIST = [{
]; ];
// 性别 // 性别
export const SEX_LIST = [{ export const SEX_LIST = [
{
label: '男', label: '男',
value: 1 value: 1,
}, },
{ {
label: '女', label: '女',
value: 2 value: 2,
} },
]; ];
// 与患者关系 // 与患者关系
export const RELATION_LIST = [{ export const RELATION_LIST = [
{
label: '自己', label: '自己',
value: 1 value: 1,
}, },
{ {
label: '患者', label: '患者',
value: 2 value: 2,
}, },
{ {
label: '家属', label: '家属',
value: 3 value: 3,
}, },
{ {
label: '朋友', label: '朋友',
value: 4 value: 4,
} },
]; ];
// 医生来源 // 医生来源
export const D_S_LIST = [{ export const D_S_LIST = [
{
label: '全部', label: '全部',
value: '' value: '',
}, },
{ {
label: '京东', label: '京东',
value: 1 value: 1,
}, },
{ {
label: '同事推荐', label: '同事推荐',
value: 2 value: 2,
}, },
{ {
label: '云鹊医平台', label: '云鹊医平台',
value: 3 value: 3,
} },
]; ];
// 是否跟进 // 是否跟进
export const IS_FLLOW = [{ export const IS_FLLOW = [
{
label: '全部', label: '全部',
value: '' value: '',
}, },
{ {
label: '是', label: '是',
value: 1 value: 1,
}, },
{ {
label: '否', label: '否',
value: 2 value: 2,
}, },
]; ];
// 创建订单方式 // 创建订单方式
export const CREATE_TYPE = [{ export const CREATE_TYPE = [
{
label: '全部', label: '全部',
value: '' value: '',
}, },
{ {
label: '系统创建', label: '系统创建',
value: 1 value: 1,
}, },
{ {
label: '手动创建', label: '手动创建',
value: 2 value: 2,
}, },
]; ];
// 是否匹配 // 是否匹配
export const OPERATE_LIST = [{ export const OPERATE_LIST = [
{
label: '全部', label: '全部',
value: '' value: '',
}, },
{ {
label: '已分配', label: '已分配',
value: 1 value: 1,
}, },
{ {
label: '未分配', label: '未分配',
value: 2 value: 2,
}, },
]; ];
// 跟进状态 // 跟进状态
export const FOLLW_LIST = [{ export const FOLLW_LIST = [
{
label: '待跟进', label: '待跟进',
value: 1 value: 1,
}, },
{ {
label: '跟进中(协调资源)', label: '跟进中(协调资源)',
value: 2 value: 2,
}, },
{ {
label: '已完成(跟进结束)', label: '已完成(跟进结束)',
value: 3 value: 3,
}, },
{ {
label: '长期跟进', label: '长期跟进',
value: 4 value: 4,
}, },
]; ];
// 0 只填写了患者信息(急速问诊才会有的状态),1 初始状态(未支付),2待问诊(支付成功待完善)3 问诊中(已完善),4、已问诊 5、取消, 6 已结算 // 0 只填写了患者信息(急速问诊才会有的状态),1 初始状态(未支付),2待问诊(支付成功待完善)3 问诊中(已完善),4、已问诊 5、取消, 6 已结算
// 21 已匹配 22 待分诊 23 待匹配接诊医生 24 待协调医生 25 待设置问诊时间 26 待问诊 // 21 已匹配 22 待分诊 23 待匹配接诊医生 24 待协调医生 25 待设置问诊时间 26 待问诊
// 预约单列表 // 预约单列表
export const ALL_TAB_LIST = [{ export const ALL_TAB_LIST = [
{
label: '全部', label: '全部',
active: '99' active: '99',
}, },
{ {
label: '待匹配', label: '待匹配',
active: '2' active: '2',
}, },
{ {
label: '已匹配', label: '已匹配',
active: '102' active: '102',
}, },
{ {
label: '稍后跟进', label: '稍后跟进',
active: '101' active: '101',
}, },
{ {
label: '待分诊', label: '待分诊',
active: '22' active: '22',
}, },
{ {
label: '待匹配医生', label: '待匹配医生',
active: '23' active: '23',
}, },
{ {
label: '待协调医生', label: '待协调医生',
active: '24' active: '24',
}, },
{ {
label: '待确认时间', label: '待确认时间',
active: '25' active: '25',
}, },
{ {
label: '待问诊', label: '待问诊',
active: '26' active: '26',
}, },
{ {
label: '问诊中', label: '问诊中',
active: '3' active: '3',
}, },
{ {
label: '已完成', label: '已完成',
active: '4' active: '4',
}, },
{ {
label: '已结算', label: '已结算',
active: '6' active: '6',
}, },
{ {
label: '已取消', label: '已取消',
active: '5' active: '5',
} },
]; ];
// 运营预约单列表 // 运营预约单列表
export const RUN_TAB_LIST = [{ export const RUN_TAB_LIST = [
{
label: '全部', label: '全部',
active: '99' active: '99',
}, },
// { // {
// label: '待匹配', // label: '待匹配',
...@@ -330,30 +348,31 @@ export const RUN_TAB_LIST = [{ ...@@ -330,30 +348,31 @@ export const RUN_TAB_LIST = [{
// }, // },
{ {
label: '待问诊', label: '待问诊',
active: '26' active: '26',
}, },
{ {
label: '问诊中', label: '问诊中',
active: '3' active: '3',
}, },
{ {
label: '已完成', label: '已完成',
active: '4' active: '4',
}, },
{ {
label: '已结算', label: '已结算',
active: '6' active: '6',
}, },
{ {
label: '已取消', label: '已取消',
active: '5' active: '5',
} },
]; ];
// 分诊列表 // 分诊列表
export const TRIAGE_TAB_LIST = [{ export const TRIAGE_TAB_LIST = [
{
label: '全部', label: '全部',
active: '99' active: '99',
}, },
// { // {
// label: '待分诊', // label: '待分诊',
...@@ -361,44 +380,47 @@ export const TRIAGE_TAB_LIST = [{ ...@@ -361,44 +380,47 @@ export const TRIAGE_TAB_LIST = [{
// }, // },
{ {
label: '待匹配', label: '待匹配',
active: '2' active: '2',
}, },
]; ];
// 接诊列表 // 接诊列表
export const RECEPTION_TAB_LIST = [{ export const RECEPTION_TAB_LIST = [
{
label: '全部', label: '全部',
active: '99' active: '99',
}, },
{ {
label: '待匹配医生', label: '待匹配医生',
active: '23' active: '23',
}, },
{ {
label: '待协调医生', label: '待协调医生',
active: '24' active: '24',
}, },
{ {
label: '待确认时间', label: '待确认时间',
active: '25' active: '25',
}, },
]; ];
// 外呼列表 // 外呼列表
export const MATCH_TAB_LIST = [{ export const MATCH_TAB_LIST = [
{
label: '全部', label: '全部',
active: '99' active: '99',
}, },
{ {
label: '已匹配', label: '已匹配',
active: '102' active: '102',
}, },
{ {
label: '稍后跟进', label: '稍后跟进',
active: '101' active: '101',
} },
]; ];
export const TABLE_COLUMN = [{ export const TABLE_COLUMN = [
{
prop: 'diagnoseLogId', prop: 'diagnoseLogId',
label: 'ID', label: 'ID',
showtooltip: false, showtooltip: false,
......
...@@ -70,12 +70,12 @@ ...@@ -70,12 +70,12 @@
</div> </div>
<div> <div>
<el-form-item <el-form-item
label="订单筛选" label="订单价格"
class="t-b" class="t-b"
> >
<el-select <el-select
v-model="searchParam.price" v-model="searchParam.price"
placeholder="请选择订单筛选" placeholder="请选择订单价格"
style="width: 220px" style="width: 220px"
> >
<el-option <el-option
...@@ -138,6 +138,26 @@ ...@@ -138,6 +138,26 @@
/> />
</el-form-item> </el-form-item>
</div> </div>
<div>
<el-form-item
label="订单状态"
class="t-b"
>
<el-select
v-model="searchParam.refundRemark"
placeholder="请选择订单状态"
clearable
style="width: 220px"
>
<el-option
v-for="(item, index) of noteList"
:key="index"
:label="item"
:value="item"
/>
</el-select>
</el-form-item>
</div>
</div> </div>
<div class="form-li"> <div class="form-li">
<div> <div>
...@@ -338,6 +358,7 @@ ...@@ -338,6 +358,7 @@
@cancelRefund="cancelRefund" @cancelRefund="cancelRefund"
@witeGo="witeGo" @witeGo="witeGo"
@waitMatchDot="waitMatchDot" @waitMatchDot="waitMatchDot"
@applyCancel="applyCancel"
@sendMessage="sendMessage" @sendMessage="sendMessage"
@joinDiagnose="joinDiagnose" @joinDiagnose="joinDiagnose"
@matchRun="matchRun" @matchRun="matchRun"
...@@ -399,7 +420,9 @@ ...@@ -399,7 +420,9 @@
:diagnose-log-id="diagnoseLogId" :diagnose-log-id="diagnoseLogId"
:diagnose-type="diagnoseType" :diagnose-type="diagnoseType"
:doctor-id="doctorId" :doctor-id="doctorId"
:range-time-data="rangeTimeData"
@search="search" @search="search"
@changeStartTime="changeStartTime"
/> />
<appointment-time <appointment-time
:appointment-time-visible.sync="appointmentTimeVisible" :appointment-time-visible.sync="appointmentTimeVisible"
...@@ -420,6 +443,13 @@ ...@@ -420,6 +443,13 @@
:biz-type="bizType" :biz-type="bizType"
@search="search" @search="search"
/> />
<!-- 申请取消/退款 -->
<applyCancelComponent
:dialog-form-visible.sync="dialogFormVisible"
:diagnose-log-id="diagnoseLogId"
:note-list="noteList"
@search="search"
/>
</div> </div>
<a <a
ref="target" ref="target"
...@@ -432,6 +462,7 @@ ...@@ -432,6 +462,7 @@
<script> <script>
let vm = null; let vm = null;
import { updateDiagnosis } from '../../../utils/diagnosis'; import { updateDiagnosis } from '../../../utils/diagnosis';
import { outbounNote } from '../../../api/diagnosis';
import { base64decode } from '../../../utils/utils.js'; import { base64decode } from '../../../utils/utils.js';
import { DIAGNOS_LIST_NEW } from '@/utils/GeneralData/diagnosis-list-new'; import { DIAGNOS_LIST_NEW } from '@/utils/GeneralData/diagnosis-list-new';
import { import {
...@@ -443,7 +474,7 @@ ...@@ -443,7 +474,7 @@
RECEPTION_TAB_LIST, RECEPTION_TAB_LIST,
RUN_TAB_LIST, RUN_TAB_LIST,
MATCH_TAB_LIST, MATCH_TAB_LIST,
ORDER_PRICE ORDER_PRICE,
} from '@/utils/constants'; } from '@/utils/constants';
import { import {
getCountQuery, getCountQuery,
...@@ -463,6 +494,7 @@ ...@@ -463,6 +494,7 @@
import DiagnosisTime from '../../../components/common/diagnosis-time'; import DiagnosisTime from '../../../components/common/diagnosis-time';
import RematchingDoctor from '../../../components/common/rematching-doctor'; import RematchingDoctor from '../../../components/common/rematching-doctor';
import TableSetComponent from '@/components/list/table-set-component'; import TableSetComponent from '@/components/list/table-set-component';
import applyCancelComponent from '../../../components/common/applyCancel';
export default { export default {
components: { components: {
TableSetComponent, TableSetComponent,
...@@ -476,6 +508,7 @@ ...@@ -476,6 +508,7 @@
AppointmentTime, AppointmentTime,
DiagnosisTime, DiagnosisTime,
RematchingDoctor, RematchingDoctor,
applyCancelComponent,
}, },
data() { data() {
return { return {
...@@ -514,13 +547,15 @@ ...@@ -514,13 +547,15 @@
pageNo: 1, pageNo: 1,
menuType: 1, // 菜单类型:1、all 2、运营 3、待分诊 4、待接诊 5、外呼 menuType: 1, // 菜单类型:1、all 2、运营 3、待分诊 4、待接诊 5、外呼
status: '', status: '',
price:'' price: '',
refundRemark: '',
}, },
noteList: [],
alltabslist: [], alltabslist: [],
tyleList: TYPE_LIST, tyleList: TYPE_LIST,
fllowList: IS_FLLOW, fllowList: IS_FLLOW,
sourceList: SOURCE_LIST, sourceList: SOURCE_LIST,
priceList:ORDER_PRICE, priceList: ORDER_PRICE,
tabpaneList: [], tabpaneList: [],
rematchingOptions: [], // 备注信息 rematchingOptions: [], // 备注信息
Raw_tabpaneList: [], Raw_tabpaneList: [],
...@@ -538,11 +573,13 @@ ...@@ -538,11 +573,13 @@
coordinatingVisible: false, coordinatingVisible: false,
diagnosisDoctorVisible: false, diagnosisDoctorVisible: false,
diagnoseFlag: false, diagnoseFlag: false,
rangeTimeData: '',
appointmentTimeVisible: false, appointmentTimeVisible: false,
diagnosisTimeVisible: false, diagnosisTimeVisible: false,
rematchingVisible: false, rematchingVisible: false,
multipleSelection: [], multipleSelection: [],
batchFlag: false, batchFlag: false,
dialogFormVisible: false,
bizType: 0, bizType: 0,
diagnoseType: 0, diagnoseType: 0,
doctorId: 0, doctorId: 0,
...@@ -582,11 +619,18 @@ ...@@ -582,11 +619,18 @@
}, },
mounted() { mounted() {
this.setTableHeight(); this.setTableHeight();
this.getOutboundNote();
}, },
destroyed() { destroyed() {
clearInterval(this.timer); clearInterval(this.timer);
}, },
methods: { methods: {
changeStartTime(time) {
console.log(time, '1233212321`');
this.rangeTimeData = time
? new Date(time.time).format('yyyy-MM-dd hh:mm:ss')
: '';
},
getTableData(val) { getTableData(val) {
this.saveTableData = val || []; this.saveTableData = val || [];
}, },
...@@ -637,7 +681,13 @@ ...@@ -637,7 +681,13 @@
this.contrastData(); this.contrastData();
}, },
getOutboundNote() {
outbounNote().then((res) => {
if (res.code == '000000') {
this.noteList = res.data || [];
}
});
},
// 不同也main切换不同的tab // 不同也main切换不同的tab
setTable(data) { setTable(data) {
let tabs = ALL_TAB_LIST; let tabs = ALL_TAB_LIST;
...@@ -836,10 +886,10 @@ ...@@ -836,10 +886,10 @@
diagnoseList(this.searchParam).then((res) => { diagnoseList(this.searchParam).then((res) => {
this.loading = false; this.loading = false;
if (res.code == '000000') { if (res.code == '000000') {
this.tableData = (res.data.list || []).map(item => { this.tableData = (res.data.list || []).map((item) => {
return { return {
...item, ...item,
price:item.price > 0 ? item.price / 100 : 0 price: item.price > 0 ? item.price / 100 : 0,
}; };
}); });
this.totalRows = res.data.allSize; this.totalRows = res.data.allSize;
...@@ -873,7 +923,8 @@ ...@@ -873,7 +923,8 @@
assistantVal: '', assistantVal: '',
receptionVal: '', receptionVal: '',
triageDepartmentId: '', triageDepartmentId: '',
price:'', price: '',
refundRemark: '',
diagnoseType: '', // 预约问诊类型:1、音频 2、视频 3、图文 diagnoseType: '', // 预约问诊类型:1、音频 2、视频 3、图文
createdTimeBegin: '', createdTimeBegin: '',
createdTimeEnd: '', createdTimeEnd: '',
...@@ -943,6 +994,12 @@ ...@@ -943,6 +994,12 @@
this.toFollowReason = row.toFollowReason; this.toFollowReason = row.toFollowReason;
this.diagnoseLogId = row.diagnoseLogId; this.diagnoseLogId = row.diagnoseLogId;
}, },
// 申请取消
applyCancel(row) {
this.diagnoseLogId = row.diagnoseLogId;
this.dialogFormVisible = true;
console.log(row);
},
// 设为待匹配医生 // 设为待匹配医生
waitMatchDot(row) { waitMatchDot(row) {
this.diagnoseLogId = row.diagnoseLogId; this.diagnoseLogId = row.diagnoseLogId;
...@@ -1023,8 +1080,11 @@ ...@@ -1023,8 +1080,11 @@
}, },
// 设为待确认时间 // 设为待确认时间
waitMatchTime(row) { waitMatchTime(row) {
console.log(row, 'row');
this.rangeTimeData = row.assistantBeginTime;
this.diagnoseFlag = true; this.diagnoseFlag = true;
this.diagnosisDoctorVisible = true; this.diagnosisDoctorVisible = true;
this.diagnoseLogId = row.diagnoseLogId; this.diagnoseLogId = row.diagnoseLogId;
this.diagnoseType = row.diagnoseType; this.diagnoseType = row.diagnoseType;
if (row.doctorId == 0) { if (row.doctorId == 0) {
...@@ -1032,6 +1092,10 @@ ...@@ -1032,6 +1092,10 @@
} else { } else {
this.doctorId = row.doctorId; this.doctorId = row.doctorId;
} }
// this.$nextTick(() => {
// this.diagnoseFlag = true;
// this.diagnosisDoctorVisible = true;
// });
}, },
// 重新匹配医生 // 重新匹配医生
reMatchDot(row, type) { reMatchDot(row, type) {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册