Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiedao-app-operator-master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lanbaoming
jiedao-app-operator-master
Commits
a64ed272
Commit
a64ed272
authored
Sep 21, 2022
by
dragondean@qq.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://gitlab.jdshangmen.com/jiedao-app/jiedao-app-operator
into dev
parents
3be41b51
4a89cd43
Changes
15
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
542 additions
and
52 deletions
+542
-52
futureBox.js
src/api/ecw/futureBox.js
+54
-0
index.vue
src/components/CustomerFollow/index.vue
+28
-1
index.vue
src/components/CustomerFollowList/index.vue
+34
-3
indexFutureBox.vue
src/views/ecw/box/indexFutureBox.vue
+357
-0
index.vue
src/views/ecw/customerComplaint/index.vue
+24
-8
batchSingleApplication.vue
src/views/ecw/order/batchSingleApplication.vue
+1
-11
warehouseDetails.vue
src/views/ecw/order/components/warehouseDetails.vue
+1
-1
index.vue
src/views/ecw/order/exception/index.vue
+0
-1
feeApplication.vue
src/views/ecw/order/feeApplication.vue
+1
-1
pending.vue
src/views/ecw/order/pending.vue
+8
-8
transferWarehousing.vue
src/views/ecw/order/transferWarehousing.vue
+1
-1
index.vue
src/views/ecw/order/warehousing/index.vue
+2
-2
index.vue
src/views/ecw/productBrank/BrandForm/index.vue
+16
-3
index.vue
src/views/ecw/productBrank/index.vue
+6
-3
index.vue
src/views/system/internalMessage/index.vue
+9
-9
No files found.
src/api/ecw/futureBox.js
0 → 100644
View file @
a64ed272
import
request
from
'
@/utils/request
'
// 创建预定舱计划
export
function
createFutureBox
(
data
)
{
return
request
({
url
:
'
/ecw/future-box/create
'
,
method
:
'
post
'
,
data
:
data
})
}
// 更新预定舱计划
export
function
updateFutureBox
(
data
)
{
return
request
({
url
:
'
/ecw/future-box/update
'
,
method
:
'
put
'
,
data
:
data
})
}
// 删除预定舱计划
export
function
deleteFutureBox
(
id
)
{
return
request
({
url
:
'
/ecw/future-box/delete?id=
'
+
id
,
method
:
'
delete
'
})
}
// 获得预定舱计划
export
function
getFutureBox
(
id
)
{
return
request
({
url
:
'
/ecw/future-box/get?id=
'
+
id
,
method
:
'
get
'
})
}
// 获得预定舱计划分页
export
function
getFutureBoxPage
(
query
)
{
return
request
({
url
:
'
/ecw/future-box/page
'
,
method
:
'
get
'
,
params
:
query
})
}
// 导出预定舱计划 Excel
export
function
exportFutureBoxExcel
(
query
)
{
return
request
({
url
:
'
/ecw/future-box/export-excel
'
,
method
:
'
get
'
,
params
:
query
,
responseType
:
'
blob
'
})
}
src/components/CustomerFollow/index.vue
View file @
a64ed272
...
...
@@ -173,7 +173,34 @@ export default {
if
(
!
valid
)
{
return
}
if
(
!
this
.
customerFollow
.
form
.
followType
){
this
.
$modal
.
msgError
(
"
请选择跟进类型
"
);
return
}
if
(
!
this
.
customerFollow
.
form
.
followTime
){
this
.
$modal
.
msgError
(
"
请选择跟进时间
"
);
return
}
if
(
!
this
.
customerFollow
.
form
.
contactName
){
this
.
$modal
.
msgError
(
"
请选择联系人
"
);
return
}
if
(
!
this
.
customerFollow
.
form
.
followUserId
){
this
.
$modal
.
msgError
(
"
请选择跟进业务
"
);
return
}
if
(
!
this
.
customerFollow
.
form
.
followMethod
){
this
.
$modal
.
msgError
(
"
请选择跟进方式
"
);
return
}
if
(
!
this
.
customerFollow
.
form
.
feedback
){
this
.
$modal
.
msgError
(
"
请输入客户反馈
"
);
return
}
if
(
!
this
.
customerFollow
.
form
.
result
){
this
.
$modal
.
msgError
(
"
请输入处理结果
"
);
return
}
createCustomerFollow
(
this
.
customerFollow
.
form
).
then
(
r
=>
{
this
.
resetCustomerFollowForm
()
this
.
getCustomerFollowList
()
...
...
src/components/CustomerFollowList/index.vue
View file @
a64ed272
...
...
@@ -15,7 +15,7 @@
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"跟进时间"
required
>
<el-date-picker
v-model=
"customerFollow.form.followTime"
type=
"datetime"
placeholder=
"选择跟进时间"
></el-date-picker>
<el-date-picker
v-model=
"customerFollow.form.followTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
format=
"yyyy-MM-dd HH:mm:ss"
type=
"datetime"
placeholder=
"选择跟进时间"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
...
...
@@ -103,8 +103,11 @@ export default {
},
created
()
{
this
.
resetCustomerFollowForm
()
if
(
!!
this
.
customerId
)
getCustomerContactsListByCustomer
({
customerId
:
this
.
customerId
}).
then
(
r
=>
{
this
.
customerContactsList
=
r
.
data
this
.
$set
(
this
.
customerFollow
.
form
,
'
customerId
'
,
this
.
customerId
)
// this.customerFollow.form.customerId = this.customerId
})
listServiceUser
().
then
(
r
=>
{
this
.
serviceUserList
=
r
.
data
...
...
@@ -116,7 +119,34 @@ export default {
if
(
!
valid
)
{
return
}
if
(
!
this
.
customerFollow
.
form
.
followType
){
this
.
$modal
.
msgError
(
"
请选择跟进类型
"
);
return
}
if
(
!
this
.
customerFollow
.
form
.
followTime
){
this
.
$modal
.
msgError
(
"
请选择跟进时间
"
);
return
}
if
(
!
this
.
customerFollow
.
form
.
contactName
){
this
.
$modal
.
msgError
(
"
请选择联系人
"
);
return
}
if
(
!
this
.
customerFollow
.
form
.
followUserId
){
this
.
$modal
.
msgError
(
"
请选择跟进业务
"
);
return
}
if
(
!
this
.
customerFollow
.
form
.
followMethod
){
this
.
$modal
.
msgError
(
"
请选择跟进方式
"
);
return
}
if
(
!
this
.
customerFollow
.
form
.
feedback
){
this
.
$modal
.
msgError
(
"
请输入客户反馈
"
);
return
}
if
(
!
this
.
customerFollow
.
form
.
result
){
this
.
$modal
.
msgError
(
"
请输入处理结果
"
);
return
}
createCustomerFollow
(
this
.
customerFollow
.
form
).
then
(
r
=>
{
this
.
resetCustomerFollowForm
()
this
.
customerFollow
.
dialogVisible
=
false
...
...
@@ -126,7 +156,8 @@ export default {
resetCustomerFollowForm
()
{
this
.
customerFollow
.
form
=
{
"
bizId
"
:
undefined
,
"
bizId
"
:
this
.
id
,
"
customerId
"
:
this
.
customerId
,
"
contactName
"
:
undefined
,
"
feedback
"
:
undefined
,
"
followMethod
"
:
undefined
,
...
...
src/views/ecw/box/indexFutureBox.vue
0 → 100644
View file @
a64ed272
This diff is collapsed.
Click to expand it.
src/views/ecw/customerComplaint/index.vue
View file @
a64ed272
...
...
@@ -266,14 +266,14 @@
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_COMPLAINT_STATUS"
form-type=
"radio"
v-model=
"form.status"
:filter=
"(e) => e.value == '2' || e.value == '3'"
:formatter=
"Number"
></dict-selector>
</el-form-item>
<el-form-item
v-show=
"form.status == '2'"
label=
"查明原因"
required
prop=
"ascertainReason"
>
<el-form-item
v-show=
"form.status == '2'"
label=
"查明原因"
required
>
<el-input
type=
"textarea"
placeholder=
"请输入查明原因"
v-model=
"form.ascertainReason"
></el-input>
</el-form-item>
<el-form-item
v-show=
"form.status == '2'"
label=
"处理方案"
>
<el-input
v-model=
"form.plan"
placeholder=
"请输入处理方案"
></el-input>
</el-form-item>
<el-form-item
v-show=
"form.status == '3'"
label=
"处理结果"
required
prop=
"result"
>
<el-form-item
v-show=
"form.status == '3'"
label=
"处理结果"
required
>
<el-input
type=
"textarea"
placeholder=
"请输入处理结果"
v-model=
"form.result"
></el-input>
</el-form-item>
<el-form-item
v-show=
"form.status == '3'"
label=
"赔付金额"
>
...
...
@@ -287,7 +287,7 @@
:type=
"DICT_TYPE.COMMISSION_CURRENCY_TYPE"
></dict-selector>
</el-input>
</el-form-item>
<el-form-item
v-show=
"form.status == '3'"
label=
"处理时间"
required
prop=
"handleAt"
>
<el-form-item
v-show=
"form.status == '3'"
label=
"处理时间"
required
>
<el-date-picker
type=
"datetime"
v-model=
"form.handleAt"
value-format=
"yyyy-MM-dd HH:mm:ss"
format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</el-form>
...
...
@@ -360,9 +360,6 @@ export default {
customerId
:
[{
required
:
true
,
message
:
"
客户名称不能为空
"
,
trigger
:
"
change
"
}],
type
:
[{
required
:
true
,
message
:
"
投诉类型不能为空
"
,
trigger
:
"
change
"
}],
content
:
[{
required
:
true
,
message
:
"
投诉内容不能为空
"
,
trigger
:
"
blur
"
}],
ascertainReason
:
[{
required
:
true
,
message
:
"
查明原因不能为空
"
,
trigger
:
"
blur
"
}],
result
:
[{
required
:
true
,
message
:
"
处理结果不能为空
"
,
trigger
:
"
blur
"
}],
handleAt
:
[{
required
:
true
,
message
:
"
处理时间不能为空
"
,
trigger
:
"
blur
"
}],
},
myFollowCustomerList
:
[],
...
...
@@ -491,13 +488,28 @@ export default {
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"
form
"
].
validate
(
valid
=>
{
console
.
log
(
valid
)
console
.
log
(
this
.
form
.
handleAt
)
if
(
!
valid
)
{
return
;
}
// 修改的提交
if
(
this
.
form
.
id
!=
null
)
{
if
(
this
.
form
.
status
==
2
){
if
(
!
this
.
form
.
ascertainReason
){
this
.
$modal
.
msgError
(
"
请输入查明原因
"
);
return
}
}
if
(
this
.
form
.
status
==
3
){
if
(
!
this
.
form
.
result
){
this
.
$modal
.
msgError
(
"
请输入处理结果
"
);
return
}
if
(
!
this
.
form
.
handleAt
){
this
.
$modal
.
msgError
(
"
请输入处理时间
"
);
return
}
}
updateCustomerComplaint
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
open
=
false
;
...
...
@@ -559,4 +571,8 @@ export default {
.formShow
div
{
flex
:
1
;
}
.dialog-footer
{
display
:
flex
;
flex-direction
:
row
!important
;
}
</
style
>
src/views/ecw/order/batchSingleApplication.vue
View file @
a64ed272
...
...
@@ -83,20 +83,10 @@
调至
</div></el-col>
<el-col
:span=
"8"
><el-select
v-model=
"params.warehouseInId"
>
<el-option
v-for=
"(item ,index) in availableWarehouse"
:value=
"item.id"
:label=
"item.titleZh"
<el-option
v-for=
"(item ,index) in availableWarehouse"
v-if=
"item.status !== 1"
:value=
"item.id"
:label=
"item.titleZh"
:key=
"index"
></el-option>
</el-select></el-col>
</el-row>
<div
style=
"display: flex;justify-content:center; margin-top: 20px"
>
<div
style=
"width: 200px; margin: 0 10px"
>
</div>
<div>
</div>
<div
style=
"width: 200px;"
>
</div>
</div>
<el-divider></el-divider>
<h1
class=
"title"
>
审批流程
...
...
src/views/ecw/order/components/warehouseDetails.vue
View file @
a64ed272
...
...
@@ -50,7 +50,7 @@
</el-table-column>
<el-table-column
label=
"出货渠道"
>
<
template
v-slot=
"{row}"
>
{{
row
.
channelName
||
'
/
'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"始发仓"
prop=
"startWarehouseName"
></el-table-column>
<el-table-column
label=
"目的地"
prop=
"objectiveName"
></el-table-column>
...
...
src/views/ecw/order/exception/index.vue
View file @
a64ed272
...
...
@@ -147,7 +147,6 @@ import {DICT_TYPE} from '@/utils/dict'
import
{
userList
}
from
"
@/api/system/user
"
import
CustomerSelector
from
'
@/components/CustomerSelector
'
import
ProductSelector
from
'
@/components/ProductSelector
'
import
getProduct
from
'
@/api/ecw/product
'
export
default
{
name
:
"
Exception
"
,
...
...
src/views/ecw/order/feeApplication.vue
View file @
a64ed272
...
...
@@ -65,7 +65,7 @@
<el-button
v-if=
"!IsExamine"
style=
"margin-right: 30px;"
@
click=
"submit"
>
提交
</el-button>
<el-button
v-if=
"IsExamine"
style=
"margin-right: 30px;"
@
click=
"examineFn"
>
审核中
</el-button>
<el-button
v-if=
"IsExamine"
style=
"margin-right: 30px;"
@
click=
"cancel"
>
取消审核
</el-button>
<el-button
>
取消
</el-button>
<el-button
@
click=
"$emit('update:dialogVisible',false)"
>
返回
</el-button>
</div>
</div>
</el-dialog>
...
...
src/views/ecw/order/pending.vue
View file @
a64ed272
...
...
@@ -106,6 +106,7 @@ import {getExceptionListByOrderId} from "@/api/ecw/orderException"
import
{
DICT_TYPE
}
from
'
@/utils/dict
'
import
{
getOrder
}
from
'
@/api/ecw/order
'
import
FilePreview
from
'
@/components/FilePreview
'
import
{
getProduct
}
from
'
@/api/ecw/product
'
export
default
{
name
:
"
Pending
"
,
...
...
@@ -158,15 +159,14 @@ export default {
handEdit
(
row
){
if
(
row
.
orderExceptionType
==
'
order_no_quote_exception
'
){
getProduct
(
row
.
orderItemId
).
then
(
res
=>
{
this
.
$router
.
push
({
name
:
'
ProductPrice
'
,
query
:
{
product_id
:
row
.
orderItemId
,
product_type
:
res
.
data
.
typeId
}
let
url
=
'
../../lineProject/product-price/edit
'
if
(
row
.
orderItem
){
getProduct
(
row
.
orderItemId
).
then
(
res
=>
{
url
=
'
../../lineProject/product-price/edit?product_id=
'
+
row
.
orderItemId
+
'
&product_type=
'
+
res
.
data
.
typeId
})
})
}
return
this
.
$router
.
push
(
url
)
}
else
if
(
row
.
orderExceptionType
==
'
order_heavy_cargo_exception
'
||
row
.
orderExceptionType
==
'
order_bulky_cargo_exception
'
){
this
.
$router
.
push
({
path
:
"
/order/weightDeal?id=
"
+
row
.
id
+
'
&type=
'
+
row
.
orderExceptionType
,
...
...
src/views/ecw/order/transferWarehousing.vue
View file @
a64ed272
...
...
@@ -332,7 +332,7 @@ export default {
return
[
'
合计:
'
,
text
,
text2
]
},
cancellationOfOrder
(){
this
.
$prompt
(
'
请输入
审核
调仓原因
'
,
'
提示
'
,
{
this
.
$prompt
(
'
请输入
取消
调仓原因
'
,
'
提示
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
}).
then
(({
value
})
=>
{
...
...
src/views/ecw/order/warehousing/index.vue
View file @
a64ed272
...
...
@@ -106,8 +106,8 @@
<span
slot=
"append"
>
m³
</span>
</el-input>
</el-form-item>
<el-form-item
label=
"总
方数
量"
style=
"width: 300px"
>
<el-input
v-model=
"form.sumWeight"
placeholder=
"请输入总
数
量"
>
<el-form-item
label=
"总
重
量"
style=
"width: 300px"
>
<el-input
v-model=
"form.sumWeight"
placeholder=
"请输入总
重
量"
>
<span
slot=
"append"
>
kg
</span>
</el-input>
</el-form-item>
...
...
src/views/ecw/productBrank/BrandForm/index.vue
View file @
a64ed272
...
...
@@ -8,7 +8,7 @@
<el-input
v-model=
"form.brandName"
placeholder=
"商标"
></el-input>
</el-form-item>
<el-form-item
:label=
"`商标$
{index + 1}分类`">
<el-select
v-model=
"form.productTypeId"
:placeholder=
"`请选择商标$
{index + 1}分类`" @change="form.productIds = [], updateValue()">
<el-select
v-model=
"form.productTypeId"
:placeholder=
"`请选择商标$
{index + 1}分类`" @change="form.productIds = [
0
], updateValue()">
<el-option
v-for=
"item in productTypeList"
:key=
"item.id"
...
...
@@ -19,7 +19,7 @@
</el-select>
</el-form-item>
<el-form-item
:label=
"`商标$
{index + 1}商品`">
<el-select
v-model=
"form.productIds"
:placeholder=
"`请选择商标$
{index + 1}商品`" multiple filterable @change="updateValue">
<el-select
v-model=
"form.productIds"
:placeholder=
"`请选择商标$
{index + 1}商品`" multiple filterable
clearable
@change="updateValue">
<el-option
v-for=
"item in getProductListByTypeId(form.productTypeId)"
:key=
"item.id"
...
...
@@ -73,9 +73,22 @@ export default {
},
methods
:
{
getProductListByTypeId
(
typeId
)
{
return
typeId
===
0
?
[]
:
this
.
productList
.
filter
((
p
)
=>
p
.
typeId
===
typeId
)
return
[
{
id
:
0
,
titleZh
:
'
全部
'
},
...(
typeId
===
0
?
[]
:
this
.
productList
.
filter
((
p
)
=>
p
.
typeId
===
typeId
))
]
},
// 删除商品0
delete0
(){
if
(
this
.
form
.
productIds
.
length
>
1
){
const
index
=
this
.
form
.
productIds
.
indexOf
(
0
)
if
(
index
!==
-
1
)
{
this
.
form
.
productIds
.
splice
(
index
,
1
)
}
}
},
updateValue
()
{
this
.
delete0
()
const
trademarkCategoryRelList
=
[]
this
.
form
.
productIds
.
forEach
(
productId
=>
{
trademarkCategoryRelList
.
push
({
...
...
src/views/ecw/productBrank/index.vue
View file @
a64ed272
...
...
@@ -124,7 +124,7 @@
trademarkCategoryRelList: []
})"
>
添加商标
</el-button>
<div
slot=
"footer"
class=
"dialog-foo
ter"
>
<div
slot=
"footer"
style=
"text-align: cen
ter"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
...
...
@@ -143,7 +143,6 @@ import {getProductList} from "@/api/ecw/product"
import
BrandForm
from
"
@/views/ecw/productBrank/BrandForm
"
import
Empower
from
"
@/views/ecw/productBrank/Empower
"
export
default
{
name
:
"
ProductBrank
"
,
components
:
{
...
...
@@ -182,6 +181,10 @@ export default {
form
:
{},
// 表单校验
rules
:
{
titleZh
:
[{
required
:
true
,
message
:
'
请输入品牌中文标题
'
,
trigger
:
"
blur
"
}],
titleEn
:
[{
required
:
true
,
message
:
'
请输入品牌英文标题
'
,
trigger
:
"
blur
"
}],
// aorder: [{ required: true, message: '请输入排序', trigger: "blur" }],
filing
:
[{
required
:
true
,
message
:
'
请选择是否备案
'
,
trigger
:
"
change
"
}],
},
recordStatus
:
getDictDatas
(
DICT_TYPE
.
BRAND_REG_TYPE
),
...
...
@@ -196,7 +199,7 @@ export default {
created
()
{
this
.
getList
();
getProductTypeList
().
then
(
r
=>
{
this
.
productTypeList
=
r
.
data
this
.
productTypeList
=
[{
id
:
0
,
titleZh
:
'
全部
'
},
...
r
.
data
]
})
getProductList
().
then
(
r
=>
{
this
.
productList
=
r
.
data
...
...
src/views/system/internalMessage/index.vue
View file @
a64ed272
...
...
@@ -45,7 +45,7 @@
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
label=
""
align=
"center"
prop=
"id"
/>
<!--
<el-table-column
label=
"来源"
align=
"center"
prop=
"fromId"
/>
--
>
<el-table-column
label=
"来源"
align=
"center"
prop=
"fromId"
/
>
<el-table-column
label=
"发送时间"
align=
"center"
prop=
"sendTime"
width=
"180"
>
<template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
sendTime
)
}}
</span>
...
...
@@ -58,11 +58,11 @@
<dict-tag
:type=
"DICT_TYPE.INTERNAL_MESSAGE_TYPE"
:value=
"scope.row.type"
/>
</
template
>
</el-table-column>
<!-- <el-table-column label="创建时间" align="center" prop="createTime" width="180">--
>
<!-- <template slot-scope="scope">--
>
<!-- <span>{{ parseTime(scope.row.createTime) }}</span>--
>
<!-- </template>--
>
<!-- </el-table-column>--
>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span
>
</
template
>
</el-table-column
>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
...
...
@@ -79,9 +79,9 @@
<!-- 对话框(添加 / 修改) -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"500px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<!-- <el-form-item label="来源" prop="fromId">--
>
<!-- <el-input v-model="form.fromId" placeholder="请输入站内信来源" />--
>
<!-- </el-form-item>--
>
<el-form-item
label=
"来源"
prop=
"fromId"
>
<el-input
v-model=
"form.fromId"
placeholder=
"请输入站内信来源"
/
>
</el-form-item
>
<el-form-item
label=
"发送时间"
prop=
"sendTime"
>
<el-date-picker
clearable
v-model=
"form.sendTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"选择发送时间"
/>
</el-form-item>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment