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
be3efa94
Commit
be3efa94
authored
Dec 11, 2019
by
黄媛媛
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
111
parent
1ac48582
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
1463 additions
and
95 deletions
+1463
-95
common.css
src/assets/css/common.css
+4
-2
reset.css
src/assets/css/reset.css
+34
-3
vxetable.css
src/assets/css/vxetable.css
+67
-0
Archivesmaterials.vue
src/components/Materialman/Archivesmaterials.vue
+4
-1
ConsumRecipients.vue
src/components/Materialman/ConsumRecipients.vue
+283
-0
Materialwarehouse.vue
src/components/Materialman/Materialwarehouse.vue
+1
-1
SpotQuery.vue
src/components/Materialman/SpotQuery.vue
+180
-0
chukudan.vue
src/components/Materialman/chukudan.vue
+726
-0
rukudan.vue
src/components/Materialman/rukudan.vue
+17
-11
AssetsClassification.vue
src/components/Systemman/AssetsClassification.vue
+25
-22
MaterialClassification.vue
src/components/Systemman/MaterialClassification.vue
+24
-22
Supplierman.vue
src/components/Systemman/Supplierman.vue
+39
-17
assetsList.vue
src/components/assetsman/assetsList.vue
+38
-15
Nav.vue
src/components/global/Nav.vue
+6
-1
index.vue
src/components/global/index.vue
+1
-0
config.js
src/router/config.js
+14
-0
No files found.
src/assets/css/common.css
View file @
be3efa94
...
...
@@ -159,6 +159,8 @@
overflow
:
hidden
;
}
.cred
{
color
:
#FF2A3A
;
color
:
#F56C6C
;
}
.bold
{
font-family
:
"PingFangR"
;
}
src/assets/css/reset.css
View file @
be3efa94
...
...
@@ -59,6 +59,7 @@
height
:
30px
;
line-height
:
30px
;
}
/* 图片上传 */
.el-upload-dragger
{
font-size
:
28px
;
...
...
@@ -87,9 +88,14 @@
.queryul
li
span
>
em
{
display
:
inline-block
;
min-width
:
80px
;
text-align
:
right
;
font-style
:
normal
;
margin
:
0
15px
0
0
;}
/* dialog */
.el-dialog__body
{
padding
:
20px
;
}
.el-dialog
{
background
:
rgba
(
248
,
250
,
251
,
1
);
border-radius
:
20px
;
max-height
:
85%
;
overflow-y
:
scroll
;
}
.el-dialog__headerbtn
.el-dialog__close
{
color
:
#111111
;
...
...
@@ -132,6 +138,28 @@
.MyEditForm
.el-form-item
.el-form-item__error
{
top
:
108%
;
}
.vue-treeselect--single
.vue-treeselect__option--selected
{
background
:
#28CACC
;
color
:
#fff
;
}
.vue-treeselect--single
.vue-treeselect__option--selected
:hover
{
background
:
#28CACC
;
color
:
#fff
;
}
.vue-treeselect
{
font-size
:
12px
;
font-family
:
'宋体'
;
}
/* 查询里的下拉 */
.queryul
li
.vue-treeselect__placeholder
{
line-height
:
50px
;
}
.queryul
li
.vue-treeselect__single-value
{
line-height
:
50px
;
}
.vue-treeselect__label
{
padding
:
4px
0
;
}
.vue-treeselect
:not
(
.vue-treeselect--disabled
)
:not
(
.vue-treeselect--focused
)
.vue-treeselect__control
:hover
{
border-color
:
transparent
!important
;
}
...
...
@@ -142,14 +170,17 @@
}
.vue-treeselect__menu
{
border-color
:
transparent
!important
;
display
:
block
!important
;
border
:
none
;
}
.vue-treeselect__option--highlight
{
background
:
#28CACC
;
color
:
#fff
;
}
:focus
{
outline
:
none
;
}
.vue-treeselect__menu
{
border
:
none
;
}
.MyEditForm
.btnformItem
{
display
:
block
!important
;
text-align
:
center
;
...
...
src/assets/css/vxetable.css
0 → 100644
View file @
be3efa94
.vxe-table
{
border
:
none
;
background-color
:
transparent
;
font-size
:
12px
;
font-family
:
'宋体'
;
}
.vxe-table
:after
,
.vxe-table
:before
{
background-color
:
transparent
;
}
.vxe-table
.vxe-body--row
.vxe-body--column
{
border-bottom
:
4px
solid
#F8FAFB
;
}
.vxe-table
.vxe-table--footer-wrapper
,
.vxe-table
.vxe-table--header-wrapper
{
border
:
none
;
}
.vxe-table--header-wrapper
{
background
:
transparent
;
}
.vxe-table
.vxe-header--column
.vxe-cell
{
color
:
#A6C6C6
;
}
.vxe-table--header-wrapper
.vxe-table--repair
{
height
:
0
;
}
.vxe-table
.vxe-body--row
:hover
{
box-shadow
:
0px
0px
20px
0px
rgba
(
176
,
176
,
176
,
0.2
);
transition
:
transform
.3s
ease
;
cursor
:
pointer
;
transform
:
scaleX
(
1.005
);
}
.vxe-table
.vxe-cell
{
padding
:
0
0
0
20px
;
}
.vxe-table
.vxe-body--row
:hover
td
{
border-radius
:
0
!important
;
}
.vxe-table
.vxe-body--row
:first-child
td
:first-child
{
border-radius
:
20px
0
0
0
;
}
.vxe-table
.vxe-body--row
:first-child
td
:last-child
{
border-radius
:
0
20px
0
0
;
}
.vxe-table
.vxe-body--row
:last-child
td
:first-child
{
border-radius
:
0
0
0
20px
;
}
.vxe-table
.vxe-body--row
:last-child
td
:last-child
{
border-radius
:
0
0
20px
0
;
}
.vxe-icon--menu
{
color
:
rgba
(
0
,
210
,
214
,
1
);
}
.vxe-toolbar
.vxe-custom--setting-btn
:hover
{
background
:
transparent
;
}
.vxe-checkbox
>
input
:checked
+
.vxe-checkbox--icon
+
.vxe-checkbox--label
{
color
:
rgba
(
0
,
210
,
214
,
1
);
}
.vxe-checkbox
>
input
:checked
+
.vxe-checkbox--icon
{
background-color
:
rgba
(
0
,
210
,
214
,
1
);
border-color
:
rgba
(
0
,
210
,
214
,
1
);
}
.vxe-checkbox
.vxe-checkbox--label
{
font-size
:
12px
;
font-family
:
'宋体'
;
font-weight
:
100
;
}
\ No newline at end of file
src/components/Materialman/Archivesmaterials.vue
View file @
be3efa94
...
...
@@ -135,7 +135,7 @@
<span
class=
"label"
>
单位
</span>
<el-input
size=
"small"
v-model=
"addMsg.Units"
></el-input>
</el-form-item>
<el-form-item>
<el-form-item
prop=
"Money"
>
<span
class=
"label"
>
成本价
</span>
<el-input
size=
"small"
v-model=
"addMsg.Money"
></el-input>
</el-form-item>
...
...
@@ -236,6 +236,9 @@ export default {
BrandName
:[
{
required
:
true
,
message
:
'请输入品牌名称'
,
trigger
:
'blur'
}
],
Money
:[
{
required
:
true
,
message
:
'请输入成本价'
,
trigger
:
'blur'
}
],
},
nodemsg
:{
ParentId
:
-
1
,
...
...
src/components/Materialman/ConsumRecipients.vue
0 → 100644
View file @
be3efa94
<
template
>
<div
class=
"ConsumRecipients"
>
<div
style=
"text-align:right;border-bottom:1px solid #E2E4EB;padding-bottom:10px"
>
<span
class=
"pageTitle"
>
耗材领用查询
</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=
""
>
</span>
<span
@
click=
"getList"
style=
"margin-left:20px"
class=
"chaxunSpan"
>
查询
</span>
<!--
<span
@
click=
"chongzhi"
style=
"margin-left:20px"
class=
"addSpan"
>
重置
</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>
-->
</div>
<ul
v-show=
"morequery"
class=
"queryul"
>
<li>
<el-select
size=
"small"
v-model=
"msg.SuppliesId"
placeholder=
"物料"
>
<el-option
v-for=
"item in wulaioList"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</el-select>
</li>
<li>
<el-select
size=
"small"
filterable
v-model=
"msg.EmployeeId"
placeholder=
"使用人"
:filter-method=
"getEmployee"
>
<el-option
v-for=
"item in EmployeeList"
:key=
"item.EmployeeId"
:label=
"item.EmName"
:value=
"item.EmployeeId"
>
</el-option>
</el-select>
</li>
<li>
<el-date-picker
v-model=
"dateList"
type=
"daterange"
range-separator=
"至"
value-format=
"yyyy-MM-dd"
start-placeholder=
"领取开始日期"
end-placeholder=
"领取结束日期"
>
</el-date-picker>
</li>
<li>
<el-select
size=
"small"
filterable
v-model=
"addMsg.BranchId"
placeholder=
"公司"
>
<el-option
v-for=
"item in BranchList"
:key=
"item.Id"
:label=
"item.BName"
:value=
"item.Id"
>
</el-option>
</el-select>
</li>
<li
style=
"float:left"
>
<treeselect
style=
"height:50px;width:200px;"
:options=
"departmentata"
v-model=
"addMsg.DepartmentId"
placeholder=
"不限"
:normalizer=
"normalizer"
/>
</li>
</ul>
<vxe-grid
:columns=
"tableColumn"
:toolbar=
"tableToolbar"
:data=
"tableData"
show-footer
:footer-method=
"footerMethod"
:edit-config=
"
{trigger: 'click', mode: 'row', showStatus: true}">
</vxe-grid>
<!-- -->
<!--
<vxe-table
style=
"margin-top:15px"
:data=
"tableData"
>
<vxe-table-column
field=
"BranchName"
title=
"公司名称"
></vxe-table-column>
<vxe-table-column
field=
"DepartmentName"
title=
"部门名称"
></vxe-table-column>
<vxe-table-column
field=
"EmName"
title=
"领取人"
></vxe-table-column>
<vxe-table-column
field=
"Number"
title=
"领取数量"
></vxe-table-column>
<vxe-table-column
field=
"Money"
title=
"金额"
></vxe-table-column>
<vxe-table-column
field=
"SuppliesName"
title=
"耗材名称"
></vxe-table-column>
<vxe-table-column
field=
"CategoryName"
title=
"分类名称"
></vxe-table-column>
<vxe-table-column
field=
"StockOutNum"
title=
"领取单号"
></vxe-table-column>
<vxe-table-column
field=
"StockOutDate"
title=
"领取日期"
></vxe-table-column>
</vxe-table>
-->
<el-pagination
@
current-change=
"currentChange"
background
:page-size=
"msg.pageSize"
layout=
"prev, pager, next"
:total=
"total"
>
</el-pagination>
</div>
</
template
>
<
script
>
import
Treeselect
from
"@riophae/vue-treeselect"
;
import
"@riophae/vue-treeselect/dist/vue-treeselect.css"
;
export
default
{
name
:
'Supplierman'
,
components
:
{
Treeselect
},
data
(){
return
{
departmentata
:[],
normalizer
(
node
)
{
var
obj
=
{
id
:
node
.
DepartmentId
,
label
:
node
.
DepartmentName
,
};
if
(
node
.
ChildList
!=
null
&&
node
.
ChildList
.
length
>
0
)
{
obj
.
children
=
node
.
ChildList
;
}
return
obj
;
},
tableToolbar
:
{
setting
:
true
},
tableColumn
:
[
{
field
:
'BranchName'
,
title
:
'公司名称'
},
{
field
:
'DepartmentName'
,
title
:
'部门名称'
},
{
field
:
'EmName'
,
title
:
'领取人'
},
{
field
:
'SuppliesName'
,
title
:
'耗材名称'
},
{
field
:
'CategoryName'
,
title
:
'分类名称'
},
{
field
:
'StockOutNum'
,
title
:
'领取单号'
},
{
field
:
'StockOutDate'
,
title
:
'领取日期'
},
{
field
:
'Number'
,
title
:
'领取数量'
},
{
field
:
'Money'
,
title
:
'金额'
},
],
morequery
:
false
,
currentPage
:
1
,
tableData
:
[],
loading
:
false
,
total
:
0
,
msg
:{
pageIndex
:
1
,
pageSize
:
8
,
EmployeeId
:
''
,
SuppliesId
:
''
,
StartTime
:
''
,
EndTime
:
''
,
DepartmentId
:
null
,
BranchId
:
''
,
},
addMsg
:{
Id
:
0
,
Name
:
''
,
Contact
:
''
,
Mobile
:
''
,
},
dialogtitle
:
'新增'
,
dialogState
:
false
,
EmployeeList
:[],
wulaioList
:[],
wuliaomsg
:{
pageIndex
:
1
,
pageSize
:
1000
,
Name
:
''
,
SuppliesNum
:
""
,
BrandName
:
''
,
CategoryId
:
''
,
SupplierName
:
''
},
BranchList
:[],
dateList
:[],
totalInfo
:{},
}
},
mounted
(){
this
.
getList
();
this
.
getwuliaoList
();
this
.
getBranch
();
this
.
getDepartment
();
},
methods
:{
footerMethod
({
columns
,
data
})
{
return
[
columns
.
map
((
column
,
columnIndex
)
=>
{
if
(
columnIndex
===
0
)
{
return
'总计'
}
if
([
'Number'
].
includes
(
column
.
property
))
{
return
this
.
totalInfo
.
Number
}
if
([
'Money'
].
includes
(
column
.
property
))
{
return
this
.
totalInfo
.
Money
}
return
'-'
})
]
},
getDepartment
(){
this
.
apiJavaPost
(
"/api/user/GetDepartmentTreeForReceiveQuery"
,{
RB_Branch_Id
:
''
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
departmentata
=
res
.
data
.
data
;
console
.
log
(
"this.departmentata"
,
this
.
departmentata
)
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
getBranch
(){
this
.
apiJavaPost
(
"/api/User/GetBranchList"
,{},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
BranchList
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
getwuliaoList
(){
this
.
apiJavaPost
(
"/api/Supplies/GetMaterialPageList"
,
this
.
wuliaomsg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
wulaioList
=
res
.
data
.
data
.
pageData
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
getEmployee
(
val
){
this
.
apiJavaPost
(
"/api/User/GetEmployeeList"
,{
EmName
:
val
},
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
EmployeeList
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
currentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
getList
(){
if
(
this
.
dateList
&&
this
.
dateList
.
length
>
0
){
this
.
msg
.
StartTime
=
this
.
dateList
[
0
];
this
.
msg
.
EndTime
=
this
.
dateList
[
1
];
}
else
{
this
.
msg
.
StartTime
=
''
;
this
.
msg
.
EndTime
=
''
;
}
this
.
loading
=
true
;
this
.
apiJavaPost
(
"/api/Supplies/GetRecipientsQueryPageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
===
1
)
{
console
.
log
(
"res"
,
res
);
let
data
=
res
.
data
.
data
;
this
.
tableData
=
data
.
pagelist
.
pageData
;
this
.
total
=
data
.
pagelist
.
count
;
this
.
totalInfo
=
data
.
Total
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
},
}
</
script
>
<
style
>
.ConsumRecipients
{
padding
:
20px
30px
;
box-sizing
:
border-box
;
background
:
#F8FAFB
;
}
</
style
>
src/components/Materialman/Materialwarehouse.vue
View file @
be3efa94
...
...
@@ -58,7 +58,7 @@
<el-dialog
:title=
"dialogtitle"
:visible
.
sync=
"dialogState"
width=
"
20%
"
>
width=
"
400px
"
>
<el-form
class=
"MyEditForm"
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"0"
>
<el-form-item
prop=
"Name"
style=
"margin-left:60px;"
>
<span
class=
"label"
>
仓库名称
</span>
...
...
src/components/Materialman/SpotQuery.vue
0 → 100644
View file @
be3efa94
<
template
>
<div
class=
"spotquery"
>
<div
style=
"text-align:right;border-bottom:1px solid #E2E4EB;padding-bottom:10px"
>
<span
class=
"pageTitle"
>
现存量查询
</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=
""
>
</span>
<span
@
click=
"getList"
style=
"margin-left:20px"
class=
"chaxunSpan"
>
查询
</span>
<!--
<span
@
click=
"chongzhi"
style=
"margin-left:20px"
class=
"addSpan"
>
重置
</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>
-->
</div>
<ul
v-show=
"morequery"
class=
"queryul"
>
<li>
<el-select
size=
"small"
v-model=
"msg.WarehouseId"
placeholder=
"仓库"
>
<el-option
v-for=
"item in getWareHouseList"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</el-select>
</li>
<li>
<el-select
size=
"small"
v-model=
"msg.SuppliesId"
placeholder=
"物料"
>
<el-option
v-for=
"item in wulaioList"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</el-select>
</li>
</ul>
<vxe-table
style=
"margin-top:15px"
height=
"300"
:data=
"tableData"
>
<vxe-table-column
field=
"SuppliesNum"
title=
"耗材编码"
></vxe-table-column>
<vxe-table-column
field=
"WareHouseName"
title=
"仓库名称"
></vxe-table-column>
<vxe-table-column
field=
"SuppliesName"
title=
"耗材名称"
></vxe-table-column>
<vxe-table-column
field=
"CategoryName"
title=
"分类名称"
></vxe-table-column>
<vxe-table-column
field=
"SuppliesModel"
title=
"耗材型号"
></vxe-table-column>
<vxe-table-column
field=
"BrandName"
title=
"品牌"
></vxe-table-column>
<vxe-table-column
field=
"Units"
title=
"单位"
></vxe-table-column>
<vxe-table-column
field=
"SafetyStock"
title=
"安全库存"
></vxe-table-column>
<vxe-table-column
field=
"ReservedStock"
title=
"预留库存"
></vxe-table-column>
<vxe-table-column
field=
"UnitPrice"
title=
"单价"
></vxe-table-column>
<vxe-table-column
field=
"Number"
title=
"库存数量"
></vxe-table-column>
<!--
<vxe-table-column
field=
"address"
title=
"操作"
>
<template
v-slot=
"
{ row }">
<el-tooltip
class=
"item"
effect=
"dark"
content=
"编辑"
placement=
"top"
>
<img
@
click=
"Edit(row)"
style=
"width:24px;height:24px"
src=
"../../assets/img/edit.png"
alt=
""
>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"删除"
placement=
"top"
>
<img
@
click=
"Delete(row)"
style=
"width:24px;height:24px"
src=
"../../assets/img/delete.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>
</div>
</template>
<
script
>
export
default
{
name
:
'Supplierman'
,
data
(){
return
{
morequery
:
false
,
currentPage
:
1
,
tableData
:
[],
loading
:
false
,
total
:
0
,
msg
:{
pageIndex
:
1
,
pageSize
:
8
,
WarehouseId
:
''
,
SuppliesId
:
''
,
},
addMsg
:{
Id
:
0
,
Name
:
''
,
Contact
:
''
,
Mobile
:
''
,
},
dialogtitle
:
'新增'
,
dialogState
:
false
,
getWareHouseList
:[],
wuliaomsg
:{
pageIndex
:
1
,
pageSize
:
1000
,
Name
:
''
,
SuppliesNum
:
""
,
BrandName
:
''
,
CategoryId
:
''
,
SupplierName
:
''
},
wulaioList
:[],
}
},
mounted
(){
this
.
getList
();
this
.
getWareHouse
();
this
.
getwuliaoList
();
},
methods
:{
// 仓库列表
getWareHouse
(){
this
.
apiJavaPost
(
"/api/Supplies/GetWareHouseList"
,{
Name
:
''
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
getWareHouseList
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
getwuliaoList
(){
this
.
apiJavaPost
(
"/api/Supplies/GetMaterialPageList"
,
this
.
wuliaomsg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
wulaioList
=
res
.
data
.
data
.
pageData
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
currentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
getList
(){
this
.
loading
=
true
;
this
.
apiJavaPost
(
"/api/Supplies/GetInventoryPageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
===
1
)
{
console
.
log
(
"res"
,
res
);
this
.
tableData
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
},
}
</
script
>
<
style
scoped
>
.spotquery
{
padding
:
20px
30px
;
box-sizing
:
border-box
;
background
:
#F8FAFB
;
}
</
style
>
src/components/Materialman/chukudan.vue
0 → 100644
View file @
be3efa94
<
template
>
<div
class=
"chukudan"
>
<div
style=
"text-align:right;border-bottom:1px solid #E2E4EB;padding-bottom:10px"
>
<span
class=
"pageTitle"
>
出库单列表
</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=
""
>
</span>
<span
@
click=
"getList"
style=
"margin-left:20px"
class=
"chaxunSpan"
>
查询
</span>
<!--
<span
@
click=
"chongzhi"
style=
"margin-left:20px"
class=
"addSpan"
>
重置
</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>
</div>
<ul
v-show=
"morequery"
class=
"queryul"
>
<li>
<el-input
class=
"w200"
size=
"small"
v-model=
"msg.StockInNum"
placeholder=
"入库单编码"
></el-input>
</li>
<li>
<el-input
class=
"w200"
size=
"small"
v-model=
"msg.SuppliesNum"
placeholder=
"耗材编码"
></el-input>
</li>
<li>
<el-input
class=
"w200"
size=
"small"
v-model=
"msg.SuppliesName"
placeholder=
"耗材名称"
></el-input>
</li>
<li>
<el-input
class=
"w200"
size=
"small"
v-model=
"msg.SupplierName"
placeholder=
"供应商"
></el-input>
</li>
<li>
<el-select
size=
"small"
v-model=
"msg.WarehouseId"
placeholder=
"仓库"
>
<el-option
v-for=
"item in getWareHouseList"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</el-select>
</li>
<li>
<el-select
filterable
size=
"small"
v-model=
"msg.EmployeeId"
placeholder=
"领取人"
:filter-method=
"getEmployee1"
>
<el-option
v-for=
"item in EmployeeList1"
:key=
"item.EmployeeId"
:label=
"item.EmName"
:value=
"item.EmployeeId"
>
</el-option>
</el-select>
</li>
<li>
<el-date-picker
v-model=
"dateList"
type=
"daterange"
range-separator=
"至"
value-format=
"yyyy-MM-dd"
start-placeholder=
"购置开始日期"
end-placeholder=
"购置结束日期"
>
</el-date-picker>
</li>
</ul>
<div
class=
"overflowY"
:style=
'
{"height":tableHeight+"px"}'>
<table
style=
"margin-top:10px"
class=
"myTable noHoverTable"
v-loading=
"loading"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<thead>
<th>
出库状态
</th>
<th>
出库单编码
</th>
<th>
仓库名称
</th>
<!--
<th>
供应商名称
</th>
-->
<th>
出库时间
</th>
<th>
分类名称
</th>
<th>
耗材名称
</th>
<th>
品牌名称
</th>
<th>
库存
</th>
<th>
数量
</th>
<th
width=
"150px"
>
操作
</th>
</thead>
<tbody>
<template
v-for=
"item in tableData"
>
<tr
:class=
"index==0?'trNobottom':''"
v-for=
"(delist,index) in item.DetailList"
:key=
"delist.Id"
>
<td
:rowspan=
"item.DetailList.length"
v-if=
"index==0"
>
<!--
<span
class=
"commonStyle hoverSpan1"
></span>
-->
{{
item
.
StockOutStateStr
}}
</td>
<td
:rowspan=
"item.DetailList.length"
v-if=
"index==0"
>
{{
item
.
StockOutNum
}}
</td>
<td
:rowspan=
"item.DetailList.length"
v-if=
"index==0"
>
{{
item
.
WareHouseName
}}
</td>
<!--
<td
:rowspan=
"item.DetailList.length"
v-if=
"index==0"
>
{{
item
.
SupplierName
}}
</td>
-->
<td
:rowspan=
"item.DetailList.length"
v-if=
"index==0"
>
{{
item
.
StockOutDate
}}
</td>
<td>
{{
delist
.
CategoryName
}}
</td>
<td>
{{
delist
.
SuppliesName
}}
</td>
<td>
{{
delist
.
BrandName
}}
</td>
<td>
{{
delist
.
InventoryNum
}}
</td>
<td>
{{
delist
.
Number
}}
</td>
<td
:rowspan=
"item.DetailList.length"
v-if=
"index==0"
>
<!--
<el-tooltip
class=
"item"
effect=
"dark"
content=
"编辑"
placement=
"top"
>
<img
@
click=
"Edit(item)"
style=
"width:24px;height:24px"
src=
"../../assets/img/edit.png"
alt=
""
>
</el-tooltip>
-->
<el-tooltip
class=
"item"
effect=
"dark"
content=
"删除"
placement=
"top"
>
<img
@
click=
"Delete(item)"
style=
"width:24px;height:24px"
src=
"../../assets/img/delete.png"
alt=
""
>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"取消出库单"
placement=
"top"
>
<img
v-show=
"item.StockOutState==1"
@
click=
"Quxiao(item)"
style=
"width:24px;height:24px"
src=
"../../assets/img/qx.png"
alt=
""
>
</el-tooltip>
<!--
<el-tooltip
class=
"item"
effect=
"dark"
content=
"恢复出库单"
placement=
"top"
>
<span
v-show=
"item.StockOutState==2"
@
click=
"Huifu(item)"
>
恢复入库单
</span>
</el-tooltip>
-->
<!--
<span
class=
"commonStyle hoverSpan2"
></span>
-->
</td>
</tr>
</
template
>
<tr
v-show=
"tableData.length==0"
>
<td
colspan=
"12"
align=
"center"
>
暂无数据
</td>
</tr>
</tbody>
</table>
</div>
<el-pagination
class=
"myPageBottom"
@
current-change=
"currentChange"
background
:page-size=
"msg.pageSize"
layout=
"prev, pager, next"
:total=
"total"
>
</el-pagination>
<el-dialog
title=
"出库管理"
:visible
.
sync=
"dialogState"
top=
"2%"
width=
"815px"
>
<el-form
class=
"MyEditForm"
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"0px"
>
<div
class=
"basefix"
>
<el-form-item
label=
""
prop=
"WarehouseId"
>
<span
class=
"label"
>
仓库
</span>
<el-select
size=
"mini"
v-model=
"addMsg.WarehouseId"
placeholder=
"请选择"
>
<el-option
v-for=
"item in getWareHouseList"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
""
>
<span
class=
"label"
>
领取人
</span>
<el-select
filterable
size=
"small"
v-model=
"addMsg.EmployeeId"
placeholder=
"使用人"
:filter-method=
"getEmployee2"
>
<el-option
v-for=
"item in EmployeeList2"
:key=
"item.EmployeeId"
:label=
"item.EmName"
:value=
"item.EmployeeId"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
""
prop=
"StockOutDate"
>
<span
class=
"label"
>
出库日期
</span>
<el-date-picker
size=
"mini"
v-model=
"addMsg.StockOutDate"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"选择日期"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
""
>
<span
class=
"label"
>
备注
</span>
<el-input
size=
"small"
v-model=
"addMsg.Remark"
placeholder=
"请输入"
></el-input>
</el-form-item>
</div>
<div
class=
"chooseDiv"
>
<span
@
click=
"OpenWldig"
>
<img
style=
"width:10px;height:10px"
src=
"../../assets/img/add.png"
alt=
""
>
选择物料
</span>
<span
@
click=
"ycwuitemList"
style=
"margin-left:20px"
>
<span
class=
"f20"
>
-
</span>
移出物料
</span>
</div>
<div
class=
"myScroll"
style=
"overflow:scroll;max-height:300px;margin-top:20px"
>
<table
class=
"myTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<thead>
<th><input
class=
"color-input-red"
type=
"checkbox"
v-model=
"ItemisCkedAll"
@
click=
'ItemcheckAll()'
></th>
<th>
档案编码
</th>
<th>
物料名称
</th>
<th>
分类名称
</th>
<th>
品牌
</th>
<th>
当前库存
</th>
<th
width=
"80px"
><span
class=
"cred"
>
*出库数量
</span></th>
<th
width=
"120px"
>
备注
</th>
</thead>
<tbody>
<tr
v-for=
"(item,index) in wlItemList"
:key=
"index"
>
<td>
<input
class=
"color-input-red"
type=
"checkbox"
v-model=
"ItemCheckList"
:value=
"item"
@
change=
"ItemcheckOne"
>
</td>
<td>
{{item.SuppliesNum}}
</td>
<td>
{{item.SuppliesName}}
</td>
<td>
{{item.CategoryName}}
</td>
<td>
{{item.BrandName}}
</td>
<td>
{{item.InventoryNum}}
</td>
<td><el-input
@
input=
"changeNUmber(item,index)"
v-model=
"item.Number"
></el-input></td>
<td><el-input
v-model=
"item.Remark"
></el-input></td>
</tr>
<tr
v-show=
"wlItemList.length==0"
>
<td
colspan=
"12"
align=
"center"
>
暂无数据
</td>
</tr>
</tbody>
</table>
</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
title=
"选择物料"
:visible
.
sync=
"wuliaodig"
top=
"3%"
width=
"750px"
>
<el-form
class=
"MyEditForm"
:model=
"addMsg"
label-width=
"0px"
>
<div
class=
"myScroll"
style=
"overflow:scroll;max-height:500px;margin-top:20px"
>
<table
style=
"width:1250px;"
class=
"myTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<thead>
<th><input
class=
"color-input-red"
type=
"checkbox"
v-model=
"wlisCkedAll"
@
click=
'wlcheckAll()'
></th>
<th>
物料名称
</th>
<th><span
class=
"cred"
>
库存
</span></th>
<th>
分类名称
</th>
<th>
品牌名
</th>
<th>
成本价
</th>
<th>
供应商名称
</th>
<th>
条形码号
</th>
<th>
型号
</th>
<th>
档案编码
</th>
<th>
操作人
</th>
<th>
备注
</th>
</thead>
<tbody>
<tr
v-for=
"(item,index) in wuliaoList"
:key=
"index"
>
<td>
<input
class=
"color-input-red"
type=
"checkbox"
v-model=
"wlcheckList"
:value=
"item"
@
change=
"wlcheckOne"
>
</td>
<td>
{{item.Name}}
</td>
<td
class=
"cred"
>
{{item.InventoryNum}}
</td>
<td>
{{item.CategoryName}}
</td>
<td>
{{item.BrandName}}
</td>
<td>
{{item.Money}}
</td>
<td>
{{item.SupplierName}}
</td>
<td>
{{item.Barcode}}
</td>
<td>
{{item.SuppliesModel}}
</td>
<td>
{{item.SuppliesNum}}
</td>
<td>
{{item.UpdateBy}}
</td>
<td>
{{item.Remark}}
</td>
</tr>
<tr
v-show=
"wuliaoList.length==0"
>
<td
colspan=
"12"
align=
"center"
>
暂无数据
</td>
</tr>
</tbody>
</table>
</div>
<el-pagination
@
current-change=
"currentChange1"
background
:page-size=
"wuliaomsg.pageSize"
layout=
"prev, pager, next"
:total=
"wuliaototal"
>
</el-pagination>
<div
class=
"btnformItem"
>
<span
class=
"submitBtn"
type=
"primary"
@
click=
"chooseWu"
>
确定
</span>
<span
class=
"exitBtn"
@
click=
"wuliaodig=false"
>
取消
</span>
</div>
</el-form>
</el-dialog>
</div>
</template>
<
script
>
export
default
{
name
:
'Supplierman'
,
data
(){
return
{
morequery
:
false
,
currentPage
:
1
,
tableData
:
[],
loading
:
false
,
total
:
0
,
msg
:{
pageIndex
:
1
,
pageSize
:
10
,
StockOutNum
:
''
,
SuppliesNum
:
''
,
SuppliesName
:
''
,
SupplierName
:
''
,
StartTime
:
''
,
EndTime
:
''
,
WarehouseId
:
''
,
EmployeeId
:
''
,
},
addMsg
:{
Id
:
0
,
WarehouseId
:
''
,
StockOutDate
:
''
,
Remark
:
''
,
DetailList
:[],
},
dialogState
:
false
,
rules
:{
StockOutDate
:
[
{
type
:
'string'
,
required
:
true
,
message
:
'请选择日期'
,
trigger
:
'change'
}
],
WarehouseId
:
[
{
required
:
true
,
message
:
'请选择仓库'
,
trigger
:
'change'
}
],
},
getWareHouseList
:[],
dateList
:[],
wuliaototal
:
0
,
wuliaoList
:[],
wuliaomsg
:{
pageIndex
:
1
,
pageSize
:
8
,
Name
:
''
,
SuppliesNum
:
""
,
BrandName
:
''
,
CategoryId
:
''
,
SupplierName
:
''
},
wuliaodig
:
false
,
wlcheckList
:[],
wlisCkedAll
:
false
,
wlcheckAllList
:[],
wlItemList
:[],
ItemisCkedAll
:
false
,
ItemCheckList
:[],
tableHeight
:
0
,
EmployeeList1
:[],
EmployeeList2
:[],
EmName
:
''
,
}
},
created
(){
this
.
tableHeight
=
document
.
body
.
clientHeight
-
40
-
66
-
87
;
},
mounted
(){
this
.
getList
();
this
.
getWareHouse
();
// this.getEmployee();
},
methods
:{
changeNUmber
(
item
,
index
){
this
.
$forceUpdate
()
},
getEmployee1
(
val
){
if
(
val
!=
''
){
this
.
EmName
=
val
;
this
.
getEmployee
(
1
);
}
},
getEmployee2
(
val
){
if
(
val
!=
''
){
this
.
EmName
=
val
;
this
.
getEmployee
(
2
);
}
},
getEmployee
(
num
){
this
.
apiJavaPost
(
"/api/User/GetEmployeeList"
,{
EmName
:
this
.
EmName
},
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
===
1
)
{
if
(
num
==
1
){
this
.
EmployeeList1
=
res
.
data
.
data
;
}
else
{
this
.
EmployeeList2
=
res
.
data
.
data
;
}
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
Huifu
(
item
){
this
.
apiJavaPost
(
"/api/Supplies/RecoverStockInInfo"
,{
StockInId
:
item
.
Id
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
getList
();
this
.
Success
(
res
.
data
.
message
)
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
ItemcheckOne
(){
if
(
this
.
ItemCheckList
.
length
<
this
.
wlItemList
.
length
)
{
this
.
ItemisCkedAll
=
false
}
else
{
this
.
ItemisCkedAll
=
true
}
},
ItemcheckAll
(){
if
(
this
.
ItemisCkedAll
==
true
)
{
this
.
ItemCheckList
=
[];
}
else
{
this
.
ItemCheckList
=
[];
this
.
wlItemList
.
forEach
(
item
=>
{
this
.
ItemCheckList
.
push
(
item
)
})
}
},
ycwuitemList
(){
if
(
this
.
ItemCheckList
.
length
==
0
){
return
;
}
this
.
$confirm
(
"确认移出物料?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
'warning'
}).
then
(()
=>
{
var
set
=
this
.
ItemCheckList
.
map
(
item
=>
item
.
Id
)
var
resArr
=
this
.
wlItemList
.
filter
(
item
=>!
set
.
includes
(
item
.
SuppliesId
))
this
.
wlItemList
=
resArr
;
this
.
addMsg
.
Money
=
0
;
this
.
wlItemList
.
forEach
(
x
=>
{
this
.
addMsg
.
Money
+=
Number
(
x
.
Money
)
})
}).
catch
(()
=>
{
});
},
OpenWldig
(){
if
(
this
.
addMsg
.
WarehouseId
==
''
){
this
.
Error
(
"请先选择仓库!"
);
return
;
}
this
.
getWuliao
();
this
.
wuliaodig
=
true
;
this
.
wlcheckList
=
[];
this
.
wlisCkedAll
=
false
;
},
chooseWu
(){
this
.
wlcheckList
.
forEach
(
item
=>
{
this
.
wlItemList
.
push
(
item
);
})
let
obj
=
{};
let
peon
=
this
.
wlItemList
.
reduce
((
cur
,
next
)
=>
{
obj
[
next
.
SuppliesId
]
?
""
:
obj
[
next
.
SuppliesId
]
=
true
&&
cur
.
push
(
next
);
return
cur
;
},[])
this
.
wlItemList
=
peon
this
.
wuliaodig
=
false
;
},
wlcheckOne
()
{
//单选
if
(
this
.
wlcheckList
.
length
<
this
.
wlcheckAllList
.
length
)
{
this
.
wlisCkedAll
=
false
}
else
{
this
.
wlisCkedAll
=
true
}
},
wlcheckAll
()
{
//全选
if
(
this
.
wlisCkedAll
==
true
)
{
this
.
wlcheckList
=
[];
}
else
{
this
.
wlcheckList
=
[];
this
.
wlcheckAllList
.
forEach
(
item
=>
{
this
.
wlcheckList
.
push
(
item
)
})
}
},
currentChange1
(
val
)
{
this
.
wuliaomsg
.
pageIndex
=
val
;
this
.
getWuliao
();
},
getWuliao
(){
this
.
wuliaomsg
.
WareHouseId
=
this
.
addMsg
.
WarehouseId
;
this
.
apiJavaPost
(
"/api/Supplies/GetMaterialPageList"
,
this
.
wuliaomsg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
wuliaoList
=
res
.
data
.
data
.
pageData
;
let
data
=
res
.
data
.
data
.
pageData
;
this
.
wuliaototal
=
res
.
data
.
data
.
count
;
data
.
forEach
(
item
=>
{
item
.
Number
=
''
;
item
.
Remark
=
''
;
item
.
SuppliesId
=
item
.
Id
;
})
this
.
wlcheckAllList
=
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
// 仓库列表
getWareHouse
(){
this
.
apiJavaPost
(
"/api/Supplies/GetWareHouseList"
,{
Name
:
''
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
getWareHouseList
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
addSupplier
(){
this
.
addMsg
=
{
Id
:
0
,
WarehouseId
:
''
,
StockOutDate
:
''
,
Remark
:
''
,
DetailList
:[],
}
this
.
wlItemList
=
[];
this
.
dialogState
=
true
;
},
submitForm
(
formName
)
{
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
addMsg
.
DetailList
=
[];
if
(
this
.
wlItemList
.
length
==
0
){
this
.
Error
(
"请选择物料!"
);
return
;
}
for
(
let
i
=
0
;
i
<
this
.
wlItemList
.
length
;
i
++
){
if
(
this
.
wlItemList
[
i
].
Number
==
''
||
this
.
wlItemList
[
i
].
Number
==
0
){
this
.
Error
(
"出库数量不能为0!"
);
return
;
}
let
obj
=
{
SuppliesId
:
this
.
wlItemList
[
i
].
SuppliesId
,
Number
:
this
.
wlItemList
[
i
].
Number
,
Remark
:
this
.
wlItemList
[
i
].
Remark
,
};
this
.
addMsg
.
DetailList
.
push
(
obj
);
}
this
.
apiJavaPost
(
"/api/Supplies/SetStockOutInfo"
,
this
.
addMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
getList
();
this
.
Success
(
res
.
data
.
message
)
this
.
dialogState
=
false
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
}
else
{
return
false
;
}
});
},
currentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
getList
(){
this
.
loading
=
true
;
if
(
this
.
dateList
&&
this
.
dateList
.
length
>
0
){
this
.
msg
.
StartTime
=
this
.
dateList
[
0
];
this
.
msg
.
EndTime
=
this
.
dateList
[
1
];
}
else
{
this
.
msg
.
StartTime
=
''
;
this
.
msg
.
EndTime
=
''
;
}
this
.
loading
=
true
;
this
.
apiJavaPost
(
"/api/Supplies/GetStockOutPageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
tableData
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
// Edit(item){
// if(item.StockInState==1){
// this.Error("入库单已完成,无法修改!")
// return;
// }
// this.dialogState=true;
// this.addMsg={
// Id:item.Id,
// WarehouseId:item.WarehouseId,
// Remark:item.Remark,
// StockOutDate:item.StockOutDate,
// Money:item.Money,
// SupplierName:item.SupplierName,
// SuppliesId:item.SuppliesId,
// DetailList:[],
// }
// this.wlItemList=item.DetailList;
// },
Delete
(
item
){
let
Id
=
item
.
Id
;
this
.
$confirm
(
"确认删除?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
'warning'
}).
then
(()
=>
{
this
.
apiJavaPost
(
"/api/Supplies/DelStockOutInfo"
,{
StockOutId
:
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
(
'已取消删除!'
)
});
},
Quxiao
(
item
){
let
Id
=
item
.
Id
;
this
.
$confirm
(
"确认取消入库单?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
'warning'
}).
then
(()
=>
{
this
.
apiJavaPost
(
"/api/Supplies/CancelStockOutInfo"
,{
StockOutId
:
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
(
'已取消删除!'
)
});
},
},
}
</
script
>
<
style
>
.chooseDiv
>
span
{
color
:
#00D2D6
;
padding
:
10px
20px
;
border
:
1px
solid
#00D2D6
;
border-radius
:
20px
;
cursor
:
pointer
;
}
.chukudan
.myScroll
.el-input__inner
{
border-radius
:
0
;
border
:
none
;
border-bottom
:
1px
solid
#E2E4EB
;
padding
:
0
;
}
.chukudan
input
[
type
=
"checkbox"
]
{
width
:
15px
;
height
:
15px
;
display
:
inline-block
;
text-align
:
center
;
vertical-align
:
middle
;
line-height
:
15px
;
position
:
relative
;
}
.chukudan
input
[
type
=
"checkbox"
]
::before
{
content
:
""
;
position
:
absolute
;
top
:
0
;
left
:
0
;
background
:
#fff
;
width
:
100%
;
height
:
100%
;
border
:
1px
solid
#B9ECED
}
.chukudan
input
[
type
=
"checkbox"
]
:checked::before
{
content
:
"\2713"
;
background-color
:
#fff
;
position
:
absolute
;
top
:
0
;
left
:
0
;
width
:
100%
;
border
:
1px
solid
#00D2D6
;
color
:
#00D2D6
;
font-size
:
18px
;
font-weight
:
bold
;
}
.chukudan
{
position
:
relative
;
width
:
100%
;
height
:
100%
;
}
.chukudan
.MyEditForm
.el-form-item
:nth-child
(
3n
)
{
margin-right
:
0
;
}
.chukudan
::-webkit-scrollbar
{
width
:
4px
;
height
:
5px
;
}
/*滚动条样式*/
.chukudan
.myScroll
::-webkit-scrollbar
{
/*滚动条整体样式*/
height
:
5px
;
width
:
4px
;
border-radius
:
5px
;
}
.chukudan
.myScroll
::-webkit-scrollbar-thumb
{
/*滚动条里面小方块*/
border-radius
:
5px
!important
;
background
:
#00D2D6
!important
;
}
.chukudan
.myScroll
::-webkit-scrollbar-track
{
/*滚动条里面轨道*/
-webkit-box-shadow
:
inset
0
0
0
rgba
(
0
,
0
,
0
,
0.2
)
!important
;
border-radius
:
20px
!important
;
background
:
transparent
!important
;
}
</
style
>
src/components/Materialman/rukudan.vue
View file @
be3efa94
...
...
@@ -117,6 +117,7 @@
<el-dialog
title=
"入库管理"
:visible
.
sync=
"dialogState"
top=
"2%"
width=
"815px"
>
<el-form
class=
"MyEditForm"
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"0px"
>
<div
class=
"basefix"
>
...
...
@@ -209,23 +210,24 @@
<el-dialog
title=
"选择物料"
:visible
.
sync=
"wuliaodig"
top=
"3%"
width=
"750px"
>
<el-form
class=
"MyEditForm"
:model=
"addMsg"
label-width=
"0px"
>
<div
class=
"myScroll"
style=
"overflow:scroll;max-height:500px;margin-top:20px"
>
<table
style=
"width:1250px;"
class=
"myTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<thead>
<th><input
class=
"color-input-red"
type=
"checkbox"
v-model=
"wlisCkedAll"
@
click=
'wlcheckAll()'
></th>
<th
width=
"100px"
>
物料名称
</th>
<th
width=
"100px"
>
分类名称
</th>
<th
width=
"100px"
>
品牌名
</th>
<th
width=
"100px"
>
成本价
</th>
<th
width=
"100px"
>
供应商名称
</th>
<th
width=
"100px"
>
条形码号
</th>
<th
width=
"100px"
>
库存
</th>
<th
width=
"100px"
>
型号
</th>
<th
width=
"100px"
>
档案编码
</th>
<th
width=
"100px"
>
操作人
</th>
<th
width=
"100px"
>
备注
</th>
<th>
物料名称
</th>
<th>
分类名称
</th>
<th>
品牌名
</th>
<th>
成本价
</th>
<th>
供应商名称
</th>
<th>
条形码号
</th>
<th>
库存
</th>
<th>
型号
</th>
<th>
档案编码
</th>
<th>
操作人
</th>
<th>
备注
</th>
</thead>
<tbody>
<tr
v-for=
"(item,index) in wuliaoList"
:key=
"index"
>
...
...
@@ -558,6 +560,10 @@ export default {
this
.
msg
.
StartTime
=
this
.
dateList
[
0
];
this
.
msg
.
EndTime
=
this
.
dateList
[
1
];
}
else
{
this
.
msg
.
StartTime
=
''
;
this
.
msg
.
EndTime
=
''
;
}
this
.
apiJavaPost
(
"/api/Supplies/GetStockInPageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
...
...
src/components/Systemman/AssetsClassification.vue
View file @
be3efa94
...
...
@@ -73,29 +73,32 @@
<el-dialog
:title=
"dialogtitle"
:visible
.
sync=
"dialogState"
width=
"
30%
"
>
width=
"
550px
"
>
<el-form
class=
"MyEditForm"
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"0"
>
<el-form-item
label=
""
prop=
"Name"
>
<span
class=
"label"
>
分类名称
</span>
<el-input
size=
"small"
v-model=
"addMsg.Name"
></el-input>
</el-form-item>
<el-form-item
label=
""
prop=
"Tier"
>
<span
class=
"label"
>
层级
</span>
<el-select
size=
"small"
v-model=
"addMsg.Tier"
placeholder=
"请选择层级"
@
change=
"getflList(addMsg.Tier),addMsg.ParentId=''"
>
<el-option
v-for=
'item in layerTierList'
:label=
'item.name'
:value=
'item.id'
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
""
prop=
"ParentId"
>
<span
class=
"label"
>
上级分类
</span>
<el-select
size=
"small"
v-model=
"addMsg.ParentId"
placeholder=
"请选择上级分类"
>
<el-option
v-for=
'item in highList'
:label=
'item.Name'
:value=
'item.Id'
:key=
"item.Id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
""
prop=
"Sort"
>
<span
class=
"label"
>
排序
</span>
<el-input
size=
"small"
type=
"text"
v-model=
"addMsg.Sort"
placeholder=
"请输入"
></el-input>
</el-form-item>
<div
class=
"basefix"
>
<el-form-item
label=
""
prop=
"Name"
>
<span
class=
"label"
>
分类名称
</span>
<el-input
size=
"small"
v-model=
"addMsg.Name"
></el-input>
</el-form-item>
<el-form-item
label=
""
prop=
"Tier"
>
<span
class=
"label"
>
层级
</span>
<el-select
size=
"small"
v-model=
"addMsg.Tier"
placeholder=
"请选择层级"
@
change=
"getflList(addMsg.Tier),addMsg.ParentId=''"
>
<el-option
v-for=
'item in layerTierList'
:label=
'item.name'
:value=
'item.id'
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
""
prop=
"ParentId"
>
<span
class=
"label"
>
上级分类
</span>
<el-select
size=
"small"
v-model=
"addMsg.ParentId"
placeholder=
"请选择上级分类"
>
<el-option
v-for=
'item in highList'
:label=
'item.Name'
:value=
'item.Id'
:key=
"item.Id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
""
prop=
"Sort"
>
<span
class=
"label"
>
排序
</span>
<el-input
size=
"small"
type=
"text"
v-model=
"addMsg.Sort"
placeholder=
"请输入"
></el-input>
</el-form-item>
</div>
<div
class=
"btnformItem"
>
<span
class=
"submitBtn"
type=
"primary"
@
click=
"submitForm('addMsg')"
>
确定
</span>
<span
class=
"exitBtn"
@
click=
"dialogState=false"
>
取消
</span>
...
...
src/components/Systemman/MaterialClassification.vue
View file @
be3efa94
...
...
@@ -74,29 +74,31 @@
<el-dialog
:title=
"dialogtitle"
:visible
.
sync=
"dialogState"
width=
"
30%
"
>
width=
"
550px
"
>
<el-form
class=
"MyEditForm"
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"0"
>
<el-form-item
label=
""
prop=
"Name"
>
<span
class=
"label"
>
分类名称
</span>
<el-input
size=
"small"
v-model=
"addMsg.Name"
></el-input>
</el-form-item>
<el-form-item
label=
""
prop=
"Tier"
>
<span
class=
"label"
>
层级
</span>
<el-select
size=
"small"
v-model=
"addMsg.Tier"
placeholder=
"请选择层级"
@
change=
"getflList(addMsg.Tier),addMsg.ParentId=''"
>
<el-option
v-for=
'item in layerTierList'
:label=
'item.name'
:value=
'item.id'
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
""
prop=
"ParentId"
>
<span
class=
"label"
>
上级分类
</span>
<el-select
size=
"small"
v-model=
"addMsg.ParentId"
placeholder=
"请选择上级分类"
>
<el-option
v-for=
'item in highList'
:label=
'item.Name'
:value=
'item.Id'
:key=
"item.Id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
""
prop=
"Sort"
>
<span
class=
"label"
>
排序
</span>
<el-input
size=
"small"
type=
"text"
v-model=
"addMsg.Sort"
placeholder=
"请输入"
></el-input>
</el-form-item>
<div
class=
"basefix"
>
<el-form-item
label=
""
prop=
"Name"
>
<span
class=
"label"
>
分类名称
</span>
<el-input
size=
"small"
v-model=
"addMsg.Name"
></el-input>
</el-form-item>
<el-form-item
label=
""
prop=
"Tier"
>
<span
class=
"label"
>
层级
</span>
<el-select
size=
"small"
v-model=
"addMsg.Tier"
placeholder=
"请选择层级"
@
change=
"getflList(addMsg.Tier),addMsg.ParentId=''"
>
<el-option
v-for=
'item in layerTierList'
:label=
'item.name'
:value=
'item.id'
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
""
prop=
"ParentId"
>
<span
class=
"label"
>
上级分类
</span>
<el-select
size=
"small"
v-model=
"addMsg.ParentId"
placeholder=
"请选择上级分类"
>
<el-option
v-for=
'item in highList'
:label=
'item.Name'
:value=
'item.Id'
:key=
"item.Id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
""
prop=
"Sort"
>
<span
class=
"label"
>
排序
</span>
<el-input
size=
"small"
type=
"text"
v-model=
"addMsg.Sort"
placeholder=
"请输入"
></el-input>
</el-form-item>
</div>
<div
class=
"btnformItem"
>
<span
class=
"submitBtn"
type=
"primary"
@
click=
"submitForm('addMsg')"
>
确定
</span>
<span
class=
"exitBtn"
@
click=
"dialogState=false"
>
取消
</span>
...
...
src/components/Systemman/Supplierman.vue
View file @
be3efa94
...
...
@@ -24,7 +24,26 @@
<el-input
class=
"w200"
size=
"small"
v-model=
"msg.Mobile"
placeholder=
"联系电话"
></el-input>
</li>
</ul>
<table
style=
"margin-top:10px"
class=
"myTable"
v-loading=
"loading"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<vxe-table
style=
"margin-top:15px"
height=
"300"
:data=
"tableData"
>
<vxe-table-column
field=
"Name"
title=
"供应商名称"
></vxe-table-column>
<vxe-table-column
field=
"Contact"
title=
"联系人"
></vxe-table-column>
<vxe-table-column
field=
"Mobile"
title=
"联系电话"
></vxe-table-column>
<vxe-table-column
field=
"UpdateBy"
title=
"操作人"
></vxe-table-column>
<vxe-table-column
field=
"UpdateDate"
title=
"操作时间"
></vxe-table-column>
<vxe-table-column
field=
"address"
title=
"操作"
>
<template
v-slot=
"
{ row }">
<el-tooltip
class=
"item"
effect=
"dark"
content=
"编辑"
placement=
"top"
>
<img
@
click=
"Edit(row)"
style=
"width:24px;height:24px"
src=
"../../assets/img/edit.png"
alt=
""
>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"删除"
placement=
"top"
>
<img
@
click=
"Delete(row)"
style=
"width:24px;height:24px"
src=
"../../assets/img/delete.png"
alt=
""
>
</el-tooltip>
</
template
>
</vxe-table-column>
</vxe-table>
<!-- <table style="margin-top:10px" class="myTable" v-loading="loading" border="0" cellspacing="0" cellpadding="0">
<thead>
<th>供应商名称</th>
<th>联系人</th>
...
...
@@ -59,32 +78,34 @@
<td colspan="12" align="center">暂无数据</td>
</tr>
</tbody>
</table>
</table>
-->
<el-pagination
@
current-change=
"currentChange"
background
:page-size=
"msg.pageSize"
layout=
"prev, pager, next"
:total=
"total"
>
</el-pagination>
</el-pagination>
<el-dialog
:title=
"dialogtitle"
:visible
.
sync=
"dialogState"
width=
"
30%
"
>
width=
"
530px
"
>
<el-form
class=
"MyEditForm"
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"0px"
>
<el-form-item
label=
""
prop=
"Name"
>
<span
class=
"label"
>
供应商名称
</span>
<el-input
size=
"small"
v-model=
"addMsg.Name"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
""
prop=
"Contact"
>
<span
class=
"label"
>
联系人
</span>
<el-input
size=
"small"
v-model=
"addMsg.Contact"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
""
prop=
"Mobile"
>
<span
class=
"label"
>
联系电话
</span>
<el-input
size=
"small"
v-model=
"addMsg.Mobile"
placeholder=
"请输入"
></el-input>
</el-form-item>
<div
class=
"basefix"
>
<el-form-item
label=
""
prop=
"Name"
>
<span
class=
"label"
>
供应商名称
</span>
<el-input
size=
"small"
v-model=
"addMsg.Name"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
""
prop=
"Contact"
>
<span
class=
"label"
>
联系人
</span>
<el-input
size=
"small"
v-model=
"addMsg.Contact"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
""
prop=
"Mobile"
>
<span
class=
"label"
>
联系电话
</span>
<el-input
size=
"small"
v-model=
"addMsg.Mobile"
placeholder=
"请输入"
></el-input>
</el-form-item>
</div>
<div
class=
"btnformItem"
>
<span
class=
"submitBtn"
type=
"primary"
@
click=
"submitForm('addMsg')"
>
确定
</span>
...
...
@@ -109,7 +130,7 @@ export default {
total
:
0
,
msg
:{
pageIndex
:
1
,
pageSize
:
10
,
pageSize
:
8
,
Name
:
''
,
Contact
:
''
,
Mobile
:
''
,
...
...
@@ -234,5 +255,6 @@ export default {
.Supplierman
{
padding
:
20px
30px
;
box-sizing
:
border-box
;
background
:
#F8FAFB
;
}
</
style
>
src/components/assetsman/assetsList.vue
View file @
be3efa94
...
...
@@ -34,9 +34,9 @@
</el-select>
</li>
<li>
<el-select
size=
"small"
v-model=
"msg.EmployeeId"
placeholder=
"使用人
"
>
<el-select
size=
"small"
filterable
v-model=
"msg.EmployeeId"
placeholder=
"使用人"
:filter-method=
"getEmployee1
"
>
<el-option
v-for=
"item in EmployeeList"
v-for=
"item in EmployeeList
1
"
:key=
"item.EmployeeId"
:label=
"item.EmName"
:value=
"item.EmployeeId"
>
...
...
@@ -122,18 +122,18 @@
</tr>
</tbody>
</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"
>
</el-pagination>
<el-dialog
:title=
"dialogtitle"
:visible
.
sync=
"dialogState"
top=
"
3
%"
top=
"
2
%"
width=
"770px"
>
<el-form
class=
"MyEditForm"
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"0px"
>
<div
class=
"basefix"
>
...
...
@@ -218,9 +218,9 @@
</el-form-item>
<el-form-item
label=
""
>
<span
class=
"label"
>
使用人
</span>
<el-select
size=
"mini"
v-model=
"addMsg.EmployeeId"
placeholder=
"请选择
"
>
<el-select
size=
"mini"
filterable
v-model=
"addMsg.EmployeeId"
placeholder=
"请选择"
:filter-method=
"getEmployee2
"
>
<el-option
v-for=
"item in EmployeeList"
v-for=
"item in EmployeeList
2
"
:key=
"item.EmployeeId"
:label=
"item.EmName"
:value=
"item.EmployeeId"
>
...
...
@@ -420,11 +420,13 @@ export default {
},
OperationList
:[],
OperationLoad
:
false
,
EmployeeList1
:[],
EmployeeList2
:[],
EmName
:
''
,
}
},
mounted
(){
this
.
getList
();
this
.
getEmployee
();
this
.
getSupplierList1
();
this
.
getNode
();
this
.
getBuyType
();
...
...
@@ -611,6 +613,10 @@ export default {
this
.
msg
.
StartTime
=
this
.
dateList
[
0
];
this
.
msg
.
EndTime
=
this
.
dateList
[
1
];
}
else
{
this
.
msg
.
StartTime
=
''
;
this
.
msg
.
EndTime
=
''
;
}
this
.
loading
=
true
;
this
.
apiJavaPost
(
"/api/property/PropertyGetPageList"
,
this
.
msg
,
res
=>
{
...
...
@@ -650,12 +656,29 @@ export default {
null
);
},
getEmployee
(){
this
.
apiJavaPost
(
"/api/User/GetEmployeeList"
,{
EmName
:
'刘'
},
getEmployee1
(
val
){
if
(
val
!=
''
){
this
.
EmName
=
val
;
this
.
getEmployee
(
1
);
}
},
getEmployee2
(
val
){
if
(
val
!=
''
){
this
.
EmName
=
val
;
this
.
getEmployee
(
2
);
}
},
getEmployee
(
num
){
this
.
apiJavaPost
(
"/api/User/GetEmployeeList"
,{
EmName
:
this
.
EmName
},
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
EmployeeList
=
res
.
data
.
data
;
if
(
num
==
1
){
this
.
EmployeeList1
=
res
.
data
.
data
;
}
else
{
this
.
EmployeeList2
=
res
.
data
.
data
;
}
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
...
...
src/components/global/Nav.vue
View file @
be3efa94
...
...
@@ -44,6 +44,9 @@
<el-menu-item
index=
"2-2"
><span>
物料档案
</span></el-menu-item>
<el-menu-item
index=
"2-3"
><span>
入库单
</span></el-menu-item>
<el-menu-item
index=
"2-4"
><span>
出库单
</span></el-menu-item>
<el-menu-item
index=
"2-5"
><span>
现存量查询
</span></el-menu-item>
<el-menu-item
index=
"2-6"
><span>
耗材领用查询
</span></el-menu-item>
</el-menu-item-group>
</el-submenu>
...
...
@@ -90,6 +93,8 @@ export default {
'2-2'
:
'/Archivesmaterials'
,
'2-3'
:
'/rukudan'
,
'2-4'
:
'/chukudan'
,
'2-5'
:
'/SpotQuery'
,
'2-6'
:
'/ConsumRecipients'
,
'3-1'
:
'/AssetsClassification'
,
'3-2'
:
'/MaterialClassification'
,
...
...
@@ -187,7 +192,7 @@ export default {
color
:
#111111
!important
;
}
.HeadNav
.itemgroup
.el-menu-item
{
margin-bottom
:
1
5
px
!important
;
margin-bottom
:
1
2
px
!important
;
color
:
rgba
(
164
,
188
,
188
,
1
);
}
.HeadNav
.itemgroup
.el-menu-item
span
{
...
...
src/components/global/index.vue
View file @
be3efa94
...
...
@@ -59,6 +59,7 @@ export default {
<
style
>
@import
"../../assets/css/reset.css"
;
@import
"../../assets/css/vxetable.css"
;
.appContent
.routerContent
{
padding-top
:
70px
;
position
:
relative
;
...
...
src/router/config.js
View file @
be3efa94
...
...
@@ -77,6 +77,20 @@ export default {
name
:
'chukudan'
,
component
:
resolve
=>
require
([
'@/components/Materialman/chukudan'
],
resolve
),
},
// 现存量查询
{
path
:
'/SpotQuery'
,
name
:
'SpotQuery'
,
component
:
resolve
=>
require
([
'@/components/Materialman/SpotQuery'
],
resolve
),
},
// 耗材领用查询
{
path
:
'/ConsumRecipients'
,
name
:
'ConsumRecipients'
,
component
:
resolve
=>
require
([
'@/components/Materialman/ConsumRecipients'
],
resolve
),
},
]
...
...
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