Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
ems3.3
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
wuhao
ems3.3
Commits
7c22521b
Commit
7c22521b
authored
Feb 10, 2023
by
TZW
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug
parent
2b93e5dc
Changes
57
Show whitespace changes
Inline
Side-by-side
Showing
57 changed files
with
320 additions
and
292 deletions
+320
-292
index.jsx
src/components/AutoTable/index.jsx
+6
-1
index.jsx
src/components/InitForm/EditTable/index.jsx
+1
-2
FormItems.jsx
src/components/InitForm/FormItems.jsx
+1
-1
index.jsx
src/components/InitForm/index.jsx
+3
-1
index.jsx
src/components/TagView/index.jsx
+3
-0
global.jsx
src/global.jsx
+1
-1
index.jsx
src/pages/check/order/index.jsx
+3
-3
index.jsx
src/pages/check/plan/index.jsx
+3
-3
Project.jsx
src/pages/check/standard/Project.jsx
+155
-150
index.jsx
src/pages/check/standard/index.jsx
+10
-8
index.jsx
src/pages/check/task/index.jsx
+5
-5
index.jsx
src/pages/device/account/index.jsx
+1
-1
index.jsx
src/pages/device/model/index.jsx
+1
-1
index.jsx
src/pages/device/supplier/index.jsx
+2
-2
index.jsx
src/pages/device/type/index.jsx
+1
-1
Project.jsx
src/pages/maintain/criterion/Project.jsx
+1
-1
index.jsx
src/pages/maintain/criterion/index.jsx
+1
-1
index.jsx
src/pages/maintain/orders/index.jsx
+3
-3
index.jsx
src/pages/maintain/plan/index.jsx
+3
-3
index.jsx
src/pages/maintain/workOrder/index.jsx
+7
-7
index.jsx
src/pages/repair/failure/index.jsx
+5
-5
index.jsx
src/pages/repair/fault/index.jsx
+1
-1
index.jsx
src/pages/repair/order/index.jsx
+5
-5
columns.js
src/pages/repair/outsourcing/columns.js
+3
-3
index.jsx
src/pages/repair/outsourcing/index.jsx
+5
-5
columns.js
src/pages/repair/platform/columns.js
+3
-3
index.jsx
src/pages/repair/platform/index.jsx
+7
-7
columns.js
src/pages/repair/track/columns.js
+3
-3
index.jsx
src/pages/repair/track/index.jsx
+5
-5
index.jsx
src/pages/setting/factory/index.jsx
+1
-1
index.jsx
src/pages/setting/organization/index.jsx
+1
-1
index.jsx
src/pages/setting/production/index.jsx
+1
-1
index.jsx
src/pages/setting/role/index.jsx
+1
-1
index.jsx
src/pages/setting/section/index.jsx
+1
-1
columns.js
src/pages/setting/users/columns.js
+11
-1
index.jsx
src/pages/setting/users/index.jsx
+1
-1
index.jsx
src/pages/setting/workshop/index.jsx
+1
-1
index.jsx
src/pages/spare/edgestore/index.jsx
+1
-1
columns.js
src/pages/spare/instore/columns.js
+4
-4
index.jsx
src/pages/spare/instore/index.jsx
+3
-3
columns.js
src/pages/spare/outstore/columns.js
+4
-4
index.jsx
src/pages/spare/outstore/index.jsx
+21
-19
index.jsx
src/pages/spare/personalstore/index.jsx
+1
-1
index.jsx
src/pages/spare/record/index.jsx
+1
-1
columns.js
src/pages/spare/requisition/columns.js
+4
-4
index.jsx
src/pages/spare/requisition/index.jsx
+1
-1
index.jsx
src/pages/spare/setting/index.jsx
+1
-1
columns.js
src/pages/spare/spareback/columns.js
+4
-4
index.jsx
src/pages/spare/spareback/index.jsx
+1
-1
index.jsx
src/pages/spare/stock/index.jsx
+1
-1
index.jsx
src/pages/spare/supplier/index.jsx
+1
-1
index.jsx
src/pages/system/dictionary/index.jsx
+1
-1
index.jsx
src/pages/system/field/index.jsx
+1
-1
Notice.jsx
src/pages/system/pushsetting/Notice.jsx
+1
-1
index.jsx
src/pages/system/pushsetting/index.jsx
+1
-1
index.jsx
src/pages/system/rules/index.jsx
+1
-1
index.jsx
src/pages/welcome/index.jsx
+1
-1
No files found.
src/components/AutoTable/index.jsx
View file @
7c22521b
...
...
@@ -125,7 +125,12 @@ export default (props) => {
<
div
style=
{
{
fontSize
:
16
,
fontWeight
:
500
}
}
>
{
props
.
pagetitle
}
</
div
>
<
div
className=
"center"
>
{
renderextra
()
}
</
div
>
</
div
>
<
Tabs
items=
{
items
}
onChange=
{
props
.
onTabChange
}
activeTabKey=
{
props
.
activeTabKey
}
/>
<
Tabs
items=
{
items
}
onChange=
{
props
.
onTabChange
}
destroyInactiveTabPane
activeTabKey=
{
props
.
activeTabKey
}
/>
</
div
>
)
}
</
div
>
...
...
src/components/InitForm/EditTable/index.jsx
View file @
7c22521b
...
...
@@ -7,7 +7,6 @@ import { doFetch } from '@/utils/doFetch';
const
EditTable
=
(
props
)
=>
{
const
{
actionRef
,
//表格动作
formRef
,
//表单Ref
rowKey
,
// key
columns
=
[],
//columns
...
...
@@ -22,7 +21,7 @@ const EditTable = (props) => {
dataSource
,
}
=
props
;
const
actionRefs
=
actionRef
??
useRef
(),
let
actionRefs
=
useRef
(),
formRefs
=
formRef
??
useRef
(),
ifspagination
=
pagination
==
'false'
||
pagination
===
false
,
[
size
,
setsize
]
=
useState
(
'small'
);
...
...
src/components/InitForm/FormItems.jsx
View file @
7c22521b
...
...
@@ -1578,7 +1578,7 @@ function TableSelect({ item, value, onChange, params = {} }) {
const rowKey = item?.rowKey ?? 'id';
const [chooses, setchooses] = useState([]); //mark 标记
const [activetab, setactivetab] = useState(1);
cons
t actionRef = useRef();
le
t actionRef = useRef();
const menu = (selectedRows) => (
<Menu
...
...
src/components/InitForm/index.jsx
View file @
7c22521b
...
...
@@ -14,6 +14,7 @@ import styles from './index.less';
import
FormItems
from
'./FormItems'
;
import
ExtendField
from
'@/components/ExtendField'
;
import
{
Input
,
Col
}
from
'antd'
;
import
{
useDebounceFn
}
from
'ahooks'
;
function
upperCase
(
str
)
{
const
newStr
=
str
.
slice
(
0
,
1
).
toUpperCase
()
+
str
.
slice
(
1
);
...
...
@@ -115,13 +116,14 @@ function InitForm(props) {
style
=
{},
}
=
props
;
const
{
run
}
=
useDebounceFn
(
onFinish
,
{
wait
:
400
});
let
proformRef
=
useRef
();
proformRef
=
formRef
??
proformRef
;
return
(
<
ProForm
style=
{
{
overflow
:
'hidden'
,
...
style
}
}
formRef=
{
proformRef
}
onFinish=
{
onFinish
}
onFinish=
{
run
}
formKey=
{
formKey
??
parseInt
(
Math
.
random
()
*
1000000
)
}
params=
{
params
}
submitter=
{
submitter
??
true
}
...
...
src/components/TagView/index.jsx
View file @
7c22521b
...
...
@@ -14,6 +14,7 @@ function treeForeach(tree, func) {
}
const
TagView
=
({
children
,
home
})
=>
{
console
.
log
(
children
,
home
);
const
[
tagList
,
setTagList
]
=
useState
([]);
const
[
currentPath
,
setCurrentPath
]
=
useState
();
...
...
@@ -61,6 +62,7 @@ const TagView = ({ children, home }) => {
}
// 判断是否已打开过该页面
let
hasOpen
=
false
;
console
.
log
(
'routeContext'
,
routeContext
,
'tagList'
,
tagList
);
if
(
currentMenu
.
path
)
{
const
tagsCopy
=
tagList
.
map
((
item
)
=>
{
if
(
currentMenu
?.
path
===
item
.
path
)
{
...
...
@@ -85,6 +87,7 @@ const TagView = ({ children, home }) => {
active
:
true
,
});
}
return
setTagList
(
tagsCopy
);
}
};
...
...
src/global.jsx
View file @
7c22521b
...
...
@@ -11,7 +11,7 @@ const clearCache = () => {
caches
.
keys
()
.
then
((
keys
)
=>
{
keys
.
forEach
?.((
key
)
=>
{
keys
?
.
forEach
?.((
key
)
=>
{
caches
.
delete
(
key
);
});
})
...
...
src/pages/check/order/index.jsx
View file @
7c22521b
...
...
@@ -8,7 +8,7 @@ import getcolumns from './columns';
import
{
useRequest
}
from
'ahooks'
;
import
{
doFetch
}
from
'@/utils/doFetch'
;
function
Order
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
@@ -178,8 +178,8 @@ function Order(props) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
key
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
},
{
title
:
'工单状态'
,
...
...
src/pages/check/plan/index.jsx
View file @
7c22521b
...
...
@@ -12,7 +12,7 @@ import { doFetch } from '@/utils/doFetch';
import
dayjs
from
'dayjs'
;
import
InitForm
from
'@/components/InitForm'
;
function
Plan
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
@@ -323,8 +323,8 @@ function Plan(props) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
key
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
},
{
title
:
'状态'
,
...
...
src/pages/check/standard/Project.jsx
View file @
7c22521b
...
...
@@ -8,7 +8,7 @@ import { useRequest } from 'ahooks';
import
{
doFetch
}
from
'@/utils/doFetch'
;
function
Project
({
equipmentCheckStandardId
})
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
@@ -65,7 +65,7 @@ function Project({ equipmentCheckStandardId }) {
item
:
row
,
title
:
'编辑'
,
val
:
'edit'
,
id
:
row
?.
id
id
:
row
?.
id
,
}));
},
}
}
...
...
@@ -129,8 +129,7 @@ function Project({ equipmentCheckStandardId }) {
item
:
null
,
title
:
'新增'
,
val
:
'add'
,
id
:
null
id
:
null
,
}));
},
},
...
...
@@ -155,9 +154,15 @@ function Project({ equipmentCheckStandardId }) {
{
...
drawer
}
onFinish=
{
async
(
vals
)
=>
{
if
(
drawer
?.
val
==
'add'
)
{
await
runAsync
({
url
:
pathconfig
?.
add
||
'/add'
,
params
:
{
...
vals
,
equipmentCheckStandardId
}
});
await
runAsync
({
url
:
pathconfig
?.
add
||
'/add'
,
params
:
{
...
vals
,
equipmentCheckStandardId
},
});
}
else
if
(
drawer
?.
val
==
'edit'
)
{
await
runAsync
({
url
:
pathconfig
?.
edit
||
'/edit'
,
params
:
{
...
vals
,
id
:
drawer
?.
item
?.
id
,
equipmentCheckStandardId
}
});
await
runAsync
({
url
:
pathconfig
?.
edit
||
'/edit'
,
params
:
{
...
vals
,
id
:
drawer
?.
item
?.
id
,
equipmentCheckStandardId
},
});
}
}
}
/>
...
...
src/pages/check/standard/index.jsx
View file @
7c22521b
...
...
@@ -6,9 +6,9 @@ import PremButton from '@/components/PremButton';
import
getcolumns
from
'./columns'
;
import
{
useRequest
}
from
'ahooks'
;
import
{
doFetch
}
from
'@/utils/doFetch'
;
import
Project
from
"./Project"
;
import
Project
from
'./Project'
;
function
Standard
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
@@ -65,7 +65,7 @@ function Standard(props) {
item
:
row
,
title
:
'编辑'
,
val
:
'edit'
,
id
:
row
?.
id
id
:
row
?.
id
,
}));
},
}
}
...
...
@@ -86,7 +86,7 @@ function Standard(props) {
item
:
row
,
title
:
'点检项目'
,
val
:
'detailaddon'
,
id
:
row
?.
id
id
:
row
?.
id
,
}));
},
}
}
...
...
@@ -153,8 +153,7 @@ function Standard(props) {
item
:
null
,
title
:
'新增'
,
val
:
'add'
,
id
:
null
id
:
null
,
}));
},
},
...
...
@@ -180,7 +179,10 @@ function Standard(props) {
if
(
drawer
?.
val
==
'add'
)
{
await
runAsync
({
url
:
pathconfig
?.
add
||
'/add'
,
params
:
{
...
vals
}
});
}
else
if
(
drawer
?.
val
==
'edit'
)
{
await
runAsync
({
url
:
pathconfig
?.
edit
||
'/edit'
,
params
:
{
...
vals
,
id
:
drawer
?.
item
?.
id
}
});
await
runAsync
({
url
:
pathconfig
?.
edit
||
'/edit'
,
params
:
{
...
vals
,
id
:
drawer
?.
item
?.
id
},
});
}
}
}
>
...
...
src/pages/check/task/index.jsx
View file @
7c22521b
...
...
@@ -10,7 +10,7 @@ import { useRequest } from 'ahooks';
import
{
doFetch
}
from
'@/utils/doFetch'
;
function
Task
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
@@ -251,8 +251,8 @@ function Task(props) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
key
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
},
{
title
:
'工单状态'
,
...
...
@@ -355,8 +355,8 @@ function Task(props) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
key
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
},
{
title
:
'工单状态'
,
...
...
src/pages/device/account/index.jsx
View file @
7c22521b
...
...
@@ -37,7 +37,7 @@ function Model(props) {
// Can not select days before today and today
return
current
&&
current
>
dayjs
().
endOf
(
'day'
);
};
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
(),
[
drawer
,
setDrawer
]
=
useState
({
visible
:
false
,
...
...
src/pages/device/model/index.jsx
View file @
7c22521b
...
...
@@ -15,7 +15,7 @@ import { doFetch } from '@/utils/doFetch';
import
{
message
}
from
'antd'
;
function
Model
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setDrawer
]
=
useState
({
visible
:
false
,
...
...
src/pages/device/supplier/index.jsx
View file @
7c22521b
...
...
@@ -18,7 +18,7 @@ import { Image, message, Divider } from 'antd';
import
{
ProDescriptions
}
from
'@ant-design/pro-components'
;
function
Supplier
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setDrawer
]
=
useState
({
visible
:
false
,
...
...
@@ -293,7 +293,7 @@ function Supplier(props) {
);
};
const
columns
=
useMemo
(()
=>
{
let
defcolumn
=
getcolumns
(
false
,
actionRef
);
let
defcolumn
=
getcolumns
(
false
,
actionRef
);
defcolumn
[
1
].
render
=
(
text
,
row
)
=>
{
return
(
<
a
...
...
src/pages/device/type/index.jsx
View file @
7c22521b
...
...
@@ -15,7 +15,7 @@ import { doFetch } from '@/utils/doFetch';
import
{
message
}
from
'antd'
;
function
Type
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setDrawer
]
=
useState
({
visible
:
false
,
...
...
src/pages/maintain/criterion/Project.jsx
View file @
7c22521b
...
...
@@ -8,7 +8,7 @@ import { useRequest } from 'ahooks';
import
{
doFetch
}
from
'@/utils/doFetch'
;
function
Project
({
equipmentMaintainStandardId
})
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
src/pages/maintain/criterion/index.jsx
View file @
7c22521b
...
...
@@ -16,7 +16,7 @@ import { doFetch } from '@/utils/doFetch';
import
Project
from
'./Project'
;
function
Criterion
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
src/pages/maintain/orders/index.jsx
View file @
7c22521b
...
...
@@ -9,7 +9,7 @@ import { doFetch } from '@/utils/doFetch';
import
DetailNode
from
'@/components/DetailNode'
;
import
getDetailColumns
from
'../workOrder/detailColumns'
;
function
Orders
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
@@ -168,8 +168,8 @@ function Orders(props) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
key
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
},
{
title
:
'工单状态'
,
...
...
src/pages/maintain/plan/index.jsx
View file @
7c22521b
...
...
@@ -18,7 +18,7 @@ import dayjs from 'dayjs';
import
{
doFetch
}
from
'@/utils/doFetch'
;
import
InitForm
from
'@/components/InitForm'
;
function
Plan
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
@@ -270,8 +270,8 @@ function Plan(props) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
key
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
},
{
title
:
'状态'
,
...
...
src/pages/maintain/workOrder/index.jsx
View file @
7c22521b
...
...
@@ -23,7 +23,7 @@ import DetailNode from '@/components/DetailNode';
function
WorkOrder
(
props
)
{
const
{
initialState
,
setInitialState
}
=
useModel
(
'@@initialState'
);
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
@@ -273,8 +273,8 @@ function WorkOrder(props) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
key
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
},
{
title
:
'工单状态'
,
...
...
@@ -615,8 +615,8 @@ function WorkOrder(props) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
key
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
},
{
title
:
'工单状态'
,
...
...
@@ -642,8 +642,8 @@ function WorkOrder(props) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
key
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
},
{
title
:
'工单状态'
,
...
...
src/pages/repair/failure/index.jsx
View file @
7c22521b
...
...
@@ -17,7 +17,7 @@ import Addform from '@/components/Addform';
import
Detail
from
'@/components/RepaireDetail/Detail'
;
function
Failure
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
@@ -116,8 +116,8 @@ function Failure(props) {
return
[
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
key
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
},
{
title
:
'工单状态'
,
...
...
@@ -134,8 +134,8 @@ function Failure(props) {
return
[
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
key
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
},
{
title
:
'工单状态'
,
...
...
src/pages/repair/fault/index.jsx
View file @
7c22521b
...
...
@@ -29,7 +29,7 @@ const pathconfig = {
};
function
Fault
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
src/pages/repair/order/index.jsx
View file @
7c22521b
...
...
@@ -21,7 +21,7 @@ import Detail from '@/components/RepaireDetail/Detail';
import
{
useModel
}
from
'@umijs/max'
;
function
Failure
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
{
initialState
,
error
,
refresh
,
setInitialState
}
=
useModel
(
'@@initialState'
);
console
.
log
(
initialState
);
...
...
@@ -1453,8 +1453,8 @@ function Failure(props) {
return
[
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
key
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
},
{
title
:
'工单状态'
,
...
...
@@ -1481,8 +1481,8 @@ function Failure(props) {
return
[
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
key
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
},
{
title
:
'工单状态'
,
...
...
src/pages/repair/outsourcing/columns.js
View file @
7c22521b
...
...
@@ -70,7 +70,7 @@ function getcolumns(setdrawer, bus) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTimeList'
,
valueType
:
'dateTimeRange'
,
fieldProps
:
{
...
...
@@ -178,7 +178,7 @@ function getcolumns(setdrawer, bus) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTimeList'
,
valueType
:
'dateTimeRange'
,
fieldProps
:
{
...
...
@@ -286,7 +286,7 @@ function getcolumns(setdrawer, bus) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTimeList'
,
valueType
:
'dateTimeRange'
,
fieldProps
:
{
...
...
src/pages/repair/outsourcing/index.jsx
View file @
7c22521b
...
...
@@ -21,7 +21,7 @@ import Detail from '@/components/RepaireDetail/Detail';
import
{
useModel
}
from
'@umijs/max'
;
function
Failure
(
props
)
{
const
{
initialState
,
setInitialState
}
=
useModel
(
'@@initialState'
);
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
containderef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
...
...
@@ -457,8 +457,8 @@ function Failure(props) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
key
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
},
{
title
:
'工单状态'
,
...
...
@@ -495,8 +495,8 @@ function Failure(props) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
key
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
},
{
title
:
'工单状态'
,
...
...
src/pages/repair/platform/columns.js
View file @
7c22521b
...
...
@@ -178,9 +178,9 @@ function getcolumns(setdrawer, bus) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
valueType
:
'dateTimeRange'
,
key
:
'createTime
s
'
,
key
:
'createTime'
,
fieldProps
:
{
showTime
:
{
format
:
'HH:mm'
,
...
...
@@ -273,7 +273,7 @@ function getcolumns(setdrawer, bus) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTimeList'
,
valueType
:
'dateTimeRange'
,
fieldProps
:
{
...
...
src/pages/repair/platform/index.jsx
View file @
7c22521b
...
...
@@ -18,7 +18,7 @@ import OrderHandle from './RepairOrderHandle';
import
{
message
}
from
'antd'
;
import
Detail
from
'@/components/RepaireDetail/Detail'
;
function
Platform
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
@@ -313,8 +313,8 @@ function Platform(props) {
basecolumns=
{
[
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
key
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
},
{
title
:
'工单状态'
,
...
...
@@ -356,8 +356,8 @@ function Platform(props) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
key
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
},
{
title
:
'工单状态'
,
...
...
@@ -404,8 +404,8 @@ function Platform(props) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
key
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
},
{
title
:
'工单状态'
,
...
...
src/pages/repair/track/columns.js
View file @
7c22521b
...
...
@@ -49,7 +49,7 @@ function getcolumns(setdrawer, bus) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTimeList'
,
valueType
:
'dateTimeRange'
,
fieldProps
:
{
...
...
@@ -184,7 +184,7 @@ function getcolumns(setdrawer, bus) {
},
{
title: '创建时间',
dataIndex: 'createTime
s
',
dataIndex: 'createTime',
key: 'createTimeList',
valueType: 'dateTimeRange',
fieldProps: {
...
...
@@ -292,7 +292,7 @@ function getcolumns(setdrawer, bus) {
},
{
title: '创建时间',
dataIndex: 'createTime
s
',
dataIndex: 'createTime',
key: 'createTimeList',
valueType: 'dateTimeRange',
fieldProps: {
...
...
src/pages/repair/track/index.jsx
View file @
7c22521b
...
...
@@ -22,7 +22,7 @@ import OrderHandle from '../platform/RepairOrderHandle';
import
{
useModel
}
from
'@umijs/max'
;
function
Failure
(
props
)
{
const
{
initialState
,
setInitialState
}
=
useModel
(
'@@initialState'
);
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
containderef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
...
...
@@ -575,8 +575,8 @@ function Failure(props) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
key
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
},
{
title
:
'工单状态'
,
...
...
@@ -618,8 +618,8 @@ function Failure(props) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
key
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
},
{
title
:
'工单状态'
,
...
...
src/pages/setting/factory/index.jsx
View file @
7c22521b
...
...
@@ -15,7 +15,7 @@ import { doFetch } from '@/utils/doFetch';
import
{
message
}
from
'antd'
;
function
Factory
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setDrawer
]
=
useState
({
visible
:
false
,
...
...
src/pages/setting/organization/index.jsx
View file @
7c22521b
...
...
@@ -14,7 +14,7 @@ import { doFetch } from '@/utils/doFetch';
import
{
message
}
from
'antd'
;
function
Type
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setDrawer
]
=
useState
({
visible
:
false
,
...
...
src/pages/setting/production/index.jsx
View file @
7c22521b
...
...
@@ -15,7 +15,7 @@ import { doFetch } from '@/utils/doFetch';
import
{
message
}
from
'antd'
;
function
Section
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
visible
:
false
,
...
...
src/pages/setting/role/index.jsx
View file @
7c22521b
...
...
@@ -17,7 +17,7 @@ import { Drawer } from 'antd';
import
PermissionTree
from
'@/components/PermissionTree/Permissiontree'
;
function
Role
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setDrawer
]
=
useState
({
visible
:
false
,
...
...
src/pages/setting/section/index.jsx
View file @
7c22521b
...
...
@@ -15,7 +15,7 @@ import { doFetch } from '@/utils/doFetch';
import
{
message
}
from
'antd'
;
function
Section
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
visible
:
false
,
...
...
src/pages/setting/users/columns.js
View file @
7c22521b
...
...
@@ -9,10 +9,12 @@ function getcolumns(setDrawer, ifs, formRef) {
// }));
return
[
{
title
:
'用户名'
,
title
:
'用户名
-姓名
'
,
dataIndex
:
'username'
,
width
:
120
,
key
:
'username'
,
hideInTable
:
true
,
search
:
false
,
formItemProps
:
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}]
},
fieldProps
:
{
placeholder
:
'请输入'
,
...
...
@@ -26,6 +28,14 @@ function getcolumns(setDrawer, ifs, formRef) {
},
disabled
:
ifs
,
},
{
title
:
'用户名'
,
dataIndex
:
'username'
,
hideInForm
:
true
,
width
:
120
,
key
:
'username'
,
},
// {
// title: '用户名',
// dataIndex: 'username',
...
...
src/pages/setting/users/index.jsx
View file @
7c22521b
...
...
@@ -23,7 +23,7 @@ function User(props) {
const
{
initialState
,
loading
,
error
,
refresh
,
setInitialState
}
=
useModel
(
'@@initialState'
);
const
[
username
,
setusername
]
=
useState
(
null
);
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setDrawer
]
=
useState
({
visible
:
false
,
...
...
src/pages/setting/workshop/index.jsx
View file @
7c22521b
...
...
@@ -15,7 +15,7 @@ import { message } from 'antd';
import
{
doFetch
}
from
'@/utils/doFetch'
;
function
Factory
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
visible
:
false
,
...
...
src/pages/spare/edgestore/index.jsx
View file @
7c22521b
...
...
@@ -8,7 +8,7 @@ import { useRequest } from 'ahooks';
import
{
doFetch
}
from
'@/utils/doFetch'
;
function
Edgestore
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
src/pages/spare/instore/columns.js
View file @
7c22521b
...
...
@@ -216,7 +216,7 @@ function getcolumns(setdrawer) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTimeList'
,
fieldProps
:
{
showTime
:
{
...
...
@@ -227,7 +227,7 @@ function getcolumns(setdrawer) {
hideInForm
:
true
,
valueType
:
'dateTimeRange'
,
render
:
(
text
,
row
)
=>
{
return
<
span
style
=
{{
fontSize
:
14
}}
>
{
row
?.
createTime
s
}
<
/span>
;
return
<
span
style
=
{{
fontSize
:
14
}}
>
{
row
?.
createTime
}
<
/span>
;
},
},
{
...
...
@@ -399,7 +399,7 @@ function getcolumns(setdrawer) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTimeList'
,
hideInForm
:
true
,
valueType
:
'dateTimeRange'
,
...
...
@@ -410,7 +410,7 @@ function getcolumns(setdrawer) {
format
:
'YYYY-MM-DD HH:mm'
,
},
render
:
(
text
,
row
)
=>
{
return
<
span
>
{
row
?.
createTime
s
}
<
/span>
;
return
<
span
>
{
row
?.
createTime
}
<
/span>
;
},
},
{
...
...
src/pages/spare/instore/index.jsx
View file @
7c22521b
...
...
@@ -8,7 +8,7 @@ import { useRequest } from 'ahooks';
import
{
doFetch
}
from
'@/utils/doFetch'
;
function
Instore
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
src/pages/spare/outstore/columns.js
View file @
7c22521b
...
...
@@ -194,7 +194,7 @@ function getcolumns(setdrawer) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTimeList'
,
fieldProps
:
{
showTime
:
{
...
...
@@ -205,7 +205,7 @@ function getcolumns(setdrawer) {
hideInForm
:
true
,
valueType
:
'dateRange'
,
render
:
(
text
,
row
)
=>
{
return
<
span
>
{
row
?.
createTime
s
}
<
/span>
;
return
<
span
>
{
row
?.
createTime
}
<
/span>
;
},
hideInForm
:
true
,
},
...
...
@@ -400,7 +400,7 @@ function getcolumns(setdrawer) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTimeList'
,
fieldProps
:
{
showTime
:
{
...
...
@@ -411,7 +411,7 @@ function getcolumns(setdrawer) {
hideInForm
:
true
,
valueType
:
'dateRange'
,
render
:
(
text
,
row
)
=>
{
return
<
span
>
{
row
?.
createTime
s
}
<
/span>
;
return
<
span
>
{
row
?.
createTime
}
<
/span>
;
},
hideInForm
:
true
,
},
...
...
src/pages/spare/outstore/index.jsx
View file @
7c22521b
...
...
@@ -11,7 +11,7 @@ import EditTable from '@/components/InitForm/EditTable';
import
{
Button
}
from
'antd'
;
function
Outstore
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
@@ -62,19 +62,20 @@ function Outstore(props) {
btn=
{
{
size
:
'small'
,
onClick
:
()
=>
{
doFetch
({
url
:
'/sparepart/outWarehouseTask/queryByBeforeOut'
,
params
:
{
id
:
row
?.
id
},
}).
then
((
res
)
=>
{
setdrawer
((
s
)
=>
({
...
s
,
open
:
true
,
item
:
row
,
title
:
'出库'
,
val
:
'only'
,
submitdata
:
res
?.
data
?.
data
?.
taskSpareList
??
[],
}));
});
actionRef
.
current
.
reload
();
// doFetch(
{
// url: '/sparepart/outWarehouseTask/queryByBeforeOut',
// params:
{
id
:
row
?.
id
},
//
}).
then
((
res
)
=>
{
// setdrawer((s) => (
{
// ...s,
// open: true,
// item: row,
// title: '出库',
// val: 'only',
// submitdata: res?.data?.data?.taskSpareList ?? [],
//
}));
//
});
},
}
}
>
...
...
@@ -268,7 +269,8 @@ function Outstore(props) {
rowSelection=
{
{
columnWidth
:
44
,
preserveSelectedRowKeys
:
true
,
selectedRowKeys
:
value
selectedRowKeys
:
value
&&
value
.
length
>
0
?
value
?.
filter
?.((
it
)
=>
it
?.
id
==
record
.
id
)[
0
]
?.
taskSpareSupplierList
?.
map
?.((
it
)
=>
it
?.
spareSupplierStockId
)
...
...
src/pages/spare/personalstore/index.jsx
View file @
7c22521b
...
...
@@ -8,7 +8,7 @@ import { useRequest } from 'ahooks';
import
{
doFetch
}
from
'@/utils/doFetch'
;
function
Personalstore
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
src/pages/spare/record/index.jsx
View file @
7c22521b
...
...
@@ -8,7 +8,7 @@ import { useRequest } from 'ahooks';
import
{
doFetch
}
from
'@/utils/doFetch'
;
function
Record
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
src/pages/spare/requisition/columns.js
View file @
7c22521b
...
...
@@ -157,12 +157,12 @@ function getcolumns(type, fullName) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTimeList'
,
hideInForm
:
true
,
valueType
:
'dateRange'
,
render
:
(
text
,
row
)
=>
{
return
<
span
>
{
row
?.
createTime
s
}
<
/span>
;
return
<
span
>
{
row
?.
createTime
}
<
/span>
;
},
hideInForm
:
true
,
},
...
...
@@ -411,12 +411,12 @@ function getcolumns(type, fullName) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTimeList'
,
hideInForm
:
true
,
valueType
:
'dateRange'
,
render
:
(
text
,
row
)
=>
{
return
<
span
>
{
row
?.
createTime
s
}
<
/span>
;
return
<
span
>
{
row
?.
createTime
}
<
/span>
;
},
hideInForm
:
true
,
},
...
...
src/pages/spare/requisition/index.jsx
View file @
7c22521b
...
...
@@ -12,7 +12,7 @@ import { message, Divider } from 'antd';
import
{
useModel
}
from
'@umijs/max'
;
function
Requisition
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
src/pages/spare/setting/index.jsx
View file @
7c22521b
...
...
@@ -10,7 +10,7 @@ import { message } from 'antd';
import
TreeRender
from
'@/components/TreeRender'
;
function
Setting
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
src/pages/spare/spareback/columns.js
View file @
7c22521b
...
...
@@ -149,12 +149,12 @@ function getcolumns(type, fullName) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTimeList'
,
hideInForm
:
true
,
valueType
:
'dateRange'
,
render
:
(
text
,
row
)
=>
{
return
<
span
>
{
row
?.
createTime
s
}
<
/span>
;
return
<
span
>
{
row
?.
createTime
}
<
/span>
;
},
hideInForm
:
true
,
},
...
...
@@ -386,12 +386,12 @@ function getcolumns(type, fullName) {
},
{
title
:
'创建时间'
,
dataIndex
:
'createTime
s
'
,
dataIndex
:
'createTime'
,
key
:
'createTimeList'
,
hideInForm
:
true
,
valueType
:
'dateRange'
,
render
:
(
text
,
row
)
=>
{
return
<
span
>
{
row
?.
createTime
s
}
<
/span>
;
return
<
span
>
{
row
?.
createTime
}
<
/span>
;
},
hideInForm
:
true
,
},
...
...
src/pages/spare/spareback/index.jsx
View file @
7c22521b
...
...
@@ -11,7 +11,7 @@ import { message, Divider } from 'antd';
import
{
useModel
}
from
'@umijs/max'
;
function
Spareback
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
src/pages/spare/stock/index.jsx
View file @
7c22521b
...
...
@@ -27,7 +27,7 @@ function ExtraTable({ spareStockId }) {
}
function
Stock
(
props
)
{
cons
t
actionRef
=
useRef
();
le
t
actionRef
=
useRef
();
const
pathconfig
=
useMemo
(()
=>
{
let
pathconf
=
getcolumns
()?.
pathconfig
??
{};
return
pathconf
;
...
...
src/pages/spare/supplier/index.jsx
View file @
7c22521b
...
...
@@ -10,7 +10,7 @@ import extraColumns from '@/utils/extraColumns';
import
{
message
}
from
'antd'
;
function
Supplier
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
src/pages/system/dictionary/index.jsx
View file @
7c22521b
...
...
@@ -14,7 +14,7 @@ import { doFetch } from '@/utils/doFetch';
import
{
message
}
from
'antd'
;
function
Type
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setDrawer
]
=
useState
({
visible
:
false
,
...
...
src/pages/system/field/index.jsx
View file @
7c22521b
...
...
@@ -20,7 +20,7 @@ import InitForm from '@/components/InitForm';
const
{
Sider
,
Content
}
=
Layout
;
function
Field
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
(),
[
drawer
,
setDrawer
]
=
useState
({
visible
:
false
,
...
...
src/pages/system/pushsetting/Notice.jsx
View file @
7c22521b
...
...
@@ -8,7 +8,7 @@ import { useRequest } from 'ahooks';
import
{
doFetch
}
from
'@/utils/doFetch'
;
function
Project
({
businessMsgOptionId
})
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
src/pages/system/pushsetting/index.jsx
View file @
7c22521b
...
...
@@ -12,7 +12,7 @@ import copy from 'copy-to-clipboard';
import
Notice
from
'./Notice'
;
function
Pushsetting
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
open
:
false
,
...
...
src/pages/system/rules/index.jsx
View file @
7c22521b
...
...
@@ -17,7 +17,7 @@ import AddRules from './AddRules';
import
_
from
'lodash'
;
function
Rules
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setDrawer
]
=
useState
({
visible
:
false
,
...
...
src/pages/welcome/index.jsx
View file @
7c22521b
...
...
@@ -6,7 +6,7 @@ import PremButton from '@/components/PremButton';
import
getcolumns
from
'./columns'
;
function
Welcome
(
props
)
{
cons
t
actionRef
=
useRef
(),
le
t
actionRef
=
useRef
(),
formRef
=
useRef
();
const
[
drawer
,
setdrawer
]
=
useState
({
visible
:
false
,
...
...
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