msServiceInfoList.html 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <title>微服务信息管理</title>
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
  6. <meta charset="utf-8"/>
  7. <meta name="viewport"
  8. content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
  9. <!-- 引入样式 -->
  10. <link rel="stylesheet" href="/common-assets/css/chunk/element-common.css">
  11. <link rel="stylesheet" href="/common-assets/css/dwElementUI.css"/>
  12. </head>
  13. <body class="pace-done gray-bg">
  14. <div class="container-fluid">
  15. <div class="wrapper-cont" id="msServiceInfoListContent" v-cloak>
  16. <el-card class="box-card search-content" shadow="hover">
  17. <el-form label-position="right" size="small" label-width="100px"
  18. id="msServiceInfoSearchForm" :model="searchParams">
  19. <el-row :gutter="15">
  20. <el-col :span="6" :md="6" :sm="8">
  21. <el-form-item label="所属系统">
  22. <el-select v-model="searchParams.sysId" filterable remote placeholder="输入关键字搜索"
  23. :remote-method="getSysListByUser" :loading="sysLoading"
  24. @focus="handleSysParamFocus">
  25. <el-option v-for="item in msSysList" :key="item.id" :label="item.sysName"
  26. :value="item.id">
  27. </el-option>
  28. </el-select>
  29. </el-form-item>
  30. </el-col>
  31. <el-col :span="6" :md="6" :sm="8">
  32. <el-form-item label="服务编码">
  33. <el-select v-model="searchParams.serviceCode" filterable remote placeholder="输入关键字搜索"
  34. :remote-method="getServiceListByUser" :loading="serviceLoading"
  35. @focus="handleServiceParamFocus">
  36. <el-option v-for="item in msServiceCodeList" :key="item.serviceCode"
  37. :label="item.serviceCode"
  38. :value="item.serviceCode">
  39. </el-option>
  40. </el-select>
  41. </el-form-item>
  42. </el-col>
  43. <el-col :span="6" :md="6" :sm="8">
  44. <el-form-item label="名称">
  45. <el-input placeholder="请输入名称" v-model="searchParams.serviceName">
  46. </el-input>
  47. </el-form-item>
  48. </el-col>
  49. <el-col :span="6" :md="6" :sm="8">
  50. <el-form-item label="状态">
  51. <el-select v-model="searchParams.status" placeholder="请选择状态">
  52. <el-option v-for="param in getDictByField('status')"
  53. :key="param.id" :label="param.paramName"
  54. :value="param.paramCode">
  55. </el-option>
  56. </el-select>
  57. </el-form-item>
  58. </el-col>
  59. <el-col :offset="16" :span="8">
  60. <el-form-item class="search-content-button-container">
  61. <el-button-group>
  62. <el-button type="primary" size="small" @click="refreshTable"
  63. icon="el-icon-search">查询
  64. </el-button>
  65. <el-button size="small" @click="resetSearchParam"
  66. icon="el-icon-refresh">重置
  67. </el-button>
  68. </el-button-group>
  69. </el-form-item>
  70. </el-col>
  71. </el-row>
  72. </el-form>
  73. </el-card>
  74. <el-card class="box-card" shadow="hover">
  75. <el-button-group v-if="!inViewMode">
  76. <el-button v-show="hasPermission('toggleServiceStatus')" @click="onlineService" size="mini"
  77. icon="el-icon-circle-check">启用服务
  78. </el-button>
  79. <el-button v-show="hasPermission('toggleServiceStatus')" @click="offlineService" size="mini"
  80. icon="el-icon-circle-close">禁用服务
  81. </el-button>
  82. <el-button v-show="hasPermission('del')" @click="deleteServiceRecord" type="danger" size="mini"
  83. icon="el-icon-delete">删除
  84. </el-button>
  85. </el-button-group>
  86. <el-table size="medium" stripe border tooltip-effect="dark" v-loading="msServiceInfoTableLoading"
  87. style="width: 100%;margin: 15px 0 15px 0;" ref="msServiceInfoTable"
  88. :data="msServiceInfoTablePage.list" @row-click="handleRowClick" @sort-change="handleSortChange">
  89. <el-table-column type="selection" width="55"></el-table-column>
  90. <el-table-column prop="sysName" label="所属系统" show-overflow-tooltip>
  91. </el-table-column>
  92. <el-table-column prop="serviceCode" label="服务编码" sortable="custom" show-overflow-tooltip>
  93. <template slot-scope="scope">
  94. <el-tooltip content="点击查看服务详情">
  95. <a @click="viewSelectedMsServiceInfo(scope.row)">{{scope.row.serviceCode}}</a>
  96. </el-tooltip>
  97. </template>
  98. </el-table-column>
  99. <el-table-column prop="serviceName" label="名称" sortable="custom" show-overflow-tooltip>
  100. </el-table-column>
  101. <el-table-column prop="status" label="状态" sortable="custom" width="120">
  102. <template slot-scope="scope">
  103. <el-tag :type="scope.row.status === 'UP' ? 'success' : 'danger'">
  104. {{eleTableColumnFormatter(scope, getDictByField(scope.column.property))}}
  105. </el-tag>
  106. </template>
  107. </el-table-column>
  108. <el-table-column prop="swaggerUrl" label="在线文档" width="100">
  109. <template slot-scope="scope">
  110. <a v-if="scope.row.swaggerUrl" :href="scope.row.swaggerUrl"
  111. @click="handleSwaggerUrlClick(scope.row.swaggerUrl)"
  112. target="_blank">查看</a>
  113. <span v-else>无</span>
  114. </template>
  115. </el-table-column>
  116. <el-table-column label="服务实例" width="100">
  117. <template slot-scope="scope">
  118. <el-tooltip class="item" effect="dark" :content="'当前' + scope.row.usableInstanceCount + '个实例在线'"
  119. placement="top">
  120. <el-tag type="success">
  121. <a @click="viewUsableInstancesDetail(scope.row)">{{scope.row.usableInstanceCount}}</a>
  122. </el-tag>
  123. </el-tooltip>
  124. <el-tooltip class="item" effect="dark"
  125. :content="'当前' + scope.row.unusableInstanceCount + '个实例下线'"
  126. placement="top">
  127. <el-tag type="danger">
  128. <a @click="viewUnusableInstancesDetail(scope.row)">{{scope.row.unusableInstanceCount}}</a>
  129. </el-tag>
  130. </el-tooltip>
  131. </template>
  132. </el-table-column>
  133. </el-table>
  134. <el-pagination layout="total, sizes, ->, prev, pager, next, jumper"
  135. :total="msServiceInfoTablePage.count"
  136. @size-change="handleTableSizeChange"
  137. @current-change="handleTableCurrentChange" :page-sizes="[5, 10, 15, 20]"
  138. :page-size="searchParams.limit" background></el-pagination>
  139. </el-card>
  140. </div>
  141. </div>
  142. </body>
  143. <!-- 本页面对应JS-->
  144. <script src="/common-assets/js/project.config.js"></script>
  145. <script src="/common-assets/js/direwolf-library.js"></script>
  146. <script src="/common-assets/js/common.js"></script>
  147. <script src="../static/js/msServiceInfoList.js"></script>
  148. </html>