Browse Source

feat: 提交

master
duxianzhang 2 years ago
parent
commit
841402e2e2
  1. 2
      components/tabbar.vue
  2. 34
      pages.json
  3. 150
      pages/prebook_list/prebook_list.vue
  4. 45
      pages/test/test.vue
  5. 183
      pages/user_modify/user_modify.vue
  6. 94
      pages/usercenter/usercenter.vue
  7. 2
      pages/visitors/visitors.vue
  8. 1
      static/images/frontend/copy.svg
  9. 0
      static/images/frontend/default_avator.svg
  10. 1
      static/images/frontend/message.svg
  11. 1
      static/images/frontend/user_grey.svg
  12. 1
      static/images/frontend/user_icon.svg

2
components/tabbar.vue

@ -11,7 +11,7 @@
<view class="tabbar_item tabbar_item05" style="" v-if="is_admin" @click="addArticle">
<image :src="cssUrl+'add.svg'"></image>
</view>
<view class="tabbar_item tabbar_item04" @click="jumpto('/pages/user_center/user_center')" style="">
<view class="tabbar_item tabbar_item04" @click="jumpto('/pages/usercenter/usercenter')" style="">
<view :class="[current==2?'tabbarYes':'tabbarNone']">
<image :src="current==2?cssUrl+'tabbar_user_active.svg':cssUrl+'tabbar_user.svg'"></image>
<view :class="[current==2?'tabbarYes':'tabbarNone']">我的</view>

34
pages.json

