备料到货

This commit is contained in:
zhangdingyu
2019-10-16 09:41:16 +08:00
parent 4b9aed7fe4
commit 991b04b903
2 changed files with 135 additions and 63 deletions

View File

@@ -1,27 +1,38 @@
import request from '@/utils/request' import request from '@/utils/request'
export function searchCailiao(name) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '备料管理_外购备料到货_材料查询',
param: `供应商=${name}`
}
})
}
// 查询采购单 // 查询采购单
export function searchPurchaseOrder(pageCurrent, pageSize, check1, num, check2, name) { export function searchPurchaseOrder(pageCurrent, pageSize, check1, num, check2, name, material) {
return request({ return request({
url: '', url: '',
method: 'post', method: 'post',
data: { data: {
type: '1', type: '1',
name: '备料管理_采购计划_查询数据_到货', name: '备料管理_采购计划_查询数据_到货',
param: `采购单号_check=${check1}&采购单号=${num}&供应商_check=${check2}&供应商=${name}`, param: `采购单号_check=${check1}&采购单号=${num}&供应商_check=${check2}&供应商=${name}&材料=${material}`,
Pagination: pageCurrent + '&' + pageSize Pagination: pageCurrent + '&' + pageSize
} }
}) })
} }
// 查询采购计划明细 // 查询采购计划明细
export function searchMateriel(num) { export function searchMateriel(num, num1) {
return request({ return request({
url: '', url: '',
method: 'post', method: 'post',
data: { data: {
type: '1', type: '1',
name: '备料管理_采购计划明细_查询数据_未选入', name: '备料管理_采购计划明细_查询数据_未选入',
param: `采购计划流水号=${num}` param: `采购计划流水号=${num}&材料=${num1}`
} }
}) })
} }
@@ -97,14 +108,14 @@ export function deleteArrivalMX(num) {
} }
}) })
} }
export function EditArrivalOrderMX(num, num1, num2, num3, num4, num5) { export function EditArrivalOrderMX(num, num2, num3, num4, num5) {
return request({ return request({
url: '', url: '',
method: 'post', method: 'post',
data: { data: {
type: '2', type: '2',
name: '备料管理_编辑到货单明细', name: '备料管理_编辑到货单明细',
param: `到货单明细流水号=${num}&材料=${num1}&数量=${num2}&单位=${num3}&单价=${num4}&金额=${num5}` param: `到货单明细流水号=${num}&数量=${num2}&单位=${num3}&单价=${num4}&金额=${num5}`
} }
}) })
} }

View File

@@ -168,7 +168,7 @@
</el-table-column> </el-table-column>
<el-table-column label="单件重量" align="center" width="150px"> <el-table-column label="单件重量" align="center" width="150px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input-number v-model="scope.row.单件重量" :step="1" size="mini" style="width:120px" @change="save(scope.$index, scope.row)"/> <el-input-number v-model="scope.row.单件重量" :step="1" :min="0" size="mini" style="width:120px" @change="save(scope.$index, scope.row)"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="总重量" align="center" prop="总重量"> <el-table-column label="总重量" align="center" prop="总重量">
@@ -246,8 +246,14 @@
<el-dialog v-el-drag-dialog :title="title1" :visible.sync="dialogVisible1" center style="min-height: 200px" width="430px"> <el-dialog v-el-drag-dialog :title="title1" :visible.sync="dialogVisible1" center style="min-height: 200px" width="430px">
<el-form ref="form1" :model="form1" :rules="rules1" label-position="right" label-width="120px"> <el-form ref="form1" :model="form1" :rules="rules1" label-position="right" label-width="120px">
<el-row> <el-row>
<el-form-item label="材料" prop="材料"> <el-form-item v-show="title1==='添加到货明细'" label="材料" prop="CailiaoValue">
<el-input v-model="form1.材料" size="small"/> <el-select v-model="form1.CailiaoValue" placeholder="材料" size="small" filterable>
<el-option
v-for="item in Cailiao"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <el-row>
@@ -274,8 +280,9 @@
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button <el-button
v-show="title1==='添加到货明细'" v-show="title1==='添加到货明细'"
type="primary" type="warning"
size="small" size="small"
plain
icon="el-icon-check" icon="el-icon-check"
@click="submitAddArrivalOrderMX">保存</el-button> @click="submitAddArrivalOrderMX">保存</el-button>
<el-button <el-button
@@ -301,6 +308,8 @@
<el-tooltip :open-delay="1200" effect="dark" content="查询采购计划单" placement="top"> <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-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-tooltip>
<span style="font-size: 15px;margin-left: 10px;font-weight: bold">材料:</span><span>{{ 材料111 }}</span>
<span style="font-size: 15px;margin-left: 10px;font-weight: bold">材料数量:</span><span>{{ 材料数量 }}</span>
</div> </div>
<el-table v-loading="" :data="tableData2" border stripe style="max-height: 460px;" height="230px" size="mini" highlight-current-row @row-click="searchTable3"> <el-table v-loading="" :data="tableData2" border stripe style="max-height: 460px;" height="230px" size="mini" highlight-current-row @row-click="searchTable3">
<el-table-column label="采购计划单号" align="center"> <el-table-column label="采购计划单号" align="center">
@@ -391,21 +400,28 @@
</template> </template>
<script> <script>
import { searchPurchaseOrder, searchMateriel, addMateriel, searchArriveOrder, addPurchaseOrder, editPurchaseOrder, deletePurchaseOrder, saveWeight, searchTable5, searchSupplier, deleteArrivalMX, EditArrivalOrderMX, AddArrivalOrderMX, deleteMateriel, searchTable6 } from '@/api/WorkshopProcurement/NewArrivalList.js' import { searchCailiao, searchPurchaseOrder, searchMateriel, addMateriel, searchArriveOrder, addPurchaseOrder, editPurchaseOrder, deletePurchaseOrder, saveWeight, searchTable5, searchSupplier, deleteArrivalMX, EditArrivalOrderMX, AddArrivalOrderMX, deleteMateriel, searchTable6 } from '@/api/WorkshopProcurement/NewArrivalList.js'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
export default { export default {
data() { data() {
return { return {
Cailiao: [],
purchasingOrder: '', purchasingOrder: '',
ArrivalOrderNumber: '', ArrivalOrderNumber: '',
ArrivalOrderMXNumber: '', ArrivalOrderMXNumber: '',
supplierName0: '', supplierName0: '',
arrest: [], arrest: [],
check: 0, check: 0,
材料111: '',
Name: '', Name: '',
单价: '', 单价: '',
数量: '',
SUM: 0,
ALLMoney: '', ALLMoney: '',
材料数量: '',
材料名称: '',
未绑定数量: '',
tableData2: [], tableData2: [],
total2: 0, total2: 0,
pageCurrent2: 1, pageCurrent2: 1,
@@ -420,12 +436,14 @@ export default {
tableData5: [], tableData5: [],
到货单流水号: '', 到货单流水号: '',
dateRange: '', dateRange: '',
中间变量: '',
form: { form: {
备注: '', 备注: '',
日期: '', 日期: '',
supplierNameValue: '' supplierNameValue: ''
}, },
form1: { form1: {
CailiaoValue: '',
材料: '', 材料: '',
数量: '', 数量: '',
单位: 'KG', 单位: 'KG',
@@ -444,7 +462,7 @@ export default {
日期: [{ required: true, message: '请选择日期' }] 日期: [{ required: true, message: '请选择日期' }]
}, },
rules1: { rules1: {
材料: [{ required: true, message: '请填写材料' }], CailiaoValue: [{ required: true, message: '请选择材料' }],
数量: [{ required: true, message: '请填写数量' }], 数量: [{ required: true, message: '请填写数量' }],
单位: [{ required: true, message: '请填写单位' }], 单位: [{ required: true, message: '请填写单位' }],
单价: [{ required: true, message: '请填写单价' }] 单价: [{ required: true, message: '请填写单价' }]
@@ -466,10 +484,21 @@ export default {
this.searchTable4() this.searchTable4()
}, },
methods: { methods: {
searchCailiao() {
this.Cailiao = []
searchCailiao(this.供应商111).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.Cailiao.push({
value: response.data[i].材料,
label: response.data[i].材料
})
}
})
},
searchTable2() { // 查询采购单列表 searchTable2() { // 查询采购单列表
this.purchasingOrder ? this.check3 = 1 : this.check3 = 0 this.purchasingOrder ? this.check3 = 1 : this.check3 = 0
this.supplierName0 ? this.check4 = 1 : this.check4 = 0 this.supplierName0 ? this.check4 = 1 : this.check4 = 0
searchPurchaseOrder(this.pageCurrent2, this.pageSize2, this.check3, this.purchasingOrder, this.check4, this.supplierName0).then(response => { searchPurchaseOrder(this.pageCurrent2, this.pageSize2, this.check3, this.purchasingOrder, this.check4, this.supplierName0, this.材料111).then(response => {
this.tableData2 = response.data.rows this.tableData2 = response.data.rows
this.total2 = response.data.total this.total2 = response.data.total
}) })
@@ -484,7 +513,7 @@ export default {
}, },
searchTable3(row) { // 查询采购计划明细 searchTable3(row) { // 查询采购计划明细
this.采购计划流水号 = row.采购计划流水号 this.采购计划流水号 = row.采购计划流水号
searchMateriel(this.采购计划流水号).then(response => { searchMateriel(this.采购计划流水号, this.材料111).then(response => {
this.tableData3 = response.data this.tableData3 = response.data
}) })
}, },
@@ -536,7 +565,12 @@ export default {
const { columns, data } = param const { columns, data } = param
const sums = [] const sums = []
columns.forEach((column, index) => { columns.forEach((column, index) => {
if (index === 5) { if (index === 3) {
sums[index] = '未绑定数量:'
return
} else if (index === 4) {
sums[index] = this.未绑定数量
} if (index === 5) {
sums[index] = '总重量:' sums[index] = '总重量:'
return return
} else if (index === 6) { } else if (index === 6) {
@@ -586,19 +620,35 @@ export default {
}) })
}, },
save(index, row) { save(index, row) {
this.SUM = 0
this.allWeight = parseInt(row.批次数量 * row.单件重量 * 100) / 100 this.allWeight = parseInt(row.批次数量 * row.单件重量 * 100) / 100
this.ALLMoney = parseInt(this.allWeight * this.单价 * 100) / 100 this.ALLMoney = parseInt(this.allWeight * this.单价 * 100) / 100
saveWeight(row.采购计划明细流水号, row.单件重量, this.allWeight, this.ALLMoney).then(response => { for (let i = 0; i < this.tableData6.length; i++) {
console.log(response) this.SUM += parseFloat(this.tableData6[i].单件重量) * parseFloat(this.tableData6[i].批次数量)
if (response.data[0].result === '1') { }
this.$message.success('录入成功') if (this.数量 - this.SUM < 0) {
searchTable6(this.ArrivalOrderMXNumber).then(response => { this.$message.warning('总重量已超出上限')
this.tableData6 = response.data searchTable6(this.ArrivalOrderMXNumber).then(response => {
}) this.tableData6 = response.data
} else { if (response.data.length !== 0) {
this.$message.error('录入失败') this.未绑定数量 = response.data[0].未绑定数量
} }
}) })
} else {
saveWeight(row.采购计划明细流水号, row.单件重量, this.allWeight, this.ALLMoney).then(response => {
if (response.data[0].result === '1') {
this.$message.success('录入成功')
searchTable6(this.ArrivalOrderMXNumber).then(response => {
this.tableData6 = response.data
if (response.data.length !== 0) {
this.未绑定数量 = response.data[0].未绑定数量
}
})
} else {
this.$message.error('录入失败')
}
})
}
}, },
Calculation() { Calculation() {
this.form1.金额 = this.form1.单价 * this.form1.数量 this.form1.金额 = this.form1.单价 * this.form1.数量
@@ -699,6 +749,7 @@ export default {
searchTable5(row) { searchTable5(row) {
this.tableData6 = [] this.tableData6 = []
this.到货单流水号 = row.到货单流水号 this.到货单流水号 = row.到货单流水号
this.ArrivalOrderNumber = row.到货单流水号
searchTable5(this.到货单流水号).then(response => { searchTable5(this.到货单流水号).then(response => {
this.tableData5 = response.data this.tableData5 = response.data
}) })
@@ -707,8 +758,10 @@ export default {
if (this.$refs['form1'] !== undefined) { if (this.$refs['form1'] !== undefined) {
this.$refs['form1'].resetFields() this.$refs['form1'].resetFields()
} }
this.供应商111 = row.供应商流水号
this.searchCailiao()
this.title1 = '添加到货明细' this.title1 = '添加到货明细'
this.form1.材料 = '' this.form1.CailiaoValue = ''
this.form1.数量 = '' this.form1.数量 = ''
this.form1.单价 = '' this.form1.单价 = ''
this.form1.金额 = '' this.form1.金额 = ''
@@ -716,46 +769,42 @@ export default {
this.dialogVisible1 = true this.dialogVisible1 = true
}, },
submitAddArrivalOrderMX() { submitAddArrivalOrderMX() {
this.form1.金额 = this.form1.数量 * this.form1.单价 if (this.form1.数量 > 0) {
this.$refs['form1'].validate((valid) => { this.form1.金额 = this.form1.数量 * this.form1.单价
if (valid) { this.$refs['form1'].validate((valid) => {
AddArrivalOrderMX(this.ArrivalOrderNumber, this.form1.材料, this.form1.数量, this.form1.单位, this.form1.单价, this.form1.金额).then(response => { if (valid) {
if (response.data[0].result === '1') { AddArrivalOrderMX(this.ArrivalOrderNumber, this.form1.CailiaoValue, this.form1.数量, this.form1.单位, this.form1.单价, this.form1.金额).then(response => {
this.$message.success('新增到货材料成功') if (response.data[0].result === '1') {
searchTable5(this.ArrivalOrderNumber).then(response => { this.$message.success('新增到货材料成功')
this.tableData5 = response.data searchTable5(this.ArrivalOrderNumber).then(response => {
}) this.tableData5 = response.data
this.dialogVisible1 = false })
} else { this.$message.error('新建到货单失败') } // this.dialogVisible1 = false
}) } else { this.$message.error('新建到货单失败') }
} else { })
return false } else {
} return false
}) }
})
} else {
this.$message.error('数量不能为0')
}
}, },
submitAddArrivalOrderMX1() { submitAddArrivalOrderMX1() {
this.form1.金额 = this.form1.数量 * this.form1.单价 this.searchCailiao()
this.$refs['form1'].validate((valid) => { this.form1.CailiaoValue = ''
if (valid) { this.form1.数量 = ''
AddArrivalOrderMX(this.ArrivalOrderNumber, this.form1.材料, this.form1.数量, this.form1.单位, this.form1.单价, this.form1.金额).then(response => { this.form1.单价 = ''
if (response.data[0].result === '1') { this.form1.金额 = ''
this.$message.success('新增到货材料成功')
searchTable5(this.ArrivalOrderNumber).then(response => {
this.tableData5 = response.data
})
} else { this.$message.error('新建到货单失败') }
})
} else {
return false
}
})
}, },
editArrivalMX(row) { editArrivalMX(row) {
if (this.$refs['form1'] !== undefined) { if (this.$refs['form1'] !== undefined) {
this.$refs['form1'].resetFields() this.$refs['form1'].resetFields()
} }
this.供应商111 = row.供应商流水号
this.searchCailiao()
this.title1 = '编辑到货明细' this.title1 = '编辑到货明细'
this.form1.材料 = row.材料 // this.form1.CailiaoValue = row.材料
this.form1.数量 = row.数量 this.form1.数量 = row.数量
this.form1.单位 = row.单位 this.form1.单位 = row.单位
this.form1.单价 = row.单价 this.form1.单价 = row.单价
@@ -764,10 +813,11 @@ export default {
this.dialogVisible1 = true this.dialogVisible1 = true
}, },
submitEditArrivalOrderMX() { submitEditArrivalOrderMX() {
this.form1.CailiaoValue = '1'
this.form1.金额 = this.form1.数量 * this.form1.单价 this.form1.金额 = this.form1.数量 * this.form1.单价
this.$refs['form1'].validate((valid) => { this.$refs['form1'].validate((valid) => {
if (valid) { if (valid) {
EditArrivalOrderMX(this.ArrivalOrderMXNumber, this.form1.材料, this.form1.数量, this.form1.单位, this.form1.单价, this.form1.金额).then(response => { EditArrivalOrderMX(this.ArrivalOrderMXNumber, this.form1.数量, this.form1.单位, this.form1.单价, this.form1.金额).then(response => {
if (response.data[0].result === '1') { if (response.data[0].result === '1') {
this.$message.success('编辑到货材料成功') this.$message.success('编辑到货材料成功')
searchTable5(this.ArrivalOrderNumber).then(response => { searchTable5(this.ArrivalOrderNumber).then(response => {
@@ -805,19 +855,26 @@ export default {
searchTable6(row) { searchTable6(row) {
this.ArrivalOrderMXNumber = row.到货单明细流水号 this.ArrivalOrderMXNumber = row.到货单明细流水号
this.单价 = row.单价 this.单价 = row.单价
this.数量 = row.数量
searchTable6(this.ArrivalOrderMXNumber).then(response => { searchTable6(this.ArrivalOrderMXNumber).then(response => {
this.tableData6 = response.data this.tableData6 = response.data
if (response.data.length !== 0) {
this.中间变量 = response.data[0].单件重量
this.未绑定数量 = response.data[0].未绑定数量
}
}) })
}, },
addArrivalCL(row) { addArrivalCL(row) {
this.材料111 = row.材料
this.材料数量 = row.数量
this.supplierName0 = row.供应商流水号 this.supplierName0 = row.供应商流水号
this.ArrivalOrderMXNumber = row.到货单明细流水号 this.ArrivalOrderMXNumber = row.到货单明细流水号
this.tableData3 = []
this.dialogVisible2 = true this.dialogVisible2 = true
this.searchTable2() this.searchTable2()
}, },
handleSelectionChange(val) { handleSelectionChange(val) {
this.arrest = val this.arrest = val
console.log(val)
}, },
// 选入 // 选入
addMateriel() { addMateriel() {
@@ -835,12 +892,14 @@ export default {
addMateriel(this.ArrivalOrderMXNumber, this.工艺计划流水号组, this.采购计划明细流水号组).then(response => { addMateriel(this.ArrivalOrderMXNumber, this.工艺计划流水号组, this.采购计划明细流水号组).then(response => {
if (response.data[0].result === '1') { if (response.data[0].result === '1') {
this.$message.success('关联成功') this.$message.success('关联成功')
this.dialogVisible2 = false
searchMateriel(this.采购计划流水号).then(response => { searchMateriel(this.采购计划流水号).then(response => {
this.tableData3 = response.data this.tableData3 = response.data
}) })
searchTable6(this.ArrivalOrderMXNumber).then(response => { searchTable6(this.ArrivalOrderMXNumber).then(response => {
this.tableData6 = response.data this.tableData6 = response.data
if (response.data.length !== 0) {
this.未绑定数量 = response.data[0].未绑定数量
}
}) })
} else { this.$message.error('关联失败') } } else { this.$message.error('关联失败') }
}) })
@@ -852,12 +911,14 @@ export default {
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
console.log(row)
deleteMateriel(row.到货单明细绑定流水号, row.采购计划明细流水号).then(response => { deleteMateriel(row.到货单明细绑定流水号, row.采购计划明细流水号).then(response => {
if (response.data[0].result === '1') { if (response.data[0].result === '1') {
this.$message.success('取消成功') this.$message.success('取消成功')
searchTable6(this.ArrivalOrderMXNumber).then(response => { searchTable6(this.ArrivalOrderMXNumber).then(response => {
this.tableData6 = response.data this.tableData6 = response.data
if (response.data.length !== 0) {
this.未绑定数量 = response.data[0].未绑定数量
}
}) })
} else { this.$message.error('取消失败') } } else { this.$message.error('取消失败') }
}) })