Commit 240d2544 authored by 黄奎's avatar 黄奎

页面修改

parent 71db10ed
<template>
<div>
<textarea type="text/plain" :id="id"></textarea>
<!-- 选择图片 -->
<el-dialog title="选择文件" :visible.sync="changeState" width="1240px">
<ChooseImg @SelectId="SelectId" :IsMultiple="IsMultiple"></ChooseImg>
</el-dialog>
</div>
</template>
<script>
import ChooseImg from "@/components/global/ChooseImg.vue";
export default {
components: {
ChooseImg
},
name: 'UE',
data() {
return {
id: 'editor' + (Math.floor((Math.random() * 10000) + 1)),
editor: null,
changeState: false,
isInputChange: false,
tempContent: this.defaultMsg
}
},
props: {
defaultMsg: {
type: String
},
config: {
type: Object
},
//是否多选
IsMultiple: {
type: Boolean
}
},
mounted() {
this.loadUe();
},
watch: {
defaultMsg(newVal, oldVal) {
if (!this.isInputChange && newVal) {
if (this.editor && this.editor.isReady === 1) {
this.editor.setContent(newVal);
} else {
this.tempContent = newVal;
}
}
if (this.isInputChange) {
this.isInputChange = false;
}
},
},
methods: {
InitData() {
},
SelectId(resultMsg) {
if (resultMsg) {
let html = '';
this.ue = UE.getEditor(this.id);
if (this.IsMultiple) {
if (resultMsg.length > 0) {
resultMsg.forEach(item => {
html += '<img src="' + this.getIconLink(item.url) + '" style="max-width: 100%;" />';
})
}
} else {
html = '<img src="' + this.getIconLink(resultMsg.url) + '" style="max-width: 100%;" />';
}
this.ue.execCommand('inserthtml', html);
}
this.changeState = false;
},
getUEContent() { // 获取内容方法
if (this.editor) {
return this.editor.getContent();
}
return "";
},
loadUe() {
const _this = this;
UE.registerUI('appinsertimage', (editor, uiName) => {
return new UE.ui.Button({
name: uiName,
title: '插入图片',
//添加额外样式,指定icon图标,这里默认使用一个重复的icon
cssRules: 'background-position: -381px 0px;',
onclick() {
self.editor = editor;
_this.changeState = true;
},
});
});
this.editor = UE.getEditor(this.id, this.config); // 初始化UE
let self = this;
this.editor.addListener("ready", function () {
_this.editor.setContent(_this.defaultMsg); // 确保UE加载完成后,放入内容。
});
this.editor.addListener('ready', editor => {
if (_this.tempContent) {
_this.editor.setContent(_this.tempContent);
}
});
this.editor.addListener('keyup', editor => {
this.isInputChange = true;
_this.$emit('input', _this.editor.getContent());
});
this.editor.addListener('contentChange', editor => {
this.isInputChange = true;
_this.$emit('input', _this.editor.getContent());
});
}
},
destroyed() {
this.editor.destroy();
},
}
</script>
...@@ -33,17 +33,17 @@ ...@@ -33,17 +33,17 @@
</div> </div>
</div> </div>
<div class="diy-component-edit imgVisible" :class="{'visibleA':imageData.isCked}"> <div class="diy-component-edit imgVisible" :class="{'visibleA':imageData.isCked}">
<UE v-model="data.content" :defaultMsg="data.content" :config="config" ref="ue" :IsMultiple="true"></UE> <UE2 v-model="data.content" :defaultMsg="data.content" :config="config" ref="ue" :IsMultiple="true"></UE2>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import UE from '@/components/global/UE.vue' import UE2 from '@/components/global/UE2.vue'
export default { export default {
props: ["imageData", "index", "dataLeng"], props: ["imageData", "index", "dataLeng"],
components: { components: {
UE UE2
}, },
data() { data() {
return { return {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment