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

接口联调

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