aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author藍挺瑋 <lantw44@gmail.com>2012-12-22 01:56:21 +0800
committerLAN-TW <lantw44@gmail.com>2012-12-22 01:56:21 +0800
commit56837bb9c85635473b053897a3138ca82b40de10 (patch)
tree2778cd5088eb8f74e29761ce1f429477e4e07f64
parentf052cb33ee1a4069faa8bb1e0da6c04d92375e58 (diff)
downloadinccalendar-56837bb9c85635473b053897a3138ca82b40de10.tar.gz
inccalendar-56837bb9c85635473b053897a3138ca82b40de10.tar.zst
inccalendar-56837bb9c85635473b053897a3138ca82b40de10.zip
開始製作選擇匯入項目的表格
-rw-r--r--jinhtml/import.html18
-rw-r--r--js/imnc.js126
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>
diff --git a/js/imnc.js b/js/imnc.js
index 25c155a..5018cf1 100644
--- a/js/imnc.js
+++ b/js/imnc.js
@@ -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");
+}