Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mes-ui
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
周远喜
mes-ui
Commits
fbd58d8e
Commit
fbd58d8e
authored
Apr 26, 2020
by
周远喜
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'product' of
http://git.mes123.com/zhouyx/mes-ui
into product
parents
728be2ca
f3a60094
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
363 additions
and
104 deletions
+363
-104
opration.vue
components/page/opration.vue
+0
-1
henq.js
libs/henq.js
+26
-14
index.vue
pages/aps/plan/index.vue
+2
-2
index.vue
pages/handle/index.vue
+2
-1
approval.vue
pages/home/component/approval.vue
+2
-1
index.vue
pages/mesPlan/index.vue
+4
-4
index.vue
pages/order/monitoring/index.vue
+1
-2
record.vue
pages/order/monitoring/record.vue
+79
-3
speed.vue
pages/order/monitoring/speed.vue
+227
-58
index.vue
...rocessDesign/ChangeSingle/technicalcoordination/index.vue
+2
-2
index.vue
pages/processDesign/ChangeSingle/unqualifiedorder/index.vue
+2
-2
index.vue
pages/qc/certificate/endIssued/index.vue
+1
-1
index.vue
pages/qc/taskList/index.vue
+1
-1
index.vue
pages/resource/material/powder/index.vue
+1
-1
index.vue
pages/resource/resource/index.vue
+3
-3
index.vue
pages/resourceManagement/EquipmentCalendar/index.vue
+1
-1
index.vue
pages/resourceManagement/deviceManagementCP/index.vue
+5
-4
index.vue
pages/resourceManagement/deviceType/index.vue
+3
-2
index.vue
pages/resourceManagement/productionResources/index.vue
+1
-1
No files found.
components/page/opration.vue
View file @
fbd58d8e
...
@@ -30,7 +30,6 @@ export default {
...
@@ -30,7 +30,6 @@ export default {
},
},
title
:
{
title
:
{
type
:
String
,
type
:
String
,
default
:
'确定'
},
},
msg
:
{
msg
:
{
type
:
String
,
type
:
String
,
...
...
libs/henq.js
View file @
fbd58d8e
...
@@ -43,12 +43,12 @@ henq.isArray = u => {
...
@@ -43,12 +43,12 @@ henq.isArray = u => {
return
Object
.
prototype
.
toString
.
call
(
u
)
==
'[object Array]'
;
return
Object
.
prototype
.
toString
.
call
(
u
)
==
'[object Array]'
;
}
}
henq
.
toIntArray
=
u
=>
{
henq
.
toIntArray
=
u
=>
{
if
(
henq
.
isNull
(
u
))
{
if
(
henq
.
isNull
(
u
))
{
return
[];
return
[];
}
}
var
arrs
=
u
.
split
(
','
)
var
arrs
=
u
.
split
(
','
)
var
result
=
[];
var
result
=
[];
arrs
.
map
(
p
=>
{
arrs
.
map
(
p
=>
{
result
.
push
(
parseInt
(
p
));
result
.
push
(
parseInt
(
p
));
})
})
return
result
;
return
result
;
...
@@ -96,7 +96,7 @@ henq.getDate = (strDate) => {
...
@@ -96,7 +96,7 @@ henq.getDate = (strDate) => {
}).
match
(
/
\d
+/g
)
+
')'
);
}).
match
(
/
\d
+/g
)
+
')'
);
return
date
;
return
date
;
}
}
henq
.
group
=
(
array
,
f
)
=>
{
henq
.
group
=
(
array
,
f
)
=>
{
const
groups
=
{};
const
groups
=
{};
array
.
forEach
(
function
(
o
)
{
array
.
forEach
(
function
(
o
)
{
const
group
=
JSON
.
stringify
(
f
(
o
));
const
group
=
JSON
.
stringify
(
f
(
o
));
...
@@ -122,7 +122,7 @@ henq.toTree = (list, rootId, format, parentFiledName) => {
...
@@ -122,7 +122,7 @@ henq.toTree = (list, rootId, format, parentFiledName) => {
if
(
format
)
{
if
(
format
)
{
format
(
u
)
format
(
u
)
}
}
u
.
children
=
toTree
(
data
,
u
.
id
,
level
)
u
.
children
=
toTree
(
data
,
u
.
id
,
level
)
})
})
}
}
return
parents
;
return
parents
;
...
@@ -130,19 +130,20 @@ henq.toTree = (list, rootId, format, parentFiledName) => {
...
@@ -130,19 +130,20 @@ henq.toTree = (list, rootId, format, parentFiledName) => {
return
toTree
(
list
,
rootId
,
i
)
return
toTree
(
list
,
rootId
,
i
)
}
}
henq
.
treeToList
=
(
tree
)
=>
{
henq
.
treeToList
=
(
tree
)
=>
{
let
list
=
[];
let
list
=
[];
function
treeToList
(
data
)
{
function
treeToList
(
data
)
{
data
.
map
(
u
=>
{
data
.
map
(
u
=>
{
if
(
u
.
children
)
{
if
(
u
.
children
)
{
treeToList
(
u
.
children
,
u
)
treeToList
(
u
.
children
,
u
)
}
}
let
copy
=
henq
.
clone
(
u
);
let
copy
=
henq
.
clone
(
u
);
delete
copy
.
delete
;
delete
copy
.
delete
;
copy
.
parent
=
u
;
copy
.
parent
=
u
;
list
.
push
(
copy
);
list
.
push
(
copy
);
})
})
}
}
treeToList
(
tree
,
null
)
treeToList
(
tree
,
null
)
return
list
;
return
list
;
}
}
//导出pdf
//导出pdf
...
@@ -169,4 +170,15 @@ henq.outPdf = (ele, fileName) => {
...
@@ -169,4 +170,15 @@ henq.outPdf = (ele, fileName) => {
window
.
open
(
"/static/pdf.html"
,
'_blank'
);
window
.
open
(
"/static/pdf.html"
,
'_blank'
);
},
1000
)
},
1000
)
}
}
export
default
henq
;
henq
.
getArry
=
(
arryList
)
=>
{
//得到数据字典对应的label和value,用于table排序
\ No newline at end of file
let
arry
=
[];
arryList
.
forEach
(
data
=>
{
var
that
=
this
;
let
arryObj
=
{};
arryObj
[
"label"
]
=
data
.
name
;
arryObj
[
"value"
]
=
data
.
code
;
arry
.
push
(
arryObj
);
});
return
arry
;
}
export
default
henq
;
pages/aps/plan/index.vue
View file @
fbd58d8e
...
@@ -310,7 +310,7 @@ export default {
...
@@ -310,7 +310,7 @@ export default {
h
(
h
(
"op"
,
"op"
,
{
{
attrs
:
{
oprate
:
"detail"
},
attrs
:
{
oprate
:
"detail"
,
title
:
params
.
row
.
mainRoutingSetStatus
==
0
?
"工艺派发"
:
"移入排产"
},
style
:
{
style
:
{
color
:
params
.
row
.
mainRoutingSetStatus
==
0
?
"red"
:
""
color
:
params
.
row
.
mainRoutingSetStatus
==
0
?
"red"
:
""
},
},
...
@@ -331,7 +331,7 @@ export default {
...
@@ -331,7 +331,7 @@ export default {
h
(
h
(
"op"
,
"op"
,
{
{
attrs
:
{
oprate
:
"detail"
},
attrs
:
{
oprate
:
"detail"
,
title
:
params
.
row
.
isSupportingFinish
==
2
||
params
.
row
.
isSupportingFinish
==
3
?
"配套派发"
:
""
},
style
:
{
style
:
{
color
:
params
.
row
.
mainRoutingSetStatus
==
0
?
"red"
:
""
color
:
params
.
row
.
mainRoutingSetStatus
==
0
?
"red"
:
""
},
},
...
...
pages/handle/index.vue
View file @
fbd58d8e
...
@@ -166,7 +166,8 @@ export default {
...
@@ -166,7 +166,8 @@ export default {
"op"
,
"op"
,
{
{
attrs
:
{
attrs
:
{
oprate
:
"detail"
oprate
:
"detail"
,
title
:
this
.
tabIndex
==
2
?
"审核"
:
"查看"
},
},
on
:
{
on
:
{
click
:
()
=>
{
click
:
()
=>
{
...
...
pages/home/component/approval.vue
View file @
fbd58d8e
...
@@ -68,7 +68,8 @@ export default {
...
@@ -68,7 +68,8 @@ export default {
"op"
,
"op"
,
{
{
attrs
:
{
attrs
:
{
oprate
:
"add"
oprate
:
"add"
,
title
:
"查看"
},
},
on
:
{
on
:
{
click
:
()
=>
{
click
:
()
=>
{
...
...
pages/mesPlan/index.vue
View file @
fbd58d8e
...
@@ -297,7 +297,7 @@ export default {
...
@@ -297,7 +297,7 @@ export default {
h
(
h
(
"op"
,
"op"
,
{
{
attrs
:
{
oprate
:
"detail"
},
attrs
:
{
oprate
:
"detail"
,
title
:
"查看"
},
on
:
{
click
:
()
=>
this
.
detail
(
params
.
row
)
}
on
:
{
click
:
()
=>
this
.
detail
(
params
.
row
)
}
},
},
"查看"
"查看"
...
@@ -305,7 +305,7 @@ export default {
...
@@ -305,7 +305,7 @@ export default {
h
(
h
(
"op"
,
"op"
,
{
{
attrs
:
{
oprate
:
"edit"
},
attrs
:
{
oprate
:
"edit"
,
title
:
"编辑"
},
on
:
{
click
:
()
=>
this
.
edit
(
params
.
row
)
},
on
:
{
click
:
()
=>
this
.
edit
(
params
.
row
)
},
style
:
style
:
(
params
.
row
.
status
==
1
&&
(
params
.
row
.
status
==
1
&&
...
@@ -321,7 +321,7 @@ export default {
...
@@ -321,7 +321,7 @@ export default {
h
(
h
(
"op"
,
"op"
,
{
{
attrs
:
{
oprate
:
"remove"
},
attrs
:
{
oprate
:
"remove"
,
title
:
"删除"
},
on
:
{
click
:
()
=>
this
.
remove
(
params
.
row
)
},
on
:
{
click
:
()
=>
this
.
remove
(
params
.
row
)
},
style
:
style
:
(
params
.
row
.
status
==
1
&&
(
params
.
row
.
status
==
1
&&
...
@@ -336,7 +336,7 @@ export default {
...
@@ -336,7 +336,7 @@ export default {
h
(
h
(
"op"
,
"op"
,
{
{
attrs
:
{
oprate
:
"detail"
},
attrs
:
{
oprate
:
"detail"
,
title
:
"分解"
},
on
:
{
click
:
()
=>
this
.
split
(
params
.
row
)
},
on
:
{
click
:
()
=>
this
.
split
(
params
.
row
)
},
style
:
style
:
(
params
.
row
.
divideMark
!=
0
&&
(
params
.
row
.
divideMark
!=
0
&&
...
...
pages/order/monitoring/index.vue
View file @
fbd58d8e
...
@@ -321,7 +321,6 @@ export default {
...
@@ -321,7 +321,6 @@ export default {
}
}
}
}
},
},
params
.
row
.
finishCount
//完成数
params
.
row
.
finishCount
//完成数
)
)
]
]
...
@@ -345,7 +344,7 @@ export default {
...
@@ -345,7 +344,7 @@ export default {
h
(
h
(
"op"
,
"op"
,
{
{
attrs
:
{
oprate
:
"record"
,
class
:
"edit"
},
attrs
:
{
oprate
:
"record"
,
class
:
"edit"
,
title
:
'暂停记录'
},
on
:
{
click
:
()
=>
this
.
record
(
params
.
row
.
id
)
}
on
:
{
click
:
()
=>
this
.
record
(
params
.
row
.
id
)
}
},
},
"暂停记录"
"暂停记录"
...
...
pages/order/monitoring/record.vue
View file @
fbd58d8e
<
template
>
<
template
>
<div
class=
"record"
>
<div
class=
"record"
>
<DataGrid
:columns=
"columns"
ref=
"grid"
:action=
"action"
:tool=
"false"
:height=
"820"
></DataGrid>
<Tabs
value=
"name1"
>
<TabPane
label=
"订单暂停记录"
name=
"name1"
>
<DataGrid
:columns=
"columns"
ref=
"grid"
:action=
"action"
:tool=
"false"
:height=
"tdHeight"
></DataGrid>
</TabPane>
<TabPane
label=
"工单暂停记录"
name=
"name2"
>
<DataGrid
:columns=
"columnsProcess"
ref=
"gridProcess"
:tool=
"false"
:height=
"tdHeight"
></DataGrid>
</TabPane>
</Tabs>
<Modal
v-model=
"detailModal"
title=
"详情"
width=
"800"
>
<Modal
v-model=
"detailModal"
title=
"详情"
width=
"800"
>
<Detail
:eid=
"curId"
/>
<Detail
:eid=
"curId"
/>
</Modal>
</Modal>
...
@@ -18,6 +25,7 @@ export default {
...
@@ -18,6 +25,7 @@ export default {
return
{
return
{
detailModal
:
false
,
detailModal
:
false
,
action
:
Api
.
record
,
action
:
Api
.
record
,
tdHeight
:
""
,
condition
:
{
condition
:
{
orderId
:
{
op
:
"Equal"
,
value
:
this
.
eid
},
orderId
:
{
op
:
"Equal"
,
value
:
this
.
eid
},
keys
:
{
op
:
"pauseCause,"
,
value
:
null
}
keys
:
{
op
:
"pauseCause,"
,
value
:
null
}
...
@@ -103,7 +111,7 @@ export default {
...
@@ -103,7 +111,7 @@ export default {
);
);
}
}
},
},
{
{
key
:
"relatedPerson"
,
key
:
"relatedPerson"
,
type
:
"user"
,
type
:
"user"
,
...
@@ -111,13 +119,81 @@ export default {
...
@@ -111,13 +119,81 @@ export default {
align
:
"left"
,
align
:
"left"
,
high
:
true
high
:
true
}
}
],
columnsProcess
:
[
{
key
:
"productName"
,
title
:
"工序Id"
,
align
:
"left"
,
width
:
90
},
{
key
:
"productName"
,
title
:
"工序号"
,
align
:
"left"
,
width
:
90
},
{
key
:
"productName"
,
title
:
"工序名称"
,
align
:
"left"
,
width
:
350
,
},
{
key
:
"remark"
,
title
:
"暂停原因"
,
align
:
"left"
},
{
key
:
"productName"
,
title
:
"暂停人"
,
align
:
"left"
,
high
:
true
,
width
:
180
},
{
key
:
"productName"
,
title
:
"暂停时间"
,
align
:
"left"
,
width
:
180
},
{
key
:
"productName"
,
title
:
"恢复人"
,
align
:
"left"
,
width
:
180
},
{
key
:
"productName"
,
title
:
"恢复时间"
,
align
:
"left"
,
width
:
180
},
{
key
:
"productName"
,
title
:
"相关人"
,
align
:
"left"
,
width
:
"180"
}
]
]
};
};
},
},
props
:
{
props
:
{
eid
:
Number
eid
:
Number
},
},
created
()
{},
mounted
()
{
window
.
onresize
=
()
=>
{
///浏览器窗口大小变化
return
(()
=>
{
window
.
screenHeight
=
window
.
innerHeight
;
this
.
tdHeight
=
window
.
screenHeight
-
180
;
})();
};
},
created
()
{
this
.
tdHeight
=
window
.
innerHeight
-
180
;
},
async
fetch
({
store
,
params
})
{
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
},
...
...
pages/order/monitoring/speed.vue
View file @
fbd58d8e
This diff is collapsed.
Click to expand it.
pages/processDesign/ChangeSingle/technicalcoordination/index.vue
View file @
fbd58d8e
...
@@ -371,7 +371,7 @@ export default {
...
@@ -371,7 +371,7 @@ export default {
"op"
,
"op"
,
{
{
attrs
:
{
attrs
:
{
oprate
:
"detail"
oprate
:
"detail"
,
title
:
"预览"
},
},
on
:
{
on
:
{
click
:
()
=>
{
click
:
()
=>
{
...
@@ -390,7 +390,7 @@ export default {
...
@@ -390,7 +390,7 @@ export default {
"op"
,
"op"
,
{
{
attrs
:
{
attrs
:
{
oprate
:
"detail"
oprate
:
"detail"
,
title
:
"编辑"
},
},
on
:
{
on
:
{
click
:
()
=>
{
click
:
()
=>
{
...
...
pages/processDesign/ChangeSingle/unqualifiedorder/index.vue
View file @
fbd58d8e
...
@@ -357,7 +357,7 @@ export default {
...
@@ -357,7 +357,7 @@ export default {
"op"
,
"op"
,
{
{
attrs
:
{
attrs
:
{
oprate
:
"detail"
oprate
:
"detail"
,
title
:
"预览"
},
},
on
:
{
on
:
{
click
:
()
=>
{
click
:
()
=>
{
...
@@ -376,7 +376,7 @@ export default {
...
@@ -376,7 +376,7 @@ export default {
"op"
,
"op"
,
{
{
attrs
:
{
attrs
:
{
oprate
:
"detail"
oprate
:
"detail"
,
title
:
"编辑"
},
},
on
:
{
on
:
{
click
:
()
=>
{
click
:
()
=>
{
...
...
pages/qc/certificate/endIssued/index.vue
View file @
fbd58d8e
...
@@ -129,7 +129,7 @@ export default {
...
@@ -129,7 +129,7 @@ export default {
"op"
,
"op"
,
{
{
attrs
:
{
attrs
:
{
oprate
:
"detail"
oprate
:
"detail"
,
title
:
"查看合格证"
},
},
on
:
{
click
:
()
=>
this
.
detail
(
params
.
row
.
id
)
}
on
:
{
click
:
()
=>
this
.
detail
(
params
.
row
.
id
)
}
},
},
...
...
pages/qc/taskList/index.vue
View file @
fbd58d8e
...
@@ -316,7 +316,7 @@ export default {
...
@@ -316,7 +316,7 @@ export default {
"op"
,
"op"
,
{
{
attrs
:
{
attrs
:
{
oprate
:
"detail"
oprate
:
"detail"
,
title
:
"检验"
},
},
on
:
{
on
:
{
click
:
()
=>
{
click
:
()
=>
{
...
...
pages/resource/material/powder/index.vue
View file @
fbd58d8e
...
@@ -285,7 +285,7 @@ export default {
...
@@ -285,7 +285,7 @@ export default {
"op"
,
"op"
,
{
{
attrs
:
{
attrs
:
{
oprate
:
"detail"
oprate
:
"detail"
,
title
:
"设置最低库存"
},
},
on
:
{
click
:
()
=>
this
.
setNum
(
params
.
row
)
}
on
:
{
click
:
()
=>
this
.
setNum
(
params
.
row
)
}
},
},
...
...
pages/resource/resource/index.vue
View file @
fbd58d8e
...
@@ -290,7 +290,7 @@ export default {
...
@@ -290,7 +290,7 @@ export default {
"op"
,
"op"
,
{
{
attrs
:
{
attrs
:
{
oprate
:
"detail"
oprate
:
"detail"
,
title
:
"修改"
},
},
on
:
{
click
:
()
=>
this
.
edit
(
params
.
row
.
id
)
}
on
:
{
click
:
()
=>
this
.
edit
(
params
.
row
.
id
)
}
},
},
...
@@ -300,7 +300,7 @@ export default {
...
@@ -300,7 +300,7 @@ export default {
"op"
,
"op"
,
{
{
attrs
:
{
attrs
:
{
oprate
:
"delete"
oprate
:
"delete"
,
title
:
"删除"
},
},
class
:
class
:
params
.
row
.
totalNum
===
params
.
row
.
numberAvailable
params
.
row
.
totalNum
===
params
.
row
.
numberAvailable
...
@@ -314,7 +314,7 @@ export default {
...
@@ -314,7 +314,7 @@ export default {
"op"
,
"op"
,
{
{
attrs
:
{
attrs
:
{
oprate
:
"detail"
oprate
:
"detail"
,
title
:
"查看日志"
},
},
on
:
{
click
:
()
=>
this
.
logDetail
(
params
.
row
.
id
)
}
on
:
{
click
:
()
=>
this
.
logDetail
(
params
.
row
.
id
)
}
},
},
...
...
pages/resourceManagement/EquipmentCalendar/index.vue
View file @
fbd58d8e
...
@@ -536,7 +536,7 @@ export default {
...
@@ -536,7 +536,7 @@ export default {
{
{
attrs
:
{
attrs
:
{
oprate
:
"detail"
,
oprate
:
"detail"
,
class
:
"edit"
class
:
"edit"
,
title
:
"设置日历"
},
},
on
:
{
on
:
{
click
:
()
=>
{
click
:
()
=>
{
...
...
pages/resourceManagement/deviceManagementCP/index.vue
View file @
fbd58d8e
...
@@ -573,7 +573,8 @@ export default {
...
@@ -573,7 +573,8 @@ export default {
{
{
attrs
:
{
attrs
:
{
oprate
:
"detail"
,
oprate
:
"detail"
,
class
:
"edit"
class
:
"edit"
,
title
:
"编辑"
},
},
on
:
{
on
:
{
click
:
()
=>
{
click
:
()
=>
{
...
@@ -587,7 +588,7 @@ export default {
...
@@ -587,7 +588,7 @@ export default {
"op"
,
"op"
,
{
{
attrs
:
{
attrs
:
{
oprate
:
"delete"
oprate
:
"delete"
,
title
:
"删除"
},
},
style
:
{
style
:
{
color
:
"red"
color
:
"red"
...
@@ -604,7 +605,7 @@ export default {
...
@@ -604,7 +605,7 @@ export default {
"op"
,
"op"
,
{
{
attrs
:
{
attrs
:
{
oprate
:
"detail"
oprate
:
"detail"
,
title
:
"保养"
},
},
on
:
{
on
:
{
click
:
()
=>
{
click
:
()
=>
{
...
@@ -618,7 +619,7 @@ export default {
...
@@ -618,7 +619,7 @@ export default {
"op"
,
"op"
,
{
{
attrs
:
{
attrs
:
{
oprate
:
"detail"
oprate
:
"detail"
,
title
:
"维修"
},
},
on
:
{
on
:
{
click
:
()
=>
{
click
:
()
=>
{
...
...
pages/resourceManagement/deviceType/index.vue
View file @
fbd58d8e
...
@@ -147,7 +147,8 @@ export default {
...
@@ -147,7 +147,8 @@ export default {
{
{
attrs
:
{
attrs
:
{
oprate
:
"detail"
,
oprate
:
"detail"
,
class
:
"edit"
class
:
"edit"
,
title
:
"编辑"
},
},
on
:
{
on
:
{
click
:
()
=>
{
click
:
()
=>
{
...
@@ -161,7 +162,7 @@ export default {
...
@@ -161,7 +162,7 @@ export default {
"op"
,
"op"
,
{
{
attrs
:
{
attrs
:
{
oprate
:
"delete"
oprate
:
"delete"
,
title
:
"删除"
},
},
style
:
{
style
:
{
color
:
"red"
color
:
"red"
...
...
pages/resourceManagement/productionResources/index.vue
View file @
fbd58d8e
...
@@ -178,7 +178,7 @@ export default {
...
@@ -178,7 +178,7 @@ export default {
h
(
h
(
"op"
,
"op"
,
{
{
attrs
:
{
oprate
:
"remove"
},
attrs
:
{
oprate
:
"remove"
,
title
:
"删除"
},
on
:
{
click
:
()
=>
this
.
remove
(
params
.
row
.
id
)
}
on
:
{
click
:
()
=>
this
.
remove
(
params
.
row
.
id
)
}
},
},
"删除"
"删除"
...
...
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