智能電表收費(fèi)管理系統(tǒng)畢業(yè)設(shè)計(jì)_第1頁
智能電表收費(fèi)管理系統(tǒng)畢業(yè)設(shè)計(jì)_第2頁
智能電表收費(fèi)管理系統(tǒng)畢業(yè)設(shè)計(jì)_第3頁
智能電表收費(fèi)管理系統(tǒng)畢業(yè)設(shè)計(jì)_第4頁
智能電表收費(fèi)管理系統(tǒng)畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、畢業(yè)設(shè)計(jì)電表管理系統(tǒng)摘 要1abstract2第一章 引言411 課題背景412 系統(tǒng)簡(jiǎn)介5第二章 系統(tǒng)的分析621 系統(tǒng)開發(fā)的目標(biāo)和思想622 系統(tǒng)的可行性分析8第三章 系統(tǒng)的設(shè)計(jì)1831 系統(tǒng)的功能結(jié)構(gòu)設(shè)計(jì)1832 系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)33 界面設(shè)計(jì)與代碼設(shè)計(jì)2324結(jié)束語46致謝47參考文獻(xiàn)48摘 要 傳統(tǒng)的電費(fèi)管理都是由工作人員手工查表,抄表完成的,其中要完成用戶電費(fèi)的收取,每月抄度,用戶購(gòu)電情況查詢,以及列出欠費(fèi)用戶的信息名單,之類的信息.其工作強(qiáng)度大,工作流程繁瑣,由于工作人員的不細(xì)心,將會(huì)造成電費(fèi)收支的出錯(cuò)也是經(jīng)常發(fā)生的.鑒于以上原因我們有必要開發(fā)一種幫作電費(fèi)管理人員的軟件系統(tǒng),可以

2、完成檢查用戶用電情況,每月抄度,信息錄入以及基本數(shù)據(jù)維護(hù)的各項(xiàng)功能.本系統(tǒng)采用visual basic 6.0與微軟access數(shù)據(jù)庫(kù)方式.界面盡量做到人性化,數(shù)據(jù)維護(hù)方面做到可靠安全.關(guān)鍵字: 電費(fèi)管理,visual basic, access,數(shù)據(jù)庫(kù)abstractelectricity from the traditional management staff are artisanal chabiao, meter reading completed, which should be completed by the users of electricity per month pen

3、alty for users to buy electricity enquiries, and a list of user information channels list such information. its work-intensive, cumbersome workflow, because staff are not careful. would result in the tariff revenue is recurring mistakes. given the above reasons we need to develop a management softwa

4、re to help make electricity system, the user can complete the inspection of electricity monthly copied degrees, information includes basic data and the maintenance function. with the system using visual basic microsoft access 6.0 database. as far as possible humanization interface, data maintenance

5、to reliable security. keyword : tariff management, visual basic, access, the database第一章 引言11 課題背景傳統(tǒng)的電費(fèi)管理都是由工作人員手工查表,抄表完成的,其中要完成用戶電費(fèi)的收取,每月抄度,用戶購(gòu)電情況查詢,以及列出欠費(fèi)用戶的信息名單,之類的信息.其工作強(qiáng)度大,工作流程繁瑣,由于工作人員的不細(xì)心,將會(huì)造成電費(fèi)收支的出錯(cuò)也是經(jīng)常發(fā)生的.鑒于以上原因我們有必要開發(fā)一種幫作電費(fèi)管理人員的軟件系統(tǒng),可以完成檢查用戶用電情況,每月抄度,信息錄入以及基本數(shù)據(jù)維護(hù)的各項(xiàng)功能.本系統(tǒng)采用visual basic 6.0

