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

save

...@@ -8040,6 +8040,11 @@ ...@@ -8040,6 +8040,11 @@
} }
} }
}, },
"storejs": {
"version": "1.1.0",
"resolved": "http://192.168.110.93:4873/storejs/-/storejs-1.1.0.tgz",
"integrity": "sha1-9jvkPHR8FL46excBg5KTgJHWRnk="
},
"stream-browserify": { "stream-browserify": {
"version": "2.0.2", "version": "2.0.2",
"resolved": "http://192.168.110.93:4873/stream-browserify/-/stream-browserify-2.0.2.tgz", "resolved": "http://192.168.110.93:4873/stream-browserify/-/stream-browserify-2.0.2.tgz",
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
"qiniu-js": "^3.1.2", "qiniu-js": "^3.1.2",
"showdown": "^1.6.4", "showdown": "^1.6.4",
"socket.io-client": "2.2.0", "socket.io-client": "2.2.0",
"storejs": "^1.1.0",
"vue": "^2.1.0", "vue": "^2.1.0",
"vue-router": "^2.1.1", "vue-router": "^2.1.1",
"vuex": "^2.0.0" "vuex": "^2.0.0"
......
...@@ -68,7 +68,7 @@ export default { ...@@ -68,7 +68,7 @@ export default {
bindDragHeader('.c-header', '.chat-wrap'); bindDragHeader('.c-header', '.chat-wrap');
}, 1000) }, 1000)
this.$store.dispatch( 'socket/initSocket',{url: 'http://10.177.11.251:15202'}) // this.$store.dispatch( 'socket/initSocket',{url: 'http://10.177.11.251:15202'})
}, },
methods: { methods: {
......
<template> <template>
<div class="consultationlist"> <div class="consultationlist" style=" user-select:none; ">
<div class="list"> <div class="list">
<div class="name">刘思妙</div> <div class="name">{{ operatorsItem.name || ''}}</div>
<div class="details"> <div class="details" @click="goworkBench">
<div class="handle">待处理 <span>128</span></div> <div class="handle">待处理: <span> 暂无</span></div>
<div class="see"> <div class="see">
<a href="#">查看详情</a> <a href="#">查看详情</a>
<i class="el-icon-arrow-right"></i> <i class="el-icon-arrow-right"></i>
...@@ -12,19 +12,19 @@ ...@@ -12,19 +12,19 @@
</div> </div>
<div class="data"> <div class="data">
<div> <div>
<div class="totallist">3519</div> <div class="totallist">暂无</div>
<div class="statelist">全部</div> <div class="statelist">全部</div>
</div> </div>
<div> <div>
<div class="totallist">3519</div> <div class="totallist">暂无</div>
<div class="statelist">全部</div> <div class="statelist">全部</div>
</div> </div>
<div> <div>
<div class="totallist">3519</div> <div class="totallist">暂无</div>
<div class="statelist">全部</div> <div class="statelist">全部</div>
</div> </div>
<div> <div>
<div class="totallist">3519</div> <div class="totallist">暂无</div>
<div class="statelist">全部</div> <div class="statelist">全部</div>
</div> </div>
</div> </div>
...@@ -32,7 +32,49 @@ ...@@ -32,7 +32,49 @@
</template> </template>
<script> <script>
export default {}; export default {
data() {
return {
}
},
props:{
operatorsItem:{
type: Object,
default:{}
},
workbenchAdminDate: {
type: String,
default:''
}
},
created() {
},
methods: {
goworkBench() {
const p = {
dateTime: this.workbenchAdminDate,
operateUserId: this.operatorsItem.id,
pageNo: 1,
pageSize: 6,
returnStatus: 1
};
this.$store.commit('updateSoketQuest', p)
this.$router.push({path:'/workbench'})
//
// this.POST('/diagnose/socket/condition/update', p).then(res=>{
// if(res.code == '000000'){
//
// }else{
// this.$message({
// message: res.message,
// type: "warning",
// duration:1000
// });
// }
// })
}
}
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
......
<template> <template>
<div class="diagnoseAdvice" v-drag v-if="showAdvice"> <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="header"> <span class="headernum"> 问诊单{{currentAdvice.diagnoseId}} 诊断建议</span> <el-button @click="closeadvice">退出</el-button></div>
<div class="center"> <div class="center" v-stopdrag>
<span>诊断建议</span> <el-input rows="10" type="textarea" v-model="formData.advice" placeholder="请输入内容"></el-input> <span>诊断建议</span> <el-input rows="10" type="textarea" v-model="diagnoseAdvice" placeholder="请输入内容"></el-input>
</div> </div>
<div class="record"> <div class="record">
<span>录音/录像</span> <span>录音/录像</span>
<div v-if="currentAdvice.adviceAudioUrls!=undefined &&currentAdvice.adviceAudioUrls.length > 0"> <div v-if="currentAdvice.adviceAudioUrls!=undefined &&currentAdvice.adviceAudioUrls.length > 0">
<div v-for="adlist in currentAdvice.adviceAudioUrls" :key="adlist.diagnoseId"> <div v-for="itemAudio in currentAdvice.adviceAudioUrls" :key="itemAudio.diagnoseId">
<el-link :href="adlist" target="_blank">{{adlist}}</el-link> <el-link :href="itemAudio" target="_blank">{{itemAudio}}</el-link>
</div> </div>
</div> </div>
<span style="color:#0D9078" v-else>无音频</span> <span style="color:#0D9078" v-else>无音频</span>
...@@ -24,10 +24,7 @@ import {mapState} from "vuex"; ...@@ -24,10 +24,7 @@ import {mapState} from "vuex";
export default { export default {
data() { data() {
return{ return{
formData:{
diagnoseAdvice:'',
advice:"",
},
} }
}, },
props:{ props:{
...@@ -38,21 +35,32 @@ export default { ...@@ -38,21 +35,32 @@ export default {
}, },
created() { created() {
},
mounted() {
}, },
computed:{ computed:{
...mapState({ ...mapState({
currentAdvice: 'currentAdvice', currentAdvice: 'currentAdvice',
}) }),
diagnoseAdvice:{
get: function () {
return this.currentAdvice.content
},
set(val){
this.currentAdvice.content = val
}
}
}, },
methods:{ methods:{
SaveAdvice() { SaveAdvice() {
let params = { let params = {
// adviceAudioUrls: this.Adviceslist.adviceAudioUrls, adviceAudioUrls: this.currentAdvice.adviceAudioUrls,
// content: this.formData.advice, content: this.diagnoseAdvice,
// diagnoseId: 11, diagnoseId: 11,//id需要获取
// illnessAudioUrls: this.Adviceslist.illnessAudioUrls illnessAudioUrls: this.currentAdvice.illnessAudioUrls
} }
if(!this.formData.advice) return // if(!this.formData.advice) return
this.POST('/diagnose/admin/diagnose/doctorAdvice/create',params).then(res=>{ this.POST('/diagnose/admin/diagnose/doctorAdvice/create',params).then(res=>{
if(res.code == "000000"){ if(res.code == "000000"){
this.$message({ this.$message({
...@@ -95,6 +103,14 @@ export default { ...@@ -95,6 +103,14 @@ export default {
}; };
}; };
} }
},
stopdrag: {
inserted:function(el, binding, vnode) {
let element = el;
element.onmousedown =function(e) {
e.stopPropagation()
}
}
} }
} }
} }
......
<template> <template>
<div class="inquirylist"> <div class="inquirylist" style=" user-select:none; ">
<el-row> <el-row>
<el-col :span="8" > <el-col :span="8" >
<el-card shadow="always" :body-style="{ padding: '0px' }"> <el-card shadow="always" :body-style="{ padding: '0px' }">
...@@ -83,7 +83,7 @@ export default { ...@@ -83,7 +83,7 @@ export default {
computed:{ computed:{
...mapState({ ...mapState({
showChat: 'showChat', showChat: 'showChat',
showAdvice:'showAdvice' showAdvice:'showAdvice',
}), }),
diagnoseType() { diagnoseType() {
switch(this.item.diagnoseType) { switch(this.item.diagnoseType) {
...@@ -183,8 +183,9 @@ export default { ...@@ -183,8 +183,9 @@ export default {
}); });
return false; return false;
} }
this.GET(`/diagnose/admin/diagnose/doctorAdvice/list/${this.item.diagnoseLogId}`).then(res=>{ this.GET(`/diagnose/admin/diagnose/doctorAdvice/list/11`).then(res=>{
if(res.code == '000000'){ if(res.code == '000000'){
console.log(res.data);
this.$store.commit('updateCurrentAdvice', res.data); this.$store.commit('updateCurrentAdvice', res.data);
} }
}).catch(err=>{ }).catch(err=>{
...@@ -200,7 +201,7 @@ export default { ...@@ -200,7 +201,7 @@ export default {
.inquirylist{ .inquirylist{
display: flex; display: flex;
margin-bottom: 10px; margin-bottom: 10px;
padding: 10px 5px; padding: 10px 10px;
overflow: hidden !important; overflow: hidden !important;
.el-row{ .el-row{
width: 100%; width: 100%;
...@@ -397,7 +398,7 @@ export default { ...@@ -397,7 +398,7 @@ export default {
display: flex; display: flex;
margin-bottom: 10px; margin-bottom: 10px;
// margin: 20px 30px 0px; // margin: 20px 30px 0px;
padding: 10px 5px; padding: 10px 14px;
// background: #fff; // background: #fff;
overflow: hidden !important; overflow: hidden !important;
.el-row{ .el-row{
......
import storejs from 'storejs';
export default { export default {
updateCurrentDiagList(state, obj) { updateCurrentDiagList(state, obj) {
state.currentDiagList = obj; state.currentDiagList = obj;
...@@ -11,6 +13,10 @@ export default { ...@@ -11,6 +13,10 @@ export default {
updateCurrentAdvice(state, obj) { updateCurrentAdvice(state, obj) {
state.currentAdvice = obj; state.currentAdvice = obj;
}, },
updateSoketQuest(state, obj) {
storejs.set('soketQuest',obj);
state.soketQuest = obj;
},
updateShowChat(state, obj) { updateShowChat(state, obj) {
state.showChat = obj; state.showChat = obj;
}, },
...@@ -20,4 +26,7 @@ export default { ...@@ -20,4 +26,7 @@ export default {
updateNoticeList(state, obj) { updateNoticeList(state, obj) {
state.noticeList = obj; state.noticeList = obj;
}, },
updateIsSuperAdmin(state, obj) {
state.isSuperAdmin = obj;
},
}; };
...@@ -5,7 +5,12 @@ export default { ...@@ -5,7 +5,12 @@ export default {
currentCalList:{}, currentCalList:{},
currentChat: {}, currentChat: {},
currentAdvice: {}, currentAdvice: {},
soketQuest: {},
noticeList: [], noticeList: [],
showChat:false, showChat:false,
showAdvice:false showAdvice:false,
isSuperAdmin: {
isSuper:false,
userID: ''
}
}; };
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
<div class="header"> <div class="header">
<!-- 面包屑 --> <!-- 面包屑 -->
<el-breadcrumb separator="/"> <el-breadcrumb separator="/">
<el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item> <el-breadcrumb-item >首页</el-breadcrumb-item>
<el-breadcrumb-item><a href="/">我的工作台</a></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">
<el-col :span="12"> <el-col :span="12">
...@@ -14,17 +14,12 @@ ...@@ -14,17 +14,12 @@
<el-col :span="12"> <el-col :span="12">
<el-date-picker <el-date-picker
style="margin-top: 10px" style="margin-top: 10px"
v-model="value1" v-model="workbenchAdminDate"
type="date" type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期" placeholder="选择日期"
> >
</el-date-picker> </el-date-picker>
<!-- <el-input
style="margin-top: 10px"
v-model="input1"
placeholder="请输入内容"
suffix-icon="el-icon-arrow-down"
></el-input> -->
</el-col> </el-col>
<el-col :span="12" style="margin-lfet: 10px"> <el-col :span="12" style="margin-lfet: 10px">
<div style="margin-left: 10px"> <div style="margin-left: 10px">
...@@ -69,45 +64,57 @@ ...@@ -69,45 +64,57 @@
</div> </div>
<!-- 问诊列表 --> <!-- 问诊列表 -->
<div class="box"> <div class="box">
<div class="row" v-for="item in 4" :key="item"> <div class="row" v-for="(item, index ) in operatorslist" :key="index">
<consultationlist></consultationlist> <consultationlist :workbenchAdminDate="workbenchAdminDate" :operatorsItem="item"></consultationlist>
</div> </div>
</div> </div>
<!-- 底部 --> <!-- 底部 -->
<div class="footer"> <!-- <div class="footer">-->
<!-- 分页 --> <!-- &lt;!&ndash; 分页 &ndash;&gt;-->
<el-row type="flex" justify="end"> <!-- <el-row type="flex" justify="end">-->
<el-pagination <!-- <el-pagination-->
background <!-- background-->
@size-change="handleSizeChange" <!-- @size-change="handleSizeChange"-->
@current-change="handleCurrentChange" <!-- @current-change="handleCurrentChange"-->
:current-page="currentPage4" <!-- :current-page="currentPage"-->
:page-sizes="[100, 200, 300, 400]" <!-- :page-sizes="[100, 200, 300, 400]"-->
:page-size="100" <!-- :page-size="100"-->
layout="total, sizes, prev, pager, next" <!-- layout="total, sizes, prev, pager, next"-->
:total="400" <!-- :total="400"-->
> <!-- >-->
</el-pagination> <!-- </el-pagination>-->
</el-row> <!-- </el-row>-->
</div> <!-- </div>-->
</div> </div>
</template> </template>
<script> <script>
import consultationlist from "../../../components/common/consultation"; import consultationlist from "../../../components/common/consultation";
export default { export default {
components: {
consultationlist,
},
data() { data() {
const d = localStorage.getItem('workbenchAdminDate') || new Date().format('yyyy-MM-dd');
return { return {
value1: Date.now(), workbenchAdminDate: d,
currentPage4: 0, operatorslist: [],
}; };
}, },
components: { created() {
consultationlist, this.init();
},
watch:{
}, },
methods: { methods: {
handleSizeChange() {}, init () {
handleCurrentChange() {}, this.GET("/diagnose/match/list").then(({ code, data }) => {
if (code == "000000") {
this.operatorslist = data;
}
});
}
}, },
}; };
</script> </script>
...@@ -168,6 +175,9 @@ export default { ...@@ -168,6 +175,9 @@ export default {
width: 100%; width: 100%;
flex-flow: row wrap; flex-flow: row wrap;
align-content: flex-start; align-content: flex-start;
min-height: 600px;
max-height: 700px;
overflow-y: scroll;
.row { .row {
flex: 0 0 50%; flex: 0 0 50%;
} }
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<div class="block"> <div class="block">
<el-date-picker <el-date-picker
@change="changeDatetime" @change="changeDatetime"
v-model="Datevalue" v-model="searchParam.dateTime"
type="date" type="date"
clear-icon="el-input-icon" clear-icon="el-input-icon"
:clearable='false'> :clearable='false'>
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
</div> </div>
</el-row> </el-row>
<!-- tab栏 --> <!-- tab栏 -->
<el-radio-group @change="changestatus" v-model="tabPosition" style="margin-bottom: 30px;"> <el-radio-group @change="tabChange" v-model="tabPosition" style="margin-bottom: 30px;">
<el-radio-button label="99">全部({{currentCalList}})</el-radio-button> <el-radio-button label="99">全部({{currentCalList}})</el-radio-button>
<el-radio-button label="1">待处理({{currentCalList}})</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="2">问诊中({{currentCalList}})</el-radio-button>
...@@ -50,8 +50,9 @@ ...@@ -50,8 +50,9 @@
<script> <script>
import { mapState } from "vuex"; import { mapState } from "vuex";
import storejs from 'storejs';
import InquiryListComponent from '../../../components/common/inquirylist.vue'; import InquiryListComponent from '../../../components/common/inquirylist.vue';
import store from "../../../store";
export default { export default {
components: { components: {
InquiryListComponent InquiryListComponent
...@@ -59,25 +60,27 @@ export default { ...@@ -59,25 +60,27 @@ export default {
computed:{ computed:{
...mapState({ ...mapState({
currentDiagList: 'currentDiagList', currentDiagList: 'currentDiagList',
currentCalList: 'currentCalList' currentCalList: 'currentCalList',
soketQuest:'soketQuest',
isSuperAdmin: 'isSuperAdmin'
}), }),
}, },
data(){ data(){
const s = storejs.get('soketQuest');
const d = s ? s.dateTime : new Date().format('yyyy-MM-dd');
return { return {
tabPosition:"1", tabPosition:"1",
Datevalue:new Date().toLocaleDateString().split('/').join('-'),
currentPage4:0,
showChat: true, showChat: true,
totalRows:40, totalRows:40,
loading:false, loading:false,
searchParam: { searchParam: {
dateTime: this.Datevalue, dateTime: d,
operateUserId: localStorage.getItem('userID'), operateUserId: '',
returnStatus: 1, returnStatus: 1,
pageSize: 6, pageSize: 6,
pageNo: 1, pageNo: 1,
}, },
list: [ testlistdata: [
{ {
"appointBeginTime": "2021-07-29T05:28:57.396Z", "appointBeginTime": "2021-07-29T05:28:57.396Z",
"appointEndTime": "2021-07-29T05:28:57.396Z", "appointEndTime": "2021-07-29T05:28:57.396Z",
...@@ -108,43 +111,62 @@ export default { ...@@ -108,43 +111,62 @@ export default {
} }
}, },
created(){ created(){
const s = storejs.get('soketQuest');
const d = s ? s.dateTime : new Date().format('yyyy-MM-dd');
let id = s ? s.operateUserId : this.isSuperAdmin.userID;
const p = {
dateTime: d,
operateUserId: id,
pageNo: s ? s.pageNo : 1,
pageSize: s ? s.pageSize : 6,
returnStatus: s ? s.returnStatus : 1,
};
this.searchParam = p;
this.inquirySearch()
}, },
methods:{ methods:{
handleSizeChange(val){ tabChange (val) {
this.searchParam.pageSize = val const s = this.searchParam;
this.search() s.returnStatus = val;
this.searchParam = s;
this.inquirySearch()
}, },
handleCurrentChange(val){ changeDatetime (val) {
this.searchParam.pageNo = val const s = this.searchParam;
this.search() s.dateTime = val.format('yyyy-MM-dd');
this.searchParam = s;
this.inquirySearch()
}, },
changestatus(val){ handleSizeChange (val) {
this.searchParam.returnStatus = val const s = this.searchParam;
this.searchParam.pageNo = 1 s.pageSize = val;
this.search() this.searchParam = s;
// 测试代码
const l = this.currentDiagList;
console.log('--l----', l)
l.push(...this.list);
console.log('--l', l)
this.$store.commit('updateCurrentDiagList', l);
}, },
changeDatetime(val) { handleCurrentChange (val) {
this.searchParam.dateTime = val.toLocaleDateString().split('/').join('-') const s = this.searchParam;
this.searchParam.pageNo = 1 s.pageNo = val;
this.search() this.searchParam = s;
this.inquirySearch()
}, },
search() { inquirySearch() {
let params = this.searchParam const p = this.searchParam;
this.loading = true this.POST('/diagnose/socket/condition/update', p).then(res=>{
this.POST('/diagnose/admin/diagnose/operator/list',params).then(res=>{
if(res.code == '000000'){ if(res.code == '000000'){
this.loading = false this.$store.commit('updateSoketQuest', p)
console.log(res); }else{
this.$message({
message: res.message,
type: "warning",
duration:1000
});
} }
}) })
// 测试代码
const l = this.currentDiagList;
l.push(...this.testlistdata);
this.$store.commit('updateCurrentDiagList', l);
} }
}, },
} }
</script> </script>
...@@ -161,7 +183,7 @@ export default { ...@@ -161,7 +183,7 @@ export default {
.forbox{ .forbox{
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; // justify-content: space-between;
.for{ .for{
display: flex; display: flex;
} }
......
...@@ -67,8 +67,7 @@ export default { ...@@ -67,8 +67,7 @@ export default {
getNav() { getNav() {
this.POST("/basic-data/menu/list", { systemType: this.systemType }).then(res => { this.POST("/basic-data/menu/list", { systemType: this.systemType }).then(res => {
if (res.code == "000000") { if (res.code == "000000") {
let { vueMenuDtos } = res.data; let { vueMenuDtos, userId } = res.data;
localStorage.setItem('userID', res.data.userId)
// let vueMenuDtos = []; // let vueMenuDtos = [];
// // TODO 开发调试时写死, 发布时去掉 // // TODO 开发调试时写死, 发布时去掉
...@@ -78,6 +77,21 @@ export default { ...@@ -78,6 +77,21 @@ export default {
// subs: [], // subs: [],
// title: "订单管理" // title: "订单管理"
// }]; // }];
const i = {
isSuper:false,
userID: userId
};
vueMenuDtos.map( item => {
if(item.index.indexOf('administrators') > -1){
// 超级管理员
i.isSuper = true;
}else{
// 普通用户
i.isSuper = false;
}
});
this.$store.commit('updateIsSuperAdmin', i);
this.items = vueMenuDtos; this.items = vueMenuDtos;
sessionStorage.setItem( sessionStorage.setItem(
"ADMIN_IM_CENTER_NAVS", "ADMIN_IM_CENTER_NAVS",
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册