<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org">
<head th:replace="common/header::commonHeader(~{::head/meta},~{::head/title},~{::head/link},~{::head/script},~{::head/style})">
<meta charset="UTF-8">
<title>工場マスタ</title>
<link>
<script></script>
<style type="text/css">
</style>
</head>
<body class="hold-transition sidebar-mini" style="height: 650px;">
<div id="scroll-wrapper" class="wrapper">
<form id="validation-form" method="post" role="form">
<div class="container-fluid">
<section class="content-header">
<div class="row mb-2">
<div class="col-sm-6">
<h1 style="text-align: left;" class="col-sm-6">工場マスタ</h1>
</div>
</div>
</section>
<section class="content">
<div class="col-md-8">
<div class="form-group row">
<label class="col-sm-1 col-form-label">工場コード</label>
<div class="col-sm-2">
<input type="text" id="searhKoJyoCd" class="form-control requiredbg input-rad"
style="width: 121px;" maxlength="10" />
</div>
<div class="col-sm-2">
<input id="searchDeletekbn" name="searchDeletekbn" type="checkbox" class="form-check-input"
style="vertical-align: middle;" value="1">
<label class="form-check-label" for="searchDeletekbn">削除済みも表示</label>
</div>
</div>
</div>
<div class="col-md-8">
<div class="form-group row">
<label class="col-sm-1 col-form-label">工場名</label>
<div class="col-sm-2">
<input type="text" id="searchKoJyoNm" class="form-control requiredbg input-rad"
style="width: 121px;" maxlength="10" />
</div>
<button id="update" class="btn btn-danger" style="margin-left: 10px" type="button" onclick="research()">
<i class="fa fa-search"></i> 検 索
</button>
<button id="cancel" class="btn btn-secondary" style="margin-left: 10px" type="button" onclick="cancelDate()">
<i class="fa fa-times"></i> 取 消
</button>
</div>
</div>
<div class="col-md-8">
<div class="form-group">
<button class="btn btn-primary" onclick="addRow();" type="button">
<span class="input-group-addon"> <i class="fa fa-plus"></i> </span> 追 加
</button>
</div>
</div>
<div class="col-md-8">
<div class="form-group" style="width: 1300px; height:500px; border: 1px solid rgba(204, 204, 204, 1);">
<table id="table" data-toggle="table" class="thead-light-gray" style="width: 1280px;">
</table>
</div>
</div>
<div class="col-md-8" style="height:40px">
<div class="form-group float-right" >
<button id="update" class="btn btn-primary" style="margin-left: 10px" type="button" onclick="insertData();">
<i class="fa fa-check"></i> 登 録
</button>
<button id="cancel" class="btn btn-secondary" style="margin-left: 10px" type="button" onclick="cancelop();">
<i class="fa fa-times"></i> 取 消
</button>
</div>
</div>
</section>
</div>
</form>
</div>
<script type="text/javascript" th:inline="javascript">
var deleteList = [];
var submitData = {};
var kojyokbnList = [];
function insertData(){
var data = $('#table').bootstrapTable('getData');
console.log(data);
var length = $('#table').bootstrapTable('getData').length;
if(length == 0){
businessMessage.alert("E000025",11);
return;
}
if(length >= 100){
businessMessage.alert("E000030",100);
return;
}
submitData.tsmk01006Entities = data;
submitData.logicDeleteIds = deleteList;
doAjax("/TSMK01006/save",submitData,function(data) {
console.log(data);
if(data.status == 'FAIL'){
businessMessage.alert("I000005");
} else if(data.status == 'SUCCESS'){
businessMessage.alert("I000003");
research();
}
})
}
function cancelop(){
window.location.reload();
}
function changeData(tableId, index, obj) {
var value = $(obj).val();
var name = $(obj).attr('id');
var row = $('#' + tableId).bootstrapTable('getData')[index];
row[name] = value;
}
function cancelDate(){
$('#searhKoJyoCd').val('');
$('#searchKoJyoNm').val('');
$('#searchDeletekbn').prop("checked",false);
}
function addRow(){
var rowCount = $('#table').bootstrapTable('getData').length;
index: rowCount + 1,
$('#table').bootstrapTable('insertRow', {
index: rowCount + 1,
row: {
idx: rowCount + 1,
kojoCd: "",
kojoNm: "",
kojokbn: "",
kojorkNm: "",
jyusyo: "",
yubin: "",
telNo: "",
faxNo: "",
tantoNm: ""
}
});
}
function removeRow(index) {
$('#table').bootstrapTable('remove', {
field : 'idx',
values : [parseInt(index)]
});
}
function removeData(index,idx) {
var row = $("#table").bootstrapTable('getData')[index];
deleteList.push(row.kojoCd);
$('#table').bootstrapTable('remove', {
field : 'idx',
values : [parseInt(idx)]
});
}
function actionFormatterDelete(value, row, index) {
if(row.deletekbn == "1"){
return [
'<button class="btn btn-info btn-lg btn-size input-rad font1-setFamliy" type="button" disabled = "true" style="cursor:default;">削 除</button>'
].join('');
}else if(row.deletekbn == "0") {
return [
'<button class="btn btn-info btn-lg btn-size input-rad font1-setFamliy" type="button" οnclick="removeData('+ index + ',' + row.idx + ');">削 除</button>'
].join('');
}else {
return [
'<button class="btn btn-info btn-lg btn-size input-rad font1-setFamliy" type="button" οnclick="removeRow('+ row.idx + ');">取消</button>'
].join('');
}
};
function kojoCdOperate(value,row,index){
return [
'<input type="text" id="kojoCd" class="form-control number-input" dec="2"" style="text-align:right" maxLength="7" value="' + value + '" οnchange="changeData('+'table.id'+','+ index +', this);">'
].join('');
}
function kojoNmOperate(value,row,index){
return [
'<input type="text" id="kojoNm" class="form-control number-input" dec="2"" style="text-align:right" maxLength="7" value="' + value + '" οnchange="changeData('+'table.id'+','+ index +', this);">'
].join('');
}
function kojokbnOperate(value,row,index){
var length = kojyokbnList.length;
var newRow = '<select id="kojokbn" class="select2 form-control no-border-select2" data-placeholder="" οnblur="changeData('+ 'table.id' + ',' + index + ', this);">'
for (var i = 0; i < length; i++) {
if (row.kojokbn == kojyokbnList[i].value) {
newRow += '<option selected="selected" value="' + kojyokbnList[i].value + '">' + kojyokbnList[i].text
+ '</option>';
} else {
newRow += '<option value="' + kojyokbnList[i].value + '">' + kojyokbnList[i].text + '</option>';
}
}
newRow += '</select>';
return [ newRow ].join('');
}
function kojorkNmOperate(value,row,index){
return [
'<input type="text" id="kojorkNm" class="form-control number-input" dec="2"" style="text-align:right" maxLength="7" value="' + value + '" οnchange="changeData('+'table.id'+','+ index +', this);">'
].join('');
}
function jyusyoOperate(value,row,index){
return [
'<input type="text" id="jyusyo" class="form-control number-input" dec="2"" style="text-align:right" maxLength="7" value="' + value + '" οnchange="changeData('+'table.id'+','+ index +', this);">'
].join('');
}
function yubinOperate(value,row,index){
return [
'<input type="text" id="yubin" class="form-control number-input" dec="2"" style="text-align:right" maxLength="7" value="' + value + '" οnchange="changeData('+'table.id'+','+ index +', this);">'
].join('');
}
function telNoOperate(value,row,index){
return [
'<input type="text" id="telNo" class="form-control number-input" dec="2"" style="text-align:right" maxLength="7" value="' + value + '" οnchange="changeData('+'table.id'+','+ index +', this);">'
].join('');
}
function faxNoOperate(value,row,index){
return [
'<input type="text" id="faxNo" class="form-control number-input" dec="2"" style="text-align:right" maxLength="7" value="' + value + '" οnchange="changeData('+'table.id'+','+ index +', this);">'
].join('');
}
function tantoNmOperate(value,row,index){
return [
'<input type="text" id="tantoNm" class="form-control number-input" dec="2"" style="text-align:right" maxLength="7" value="' + value + '" οnchange="changeData('+'table.id'+','+ index +', this);">'
].join('');
}
function idxOperate(value,row,index){
return index;
}
function research() {
var submitData = getJsonObject("scroll-wrapper");
submitData.searchKojoCd = $.trim($("#searhKoJyoCd").val());
submitData.kojoNm = $.trim($("#searchKoJyoNm").val());
doAjax("/TSMK01006/search", submitData,function(data) {
if(data.status == 'FAIL'){
businessMessage.alert("I000002");
}
$("#table").bootstrapTable('load', data.data);
})
};
initBootstrapTable("table", {
reorderableRows: true,
striped: true,
toolbar: '#toolbar',
useRowAttrFunc: true,
method: 'get',
url: '',
theadClasses: "thead-blue",
btn: true,
height: 500,
width: 1180,
columns: [
[{
field: 'idx',
title: 'idx',
align: 'center',
colspan: 1,
width: 80,
halign: "center",
sortable: true,
visible: false
},{
field: 'kojoCd',
title: '工場コード',
align: 'center',
colspan: 1,
width: 80,
halign: "center",
sortable: true,
formatter:kojoCdOperate,
}, {
field: 'kojoNm',
title: '工場名',
class: "readonly-column",
align: 'left',
colspan: 1,
width: 120,
halign: "center",
sortable: true,
formatter:kojoNmOperate,
}, {
field: 'kojokbn',
title: '工場区分',
class: "readonly-column",
align: 'left',
colspan: 1,
width: 70,
halign: "center",
sortable: true,
formatter:kojokbnOperate
}, {
field: 'kojorkNm',
title: '工場名略称',
class: "readonly-column",
align: 'left',
colspan: 1,
width: 100,
halign: "center",
sortable: true,
formatter:kojorkNmOperate,
}, {
field: 'jyusyo',
title: '住所',
class: "readonly-column",
align: 'left',
colspan: 1,
width: 108,
halign: "center",
sortable: true,
formatter:jyusyoOperate,
}, {
field: 'yubin',
title: '郵便番号',
class: "readonly-column",
align: 'left',
colspan: 1,
width: 50,
halign: "center",
sortable: true,
formatter:yubinOperate,
}, {
field: 'telNo',
title: '電話番号',
class: "readonly-column",
align: 'left',
colspan: 1,
width: 95,
halign: "center",
sortable: true,
formatter:telNoOperate,
}, {
field: 'faxNo',
title: 'FAX',
class: "readonly-column",
align: 'left',
colspan: 1,
width: 130,
halign: "center",
sortable: true,
formatter:faxNoOperate,
}, {
field: 'tantoNm',
title: '担当者',
class: "readonly-column",
align: "left",
colspan: 1,
width: 80,
halign: "center",
sortable: true,
formatter:tantoNmOperate,
}, {
field: 'deletekbn',
title: '削除',
class: "readonly-column",
align: "right",
colspan: 1,
width: 80,
formatter: actionFormatterDelete
}]
],
});
</script>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Hello, Bootstrap Table!</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/bootstrap-table.min.css">
</head>
<body>
<table id="table" style="width: 500px;height: 800px">
</table>
<br>
<button id="addData" onclick="addData()">追加</button>
<br>
<button id="btn" onclick="addFormList()">登录</button>
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
<script src="https://unpkg.com/[email protected]/dist/bootstrap-table.min.js"></script>
</body>
<script>
var obj = {};
var list = [];
$('#table').bootstrapTable({
url:"/index/search",
columns: [
{
field: 'timestamp',
title: '时间戳',
sortable: true,
formatter: timeOperate
},
{
field: 'id',
title: 'ID',
sortable: true,
formatter: idOperate
},
{
field: 'name',
title: '姓名',
sortable: true,
formatter: nameOperate
},
{
field: 'age',
title: '年龄',
formatter: ageOperate
},
{
field: 'address',
title: '状态',
sortable: true,
formatter: addressOperate
},
{
field: 'deleteFlag',
title: '按钮',
formatter : deleteFlag
}
]
});
function addFormList() {
var data = $('#table').bootstrapTable('getData');
var count = data.length;
updataData(count);
obj.students = data;
obj.deleteIdList = list;
console.info(JSON.stringify(obj));
$.ajax({
url : '/index/insert',
type: "POST",
datatype:"json",
contentType: "application/json;charset=utf-8",
data:JSON.stringify(obj),
success : function(data, stats) {
console.log(data);
console.log(stats);
},
error : function(data) {
alert("请求失败");
}
})
}
function updataData(count){
var params = [];
for(var dataIndex=0;dataIndex<=count;dataIndex++) {
var columns = $('#table tr[data-index="'+dataIndex+'"] td');
var obj = {};
for (var i=0; i < columns.length -1; i++) {
var td = $(columns[i]).find('input');
var key = td.attr('id');
obj[key] = $.trim(td.val());
}
params.push({index:dataIndex, row:obj});
}
console.info(params);
$('#table').bootstrapTable("updateRow",params);
}
function addData() {
var count = $('#table').bootstrapTable('getData').length;
updataData(count);
$('#table').bootstrapTable('insertRow', {
index: count + 1,
row: {
timestamp: (new Date()).valueOf(),
id: '',
name: '',
age: '',
address : ''
}
});
}
function deleteFlag(value, row, index) {
if (row.deleteFlag == false){
return '<button οnclick="deleteData('+ row.timestamp + ',' + index + ')">删除</button>'
} else if (row.deleteFlag == true){
return '<button disabled="disabled">删除</button>'
}
else {
return '<button οnclick="deleteInsert('+ row.timestamp +')">取消</button>'
}
}
function deleteData(timestamp,index) {
var row = $("#table").bootstrapTable('getData')[index];
list.push(row.id);
$('#table').bootstrapTable('remove', {
field: 'timestamp',
values: [parseInt(row.timestamp)]
});
}
function deleteInsert(timestamp) {
$('#table').bootstrapTable('remove', {
field: 'timestamp',
values: [parseInt(timestamp)]
});
}
function idOperate(row,index,vaue){
return [
'<input type="text" id="id" class="form-control" style="width: 80px;" value=" '+row+' " />'
].join('');
}
function nameOperate(row,index,vaue){
return [
'<input type="text" id="name" class="form-control" style="width: 80px;" value=" '+row+' " />'
].join('')
}
function ageOperate(row,index,vaue){
return [
'<input type="text" id="age" class="form-control" style="width: 80px;" value=" '+row+' " />'
].join('')
}
function addressOperate(row,index,vaue){
return [
'<input type="text" id="address" οnblur="testOBj()" class="form-control" style="width: 80px;" value=" '+row+' " />'
].join('')
}
function timeOperate(row,index,vaue){
return [
(new Date()).valueOf()
].join('')
}
function testOBj() {
var obj = $('input').val();
console.info(obj);
}
</script>
</html>