This commit is contained in:
dgjunjie 2021-02-08 09:20:23 +08:00
commit 3004047ee6
12 changed files with 88 additions and 40 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -259,12 +259,13 @@
//淘宝搜索建议测试
var taobaoBsSuggest = $("#taobao").bsSuggest({
indexId: 2, //data.value 的第几个数据作为input输入框的内容
indexKey: 1, //data.value 的第几个数据作为input输入框的内容
allowNoKeyword: false, //是否允许无关键字时请求数据
multiWord: true, //以分隔符号分割的多关键字支持
separator: ",", //多关键字支持时的分隔符,默认为空格
getDataMethod: "url", //获取数据的方式,总是从 URL 获取
indexId: 2, // data.value 的第几个数据作为input输入框的内容
indexKey: 1, // data.value 的第几个数据作为input输入框的内容
allowNoKeyword: false, // 是否允许无关键字时请求数据
hideOnSelect: true, // 鼠标从列表单击选择了值时,是否隐藏选择列表
multiWord: true, // 以分隔符号分割的多关键字支持
separator: ",", // 多关键字支持时的分隔符,默认为空格
getDataMethod: "url", // 获取数据的方式,总是从 URL 获取
effectiveFieldsAlias: {
Id: "序号",
Keyword: "关键字",

View File

@ -84,7 +84,26 @@
<script th:src="@{/js/jquery.tmpl.js}"></script>
<script th:inline="javascript">
$(function() {
// 初始化数据, 可以由后台传过来
var data = [
{
id: "100",
name: "商品名称",
weight: "100",
price: "12.5",
date: "2021-02-01",
type: "1",
},
{
id: "101",
name: "商品名称2",
weight: "50",
price: "10.8",
date: "2021-02-01",
type: "0",
}];
var options = {
data: data,
pagination: false,
showSearch: false,
showRefresh: false,
@ -100,7 +119,8 @@
title: "序号",
formatter: function (value, row, index) {
var columnIndex = $.common.sprintf("<input type='hidden' name='index' value='%s'>", $.table.serialNumber(index));
return columnIndex + $.table.serialNumber(index);
var columnId = $.common.sprintf("<input type='hidden' name='goods[%s].id' value='%s'>", index, row.id);
return columnIndex + $.table.serialNumber(index) + columnId;
}
},
{
@ -155,6 +175,7 @@
/* 主子表-提交 */
function submitHandler(index, layero){
var data = $("#form-add").serializeArray();
alert(JSON.stringify(data))
$.operate.saveModal("/demo/operate/customer/add", data);
}

View File

@ -10,7 +10,7 @@
<link th:href="@{/css/bootstrap.min.css}" rel="stylesheet"/>
<link th:href="@{/css/font-awesome.min.css}" rel="stylesheet"/>
<!-- bootstrap-table 表格插件样式 -->
<link th:href="@{/ajax/libs/bootstrap-table/bootstrap-table.min.css?v=20201129}" rel="stylesheet"/>
<link th:href="@{/ajax/libs/bootstrap-table/bootstrap-table.min.css?v=20210202}" rel="stylesheet"/>
<link th:href="@{/css/animate.css}" rel="stylesheet"/>
<link th:href="@{/css/style.css?v=20200903}" rel="stylesheet"/>
<link th:href="@{/ruoyi/css/ry-ui.css?v=4.6.0}" rel="stylesheet"/>
@ -23,9 +23,9 @@
<script th:src="@{/js/jquery.min.js}"></script>
<script th:src="@{/js/bootstrap.min.js}"></script>
<!-- bootstrap-table 表格插件 -->
<script th:src="@{/ajax/libs/bootstrap-table/bootstrap-table.min.js?v=20201129}"></script>
<script th:src="@{/ajax/libs/bootstrap-table/locale/bootstrap-table-zh-CN.min.js?v=20201129}"></script>
<script th:src="@{/ajax/libs/bootstrap-table/extensions/mobile/bootstrap-table-mobile.min.js?v=20201129}"></script>
<script th:src="@{/ajax/libs/bootstrap-table/bootstrap-table.min.js?v=20210202}"></script>
<script th:src="@{/ajax/libs/bootstrap-table/locale/bootstrap-table-zh-CN.min.js?v=20210202}"></script>
<script th:src="@{/ajax/libs/bootstrap-table/extensions/mobile/bootstrap-table-mobile.min.js?v=20210202}"></script>
<!-- jquery-validate 表单验证插件 -->
<script th:src="@{/ajax/libs/validate/jquery.validate.min.js}"></script>
<script th:src="@{/ajax/libs/validate/messages_zh.min.js}"></script>
@ -179,7 +179,7 @@
<!-- 表格列宽拖动插件 -->
<div th:fragment="bootstrap-table-resizable-js">
<script th:src="@{/ajax/libs/bootstrap-table/extensions/resizable/jquery.resizableColumns.min.js}"></script>
<script th:src="@{/ajax/libs/bootstrap-table/extensions/resizable/bootstrap-table-resizable.min.js?v=20201129}"></script>
<script th:src="@{/ajax/libs/bootstrap-table/extensions/resizable/bootstrap-table-resizable.min.js?v=20210202}"></script>
</div>
<!-- 表格行内编辑插件 -->
@ -188,7 +188,7 @@
</div>
<div th:fragment="bootstrap-table-editable-js">
<script th:src="@{/ajax/libs/bootstrap-table/extensions/editable/bootstrap-editable.min.js}"></script>
<script th:src="@{/ajax/libs/bootstrap-table/extensions/editable/bootstrap-table-editable.min.js?v=20201129}"></script>
<script th:src="@{/ajax/libs/bootstrap-table/extensions/editable/bootstrap-table-editable.min.js?v=20210202}"></script>
</div>
<!-- 表格导出插件 -->
@ -199,12 +199,12 @@
<!-- 表格冻结列插件 -->
<div th:fragment="bootstrap-table-fixed-columns-js">
<script th:src="@{/ajax/libs/bootstrap-table/extensions/columns/bootstrap-table-fixed-columns.min.js?v=20201129}"></script>
<script th:src="@{/ajax/libs/bootstrap-table/extensions/columns/bootstrap-table-fixed-columns.min.js?v=20210202}"></script>
</div>
<!-- 表格自动刷新插件 -->
<div th:fragment="bootstrap-table-auto-refresh-js">
<script th:src="@{/ajax/libs/bootstrap-table/extensions/auto-refresh/bootstrap-table-auto-refresh.min.js?v=20201129}"></script>
<script th:src="@{/ajax/libs/bootstrap-table/extensions/auto-refresh/bootstrap-table-auto-refresh.min.js?v=20210202}"></script>
</div>
<!-- 表格打印插件 -->

View File

@ -185,7 +185,8 @@ public class ExcelUtil<T>
throw new IOException("文件sheet不存在");
}
int rows = sheet.getPhysicalNumberOfRows();
// 获取最后一个非空行的行下标比如总行数为n则返回的为n-1
int rows = sheet.getLastRowNum();
if (rows > 0)
{
@ -225,10 +226,15 @@ public class ExcelUtil<T>
}
}
}
for (int i = 1; i < rows; i++)
for (int i = 1; i <= rows; i++)
{
// 从第2行开始取数据,默认第一行是表头.
Row row = sheet.getRow(i);
// 判断当前行是否是空行
if (isRowEmpty(row))
{
continue;
}
T entity = null;
for (Map.Entry<Integer, Field> entry : fieldsMap.entrySet())
{
@ -1090,4 +1096,27 @@ public class ExcelUtil<T>
}
return val;
}
/**
* 判断是否是空行
*
* @param row 判断的行
* @return
*/
private boolean isRowEmpty(Row row)
{
if (row == null)
{
return true;
}
for (int i = row.getFirstCellNum(); i < row.getLastCellNum(); i++)
{
Cell cell = row.getCell(i);
if (cell != null && cell.getCellType() != CellType.BLANK)
{
return false;
}
}
return true;
}
}