clay : 流程发起时校验和重新发起时校验

This commit is contained in:
clay 2023-03-24 17:23:14 +08:00
parent 311363703d
commit c57e31fc84
4 changed files with 102 additions and 139 deletions

View File

@ -0,0 +1,96 @@
<template>
<codemirror ref="codeEdit"
:options="cmOptions"
v-model="_value"
@input="inputChange"
class="code"/>
</template>
<script>
import { codemirror } from 'vue-codemirror'
// codemirror/theme/
import "vue-codemirror/node_modules/codemirror/lib/codemirror.css";
import 'vue-codemirror/node_modules/codemirror/theme/idea.css'
import 'vue-codemirror/node_modules/codemirror/theme/duotone-dark.css'
// codemirror/mode/
import "vue-codemirror/node_modules/codemirror/mode/javascript/javascript"; //
import "vue-codemirror/node_modules/codemirror/mode/sql/sql"; //
//
import 'vue-codemirror/node_modules/codemirror/addon/hint/javascript-hint.js';
// import 'vue-codemirror/node_modules/codemirror/addon/hint/show-hint.css';
import 'vue-codemirror/node_modules/codemirror/addon/hint/show-hint.js';
//
import 'vue-codemirror/node_modules/codemirror/addon/fold/foldcode'
import 'vue-codemirror/node_modules/codemirror/addon/fold/foldgutter'
import 'vue-codemirror/node_modules/codemirror/addon/fold/foldgutter.css'
import 'vue-codemirror/node_modules/codemirror/addon/fold/brace-fold'
import 'vue-codemirror/node_modules/codemirror/addon/fold/comment-fold'
import 'vue-codemirror/node_modules/codemirror/addon/fold/xml-fold.js';
import 'vue-codemirror/node_modules/codemirror/addon/fold/indent-fold.js';
import 'vue-codemirror/node_modules/codemirror/addon/fold/markdown-fold.js';
import 'vue-codemirror/node_modules/codemirror/addon/fold/comment-fold.js';
export default {
name: "CodeEdit",
components:{codemirror},
props:{
value:{
type:String,
default:"",
}
},
data(){
return {
code:"",
cmOptions:{
tabSize: 4, // tab
indentUnit: 2,
mode: 'javascript', //
theme: 'idea', //
lineNumbers: true, //
lineWrapping: true,//
styleActiveLine: true, //
highlightSelectionMatches: { showToken: /w/, annotateScrollbar: true }, //
line: true,
matchBrackets: true,
//
showCursorWhenSelecting: false,
hintOptions: {
//
completeSingle: false
},
foldGutter: true, //
extraKeys: { 'Ctrl': 'autocomplete' }, // keyMap
gutters: ['CodeMirror-linenumbers', "lock", "warn"],
},
}
},
computed:{
_value :{
get(){
return this.value;
},
set(val){
this.value = val;
}
}
},
mounted() {
this.$refs.codeEdit.codemirror.on("inputRead",(cm)=>{
cm.showHint();
})
this.$refs.codeEdit.codemirror.on("change", (cm) => {
this._value = cm.getValue()
this.$emit("input",this._value)
})
},
methods:{
}
}
</script>
<style scoped>
</style>

View File

