主子表一对二修改页面
<!DOCTYPE html>
<html lang="zh_CN" xmlns:th="http://www.thymeleaf.org"
xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<meta charset="utf-8">
<head th:include="include :: header"></head>
<body class="gray-bg">
<div class="wrapper wrapper-content ">
<div class="row">
<div class="col-sm-8">
<div class="ibox">
<form id="inputForm" action="/mytest/addnewtable" method="post" class="form-horizontal">
<div class="box-body">
<div class="form-unit">基本信息</div>
<input type="hidden" id="mclass" name="mclass"/>
<input type="hidden" id="map" name="map"/>
<input type="hidden" id="myteacher" name="myteacher"/>
<input type="hidden" id="tmap" name="tmap"/>
<div class="row">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label">ID:</label>
<div class="col-sm-8">
<input id="id" th:value="${mt.id}" name="id" class="form-control" type="text" readonly="readonly">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">名称:</label>
<div class="col-sm-8">
<input id="xname" th:value="${mt.xname}" name="xname" class="form-control"
type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">年龄:</label>
<div class="col-sm-8">
<input id="age" name="age" th:value="${mt.age}" class="form-control"
type="text">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 用户选择:<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<div class="input-group treeselect" id="testUserDiv" data-url="/system/sysDept/treeViewLayer">
<input id="deptId" name="deptId" class="hidden" th:value="${mt.deptId}"> <input
id="deptName" name="deptName" th:value="${mt.deptName}" class="form-control" type="text"
style="cursor: pointer;" onclick="openDept()"
readonly="readonly" placeholder="所属部门">
</div>
</div>
</div>
</div>
</div>
</div>
</form>
<ul id="myTab" class="nav nav-tabs">
<li class="active">
<a href="#table1" data-toggle="tab">
子表1
</a>
</li>
<li><a href="#table2" data-toggle="tab">
子表2
</a>
</li>
</ul>
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade in active" id="table1">
<button type="button" class="btn btn-success dropdown-toggle" onclick="addtable()">
<span class="glyphicon glyphicon glyphicon-plus" aria-hidden="true"></span>增加
</button>
<div class="columns pull-right">
<button class="btn btn-success" onclick="reLoad()">查询</button>
</div>
<div class="columns pull-right col-md-2 nopadding">
<input id="searchName" type="text" class="form-control"
placeholder="文本">
</div>
<table id="exampleTable">
</table>
</div>
<div class="tab-pane fade" id="table2">
<button type="button" class="btn btn-success dropdown-toggle" onclick="addtable1()">
<span class="glyphicon glyphicon glyphicon-plus" aria-hidden="true"></span>增加
</button>
<div class="columns pull-right">
<button class="btn btn-success" onclick="reLoad1()">查询</button>
</div>
<div class="columns pull-right col-md-2 nopadding">
<input id="searchName1" type="text" class="form-control"
placeholder="姓名">
</div>
<table id="exampleTable1">
</table>
</div>
</div>
<div class="columns pull-right">
<button class="btn btn-success" onclick="submittable()">提交</button>
</div>
</div>
</div>
</div>
</div>
<div th:include="include :: footer"></div>
<script type="text/javascript">
var map={};
var map1={};
var tid=1;
var tid1=1;
var openDept = function(){
layer.open({
type:2,
title:"选择部门",
area : [ '300px', '450px' ],
content:"/system/sysDept/treeView"
})
}
function loadDept( deptId,deptName){
$("#deptId").val(deptId);
$("#deptName").val(deptName);
}
function submittable() {
var data = $('#exampleTable').bootstrapTable('getData');
$('#mclass').val(JSON.stringify(data));
$('#map').val(JSON.stringify(map));
var data1 = $('#exampleTable1').bootstrapTable('getData');
$('#myteacher').val(JSON.stringify(data1));
$('#tmap').val(JSON.stringify(map1));
$.ajax({
url : "/mytest/editmassnewtable",
type : "post",
data : $('#inputForm').serialize(),
success : function(r) {
if (r.code == 0) {
layer.msg(r.msg);
} else {
layer.msg(r.msg);
}
parent.reLoad();
reLoad();
reLoad1();
}
});
}
//删除指定行
function removeRow(tid,id){
if(tid=="0"){
layer.confirm('确定要删除该数据吗?', {
btn : [ '确定', '取消' ]
}, function() {
$.ajax({
url : "/mytest/removeTable1",
type : "post",
data : {
'id' : id
},
success : function(r) {
if (r.code == 0) {
layer.msg(r.msg);
} else {
layer.msg(r.msg);
}
parent.reLoad();
reLoad();
}
});
})
}else{
$('#exampleTable').bootstrapTable('remove', {
field : 'tid',
values:[parseInt(tid)]
});
}
}
function reLoad() {
$('#exampleTable').bootstrapTable('refresh');
}
function reLoad1() {
$('#exampleTable1').bootstrapTable('refresh');
}
$(function() {
$.fn.editable.defaults.mode ='inline';
load();
load1();
$('#exampleTable').bootstrapTable('hideColumn', 'tid');
$('#exampleTable1').bootstrapTable('hideColumn', 'tid');
});
//增加行数
function addtable() {
var data={tid:tid,testInput:'',testSort:'',testSelect:'1',testDate:""}
$('#exampleTable').bootstrapTable('append',data);
tid++;
}
function addmap(tid,id) {
if(tid=="0"){
map[id]=String(id);
}
}
//更改值后更新数据
function reloadRowData(obj, row,tid,id, key, index){
row[key] = obj.val();
$('#exampleTable').bootstrapTable('updateRow', {
index: index,
row:row
});
addmap(tid,id);
}
//对文本字段的处理
function ftext(value,row,index,key){
if(typeof(value) == "undefined") {
value = "";
}
return "<input type=\"text\" class=\"form-control\" value=\"" + value + "\" onchange='reloadRowData($(this), " + JSON.stringify(row)+ "," + row.tid + ", " + row.id + ",\"" + key + "\", " + index + ")' />";
}
//对日期字段的处理
function fdate(value,row,index,key) {
if(typeof(value) == "undefined") {
value = "";
}
var s="<div class='input-group date'>"+
"<input type=\"text\" class=\"form-control\" value=\"" + value + "\" onchange='reloadRowData($(this), " + JSON.stringify(row)+"," + row.tid + ", " + row.id + ", \"" + key + "\", " + index + ")' onfocus='wd()'/>"+
"<span class=\"input-group-addon\">"+
"<span class=\"glyphicon glyphicon-calendar\"></span></span></div>"
return s;
}
//日期插件
function wd(){
WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});
}
function load() {
$('#exampleTable').bootstrapTable(
{
method : 'get', // 服务器数据的请求方式 get or post
url : "/mytest/mastertablesonlist", // /服务器数据的加载地址
striped : true, // 设置为true会有隔行变色效果
dataType : "json", // 服务器返回的数据类型
singleSelect : false, // 设置为true将禁止多选
pageSize : 10, // 如果设置了分页,每页数据条数
pageNumber : 1, // 如果设置了分布,首页页码
sidePagination : "server", // 设置在哪里进行分页
pagination : true, // 设置为true会在底部显示分页条
queryParams : function(params) {
return {
limit : params.limit,
offset : params.offset,
mid:$("#id").val(),
testInput : $('#searchName').val(),
};
},
//保存的使用
onEditableSave: function (field, row, index) {
$('#exampleTable').bootstrapTable('updateRow', {
index: index,
row:row
});
addmap(row.tid,row.id); /*把修改过的行的tid和id保存在map数组中*/
},
columns : [
{
field : 'tid', // 列字段名
title : '#', // 列标题
},
{
field : 'id', // 列字段名
title : '序号', // 列标题
},
{
field: 'testInput',
title: '文本',
align: 'center',
sortable:true,
formatter:ftext
}, {
field: 'testSort',
title: '排序',
align: 'center',
formatter:ftext
},
{
field: 'testSelect',
title: '单选',
align: 'center',
editable: {
type: 'select',
showbuttons: false,
source: [
{value: 1, text: '男'},
{value: 2, text: '女'},
],
formatter: function (value,row,index) {
var result={filed:"sex",value:value,class:"badge",style:"background:#333;padding:5px 10px;"};
return result;
}
}
}
,
{
field: 'testDate',
title: '时间',
align: 'center',
formatter:fdate
},
{
title : '操作',
field : 'id',
align : 'center',
formatter : function(value, row, index) {
var d = '<a class="btn btn-warning btn-sm" href="#" title="删除" mce_href="#" onclick="removeRow(\''+ row.tid+'\',\''+ row.id+'\')"><i class="fa fa-remove"></i></a> ';
return d;
}
} ]
});
}
//删除指定行
function removeRow1(tid,id){
if(tid=="0"){
//删除后台数据
layer.confirm('确定要删除该数据吗?', {
btn : [ '确定', '取消' ]
}, function() {
$.ajax({
url: "/mytest/removeTable2",
type: "post",
data: {
'id': id
},
success: function (r) {
if (r.code == 0) {
layer.msg(r.msg);
} else {
layer.msg(r.msg);
}
parent.reLoad();
reLoad();
}
});
})
}else{
$('#exampleTable1').bootstrapTable('remove', {
field : 'tid',
values:[parseInt(tid)]
});
}
}
//增加行数
function addtable1() {
var data={tid:tid1,tname:'',tage:'',tsex:'1',tstartdate:'',tenddate:""}
$('#exampleTable1').bootstrapTable('append',data);
tid1++;
}
function addtmap(tid,id) {
if(tid=="0"){
map1[id]=String(id); /*新增数据保存在map1中*/
}
}
//更改值后更新数据
function reloadRowData1(obj, row,tid,id, key, index){
row[key] = obj.val();
$('#exampleTable1').bootstrapTable('updateRow', {
index: index,
row:row
});
addtmap(tid,id);
}
//对文本字段的处理
function ftext1(value,row,index,key){
if(typeof(value) == "undefined") {
value = "";
}
return "<input type=\"text\" class=\"form-control\" value=\"" + value + "\" onchange='reloadRowData1($(this), " + JSON.stringify(row)+ "," + row.tid + ", " + row.id + ",\"" + key + "\", " + index + ")' />";
}
//对日期字段的处理
function fdate1(value,row,index,key) {
if(typeof(value) == "undefined") {
value = "";
}
var s="<div class='input-group date'>"+
"<input type=\"text\" class=\"form-control\" value=\"" + value + "\" onchange='reloadRowData1($(this), " + JSON.stringify(row)+"," + row.tid + ", " + row.id + ", \"" + key + "\", " + index + ")' onfocus='wd()'/>"+
"<span class=\"input-group-addon\">"+
"<span class=\"glyphicon glyphicon-calendar\"></span></span></div>"
return s;
}
function load1() {
$('#exampleTable1').bootstrapTable(
{
method : 'get', // 服务器数据的请求方式 get or post
url : "/mytest/getMyteacherlist", // /服务器数据的加载地址
striped : true, // 设置为true会有隔行变色效果
dataType : "json", // 服务器返回的数据类型
singleSelect : false, // 设置为true将禁止多选
pageSize : 10, // 如果设置了分页,每页数据条数
pageNumber : 1, // 如果设置了分布,首页页码
sidePagination : "server", // 设置在哪里进行分页
pagination : true, // 设置为true会在底部显示分页条
queryParams : function(params) {
return {
limit : params.limit,
offset : params.offset,
mid:$("#id").val(),
tname : $('#searchName1').val(),
};
},
//保存的使用
onEditableSave: function(value,row,index) {
$('#exampleTable1').bootstrapTable('updateRow', {
index: index,
row:row
});
addtmap(row.tid,row.id);
},
columns: [
{
field : 'tid', // 列字段名
title : '#', // 列标题
},
{
field : 'id', // 列字段名
title : '序号', // 列标题
},
{
field: 'tname',
title: '姓名',
align: 'center',
sortable:true,
formatter:ftext1
}, {
field: 'tage',
title: '出生年月',
align: 'center',
formatter:fdate1
},
{
field: 'tsex',
title: '性别',
align: 'center',
editable: {
type: 'select',
showbuttons: false,
source: [
{value: 1, text: '男'},
{value: 2, text: '女'},
],
formatter: function (value,row,index) {
var result={filed:"sex",value:value,class:"badge",style:"background:#333;padding:5px 10px;"};
return result;
}
}
}
,
{
field: 'tstartdate',
title: '开始时间',
align: 'center',
formatter:fdate1
},
{
field: 'tenddate',
title: '结束时间',
align: 'center',
formatter:fdate1
},
{
title : '操作',
field : 'id',
align : 'center',
formatter : function(value, row, index) {
var d = '<a class="btn btn-warning btn-sm" href="#" title="删除" mce_href="#" onclick="removeRow1(\''+ row.tid+'\',\''+ row.id+'\')"><i class="fa fa-remove"></i></a> ';
return d;
}
} ]
});
}
</script>
</body>
</html>