index.blade.php 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. @extends('layouts.base')
  2. @section('title', trans('数据库管理'))
  3. @section('content')
  4. <style>
  5. .panel{
  6. margin-bottom:10px!important;
  7. border-radius: 10px;
  8. padding-left: 20px;
  9. }
  10. .panel .active a {
  11. background-color: #29ba9c!important;
  12. border-radius: 18px!important;
  13. color:#fff;
  14. }
  15. .panel a{
  16. border:none!important;
  17. background-color:#fff!important;
  18. }
  19. .content{
  20. background: #eff3f6;
  21. padding: 10px!important;
  22. }
  23. .con{
  24. padding-bottom:20px;
  25. position:relative;
  26. border-radius: 8px;
  27. min-height:100vh;
  28. background-color:#fff;
  29. }
  30. .con .setting .block{
  31. padding:10px;
  32. background-color:#fff;
  33. border-radius: 8px;
  34. margin-bottom:10px;
  35. }
  36. .con .setting .block .title{
  37. font-size:18px;
  38. margin-bottom:32px;
  39. display:flex;
  40. align-items:center;
  41. justify-content:space-between;
  42. }
  43. b{
  44. font-size:14px;
  45. }
  46. .el-table--border::after, .el-table--group::after, .el-table::before{
  47. background-color:#fff;
  48. }
  49. </style>
  50. <div id='re_content'>
  51. @include('layouts.newTabs')
  52. <div class="con">
  53. <div class="setting">
  54. <div style="background: #eff3f6;width:100%;height:15px;"></div>
  55. <div class="block" style="padding-top:20px;">
  56. <div class="title">
  57. <div style="display:flex;align-items:center;">
  58. <span style="width: 4px;height: 18px;background-color: #29ba9c;margin-right:15px;display:inline-block;"></span>
  59. <b>数据库管理</b>
  60. </div>
  61. </div>
  62. </div>
  63. <template style="margin-top:-10px;">
  64. <el-table :data="list" style="padding:0 10px" style="width: 100%">
  65. <el-table-column prop="" align="center" label="访问路径" label="100">
  66. <template slot-scope="scope">
  67. [[scope.row.access_url]]
  68. <el-input v-model="scope.row.access_url" style="position: relative;opacity: 0" ref="access_url"></el-input>
  69. <span v-if="scope.row.access_url">
  70. <el-button icon="el-icon-document-copy" @click="copyLink('access_url')" size="small" round>复制链接</el-button>
  71. </span>
  72. </template>
  73. </el-table-column>
  74. <el-table-column prop="" align="center" label="安装状态" label="100">
  75. <template slot-scope="scope">
  76. <span v-if="scope.row.is_install">已安装</span>
  77. <span v-else="scope.row.is_install">未安装</span>
  78. </template>
  79. </el-table-column>
  80. <el-table-column prop="" align="center" label="操作" label="100">
  81. <template slot-scope="scope">
  82. <div v-if="!scope.row.is_install">
  83. <el-button type="primary" @click="download_(scope.row.download_url)">下载安装</el-button>
  84. </div>
  85. <div v-else>
  86. <el-button type="danger" @click="uninstall_()">卸载</el-button>
  87. </div>
  88. </template>
  89. </el-table-column>
  90. </el-table>
  91. </template>
  92. </div>
  93. </div>
  94. </div>
  95. <script>
  96. var vm = new Vue({
  97. el: "#re_content",
  98. delimiters: ['[[', ']]'],
  99. data() {
  100. let list = {!! $list ?: '[]' !!};
  101. return {
  102. loading:false,
  103. list: list,
  104. }
  105. },
  106. created(){
  107. },
  108. mounted () {
  109. },
  110. methods: {
  111. download_(url){
  112. let loading = this.$loading({target:document.querySelector(".content"),background:'rgba(0, 0, 0, 0)'});
  113. this.$http.post('{!! yzWebFullUrl('setting.sql-manage.download') !!}', {url:url}).then(function (res) {
  114. if (res.data.result) {
  115. this.$message({message:res.data.msg,type:'success'});
  116. this.loading = false;
  117. }
  118. loading.close();
  119. location.reload();
  120. }, function (res) {
  121. console.log(res)
  122. this.loading = false;
  123. });
  124. },
  125. uninstall_(){
  126. this.$confirm('是否确定要卸载', '温馨提示', {
  127. confirmButtonText: '确定',
  128. cancelButtonText: '取消',
  129. type: 'warning'
  130. }).then(() => {
  131. this.$http.get('{!! yzWebFullUrl('setting.sql-manage.uninstall') !!}').then(function (res) {
  132. if (res.data.result) {
  133. this.$message({message:res.data.msg,type:'success'});
  134. } else {
  135. this.$message({message:res.data.msg,type:'error'});
  136. }
  137. window.location = location;
  138. }, function (res) {
  139. console.log(res)
  140. });
  141. }).catch(() => {
  142. console.log()
  143. });
  144. },
  145. copyLink(type) {
  146. this.$refs[type].select();
  147. document.execCommand("Copy")
  148. this.$message.success("复制成功!");
  149. },
  150. },
  151. });
  152. </script>
  153. @endsection