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
f42471b5
Commit
f42471b5
authored
Jun 21, 2024
by
何远江
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
功能调整
parent
23a61475
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
1580 additions
and
1000 deletions
+1580
-1000
http.api.js
common/http.api.js
+3
-1
pages.json
pages.json
+8
-0
abnormalRemove.vue
pages/abnormal/abnormalRemove.vue
+280
-0
listItem.vue
pages/abnormal/listItem.vue
+199
-0
index.vue
pages/index/index.vue
+5
-0
inventoryCounting.vue
pages/inventoryCounting/inventoryCounting.vue
+19
-4
waitInventoried.vue
pages/inventoryCounting/waitInventoried.vue
+8
-0
outsourcedMaterial.vue
pages/outsourcedMaterial/outsourcedMaterial.vue
+2
-1
outsourcedMaterialList.vue
pages/outsourcedMaterial/outsourcedMaterialList.vue
+294
-264
scanningList.vue
pages/outsourcedMaterial/scanningList.vue
+203
-198
positionTansfer.vue
pages/positionTansfer/positionTansfer.vue
+3
-3
listItem.vue
pages/purchase/listItem.vue
+5
-5
purchaseRemove.vue
pages/purchase/purchaseRemove.vue
+256
-251
purchaseStorage.vue
pages/purchaseStorage/purchaseStorage.vue
+1
-0
recoilMaterialList.vue
pages/recoil/recoilMaterialList.vue
+4
-4
salesOutboundList.vue
pages/salesOutbound/salesOutboundList.vue
+288
-267
index.js
uview-ui/libs/request/index.js
+2
-2
No files found.
common/http.api.js
View file @
f42471b5
...
...
@@ -7,7 +7,7 @@ const install = (Vue, vm) => {
// 参数配置对象
const
config
=
vm
.
vuex_config
;
// sap-client
const
sapClient
=
3
1
0
;
const
sapClient
=
3
0
0
;
// 将各个定义的接口名称,统一放进对象挂载到vm.$u.api(因为vm就是this,也即this.$u.api)下
...
...
@@ -57,6 +57,8 @@ const install = (Vue, vm) => {
sapLgpla
:
(
params
=
{},
client
=
sapClient
)
=>
vm
.
$u
.
post
(
config
.
adminPath
+
'/sap/bc/erp_ep/search/sch_LGPLA?sap-language=ZH&sap-client='
+
client
,
params
),
// 装箱
sapCasePlnr
:
(
params
=
{},
client
=
sapClient
)
=>
vm
.
$u
.
post
(
config
.
adminPath
+
'/sap/bc/erp_ep/pda_case/pda_case_plnr?sap-language=ZH&sap-client='
+
client
,
params
),
// 待盘点
sapInventory
:
(
params
=
{},
client
=
sapClient
)
=>
vm
.
$u
.
post
(
config
.
adminPath
+
'/sap/bc/erp_ep/search/sch_inventory?sap-language=ZH&sap-client='
+
client
,
params
),
},
mesApi
:{
//生产领料查询单号
...
...
pages.json
View file @
f42471b5
...
...
@@ -24,6 +24,14 @@
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/abnormal/abnormalRemove"
,
"style"
:
{
"navigationBarTitleText"
:
"质量异常下架"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/positionTansfer/positionTansfer"
,
...
...
pages/abnormal/abnormalRemove.vue
0 → 100644
View file @
f42471b5
<
template
>
<view
class=
"page"
>
<StickyNavBar>
<NavBar
title=
"质量异常下架"
></NavBar>
<view
class=
"btn"
>
<uni-easyinput
prefixIcon=
"search"
class=
"topSearch"
v-model=
"nlpla"
focus
placeholder=
"请扫描库位"
@
change=
"handleInputNlpla"
></uni-easyinput>
<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=
"blue"
>
{{
chargaArr
.
length
}}
</text>
<text
class=
"line"
>
|
</text>
总数量:
<text
class=
"blue"
>
{{
totalNum
}}
</text>
</view>
</view>
</StickyNavBar>
<ContentLoadingMore
class=
"cardbox"
:list=
"chargaArr"
>
<view
class=
"cardContent"
v-for=
"(item, index) in chargaArr"
>
<listItem
:item=
"item"
:goodsList=
"goodsList"
:nlpla=
"nlpla"
@
deleGonds=
"deleGonds"
/>
</view>
</ContentLoadingMore>
<BottomBtn
:btnArr=
"btnArr"
@
getBtnHandle=
"getBtnHandle"
></BottomBtn>
</view>
</
template
>
<
script
>
import
listItem
from
"./listItem.vue"
;
import
StickyNavBar
from
"@/components/StickyNavBar/index.vue"
;
import
ContentLoadingMore
from
"@/components/ContentLoadingMore/index.vue"
;
import
BottomBtn
from
"@/components/BottomBtn/index.vue"
;
import
{
parseTime
}
from
"@/utils/ruoyi"
;
export
default
{
components
:
{
StickyNavBar
,
ContentLoadingMore
,
BottomBtn
,
listItem
,
},
data
()
{
return
{
number
:
0
,
totalNum
:
0
,
show
:
true
,
nlpla
:
""
,
wxparams
:
""
,
btnArr
:
[
{
style
:
""
,
type
:
"warning"
,
text
:
"返回"
,
way
:
"goBack"
,
},
{
style
:
""
,
type
:
"primary"
,
text
:
"提交"
,
way
:
"goSubmit"
,
},
],
goodsList
:
[],
isFocus
:
false
,
isDisabled
:
false
,
chargaArr
:
[],
};
},
created
()
{
// this.getPlnr('100001240428000002|00100000000000014.000|10002442800002');
// this.getPlnr('100001240428000002|00100000000000019.500|10002442800001');
},
methods
:
{
deleGonds
(
detail
)
{
this
.
goodsList
.
forEach
((
ele
,
idx
)
=>
{
if
(
detail
.
PLNR
===
ele
.
PLNR
)
{
this
.
goodsList
.
splice
(
idx
,
1
);
}
});
this
.
totalNum
=
0
;
this
.
goodsList
.
forEach
((
ele
)
=>
{
this
.
totalNum
+=
ele
.
PACMG
-
0
;
ele
.
cardNum
=
0
;
});
this
.
handleData
();
},
getBtnHandle
(
row
)
{
this
[
row
.
way
]();
},
goBack
()
{
uni
.
navigateBack
();
},
goSubmit
()
{
if
(
this
.
goodsList
.
length
===
0
)
{
return
;
}
const
data
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
goodsList
));
data
.
forEach
((
ele
)
=>
{
ele
.
ERFMG
=
ele
.
PACMG
;
});
this
.
$u
.
api
.
sapApi
.
sapRrm
([
{
BLDAT
:
parseTime
(
new
Date
(),
"{y}{m}{d}"
),
BUDAT
:
parseTime
(
new
Date
(),
"{y}{m}{d}"
),
ZENCODE
:
"A015"
,
TYPE
:
"CG"
,
ITEM
:
data
,
},
])
.
then
((
res
)
=>
{
this
.
loading
=
false
;
if
(
!
Array
.
isArray
(
res
))
{
return
;
}
if
(
res
&&
res
.
every
((
item
)
=>
item
.
TYPE
===
"S"
))
{
this
.
goodsList
=
[];
this
.
chargaArr
=
[];
this
.
totalNum
=
0
;
this
.
nlpla
=
""
;
this
.
wxparams
=
""
;
this
.
$u
.
toast
(
"提交成功"
);
}
const
foundObject
=
res
.
find
((
item
)
=>
item
.
TYPE
===
"E"
);
if
(
foundObject
&&
foundObject
.
MESSAGE
)
{
this
.
$u
.
toast
(
foundObject
.
MESSAGE
);
}
});
},
handleInputPlnr
(
e
)
{
this
.
isFocus
=
false
;
if
(
e
)
{
// 是否有重复的PLBL
const
flag
=
this
.
goodsList
.
some
((
item
)
=>
item
.
PLNR
==
e
);
if
(
flag
)
{
this
.
$u
.
toast
(
"已经存在当前条码"
);
return
setTimeout
(()
=>
{
this
.
isFocus
=
true
;
this
.
isDisabled
=
false
;
this
.
wxparams
=
""
;
},
1000
);
}
this
.
getPlnr
(
e
);
}
},
handleInputNlpla
(
e
)
{},
getPlnr
(
plnr
)
{
this
.
isDisabled
=
true
;
if
(
!
this
.
nlpla
)
{
this
.
$u
.
toast
(
"请先扫描仓位"
);
setTimeout
(()
=>
{
this
.
wxparams
=
""
;
this
.
isFocus
=
true
;
this
.
isDisabled
=
false
;
},
1000
);
return
;
}
this
.
$u
.
api
.
sapApi
.
sapBlpl
({
plnr
,
ztype
:
"004"
,
})
.
then
((
res
)
=>
{
if
(
res
.
MSG
.
some
((
item
)
=>
{
if
(
item
.
TYPE
==
"E"
)
{
this
.
$u
.
toast
(
item
.
MESSAGE
);
return
true
;
}
return
false
;
})
)
{
return
setTimeout
(()
=>
{
this
.
isFocus
=
true
;
this
.
isDisabled
=
false
;
this
.
wxparams
=
""
;
},
1000
);
}
this
.
goodsList
=
this
.
goodsList
.
concat
(
res
.
BLPL
);
this
.
totalNum
=
0
;
this
.
goodsList
.
forEach
((
ele
)
=>
{
this
.
totalNum
+=
ele
.
PACMG
-
0
;
ele
.
cardNum
=
0
;
});
this
.
handleData
();
setTimeout
(()
=>
{
this
.
wxparams
=
""
;
this
.
isFocus
=
true
;
this
.
isDisabled
=
false
;
},
1000
);
this
.
loading
=
false
;
});
},
handleData
()
{
this
.
chargaArr
=
this
.
goodsList
.
filter
((
item
,
index
,
self
)
=>
{
return
self
.
findIndex
((
t
)
=>
t
.
CHARG
===
item
.
CHARG
)
===
index
;
});
this
.
chargaArr
.
forEach
((
ele
,
idx
)
=>
{
this
.
goodsList
.
forEach
((
item
)
=>
{
if
(
ele
.
CHARG
===
item
.
CHARG
)
{
ele
.
cardNum
+=
item
.
PACMG
-
0
;
this
.
$set
(
this
.
chargaArr
,
idx
,
{
...
ele
});
}
});
});
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.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
-
540rpx
);
padding
:
0rpx
20rpx
;
margin-top
:
20rpx
;
}
.cardContent
{
border-radius
:
8px
;
background
:
#fff
;
margin-bottom
:
20rpx
;
}
/
deep
/
.u-sticky
{
top
:
0
!
important
;
background
:
#fff
;
}
</
style
>
\ No newline at end of file
pages/abnormal/listItem.vue
0 → 100644
View file @
f42471b5
<
template
>
<view>
<view
class=
"listItemTitle"
>
<view>
<view
class=
"item"
>
异常批次:
{{
item
.
CHARG
}}
</view>
<view
class=
"item"
>
物料编号:
{{
item
.
MATNR
}}
</view>
<view
class=
"item"
>
物料描述:
{{
item
.
MAKTX
}}
</view>
<view
class=
"item"
>
异常数量:
{{
item
.
cardNum
}}
</view>
</view>
</view>
<view
class=
"listBottom"
>
<view
class=
"bottomTitle"
@
tap=
"show = !show"
>
<view
class=
"desc"
>
卷条码明细
</view>
<view
class=
"topIcons"
>
<view
v-if=
"show"
>
<u-icon
name=
"arrow-down"
color=
"#aaa"
size=
"32"
></u-icon>
展开
</view>
<view
v-else
>
<u-icon
name=
"arrow-up"
color=
"#aaa"
size=
"32"
></u-icon>
收起
</view>
</view>
</view>
<view
v-if=
"!show"
class=
"bottomBox"
>
<view
class=
"bottomItem"
v-for=
"(ele, idx) in goodsList"
v-if=
"ele.CHARG === item.CHARG"
>
<view
class=
"items plNum"
>
{{
ele
.
PLNR
}}
</view>
<view
class=
"item"
>
异常库位:
{{
ele
.
NLPLA
}}
</view>
<view
class=
"items"
>
数量:
{{
ele
.
PACMG
}}
</view>
<view
class=
"boxBtn"
>
<!--
<view
class=
"items"
>
生产日期:
{{
ele
.
BLDAT
}}
</view>
-->
<u-button
class=
"botBtn"
size=
"mini"
type=
"primary"
plain
@
click=
"deleGonds()"
>
<u-icon
name=
"trash"
size=
"28"
></u-icon>
删除
</u-button>
</view>
</view>
</view>
</view>
</view>
</
template
>
<
script
>
import
StickyNavBar
from
'@/components/StickyNavBar/index.vue'
;
import
ContentLoadingMore
from
'@/components/ContentLoadingMore/index.vue'
;
import
BottomBtn
from
'@/components/BottomBtn/index.vue'
;
export
default
{
components
:
{
StickyNavBar
,
ContentLoadingMore
,
BottomBtn
},
props
:
{
item
:
{
type
:
Object
,
default
:
function
()
{
return
{};
}
},
goodsList
:
{
type
:
Array
,
default
:
function
()
{
return
[];
}
},
nlpla
:
{
type
:
String
,
default
:
''
}
},
data
()
{
return
{
number
:
0
,
totalNum
:
0
,
show
:
true
,
wxparams
:
''
,
isFocus
:
false
,
isDisabled
:
false
,
chargaArr
:
[]
};
},
created
()
{
},
methods
:
{
deleGonds
()
{
this
.
$emit
(
'deleGonds'
,
this
.
item
)
},
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
page
{
background
:
#f8f8f8
;
}
.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
;
}
}
.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
:
#000
;
font-size
:
28rpx
;
font-weight
:
500
;
word-break
:
break-all
;
}
}
.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
;
}
.plNum
{
height
:
80rpx
;
word-break
:
break-all
;
}
}
}
}
/
deep
/
.u-sticky
{
top
:
0
!
important
;
background
:
#fff
;
}
.boxBtn
{
display
:
flex
;
justify-content
:
space-between
;
/
deep
/
.u-btn
{
margin-right
:
0
!
important
;
}
}
.botBtn
{
}
</
style
>
\ No newline at end of file
pages/index/index.vue
View file @
f42471b5
...
...
@@ -39,6 +39,11 @@ export default {
text
:
'采购下架'
,
url
:
'/pages/purchase/purchaseRemove'
},
{
src
:
require
(
'@/static/images/cgrk.png'
),
text
:
'质量异常'
,
url
:
'/pages/abnormal/abnormalRemove'
},
{
src
:
require
(
'@/static/images/fclyk.png'
),
text
:
'仓位调拨'
,
...
...
pages/inventoryCounting/inventoryCounting.vue
View file @
f42471b5
...
...
@@ -2,12 +2,20 @@
<view
class=
"lists"
>
<StickyNavBar>
<NavBar
title=
"库存盘点"
></NavBar>
<view
class=
"selectSheet"
>
<u-tabs
:list=
"list"
:is-scroll=
"false"
:current=
"current"
@
change=
"changeTab"
></u-tabs>
<view
class=
"btn"
>
<uni-easyinput
prefixIcon=
"search"
class=
"topSearch"
v-model=
"nlpla"
focus
placeholder=
"请扫盘点凭证码"
@
change=
"handleInputNlpla"
></uni-easyinput>
<!--
<uni-easyinput
prefixIcon=
"search"
:disabled=
"isDisabled"
v-model=
"wxparams"
:focus=
"isFocus"
placeholder=
"请扫描产品包装条码/外箱码"
@
input=
"handleInputPlnr"
></uni-easyinput>
-->
</view>
</StickyNavBar>
<waitInventoried
v-if=
"current === 0
"
/>
<
inventoryForm
v-else
/
>
<waitInventoried
ref=
"waitInventoriedRef
"
/>
<
!--
<inventoryForm
v-else
/>
--
>
<BottomBtn
:btnArr=
"btnArr"
@
getBtnHandle=
"getBtnHandle"
v-if=
"current === 0"
></BottomBtn>
</view>
</
template
>
...
...
@@ -33,6 +41,10 @@ export default {
type
:
'select'
,
show
:
false
,
border
:
true
,
nlpla
:
''
,
isDisabled
:
false
,
isFocus
:
false
,
wxparams
:
''
,
list
:
[
{
name
:
'待盘点'
...
...
@@ -62,6 +74,9 @@ export default {
console
.
log
(
'getBtnHandle'
,
row
);
this
[
row
.
way
]();
},
handleInputNlpla
(
e
)
{
this
.
$refs
.
waitInventoriedRef
.
getList
(
e
);
},
goBack
()
{
console
.
log
(
'返回了'
);
uni
.
navigateBack
();
...
...
pages/inventoryCounting/waitInventoried.vue
View file @
f42471b5
...
...
@@ -53,7 +53,15 @@ export default {
};
},
computed
:
{},
created
()
{
this
.
getList
();
},
methods
:
{
getList
()
{
this
.
$u
.
api
.
sapApi
.
sapInventory
({
GJAHR
:
'2024'
}).
then
(
res
=>
{
console
.
log
(
res
);
})
},
handleClickWork
()
{
uni
.
navigateTo
({
url
:
`/pages/inventoryCounting/inventoryList`
...
...
pages/outsourcedMaterial/outsourcedMaterial.vue
View file @
f42471b5
...
...
@@ -112,8 +112,9 @@ export default {
this
.
$u
.
api
.
sapApi
.
sapSchDn
({
VBELN
})
}
,
300
)
.
then
((
res
)
=>
{
console
.
log
(
res
);
if
(
res
&&
res
.
BKDT
.
length
)
{
this
.
goodsList
=
res
.
BKDT
uni
.
navigateTo
({
...
...
pages/outsourcedMaterial/outsourcedMaterialList.vue
View file @
f42471b5
This diff is collapsed.
Click to expand it.
pages/outsourcedMaterial/scanningList.vue
View file @
f42471b5
<
template
>
<view>
<view
class=
"listItemTitle"
>
<view>
<view
class=
"item"
>
行号:
{{
item
.
POSNR
}}
</view>
<view
class=
"item"
>
物料编号:
{{
item
.
MATNR
}}
</view>
<view
class=
"item"
>
物料描述:
{{
item
.
MAKTX
}}
</view>
<view
class=
"item"
>
尺码:
{{
item
.
ZSIZE
}}
</view>
<view
class=
"item"
>
数量:
{{
handleNum
()
}}
/
{{
item
.
ZINSNUM
}}
</view>
</view>
<view
class=
"right"
>
<!--
<checkbox-group
class=
"checkedBox"
>
<view>
<view
class=
"listItemTitle"
>
<view>
<view
class=
"item"
>
行号:
{{
item
.
POSNR
}}
</view>
<view
class=
"item"
>
物料编号:
{{
item
.
MATNR
}}
</view>
<view
class=
"item"
>
物料描述:
{{
item
.
MAKTX
}}
</view>
<view
class=
"item"
v-if=
"item.ZSIZE"
>
尺码:
{{
item
.
ZSIZE
}}
</view>
<view
class=
"item"
>
数量:
{{
handleNum
()
}}
/
{{
item
.
ZINSNUM
||
item
.
LFIMG
||
0
}}
</view
>
</view>
<view
class=
"right"
>
<!--
<checkbox-group
class=
"checkedBox"
>
<checkbox
value=
"r1"
:checked=
"item.checkedBox"
disabled
/>
</checkbox-group>
-->
<!--
<text
class=
"blue"
>
{{
item
.
CLABS
}}
</text>
<!--
<text
class=
"blue"
>
{{
item
.
CLABS
}}
</text>
<text
class=
"line"
>
/
</text>
<text
class=
""
>
{{
item
.
LFIMG
}}
pcs
</text>
-->
</view>
</view>
<view
class=
"listBottom"
>
<view
class=
"bottomTitle"
@
click=
"show = !show"
>
<view
class=
"desc"
>
卷条码明细
</view>
<view
class=
"topIcons"
>
<view
v-if=
"show"
>
<u-icon
name=
"arrow-down"
color=
"#aaa"
size=
"32"
></u-icon>
展开
</view>
<view
v-else
>
<u-icon
name=
"arrow-up"
color=
"#aaa"
size=
"32"
></u-icon>
收起
</view>
</view>
</view>
<view
v-if=
"!show"
class=
"bottomBox"
>
<view
class=
"bottomItem"
v-for=
"(ele, idx) in list"
:key=
"ele.PLNR+idx"
v-if=
"ele.ZSIZE === item.ZSIZE && ele.MATNR === item.MATNR && ele.PLNR"
>
<view
class=
"items"
>
PL号:
{{
ele
.
PLNR
}}
</view>
<view
class=
"items"
>
物料批号:
{{
ele
.
CHARG
}}
</view>
<view
class=
"items"
>
库位:
{{
ele
.
LGORT
}}
-
{{
ele
.
LGOBE
}}
</view>
<view
class=
"items"
>
仓位:
{{
ele
.
NLPLA
}}
</view>
<!--
<view
class=
"items"
>
{{
ele
.
MATNR
}}
</view>
-->
<view
class=
"items inputItem"
>
<!--
<u-row
gutter=
"8"
>
-->
数量:
{{
ele
.
PACMG
}}
<!--
<uni-easyinput
v-model=
"ele.CLABS"
></uni-easyinput>
-->
<!-- /
{{
ele
.
LFIMG
}}
-->
<!--
</u-row>
-->
</view>
</view>
</view>
</view>
<!--
<BottomBtn
:btnArr=
"btnArr"
@
getBtnHandle=
"getBtnHandle"
></BottomBtn>
-->
</view>
</view>
</view>
<view
class=
"listBottom"
>
<view
class=
"bottomTitle"
@
click=
"show = !show"
>
<view
class=
"desc"
>
卷条码明细
</view>
<view
class=
"topIcons"
>
<view
v-if=
"show"
>
<u-icon
name=
"arrow-down"
color=
"#aaa"
size=
"32"
></u-icon>
展开
</view>
<view
v-else
>
<u-icon
name=
"arrow-up"
color=
"#aaa"
size=
"32"
></u-icon>
收起
</view>
</view>
</view>
<view
v-if=
"!show"
class=
"bottomBox"
>
<view
class=
"bottomItem"
v-for=
"(ele, idx) in list"
:key=
"ele.PLNR + idx"
>
<view
class=
"items"
>
PL号:
{{
ele
.
PLNR
}}
</view>
<view
class=
"items"
>
物料批号:
{{
ele
.
CHARG
}}
</view>
<view
class=
"items"
>
库位:
{{
ele
.
LGORT
}}
-
{{
ele
.
LGOBE
}}
</view>
<view
class=
"items"
>
仓位:
{{
ele
.
NLPLA
}}
</view>
<view
class=
"items inputItem"
>
数量:
{{
ele
.
PACMG
}}
</view>
</view>
</view>
</view>
<!--
<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
StickyNavBar
from
"@/components/StickyNavBar/index.vue"
;
import
ContentLoadingMore
from
"@/components/ContentLoadingMore/index.vue"
;
import
BottomBtn
from
"@/components/BottomBtn/index.vue"
;
export
default
{
components
:
{
StickyNavBar
,
ContentLoadingMore
,
BottomBtn
},
props
:
{
item
:
{
type
:
Object
,
default
:
function
()
{
return
{};
}
},
list
:
{
type
:
Array
,
default
:
function
()
{
return
[];
}
}
},
data
()
{
return
{
r1
:
''
,
number
:
0
,
totalNum
:
0
,
nlpla
:
''
,
wxparams
:
''
,
btnArr
:
[
{
style
:
''
,
type
:
'warning'
,
text
:
'返回'
,
way
:
'goBack'
},
{
style
:
''
,
type
:
'primary'
,
text
:
'提交'
,
way
:
'goSubmit'
}
],
isFocus
:
false
,
show
:
true
,
};
},
components
:
{
StickyNavBar
,
ContentLoadingMore
,
BottomBtn
,
},
props
:
{
item
:
{
type
:
Object
,
default
:
function
()
{
return
{};
},
},
list
:
{
type
:
Array
,
default
:
function
()
{
return
[];
},
},
},
data
()
{
return
{
r1
:
""
,
number
:
0
,
totalNum
:
0
,
nlpla
:
""
,
wxparams
:
""
,
btnArr
:
[
{
style
:
""
,
type
:
"warning"
,
text
:
"返回"
,
way
:
"goBack"
,
},
{
style
:
""
,
type
:
"primary"
,
text
:
"提交"
,
way
:
"goSubmit"
,
},
],
isFocus
:
false
,
show
:
true
,
};
},
methods
:
{
handleNum
(){
let
num
=
0
this
.
list
.
forEach
(
ele
=>
{
if
(
ele
.
ZSIZE
===
this
.
item
.
ZSIZE
&&
ele
.
MATNR
===
this
.
item
.
MATNR
&&
ele
.
PLNR
){
num
+=
(
ele
.
PACMG
-
0
)
}
});
return
num
}
}
methods
:
{
handleNum
()
{
let
num
=
0
;
this
.
list
.
forEach
((
ele
)
=>
{
if
(
ele
.
ZSIZE
===
this
.
item
.
ZSIZE
&&
ele
.
MATNR
===
this
.
item
.
MATNR
&&
ele
.
PLNR
)
{
num
+=
ele
.
PACMG
-
0
;
}
});
return
num
;
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
page
{
background
:
#f8f8f8
;
background
:
#f8f8f8
;
}
.headerTitle
{
padding
:
20rpx
;
font-weight
:
600
;
.items
{
line-height
:
40rpx
;
}
padding
:
20rpx
;
font-weight
:
600
;
.items
{
line-height
:
40rpx
;
}
}
.btn
{
padding
:
20rpx
;
background
:
#fff
;
.topSearch
{
margin-bottom
:
20rpx
;
}
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
;
}
position
:
sticky
;
padding
:
20rpx
;
display
:
flex
;
justify-content
:
space-between
;
background
:
#fff
;
bottom
:
0rpx
;
margin-top
:
20rpx
;
.u-btn
{
width
:
300rpx
;
}
}
.blue
{
color
:
#3f9dcc
;
color
:
#3f9dcc
;
}
.total
{
background
:
#fff
;
color
:
#000
;
padding
:
0rpx
40rpx
;
display
:
flex
;
justify-content
:
space-between
;
font-size
:
32rpx
;
.line
{
margin
:
0px
10rpx
;
}
background
:
#fff
;
color
:
#000
;
padding
:
0rpx
40rpx
;
display
:
flex
;
justify-content
:
space-between
;
font-size
:
32rpx
;
.line
{
margin
:
0px
10rpx
;
}
}
.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
;
}
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
;
line-height
:
40rpx
;
/
deep
/
.uni-easyinput
{
width
:
200rpx
;
}
}
.inputItem
{
display
:
inline-flex
;
// line-height: 76rpx;
}
}
}
.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
;
line-height
:
40rpx
;
word-break
:
break-all
;
/
deep
/
.uni-easyinput
{
width
:
200rpx
;
}
}
.inputItem
{
display
:
inline-flex
;
// line-height: 76rpx;
}
}
}
}
/
deep
/
.u-sticky
{
top
:
0
!
important
;
background
:
#fff
;
top
:
0
!
important
;
background
:
#fff
;
}
.checkedBox
{
text-align
:
right
;
.checkedBox
{
text-align
:
right
;
}
/
deep
/
.uni-checkbox-input-disabled
:before
{
color
:
#007aff
!
important
;
/
deep
/
.uni-checkbox-input-disabled
:before
{
color
:
#007aff
!
important
;
}
</
style
>
pages/positionTansfer/positionTansfer.vue
View file @
f42471b5
...
...
@@ -92,7 +92,7 @@ export default {
this
.
$u
.
api
.
sapApi
.
sapDict
({
FIELDNAME
:
'T001L'
})
}
,
300
)
.
then
((
res
)
=>
{
if
(
res
)
{
res
.
forEach
((
ele
)
=>
{
...
...
@@ -135,7 +135,7 @@ export default {
}
this
.
$u
.
api
.
sapApi
.
sapRrm
([
params
])
.
sapRrm
([
params
]
,
300
)
.
then
((
res
)
=>
{
this
.
loading
=
false
;
if
(
!
Array
.
isArray
(
res
)){
...
...
@@ -172,7 +172,7 @@ export default {
.
sapPlnr
({
plnr
,
zType
:
'002'
})
}
,
300
)
.
then
((
res
)
=>
{
if
(
res
&&
res
.
RESULT
.
TYPE
===
'S'
)
{
console
.
log
(
'res.DATA'
,
res
.
DATA
);
...
...
pages/purchase/listItem.vue
View file @
f42471b5
...
...
@@ -2,10 +2,10 @@
<view>
<view
class=
"listItemTitle"
>
<view>
<view
class=
"item"
>
入库
批次:
{{
item
.
CHARG
}}
</view>
<view
class=
"item"
>
退货
批次:
{{
item
.
CHARG
}}
</view>
<view
class=
"item"
>
物料编号:
{{
item
.
MATNR
}}
</view>
<view
class=
"item"
>
物料描述:
{{
item
.
MAKTX
}}
</view>
<view
class=
"item"
>
入库
数量:
{{
item
.
cardNum
}}
</view>
<view
class=
"item"
>
退货
数量:
{{
item
.
cardNum
}}
</view>
</view>
</view>
<view
class=
"listBottom"
>
...
...
@@ -25,10 +25,10 @@
<view
v-if=
"!show"
class=
"bottomBox"
>
<view
class=
"bottomItem"
v-for=
"(ele, idx) in goodsList"
v-if=
"ele.CHARG === item.CHARG"
>
<view
class=
"items plNum"
>
{{
ele
.
PLNR
}}
</view>
<view
class=
"item"
>
入库
库位:
{{
ele
.
NLPLA
}}
</view>
<view
class=
"items"
>
数量:
{{
ele
.
TOMN
G
}}
</view>
<view
class=
"item"
>
退货
库位:
{{
ele
.
NLPLA
}}
</view>
<view
class=
"items"
>
数量:
{{
ele
.
PACM
G
}}
</view>
<view
class=
"boxBtn"
>
<
view
class=
"items"
>
生产日期:
{{
ele
.
BLDAT
}}
</view
>
<
!--
<view
class=
"items"
>
生产日期:
{{
ele
.
BLDAT
}}
</view>
--
>
<u-button
class=
"botBtn"
size=
"mini"
type=
"primary"
plain
@
click=
"deleGonds()"
>
<u-icon
name=
"trash"
size=
"28"
></u-icon>
删除
...
...
pages/purchase/purchaseRemove.vue
View file @
f42471b5
This diff is collapsed.
Click to expand it.
pages/purchaseStorage/purchaseStorage.vue
View file @
f42471b5
...
...
@@ -104,6 +104,7 @@ export default {
const
data
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
goodsList
))
data
.
forEach
(
ele
=>
{
ele
.
ERFMG
=
ele
.
TOMNG
ele
.
ERFME
=
ele
.
MEINS
});
this
.
$u
.
api
.
sapApi
.
sapRrm
([
...
...
pages/recoil/recoilMaterialList.vue
View file @
f42471b5
<
template
>
<view
class=
"page"
>
<StickyNavBar>
<NavBar
title=
"反冲料
申请
"
></NavBar>
<NavBar
title=
"反冲料
拣配
"
></NavBar>
<view
class=
"headerTitle"
>
<view
class=
""
>
<view
class=
"items"
...
...
@@ -25,7 +25,7 @@
></u-picker>
<u-input
v-model=
"LGOBE"
placeholder=
"请选择
仓库别
"
placeholder=
"请选择
线边库
"
:type=
"type"
:border=
"border"
@
click=
"depotShow = true"
...
...
@@ -148,7 +148,7 @@ export default {
getDepotLists
()
{
this
.
$u
.
api
.
sapApi
.
sapDict
({
FIELDNAME
:
"T001L"
,
FIELDNAME
:
"T001L
2
"
,
})
.
then
((
res
)
=>
{
if
(
res
)
{
...
...
@@ -246,7 +246,7 @@ export default {
ele
.
issueCode
=
num
;
ele
.
issueType
=
ele
.
materialType
;
});
this
.
$u
.
api
.
mesApi
.
pda
Sapissuecreate
(
arr
).
then
((
res
)
=>
{
this
.
$u
.
api
.
mesApi
.
pda
Allocation
(
arr
).
then
((
res
)
=>
{
this
.
loading
=
false
;
console
.
log
(
res
);
if
(
res
&&
res
.
code
==
200
)
{
...
...
pages/salesOutbound/salesOutboundList.vue
View file @
f42471b5
This diff is collapsed.
Click to expand it.
uview-ui/libs/request/index.js
View file @
f42471b5
...
...
@@ -89,10 +89,10 @@ class Request {
...
options
.
header
,
'content-type'
:
'application/json;charset=UTF-8'
,
}
url
=
'http://192.168.3.91:8
08
0'
url
=
'http://192.168.3.91:8
10
0'
}
else
{
// console.log('mobile')
url
=
'http://192.168.3.91:8
08
0'
url
=
'http://192.168.3.91:8
10
0'
}
// 判断用户传递的URL是否/开头,如果不是,加上/,这里使用了uView的test.js验证库的url()方法
options
.
url
=
validate
.
url
(
options
.
url
)
?
options
.
url
:
(
url
+
(
options
.
url
.
indexOf
(
'/'
)
==
0
?
...
...
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