6、與微軟access數(shù)據(jù)庫(kù)方式.界面盡量做到人性化,數(shù)據(jù)維護(hù)方面做到可靠安全.12 系統(tǒng)簡(jiǎn)介 本系統(tǒng)主要由以下幾大功能模塊組成:一. 用戶交費(fèi):(交納電費(fèi),本日小節(jié))二. 本月抄度:(單戶抄度 多戶抄度)三. 資料導(dǎo)出 (全部清單,欠費(fèi)清單)四. 數(shù)據(jù)查詢 (電費(fèi)查詢與統(tǒng)計(jì),用戶欠費(fèi)查詢)五. 信息錄入 (資料錄入,資料修改, 資料刪除)六. 系統(tǒng)數(shù)據(jù)維護(hù) (數(shù)據(jù)備份,數(shù)據(jù)恢復(fù))七. 基本數(shù)據(jù)維護(hù) (用戶類型維護(hù), 操作員維護(hù))八. 幫助九. 退出第二章 系統(tǒng)的分析21 系統(tǒng)開發(fā)的目標(biāo)和思想 本系統(tǒng)主要服務(wù)于電費(fèi)管理人員的日常工作.設(shè)計(jì)思路主要參照工作人員抄表,記錄資料,資料管理,信息錄入等方面

7、的工作流程展開的.22 系統(tǒng)的可行性分析本系統(tǒng)采用visual basic6.0與微軟的access作為數(shù)據(jù)庫(kù)結(jié)合.在系統(tǒng)編寫上具有可行性.經(jīng)濟(jì)方面:本系統(tǒng)可以服務(wù)電廠,電費(fèi)管理單位,為企業(yè)節(jié)省人力開支.社會(huì)方面:服務(wù)于大眾,方便抄表人員工作,可靠方便.第三章 系統(tǒng)的設(shè)計(jì)31 系統(tǒng)的功能結(jié)構(gòu)設(shè)計(jì)程序登陸主界面用戶交費(fèi)本月抄費(fèi)資料導(dǎo)出數(shù)據(jù)查詢信息錄入系統(tǒng)數(shù)據(jù)維護(hù)基本數(shù)據(jù)維護(hù)幫助退出32 系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)1. 用戶類型表:字段名稱數(shù)據(jù)類型說明atypeid自動(dòng)編號(hào)atype文本電費(fèi)類型unitprice貨幣adate日期/時(shí)間電費(fèi)設(shè)置日期2. 密碼表: 字段名稱數(shù)據(jù)類型姓名文本操作權(quán)限文本密碼文本

8、3. maxid表:字段名稱數(shù)據(jù)說明tablename文本maxid數(shù)字33 界面設(shè)計(jì)與代碼設(shè)計(jì)1.用戶登陸界面設(shè)計(jì):34 界面設(shè)計(jì)與代碼設(shè)計(jì)用戶登陸界面代碼分析:private sub command1_click()dim rstpchard as new adodb.recordsetdim rehard as stringdim getid as stringrehard = getpchard(getid)rstpchard.open "select * from getpchard ", gcnn, adopenkeyset, adlockbatchoptimi

