Merge branch 'develop' of https://gitee.com/siwa-team/dawa-vue into develop

This commit is contained in:
Yjhon 2022-03-12 15:17:00 +08:00
commit 4c8f3c5df6
6 changed files with 80 additions and 74 deletions

View File

@ -29,8 +29,7 @@
<!-- 课时 -->
<a-col :span="9">
<a-form-item label="课时" :label-col="{ span: 4 }" :wrapper-col="{ span: 10 }">
<a-input-number id="hour" v-model="dataValue" :min="1" :max="1000" @change="onChange" :style="{ display: 'ln', width: '100%' }" />
{{ dataValue }}分钟
<a-input-number id="hour" v-model="dataValue" :min="1" :max="1000" :style="{ display: 'ln', width: '100%' }" />
</a-form-item>
</a-col>
@ -42,7 +41,7 @@
</a-col>
<!-- 所属行业 -->
<a-col :span="9" :offset="3">
<!-- <a-col :span="9" :offset="3">
<a-form-model-item label="所属行业" :label-col="{ span: 8 }" :wrapper-col="{ span: 12 }">
<a-select v-model="form.industryInvolved" placeholder="--请选择--">
<a-select-option v-for="(item, index) in industry" :key="index" :value="item.value">
@ -50,20 +49,20 @@
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-col> -->
<!-- 是否为必修课程 -->
<a-col :span="9">
<!-- <a-col :span="9">
<a-form-model-item label="是否为必修" :label-col="{ span: 6 }" :wrapper-col="{ span: 6 }">
<a-select v-model="form.isRequired" placeholder="--请选择--">
<a-select-option value="1"> </a-select-option>
<a-select-option value="0"> </a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-col> -->
<!-- 选择岗位-人员类型 -->
<a-col :span="9" :offset="3">
<!-- <a-col :span="9" :offset="3">
<a-form-model-item label="选择岗位" :label-col="{ span: 8 }" :wrapper-col="{ span: 12 }">
<a-select v-model="form.job" placeholder="--请选择--">
<a-select-option v-for="(item, index) in dictPerson" :key="index" :value="item.value">
@ -71,7 +70,7 @@
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-col> -->
<!-- 备注 -->
<a-col :span="18" :offset="3">
@ -146,9 +145,6 @@ export default {
},
methods: {
//
onChange(dataValue) {},
//
loadData() {
if (this.$route.query.id) {

View File

@ -8,61 +8,62 @@
<a-tab-pane key="1" tab="文件上传">
<a-tabs v-model="fileUpload.tabkey" @change="callback">
<a-tab-pane key="1" tab="视频上传" :disabled="fileUpload.videoForm.disabled">
<a-tab-pane key="1" tab="视频上传" :disabled="fileUpload.videoForm.disabled">
<div v-if="fileUpload.tabkey == 1" style="background: #ececec; padding: 30px">
<a-card title="视频上传" :bordered="false" style="width: 100%">
<div style="margin-bottom: 30px">
课件名称&nbsp;
<a-input placeholder="课件名称" v-model="fileUpload.videoForm.name" style="width: 40%" />
</div>
<div style="margin-bottom: 30px; margin-top: 20px">
<!-- <div style="margin-bottom: 30px; margin-top: 20px">
课件分类&nbsp;
<a-tree-select v-model="fileUpload.videoForm.classify" style="width: 300px" :tree-data="coursewareClassfiy" placeholder="请选择课程分类"></a-tree-select>
</div>
</div> -->
<div>课件学时&nbsp;
<a-input-number :min="0" :max="100" :step="1" v-model="fileUpload.videoForm.learnHours" style="width: 140px" />
</div>
<br />
<div>课件学分&nbsp;
<!-- <div>课件学分&nbsp;
<a-input-number :min="0" :max="100" :step="1" v-model="fileUpload.videoForm.learnScore" style="width: 140px" />
</div>
<br />
<br /> -->
<div>课件大小&nbsp;
<a-input :disabled="true" :value="fileUpload.videoForm.sizeStr" style="width: 140px" />&nbsp;&nbsp;&nbsp; MB
</div>
<br />
<div>
<span v-if="this.successOssFile.length < 1">视频上传</span>&nbsp; <a-upload list-type="picture" :default-file-list="this.successOssFile" :beforeUpload="beforeUpload" :remove="deleteVideo" accept=".mp4"
:disabled="this.uploadLoading">
<span v-if="this.successOssFile.length < 1">视频上传
</span>&nbsp; <a-upload list-type="picture" event="true" :default-file-list="this.successOssFile" :beforeUpload="beforeUpload" :remove="deleteVideo" accept=".mp4" :disabled="this.uploadLoading">
<a-button v-if="this.successOssFile.length <1">
<a-icon type="upload" /> {{this.uploadButtonText}}
</a-button>&nbsp;&nbsp;&nbsp;
</a-upload>
</div>
<a-progress :percent="schedule" v-if="schedule > 0" />
</a-card>
</div>
</a-tab-pane>
<!-- <a-tab-pane key="2" tab="文本上传" :disabled="fileUpload.textForm.disabled"> -->
<a-tab-pane key="2" tab="文本上传" :disabled="true">
<a-tab-pane key="2" tab="文本上传" :disabled="fileUpload.textForm.disabled">
<!-- <a-tab-pane key="2" tab="文本上传" :disabled="true"> -->
<div v-if="fileUpload.tabkey == 2" style="background: #ececec; padding: 30px">
<a-card title="文本上传" :bordered="false" style="width: 100%">
<div style="margin-bottom: 30px">
课件名称&nbsp;
<a-input placeholder="课件名称" v-model="fileUpload.textForm.name" style="width: 40%" />
</div>
<div style="margin-bottom: 30px; margin-top: 20px">
<!-- <div style="margin-bottom: 30px; margin-top: 20px">
课件分类&nbsp;
<a-tree-select v-model="fileUpload.textForm.classify" style="width: 300px" :tree-data="coursewareClassfiy" placeholder="请选择课程分类"></a-tree-select>
</div>
</div> -->
<div>课件学时&nbsp;
<a-input-number :min="0" :max="10" :step="0.1" v-model="fileUpload.textForm.learnHours" style="width: 140px" />
</div>
<br />
<div>课件学分&nbsp;
<!-- <div>课件学分&nbsp;
<a-input-number :min="0" :max="10" :step="0.1" v-model="fileUpload.textForm.learnScore" style="width: 140px" />
</div>
<br />
<br /> -->
<div>课件大小&nbsp;
<a-input-number :disabled="true" v-model="fileUpload.textForm.sizeStr" :min="0" style="width: 140px" />&nbsp;&nbsp;&nbsp; MB
</div>
@ -150,18 +151,19 @@ import { ossUpload } from '@/api/sys/oss';
import { coursewareAdd, coursewareClassList } from '@/api/course/courseware';
// import { listToTree } from '@/utils/util'
import { dictToTree } from '@/utils/util';
import { dictionaryDropDown } from '@/api/sys/dictionaryItem';
// import { dictionaryDropDown } from '@/api/sys/dictionaryItem';
// const rootParentId = 0
export default {
data() {
return {
isSave:false,
schedule: 0, //
isSave: false,
pageName: '',
// treeData: [],
ifResources: this.$route.query.ifResources,
coursewareClassfiy: [],
// coursewareClassfiy: [],
courseware: {}, //
queryParam: { coursewareId: this.$route.query.coursewareId }, //
successOssFile: [],
@ -203,7 +205,7 @@ export default {
components: { STable },
created() {
//
this.dictionaryDropDown();
// this.dictionaryDropDown();
//
if (this.queryParam.coursewareId) this.load();
@ -227,13 +229,13 @@ export default {
// this.classfiy()
},
dictionaryDropDown() {
//
dictionaryDropDown({ dictionaryCode: '0009' }).then(res => {
//
this.coursewareClassfiy = dictToTree(res.data, [], 0);
});
},
// dictionaryDropDown() {
// //
// dictionaryDropDown({ dictionaryCode: '0009' }).then(res => {
// //
// this.coursewareClassfiy = dictToTree(res.data, [], 0);
// });
// },
//
goback() {
@ -277,18 +279,17 @@ export default {
},
beforeUpload(file) {
// ()
// var suffix = file.name.substring(file.name.lastIndexOf('.') + 1);
// if (this.fileUpload.tabkey == '1' && suffix != 'mp4') {
// return this.$message.error('mp4');
// }
console.log('file', file);
const _this = this;
console.log("fileSize",file.size)
//
this.uploadLoading = true;
this.uploadButtonText = '上传中...';
//
this.isSave= true;
this.isSave = true;
//
const data = new FormData();
@ -300,32 +301,50 @@ export default {
header['Content-Type'] = 'multipart/form-data';
header[ACCESS_TOKEN] = storage.get(ACCESS_TOKEN);
var config = {
headers: header,
onUploadProgress: function (e) {
console.log(e);
//lengthComputable
//lengthComputablefalsee.totale.loaded
if (e.lengthComputable) {
let a = ((e.loaded / e.total) * 100).toFixed(2);
// _this.schedule = ((e.loaded / e.total) * 100).toFixed(2) ; //
console.log('进度', a);
_this.schedule = parseInt(a) > 99 ? 99 : parseInt(a)
}
},
};
// { headers: header }
axios
.post(ossUpload(), data, { headers: header })
.post(ossUpload(), data, config)
.then(res => {
this.isSave = false;
this.uploadLoading = false;
this.uploadButtonText = '选择文件';
if (res.data.code === 200) {
this.$message.success('上传成功!');
this.schedule = 100;
res.data.uuid = file.uid;
res.data.size = file.size;
this.successOssFile.push(res.data);
//
this.refreshFileSize();
} else {
this.$message.error(res.data.msg);
this.$refs.inputFile.value = '';
}
})
.catch(err => {
this.$message.error(err);
this.uploadButtonText = '选择文件';
console.log("进来了!!!!!",err);
// data.delete("file") //
// this.uploadButtonText = '';
this.$message.error("上传失败!视频超出可上传大小范围");
});
return false;
},
@ -380,13 +399,12 @@ export default {
break;
}
}
this.schedule = 0;
this.refreshFileSize();
},
//
save() {
//
this.successOssFile.forEach((item, index) => {
this.videoPath.push(item.url);
@ -509,7 +527,7 @@ export default {
this.fileUpload.textForm.disabled = true;
this.videoServerLink.disabled = true;
this.thirdAddress.disabled = true;
//
if (this.courseware.type == '1' || this.courseware.type == '2') {
this.parentTabKey = '1';
@ -525,7 +543,7 @@ export default {
successOssFile_['url'] = element.path;
successOssFile_['size'] = element.size;
this.successOssFile.push(successOssFile_);
console.log("文件问见",this.successOssFile);
console.log('文件问见', this.successOssFile);
});
if (this.courseware.type == '1') {
@ -558,19 +576,6 @@ export default {
}
},
//
// initialize(key){
// if(key == 1) {
// this.fileUpload.videoForm.sizeStr = 0
// this.fileUpload.videoForm.learnHours == 0
// this.fileUpload.videoForm.learnScore= 0
// }
// if(key == 2){
// this.fileUpload.textForm.sizeStr = 0
// this.fileUpload.textForm.learnHours = 0
// this.fileUpload.textForm.learnScore= 0.0
// }
// },
},
};
</script>

View File

@ -58,14 +58,7 @@ export default {
},
columns: [
{ title: '课件名称', width: '160px', align: 'center', dataIndex: 'name', key: 'name' },
{
title: '课件分类',
width: '300px',
align: 'center',
dataIndex: 'classifyName',
key: 'classifyName',
},
{ title: '课时/分', width: '160px', align: 'center', dataIndex: 'duration', key: 'duration' },
{ title: '课件时长/分', width: '160px', align: 'center', dataIndex: 'duration', key: 'duration' },
{ title: '课件大小(MB)', width: '160px', align: 'center', dataIndex: 'sizeStr', key: 'sizeStr' },
{ title: '操作', key: 'operation', width: '200px', align: 'center', scopedSlots: { customRender: 'action' } },
],

View File

@ -1,7 +1,7 @@
<template>
<a-card :bordered="false" :title="pageName">
<template slot="extra">
<h4 style="margin-right: 15px; display:inline-block">{{ courseware.classifyName }}</h4>
<!-- <h4 style="margin-right: 15px; display:inline-block">{{ courseware.classifyName }}</h4> -->
<a-button v-if="!!!coursewareId" size="small" @click="goback">返回</a-button>
</template>

View File

@ -79,6 +79,7 @@
<a-select-option :value="1">新闻资讯</a-select-option>
<a-select-option :value="2">公告详情</a-select-option>
<a-select-option :value="3">通知</a-select-option>
<a-select-option :value="4">必读文件</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
@ -98,6 +99,13 @@
</a-form-model-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :span="12">
<a-form-model-item label="上传封面图">
<db-upload v-model="fileList2" type="img" max="1"></db-upload>
</a-form-model-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :span="12">
<a-form-model-item label="上传附件">
@ -153,6 +161,7 @@ export default {
content: ''
},
fileList: [],
fileList2: [],
timeShow: true,
classHourShow: true,
rules: {
@ -189,6 +198,7 @@ export default {
// form.publishTime = moment(form.publishTime)
this.form = form
this.fileList = JSON.parse(res.data.file)
this.fileList2 = JSON.parse(res.data.cover)
})
},
save() {
@ -203,6 +213,7 @@ export default {
form.isNowPublish = 0
}
form.file = JSON.stringify(this.fileList)
form.cover = JSON.stringify(this.fileList2)
noticeAdd(form).then(res => {
if (res.code === 200) {
this.$message.success('操作成功')

View File

@ -175,7 +175,8 @@
const typeMap = {
1: '新闻资讯',
2: '公告详情',
3: '通知'
3: '通知',
4: '必读公告'
}
return typeMap[type]
},