@ -1,77 +0,0 @@
<template>
<div>
12222313
<codemirror :value="item" :options="cmOptions" class="code" ref="myCmGenerate"
@input="changes"></codemirror>
</div>
</template>
<script>
import {codemirror} from 'vue-codemirror'
// codemirror/theme/
import "vue-codemirror/node_modules/codemirror/lib/codemirror.css";
import "vue-codemirror/node_modules/codemirror/lib/codemirror.js";
import 'vue-codemirror/node_modules/codemirror/theme/idea.css'
import 'vue-codemirror/node_modules/codemirror/theme/oceanic-next.css'
// codemirror/mode/
import "vue-codemirror/node_modules/codemirror/mode/javascript/javascript"; //
//
import 'vue-codemirror/node_modules/codemirror/addon/hint/javascript-hint.js';
export default {
components:{codemirror},
data() {
return {
item: '\n' +
' onCmFocus(instance, event) {\n' +
' console.log(instance)\n' +
' console.log(event)\n' +
' },',
foldContent : "46546555656545",
cmOptions:{
mode: 'text/html', //
theme: 'idea', //
lineNumbers: true, //
// lineWrapping: true,
// styleActiveLine: true, //
// highlightSelectionMatches: { showToken: /w/, annotateScrollbar: true }, //
// line: true,
// mode: 'text/x-java',
// gutters: ['CodeMirror-lint-markers'],
// theme: 'codemirror',
// keyMap: 'sublime',
// matchBrackets: true,
// showCursorWhenSelecting: false,
// hintOptions: {
// //
// completeSingle: true
// },
// foldGutter: true, //
extraKeys: { 'Ctrl': 'autocomplete' }, // keyMap
gutters: ['CodeMirror-lint-javascript', 'CodeMirror-foldgutter']
}
}
},
created() {
console.log("rererer")
},
methods: {
onCmFocus(instance, event) {
console.log(instance)
console.log(event)
},
onCmCodeChange(instance, obj) {
console.log(instance)
console.log(obj)
},
changes(){
}
}
}
</script>
<style lang="less" scoped>
.code {
text-align: left;
}
</style>

View File

@ -34,30 +34,14 @@
</div>
</div>
</div>
<div>测试
<!-- <vue-codemirror ref="myCmGenerate" class="code" :value="cmCode" :options="cmOptions" @ready="onCmReady3"/>-->
<Code/>
</div>
<!-- <test type="user" ref="orgPicker" :v-model="select" :value="select" @dengjie="dengjie"-->
<!-- @ok="selected"></test>-->
</div>
</template>
<script>
import axios from "axios";
import Code from "./Code"
export default {
name: "Index",
components: {Code},
data() {
return {
cmCode:"",

View File

@ -62,7 +62,7 @@
</div>
</el-form-item>
<el-form-item label="请求结果处理" prop="text">
<!-- <el-form-item label="请求结果处理" prop="text">-->
<div slot="label">
<span>请求结果处理</span>
<span style="margin-left: 20px">自定义脚本: </span>
@ -81,14 +81,14 @@
<div v-if="config.http.handlerByScript">
<div>
<span>请求成功😀</span>
<codemirror :options="cmOptions" v-model="config.http.success"/>
<code-edit v-model="config.http.success"/>
</div>
<div>
<span>请求失败😥</span>
<el-input type="textarea" v-model="config.http.fail" :rows="3"></el-input>
<code-edit v-model="config.http.fail"/>
</div>
</div>
</el-form-item>
<!-- </el-form-item>-->
</div>
<div v-else-if="config.type === 'EMAIL'">
<el-form-item label="邮件主题" prop="text">
@ -108,18 +108,10 @@
</template>
<script>
import { codemirror } from 'vue-codemirror'
// codemirror/theme/
import "vue-codemirror/node_modules/codemirror/lib/codemirror.css";
import 'vue-codemirror/node_modules/codemirror/theme/idea.css'
// codemirror/mode/
import "vue-codemirror/node_modules/codemirror/mode/javascript/javascript"; //
import CodeEdit from "@/components/common/CodeEdit";
export default {
name: "TriggerNodeConfig",
components: {VueCodemirror},
components: {CodeEdit},
props:{
config:{
type: Object,
@ -135,32 +127,6 @@ export default {
},
data() {
return {
cmOptions:{
tabSize: 4, // tab
indentUnit: 4,
styleActiveLine: true, //
lineNumbers: true, //
styleSelectedText: true,
line: true,
foldGutter: true, //
gutters: ['CodeMirror-linenumbers', "lock", "warn"],
highlightSelectionMatches: { showToken: /w/, annotateScrollbar: true }, //
mode:'javascript',
// hint.js options
hintOptions: {
//
completeSingle: true
},
// sublimeemacsvim
keyMap: 'sublime',
matchBrackets: true,
showCursorWhenSelecting: false,
// scrollbarStyle:null,
// readOnly:true, //
theme: 'material', // material
extraKeys: { 'Ctrl': 'autocomplete' }, // keyMap
lastLineBefore:0
}
}
},
methods: {
@ -175,12 +141,6 @@ export default {
delItem(items, index){
items.splice(index, 1)
},
onCmCodeChange(){
},
onCmReady(){
}
}
}
</script>