Commit 7fcfe35f authored by xiabin's avatar xiabin

Merge remote-tracking branch 'origin/dev' into dev

parents d8df8ac1 3f10f806
...@@ -56,7 +56,7 @@ AppAsset::addCss($this, '@web/assets/css/course_publish.css'); ...@@ -56,7 +56,7 @@ AppAsset::addCss($this, '@web/assets/css/course_publish.css');
<?php } ?> <?php } ?>
</div> </div>
</div> </div>
<component :is="dynamicVideo" uptoken="<?=$videoToken?>"></component> <component :is="dynamicVideo" uptoken="<?=$videoToken?>" ref="video"></component>
</div> </div>
<div class="cls-part"> <div class="cls-part">
...@@ -86,7 +86,7 @@ AppAsset::addCss($this, '@web/assets/css/course_publish.css'); ...@@ -86,7 +86,7 @@ AppAsset::addCss($this, '@web/assets/css/course_publish.css');
<div class="cls-part"> <div class="cls-part">
<div class="tit">缩略图 <small>建议尺寸:900像素 * 500像素</small></div> <div class="tit">缩略图 <small>建议尺寸:900像素 * 500像素</small></div>
<thumb-upload uptoken="<?=$thumbToken?>" init-img="<?=\Yii::$app->qiniu->getUrl('public', $course->preview_pic)?>-m.preview"></thumb-upload> <thumb-upload uptoken="<?=$thumbToken?>" init-img="<?=\Yii::$app->qiniu->getUrl('public', $course->preview_pic)?>-m.preview" ref="thumb"></thumb-upload>
</div> </div>
<div class="cls-part p-b-20"> <div class="cls-part p-b-20">
......
...@@ -29,7 +29,7 @@ AppAsset::addCss($this, '@web/assets/css/course_publish.css'); ...@@ -29,7 +29,7 @@ AppAsset::addCss($this, '@web/assets/css/course_publish.css');
<div class="cls-part"> <div class="cls-part">
<div class="tit">上传视频 <span class="required">*</span></div> <div class="tit">上传视频 <span class="required">*</span></div>
<video-upload uptoken="<?=$videoToken?>"></video-upload> <video-upload uptoken="<?=$videoToken?>" ref="video"></video-upload>
</div> </div>
<div class="cls-part"> <div class="cls-part">
...@@ -59,7 +59,7 @@ AppAsset::addCss($this, '@web/assets/css/course_publish.css'); ...@@ -59,7 +59,7 @@ AppAsset::addCss($this, '@web/assets/css/course_publish.css');
<div class="cls-part"> <div class="cls-part">
<div class="tit">缩略图<span class="required">*</span> <small>建议尺寸:900像素 * 500像素</small></div> <div class="tit">缩略图<span class="required">*</span> <small>建议尺寸:900像素 * 500像素</small></div>
<thumb-upload uptoken="<?=$thumbToken?>"></thumb-upload> <thumb-upload uptoken="<?=$thumbToken?>" ref="thumb"></thumb-upload>
</div> </div>
<div class="cls-part p-b-20"> <div class="cls-part p-b-20">
......
...@@ -15,7 +15,7 @@ AppAsset::addCss($this, '@web/assets/css/teacher_form.css'); ...@@ -15,7 +15,7 @@ AppAsset::addCss($this, '@web/assets/css/teacher_form.css');
<div class="tit">添加讲师</div> <div class="tit">添加讲师</div>
<form method="post" name="teacher" id="teacherForm"> <form method="post" name="teacher" id="teacherForm">
<avatar-upload uptoken="<?=$avatarUploadToken?>"></avatar-upload> <avatar-upload uptoken="<?=$avatarUploadToken?>" ref="avtu"></avatar-upload>
<div class="type-name"> <div class="type-name">
<input type="text" name="name" placeholder="请输入讲师名称..."> <input type="text" name="name" placeholder="请输入讲师名称...">
......
...@@ -20,7 +20,7 @@ AppAsset::addCss($this, '@web/assets/css/teacher_form.css'); ...@@ -20,7 +20,7 @@ AppAsset::addCss($this, '@web/assets/css/teacher_form.css');
<div class="tit"><?=$this->title?></div> <div class="tit"><?=$this->title?></div>
<form method="post" name="teacher" id="teacherForm"> <form method="post" name="teacher" id="teacherForm">
<avatar-upload avatar="<?=$avatar?>" uptoken="<?=$avatarUploadToken?>"></avatar-upload> <avatar-upload avatar="<?=$avatar?>" uptoken="<?=$avatarUploadToken?>" ref="avtu"></avatar-upload>
<div class="type-name"> <div class="type-name">
<input type="text" name="name" placeholder="请输入讲师名称..." value="<?=$teacher->name?>"> <input type="text" name="name" placeholder="请输入讲师名称..." value="<?=$teacher->name?>">
......
var Vue = require('vue');
module.exports = new Vue();
\ No newline at end of file
<script>
import Vue from 'vue';
export default new Vue();
</script>
<template> <template>
<div class="upload-avatar" :id="uploaderId" style="cursor:pointer;"> <div class="upload-avatar" :id="uploaderId" style="cursor:pointer;">
<template v-if="!uploadState && avatar != ''"> <template v-if="!uploadState && displayAvatar != ''">
<img :src="avatar"> <img :src="displayAvatar">
<div class="upload-avatar-mask">上传头像</div> <div class="upload-avatar-mask">上传头像</div>
</template> </template>
<template v-else> <template v-else>
...@@ -22,7 +22,8 @@ export default { ...@@ -22,7 +22,8 @@ export default {
return { return {
uploaderId: "avatarUploader" + str.rand(10), uploaderId: "avatarUploader" + str.rand(10),
text: "", text: "",
uploadState: true uploadState: true,
displayAvatar: ""
} }
}, },
props: { props: {
...@@ -39,6 +40,7 @@ export default { ...@@ -39,6 +40,7 @@ export default {
if (this.avatar != "") { if (this.avatar != "") {
this.uploadState = false; this.uploadState = false;
this.displayAvatar = this.avatar;
} }
var uploader = new qiniu.Uploader({ var uploader = new qiniu.Uploader({
...@@ -73,7 +75,7 @@ export default { ...@@ -73,7 +75,7 @@ export default {
self.text = "上传完成"; self.text = "上传完成";
var response = $.parseJSON(info.response); var response = $.parseJSON(info.response);
self.avatar = response.src + "-m.avatar"; self.displayAvatar = response.src + "-m.avatar";
self.uploadState = false; self.uploadState = false;
self.$emit("avatar-uploaded", file.name, response); self.$emit("avatar-uploaded", file.name, response);
......
...@@ -12,8 +12,6 @@ var commonPart = require('./common-part'); ...@@ -12,8 +12,6 @@ var commonPart = require('./common-part');
require('jquery-validation'); require('jquery-validation');
var form = document.forms["courseEdit"];
var vm = new Vue({ var vm = new Vue({
el: "#publishMain", el: "#publishMain",
data: { data: {
...@@ -31,23 +29,24 @@ var vm = new Vue({ ...@@ -31,23 +29,24 @@ var vm = new Vue({
removeVideoClick: function() { removeVideoClick: function() {
this.dynamicVideo = "videoUpload"; this.dynamicVideo = "videoUpload";
this.vuid = ""; this.vuid = "";
this.$refs.video.$on("video-uploaded", function(name, data) {
self.vuid = data.uuid;
});
this.$refs.video.$on("video-upload-cancel", function() {
self.vuid = "@orig";
});
} }
}, },
mounted: function() { mounted: function() {
var self = this; var self = this;
this.$on("video-uploaded", function(name, data) { this.$refs.thumb.$on("thumb-uploaded", function(name, data) {
self.vuid = data.uuid;
});
this.$on("video-upload-cancel", function() {
self.vuid = "@orig";
});
this.$on("thumb-uploaded", function(name, data) {
self.previewKey = data.uuid; self.previewKey = data.uuid;
}); });
var form = document.forms["courseEdit"];
var opt = commonPart.generateValidateOption(form); var opt = commonPart.generateValidateOption(form);
$.extend(opt, { $.extend(opt, {
......
...@@ -12,8 +12,6 @@ var commonPart = require('./common-part'); ...@@ -12,8 +12,6 @@ var commonPart = require('./common-part');
require('jquery-validation'); require('jquery-validation');
var form = document.forms["coursePublish"];
var vm = new Vue({ var vm = new Vue({
el: "#publishMain", el: "#publishMain",
data: { data: {
...@@ -29,18 +27,19 @@ var vm = new Vue({ ...@@ -29,18 +27,19 @@ var vm = new Vue({
mounted: function() { mounted: function() {
var self = this; var self = this;
this.$on("video-uploaded", function(name, data) { this.$refs.video.$on("video-uploaded", function(name, data) {
self.vuid = data.uuid; self.vuid = data.uuid;
}); });
this.$on("video-upload-cancel", function() { this.$refs.video.$on("video-upload-cancel", function() {
self.vuid = ""; self.vuid = "";
}); });
this.$on("thumb-uploaded", function(name, data) { this.$refs.thumb.$on("thumb-uploaded", function(name, data) {
self.previewKey = data.uuid; self.previewKey = data.uuid;
}); });
var form = document.forms["coursePublish"];
var opt = commonPart.generateValidateOption(form, true); var opt = commonPart.generateValidateOption(form, true);
$.extend(opt, { $.extend(opt, {
......
...@@ -52,7 +52,7 @@ var vm = new Vue({ ...@@ -52,7 +52,7 @@ var vm = new Vue({
return false; return false;
}); });
this.$on("avatar-uploaded", function(name, data) { this.$refs.avtu.$on("avatar-uploaded", function(name, data) {
self.avatar = data.uuid; self.avatar = data.uuid;
}); });
} }
......
...@@ -27,7 +27,6 @@ ...@@ -27,7 +27,6 @@
"style-loader": "^0.13.0", "style-loader": "^0.13.0",
"url-loader": "^0.5.7", "url-loader": "^0.5.7",
"expose-loader": "^0.7.1", "expose-loader": "^0.7.1",
"vue-hot-reload-api": "^1.2.0",
"vue-loader": "^9.4.0", "vue-loader": "^9.4.0",
"expose": "^0.1.4", "expose": "^0.1.4",
"jsx-loader": "^0.13.2", "jsx-loader": "^0.13.2",
...@@ -44,6 +43,6 @@ ...@@ -44,6 +43,6 @@
"moment": "^2.13.0", "moment": "^2.13.0",
"simditor": "^2.3.6", "simditor": "^2.3.6",
"video.js": "^5.11.9", "video.js": "^5.11.9",
"vue": "^2.0.1" "vue": "^2.0.8"
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment