<template>
|
<div class="app-container">
|
<div class="filter-container">
|
<div style="display: block;">
|
<div class="basic_search">
|
<span>企业名称:</span>
|
<el-input filterable clearable v-model="listQuery.filter.xsdwmc" style="width:200px">
|
</el-input>
|
</div>
|
<div class="basic_search">
|
<span>按时间查询:</span>
|
<el-date-picker
|
value-format="yyyy-MM-dd HH:mm:ss"
|
v-model="validTime"
|
type="daterange"
|
:default-time="['00:00:00','23:59:59']"
|
:picker-options="pickerOptions"
|
range-separator="-"
|
start-placeholder="开始日期"
|
end-placeholder="结束日期"
|
>
|
</el-date-picker>
|
</div>
|
<div class="basic_search">
|
<span>交易类型:</span>
|
<el-select filterable clearable v-model="listQuery.filter.jylx">
|
<el-option
|
v-for="item in typeList"
|
:key="item.id"
|
:label="item.text"
|
:value="item.id"
|
></el-option>
|
</el-select>
|
</div>
|
<div class="basic_search" style="margin-right: 10px">
|
<el-button style="margin-left: 10px;" type="primary" @click="reset()">重置</el-button>
|
<el-button style="margin-left: 10px;" type="primary" icon="el-icon-search" @click="search()">查询
|
</el-button>
|
</div>
|
</div>
|
|
</div>
|
<div class="table_content">
|
<el-table
|
v-loading="listLoading"
|
:data="tableData"
|
border
|
fit
|
highlight-current-row
|
style="width: 100%;"
|
>
|
<el-table-column label="序号" type="index" align="center" width="60"/>
|
<el-table-column label="购买单位名称" prop="gmdwmc" align="center">】
|
</el-table-column>
|
<el-table-column label="销售单位名称" prop="xsdwmc" align="center">】
|
</el-table-column>
|
<el-table-column label="交易类型" prop="jylx" align="center">
|
<template slot-scope="scope">
|
{{scope.row.jylx == '02'?'运输出库':scope.row.jylx == '03'?'运输入库':scope.row.jylx == '08'?'零售出库':scope.row.jylx == '10'?'零散销售':'--'}}
|
</template>
|
</el-table-column>
|
<el-table-column label="个人燃放类物品数量" prop="grsl" align="center">
|
</el-table-column>
|
<el-table-column label="专业燃放类物品数量" prop="zysl" align="center">
|
</el-table-column>
|
<el-table-column label="原材料物品数量" prop="yclsl" align="center">
|
</el-table-column>
|
<!-- <el-table-column label="箱数量" prop="sl" align="center">-->
|
<!-- </el-table-column>-->
|
<el-table-column label="零散数量" prop="lssl" align="center">
|
</el-table-column>
|
<el-table-column label="数据生成时间" prop="sjscsj" align="center">
|
</el-table-column>
|
<el-table-column label="操作" align="center" width="180" class-name="small-padding fixed-width">
|
<template slot-scope="scope">
|
<el-button type="text" @click="showDetail(scope.row.id)">查看明细</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
<br>
|
<el-pagination
|
v-show="recordTotal>0"
|
:current-page="listQuery.pageIndex"
|
:page-sizes="[10, 20]"
|
:page-size="listQuery.pageSize"
|
:total="recordTotal"
|
layout="total, sizes, prev, pager, next, jumper"
|
background
|
style="float:right;"
|
@size-change="handleSizeChange"
|
@current-change="handleCurrentChange"
|
/>
|
<br>
|
<el-dialog
|
:visible.sync="detailVisible"
|
append-to-body
|
title="库存详情"
|
:close-on-click-modal="false"
|
@close="resetDetail"
|
>
|
<el-table
|
:data="detailData"
|
border
|
fit
|
highlight-current-row
|
style="width: 100%;"
|
>
|
<el-table-column label="序号" type="index" align="center" width="60">
|
</el-table-column>
|
<el-table-column label="产品名称" prop="cpmc" align="center">
|
</el-table-column>
|
<el-table-column label="箱数量" prop="xsl" align="center">
|
</el-table-column>
|
<el-table-column label="结余量" prop="jyl" align="center">
|
</el-table-column>
|
<el-table-column label="零散数量" prop="lssl" align="center">
|
</el-table-column>
|
</el-table>
|
|
<div slot="footer" class="dialog-footer">
|
<el-button type="primary" @click="resetDetail">确认</el-button>
|
</div>
|
</el-dialog>
|
</div>
|
</div>
|
</template>
|
|
|
<script>
|
import {computePageCount} from "@/utils";
|
import Cookies from 'js-cookie'
|
import {getDlInventoryDetail, getDlPageInventoryRecord} from "../../api/danling";
|
|
export default {
|
name: 'retailStock',
|
data() {
|
return {
|
pageSize: 10,
|
recordTotal: 0,
|
pageTotal: 0,
|
listLoading: false,
|
tableData: [],
|
isSupervision: Cookies.get('isSupervision'),
|
validTime:['',''],
|
listQuery: {
|
pageSize: 10,
|
pageIndex: 1,
|
filter: {
|
xsdwmc: '',
|
jylx: null,
|
starttime: '',
|
endtime: ''
|
},
|
},
|
typeList: [
|
{
|
id: '02',
|
text: '运输出库'
|
},
|
{
|
id: '03',
|
text: '运输入库'
|
},
|
{
|
id: '08',
|
text: '零售出库'
|
},
|
{
|
id: '10',
|
text: '零散销售'
|
}
|
],
|
detailVisible: false,
|
detailData: [],
|
pickerOptions: {
|
shortcuts: [{
|
text: '最近一周',
|
onClick(picker) {
|
const end = new Date();
|
const start = new Date();
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
picker.$emit('pick', [start, end]);
|
}
|
}, {
|
text: '最近一个月',
|
onClick(picker) {
|
const end = new Date();
|
const start = new Date();
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
picker.$emit('pick', [start, end]);
|
}
|
}]
|
}
|
}
|
},
|
created() {
|
this.initValidTime()
|
this.getStock()
|
},
|
methods: {
|
handleSizeChange(val) {
|
this.listQuery.pageSize = val
|
this.getStock()
|
},
|
handleCurrentChange(val) {
|
this.listQuery.pageIndex = val
|
this.getStock()
|
},
|
search() {
|
this.listQuery.pageIndex = 1
|
this.getStock()
|
},
|
resetDetail(){
|
this.detailData = []
|
this.detailVisible = false
|
},
|
initValidTime(){
|
const end = new Date();
|
this.validTime[0] = end.toISOString().slice(0, 10) + " 00:00:00";
|
this.validTime[1] = end.toISOString().slice(0, 10) + " 23:59:59";
|
},
|
getStock() {
|
this.listLoading = true
|
if( this.validTime !== null ){
|
this.listQuery.filter.starttime = this.validTime[0]
|
this.listQuery.filter.endtime = this.validTime[1]
|
}else{
|
this.listQuery.filter.starttime = ''
|
this.listQuery.filter.endtime = ''
|
}
|
getDlPageInventoryRecord(this.listQuery).then(res => {
|
if (res.data.code === '200') {
|
this.tableData = res.data.result.records
|
this.recordTotal = res.data.result.total
|
this.pageTotal = res.data.result.pages
|
} else {
|
this.$message({
|
type: 'warning',
|
message: res.data.message
|
})
|
}
|
})
|
.finally(res => {
|
this.listLoading = false
|
})
|
},
|
showDetail(id){
|
getDlInventoryDetail(id).then(res => {
|
if (res.data.code === '200') {
|
this.detailData = res.data.result
|
} else {
|
this.$message({
|
type: 'warning',
|
message: res.data.message
|
})
|
}
|
})
|
this.detailVisible = true
|
},
|
reset(){
|
this.listQuery= {
|
pageSize: 10,
|
pageIndex: 1,
|
filter: {
|
xsdwmc: '',
|
jylx: null,
|
starttime: '',
|
endtime: ''
|
},
|
}
|
this.validTime = ['','']
|
this.initValidTime()
|
this.getStock()
|
},
|
}
|
}
|
</script>
|
|
<style scoped>
|
.basic_search {
|
display: inline-block;
|
}
|
</style>
|