Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
sgaqgl-vue
Project
Project
Details
Activity
Releases
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
李苏
sgaqgl-vue
Commits
d22d0e10
Commit
d22d0e10
authored
Dec 07, 2022
by
周毅
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
调整程序
parent
5341aa8e
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
102 additions
and
57 deletions
+102
-57
activityRecord.js
src/api/safetyactivity/activityRecord.js
+4
-4
index.vue
src/views/basicData/securityDocumentManagement/index.vue
+1
-1
edit.vue
src/views/daily/classification/edit.vue
+10
-1
index.vue
src/views/daily/classification/index.vue
+9
-2
index.vue
src/views/daily/duty/index.vue
+8
-2
edit.vue
src/views/daily/maintenanceDuty/edit.vue
+14
-5
index.vue
src/views/daily/maintenanceDuty/index.vue
+16
-4
index.vue
src/views/safetyactivity/aqhdzxgz/index.vue
+40
-38
No files found.
src/api/safetyactivity/activityRecord.js
View file @
d22d0e10
...
@@ -3,7 +3,7 @@ import request from 'common/src/utils/request'
...
@@ -3,7 +3,7 @@ import request from 'common/src/utils/request'
/*query */
/*query */
export
function
doQuery
(
query
)
{
export
function
doQuery
(
query
)
{
return
request
({
return
request
({
url
:
'/aqgl/a
g
hd/aqhdjl/query'
,
url
:
'/aqgl/a
q
hd/aqhdjl/query'
,
method
:
'post'
,
method
:
'post'
,
data
:
query
||
{}
data
:
query
||
{}
})
})
...
@@ -11,21 +11,21 @@ export function doQuery(query) {
...
@@ -11,21 +11,21 @@ export function doQuery(query) {
/*更新 */
/*更新 */
export
function
doUpdate
(
query
)
{
export
function
doUpdate
(
query
)
{
return
request
({
return
request
({
url
:
'/aqgl/a
g
hd/aqhdjl/update'
,
url
:
'/aqgl/a
q
hd/aqhdjl/update'
,
method
:
'post'
,
method
:
'post'
,
data
:
query
||
{}
data
:
query
||
{}
})
})
}
}
export
function
doAdd
(
query
)
{
export
function
doAdd
(
query
)
{
return
request
({
return
request
({
url
:
'/aqgl/a
g
hd/aqhdjl/add'
,
url
:
'/aqgl/a
q
hd/aqhdjl/add'
,
method
:
'post'
,
method
:
'post'
,
data
:
query
||
{}
data
:
query
||
{}
})
})
}
}
export
function
doDelete
(
query
)
{
export
function
doDelete
(
query
)
{
return
request
({
return
request
({
url
:
'/aqgl/a
g
hd/aqhdjl/delete'
,
url
:
'/aqgl/a
q
hd/aqhdjl/delete'
,
method
:
'post'
,
method
:
'post'
,
data
:
query
||
{}
data
:
query
||
{}
})
})
...
...
src/views/basicData/securityDocumentManagement/index.vue
View file @
d22d0e10
...
@@ -135,7 +135,7 @@
...
@@ -135,7 +135,7 @@
{
prop
:
'fileVersion'
,
label
:
'版本'
,
width
:
'60'
},
{
prop
:
'fileVersion'
,
label
:
'版本'
,
width
:
'60'
},
{
prop
:
'createTime'
,
label
:
'上传时间'
,
fieldType
:
"ftDateTime"
},
{
prop
:
'createTime'
,
label
:
'上传时间'
,
fieldType
:
"ftDateTime"
},
{
prop
:
'updUserName'
,
label
:
'上传人'
,
width
:
"80"
},
{
prop
:
'updUserName'
,
label
:
'上传人'
,
width
:
"80"
},
{
prop
:
'fileSize'
,
label
:
'大小'
,
width
:
'
7
0'
,
{
prop
:
'fileSize'
,
label
:
'大小'
,
width
:
'
6
0'
,
formatter
:
function
(
a
,
b
,
bytes
){
formatter
:
function
(
a
,
b
,
bytes
){
if
(
!
bytes
){
if
(
!
bytes
){
return
'未上传文件'
return
'未上传文件'
...
...
src/views/daily/classification/edit.vue
View file @
d22d0e10
...
@@ -2,6 +2,13 @@
...
@@ -2,6 +2,13 @@
<RelDialog
:type=
'type'
:editApp=
'editApp'
:app=
'app'
:buttonApp=
'buttonApp'
>
<RelDialog
:type=
'type'
:editApp=
'editApp'
:app=
'app'
:buttonApp=
'buttonApp'
>
<!-- 填写表单内容,slot=form必写-->
<!-- 填写表单内容,slot=form必写-->
<el-form
slot=
"form"
ref=
"form"
:model=
"form"
label-width=
"80px"
:rules=
"rules"
>
<el-form
slot=
"form"
ref=
"form"
:model=
"form"
label-width=
"80px"
:rules=
"rules"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"公司"
ref=
"gsid"
prop=
"gsid"
>
<RelSelect
style=
"width: 100%;"
src=
'/jcsj/common/bm/queryGs'
:match=
"
{value:'id',label:'bmmc'}" :readonly="readonly" v-model="form.gsid" >
</RelSelect>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"编码"
ref=
"code"
prop=
"code"
>
<el-form-item
label=
"编码"
ref=
"code"
prop=
"code"
>
...
@@ -39,7 +46,7 @@
...
@@ -39,7 +46,7 @@
mixins
:
[
editMixin
],
mixins
:
[
editMixin
],
/* 存放index页面传递的额外参数*/
/* 存放index页面传递的额外参数*/
mounted
()
{
mounted
()
{
this
.
form
.
gsid
=
this
.
app
.
queryParams
.
gsid
},
},
/* 组件名称*/
/* 组件名称*/
name
:
"lzflEdit"
,
name
:
"lzflEdit"
,
...
@@ -57,6 +64,8 @@
...
@@ -57,6 +64,8 @@
form
:
{
form
:
{
//ID
//ID
id
:
''
,
id
:
''
,
//公司
gsid
:
''
,
//编码
//编码
code
:
''
,
code
:
''
,
//名称
//名称
...
...
src/views/daily/classification/index.vue
View file @
d22d0e10
...
@@ -4,6 +4,12 @@
...
@@ -4,6 +4,12 @@
<div
class=
"search"
v-condition
>
<div
class=
"search"
v-condition
>
<SearchButton
:app=
'app'
></SearchButton>
<SearchButton
:app=
'app'
></SearchButton>
<el-row
:gutter=
"20"
class=
"search-row-1"
>
<el-row
:gutter=
"20"
class=
"search-row-1"
>
<el-col
:span=
"12"
class=
"search-col"
>
<div
class=
"search-item"
>
<span
class=
"search-span"
>
公司:
</span>
<RelSelect
style=
"width: 100%;"
src=
'/jcsj/common/bm/queryGs'
:match=
"
{value:'id',label:'bmmc'}" v-model="queryParams.gsid">
</RelSelect>
</div>
</el-col>
<el-col
:span=
"12"
class=
"search-col"
>
<el-col
:span=
"12"
class=
"search-col"
>
<div
class=
"search-item"
>
<div
class=
"search-item"
>
<span
class=
"search-span"
>
名称:
</span>
<span
class=
"search-span"
>
名称:
</span>
...
@@ -74,11 +80,12 @@
...
@@ -74,11 +80,12 @@
},
},
/* 表格标题对应参数*/
/* 表格标题对应参数*/
tableTitle
:
[
tableTitle
:
[
{
label
:
"公司"
,
prop
:
"gsName"
,
fieldType
:
"ftString"
,
width
:
120
},
{
label
:
"编码"
,
prop
:
"code"
,
fieldType
:
"ftString"
,
width
:
120
},
{
label
:
"编码"
,
prop
:
"code"
,
fieldType
:
"ftString"
,
width
:
120
},
{
label
:
"名称"
,
prop
:
"name"
,
fieldType
:
"ftString"
,
width
:
300
},
{
label
:
"名称"
,
prop
:
"name"
,
fieldType
:
"ftString"
,
width
:
300
},
{
label
:
"序号"
,
prop
:
"xh"
,
fieldType
:
"int"
},
//
{label: "序号", prop: "xh", fieldType: "int"},
{
label
:
"备注"
,
prop
:
"bz"
,
fieldType
:
"ftString"
,
width
:
300
},
{
label
:
"备注"
,
prop
:
"bz"
,
fieldType
:
"ftString"
,
width
:
300
},
{
label
:
"维护人"
,
prop
:
"whr"
,
fieldType
:
"ftString"
},
{
label
:
"维护人"
,
prop
:
"whr"
,
fieldType
:
"ftString"
,
width
:
120
},
{
label
:
"维护时间"
,
prop
:
"whsj"
,
fieldType
:
"ftDateTime"
}
{
label
:
"维护时间"
,
prop
:
"whsj"
,
fieldType
:
"ftDateTime"
}
]
]
}
}
...
...
src/views/daily/duty/index.vue
View file @
d22d0e10
...
@@ -4,6 +4,11 @@
...
@@ -4,6 +4,11 @@
<div
class=
"search"
v-condition
>
<div
class=
"search"
v-condition
>
<SearchButton
:app=
'app'
></SearchButton>
<SearchButton
:app=
'app'
></SearchButton>
<el-row
:gutter=
"20"
class=
"search-row-1"
>
<el-row
:gutter=
"20"
class=
"search-row-1"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"公司"
ref=
"gsid"
prop=
"gsid"
>
<RelSelect
style=
"width: 100%;"
src=
'/jcsj/common/bm/queryGs'
:match=
"
{value:'id',label:'bmmc'}" v-model='queryParams.gsid' >
</RelSelect>
</el-form-item>
</el-col>
<el-col
:span=
"6"
class=
"search-col"
>
<el-col
:span=
"6"
class=
"search-col"
>
<div
class=
"search-item"
>
<div
class=
"search-item"
>
<span
class=
"search-span"
>
分类:
</span>
<span
class=
"search-span"
>
分类:
</span>
...
@@ -83,6 +88,7 @@
...
@@ -83,6 +88,7 @@
/* 查询参数*/
/* 查询参数*/
queryParams
:
{
queryParams
:
{
lzfl
:
''
,
lzfl
:
''
,
gsid
:
''
,
ksrq
:
new
Date
().
getTime
()
-
1000
*
60
*
60
*
24
*
30
,
ksrq
:
new
Date
().
getTime
()
-
1000
*
60
*
60
*
24
*
30
,
jsrq
:
new
Date
().
getTime
()
jsrq
:
new
Date
().
getTime
()
},
},
...
...
src/views/daily/maintenanceDuty/edit.vue
View file @
d22d0e10
...
@@ -2,6 +2,13 @@
...
@@ -2,6 +2,13 @@
<RelDialog
:type=
'type'
:editApp=
'editApp'
:app=
'app'
:buttonApp=
'buttonApp'
>
<RelDialog
:type=
'type'
:editApp=
'editApp'
:app=
'app'
:buttonApp=
'buttonApp'
>
<!-- 填写表单内容,slot=form必写-->
<!-- 填写表单内容,slot=form必写-->
<el-form
slot=
"form"
ref=
"form"
:model=
"form"
label-width=
"80px"
:rules=
"rules"
>
<el-form
slot=
"form"
ref=
"form"
:model=
"form"
label-width=
"80px"
:rules=
"rules"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"公司"
ref=
"gsid"
prop=
"gsid"
>
<RelSelect
style=
"width: 100%;"
src=
'/jcsj/common/bm/queryGs'
:match=
"
{value:'id',label:'bmmc'}" v-model='form.gsid' >
</RelSelect>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"分类"
ref=
"flid"
prop=
"flid"
>
<el-form-item
label=
"分类"
ref=
"flid"
prop=
"flid"
>
...
@@ -11,8 +18,8 @@
...
@@ -11,8 +18,8 @@
</el-row>
</el-row>
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"
角色"
ref=
"roleid"
prop=
"role
id"
>
<el-form-item
label=
"
岗位"
ref=
"gwid"
prop=
"gw
id"
>
<RelSelect
style=
"width: 100%;"
src=
'/
kzzx/role/query'
:match=
"
{value:'id',label:'rolename'}" v-model='form.role
id' >
</RelSelect>
<RelSelect
style=
"width: 100%;"
src=
'/
aqgl/jcsj/scgw/query'
:match=
"
{value:'id',label:'name'}" v-model='form.gw
id' >
</RelSelect>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -32,7 +39,7 @@
...
@@ -32,7 +39,7 @@
mixins
:
[
editMixin
],
mixins
:
[
editMixin
],
/* 存放index页面传递的额外参数*/
/* 存放index页面传递的额外参数*/
mounted
()
{
mounted
()
{
this
.
form
.
gsid
=
this
.
app
.
queryParams
.
gsid
},
},
/* 组件名称*/
/* 组件名称*/
name
:
"maintenanceDutyEdit"
,
name
:
"maintenanceDutyEdit"
,
...
@@ -48,11 +55,13 @@
...
@@ -48,11 +55,13 @@
/* 当前表单初始值,默认由RelDialog查询indexQuery赋值,copy时不赋值id,初始化时所有query的值都会赋值给form*/
/* 当前表单初始值,默认由RelDialog查询indexQuery赋值,copy时不赋值id,初始化时所有query的值都会赋值给form*/
form
:
{
form
:
{
gsid
:
''
,
//ID
//ID
id
:
''
,
id
:
''
,
//分类编码
//分类编码
flid
:
''
,
flid
:
''
,
roleid
:
''
,
gsid
:
''
,
gwid
:
''
,
//履职内容
//履职内容
content
:
''
,
content
:
''
,
//维护人编码
//维护人编码
...
...
src/views/daily/maintenanceDuty/index.vue
View file @
d22d0e10
...
@@ -4,6 +4,17 @@
...
@@ -4,6 +4,17 @@
<div
class=
"search"
v-condition
>
<div
class=
"search"
v-condition
>
<SearchButton
:app=
'app'
></SearchButton>
<SearchButton
:app=
'app'
></SearchButton>
<el-row
:gutter=
"20"
class=
"search-row-1"
>
<el-row
:gutter=
"20"
class=
"search-row-1"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"公司"
ref=
"gsid"
prop=
"gsid"
>
<RelSelect
style=
"width: 100%;"
src=
'/jcsj/common/bm/queryGs'
:match=
"
{value:'id',label:'bmmc'}" v-model='queryParams.gsid' >
</RelSelect>
</el-form-item>
</el-col>
<el-col
:span=
"12"
class=
"search-col"
>
<div
class=
"search-item"
>
<span
class=
"search-span"
>
分类:
</span>
<RelSelect
style=
"width: 100%;"
src=
'/aqgl/rcgl/lzfl/query'
:match=
"
{value:'id',label:'name'}" v-model="queryParams.flid">
</RelSelect>
</div>
</el-col>
<el-col
:span=
"12"
class=
"search-col"
>
<el-col
:span=
"12"
class=
"search-col"
>
<div
class=
"search-item"
>
<div
class=
"search-item"
>
<span
class=
"search-span"
>
名称:
</span>
<span
class=
"search-span"
>
名称:
</span>
...
@@ -19,7 +30,6 @@
...
@@ -19,7 +30,6 @@
<AddButton
ref=
"add"
:app=
'app'
></AddButton>
<AddButton
ref=
"add"
:app=
'app'
></AddButton>
<CopyButton
ref=
"copy"
:app=
'app'
></CopyButton>
<CopyButton
ref=
"copy"
:app=
'app'
></CopyButton>
<EditButton
ref=
"edit"
:app=
'app'
></EditButton>
<EditButton
ref=
"edit"
:app=
'app'
></EditButton>
<AttachFileButton
:app=
'app'
></AttachFileButton>
<FieldButton
:app=
'app'
></FieldButton>
<FieldButton
:app=
'app'
></FieldButton>
<ExcelButton
:app=
'app'
></ExcelButton>
<ExcelButton
:app=
'app'
></ExcelButton>
<!-- 额外按钮-->
<!-- 额外按钮-->
...
@@ -72,14 +82,16 @@
...
@@ -72,14 +82,16 @@
baseUrl
:
'/aqgl/rcgl/lzbz'
,
baseUrl
:
'/aqgl/rcgl/lzbz'
,
/* 查询参数*/
/* 查询参数*/
queryParams
:
{
queryParams
:
{
gsid
:
''
,
info
:
''
info
:
''
},
},
/* 表格标题对应参数*/
/* 表格标题对应参数*/
tableTitle
:
[
tableTitle
:
[
{
label
:
"分类"
,
prop
:
"flName"
,
fieldType
:
"ftString"
,
width
:
100
},
{
label
:
"公司"
,
prop
:
"gsName"
,
fieldType
:
"ftString"
,
width
:
150
},
{
label
:
"角色"
,
prop
:
"roleName"
,
fieldType
:
"ftString"
,
width
:
100
},
{
label
:
"分类"
,
prop
:
"flName"
,
fieldType
:
"ftString"
,
width
:
200
},
{
label
:
"岗位"
,
prop
:
"scgwName"
,
fieldType
:
"ftString"
,
width
:
100
},
{
label
:
"履职内容"
,
prop
:
"content"
,
fieldType
:
"ftString"
,
width
:
300
},
{
label
:
"履职内容"
,
prop
:
"content"
,
fieldType
:
"ftString"
,
width
:
300
},
{
label
:
"维护人"
,
prop
:
"whr"
,
fieldType
:
"ftString"
},
{
label
:
"维护人"
,
prop
:
"whr"
,
fieldType
:
"ftString"
,
width
:
100
},
{
label
:
"维护时间"
,
prop
:
"whsj"
,
fieldType
:
"ftDateTime"
}
{
label
:
"维护时间"
,
prop
:
"whsj"
,
fieldType
:
"ftDateTime"
}
]
]
}
}
...
...
src/views/safetyactivity/aqhdzxgz/index.vue
View file @
d22d0e10
...
@@ -17,6 +17,12 @@
...
@@ -17,6 +17,12 @@
<el-date-picker
v-model=
"queryParams.month"
></el-date-picker>
<el-date-picker
v-model=
"queryParams.month"
></el-date-picker>
</div>
</div>
</el-col>
</el-col>
<el-col
:span=
"6"
class=
"search-col"
>
<div
class=
"search-item"
>
<span
class=
"search-span"
>
公司:
</span>
<RelSelect
src=
'jcsj/common/bm/queryGs'
clearable
:match=
"
{value:'id',label:'bmmc'}" v-model='queryParams.gsid' >
</RelSelect>
</div>
</el-col>
<el-col
:span=
"6"
class=
"search-col"
>
<el-col
:span=
"6"
class=
"search-col"
>
<div
class=
"search-item"
>
<div
class=
"search-item"
>
<span
class=
"search-span"
>
部门:
</span>
<span
class=
"search-span"
>
部门:
</span>
...
@@ -38,7 +44,7 @@
...
@@ -38,7 +44,7 @@
<!-- 表格-->
<!-- 表格-->
<div
class=
"tablePagers"
>
<div
class=
"tablePagers"
>
<TablePager
@
getData=
'getData'
:ref=
"'TablePager'"
:app=
'app'
:query=
'query'
@
selectItem=
'selectItem'
<TablePager
@
getData=
'getData'
:ref=
"'TablePager'"
:app=
'app'
:query=
'query'
@
selectItem=
'selectItem'
@
getRow=
'getRow'
>
@
getRow=
'getRow'
:delButton=
'false'
>
</TablePager>
</TablePager>
</div>
</div>
...
@@ -59,18 +65,18 @@
...
@@ -59,18 +65,18 @@
/* 初始额外赋值*/
/* 初始额外赋值*/
async
mounted
()
{
async
mounted
()
{
this
.
$refs
[
'TablePager'
].
pageQuery
()
this
.
form
.
gsid
=
this
.
app
.
queryParams
.
gsid
;
this
.
$refs
[
'TablePager'
].
pageQuery
();
},
},
data
()
{
data
()
{
return
{
return
{
/*需要的额外参数 */
/*需要的额外参数 */
showDialog
:
false
,
showDialog
:
false
,
DialogName
:
''
,
DialogName
:
''
,
type
:
''
,
type
:
''
,
DialogTitle
:
''
,
DialogTitle
:
''
,
/* 基础url*/
/* 基础url*/
baseUrl
:
'/aqgl/
aqhd
/aqhdzxgz'
,
baseUrl
:
'/aqgl/
rcgl
/aqhdzxgz'
,
/* 查询参数*/
/* 查询参数*/
queryParams
:
{
queryParams
:
{
bmid
:
''
bmid
:
''
...
@@ -78,31 +84,27 @@
...
@@ -78,31 +84,27 @@
/* 表格标题对应参数*/
/* 表格标题对应参数*/
tableTitle
:
[
tableTitle
:
[
{
label
:
"年度"
,
prop
:
"year"
,
fieldType
:
"int"
},
{
label
:
"年度"
,
prop
:
"year"
,
fieldType
:
"int"
},
{
label
:
"月份"
,
prop
:
"bmName"
,
fieldType
:
"int"
,
width
:
160
},
{
label
:
"月份"
,
prop
:
"month"
,
fieldType
:
"int"
,
width
:
160
},
{
label
:
"分公司"
,
prop
:
"gsName"
,
fieldType
:
"ftString"
,
width
:
300
},
{
label
:
"分公司"
,
prop
:
"gsName"
,
fieldType
:
"ftString"
,
width
:
180
},
{
label
:
"班组"
,
prop
:
"bmName"
,
fieldType
:
"ftString"
,
width
:
300
},
{
label
:
"班组"
,
prop
:
"bmName"
,
fieldType
:
"ftString"
,
width
:
180
},
{
label
:
"安全活动次数/计划次数"
,
prop
:
"bz"
,
fieldType
:
"ftString"
,
width
:
100
},
{
label
:
"安全活动次数/计划次数"
,
prop
:
"bz"
,
fieldType
:
"ftString"
,
width
:
160
,
{
label
:
"安全活动次数"
,
prop
:
"count"
,
fieldType
:
"ftString"
,
width
:
100
},
formatter
:
function
(
row
,
b
,
c
){
{
label
:
"计划次数"
,
prop
:
"planCount"
,
fieldType
:
"ftString"
,
width
:
100
}
return
row
.
count
+
'/'
+
row
.
planCount
;
}
}
]
]
}},
}},
methods
:
{
methods
:
{
/* 基础查询*/
/* 基础查询*/
query
:
doQuery
,
query
:
doQuery
,
/* 基础增*/
apiAdd
:
doAdd
,
/* 基础更新*/
apiUpdate
:
doUpdate
,
/* 删除操作*/
apiDelete
:
doDelete
,
/* 初始化赋值操作*/
/* 初始化赋值操作*/
init
()
{
init
()
{
}
}
},
},
components
:
{
components
:
{
Edit
,
}
}
...
...
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