Commit 1f213f02 authored by Mac's avatar Mac

添加库存变更

parent c12b0301
<template>
<div class="InventoryChange">
<div class="routerTitle">
<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="Export('GetInventoryPageListToExcel','库存')" style="margin-left:20px" class="addSpan">导出</span>
</div>
<div class="padContent">
<ul v-show="morequery" class="queryul">
<li>
<el-select size="small" filterable clearable v-model="msg.WarehouseId" placeholder="仓库" @change="msg.pageIndex=1,getList()">
<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" filterable clearable v-model="msg.SuppliesId" placeholder="物料" @change="msg.pageIndex=1,getList()">
<el-option
v-for="item in wulaioList"
:key="item.Id"
:label="item.Name"
:value="item.Id">
</el-option>
</el-select>
</li>
</ul>
<vxe-table stripe style="margin-top:15px" :loading="loading"
:data="tableData">
<vxe-table-column field="SuppliesNum" title="耗材编码">
<template v-slot="{ row }">
<span class="underline" @click="getCheckDes(row)">{{row.SuppliesNum}}</span>
</template>
</vxe-table-column>
<vxe-table-column field="SuppliesName" title="耗材名称" width='300'>
<template v-slot="{ row }">
<span class="underline" @click="getCheckDes(row)">{{row.SuppliesName}}</span>
</template>
</vxe-table-column>
<vxe-table-column field="SuppliesName" title="规格" width='200'>
<template v-slot="{ row }">
<span v-for="(x,y) in row.GoodsSpecificationList" :key="y">{{x}}{{y+1==row.GoodsSpecificationList.length?'':','}}</span>
</template>
</vxe-table-column>
<vxe-table-column field="CategoryName" title="分类名称"></vxe-table-column>
<vxe-table-column field="WareHouseName" title="仓库名称"></vxe-table-column>
<vxe-table-column field="BrandName" title="品牌"></vxe-table-column>
<vxe-table-column field="TypeName" title="变更说明"></vxe-table-column>
<vxe-table-column field="UpdateDate" title="变更时间"></vxe-table-column>
<vxe-table-column field="UpdateBy" title="操作人"></vxe-table-column>
</vxe-table>
<el-pagination
@current-change="currentChange"
background
:page-size="msg.pageSize"
:current-page.sync="msg.pageIndex"
layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
</div>
</template>
<script>
export default {
name: 'InventoryChange',
data(){
return{
CheckDetailState:false,
caozuoState: false,
morequery:false,
currentPage:1,
tableData: [],
loading:false,
total:0,
msg:{
pageIndex:1,
pageSize:15,
WarehouseId:'',
SuppliesId:'',
StartTime:'',
EndTime:'',
},
addMsg:{
Id:0,
Name:'',
Contact:'',
Mobile:'',
},
dialogState:false,
getWareHouseList:[],
wuliaomsg:{
pageIndex:1,
pageSize:1000,
Name:'',
SuppliesNum:"",
BrandName:'',
CategoryId:'',
SupplierName:''
},
wulaioList:[],
}
},
mounted(){
this.getList();
this.getWareHouse();
this.getwuliaoList();
},
methods:{
getCheckDes(item){
let PropertyId=item.SuppliesId;
this.CheckDetailState=true;
setTimeout(()=>{
this.$refs.mychild.InitData(PropertyId);
},10)
},
Export(url,name){
let msg = JSON.parse(JSON.stringify(this.msg));
this.JavaGetLocalFile(
`/api/Supplies/${url}`,
msg,
`${name}报表.xls`
);
},
// 仓库列表
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/GetSuppliesInventoryPageList",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
);
},
},
}
</script>
<style scoped>
.InventoryChange{
box-sizing: border-box;
}
</style>
......@@ -45,57 +45,84 @@
></el-input>
</li>
</ul>
<div>
<vxe-table stripe style="margin-top:15px" :loading="loading" :data="tableData">
<vxe-table-column field="Name" title="申请状态">
<template v-slot="{ row }">
<span class="commonStyle hoverSpan1"></span>
<span class="ColorSpan purpleSpan" v-if="row.ApplyStatus==1"></span>
<span class="ColorSpan huangSpan" v-if="row.ApplyStatus==2"></span>
<span class="ColorSpan purpleSpan" v-if="row.ApplyStatus==3"></span>
</template>
</vxe-table-column>
<vxe-table-column field="MallBaseName" title="小程序名称"></vxe-table-column>
<vxe-table-column field="TenantName" title="商户名称"></vxe-table-column>
<vxe-table-column field="OutNo" title="出库订单号"></vxe-table-column>
<vxe-table-column field="Delivered" title="已发货数"></vxe-table-column>
<vxe-table-column field="NotOutStock" title="未发货数"></vxe-table-column>
<vxe-table-column field="Name" title="出库状态">
<template v-slot="{ row }">
<span v-if="row.OutStatus==0">未出库</span>
<span v-if="row.OutStatus==1">部分出库</span>
<span v-if="row.OutStatus==2">全部出库</span>
</template>
</vxe-table-column>
<vxe-table-column field="CreateDateStr" 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="See(row,1)" style="width:24px;height:24px;margin-right:10px;" src="../../assets/img/shenpi.png" alt="">
</el-tooltip>
<el-tooltip class="item" effect="dark" content="拒绝" placement="top">
<img @click="See(row,2)" style="width:24px;height:24px;margin-right:10px;" src="../../assets/img/qx.png" alt="">
</el-tooltip> -->
<el-tooltip class="item" effect="dark" content="查看详情" placement="top" >
<img @click="SeeDetails(row,'/outboundDetails')" style="width:24px;height:24px;margin-right:10px;" src="../../assets/img/chakan.png" alt="" />
</el-tooltip>
<el-tooltip class="item" effect="dark" content="出库" placement="top">
<span class="outBand_div" v-if="row.ApplyStatus==2&&(row.OutStatus==0||row.OutStatus==1)" @click="goUrl('outboundOperate',row.ID)">
<i class="iconfont icon-chuku"></i>
</span>
</el-tooltip>
</template>
</vxe-table-column>
</vxe-table>
<el-pagination @current-change="currentChange" background :page-size="msg.pageSize" layout="prev, pager, next"
:current-page.sync="msg.pageIndex" :total="total">
</el-pagination>
<div class="overflowY">
<table style="margin-top:10px" class="myTable noHoverTable" v-loading="loading" border="0" cellspacing="0" cellpadding="0">
<thead>
<th width="75">申请状态</th>
<th>小程序名称</th>
<th>商户名称</th>
<th width="250">商品名称</th>
<th width="120">商品规格</th>
<th>商品数量</th>
<th width="250">出库名称</th>
<th width="120">出库规格</th>
<th>出库数量</th>
<th>出库状态</th>
<th>申请时间</th>
<th>操作</th>
</thead>
<tbody>
<template v-for="(item,index1) in tableData">
<tr :class="index==0?'trNobottom':''" v-for="(delist,index) in item.WarehouseOutGoodsList" ::key="index + '-only'">
<td :class="index1==tableData.length-1?'lastTdLeft':''" :rowspan="item.WarehouseOutGoodsList.length" v-if="index==0">
<span class="ColorSpan greenSpan" v-if="item.ApplyStatus==1"></span>
<span class="ColorSpan redSpan" v-if="item.ApplyStatus==2"></span>
<span class="ColorSpan purpleSpan" v-if="item.ApplyStatus==3"></span>
</td>
<td :rowspan="item.WarehouseOutGoodsList.length" v-if="index==0">{{item.MallBaseName}}</td>
<td :rowspan="item.WarehouseOutGoodsList.length" v-if="index==0">{{item.TenantName}}</td>
<td >{{delist.GoodsName}}</td>
<td >{{delist.Specification}}</td>
<td >{{delist.Number}}</td>
<td >{{delist.NewGoodsName}}</td>
<td >{{delist.NewSpecification}}</td>
<td >{{delist.NewNumber}}</td>
<td :rowspan="item.WarehouseOutGoodsList.length" v-if="index==0">
<span v-if="item.ApplyStatus==0">未出库</span>
<span v-if="item.ApplyStatus==1">部分出库</span>
<span v-if="item.ApplyStatus==2">全部出库</span>
</td>
<td :rowspan="item.WarehouseOutGoodsList.length" v-if="index==0">{{item.CreateDateStr}}</td>
<td :class="index1==tableData.length-1?'lastTdRight':''" :rowspan="item.WarehouseOutGoodsList.length" v-if="index==0">
<el-tooltip class="item" effect="dark" content="查看详情" placement="top" >
<img @click="SeeDetails(item,'/outboundDetails')" style="width:24px;height:24px;margin-right:10px;" src="../../assets/img/chakan.png" alt="" />
</el-tooltip>
<el-tooltip class="item" effect="dark" content="出库" placement="top">
<span class="outBand_div" v-if="item.ApplyStatus==2&&(item.OutStatus==0||item.OutStatus==1)" @click="goUrl('outboundOperate',item.ID)">
<i class="iconfont icon-chuku"></i>
</span>
</el-tooltip>
</td>
</tr>
</template>
<tr v-show="tableData.length==0">
<td colspan="14" align="center">暂无数据</td>
</tr>
</tbody>
</table>
</div>
<el-pagination class="myPageBottom"
@current-change="currentChange"
background
:page-size="msg.pageSize"
:current-page.sync="msg.pageIndex"
layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
......
......@@ -6,7 +6,7 @@ import index from '../components/global/index'
export default {
routes: [
{
path: '/login',
name: 'Login',
......@@ -22,7 +22,7 @@ export default {
name: 'Autologin',
component: Autologin
},
{
path: '/index',
name: 'index',
......@@ -38,46 +38,46 @@ export default {
},
// 资产分类
{
path: '/AssetsClassification',
path: '/AssetsClassification',
name: 'AssetsClassification',
component: resolve => require(['@/components/Systemman/AssetsClassification'], resolve),
},
// 耗材分类
{
path: '/MaterialClassification',
path: '/MaterialClassification',
name: 'MaterialClassification',
component: resolve => require(['@/components/Systemman/MaterialClassification'], resolve),
},
{
path: '/Supplierman',
path: '/Supplierman',
name: 'Supplierman',
component: resolve => require(['@/components/Systemman/Supplierman'], resolve),
},
// 耗材时间管理
{
path: '/consumablesMan',
path: '/consumablesMan',
name: 'consumablesMan',
component: resolve => require(['@/components/Systemman/consumablesMan'], resolve),
},
// 耗材时间规则
{
path: '/consumablesManRule',
path: '/consumablesManRule',
name: 'consumablesManRule',
component: resolve => require(['@/components/Systemman/consumablesManRule'], resolve),
},
{
path: '/assetsList',
path: '/assetsList',
name: 'assetsList',
component: resolve => require(['@/components/assetsman/assetsList'], resolve),
},
//出库申请
{
path: '/outboundApplication',
path: '/outboundApplication',
name: 'outboundApplication',
component: resolve => require(['@/components/assetsman/outboundApplication'], resolve),
},
......@@ -106,132 +106,138 @@ export default {
            },
// 派发&退库
{
path: '/PaiTui',
path: '/PaiTui',
name: 'PaiTui',
component: resolve => require(['@/components/assetsman/PaiTui'], resolve),
},
// 借出&归还
{
path: '/LendReturn',
path: '/LendReturn',
name: 'LendReturn',
component: resolve => require(['@/components/assetsman/LendReturn'], resolve),
},
// 调拨管理
{
path: '/allocatingMan',
path: '/allocatingMan',
name: 'allocatingMan',
component: resolve => require(['@/components/assetsman/allocatingMan'], resolve),
},
// 批量导入
{
path: '/BulkImport',
path: '/BulkImport',
name: 'BulkImport',
component: resolve => require(['@/components/assetsman/BulkImport'], resolve),
},
// 处置管理
{
path: '/disposalMan',
path: '/disposalMan',
name: 'disposalMan',
component: resolve => require(['@/components/assetsman/disposalMan'], resolve),
},
// 维修管理
{
path: '/maintenance',
path: '/maintenance',
name: 'maintenance',
component: resolve => require(['@/components/assetsman/maintenance'], resolve),
},
// 资产折旧
{
path: '/AssetDepreciation',
path: '/AssetDepreciation',
name: 'AssetDepreciation',
component: resolve => require(['@/components/assetsman/AssetDepreciation'], resolve),
},
// 盘点管理
{
path: '/InventoryMan',
path: '/InventoryMan',
name: 'InventoryMan',
component: resolve => require(['@/components/assetsman/InventoryMan'], resolve),
},
// 盘点管理详情
{
path: '/InventoryDetails',
path: '/InventoryDetails',
name: 'InventoryDetails',
component: resolve => require(['@/components/assetsman/InventoryDetails'], resolve),
},
// 盘点管理详情
{
path: '/disposalDetails',
path: '/disposalDetails',
name: 'disposalDetails',
component: resolve => require(['@/components/assetsman/disposalDetails'], resolve),
},
// 资产折旧报表
{
path: '/Assetstatistics',
path: '/Assetstatistics',
name: 'Assetstatistics',
component: resolve => require(['@/components/report/Assetstatistics'], resolve),
},
// 资产汇总查询
{
path: '/assetSummary',
path: '/assetSummary',
name: 'assetSummary',
component: resolve => require(['@/components/report/assetSummary'], resolve),
},
// 资产履历
{
path: '/AssetsRecord',
path: '/AssetsRecord',
name: 'AssetsRecord',
component: resolve => require(['@/components/report/AssetsRecord'], resolve),
},
// 待归还
{
path: '/StayBack',
path: '/StayBack',
name: 'StayBack',
component: resolve => require(['@/components/report/StayBack'], resolve),
},
// 到期资产
{
path: '/MaturingAssets',
path: '/MaturingAssets',
name: 'MaturingAssets',
component: resolve => require(['@/components/report/MaturingAssets'], resolve),
},
// 物料仓库
{
path: '/Materialwarehouse',
path: '/Materialwarehouse',
name: 'Materialwarehouse',
component: resolve => require(['@/components/Materialman/Materialwarehouse'], resolve),
},
// 物料档案
{
path: '/Archivesmaterials',
path: '/Archivesmaterials',
name: 'Archivesmaterials',
component: resolve => require(['@/components/Materialman/Archivesmaterials'], resolve),
},
// 入库单
{
path: '/rukudan',
path: '/rukudan',
name: 'rukudan',
component: resolve => require(['@/components/Materialman/rukudan'], resolve),
},
// 出库单
{
path: '/chukudan',
path: '/chukudan',
name: 'chukudan',
component: resolve => require(['@/components/Materialman/chukudan'], resolve),
},
// 库存变更记录
{
path: '/InventoryChange',
name: 'InventoryChange',
component: resolve => require(['@/components/Materialman/InventoryChange'], resolve),
},
// 耗材盘点
{
path: '/consumablesInventory',
path: '/consumablesInventory',
name: 'consumablesInventory',
component: resolve => require(['@/components/Materialman/consumablesInventory'], resolve),
},
// 耗材盘点明細
{
path: '/InventoryDetail',
path: '/InventoryDetail',
name: 'InventoryDetail',
component: resolve => require(['@/components/Materialman/InventoryDetail'], resolve),
},
......@@ -255,98 +261,98 @@ export default {
},
// 现存量查询
{
path: '/SpotQuery',
path: '/SpotQuery',
name: 'SpotQuery',
component: resolve => require(['@/components/Materialman/SpotQuery'], resolve),
},
// 耗材领用查询
{
path: '/ConsumRecipients',
path: '/ConsumRecipients',
name: 'ConsumRecipients',
component: resolve => require(['@/components/Materialman/ConsumRecipients'], resolve),
},
// 审批
{
path: '/approvalset',
path: '/approvalset',
name: 'approvalset',
component: resolve => require(['@/components/approval/approvalset'], resolve),
},
// 审批管理
{
path: '/approvalMan',
path: '/approvalMan',
name: 'approvalMan',
component: resolve => require(['@/components/approval/approvalMan'], resolve),
},
// 集团授权管理
{
path: '/groupEmpowerMan',
path: '/groupEmpowerMan',
name: 'groupEmpowerMan',
component: resolve => require(['@/components/approval/groupEmpowerMan'], resolve),
},
// 审批管理
{
path: '/approvalDetails',
path: '/approvalDetails',
name: 'approvalDetails',
component: resolve => require(['@/components/approval/approvalDetails'], resolve),
},
// 签名管理
{
path: '/SignMan',
path: '/SignMan',
name: 'SignMan',
component: resolve => require(['@/components/approval/SignMan'], resolve),
},
// 资产申请
{
path: '/assetsApply',
path: '/assetsApply',
name: 'assetsApply',
component: resolve => require(['@/components/approval/assetsApply'], resolve),
},
// 我的资产
{
path: '/myAssets',
path: '/myAssets',
name: 'myAssets',
component: resolve => require(['@/components/approval/myAssets'], resolve),
},
// 资产清单
{
path: '/ListAssets',
path: '/ListAssets',
name: 'ListAssets',
component: resolve => require(['@/components/approval/ListAssets'], resolve),
},
// 我的申请
{
path: '/Myapplication',
path: '/Myapplication',
name: 'Myapplication',
component: resolve => require(['@/components/approval/Myapplication'], resolve),
},
// 耗材申请
{
path: '/ConsumApplication',
path: '/ConsumApplication',
name: 'ConsumApplication',
component: resolve => require(['@/components/approval/ConsumApplication'], resolve),
},
// 请购单
{
path: '/PurchaseRequisition',
path: '/PurchaseRequisition',
name: 'PurchaseRequisition',
component: resolve => require(['@/components/approval/PurchaseRequisition'], resolve),
},
// 我的请购单
{
path: '/MyPurchaseRequisition',
path: '/MyPurchaseRequisition',
name: 'MyPurchaseRequisition',
component: resolve => require(['@/components/approval/MyPurchaseRequisition'], resolve),
},
]
},
// 二维码打印
{
path: '/codePrint',
path: '/codePrint',
name: 'codePrint',
component: resolve => require(['@/components/report/codePrint'], resolve),
},
]
}
\ No newline at end of file
}
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