diff options
author | 藍挺瑋 <lantw44@gmail.com> | 2012-12-22 01:56:21 +0800 |
---|---|---|
committer | LAN-TW <lantw44@gmail.com> | 2012-12-22 01:56:21 +0800 |
commit | 56837bb9c85635473b053897a3138ca82b40de10 (patch) | |
tree | 2778cd5088eb8f74e29761ce1f429477e4e07f64 | |
parent | f052cb33ee1a4069faa8bb1e0da6c04d92375e58 (diff) | |
download | inccalendar-56837bb9c85635473b053897a3138ca82b40de10.tar.gz inccalendar-56837bb9c85635473b053897a3138ca82b40de10.tar.zst inccalendar-56837bb9c85635473b053897a3138ca82b40de10.zip |
開始製作選擇匯入項目的表格
-rw-r--r-- | jinhtml/import.html | 18 | ||||
-rw-r--r-- | js/imnc.js | 126 |
2 files changed, 139 insertions, 5 deletions
diff --git a/jinhtml/import.html b/jinhtml/import.html index aceaab3..95719f4 100644 --- a/jinhtml/import.html +++ b/jinhtml/import.html @@ -98,6 +98,24 @@ <input type="button" value="開始匯入" onclick="imnc_argok()"> </div> <div id="imntuceibacheck" class="wholeform" style="display: none;"> + <p id="ncdatalisttitle" class="question">可匯入的資料清單</p> + <table id="ncdatalist" border="1" style="border-collapse: collapse;"> + <tr> + <td>編號</td> + <td>動作</td> + <td>日期</td> + <td>標題</td> + <td>成員</td> + <td>繳交方法</td> + <td>成績比重</td> + <td>逾期繳交</td> + <td>繳交日期</td> + <td>作業評語</td> + </tr> + </table> + <br> + <input type="button" value="返回設定頁面"> + <input type="button" value="確定"> </div> <div id="imntuceibacomplete" class="wholeform" style="display: none;"> <p class="question">資料匯入結果</p> @@ -1,4 +1,21 @@ var imnc_filecontent; +var imnc_xmlresponse; +var imnc_sendobjlist; +var addtitle, addmember, addmethod, addpercent, adddue, addlate, addsub, addcomment; + +function NtuCeibaEvent(){ + this.title = ""; + this.member = ""; + this.method = ""; + this.percent = ""; + this.duedate = new Date(); + this.late = false; + this.subdate = ""; + this.comment = ""; + this.red = false; + this.enabled = true; + this.key = null; +} function imnc_init(){ status_bar_clear(); @@ -48,9 +65,14 @@ function imnc_upload_send(){ var rq; var sendmsg; var viewonly = false; - var addtitle = false, addmember = false, addmethod = false; - var addpercent = false, adddue = false, addlate = false; - var addsub = false, addcomment = false; + addtitle = false; + addmember = false; + addmethod = false; + addpercent = false; + adddue = false; + addlate = false; + addsub = false; + addcomment = false; rq = create_xmlhttp_object(); rq.open('POST', '/access/imnc'); rq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); @@ -104,9 +126,10 @@ function imnc_upload_send(){ var textmsgtuple; if(rq.readyState == 4){ if(rq.status == 200){ - status_bar_clear("資料已接收"); + status_bar_clear(); if(viewonly){ - abc = rq.responseXML; + imnc_xmlresponse = rq.responseXML; + imnc_review(); }else{ completemsg = rq.responseText; textmsgtuple = completemsg.split(" "); @@ -123,3 +146,96 @@ function imnc_upload_send(){ } } } + +function imnc_review(){ + var i; + var ncevent; + var calevtobj; + var tableobj; + var newrow; + var newdata; + var newinput1, newinput2, newinput3; + var newtextnode; + var univar; /* 萬用暫存變數 */ + var defaultenabled; /* 預設情況下要不要插入這項目 */ + document.getElementById("imntuceibainfo").style.display = "none"; + document.getElementById("imntuceibacheck").style.display = "block"; + ncevent = imnc_xmlresponse.documentElement.getElementsByTagName("ncevent"); + if(ncevent.length == 0){ + document.getElementById("ncdatalisttitle").innerHTML = "沒有可匯入的資料"; + document.getElementById("ncdatalist").style.display = "none"; + return; + } + tableobj = document.getElementById("ncdatalist"); + imnc_sendobjlist = new Array(); + for(i=0; i<ncevent.length; i++){ + /* 新增一個 CalEvent 物件 */ + calevtobj = new CalEvent(); + calevtobj.datafrom = "ntuceiba"; + + /* 先抓取 key 和 enabled 相關資料 */ + univar = ncevent[i].getElementsByTagName("key")[0].childNodes; + if(univar.length > 0){ + calevtobj.key = univar[0].nodeValue; + } + univar = ncevent[i].getElementsByTagName("enabled")[0].childNodes[0].nodeValue; + if(univar == "False"){ + defaultenabled = false; + }else{ + defaultenabled = true; + } + + /* 加入編號 */ + newrow = document.createElement("tr"); + newdata = document.createElement("td"); + newdata.innerHTML = (i+1).toString(); + newdata.style.textAlign = "right"; + newrow.appendChild(newdata); + + /* 加入動作 */ + newdata = document.createElement("td"); + newinput1 = document.createElement("input"); + newinput1.setAttribute("id", "imncradio" + i.toString() + "create"); + newinput1.setAttribute("name", "imncradio" + i.toString()); + newinput1.setAttribute("type", "radio"); + newdata.appendChild(newinput1); + newtextnode = document.createTextNode("新增"); + newdata.appendChild(newtextnode); + newinput2 = document.createElement("input"); + newinput2.setAttribute("id", "imncradio" + i.toString() + "ignore"); + newinput2.setAttribute("name", "imncradio" + i.toString()); + newinput2.setAttribute("type", "radio"); + newdata.appendChild(newinput2); + newtextnode = document.createTextNode("忽略"); + newdata.appendChild(newtextnode); + newinput3 = document.createElement("input"); + newinput3.setAttribute("id", "imncradio" + i.toString() + "update"); + newinput3.setAttribute("name", "imncradio" + i.toString()); + newinput3.setAttribute("type", "radio"); + newdata.appendChild(newinput3); + newtextnode = document.createTextNode("取代"); + newdata.appendChild(newtextnode); + newrow.appendChild(newdata); + + /* 設定 radio button 狀態 */ + if(calevtobj.key == null){ + newinput3.setAttribute("disabled", 'true'); + if(defaultenabled){ + newinput1.checked = true; + }else{ + newinput2.checked = true; + } + }else{ + newinput3.checked = true; + } + + /* 設定預設狀況 */ + + tableobj.appendChild(newrow); + imnc_sendobjlist.push(calevtobj); + } +} + +function imnc_login(){ + alert("Function not implemented"); +} |