論文軟件的是三個問題的解決方案

一、日期格式輸入框裏面日期的限定

現象: 在laydate.render裏面添加max與min,沒有反應

頁面;

<input type="text" id="sTime" name="sTime" model="datetime"
                format="yyyy-MM-dd" placeholder="yyyy-MM-dd" autocomplete="off"
                class="layui-input test-item" />

js:

 laydate.render({
            elem : '#sTime'
        });

 

方案一:

 var start = {
 min: laydate.now()
 ,max: '2099-06-16 23:59:59'
 ,istoday: false
 ,choose: function(datas){
  end.min = datas; //開始日選好後,重置結束日的最小日期
  end.start = datas //將結束日的初始值設定爲開始日
 }
 };

 var end = {
 min: laydate.now()
 ,max: '2099-06-16 23:59:59'
 ,istoday: false
 ,choose: function(datas){
  start.max = datas; //結束日選好後,重置開始日的最大日期
 }
 };

 document.getElementById('LAY_demorange_s').onclick = function(){
 start.elem = this;
 laydate(start);
 }
 document.getElementById('LAY_demorange_e').onclick = function(){
 end.elem = this
 laydate(end);
 }

 

方案二:

var startDate= laydate.render({//渲染開始時間選擇
elem: '#start'//通過id綁定html中插入的start
, type: 'date'
,max:"2099-12-31"//設置一個默認最大值
,
done: function (value, dates) {
endDate.config.min ={
year:dates.year,
month:dates.month-1, //關鍵
date: dates.date,
hours: 0,
minutes: 0,
seconds : 0
};
}
});
var endDate= laydate.render({//渲染結束時間選擇
elem: '#end',//通過id綁定html中插入的end
type: 'date',
min:"1970-1-1",//設置min默認最小值
done: function (value, dates) {
startDate.config.max={
year:dates.year,
month:dates.month-1,//關鍵
date: dates.date,
hours: 0,
minutes: 0,
seconds : 0
}
}
});
 

二、echar插件裏面數據的邏輯

全部逾期的條件:    
SQL條件    
AND    予定結束時間 <=當前時間
AND    實際結束時間 <=當前時間
AND(    
    予定結束時間 < 實際結束時間
OR    實際結束時間 = 19000101
)   

DATE_FORMAT(NOW(),'%Y%m%d') 

實際結束時間  != 19000101    
    
逾期:    予定結束時間 < 實際結束時間 < 予定結束時間 +3
嚴重逾期:    予定結束時間 +3 <=實際結束時間

實際結束時間 = 19000101    
    
逾期:    當前時間< 予定結束時間+3
嚴重逾期:    予定結束時間+3 <= 當前時間

 

如果當前時間: 20181018      
予定結束時間 實際結束時間 20181018 20181017 20181016
20181015 19000101 嚴重逾期 嚴重逾期 嚴重逾期
20181016 19000101 嚴重逾期 嚴重逾期 嚴重逾期
20181017 19000101 嚴重逾期 嚴重逾期 --
20181018 19000101 嚴重逾期 -- --
20181015 20181018 嚴重逾期 逾期 逾期
20181016 20181018 逾期 逾期 逾期
20181017 20181018 逾期 逾期 --
20181018 20181018 -- -- --
20181015 20181017 逾期 逾期 逾期
20181016 20181017 逾期 逾期 逾期
20181017 20181017 -- -- --
20181018 20181017 -- -- --
20181014 20181017 嚴重逾期 嚴重逾期 逾期
20181015 20181018 嚴重逾期 逾期 逾期

20181018:                
逾期    上面查出的總量Acount    4        
嚴重逾期    上面查出的總量Bcount    7        
                
                
20181017:                
逾期    C:Acount+實際時間爲20181018且予定結束時間等於20181015            6
嚴重逾期    D:Bcount-實際時間爲20181018且予定結束時間等於20181015-予定結束時間爲20181018且實際結束時間等於19000101            4
                
                
                
20181016:                
逾期    E:C+實際時間爲20181017且予定結束時間等於20181014-予定時間爲20181017且實際結束時間>予定時間            6
嚴重逾期    F:D-實際結束時間爲20181017且予定結束時間爲20181014-予定結束時間爲20181017且實際結束時間等於19000101            2
                
                
嚴重逾期 以此類推。。。。。。   

三、layui.open裏面end函數,獲得後臺數據

現象:採用layui.open打開一個彈窗之後,進行數據的更新或增加,關閉彈窗之後需要刷新父頁面,將剛剛增加或修改的數據體現上去。現在是關閉彈窗之後,父頁面刷新太快不能體現新增或者修改的數據。添加一個alert就可以了。但是alert內容不太好確定,是成功還是失敗。如果js代碼寫在頁面中可以使用EL表達式,但是外部導入的不太可以。 

方案一:將js寫入到jsp頁面中;

 

四、select控件的回顯問題

現象:一個項目有一個負責人負責,在更改時查詢出所有的用戶,使用select下拉控件進行顯示,問題是:這樣操作不能顯示其原有的負責人。

思路:在跳轉到更改頁面時,項目的負責人是知道的。在返回數據時將負責人返回。頁面加載時,運行函數,對select下拉控件進行掃描判斷,如果值等於後臺傳進來的值就setAttribute("selected",'true');//設置選中狀態。

頁面加載運行:

window.onload=function (){

    var userName=”xiaoming”;

    alert(userName);

}

 

‍‍<select id="pid">
    <option value="a">選項一</a>
    <option  value="b">選項二</a>
</select>

<script type="text/JavaScript">
    window.onload=function (){
        var objS = document.getElementById("pid");
        
        var a = “${requestScope.xxxxForm.recordNumPerPage}”
         if(a == undefined || a == null || a ==""){  
            return false;  
        }
        for(var i=0;i<obj.length;i++){  
            if(obj[i].value==a){  
                obj[i].selected=true;  //相等則選中  
            }  
        }
       }
</script>

五、分頁的問題

現象:之前代碼寫的時候沒有去考慮分頁,現在數據比較多了,需要進行分頁控制,但是不想對原有的代碼進行大修改。需要的數據時一次性傳到前臺的。

網上有很多思路,但是因爲這是一個練習,所以我自己想一個思路:頁面上的所有數據都是用Table來展示的,那麼我可以通過使用對<tr>標籤的顯示與隱藏來呈現分頁的效果;

首先我們需要畫一個分頁的控件:

《《                1             2                3            4                 5        》》  

 

如果超過5頁

《《                1             2                。。。。。  9            10        》》         第【】頁  按鈕 這一種情況先不考慮

 

分頁的設置:

每頁顯示:10條數據

總數據:後臺傳入數據

總頁數:後臺傳入數據+1/10

 

function paging(showCount,dataCount){

    // 計算總頁數

var pageCount = dataCount/showCount + 1

// 對按鈕進行控制 顯示不顯示

 

// 對<tr>進行控制

if(dataCount >10){

    var table = document.getElementById("table1");
    var tr = table.getElementsByTagName("tr");
    var len = tr.length;
    for(i=len;i>10;i--){
        tr[i].style.display = 'none';  // 隱藏

       }

    }

}

 

function onClickPaging(pages){      // 傳入的頁碼

 

}

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章