| | |
| | | </div> |
| | | <el-button type="primary" class="applyStartClasses" @click="applyClass">申请开班</el-button> |
| | | </div> |
| | | <div class="classListBox" v-loading="pages.loading"> |
| | | <div class="classListBox" v-if="classList.length > 0" v-loading="pages.loading"> |
| | | <div class="classItem" v-for="(item, index) in classList" :key="index"> |
| | | <div class="itemHeader"> |
| | | <div class="title">{{ item.name }}</div> |
| | |
| | | page: 1, |
| | | pageSize: 6, |
| | | count: 0, |
| | | loading: true |
| | | loading: true, |
| | | }) |
| | | |
| | | const searchData = () => { |
| | |
| | | size: pages.pageSize, |
| | | sort: { |
| | | type: 'Desc', |
| | | field: 'CreateDate' |
| | | field: 'CreateDate', |
| | | }, |
| | | filterList: [], |
| | | searchList: searchKey.value |
| | |
| | | { |
| | | keywords: searchKey.value, |
| | | field: 'Name', |
| | | compareType: 'Contains' |
| | | } |
| | | compareType: 'Contains', |
| | | }, |
| | | ] |
| | | : [] |
| | | : [], |
| | | }) |
| | | .then((res: any) => { |
| | | pages.loading = false |
| | | pages.count = res.totalSize; |
| | | pages.count = res.totalSize |
| | | classList.value = res.datas.map((item: any) => { |
| | | return { |
| | | ...item, |
| | |
| | | id: item.id, |
| | | icon: item.icon ? getPublicImage(item.icon, 80) : '', |
| | | introduction: item.description, |
| | | reason: item.applyReturnMsg ? JSON.parse(item.applyReturnMsg).reason : '' |
| | | reason: item.applyReturnMsg ? JSON.parse(item.applyReturnMsg).reason : '', |
| | | } |
| | | }) |
| | | refreshParent() |
| | |
| | | formData.value = { |
| | | name: '', |
| | | num: '', |
| | | date: '' |
| | | date: '', |
| | | } |
| | | applyClassDialog.value = true |
| | | } |
| | |
| | | const formData = ref({ |
| | | name: '', |
| | | num: '', |
| | | date: '' |
| | | date: '', |
| | | }) |
| | | |
| | | const submit = () => { |
| | |
| | | endDate: moment(formData.value.date[1]).format('YYYY-MM-DD'), |
| | | config: '', |
| | | price: 0, |
| | | maxUserCount: formData.value.num |
| | | maxUserCount: formData.value.num, |
| | | }) |
| | | .then((res: any) => { |
| | | if (res) { |
| | |
| | | await toClipboard(text) |
| | | ElMessage({ |
| | | message: '复制成功', |
| | | type: 'success' |
| | | type: 'success', |
| | | }) |
| | | } catch (e) { |
| | | console.error(e) |
| | |
| | | // 删除班级 |
| | | const delClass = (item: any) => { |
| | | const data = { |
| | | ids: [item.id] |
| | | ids: [item.id], |
| | | } |
| | | MG.edu |
| | | .delCourseClass(data) |
| | |
| | | if (res) { |
| | | ElMessage({ |
| | | message: '已删除', |
| | | type: 'success' |
| | | type: 'success', |
| | | }) |
| | | getData() |
| | | } |
| | |
| | | .catch((err: any) => { |
| | | ElMessage({ |
| | | message: '删除失败', |
| | | type: 'error' |
| | | type: 'error', |
| | | }) |
| | | console.log(err) |
| | | }) |
| | |
| | | page: 1, |
| | | pageSize: 10, |
| | | count: 0, |
| | | loading: false |
| | | loading: false, |
| | | }) |
| | | const courseListData = ref([]) |
| | | |
| | |
| | | // coursePages.loading = true |
| | | // const searchData = [ |
| | | // { |
| | | // keywords: 'jsek_digitalTextbooks', |
| | | // keywords: 'digitalTextbooks', |
| | | // field: 'ProductType' |
| | | // } |
| | | // ] |
| | |
| | | if (item.applyState == 'WaitAudit') { |
| | | ElMessage({ |
| | | message: '正在审核中....', |
| | | type: 'warning' |
| | | type: 'warning', |
| | | }) |
| | | return false |
| | | } |
| | | if (item.applyState == 'Reject') { |
| | | ElMessage({ |
| | | message: '审核未通过', |
| | | type: 'warning' |
| | | type: 'warning', |
| | | }) |
| | | return false |
| | | } |
| | |
| | | bookId: bookData.id, |
| | | author: bookData.author, |
| | | isbn: bookData.isbn, |
| | | bookRefCode: bookData.refCode |
| | | bookRefCode: bookData.refCode, |
| | | } |
| | | let page = uRouter.resolve({ |
| | | path: '/classManage', |
| | | query: { |
| | | classInfo: JSON.stringify(classinfo) |
| | | } |
| | | classInfo: JSON.stringify(classinfo), |
| | | }, |
| | | }) |
| | | window.open(page.href, '_blank') |
| | | } |
| | |
| | | min-height: 200px; |
| | | .classItem { |
| | | float: left; |
| | | width: 49%; |
| | | width: 48%; |
| | | margin-bottom: 16px; |
| | | margin-right: 1%; |
| | | border-radius: 8px; |
| | |
| | | margin-top: 10px; |
| | | font-size: 12px; |
| | | background-color: #fff; |
| | | color: #3b93fe; |
| | | color: #019e58; |
| | | padding: 0 6px; |
| | | border-radius: 50px; |
| | | overflow: hidden; |
| | |
| | | .itemInfo { |
| | | height: 128px; |
| | | padding: 20px; |
| | | box-sizing: border-box; |
| | | flex: 1; |
| | | display: flex; |
| | | cursor: pointer; |