reedliuqing_i 6 年之前
父節點
當前提交
9c05e2b2e2
共有 4 個文件被更改,包括 91 次插入7 次删除
  1. 3 1
      src/layout/components/Sidebar/index.vue
  2. 6 0
      src/router/index.js
  3. 33 6
      src/views/data/index.vue
  4. 49 0
      src/views/data/upload.vue

+ 3 - 1
src/layout/components/Sidebar/index.vue

@@ -19,6 +19,7 @@
             <i class="el-icon-menu" />
             <span slot="title" @mouseover="getGlobalInterface">数据中心</span>
           </template>
+          <el-menu-item index="101">jar包上传</el-menu-item>
           <el-submenu v-for="(myMenu,index) in menu" :key="myMenu.menuName" :index="'100-' + index">
             <template slot="title">{{ myMenu.menuName }}</template>
             <el-menu-item v-for="(subMenu,index2) in myMenu.subMenus" :key="subMenu.path" :index="'100-' + index + '-' + index2" @click="handleClick(subMenu)">{{ subMenu.subMenuName }}</el-menu-item>
@@ -71,7 +72,8 @@ export default {
   methods: {
     handleSelect(key, keypath) {
       switch (key) {
-        case '100':
+        case '101':
+          this.$router.push({ name: 'jar包上传' })
           break
       }
     },

+ 6 - 0
src/router/index.js

@@ -172,6 +172,12 @@ export const constantRoutes = [
     hidden: true,
     meta: { title: '数据中心', icon: 'examlpe' },
     children: [
+      {
+        path: 'uploadFile',
+        name: 'jar包上传',
+        component: () => import('@/views/data/upload.vue'),
+        meta: { title: 'jar包上传', icon: 'examlpe' }
+      },
       {
         path: 'item',
         name: '动态数据',

+ 33 - 6
src/views/data/index.vue

@@ -4,10 +4,10 @@
       <div slot="header">
         <span>{{ subMenu.subMenuName }}</span>
       </div>
-      <el-form label-width="80px" wid>
-        <el-form-item v-for="(item,index) in subMenu.widgets" :key="index" :label="item.name">
-          <el-input v-if="item.widgetType === 'INPUT'" v-model="data[item.name]" :place-holder="item.placeHolder" />
-          <el-select v-if="item.widgetType === 'SELECT'" v-model="data[item.name]" :place-holder="item.placeHolder">
+      <el-form label-width="120px" :rules="rules">
+        <el-form-item v-for="(item,index) in subMenu.widgets" :key="index" :label="item.label" :prop="item.name">
+          <el-input v-if="item.widgetType === 'INPUT'" v-model="data[item.name]" :placeholder="item.placeHolder" />
+          <el-select v-if="item.widgetType === 'SELECT'" v-model="data[item.name]" :placeholder="item.placeHolder">
             <el-option
               v-for="option in item.options"
               :key="option.value"
@@ -51,8 +51,8 @@ export default {
   name: 'DataCenter',
   data() {
     return {
-      data: {
-      },
+      rules: {},
+      data: {},
       result: null
     }
   },
@@ -64,10 +64,37 @@ export default {
   watch: {
     subMenu(newValue, oldValue) {
       this.data = {}
+      this.result = ''
+      // this.rules = {}
+      // for (var i in newValue.widgets) {
+      //   console.log(i)
+      //   if (newValue.widgets[i].widgetType === 'INPUT') {
+      //     this.rules[newValue.widgets[i].name] = [{ required: true, message: '请输入' + newValue.widgets[i].label, trigger: 'blur' }]
+      //   } else if (newValue.widgets[i].widgetType === 'SELECT') {
+      //     this.rules[newValue.widgets[i].name] = [{ required: true, message: '请选择' + newValue.widgets[i].label, trigger: 'change' }]
+      //   }
+      // }
+      // console.log(this.rules)
     }
   },
   methods: {
     postForm() {
+      if (JSON.stringify(this.data) === '{}') {
+        this.$message.warning('参数不能为空')
+        return
+      }
+      var arr = []
+      for (const i in this.data) {
+        if (this.data[i] === null || this.data[i] === '') {
+          this.$message.warning('参数不能为空')
+          return
+        }
+        arr.push(i)
+      }
+      if (arr.length < this.subMenu.widgets.length) {
+        this.$message.warning('参数不能为空')
+        return
+      }
       postForm(this.subMenu.path, this.data)
         .then(res => {
           this.result = res.result

+ 49 - 0
src/views/data/upload.vue

@@ -0,0 +1,49 @@
+<template>
+  <div>
+    <el-card shadow>
+      <div slot="header">
+        <span>jar包上传</span>
+      </div>
+      <el-upload
+        ref="upload"
+        action="http://10.179.17.100:10086/uploadFile"
+        name="file"
+        :on-preview="handlePreview"
+        :on-remove="handleRemove"
+        :file-list="fileList"
+        :auto-upload="false"
+      >
+        <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
+        <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button>
+        <div slot="tip" class="el-upload__tip">只能上传jar文件</div>
+      </el-upload>
+    </el-card>
+  </div>
+</template>
+
+<style scoped>
+.el-card {
+  margin: 2%;
+}
+</style>
+
+<script>
+export default {
+  data() {
+    return {
+      fileList: []
+    }
+  },
+  methods: {
+    submitUpload() {
+      this.$refs.upload.submit()
+    },
+    handleRemove(file, fileList) {
+      console.log(file, fileList)
+    },
+    handlePreview(file) {
+      console.log(file)
+    }
+  }
+}
+</script>