From 34299e9fa38f272f85316c33becebe8545c80317 Mon Sep 17 00:00:00 2001 From: yujialong <479214531@qq.com> Date: Fri, 4 Mar 2022 15:24:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=A8=A1=E5=9E=8B=E3=80=81?= =?UTF-8?q?=E6=B8=85=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/codemirror.vue | 127 +++++++++++++++++++++++++++++++--- 1 file changed, 119 insertions(+), 8 deletions(-) diff --git a/src/components/codemirror.vue b/src/components/codemirror.vue index 3d011d4..2769906 100644 --- a/src/components/codemirror.vue +++ b/src/components/codemirror.vue @@ -9,12 +9,24 @@ ref="codemirror" >
- 运行 +
+ 清屏 + 导入模型 + 运行 +

{{ runResult }}

@@ -45,6 +57,22 @@
+ + + + + + + 取消 + 导入 + + @@ -142,7 +170,59 @@ export default { inputTextReg: /^((?!#).*?(,|\(|\[|\{|\s)+)?input(?!\w)\(['|"]([\s\S]+?)['|"]\)/m, // 匹配input() requestList: [], // 有input的情况下,保存每个axios的对象,用于中断请求 sourceCode: '', // 把input替换成exit函数后的代码 - requestTimer: null // 用于中断请求的定时器 + requestTimer: null, // 用于中断请求的定时器 + modelVisible: false, + + modelData: [ + { + id: 1, + label: '品牌一', + children: [ + { + id: 4, + label: '华东区域', + children: [ + { + id: 9, + label: '上海' + }, + { + id: 10, + label: '昆山' + } + ] + } + ] + }, + { + id: 2, + label: '品牌二', + children: [ + { + id: 5, + label: '华东区域' + }, + { + id: 6, + label: '华南区域' + } + ] + }, + { + id: 3, + label: '品牌三', + children: [ + { + id: 7, + label: '华北区域' + }, + { + id: 8, + label: '华南区域' + } + ] + } + ] }; }, components: { @@ -171,6 +251,34 @@ export default { code.showHint() }); }, + // 清屏 + clearCode() { + this.codeVal = '' + this.isError = '' + this.runResult = '' + this.$emit('update:codeId', '') // 更新coddeId + this.$emit('update:answer', '') // 更新运行结果 + this.$emit('update:retResult', '') // 更新返回结果 + }, + // 导入模型 + importModel() { + this.modelVisible = true + }, + // 多选框选择回调 + treeCheckChange(data, checked, indeterminate) { + const checkKey = this.$refs.tree.getCheckedKeys() + // 这里要求单选,所以把多选框改成单选,选择了一个节点后把之前选的都给取消选择,再选中刚勾选的 + if (checkKey.length > 1 && checked) { + this.$refs.tree.setCheckedNodes(checkKey, false) + this.$refs.tree.setChecked(data.id, true) + } + }, + // 导入模型提交 + submit() { + // this.$post(this.api.sourceModelClassification).then(res => { + + // }).catch(res => {}) + }, /** * python代码里如果有input函数的话,是做了单独的处理的,原理是先把所有input函数都替换成exit函数,再在exit函数里加上特定标识,再通过接口传给后端去执行 * 因为exit函数是跟input有类似的效果,就是都会产生阻塞,所以python引擎一旦遇到exit,进程就会被停止,然后返回exit函数里面的值,而这个值,就是上面说的特定标识加上原本这个input函数里的值 @@ -514,11 +622,14 @@ export default { bottom: 0; right: 0; } -.run{ +.btns { z-index:99; position:absolute; right: 50px; bottom:15px; + display: flex; +} +.run{ width:100px; color:#fff; }