我的预约列表接口对接

main
xuechunyuan 3 years ago
parent 74dae93467
commit 51bce6fbc8
  1. 27
      src/api/hospital.js
  2. 291
      src/views/myExam.vue

@ -12,7 +12,7 @@ export const queryArticleDetail = (createDept) => {
return request({
url: '/api/blade-business/article/detail-publish',
method: 'get',
params:{
params: {
createDept
}
})
@ -22,8 +22,31 @@ export const checkBacklist = (cupCardNo) => {
return request({
url: '/api/blade-business/blacklist/user-blacklist',
method: 'get',
params:{
params: {
cupCardNo
}
})
};
//我的预约列表
export const myRecord = (createDept, cupCardNo, current,size) => {
return request({
url: '/api/blade-business/apm-record/page',
method: 'get',
params: {
createDept,
cupCardNo,
current,
size,
}
})
};
//取消预约
export const recordCancel = (id) => {
return request({
url: '/api/blade-business/apm-record/cancel',
method: 'get',
params: {
id,
}
})
};

@ -1,7 +1,7 @@
<template>
<div class="my_exam">
<div class="exam_box" v-for="item in examArr" :key="item.time">
<div class="time_box">{{item.time}}</div>
<div class="time_box">{{ item.time }}</div>
<div class="pro_box" v-for="item1 in item.examData" :key="item1.name">
<div class="pro_top">
<div class="img_box">
@ -9,8 +9,8 @@
<img v-else src="~@/assets/image/time_gray.png" alt="" />
</div>
<div class="time_box">
<div class="time_text">{{item1.time}}</div>
<div class="date_txt">{{item1.monment}}</div>
<div class="time_text">{{ item1.time }}</div>
<div class="date_txt">{{ item1.monment }}</div>
</div>
</div>
<div class="pro_bottom">
@ -19,11 +19,16 @@
<img v-if="item1.status !== 3" src="~@/assets/image/pro.png" alt="" />
<img v-else src="~@/assets/image/pro_gray.png" alt="" />
</div>
<div class="pro_name">{{item1.name}}</div>
<div class="pro_pos" :class="item1.status == 1 ? 'tips' : item1.status == 3 ? 'cancel_tip' : ''">{{item1.tip}}</div>
<div class="pro_name">{{ item1.name }}</div>
<div class="pro_pos" :class="item1.status == 1 ? 'tips' : item1.status == 3 ? 'cancel_tip' : ''">
{{ item1.tip }}</div>
</div>
<div class="pro_right">
<div class="cancel" @click="cancelRegisiter" :class="item1.status == 2 ? 'finish' : item1.status == 3 ? 'cancel_item' : ''">{{item1.status == 1 ? '取消预约' : item1.status == 2 ? '已完成' : item1.status == 3 ? '已取消' : ''}}</div>
<div class="cancel" @click="cancelRegisiter(item1)"
:class="item1.status == 2 ? 'finish' : item1.status == 3 ? 'cancel_item' : ''">{{
item1.status == 1 ?
'取消预约' : item1.status == 2 ? '已完成' : item1.status == 3 ? '已取消' : ''
}}</div>
</div>
</div>
</div>
@ -32,42 +37,71 @@
</template>
<script>
import { myRecord,recordCancel } from "@/api/hospital";
export default {
data() {
return {
examArr:[
{time:'2023-02-08',examData:[
{
name:'单眼视力',monment:'上午 9:00-9:30',time:'2023-01-08',tip:'门诊楼3楼眼科门诊',status:1
},
{
name:'听力',monment:'上午 9:00-9:30',time:'2023-01-08',tip:'门诊楼3楼耳科门诊',status:2
}
]},
{time:'2022-01-15',examData:[
{
name:'单眼视力',monment:'上午 9:00-9:30',time:'2022-01-15',tip:'门诊楼3楼眼科门诊',status:3
},
]}
]
data() {
return {
current: 1,
size: 10,
examArr: [
{
time: '2023-02-08', examData: [
{
name: '单眼视力', monment: '上午 9:00-9:30', time: '2023-01-08', tip: '门诊楼3楼眼科门诊', status: 1
},
{
name: '听力', monment: '上午 9:00-9:30', time: '2023-01-08', tip: '门诊楼3楼耳科门诊', status: 2
}
]
},
{
time: '2022-01-15', examData: [
{
name: '单眼视力', monment: '上午 9:00-9:30', time: '2022-01-15', tip: '门诊楼3楼眼科门诊', status: 3
},
]
}
],
userInfo: null
}
},
mounted() {
let userInfo = sessionStorage.getItem('userInfo') ? JSON.parse(sessionStorage.getItem('userInfo')) : null;
if (userInfo) {
this.userInfo = userInfo;
this.queryMyRecord();
}
},
methods: {
//
queryMyRecord() {
myRecord("",this.userInfo.papersnumber, this.current, this.size).then(res => {
})
},
methods: {
cancelRegisiter(){
lightAppJssdk.notification.alert({
//
cancelRegisiter(row) {
lightAppJssdk.notification.alert({
message: "是否取消该体检项目",
title: "提示",//
buttonName: "收到",
success: function (data) {
//onSuccessbutton
/*回调*/
console.log('取消===>',data)
console.log('取消===>', data)
recordCancel(row.id).then(res => {
this.$message({
type: "success",
message: "操作成功!"
});
this.queryMyRecord();
})
},
fail: function (data) { //
}
});
}
},
}
},
};
</script>
@ -77,6 +111,7 @@ export default {
height: 100%;
background: #f9f9f9;
position: absolute;
.exam_box {
background: #fff;
padding: 0.5rem 0.24rem 0 0.24rem;
@ -91,120 +126,130 @@ export default {
}
.pro_box {
width: 98%;
margin-top: 0.4rem;
background: #fff;
// margin: 0.4rem auto;
// margin-bottom: 0.7rem;
width: 98%;
margin-top: 0.4rem;
background: #fff;
// margin: 0.4rem auto;
// margin-bottom: 0.7rem;
.pro_top{
.pro_top {
display: flex;
padding-bottom: 0.26rem;
border-bottom: 1px solid #EEEEEE;
.img_box{
display: flex;
align-items: center;
margin-right: 0.24rem;
img{
width: 0.5rem;
height: 0.5rem;
}
.img_box {
display: flex;
align-items: center;
margin-right: 0.24rem;
img {
width: 0.5rem;
height: 0.5rem;
}
}
.time_box{
.time_text{
width: 1.46rem;
height: 0.32rem;
text-align: center;
background: #F6F6F6;
border-radius: 0.08rem;
line-height: 0.32rem;
font-size: 0.24rem;
color: #999999;
}
.date_txt{
font-size: 0.3rem;
font-weight: bold;
color: #333;
line-height: 0.46rem;
}
.time_box {
.time_text {
width: 1.46rem;
height: 0.32rem;
text-align: center;
background: #F6F6F6;
border-radius: 0.08rem;
line-height: 0.32rem;
font-size: 0.24rem;
color: #999999;
}
.date_txt {
font-size: 0.3rem;
font-weight: bold;
color: #333;
line-height: 0.46rem;
}
}
}
}
.pro_bottom{
.pro_bottom {
display: flex;
justify-content: space-between;
height: 1.2rem;
.pro_left{
.pro_left {
display: flex;
.img_box {
height: 100%;
display: flex;
.img_box{
height: 100%;
display: flex;
align-items: center;
img{
width: 0.5rem;
height: 0.5rem;
}
}
.pro_name{
height: 100%;
display: flex;
align-items: center;
font-size: 0.3rem;
color: #333;
font-weight: bold;
margin-left: 0.24rem;
}
.pro_pos{
height: 100%;
display: flex;
align-items: center;
font-size: 0.24rem;
color: #999;
margin-left: 0.24rem;
}
align-items: center;
img {
width: 0.5rem;
height: 0.5rem;
.tips{
color: #00B578;
}
.cancel_tip{
color: #F93A4A;
}
}
.pro_right{
}
.pro_name {
height: 100%;
display: flex;
align-items: center;
.cancel{
width: 1.5rem;
height: 0.5rem;
background: rgba(22, 119, 255,.1);
border-radius: 0.26rem;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.24rem;
color: #1677FF;
}
.finish{
background: #E5E5E5;
color: #999;
pointer-events: none;
}
font-size: 0.3rem;
color: #333;
font-weight: bold;
margin-left: 0.24rem;
}
.cancel_item{
background: rgba(125, 125, 125,.2);
color: #999;
pointer-events: none;
}
.pro_pos {
height: 100%;
display: flex;
align-items: center;
font-size: 0.24rem;
color: #999;
margin-left: 0.24rem;
}
.tips {
color: #00B578;
}
.cancel_tip {
color: #F93A4A;
}
}
.pro_right {
height: 100%;
display: flex;
align-items: center;
.cancel {
width: 1.5rem;
height: 0.5rem;
background: rgba(22, 119, 255, .1);
border-radius: 0.26rem;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.24rem;
color: #1677FF;
}
.finish {
background: #E5E5E5;
color: #999;
pointer-events: none;
}
.cancel_item {
background: rgba(125, 125, 125, .2);
color: #999;
pointer-events: none;
}
}
}
}
}
}
}
</style>

Loading…
Cancel
Save