VB小型企业进销存管理系统_第1页
VB小型企业进销存管理系统_第2页
VB小型企业进销存管理系统_第3页
VB小型企业进销存管理系统_第4页
VB小型企业进销存管理系统_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、小型企业进销存管理系统摘要: 随着我国市场经济的蓬勃发展和人们对计算机的普遍应用,批发、零售行业正处在一个高速发展的时期。行业的快速发展必然导致竞争的加剧,要想在激烈的市场竞争中谋求发展,客观上要求企业必须加强内部管理,提高运营效率。而我国大部分小型批发、零售企业在信息机制上还没有摆脱原有的手工模式,企业内部没有形成完善的、有效的信息化管理机制,企业发展的动力不足,从而影响企业的持续、稳定、快速的发展。本文介绍了笔者编写的一个用于小型企业进销存管理系统。其中拥有功能比较全面的进销存管理系统。该系统包括用户注册和登录、日常业务管理、库存管理、查询统计管理、应收应付管理、统计报表管理、基础信息管理

2、和系统设置几个模块。关键字: 进销存管理 查询 信息管理 日常业务一、 引言随着计算机的普遍应用,企业对内部机制形成完善的、有效的信息化管理机制,是使企业的各项管理实现现代化,在确定了本系统的设计目标之后,特开发了本管理系统,来完善企业内部的管理机制。二、开发和运行的环境开发工具:visual basic 6.0中文版,后台所用数据库是sql2000,同时建立odbc数据库接口。运行环境:1、运行 intel 或兼容的 pentium、pentium pro 或 pentium ii 处理器的计算机上运作。处理器必须以最低 166 mhz 的速度运行。内存要求最低 64 mb。2、sql se

3、rver 2000,visual basic 6.0三、 正文1、 流程分析 库存表 商品入库表商品入库 供应商明细表 商品退货表退货返厂 库存表 商品销售表商品销售 商品销售退货表销售退货进入系统验证登录操作员 客户明细表 说明: 供应商明细表付款单 数据源点和汇点 加工 客户明细表收款单 数据文件 数据流 库存查询、盘点库存管理 出入库、销售、退货查询查询统计商品信息查询、修改、删除 应收应付款查询应收应付管理进入系统验证登录管理员职员信息查询、修改、删除仓库信息查询、修改、删除 说明:供应商信息查询、修改、删除基础信息管理 数据源点和汇点 客户信息查询、修改、删除 加工 本单位定义、操作

4、员及密码增加、修改、删除,权限设置,系统初始化系统设置 数据文件 数据流 2、 数据库的设计(1)e-r图:商品出入库:仓库基础信息表ckinf商品基础信息表spinf员工基础信息表yginf供应商基础信息表gys商品编号一对多关系仓库代码一对多关系员工编号一对多关系供应商编号一对多关系商品入库表rkd退货返厂表rkth商品编号多对一关系供应商编号多对多关系库存表kc供应商明细表gysmx商品销售、退货:仓库基础信息表ckinf商品基础信息表spinf员工基础信息表yginf客户基础信息表kh商品编号一对多关系仓库代码一对多关系员工编号一对多关系客户编号一对多关系商品销售表xsd销售退货表xs

5、th商品编号多对一关系客户编号多对多关系库存表kc客户明细表khmx(2)关系模型(数据库的结构)本单位信息表:字段名称数据类型字段大小公司简称char 10公司电话char20公司全称char50公司地址char50税务登记号char20开户银行及账号char60备注char50仓库信息表:(仓库代码为主键)字段名称数据类型字段大小仓库代码char10仓库名称char20库管员char10仓库说明char100员工信息表:(员工编号为主键)字段名称数据类型字段大小员工编号char10员工姓名cha16性别cha10出生年月datetime文化程度cha20所属部门cha30职务cha30身份

6、证号varchar30联系电话varchar20联系地址cha50聘用日期datetime薪金money商品信息表:(商品编号为主键)字段名称数据类型字段大小商品编号char8商品名称char100简称char10规格char40产地char50单位char6进价money批发价money零售价money供货信息char200备注char200权限设置信息表:字段名称数据类型字段大小商品入库bit退货返厂bit商品销售bit销售退货bit库存查询bit库存盘点bit入库查询bit退货返厂查询bit销售查询bit销售退货查询bit收款单bit付款单bit应收款查询bit应付款查询bit销售日报表

