Browse Source

富文本编辑器

master
陈裕财 3 years ago
parent
commit
183c7829e4
  1. 11
      src/api/mdp/arc/image.js
  2. 23
      src/components/Tinymce/index.vue
  3. 2
      src/views/xm/core/xmQuestion/XmQuestionEdit.vue

11
src/api/mdp/arc/image.js

@ -31,4 +31,13 @@ export const addImage = params => { return axios.post(`${base}/mdp/arc/image/add
//获取图片分类名 //获取图片分类名
export const listTags = params => { return axios.get(`${base}/mdp/arc/image/listTags`, params); }; export const listTags = params => { return axios.get(`${base}/mdp/arc/image/listTags`, params); };
export const uploadBase64 = params => { return axios.post(`${base}/mdp/arc/image/upload/base64`, params); };
export const uploadBase64 = params => { return axios.post(`${base}/mdp/arc/image/upload/base64`, params); };
export const upload = params=>{
return axios.post(`${base}/mdp/arc/image/upload`, params, {
headers: {
'Content-Type': 'multipart/form-data'
}
})
}

23
src/components/Tinymce/index.vue

@ -32,7 +32,7 @@
<script> <script>
import config from "@/common/config"; //import import config from "@/common/config"; //import
import UploadImage from "@/components/Image/UploadImage"; import UploadImage from "@/components/Image/UploadImage";
import { uploadBase64 } from '@/api/mdp/arc/image';
import { uploadBase64,upload } from '@/api/mdp/arc/image';
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import plugins from "./plugins"; import plugins from "./plugins";
import toolbar from "./toolbar"; import toolbar from "./toolbar";
@ -66,6 +66,7 @@ export default {
var tinymceId="vue-tinymce-" + new Date().getTime() + ((Math.random() * 1000).toFixed(0) + "") var tinymceId="vue-tinymce-" + new Date().getTime() + ((Math.random() * 1000).toFixed(0) + "")
return { return {
uploadAction: config.getArcImagePath()+"/arc/image/upload", uploadAction: config.getArcImagePath()+"/arc/image/upload",
uploadBlogAction: config.getArcImagePath()+"/arc/image/upload/base64",
uploadOptions:{branchId:'',categoryId:'uploadImm',fileName:'',remark:'',deptid:''},// uploadOptions:{branchId:'',categoryId:'uploadImm',fileName:'',remark:'',deptid:''},//
imageList: [], imageList: [],
dialogVisible: false, dialogVisible: false,
@ -156,6 +157,7 @@ export default {
editor.on("FullscreenStateChanged", (e) => { editor.on("FullscreenStateChanged", (e) => {
_this.fullscreen = e.state; _this.fullscreen = e.state;
}); });
/**
editor.addButton('insertImage', { editor.addButton('insertImage', {
text: "插入图片", text: "插入图片",
icon: false, icon: false,
@ -163,6 +165,7 @@ export default {
document.getElementById(_this.tinymceId+"-uploadImageBtn").click(); document.getElementById(_this.tinymceId+"-uploadImageBtn").click();
}, },
}); });
**/
editor.addButton("imageList", { editor.addButton("imageList", {
text: "图片库", text: "图片库",
icon: false, icon: false,
@ -189,17 +192,15 @@ export default {
// }, 0); // }, 0);
// return img // return img
// }, // },
// images_upload_handler(blobInfo, success, failure, progress) {
// const formData = new FormData();
// formData.append('file', blobInfo.blob(), url);
// var params=this.uploadOptions;
// params.storedb="0"
// params.fileData=blobInfo.blob();
// uploadBase64(formData).then((res) => {
// handleConfirm([res.data])
// })
images_upload_handler(blobInfo, success, failure, progress) {
const formData = new FormData();
formData.append('file', blobInfo.blob());
formData.append("categoryId",_this.uploadOptions.categoryId)
upload(formData).then((res) => {
success(res.data.data.url)
})
// },
},
}); });
_this.setContent(_this.value); _this.setContent(_this.value);
}, },

2
src/views/xm/core/xmQuestion/XmQuestionEdit.vue

@ -70,7 +70,7 @@
<el-form-item label="" prop="description" label-width="0px"> <el-form-item label="" prop="description" label-width="0px">
<vue-editor v-if="visible && activateTabPaneName=='12'" class="rich-context" :id="'description_'+editForm.id" :branch-id="userInfo.branchId" v-model="editForm.description"></vue-editor> <vue-editor v-if="visible && activateTabPaneName=='12'" class="rich-context" :id="'description_'+editForm.id" :branch-id="userInfo.branchId" v-model="editForm.description"></vue-editor>
</el-form-item> </el-form-item>
<el-row style="float:right;">
<el-row style="float:right;" v-if="opType!=='add'">
<el-button @click.native="handleCancel">取消</el-button> <el-button @click.native="handleCancel">取消</el-button>
<el-button v-loading="load.edit" v-if="editForm.description!==editFormBak.description" type="primary" @click.native="editXmQuestionSomeFields(editForm,'description',editForm.description)" :disabled="load.edit==true">保存</el-button> <el-button v-loading="load.edit" v-if="editForm.description!==editFormBak.description" type="primary" @click.native="editXmQuestionSomeFields(editForm,'description',editForm.description)" :disabled="load.edit==true">保存</el-button>
</el-row> </el-row>

Loading…
Cancel
Save