9、sticif rstpchard.recordcount = 0 then rstpchard.addnew rstpchard.fields(0) = rehard rstpchard.updatebatch adaffectcurrentelse if trim(rehard) <> trim(rstpchard.fields(0) then msgbox " 對(duì)不起,使用不合法請(qǐng)與開發(fā)者聯(lián)系! ", vbinformation end end ifend ifif check1.value = 1 thenset rec = new adodb.recor

10、dsetrec.open "select * from 記住密碼", gcnn, 3, 3rec("標(biāo)記") = "1"if combo2.text <> "" thenrec("姓名") = combo2.textelserec("姓名") = ""end ifif combo1.text <> "" thenrec("權(quán)限") = combo1.textelserec("權(quán)限&q

11、uot;) = ""end ifif text2.text <> "" thenrec("密碼") = text2.textelserec("密碼") = ""end ifrec.updaterec.closeelseset rec = new adodb.recordsetrec.open "select * from 記住密碼", gcnn, 3, 3rec("標(biāo)記") = "0"rec.updaterec.closee

12、nd ifdim rec1 as adodb.recordsetset rec1 = new adodb.recordsetrec1.open "select * from 登錄人員", gcnn, 3, 3set rec = new adodb.recordsetrec.open "select * from 密碼表 where 姓名='" & combo2.text & "'and 操作權(quán)限='" & combo1.text & "'and 密碼='

13、" & text2.text & "'", gcnn, 3, 3if rec.eof = false then if rec("操作權(quán)限") <> "管理員" then' frmmain.xzck.enabled = false mdime.mczy.enabled = false mdime.xtwh.enabled = false mdime.del.enabled = false' frmmain.djgl.enabled = false' frmmain.d

14、elte.enabled = false else ' me.xzck.enabled = true mdime.mczy.enabled = true mdime.xtwh.enabled = true createnewkey hkey_current_user, "zhiyuantechnologe" setkeyvalue hkey_current_user, "zhiyuantechnologe", "username", dlj, reg_sz setkeyvalue hkey_current_user, &quo

15、t;zhiyuantechnologe", "password", dlj, reg_sz' frmmain.djgl.enabled = true' frmmain.delte.enabled = true end if rec1("姓名") = combo2.text rec1.update rec1.close me.hide guser = combo2.text mdime.showelse msgbox "權(quán)限或密碼不正確,請(qǐng)重試!", vbinformationend ifrec.closeen

16、d subprivate sub command11_click()end subprivate sub command2_click()combo2.text = ""text2.text = ""combo1.text = ""end sub private sub command3_click()endend subprivate sub command4_click()me.hidefrmmmxg.show 1end sub private sub form_activate()text2.text = ""

17、;combo1.text = ""combo2.text = ""set rec = new adodb.recordsetrec.open "select * from 記住密碼", gcnn, 3, 3if rec("標(biāo)記") = "0" or rec("標(biāo)記") = "1" thencheck1.value = rec("標(biāo)記")end ifrec.closeset rec = new adodb.recordsetrec.ope

18、n "select * from 記住密碼", gcnn, 3, 3if rec("標(biāo)記") = 1 thencombo2.text = rec("姓名")combo1.text = rec("權(quán)限")text2.text = rec("密碼")end ifrec.closecommand1.setfocusend subprivate sub form_load()gcnn.connectionstring = "provider=microsoft.jet.oledb.4.0;je

19、t oledb:database password= " & dbpassword & " ;data source= " & _app.path & "datadbdb.mdb;persist security info=false"gcnn.cursorlocation = aduseclientgcnn.openset rec = new adodb.recordsetrec.open "select distinct 姓名 from 密碼表", gcnn, 3, 3with combo

20、2do until rec.eof.additem rec("姓名")rec.movenextloopend withrec.closeset rec = nothingend subprivate sub form_queryunload(cancel as integer, unloadmode as integer)cancel = trueselect case msgbox("此操作將退出本系統(tǒng),繼續(xù)嗎?", vbyesno, "警告")case vbyescancel = falseendcase elsecancel =

21、 trueend selectend sub2.主界面設(shè)計(jì):主界面代碼設(shè)計(jì):private sub alllm_click()frmlist.qfflg = falsefrmlist.showend subprivate sub backup_click() frmbeifen.showend subprivate sub benrixiaojie_click()frmcount.showend subprivate sub command1_click()framefee.visible = falseend subprivate sub cmdquery_click() dim rst a

22、s new adodb.recordset rst.open " select * from panelinfo where holder='" & me.txtuser & "' and delflag<>true ", gcnn, adopenstatic, adlockbatchoptimistic if rst.recordcount <> 0 then dcvalue.text = rst.fields(2) txtusername(0) = rst.fields(1) txtuserna

23、me(1) = rst.fields!nowecount txtusername(2) = rst.fields!cendcode dtpwdate.value = rst.fields(4) txtusername(3) = format(rst.fields!lmoney, "#0.00") txtusername(4) = format(rst.fields!bmoney, "#0.00") txtusername(6) = format(rst.fields!lsfee, "#0.00") 'txtusername(5

24、) = txtusername(1) * rst.fields!lmoney * (rst.fields!lightscale / 100) + txtusername(1) * txtusername(4) * (1 - rst.fields!lightscale / 100) txtusername(5) = format(txtusername(1) * rst.fields!lmoney * (rst.fields!lightscale / 100) + rst.fields!nowecount * rst.fields!bmoney * (1 - rst.fields!lightsc

25、ale / 100), "#0.00") txtusername(8) = rst.fields(9) txtusername(7) = format(val(txtusername(5) + val(txtusername(6), "#0.00") dcnum.text = rst.fields(1) else msgbox " 沒有查詢到數(shù)據(jù)! ", vbinformation end if rst.close set rst = nothingend subprivate sub dcnum_click(area as inte

26、ger) dim rst as new adodb.recordset rst.open " select * from panelinfo where holderid='" & dcnum.text & "'and delflag<>true ", gcnn, adopenkeyset, adlockbatchoptimistic if not rst.eof then dcvalue.text = rst.fields(2) txtusername(0) = rst.fields(1) txtuserna

27、me(1) = rst.fields!nowecount txtusername(2) = rst.fields!cendcode dtpwdate.value = rst.fields(4) txtusername(3) = format(rst.fields!lmoney, "#0.00") txtusername(4) = format(rst.fields!bmoney, "#0.00") txtusername(6) = format(rst.fields(8), "#0.00") txtusername(5) = form

28、at(txtusername(1) * txtusername(3) * (rst.fields!lightscale / 100) + txtusername(1) * txtusername(4) * (1 - rst.fields!lightscale / 100), "#0.00") txtusername(8) = rst.fields(9) txtusername(7) = format(val(txtusername(5) + val(txtusername(6), "#0.00") end if rst.closeend subpriva

29、te sub dcvalue_click(area as integer) dim rst as new adodb.recordset rst.open " select * from panelinfo where holderid='" & dcvalue.boundtext & "' and delflag<>true ", gcnn, adopenstatic, adlockbatchoptimistic if not rst.eof then dcvalue.text = rst.fields(2)

30、 txtusername(0) = rst.fields(1) txtusername(1) = rst.fields!nowecount txtusername(2) = rst.fields!cendcode dtpwdate.value = rst.fields(4) txtusername(3) = format(rst.fields!lmoney, "#0.00") txtusername(4) = format(rst.fields!bmoney, "#0.00") txtusername(6) = format(rst.fields!lsf

31、ee, "#0.00") 'txtusername(5) = txtusername(1) * rst.fields!lmoney * (rst.fields!lightscale / 100) + txtusername(1) * txtusername(4) * (1 - rst.fields!lightscale / 100) txtusername(5) = format(txtusername(1) * rst.fields!lmoney * (rst.fields!lightscale / 100) + rst.fields!nowecount * rs

32、t.fields!bmoney * (1 - rst.fields!lightscale / 100), "#0.00") txtusername(8) = rst.fields(9) txtusername(7) = format(val(txtusername(5) + val(txtusername(6), "#0.00") dcnum.text = rst.fields(1) end if rst.close set rst = nothingend subprivate sub dcvalue_keypress(keyascii as inte

33、ger)keyascii = 0end subprivate sub del_click()frmdel.showend subprivate sub dhcb_click()usrcopyp.showend subprivate sub dhcp_click()frmcopyp.showend subprivate sub duohu_click()frmcuifei.muser1 = 2frmcuifei.showend subprivate sub edit_click()frmedit.showend subprivate sub exit_click()endend subpriva

34、te sub insert_click()frminsert.show 1end subprivate sub jiaonadianfei_click()frmfee.showend subprivate sub m_userytpe_click()frmusertype.show 1end subprivate sub mdiform_load() loadadd end subpublic sub loadadd()if rst.state = 1 then rst.closeend if rst.open " select * from panelinfo where delf

35、lag<>true ", gcnn, adopenkeyset, adlockbatchoptimistic if rst.recordcount <> 0 then set dcvalue.rowsource = rst dcvalue.boundcolumn = "holderid" dcvalue.listfield = "holder" set dcnum.datasource = rst set dcnum.rowsource = rst dcnum.listfield = "holderid&quo

36、t; if not rst.eof then dcnum.text = rst.fields!holderid dcvalue.text = rst.fields(2) txtusername(0) = rst.fields(1) txtusername(1) = rst.fields!nowecount txtusername(2) = rst.fields!cendcode dtpwdate.value = rst.fields(4) txtusername(3) = format(rst.fields!lmoney, "#0.00") txtusername(4) =

37、 format(rst.fields!bmoney, "#.0.00") txtusername(6) = rst.fields!lsfee txtusername(5) = val(txtusername(1) * val(txtusername(3) * (val(rst.fields!lightscale) / 100) + val(txtusername(1) * val(txtusername(4) * (1 - rst.fields!lightscale / 100) txtusername(8) = rst.fields(9) txtusername(7) =

38、 val(txtusername(5) + val(txtusername(6) rst.fields!cfeemoney = txtusername(7) rst.updatebatch adaffectcurrent end if end ifend subpublic sub loaddata(hid as string) dim rst as new adodb.recordset dim cnn as new adodb.connection dim atimes as integer dim sqladd as string cnn.connectionstring = "

39、;provider=microsoft.jet.oledb.4.0;jet oledb:database password= " & dbpassword & " ;data source= " & _ app.path & "datadbdb.mdb;persist security info=false" cnn.cursorlocation = aduseclient cnn.open if trim(hid) <> "" then rst.open " selec

40、t * from panelinfo where holderid='" & hid & "' and delflag<>true ", cnn, adopenstatic, adlockbatchoptimistic else rst.open " select * from panelinfo where delflag<>true ", cnn, adopenstatic, adlockbatchoptimistic end if if not rst.eof then dcnum.

41、text = rst.fields!holderid dcvalue.text = rst.fields(2) txtusername(0) = rst.fields(1) txtusername(1) = rst.fields!nowecount txtusername(2) = rst.fields!cendcode dtpwdate.value = rst.fields(4) txtusername(3) = format(rst.fields!lmoney, "#0.00") txtusername(4) = format(rst.fields!bmoney, &q

42、uot;#0.00") txtusername(6) = format(rst.fields!lsfee, "#0.00") 'txtusername(5) = format(txtusername(1) * txtusername(3) * (rst.fields!lightscale / 100) + txtusername(1) * txtusername(4) * (1 - rst.fields!lightscale / 100), "#0.00") if rst.fields!atimes = 0 then atimes =

43、1 else atimes = rst.fields!atimes end if txtusername(5) = format(val(txtusername(1) * txtusername(3) * atimes, "#0.00") txtusername(8) = rst.fields(9) txtusername(7) = format(val(txtusername(5) + val(txtusername(6), "#0.00") rst.fields!cfeemoney = txtusername(7) rst.updatebatch a

44、daffectcurrent end if rst.close cnn.close end subprivate sub mdiform_unload(cancel as integer)gcnn.closeset gcon = nothingend subprivate sub mgcf_click()frmfeefind.showend subprivate sub mhf_click()frmdaoru.showend subprivate sub msf_click()frmfind1.showend subprivate sub qianfeilm_click()frmlist.qf

45、flg = truefrmlist.showend subprivate sub toolbar1_buttonclick(byval button as mscomctllib.button)select case trim(button.key)case "a"frmfee.show 1case "b" frmcopyp.showcase "c" frmfee.show 1case "d"frmbeifen.show 1case "e"frmdaoru.show 1case "f&

46、quot;frmfeefind.show 1case "g"frmfind1.show 1case "dhcb1" case "dbcb2"case "j"x = msgbox("真的要退出嗎?", vbyesno + vbquestion, "警告")if x = vbyes thenendelseend ifend selectend subprivate sub toolbar1_buttonmenuclick(byval buttonmenu as mscomctll

47、ib.buttonmenu) select case buttonmenu.keycase "dhcb1" frmcopyp.showcase "dhcb2" usrcopyp.showend selectend subprivate sub weihu_click()frmyhsd.showend subprivate sub yihu_click()frmcuifei.muser1 = 1frmcuifei.showend sub4. 備份界面設(shè)計(jì):備份代碼設(shè)計(jì):private sub command1_click()dim a as stringa

48、 = app.patha = a & ""b = text1.text'on error goto errhandle:dim filename as stringfilename = "" & text1.text & "dbdb.mdb"if a = text1.text thenmsgbox "備份目錄與原文件目錄相同,請(qǐng)重新選擇!"exit subend ifif dir("" & b & "dbdb.mdb") <

49、;> "" thendim llp as stringllp = msgbox("此目錄下已有該文件,要覆蓋嗎?", vbyesno, "備份文件")if llp = vbyes thenkill ("" & b & "dbdb.mdb")filecopy "" & a & "datadbdb.mdb", "" & b & "dbdb.mdb"dim ll = m

50、sgbox(" 備份成功! ", vbokonly, "提示")elseexit subend ifelsefilecopy "" & a & "datadbdb.mdb", "" & b & "dbdb.mdb"dim llll = msgbox(" 備份成功! ", vbokonly, "提示")end ifexit sub'errhandle:'msgbox "出現(xiàn)錯(cuò)誤,不

51、能復(fù)制", vbokonly + vbcritical, "復(fù)制文件"'resume nextend subprivate sub command2_click()'dy'me.hideunload meend subprivate sub dir1_change()'drive1.drive = dir1if right(dir1.path, 1) <> "" thentext1.text = dir1.path + ""elsetext1.text = dir1.pathend

52、 ifcommand1.enabled = trueend subprivate sub dir1_click()if right(dir1.path, 1) <> "" thentext1.text = dir1.path + ""elsetext1.text = dir1.pathend ifcommand1.enabled = trueend subprivate sub drive1_change()dir1.path = drive1.driveend subprivate sub form_activate()command1.e

53、nabled = falsegcnn.closechdrive app.pathchdir app.path'text1.setfocus'text1.text = "c:"text1.text = curdir()text1.enabled = falseend subprivate sub form_load()chdrive app.pathchdir app.pathend subprivate sub form_queryunload(cancel as integer, unloadmode as integer)dyend subprivate

54、 sub form_unload(cancel as integer)if gcnn.state = 0 then gcnn.connectionstring = "provider=microsoft.jet.oledb.4.0;jet oledb:database password= " & dbpassword & " ;data source= " & _ app.path & "datadbdb.mdb;persist security info=false" gcnn.cursorlocat

55、ion = aduseclient gcnn.openend ifmdime.loadaddend sub5. 單戶抄表界面設(shè)計(jì):單戶抄表代碼設(shè)計(jì):private sub command2_click() dim cnn as new adodb.connection dim rste as new adodb.recordset dim cmdexe as new adodb.command dim nowev as double dim sqladd as string if trim(txtusername(0).text) = "" then msgbox &quo

56、t; 沒有要抄表用戶,請(qǐng)先添加用戶! ", vbinformation exit sub end if if trim(txtusername(9).text) = "" then msgbox " 請(qǐng)先輸入數(shù)據(jù)! ", vbinformation exit sub end if if trim(txtusername(9).text) < trim(txtusername(2).text) then msgbox " 輸入數(shù)據(jù)錯(cuò)誤,當(dāng)前止碼太??! ", vbinformation exit sub end if cnn.connectionstring = "provider=microsoft.jet.oledb.4.0;jet oledb:database password= " & dbpassword & " ;data source= " & _ app.path & "datadbdb.mdb;persist security info=false"

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論