7、bit销售月报表bit客户销售报表bit职员销售报表bit商品信息管理bit员工信息管理bit仓库信息管理bit供应商信息管理bit客户信息管理bit本单位定义bit操作员编号及密码设置bit权限设置bit系统初始化bit操作员编号char10操作员名称cha10密码cha10供应商信息表:(供应商编号为主键)字段名称数据类型字段大小供应商编号char20供应商全称char50简称char10地址char30所属地区char20邮政编码char10电话char30传真char10联系人char30联系人电话char30开户银行char20纳税人登记char30网址邮箱char20客户信息表:(

8、客户编号为主键)字段名称数据类型字段大小客户编号char20客户全称char50简称char10地址char30所属地区char20邮政编码char10电话char30传真char30联系人char10联系人电话char30开户银行char30银行账号char20纳税人登记char30网址邮箱char20库存商品信息表:(商品编号为主键)字段名称数据类型字段大小商品编号char8商品名称char100规格char40产地char50单位char6进价money库存数量number18库存金额money仓库char10商品入库信息表:(商品编号为主键)字段名称数据类型字段大小商品编号char8商

9、品名称char100规格char40产地char50单位char6进价money数量numeric18金额money仓库char10供应商char50操作员char10经手人char10日期datetime票号char30供货退货信息表:(商品编号为主键)字段名称数据类型字段大小商品编号char8商品名称char100规格char40产地char50单位char6进价money数量numeric18金额money仓库char10供应商全称char50操作员char10经手人char10日期datetime票号char30供应商账款往来信息表:(供应商全称为主键)字段名称数据类型字段大小日期da

10、tetime时间datetime摘要varchar200数量numeric18单位char10单价money金额小计money欠款记账money付款合计money累计金额money供应商全称char50票号char30备注char60销售信息表:(商品编号为主键)字段名称数据类型字段大小商品编号char8商品名称char100简称char10规格char40产地char50单位char6进价money数量numeric18金额money仓库char10客户全称char50操作员char10经手人char10日期datetime票号char30销售退货信息表:(商品编号为主键)字段名称数据类型字

11、段大小商品编号char8商品名称char100规格char40产地char50单位char6单价money数量numeric18金额money仓库char10客户全称char50操作员char10经手人char10日期datetime票号char30客户往来账款信息表:(客户全称为主键)字段名称数据类型字段大小日期datetime时间datetime摘要varchar200数量numeric18单位char10单价money金额小计money欠款记账money收款合计money累计金额money客户全称char50票号char30备注char603、 总体设计小型企业进销存管理系统系统设置基础

12、信息管理统计报表应收应付管理查询统计库存管理日常业务商品入库退货返厂商品销售商品退货入库查询退货返厂查询销售查询销售退货查询销售日报表销售月报表客户销售报表职员销售报表系统初始化权限设置本单位定义操作员及密码管理库存查询库存盘点收款单付款单应收款查询应付款查询商品信息管理仓库信息管理职员信息管理供应商信息管理客户信息管理4、 主要功能模块分析一)、系统登录模块start选择用户名并输入密码符合条件吗? .f. 在数据库中验证用户的密码。.t.进入系统end功能:用户登录验证成功后进入进销存管理系统。如是第一次直接进入系统设置操作员及密码。说明:在窗体中需要adodc和datacombo控件,则

13、需要加载“microsoft ado data control 6.0(sp4)(oledb)”和“microsoft datalist control 6.0(sp3) (oledb)”部件,将控件添加到工具箱。二)、日常业务管理(一)、商品入库、出库 商品入库 商品出库(二)、商品销售、退货 商品销售 销售退货(一)、商品入库、出库start流程图:登记选择供应商,经手人,入库仓号,商品信息等 信息是否输入完整? .f. .t. 是否保存? .f. .t.end功能:完成商品入库工作,付供应商货款方式可采用现金和支票,并可挂帐。说明:入库采用智能化表单录入,可一次录入多种商品,在“商品名称

