Commit 87937939 by lingyu0918

提交静态页面

parent 988eca60
Showing with 2491 additions and 17 deletions
File mode changed
<template>
</template>
<script>
</script>
<style>
</style>
\ No newline at end of file
<template>
<view class="head-tabs flex items-center ft30 pl32 pr32">
<view class="tabs-item" :class="active == 1 ? 'active' : ''" @click="handleTbs(1)">
病情概要
<view class="btm-slide" v-if="active == 1"></view>
</view>
<view class="tabs-item" :class="active == 2 ? 'active' : ''" @click="handleTbs(2)">
聊天室
<view class="btm-slide" v-if="active == 2"></view>
</view>
<view class="tabs-item" :class="active == 3 ? 'active' : ''" @click="handleTbs(3)">
报告查询
<view class="btm-slide" v-if="active == 3"></view>
</view>
<view class="tabs-item" :class="active == 4 ? 'active' : ''" @click="handleTbs(4)">
全息视图
<view class="btm-slide" v-if="active == 4"></view>
</view>
</view>
</template>
<script>
export default {
props:{
active:{
type:Number,
default:()=>{
return 1
}
}
},
data() {
return {};
},
methods: {
handleTbs(val) {
// this.active = val;
this.$emit('handleTabs', val);
}
}
};
</script>
<style lang="scss" scoped>
.head-tabs {
width: 100%;
height: 90rpx;
background-color: #fff;
border-bottom: 2rpx solid #F5F6F7;
.tabs-item {
position: relative;
height: 90rpx;
display: flex;
flex-direction: column;
justify-content: center;
color: #666;
margin-right: 44rpx;
.btm-slide {
position: absolute;
bottom: 2rpx;
left: 50%;
transform: translateX(-50%);
width: 40rpx;
height: 6rpx;
background: linear-gradient(270deg, #77abff 0%, #035ceb 100%);
border-radius: 4rpx;
}
}
}
.active {
color: #000000 !important;
font-weight: 700;
}
</style>
<template>
<view class="">
<!-- 滑动 -->
<view class="slide-conts flex items-start" id="slide-cont">
<!-- 左侧内容 -->
<view class="slide-left-cont">
<scroll-view scroll-y="true" class="scroll-Y " :style="{ height: height + 'px' }">
<view
class="slide-left-cont-item ft24 lht34 flex column items-center content-center"
:class="slideIdx == index ? 'slide-left-active' : ''"
v-for="(item, index) in dateTimeList"
:key="index"
@click="clickMenu(index)"
>
<view class="">{{ item.title }}</view>
</view>
</scroll-view>
</view>
<!-- 右侧内容 -->
<view class="slide-right-cont">
<scroll-view scroll-y="true" class="scroll-Y " :style="{ height: height + 'px' }">
<!-- 患者关注列表 -->
<patient-name-item v-for="i in 10"></patient-name-item>
</scroll-view>
</view>
</view>
</view>
</template>
<script>
import patientNameItem from '@/pages/components/patient-name-item.vue';
export default {
components: {
patientNameItem
},
props: {
top: {
type: Number,
default: () => {
return 0;
}
}
},
data() {
return {
height: 0,
dateTimeList: [
{
title: '默认分组'
},
{
title: '分组名称'
}
],
slideIdx: 0
};
},
created() {
this.$nextTick(() => {
if (!this.top) {
return false;
}
const query = uni.createSelectorQuery();
query
.select('#add-btn')
.boundingClientRect(data => {
uni.getSystemInfo({
success: res => {
this.height = res.windowHeight - (this.top + data.height);
}
});
})
.exec();
});
},
methods: {
clickMenu(val) {
this.slideIdx = val;
}
}
};
</script>
<style>
page {
background: #fff;
}
</style>
<style lang="scss" scoped>
.slide-conts {
width: 100%;
height: 100%;
.slide-left-cont {
width: 240rpx;
height: 100%;
.slide-left-cont-item {
position: relative;
width: 240rpx;
height: 132rpx;
background: #f5f6f7;
color: #656975;
}
}
.slide-right-cont {
padding: 0 30rpx;
width: 100%;
height: 100%;
}
}
.slide-left-active {
background: #ffffff !important;
color: #004ac2 !important;
}
</style>
<template>
<view class="patient-card flex items-start ">
<view class="patient-img"></view>
<view class="" style="flex: 1;">
<view class="pl20 flex items-center content-between">
<view class="">
<view class="patient-name flex items-center">
<text class="font500 color333 ft32 lht28">李小明</text>
<text class="info-tag color-tag ml18">开药</text>
</view>
<text class="info-tag" style="margin-top: 4rpx;">女|20岁</text>
</view>
<view class="keep">
</view>
</view>
<view class="pl20 inquiry-time ft24 pt24 lht24" style="color: #A8AAB0;">问诊时间:2022-04-24 下午17</view>
</view>
</view>
</template>
<script></script>
<style lang="scss" scoped>
.patient-card {
background-color: #fff;
padding: 32rpx 28rpx;
height: 192rpx;
border-bottom: 2rpx solid #F5F6F7;
.patient-img {
flex-shrink: 0;
width: 80rpx;
height: 80rpx;
border-radius: 50%;
background: #eee;
image {
width: 100%;
height: 100%;
}
}
.info-tag {
background: #eff4fb;
padding: 4rpx 8rpx;
border-radius: 2rpx;
color: #1c62d5;
font-size: 20rpx;
}
.keep{
width: 30rpx;
height: 30rpx;
background: #eee;
overflow: hidden;
image{
width: 100%;
height: 100%;
}
}
}
.color-tag{
background: linear-gradient(135deg, #05DDBD 0%, #32DFC2 100%) !important;
color: #fff !important;
border-radius: 4rpx !important;
}
</style>
<template>
<view class="flex items-center content-between" style="height: 96rpx;">
<view class="flex items-center">
<view class="paitent-img"></view>
<view class="paitent-name ft32 font700 color333 pl16">李小明</view>
</view>
<view class="paitent-info ft28" style="color: #656975;">女 | 20岁</view>
</view>
</template>
<script>
export default {
props: {
info: {
type: Object,
default: () => {
return {};
}
}
},
data() {
return {};
}
};
</script>
<style lang="scss" scoped>
.paitent-img {
background: #eee;
width: 60rpx;
height: 60rpx;
border-radius: 50%;
overflow: hidden;
}
.tags {
background: #eff4fb;
padding: 10rpx 14rpx;
font-size: 28rpx;
color: #1c62d5;
border-radius: 4rpx;
}
</style>
<template>
<view class="patient-list flex items-center content-between">
<view class="flex items-center ">
<view class="patient-img"></view>
<view class="patient-name pl12 ft28 lht28 color333">李小明</view>
<text class="patient-tag">女|20岁</text>
</view>
<view class="keep-icon"></view>
</view>
</template>
<script></script>
<style lang="scss" scoped>
.patient-list {
// padding: 0 28rpx;
border-bottom: 2rpx solid #F5F6F7;
height: 124rpx;
.patient-img {
width: 64rpx;
height: 64rpx;
border-radius: 50%;
overflow: hidden;
background-color: #eee;
}
.patient-name {
padding-right: 8rpx;
}
.patient-tag {
padding: 4rpx 8rpx;
background: #eff4fb;
color: #1c62d5;
font-size: 20rpx;
border-radius: 2rpx;
}
.keep-icon {
width: 32rpx;
height: 32rpx;
background-color: #eee;
}
}
</style>
<template>
<view class="drug-cont">
<view class="durg-card mb20">
<view class="flex items-center content-between">
<view class="flex items-center ">
<view class="paitent-img mr16"></view>
<view class="paitent-name pr16 ft32 font700 color333">李小明</view>
<view class="paitent-info ft24" style="color: #656975;">男 | 20岁</view>
</view>
<view class="date-time ft24" style="color: #CBCBCB;">2021-01-01 10:00:00</view>
</view>
<view class="paitent-type pt20 flex ft26 lht28">
<view class="" style="color: #656975;">
患者类型:
</view>
<view class="color333">
自费患者
</view>
</view>
<view class="paitent-describe pt14 mb30 flex ft26">
<view class="" style="color: #656975;">
病情描述:
</view>
<view class="color333">
</view>
</view>
<text class="durg-tags">
申请处方药品
</text>
<view class="pb36" style="border-bottom:2rpx solid #F5F6F7">
<view class="durg-name ft26 lht28 pt16" style="color: #656975;">
[甲]维胺酯胶囊 23mg*24粒×4盒
</view>
<view class="durg-name ft26 lht28 pt16" style="color: #656975;">
[甲]维胺酯胶囊 23mg*24粒×4盒
</view>
</view>
<view class="btm-btn flex content-end items-center">
<view class="btn-dtl ft24 colorfff flex content-center items-center">
查看详情
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {};
}
};
</script>
<style lang="scss" scoped>
.drug-cont{
padding: 20rpx 25rpx;
.durg-card {
padding: 40rpx 30rpx 0 30rpx;
background: #fff;
border-radius: 8rpx;
.paitent-img {
width: 40rpx;
height: 40rpx;
background: #eee;
border-radius: 50%;
overflow: hidden;
image {
width: 100%;
height: 100%;
}
}
.durg-tags{
background: #EFF4FB;
padding: 6rpx 8rpx;
border-radius: 8rpx;
font-size: 24rpx;
color: #1C62D5;
}
}
.btm-btn{
background: #ffffff;
height: 90rpx;
.btn-dtl{
width: 156rpx;
height: 52rpx;
background: linear-gradient(135deg, #0B57D2 0%, #77A5FF 100%);
box-shadow: 0px 4rpx 10rpx 0rpx rgba(20, 101, 232, 0.23);
border-radius: 26rpx;
}
}
}
</style>
<template>
<view class="">
</view>
</template>
<script>
</script>
<style>
</style>
\ No newline at end of file
<template>
<view class="">
<view class="head-tbs flex items-center">
<text class="tabs-item ft30 ft26 color666 mr20 " :class="active == 1 ? 'active' : ''" @click="handleTbs(1)">检查报告</text>
<text class="tabs-item ft30 ft26 color666 mr20 " :class="active == 2 ? 'active' : ''" @click="handleTbs(2)">体验报告</text>
<text class="tabs-item ft30 ft26 color666 mr20" :class="active == 3 ? 'active' : ''" @click="handleTbs(3)">体检报告</text>
</view>
</view>
</template>
<script>
export default {
props:{
active:{
type:Number,
default:()=>{
return 1
}
}
},
data() {
return {};
},
methods: {
handleTbs(val) {
this.active = val;
this.$emit('handleTags', val);
}
}
};
</script>
<style lang="scss" scoped>
.head-tbs {
padding: 0 30rpx;
background: #fff;
height: 88rpx;
border-top: 2rpx solid #f5f6f7;
.tabs-item {
padding: 6rpx 16rpx;
border-radius: 26rpx;
}
.active {
background-color: #eff4fb;
color: #004ac2;
}
}
</style>
<template xlang="wxml" minapp="mpvue">
<view class="tki-qrcode">
<canvas class="tki-qrcode-canvas" :canvas-id="cid" :style="{width:cpSize+'px',height:cpSize+'px'}" />
<image v-show="show" :src="result" :style="{width:cpSize+'px',height:cpSize+'px'}" />
</view>
</template>
<script>
import QRCode from "./qrcode.js"
let qrcode
export default {
name: "tki-qrcode",
props: {
cid: {
type: String,
default: 'tki-qrcode-canvas'
},
size: {
type: Number,
default: 200
},
unit: {
type: String,
default: 'upx'
},
show: {
type: Boolean,
default: true
},
val: {
type: String,
default: ''
},
background: {
type: String,
default: '#ffffff'
},
foreground: {
type: String,
default: '#000000'
},
pdground: {
type: String,
default: '#000000'
},
icon: {
type: String,
default: ''
},
iconSize: {
type: Number,
default: 40
},
lv: {
type: Number,
default: 3
},
onval: {
type: Boolean,
default: false
},
loadMake: {
type: Boolean,
default: false
},
usingComponents: {
type: Boolean,
default: true
},
showLoading: {
type: Boolean,
default: true
},
loadingText: {
type: String,
default: '二维码生成中'
},
},
data() {
return {
result: '',
}
},
methods: {
_makeCode() {
let that = this
if (!this._empty(this.val)) {
qrcode = new QRCode({
context: that, // 上下文环境
canvasId:that.cid, // canvas-id
usingComponents: that.usingComponents, // 是否是自定义组件
showLoading: that.showLoading, // 是否显示loading
loadingText: that.loadingText, // loading文字
text: that.val, // 生成内容
size: that.cpSize, // 二维码大小
background: that.background, // 背景色
foreground: that.foreground, // 前景色
pdground: that.pdground, // 定位角点颜色
correctLevel: that.lv, // 容错级别
image: that.icon, // 二维码图标
imageSize: that.iconSize,// 二维码图标大小
cbResult: function (res) { // 生成二维码的回调
that._result(res)
},
});
} else {
uni.showToast({
title: '二维码内容不能为空',
icon: 'none',
duration: 2000
});
}
},
_clearCode() {
this._result('')
qrcode.clear()
},
_saveCode() {
let that = this;
if (this.result != "") {
uni.saveImageToPhotosAlbum({
filePath: that.result,
success: function () {
uni.showToast({
title: '二维码保存成功',
icon: 'success',
duration: 2000
});
}
});
}
},
_result(res) {
this.result = res;
this.$emit('result', res)
},
_empty(v) {
let tp = typeof v,
rt = false;
if (tp == "number" && String(v) == "") {
rt = true
} else if (tp == "undefined") {
rt = true
} else if (tp == "object") {
if (JSON.stringify(v) == "{}" || JSON.stringify(v) == "[]" || v == null) rt = true
} else if (tp == "string") {
if (v == "" || v == "undefined" || v == "null" || v == "{}" || v == "[]") rt = true
} else if (tp == "function") {
rt = false
}
return rt
}
},
watch: {
size: function (n, o) {
if (n != o && !this._empty(n)) {
this.cSize = n
if (!this._empty(this.val)) {
setTimeout(() => {
this._makeCode()
}, 100);
}
}
},
val: function (n, o) {
if (this.onval) {
if (n != o && !this._empty(n)) {
setTimeout(() => {
this._makeCode()
}, 0);
}
}
}
},
computed: {
cpSize() {
if(this.unit == "upx"){
return uni.upx2px(this.size)
}else{
return this.size
}
}
},
mounted: function () {
if (this.loadMake) {
if (!this._empty(this.val)) {
setTimeout(() => {
this._makeCode()
}, 0);
}
}
},
}
</script>
<style>
.tki-qrcode {
position: relative;
}
.tki-qrcode-canvas {
position: fixed;
top: -99999upx;
left: -99999upx;
z-index: -99999;
}
</style>
<template>
<view class="">
<view class="list flex items-center content-between">
<view class="flex items-center">
<view class="list-img">
<image style="width: 100%;height: 100%;" src="../../../static/image/info1.png" mode=""></image>
</view>
<view class="pl20">
<view class="title color333 lht28 ft28 font500">
超声
</view>
<view class="ft24 color999 lht24 pt12">
妇科卵巢检测
</view>
</view>
</view>
<view class="ft24 color999">
2020-01-01 10:00:00
</view>
</view>
</view>
</template>
<script>
</script>
<style lang="scss" scoped>
.list{
background: #fff;
padding: 0 28rpx;
width: 100%;
height: 132rpx;
border-bottom: 2rpx solid #F5F6F7;
.list-img{
width: 44rpx;
height: 44rpx;
border-radius: 50%;
overflow: hidden;
image{
width: 100%;
height: 100%;
}
}
}
</style>
\ No newline at end of file
<template>
<view class="">
<report-tabs @handleTags="handleTags" :active="active"></report-tabs>
<!-- 检查报告组件 -->
<view class="pt16"><physical-list></physical-list></view>
</view>
</template>
<script>
import reportTabs from '@/pages/components/report-tabs.vue';
import physicalList from './physical-list.vue';
export default {
components: {
reportTabs,
physicalList
},
data() {
return {
active: 1,//选中的标签值
};
},
methods: {
handleTags(val) {
this.active = val;
}
}
};
</script>
<style>
page {
background-color: #f5f6f7;
}
</style>
<style lang="scss" scoped></style>
<template>
<view class="paitent-cont">
<view class="pt22">
<head-info :info="info"></head-info>
</view>
<view class="mt36"><text class="tags">病人主诉</text></view>
<view class="ft26 lht28 pt30 flex items-center">
<view class="" style="color: #656975; width: 130rpx;">身高体重:</view>
<view class="color333 pl12">123cm65kg</view>
</view>
<view class="ft26 lht28 pt26 flex items-center">
<view class="" style="color: #656975;width: 130rpx;">是否怀孕:</view>
<view class="color333 pl12"></view>
</view>
<view class="ft26 lht28 pt26 flex items-center">
<view class="" style="color: #656975;">患病时长:</view>
<view class="color333 pl12">一年以上</view>
</view>
<view class="ft26 lht28 pt26 flex items-start">
<view class="" style="color: #656975;width: 130rpx; flex-shrink: 0;">病情描述:</view>
<view class="color333 pl12">糖尿病时长期存在的高血糖,导致各种组织,特别是眼、的肾、心脏、血管、神经的慢性损害、功能障碍。</view>
</view>
<view class="ft26 lht28 pt26 flex items-center">
<view class="" style="color: #656975;width: 130rpx;">病史:</view>
<view class="color333 pl12"></view>
</view>
<view class="ft26 lht28 pt26 flex items-center">
<view class="" style="color: #656975;width: 130rpx;">过敏史:</view>
<view class="color333 pl12"></view>
</view>
<view class="ft26 lht28 pt26 flex items-center">
<view class="" style="color: #656975;width: 130rpx;">相关图片:</view>
<view class="color333 pl12"></view>
</view>
<view class="mb32" style="padding-top: 56rpx;"><text class="tags">历史处方药品</text></view>
<view class="ft26 lht28 pb40" v-for="i in 2" :key="i">
<view class="drug-title color333">[甲]维胺酯胶囊 23mg*24粒×4盒备份 2</view>
<view class="drug-explain pt16" style="color: #656975;">用法:口服,3次/日</view>
</view>
<view class="btm-btn flex content-between">
<!-- <view class="order-btn" @click="submitOrder">接单</view> -->
<view class="left-btn flex content-center items-center" @click="show = true">拒绝开方</view>
<view class="right-btn flex content-center items-center">开处方</view>
</view>
<u-popup :show="show" mode="center" @close="close" @open="open" closeable>
<view class="modal-card">
<view class="head-title font700 ft28 flex content-center pb24 pt30">请说明拒绝原因</view>
<view class="" @click="isSelect = true">
<u-input type="text" v-model="value" style="height:64rpx" disabled disabledColor="#F5F6F7">
<template slot="suffix">
<image style="width: 16rpx; height: 12rpx;" src="/static/image/arrow-down333.png" mode=""></image>
</template>
</u-input>
</view>
<view class="cont-card mt24">
<u--textarea v-model="content" style="background: #F5F6F7;" height="390rpx" border="none" maxlength="500" placeholder="请输入原因…"></u--textarea>
</view>
<view class="btm-opt flex">
<view class="cancel flex items-center content-center color666" style="flex: 1;" @click="close()">取消</view>
<view class="submit flex items-center content-center" style="color: #003893;flex:1" @click="close()">确定</view>
</view>
</view>
</u-popup>
<u-action-sheet :actions="selectList" :closeOnClickAction="true" :title="title" :show="isSelect" @close="isSelect=false" @select="select"></u-action-sheet>
</view>
</template>
<script>
import headInfo from '@/pages/components/patient-head-info.vue'
export default {
components:{
headInfo
},
data() {
return {
show: false,
title: '请说明拒绝原因',
content: '',
value: '其他',
selectList: [
{
name: '选项一'
},
{
name: '选项二禁用'
},
{
name: '开启load加载' //开启后文字不显示
}
],
isSelect: false,//拒绝下拉框状态
info:{}
};
},
methods: {
submitOrder() {
uni.showModal({
content: '是否确认订单?',
success: res => {
if (res.confirm) {
}
}
});
},
// 选中拒绝的下拉框
select(val){
this.value=val.name
this.isSelect=false
},
open() {},
close() {
this.show = false;
}
}
};
</script>
<style lang="scss" scoped>
.paitent-cont {
padding: 0 24rpx;
background-color: #fff;
.btm-btn {
position: absolute;
bottom: 0;
left: 0;
background: #fff;
width: 100%;
height: 130rpx;
box-shadow: 0px -4px 12px 0px rgba(0, 0, 0, 0.08);
padding: 32rpx 24rpx 0 24rpx;
.order-btn {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 84rpx;
background: linear-gradient(135deg, #0b57d2 0%, #77a5ff 100%);
border-radius: 8rpx;
color: #fff;
}
.left-btn,
.right-btn {
width: 336rpx;
height: 84rpx;
border-radius: 8px;
}
.left-btn {
background: #ffffff;
border-radius: 8rpx;
border: 2rpx solid #f1f1f1;
color: #333333;
font-size: 32rpx;
}
.right-btn {
background: linear-gradient(135deg, #0b57d2 0%, #77a5ff 100%);
border-radius: 8rpx;
font-weight: 500;
color: #ffffff;
font-size: 32rpx;
}
}
}
.modal-card {
width: 590rpx;
height: 720rpx;
background: #ffffff;
padding: 0 30rpx;
border-radius: 8rpx;
overflow: hidden;
}
.cont-card {
width: 100%;
height: 390rpx;
}
.btm-opt {
position: absolute;
background: #fff;
left: 0;
bottom: 0;
width: 100%;
height: 88rpx;
border-top: 2rpx solid #f1f1f1;
.cancel {
}
}
.tags {
background: #eff4fb;
padding: 10rpx 14rpx;
font-size: 28rpx;
color: #1c62d5;
border-radius: 4rpx;
}
</style>
<template>
<view class="">
<u-navbar title="药品查询" :placeholder="true" @leftClick="onNavbarLeftClick"></u-navbar>
<view class="head">
<text class="doctor-title">
弘爱互联网+药房
<view class="btm-slide"></view>
</text>
</view>
<!-- 搜索输入框 -->
<view class="pl24 pr24 pt20">
<view class="search-content flex">
<view class="pl20 pr20" style="line-height: 68rpx;"><img style="width: 28rpx;height: 28rpx;" src="/static/image/search.png" alt="" /></view>
<u--input :fontSize="'24rpx'" placeholder="请输入药品名称" border="none" v-model="value"></u--input>
</view>
</view>
<!-- 药品列表 -->
<drug-list></drug-list>
</view>
</template>
<script>
import drugList from './components/drug-list.vue';
export default {
components:{
drugList
},
data() {
return {
value: ''
};
}
};
</script>
<style lang="scss" scoped>
.head {
height: 90rpx;
border-bottom: 2rpx solid #f5f6f7;
.doctor-title {
position: relative;
padding: 20rpx 34rpx 28rpx 34rpx;
font-weight: 500;
line-height: 42rpx;
font-size: 30rpx;
color: #000000;
}
.btm-slide {
position: absolute;
bottom: -10rpx;
left: 50%;
transform: translateX(-50%);
width: 40rpx;
height: 6rpx;
background: linear-gradient(270deg, #77abff 0%, #035ceb 100%);
border-radius: 4rpx;
}
}
.search-content {
background: #f5f6f7;
width: 100%;
height: 68rpx;
border-radius: 6rpx;
}
</style>
<template>
<view class="">
<u-navbar title="处方" :placeholder="true" @leftClick="onNavbarLeftClick"></u-navbar>
<view class="head flex items-center">
<text class="drug-tag ft28">
RP
</text>
</view>
<view class="specification-list flex items-center">
<view class="flex column" style="flex: 1;">
<view class="durg-title color333 ft30 lht30">
维生素C片 *2瓶
</view>
<view class="ft24 lht24 color999 pt16">
用法用量:口服,立即,每次1片
</view>
</view>
<view class="state-img">
</view>
</view>
</view>
</template>
<script>
</script>
<style>
page {
background-color: #f5f6f7;
}
</style>
<style lang="scss" scoped>
.head{
background: #fff;
height: 88rpx;
padding: 0 30rpx;
.drug-tag{
background: #EFF4FB;
padding: 10rpx 30rpx;
border-radius: 4rpx;
color: #1C62D5;
font-weight: 500;
}
}
.specification-list{
padding: 36rpx 28rpx;
border-top: 2rpx solid #F5F6F7;
background: #fff;
.state-img{
flex-shrink: 0;
width: 120rpx;
height: 66rpx;
background: #eee;
overflow: hidden;
}
}
</style>
\ No newline at end of file
<template>
<view class="">
<u-navbar title="急速配药" :placeholder="true" @leftClick="onNavbarLeftClick"></u-navbar>
<view class=""><rapid-drug-list></rapid-drug-list></view>
</view>
</template>
<script>
import rapidDrugList from '@/pages/components/rapid-drug-list.vue';
export default {
components: {
rapidDrugList
},
data() {
return {};
}
};
</script>
<style>
page {
background-color: #f5f6f7;
}
</style>
<style lang="scss" scoped>
</style>
<template>
<view class="">
<u-navbar title="急速配药" :placeholder="true" @leftClick="onNavbarLeftClick"></u-navbar>
<consult-tabs @handleTabs="handleTabs" :active="active"></consult-tabs>
<!-- 病情概要 -->
<template v-if="active == 1">
<state-otline></state-otline>
</template>
<!-- 报告查询 -->
<template v-if="active == 3">
<report-search></report-search>
</template>
<!-- 全息视图 -->
<template v-if="active == 4">
<view class="" id="slide-cont"><holographic-view :top="top"></holographic-view></view>
</template>
</view>
</template>
<script>
import consultTabs from '@/pages/components/consult-tabs.vue';
import stateOtline from './components/state-otline.vue'; //病情概要
import reportSearch from './components/report-search.vue'; //病情概要
import holographicView from './components/holographic-view.vue'; //病情概要
export default {
components: {
consultTabs,
stateOtline,
reportSearch,
holographicView
},
data() {
return {
active: 4,
top: 0
};
},
onLoad() {
if (this.active == 4) {
this.$nextTick(() => {
wx.createSelectorQuery()
.select('#slide-cont')
.boundingClientRect(res => {
this.top = res.top;
})
.exec();
});
}
},
methods:{
handleTabs(val){
this.active=val;
}
}
};
</script>
<style>
page {
background-color: #f5f6f7;
}
</style>
<style lang="scss" scoped>
</style>
......@@ -143,8 +143,9 @@ export default {
openId: this.openId,
unionId: this.unionId
});
console.log(request)
if (request.code == 0) {
status = 0;
this.switchTab(request)
}
} else {
const request = await loginByMobile({
......@@ -155,24 +156,9 @@ export default {
unionId: this.unionId
});
if (request.code == 0) {
status = 0;
this.switchTab(request)
}
}
if (status == 0) {
uni.setStorageSync('accessToken', request.data.accessToken);
uni.setStorageSync('refreshToken', request.data.refreshToken);
uni.setStorageSync('userInfo', request.data.doctorAdmin);
uni.showToast({
title: '登录成功',
mask: true,
duration: 1500
});
setTimeout(() => {
uni.switchTab({
url: '/pages/tabbar/doctor-home'
});
}, 800);
}
})
.catch(errors => {
// uni.$u.toast('校验失败');
......@@ -222,6 +208,21 @@ export default {
uni.$u.toast('倒计时结束后再发送');
}
},
switchTab(request){
uni.setStorageSync('accessToken', request.data.accessToken);
uni.setStorageSync('refreshToken', request.data.refreshToken);
uni.setStorageSync('userInfo', request.data.doctorAdmin);
uni.showToast({
title: '登录成功',
mask: true,
duration: 1500
});
setTimeout(() => {
uni.switchTab({
url: '/pages/tabbar/doctor-home'
});
}, 800);
},
end() {
uni.$u.toast('倒计时结束');
},
......
<template>
<view class="">
<u-navbar :title="title" :placeholder="true" @leftClick="onNavbarLeftClick"></u-navbar>
<view class="cont">
<!-- -->
<view class="card mb18">
<report-head-title :title="'就诊人信息'" :icon="iconList[0]"></report-head-title>
<view class="patient-info">
<view class="flex items-center pb28">
<view class="label-color ft28 lht28 pr24">姓名:</view>
<view class="value-color ft28 lht28">李小明</view>
</view>
<view class="flex items-center pb28">
<view class="label-color ft28 lht28 pr24">性别:</view>
<view class="value-color ft28 lht28"></view>
</view>
<view class="flex items-center pb28">
<view class="label-color ft28 lht28 pr24">年龄:</view>
<view class="value-color ft28 lht28">20岁</view>
</view>
<view class="flex items-center pb28">
<view class="label-color ft28 lht28 pr24">卡号:</view>
<view class="value-color ft28 lht28">DF1234</view>
</view>
</view>
</view>
<!-- 检验信息 -->
<view class="card">
<report-head-title :title="'检验信息'" :icon="iconList[1]"></report-head-title>
<view class="patient-info">
<view class="flex items-center pb28">
<view class="label-color ft28 lht28 pr24">医院名称:</view>
<view class="value-color ft28 lht28">厦门弘爱医院</view>
</view>
<view class="flex items-center pb28">
<view class="label-color ft28 lht28 pr24">申请科室:</view>
<view class="value-color ft28 lht28">妇科门诊</view>
</view>
<view class="flex items-center pb28">
<view class="label-color ft28 lht28 pr24">检查日期:</view>
<view class="value-color ft28 lht28">2021-08-11岁</view>
</view>
<view class="flex items-center pb28">
<view class="label-color ft28 lht28 pr24">检查类型:</view>
<view class="value-color ft28 lht28">分子</view>
</view>
<view class="flex items-center pb28">
<view class="label-color ft28 lht28 pr24">检验医生:</view>
<view class="value-color ft28 lht28">李白</view>
</view>
<view class="flex items-center pb28">
<view class="label-color ft28 lht28 pr24">审核医生:</view>
<view class="value-color ft28 lht28">李白</view>
</view>
<view class="flex items-center pb28">
<view class="label-color ft28 lht28 pr24">审核时间:</view>
<view class="value-color ft28 lht28">2021-08-11</view>
</view>
</view>
</view>
<!-- 检验结果 -->
<view class="card">
<report-head-title :title="'检验信息'" :icon="iconList[2]"></report-head-title>
<view class="tabs flex">
<view class="tabs-item color333 font500 flex content-center items-center">检验项目</view>
<view class="tabs-item color333 font500 flex content-center items-center">结果</view>
<view class="tabs-item color333 font500 flex content-center items-center">参考值/单位</view>
</view>
<view class="result-list">
<view class="pl20 pt22 pr20 pb40 flex items-center content-between" v-for="i in 3" :key="i">
<view class="result-list-item flex content-center ft24 lht34">新型冠状病毒核酸(2019-</view>
<view class="result-list-item ft24 flex content-center lht34">阴性</view>
<view class="result-list-item ft24 flex content-center lht34">阴性</view>
</view>
</view>
</view>
<view class=""><button class="btn-all-report">查看报告</button></view>
<view class="btm-tips color999 ft24 lht34 flex content-center">
注:报告仅供参考, :表示偏高, :表示
</view>
</view>
</view>
</template>
<script>
import reportHeadTitle from '@/pages/patient/components/report-head-title.vue';
export default {
components: {
reportHeadTitle
},
data() {
return {
title: '李小明的彩超报告',
iconList: ['/static/image/icon2.png', '/static/image/icon3.png', '/static/image/icon4.png']
};
}
};
</script>
<style>
page {
background-color: #f5f6f7;
}
</style>
<style lang="scss" scoped>
.cont {
padding: 20rpx 26rpx;
.head-info {
background: #fff;
height: 96rpx;
padding: 0 20rpx;
border-bottom: 2rpx solid #f5f6f7;
border-radius: 8rpx 8rpx 0 0;
}
.patient-info {
background: #fff;
padding: 26rpx 28rpx 40rpx 28rpx;
border-radius: 0 0 8rpx 8rpx;
}
.tabs {
height: 80rpx;
border-bottom: 2rpx solid #f5f6f7;
.tabs-item {
flex: 1;
}
}
.result-list {
.result-list-item {
width: 194rpx;
height: 100%;
color: #656975;
}
}
.btn-all-report {
background: linear-gradient(135deg, #0b57d2 0%, #77a5ff 100%);
width: 702rpx;
height: 84rpx;
margin-top: 40rpx;
border-radius: 8rpx;
font-weight: 500;
color: #ffffff;
font-size: 32rpx;
}
.btm-tips{
padding-top: 60rpx;
}
}
.label-color {
color: #656975;
}
.value-color {
color: #333333;
}
</style>
<template>
<view class="">
<!-- 头部用户信息 -->
<view class="bgfff pl24 pr24"><head-info :info="info"></head-info></view>
<view class="">
<view class="paitent-cont ml26 mr26 mt20">
<view class=" head ft32 color333 font500 pl28 flex items-center">病人主诉</view>
<view class="ft26 lht28 pt30 flex items-center">
<view class="" style="color: #656975; width: 130rpx;">身高体重:</view>
<view class="color333 pl12">123cm65kg</view>
</view>
<view class="ft26 lht28 pt26 flex items-center">
<view class="" style="color: #656975;width: 130rpx;">是否怀孕:</view>
<view class="color333 pl12"></view>
</view>
<view class="ft26 lht28 pt26 flex items-center">
<view class="" style="color: #656975;">患病时长:</view>
<view class="color333 pl12">一年以上</view>
</view>
<view class="ft26 lht28 pt26 flex items-start">
<view class="" style="color: #656975;width: 130rpx; flex-shrink: 0;">病情描述:</view>
<view class="color333 pl12">糖尿病时长期存在的高血糖,导致各种组织,特别是眼、的肾、心脏、血管、神经的慢性损害、功能障碍。</view>
</view>
<view class="ft26 lht28 pt26 flex items-center">
<view class="" style="color: #656975;width: 130rpx;">病史:</view>
<view class="color333 pl12"></view>
</view>
<view class="ft26 lht28 pt26 flex items-center">
<view class="" style="color: #656975;width: 130rpx;">过敏史:</view>
<view class="color333 pl12"></view>
</view>
<view class="ft26 lht28 pt26 flex items-center">
<view class="" style="color: #656975;width: 130rpx;">相关图片:</view>
<view class="img-list color333 pl12 flex"><view class="img-item mr16" v-for="i in 2"></view></view>
</view>
<view class="mb32" style="padding-top: 48rpx;"><text class="tags">历史处方药品</text></view>
<view class="ft26 lht28 pb40" v-for="i in 2" :key="i">
<view class="drug-title color333">[甲]维胺酯胶囊 23mg*24粒×4盒备份 2</view>
<view class="drug-explain pt16" style="color: #656975;">用法:口服,3次/日</view>
</view>
</view>
<view class="paitent-cont ml26 mr26 mt20">
<view class=" head ft32 color333 font500 pl28 flex items-center">订单详情</view>
<view class="ft26 lht28 pt26 flex items-center">
<view class="" style="color: #656975;width: 130rpx;">业务类型:</view>
<view class="color333 pl12">图文</view>
</view>
<view class="ft26 lht28 pt26 flex items-center">
<view class="" style="color: #656975;width: 130rpx;">患者类型:</view>
<view class="color333 pl12">自费</view>
</view>
<view class="ft26 lht28 pt26 flex items-center">
<view class="" style="color: #656975;width: 130rpx;">订单号码:</view>
<view class="color333 pl12">6271467932614762916</view>
</view>
<view class="ft26 lht28 pt26 flex items-center">
<view class="" style="color: #656975;width: 130rpx;">下单时间:</view>
<view class="color333 pl12">2021-01-01 10:00:00</view>
</view>
<view class="ft26 lht28 pt26 pb40 flex items-center">
<view class="" style="color: #656975;width: 130rpx;">支付费用:</view>
<view class="color333 pl12" style="color: #EF2B2D;">¥1.00</view>
</view>
</view>
<view class="mt48">
<view class="btm-tips flex items-center content-center">本次问诊未开始,需接诊之后开始计时</view>
<view class="btm-btn flex content-between ">
<view class="left-btn flex content-center items-center" @click="selectShow = true">退诊并退款</view>
<view class="right-btn flex content-center items-center">接诊</view>
</view>
</view>
</view>
<!-- 选择退诊理由 -->
<u-popup :show="selectShow" round="12" mode="bottom" @close="selectclose" @open="selectOpen" closeable>
<view class="select-title ft32 font500 pl24 flex items-center">请填写或选择取消理由</view>
<view class="select-cont pl24 pr24">
<view class="select-item ft28 flex items-center" v-for="(item, index) in selectList" :key="index" @click="handleSelect(item)">
<image class="mr10" style="width: 30rpx; height: 32rpx;" :src="item.image" mode="" v-if="item.image"></image>
{{ item.title }}
</view>
</view>
</u-popup>
<!-- 退诊 -->
<u-popup :show="show" mode="center" @close="close" @open="open" closeable>
<view class="modal-card" style="height: 672rpx;">
<view class="head-title font700 ft28 flex content-center pb24 pt44">请说明拒绝原因</view>
<view class="cont-card mt24"><u--textarea v-model="content" placeholderClass="placeholderClass" height="390rpx" border="none" maxlength="50" placeholder="请输入原因…"></u--textarea></view>
<view class="radio-reason flex items-center pt20">
<image style="width: 28rpx; height: 28rpx;" src="/static/image/radio1.png" mode="" v-if="reasonSte" @click="reasonSte = false"></image>
<image style="width: 28rpx; height: 28rpx;" src="/static/image/radio2.png" mode="" v-else @click="reasonSte = true"></image>
<view class="pl8 ft24 lht24 color333 ft32" style="color: #004AC2;">保存为退诊理由</view>
</view>
<view class="btm-opt flex">
<view class="cancel flex items-center content-center color666" style="flex: 1;" @click="close()">取消</view>
<view class="submit flex items-center content-center" style="color: #003893;flex:1" @click="close()">确定</view>
</view>
</view>
</u-popup>
</view>
</template>
<script>
import headInfo from '@/pages/components/patient-head-info.vue';
export default {
components: {
headInfo
},
data() {
return {
selectShow: true,
show: false,
title: '请说明拒绝原因',
content: '',
value: '其他',
reasonSte: true, //保存为确诊理由状态
selectList: [
{
name: '选项一'
},
{
name: '选项二禁用'
},
{
name: '开启load加载' //开启后文字不显示
}
],
isSelect: false, //拒绝下拉框状态
info: {},
selectList: [
{
title: '手动填写拒绝理由',
image: '/static/image/edit.png'
},
{
title: '不属于我的诊疗范围',
image: ''
},
{
title: '很抱歉,暂无时间处理',
image: ''
},
{
title: '没空没空没空没空',
image: ''
}
]
};
},
methods: {
submitOrder() {
uni.showModal({
content: '是否确认订单?',
success: res => {
if (res.confirm) {
}
}
});
},
// 选中拒绝的下拉框
select(val) {
this.value = val.name;
this.isSelect = false;
},
// 选择拒绝的理由项
handleSelect(val){
this.selectclose();
if(val.image){
this.open()
}
},
open() {
this.show = true;
},
close() {
this.show = false;
},
selectOpen() {},
selectclose() {
this.selectShow = false;
}
}
};
</script>
<style>
page {
background-color: #f5f6f7;
}
</style>
<style lang="scss" scoped>
.placeholderClass{
background: #eee;
}
.paitent-cont {
padding: 0 24rpx;
background-color: #fff;
.head {
height: 96rpx;
border-bottom: 2rpx solid #f5f6f7;
}
.img-item {
width: 120rpx;
height: 120rpx;
border-radius: 4rpx;
overflow: hidden;
background: #eee;
image {
width: 100%;
height: 100%;
}
}
}
.modal-card {
width: 590rpx;
height: 720rpx;
// background: #ffffff;
padding: 0 30rpx;
border-radius: 8rpx;
overflow: hidden;
}
.btm-opt {
position: absolute;
background: #fff;
left: 0;
bottom: 0;
width: 100%;
height: 88rpx;
border-top: 2rpx solid #f1f1f1;
.cancel {
}
}
.tags {
background: #eff4fb;
padding: 10rpx 14rpx;
font-size: 28rpx;
color: #1c62d5;
border-radius: 4rpx;
}
.btm-tips {
background: #e5ecf8;
height: 56rpx;
color: #004ac2;
font-size: 24rpx;
}
.btm-btn {
// position: absolute;
// bottom: 0;
// left: 0;
background: #fff;
width: 100%;
height: 130rpx;
box-shadow: 0px -4px 12px 0px rgba(0, 0, 0, 0.08);
padding: 32rpx 24rpx 0 24rpx;
.order-btn {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 84rpx;
background: linear-gradient(135deg, #0b57d2 0%, #77a5ff 100%);
border-radius: 8rpx;
color: #fff;
}
.left-btn,
.right-btn {
width: 336rpx;
height: 84rpx;
border-radius: 8px;
}
.left-btn {
background: #ffffff;
border-radius: 8rpx;
border: 2rpx solid #f1f1f1;
color: #333333;
font-size: 32rpx;
}
.right-btn {
background: linear-gradient(135deg, #0b57d2 0%, #77a5ff 100%);
border-radius: 8rpx;
font-weight: 500;
color: #ffffff;
font-size: 32rpx;
}
}
.select-title {
height: 96rpx;
border-bottom: 2rpx solid #f5f6f7;
}
.select-cont {
.select-item {
height: 88rpx;
color: #4e4f50;
border-bottom: 2rpx solid #f5f6f7;
}
}
</style>
<template>
<view class="">
<view class="head-info flex items-center flex content-between">
<view class="flex">
<image style="width: 44rpx; height: 44rpx;" :src="icon" mode=""></image>
<view class="head-title color333 ft32 font500 pl16">
{{title}}
</view>
</view>
<view class="arrow-right">
<image style="width: 26rpx;height: 14rpx;" src="/static/image/arrow-down.png" mode=""></image>
</view>
</view>
</view>
</template>
<script>
export default{
props:{
title:{
type:String,
default:()=>{
return ''
}
},
icon:{
type:String,
default:()=>{
return ''
}
}
},
data(){
return{
}
}
}
</script>
<style lang="scss" scoped>
.head-info{
background: #fff;
height: 96rpx;
padding: 0 20rpx;
border-bottom: 2rpx solid #F5F6F7;
border-radius: 8rpx 8rpx 0 0;
}
.patient-info{
background: #fff;
padding: 26rpx 28rpx 40rpx 28rpx;
}
</style>
\ No newline at end of file
<template>
<view class="report-list flex items-center content-between">
<view class="flex items-center">
<image class="report-img" src="/static/image/info3.png" mode=""></image>
<view class="report-title color333 ft28 font500 pl12">
B超
</view>
</view>
<view class="create-time ft26 color999">
2020-01-01 10:00:00
</view>
</view>
</template>
<script>
</script>
<style lang="scss" scoped>
.report-list{
background: #fff;
padding: 0 30rpx;
height: 96rpx;
border-bottom: 2rpx solid #F5F6F7;
.report-img{
width: 44rpx;
height: 44rpx;
}
}
</style>
\ No newline at end of file
<template>
<view class="">
<u-navbar title="咨询记录" :placeholder="true" leftIconColor="#fff"></u-navbar>
<view class="patient-list mt16">
<view class="patient-item flex items-center content-between" v-for="i in 3">
<view class="flex items-center">
<view class="patient-img"></view>
<view class="pl20">
<view class="flex">
<view class="patient-name color333 font500 ft32 lht28">李小明</view>
<text class="patient-tag ml12">女|20岁</text>
</view>
<view class="date-time ft24 pt16 lht24">2022-04-24 17:48:00</view>
</view>
</view>
<view class="flex column">
<text class="tags ky ">开药</text>
<text class="tags dpj mt16">待评价</text>
</view>
</view>
</view>
</view>
</template>
<script>
</script>
<style>
page {
background-color: #f5f6f7;
}
</style>
<style lang="scss" scoped>
.patient-list {
background: #fff;
.patient-item {
padding: 0 28rpx;
height: 148rpx;
border-bottom: 2rpx solid #F5F6F7;
.patient-img {
width: 80rpx;
height: 80rpx;
border-radius: 50%;
background: #eee;
}
.patient-tag {
background: #eff4fb;
font-size: 20rpx;
padding: 4rpx 8rpx;
color: #1c62d5;
border-radius: 2rpx;
}
.date-time{
color: #A8AAB0;
}
.tags{
padding: 2rpx 6rpx;
border-radius: 4rpx;
font-size: 20rpx
}
}
}
.ky{
background: linear-gradient(135deg, #05DDBD 0%, #32DFC2 100%);
color: #fff;
}
.dpj{
border: 2rpx solid #004AC2;
color: #004AC2;
}
</style>
<template>
<view class="">
<view class="">
</view>
</view>
</template>
<script>
export default{
data(){
return{
}
},
methods:{
}
}
</script>
<style>
</style>
\ No newline at end of file
<template>
<view class="">
<u-navbar title="分组管理" :placeholder="true" leftIconColor="#fff"></u-navbar>
<view class="head-cont"><view class="add-btn flex items-center content-center" @click="open">+添加分组</view></view>
<view class="cont-list mt20">
<view class="cont-list-item pl24 flex items-center color333 ft30">默认关注</view>
<view class="cont-list-item pl24 flex items-center color333 ft30" style="border:0;">分组名称名称</view>
</view>
<!-- 新增弹框 -->
<u-popup :show="addShow" :closeOnClickOverlay="true" closeable :round="8" mode="center" @close="close" @open="open">
<view class="modal">
<view class=" flex content-center"><view class="moddal-title color333 ft28 lht44 font500 pt44 pb24">添加分组</view></view>
<u--input type="text" value="" border="none" :customStyle="{background:'#F5F6F7','height':'88rpx','padding':'0 20rpx'}" fontSize="28rpx" :placeholderStyle="{'color':'#999'}" placeholder="请输入分组名称" />
<view class="btm-btn flex mt32">
<view class="cancel flex content-center items-center" @click="close">
取消
</view>
<view class="submit flex content-center items-center" @click="handleAdd">
确定
</view>
</view>
</view>
</u-popup>
</view>
</template>
<script>
export default {
data() {
return {
addShow: false
};
},
methods: {
handleAdd(){
this.close();
},
open() {
this.addShow=true;
},
close() {
this.addShow = false;
// console.log('close');
}
}
};
</script>
<style>
page {
background-color: #f5f6f7;
}
</style>
<style lang="scss" scoped>
.head-cont {
background: #fff;
padding: 20rpx 24rpx;
.add-btn {
background: linear-gradient(135deg, #0b57d2 0%, #77a5ff 100%);
width: 702rpx;
height: 84rpx;
padding: 0 24rpx;
border-radius: 8rpx;
font-size: 32rpx;
font-weight: 500;
color: #fff;
}
}
.cont-list {
background: #fff;
.cont-list-item {
height: 96rpx;
border-bottom: 2rpx solid #f5f6f7;
}
}
.modal {
width: 590rpx;
height: 322rpx;
padding: 0 24rpx;
.btm-btn{
display: flex;
height: 88rpx;
border-top: 2rpx solid #F1F1F1;
}
.cancel{
flex: 1;
}
.submit{
flex: 1;
color: #003893;
}
}
/deep/.u-safe-bottom{
display: none;
}
</style>
<template>
<view class="">
<u-navbar title="患者基本信息" :placeholder="true" @leftClick="onNavbarLeftClick"></u-navbar>
<view class="pl24 pr24">
<view class="info-list flex items-center">
<view class="info-title">姓名</view>
<view class="info-name">李小明</view>
</view>
<view class="info-list flex items-center">
<view class="info-title">性别</view>
<view class="info-name"></view>
</view>
<view class="info-list flex items-center">
<view class="info-title">年龄</view>
<view class="info-name">20岁</view>
</view>
</view>
<view class="slide"></view>
<view class="pl24 pr24">
<view class="info-list flex items-center">
<view class="info-title">身份证号</view>
<view class="info-name">34567787896789</view>
</view>
<view class="info-list flex items-center">
<view class="info-title">就诊卡类型</view>
<view class="info-name">34567787896789</view>
</view>
<view class="info-list flex items-center">
<view class="info-title">就诊卡号</view>
<view class="info-name">193929_DF4944606</view>
</view>
</view>
<view class="btm-btn">
<view class="submit-btn flex content-center items-center">
确定开方
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {};
}
};
</script>
<style></style>
<style lang="scss" scoped>
.info-list {
background: #fff;
padding: 36rpx 0 32rpx 0;
font-size: 28rpx;
line-height: 32rpx;
border-bottom: 2rpx solid #f6f6f6;
.info-title {
width: 192rpx;
color: #666666;
}
.info.name {
color: #666666;
}
}
.slide {
background: #f5f6f7;
width: 100%;
height: 16rpx;
}
.btm-btn{
position: absolute;
bottom: 0;
left: 0;
background: #fff;
width: 100%;
height: 132rpx;
padding: 32rpx 24rpx 0 24rpx;
box-shadow: 0rpx -4rpx 12rpx 0rpx rgba(0, 0, 0, 0.08);
.submit-btn{
background: linear-gradient(135deg, #0B57D2 0%, #77A5FF 100%);
width: 702rpx;
height: 84rpx;
border-radius: 8rpx;
font-size: 32rpx;
font-weight: 500;
color: #FFFFFF;
}
}
</style>
<template>
<view class="">
<u-navbar :title="title" :placeholder="true" @leftClick="onNavbarLeftClick"></u-navbar>
<!-- 头部tab项 -->
<view class=""><consult-tbs :active="active" @handleTabs="handleTabs"></consult-tbs></view>
<!-- 病情概要 -->
<view class=" " v-if="active==1">
<outline></outline>
</view>
</view>
</template>
<script>
import consultTbs from '@/pages/components/consult-tabs.vue'; //头部tab项
import outline from '../patient/components/outline.vue';
export default {
components: {
consultTbs,
outline
},
data() {
return {
title: '李小名',
active: 1
};
},
methods: {
handleTabs(val) {
this.active = val;
}
}
};
</script>
<style></style>
<template>
<view class="">
<u-navbar :title="title" :placeholder="true"></u-navbar>
<view class="cont">
<view class="card">
<report-head-title :title="'就诊人信息'" :icon="iconList[0]"></report-head-title>
<view class="patient-info">
<view class="flex items-center pb28">
<view class="label-color ft28 lht28 pr24">姓名:</view>
<view class="value-color ft28 lht28">李小明</view>
</view>
<view class="flex items-center pb28">
<view class="label-color ft28 lht28 pr24">性别:</view>
<view class="value-color ft28 lht28"></view>
</view>
<view class="flex items-center pb28">
<view class="label-color ft28 lht28 pr24">年龄:</view>
<view class="value-color ft28 lht28">20岁</view>
</view>
<view class="flex items-center pb28">
<view class="label-color ft28 lht28 pr24">卡号:</view>
<view class="value-color ft28 lht28">DF1234</view>
</view>
</view>
</view>
<!-- 检验信息 -->
<view class="card mt16">
<report-head-title :title="'检验信息'" :icon="iconList[1]"></report-head-title>
<view class="patient-info">
<view class="flex items-center pb28">
<view class="label-color ft28 lht28 pr24">医院名称:</view>
<view class="value-color ft28 lht28">厦门弘爱医院</view>
</view>
<view class="flex items-center pb28">
<view class="label-color ft28 lht28 pr24">申请科室:</view>
<view class="value-color ft28 lht28">妇科门诊</view>
</view>
<view class="flex items-center pb28">
<view class="label-color ft28 lht28 pr24">检查日期:</view>
<view class="value-color ft28 lht28">2021-08-11岁</view>
</view>
<view class="flex items-center pb28">
<view class="label-color ft28 lht28 pr24">检查类型:</view>
<view class="value-color ft28 lht28">分子</view>
</view>
<view class="flex items-center pb28">
<view class="label-color ft28 lht28 pr24">检验医生:</view>
<view class="value-color ft28 lht28">李白</view>
</view>
<view class="flex items-center pb28">
<view class="label-color ft28 lht28 pr24">审核医生:</view>
<view class="value-color ft28 lht28">李白</view>
</view>
<view class="flex items-center pb28">
<view class="label-color ft28 lht28 pr24">审核时间:</view>
<view class="value-color ft28 lht28">2021-08-11</view>
</view>
</view>
</view>
<!-- 检查所见 -->
<view class="card mt16">
<report-head-title :title="'检查所见'" :icon="iconList[1]"></report-head-title>
<view class="patient-info ft28 color333 lht40">
糖尿病时长期存在的高血糖,导致各种组织,特别是眼、的肾、心脏、血管、神经的慢性损害、功能障碍
</view>
</view>
<!-- 检查结论 -->
<view class="card mt16">
<report-head-title :title="'检查结论'" :icon="iconList[1]"></report-head-title>
<view class="patient-info ft28 color333 lht40">
糖尿病时长期存在的高血糖,导致各种组织,特别是眼、的肾、心脏、血管、神经的慢性损害、功能障碍
</view>
</view>
</view>
</view>
</template>
<script>
import reportHeadTitle from '@/pages/patient/components/report-head-title.vue';
export default {
components: {
reportHeadTitle
},
data() {
return {
title: '李小霞的彩超报告',
iconList: ['/static/image/icon2.png', '/static/image/icon3.png', '/static/image/icon4.png'],
};
},
methods: {}
};
</script>
<style>
page {
background-color: #f5f6f7;
}
</style>
<style lang="scss" scoped>
.cont {
padding: 20rpx 26rpx;
.patient-info {
background: #fff;
padding: 26rpx 28rpx 40rpx 28rpx;
border-radius: 0 0 8rpx 8rpx;
}
.patient-cont{
}
}
.label-color {
color: #656975;
}
.value-color {
color: #333333;
}
</style>
<template>
<view class="">
<u-navbar title="报告查询" :placeholder="true"></u-navbar>
<view class="head-patient flex items-center">
<view class="head-patient-img"></view>
<view class="patient-name color333 ft32 font500 pl20 pr12">李小明</view>
<text class="patient-tag">女|20岁</text>
</view>
<view class="head-tbs flex items-center mb16">
<text class="tabs-item ft30 ft26 color666 mr20 " :class="active == 1 ? 'active' : ''" @click="handleTbs(1)">检查报告</text>
<text class="tabs-item ft30 ft26 color666 mr20 " :class="active == 2 ? 'active' : ''" @click="handleTbs(2)">体验报告</text>
<text class="tabs-item ft30 ft26 color666 mr20" :class="active == 3 ? 'active' : ''" @click="handleTbs(3)">体检报告</text>
</view>
<template>
<report-item></report-item>
</template>
</view>
</template>
<script>
import reportItem from '@/pages/patient/components/report-item.vue';
export default {
components:{
reportItem
},
data() {
return {
active: 1
};
},
methods: {
handleTbs(val) {
this.active = val;
}
}
};
</script>
<style>
page{
background: #F5F6F7;
}
</style>
<style lang="scss" scoped>
.head-patient {
background-color: #fff;
height: 90rpx;
padding: 0 30rpx;
border-bottom: 2rpx solid #f5f6f7;
.head-patient-img {
width: 60rpx;
height: 60rpx;
background: #eee;
border-radius: 50%;
overflow: hidden;
image {
width: 100%;
height: 100%;
}
}
.patient-tag {
background-color: #eff4fb;
padding: 4rpx 8rpx;
background: #eff4fb;
border-radius: 2rpx;
color: #1c62d5;
font-size: 20rpx;
}
}
.head-tbs {
padding: 0 30rpx;
background: #fff;
height: 88rpx;
border-top: 2rpx solid #f5f6f7;
.tabs-item {
padding: 6rpx 16rpx;
border-radius: 26rpx;
}
.active {
background-color: #eff4fb;
color: #004ac2;
}
}
</style>
<template>
<view class="">
<!-- 头部内容 -->
<view class="custom_head" :style="{ height: navHeight + 'px' }">
<view class="flex items-center" :style="{ 'padding-top': navTop + 'px' }">
<view class="head-logo"></view>
<view class="">
<view class="head-title pl20 ft34 colorfff pr28">建发健康平台</view>
<view class="head-title pl20 ft34 colorfff pr28">建发健康平台</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default{
data(){
return{
navHeight: this.navHeight, //导航栏高度
navTop: this.navTop, //胶囊距离顶部的高度
}
}
}
</script>
<style lang="scss" scoped>
.custom_head {
padding: 0 30rpx;
width: 750rpx;
background: #004bb9;
color: #fff;
position: fixed;
top: 0;
z-index: 999;
.head-logo {
width: 62rpx;
height: 62rpx;
background: #fff;
border-radius: 50%;
overflow: hidden;
}
}
</style>
<template>
</template>
<script>
</script>
<style>
</style>
\ No newline at end of file
<template>
<view class="">
<view class="custom_head" :style="{ height: navHeight + 'px' }">
<view class="flex items-center" :style="{ 'padding-top': navTop + 'px' }">
<view class="head-tabs pl8 flex">
<view class="head-tabs-item color666 ft30 font500" :class="activeSte == 1 ? 'active-color' : ''" @click.stop="handleTbs(1)">
网络
<view class="btm-slide" v-if="activeSte == 1"></view>
</view>
<view class="head-tabs-item color666 ft30 font500" style="margin-left: 54rpx;" :class="activeSte == 2 ? 'active-color' : ''" @click.stop="handleTbs(2)">
关注
<view class="btm-slide" v-if="activeSte == 2"></view>
</view>
</view>
</view>
</view>
<!-- 日期 -->
<view class="head-time flex items-center" :style="{ 'margin-top': navHeight + 'px' }" v-if="activeSte == 1">
<view class="head-time-btn ft26 flex content-center items-center" @click="showTime = true">
<view class="">2022-04-16</view>
<view class="pl10 pr10">-</view>
<view class="">2022-04-16</view>
<image class="ml10" style="width: 16rpx;height: 16rpx;" src="/static/image/tabbar/arrow-down.png" mode=""></image>
</view>
</view>
<!-- 患者列表 -->
<view class="" v-if="activeSte == 1">
<patient-item></patient-item>
</view>
<view class="" :style="{ 'margin-top': navHeight + 'px' }">
<view class="head pt20 pb20"><view id="add-btn" class="add-btn ml24 flex items-center content-center ">分组管理</view></view>
<view class="" id="slide-cont" v-if="activeSte == 2"><my-attention :top="navHeight"></my-attention></view>
</view>
<!-- 日期 -->
<u-calendar :show="showTime" :closeOnClickOverlay="true" :mode="mode" @close="closeTime" @confirm="confirm"></u-calendar>
</view>
</template>
<script>
import patientItem from '@/pages/components/patient-Item.vue'; //我的患者
import myAttention from '@/pages/components/myAttention.vue'; //我的关注
export default {
components: {
patientItem,
myAttention
},
data() {
return {
activeSte: 2,
navHeight: this.navHeight, //导航栏高度
navTop: this.navTop, //胶囊距离顶部的高度
showTime: false,
mode: 'range',
top: 0
};
},
onLoad() {
if (this.activeSte == 2) {
this.$nextTick(() => {
wx.createSelectorQuery()
.select('#slide-cont')
.boundingClientRect(res => {
this.top = res.top;
})
.exec();
});
}
},
methods: {
handleTbs(val) {
this.activeSte = val;
},
// 选中的日期范围
confirm(val) {
console.log(val);
this.closeTime();
},
// 关闭日期
closeTime() {
this.showTime = false;
}
}
};
</script>
<style>
page {
background-color: #f5f6f7;
}
</style>
<style lang="scss" scoped>
.add-btn {
width: 702rpx;
height: 84rpx;
background: linear-gradient(135deg, #0b57d2 0%, #77a5ff 100%);
border-radius: 8rpx;
color: #ffffff;
font-size: 32rpx;
}
.custom_head {
padding: 0 30rpx;
width: 750rpx;
background: #fff;
color: #fff;
position: fixed;
top: 0;
z-index: 999;
.head-tabs {
height: 100%;
background: #fff;
.head-tabs-item {
position: relative;
.btm-slide {
position: absolute;
bottom: -24rpx;
left: 50%;
transform: translateX(-50%);
width: 40rpx;
height: 6rpx;
background: linear-gradient(270deg, #77abff 0%, #035ceb 100%);
border-radius: 4rpx;
}
}
}
}
.head-time {
padding: 0 24rpx;
width: 100%;
height: 90rpx;
background: #fff;
.head-time-btn {
width: 400rpx;
height: 44rpx;
background: #eff4fb;
border-radius: 28rpx;
color: #004ac2;
}
}
.active-color {
color: #000000;
}
.tags {
background: linear-gradient(135deg, #05ddbd 0%, #32dfc2 100%);
padding: 2rpx 6rpx;
border-radius: 4rpx;
font-size: 20rpx;
color: #ffffff;
}
.btm-border {
padding: 30rpx 0;
border-bottom: 2rpx solid #f5f6f7 !important;
}
.img {
width: 32rpx;
height: 32rpx;
}
.check-tags {
border: 2rpx solid #004ac2 !important;
background: #ffffff !important;
color: #004ac2;
}
.img-list {
.img-item {
width: 120rpx;
height: 120rpx;
border-radius: 4rpx;
background: #eee;
}
}
.slide-left-active {
background: #ffffff !important;
color: #004ac2 !important;
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment