Browse Source

20240221

java8
qiezi 11 months ago
parent
commit
f5c5657ec2
  1. 9
      src/api/partspare/purchaseOrder.js
  2. 690
      src/views/modules/partspare/inventoryStockPurchasing.vue
  3. 370
      src/views/modules/partspare/purchaseOrder.vue

9
src/api/partspare/purchaseOrder.js

@ -0,0 +1,9 @@
import {createAPI} from "../../utils/httpRequest";
export const saveBatchPurchaseOrder = (data) =>createAPI(`purchase/order/batch/save`, 'post', data)
export const queryPurchaseOrder = (data) =>createAPI(`purchase/order/${data.no}/${data.size}`, 'post', data)
export const cancelPurchaseOrder = (data) =>createAPI(`purchase/order/cancel`, 'post', data)
export const closePurchaseOrder = (data) =>createAPI(`purchase/order/close`, 'post', data)

690
src/views/modules/partspare/inventoryStockPurchasing.vue

@ -0,0 +1,690 @@
<script>
import {getWareHouseList} from "../../../api/partspare/wareHouseEntity";
import {getAllBuList} from "../../../api/factory/site";
import {getInventoryStockList} from "../../../api/partspare/inventorystock";
import {saveBatchPurchaseOrder} from "../../../api/partspare/purchaseOrder";
import {Decimal} from "decimal.js";
export default {
name: "inventoryStockPurchasing",
data(){
return{
span:3,
queryParams: {
site: this.$store.state.user.site,
limit: 50,
page: 1,
partNo: '',
partDescription: '',
spec: '',
batchNo: '',
warehouseId: '',
locationId: '',
startFirstInDate: '',
endFirstInDate: '',
startQtyOnHand: '',
endQtyOnHand: '',
groupType: '0',
active: 'Y',
safetyStock: '不安全',
buNo: '',
securityMethod:'库存和在途',
},
buList:[],
wareHouseList:[],
dataList: [],
queryLoading: false,
total:0,
columns:[
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1BuDesc',
tableId: '200101106Table1',
tableName: '备品备件采购表',
columnProp: 'buDesc',
headerAlign: 'center',
align: 'center',
columnLabel: 'BU',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1PartNo',
tableId: '200101106Table1',
tableName: '备品备件采购表',
columnProp: 'partNo',
headerAlign: 'center',
align: 'left',
columnLabel: '备品备件编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
},
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1PartDescription',
tableId: '200101106Table1',
tableName: '备品备件采购表',
columnProp: 'partDescription',
headerAlign: 'center',
align: 'left',
columnLabel: '备品备件名称',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 160
},
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1BatchNo',
tableId: '200101106Table1',
tableName: '备品备件采购表',
columnProp: 'batchNo',
headerAlign: 'center',
align: 'left',
columnLabel: '序列号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1WarehouseId',
tableId: '200101106Table1',
tableName: '备品备件采购表',
columnProp: 'warehouseId',
headerAlign: 'center',
align: 'left',
columnLabel: '仓库编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1LocationId',
tableId: '200101106Table1',
tableName: '备品备件采购表',
columnProp: 'locationId',
headerAlign: 'center',
align: 'left',
columnLabel: '货位编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1UmId',
tableId: '200101106Table1',
tableName: '备品备件采购表',
columnProp: 'umid',
headerAlign: 'center',
align: 'left',
columnLabel: '单位',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1QtyOnHand',
tableId: '200101106Table1',
tableName: '备品备件采购表',
columnProp: 'qtyOnHand',
headerAlign: 'center',
align: 'right',
columnLabel: '在库数量',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1MinStock',
tableId: '200101106Table1',
tableName: '备品备件采购表',
columnProp: 'minStock',
headerAlign: 'center',
align: 'right',
columnLabel: '最低库存数量',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1QtyOfPo',
tableId: '200101106Table1',
tableName: '备品备件采购表',
columnProp: 'qtyOfPo',
headerAlign: 'center',
align: 'right',
columnLabel: '在途订单数量',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1PartnerId',
tableId: '200101106Table1',
tableName: '备品备件采购表',
columnProp: 'partnerId',
headerAlign: 'center',
align: 'left',
columnLabel: '操作员',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1FirstInDate',
tableId: '200101106Table1',
tableName: '备品备件采购表',
columnProp: 'firstInDate',
headerAlign: 'center',
align: 'center',
columnLabel: '录入日期',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 150
},
],
columns2:[
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1BuDesc',
tableId: '200101106Table1',
tableName: '备品备件采购表',
columnProp: 'buDesc',
headerAlign: 'center',
align: 'center',
columnLabel: 'BU',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1PartNo',
tableId: '200101106Table1',
tableName: '备品备件采购表',
columnProp: 'partNo',
headerAlign: 'center',
align: 'left',
columnLabel: '备品备件编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
},
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1PartDescription',
tableId: '200101106Table1',
tableName: '备品备件采购表',
columnProp: 'partDescription',
headerAlign: 'center',
align: 'left',
columnLabel: '备品备件名称',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 160
},
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1QtyOnHand',
tableId: '200101106Table1',
tableName: '备品备件采购表',
columnProp: 'qtyOnHand',
headerAlign: 'center',
align: 'right',
columnLabel: '在库数量',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1MinStock',
tableId: '200101106Table1',
tableName: '备品备件采购表',
columnProp: 'minStock',
headerAlign: 'center',
align: 'right',
columnLabel: '最低库存数量',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1QtyOfPo',
tableId: '200101106Table1',
tableName: '备品备件采购表',
columnProp: 'qtyOfPo',
headerAlign: 'center',
align: 'right',
columnLabel: '在途订单数量',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
],
selectionDataList:[],
purchaseVisible:false,
purchaseLoading:false,
}
},
methods:{
handleQuery(){
this.queryLoading = true
getInventoryStockList(this.queryParams).then(({data}) => {
if (data && data.code === 0) {
this.dataList = data.page.list
this.total = data.page.totalCount
} else {
this.dataList = []
this.total = 0
}
this.queryLoading = false
}).catch((error)=>{
this.$message.error(error)
this.queryLoading = false
})
},
getWareHouseList(){
let wareHouse = {
site: this.$store.state.user.site,
active: 'Y',
warehousetype: "备品备件仓",
}
getWareHouseList(wareHouse).then(({data}) =>{
if (data && data.code === 0){
this.wareHouseList = data.data
}
})
},
getBuList() {
let tempData = {
username: this.$store.state.user.name,
}
getAllBuList(tempData).then(({data}) => {
if (data && data.code === 0) {
this.buList = data.rows
}
})
},
handleQueryBySize(val){
this.queryParams.limit = val
this.handleQuery()
},
handleQueryByPage(val){
this.queryParams.page = val
this.handleQuery()
},
rowStyle({row}){
//
let qtyOnHand = row.qtyOnHand
//
let minStock = row.minStock
//
let qtyOfPo = row.qtyOfPo
//
if (this.queryParams.securityMethod === '库存和在途'){
qtyOnHand += qtyOfPo
}
//
if (qtyOnHand <= minStock) {
return { 'background-color': '#D8ECF1', cursor: 'pointer' }
}
},
handleSelectionChange(val) {
let qty = 0;
this.selectionDataList = val.map(item => {
if (new Decimal(item.minStock).toNumber() > new Decimal(item.qtyOnHand).toNumber()){
qty = new Decimal(item.minStock).sub(new Decimal(item.qtyOnHand)).toNumber()
}
return {
...item,
purchaseQty: qty,
}
});
},
handlePurchase(){
if (this.selectionDataList.length === 0) {
this.$message.warning('请选择需要采购的备件')
return
}
this.purchaseVisible = true
},
handlePurchaseSave(){
let params = this.selectionDataList.map((item)=>{
return {
...item,
buNo:item.citemCode,
inventoryStockId: item.id,
id:null,
qty: item.purchaseQty,
}
})
this.purchaseLoading = true
saveBatchPurchaseOrder(params).then(({data})=>{
if (data && data.code === 0) {
this.handleQuery();
this.$refs.table.clearSelection();
this.purchaseVisible = false;
this.$message.success(data.msg)
}else {
this.$message.error(data.msg)
}
this.purchaseLoading = false
}).catch((error)=>{
this.$message.error(error)
this.purchaseLoading = false
})
}
},
watch:{
queryLoading(newVal, oldVal){
if (newVal === true){
setTimeout(()=>{
this.queryLoading = false
},3000)
}
},
purchaseLoading(newVal, oldVal){
if (newVal === true){
setTimeout(()=>{
this.purchaseLoading = false
},3000)
}
}
},
created() {
this.getBuList()
this.getWareHouseList()
this.handleQuery()
},
}
</script>
<template>
<div class="box-container">
<el-form label-position="top" :model="queryParams" style="max-width: 1200px">
<el-row :gutter="10">
<el-col :span="span">
<el-form-item label="备品备件编码">
<el-input v-model="queryParams.partNo" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="span">
<el-form-item label="备品备件名称">
<el-input v-model="queryParams.partDescription" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="span">
<el-form-item label="规格型号">
<el-input v-model="queryParams.spec" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="span">
<el-form-item label="序列号">
<el-input v-model="queryParams.batchNo" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="span">
<el-form-item label="仓库">
<el-select v-model="queryParams.warehouseId" style="width: 100%">
<el-option value="" label="全部"></el-option>
<el-option v-for="(item,index) in wareHouseList "
:key="item.warehouseId" :value="item.warehouseId" :label="item.warehouseName"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="span">
<el-form-item label="汇总方式">
<el-select v-model="queryParams.groupType" style="width: 100%">
<el-option value="0" label="料号+序号"></el-option>
<el-option value="1" label="料号"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="span*2">
<el-form-item label=" ">
<el-button type="primary" @click="handleQuery">查询</el-button>
<el-button type="primary" @click="handlePurchase">采购</el-button>
</el-form-item>
</el-col>
<el-col :span="span*2">
<el-form-item label="录入日期">
<el-date-picker
style="width: 47.5%"
v-model="queryParams.startFirstInDate"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
<span style="text-align: center">-</span>
<el-date-picker
style="width: 47.5%"
v-model="queryParams.endFirstInDate"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd 23:59:59"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="span*2">
<el-form-item label="在库数量范围">
<el-input style="width: 47.5%" v-model="queryParams.startQtyOnHand" clearable></el-input>
<span style="text-align: center">-</span>
<el-input style="width: 47.5%" v-model="queryParams.endQtyOnHand" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="span">
<el-form-item label="货位编码">
<el-input v-model="queryParams.startQtyOnHand" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="span">
<el-form-item label="BU">
<el-select v-model="queryParams.buNo" placeholder="请选择" style="width: 100%">
<el-option label="全部" value=""> </el-option>
<el-option
v-for = "i in buList"
:key = "i.buNo"
:label = "i.buDesc"
:value = "i.buNo">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="span">
<el-form-item label="安全库存汇总方式">
<el-select v-model="queryParams.securityMethod" style="width: 100%">
<el-option label="库存数量" value="库存"></el-option>
<el-option label="(库存+在途)数量" value="库存和在途"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="span">
<el-form-item label=" ">
<el-checkbox v-model="queryParams.safetyStock" true-label="不安全" false-label="" @change="handleQuery">仅显示低于安全库存的备件</el-checkbox>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div style="height: calc(100% - 120px)">
<el-table :data="dataList" border
height="100%" ref="table"
v-loading="queryLoading"
:row-style="rowStyle"
@selection-change="handleSelectionChange">
<el-table-column
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column
v-for="(item,index) in columns" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed===''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
</el-table>
</div>
<el-pagination
style="margin-top: 5px"
@size-change="handleQueryBySize"
@current-change="handleQueryByPage"
:current-page="queryParams.page"
:page-sizes="[50, 100, 500, 1000]"
:page-size="queryParams.limit"
:total="total"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<el-dialog :visible.sync="purchaseVisible" title="待创建采购订单备件清单" :close-on-click-modal="false" width="1000px" v-drag>
<div class="rq">
<el-table :data="selectionDataList" border height="400px">
<el-table-column
v-for="(item,index) in columns2" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed===''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
<el-table-column label="采购数量" align="center" min-width="100">
<template slot-scope="{row,$index}">
<el-input-number style="width: 100%;" :min="0" :controls="false" :step="0" v-model="selectionDataList[$index].purchaseQty"></el-input-number>
</template>
</el-table-column>
</el-table>
</div>
<el-footer style="text-align: center;line-height: 1;height: 30px;margin-top: 10px">
<el-button type="primary" :loading="purchaseLoading" @click="handlePurchaseSave">保存</el-button>
<el-button type="primary" @click="purchaseVisible = false">关闭</el-button>
</el-footer>
</el-dialog>
</div>
</template>
<style scoped>
</style>

