Commit 2fe3501a authored by 杨培's avatar 杨培

Vue upgrade to 2.0

parent 81e8656f
......@@ -99,9 +99,9 @@ AppAsset::addCss($this, '@web/assets/css/course_publish.css');
</div>
<input type="hidden" name="id" value="<?=$course->id?>" />
<input type="hidden" name="tmp" value="{{tmp}}" />
<input type="hidden" name="vuid" value="@orig" v-model="vuid" />
<input type="hidden" name="preview" value="@orig" v-model="previewKey" />
<input type="hidden" name="tmp" :value="tmp" />
<input type="hidden" name="vuid" :value="vuid" />
<input type="hidden" name="preview" :value="previewKey" />
<div class="btn-box text-center" style="border-top: 1px solid #e7e7e7; margin-top: 10px; ">
<button type="button" class="btn btn-nobg">取消</button>
......
......@@ -71,9 +71,9 @@ AppAsset::addCss($this, '@web/assets/css/course_publish.css');
</div>
</div>
<input type="hidden" name="tmp" value="{{tmp}}" />
<input type="hidden" name="vuid" value="{{vuid}}" />
<input type="hidden" name="preview" value="{{previewKey}}" />
<input type="hidden" name="tmp" :value="tmp" />
<input type="hidden" name="vuid" :value="vuid" />
<input type="hidden" name="preview" :value="previewKey" />
<div class="btn-box text-center" style="border-top: 1px solid #e7e7e7; margin-top: 10px; ">
<button type="button" class="btn btn-nobg">取消</button>
......
......@@ -25,7 +25,7 @@ AppAsset::addCss($this, '@web/assets/css/teacher_form.css');
<textarea id="teacher-intro" name="intro" placeholder="请输入讲师介绍..."></textarea>
</div>
<input type="hidden" name="avatar" value="{{avatar}}">
<input type="hidden" name="avatar" :value="avatar">
<div class="btn-box">
<button type="submit" class="btn btn-nobg" @click="cancelClick">取消</button>
<button type="submit" class="btn btn-save m-l-10">保存</button>
......
......@@ -31,7 +31,7 @@ AppAsset::addCss($this, '@web/assets/css/teacher_form.css');
</div>
<input type="hidden" name="id" value="<?=$teacher->id?>">
<input type="hidden" name="avatar" value="{{avatar}}">
<input type="hidden" name="avatar" :value="avatar">
<div class="btn-box">
<button type="button" class="btn btn-nobg" @click="cancelClick">取消</button>
<button type="submit" class="btn btn-save m-l-10">保存</button>
......
......@@ -33,7 +33,7 @@ export default {
default: ""
}
},
ready() {
mounted() {
var self = this;
this.text = defaultText;
......@@ -76,7 +76,7 @@ export default {
self.avatar = response.src + "-m.avatar";
self.uploadState = false;
self.$dispatch("avatar-uploaded", file.name, response);
self.$emit("avatar-uploaded", file.name, response);
},
'Error': function(up, err) {
var msg = "";
......
......@@ -29,7 +29,7 @@ export default{
uptoken: String,
initImg: String
},
ready() {
mounted() {
var container = $(this.$el);
if (this.initImg) {
......@@ -86,7 +86,7 @@ export default{
container.addClass("uploaded").find("img").remove();
container.prepend('<img src="' + response.src + '-m.preview">');
self.$dispatch("thumb-uploaded", file.name, response);
self.$emit("thumb-uploaded", file.name, response);
},
'Error': function(up, err) {
var msg = "";
......@@ -115,7 +115,7 @@ export default{
uploader.disableBrowse(false);
}
self.$dispatch("thumb-upload-state-change", val, old);
self.$emit("thumb-upload-state-change", val, old);
});
uploader.init();
......
......@@ -4,7 +4,7 @@
<i class="icon-play"></i>
<b>上传视频</b>
</div>
<div class="upload-ready" v-else>
<div class="upload-ready" v-show="state=='uploading' || state=='error' || state=='completed'">
<h3>{{videoName}}</h3>
<div class="video-detail">
视频大小:{{videoSize}}
......@@ -50,10 +50,10 @@ export default {
this.state = "ready";
uploader.refresh();
this.$dispatch("video-upload-cancel");
this.$emit("video-upload-cancel");
}
},
ready() {
mounted() {
var container = $(this.$el),
btn = container.find(".upload-video-btn"),
ready = container.find(".upload-ready");
......@@ -131,7 +131,7 @@ export default {
var response = $.parseJSON(info.response);
self.$dispatch("video-uploaded", file.name, response);
self.$emit("video-uploaded", file.name, response);
},
'Error': function(up, err) {
var msg = "";
......@@ -159,7 +159,7 @@ export default {
uploader.disableBrowse();
}
self.$dispatch("video-upload-state-change", val, old);
self.$emit("video-upload-state-change", val, old);
});
uploader.init();
......
<template xmlns:v-el="http://www.w3.org/1999/xhtml">
<div class="checkbox">
<label v-for="(index, item) in teachers" :class="{'m-l-10':index!=0}">
<input name="teacher[]" type="checkbox" value="{{item.id}}" v-model="checkedTeachers">{{item.name}}
<label v-for="(item, index) in teachers" :class="{'m-l-10':index!=0}">
<input name="teacher[]" type="checkbox" :value="item.id" v-model="checkedTeachers">{{item.name}}
</label>
<div class="d-i-b" v-if="addFormShow">
<input type="text" class="input-r-control reset-input" placeholder="请输入讲师名称" v-model="newName" v-el:nameInput>
<input type="text" class="input-r-control reset-input" placeholder="请输入讲师名称" v-model="newName" ref="nameInput">
<button type="button" class="btn btn-nobg" @click="addTeacher">保存</button>
<button type="button" class="btn btn-nobg" @click="addFormShow=false">取消</button>
</div>
......@@ -25,18 +25,21 @@ export default{
}
},
props: {
initTeachers: String
initTeachers: {
type: String,
default: ""
}
},
methods: {
showAddForm() {
this.addFormShow = true;
this.$nextTick(function() {
this.$els.nameInput.focus();
this.$refs.nameInput.focus();
});
},
addTeacher(e) {
if ($.trim(this.newName) == "") {
this.$els.nameInput.focus();
this.$refs.nameInput.focus();
return;
}
......@@ -46,13 +49,13 @@ export default{
$.post("/teacher-manager/save", {
name: self.newName
}, function(t) {
if (!t.error) {
if (t.status) {
self.loadTeacherList();
self.newName = "";
self.addFormShow = false;
self.checkedTeachers.push(t.teacher_id.toString());
self.checkedTeachers.push(t.data.id);
} else {
layer.alert("添加讲师失败!\n" + t.error, {icon:5, title:"上传失败"});
layer.alert("添加讲师失败!\n" + t.message, {icon:5, title:"添加失败"});
}
}, "json");
},
......@@ -65,10 +68,10 @@ export default{
},
watch: {
checkedTeachers(val) {
this.$dispatch("teacher-quick-list-checked", val);
this.$emit("teacher-quick-list-checked", val);
}
},
ready() {
mounted() {
this.loadTeacherList();
if (this.initTeachers) {
......
......@@ -17,8 +17,8 @@ var form = document.forms["courseEdit"];
var vm = new Vue({
el: "#publishMain",
data: {
vuid: "",
previewKey: "",
vuid: "@orig",
previewKey: "@orig",
tmp: str.rand(20),
dynamicVideo: null
},
......@@ -33,7 +33,7 @@ var vm = new Vue({
this.vuid = "";
}
},
ready: function() {
mounted: function() {
var self = this;
this.$on("video-uploaded", function(name, data) {
......
......@@ -26,13 +26,13 @@ var vm = new Vue({
thumbUpload: thumbUpload,
teachers: teacherQuickList
},
ready: function() {
mounted: function() {
var self = this;
this.$on("video-uploaded", function(name, data) {
self.vuid = data.uuid;
});
this.$on("video-upload-cancel", function() {
self.vuid = "";
});
......
......@@ -52,7 +52,7 @@ export default{
}, "json");
}
},
ready() {
mounted() {
var self = this;
var form = this.$el;
......
......@@ -17,7 +17,7 @@ var vm = new Vue({
history.back();
}
},
ready: function() {
mounted: function() {
var self = this;
var form = document.forms["teacher"];
......@@ -62,7 +62,7 @@ var Simditor = require("../utils/simditor");
//添加编辑器部分
var editor = new Simditor({
new Simditor({
textarea: $('#teacher-intro'),
upload: false,
tabIndent: true,
......
......@@ -27,9 +27,8 @@
"style-loader": "^0.13.0",
"url-loader": "^0.5.7",
"expose-loader": "^0.7.1",
"vue-hot-reload-api": "^1.2.0",
"vue-html-loader": "^1.0.0",
"vue-loader": "^8.0.0",
"vue-hot-reload-api": "^2.0.6",
"vue-loader": "^10.0.0",
"expose": "^0.1.4",
"jsx-loader": "^0.13.2",
"file-loader": "^0.8.5",
......@@ -45,6 +44,6 @@
"moment": "^2.13.0",
"simditor": "^2.3.6",
"video.js": "^5.11.9",
"vue": "^1.0.8"
"vue": "^2.0.8"
}
}
......@@ -92,7 +92,8 @@ var config = {
'plupload-js': lib_dir + '/plupload/plupload.full.min.js',
'qiniu-js': lib_dir + '/qiniu/qiniu.js',
'helper': js_dir + '/helper/helper.js',
'helper-dir': js_dir + '/helper'
'helper-dir': js_dir + '/helper',
'vue$': 'vue/dist/vue.js'
}
}
};
......
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