14、”栏内输入商品名称或简称的前几个字或找pagedown键,系统将自动利用表格显示相关商品信息。使用方向键、 选择商品,按回车键,该商品信息将自动录入到表格中,只需输入如哭数量(系统自动计算商品金额),回车后即可入库下一商品。系统自动生成入库票号,可利用组合键选择供应商信息、经手人、仓库。自动统计商品入库功能:完成退还给供应商货物的工作。说明:同商品入库工作相似,同商品入库成正反关系。(二)、商品销售、退货流程图:start登记选择供应商,经手人,入库仓号,商品信息等 信息是否输入完整? .f. .t. 是否保存? .f. .t.end功能:完成商品销售工作,客户货款方式可采用现金和支票,并可挂

15、帐。说明:销售采用录入方式同商品入库录入方式,自动生成销售票号,自动统计商品销售品种、数量、金额、计算折扣、税率。但如果销售商品数量大于库存商品数量时,此笔交易将被取消,所以在商品销售模中销售的商品数量一定要小于等于该商品的库存数量。功能:完成客户退货的工作。说明:退货采用录入方式同商品销售。功能:四)、库存管理(一)、库存商品查询功能:查询商品库中所有商品的信息。说明:可选择不同字段查询商品库存信息,并支持模糊查询和键盘操作。(二)、库存盘点功能:查询各仓库中商品库存情况。说明:选择仓库名称、查询该仓库中库存商品的情况。五)、查询统计管理(一)、入库查询功能:查询商品入库信息。说明:选择字段

16、查询商品入库信息,支持模糊查询,按任意时间段查询商品入库信息,统计入库品种、入库数量、入库金额。(二)、出库查询功能:查询退供应商货物信息。说明:选择字段查询商品入库信息,支持模糊查询,按任意时间段查询商品入库信息,统计入库品种、入库数量、入库金额。(三)、销售查询功能:查询商品销售信息。说明:选择任意字段、不同条件查询商品销售信息,也可按任意时间段查询商品销售信息,支持模糊查询和精确查询,可统计销售品种、数量、金额。(四)、销售退货功能:查询客户退货信息。说明:选择任意字段、不同条件查询商品销售信息,也可按任意时间段查询商品销售信息,支持模糊查询和精确查询,可统计销售品种、数量、金额。六)、

17、应收应付管理(一)、付款单功能:实现向供应商付款的功能。说明:可查询与供应商之间的往来帐款信息,提供供应商列表选择,并计算欠供应商的累计余额。(二)、收款单功能:实现向客户收款的功能。说明:可查询与客户之间的往来帐款信息,提供客户列表选择、并计算应收客户累计余额。(三)、应收款查询功能:查询客户付款信息。说明:查询任意时间段内与客户往来帐款信息,输入或选择客户名称查询应收款,统计欠款金额,尚欠余额。(四)、应付款查询功能:查询向供应商付款信息。说明:查询任意时间段内与供应商之间的往来帐款信息,提供供应商列表供用户选择、支持键盘操作,统计欠款余额,付款金额,尚欠余额。七)、统计报表管理(一)、销

18、售日报表功能:查询当天的商品销售日报,同时统计商品销售品种、销售数量、销售金额。(二)、销售月报表功能:查询任意一个月或任意时间段的商品销售报表,统计销售品种、销售数量、销售余额。(三)、客户销售报表功能:统计所有客户销售商品的情况。说明:可以按商品名称、仓库、职员或任意时间段统计所有客户销售商品的情况,采用组合式查询方法。(四)、职员销售报表功能:统计公司所有职员销售商品的情况。说明:可以按商品名称、仓库或客户名称或任意时间段统计所有职员销售商品的情况。八)、基础信息管理(一)、商品信息管理功能:完成商品基本信息的录入、保存、修改、删除,支持键盘操作,选择字段查询商品基本信息,并可列表浏览商

