提交 e3eb9270 编写于 作者: wenxuan.liang's avatar wenxuan.liang

预约详情页和退款页面

<template>
<div class="table">
<el-table
v-loading="loading"
class="search-table"
:data="tData"
:height="tableHeight"
style="width: 100%"
border
@selection-change="handleSelectionChange"
>
<el-table-column
fixed
type="selection"
width="55">
</el-table-column>
<el-table-column
v-for="item in tableColumn"
:key="item.prop"
:prop="item.prop"
:label="item.label"
:show-overflow-tooltip="item.showtooltip"
min-width="170"
align="center"
></el-table-column>
<el-table-column
label="操作"
fixed="right"
align="center"
min-width="400"
>
<template slot-scope="scope">
<el-button type="primary" size="small" class="btn" v-if="a" @click="witeDiagnose(scope.row)">设为待问诊</el-button>
<el-button type="primary" size="small" class="btn" v-if="b" @click="changeRun(scope.row)">更换运营</el-button>
<el-button type="primary" size="small" class="btn" v-if="c" @click="goDetail(scope.row)">查看详情</el-button>
<el-button type="primary" size="small" class="btn" v-if="d" @click="goDetail(scope.row)">取消/退款</el-button>
<el-button type="primary" size="small" class="btn" v-if="e" @click="witeGo(scope.row)">设为稍后跟进</el-button>
<el-button type="primary" size="small" class="btn" v-if="f" @click="waitMatchDot(scope.row)">设为待匹配医生</el-button>
<el-button type="primary" size="small" class="btn" v-if="g" @click="sendMessage(scope.row)">发送消息</el-button>
<el-button type="primary" size="small" class="btn" v-if="h" @click="joinDiagnose(scope.row)">加入问诊</el-button>
<el-button type="primary" size="small" class="btn" v-if="i" @click="matchRun(scope.row)">匹配运营</el-button>
<el-button type="primary" size="small" class="btn" v-if="j" @click="goEditor(scope.row)" >编辑</el-button>
<el-button type="primary" size="small" class="btn" v-if="k" @click="waitDiagnose(scope.row)">设为待分诊</el-button>
<el-button type="primary" size="small" class="btn" v-if="l" @click="waitHzeDot(scope.row)">设为待协调医生</el-button>
<el-button type="primary" size="small" class="btn" v-if="m" @click="waitMatchTime(scope.row)">设为待确认时间</el-button>
<el-button type="primary" size="small" class="btn" v-if="n" @click="reMatchDot(scope.row)">重新匹配医生</el-button>
<el-button type="primary" size="small" class="btn" v-if="o" @click="changeTime(scope.row)">修改时间</el-button>
<el-button type="primary" size="small" class="btn" v-if="p" @click="call(scope.row)">发起问诊</el-button>
<el-button type="primary" size="small" class="btn" v-if="q" @click="doneHandle(scope.row)">设为已完成</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页 -->
<div class="pagination">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="pageNo"
:page-sizes="[15, 30, 50, 100, 150, 200]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="totalRows"
>
</el-pagination>
</div>
</div>
</template>
<script>
import { TABLE_COLUMN } from "@/utils/constants";
export default {
props: {
tData: {
type: Array,
default: [],
},
pageNo: {
type: Number,
default: 1,
},
pageSize: {
type: Number,
default: 20,
},
totalRows: {
type: Number,
default: 0,
},
loading: {
type: Boolean,
default: false,
},
tableHeight: {
type: Number,
default: 500,
}
},
data() {
return {
tableColumn: TABLE_COLUMN,
multipleSelection: [],
status: 1
};
},
computed: {
//0 只填写了患者信息(急速问诊才会有的状态),1 初始状态(未支付),2待问诊(待匹配运营)(支付成功待完善)3 问诊中(已完善),4、已问诊 5、取消, 6 已结算
//21 已匹配, 22 待分诊, 23 待匹配接诊医生, 24 待协调医生 25 待设置问诊时间, 26 待问诊
a() { //设为待问诊
switch (this.status ) {
case 25:
return true
default:
return false
}
},
b() { // 更换运营
switch (this.status ) {
case 2:
case 21:
case 22:
case 23:
case 24:
case 25:
case 26:
case 3:
return true
default:
return false
}
},
c() {
return true
},
d() { //取消/退款
switch (this.status ) {
case 2:
case 21:
case 22:
case 23:
case 24:
case 25:
case 26:
case 3:
case 4:
return true
default:
return false
}
},
e() { //设为稍后跟进
switch (this.status ) {
case 21:
return true
default:
return false
}
},
f() { //设为待匹配医生
switch (this.status ) {
case 21:
case 22:
return true
default:
return false
}
},
g() { //发送消息
switch (this.status ) {
case 21:
case 22:
case 23:
case 24:
case 25:
case 26:
case 3:
case 4:
case 6:
case 5:
return true
default:
return false
}
},
h() { //加入问诊
switch (this.status ) {
case 3:
return true
default:
return false
}
},
i() { //匹配运营
switch (this.status ) {
case 2:
return true
default:
return false
}
},
j() { //编辑
// switch (this.status ) {
// case :
// return true
// default:
// return false
// }
return false
},
k() { //设为待分诊
switch (this.status ) {
case 21:
return true
default:
return false
}
},
l() { //设为待协调医生
switch (this.status ) {
case 23:
return true
default:
return false
}
},
m() { //设为待确认时间
switch (this.status ) {
case 23:
case 24:
return true
default:
return false
}
},
n() { //重新匹配医生
switch (this.status ) {
case 25:
case 26:
case 3:
return true
default:
return false
}
},
o() { //修改时间
switch (this.status ) {
case 26:
case 3:
return true
default:
return false
}
},
p() { //发起问诊
switch (this.status ) {
case 26:
return true
default:
return false
}
},
q() { //设为已完成
switch (this.status ) {
case 3:
return true
default:
return false
}
}
},
methods: {
// 选择
handleSelectionChange(val) {
this.multipleSelection = val;
},
//设为待问诊
witeDiagnose(row) {
this.$emit("witeDiagnose", row);
},
//更换运营
changeRun(row) {
this.$emit("changeRun", row);
},
//查看详情
goDetail(row) {
this.$emit("goDetail", row);
},
//取消/退款
cancelBtn(row) {
this.$emit("cancelBtn", row);
},
//设为稍后跟进
witeGo(row) {
this.$emit("witeGo", row);
},
//设为待匹配医生
waitMatchDot(row) {
this.$emit("waitMatchDot", row);
},
//发送消息
sendMessage(row) {
this.$emit("sendMessage", row);
},
//加入问诊
joinDiagnose(row) {
this.$emit("joinDiagnose", row);
},
//匹配运营
matchRun(row) {
this.$emit("matchRun", row);
},
//编辑
goEditor(row, flag) {
this.$emit("goEditor", row, flag);
},
//设为待分诊
waitDiagnose(row) {
this.$emit("waitDiagnose", row);
},
//设为待协调医生
waitHzeDot(row) {
this.$emit("waitHzeDot", row);
},
//设为待确认时间
waitMatchTime(row) {
this.$emit("waitMatchTime", row);
},
//重新匹配医生
reMatchDot(row) {
this.$emit("reMatchDot", row);
},
//修改时间
changeTime(row) {
this.$emit("changeTime", row);
},
//发起问诊
call(row) {
this.$emit("call", row);
},
//设为已完成
doneHandle(row) {
this.$emit("doneHandle", row);
},
handleSizeChange(value) {
this.$emit("handleSizeChange", value);
},
handleCurrentChange(value) {
this.$emit("handleCurrentChange", value);
},
},
};
</script>
<style>
</style>
...@@ -8,8 +8,9 @@ const serviceList = r => require.ensure([], () => r(require('../views/IM/diagnos ...@@ -8,8 +8,9 @@ const serviceList = r => require.ensure([], () => r(require('../views/IM/diagnos
const assistList = r => require.ensure([], () => r(require('../views/IM/diagnosis-admin/assist-list.vue')), 'assistList') const assistList = r => require.ensure([], () => r(require('../views/IM/diagnosis-admin/assist-list.vue')), 'assistList')
const assistListTemp = r => require.ensure([], () => r(require('../views/IM/diagnosis-admin/assist-list-temp.vue')), 'assistListTemp') const assistListTemp = r => require.ensure([], () => r(require('../views/IM/diagnosis-admin/assist-list-temp.vue')), 'assistListTemp')
const diagnosisEditor = r => require.ensure([], () => r(require('../views/IM/diagnosis-admin/diagnosis-editor.vue')), 'diagnosisEditor') const diagnosisEditor = r => require.ensure([], () => r(require('../views/IM/diagnosis-admin/diagnosis-editor.vue')), 'diagnosisEditor')
const diagnosisListLod = r => require.ensure([], () => r(require('../views/IM/diagnosis-admin/diagnosis-list-old.vue')), 'diagnosisListLod') const diagnosisListNew = r => require.ensure([], () => r(require('../views/IM/diagnosis-admin/diagnosis-list-new.vue')), 'diagnosisListNew')
const refundDetail = r => require.ensure([], () => r(require('../views/IM/diagnosis-admin/refund-detail.vue')), 'refundDetail') const downList = r => require.ensure([], () => r(require('../views/IM/diagnosis-admin/down-list.vue')), 'downList')
export default [{ export default [{
path: '/', path: '/',
component: App, component: App,
...@@ -42,11 +43,12 @@ export default [{ ...@@ -42,11 +43,12 @@ export default [{
path: '/diagnosis-editor', path: '/diagnosis-editor',
component: diagnosisEditor component: diagnosisEditor
}, { }, {
path: '/diagnosis-list-old', path: '/diagnosis-list-new',
component: diagnosisListLod component: diagnosisListNew
}, { }, {
path: '/refund-detail', path: '/down-list',
component: refundDetail component: downList
} }
] ]
}] }]
...@@ -227,3 +227,301 @@ export const FOLLW_LIST = [ ...@@ -227,3 +227,301 @@ export const FOLLW_LIST = [
value: 4 value: 4
}, },
] ]
//0 只填写了患者信息(急速问诊才会有的状态),1 初始状态(未支付),2待问诊(支付成功待完善)3 问诊中(已完善),4、已问诊 5、取消, 6 已结算
//21 已匹配 22 待分诊 23 待匹配接诊医生 24 待协调医生 25 待设置问诊时间 26 待问诊
//预约单列表
export const ALL_TAB_LIST = [
{
label: '全部',
active: '99'
},
{
label: '待匹配',
active: '2'
},
{
label: '已匹配',
active: '21'
},
{
label: '待分诊',
active: '22'
},
{
label: '待匹配医生',
active: '23'
},
{
label: '待协调医生',
active: '24'
},
{
label: '待确认时间',
active: '25'
},
{
label: '待问诊',
active: '16'
},
{
label: '问诊中',
active: '3'
},
{
label: '已完成',
active: '4'
},
{
label: '已结算',
active: '6'
},
{
label: '已取消',
active: '5'
}
]
// 分诊列表
export const TRIAGE_TAB_LIST = [
{
label: '全部',
active: '1'
},
{
label: '待诊断',
active: '13'
}
]
// 接诊列表
export const RECEPTION_TAB_LIST = [
{
label: '全部',
active: '1'
},
{
label: '待匹配医生',
active: '5'
},
{
label: '待协调医生',
active: '6'
},
]
export const TABLE_COLUMN = [
{
prop: "diagnoseLogId",
label: "ID",
showtooltip: false,
},
{
prop: "orderNo",
label: "订单ID",
showtooltip: false,
},
{
prop: "diagnoseTypeStr",
label: "预约类型",
showtooltip: false,
},
{
prop: "statusStr",
label: "状态",
showtooltip: false,
},
{
prop: "appointBeginTime",
label: "预约开始时间",
showtooltip: false,
},
{
prop: "appointEndTime",
label: "预约结束时间",
showtooltip: false,
},
{
prop: "operateUserID",
label: "运营人员ID",
showtooltip: false,
},
{
prop: "operateUserName",
label: "运营人员",
showtooltip: false,
},
{
prop: "userName",
label: "助诊医生",
showtooltip: false,
},
{
prop: "userMobile",
label: "助诊电话",
showtooltip: false,
},
{
prop: "assistantBeginTime",
label: "助诊医生意向时间",
showtooltip: false,
},
{
prop: "assistantRemark",
label: "助诊备注",
showtooltip: true,
},
{
prop: "triageDepartment",
label: "分诊科室",
showtooltip: false,
},
{
prop: "triageRemark",
label: "分诊备注",
showtooltip: true,
},
{
prop: "doctorName",
label: "接诊医生",
showtooltip: false,
},
{
prop: "doctorMobile",
label: "接诊电话",
showtooltip: false,
},
{
prop: "outsideDoctor",
label: "站外医生姓名",
showtooltip: false,
},
{
prop: "receptionBeginTime",
label: "接诊诊医生意向时间",
showtooltip: false,
},
{
prop: "patientName",
label: "患者姓名",
showtooltip: false,
},
{
prop: "patientMobilePhone",
label: "患者电话",
showtooltip: false,
},
{
prop: "illnessDetail",
label: "病情描述",
showtooltip: false,
},
{
prop: "idCard",
label: "证件号",
showtooltip: false,
},
{
prop: "sexStr",
label: "性别",
showtooltip: false,
},
{
prop: "diagnoseStageStr",
label: "初/复制",
showtooltip: false,
},
{
prop: "determineFlagStr",
label: "是否确诊",
showtooltip: false,
},
{
prop: "diagnoseDisease",
label: "确诊疾病",
showtooltip: true,
},
{
prop: "triageOperatorName",
label: "分诊运营",
showtooltip: false,
},
{
prop: "receptionOperatorName",
label: "接诊运营",
showtooltip: false,
},
{
prop: "diagnoseAdvice",
label: '诊断建议"',
showtooltip: true,
},
{
prop: "crrsName",
label: "招募人",
showtooltip: false,
},
{
prop: "diagnoseChannelStr",
label: "问诊方式",
showtooltip: false,
},
{
prop: "doneTime",
label: "完成时间",
showtooltip: false,
},
{
prop: "cancelTime",
label: "退款时间",
showtooltip: false,
},
{
prop: "createdTime",
label: "创建时间",
showtooltip: false,
},
{
prop: "followFlagStr",
label: "是否跟进",
showtooltip: false,
},
{
prop: "drugFollowStatusStr",
label: "药品跟进状态",
showtooltip: false,
},
{
prop: "drugFollow",
label: "药品跟进",
showtooltip: false,
},
{
prop: "checkFollowStatusStr",
label: "检查跟进状态",
showtooltip: false,
},
{
prop: "checkFollow",
label: "检查跟进",
showtooltip: false,
},
{
prop: "otherFollowStatusStr",
label: "其他跟进事项状态",
showtooltip: false,
},
{
prop: "otherFollow",
label: "其他跟进事项",
showtooltip: false,
},
{
prop: "remark",
label: "跟进备注",
showtooltip: false,
},
]
\ No newline at end of file
此差异已折叠。
<template>
<div class="down-list">
<el-table
class="search-table"
:data="tableData"
style="width: 100%"
v-loading="loading"
>
<el-table-column
v-for="item in tableColumn"
:key="item.prop"
:prop="item.prop"
:label="item.label"
:show-overflow-tooltip="item.showtooltip"
min-width="170"
align="center"
></el-table-column>
<el-table-column
label="操作"
fixed="right"
align="center"
min-width="400"
>
<template slot-scope="scope">
<el-button
type="primary"
size="small"
@click="download(scope.row)"
style="margin-top: 10px"
>下载</el-button
>
</template>
</el-table-column>
</el-table>
<!-- 分页 -->
<div class="pagination">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="pageNo"
:page-sizes="[15, 30, 50, 100, 200]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="totalRows"
>
</el-pagination>
</div>
</div>
</template>
<script>
export default {
data() {
return {
pageSize: 15,
pageNo: 1,
totalRows: 0,
loading: false,
tableData: [],
tableColumn: [
{
prop: "名称",
label: "名称",
showtooltip: false,
},
{
prop: "时间",
label: "时间",
showtooltip: false,
},
{
prop: "状态",
label: "状态",
showtooltip: false,
},
],
};
},
methods: {
// 导出
download() {
let url = `/diagnose/admin/diagnose/export`;
let params = this.searchParam;
params.bizType = 2;
this.POST(url, params)
.then((res) => {
if (res.code == "000000") {
this.downloadFile(
res.data.attachments.base64,
res.data.attachments.name
);
}
})
.catch((err) => {
console.log("网络出现点儿问题,稍后重试");
});
},
/* 文件下载*/
downloadFile(base64, name) {
let a = document.createElement("a");
let href = "data:application/xls;base64," + base64;
a.setAttribute("href", href);
a.setAttribute("download", name);
a.click();
this.$message.success("导出成功");
},
handleSizeChange(value) {
this.pageSize = value;
},
handleCurrentChange(value) {
this.pageNo = value;
},
},
};
</script>
<style>
</style>
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册