Browse Source

智慧教学设计

西昌分支
yxq 3 weeks ago
parent
commit
6417079b80
14 changed files with 923 additions and 5 deletions
  1. +38
    -0
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages.json
  2. +143
    -0
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/SmartEducation/AIres.vue
  3. +145
    -0
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/SmartEducation/list.vue
  4. +95
    -0
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/SmartEducation/record.vue
  5. +206
    -0
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/SmartEducation/single.vue
  6. +127
    -0
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/practiceCourse/list.vue
  7. +152
    -0
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/practiceCourse/single.vue
  8. +17
    -5
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/home.vue
  9. BIN
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/static/empty.png
  10. BIN
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/static/img-smartEducation/AI.png
  11. BIN
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/static/img-smartEducation/AIres.png
  12. BIN
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/static/img-smartEducation/banner.png
  13. BIN
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/static/img-smartEducation/btn.png
  14. BIN
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/static/img-smartEducation/time.png

+ 38
- 0
Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages.json View File

@@ -1150,6 +1150,44 @@
"enablePullDownRefresh": false
}
},
// 智慧教学设计
{
"path": "pages/EducationalAdministration/SmartEducation/list",
"style": {
"navigationBarTitleText": "智慧教学设计",
"enablePullDownRefresh": false
}
}, {
"path": "pages/EducationalAdministration/SmartEducation/single",
"style": {
"navigationBarTitleText": "观看课程",
"enablePullDownRefresh": false
}
}, {
"path": "pages/EducationalAdministration/SmartEducation/AIres",
"style": {
"navigationBarTitleText": "结果",
"enablePullDownRefresh": false
}
}, {
"path": "pages/EducationalAdministration/SmartEducation/record",
"style": {
"navigationBarTitleText": "查看记录",
"enablePullDownRefresh": false
}
}, {
"path": "pages/EducationalAdministration/practiceCourse/list",
"style": {
"navigationBarTitleText": "我的自主练习课程",
"enablePullDownRefresh": false
}
}, {
"path": "pages/EducationalAdministration/practiceCourse/single",
"style": {
"navigationBarTitleText": "上传课程",
"enablePullDownRefresh": false
}
},
// 统一应用
{
"path": "pages/SSO/MyApp/list",


+ 143
- 0
Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/SmartEducation/AIres.vue View File

@@ -0,0 +1,143 @@
<template>
<view>
<view style="text-align: center;">
<view class="AIresImg">
<view class="border">
<view class="bg">
<img src="@/static/img-smartEducation/AI.png" alt="">
</view>
</view>
</view>
</view>
<view class="title">
AI分析结果
</view>
<view class="section">
<view class="sectionTitle">
教学环节
</view>
<textarea class="textarea" v-model="form.text" :maxlength="800" placeholder="请输入"></textarea>
<view class="line"></view>
<view class="sectionTitle">
教学特色
</view>
<textarea class="textarea" v-model="form.text" :maxlength="800" placeholder="请输入"></textarea>
<view class="resText">
<view class="resTitle">
AI分析结果:
</view>
<text>
压力是指垂直作用在物体表面上的力,它的方向总是指向支持物并和支持物的表面垂直。
在具体的问题中,压力的方向和支持物的位置有关。
这里必须要明确的是,我们不能有压力的方向总是竖直向下的错误认识。
</text>
</view>
</view>
</view>
</template>

<script>
export default {
data() {
return {
form:{
text:''
}
}
},
methods: {
}
}
</script>

<style>
uni-page-body{
height: 100%;
background: linear-gradient(to bottom,#0C86D8,#B0D7F2);
overflow-y: auto;
}
.AIresImg{
display: inline-block;
margin: 30rpx auto;
.border{
border-radius: 50%;
padding: 30rpx;
border: 8rpx solid #fff;
border-right-style: dashed;
border-left-style: dashed;
transform: rotate(-45deg);
}
.bg{
padding: 30rpx;
background: rgba(255, 255, 255,0.3);
border-radius: 50%;
}
img{
width: 80rpx;
height: 80rpx;
transform: rotate(45deg);
}
}
.title{
color: #fff;
font-size: 20px;
text-align: center;
font-weight: 700;
}
.section {
box-shadow: 0 0 20rpx 0rpx rgba(0, 0, 0, 0.1);
background-color: #fff;
margin: 30rpx 30rpx;
border-radius: 16rpx;
padding: 30rpx;
padding-left: 70rpx;
.sectionTitle {
color: #333;
font-weight: 700;
font-size: 15px;
position: relative;
&::before {
content: '';
background-color: #0081FF;
display: block;
position: absolute;
width: 16rpx;
height: 16rpx;
border-radius: 50%;
top: 15rpx;
left: -36rpx;
}
}
.textarea {
font-size: 13px;
margin-top: 20rpx;
width: 100%;
height: 260rpx;
margin-bottom: 30rpx;
}
.line{
margin-left: -40rpx;
border-bottom: 2rpx dashed #ccc;
margin-bottom: 30rpx;
}
}
.resText{
margin-left: -40rpx;
border-radius: 16rpx;
background-color: #E7F3FC;
padding: 30rpx;
min-height: 100px;
.resTitle{
font-size: 15px;
color: #0C86D8;
font-weight: 700;
margin-bottom: 20rpx;
}
text{
color: #333;
}
}
</style>

+ 145
- 0
Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/SmartEducation/list.vue View File

@@ -0,0 +1,145 @@
<template>
<view>
<view class="banner">
<img src="@/static/img-smartEducation/banner.png" alt=""
@click="NAV_TO('/pages/EducationalAdministration/SmartEducation/list')">
</view>
<view class="myLession" @click="NAV_TO('/pages/EducationalAdministration/practiceCourse/list')">
<view class="title">
我的自主练习课程
</view>
<view class="rightICON">
>
</view>
</view>
<view class="listTitle">
课程
</view>
<view class="list">
<view class="item" v-for="(item,index) in list" :key="index" @click="NAV_TO('./single',{id:item.id||''})">
<view class="row1">
{{item.lesson}}·七年级
</view>
<view class="row2 wrap1">
{{item.name}}
</view>
<view class="itemTitleBg" :style="{background:getColor(index)}"></view>
<view class="itemTitle" :style="{background:getColor(index)}">
{{item.lesson}}
</view>
</view>
</view>
</view>
</template>

<script>
export default{
data(){
return{
colors:['#FF5858','#28BD59','#6194F9','#2CBCF6','#A370DF','#D28833','#30D4AE','#FDB401','#FB7436'],
list:[{lesson:'语文',name:'一颗小杨树'},{lesson:'数学',name:'圆柱与圆锥'},{lesson:'物理',name:'压力与压强'}],
}
},
methods:{
getColor(index){
let length = this.colors.length
if(index+1>length){
index = (index+1)%length
return this.colors[index-1]
}
return this.colors[index]
}
}
}
</script>

<style scoped>
.banner {
text-align: center;
margin: 30rpx 30rpx 24rpx 30rpx;
img{
width: 100%;
}
}
.myLession{
margin: 0 30rpx 30rpx 30rpx;
border-radius: 16rpx;
overflow: hidden;
display: flex;
justify-content: space-between;
align-items: center;
background-color: #fff;
padding: 30rpx 24rpx;
.title{
font-size: 14px;
color: #333;
}
.rightICON{
transform: scaleY(2);
}
}
.listTitle{
font-size: 18px;
color: #333;
padding: 0 30rpx;
font-weight: 700;
margin-top: 34rpx;
}
.list{
margin-top: 34rpx;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 0 30rpx;
font-size: 12px;
.item{
box-shadow: 0 0 20rpx 0rpx rgba(0,0,0,0.1);
width: 48%;
background-color: #fff;
border-radius: 14rpx;
padding: 28rpx 30rpx;
position: relative;
margin-top: 30rpx;
margin-bottom: 34rpx;
.row1{
color: #666;
text-align: right;
}
.row2{
margin-top: 24rpx;
color: #333;
}
.itemTitle{
position: absolute;top: -30rpx;left: 30rpx;
font-size: 13px;font-weight: 700;
text-align: center;line-height: 80rpx;
width: 80rpx;height: 80rpx;
border-radius: 16rpx;
color: #fff;
transform: rotate(12deg);
}
.itemTitleBg{
position: absolute;top: 4rpx;left: 56rpx;
width: 60rpx;height: 60rpx;border-radius: 12rpx;
transform: rotate(-12deg);
opacity: 0.1;
}
}
}
/* 文字溢出 */
.wrap1 {
display: block;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.wrap2 {
display: block;
overflow: hidden;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
display: -webkit-box;
word-break: break-all;
}
</style>

+ 95
- 0
Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/SmartEducation/record.vue View File

@@ -0,0 +1,95 @@
<template>
<view>
<view style="padding-bottom:30rpx;">
<view class="item" v-for="(item,index) in list" :key="index">
<view class="time">
11-01 08:30
</view>
<view class="textBox">
<view class="wrap2 text">
教学环节:压力是指垂直作用在物体表面上的力,它的方向总是指向支持物并和支持物的表面垂直。
在具体的问题中,压力的方向和支持物的位置有关。
这里必须要明确的是,我们不能有压力的方向总是竖直向下的错误认识。
</view>
<view class="wrap2 text">
教学特色:压力是指垂直作用在物体表面上的力,它的方向总是指向支持物并和支持物的表面垂直。
在具体的问题中,压力的方向和支持物的位置有关。
这里必须要明确的是,我们不能有压力的方向总是竖直向下的错误认识。
</view>
<view class="lookAll" @click="NAV_TO('./single',{id:item.id,type:'view'})">
查看全部
</view>
</view>
</view>
</view>
</view>
</template>

<script>
export default {
data() {
return {
list:[{id:157455241},{id:45555252}]
}
},
methods: {
}
}
</script>

<style scoped>
uni-page-body{
background: #fff;
height: 100%;
overflow: auto;
}
.item{
padding: 40rpx 30rpx 0rpx 50rpx;
border-radius: 16rpx;
.time{
color: #333;
font-size: 15px;
font-weight: 700;
position: relative;
&::before{
content: '';
background-color: #0C86D8;
position: absolute;
height: 24rpx;
width: 28rpx;
border-top-right-radius: 15rpx;
border-bottom-right-radius: 15rpx;
left: -50rpx;
top: 8rpx;
}
}
.textBox{
background-color: #F5F5F5;
border-radius: 16rpx;
margin-top: 30rpx;
padding: 20rpx;
.text{
color: #333;
margin-bottom: 20rpx;
&:last-child{
margin-bottom: 0;
}
}
.lookAll{
text-align: center;
color: #0C86D8;
margin-top: 20rpx;
margin-bottom: 10rpx;
}
}
}
.wrap2 {
display: block;
overflow: hidden;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
display: -webkit-box;
word-break: break-all;
}
</style>

+ 206
- 0
Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/SmartEducation/single.vue View File

@@ -0,0 +1,206 @@
<template>
<view class="">
<video v-if="!isRecordDetail" id="myVideo" :src="form.url" controls></video>
<view :class="{title:true,isRecordDetail:isRecordDetail}">
<view class="row1">{{form.title}}</view>
<view class="row2">
<view>
物理·八年级
</view>
<view>
11-01 08:30
</view>
</view>
</view>
<view class="section">
<view class="sectionTitle">
教学环节
</view>
<textarea class="textarea" v-model="form.text" :maxlength="800" placeholder="请输入"></textarea>
</view>
<view class="section">
<view class="sectionTitle">
教学特色
</view>
<textarea class="textarea" v-model="form.text" :maxlength="800" placeholder="请输入"></textarea>
</view>
<view v-if="!isRecordDetail" class="blank"></view>
<view class="bottomFixed" v-if="!isRecordDetail">
<view class="left" @click="NAV_TO('./record')">
<view>
<img src="@/static/img-smartEducation/time.png" alt="">
<view>
查看记录
</view>
</view>
</view>
<view class="right" @click="AICheckClick" :style="{opacity:btnDisable?0.6:1}">
<img src="@/static/img-smartEducation/AI.png" alt="">
<view>
AI分析
</view>
</view>
</view>
<uni-toast data-duration="100000000" v-if="loading">
<div class="uni-mask" style="background: rgba(17,17,17,0.3);"></div>
<div class="uni-toast" style="background: #fff!important;">
<i class="uni-icon_toast uni-loading"></i>
<p class="uni-toast__content" style="color: #000;font-size: 14px;"> AI分析中 </p>
</div>
</uni-toast>
</view>
</template>

<script>
export default {
data() {
return {
form: {
url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/2minute-demo.mp4',
title: '压力与压强',
text: '',
},
loading:false,
btnDisable: false,
isRecordDetail:false
}
},
async onLoad({ type, id }) {
await this.init(type, id)
},
methods: {
init(type,id){
if(type == 'view'){
this.isRecordDetail = true
this.SET_TITLE('记录详情')
}
// this.HTTP_GET('/',{}).then(res=>{
// if(!res)return
// this.form = res.data
// })
},
AICheckClick() {
// this.loading = true
// this.HTTP_POST('/',{}).then(res=>{
// this.loading = false
// if(!res){
// return
// }
// this.NAV_TO('/')
// })
this.NAV_TO('./AIres')
}
}
}
</script>

<style scoped>
uni-video {
width: 100%;
height: 400rpx;
}

.title {
background-color: #fff;
font-size: 16px;
color: #333;
padding: 30rpx;
font-weight: 700;

.row2 {
display: flex;
justify-content: space-between;
font-size: 12px;
color: #666;
font-weight: 400;
margin-top: 20rpx;
}
&.isRecordDetail{
background-color: unset;
padding-bottom: 10rpx;
}
}

.section {
box-shadow: 0 0 20rpx 0rpx rgba(0, 0, 0, 0.1);
background-color: #fff;
margin: 30rpx 30rpx;
border-radius: 16rpx;
padding: 30rpx;
padding-left: 70rpx;

.sectionTitle {
color: #333;
font-weight: 700;
font-size: 15px;
position: relative;

&::before {
content: '';
background-color: #0081FF;
display: block;
position: absolute;
width: 16rpx;
height: 16rpx;
border-radius: 50%;
top: 15rpx;
left: -36rpx;
}
}

.textarea {
font-size: 13px;
margin-top: 20rpx;
width: 100%;
height: 260rpx;
}
}

.blank {
height: 140rpx;
}

.bottomFixed {
box-shadow: 0 0 20rpx 0rpx rgb(0, 0, 0, 0.1);
position: fixed;
bottom: 0;
width: 100%;
height: 120rpx;
background-color: #fff;
padding: 18rpx 30rpx;
display: flex;
justify-content: space-between;

.left {
text-align: center;
color: #333;
font-size: 11px;
padding-right: 40rpx;
padding-top: 4rpx;

img {
width: 44rpx;
height: 44rpx;
margin-bottom: 4rpx;
}
}

.right {
flex: 1;
background-color: #0C86D8;
display: flex;
justify-content: center;
align-items: center;
font-weight: 700;
font-size: 15px;
color: #fff;
border-radius: 12rpx;

img {
height: 50rpx;
margin-right: 20rpx;
}
}
}
</style>

+ 127
- 0
Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/practiceCourse/list.vue View File

@@ -0,0 +1,127 @@
<template>
<view class="page">
<!-- 主列表页 -->
<view class="mainpage" style="padding-top: 80rpx;">
<!-- 滚动列表,跨端支持上拉/下拉 -->
<l-scroll-list v-if="ready" @pullDown="pullDown" @toBottom="fetchList()" ref="list">
<l-customlist :tips="loadState" showTips>
<!-- 单条记录 -->
<view class="customlist-item" v-for="(item,index) of list" :key="item.Id">
</view>
</l-customlist>
</l-scroll-list>
<view class="emptyBox">
<img src="@/static/empty.png" alt="">
<view>暂无上传课程</view>
</view>
</view>
<l-customlist-add @click="NAV_TO('./single')" />
</view>
</template>
<script>
export default {
data() {
return {
// 页面相关参数
ready: false,
tips: '加载中...',
loadState: '向下翻以加载更多',
// 列表与分页信息
page: 1,
total: 2,
list: []
}
},
async onLoad() {
await this.init()
},
onUnload() {
// this.OFF('LogisticsManagement-Purchase_Work-list-change')
},
methods: {
// 页面初始化
async init() {
// this.ON('LogisticsManagement-Purchase_Work-list-change', this.reset)
await this.fetchList()
this.ready = true
},
// 拉取列表
async fetchList(isConcat = true) {
if (this.page > this.total) { return }
// const result = await this.HTTP_GET(
// 'learun/adms/purchasework/pagelist',
// {
// // 这里 sidx 表示排序字段,sord 表示排序方式(DESC=降序,ASC=升序)
// // 代码生成器生成时默认按照主键排序,您可以修改成按创建时间的字段降序
// pagination: { rows: 10, page: this.page, sidx: 'SubmitTime', sord: 'DESC',sidx:'' },
// queryJson: JSON.stringify(this.searchData)
// },
// '加载数据时出错'
// )
// if (!result) { return }
this.total = result.total
this.page = result.page + 1
this.list = isConcat ? this.list.concat(result.rows) : result.rows;
this.tips = `已加载 ${Math.min(result.page, result.total)} / ${result.total} 页,共 ${result.records} 项`
this.loadState = result.page >= result.total ? '已加载所有项目' : '向下翻以加载更多'
},
// 刷新清空列表
async refreshList(isConcat = true) {
this.page = 1
this.total = 2
this.list = []
await this.fetchList(isConcat)
},
// 列表下拉
pullDown() {
this.refreshList().then(() => {
this.$refs.list.stopPullDown()
})
},
}
}
</script>
<style lang="less" scoped>
@import '~@/common/css/sidepage.less';
@import '~@/common/css/customlist.less';
.customlist-banner-action {
margin-top: 20rpx;
text-align: right;

.customlist-banner-action-btn {
display: inline-block;
padding: 4px 6px;
margin: 0 3px;
border-radius: 3px;
text-align: center;
}
}

.emptyBox{
margin-top:100rpx;
text-align: center;
color: #999;
img{
width: 60px;
margin-bottom: 30rpx;
}
}
</style>

+ 152
- 0
Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/practiceCourse/single.vue View File

@@ -0,0 +1,152 @@
<template>
<view class="">
</view>
</template>

<script>
export default {
data() {
return {
form: {},
}
},
async onLoad({ type, id }) {
await this.init(type, id)
},
methods: {
init(type,id){
if(type != 'add'){
this.isRecordDetail = true
this.SET_TITLE('记录详情')
}else{
// this.HTTP_GET('/',{}).then(res=>{
// if(!res)return
// this.form = res.data
// })
}
},
AICheckClick() {
// this.loading = true
// this.HTTP_POST('/',{}).then(res=>{
// this.loading = false
// if(!res){
// return
// }
// this.NAV_TO('/')
// })
this.NAV_TO('./AIres')
}
}
}
</script>

<style scoped>
uni-video {
width: 100%;
height: 400rpx;
}

.title {
background-color: #fff;
font-size: 16px;
color: #333;
padding: 30rpx;
font-weight: 700;

.row2 {
display: flex;
justify-content: space-between;
font-size: 12px;
color: #666;
font-weight: 400;
margin-top: 20rpx;
}
&.isRecordDetail{
background-color: unset;
padding-bottom: 10rpx;
}
}

.section {
box-shadow: 0 0 20rpx 0rpx rgba(0, 0, 0, 0.1);
background-color: #fff;
margin: 30rpx 30rpx;
border-radius: 16rpx;
padding: 30rpx;
padding-left: 70rpx;

.sectionTitle {
color: #333;
font-weight: 700;
font-size: 15px;
position: relative;

&::before {
content: '';
background-color: #0081FF;
display: block;
position: absolute;
width: 16rpx;
height: 16rpx;
border-radius: 50%;
top: 15rpx;
left: -36rpx;
}
}

.textarea {
font-size: 13px;
margin-top: 20rpx;
width: 100%;
height: 260rpx;
}
}

.blank {
height: 140rpx;
}

.bottomFixed {
box-shadow: 0 0 20rpx 0rpx rgb(0, 0, 0, 0.1);
position: fixed;
bottom: 0;
width: 100%;
height: 120rpx;
background-color: #fff;
padding: 18rpx 30rpx;
display: flex;
justify-content: space-between;

.left {
text-align: center;
color: #333;
font-size: 11px;
padding-right: 40rpx;
padding-top: 4rpx;

img {
width: 44rpx;
height: 44rpx;
margin-bottom: 4rpx;
}
}

.right {
flex: 1;
background-color: #0C86D8;
display: flex;
justify-content: center;
align-items: center;
font-weight: 700;
font-size: 15px;
color: #fff;
border-radius: 12rpx;

img {
height: 50rpx;
margin-right: 20rpx;
}
}
}
</style>

+ 17
- 5
Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/home.vue View File

@@ -53,13 +53,17 @@
<text>{{ item.F_Name }}</text>
</view>
</view>
<view class="text-center bg-white margin-bottom"
><text
<view class="text-center bg-white margin-bottom">
<text
@click="moreClick(0)"
class="function-more-btn margin-tb-sm text-gray"
>更多应用</text
></view
>
>更多应用
</text>
</view>
<view class="smartEdu">
<img src="@/static/img-smartEducation/btn.png" alt="" @click="NAV_TO('/pages/EducationalAdministration/SmartEducation/list')">
</view>

<!-- 统计数据宫格 -->
<l-title>统计数据</l-title>
@@ -711,6 +715,14 @@ export default {
background-color: #fff;
overflow: hidden;
}
.smartEdu{
text-align: center;
padding-bottom: 28rpx;
img{
width: 90%;
}
}
}
</style>



BIN
Learun.Framework.Ultimate V7/LearunApp-2.2.0/static/empty.png View File

Before After
Width: 320  |  Height: 200  |  Size: 7.4 KiB

BIN
Learun.Framework.Ultimate V7/LearunApp-2.2.0/static/img-smartEducation/AI.png View File

Before After
Width: 200  |  Height: 200  |  Size: 2.6 KiB

BIN
Learun.Framework.Ultimate V7/LearunApp-2.2.0/static/img-smartEducation/AIres.png View File

Before After
Width: 305  |  Height: 216  |  Size: 37 KiB

BIN
Learun.Framework.Ultimate V7/LearunApp-2.2.0/static/img-smartEducation/banner.png View File

Before After
Width: 348  |  Height: 156  |  Size: 53 KiB

BIN
Learun.Framework.Ultimate V7/LearunApp-2.2.0/static/img-smartEducation/btn.png View File

Before After
Width: 348  |  Height: 68  |  Size: 26 KiB

BIN
Learun.Framework.Ultimate V7/LearunApp-2.2.0/static/img-smartEducation/time.png View File

Before After
Width: 200  |  Height: 200  |  Size: 8.3 KiB

Loading…
Cancel
Save