master
lion 1 year ago
parent e3b1d206ba
commit 9d28edccf4

@ -1,7 +1,7 @@
const mode = 'production'; //devLocal本地测试、devOnline线上测试、production生产环境 const mode = 'production'; //devLocal本地测试、devOnline线上测试、production生产环境
let ROOTPATH = ''; //域名 let ROOTPATH = ''; //域名
let baseUrl = "https://suzhoukeji-test.ali251.langye.net" // let baseUrl = "https://suzhoukeji-test.ali251.langye.net"
// let baseUrl = "https://wx.sstbc.com" let baseUrl = "https://wx.sstbc.com"
switch (mode) { switch (mode) {
case 'devLocal': case 'devLocal':
ROOTPATH = baseUrl ROOTPATH = baseUrl

@ -110,12 +110,12 @@
this.$refs.uForm.validate(valid => { this.$refs.uForm.validate(valid => {
if (valid) { if (valid) {
this.$u.api.updateDonates(this.form).then(res => { this.$u.api.updateDonates(this.form).then(res => {
this.base.toast('提交成功',1000,function(){ this.base.toast('提交成功',1500,function(){
setTimeout(function(){ setTimeout(function(){
uni.switchTab({ uni.switchTab({
url:'/pages/me/index' url:'/pages/me/index'
}) })
},50) },100)
}) })
}) })
} else { } else {

@ -1,18 +1,24 @@
<template> <template>
<view class="container"> <view class="container">
<image class="cbg" :src="base.imgHost('common_bg.png')"></image> <image class="cbg" :src="base.imgHost('common_bg.png')"></image>
<view class="search-wrap" v-if="selectList.length>0">
<view class="search"> <view class="search">
<!-- <view class="select"> --> <!-- <view class="select"> -->
<w-select width="250rpx" :showClose="false" style="margin-left: 20rpx;" v-model="chooseValue" :list="selectList" valueName="name" <w-select width="250rpx" :showClose="false" style="margin-left: 20rpx;" v-model="chooseValue"
keyName="id" @change="changeMonth"> :list="selectList" valueName="name" keyName="id" @change="changeMonth">
</w-select> </w-select>
<!-- </view> --> <!-- </view> -->
<view class="all" @click="changeAll"></view> <view class="all" @click="changeAll"></view>
</view> </view>
<view class="wrap"> </view>
<view v-if="monthList.length>0"> <view class="search-tab" v-if="selectDayList.length>0">
<view class="item" v-for="item in monthList"> <u-tabs :bg-color="'#f0f7fc'" active-color="#b89155" :list="selectDayList" name="value" :is-scroll="true"
<view class="item-date">{{item.monthday}}</view> :current="current" @change="changeSearchDay"></u-tabs>
</view>
<view class="wrap" :style="isAll?'padding-top:100rpx':'padding-top:30rpx'">
<view v-if="dayDataList.length>0">
<view class="item" v-for="item in dayDataList">
<view v-if="isAll" class="item-date">{{item.monthday}}</view>
<view class="item-period">{{item.period}}</view> <view class="item-period">{{item.period}}</view>
<view class="item-img"> <view class="item-img">
<image :src="base.imgHost('mycourse-c1.png')" style="width:22rpx;height:22rpx"></image> <image :src="base.imgHost('mycourse-c1.png')" style="width:22rpx;height:22rpx"></image>
@ -44,9 +50,12 @@
data() { data() {
return { return {
list: [], list: [],
monthList: [], dayDataList: [],
chooseValue: '', chooseValue: '',
selectList: '' selectList: '',
selectDayList: [],
current: 0,
isAll:false
} }
}, },
onLoad(options) { onLoad(options) {
@ -59,18 +68,26 @@
}) })
this.list = res.list this.list = res.list
if (res.list.length > 0) { if (res.list.length > 0) {
// this.monthList = res.list // this.dayDataList = res.list
let obj = this.groupByMonthAndSort(res.list) let obj = this.groupByMonthAndSort(res.list)
const currentMonth = this.$moment().format('YYYY年MM月') const currentMonth = this.$moment().format('YYYY年MM月')
const currentDay = this.$moment().format('MM月DD日')
if (this.selectList.length > 0) { if (this.selectList.length > 0) {
this.selectList.map((item, index) => { this.selectList.map((item, index) => {
if (item.name === currentMonth) { if (item.name === currentMonth) {
this.monthList = item.item
this.chooseValue = item.name this.chooseValue = item.name
this.selectDayList = item.item
this.dayDataList = item.item[0]['arr']
item.item.map((cur,index1)=>{
if(cur.value===currentDay){
this.dayDataList = cur['arr']
this.current = index1
}
})
} else { } else {
this.monthList = this.selectList[this.selectList.length-1]['item'] this.selectDayList = this.selectList[this.selectList.length - 1]['item']
this.chooseValue = item.name this.chooseValue = item.name
this.dayDataList = this.selectList[this.selectList.length - 1]['item'][0]['arr']
} }
}) })
} }
@ -81,12 +98,25 @@
}, },
changeMonth(e) { changeMonth(e) {
console.log("e", e, this.chooseValue) console.log("e", e, this.chooseValue)
this.monthList = e.item this.selectDayList = e.item
this.dayDataList = e.item[0]['arr']
this.current = 0
this.isAll = false
}, },
changeAll() { changeAll() {
this.chooseValue = '' this.current = 0
this.monthList = this.list this.selectDayList = []
this.dayDataList = this.list
this.isAll = true
// this.$set(this,'chooseValue','')
},
//
changeSearchDay(e) {
console.log("e1", e)
this.current = e
this.dayDataList = this.selectDayList[e]['arr']
}, },
//
groupByMonthAndSort(a) { groupByMonthAndSort(a) {
// //
const groupedData = {}; const groupedData = {};
@ -105,7 +135,6 @@
groupedData[monthKey].push(item); groupedData[monthKey].push(item);
}); });
let _arr = [] let _arr = []
for (var k in groupedData) { for (var k in groupedData) {
_arr.push({ _arr.push({
name: k, name: k,
@ -113,10 +142,36 @@
id: k id: k
}) })
} }
this.selectList = _arr this.selectList = this.transformItemsToObject(_arr)
// //
return groupedData; return groupedData;
},
//
transformItemsToObject(arr) {
return arr.map(month => {
const transformedItems = month.item.reduce((acc, curr) => {
const key = curr.monthday;
const existingItem = acc.find(item => item.value === key);
if (existingItem) {
existingItem.arr.push(curr);
} else {
acc.push({
value: key,
arr: [curr]
});
} }
return acc;
}, []);
return {
...month,
item: transformedItems
};
});
},
} }
} }
@ -137,12 +192,14 @@
height: 100vh; height: 100vh;
} }
.search { .search {
width:100%;
padding: 30rpx;
position: fixed; position: fixed;
top: 0; top: 0;
left: 0; left: 0;
width: 100%;
width: 100%;
padding: 30rpx;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
@ -150,15 +207,26 @@
z-index: 9; z-index: 9;
background-color: #fff; background-color: #fff;
height: 100rpx; height: 100rpx;
.all { .all {
font-size: 28rpx; font-size: 28rpx;
color: #b89155; color: #b89155;
} }
} }
.search-tab {
// position: fixed;
// top: 100rpx;
// left: 0;
// width: 100%;
margin-top: 100rpx;
background-color: #fff;
}
.wrap { .wrap {
position: relative; position: relative;
padding-top:100rpx; // padding-top: 20rpx;
.item { .item {
background-color: #fff; background-color: #fff;
padding: 30rpx; padding: 30rpx;

@ -3,6 +3,7 @@
<image class="cbg" :src="base.imgHost('common_bg.png')"></image> <image class="cbg" :src="base.imgHost('common_bg.png')"></image>
<view class="wrap"> <view class="wrap">
<view class="wrap-title"> <view class="wrap-title">
<text v-if="info.course.year">{{info.course.year+''}}</text>
<text v-if="info.course.type">{{info.course.type_detail?info.course.type_detail.name+' | ':''}}</text> <text v-if="info.course.type">{{info.course.type_detail?info.course.type_detail.name+' | ':''}}</text>
{{info.course?info.course.name:''}} {{info.course?info.course.name:''}}
</view> </view>

Loading…
Cancel
Save