|
|
@ -3,33 +3,118 @@ |
|
|
|
<view class="p-section"> |
|
|
|
<view class="s-desc"> |
|
|
|
<view class="d-tit">作业描述</view> |
|
|
|
<view class="d-frame"><textarea placeholder="请输入"></textarea></view> |
|
|
|
<view class="d-frame"><textarea placeholder="请输入" v-model="info.desc"></textarea></view> |
|
|
|
</view> |
|
|
|
<view class="s-addr"> |
|
|
|
<view>视频链接</view> |
|
|
|
<view><input value="12345" /></view> |
|
|
|
<view><input v-model="info.videoSrc"/></view> |
|
|
|
</view> |
|
|
|
<view class="s-imgs"> |
|
|
|
<view class="i-tit"><text>上传照片</text>(最多上传6张,只支持.jpg、png 格式)</view> |
|
|
|
<view class="i-list"> |
|
|
|
<view class="l-item" v-for="i in 5" :key="i"> |
|
|
|
<image class="i-close"></image> |
|
|
|
<image class="i-img"></image> |
|
|
|
<view class="l-item" v-for="(e, i) in info.imgArr" :key="i"> |
|
|
|
<image class="i-close" mode="aspectFit" src="/static/images/close_c00.png" @click="clearImage(i)"></image> |
|
|
|
<image class="i-img" mode="aspectFit" :src="e" @click="previewImage(e)"></image> |
|
|
|
</view> |
|
|
|
<view class="l-item l-add"> |
|
|
|
<view class="l-item l-add" @click="imgSelect" v-if="info.imgArr.length<6"> |
|
|
|
<view class="a-icon"></view> |
|
|
|
<view class="a-tip">上传照片</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="fixed-bot-btn"><view hover-class="hover-active">保存</view></view> |
|
|
|
<view class="fixed-bot-btn"><view hover-class="hover-active" @click="submitBtn">保存</view></view> |
|
|
|
</view> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import { API } from '../../../js/api'; |
|
|
|
import { servers } from '../../../js/server'; |
|
|
|
import util from '../../../utils/util'; |
|
|
|
export default { |
|
|
|
|
|
|
|
data(){ |
|
|
|
return { |
|
|
|
info: { |
|
|
|
desc: '', |
|
|
|
videoSrc: '', |
|
|
|
imgArr: [] |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
onLoad(options){ |
|
|
|
let _query = util.jsonPar(options.query); |
|
|
|
this.optionsQuery = _query; |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
// 删除图片 |
|
|
|
clearImage(index){ |
|
|
|
let _imgs = [...this.info.imgArr]; |
|
|
|
_imgs.splice(index,1); |
|
|
|
this.info.imgArr = _imgs; |
|
|
|
}, |
|
|
|
|
|
|
|
// 查看大图片 |
|
|
|
previewImage(src) { |
|
|
|
uni.previewImage({ |
|
|
|
current: src, |
|
|
|
urls: this.imageList |
|
|
|
}) |
|
|
|
}, |
|
|
|
submitBtn: util.debounce(function(){ |
|
|
|
let { optionsQuery } = this; |
|
|
|
let { desc, videoSrc, imgArr } = this.info; |
|
|
|
console.warn(API.course.homeworkAdd) |
|
|
|
servers.post({ |
|
|
|
url: API.course.homeworkAdd, |
|
|
|
data: { |
|
|
|
course_id: optionsQuery.course_id, |
|
|
|
user_id: optionsQuery.user_id || '', |
|
|
|
class_id: optionsQuery.class_id, |
|
|
|
description: desc, |
|
|
|
video_url: videoSrc, |
|
|
|
images: imgArr, |
|
|
|
}, |
|
|
|
failMsg: '操作失败!' |
|
|
|
}) |
|
|
|
.then(res=>{ |
|
|
|
if(res.data.code == 0){ |
|
|
|
util.showNone(res.data.message || '操作成功!'); |
|
|
|
setTimeout(util.routeTo, 1200); |
|
|
|
}else{ |
|
|
|
util.showNone(res.data.message || '操作失败!'); |
|
|
|
} |
|
|
|
}) |
|
|
|
}, 300, 300), |
|
|
|
// 从相册选择图片 |
|
|
|
imgSelect() { |
|
|
|
uni.chooseImage({ |
|
|
|
count: 1, |
|
|
|
sizeType: [ 'compressed ' ], |
|
|
|
success: res => { |
|
|
|
util.showLoad(); |
|
|
|
servers.uploadFile({ |
|
|
|
url: API.task_publish, |
|
|
|
filePath: res.tempFilePaths[0], |
|
|
|
}) |
|
|
|
.then(e=>{ |
|
|
|
util.hideLoad(); |
|
|
|
let _res = util.jsonPar(e.data); |
|
|
|
if(_res.code == 0){ |
|
|
|
this.info.imgArr = [_res.data.url, ...this.info.imgArr]; |
|
|
|
this.$nextTick(_=>this.$forceUpdate()); |
|
|
|
}else{ |
|
|
|
console.error('上传图片失败--->',_res); |
|
|
|
util.showNone(_res.message || '上传图片失败,请重试!') |
|
|
|
} |
|
|
|
}) |
|
|
|
.catch(err=>{ |
|
|
|
console.error('上传图片失败--->',err); |
|
|
|
util.showNone('上传图片失败,稍后重试!') |
|
|
|
}) |
|
|
|
}, |
|
|
|
}) |
|
|
|
}, |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
|
|
|
@ -113,7 +198,6 @@ export default { |
|
|
|
height: 200upx; |
|
|
|
border-radius: 10upx; |
|
|
|
overflow: hidden; |
|
|
|
background-color: springgreen; |
|
|
|
&:not(:nth-child(3n)){ |
|
|
|
margin-right: 44upx; |
|
|
|
} |
|
|
@ -124,12 +208,10 @@ export default { |
|
|
|
z-index: 2; |
|
|
|
width: 40upx; |
|
|
|
height: 40upx; |
|
|
|
background-color: skyblue; |
|
|
|
} |
|
|
|
.i-img{ |
|
|
|
width: 100%; |
|
|
|
height: 100%; |
|
|
|
background-color: yellowgreen; |
|
|
|
} |
|
|
|
} |
|
|
|
.l-add{ |
|
|
@ -140,7 +222,6 @@ export default { |
|
|
|
margin: 0 auto 30upx; |
|
|
|
width: 60upx; |
|
|
|
height: 60upx; |
|
|
|
background-color: slateblue; |
|
|
|
&::after,&::before{ |
|
|
|
content: ''; |
|
|
|
position: absolute; |
|
|
|