| | |
| | | <template> |
| | | <view class="main_app"> |
| | | <view class="tabs"> |
| | | <view class="tab" :class="{ active: activeTab === '0' }" @click="tabClick('0')"> |
| | | <text class="name">ä¼è®®æ¥å</text> |
| | | <view class="line"></view> |
| | | </view> |
| | | <view class="tab" :class="{ active: activeTab === '1' }" @click="tabClick('1')"> |
| | | <text class="name">é¢çº¦è®°å½</text> |
| | | <view class="line"></view> |
| | | </view> |
| | | </view> |
| | | <!-- --> |
| | | <template v-if="activeTab == '0'"> |
| | | <uni-calendar @change="changeCalendar" :selected="selected" /> |
| | | <!-- --> |
| | | <view class="card_list"> |
| | | <view class="card_title"> |
| | | <view class="name"> |
| | | <view class="icon"></view> |
| | | <view class="text">仿¥ä¼è®®</view> |
| | | </view> |
| | | <view class="meeting"> |
| | | <view class="text mr24">å
¨é¨ä¼è®®å®¤</view> |
| | | <u-icon name="arrow-down" size="12" color="#999999" /> |
| | | </view> |
| | | </view> |
| | | <view class="list"> |
| | | <view class="item"> |
| | | <view class="head"> |
| | | <view class="name">aaaaaéå</view> |
| | | <view class="status">å³å°å¼å§</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">ä¼è®®æ¶é´ï¼</view> |
| | | <view class="value">12:00-12</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">ä¼è®®å®¤ï¼</view> |
| | | <view class="value">202ä¼è®®å®¤</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">é¢çº¦äººï¼</view> |
| | | <view class="value">æ¨ææ</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">夿³¨ï¼</view> |
| | | <view class="value">--</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | <!-- --> |
| | | <template v-if="activeTab === '1'"> |
| | | <view class="card_list"> |
| | | <view class="list"> |
| | | <view class="item" @click="handleDetail()"> |
| | | <view class="head"> |
| | | <view class="name">aaaaaéå</view> |
| | | <view class="status">å³å°å¼å§</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">ä¼è®®æ¶é´ï¼</view> |
| | | <view class="value">12:00-12</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">ä¼è®®å®¤ï¼</view> |
| | | <view class="value">202ä¼è®®å®¤</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">é¢çº¦äººï¼</view> |
| | | <view class="value">æ¨ææ</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">夿³¨ï¼</view> |
| | | <view class="value">--</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | function getDate(date, AddDayCount = 0) { |
| | | if (!date) { |
| | | date = new Date(); |
| | | } |
| | | if (typeof date !== 'object') { |
| | | date = date.replace(/-/g, '/'); |
| | | } |
| | | const dd = new Date(date); |
| | | |
| | | dd.setDate(dd.getDate() + AddDayCount); // è·åAddDayCount天åçæ¥æ |
| | | |
| | | const y = dd.getFullYear(); |
| | | const m = dd.getMonth() + 1 < 10 ? '0' + (dd.getMonth() + 1) : dd.getMonth() + 1; // è·åå½åæä»½çæ¥æï¼ä¸è¶³10è¡¥0 |
| | | const d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate(); // è·åå½åå å·ï¼ä¸è¶³10è¡¥0 |
| | | return { |
| | | fullDate: y + '-' + m + '-' + d, |
| | | year: y, |
| | | month: m, |
| | | date: d, |
| | | day: dd.getDay() |
| | | }; |
| | | } |
| | | export default { |
| | | data() { |
| | | return { |
| | | activeTab: '0', |
| | | selected: [ |
| | | { |
| | | date: getDate(new Date(), -3).fullDate |
| | | // info: 'æå¡' |
| | | }, |
| | | { |
| | | date: getDate(new Date(), -2).fullDate, |
| | | // info: 'ç¾å°', |
| | | data: { |
| | | custom: 'èªå®ä¹ä¿¡æ¯', |
| | | name: 'èªå®ä¹æ¶æ¯å¤´' |
| | | } |
| | | }, |
| | | { |
| | | date: getDate(new Date(), -1).fullDate, |
| | | info: 'å·²æå¡' |
| | | } |
| | | ] |
| | | }; |
| | | }, |
| | | methods: { |
| | | tabClick(val) { |
| | | this.activeTab = val; |
| | | }, |
| | | handleDetail(item) { |
| | | uni.navigateTo({ |
| | | // url: `/pages/staff/meetingDetail?id=${item.id}`, |
| | | url: `/pages/staff/meetingDetail`, |
| | | }) |
| | | }, |
| | | changeCalendar(e) { |
| | | console.log(e); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | page { |
| | | background-color: #f7f7f7; |
| | | } |
| | | .main_app { |
| | | padding: 0; |
| | | background-color: #f7f7f7; |
| | | ::v-deep .uni-calendar-item--checked { |
| | | background-color: #279baa; |
| | | border-radius: 8rpx; |
| | | } |
| | | ::v-deep .uni-calendar-item--isDay-text { |
| | | color: #279baa; |
| | | } |
| | | ::v-deep .uni-calendar-item--isDay { |
| | | background-color: #279baa; |
| | | color: #fff; |
| | | border-radius: 8rpx; |
| | | } |
| | | .tabs { |
| | | display: flex; |
| | | background-color: #fff; |
| | | .tab { |
| | | flex: 1; |
| | | height: 88rpx; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | font-size: 28rpx; |
| | | color: #666666; |
| | | position: relative; |
| | | .line { |
| | | width: 60rpx; |
| | | height: 4rpx; |
| | | background: #fff; |
| | | border-radius: 3rpx; |
| | | position: absolute; |
| | | bottom: 0; |
| | | left: 50%; |
| | | transform: translate(-50%, 0); |
| | | } |
| | | } |
| | | .active { |
| | | font-weight: 500; |
| | | font-size: 30rpx; |
| | | color: #222222; |
| | | .line { |
| | | background-color: #279baa; |
| | | } |
| | | } |
| | | } |
| | | // |
| | | .card_list { |
| | | padding: 30rpx; |
| | | .card_title { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | margin-bottom: 22rpx; |
| | | .name { |
| | | display: flex; |
| | | align-items: center; |
| | | .icon { |
| | | width: 6rpx; |
| | | height: 32rpx; |
| | | background: #279baa; |
| | | border-radius: 4rpx; |
| | | margin-right: 16rpx; |
| | | } |
| | | .text { |
| | | font-weight: 600; |
| | | font-size: 32rpx; |
| | | color: #222222; |
| | | } |
| | | } |
| | | .meeting { |
| | | display: flex; |
| | | height: 52rpx; |
| | | line-height: 52rpx; |
| | | background: #ffffff; |
| | | border-radius: 26rpx; |
| | | border: 2rpx solid #eeeeee; |
| | | padding: 0 24rpx; |
| | | .text { |
| | | font-size: 24rpx; |
| | | color: #333333; |
| | | } |
| | | } |
| | | } |
| | | .list { |
| | | .item { |
| | | padding: 0rpx 30rpx 30rpx; |
| | | background: #ffffff; |
| | | border-radius: 8rpx; |
| | | .head { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | border-bottom: 1rpx solid #e5e5e5; |
| | | padding: 22rpx 0; |
| | | margin-bottom: 22rpx; |
| | | .name { |
| | | font-weight: 600; |
| | | font-size: 32rpx; |
| | | color: #222222; |
| | | } |
| | | .status { |
| | | height: 38rpx; |
| | | line-height: 38rpx; |
| | | padding: 0 16rpx; |
| | | border-radius: 4rpx; |
| | | border: 1rpx solid #999999; |
| | | font-size: 22rpx; |
| | | color: #999999; |
| | | } |
| | | } |
| | | .line { |
| | | display: flex; |
| | | margin-bottom: 12rpx; |
| | | .label { |
| | | width: 140rpx; |
| | | color: #666666; |
| | | } |
| | | .value { |
| | | flex: 1; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | <template>
|
| | | <view class="main_app">
|
| | | <view class="tabs">
|
| | | <view class="tab" :class="{ active: activeTab === '0' }" @click="tabClick('0')">
|
| | | <text class="name">ä¼è®®æ¥å</text>
|
| | | <view class="line"></view>
|
| | | </view>
|
| | | <view class="tab" :class="{ active: activeTab === '1' }" @click="tabClick('1')">
|
| | | <text class="name">é¢çº¦è®°å½</text>
|
| | | <view class="line"></view>
|
| | | </view>
|
| | | </view>
|
| | | <!-- -->
|
| | | <template v-if="activeTab == '0'">
|
| | | <!-- <uni-calendar @change="changeCalendar" :selected="selected" /> -->
|
| | | <!-- æ¥å -->
|
| | | <view class="container_b">
|
| | | <Calendar
|
| | | ref="Calendar"
|
| | | :currentTime="currentTime1"
|
| | | :mark="mark"
|
| | | :showLunar="false"
|
| | | @dayChange="dayChange"
|
| | | @monthChange="monthChange"
|
| | | :rangeMode="false"
|
| | | :maskColor="'#ffffff'"
|
| | | :dateStart="dateStart"
|
| | | :dateEnd="dateEnd"
|
| | | :canDrag="false"
|
| | | ></Calendar>
|
| | | </view>
|
| | | <!-- -->
|
| | | <view class="card_list">
|
| | | <view class="card_title">
|
| | | <view class="name">
|
| | | <view class="icon"></view>
|
| | | <view class="text">仿¥ä¼è®®</view>
|
| | | </view>
|
| | | <view class="meeting">
|
| | | <view class="text mr24">å
¨é¨ä¼è®®å®¤</view>
|
| | | <u-icon name="arrow-down" size="12" color="#999999" />
|
| | | </view>
|
| | | </view>
|
| | | <view class="list">
|
| | | <view class="item">
|
| | | <view class="head">
|
| | | <view class="name">aaaaaéå</view>
|
| | | <view class="status">å³å°å¼å§</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="label">ä¼è®®æ¶é´ï¼</view>
|
| | | <view class="value">12:00-12</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="label">ä¼è®®å®¤ï¼</view>
|
| | | <view class="value">202ä¼è®®å®¤</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="label">é¢çº¦äººï¼</view>
|
| | | <view class="value">æ¨ææ</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="label">夿³¨ï¼</view>
|
| | | <view class="value">--</view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </template>
|
| | | <!-- -->
|
| | | <template v-if="activeTab === '1'">
|
| | | <view class="card_list">
|
| | | <view class="list">
|
| | | <view class="item" @click="handleDetail()">
|
| | | <view class="head">
|
| | | <view class="name">aaaaaéå</view>
|
| | | <view class="status">å³å°å¼å§</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="label">ä¼è®®æ¶é´ï¼</view>
|
| | | <view class="value">12:00-12</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="label">ä¼è®®å®¤ï¼</view>
|
| | | <view class="value">202ä¼è®®å®¤</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="label">é¢çº¦äººï¼</view>
|
| | | <view class="value">æ¨ææ</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="label">夿³¨ï¼</view>
|
| | | <view class="value">--</view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </template>
|
| | | </view>
|
| | | </template>
|
| | |
|
| | | <script>
|
| | | import Calendar from '@/components/Li-Calendar/Li-Calendar.vue';
|
| | | import { getDay } from '@/utils/utils.js';
|
| | | function getDate(date, AddDayCount = 0) {
|
| | | if (!date) {
|
| | | date = new Date();
|
| | | }
|
| | | if (typeof date !== 'object') {
|
| | | date = date.replace(/-/g, '/');
|
| | | }
|
| | | const dd = new Date(date);
|
| | |
|
| | | dd.setDate(dd.getDate() + AddDayCount); // è·åAddDayCount天åçæ¥æ
|
| | |
|
| | | const y = dd.getFullYear();
|
| | | const m = dd.getMonth() + 1 < 10 ? '0' + (dd.getMonth() + 1) : dd.getMonth() + 1; // è·åå½åæä»½çæ¥æï¼ä¸è¶³10è¡¥0
|
| | | const d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate(); // è·åå½åå å·ï¼ä¸è¶³10è¡¥0
|
| | | return {
|
| | | fullDate: y + '-' + m + '-' + d,
|
| | | year: y,
|
| | | month: m,
|
| | | date: d,
|
| | | day: dd.getDay()
|
| | | };
|
| | | }
|
| | | export default {
|
| | | components: {
|
| | | Calendar
|
| | | },
|
| | | data() {
|
| | | return {
|
| | | activeTab: '0',
|
| | | currentTime1: '',
|
| | | dateStart: '1999-05-01',
|
| | | dateEnd: '2999-06-15',
|
| | | mark: [],
|
| | | selected: [
|
| | | {
|
| | | date: getDate(new Date(), -3).fullDate
|
| | | // info: 'æå¡'
|
| | | },
|
| | | {
|
| | | date: getDate(new Date(), -2).fullDate,
|
| | | // info: 'ç¾å°',
|
| | | data: {
|
| | | custom: 'èªå®ä¹ä¿¡æ¯',
|
| | | name: 'èªå®ä¹æ¶æ¯å¤´'
|
| | | }
|
| | | },
|
| | | {
|
| | | date: getDate(new Date(), -1).fullDate,
|
| | | info: 'å·²æå¡'
|
| | | }
|
| | | ]
|
| | | };
|
| | | },
|
| | | methods: {
|
| | | tabClick(val) {
|
| | | this.activeTab = val;
|
| | | },
|
| | | handleDetail(item) {
|
| | | uni.navigateTo({
|
| | | // url: `/pages/staff/meetingDetail?id=${item.id}`,
|
| | | url: `/pages/staff/meetingDetail`
|
| | | });
|
| | | },
|
| | | changeCalendar(e) {
|
| | | console.log(e);
|
| | | },
|
| | | // ç¹å»æå¤©
|
| | | dayChange(data) {
|
| | | console.log(data);
|
| | | let date = data.time;
|
| | | let yyyy = data.time.substring(0, 4);
|
| | | let mm = Number(data.time.substring(data.time.indexOf('-') + 1, data.time.lastIndexOf('-')));
|
| | | let dd = Number(data.time.substring(data.time.lastIndexOf('-') + 1, data.time.length));
|
| | | mm = mm < 10 ? `0${mm}` : mm;
|
| | | dd = dd < 10 ? `0${dd}` : dd;
|
| | | let riqi = `${yyyy}-${mm}-${dd}`;
|
| | | this.currentTime = riqi;
|
| | | this.list = [];
|
| | | this.next = false;
|
| | | this.page = 0;
|
| | | // this.getRoomList()
|
| | | },
|
| | | // ä¸ä¸æ
|
| | | monthChange(data) {
|
| | | let date = data.date.replace(/[/]/g, '-');
|
| | | let yyyy = date.substring(0, 4);
|
| | | let mm = Number(date.substring(date.indexOf('-') + 1, date.lastIndexOf('-')));
|
| | | let dd = Number(date.substring(date.lastIndexOf('-') + 1, date.length));
|
| | | mm = mm < 10 ? `0${mm}` : mm;
|
| | | dd = dd < 10 ? `0${dd}` : dd;
|
| | | let riqi = `${yyyy}-${mm}-${dd}`;
|
| | | console.log('æ¥æ', riqi);
|
| | | this.currentTime1 = riqi;
|
| | | // this.getDateNum()
|
| | | }
|
| | | }
|
| | | };
|
| | | </script>
|
| | |
|
| | | <style lang="scss">
|
| | | page {
|
| | | background-color: #f7f7f7;
|
| | | }
|
| | | .main_app {
|
| | | padding: 0;
|
| | | background-color: #f7f7f7;
|
| | | ::v-deep .uni-calendar-item--checked {
|
| | | background-color: #279baa;
|
| | | border-radius: 8rpx;
|
| | | }
|
| | | ::v-deep .uni-calendar-item--isDay-text {
|
| | | color: #279baa;
|
| | | }
|
| | | ::v-deep .uni-calendar-item--isDay {
|
| | | background-color: #279baa;
|
| | | color: #fff;
|
| | | border-radius: 8rpx;
|
| | | }
|
| | | .tabs {
|
| | | display: flex;
|
| | | background-color: #fff;
|
| | | .tab {
|
| | | flex: 1;
|
| | | height: 88rpx;
|
| | | display: flex;
|
| | | justify-content: center;
|
| | | align-items: center;
|
| | | font-size: 28rpx;
|
| | | color: #666666;
|
| | | position: relative;
|
| | | .line {
|
| | | width: 60rpx;
|
| | | height: 4rpx;
|
| | | background: #fff;
|
| | | border-radius: 3rpx;
|
| | | position: absolute;
|
| | | bottom: 0;
|
| | | left: 50%;
|
| | | transform: translate(-50%, 0);
|
| | | }
|
| | | }
|
| | | .active {
|
| | | font-weight: 500;
|
| | | font-size: 30rpx;
|
| | | color: #222222;
|
| | | .line {
|
| | | background-color: #279baa;
|
| | | }
|
| | | }
|
| | | }
|
| | | //
|
| | | .card_list {
|
| | | padding: 30rpx;
|
| | | .card_title {
|
| | | display: flex;
|
| | | justify-content: space-between;
|
| | | align-items: center;
|
| | | margin-bottom: 22rpx;
|
| | | .name {
|
| | | display: flex;
|
| | | align-items: center;
|
| | | .icon {
|
| | | width: 6rpx;
|
| | | height: 32rpx;
|
| | | background: #279baa;
|
| | | border-radius: 4rpx;
|
| | | margin-right: 16rpx;
|
| | | }
|
| | | .text {
|
| | | font-weight: 600;
|
| | | font-size: 32rpx;
|
| | | color: #222222;
|
| | | }
|
| | | }
|
| | | .meeting {
|
| | | display: flex;
|
| | | height: 52rpx;
|
| | | line-height: 52rpx;
|
| | | background: #ffffff;
|
| | | border-radius: 26rpx;
|
| | | border: 2rpx solid #eeeeee;
|
| | | padding: 0 24rpx;
|
| | | .text {
|
| | | font-size: 24rpx;
|
| | | color: #333333;
|
| | | }
|
| | | }
|
| | | }
|
| | | .list {
|
| | | .item {
|
| | | padding: 0rpx 30rpx 30rpx;
|
| | | background: #ffffff;
|
| | | border-radius: 8rpx;
|
| | | .head {
|
| | | display: flex;
|
| | | justify-content: space-between;
|
| | | align-items: center;
|
| | | border-bottom: 1rpx solid #e5e5e5;
|
| | | padding: 22rpx 0;
|
| | | margin-bottom: 22rpx;
|
| | | .name {
|
| | | font-weight: 600;
|
| | | font-size: 32rpx;
|
| | | color: #222222;
|
| | | }
|
| | | .status {
|
| | | height: 38rpx;
|
| | | line-height: 38rpx;
|
| | | padding: 0 16rpx;
|
| | | border-radius: 4rpx;
|
| | | border: 1rpx solid #999999;
|
| | | font-size: 22rpx;
|
| | | color: #999999;
|
| | | }
|
| | | }
|
| | | .line {
|
| | | display: flex;
|
| | | margin-bottom: 12rpx;
|
| | | .label {
|
| | | width: 140rpx;
|
| | | color: #666666;
|
| | | }
|
| | | .value {
|
| | | flex: 1;
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | .container_b {
|
| | | width: 100%;
|
| | | padding: 30rpx;
|
| | | background: #ffffff;
|
| | | padding-top: 20rpx;
|
| | | box-sizing: border-box;
|
| | | }
|
| | | </style> |