From 289140c6c2650a10baaa988d381c7d6668788b43 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 31 三月 2021 16:04:55 +0800
Subject: [PATCH] #
---
src/main/webapp/static/js/custOrder/custOrder.js | 12 +++--
src/main/webapp/static/layui/lay/modules/tableMerge.js | 75 +++++++++++++++++++++++++++++++++++++
2 files changed, 82 insertions(+), 5 deletions(-)
diff --git a/src/main/webapp/static/js/custOrder/custOrder.js b/src/main/webapp/static/js/custOrder/custOrder.js
index f79ac41..131ae19 100644
--- a/src/main/webapp/static/js/custOrder/custOrder.js
+++ b/src/main/webapp/static/js/custOrder/custOrder.js
@@ -16,13 +16,14 @@
}
layui.config({
base: baseUrl + "/static/layui/lay/modules/" // 閰嶇疆妯″潡鎵�鍦ㄧ殑鐩綍
-}).use(['table', 'laydate', 'form', 'tableX'], function(){
+}).use(['table', 'laydate', 'form', 'tableX', 'tableMerge'], function(){
var table = layui.table;
var $ = layui.jquery;
var layer = layui.layer;
var layDate = layui.laydate;
var form = layui.form;
var tableX = layui.tableX;
+ var tableMerge = layui.tableMerge;
// 鏁版嵁娓叉煋
tableIns = table.render({
@@ -223,9 +224,9 @@
// ,width: admin.screen() > 1 ? 892 : ''
height: 432,
cols: [[
- {field: 'title', title: '鍟嗗搧', align: 'center'},
- {field: 'anfme', title: '鎬绘暟閲�', align: 'center', style: 'font-weight: bold', width: 90},
- {field: 'type', title: '浠撳簱', align: 'center', templet: '#typeTpl', width: 90},
+ {field: 'title', title: '鍟嗗搧', merge: true, align: 'center'},
+ {field: 'anfme', title: '鎬绘暟閲�', merge: ['title'], align: 'center', style: 'font-weight: bold', width: 90},
+ {field: 'type', title: '浠撳簱', merge: true, align: 'center', templet: '#typeTpl', width: 90},
{field: 'locNo', title: '璐т綅', align: 'center'},
{field: 'prior$', title: '鎺ㄨ崘璐т綅', align: 'center', width: 100},
{field: 'reduce', title: '鏁伴噺', align: 'center', width: 90, style: 'font-weight: bold'},
@@ -233,7 +234,8 @@
{field: 'total', title: '鎬婚噺', align: 'center', width: 90},
]],
done: function () {
- tableX.merges('stoPreTab', [0,1,2]);
+ tableMerge.render(this);
+ // tableX.merges('stoPreTab', [0,1,2]);
$('.layui-table-body.layui-table-main').css("overflow", "auto")
}
});
diff --git a/src/main/webapp/static/layui/lay/modules/tableMerge.js b/src/main/webapp/static/layui/lay/modules/tableMerge.js
new file mode 100644
index 0000000..4d26b3c
--- /dev/null
+++ b/src/main/webapp/static/layui/lay/modules/tableMerge.js
@@ -0,0 +1,75 @@
+/**
+ * Created by YujieYang.
+ * @name: 瀛愯〃鏍兼墿灞�
+ * @author: 鏉ㄧ帀鏉�
+ * @version 1.0
+ */
+layui.define(['table'], function (exports) {
+
+ var $ = layui.jquery;
+
+ // 灏佽鏂规硶
+ var mod = {
+ /**
+ * 娓叉煋鍏ュ彛
+ * @param myTable
+ */
+ render: function (myTable) {
+ var tableBox = $(myTable.elem).next().children('.layui-table-box'),
+ $main = $(tableBox.children('.layui-table-body').children('table').children('tbody').children('tr').toArray().reverse()),
+ $fixLeft = $(tableBox.children('.layui-table-fixed-l').children('.layui-table-body').children('table').children('tbody').children('tr').toArray().reverse()),
+ $fixRight = $(tableBox.children('.layui-table-fixed-r').children('.layui-table-body').children('table').children('tbody').children('tr').toArray().reverse()),
+ cols = myTable.cols[0], mergeRecord = {};
+
+ for (let i = 0; i < cols.length; i++) {
+ var item3 = cols[i], field=item3.field;
+ if (item3.merge) {
+ var mergeField = [field];
+ if (item3.merge !== true) {
+ if (typeof item3.merge == 'string') {
+ mergeField = [item3.merge]
+ } else {
+ mergeField = item3.merge
+ }
+ }
+ mergeRecord[i] = {mergeField: mergeField, rowspan:1}
+ }
+ }
+
+ $main.each(function (i) {
+
+ for (var item in mergeRecord) {
+ if (i==$main.length-1 || isMaster(i, item)) {
+ $(this).children('[data-key$="-'+item+'"]').attr('rowspan', mergeRecord[item].rowspan).css('position','static');
+ $fixLeft.eq(i).children('[data-key$="-'+item+'"]').attr('rowspan', mergeRecord[item].rowspan).css('position','static');
+ $fixRight.eq(i).children('[data-key$="-'+item+'"]').attr('rowspan', mergeRecord[item].rowspan).css('position','static');
+ mergeRecord[item].rowspan = 1;
+ } else {
+ $(this).children('[data-key$="-'+item+'"]').remove();
+ $fixLeft.eq(i).children('[data-key$="-'+item+'"]').remove();
+ $fixRight.eq(i).children('[data-key$="-'+item+'"]').remove();
+ mergeRecord[item].rowspan +=1;
+ }
+ }
+ })
+
+ function isMaster (index, item) {
+ var mergeField = mergeRecord[item].mergeField;
+ var dataLength = layui.table.cache[myTable.id].length;
+ for (var i=0; i<mergeField.length; i++) {
+
+ if (layui.table.cache[myTable.id][dataLength-2-index][mergeField[i]]
+ !== layui.table.cache[myTable.id][dataLength-1-index][mergeField[i]]) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ }
+ };
+
+ // 杈撳嚭
+ exports('tableMerge', mod);
+});
+
--
Gitblit v1.9.1