提交 cbe87ba4 编写于 作者: lyf's avatar lyf

合并分支

<template> <template>
<div class="consultationlist" style=" user-select:none; "> <div class="consultationlist" style="user-select: none">
<div class="list"> <div class="list">
<div class="name">{{ operatorsItem.name || ''}}</div> <div class="name">{{ operatorsItem.name || "" }}</div>
<div class="details" @click="goworkBench"> <div class="details" @click="goworkBench">
<div class="handle">待处理: <span> 暂无</span></div> <!-- <div class="handle">待处理: <span> 暂无</span></div> -->
<div class="see"> <div class="see">
<a href="#">查看详情</a> <span>查看详情</span>
<i class="el-icon-arrow-right"></i> <i class="el-icon-arrow-right"></i>
</div> </div>
</div> </div>
</div> </div>
<div class="data"> <!-- <div class="data">
<div> <div>
<div class="totallist">暂无</div> <div class="totallist">暂无</div>
<div class="statelist">全部</div> <div class="statelist">全部</div>
...@@ -27,27 +27,27 @@ ...@@ -27,27 +27,27 @@
<div class="totallist">暂无</div> <div class="totallist">暂无</div>
<div class="statelist">全部</div> <div class="statelist">全部</div>
</div> </div>
</div> </div> -->
</div> </div>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {};
}
}, },
props:{ props: {
operatorsItem:{ operatorsItem: {
type: Object, type: Object,
default:{} default: {},
}, },
workbenchAdminDate: { workbenchAdminDate: {
type: String, type: String,
default:'' default: "",
} },
}, },
created() { created() {
console.log("operatorsItem", this.operatorsItem);
}, },
methods: { methods: {
goworkBench() { goworkBench() {
...@@ -56,41 +56,37 @@ export default { ...@@ -56,41 +56,37 @@ export default {
operateUserId: this.operatorsItem.id, operateUserId: this.operatorsItem.id,
pageNo: 1, pageNo: 1,
pageSize: 6, pageSize: 6,
returnStatus: 1 returnStatus: 1,
}; };
this.$store.commit("clearRawCurrentCalList") this.$store.commit("clearRawCurrentCalList");
this.POST('/diagnose/socket/condition/update', p).then(res=>{ this.POST("/diagnose/socket/condition/update", p).then((res) => {
if(res.code == '000000'){ if (res.code == "000000") {
this.$store.commit("updateSoketQuest", p);
this.$store.commit('updateSoketQuest', p) this.$router.push({ path: "/workbench" });
this.$router.push({path:'/workbench'}) } else {
}else{ this.$message({
this.$message({ message: res.message,
message: res.message, type: "warning",
type: "warning", duration: 1000,
duration:1000 });
}); }
} });
}) },
} },
}
}; };
</script> </script>
<style lang="scss"> <style lang="scss">
.consultationlist { .consultationlist {
padding: 25px 40px 25px 40px; padding: 25px;
width: 488px; width: 100%;
height: 164px;
background: #ffffff; background: #ffffff;
border-radius: 18px; border-radius: 18px;
margin-left: 14px;
margin-top: 20px;
.list { .list {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
.details { .details {
width: 192px; width: 120px;
height: 40px; height: 40px;
background: rgba(68, 146, 132, 0.24); background: rgba(68, 146, 132, 0.24);
border-radius: 20px; border-radius: 20px;
...@@ -98,29 +94,30 @@ export default { ...@@ -98,29 +94,30 @@ export default {
border: 1px solid #449284; border: 1px solid #449284;
display: flex; display: flex;
justify-content: space-evenly; justify-content: space-evenly;
align-items: center; align-items: center;
cursor: pointer;
.handle { .handle {
font-size: 14px; font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400; font-weight: 400;
color: #6a7990; color: #6a7990;
line-height: 18px; line-height: 18px;
span{ span {
font-size: 18px; font-size: 18px;
font-family: PingFangSC-Medium, PingFang SC; font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500; font-weight: 500;
color: #449284; color: #449284;
} }
} }
.see { .see {
a{ span {
font-size: 14px; font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400; font-weight: 400;
color: #6a7990; color: #6a7990;
}
} }
} }
}
.name { .name {
font-size: 24px; font-size: 24px;
font-family: PingFangSC-Medium, PingFang SC; font-family: PingFangSC-Medium, PingFang SC;
...@@ -128,22 +125,22 @@ export default { ...@@ -128,22 +125,22 @@ export default {
color: #063948; color: #063948;
} }
} }
.data{ .data {
margin-top: 20px; margin-top: 20px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
.totallist{ .totallist {
font-size: 18px; font-size: 18px;
font-family: PingFangSC-Medium, PingFang SC; font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500; font-weight: 500;
color: #063948; color: #063948;
line-height: 25px; line-height: 25px;
} }
.statelist{ .statelist {
font-size: 14px; font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400; font-weight: 400;
color: #6A7990; color: #6a7990;
} }
} }
} }
......
<template> <template>
<div class="inquiry-wrap" > <div class="inquiry-wrap">
<div class="line"> <div class="line">
<div class="left"> <div class="left">
<div> <div>
{{item.diagnoseLogId}}&nbsp; {{ item.diagnoseLogId }}&nbsp;
<span class="dep">{{item.department}}</span> <span class="dep">{{ item.department }}</span>
</div> </div>
<div class="talk"> <div class="talk">
<i :class='diagnoseTypeIcon'></i> <i :class="diagnoseTypeIcon"></i>
{{diagnoseType}} {{ diagnoseType }}
</div>
<div class="time">
<i class="appointment"></i><span>{{ appointBeginTime }}</span
>-<span>{{ appointEndTime }}</span>
</div> </div>
<div class="time"> <i class="appointment"></i> {{appointBeginTime}} {{appointEndTime}}</div>
</div> </div>
<div class="right"> <div class="right">
<div class="right-status" :class="{grey: item.returnStatus >= 5, org: item.returnStatus == 1}"> <div class="right-status" :class="{grey: item.returnStatus >= 5, org: item.returnStatus == 1}">
{{returnStatusText}} {{returnStatusText}}
</div> </div>
<!-- <div class="right-time">--> <!-- <div class="right-time">-->
<!-- 已经问诊--> <!-- 已经问诊-->
<!-- </div>--> <!-- </div>-->
</div> </div>
</div> </div>
<div class="line mt30"> <div class="line mt30">
<div class="inquiry-user"> <div class="inquiry-user-container">
<div class="inquiry-user-img"> <div class="inquiry-user">
<el-avatar :src="item.doctorImageUrl"></el-avatar> <div class="inquiry-user-img">
</div> <div class="avatar">
<div class="inquiry-user-info"> <el-avatar :src="item.doctorImageUrl"></el-avatar>
<div> </div>
<span class="info-name">
{{item.doctorName}}
</span>
<span>接诊医生</span>
</div> </div>
<div> <div class="inquiry-user-info">
<span class="info-phone"> <div>
{{item.doctorMobile}} <span class="info-name">
</span> {{ item.doctorName }}
<span class="info-call-time" v-if="item.doctorCallTime"> </span>
{{doctorCallTime}}小时前呼叫 <span>接诊医生</span>
</span> </div>
<span class="info-calling" v-if="item.doctorCallKfStatus == 1"> <div>
<img :src="infocallImg" alt=""> <span class="info-phone">
</span> {{ item.doctorMobile }}
</span>
<span class="info-call-time" v-if="item.doctorCallTime">
{{ doctorCallTime }}小时前呼叫
</span>
<span class="info-calling" v-if="item.doctorCallKfStatus == 1">
<img :src="infocallImg" alt="" />
</span>
</div>
</div>
<div class="call-status">
<img
v-if="isCall"
@click="drivingCall(item.doctorId, 2)"
:src="isDoctorChat ? callouting : callout"
alt=""
/>
</div> </div>
</div> </div>
</div> <div class="line-btn" @click="openChat">
<div class="inquiry-user"> <span v-if="isDoctorChat">正在呼叫接诊医生,进入诊室</span>
<div class="inquiry-user-img"> <span v-else-if="isUserChat">正在呼叫医助,进入诊室</span>
<el-avatar :src="item.userImageUrl"></el-avatar> <span v-else>进入诊室</span>
</div> </div>
<div class="inquiry-user-info"> </div>
<div> <div class="inquiry-user-container">
<span class="info-name"> <div class="inquiry-user">
{{item.userName}} <div class="inquiry-user-img">
</span> <div class="avatar">
<span>助诊医生</span> <el-avatar :src="item.userImageUrl"></el-avatar>
</div>
</div>
<div class="inquiry-user-info">
<div>
<span class="info-name">
{{ item.userName }}
</span>
<span>助诊医生</span>
</div>
<div>
<span class="info-phone">
{{ item.userMobile }}
</span>
<span class="info-call-time" v-if="item.userCallTime">
{{ userCallTime }}小时前呼叫
</span>
<span class="info-calling" v-if="item.userCallKfStatus == 1">
<img :src="infocallImg" alt="" />
</span>
</div>
</div> </div>
<div> <div class="call-status">
<span class="info-phone"> <img
{{item.userMobile}} v-if="isCall"
</span> @click="drivingCall(item.userId, 1)"
<span class="info-call-time" v-if="item.userCallTime"> :src="isUserChat ? callouting : callout"
{{userCallTime}}小时前呼叫 alt=""
</span> />
<span class="info-calling" v-if="item.userCallKfStatus == 1"> </div>
<img :src="infocallImg" alt=""> </div>
</span>
<div class="line-btn" @click="openAdvice">
诊断建议
<div
class="line-btn-tap"
v-if="item.adviceStatus && item.adviceStatus == 2"
>
未写
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="line mt20">
<div class="line-btn" @click="openChat">进入诊室 </div>
<div class="line-btn" @click="openAdvice">诊断建议 <div class="line-btn-tap" v-if="item.adviceStatus && item.adviceStatus == 2">未写</div></div>
</div>
</div> </div>
</template> </template>
<script> <script>
import { mapState } from "vuex"; import { mapState } from "vuex";
export default { export default {
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"),
callouting: require("@/assets/image/workbench/callouting.png"),
timer: null,
isChat: false,
isUserChat: false,
isDoctorChat: false,
isCall: false,
accId: "",
}; };
}, },
props:{ props: {
item:{ item: {
type:Object, type: Object,
default:{} default: {},
} },
}, },
created() { created() {},
mounted() {
console.log("this.item", this.item);
let nowData = new Date().getTime();
let timeleft = this.item.appointBeginTime - nowData;
if (timeleft < 120000 && nowData < this.item.appointEndTime) {
clearInterval(this.timer);
this.down();
} else {
this.isCall = true;
}
// if (this.appointBeginTime > 0) {
// this.time=this.timeleft
// this.down();
// }
}, },
computed:{
computed: {
...mapState({ ...mapState({
showChat: 'showChat', showChat: "showChat",
showAdvice:'showAdvice', showAdvice: "showAdvice",
}), }),
diagnoseType() { diagnoseType() {
switch(this.item.diagnoseType) { switch (this.item.diagnoseType) {
case 1: case 1:
return '语音问诊' return "语音问诊";
case 2: case 2:
return '视频问诊' return "视频问诊";
case 3: case 3:
return '图文问诊' return "图文问诊";
default: default:
return'' return "";
} }
}, },
diagnoseTypeIcon () { diagnoseTypeIcon() {
switch(this.item.diagnoseType) { switch (this.item.diagnoseType) {
case 1: case 1:
return 'voice' return "voice";
case 2: case 2:
return 'voice' return "voice";
case 3: case 3:
return 'photo' return "photo";
default: default:
return'photo' return "photo";
} }
}, },
returnStatusText() { returnStatusText() {
switch(this.item.returnStatus) { switch (this.item.returnStatus) {
case 1: case 1:
return '待处理' return '待处理'
case 2: case 2:
...@@ -136,237 +198,311 @@ export default { ...@@ -136,237 +198,311 @@ export default {
case 5: case 5:
return '已取消' return '已取消'
default: default:
return'暂无'; return "暂无";
} }
}, },
appointBeginTime() { appointBeginTime() {
return new Date(this.item.appointBeginTime).format("yyyy-MM-dd hh:mm"); return new Date(this.item.appointBeginTime).format("yyyy-MM-dd hh:mm");
}, },
appointEndTime () { appointEndTime() {
return new Date(this.item.appointEndTime).format("hh:mm"); return new Date(this.item.appointEndTime).format("hh:mm");
}, },
userCallTime() { userCallTime() {
return new Date(this.item.userCallTime).format("hh:mm"); return new Date(this.item.userCallTime).format("hh:mm");
}, },
doctorCallTime () { doctorCallTime() {
return new Date(this.item.doctorCallTime).format("hh:mm"); return new Date(this.item.doctorCallTime).format("hh:mm");
} },
nowtime() {
return new Date().getTime() - this.item.appointBeginTime;
},
}, },
methods: { methods: {
openChat () { down() {
if(this.showChat){ this.timer = setInterval(() => {
let nowData = new Date().getTime();
let timeleft = this.item.appointBeginTime - nowData;
if (timeleft < 120000 && nowData < this.item.appointEndTime) {
this.isCall = true;
clearInterval(this.timer);
}
}, 1000);
},
getInfo(id) {
let url = `/im/team/detail?tid=${this.item.imTeamId}`;
return this.GET(url)
.then((res) => {
if (res.code == "000000") {
let { memberList } = res.data;
console.log("---memberList", memberList);
if (memberList) {
let accId = memberList.filter((val) => {
return val.id == id;
});
return accId[0].accId;
}
}
})
.catch(() => {});
},
// 主动呼叫 roletype 1:助诊医生 2:接诊医生
drivingCall(id, roletype) {
this.getInfo(id).then((res) => {
console.log(res)
let url = `/im/team/call/direct/`;
let params = {
imAccId: res,
imTeamId: this.item.imTeamId,
liveRoomId: this.item.roomId,
};
this.POST(url, params).then((res) => {
if (res.code === "000000") {
if (roletype == 1) {
this.isUserChat = true;
} else {
console.log("ererer")
this.isDoctorChat = true;
}
} else {
this.$message({
message: res.message,
type: "warning",
});
}
});
});
},
openChat() {
if (this.showChat) {
this.$message({ this.$message({
message: '不可同时进入多个诊室,请先退出已进入的诊室,再试。', message: "不可同时进入多个诊室,请先退出已进入的诊室,再试。",
type: "warning", type: "warning",
duration:1000 duration: 1000,
}); });
return false; return false;
} }
const i = this.item; const i = this.item;
// if(i.imTeamId){ this.$store.dispatch("gotoInquiry", i);
// const params = {
// teamIdList: [i.imTeamId]
// }
// this.POST(`/im/team/call/op/ack/`,params).then(res=>{
// if(res.code == '000000'){
// this.$store.commit('updateShowChat', true);
// this.$store.commit('updateCurrentChat', i);
// }
// }).catch(err=>{
// this.$message({
// message: err.message,
// type: "warning",
// duration:1000
// });
// })
//
// }
this.$store.dispatch('gotoInquiry', i);
}, },
openAdvice() { openAdvice() {
if(this.showAdvice){ if (this.showAdvice) {
this.$message({ this.$message({
message: '不可同时打开多个诊断建议,请先退出已打开的诊断建议,再试。', message: "不可同时打开多个诊断建议,请先退出已打开的诊断建议,再试。",
type: "warning", type: "warning",
duration:1000 duration: 1000,
}); });
return false; return false;
} }
const i = this.item.diagnoseLogId; const i = this.item.diagnoseLogId;
// const i = 11; // const i = 11;
this.GET(`/diagnose/admin/diagnose/doctorAdvice/list/${i}`).then(res=>{ this.GET(`/diagnose/admin/diagnose/doctorAdvice/list/${i}`)
if(res.code == '000000'){ .then((res) => {
console.log(res.data); if (res.code == "000000") {
this.$store.commit('updateShowAdvice', true); console.log(res.data);
this.$store.commit('updateCurrentAdvice', res.data); this.$store.commit("updateShowAdvice", true);
}else { this.$store.commit("updateCurrentAdvice", res.data);
this.$message({ } else {
message: res.message, this.$message({
type: "warning", message: res.message,
duration:1000 type: "warning",
}); duration: 1000,
});
}
})
.catch((err) => {
console.log(err);
});
},
},
};
</script>
<style lang="scss" scoped>
.inquiry-wrap {
box-sizing: border-box;
margin-bottom: 10px;
padding: 20px 34px;
background: #ffffff;
border-radius: 18px;
user-select: none;
min-width: 610px;
border: 1px solid #cccccc;
.line {
display: flex;
justify-content: space-between;
.left {
color: #02120f;
font-size: 28px;
.dep {
font-size: 20px;
}
.talk {
margin-right: 5px;
display: inline-block;
width: 120px;
height: 24px;
background: #f0f2f5;
border-radius: 23px;
font-size: 14px;
color: #6a7990;
text-align: center;
line-height: 24px;
}
.time {
display: inline-block;
width: 217px;
height: 24px;
background: #f0f2f5;
border-radius: 23px;
font-size: 14px;
color: #6a7990;
text-align: center;
line-height: 24px;
}
}
.right {
.right-status {
color: #0d9078;
font-size: 14px;
}
.right-time {
margin-top: 5px;
color: #6a7990;
font-size: 12px;
}
.grey {
color: #6a7990;
}
.org {
color: #ff5e57;
}
}
.inquiry-user-container {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
.inquiry-user {
display: flex;
justify-content: space-between;
margin-bottom: 20px;
.inquiry-user-img {
display: flex;
flex-direction: column;
justify-content: center;
.avatar {
background: #dddddd;
border-radius: 36px;
display: flex;
flex-direction: column;
justify-content: center;
}
} }
}).catch(err=>{ .inquiry-user-info {
console.log(err); font-size: 14px;
}) margin-left: 10px;
display: flex;
flex-direction: column;
justify-content: center;
margin-right: 10px;
.info-name {
font-size: 18px;
color: #02120f;
font-weight: bold;
}
.info-phone {
color: #6a7990;
font-size: 16px;
}
.info-call-time {
color: #ff5e57;
}
.info-calling {
width: 15px;
height: 15px;
display: inline-block;
img {
width: 100%;
}
}
}
.call-status {
width: 45px;
height: 46px;
cursor: pointer;
img {
width: 45px;
height: 46px;
}
}
}
}
.line-btn {
cursor: pointer;
position: relative;
width: 238px;
height: 37px;
background: rgba(68, 146, 132, 0.09);
border-radius: 23px;
border: 1px solid rgba(68, 146, 132, 0.31);
text-align: center;
line-height: 37px;
color: #0d9078;
font-size: 14px;
font-weight: bold;
.line-btn-tap {
position: absolute;
top: -10px;
right: 20px;
width: 48px;
height: 20px;
background: #0d9078;
border-radius: 7px 7px 7px 0px;
font-size: 14px;
color: #ffffff;
line-height: 20px;
}
span {
font-weight: bold;
}
} }
} }
.mt30 {
margin-top: 30px;
}
.mt20 {
margin-top: 20px;
}
.appointment {
width: 12px;
height: 12px;
display: inline-block;
background: url("../../assets/image/workbench/appointment.png") no-repeat;
background-size: cover;
margin-right: 5px;
}
.video {
width: 12px;
height: 12px;
display: inline-block;
background: url("../../assets/image/workbench/video.png") no-repeat;
background-size: cover;
}
.photo {
width: 12px;
height: 12px;
display: inline-block;
background: url("../../assets/image/workbench/photo.png") no-repeat;
background-size: cover;
}
.voice {
width: 12px;
height: 12px;
display: inline-block;
background: url("../../assets/image/workbench/voice.png") no-repeat;
background-size: cover;
}
} }
</script>
<style lang="scss" scoped>
.inquiry-wrap{
box-sizing: border-box;
margin-bottom: 10px;
padding: 20px 34px;
background: #FFFFFF;
border-radius: 18px;
user-select: none;
min-width: 572px;
border: 1px solid #cccccc;
.line{
display: flex;
justify-content: space-between;
.left{
color: #02120F;
font-size: 28px;
.dep{
font-size: 20px;
}
.talk{
display: inline-block;
width: 120px;
height: 24px;
background: #F0F2F5;
border-radius: 23px;
font-size: 14px;
color: #6A7990;
text-align: center;
line-height: 24px;
}
.time{
display: inline-block;
width: 217px;
height: 24px;
background: #F0F2F5;
border-radius: 23px;
font-size: 14px;
color: #6A7990;
text-align: center;
line-height: 24px;
}
}
.right{
.right-status{
color: #0D9078;
font-size: 14px;
}
.right-time{
margin-top: 5px;
color: #6A7990;
font-size: 12px;
}
.grey{
color: #6A7990;
}
.org{
color: #FF5E57;
}
}
.inquiry-user{
display: flex;
width: 50%;
.inquiry-user-img{
width: 36px;
height: 36px;
background: #DDDDDD;
border-radius: 36px;
}
.inquiry-user-info{
font-size: 14px;
margin-left: 5px;
.info-name{
font-size: 18px;
color: #02120F;
font-weight: bold;
}
.info-phone{
color: #6A7990;
font-size: 16px;
}
.info-call-time{
color: #FF5E57;
}
.info-calling{
width: 15px;
height: 15px;
display: inline-block;
img{
width: 100%;
}
}
}
}
.line-btn{
position: relative;
width: 238px;
height: 37px;
background: rgba(68, 146, 132, 0.09);
border-radius: 23px;
border: 1px solid rgba(68, 146, 132, 0.31);
text-align: center;
line-height: 37px;
color: #0D9078;
font-size: 14px;
font-weight: bold;
.line-btn-tap{
position: absolute;
top: -10px;
right: 20px;
width: 48px;
height: 20px;
background: #0D9078;
border-radius: 7px 7px 7px 0px;
font-size: 14px;
color: #ffffff;
line-height: 20px;
}
}
}
.mt30{
margin-top: 30px;
}
.mt20{
margin-top: 20px;
}
.appointment{
width: 12px;
height: 12px;
display: inline-block;
background: url('../../assets/image/workbench/appointment.png') no-repeat;
background-size: cover;
}
.video{
width: 12px;
height: 12px;
display: inline-block;
background: url('../../assets/image/workbench/video.png') no-repeat;
background-size: cover;
}
.photo{
width: 12px;
height: 12px;
display: inline-block;
background: url('../../assets/image/workbench/photo.png') no-repeat;
background-size: cover;
}
.voice{
width: 12px;
height: 12px;
display: inline-block;
background: url('../../assets/image/workbench/voice.png') no-repeat;
background-size: cover;
}
}
</style> </style>
...@@ -40,8 +40,9 @@ export default { ...@@ -40,8 +40,9 @@ export default {
}); });
state.socketClient.on("diagnose_push_event", (socket) => { state.socketClient.on("diagnose_push_event", (socket) => {
console.log('diagnose_push_event---', socket); console.log('diagnose_push_event---', socket);
const {list, countRespList} = socket; const {list,allSize,countRespList} = socket;
store.commit('updateCurrentDiagList', list); store.commit('updateCurrentDiagList', list);
store.commit('updateAllSize', allSize);
store.commit('updateCurrentCalList', countRespList); store.commit('updateCurrentCalList', countRespList);
}); });
state.socketClient.on("diagnose_call_push_event", (socket) => { state.socketClient.on("diagnose_call_push_event", (socket) => {
......
...@@ -3,6 +3,9 @@ export default { ...@@ -3,6 +3,9 @@ export default {
updateCurrentDiagList(state, obj) { updateCurrentDiagList(state, obj) {
state.currentDiagList = obj; state.currentDiagList = obj;
}, },
updateAllSize(state,allSize){
state.allSize = allSize;
},
// 改变原数据 // 改变原数据
changeRawCurrentCalList(state,obj){ changeRawCurrentCalList(state,obj){
// console.log("obj",obj) // console.log("obj",obj)
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
export default { export default {
currentDiagList:[], currentDiagList:[],
allSize:0,
currentCalList:{}, currentCalList:{},
RawCurrentCalList:[], RawCurrentCalList:[],
currentChat: {}, currentChat: {},
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<div class="header"> <div class="header">
<!-- 面包屑 --> <!-- 面包屑 -->
<el-breadcrumb separator="/"> <el-breadcrumb separator="/">
<el-breadcrumb-item >首页</el-breadcrumb-item> <el-breadcrumb-item>首页</el-breadcrumb-item>
<el-breadcrumb-item>我的工作台</el-breadcrumb-item> <el-breadcrumb-item>我的工作台</el-breadcrumb-item>
</el-breadcrumb> </el-breadcrumb>
<el-row style="margin-top: 30px"> <el-row style="margin-top: 30px">
...@@ -21,70 +21,26 @@ ...@@ -21,70 +21,26 @@
> >
</el-date-picker> </el-date-picker>
</el-col> </el-col>
<el-col :span="12" style="margin-lfet: 10px">
<div style="margin-left: 10px">
<div class="total">3519</div>
<div class="state">全部</div>
</div>
</el-col>
</el-row>
</div>
</el-col>
<el-col :span="12">
<div>
<el-row type="flex" justify="space-between">
<el-col :span="8">
<div>
<div class="total">3519</div>
<div class="state">全部</div>
</div>
</el-col>
<el-col :span="8">
<div>
<div class="total aa">3519</div>
<div class="state">全部</div>
</div>
</el-col>
<el-col :span="8">
<div>
<div class="total">3519</div>
<div class="state">全部</div>
</div>
</el-col>
<el-col :span="8">
<div>
<div class="total">3519</div>
<div class="state">全部</div>
</div>
</el-col>
</el-row> </el-row>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
<!-- 问诊列表 --> <!-- 问诊列表 -->
<div class="box"> <div class="consultation-container">
<div class="row" v-for="(item, index ) in operatorslist" :key="index"> <div class="consultation-content">
<consultationlist :workbenchAdminDate="workbenchAdminDate" :operatorsItem="item"></consultationlist> <div
class="consultation-li"
v-for="(item, index) in operatorslist"
:key="index"
>
<consultationlist
:workbenchAdminDate="workbenchAdminDate"
:operatorsItem="item"
></consultationlist>
</div>
</div> </div>
</div> </div>
<!-- 底部 -->
<!-- <div class="footer">-->
<!-- &lt;!&ndash; 分页 &ndash;&gt;-->
<!-- <el-row type="flex" justify="end">-->
<!-- <el-pagination-->
<!-- background-->
<!-- @size-change="handleSizeChange"-->
<!-- @current-change="handleCurrentChange"-->
<!-- :current-page="currentPage"-->
<!-- :page-sizes="[100, 200, 300, 400]"-->
<!-- :page-size="100"-->
<!-- layout="total, sizes, prev, pager, next"-->
<!-- :total="400"-->
<!-- >-->
<!-- </el-pagination>-->
<!-- </el-row>-->
<!-- </div>-->
</div> </div>
</template> </template>
...@@ -95,7 +51,9 @@ export default { ...@@ -95,7 +51,9 @@ export default {
consultationlist, consultationlist,
}, },
data() { data() {
const d = localStorage.getItem('workbenchAdminDate') || new Date().format('yyyy-MM-dd'); const d =
localStorage.getItem("workbenchAdminDate") ||
new Date().format("yyyy-MM-dd");
return { return {
workbenchAdminDate: d, workbenchAdminDate: d,
operatorslist: [], operatorslist: [],
...@@ -104,27 +62,26 @@ export default { ...@@ -104,27 +62,26 @@ export default {
created() { created() {
this.init(); this.init();
}, },
watch:{ watch: {},
},
methods: { methods: {
init () { init() {
this.GET("/diagnose/match/list").then(({ code, data }) => { this.GET("/diagnose/match/list").then(({ code, data }) => {
if (code == "000000") { if (code == "000000") {
this.operatorslist = data; this.operatorslist = data;
} }
}); });
},
}
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.administrators { .administrators {
height: calc(100% - 76px);
.header { .header {
padding: 40px 32px 0 32px; padding: 30px;
width: 100%; width: 100%;
height: 181px;
background: #ffffff; background: #ffffff;
.el-input__inner { .el-input__inner {
width: 173px; width: 173px;
...@@ -167,19 +124,25 @@ export default { ...@@ -167,19 +124,25 @@ export default {
line-height: 20px; line-height: 20px;
margin: 0 auto; margin: 0 auto;
} }
.aa { .consultation-container {
color: #449284;
}
.box {
display: flex;
width: 100%;
flex-flow: row wrap;
align-content: flex-start;
min-height: 600px;
max-height: 700px;
overflow-y: scroll; overflow-y: scroll;
.row { height: calc(100% - 154px);
flex: 0 0 50%; width: 100%;
padding: 20px;
.consultation-content {
display: grid;
grid-template-columns: 33.3% 33.3% 33.3%;
grid-row-gap: 20px;
// grid-column-gap: 20px;
overflow: hidden;
.consultation-li {
width: 90%;
margin: 0 auto;
display: flex;
justify-content: center;
}
} }
} }
.footer { .footer {
......
<template> <template>
<div class="diagnosis-list-content"> <div class="workbench-container">
<div class="select-content screenSet content-top"> <div class="select-content">
<div class="title">我的工作台</div> <div class="title">我的工作台</div>
<!-- 时间 --> <!-- 时间 -->
<el-row type="flex" justify="center"> <div class="search-box">
<div id="picker">
<div class="block"> <div class="search-item">
<el-date-picker <el-date-picker
@change="changeDatetime" @change="changeDatetime"
v-model="searchParam.dateTime" v-model="searchParam.dateTime"
type="date" type="date"
size="small"
clear-icon="el-input-icon" clear-icon="el-input-icon"
:clearable="false" :clearable="false"
> >
</el-date-picker> </el-date-picker>
</div> </div>
<div class="search-item">
<el-input
size="small"
class="input-item"
v-model="searchParam.checkvalue"
placeholder="输入问诊单号/医生姓名"
></el-input>
</div>
<div>
<el-button type="primary" size="small" @click="search()"
>搜索</el-button
>
</div> </div>
</el-row> </div>
<!-- tab栏 --> <!-- tab栏 -->
<el-radio-group <el-radio-group
@change="tabChange" @change="tabChange"
...@@ -34,17 +48,17 @@ ...@@ -34,17 +48,17 @@
<!-- <el-radio-button label="1">待处理({{currentCalList}})</el-radio-button>--> <!-- <el-radio-button label="1">待处理({{currentCalList}})</el-radio-button>-->
</el-radio-group> </el-radio-group>
</div> </div>
<div class="select-content screenSet"> <div class="workbench-content">
<div class="forbox"> <div class="workbench-li" >
<div <div
class="for" class="workbench"
v-for="(item, index) in currentDiagList" v-for="(item, index) in currentDiagList"
:key="'for' + index" :key="index"
> >
<inquiryList-component :item="item"></inquiryList-component> <inquiryList-component :item="item"></inquiryList-component>
</div> </div>
</div> </div>
<el-row type="flex" justify="end"> <div class="pagination-container">
<el-pagination <el-pagination
background background
@size-change="handleSizeChange" @size-change="handleSizeChange"
...@@ -53,11 +67,13 @@ ...@@ -53,11 +67,13 @@
:page-sizes="[6, 12, 18, 24]" :page-sizes="[6, 12, 18, 24]"
:page-size="searchParam.pageSize" :page-size="searchParam.pageSize"
layout="prev, pager, next, sizes, jumper" layout="prev, pager, next, sizes, jumper"
:total="totalRows" :total="allSize"
> >
</el-pagination> </el-pagination>
</el-row>
</div>
</div> </div>
</div> </div>
</template> </template>
...@@ -72,6 +88,7 @@ export default { ...@@ -72,6 +88,7 @@ export default {
}, },
computed: { computed: {
...mapState({ ...mapState({
allSize:'allSize',
currentDiagList: "currentDiagList", currentDiagList: "currentDiagList",
currentCalList: "currentCalList", currentCalList: "currentCalList",
soketQuest: "soketQuest", soketQuest: "soketQuest",
...@@ -105,10 +122,11 @@ export default { ...@@ -105,10 +122,11 @@ export default {
return { return {
tabPosition: "1", tabPosition: "1",
showChat: true, showChat: true,
totalRows: 40, totalRows: 0,
loading: false, loading: false,
searchParam: { searchParam: {
dateTime: d, dateTime: d,
checkvalue: "", // 模拟值后去
operateUserId: id, operateUserId: id,
returnStatus: 1, returnStatus: 1,
pageSize: 1, pageSize: 1,
...@@ -157,8 +175,13 @@ export default { ...@@ -157,8 +175,13 @@ export default {
const s = this.searchParam; const s = this.searchParam;
s.dateTime = val.format("yyyy-MM-dd"); s.dateTime = val.format("yyyy-MM-dd");
this.searchParam = s; this.searchParam = s;
},
search() {
this.inquirySearch("clear"); this.inquirySearch("clear");
}, },
handleSizeChange(val) { handleSizeChange(val) {
const s = this.searchParam; const s = this.searchParam;
s.pageSize = val; s.pageSize = val;
...@@ -254,24 +277,25 @@ export default { ...@@ -254,24 +277,25 @@ export default {
} }
} }
} }
.forbox {
display: flex; .workbench-container {
justify-content: space-between;
// justify-content: space-between;
.for {
max-width: 50%;
display: flex;
}
}
.diagnosis-list-content {
.select-content { .select-content {
margin-bottom: 10px; padding:0 20px;
padding: 10px;
background: #fff; background: #fff;
overflow: hidden !important; overflow: hidden !important;
&.content-top { .search-box {
padding-bottom: 0; display: flex;
justify-content: flex-start;
width: 250px;
margin: 20px 0;
.search-item{
margin-right: 20px;
.input-item{
width: 333px;
}
}
} }
.title { .title {
height: 50px; height: 50px;
display: flex; display: flex;
...@@ -285,16 +309,32 @@ export default { ...@@ -285,16 +309,32 @@ export default {
} }
} }
} }
} .workbench-content{
.el-row { padding: 20px;
margin-bottom: 20px; .workbench-li {
&:last-child { display: flex;
margin-bottom: 0; justify-content: space-between;
.workbench {
max-width: 50%;
display: flex;
}
}
.pagination-container{
background-color: #fff;
height: 71px;
background: #FFFFFF;
border-radius: 18px;
display: flex;
justify-content: flex-end;
align-items: center;
margin-top: 10px;
padding: 0 20px;
}
} }
} }
.el-col {
border-radius: 4px;
}
.bg-purple-dark { .bg-purple-dark {
background: #99a9bf; background: #99a9bf;
} }
...@@ -317,8 +357,8 @@ export default { ...@@ -317,8 +357,8 @@ export default {
background-color: #f9fafc; background-color: #f9fafc;
} }
@media screen and (min-width: 1900px) { @media screen and (min-width: 1900px) {
.forbox { .workbench-li {
.for { .workbench {
width: 30%; width: 30%;
} }
} }
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册