版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《Web技術(shù)與開(kāi)發(fā)(ASP.NET)》</p><p><b> 課程設(shè)計(jì)說(shuō)明書(shū)</b></p><p> 設(shè) 計(jì) 題 目: 日常教學(xué)情況反饋系統(tǒng)</p><p><b> 指 導(dǎo) 老 師:</b></p><p> 學(xué) 生 學(xué) 號(hào):
2、 </p><p> 學(xué) 生 姓 名: </p><p> 同 組 人: </p><p> 時(shí) 間: 2012 年 6 月 14日 </p><p><b> 摘 要</b></p>
3、<p> 在這個(gè)信息化時(shí)代,軟件的出現(xiàn)節(jié)省的許多人力和時(shí)間,逐漸成為生活中必不可少的一部分。</p><p> 在我院,教學(xué)信息填報(bào)員每周都要向系部辦公室提交一周的教學(xué)情況周志,日志,然后讓教師瀏覽,老師能針對(duì)具體情況采取準(zhǔn)確的措施。但是由于數(shù)量的繁多給老師在閱讀上和分類(lèi)上帶來(lái)了極大的不便。</p><p> 根據(jù)以上的缺點(diǎn),我做出了一個(gè)可以解決這些難題的系統(tǒng),通過(guò)這個(gè)系
4、統(tǒng),學(xué)生可以隨時(shí)上傳,不需要向系辦提交;系辦教師可以隨時(shí)瀏覽,更好的分類(lèi)以及查看缺勤情況,儲(chǔ)存以及以后查閱也比較方便。</p><p> 關(guān)鍵詞:ASP.NET SQL Server 日志 周志</p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p&
5、gt;<p> 第1章 設(shè)計(jì)目的1</p><p> 1.1 設(shè)計(jì)目的1</p><p> 第2章 總體設(shè)計(jì)2</p><p> 2.1程序設(shè)計(jì)組成框圖2</p><p><b> 2.2流程圖2</b></p><p><b> 2.3關(guān)系圖2&l
6、t;/b></p><p> 2.4數(shù)據(jù)庫(kù)分析與設(shè)計(jì)3</p><p> 第3章 詳細(xì)設(shè)計(jì)4</p><p> 3.1 模塊功能說(shuō)明4</p><p> 3.2 登錄模塊4</p><p> 3.3 投票模塊4</p><p> 3.4 排序模塊4</p>
7、;<p> 3.5 系統(tǒng)設(shè)置模塊4</p><p> 3.6 數(shù)據(jù)庫(kù)表設(shè)計(jì)4</p><p> 第4章 系統(tǒng)實(shí)現(xiàn)6</p><p><b> 4.1錄入模塊6</b></p><p> 4.2 投票模塊6</p><p><b> 4.3排序模塊7&
8、lt;/b></p><p> 4.4系統(tǒng)設(shè)置模塊8</p><p><b> 結(jié)束語(yǔ)9</b></p><p> 附錄A: 主要源程序11</p><p><b> 第1章 設(shè)計(jì)目的</b></p><p><b> 1.1 設(shè)計(jì)目的<
9、/b></p><p> 網(wǎng)絡(luò)信息的日益豐富,人們的生活變得更加方便快捷。在這個(gè)信息化時(shí)代,軟件的出現(xiàn)節(jié)省的許多人力和時(shí)間,逐漸成為生活中必不可少的一部分。</p><p> 學(xué)校教學(xué)信息填報(bào)員每周都要向系部辦公室提交一周的教學(xué)情況周志,日志,然后讓教師瀏覽,老師能針對(duì)具體情況采取準(zhǔn)確的措施。但是由于數(shù)量的繁多給老師在閱讀上和分類(lèi)上帶來(lái)了極大的不便。這些工作浪費(fèi)了大量的時(shí)間,學(xué)校
10、還要對(duì)這些文檔進(jìn)行整理保存。如果要查看以前某一期的報(bào)表還要花費(fèi)時(shí)間去尋找。這些工作浪費(fèi)大量的人力物力,給教學(xué)工作帶來(lái)不便。</p><p> 根據(jù)以上的缺點(diǎn),我做出了一個(gè)可以解決這些難題的系統(tǒng),通過(guò)這個(gè)系統(tǒng),學(xué)生可以隨時(shí)上傳,不需要向系辦提交;系辦教師可以隨時(shí)瀏覽,更好的分類(lèi)以及查看缺勤情況,儲(chǔ)存以及以后查閱也比較方便。網(wǎng)上教學(xué)反饋系統(tǒng)即便于管理、保存、查詢(xún)和統(tǒng)計(jì)反饋的信息,提高效率,又可節(jié)省大量紙張。學(xué)校只需
11、要招幾名管理員對(duì)這個(gè)系統(tǒng)進(jìn)行管理就可以了。任課教師可以很方便的對(duì)各種情況進(jìn)行查詢(xún),大大提高了工作效率。</p><p><b> 1.2系統(tǒng)分析</b></p><p> 日常教學(xué)情況反饋系統(tǒng)需要滿(mǎn)足三種用戶(hù)的需求,這三種用戶(hù)分別是班級(jí)信息員,教師,系統(tǒng)管理員。班級(jí)信息員可以通過(guò)網(wǎng)絡(luò)填寫(xiě)信息;教師可以瀏覽學(xué)生填寫(xiě)的信息;系統(tǒng)管理員可以對(duì)信息進(jìn)行維護(hù)。各班信息員登錄
12、后,可顯示信息填報(bào)頁(yè)面,可分別填寫(xiě)教學(xué)日志和教學(xué)周志。頁(yè)面中應(yīng)能自動(dòng)顯示系、班級(jí)、信息員姓名、學(xué)號(hào)、周次、日期等信息。信息員對(duì)本班教師的教學(xué)情況進(jìn)行信息反饋。填報(bào)完畢后上傳,上傳后,系教學(xué)秘書(shū)和主管教學(xué)的系領(lǐng)導(dǎo)可通過(guò)登錄系統(tǒng)看到反饋情況,瀏覽各班填報(bào)的反饋表格。系教學(xué)秘書(shū)和主管教學(xué)的系領(lǐng)導(dǎo)登錄后,可瀏覽各班填報(bào)的日?qǐng)?bào)表和周報(bào)表。頁(yè)面中可給各班信息員以指導(dǎo)性意見(jiàn)??纱蛴「靼嗟娜?qǐng)?bào)表和周報(bào)表。各班信息員登錄后,可瀏覽自己以前填報(bào)的日?qǐng)?bào)表和周
13、報(bào)表,還可查看系教學(xué)秘書(shū)和主管教學(xué)領(lǐng)導(dǎo)的指導(dǎo)意見(jiàn)。也可打印相應(yīng)的表格。</p><p><b> 第2章 總體設(shè)計(jì)</b></p><p> 2.1程序設(shè)計(jì)組成框圖</p><p><b> 2.2流程圖</b></p><p><b> 2.3關(guān)系圖</b></
14、p><p> 2.4數(shù)據(jù)庫(kù)分析與設(shè)計(jì)</p><p><b> 第3章 詳細(xì)設(shè)計(jì)</b></p><p> 3.1 模塊功能說(shuō)明</p><p><b> 系統(tǒng)包括大模塊, </b></p><p><b> 3.2 登錄模塊</b></p&
15、gt;<p><b> 3.3 投票模塊</b></p><p><b> 3.4 排序模塊</b></p><p> 3.5 系統(tǒng)設(shè)置模塊</p><p> 3.6 數(shù)據(jù)庫(kù)表設(shè)計(jì)</p><p><b> 第4章 系統(tǒng)實(shí)現(xiàn)</b></p>
16、<p><b> 4.1錄入模塊</b></p><p><b> 4.2 投票模塊</b></p><p><b> 4.3排序模塊</b></p><p><b> 4.4系統(tǒng)設(shè)置模塊</b></p><p><b>
17、結(jié)束語(yǔ)(心得體會(huì))</b></p><p><b> 參考文獻(xiàn):</b></p><p> [01]閆洪亮.Asp.Net程序設(shè)計(jì)案例教程[M]:北京.北京大學(xué)出版社. 2010.1</p><p> [02]郝興偉.Web程序設(shè)計(jì)[M]:北京.中國(guó)水利水電出版社. 2008</p><p> 附錄A
18、: 主要源程序</p><p><b> 網(wǎng)上投票系統(tǒng)源程序</b></p><p><b> (1)Dal層</b></p><p> public static OleDbConnection createCon = new OleDbConnection("Provider=Microsoft.Jet
19、.OleDb.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath("~/App_Data/Vote.mdb"));</p><p> public DataTable GetDataTable(string SQL)</p><p><b> {</b>&
20、lt;/p><p> DataTable dt = new DataTable();</p><p> openconn();</p><p> OleDbDataAdapter da = new OleDbDataAdapter(SQL, createCon);</p><p> da.Fill(dt);</p><
21、p> da.Dispose();</p><p> closeconn();</p><p> return dt;</p><p><b> }</b></p><p> public DataTable GetDataTable(string Sql, OleDbParameter[] Paramer
22、ters)</p><p><b> {</b></p><p> DataTable dt = new DataTable();</p><p> openconn();</p><p> OleDbCommand cmd = new OleDbCommand(Sql, createCon);</p>
23、;<p> cmd.Parameters.AddRange(Paramerters);</p><p> OleDbDataAdapter da = new OleDbDataAdapter(cmd);</p><p> da.Fill(dt);</p><p> cmd.Dispose();</p><p> clo
24、seconn();</p><p> return dt;</p><p><b> }</b></p><p> #region 控制conn的鏈接和關(guān)閉</p><p> internal void closeconn()</p><p><b> {</b>&
25、lt;/p><p> if (createCon.State == ConnectionState.Open)</p><p> { createCon.Close(); }</p><p><b> }</b></p><p> internal void openconn()&
26、lt;/p><p><b> {</b></p><p> if (createCon.State == ConnectionState.Closed)</p><p><b> {</b></p><p><b> try</b></p><p>
27、 { createCon.Open(); }</p><p><b> catch</b></p><p><b> {</b></p><p> throw new Exception("沒(méi)有找到數(shù)據(jù)文件");</p><
28、p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> #endregion</p><p> public void ExecuteNonQuery(string OleDb)</p>
29、<p><b> {</b></p><p> openconn();</p><p> OleDbCommand cmd = new OleDbCommand(OleDb, createCon);</p><p> cmd.ExecuteNonQuery();</p><p> cmd.Disp
30、ose();</p><p> closeconn();</p><p><b> }</b></p><p> public void ExecuteNonQuery(string SQL, OleDbParameter[] Paramerters)</p><p><b> {</b>&
31、lt;/p><p> openconn();</p><p> OleDbCommand cmd = new OleDbCommand(SQL, createCon);</p><p> cmd.Parameters.AddRange(Paramerters);</p><p> cmd.ExecuteNonQuery();</p&
32、gt;<p> closeconn();</p><p><b> }</b></p><p> public void ExecuteNonQueryNOClose(string SQL, OleDbParameter[] Paramerters)</p><p><b> {</b></p&
33、gt;<p> OleDbCommand cmd = new OleDbCommand(SQL, createCon);</p><p> cmd.Parameters.AddRange(Paramerters);</p><p> cmd.ExecuteNonQuery();</p><p><b> } </b&g
34、t;</p><p><b> ?。?)Login</b></p><p> Dal dal = new Dal();</p><p> protected void ImageButton1_Click(object sender, ImageClickEventArgs e)</p><p><b>
35、 {</b></p><p> string sql = "SELECT PWD from StudentInfo where StudentName=@Code and Type=@type";</p><p> OleDbParameter[] Parameter = { new OleDbParameter("@Code", O
36、leDbType.VarChar, 50)</p><p> ,new OleDbParameter("@type", OleDbType.Integer, 4)};</p><p> Parameter[0].Value = this.TextBox1.Text.Trim();</p><p> Parameter[1].Value =
37、1;</p><p> DataTable dt = dal.GetDataTable(sql, Parameter);</p><p> if (dt.Rows.Count == 0)</p><p><b> {</b></p><p> Page.ClientScript.RegisterStartupSc
38、ript(this.GetType(), "sss", "alert('此帳號(hào)不存在!請(qǐng)先注冊(cè)用戶(hù)!');", true);</p><p><b> return;</b></p><p><b> }</b></p><p> if (this.TextBo
39、x2.Text.Trim() != dt.Rows[0][0].ToString())</p><p><b> {</b></p><p> Page.ClientScript.RegisterStartupScript(this.GetType(), "sss", "alert('密碼不正確!請(qǐng)重新登錄!');&q
40、uot;, true);</p><p><b> return;</b></p><p><b> }</b></p><p> HttpCookie cook = new HttpCookie("UserCode", this.TextBox1.Text.Trim());</p>
41、<p> Response.Cookies.Add(cook);</p><p> Response.Redirect("../Vote/Vote.aspx");</p><p><b> }</b></p><p><b> ?。?)Sets</b></p><p
42、> Dal dal = new Dal();</p><p> protected void Button1_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> int ID=0,num = 0, mustNum = 0;</p><p&g
43、t;<b> try</b></p><p><b> {</b></p><p> if (TextBox1.Text != "")</p><p><b> {</b></p><p> string str = "select *
44、from VoteInfo where VoteContent='" + DropDownList1.SelectedValue.ToString() + "'";</p><p> DataTable dt = dal.GetDataTable(str);</p><p> foreach (DataRow dr in dt.Rows)&
45、lt;/p><p><b> {</b></p><p> ID = int.Parse (dr["ID"].ToString());</p><p><b> }</b></p><p> string insert = "insert into VoteRes(
46、VoteID,CanName,Num) values(" +ID + ",'" + this.TextBox1.Text + "'," + 0 + ")";</p><p> dal.ExecuteNonQuery(insert);</p><p> Page.ClientScript.Registe
47、rStartupScript(this.GetType(), "sss", "alert('添加成功!');", true);</p><p> Response.Redirect("CanAdd.aspx");</p><p><b> }</b></p><p>
48、; else { Response.Write("<script>alert(\"不能為空! ! !\")</script>"); }</p><p><b> }</b></p><p><b> catch</b></p><p><b>
49、 {</b></p><p> Page.ClientScript.RegisterStartupScript(this.GetType(), "sss", "alert('添加失??!');", true);</p><p><b> }</b></p><p><
50、b> }</b></p><p><b> ?。?)Vote</b></p><p> Dal dal = new Dal();</p><p> protected void Page_Load(object sender, EventArgs e)</p><p><b> {&l
51、t;/b></p><p> if (!IsPostBack)</p><p><b> {</b></p><p> string sql = "select ID,VoteContent,MustNum from VoteInfo";</p><p> DataTable dt =
52、dal.GetDataTable(sql);</p><p> TreeNode tn = new TreeNode("正在進(jìn)行的選票活動(dòng)");</p><p> foreach (DataRow dr in dt.Rows)</p><p><b> {</b></p><p> TreeN
53、ode tnc = new TreeNode();</p><p> tnc.Text = dr["VoteContent"].ToString();</p><p> tnc.Value = dr["ID"].ToString() + "," + dr["MustNum"].ToString();<
54、/p><p> tn.ChildNodes.Add(tnc);</p><p><b> }</b></p><p> this.TreeView1.Nodes.Add(tn);</p><p><b> }</b></p><p><b> }</b&
55、gt;</p><p> protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)</p><p><b> {</b></p><p> if (this.TreeView1.SelectedNode == null)</p><
56、p><b> return;</b></p><p> this.Button1.Enabled = true;</p><p> this.Label1.Text = this.TreeView1.SelectedNode.Text;</p><p> this.Label2.Text = this.TreeView1.Sele
57、ctedNode.Value.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)[1].Trim();</p><p> string sql = "select ID,CanName from VoteRes where VoteID=" + this.TreeView1.SelectedNode
58、.Value.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)[0].Trim();</p><p> DataTable dt = dal.GetDataTable(sql);</p><p> this.CheckBoxList1.DataTextField = "CanNam
59、e";</p><p> this.CheckBoxList1.DataValueField = "ID";</p><p> this.CheckBoxList1.DataSource = dt;</p><p> this.CheckBoxList1.DataBind();</p><p><b&
60、gt; }</b></p><p> protected string UserCode()</p><p><b> {</b></p><p><b> try</b></p><p><b> {</b></p><p>
61、HttpCookie cook = Request.Cookies["UserCode"];</p><p> if (cook == null)</p><p> Response.Redirect("../Login/Login.aspx");</p><p> return cook.Value;</p>
62、;<p><b> }</b></p><p><b> catch</b></p><p><b> {</b></p><p> Response.Redirect("../Login/Login.aspx");</p><p>
63、 return string.Empty;</p><p><b> }</b></p><p><b> }</b></p><p> protected void Button1_Click(object sender, EventArgs e)</p><p><b> {&
64、lt;/b></p><p> string idlist = string.Empty;</p><p> for (int i = 0; i < this.CheckBoxList1.Items.Count; i++)</p><p><b> {</b></p><p> if (this.Ch
65、eckBoxList1.Items[i].Selected)</p><p> idlist += "'" + this.CheckBoxList1.Items[i].Text + "',";</p><p><b> }</b></p><p> if (idlist.Split(
66、new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Length.ToString() != this.Label2.Text.Trim())</p><p><b> {</b></p><p> Page.ClientScript.RegisterStartupScript(th
67、is.GetType(), "sss", "alert('投票不合規(guī)測(cè)!');", true);</p><p><b> return;</b></p><p><b> }</b></p><p> string sql = "select 1 f
68、rom VoteLog where Vote=" + this.TreeView1.SelectedNode.Value.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)[0].Trim();</p><p> sql += " and UserName='" + UserCod
69、e().Trim() + "'";</p><p> DataTable dt = dal.GetDataTable(sql);</p><p> if (dt.Rows.Count > 0)</p><p><b> {</b></p><p> Page.ClientScri
70、pt.RegisterStartupScript(this.GetType(), "sss", "alert('你已經(jīng)投過(guò)票了!');", true);</p><p><b> return;</b></p><p><b> }</b></p><p> s
71、ql = "update VoteRes set Num=Num+1 where VoteID=" + this.TreeView1.SelectedNode.Value.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)[0].Trim();</p><p> sql += " and
72、CanName in(" + idlist.Trim(',') + ")";</p><p> dal.ExecuteNonQuery(sql);</p><p> sql = "insert into VoteLog(UserName,Vote,VoteTime)values('" + UserCode() +
73、 "'," + this.TreeView1.SelectedNode.Value.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)[0].Trim() + ",'" + System.DateTime.Now + "')";</p><p
74、> dal.ExecuteNonQuery(sql);</p><p> Page.ClientScript.RegisterStartupScript(this.GetType(), "sss", "alert('投票成功!');", true);</p><p><b> }</b></p&
75、gt;<p><b> ?。?)Result</b></p><p> Dal dal = new Dal();</p><p> protected void Page_Load(object sender, EventArgs e)</p><p><b> {</b></p><
76、;p> if (!IsPostBack)</p><p><b> {</b></p><p> string sql = "select ID,VoteContent,MustNum from VoteInfo";</p><p> DataTable dt = dal.GetDataTable(sql);&
77、lt;/p><p> TreeNode tn = new TreeNode("選票活動(dòng)類(lèi)型");</p><p> foreach (DataRow dr in dt.Rows)</p><p><b> {</b></p><p> TreeNode tnc = new TreeNode();&
78、lt;/p><p> tnc.Text = dr["VoteContent"].ToString();</p><p> tnc.Value = dr["ID"].ToString() + "," + dr["MustNum"].ToString();</p><p> tn.Chil
79、dNodes.Add(tnc);</p><p><b> }</b></p><p> this.TreeView1.Nodes.Add(tn);</p><p><b> }</b></p><p><b> }</b></p><p>
80、protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)</p><p><b> {</b></p><p> if (this.TreeView1.SelectedNode == null)</p><p><b> return;<
81、;/b></p><p> this.Label1.Text = this.TreeView1.SelectedNode.Text;</p><p> string sql = "select VoteID,CanName,Num from VoteRes where VoteID=" + this.TreeView1.SelectedNode.Value.S
82、plit(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)[0].Trim() +" order by Num desc";</p><p> DataTable dt = dal.GetDataTable(sql);</p><p> this.GridView1.DataSour
83、ce = dt;</p><p> //this.GridView1 .SortDirection="desc";</p><p> //dt.DefaultView.Sort = "Num AESC";</p><p> this.GridView1.DataBind();</p><p>&l
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位負(fù)反饋系統(tǒng)設(shè)計(jì)校正--自動(dòng)控制原理課程設(shè)計(jì)
- 教學(xué)督導(dǎo)與反饋系統(tǒng)
- 教學(xué)督導(dǎo)與反饋系統(tǒng)
- 教學(xué)督導(dǎo)與反饋系統(tǒng)
- 教學(xué)督導(dǎo)與反饋系統(tǒng)
- 自動(dòng)控制系統(tǒng)課程設(shè)計(jì)---單位負(fù)反饋系統(tǒng)的校正設(shè)計(jì)
- 用matlab對(duì)單位反饋系統(tǒng)進(jìn)行分析與校正-自控課程設(shè)計(jì)
- 單位反饋系統(tǒng)校正設(shè)計(jì)
- 單位反饋系統(tǒng)
- 教學(xué)情況簡(jiǎn)報(bào)
- 教學(xué)情況反饋表(學(xué)員用)(人力資源管理)
- 儋州一中教師課堂教學(xué)情況反饋表
- 交互式教學(xué)反饋系統(tǒng)Clicker的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 《專(zhuān)業(yè)二實(shí)驗(yàn)》課程教學(xué)情況調(diào)查表
- 教學(xué)情況通報(bào)
- 教學(xué)情況評(píng)議表
- 30206.基于web小學(xué)互動(dòng)教學(xué)反饋系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 網(wǎng)絡(luò)優(yōu)化信息分析反饋系統(tǒng)的設(shè)計(jì).pdf
- 玉溪師范學(xué)院教師課程教學(xué)情況總結(jié)表
- 表12mba課程教學(xué)情況教師自查表
評(píng)論
0/150
提交評(píng)論