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;
}