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

hello
This commit is contained in:
Yjhon 2022-02-22 10:50:23 +08:00
commit 85916035e5
6 changed files with 9845 additions and 10156 deletions

View File

@ -38,6 +38,7 @@
"vue": "^2.6.10", "vue": "^2.6.10",
"vue-clipboard2": "^0.2.1", "vue-clipboard2": "^0.2.1",
"vue-cropper": "0.4.9", "vue-cropper": "0.4.9",
"vue-echarts": "^6.0.2",
"vue-i18n": "^8.17.4", "vue-i18n": "^8.17.4",
"vue-quill-editor": "^3.0.6", "vue-quill-editor": "^3.0.6",
"vue-router": "^3.1.2", "vue-router": "^3.1.2",

View File

@ -7,3 +7,10 @@ export function reqUploadFile(params) {
data: params data: params
}) })
} }
export function reqUploadImg(params) {
return request({
url: 'sys/oss/uploadImg',
method: 'post',
data: params
})
}

View File

@ -37,7 +37,7 @@
<script> <script>
import _ from 'lodash' import _ from 'lodash'
import { reqUploadFile } from '@/api/sys/upload' import { reqUploadFile, reqUploadImg } from '@/api/sys/upload'
function getBase64(file) { function getBase64(file) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const reader = new FileReader() const reader = new FileReader()
@ -70,7 +70,12 @@ export default {
accept: { accept: {
type: String, type: String,
default: 'image/*' // ,* default: 'image/*' // ,*
} },
//
fileSize:{
type:Number,
default:500
},
}, },
model: { model: {
prop: 'value', prop: 'value',
@ -96,24 +101,45 @@ export default {
// //
uploadFile(data) { uploadFile(data) {
const { max } = this const { max } = this
const { type } = this
const formData = new FormData() const formData = new FormData()
formData.append('file', data.file) formData.append('file', data.file)
reqUploadFile(formData).then(res => { if (type == 'img') {
if (res.code === 200) { formData.append('fileSize', this.fileSize)
const file = { reqUploadImg(formData).then(res => {
uid: res.uid, if (res.code === 200) {
name: res.name, // const file = {
url: res.url uid: res.uid,
name: res.name, //
url: res.url
}
const list = [...this.value]
list.push(file)
if (list.length > max) {
this.$message.warning(`最多只能上传${max}个附件`)
return
}
this.$emit('change', list)
} }
const list = [...this.value] })
list.push(file) } else {
if (list.length > max) { reqUploadFile(formData).then(res => {
this.$message.warning(`最多只能上传${max}个附件`) if (res.code === 200) {
return const file = {
uid: res.uid,
name: res.name, //
url: res.url
}
const list = [...this.value]
list.push(file)
if (list.length > max) {
this.$message.warning(`最多只能上传${max}个附件`)
return
}
this.$emit('change', list)
} }
this.$emit('change', list) })
} }
})
}, },
// //
handlerRemove(file) { handlerRemove(file) {

View File

@ -18,34 +18,15 @@
<div style="margin-bottom: 30px; margin-top: 20px"> <div style="margin-bottom: 30px; margin-top: 20px">
课件分类&nbsp; 课件分类&nbsp;
<a-tree-select v-model="fileUpload.videoForm.classify" style="width: 300px" :tree-data="coursewareClassfiy" placeholder="请选择课程分类"></a-tree-select> <a-tree-select v-model="fileUpload.videoForm.classify" style="width: 300px" :tree-data="coursewareClassfiy" placeholder="请选择课程分类"></a-tree-select>
<!-- <a-select mode="multiple" style="width: 30%" placeholder="请选择分类">
<a-select-option v-for="i in 25" :key="(i + 9).toString(36) + i">
{{ (i + 9).toString(36) + i }}
</a-select-option>
</a-select> -->
<!-- <a-button type="primary" @click="showModal" style="margin-left: 20px"> 添加分类 </a-button> -->
<!-- 课件分类弹框
<a-modal v-model="fileUpload.visible" title="课程分类管理" cancelText="关闭" :ok-button-props="{ style: { display: 'none' } }">
<div class="table-operator">
<a-button type="primary" icon="plus" @click="$refs.classfiyForm.add">新增分类</a-button>
</div>
<s-table ref="table" :rowKey="(record) => record.id" :columns="columns" :alert="false" :data="classfiy" :showPagination="false" :expandRowByClick="true">
<span slot="action" slot-scope="text, record">
<template>
<a v-if="hasPerm('sys:menu:add') && record.type !== 2" @click="$refs.menuForm.add(record.id)">新增下级</a>
<a-divider type="vertical" v-if="hasPerm('sys:menu:add') && record.type !== 2 && hasPerm('sys:menu:edit')" />
<a v-if="hasPerm('sys:menu:edit')" @click="$refs.menuForm.edit(record)">编辑</a>
<a-divider type="vertical" v-if="hasPerm('sys:menu:edit') && hasPerm('sys:menu:delete') " />
<a-popconfirm v-if="hasPerm('sys:menu:delete')" placement="topRight" title="删除本菜单与下级?" @confirm="() => handleDel(record)">
<a>删除</a>
</a-popconfirm>
</template>
</span>
</s-table>
</a-modal> -->
</div> </div>
<div>课件学时&nbsp;
<a-input-number :min="0" :max="10" :step="0.1" v-model="fileUpload.videoForm.learnHours" style="width: 140px" />
</div>
<br />
<div>课件学分&nbsp;
<a-input-number :min="0" :max="10" :step="0.1" v-model="fileUpload.videoForm.learnScore" style="width: 140px" />
</div>
<br />
<div>课件大小&nbsp; <div>课件大小&nbsp;
<a-input :disabled="true" :value="fileUpload.videoForm.sizeStr" style="width: 140px" />&nbsp;&nbsp;&nbsp; MB <a-input :disabled="true" :value="fileUpload.videoForm.sizeStr" style="width: 140px" />&nbsp;&nbsp;&nbsp; MB
</div> </div>
@ -72,8 +53,16 @@
课件分类&nbsp; 课件分类&nbsp;
<a-tree-select v-model="fileUpload.textForm.classify" style="width: 300px" :tree-data="coursewareClassfiy" placeholder="请选择课程分类"></a-tree-select> <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;
<a-input-number :min="0" :max="10" :step="0.1" v-model="fileUpload.textForm.learnScore" style="width: 140px" />
</div>
<br />
<div>课件大小&nbsp; <div>课件大小&nbsp;
<a-input-number :disabled="true" v-model="fileUpload.textForm.sizeStr" :min="0" />&nbsp;&nbsp;&nbsp; MB <a-input-number :disabled="true" v-model="fileUpload.textForm.sizeStr" :min="0" style="width: 140px" />&nbsp;&nbsp;&nbsp; MB
</div> </div>
<br /> <br />
<div> <div>
@ -104,32 +93,6 @@
</a-select-option> </a-select-option>
</a-select> </a-select>
<a-button type="primary" @click="showModal" style="margin-left: 20px"> 添加分类 </a-button> <a-button type="primary" @click="showModal" style="margin-left: 20px"> 添加分类 </a-button>
<!-- 课件分类弹框 -->
<!-- <a-modal v-model="fileUpload.visible" title="模板下载" cancelText="关闭" :ok-button-props="{ style: { display: 'none' } }">
<s-table ref="table" :rowKey="(record) => record.id" :columns="fileUpload.columns" :alert="false" :data="loadData" :showPagination="false" :expandRowByClick="true">
<span slot="type" slot-scope="text, record">
<a-tag color="cyan" v-if="text === 0">
{{ record.type | typeFilter }}
</a-tag>
<a-tag color="blue" v-if="text === 1">
{{ record.type | typeFilter }}
</a-tag>
<a-tag color="purple" v-if="text === 2">
{{ record.type | typeFilter }}
</a-tag>
</span>
<span slot="action" slot-scope="text, record">
<template>
<a v-if="hasPerm('sys:menu:edit')" @click="$refs.menuForm.edit(record)">编辑</a>
<a-divider type="vertical" v-if="hasPerm('sys:menu:edit')" />
<a-popconfirm v-if="hasPerm('sys:menu:delete')" placement="topRight" title="删除本菜单与下级?" @confirm="() => handleDel(record)">
<a>删除</a>
</a-popconfirm>
</template>
</span>
</s-table>
</a-modal> -->
</div> </div>
<div style="margin-bottom: 30px">课件大小&nbsp; <div style="margin-bottom: 30px">课件大小&nbsp;
<a-input :disabled="true" :value="videoServerLink.sizeStr" style="width: 140px" />&nbsp;&nbsp;&nbsp; MB <a-input :disabled="true" :value="videoServerLink.sizeStr" style="width: 140px" />&nbsp;&nbsp;&nbsp; MB
@ -157,32 +120,6 @@
</a-select-option> </a-select-option>
</a-select> </a-select>
<a-button type="primary" @click="showModal" style="margin-left: 20px"> 添加分类 </a-button> <a-button type="primary" @click="showModal" style="margin-left: 20px"> 添加分类 </a-button>
<!-- 课件分类弹框 -->
<!-- <a-modal v-model="fileUpload.visible" title="模板下载" cancelText="关闭" :ok-button-props="{ style: { display: 'none' } }">
<s-table ref="table" :rowKey="(record) => record.id" :columns="fileUpload.columns" :alert="false" :data="loadData" :showPagination="false" :expandRowByClick="true">
<span slot="type" slot-scope="text, record">
<a-tag color="cyan" v-if="text === 0">
{{ record.type | typeFilter }}
</a-tag>
<a-tag color="blue" v-if="text === 1">
{{ record.type | typeFilter }}
</a-tag>
<a-tag color="purple" v-if="text === 2">
{{ record.type | typeFilter }}
</a-tag>
</span>
<span slot="action" slot-scope="text, record">
<template>
<a v-if="hasPerm('sys:menu:edit')" @click="$refs.menuForm.edit(record)">编辑</a>
<a-divider type="vertical" v-if="hasPerm('sys:menu:edit')" />
<a-popconfirm v-if="hasPerm('sys:menu:delete')" placement="topRight" title="删除本菜单与下级?" @confirm="() => handleDel(record)">
<a>删除</a>
</a-popconfirm>
</template>
</span>
</s-table>
</a-modal> -->
</div> </div>
<div style="margin-bottom: 30px">课件大小&nbsp; <div style="margin-bottom: 30px">课件大小&nbsp;
<a-time-picker placeholder="课件时长" :minute-step="1" :second-step="1" v-model="thirdAddress.sizeStr" /> <a-time-picker placeholder="课件时长" :minute-step="1" :second-step="1" v-model="thirdAddress.sizeStr" />
@ -201,16 +138,16 @@
<script> <script>
import { STable } from '@/components' import { STable } from '@/components';
import { coursewareDeatil } from '@/api/course/courseware' import { coursewareDeatil } from '@/api/course/courseware';
import { ACCESS_TOKEN } from '@/store/mutation-types' import { ACCESS_TOKEN } from '@/store/mutation-types';
import storage from 'store' import storage from 'store';
import axios from 'axios' import axios from 'axios';
import { ossUpload } from '@/api/sys/oss' import { ossUpload } from '@/api/sys/oss';
import { coursewareAdd, coursewareClassList } from '@/api/course/courseware' import { coursewareAdd, coursewareClassList } from '@/api/course/courseware';
// import { listToTree } from '@/utils/util' // import { listToTree } from '@/utils/util'
import { dictToTree } from '@/utils/util' import { dictToTree } from '@/utils/util';
import { dictionaryDropDown } from '@/api/sys/dictionaryItem' import { dictionaryDropDown } from '@/api/sys/dictionaryItem';
// const rootParentId = 0 // const rootParentId = 0
@ -219,7 +156,7 @@ export default {
return { return {
pageName: this.$route.query.coursewareId ? '课件编辑' : '课件新增', pageName: this.$route.query.coursewareId ? '课件编辑' : '课件新增',
// treeData: [], // treeData: [],
ifResources : this.$route.query.ifResources, ifResources: this.$route.query.ifResources,
coursewareClassfiy: [], coursewareClassfiy: [],
courseware: {}, // courseware: {}, //
queryParam: { coursewareId: this.$route.query.coursewareId }, // queryParam: { coursewareId: this.$route.query.coursewareId }, //
@ -230,17 +167,22 @@ export default {
videoPath: [], // videoPath: [], //
fileUpload: { fileUpload: {
visible: false, visible: false,
tabkey: this.$route.query.type ? this.$route.query.type : '1', tabkey: this.$route.query.type ? this.$route.query.type : '1',
videoForm: { videoForm: {
// //
sizeStr: '0', // sizeStr: '0', //
type: '1', type: '1',
videoPath: [], videoPath: [],
// learnHours:0.0,
// learnScore:0.0
}, },
textForm: { textForm: {
// //
sizeStr: '0',
type: '2', // tabkey 1- 2- 3- 4- type: '2', // tabkey 1- 2- 3- 4-
videoPath: [], videoPath: [],
// learnHours:0.0,
// learnScore:0.0
}, },
}, },
videoServerLink: { videoServerLink: {
@ -252,386 +194,377 @@ export default {
sizeStr: '', sizeStr: '',
type: '4', type: '4',
}, },
// columns: [ };
// {
// title: '',
// dataIndex: 'name',
// key: 'name',
// ellipsis: true,
// },
// {
// title: '',
// dataIndex: 'action',
// width: '200px',
// scopedSlots: { customRender: 'action' },
// },
// ],
}
}, },
components: { STable }, components: { STable },
created() { created() {
// //
this.dictionaryDropDown() this.dictionaryDropDown();
// //
if (this.queryParam.coursewareId) this.load() if (this.queryParam.coursewareId) this.load();
}, },
methods: { methods: {
// //
showModal() { showModal() {
this.fileUpload.visible = true this.fileUpload.visible = true;
// this.classfiy() // this.classfiy()
}, },
dictionaryDropDown() { dictionaryDropDown() {
// //
dictionaryDropDown({ dictionaryCode: '0009' }).then((res) => { dictionaryDropDown({ dictionaryCode: '0009' }).then(res => {
// //
this.coursewareClassfiy = dictToTree(res.data, [], 0) this.coursewareClassfiy = dictToTree(res.data, [], 0);
}) });
}, },
//
// classfiy() {
// let parameter = {}
// return coursewareClassList(Object.assign(parameter, this.queryParam)).then((res) => {
// const list2tree1 = (list, parentId) => {
// return list.filter((item) => {
// //
// // if (this.treeDataOne) this.treeDataOne.push(item.id)
// if (item.parentid === parentId) {
// item.children = list2tree1(list, item.id)
// return true
// }
// return false
// })
// }
// // const coursewareClassList = listToTree(res.data, [], rootParentId)
// let coursewareClassList = list2tree1(res.data, 0)
// console.log('coursewareClassList::::', coursewareClassList)
// this.treeData = coursewareClassList
// return coursewareClassList
// })
// },
// //
goback() { goback() {
if (this.$route.query.courseId) { if (this.$route.query.courseId) {
this.$router.push({ path: '/course/CoursewareList', query: { id: this.$route.query.courseId, type: this.$route.query.types } }) this.$router.push({
path: '/course/CoursewareList',
query: { id: this.$route.query.courseId, type: this.$route.query.types },
});
} else { } else {
this.$router.push({ path: '/course/Resource', query: {} }) this.$router.push({ path: '/course/Resource', query: {} });
} }
}, },
// //
parentcallback(key) { parentcallback(key) {
console.log(key) console.log(key);
this.fileUpload.videoForm = {} this.fileUpload.videoForm = {};
this.fileUpload.textForm = {} this.fileUpload.textForm = {};
this.videoPath = [] // this.videoPath = []; //
this.parentTabKey = key this.parentTabKey = key;
}, },
// //
callback(key) { callback(key) {
this.fileUpload.videoForm = {} this.fileUpload.videoForm = {};
this.fileUpload.textForm = {} this.fileUpload.textForm = {};
this.videoPath = [] // console.log("aaaaaaa ",this.fileUpload.videoForm);
console.log("aaaaaaa ",this.fileUpload.textForm);
this.videoPath = []; //
this.successOssFile = this.successOssFile.splice(this.successOssFile.length, 0) // this.successOssFile = this.successOssFile.splice(this.successOssFile.length, 0); //
console.log('清除后的文件', this.successOssFile) console.log('清除后的文件', this.successOssFile);
this.fileUpload.tabkey = key //Key this.fileUpload.tabkey = key; //Key
//
// this.initialize(key)
}, },
//Tonken //Tonken
getToken() { getToken() {
let hreader = {} let hreader = {};
hreader[ACCESS_TOKEN] = storage.get(ACCESS_TOKEN) hreader[ACCESS_TOKEN] = storage.get(ACCESS_TOKEN);
return hreader return hreader;
}, },
beforeUpload(file) { beforeUpload(file) {
// () // ()
var suffix = file.name.substring(file.name.lastIndexOf('.') + 1) var suffix = file.name.substring(file.name.lastIndexOf('.') + 1);
if (this.fileUpload.tabkey == '1' && suffix != 'mp4') { if (this.fileUpload.tabkey == '1' && suffix != 'mp4') {
return this.$message.error('文件类型必须是mp4') return this.$message.error('文件类型必须是mp4');
} }
// //
this.uploadLoading = true this.uploadLoading = true;
this.uploadButtonText = '上传中...' this.uploadButtonText = '上传中...';
// //
const data = new FormData() const data = new FormData();
data.append('file', file) data.append('file', file);
data.append('fileType', 'mp4') data.append('fileType', 'mp4');
//token //token
const header = {} const header = {};
header['Content-Type'] = 'multipart/form-data' header['Content-Type'] = 'multipart/form-data';
header[ACCESS_TOKEN] = storage.get(ACCESS_TOKEN) header[ACCESS_TOKEN] = storage.get(ACCESS_TOKEN);
axios axios
.post(ossUpload(), data, { headers: header }) .post(ossUpload(), data, { headers: header })
.then((res) => { .then(res => {
this.uploadLoading = false this.uploadLoading = false;
this.uploadButtonText = '选择文件' this.uploadButtonText = '选择文件';
if (res.data.code === 200) { if (res.data.code === 200) {
this.$message.success('上传成功!') this.$message.success('上传成功!');
res.data.uuid = file.uid res.data.uuid = file.uid;
res.data.size = file.size res.data.size = file.size;
console.log('文件大小---', file.size) console.log('文件大小---', file.size);
this.successOssFile.push(res.data) this.successOssFile.push(res.data);
// //
this.refreshFileSize() this.refreshFileSize();
console.log('上传之后的文件', this.successOssFile) console.log('上传之后的文件', this.successOssFile);
} else { } else {
this.$message.error(res.data.msg) this.$message.error(res.data.msg);
this.$refs.inputFile.value = '' this.$refs.inputFile.value = '';
} }
}) })
.catch((err) => { .catch(err => {
this.$message.error(err) this.$message.error(err);
this.uploadButtonText = '选择文件' this.uploadButtonText = '选择文件';
}) });
return false return false;
}, },
// //
refreshFileSize() { refreshFileSize() {
if (this.fileUpload.tabkey == '1' || this.fileUpload.tabkey == '2') { if (this.fileUpload.tabkey == '1' || this.fileUpload.tabkey == '2') {
this.fileUpload.videoForm.size = 0 // this.fileUpload.videoForm.size = 0; //
for (let i = 0; i < this.successOssFile.length; i++) { for (let i = 0; i < this.successOssFile.length; i++) {
// //
let fileSize = this.successOssFile[i].size let fileSize = this.successOssFile[i].size;
//MB //MB
var videoSize = parseFloat(fileSize) / 1024 / 1024 var videoSize = parseFloat(fileSize) / 1024 / 1024;
// //
this.fileUpload.videoForm.size = this.fileUpload.videoForm.size + parseFloat(videoSize) this.fileUpload.videoForm.size = this.fileUpload.videoForm.size + parseFloat(videoSize);
// //
if (this.queryParam.coursewareId) { if (this.queryParam.coursewareId) {
// //
if (this.fileUpload.tabkey == '1' && this.parentcallback == '1') { if (this.fileUpload.tabkey == '1' && this.parentcallback == '1') {
this.fileUpload.videoForm.size = this.fileUpload.videoForm.size =
this.fileUpload.videoForm.size + parseFloat(videoSize) + parseFloat(this.fileUpload.videoForm.sizeStr) this.fileUpload.videoForm.size +
parseFloat(videoSize) +
parseFloat(this.fileUpload.videoForm.sizeStr);
} }
if (this.fileUpload.tabkey == '2' && this.parentcallback == '1') { if (this.fileUpload.tabkey == '2' && this.parentcallback == '1') {
this.fileUpload.textForm.size = this.fileUpload.textForm.size =
this.fileUpload.videoForm.size + parseFloat(videoSize) + parseFloat(this.fileUpload.textForm.sizeStr) this.fileUpload.videoForm.size +
parseFloat(videoSize) +
parseFloat(this.fileUpload.textForm.sizeStr);
} }
} }
} }
if (this.fileUpload.tabkey == '1' && this.parentTabKey == '1') { if (this.fileUpload.tabkey == '1' && this.parentTabKey == '1') {
this.fileUpload.videoForm.sizeStr = this.fileUpload.videoForm.size.toFixed(2) this.fileUpload.videoForm.sizeStr = this.fileUpload.videoForm.size.toFixed(2);
} }
if (this.fileUpload.tabkey == '2' && this.parentTabKey == '1') { if (this.fileUpload.tabkey == '2' && this.parentTabKey == '1') {
this.fileUpload.textForm.sizeStr = this.fileUpload.videoForm.size.toFixed(2) this.fileUpload.textForm.sizeStr = this.fileUpload.videoForm.size.toFixed(2);
} }
} }
}, },
// //
deleteVideo(file) { deleteVideo(file) {
console.log('deleteVideo - file:{}', file) console.log('deleteVideo - file:{}', file);
// //
for (let i = 0; i < this.successOssFile.length; i++) { for (let i = 0; i < this.successOssFile.length; i++) {
if (this.successOssFile[i].uuid == file.uid) { if (this.successOssFile[i].uuid == file.uid) {
this.successOssFile.splice(i, 1) this.successOssFile.splice(i, 1);
break break;
} }
} }
this.refreshFileSize() this.refreshFileSize();
}, },
// //
save() { save() {
console.log('this.ifResources', this.ifResources);
console.log("this.ifResources",this.ifResources);
// //
this.successOssFile.forEach((item, index) => { this.successOssFile.forEach((item, index) => {
this.videoPath.push(item.url) this.videoPath.push(item.url);
}) });
if (this.parentTabKey == '2') this.videoPath.push(this.videoServerLink.videoUrl) if (this.parentTabKey == '2') this.videoPath.push(this.videoServerLink.videoUrl);
if (this.parentTabKey == '3') this.videoPath.push(this.thirdAddress.videoUrl) if (this.parentTabKey == '3') this.videoPath.push(this.thirdAddress.videoUrl);
//JSON //JSON
this.videoPath = this.videoPath.toString() this.videoPath = this.videoPath.toString();
let from let from;
if (this.parentTabKey == '1' && this.fileUpload.tabkey == '1') { if (this.parentTabKey == '1' && this.fileUpload.tabkey == '1') {
from = this.videoFormV() from = this.videoFormV();
if (typeof from == 'boolean' && !from) return if (typeof from == 'boolean' && !from) return;
} else if (this.parentTabKey == '1' && this.fileUpload.tabkey == '2') { } else if (this.parentTabKey == '1' && this.fileUpload.tabkey == '2') {
from = this.textFormV() from = this.textFormV();
if (typeof from == 'boolean' && !from) return if (typeof from == 'boolean' && !from) return;
} else if (this.parentTabKey == '2') { } else if (this.parentTabKey == '2') {
console.log(this.videoServerLink) console.log(this.videoServerLink);
from = this.videoServerLinkV() from = this.videoServerLinkV();
if (typeof from == 'boolean' && !from) return if (typeof from == 'boolean' && !from) return;
} else if (this.parentTabKey == '3') { } else if (this.parentTabKey == '3') {
from = this.thirdAddressV() from = this.thirdAddressV();
if (typeof from == 'boolean' && !from) return if (typeof from == 'boolean' && !from) return;
} }
// //
coursewareAdd(from).then((res) => { coursewareAdd(from).then(res => {
console.log(res) console.log(res);
if (res.code == 200) { if (res.code == 200) {
this.$message.success('课件保存成功!') this.$message.success('课件保存成功!');
this.goback() this.goback();
} else { } else {
this.$message.error('保存失败!') this.$message.error('保存失败!');
} }
}) });
}, },
// //
videoFormV() { videoFormV() {
// //
if (!this.fileUpload.videoForm.name || this.fileUpload.videoForm.name === '') { if (!this.fileUpload.videoForm.name || this.fileUpload.videoForm.name === '') {
this.$message.error('课件名称不能为空!') this.$message.error('课件名称不能为空!');
return false return false;
} else if (this.videoPath.length == 0) { } else if (this.videoPath.length == 0) {
this.$message.error('请上传课件文件!') this.$message.error('请上传课件文件!');
return false return false;
} }
//ID //ID
this.fileUpload.videoForm.courseId = this.$route.query.courseId this.fileUpload.videoForm.type = "1"
this.fileUpload.videoForm.videoPath = this.videoPath this.fileUpload.videoForm.courseId = this.$route.query.courseId;
this.fileUpload.videoForm.ifResources = this.$route.query.ifResources || 0 this.fileUpload.videoForm.videoPath = this.videoPath;
let form = {} this.fileUpload.videoForm.ifResources = this.$route.query.ifResources || 0;
form = this.fileUpload.videoForm let form = {};
console.log('FORM', form) form = this.fileUpload.videoForm;
return form console.log('FORM', form);
return form;
}, },
// //
textFormV() { textFormV() {
if (!this.fileUpload.textForm.name || this.fileUpload.textForm.name === '') { if (!this.fileUpload.textForm.name || this.fileUpload.textForm.name === '') {
this.$message.error('课件名称不能为空!') this.$message.error('课件名称不能为空!');
return false return false;
} }
//ID //ID
this.fileUpload.textForm.courseId = this.$route.query.courseId this.fileUpload.textForm.type = "2"
this.fileUpload.textForm.type = this.fileUpload.tabkey this.fileUpload.textForm.courseId = this.$route.query.courseId;
this.fileUpload.textForm.videoPath = this.videoPath this.fileUpload.textForm.type = this.fileUpload.tabkey;
this.fileUpload.textForm.ifResources = this.$route.query.ifResources || 0 this.fileUpload.textForm.videoPath = this.videoPath;
let form = {} this.fileUpload.textForm.ifResources = this.$route.query.ifResources || 0;
form = this.fileUpload.textForm let form = {};
return form form = this.fileUpload.textForm;
return form;
}, },
// //
videoServerLinkV() { videoServerLinkV() {
if (!this.videoServerLink.name || this.videoServerLink.name === '') { if (!this.videoServerLink.name || this.videoServerLink.name === '') {
this.$message.error('课件名称不能为空!') this.$message.error('课件名称不能为空!');
return false return false;
} }
//ID //ID
this.videoServerLink.courseId = this.$route.query.courseId this.videoServerLink.courseId = this.$route.query.courseId;
this.videoServerLink.videoPath = this.videoPath this.videoServerLink.videoPath = this.videoPath;
console.log(this.videoServerLink) console.log(this.videoServerLink);
let form = {} let form = {};
form = this.videoServerLink form = this.videoServerLink;
return form return form;
}, },
// //
thirdAddressV() { thirdAddressV() {
if (!this.thirdAddress.name || this.thirdAddress.name === '') { if (!this.thirdAddress.name || this.thirdAddress.name === '') {
this.$message.error('课件名称不能为空!') this.$message.error('课件名称不能为空!');
return false return false;
} }
//ID //ID
this.thirdAddress.courseId = this.$route.query.courseId this.thirdAddress.courseId = this.$route.query.courseId;
this.thirdAddress.videoPath = this.videoPath this.thirdAddress.videoPath = this.videoPath;
console.log(this.thirdAddress) console.log(this.thirdAddress);
let form = {} let form = {};
form = this.thirdAddress form = this.thirdAddress;
return form return form;
}, },
// //
load() { load() {
// //
if (this.queryParam.coursewareId) { if (this.queryParam.coursewareId) {
let parameter = {} let parameter = {};
coursewareDeatil(Object.assign(parameter, this.queryParam)).then((res) => { coursewareDeatil(Object.assign(parameter, this.queryParam)).then(res => {
this.courseware = res.data this.courseware = res.data;
console.log('加载数据了') console.log('加载数据了');
console.log('courseware:', this.courseware) console.log('courseware:', this.courseware);
// //
this.fileUpload.disabled = true this.fileUpload.disabled = true;
this.fileUpload.videoForm.disabled = true this.fileUpload.videoForm.disabled = true;
this.fileUpload.textForm.disabled = true this.fileUpload.textForm.disabled = true;
this.videoServerLink.disabled = true this.videoServerLink.disabled = true;
this.thirdAddress.disabled = true this.thirdAddress.disabled = true;
// //
if (this.courseware.type == '1' || this.courseware.type == '2') { if (this.courseware.type == '1' || this.courseware.type == '2') {
this.parentTabKey = '1' this.parentTabKey = '1';
// //
this.courseware.videoList.forEach((element) => { this.courseware.videoList.forEach(element => {
let successOssFile_ = {} let successOssFile_ = {};
successOssFile_['id'] = element.id successOssFile_['id'] = element.id;
successOssFile_['uid'] = element.id successOssFile_['uid'] = element.id;
successOssFile_['uuid'] = element.id successOssFile_['uuid'] = element.id;
successOssFile_['code'] = 200 successOssFile_['code'] = 200;
successOssFile_['name'] = element.name successOssFile_['name'] = element.name;
successOssFile_['url'] = element.path successOssFile_['url'] = element.path;
successOssFile_['size'] = element.size successOssFile_['size'] = element.size;
this.successOssFile.push(successOssFile_) this.successOssFile.push(successOssFile_);
}) });
if (this.courseware.type == '1') { if (this.courseware.type == '1') {
this.fileUpload.tabkey = '1' this.fileUpload.tabkey = '1';
this.fileUpload.videoForm = this.courseware this.fileUpload.videoForm = this.courseware;
this.fileUpload.videoForm.ifResources = this.ifResources || 0; this.fileUpload.videoForm.ifResources = this.ifResources || 0;
this.fileUpload.videoForm.disabled = false this.fileUpload.videoForm.disabled = false;
} }
if (this.courseware.type == '2') { if (this.courseware.type == '2') {
this.fileUpload.tabkey = this.courseware.type this.fileUpload.tabkey = this.courseware.type;
this.fileUpload.textForm = this.courseware this.fileUpload.textForm = this.courseware;
this.fileUpload.textForm.ifResources = this.ifResources || 0; this.fileUpload.textForm.ifResources = this.ifResources || 0;
this.fileUpload.textForm.disabled = false this.fileUpload.textForm.disabled = false;
} }
} }
if (this.courseware.type == '3') { if (this.courseware.type == '3') {
this.parentTabKey = '2' this.parentTabKey = '2';
this.videoServerLink = this.courseware this.videoServerLink = this.courseware;
this.videoServerLink.disabled = false this.videoServerLink.disabled = false;
} }
if (this.courseware.type == '4') { if (this.courseware.type == '4') {
this.parentTabKey = '3' this.parentTabKey = '3';
this.thirdAddress = this.courseware this.thirdAddress = this.courseware;
this.thirdAddress.disabled = false this.thirdAddress.disabled = false;
} }
}) });
} }
}, },
//
// 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> </script>
<style scoped> <style scoped>
</style> </style>

View File

@ -186,7 +186,7 @@
label="身份证正面" label="身份证正面"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol"> :wrapperCol="wrapperCol">
<db-upload v-model="fileList" max="1"></db-upload> <db-upload v-model="fileList" max="1" type='img'></db-upload>
</a-form-item> </a-form-item>
</a-form> </a-form>
</a-col> </a-col>
@ -196,7 +196,21 @@
label="身份证反面" label="身份证反面"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol"> :wrapperCol="wrapperCol">
<db-upload v-model="fileList2" max="1"></db-upload> <db-upload v-model="fileList2" max="1" type='img'></db-upload>
</a-form-item>
</a-form>
</a-col>
</a-row>
<a-divider orientation="left">人脸识别图像</a-divider>
<a-row :gutter="24">
<a-col :md="12" :sm="24">
<a-form :form="form">
<a-form-item
label="图像"
:labelCol="labelCol"
:wrapperCol="wrapperCol">
<db-upload v-model="fileList3" max="1" type='img' fileSize="500"></db-upload>
</a-form-item> </a-form-item>
</a-form> </a-form>
</a-col> </a-col>
@ -239,7 +253,8 @@
degreeData: [], degreeData: [],
typeData: [], typeData: [],
fileList: [], fileList: [],
fileList2: [] fileList2: [],
fileList3: []
} }
}, },
mounted () { mounted () {
@ -293,6 +308,13 @@
} }
if (data.idPhotoBack) { if (data.idPhotoBack) {
this.fileList2 = JSON.parse(data.idPhotoBack) this.fileList2 = JSON.parse(data.idPhotoBack)
}
if (data.avatar) {
this.fileList3.push({
uid: 1,
name: 'image.jpg',
url: data.avatar
})
} }
this.form.setFieldsValue( this.form.setFieldsValue(
{ {
@ -350,6 +372,7 @@
values.type = values.type.join(',') values.type = values.type.join(',')
values.idPhotoFace = JSON.stringify(this.fileList) values.idPhotoFace = JSON.stringify(this.fileList)
values.idPhotoBack = JSON.stringify(this.fileList2) values.idPhotoBack = JSON.stringify(this.fileList2)
if (this.fileList3.length > 0) values.avatar = this.fileList3[0].url
personAddOrUpdate(values).then((res) => { personAddOrUpdate(values).then((res) => {
this.confirmLoading = false this.confirmLoading = false
if (res.code === 200) { if (res.code === 200) {
@ -411,6 +434,7 @@
this.form.resetFields() this.form.resetFields()
this.fileList = [] this.fileList = []
this.fileList2 = [] this.fileList2 = []
this.fileList3 = []
this.visible = false this.visible = false
} }
} }

19396
yarn.lock

File diff suppressed because it is too large Load Diff