Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
梁建民
/
wmsMin
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
c6d5b1ec
authored
Sep 16, 2023
by
LJM
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
理货
parent
55b3459b
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
236 additions
and
31 deletions
assets/css/tallyGoods/confirm.scss
assets/css/tallyGoods/manualMerge.scss
assets/css/tallyGoods/originSplit.scss
pages.json
pages/goods/tally.vue
pages/tallyGoods/confirm.vue
pages/tallyGoods/manualMerge.vue
pages/tallyGoods/originSplit.vue
uni_modules/uni-popup/components/uni-popup/uni-popup.vue
util/api.js
util/util.js
assets/css/tallyGoods/confirm.scss
View file @
c6d5b1ec
.page-box
{
margin-top
:
24rpx
;
padding
:
0
24rpx
;
padding
:
0
24rpx
24rpx
24rpx
;
.scanBarcode
{
height
:
88rpx
;
background
:
#ffffff
;
...
...
@@ -160,6 +160,7 @@
}
}
.model-upload-list
{
border-top
:
1rpx
solid
#e6edf0
;
.box
{
height
:
80rpx
;
border-bottom
:
1rpx
solid
#e6edf0
;
...
...
@@ -219,5 +220,8 @@
border-radius
:
4rpx
;
font-size
:
28rpx
;
color
:
#ffffff
;
&
.disabled
{
opacity
:
0
.7
;
}
}
}
assets/css/tallyGoods/manualMerge.scss
View file @
c6d5b1ec
...
...
@@ -51,8 +51,10 @@
border-top
:
1px
solid
#e6edf0
;
padding-top
:
24rpx
;
.t1
{
width
:
110rpx
;
font-size
:
22rpx
;
color
:
#6e767a
;
white-space
:
nowrap
;
margin-right
:
29rpx
;
}
.t2
{
...
...
assets/css/tallyGoods/originSplit.scss
View file @
c6d5b1ec
...
...
@@ -132,3 +132,86 @@
color
:
#ffffff
;
}
}
.popup-content
{
padding
:
28rpx
24rpx
24rpx
24rpx
;
.selected-items
{
flex-wrap
:
wrap
;
.box
{
padding
:
0
12rpx
;
height
:
44rpx
;
background
:
#ffffff
;
border-radius
:
4rpx
;
border
:
1rpx
solid
#197adb
;
margin-right
:
16rpx
;
margin-bottom
:
16rpx
;
.text
{
font-size
:
24rpx
;
color
:
#197adb
;
}
.close
{
margin-left
:
5rpx
;
font-size
:
36rpx
;
color
:
#197adb
;
}
}
}
.search-baar
{
height
:
88rpx
;
background
:
#ffffff
;
border-radius
:
4rpx
;
padding-left
:
24rpx
;
margin-bottom
:
16rpx
;
.iconfont
{
font-size
:
36rpx
;
color
:
#6e767a
;
}
.uni-input
{
margin-left
:
15rpx
;
font-size
:
28rpx
;
color
:
#404547
;
}
}
.data-list
{
background
:
#ffffff
;
border-radius
:
4rpx
;
margin-bottom
:
22rpx
;
max-height
:
504rpx
;
overflow-y
:
auto
;
.box
{
margin
:
0
24rpx
;
height
:
84rpx
;
border-bottom
:
1rpx
solid
#e6edf0
;
&
:last-child
{
border-bottom
:
none
;
}
.text
{
font-size
:
26rpx
;
color
:
#404547
;
}
.check-ico
{
width
:
24rpx
;
height
:
25rpx
;
background
:
url('https://img.ichunt.com/images/ichunt/202309/14/3743c01230310f62a2afa41a6c2eea96.png')
no-repeat
center
;
background-size
:
contain
;
display
:
block
;
}
&
.curr
{
.text
{
color
:
#197adb
;
}
.check-ico
{
background
:
url('https://img.ichunt.com/images/ichunt/202309/14/e651ddae61b5f02af4129f723b2cf74f.png')
no-repeat
center
;
background-size
:
contain
;
}
}
}
}
.pop-btn
{
height
:
88rpx
;
background
:
#197adb
;
border-radius
:
4rpx
;
font-size
:
28rpx
;
color
:
#ffffff
;
}
}
pages.json
View file @
c6d5b1ec
...
...
@@ -67,7 +67,7 @@
},
{
"path"
:
"pages/goods/tally"
,
"style"
:
{
"navigationBarTitleText"
:
"
理货列表
"
"navigationBarTitleText"
:
"
异常理货
"
}
},
{
"path"
:
"pages/goods/tallyExectionDetail"
,
...
...
pages/goods/tally.vue
View file @
c6d5b1ec
...
...
@@ -4,7 +4,7 @@
<view
class=
"search-box"
>
<view
class=
"search-input row bothSide verCenter"
>
<text
class=
"iconfont icon-a-riqi11"
></text>
<input
type=
"text"
@
input=
"inputChange()"
placeholder=
"请
手动输入入仓号或扫描
"
class=
"uni-input"
v-model=
"number"
placeholder-style=
"color:#6e767a"
/>
<input
type=
"text"
@
input=
"inputChange()"
placeholder=
"请
输入入仓号
"
class=
"uni-input"
v-model=
"number"
placeholder-style=
"color:#6e767a"
/>
<text
class=
"scan iconfont icon-juxing6"
@
click=
"scanChange()"
></text>
</view>
</view>
...
...
@@ -92,7 +92,7 @@ export default {
return
{
currentIndex
:
0
,
is_complete
:
false
,
textArr
:
[
'等待
理货'
,
'理货异常
'
],
textArr
:
[
'等待
回复'
,
'商务已回复
'
],
number
:
''
,
total
:
0
,
page
:
1
,
...
...
pages/tallyGoods/confirm.vue
View file @
c6d5b1ec
This diff is collapsed.
Click to expand it.
pages/tallyGoods/manualMerge.vue
View file @
c6d5b1ec
...
...
@@ -2,7 +2,7 @@
<view
class=
"page-box"
>
<view
class=
"title row bothSide verCenter"
>
<text
class=
"t1"
>
当前入仓号
</text>
<text
class=
"t2"
>
B123456
</text>
<text
class=
"t2"
>
{{
erp_order_sn
}}
</text>
</view>
<view
class=
"select-split"
>
<view
class=
"box"
>
...
...
@@ -14,39 +14,39 @@
<view
class=
"uni-text"
@
click=
"open()"
>
请选择
</view>
<text
class=
"iconfont icon-sanjiaoxing1"
></text>
</view>
<view
class=
"boxed_result row
verCenter
"
>
<view
class=
"boxed_result row
"
v-if=
"filter_list.length > 0
"
>
<text
class=
"t1"
>
合箱结果:
</text>
<view
class=
"row verCenter"
>
<text
class=
"t2"
>
B123459
</text>
<text
class=
"t3"
>
+
</text>
<text
class=
"t2"
>
B123459
</text>
<text
class=
"t3"
>
+
</text>
<text
class=
"t2"
>
B123459
</text>
<view
class=
"row verCenter"
style=
"flex-wrap: wrap;"
>
<block
v-for=
"(item, index) in filter_list"
:key=
"index"
>
<text
class=
"t2"
>
{{
item
}}
</text>
<text
v-if=
"index
<
filter
_list
.
length
-
1
"
class=
"t3"
>
+
</text>
</block>
</view>
</view>
</view>
</view>
<view
class=
"btn row rowCenter verCenter"
@
click=
"submit()"
>
确 认
</view>
<view
class=
"btn-reset row rowCenter verCenter"
@
click=
"submit()"
>
重 置
</view>
<view
class=
"btn-reset row rowCenter verCenter"
@
click=
"reset()"
>
重 置
</view>
<!-- 选择箱号 -->
<uni-popup
ref=
"popup"
background-color=
"#F1F4F6"
>
<view
class=
"popup-content"
>
<view
class=
"selected-items row"
>
<view
class=
"box row verCenter"
v-for=
"(item, index) in
10
"
:key=
"index"
>
<text
class=
"text"
>
B123456
</text>
<text
class=
"close"
>
×
</text>
<view
class=
"box row verCenter"
v-for=
"(item, index) in
filter_list
"
:key=
"index"
>
<text
class=
"text"
>
{{
item
}}
</text>
<text
class=
"close"
@
click=
"deleteChange(item)"
>
×
</text>
</view>
</view>
<view
class=
"search-baar row verCenter"
>
<text
class=
"iconfont icon-a-riqi11"
></text>
<input
type=
"text"
class=
"uni-input"
placeholder=
"请输入箱号"
placeholder-style=
"font-size:26rpx;color:#6E767A;"
/>
<input
type=
"text"
class=
"uni-input"
placeholder=
"请输入箱号"
placeholder-style=
"font-size:26rpx;color:#6E767A;"
@
input=
"onInput"
v-model=
"searchParams.erp_order_sn"
/>
</view>
<view
class=
"data-list"
>
<view
class=
"box row bothSide verCenter
curr"
v-for=
"(item, index) in 30"
:key=
"index
"
>
<text
class=
"text"
>
B0000
{{
index
}}
</text>
<view
class=
"check-ico"
></view>
<view
class=
"box row bothSide verCenter
"
v-for=
"(item, index) in list"
:key=
"index"
:class=
"
{ curr: filter_status[index] }
">
<text
class=
"text"
>
{{
item
.
name
}}
</text>
<view
class=
"check-ico"
@
click=
"filterChange(index)"
></view>
</view>
</view>
<view
class=
"pop-btn row rowCenter verCenter"
>
确 认
</view>
<view
class=
"pop-btn row rowCenter verCenter"
@
click=
"confirmChange"
>
确 认
</view>
</view>
</uni-popup>
</view>
...
...
@@ -54,23 +54,77 @@
<
script
>
import
{
API
}
from
'@/util/api.js'
;
import
{
createArray
}
from
'@/util/util.js'
;
export
default
{
data
()
{
return
{
goods_list_index
:
-
1
,
goods_list
:
[
'1-2328702-0'
,
'1-2328701'
]
erp_order_sn
:
''
,
list
:
[],
fix_erp_order_sn
:
''
,
//已选择的合箱数据
filter_list
:
[],
//过滤处理的数据
filter_status
:
[],
//控制状态
searchParams
:
{
erp_order_sn
:
''
}
};
},
onLoad
(
options
)
{},
onLoad
(
options
)
{
this
.
erp_order_sn
=
options
.
erp_order_sn
||
''
;
//携带的子箱号数据
this
.
fix_erp_order_sn
=
options
.
fix_erp_order_sn
||
''
;
if
(
this
.
fix_erp_order_sn
)
{
this
.
filter_list
=
this
.
fix_erp_order_sn
.
split
(
','
);
}
},
onShow
()
{
this
.
getData
();
},
methods
:
{
open
()
{
this
.
$refs
.
popup
.
open
(
'bottom'
);
},
onInput
()
{
// 清除之前的定时器
clearTimeout
(
this
.
timer
);
this
.
timer
=
setTimeout
(()
=>
{
this
.
list
=
[];
//数组清空
this
.
getData
();
},
800
);
},
/**
* 找出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_status
,
index
,
(
this
.
filter_status
[
index
]
=
!
this
.
filter_status
[
index
]));
let
filter_arr
=
this
.
findIndex
(
this
.
filter_status
,
true
);
this
.
filter_list
=
filter_arr
.
map
(
i
=>
this
.
list
[
i
].
name
);
},
getData
()
{
this
.
request
(
API
.
get
CheckInList
,
'POST'
,
{
number
:
this
.
id
},
this
.
loading
).
then
(
res
=>
{
this
.
request
(
API
.
get
FixErpOrderSn
,
'POST'
,
{
erp_order_sn
:
this
.
searchParams
.
erp_order_sn
},
true
).
then
(
res
=>
{
if
(
res
.
err_code
===
0
)
{
this
.
form
.
checkIn
=
res
.
data
[
0
];
this
.
list
=
res
.
data
;
this
.
filter_status
=
createArray
(
this
.
list
.
length
,
false
);
//携带的数据转化
if
(
this
.
fix_erp_order_sn
)
{
const
fixSnArray
=
this
.
fix_erp_order_sn
.
split
(
','
);
this
.
filter_status
=
this
.
list
.
map
(
item
=>
fixSnArray
.
includes
(
item
.
name
));
}
}
else
{
uni
.
showToast
({
title
:
res
.
err_msg
,
...
...
@@ -79,7 +133,27 @@ export default {
}
});
},
submit
()
{}
confirmChange
()
{
this
.
$refs
.
popup
.
close
();
},
submit
()
{
uni
.
$emit
(
'updateData'
,
this
.
filter_list
);
uni
.
navigateBack
({
delta
:
1
});
},
reset
()
{
this
.
filter_list
=
[];
this
.
filter_status
.
fill
(
false
);
},
deleteChange
(
val
)
{
const
matchingIndex
=
this
.
list
.
findIndex
(
item
=>
item
.
name
===
val
);
if
(
matchingIndex
!==
-
1
)
{
this
.
filter_status
[
matchingIndex
]
=
false
;
this
.
filter_list
=
this
.
filter_list
.
filter
(
item
=>
item
!==
val
);
this
.
$forceUpdate
();
}
}
}
};
</
script
>
...
...
pages/tallyGoods/originSplit.vue
View file @
c6d5b1ec
This diff is collapsed.
Click to expand it.
uni_modules/uni-popup/components/uni-popup/uni-popup.vue
View file @
c6d5b1ec
This diff is collapsed.
Click to expand it.
util/api.js
View file @
c6d5b1ec
//const API_BASE = 'https://api.ichunt.com';
// const API_BASE = 'https://api.ichunt.com';
// const API_BASE_OSS = 'https://image.ichunt.net'; //oss系统
const
API_BASE
=
'http://api.liexin.com'
;
const
API_BASE_OSS
=
'http://image.liexindev.net'
;
//oss系统
const
API
=
{
/**
* 上传数据
...
...
@@ -26,6 +30,10 @@ const API = {
* */
upload
:
API_BASE
+
'/oss/upload'
,
/**
* 上传文件
* */
uploadImage
:
API_BASE_OSS
+
'/uploadImage'
,
/**
* 生成打印标签数据
* */
printLabel
:
API_BASE
+
'/supplywechatwms/printLabel'
,
...
...
@@ -160,7 +168,32 @@ const API = {
/**
* 提交当前箱号的数据
*/
submitBoxSnAndNum
:
API_BASE
+
'/supplywechatwms/submitBoxSnAndNum'
submitBoxSnAndNum
:
API_BASE
+
'/supplywechatwms/submitBoxSnAndNum'
,
/**
* 获取入仓号的理货数据
*/
getTallyGoods
:
API_BASE
+
'/supplywechatwms/getTallyGoods'
,
/**
* 检测入仓号是否理货
*/
checkErpOrderSnIsTally
:
API_BASE
+
'/supplywechatwms/checkErpOrderSnIsTally'
,
/**
* 获取产地
*/
getOrigin
:
API_BASE
+
'/supplywechatwms/getOrigin'
,
/**
* 获取合箱子入仓号
*/
getFixErpOrderSn
:
API_BASE
+
'/supplywechatwms/getFixErpOrderSn'
,
/**
* 修改是否查看
*/
changeWatch
:
API_BASE
+
'/supplywechatwms/changeWatch'
,
/**
* 提交理货
*/
submitTallyGoods
:
API_BASE
+
'/supplywechatwms/submitTallyGoods'
}
...
...
util/util.js
View file @
c6d5b1ec
import
API_BASE
from
'../util/api.js'
/**
* 请求封装
*/
...
...
@@ -88,9 +87,18 @@ const debounce = (fn, wait) => {
}
/**
* 来创建指定长度且所有元素都被初始化为 false 的数组
*/
const
createArray
=
(
length
,
value
)
=>
{
return
Array
(
length
).
fill
(
value
);
}
module
.
exports
=
{
request
,
getPlatform
,
titleCase
,
debounce
debounce
,
createArray
}
\ No newline at end of file
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