370
src/views/modules/partspare/purchaseOrder.vue

@ -0,0 +1,370 @@
<script>
import {getAllBuList} from "../../../api/factory/site";
import {cancelPurchaseOrder, queryPurchaseOrder} from "../../../api/partspare/purchaseOrder";
export default {
name: "purchaseOrder",
data(){
return{
span:3,
queryParams: {
site: this.$store.state.user.site,
buNo: '',
partNo: '',
partDescription: '',
status: '',
startDate:null,
endDate:null,
no:1,
size:50,
},
buList: [],
dataList: [],
queryLoading: false,
total:0,
columns:[
{
userId: this.$store.state.user.name,
functionId: 200101107,
serialNumber: '200101107Table1BuDesc',
tableId: '200101107Table1',
tableName: '备品备件采购表',
columnProp: 'buDesc',
headerAlign: 'center',
align: 'center',
columnLabel: 'BU',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
},{
userId: this.$store.state.user.name,
functionId: 200101107,
serialNumber: '200101107Table1PurchaseOrderNo',
tableId: '200101107Table1',
tableName: '备品备件采购表',
columnProp: 'purchaseOrderNo',
headerAlign: 'center',
align: 'LEFT',
columnLabel: '采购订单号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
},
{
userId: this.$store.state.user.name,
functionId: 200101107,
serialNumber: '200101107Table1PartNo',
tableId: '200101107Table1',
tableName: '备品备件采购表',
columnProp: 'partNo',
headerAlign: 'center',
align: 'left',
columnLabel: '备品备件编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
},
{
userId: this.$store.state.user.name,
functionId: 200101107,
serialNumber: '200101107Table1PartDescription',
tableId: '200101107Table1',
tableName: '备品备件采购表',
columnProp: 'partDescription',
headerAlign: 'center',
align: 'left',
columnLabel: '备品备件名称',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 160
},
{
userId: this.$store.state.user.name,
functionId: 200101107,
serialNumber: '200101107Table1Qty',
tableId: '200101107Table1',
tableName: '备品备件采购表',
columnProp: 'qty',
headerAlign: 'center',
align: 'right',
columnLabel: '采购数量',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 200101107,
serialNumber: '200101107Table1UmId',
tableId: '200101107Table1',
tableName: '备品备件采购表',
columnProp: 'umId',
headerAlign: 'center',
align: 'left',
columnLabel: '单位',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 60
},
{
userId: this.$store.state.user.name,
functionId: 200101107,
serialNumber: '200101107Table1Status',
tableId: '200101107Table1',
tableName: '备品备件采购表',
columnProp: 'status',
headerAlign: 'center',
align: 'center',
columnLabel: '状态',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 200101107,
serialNumber: '200101107Table1CreateTime',
tableId: '200101107Table1',
tableName: '备品备件采购表',
columnProp: 'createTime',
headerAlign: 'center',
align: 'center',
columnLabel: '下单时间',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 140
},
{
userId: this.$store.state.user.name,
functionId: 200101107,
serialNumber: '200101107Table1CreateBy',
tableId: '200101107Table1',
tableName: '备品备件采购表',
columnProp: 'createBy',
headerAlign: 'center',
align: 'left',
columnLabel: '下单人',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
},
],
}
},
methods:{
getBuList() {
let tempData = {
username: this.$store.state.user.name,
}
getAllBuList(tempData).then(({data}) => {
if (data && data.code === 0) {
this.buList = data.rows
}
})
},
handleQuery(){
this.queryLoading = true
queryPurchaseOrder(this.queryParams).then(({data})=>{
if (data && data.code === 0) {
this.dataList = data.rows
this.total = data.total
}else {
this.$message.warning(data.msg)
}
this.queryLoading = false
}).catch((error)=>{
this.$message.error(error)
this.queryLoading = false
})
},
handleQueryBySize(val){
this.queryParams.size = val;
this.handleQuery();
},
handleQueryByPage(val){
this.queryParams.no = val;
this.handleQuery();
},
handleCancel(row){
this.$confirm('确定取消该采购订单吗?',{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(()=>{
cancelPurchaseOrder(row).then(({data})=>{
if (data && data.code === 0) {
this.$message.success(data.msg)
this.handleQuery()
}else {
this.$message.warning(data.msg)
}
}).catch((error)=>{
this.$message.error(error)
})
})
},
handleClose(row){
}
},
watch:{
queryLoading(newVal,oldVal){
if (newVal === true){
setTimeout(()=>{
this.queryLoading=false
},3000)
}
}
},
created() {
this.getBuList();
this.handleQuery();
console.log(this.$route.meta.menuId)
}
}
</script>
<template>
<div class="box-container">
<el-form label-position="top" :model="queryParams" style="max-width: 1200px">
<el-row :gutter="10">
<el-col :span="span">
<el-form-item label="BU">
<el-select v-model="queryParams.buNo" placeholder="请选择" style="width: 100%">
<el-option label="全部" value=""> </el-option>
<el-option
v-for = "i in buList"
:key = "i.buNo"
:label = "i.buDesc"
:value = "i.buNo">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="span">
<el-form-item label="备品备件编码">
<el-input v-model="queryParams.partNo" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="span">
<el-form-item label="备品备件名称">
<el-input v-model="queryParams.partDescription" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="span*2">
<el-form-item label="下单日期">
<el-date-picker
style="width: 47.5%"
v-model="queryParams.startDate"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
<span style="text-align: center">-</span>
<el-date-picker
style="width: 47.5%"
v-model="queryParams.endDate"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd 23:59:59"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="span">
<el-form-item label="状态">
<el-select v-model="queryParams.status" placeholder="请选择" style="width: 100%">
<el-option label="全部" value=""> </el-option>
<el-option label="已取消" value="已取消"> </el-option>
<el-option label="已关闭" value="已关闭"> </el-option>
<el-option label="进行中" value="进行中"> </el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="span">
<el-form-item label=" ">
<el-button type="primary" @click="handleQuery">查询</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div style="height: calc(100% - 120px)">
<el-table :data="dataList" border
height="100%" ref="table"
v-loading="queryLoading">
<el-table-column
v-for="(item,index) in columns" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed===''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="100">
<template slot-scope="scope">
<a v-if="scope.row.status === '进行中'" @click="handleCancel(scope.row)">取消</a>
<!-- <a @click="handleClose(scope.row)">关闭</a>-->
</template>
</el-table-column>
</el-table>
</div>
<el-pagination
style="margin-top: 5px"
@size-change="handleQueryBySize"
@current-change="handleQueryByPage"
:current-page="queryParams.page"
:page-sizes="[50, 100, 500, 1000]"
:page-size="queryParams.limit"
:total="total"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
</div>
</template>
<style scoped>
</style>
Loading…
Cancel
Save