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
9d98a45c
Commit
9d98a45c
authored
Jul 27, 2023
by
krysent
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
标签打印
parent
97fa0889
Changes
16
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
2156 additions
and
301 deletions
+2156
-301
routes.js
config/routes.js
+6
-1
index.jsx
src/pages/Printer/index.jsx
+50
-8
index.jsx
src/pages/craft/Materiel/index.jsx
+61
-14
index.jsx
src/pages/findstore/Storesearch/index.jsx
+8
-8
indexcopy.jsx
src/pages/findstore/Storesearch/indexcopy.jsx
+73
-72
fields.js
src/pages/outsetstore/Otheroutstore/fields.js
+1000
-0
index.jsx
src/pages/outsetstore/Otheroutstore/index.jsx
+608
-0
index.less
src/pages/outsetstore/Otheroutstore/index.less
+10
-0
printdom.jsx
src/pages/outsetstore/Otheroutstore/printdom.jsx
+206
-0
index.jsx
src/pages/outsetstore/Outstore/index.jsx
+11
-111
printdom.jsx
src/pages/outsetstore/Outstore/printdom.jsx
+4
-1
index.jsx
src/pages/system/Reservoir/index.jsx
+3
-0
index.jsx
src/pages/user/Login/index.jsx
+2
-8
detailTotalCard.js
src/utils/detailTotalCard.js
+25
-25
mymodelhtml.js
src/utils/mymodelhtml.js
+72
-44
printHandle.js
src/utils/printHandle.js
+17
-9
No files found.
config/routes.js
View file @
9d98a45c
...
@@ -38,9 +38,14 @@ export default [
...
@@ -38,9 +38,14 @@ export default [
name
:
"入库管理"
,
name
:
"入库管理"
,
component
:
"./insertstore/Instore"
,
component
:
"./insertstore/Instore"
,
},
},
{
path
:
"/wms/otherOutstore"
,
name
:
"其他出库单"
,
component
:
"./outsetstore/Otheroutstore"
,
},
{
{
path
:
"/wms/outstore"
,
path
:
"/wms/outstore"
,
name
:
"
出库管理
"
,
name
:
"
生产叫料单
"
,
component
:
"./outsetstore/Outstore"
,
component
:
"./outsetstore/Outstore"
,
},
},
{
{
...
...
src/pages/Printer/index.jsx
View file @
9d98a45c
import
React
,
{
useEffect
,
useRef
,
useReducer
,
useState
}
from
"react"
;
import
React
,
{
useEffect
,
useRef
,
useReducer
,
useState
}
from
"react"
;
import
{
Button
,
Tooltip
,
Row
,
Divider
,
Drawer
}
from
"antd"
;
import
{
Button
,
Tooltip
,
Row
,
Divider
,
Drawer
,
Modal
,
Space
,
message
,
}
from
"antd"
;
import
AutoTable
from
"@/components/AutoTable"
;
import
AutoTable
from
"@/components/AutoTable"
;
import
getPrem
from
"@/utils/getPrem"
;
//权限判断fn
import
getPrem
from
"@/utils/getPrem"
;
//权限判断fn
import
{
useRequest
}
from
"umi"
;
import
{
useRequest
}
from
"umi"
;
import
defaultFields
from
"./fields"
;
import
defaultFields
from
"./fields"
;
import
{
doFetch
}
from
"@/utils/doFetch"
;
import
{
doFetch
}
from
"@/utils/doFetch"
;
import
InitForm
from
"@/components/InitForm"
;
import
InitForm
from
"@/components/InitForm"
;
import
Details
from
"@/components/Detail
s"
;
import
{
start
}
from
"@/utils/printHandle.j
s"
;
import
{
stationDetail
}
from
"@/utils/detailTotalCard
"
;
import
{
ExclamationCircleFilled
}
from
"@ant-design/icons
"
;
import
Coltext
from
"@/components/Coltext"
;
const
{
confirm
}
=
Modal
;
const
Station
=
(
props
)
=>
{
const
Station
=
(
props
)
=>
{
let
actionRef
=
useRef
(),
let
actionRef
=
useRef
(),
...
@@ -102,6 +111,7 @@ const Station = (props) => {
...
@@ -102,6 +111,7 @@ const Station = (props) => {
const
[
drawer
,
setDrawer
]
=
useState
({
const
[
drawer
,
setDrawer
]
=
useState
({
visible
:
false
,
visible
:
false
,
});
});
const
[
selectIds
,
setselectIds
]
=
useState
([]);
let
saveData
=
(
values
,
fn
)
=>
{
let
saveData
=
(
values
,
fn
)
=>
{
let
newfields
=
JSON
.
parse
(
JSON
.
stringify
(
values
));
let
newfields
=
JSON
.
parse
(
JSON
.
stringify
(
values
));
...
@@ -114,6 +124,22 @@ const Station = (props) => {
...
@@ -114,6 +124,22 @@ const Station = (props) => {
});
});
};
};
const
showConfirm
=
()
=>
{
confirm
({
title
:
`当前已选择
${
selectIds
?.
length
}
条标签数据,是否全部打印?
`,
icon: <ExclamationCircleFilled />,
width: 500,
onOk() {
start("/ngic-workmanship/wmsMaterieLabel/queryByIds", {
ids: selectIds,
});
},
onCancel() {
console.log("Cancel");
},
});
};
const OptionsBtn = () => {
const OptionsBtn = () => {
return (
return (
<>
<>
...
@@ -129,7 +155,12 @@ const Station = (props) => {
...
@@ -129,7 +155,12 @@ const Station = (props) => {
<Button
<Button
type="primary"
type="primary"
onClick={() => {
onClick={() => {
setDrawer
((
v
)
=>
({
...
v
,
visible
:
true
,
title
:
" 子卷补码"
}));
if (selectIds.length == 0) {
message.destroy();
message.warning("请选择数据!", 2);
return;
}
showConfirm();
}}
}}
>
>
子卷补码
子卷补码
...
@@ -138,6 +169,14 @@ const Station = (props) => {
...
@@ -138,6 +169,14 @@ const Station = (props) => {
);
);
};
};
const rowSelection = {
onChange: (selectedRowKeys, selectedRows) => {
console.log(selectedRowKeys, selectedRows);
setselectIds(selectedRowKeys);
},
preserveSelectedRowKeys:true
};
return (
return (
<div>
<div>
<AutoTable
<AutoTable
...
@@ -147,6 +186,10 @@ const Station = (props) => {
...
@@ -147,6 +186,10 @@ const Station = (props) => {
path="/ngic-workmanship/wmsMaterieLabel/page"
path="/ngic-workmanship/wmsMaterieLabel/page"
actionRef={actionRef}
actionRef={actionRef}
onRef={(node) => (ChildRef = node)}
onRef={(node) => (ChildRef = node)}
rowSelection={{
type: "checkbox",
...rowSelection,
}}
></AutoTable>
></AutoTable>
<Drawer
<Drawer
title={drawer?.title}
title={drawer?.title}
...
@@ -185,7 +228,6 @@ const Station = (props) => {
...
@@ -185,7 +228,6 @@ const Station = (props) => {
保存并打印
保存并打印
</Button>
</Button>
</Drawer>
</Drawer>
</div>
</div>
);
);
};
};
...
...
src/pages/craft/Materiel/index.jsx
View file @
9d98a45c
...
@@ -264,7 +264,7 @@ const Materiel = (props) => {
...
@@ -264,7 +264,7 @@ const Materiel = (props) => {
title
:
"默认库区"
,
title
:
"默认库区"
,
dataIndex
:
"storeAreaName"
,
dataIndex
:
"storeAreaName"
,
key
:
"storeAreaName"
,
key
:
"storeAreaName"
,
search
:
false
search
:
false
,
},
},
{
{
...
@@ -289,7 +289,7 @@ const Materiel = (props) => {
...
@@ -289,7 +289,7 @@ const Materiel = (props) => {
return
[
return
[
getPrem
(
"sysDepartment_save"
,
action
,
"修改"
,
()
=>
{
getPrem
(
"sysDepartment_save"
,
action
,
"修改"
,
()
=>
{
doFetch
({
doFetch
({
url
:
"/ngic-workmanship/pmMaterie/queryById"
,
url
:
"/ngic-workmanship/pmMaterie/query
Detail
ById"
,
params
:
{
id
:
record
.
id
},
params
:
{
id
:
record
.
id
},
}).
then
((
res
)
=>
{
}).
then
((
res
)
=>
{
if
(
res
.
code
==
"0000"
)
{
if
(
res
.
code
==
"0000"
)
{
...
@@ -366,6 +366,38 @@ const Materiel = (props) => {
...
@@ -366,6 +366,38 @@ const Materiel = (props) => {
formRef
formRef
.
validateFields
()
.
validateFields
()
.
then
((
firstValues
)
=>
{
.
then
((
firstValues
)
=>
{
formRefs
.
validateFields
()
.
then
((
secondFields
)
=>
{
let
secondFieldsKeys
=
Object
.
keys
(
secondFields
);
let
materieCharList
=
defaultSpecificFileds
.
map
((
it
)
=>
{
if
(
secondFieldsKeys
.
indexOf
(
it
.
fieldsKey
)
!=
-
1
)
{
it
.
fieldRealValue
=
secondFields
[
it
.
fieldsKey
];
}
const
el
=
{
fieldType
:
it
.
fieldType
,
fieldTypeName
:
it
.
fieldTypeName
,
fieldCondName
:
it
.
fieldCondName
,
fieldCondKey
:
it
.
fieldCondKey
,
optCondName
:
it
.
optCondName
,
optCondKey
:
it
.
optCondKey
,
fieldId
:
it
.
fieldId
,
fieldName
:
it
.
fieldName
,
fieldChar
:
it
.
fieldChar
,
fieldCharName
:
it
.
fieldCharName
,
fieldCharValue
:
it
.
fieldCharValue
,
fieldRealValue
:
it
.
fieldRealValue
,
valueList
:
it
.
valueList
,
};
return
el
;
});
let
materieProductUnitList
=
firstValues
?.
materieProductUnitList
?.
map
((
it
)
=>
{
return
{
productionUnit
:
it
.
productionUnit
,
conversionRate
:
it
.
conversionRate
,
};
});
for
(
let
i
in
firstValues
)
{
for
(
let
i
in
firstValues
)
{
if
(
firstValues
[
i
]
===
undefined
)
{
if
(
firstValues
[
i
]
===
undefined
)
{
firstValues
[
i
]
=
null
;
firstValues
[
i
]
=
null
;
...
@@ -373,13 +405,16 @@ const Materiel = (props) => {
...
@@ -373,13 +405,16 @@ const Materiel = (props) => {
}
}
params
=
{
params
=
{
...
firstValues
,
...
firstValues
,
materieCharList
,
...
difrid
,
...
difrid
,
materieProductUnitList
,
};
};
console
.
log
(
params
);
url
=
"/ngic-workmanship/pmMaterie/save"
;
url
=
"/ngic-workmanship/pmMaterie/save"
;
run
({
url
,
params
});
run
({
url
,
params
});
})
})
.
catch
((
error
)
=>
{});
.
catch
((
error
)
=>
{});
})
.
catch
((
error
)
=>
{});
}
else
{
}
else
{
url
=
"/ngic-workmanship/pmMaterie/saveMaterieBom"
;
url
=
"/ngic-workmanship/pmMaterie/saveMaterieBom"
;
let
firstValues
=
formRef
?.
getFieldsValue
();
let
firstValues
=
formRef
?.
getFieldsValue
();
...
@@ -524,6 +559,7 @@ const Materiel = (props) => {
...
@@ -524,6 +559,7 @@ const Materiel = (props) => {
/>
/>
</
div
>
</
div
>
</
AutoTable
>
</
AutoTable
>
<
Drawer
<
Drawer
title=
{
iftype
.
title
}
title=
{
iftype
.
title
}
visible=
{
vs
}
visible=
{
vs
}
...
@@ -544,6 +580,17 @@ const Materiel = (props) => {
...
@@ -544,6 +580,17 @@ const Materiel = (props) => {
return
null
;
return
null
;
}
}
}
}
></
InitForm
>
></
InitForm
>
<
div
style=
{
{
fontSize
:
16
,
fontWeight
:
"bold"
,
marginBottom
:
15
}
}
>
特定属性
</
div
>
<
InitForm
formRef=
{
formRefs
}
fields=
{
specificFileds
}
onChange=
{
(
changedValues
,
allValues
)
=>
{}
}
actions=
{
()
=>
{
return
null
;
}
}
></
InitForm
>
</>
</>
}
}
<
Button
<
Button
...
...
src/pages/findstore/Storesearch/index.jsx
View file @
9d98a45c
...
@@ -145,14 +145,14 @@ function Instore(props) {
...
@@ -145,14 +145,14 @@ function Instore(props) {
key
:
"length"
,
key
:
"length"
,
search
:
false
,
search
:
false
,
},
},
{
//
{
title
:
"库存信息"
,
//
title: "库存信息",
dataIndex
:
"option"
,
//
dataIndex: "option",
key
:
"option"
,
//
key: "option",
valueType
:
"option"
,
//
valueType: "option",
width
:
100
,
//
width: 100,
render
:
(
text
,
row
,
_
,
action
)
=>
extraAction
(
text
,
row
,
_
,
action
),
//
render: (text, row, _, action) => extraAction(text, row, _, action),
},
//
},
];
];
return
(
return
(
...
...
src/pages/findstore/Storesearch/indexcopy.jsx
View file @
9d98a45c
...
@@ -52,78 +52,79 @@ const Storesearch = (props) => {
...
@@ -52,78 +52,79 @@ const Storesearch = (props) => {
"dataIndex"
:
"productionUnitName"
,
"dataIndex"
:
"productionUnitName"
,
"key"
:
"productionUnitName"
,
"key"
:
"productionUnitName"
,
"search"
:
false
"search"
:
false
},
{
"title"
:
"库存信息"
,
"valueType"
:
"option"
,
"width"
:
88
,
"search"
:
false
,
"render"
:
(
dom
,
record
)
=>
{
return
<
a
onClick=
{
()
=>
{
Modal
.
info
({
title
:
"库存信息"
,
width
:
1200
,
okText
:
"知道了"
,
content
:
(
<
div
>
<
AutoTable
withCard=
{
false
}
columns=
{
[
{
"title"
:
"仓库编号"
,
"dataIndex"
:
"storeCode"
,
"key"
:
"storeCode"
,
},
{
"title"
:
"仓库名称"
,
"dataIndex"
:
"storeName"
,
"key"
:
"storeName"
},
{
"title"
:
"库位名称"
,
"dataIndex"
:
"storePositionName"
,
"key"
:
"storePositionName"
},
{
"title"
:
"批次号/SN号"
,
"dataIndex"
:
"materieControlNo"
,
"key"
:
"materieControlNo"
},
{
"title"
:
"供应商编号"
,
"dataIndex"
:
"supplierNo"
,
"key"
:
"supplierNo"
},
{
"title"
:
"供应商名称"
,
"dataIndex"
:
"supplierName"
,
"key"
:
"supplierName"
},
},
{
// {
"title"
:
"库存数量"
,
// "title": "库存信息",
"dataIndex"
:
"stroeNum"
,
// "valueType": "option",
"key"
:
"stroeNum"
,
// "width": 88,
search
:
false
// "search": false,
},
// "render": (dom, record) => {
]
}
// return <a
path=
"/ngic-workmanship/wmsMaterieStore/queryPositionList"
// onClick={() => {
extraparams=
{
{
// Modal.info({
level
:
select
.
level
??
0
,
// title: "库存信息",
key
:
select
.
selectedKeys
??
""
,
// width: 1200,
materieId
:
record
.
materieId
// okText: "知道了",
}
}
// content: (
>
// <div>
// <AutoTable
</
AutoTable
>
// withCard={false}
</
div
>
// columns={[
)
// {
})
// "title": "仓库编号",
}
}
// "dataIndex": "storeCode",
>
// "key": "storeCode",
查看
// },
</
a
>
// {
}
// "title": "仓库名称",
}
// "dataIndex": "storeName",
// "key": "storeName"
// },
// {
// "title": "库位名称",
// "dataIndex": "storePositionName",
// "key": "storePositionName"
// },
// {
// "title": "批次号/SN号",
// "dataIndex": "materieControlNo",
// "key": "materieControlNo"
// },
// {
// "title": "供应商编号",
// "dataIndex": "supplierNo",
// "key": "supplierNo"
// },
// {
// "title": "供应商名称",
// "dataIndex": "supplierName",
// "key": "supplierName"
// },
// {
// "title": "库存数量",
// "dataIndex": "stroeNum",
// "key": "stroeNum",
// search:false
// },
// ]}
// path="/ngic-workmanship/wmsMaterieStore/queryPositionList"
// extraparams={{
// level: select.level ?? 0,
// key: select.selectedKeys ?? "",
// materieId: record.materieId
// }}
// >
// </AutoTable>
// </div>
// )
// })
// }}
// >
// 查看
// </a>
// }
// }
]
]
const
tableprops
=
{
const
tableprops
=
{
...
...
src/pages/outsetstore/Otheroutstore/fields.js
0 → 100644
View file @
9d98a45c
import
{
factorySelect
,
shopSelectByFactory
}
from
"@/services/system"
;
import
{
doFetch
}
from
"@/utils/doFetch"
;
import
{
Button
,
Table
}
from
"antd"
;
import
EditTable
from
"@/components/EditTable"
;
import
{
useEffect
,
useState
}
from
'react'
import
{
useModel
}
from
'umi'
const
EditUpload
=
({
record
,
fid
,
storeId
})
=>
{
const
[
value
,
setvalue
]
=
useState
({
[
record
.
id
]:
record
.
downloadList
});
const
{
initialState
,
setInitialState
}
=
useModel
(
"@@initialState"
);
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
,
downloadList
:
newArr
.
map
(
its
=>
{
return
{
storePositionId
:
its
?.
storePositionId
,
outstroeNum
:
its
?.
outstroeNum
,
stockNum
:
its
?.
stockNum
,
remark
:
its
?.
remark
,
materieControlNo
:
its
?.
materieControlNo
}
})
}
})
??
[];
setInitialState
(
s
=>
{
return
({
...
s
,
submits
:
{
id
:
fid
,
materialList
:
(
s
.
submits
&&
s
?.
submits
?.
materialList
)
?
s
?.
submits
?.
materialList
?.
filter
(
it
=>
newlist
.
map
(
item
=>
item
.
id
).
indexOf
(
it
.
id
)
==
-
1
)?.
concat
(
newlist
)?.
filter
(
it
=>
it
.
downloadList
?.
length
>
0
)
:
[]
}
})
})
},
[
value
])
return
<
EditTable
rowKey
=
"id"
maxLength
=
{
1000
}
linkconfig
=
{{
urlchangeval
:
{
database
:
(
params
)
=>
doFetch
({
url
:
"/ngic-workmanship/wmsMaterieStore/queryStoreOne"
,
params
}),
params
:
{
"storePositionId"
:
"linked"
,
materieControlNo
:
"linked"
},
effectresult
:
{
"supplierNo"
:
"supplierNo"
,
"supplierName"
:
"supplierName"
,
"stockNum"
:
"stroeNum"
,
"materieControlNo"
:
"materieControlNo"
}
}
}}
style
=
{{
marginLeft
:
48
}}
columns
=
{[
{
title
:
"库位名称"
,
dataIndex
:
"storePositionName"
,
key
:
"storePositionId"
,
search
:
false
,
valueType
:
"select"
,
request
:
async
(
params
)
=>
{
let
res
=
await
doFetch
({
url
:
"/ngic-auth/sysStorePosition/queryByStoreId/selection"
,
params
:
{
storeId
:
params
.
storeId
}
});
return
res
?.
data
?.
dataList
},
editable
:
(
text
,
record
,
index
)
=>
{
return
!
record
.
materieOutstoreDetailId
},
params
:
{
storeId
:
storeId
},
"formItemProps"
:
()
=>
{
return
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}],
};
},
},
{
title
:
"批次号/SN号"
,
dataIndex
:
"materieControlNo"
,
key
:
"materieControlNo"
,
search
:
false
,
valueType
:
"select"
,
request
:
async
(
params
)
=>
{
let
res
=
await
doFetch
({
url
:
"/ngic-workmanship/wmsMaterieStore/queryPCList"
,
params
:
{
materieId
:
params
.
materieId
,
storePositionId
:
params
.
storePositionId
}
});
return
res
?.
data
?.
dataList
},
editable
:
(
text
,
record
,
index
)
=>
{
return
!
record
.
materieOutstoreDetailId
},
params
:
(
row
)
=>
{
return
{
materieId
:
record
.
materieId
,
storePositionId
:
row
.
storePositionId
}
},
width
:
200
},
{
title
:
"下架数量"
,
dataIndex
:
"outstroeNum"
,
key
:
"outstroeNum"
,
search
:
false
,
editable
:
(
text
,
record
,
index
)
=>
{
return
!
record
.
materieOutstoreDetailId
},
valueType
:
"digit"
},
{
title
:
"供应商编号"
,
dataIndex
:
"supplierNo"
,
key
:
"supplierNo"
,
search
:
false
,
readonly
:
true
},
{
title
:
"供应商名称"
,
dataIndex
:
"supplierName"
,
key
:
"supplierName"
,
search
:
false
,
readonly
:
true
},
{
title
:
"库存数量"
,
dataIndex
:
"stockNum"
,
key
:
"stockNum"
,
search
:
false
,
"readonly"
:
true
,
},
{
title
:
"备注"
,
dataIndex
:
"remark"
,
key
:
"remark"
,
search
:
false
,
editable
:
(
text
,
record
,
index
)
=>
{
return
!
record
.
materieOutstoreDetailId
}
},
{
title
:
"操作"
,
valueType
:
"option"
,
width
:
70
,
render
:
(
text
,
record
,
_
,
action
)
=>
[
<
a
key
=
"delete"
onClick
=
{()
=>
{
}}
>
删除
<
/a>
,
],
}
]}
value
=
{
value
[
record
.
id
]}
onChange
=
{(
vals
)
=>
{
setvalue
(
s
=>
({
...
s
,
[
record
.
id
]:
vals
}));
}}
pagination
=
{
false
}
/
>
}
const
one
=
{
"materieOutstoreNo"
:
{
"value"
:
null
,
"type"
:
"input"
,
"title"
:
"出库单号"
,
"name"
:
[
"materieOutstoreNo"
],
"required"
:
false
,
"placeholder"
:
"不填写系统自动生成"
},
"storeId"
:
{
"value"
:
null
,
"type"
:
"select"
,
"title"
:
"出库仓库"
,
"name"
:
[
"storeId"
],
"required"
:
true
,
"options"
:
{
database
:
()
=>
doFetch
({
url
:
"/ngic-auth/sysStore/selectionBox"
,
params
:
{
factoryIdList
:
[]
}
}),
params
:
{}
},
"linked"
:
true
},
"businessNo"
:
{
"value"
:
null
,
"type"
:
"input"
,
"title"
:
"相关单号"
,
"name"
:
[
"businessNo"
],
"required"
:
false
},
"remark"
:
{
"value"
:
null
,
"type"
:
"textarea"
,
"title"
:
"备注"
,
"name"
:
[
"remark"
],
"required"
:
false
,
"col"
:
{
"span"
:
24
}
},
"materialList"
:
{
value
:
[],
title
:
"物料信息"
,
type
:
"table"
,
col
:
{
span
:
24
},
name
:
[
"materialList"
],
required
:
true
,
linkconfig
:
{
urlchangeval
:
{
//根据url接口 改变某个value
database
:
(
params
)
=>
doFetch
({
url
:
"/ngic-workmanship/wmsMaterieStockStore/queryStoreOne"
,
params
}),
params
:
{
"materieId"
:
"linked"
},
effectresult
:
{
"productionUnit"
:
"productionUnit"
,
//key 为列表更新值 value为response 返回值
"productionUnitName"
:
"productionUnitName"
,
"usableNum"
:
"usableNum"
,
"outstroeNum"
:
"outstroeNum"
}
}
},
columns
:
[
{
"title"
:
<
span
>
物料编码
-
名称
<
b
style
=
{{
color
:
"red"
}}
>*<
/b></
span
>
,
"dataIndex"
:
"materieId"
,
"key"
:
"materieId"
,
"valueType"
:
"select"
,
"request"
:
async
()
=>
{
let
res
=
await
doFetch
({
url
:
"/ngic-workmanship/pmMaterie/query/selectbox"
,
params
:
{}
})
return
res
?.
data
?.
dataList
},
"fieldProps"
:
{
allowClear
:
true
,
showSearch
:
true
},
"formItemProps"
:
()
=>
{
return
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}],
};
},
editable
:
true
},
{
"title"
:
<
span
>
出库数量
<
b
style
=
{{
color
:
"red"
}}
>*<
/b></
span
>
,
"dataIndex"
:
"outstroeNum"
,
"key"
:
"outstroeNum"
,
"formItemProps"
:
()
=>
{
return
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}],
};
},
valueType
:
"digit"
,
editable
:
true
},
{
"title"
:
"可用库存"
,
"dataIndex"
:
"usableNum"
,
"key"
:
"usableNum"
,
"readonly"
:
'usableNum'
},
{
"title"
:
"库存单位"
,
"dataIndex"
:
"productionUnitName"
,
"key"
:
"productionUnitName"
,
"readonly"
:
'productionUnitName'
},
{
title
:
"操作"
,
valueType
:
"option"
,
width
:
70
,
render
:
(
text
,
record
,
_
,
action
)
=>
[
<
a
key
=
"delete"
onClick
=
{()
=>
{
}}
>
删除
<
/a>
,
],
},
],
rowKey
:
"id"
,
}
},
two
=
{
"materieOutstoreNo"
:
{
"value"
:
null
,
"type"
:
"input"
,
"title"
:
"出库单号"
,
"name"
:
[
"materieOutstoreNo"
],
"required"
:
false
,
placeholder
:
"不填写系统自动生成"
},
"storeId"
:
{
"value"
:
null
,
"type"
:
"select"
,
"title"
:
"出库仓库"
,
"name"
:
[
"storeId"
],
"required"
:
true
,
"options"
:
{
database
:
()
=>
doFetch
({
url
:
"/ngic-auth/sysStore/selectionBox"
,
params
:
{
factoryIdList
:
[]
}
}),
params
:
{}
},
},
"businessNo"
:
{
"value"
:
null
,
"type"
:
"input"
,
"title"
:
"相关单号"
,
"name"
:
[
"businessNo"
],
"required"
:
false
},
"remark"
:
{
"value"
:
null
,
"type"
:
"textarea"
,
"title"
:
"备注"
,
"name"
:
[
"remark"
],
"required"
:
false
,
"col"
:
{
"span"
:
24
}
},
"materialList"
:
{
value
:
[],
title
:
"物料信息"
,
type
:
"table"
,
col
:
{
span
:
24
},
name
:
[
"materialList"
],
required
:
true
,
linkconfig
:
{
urlchangeval
:
{
//根据url接口 改变某个value
database
:
(
params
)
=>
doFetch
({
url
:
"/ngic-workmanship/wmsMaterieStockStore/queryStoreOne"
,
params
}),
params
:
{
"materieId"
:
"linked"
},
effectresult
:
{
"productionUnit"
:
"productionUnit"
,
//key 为列表更新值 value为response 返回值
"productionUnitName"
:
"productionUnitName"
,
"usableNum"
:
"usableNum"
,
"outstroeNum"
:
"outstroeNum"
}
}
},
columns
:
[
{
"title"
:
<
span
>
物料编码
-
名称
<
b
style
=
{{
color
:
"red"
}}
>*<
/b></
span
>
,
"dataIndex"
:
"materieId"
,
"key"
:
"materieId"
,
"valueType"
:
"select"
,
"request"
:
async
()
=>
{
let
res
=
await
doFetch
({
url
:
"/ngic-workmanship/pmMaterie/query/selectbox"
,
params
:
{}
})
return
res
?.
data
?.
dataList
},
"fieldProps"
:
{
allowClear
:
true
,
showSearch
:
true
},
"formItemProps"
:
()
=>
{
return
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}],
};
},
},
{
"title"
:
<
span
>
出库数量
<
b
style
=
{{
color
:
"red"
}}
>*<
/b></
span
>
,
"dataIndex"
:
"outstroeNum"
,
"key"
:
"outstroeNum"
,
"formItemProps"
:
()
=>
{
return
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}],
};
},
valueType
:
"digit"
},
{
"title"
:
"可用库存"
,
"dataIndex"
:
"usableNum"
,
"key"
:
"usableNum"
,
"readonly"
:
'usableNum'
},
{
"title"
:
"库存单位"
,
"dataIndex"
:
"productionUnitName"
,
"key"
:
"productionUnitName"
,
"readonly"
:
'productionUnitName'
},
{
title
:
"操作"
,
valueType
:
"option"
,
width
:
70
,
render
:
(
text
,
record
,
_
,
action
)
=>
[
<
a
key
=
"delete"
onClick
=
{()
=>
{
}}
>
删除
<
/a>
,
],
},
],
rowKey
:
"id"
,
}
},
three
=
{
"materieOutstoreNo"
:
{
"value"
:
null
,
"type"
:
"input"
,
"title"
:
"出库单号"
,
"name"
:
[
"materieOutstoreNo"
],
"required"
:
false
,
placeholder
:
"不填写系统自动生成"
},
"storeId"
:
{
"value"
:
null
,
"type"
:
"select"
,
"title"
:
"出库仓库"
,
"name"
:
[
"storeId"
],
"required"
:
true
,
"options"
:
{
database
:
()
=>
doFetch
({
url
:
"/ngic-auth/sysStore/selectionBox"
,
params
:
{
factoryIdList
:
[]
}
}),
params
:
{}
},
},
"businessNo"
:
{
"value"
:
null
,
"type"
:
"input"
,
"title"
:
"相关单号"
,
"name"
:
[
"businessNo"
],
"required"
:
false
},
"remark"
:
{
"value"
:
null
,
"type"
:
"textarea"
,
"title"
:
"备注"
,
"name"
:
[
"remark"
],
"required"
:
false
,
"col"
:
{
"span"
:
24
}
},
"materialList"
:
{
value
:
[],
title
:
"物料信息"
,
type
:
"table"
,
col
:
{
span
:
24
},
name
:
[
"materialList"
],
required
:
true
,
linkconfig
:
{
urlchangeval
:
{
//根据url接口 改变某个value
database
:
(
params
)
=>
doFetch
({
url
:
"/ngic-workmanship/wmsMaterieStockStore/queryStoreOne"
,
params
}),
params
:
{
"materieId"
:
"linked"
},
effectresult
:
{
"productionUnit"
:
"productionUnit"
,
//key 为列表更新值 value为response 返回值
"productionUnitName"
:
"productionUnitName"
,
"usableNum"
:
"usableNum"
,
"outstroeNum"
:
"outstroeNum"
}
}
},
columns
:
[
{
"title"
:
<
span
>
物料编码
-
名称
<
b
style
=
{{
color
:
"red"
}}
>*<
/b></
span
>
,
"dataIndex"
:
"materieId"
,
"key"
:
"materieId"
,
"valueType"
:
"select"
,
"request"
:
async
()
=>
{
let
res
=
await
doFetch
({
url
:
"/ngic-workmanship/pmMaterie/query/selectbox"
,
params
:
{}
})
return
res
?.
data
?.
dataList
},
"fieldProps"
:
{
allowClear
:
true
,
showSearch
:
true
},
"formItemProps"
:
()
=>
{
return
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}],
};
},
},
{
"title"
:
<
span
>
出库数量
<
b
style
=
{{
color
:
"red"
}}
>*<
/b></
span
>
,
"dataIndex"
:
"outstroeNum"
,
"key"
:
"outstroeNum"
,
"formItemProps"
:
()
=>
{
return
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}],
};
},
valueType
:
"digit"
},
{
"title"
:
"可用库存"
,
"dataIndex"
:
"usableNum"
,
"key"
:
"usableNum"
,
"readonly"
:
'usableNum'
},
{
"title"
:
"库存单位"
,
"dataIndex"
:
"productionUnitName"
,
"key"
:
"productionUnitName"
,
"readonly"
:
'productionUnitName'
},
{
title
:
"操作"
,
valueType
:
"option"
,
width
:
70
,
render
:
(
text
,
record
,
_
,
action
)
=>
[
<
a
key
=
"delete"
onClick
=
{()
=>
{
}}
>
删除
<
/a>
,
],
},
],
rowKey
:
"id"
,
}
},
four
=
{
"materieOutstoreNo"
:
{
"value"
:
null
,
"type"
:
"input"
,
"title"
:
"出库单号"
,
"name"
:
[
"materieOutstoreNo"
],
"required"
:
false
,
placeholder
:
"不填写系统自动生成"
},
"storeId"
:
{
"value"
:
null
,
"type"
:
"select"
,
"title"
:
"出库仓库"
,
"name"
:
[
"storeId"
],
"required"
:
true
,
"options"
:
{
database
:
()
=>
doFetch
({
url
:
"/ngic-auth/sysStore/selectionBox"
,
params
:
{
factoryIdList
:
[]
}
}),
params
:
{}
},
},
"businessNo"
:
{
"value"
:
null
,
"type"
:
"input"
,
"title"
:
"相关单号"
,
"name"
:
[
"businessNo"
],
"required"
:
false
},
"remark"
:
{
"value"
:
null
,
"type"
:
"textarea"
,
"title"
:
"备注"
,
"name"
:
[
"remark"
],
"required"
:
false
,
"col"
:
{
"span"
:
24
}
},
"materialList"
:
{
value
:
[],
title
:
"物料信息"
,
type
:
"table"
,
col
:
{
span
:
24
},
name
:
[
"materialList"
],
required
:
true
,
linkconfig
:
{
urlchangeval
:
{
//根据url接口 改变某个value
database
:
(
params
)
=>
doFetch
({
url
:
"/ngic-workmanship/wmsMaterieStockStore/queryStoreOne"
,
params
}),
params
:
{
"materieId"
:
"linked"
},
effectresult
:
{
"productionUnit"
:
"productionUnit"
,
//key 为列表更新值 value为response 返回值
"productionUnitName"
:
"productionUnitName"
,
"usableNum"
:
"usableNum"
,
"outstroeNum"
:
"outstroeNum"
}
}
},
columns
:
[
{
"title"
:
<
span
>
物料编码
-
名称
<
b
style
=
{{
color
:
"red"
}}
>*<
/b></
span
>
,
"dataIndex"
:
"materieId"
,
"key"
:
"materieId"
,
"valueType"
:
"select"
,
"request"
:
async
()
=>
{
let
res
=
await
doFetch
({
url
:
"/ngic-workmanship/pmMaterie/query/selectbox"
,
params
:
{}
})
return
res
?.
data
?.
dataList
},
"fieldProps"
:
{
allowClear
:
true
,
showSearch
:
true
},
"formItemProps"
:
()
=>
{
return
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}],
};
},
},
{
"title"
:
<
span
>
出库数量
<
b
style
=
{{
color
:
"red"
}}
>*<
/b></
span
>
,
"dataIndex"
:
"outstroeNum"
,
"key"
:
"outstroeNum"
,
"formItemProps"
:
()
=>
{
return
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}],
};
},
valueType
:
"digit"
},
{
"title"
:
"可用库存"
,
"dataIndex"
:
"usableNum"
,
"key"
:
"usableNum"
,
"readonly"
:
'usableNum'
},
{
"title"
:
"库存单位"
,
"dataIndex"
:
"productionUnitName"
,
"key"
:
"productionUnitName"
,
"readonly"
:
'productionUnitName'
},
{
title
:
"操作"
,
valueType
:
"option"
,
width
:
70
,
render
:
(
text
,
record
,
_
,
action
)
=>
[
<
a
key
=
"delete"
onClick
=
{()
=>
{
}}
>
删除
<
/a>
,
],
},
],
rowKey
:
"id"
,
}
},
detail
=
(
setselected
,
dom
)
=>
({
totalCard
:
[
//物料详情
{
cardTitle
:
"基本信息"
,
itemData
:
[
{
title
:
"出库单号"
,
key
:
"materieOutstoreNo"
,
},
{
title
:
"出库类型"
,
key
:
"outstoreTypeName"
,
},
{
title
:
"出库仓库"
,
key
:
"storeName"
,
},
{
title
:
"相关单号"
,
key
:
"businessNo"
,
},
{
title
:
"创建人"
,
key
:
"createUserName"
,
},
{
title
:
"创建时间"
,
key
:
"createTime"
,
},
{
title
:
"状态"
,
key
:
"statusName"
,
},
{
title
:
"完成时间"
,
key
:
"finishTime"
,
},
{
title
:
"备注"
,
key
:
"remark"
,
noshow
:
"100%"
,
},
{
title
:
"工单条形码"
,
key
:
"qrCodeUrl"
,
type
:
"img"
,
noshow
:
true
,
width
:
100
,
},
],
},
{
cardTitle
:
"物料信息列表"
,
extraContent
:
dom
,
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
:
"outstroeNum"
,
key
:
"outstroeNum"
,
search
:
false
,
},
{
title
:
"库存单位"
,
dataIndex
:
"productionUnitName"
,
key
:
"productionUnitName"
,
search
:
false
,
},
{
title
:
"未下架数量"
,
dataIndex
:
"remainderNums"
,
key
:
"remainderNums"
,
search
:
false
,
},
],
pagination
:
"false"
,
rowKey
:
"id"
,
expandable
:
{
expandedRowRender
:
record
=>
<
Table
style
=
{{
marginLeft
:
48
}}
columns
=
{[
{
title
:
"库位名称"
,
dataIndex
:
"storePositionName"
,
key
:
"storePositionName"
,
search
:
false
,
"formItemProps"
:
()
=>
{
return
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}],
};
},
},
{
title
:
"批次号/SN号"
,
dataIndex
:
"materieControlNo"
,
key
:
"materieControlNo"
,
search
:
false
,
},
{
title
:
"供应商编号-名称"
,
dataIndex
:
"supplierNo"
,
key
:
"supplierNo"
,
search
:
false
,
render
:
(
dom
,
row
)
=>
{
return
(
row
?.
supplierNo
??
''
)
+
" - "
+
(
row
?.
supplierName
??
''
)
}
},
{
title
:
"下架数量"
,
dataIndex
:
"outstroeNum"
,
key
:
"outstroeNum"
,
search
:
false
,
}
]}
dataSource
=
{
record
.
downloadList
}
pagination
=
{
false
}
/>
,
},
rowSelection
:
{
onChange
:
(
selectedRowKeys
,
selectedRows
)
=>
{
setselected
(
selectedRows
)
},
}
},
],
},
{
cardTitle
:
"强制关单信息"
,
itemData
:
[
{
title
:
"关单人"
,
key
:
"closeUserName"
,
},
{
title
:
"关单时间"
,
key
:
"closeTime"
,
}
],
},
{
cardTitle
:
"下架明细"
,
noPrint
:
true
,
itemData
:
[
{
key
:
"materialDownloadList"
,
type
:
"table"
,
col
:
{
span
:
24
},
columns
:
[
{
title
:
"物料编码 - 名称"
,
dataIndex
:
"materieName"
,
key
:
"materieName"
,
search
:
false
,
render
:
(
dom
,
row
)
=>
{
return
(
row
.
materieCode
??
''
)
+
" - "
+
(
row
.
materieName
??
''
)
}
},
{
title
:
"出库数量"
,
dataIndex
:
"outstroeNum"
,
key
:
"outstroeNum"
,
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
:
"批次号/SN号"
,
dataIndex
:
"materieControlNo"
,
key
:
"materieControlNo"
,
search
:
false
,
},
{
title
:
"供应商编号 - 名称"
,
dataIndex
:
"supplierNo"
,
key
:
"supplierNo"
,
search
:
false
,
render
:
(
dom
,
row
)
=>
{
return
(
row
.
supplierNo
??
''
)
+
" - "
+
(
row
.
supplierName
??
''
)
}
},
{
title
:
"下架数量"
,
dataIndex
:
"outstroeNum"
,
key
:
"outstroeNum"
,
search
:
false
,
}
,
{
title
:
"备注"
,
dataIndex
:
"remark"
,
key
:
"remark"
,
search
:
false
,
}
,
{
title
:
"操作人"
,
dataIndex
:
"downloadUserName"
,
key
:
"downloadUserName"
,
search
:
false
,
}
,
{
title
:
"操作时间"
,
dataIndex
:
"downloadTime"
,
key
:
"downloadTime"
,
search
:
false
,
}
]}
dataSource
=
{
record
.
downloadList
}
pagination
=
{
false
}
/>
,
},
pagination
:
"false"
},
],
},
]
}),
dooutside
=
(
fid
,
storeId
)
=>
({
totalCard
:
[
//物料详情
{
cardTitle
:
"基本信息"
,
itemData
:
[
{
title
:
"出库单号"
,
key
:
"materieOutstoreNo"
,
},
{
title
:
"出库类型"
,
key
:
"outstoreTypeName"
,
},
{
title
:
"出库仓库"
,
key
:
"storeName"
,
},
{
title
:
"相关单号"
,
key
:
"businessNo"
,
},
{
title
:
"备注"
,
key
:
"remark"
,
},
{
title
:
"创建人"
,
key
:
"createUserName"
,
},
{
title
:
"创建时间"
,
key
:
"createTime"
,
},
{
title
:
"状态"
,
key
:
"statusName"
}
],
},
{
cardTitle
:
"物料信息列表"
,
extra
:
true
,
extrapath
:
"/ngic-workmanship/wmsMaterieOutstore/download"
,
extrakey
:
"submits"
,
//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
:
"outstroeNum"
,
key
:
"outstroeNum"
,
search
:
false
,
},
{
title
:
"库存单位"
,
dataIndex
:
"productionUnitName"
,
key
:
"productionUnitName"
,
search
:
false
,
},
{
title
:
"未下架数量"
,
dataIndex
:
"remainderNums"
,
key
:
"remainderNums"
,
search
:
false
,
}
],
expandable
:
{
expandedRowRender
:
record
=>
<
EditUpload
record
=
{
record
}
fid
=
{
fid
}
storeId
=
{
storeId
}
/>
,
}
},
],
},
]
});
export
default
{
one
,
two
,
three
,
four
,
detail
,
dooutside
};
src/pages/outsetstore/Otheroutstore/index.jsx
0 → 100644
View file @
9d98a45c
import
React
,
{
useEffect
,
useMemo
,
useRef
,
useState
}
from
"react"
;
import
{
Dropdown
,
Menu
,
Button
,
message
}
from
"antd"
;
import
AutoTable
from
"@/components/AutoTable"
;
import
defaultFields
from
"./fields"
;
import
{
doFetch
}
from
"@/utils/doFetch"
;
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"
;
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
:
"其他出库"
,
};
function
Outstore
(
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
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
:
"materieOutstoreNo"
,
key
:
"materieOutstoreNo"
,
render
:
(
dom
,
record
)
=>
{
return
(
<
a
onClick=
{
()
=>
{
const
detail
=
defaultFields
.
detail
(
setSelectKeys
,
PrintButton
);
setdrawprops
((
s
)
=>
({
...
s
,
visible
:
true
,
//查看详情 props
val
:
"detail"
,
title
:
`查看详情`
,
...
detail
,
totalPath
:
"/ngic-workmanship/wmsMaterieOutstore/getOutStoreInfoById"
,
totalParams
:
{
id
:
record
.
id
},
extra
:
(
<
Button
onClick=
{
async
()
=>
{
handlePrint
();
}
}
>
打印
</
Button
>
),
}));
}
}
>
{
dom
}
</
a
>
);
},
},
{
title
:
"出库类型"
,
dataIndex
:
"outstoreTypeName"
,
key
:
"outstoreType"
,
valueType
:
"select"
,
options
:
[
{
label
:
"生产领料出库"
,
value
:
"1"
,
},
{
label
:
"销售出库"
,
value
:
"2"
,
},
{
label
:
"报废出库"
,
value
:
"3"
,
},
{
label
:
"其他出库"
,
value
:
"4"
,
},
],
},
{
title
:
"出库仓库"
,
dataIndex
:
"storeName"
,
key
:
"storeId"
,
fieldProps
:
{
allowClear
:
true
,
showSearch
:
true
,
},
options
:
{
database
:
()
=>
doFetch
({
url
:
"/ngic-auth/sysStore/selectionBox"
,
params
:
{
factoryIdList
:
[]
},
}),
params
:
{},
},
valueType
:
"select"
,
},
{
title
:
"相关单号"
,
dataIndex
:
"businessNo"
,
key
:
"businessNo"
,
},
{
title
:
"备注"
,
dataIndex
:
"remark"
,
key
:
"remark"
,
search
:
false
,
},
{
title
:
"创建人"
,
dataIndex
:
"createUserName"
,
key
:
"createUserName"
,
},
{
title
:
"创建时间"
,
dataIndex
:
"createTime"
,
key
:
"createTime"
,
valueType
:
"dateRange"
,
formItemProps
:
{
name
:
"createTimeList"
,
},
},
{
title
:
"状态"
,
dataIndex
:
"statusName"
,
key
:
"status"
,
valueType
:
"select"
,
options
:
[
{
label
:
"待下架"
,
value
:
"0"
,
},
{
label
:
"下架中"
,
value
:
"1"
,
},
],
},
{
title
:
"操作"
,
valueType
:
"option"
,
width
:
240
,
render
:
(
text
,
record
,
_
,
action
)
=>
{
return
[
getPrem
(
"equipmentCustomer_save"
,
action
,
"下架采集"
,
async
()
=>
{
let
extra
=
defaultFields
.
dooutside
(
record
.
id
,
record
.
storeId
);
setdrawprops
((
s
)
=>
({
...
s
,
visible
:
true
,
//查看详情 props
val
:
"detail"
,
title
:
`下架采集`
,
...
extra
,
totalPath
:
"/ngic-workmanship/wmsMaterieOutstore/getOutStoreInfoById"
,
totalParams
:
{
id
:
record
.
id
},
extra
:
null
,
}));
setInitialState
((
s
)
=>
{
return
{
...
s
,
submits
:
{},
};
});
}
),
getPrem
(
"equipmentCustomer_deleteById"
,
action
,
"关单"
,
null
,
{
title
:
"确认关单?"
,
onConfirm
:
()
=>
{
doFetch
({
url
:
"/ngic-workmanship/wmsMaterieOutstore/close"
,
params
:
{
id
:
record
.
id
},
}).
then
((
res
)
=>
{
if
(
res
.
code
==
"0000"
)
{
reload
();
}
});
},
}),
record
.
status
==
0
&&
getPrem
(
"equipmentCustomer_deleteById"
,
action
,
"删除"
,
null
,
{
title
:
"确认删除?"
,
onConfirm
:
()
=>
{
doFetch
({
url
:
"/ngic-workmanship/wmsMaterieOutstore/deleteById"
,
params
:
{
id
:
record
.
id
},
}).
then
((
res
)
=>
{
if
(
res
.
code
==
"0000"
)
{
reload
();
}
});
},
}),
];
},
},
];
}
else
{
return
[
{
title
:
"出库单号"
,
dataIndex
:
"materieOutstoreNo"
,
key
:
"materieOutstoreNo"
,
render
:
(
dom
,
record
)
=>
{
return
(
<
a
onClick=
{
()
=>
{
setdrawprops
((
s
)
=>
({
...
s
,
visible
:
true
,
//查看详情 props
val
:
"detail"
,
title
:
`查看详情`
,
...
defaultFields
?.
detail
,
totalPath
:
"/ngic-workmanship/wmsMaterieOutstoreHis/getOutStoreInfoById"
,
totalParams
:
{
id
:
record
.
id
},
}));
}
}
>
{
dom
}
</
a
>
);
},
},
{
title
:
"出库类型"
,
dataIndex
:
"outstoreTypeName"
,
key
:
"outstoreType"
,
valueType
:
"select"
,
options
:
[
{
label
:
"生产领料出库"
,
value
:
"1"
,
},
{
label
:
"销售出库"
,
value
:
"2"
,
},
{
label
:
"报废出库"
,
value
:
"3"
,
},
{
label
:
"其他出库"
,
value
:
"4"
,
},
],
},
{
title
:
"出库仓库"
,
dataIndex
:
"storeName"
,
key
:
"storeId"
,
fieldProps
:
{
allowClear
:
true
,
showSearch
:
true
,
},
options
:
{
database
:
()
=>
doFetch
({
url
:
"/ngic-auth/sysStore/selectionBox"
,
params
:
{
factoryIdList
:
[]
},
}),
params
:
{},
},
valueType
:
"select"
,
},
{
title
:
"相关单号"
,
dataIndex
:
"businessNo"
,
key
:
"businessNo"
,
},
{
title
:
"备注"
,
dataIndex
:
"remark"
,
key
:
"remark"
,
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"
,
key
:
"status"
,
valueType
:
"select"
,
options
:
[
{
label
:
"已下架"
,
value
:
"2"
,
},
{
label
:
"已关单"
,
value
:
"4"
,
},
],
},
];
}
},
[
activeTabKey
]);
const
tableprops
=
{
...
props
,
pageextra
:
activeTabKey
==
"1"
?
(
<
Dropdown
placement=
"bottomRight"
overlay=
{
<
Menu
onClick=
{
(
e
)
=>
{
setdrawprops
((
s
)
=>
({
...
s
,
visible
:
true
,
title
:
"新增"
+
itemz
[
e
.
key
],
fields
:
defaultFields
[
e
.
key
],
outstoreType
:
keytoval
[
e
.
key
],
val
:
"add"
,
//类型
extra
:
null
,
}));
}
}
items=
{
items
}
/>
}
>
<
Button
type=
"primary"
>
新增
</
Button
>
</
Dropdown
>
)
:
(
"none"
),
tabList
:
[
{
tab
:
"未完成"
,
key
:
"1"
,
},
{
tab
:
"已完成"
,
key
:
"2"
,
},
],
activeTabKey
,
onTabChange
,
columns
,
path
:
activeTabKey
==
"1"
?
"/ngic-workmanship/wmsMaterieOutstore/queryList"
:
"/ngic-workmanship/wmsMaterieOutstoreHis/queryList"
,
};
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"
)
{
let
newfileds
=
JSON
.
parse
(
JSON
.
stringify
(
value
));
newfileds
.
materialList
=
newfileds
?.
materialList
?.
map
((
it
)
=>
{
delete
it
.
usableNum
;
delete
it
.
id
;
return
it
;
});
let
res
=
await
doFetch
({
url
:
"/ngic-workmanship/wmsMaterieOutstore/saveOutStore"
,
params
:
{
...
newfileds
,
outstoreType
:
drawprops
.
outstoreType
},
});
if
(
res
.
code
==
"0000"
)
{
reload
();
}
}
}
}
onChange=
{
async
(
changedValues
,
allValues
)
=>
{
for
(
let
i
in
changedValues
)
{
if
(
i
==
"storeId"
)
{
let
res
=
await
doFetch
({
url
:
"/ngic-workmanship/wmsMaterieStockStore/selectbox/usableStock"
,
params
:
{
storeId
:
changedValues
[
"storeId"
]
},
}),
options
=
res
?.
data
?.
dataList
;
setdrawprops
((
s
)
=>
{
let
fields
=
JSON
.
parse
(
JSON
.
stringify
(
s
.
fields
));
for
(
let
i
in
fields
)
{
fields
[
i
].
value
=
allValues
[
i
];
}
fields
[
"materialList"
].
linkconfig
=
{
urlchangeval
:
{
//根据url接口 改变某个value
database
:
(
params
)
=>
doFetch
({
url
:
"/ngic-workmanship/wmsMaterieStockStore/queryStoreOne"
,
params
,
}),
params
:
{
materieId
:
"linked"
,
storeId
:
changedValues
[
i
]
},
effectresult
:
{
productionUnit
:
"productionUnit"
,
//key 为列表更新值 value为response 返回值
productionUnitName
:
"productionUnitName"
,
usableNum
:
"usableNum"
,
outstroeNum
:
"outstroeNum"
,
},
},
};
fields
[
"materialList"
].
columns
=
[
{
title
:
(
<
span
>
物料编码-名称
<
b
style=
{
{
color
:
"red"
}
}
>
*
</
b
>
</
span
>
),
dataIndex
:
"materieId"
,
key
:
"materieId"
,
valueType
:
"select"
,
fieldProps
:
{
allowClear
:
true
,
showSearch
:
true
,
options
,
},
formItemProps
:
()
=>
{
return
{
rules
:
[{
required
:
true
,
message
:
"此项为必填项"
}],
};
},
editable
:
true
,
},
{
title
:
(
<
span
>
出库数量
<
b
style=
{
{
color
:
"red"
}
}
>
*
</
b
>
</
span
>
),
dataIndex
:
"outstroeNum"
,
key
:
"outstroeNum"
,
formItemProps
:
()
=>
{
return
{
rules
:
[{
required
:
true
,
message
:
"此项为必填项"
}],
};
},
valueType
:
"digit"
,
editable
:
true
,
},
{
title
:
"可用库存"
,
dataIndex
:
"usableNum"
,
key
:
"usableNum"
,
readonly
:
"usableNum"
,
},
{
title
:
"库存单位"
,
dataIndex
:
"productionUnitName"
,
key
:
"productionUnitName"
,
readonly
:
"productionUnitName"
,
},
{
title
:
"操作"
,
valueType
:
"option"
,
width
:
70
,
render
:
(
text
,
record
,
_
,
action
)
=>
[
<
a
key=
"delete"
onClick=
{
()
=>
{}
}
>
删除
</
a
>,
],
},
];
fields
[
"materialList"
].
value
=
undefined
;
let
newfields
=
{
...
fields
,
};
return
{
...
s
,
fields
:
newfields
,
};
});
}
}
}
}
reload=
{
reload
}
/>
</
div
>
);
}
export
default
Outstore
;
src/pages/outsetstore/Otheroutstore/index.less
0 → 100644
View file @
9d98a45c
.sitelayout {
min-height: calc(100vh - 98px) !important;
.sitelayoutbackground {
background: #fff;
}
}
.title{
margin: 0px;
}
\ No newline at end of file
src/pages/outsetstore/Otheroutstore/printdom.jsx
0 → 100644
View file @
9d98a45c
import
{
doFetch
}
from
"@/utils/doFetch"
;
import
React
,
{
useState
,
useImperativeHandle
,
forwardRef
,
useRef
,
}
from
"react"
;
import
{
useEffect
}
from
"react"
;
import
{
ScrollBoard
}
from
"@jiaminghi/data-view-react"
;
import
{
useWindowSize
}
from
"@/utils/windowsize"
;
const
pageStyle
=
`
@media all {
.page-break {
display: none;
}
}
@media print {
html, body {
height: initial !important;
overflow: initial !important;
position:relative;
-webkit-print-color-adjust: exact;
word-break: break-all;
}
}
@media print {
.page-break {
margin-top:0;
display: block;
page-break-before: auto;
}
}
@media print {
.page-noprint {
display: none !important;
}
}
@page {
size: auto;
margin: 0px;
}
`
;
let
columns
=
[
{
title
:
"物料编码 - 名称"
,
dataIndex
:
"materieName"
,
key
:
"materieName"
,
search
:
false
,
render
:
(
dom
,
row
)
=>
{
return
(
row
.
materieCode
??
""
)
+
" - "
+
(
row
.
materieName
??
""
);
},
},
{
title
:
"出库数量"
,
dataIndex
:
"outstroeNum"
,
key
:
"outstroeNum"
,
search
:
false
,
},
{
title
:
"库存单位"
,
dataIndex
:
"productionUnitName"
,
key
:
"productionUnitName"
,
search
:
false
,
width
:
60
,
},
];
function
PrintDom
({
totalPath
,
val
,
totalParams
,
totalCard
},
ref
)
{
let
printRef
=
useRef
();
const
[
data
,
setdata
]
=
useState
({});
useImperativeHandle
(
ref
,
()
=>
({
dom
:
printRef
,
}));
useEffect
(()
=>
{
if
(
val
==
"detail"
)
{
doFetch
({
url
:
totalPath
,
params
:
totalParams
}).
then
((
res
)
=>
{
setdata
(
res
?.
data
?.
data
);
});
}
else
{
}
},
[
val
]);
let
datas
=
data
?.
materialList
?
data
?.
materialList
.
map
((
it
)
=>
{
return
columns
.
map
((
item
)
=>
{
if
(
item
.
render
)
{
return
item
.
render
(
it
,
it
);
}
else
{
return
it
[
item
.
dataIndex
];
}
});
})
:
[];
return
(
<>
<
style
type=
"text/css"
media=
"print"
>
{
pageStyle
}
</
style
>
{
val
==
"detail"
&&
(
<
div
ref=
{
printRef
}
style=
{
{
width
:
"100%"
,
minHeight
:
"100%"
,
overflow
:
"inherit"
,
position
:
"relative"
,
}
}
>
<
div
style=
{
{
display
:
"flex"
,
justifyContent
:
"space-between"
,
alignItems
:
"center"
,
padding
:
"0 2%"
,
paddingBottom
:
12
,
}
}
>
<
h1
style=
{
{
width
:
"100%"
,
fontSize
:
40
,
marginTop
:
"-6px"
,
}
}
>
出库工单
</
h1
>
<
img
style=
{
{
width
:
300
,
height
:
"auto"
,
}
}
src=
{
data
?.
qrCodeUrl
}
alt=
""
/>
</
div
>
<
div
style=
{
{
display
:
"flex"
,
flexWrap
:
"wrap"
,
paddingLeft
:
"2%"
,
marginTop
:
24
,
}
}
>
{
totalCard
&&
totalCard
[
0
].
itemData
.
filter
((
it
)
=>
!
(
it
.
noshow
===
true
))
.
map
((
it
)
=>
{
return
(
<
div
style=
{
{
width
:
it
.
noshow
??
"32%"
,
backgroundColor
:
"#f9f9f9"
,
marginRight
:
"1%"
,
marginBottom
:
10
,
padding
:
"4px"
,
fontSize
:
20
,
overflow
:
"hidden"
,
}
}
>
<
b
>
{
it
.
title
}
:
</
b
>
<
span
>
{
data
[
it
.
key
]
||
"-"
}
</
span
>
</
div
>
);
})
}
</
div
>
<
div
style=
{
{
padding
:
"4px 2%"
,
position
:
"relative"
,
width
:
"100%"
,
overflow
:
"hidden"
,
}
}
id=
"large"
>
<
div
style=
{
{
marginBottom
:
18
,
}
}
>
<
b
>
{
totalCard
&&
totalCard
[
1
].
cardTitle
}
</
b
>
</
div
>
<
ScrollBoard
config=
{
{
header
:
columns
.
map
((
it
)
=>
it
.
title
),
data
:
datas
,
rowNum
:
datas
.
length
,
hoverPause
:
false
,
}
}
/>
</
div
>
</
div
>
)
}
</>
);
}
export
default
forwardRef
(
PrintDom
);
src/pages/outsetstore/Outstore/index.jsx
View file @
9d98a45c
...
@@ -186,11 +186,11 @@ function Outstore(props) {
...
@@ -186,11 +186,11 @@ function Outstore(props) {
},
},
valueType
:
"select"
,
valueType
:
"select"
,
},
},
{
//
{
title
:
"相关单号"
,
//
title: "相关单号",
dataIndex
:
"businessNo"
,
//
dataIndex: "businessNo",
key
:
"businessNo"
,
//
key: "businessNo",
},
//
},
{
{
title
:
"备注"
,
title
:
"备注"
,
dataIndex
:
"remark"
,
dataIndex
:
"remark"
,
...
@@ -227,71 +227,6 @@ function Outstore(props) {
...
@@ -227,71 +227,6 @@ function Outstore(props) {
},
},
],
],
},
},
{
title
:
"操作"
,
valueType
:
"option"
,
width
:
240
,
render
:
(
text
,
record
,
_
,
action
)
=>
{
return
[
getPrem
(
"equipmentCustomer_save"
,
action
,
"下架采集"
,
async
()
=>
{
let
extra
=
defaultFields
.
dooutside
(
record
.
id
,
record
.
storeId
);
setdrawprops
((
s
)
=>
({
...
s
,
visible
:
true
,
//查看详情 props
val
:
"detail"
,
title
:
`下架采集`
,
...
extra
,
totalPath
:
"/ngic-workmanship/wmsMaterieOutstore/getOutStoreInfoById"
,
totalParams
:
{
id
:
record
.
id
},
extra
:
null
,
}));
setInitialState
((
s
)
=>
{
return
{
...
s
,
submits
:
{},
};
});
}
),
getPrem
(
"equipmentCustomer_deleteById"
,
action
,
"关单"
,
null
,
{
title
:
"确认关单?"
,
onConfirm
:
()
=>
{
doFetch
({
url
:
"/ngic-workmanship/wmsMaterieOutstore/close"
,
params
:
{
id
:
record
.
id
},
}).
then
((
res
)
=>
{
if
(
res
.
code
==
"0000"
)
{
reload
();
}
});
},
}),
record
.
status
==
0
&&
getPrem
(
"equipmentCustomer_deleteById"
,
action
,
"删除"
,
null
,
{
title
:
"确认删除?"
,
onConfirm
:
()
=>
{
doFetch
({
url
:
"/ngic-workmanship/wmsMaterieOutstore/deleteById"
,
params
:
{
id
:
record
.
id
},
}).
then
((
res
)
=>
{
if
(
res
.
code
==
"0000"
)
{
reload
();
}
});
},
}),
];
},
},
];
];
}
else
{
}
else
{
return
[
return
[
...
@@ -363,11 +298,11 @@ function Outstore(props) {
...
@@ -363,11 +298,11 @@ function Outstore(props) {
},
},
valueType
:
"select"
,
valueType
:
"select"
,
},
},
{
//
{
title
:
"相关单号"
,
//
title: "相关单号",
dataIndex
:
"businessNo"
,
//
dataIndex: "businessNo",
key
:
"businessNo"
,
//
key: "businessNo",
},
//
},
{
{
title
:
"备注"
,
title
:
"备注"
,
dataIndex
:
"remark"
,
dataIndex
:
"remark"
,
...
@@ -419,42 +354,7 @@ function Outstore(props) {
...
@@ -419,42 +354,7 @@ function Outstore(props) {
const
tableprops
=
{
const
tableprops
=
{
...
props
,
...
props
,
pageextra
:
activeTabKey
==
"1"
?
(
<
Dropdown
placement=
"bottomRight"
overlay=
{
<
Menu
onClick=
{
(
e
)
=>
{
setdrawprops
((
s
)
=>
({
...
s
,
visible
:
true
,
title
:
"新增"
+
itemz
[
e
.
key
],
fields
:
defaultFields
[
e
.
key
],
outstoreType
:
keytoval
[
e
.
key
],
val
:
"add"
,
//类型
extra
:
null
,
}));
}
}
items=
{
items
}
/>
}
>
<
Button
type=
"primary"
>
新增
</
Button
>
</
Dropdown
>
)
:
(
"none"
),
tabList
:
[
{
tab
:
"未完成"
,
key
:
"1"
,
},
{
tab
:
"已完成"
,
key
:
"2"
,
},
],
activeTabKey
,
activeTabKey
,
onTabChange
,
onTabChange
,
columns
,
columns
,
...
...
src/pages/outsetstore/Outstore/printdom.jsx
View file @
9d98a45c
...
@@ -72,6 +72,7 @@ let columns = [
...
@@ -72,6 +72,7 @@ let columns = [
];
];
function
PrintDom
({
totalPath
,
val
,
totalParams
,
totalCard
},
ref
)
{
function
PrintDom
({
totalPath
,
val
,
totalParams
,
totalCard
},
ref
)
{
console
.
log
(
totalCard
);
let
printRef
=
useRef
();
let
printRef
=
useRef
();
const
[
data
,
setdata
]
=
useState
({});
const
[
data
,
setdata
]
=
useState
({});
useImperativeHandle
(
ref
,
()
=>
({
useImperativeHandle
(
ref
,
()
=>
({
...
@@ -81,7 +82,9 @@ function PrintDom({ totalPath, val, totalParams, totalCard }, ref) {
...
@@ -81,7 +82,9 @@ function PrintDom({ totalPath, val, totalParams, totalCard }, ref) {
useEffect
(()
=>
{
useEffect
(()
=>
{
if
(
val
==
"detail"
)
{
if
(
val
==
"detail"
)
{
doFetch
({
url
:
totalPath
,
params
:
totalParams
}).
then
((
res
)
=>
{
doFetch
({
url
:
totalPath
,
params
:
totalParams
}).
then
((
res
)
=>
{
if
(
res
.
code
==
"0000"
)
{
setdata
(
res
?.
data
?.
data
);
setdata
(
res
?.
data
?.
data
);
}
});
});
}
else
{
}
else
{
}
}
...
...
src/pages/system/Reservoir/index.jsx
View file @
9d98a45c
...
@@ -476,6 +476,9 @@ const Materiel = (props) => {
...
@@ -476,6 +476,9 @@ const Materiel = (props) => {
for
(
let
i
in
defaultFields
)
{
for
(
let
i
in
defaultFields
)
{
defaultFields
[
i
].
value
=
null
;
defaultFields
[
i
].
value
=
null
;
defaultFields
[
i
].
disabled
=
false
;
defaultFields
[
i
].
disabled
=
false
;
if
(
i
==
'status'
)
{
defaultFields
[
i
].
value
=
1
;
}
if
(
if
(
i
==
"serialNumberRuleId"
||
i
==
"serialNumberRuleId"
||
i
==
"labelTemplateId"
||
i
==
"labelTemplateId"
||
...
...
src/pages/user/Login/index.jsx
View file @
9d98a45c
...
@@ -37,7 +37,7 @@ import {
...
@@ -37,7 +37,7 @@ import {
}
from
"@/services/system"
;
}
from
"@/services/system"
;
import
{
doFetch
}
from
"@/utils/doFetch"
;
import
{
doFetch
}
from
"@/utils/doFetch"
;
import
{
ProDescriptions
}
from
"@ant-design/pro-components"
;
import
{
ProDescriptions
}
from
"@ant-design/pro-components"
;
import
{
start
}
from
"@/utils/printHandle.js"
;
const
{
Search
}
=
Input
;
const
{
Search
}
=
Input
;
...
@@ -614,13 +614,7 @@ const Login = () => {
...
@@ -614,13 +614,7 @@ const Login = () => {
</Link> */
}
</Link> */
}
</
div
>
</
div
>
</
LoginForm
>
</
LoginForm
>
<
Button
onClick=
{
()
=>
{
start
();
}
}
>
start
</
Button
>
</
div
>
</
div
>
<
Footer
></
Footer
>
<
Footer
></
Footer
>
</
div
>
</
div
>
...
...
src/utils/detailTotalCard.js
View file @
9d98a45c
...
@@ -731,31 +731,31 @@ const materielDetail = [
...
@@ -731,31 +731,31 @@ const materielDetail = [
},
},
],
],
},
},
{
//
{
cardTitle
:
"单位转换设置"
,
//
cardTitle: "单位转换设置",
itemData
:
[
//
itemData: [
{
//
{
key
:
"materieProductUnitList"
,
//
key: "materieProductUnitList",
type
:
"table"
,
//
type: "table",
col
:
{
span
:
24
},
//
col: { span: 24 },
columns
:
[
//
columns: [
{
//
{
title
:
"辅助单位"
,
//
title: "辅助单位",
dataIndex
:
"productionUnitName"
,
//
dataIndex: "productionUnitName",
key
:
"productionUnitName"
,
//
key: "productionUnitName",
search
:
false
,
//
search: false,
},
//
},
{
//
{
title
:
"转换比"
,
//
title: "转换比",
dataIndex
:
"conversionRate"
,
//
dataIndex: "conversionRate",
key
:
"conversionRate"
,
//
key: "conversionRate",
search
:
false
,
//
search: false,
width
:
200
//
width: 200
},
//
},
],
//
],
},
//
},
],
//
],
},
//
},
];
];
const
shiftgroupDetail
=
[
const
shiftgroupDetail
=
[
//班组信息详情
//班组信息详情
...
...
src/utils/mymodelhtml.js
View file @
9d98a45c
import
src
from
"../../public/ewm.png"
;
import
src
from
"../../public/ewm.png"
;
export
const
str
=
`<table
border="1"
width="100%"
height="100%"
style="border-collapse: collapse; border: solid 1px"
bordercolor="#000000"
cellpadding="0"
>
<tr>
<td colspan="8">卷料名称:剪切后硅钢片</td>
</tr>
<tr>
<td colspan="8">卷料编码:PDC010100093</td>
</tr>
<tr>
<td colspan="4">牌号:070片</td>
<td colspan="4">母卷编号:20SQC</td>
</tr>
<tr>
<td colspan="4">厂家:江苏南高</td>
<td colspan="4">母卷重量:100KG</td>
</tr>
<tr>
<td colspan="8">单边卷料厚度:200mm</td>
</tr>
<tr>
<td colspan="2" rowspan="3">
<img src=
${
src
}
style="width:50px"/>
</td>
<td colspan="3">铁损:0.68w/kg</td>
<td colspan="3">批次:20230412</td>
</tr>
<tr>
<td colspan="3">宽度:188mm</td>
<td colspan="3">片厚:0.2mm</td>
</tr>
<tr>
<td colspan="3">重量:631KG</td>
<td colspan="3">米数:2292M</td>
</tr>
<tr>
<td colspan="8">条码:1BR157846039401296</td>
</tr>
</table>`
;
export
function
str
(
data
)
{
// return `<table
// border="1"
// width="100%"
// height="100%"
// style="border-collapse: collapse; border: solid 1px;z-index:99999999"
// bordercolor="#000000"
// cellpadding="0"
// >
// <tr>
// <td colSpan="7">卷料名称:${data?.materieName ?? "--"}</td>
// <td colSpan="1">3</td>
// </td>
// </tr>
// <tr>
// <td colspan="8">卷料编码:${data?.materieCode ?? "--"}</td>
// </tr>
// <tr>
// <td colspan="8">牌号:${data?.shopSign ?? "--"}片</td>
// </tr>
// <tr>
// <td colspan="8">单边卷料厚度:${data?.unilateralThickness ?? "--"}</td>
// </tr>
// <tr>
// <td colspan="4">铁损:${data?.ironLoss ?? "--"}w/kg</td>
// <td colspan="4">批次:${data?.materieControlNo ?? "--"}</td>
// </tr>
// <tr>
// <td colspan="4">宽度:${data?.width ?? "--"}mm</td>
// <td colspan="4">片厚:${data?.sheetThickness ?? "--"}mm</td>
// </tr>
// <tr>
// <td colspan="4">重量:${data?.weight ?? "--"}KG</td>
// <td colspan="4">米数:${data?.length ?? "--"}M</td>
// </tr>
// <tr>
// <td colspan="8">条码:${data?.materieControlNo ?? "--"}</td>
// </tr>
// </table>`;
return
` <div style="display:flex; width:100% ;height:100%; flex-direction: column;justify-self: space-between;">
<div style="display:flex; flex-direction: row;flex:4;">
<div style="display:flex;flex-direction: column;flex:2">
<div style="flex:1">卷料名称:
${
data
?.
materieName
??
"--"
}
<
/div
>
<
div
style
=
"flex:1"
>
卷料编码:
$
{
data
?.
materieCode
??
"--"
}
<
/div
>
<
div
style
=
"flex:1"
>
牌号:
$
{
data
?.
shopSign
??
"--"
}
片
<
/div
>
<
div
style
=
"flex:1"
>
单边卷料厚度:
$
{
data
?.
unilateralThickness
??
"--"
}
mm
<
/div
>
<
/div
>
<
div
style
=
"flex:1"
>
<
img
src
=
$
{
data
?.
qrCodeUrl
}
style
=
"width:90px"
/>
<
/div
>
<
/div
>
<
div
style
=
"display:flex; flex-direction: row;flex:1;"
>
<
div
style
=
"flex:2"
>
铁损:
$
{
data
?.
ironLoss
??
"--"
}
w
/
kg
<
/div
>
<
div
style
=
"flex:3"
>
批次:
$
{
data
?.
materieControlNo
??
"--"
}
<
/div
>
<
/div
>
<
div
style
=
"display:flex; flex-direction: row;flex:1;"
>
<
div
style
=
"flex:2"
>
宽度:
$
{
data
?.
width
??
"--"
}
mm
<
/div
>
<
div
style
=
"flex:3"
>
片厚:
$
{
data
?.
sheetThickness
??
"--"
}
mm
<
/div
>
<
/div
>
<
div
style
=
"display:flex; flex-direction: row;flex:1;"
>
<
div
style
=
"flex:2"
>
重量:
$
{
data
?.
weight
??
"--"
}
KG
<
/div
>
<
div
style
=
"flex:3"
>
米数:
$
{
data
?.
length
??
"--"
}
M
<
/div
>
<
/div
>
<
div
style
=
"display:flex; flex-direction: row;flex:1;"
>
<
div
style
=
"flex:1"
>
条码:
$
{
data
?.
materieControlNo
??
"--"
}
<
/div
>
<
/div
>
<
/div>`
;
}
src/utils/printHandle.js
View file @
9d98a45c
import
{
str
}
from
'@/utils/mymodelhtml.js'
import
{
str
}
from
"@/utils/mymodelhtml.js"
;
export
function
start
()
{
import
{
doFetch
}
from
"./doFetch"
;
export
async
function
start
(
url
,
params
)
{
if
(
!
getLodop
)
{
if
(
!
getLodop
)
{
alert
(
"系统检测当前环境未安装相关插件,请先安装C-Lodop插件!"
);
alert
(
"系统检测当前环境未安装相关插件,请先安装C-Lodop插件!"
);
return
;
return
;
}
}
const
res
=
await
doFetch
({
url
,
params
});
const
data
=
JSON
.
parse
(
JSON
.
stringify
(
res
?.
data
?.
dataList
));
console
.
log
(
data
);
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
const
template
=
str
(
data
[
i
]);
console
.
log
(
template
);
let
LODOP
=
getLodop
();
let
LODOP
=
getLodop
();
LODOP
.
PRINT_INIT
(
"task1"
);
LODOP
.
PRINT_INIT
(
"task1"
);
LODOP
.
ADD_PRINT_HTM
(
0
,
0
,
"100%"
,
"100%"
,
str
);
LODOP
.
ADD_PRINT_HTM
(
0
,
0
,
"100%"
,
"100%"
,
template
);
LODOP
.
SET_PRINT_PAGESIZE
(
0
,
800
,
600
,
""
);
LODOP
.
SET_PRINT_PAGESIZE
(
0
,
800
,
600
,
""
);
LODOP
.
PREVIEW
();
// LODOP.PREVIEW();
// LODOP.PRINT();
LODOP
.
PRINT
();
}
}
}
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