|
|
@@ -7,7 +7,6 @@
|
|
|
label-width="100px"
|
|
|
class="demo-ruleForm"
|
|
|
>
|
|
|
-
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="类型" prop="type">
|
|
|
@@ -19,7 +18,6 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
-
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="标题:" prop="name" maxlength="30">
|
|
|
@@ -27,7 +25,7 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- <el-row v-show="form.type==='time'">
|
|
|
+ <el-row v-show="form.type === 'time'">
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="展览时间:" prop="startTime">
|
|
|
<el-date-picker
|
|
|
@@ -94,7 +92,22 @@
|
|
|
<el-row style="margin-bottom: 100px">
|
|
|
<el-col :span="24">
|
|
|
<el-form-item label="内容" prop="content" maxlength="30">
|
|
|
- <vue-editor class="quill-editor" v-model="form.content" />
|
|
|
+ <el-upload
|
|
|
+ class="upload-demo"
|
|
|
+ action="http://192.168.0.135:8001//manage/activity/upload"
|
|
|
+ multiple
|
|
|
+ :before-upload="beforethumbUpload"
|
|
|
+ :on-success="upload_thumb_success"
|
|
|
+ :headers="headerObj"
|
|
|
+ >
|
|
|
+ <el-button size="small" type="primary">视频上传</el-button>
|
|
|
+ <div slot="tip" class="el-upload__tip">
|
|
|
+ 只能上传MP4文件,且不超过500M
|
|
|
+ </div>
|
|
|
+ </el-upload>
|
|
|
+
|
|
|
+ <div id="div2" style="z-index: 1; margin-top: 40px"></div>
|
|
|
+ <!-- <vue-editor class="quill-editor" v-model="form.content" /> -->
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -113,12 +126,13 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import E from "wangeditor";
|
|
|
import * as common from "@/util/commonfn.js";
|
|
|
-import { VueEditor } from "vue2-editor";
|
|
|
+// import { VueEditor } from "vue2-editor";
|
|
|
export default {
|
|
|
- name:'tanchuang',
|
|
|
+ name: "tanchuang",
|
|
|
components: {
|
|
|
- VueEditor,
|
|
|
+ // VueEditor,
|
|
|
},
|
|
|
data() {
|
|
|
let startTimeRule = (rule, value, callback) => {
|
|
|
@@ -155,12 +169,13 @@ export default {
|
|
|
}
|
|
|
};
|
|
|
return {
|
|
|
+ editor: "",
|
|
|
refresh: "未刷新",
|
|
|
headerObj: {
|
|
|
token: window.localStorage.getItem("token"),
|
|
|
},
|
|
|
form: {
|
|
|
- type:"time",
|
|
|
+ type: "time",
|
|
|
name: "",
|
|
|
content: "",
|
|
|
startTime: "",
|
|
|
@@ -170,14 +185,14 @@ export default {
|
|
|
rules: {
|
|
|
name: [{ required: true, message: "请输入标题", trigger: "blur" }],
|
|
|
startTime: [
|
|
|
- // { required: true, message: "请输入开始时间", trigger: "blur"},
|
|
|
- { validator: startTimeRule, trigger: "blur"},
|
|
|
+ { required: true, message: "请输入开始时间", trigger: "blur" },
|
|
|
+ { validator: startTimeRule, trigger: "blur" },
|
|
|
],
|
|
|
endTime: [
|
|
|
- // { required: true, message: "请输入结束时间", trigger: "blur" },
|
|
|
- { validator: endTimeRule, trigger: "blur" },
|
|
|
+ { required: true, message: "请输入结束时间", trigger: "blur" },
|
|
|
+ { validator: endTimeRule, trigger: "blur" },
|
|
|
],
|
|
|
- content: [{ required: true, message: "请输入内容", trigger: "blur" }],
|
|
|
+ // content: [{ required: true, message: "请输入内容", trigger: "blur" }],
|
|
|
type: [{ required: true, message: "请输入内容", trigger: "blur" }],
|
|
|
},
|
|
|
token: window.localStorage.getItem("token"),
|
|
|
@@ -200,6 +215,31 @@ export default {
|
|
|
},
|
|
|
},
|
|
|
methods: {
|
|
|
+ beforethumbUpload(file) {
|
|
|
+ // console.log('上传文件前校验', file)
|
|
|
+ // 限制图片大小和格式
|
|
|
+ const sizeOk = file.size / 1024 / 1024 < 500;
|
|
|
+ const typeOk = file.type === "video/mp4";
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ if (!typeOk) {
|
|
|
+ this.$message.error("视频格式有误!");
|
|
|
+ reject(file);
|
|
|
+ } else if (!sizeOk) {
|
|
|
+ this.$message.error("视频大小超过500M!");
|
|
|
+ reject(file);
|
|
|
+ } else {
|
|
|
+ resolve(file);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ upload_thumb_success(data) {
|
|
|
+ console.log("上传文件成功", data);
|
|
|
+ this.$message.success("上传成功");
|
|
|
+ this.editor.txt.append(
|
|
|
+ `<video src="${data.data.ossUrl}" controls style="width:100%"></video><p>  </p>`
|
|
|
+ );
|
|
|
+ },
|
|
|
+ //上传视频方法
|
|
|
quxiao(reload) {
|
|
|
this.$layer.close(this.layerid);
|
|
|
//点击取消 不刷新列表 点击确认 保存成功刷新列表
|
|
|
@@ -208,32 +248,38 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
submitForm(formName) {
|
|
|
- if(this.form.type==='time'&&this.form.startTime==='') return this.$message.warning('开始时间不能为空')
|
|
|
- if(this.form.type==='time'&&this.form.endTime==='') return this.$message.warning('结束时间不能为空')
|
|
|
- this.$refs[formName].validate((valid) => {
|
|
|
- if (valid) {
|
|
|
- if (!this["form"].thumb) {
|
|
|
- common.tip("warning", "请上传图片");
|
|
|
- return;
|
|
|
+ //临时
|
|
|
+ if (this.form.type === "time") {
|
|
|
+ this.$refs[formName].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ if (!this["form"].thumb) {
|
|
|
+ common.tip("warning", "请上传图片");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.save();
|
|
|
+ } else {
|
|
|
+ console.log("error submit!!");
|
|
|
+ return false;
|
|
|
}
|
|
|
- this.save();
|
|
|
- } else {
|
|
|
- console.log("error submit!!");
|
|
|
- return false;
|
|
|
- }
|
|
|
- });
|
|
|
+ }); //固定
|
|
|
+ } else if (this.form.type === "fixed") {
|
|
|
+ if (!this["form"].thumb) return this.$message.warning("请上传图片");
|
|
|
+ if (this.form.name.trim() === "")
|
|
|
+ return this.$message.warning("标题不能为空");
|
|
|
+ this.save();
|
|
|
+ }
|
|
|
},
|
|
|
async save() {
|
|
|
- let { content, name, startTime, id, endTime, thumb,type } = this.form;
|
|
|
+ let { name, startTime, id, endTime, thumb, type } = this.form;
|
|
|
let data = {
|
|
|
type,
|
|
|
- content,
|
|
|
name,
|
|
|
startTime,
|
|
|
id,
|
|
|
endTime,
|
|
|
thumb,
|
|
|
};
|
|
|
+ data.content = this.editor.txt.html();
|
|
|
let result = await this.$http({
|
|
|
method: "post",
|
|
|
data,
|
|
|
@@ -275,7 +321,33 @@ export default {
|
|
|
watch: {
|
|
|
iframeData: {
|
|
|
handler: function () {
|
|
|
- if(this.iframeData.id) this.form = this.iframeData;
|
|
|
+ this.$nextTick(() => {
|
|
|
+ setTimeout(() => {
|
|
|
+ this.editor = new E("#div2");
|
|
|
+ // 配置字体
|
|
|
+ this.editor.config.fontNames = [
|
|
|
+ "黑体",
|
|
|
+ "仿宋",
|
|
|
+ "楷体",
|
|
|
+ "标楷体",
|
|
|
+ "华文仿宋",
|
|
|
+ "华文楷体",
|
|
|
+ "宋体",
|
|
|
+ "微软雅黑",
|
|
|
+ "Arial",
|
|
|
+ "Tahoma",
|
|
|
+ "Verdana",
|
|
|
+ "Times New Roman",
|
|
|
+ ];
|
|
|
+ this.editor.config.uploadImgShowBase64 = true; //图片地址
|
|
|
+ this.editor.create();
|
|
|
+ this.editor.txt.html(this.iframeData.content);
|
|
|
+ }, 100);
|
|
|
+ });
|
|
|
+
|
|
|
+ if (this.iframeData.id) {
|
|
|
+ this.form = this.iframeData;
|
|
|
+ }
|
|
|
},
|
|
|
deep: true,
|
|
|
immediate: true,
|
|
|
@@ -286,6 +358,15 @@ export default {
|
|
|
</script>
|
|
|
|
|
|
<style lang="less" scoped>
|
|
|
+/deep/.el-upload-list__item-name{
|
|
|
+ display: none !important;
|
|
|
+}
|
|
|
+/deep/.el-upload-list__item-status-label{
|
|
|
+ display: none !important;
|
|
|
+}
|
|
|
+// /deep/.el-icon-close{
|
|
|
+// display: none !important;
|
|
|
+// }
|
|
|
.Root {
|
|
|
width: 100%;
|
|
|
padding: 50px;
|