19、品信息。说明:录入时单击“登记”按钮,将自动生成8位商品编号,在处理数据时,列表浏览商品信息不可用。(二)、职员信息管理功能:完成职员基本信息的录入、保存、修改、删除,可按任意字段查询职员基本情况,支持列表浏览职员信息。说明:登记职员信息时自动生成职员编号。(三)、仓库信息管理功能:完成仓库基本信息的录入、保存、修改、删除,可按列表方式查询仓库信息。(四)、供应商信息管理功能:完成供应商基本信息的录入、保存、修改、删除,可以按任意字段查询供应商基本信息。(五)、客户信息管理功能:完成客户基本信息的录入、保存、修改、删除,可以按任意字段查询客户基本信息。九)、系统设置(一)、本单位定义功能:定义

20、本单位的基本信息,可以修改。(二)、操作员及密码功能:操作员信息的添加、修改、删除、密码的修改及操作员信息浏览。(三)、权限设置功能:对操作员进行不同的权限设置。(四)、系统初始化功能:对系统数据库进行清空记录说明:第一次进入系统时清空测试数据,可以选择初始化对象。十)、帮助(一)、帮助功能:帮助提示信息。(二)、关于功能:版权说明及查看计算机系统信息。四、各个重要模块的程序简介1. 公用模块option explicitpublic function cnn() as string cnn = "provider=msdasql.1;persist security info=fa

21、lse;user id=sa;data source=gcgl;initial catalog=gcgl"end functionpublic sub enter(keycode as integer) if keycode = vbkeyreturn then sendkeys "tab" end ifend sub2. 系统登录模块dim tim as integer '声明一个整型变量dim rs1 as new adodb.recordset 定义一个数据集对象dim myval as string private sub form_activat

22、e()'显示软件名称及版本信息me.caption = app.title & "版本: v" & app.major & "." & app.minor & "." & app.revisionrs1.open "select * from qxsz ", cnn, adopenkeyset, adlockoptimistic '打开数据库if rs1.recordcount = 0 then myval = msgbox("进入系统后先设

23、置操作员和操作员权限!",0") load frm_main frm_main.show unload me else datacombo1.setfocus end ifrs1.closeend subprivate sub datacombo1_keydown(keycode as integer, shift as integer) if keycode = vbkeyreturn then text2.setfocus end subprivate sub text2_keydown(keycode as integer, shift as integer) if

24、keycode = vbkeyreturn then cmd1.visible = true cmd1.setfocus end ifend subprivate sub cmd1_click() rs1.open "select * from qxsz where 操作员名称='" & datacombo1.boundtext & "'", cnn, adopenkeyset, adlockoptimistic if rs1.recordcount > 0 then frm_main.rkd.enabled = r

25、s1.fields("商品入库") frm_main.toolbar1.buttons(1).enabled = rs1.fields("商品入库") frm_main.spxs.enabled = rs1.fields("商品销售") frm_main.toolbar1.buttons(8).enabled = rs1.fields("商品销售") frm_main.rktd.enabled = rs1.fields("退货返厂") frm_main.xsth.enabled = rs1.fi

26、elds("销售退货") frm_main.toolbar1.buttons(10).enabled = rs1.fields("销售退货") frm_main.kccx.enabled = rs1.fields("库存查询") frm_main.toolbar1.buttons(5).enabled = rs1.fields("库存查询") frm_main.kcpd.enabled = rs1.fields("库存盘点") frm_main.rkcx.enabled = rs1.fields

27、("入库查询") frm_main.toolbar1.buttons(3).enabled = rs1.fields("入库查询") frm_main.ckcx.enabled = rs1.fields("退货返厂查询") frm_main.xscx.enabled = rs1.fields("销售查询") frm_main.toolbar1.buttons(12).enabled = rs1.fields("销售查询") frm_main.xsthcx.enabled = rs1.fields

