正在显示
1 个修改的文件
包含
187 行增加
和
65 行删除
@@ -97,23 +97,24 @@ | @@ -97,23 +97,24 @@ | ||
97 | <!-- 添加,对话框 --> | 97 | <!-- 添加,对话框 --> |
98 | <div> | 98 | <div> |
99 | <el-dialog title="添加ES节点" | 99 | <el-dialog title="添加ES节点" |
100 | - :visible.sync="es_dialog.addDialog" element-loading-text="拼命添加配置中" | 100 | + v-loading="es_loading.addLoading" element-loading-text="正在拼命加载,请稍等" |
101 | + :visible.sync="es_dialog.addDialog" | ||
101 | style="margin-top: -50px" text-align="center" width="50%" | 102 | style="margin-top: -50px" text-align="center" width="50%" |
102 | @close="es_addDialogClosed"> | 103 | @close="es_addDialogClosed"> |
103 | <el-form :inline="true" label-width="130px" status-icon style="margin-top: -10px" align="center" | 104 | <el-form :inline="true" label-width="130px" status-icon style="margin-top: -10px" align="center" |
104 | :model="es_addForm" :rules="es_addFormRules" ref="es_addFormRef"> | 105 | :model="es_addForm" :rules="es_addFormRules" ref="es_addFormRef"> |
105 | - <el-form-item label="集群名称:" prop="clusterName"> | ||
106 | - <el-input v-model="es_addForm.clusterName" style="width:280px" size="small" clearable | ||
107 | - placeholder="请输入集群名称"> | ||
108 | - </el-input> | ||
109 | - </el-form-item> | ||
110 | - <el-form-item label="节点名称:" prop="elasticsearchName"> | ||
111 | - <el-input v-model="es_addForm.elasticsearchName" style="width:280px" size="small" clearable | ||
112 | - placeholder="请输入ES(节点)名称"> | ||
113 | - </el-input> | ||
114 | - </el-form-item> | 106 | + <!-- <el-form-item label="集群名称:" prop="clusterName">--> |
107 | + <!-- <el-input v-model="es_addForm.clusterName" style="width:280px" size="small" clearable--> | ||
108 | + <!-- placeholder="请输入集群名称">--> | ||
109 | + <!-- </el-input>--> | ||
110 | + <!-- </el-form-item>--> | ||
111 | + <!-- <el-form-item label="节点名称:" prop="elasticsearchName">--> | ||
112 | + <!-- <el-input v-model="es_addForm.elasticsearchName" style="width:280px" size="small" clearable--> | ||
113 | + <!-- placeholder="请输入ES(节点)名称">--> | ||
114 | + <!-- </el-input>--> | ||
115 | + <!-- </el-form-item>--> | ||
115 | <el-form-item label="协议:" prop="scheme"> | 116 | <el-form-item label="协议:" prop="scheme"> |
116 | - <el-input v-model="es_addForm.scheme" style="width:280px" size="small" clearable readonly | 117 | + <el-input v-model="es_addForm.scheme" style="width:280px" size="small" clearable |
117 | placeholder="请输入协议名称:http"> | 118 | placeholder="请输入协议名称:http"> |
118 | </el-input> | 119 | </el-input> |
119 | </el-form-item> | 120 | </el-form-item> |
@@ -148,7 +149,7 @@ | @@ -148,7 +149,7 @@ | ||
148 | <el-button type="info" @click="es_dialog.addDialog = false" size="medium" style="width: 100px"> | 149 | <el-button type="info" @click="es_dialog.addDialog = false" size="medium" style="width: 100px"> |
149 | 取消 | 150 | 取消 |
150 | </el-button> | 151 | </el-button> |
151 | - <el-button type="success" @click="es_add_test" size="medium" style="width: 100px"> | 152 | + <el-button type="success" @click="es_add_test" :loading="es_loading.addLoading" size="medium" style="width: 100px"> |
152 | 测试连接 | 153 | 测试连接 |
153 | </el-button> | 154 | </el-button> |
154 | <el-button type="primary" @click="es_add" :loading="es_loading.addLoading" size="medium" style="width: 100px"> | 155 | <el-button type="primary" @click="es_add" :loading="es_loading.addLoading" size="medium" style="width: 100px"> |
@@ -160,7 +161,8 @@ | @@ -160,7 +161,8 @@ | ||
160 | <!-- 编辑,对话框 --> | 161 | <!-- 编辑,对话框 --> |
161 | <div> | 162 | <div> |
162 | <el-dialog title="编辑ES信息" | 163 | <el-dialog title="编辑ES信息" |
163 | - :visible.sync="es_dialog.editDialog" element-loading-text="拼命添加配置中" | 164 | + :visible.sync="es_dialog.editDialog" |
165 | + v-loading="es_loading.editLoading" element-loading-text="正在拼命加载,请稍等" | ||
164 | style="margin-top: -50px" text-align="center" width="50%" | 166 | style="margin-top: -50px" text-align="center" width="50%" |
165 | @close="es_editDialogClosed"> | 167 | @close="es_editDialogClosed"> |
166 | <el-form :inline="true" label-width="130px" status-icon style="margin-top: -10px" align="center" | 168 | <el-form :inline="true" label-width="130px" status-icon style="margin-top: -10px" align="center" |
@@ -211,6 +213,9 @@ | @@ -211,6 +213,9 @@ | ||
211 | <el-button type="info" @click="es_dialog.editDialog = false" size="medium" style="width: 100px"> | 213 | <el-button type="info" @click="es_dialog.editDialog = false" size="medium" style="width: 100px"> |
212 | 取消 | 214 | 取消 |
213 | </el-button> | 215 | </el-button> |
216 | + <el-button type="success" @click="es_edit_test" :loading="es_loading.editLoading" size="medium" style="width: 100px"> | ||
217 | + 测试连接 | ||
218 | + </el-button> | ||
214 | <el-button type="primary" @click="es_edit" :loading="es_loading.editLoading" size="medium" style="width: 100px"> | 219 | <el-button type="primary" @click="es_edit" :loading="es_loading.editLoading" size="medium" style="width: 100px"> |
215 | 编辑 | 220 | 编辑 |
216 | </el-button> | 221 | </el-button> |
@@ -396,6 +401,7 @@ | @@ -396,6 +401,7 @@ | ||
396 | this.es_page.esList = res.data.list; | 401 | this.es_page.esList = res.data.list; |
397 | this.es_page.total = res.data.total; | 402 | this.es_page.total = res.data.total; |
398 | this.es_loading.listLoading = false; | 403 | this.es_loading.listLoading = false; |
404 | + this.es_viewStatus(); | ||
399 | }).catch(error => { | 405 | }).catch(error => { |
400 | this.es_loading.listLoading = false; | 406 | this.es_loading.listLoading = false; |
401 | this.$message.error(error.toString()); | 407 | this.$message.error(error.toString()); |
@@ -457,6 +463,7 @@ | @@ -457,6 +463,7 @@ | ||
457 | es_add_test() { | 463 | es_add_test() { |
458 | this.$refs.es_addFormRef.validate(valid => { | 464 | this.$refs.es_addFormRef.validate(valid => { |
459 | if (!valid) return; | 465 | if (!valid) return; |
466 | + | ||
460 | let scheme = this.es_addForm.scheme; | 467 | let scheme = this.es_addForm.scheme; |
461 | let hostname = this.es_addForm.hostname; | 468 | let hostname = this.es_addForm.hostname; |
462 | let port = this.es_addForm.port; | 469 | let port = this.es_addForm.port; |
@@ -468,9 +475,27 @@ | @@ -468,9 +475,27 @@ | ||
468 | type: 'warning' | 475 | type: 'warning' |
469 | } | 476 | } |
470 | ).then(() => { | 477 | ).then(() => { |
471 | - window.open(url, '_blank') | 478 | + this.es_loading.addLoading = true; |
479 | + fetch(url, { | ||
480 | + method: 'get', | ||
481 | + timeout: 2000, | ||
482 | + headers: { | ||
483 | + 'Content-type': 'application/json;charset=UTF-8', | ||
484 | + } | ||
485 | + }).then((response) => { | ||
486 | + if (response.status === 200) { | ||
487 | + this.es_loading.addLoading = false; | ||
488 | + this.$message.success("测试ES连接:通过!!!"); | ||
489 | + window.open(url, '_blank') | ||
490 | + } else { | ||
491 | + this.$message.error("测试ES连接:失败!请仔细检查ES信息"); | ||
492 | + this.es_loading.addLoading = false; | ||
493 | + } | ||
494 | + }).catch(error => { | ||
495 | + this.$message.error("测试ES连接:失败!请仔细检查ES信息"); | ||
496 | + this.es_loading.addLoading = false; | ||
497 | + }); | ||
472 | }); | 498 | }); |
473 | - | ||
474 | }); | 499 | }); |
475 | }, | 500 | }, |
476 | /** | 501 | /** |
@@ -486,48 +511,43 @@ | @@ -486,48 +511,43 @@ | ||
486 | let port = this.es_addForm.port; | 511 | let port = this.es_addForm.port; |
487 | let url = scheme + "://" + hostname + ":" + port; | 512 | let url = scheme + "://" + hostname + ":" + port; |
488 | 513 | ||
489 | - // 'Access-Control-Allow-Headers': 'content-type,token,id', | ||
490 | - // 'Access-Control-Request-Headers': 'Origin, X-Requested-With, content-Type, Accept, Authorization', | ||
491 | - // 'Content-type': 'application/json;charset=UTF-8', | ||
492 | - // this.$axios.get(url, { | ||
493 | - // headers: { | ||
494 | - // 'Access-Control-Allow-Origin': '*' | ||
495 | - // } | ||
496 | - // }).then( | ||
497 | - // (response) => { | ||
498 | - // console.log(response); | ||
499 | - // } | ||
500 | - // ).catch(error => { | ||
501 | - // this.$message.error(error.toString()); | ||
502 | - // this.es_loading.addLoading = false; | ||
503 | - // } | ||
504 | - // ); | ||
505 | - | ||
506 | - | ||
507 | - http.get(url).then((response) => { | ||
508 | - console.log(response); | 514 | + fetch(url, { |
515 | + method: 'get', | ||
516 | + headers: { | ||
517 | + 'Content-type': 'application/json;charset=UTF-8', | ||
518 | + } | ||
519 | + }).then((response) => { | ||
520 | + return response.json(); | ||
521 | + }).then((data) => { | ||
522 | + this.es_addForm.clusterName = data.cluster_name; | ||
523 | + this.es_addForm.elasticsearchName = data.name; | ||
524 | + this.addESInfo(); | ||
525 | + this.es_loading.addLoading = false; | ||
509 | }).catch(error => { | 526 | }).catch(error => { |
510 | - this.$message.error(error.toString()); | 527 | + this.$message.error("请您务必先测试ES连接!!!"); |
511 | this.es_loading.addLoading = false; | 528 | this.es_loading.addLoading = false; |
512 | }); | 529 | }); |
513 | - | ||
514 | - | ||
515 | - // insertElasticSearchInfo(this.es_addForm).then((response) => { | ||
516 | - // let res = response.data; | ||
517 | - // if (res.code !== '200') { | ||
518 | - // this.es_loading.addLoading = false; | ||
519 | - // return this.$message.error(res.msg); | ||
520 | - // } | ||
521 | - // this.es_loading.addLoading = false; | ||
522 | - // this.es_dialog.addDialog = false; | ||
523 | - // this.es_getList(); | ||
524 | - // }).catch(error => { | ||
525 | - // this.es_loading.addLoading = false; | ||
526 | - // this.$message.error(error.toString()); | ||
527 | - // }); | ||
528 | } | 530 | } |
529 | ) | 531 | ) |
530 | }, | 532 | }, |
533 | + /** | ||
534 | + * 增加ES信息至后台 | ||
535 | + */ | ||
536 | + addESInfo() { | ||
537 | + insertElasticSearchInfo(this.es_addForm).then((response) => { | ||
538 | + let res = response.data; | ||
539 | + if (res.code !== '200') { | ||
540 | + this.es_loading.addLoading = false; | ||
541 | + return this.$message.error(res.msg); | ||
542 | + } | ||
543 | + this.es_loading.addLoading = false; | ||
544 | + this.es_dialog.addDialog = false; | ||
545 | + this.es_getList(); | ||
546 | + }).catch(error => { | ||
547 | + this.es_loading.addLoading = false; | ||
548 | + this.$message.error(error.toString()); | ||
549 | + }); | ||
550 | + }, | ||
531 | 551 | ||
532 | /** | 552 | /** |
533 | * 删除 | 553 | * 删除 |
@@ -575,33 +595,135 @@ | @@ -575,33 +595,135 @@ | ||
575 | this.$refs.es_editFormRef.resetFields(); | 595 | this.$refs.es_editFormRef.resetFields(); |
576 | }, | 596 | }, |
577 | 597 | ||
598 | + /** | ||
599 | + * 编辑事件之测试连接 | ||
600 | + */ | ||
601 | + es_edit_test() { | ||
602 | + this.$refs.es_editFormRef.validate(valid => { | ||
603 | + if (!valid) return; | ||
604 | + let scheme = this.es_editForm.scheme; | ||
605 | + let hostname = this.es_editForm.hostname; | ||
606 | + let port = this.es_editForm.port; | ||
607 | + let url = scheme + "://" + hostname + ":" + port; | ||
608 | + | ||
609 | + this.$confirm('测试ES信息,是否可用?', '警告', { | ||
610 | + confirmButtonText: '继续', | ||
611 | + cancelButtonText: '取消', | ||
612 | + type: 'warning' | ||
613 | + } | ||
614 | + ).then(() => { | ||
615 | + this.es_loading.editLoading = true; | ||
616 | + fetch(url, { | ||
617 | + method: 'get', | ||
618 | + timeout: 2000, | ||
619 | + headers: { | ||
620 | + 'Content-type': 'application/json;charset=UTF-8', | ||
621 | + } | ||
622 | + }).then((response) => { | ||
623 | + if (response.status === 200) { | ||
624 | + this.es_loading.editLoading = false; | ||
625 | + this.$message.success("测试ES连接:通过!!!"); | ||
626 | + // window.open(url, '_blank') | ||
627 | + } else { | ||
628 | + this.es_loading.editLoading = false; | ||
629 | + this.$message.error("测试ES连接:失败!请仔细检查ES信息"); | ||
630 | + } | ||
631 | + }).catch(error => { | ||
632 | + this.es_loading.editLoading = false; | ||
633 | + this.$message.error("测试ES连接:失败!请仔细检查ES信息"); | ||
634 | + }); | ||
635 | + }); | ||
636 | + }); | ||
637 | + }, | ||
638 | + /** | ||
639 | + * ES信息,编辑事件 | ||
640 | + */ | ||
578 | es_edit() { | 641 | es_edit() { |
579 | this.$refs.es_editFormRef.validate(valid => { | 642 | this.$refs.es_editFormRef.validate(valid => { |
580 | if (!valid) return; | 643 | if (!valid) return; |
581 | this.es_loading.editLoading = true; | 644 | this.es_loading.editLoading = true; |
582 | - updateElasticSearchInfo(this.es_editForm).then((response) => { | ||
583 | - let res = response.data; | ||
584 | - if (res.code !== '200') { | 645 | + |
646 | + let scheme = this.es_editForm.scheme; | ||
647 | + let hostname = this.es_editForm.hostname; | ||
648 | + let port = this.es_editForm.port; | ||
649 | + let url = scheme + "://" + hostname + ":" + port; | ||
650 | + | ||
651 | + fetch(url, { | ||
652 | + method: 'get', | ||
653 | + timeout: 2000, | ||
654 | + headers: { | ||
655 | + 'Content-type': 'application/json;charset=UTF-8', | ||
656 | + } | ||
657 | + }).then((response) => { | ||
658 | + if (response.status === 200) { | ||
659 | + this.editESInfo(); | ||
585 | this.es_loading.editLoading = false; | 660 | this.es_loading.editLoading = false; |
586 | - return this.$message.error(res.msg); | 661 | + } else { |
662 | + this.es_loading.editLoading = false; | ||
663 | + this.$message.error("请仔细检查ES信息,请务必进行ES连接测试!"); | ||
587 | } | 664 | } |
588 | - this.es_loading.editLoading = false; | ||
589 | - this.$message.success(res.msg); | ||
590 | - this.es_dialog.editDialog = false; | ||
591 | - this.es_getList(); | ||
592 | }).catch(error => { | 665 | }).catch(error => { |
593 | this.es_loading.editLoading = false; | 666 | this.es_loading.editLoading = false; |
594 | - this.$message.error(error.toString()); | 667 | + this.$message.error("请仔细检查ES信息,请务必进行ES连接测试!"); |
595 | }); | 668 | }); |
596 | - }) | ||
597 | - } | 669 | + }); |
670 | + }, | ||
671 | + /** | ||
672 | + * 编辑ES信息至后台 | ||
673 | + */ | ||
674 | + editESInfo() { | ||
675 | + updateElasticSearchInfo(this.es_editForm).then((response) => { | ||
676 | + let res = response.data; | ||
677 | + if (res.code !== '200') { | ||
678 | + this.es_loading.editLoading = false; | ||
679 | + return this.$message.error(res.msg); | ||
680 | + } | ||
681 | + this.$message.success(res.msg); | ||
682 | + this.es_dialog.editDialog = false; | ||
683 | + this.es_getList(); | ||
684 | + }).catch(error => { | ||
685 | + this.es_loading.editLoading = false; | ||
686 | + this.$message.error(error.toString()); | ||
687 | + }); | ||
688 | + }, | ||
689 | + /** | ||
690 | + * 监控es信息的状态 | ||
691 | + */ | ||
692 | + es_viewStatus() { | ||
693 | + if (this.es_page.esList !== null) { | ||
694 | + this.es_page.esList.forEach((item) => { | ||
695 | + let scheme = item.scheme; | ||
696 | + let hostname = item.hostname; | ||
697 | + let port = item.port; | ||
698 | + let url = scheme + "://" + hostname + ":" + port; | ||
699 | + fetch(url, { | ||
700 | + method: 'get', | ||
701 | + timeout: 3000, | ||
702 | + headers: { | ||
703 | + 'Content-type': 'application/json;charset=UTF-8', | ||
704 | + } | ||
705 | + }).then((response) => { | ||
706 | + if (response.status === 200) { | ||
707 | + item.elasticsearchState = true; | ||
708 | + } else { | ||
709 | + item.elasticsearchState = false; | ||
710 | + } | ||
711 | + }).catch(error => { | ||
712 | + item.elasticsearchState = false; | ||
713 | + }); | ||
714 | + }) | ||
715 | + } | ||
716 | + }, | ||
598 | }, | 717 | }, |
599 | created() { | 718 | created() { |
600 | 719 | ||
601 | }, | 720 | }, |
602 | mounted() { | 721 | mounted() { |
603 | - | ||
604 | - } | 722 | + this.timer = setInterval(this.es_viewStatus, 5000); |
723 | + }, | ||
724 | + beforeDestroy() { | ||
725 | + clearInterval(this.timer); | ||
726 | + }, | ||
605 | } | 727 | } |
606 | </script> | 728 | </script> |
607 | 729 |
-
请 注册 或 登录 后发表评论