Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
mes-pda-scan
Project
Project
Details
Activity
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
ximai
mes-pda-scan
Commits
33494f5c
Commit
33494f5c
authored
Aug 02, 2024
by
何远江
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
工作中心
parent
4ed5674f
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
631 additions
and
293 deletions
+631
-293
scanningList.vue
pages/workCenter/scanningList.vue
+255
-284
workCenter.vue
pages/workCenter/workCenter.vue
+3
-9
workCenterList.vue
pages/workCenter/workCenterList.vue
+373
-0
No files found.
pages/workCenter/scanningList.vue
View file @
33494f5c
This diff is collapsed.
Click to expand it.
pages/workCenter/workCenter.vue
View file @
33494f5c
...
@@ -79,11 +79,7 @@ export default {
...
@@ -79,11 +79,7 @@ export default {
getBtnHandle
(
row
)
{
getBtnHandle
(
row
)
{
this
[
row
.
way
]();
this
[
row
.
way
]();
},
},
goClick
()
{
goClick
()
{},
uni
.
navigateTo
({
url
:
`/pages/productionIssuance/oddNumList`
});
},
handleInputPlnr
(
e
)
{
handleInputPlnr
(
e
)
{
this
.
isFocus
=
false
;
this
.
isFocus
=
false
;
e
&&
this
.
getPlnr
(
e
);
e
&&
this
.
getPlnr
(
e
);
...
@@ -92,16 +88,14 @@ export default {
...
@@ -92,16 +88,14 @@ export default {
this
.
totalNum
=
0
;
this
.
totalNum
=
0
;
this
.
isDisabled
=
true
;
this
.
isDisabled
=
true
;
this
.
$u
.
api
.
mesApi
this
.
$u
.
api
.
mesApi
.
pdaMaterialcreate
({
.
pdaWortstation
({
pageNum
:
1
,
pageSize
:
10
,
applyNo
applyNo
})
})
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
if
(
res
&&
res
.
code
-
200
===
0
)
{
if
(
res
&&
res
.
code
-
200
===
0
)
{
if
(
res
.
rows
.
length
){
if
(
res
.
rows
.
length
){
uni
.
navigateTo
({
uni
.
navigateTo
({
url
:
`/pages/
productionIssuance/productionIssuance
List?order=
${
applyNo
}
`
url
:
`/pages/
workCenter/workCenter
List?order=
${
applyNo
}
`
});
});
}
else
{
}
else
{
setTimeout
(()
=>
{
setTimeout
(()
=>
{
...
...
pages/workCenter/workCenterList.vue
View file @
33494f5c
<
template
>
<view
class=
"page"
>
<StickyNavBar>
<NavBar
title=
"工作中心领料"
></NavBar>
<view
class=
"headerTitle"
>
<view
class=
""
>
<view
class=
"items"
>
领料申请:
{{
goodsInfo
.
applyNo
}}
</view>
<view
class=
"items"
>
{{
goodsInfo
.
workstationCode
}}
/
{{
goodsInfo
.
workstationName
}}
</view>
<view
class=
"items"
>
计划日期:
{{
goodsInfo
.
startTime
}}
</view>
</view>
<view
class=
"checkedCase"
>
<checkbox-group
@
change=
"checkedChange"
>
<checkbox
value=
"r1"
:checked=
"checkedBox"
/>
是否结案
</checkbox-group>
</view>
</view>
<view
class=
"btn"
>
<uni-easyinput
prefixIcon=
"search"
:disabled=
"isDisabled"
v-model=
"wxparams"
:focus=
"isFocus"
placeholder=
"请扫描产品包装条码/外箱码"
@
input=
"handleInputPlnr"
></uni-easyinput>
</view>
<view
class=
"total"
>
<view
class=
"left"
>
物料明细
</view>
<view
class=
"right"
>
物料数量:
<text
class=
""
>
{{
goodsList
.
length
}}
</text>
</view>
</view>
</StickyNavBar>
<ContentLoadingMore
class=
"cardbox"
:list=
"goodsList"
>
<view
class=
"cardContent"
v-for=
"(item, index) in goodsList"
:key=
"index"
>
<scanningList
:item=
"item"
:list=
"item.details"
/>
</view>
</ContentLoadingMore>
<BottomBtn
:btnArr=
"btnArr"
@
getBtnHandle=
"getBtnHandle"
></BottomBtn>
</view>
</
template
>
<
script
>
import
StickyNavBar
from
"@/components/StickyNavBar/index.vue"
;
import
ContentLoadingMore
from
"@/components/ContentLoadingMore/index.vue"
;
import
BottomBtn
from
"@/components/BottomBtn/index.vue"
;
import
scanningList
from
"./scanningList.vue"
;
import
{
parseTime
}
from
"@/utils/ruoyi"
;
export
default
{
components
:
{
StickyNavBar
,
ContentLoadingMore
,
BottomBtn
,
scanningList
,
},
data
()
{
return
{
checkedBox
:
false
,
r1
:
""
,
// totalNum: 0,
number
:
0
,
show
:
true
,
nlpla
:
"YD-02-02-3"
,
wxparams
:
""
,
btnArr
:
[{
style
:
""
,
type
:
"warning"
,
text
:
"返回"
,
way
:
"goBack"
,
},
{
style
:
""
,
type
:
"primary"
,
text
:
"提交"
,
way
:
"goSubmit"
,
},
],
goodsList
:
[],
isFocus
:
true
,
isDisabled
:
false
,
OrderNum
:
""
,
list
:
[],
scanPLs
:
[]
};
},
computed
:
{
goodsInfo
()
{
return
this
.
goodsList
[
0
]
||
{}
},
},
onLoad
(
option
)
{
if
(
option
&&
option
.
order
)
{
this
.
OrderNum
=
option
.
order
;
this
.
getOrder
(
option
.
order
);
}
},
watch
:
{},
created
()
{},
methods
:
{
reset
()
{
setTimeout
(()
=>
{
this
.
wxparams
=
""
;
this
.
isFocus
=
true
;
this
.
isDisabled
=
false
;
},
1000
);
},
getOrder
(
applyNo
)
{
this
.
$u
.
api
.
mesApi
.
pdaWortstation
({
pageNum
:
1
,
pageSize
:
10
,
applyNo
,
})
.
then
((
res
)
=>
{
if
(
res
&&
res
.
code
-
200
===
0
)
{
this
.
goodsList
=
res
.
rows
.
map
(
item
=>
{
item
.
details
=
[]
return
item
});
}
else
{
this
.
$u
.
toast
(
res
.
msg
);
}
this
.
loading
=
false
;
});
},
checkedChange
()
{
this
.
checkedBox
=
!
this
.
checkedBox
;
},
getBtnHandle
(
row
)
{
this
[
row
.
way
]();
},
goBack
()
{
console
.
log
(
"进来"
);
// uni.navigateBack({
// delta: 1,
// });
},
goSubmit
()
{
// 检查是否扫描PL
if
(
!
this
.
scanPLs
.
length
)
{
return
this
.
$u
.
toast
(
'请扫描PL!'
);
}
// 可以少发,不可以超发
if
(
this
.
goodsList
.
some
((
item
)
=>
{
return
item
.
applyNum
<
item
.
details
.
reduce
((
acc
,
cur
)
=>
{
acc
+=
cur
.
PACMG
},
0
)
}))
{
return
this
.
$u
.
toast
(
'检查数量是否正确!'
)
}
// 获取items
const
items
=
this
.
goodsList
.
reduce
((
acc
,
cur
)
=>
{
// 添加工作中心
acc
.
push
(...
cur
.
details
)
return
acc
},
[])
const
params
=
{
BLDAT
:
parseTime
(
new
Date
(),
'{y}{m}{d}'
),
BUDAT
:
parseTime
(
new
Date
(),
'{y}{m}{d}'
),
zencode
:
"A006"
,
TYPE
:
'FL'
,
ZMARK
:
'A002'
,
item
:
items
,
};
this
.
$u
.
api
.
sapApi
.
sapRrm
([
params
]).
then
((
res
)
=>
{
this
.
loading
=
false
;
if
(
!
Array
.
isArray
(
res
))
{
return
;
}
if
(
res
.
every
((
item
)
=>
item
.
TYPE
===
"S"
))
{
this
.
handleMes
();
}
const
foundObject
=
res
.
find
((
item
)
=>
item
.
TYPE
===
"E"
);
if
(
foundObject
&&
foundObject
.
MESSAGE
)
{
this
.
$u
.
toast
(
foundObject
.
MESSAGE
);
}
});
},
handleMes
()
{
const
params
=
this
.
goodsList
.
map
(
item
=>
{
item
.
windCase
=
this
.
checkedBox
?
'Y'
:
'N'
item
.
grantNum
=
item
.
details
.
reduce
((
acc
,
cur
)
=>
acc
+
cur
.
PACMG
,
0
)
return
item
})
this
.
$u
.
api
.
mesApi
.
pdaworkstationUpadteNum
(
params
).
then
((
res
)
=>
{
this
.
loading
=
false
;
console
.
log
(
res
);
if
(
res
&&
res
.
code
==
200
)
{
this
.
$u
.
toast
(
"提交成功"
);
setTimeout
(()
=>
{
this
.
goBack
();
},
1000
);
}
else
{
this
.
$u
.
toast
(
res
.
msg
);
}
});
},
handleInputPlnr
(
e
)
{
if
(
this
.
scanPLs
.
includes
(
e
))
{
return
this
.
$u
.
toast
(
'请勿重复扫描!'
)
}
e
&&
this
.
getPlnr
(
e
);
},
getPlnr
(
plnr
)
{
this
.
isDisabled
=
true
;
this
.
isFocus
=
false
;
this
.
$u
.
api
.
sapApi
.
sapBlpl
({
plnr
,
ztype
:
"002"
,
})
.
then
((
res
)
=>
{
if
(
res
&&
res
.
MSG
[
0
].
TYPE
===
"S"
)
{
// 相同物料
const
item
=
this
.
goodsList
.
find
(
v
=>
v
.
sapItemCode
==
res
.
BLPL
[
0
].
MATNR
)
item
&&
item
.
details
.
push
(...
res
.
BLPL
.
map
(
v
=>
{
v
.
ARBPL
=
item
.
workstationCode
v
.
ERFMG
=
v
.
PACMG
return
v
}))
item
&&
this
.
scanPLs
.
push
(
plnr
)
this
.
reset
();
}
else
{
this
.
reset
();
this
.
$u
.
toast
(
res
.
MSG
[
0
].
MESSAGE
);
}
this
.
loading
=
false
;
});
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
page
{
background
:
#f8f8f8
;
}
.headerTitle
{
padding
:
20rpx
;
font-weight
:
600
;
.items
{
line-height
:
40rpx
;
}
}
.btn
{
padding
:
20rpx
;
background
:
#fff
;
.topSearch
{
margin-bottom
:
20rpx
;
}
}
.bottomBtn
{
position
:
sticky
;
padding
:
20rpx
;
display
:
flex
;
justify-content
:
space-between
;
background
:
#fff
;
bottom
:
0rpx
;
margin-top
:
20rpx
;
.u-btn
{
width
:
300rpx
;
}
}
.blue
{
color
:
#3f9dcc
;
}
.total
{
background
:
#fff
;
color
:
#000
;
padding
:
0rpx
40rpx
;
display
:
flex
;
justify-content
:
space-between
;
font-size
:
32rpx
;
.line
{
margin
:
0px
10rpx
;
}
}
.cardbox
{
min-height
:
calc
(
100vh
-
480rpx
);
padding
:
0rpx
20rpx
;
margin-top
:
20rpx
;
}
.cardContent
{
border-radius
:
8px
;
background
:
#fff
;
margin-bottom
:
20rpx
;
}
.listItemTitle
{
display
:
flex
;
justify-content
:
space-between
;
padding
:
20rpx
;
border-bottom
:
2px
solid
#f8f8f8
;
.u-btn
{
width
:
150rpx
;
margin
:
0px
;
margin-top
:
10rpx
;
}
.item
{
line-height
:
50rpx
;
color
:
#333
;
font-size
:
28rpx
;
font-weight
:
500
;
word-break
:
break-all
;
font-weight
:
600
;
}
}
.listBottom
{
.bottomTitle
{
height
:
80rpx
;
position
:
relative
;
.desc
{
color
:
#bbb
;
font-size
:
24rpx
;
line-height
:
80rpx
;
padding-left
:
20rpx
;
}
.topIcons
{
position
:
absolute
;
left
:
50%
;
top
:
50%
;
transform
:
translate
(
-50%
,
-50%
);
color
:
#aaa
;
}
}
.bottomBox
{
padding
:
20rpx
;
.bottomItem
{
background
:
#f8f8f8
;
padding
:
20rpx
;
margin-bottom
:
20rpx
;
.items
{
color
:
#333
;
font-size
:
24rpx
;
height
:
40rpx
;
line-height
:
40rpx
;
}
}
}
}
/
deep
/
.u-sticky
{
top
:
0
!
important
;
background
:
#fff
;
}
.checkedCase
{
margin-top
:
10rpx
;
}
</
style
>
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