提交 559652f6 编写于 作者: guangjun.yang's avatar guangjun.yang

CME三期内容

上级 4e0f639b
文件已添加
<template>
<!-- 组件有问题 -->
<el-dialog
title="预览PDF文件"
:visible="dialogVisible"
@close="close"
center
:close-on-click-modal="false"
:close-on-press-escape="false"
width="800px"
>
<!-- <canvas v-for="page in pages" :id="'the-canvas'+page" :key="page"></canvas> -->
<div id="demo"></div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="close">确 定</el-button>
</div>
</el-dialog>
</template>
<script>
// import Pdfh5 from "pdfh5";
export default {
data() {
return {
pdfh5: null
};
},
props: {
dialogVisible: {
type: Boolean,
default: false
}
},
computed: {},
components: {
// PDF
},
mounted() {
// //实例化
// this.pdfh5 = new Pdfh5("#demo", {
// pdfurl: "http://10.177.11.169:9000/test.pdf"
// });
// //监听完成事件
// this.pdfh5.on("complete", function(status, msg, time) {
// console.log(
// "状态:" +
// status +
// ",信息:" +
// msg +
// ",耗时:" +
// time +
// "毫秒,总页数:" +
// this.totalNum
// );
// });
},
methods: {
close() {
this.$emit("close");
}
}
};
</script>
<style scoped lang="scss">
// @import "pdfh5/css/pdfh5.css";
// * {
// padding: 0;
// margin: 0;
// }
// html,
// body,
// #app {
// width: 100%;
// height: 100%;
// }
</style>
<template>
<el-dialog
title="预览协议"
:visible="dialogVisible"
@close="close"
center
:close-on-click-modal="false"
:close-on-press-escape="false"
width="800px"
>
<div v-html="protocolInfo.contents"></div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="close">确 定</el-button>
</div>
</el-dialog>
</template>
<script>
export default {
data() {
return {
protocolInfo: {
contents: ''
}
};
},
props: {
dialogVisible: {
type: Boolean,
default: false
},
protocolId: {
type: String | Number,
default: 0
}
},
watch: {
protocolId(newVal) {
if(newVal) {
this.getProtocolInfoById(newVal);
}
}
},
computed: {
},
mounted() {
},
methods: {
// 查询列表
getProtocolInfoById(protocolId) {
let req = {
protocolId: protocolId
};
this.GET("smartcontract/protocolManage/protocol", req).then(res => {
if (res.code == "000000") {
this.protocolInfo = res.data;
}
});
},
close() {
this.$emit('close');
},
}
};
</script>
<style scoped lang="scss">
</style>
<template>
<el-dialog
title="预览课程"
:visible="dialogVisible"
@close="close"
center
:close-on-click-modal="false"
:close-on-press-escape="false"
width="800px"
>
<video-player
class="video-player vjs-custom-skin"
ref="videoPlayer"
:playsinline="true"
:options="playerOptions"
@pause="onPlayerPause($event)"
/>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="close">确 定</el-button>
</div>
</el-dialog>
</template>
<script>
// import video from '@/assets/test.mp4'
export default {
data() {
return {
playerOptions: {
playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度
autoplay: false, //如果true,浏览器准备好时开始回放。
muted: false, // 默认情况下将会消除任何音频。
loop: false, // 导致视频一结束就重新开始。
preload: "auto", // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
language: "zh-CN",
aspectRatio: "16:9", // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
sources: [
{
src: '', // 路径
type: "video/mp4" // 类型
},
// {
// src: "//path/to/video.webm",
// type: "video/webm"
// }
],
poster: "http://10.177.11.169:9000/750*1000-1.png", //你的封面地址
notSupportedMessage: "此视频暂无法播放,请稍后再试", //允许覆盖Video.js无法播放媒体源时显示的默认信息。
controlBar: {
timeDivider: true,
durationDisplay: true,
remainingTimeDisplay: false,
fullscreenToggle: true //全屏按钮
}
}
};
},
props: {
dialogVisible: {
type: Boolean,
default: false
},
videoUrl: {
type: String,
default: ''
}
},
watch: {
videoUrl(newVideoUrl) {
this.playerOptions.sources[0].src = newVideoUrl;
}
},
computed: {
player() {
return this.$refs.videoPlayer.player
}
},
mounted() {
},
methods: {
close() {
this.$emit('close');
this.player.pause();
},
onPlayerPause(player) {
console.log(player);
}
}
};
</script>
<style scoped lang="scss">
</style>
<template>
<!-- 拒绝原因 暂时不做 -->
<el-dialog
title="拒绝原因"
@close="hideAddEditForm"
:visible.sync="addEditVisible"
:close-on-click-modal="false"
width="600px"
center>
<el-form ref="addEditForm" :rules="rules" :model="addEditForm" label-width="120px">
<el-form-item label="拒绝原因:">
<el-radio-group v-model="addEditForm.doctorId">
<div style="padding-top: 12px;">
<el-radio label="含有政治类、医疗健康、社会事件类不实信息" value="1"></el-radio>
</div>
<div style="padding-top: 16px;">
<el-radio label="含有欺诈,色情,诱导、违法犯罪非法字符" value="2"></el-radio>
</div>
<div style="padding-top: 16px;">
<el-radio label="其他" value="3"></el-radio>
</div>
</el-radio-group>
<el-input type="textarea" v-model="addEditForm.desc" maxlength="25" style="width: 310px;margin-top: 10px;"></el-input>
<span class="word-num">{{(addEditForm.desc).replace(/\s+/g,"").length}}/25</span>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="hideAddEditForm">取 消</el-button>
<el-button type="primary" @click="submitForm('addEditForm')">确 定</el-button>
</span>
</el-dialog>
</template>
<script>
export default {
data() {
return {
};
},
props: {
dialogVisible: {
type: Boolean,
default: false
}
},
computed: {
},
mounted() {
},
methods: {
save() {
this.dialogVisible = false;
}
}
};
</script>
<style scoped lang="scss">
</style>
此差异已折叠。
......@@ -2,7 +2,7 @@
<div class="custom-over">
<!-- <div class="custom-select-wrapper" style="overflow:auto;">
<div class="department-label" style="width: 1200px;"> -->
<div class="custom-select-wrapper">
<!-- <div class="custom-select-wrapper">
<div class="department-label" style="min-width:1420px;">
<span
v-for="(item, index) in allLabelList"
......@@ -15,8 +15,27 @@
{{item.name}}
</span>
</div>
</div>
</div> -->
<div class="custom-select-wrapper">
<!-- 学科分类 -->
<div class="subject-level">
<span class="title">学科分类</span>
<span
v-for="(item, index) in allLabelList"
:key="index"
class="item"
:class="{active: item.checked}"
@click="selectLabel(index)"
>
<!-- <span
class="item"
v-for="(item, index) in courseLevel"
:key="index"
@click="selectLevel(index)"
> -->
<span class="name" :class="{active: item.checked}">{{item.name}}</span>
</span>
</div>
<!-- 课程分类 -->
<div class="course-class">
<div class="title">课程分类</div>
......@@ -314,6 +333,45 @@ export default {
}
}
}
.subject-level {
display: flex;
flex-direction: row;
box-sizing: content-box;
height: 56px;
line-height: 56px;
padding-left: 20px;
// margin: 16px 0 16px 20px;
border-bottom: 1px dotted #e4e7ed;
.title {
display: inline-block;
padding: 0 10px;
color: #999999;
}
.item {
cursor: pointer;
display: inline-block;
margin: 0 5px;
color: #333333;
margin-bottom: -1px;
&.active {
border-bottom: 2px solid #449284;
}
.name {
height: 26px;
line-height: 26px;
display: inline-block;
padding: 0px 10px;
border-radius: 2px;
&.active {
color: #449284;
font-weight: 700;
// background: #449284;
}
}
}
}
.course-level {
display: flex;
flex-direction: row;
......
<template>
<div class="select-course-wrapper">
<div class="top-line"></div>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="公共课程" name="first">
</el-tab-pane>
<el-tab-pane label="我的课程" name="second">
</el-tab-pane>
</el-tabs>
<CourseSelect></CourseSelect>
<div class="top-line" style="margin-top: 20px;"></div>
<CourseList></CourseList>
......@@ -12,13 +18,18 @@ import CourseList from '@/components/education/custom/course-list'
export default {
data() {
return {
activeName: 'second'
}
},
components: {
CourseSelect,
CourseList,
}
},
methods: {
handleClick() {
}
},
}
</script>
<style lang="less" scoped>
......@@ -29,6 +40,5 @@ export default {
height: 10px;
background: rgb(240, 242, 245);
}
}
</style>
......@@ -12,7 +12,14 @@ import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
//引入滚动加载分页
import infiniteScroll from 'vue-infinite-scroll'
Vue.use(infiniteScroll)
import VueVideoPlayer from 'vue-video-player';
import 'video.js/dist/video-js.css';
// import pdf from 'vue-pdf'
Vue.use(infiniteScroll);
Vue.use(VueVideoPlayer);
// Vue.use(pdf);
// 可调试
// Vue.config.devtools = true;
// Vue.use(Logger, { prefix: new Date(), isDev: process.env.NODE_ENV === 'development', cLevel: 'debug' })
......
......@@ -45,6 +45,8 @@ const templateEditor = r => require.ensure([], () => r(require('../views/educati
const templateOpen = r => require.ensure([], () => r(require('../views/education/template-open.vue')), 'templateOpen')
const eduRole = r => require.ensure([], () => r(require('../views/education/edu-role.vue')), 'edu-role')
const editCustom = r => require.ensure([], () => r(require('../views/education/edit-custom.vue')), 'templateOpen')
const externalResourceManage = r => require.ensure([], () => r(require('../views/education/external-resource-manage.vue')), 'review-access-manage')
const noticeEditor = r => require.ensure([], () => r(require('../views/education/notice-editor.vue')), 'notice-editor')
......@@ -192,6 +194,10 @@ export default [{
path: '/notice-editor',
component: noticeEditor
},
{
path: '/external-resource-manage',
component: externalResourceManage,
},
// {
// path: '/followup',
// name: 'followUp',
......
......@@ -160,5 +160,26 @@
border-radius: 3px;
}
}
.select-course-wrapper {
.el-tabs__nav {
margin-left: 30px;
}
.el-tabs__item:hover {
color: #449284 !important;
}
.el-tabs__item.is-active {
color: #449284 !important;
}
.el-tabs__active-bar {
background: #449284 !important;
}
}
.dialog-title-border {
.el-dialog__body {
margin: 0 20px;
padding: 25px 5px 30px;
border-top: 1px solid #E4E7ED;
}
}
......@@ -10,7 +10,7 @@ export const envConfig = {
// baseUrl: 'https://uat-sc.yunqueyi.com/',
// baseUrl: 'http://10.177.15.150:10401/',
// baseUrl: 'http://10.177.15.150:11905/',
baseUrl: 'https://uat-sc.yunqueyi.com/',
baseUrl: 'https://dev-sc.yunqueyi.com/',
// baseUrl: 'https://test1-sc.yunqueyi.com/',
// baseUrl: 'https://sc.yunqueyi.com/',
// baseUrl: 'https://uat-sc.yunqueyi.com/',
......
......@@ -54,7 +54,7 @@ service.interceptors.request.use(config => {
}
if( process.env.BUILD_ENV == "development" ){ // 本地开发环境
// console.log('环境变量>>>> ', process.env.BUILD_ENV);
config.headers['token'] = 'AA3888A4256A49099D14879928E3E919';
config.headers['token'] = '37683A493D6B497AB152D87EA731CF35';
// config.headers['token'] = localStorage.getItem('storageToken')
}else{
config.headers['token'] = localStorage.getItem('storageToken')
......
此差异已折叠。
此差异已折叠。
......@@ -364,6 +364,11 @@
title: '学分发放管理',
icon: 'el-icon-document',
index: 'credit-send-manage'
},
{
title: '外部资源管理',
icon: 'el-icon-document',
index: 'external-resource-manage'
},
]
}
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册