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
7a2b57b9
authored
May 15, 2024
by
LJM
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
优化
parent
fb29a294
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
82 additions
and
26 deletions
pages/tally/index.vue
util/api.js
pages/tally/index.vue
View file @
7a2b57b9
...
@@ -21,8 +21,8 @@
...
@@ -21,8 +21,8 @@
<input
class=
"uni-input"
:focus=
"is_focus_2"
:disabled=
"tallyData.detail && tallyData.detail.length > 0 && step == 1 && erp_order_sn !=''"
:class=
"{ 'disabled': tallyData.detail && tallyData.detail.length > 0 && step == 1 && erp_order_sn !='' }"
placeholder=
"输入或扫描入仓号"
placeholder-style=
"color:#000;font-weight: bold;"
v-model=
"erp_order_sn"
/>
<input
class=
"uni-input"
:focus=
"is_focus_2"
:disabled=
"tallyData.detail && tallyData.detail.length > 0 && step == 1 && erp_order_sn !=''"
:class=
"{ 'disabled': tallyData.detail && tallyData.detail.length > 0 && step == 1 && erp_order_sn !='' }"
placeholder=
"输入或扫描入仓号"
placeholder-style=
"color:#000;font-weight: bold;"
v-model=
"erp_order_sn"
/>
</view>
</view>
<view
class=
"action-bar row verCenter"
>
<view
class=
"action-bar row verCenter"
>
<text
class=
"iconfont icon-jinggao2"
@
click=
"clearInput(2)"
v-if=
"erp_order_sn
&& form.length == 0
"
></text>
<text
class=
"iconfont icon-jinggao2"
@
click=
"clearInput(2)"
v-if=
"erp_order_sn"
></text>
<
template
v-if=
"
tallyData.detail && tallyData.detail
.length > 0 && step == 1 && erp_order_sn != ''"
>
<
template
v-if=
"
form
.length > 0 && step == 1 && erp_order_sn != ''"
>
<view
class=
"btn1 row rowCenter verCenter"
style=
"margin-right: 8rpx;"
@
click=
"cancelRelease()"
>
取消释放
</view>
<view
class=
"btn1 row rowCenter verCenter"
style=
"margin-right: 8rpx;"
@
click=
"cancelRelease()"
>
取消释放
</view>
<view
class=
"btn row rowCenter verCenter"
@
click=
"closeBox()"
>
关单封箱
</view>
<view
class=
"btn row rowCenter verCenter"
@
click=
"closeBox()"
>
关单封箱
</view>
</
template
>
</
template
>
...
@@ -48,7 +48,7 @@
...
@@ -48,7 +48,7 @@
</
template
>
</
template
>
<!-- digikey等供应商-->
<!-- digikey等供应商-->
<
template
v-else
>
<
template
v-else
>
<input
class=
"uni-input"
:focus=
"is_focus_3"
placeholder=
"输入或扫描"
placeholder-style=
"color:#000;font-weight: bold;"
v-model=
"keyword"
@
input=
"handleInput($event,2)"
/>
<input
class=
"uni-input"
:focus=
"is_focus_3"
:confirm-type=
"'none'"
:hold-keyboard=
"false"
placeholder=
"输入或扫描"
placeholder-style=
"color:#000;font-weight: bold;"
v-model=
"keyword"
@
input=
"handleInput($event,2)"
/>
</
template
>
</
template
>
</view>
</view>
</view>
</view>
...
@@ -86,16 +86,21 @@
...
@@ -86,16 +86,21 @@
</view>
</view>
</view>
</view>
<!-- 列表 -->
<!-- 列表 -->
<view
class=
"list"
v-if=
"
tallyData && tallyData.detail
"
>
<view
class=
"list"
v-if=
"
form.length > 0
"
>
<scroll-view
scroll-y=
"true"
class=
"scroll-Y"
>
<scroll-view
scroll-y=
"true"
class=
"scroll-Y"
>
<view
class=
"box"
v-for=
"(item,index) in tallyData.detail"
:key=
"index"
:class=
"{disabled:item.tally_status == 3}"
>
<view
class=
"box"
v-for=
"(item,index) in tallyData.detail"
:key=
"index"
:class=
"{disabled:item.tally_status == 3}"
>
<view
class=
"title pb16 row verCenter"
>
<view
class=
"title pb16 row verCenter"
>
<text
class=
"t1"
>
{{item.goods_type}}
</text>
<text
class=
"t1"
>
{{item.goods_type}}
</text>
<text
class=
"t2 row rowCenter verCenter"
v-if=
"item.is_goods_check"
>
检
</text>
<text
class=
"t2 row rowCenter verCenter"
v-if=
"item.is_goods_check"
>
检
</text>
</view>
</view>
<view
class=
"pb16 row"
>
<view
class=
"pb16 row bothSide verCenter"
>
<text
class=
"t3 w130"
>
物料名称:
</text>
<view
class=
"row"
style=
"width: 50%;"
>
<text
class=
"t4"
>
{{item.goods_title}}
</text>
<text
class=
"t3 w130"
>
物料名称:
</text>
<text
class=
"t4"
>
{{item.goods_title}}
</text>
</view>
<view
class=
"row"
style=
"width: 50%;justify-content: flex-end;"
v-if=
"item.tally_status == 3"
>
<text
class=
"t4"
style=
"text-align: right;color: #197adb;"
>
{{item.box_sn}}
</text>
</view>
</view>
</view>
<view
class=
"pb16 row"
>
<view
class=
"pb16 row"
>
<text
class=
"t3 w130"
>
品牌:
</text>
<text
class=
"t3 w130"
>
品牌:
</text>
...
@@ -115,7 +120,7 @@
...
@@ -115,7 +120,7 @@
<!-- 完全理货 -->
<!-- 完全理货 -->
<
template
v-if=
"item.tally_status == 3"
>
<
template
v-if=
"item.tally_status == 3"
>
<view
class=
"row"
>
<view
class=
"row"
>
<text
class=
"t3 w130"
style=
"text-align: right;"
>
总数量:
</text>
<text
class=
"t3 w130"
>
总数量:
</text>
<text
class=
"t4"
>
{{
item
.
order_numbers
}}
</text>
<text
class=
"t4"
>
{{
item
.
order_numbers
}}
</text>
</view>
</view>
</
template
>
</
template
>
...
@@ -187,6 +192,12 @@
...
@@ -187,6 +192,12 @@
</view>
</view>
</scroll-view>
</scroll-view>
</view>
</view>
<!-- 无数据 -->
<view
class=
"no-data column verCenter rowCenter"
v-if=
"form.length == 0 && tallyData.create_time_cn"
>
<text
class=
"iconfont icon-jinggao2"
></text>
<text
class=
"text"
>
查找不到相关信息
</text>
<text
class=
"p"
>
1、请输入正确的入仓号和型号
</text>
</view>
<!-- 操作栏 -->
<!-- 操作栏 -->
<view
class=
"btn-list row verCenter bothSide"
v-if=
"!tallyData.detail"
>
<view
class=
"btn-list row verCenter bothSide"
v-if=
"!tallyData.detail"
>
<navigator
url=
"/pages/tally/fixBox"
class=
"box row rowCenter verCenter"
hover-class=
"none"
>
合 箱
</navigator>
<navigator
url=
"/pages/tally/fixBox"
class=
"box row rowCenter verCenter"
hover-class=
"none"
>
合 箱
</navigator>
...
@@ -204,7 +215,7 @@
...
@@ -204,7 +215,7 @@
<view
class=
"data-list"
>
<view
class=
"data-list"
>
<
template
v-if=
"origin_list.length > 0"
>
<
template
v-if=
"origin_list.length > 0"
>
<view
class=
"box row bothSide verCenter"
v-for=
"(item, index) in origin_list"
:key=
"index"
:class=
"
{ curr: filter_status[index] }" @click="filterChange(index)">
<view
class=
"box row bothSide verCenter"
v-for=
"(item, index) in origin_list"
:key=
"index"
:class=
"
{ curr: filter_status[index] }" @click="filterChange(index)">
<text
class=
"text"
>
{{
item
}}
</text>
<text
class=
"text"
>
{{
item
.
name
}}
</text>
<view
class=
"check-ico"
></view>
<view
class=
"check-ico"
></view>
</view>
</view>
</
template
>
</
template
>
...
@@ -295,6 +306,7 @@
...
@@ -295,6 +306,7 @@
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
;
this
.
clearInput
(
3
);
},
},
/**
/**
*筛选过滤出选中的元素
*筛选过滤出选中的元素
...
@@ -302,7 +314,7 @@
...
@@ -302,7 +314,7 @@
filterChange
(
index
)
{
filterChange
(
index
)
{
this
.
$set
(
this
.
filter_status
,
index
,
(
this
.
filter_status
[
index
]
=
!
this
.
filter_status
[
index
]));
this
.
$set
(
this
.
filter_status
,
index
,
(
this
.
filter_status
[
index
]
=
!
this
.
filter_status
[
index
]));
let
filter_arr
=
this
.
findIndex
(
this
.
filter_status
,
true
);
let
filter_arr
=
this
.
findIndex
(
this
.
filter_status
,
true
);
let
name
=
filter_arr
.
map
(
i
=>
this
.
origin_list
[
i
]);
let
name
=
filter_arr
.
map
(
i
=>
this
.
origin_list
[
i
]
.
value
);
this
.
form
[
this
.
curr
].
origin
=
name
[
0
];
this
.
form
[
this
.
curr
].
origin
=
name
[
0
];
this
.
$forceUpdate
();
this
.
$forceUpdate
();
this
.
$refs
.
popup
.
close
();
this
.
$refs
.
popup
.
close
();
...
@@ -325,6 +337,7 @@
...
@@ -325,6 +337,7 @@
}
}
}
else
if
(
type
==
2
)
{
}
else
if
(
type
==
2
)
{
if
(
value
)
{
if
(
value
)
{
uni
.
hideKeyboard
()
this
.
identifyQrCodeNumAndSn
();
this
.
identifyQrCodeNumAndSn
();
}
else
{
}
else
{
this
.
goods_type
=
''
;
this
.
goods_type
=
''
;
...
@@ -333,7 +346,7 @@
...
@@ -333,7 +346,7 @@
}
}
}
else
if
(
type
==
3
)
{
}
else
if
(
type
==
3
)
{
this
.
origin_list
=
[];
//数组清空
this
.
origin_list
=
[];
//数组清空
this
.
getOrigin
();
this
.
getOrigin
Cn
();
}
}
},
500
),
},
500
),
/**
/**
...
@@ -543,7 +556,6 @@
...
@@ -543,7 +556,6 @@
});
});
return
false
;
return
false
;
}
}
this
.
step
=
2
;
//标记点击了哪个按钮
if
(
this
.
index
==
0
)
{
if
(
this
.
index
==
0
)
{
//区分其他
//区分其他
this
.
keyword
=
''
;
this
.
keyword
=
''
;
...
@@ -563,14 +575,27 @@
...
@@ -563,14 +575,27 @@
this
.
isRequestSent
=
true
;
// 设置标志,防止重复发送请求
this
.
isRequestSent
=
true
;
// 设置标志,防止重复发送请求
this
.
request
(
API
.
scanQrCode
,
'POST'
,
{
data
:
this
.
keyword
,
type
:
codeType
,
device
:
device
.
deviceModel
},
true
).
then
(
res
=>
{
this
.
request
(
API
.
scanQrCode
,
'POST'
,
{
data
:
this
.
keyword
,
type
:
codeType
,
device
:
device
.
deviceModel
},
true
).
then
(
res
=>
{
this
.
isRequestSent
=
false
;
// 请求完成后重置标志
this
.
isRequestSent
=
false
;
// 请求完成后重置标志
if
(
res
.
code
===
0
)
{
if
(
res
.
err_
code
===
0
)
{
//如果后台搜索到型号则替换输入框的值
//如果后台搜索到型号则替换输入框的值
let
model
=
res
.
data
.
model
||
res
.
data
.
model2
;
let
model
=
res
.
data
.
model
||
res
.
data
.
model2
;
if
(
model
)
{
if
(
model
)
{
this
.
keyword
=
model
;
//兼容TME
this
.
keyword
=
model
;
//兼容TME
this
.
goods_type
=
model
;
//赋值检索出来的型号
this
.
goods_type
=
model
;
//赋值检索出来的型号
}
}
this
.
getTallyData
();
this
.
getTallyData
((
json
)
=>
{
//解析出一个物料的情况下才执行此操作
if
(
json
.
length
==
1
)
{
//解析处理的产地
if
(
res
.
data
.
origin
)
{
var
originIndex
=
this
.
origin_list
.
findIndex
(
item
=>
item
.
name
.
split
(
'|'
).
includes
(
res
.
data
.
origin
));
//通过英文去匹配出对应的中文国家
this
.
$set
(
this
.
form
[
0
],
'origin'
,
this
.
origin_list
[
originIndex
].
value
);
}
//解析处理的数量
if
(
res
.
data
.
qty
)
{
this
.
$set
(
this
.
form
[
0
],
'tally_num'
,
res
.
data
.
qty
);
}
}
});
}
else
{
}
else
{
uni
.
showToast
({
uni
.
showToast
({
title
:
res
.
msg
,
title
:
res
.
msg
,
...
@@ -625,6 +650,22 @@
...
@@ -625,6 +650,22 @@
});
});
},
},
/**
/**
* 获取产地升级版
*/
getOriginCn
()
{
this
.
request
(
API
.
getOriginCn
,
'GET'
,
{
coo
:
this
.
origin
},
true
).
then
(
res
=>
{
if
(
res
.
err_code
===
0
)
{
this
.
origin_list
=
res
.
data
;
this
.
filter_status
=
createArray
(
this
.
origin_list
.
length
,
false
);
}
else
{
uni
.
showToast
({
title
:
res
.
err_msg
,
icon
:
'none'
});
}
});
},
/**
* 锁定理货
* 锁定理货
*/
*/
lockTally
()
{
lockTally
()
{
...
@@ -650,12 +691,12 @@
...
@@ -650,12 +691,12 @@
* 获取锁定理货信息
* 获取锁定理货信息
*
*
*/
*/
getTallyData
()
{
getTallyData
(
callback
)
{
this
.
request
(
API
.
getTallyData
,
'POST'
,
{
erp_order_sn
:
this
.
erp_order_sn
,
goods_type
:
this
.
goods_type
},
true
).
then
(
res
=>
{
this
.
request
(
API
.
getTallyData
,
'POST'
,
{
erp_order_sn
:
this
.
erp_order_sn
,
goods_type
:
this
.
goods_type
},
true
).
then
(
res
=>
{
if
(
res
.
err_code
===
0
)
{
if
(
res
.
err_code
===
0
)
{
this
.
tallyData
=
res
.
data
;
this
.
tallyData
=
res
.
data
;
if
(
res
.
data
.
detail
.
length
>
0
)
{
if
(
res
.
data
.
detail
.
length
>
0
)
{
this
.
getOrigin
();
//获取产地
this
.
getOrigin
Cn
();
//获取产地
// 使用 map 方法生成表单数组
// 使用 map 方法生成表单数组
this
.
form
=
res
.
data
.
detail
.
map
((
item
)
=>
({
this
.
form
=
res
.
data
.
detail
.
map
((
item
)
=>
({
...
@@ -679,11 +720,10 @@
...
@@ -679,11 +720,10 @@
this
.
image_list
[
index
]
=
item
.
goods_check_pic
.
split
(
','
);
this
.
image_list
[
index
]
=
item
.
goods_check_pic
.
split
(
','
);
}
}
});
});
typeof
callback
==
'function'
&&
callback
(
this
.
form
);
}
else
{
}
else
{
uni
.
showToast
({
this
.
form
=
[];
title
:
'查询不到该箱号信息'
,
icon
:
'none'
});
}
}
}
else
{
}
else
{
uni
.
showToast
({
uni
.
showToast
({
...
@@ -697,6 +737,14 @@
...
@@ -697,6 +737,14 @@
* 理货明细提交
* 理货明细提交
*/
*/
submitTallyDetail
(
index
)
{
submitTallyDetail
(
index
)
{
if
(
!
this
.
box_sn
)
{
uni
.
showModal
({
title
:
''
,
content
:
'请先取箱号!并将打印的箱号贴于外箱上'
,
showCancel
:
false
});
return
false
;
}
if
(
!
this
.
form
[
index
].
tally_num
)
{
if
(
!
this
.
form
[
index
].
tally_num
)
{
uni
.
showToast
({
uni
.
showToast
({
title
:
'入库数量必填'
,
title
:
'入库数量必填'
,
...
@@ -738,11 +786,16 @@
...
@@ -738,11 +786,16 @@
this
.
getTallyData
();
this
.
getTallyData
();
},
2000
);
},
2000
);
}
else
if
(
res
.
err_code
===
10000
)
{
}
else
if
(
res
.
err_code
===
10000
)
{
console
.
log
(
res
.
err_msg
)
uni
.
showModal
({
uni
.
showModal
({
title
:
''
,
title
:
''
,
content
:
res
.
err_msg
,
content
:
res
.
err_msg
,
showCancel
:
false
showCancel
:
false
,
success
:
(
res
)
=>
{
if
(
res
.
confirm
)
{
// 用户点击确定按钮后的操作
this
.
getTallyData
();
}
}
});
});
}
else
{
}
else
{
uni
.
showToast
({
uni
.
showToast
({
...
@@ -783,17 +836,15 @@
...
@@ -783,17 +836,15 @@
cancelRelease
()
{
cancelRelease
()
{
uni
.
showModal
({
uni
.
showModal
({
title
:
'提示'
,
title
:
'提示'
,
content
:
'确定取消释放该
箱
号吗?'
,
content
:
'确定取消释放该
入仓
号吗?'
,
success
:
(
res
)
=>
{
success
:
(
res
)
=>
{
if
(
res
.
confirm
)
{
if
(
res
.
confirm
)
{
this
.
request
(
API
.
cancelRelease
,
'POST'
,
{
wsty_id
:
this
.
wsty_id
,
erp_order_sn
:
this
.
erp_order_sn
},
true
).
then
(
res
=>
{
this
.
request
(
API
.
cancelRelease
,
'POST'
,
{
wsty_id
:
this
.
wsty_id
,
erp_order_sn
:
this
.
erp_order_sn
},
true
).
then
(
res
=>
{
if
(
res
.
err_code
===
0
)
{
if
(
res
.
err_code
===
0
)
{
this
.
tallyData
=
[];
this
.
box_sn
=
''
;
this
.
wsty_id
=
''
;
this
.
erp_order_sn
=
''
;
this
.
erp_order_sn
=
''
;
this
.
goods_type
=
''
;
this
.
goods_type
=
''
;
this
.
keyword
=
''
;
this
.
keyword
=
''
;
this
.
tallyData
=
[];
this
.
form
=
[];
this
.
form
=
[];
}
else
{
}
else
{
uni
.
showToast
({
uni
.
showToast
({
...
@@ -926,6 +977,7 @@
...
@@ -926,6 +977,7 @@
setTimeout
(()
=>
{
setTimeout
(()
=>
{
this
.
is_focus_2
=
true
;
this
.
is_focus_2
=
true
;
},
200
);
},
200
);
this
.
getTallyData
();
}
else
if
(
type
==
3
)
{
}
else
if
(
type
==
3
)
{
this
.
goods_type
=
''
;
this
.
goods_type
=
''
;
this
.
keyword
=
''
;
this
.
keyword
=
''
;
...
...
util/api.js
View file @
7a2b57b9
...
@@ -203,6 +203,10 @@ const API = {
...
@@ -203,6 +203,10 @@ const API = {
*/
*/
getOrigin
:
API_BASE
+
'/supplywechatwms/getOrigin'
,
getOrigin
:
API_BASE
+
'/supplywechatwms/getOrigin'
,
/**
/**
* 获取产地升级版
*/
getOriginCn
:
API_BASE
+
'/supplywechatwms/getOriginCn'
,
/**
* 获取合箱子入仓号
* 获取合箱子入仓号
*/
*/
getFixErpOrderSn
:
API_BASE
+
'/supplywechatwms/getFixErpOrderSn'
,
getFixErpOrderSn
:
API_BASE
+
'/supplywechatwms/getFixErpOrderSn'
,
...
...
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