From a6653e19d20a61e7b8f788037d2a4df3f93a4f32 Mon Sep 17 00:00:00 2001 From: queenwuli <942534046@qq.com> Date: Tue, 12 Jan 2021 16:51:03 +0800 Subject: [PATCH] gx --- hive-app/pages/workbench/board.vue | 243 ++++++++++++++++++++++++++++++++---------------- 1 files changed, 163 insertions(+), 80 deletions(-) diff --git a/hive-app/pages/workbench/board.vue b/hive-app/pages/workbench/board.vue index 0ce4517..7b02c79 100644 --- a/hive-app/pages/workbench/board.vue +++ b/hive-app/pages/workbench/board.vue @@ -1,81 +1,53 @@ <template> <!-- 看板 --> - <view> + <view class="container"> + <view class="header"> + <text>预约时间</text> + <picker mode="date" @change="bindTimeChange" :end="endDate"> + <text class="blue ml-10">{{time}}</text> + </picker> + </view> + <view class="box"> + <text class="item white-bg">未上班</text> + <text class="item green-bg">可预约</text> + <text class="item pink-bg">已预约</text> + <text class="item blue-bg">服务中</text> + <text class="item yellow-bg">服务结束</text> + </view> <view class="content"> - <view class="content-time font-16 flex align-center"> - <text>预约时间</text> - <text class="blue ml-10">2020-12-25</text> + <view class="left"> + <view class="left-header font-bold">姓名</view> + <view class="left-row" v-for="item in list">{{item.userName}}</view> </view> - <view class="content-condition font-12 flex align-center justify-around mt-20"> - <view class="content-condition-item center item-white"> - <text>未上班</text> + <scroll-view scroll-x="true" class="right"> + <view class="right-header" :style="{width: totalWidth+'px'}"> + <view class="right-row" v-for="item in timeList">{{item}}</view> </view> - <view class="content-condition-item center item-green"> - <text>可预约</text> - </view> - <view class="content-condition-item center item-pink"> - <text>已预约</text> - </view> - <view class="content-condition-item center item-blue"> - <text>服务中</text> - </view> - <view class="content-condition-item center item-yellow"> - <text>服务结束</text> - </view> - </view> - <view class="itme-box mt-20"> - <scroll-view scroll-x="true" class="h-table"> - <view class="h-tr h-thead"> - <view class="h-td center">姓名</view> - <view class="h-td center">10:00</view> - <view class="h-td center">10:30</view> - <view class="h-td center">11:00</view> - <view class="h-td center">11:30</view> - <view class="h-td center">12:00</view> - <view class="h-td center">12:30</view> - <view class="h-td center">13:00</view> - <view class="h-td center">13:30</view> - </view> - <view class="h-tr"> - <view class="h-td center">周晓</view> - <view class="h-td font-12 flex flex-v item-yellow" style="min-width: 240px;"> - <view> + <view class="right-content" :style="{width: totalWidth+'px'}" v-for="item in list"> + <view class="right-row" v-for="op in item.items"> + <view :style="{width: op.spanLength*2+'px'}" class="right-row-con" :class="caculateBg(op)" > + <navigator v-if="op.workType==3" :url="'./serviceOrderDetail?id='+op.serviceId" hover-class="none"> <view class="flex"> - <view class="flex align-center"> - <text class="iconfont iconnvshi mr-5"></text> - <text>于倩</text> + <view class="flex align-left"> + <image src="../../static/images/order-icon1.png" class="icon"></image> + <text class="ellipsis">{{op.vipName}}</text> </view> - <view class="flex align-center ml-10"> - <text class="iconfont iconzhong mr-5"></text> - <text>90分钟</text> - </view> + <text style="margin-left: 2px;">{{op.spanLength*2}}min</text> </view> - <view class="flex align-center mt-5"> - <text class="iconfont iconxiangmu mr-5"></text> - <text>脸部抗衰护理</text> + <view class="flex align-left"> + <image src="../../static/images/order-icon2.png" class="icon"></image> + <text class="ellipsis">{{op.projName}}</text> </view> - <view class="flex align-center mt-5"> - <text class="iconfont iconshafa mr-5"></text> - <text>VIP-2 (星海店)</text> + <view class="flex align-left"> + <image src="../../static/images/order-icon3.png" class="icon"></image> + <text class="ellipsis">{{op.bedName || '-'}}</text> </view> - </view> + </navigator> </view> - <view class="h-td"></view> </view> - <view class="h-tr"> - <view class="h-td">陈沾</view> - <view class="h-td item-green"></view> - </view> - <view class="h-tr"> - <view class="h-td">古秋燕</view> - <view class="h-td"></view> - </view> - <view class="h-tr"> - <view class="h-td">彭艳芳</view> - <view class="h-td"></view> - </view> - </scroll-view> - </view> + </view> + </scroll-view> + </view> </view> </template> @@ -87,6 +59,48 @@ }, data(){ return{ + time: this.$utils.formmatTime('YY-mm-dd'), + list: [], + timeList: [], + totalWidth: 750 + } + }, + onLoad() { + this.loadList() + }, + computed:{ + endDate(){ + return this.$utils.formmatTime('YY-mm-dd') + } + }, + methods:{ + bindTimeChange(e){ + this.time = e.detail.value; + this.loadList(); + }, + loadList(){ + this.$httpUtils.request('/api/occupancy/getKanban/'+this.time).then((res) => { + if(res.status == 200){ + this.timeList = res.mapInfo.tableHead; + this.list = res.rows; + this.totalWidth = res.mapInfo.timeSpan * 2; + } + }) + }, + caculateBg(op){ + if(op.workType==1){ + return '' + }else if(op.workType==2){ + return 'green-bg' + }else{ + if(op.serviceState === '服务中'){ + return 'blue-bg' + } + if(op.serviceState === '服务结束'){ + return 'yellow-bg' + } + return 'pink-bg' + } } } } @@ -96,42 +110,111 @@ page{ background: #F6F6F8; } - .content{ + .container{ background: #FFFFFF; border: 1px solid #EDEAF4; border-radius: 4px; box-shadow:0 6px 6px rgba(237,234,244,0.5); margin: 10px; - padding: 10px 0; + padding: 10px 10px; } - .content-time{ - padding: 0 10px; + .header{ + display: flex; + font-size: 16px; } - .content-condition-item{ + .box{ + display: flex; + justify-content: space-between; + margin-top: 15px; + } + .box .item{ width: 60px; + text-align: center; + font-size: 12px; border: 1px solid #EDEAF4; border-radius: 4px; line-height: 24px; } - .item-white{ + + .white-bg{ background: #fafafa; } - .item-green{ + .green-bg{ background: #ECF7E6; } - .item-pink{ + .pink-bg{ background: #FDEDF0; } - .item-blue{ + .blue-bg{ background: #BAD8FD; } - .item-yellow{ + .yellow-bg{ background: #F8ECDA; } - - - .itme-box{ - background: #FFFFFF; + .content{ + display: flex; + border: 1px solid #EDEAF4; + margin-top: 14px; + } + .content .left{ + width: 60px; + flex: 0 0 60px; + border-right: 1px solid #EDEAF4; + font-size: 14px; + } + .left-header,.right-header{ + height: 36px; + line-height: 36px; + text-align: center; + font-size: 14px; + width: 100%; + } + .left-row{ + text-align: center; + line-height: 80px; + border-top: 1px solid #EDEAF4; + } + .content .right{ + flex: 1; + overflow: hidden; + font-size: 12px; + } + .right-header{ + display: flex; + flex-wrap: nowrap; + border-bottom: 1px solid #EDEAF4; + } + .right-content{ + display: flex; + align-items: center; + height: 80px; + border-bottom: 1px solid #EDEAF4; + background: #fafafa; + } + .right-content:nth-last-of-type(1){ + border-bottom: 0; + } + .right-header .right-row{ + flex: 1; + } + .right-row-con{ + font-size: 10px; + height: 80px; + text-align: left; + padding: 5px; + box-sizing: border-box; + } + .icon{ + width: 12px; + height: 12px; + flex: 0 0 12px; + margin-right: 5px; + } + .ellipsis{ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + overflow: hidden; } /* 表格样式开始 */ -- Gitblit v1.9.1