提交 97a48ab4 编写于 作者: 张磊's avatar 张磊

diagnose advice

上级 d7cd3fb0
<template>
<div class="diagnoseAdvice" v-drag v-if="showAdvice">
<div class="header"> <span class="headernum"> 问诊单{{currentAdvice.diagnoseId}} 诊断建议</span> <el-button @click="closeadvice">退出</el-button></div>
<div class="center" v-stopdrag>
<span>诊断建议</span> <el-input rows="10" type="textarea" v-model="diagnoseAdvice" placeholder="请输入内容"></el-input>
</div>
<div class="record">
<span>录音/录像</span>
<div v-if="currentAdvice.adviceAudioUrls!=undefined &&currentAdvice.adviceAudioUrls.length > 0">
<div v-for="itemAudio in currentAdvice.adviceAudioUrls" :key="itemAudio.diagnoseId">
<el-link :href="itemAudio" target="_blank">{{itemAudio}}</el-link>
</div>
</div>
<span style="color:#0D9078" v-else>无音频</span>
</div>
<div class="footer">
<el-button type="primary" style="height:35px" @click="SaveAdvice()">提交保存</el-button>
</div>
</div>
</template>
<script>
import {mapState} from "vuex";
export default {
data() {
return{
}
},
props:{
showAdvice:{
type:Boolean,
default:false
},
},
created() {
},
mounted() {
},
computed:{
...mapState({
currentAdvice: 'currentAdvice',
}),
diagnoseAdvice:{
get: function () {
return this.currentAdvice.content
},
set(val){
this.currentAdvice.content = val
}
}
},
methods:{
SaveAdvice() {
let params = {
adviceAudioUrls: this.currentAdvice.adviceAudioUrls,
content: this.diagnoseAdvice,
diagnoseId: 11,//id需要获取
illnessAudioUrls: this.currentAdvice.illnessAudioUrls
}
// if(!this.formData.advice) return
this.POST('/diagnose/admin/diagnose/doctorAdvice/create',params).then(res=>{
if(res.code == "000000"){
this.$message({
message: "保存成功",
type: "success",
});
this.closeadvice()
}
}).catch(err=>{
console.log(err);
})
},
closeadvice() {
this.$store.commit('updateShowAdvice', false);
}
},
directives: {
drag: {
// 指令的定义
bind: function (el) {
let odiv = el; //获取当前元素
el.onmousedown = (e) => {
//算出鼠标相对元素的位置
let disX = e.clientX - odiv.offsetLeft;
let disY = e.clientY - odiv.offsetTop;
let left = '';
let top = '';
document.onmousemove = (e)=>{
//用鼠标的位置减去鼠标相对元素的位置,得到元素的位置
left = e.clientX - disX;
top = e.clientY - disY;
//绑定元素位置到positionX和positionY上面
//移动当前元素
odiv.style.left = left + 'px';
odiv.style.top = top + 'px';
};
document.onmouseup = (e) => {
document.onmousemove = null;
document.onmouseup = null;
};
};
}
},
stopdrag: {
inserted:function(el, binding, vnode) {
let element = el;
element.onmousedown =function(e) {
e.stopPropagation()
}
}
}
}
}
</script>
<style lang="scss" scoped>
.diagnoseAdvice{
position: absolute;
top: 125px;
right: 20px;
z-index: 1000;
width: 500px;
height: 600px;
padding: 5px 5px 5px 6px;
background: #ffffff;
box-shadow: 10px 10px 50px 0px #d9d9d9;
overflow: hidden;
border-radius: 18px;
.header{
height: 60px;
border-bottom: 1px rgb(231, 228, 228) solid;
display: flex;
justify-content: space-between;
padding-left: 15px;
margin-bottom: 30px;
.headernum{
font-weight: 700;
line-height: 60px;
}
.el-button{
width: 85px;
height: 25px;
margin-top: 17px;
margin-right: 17px;
line-height: 0;
border-color: #9fba81;
color: #9fba81;
>span{
font-weight: 700;
}
}
}
.center{
display: flex;
margin-right: 28px;
margin-bottom: 30px;
height: 210px;
>span{
display: inline-block;
margin-top: 5px;
width: 110px;
}
.el-textarea{
height: 110px;
.el-textarea__inner{
height: 110px;
}
}
}
.record{
padding-left: 28px;
margin-top: 45px;
}
.footer{
position: absolute;
width: 500px;
height: 50px;
bottom: 0;
left: 0;
text-align: center;
margin-top: 5px;
display: flex;
align-items:center;
justify-content:center;
box-shadow: 0px 0px 5px #888888;
}
}
</style>
\ No newline at end of file
<template>
<div class="diagnoseAdvice-wrap" v-drag v-if="showAdvice">
<div class="header"> <span class="headernum"> 问诊单{{currentAdvice.diagnoseId}} 诊断建议</span> <el-button @click="closeadvice">退出</el-button></div>
<div class="center" v-stopdrag>
<span>诊断建议</span> <el-input rows="10" type="textarea" v-model="diagnoseAdvice" placeholder="请输入内容"></el-input>
</div>
<div class="record">
<span>录音/录像:</span>
<div v-if="currentAdvice.adviceAudioUrls!=undefined &&currentAdvice.adviceAudioUrls.length > 0">
<div v-for="itemAudio in currentAdvice.adviceAudioUrls" :key="itemAudio.diagnoseId">
<el-link :href="itemAudio" target="_blank">{{itemAudio}}</el-link>
</div>
</div>
<span style="color:#0D9078" v-else>无音频</span>
</div>
<div class="record flex">
<span>诊断建议:</span>
<div class="record-music">
<upload-music :musicList="illnessAudioUrls" ref="musicComponent"></upload-music>
</div>
</div>
<div class="footer">
<el-button type="primary" style="height:35px" @click="SaveAdvice">提交保存</el-button>
</div>
</div>
</template>
<script>
import {mapState} from "vuex";
import uploadMusic from '@/components/editor/upload-music'
export default {
components: {
uploadMusic
},
data() {
return{
diagnoseAdvice:'',
illnessAudioUrls:[]
}
},
props:{
showAdvice:{
type:Boolean,
default:false
},
},
created() {
},
mounted() {
},
computed:{
...mapState({
currentAdvice: 'currentAdvice',
}),
},
methods:{
SaveAdvice() {
if(this.diagnoseAdvice.trim() === ''){
this.$message({
message: "请填写诊断建议",
type: "success",
});
return false;
}
const url = this.$refs.musicComponent ? [...this.$refs.musicComponent.setNewArr()] : [];
let params = {
adviceAudioUrls: this.currentAdvice.adviceAudioUrls,
content: this.diagnoseAdvice,
diagnoseId: this.currentAdvice.diagnoseId,//id需要获取
illnessAudioUrls: url
}
this.POST('/diagnose/admin/diagnose/doctorAdvice/create',params).then(res=>{
if(res.code == "000000"){
this.$message({
message: "保存成功",
type: "success",
});
this.closeadvice()
}
}).catch(err=>{
console.log(err);
})
},
closeadvice() {
this.diagnoseAdvice = '';
this.$store.commit('updateShowAdvice', false);
}
},
directives: {
drag: {
// 指令的定义
bind: function (el) {
let odiv = el; //获取当前元素
el.onmousedown = (e) => {
//算出鼠标相对元素的位置
let disX = e.clientX - odiv.offsetLeft;
let disY = e.clientY - odiv.offsetTop;
let left = '';
let top = '';
document.onmousemove = (e)=>{
//用鼠标的位置减去鼠标相对元素的位置,得到元素的位置
left = e.clientX - disX;
top = e.clientY - disY;
//绑定元素位置到positionX和positionY上面
//移动当前元素
odiv.style.left = left + 'px';
odiv.style.top = top + 'px';
};
document.onmouseup = (e) => {
document.onmousemove = null;
document.onmouseup = null;
};
};
}
},
stopdrag: {
inserted:function(el, binding, vnode) {
let element = el;
element.onmousedown =function(e) {
e.stopPropagation()
}
}
}
}
}
</script>
<style lang="scss" scoped>
.diagnoseAdvice-wrap{
position: absolute;
top: 125px;
right: 20px;
z-index: 1000;
width: 500px;
//height: 600px;
padding: 5px 5px 5px 6px;
background: #ffffff;
box-shadow: 10px 10px 50px 0px #d9d9d9;
overflow: hidden;
border-radius: 18px;
.header{
height: 60px;
border-bottom: 1px rgb(231, 228, 228) solid;
display: flex;
justify-content: space-between;
padding-left: 15px;
margin-bottom: 30px;
.headernum{
font-weight: 700;
line-height: 60px;
}
.el-button{
width: 85px;
height: 25px;
margin-top: 17px;
margin-right: 17px;
line-height: 0;
border-color: #9fba81;
color: #9fba81;
>span{
font-weight: 700;
}
}
}
.center{
display: flex;
margin-right: 28px;
margin-bottom: 30px;
height: 210px;
>span{
display: inline-block;
margin-top: 5px;
width: 110px;
}
.el-textarea{
height: 110px;
.el-textarea__inner{
height: 110px;
}
}
}
.record{
padding-left: 28px;
margin-top: 45px;
}
.flex{
display: flex;
.record-music{
flex: 1;
}
}
.footer{
bottom: 0;
left: 0;
text-align: center;
margin-top: 5px;
}
}
</style>
......@@ -184,15 +184,24 @@ export default {
});
return false;
}
this.GET(`/diagnose/admin/diagnose/doctorAdvice/list/11`).then(res=>{
const i = this.item.diagnoseLogId;
// const i = 11;
this.GET(`/diagnose/admin/diagnose/doctorAdvice/list/${i}`).then(res=>{
if(res.code == '000000'){
console.log(res.data);
this.$store.commit('updateShowAdvice', true);
this.$store.commit('updateCurrentAdvice', res.data);
}else {
this.$message({
message: res.message,
type: "warning",
duration:1000
});
}
}).catch(err=>{
console.log(err);
})
this.$store.commit('updateShowAdvice', true);
}
}
}
......
......@@ -54,7 +54,7 @@ class RtcClient {
userId: this.userId_,
mirror: true
});
this.startRTC()
// this.startRTC()
} catch (e) {
console.error('加入房间失败 ' + e);
this.vueInstance.reloadfn()
......
......@@ -20,12 +20,10 @@
</el-row>
<!-- tab栏 -->
<el-radio-group @change="tabChange" v-model="tabPosition" style="margin-bottom: 30px;">
<el-radio-button label="99">全部({{currentCalList}})</el-radio-button>
<el-radio-button v-for="(item, index) in currentCalList" :key="'for'+index" :label="item.status">
{{item.statusStr}}({{item.count}})
</el-radio-button>
<el-radio-button label="1">待处理({{currentCalList}})</el-radio-button>
<el-radio-button label="2">问诊中({{currentCalList}})</el-radio-button>
<el-radio-button label="3">未开始({{currentCalList}})</el-radio-button>
<el-radio-button label="4">已结束({{currentCalList}})</el-radio-button>
<el-radio-button label="5">已取消({{currentCalList}})</el-radio-button>
</el-radio-group>
<div class="forbox">
<div class="for" v-for="(item, index) in currentDiagList" :key="'for'+index">
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册