20200204创建外购计划,备料分配,外购备料请款界面修改

This commit is contained in:
liulujia@meswork.com
2020-02-05 08:49:01 +08:00
parent abc24b9120
commit a8f4599c8b
15 changed files with 570 additions and 232 deletions

View File

@@ -16,27 +16,27 @@
{{ scope.row.机床图号 }}
</template>
</el-table-column>
<el-table-column label="组号" prop="组号" width="65" align="center">
<el-table-column label="组号" prop="组号" width="55" align="center">
<template slot-scope="scope">
{{ scope.row.组号 }}
</template>
</el-table-column>
<el-table-column label="零件图号" prop="零件图号" min-width="120" align="center">
<el-table-column label="零件图号" prop="零件图号" min-width="120" width="155" align="center" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.零件图号 }}
</template>
</el-table-column>
<el-table-column label="零件名称" prop="零件名称" width="100" align="center">
<el-table-column label="零件名称" prop="零件名称" width="110" align="center" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.零件名称 }}
</template>
</el-table-column>
<el-table-column label="数量" width="50" align="center">
<el-table-column label="数量" width="45" align="center">
<template slot-scope="scope">
{{ scope.row.批次数量 }}
</template>
</el-table-column>
<el-table-column label="材料" prop="材料" width="85" align="center">
<el-table-column label="材料" prop="材料" width="85" align="center" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.材料 }}
</template>
@@ -57,7 +57,7 @@
<el-card style="margin-left: 10px;width: 62.3%;float: left">
<div> <!--slot="header"-->
<el-input v-model="purchasingOrder" placeholder="采购计划单号" size="small" style="margin: 3px 0;width: 155px" clearable @keyup.enter.native="pageCurrent2=1;pageSize2=10;total2=0;searchTable2()"/>
<!--<el-input v-model="purchasingOrder" placeholder="采购计划单号" size="small" style="margin: 3px 0;width: 155px" clearable @keyup.enter.native="pageCurrent2=1;pageSize2=10;total2=0;searchTable2()"/>-->
<el-select v-model="supplierName0" placeholder="供应商" size="small" filterable clearable @change="pageCurrent2=1;pageSize2=10;total2=0;searchTable2()">
<el-option
v-for="item in supplierName0s"
@@ -65,20 +65,34 @@
:label="item.label"
:value="item.value"/>
</el-select>
<span>日期</span>
<el-date-picker
v-model="dateRange"
:picker-options="pickerOptions"
size="small"
type="daterange"
align="center"
style="width: 300px;margin: 3px 0"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"/>
<!--<el-input v-model="supplierName0" placeholder="供应商" size="small" clearable/>-->
<!--<el-tooltip :open-delay="1200" effect="dark" content="查询采购计划单" placement="top">-->
<!--<el-button type="success" size="small" icon="el-icon-search" style="margin-left: 10px" @click="pageCurrent2=1;pageSize2=10;total2=0;searchTable2()">查询</el-button>-->
<!--</el-tooltip>-->
<el-button type="success" size="small" icon="el-icon-search" style="margin-left: 10px" @click="searchTable2">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-plus" style="margin-left: 10px" @click="addPurchaseOrder">新增</el-button>
<el-tooltip :open-delay="1200" effect="dark" content="向选择的采购计划里添加采购零件" placement="top">
<el-button type="success" size="small" icon="el-icon-download" style="margin-left: 10px" @click="addMateriel">选入</el-button>
</el-tooltip>
<el-tooltip :open-delay="1200" effect="dark" content="保存选中的采购计划单" placement="top">
<el-button type="baocun" size="small" icon="el-icon-download" style="margin-left: 10px" @click="saveMateriel">保存</el-button>
<el-button type="baocun" size="small" icon="el-icon-download" style="margin-left: 50px" @click="saveMateriel">保存</el-button>
</el-tooltip>
</div>
<el-table v-loading="" :data="tableData2" border stripe style="max-height: 460px;" height="200px" size="mini" highlight-current-row @row-click="searchTable3">
<el-table-column label="采购状态" prop="采购计划状态" align="center" width="75" fixed="left">
<el-table-column label="备料状态" prop="采购计划状态" align="center" width="75" fixed="left">
<template slot-scope="scope">
<el-tag v-if="Number(scope.row.采购计划状态)===0" type="warning" size="mini">编辑中</el-tag>
<el-tag v-if="Number(scope.row.采购计划状态)===1" type="primary" size="mini">已保存</el-tag>
@@ -86,22 +100,22 @@
<el-tag v-if="Number(scope.row.采购计划状态)===4" type="info" size="mini">已结算</el-tag>
</template>
</el-table-column>
<el-table-column label="采购计划单号" prop="采购单号" align="center" width="140">
<el-table-column label="外购备料单号" prop="采购单号" align="center" width="120">
<template slot-scope="scope">
{{ scope.row.采购单号 }}
</template>
</el-table-column>
<el-table-column label="采购计划单名称" prop="采购单名称" align="center" width="130">
<el-table-column label="采购计划单名称" prop="采购单名称" align="center" width="120">
<template slot-scope="scope">
{{ scope.row.采购单名称 }}
</template>
</el-table-column>
<el-table-column label="供应商" prop="供应商名称" align="center" min-width="200" show-overflow-tooltip>
<el-table-column label="供应商" prop="供应商名称" align="center" min-width="200" width="200" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.供应商名称 }}
</template>
</el-table-column>
<el-table-column label="采购员" prop="姓名" align="center" width="70">
<el-table-column label="采购员" prop="姓名" align="center" width="90">
<template slot-scope="scope">
{{ scope.row.姓名 }}
</template>
@@ -111,8 +125,13 @@
{{ scope.row.计划完成日期.split(' ')[0] }}
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="250" fixed="right">
<el-table-column label="操作" align="center" width="330" fixed="right">
<template slot-scope="scope">
<el-tooltip :open-delay="1200" effect="dark" content="导出" placement="top">
<div style="display: inline-block">
<el-button size="mini" type="success" plain icon="el-icon-download" @click="exportExcel2(scope.row)">导出</el-button>
</div>
</el-tooltip>
<el-tooltip :open-delay="1200" effect="dark" content="打印" placement="top">
<div style="display: inline-block">
<el-button size="mini" type="success" plain icon="el-icon-printer" @click="exportExcel(scope.row)">打印</el-button>
@@ -131,26 +150,26 @@
</template>
</el-table-column>
</el-table>
<div class="block">
<el-pagination
:current-page="pageCurrent2"
:page-sizes="[10, 20, 30, 40]"
:page-size="pageSize2"
:total="total2"
style="display:inline-block;width:40%;float: right"
layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange2"
@current-change="handleCurrentChange2"/>
</div>
<!--<div class="block">-->
<!--<el-pagination-->
<!--:current-page="pageCurrent2"-->
<!--:page-sizes="[10, 20, 30, 40]"-->
<!--:page-size="pageSize2"-->
<!--:total="total2"-->
<!--style="display:inline-block;width:40%;float: right;margin-right: 60px"-->
<!--layout="total, sizes, prev, pager, next, jumper"-->
<!--@size-change="handleSizeChange2"-->
<!--@current-change="handleCurrentChange2"/>-->
<!--</div>-->
<el-table v-loading="" :data="tableData3" border highlight-current-row stripe style="margin: 3px 0" height="455px" size="mini">
<el-table-column label="采购状态" align="center" width="80">
<el-table-column label="备料状态" align="center" width="80">
<template slot-scope="scope">
<el-tag v-if="Number(scope.row.是否到货)===0" type="warning" size="mini">未到货</el-tag>
<el-tag v-if="Number(scope.row.是否到货)===1" type="success" size="mini">已到货</el-tag>
<el-tag v-if="Number(scope.row.是否到货)===2" type="info" size="mini">已结算</el-tag>
</template>
</el-table-column>
<el-table-column label="物料编码" prop="物料零件编码" align="center" width="140">
<el-table-column label="物料编码" prop="物料零件编码" align="center" width="150" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.物料零件编码 }}
</template>
@@ -185,11 +204,11 @@
<el-input :disabled="parseInt(scope.row.是否到货)===1 || parseInt(scope.row.是否到货)===2" v-model="scope.row.备注1" size="mini" style="width:100%" @change="saveRemarks(scope.$index, scope.row)"/>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="110px" fixed="right">
<el-table-column label="操作" align="center" width="90px" fixed="right">
<template slot-scope="scope">
<el-tooltip :open-delay="1000" effect="dark" content="物料移出" placement="top">
<el-tooltip :open-delay="1000" effect="dark" content="移出" placement="top">
<div style="display: inline-block">
<el-button :disabled="parseInt(scope.row.是否到货)===1 || parseInt(scope.row.是否到货)===2" type="info" size="mini" icon="el-icon-right" plain @click="deleteMateriel(scope.row)">物料移出</el-button>
<el-button :disabled="parseInt(scope.row.是否到货)===1 || parseInt(scope.row.是否到货)===2" type="info" size="mini" icon="el-icon-right" plain @click="deleteMateriel(scope.row)">移出</el-button>
</div>
</el-tooltip>
</template>
@@ -312,6 +331,35 @@ export default {
name: '', // 采购计划
data() {
return {
dateRange: '',
checktime: '',
pickerOptions: {
shortcuts: [{
text: '上季度',
onClick(picker) {
const end = new Date()
const start = new Date()
start.setTime(end.getTime() - 3600 * 1000 * 24 * 30 * 3)
picker.$emit('pick', [start, end])
}
}, {
text: '过去半年',
onClick(picker) {
const end = new Date()
const start = new Date()
start.setTime(end.getTime() - 3600 * 1000 * 24 * 366 / 2)
picker.$emit('pick', [start, end])
}
}, {
text: '过去一年',
onClick(picker) {
const end = new Date()
const start = new Date()
start.setTime(end.getTime() - 3600 * 1000 * 24 * 365)
picker.$emit('pick', [start, end])
}
}]
},
RawMaterialGroup: [],
RawMaterialName: '',
tableData: [],
@@ -392,6 +440,7 @@ export default {
Remarks: [], // 备注组
tableData4: [], // 合同模板
采购计划状态: '',
采购计划状态2: '',
paramRow: '' // 参数row
}
},
@@ -406,7 +455,7 @@ export default {
created() {
this.searchRawMaterial()
this.searchTable1()
this.searchTable2()
// this.searchTable2()
},
methods: {
// 获取原材料
@@ -525,9 +574,10 @@ export default {
searchTable2() { // 查询采购单列表
this.purchasingOrder ? this.check3 = 1 : this.check3 = 0
this.supplierName0 ? this.check4 = 1 : this.check4 = 0
searchPurchaseOrder(this.pageCurrent2, this.pageSize2, this.check3, this.purchasingOrder, 0, 0, this.check4, this.supplierName0).then(response => {
this.tableData2 = response.data.rows
this.total2 = response.data.total
this.dateRange ? this.checktime = 1 : (this.checktime = 0, this.dateRange = '')
searchPurchaseOrder(this.check3, this.purchasingOrder, 0, 0, this.check4, this.supplierName0, this.checktime, this.dateRange[0], this.dateRange[1]).then(response => {
this.tableData2 = response.data
// this.total2 = response.data.total
})
},
handleSizeChange2(val) { // 采购单列表分页
@@ -614,6 +664,34 @@ export default {
})
})
},
formatJson(filterVal, jsonData) {
return jsonData.map(v => filterVal.map(j => {
return v[j]
}))
},
exportExcel2(row) {
this.searchTable3(row).then(val => {
console.log(val)
console.log(this.tableData4)
if (this.tableData4.length !== 0) {
import('@/vendor/Export2Excel').then(excel => {
const tHeader = ['备料状态', '物料编码', '零件名称', '材料', '数量', '成品尺寸', '单位', '备注']
const filterVal = ['备料状态', '物料零件编码', '零件名称', '材料', '采购数量', '成品尺寸', '备注1']
const list = this.tableData4
const data = this.formatJson(filterVal, list)
excel.export_json_to_excel({
header: tHeader,
data,
filename: '详情',
autoWidth: true,
bookType: 'xlsx'
})
})
} else {
this.$message.warning('没有导出内容')
}
})
},
searchTable3(row) { // 查询采购计划明细
this.purchasingOrderNumber = row.采购计划流水号
this.采购单名称 = row.采购单名称
@@ -627,8 +705,8 @@ export default {
})
searchMateriel1(this.purchasingOrderNumber).then(response => {
this.tableData3 = response.data
console.log(response.data)
})
return Promise.resolve(/* 这里是需要返回的数据*/)
},
addMateriel() { // 将材料选入请购单
if (!this.purchasingOrderNumber) {