Commit 2e0332fb by chent

新增资源监控功能,服务监控去掉版本控制 ,应用监控加上版本控制

parent 0c59c1a4
package com.cc.bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.extern.log4j.Log4j;
import java.io.Serializable;
@Data
@Log4j
@NoArgsConstructor
@AllArgsConstructor
public class Resource extends PageBean implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private String resourceName;
private String port;
private String resourcePath;
private String resourceIp;
private Integer status;
}
\ No newline at end of file
...@@ -23,5 +23,7 @@ public class MyMvcConfig extends WebMvcConfigurerAdapter { ...@@ -23,5 +23,7 @@ public class MyMvcConfig extends WebMvcConfigurerAdapter {
registry.addViewController("/mebersform").setViewName("mebersfrom"); registry.addViewController("/mebersform").setViewName("mebersfrom");
registry.addViewController("/restfenye").setViewName("restfenye"); registry.addViewController("/restfenye").setViewName("restfenye");
registry.addViewController("/resourcefenye").setViewName("resourcefenye"); registry.addViewController("/resourcefenye").setViewName("resourcefenye");
registry.addViewController("/resourceform").setViewName("resourcefrom");
registry.addViewController("/resourceupdate").setViewName("resourceupdate");
} }
} }
package com.cc.controller;
import com.cc.bean.Resource;
import com.cc.common.ResultMap;
import com.cc.common.XzxtRestResult;
import com.cc.service.ResourceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
/**
* @author chent
* @desc
* @date 2018-11-20 17:01
*/
@Controller
public class ResourceController {
@Autowired
ResourceService resourceService;
/*
获取服务list
*/
@GetMapping("/resourcelist")
@ResponseBody
public ResultMap resourcelist(Model model, Resource resource){
ResultMap resultMap=new ResultMap();
try {
resultMap =resourceService.ResourceAll(resource);
} catch (IOException e) {
e.printStackTrace();
}
return resultMap;
}
/*
修改
*/
@GetMapping("/resource/{id}")
public String getResource(@PathVariable("id") Integer id,Model model){
model.addAttribute("resource",resourceService.SelectResource(id).getData());
return "resourceupdate";
}
//服务修改
@PutMapping("/resource")
@ResponseBody
public XzxtRestResult updateResource(Resource resource){
return resourceService.updateResource(resource);
}
/*
保存
*/
@PostMapping("/saveresource")
@ResponseBody
public XzxtRestResult saveservices(Resource resource){
return resourceService.SaveResource(resource);
}
//服务删除
@DeleteMapping("/resource/{id}")
@ResponseBody
public XzxtRestResult deleteServices(@PathVariable("id") Integer id){
return resourceService.deleteResource(id);
}
}
package com.cc.mapper;
import com.cc.bean.Resource;
import com.cc.bean.Services;
import java.util.List;
public interface ResourceMapper {
List<Resource> selectPageList(Resource resource);
int selectPageCount(Resource resource);
Resource selectResource(int id);
int deleteResource(int id);
int saveResource(Resource resource);
int updateResource(Resource resource);
}
\ No newline at end of file
package com.cc.service;
import com.cc.bean.Resource;
import com.cc.bean.Services;
import com.cc.common.ResultMap;
import com.cc.common.XzxtRestResult;
import java.io.IOException;
/**
* @author yutons
*/
public interface ResourceService {
ResultMap ResourceAll(Resource resource) throws IOException;
XzxtRestResult SelectResource(int id);
XzxtRestResult deleteResource(int id);
XzxtRestResult SaveResource(Resource resource);
XzxtRestResult updateResource(Resource resource);
}
package com.cc.service.serviceimpl;
import com.cc.bean.Services;
import com.cc.common.ResultMap;
import com.cc.common.XzxtRestResult;
import com.cc.mapper.ResourceMapper;
import com.cc.mapper.ServiceMapper;
import com.cc.service.ResourceService;
import com.cc.service.ServiceService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import com.cc.bean.Resource;
import java.io.*;
import java.util.List;
@Service
public class ResourceServiceImpl implements ResourceService {
private static final Logger logger = LoggerFactory.getLogger(ServiceService.class);
@javax.annotation.Resource
private ResourceMapper resourceMapper;
@Override
public ResultMap ResourceAll(Resource resource) throws IOException {
List<Resource> resourcelist=resourceMapper.selectPageList(resource);
ResultMap resultMap=new ResultMap();
if (!StringUtils.isEmpty(resourcelist)) {
int totals=resourceMapper.selectPageCount(resource);
resultMap.setCount(totals);
resultMap.setData(resourcelist);
return resultMap;
}
return resultMap ;
}
@Override
public XzxtRestResult SelectResource(int id) {
Resource resourcer=resourceMapper.selectResource(id);
if(!StringUtils.isEmpty(resourcer)){
return XzxtRestResult.build(201,"读取成功",resourcer);
}else{
return XzxtRestResult.build(202,"读取失败","");
}
}
@Override
public XzxtRestResult deleteResource(int id) {
int num=resourceMapper.deleteResource(id);
if(num==1){
return XzxtRestResult.build(201,"删除成功");
}else{
return XzxtRestResult.build(202,"删除失败");
}
}
@Override
public XzxtRestResult SaveResource(Resource resource) {
int num=resourceMapper.saveResource(resource);
if(num==1){
return XzxtRestResult.build(201,"存入成功");
}else{
return XzxtRestResult.build(202,"存入失败");
}
}
@Override
public XzxtRestResult updateResource(Resource resource) {
int num=resourceMapper.updateResource(resource);
if(num==1){
return XzxtRestResult.build(201,"更新成功");
}else{
return XzxtRestResult.build(202,"更新失败");
}
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.cc.mapper.ResourceMapper" >
<resultMap id="BaseResultMap" type="com.cc.bean.Resource" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="resource_name" property="resourceName" jdbcType="VARCHAR" />
<result column="port" property="port" jdbcType="VARCHAR" />
<result column="resource_path" property="resourcePath" jdbcType="VARCHAR" />
<result column="resource_ip" property="resourceIp" jdbcType="VARCHAR" />
<result column="status" property="status" jdbcType="INTEGER" />
</resultMap>
<sql id="Base_Column_List" >
id, resource_name, port, resource_path, resource_ip, status
</sql>
<sql id="queryWhere" >
<where>
<if test="id!=null and id !=''">AND id = #{id}</if>
<if test="resourceName!='' and resourceName!=null">
AND resource_name like '%' #{resourceName} '%'
</if>
</where>
</sql>
<!-- 通过条件分页查询,返回数据集 -->
<select id="selectPageList" parameterType="com.cc.bean.Resource" resultMap="BaseResultMap">
select <include refid="Base_Column_List"/>
from resource
<include refid="queryWhere"/>
order by id
limit ${(page-1)*limit},#{limit}
</select>
<!-- 通过条件分页查询,返回总记录数 -->
<select id="selectPageCount" parameterType="com.cc.bean.Resource" resultType="java.lang.Integer">
select count(1) from resource
<include refid="queryWhere"/>
</select>
<select id="selectResource" parameterType="java.lang.Integer" resultType="com.cc.bean.Resource">
select <include refid="Base_Column_List"/>
from resource
where id = #{ id,jdbcType=INTEGER }
</select>
<delete id="deleteResource" parameterType="java.lang.Integer" >
delete from resource
where id = #{id,jdbcType=INTEGER}
</delete>
<!-- 保存服务 -->
<insert id="saveResource" parameterType="com.cc.bean.Resource">
insert into resource ( <include refid="Base_Column_List"/>)
values (
#{id,jdbcType=INTEGER},
#{resourceName,jdbcType=VARCHAR},
#{port,jdbcType=VARCHAR},
#{resourcePath,jdbcType=VARCHAR},
#{resourceIp,jdbcType=VARCHAR},
#{status,jdbcType=INTEGER})
</insert>
<update id="updateResource" parameterType="com.cc.bean.Resource" >
update resource
<set>
<if test="resourceName != null" >
resource_name = #{resourceName,jdbcType=VARCHAR},
</if>
<if test="port != null" >
port = #{port,jdbcType=VARCHAR},
</if>
<if test="resourcePath != null" >
resource_path = #{resourcePath,jdbcType=VARCHAR},
</if>
<if test="resourceIp != null" >
resource_ip = #{resourceIp,jdbcType=VARCHAR},
</if>
<if test="status != null" >
status = #{status,jdbcType=INTEGER},
</if>
</set>
where id = #{ id,jdbcType=INTEGER }
</update>
</mapper>
\ No newline at end of file
...@@ -36,51 +36,19 @@ ...@@ -36,51 +36,19 @@
<script type="text/html" id="toolbarDemo"> <script type="text/html" id="toolbarDemo">
<div class="layui-btn-container"> <div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="insertService">新增服务</button> <button class="layui-btn layui-btn-sm" lay-event="insertResource">新增资源</button>
<button class="layui-btn layui-btn-sm" lay-event="updateService">修改服务</button> <button class="layui-btn layui-btn-sm" lay-event="updateResource">修改资源</button>
<button class="layui-btn layui-btn-sm" lay-event="deletService">删除服务</button> <button class="layui-btn layui-btn-sm" lay-event="deletResource">删除资源</button>
<%--<button class="layui-btn layui-btn-sm" lay-event="isAll">验证是否全选</button>--%> <%--<button class="layui-btn layui-btn-sm" lay-event="isAll">验证是否全选</button>--%>
</div> </div>
</script> </script>
<script type="text/html" id="barDemo"> <script type="text/html" id="barDemo">
{{# if (d.status=== 1) { }}
<a class="layui-btn layui-btn-xs" lay-event="start">启动</a>
{{# } else { }}
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="stop">停止</a>
{{# } }}
</script>
<script type="text/html" id="barDemo1">
{{# if (d.status=== 0) {}} {{# if (d.status=== 0) {}}
<i class="fa fa-circle fa-color1"></i> <i class="fa fa-circle fa-color1"></i>
{{# } else { }} {{# } else { }}
<i class="fa fa-circle fa-color2"></i> <i class="fa fa-circle fa-color2"></i>
{{# } }} {{# } }}
</script> </script>
<script type="text/html" id="barDemo2">
{{# if (d.sqlType=== 0) { }}
<span>Oracle</span>
{{# } else if(d.sqlType=== 1) { }}
<span>Mysql</span>
{{# } else { }}
<span>Gbase</span>
{{# } }}
</script>
<script type="text/html" id="barDemo3">
{{# if (d.serviceName=== "0") { }}
<span>Tomcat</span>
{{# } else if(d.serviceName=== "1") { }}
<span>Weblogic</span>
{{# } else { }}
<span>Jetty</span>
{{# } }}
</script>
<script type="text/html" id="barDemo4">
<a class="layui-btn layui-btn-xs" lay-event="logs">查看日志</a>
</script>
<script src="layui/layui.js" charset="utf-8"></script> <script src="layui/layui.js" charset="utf-8"></script>
<!-- 注意:如果你直接复制所有代码到本地,上述js路径需要改成你本地的 --> <!-- 注意:如果你直接复制所有代码到本地,上述js路径需要改成你本地的 -->
...@@ -90,23 +58,20 @@ ...@@ -90,23 +58,20 @@
table.render({ table.render({
elem: '#test' elem: '#test'
,url:'serviceslist' ,url:'resourcelist'
,toolbar: '#toolbarDemo' ,toolbar: '#toolbarDemo'
,title: '用户数据表' ,title: '用户数据表'
,page: true ,page: true
,limit: 10 ,limit: 10
,cols: [[ ,cols: [[
{type: 'checkbox', fixed: 'left',align:'center'} {type: 'checkbox', fixed: 'left',align:'center'}
/* ,{field:'id', title:'服务id', width:100, fixed: 'left', align:'center',unresize: true, sort: true}*/ /* ,{field:'id', title:'服务id', width:100, fixed: 'left', align:'center',unresize: true, sort: true}*/
,{field:'applyName', title:'应用名称',align:'center', width:150, edit: 'text'} ,{field:'resourceName', title:'资源名称',align:'center', width:150, sort: true, edit: 'text'}
,{field:'serviceName', title:'服务名称', width:100,align:'center', edit: 'text',templet:'#barDemo3'} ,{field:'port', title:'资源端口', width:100,align:'center', sort: true, edit: 'text'}
,{field:'port', title:'服务端口', width:120,align:'center', edit: 'text'} ,{field:'resourcePath', title:'资源位置', width:120,align:'center', edit: 'text'}
,{field:'servletPath', title:'服务位置', width:200,align:'center', edit: 'text'} ,{field:'resourceIp', title:'资源IP', width:200,align:'center', sort: true, edit: 'text'}
,{field:'serviceIp', title:'服务IP', width:200,align:'center', sort: true} ,{field:'status', title:'状态', width:200,align:'center',templet:'#barDemo'}
,{field:'sqlType', title:'SQL类型', width:120,align:'center', sort: true,templet:'#barDemo2'}
,{field:'status', title:'服务状态', width:150,align:'center', edit: 'text', templet:'#barDemo1'}
,{field: 'right', title:'操作',align:'center', toolbar: '#barDemo', width:140}
,{field: 'right', title:'操作',align:'center', toolbar: '#barDemo4', width:140}
]] ]]
}); });
//头工具栏事件 //头工具栏事件
...@@ -114,35 +79,35 @@ ...@@ -114,35 +79,35 @@
debugger debugger
var checkStatus = table.checkStatus(obj.config.id); var checkStatus = table.checkStatus(obj.config.id);
switch(obj.event){ switch(obj.event){
//插入 //插入
case'insertService': case'insertResource':
//iframe层 //iframe层
layer.open({ layer.open({
type: 2, type: 2,
title: '新增应用服务', title: '新增资源',
shadeClose: true, shadeClose: true,
shade: 0.8, shade: 0.8,
area: ['500px', '90%'], area: ['500px', '90%'],
content: 'serviceform', content: 'resourceform',
end:function(){ end:function(){
$('.layui-laypage-btn').click();//模拟点击 $('.layui-laypage-btn').click();//模拟点击
} }
}); });
break; break;
//更新 //更新
case'updateService': case'updateResource':
var data = checkStatus.data; var data = checkStatus.data;
// layer.msg('选中了:'+ data.length + ' 个'); // layer.msg('选中了:'+ data.length + ' 个');
// layer.alert(data[0].id); // layer.alert(data[0].id);
if(data.length==1){ if(data.length==1){
debugger; debugger;
layer.open({ layer.open({
type: 2, type: 2,
title: '修改应用服务', title: '修改资源',
shadeClose: true, shadeClose: true,
shade: 0.8, shade: 0.8,
area: ['500px', '90%'], area: ['500px', '90%'],
content: 'services/'+data[0].id, content: 'resource/'+data[0].id,
end:function(){ end:function(){
$('.layui-laypage-btn').click();//模拟点击 $('.layui-laypage-btn').click();//模拟点击
} }
...@@ -150,11 +115,11 @@ ...@@ -150,11 +115,11 @@
} }
else else
{ {
layer.msg("请选择一个服务!") layer.msg("请选择一个资源!")
} }
break; break;
//刪除 //刪除
case'deletService': case'deletResource':
var data = checkStatus.data; var data = checkStatus.data;
//alert(data[0].id); //alert(data[0].id);
//layer.msg('选中了:'+ data.length + ' 个'); //layer.msg('选中了:'+ data.length + ' 个');
...@@ -163,7 +128,7 @@ ...@@ -163,7 +128,7 @@
for(var i=0;i<=data.length;i++){ for(var i=0;i<=data.length;i++){
$.ajax({ $.ajax({
type: "DELETE", type: "DELETE",
url: "services/"+data[i].id, url: "resource/"+data[i].id,
dataType: "json", dataType: "json",
success: function(data){ success: function(data){
console.log(data); console.log(data);
...@@ -183,7 +148,7 @@ ...@@ -183,7 +148,7 @@
} }
else else
{ {
layer.msg("请选择要删除的服务!") layer.msg("请选择要删除的资源!")
} }
break; break;
...@@ -202,104 +167,16 @@ ...@@ -202,104 +167,16 @@
}; };
}); });
//监听行工具事件
table.on('tool(test)', function(obj){
debugger;
var data = obj.data;
var id=data.id;
if(obj.event === 'start'){
debugger
var index = layer.load(4, {content:'服务启动中!',time: 10*1000,success: function(layero){
layero.find('.layui-layer-content').css({'padding-left': '60px','width':'400px'});
if(data.serviceName="tomcat"){
var shellname="${startTomcatName}";
}
$.ajax({
type: "POST",
url: "${startRest}",
data: {ip:data.serviceIp, ipUsername:data.ipUsername,ipPassword:data.ipPassword,
shellPaht:"${shellPaht}",shellname:shellname,servletPath:data.servletPath},
dataType: "json",
success: function(data){
console.log(data);
if(data.data=="success"){
debugger;
layer.close(index);
layer.msg("启动成功");
updateStatus(id,0);
$(".layui-laypage-btn").click();
}else{
layer.close(index);
layer.msg("启动失败");
}
}
});
}})
}else if(obj.event === 'stop'){
debugger
var index = layer.load(4, {content:'服务关闭中!',time: 10*1000,success: function(layero){
layero.find('.layui-layer-content').css({'padding-left': '60px','width':'400px'});
if(data.serviceName="tomcat"){
var shellname="${stopTomcatName}";
}
$.ajax({
type: "POST",
url: "${startRest}",
data: {ip:data.serviceIp, ipUsername:data.ipUsername,ipPassword:data.ipPassword,
shellPaht:"${shellPaht}",shellname:shellname,servletPath:data.servletPath},
dataType: "json",
success: function(data){
console.log(data);
if(data.data=="success"){
debugger;
layer.close(index);
layer.msg("关闭成功");
updateStatus(id,1);
$(".layui-laypage-btn").click();
}else{
layer.close(index);
layer.msg("关闭失败");
}
}
});
}})
}
else if(obj.event === 'logs'){
var url="${logsRest}";
window.open(url+"?ip="+data.serviceIp+"&ipUsername="+data.ipUsername+"&ipPassword="+data.ipPassword+"&servletPath="+data.servletPath);
}
});
}); });
//更新服务状态 $(function(){
function updateStatus (id,status) { // 开启定时任务,时间间隔为3000 ms。
$.ajax({ setInterval(function(){
type: "GET", //window.location.reload();
url: "updateservices/"+id+"/"+status, //当前页的刷新
dataType: "json", $(".layui-laypage-btn").click();
success: function(data){ }, 60000);
debugger; });
if(data.status==201){
layer.msg("状态修改成功");
$('.layui-laypage-btn').click();//模拟点击
}else{
layer.msg("状态修改失败");
}
}
});
}
$(function(){
// 开启定时任务,时间间隔为3000 ms。
setInterval(function(){
//window.location.reload();
//当前页的刷新
$(".layui-laypage-btn").click();
}, 60000);
});
</script> </script>
......
<%--
Created by IntelliJ IDEA.
User: changc
Date: 2018/9/6
Time: 14:37
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="layui/css/layui.css" media="all">
<link rel="stylesheet" href="css/xadmin.css">
<link rel="stylesheet" href="fenye/fenye.css" media="all">
<link rel="stylesheet" href="fenye/font-awesome.min.css" media="all">
<script type="text/javascript" src="jquery/jquery.min.js"></script>
<%-- <!-- 引入公共js-->
<script type="text/javascript" src="js/common.js"></script>
<!-- 引入公共页面-->
<jsp:include page="../common/index.jsp"></jsp:include>--%>
</head>
<body>
<form class="layui-form" action="" method="post">
<div class="layui-form-item">
<label class="layui-form-label">资源名称:</label>
<div class="layui-input-block">
<input type="text" name="resourceName" required lay-verify="required" placeholder="请输入资源名称" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">资源端口:</label>
<div class="layui-input-block">
<input type="text" name="port" required lay-verify="required" placeholder="请输入资源端口" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">资源位置</label>
<div class="layui-input-inline">
<input type="text" name="resourcePath" required lay-verify="required" placeholder="请输入资源位置" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">例如:/usr/local/tomcat-portal</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">资源ip:</label>
<div class="layui-input-block">
<input type="text" name="resourceIp" required lay-verify="required" placeholder="请输入资源IP" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item" >
<label class="layui-form-label">状态:</label>
<div class="layui-input-block">
<select name="status" lay-verify="required">
<option value=""></option>
<option value="0">开启</option>
<option value="1">关闭</option>
</select>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>
<script src="layui/layui.js" charset="utf-8"></script>
<!-- 注意:如果你直接复制所有代码到本地,上述js路径需要改成你本地的 -->
<script>
//Demo
layui.use('form', function(){
var form = layui.form;
//监听提交
form.on('submit(formDemo)', function(data){
debugger;
var services=JSON.stringify(data.field);
$.ajax({
type: "POST",
url: "saveresource",
data: $(".layui-form").serialize(),
dataType: "json",
success: function(data){
console.log(data.status);
if(data.status=="201"){
debugger;
layer.msg("保存成功");
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);//关闭当前页
window.parent.location.reload(); //刷新父页面
}else{
//layer.close(index);
layer.msg("保存失败");
}
}
});
return false; //必须加上这个!!!
});
});
</script>
</body>
</html>
<%--
Created by IntelliJ IDEA.
User: changc
Date: 2018/9/6
Time: 14:37
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="${pageContext.request.contextPath}/layui/css/layui.css" media="all">
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/xadmin.css">
<link rel="stylesheet" href="${pageContext.request.contextPath}/fenye/fenye.css" media="all">
<link rel="stylesheet" href="${pageContext.request.contextPath}/fenye/font-awesome.min.css" media="all">
<script type="text/javascript" src="${pageContext.request.contextPath}/jquery/jquery.min.js"></script>
<%-- <!-- 引入公共js-->
<script type="text/javascript" src="js/common.js"></script>
<!-- 引入公共页面-->
<jsp:include page="../common/index.jsp"></jsp:include>--%>
</head>
<body>
<form class="layui-form" action="" method="post" >
<%-- <input type="hidden" name="_method" value="put"/>--%>
<div class="layui-form-item">
<label class="layui-form-label">资源名称:</label>
<div class="layui-input-block">
<input type="text" name="resourceName" value="${resource.resourceName}" required lay-verify="required" placeholder="请输入资源名称" autocomplete="off" class="layui-input">
<input type="hidden" name="id" id="id" value="${resource.id}"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">资源端口:</label>
<div class="layui-input-block">
<input type="text" value="${resource.port}" name="port" required lay-verify="required" placeholder="请输入资源端口" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">资源位置:</label>
<div class="layui-input-inline">
<input type="text" name="resourcePath" value="${resource.resourcePath}" required lay-verify="required" placeholder="请输入资源位置" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">例如:/usr/local/tomcat-portal</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">资源ip:</label>
<div class="layui-input-block">
<input type="text" name="resourceIp" value="${resource.resourceIp}" required lay-verify="required" placeholder="请输入资源IP" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item" >
<label class="layui-form-label">状态:</label>
<div class="layui-input-block">
<select name="status" lay-verify="required" id="status">
<option value=""></option>
<option value="0">开启</option>
<option value="1">关闭</option>
</select>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="formDemo">更新</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>
<script src="${pageContext.request.contextPath}/layui/layui.js" charset="utf-8"></script>
<!-- 注意:如果你直接复制所有代码到本地,上述js路径需要改成你本地的 -->
<script>
$(function () {
$("#status").val(${resource.status});
})
//Demo
layui.use('form', function(){
var form = layui.form;
//监听提交
form.on('submit(formDemo)', function(data){
debugger;
var services=JSON.stringify(data.field);
$.ajax({
type: "PUT",
url: "${pageContext.request.contextPath}/resource",
data: $(".layui-form").serialize(),
dataType: "json",
success: function(data){
console.log(data.status);
if(data.status=="201"){
debugger;
layer.msg("修改成功");
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);//关闭当前页
}else{
//layer.close(index);
layer.msg("修改失败");
}
}
});
return false; //必须加上这个!!!
});
});
</script>
</body>
</html>
...@@ -104,7 +104,6 @@ ...@@ -104,7 +104,6 @@
,{field:'servletPath', title:'服务位置', width:200,align:'center', edit: 'text'} ,{field:'servletPath', title:'服务位置', width:200,align:'center', edit: 'text'}
,{field:'serviceIp', title:'服务IP', width:200,align:'center', sort: true} ,{field:'serviceIp', title:'服务IP', width:200,align:'center', sort: true}
,{field:'sqlType', title:'SQL类型', width:120,align:'center', sort: true,templet:'#barDemo2'} ,{field:'sqlType', title:'SQL类型', width:120,align:'center', sort: true,templet:'#barDemo2'}
,{field:'version', title:'版本控制', width:270,align:'center', templet:'<div><span title="{{d.versionDetail}}">{{d.version}}</span></div>'}
,{field:'status', title:'服务状态', width:150,align:'center', edit: 'text', templet:'#barDemo1'} ,{field:'status', title:'服务状态', width:150,align:'center', edit: 'text', templet:'#barDemo1'}
,{field: 'right', title:'操作',align:'center', toolbar: '#barDemo', width:140} ,{field: 'right', title:'操作',align:'center', toolbar: '#barDemo', width:140}
,{field: 'right', title:'操作',align:'center', toolbar: '#barDemo4', width:140} ,{field: 'right', title:'操作',align:'center', toolbar: '#barDemo4', width:140}
......
...@@ -104,6 +104,7 @@ ...@@ -104,6 +104,7 @@
,{field:'servletPath', title:'服务位置', width:200,align:'center', edit: 'text'} ,{field:'servletPath', title:'服务位置', width:200,align:'center', edit: 'text'}
,{field:'serviceIp', title:'服务IP', width:200,align:'center', sort: true} ,{field:'serviceIp', title:'服务IP', width:200,align:'center', sort: true}
,{field:'sqlType', title:'SQL类型', width:120,align:'center', sort: true,templet:'#barDemo2'} ,{field:'sqlType', title:'SQL类型', width:120,align:'center', sort: true,templet:'#barDemo2'}
,{field:'version', title:'版本控制', width:270,align:'center', templet:'<div><span title="{{d.versionDetail}}">{{d.version}}</span></div>'}
,{field:'status', title:'服务状态', width:150,align:'center', edit: 'text', templet:'#barDemo1'} ,{field:'status', title:'服务状态', width:150,align:'center', edit: 'text', templet:'#barDemo1'}
,{field: 'right', title:'操作',align:'center', toolbar: '#barDemo', width:140} ,{field: 'right', title:'操作',align:'center', toolbar: '#barDemo', width:140}
,{field: 'right', title:'操作',align:'center', toolbar: '#barDemo4', width:140} ,{field: 'right', title:'操作',align:'center', toolbar: '#barDemo4', width:140}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment