提交 6437e05c 编写于 作者: huangwensu's avatar huangwensu

订单管理列表接口联调

上级 47fa17f0
const vueFilter = { const vueFilter = {
diagnosisTypeFilter: (value) => {
if(value == 1) {
return '音频'
}else if(value == 2) {
return '视频'
}
},
liveDateFilter: (value) => { liveDateFilter: (value) => {
if (!value) return ''; if (!value) return '';
return new Date(value).format("yyyy-MM-dd hh:mm:ss"); return new Date(value).format("yyyy-MM-dd hh:mm:ss");
...@@ -28,21 +35,6 @@ const vueFilter = { ...@@ -28,21 +35,6 @@ const vueFilter = {
} }
} }
}, },
liveFilter: (value) => {
if (value.liveStatus == 1) {
return '未开始'
} else if (value.liveStatus == 5) {
return '直播中'
} else if (value.liveStatus == 10 && value.lookBackStatus == 2) {
return '已结束(不可回看)'
} else if (value.liveStatus == 10 && value.lookBackStatus == 1) {
return '已结束(可回看)'
}
},
liveStatusFilter: (value) => {
if (value == 1) return "隐藏"
else return "发布"
},
liveTeacherType: (value) => { liveTeacherType: (value) => {
let doctorName = [] let doctorName = []
if (value.length > 3) { if (value.length > 3) {
...@@ -57,58 +49,10 @@ const vueFilter = { ...@@ -57,58 +49,10 @@ const vueFilter = {
return doctorName.join("、") return doctorName.join("、")
} }
}, },
controlType: (value) => {
if (value == 1) {
return '分页1'
} else if (value == 2) {
return '分页2'
} else if (value == 3) {
return '图片1'
} else if (value == 4) {
return '图片2'
} else if (value == 6) {
return '视频'
}
},
tabControlType: (value) => {
if (value == 3) {
return '图片1'
} else if (value == 4) {
return '图片2'
} else if (value == 6) {
return '视频'
}
},
refreshType: (value) => {
if (value == 1) return "支持"
else return "不支持"
},
moudleType: (value) => {
if (value == 1) return "未激活"
else return "激活"
},
dateFilter: (value) => { dateFilter: (value) => {
if (!value) return ''; if (!value) return '';
return new Date(value).format("yyyy-MM-dd hh:mm"); return new Date(value).format("yyyy-MM-dd hh:mm");
}, },
appColumnStatusFilter: (value) => {
if (value == 1) return "未提交"
else if (value == 4) return "已提交"
},
statusFilter: (value) => {
if (value == 1) return "已创建"
else if (value == 5) return "已发布"
else return "已下架"
},
linkTypeFilter: (value) => { // 跳转类型
if (value == 1) return '链接'
else if (value == 4) return '模块'
else return '无跳转'
},
teacherStatusFilter: (value) => {
if (value == 1) return "已下架"
else return "已发布"
},
moduleTypeFilter: (value, data) => { // 模块类型 moduleTypeFilter: (value, data) => { // 模块类型
for (let key in data) { for (let key in data) {
if (value == key) { if (value == key) {
...@@ -116,88 +60,6 @@ const vueFilter = { ...@@ -116,88 +60,6 @@ const vueFilter = {
} }
} }
}, },
contentCreatedType: (value, data) => {
for (let i = 0; i < data.length; i++) {
if (value == data[i].id) {
return data[i].name
}
}
},
contentModifiedType: (value, data) => {
for (var i = 0; i < data.length; i++) {
if (value == data[i].id) {
return data[i].name
}
}
},
columnPositionType: (value, data) => { // 位置
for (let key in data) {
if (value == key) {
return data[key]
}
}
},
// 项目组件
statusFileter: (value) => {
if (value == 1) {
return '草稿'
} else if (value == 2) {
return '未启用'
} else if (value == 3) {
return '已启用'
} else {
return '已禁用'
}
},
//项目管理
statusProject: (value) => {
if (value == 1) {
return '草稿'
} else if (value == 2) {
return '未上架'
} else if (value == 3) {
return '审批中'
} else if (value == 4) {
return '已上架'
} else if (value == 5) {
return '已下架'
} else {
return '已拒绝'
}
},
projeceRoleType: (value) => {
if (value == "L1") {
return '内部管理员'
} else if (value == "L2") {
return '项目负责人'
} else if (value == "L3") {
return '次级负责人'
} else if (value == "L4") {
return '普通用户'
}
},
// 问卷
questionStatus: (value) => {
if (value == 1) {
return '下线'
} else {
return '上线'
}
},
modifyType: (value, data) => {
let userName = ''
for (let i = 0; i < data.length; i++) {
if (value == data[i].id) {
userName = data[i].userName
break
} else {
userName = ''
}
}
return userName
},
// 时间处理 // 时间处理
timeFormat: (value) => { timeFormat: (value) => {
let cTime = new Date().getTime(); let cTime = new Date().getTime();
......
...@@ -41,7 +41,6 @@ ...@@ -41,7 +41,6 @@
alt alt
/> />
<div v-if="item.showType == 1" class="mid-text-wrapper" style="max-width: 520px;"> <div v-if="item.showType == 1" class="mid-text-wrapper" style="max-width: 520px;">
<!-- <img v-show="item.sendFlag" src="../../../assets/image/IM/icon-no-send.png" alt /> -->
<div class="mid-text">{{item.text}}</div> <div class="mid-text">{{item.text}}</div>
</div> </div>
<div v-if="item.showType == 2" class="mid-img" v-viewer> <div v-if="item.showType == 2" class="mid-img" v-viewer>
...@@ -53,6 +52,7 @@ ...@@ -53,6 +52,7 @@
alt alt
/> />
</div> </div>
</div> </div>
<div v-if="item.showType == 3" class="mid-pdf" @click="openPDF(item)"> <div v-if="item.showType == 3" class="mid-pdf" @click="openPDF(item)">
<div class="midp-left"> <div class="midp-left">
...@@ -63,6 +63,22 @@ ...@@ -63,6 +63,22 @@
<img src="../../../assets/image/IM/icon-pdf.png" alt /> <img src="../../../assets/image/IM/icon-pdf.png" alt />
</div> </div>
</div> </div>
<!-- <div v-if="item.showType == 3" class="diagnosis-box">
<div class="title">朱德承医生向朱家医生发起的问诊</div>
<div class="dia-text">
<span class="label">患者:</span>
<span>王大锤 男 40岁</span>
</div>
<div class="dia-text">
<span class="label">病情描述:</span>
<span>因PCR反应模板仅为DNA,因此在进行PCR反应钱,应将新型冠状病毒核酸逆转录为DNA。</span>
</div>
</div> -->
<!-- <div v-if="item.showType == 3" class="time-box">
<div class="title">电话/视频问诊时间已确定</div>
<div class="time">已预约 2021-03-20 下午 3:00-3:30</div>
<div class="time-text">因PCR反应模板仅为DNA,因此在进行PCR反应钱,应将新型冠状病毒核酸逆转录为DNA。</div>
</div> -->
<div v-if="item.showType == 4" class="mid-text"> <div v-if="item.showType == 4" class="mid-text">
{{item.text}} {{item.text}}
<span class="link">{{item.suffix}}</span> <span class="link">{{item.suffix}}</span>
...@@ -681,7 +697,7 @@ export default { ...@@ -681,7 +697,7 @@ export default {
// } // }
} }
if (sLength) { if (sLength) {
this.convertSessions(this.sessionListData.sessionList); //this.convertSessions(this.sessionListData.sessionList);
this.$forceUpdate(); this.$forceUpdate();
} }
} else { } else {
...@@ -694,27 +710,27 @@ export default { ...@@ -694,27 +710,27 @@ export default {
}, },
// 将会话列表的数据进行处理,主要是显示文本(text)字段 // 将会话列表的数据进行处理,主要是显示文本(text)字段
convertSessions(sessions) { // convertSessions(sessions) {
let convertSessionList = []; // let convertSessionList = [];
let text = "", // let text = "",
cc; // cc;
sessions.forEach((session, index) => { // sessions.forEach((session, index) => {
if (session.lastMsgType.toLowerCase() == "custom") { // if (session.lastMsgType.toLowerCase() == "custom") {
cc = JSON.parse(session.lastMsgContent); // cc = JSON.parse(session.lastMsgContent);
text = cc.suffix || cc.content || cc.title || cc.name; // text = cc.suffix || cc.content || cc.title || cc.name;
} else if ( // } else if (
session.lastMsgType.toLowerCase() == "image" || // session.lastMsgType.toLowerCase() == "image" ||
session.lastMsgType.toLowerCase() == "picture" // session.lastMsgType.toLowerCase() == "picture"
) { // ) {
text = "[图片]"; // text = "[图片]";
} else { // } else {
text = session.lastMsgContent; // text = session.lastMsgContent;
} // }
session.text = text; // session.text = text;
convertSessionList.push(session); // convertSessionList.push(session);
}); // });
this.sessionListData.sessionList = convertSessionList; // this.sessionListData.sessionList = convertSessionList;
}, // },
// 根据云信id获取医生信息 // 根据云信id获取医生信息
getDoctorInfo(accId) { getDoctorInfo(accId) {
......
...@@ -7,23 +7,13 @@ ...@@ -7,23 +7,13 @@
<el-col :span="21"> <el-col :span="21">
<el-form-item label="搜索"> <el-form-item label="搜索">
<el-input <el-input
v-model="searchParam.content" v-model="searchParam.searchVal"
clearable clearable
placeholder="支付订单、医生姓名、运营姓名搜索" placeholder="支付订单、医生姓名、运营姓名搜索"
style="width:200px;"></el-input> style="width:200px;"></el-input>
</el-form-item> </el-form-item>
<el-form-item label=""> <el-form-item label="">
<el-select v-model="searchParam.orderStatu" clearable placeholder="订单状态" style="width:200px"> <el-select v-model="searchParam.status" clearable placeholder="问诊状态" style="width:200px">
<el-option
v-for="(eItem,eIndex) in orderSelect"
:key="eIndex"
:label="eItem.name"
:value="eItem.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="">
<el-select v-model="searchParam.diagnosisStatu" clearable placeholder="问诊状态" style="width:200px">
<el-option <el-option
v-for="(eItem,eIndex) in diagnosisSelect" v-for="(eItem,eIndex) in diagnosisSelect"
:key="eIndex" :key="eIndex"
...@@ -33,7 +23,7 @@ ...@@ -33,7 +23,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label=""> <el-form-item label="">
<el-select v-model="searchParam.diagnosisType" clearable placeholder="问诊类型" style="width:200px"> <el-select v-model="searchParam.diagnoseType" clearable placeholder="问诊类型" style="width:200px">
<el-option <el-option
v-for="(eItem,eIndex) in diagnosisSelect" v-for="(eItem,eIndex) in diagnosisSelect"
:key="eIndex" :key="eIndex"
...@@ -49,44 +39,107 @@ ...@@ -49,44 +39,107 @@
</el-row> </el-row>
</el-form> </el-form>
<!-- 表格 --> <!-- 表格 -->
<el-table <el-tabs v-model="activeName" @tab-click="handleClick">
class="search-table" <el-tab-pane label="已接诊" name="first">
:data="tableData" <el-table
style="width: 100%"> class="search-table"
<el-table-column prop="name" label="订单ID" min-width="100" align="left"></el-table-column> :data="tableData"
<el-table-column prop="stepStartName" label="运营人员" min-width="100" align="left"></el-table-column> style="width: 100%"
<el-table-column prop="stepEndName" label="专区名称" min-width="120" align="left"></el-table-column> v-loading="loading">
<el-table-column prop="name" label="问诊类型" min-width="80" align="left"></el-table-column> <el-table-column prop="orderNo" label="订单ID" min-width="100" align="left"></el-table-column>
<el-table-column prop="stepStartName" 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="stepEndName" 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="stepStartName" label="问诊患者" min-width="100" align="left"></el-table-column> <el-table-column prop="diagnoseType" label="问诊类型" min-width="80" align="left">
<el-table-column prop="stepEndName" label="问诊电话" min-width="100" align="left"></el-table-column> <template slot-scope="scope">
<el-table-column prop="stepStartName" label="价格" min-width="80" align="left"></el-table-column> <span>{{scope.row.diagnoseType | diagnosisTypeFilter}}</span>
<el-table-column prop="stepEndName" label="订单状态" min-width="80" align="left"></el-table-column> </template>
<el-table-column prop="stepStartName" label="预约时间" min-width="120" align="left"></el-table-column> </el-table-column>
<el-table-column prop="stepEndName" label="问诊状态" min-width="80" align="left"></el-table-column> <el-table-column prop="doctorName" label="接诊医生" min-width="100" align="left"></el-table-column>
<el-table-column label="操作" fixed="right" align="center" min-width="350"> <el-table-column prop="doctorMobile" label="接诊电话" min-width="100" align="left"></el-table-column>
<template slot-scope="scope"> <el-table-column prop="userName" label="问诊患者" min-width="100" align="left"></el-table-column>
<el-button type="primary" size="small" @click="timeHandle(scope.row)">预约时间</el-button> <el-table-column prop="userMobile" label="问诊电话" min-width="100" align="left"></el-table-column>
<el-button type="primary" size="small" @click="endChat(scope.row)">结束</el-button> <el-table-column prop="price" label="价格" min-width="80" align="left"></el-table-column>
<el-button type="primary" size="small" @click="callAll(scope.row)">呼叫双方</el-button> <el-table-column prop="appointBeginTime" label="预约时间" min-width="120" align="left">
<el-button type="primary" size="small" @click="sendMessage(scope.row)">发送消息</el-button> <template slot-scope="scope">
</template> <p>{{scope.row.appointBeginTime}}</p>
</el-table-column> <p>{{scope.row.appointEndTime}}</p>
</el-table> </template>
<!-- 分页 --> </el-table-column>
<div class="pagination"> <el-table-column prop="statusStr" label="问诊状态" min-width="80" align="left"></el-table-column>
<el-pagination <el-table-column label="操作" fixed="right" align="center" min-width="150">
background <template slot-scope="scope">
@size-change="handleSizeChange" <div>
@current-change="handleCurrentChange" <el-button type="primary" size="small" @click="timeHandle(scope.row)">预约时间</el-button>
:current-page="searchParam.pageNo" <el-button type="primary" size="small" @click="endChat(scope.row)">结束</el-button>
:page-sizes="[15, 30, 50, 100, 200, 500, 700, 1000, 1500, 2000]" </div>
:page-size="searchParam.pageSize" <div style="margin-top: 10px;">
layout="total, sizes, prev, pager, next, jumper" <el-button type="primary" size="small" @click="callAll(scope.row)">呼叫双方</el-button>
:total="totalRows"> <el-button type="primary" size="small" @click="sendMessage(scope.row)">发送消息</el-button>
</el-pagination> </div>
</div> </template>
</el-table-column>
</el-table>
<!-- 分页 -->
<div class="pagination">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="searchParam.pageNo"
:page-sizes="[15, 30, 50, 100, 200, 500, 700, 1000, 1500, 2000]"
:page-size="searchParam.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="totalRows">
</el-pagination>
</div>
</el-tab-pane>
<el-tab-pane label="未匹配" name="second">
<el-table
class="search-table"
: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="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">
<template slot-scope="scope">
<span>{{scope.row.diagnoseType | diagnosisTypeFilter}}</span>
</template>
</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="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="appointBeginTime" label="预约时间" min-width="120" align="left">
<template slot-scope="scope">
<p>{{scope.row.appointBeginTime}}</p>
<p>{{scope.row.appointEndTime}}</p>
</template>
</el-table-column>
<el-table-column prop="statusStr" label="问诊状态" min-width="80" align="left"></el-table-column>
<el-table-column label="操作" fixed="right" align="center" min-width="100">
<template slot-scope="scope">
<el-button type="primary" size="small" @click="selectBtn(scope.row)">选择</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页 -->
<div class="pagination">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="searchParam.pageNo"
:page-sizes="[15, 30, 50, 100, 200, 500, 700, 1000, 1500, 2000]"
:page-size="searchParam.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="totalRows">
</el-pagination>
</div>
</el-tab-pane>
</el-tabs>
<!-- 预约时间 --> <!-- 预约时间 -->
<el-dialog <el-dialog
title="预约时间" title="预约时间"
...@@ -134,12 +187,14 @@ ...@@ -134,12 +187,14 @@
export default { export default {
data(){ data(){
return { return {
loading: false,
activeName: 'second',
timeVisible: false, timeVisible: false,
searchParam: { searchParam: {
content: '', searchVal: '',
orderStatu: '', status: '',
diagnosisStatu: '', diagnoseType: '',
diagnosisType: '', tab: 2, // 1、已分配 2、未分配
pageSize: 15, pageSize: 15,
pageNo: 1 pageNo: 1
}, },
...@@ -150,7 +205,7 @@ export default { ...@@ -150,7 +205,7 @@ export default {
timeSelect: [], timeSelect: [],
orderSelect: [], orderSelect: [],
diagnosisSelect: [], diagnosisSelect: [],
tableData: [{}], tableData: [],
totalRows: 0, totalRows: 0,
timeRules: { timeRules: {
...@@ -158,11 +213,26 @@ export default { ...@@ -158,11 +213,26 @@ export default {
} }
}, },
mounted() { mounted() {
this.search();
}, },
methods: { methods: {
search() { // tab切换
handleClick(val) {
this.searchParam.tab = val.name == 'second' ? 2: 1;
this.search();
},
search(a) {
if(a) this.searchParam.pageNo = 1;
this.loading = true;
let url = `/diagnose/admin/diagnose/`;
let params = this.searchParam;
this.POST(url, params).then(res => {
this.loading = false;
if (res.code == "000000") {
this.tableData = res.data.list;
this.totalRows = res.data.allSize;
}
});
}, },
// 预约时间 // 预约时间
timeHandle() { timeHandle() {
...@@ -180,8 +250,12 @@ export default { ...@@ -180,8 +250,12 @@ export default {
}, },
// 发送消息 // 发送消息
sendMessage() { sendMessage(row) {
this.$router.push('/diagnosis-im') this.$router.push('/diagnosis-im')
},
// 选择
selectBtn(row) {
}, },
handleSizeChange(value) { handleSizeChange(value) {
this.searchParam.pageSize = value; this.searchParam.pageSize = value;
......
...@@ -281,6 +281,49 @@ ...@@ -281,6 +281,49 @@
overflow: hidden; overflow: hidden;
} }
} }
& > .diagnosis-box {
width: 260px;
text-align: left;
padding: 10px 15px;
background: #f0f1f2;
border-radius: 8px;
min-height: 80px;
.title {
padding-bottom: 10px;
font-size: 14px;
font-weight: 700;
}
.dia-text {
font-size: 12px;
color: #7C7C7C;
.label {
color: #B4B4B4;
}
}
}
& > .time-box {
width: 260px;
text-align: left;
padding: 10px 15px;
background: #f0f1f2;
border-radius: 8px;
min-height: 80px;
.title {
padding-bottom: 10px;
font-size: 14px;
font-weight: 700;
}
.time {
padding-bottom: 10px;
font-size:12px;
font-weight: 700;
}
.time-text {
font-size: 12px;
color: #7C7C7C;
}
}
} }
} }
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册