ruoyi-muyu-ui/src/components/Encoding/index.vue

112 lines
2.7 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<div style="height: 800px">
<codemirror ref="codeMirror" v-model="code" :value="code" :options="cmOptions" style="height: 800px"/>
</div>
</template>
<script>
import { codemirror } from 'vue-codemirror'
import 'codemirror/mode/clike/clike';
// cm-setting.js
// 组件样式
import 'codemirror/lib/codemirror.css';
// 主题
import 'codemirror/theme/eclipse.css';
// import 'codemirror/theme/monokai.css';
// html代码高亮
import 'codemirror/mode/htmlmixed/htmlmixed.js';
// 语言模式
import 'codemirror/mode/javascript/javascript.js';
import 'codemirror/mode/css/css.js';
import 'codemirror/mode/xml/xml.js';
// 代码展开折叠
import 'codemirror/addon/fold/foldcode.js';
import 'codemirror/addon/fold/foldgutter.js';
import 'codemirror/addon/fold/foldgutter.css';
import 'codemirror/addon/fold/brace-fold.js';
import {updateMaintenance} from "@/api/ruleEngine/maintenance";
export default {
components: {
codemirror,
},
watch:{
'value':{
handler(val) {
this.code = val
},
},
'modification':{
handler(val) {
if (val != null){
console.log(val)
console.log(this.code)
updateMaintenance({id: this.modification,codeText: this.code}).then(res => {
this.$message.success('修改成功')
setTimeout(() => {
this.$router.push({ path: `/ruleEngine/engineMaintenance`});
},100)
})
}
},
}
},
props: {
modification:{
default: null,
type: Number
},
value: {
default: "",
type: String
},
readOnly: {
default: false,
type: Boolean
}
},
name: "Encoding",
data() {
return {
codemirror: null,
code: this.value,
cmOptions: {
autoRefresh: true, // 重点是这句为true
value: '', // 初始内容
mode: 'text/x-java', //实现Java代码高亮
tabSize: 4, // tab的空格宽度
styleActiveLine: true, // 设置光标所在行高亮true/false
lineNumbers: true, //显示行号
theme: 'eclipse', //设置主题cobalt/monokai
// json: true,
readOnly: this.readOnly, // 设置为只读true/false;也可设置为"nocursor"失去焦点
lineWrapping: false,
foldGutter: true,
gutters: [
'CodeMirror-lint-markers', //代码错误检测
'CodeMirror-linenumbers',
'CodeMirror-foldgutter', //展开折叠
],
},
}
},
created() {
},
methods: {}
}
</script>
<style>
.CodeMirror {
font-family: 'JetBrainsMono-Medium', monospace;
height: 800px;
}
.CodeMirror-lines {
line-height: 1.5; /* 这里的1.5是示例表示行间距是字体大小的1.5倍 */
}
</style>