2024-09-26 16:52:45 +08:00
|
|
|
<style>
|
|
|
|
|
.card {
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
box-shadow: 5px 6px 14px 4px rgba(0, 0, 0, 0.19);
|
|
|
|
|
padding: 20px;
|
|
|
|
|
background-image: linear-gradient(to bottom, rgba(106, 205, 187, 0.61), rgb(255, 255, 255), rgb(255, 255, 255), rgb(255, 255, 255));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.card .flex-row {
|
|
|
|
|
//justify-content: space-between;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.card .content-c {
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
color: #333;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.card .d-text {
|
|
|
|
|
font-weight: normal;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.card u-gap {
|
|
|
|
|
margin-top: 20px;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
2024-09-19 12:57:55 +08:00
|
|
|
<template>
|
|
|
|
|
<view>
|
|
|
|
|
<view class="white p-32" v-if="info&&!loading">
|
|
|
|
|
<view class="flex-row flex-ali-center" v-if="info">
|
|
|
|
|
<u-image width="96rpx" height="96rpx" shape="circle" :src="getAvatar">
|
|
|
|
|
<u-loading slot="loading"></u-loading>
|
|
|
|
|
</u-image>
|
|
|
|
|
<view class="flex-col flex-jus-sp m-l-32">
|
|
|
|
|
<view class="flex-row flex-ali-center m-b-16">
|
|
|
|
|
<!-- <d-text :text="info.patient.name" className="content-c fs-32"></d-text> -->
|
2024-09-26 16:52:45 +08:00
|
|
|
<d-text :text="info.patient.name" className="tips-c m-l-2"></d-text>
|
2024-09-19 12:57:55 +08:00
|
|
|
</view>
|
|
|
|
|
<view class="flex-row flex-ali-center">
|
|
|
|
|
<d-text :text="info.patient.sex==1?'男':'女'" className="tips-c m-l-2"></d-text>
|
|
|
|
|
<!-- info.age+ -->
|
2024-09-26 16:52:45 +08:00
|
|
|
<d-text :text="info.age" className="tips-c m-l-2"></d-text>
|
2024-09-19 12:57:55 +08:00
|
|
|
</view>
|
2024-10-25 15:54:57 +08:00
|
|
|
</view>
|
2024-09-19 12:57:55 +08:00
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<!-- -->
|
|
|
|
|
<view class="m-t-2 white" v-if="!loading">
|
|
|
|
|
<u-tabs :list="tabs" :is-scroll="false" :current="current" @change="current=$event;loading2=true;getList()"
|
|
|
|
|
bar-width="20" inactive-color="#6C7380" active-color="#6ACDBB"></u-tabs>
|
|
|
|
|
<view class="p-32" v-if="list[current].length>0&&!loading2">
|
|
|
|
|
<block v-if="current==0">
|
2024-09-26 16:52:45 +08:00
|
|
|
<view class="flex-col card" :class="{'m-b-32':(i+1)!=list[current].length}"
|
|
|
|
|
v-for="(item,i) in list[current]" :key="i" @click="toNext(2, item.id, item.user_patient_id, item.status)">
|
|
|
|
|
<view class="flex-row flex-ali-center">
|
|
|
|
|
<d-text text="订单号:"></d-text>
|
|
|
|
|
<d-text :text="item.order_no" className="content-c"></d-text>
|
2024-09-19 12:57:55 +08:00
|
|
|
</view>
|
2024-09-26 16:52:45 +08:00
|
|
|
<view class="flex-row flex-ali-center m-t-24">
|
|
|
|
|
<d-text text="科室:"></d-text>
|
|
|
|
|
<d-text :text="item.depart" className="content-c"></d-text>
|
2024-09-19 12:57:55 +08:00
|
|
|
</view>
|
2024-09-26 16:52:45 +08:00
|
|
|
<view class="flex-row flex-ali-center m-t-16">
|
|
|
|
|
<d-text text="医生:"></d-text>
|
|
|
|
|
<d-text :text="item.doctor" className="content-c"></d-text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="flex-row flex-jus-sp flex-ali-centerc">
|
|
|
|
|
<d-text text=" "></d-text>
|
|
|
|
|
<u-tag :text="item.status_text" :type="item.status_type" />
|
|
|
|
|
</view>
|
|
|
|
|
<view class="flex-row flex-jus-sp flex-ali-center m-t-16">
|
|
|
|
|
<d-text text=" " color="#6C7380">
|
|
|
|
|
</d-text>
|
|
|
|
|
<d-text :text="item.created_at"></d-text>
|
|
|
|
|
</view>
|
|
|
|
|
<!-- <view class="flex-row flex-ali-center m-t-16">-->
|
|
|
|
|
<!-- <d-text text="主诉:"></d-text>-->
|
|
|
|
|
<!-- <d-text :text="item.main_suit" className="content-c"></d-text>-->
|
|
|
|
|
<!-- </view>-->
|
|
|
|
|
<!-- <view class="flex-row flex-ali-center flex-jus-sp m-t08">-->
|
|
|
|
|
<!-- <d-text width="85rpx" text="诊断:" className=""></d-text>-->
|
|
|
|
|
<!-- <d-text :text="item.diagnose" className="flex-1 content-c" :lines="1">-->
|
|
|
|
|
<!-- </d-text>-->
|
|
|
|
|
<!-- </view>-->
|
|
|
|
|
<!-- <u-gap height="1" bg-color="#cacfd8" margin-top="20"></u-gap>-->
|
2024-09-19 12:57:55 +08:00
|
|
|
</view>
|
|
|
|
|
</block>
|
2024-09-26 16:52:45 +08:00
|
|
|
<block v-if="current==1">
|
|
|
|
|
<view class="flex-col card" :class="{'m-b-32':(i+1)!=list[current].length}" v-for="(item,i) in list[current]" :key="i"
|
|
|
|
|
@click="toNext(5, item.id, 0)">
|
|
|
|
|
<view class="flex-row flex-ali-center">
|
|
|
|
|
<d-text text="编号:"></d-text>
|
|
|
|
|
<d-text style="font-size: 25rpx;" className="content-c" :text="item.prescription_no"></d-text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="flex-row flex-ali-center m-t-16">
|
|
|
|
|
<d-text text="类别:"></d-text>
|
|
|
|
|
<d-text :text="item.p_category" className="content-c"></d-text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="flex-row flex-ali-center m-t-16">
|
|
|
|
|
<d-text text="诊断:"></d-text>
|
|
|
|
|
<d-text :text="item.clinical_diagnose" className="content-c"></d-text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="m-t-16">
|
|
|
|
|
<d-text text="药品:"></d-text>
|
|
|
|
|
<u-tag v-for="(value,key) in item.p_drugs" v-if="key < 5" :text="value.toString()" style="margin: 10rpx; display: inline-block" type="info" />
|
|
|
|
|
<d-text v-if="item.drugs_count >= 5" style="margin: 10rpx; display: inline-block" :text="'等,共:' + item.drugs_count+' 个'"></d-text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="flex-row flex-jus-sp flex-ali-centerc m-t-16">
|
|
|
|
|
<d-text text=" "></d-text>
|
|
|
|
|
<u-tag v-if="item.cancel_remark !== ''" :text="item.cancel_remark" :type="item.cancel_remark === '主动取消订单'? 'error': 'info'" />
|
|
|
|
|
</view>
|
|
|
|
|
<view class="flex-row flex-jus-sp flex-ali-center m-t-16">
|
|
|
|
|
<d-text text=" " color="#6C7380">
|
2024-09-19 12:57:55 +08:00
|
|
|
</d-text>
|
2024-09-26 16:52:45 +08:00
|
|
|
<d-text :text="item.created_at"></d-text>
|
2024-09-19 12:57:55 +08:00
|
|
|
</view>
|
2024-09-26 16:52:45 +08:00
|
|
|
<!-- <u-gap height="1" bg-color="#cacfd8" margin-top="20"></u-gap>-->
|
2024-09-19 12:57:55 +08:00
|
|
|
</view>
|
|
|
|
|
</block>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="flex-row flex-jus-center">
|
|
|
|
|
<d-empty text="无记录" v-if="!loading2&&list[current].length==0"></d-empty>
|
|
|
|
|
</view>
|
|
|
|
|
<d-loading-page :loading="loading2"></d-loading-page>
|
|
|
|
|
</view>
|
|
|
|
|
<d-loading-page :loading="loading"></d-loading-page>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import {
|
|
|
|
|
patientInfo,
|
2024-10-25 14:28:04 +08:00
|
|
|
recordListByDoctor,
|
2024-09-19 12:57:55 +08:00
|
|
|
} from '@/api/all.js'
|
2024-10-25 14:28:04 +08:00
|
|
|
import {prescripRecordByDoctor} from "../../api/all";
|
2024-09-19 12:57:55 +08:00
|
|
|
export default {
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
loading: false,
|
|
|
|
|
loading2: true,
|
|
|
|
|
info: '',
|
|
|
|
|
tabs: [{
|
|
|
|
|
name: '挂号记录'
|
|
|
|
|
}, {
|
|
|
|
|
name: '处方记录'
|
|
|
|
|
}],
|
|
|
|
|
list: {
|
|
|
|
|
0: [],
|
|
|
|
|
1: []
|
|
|
|
|
},
|
|
|
|
|
states: {
|
|
|
|
|
3: {
|
|
|
|
|
color: '#6ACDBB',
|
|
|
|
|
label: '待使用'
|
|
|
|
|
},
|
|
|
|
|
6: {
|
|
|
|
|
color: '#A7ABB0',
|
|
|
|
|
label: '已失效'
|
|
|
|
|
},
|
|
|
|
|
4: {
|
|
|
|
|
color: '#A7ABB0',
|
|
|
|
|
label: '已使用'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
current: 0,
|
|
|
|
|
id: -1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
getAvatar() {
|
|
|
|
|
// this.info.patient.sex
|
2024-09-26 16:52:45 +08:00
|
|
|
if (this.info.avatar != '') {
|
|
|
|
|
return this.info.avatar
|
|
|
|
|
}
|
2024-09-19 12:57:55 +08:00
|
|
|
return require(`@/static/image/${1%2==0?'nv':'nan'}.png`)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
onLoad(op) {
|
|
|
|
|
this.id = op['id'] || -1
|
|
|
|
|
this.id > 0 && this.getList()
|
|
|
|
|
this.id > 0 && this.patientInfo()
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
// getDrug(obj={}) {
|
|
|
|
|
// let list = (obj.chinese.length>0?obj.chinese:obj.west)||[]
|
|
|
|
|
// let drugs =[]
|
|
|
|
|
// console.log(list);
|
|
|
|
|
// for (let i = 0; i < list.length; i++) {
|
|
|
|
|
// if (obj.chinese.length>0) {
|
|
|
|
|
// for (let j = 0; j < JSON.parse(list[i].content).length; j++) {
|
|
|
|
|
// drugs.push(JSON.parse(list[i].content)[j]['name'])
|
|
|
|
|
// }
|
|
|
|
|
// } else{
|
|
|
|
|
// drugs.push(JSON.parse(list[i].content)['drug_name'])
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// return drugs.join()
|
|
|
|
|
// },
|
|
|
|
|
// getGroup(list) {
|
|
|
|
|
// let groups = []
|
|
|
|
|
// for (var i = 0; i < list.length; i++) {
|
|
|
|
|
// groups.push(list[i].name)
|
|
|
|
|
// }
|
|
|
|
|
// return groups
|
|
|
|
|
// },
|
|
|
|
|
getMobile(v) {
|
|
|
|
|
return v.replace(/^(\d{3})\d{4}(\d+)/, "$1****$2")
|
|
|
|
|
},
|
2024-09-26 16:52:45 +08:00
|
|
|
// 跳转
|
|
|
|
|
toNext(base_type, id, patient_id, status = 0) {
|
|
|
|
|
if (base_type == 2 && id && patient_id) {
|
|
|
|
|
switch (status) {
|
|
|
|
|
case null:
|
|
|
|
|
this.$toast('状态非法')
|
|
|
|
|
return
|
|
|
|
|
case 0:
|
|
|
|
|
this.$toast('该订单还未支付')
|
|
|
|
|
break
|
|
|
|
|
case 4:
|
|
|
|
|
return this.$toast('该订单已取消')
|
|
|
|
|
}
|
|
|
|
|
this.$go('../../subPackages/sub_workbench/workbench_infoPatient?id=' + patient_id + '&re_id=' + id)
|
|
|
|
|
} else if (base_type == 5 && id) {
|
2026-06-01 13:24:36 +08:00
|
|
|
this.$go('/subPackages/sub_my/prescriptionDetail?id=' + id)
|
2024-09-26 16:52:45 +08:00
|
|
|
}
|
|
|
|
|
},
|
2024-09-19 12:57:55 +08:00
|
|
|
patientInfo() {
|
|
|
|
|
patientInfo({
|
|
|
|
|
up_id: this.id,
|
|
|
|
|
store_id: uni.getStorageSync('store_id') || '11001',
|
|
|
|
|
}).then(res => {
|
|
|
|
|
if (res.errcode == 0) {
|
|
|
|
|
this.info = res.data
|
|
|
|
|
this.$nextTick(() => {
|
|
|
|
|
this.loading = false
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
this.$toast(res.msg);
|
|
|
|
|
this.loading = false
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
async getList() {
|
|
|
|
|
let res = {}
|
2024-10-25 14:28:04 +08:00
|
|
|
this.current == 0 && (res = await recordListByDoctor({
|
2024-09-26 16:52:45 +08:00
|
|
|
up_id: this.id,
|
|
|
|
|
store_id: uni.getStorageSync('store_id') || '11001',
|
|
|
|
|
}))
|
2024-10-25 14:28:04 +08:00
|
|
|
this.current == 1 && (res = await prescripRecordByDoctor({
|
2024-09-26 16:52:45 +08:00
|
|
|
up_id: this.id,
|
|
|
|
|
store_id: uni.getStorageSync('store_id') || '11001',
|
|
|
|
|
}))
|
|
|
|
|
if (res.errcode == 0) {
|
|
|
|
|
this.list[this.current] = res.data && res.data.list ? res.data.list : res.data || []
|
|
|
|
|
this.$nextTick(() => {
|
|
|
|
|
this.loading2 = false
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
this.$toast(res.msg);
|
|
|
|
|
this.loading2 = false
|
|
|
|
|
}
|
2024-09-19 12:57:55 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
this.$nextTick(() => {
|
|
|
|
|
this.loading2 = false
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
<style>
|
|
|
|
|
page {
|
|
|
|
|
background-color: #F9FAFB;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
.text {
|
|
|
|
|
width: 122rpx;
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
font-family: PingFang SC-Regular, PingFang SC;
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
color: #A7ABB0;
|
|
|
|
|
text-align-last: justify;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.text:after {
|
|
|
|
|
content: '';
|
|
|
|
|
width: 100%;
|
|
|
|
|
display: inline-block;
|
|
|
|
|
}
|
|
|
|
|
</style>
|