Commit a8a46577 authored by 黄媛媛's avatar 黄媛媛

111

parent be3efa94
...@@ -13,7 +13,7 @@ export default { ...@@ -13,7 +13,7 @@ export default {
</script> </script>
<style> <style>
@import "//at.alicdn.com/t/font_1544586_rlhhq09geya.css"; @import "//at.alicdn.com/t/font_1544586_7oud8n0q1m.css";
@import "./assets/css/common.css"; @import "./assets/css/common.css";
body,html{ body,html{
padding: 0px; padding: 0px;
......
...@@ -139,6 +139,9 @@ ...@@ -139,6 +139,9 @@
.f22{ .f22{
font-size: 22px; font-size: 22px;
} }
.f40{
font-size: 40px;
}
.c11{ .c11{
color:#111111; color:#111111;
} }
...@@ -164,3 +167,75 @@ ...@@ -164,3 +167,75 @@
.bold{ .bold{
font-family: "PingFangR"; font-family: "PingFangR";
} }
/* 头部切换 */
.ChangeTable{
float: left;
}
.ChangeTable .spanActive{
color:#fff!important;
background:#00D2D6!important;
box-shadow:0px 5px 6px 0px rgba(28,162,164,0.4);
}
.ChangeTable span{
display: inline-block;
width:100px;
text-align: center;
height:34px;
line-height:34px;
background:rgba(237,237,237,1);
border-radius:8px;
font-size: 12px;
font-family: "宋体";
cursor: pointer;
margin-left: 20px;
color:#B8C4C4;
}
.huangSpan{
display: inline-block;
width: 24px;
height: 24px;
line-height: 24px;
text-align: center;
border-radius: 50%;
font-size: 12px;
font-family: "宋体";
background: #FFE4D5;
color: #FFA87C;
}
.greenSpan{
display: inline-block;
width: 24px;
height: 24px;
line-height: 24px;
text-align: center;
border-radius: 50%;
font-size: 12px;
font-family: "宋体";
background: #BEEFF0;
color: #28CACC;
}
.PickSpan{
display: inline-block;
width: 24px;
height: 24px;
line-height: 24px;
text-align: center;
border-radius: 50%;
font-size: 12px;
font-family: "宋体";
background: #FFE1EE;
color: #FF9CC6;
}
.buleSpan{
display: inline-block;
width: 24px;
height: 24px;
line-height: 24px;
text-align: center;
border-radius: 50%;
font-size: 12px;
font-family: "宋体";
background: #D4EAFF;
color: #73B8FF;
}
\ No newline at end of file
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
} }
/* 分页 */ /* 分页 */
.el-pagination{ .el-pagination{
margin-top: 10px; margin-top: 20px;
text-align: right; text-align: right;
} }
.el-pagination.is-background .btn-next, .el-pagination.is-background .btn-prev, .el-pagination.is-background .el-pager li{ .el-pagination.is-background .btn-next, .el-pagination.is-background .btn-prev, .el-pagination.is-background .el-pager li{
...@@ -174,7 +174,7 @@ ...@@ -174,7 +174,7 @@
border:none; border:none;
} }
.vue-treeselect__option--highlight{ .vue-treeselect__option--highlight{
background: #28CACC; background: #28CACC!important;
color:#fff; color:#fff;
} }
:focus { :focus {
...@@ -300,3 +300,8 @@ ...@@ -300,3 +300,8 @@
box-sizing: border-box; box-sizing: border-box;
position: relative; position: relative;
} }
/* loading */
.el-loading-spinner .path{
stroke: #28CACC;
}
\ No newline at end of file
...@@ -25,9 +25,10 @@ ...@@ -25,9 +25,10 @@
} }
.vxe-table .vxe-body--row:hover{ .vxe-table .vxe-body--row:hover{
box-shadow:0px 0px 20px 0px rgba(176,176,176,0.2); box-shadow:0px 0px 20px 0px rgba(176,176,176,0.2);
transition: transform .3s ease; transition: transform .4s ease;
cursor: pointer; cursor: pointer;
transform: scaleX(1.005); transform: scaleX(1.005);
/* zoom:1.02; */
} }
.vxe-table .vxe-cell{ .vxe-table .vxe-cell{
padding: 0 0 0 20px; padding: 0 0 0 20px;
...@@ -65,3 +66,13 @@ ...@@ -65,3 +66,13 @@
font-family: '宋体'; font-family: '宋体';
font-weight: 100; font-weight: 100;
} }
.vxe-table--loading .vxe-table--spinner:after, .vxe-table--loading .vxe-table--spinner:before{
background-color: #28CACC;
opacity:.4;
}
.vxe-table--loading{
background-color: rgba(255,255,255,.9);
}
.vxe-table table{
overflow: hidden;
}
\ No newline at end of file
...@@ -55,11 +55,12 @@ ...@@ -55,11 +55,12 @@
</el-select> </el-select>
</li> </li>
<li style="float:left"> <li style="float:left">
<!-- :alwaysOpen="true" -->
<treeselect style="height:50px;width:200px;" :options="departmentata" v-model="addMsg.DepartmentId" placeholder="不限" <treeselect style="height:50px;width:200px;" :options="departmentata" v-model="addMsg.DepartmentId" placeholder="不限"
:normalizer="normalizer"/> :normalizer="normalizer"/>
</li> </li>
</ul> </ul>
<vxe-grid <vxe-grid :loading="loading"
:columns="tableColumn" :columns="tableColumn"
:toolbar="tableToolbar" :toolbar="tableToolbar"
:data="tableData" :data="tableData"
......
...@@ -36,8 +36,7 @@ ...@@ -36,8 +36,7 @@
</el-select> </el-select>
</li> </li>
</ul> </ul>
<vxe-table style="margin-top:15px" <vxe-table style="margin-top:15px" :loading="loading"
height="300"
:data="tableData"> :data="tableData">
<vxe-table-column field="SuppliesNum" title="耗材编码"></vxe-table-column> <vxe-table-column field="SuppliesNum" title="耗材编码"></vxe-table-column>
<vxe-table-column field="WareHouseName" title="仓库名称"></vxe-table-column> <vxe-table-column field="WareHouseName" title="仓库名称"></vxe-table-column>
......
...@@ -58,7 +58,8 @@ ...@@ -58,7 +58,8 @@
</el-date-picker> </el-date-picker>
</li> </li>
</ul> </ul>
<div class="overflowY" :style='{"height":tableHeight+"px"}'> <!-- :style='{"height":tableHeight+"px"}' -->
<div class="overflowY">
<table style="margin-top:10px" class="myTable noHoverTable" v-loading="loading" border="0" cellspacing="0" cellpadding="0"> <table style="margin-top:10px" class="myTable noHoverTable" v-loading="loading" border="0" cellspacing="0" cellpadding="0">
<thead> <thead>
<th>出库状态</th> <th>出库状态</th>
...@@ -78,6 +79,8 @@ ...@@ -78,6 +79,8 @@
<tr :class="index==0?'trNobottom':''" v-for="(delist,index) in item.DetailList" :key="delist.Id"> <tr :class="index==0?'trNobottom':''" v-for="(delist,index) in item.DetailList" :key="delist.Id">
<td :rowspan="item.DetailList.length" v-if="index==0"> <td :rowspan="item.DetailList.length" v-if="index==0">
<!-- <span class="commonStyle hoverSpan1"></span> --> <!-- <span class="commonStyle hoverSpan1"></span> -->
<span class="PickSpan" v-if="item.StockOutState==2"></span>
<span class="buleSpan" v-if="item.StockOutState==1"></span>
{{item.StockOutStateStr}} {{item.StockOutStateStr}}
</td> </td>
<td :rowspan="item.DetailList.length" v-if="index==0">{{item.StockOutNum}}</td> <td :rowspan="item.DetailList.length" v-if="index==0">{{item.StockOutNum}}</td>
...@@ -345,7 +348,7 @@ export default { ...@@ -345,7 +348,7 @@ export default {
} }
}, },
created(){ created(){
this.tableHeight=document.body.clientHeight-40-66-87; // this.tableHeight=document.body.clientHeight-40-66-87;
}, },
mounted(){ mounted(){
this.getList(); this.getList();
...@@ -373,7 +376,6 @@ export default { ...@@ -373,7 +376,6 @@ export default {
getEmployee(num){ getEmployee(num){
this.apiJavaPost("/api/User/GetEmployeeList",{EmName:this.EmName}, this.apiJavaPost("/api/User/GetEmployeeList",{EmName:this.EmName},
res => { res => {
this.loading=false;
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
if(num==1){ if(num==1){
this.EmployeeList1=res.data.data; this.EmployeeList1=res.data.data;
...@@ -488,7 +490,6 @@ export default { ...@@ -488,7 +490,6 @@ export default {
this.wuliaomsg.WareHouseId=this.addMsg.WarehouseId; this.wuliaomsg.WareHouseId=this.addMsg.WarehouseId;
this.apiJavaPost("/api/Supplies/GetMaterialPageList",this.wuliaomsg, this.apiJavaPost("/api/Supplies/GetMaterialPageList",this.wuliaomsg,
res => { res => {
this.loading=false;
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
this.wuliaoList=res.data.data.pageData; this.wuliaoList=res.data.data.pageData;
let data=res.data.data.pageData; let data=res.data.data.pageData;
...@@ -574,7 +575,6 @@ export default { ...@@ -574,7 +575,6 @@ export default {
this.getList(); this.getList();
}, },
getList(){ getList(){
this.loading=true;
if(this.dateList&&this.dateList.length>0){ if(this.dateList&&this.dateList.length>0){
this.msg.StartTime=this.dateList[0]; this.msg.StartTime=this.dateList[0];
this.msg.EndTime=this.dateList[1]; this.msg.EndTime=this.dateList[1];
......
...@@ -47,8 +47,9 @@ ...@@ -47,8 +47,9 @@
</el-date-picker> </el-date-picker>
</li> </li>
</ul> </ul>
<div class="overflowY" :style='{"height":tableHeight+"px"}'> <!-- :style='{"height":tableHeight+"px"}' -->
<table style="margin-top:10px" class="myTable noHoverTable" v-loading="loading" border="0" cellspacing="0" cellpadding="0"> <div class="overflowY">
<table v-loading="loading" style="margin-top:10px" class="myTable noHoverTable" border="0" cellspacing="0" cellpadding="0">
<thead> <thead>
<th>入库状态</th> <th>入库状态</th>
<th>入库单编码</th> <th>入库单编码</th>
...@@ -66,8 +67,10 @@ ...@@ -66,8 +67,10 @@
<tbody> <tbody>
<template v-for="item in tableData"> <template v-for="item in tableData">
<tr :class="index==0?'trNobottom':''" v-for="(delist,index) in item.DetailList" :key="delist.Id"> <tr :class="index==0?'trNobottom':''" v-for="(delist,index) in item.DetailList" :key="delist.Id">
<td :rowspan="item.DetailList.length" v-if="index==0"> <td class="ImgTd" :rowspan="item.DetailList.length" v-if="index==0">
<!-- <span class="commonStyle hoverSpan1"></span> --> <!-- <span class="commonStyle hoverSpan1"></span> -->
<span class="huangSpan" v-if="item.StockInState==2"></span>
<span class="greenSpan" v-if="item.StockInState==1"></span>
{{item.StockInStateStr}} {{item.StockInStateStr}}
</td> </td>
<td :rowspan="item.DetailList.length" v-if="index==0">{{item.StockInNum}}</td> <td :rowspan="item.DetailList.length" v-if="index==0">{{item.StockInNum}}</td>
...@@ -92,7 +95,7 @@ ...@@ -92,7 +95,7 @@
<img v-show="item.StockInState==1" @click="Quxiao(item)" style="width:24px;height:24px" src="../../assets/img/qx.png" alt=""> <img v-show="item.StockInState==1" @click="Quxiao(item)" style="width:24px;height:24px" src="../../assets/img/qx.png" alt="">
</el-tooltip> </el-tooltip>
<el-tooltip class="item" effect="dark" content="恢复入库单" placement="top"> <el-tooltip class="item" effect="dark" content="恢复入库单" placement="top">
<span v-show="item.StockInState==2" @click="Huifu(item)">恢复入库单</span> <img v-show="item.StockInState==2" @click="Huifu(item)" style="width:24px;height:24px" src="../../assets/img/huifu.png" alt="">
</el-tooltip> </el-tooltip>
<!-- <span class="commonStyle hoverSpan2"></span> --> <!-- <span class="commonStyle hoverSpan2"></span> -->
</td> </td>
...@@ -457,7 +460,6 @@ export default { ...@@ -457,7 +460,6 @@ export default {
getWuliao(){ getWuliao(){
this.apiJavaPost("/api/Supplies/GetMaterialPageList",this.wuliaomsg, this.apiJavaPost("/api/Supplies/GetMaterialPageList",this.wuliaomsg,
res => { res => {
this.loading=false;
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
this.wuliaoList=res.data.data.pageData; this.wuliaoList=res.data.data.pageData;
let data=res.data.data.pageData; let data=res.data.data.pageData;
......
...@@ -27,7 +27,8 @@ ...@@ -27,7 +27,8 @@
</el-tree> </el-tree>
</div> </div>
<div class="rightTable"> <div class="rightTable">
<div class="overflowY" :style='{"height":tableHeight+"px"}'> <!-- :style='{"height":tableHeight+"px"}' -->
<div class="overflowY">
<table class="myTable" v-loading="loading" border="0" cellspacing="0" cellpadding="0"> <table class="myTable" v-loading="loading" border="0" cellspacing="0" cellpadding="0">
<thead> <thead>
<tr> <tr>
......
...@@ -27,7 +27,8 @@ ...@@ -27,7 +27,8 @@
</el-tree> </el-tree>
</div> </div>
<div class="rightTable"> <div class="rightTable">
<div class="overflowY" :style='{"height":tableHeight+"px"}'> <!-- :style='{"height":tableHeight+"px"}' -->
<div class="overflowY" >
<table class="myTable" v-loading="loading" border="0" cellspacing="0" cellpadding="0"> <table class="myTable" v-loading="loading" border="0" cellspacing="0" cellpadding="0">
<thead> <thead>
<tr> <tr>
......
...@@ -24,8 +24,7 @@ ...@@ -24,8 +24,7 @@
<el-input class="w200" size="small" v-model="msg.Mobile" placeholder="联系电话"></el-input> <el-input class="w200" size="small" v-model="msg.Mobile" placeholder="联系电话"></el-input>
</li> </li>
</ul> </ul>
<vxe-table style="margin-top:15px" <vxe-table style="margin-top:15px" :loading="loading"
height="300"
:data="tableData"> :data="tableData">
<vxe-table-column field="Name" title="供应商名称"></vxe-table-column> <vxe-table-column field="Name" title="供应商名称"></vxe-table-column>
<vxe-table-column field="Contact" title="联系人"></vxe-table-column> <vxe-table-column field="Contact" title="联系人"></vxe-table-column>
......
<template>
<div class="spotquery">
<div style="text-align:right;border-bottom:1px solid #E2E4EB;padding-bottom:10px">
<span class="pageTitle">审批</span>
<span class="ChangeTable">
<span @click="showTable=1" :class="showTable==1?'spanActive':''">审批</span>
<span @click="showTable=2" :class="showTable==2?'spanActive':''">签字</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="">
</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>
<vxe-table :loading="loading" v-if="showTable==1" style="margin-top:15px"
:data="AuditList">
<vxe-table-column field="Type" title="ID"></vxe-table-column>
<vxe-table-column field="Name" title="名称"></vxe-table-column>
<vxe-table-column title="是否启用">
<template v-slot="{ row }">
<span v-if="row.Enabled==1"></span>
<span v-if="row.Enabled==2"></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-show="row.Enabled==2" @click="ChangeAble(row,1)" style="width:24px;height:24px" src="../../assets/img/qiyong.png" alt="">
</el-tooltip>
<el-tooltip class="item" effect="dark" content="禁用" placement="top">
<img v-show="row.Enabled==1" @click="ChangeAble(row,2)" style="width:24px;height:24px" src="../../assets/img/jinyong.png" alt="">
</el-tooltip>
</template>
</vxe-table-column>
</vxe-table>
<vxe-table :loading="loading" v-if="showTable==2" style="margin-top:15px"
:data="SignList">
<vxe-table-column field="Type" title="ID"></vxe-table-column>
<vxe-table-column field="Name" title="名称"></vxe-table-column>
<vxe-table-column title="是否启用">
<template v-slot="{ row }">
<span v-if="row.Enabled==1"></span>
<span v-if="row.Enabled==2"></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-show="row.Enabled==2" @click="ChangeAble(row,1)" style="width:24px;height:24px" src="../../assets/img/qiyong.png" alt="">
</el-tooltip>
<el-tooltip class="item" effect="dark" content="禁用" placement="top">
<img v-show="row.Enabled==1" @click="ChangeAble(row,2)" style="width:24px;height:24px" src="../../assets/img/jinyong.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> -->
<el-dialog
title="编辑"
:visible.sync="dialogState"
width="530px">
<el-form class="MyEditForm" :model="addMsg" :rules="rules" ref="addMsg" label-width="0px">
<div class="basefix">
<el-form-item label="" prop="Enabled">
<span class="label">是否启用</span>
<el-select size="mini" v-model="addMsg.Enabled" placeholder="请选择">
<el-option label="是" :value="1"></el-option>
<el-option label="否" :value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="" prop="AuditType">
<span class="label">类型</span>
<el-select size="mini" v-model="addMsg.AuditType" placeholder="请选择">
<el-option label="审批" :value="1"></el-option>
<el-option label="签字" :value="2"></el-option>
</el-select>
</el-form-item>
</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>
</div>
</template>
<script>
export default {
name: 'Supplierman',
data(){
return{
showTable:1,
morequery:false,
currentPage:1,
tableData: [],
loading:false,
total:0,
msg:{},
addMsg:{
Type:0,
Enabled:'',
AuditType:''
},
dialogtitle:'新增',
dialogState:false,
AuditList:[],
SignList:[],
rules:{
Enabled: [
{ required: true, message: '请选择是否启用', trigger: 'change' }
],
AuditType: [
{ required: true, message: '请选择类型', trigger: 'change' }
],
},
}
},
mounted(){
this.getList();
},
methods:{
Save(formName) {
this.apiJavaPost("/api/property/SetPropertyFlowAuditSetList",this.addMsg,
res => {
if (res.data.resultCode === 1) {
this.getList();
this.Success(res.data.message)
} else {
this.Error(res.data.message);
}
},
null
);
},
ChangeAble(item,num){
this.addMsg.Type=item.Type;
this.addMsg.Enabled=num;
this.addMsg.AuditType=this.showTable;
this.Save();
},
currentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
getList(){
this.loading=true;
this.apiJavaPost("/api/property/GetPropertyFlowAuditSetList",this.msg,
res => {
this.loading=false;
if (res.data.resultCode === 1) {
this.AuditList=res.data.data.AuditList;
this.SignList=res.data.data.SignList;
} else {
this.Error(res.data.message);
}
},
null
);
},
},
}
</script>
<style scoped>
.spotquery{
padding:20px 30px;
box-sizing: border-box;
background: #F8FAFB;
}
</style>
<template>
<div class="chukudan">
<div style="text-align:right;border-bottom:1px solid #E2E4EB;padding-bottom:10px">
<span class="pageTitle">派发&退库</span>
<span class="ChangeTable">
<span @click="showTable=1" :class="showTable==1?'spanActive':''">派发</span>
<span @click="showTable=2" :class="showTable==2?'spanActive':''">退库</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="">
</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>
<!-- :style='{"height":tableHeight+"px"}' -->
<div class="overflowY">
<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{
showTable:1,
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 => {
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 => {
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(){
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>
<template> <template>
<div class="login"> <div class="login">
<el-input v-model="userInfo.EmAccount" placeholder="请输入内容"></el-input> <div class="loginContent">
<p class="f40 bold c11">资产管理系统</p>
<div style="margin:60px 0 50px 0">
<p>
<img style="width:16px;height:14px" src="../../assets/img/user.png" alt="">
账号</p>
<el-input v-model="userInfo.EmAccount" placeholder="请输入"></el-input>
</div>
<div>
<p>
<img style="width:16px;height:14px;margin-right:4px" src="../../assets/img/passwd.png" alt="">密码</p>
<el-input v-model="userInfo.EmPassword" placeholder="请输入内容"></el-input> <el-input v-model="userInfo.EmPassword" placeholder="请输入内容"></el-input>
<el-button @click="Login">登录</el-button>
</div>
<div class="loginDiv">
<span v-loading="btnLoading" @click="Login">登录</span>
</div>
</div>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'login', name: 'login',
data(){ data(){
...@@ -18,6 +33,7 @@ export default { ...@@ -18,6 +33,7 @@ export default {
EmPassword:'', EmPassword:'',
Domain:'', Domain:'',
}, },
btnLoading:false,
} }
}, },
mounted(){ mounted(){
...@@ -42,8 +58,11 @@ export default { ...@@ -42,8 +58,11 @@ export default {
this.Error("请输入密码"); this.Error("请输入密码");
return; return;
} }
this.btnLoading=true;
this.apiJavaPost("/api/login/userlogin",this.userInfo, this.apiJavaPost("/api/login/userlogin",this.userInfo,
res => { res => {
this.btnLoading=false;
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
let user=res.data.data; let user=res.data.data;
var userJson = JSON.stringify(user); var userJson = JSON.stringify(user);
...@@ -62,5 +81,44 @@ export default { ...@@ -62,5 +81,44 @@ export default {
</script> </script>
<style> <style>
.login{
position: absolute;
width: 100%;
height: 100%;
top: 0;
background-color: #F8FAFB;
background: url('../../assets/img/login.png') no-repeat;
background-size: 100% 100%;
font-family: "PingFang";
}
.login .loginContent{
position: absolute;
top: 20%;
left:15%;
width: 400px;
}
.login .loginContent .el-input__inner{
border: none;
border-bottom: 1px solid #CCCCCC;
border-radius: 0;
color:#333333;
padding:0;
}
.login .loginContent .el-input.is-active .el-input__inner, .el-input__inner:focus{
border-bottom: 2px solid #00D2D6!important;
}
.loginDiv{
margin-top:50px;
}
.loginDiv span{
display: inline-block;
width:180px;
height:48px;
line-height:48px;
background:rgba(17,17,17,1);
border-radius:24px;
text-align: center;
color:#FFFFFF;
cursor: pointer;
}
</style> </style>
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
</template> </template>
<el-menu-item-group class="itemgroup"> <el-menu-item-group class="itemgroup">
<el-menu-item index="1-1"><span>资产列表</span></el-menu-item> <el-menu-item index="1-1"><span>资产列表</span></el-menu-item>
<el-menu-item index="1-2"><span>选项2</span></el-menu-item> <el-menu-item index="1-2"><span>派发&退库</span></el-menu-item>
</el-menu-item-group> </el-menu-item-group>
</el-submenu> </el-submenu>
...@@ -65,14 +65,18 @@ ...@@ -65,14 +65,18 @@
</el-menu-item-group> </el-menu-item-group>
</el-submenu> </el-submenu>
<el-menu-item index="4"> <el-submenu index="4">
<template slot="title">
<div class="menuDiv"> <div class="menuDiv">
<img v-if="defaulActive!='4'" class="icon" src="../../assets/img/sp.png" alt=""> <img v-if="defaulActive!='4'" class="icon" src="../../assets/img/sp.png" alt="">
<img v-if="defaulActive=='4'" class="icon" src="../../assets/img/sp1.png" alt=""> <img v-if="defaulActive=='4'" class="icon" src="../../assets/img/sp1.png" alt="">
<span slot="title">审批中心</span> <span slot="title">审批中心</span>
</div> </div>
</template>
</el-menu-item> <el-menu-item-group class="itemgroup">
<el-menu-item index="4-1"><span>审批</span></el-menu-item>
</el-menu-item-group>
</el-submenu>
</el-menu> </el-menu>
</div> </div>
...@@ -89,6 +93,7 @@ export default { ...@@ -89,6 +93,7 @@ export default {
'0':'/home', '0':'/home',
'1':'/home', '1':'/home',
'1-1':'/assetsList', '1-1':'/assetsList',
'1-2':'/PaiTui',
'2-1':'/Materialwarehouse', '2-1':'/Materialwarehouse',
'2-2':'/Archivesmaterials', '2-2':'/Archivesmaterials',
'2-3':'/rukudan', '2-3':'/rukudan',
...@@ -98,8 +103,9 @@ export default { ...@@ -98,8 +103,9 @@ export default {
'3-1':'/AssetsClassification', '3-1':'/AssetsClassification',
'3-2':'/MaterialClassification', '3-2':'/MaterialClassification',
'3-3':'/Supplierman', '3-3':'/Supplierman',
'4-1':'/approval',
}, },
} }
}, },
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
</div> </div>
</div> </div>
<div class="routerContent"> <div class="routerContent">
<div :style='{"height":minHeight+"px"}'> <div :style='{"min-height":minHeight+"px"}'>
<router-view/> <router-view/>
</div> </div>
......
...@@ -53,6 +53,13 @@ export default { ...@@ -53,6 +53,13 @@ export default {
name: 'assetsList', name: 'assetsList',
component: resolve => require(['@/components/assetsman/assetsList'], resolve), component: resolve => require(['@/components/assetsman/assetsList'], resolve),
}, },
// 派发&退库
{
path: '/PaiTui',
name: 'PaiTui',
component: resolve => require(['@/components/assetsman/PaiTui'], resolve),
},
// 物料仓库 // 物料仓库
{ {
path: '/Materialwarehouse', path: '/Materialwarehouse',
...@@ -89,6 +96,12 @@ export default { ...@@ -89,6 +96,12 @@ export default {
name: 'ConsumRecipients', name: 'ConsumRecipients',
component: resolve => require(['@/components/Materialman/ConsumRecipients'], resolve), component: resolve => require(['@/components/Materialman/ConsumRecipients'], resolve),
}, },
// 审批
{
path: '/approval',
name: 'approval',
component: resolve => require(['@/components/approval/approval'], resolve),
},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment