Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
W
wms
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
wms
Commits
5075c95d
Commit
5075c95d
authored
Aug 14, 2023
by
wuhao
🎯
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dsade
parent
facee4fe
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
1374 additions
and
248 deletions
+1374
-248
index.jsx
src/components/DrawInitForm/index.jsx
+11
-1
index.jsx
src/components/EditTable/index.jsx
+100
-91
index.jsx
src/pages/insertstore/Otherinstore/index.jsx
+1262
-156
index_c.jsx
src/pages/insertstore/Otherinstore/index_c.jsx
+1
-0
No files found.
src/components/DrawInitForm/index.jsx
View file @
5075c95d
/*
* @Author: wuhao930406 1148547900@qq.com
* @Date: 2023-08-14 15:27:40
* @LastEditors: wuhao930406 1148547900@qq.com
* @LastEditTime: 2023-08-14 15:43:08
* @FilePath: /wms/src/components/DrawInitForm/index.jsx
* @Description:
*
* Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
*/
import
InitForm
from
"../InitForm"
;
import
{
Drawer
}
from
"antd"
;
import
React
,
{
useState
,
memo
}
from
"react"
;
...
...
@@ -40,7 +50,7 @@ function DrawInitForm(props) {
style=
{
{
position
:
"absolute"
,
transform
:
"translateX(0)"
,
maxWidth
:
"100%"
}
}
width=
{
props
.
val
==
"detail"
?
1000
:
props
.
width
}
{
...
props
}
destroyOnClose=
{
tru
e
}
destroyOnClose=
{
fals
e
}
>
{
props
.
val
==
"only"
&&
props
.
children
}
{
props
.
val
==
"only"
?
null
:
props
.
val
==
"detail"
?
<
Details
{
...
detailprops
}
></
Details
>
:
<
InitForm
{
...
newProps
}
></
InitForm
>
}
...
...
src/components/EditTable/index.jsx
View file @
5075c95d
import
React
,
{
useEffect
,
use
Ref
,
useState
}
from
"react"
;
import
React
,
{
useEffect
,
use
Memo
,
useRef
,
useState
}
from
"react"
;
import
{
EditableProTable
}
from
"@ant-design/pro-table"
;
import
{
useUpdate
}
from
"ahooks"
;
...
...
@@ -13,20 +13,29 @@ const EditTable = ({
style
,
})
=>
{
const
editorFormRef
=
useRef
();
console
.
log
(
columns
);
const
[
show
,
setshow
]
=
useState
(
true
);
useEffect
(()
=>
{
setshow
(
false
);
setTimeout
(()
=>
{
setshow
(
true
);
},
1200
);
},
[]);
//console.log(columns);
const
[
addon
,
setaddon
]
=
useState
(
0
);
const
newcolumns
=
useMemo
(()
=>
{
return
columns
?.
map
((
item
)
=>
{
return
item
?.
params
?
{
...
item
,
params
:
{
...
item
.
params
,
addon
,
},
}
:
{
...
item
,
};
});
},
[
addon
]);
return
(
show
&&
(
<
EditableProTable
style=
{
{
...(
style
??
{})
}
}
columns=
{
columns
}
columns=
{
new
columns
}
rowKey=
{
rowKey
}
value=
{
value
||
[]
}
onChange=
{
onChange
}
...
...
@@ -48,6 +57,7 @@ const EditTable = ({
return
[
defaultDoms
.
delete
];
},
onValuesChange
:
async
(
record
,
recordList
)
=>
{
setaddon
(
s
=>
Math
.
random
()
*
1000000
);
let
{
urlchangeval
}
=
linkconfig
??
{};
let
newvalue
=
[...
recordList
];
if
(
urlchangeval
&&
record
)
{
...
...
@@ -114,7 +124,6 @@ const EditTable = ({
}
}
maxLength=
{
maxLength
??
1000
}
/>
)
);
};
...
...
src/pages/insertstore/Otherinstore/index.jsx
View file @
5075c95d
import
React
,
{
useState
,
useEffect
}
from
"react"
;
import
DrawInitForm
from
"@/components/DrawInitForm"
;
import
React
,
{
useEffect
,
useMemo
,
useRef
,
useState
}
from
"react"
;
import
{
Dropdown
,
Menu
,
Button
,
message
,
Table
}
from
"antd"
;
import
AutoTable
from
"@/components/AutoTable"
;
// import defaultFields from "./fields";
import
{
doFetch
}
from
"@/utils/doFetch"
;
function
Otherinstore
()
{
const
[
open
,
setopen
]
=
useState
(
false
);
import
DrawInitForm
from
"@/components/DrawInitForm"
;
import
getPrem
from
"@/utils/getPrem"
;
//权限判断fn
import
{
useReactToPrint
}
from
"react-to-print"
;
import
{
useModel
}
from
"umi"
;
import
PrintDom
from
"./printdom"
;
import
{
PrintQrCode
}
from
"@/components/PrintCode"
;
import
{
EditableProTable
}
from
"@ant-design/pro-table"
;
const
keytoval
=
{
one
:
1
,
two
:
2
,
three
:
3
,
four
:
4
,
},
items
=
[
{
key
:
"one"
,
label
:
<
a
>
采购入库
</
a
>,
},
{
key
:
"two"
,
label
:
<
a
>
生产入库
</
a
>,
},
{
key
:
"three"
,
label
:
<
a
>
退料入库
</
a
>,
},
{
key
:
"four"
,
label
:
<
a
>
其他入库
</
a
>,
},
],
itemz
=
{
one
:
"采购入库"
,
two
:
"生产入库"
,
three
:
"退料入库"
,
four
:
"其他入库"
,
};
const
EditUpload
=
({
record
,
fid
,
storeId
})
=>
{
console
.
log
(
123
);
const
[
value
,
setvalue
]
=
useState
({
[
record
.
id
]:
record
.
uploadList
,
});
const
{
initialState
,
setInitialState
}
=
useModel
(
"@@initialState"
);
const
fetchRequest
=
async
(
params
)
=>
{
console
.
log
(
5555
);
let
newParams
=
JSON
.
parse
(
JSON
.
stringify
(
params
));
let
res
=
await
doFetch
({
url
:
"/ngic-auth/sysStorePosition/queryUseAbleSelection"
,
params
:
{
storeId
:
newParams
.
storeId
},
});
return
res
?.
data
?.
dataList
;
};
useEffect
(()
=>
{
if
(
!
value
)
{
return
;
}
let
newlist
=
Object
.
keys
(
value
)?.
map
?.((
it
)
=>
{
let
id
=
it
;
let
newArr
=
value
[
id
]?.
filter
((
it
)
=>
typeof
it
.
id
==
"number"
)
??
[];
return
{
id
,
uploadList
:
newArr
.
map
((
its
)
=>
{
return
{
storePositionId
:
its
?.
storePositionId
,
instroeNum
:
its
?.
instroeNum
,
remark
:
its
?.
remark
,
};
}),
};
})
??
[];
setInitialState
((
s
)
=>
{
return
{
...
s
,
submit
:
{
id
:
fid
,
materialList
:
s
.
submit
&&
s
?.
submit
?.
materialList
?
s
?.
submit
?.
materialList
?.
filter
(
(
it
)
=>
newlist
.
map
((
item
)
=>
item
.
id
).
indexOf
(
it
.
id
)
==
-
1
)
?.
concat
(
newlist
)
?.
filter
((
it
)
=>
it
.
uploadList
?.
length
>
0
)
:
[],
},
};
});
// fetchRequest(params);
},
[
value
]);
useEffect
(()
=>
{
fetchRequest
({
storeId
,
});
},
[
storeId
]);
return
(
<>
<
div
style=
{
{
height
:
"20px"
,
width
:
"20px"
,
backgroundColor
:
"red"
}
}
onClick=
{
()
=>
{
setopen
(
!
open
);
<
EditableProTable
rowKey=
{
"id"
}
maxLength=
{
1
}
style=
{
{
marginLeft
:
48
}
}
columns=
{
[
{
title
:
(
<
span
>
库位名称
<
b
style=
{
{
color
:
"red"
}
}
>
*
</
b
>
</
span
>
),
dataIndex
:
"storePositionName"
,
key
:
"storePositionId"
,
search
:
false
,
valueType
:
"select"
,
request
:
async
(
params
)
=>
{
console
.
log
(
params
);
const
res
=
await
fetchRequest
(
params
);
return
res
;
},
editable
:
(
text
,
record
,
index
)
=>
{
return
!
record
.
materieOutstoreDetailId
;
},
params
:
{
storeId
:
storeId
},
formItemProps
:
()
=>
{
return
{
rules
:
[{
required
:
true
,
message
:
"此项为必填项"
}],
};
},
},
{
title
:
(
<
span
>
上架数量
<
b
style=
{
{
color
:
"red"
}
}
>
*
</
b
>
</
span
>
),
dataIndex
:
"instroeNum"
,
key
:
"instroeNum"
,
search
:
false
,
editable
:
(
text
,
record
,
index
)
=>
{
return
!
record
.
materieOutstoreDetailId
;
},
valueType
:
"digit"
,
formItemProps
:
()
=>
{
return
{
rules
:
[{
required
:
true
,
message
:
"此项为必填项"
}],
};
},
},
{
title
:
"备注"
,
dataIndex
:
"remark"
,
key
:
"remark"
,
search
:
false
,
editable
:
(
text
,
record
,
index
)
=>
{
return
!
record
.
materieOutstoreDetailId
;
},
},
{
title
:
"操作"
,
valueType
:
"option"
,
width
:
70
,
render
:
(
text
,
record
,
_
,
action
)
=>
[
typeof
record
.
id
==
"number"
&&
(
<
a
key=
"delete"
onClick=
{
()
=>
{}
}
>
删除
</
a
>
),
],
},
]
}
value=
{
value
[
record
.
id
]
}
recordCreatorProps=
{
{
newRecordType
:
"dataSource"
,
record
:
()
=>
({
id
:
Date
.
now
(),
}),
}
}
></
div
>
<
DrawInitForm
width=
"1200px"
fields=
{
open
?
{
editable=
{
{
type
:
"multiple"
,
actionRender
:
(
row
,
config
,
defaultDoms
)
=>
{
return
[
defaultDoms
.
delete
];
},
onValuesChange
:
async
(
records
,
recordList
)
=>
{
setvalue
((
s
)
=>
{
return
{
...
s
,
[
record
.
id
]:
recordList
,
};
});
},
}
}
pagination=
{
false
}
/>
);
};
function
Instore
(
props
)
{
const
{
initialState
,
setInitialState
}
=
useModel
(
"@@initialState"
);
const
[
activeTabKey
,
onTabChange
]
=
useState
(
"1"
);
const
[
selectKeys
,
setSelectKeys
]
=
useState
([]);
let
[
drawprops
,
setdrawprops
]
=
useState
({
title
:
""
,
visible
:
false
,
onClose
:
()
=>
{
setdrawprops
((
s
)
=>
({
...
s
,
visible
:
false
,
fields
:
{},
}));
},
fields
:
{},
width
:
1200
,
}),
actionRef
=
useRef
(),
ChildRef
=
null
,
printRef
=
useRef
(),
mutiPrintRef
=
useRef
();
//操作完成后刷新
function
reload
()
{
actionRef
.
current
.
reload
();
ChildRef
?.
onRefresh
();
message
.
success
(
"操作成功"
);
setdrawprops
((
s
)
=>
({
...
s
,
visible
:
false
,
fields
:
{},
}));
}
const
handlePrint
=
useReactToPrint
({
content
:
()
=>
printRef
.
current
.
dom
.
current
,
});
const
mutiPrint
=
useReactToPrint
({
content
:
()
=>
mutiPrintRef
.
current
.
dom
.
current
,
});
const
[
PchList
,
setPchList
]
=
useState
();
useEffect
(()
=>
{
if
(
drawprops
?.
visible
)
{
doFetch
({
url
:
"/ngic-workmanship/wmsMaterieLabel/selectionByStatus"
,
params
:
{
status
:
"1"
},
}).
then
((
res
)
=>
{
setPchList
(
res
?.
data
?.
dataList
);
});
}
},
[
drawprops
?.
visible
]);
const
defaultFields
=
useMemo
(()
=>
{
// let option = {
// options: PchList,
// allowClear: true,
// showSearch: true,
// };
// console.log("pchlist:", option);
return
{
four
:
{
materieInstoreNo
:
{
value
:
null
,
type
:
"input"
,
title
:
"入库单号"
,
name
:
[
"materieInstoreNo"
],
required
:
false
,
placeholder
:
"不填写系统自动生成"
,
},
storeId
:
{
value
:
null
,
type
:
"select"
,
title
:
"入库仓库"
,
name
:
[
"storeId"
],
required
:
true
,
options
:
{
database
:
()
=>
doFetch
({
url
:
"/ngic-auth/sysStore/selectionBoxAll"
,
params
:
{},
}),
params
:
{},
},
},
remark
:
{
value
:
null
,
type
:
"textarea"
,
title
:
"备注"
,
name
:
[
"remark"
],
required
:
false
,
col
:
{
span
:
24
,
},
},
materialList
:
{
value
:
[],
title
:
"物料信息"
,
...
...
@@ -59,13 +341,12 @@ function Otherinstore() {
valueType
:
"select"
,
width
:
180
,
params
:
{},
request
:
async
(
)
=>
{
alert
(
"Please"
)
request
:
async
(
params
)
=>
{
let
res
=
await
doFetch
({
url
:
"/ngic-workmanship/wmsMaterieLabel/selectionByStatus"
,
params
:
{
status
:
1
},
params
:
{
status
:
"1"
},
});
console
.
log
(
res
);
return
res
?.
data
?.
dataList
;
},
formItemProps
:
()
=>
{
...
...
@@ -157,16 +438,841 @@ function Otherinstore() {
],
rowKey
:
"id"
,
},
},
detail
:
(
setselected
,
dom
)
=>
({
totalCard
:
[
//物料详情
{
cardTitle
:
"基本信息"
,
itemData
:
[
{
title
:
"入库单号"
,
key
:
"materieInstoreNo"
,
},
{
title
:
"入库类型"
,
key
:
"instoreTypeName"
,
},
{
title
:
"入库仓库"
,
key
:
"storeName"
,
},
{
title
:
"创建人"
,
key
:
"createUserName"
,
},
{
title
:
"创建时间"
,
key
:
"createTime"
,
},
{
title
:
"状态"
,
key
:
"statusName"
,
},
{
title
:
"完成时间"
,
key
:
"finishTime"
,
},
{
title
:
"备注"
,
key
:
"remark"
,
noshow
:
"100%"
,
},
{
title
:
"工单条形码"
,
noshow
:
true
,
key
:
"qrCodeUrl"
,
type
:
"img"
,
width
:
100
,
},
],
},
{
cardTitle
:
"物料信息列表"
,
extraContent
:
""
,
itemData
:
[
{
key
:
"materialList"
,
type
:
"table"
,
col
:
{
span
:
24
},
columns
:
[
{
title
:
"物料编码 - 名称"
,
dataIndex
:
"materieName"
,
key
:
"materieName"
,
search
:
false
,
render
:
(
dom
,
row
)
=>
{
return
(
(
row
.
materieCode
??
""
)
+
" - "
+
(
row
.
materieName
??
""
)
);
},
},
{
title
:
"供应商编号 - 名称"
,
dataIndex
:
"supplierNo"
,
key
:
"supplierNo"
,
search
:
false
,
render
:
(
dom
,
row
)
=>
{
return
(
(
row
.
supplierNo
??
""
)
+
" - "
+
(
row
.
supplierName
??
""
)
);
},
},
{
title
:
"批次号"
,
dataIndex
:
"materieControlNo"
,
key
:
"materieControlNo"
,
search
:
false
,
},
{
title
:
"入库数量"
,
dataIndex
:
"instroeNum"
,
key
:
"instroeNum"
,
search
:
false
,
},
{
title
:
"未上架数量"
,
dataIndex
:
"remainderNums"
,
key
:
"remainderNums"
,
search
:
false
,
},
{
title
:
"库存单位"
,
dataIndex
:
"productionUnitName"
,
key
:
"productionUnitName"
,
search
:
false
,
},
],
expandable
:
{
defaultExpandAllRows
:
true
,
expandedRowRender
:
(
record
)
=>
(
<
Table
style=
{
{
marginLeft
:
48
}
}
columns=
{
[
{
title
:
"库位名称"
,
dataIndex
:
"storePositionName"
,
key
:
"storePositionName"
,
search
:
false
,
formItemProps
:
()
=>
{
return
{
rules
:
[
{
required
:
true
,
message
:
"此项为必填项"
},
],
};
},
},
{
title
:
"上架数量"
,
dataIndex
:
"instroeNum"
,
key
:
"instroeNum"
,
search
:
false
,
formItemProps
:
()
=>
{
return
{
rules
:
[
{
required
:
true
,
message
:
"此项为必填项"
},
],
};
},
},
]
}
dataSource=
{
record
.
uploadList
}
pagination=
{
false
}
/>
),
},
pagination
:
"false"
,
rowKey
:
"id"
,
rowSelection
:
{
onChange
:
(
selectedRowKeys
,
selectedRows
)
=>
{
setselected
(
selectedRows
);
},
},
},
],
},
{
cardTitle
:
"强制关单信息"
,
itemData
:
[
{
title
:
"关单人"
,
key
:
"closeUserName"
,
},
{
title
:
"关单时间"
,
key
:
"closeTime"
,
},
],
},
{
cardTitle
:
"上架明细"
,
noPrint
:
true
,
itemData
:
[
{
key
:
"materialUploadList"
,
type
:
"table"
,
col
:
{
span
:
24
},
columns
:
[
{
title
:
"物料编码 - 名称"
,
dataIndex
:
"materieName"
,
key
:
"materieName"
,
search
:
false
,
render
:
(
dom
,
row
)
=>
{
return
(
(
row
.
materieCode
??
""
)
+
" - "
+
(
row
.
materieName
??
""
)
);
},
},
{
title
:
"供应商编号 - 名称"
,
dataIndex
:
"supplierNo"
,
key
:
"supplierNo"
,
search
:
false
,
render
:
(
dom
,
row
)
=>
{
return
(
(
row
.
supplierNo
??
""
)
+
" - "
+
(
row
.
supplierName
??
""
)
);
},
},
{
title
:
"批次号"
,
dataIndex
:
"materieControlNo"
,
key
:
"materieControlNo"
,
search
:
false
,
},
{
title
:
"入库数量"
,
dataIndex
:
"instroeNum"
,
key
:
"instroeNum"
,
search
:
false
,
},
{
title
:
"库存单位"
,
dataIndex
:
"productionUnitName"
,
key
:
"productionUnitName"
,
search
:
false
,
},
],
expandable
:
{
defaultExpandAllRows
:
true
,
expandedRowRender
:
(
record
)
=>
(
<
Table
style=
{
{
marginLeft
:
48
}
}
columns=
{
[
{
title
:
"库位名称"
,
dataIndex
:
"storePositionName"
,
key
:
"storePositionName"
,
search
:
false
,
formItemProps
:
()
=>
{
return
{
rules
:
[
{
required
:
true
,
message
:
"此项为必填项"
},
],
};
},
},
{
title
:
"上架数量"
,
dataIndex
:
"instroeNum"
,
key
:
"instroeNum"
,
search
:
false
,
formItemProps
:
()
=>
{
return
{
rules
:
[
{
required
:
true
,
message
:
"此项为必填项"
},
],
};
},
},
{
title
:
"备注"
,
dataIndex
:
"remark"
,
key
:
"remark"
,
search
:
false
,
},
{
title
:
"操作人"
,
dataIndex
:
"uploadUserName"
,
key
:
"uploadUserName"
,
search
:
false
,
},
{
title
:
"操作时间"
,
dataIndex
:
"uploadTime"
,
key
:
"uploadTime"
,
search
:
false
,
},
]
}
dataSource=
{
record
.
uploadList
}
pagination=
{
false
}
/>
),
},
pagination
:
"false"
,
},
],
},
],
}),
doinsert
:
(
fid
,
storeId
)
=>
({
totalCard
:
[
//物料详情
{
cardTitle
:
"基本信息"
,
itemData
:
[
{
title
:
"入库单号"
,
key
:
"materieInstoreNo"
,
},
{
title
:
"入库类型"
,
key
:
"instoreTypeName"
,
},
{
title
:
"入库仓库"
,
key
:
"storeName"
,
},
{
title
:
"相关单号"
,
key
:
"businessNo"
,
},
{
title
:
"备注"
,
key
:
"remark"
,
},
{
title
:
"创建人"
,
key
:
"createUserName"
,
},
{
title
:
"创建时间"
,
key
:
"createTime"
,
},
{
title
:
"状态"
,
key
:
"statusName"
,
},
],
},
{
cardTitle
:
"物料信息"
,
extra
:
true
,
extrapath
:
"/ngic-workmanship/wmsMaterieInstore/uploadOtherInstore"
,
extrakey
:
"submit"
,
//redux key
itemData
:
[
{
key
:
"materialList"
,
type
:
"table"
,
col
:
{
span
:
24
},
columns
:
[
{
title
:
"物料编码 - 名称"
,
dataIndex
:
"materieName"
,
key
:
"materieName"
,
search
:
false
,
render
:
(
dom
,
row
)
=>
{
return
(
(
row
.
materieCode
??
""
)
+
" - "
+
(
row
.
materieName
??
""
)
);
},
},
{
title
:
"供应商编号 - 名称"
,
dataIndex
:
"supplierNo"
,
key
:
"supplierNo"
,
search
:
false
,
render
:
(
dom
,
row
)
=>
{
return
(
(
row
.
supplierNo
??
""
)
+
" - "
+
(
row
.
supplierName
??
""
)
);
},
},
{
title
:
"批次号"
,
dataIndex
:
"materieControlNo"
,
key
:
"materieControlNo"
,
search
:
false
,
},
{
title
:
"入库数量"
,
dataIndex
:
"instroeNum"
,
key
:
"instroeNum"
,
search
:
false
,
},
{
title
:
"未上架数量"
,
dataIndex
:
"remainderNums"
,
key
:
"remainderNums"
,
search
:
false
,
},
{
title
:
"库存单位"
,
dataIndex
:
"productionUnitName"
,
key
:
"productionUnitName"
,
search
:
false
,
},
],
expandable
:
{
expandedRowRender
:
(
record
)
=>
(
<
EditUpload
record=
{
record
}
fid=
{
fid
}
storeId=
{
storeId
}
/>
),
},
rowKey
:
"id"
,
},
],
},
],
}),
};
},
[
PchList
]);
// const defaultFields = useMemo(() => {
// console.log(PchList);
// return
// }, [PchList]);
const
PrintButton
=
(
<
Button
disabled=
{
!
selectKeys
.
length
}
onClick=
{
()
=>
{
mutiPrint
();
}
}
>
打印
</
Button
>
);
useEffect
(()
=>
{
const
detail
=
defaultFields
.
detail
(
setSelectKeys
,
PrintButton
);
setdrawprops
((
s
)
=>
({
...
s
,
...
detail
,
}));
},
[
selectKeys
]);
const
columns
=
useMemo
(()
=>
{
if
(
activeTabKey
==
"1"
)
{
return
[
{
title
:
"入库单号"
,
dataIndex
:
"materieInstoreNo"
,
key
:
"materieInstoreNo"
,
search
:
false
,
render
:
(
dom
,
record
)
=>
{
return
(
<
a
onClick=
{
async
()
=>
{
const
detail
=
defaultFields
.
detail
(
setSelectKeys
,
PrintButton
);
setdrawprops
((
s
)
=>
({
...
s
,
visible
:
true
,
//查看详情 props
val
:
"detail"
,
title
:
`查看详情`
,
...
detail
,
totalPath
:
"/ngic-workmanship/wmsMaterieInstore/getInStoreInfoById"
,
totalParams
:
{
id
:
record
.
id
},
extra
:
(
<
Button
onClick=
{
async
()
=>
{
handlePrint
();
}
}
>
打印
</
Button
>
),
}));
}
}
>
{
dom
}
</
a
>
);
},
},
{
title
:
"入库类型"
,
dataIndex
:
"instoreTypeName"
,
key
:
"instoreType"
,
search
:
false
,
valueType
:
"select"
,
options
:
[
{
label
:
"采购入库"
,
value
:
"1"
,
},
{
label
:
"生产入库"
,
value
:
"2"
,
},
{
label
:
"退料入库"
,
value
:
"3"
,
},
{
label
:
"其他入库"
,
value
:
"4"
,
},
],
},
{
title
:
"入库仓库"
,
search
:
false
,
dataIndex
:
"storeName"
,
key
:
"storeId"
,
fieldProps
:
{
allowClear
:
true
,
showSearch
:
true
,
},
options
:
{
database
:
()
=>
doFetch
({
url
:
"/ngic-auth/sysStore/selectionBox"
,
params
:
{
factoryIdList
:
[]
},
}),
params
:
{},
},
valueType
:
"select"
,
},
{
title
:
"备注"
,
dataIndex
:
"remark"
,
key
:
"remark"
,
search
:
false
,
},
{
title
:
"创建人"
,
dataIndex
:
"createUserName"
,
search
:
false
,
key
:
"createUserName"
,
},
{
title
:
"创建时间"
,
dataIndex
:
"createTime"
,
key
:
"createTime"
,
valueType
:
"dateRange"
,
formItemProps
:
{
name
:
"createTimeList"
,
},
},
{
title
:
"状态"
,
dataIndex
:
"statusName"
,
search
:
false
,
key
:
"status"
,
valueType
:
"select"
,
options
:
[
{
label
:
"待分配"
,
value
:
"5"
,
},
{
label
:
"待执行"
,
value
:
"6"
,
},
{
label
:
"执行中"
,
value
:
"7"
,
},
],
},
{
title
:
"操作"
,
valueType
:
"option"
,
width
:
240
,
render
:
(
text
,
record
,
_
,
action
)
=>
{
return
[
getPrem
(
"equipmentCustomer_save"
,
action
,
"上架采集"
,
async
()
=>
{
let
extra
=
defaultFields
.
doinsert
(
record
.
id
,
record
.
storeId
);
setdrawprops
((
s
)
=>
({
...
s
,
visible
:
true
,
//查看详情 props
val
:
"detail"
,
title
:
`上架采集`
,
totalPath
:
"/ngic-workmanship/wmsMaterieInstore/getInStoreInfoById"
,
totalParams
:
{
id
:
record
.
id
},
extra
:
null
,
...
extra
,
}));
setInitialState
((
s
)
=>
{
return
{
...
s
,
submit
:
{},
};
});
}
),
getPrem
(
"equipmentCustomer_deleteById"
,
action
,
"关单"
,
null
,
{
title
:
"确认关单?"
,
onConfirm
:
()
=>
{
doFetch
({
url
:
"/ngic-workmanship/wmsMaterieInstore/close"
,
params
:
{
id
:
record
.
id
},
}).
then
((
res
)
=>
{
if
(
res
.
code
==
"0000"
)
{
reload
();
}
});
},
}),
record
?.
status
===
7
?
null
:
getPrem
(
"equipmentCustomer_deleteById"
,
action
,
"删除"
,
null
,
{
title
:
"确认删除?"
,
onConfirm
:
()
=>
{
doFetch
({
url
:
"/ngic-workmanship/wmsMaterieInstore/deleteById"
,
params
:
{
id
:
record
.
id
},
}).
then
((
res
)
=>
{
if
(
res
.
code
==
"0000"
)
{
reload
();
}
});
},
}
),
];
},
},
];
}
else
{
return
[
{
title
:
"入库单号"
,
dataIndex
:
"materieInstoreNo"
,
key
:
"materieInstoreNo"
,
render
:
(
dom
,
record
)
=>
{
return
(
<
a
onClick=
{
()
=>
{
setdrawprops
((
s
)
=>
({
...
s
,
visible
:
true
,
//查看详情 props
val
:
"detail"
,
title
:
`查看详情`
,
...
defaultFields
?.
detail
,
totalPath
:
"/ngic-workmanship/wmsMaterieInstoreHis/getInStoreInfoById"
,
totalParams
:
{
id
:
record
.
id
},
extra
:
null
,
}));
}
}
>
{
dom
}
</
a
>
);
},
},
{
title
:
"入库类型"
,
dataIndex
:
"instoreTypeName"
,
search
:
false
,
key
:
"instoreType"
,
valueType
:
"select"
,
options
:
[
{
label
:
"采购入库"
,
value
:
"1"
,
},
{
label
:
"生产入库"
,
value
:
"2"
,
},
{
label
:
"退料入库"
,
value
:
"3"
,
},
{
label
:
"其他入库"
,
value
:
"4"
,
},
],
},
{
title
:
"入库仓库"
,
search
:
false
,
dataIndex
:
"storeName"
,
key
:
"storeId"
,
fieldProps
:
{
allowClear
:
true
,
showSearch
:
true
,
},
options
:
{
database
:
()
=>
doFetch
({
url
:
"/ngic-auth/sysStore/selectionBox"
,
params
:
{
factoryIdList
:
[]
},
}),
params
:
{},
},
valueType
:
"select"
,
},
{
title
:
"备注"
,
dataIndex
:
"remark"
,
key
:
"remark"
,
search
:
false
,
},
{
search
:
false
,
title
:
"创建人"
,
dataIndex
:
"createUserName"
,
key
:
"createUserName"
,
},
{
title
:
"创建时间"
,
dataIndex
:
"createTime"
,
key
:
"createTime"
,
valueType
:
"dateRange"
,
formItemProps
:
{
name
:
"createTimeList"
,
},
},
{
title
:
"完成时间"
,
dataIndex
:
"finishTime"
,
key
:
"finishTime"
,
valueType
:
"dateRange"
,
formItemProps
:
{
name
:
"finishTimeList"
,
},
},
{
title
:
"状态"
,
dataIndex
:
"statusName"
,
search
:
false
,
key
:
"status"
,
valueType
:
"select"
,
options
:
[
{
label
:
"已上架"
,
value
:
"2"
,
},
{
label
:
"已关单"
,
value
:
"4"
,
},
],
},
];
}
},
[
activeTabKey
]);
const
tableprops
=
{
...
props
,
pageextra
:
activeTabKey
==
"1"
?
(
<
Button
type=
"primary"
onClick=
{
(
e
)
=>
{
setdrawprops
((
s
)
=>
({
...
s
,
visible
:
true
,
title
:
itemz
[
"four"
],
fields
:
defaultFields
[
"four"
],
instoreType
:
keytoval
[
"four"
],
val
:
"add"
,
//类型
extra
:
null
,
}));
}
}
>
新增
</
Button
>
)
:
(
"none"
),
tabList
:
[
{
tab
:
"未完成"
,
key
:
"1"
,
},
{
tab
:
"已完成"
,
key
:
"2"
,
},
],
activeTabKey
,
onTabChange
,
columns
,
path
:
activeTabKey
==
"1"
?
"/ngic-workmanship/wmsMaterieInstore/queryOtherList"
:
"/ngic-workmanship/wmsMaterieInstoreHis/queryOtherList"
,
};
return
(
<
div
>
<
div
style=
{
{
position
:
"fixed"
,
bottom
:
-
100000
}
}
>
<
PrintDom
ref=
{
printRef
}
{
...
drawprops
}
/>
</
div
>
<
div
style=
{
{
display
:
"none"
}
}
>
<
PrintQrCode
ref=
{
mutiPrintRef
}
selectedItems=
{
selectKeys
}
/>
</
div
>
<
AutoTable
{
...
tableprops
}
actionRef=
{
actionRef
}
onRef=
{
(
node
)
=>
(
ChildRef
=
node
)
}
></
AutoTable
>
<
DrawInitForm
{
...
drawprops
}
submitData=
{
async
(
value
)
=>
{
if
(
drawprops
.
val
==
"add"
)
{
const
data
=
JSON
.
parse
(
JSON
.
stringify
(
value
));
const
materialList
=
data
?.
materialList
?.
map
((
it
)
=>
{
return
{
labelId
:
it
?.
labelId
,
};
});
let
res
=
await
doFetch
({
url
:
"/ngic-workmanship/wmsMaterieInstore/saveOtherInstore"
,
params
:
{
materieInstoreNo
:
data
.
materieInstoreNo
,
storeId
:
data
.
storeId
,
remark
:
data
.
remark
,
materialList
:
materialList
,
},
});
if
(
res
.
code
==
"0000"
)
{
reload
();
}
:
{}
}
visible=
{
open
}
onClose=
{
()
=>
{
setopen
(
false
);
}
}
></
DrawInitForm
>
</>
reload=
{
reload
}
/>
</
div
>
);
}
export
default
Otheri
nstore
;
export
default
I
nstore
;
src/pages/insertstore/Otherinstore/index_c.jsx
View file @
5075c95d
...
...
@@ -340,6 +340,7 @@ function Instore(props) {
key
:
"labelId"
,
valueType
:
"select"
,
width
:
180
,
params
:
{},
request
:
async
(
params
)
=>
{
let
res
=
await
doFetch
({
url
:
"/ngic-workmanship/wmsMaterieLabel/selectionByStatus"
,
...
...
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