Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
patzn-cloud-web-back-soil
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
wangweidong
patzn-cloud-web-back-soil
Commits
cde7638f
Commit
cde7638f
authored
Jun 30, 2020
by
wangweidong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
统计查询修改
parent
47fe0dff
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
360 additions
and
60 deletions
+360
-60
index.js
api/index.js
+1
-0
meter-sub-contract.js
api/meter/meter-sub-contract.js
+30
-0
MeterPersonalTask.vue
pages/meter-statistics/personal-task/MeterPersonalTask.vue
+255
-0
MeterCannotSub.vue
pages/meter-subcontract/cannot-sub/MeterCannotSub.vue
+13
-11
MeterCannotSubEdit.vue
pages/meter-subcontract/cannot-sub/MeterCannotSubEdit.vue
+49
-49
meter-routes.js
router/meter-routes.js
+12
-0
No files found.
api/index.js
View file @
cde7638f
...
...
@@ -35,4 +35,5 @@ export { default as meterDevice } from './meter/meter-device'
export
{
default
as
meterContract
}
from
'./meter/meter-contract'
export
{
default
as
meterSampleQuote
}
from
'./meter/meter-sample-quote'
export
{
default
as
meterRecord
}
from
'./meter/meter-record'
export
{
default
as
meterSubContract
}
from
'./meter/meter-sub-contract'
export
{
default
as
lmsBaseDict
}
from
'./lims/lms-base-dict'
api/meter/meter-sub-contract.js
0 → 100644
View file @
cde7638f
/**
* 工作台
*/
import
http
from
'../http'
import
{
https
}
from
'../https'
export
default
{
// page
page
:
data
=>
http
.
post
(
'meter/v1/sub_contract/page'
,
data
).
then
(
res
=>
res
),
getById
:
data
=>
http
.
get
(
'meter/v1/sub_contract/'
+
data
).
then
(
res
=>
res
),
getDTOById
:
data
=>
http
.
get
(
'meter/v1/sub_contract/dto/'
+
data
).
then
(
res
=>
res
),
// 删除
deleteById
:
data
=>
http
.
delete
(
'meter/v1/sub_contract/?ids='
+
data
).
then
(
res
=>
res
),
// 保存
save
:
data
=>
http
.
post
(
'meter/v1/sub_contract/'
,
data
).
then
(
res
=>
res
),
addSubContract
:
data
=>
https
.
post
(
'meter/v1/sub_contract/add_sub_contract'
,
JSON
.
stringify
(
data
))
.
then
(
res
=>
res
),
editSubContract
:
data
=>
https
.
post
(
'meter/v1/sub_contract/edit_sub_contract'
,
JSON
.
stringify
(
data
))
.
then
(
res
=>
res
),
// 编辑
edit
:
data
=>
http
.
put
(
'meter/v1/sub_contract/'
+
data
.
id
,
data
.
obj
).
then
(
res
=>
res
)
}
pages/meter-statistics/personal-task/MeterPersonalTask.vue
0 → 100644
View file @
cde7638f
<
template
>
<div>
<!--内容-->
<div
class=
"layout-content-padding"
>
<div
class=
"layout-content-main"
>
<Row>
<!--查询-->
<Col
span=
"24"
style=
"margin-top:10px"
>
<Form
:d=
"formId"
:label-width=
"90"
v-show=
"searchOpen"
inline
onsubmit=
"return false"
>
<label
class=
"label-sign"
></label>
<Form-item
class=
"search-item"
label=
"检定依据:"
style=
"margin-left: -20px"
>
<Input
@
on-enter=
"_formSearch"
v-model=
"formObj.code"
name=
"judgeBasis"
placeholder=
"请输入判定依据"
clearable
/>
</Form-item>
<Form-item
class=
"search-item"
label=
"检定依据名称:"
>
<Input
@
on-enter=
"_formSearch"
v-model=
"formObj.name"
name=
"judgeBasisName"
placeholder=
"请输入判定依据名称"
clearable
/>
</Form-item>
<Form-item
class=
"search-btn"
>
<Button
@
click=
"_formSearch"
type=
"primary"
>
搜索
</Button>
</Form-item>
</Form>
</Col>
<!--操作-->
<Col
span=
"24"
>
<btn-list
:msg=
"btn"
:open=
"searchOpen"
:showSearchBtn=
"true"
@
on-result-change=
"_btnClick"
class=
"contHide"
></btn-list>
</Col>
<!-- 表格 -->
<Col
span=
"24"
>
<PTVXETable
ref=
"pageTable"
:form-id=
"formId"
:tableHeight=
"tableHeight"
:getPage=
"getPage"
:iconMsg=
"iconMsg"
@
on-result-change=
"_tableResultChange"
>
<vxe-table-column
v-for=
"item in pageColumns"
:key=
"item.key"
:field=
"item.key"
:title=
"item.title"
:width=
"item.width"
:min-width=
"200"
:fixed=
"item.fixed?item.fixed:undefined"
sortable
>
<template
slot-scope=
"scope"
>
<span
v-if=
"item.date"
>
{{
scope
.
row
[
item
.
key
]?
$dateformat
(
scope
.
row
[
item
.
key
],
'yyyy-mm-dd'
):
''
}}
</span>
<span
v-else
>
{{
scope
.
row
[
item
.
key
]
}}
</span>
</
template
>
</vxe-table-column>
</PTVXETable>
</Col>
</Row>
</div>
</div>
</div>
</template>
<
script
>
import
{
meterAptitude
}
from
'../../../api'
export
default
{
name
:
'MeterAptitudeStandard'
,
components
:
{},
data
()
{
return
{
formId
:
'meterAptitudeFormId'
,
pageColumns
:
[
{
title
:
'检定依据'
,
key
:
'code'
,
width
:
160
},
{
title
:
'检定依据名称'
,
key
:
'name'
},
{
title
:
'登记时间'
,
key
:
'ctime'
,
date
:
true
,
width
:
140
},
{
title
:
'备注'
,
key
:
'remark'
}
],
btn
:
[
{
type
:
'success'
,
id
:
''
,
name
:
'添加'
},
{
type
:
'error'
,
id
:
''
,
name
:
'删除'
}
],
iconMsg
:
[
{
type
:
'md-create'
,
id
:
''
,
name
:
'编辑'
},
{
type
:
'md-trash'
,
id
:
''
,
name
:
'删除'
}
],
formObj
:
{
name
:
undefined
,
code
:
undefined
},
searchOpen
:
true
,
selectIds
:
[],
getPage
:
{},
typeData
:
[]
}
},
computed
:
{
tableHeight
:
function
()
{
if
(
this
.
searchOpen
)
{
return
this
.
$tableHeight
(
'search'
)
}
else
{
return
this
.
$tableHeight
(
'noSearch'
)
}
}
},
mounted
()
{
this
.
_page
()
},
methods
:
{
_btnClick
(
msg
)
{
switch
(
msg
)
{
case
'添加'
:
this
.
_editModal
(
false
)
break
case
'删除'
:
this
.
_deleteSelected
()
break
case
'导入'
:
this
.
_import
()
break
case
'导出'
:
this
.
_export
()
break
case
'search'
:
this
.
searchOpen
=
!
this
.
searchOpen
break
}
},
_iconClick
(
res
,
data
)
{
switch
(
res
)
{
case
'编辑'
:
this
.
_editModal
(
true
,
data
.
id
)
break
case
'删除'
:
this
.
_deleteById
(
data
.
id
)
break
case
'操作日志'
:
this
.
_record
(
data
.
id
)
break
}
},
_page
:
async
function
()
{
console
.
log
(
9522123
)
// this.$refs.pageTable._page('search-form-package', 'FoodJudgeBasis/page')
Object
.
assign
(
this
.
formObj
,
this
.
$refs
.
pageTable
.
_searchParams
())
console
.
log
(
'this.formObj'
,
this
.
formObj
)
const
result
=
await
meterAptitude
.
page
(
this
.
formObj
)
if
(
result
)
{
console
.
log
(
55555
)
console
.
log
(
result
)
this
.
getPage
=
result
console
.
log
(
123456789
)
console
.
log
(
this
.
getPage
)
this
.
$refs
.
pageTable
.
_hideLoading
()
}
},
_formSearch
()
{
this
.
$refs
.
pageTable
.
_pageChange
(
1
)
},
_tableResultChange
(
msg
,
data
)
{
switch
(
msg
)
{
case
'page'
:
this
.
getPage
=
this
.
$store
.
state
.
FoodJudgeBasis
.
page
break
case
'selectIds'
:
this
.
selectIds
=
data
break
case
'iconClick'
:
this
.
_iconClick
(
data
.
name
,
data
.
rowData
)
break
case
'changeSize'
:
this
.
_page
()
break
}
},
// 删除
_deleteByIds
(
ids
,
content
)
{
this
.
$Modal
.
confirm
({
title
:
'提示'
,
content
:
content
||
'确定删除该记录?'
,
onOk
:
()
=>
{
this
.
_delete
(
ids
)
}
})
},
_delete
:
async
function
(
ids
)
{
const
result
=
await
meterAptitude
.
deleteById
(
ids
)
if
(
result
)
{
this
.
_formSearch
()
this
.
$Message
.
success
(
'删除成功!'
)
}
},
_deleteById
(
id
)
{
// 删除一条记录
this
.
_deleteByIds
([
id
])
},
_deleteSelected
()
{
// 批量删除
const
ids
=
this
.
selectIds
if
(
ids
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请选择一条或多条数据!'
)
}
else
{
this
.
_deleteByIds
(
ids
,
'确定删除这 '
+
ids
.
length
+
' 条记录?'
)
}
},
// 编辑&添加
_editModal
(
edit
,
id
)
{
if
(
edit
)
{
this
.
_getById
(
id
)
// 编辑
// this.$store.dispatch('FoodJudgeBasis/getById', id).then(() => {
// this.$refs.editModal._open(this.$store.state.FoodJudgeBasis.model)
// })
}
else
{
// 添加
this
.
$refs
.
editModal
.
_open
()
}
},
_getById
:
async
function
(
id
)
{
const
result
=
await
meterAptitude
.
getById
(
id
)
if
(
result
)
{
this
.
$refs
.
editModal
.
_open
(
result
)
}
},
// 导入
_import
()
{
const
data
=
{
importUrl
:
'/food/v1/food_aptitude_judge_basis/food_aptitude_judge_import'
,
downloadUrl
:
'/food/v1/excel/template/FoodAptitudeJudgeBasis'
,
title
:
'导入检验方法管理'
}
this
.
$refs
.
sampleModal
.
_open
(
data
)
},
// 导出
_export
()
{
console
.
log
(
'.this.selectIds'
,
this
.
selectIds
)
if
(
this
.
selectIds
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请选择需要导出的数据'
)
}
else
{
const
content
=
'确定导出 '
+
this
.
selectIds
.
length
+
' 条记录?'
this
.
$Modal
.
confirm
({
title
:
'提示'
,
content
:
content
,
onOk
:
()
=>
{
// eslint-disable-next-line no-undef
http
.
open
(
'/food/v1/food_aptitude_judge_basis/food_aptitude_judge_export?ids='
+
this
.
selectIds
)
}
})
}
}
}
}
</
script
>
<
style
scoped
>
</
style
>
pages/meter-subcontract/cannot-sub/MeterCannotSub.vue
View file @
cde7638f
...
...
@@ -35,7 +35,6 @@
:fixed=
"item.fixed?item.fixed:undefined"
sortable
>
<template
slot-scope=
"scope"
>
<span
v-if=
"item.date"
>
{{
scope
.
row
[
item
.
key
]?
$dateformat
(
scope
.
row
[
item
.
key
],
'yyyy-mm-dd'
):
''
}}
</span>
<span
v-else-if=
"item.status"
>
{{
scope
.
row
[
item
.
key
].
display
}}
</span>
<span
v-else
>
{{
scope
.
row
[
item
.
key
]
}}
</span>
</
template
>
</vxe-table-column>
...
...
@@ -49,7 +48,11 @@
</div>
</template>
<
script
>
import
{
meterContract
,
meterSubcontractor
}
from
'../../../api'
import
{
meterContract
,
meterSubContract
,
meterSubcontractor
}
from
'../../../api'
import
MeterSubcontractorEdit
from
'./MeterCannotSubEdit'
export
default
{
components
:
{
MeterSubcontractorEdit
},
...
...
@@ -96,14 +99,13 @@ export default {
getPage
:
{},
pageColumns
:
[
{
title
:
'委托单位'
,
key
:
'client'
,
width
:
200
},
{
title
:
'状态'
,
key
:
'progress'
,
width
:
120
,
status
:
true
},
{
title
:
'联系人'
,
key
:
'person'
,
width
:
120
},
{
title
:
'联系电话'
,
key
:
'tel'
,
width
:
120
},
{
title
:
'传真'
,
key
:
'fax'
,
width
:
120
},
{
title
:
'委托时间'
,
key
:
'edate'
,
width
:
120
,
date
:
true
},
{
title
:
'要求完成时间'
,
key
:
'odate'
,
width
:
120
,
date
:
true
},
{
title
:
'折扣'
,
key
:
'discount'
,
width
:
120
},
{
title
:
'总价'
,
key
:
'totalPrice'
,
width
:
120
},
{
title
:
'折扣价'
,
key
:
'discountPrice'
,
width
:
120
},
{
title
:
'分包方'
,
key
:
'subClient'
,
width
:
120
},
{
title
:
'分包方联系人'
,
key
:
'subPerson'
,
width
:
120
},
{
title
:
'分包方联系方式'
,
key
:
'subTel'
,
width
:
120
},
{
title
:
'分包费用'
,
key
:
'subFee'
,
width
:
120
},
{
title
:
'分包时间'
,
key
:
'subTime'
,
width
:
120
,
date
:
true
},
{
title
:
'备注'
,
key
:
'remark'
}
]
}
...
...
@@ -208,7 +210,7 @@ export default {
},
_page
:
async
function
()
{
Object
.
assign
(
this
.
formObj
,
this
.
$refs
.
pageTable
.
_searchParams
())
const
result
=
await
meterContract
.
page
(
this
.
formObj
)
const
result
=
await
meter
Sub
Contract
.
page
(
this
.
formObj
)
if
(
result
)
{
this
.
$refs
.
pageTable
.
_hideLoading
()
this
.
getPage
=
result
...
...
@@ -248,7 +250,7 @@ export default {
this
.
$refs
.
FileManage
.
_open
(
id
,
'subcontractorId'
)
},
_getById
:
async
function
(
id
)
{
const
result
=
await
meter
Contract
.
getV
OById
(
id
)
const
result
=
await
meter
SubContract
.
getDT
OById
(
id
)
if
(
result
)
{
this
.
$refs
.
editSubcontractorModal
.
_openEdit
(
result
)
}
...
...
pages/meter-subcontract/cannot-sub/MeterCannotSubEdit.vue
View file @
cde7638f
...
...
@@ -4,41 +4,43 @@
<p
slot=
"header"
>
{{
modalTitle
}}
</p>
<div>
<Form
id=
"edit-form"
ref=
"formObj"
:model=
"formObj"
:rules=
"ruleValidate"
:label-width=
"90"
inline
>
<Form-item
label=
"委托单位"
prop=
"client"
class=
"width-48"
>
<AutoComplete
:value=
"formObj.client"
:down-data=
"customerData"
name=
"client"
placeholder=
"请输入或选择委托单位"
@
on-result-change=
"_cusNameChange"
></AutoComplete>
</Form-item>
<Form-item
label=
"联系人"
prop=
"person"
class=
"width-48"
>
<Input
v-model=
"formObj.person"
name=
"person"
placeholder=
"请输入联系人"
/>
</Form-item>
<Form-item
label=
"联系电话"
prop=
"tel"
class=
"width-48"
>
<Input
v-model=
"formObj.tel"
name=
"tel"
placeholder=
"请输入联系电话"
/>
</Form-item>
<Form-item
label=
"传真"
prop=
"fax"
class=
"width-48"
>
<Input
v-model=
"formObj.fax"
name=
"fax"
placeholder=
"请输入传真"
/>
</Form-item>
<Form-item
label=
"省、市、区"
prop=
"testedCityData"
class=
"width-48"
>
<CityNameCascader
:value=
"testedCityData.join(',')"
name=
"tested"
@
on-result-change=
"_cascaderResult"
>
</CityNameCascader>
<Form-item
label=
"委托时间:"
prop=
"edate"
class=
"width-48"
>
<Date-picker
v-model=
"formObj.edate"
type=
"date"
split-panels
style=
"width:100%;"
placeholder=
"请选择委托时间"
@
on-change=
"_etimeChange"
></Date-picker>
</Form-item>
<Form-item
label=
"街道"
prop=
"street"
class=
"width-48"
>
<Input
v-model=
"formObj.street"
name=
"street"
placeholder=
"请输入街道"
/>
</Form-item>
<Form-item
label=
"要求完成时间:"
prop=
"odate"
class=
"width-48"
>
<Date-picker
v-model=
"formObj.odate"
type=
"date"
split-panels
style=
"width:100%;"
placeholder=
"请选择要求完成时间"
@
on-change=
"_ctimeChange"
></Date-picker>
</Form-item>
<Form-item
label=
"折扣:"
prop=
"discount"
class=
"width-48"
>
<Input
v-model=
"formObj.discount"
name=
"discount"
placeholder=
"折扣"
/>
<Form-item
label=
"分包方:"
prop=
"subClient"
class=
"width-48"
>
<Input
v-model=
"formObj.subClient"
name=
"subClient"
placeholder=
"请输入分包方"
/>
</Form-item>
<Form-item
label=
"分包方联系人:"
prop=
"subPerson"
class=
"width-48"
>
<Input
v-model=
"formObj.subPerson"
name=
"subPerson"
placeholder=
"请输入分包方联系人"
/>
</Form-item>
<Form-item
label=
"分包联系人电话:"
prop=
"subTel"
class=
"width-48"
>
<Input
v-model=
"formObj.subTel"
name=
"subTel"
placeholder=
"请输入分包联系人电话"
/>
</Form-item>
<Form-item
label=
"分包时间:"
prop=
"subTime"
class=
"width-48"
>
<Date-picker
v-model=
"formObj.subTime"
type=
"date"
split-panels
style=
"width:100%;"
placeholder=
"请选择分包时间"
@
on-change=
"_subTimeChange"
></Date-picker>
</Form-item>
<Form-item
label=
"检定/校准执行规程/规范:"
prop=
"requirements"
style=
"width: 99.8%"
>
<Input
v-model=
"formObj.requirements"
:rows=
"3"
name=
"requirements"
type=
"textarea"
placeholder=
"请输入检定/校准执行规程/规范"
/>
<Form-item
label=
"分包费用:"
prop=
"subFee"
class=
"width-48"
>
<Input
v-model=
"formObj.subFee"
type=
"number"
name=
"subFee"
placeholder=
"请输入分包费用"
/>
</Form-item>
<Form-item
label=
"备注:"
prop=
"remark"
style=
"width: 99.8%"
>
<Input
v-model=
"formObj.remark"
:rows=
"3"
name=
"remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
...
...
@@ -148,16 +150,15 @@
import
{
lmsBaseDict
,
meterEntrust
,
meter
Contract
,
meterS
ampleQuote
meter
SampleQuote
,
meterS
ubContract
}
from
'../../../api'
import
CityNameCascader
from
'../../../components/base/CityNameCascader'
import
AutoComplete
from
'../../../components/base/AutoCompletes'
import
importModal
from
'../../../components/import/DownloadTemplateImport'
import
EditModal
from
'./EditModal'
export
default
{
components
:
{
CityNameCascader
,
EditModal
,
AutoComplete
,
importModal
},
components
:
{
EditModal
,
AutoComplete
,
importModal
},
data
()
{
const
validateRemark
=
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
testedCityData
.
length
===
0
)
{
...
...
@@ -189,18 +190,11 @@ export default {
],
pageColumns
:
[
{
title
:
'名称'
,
key
:
'name'
,
width
:
160
},
{
title
:
'型号'
,
key
:
'spec'
},
{
title
:
'数量'
,
key
:
'quantity'
},
{
title
:
'技术参数'
,
key
:
'technicalParameter'
},
{
title
:
'规格型号'
,
key
:
'spec'
},
{
title
:
'数量'
,
key
:
'quantity'
,
width
:
130
},
{
title
:
'生产厂家'
,
key
:
'manufacturer'
},
{
title
:
'出厂编号'
,
key
:
'factoryNumber'
},
{
title
:
'上次检定校准日期'
,
key
:
'lastTime'
,
date
:
true
},
{
title
:
'收费单位'
,
key
:
'unit'
},
{
title
:
'单价/元'
,
key
:
'price'
},
{
title
:
'总价/元'
,
key
:
'totalPrice'
},
{
title
:
'备注'
,
key
:
'remark'
}
// {title: '限制范围或说明', key: 'limitDescription'},
],
options
:
[
{
...
...
@@ -230,21 +224,14 @@ export default {
subcontractorId
:
''
,
formObj
:
{
client
:
''
,
linkman
:
''
,
tel
:
''
,
email
:
''
,
address
:
''
,
remark
:
''
,
province
:
''
,
city
:
''
,
county
:
''
,
requirements
:
''
,
discount
:
''
,
street
:
''
,
edate
:
''
,
odate
:
''
,
person
:
''
,
fax
:
''
,
subClient
:
''
,
subPerson
:
''
,
subTel
:
''
,
subTime
:
''
,
remark
:
''
,
subFee
:
''
,
testedTemp
:
{
testedProvince
:
''
,
testedCity
:
''
,
...
...
@@ -699,16 +686,29 @@ export default {
}
else
{
this
.
formObj
.
odate
=
new
Date
(
formObj
.
odate
)
}
if
(
this
.
formObj
.
edate
===
undefined
)
{
this
.
formObj
.
edate
=
''
}
else
{
this
.
formObj
.
edate
=
new
Date
(
formObj
.
edate
)
}
if
(
this
.
formObj
.
subTime
===
undefined
)
{
this
.
formObj
.
subTime
=
''
}
else
{
this
.
formObj
.
subTime
=
new
Date
(
formObj
.
subTime
)
}
},
_save
:
async
function
(
data
)
{
const
result
=
await
meter
Contract
.
addQuote
(
data
)
const
result
=
await
meter
SubContract
.
addSubContract
(
data
)
console
.
log
(
result
)
if
(
result
)
{
this
.
_resultChange
(
'添加成功!'
)
}
},
_edit
:
async
function
(
data
)
{
const
result
=
await
meter
Contract
.
editDTO
(
data
)
const
result
=
await
meter
SubContract
.
editSubContract
(
data
)
console
.
log
(
'修改后'
)
console
.
log
(
result
)
if
(
result
)
{
...
...
router/meter-routes.js
View file @
cde7638f
...
...
@@ -38,6 +38,7 @@ import MeterMeterWarehouseInIndex from '../pages/meter-warehouse/warehouse-in/Me
import
MeterMeterWarehouseOutIndex
from
'../pages/meter-warehouse/warehouse-out/MeterMeterWarehouseOutIndex'
import
MeterCertificatePrintIndex
from
'../pages/meter-certificate/print/MeterCertificatePrintIndex'
import
MeterCannotSubIndex
from
'../pages/meter-subcontract/cannot-sub/MeterCannotSubIndex'
import
MeterPersonalTask
from
'../pages/meter-statistics/personal-task/MeterPersonalTask'
import
Blank
from
'~/pages/blank'
export
default
[
{
...
...
@@ -253,5 +254,16 @@ export default [
meta
:
{
title
:
'样品出库管理'
}
}
]
},
{
path
:
'statistics'
,
component
:
Blank
,
children
:
[
{
path
:
'personal_task'
,
component
:
MeterPersonalTask
,
meta
:
{
title
:
'个人检测量统计'
}
}
]
}
]
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