Compare commits

...

3 Commits

Author SHA1 Message Date
8631652d96 调整样式 2026-01-09 17:22:40 +08:00
bcbb563b55 调整ui样式 2026-01-09 14:53:42 +08:00
650c883073 更新ui包 2026-01-09 14:46:47 +08:00
13 changed files with 285 additions and 132 deletions

View File

@ -1,19 +1,20 @@
<template>
<view class="card">
<view class="header">
<view v-if="$slots.header" class="header">
<slot name="header"></slot>
</view>
<view class="default">
<slot></slot>
</view>
<view class="footer">
<view v-if="$slots.footer" class="footer">
<slot name="footer"></slot>
</view>
</view>
</template>
<style lang="scss" scoped>
@import "/static/css/variables.scss";
.card {
margin: 0 20rpx 25rpx;
margin: 0 25rpx 25rpx;
font-size: 24rpx;
overflow: hidden;
border-radius: 15rpx;
@ -21,7 +22,7 @@
color: #656565;
.header {
padding: 20rpx;
background-color: #4d80f0;
background-color: $blue;
border-radius: 15rpx 15rpx 0 0;
color: #fff;
}

View File

@ -1,11 +1,10 @@
import App from './App'
import { createSSRApp } from 'vue'
import pinia from './store'
import myComponents from "@/components"
import myComponents from "@/components"
export function createApp() {
const app = createSSRApp(App)
app.use(myComponents )
app.use(myComponents)
app.use(pinia)
return {
app

View File

@ -2,7 +2,7 @@
"dependencies": {
"pinia": "^3.0.4",
"pinia-plugin-persistedstate": "^4.7.1",
"wot-design-uni": "^1.13.0"
"wot-design-uni": "^1.14.0"
},
"devDependencies": {
"vue": "^3.5.26"

View File

@ -7,6 +7,12 @@
},
"pages": [
{
"path": "pages/patient/patientAddTask/patientAddTask",
"style": {
"navigationBarTitleText": "新增任务"
}
},
{
"path": "pages/brand/brandDetail/brandDetail",
"style": {

View File

@ -5,10 +5,10 @@
<wd-search placeholder="请输入搜索内容" cancel-txt="搜索"/>
</view>
<wd-gap height="100rpx"></wd-gap>
<wd-card v-for="item in 5" :key="item">
<template #title>
<Card v-for="item in 5" :key="item">
<template #header>
<view class="title">
<wd-img width="130rpx" height="130rpx" src="/static/logo.png"></wd-img>
<wd-avatar src="/static/logo.png" />
<view>
<view>产品型号</view>
<view>是否抗磁</view>
@ -19,7 +19,7 @@
<view>型号描述</view>
<view class="text">啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊</view>
</view>
</wd-card>
</Card>
</view>
</template>
<style lang="scss" scoped>

View File

@ -7,15 +7,16 @@
</script>
<template>
<view class="main">
<view @tap="clickDetail" v-for="item in 5" :key="item">
<wd-card title="分流厂家名称">
<view class="content">
描述
</view>
</wd-card>
</view>
<Card v-for="item in 5" :key="item" @tap="clickDetail">
<template #header>
<view>分流厂家名称</view>
</template>
<view class="content">
描述
</view>
</Card>
</view>
<Loadmore></Loadmore>
<LoadMore></LoadMore>
</template>
<style lang="scss" scoped>
.content {

View File

@ -18,6 +18,9 @@ let handleClose = () => {
showModel.value = false;
};
const showLogin = () => {
if (userStore.isLogin) {
return
}
showModel.value = true;
}
//
@ -44,6 +47,7 @@ const clickMenu = (value) => {
break;
default:
toast.warning('功能开发中')
break;
}
}
@ -106,7 +110,10 @@ const logout = async() => {
<view class="bottom shadow">
<view></view>
<view></view>
<view>我的</view>
<view>
<wd-icon name="user" size="40rpx" />
<view>我的</view>
</view>
</view>
</view>
<!-- 登录弹出框 -->
@ -128,7 +135,7 @@ const logout = async() => {
box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.04);
border: 1rpx solid #e8f2ff;
background-color: #fff;
border-radius: 12rpx;
border-radius: 14rpx;
}
.header {
display: flex;
@ -215,16 +222,12 @@ const logout = async() => {
bottom: 2rpx;
left: 0;
display: flex;
padding: 15rpx;
width: 100%;
height: 80rpx;
line-height: 80rpx;
text-align: center;
font-size: 28rpx;
view {
width: 33%;
border-right: 1px solid #dddddd;
&:last-child { border: none; }
font-size: 23rpx;
>view {
width: 33%;
}
}
}

View File

@ -0,0 +1,164 @@
<script setup>
import { ref } from 'vue';
const columns = ref(["患者1", "患者2", "患者3", "患者4"])
const options = ref(["选项1", "选项2", "选项3", "选项4"])
const value = ref("患者1")
const date = ref(Date.now())
const formatValue = ref("")
const btnsValue = ref([])
const handleDate = ({ value }) => {
console.log(66, value);
formatValue.value = new Date(value).toJSON().split("T")[0]
}
</script>
<template>
<view class="box">
<view>
<view class="title">选择患者</view>
<view>
<wd-picker v-model="value" :columns="columns" title="选择患者" label="请选择患者" confirm-button-text="确定" />
</view>
</view>
<view>
<view class="title">患者信息</view>
<view class="item">
<view>
<view>住院号</view>
<view>00000</view>
</view>
<view>
<view>姓名</view>
<view>00000</view>
</view>
<view>
<view>手术名称</view>
<view>00000</view>
</view>
<view>
<view>手术日期</view>
<view>00000</view>
</view>
</view>
</view>
<view>
<view class="title">植入物信息</view>
<view class="item">
<view>
<view>植入物名称</view>
<view>11111</view>
</view>
<view>
<view>植入物型号</view>
<view>11111</view>
</view>
<view>
<view>植入物时间</view>
<view>11111</view>
</view>
</view>
</view>
<view>
<view class="title">分流调节计划</view>
<view class="item">
<view>
<view>计划调节时间</view>
<wd-calendar v-model="date" @confirm="handleDate">
<view v-if="formatValue">{{ formatValue }}</view>
<wd-button v-else size="small">选择日期</wd-button>
</wd-calendar>
</view>
<view>
<view>目标压力</view>
<view>
<wd-picker v-model="value" :columns="columns" confirm-button-text="确定" />
</view>
</view>
<view class="cause">
<view>
<view>调压原因</view>
<view>
<wd-drop-menu direction="up">
<wd-drop-menu-item title="筛选" ref="dropMenu">
<wd-checkbox-group v-model="btnsValue" cell shape="button">
<wd-checkbox v-for="item in options" :key="item" :modelValue="item" shape="button">{{ item }}</wd-checkbox>
</wd-checkbox-group>
</wd-drop-menu-item>
</wd-drop-menu>
</view>
</view>
<view class="tag">
<wd-tag type="primary" round v-for="tag in btnsValue" :key="tag">{{ tag }}</wd-tag>
</view>
</view>
<view>
<view>是否加急</view>
<view>
<wd-checkbox :modelValue="true" shape="button">加急</wd-checkbox>
</view>
</view>
<view>
<view>院内执行</view>
<view>
<wd-checkbox :modelValue="true" shape="button">执行</wd-checkbox>
</view>
</view>
</view>
</view>
<view class="file">
<view>任务文件</view>
<view>
<wd-upload image-mode="aspectFill" :action="''"></wd-upload>
</view>
</view>
<view class="save">
<wd-button :block="true">保存</wd-button>
</view>
</view>
</template>
<style lang="scss" scoped>
@import "/static/css/variables.scss";
.title {
display: flex;
font-weight: bold;
padding: 15rpx 20rpx;
font-size: 25rpx;
align-items: center;
background-color: $blue;
color: #fff;
}
.item {
>view {
display: flex;
align-items: center;
justify-content: space-between;
padding: 25rpx;
border-bottom: 1px solid #e0e0e0;
font-size: 28rpx;
}
.cause {
display: block;
transition: all 0.3s ease;
>view {
display: flex;
align-items: center;
justify-content: space-between;
}
.tag {
gap: 15rpx;
justify-content: flex-start;
}
}
}
.file {
padding: 25rpx 25rpx 0;
font-size: 28rpx;
>view {
margin-bottom: 15rpx;
}
}
.save {
width: 80%;
margin: 0 auto;
padding-bottom: 20rpx;
}
</style>

View File

@ -1,49 +1,42 @@
<script setup></script>
<template>
<view class="box main">
<wd-card>
<Card>
<view class="head">
<image src="/static//logo.png"></image>
<wd-avatar src="/static/logo.png" />
<view class="info">
<view>
<view class="msg">
<text class="adorn">陈程城</text>
<text></text>
<text>25</text>
</view>
<view>住院号/ID123456</view>
<view class="msg">住院号/ID123456</view>
</view>
</view>
</wd-card>
<wd-card>
<template #title>
<view class="title">病情描述</view>
</Card>
<Card>
<template #header>
<view>病情描述</view>
</template>
<view class="content">
<view>xxxxx</view>
<view class="title">xxxxx</view>
<view>提示1.病人的状态描述是否出现头疼呕吐嗜睡等以上症状.2.病人行为描述是否出现走路不稳大小便失禁等方面概述</view>
</view>
<template #footer>
</template>
</wd-card>
</Card>
</view>
</template>
<style lang="scss" scoped>
.head {
display: flex;
padding: 20rpx;
gap: 20rpx;
align-items: center;
color: #000;
image {
width: 100rpx;
height: 100rpx;
border-radius: 50%;
border: 1rpx solid #d4d4d4;
}
.info {
font-size: 24rpx;
>view {
.msg {
display: flex;
gap: 30rpx;
align-items: flex-end;
@ -57,9 +50,9 @@
.content {
color: #333;
padding-bottom: 20rpx;
:first-child {
padding: 15rpx 0;
border-top: 1rpx solid #d4d4d4;
.title {
font-size: 35rpx;
margin-bottom: 15rpx;
}
}

View File

@ -8,11 +8,9 @@ const clickDetail = () => {
<template>
<!-- 病人反馈 -->
<view class="fb_list main">
<wd-card custom-class="item" v-for="item in 9" :key="item">
<view class="content" @tap="clickDetail">
<Card custom-class="item" v-for="item in 9" :key="item" @tap="clickDetail">
<template #header>
<view class="title">
<!-- <view class="left">
</view> -->
<view>
姓名xxx
</view>
@ -21,16 +19,18 @@ const clickDetail = () => {
</view>
<view>2020-10-20</view>
</view>
<view class="text">
病人反馈信息啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
病人反馈信息啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
病人反馈信息啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
病人反馈信息啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
</view>
</template>
<view class="text">
病人反馈信息啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
病人反馈信息啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
病人反馈信息啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
病人反馈信息啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
</view>
</wd-card>
<view class="content">
</view>
</Card>
</view>
<Loadmore></Loadmore>
<LoadMore></LoadMore>
</template>
<style lang="scss" scoped>
.fb_list {
@ -39,32 +39,29 @@ const clickDetail = () => {
:deep(.item) {
padding: 0;
}
.title {
display: flex;
justify-content: space-between;
align-items: flex-end;
:first-child {
font-size: 30rpx;
}
}
.content {
padding-bottom: 25rpx;
.title {
display: flex;
justify-content: space-between;
padding: 20rpx;
color: #333;
font-size: 26rpx;
align-items: flex-end;
:first-child {
font-size: 30rpx;
}
}
.text {
padding: 0 20rpx;
height: 123rpx;
line-height: 40rpx;
letter-spacing: 3rpx;
word-break: break-all;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
}
}
.text {
height: 115rpx;
font-size: 28rpx;
line-height: 40rpx;
letter-spacing: 3rpx;
word-break: break-all;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
}
}
</style>

View File

@ -37,38 +37,42 @@ const reachBottom = () => {
</view>
<wd-gap height="190rpx"></wd-gap>
<view class="patient_list">
<wd-card custom-class="item" v-for="item in num" :key="item">
<view class="top">
<text>住院号000000</text>
<text>2020-12-22</text>
<text>手术次数{{ item }}{{ num }}</text>
</view>
<Card class="item" v-for="item in num" :key="item">
<template #header>
<view class="top">
<text>住院号000000</text>
<text>2020-12-22</text>
<text>手术次数{{ item }}{{ num }}</text>
</view>
</template>
<view class="content">
<view>患者姓名xxx</view>
<view>手机号码11111111111</view>
<view>植入物品牌索菲萨</view>
<view>原发病小脑但脂瘤</view>
<view class="red">当前压力110</view>
<view class="bright">当前压力110</view>
<view>初始压力110</view>
<view>脑积水类型交通性高压性</view>
</view>
<view class="btns">
<button size="mini" plain="true">医生共享</button>
<button size="mini" plain="true">调压趋势</button>
<button size="mini" plain="true">手术详情</button>
<button size="mini" plain="true">一键调压</button>
</view>
</wd-card>
<template #footer>
<view class="btns">
<button size="mini" plain="true">医生共享</button>
<button size="mini" plain="true">调压趋势</button>
<button size="mini" plain="true">手术详情</button>
<button size="mini" plain="true">一键调压</button>
</view>
</template>
</Card>
</view>
</view>
<Loadmore :number="num" :total="20" @reachBottom="reachBottom"></Loadmore>
<LoadMore :number="num" :total="20" @reachBottom="reachBottom"></LoadMore>
</template>
<style lang="scss" scoped>
@import "/static/css/variables.scss";
.fab {
view {
background: #4d80f0;
background: $blue;
width: 112rpx;
height: 112rpx;
border-radius: 50%;
@ -95,42 +99,32 @@ const reachBottom = () => {
font-size: 28rpx;
color: #6b7280;
padding: 10rpx;
box-shadow: 0 -10px 4px #fff;
text {
padding: 10rpx 16rpx;
border-radius: 5rpx;
border-radius: 10rpx;
}
}
.active {
background: #3b82f6;
background: $blue;
color: #ffffff;
border: 1rpx solid #3b82f6;
border: 1rpx solid $blue;
}
}
.patient_list {
padding-top: 20rpx;
:deep(.item) {
padding: 0;
font-size: 24rpx;
overflow: hidden;
.item {
.top {
display: flex;
justify-content: space-between;
background-color: #d4edda;
padding: 20rpx;
color: #155724;
}
.content {
display: flex;
padding: 20rpx;
flex-wrap: wrap;
font-size: 28rpx;
color: #333;
view {
width: 50%;
margin-bottom: 10rpx;
@ -140,20 +134,18 @@ const reachBottom = () => {
}
}
.red {
.bright {
font-weight: bold;
color: rgb(255, 21, 21);
color: $blue;
}
}
.btns {
display: flex;
// gap: 15rpx;
padding: 20rpx;
justify-content: space-between;
button {
padding: 0 20rpx;
margin: 0;
}
text {
@ -164,10 +156,6 @@ const reachBottom = () => {
text-align: center;
}
.add {
background-color: #007bff;
color: #ffffff;
}
}
}
}

10
pnpm-lock.yaml generated
View File

@ -15,8 +15,8 @@ importers:
specifier: ^4.7.1
version: 4.7.1(pinia@3.0.4(vue@3.5.26))
wot-design-uni:
specifier: ^1.13.0
version: 1.13.0(vue@3.5.26)
specifier: ^1.14.0
version: 1.14.0(vue@3.5.26)
devDependencies:
vue:
specifier: ^3.5.26
@ -176,8 +176,8 @@ packages:
typescript:
optional: true
wot-design-uni@1.13.0:
resolution: {integrity: sha512-U4ezX7n1DfSuecTvHap06UqkN7dGhSLyC5n7OfmddajYSiV6t39bPLtRIds6uTarmRZCEWERrLN8cGSdZJIHWg==}
wot-design-uni@1.14.0:
resolution: {integrity: sha512-FaBXtmxxAkZNZUxR2xeKBg/Agck+SPaFFFeCvbBzAFeqM/5m2Y/v/7te7rhMJpZFkMoAgtJR1yaWR0DnjOmTnA==}
engines: {HBuilderX: ^3.8.7}
peerDependencies:
vue: '>=3.2.47'
@ -336,6 +336,6 @@ snapshots:
'@vue/server-renderer': 3.5.26(vue@3.5.26)
'@vue/shared': 3.5.26
wot-design-uni@1.13.0(vue@3.5.26):
wot-design-uni@1.14.0(vue@3.5.26):
dependencies:
vue: 3.5.26

View File

@ -0,0 +1 @@
$blue: #4d80f0;