diff --git a/.vscode/settings.json b/.vscode/settings.json index 29a7e571a7b00dece05b6991a16bf42c5100aba6..2c0882957ae57ac55273edbd87c616145a49b0f2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -13,5 +13,6 @@ "editor.formatOnSave": true, "[vue]": { "editor.defaultFormatter": "esbenp.prettier-vscode" - } + }, + "vue.codeActions.enabled": false } diff --git a/package.json b/package.json index 39ac5520e96aa7d820f73266b7d789b73be9d5c9..af9316dcb9102f2f4437665592a02f0d21de4db2 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "element-plus": "^2.2.19", "github-markdown-css": "^5.1.0", "html2canvas": "^1.4.1", + "install": "^0.13.0", "lodash": "^4.17.21", "markdown-it": "^13.0.1", "mavon-editor": "^3.0.1", @@ -36,4 +37,4 @@ "@vue/compiler-sfc": "^3.2.31", "vite": "^3.0.0" } -} \ No newline at end of file +} diff --git "a/public/\344\270\273\346\234\272IP\346\250\241\346\235\277.xlsx" "b/public/\344\270\273\346\234\272IP\346\250\241\346\235\277.xlsx" new file mode 100644 index 0000000000000000000000000000000000000000..9529eba1dab55c6c1784d7bfac9c2ab840951c4a Binary files /dev/null and "b/public/\344\270\273\346\234\272IP\346\250\241\346\235\277.xlsx" differ diff --git a/src/bg-ui/bg-inner-tabs.vue b/src/bg-ui/bg-inner-tabs.vue index 886c58590078bea38148841e84dd7f77c6e03d0c..7aae8103bb0dee55c152e0e95c662f60ccf732b6 100644 --- a/src/bg-ui/bg-inner-tabs.vue +++ b/src/bg-ui/bg-inner-tabs.vue @@ -12,7 +12,7 @@ diff --git a/src/bg-ui/bg-table.vue b/src/bg-ui/bg-table.vue index 7a2e56395c26a9d1dd7160382bd7c64ab494d5ea..69161f9e0906123afe4620f582e8f780050f08c9 100644 --- a/src/bg-ui/bg-table.vue +++ b/src/bg-ui/bg-table.vue @@ -1,6 +1,5 @@ - 暂无数据 + {{ emptyText }} @@ -57,10 +56,6 @@ const { nowSelectData, allSelectData, initAllSelectData, selectData, initSelectT selectTableMixin(); const props = defineProps({ - height: { - type: [Number, String], - default: "auto", - }, headers: { type: Array, require: true, @@ -81,6 +76,10 @@ const props = defineProps({ type: String, default: "序号", }, + emptyText: { + type: String, + default: "暂无数据", + }, stripe: { type: Boolean, default: false, diff --git a/src/bg-ui/bg-upload.vue b/src/bg-ui/bg-upload.vue index 8e7ecea50112e27541b182d59584aa79a9fe4238..6f48fa516bdc0949fd39393ef8b8920c65017737 100644 --- a/src/bg-ui/bg-upload.vue +++ b/src/bg-ui/bg-upload.vue @@ -6,6 +6,8 @@ directory: 'file', uniqueCode: false, }" + :limit="limit" + :http-request="httpRequest" :before-upload="handleBeforeUpload" :on-exceed="handleExceed" :on-success="handleSuccess" @@ -95,6 +97,9 @@ const props = defineProps({ type: String, default: "", }, + httpRequest: { + type: Function, + }, limit: { type: Number, default: 9999, @@ -123,10 +128,6 @@ watch( } ); const handleBeforeUpload = (file) => { - if (state.fileList && state.fileList.length >= props.limit) { - ElMessage.error(`只允许上传${props.limit}个文件`); - return false; - } let temp = file.name.split("."); let type = temp[temp.length - 1].toLocaleLowerCase(); let fileTypesOk = props.fileTypes.indexOf(type) > -1 || props.fileTypes.length == 0; @@ -143,7 +144,7 @@ const handleBeforeUpload = (file) => { return fileTypesOk && fileMaxSizeOk; }; const handleExceed = (file, fileList) => { - console.log(file, fileList); + ElMessage.error(`只允许上传${props.limit}个文件`); }; const handlePreview = (val) => { let a = document.createElement("a"); // 生成一个a元素 diff --git a/src/components/edit-table.vue b/src/components/edit-table.vue index e2b8dd63ab90e2e51491bdd8c4d94fecbbea7f99..9988f7cf4459aada95bf2fde53917fb3b11da041 100644 --- a/src/components/edit-table.vue +++ b/src/components/edit-table.vue @@ -1,101 +1,98 @@ - - - - - - - - - - {{it.value}} - {{scope.row[it.value]}} - {{it.value}} - - - - - + + + + + + + + + + {{ it.value }} + {{ scope.row[it.value] }} + {{ it.value }} + + + + + diff --git a/src/main.js b/src/main.js index cc00e8aac2c7031a7d14eb132ff9cf08e39bcff7..7c8289202ef595f49281cb18991be8a4c3c06702 100644 --- a/src/main.js +++ b/src/main.js @@ -30,7 +30,7 @@ import store from "@/store"; import i18n from "./i18n/i18n.js"; import axios from "./request/http.js"; - +import api from "./request/api.js"; import config from "../package.json"; import { menuData } from "@/components/menu.js"; @@ -61,6 +61,7 @@ for (const [key, component] of Object.entries(ElementPlusIconsVue)) { } createVue.config.globalProperties.$axios = axios; +createVue.config.globalProperties.$api = api; import menu from "./router/function.js"; diff --git a/src/page/main/auto-maintenance/host-manage/add/index.vue b/src/page/main/auto-maintenance/host-manage/add/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..0a3725d2440dd7f0a3c84744314c18677e16d38e --- /dev/null +++ b/src/page/main/auto-maintenance/host-manage/add/index.vue @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + 上传文件 + + 模版下载:IP主机模板 + + + + 将文件拖到此处,或 点击上传 + 支持上传一个后缀为.xlsx或.xls的文件,文件大小不超过20M,最多解析1000个IP + + + + + 取消 + 保存 + + + + + + + + + diff --git a/src/page/main/auto-maintenance/host-manage/components/check-status-dialog.vue b/src/page/main/auto-maintenance/host-manage/components/check-status-dialog.vue new file mode 100644 index 0000000000000000000000000000000000000000..711beda3b6c0963610dbca2055f1898681bda6ea --- /dev/null +++ b/src/page/main/auto-maintenance/host-manage/components/check-status-dialog.vue @@ -0,0 +1,343 @@ + + + + 主机分组名称:{{ props.checkStatusData.host_name }} + + + {{ getText(stateValue) }} + + + + 异常状态列表 + + 导出 + + + + + + + {{ row.voucher_type == 0 ? "密码验证" : "密钥验证" }} + + + + + + + + + + + {{ props.enter == 0 ? "关闭" : "取消" }} + 剔除异常数据并保存 + + + + + + + + + + diff --git a/src/page/main/auto-maintenance/host-manage/components/list-table.vue b/src/page/main/auto-maintenance/host-manage/components/list-table.vue new file mode 100644 index 0000000000000000000000000000000000000000..64398335eb1ca6fc102aa61363659c4810032297 --- /dev/null +++ b/src/page/main/auto-maintenance/host-manage/components/list-table.vue @@ -0,0 +1,290 @@ + + + + + + + + + + + + + + + + changeType(val, row)" v-model="row.voucher_type" placeholder="请选择凭证类型"> + + + + + + + + + + + + + + + + + + + + 新增 + + + 删除 + + + + + + + + + diff --git a/src/page/main/auto-maintenance/host-manage/detail/index.vue b/src/page/main/auto-maintenance/host-manage/detail/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..adeae81de65ec119bd8d1b20335a96ab381b849e --- /dev/null +++ b/src/page/main/auto-maintenance/host-manage/detail/index.vue @@ -0,0 +1,234 @@ + + + + + + + + + + + + + + + + + + + + + {{ downloadFileFormat(fileUrl) }} + + + + + + + + + + + + + + + + + + + diff --git a/src/page/main/auto-maintenance/host-manage/index.vue b/src/page/main/auto-maintenance/host-manage/index.vue index daa286274f40856b41ae44ef5622dfaf1153ed59..5b58564416ef372e0c2f93ab91f9a94f5c7bc6c7 100644 --- a/src/page/main/auto-maintenance/host-manage/index.vue +++ b/src/page/main/auto-maintenance/host-manage/index.vue @@ -5,7 +5,7 @@ - + 新增 @@ -22,8 +22,8 @@ 创建时间 @@ -45,136 +45,72 @@ :isIndex="true" :select="true" :stripe="true"> - - - {{ row.name }} + + + {{ row.host_name }} - - {{ row.name }}/{{ row.name }} + + {{ row.ip_cnt_err }}/{{ row.ip_cnt }} - - {{ row.updated_time.split("+")[0].replace("T", " ").replace("Z", " ") }} + + {{ row.create_time.split("+")[0].replace("T", " ").replace("Z", " ") }} 编辑 状态检测 - 导出异常 - 删除 + 导出异常 + 删除 - - - - +