0.0.2 • Published 3 years ago

enniot-docker-manage v0.0.2

Weekly downloads
6
License
ISC
Repository
-
Last release
3 years ago

目录结构

── enniot-docker-manage
    ├── DockerManage.vue
    ├── README.md
    ├── DockerManageInfo.json
    └── package.json

Props

参数说明类型可选值默认值
ref用于父组件调用子组件的变量和方法stringdockerFormdockerForm
schema规定 form 格式的 json 文件json
data用于将后台读取的数据填入 form 组件;以及获取 form 中数据,并将这些数据打包作为参数提交。object

Data

参数说明类型可选值默认值
enable启动 Docker 管理器Booleantrue/false
versionDocker 版本string
username用户名string
password新密码(若有则会重置密码,否则不重置)string
new_password当前密码(数据库密码登陆失败的时候,需要用户重新传入登录密码)string
port端口号int

Usage

<template>
  <el-row
    :gutter="20"
    class="page-box"
  >
    <el-col>
      <Breadcrumb
        :breadcrumbs="[
          {
            label: 'docker 管理',
          },
        ]"
      />
    </el-col>
    <el-col>
      <el-card
        ref="dockerLoading"
        v-loading="loading"
        class="grid-card"
      >
        <DockerForm
          ref="dockerForm"
          :data="dockerForm"
          style="width: 60%"
        />
        <div style="margin-bottom: 20px">
          <el-link
            type="primary"
            @click="routerURL()"
          >
            进入Docker管理页面
          </el-link>
        </div>
        <el-button
          type="primary"
          @click="onSubmit()"
        >
          提交
        </el-button>
        <el-button @click="resetForm()">
          重置
        </el-button>
      </el-card>
    </el-col>
  </el-row>
</template>

<script>
import Breadcrumb from '@/component/breadcrumb.vue';
import baseUrl from '@/service/api';
import DockerForm from '@/views/components/container/DockerManage.vue';

export default {
  components: {
    Breadcrumb,
    DockerForm,
  },
  data() {
    return {
      loading: false,
      router_port: 10000,
      dockerForm: {
        port: 10000,
      },
    };
  },
  async created() {
    await this.resetForm();
  },
  methods: {
    async onSubmit() {
      const isValid = await this.$refs.dockerForm.validate();
      if (isValid) {
        if (!_.has(this.dockerForm, 'password')) {
          this.dockerForm.password = '';
        }
        if (!_.has(this.dockerForm, 'new_password')) {
          this.dockerForm.new_password = '';
        }
        const dockerSubmitForm = _.omit(this.dockerForm, ['version', 'username', 'id']);
        await this.$api.post(`${baseUrl}/api/docker-management`, dockerSubmitForm, { target: this.$refs.networkTab });
        await this.resetForm();
      }
    },
    async resetForm() {
      const res = await this.$api.get(`${baseUrl}/api/docker-management`);
      this.dockerForm = res;
    },
    routerURL() {
      window.open(`url${this.dockerForm.port}`);
    },
  },
};
</script>