28、("销售退货查询") frm_main.fkd.enabled = rs1.fields("付款单") frm_main.toolbar1.buttons(15).enabled = rs1.fields("付款单") frm_main.skd.enabled = rs1.fields("收款单") frm_main.toolbar1.buttons(16).enabled = rs1.fields("收款单") frm_main.skcx.enabled = rs1.fields("

29、应收款查询") frm_main.fkcx.enabled = rs1.fields("应付款查询") frm_main.xsrbb.enabled = rs1.fields("销售日报表") frm_main.xsybb.enabled = rs1.fields("销售月报表") frm_main.khxsbb.enabled = rs1.fields("客户销售报表") frm_main.zyxsbb.enabled = rs1.fields("职员销售报表") frm_main.

30、spinf.enabled = rs1.fields("商品信息管理") frm_main.yginf.enabled = rs1.fields("员工信息管理") frm_main.ckinf.enabled = rs1.fields("仓库信息管理") frm_main.gysinf.enabled = rs1.fields("¹供应商信息管理") frm_main.toolbar1.buttons(21).enabled = rs1.fields("¹供应商信息管理")

31、 frm_main.khinf.enabled = rs1.fields("客户信息管理") frm_main.toolbar1.buttons(19).enabled = rs1.fields("客户信息管理") frm_main.bdwdy.enabled = rs1.fields("本单位定义") frm_main.czysz.enabled = rs1.fields("操作员及密码") frm_main.qxsz.enabled = rs1.fields("权限设置") frm_main

32、.xtcsh.enabled = rs1.fields("系统初始化") dim message as string textime.text = tim adodc1.recordsource = "select * from qxsz where 操作员名称='" + datacombo1.boundtext + "'" adodc1.refresh if datacombo1.boundtext <> "" and text2.text = trim(adodc1.recordse

33、t.fields("密码") then load frm_main frm_main.show frm_main.st1.panels(3).text = trim(datacombo1.text) unload me else if tim = 3 then message = msgbox("密码输入错误,请向系统管理员查询!", 0, "") if message = vbok then end end if if datacombo1.boundtext = "" then msgbox ("请输

34、入操作员!") datacombo1.setfocus else if trim(datacombo1.boundtext) <> trim(adodc1.recordset.fields("操作员名称") then msgbox ("查无此操作员,请重新输入操作员!") datacombo1.setfocus else if text2.text <> adodc1.recordset.fields("密码") then msgbox ("密码错误,请重新输入密码!") tim

35、= tim + 1 text2.setfocus end if end if end if end if end if rs1.closeend subprivate sub cmd2_click() endend sub3. 主程序模块private sub ckcx_click() load main_cxtj_ckcxmain_cxtj_ckcx.showfrm_main.enabled = falseend subprivate sub form_load()me.caption = app.title & " 版本: v" & app.major

36、& "." & app.minor & "." & app.revision dim i as integer for i = 0 to 1 label1(i).caption = app.title next i label2.caption = "版本: v" & app.major & "." & app.minor & "." & app.revisionend subprivate sub toolbar1_but

37、tonclick(byval button as mscomctllib.button) select case button.key case is = "rk" rkd_click case is = "kc" kccx_click case is = "xscx" xscx_click case is = "rkcx" rkcx_click case is = "fkd" fkd_click case is = "kh" khinf_click case is = &q

38、uot;gys" gysinf_click case is = "bz" bz1_clickcase is = "xs" spxs_clickcase is = "xsth" xsth_clickcase is = "skd" skd_clickcase is = "tc" end end selectend subprivate sub timer1_timer() st1.panels(2).text = format(date, "long date") &a

39、mp; " " & timeend subprivate sub rkd_click() load main_rcyw_rk main_rcyw_rk.show frm_main.enabled = falseend subprivate sub rktd_click() load main_rcyw_rktdmain_rcyw_rktd.showfrm_main.enabled = falseend subprivate sub kccx_click() load main_kcgl_kccx main_kcgl_kccx.show frm_main.enable

40、d = falseend subprivate sub kcpd_click() load main_kcgl_kcpd main_kcgl_kcpd.show frm_main.enabled = falseend subprivate sub xscx_click() load main_cxtj_xscx main_cxtj_xscx.show frm_main.enabled = falseend subprivate sub rkcx_click() load main_cxtj_rkcx main_cxtj_rkcx.show frm_main.enabled = falseend

41、 subprivate sub fkd_click() load main_ysyf_fkd main_ysyf_fkd.show frm_main.enabled = falseend subprivate sub skcx_click() load main_ysyf_skcx main_ysyf_skcx.show frm_main.enabled = falseend subprivate sub fkcx_click() load main_ysyf_fkcx main_ysyf_fkcx.show frm_main.enabled = falseend subprivate sub

42、 xsrbb_click() load main_tjbb_xsrbb main_tjbb_xsrbb.show frm_main.enabled = falseend subprivate sub xsthcx_click() load main_cxtj_xsthcxmain_cxtj_xsthcx.showend subprivate sub xsybb_click() load main_tjbb_xsybb main_tjbb_xsybb.show frm_main.enabled = falseend subprivate sub khxsbb_click() load main_

43、tjbb_khxsbb main_tjbb_khxsbb.show frm_main.enabled = falseend subprivate sub zyxsbb_click() load main_tjbb_zyxsbb main_tjbb_zyxsbb.show frm_main.enabled = falseend subprivate sub spinf_click() load main_jbxx_spinf main_jbxx_spinf.show frm_main.enabled = falseend subprivate sub yginf_click() load mai

44、n_jbxx_yginf main_jbxx_yginf.show frm_main.enabled = falseend subprivate sub ckinf_click() load main_jbxx_ckinf main_jbxx_ckinf.show frm_main.enabled = falseend subprivate sub gysinf_click() load main_jbxx_gys main_jbxx_gys.show frm_main.enabled = falseend subprivate sub khinf_click() load main_jbxx

45、_kh main_jbxx_kh.show frm_main.enabled = falseend subprivate sub bdwdy_click() load main_bdwdy main_bdwdy.show frm_main.enabled = falseend subprivate sub czysz_click() load main_xtsz_czysz main_xtsz_czysz.show frm_main.enabled = falseend subprivate sub qxsz_click() load main_xtsz_qxsz main_xtsz_qxsz

46、.show frm_main.enabled = falseend subprivate sub xtcsh_click() load main_xtsz_xtcsh main_xtsz_xtcsh.show frm_main.enabled = falseend subprivate sub bz1_click() load frmtip frmtip.show frm_main.enabled = falseend subprivate sub gy_click() load frmabout frmabout.show frm_main.enabled = falseend subpri

47、vate sub spxs_click() load main_rcyw_xsmain_rcyw_xs.showfrm_main.enabled = falseend subprivate sub xsth_click() load main_rcyw_xsthmain_rcyw_xsth.showfrm_main.enabled = falseend subprivate sub skd_click() load main_ysyf_skdmain_ysyf_skd.showend subprivate sub exit_click()endend sub4. 商品入库模块'定义数据

48、集对象dim rs1 as new adodb.recordsetdim rs2 as new adodb.recordsetdim rs3 as new adodb.recordsetdim rs4 as new adodb.recordsetdim rs5 as new adodb.recordsetdim s, y, i, j public sub yfje_exp() yfje.text = format(val(hjje.text) * (val(zk.text) / 10) + (val(yfje.text) * (val(sl.text) / 100), "0.00&q

49、uot;)end subprivate sub form_activate() rq.text = date combo1.additem ("现金"): combo1.additem ("转帐支票") combo1.additem ("汇票"): combo1.listindex = 0 me.caption = me.caption & "操作员: & frm_main.st1.panels(3).textend subprivate sub form_load() ms1.rows = 102: ms1

50、.cols = 9 s = array("300", "2100", "1200", "1800", "1500", "765", "1200", "1200", "1200") y = array("xh", "商品名称", "商品编号", "规格", "产地", "单位", "进价&q

51、uot;, "数量", "金额") for i = 0 to 8 ms1.colwidth(i) = s(i): ms1.textmatrix(0, i) = y(i) next i ms1.fixedrows = 1: ms1.fixedcols = 1 for i = 1 to 101 ms1.textmatrix(i, 0) = i next i rq.text = date end subprivate sub form_unload(cancel as integer) frm_main.enabled = trueend subprivate sub ck_change

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论