Commit ec4fd9ee220aac62497c427ab5895cf92f16459b

Authored by 李小慧
1 parent 1a40e9ec
Exists in dev

feat: 需求表格自动滚动

platform/src/main/webapp/template/web/home/product.html
... ... @@ -8,7 +8,7 @@ if(isEmpty(page)){
8 8 page = 1;
9 9 }
10 10 page = parseInt(page);
11   -var orderList = temp.getOrders(page,10);
  11 +var orderList = temp.getOrders(page,100);
12 12 %>
13 13  
14 14 <%
... ... @@ -48,83 +48,37 @@ var bodyContent = {
48 48 </div>
49 49  
50 50 <div class="demand-container">
51   - <table class="demand-table">
52   - <tr>
53   - <th width="100px">货主</th>
54   - <th width="100px">运输距离(Km)</th>
55   - <th width="120px">运输方式</th>
56   - <th width="200px">出发地</th>
57   - <th width="200px">目的地</th>
58   - <th width="120px">货物类型</th>
59   - <th width="100px">重量(吨)</th>
60   - <th width="100px">状态</th>
61   - <th width="160px">提交时间</th>
62   - </tr>
63   - <%
64   - list = orderList.list;
65   - if(!isEmpty(list)){
66   - for(item in list){ %>
67   - <tr class="row">
68   - <td width="100px">${item.user_name}</td>
69   - <td width="100px">${item.distance}</td>
70   - <td width="120px">${item.type}</td>
71   - <td width="200px">${item.source_address}</td>
72   - <td width="200px">${item.target_address}</td>
73   - <td width="120px">${item.goods_category}</td>
74   - <td width="100px">${item.goods_weight}</td>
75   - <td width="100px">${item.status}</td>
76   - <td width="160px">${item.created_date}</td>
77   - </tr>
78   - <% }} %>
  51 + <table id="table" class="demand-table">
  52 + <thead>
  53 + <tr>
  54 + <th width="100px">货主</th>
  55 + <th width="100px">运输距离(Km)</th>
  56 + <th width="120px">运输方式</th>
  57 + <th width="250px">出发地</th>
  58 + <th width="250px">目的地</th>
  59 + <th width="120px">货物类型</th>
  60 + <th width="100px">重量(吨)</th>
  61 + <th width="160px">发布时间</th>
  62 + </tr>
  63 + </thead>
  64 + <tbody>
  65 + <%
  66 + list = orderList.list;
  67 + if(!isEmpty(list)){
  68 + for(item in list){ %>
  69 + <tr class="row">
  70 + <td width="100px">${item.user_name}</td>
  71 + <td width="100px">${item.distance}</td>
  72 + <td width="120px">${item.type}</td>
  73 + <td width="250px">${item.source_address}</td>
  74 + <td width="250px">${item.target_address}</td>
  75 + <td width="120px">${item.goods_category}</td>
  76 + <td width="100px">${item.goods_weight}</td>
  77 + <td width="160px">${item.created_date}</td>
  78 + </tr>
  79 + <% }} %>
  80 + </tbody>
79 81 </table>
80   -
81   - <% if(orderList.totalPage > 1){
82   - var currentPage = orderList.pageNumber;
83   - var totalPage = orderList.totalPage;
84   - var previousPage = currentPage - 1;
85   - if (previousPage < 1) {
86   - previousPage = 1;
87   - }
88   - var nextPage = currentPage + 1;
89   - if (nextPage > totalPage) {
90   - nextPage = totalPage;
91   - }
92   - %>
93   - <div class="pagination">
94   - <a class="first-page page-button" href="${BASE_PATH}product.html?page=1">
95   - 首页
96   - </a>
97   - <a class="previous page-button" href="${BASE_PATH}product.html?page=${previousPage}">
98   - 上一页
99   - </a>
100   -
101   - <%if (currentPage - 2 >= 1) {%>
102   - <a class="page" href="${BASE_PATH}product.html?page=${currentPage-2}">${currentPage - 2}</a>
103   - <%}%>
104   -
105   - <%if (currentPage - 1 >= 1) {%>
106   - <a class="page" href="${BASE_PATH}product.html?page=${currentPage-1}">${currentPage - 1}</a>
107   - <%}%>
108   -
109   - <a class="page current-page" href="${BASE_PATH}product.html?page=${currentPage}">${currentPage}</a>
110   -
111   - <%if (currentPage + 1 <= totalPage) {%>
112   - <a class="page" href="${BASE_PATH}product.html?page=${currentPage+1}">${currentPage + 1}</a>
113   - <% }%>
114   -
115   - <%if (currentPage + 2 <= totalPage) {%>
116   - <a class="page" href="${BASE_PATH}product.html?page=${currentPage+2}">${currentPage + 2}</a>
117   - <%}%>
118   -
119   - <a class="next page-button" href="${BASE_PATH}product.html?page=${nextPage}">
120   - 下一页
121   - </a>
122   -
123   - <a class="last-page page-button" href="${BASE_PATH}product.html?page=${totalPage}">
124   - 尾页
125   - </a>
126   - </div>
127   - <%}%>
128 82 </div>
129 83 </div>
130 84  
... ... @@ -329,6 +283,84 @@ var bodyContent = {
329 283 </div>
330 284  
331 285 <% include("/template/web/base/footer.html"){} %>
  286 +
  287 +<script>
  288 + // 参数1 tableID,参数2 div高度,参数3 速度,参数4 tbody中tr几条以上滚动
  289 + tableScroll('table', 500, 30, 10)
  290 + var MyMarhq;
  291 +
  292 + function tableScroll(tableid, hei, speed, len) {
  293 + clearTimeout(MyMarhq);
  294 + $('#' + tableid).parent().find('.tableid_').remove()
  295 + $('#' + tableid).parent().prepend(
  296 + '<table class="tableid_ demand-table"><thead>' + $('#' + tableid + ' thead').html() + '</thead></table>'
  297 + ).css({
  298 + 'position': 'relative',
  299 + 'overflow': 'hidden',
  300 + 'height': hei + 'px'
  301 + })
  302 + $(".tableid_").find('th').each(function(i) {
  303 + $(this).css('width', $('#' + tableid).find('th:eq(' + i + ')').width());
  304 + });
  305 + $(".tableid_").css({
  306 + 'position': 'absolute',
  307 + 'top': 0,
  308 + 'left': 0,
  309 + 'z-index': 9
  310 + })
  311 + $('#' + tableid).css({
  312 + 'position': 'absolute',
  313 + 'top': 0,
  314 + 'left': 0,
  315 + 'z-index': 1
  316 + })
  317 +
  318 + if ($('#' + tableid).find('tbody tr').length > len) {
  319 + $('#' + tableid).find('tbody').html($('#' + tableid).find('tbody').html() + $('#' + tableid).find('tbody').html());
  320 + $(".tableid_").css('top', 0);
  321 + $('#' + tableid).css('top', 0);
  322 + var tblTop = 0;
  323 + var outerHeight = $('#' + tableid).find('tbody').find("tr").outerHeight();
  324 +
  325 + function Marqueehq() {
  326 + if ((tblTop - (hei - 52)) <= -outerHeight * $('#' + tableid).find('tbody').find("tr").length) {
  327 + $('#' + tableid).css({
  328 + 'position': 'absolute',
  329 + 'top': 0,
  330 + 'left': 0,
  331 + 'z-index': 1,
  332 + 'transition':'top 0s ease'
  333 + })
  334 + tblTop = 0;
  335 + } else {
  336 + $('#' + tableid).css({
  337 + 'position': 'absolute',
  338 + 'top': 0,
  339 + 'left': 0,
  340 + 'z-index': 1,
  341 + 'transition':'top 1s ease'
  342 + })
  343 + tblTop -= 1.5;
  344 + }
  345 + $('#' + tableid).css('top', tblTop + 'px');
  346 + clearTimeout(MyMarhq);
  347 + MyMarhq = setTimeout(function() {
  348 + Marqueehq()
  349 + }, speed);
  350 + }
  351 +
  352 + MyMarhq = setTimeout(Marqueehq, speed);
  353 + $('#' + tableid).find('tbody').hover(function() {
  354 + clearTimeout(MyMarhq);
  355 + }, function() {
  356 + clearTimeout(MyMarhq);
  357 + if ($('#' + tableid).find('tbody tr').length > len) {
  358 + MyMarhq = setTimeout(Marqueehq, speed);
  359 + }
  360 + })
  361 + }
  362 + }
  363 +</script>
332 364 <script>
333 365 function changeTab(index) {
334 366 console.log('changeTab', index)
... ...
platform/src/main/webapp/template/web/static/css/product.css
... ... @@ -230,12 +230,14 @@
230 230 margin: 0 auto;
231 231 background: #ffffff;
232 232 padding: 0 0 6px 0;
  233 + height: 500px;
  234 + overflow: hidden;
233 235 }
234 236  
235 237 .demand-container .pagination {
236 238 justify-content: flex-end;
237 239 }
238   -.demand-container .demand-table th {
  240 +.demand-container .demand-table thead tr th {
239 241 background: #3287FE;
240 242 color: #fff;
241 243 height: 52px;
... ...