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 +++++++++++++++++++++++++++++++++++-------
 1 files changed, 35 insertions(+), 7 deletions(-)

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>

--
Gitblit v1.8.0