This commit is contained in:
liushuai
2019-10-30 12:56:43 +08:00
parent d1939c0e42
commit f7a889e3d6
11 changed files with 397 additions and 719 deletions

View File

@@ -1,6 +1,6 @@
<template>
<div class="app-container">
<el-card>
<el-card style="width: 57%">
<div slot="header">
<el-row>
<el-select v-model="machineNumberValue" filterable placeholder="机床编号" size="small" clearable style="width: 120px" @change="machineChange">
@@ -30,34 +30,34 @@
<el-input v-model="Name" placeholder="名称" clearable style="width: 120px" size="small"/>
<el-input v-model="materialSpec" placeholder="物料规格" style="width: 120px" clearable size="small"/>
<el-input v-model="materialModel" placeholder="物料型号" style="width: 120px" clearable size="small"/>
<el-button size="small" type="success" icon="el-icon-search" style="margin: 0 0 0 10px" @click="pageCurrent0=1;pageSize0=20;pageCurrent1=1;pageSize1=20;pageCurrent2=1;pageSize2=20;pageCurrent4=1;pageSize4=20;searchTable()">查询</el-button>
<el-button size="small" type="success" icon="el-icon-search" style="margin: 0 0 0 10px" @click="pageCurrent0=1;pageSize0=300;pageCurrent1=1;pageSize1=300;pageCurrent2=1;pageSize2=300;pageCurrent4=1;pageSize4=20;searchTable()">查询</el-button>
</el-row>
</div>
<el-tabs v-model="PartType" type="card" @tab-click="searchTable()">
<el-tab-pane label="标准件" name="标准件">
<el-table ref="multipleTable" :data="tableData0" size="mini" style="max-height: 600px" height="600px" border stripe @selection-change="handleSelectionChange">
<el-table ref="multipleTable" :data="tableData0" size="mini" style="max-height: 600px" height="500px" border stripe @selection-change="handleSelectionChange">
<el-table-column :selectable="selectable" type="selection" align="center" width="50"/>
<el-table-column align="center" sortable prop="机床图号" label="机床图号" width="130px">
<el-table-column align="center" prop="机床图号" label="机床图号" width="130px" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.机床图号 }}
</template>
</el-table-column>
<el-table-column align="center" sortable prop="组号" label="组号" width="80px">
<el-table-column align="center" prop="组号" label="组号" width="80px">
<template slot-scope="scope">
{{ scope.row.组号 }}
</template>
</el-table-column>
<el-table-column align="center" sortable prop="物料名称" label="名称" width="100px">
<el-table-column align="center" prop="物料名称" label="名称" width="100px" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.物料名称 }}
</template>date
</el-table-column>
<el-table-column align="center" sortable prop="型号" label="型号" width="120px">
<el-table-column align="center" prop="型号" label="型号" min-width="120px" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.物料型号 || '—' }}
</template>
</el-table-column>
<el-table-column align="center" sortable prop="规格排序" label="规格" width="150px">
<el-table-column align="center" prop="规格排序" label="规格" min-width="150px" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.物料规格 || '—' }}
</template>
@@ -72,7 +72,7 @@
{{ scope.row.备件总数量 }}
</template>
</el-table-column>
<el-table-column align="center" label="领料单编号" width="100px">
<el-table-column align="center" label="领料单编号" width="100px" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.领料单编号 }}
</template>
@@ -81,7 +81,7 @@
<div class="block">
<el-pagination
:current-page="pageCurrent0"
:page-sizes="[10, 20, 30, 40]"
:page-sizes="[10, 20, 30, 40, 300]"
:page-size="pageSize0"
:total="total0"
style="margin-top:10px;display:inline-block;width:50%"
@@ -91,29 +91,29 @@
</div>
</el-tab-pane>
<el-tab-pane label="外购件" name="外购件">
<el-table ref="multipleTable" :data="tableData1" size="mini" style="max-height: 600px" height="600px" border stripe @selection-change="handleSelectionChange">
<el-table ref="multipleTable" :data="tableData1" size="mini" style="max-height: 500px" height="600px" border stripe @selection-change="handleSelectionChange">
<el-table-column :selectable="selectable" type="selection" align="center" width="50"/>
<el-table-column align="center" sortable prop="机床图号" label="机床图号" width="130px">
<el-table-column align="center" prop="机床图号" label="机床图号" width="130px" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.机床图号 }}
</template>
</el-table-column>
<el-table-column align="center" sortable prop="组号" label="组号" width="80px">
<el-table-column align="center" prop="组号" label="组号" width="80px">
<template slot-scope="scope">
{{ scope.row.组号 }}
</template>
</el-table-column>
<el-table-column align="center" sortable prop="物料名称" label="名称" width="100px">
<el-table-column align="center" prop="物料名称" label="名称" width="100px" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.物料名称 }}
</template>
</el-table-column>
<el-table-column align="center" sortable prop="型号" label="型号" width="130px">
<el-table-column align="center" prop="型号" label="型号" min-width="130px" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.物料型号 || '—' }}
</template>
</el-table-column>
<el-table-column align="center" sortable prop="物料规格" label="规格" width="200px">
<el-table-column align="center" prop="物料规格" label="规格" min-width="200px" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.物料规格 || '—' }}
</template>
@@ -128,7 +128,7 @@
{{ scope.row.备件总数量 }}
</template>
</el-table-column>
<el-table-column align="center" label="领料单编号" width="100px">
<el-table-column align="center" label="领料单编号" width="100px" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.领料单编号 }}
</template>
@@ -137,7 +137,7 @@
<div class="block">
<el-pagination
:current-page="pageCurrent1"
:page-sizes="[10, 20, 30, 40]"
:page-sizes="[10, 20, 30, 40, 300]"
:page-size="pageSize1"
:total="total1"
style="margin-top:10px;display:inline-block;width:50%"
@@ -147,29 +147,29 @@
</div>
</el-tab-pane>
<el-tab-pane label="基本件" name="基本件">
<el-table ref="multipleTable" :data="tableData2" size="mini" style="max-height: 600px" height="600px" border stripe @selection-change="handleSelectionChange">
<el-table ref="multipleTable" :data="tableData2" size="mini" style="max-height: 500px" height="600px" border stripe @selection-change="handleSelectionChange">
<el-table-column :selectable="selectable" type="selection" align="center" width="50"/>
<el-table-column align="center" sortable prop="机床图号" label="机床图号" width="130px">
<el-table-column align="center" prop="机床图号" label="机床图号" width="130px" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.机床图号 }}
</template>
</el-table-column>
<el-table-column align="center" sortable prop="组号" label="组号" width="80px">
<el-table-column align="center" prop="组号" label="组号" width="80px">
<template slot-scope="scope">
{{ scope.row.组号 }}
</template>
</el-table-column>
<el-table-column align="center" sortable prop="零件名称" label="名称" width="100px">
<el-table-column align="center" prop="零件名称" label="名称" width="100px" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.零件名称 }}
</template>
</el-table-column>
<el-table-column align="center" label="图号" sortable prop="零件图号" width="130px">
<el-table-column align="center" label="图号" sortable prop="零件图号" min-width="130px" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.零件图号 }}
</template>
</el-table-column>
<el-table-column align="center" sortable prop="规格" label="规格" width="80px">
<el-table-column align="center" prop="规格" label="规格" min-width="80px">
<template slot-scope="scope">
{{ scope.row.规格 || '—' }}
</template>
@@ -189,7 +189,7 @@
{{ scope.row.备件总数量 }}
</template>
</el-table-column>
<el-table-column align="center" label="领料单编号" width="100px">
<el-table-column align="center" label="领料单编号" width="100px" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.领料单编号 }}
</template>
@@ -198,7 +198,7 @@
<div class="block">
<el-pagination
:current-page="pageCurrent2"
:page-sizes="[10, 20, 30, 40]"
:page-sizes="[10, 20, 30, 40, 300]"
:page-size="pageSize2"
:total="total2"
style="margin-top:10px;display:inline-block;width:50%"
@@ -208,24 +208,24 @@
</div>
</el-tab-pane>
<el-tab-pane label="离线采购件" name="离线采购件">
<el-table v-loading="listLoading" :data="tableDataBasic" highlight-current-row size="mini" border stripe style="width: 100%;" height="600px" @selection-change="handleSelectionChange1">
<el-table-column type="selection" align="center" width="50"/>
<el-table-column label="物料名称" prop="物料名称" align="center" width="120">
<el-table v-loading="listLoading" :data="tableDataBasic" highlight-current-row size="mini" border stripe style="width: 100%;" height="500px" @selection-change="handleSelectionChange1">
<el-table-column :selectable="selectable1" type="selection" align="center" width="50"/>
<el-table-column label="物料名称" prop="物料名称" align="center" min-width="140" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.物料名称 }}
</template>
</el-table-column>
<el-table-column label="物料型号" prop="物料型号" align="center" width="120">
<el-table-column label="物料型号" prop="物料型号" align="center" min-width="150" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.物料型号 }}
</template>
</el-table-column>
<el-table-column label="物料规格" prop="物料规格" align="center" width="120">
<el-table-column label="物料规格" prop="物料规格" align="center" min-width="200" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.物料规格 }}
</template>
</el-table-column>
<el-table-column label="库存量" align="center" width="80px">
<el-table-column label="库存量" align="center" min-width="100px">
<template slot-scope="scope">
{{ scope.row.货位存量 }}
</template>
@@ -251,32 +251,28 @@
</el-tabs>
</el-card>
<el-card>
<div slot="header">
<el-input v-model="pickingListNumber" clearable size="small" placeholder="领料单编号" style="width:120px;margin-left: 10px" />
<el-button size="small" type="success" icon="el-icon-search" style="margin: 0 0 0 10px" @click="searchList()">查询</el-button>
<el-button size="small" type="primary" icon="el-icon-plus" style="margin: 0 0 0 10px" @click="createList()">创建领料单</el-button>
<el-tooltip :open-delay="1200" effect="dark" content="为所选领料单增加物料明细" placement="top">
<el-button size="small" type="warning" icon="el-icon-bottom" style="margin: 0 0 5px 10px" @click="selectInto()">选入物料</el-button>
</el-tooltip>
<el-button :disabled="Number(审批情况)===1" size="small" type="danger" icon="el-icon-delete" style="margin: 0 0 0 10px" @click="dropList()">删除领料单</el-button>
<span style="font-weight: bold">选中领料单{{ pickingListNumberShow }}</span>
<span style="font-weight: bold">领料人{{ peopleName }}</span>
<el-button :disabled="Number(审批情况)===1" size="small" plain type="danger" icon="el-icon-delete" style="margin-right: 20px;float: right" @click="dropListDetail(scope.row)">移除领料明细</el-button>
</div>
<div style="width: 30%;float: left">
<el-table :data="pickListTable1" :row-class-name="tableRowClassName" class="shenpi" highlight-current-row border size="mini" width="100%" height="300px" @row-click="clickList">
<el-table-column label="序号" align="center" type="index" width="50"/>
<div slot="header">
<el-card>
<el-row style="margin-top: 5px">
<el-input v-model="pickingListNumber" clearable size="small" placeholder="领料单编号" style="width:120px;margin-left: 10px" />
<el-button size="small" type="success" icon="el-icon-search" style="margin: 0 0 0 10px" @click="searchList()">查询</el-button>
<el-button size="small" type="primary" icon="el-icon-plus" style="margin: 0 0 0 10px" @click="createList()">创建领料单</el-button>
<el-tooltip :open-delay="1200" effect="dark" content="为所选领料单增加物料明细" placement="top">
<el-button size="small" type="warning" icon="el-icon-bottom" style="margin: 0 0 5px 10px" @click="selectInto()">选入物料</el-button>
</el-tooltip>
<el-button :disabled="Number(审批情况)===1" size="small" type="danger" icon="el-icon-delete" style="margin: 0 0 0 10px" @click="dropList()">删除领料单</el-button>
<el-button :disabled="Number(审批情况)===1" size="small" plain type="danger" icon="el-icon-delete" style="margin-right: 20px;float: right" @click="dropListDetail()">移除领料明细</el-button>
</el-row>
</el-card>
</div>
<div style="width: 26%;float: left;margin-right: 16px">
<el-card>
<el-table :data="pickListTable1" :row-class-name="tableRowClassName" class="shenpi" highlight-current-row border size="mini" width="100%" height="400px" @row-click="clickList">
<el-table-column prop="领料单编号" label="领料单编号" align="center" min-width="100px">
<template slot-scope="scope">
{{ scope.row.领料单编号 }}
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" min-width="100px" >
<template slot-scope="scope">
{{ scope.row.操作日期.split(' ')[0] }}
</template>
</el-table-column>
<el-table-column label="领料人" prop="领料人" align="center" min-width="90px">
<template slot-scope="scope">
{{ scope.row.姓名 }}
@@ -288,36 +284,38 @@
</template>
</el-table-column>
</el-table>
<div class="block" style="float:right;margin: 10px 0;">
<div class="block" style="float:left;margin: 10px 0;">
<el-pagination
:current-page="pageCurrent3"
:page-sizes="[10, 20, 30, 40]"
:page-size="pageSize3"
:total="total3"
layout="total, sizes, prev, pager, next, jumper"
layout="total, sizes, prev, pager, next"
@size-change="handleSizeChange3"
@current-change="handleCurrentChange3"/>
</div>
</div>
<div style="width: 69.8%;float: left">
<el-table :data="pickListTable2" border style="width: 100%;" size="mini" height="300px">
</el-card>
</div>
<div style="width: 72.5%;float: left">
<el-card>
<el-table :data="pickListTable2" border style="width: 100%;" size="mini" highlight-current-row height="400px" @row-click="searchMX">
<el-table-column label="序号" align="center" type="index" width="50"/>
<el-table-column label="名称" align="center" prop="名称" min-width="100">
<el-table-column label="名称" align="center" prop="名称" min-width="100" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.名称 }}
</template>
</el-table-column>
<el-table-column label="图号或型号" align="center" prop="图号或型号" min-width="110px">
<el-table-column label="图号或型号" align="center" prop="图号或型号" min-width="110px" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.图号或型号 || '—' }}
</template>
</el-table-column>
<el-table-column label="规格" align="center" prop="规格" min-width="120">
<el-table-column label="规格" align="center" prop="规格" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.规格 || '—' }}
</template>
</el-table-column>
<el-table-column label="机床图号" align="center" prop="机床图号" min-width="100">
<el-table-column label="机床图号" align="center" prop="机床图号" min-width="100" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.机床图号 }}
</template>
@@ -327,17 +325,17 @@
{{ scope.row.组号 }}
</template>
</el-table-column>
<el-table-column label="领用数" align="center" min-width="70">
<el-table-column label="领用数" align="center" width="60">
<template slot-scope="scope">
{{ scope.row.总数量 }}
</template>
</el-table-column>
<el-table-column label="备件数" align="center" min-width="70">
<el-table-column label="备件数" align="center" width="60">
<template slot-scope="scope">
{{ scope.row.备件数量 }}
</template>
</el-table-column>
<el-table-column label="已领数" align="center" min-width="70">
<el-table-column label="已领数" align="center" width="60">
<template slot-scope="scope">
{{ scope.row.出库数量1 }}
</template>
@@ -376,13 +374,13 @@
</template>
</el-table-column>
</el-table>
<el-button slot="reference" type="primary" size="mini" icon="el-icon-search" plain @click="searchTable02(scope.row)">查看详情</el-button>
<el-button slot="reference" type="primary" size="mini" icon="el-icon-search" plain @click="searchTable02(scope.row)">领料详情</el-button>
</el-popover>
</template>
</el-table-column>
</el-table>
</div>
</el-card>
</el-card>
</div>
<el-dialog v-el-drag-dialog :visible.sync="dialogFormVisible1" title="创建领料单" center width="380px">
<el-form ref="form1" :model="form1" :rules="rules1" label-position="left">
@@ -417,6 +415,7 @@ export default {
return {
审批情况: '',
peopleName: '',
ListMX: '',
PartType: '基本件',
machineNumberValue: '',
machineNumber: [],
@@ -438,13 +437,13 @@ export default {
tableData1: [],
tableData2: [],
pageCurrent0: 1,
pageSize0: 20,
pageSize0: 300,
total0: 0,
pageCurrent1: 1,
pageSize1: 20,
pageSize1: 300,
total1: 0,
pageCurrent2: 1,
pageSize2: 20,
pageSize2: 300,
total2: 0,
pickListTable1: [],
pageCurrent3: 1,
@@ -481,7 +480,6 @@ export default {
},
mounted() {
this.fetchData()
this.searchTable()
this.searchList()
},
methods: {
@@ -550,67 +548,86 @@ export default {
})
},
tableRowClassName({ row }) {
return '.warning-row'
// if (row.是否审批 === 1) {
// return '.warning-row'
// } else {
// return ''
// }
if (parseInt(row.是否审批) === 1) {
return 'shenpi-row'
} else {
return ''
}
},
selectable(row, index) { // 控制某行是否可选
console.log(row)
return row.领料单编号 === null // 未采购&&确认物料修改
},
selectable1(row) {
return row.领用数量 !== 0
},
// 查三表
searchTable() {
this.multipleSelection = []
this.multipleSelection1 = []
if (this.PartType === '标准件') {
this.searchTable0()
} else if (this.PartType === '外购件') {
this.searchTable1()
} else if (this.PartType === '基本件') {
this.searchTable2()
} else if (this.PartType === '离线采购件') {
this.searchTable4()
if (this.machineNumberValue !== '' && this.machineNumberValue !== null) {
this.multipleSelection = []
this.multipleSelection1 = []
if (this.PartType === '标准件') {
this.searchTable0()
} else if (this.PartType === '外购件') {
this.searchTable1()
} else if (this.PartType === '基本件') {
this.searchTable2()
} else if (this.PartType === '离线采购件') {
this.searchTable4()
}
} else {
this.$message.warning('请选择机床后再查询')
}
},
// 标准件
searchTable0() {
let check1, check2, check3, check4, check5
let check1, check2, check3, check4, check5, check6
this.machineNumberValue ? check1 = 1 : check1 = 0
this.groupNumberValue ? check2 = 1 : check2 = 0
this.Name ? check3 = 1 : check3 = 0
this.materialModel ? check4 = 1 : check4 = 0
this.materialSpec ? check5 = 1 : check5 = 0
searchTable(check1, this.machineNumberValue, check2, this.groupNumberValue, check3, this.Name, check4, this.materialModel, check5, this.materialSpec, this.pageCurrent0, this.pageSize0, 1).then(response => {
console.log(response.data.rows)
if (this.PickingValue !== 0 && this.PickingValue !== 1) {
check6 = 0
} else {
check6 = 1
}
searchTable(check1, this.machineNumberValue, check2, this.groupNumberValue, check3, this.Name, check4, this.materialModel, check5, this.materialSpec, check6, this.PickingValue, this.pageCurrent0, this.pageSize0, 1).then(response => {
this.tableData0 = response.data.rows
this.total0 = response.data.total
})
},
// 外购件
searchTable1() {
let check1, check2, check3, check4, check5
let check1, check2, check3, check4, check5, check6
this.machineNumberValue ? check1 = 1 : check1 = 0
this.groupNumberValue ? check2 = 1 : check2 = 0
this.Name ? check3 = 1 : check3 = 0
this.materialModel ? check4 = 1 : check4 = 0
this.materialSpec ? check5 = 1 : check5 = 0
searchTable(check1, this.machineNumberValue, check2, this.groupNumberValue, check3, this.Name, check4, this.materialModel, check5, this.materialSpec, this.pageCurrent1, this.pageSize1, 2).then(response => {
if (this.PickingValue !== 0 && this.PickingValue !== 1) {
check6 = 0
} else {
check6 = 1
}
searchTable(check1, this.machineNumberValue, check2, this.groupNumberValue, check3, this.Name, check4, this.materialModel, check5, this.materialSpec, check6, this.PickingValue, this.pageCurrent1, this.pageSize1, 2).then(response => {
this.tableData1 = response.data.rows
this.total1 = response.data.total
})
},
// 基本件
searchTable2() {
let check1, check2, check3, check4, check5
let check1, check2, check3, check4, check5, check6
this.machineNumberValue ? check1 = 1 : check1 = 0
this.groupNumberValue ? check2 = 1 : check2 = 0
this.Name ? check3 = 1 : check3 = 0
this.materialModel ? check4 = 1 : check4 = 0
this.materialSpec ? check5 = 1 : check5 = 0
searchTable(check1, this.machineNumberValue, check2, this.groupNumberValue, check3, this.Name, check4, this.materialModel, check5, this.materialSpec, this.pageCurrent2, this.pageSize2, 3).then(response => {
if (this.PickingValue !== 0 && this.PickingValue !== 1) {
check6 = 0
} else {
check6 = 1
}
searchTable(check1, this.machineNumberValue, check2, this.groupNumberValue, check3, this.Name, check4, this.materialModel, check5, this.materialSpec, check6, this.PickingValue, this.pageCurrent2, this.pageSize2, 3).then(response => {
this.tableData2 = response.data.rows
this.total2 = response.data.total
})
@@ -779,7 +796,6 @@ export default {
// 多选
handleSelectionChange1(val) {
this.multipleSelection1 = val
console.log(val, 111)
},
// 选入
selectInto() {
@@ -846,7 +862,6 @@ export default {
},
// 查看领料单明细
clickList(row) {
console.log(row)
row ? this.审批情况 = row.是否审批 : this.审批情况
row ? this.pickingListNum = row.领料单流水号 : this.pickingListNum
row ? this.pickingListNumberShow = row.领料单编号 : this.pickingListNumberShow
@@ -855,15 +870,17 @@ export default {
this.pickListTable2 = res.data
})
},
searchMX(row) {
this.ListMX = row.领料单明细流水号
},
// 删除领料单明细
dropListDetail(row) {
console.log(row)
dropListDetail() {
this.$confirm('此操作将永久删除该行, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
dropListDetail(row.领料单明细流水号).then(response => {
dropListDetail(this.ListMX).then(response => {
if (Number(response.data[0].result) === 1) {
this.$message.success('删除成功')
this.searchTable()
@@ -897,10 +914,8 @@ export default {
margin: 0
}
</style>
<style lang="scss">
.shenpi{
.el-table .warning-row {
background: #55a532 !important;
}
<style>
.el-table .shenpi-row {
background: #9BD7FC !important;
}
</style>