design.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. var videoHtml = '<div class="video-edit">';
  2. videoHtml += '<div class="template-edit-title">';
  3. videoHtml += '<h3>视频设置</h3>';
  4. videoHtml += '<div class="layui-form-item">';
  5. videoHtml += '<label class="layui-form-label sm">类型</label>';
  6. videoHtml += '<div class="layui-input-block">';
  7. videoHtml += '<div @click="data.type=\'upload\'" :class="{ \'layui-unselect layui-form-radio\' : true,\'layui-form-radioed\' : (data.type==\'upload\') }">';
  8. videoHtml += '<i class="layui-anim layui-icon">{{ data.type==\'upload\' ? \'&#xe643;\' : \'&#xe63f;\' }}</i>';
  9. videoHtml += '<div>手动上传</div>';
  10. videoHtml += '</div>';
  11. videoHtml += '<div @click="data.type=\'link\'" :class="{ \'layui-unselect layui-form-radio\' : true,\'layui-form-radioed\' : (data.type==\'link\') }">';
  12. videoHtml += '<i class="layui-anim layui-icon">{{ data.type==\'link\' ? \'&#xe643;\' : \'&#xe63f;\' }}</i>';
  13. videoHtml += '<div>视频链接</div>';
  14. videoHtml += '</div>';
  15. videoHtml += '</div>';
  16. videoHtml += '</div>';
  17. videoHtml += '<div class="layui-form-item" v-show="data.type == \'link\'">';
  18. videoHtml += '<label class="layui-form-label sm">视频链接</label>';
  19. videoHtml += '<div class="layui-input-block">';
  20. videoHtml += '<input type="text" v-model="data.videoUrl" placeholder="请输入视频链接" class="layui-input">';
  21. videoHtml += '</div>';
  22. videoHtml += '</div>';
  23. videoHtml += '<div class="layui-form-item" v-show="data.type == \'upload\'">';
  24. videoHtml += '<label class="layui-form-label sm">选择视频</label>';
  25. videoHtml += '<video-upload :data="{data : data}"></video-upload>';
  26. videoHtml += '</div>';
  27. videoHtml += '<div class="layui-form-item">';
  28. videoHtml += '<label class="layui-form-label sm">封面图</label>';
  29. videoHtml += '<img-upload :data="{data : data}"></img-upload>';
  30. videoHtml += '</div>';
  31. videoHtml += '</div>';
  32. videoHtml += '</div>';
  33. Vue.component("video-edit",{
  34. data: function () {
  35. return {
  36. data: this.$parent.data,
  37. };
  38. },
  39. created : function(){
  40. if(!this.$parent.data.verify) this.$parent.data.verify = [];
  41. this.$parent.data.verify.push(this.verify);//加载验证方法
  42. this.$parent.data.ignore = ['textColor','componentBgColor','elementBgColor','elementAngle'];//加载忽略内容 -- 其他设置中的属性设置
  43. this.$parent.data.ignoreLoad = true; // 等待忽略数组赋值后加载
  44. },
  45. methods: {
  46. verify : function (index) {
  47. var res = { code : true, message : "" };
  48. if (vue.data[index].videoUrl === '') {
  49. res.code = false;
  50. res.message = "请上传视频";
  51. }
  52. if (vue.data[index].imageUrl === '') {
  53. res.code = false;
  54. res.message = "请上传视频封面";
  55. }
  56. return res;
  57. }
  58. },
  59. template: videoHtml
  60. });