@ -1,6 +1,32 @@
{
"pages": [
{
"path" : "pages/prebook_list/prebook_list",
"style" :
{
"navigationBarTitleText": "预约列表",
"enablePullDownRefresh": false
}
},
{
"path" : "pages/user_modify/user_modify",
"style" :
{
"navigationBarTitleText": "修改资料",
"enablePullDownRefresh": false
}
},
{
"path" : "pages/usercenter/usercenter",
"style" :
{
"navigationBarTitleText": "我的",
"enablePullDownRefresh": false
}
},
{
"path": "pages/index/index",
"style": {
"navigationBarTitleText": ""
@ -39,14 +65,6 @@
}
},
{
"path" : "pages/test/test",
"style" :
{
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
},
{
"path" : "pages/mine/mine",
"style" :
{

150
pages/prebook_list/prebook_list.vue

@ -0,0 +1,150 @@
<template>
<view class="page-prebook-list">
<view class="nav">
<view :class="'item'+(userSelectIndex==0?' active':'')">全部</view>
<view class="item">帅哥</view>
<view class="item">马家辉</view>
<view class="item">刘老板</view>
<view class="item">张小宇</view>
<view class="item">刘大琪</view>
<view class="item">帅哥</view>
<view class="item">马家辉</view>
<view class="item">刘老板</view>
<view class="item">张小宇</view>
<view class="item">刘大琪</view>
<view class="item">帅哥</view>
<view class="item">马家辉</view>
<view class="item">刘老板</view>
<view class="item">张小宇</view>
<view class="item">刘大琪</view>
</view>
<view class="list btPadding">
<view :class="'item '+item" v-for="(item, key) in data">
<view class="left">
<view class="title PfScMedium">上官梓涵</view>
<view class="date">2024.01.09 周二 09:30-12:00</view>
<view class="loction">广安门医院西单门诊部</view>
</view>
<view class="right">
<view class="status">候诊</view>
<view class="queue-num">前方<text>4</text></view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
data:['status_wait', 'status_out_num', 'status_down', 'status_expire', 'status_ing'],
userSelectIndex:0
}
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.page-prebook-list{
width: 100%;
height: 100vh;
box-sizing: border-box;
overflow-y: auto;
background: #F8F8F8;
.nav{
width: 100%;
display: flex;
height: 132rpx;
display: flex;
box-sizing: border-box;
overflow-x: auto;
align-items: center;
padding: 0 18rpx;
column-gap: 20rpx;
.item{
width: auto;
flex-shrink: 0;
padding: 0 20rpx;
height: 60rpx;
line-height: 60rpx;
background: rgba(201,203,209,0.25);
border-radius: 30rpx;
box-sizing: border-box;
font-size: 24rpx;
color: #616266;
&.active{
border: 1rpx solid #5BD07A;
color: #58CA7F;
}
}
}
.list{
width: 714rpx;
height: auto;
background: #FFFFFF;
border-radius: 8rpx;
margin: 36rpx auto 0;
overflow: hidden;
.item{
display: flex;
justify-content: space-between;
margin: 0 auto;
width: 692rpx;
border-bottom: 2rpx solid rgba(151,151,151,0.15);
padding: 35rpx 13rpx;
box-sizing: border-box;
overflow: hidden;
&:last-of-type{
border-bottom: none !important;
}
.left{
flex-grow: 1;
flex-shrink: 0;
.title{
min-height: 42rpx;
font-size: 30rpx;
color: #000000;
line-height: 42rpx;
margin-bottom: 28rpx;
overflow: hidden;
}
.date{
height: 40rpx;
font-size: 28rpx;
color: #949699;
line-height: 40rpx;
margin-bottom: 12rpx
}
.loction{
height: 40rpx;
line-height: 40rpx;
color: #949699;
}
}
.right{
width: 250rpx;
flex-shrink: 1;
}
}
}
// <view class="list btPadding">
// <view :class="'item '+item" v-for="(item, key) in data">
// <view class="left">
// <view class="title"></view>
// <view class="date">2024.01.09 09:30-12:00</view>
// <view class="loction">广西</view>
// </view>
// <view class="right">
// <view class="status"></view>
// <view class="queue-num"><text>4</text></view>
// </view>
// </view>
// </view>
}
</style>

45
pages/test/test.vue

@ -1,45 +0,0 @@
<template>
<div>
<my-pop
:pop_type="pop_type"
:title="title"
:cancel="cancel"
:confirm="confirm"
:content="content"
:inp_placeholder="inp_placeholder"
@confirm="popConfirm"
@cancel="popCancel"
></my-pop>
</div>
</template>
<script>
import pop from "@/components/pop";
export default {
name: "HelloView",
components: {
"my-pop": pop,
},
data() {
return {
pop_type: "content",
title: "弹窗标题",
cancel: "取消",
confirm: "确认",
content: "弹窗显示的文本内容",
inp_placeholder: "请输入内容",
};
},
methods: {
//
popConfirm(e) {
// e
// confirm
console.log("click confirm");
},
//
popCancel() {
console.log("click cancel");
},
},
};
</script>

183
pages/user_modify/user_modify.vue

@ -0,0 +1,183 @@
<template>
<view class="page-user-modify">
<view class="item-box btPadding">
<view class="item">
<view class="left PfScMedium">头像</view>
<view class="right" @click="upload">
<img :src="avator" class="avator">
<view class="avator_tips">点击上传照片</view>
</view>
</view>
<view class="item">
<view class="left PfScMedium">昵称</view>
<view class="right">
<input type="text" placeholder="请输入用户昵称">
</view>
</view>
<view class="item">
<view class="left PfScMedium">用户编号</view>
<view class="right over copy-box">
<view>17678689931</view>
<img :src="cssUrl+'copy.svg'" class="copy" @click="copyUid('17678689931')">
</view>
</view>
<view class="submit-blank"></view>
</view>
<view class="submit-box btPadding">
<view class="primary btn btn3" hover-class="hover">保存</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
cssUrl:this.cssUrl,
avator:this.cssUrl+'default_avator.svg'
}
},
methods: {
copyUid(uid) {
uni.setClipboardData({
data: uid,
success: function () {
uni.showToast({
title:'用户编号已复制',
icon:'none'
})
}
});
},
upload() {
uni.chooseImage({
count: 1,
success: function(res) {
var tempFilePaths = res.tempFilePaths;
uni.uploadFile({
url: 'http://example.com/upload',
filePath: tempFilePaths[0],
name: 'file',
header: {
'content-type' : 'multipart/form-data'
},
formData:{
'user': 'test'
},
success: function(res){
console.log(res.data);
},
fail: function(res){
console.log(res);
}
});
}
});
}
}
}
</script>
<style lang="scss" scoped>
.page-user-modify{
background: #F8F8F8;
width: 100%;
height: 100vh;
box-sizing: border-box;
.item-box{
margin-top: 20rpx;
width:710rpx;
margin: 0 auto;
background: #FFFFFF;
box-sizing: border-box;
.item{
width: 686rpx;
margin: 0 auto;
box-sizing: border-box;
padding: 40rpx 12rpx;
border-bottom: 2rpx solid rgba(151,151,151, 0.15);
display: flex;
align-items: center;
line-height: 44rpx;
justify-content: space-between;
&:last-of-type{
border-bottom: none;
}
.left{
height: 44rpx;
line-height: 44rpx;
font-size: 32rpx;
color: #000000;
letter-spacing: 2rpx;
padding-left: 12rpx;
width: 133rpx;
flex-shrink: 0;
}
.right{
flex-grow: 1;
position: relative;
text-align: right;
line-height: 44rpx;
.avator{
width: 160rpx;
height: 160rpx;
background: #F8F8F8;
border-radius: 12rpx;
}
.avator_tips{
position: absolute;
bottom: 0;
right: 0;
width: 100%;
z-index: 1;
height: 44rpx;
line-height: 44rpx;
background: rgba(0,0,0,0.28);
border-radius: 12rpx;
width: 160rpx;
font-size: 22rpx;
text-align: center;
color: #FFFFFF;
}
&.copy-box{
display: flex;
justify-content: flex-end;
align-items: center;
view{
flex-grow: 1;
max-width: 272rpx;
overflow: hidden;
text-overflow: ellipsis;
word-break: break-all;
white-space: nowrap;
}
.copy{
width: 40rpx;
height: 40rpx;
flex-shrink: 0;
margin-left: 16rpx;
}
}
}
}
}
.submit-blank{
width: 100%;
height: 134rpx;
}
.submit-box{
width: 750rpx;
height: 124rpx;
background: #FFFFFF;
box-shadow: 0rpx -2rpx 6rpx 0rpx rgba(181,181,181,0.13);
position: fixed;
bottom: 0;
view{
margin: 0 auto;
}
}
}
</style>

94
pages/usercenter/usercenter.vue

@ -0,0 +1,94 @@
<template>
<view class="page-usercenter">
<img :src="cssUrl+'user_grey.svg'" class="avator">
<view class="ucode PfScMedium over2">UID998777</view>
<view class="menu">
<view class="item">
<img :src="cssUrl+'user_icon.svg'" alt="">
<view>就诊人</view>
</view>
<view class="item">
<img :src="cssUrl+'message.svg'" alt="">
<view>预约列表</view>
</view>
</view>
<tabbar current="2"></tabbar>
</view>
</template>
<script>
import tabbar from '@/components/tabbar.vue';
export default {
data() {
return {
cssUrl:this.cssUrl
}
},
components:{
tabbar:tabbar
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.page-usercenter{
width: 100%;
height: 100vh;
overflow-y: auto;
background: #F8F8F8;
.avator{
display: block;
width: 160rpx;
height: 160rpx;
border-radius: 100%;
margin: 17rpx auto 24rpx;
}
.ucode{
width: 80%;
text-align: center;
margin: 0 auto;
min-height: 56rpx;
line-height: 56rpx;
font-size: 40rpx;
color: #000000;
letter-spacing: 1rpx;
word-break: break-all;
}
.menu{
width: 714rpx;
margin: 35rpx auto 0;
height: 206rpx;
background: #FFFFFF;
display: flex;
align-items: center;
justify-content: space-between;
box-shadow: 0rpx 2rpx 24rpx 0rpx rgba(0,0,0,0.03);
border-radius: 0rpx 0rpx 8rpx 8rpx;
padding: 0 130rpx;
box-sizing: border-box;
.item{
width: 116rpx;
img{
width: 70rpx;
height: 70rpx;
margin: 0 auto;
display: block;
margin-bottom: 30rpx;
}
view{
width: 100%;
text-align: center;
height: 40rpx;
line-height: 40rpx;
font-size: 28rpx;
color: #666666;
}
}
}
}
</style>

2
pages/visitors/visitors.vue

@ -76,7 +76,7 @@
data() {
return {
cssUrl:this.cssUrl,
type:2,
type:1,
res:true,
popContent:'删除张杨明后,就诊记录还可以查到,确定删除吗?',
popTitle:'确认删除',

1
static/images/frontend/copy.svg

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg version="1.1" width="30px" height="30px" viewBox="0 0 30.0 30.0" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><clipPath id="i0"><path d="M750,0 L750,1624 L0,1624 L0,0 L750,0 Z"></path></clipPath><clipPath id="i1"><path d="M5.62562649,7.50199999 L5.62562649,9.3775024 L3.75175268,9.3775024 C2.71671771,9.37750242 1.87587689,10.2150656 1.87587689,11.2509989 L1.87587689,26.2489898 C1.87640758,26.7464035 2.07434213,27.2232334 2.42613714,27.5745822 C2.77793215,27.925931 3.25477037,28.1230181 3.75175268,28.1224864 L18.7507512,28.1224864 C19.2477335,28.1230181 19.7245717,27.925931 20.0763667,27.5745822 C20.4281617,27.2232334 20.6260963,26.7464035 20.626627,26.2489898 L20.6226229,24.377497 L22.4964968,24.377497 L22.4964968,26.2529973 C22.4964968,27.247804 22.1012447,28.2017785 21.3978571,28.9046491 C20.6944694,29.6075196 19.7406899,30.0015863 18.7467472,29.9999952 L3.7497507,29.9999952 C2.75546096,30.001587 1.80137754,29.6072455 1.09793215,28.9039413 C0.394486754,28.2006371 -0.000531912526,27.2461474 5.37573669e-07,26.2509936 L5.37573669e-07,11.2530027 C5.37573669e-07,10.2574807 0.395400941,9.30279126 1.09910619,8.59922689 C1.80281143,7.89566252 2.75709466,7.50093854 3.75175268,7.50199999 L5.62562649,7.50199999 Z M26.2502504,5.34886983e-07 C27.2442149,0.00147325089 28.1976802,0.396157108 28.9008947,1.09923042 C29.6041092,1.80230373 29.9994692,2.75617436 30,3.7510016 L30,18.7469888 C30,20.814848 28.3243244,22.4939818 26.2522524,22.4939818 L11.2512519,22.4939818 C9.17917994,22.4939818 7.50150231,20.8168518 7.50150231,18.7469888 L7.50150231,3.7510016 C7.50150231,2.75582714 7.89662782,1.80144169 8.59989989,1.09793501 C9.30317197,0.394428323 10.2569406,-0.000530542032 11.2512519,5.34886983e-07 L26.2502504,5.34886983e-07 Z M26.2522524,1.87750509 L11.2512519,1.87750509 C10.2182189,1.87750509 9.37737813,2.71707197 9.37737813,3.7510016 L9.37737813,18.7489925 C9.37848296,19.7840201 10.2171213,20.6224901 11.2512519,20.6224901 L26.2522524,20.6224901 C26.7490504,20.6230208 27.2256828,20.42587 27.57716,20.0744635 C27.9286372,19.7230571 28.1261262,19.246222 28.1261262,18.7489925 L28.1261262,3.7510016 C28.1261262,2.71707197 27.2872874,1.87750509 26.2522524,1.87750509 Z"></path></clipPath></defs><g transform="translate(-678.0 -619.0)"><g clip-path="url(#i0)"><g transform="translate(45.0 612.0)"><g transform="translate(447.0 1.0)"><g transform="translate(186.0 6.0)"><g clip-path="url(#i1)"><polygon points="6.46080534e-14,-1.86051285e-14 30,-1.86051285e-14 30,30 6.46080534e-14,30 6.46080534e-14,-1.86051285e-14" stroke="none" fill="#999999"></polygon></g></g></g></g></g></g></svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

0
static/images/frontend/unuse/个人照片待填写.svg → static/images/frontend/default_avator.svg

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

1
static/images/frontend/message.svg

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg version="1.1" width="70px" height="70px" viewBox="0 0 70.0 70.0" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><clipPath id="i0"><path d="M750,0 L750,1624 L0,1624 L0,0 L750,0 Z"></path></clipPath></defs><g transform="translate(-509.0 -513.0)"><g clip-path="url(#i0)"><g transform="translate(486.0 513.0)"><g transform="translate(23.0 0.0)"><g transform="translate(6.363636363636363 6.363636363636363)"><path d="M57.2727273,28.6363636 C57.2727273,44.4517977 44.4518105,57.2727273 28.6363923,57.2727273 C20.0834349,57.2727273 0,57.2727273 0,57.2727273 C0,57.2727273 0,35.8988318 0,28.6363636 C0,12.8209295 12.820974,0 28.6363923,0 C44.4518105,0 57.2727273,12.8209295 57.2727273,28.6363636 Z" stroke="#363636" stroke-width="4.6" fill="none" stroke-linecap="round" stroke-linejoin="round"></path><g transform="translate(14.31808159100931 19.32954545454545)"><path d="M0,0.715909091 L25.7727015,0.715909091" stroke="#363636" stroke-width="4.6" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></g><g transform="translate(14.31808159100931 30.78409090909091)"><path d="M0,0.715909091 L25.7727015,0.715909091" stroke="#68D475" stroke-width="4.6" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></g><g transform="translate(14.31808159100931 42.23863636363637)"><path d="M0,0.715909091 L14.3181675,0.715909091" stroke="#68D475" stroke-width="4.6" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></g></g></g></g></g></g></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

1
static/images/frontend/user_grey.svg

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg version="1.1" width="160px" height="160px" viewBox="0 0 160.0 160.0" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><clipPath id="i0"><path d="M750,0 L750,1624 L0,1624 L0,0 L750,0 Z"></path></clipPath><clipPath id="i1"><path d="M80,0 C124.18278,0 160,35.81722 160,80 C160,124.18278 124.18278,160 80,160 C35.81722,160 0,124.18278 0,80 C0,35.81722 35.81722,0 80,0 Z"></path></clipPath><clipPath id="i2"><path d="M160,0 L160,160 L0,160 L0,0 L160,0 Z"></path></clipPath><clipPath id="i3"><path d="M45.2413988,45.6763779 C60.8990456,45.6763779 73.6363636,58.0109444 73.6363636,73.169224 L73.6363636,74.8011307 C73.6363636,82.3341361 61.7513682,82.7077732 47.4919786,82.7263055 L26.5056556,82.7267655 C11.5488211,82.7145909 0,82.4102271 0,74.8011307 L0,73.169224 C0,58.0075257 12.7351135,45.6763779 28.3924212,45.6763779 L45.2413988,45.6763779 Z M35.9747112,0 C48.3734539,0 58.4615236,9.77317918 58.4615236,21.7891358 C58.4622021,33.8057595 48.3733691,43.5781883 35.9746265,43.5781883 C23.5759685,43.5781883 13.4879835,33.8022573 13.4879835,21.7891358 C13.4879835,9.776598 23.5760534,0 35.9747112,0 Z"></path></clipPath><clipPath id="i4"><path d="M73.6363636,0 L73.6363636,82.7272727 L0,82.7272727 L0,0 L73.6363636,0 Z"></path></clipPath></defs><g transform="translate(-295.0 -202.0)"><g clip-path="url(#i0)"><g transform="translate(295.0 202.0)"><g clip-path="url(#i1)"><g clip-path="url(#i2)"><polygon points="0,0 160,0 160,160 0,160 0,0" stroke="none" fill="#ECEAEA"></polygon></g></g><g transform="translate(43.63636363636396 39.090909090909)"><g clip-path="url(#i3)"><g clip-path="url(#i4)"><polygon points="0,0 73.6363636,0 73.6363636,82.7267655 0,82.7267655 0,0" stroke="none" fill="#D7D7D7"></polygon></g></g></g></g></g></g></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

1
static/images/frontend/user_icon.svg

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg version="1.1" width="70px" height="70px" viewBox="0 0 70.0 70.0" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><clipPath id="i0"><path d="M750,0 L750,1624 L0,1624 L0,0 L750,0 Z"></path></clipPath></defs><g transform="translate(-158.0 -513.0)"><g clip-path="url(#i0)"><g transform="translate(149.0 513.0)"><g transform="translate(9.0 0.0)"><g transform="translate(7.0 7.0)"><g transform="translate(19.675675675675677 0.0)"><path d="M10.5945946,21 C16.4458276,21 21.1891892,16.2989899 21.1891892,10.5 C21.1891892,4.70101013 16.4458276,0 10.5945946,0 C4.74336157,0 0,4.70101013 0,10.5 C0,16.2989899 4.74336157,21 10.5945946,21 Z" stroke="#333333" stroke-width="4.6" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></g><g transform="translate(0.0 31.5)"><path d="M0,24 C0,10.7451 12.1972541,0 27.2432432,0" stroke="#333333" stroke-width="4.6" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></g><g transform="translate(34.81081081081081 36.0)"><polygon points="6.05405405,21 21.1891892,6 15.1351351,0 0,15 0,21 6.05405405,21 6.05405405,21" stroke="#68D475" stroke-width="4.6" fill="none" stroke-linecap="round" stroke-linejoin="round"></polygon></g></g></g></g></g></g></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

Loading…
Cancel
Save