提交 2dcb1bbe 编写于 作者: huangwensu's avatar huangwensu

接口联调

上级 6437e05c
......@@ -17,6 +17,7 @@ import App from '../App'
// 问诊订单管理
const diagnosisList = r => require.ensure([], () => r(require('../views/IM/diagnosis-admin/diagnosis-list.vue')), 'diagnosisList')
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')
export default [{
path: '/',
......@@ -31,6 +32,9 @@ export default [{
},{
path: '/diagnosis-im',
component: diagnosisIm
},{
path: '/diagnosis-live',
component: diagnosisLive
}
// {
// path: '/search-message-list',
......
const vueFilter = {
priceFilter: value => {
if(value) {
return (value / 100) + '元'
}
},
diagnosisTypeFilter: (value) => {
if(value == 1) {
return '音频'
......
......@@ -8,9 +8,10 @@
>
<section class="c-header">
<div class="c-header-l">
<img :src="currentSession.avatarImageUrl" alt />
<!-- <img :src="currentSession.avatarImageUrl" alt />
<span class="name">{{doctorInfo.name}}</span>
<span class="time-tip">当前会话时长:{{currentContinueTimes | continueTimesFilter}}</span>
<span class="time-tip">当前会话时长:{{currentContinueTimes | continueTimesFilter}}</span> -->
<span class="time-tip">问诊医生XX医生的问诊群聊</span>
</div>
</section>
<p class="refreshText"></p>
......
......@@ -10,22 +10,23 @@
v-model="searchParam.searchVal"
clearable
placeholder="支付订单、医生姓名、运营姓名搜索"
style="width:200px;"></el-input>
style="width:300px;"
@change="search(1)"></el-input>
</el-form-item>
<el-form-item label="">
<el-select v-model="searchParam.status" clearable placeholder="问诊状态" style="width:200px">
<el-select v-model="searchParam.status" @change="search(1)" clearable placeholder="问诊状态" style="width:150px">
<el-option
v-for="(eItem,eIndex) in diagnosisSelect"
:key="eIndex"
:label="eItem"
:value="eItem">
:label="eItem.value"
:value="eItem.no">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="">
<el-select v-model="searchParam.diagnoseType" clearable placeholder="问诊类型" style="width:200px">
<el-select v-model="searchParam.diagnoseType" @change="search(1)" clearable placeholder="问诊类型" style="width:150px">
<el-option
v-for="(eItem,eIndex) in diagnosisSelect"
v-for="(eItem,eIndex) in diagnosisTypeSelect"
:key="eIndex"
:label="eItem.value"
:value="eItem.no">
......@@ -46,7 +47,7 @@
:data="tableData"
style="width: 100%"
v-loading="loading">
<el-table-column prop="orderNo" label="订单ID" min-width="100" align="left"></el-table-column>
<el-table-column prop="orderNo" label="订单ID" min-width="80" align="left"></el-table-column>
<el-table-column prop="operateUserName" label="运营人员" min-width="100" align="left"></el-table-column>
<el-table-column prop="specialName" label="专区名称" min-width="120" align="left"></el-table-column>
<el-table-column prop="diagnoseType" label="问诊类型" min-width="80" align="left">
......@@ -56,9 +57,13 @@
</el-table-column>
<el-table-column prop="doctorName" label="接诊医生" min-width="100" align="left"></el-table-column>
<el-table-column prop="doctorMobile" label="接诊电话" 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="userName" label="问诊患者" min-width="80" align="left"></el-table-column>
<el-table-column prop="userMobile" label="问诊电话" min-width="100" align="left"></el-table-column>
<el-table-column prop="price" label="价格" min-width="80" align="left"></el-table-column>
<el-table-column prop="price" label="价格" min-width="80" align="left">
<template slot-scope="scope">
<span>{{scope.row.price | priceFilter}}</span>
</template>
</el-table-column>
<el-table-column prop="appointBeginTime" label="预约时间" min-width="120" align="left">
<template slot-scope="scope">
<p>{{scope.row.appointBeginTime}}</p>
......@@ -70,7 +75,7 @@
<template slot-scope="scope">
<div>
<el-button type="primary" size="small" @click="timeHandle(scope.row)">预约时间</el-button>
<el-button type="primary" size="small" @click="endChat(scope.row)">结束</el-button>
<el-button type="primary" size="small" @click="endDiagnosis(scope.row)">结束问诊</el-button>
</div>
<div style="margin-top: 10px;">
<el-button type="primary" size="small" @click="callAll(scope.row)">呼叫双方</el-button>
......@@ -99,7 +104,7 @@
:data="tableData"
style="width: 100%"
v-loading="loading">
<el-table-column prop="orderNo" label="订单ID" min-width="100" align="left"></el-table-column>
<el-table-column prop="orderNo" label="订单ID" min-width="80" align="left"></el-table-column>
<el-table-column prop="operateUserName" label="运营人员" min-width="100" align="left"></el-table-column>
<el-table-column prop="specialName" label="专区名称" min-width="120" align="left"></el-table-column>
<el-table-column prop="diagnoseType" label="问诊类型" min-width="80" align="left">
......@@ -109,9 +114,13 @@
</el-table-column>
<el-table-column prop="doctorName" label="接诊医生" min-width="100" align="left"></el-table-column>
<el-table-column prop="doctorMobile" label="接诊电话" 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="userName" label="问诊患者" min-width="80" align="left"></el-table-column>
<el-table-column prop="userMobile" label="问诊电话" min-width="100" align="left"></el-table-column>
<el-table-column prop="price" label="价格" min-width="80" align="left"></el-table-column>
<el-table-column label="价格" min-width="80" align="left">
<template slot-scope="scope">
<span>{{scope.row.price | priceFilter}}</span>
</template>
</el-table-column>
<el-table-column prop="appointBeginTime" label="预约时间" min-width="120" align="left">
<template slot-scope="scope">
<p>{{scope.row.appointBeginTime}}</p>
......@@ -146,7 +155,7 @@
:visible.sync="timeVisible"
width="40%">
<el-row :gutter="30" class="row search" type="flex" style="margin-bottom:0;">
<el-form ref="tagForm"
<el-form ref="timeForm"
:rules="timeRules"
:model="timeForm"
label-width="150px"
......@@ -155,22 +164,21 @@
size="mini"
style="width: 100%;">
<el-col :span="24">
<el-form-item label="年月日" prop="yearTime">
<el-form-item label="开始时间" prop="beginTime">
<el-date-picker
v-model="timeForm.time"
v-model="timeForm.beginTime"
type="datetime"
placeholder="请选择年月日">
placeholder="请选择开始时间"
value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
</el-form-item>
<el-form-item label="音视频时长">
<el-select v-model="timeForm.timeLength" clearable placeholder="音视频时长" style="width:200px">
<el-option
v-for="(eItem,eIndex) in timeSelect"
:key="eIndex"
:label="eItem"
:value="eItem">
</el-option>
</el-select>
<el-form-item label="结束时间" prop="endTime">
<el-date-picker
v-model="timeForm.endTime"
type="datetime"
placeholder="请选择结束时间"
value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
</el-form-item>
</el-col>
</el-form>
......@@ -192,30 +200,56 @@ export default {
timeVisible: false,
searchParam: {
searchVal: '',
status: '',
diagnoseType: '',
status: '', // 2、待问诊3、问诊中 4、已问诊"
diagnoseType: '', // 1、音频 2、视频
tab: 2, // 1、已分配 2、未分配
pageSize: 15,
pageNo: 1
},
timeForm:{
time: '',
timeLength: ''
diagnoseLogId: '',
beginTime: '',
endTime: ''
},
timeSelect: [],
orderSelect: [],
diagnosisSelect: [],
diagnosisTypeSelect: [],
tableData: [],
totalRows: 0,
timeRules: {
'beginTime': [
{ required: true, message: '请选择预约开始时间', trigger: 'change'}
],
'endTime': [
{ required: true, message: '请选择预约结束时间', trigger: 'change'}
]
}
}
},
mounted() {
this.getDiagnoseTypeList();
this.getDiagnoseList();
this.search();
},
methods: {
// 问诊类型
getDiagnoseTypeList() {
let url = `/basic-data/constants?typeCode=P253`;
this.GET(url).then(res => {
if (res.code == "000000") {
this.diagnosisTypeSelect = res.data;
}
});
},
// 问诊状态
getDiagnoseList() {
let url = `/basic-data/constants?typeCode=P254`;
this.GET(url).then(res => {
if (res.code == "000000") {
this.diagnosisSelect = res.data;
}
});
},
// tab切换
handleClick(val) {
this.searchParam.tab = val.name == 'second' ? 2: 1;
......@@ -235,19 +269,45 @@ export default {
});
},
// 预约时间
timeHandle() {
timeHandle(row) {
this.timeVisible = true;
this.timeForm.diagnoseLogId = row.diagnoseLogId;
},
confirmTime() {
this.$refs.timeForm.validate((valid) => {
if(valid) {
this.loading = true;
this.POST('/diagnose/admin/diagnose/appointTime', this.timeForm).then(res => {
this.loading = false;
if (res.code == "000000") {
this.$message({
message: '预约成功',
type: "success"
});
this.searchParam.tab = 1;
this.timeVisible = false;
this.search();
}
});
}
})
},
// 结束聊天
endChat() {
// 结束问诊
endDiagnosis(row) {
this.POST(`/diagnose/admin/diagnose/end/${row.diagnoseLogId}`, '').then(res => {
if (res.code == "000000") {
this.$message({
message: '成功结束问诊',
type: "success"
});
this.searchParam.tab = 1;
this.search();
}
});
},
// 结束
// 呼叫双方
callAll() {
this.$router.push('/diagnosis-live')
},
// 发送消息
sendMessage(row) {
......@@ -255,7 +315,19 @@ export default {
},
// 选择
selectBtn(row) {
this.POST(`/diagnose/admin/diagnose/choose/${row.diagnoseLogId}`, '').then(res => {
if (res.code == "000000") {
this.$message({
message: '选择成功',
type: "success"
});
this.searchParam.tab = 1;
this.search();
}
});
this.activeName = 'first';
this.searchParam.tab = 1;
this.search();
},
handleSizeChange(value) {
this.searchParam.pageSize = value;
......
<template>
<div></div>
</template>
<script>
export default {
}
</script>
<style lang="less" scoped>
</style>
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册