zhengnaiwen_citu 3 月之前
父節點
當前提交
2cc8ae4dad

+ 4 - 0
src/api/dataGovernance.js

@@ -132,6 +132,10 @@ const dataModel = {
   // 通过ddl保存模型
   saveModelByDDL: (param) => {
     return http.post('/model/data/model/save', param)
+  },
+  // 通过ddl保存模型
+  savePythonCode: (param) => {
+    return http.post('/model/python', param)
   }
 }
 

+ 13 - 8
src/views/dataGovernance/dataModules/components/edit.vue

@@ -36,10 +36,6 @@
         <v-tabs-items v-model="tab">
           <v-tab-item>
             <div class="box-right-card-content pa-3 d-flex flex-column">
-              <!-- <div class="d-flex">
-                <m-form style="flex: 1" ref="form" :items="formItems"></m-form>
-                <v-btn color="primary" class="ml-3" @click="handleAdd">添加</v-btn>
-              </div> -->
               <v-simple-table
                 ref="table"
                 fixed-header
@@ -133,7 +129,15 @@
             </div>
           </v-tab-item>
           <v-tab-item>
-            <execute-script></execute-script>
+            <div class="pa-3">
+              <v-textarea
+                v-model="code"
+                label="请输入执行代码"
+                outlined
+                rows="10"
+                dense
+              ></v-textarea>
+            </div>
           </v-tab-item>
           <v-tab-item>
             <v-overlay :value="overlay">
@@ -170,7 +174,7 @@
 <script>
 import MCard from '@/components/MCard'
 import DataList from './dataList'
-import ExecuteScript from './executeScript'
+// import ExecuteScript from './executeScript'
 import EditBase from './editBase'
 import MEditTable from '../../components/editTable'
 // import MForm from '@/components/Form/list'
@@ -182,9 +186,9 @@ export default {
     MCard,
     MEditTable,
     EditBase,
-    DataList,
+    DataList
     // MForm,
-    ExecuteScript
+    // ExecuteScript
   },
   props: {
     itemData: {
@@ -194,6 +198,7 @@ export default {
   },
   data () {
     return {
+      code: '',
       // formItems: {
       //   options: [
       //     {

+ 20 - 52
src/views/dataGovernance/dataModules/components/executeScript.vue

@@ -1,13 +1,13 @@
 <template>
   <div class="pa-3">
-    <div class="box d-flex flex-column pt-10">
-      <v-file-input
-        v-model="file"
-        label="导入脚本"
-        prepend-icon=""
+    <div class="box d-flex flex-column">
+      <v-textarea
+        v-model="code"
+        label="请输入执行代码"
         outlined
+        rows="10"
         dense
-      ></v-file-input>
+      ></v-textarea>
       <v-btn
         class="buttons align-self-center"
         rounded
@@ -18,60 +18,33 @@
         <v-icon left>mdi-cloud-upload-outline</v-icon>
         提交
       </v-btn>
-      <v-banner>脚本列表</v-banner>
-      <v-list>
-        <template v-for="(item, index) in items">
-          <v-list-item :key="item.title">
-            <template v-slot:default>
-              <v-list-item-content>
-                <v-list-item-title>{{item.title}}</v-list-item-title>
-                <v-list-item-subtitle>{{ item.subtitle }}</v-list-item-subtitle>
-              </v-list-item-content>
-
-              <v-list-item-action>
-                <v-btn text>查看明细</v-btn>
-              </v-list-item-action>
-            </template>
-          </v-list-item>
-
-          <v-divider
-            v-if="index < items.length - 1"
-            :key="index"
-          ></v-divider>
-        </template>
-      </v-list>
     </div>
   </div>
 </template>
 
 <script>
-
+import { api } from '@/api/dataGovernance'
 export default {
   name: 'execute-script',
   data () {
     return {
-      file: null,
-      loading: false,
-      items: [
-        // {
-        //   action: '15 min',
-        //   headline: 'Brunch this weekend?',
-        //   subtitle: '上传时间:2020-10-10 10:10:10',
-        //   title: 'Ali Connors'
-        // },
-        // {
-        //   action: '2 hr',
-        //   headline: 'Summer BBQ',
-        //   subtitle: '上传时间:2020-10-10 10:10:10',
-        //   title: 'me, Scrott, Jennifer'
-        // }
-      ]
+      code: null,
+      loading: false
     }
   },
   methods: {
-    handleSubmit () {
+    async handleSubmit () {
       this.loading = true
-      this.$emit('submit', this.file)
+      try {
+        await api.savePythonCode({
+          code: this.code
+        })
+        this.$snackbar.success('保存成功')
+      } catch (error) {
+        this.$snackbar.error(error)
+      } finally {
+        this.loading = false
+      }
     }
   }
 
@@ -79,9 +52,4 @@ export default {
 </script>
 
 <style lang="scss" scoped>
-.box {
-  width: 60%;
-  min-width: 800px;
-  margin: 0 auto;
-}
 </style>