From fe2ab47b63c0ca7e097bff42e697001b9e74f5e3 Mon Sep 17 00:00:00 2001 From: "@fawn-nine" <1271023382@qq.com> Date: Tue, 30 Jul 2024 16:25:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- manifest.json | 4 +- pages.json | 21 + pages/component/commonComponents/list.vue | 1 + pages/course/courseDetail.vue | 48 ++- pages/mine/mine/index.vue | 61 +-- pages/miniClass/addClass.vue | 411 ++++++++++++++++++++ pages/miniClass/classInfo.vue | 32 ++ pages/miniClass/classList.vue | 451 ++++++++++++++++++++++ pages/miniClass/miniClassMan.vue | 180 ++++----- static/icon/class.png | Bin 0 -> 9203 bytes 10 files changed, 1073 insertions(+), 136 deletions(-) create mode 100644 pages/miniClass/addClass.vue create mode 100644 pages/miniClass/classInfo.vue create mode 100644 pages/miniClass/classList.vue create mode 100644 static/icon/class.png diff --git a/manifest.json b/manifest.json index 75cecfb..8ae9ef1 100644 --- a/manifest.json +++ b/manifest.json @@ -12,8 +12,8 @@ "src" : "图片路径" } ], - "versionName" : "1.0.12", - "versionCode" : 1012, + "versionName" : "1.0.13", + "versionCode" : 1013, "app-plus" : { "nvueCompiler" : "weex", "compatible" : { diff --git a/pages.json b/pages.json index aa424ec..bf82692 100644 --- a/pages.json +++ b/pages.json @@ -562,6 +562,27 @@ { "navigationBarTitleText" : "主任教学" } + }, + { + "path" : "pages/miniClass/addClass", + "style" : + { + "navigationBarTitleText" : "添加课程" + } + }, + { + "path" : "pages/miniClass/classInfo", + "style" : + { + "navigationBarTitleText" : "班级详情页66" + } + }, + { + "path" : "pages/miniClass/classList", + "style" : + { + "navigationBarTitleText" : "班级列表" + } } ], "globalStyle": { diff --git a/pages/component/commonComponents/list.vue b/pages/component/commonComponents/list.vue index fd08c90..5e8ff52 100644 --- a/pages/component/commonComponents/list.vue +++ b/pages/component/commonComponents/list.vue @@ -9,6 +9,7 @@ > - - + @@ -56,7 +53,7 @@ - + - + + + + + + + 50 + 个班级正在学习本门课程 + + + 前往查看 >> + + + 0) { - // this.goodsList = res.productList; - // this.selectGoodsData = this.goodsList[0]; - // this.$refs.commonSelectGoods.open(); - // this.show = true; - // } else { - // this.$commonJS.showToast("此课程暂无购买方式"); - // } + } this.$forceUpdate(); }); @@ -1376,12 +1378,24 @@ url: `${url}?id=${id}`, }); }, + goClassLIst(url, id,title){ + uni.navigateTo({ + url: `${url}?courseId=${id}&courseTitle=${title}`, + }); + }, }, }; \ No newline at end of file diff --git a/pages/miniClass/classInfo.vue b/pages/miniClass/classInfo.vue new file mode 100644 index 0000000..7babfd7 --- /dev/null +++ b/pages/miniClass/classInfo.vue @@ -0,0 +1,32 @@ + + + + + diff --git a/pages/miniClass/classList.vue b/pages/miniClass/classList.vue new file mode 100644 index 0000000..448aff2 --- /dev/null +++ b/pages/miniClass/classList.vue @@ -0,0 +1,451 @@ + + + + \ No newline at end of file diff --git a/pages/miniClass/miniClassMan.vue b/pages/miniClass/miniClassMan.vue index 52690e2..c0cce7c 100644 --- a/pages/miniClass/miniClassMan.vue +++ b/pages/miniClass/miniClassMan.vue @@ -27,40 +27,39 @@ - + - - + + + + + - + {{item.title}} - - + + 目标学员人数:{{item.number}} 人 - - - - + + + 一键加入 + 查看班内情况 - - 了解课程 - - - + - + - - + @@ -97,9 +96,9 @@ playData: {}, addType:undefined, // 小班类型 range:[ - { value: 0, text: "普通小班" }, - { value: 1, text: "联合班" }, - { value: 2, text: "精英班" }, + { value: '0', text: "普通小班",name:"普通小班"}, + { value: '1', text: "联合班" ,name:"普通小班"}, + { value: '2', text: "精英班" ,name:"普通小班"}, ], tagId: null, pid:null, @@ -127,23 +126,27 @@ scrollable: false, pageTitle: '', tabList: [ - {name:'普通小班'},{name:'联合班'},{name:'精英班'}], + {name:'普通小班', id:'0'},{name:'联合班', id:'1'},{name:'精英班',id:'2'}], curTagId: 0, courseList: [], status: 3, // 0 不显示, 1 加载中,2 加载全部完成,3 暂无数据 page: 1, flag: true, // 函数是否执行完 + }; }, //第一次加载 onLoad(e) { // 隐藏原生的tabbar uni.hideTabBar(); - this.tagId = e.id + // this.tagId = e.id + this.curTagId = this.range[0].value + this.subTabId = this.subList[0].id this.pageTitle = e.title this.pid = e.pid console.log(e, '传入分类id') - this.getCateList(this.tagId) + this.getData() + // this.getCateList(this.tagId) }, onPageScroll(e) { this.scrollTop = e.scrollTop; @@ -156,17 +159,17 @@ }, onPullDownRefresh() { console.log('下拉刷新') - this.status = 3 - this.page = 1 + // this.status = 3 + // this.page = 1 this.courseList = [] - this.getData(this.subTabId) + this.getData() uni.stopPullDownRefresh() }, onReachBottom() { - if (this.status != 2 && this.flag) { - this.page++ - this.getData(this.subTabId) - } + // if (this.status != 2 && this.flag) { + // this.page++ + // this.getData(this.subTabId) + // } console.log('触底加载', this.page) }, computed: { @@ -175,15 +178,17 @@ //页面显示 onShow() { // 隐藏原生的tabbar - uni.hideTabBar(); - - + // uni.hideTabBar(); }, components: { musicPlay }, //方法 methods: { + // 加入班级 + enterClass(){ + + }, selectChange(e){ console.log("e:", e); }, @@ -194,8 +199,11 @@ return `url(${imageurl})` }, goCreateClass(){ - if(this.addType){ - + console.log('this.addType',this.addType); + if(this.addType != undefined){ + uni.navigateTo({ + url:`/pages/miniClass/addClass?type=${this.addType}&name=add` + }) }else{ uni.showToast({ title:'请选择班级的类型', @@ -203,43 +211,12 @@ }) return } - }, - getCateList(id) { - this.subTabId = this.subList[0].id - this.getData(id) - // $http.request({ - // url: "medical/home/getChildCourseMedicalTree", - // method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档 - // data: { - // "id": id, - // }, - // header: { //默认 无 说明:请求头 - // 'Content-Type': 'application/json' - // }, - // }) - // .then(res => { - // if (res.code == 0) { - // if (res.labels.length > 0) { - // var list = [] - // res.labels.forEach(item => { - // item.name = item.title - // }) - // this.tabList = res.labels - // }else{ - // // this.subList = [] - // this.subTabId = id - // this.getData(id) - // } - // console.log(this.curTagId, '当前高亮') - // } - // }).catch(e => { - // console.log(e, '获取子分类报错') - // }); - }, + }, fatherClick(e) { - // console.log(e, '点击') + console.log('点击', e) this.page = 1 - var item = e + // var item = e + this.curTagId = e.id this.subTabId = this.subList[0].id this.getData(this.subTabId); }, @@ -254,15 +231,18 @@ // console.log('正在执行,未完成') // return // } + this.status = 1 this.flag = false + uni.showLoading({ + title:'正在加载' + }) $http.request({ - url: "medical/home/getMedicalCourseList", + url: "common/class/getClassByDirectorid", method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档 data: { - "id": id, - "limit": 12, - "page": this.page + "state": this.subTabId, //小班状态0待开班1已开班2完成 + "type": this.curTagId // 班类型 0小班 1联合班 2精英班 }, header: { //默认 无 说明:请求头 'Content-Type': 'application/json' @@ -270,28 +250,33 @@ }) .then(res => { if (res.code == 0) { - if (res.courses.records.length > 0) { - var list = res.courses.records - this.courseList = this.courseList.concat(list) - if (res.courses.pages > this.page) { - this.status = 0 - } else { - this.status = 2 - } - } else if (this.page > 1) { - this.status = 2 // 加载完成 + if (res.classEntityList.length > 0) { + this.courseList = res.classEntityList + // var list = res.classEntityList + // this.courseList = this.courseList.concat(list) + // if (res.courses.pages > this.page) { + // this.status = 0 + // } else { + // this.status = 2 + // } + }else{ + this.courseList = [] + } + // else if (this.page > 1) { + // this.status = 2 // 加载完成 - } else { - this.status = 3 // 暂无数据 - } - console.log('status', this.status) + // } else { + // this.status = 3 // 暂无数据 + // } + // console.log('status', this.status) this.flag = true } - + uni.hideLoading() }).catch(e => { + uni.hideLoading() this.flag = true console.log(e, '数据报错') - this.status = 3 + // this.status = 3 uni.showToast({ title:`获取数据失败`, icon:'error' @@ -300,6 +285,7 @@ }, // 跳转 onPageJump(url,id) { + // console.log('进来了',url,id); uni.navigateTo({ url: `${url}?id=${id}` }); @@ -339,9 +325,12 @@ top:0 } .addType{width: 100%; margin-top: 40rpx;margin-bottom: 40rpx; border: 1px solid #eee;} - .classNewBtn{text-align: center; height: 300rpx; padding: 30rpx; background-color: $themeColor; margin-bottom: 80rpx; + .classNewBtn{text-align: center; height:200rpx; padding: 30rpx; + background-image: linear-gradient(-60deg, #fdf0ed 0%, #bfe3f0 40%, #e4eefa 60%, #bfe3f0 80%, #fdf0ed 100%); + border-radius: 0 0 40rpx 40rpx; - .box88{background-color: #fff; border-radius: 40rpx; height: 300rpx; justify-content: center; align-items: center; box-shadow: 0 10rpx 8rpx #eee; + .box88{ border-radius: 40rpx; padding: 30rpx; justify-content: center; align-items: center; + // box-shadow: 0 10rpx 8rpx #eee; button{border-radius: 40rpx;} } } @@ -392,6 +381,7 @@ padding: 3px 5px; @include theme("btn_bg"); font-size: 28rpx; color: #fff; } + .seeInfo{background-color:#fff; background-image: none; border: 1px solid #666; color: #333; margin-left: 20rpx;} } .buyItems { width: 60%; @@ -452,7 +442,7 @@ .imgcontainer { background-color: $imgBg; } - + .box { // background-color: #fff; min-height: calc(100vh - 270rpx); diff --git a/static/icon/class.png b/static/icon/class.png new file mode 100644 index 0000000000000000000000000000000000000000..7fe342bd582c1e36abb7b4270337e88c61e1cc79 GIT binary patch literal 9203 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 JPDHLkV1kW