const App = { mixins: [sharedMixin],/////共用的方法///// data() { return { addBlogForm: { title: '', en_title: '', content: '', en_content: '', desc: '', en_desc: '', cover_img: '', }, submitDisabled: false,// 按钮禁用 }; }, mounted() { }, created() { window.setHtmlValue = this.setHtmlValue; }, methods: { /////获取富文本内容///// setHtmlValue(value, type = 1) { if (type == 1) { this.addBlogForm.content = value; } else { this.addBlogForm.en_content = value; } }, handleCoverImgSuccess(response, uploadFile) { if (response.code != 200) { this.$message({ message: response.message, type: 'error', duration: 1500, }); return false; } this.addBlogForm.cover_img = response.data.url; // console.log(response,uploadFile); // this.addBlogForm.cover_img = arguments[0].url; }, handleRemove(){}, beforeCoverImgUpload(rawFile) { // console.log(rawFile); if (rawFile.type !== 'image/jpeg') { this.$message({ message: "图片格式错误", type: 'error', duration: 1500, center: true }); return false; } else if (rawFile.size / 1024 / 1024 > 10) { this.$message({ message: "图片大小过大", type: 'error', duration: 1500, center: true }); return false; } return true; }, /////保存///// onSubmit() { var that = this; that.submitDisabled = true; const loading = this.$loading({ lock: true, text: '提交中', spinner: 'el-icon-loading', background: 'rgba(0, 0, 0, 0.2)' }); let url = "/admin/blog/save_blog.html"; postRequest(url, that.addBlogForm).then(res => { loading.close(); if (res.data.code == 200) { that.$message({ message: res.data.message, type: 'success', duration: 1000, center: true, onClose: function () { window.location.href = "/admin/blog/index.html"; } }); } else { that.submitDisabled = false; that.$message({ message: res.data.message, type: 'error', duration: 1500, center: true }); } }); }, } }; const app = Vue.createApp(App); for (const [key, component] of Object.entries(ElementPlusIconsVue)) { app.component(key, component) } app.use(ElementPlus, { locale: ElementPlusLocaleZhCn, }); app.mount("#vue_item");