Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
founder_vue
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
常超
founder_vue
Commits
ac8b465b
Commit
ac8b465b
authored
Nov 22, 2021
by
gao_yingdong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
我的研判组织
parent
b36b41a4
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
664 additions
and
9 deletions
+664
-9
src/components/ptCxForm_components.vue
+31
-0
src/router/modules/yhz.js
+10
-2
src/views/yhz/cxyhz/cxyhz.vue
+13
-5
src/views/yhz/cxyhz/yhzXz.vue
+1
-0
src/views/yhz/myYhz/myyhz.vue
+607
-0
src/views/yhz/yhzYh/yhzyh.vue
+2
-2
No files found.
src/components/ptCxForm_components.vue
View file @
ac8b465b
...
...
@@ -372,6 +372,20 @@
</div>
<div
class=
"flTtitle Add"
@
click=
"InviteUsers"
v-if=
"pageBs == 'queryMyyhz' && yqyhz.yhJb == '0001'"
>
邀请用户
</div>
<div
class=
"flTtitle Add"
@
click=
"DissolutionOrganization"
v-if=
"pageBs == 'queryMyyhz' && yqyhz.yhJb == '0001'"
>
解散组织
</div>
<div
class=
"flTtitle Add"
@
click=
"adds"
v-if=
"pageASs == 'queryZj'"
>
...
...
@@ -1115,7 +1129,16 @@
"
>
删除
</span
>
<span
@
click=
"dele(scope)"
class=
"dele"
v-if=
"
pageBs == 'queryMyyhz' && yqyhz.yhJb == '0001'
"
>
删除
</span
>
<span
@
click=
"audit(scope)"
class=
"dele"
v-if=
"pageBs == 'queryRlqbxsSH'"
...
...
@@ -1544,6 +1567,7 @@ export default {
},
data
()
{
return
{
yqyhz
:
{},
toggleZd
:
false
,
srcList
:
[],
tagType
:
[
"danger"
,
"success"
,
"warning"
,
"info"
,
""
],
...
...
@@ -1954,6 +1978,12 @@ export default {
add
()
{
this
.
$emit
(
"add"
);
},
InviteUsers
()
{
this
.
$emit
(
"InviteUsers"
,
this
.
yqyhz
);
},
DissolutionOrganization
()
{
this
.
$emit
(
"DissolutionOrganization"
,
this
.
yqyhz
);
},
adds
()
{
this
.
$emit
(
"adds"
);
},
...
...
@@ -2243,6 +2273,7 @@ export default {
item
.
codeTxt
=
item
.
codeTxt
.
split
(
"#"
).
slice
(
1
);
}
});
self
.
yqyhz
=
response
.
data
.
yh
;
self
.
tableData
=
response
.
data
.
rows
;
for
(
let
t
in
self
.
transformFormTable
)
{
self
.
tableData
.
map
((
res
)
=>
{
...
...
src/router/modules/yhz.js
View file @
ac8b465b
...
...
@@ -4,7 +4,7 @@ const menuLayouts = [
path
:
"/queryYhz"
,
name
:
"queryYhz"
,
meta
:
{
title
:
'
用户组
'
title
:
'
研判组织
'
},
component
:
()
=>
import
(
"@/views/yhz/cxyhz/cxyhz.vue"
)
},
...
...
@@ -12,10 +12,18 @@ const menuLayouts = [
path
:
"/queryYhzYh"
,
name
:
"queryYhzYh"
,
meta
:
{
title
:
'
用户组
用户'
title
:
'
研判组织
用户'
},
component
:
()
=>
import
(
"@/views/yhz/yhzYh/yhzyh.vue"
)
},
{
path
:
"/queryMyyhz"
,
name
:
"queryMyyhz"
,
meta
:
{
title
:
'我的研判组织'
},
component
:
()
=>
import
(
"@/views/yhz/myYhz/myyhz.vue"
)
},
];
export
default
{
...
...
src/views/yhz/cxyhz/cxyhz.vue
View file @
ac8b465b
...
...
@@ -95,7 +95,7 @@ export default {
dialogFormVisible
:
false
,
form
:
{},
examineInfo
:
{},
header
:
"
用户列表
"
,
//头部标题 (模块第一个页面需要)
header
:
"
研判组织
"
,
//头部标题 (模块第一个页面需要)
pageBs
:
"cxyhz"
,
//页面名称
cxFormData
:
{
//查询条件
...
...
@@ -183,7 +183,7 @@ export default {
//头部导航(模块第一个页面需要)
{
id
:
"queryYhz"
,
label
:
"
用户组
"
,
label
:
"
研判组织
"
,
index
:
"queryYhz"
,
auth
:
"M0101"
,
className
:
"iconfont iconrizhi"
,
...
...
@@ -194,7 +194,7 @@ export default {
//左侧导航(模块第一个页面需要)
{
id
:
"queryYhz"
,
label
:
"
用户组
管理"
,
label
:
"
研判组织
管理"
,
newAuth
:
"M01"
,
index
:
"2"
,
className
:
"iconfont icongongnengfuwu"
,
...
...
@@ -202,7 +202,7 @@ export default {
children
:
[
{
id
:
"queryYhz"
,
label
:
"
用户组
"
,
label
:
"
研判组织
"
,
index
:
"queryYhz"
,
auth
:
"M0101"
,
className
:
"iconfont icongongnengfuwu"
,
...
...
@@ -210,12 +210,20 @@ export default {
},
{
id
:
"queryYhzYh"
,
label
:
"
用户组
用户"
,
label
:
"
研判组织
用户"
,
index
:
"queryYhzYh"
,
auth
:
"M0101"
,
className
:
"iconfont icongongnengfuwu"
,
disabled
:
false
,
},
{
id
:
"queryMyyhz"
,
label
:
"我的研判组织"
,
index
:
"queryMyyhz"
,
auth
:
"M0102"
,
className
:
"iconfont icongongnengfuwu"
,
disabled
:
false
,
},
],
},
],
...
...
src/views/yhz/cxyhz/yhzXz.vue
View file @
ac8b465b
...
...
@@ -25,6 +25,7 @@
:placeholder=
"item.placeholder"
v-model=
"formData[item.id]"
v-if=
"item.type == 'text'"
:disabled=
"item.disabled"
>
</el-input>
<!--输入框-最大值与最小值-->
...
...
src/views/yhz/myYhz/myyhz.vue
View file @
ac8b465b
<
template
>
<div
class=
"Content"
>
<right-content
:pageBs=
"pageBs"
:header=
"header"
:cxFormData=
"cxFormData"
:cxQueryField=
"cxQueryField"
:cxDefaultFormThead=
"cxDefaultFormThead"
:cxUrl=
"cxUrl"
@
toInfor=
"toInfor"
@
DissolutionOrganization=
"DissolutionOrganization"
@
InviteUsers=
"InviteUsers"
@
toIn=
"toIn"
@
dele=
"dele"
ref=
"rightContent"
>
</right-content>
<el-dialog
title=
"新增用户组"
:visible
.
sync=
"dialogFormVisible"
>
<span
class=
"btx"
>
*
</span>
<eldialog-content
:pageBs=
"pageBs"
:header=
"header"
:cxFormData=
"cxFormData1"
:cxQueryField=
"propQueryField"
:cxDefaultFormThead=
"cxDefaultFormThead1"
:cxUrl=
"cxUr2"
@
selectionChange=
"selectionChange"
></eldialog-content>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
style=
"width: 111px; line-height: 8px"
type=
"primary"
@
click=
"dialogBc"
>
保 存
</el-button
>
</div>
</el-dialog>
<el-dialog
title=
"已完成工作数"
:visible
.
sync=
"dialogTableVisible1"
>
<div>
<el-table
ref=
"multipleTable"
:data=
"gridData1"
v-loading=
"tableLoading1"
element-loading-text=
"拼命加载中"
center
style=
"width: 100%"
>
<el-table-column
property=
"xxzjbh"
label=
"信息主键编号"
width=
"300"
></el-table-column>
<el-table-column
property=
"yprwfldmStr"
label=
"研判任务分类"
width=
"200"
></el-table-column>
<el-table-column
property=
"dqgzJyqk"
label=
"当前工作简要情况"
width=
"200"
></el-table-column>
<el-table-column
property=
"gzyqJyqk"
label=
"工作要求简要情况"
width=
"200"
></el-table-column>
<el-table-column
property=
"gzmbJyqk"
label=
"工作目标简要情况"
width=
"200"
></el-table-column>
<el-table-column
property=
"gzsx"
label=
"工作期限"
width=
"200"
></el-table-column>
<el-table-column
property=
"jzrq"
label=
"截止日期"
width=
"200"
></el-table-column>
<el-table-column
property=
"bjsj"
label=
"办结时间"
width=
"200"
></el-table-column>
<el-table-column
property=
"bjJyqk"
label=
"办结简要情况"
width=
"200"
></el-table-column>
</el-table>
<!--分页-->
<el-pagination
background
@
size-change=
"handleSizeChange1"
@
current-change=
"handleCurrentChange1"
:current-page
.
sync=
"currentPage11"
:page-sizes=
"[5, 10, 20, 50]"
:page-size=
"page_size1"
layout=
"sizes,prev, pager, next"
:total=
"tableDataLength1"
>
</el-pagination>
</div>
</el-dialog>
<el-dialog
title=
"正在承担工作数"
:visible
.
sync=
"dialogTableVisible"
>
<div>
<el-table
ref=
"multipleTable"
:data=
"gridData"
v-loading=
"tableLoading"
element-loading-text=
"拼命加载中"
center
style=
"width: 100%"
>
<el-table-column
property=
"xxzjbh"
label=
"信息主键编号"
width=
"300"
></el-table-column>
<el-table-column
property=
"yprwfldmStr"
label=
"研判任务分类"
width=
"200"
></el-table-column>
<el-table-column
property=
"dqgzJyqk"
label=
"当前工作简要情况"
width=
"200"
></el-table-column>
<el-table-column
property=
"gzyqJyqk"
label=
"工作要求简要情况"
width=
"200"
></el-table-column>
<el-table-column
property=
"gzmbJyqk"
label=
"工作目标简要情况"
width=
"200"
></el-table-column>
<el-table-column
property=
"gzsx"
label=
"工作期限"
width=
"200"
></el-table-column>
<el-table-column
property=
"jzrq"
label=
"截止日期"
width=
"200"
></el-table-column>
</el-table>
<!--分页-->
<el-pagination
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage1"
:page-sizes=
"[5, 10, 20, 50]"
:page-size=
"page_size"
layout=
"sizes,prev, pager, next"
:total=
"tableDataLength"
>
</el-pagination>
</div>
</el-dialog>
</div>
</
template
>
<
script
>
import
rightContent
from
"@c/ptCxForm_components.vue"
;
import
SelectTreeDialog
from
"@c/treeCode_components.vue"
;
import
{
deleteYhzYh
,
getYhCdrw
,
deleteYhz
,
saveNewYhz
}
from
"@/api/yhz/yhz.js"
;
import
eldialogContent
from
"../cxyhz/yhzXz.vue"
;
export
default
{
name
:
"queryMyyhz"
,
components
:
{
rightContent
,
SelectTreeDialog
,
eldialogContent
},
data
()
{
return
{
cxUr2
:
"/yhz/getUserListWithoutYhz"
,
//列表查询接口
cxDefaultFormThead1
:
[
//table 展示
{
label
:
"用户姓名"
,
prop
:
"trueName"
,
},
{
label
:
"用户身份号码"
,
prop
:
"identitycard"
,
},
{
label
:
"用户手机"
,
prop
:
"telephone"
,
},
{
label
:
"用户单位代码"
,
prop
:
"unitcode"
,
},
{
label
:
"用户单位名称"
,
prop
:
"unitname"
,
},
],
propQueryField
:
[
//查询条件
{
name
:
"用户组名"
,
id
:
"yhzm"
,
type
:
"text"
,
value
:
"checkEmpty"
,
prop
:
""
,
disabled
:
true
,
placeholder
:
""
,
col
:
"3"
,
},
{
name
:
"用户组号"
,
id
:
"yhzZh"
,
type
:
"text"
,
value
:
"checkEmpty"
,
disabled
:
true
,
prop
:
""
,
placeholder
:
""
,
col
:
"3"
,
},
{
name
:
"单位"
,
id
:
"unitcode"
,
type
:
"codeTreeDialog"
,
codeTree
:
"CODE_UNIT"
,
codeOptions
:
[],
props
:
[],
//字典弹框需要的字段
value
:
""
,
col
:
"3"
,
},
],
cxFormData1
:
{
//查询条件
limit
:
5
,
page
:
1
,
unitcode
:
""
,
},
dialogFormVisible
:
false
,
fzs
:
""
,
selectedId
:
[],
dialogTableVisible
:
false
,
dialogTableVisible1
:
false
,
tableLoading
:
true
,
//loading
tableDataLength
:
0
,
//表格总数
currentPage1
:
1
,
//表格页码
page_size
:
5
,
//每页显示多少条
gridData
:
[],
tableLoading1
:
true
,
//loading
tableDataLength1
:
0
,
//表格总数
currentPage11
:
1
,
//表格页码
page_size1
:
5
,
//每页显示多少条
gridData1
:
[],
examineInfo
:
{},
header
:
"我的研判组织"
,
//头部标题 (模块第一个页面需要)
pageBs
:
"queryMyyhz"
,
//页面名称
cxFormData
:
{
//查询条件
limit
:
10
,
page
:
1
,
yhXm
:
""
,
yhSfzh
:
""
,
},
cxQueryField
:
[
//查询条件
{
name
:
"用户姓名"
,
id
:
"yhXm"
,
type
:
"text"
,
value
:
""
,
placeholder
:
""
,
col
:
"3"
,
},
{
name
:
"用户身份证件号码"
,
id
:
"yhSfzh"
,
type
:
"text"
,
value
:
""
,
placeholder
:
""
,
col
:
"3"
,
},
],
cxDefaultFormThead
:
[
//table 展示
{
label
:
"用户姓名"
,
prop
:
"yhXm"
,
},
{
label
:
"用户身份证号"
,
prop
:
"yhSfzh"
,
},
{
label
:
"用户联系电话"
,
prop
:
"yhLxdh"
,
},
{
label
:
"用户单位名称"
,
prop
:
"yhDwmc"
,
},
{
label
:
"用户组名称"
,
prop
:
"yhzMc"
,
},
{
label
:
"用户角色"
,
prop
:
"yhJbStr"
,
},
{
label
:
"用户组组号"
,
prop
:
"yhzZh"
,
},
{
label
:
"已完成工作数"
,
prop
:
"ywcgzs"
,
toInfor
:
true
,
},
{
label
:
"正在承担工作数"
,
prop
:
"zzcdgzs"
,
toIn
:
true
,
},
],
cxUrl
:
"/yhz/getMyYhz"
,
//列表查询接口
Menu
:
[
//头部导航(模块第一个页面需要)
{
id
:
"queryMyyhz"
,
label
:
"我的研判组织"
,
index
:
"queryMyyhz"
,
auth
:
"M0101"
,
className
:
"iconfont iconrizhi"
,
disabled
:
false
,
},
],
};
},
created
()
{
this
.
$store
.
commit
(
"user/SET_Menu"
,
this
.
Menu
);
},
mounted
()
{},
methods
:
{
// 保存
dialogBc
()
{
if
(
this
.
cxFormData1
.
yhzm
)
{
if
(
this
.
selectedId
)
{
let
params
=
new
FormData
();
params
.
append
(
"yhzm"
,
this
.
cxFormData1
.
yhzm
?
this
.
cxFormData1
.
yhzm
:
""
);
params
.
append
(
"yhzzh"
,
this
.
cxFormData1
.
yhzZh
?
this
.
cxFormData1
.
yhzZh
:
""
);
this
.
selectedId
.
forEach
((
item
,
index
)
=>
{
params
.
append
(
`userList[
${
index
}
].yhXm`
,
item
.
trueName
);
params
.
append
(
`userList[
${
index
}
].yhSfzh`
,
item
.
identitycard
);
params
.
append
(
`userList[
${
index
}
].yhLxdh`
,
item
.
telephone
);
params
.
append
(
`userList[
${
index
}
].yhDwdm`
,
item
.
unitcode
);
params
.
append
(
`userList[
${
index
}
].yhDwmc`
,
item
.
unitname
);
params
.
append
(
`userList[
${
index
}
].yhJb`
,
'0000'
);
});
saveNewYhz
(
params
).
then
((
res
)
=>
{
if
(
res
.
code
==
"200"
)
{
this
.
$message
({
type
:
"success"
,
message
:
"保存成功"
,
});
this
.
dialogFormVisible
=
false
;
this
.
$refs
.
rightContent
.
doQuery
(
"yes"
);
}
else
{
this
.
$message
({
type
:
"error"
,
message
:
res
.
message
,
});
}
});
}
else
{
this
.
$message
({
type
:
"info"
,
message
:
"请选择一条数据"
,
});
}
}
else
{
this
.
$alert
(
"请填写用户组名!"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
type
:
"warning"
,
});
}
},
// 表格选择的数据
selectionChange
(
row
)
{
debugger
;
this
.
selectedId
=
[];
if
(
row
.
length
>
this
.
selectedId
.
length
)
{
this
.
selectedId
=
row
;
debugger
;
this
.
dialogForm
=
true
;
}
},
// 邀请用户
InviteUsers
(
yqyhz
)
{
debugger
;
this
.
$set
(
this
.
cxFormData1
,
'yhzm'
,
yqyhz
.
yhzMc
)
this
.
$set
(
this
.
cxFormData1
,
'yhzZh'
,
yqyhz
.
yhzZh
)
this
.
selectedId
=
[];
this
.
dialogFormVisible
=
true
},
// 解散用户
DissolutionOrganization
(
yqyhz
)
{
this
.
$confirm
(
"此操作将永久解散用户组, 是否继续?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
,
})
.
then
(()
=>
{
deleteYhz
({
yhzh
:
yqyhz
.
yhzZh
,
}).
then
((
res
)
=>
{
if
(
res
.
success
&&
res
.
code
==
200
)
{
this
.
$message
({
type
:
"success"
,
message
:
"解散成功"
,
});
this
.
$refs
.
rightContent
.
doQuery
(
"yes"
);
}
else
{
this
.
$message
({
type
:
"error"
,
message
:
"解散失败"
,
});
}
});
})
.
catch
(()
=>
{
this
.
$message
({
type
:
"info"
,
message
:
"已取消解散"
,
});
});
},
handleCurrentChange
(
val
)
{
this
.
currentPage1
=
val
;
this
.
getYhCdrwza
();
},
handleSizeChange
(
val
)
{
this
.
page_size
=
val
;
this
.
getYhCdrwza
();
},
handleCurrentChange1
(
val
)
{
this
.
currentPage11
=
val
;
this
.
getYhCdrw
();
},
handleSizeChange1
(
val
)
{
this
.
page_size1
=
val
;
this
.
getYhCdrw
();
},
toInfor
(
scope
)
{
debugger
;
if
(
scope
.
ywcgzs
!=
0
)
{
this
.
dialogTableVisible1
=
true
;
this
.
fzs
=
scope
.
yhSfzh
;
this
.
gridData1
=
[];
this
.
getYhCdrw
();
}
},
getYhCdrw
()
{
this
.
tableLoading1
=
true
;
getYhCdrw
({
zjhm
:
this
.
fzs
,
sfbjPdbz
:
"1"
,
page
:
this
.
currentPage11
,
limit
:
this
.
page_size1
,
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
gridData1
=
res
.
data
.
rows
;
this
.
tableLoading1
=
false
;
}
});
},
getYhCdrwza
()
{
this
.
tableLoading
=
true
;
getYhCdrw
({
zjhm
:
this
.
fzs
,
sfbjPdbz
:
"0"
,
page
:
this
.
currentPage1
,
limit
:
this
.
page_size
,
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
gridData
=
res
.
data
.
rows
;
this
.
tableLoading
=
false
;
}
});
},
toIn
(
scope
)
{
debugger
;
if
(
scope
.
zzcdgzs
!=
0
)
{
this
.
dialogTableVisible
=
true
;
this
.
fzs
=
scope
.
yhSfzh
;
this
.
gridData
=
[];
this
.
getYhCdrwza
();
}
},
// 删除 dele
dele
(
scoped
)
{
debugger
this
.
$confirm
(
"此操作将永久删除该文件, 是否继续?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
,
})
.
then
(()
=>
{
deleteYhzYh
({
xxzjbh
:
scoped
.
row
.
xxzjbh
,
}).
then
((
res
)
=>
{
if
(
res
.
success
&&
res
.
code
==
200
)
{
this
.
$message
({
type
:
"success"
,
message
:
"删除成功"
,
});
this
.
$refs
.
rightContent
.
doQuery
(
"yes"
);
}
});
})
.
catch
(()
=>
{
this
.
$message
({
type
:
"info"
,
message
:
"已取消删除"
,
});
});
},
},
};
</
script
>
<
style
>
.el-dialog
{
/* max-height: 670px */
}
.el-dialog__body
{
padding
:
0px
15px
!important
;
/* height: 80vh; */
}
.rightContent
.el-input__inner
,
#formCommonPage
.el-input__inner
{
height
:
32px
;
line-height
:
32px
;
font-family
:
inherit
;
}
.el-table__header-wrapper
th
,
.el-table__header-wrapper
tr
{
background
:
#f4f6f7
;
}
.rightContent
.el-input__icon
,
#formCommonPage
.el-input__icon
,
.el-input__suffix-inner
{
line-height
:
36px
;
}
.rightContent
.el-range-separator
{
position
:
relative
;
top
:
-4px
;
}
.rightContent
.el-textarea__inner
,
#formCommonPage
.el-textarea__inner
{
width
:
100%
;
font-family
:
inherit
;
}
.rightContent
.el-range-input
,
#formCommonPage
.el-range-input
{
vertical-align
:
top
;
}
.rightContent
.el-date-editor
.el-range__close-icon
{
margin-top
:
-4px
;
}
.rightContent
.el-form-item__error
{
left
:
calc
(
66%
-
27px
);
top
:
12px
;
}
.success-row
{
background-color
:
#fbf9f4
!important
;
}
.Content
.el-input
,
.Content
.el-date-editor--daterange.el-input__inner
{
width
:
100%
!important
;
}
</
style
>
<
style
scoped
lang=
"scss"
>
@import
"@/assets/styles/rightContent.scss"
;
/
deep
/
{
.el-form-item
{
width
:
100%
;
margin-bottom
:
10px
;
}
}
</
style
>
src/views/yhz/yhzYh/yhzyh.vue
View file @
ac8b465b
...
...
@@ -171,7 +171,7 @@ export default {
page_size1
:
5
,
//每页显示多少条
gridData1
:
[],
examineInfo
:
{},
header
:
"
用户组
用户"
,
//头部标题 (模块第一个页面需要)
header
:
"
研判组织
用户"
,
//头部标题 (模块第一个页面需要)
pageBs
:
"yhzyh"
,
//页面名称
cxFormData
:
{
//查询条件
...
...
@@ -257,7 +257,7 @@ export default {
//头部导航(模块第一个页面需要)
{
id
:
"queryYhzYh"
,
label
:
"
用户组
用户"
,
label
:
"
研判组织
用户"
,
index
:
"queryYhzYh"
,
auth
:
"M0101"
,
className
:
"iconfont iconrizhi"
,
...
...
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