From af1f5e1d049f669b3295e8f357c1be4f6a811b1c Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期五, 19 十一月 2021 15:59:32 +0800
Subject: [PATCH] 使用ace作为脚本编辑器
---
src/views/project/components/ProjectEdit.vue | 42 +++++++++++++++++++++++++++++++++++-------
package.json | 1 +
src/views/project/index.vue | 5 ++++-
3 files changed, 40 insertions(+), 8 deletions(-)
diff --git a/package.json b/package.json
index 7233b96..948ee96 100644
--- a/package.json
+++ b/package.json
@@ -74,6 +74,7 @@
"stylelint-config-recess-order": "^2.5.0",
"svg-sprite-loader": "^6.0.9",
"vue-template-compiler": "^2.6.14",
+ "vue2-ace-editor": "^0.0.15",
"webpackbar": "^4.0.0"
},
"engines": {
diff --git a/src/views/project/components/ProjectEdit.vue b/src/views/project/components/ProjectEdit.vue
index 0d38401..5fe0e68 100644
--- a/src/views/project/components/ProjectEdit.vue
+++ b/src/views/project/components/ProjectEdit.vue
@@ -24,8 +24,7 @@
autocomplete="off"
show-password
>
- ></el-input
- >
+ </el-input>
</el-form-item>
<el-form-item label="椤圭洰鎻忚堪" prop="desc">
<el-input v-model="form.desc"></el-input>
@@ -53,10 +52,28 @@
</el-form>
</el-tab-pane>
<el-tab-pane label="缂栬瘧鑴氭湰" name="build">
- <textarea v-model="form.buildScript" cols="60" rows="10"></textarea>
+ <!-- <textarea v-model="form.buildScript" cols="60" rows="10"></textarea> -->
+ <code-editor
+ v-if="activeName == 'build'"
+ v-model="form.buildScript"
+ lang="sh"
+ theme="chrome"
+ width="500"
+ height="100"
+ @init="editorInit"
+ ></code-editor>
</el-tab-pane>
<el-tab-pane label="鎵撳寘鑴氭湰" name="pack">
- <textarea v-model="form.packScript" cols="60" rows="10"></textarea>
+ <!-- <textarea v-model="form.packScript" cols="60" rows="10"></textarea> -->
+ <code-editor
+ v-if="activeName == 'pack'"
+ v-model="form.packScript"
+ lang="sh"
+ theme="chrome"
+ width="500"
+ height="100"
+ @init="editorInit"
+ ></code-editor>
</el-tab-pane>
</el-tabs>
@@ -69,15 +86,20 @@
<script>
import { doEdit } from "@/api/project";
+import CodeEditor from "vue2-ace-editor";
export default {
name: "ProjectEdit",
+ components: {
+ CodeEditor,
+ },
data() {
return {
activeName: "base",
form: {
- title: "",
- author: "",
+ packScript:
+ "#!/bin/sh\n#鎵撳寘寮�濮嬩細鍦ㄩ」鐩笅鍒涘缓integrate-build鐨勪复鏃舵枃浠跺す\n#鎵撳寘鑴氭湰鎵ц璺緞涓洪」鐩笅鐨刬ntegrate-build鏂囦欢澶瑰唴\n#闇�澶嶅埗涓婄骇鐩綍鐨勭紪璇戝畬鎴愮殑鐩爣鏂囦欢鍒板綋鍓嶄綅缃甛n",
+ buildScript: "#!/bin/sh\n",
},
rules: {
title: [{ required: true, trigger: "blur", message: "璇疯緭鍏ユ爣棰�" }],
@@ -88,9 +110,10 @@
edit: false,
};
},
- created() {},
+ mounted() {},
methods: {
showEdit(row) {
+ this.activeName = "base";
if (!row) {
this.title = "娣诲姞";
this.edit = false;
@@ -126,6 +149,11 @@
handleClick(tab, event) {
// console.log(tab, event)
},
+ editorInit() {
+ require("brace/ext/language_tools"); //language extension prerequsite...
+ require("brace/mode/sh");
+ require("brace/theme/chrome");
+ },
},
};
</script>
diff --git a/src/views/project/index.vue b/src/views/project/index.vue
index 6ebaf36..b016eb0 100644
--- a/src/views/project/index.vue
+++ b/src/views/project/index.vue
@@ -81,7 +81,10 @@
</el-table-column>
<el-table-column width="300">
<template #default="scope">
- <el-button size="small" @click="handlePublish(scope.row)"
+ <el-button
+ v-show="props.row.type == 'os'"
+ size="small"
+ @click="handlePublish(scope.row)"
>鍙戝竷</el-button
>
<el-button size="small" @click="handleDownload(scope.row)"
--
Gitblit v1.8.0