jeecg 擴展封裝查詢條件 時間段查詢


  使用jeecg框架開發的小伙伴們知道,添加查詢條件,通常是我們加一個配置(query="true")就可以將該字段設置為查詢條件。簡單方便。但是這樣的配置查詢條件僅適用於輸入框輸入查詢和下拉框查詢(如果你配置的該字段使用了replace)。顯然,這樣的查詢條件根本滿足不了我們的需求,最常見的就是時間段查詢,以及時間段與其他字段混合查詢的情況,下面簡單說一下解決方法。

  自定義查詢條件,

第一步:將字段中所有配置的query="true",改為query="false",即告訴框架我不需要你給我生成查詢條件

第二步:在<t:datagrid></t:datagrid>下方加上一個div,此div就是放置查詢條件的,並在div里配置你需要的查詢條件。

<div  style="padding: 3px; height: 70px">
    
    <div name="searchColums" style="float: left; padding-left: 15px;">
        <span>
              <span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 80px;text-align:right;" title="訂單號 ">訂單號: </span>
              <input type="text" name="orderNo" style="width: 100px; height: 24px;">
              
              <span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 80px;text-align:right;" title="客戶姓名">客戶姓名: </span>
              <input type="text" name="clientId.name" style="width: 100px; height: 24px;">
              
              <span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 80px;text-align:right;" title="車牌號">車牌號: </span>
              <input type="text" name="licensePlateNumber" style="width: 100px; height: 24px;">
              
              <span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 80px;text-align:right;" title="扣費狀態">扣費狀態: </span>
              <select name="state" style="width: 80px">
                  <option value="">請選擇</option>
                  <option value="1">扣費成功</option>
                  <option value="0">扣費失敗</option>
               </select>
             <br/>
             <br/>
              <span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 90px;text-align:right;" title="出場時間 ">出場時間: </span>
              <input type="text" name="outtime_begin" style="width: 100px; height: 24px;">~
              <input type="text" name="outtime_end" style="width: 100px; height: 24px; margin-right: 20px;">
         </span>
         <a href="#" class="easyui-linkbutton" iconCls="icon-search" onclick="deductionListsearch();" style="text-align: right;width: 670px">查詢</a>
         <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-putout" onclick="exportExcel();">導出excel</a>
    </div>
</div>

第三步:參考上面的代碼,有幾個地方需要注意。

  1. 標紅的是你需要設置的查詢字段名稱,該名稱和你<t:datagrid></t:datagrid>中的<t:dgCol>中的field字段名稱對應
  2. 標藍的是時間段的配置,這里你只需要放上兩個input輸入框,然后在js代碼里添加如下代碼:
     $(document).ready(function(){
            $("input[name='outtime_begin']").attr("class","Wdate").attr("style","height:20px;width:90px;").click(function(){WdatePicker({dateFmt:'yyyy-MM-dd'});});
            $("input[name='outtime_end']").attr("class","Wdate").attr("style","height:20px;width:90px;").click(function(){WdatePicker({dateFmt:'yyyy-MM-dd'});});
    
        });

     

  3. 標粉的這個方法一定要注意,需要我們自己寫嗎?當然no,但是起名的時候一定要注意是你<t:datagrid></t:datagrid>的name加search()生成。
  4. <t:datagrid name="testList" >例如我現在起的名字是testList,那么該方法名就是testListsearch();之所以是這樣,是因為框架封裝的查詢規則。

第四部:這樣自定義查詢條件前台已經完成了。后台如果是普通配置的查詢條件,就使用CriteriaQuery.add()方法就行,所有參數都可以通過request獲取到,當然你也沒必要這樣做。

下面附上一張效果圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM