var id = $("#id").val(); const App = { mixins: [sharedMixin],/////共用的方法///// data() { return { blog_id: id, addBlogForm: { title: '', en_title: '', content: '', en_content: '', desc: '', en_desc: '', cover_img: '', }, submitDisabled: false,// 按钮禁用 }; }, mounted() { }, created() { window.getHtmlValue = this.getHtmlValue; if (this.blog_id > 0) { this.getBlogInfo(); } }, methods: { /////获取富文本内容///// getHtmlValue(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; }, /////上传图片之前///// 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; }, /////获取博客信息///// getBlogInfo() { let that = this; let url = "/admin/blog/get_blog_info.html"; postRequest(url, { id: that.blog_id }).then(res => { if (res.data.code == 200) { that.addBlogForm = res.data.data; setTimeout(function () { window.setHtmlValue(res.data.data.content, 1); window.setHtmlValue(res.data.data.en_content, 2); }) } else { that.$message({ message: res.data.message, type: 'error', duration: 1500, center: 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");