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
c3dc43c4
authored
Aug 09, 2024
by
LJM
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
add
parent
f6941768
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
379 additions
and
20 deletions
assets/css/tally/addAbnormal.scss
assets/css/tally/index.scss
pages/home/index.vue
pages/tally/abnormalManageList.vue
pages/tally/addAbnormal.vue
pages/tally/index.vue
util/api.js
assets/css/tally/addAbnormal.scss
View file @
c3dc43c4
.page-box
{
.base-information
{
padding
:
0
24rpx
;
background
:
#ffffff
;
border-radius
:
4rpx
;
margin-bottom
:
16rpx
;
.top
{
padding
:
23rpx
0
;
border-bottom
:
1px
solid
#e6edf0
;
.title
{
.arrow
{
width
:
12rpx
;
height
:
12rpx
;
background
:
#197adb
;
margin-right
:
16rpx
;
border-radius
:
50%
;
}
.tt
{
font-size
:
32rpx
;
color
:
#1e2021
;
font-weight
:
bold
;
}
}
.toggle
{
.iconfont
{
font-size
:
15rpx
;
color
:
#9ca8ad
;
transform
:
rotate
(
180deg
);
}
.tt
{
margin-left
:
11rpx
;
font-size
:
24rpx
;
color
:
#404547
;
}
.rotate
{
transform
:
rotate
(
0deg
);
}
}
}
.text-box
{
padding
:
24rpx
0
;
flex-wrap
:
wrap
;
.input-box
{
margin-bottom
:
18rpx
;
flex
:
0
0
50%
;
.label
{
width
:
132rpx
;
font-size
:
28rpx
;
color
:
#919399
;
white-space
:
nowrap
;
}
.text
{
font-size
:
28rpx
;
color
:
#484b59
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
}
.desc
{
font-size
:
28rpx
;
color
:
#484b59
;
word-break
:
break-all
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
display
:
-
webkit-box
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
2
;
}
.tt
{
font-size
:
28rpx
;
color
:
#1969f9
;
}
}
}
.pp
{
height
:
80rpx
;
.t1
{
width
:
156rpx
;
font-size
:
24rpx
;
color
:
#6e767a
;
}
.input-wrap
{
.uni-input
{
font-size
:
24rpx
;
}
}
}
.scan-view
{
.iconfont
{
font-size
:
48rpx
;
color
:
#197adb
;
}
}
}
.abnormal-information
{
padding
:
24rpx
;
background
:
#ffffff
;
border-radius
:
4rpx
;
margin-bottom
:
48rpx
;
.top
{
margin-bottom
:
24rpx
;
.title
{
.arrow
{
width
:
12rpx
;
height
:
12rpx
;
background
:
#197adb
;
margin-right
:
16rpx
;
border-radius
:
50%
;
}
.tt
{
font-size
:
32rpx
;
color
:
#1e2021
;
font-weight
:
bold
;
}
}
}
.box
{
height
:
80rpx
;
border-bottom
:
1px
solid
#e6edf0
;
.label
{
position
:
relative
;
width
:
183rpx
;
font-size
:
24rpx
;
color
:
#6e767a
;
&
.required
:after
{
position
:
absolute
;
left
:
-10rpx
;
top
:
-4rpx
;
content
:
'*'
;
color
:
red
;
display
:
block
;
}
}
.input-wrap
{
width
:
calc
(
100%
-
183rpx
);
.tab-panel
{
&
:last-child
{
margin-right
:
0
;
}
}
}
.tab
{
.tab-panel
{
width
:
120rpx
;
height
:
48rpx
;
background
:
#9ca8ad
;
border-radius
:
4rpx
;
font-size
:
24rpx
;
color
:
#ffffff
;
margin-right
:
24rpx
;
&
.curr
{
background
:
#197adb
;
}
}
}
.uni-list-cell-db
{
width
:
calc
(
100%
-
183rpx
);
position
:
relative
;
.icon-sanjiaoxing1
{
position
:
absolute
;
right
:
0
;
top
:
15rpx
;
font-size
:
17rpx
;
color
:
#9ca8ad
;
}
}
.uni-input
{
font-size
:
24rpx
;
color
:
#404547
;
font-weight
:
bold
;
}
.uni-input-box
{
width
:
calc
(
100%
-
183rpx
);
.uni-input
{
font-size
:
24rpx
;
color
:
#404547
;
font-weight
:
bold
;
}
.scan-view
{
.iconfont
{
font-size
:
48rpx
;
color
:
#197adb
;
margin-right
:
10rpx
;
}
.tt
{
font-size
:
24rpx
;
color
:
#197adb
;
}
}
}
}
.upload-box
{
position
:
relative
;
z-index
:
1
;
padding-top
:
23rpx
;
padding-bottom
:
24rpx
;
.title
{
margin-bottom
:
24rpx
;
.tt-l
{
font-size
:
24rpx
;
color
:
#6e767a
;
}
.tt-r
{
font-size
:
24rpx
;
color
:
#404547
;
}
}
.upload-list
{
padding-bottom
:
24rpx
;
border-bottom
:
1px
solid
#e6edf0
;
.default
{
width
:
144rpx
;
height
:
144rpx
;
background-color
:
#f1f4f6
;
border
:
1rpx
solid
#e6edf0
;
.iconfont
{
font-size
:
48rpx
;
color
:
#d8d8d8
;
}
}
.pic-box
{
position
:
relative
;
flex
:
0
0
25%
;
margin-right
:
10rpx
;
&
:nth-of-type
(
4n
)
{
margin-right
:
0
;
}
image
{
width
:
144rpx
;
height
:
144rpx
;
}
.delete
{
position
:
absolute
;
right
:
10rpx
;
top
:
-13rpx
;
width
:
30rpx
;
height
:
30rpx
;
border-radius
:
50%
;
background-color
:
#bb3434
;
z-index
:
999
;
.iconfont
{
font-size
:
20rpx
;
color
:
#ffffff
;
}
}
}
}
.textarea-box
{
position
:
relative
;
padding-top
:
23rpx
;
textarea
{
height
:
80rpx
;
font-size
:
24rpx
;
color
:
#6e767a
;
border-bottom
:
1px
solid
#e6edf0
;
}
.quickExpressions
{
margin-top
:
12rpx
;
flex-wrap
:
wrap
;
.lable-box
{
color
:
#197adb
;
font-size
:
26rpx
;
margin-right
:
30rpx
;
margin-bottom
:
10rpx
;
}
}
}
}
}
.btn
{
position
:
fixed
;
bottom
:
10rpx
;
z-index
:
2
;
left
:
0
;
right
:
0
;
height
:
88rpx
;
background
:
#197adb
;
border-radius
:
4rpx
;
font-size
:
28rpx
;
color
:
#ffffff
;
margin
:
0
24rpx
;
}
}
assets/css/tally/index.scss
View file @
c3dc43c4
...
...
@@ -218,6 +218,19 @@
margin-right
:
0
;
}
}
.num
{
position
:
absolute
;
width
:
40rpx
;
height
:
40rpx
;
line-height
:
20px
;
border-radius
:
20rpx
;
background
:
red
;
color
:
#fff
;
top
:
-9rpx
;
right
:
8rpx
;
font-size
:
24rpx
;
text-align
:
center
;
}
}
.scroll-Y
{
height
:
100%
;
...
...
pages/home/index.vue
View file @
c3dc43c4
...
...
@@ -149,11 +149,6 @@
name
:
'货品查询'
,
iconfont
:
'icon-huopinchaxun'
,
tips
:
''
},
{
name
:
'异常管理'
,
iconfont
:
'icon-a-10cangkucangchu1'
,
tips
:
''
}
]
};
...
...
pages/tally/abnormalManageList.vue
View file @
c3dc43c4
...
...
@@ -20,16 +20,19 @@
</view>
<view
class=
"row radio-box"
>
<radio-group
@
change=
"radioChange"
class=
"row verCenter"
style=
"width: 100%;"
>
<label
class=
"radio row verCenter"
style=
"width: 30%;"
>
<label
class=
"radio row verCenter"
>
<radio
value=
""
style=
"transform:scale(0.7)"
color=
"#197adb"
/>
全部
</label>
<label
class=
"radio row verCenter"
>
<radio
value=
"0"
style=
"transform:scale(0.7)"
color=
"#197adb"
/>
待业务处理
</label>
<label
class=
"radio row verCenter"
style=
"width: 30%;"
>
<label
class=
"radio row verCenter"
>
<radio
value=
"1"
style=
"transform:scale(0.7)"
color=
"#197adb"
/>
待仓库确认
</label>
<label
class=
"radio row verCenter"
style=
"width: 20%;"
>
<label
class=
"radio row verCenter"
>
<radio
value=
"2"
style=
"transform:scale(0.7)"
color=
"#197adb"
/>
已确认
</label>
<label
class=
"radio row verCenter"
style=
"width: 20%;"
>
<label
class=
"radio row verCenter"
>
<radio
value=
"-1"
style=
"transform:scale(0.7)"
color=
"#197adb"
/>
作废
</label>
</radio-group>
...
...
@@ -40,7 +43,7 @@
<view
class=
"box row"
v-for=
"(item, index) in list"
:key=
"index"
>
<view
class=
"input-box row verCenter bothSide"
style=
"flex: 0 0 100%;"
>
<view>
<text
class=
"tt"
style=
"color: #000;font-weight: bold;"
@
click=
"open()"
>
{{
item
.
entrust_no
}}
</text>
<text
class=
"tt"
style=
"color: #000;font-weight: bold;"
>
{{
item
.
entrust_no
}}
</text>
</view>
<view
class=
"row verCenter"
>
<text
class=
"text"
style=
"color: red;font-weight: bold;"
>
{{
item
.
abnormal_type_val
}}
</text>
...
...
@@ -57,7 +60,9 @@
</view>
<view
class=
"input-box row verCenter"
style=
"flex: 0 0 100%;"
>
<text
class=
"label"
>
实物型号:
</text>
<text
class=
"text"
>
{{
item
.
actual_model
}}
</text>
<view
class=
"text"
>
<rich-text
:nodes=
"highlightDifferences(item.order_model, item.actual_model)"
></rich-text>
</view>
</view>
<view
class=
"input-box row verCenter"
style=
"flex: 0 0 100%;"
>
<text
class=
"label"
>
订单品牌:
</text>
...
...
@@ -190,8 +195,9 @@
export
default
{
data
()
{
return
{
noexebshowFalg
:
true
,
//控制是否会触发生命周期
page
:
1
,
limit
:
3
0
,
limit
:
1
0
,
list
:
[],
index
:
0
,
array
:
[
'全量搜索'
],
...
...
@@ -207,7 +213,8 @@
allOrderDataByEntrustNoIndex
:
-
1
,
order_id
:
''
,
searchParams
:
{
keyword
:
''
keyword
:
''
,
abnormal_status
:
''
}
};
},
...
...
@@ -220,12 +227,14 @@
},
onNavigationBarButtonTap
(
e
)
{
if
(
e
.
index
==
0
)
{
this
.
open
();
}
},
onShow
()
{
this
.
getData
();
this
.
$refs
.
popup
.
open
();
if
(
this
.
noexebshowFalg
)
{
this
.
resetChange
();
this
.
getData
();
}
},
methods
:
{
/**
...
...
@@ -242,7 +251,9 @@
},
radioChange
:
function
(
e
)
{
var
value
=
e
.
detail
.
value
;
console
.
log
(
value
)
this
.
searchParams
.
abnormal_status
=
value
;
this
.
resetChange
();
this
.
getData
();
},
getData
()
{
this
.
request
(
API
.
abnormalManageList
,
'GET'
,
{
page
:
this
.
page
,
limit
:
this
.
limit
,
...
this
.
searchParams
},
true
).
then
(
res
=>
{
...
...
@@ -263,6 +274,38 @@
});
},
/**
* 比较两个字符串并标记不同的字符
* @param {string} str1 - 第一个字符串
* @param {string} str2 - 第二个字符串
* @returns {string} 处理后的第二个字符串,带有<em>标签
*/
highlightDifferences
(
str1
,
str2
)
{
// 去除前后空格
str1
=
str1
.
trim
();
str2
=
str2
.
trim
();
// 初始化结果字符串
let
result
=
''
;
const
maxLength
=
Math
.
max
(
str1
.
length
,
str2
.
length
);
// 逐字符比较
for
(
let
i
=
0
;
i
<
maxLength
;
i
++
)
{
const
char1
=
str1
[
i
]
||
''
;
// 如果str1比str2短,取空字符
const
char2
=
str2
[
i
]
||
''
;
// 如果str2比str1短,取空字符
// 比较字符
if
(
char1
!==
char2
)
{
// 如果字符不同,在第二个字符串中用
<
em
>
包裹
result
+=
`<span style="color: red">
${
char2
}
</span>`
;
}
else
{
// 如果字符相同,直接添加到结果中
result
+=
char2
;
}
}
return
result
;
},
/**
* 预览图片
* @param {Object} img
* @param {Object} index
...
...
@@ -433,6 +476,8 @@
});
return
false
;
}
this
.
$refs
.
popup
.
close
();
this
.
$refs
.
popupErpSn
.
close
();
let
erp_order_sn
=
this
.
allOrderDataByEntrustNoList
[
this
.
allOrderDataByEntrustNoIndex
].
erp_order_sn
;
let
salesman
=
this
.
allOrderDataByEntrustNoList
[
this
.
allOrderDataByEntrustNoIndex
].
salesman
;
uni
.
navigateTo
({
...
...
@@ -456,6 +501,7 @@
duration
:
1000
});
setTimeout
(()
=>
{
this
.
resetChange
();
this
.
getData
();
},
1000
)
}
else
{
...
...
@@ -488,6 +534,7 @@
duration
:
1000
});
setTimeout
(()
=>
{
this
.
resetChange
();
this
.
getData
();
},
1000
)
}
else
{
...
...
pages/tally/addAbnormal.vue
View file @
c3dc43c4
This diff is collapsed.
Click to expand it.
pages/tally/index.vue
View file @
c3dc43c4
...
...
@@ -205,7 +205,11 @@
<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/unboxing"
class=
"box row rowCenter verCenter"
hover-class=
"none"
>
重新开箱
</navigator>
<navigator
url=
"/pages/tally/abnormalTally"
class=
"box row rowCenter verCenter"
hover-class=
"none"
>
理货异常处理
</navigator>
<navigator
url=
"/pages/tally/abnormalTally"
class=
"box row rowCenter verCenter"
hover-class=
"none"
>
美产商检管理
</navigator>
<view
style=
"position:relative;"
>
<navigator
url=
"/pages/tally/abnormalManageList"
class=
"box row rowCenter verCenter"
hover-class=
"none"
>
异常管理
</navigator>
<text
class=
"num row verCenter rowCenter"
v-if=
"stayHandleCount > 0"
>
{{stayHandleCount}}
</text>
</view>
</view>
<!-- 选择国家 -->
<uni-popup
ref=
"popup"
background-color=
"#F1F4F6"
>
...
...
@@ -356,7 +360,8 @@
},
net_weight_total
:
0
,
//净重合计
allChecked
:
false
,
checkboxItems
:
[]
checkboxItems
:
[],
stayHandleCount
:
0
};
},
watch
:
{
...
...
@@ -381,6 +386,9 @@
});
}
},
onShow
()
{
this
.
getStayHandleCount
();
},
methods
:
{
/**
* 点击遮罩层触发
...
...
@@ -778,6 +786,16 @@
});
},
/**
* 获取异常待处理数
*/
getStayHandleCount
()
{
this
.
request
(
API
.
getStayHandleCount
,
'GET'
,
{},
false
).
then
(
res
=>
{
if
(
res
.
err_code
===
0
)
{
this
.
stayHandleCount
=
res
.
data
||
0
;
}
});
},
/**
* 获取产地升级版
*/
getOriginCn
()
{
...
...
util/api.js
View file @
c3dc43c4
...
...
@@ -377,7 +377,11 @@ const API = {
/**
* 获取快捷用语
*/
getQuickExpressions
:
API_BASE
+
'/supplywechatwms/getQuickExpressions'
getQuickExpressions
:
API_BASE
+
'/supplywechatwms/getQuickExpressions'
,
/**
* 待处理数
*/
getStayHandleCount
:
API_BASE
+
'/supplywechatwms/getStayHandleCount'
}
...
...
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