作者 刘晓艳

瑜伽小程序静态页

正在显示 100 个修改的文件 包含 3105 行增加0 行删除

要显示太多修改。

为保证性能只显示 100 of 100+ 个文件。

  1 +//app.js
  2 +App({
  3 + post: function (url, data, headerParams) {
  4 + wx.showNavigationBarLoading()
  5 + wx.showLoading({
  6 + title: '',
  7 + })
  8 + var promise = new Promise((resolve, reject) => {
  9 + let that = this;
  10 + let postData = data;
  11 + let baseUrl = 'http://yujia.w.bronet.cn/api/';
  12 + let header = {
  13 + 'content-type': 'application/x-www-form-urlencoded'
  14 + }
  15 + header = Object.assign(header, headerParams)
  16 + wx.request({
  17 + url: baseUrl + url,
  18 + data: postData,
  19 + method: 'POST',
  20 + header: header,
  21 + success: function (res) {
  22 + resolve(res)
  23 + setTimeout(function () {
  24 + wx.hideLoading()
  25 + }, 600)
  26 + wx.hideNavigationBarLoading()
  27 + },
  28 + error: function (e) {
  29 + reject('');
  30 + wx.hideLoading()
  31 + wx.hideNavigationBarLoading()
  32 + wx.showModal({
  33 + title: '',
  34 + content: res.data.msg,
  35 + showCancel: false
  36 + })
  37 + }
  38 + })
  39 + });
  40 + wx.hideLoading()
  41 + return promise;
  42 + },
  43 + globalData: {
  44 + userInfo: null
  45 + }
  46 +})
  1 +{
  2 + "pages": [
  3 + "pages/yogaHome/yogaHome",
  4 + "pages/start/start",
  5 + "pages/planOrder/lectureOrder/lectureOrder",
  6 + "pages/my/groupDetail/groupDetail",
  7 + "pages/planCalendar/planCalendar",
  8 + "pages/my/coachIndex/coachIndex",
  9 + "pages/my/recordDetail/recordDetail",
  10 + "pages/my/courseDetail/courseDetail",
  11 + "pages/my/behave/behave",
  12 + "pages/my/targetCourse/targetCourse",
  13 + "pages/my/planManage/planManage",
  14 + "pages/my/vipManage/vipManage",
  15 + "pages/my/coachVerify2/coachVerify2",
  16 + "pages/my/coachVerify/coachVerify",
  17 + "pages/my/myInfo/myInfo",
  18 + "pages/my/appointmentCourse/appointmentCourse",
  19 + "pages/my/info/info",
  20 + "pages/my/my",
  21 + "pages/yogaHome/planName/planName",
  22 + "pages/yogaHome/yogaHomeClassList/yogaHomeClassList",
  23 + "pages/yogaHome/yogaHomeClass/yogaHomeClass",
  24 + "pages/planVoice/planVoice",
  25 + "pages/planOrder/planOrder"
  26 + ],
  27 + "window": {
  28 + "backgroundTextStyle": "light",
  29 + "navigationBarBackgroundColor": "#fff",
  30 + "navigationBarTitleText": "WeChat",
  31 + "navigationBarTextStyle": "black"
  32 + },
  33 + "permission": {
  34 + "scope.userLocation": {
  35 + "desc": "你的位置信息将用于小程序位置接口的效果展示"
  36 + }
  37 + },
  38 + "tabBar": {
  39 + "list": [
  40 + {
  41 + "pagePath": "pages/yogaHome/yogaHome",
  42 + "text": "瑜伽房",
  43 + "iconPath": "images/sadasfaffgf@2x.png",
  44 + "selectedIconPath": "images/fgsgsgjkj@2x.png"
  45 + },
  46 + {
  47 + "pagePath": "pages/planOrder/planOrder",
  48 + "text": "计划订单",
  49 + "iconPath": "images/sadasfaffgf@2x.png",
  50 + "selectedIconPath": "images/fgsgsgjkj@2x.png"
  51 + },
  52 + {
  53 + "pagePath": "pages/planCalendar/planCalendar",
  54 + "text": "计划日历",
  55 + "iconPath": "images/sadasfaffgf@2x.png",
  56 + "selectedIconPath": "images/fgsgsgjkj@2x.png"
  57 + },
  58 + {
  59 + "pagePath": "pages/planVoice/planVoice",
  60 + "text": "计划表现",
  61 + "iconPath": "images/sadasfaffgf@2x.png",
  62 + "selectedIconPath": "images/fgsgsgjkj@2x.png"
  63 + },
  64 + {
  65 + "pagePath": "pages/my/my",
  66 + "text": "我的",
  67 + "iconPath": "images/sadasfaffgf@2x.png",
  68 + "selectedIconPath": "images/fgsgsgjkj@2x.png"
  69 + }
  70 + ]
  71 + }
  72 +}
  1 +/**app.wxss**/
  2 +@font-face {
  3 + font-family: 'iconfont'; /* project id 994540 */
  4 + src: url('//at.alicdn.com/t/font_994540_3xqg5kvb3ec.eot');
  5 + src: url('//at.alicdn.com/t/font_994540_3xqg5kvb3ec.eot?#iefix') format('embedded-opentype'),
  6 + url('//at.alicdn.com/t/font_994540_3xqg5kvb3ec.woff') format('woff'),
  7 + url('//at.alicdn.com/t/font_994540_3xqg5kvb3ec.ttf') format('truetype'),
  8 + url('//at.alicdn.com/t/font_994540_3xqg5kvb3ec.svg#iconfont') format('svg');
  9 +}
  10 +
  11 +.iconfont {
  12 + font-family:"iconfont" !important;
  13 + font-size:16px;
  14 + font-style:normal;
  15 + -webkit-font-smoothing: antialiased;
  16 + -moz-osx-font-smoothing: grayscale;
  17 +}
  18 +
  19 +.icon-dianhua:before { content: "\e601"; }
  20 +
  21 +.icon-fanhui:before { content: "\e609"; }
  22 +
  23 +.icon-xing:before { content: "\e64e"; }
  1 +// pages/my/appointmentCourse/appointmentCourse.js
  2 +Page({
  3 +
  4 + /**
  5 + * 页面的初始数据
  6 + */
  7 + data: {
  8 +
  9 + },
  10 +
  11 + /**
  12 + * 生命周期函数--监听页面加载
  13 + */
  14 + onLoad: function (options) {
  15 +
  16 + },
  17 +
  18 + /**
  19 + * 生命周期函数--监听页面初次渲染完成
  20 + */
  21 + onReady: function () {
  22 +
  23 + },
  24 +
  25 + /**
  26 + * 生命周期函数--监听页面显示
  27 + */
  28 + onShow: function () {
  29 +
  30 + },
  31 +
  32 + /**
  33 + * 生命周期函数--监听页面隐藏
  34 + */
  35 + onHide: function () {
  36 +
  37 + },
  38 +
  39 + /**
  40 + * 生命周期函数--监听页面卸载
  41 + */
  42 + onUnload: function () {
  43 +
  44 + },
  45 +
  46 + /**
  47 + * 页面相关事件处理函数--监听用户下拉动作
  48 + */
  49 + onPullDownRefresh: function () {
  50 +
  51 + },
  52 +
  53 + /**
  54 + * 页面上拉触底事件的处理函数
  55 + */
  56 + onReachBottom: function () {
  57 +
  58 + },
  59 +
  60 + /**
  61 + * 用户点击右上角分享
  62 + */
  63 + onShareAppMessage: function () {
  64 +
  65 + }
  66 +})
  1 +{
  2 + "usingComponents": {}
  3 +}
  1 +<!--pages/my/appointmentCourse/appointmentCourse.wxml-->
  2 +<view class='box'>
  3 + <view class='banner_box'>
  4 + <image src='/images/dggfhre@2x.png'></image>
  5 + <view class='banner_info'>
  6 + <view class='user_name'>李道空</view>
  7 + <view>注册日期:2018年2月30日</view>
  8 + <view>
  9 + <text>约课电话:15632424967</text>
  10 + <text class='iconfont icon-dianhua'></text>
  11 + </view>
  12 + </view>
  13 + </view>
  14 + <view class='content_box'>
  15 + <view class='list_btn_box'>
  16 + <view class='list_btn'>场所合作</view>
  17 + <view class='list_btn'>信息反馈</view>
  18 + <view class='list_btn'>切换至教练模式</view>
  19 + </view>
  20 + </view>
  21 + <view class='info'>
  22 + <view> 预约私教授课须知:</view>
  23 + <view> 电话预约私人教练上课时间,在线记录;</view>
  24 + <view>取消私教课程需提前6小时</view>
  25 + </view>
  26 + <view class='submit_btn'>确认上课时间</view>
  27 +</view>
  1 +/* pages/my/appointmentCourse/appointmentCourse.wxss */
  2 +
  3 +.box {
  4 + padding: 0 38rpx;
  5 +}
  6 +
  7 +.banner_box {
  8 + width: 100%;
  9 + height: 200rpx;
  10 + display: flex;
  11 + align-items: center;
  12 + /* justify-content: space-between; */
  13 + background: #fff;
  14 + box-shadow: 0rpx -1rpx 50rpx 0rpx rgba(51, 51, 51, 0.06);
  15 + border-radius: 10rpx;
  16 + padding: 30rpx;
  17 + box-sizing: border-box;
  18 + font-size: 28rpx;
  19 + color: #333333;
  20 +}
  21 +
  22 +.banner_box image {
  23 + width: 160rpx;
  24 + height: 160rpx;
  25 + border-radius: 50%;
  26 +}
  27 +.banner_info{
  28 + width: 68%;
  29 + line-height: 50rpx;
  30 + margin-left: 40rpx;
  31 +}
  32 +.icon-dianhua{
  33 + color: #FF8080;
  34 + margin-left: 63rpx;
  35 +}
  36 +.list_btn_box {
  37 + margin-top: 60rpx;
  38 +}
  39 +.user_name{
  40 + font-size: 30rpx;
  41 + color: #333333;
  42 + font-weight: bold;
  43 +}
  44 +.list_btn {
  45 + width: 100%;
  46 + height: 100rpx;
  47 + background: #fafafa;
  48 + border-radius: 10rpx;
  49 + font-size: 28rpx;
  50 + font-weight: bold;
  51 + color: #333;
  52 + display: flex;
  53 + align-items: center;
  54 + justify-content: center;
  55 + margin-top: 20rpx;
  56 +}
  57 +.info{
  58 + font-size: 24rpx;
  59 + color: #333333;
  60 + text-align: center;
  61 + margin-top: 100rpx;
  62 +}
  63 +.submit_btn {
  64 + width: 100%;
  65 + height: 80rpx;
  66 + background: linear-gradient(27deg, rgba(255, 128, 128, 1), rgba(255, 140, 140, 1));
  67 + box-shadow: 4rpx 19rpx 92rpx 0rpx rgba(247, 94, 94, 0.39);
  68 + border-radius: 10rpx;
  69 + font-size: 32rpx;
  70 + font-weight: bold;
  71 + color: #fff;
  72 + display: flex;
  73 + align-items: center;
  74 + justify-content: center;
  75 + margin-top: 100rpx;
  76 +}
  1 +// pages/my/behave/behave.js
  2 +Page({
  3 +
  4 + /**
  5 + * 页面的初始数据
  6 + */
  7 + data: {
  8 +
  9 + },
  10 +
  11 + /**
  12 + * 生命周期函数--监听页面加载
  13 + */
  14 + onLoad: function (options) {
  15 +
  16 + },
  17 +
  18 + /**
  19 + * 生命周期函数--监听页面初次渲染完成
  20 + */
  21 + onReady: function () {
  22 +
  23 + },
  24 +
  25 + /**
  26 + * 生命周期函数--监听页面显示
  27 + */
  28 + onShow: function () {
  29 +
  30 + },
  31 +
  32 + /**
  33 + * 生命周期函数--监听页面隐藏
  34 + */
  35 + onHide: function () {
  36 +
  37 + },
  38 +
  39 + /**
  40 + * 生命周期函数--监听页面卸载
  41 + */
  42 + onUnload: function () {
  43 +
  44 + },
  45 +
  46 + /**
  47 + * 页面相关事件处理函数--监听用户下拉动作
  48 + */
  49 + onPullDownRefresh: function () {
  50 +
  51 + },
  52 +
  53 + /**
  54 + * 页面上拉触底事件的处理函数
  55 + */
  56 + onReachBottom: function () {
  57 +
  58 + },
  59 +
  60 + /**
  61 + * 用户点击右上角分享
  62 + */
  63 + onShareAppMessage: function () {
  64 +
  65 + }
  66 +})
  1 +{
  2 + "usingComponents": {},
  3 + "navigationBarTitleText": "表现"
  4 +}
  1 +<!--pages/my/behave/behave.wxml-->
  2 +
  3 +<view class='content_box'>
  4 + <view class='list_title'>计划名称/计划课程/目标评估课程</view>
  5 + <view class='table_box'>
  6 + <view class='table_item'>
  7 + <view class='date_item'>日期</view>
  8 + <view class='score_item'>得分</view>
  9 + </view>
  10 + <view class='table_item'>
  11 + <view class='date_item'>2018/11/11 08:00-09:00</view>
  12 + <view class='score_item'>10</view>
  13 + </view>
  14 + <view class='table_item'>
  15 + <view class='date_item'>2018/11/11 08:00-09:00</view>
  16 + <view class='score_item'>10</view>
  17 + </view>
  18 + </view>
  19 +</view>
  1 +/* pages/my/behave/behave.wxss */
  2 +
  3 +.list_title {
  4 + font-size: 30rpx;
  5 + font-weight: bold;
  6 + color: #333;
  7 +}
  8 +
  9 +.content_box {
  10 + width: 100%;
  11 + padding: 30rpx;
  12 + box-sizing: border-box;
  13 + margin-top: 30rpx;
  14 +}
  15 +
  16 +.table_box {
  17 + width: 100%;
  18 + background: rgba(232, 232, 232, 1);
  19 + border-radius: 10rpx;
  20 + margin-top: 30rpx;
  21 +}
  22 +
  23 +.table_item {
  24 + display: flex;
  25 + align-items: center;
  26 + font-size: 26rpx;
  27 + color: #333;
  28 + text-align: center;
  29 + border-bottom: 1rpx solid #fff;
  30 +}
  31 +
  32 +.date_item {
  33 + width: 70%;
  34 + border-right: 1rpx solid #fff;
  35 + padding: 20rpx 0;
  36 +}
  37 +
  38 +.score_item {
  39 + width: 30%;
  40 + padding: 20rpx 0;
  41 +}
  1 +// pages/my/coachIndex/coachIndex.js
  2 +Page({
  3 +
  4 + /**
  5 + * 页面的初始数据
  6 + */
  7 + data: {
  8 +
  9 + },
  10 +
  11 + /**
  12 + * 生命周期函数--监听页面加载
  13 + */
  14 + onLoad: function (options) {
  15 +
  16 + },
  17 +
  18 + /**
  19 + * 生命周期函数--监听页面初次渲染完成
  20 + */
  21 + onReady: function () {
  22 +
  23 + },
  24 +
  25 + /**
  26 + * 生命周期函数--监听页面显示
  27 + */
  28 + onShow: function () {
  29 +
  30 + },
  31 +
  32 + /**
  33 + * 生命周期函数--监听页面隐藏
  34 + */
  35 + onHide: function () {
  36 +
  37 + },
  38 +
  39 + /**
  40 + * 生命周期函数--监听页面卸载
  41 + */
  42 + onUnload: function () {
  43 +
  44 + },
  45 +
  46 + /**
  47 + * 页面相关事件处理函数--监听用户下拉动作
  48 + */
  49 + onPullDownRefresh: function () {
  50 +
  51 + },
  52 +
  53 + /**
  54 + * 页面上拉触底事件的处理函数
  55 + */
  56 + onReachBottom: function () {
  57 +
  58 + },
  59 +
  60 + /**
  61 + * 用户点击右上角分享
  62 + */
  63 + onShareAppMessage: function () {
  64 +
  65 + }
  66 +})
  1 +{
  2 + "usingComponents": {}
  3 +}
  1 +<!--pages/my/coachIndex/coachIndex.wxml-->
  2 +<view class='banner_box'>
  3 + <image src='/images/dggfhre@2x.png'></image>
  4 + <view class='user_name'>何易</view>
  5 + <view>注册时间:2018年2月31日</view>
  6 +</view>
  7 +<view class='content_box'>
  8 + <view class='info_title'>
  9 + <view>已认证信息</view>
  10 + <view class='info_box'>
  11 + <view class='info_item'>身份证</view>
  12 + <view class='info_item'>身份证</view>
  13 + <view class='info_item'>身份证</view>
  14 + </view>
  15 + </view>
  16 + <view class='list_btn_box'>
  17 + <view class='list_btn'>
  18 + <view class='list_title'>场所合作</view>
  19 + <view>姿势异常管理 慢性肌肉骨骼疼痛</view>
  20 + </view>
  21 + <view class='list_btn'>
  22 + <view class='list_title'>场所合作</view>
  23 + <view>姿势异常管理 慢性肌肉骨骼疼痛</view>
  24 + </view>
  25 + <view class='list_btn'>
  26 + <view class='list_title'>场所合作</view>
  27 + <view>姿势异常管理 慢性肌肉骨骼疼痛</view>
  28 + </view>
  29 + </view>
  30 + <view class='coentent_label_box'>
  31 + <view class="label_item label_active">2018年12月</view>
  32 + <view class="label_item">2018年12月</view>
  33 + <view class="label_item">2018年12月</view>
  34 + </view>
  35 +</view>
  36 +<view class='plan_box'>
  37 + <view class='plan_info_box'>
  38 + <view class='plan_item' wx:for='{{[1,2,3]}}' wx:key>
  39 + <view class='list_title'>计划名称</view>
  40 + <view class='plan_conten_box'>
  41 + <view class='item_content' wx:for='{{[1,2,3]}}' wx:key>
  42 + <view class=''>团体课程</view>
  43 + <view class='content_info'>
  44 + <view>总课时</view>
  45 + <view class='star_box'>
  46 + <view class='iconfont icon-xing' wx:for='{{[1,2,3]}}' wx:key></view>
  47 + </view>
  48 + </view>
  49 + </view>
  50 + </view>
  51 + </view>
  52 + </view>
  53 +</view>
  54 +<view class='course_box'>
  55 + <view class='course_item'>
  56 + <view class='label_title_box label_top'>
  57 + <view class='label_title'>教学内容</view>
  58 + </view>
  59 + <view class='label_info_box'>
  60 + <view>
  61 + TBCLASS目标协同授课体系是TBCLASS瑜伽 团课教练和私人教练课程设计与教学工具,由北京体 育大学多学科专家学者和瑜伽健身行业顶级教练历时 三年研发而成,大幅提升瑜伽会员训练体验和训练结 果
  62 + </view>
  63 + </view>
  64 + </view>
  65 + <view>
  66 + <view class='label_title_box label_top'>
  67 + <view class='label_title'>目标评估课程 : </view>
  68 + <view> 量化管理目标</view>
  69 + </view>
  70 + <view class='course_content_box'>
  71 + <view class='course_content_item' wx:for='{{[1,2,3]}}'>
  72 + <view>目标评估课程</view>
  73 + <view class='course_info'>得分数</view>
  74 + </view>
  75 + </view>
  76 + </view>
  77 +</view>
  1 +/* pages/my/coachIndex/coachIndex.wxss */
  2 +
  3 +.banner_box {
  4 + width: 100%;
  5 + height: 330rpx;
  6 + display: flex;
  7 + align-items: center;
  8 + justify-content: center;
  9 + flex-direction: column;
  10 + background: #626a82;
  11 + font-size: 24rpx;
  12 + color: #e8e8e8;
  13 +}
  14 +
  15 +.user_name {
  16 + font-size: 36rpx;
  17 + font-weight: bold;
  18 + color: #e8e8e8;
  19 + margin: 10rpx 0;
  20 +}
  21 +
  22 +.banner_box image {
  23 + width: 120rpx;
  24 + height: 120rpx;
  25 + border-radius: 50%;
  26 +}
  27 +
  28 +.content_box {
  29 + box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(51, 51, 51, 0.1);
  30 + position: relative;
  31 + z-index: 20;
  32 + background: #fff;
  33 +}
  34 +
  35 +.info_title {
  36 + padding: 17rpx 0;
  37 + /* border-bottom: 1rpx solid #a4a6b2; */
  38 + text-align: center;
  39 + font-size: 32rpx;
  40 + /* font-weight: bold; */
  41 + color: #333;
  42 + box-shadow: 0rpx 0rpx 51rpx 0rpx rgba(75, 75, 75, 0.16);
  43 +}
  44 +
  45 +.info_box {
  46 + display: flex;
  47 + align-items: center;
  48 + justify-content: space-between;
  49 + font-size: 26rpx;
  50 + color: #333;
  51 + margin-top: 10rpx;
  52 +}
  53 +
  54 +.info_item {
  55 + width: 33.3%;
  56 + border-right: 1rpx solid #000;
  57 +}
  58 +
  59 +.info_item:last-child {
  60 + border-right: 0;
  61 +}
  62 +
  63 +.list_btn_box {
  64 + padding: 0 30rpx;
  65 + margin-top: 18rpx;
  66 +}
  67 +
  68 +.list_btn {
  69 + width: 100%;
  70 + padding: 20rpx 40rpx;
  71 + border-radius: 10rpx;
  72 + box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(51, 51, 51, 0.1);
  73 + font-size: 24rpx;
  74 + /* font-weight: bold; */
  75 + color: #333;
  76 + display: flex;
  77 + align-items: center;
  78 + justify-content: space-between;
  79 + margin-top: 16rpx;
  80 + box-sizing: border-box;
  81 +}
  82 +
  83 +.list_title {
  84 + font-size: 30rpx;
  85 + font-weight: bold;
  86 + color: #333;
  87 +}
  88 +
  89 +.coentent_label_box {
  90 + padding: 30rpx;
  91 + display: flex;
  92 + align-items: center;
  93 + justify-content: space-between;
  94 + margin-top: 60rpx;
  95 +}
  96 +
  97 +.label_item {
  98 + width: 180rpx;
  99 + height: 58rpx;
  100 + background: rgba(255, 255, 255, 1);
  101 + box-shadow: 0rpx 1rpx 54rpx 0rpx rgba(62, 62, 62, 0.1);
  102 + border-radius: 10rpx;
  103 + font-size: 26rpx;
  104 + color: #333;
  105 + display: flex;
  106 + align-items: center;
  107 + justify-content: center;
  108 +}
  109 +
  110 +.label_active {
  111 + background: #ff7f7f;
  112 + color: #fff;
  113 +}
  114 +
  115 +.plan_box {
  116 + padding: 0 30rpx;
  117 + margin-top: -10rpx;
  118 + position: relative;
  119 + z-index: 1;
  120 +}
  121 +
  122 +.plan_info_box {
  123 + box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(51, 51, 51, 0.1);
  124 + border-radius: 10rpx;
  125 + padding: 0 30rpx;
  126 +}
  127 +
  128 +.plan_item {
  129 + border-bottom: 1rpx solid #e8e8e8;
  130 + padding: 30rpx 0;
  131 +}
  132 +
  133 +.plan_item:last-child {
  134 + border-bottom: 0;
  135 +}
  136 +
  137 +.plan_conten_box {
  138 + margin-top: 20rpx;
  139 +}
  140 +
  141 +.item_content {
  142 + display: flex;
  143 + align-items: center;
  144 + justify-content: space-between;
  145 + padding: 0 30rpx;
  146 + font-size: 26rpx !important;
  147 + color: #333 !important;
  148 + margin-top: 10rpx;
  149 +}
  150 +
  151 +.content_info {
  152 + display: flex;
  153 + align-items: center;
  154 +}
  155 +
  156 +.star_box {
  157 + display: flex;
  158 + align-items: center;
  159 + margin-left: 70rpx;
  160 +}
  161 +
  162 +.icon-xing {
  163 + font-size: 25rpx;
  164 + color: #ff8080;
  165 + margin-right: 10rpx;
  166 +}
  167 +
  168 +.course_box {
  169 + margin-top: 50rpx;
  170 +}
  171 +
  172 +.label_title_box {
  173 + width: 100%;
  174 + background: rgba(255, 255, 255, 1);
  175 + box-shadow: 0rpx 1rpx 10rpx 3rpx rgba(233, 233, 233, 0.6);
  176 + padding: 20rpx 30rpx;
  177 + /* border-top: 1rpx solid #e9e9e9; */
  178 + font-size: 24rpx;
  179 + color: #333;
  180 + box-sizing: border-box;
  181 + position: relative;
  182 + z-index: 20
  183 +}
  184 +
  185 +.label_title {
  186 + font-size: 30rpx;
  187 + font-weight: bold;
  188 + color: #333;
  189 +}
  190 +
  191 +.label_info_box {
  192 + width: 686rpx;
  193 + margin: 0 auto;
  194 + background: rgba(255, 255, 255, 1);
  195 + box-shadow: 0rpx 1rpx 5rpx 0rpx rgba(89, 89, 89, 0.1);
  196 + border-radius: 10rpx;
  197 + font-size: 24rpx;
  198 + color: #333;
  199 + padding: 30rpx;
  200 + box-sizing: border-box;
  201 + position: relative;
  202 + z-index: 10;
  203 +}
  204 +
  205 +.course_item {
  206 + margin-bottom: 30rpx;
  207 +}
  208 +
  209 +.label_btn {
  210 + font-size: 24rpx;
  211 + color: #ff8080;
  212 +}
  213 +
  214 +.course_content_box {
  215 + width: 686rpx;
  216 + margin: 0 auto;
  217 + padding:30rpx;
  218 + box-sizing: border-box;
  219 + box-shadow: 0rpx 1rpx 5rpx 0rpx rgba(89, 89, 89, 0.1);
  220 + border-radius: 10rpx;
  221 +
  222 +}
  223 +
  224 +.course_content_item {
  225 + display: flex;
  226 + align-items: center;
  227 + justify-content: space-between;
  228 + margin-bottom: 20rpx;
  229 + font-size: 28rpx;
  230 + color: #333;
  231 +}
  232 +.course_content_item:last-child{
  233 + margin-bottom: 0;
  234 +}
  235 +.course_info {
  236 + color: #ff8080;
  237 +}
  238 +
  239 +.course_content_item:last-child {
  240 + border-bottom: 0;
  241 +}
  242 +
  243 +.course_img {
  244 + width: 200rpx;
  245 + height: 150rpx;
  246 +}
  247 +
  248 +.course_img image {
  249 + width: 100%;
  250 + height: 100%;
  251 +}
  252 +
  253 +.course_content_info {
  254 + width: 80%;
  255 + margin-left: 20rpx;
  256 +}
  257 +
  258 +.course_title {
  259 + font-size: 28rpx;
  260 + font-weight: bold;
  261 + color: #333;
  262 + margin: 0 auto;
  263 +}
  264 +
  265 +.course_content {
  266 + font-size: 24rpx;
  267 + color: #333;
  268 +}
  269 +
  270 +.no_course {
  271 + font-size: 36rpx;
  272 + font-weight: bold;
  273 + color: #e8e8e8;
  274 + display: flex;
  275 + align-items: center;
  276 + justify-content: center;
  277 + padding: 55rpx 0;
  278 +}
  279 +
  280 +.more_box {
  281 + display: flex;
  282 + align-items: center;
  283 + justify-content: space-between;
  284 + font-size: 30rpx;
  285 + font-weight: bold;
  286 + color: #333;
  287 + padding: 20rpx 30rpx;
  288 + box-sizing: border-box;
  289 +}
  290 +
  291 +.more_info {
  292 + width: 80%;
  293 + display: flex;
  294 + align-items: center;
  295 + justify-content: flex-end;
  296 +}
  297 +
  298 +.more_peoper {
  299 + width: 385rpx;
  300 + /* display: flex;
  301 + align-items: center; */
  302 + white-space: nowrap;
  303 + overflow: scroll;
  304 +}
  305 +
  306 +.more_peoper image {
  307 + display: inline-block;
  308 + width: 50rpx;
  309 + height: 50rpx;
  310 + margin-right: 15rpx;
  311 +}
  312 +
  313 +.more_info_box {
  314 + width: 686rpx;
  315 + height: 150rpx;
  316 + background: rgba(255, 255, 255, 1);
  317 + box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(51, 51, 51, 0.1);
  318 + border-radius: 10rpx;
  319 + font-size: 30rpx;
  320 + font-weight: bold;
  321 + color: #333;
  322 + display: flex;
  323 + align-items: center;
  324 + justify-content: space-between;
  325 + padding: 20rpx;
  326 +}
  327 +
  328 +.more_info_box image {
  329 + width: 120rpx;
  330 + height: 120rpx;
  331 + border-radius: 8rpx;
  332 +}
  333 +
  334 +.more_btn {
  335 + padding: 20rpx;
  336 + border-bottom: 1rpx solid #e8e8e8;
  337 +}
  338 +
  339 +.more_btn:last-child {
  340 + border-bottom: 0;
  341 +}
  342 +
  343 +.more_active {
  344 + color: #ff8080;
  345 +}
  1 +// pages/my/coachVerify/coachVerify.js
  2 +Page({
  3 +
  4 + /**
  5 + * 页面的初始数据
  6 + */
  7 + data: {
  8 +
  9 + },
  10 +
  11 + /**
  12 + * 生命周期函数--监听页面加载
  13 + */
  14 + onLoad: function (options) {
  15 +
  16 + },
  17 +
  18 + /**
  19 + * 生命周期函数--监听页面初次渲染完成
  20 + */
  21 + onReady: function () {
  22 +
  23 + },
  24 +
  25 + /**
  26 + * 生命周期函数--监听页面显示
  27 + */
  28 + onShow: function () {
  29 +
  30 + },
  31 +
  32 + /**
  33 + * 生命周期函数--监听页面隐藏
  34 + */
  35 + onHide: function () {
  36 +
  37 + },
  38 +
  39 + /**
  40 + * 生命周期函数--监听页面卸载
  41 + */
  42 + onUnload: function () {
  43 +
  44 + },
  45 +
  46 + /**
  47 + * 页面相关事件处理函数--监听用户下拉动作
  48 + */
  49 + onPullDownRefresh: function () {
  50 +
  51 + },
  52 +
  53 + /**
  54 + * 页面上拉触底事件的处理函数
  55 + */
  56 + onReachBottom: function () {
  57 +
  58 + },
  59 +
  60 + /**
  61 + * 用户点击右上角分享
  62 + */
  63 + onShareAppMessage: function () {
  64 +
  65 + }
  66 +})
  1 +{
  2 + "usingComponents": {},
  3 + "navigationBarTitleText": "教练认证"
  4 +}
  1 +<!--pages/my/coachVerify/coachVerify.wxml-->
  2 +<view>
  3 + <view class='label_title_box'>
  4 + <view class='label_title'>教学内容</view>
  5 + </view>
  6 + <view class='content_box'>
  7 + <view class='item_list list_active'>姿势异常</view>
  8 + <view class='item_list'>姿势异常</view>
  9 + <view class='item_list'>姿势异常</view>
  10 + </view>
  11 + <view class='bottom_box'>
  12 + <view>说明:线下场所将不定期地为求职教练提供服务产品培训</view>
  13 + <view class='submit_btn'>完成</view>
  14 + </view>
  15 +</view>
  1 +/* pages/my/coachVerify/coachVerify.wxss */
  2 +
  3 +.label_title_box {
  4 + width: 100%;
  5 + background: rgba(255, 255, 255, 1);
  6 + box-shadow: 0rpx 1rpx 10rpx 0rpx rgba(233, 233, 233, 1);
  7 + padding: 20rpx 30rpx;
  8 + display: flex;
  9 + align-items: center;
  10 + justify-content: space-between;
  11 + border-top: 1rpx solid #e9e9e9;
  12 + font-size: 24rpx;
  13 + color: #333;
  14 + box-sizing: border-box;
  15 + margin-top: 20rpx;
  16 +}
  17 +
  18 +.label_title {
  19 + font-size: 30rpx;
  20 + font-weight: bold;
  21 + color: #333;
  22 +}
  23 +
  24 +.content_box {
  25 + width: 100%;
  26 + padding: 0 40rpx;
  27 + box-sizing: border-box;
  28 + margin-top: 40rpx;
  29 +}
  30 +
  31 +.item_list {
  32 + padding: 20rpx 0;
  33 + box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(51, 51, 51, 0.1);
  34 + border-radius: 10rpx;
  35 + display: flex;
  36 + align-items: center;
  37 + justify-content: center;
  38 + font-size: 30rpx;
  39 + font-weight: bold;
  40 + color: #333;
  41 + margin-bottom: 30rpx;
  42 +}
  43 +
  44 +.list_active {
  45 + box-shadow: 0rpx 1rpx 20rpx 0rpx rgba(92, 92, 92, 0.2);
  46 + color: #ff8181;
  47 +}
  48 +
  49 +.bottom_box {
  50 + width: 100%;
  51 + position: fixed;
  52 + left: 50%;
  53 + bottom: 75rpx;
  54 + transform: translate(-50%);
  55 + font-size: 24rpx;
  56 + color: #bfbfbf;
  57 + font-weight: bold;
  58 + padding: 0 40rpx;
  59 + display: flex;
  60 + align-items: center;
  61 + justify-content: center;
  62 + flex-direction: column;
  63 +}
  64 +
  65 +.submit_btn {
  66 + width: 92%;
  67 + height: 80rpx;
  68 + background: linear-gradient(27deg, rgba(255, 128, 128, 1), rgba(255, 140, 140, 1));
  69 + box-shadow: 4rpx 19rpx 92rpx 0rpx rgba(247, 94, 94, 0.39);
  70 + border-radius: 10rpx;
  71 + font-size: 32rpx;
  72 + font-weight: bold;
  73 + color: #fff;
  74 + display: flex;
  75 + align-items: center;
  76 + justify-content: center;
  77 + margin-top: 30rpx;
  78 +}
  1 +// pages/my/coachVerify2/coachVerify2.js
  2 +Page({
  3 +
  4 + /**
  5 + * 页面的初始数据
  6 + */
  7 + data: {
  8 +
  9 + },
  10 +
  11 + /**
  12 + * 生命周期函数--监听页面加载
  13 + */
  14 + onLoad: function (options) {
  15 +
  16 + },
  17 +
  18 + /**
  19 + * 生命周期函数--监听页面初次渲染完成
  20 + */
  21 + onReady: function () {
  22 +
  23 + },
  24 +
  25 + /**
  26 + * 生命周期函数--监听页面显示
  27 + */
  28 + onShow: function () {
  29 +
  30 + },
  31 +
  32 + /**
  33 + * 生命周期函数--监听页面隐藏
  34 + */
  35 + onHide: function () {
  36 +
  37 + },
  38 +
  39 + /**
  40 + * 生命周期函数--监听页面卸载
  41 + */
  42 + onUnload: function () {
  43 +
  44 + },
  45 +
  46 + /**
  47 + * 页面相关事件处理函数--监听用户下拉动作
  48 + */
  49 + onPullDownRefresh: function () {
  50 +
  51 + },
  52 +
  53 + /**
  54 + * 页面上拉触底事件的处理函数
  55 + */
  56 + onReachBottom: function () {
  57 +
  58 + },
  59 +
  60 + /**
  61 + * 用户点击右上角分享
  62 + */
  63 + onShareAppMessage: function () {
  64 +
  65 + }
  66 +})
  1 +{
  2 + "usingComponents": {}
  3 +}
  1 +<!--pages/my/coachVerify2/coachVerify2.wxml-->
  2 +
  3 +<view class='box'>
  4 + <view class='head_box'>
  5 + <image src='/images/dggfhre@2x.png'></image>
  6 + </view>
  7 + <view class='content_box'>
  8 + <view class='item_list'>
  9 + <view class='list_title'>姓名</view>
  10 + <view>
  11 + <input placeholder='请填写' placeholder-class='pl_style'></input>
  12 + </view>
  13 + </view>
  14 + <view class='item_list'>
  15 + <view class='list_title'>认证课程</view>
  16 + <view>
  17 + <input placeholder='请填写' placeholder-class='pl_style'></input>
  18 + </view>
  19 + </view>
  20 + <view class='item_list'>
  21 + <view class='list_title'>授课类型</view>
  22 + <view>
  23 + <input placeholder='请填写' placeholder-class='pl_style'></input>
  24 + </view>
  25 + </view>
  26 + <view class='item_list'>
  27 + <view class='list_title'>培训机构</view>
  28 + <view>
  29 + <input placeholder='请填写' placeholder-class='pl_style'></input>
  30 + </view>
  31 + </view>
  32 + <view class='item_list'>
  33 + <view class='list_title'>约课电话</view>
  34 + <view>
  35 + <input placeholder='请填写' placeholder-class='pl_style'></input>
  36 + </view>
  37 + </view>
  38 + <view class='item_list'>
  39 + <view class='list_title'>身份证件</view>
  40 + <view>
  41 + <input placeholder='请填写' placeholder-class='pl_style'></input>
  42 + </view>
  43 + </view>
  44 + <view class='item_list'>
  45 + <view class='list_title'>个人介绍</view>
  46 + <view class='list_textarea'>
  47 + <textarea placeholder=''></textarea>
  48 + </view>
  49 + </view>
  50 + </view>
  51 + <view class='bottom_box'>
  52 + <view>说明:线下场所将不定期地为求职教练提供服务产品培训</view>
  53 + <view class='submit_btn'>完成</view>
  54 + </view>
  55 +</view>
  1 +/* pages/my/coachVerify2/coachVerify2.wxss */
  2 +
  3 +.head_box {
  4 + font-size: 30rpx;
  5 + font-weight: bold;
  6 + color: #333;
  7 + text-align: center;
  8 +}
  9 +
  10 +.box image {
  11 + width: 120rpx;
  12 + height: 120rpx;
  13 + border-radius: 50%;
  14 + /* box-shadow: 0 10rpx 30rpx 0 #a0a5ac; */
  15 + margin-top: 30rpx;
  16 +}
  17 +
  18 +.content_box {
  19 + width: 100%;
  20 + padding: 30rpx;
  21 + box-sizing: border-box;
  22 + margin-top: 70rpx;
  23 +}
  24 +
  25 +.item_list {
  26 + padding: 10rpx 0;
  27 + border-bottom: 1rpx solid #e8e8e8;
  28 + font-size: 26rpx;
  29 + /* margin-bottom: 2rpx; */
  30 +}
  31 +
  32 +.item_list:last-child {
  33 + border-bottom: 0;
  34 +}
  35 +
  36 +.list_title {
  37 + font-size: 30rpx;
  38 + font-weight: bold;
  39 + color: #333;
  40 +}
  41 +
  42 +.pl_style {
  43 + color: #e8e8e8;
  44 +}
  45 +
  46 +.list_textarea {
  47 + width: 100%;
  48 + height: 221rpx;
  49 + border: 1rpx solid #e8e8e8;
  50 + border-radius: 10rpx;
  51 + margin-top: 20rpx;
  52 +}
  53 +
  54 +.list_textarea textarea {
  55 + width: 100%;
  56 + height: 100%;
  57 + border: 0;
  58 + outline: none;
  59 + padding: 30rpx;
  60 + box-sizing: border-box;
  61 +}
  62 +
  63 +.bottom_box {
  64 + font-size: 24rpx;
  65 + color: #bfbfbf;
  66 + font-weight: bold;
  67 + padding: 0 40rpx;
  68 + display: flex;
  69 + align-items: center;
  70 + justify-content: center;
  71 + flex-direction: column;
  72 + margin: 50rpx 0 30rpx 0;
  73 +}
  74 +
  75 +.submit_btn {
  76 + width: 100%;
  77 + height: 80rpx;
  78 + background: linear-gradient(27deg, rgba(255, 128, 128, 1), rgba(255, 140, 140, 1));
  79 + box-shadow: 4rpx 19rpx 92rpx 0rpx rgba(247, 94, 94, 0.39);
  80 + border-radius: 10rpx;
  81 + font-size: 32rpx;
  82 + font-weight: bold;
  83 + color: #fff;
  84 + display: flex;
  85 + align-items: center;
  86 + justify-content: center;
  87 + margin-top: 30rpx;
  88 +}
  1 +// pages/my/courseDetail/courseDetail.js
  2 +Page({
  3 +
  4 + /**
  5 + * 页面的初始数据
  6 + */
  7 + data: {
  8 +
  9 + },
  10 +
  11 + /**
  12 + * 生命周期函数--监听页面加载
  13 + */
  14 + onLoad: function (options) {
  15 +
  16 + },
  17 +
  18 + /**
  19 + * 生命周期函数--监听页面初次渲染完成
  20 + */
  21 + onReady: function () {
  22 +
  23 + },
  24 +
  25 + /**
  26 + * 生命周期函数--监听页面显示
  27 + */
  28 + onShow: function () {
  29 +
  30 + },
  31 +
  32 + /**
  33 + * 生命周期函数--监听页面隐藏
  34 + */
  35 + onHide: function () {
  36 +
  37 + },
  38 +
  39 + /**
  40 + * 生命周期函数--监听页面卸载
  41 + */
  42 + onUnload: function () {
  43 +
  44 + },
  45 +
  46 + /**
  47 + * 页面相关事件处理函数--监听用户下拉动作
  48 + */
  49 + onPullDownRefresh: function () {
  50 +
  51 + },
  52 +
  53 + /**
  54 + * 页面上拉触底事件的处理函数
  55 + */
  56 + onReachBottom: function () {
  57 +
  58 + },
  59 +
  60 + /**
  61 + * 用户点击右上角分享
  62 + */
  63 + onShareAppMessage: function () {
  64 +
  65 + }
  66 +})
  1 +{
  2 + "usingComponents": {}
  3 +}
  1 +<!--pages/my/courseDetail/courseDetail.wxml-->
  2 +<view class='content_box'>
  3 + <view class='item_list'>
  4 + <view class='list_img'>
  5 + <image src='/images/dfdgweqt@2x.png'></image>
  6 + </view>
  7 + </view>
  8 +</view>
  9 +<view class='plan_box'>
  10 + <view class='list_content_info'>
  11 + <view class='list_title'>计划产品名称:姿势异常</view>
  12 + <view class='list_content'>
  13 + <view class='sub_title'>计划介绍:</view>
  14 + <view class='content'>无肌肉骨骼、韧带等物理结构性损伤,身体静止站立状态下关节骨骼排列异常;</view>
  15 + </view>
  16 + <view class='list_content'>
  17 + <view class='sub_title'>计划介绍:</view>
  18 + <view class='content'>无肌肉骨骼、韧带等物理结构性损伤,身体静止站立状态下关节骨骼排列异常;</view>
  19 + </view>
  20 + </view>
  21 + <view class='plan_item'>
  22 + <view class='plan_content one_content'>
  23 + <view class='plan_img_box one_box'>
  24 + <view class='plan_img_item one_img'>
  25 + <image src='/images/dfdgweqt@2x.png'></image>
  26 + </view>
  27 + </view>
  28 + <view class='plan_content_box one_content_box'>
  29 + <view class='plan_content_item'>
  30 + <view class='content_title'>评价指标:指标名称,指标名称 </view>
  31 + </view>
  32 + <view class='plan_content_item'>
  33 + <view class='content_title'>评估装备:装备名称,装备名称</view>
  34 + </view>
  35 + <view class='plan_content_item'>
  36 + <view class='content_title'>评估方法:定量评估</view>
  37 + </view>
  38 + <view class='plan_content_item'>
  39 + <view class='content_title'>会员上课费用</view>
  40 + </view>
  41 + </view>
  42 + </view>
  43 + </view>
  44 +</view>
  1 +/* pages/my/courseDetail/courseDetail.wxss */
  2 +
  3 +page {
  4 + background: #fff;
  5 +}
  6 +
  7 +.list_img image {
  8 + width: 100%;
  9 + height: 777rpx;
  10 + border-radius: 10rpx;
  11 + margin-top: 10rpx;
  12 + position: relative;
  13 + z-index: 10;
  14 +}
  15 +
  16 +.content_box {
  17 + position: relative;
  18 + top: 0;
  19 + padding: 0 30rpx;
  20 + background: #ffff;
  21 +}
  22 +
  23 +.content_title_box {
  24 + box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(51, 51, 51, 0.1);
  25 + border-radius: 10rpx;
  26 + padding: 20rpx 30rpx !important;
  27 +}
  28 +
  29 +.content_info_box {
  30 + margin: 10rpx 0 0 0;
  31 +}
  32 +
  33 +.list_content_box {
  34 + padding: 0 !important;
  35 +}
  36 +
  37 +.item_list {
  38 + border-bottom: 0;
  39 +}
  40 +
  41 +.coentent_label_box {
  42 + padding: 30rpx 0;
  43 +}
  44 +
  45 +.plan_box {
  46 + margin-top: -60rpx;
  47 + background: #fff;
  48 + position: relative;
  49 + z-index: 20;
  50 + box-shadow:0rpx -20rpx 35rpx 0rpx rgba(54,54,54,0.2);
  51 + padding: 30rpx;
  52 +}
  53 +.list_content_info{
  54 + padding:0 0 30rpx 0;
  55 + font-size: 24rpx;
  56 + color: #333333;
  57 +}
  58 +.list_title{
  59 + font-size: 28rpx;
  60 + font-weight: bold;
  61 + color: #333333;
  62 +}
  63 +.plan_item {
  64 + border-radius: 10rpx;
  65 + overflow: hidden;
  66 + /* box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(51, 51, 51, 0.1); */
  67 + margin-bottom: 40rpx;
  68 +}
  69 +
  70 +.plan_content {
  71 + display: flex;
  72 + align-items: center;
  73 + padding: 40rpx 30rpx 40rpx 0;
  74 + border-top: 1rpx solid #e8e8e8;
  75 +}
  76 +
  77 +.plan_content:last-child {
  78 + /* border-bottom: 0; */
  79 +}
  80 +
  81 +.plan_content_item {
  82 + display: flex;
  83 + align-items: center;
  84 + font-size: 24rpx;
  85 + color:#333333;
  86 +}
  87 +
  88 +.plan_content_item:last-child {
  89 + margin-bottom: 0;
  90 +}
  91 +
  92 +.plan_user_name {
  93 + font-size: 28rpx;
  94 + color: #333;
  95 +}
  96 +
  97 +.plan_time_box {
  98 + font-size: 28rpx;
  99 + color: #333;
  100 + display: flex;
  101 + align-items: center;
  102 + justify-content: space-between;
  103 + margin: 10rpx 0;
  104 +}
  105 +
  106 +.icon-dianhua {
  107 + color: #ff7f7f;
  108 +}
  109 +
  110 +.content_title {
  111 +
  112 +}
  113 +
  114 +.plan_title {
  115 + font-size: 30rpx;
  116 + font-weight: bold;
  117 + color: #fff;
  118 + background: #333;
  119 + padding: 20rpx;
  120 +}
  121 +
  122 +.plan_title2 {
  123 + background: #e1cdb8;
  124 +}
  125 +
  126 +.plan_img_box {
  127 + width: 36%;
  128 + display: flex;
  129 + align-items: center;
  130 + flex-wrap: wrap;
  131 + justify-content: space-between;
  132 +}
  133 +
  134 +.one_box {
  135 + /* display: flex;
  136 + align-items: center;
  137 + justify-content: center; */
  138 + border-right: 1rpx solid #E8E8E8;
  139 +}
  140 +
  141 +.plan_content_box {
  142 + width: 62%;
  143 + margin-left: 60rpx;
  144 +}
  145 +
  146 +.one_content_box {
  147 + /* width: 70%; */
  148 +}
  149 +
  150 +.one_img image {
  151 + width: 150rpx;
  152 + height: 150rpx;
  153 +}
  154 +
  155 +.plan_name {
  156 + font-size: 24rpx;
  157 + color: #999;
  158 + text-overflow: ellipsis;
  159 +}
  160 +
  161 +.one_content_box .plan_content_item {
  162 + /* margin-bottom: 10rpx !important; */
  163 +}
  164 +
  165 +.one_img image {
  166 + width: 150rpx;
  167 + height: 150rpx;
  168 +}
  169 +
  170 +.list_btn_box {
  171 + display: flex;
  172 + align-items: center;
  173 + justify-content: space-between;
  174 +}
  175 +
  176 +.list_btn {
  177 + width: 100%;
  178 + height: 80rpx;
  179 + background: linear-gradient(27deg, rgba(255, 128, 128, 1), rgba(255, 141, 141, 1));
  180 + box-shadow: 0rpx 4rpx 16rpx 0rpx rgba(244, 118, 118, 0.36);
  181 + border-radius: 20rpx;
  182 + font-size: 30rpx;
  183 + color: #fff;
  184 + display: flex;
  185 + align-items: center;
  186 + justify-content: center;
  187 +}
  188 +
  189 +.list_active {
  190 + background: linear-gradient(27deg, rgba(232, 232, 232, 1), rgba(232, 232, 232, 1));
  191 +}
  192 +
  193 +.star_box {
  194 + display: flex;
  195 + align-items: center;
  196 + font-size: 20rpx;
  197 + color: #e8e8e8;
  198 +}
  199 +
  200 +.icon-xing {
  201 + margin-right: 20rpx;
  202 +}
  203 +
  204 +.xing_active {
  205 + color: #ff8080;
  206 +}
  207 +
  208 +.schooltime_box {
  209 + width: 90%;
  210 + border-top: 1rpx solid #e8e8e8;
  211 + margin: 0 auto;
  212 + padding: 20rpx 0;
  213 + box-sizing: border-box;
  214 + font-size: 30rpx;
  215 + color: #333;
  216 +}
  217 +
  218 +.time_detail {
  219 + font-size: 28rpx;
  220 + color: #666;
  221 + padding-left: 40rpx;
  222 + margin-top: 20rpx;
  223 +}
  224 +
  225 +.plan_tab_content {
  226 + width: 100%;
  227 + display: flex;
  228 + align-items: center;
  229 + justify-content: space-between;
  230 + padding: 40rpx 0;
  231 +}
  232 +
  233 +.tab_item {
  234 + width: 25%;
  235 + font-size: 24rpx;
  236 + color: #333;
  237 + border-right: 1rpx solid #999;
  238 + text-align: center;
  239 +}
  240 +
  241 +.tab_item:last-child {
  242 + border-right: 0;
  243 +}
  244 +
  245 +.tab_active {
  246 + color: #ff8080;
  247 +}
  248 +
  249 +.satisfaction_box {
  250 + display: flex;
  251 + align-items: center;
  252 + justify-content: center;
  253 + flex-direction: column;
  254 + position: absolute;
  255 + margin-top: -25rpx;
  256 + left: 50%;
  257 + transform: translate(-50%);
  258 +}
  259 +
  260 +.satisfaction_btn {
  261 + width: 160rpx;
  262 + height: 50rpx;
  263 + background: rgba(255, 128, 128, 1);
  264 + box-shadow: 0rpx 10rpx 26rpx 0rpx rgba(245, 84, 84, 0.2);
  265 + border-radius: 6rpx;
  266 + font-size: 24rpx;
  267 + color: #fffefe;
  268 + display: flex;
  269 + align-items: center;
  270 + justify-content: center;
  271 +}
  272 +
  273 +.satisfaction_star {
  274 + width: 390rpx;
  275 + height: 60rpx;
  276 + background: rgba(254, 254, 254, 1);
  277 + box-shadow: 0rpx 10rpx 26rpx 0rpx rgba(110, 110, 110, 0.1);
  278 + border-radius: 8rpx;
  279 + margin-top: 20rpx;
  280 + display: flex;
  281 + align-items: center;
  282 + justify-content: space-around;
  283 + color: #e8e8e8;
  284 +}
  285 +
  286 +.course_box {
  287 + margin-top: 150rpx;
  288 +}
  289 +
  290 +.label_title_box {
  291 + width: 100%;
  292 + background: rgba(255, 255, 255, 1);
  293 + box-shadow: 0rpx 1rpx 0rpx 0rpx rgba(233, 233, 233, 1);
  294 + padding: 20rpx 30rpx;
  295 + display: flex;
  296 + align-items: center;
  297 + justify-content: space-between;
  298 + border-top: 1rpx solid #e9e9e9;
  299 + font-size: 24rpx;
  300 + color: #333;
  301 + box-sizing: border-box;
  302 +}
  303 +
  304 +.label_title {
  305 + font-size: 30rpx;
  306 + font-weight: bold;
  307 + color: #333;
  308 +}
  309 +
  310 +.label_info_box {
  311 + width: 686rpx;
  312 + margin: 0 auto;
  313 + background: rgba(255, 255, 255, 1);
  314 + box-shadow: 0rpx 1rpx 5rpx 0rpx rgba(89, 89, 89, 0.1);
  315 + border-radius: 10rpx;
  316 + font-size: 24rpx;
  317 + color: #333;
  318 + padding: 30rpx;
  319 + box-sizing: border-box;
  320 +}
  321 +
  322 +.course_item {
  323 + margin-bottom: 30rpx;
  324 +}
  325 +
  326 +.label_btn {
  327 + font-size: 24rpx;
  328 + color: #ff8080;
  329 +}
  330 +
  331 +.course_content_box {
  332 + width: 686rpx;
  333 + margin: 0 auto;
  334 + padding: 0 30rpx;
  335 + box-sizing: border-box;
  336 + box-shadow: 0rpx 1rpx 5rpx 0rpx rgba(89, 89, 89, 0.1);
  337 + border-radius: 10rpx;
  338 +}
  339 +
  340 +.course_content_item {
  341 + display: flex;
  342 + align-items: center;
  343 + border-bottom: 1rpx solid #999;
  344 + padding: 30rpx 0;
  345 +}
  346 +
  347 +.course_content_item:last-child {
  348 + border-bottom: 0;
  349 +}
  350 +
  351 +.course_img {
  352 + width: 200rpx;
  353 + height: 150rpx;
  354 +}
  355 +
  356 +.course_img image {
  357 + width: 100%;
  358 + height: 100%;
  359 +}
  360 +
  361 +.course_content_info {
  362 + width: 80%;
  363 + margin-left: 20rpx;
  364 +}
  365 +
  366 +.course_title {
  367 + font-size: 28rpx;
  368 + font-weight: bold;
  369 + color: #333;
  370 + margin: 0 auto;
  371 +}
  372 +
  373 +.course_content {
  374 + font-size: 24rpx;
  375 + color: #333;
  376 +}
  377 +
  378 +.no_course {
  379 + font-size: 36rpx;
  380 + font-weight: bold;
  381 + color: #e8e8e8;
  382 + display: flex;
  383 + align-items: center;
  384 + justify-content: center;
  385 + padding: 55rpx 0;
  386 +}
  387 +
  388 +.more_box {
  389 + display: flex;
  390 + align-items: center;
  391 + justify-content: space-between;
  392 + font-size: 30rpx;
  393 + font-weight: bold;
  394 + color: #333;
  395 + padding: 20rpx 30rpx;
  396 +}
  397 +
  398 +.more_info {
  399 + width: 80%;
  400 + display: flex;
  401 + align-items: center;
  402 + justify-content: flex-end;
  403 +}
  404 +
  405 +.more_peoper {
  406 + width: 385rpx;
  407 + /* display: flex;
  408 + align-items: center; */
  409 + white-space: nowrap;
  410 + overflow: scroll;
  411 +}
  412 +
  413 +.more_peoper image {
  414 + display: inline-block;
  415 + width: 50rpx;
  416 + height: 50rpx;
  417 + margin-right: 15rpx;
  418 +}
  419 +
  420 +.more_info_box {
  421 + width: 686rpx;
  422 + height: 150rpx;
  423 + background: rgba(255, 255, 255, 1);
  424 + box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(51, 51, 51, 0.1);
  425 + border-radius: 10rpx;
  426 + font-size: 30rpx;
  427 + font-weight: bold;
  428 + color: #333;
  429 + display: flex;
  430 + align-items: center;
  431 + justify-content: space-between;
  432 + padding: 20rpx;
  433 +}
  434 +
  435 +.more_info_box image {
  436 + width: 120rpx;
  437 + height: 120rpx;
  438 + border-radius: 8rpx;
  439 +}
  440 +
  441 +.more_btn {
  442 + padding: 20rpx;
  443 + border-bottom: 1rpx solid #e8e8e8;
  444 +}
  445 +
  446 +.more_btn:last-child {
  447 + border-bottom: 0;
  448 +}
  449 +
  450 +.more_active {
  451 + color: #ff8080;
  452 +}
  1 +// pages/my/groupDetail/groupDetail.js
  2 +let chooseYear = null;
  3 +let chooseMonth = null;
  4 +var app = getApp()
  5 +const conf = {
  6 + data: {
  7 + hasEmptyGrid: false,
  8 + showPicker: false
  9 + },
  10 + onLoad() {
  11 + const date = new Date();
  12 + const curYear = date.getFullYear();
  13 + const curMonth = date.getMonth() + 1;
  14 +
  15 + const weeksCh = ['日', '一', '二', '三', '四', '五', '六'];
  16 + this.calculateEmptyGrids(curYear, curMonth);
  17 + this.calculateDays(curYear, curMonth);
  18 + this.setData({
  19 + curYear,
  20 + curMonth,
  21 + weeksCh
  22 + });
  23 + if (curMonth > 9) {
  24 + var mont = curMonth
  25 + } else {
  26 + var mont = "0" + curMonth
  27 + }
  28 + var montDat = curYear + "-" + mont
  29 + this.getDay(montDat)
  30 + },
  31 + // getDay(montDat) {
  32 + // app.ajax("Index/userSign", {
  33 + // user_id: app.globalData.userId,
  34 + // date: montDat
  35 + // }, (res) => {
  36 + // console.log(res)
  37 + // if (res.data.code == 1) {
  38 + // var data = res.data.data
  39 + // const days = this.data.days;
  40 + // var dayArr = []
  41 + // for (let n in data) {
  42 + // dayArr.push(parseInt(data[n].day))
  43 + // }
  44 + // for (let n in days) {
  45 + // for (let j in dayArr) {
  46 + // if (dayArr[j] == days[n].day) {
  47 + // days[n].choosed = true
  48 + // console.log(days[n])
  49 + // }
  50 + // }
  51 + // }
  52 + // this.setData({
  53 + // days,
  54 + // })
  55 + // } else {
  56 + // // wx.showLoading({
  57 + // // title: res.data.msg,
  58 + // // duration: 2000
  59 + // // })
  60 + // }
  61 + // })
  62 + // },
  63 +
  64 + getThisMonthDays(year, month) {
  65 + return new Date(year, month, 0).getDate();
  66 + },
  67 + getFirstDayOfWeek(year, month) {
  68 + return new Date(Date.UTC(year, month - 1, 1)).getDay();
  69 + },
  70 + calculateEmptyGrids(year, month) {
  71 + const firstDayOfWeek = this.getFirstDayOfWeek(year, month);
  72 + let empytGrids = [];
  73 + if (firstDayOfWeek > 0) {
  74 + for (let i = 0; i < firstDayOfWeek; i++) {
  75 + empytGrids.push(i);
  76 + }
  77 + this.setData({
  78 + hasEmptyGrid: true,
  79 + empytGrids
  80 + });
  81 + } else {
  82 + this.setData({
  83 + hasEmptyGrid: false,
  84 + empytGrids: []
  85 + });
  86 + }
  87 + },
  88 + calculateDays(year, month) {
  89 + let days = [];
  90 +
  91 + const thisMonthDays = this.getThisMonthDays(year, month);
  92 +
  93 + for (let i = 1; i <= thisMonthDays; i++) {
  94 + days.push({
  95 + day: i,
  96 + choosed: false
  97 + });
  98 + }
  99 +
  100 + this.setData({
  101 + days
  102 + });
  103 + },
  104 + handleCalendar(e) {
  105 + const handle = e.currentTarget.dataset.handle;
  106 + const curYear = this.data.curYear;
  107 + const curMonth = this.data.curMonth;
  108 +
  109 + if (handle === 'prev') {
  110 + let newMonth = curMonth - 1;
  111 + let newYear = curYear;
  112 + if (newMonth < 1) {
  113 + newYear = curYear - 1;
  114 + newMonth = 12;
  115 + }
  116 +
  117 + this.calculateDays(newYear, newMonth);
  118 + this.calculateEmptyGrids(newYear, newMonth);
  119 +
  120 + this.setData({
  121 + curYear: newYear,
  122 + curMonth: newMonth
  123 + });
  124 + if (curMonth > 9) {
  125 + var mont = curMonth
  126 + } else {
  127 + var mont = "0" + (curMonth - 1)
  128 + }
  129 + var montDat = curYear + "-" + mont
  130 + this.getDay(montDat)
  131 + } else {
  132 + let newMonth = curMonth + 1;
  133 + let newYear = curYear;
  134 + if (newMonth > 12) {
  135 + newYear = curYear + 1;
  136 + newMonth = 1;
  137 + }
  138 +
  139 + this.calculateDays(newYear, newMonth);
  140 + this.calculateEmptyGrids(newYear, newMonth);
  141 +
  142 + this.setData({
  143 + curYear: newYear,
  144 + curMonth: newMonth
  145 + });
  146 + if (curMonth > 9) {
  147 + var mont = curMonth
  148 + } else {
  149 + var mont = "0" + (curMonth + 1)
  150 + }
  151 + var montDat = curYear + "-" + mont
  152 + this.getDay(montDat)
  153 + }
  154 + },
  155 + // 选择日期
  156 + tapDayItem(e) {
  157 + const idx = e.currentTarget.dataset.idx;
  158 + const days = this.data.days;
  159 + console.log(idx)
  160 + console.log(days)
  161 + days[idx].choosed = !days[idx].choosed;
  162 + this.setData({
  163 + days,
  164 + });
  165 + },
  166 + chooseYearAndMonth() {
  167 + // const curYear = this.data.curYear;
  168 + // const curMonth = this.data.curMonth;
  169 + // let pickerYear = [];
  170 + // let pickerMonth = [];
  171 + // for (let i = 1900; i <= 2100; i++) {
  172 + // pickerYear.push(i);
  173 + // }
  174 + // for (let i = 1; i <= 12; i++) {
  175 + // pickerMonth.push(i);
  176 + // }
  177 + // const idxYear = pickerYear.indexOf(curYear);
  178 + // const idxMonth = pickerMonth.indexOf(curMonth);
  179 + // this.setData({
  180 + // pickerValue: [idxYear, idxMonth],
  181 + // pickerYear,
  182 + // pickerMonth,
  183 + // showPicker: true,
  184 + // });
  185 + },
  186 + pickerChange(e) {
  187 + const val = e.detail.value;
  188 + chooseYear = this.data.pickerYear[val[0]];
  189 + chooseMonth = this.data.pickerMonth[val[1]];
  190 + },
  191 + tapPickerBtn(e) {
  192 + const type = e.currentTarget.dataset.type;
  193 + const o = {
  194 + showPicker: false,
  195 + };
  196 + if (type === 'confirm') {
  197 + o.curYear = chooseYear;
  198 + o.curMonth = chooseMonth;
  199 + this.calculateEmptyGrids(chooseYear, chooseMonth);
  200 + this.calculateDays(chooseYear, chooseMonth);
  201 + }
  202 +
  203 + this.setData(o);
  204 + },
  205 + onShareAppMessage() {
  206 + return {
  207 + title: '小程序日历',
  208 + desc: '还是新鲜的日历哟',
  209 + path: 'pages/index/index'
  210 + };
  211 + },
  212 + goCoachIndex(){
  213 + wx.navigateTo({
  214 + url: '/pages/my/coachIndex/coachIndex',
  215 + })
  216 + },
  217 +};
  218 +Page(conf);
  1 +{
  2 + "usingComponents": {}
  3 +}
  1 +<view class='content_box'>
  2 + <view class='content_title_box'>
  3 + <view class='content_title'>场所名称</view>
  4 + <view class='content_info_box'>
  5 + <view>北京市,海淀区,上地南里</view>
  6 + <view class='content_num'>1.0km</view>
  7 + </view>
  8 + </view>
  9 + <view class='item_list'>
  10 + <view class='list_img'>
  11 + <image src='/images/dfdgweqt@2x.png'></image>
  12 + </view>
  13 + <view class='list_content_info'>
  14 + <view class='list_title'>计划产品名称:姿势异常</view>
  15 + <view class='list_content'>
  16 + <view class='sub_title'>计划介绍:</view>
  17 + <view class='content'>无肌肉骨骼、韧带等物理结构性损伤,身体静止站立状态下关节骨骼排列异常;</view>
  18 + </view>
  19 + <view class='list_content'>
  20 + <view class='sub_title'>计划介绍:</view>
  21 + <view class='content'>无肌肉骨骼、韧带等物理结构性损伤,身体静止站立状态下关节骨骼排列异常;</view>
  22 + </view>
  23 + </view>
  24 + </view>
  25 + <view class='plan_box'>
  26 + <view class='plan_item'>
  27 + <view class='plan_item_box'>
  28 + <view class='plan_title'>上课教练</view>
  29 + <view>
  30 + <view class='plan_content' wx:for='{{[1,2,3]}}' wx:key=''>
  31 + <view class='plan_img_box one_box'>
  32 + <view class='plan_img_item one_img'>
  33 + <image src='/images/dfdgweqt@2x.png'></image>
  34 + </view>
  35 + </view>
  36 + <view class='plan_content_box'>
  37 + <view class='plan_user_name'>萧意</view>
  38 + <view class='plan_time_box'>
  39 + <view>注册日期:2018/2/31</view>
  40 + <view class='iconfont icon-dianhua'></view>
  41 + </view>
  42 + <view class='star_box'>
  43 + <view class='iconfont icon-xing xing_active'></view>
  44 + <view class='iconfont icon-xing'></view>
  45 + <view class='iconfont icon-xing'></view>
  46 + <view class='iconfont icon-xing'></view>
  47 + <view class='iconfont icon-xing'></view>
  48 + </view>
  49 + </view>
  50 + </view>
  51 + </view>
  52 + </view>
  53 + </view>
  54 + <view class='plan_item' bindtap='goCoachIndex'>
  55 + <view class='plan_item_box'>
  56 + <view class='plan_title'>教练团队</view>
  57 + <view>
  58 + <view class='plan_content' wx:for='{{[1]}}' wx:key=''>
  59 + <view class='plan_img_box one_box'>
  60 + <view class='plan_img_item one_img'>
  61 + <image src='/images/dfdgweqt@2x.png'></image>
  62 + </view>
  63 + </view>
  64 + <view class='plan_content_box'>
  65 + <view class='plan_user_name'>萧意</view>
  66 + <view class='plan_time_box'>
  67 + <view>注册日期:2018/2/31</view>
  68 + </view>
  69 + <view class='plan_time_box'>
  70 + <view>约课电话:15632424967</view>
  71 + <view class='iconfont icon-dianhua'></view>
  72 + </view>
  73 + </view>
  74 + </view>
  75 + </view>
  76 + </view>
  77 + </view>
  78 + </view>
  79 +</view>
  80 +<view class='course_box'>
  81 + <view class='course_item'>
  82 + <view class='label_title_box label_top'>
  83 + <view class='label_title'>教学内容</view>
  84 + </view>
  85 + <view class='label_info_box'>
  86 + <view>
  87 + TBCLASS目标协同授课体系是TBCLASS瑜伽 团课教练和私人教练课程设计与教学工具,由北京体 育大学多学科专家学者和瑜伽健身行业顶级教练历时 三年研发而成,大幅提升瑜伽会员训练体验和训练结 果
  88 + </view>
  89 + </view>
  90 + </view>
  91 + <view class='vip_box'>
  92 + <view class='more_box'>
  93 + <view>会员要求</view>
  94 + <view class='more_info' style='color:#999999;'>达到最低人数即开课</view>
  95 + </view>
  96 + <view class='vip_info'>
  97 + <view class='vip_item'>
  98 + <view>会员上课费用</view>
  99 + <view>厘米秒..</view>
  100 + </view>
  101 + <view class='vip_item'>
  102 + <view>会员上课费用</view>
  103 + <view>厘米秒..</view>
  104 + </view>
  105 + </view>
  106 + </view>
  107 +
  108 + <view class='plan_calendar'>
  109 + <view class='title_box'>
  110 + <view>计划日历</view>
  111 + <view class='title_info'>
  112 + <view>2018年11月</view>
  113 + <view class='time'>8:00-9:00</view>
  114 + </view>
  115 + </view>
  116 + <view class='calendar_box'>
  117 + <view class='clendar_item'>
  118 + <view class="flex box box-tb box-align-center">
  119 + <view class="calendar pink-color box box-tb">
  120 + <view class="weeks box box-lr box-pack-center box-align-center">
  121 + <view class="flex week fs28" wx:for="{{weeksCh}}" wx:key="{{index}}" data-idx="{{index}}">{{item}}</view>
  122 + </view>
  123 + <view class="days box box-lr box-wrap">
  124 + <view wx:if="{{hasEmptyGrid}}" class="grid white-color box box-align-center box-pack-center" wx:for="{{empytGrids}}" wx:key="{{index}}" data-idx="{{index}}">
  125 + </view>
  126 + <view class="grid white-color box box-align-center box-pack-center " wx:for="{{days}}" wx:key="{{index}}" data-idx="{{index}}" bindtap="tapDayItem">
  127 + <view class="day {{0==index?'pink-bg2':''}}{{item.choosed ? 'border-radius pink-bg' : ''}} box box-align-center box-pack-center">{{item.day}}</view>
  128 + </view>
  129 + </view>
  130 + </view>
  131 + </view>
  132 + <view class='plan_box_info'>
  133 + <view>计划名称</view>
  134 + <view class='plab_btn'>课程管理(4)</view>
  135 + <view>上课教练</view>
  136 + </view>
  137 + </view>
  138 + </view>
  139 + </view>
  140 +
  141 + <view class='vip_box'>
  142 + <view class='more_box'>
  143 + <view>已加入会员(20人)</view>
  144 + <view class='more_info more_info2'>离开课还差1人</view>
  145 + </view>
  146 + <view class='more_peoper'>
  147 + <view class='more_item'>
  148 + <image src='/images/dfdgweqt@2x.png'></image>
  149 + <view>厘米秒..</view>
  150 + </view>
  151 + <view class='more_item'>
  152 + <image src='/images/dfdgweqt@2x.png'></image>
  153 + <view>厘米秒..</view>
  154 + </view>
  155 + <view class='more_item '>
  156 + <view class='null_item'>等待..</view>
  157 + </view>
  158 + </view>
  159 + </view>
  160 + <view class='bottom_box'>
  161 + <view class='submit_btn'>加入团课计划</view>
  162 + <view>线下支付总费用¥600加入即同意《团课计划协议》</view>
  163 + </view>
  164 +</view>
  1 +/* pages/my/groupDetail/groupDetail.wxss */
  2 +@import "/pages/yogaHome/yogaHomeClass/yogaHomeClass.wxss";
  3 +
  4 +page {
  5 + background: #fff;
  6 +}
  7 +
  8 +.content_box {
  9 + position: relative;
  10 + top: 0;
  11 + padding: 0 30rpx;
  12 + background: #ffff;
  13 +}
  14 +
  15 +.content_title_box {
  16 + box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(51, 51, 51, 0.1);
  17 + border-radius: 10rpx;
  18 + padding: 20rpx 30rpx !important;
  19 +}
  20 +
  21 +.content_info_box {
  22 + margin: 10rpx 0 0 0;
  23 +}
  24 +
  25 +.list_content_box {
  26 + padding: 0 !important;
  27 +}
  28 +
  29 +.item_list {
  30 + border-bottom: 1rpx solid #e8e8e8;
  31 + margin-bottom: 50rpx;
  32 + padding: 40rpx 40rpx 20rpx 40rpx;
  33 +}
  34 +
  35 +.coentent_label_box {
  36 + padding: 30rpx 0;
  37 +}
  38 +
  39 +.plan_item {
  40 + border-radius: 10rpx;
  41 + overflow: hidden;
  42 + box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(51, 51, 51, 0.1);
  43 + margin-bottom: 40rpx;
  44 +}
  45 +
  46 +.plan_content {
  47 + display: flex;
  48 + align-items: flex-start;
  49 + padding: 20rpx 30rpx;
  50 + border-bottom: 1rpx solid #e8e8e8;
  51 +}
  52 +
  53 +.plan_content:last-child {
  54 + border-bottom: 0;
  55 +}
  56 +
  57 +.plan_content_item {
  58 + display: flex;
  59 + align-items: flex-start;
  60 + margin-bottom: 30rpx;
  61 + font-size: 28rpx;
  62 + color: #999;
  63 +}
  64 +
  65 +.plan_content_item:last-child {
  66 + margin-bottom: 0;
  67 +}
  68 +
  69 +.plan_user_name {
  70 + font-size: 28rpx;
  71 + color: #333;
  72 +}
  73 +
  74 +.plan_time_box {
  75 + font-size: 28rpx;
  76 + color: #333;
  77 + display: flex;
  78 + align-items: center;
  79 + justify-content: space-between;
  80 + margin: 10rpx 0;
  81 +}
  82 +
  83 +.icon-dianhua {
  84 + color: #ff7f7f;
  85 +}
  86 +
  87 +.content_title {
  88 + width: 190rpx;
  89 + font-size: 28rpx;
  90 + color: #333;
  91 +}
  92 +
  93 +.plan_title {
  94 + font-size: 30rpx;
  95 + font-weight: bold;
  96 + color: #fff;
  97 + background: #333;
  98 + padding: 20rpx;
  99 +}
  100 +
  101 +.plan_title2 {
  102 + background: #e1cdb8;
  103 +}
  104 +
  105 +.plan_img_box {
  106 + width: 36%;
  107 + display: flex;
  108 + align-items: center;
  109 + flex-wrap: wrap;
  110 + justify-content: space-between;
  111 +}
  112 +
  113 +.one_box {
  114 + display: flex;
  115 + align-items: center;
  116 + /* justify-content: center; */
  117 + border-right: 1rpx solid #e1cdb8;
  118 +}
  119 +
  120 +.plan_content_box {
  121 + width: 60%;
  122 + margin-left: 40rpx;
  123 +}
  124 +
  125 +.one_content_box {
  126 + width: 70%;
  127 +}
  128 +
  129 +.plan_img_item image {
  130 + width: 100rpx;
  131 + height: 100rpx;
  132 +}
  133 +
  134 +.plan_name {
  135 + font-size: 24rpx;
  136 + color: #999;
  137 + text-overflow: ellipsis;
  138 +}
  139 +
  140 +.one_content_box .plan_content_item {
  141 + margin-bottom: 10rpx !important;
  142 +}
  143 +
  144 +.one_img image {
  145 + width: 120rpx;
  146 + height: 120rpx;
  147 +}
  148 +
  149 +.list_btn_box {
  150 + display: flex;
  151 + align-items: center;
  152 + justify-content: space-between;
  153 +}
  154 +
  155 +.list_btn {
  156 + width: 100%;
  157 + height: 80rpx;
  158 + background: linear-gradient(27deg, rgba(255, 128, 128, 1), rgba(255, 141, 141, 1));
  159 + box-shadow: 0rpx 4rpx 16rpx 0rpx rgba(244, 118, 118, 0.36);
  160 + border-radius: 20rpx;
  161 + font-size: 30rpx;
  162 + color: #fff;
  163 + display: flex;
  164 + align-items: center;
  165 + justify-content: center;
  166 +}
  167 +
  168 +.list_active {
  169 + background: linear-gradient(27deg, rgba(232, 232, 232, 1), rgba(232, 232, 232, 1));
  170 +}
  171 +
  172 +.star_box {
  173 + display: flex;
  174 + align-items: center;
  175 + font-size: 20rpx;
  176 + color: #e8e8e8;
  177 +}
  178 +
  179 +.icon-xing {
  180 + margin-right: 20rpx;
  181 +}
  182 +
  183 +.xing_active {
  184 + color: #ff8080;
  185 +}
  186 +
  187 +.schooltime_box {
  188 + width: 90%;
  189 + border-top: 1rpx solid #e8e8e8;
  190 + margin: 0 auto;
  191 + padding: 20rpx 0;
  192 + box-sizing: border-box;
  193 + font-size: 30rpx;
  194 + color: #333;
  195 +}
  196 +
  197 +.time_detail {
  198 + font-size: 28rpx;
  199 + color: #666;
  200 + padding-left: 40rpx;
  201 + margin-top: 20rpx;
  202 +}
  203 +
  204 +.plan_tab_content {
  205 + width: 100%;
  206 + display: flex;
  207 + align-items: center;
  208 + justify-content: space-between;
  209 + padding: 40rpx 0;
  210 +}
  211 +
  212 +.tab_item {
  213 + width: 25%;
  214 + font-size: 24rpx;
  215 + color: #333;
  216 + border-right: 1rpx solid #999;
  217 + text-align: center;
  218 +}
  219 +
  220 +.tab_item:last-child {
  221 + border-right: 0;
  222 +}
  223 +
  224 +.tab_active {
  225 + color: #ff8080;
  226 +}
  227 +
  228 +.satisfaction_box {
  229 + display: flex;
  230 + align-items: center;
  231 + justify-content: center;
  232 + flex-direction: column;
  233 + position: absolute;
  234 + margin-top: -25rpx;
  235 + left: 50%;
  236 + transform: translate(-50%);
  237 +}
  238 +
  239 +.satisfaction_btn {
  240 + width: 160rpx;
  241 + height: 50rpx;
  242 + background: rgba(255, 128, 128, 1);
  243 + box-shadow: 0rpx 10rpx 26rpx 0rpx rgba(245, 84, 84, 0.2);
  244 + border-radius: 6rpx;
  245 + font-size: 24rpx;
  246 + color: #fffefe;
  247 + display: flex;
  248 + align-items: center;
  249 + justify-content: center;
  250 +}
  251 +
  252 +.satisfaction_star {
  253 + width: 390rpx;
  254 + height: 60rpx;
  255 + background: rgba(254, 254, 254, 1);
  256 + box-shadow: 0rpx 10rpx 26rpx 0rpx rgba(110, 110, 110, 0.1);
  257 + border-radius: 8rpx;
  258 + margin-top: 20rpx;
  259 + display: flex;
  260 + align-items: center;
  261 + justify-content: space-around;
  262 + color: #e8e8e8;
  263 +}
  264 +
  265 +.course_box {
  266 + margin-top: 30rpx;
  267 +}
  268 +
  269 +.label_title_box {
  270 + /* width: 100%;
  271 + background: rgba(255, 255, 255, 1);
  272 + box-shadow: 0rpx 1rpx 0rpx 0rpx rgba(233, 233, 233, 1);
  273 + padding: 20rpx 30rpx;
  274 + display: flex;
  275 + align-items: center;
  276 + justify-content: space-between;
  277 + border-top: 1rpx solid #e9e9e9; */
  278 + padding: 0 30rpx;
  279 + font-size: 24rpx;
  280 + color: #333;
  281 + box-sizing: border-box;
  282 +}
  283 +
  284 +.label_title {
  285 + font-size: 30rpx;
  286 + font-weight: bold;
  287 + color: #333;
  288 +}
  289 +
  290 +.label_info_box {
  291 + font-size: 28rpx;
  292 + color: #666;
  293 + padding: 0 30rpx;
  294 + box-sizing: border-box;
  295 +}
  296 +
  297 +.course_item {
  298 + margin-bottom: 30rpx;
  299 +}
  300 +
  301 +.label_btn {
  302 + font-size: 24rpx;
  303 + color: #ff8080;
  304 +}
  305 +
  306 +.course_content_box {
  307 + width: 686rpx;
  308 + margin: 0 auto;
  309 + padding: 0 30rpx;
  310 + box-sizing: border-box;
  311 + box-shadow: 0rpx 1rpx 5rpx 0rpx rgba(89, 89, 89, 0.1);
  312 + border-radius: 10rpx;
  313 +}
  314 +
  315 +.course_content_item {
  316 + display: flex;
  317 + align-items: center;
  318 + border-bottom: 1rpx solid #999;
  319 + padding: 30rpx 0;
  320 +}
  321 +
  322 +.course_content_item:last-child {
  323 + border-bottom: 0;
  324 +}
  325 +
  326 +.course_img {
  327 + width: 200rpx;
  328 + height: 150rpx;
  329 +}
  330 +
  331 +.course_img image {
  332 + width: 100%;
  333 + height: 100%;
  334 +}
  335 +
  336 +.course_content_info {
  337 + width: 80%;
  338 + margin-left: 20rpx;
  339 +}
  340 +
  341 +.course_title {
  342 + font-size: 28rpx;
  343 + font-weight: bold;
  344 + color: #333;
  345 + margin: 0 auto;
  346 +}
  347 +
  348 +.course_content {
  349 + font-size: 24rpx;
  350 + color: #333;
  351 +}
  352 +
  353 +.no_course {
  354 + font-size: 36rpx;
  355 + font-weight: bold;
  356 + color: #e8e8e8;
  357 + display: flex;
  358 + align-items: center;
  359 + justify-content: center;
  360 + padding: 55rpx 0;
  361 +}
  362 +
  363 +.vip_box {
  364 + padding: 30rpx;
  365 +}
  366 +
  367 +.more_box {
  368 + /* display: flex;
  369 + align-items: center;
  370 + justify-content: space-between; */
  371 + font-size: 30rpx;
  372 + font-weight: bold;
  373 + color: #333;
  374 + padding: 20rpx 0;
  375 + box-sizing: border-box;
  376 +}
  377 +
  378 +.more_info {
  379 + font-size: 24rpx;
  380 + color: #333;
  381 +}
  382 +
  383 +.more_info2 {
  384 + color: #ff7f7f;
  385 +}
  386 +
  387 +.more_peoper {
  388 + width: 720rpx;
  389 + margin: 0 auto;
  390 + overflow: scroll;
  391 + white-space: nowrap;
  392 + display: flex;
  393 + align-items: flex-start;
  394 +}
  395 +
  396 +.more_item {
  397 + display: inline-block;
  398 + margin-right: 20rpx;
  399 + font-size: 24rpx;
  400 + color: #999;
  401 +}
  402 +
  403 +.null_item {
  404 + width: 100rpx;
  405 + height: 100rpx;
  406 + font-size: 24rpx;
  407 + color: #999;
  408 + display: flex;
  409 + align-items: center;
  410 + justify-content: center;
  411 + background: #e8e8e8;
  412 +}
  413 +
  414 +.more_peoper image {
  415 + width: 100rpx;
  416 + height: 100rpx;
  417 +}
  418 +
  419 +.more_info_box {
  420 + width: 686rpx;
  421 + height: 150rpx;
  422 + background: rgba(255, 255, 255, 1);
  423 + box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(51, 51, 51, 0.1);
  424 + border-radius: 10rpx;
  425 + font-size: 30rpx;
  426 + font-weight: bold;
  427 + color: #333;
  428 + display: flex;
  429 + align-items: center;
  430 + justify-content: space-between;
  431 + padding: 20rpx;
  432 + box-sizing: border-box;
  433 +}
  434 +
  435 +.more_info_box image {
  436 + width: 120rpx;
  437 + height: 120rpx;
  438 + border-radius: 8rpx;
  439 +}
  440 +
  441 +.more_btn {
  442 + padding: 20rpx;
  443 + border-bottom: 1rpx solid #e8e8e8;
  444 +}
  445 +
  446 +.more_btn:last-child {
  447 + border-bottom: 0;
  448 +}
  449 +
  450 +.more_active {
  451 + color: #ff8080;
  452 +}
  453 +
  454 +.vip_item {
  455 + display: flex;
  456 + align-items: center;
  457 + justify-content: space-between;
  458 + font-size: 28rpx;
  459 + /* font-weight: bold; */
  460 + color: #333;
  461 +}
  462 +
  463 +.bottom_box {
  464 + width: 100%;
  465 + font-size: 24rpx;
  466 + color: #bfbfbf;
  467 + font-weight: bold;
  468 + padding: 0 40rpx;
  469 + box-sizing: border-box;
  470 + display: flex;
  471 + align-items: center;
  472 + justify-content: center;
  473 + flex-direction: column;
  474 + margin: 30rpx auto;
  475 +}
  476 +
  477 +.submit_btn {
  478 + width: 100%;
  479 + height: 80rpx;
  480 + background: linear-gradient(27deg, rgba(255, 128, 128, 1), rgba(255, 140, 140, 1));
  481 + /* box-shadow: 4rpx 19rpx 92rpx 0rpx rgba(247, 94, 94, 0.39); */
  482 + border-radius: 20rpx;
  483 + font-size: 32rpx;
  484 + /* font-weight: bold; */
  485 + color: #fff;
  486 + display: flex;
  487 + align-items: center;
  488 + justify-content: center;
  489 + margin-bottom: 10rpx;
  490 +}
  491 +/* */
  492 +.plan_calendar{
  493 + margin-bottom: 30rpx;
  494 +}
  495 +.box {
  496 + display: flex;
  497 +}
  498 +
  499 +.box-lr {
  500 + flex-direction: row;
  501 +}
  502 +
  503 +.box-rl {
  504 + flex-direction: row-reverse;
  505 +}
  506 +
  507 +.box-tb {
  508 + flex-direction: column;
  509 + padding: 10rpx 0;
  510 + color: #000;
  511 +}
  512 +
  513 +.box-bt {
  514 + flex-direction: column-reverse;
  515 +}
  516 +
  517 +.box-pack-center {
  518 + justify-content: center;
  519 +}
  520 +
  521 +.box-pack-start {
  522 + justify-content: flex-start;
  523 +}
  524 +
  525 +.box-pack-end {
  526 + justify-content: flex-end;
  527 +}
  528 +
  529 +.box-pack-between {
  530 + justify-content: space-between;
  531 +}
  532 +
  533 +.box-pack-around {
  534 + justify-content: space-around;
  535 +}
  536 +
  537 +.box-align-center {
  538 + align-items: center;
  539 +}
  540 +
  541 +.box-align-start {
  542 + align-items: flex-start;
  543 +}
  544 +
  545 +.box-align-end {
  546 + align-items: flex-end;
  547 +}
  548 +
  549 +.self-align-center {
  550 + align-self: center;
  551 + margin: 0 auto;
  552 +}
  553 +
  554 +.self-align-start {
  555 + align-self: flex-start;
  556 +}
  557 +
  558 +.self-align-end {
  559 + align-self: flex-end;
  560 +}
  561 +
  562 +.self-align-stretch {
  563 + align-self: stretch;
  564 +}
  565 +
  566 +.box-wrap {
  567 + flex-wrap: wrap;
  568 +}
  569 +
  570 +.box-nowrap {
  571 + flex-wrap: nowrap;
  572 +}
  573 +
  574 +.flex {
  575 + flex-grow: 1;
  576 +}
  577 +
  578 +.shrink {
  579 + flex-shrink: 1;
  580 +}
  581 +
  582 +.bg {
  583 + background-image: linear-gradient(to bottom, #faefe7, #ffcbd7);
  584 + overflow: hidden;
  585 +}
  586 +
  587 +.brown-color {
  588 + color: #784344;
  589 +}
  590 +
  591 +.pink-color {
  592 + color: #ff629a;
  593 + background: #fff;
  594 + /* margin-top: 16rpx; */
  595 +}
  596 +
  597 +.white-color {
  598 + color: #fff;
  599 +}
  600 +
  601 +.fs24 {
  602 + font-size: 24rpx;
  603 +}
  604 +
  605 +.fs28 {
  606 + font-size: 26rpx;
  607 +}
  608 +
  609 +.fs32 {
  610 + font-size: 32rpx;
  611 +}
  612 +
  613 +.fs36 {
  614 + font-size: 36rpx;
  615 +}
  616 +
  617 +.top-handle {
  618 + height: 80rpx;
  619 + color: #000;
  620 +}
  621 +
  622 +.prev {
  623 + text-align: right;
  624 + height: 80rpx;
  625 +}
  626 +
  627 +.next {
  628 + height: 80rpx;
  629 +}
  630 +
  631 +.prev-handle {
  632 + width: 80rpx;
  633 + height: 100%;
  634 +}
  635 +
  636 +.next-handle {
  637 + width: 80rpx;
  638 + height: 100%;
  639 +}
  640 +
  641 +.date-area {
  642 + width: 50%;
  643 + height: 80rpx;
  644 + text-align: center;
  645 + font-weight: 800;
  646 +}
  647 +
  648 +.weeks {
  649 + height: 50rpx;
  650 + line-height: 50rpx;
  651 + opacity: 0.5;
  652 +}
  653 +
  654 +.week {
  655 + text-align: center;
  656 + color: #000;
  657 +}
  658 +
  659 +.days {
  660 + /* height: 500rpx; */
  661 +}
  662 +
  663 +.grid {
  664 + width: 93.1428571429rpx;
  665 +}
  666 +
  667 +.day {
  668 + width: 50rpx;
  669 + height: 50rpx;
  670 + color: #666;
  671 + font-size: 26rpx;
  672 + margin-top: 30rpx;
  673 +}
  674 +
  675 +.border-radius {
  676 + border-radius: 50%;
  677 + position: relative;
  678 + left: 0;
  679 + top: 0;
  680 + color: #666;
  681 +}
  682 +
  683 +.pink-bg {
  684 + background: #ff8080;
  685 + color: #fff;
  686 + border-radius: 50%;
  687 +}
  688 +
  689 +.pink-bg2 {
  690 + background: #e8e8e8;
  691 + border-radius: 50%;
  692 +}
  693 +
  694 +.purple-bg {
  695 + background-color: #b8b8f1;
  696 +}
  697 +
  698 +.right-triangle::after {
  699 + content: "";
  700 + display: block;
  701 + width: 0;
  702 + height: 0;
  703 + border: 15rpx solid transparent;
  704 + border-left-color: #ff629a;
  705 + position: absolute;
  706 + right: -22rpx;
  707 + top: 18rpx;
  708 +}
  709 +
  710 +.left-triangle::before {
  711 + content: "";
  712 + display: block;
  713 + width: 0;
  714 + height: 0;
  715 + border: 15rpx solid transparent;
  716 + border-right-color: #ff629a;
  717 + position: absolute;
  718 + left: -22rpx;
  719 + top: 18rpx;
  720 +}
  721 +
  722 +.tips {
  723 + text-align: center;
  724 + margin-top: 20rpx;
  725 + margin-bottom: 20rpx;
  726 +}
  727 +
  728 +.types {
  729 + background-color: #ffedf4;
  730 + height: 50rpx;
  731 +}
  732 +
  733 +.types-desc {
  734 + padding: 0 20rpx;
  735 +}
  736 +
  737 +.type-name {
  738 + margin-top: 50rpx;
  739 + margin-bottom: 30rpx;
  740 +}
  741 +
  742 +.type-desc {
  743 + padding: 0 35rpx;
  744 + line-height: 38rpx;
  745 +}
  746 +
  747 +.explain {
  748 + border-top: 1px solid #eee;
  749 + width: 90%;
  750 + margin: 20rpx 5% 20rpx 5%;
  751 + padding: 20rpx 0;
  752 +}
  753 +
  754 +.explain-title {
  755 + font-weight: bold;
  756 + margin-bottom: 15rpx;
  757 +}
  758 +
  759 +.explain-item {
  760 + padding: 8rpx 20rpx;
  761 + color: #fff;
  762 +}
  763 +
  764 +.left-border-radius {
  765 + border-top-left-radius: 20rpx;
  766 + border-bottom-left-radius: 20rpx;
  767 +}
  768 +
  769 +.right-border-radius {
  770 + border-top-right-radius: 20rpx;
  771 + border-bottom-right-radius: 20rpx;
  772 +}
  773 +
  774 +.picker-btns {
  775 + height: 120rpx;
  776 + line-height: 120rpx;
  777 + border-bottom: 1rpx solid #ff7ca0;
  778 +}
  779 +
  780 +.picker-confirm {
  781 + margin-right: 50rpx;
  782 +}
  783 +
  784 +.picker-cancel {
  785 + margin-left: 50rpx;
  786 +}
  787 +
  788 +.picker-view {
  789 + color: #ff7ca0;
  790 + text-align: center;
  791 +}
  792 +
  793 +/* */
  794 +
  795 +.calendar_box {
  796 + padding: 0 50rpx;
  797 +}
  798 +
  799 +.clendar_item {
  800 + box-shadow: 0rpx 1rpx 5rpx 0rpx rgba(89, 89, 89, 0.1);
  801 +}
  802 +
  803 +.title_box {
  804 + font-size: 30rpx;
  805 + font-weight: bold;
  806 + color: #333;
  807 + padding: 20rpx 40rpx;
  808 + /* box-shadow: 0rpx -3rpx 29rpx 0rpx rgba(51, 51, 51, 0.1); */
  809 + position: relative;
  810 + z-index: 200;
  811 + /* text-align: center; */
  812 +}
  813 +
  814 +.title_info {
  815 + display: flex;
  816 + align-items: center;
  817 + justify-content: space-between;
  818 + font-size: 30rpx;
  819 + font-weight: normal;
  820 + color: #333;
  821 + margin-top: 10rpx;
  822 +}
  823 +
  824 +.time {
  825 + color: #999;
  826 +}
  827 +
  828 +.plan_box_info {
  829 + display: flex;
  830 + align-items: center;
  831 + justify-content: space-between;
  832 + border-top: 1rpx solid #e8e8e8;
  833 + padding: 30rpx;
  834 + font-size: 26rpx;
  835 + color: #333;
  836 +}
  837 +
  838 +.plab_btn {
  839 + /* box-shadow: 0rpx 1rpx 3rpx 0rpx rgba(205, 47, 47, 0.2); */
  840 + border-radius: 10rpx;
  841 + background: #ff8080;
  842 + color: #fff;
  843 + padding: 10rpx 20rpx;
  844 + background: #fff;
  845 + color: #fff;
  846 +}