Skip to content
项目
Groups
代码片段
帮助
正在加载...
Sign in / Register
Toggle navigation
W
workoffice
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图表
统计图
Create a new issue
作业
提交
议题看板
Open sidebar
冷广德
workoffice
Commits
1cb3c3b7
提交
1cb3c3b7
authored
6月 03, 2020
作者:
lgd
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1.修改列表接口,完后接口
2.//TODO (采购新增,设备采购-维修列表接口,新增维修的部门接口,接单显示规则),坩埚下单,下单时间选择器当前时间验证,mes其他页面,mes用户反馈空也展示,编辑任务担当无法修改
上级
91c455a2
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
188 行增加
和
21 行删除
+188
-21
ApiService.java
app/src/main/java/com/wd/workoffice/retrofit/ApiService.java
+16
-0
DeviceBuyDetailActivity.java
...koffice/ui/activity/bat/work/DeviceBuyDetailActivity.java
+67
-12
DeviceRepairDetailActivity.java
...fice/ui/activity/bat/work/DeviceRepairDetailActivity.java
+70
-1
DeviceBuyCheckListFragment.java
...a/com/wd/workoffice/ui/fg/DeviceBuyCheckListFragment.java
+4
-1
DeviceBuyListFragment.java
...n/java/com/wd/workoffice/ui/fg/DeviceBuyListFragment.java
+3
-2
DeviceRepairCheckListFragment.java
...om/wd/workoffice/ui/fg/DeviceRepairCheckListFragment.java
+3
-2
DeviceRepairListFragment.java
...ava/com/wd/workoffice/ui/fg/DeviceRepairListFragment.java
+3
-2
activity_device_buy_detail.xml
app/src/main/res/layout/activity_device_buy_detail.xml
+22
-1
没有找到文件。
app/src/main/java/com/wd/workoffice/retrofit/ApiService.java
浏览文件 @
1cb3c3b7
...
...
@@ -1838,4 +1838,20 @@ public interface ApiService {
*/
@PUT
(
"/equipmentRepair/apply"
)
Observable
<
BaseBean
>
equipmentRepairApply
(
@Body
RequestBody
requestBody
);
/**
* 设置交付完成 还需要进行同步设备到备件表(调用erp)
*
* @return
*/
@PUT
(
"/equipmentPurchase/finish/{orderId}"
)
Observable
<
BaseBean
>
equipmentPurchaseFinish
(
@Path
(
"orderId"
)
String
orderId
);
/**
* 设置交付完成 还需要进行同步设备到备件表(调用erp)
*
* @return
*/
@PUT
(
"/equipmentRepair/finish/{orderId}"
)
Observable
<
BaseBean
>
equipmentRepairFinish
(
@Path
(
"orderId"
)
String
orderId
);
}
app/src/main/java/com/wd/workoffice/ui/activity/bat/work/DeviceBuyDetailActivity.java
浏览文件 @
1cb3c3b7
package
com
.
wd
.
workoffice
.
ui
.
activity
.
bat
.
work
;
import
android.os.Bundle
;
import
android.text.Editable
;
import
android.text.TextUtils
;
import
android.text.TextWatcher
;
...
...
@@ -11,22 +10,21 @@ import android.widget.LinearLayout;
import
android.widget.TextView
;
import
com.alibaba.fastjson.JSON
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialog
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialogAction
;
import
com.wd.workoffice.R
;
import
com.wd.workoffice.app.BaseBean
;
import
com.wd.workoffice.app.WorkToolBarActivity
;
import
com.wd.workoffice.bean.DeviceBean
;
import
com.wd.workoffice.bean.DeviceBuyBean
;
import
com.wd.workoffice.bean.SendApplyBean
;
import
com.wd.workoffice.bean.SendApplyDetailBean
;
import
com.wd.workoffice.bean.event.CheckDeviceEvent
;
import
com.wd.workoffice.bean.event.CheckSendEvent
;
import
com.wd.workoffice.bean.workEnum.OrderType
;
import
com.wd.workoffice.bean.event.ModifyCarEvent
;
import
com.wd.workoffice.bean.workEnum.PagePermissionType
;
import
com.wd.workoffice.retrofit.RtfUtils
;
import
com.wd.workoffice.retrofit.WorkObserver
;
import
com.wd.workoffice.ui.activity.bat.store.StoreSaleCarActivity
;
import
com.wd.workoffice.ui.adapter.DeviceDetailAdapter
;
import
com.wd.workoffice.ui.adapter.SendApplyDetailAdapter
;
import
com.wd.workoffice.util.UserKeeper
;
import
com.wd.workoffice.util.DialogUtils
;
import
com.wd.workoffice.util.WorkUtils
;
import
org.greenrobot.eventbus.EventBus
;
...
...
@@ -77,6 +75,12 @@ public class DeviceBuyDetailActivity extends WorkToolBarActivity {
TextView
tvRemark
;
@BindView
(
R
.
id
.
rv_data
)
RecyclerView
rvData
;
@BindView
(
R
.
id
.
tv_finish
)
TextView
tvFinish
;
@BindView
(
R
.
id
.
ll_check
)
LinearLayout
llCheck
;
@BindView
(
R
.
id
.
tv_desc
)
TextView
tvDesc
;
private
List
<
DeviceBean
.
RecordsBean
>
dataList
;
private
DeviceDetailAdapter
dataAdapter
;
private
Map
<
String
,
Object
>
param
;
...
...
@@ -110,22 +114,33 @@ public class DeviceBuyDetailActivity extends WorkToolBarActivity {
}
private
void
changePermissionView
()
{
if
(
TextUtils
.
equals
(
"0"
,
getIntent
().
getStringExtra
(
"from"
)))
{
llBottom
.
setVisibility
(
View
.
GONE
);
return
;
}
if
(
info
.
getStatus
()
==
100
)
{
if
(!
WorkUtils
.
hasPermission
(
PagePermissionType
.
EQUIPMENT_PURCHASE_REPAIR_UPDATE
.
getPermission
()))
{
llBottom
.
setVisibility
(
View
.
GONE
);
}
else
{
llBottom
.
setVisibility
(
View
.
VISIBLE
);
llCheck
.
setVisibility
(
View
.
VISIBLE
);
}
}
else
if
(
info
.
getStatus
()
==
200
)
{
if
(!
WorkUtils
.
hasPermission
(
PagePermissionType
.
EQUIPMENT_PURCHASE_REPAIR_APPLY
.
getPermission
()))
{
llBottom
.
setVisibility
(
View
.
GONE
);
}
else
{
if
(
TextUtils
.
equals
(
UserKeeper
.
getInstance
().
getUserDepId
(),
info
.
getReceiveDeptId
()
+
""
)
&&
TextUtils
.
equals
(
UserKeeper
.
getInstance
().
getUserDepRuler
(),
"1"
))
{
llBottom
.
setVisibility
(
View
.
VISIBLE
);
llCheck
.
setVisibility
(
View
.
VISIBLE
);
tvRefuse
.
setText
(
"拒单"
);
tvAgree
.
setText
(
"接单"
);
}
}
else
if
(
info
.
getStatus
()
==
300
)
{
if
(!
WorkUtils
.
hasPermission
(
PagePermissionType
.
EQUIPMENT_PURCHASE_REPAIR_FINISH
.
getPermission
()))
{
llBottom
.
setVisibility
(
View
.
GONE
);
}
else
{
llBottom
.
setVisibility
(
View
.
VISIBLE
);
llCheck
.
setVisibility
(
View
.
GONE
);
tvFinish
.
setVisibility
(
View
.
VISIBLE
);
}
}
else
{
llBottom
.
setVisibility
(
View
.
GONE
);
...
...
@@ -170,7 +185,7 @@ public class DeviceBuyDetailActivity extends WorkToolBarActivity {
}
@OnClick
({
R
.
id
.
tv_refuse
,
R
.
id
.
tv_agree
})
@OnClick
({
R
.
id
.
tv_
finish
,
R
.
id
.
tv_
refuse
,
R
.
id
.
tv_agree
})
public
void
onViewClicked
(
View
view
)
{
switch
(
view
.
getId
())
{
case
R
.
id
.
tv_refuse
:
...
...
@@ -187,7 +202,47 @@ public class DeviceBuyDetailActivity extends WorkToolBarActivity {
checkDialog
(
300
);
}
break
;
case
R
.
id
.
tv_finish
:
QMUIDialog
.
MessageDialogBuilder
dialog
=
DialogUtils
.
okAndCancelDialog
(
DeviceBuyDetailActivity
.
this
);
dialog
.
setMessage
(
"是否完成"
).
addAction
(
"取消"
,
new
QMUIDialogAction
.
ActionListener
()
{
@Override
public
void
onClick
(
QMUIDialog
dialog
,
int
index
)
{
dialog
.
dismiss
();
}
}).
addAction
(
"确定"
,
new
QMUIDialogAction
.
ActionListener
()
{
@Override
public
void
onClick
(
QMUIDialog
dialog
,
int
index
)
{
finishDevice
();
}
}).
show
();
break
;
}
}
private
void
finishDevice
()
{
RtfUtils
.
getRtf
().
equipmentPurchaseFinish
(
info
.
getId
()).
compose
(
Transformer
.
schedule
()).
subscribe
(
new
WorkObserver
<
BaseBean
>()
{
@Override
public
void
doOnSubscribe
(
Disposable
d
)
{
}
@Override
public
void
onFail
(
String
errorMsg
)
{
hideLoading
();
toast
(
errorMsg
);
}
@Override
public
void
onSuccess
(
BaseBean
data
)
{
hideLoading
();
if
(
data
.
getCode
()
!=
0
)
{
toast
(
data
.
getMessage
());
return
;
}
toast
(
"操作成功"
);
EventBus
.
getDefault
().
post
(
new
CheckDeviceEvent
());
finish
();
}
});
}
private
void
checkDialog
(
int
status
)
{
...
...
@@ -195,7 +250,7 @@ public class DeviceBuyDetailActivity extends WorkToolBarActivity {
View
view
=
LayoutInflater
.
from
(
this
).
inflate
(
R
.
layout
.
view_check
,
null
);
TextView
tvOk
=
view
.
findViewById
(
R
.
id
.
tv_ok
);
TextView
tvDesc
=
view
.
findViewById
(
R
.
id
.
tv_desc
);
tvDesc
.
setText
(
status
%
100
==
0
?
"通过"
:
"拒绝"
);
tvDesc
.
setText
(
status
%
100
==
0
?
"通过"
:
"拒绝"
);
TextView
tvNum
=
view
.
findViewById
(
R
.
id
.
tv_num
);
TextView
tvCancel
=
view
.
findViewById
(
R
.
id
.
tv_cancel
);
EditText
etRemark
=
view
.
findViewById
(
R
.
id
.
et_content
);
...
...
@@ -241,7 +296,7 @@ public class DeviceBuyDetailActivity extends WorkToolBarActivity {
private
void
check
(
int
status
,
String
remark
)
{
param
.
put
(
"status"
,
status
);
param
.
put
(
"id"
,
info
.
getId
());
Observable
<
BaseBean
>
observable
;
Observable
<
BaseBean
>
observable
;
if
(
info
.
getStatus
()
==
100
)
{
param
.
put
(
"auditRemark"
,
remark
);
observable
=
RtfUtils
.
getRtf
().
equipmentPurchaseAudit
(
WorkUtils
.
convertMapToBody
(
param
));
...
...
app/src/main/java/com/wd/workoffice/ui/activity/bat/work/DeviceRepairDetailActivity.java
浏览文件 @
1cb3c3b7
...
...
@@ -11,6 +11,8 @@ import android.widget.LinearLayout;
import
android.widget.TextView
;
import
com.alibaba.fastjson.JSON
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialog
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialogAction
;
import
com.wd.workoffice.R
;
import
com.wd.workoffice.app.BaseBean
;
import
com.wd.workoffice.app.WorkToolBarActivity
;
...
...
@@ -21,6 +23,7 @@ import com.wd.workoffice.bean.workEnum.PagePermissionType;
import
com.wd.workoffice.retrofit.RtfUtils
;
import
com.wd.workoffice.retrofit.WorkObserver
;
import
com.wd.workoffice.ui.adapter.DeviceDetailAdapter
;
import
com.wd.workoffice.util.DialogUtils
;
import
com.wd.workoffice.util.WorkUtils
;
import
org.greenrobot.eventbus.EventBus
;
...
...
@@ -73,6 +76,10 @@ public class DeviceRepairDetailActivity extends WorkToolBarActivity {
RecyclerView
rvData
;
@BindView
(
R
.
id
.
tv_desc
)
TextView
tvDesc
;
@BindView
(
R
.
id
.
tv_finish
)
TextView
tvFinish
;
@BindView
(
R
.
id
.
ll_check
)
LinearLayout
llCheck
;
private
List
<
DeviceBean
.
RecordsBean
>
dataList
;
private
DeviceDetailAdapter
dataAdapter
;
private
Map
<
String
,
Object
>
param
;
...
...
@@ -105,26 +112,42 @@ public class DeviceRepairDetailActivity extends WorkToolBarActivity {
param
.
put
(
"id"
,
info
.
getId
());
}
private
void
changePermissionView
()
{
if
(
TextUtils
.
equals
(
"0"
,
getIntent
().
getStringExtra
(
"from"
)))
{
llBottom
.
setVisibility
(
View
.
GONE
);
return
;
}
if
(
info
.
getStatus
()
==
100
)
{
if
(!
WorkUtils
.
hasPermission
(
PagePermissionType
.
EQUIPMENT_REPAIR_UPDATE
.
getPermission
()))
{
llBottom
.
setVisibility
(
View
.
GONE
);
}
else
{
llBottom
.
setVisibility
(
View
.
VISIBLE
);
llCheck
.
setVisibility
(
View
.
VISIBLE
);
}
}
else
if
(
info
.
getStatus
()
==
200
)
{
if
(!
WorkUtils
.
hasPermission
(
PagePermissionType
.
EQUIPMENT_REPAIR_APPLY
.
getPermission
()))
{
llBottom
.
setVisibility
(
View
.
GONE
);
}
else
{
llBottom
.
setVisibility
(
View
.
VISIBLE
);
llCheck
.
setVisibility
(
View
.
VISIBLE
);
tvRefuse
.
setText
(
"拒单"
);
tvAgree
.
setText
(
"接单"
);
}
}
else
if
(
info
.
getStatus
()
==
300
)
{
if
(!
WorkUtils
.
hasPermission
(
PagePermissionType
.
EQUIPMENT_REPAIR_FINISH
.
getPermission
()))
{
llBottom
.
setVisibility
(
View
.
GONE
);
}
else
{
llBottom
.
setVisibility
(
View
.
VISIBLE
);
llCheck
.
setVisibility
(
View
.
GONE
);
tvFinish
.
setVisibility
(
View
.
VISIBLE
);
}
}
else
{
llBottom
.
setVisibility
(
View
.
GONE
);
}
}
private
void
getData
(
String
id
)
{
RtfUtils
.
getRtf
().
equipmentRepairItemList
(
id
).
compose
(
Transformer
.
schedule
()).
subscribe
(
new
WorkObserver
<
BaseBean
>()
{
...
...
@@ -162,7 +185,7 @@ public class DeviceRepairDetailActivity extends WorkToolBarActivity {
}
@OnClick
({
R
.
id
.
tv_refuse
,
R
.
id
.
tv_agree
})
@OnClick
({
R
.
id
.
tv_finish
,
R
.
id
.
tv_refuse
,
R
.
id
.
tv_agree
})
public
void
onViewClicked
(
View
view
)
{
switch
(
view
.
getId
())
{
case
R
.
id
.
tv_refuse
:
...
...
@@ -179,7 +202,46 @@ public class DeviceRepairDetailActivity extends WorkToolBarActivity {
checkDialog
(
300
);
}
break
;
case
R
.
id
.
tv_finish
:
QMUIDialog
.
MessageDialogBuilder
dialog
=
DialogUtils
.
okAndCancelDialog
(
DeviceRepairDetailActivity
.
this
);
dialog
.
setMessage
(
"是否完成"
).
addAction
(
"取消"
,
new
QMUIDialogAction
.
ActionListener
()
{
@Override
public
void
onClick
(
QMUIDialog
dialog
,
int
index
)
{
dialog
.
dismiss
();
}
}).
addAction
(
"确定"
,
new
QMUIDialogAction
.
ActionListener
()
{
@Override
public
void
onClick
(
QMUIDialog
dialog
,
int
index
)
{
finishDevice
();
}
}).
show
();
break
;
}
}
private
void
finishDevice
()
{
RtfUtils
.
getRtf
().
equipmentRepairFinish
(
info
.
getId
()).
compose
(
Transformer
.
schedule
()).
subscribe
(
new
WorkObserver
<
BaseBean
>()
{
@Override
public
void
doOnSubscribe
(
Disposable
d
)
{
}
@Override
public
void
onFail
(
String
errorMsg
)
{
hideLoading
();
toast
(
errorMsg
);
}
@Override
public
void
onSuccess
(
BaseBean
data
)
{
hideLoading
();
if
(
data
.
getCode
()
!=
0
)
{
toast
(
data
.
getMessage
());
return
;
}
toast
(
"操作成功"
);
EventBus
.
getDefault
().
post
(
new
CheckDeviceEvent
());
finish
();
}
});
}
private
void
checkDialog
(
int
status
)
{
...
...
@@ -265,4 +327,11 @@ public class DeviceRepairDetailActivity extends WorkToolBarActivity {
}
});
}
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
// TODO: add setContentView(...) invocation
ButterKnife
.
bind
(
this
);
}
}
app/src/main/java/com/wd/workoffice/ui/fg/DeviceBuyCheckListFragment.java
浏览文件 @
1cb3c3b7
...
...
@@ -3,6 +3,7 @@ package com.wd.workoffice.ui.fg;
import
android.os.Bundle
;
import
android.text.TextUtils
;
import
android.view.View
;
import
com.alibaba.fastjson.JSON
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.scwang.smartrefresh.layout.SmartRefreshLayout
;
...
...
@@ -21,6 +22,7 @@ import com.wd.workoffice.ui.adapter.DeviceBuyAdapter;
import
com.wd.workoffice.ui.adapter.DeviceRepairAdapter
;
import
com.wd.workoffice.util.UserKeeper
;
import
com.wd.workoffice.util.WorkUtils
;
import
org.greenrobot.eventbus.EventBus
;
import
org.greenrobot.eventbus.Subscribe
;
...
...
@@ -142,7 +144,8 @@ public class DeviceBuyCheckListFragment extends WorkBaseFg {
@Override
public
void
onItemClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
startActivity
(
DeviceBuyDetailActivity
.
class
,
"info"
,
JSON
.
toJSONString
(
dataList
.
get
(
position
)));
"info"
,
JSON
.
toJSONString
(
dataList
.
get
(
position
)),
"from"
,
"1"
);
}
});
}
...
...
app/src/main/java/com/wd/workoffice/ui/fg/DeviceBuyListFragment.java
浏览文件 @
1cb3c3b7
...
...
@@ -68,7 +68,7 @@ public class DeviceBuyListFragment extends WorkBaseFg {
param
=
WorkUtils
.
pageKey
();
if
(!
TextUtils
.
isEmpty
(
state
))
param
.
put
(
"status"
,
state
);
// param.put("receive
DeptId", UserKeeper.getInstance().getUserDepId());
param
.
put
(
"launch
DeptId"
,
UserKeeper
.
getInstance
().
getUserDepId
());
page
=
1
;
param
.
put
(
"current"
,
page
);
dataList
=
new
ArrayList
<>();
...
...
@@ -144,7 +144,8 @@ public class DeviceBuyListFragment extends WorkBaseFg {
@Override
public
void
onItemClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
startActivity
(
DeviceBuyDetailActivity
.
class
,
"info"
,
JSON
.
toJSONString
(
dataList
.
get
(
position
)));
"info"
,
JSON
.
toJSONString
(
dataList
.
get
(
position
)),
"from"
,
"0"
);
}
});
}
...
...
app/src/main/java/com/wd/workoffice/ui/fg/DeviceRepairCheckListFragment.java
浏览文件 @
1cb3c3b7
...
...
@@ -69,7 +69,7 @@ public class DeviceRepairCheckListFragment extends WorkBaseFg {
param
=
WorkUtils
.
pageKey
();
if
(!
TextUtils
.
isEmpty
(
state
))
param
.
put
(
"status"
,
state
);
//
param.put("receiveDeptId", UserKeeper.getInstance().getUserDepId());
param
.
put
(
"receiveDeptId"
,
UserKeeper
.
getInstance
().
getUserDepId
());
page
=
1
;
param
.
put
(
"current"
,
page
);
dataList
=
new
ArrayList
<>();
...
...
@@ -143,7 +143,8 @@ public class DeviceRepairCheckListFragment extends WorkBaseFg {
@Override
public
void
onItemClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
startActivity
(
DeviceRepairDetailActivity
.
class
,
"info"
,
JSON
.
toJSONString
(
dataList
.
get
(
position
)));
"info"
,
JSON
.
toJSONString
(
dataList
.
get
(
position
)),
"from"
,
"1"
);
}
});
}
...
...
app/src/main/java/com/wd/workoffice/ui/fg/DeviceRepairListFragment.java
浏览文件 @
1cb3c3b7
...
...
@@ -70,7 +70,7 @@ public class DeviceRepairListFragment extends WorkBaseFg {
param
=
WorkUtils
.
pageKey
();
if
(!
TextUtils
.
isEmpty
(
state
))
param
.
put
(
"status"
,
state
);
param
.
put
(
"launch
User
Id"
,
UserKeeper
.
getInstance
().
getUserId
());
param
.
put
(
"launch
Dept
Id"
,
UserKeeper
.
getInstance
().
getUserId
());
page
=
1
;
param
.
put
(
"current"
,
page
);
dataList
=
new
ArrayList
<>();
...
...
@@ -146,7 +146,8 @@ public class DeviceRepairListFragment extends WorkBaseFg {
@Override
public
void
onItemClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
startActivity
(
DeviceRepairDetailActivity
.
class
,
"info"
,
JSON
.
toJSONString
(
dataList
.
get
(
position
)));
"info"
,
JSON
.
toJSONString
(
dataList
.
get
(
position
)),
"from"
,
"0"
);
}
});
}
...
...
app/src/main/res/layout/activity_device_buy_detail.xml
浏览文件 @
1cb3c3b7
...
...
@@ -9,9 +9,29 @@
android:layout_width=
"match_parent"
android:layout_height=
"60mm"
android:layout_alignParentBottom=
"true"
android:gravity=
"center
_vertical|right
"
android:gravity=
"center"
android:orientation=
"horizontal"
>
<TextView
android:id=
"@+id/tv_finish"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:layout_marginRight=
"10mm"
android:background=
"@drawable/shape_blue_btn"
android:paddingHorizontal=
"40mm"
android:paddingVertical=
"5mm"
android:text=
"完成"
android:visibility=
"gone"
android:textColor=
"@color/white"
/>
<LinearLayout
android:id=
"@+id/ll_check"
android:visibility=
"gone"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:gravity=
"right"
>
<TextView
android:id=
"@+id/tv_refuse"
android:layout_width=
"wrap_content"
...
...
@@ -35,6 +55,7 @@
android:textColor=
"@color/white"
/>
</LinearLayout>
</LinearLayout>
<androidx.core.widget.NestedScrollView
android:layout_width=
"match_parent"
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论