Files
JY1.0/src/views/PurchasingCenter/ArrivalEnquiry/index.vue
bryan sun f65eb643fb 分页
2019-10-24 15:45:13 +08:00

263 lines
8.6 KiB
Vue

<template>
<div class="app-container">
<el-card>
<div slot="header">
<!-- <span>供应商:</span>-->
<el-select v-model="gongyingsValue" placeholder="供应商" size="small" style="margin: 0px 10px" filterable clearable @change="fetchData();searchTable1()">
<el-option
v-for="item in gongyings"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<!-- <span>合同号:</span>-->
<el-select v-model="contractNumValue" placeholder="合同号" size="small" style="margin: 0px 10px" filterable clearable @change="searchTable1()">
<el-option
v-for="item in contractNum"
:key="item.value"
:label="item.label"
:value="item.value">
<div style="float: left">{{ item.label }}</div>
<div style="float: right; color: #8492a6; font-size: 13px">{{ item.name }}</div>
</el-option>
</el-select>
<el-button
type="success"
size="small"
icon="el-icon-search"
style="margin-left:10px"
@click="total1=0;pageCurrent1=1;pageSize1=1000;searchTable1()">查询</el-button>
</div>
<el-table
v-loading=""
:data="tableData1"
border
stripe
highlight-current-row
style="width: 100%;"
height="400px"
size="mini"
@row-click="searchTable2">
<el-table-column label="采购编码" align="center" min-width="100">
<template slot-scope="scope">
{{ scope.row.采购合同流水号 }}
</template>
</el-table-column>
<el-table-column label="采购合同编号" align="center" min-width="100">
<template slot-scope="scope">
{{ scope.row.采购合同编号 }}
</template>
</el-table-column>
<el-table-column label="采购合同名称" align="center" min-width="120">
<template slot-scope="scope">
{{ scope.row.采购合同名称 }}
</template>
</el-table-column>
<el-table-column label="交货日期" align="center" min-width="100">
<template slot-scope="scope">
{{ scope.row.交货日期 }}
</template>
</el-table-column>
<el-table-column label="供应商" align="center" min-width="150">
<template slot-scope="scope">
{{ scope.row.供应商名称 }}
</template>
</el-table-column>
<el-table-column label="采购员" align="center" min-width="70">
<template slot-scope="scope">
{{ scope.row.姓名 }}
</template>
</el-table-column>
<el-table-column label="到货进度" align="center" min-width="150">
<template slot-scope="scope">
<el-progress
:text-inside="true"
:stroke-width="18"
:percentage="scope.row.到货进度 = (100*(Number(scope.row.合同到货总数))/scope.row.合同采购总数) > 100 ? 100 : Number((100*(Number(scope.row.合同到货总数))/scope.row.合同采购总数).toFixed(2))"
status="success"/>
</template>
</el-table-column>
<el-table-column property="date" label="操作" width="100" align="center" fixed="right">
<template slot-scope="scope">
<el-button
size="mini"
type="success"
plain
@click="submit(scope.row)">到货</el-button>
</template>
</el-table-column>
</el-table>
<div class="block">
<el-pagination
:current-page="pageCurrent1"
:page-sizes="[10, 20, 30, 40, 1000]"
:page-size="pageSize1"
:total="total1"
style="display:inline-block;width:50%"
layout="total"
@size-change="handleSizeChange1"
@current-change="handleCurrentChange1"/>
</div>
<el-table v-loading="" :data="tableData2" stripe border style="width: 100%;" height="380px" size="mini">
<el-table-column label="采购合同编号" align="center" min-width="100">
<template slot-scope="scope">
{{ scope.row.采购合同编号 }}
</template>
</el-table-column>
<el-table-column label="图号" align="center" min-width="100">
<template slot-scope="scope">
{{ scope.row.物料型号 ? scope.row.物料型号 : scope.row.零件图号 }}
</template>
</el-table-column>
<el-table-column label="名称" align="center" min-width="100">
<template slot-scope="scope">
{{ scope.row.物料名称 ? scope.row.物料名称 : scope.row.零件名称 }}
</template>
</el-table-column>
<el-table-column label="规格" align="center" min-width="100">
<template slot-scope="scope">
{{ scope.row.物料规格 ? scope.row.物料规格 : scope.row.规格 }}
</template>
</el-table-column>
<el-table-column label="采购总数量" align="center" min-width="100">
<template slot-scope="scope">
{{ scope.row.采购总数量 }}
</template>
</el-table-column>
<el-table-column label="已到货数量" align="center" min-width="100">
<template slot-scope="scope">
{{ scope.row.已到货数量 }}
</template>
</el-table-column>
</el-table>
</el-card>
</div>
</template>
<script>
import { initArrivalStateContact, searchArrivalState12, searchArrivalNum, submit, searchgongyings } from '@/api/PurchasingCenter/ArrivalStateSearch'
import { mapGetters } from 'vuex'
export default {
name: '', // 项目总价查询
data() {
return {
check1: 0,
check2: 0,
gongyingsValue: '',
gongyings: [],
contractNumValue: '',
contractNum: [],
supplierName: '',
tableData1: [],
pageSize1: 1000,
pageCurrent1: 1,
total1: 0,
tableData2: []
}
},
computed: {
...mapGetters([
'sidebar',
'avatar',
'name',
'id' // 人员编号
])
},
created() {
// this.fetchData()
this.searchgongyings()
this.searchTable1()
},
methods: {
fetchData() {
this.contractNumValue = ''
this.contractNum = []
initArrivalStateContact(this.gongyingsValue).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.contractNum.push({
label: response.data[i].采购合同编号,
name: response.data[i].采购合同名称,
value: response.data[i].采购合同流水号
})
}
})
},
searchgongyings() {
searchgongyings().then(response => {
for (let i = 0; i < response.data.length; i++) {
this.gongyings.push({
label: response.data[i].供应商名称,
value: response.data[i].供应商流水号
})
}
})
},
searchTable1() {
this.contractNumValue ? this.check1 = 1 : this.check1 = 0
this.gongyingsValue ? this.check2 = 1 : this.check2 = 0
searchArrivalState12(this.pageCurrent1, this.pageSize1, this.check1, this.contractNumValue, this.check2, this.gongyingsValue).then(response => {
this.tableData1 = response.data.rows
this.total1 = response.data.total
})
},
submit(row) {
this.$confirm('采购订单是否全部到货', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
submit(row.采购合同流水号).then(response => {
if (response.data[0].result === '1') {
this.$message.success('到货成功')
this.searchTable1()
} else {
this.$message.error('到货失败')
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消到货'
})
})
},
handleSizeChange1(val) {
this.pageSize1 = val
this.pageCurrent1 = 1
this.searchTable1()
},
handleCurrentChange1(val) {
this.pageCurrent1 = val
this.searchTable1()
},
searchTable2(row) {
searchArrivalNum(row.采购合同流水号).then(response => {
this.tableData2 = response.data
})
}
}
}
</script>
<style scoped>
.el-card{
margin-bottom: 15px;
}
.el-select{
width:200px
}
.el-input{
width:200px
}
span{
margin: 10px 0 10px 10px;
}
.searchForm .el-form-item{
margin-bottom: 5px;
}
.el-tag{
margin: 0
}
</style>