Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
assets
Project
Project
Details
Activity
Releases
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
黄媛媛
assets
Commits
54c4de74
Commit
54c4de74
authored
Jul 31, 2020
by
黄媛媛
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/huangyuanyuan/assets
parents
aeca4d66
ab512cda
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
317 additions
and
533 deletions
+317
-533
InventoryBosun.vue
src/components/Materialman/InventoryBosun.vue
+10
-2
InventoryBoyi.vue
src/components/Materialman/InventoryBoyi.vue
+10
-2
InventoryDetail.vue
src/components/Materialman/InventoryDetail.vue
+109
-33
consumablesInventory.vue
src/components/Materialman/consumablesInventory.vue
+11
-12
InventoryDetails.vue
src/components/assetsman/InventoryDetails.vue
+177
-484
No files found.
src/components/Materialman/InventoryBosun.vue
View file @
54c4de74
...
...
@@ -124,13 +124,15 @@
DetailList
:
[]
},
isCheckAll
:
false
,
checkList
:[]
checkList
:[],
isFrom
:
0
};
},
mounted
()
{
this
.
msg
.
CheckId
=
this
.
$route
.
query
.
CheckId
;
this
.
saveMsg
.
CheckId
=
this
.
$route
.
query
.
CheckId
;
this
.
saveMsg
.
WarehouseId
=
this
.
$route
.
query
.
WarehouseId
;
this
.
isFrom
=
this
.
$route
.
query
.
isFrom
;
this
.
getList
();
this
.
getCheckStatus
();
},
...
...
@@ -152,8 +154,14 @@
);
},
Backto
()
{
let
path
=
''
;
if
(
this
.
isFrom
==
1
){
path
=
'/InventoryDetails'
}
else
{
path
=
'/InventoryDetail'
}
this
.
$router
.
push
({
path
:
"/InventoryDetail"
,
path
:
path
,
query
:
{
CheckId
:
this
.
msg
.
CheckId
}
...
...
src/components/Materialman/InventoryBoyi.vue
View file @
54c4de74
...
...
@@ -93,13 +93,15 @@
DetailList
:
[]
},
isCheckAll
:
false
,
checkList
:[]
checkList
:[],
isFrom
:
0
};
},
mounted
()
{
this
.
msg
.
CheckId
=
this
.
$route
.
query
.
CheckId
;
this
.
saveMsg
.
CheckId
=
this
.
$route
.
query
.
CheckId
;
this
.
saveMsg
.
WarehouseId
=
this
.
$route
.
query
.
WarehouseId
;
this
.
isFrom
=
this
.
$route
.
query
.
isFrom
;
this
.
getList
();
},
methods
:
{
...
...
@@ -108,8 +110,14 @@
this
.
getList
();
},
Backto
()
{
let
path
=
''
;
if
(
this
.
isFrom
==
1
){
path
=
'/InventoryDetails'
}
else
{
path
=
'/InventoryDetail'
}
this
.
$router
.
push
({
path
:
"/InventoryDetail"
,
path
:
path
,
query
:
{
CheckId
:
this
.
msg
.
CheckId
}
...
...
src/components/Materialman/InventoryDetail.vue
View file @
54c4de74
...
...
@@ -10,7 +10,7 @@
<img
v-show=
"morequery"
class=
"roatImg"
style=
"width:12px;height:12px"
src=
"../../assets/img/more.png"
alt=
""
/>
</span>
<span
@
click=
"getList"
style=
"margin-left:20px"
class=
"chaxunSpan"
>
查询
</span>
<span
style=
"margin-left:20px"
class=
"chaxunSpan"
>
批量保存
</span>
<span
@
click=
"saveAll"
style=
"margin-left:20px"
class=
"chaxunSpan"
>
批量保存
</span>
<span
@
click=
"outerVisible=true"
style=
"margin-left:20px"
class=
"chaxunSpan"
>
盘点导入
</span>
<span
@
click=
"goBaosun('InventoryBosun')"
style=
"margin-left:20px"
class=
"chaxunSpan"
>
查看报损
</span>
<span
@
click=
"goBaosun('InventoryBoyi')"
style=
"margin-left:20px"
class=
"chaxunSpan"
>
查看报溢
</span>
...
...
@@ -21,7 +21,7 @@
<ul
v-show=
"morequery"
class=
"queryul"
>
扫码出库
<li>
<el-input
class=
"w200"
size=
"small"
v-model=
"barCode"
placeholder=
"商品出库条码"
@
keyup
.
enter
.
native=
"getList()
"
>
<el-input
class=
"w200"
size=
"small"
v-model=
"barCode"
@
keyup
.
enter
.
native=
"payCode"
placeholder=
"商品出库条码
"
>
</el-input>
</li>
<li>
...
...
@@ -43,7 +43,7 @@
<vxe-table
stripe
style=
"margin-top:15px"
:loading=
"loading"
:data=
"tableData"
>
<vxe-table-column
field=
"Name"
title=
"状态"
width=
"120"
>
<template
v-slot=
"
{ row }">
<span
class=
"ColorSpan huangSpan"
v-if=
"row.CheckStatus == 1"
>
未
</span>
<span
class=
"ColorSpan huangSpan"
v-if=
"row.CheckStatus == 1"
:id=
"row.SuppliesId"
>
未
</span>
<span
class=
"ColorSpan greenSpan"
v-if=
"row.CheckStatus == 2"
>
已
</span>
<span
class=
"ColorSpan purpleSpan"
v-if=
"row.CheckStatus == 3"
>
盈
</span>
<span
class=
"ColorSpan redSpan"
v-if=
"row.CheckStatus == 4"
>
亏
</span>
...
...
@@ -58,14 +58,14 @@
v-if=
"row.SpecificationList.length !== y+1"
>
,
</span></span>
</
template
>
</vxe-table-column>
<vxe-table-column
field=
"InventoryNum"
title=
"库存"
width=
"
10
0"
></vxe-table-column>
<vxe-table-column
field=
"RealityNum"
title=
"实际数量"
>
<vxe-table-column
field=
"InventoryNum"
title=
"库存"
width=
"
8
0"
></vxe-table-column>
<vxe-table-column
field=
"RealityNum"
title=
"实际数量"
width=
"100"
>
<
template
v-slot=
"{ row }"
>
<el-input
type=
'text'
class=
"w80"
@
keyup
.
native=
"checkInteger(row,'RealityNum')"
v-model=
"row.RealityNum"
/>
<el-input
type=
'text'
class=
"w70"
@
keyup
.
native=
"checkInteger(row,'RealityNum')"
:ref=
"'barCodeInput'+row.SuppliesId"
v-model=
"row.RealityNum"
/>
<span
class=
"InventoryMsg"
:id=
"'barTishi'+row.SuppliesId"
>
盘点数量+1
</span>
</
template
>
</vxe-table-column>
<vxe-table-column
field=
"Remark"
title=
"备注"
width=
"200"
></vxe-table-column>
<vxe-table-column
field=
"CheckEmpName"
title=
"盘点人/时间"
width=
"200"
>
<
template
v-slot=
"{ row }"
>
<span
v-if=
"row.CheckEmpName||row.CheckDate"
>
{{
row
.
CheckEmpName
}}
/
{{
row
.
CheckDate
}}
</span>
...
...
@@ -81,10 +81,10 @@
<vxe-table-column
field=
"address"
title=
"操作"
>
<
template
v-slot=
"{ row }"
>
<template
v-if=
"CheckState!=2"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"保存"
placement=
"top"
>
<img
@
click=
"saveInfo(row)"
style=
"width:24px;height:24px"
src=
"../../assets/img/step1.png"
alt=
""
>
</el-tooltip>
<el-tooltip
style=
"display:inline-block;position:relative;top:-2px;"
class=
"item"
effect=
"dark"
content=
"上传图片"
placement=
"top"
>
<el-upload
:http-request=
"uploadFileBtn"
:multiple=
"false"
:show-file-list=
"false"
action
>
...
...
@@ -95,6 +95,7 @@
<img
style=
"width:24px;height:24px"
@
click=
"getRowRemark(row)"
src=
"../../assets/img/edit.png"
alt=
""
/>
</el-tooltip>
</
template
>
</template>
</vxe-table-column>
</vxe-table>
<el-pagination
@
current-change=
"currentChange"
background
:page-size=
"msg.pageSize"
layout=
"prev, pager, next"
...
...
@@ -172,12 +173,15 @@
Content
:
''
,
commonRow
:
{},
//仓库id
WarehouseId
:
0
WarehouseId
:
0
,
//CheckState用于管理操作按钮
CheckState
:
0
};
},
mounted
()
{
this
.
msg
.
CheckId
=
this
.
$route
.
query
.
CheckId
;
this
.
WarehouseId
=
this
.
$route
.
query
.
WarehouseId
;
this
.
CheckState
=
this
.
$route
.
query
.
CheckState
;
this
.
getList
();
this
.
getCheckStatus
();
//上传接口路径
...
...
@@ -200,7 +204,6 @@
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
tableData
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
console
.
log
(
this
.
tableData
,
'tabledata'
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
...
...
@@ -239,7 +242,7 @@
},
//完成盘点
complePandian
()
{
this
.
$confirm
(
"
是否确定盘点
?"
,
"提示"
,
{
this
.
$confirm
(
"
未盘资产将标记盘亏,是否继续
?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
'warning'
...
...
@@ -273,7 +276,6 @@
//上传
handleAvatarSuccess
(
res
,
file
)
{
if
(
res
.
resultCode
==
1
)
{
console
.
log
(
res
,
'上传后'
);
this
.
outerVisible
=
false
;
}
else
{
this
.
Error
(
res
.
message
);
...
...
@@ -282,7 +284,6 @@
},
//耗材单个盘点保存
saveInfo
(
row
)
{
console
.
log
(
row
,
'row'
);
let
msg
=
{
CheckDetailId
:
row
.
Id
,
Type
:
this
.
Type
,
...
...
@@ -305,7 +306,6 @@
},
//点击上传图片
getRow
(
row
)
{
console
.
log
(
row
,
'点了上传'
);
this
.
Type
=
2
;
this
.
commonId
=
row
.
Id
;
this
.
ImageList
=
row
.
ImageList
;
...
...
@@ -373,20 +373,86 @@
file
.
file
.
size
<
1024
?
file
.
file
.
size
:
(
file
.
file
.
size
/
1024
).
toFixed
(
0
);
var
data
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
tableData
));
data
.
forEach
(
y
=>
{
this
.
tableData
.
forEach
(
y
=>
{
if
(
y
.
Id
==
this
.
commonId
)
{
y
.
ImageList
.
push
(
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
)
}
this
.
tableData
=
data
;
console
.
log
(
this
.
tableData
,
'table'
);
})
this
.
saveRemark
();
});
},
//批量保存
saveAll
(){
let
msg
=
[];
this
.
tableData
.
forEach
(
x
=>
{
let
obj
=
{
Id
:
x
.
Id
,
RealityNum
:
x
.
RealityNum
}
msg
.
push
(
obj
);
})
this
.
apiJavaPost
(
"/api/supplies/SetBatchSuppliesCheckDetailReality"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
getList
();
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
//扫码枪开始
payCode
()
{
let
msg
=
{
Code
:
this
.
barCode
,
WareHouseId
:
this
.
WarehouseId
}
this
.
loading
=
true
;
this
.
apiJavaPost
(
"/api/Supplies/GetProcurementGoodsInfo"
,
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
===
1
)
{
var
myData
=
res
.
data
.
data
.
GoodsModel
;
var
isInStore
=
true
;
if
(
myData
){
var
scanMsg
=
{};
if
(
myData
.
WarehouseId
!=
this
.
WarehouseId
){
this
.
Error
(
'该商品未在此仓库中!'
);
return
;
}
else
{
this
.
tableData
.
forEach
((
x
,
index
)
=>
{
if
(
x
.
SuppliesId
==
myData
.
SuppliesId
){
x
.
RealityNum
++
;
isInStore
=
false
;
document
.
getElementById
(
myData
.
SuppliesId
).
scrollIntoView
({
behavior
:
'smooth'
})
this
.
$refs
[
"barCodeInput"
+
myData
.
SuppliesId
].
focus
();
document
.
getElementById
(
"barTishi"
+
myData
.
SuppliesId
).
style
.
opacity
=
1
;
setTimeout
(()
=>
{
this
.
test
(
"barTishi"
+
myData
.
SuppliesId
);
},
3000
)
}
})
if
(
isInStore
){
this
.
Error
(
'该商品未在列表中!'
);
}
}
}
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
this
.
barCode
=
''
;
},
null
);
},
test
(
id
){
document
.
getElementById
(
id
).
style
.
opacity
=
0
;
}
}
};
...
...
@@ -447,8 +513,8 @@
height
:
100%
;
}
.w
8
0
{
width
:
8
0px
!important
;
.w
7
0
{
width
:
7
0px
!important
;
}
.Inven_imgList
{
...
...
@@ -462,5 +528,15 @@
width
:
100%
;
height
:
100%
;
}
.InventoryMsg
{
opacity
:
0
;
z-index
:
1500
;
color
:
green
;
-webkit-transition
:
opacity
1s
ease-out
;
/* Saf3.2+, Chrome */
-moz-transition
:
opacity
1s
ease-out
;
/* FF4+ */
-ms-transition
:
opacity
1s
ease-out
;
/* IE10? */
-o-transition
:
opacity
1s
ease-out
;
/* Opera 10.5+ */
transition
:
opacity
1s
ease-out
;
}
</
style
>
src/components/Materialman/consumablesInventory.vue
View file @
54c4de74
...
...
@@ -94,7 +94,7 @@
<img
v-if=
"row.CheckState==2"
@
click=
"SeeDetails(row,'/InventoryDetails')"
style=
"width:24px;height:24px"
src=
"../../assets/img/chakan.png"
alt=
""
/>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"盘点明细"
placement=
"top"
v-if=
"row.CheckState==1"
>
<img
v-if=
"row.CheckState==1"
@
click=
"SeeDetails(row,'/InventoryDetail')"
style=
"width:24px;height:24px"
src=
"../../assets/img/s
z
.png"
alt=
""
/>
<img
v-if=
"row.CheckState==1"
@
click=
"SeeDetails(row,'/InventoryDetail')"
style=
"width:24px;height:24px"
src=
"../../assets/img/s
htg
.png"
alt=
""
/>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"下载明细"
placement=
"top"
v-if=
"row.CheckState==1"
>
<img
v-if=
"row.CheckState == 1"
@
click=
""
style=
"width:24px;height:24px"
src=
"../../assets/img/xz.png"
alt=
""
/>
...
...
@@ -121,7 +121,7 @@
:close-on-click-modal=
"false"
:visible
.
sync=
"dialogState"
top=
"0"
width=
"6
2
0px"
width=
"6
8
0px"
>
<el-form
class=
"MyEditForm"
...
...
@@ -150,16 +150,17 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item
class=
"dateList"
label=
""
style=
"width:3
0
0px"
>
<el-form-item
class=
"dateList"
label=
""
style=
"width:3
6
0px"
>
<span
class=
"label"
>
计划时间
</span>
<div>
<el-date-picker
style=
"width:3
0
0px"
<el-date-picker
style=
"width:3
6
0px"
v-model=
"dateList"
type=
"daterange"
type=
"date
time
range"
range-separator=
"至"
value-format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd
HH:mm:ss
"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
:default-time=
"['09:30:00', '18:00:00']"
>
</el-date-picker>
</div>
...
...
@@ -269,7 +270,8 @@ export default {
path
:
path
,
query
:
{
CheckId
:
item
.
Id
,
WarehouseId
:
item
.
WarehouseId
WarehouseId
:
item
.
WarehouseId
,
CheckState
:
item
.
CheckState
}
});
...
...
@@ -297,9 +299,7 @@ export default {
this
.
addMsg
.
WarehouseId
=
itemdata
.
WarehouseId
;
this
.
addMsg
.
StartDate
=
itemdata
.
StartDate
;
this
.
addMsg
.
EndDate
=
itemdata
.
EndDate
;
this
.
dateList
=
[];
this
.
dateList
[
0
]
=
this
.
addMsg
.
StartDate
;
this
.
dateList
[
1
]
=
this
.
addMsg
.
EndDate
;
this
.
dateList
=
[
this
.
addMsg
.
StartDate
,
this
.
addMsg
.
EndDate
];
},
Delete
(
item
)
{
let
Id
=
item
.
Id
;
...
...
@@ -399,7 +399,6 @@ export default {
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
tableData
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
console
.
log
(
this
.
tableData
,
'tableData'
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
...
...
src/components/assetsman/InventoryDetails.vue
View file @
54c4de74
<
template
>
<div
class=
"assetsList Inventory
Man
"
>
<div
class=
"assetsList Inventory
Detail
"
>
<div
class=
"routerTitle"
>
<span
class=
"pageTitle"
>
盘点单详情
<span
@
click=
"Backto"
style=
"position:relative;top:-5px"
class=
"backTo"
>
返回
</span>
</span>
<span
@
click=
"morequery = !morequery"
style=
"display:inline-flex;align-items:center;cursor: pointer;"
class=
"f12 cd6"
>
<span
class=
"pageTitle"
>
耗材盘点明细
<span
@
click=
"Backto"
style=
"position:relative;top:-5px"
class=
"backTo"
>
返回
</span></span>
<span
@
click=
"morequery = !morequery"
style=
"display:inline-flex;align-items:center;cursor: pointer;"
class=
"f12 cd6"
>
<span
style=
"margin-right:5px"
>
高级查询
</span>
<img
v-show=
"!morequery"
style=
"width:12px;height:12px;"
src=
"../../assets/img/more.png"
alt=
""
/>
<img
v-show=
"morequery"
class=
"roatImg"
style=
"width:12px;height:12px"
src=
"../../assets/img/more.png"
alt=
""
/>
<img
v-show=
"!morequery"
style=
"width:12px;height:12px;"
src=
"../../assets/img/more.png"
alt=
""
/>
<img
v-show=
"morequery"
class=
"roatImg"
style=
"width:12px;height:12px"
src=
"../../assets/img/more.png"
alt=
""
/>
</span>
<span
style=
"margin-left:20px"
class=
"chaxunSpan"
@
click=
"getList"
>
查询
</span>
<span
@
click=
"Export"
style=
"margin-left:20px;background:#fff;color:rgba(0,210,214,1);border:1px solid rgba(0,210,214,1)"
class=
"chaxunSpan"
>
导出
</span>
<span
@
click=
"SetEnd"
style=
"margin-left:20px;background:#fff;color:rgba(0,210,214,1);border:1px solid rgba(0,210,214,1)"
class=
"chaxunSpan"
>
整单完成
</span>
<!--
<span
@
click=
"addSupplier"
style=
"margin-left:20px"
class=
"addSpan"
>
<img
style=
"width:10px;height:10px;margin-right:6px"
src=
"../../assets/img/add.png"
alt=
""
/>
新增
</span>
-->
<span
@
click=
"getList"
style=
"margin-left:20px"
class=
"chaxunSpan"
>
查询
</span>
<span
@
click=
"goBaosun('InventoryBosun')"
style=
"margin-left:20px"
class=
"chaxunSpan"
>
查看报损
</span>
<span
@
click=
"goBaosun('InventoryBoyi')"
style=
"margin-left:20px"
class=
"chaxunSpan"
>
查看报溢
</span>
</div>
<div
class=
"padContent"
>
<ul
v-show=
"morequery"
class=
"queryul"
>
<li>
<el-input
class=
"w200"
size=
"small"
v-model=
"msg.PropertyName"
placeholder=
"资产名称"
></el-input>
<el-input
class=
"w200"
size=
"small"
v-model=
"msg.SuppliesId"
placeholder=
"物料Id"
@
keyup
.
enter
.
native=
"msg.pageIndex=1,getList()"
></el-input>
</li>
<li>
<el-select
size=
"small"
v-model=
"msg.AuditStatus"
placeholder=
"审核状态"
>
<el-option
label=
"不限"
:value=
"-1"
></el-option>
<el-option
label=
"未审核"
:value=
"1"
></el-option>
<el-option
label=
"已审核"
:value=
"2"
></el-option>
<el-option
label=
"审核驳回"
:value=
"3"
></el-option>
</el-select>
<el-input
class=
"w200"
size=
"small"
v-model=
"msg.SuppliesName"
placeholder=
"物料名称"
@
keyup
.
enter
.
native=
"msg.pageIndex=1,getList()"
></el-input>
</li>
<li>
<el-select
size=
"small"
v-model=
"msg.CheckStatus"
placeholder=
"盘点状态"
>
<el-option
label=
"不限"
:value=
"-1"
></el-option>
<el-option
:key=
"index+10"
v-for=
"(item,index) in checkList"
:label=
"item.Name"
:value=
"item.Id"
></el-option>
<el-select
size=
"small"
v-model=
"msg.CheckStatus"
@
change=
"msg.pageIndex=1,getList()"
>
<el-option
label=
"不限"
:value=
"0"
>
</el-option>
<el-option
v-for=
"item in getCheckStatusList"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</el-select>
</li>
<!--
<li>
<el-select
size=
"small"
v-model=
"msg.IsSelectCheckLoss"
placeholder=
"是否查询盘亏盘盈"
>
<el-option
label=
"不限"
:value=
"-1"
></el-option>
<el-option
label=
"是"
:value=
"1"
></el-option>
<el-option
label=
"否"
:value=
"2"
></el-option>
</el-select>
</li>
-->
</ul>
<vxe-table
stripe
style=
"margin-top:15px"
:loading=
"loading"
:data=
"tableData"
>
<vxe-table-column
field=
"Name"
title=
"盘点状态"
>
<vxe-table
stripe
style=
"margin-top:15px"
:loading=
"loading"
:data=
"tableData"
>
<vxe-table-column
field=
"Name"
title=
"状态"
width=
"120"
>
<template
v-slot=
"
{ row }">
<span
class=
"ColorSpan huangSpan"
v-if=
"row.CheckStatus == 1
"
>
未
</span>
<span
class=
"ColorSpan huangSpan"
v-if=
"row.CheckStatus == 1"
:id=
"row.SuppliesId
"
>
未
</span>
<span
class=
"ColorSpan greenSpan"
v-if=
"row.CheckStatus == 2"
>
已
</span>
<span
class=
"ColorSpan purpleSpan"
v-if=
"row.CheckStatus == 3"
>
盈
</span>
<span
class=
"ColorSpan redSpan"
v-if=
"row.CheckStatus == 4"
>
亏
</span>
{{
row
.
CheckStatusName
}}
<span>
{{
row
.
CheckStatusName
}}
</span>
</
template
>
</vxe-table-column>
<vxe-table-column
field=
"Name"
title=
"审核状态"
>
<
template
v-slot=
"{ row }"
>
<span
v-if=
"row.AuditStatus == 1"
>
未审核
</span>
<span
v-if=
"row.AuditStatus == 2"
>
已审核
</span>
<span
v-if=
"row.AuditStatus == 3"
>
审核驳回
</span>
</
template
>
</vxe-table-column>
<vxe-table-column
field=
"PropertyName"
title=
"资产名称"
></vxe-table-column>
<vxe-table-column
field=
"PropertyNum"
title=
"资产编码"
>
<vxe-table-column
field=
"SuppliesNo"
title=
"物料编号"
width=
"100"
></vxe-table-column>
<vxe-table-column
field=
"SuppliesName"
title=
"物料名称"
></vxe-table-column>
<vxe-table-column
field=
"SpecificationList"
title=
"规格"
width=
"220"
>
<
template
v-slot=
"{ row }"
>
<span
class=
"underline"
@
click=
"getCheckDes(row)"
>
{{
row
.
PropertyNum
}}
</span>
<span
v-for=
"(x,y) in row.SpecificationList"
:key=
"y"
>
{{
x
}}
<span
v-if=
"row.SpecificationList.length !== y+1"
>
,
</span></span>
</
template
>
</vxe-table-column>
<vxe-table-column
field=
"PropertyStatusName"
title=
"资产状态
"
></vxe-table-column>
<vxe-table-column
field=
"CategoryName"
title=
"分类
"
></vxe-table-column>
<vxe-table-column
field=
"BrandName"
title=
"品牌
"
></vxe-table-column>
<vxe-table-column
field=
"AuditEmpName"
title=
"审核人/时间
"
>
<vxe-table-column
field=
"InventoryNum"
title=
"库存"
width=
"80
"
></vxe-table-column>
<vxe-table-column
field=
"RealityNum"
title=
"实际数量"
width=
"100
"
></vxe-table-column>
<vxe-table-column
field=
"Remark"
title=
"备注"
width=
"200
"
></vxe-table-column>
<vxe-table-column
field=
"CheckEmpName"
title=
"盘点人/时间"
width=
"200
"
>
<
template
v-slot=
"{ row }"
>
<p
v-if=
"row.AuditEmpName!=''"
>
{{
row
.
AuditEmpName
}}
</p>
<p
v-if=
"row.AuditDate!=''"
>
{{
row
.
AuditDate
}}
</p>
<span
v-if=
"row.CheckEmpName||row.CheckDate"
>
{{
row
.
CheckEmpName
}}
/
{{
row
.
CheckDate
}}
</span>
</
template
>
</vxe-table-column>
<vxe-table-column
field=
"CheckEmpName"
title=
"盘点人/时间"
>
<
template
v-slot=
"{ row }"
>
<p
v-if=
"row.CheckEmpName!=''"
>
{{
row
.
CheckEmpName
}}
</p>
<p
v-if=
"row.CheckDate!=''"
>
{{
row
.
CheckDate
}}
</p>
<vxe-table-column
field=
"ImageList"
title=
"图片"
width=
"200"
>
<
template
v-slot=
"{row}"
>
<div
class=
"Inven_imgList"
v-for=
"(item,index) in row.ImageList"
:key=
"index"
>
<img
:src=
"item"
/>
</div>
</
template
>
</vxe-table-column>
<vxe-table-column
field=
"UpdateBy"
title=
"操作人/时间"
>
<
template
v-slot=
"{ row }"
>
<p
v-if=
"row.UpdateBy!=''"
>
{{
row
.
UpdateBy
}}
</p>
<p
v-if=
"row.UpdateDate!=''"
>
{{
row
.
UpdateDate
}}
</p>
<vxe-table-column
field=
"ImageList"
title=
"溢/损处理状态"
width=
"200"
>
<
template
v-slot=
"{row}"
>
<template
v-if=
"row.CheckStatus==3||row.CheckStatus==4"
>
<span
v-if=
"row.DealStatus==1"
style=
"color:green"
>
已处理
</span>
<span
v-if=
"row.DealStatus==2"
style=
"color:red"
>
未处理
</span>
</
template
>
</vxe-table-column>
<vxe-table-column
field=
"address"
title=
"操作"
>
<
template
v-slot=
"{ row }"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"盘点"
placement=
"top"
>
<img
v-if=
"row.CheckStatus==1"
@
click=
"SetType(row,1,'盘点')"
style=
"width:24px;height:24px"
src=
"../../assets/img/pd.png"
alt=
""
/>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"盘亏"
placement=
"top"
>
<img
v-if=
"row.CheckStatus==1"
@
click=
"SetType(row,2,'盘亏')"
style=
"width:24px;height:24px"
src=
"../../assets/img/czrz.png"
alt=
""
/>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"盘点并审核"
placement=
"top"
>
<img
v-if=
"row.CheckStatus==1 && row.AuditStatus==1"
@
click=
"SetType(row,3,'盘点并审核')"
style=
"width:24px;height:24px"
src=
"../../assets/img/pdsh.png"
alt=
""
/>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"审核通过"
placement=
"top"
>
<img
v-if=
"row.AuditStatus==1"
@
click=
"SetType(row,4,'审核通过')"
style=
"width:24px;height:24px"
src=
"../../assets/img/shtg.png"
alt=
""
/>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"审核驳回"
placement=
"top"
>
<img
v-if=
"row.AuditStatus==1"
@
click=
"SetType(row,5,'审核驳回')"
style=
"width:24px;height:24px"
src=
"../../assets/img/shbh.png"
alt=
""
/>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"取消盘点"
placement=
"top"
>
<img
v-if=
"row.CheckStatus==2 || row.CheckStatus==3 || row.CheckStatus==4"
@
click=
"SetType(row,6,'取消盘点')"
style=
"width:24px;height:24px"
src=
"../../assets/img/qxpd.png"
alt=
""
/>
</el-tooltip>
</template>
</vxe-table-column>
</vxe-table>
<el-pagination
@
current-change=
"currentChange"
background
:page-size=
"msg.pageSize"
layout=
"prev, pager, next"
:total=
"total"
>
<el-pagination
@
current-change=
"currentChange"
background
:page-size=
"msg.pageSize"
layout=
"prev, pager, next"
:total=
"total"
:current-page
.
sync=
"msg.pageIndex"
>
</el-pagination>
</div>
<el-dialog
:title=
"dialogtitle"
:visible
.
sync=
"dialogState"
top=
"0"
width=
"300px"
>
<el-form
class=
"MyEditForm"
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"0px"
>
<div
class=
"basefix"
>
<div
class=
"baseform"
>
<el-form-item
label=
""
prop=
"Type"
>
<span
class=
"label"
>
类型
</span>
<el-select
size=
"mini"
v-model=
"addMsg.Type"
placeholder=
"请选择"
>
<el-option
label=
"盘点"
:value=
"1"
>
</el-option>
<el-option
label=
"盘亏"
:value=
"2"
>
</el-option>
<el-option
label=
"盘点并审核"
:value=
"3"
>
</el-option>
<el-option
label=
"审核通过"
:value=
"4"
>
</el-option>
<el-option
label=
"审核驳回"
:value=
"5"
>
</el-option>
<el-option
label=
"取消盘点"
:value=
"6"
>
</el-option>
<el-option
label=
"处置"
:value=
"7"
>
</el-option>
</el-select>
</el-form-item>
</div>
</div>
<div
class=
"btnformItem"
>
<span
class=
"submitBtn"
type=
"primary"
@
click=
"submitForm('addMsg')"
>
确定
</span
>
<span
class=
"exitBtn"
@
click=
"dialogState = false"
>
取消
</span>
</div>
</el-form>
</el-dialog>
<el-dialog
top=
"0"
title=
"资产详情"
:visible
.
sync=
"CheckDetailState"
width=
"1150px"
>
<CheckDetails
ref=
"mychild"
></CheckDetails>
</el-dialog>
</div>
</template>
<
script
>
import
CheckDetails
from
"@/components/global/CheckDetails.vue"
;
import
Treeselect
from
"@riophae/vue-treeselect"
;
import
"@riophae/vue-treeselect/dist/vue-treeselect.css"
;
export
default
{
name
:
"assetsList"
,
components
:
{
Treeselect
,
CheckDetails
},
export
default
{
name
:
"InventoryDetails"
,
components
:
{},
data
()
{
return
{
CheckDetailState
:
false
,
addMsg
:
{
CheckDetailId
:
0
,
Type
:
1
,
},
normalizer
(
node
)
{
var
obj
=
{
id
:
node
.
Id
,
label
:
node
.
Name
};
if
(
node
.
ChildList
!=
null
&&
node
.
ChildList
.
length
>
0
)
{
obj
.
children
=
node
.
ChildList
;
}
return
obj
;
},
morequery
:
false
,
dateList
:
[],
morequery
:
true
,
currentPage
:
1
,
tableData
:
[],
loading
:
false
,
total
:
0
,
msg
:
{
pageIndex
:
1
,
pageSize
:
10
,
Name
:
""
,
CategoryId
:
null
,
CheckId
:
''
,
PropertyName
:
''
,
AuditStatus
:
''
,
CheckStatus
:
''
,
IsSelectCheckLoss
:
''
,
},
dialogtitle
:
"新增"
,
dialogState
:
false
,
rules
:
{
Type
:
[
{
required
:
true
,
message
:
"请选择类型"
,
trigger
:
"change"
}
]
},
supplierList
:
[],
EmployeeList
:
[],
nodemsg
:
{
ParentId
:
-
1
,
Tier
:
""
,
Name
:
""
,
Type
:
1
},
treedata
:
[],
BranchList
:
[],
PropertyId
:
''
,
checkList
:[],
pageSize
:
99999999
,
CheckId
:
0
,
//盘点单id
SuppliesId
:
''
,
//物料id
SuppliesName
:
''
,
//物料名称
CheckStatus
:
0
,
//盘点状态
// DealStatus:0,//盈亏处理状态 (在盈亏界面使用)
IsSelectCheckLoss
:
0
,
//是否只查询盘点盈亏的 1是 0否
IsSelectHaveInventory
:
0
,
//是否只查询有库存数量的 1是 0否
},
getCheckStatusList
:
[],
//仓库id
WarehouseId
:
0
,
//CheckState用于管理操作按钮
CheckState
:
0
};
},
created
(){
if
(
this
.
$route
.
query
.
CheckId
){
this
.
msg
.
CheckId
=
this
.
$route
.
query
.
CheckId
;
}
},
mounted
()
{
this
.
msg
.
CheckId
=
this
.
$route
.
query
.
CheckId
;
this
.
WarehouseId
=
this
.
$route
.
query
.
WarehouseId
;
this
.
CheckState
=
this
.
$route
.
query
.
CheckState
;
this
.
getList
();
this
.
getNode
();
this
.
getBranch
();
this
.
getCheckStatus
();
},
methods
:
{
SetEnd
(
item
){
let
that
=
this
;
let
msg
=
{};
this
.
$confirm
(
"未盘资产将标记盘亏,是否继续?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
'warning'
}).
then
(()
=>
{
msg
.
CheckId
=
this
.
msg
.
CheckId
;
msg
.
Type
=
0
;
this
.
apiJavaPost
(
"/api/property/SetPropertyCheckStatus"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
getList
();
this
.
Success
(
res
.
data
.
message
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
}).
catch
(()
=>
{
});
},
Export
(){
let
msg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
msg
));
this
.
JavaGetLocalFile
(
"/api/property/GetPropertyCheckDetailToExcel"
,
msg
,
"盘点报告.xls"
);
},
Backto
(){
this
.
$router
.
push
({
path
:
"/InventoryMan"
});
},
getCheckDes
(
item
){
this
.
PropertyId
=
item
.
PropertyId
;
this
.
CheckDetailState
=
true
;
setTimeout
(()
=>
{
this
.
$refs
.
mychild
.
InitData
(
this
.
PropertyId
);
},
10
)
},
SetType
(
item
,
type
,
str
){
let
that
=
this
;
this
.
$confirm
(
`确认
${
str
}
?`
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
'warning'
}).
then
(()
=>
{
this
.
addMsg
.
CheckDetailId
=
item
.
Id
;
this
.
addMsg
.
Type
=
type
;
that
.
SaveType
();
}).
catch
(()
=>
{
});
},
SetDetailStatus
(
item
){
this
.
dialogState
=
true
;
this
.
addMsg
.
CheckDetailId
=
item
.
Id
;
this
.
addMsg
.
Type
=
""
;
},
treeClick
(
data
)
{
this
.
addMsg
.
CategoryId
=
data
.
Id
;
},
getCheckStatus
()
{
this
.
apiJavaPost
(
"/api/property/GetPropertyCheckStatusEnumList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
checkList
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
getNode
()
{
this
.
apiJavaPost
(
"/api/property/CateporyGetTreeList"
,
this
.
nodemsg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
treedata
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
addSupplier
()
{
this
.
addMsg
=
{
CheckDetailId
:
0
,
Type
:
1
,
};
this
.
dialogtitle
=
"设置"
;
this
.
dialogState
=
true
;
},
Edit
(
item
)
{
this
.
dialogtitle
=
"编辑"
;
this
.
dialogState
=
true
;
this
.
addMsg
=
Object
.
assign
({},
item
);
this
.
dateList
=
[];
this
.
dateList
[
0
]
=
this
.
addMsg
.
StartDate
;
this
.
dateList
[
1
]
=
this
.
addMsg
.
EndDate
;
},
Delete
(
item
)
{
let
Id
=
item
.
Id
;
this
.
$confirm
(
"确认删除?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
})
.
then
(()
=>
{
this
.
apiJavaPost
(
"/api/property/DelPropertyCheckInfo"
,
{
CheckId
:
Id
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
getList
();
this
.
Success
(
res
.
data
.
message
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
})
.
catch
(()
=>
{
this
.
$message
.
info
(
"已取消删除!"
);
});
},
SaveType
()
{
this
.
apiJavaPost
(
"/api/property/SetPropertyCheckDetailStatus"
,
this
.
addMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
getList
();
this
.
Success
(
res
.
data
.
message
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
currentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
getList
()
{
this
.
loading
=
true
;
this
.
apiJavaPost
(
"/api/property/GetProperty
CheckDetailPageList"
,
"/api/supplies/GetSupplies
CheckDetailPageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
tableData
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
console
.
log
(
this
.
tableData
,
'tabledata'
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
...
...
@@ -449,69 +142,69 @@ export default {
);
},
getBranch
()
{
this
.
apiJavaPost
(
"/api/User/GetBranchList"
,
{},
getCheckStatus
()
{
this
.
apiJavaPost
(
"/api/property/GetPropertyCheckStatusEnumList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
Branch
List
=
res
.
data
.
data
;
this
.
getCheckStatus
List
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
Backto
()
{
this
.
$router
.
push
({
path
:
"/consumablesInventory"
});
},
//跳转至报损报溢
goBaosun
(
path
)
{
this
.
$router
.
push
({
path
:
path
,
query
:
{
CheckId
:
this
.
msg
.
CheckId
,
WarehouseId
:
this
.
WarehouseId
,
isFrom
:
1
}
});
},
}
};
};
</
script
>
<
style
>
.InventoryMan
.MyEditForm
.dateList
.el-input__inner
{
/* width:300px; */
}
.InventoryMan
.dateList
.el-date-editor
.el-range__icon
{
.InventoryDetail
.dateList
.el-date-editor
.el-range__icon
{
line-height
:
24px
;
}
.InventoryMan
.dateList
.el-date-editor
.el-range-separator
{
}
.InventoryDetail
.dateList
.el-date-editor
.el-range-separator
{
line-height
:
22px
;
}
.InventoryMan
.MyEditForm
.dateList.el-input__inner
{
}
.InventoryDetail
.MyEditForm
.dateList.el-input__inner
{
width
:
300px
;
}
.assetsList
.MyEditForm
.baseform
.el-form-item
:nth-child
(
4n
)
{
margin-right
:
0
;
}
.assetsList
.zczt1
{
background
:
#ffe4d5
;
color
:
#ffa87c
;
}
.assetsList
.zczt2
{
background
:
#beeff0
;
color
:
#089bab
;
}
.assetsList
.zczt3
{
background
:
#ffd6d5
;
color
:
#ff7874
;
}
.assetsList
.zczt4
{
background
:
#d7d6ff
;
color
:
#7b78ff
;
}
.assetsList
.Commonzczt
{
}
.assetsList
{
width
:
100%
;
height
:
100%
;
}
.Inven_imgList
{
width
:
50px
;
height
:
50px
;
display
:
inline-block
;
width
:
24px
;
height
:
24px
;
line-height
:
24px
;
text-align
:
center
;
border-radius
:
50%
;
font-size
:
12px
;
font-family
:
"Microsoft YaHei"
;
}
.assetsList
{
margin-right
:
5px
;
}
.Inven_imgList
img
{
width
:
100%
;
height
:
100%
;
}
}
</
style
>
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