<template>
|
<div class="app-container">
|
<div class="filter-container">
|
<div style="display: block;">
|
<div class="basic_search">
|
<span>区域:</span>
|
<el-select v-model="listQuery.province" clearable filterable @change="changeArea('province')">
|
<el-option
|
v-for="item in provinceList"
|
:key="item.id"
|
:label="item.name"
|
:value="item.name"
|
>
|
</el-option>
|
</el-select>
|
</div>
|
<div class="basic_search">
|
<el-select v-model="listQuery.city" prop="city" clearable filterable @change="changeArea('city')">
|
<el-option
|
v-for="item in cityList"
|
:key="item.id"
|
:label="item.name"
|
:value="item.name"
|
>
|
</el-option>
|
</el-select>
|
</div>
|
<div class="basic_search">
|
<el-select v-model="listQuery.district" clearable filterable @change="changeArea('district')">
|
<el-option
|
v-for="item in districtList"
|
:key="item.id"
|
:label="item.name"
|
:value="item.name"
|
>
|
</el-option>
|
</el-select>
|
</div>
|
<div class="basic_search">
|
<span>企业名称:</span>
|
<el-input filterable clearable v-model="listQuery.companyName" style="width:200px">
|
</el-input>
|
</div>
|
<div class="basic_search">
|
<span>库区名称:</span>
|
<el-input filterable clearable v-model="listQuery.stockName" style="width:200px">
|
</el-input>
|
</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="searchData()">查询</el-button>
|
</div>
|
</div>
|
</div>
|
<div class="table_content">
|
<el-table
|
v-loading="listLoading"
|
:key="tableKey"
|
:data="stateStockData"
|
show-summary
|
:span-method="objectSpanMethod" :cell-class-name="tableRowClassName" @cell-mouse-leave="cellMouseLeave" @cell-mouse-enter="cellMouseEnter"
|
border
|
fit
|
highlight-current-row
|
style="width: 100%;"
|
>
|
<el-table-column label="库区" prop="" align="center"></el-table-column>
|
<el-table-column label="所属地区" align="center">
|
<template slot-scope="scope">
|
<el-link type="primary" @click="digDetail(scope.row)">{{ scope.row.region }}</el-link>
|
</template>
|
</el-table-column>
|
<el-table-column label="所属企业" prop="" align="center"></el-table-column>
|
<el-table-column label="地址" prop="" align="center"></el-table-column>
|
<el-table-column label="库区总面积" prop="" align="center"></el-table-column>
|
<el-table-column label="有效存储总面积" prop="" align="center"></el-table-column>
|
<el-table-column label="总库容量" prop="" align="center"></el-table-column>
|
<el-table-column label="总核药量" prop="" align="center"></el-table-column>
|
<el-table-column label="库房名称" prop="" align="center">
|
<template slot-scope="scope">
|
<el-link type="primary" @click="openRecord(scope.row)"></el-link>
|
</template>
|
</el-table-column>
|
<el-table-column label="总库存" prop="" align="center"></el-table-column>
|
<el-table-column label="库房面积" prop="" align="center"></el-table-column>
|
<el-table-column label="有效存储面积" prop="" align="center"></el-table-column>
|
<el-table-column label="库容量" prop="" align="center"></el-table-column>
|
<el-table-column label="核药量" prop="" align="center"></el-table-column>
|
<el-table-column label="爆竹类(箱)" prop="baozhuCount" align="center"></el-table-column>
|
<el-table-column label="喷花类(箱)" prop="penhuaCount" align="center"></el-table-column>
|
<el-table-column label="旋转类(箱)" prop="xuanzhuanCount" align="center"></el-table-column>
|
<el-table-column label="吐珠类(箱)" prop="tuzhuCount" align="center"></el-table-column>
|
<el-table-column label="玩具类(箱)" prop="wanjuCount" align="center"></el-table-column>
|
<el-table-column label="组合烟花类(箱)" prop="zuheCount" align="center"></el-table-column>
|
<el-table-column label="是否超量" prop="" align="center">
|
<template slot-scope="scope">
|
<span></span>
|
</template>
|
</el-table-column>
|
<el-table-column label="是否允许盘库" prop="" align="center">
|
<template slot-scope="scope">
|
<el-switch v-model="scope.row.tableStatus"></el-switch>
|
</template>
|
</el-table-column>
|
<el-table-column label="操作" align="center" width="120" class-name="small-padding fixed-width" fixed="right">
|
<template slot-scope="scope">
|
<el-button type="text" @click="digDetail(scope.row)">查看详情</el-button>
|
<el-button type="text" @click="deleteData(scope.row)">删除</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
<br>
|
<add-stock ref="addStock"></add-stock>
|
<stock-records ref="stockRecords"></stock-records>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
import {computePageCount} from "../../utils";
|
import {getCityListData, getProvinceListData} from "../../api/area"
|
import {regionPifaBox} from "../../api/stock"
|
import addStock from "./components/addStock"
|
import stockRecords from "./components/stockRecords"
|
import Cookies from "js-cookie"
|
export default {
|
name: "stockSupervision",
|
components: {addStock,stockRecords},
|
data() {
|
return {
|
tableKey: '',
|
provinceList: [],
|
cityList: [],
|
districtList: [],
|
Cookies: Cookies,
|
listLoading: false,
|
stateStockData: [],
|
listQuery: {
|
province: '',
|
city: '',
|
district: '',
|
companyName: '',
|
stockName: '',
|
},
|
}
|
},
|
created() {
|
const t = this
|
t.getProvince()
|
setTimeout(()=>{
|
|
},1000)
|
},
|
mounted() {
|
},
|
watch: {},
|
methods: {
|
openRecord(row){
|
const t = this
|
t.$refs.stockRecords.open()
|
},
|
// async getRegionPifaBox() {
|
// this.listLoading = true
|
// let res = await regionPifaBox(this.listQuery)
|
// if (res.data.code === "200") {
|
// const stateStockData = res.data.result || []
|
// if(Array.isArray(stateStockData)){
|
// stateStockData.map(item=>{
|
// if(Array.isArray(item.enterprises)){
|
// item.enterprises.map((subRes, subIndex)=>{
|
// let content = {}
|
// content = subRes
|
// content['area'] = item.area
|
// content['enterpriseNum'] = item.enterpriseNum
|
// // 重点!赋值合并的行数数值,只需要取子循环的第一个数赋值待合并的行数即可
|
// if(subIndex == 0){
|
// content['rowNum'] = item.enterprises.length
|
// }
|
// t.tableRowData.push(content)
|
// })
|
// }
|
// })
|
// }
|
// } else {
|
// this.$message({
|
// type: 'warning',
|
// message: res.data.message
|
// })
|
// }
|
// this.listLoading = false
|
// },
|
digDetail(row){
|
const t = this
|
t.$refs.addStock.open()
|
},
|
async getProvince() {
|
let res = await getProvinceListData()
|
if (res.data.code === "200") {
|
this.provinceList = res.data.result.provinceList
|
}
|
},//获取省
|
|
async changeArea(value) {
|
if (value === 'province') {
|
this.listQuery.city = ''
|
this.listQuery.district = ''
|
this.areaListQuery = {
|
type: 2,
|
parenttype: 1,
|
parentname: this.listQuery.province,
|
}
|
let res = await getCityListData(this.areaListQuery)
|
if (res.data.code === "200") {
|
this.cityList = res.data.result
|
}
|
} else if (value === 'city') {
|
this.listQuery.district = ''
|
this.areaListQuery = {
|
type: 3,
|
parenttype: 2,
|
parentname: this.listQuery.city,
|
}
|
let res = await getCityListData(this.areaListQuery)
|
if (res.data.code === "200") {
|
this.districtList = res.data.result
|
}
|
}
|
},
|
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
|
// columnIndex 代表列数,从0开始计数,我们要合并的字段属于第一列,取0
|
if(columnIndex <=8){
|
return {
|
rowspan: row.rowNum, // 待合并行数 -- 合并的行数长度就等于之前赋值的子数据的长度;未赋值的即表示0,不显示
|
colspan: row.rowNum>0?1:0 // 待合并列数 -- 合并的列数自身占一列,被合并的要返回0,表示不显示
|
};
|
}
|
},
|
tableRowClassName({row,rowIndex}) {
|
let arr = this.hoverOrderArr
|
for (let i = 0; i < arr.length; i++) {
|
if (rowIndex == arr[i]) {
|
return 'hovered-row'
|
}
|
}
|
},
|
cellMouseEnter(row, column, cell, event) {
|
this.rowIndex = row.rowIndex;
|
this.hoverOrderArr = [];
|
this.OrderIndexArr.forEach(element => {
|
if (element.indexOf(this.rowIndex) >= 0) {
|
this.hoverOrderArr = element
|
}
|
})
|
},
|
cellMouseLeave(row, column, cell, event) {
|
this.rowIndex = '-1'
|
this.hoverOrderArr = [];
|
},
|
},
|
}
|
</script>
|
|
<style scoped>
|
.basic_search {
|
display: inline-block;
|
}
|
</style>
|