Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
梁建民
/
wmsApp
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
be9cfb7a
authored
Sep 05, 2023
by
LJM
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
新增盘点
parent
3a4ade81
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
795 additions
and
255 deletions
assets/css/stocktake/operate.scss
assets/css/stocktake/record.scss
pages.json
pages/index/index.vue
pages/stocktake/list.vue
pages/stocktake/operate.vue
pages/stocktake/record.vue
pages/tallyReceive/index.vue
util/api.js
assets/css/stocktake/operate.scss
View file @
be9cfb7a
.picking-me
{
.stocktake-operate
{
position
:
relative
;
padding
:
15rpx
22rpx
;
padding
:
15rpx
22rpx
;
.search-box
{
.search-box
{
height
:
60rpx
;
height
:
60rpx
;
...
@@ -65,7 +66,7 @@
...
@@ -65,7 +66,7 @@
margin-bottom
:
11rpx
;
margin-bottom
:
11rpx
;
}
}
.label
{
.label
{
width
:
82
rpx
;
width
:
110
rpx
;
font-size
:
16rpx
;
font-size
:
16rpx
;
color
:
#919399
;
color
:
#919399
;
}
}
...
@@ -111,4 +112,183 @@
...
@@ -111,4 +112,183 @@
}
}
}
}
}
}
.positionListCountText
{
position
:
absolute
;
top
:
30rpx
;
right
:
30rpx
;
font-size
:
21rpx
;
color
:
#1969f9
;
}
}
.total
{
.t1
{
font-size
:
21rpx
;
color
:
#292b33
;
}
.t2
{
font-size
:
21rpx
;
color
:
#1969f9
;
}
}
::v-deep
.uni-drawer__content
{
width
:
85%
!
important
;
}
.uni-drawer-detail
{
width
:
100%
;
background-color
:
#ffffff
;
padding
:
22rpx
22rpx
0
22rpx
;
.title
{
position
:
relative
;
.iconfont
{
position
:
absolute
;
left
:
0
;
top
:
0
;
font-size
:
30rpx
;
color
:
#292b33
;
}
.text
{
font-size
:
23rpx
;
color
:
#292b33
;
font-weight
:
bold
;
}
}
.field-item
{
flex-wrap
:
wrap
;
.item
{
flex
:
0
0
50%
;
margin-bottom
:
8rpx
;
.label
{
width
:
114rpx
;
font-size
:
16rpx
;
color
:
#919399
;
}
.text
{
font-size
:
16rpx
;
color
:
#1969f9
;
margin-left
:
6rpx
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
max-width
:
176rpx
;
}
.tt
{
font-size
:
16rpx
;
color
:
#484b59
;
margin-left
:
6rpx
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
max-width
:
176rpx
;
}
.uni-input
{
width
:
80%
;
height
:
50rpx
;
background
:
#ffffff
;
border-radius
:
10rpx
;
border
:
1px
solid
#1969f9
;
text-indent
:
15rpx
;
font-size
:
16rpx
;
}
}
}
.form-input
{
margin-bottom
:
18rpx
;
.input-title
{
margin-bottom
:
10rpx
;
.input-title-t1
{
font-size
:
16rpx
;
color
:
#484b59
;
font-weight
:
bold
;
}
}
.input-box
{
.uni-input
{
height
:
55rpx
;
background
:
#ffffff
;
border-radius
:
10rpx
;
border
:
1px
solid
#1969f9
;
text-indent
:
15rpx
;
font-size
:
16rpx
;
}
}
}
.item-tit
{
font-size
:
20rpx
;
color
:
#292b33
;
font-weight
:
bold
;
margin-bottom
:
18rpx
;
}
.bor
{
height
:
1px
;
background-color
:
#f0f0f2
;
margin-bottom
:
17rpx
;
}
.btn
{
position
:
absolute
;
bottom
:
0
;
left
:
0
;
right
:
0
;
width
:
100%
;
.btn1
{
height
:
75rpx
;
background
:
#1969f9
;
font-size
:
23rpx
;
color
:
#ffffff
;
}
.btn2
{
height
:
75rpx
;
background
:
#ffe0d7
;
font-size
:
23rpx
;
color
:
#ff3700
;
font-weight
:
bold
;
}
}
.uni-table
{
margin-top
:
20rpx
;
width
:
100%
;
height
:
100%
;
overflow-y
:
auto
;
border-top
:
1px
solid
#f0f0f2
;
border-left
:
1px
solid
#f0f0f2
;
border-right
:
1px
solid
#f0f0f2
;
.uni-tr
{
.uni-td
{
width
:
33
.3%
;
height
:
50rpx
;
font-size
:
18rpx
;
color
:
#292b33
;
border-bottom
:
1px
solid
#f0f0f2
;
border-right
:
1px
solid
#f0f0f2
;
&
:last-child
{
border-right
:
none
;
}
.sn
{
margin-left
:
6rpx
;
height
:
35rpx
;
.uni-input
{
font-size
:
18rpx
;
color
:
#292b33
;
font-weight
:
bold
;
}
.uni-arrow
{
width
:
14rpx
;
height
:
9rpx
;
background
:
url('https://img.ichunt.com/images/ichunt/202304/10/e4c72319ad41ce1425f71cc6ec35f111.png')
no-repeat
center
;
background-size
:
contain
;
margin-left
:
12rpx
;
}
}
}
}
}
}
.popup-content
{
width
:
500rpx
;
height
:
500rpx
;
box-sizing
:
border-box
;
padding
:
20rpx
;
}
}
assets/css/stocktake/record.scss
View file @
be9cfb7a
.
picking
-record
{
.
stocktake
-record
{
padding
:
15rpx
22rpx
;
padding
:
15rpx
22rpx
;
.search-box
{
.search-box
{
height
:
60rpx
;
height
:
60rpx
;
...
@@ -52,23 +52,6 @@
...
@@ -52,23 +52,6 @@
margin-bottom
:
15rpx
;
margin-bottom
:
15rpx
;
flex-wrap
:
wrap
;
flex-wrap
:
wrap
;
border
:
1px
solid
transparent
;
border
:
1px
solid
transparent
;
.check-box-icon
{
position
:
absolute
;
right
:
18rpx
;
top
:
17rpx
;
width
:
20rpx
;
height
:
20rpx
;
background
:
url('https://img.ichunt.com/images/ichunt/202304/11/0bf30da3e8ce6c476c210173b5f13d51.png')
no-repeat
center
;
background-size
:
contain
;
display
:
block
;
}
&
.curr
{
border
:
1px
solid
#1969f9
;
.check-box-icon
{
background
:
url('https://img.ichunt.com/images/ichunt/202304/11/71a74e52e94bcf2e89f8df9817d494c6.png')
no-repeat
center
;
background-size
:
contain
;
}
}
.input-box
{
.input-box
{
margin-bottom
:
11rpx
;
margin-bottom
:
11rpx
;
flex
:
0
0
50%
;
flex
:
0
0
50%
;
...
@@ -105,17 +88,6 @@
...
@@ -105,17 +88,6 @@
font-size
:
17rpx
;
font-size
:
17rpx
;
color
:
#1969f9
;
color
:
#1969f9
;
}
}
.pick_img_list
{
flex-wrap
:
wrap
;
.img_list
{
width
:
120rpx
;
height
:
120rpx
;
background
:
#f5f5f7
;
border-radius
:
10rpx
;
margin-right
:
15rpx
;
margin-bottom
:
15rpx
;
}
}
}
}
.btn
{
.btn
{
position
:
absolute
;
position
:
absolute
;
...
@@ -130,39 +102,117 @@
...
@@ -130,39 +102,117 @@
}
}
}
}
}
}
.fix-btn
{
}
position
:
fixed
;
bottom
:
0
;
::v-deep
.uni-drawer__content
{
width
:
85%
!
important
;
}
.uni-drawer-detail
{
width
:
100%
;
width
:
100%
;
background-color
:
#ffffff
;
padding
:
22rpx
22rpx
0
22rpx
;
.title
{
position
:
relative
;
.iconfont
{
position
:
absolute
;
left
:
0
;
left
:
0
;
z-index
:
999
;
top
:
0
;
.btn1
{
font-size
:
30rpx
;
width
:
128rpx
;
color
:
#292b33
;
height
:
75rpx
;
background
:
#ffffff
;
border-right
:
1px
solid
#f0f0f2
;
.check-box-icon
{
width
:
20rpx
;
height
:
20rpx
;
background
:
url('https://img.ichunt.com/images/ichunt/202304/11/0bf30da3e8ce6c476c210173b5f13d51.png')
no-repeat
center
;
background-size
:
contain
;
display
:
block
;
&
.curr
{
background
:
url('https://img.ichunt.com/images/ichunt/202304/11/71a74e52e94bcf2e89f8df9817d494c6.png')
no-repeat
center
;
background-size
:
contain
;
}
}
.text
{
font-size
:
23rpx
;
color
:
#292b33
;
font-weight
:
bold
;
}
}
.field-item
{
flex-wrap
:
wrap
;
.item
{
flex
:
0
0
50%
;
margin-bottom
:
8rpx
;
.label
{
width
:
114rpx
;
font-size
:
16rpx
;
color
:
#919399
;
}
}
.text
{
.text
{
margin-left
:
10rpx
;
font-size
:
16rpx
;
font-size
:
20rpx
;
color
:
#1969f9
;
margin-left
:
6rpx
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
max-width
:
176rpx
;
}
.tt
{
font-size
:
16rpx
;
color
:
#484b59
;
margin-left
:
6rpx
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
max-width
:
176rpx
;
}
.uni-input
{
width
:
80%
;
height
:
50rpx
;
background
:
#ffffff
;
border-radius
:
10rpx
;
border
:
1px
solid
#1969f9
;
text-indent
:
15rpx
;
font-size
:
16rpx
;
}
}
}
.form-input
{
margin-bottom
:
18rpx
;
.input-title
{
margin-bottom
:
10rpx
;
.input-title-t1
{
font-size
:
16rpx
;
color
:
#484b59
;
color
:
#484b59
;
font-weight
:
bold
;
}
}
.input-box
{
.uni-input
{
height
:
55rpx
;
background
:
#ffffff
;
border-radius
:
10rpx
;
border
:
1px
solid
#1969f9
;
text-indent
:
15rpx
;
font-size
:
16rpx
;
}
}
}
.item-tit
{
font-size
:
20rpx
;
color
:
#292b33
;
font-weight
:
bold
;
margin-bottom
:
18rpx
;
}
.bor
{
height
:
1px
;
background-color
:
#f0f0f2
;
margin-bottom
:
17rpx
;
}
}
.btn
{
position
:
absolute
;
bottom
:
0
;
left
:
0
;
right
:
0
;
width
:
100%
;
.btn1
{
height
:
75rpx
;
background
:
#1969f9
;
font-size
:
23rpx
;
color
:
#ffffff
;
}
}
.btn2
{
.btn2
{
width
:
calc
(
100%
-
128rpx
);
height
:
75rpx
;
height
:
75rpx
;
background
:
#ff
ffff
;
background
:
#ff
e0d7
;
font-size
:
23rpx
;
font-size
:
23rpx
;
color
:
#ff3700
;
color
:
#ff3700
;
font-weight
:
bold
;
font-weight
:
bold
;
...
...
pages.json
View file @
be9cfb7a
...
@@ -329,12 +329,36 @@
...
@@ -329,12 +329,36 @@
},
{
},
{
"path"
:
"pages/stocktake/operate"
,
"path"
:
"pages/stocktake/operate"
,
"style"
:
{
"style"
:
{
"navigationBarTitleText"
:
"盘点操作"
"navigationBarTitleText"
:
"盘点操作"
,
"app-plus"
:
{
"titleNView"
:
{
"buttons"
:
[{
"index"
:
"0"
,
"text"
:
"盘点记录"
,
"fontSize"
:
"15px"
,
"color"
:
"#1969F9"
,
"float"
:
"right"
,
"width"
:
"100px"
}]
}
}
}
}
},
{
},
{
"path"
:
"pages/stocktake/record"
,
"path"
:
"pages/stocktake/record"
,
"style"
:
{
"style"
:
{
"navigationBarTitleText"
:
"盘点记录"
"navigationBarTitleText"
:
"盘点记录"
,
"app-plus"
:
{
"titleNView"
:
{
"buttons"
:
[{
"index"
:
"0"
,
"text"
:
"首页"
,
"fontSize"
:
"15px"
,
"color"
:
"#1969F9"
,
"float"
:
"right"
,
"width"
:
"100px"
}]
}
}
}
}
}],
}],
"globalStyle"
:
{
"globalStyle"
:
{
...
...
pages/index/index.vue
View file @
be9cfb7a
...
@@ -46,10 +46,10 @@
...
@@ -46,10 +46,10 @@
<view
class=
"box row rowCenter verCenter"
><image
src=
"/static/home/@2x(3).png"
></image></view>
<view
class=
"box row rowCenter verCenter"
><image
src=
"/static/home/@2x(3).png"
></image></view>
<text
class=
"text"
>
移位
</text>
<text
class=
"text"
>
移位
</text>
</navigator>
</navigator>
<navigator
class=
"box-li column rowCenter verCenter"
url=
"/pages/stocktake/list"
hover-class=
"none"
>
<
!--
<
navigator
class=
"box-li column rowCenter verCenter"
url=
"/pages/stocktake/list"
hover-class=
"none"
>
<view
class=
"box row rowCenter verCenter"
><image
src=
"/static/home/@2x(3).png"
></image></view>
<view
class=
"box row rowCenter verCenter"
><image
src=
"/static/home/@2x(3).png"
></image></view>
<text
class=
"text"
>
盘点
</text>
<text
class=
"text"
>
盘点
</text>
</navigator>
</navigator>
-->
<navigator
class=
"box-li column rowCenter verCenter"
url=
"/pages/immediatelyStockIn/index"
hover-class=
"none"
>
<navigator
class=
"box-li column rowCenter verCenter"
url=
"/pages/immediatelyStockIn/index"
hover-class=
"none"
>
<view
class=
"box row rowCenter verCenter"
><image
src=
"/static/home/@2x(6).png"
></image></view>
<view
class=
"box row rowCenter verCenter"
><image
src=
"/static/home/@2x(6).png"
></image></view>
<text
class=
"text"
>
库存查询
</text>
<text
class=
"text"
>
库存查询
</text>
...
...
pages/stocktake/list.vue
View file @
be9cfb7a
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
<view
class=
"search-bar row bothSide verCenter"
>
<view
class=
"search-bar row bothSide verCenter"
>
<view
class=
"row verCenter"
>
<view
class=
"row verCenter"
>
<text
class=
"iconfont icon-juxing1"
></text>
<text
class=
"iconfont icon-juxing1"
></text>
<input
class=
"uni-input"
placeholder=
"请扫描盘点单号"
placeholder-style=
"color:#919399"
@
input=
"handleInput"
v-model=
"searchParams.stock
_out
_sn"
/>
<input
class=
"uni-input"
placeholder=
"请扫描盘点单号"
placeholder-style=
"color:#919399"
@
input=
"handleInput"
v-model=
"searchParams.stock
take
_sn"
/>
</view>
</view>
<text
class=
"iconfont icon-a-juxing11"
@
click=
"clearInput()"
v-if=
"input_flag"
></text>
<text
class=
"iconfont icon-a-juxing11"
@
click=
"clearInput()"
v-if=
"input_flag"
></text>
</view>
</view>
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
<text
class=
"label"
>
创建时间:
</text>
<text
class=
"label"
>
创建时间:
</text>
<text
class=
"tt"
>
{{
item
.
create_time
}}
</text>
<text
class=
"tt"
>
{{
item
.
create_time
}}
</text>
</view>
</view>
<view
class=
"btn-box row"
><navigator
class=
"btn row rowCenter verCenter"
url=
"/pages/stocktake/operate
"
>
选择
</navigator></view>
<view
class=
"btn-box row"
><navigator
class=
"btn row rowCenter verCenter"
:url=
"'/pages/stocktake/operate?stocktake_id=' + item.stocktake_id + '&stocktake_sn=' + item.stocktake_sn
"
>
选择
</navigator></view>
</view>
</view>
</view>
</view>
<!-- 无数据展示 -->
<!-- 无数据展示 -->
...
@@ -65,7 +65,7 @@ export default {
...
@@ -65,7 +65,7 @@ export default {
array
:
[
'盘点单号'
],
array
:
[
'盘点单号'
],
list
:
[],
list
:
[],
searchParams
:
{
searchParams
:
{
stock
_out
_sn
:
''
stock
take
_sn
:
''
}
}
};
};
},
},
...
@@ -104,7 +104,7 @@ export default {
...
@@ -104,7 +104,7 @@ export default {
*/
*/
clearInput
()
{
clearInput
()
{
this
.
input_flag
=
false
;
this
.
input_flag
=
false
;
this
.
searchParams
.
stock
_out
_sn
=
''
;
this
.
searchParams
.
stock
take
_sn
=
''
;
this
.
getData
();
this
.
getData
();
},
},
/**
/**
...
...
pages/stocktake/operate.vue
View file @
be9cfb7a
<
template
>
<
template
>
<view
class=
"picking-me"
>
<view
class=
"stocktake-operate"
>
<view
class=
"search-box row bothSide verCenter"
>
<view
class=
"positionListCountText"
@
click=
"getPositionListCount()"
>
库位列表
</view>
<!-- 库位 -->
<view
class=
"search-box row bothSide verCenter"
style=
"margin-bottom: 13rpx;width: 85%;"
>
<view
class=
"sn row rowCenter verCenter"
>
<view
class=
"sn row rowCenter verCenter"
>
<picker
@
change=
"bindPickerChange"
:value=
"index"
:range=
"array"
>
<picker
@
change=
"bindPickerChange
($event, 1)
"
:value=
"index"
:range=
"array"
>
<view
class=
"row verCenter"
>
<view
class=
"row verCenter"
>
<view
class=
"uni-input"
>
{{
array
[
index
]
}}
</view>
<view
class=
"uni-input"
>
{{
array
[
index
]
}}
</view>
<view
class=
"uni-arrow"
></view>
<view
class=
"uni-arrow"
></view>
...
@@ -12,47 +14,97 @@
...
@@ -12,47 +14,97 @@
<view
class=
"search-bar row bothSide verCenter"
>
<view
class=
"search-bar row bothSide verCenter"
>
<view
class=
"row verCenter"
>
<view
class=
"row verCenter"
>
<text
class=
"iconfont icon-juxing1"
></text>
<text
class=
"iconfont icon-juxing1"
></text>
<input
class=
"uni-input"
placeholder=
"请扫描或输入
号码"
placeholder-style=
"color:#919399"
v-model=
"searchParams.stock_out_sn"
@
input=
"handleInput
"
/>
<input
class=
"uni-input"
placeholder=
"请扫描或输入
库位"
placeholder-style=
"color:#919399"
v-model=
"searchParams.position_code"
@
input=
"handleInput($event, 1)
"
/>
</view>
</view>
<text
class=
"iconfont icon-a-juxing11"
@
click=
"clearInput()"
v-if=
"input_flag"
></text>
<text
class=
"iconfont icon-a-juxing11"
@
click=
"clearInput(
1
)"
v-if=
"input_flag"
></text>
</view>
</view>
</view>
</view>
<!-- 入库批次号 -->
<view
class=
"search-box row bothSide verCenter"
style=
"width: 85%;"
>
<view
class=
"sn row rowCenter verCenter"
>
<picker
@
change=
"bindPickerChange($event, 2)"
:value=
"index_batch_sn"
:range=
"array_batch_sn"
>
<view
class=
"row verCenter"
>
<view
class=
"uni-input"
>
{{
array_batch_sn
[
index_batch_sn
]
}}
</view>
<view
class=
"uni-arrow"
></view>
</view>
</picker>
</view>
<view
class=
"search-bar row bothSide verCenter"
>
<view
class=
"row verCenter"
>
<text
class=
"iconfont icon-juxing1"
></text>
<input
class=
"uni-input"
placeholder=
"请扫描或输入入库批次号"
placeholder-style=
"color:#919399"
v-model=
"searchParams.stock_in_batch_sn"
@
input=
"handleInput($event, 2)"
/>
</view>
<text
class=
"iconfont icon-a-juxing11"
@
click=
"clearInput(2)"
v-if=
"input_stock_in_batch_sn"
></text>
</view>
</view>
<view
class=
"total row verCenter"
style=
"margin-top: 15rpx;"
>
<text
class=
"t1"
>
待盘点任务数:
</text>
<text
class=
"t2"
>
{{
total
}}
</text>
</view>
<view
class=
"list row bothSide"
v-if=
"list.length > 0"
>
<view
class=
"list row bothSide"
v-if=
"list.length > 0"
>
<view
class=
"box"
v-for=
"(item, index) in list"
:key=
"index"
>
<view
class=
"box"
v-for=
"(item, index) in list"
:key=
"index"
>
<view
class=
"text-item row verCenter"
>
<view
class=
"text-item row verCenter"
>
<text
class=
"label"
>
出库单号
:
</text>
<text
class=
"label"
>
任务ID
:
</text>
<text
class=
"t1"
>
{{
item
.
stock
_out_sn
}}
</text>
<text
class=
"t1"
>
{{
item
.
stock
take_items_id
}}
</text>
</view>
</view>
<view
class=
"text-item row verCenter"
>
<view
class=
"text-item row verCenter"
>
<text
class=
"label"
>
状 态
:
</text>
<text
class=
"label"
>
库位
:
</text>
<text
class=
"t1"
>
{{
item
.
stock_out_status_val
}}
</text>
<text
class=
"t1"
>
{{
item
.
position_code
}}
</text>
</view>
</view>
<view
class=
"text-item row verCenter"
>
<view
class=
"text-item row verCenter"
>
<text
class=
"label"
style=
"white-space: nowrap;width:100rpx;"
>
待拣货任务
:
</text>
<text
class=
"label"
>
容器
:
</text>
<text
class=
"t1"
>
{{
item
.
no_pick_task_num
}}
</text>
<text
class=
"t1"
>
{{
item
.
container_sn
}}
</text>
</view>
</view>
<view
class=
"bor row"
></view>
<view
class=
"bor row"
></view>
<view
class=
"text-item row verCenter"
>
<view
class=
"text-item row verCenter"
>
<text
class=
"label"
>
任 务 数:
</text>
<text
class=
"label"
>
入库批次号:
</text>
<text
class=
"tt"
>
{{
item
.
items_num
}}
</text>
<text
class=
"tt"
>
{{
item
.
stock_in_batch_sn
}}
</text>
</view>
<view
class=
"text-item row verCenter"
>
<text
class=
"label"
>
货品编码:
</text>
<text
class=
"tt"
>
{{
item
.
goods_sn
}}
</text>
</view>
<view
class=
"text-item row verCenter"
>
<text
class=
"label"
>
货品名称:
</text>
<text
class=
"tt"
>
{{
item
.
goods_name
}}
</text>
</view>
<view
class=
"text-item row verCenter"
>
<text
class=
"label"
>
标准品牌:
</text>
<text
class=
"tt"
>
{{
item
.
brand_name
}}
</text>
</view>
<view
class=
"text-item row verCenter"
>
<text
class=
"label"
>
入仓号:
</text>
<text
class=
"tt"
>
{{
item
.
inhouse
}}
</text>
</view>
<view
class=
"text-item row verCenter"
>
<text
class=
"label"
>
D/C:
</text>
<text
class=
"tt"
>
{{
item
.
sale_name
}}
</text>
</view>
</view>
<view
class=
"text-item row verCenter"
>
<view
class=
"text-item row verCenter"
>
<text
class=
"label"
>
总 数 量
:
</text>
<text
class=
"label"
>
产地
:
</text>
<text
class=
"tt"
>
{{
item
.
total_qty
}}
</text>
<text
class=
"tt"
>
{{
item
.
coo
}}
</text>
</view>
</view>
<view
class=
"text-item row verCenter"
>
<view
class=
"text-item row verCenter"
>
<text
class=
"label"
style=
"white-space: nowrap;width: 110rpx;"
>
主单仓库备注
:
</text>
<text
class=
"label"
>
货品品质
:
</text>
<text
class=
"tt"
>
{{
item
.
upstream_remark
}}
</text>
<text
class=
"tt"
>
{{
item
.
quality
}}
</text>
</view>
</view>
<view
class=
"text-item row verCenter"
>
<view
class=
"text-item row verCenter"
>
<text
class=
"label"
>
领取时间
:
</text>
<text
class=
"label"
style=
"white-space: nowrap;"
>
其他批次属性
:
</text>
<text
class=
"tt"
>
{{
item
.
take_time
}}
</text>
<text
class=
"tt"
>
{{
item
.
other_batch_attr
}}
</text>
</view>
</view>
<view
class=
"text-item row verCenter"
>
<view
class=
"text-item row verCenter"
>
<text
class=
"label"
>
销售员:
</text>
<text
class=
"label"
>
销售员:
</text>
<text
class=
"tt"
>
{{
item
.
sale_name
}}
</text>
<text
class=
"tt"
>
{{
item
.
sale_name
}}
</text>
</view>
</view>
<view
class=
"btn-box row verCenter"
><navigator
:url=
"'/pages/picking/sort?stock_out_id=' + item.stock_out_id + '&stock_out_sn=' + item.stock_out_sn"
hover-class=
"none"
class=
"btn3 row rowCenter verCenter"
>
选择
</navigator></view>
<view
class=
"text-item row verCenter"
>
<text
class=
"label"
>
采购员:
</text>
<text
class=
"tt"
>
{{
item
.
pur_user_name
}}
</text>
</view>
<view
class=
"text-item row verCenter"
>
<text
class=
"label"
>
库存总数量:
</text>
<text
class=
"t1"
>
{{
item
.
stock_qty
}}
</text>
</view>
<view
class=
"btn-box row verCenter"
><view
class=
"btn3 row rowCenter verCenter"
@
click=
"showDrawer(item)"
>
选择
</view></view>
</view>
</view>
</view>
</view>
<!-- 无数据展示 -->
<!-- 无数据展示 -->
...
@@ -60,6 +112,118 @@
...
@@ -60,6 +112,118 @@
<text
class=
"iconfont icon-a-juxing21"
></text>
<text
class=
"iconfont icon-a-juxing21"
></text>
<text
class=
"text"
>
查不到当前数据
</text>
<text
class=
"text"
>
查不到当前数据
</text>
</view>
</view>
<!-- 详情 -->
<uni-drawer
ref=
"showRight"
mode=
"right"
>
<view
class=
"uni-drawer-detail"
v-if=
"detail"
>
<view
class=
"title row rowCenter verCenter"
>
<text
class=
"iconfont icon-juxing2"
@
click=
"closeDrawer()"
></text>
<text
class=
"text"
>
详情
</text>
</view>
<view
class=
"field-item row"
style=
"margin-top: 39rpx;"
>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
任务ID:
</text>
<text
class=
"text"
>
{{
detail
.
stocktake_items_id
}}
</text>
</view>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
库位:
</text>
<text
class=
"text"
>
{{
detail
.
position_code
}}
</text>
</view>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
容 器:
</text>
<text
class=
"text"
>
{{
detail
.
container_sn
}}
</text>
</view>
</view>
<view
class=
"bor"
></view>
<view
class=
"item-tit"
>
货品详情
</view>
<view
class=
"field-item row"
>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
入库批次号:
</text>
<text
class=
"tt"
>
{{
detail
.
stock_in_batch_sn
}}
</text>
</view>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
货品编码:
</text>
<text
class=
"tt"
>
{{
detail
.
goods_sn
}}
</text>
</view>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
货品名称:
</text>
<text
class=
"tt"
>
{{
detail
.
goods_name
}}
</text>
</view>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
标准品牌:
</text>
<text
class=
"tt"
>
{{
detail
.
brand_name
}}
</text>
</view>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
入仓号:
</text>
<text
class=
"tt"
>
{{
detail
.
inhouse
}}
</text>
</view>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
D / C:
</text>
<text
class=
"tt"
>
{{
detail
.
date_code
}}
</text>
</view>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
产 地:
</text>
<text
class=
"tt"
>
{{
detail
.
coo
}}
</text>
</view>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
货品品质:
</text>
<text
class=
"tt"
>
{{
detail
.
quality
}}
</text>
</view>
<view
class=
"item row verCenter"
style=
"flex: 0 0 100%;"
>
<text
class=
"label"
>
其他批次属性:
</text>
<text
class=
"tt"
>
{{
detail
.
other_batch_attr
}}
</text>
</view>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
销 售 员:
</text>
<text
class=
"tt"
>
{{
detail
.
sale_name
}}
</text>
</view>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
采 购 员:
</text>
<text
class=
"tt"
>
{{
detail
.
pur_user_name
}}
</text>
</view>
<view
class=
"item row verCenter"
style=
"flex: 0 0 100%;"
>
<text
class=
"label"
>
库存总数量:
</text>
<text
class=
"text "
>
{{
detail
.
stock_qty
}}
</text>
</view>
<view
class=
"item row verCenter"
style=
"flex: 0 0 100%;"
>
<text
class=
"label"
>
盘点数量:
</text>
<input
type=
"number"
placeholder=
"请输入盘点数量"
class=
"uni-input"
v-model=
"stocktake_qty"
/>
</view>
</view>
<view
class=
"btn row rowCenter verCenter"
><view
class=
"row btn1 row rowCenter verCenter"
style=
"width:100%"
@
click=
"updateStocktakeItemQty()"
>
确认
</view></view>
</view>
</uni-drawer>
<!-- 库位列表 -->
<uni-drawer
ref=
"showRightPosition"
mode=
"right"
>
<view
class=
"uni-drawer-detail"
>
<view
class=
"title row rowCenter verCenter"
>
<text
class=
"iconfont icon-juxing2"
@
click=
"closeDrawer()"
></text>
<text
class=
"text"
>
库位列表
</text>
</view>
<view
class=
"uni-table"
>
<view
class=
"uni-tr row verCenter"
>
<view
class=
"uni-td row verCenter rowCenter"
>
<text>
库位编码
</text>
<view
class=
"sn row rowCenter verCenter"
>
<picker
@
change=
"bindPickerChange($event, 3)"
:value=
"indexFilter"
:range=
"filterArr"
>
<view
class=
"row verCenter"
>
<view
class=
"uni-input"
>
{{
filterArr
[
indexFilter
]
}}
</view>
<view
class=
"uni-arrow"
></view>
</view>
</picker>
</view>
</view>
<view
class=
"uni-td row verCenter rowCenter"
>
待盘点任务数
</view>
<view
class=
"uni-td row verCenter rowCenter"
>
已盘点任务数
</view>
</view>
<view
class=
"uni-tr row verCenter"
v-for=
"(item, index) in positionListCount"
:key=
"index"
>
<view
class=
"uni-td row verCenter rowCenter"
>
{{
item
.
position_code
}}
</view>
<view
class=
"uni-td row verCenter rowCenter"
>
{{
item
.
exactly_zero
}}
</view>
<view
class=
"uni-td row verCenter rowCenter"
>
{{
item
.
greater_than_zero
}}
</view>
</view>
</view>
<view
class=
"btn row rowCenter verCenter"
><view
class=
"row btn2 row rowCenter verCenter"
style=
"width:100%"
@
click=
"closeDrawer()"
>
关闭
</view></view>
</view>
</uni-drawer>
</view>
</view>
</
template
>
</
template
>
...
@@ -69,22 +233,38 @@ import debounce from 'lodash/debounce';
...
@@ -69,22 +233,38 @@ import debounce from 'lodash/debounce';
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
input_flag
:
false
,
input_flag
:
false
,
//库位
input_stock_in_batch_sn
:
false
,
//入库批次号
index
:
0
,
index
:
0
,
array
:
[
'出库单号'
],
array
:
[
'库位'
],
filterArr
:
[
'全部'
,
'已盘完'
,
'未盘完'
],
indexFilter
:
0
,
array_batch_sn
:
[
'入库批次号'
],
index_batch_sn
:
0
,
stocktake_qty
:
''
,
list
:
[],
list
:
[],
page
:
1
,
page
:
1
,
limit
:
20
,
limit
:
50
,
total
:
0
,
hasMoreData
:
true
,
//是否分页加载
hasMoreData
:
true
,
//是否分页加载
stocktake_sn
:
''
,
detail
:
{},
positionListCount
:
[],
searchParams
:
{
searchParams
:
{
stock_out_sn
:
''
//出库单号
stocktake_id
:
''
,
//盘点单主键id
position_code
:
''
,
//库位编码
stock_in_batch_sn
:
''
//入库批次号
}
}
};
};
},
},
onLoad
(
options
)
{
this
.
searchParams
.
stocktake_id
=
options
.
stocktake_id
||
''
;
this
.
stocktake_sn
=
options
.
stocktake_sn
||
''
;
},
onNavigationBarButtonTap
(
e
)
{
onNavigationBarButtonTap
(
e
)
{
if
(
e
.
index
==
0
)
{
if
(
e
.
index
==
0
)
{
uni
.
reLaunch
({
uni
.
navigateTo
({
url
:
'/pages/
index/index'
url
:
'/pages/
stocktake/record?stocktake_id='
+
this
.
searchParams
.
stocktake_id
});
});
}
}
},
},
...
@@ -99,51 +279,122 @@ export default {
...
@@ -99,51 +279,122 @@ export default {
this
.
getData
();
this
.
getData
();
},
},
methods
:
{
methods
:
{
bindPickerChange
:
function
(
e
)
{
showDrawer
(
data
)
{
this
.
$refs
.
showRight
.
open
();
this
.
detail
=
data
;
this
.
stocktake_qty
=
data
.
stock_qty
;
},
closeDrawer
()
{
this
.
$refs
.
showRight
.
close
();
this
.
$refs
.
showRightPosition
.
close
();
},
bindPickerChange
:
function
(
e
,
type
)
{
console
.
log
(
'picker发送选择改变,携带值为'
,
e
.
detail
.
value
);
console
.
log
(
'picker发送选择改变,携带值为'
,
e
.
detail
.
value
);
if
(
type
==
1
)
{
this
.
index
=
e
.
detail
.
value
;
this
.
index
=
e
.
detail
.
value
;
}
else
if
(
type
==
2
)
{
this
.
index_batch_sn
=
e
.
detail
.
value
;
}
else
if
(
type
==
3
)
{
this
.
indexFilter
=
e
.
detail
.
value
;
this
.
getPositionListCount
(
parseInt
(
e
.
detail
.
value
)
+
1
);
}
},
},
/**
/**
* 清空数据
* 清空数据
*/
*/
clearInput
()
{
clearInput
(
type
)
{
if
(
type
==
1
)
{
this
.
input_flag
=
false
;
this
.
input_flag
=
false
;
this
.
searchParams
.
stock_out_sn
=
''
;
this
.
searchParams
.
position_code
=
''
;
}
else
if
(
type
==
2
)
{
this
.
input_stock_in_batch_sn
=
false
;
this
.
searchParams
.
stock_in_batch_sn
=
''
;
}
this
.
getData
();
this
.
getData
();
},
},
/**
/**
* 单号搜索
* 单号搜索
* @param {Object} event
* @param {Object} event
*/
*/
handleInput
:
debounce
(
function
(
event
)
{
handleInput
:
debounce
(
function
(
event
,
type
)
{
this
.
resetChange
();
this
.
resetChange
();
var
val
=
event
.
target
.
value
;
var
val
=
event
.
target
.
value
;
this
.
searchParams
.
stock_out_sn
=
''
;
if
(
type
==
1
)
{
this
.
searchParams
.
position_code
=
''
;
if
(
val
)
{
if
(
val
)
{
this
.
input_flag
=
true
;
this
.
input_flag
=
true
;
this
.
searchParams
.
stock_out_sn
=
val
;
this
.
searchParams
.
position_code
=
val
;
}
else
{
}
else
{
this
.
input_flag
=
false
;
this
.
input_flag
=
false
;
}
}
}
else
if
(
type
==
2
)
{
this
.
searchParams
.
stock_in_batch_sn
=
''
;
if
(
val
)
{
this
.
input_stock_in_batch_sn
=
true
;
this
.
searchParams
.
stock_in_batch_sn
=
val
;
}
else
{
this
.
input_stock_in_batch_sn
=
false
;
}
}
this
.
getData
();
this
.
getData
();
},
500
),
},
500
),
/**
/**
* 获取列表数据
* 库位列表
*/
getPositionListCount
(
type
)
{
this
.
$refs
.
showRightPosition
.
open
();
this
.
request
(
API
.
positionListCount
,
'POST'
,
{
stocktake_id
:
this
.
searchParams
.
stocktake_id
,
type
:
type
||
1
},
true
).
then
(
res
=>
{
if
(
res
.
code
===
0
)
{
this
.
positionListCount
=
res
.
data
.
list
;
}
else
{
uni
.
showToast
({
title
:
res
.
msg
,
icon
:
'none'
});
}
});
},
/**
* 获取盘点操作列表
*/
*/
getData
()
{
getData
()
{
this
.
request
(
API
.
getTaked
List
,
'POST'
,
{
page
:
this
.
page
,
limit
:
this
.
limit
,
...
this
.
searchParams
},
false
).
then
(
res
=>
{
this
.
request
(
API
.
stocktakeOperate
List
,
'POST'
,
{
page
:
this
.
page
,
limit
:
this
.
limit
,
...
this
.
searchParams
},
false
).
then
(
res
=>
{
if
(
res
.
code
===
0
)
{
if
(
res
.
code
===
0
)
{
uni
.
setNavigationBarTitle
({
title
:
this
.
stocktake_sn
});
if
(
res
.
data
.
list
.
length
>
0
)
{
if
(
res
.
data
.
list
.
length
>
0
)
{
this
.
hasMoreData
=
true
;
this
.
hasMoreData
=
true
;
this
.
list
=
this
.
list
.
concat
(
res
.
data
.
list
);
this
.
list
=
this
.
list
.
concat
(
res
.
data
.
list
);
this
.
total
=
res
.
data
.
total
;
}
else
{
}
else
{
this
.
hasMoreData
=
false
;
this
.
hasMoreData
=
false
;
}
}
}
else
{
}
else
{
uni
.
showToast
({
uni
.
showToast
({
title
:
res
.
msg
,
title
:
res
.
msg
,
icon
:
'error'
icon
:
'none'
});
}
});
},
updateStocktakeItemQty
()
{
this
.
request
(
API
.
updateStocktakeItemQty
,
'POST'
,
{
stocktake_items_id
:
this
.
detail
.
stocktake_items_id
,
stocktake_qty
:
this
.
stocktake_qty
},
true
).
then
(
res
=>
{
if
(
res
.
code
===
0
)
{
uni
.
showToast
({
title
:
'操作成功'
,
icon
:
'success'
});
setTimeout
(()
=>
{
this
.
resetChange
();
this
.
getData
();
this
.
closeDrawer
();
},
2000
);
}
else
{
uni
.
showModal
({
itle
:
'提示'
,
content
:
res
.
msg
,
showCancel
:
false
});
});
}
}
});
});
...
@@ -160,5 +411,5 @@ export default {
...
@@ -160,5 +411,5 @@ export default {
</
script
>
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
@import
'@/assets/css/
tallyReceiv
e/operate.scss'
;
@import
'@/assets/css/
stocktak
e/operate.scss'
;
</
style
>
</
style
>
pages/stocktake/record.vue
View file @
be9cfb7a
<
template
>
<
template
>
<view
class=
"
picking
-record"
>
<view
class=
"
stocktake
-record"
>
<view
class=
"search-box row bothSide verCenter"
>
<view
class=
"search-box row bothSide verCenter"
>
<view
class=
"sn row rowCenter verCenter"
>
<view
class=
"sn row rowCenter verCenter"
>
<picker
@
change=
"bindPickerChange"
:value=
"index"
:range=
"array"
>
<picker
@
change=
"bindPickerChange"
:value=
"index"
:range=
"array"
>
...
@@ -12,23 +12,29 @@
...
@@ -12,23 +12,29 @@
<view
class=
"search-bar row bothSide verCenter"
>
<view
class=
"search-bar row bothSide verCenter"
>
<view
class=
"row verCenter"
>
<view
class=
"row verCenter"
>
<text
class=
"iconfont icon-juxing1"
></text>
<text
class=
"iconfont icon-juxing1"
></text>
<input
class=
"uni-input"
placeholder=
"请输入查询"
placeholder-style=
"color:#919399"
focus
v-model=
"searchParams.
all_search_
keyword"
@
input=
"handleInput"
/>
<input
class=
"uni-input"
placeholder=
"请输入查询"
placeholder-style=
"color:#919399"
focus
v-model=
"searchParams.keyword"
@
input=
"handleInput"
/>
</view>
</view>
<text
class=
"iconfont icon-a-juxing11"
@
click=
"clearInput()"
v-if=
"input_flag"
></text>
<text
class=
"iconfont icon-a-juxing11"
@
click=
"clearInput()"
v-if=
"input_flag"
></text>
</view>
</view>
</view>
</view>
<view
class=
"list"
v-if=
"list.length > 0"
>
<view
class=
"list"
v-if=
"list.length > 0"
>
<view
class=
"box row"
v-for=
"(item, index) in list"
:key=
"index"
:class=
"
{ curr: filter_list[index] }">
<view
class=
"box row"
v-for=
"(item, index) in list"
:key=
"index"
>
<view
class=
"check-box-icon"
@
click=
"filterChange(index)"
></view>
<view
class=
"input-box row verCenter curr"
>
<view
class=
"input-box row verCenter curr"
>
<text
class=
"label"
>
入库批次号:
</text>
<text
class=
"label"
>
任务ID:
</text>
<text
class=
"tt"
>
{{
item
.
stock_in_batch_sn
}}
</text>
<text
class=
"tt"
>
{{
item
.
stocktake_items_id
}}
</text>
</view>
<view
class=
"input-box row verCenter curr"
>
<text
class=
"label"
>
库位:
</text>
<text
class=
"tt"
>
{{
item
.
position_code
}}
</text>
</view>
</view>
<view
class=
"input-box row verCenter"
>
<view
class=
"input-box row verCenter"
>
<text
class=
"label"
>
容 器:
</text>
<text
class=
"label"
>
容 器:
</text>
<text
class=
"tt"
>
{{
item
.
container_sn
}}
</text>
<text
class=
"tt"
>
{{
item
.
container_sn
}}
</text>
</view>
</view>
<view
class=
"bor"
></view>
<view
class=
"input-box row verCenter curr"
>
<text
class=
"label"
>
入库批次号:
</text>
<text
class=
"text"
>
{{
item
.
stock_in_batch_sn
}}
</text>
</view>
<view
class=
"input-box row verCenter"
>
<view
class=
"input-box row verCenter"
>
<text
class=
"label"
>
货品编码:
</text>
<text
class=
"label"
>
货品编码:
</text>
<text
class=
"text"
>
{{
item
.
goods_sn
}}
</text>
<text
class=
"text"
>
{{
item
.
goods_sn
}}
</text>
...
@@ -42,6 +48,10 @@
...
@@ -42,6 +48,10 @@
<text
class=
"text"
>
{{
item
.
brand_name
}}
</text>
<text
class=
"text"
>
{{
item
.
brand_name
}}
</text>
</view>
</view>
<view
class=
"input-box row verCenter"
>
<view
class=
"input-box row verCenter"
>
<text
class=
"label"
>
入 仓 号:
</text>
<text
class=
"text"
>
{{
item
.
inhouse
}}
</text>
</view>
<view
class=
"input-box row verCenter"
>
<text
class=
"label"
>
D / C:
</text>
<text
class=
"label"
>
D / C:
</text>
<text
class=
"text"
>
{{
item
.
date_code
}}
</text>
<text
class=
"text"
>
{{
item
.
date_code
}}
</text>
</view>
</view>
...
@@ -51,52 +61,29 @@
...
@@ -51,52 +61,29 @@
</view>
</view>
<view
class=
"input-box row verCenter"
>
<view
class=
"input-box row verCenter"
>
<text
class=
"label"
>
货品品质:
</text>
<text
class=
"label"
>
货品品质:
</text>
<text
class=
"text"
>
{{
item
.
quality_val
}}
</text>
<text
class=
"text"
>
{{
item
.
quality_format
}}
</text>
</view>
<view
class=
"input-box row verCenter"
>
<text
class=
"label"
>
入 仓 号:
</text>
<text
class=
"text"
>
{{
item
.
inhouse
}}
</text>
</view>
</view>
<view
class=
"input-box row verCenter"
>
<view
class=
"input-box row verCenter"
>
<text
class=
"label"
>
其他批次属性:
</text>
<text
class=
"label"
>
其他批次属性:
</text>
<text
class=
"text"
>
{{
item
.
other_batch_attr
}}
</text>
<text
class=
"text"
>
{{
item
.
other_batch_attr
}}
</text>
</view>
</view>
<view
class=
"input-box row verCenter"
>
<view
class=
"input-box row verCenter"
>
<text
class=
"label"
>
拣货数量:
</text>
<text
class=
"label"
>
销售员:
</text>
<text
class=
"text"
style=
"color: #F98119;"
>
{{
item
.
pick_qty
}}
</text>
</view>
<view
class=
"input-box row verCenter"
>
<text
class=
"label"
>
拣货库位:
</text>
<text
class=
"text"
>
{{
item
.
position_name
}}
</text>
</view>
<view
class=
"input-box row verCenter"
>
<text
class=
"label"
>
拣 货 员:
</text>
<text
class=
"text"
>
{{
item
.
create_name
}}
</text>
</view>
<view
class=
"input-box row verCenter"
>
<text
class=
"label"
>
销 售 员:
</text>
<text
class=
"text"
>
{{
item
.
sale_name
}}
</text>
<text
class=
"text"
>
{{
item
.
sale_name
}}
</text>
</view>
</view>
<view
class=
"input-box row verCenter"
>
<view
class=
"input-box row verCenter"
>
<text
class=
"label"
>
拣货时间
:
</text>
<text
class=
"label"
>
采购员
:
</text>
<text
class=
"text"
>
{{
item
.
create_ti
me
}}
</text>
<text
class=
"text"
>
{{
item
.
pur_user_na
me
}}
</text>
</view>
</view>
<view
class=
"input-box row"
>
<view
class=
"input-box row
verCenter
"
>
<text
class=
"label"
>
主单仓库备注
:
</text>
<text
class=
"label"
>
库存总数量
:
</text>
<text
class=
"
desc"
>
{{
item
.
upstream_remark
}}
</text>
<text
class=
"
tt"
>
{{
item
.
stock_qty
}}
</text>
</view>
</view>
<view
class=
"input-box row"
>
<view
class=
"input-box row"
>
<text
class=
"label"
>
仓库备注:
</text>
<text
class=
"label"
>
盘点数量:
</text>
<text
class=
"text"
>
{{
item
.
remark
}}
</text>
<text
class=
"tt"
>
{{
item
.
stocktake_qty
}}
</text>
</view>
<view
class=
"input-box row"
v-if=
"item.customer_material_number"
>
<text
class=
"label"
>
客户物料编码:
</text>
<text
class=
"text"
>
{{
item
.
customer_material_number
}}
</text>
</view>
<view
class=
"input-box row"
style=
"flex: 0 0 100%;"
>
<text
class=
"label"
>
拣货照片:
</text>
<view
class=
"pick_img_list row"
><image
:lazy-load=
"true"
@
click=
"previewChange(item.pick_img_list, i)"
class=
"img_list"
:src=
"v.small_image_url"
v-for=
"(v, i) in item.pick_img_list"
:key=
"i"
mode=
"aspectFill"
></image></view>
</view>
</view>
<view
class=
"btn row rowCenter verCenter"
@
click=
"showDrawer(item)"
>
修改
</view>
</view>
</view>
</view>
</view>
<!-- 无数据展示 -->
<!-- 无数据展示 -->
...
@@ -104,13 +91,98 @@
...
@@ -104,13 +91,98 @@
<text
class=
"iconfont icon-a-juxing21"
></text>
<text
class=
"iconfont icon-a-juxing21"
></text>
<text
class=
"text"
>
查不到当前数据
</text>
<text
class=
"text"
>
查不到当前数据
</text>
</view>
</view>
<view
class=
"fix-btn row verCenter"
>
<!-- 详情 -->
<view
class=
"btn1 row rowCenter verCenter"
@
click=
"allChnage()"
>
<uni-drawer
ref=
"showRight"
mode=
"right"
>
<text
class=
"check-box-icon"
:class=
"
{ curr: filter_list.length > 0
&&
filter_list.length == filter_id.length }">
</text>
<view
class=
"uni-drawer-detail"
v-if=
"detail"
>
<text
class=
"text"
>
{{
filter_id
.
length
==
0
?
'全选'
:
filter_id
.
length
}}
</text>
<view
class=
"title row rowCenter verCenter"
>
<text
class=
"iconfont icon-juxing2"
@
click=
"closeDrawer()"
></text>
<text
class=
"text"
>
详情
</text>
</view>
<view
class=
"field-item row"
style=
"margin-top: 39rpx;"
>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
任务ID:
</text>
<text
class=
"text"
>
{{
detail
.
stocktake_items_id
}}
</text>
</view>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
库位:
</text>
<text
class=
"text"
>
{{
detail
.
position_code
}}
</text>
</view>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
容 器:
</text>
<text
class=
"text"
>
{{
detail
.
container_sn
}}
</text>
</view>
</view>
<view
class=
"bor"
></view>
<view
class=
"item-tit"
>
货品详情
</view>
<view
class=
"field-item row"
>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
入库批次号:
</text>
<text
class=
"tt"
>
{{
detail
.
stock_in_batch_sn
}}
</text>
</view>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
货品编码:
</text>
<text
class=
"tt"
>
{{
detail
.
goods_sn
}}
</text>
</view>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
货品名称:
</text>
<text
class=
"tt"
>
{{
detail
.
goods_name
}}
</text>
</view>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
标准品牌:
</text>
<text
class=
"tt"
>
{{
detail
.
brand_name
}}
</text>
</view>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
入仓号:
</text>
<text
class=
"tt"
>
{{
detail
.
inhouse
}}
</text>
</view>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
D / C:
</text>
<text
class=
"tt"
>
{{
detail
.
date_code
}}
</text>
</view>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
产 地:
</text>
<text
class=
"tt"
>
{{
detail
.
coo
}}
</text>
</view>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
货品品质:
</text>
<text
class=
"tt"
>
{{
detail
.
quality
}}
</text>
</view>
<view
class=
"item row verCenter"
style=
"flex: 0 0 100%;"
>
<text
class=
"label"
>
其他批次属性:
</text>
<text
class=
"tt"
>
{{
detail
.
other_batch_attr
}}
</text>
</view>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
销 售 员:
</text>
<text
class=
"tt"
>
{{
detail
.
sale_name
}}
</text>
</view>
<view
class=
"item row verCenter"
>
<text
class=
"label"
>
采 购 员:
</text>
<text
class=
"tt"
>
{{
detail
.
pur_user_name
}}
</text>
</view>
<view
class=
"item row verCenter"
style=
"flex: 0 0 100%;"
>
<text
class=
"label"
>
库存总数量:
</text>
<text
class=
"text "
>
{{
detail
.
stock_qty
}}
</text>
</view>
<view
class=
"item row verCenter"
style=
"flex: 0 0 100%;"
>
<text
class=
"label"
>
盘点数量:
</text>
<input
type=
"number"
placeholder=
"请输入盘点数量"
class=
"uni-input"
v-model=
"stocktake_qty"
/>
</view>
</view>
<view
class=
"bor"
></view>
<view
class=
"field-item row"
>
<view
class=
"item row verCenter"
style=
"flex: 0 0 100%;"
>
<text
class=
"label"
>
盘点人:
</text>
<text
class=
"tt "
>
{{
detail
.
stocktake_user
}}
</text>
</view>
<view
class=
"item row verCenter"
style=
"flex: 0 0 100%;"
>
<text
class=
"label"
>
盘点时间:
</text>
<text
class=
"tt "
>
{{
detail
.
stocktake_time
}}
</text>
</view>
</view>
</view>
<view
class=
"btn2 row rowCenter verCenter"
@
click=
"cancelPicking"
>
取消拣货
</view>
<view
class=
"btn row rowCenter verCenter"
><view
class=
"row btn1 row rowCenter verCenter"
style=
"width:100%"
@
click=
"updateStocktakeItemQty()"
>
确认
</view></view>
</view>
</view>
</uni-drawer>
</view>
</view>
</
template
>
</
template
>
...
@@ -126,19 +198,25 @@ export default {
...
@@ -126,19 +198,25 @@ export default {
array
:
[
'全量搜索'
],
array
:
[
'全量搜索'
],
noexebshowFalg
:
true
,
//控制是否会触发生命周期
noexebshowFalg
:
true
,
//控制是否会触发生命周期
input_flag
:
false
,
input_flag
:
false
,
all_flag
:
false
,
//全选标记
page
:
1
,
page
:
1
,
limit
:
50
,
limit
:
50
,
hasMoreData
:
true
,
//是否分页加载
hasMoreData
:
true
,
//是否分页加载
list
:
[],
list
:
[],
filter_list
:
[],
//筛选已选中的列表
detail
:
{},
filter_id
:
[],
//过滤id
stocktake_qty
:
''
,
//盘点数量
searchParams
:
{
searchParams
:
{
stock
_out_sn
:
''
,
stock
take_id
:
''
,
all_search_
keyword
:
''
keyword
:
''
}
}
};
};
},
},
onNavigationBarButtonTap
(
e
)
{
if
(
e
.
index
==
0
)
{
uni
.
reLaunch
({
url
:
'/pages/index/index'
});
}
},
onReachBottom
()
{
onReachBottom
()
{
if
(
!
this
.
hasMoreData
)
{
if
(
!
this
.
hasMoreData
)
{
return
;
return
;
...
@@ -147,7 +225,7 @@ export default {
...
@@ -147,7 +225,7 @@ export default {
this
.
getData
();
this
.
getData
();
},
},
onLoad
(
options
)
{
onLoad
(
options
)
{
this
.
searchParams
.
stock
_out_sn
=
options
.
stock_out_sn
||
''
;
this
.
searchParams
.
stock
take_id
=
options
.
stocktake_id
||
''
;
},
},
onShow
()
{
onShow
()
{
if
(
this
.
noexebshowFalg
)
{
if
(
this
.
noexebshowFalg
)
{
...
@@ -156,53 +234,24 @@ export default {
...
@@ -156,53 +234,24 @@ export default {
}
}
},
},
methods
:
{
methods
:
{
showDrawer
(
data
)
{
this
.
$refs
.
showRight
.
open
();
this
.
detail
=
data
;
this
.
stocktake_qty
=
data
.
stock_qty
;
},
closeDrawer
()
{
this
.
$refs
.
showRight
.
close
();
},
bindPickerChange
:
function
(
e
)
{
bindPickerChange
:
function
(
e
)
{
console
.
log
(
'picker发送选择改变,携带值为'
,
e
.
detail
.
value
);
console
.
log
(
'picker发送选择改变,携带值为'
,
e
.
detail
.
value
);
this
.
index
=
e
.
detail
.
value
;
this
.
index
=
e
.
detail
.
value
;
},
},
/**
/**
* 全选
*/
allChnage
()
{
this
.
all_flag
=
!
this
.
all_flag
;
this
.
filter_list
=
createArray
(
this
.
list
.
length
,
this
.
all_flag
);
if
(
this
.
all_flag
)
{
this
.
filter_id
=
this
.
list
.
map
(
function
(
item
)
{
return
item
.
id
;
});
}
else
{
this
.
filter_id
=
[];
}
},
/**
* 找出false对应的下标
* @param {Object} arr
* @param {Object} target
*/
findIndex
(
arr
,
target
)
{
const
result
=
[];
arr
.
map
((
item
,
index
)
=>
{
if
(
item
===
target
)
{
result
.
push
(
index
);
}
});
return
result
;
},
/**
* 筛选过滤出选中的元素
*/
filterChange
(
index
)
{
this
.
$set
(
this
.
filter_list
,
index
,
(
this
.
filter_list
[
index
]
=
!
this
.
filter_list
[
index
]));
let
filter_arr
=
this
.
findIndex
(
this
.
filter_list
,
true
);
this
.
filter_id
=
filter_arr
.
map
(
i
=>
this
.
list
[
i
].
id
);
},
/**
* 清空数据
* 清空数据
*/
*/
clearInput
()
{
clearInput
()
{
this
.
resetChange
();
this
.
resetChange
();
this
.
searchParams
.
all_search_keyword
=
''
;
this
.
searchParams
.
keyword
=
''
;
this
.
searchParams
.
stock_out_sn
=
''
;
this
.
input_flag
=
false
;
this
.
input_flag
=
false
;
this
.
getData
();
this
.
getData
();
},
},
...
@@ -215,92 +264,57 @@ export default {
...
@@ -215,92 +264,57 @@ export default {
var
val
=
event
.
target
.
value
;
var
val
=
event
.
target
.
value
;
if
(
val
)
{
if
(
val
)
{
this
.
input_flag
=
true
;
this
.
input_flag
=
true
;
this
.
searchParams
.
all_search_
keyword
=
val
;
this
.
searchParams
.
keyword
=
val
;
}
else
{
}
else
{
this
.
input_flag
=
false
;
this
.
input_flag
=
false
;
this
.
searchParams
.
all_search_
keyword
=
''
;
this
.
searchParams
.
keyword
=
''
;
}
}
this
.
getData
();
this
.
getData
();
},
500
),
},
500
),
/**
/**
* 预览图片
* 获取列表数据
* @param {Object} img
* @param {Object} index
*/
*/
previewChange
(
arr
,
index
)
{
getData
()
{
var
data
=
arr
.
map
(
item
=>
{
this
.
request
(
API
.
getStockTakeRecord
,
'POST'
,
{
page
:
this
.
page
,
limit
:
this
.
limit
,
...
this
.
searchParams
},
true
).
then
(
res
=>
{
return
item
.
big_image_url
;
if
(
res
.
code
===
0
)
{
if
(
res
.
data
.
list
.
length
>
0
)
{
this
.
hasMoreData
=
true
;
this
.
list
=
this
.
list
.
concat
(
res
.
data
.
list
);
}
else
{
this
.
hasMoreData
=
false
;
}
}
else
{
uni
.
showToast
({
title
:
res
.
msg
,
icon
:
'none'
});
});
this
.
noexebshowFalg
=
false
;
}
uni
.
previewImage
({
current
:
index
,
urls
:
data
});
});
},
},
/**
/**
*
取消拣货
*
更新盘点数量
*/
*/
cancelPicking
()
{
updateStocktakeItemQty
()
{
if
(
this
.
filter_id
.
length
==
0
)
{
this
.
request
(
API
.
updateStocktakeItemQty
,
'POST'
,
{
stocktake_items_id
:
this
.
detail
.
stocktake_items_id
,
stocktake_qty
:
this
.
stocktake_qty
},
true
).
then
(
res
=>
{
uni
.
showToast
({
title
:
'请勾选货物'
,
icon
:
'error'
});
return
false
;
}
uni
.
showModal
({
title
:
'提示'
,
content
:
'确定要取消拣货吗?'
,
showCancel
:
true
,
success
:
res
=>
{
if
(
res
.
confirm
)
{
this
.
request
(
API
.
cancelPicking
,
'POST'
,
{
pick_id
:
this
.
filter_id
.
join
(
','
)
},
true
).
then
(
res
=>
{
if
(
res
.
code
===
0
)
{
if
(
res
.
code
===
0
)
{
uni
.
showToast
({
uni
.
showToast
({
title
:
'取消
成功'
,
title
:
'操作
成功'
,
icon
:
'success'
icon
:
'success'
});
});
setTimeout
(()
=>
{
setTimeout
(()
=>
{
this
.
resetChange
();
this
.
resetChange
();
this
.
filter_id
=
[];
this
.
getData
();
this
.
getData
();
this
.
closeDrawer
();
this
.
closeDrawer
();
},
2000
);
},
2000
);
}
else
{
}
else
{
uni
.
showModal
({
uni
.
showModal
({
t
itle
:
'提示'
,
itle
:
'提示'
,
content
:
res
.
msg
,
content
:
res
.
msg
,
showCancel
:
false
showCancel
:
false
});
});
}
}
});
});
}
else
if
(
res
.
cancel
)
{
// 用户点击取消操作
console
.
log
(
'用户点击取消'
);
}
}
});
},
/**
* 获取列表数据
*/
getData
()
{
this
.
request
(
API
.
getAllPickedList
,
'POST'
,
{
page
:
this
.
page
,
limit
:
this
.
limit
,
...
this
.
searchParams
},
true
).
then
(
res
=>
{
if
(
res
.
code
===
0
)
{
if
(
res
.
data
.
list
.
length
>
0
)
{
this
.
hasMoreData
=
true
;
this
.
list
=
this
.
list
.
concat
(
res
.
data
.
list
);
this
.
filter_list
=
createArray
(
this
.
list
.
length
,
false
);
}
else
{
this
.
hasMoreData
=
false
;
}
}
else
{
uni
.
showToast
({
title
:
res
.
msg
,
icon
:
'error'
});
}
});
},
},
/**
/**
* 重置
* 重置
...
...
pages/tallyReceive/index.vue
View file @
be9cfb7a
...
@@ -311,6 +311,11 @@ export default {
...
@@ -311,6 +311,11 @@ export default {
this
.
filter_id
=
this
.
list
.
map
(
function
(
item
)
{
this
.
filter_id
=
this
.
list
.
map
(
function
(
item
)
{
return
item
.
stock_in_item_id
;
return
item
.
stock_in_item_id
;
});
});
let
is_watch_arr
=
this
.
list
.
map
(
function
(
item
)
{
return
item
.
is_watch
;
});
this
.
is_watch
=
is_watch_arr
.
includes
(
1
);
}
else
{
}
else
{
this
.
filter_id
=
[];
this
.
filter_id
=
[];
}
}
...
...
util/api.js
View file @
be9cfb7a
const
API_BASE_USER
=
'http://user.liexindev.net'
;
//用户系统
//
const API_BASE_USER = 'http://user.liexindev.net'; //用户系统
const
API_BASE_PUR
=
'http://pur.liexindev.net'
;
//采购系统
//
const API_BASE_PUR = 'http://pur.liexindev.net'; //采购系统
const
API_BASE
=
'http://wms.liexindev.net'
;
//WMS系统
//
const API_BASE = 'http://wms.liexindev.net'; //WMS系统
const
API_BASE_OSS
=
'http://image.liexindev.net'
;
//oss系统
//
const API_BASE_OSS = 'http://image.liexindev.net'; //oss系统
//
const API_BASE_USER = 'https://user.ichunt.net'; //用户系统
const
API_BASE_USER
=
'https://user.ichunt.net'
;
//用户系统
//
const API_BASE_PUR = 'https://purchase.ichunt.net'; //采购系统
const
API_BASE_PUR
=
'https://purchase.ichunt.net'
;
//采购系统
//
const API_BASE = 'https://wms.ichunt.net'; //WMS系统
const
API_BASE
=
'https://wms.ichunt.net'
;
//WMS系统
//
const API_BASE_OSS = 'https://image.ichunt.net'; //oss系统
const
API_BASE_OSS
=
'https://image.ichunt.net'
;
//oss系统
const
API
=
{
const
API
=
{
...
@@ -286,7 +286,23 @@ const API = {
...
@@ -286,7 +286,23 @@ const API = {
/**
/**
* H5盘点任务列表
* H5盘点任务列表
* */
* */
getStocktakeList
:
API_BASE
+
'/api/h5/stocktake/getStocktakeList'
getStocktakeList
:
API_BASE
+
'/api/h5/stocktake/getStocktakeList'
,
/**
* H5盘点操作列表
* */
stocktakeOperateList
:
API_BASE
+
'/api/h5/stocktake/stocktakeOperateList'
,
/**
* H5设置盘点数量
* */
updateStocktakeItemQty
:
API_BASE
+
'/api/h5/stocktake/updateStocktakeItemQty'
,
/**
* H5盘点记录
* */
getStockTakeRecord
:
API_BASE
+
'/api/h5/stocktake/getStockTakeRecord'
,
/**
* H5盘点库位列表统计
* */
positionListCount
:
API_BASE
+
'/api/h5/stocktake/positionListCount'
}
}
...
...
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