This commit is contained in:
liushuai
2019-10-09 19:08:24 +08:00
parent 86989987e2
commit 61413afd91
13 changed files with 443 additions and 345 deletions

View File

@@ -31,11 +31,11 @@
<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="pageCurrent1=1;pageSize1=10;total1=0;searchTable1()">查询</el-button>
</el-tooltip>
<el-tooltip :open-delay="1200" effect="dark" content="向选择的采购里添加采购零件" placement="top">
<el-button type="primary" size="small" icon="el-icon-download" style="margin-left: 10px" @click="addMateriel">选入</el-button>
<el-tooltip :open-delay="1200" effect="dark" content="向选择的采购计划里添加采购零件" placement="top">
<el-button type="primary" 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="danger" size="small" icon="el-icon-download" style="margin-left: 10px" @click="back">打回</el-button>
<el-button type="danger" size="small" icon="el-icon-download" style="margin-left: 10px" @click="back">打回重新分配</el-button>
</el-tooltip>
<el-table v-loading="loading1" :data="tableData1" border stripe highlight-current-row style="width: 100%;margin-top:3px;" height="330" size="mini" @selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="55"/>
@@ -75,16 +75,16 @@
<el-card>
<div> <!--slot="header"-->
<span>采购单号:</span>
<el-input v-model="purchasingOrder" placeholder="采购单号" size="small" style="margin: 3px 0" clearable/>
<span>采购计划单号:</span>
<el-input v-model="purchasingOrder" placeholder="采购计划单号" size="small" style="margin: 3px 0" clearable/>
<span style="margin-left: 10px">供应商:</span>
<el-input v-model="supplierName0" placeholder="供应商" size="small" clearable/>
<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-tooltip>
<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="baocun" size="small" icon="el-icon-download" style="margin-left: 10px" @click="saveMateriel">保存</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="baocun" size="small" icon="el-icon-download" style="margin-left: 10px" @click="saveMateriel">保存采购计划单</el-button>
</el-tooltip>
</div>
<el-table v-loading="" :data="tableData2" border stripe style="max-height: 460px;" height="230px" size="mini" highlight-current-row @row-click="searchTable3">
@@ -95,12 +95,12 @@
<el-tag v-if="Number(scope.row.采购计划状态)===2" type="success" size="mini">已导出</el-tag>
</template>
</el-table-column>
<el-table-column label="采购单号" align="center" min-width="170">
<el-table-column label="采购计划单号" align="center" min-width="170">
<template slot-scope="scope">
{{ scope.row.采购单号 }}
</template>
</el-table-column>
<el-table-column label="采购单名称" align="center" min-width="170">
<el-table-column label="采购计划单名称" align="center" min-width="170">
<template slot-scope="scope">
{{ scope.row.采购单名称 }}
</template>
@@ -127,19 +127,19 @@
</el-table-column>
<el-table-column label="操作" align="center" width="150" fixed="right">
<template slot-scope="scope">
<el-tooltip effect="dark" content="编辑" placement="top">
<el-tooltip :open-delay="600" effect="dark" content="编辑" placement="top">
<div style="display: inline-block">
<el-button :disabled="parseInt(scope.row.采购计划状态)===2" type="text" size="mini" icon="el-icon-edit-outline" @click="editPurchaseOrder(scope.row)"/>
</div>
</el-tooltip>
<el-tooltip effect="dark" content="删除" placement="top">
<el-tooltip :open-delay="600" effect="dark" content="删除" placement="top">
<div style="display: inline-block">
<el-button :disabled="parseInt(scope.row.采购计划状态)===2" type="text" size="mini" style="margin-left: 20px" icon="el-icon-delete" @click="deletePurchaseOrder(scope.row)"/>
</div>
</el-tooltip>
<el-tooltip effect="dark" content="导出打印采购计划" placement="top">
<el-tooltip :open-delay="600" effect="dark" content="打印采购计划" placement="top">
<div style="display: inline-block">
<el-button type="text" size="mini" icon="el-icon-download" style="margin-left: 20px" @click="exportExcel(scope.row)"/>
<el-button type="text" size="mini" icon="el-icon-printer" style="margin-left: 20px" @click="exportExcel(scope.row)"/>
</div>
</el-tooltip>
</template>
@@ -156,7 +156,7 @@
@size-change="handleSizeChange2"
@current-change="handleCurrentChange2"/>
</div>
<el-table v-loading="" :data="tableData3" border highlight-current-row stripe style="margin: 3px 0" height="200px" size="mini">
<el-table v-loading="" :data="tableData3" border highlight-current-row stripe style="margin: 3px 0" height="500px" size="mini">
<el-table-column label="物料编码" align="center" width="200">
<template slot-scope="scope">
{{ scope.row.物料零件编码 }}
@@ -182,26 +182,26 @@
{{ scope.row.批次数量 }}
</template>
</el-table-column>
<el-table-column label="成品尺寸(长、宽、高)" align="center">
<el-table-column label="成品尺寸(长、宽、高)" align="center" min-width="250px">
<template slot-scope="scope">
<el-input v-model="scope.row.成品尺寸" size="mini" style="width:120px" @change="saveWeight(scope.$index, scope.row)"/>
<el-input v-model="scope.row.成品尺寸" size="mini" style="width:240px" @change="saveWeight(scope.$index, scope.row)"/>
</template>
</el-table-column>
<el-table-column label="单位" align="center">
<el-table-column label="单位" align="center" width="100px">
<template slot-scope="scope">
<el-input v-model="scope.row.单位" size="mini" style="width:120px" @change="saveMoney(scope.$index, scope.row)"/>
<el-input v-model="scope.row.单位" size="mini" style="width:70px" @change="saveMoney(scope.$index, scope.row)"/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="备注">
<el-table-column label="备注" align="center" prop="备注" min-width="200px">
<template slot-scope="scope">
<el-input v-model="scope.row.备注1" :disabled="disable" size="mini" style="width:150px" @change="saveRemarks(scope.$index, scope.row)"/>
<el-input v-model="scope.row.备注1" :disabled="disable" size="mini" style="width:180px" @change="saveRemarks(scope.$index, scope.row)"/>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="150">
<el-table-column label="操作" align="center" width="200px">
<template slot-scope="scope">
<el-tooltip effect="dark" content="移出" placement="top">
<el-tooltip effect="dark" content="物料移出采购计划" placement="top">
<div style="display: inline-block">
<el-button type="text" size="mini" icon="el-icon-delete" @click="deleteMateriel(scope.row)"/>
<el-button type="info" size="mini" icon="el-icon-right" plain @click="deleteMateriel(scope.row)">物料移出采购计划</el-button>
</div>
</el-tooltip>
</template>
@@ -209,119 +209,11 @@
</el-table>
</el-card>
<el-dialog v-el-drag-dialog :visible.sync="dialogVisible1" title="供应商选择" center style="min-height: 300px">
<el-form ref="form1" :model="form1" label-position="left" label-width="90px" class="searchForm">
<el-row>
<el-col :span="8">
<el-form-item label="供应商名称:">
<el-input v-model="supplierName" size="small"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="企业性质">
<el-input v-model="enterpriseNature" size="small"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="货期">
<el-input v-model="goodTime" size="small"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="注册资本">
<el-input v-model="registeredCapital" size="small"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="税号">
<el-input v-model="taxNum" size="small"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="电子邮箱">
<el-input v-model="EMail" size="small"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="地址" >
<el-input v-model="address" size="small"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="账号">
<el-input v-model="account" size="small"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="开户行">
<el-input v-model="openingBank" size="small"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="电话号码">
<el-input v-model="phone" size="small"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="传真">
<el-input v-model="fax" size="small"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-button
type="success"
size="small"
style="margin-left: 45px;margin-top: 4px"
icon="el-icon-search"
@click="searchSupplier">查询</el-button>
<el-button
type="primary"
size="small"
icon="el-icon-check"
@click="submitSelectSupplier">确定</el-button>
<el-button
type="danger"
size="small"
icon="el-icon-delete"
@click="emptySupplierDetail">清空</el-button>
</el-col>
</el-row>
<el-table :data="tableData01" size="mini" style="width: 100%;margin-top:10px" height="400px" border highlight-current-row stripe @row-click="showSupplierDetail">
<el-table-column align="center" label="供应商名称" min-width="250">
<template slot-scope="scope">
{{ scope.row.供应商名称 }}
</template>
</el-table-column>
<el-table-column align="center" label="企业性质" min-width="100">
<template slot-scope="scope">
{{ scope.row.企业性质 }}
</template>
</el-table-column>
<el-table-column align="center" label="创立日期" min-width="100">
<template slot-scope="scope">
{{ scope.row.创立日期 }}
</template>
</el-table-column>
<el-table-column align="center" label="注册资本" min-width="100">
<template slot-scope="scope">
{{ scope.row.注册资本 }}
</template>
</el-table-column>
</el-table>
</el-form>
</el-dialog>
<el-dialog v-el-drag-dialog :title="title2" :visible.sync="dialogVisible2" center style="min-height: 300px" width="750px">
<el-form ref="form2" :model="form2" :rules="rules2" label-position="right" label-width="120px">
<el-row>
<el-col :span="12">
<el-form-item label="采购单名称" prop="采购单名称">
<el-form-item label="采购计划单名称" prop="采购计划单名称">
<el-input v-model="form2.采购单名称" size="small"/>
</el-form-item>
</el-col>
@@ -333,10 +225,14 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="供应商名称" prop="供应商名称">
<el-input v-model="form2.供应商名称" size="small" readonly>
<el-button slot="append" icon="el-icon-search" @click="dialogVisible1=true"/>
</el-input>
<el-form-item label="供应商" prop="supplierNameValue">
<el-select v-model="form2.supplierNameValue" placeholder="供应商" size="small" filterable>
<el-option
v-for="item in supplierNames"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -354,13 +250,13 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button
v-show="title2==='创建采购单'"
v-show="title2==='创建采购计划单'"
type="primary"
size="small"
icon="el-icon-check"
@click="submitAddPurchaseOrder">确定</el-button>
<el-button
v-show="title2==='编辑采购单'"
v-show="title2==='编辑采购计划单'"
type="primary"
size="small"
icon="el-icon-check"
@@ -392,7 +288,7 @@
<table cellspacing="0px" align="center" border="1 solid black" width="100%" style="margin-top: 0px">
<tr id="tablehead" style="height: 35px">
<td style="text-align: center;width: 7%">序号</td>
<td colspan="2" style="text-align: center;width: 20%">图号</td>
<td colspan="2" style="text-align: center;width: 20%">物料编码</td>
<td colspan="2" style="text-align: center;width: 10%">名称</td>
<td colspan="2" style="text-align: center;width: 10%">材料</td>
<td colspan="2" style="text-align: center;width: 8%">单位</td>
@@ -418,8 +314,8 @@
</template>
<script>
import { initPartDrawing, searchPurchasedMaterials, searchPurchaseOrder, searchSupplier, addPurchaseOrder, editPurchaseOrder, deletePurchaseOrder, searchMateriel,
addMateriel, deleteMateriel, saveMateriel, searchRawMaterial, addMateriel2, saveWeight, edit2 } from '@/api/WorkshopProcurement/CreatingPurchasingMaterials'
import { initPartDrawing, searchPurchasedMaterials, searchPurchaseOrder, addPurchaseOrder, searchSupplier, editPurchaseOrder, deletePurchaseOrder, searchMateriel,
addMateriel, deleteMateriel, saveMateriel, saveMateriel1, searchRawMaterial, addMateriel2, saveWeight, edit2 } from '@/api/WorkshopProcurement/CreatingPurchasingMaterials'
import QRCode from 'qrcode'
import $ from 'jquery'
import { mapGetters } from 'vuex'
@@ -431,6 +327,7 @@ export default {
RawMaterialGroup: [],
RawMaterialName: '',
tableData: [],
supplierNames: [],
pageCurrent: 1,
pageSize: 10,
total: null,
@@ -490,13 +387,12 @@ export default {
form2: {
采购计划流水号: '',
采购单名称: '',
供应商流水号: '',
供应商名称: '',
supplierNameValue: '',
计划完成日期: ''
},
rules2: { // 采购表单验证规则
采购单名称: [{ required: true, message: '请填写采购单名称' }],
供应商名称: [{ required: true, message: '请选择供应商' }],
supplierNameValue: [{ required: true, message: '请选择供应商' }],
计划完成日期: [{ required: true, message: '请选择计划完成日期' }]
},
tableData3: [],
@@ -526,6 +422,14 @@ export default {
methods: {
// 获取原材料
searchRawMaterial() {
searchSupplier(0, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0, '').then(response => {
for (let i = 0; i < response.data.length; i++) {
this.supplierNames.push({
label: response.data[i].供应商名称,
value: response.data[i].供应商流水号
})
}
})
searchRawMaterial(this.RawMaterialName, this.pageCurrent, this.pageSize).then(response => {
this.tableData = response.data.rows
this.total = parseInt(response.data.total)
@@ -639,9 +543,9 @@ export default {
if (this.$refs['form2'] !== undefined) {
this.$refs['form2'].resetFields()
}
this.title2 = '创建采购单'
this.title2 = '创建采购计划单'
this.form2.离线合同名称 = ''
this.form2.供应商流水号 = ''
this.form2.supplierNameValue = ''
this.form2.供应商名称 = ''
this.form2.计划完成日期 = ''
this.dialogVisible2 = true
@@ -649,7 +553,7 @@ export default {
submitAddPurchaseOrder() { // 新建采购单
this.$refs['form2'].validate((valid) => {
if (valid) {
addPurchaseOrder(this.form2.采购单名称, this.form2.供应商流水号, this.id, this.form2.计划完成日期).then(response => {
addPurchaseOrder(this.form2.采购单名称, this.form2.supplierNameValue, this.id, this.form2.计划完成日期).then(response => {
if (response.data[0].result === '1') {
this.$message.success('新建采购单成功')
this.searchTable2()
@@ -665,18 +569,17 @@ export default {
if (this.$refs['form2'] !== undefined) {
this.$refs['form2'].resetFields()
}
this.title2 = '编辑采购单'
this.title2 = '编辑采购计划单'
this.form2.采购计划流水号 = row.采购计划流水号
this.form2.采购单名称 = row.采购单名称
this.form2.供应商流水号 = row.供应商
this.form2.供应商名称 = row.供应商名称
this.form2.supplierNameValue = row.供应商
this.form2.计划完成日期 = row.计划完成日期
this.dialogVisible2 = true
},
submitEditPurchaseOrder() {
this.$refs['form2'].validate((valid) => {
if (valid) {
editPurchaseOrder(this.form2.采购计划流水号, this.form2.采购单名称, this.form2.供应商流水号, this.form2.计划完成日期).then(response => {
editPurchaseOrder(this.form2.采购计划流水号, this.form2.采购单名称, this.form2.supplierNameValue, this.form2.计划完成日期).then(response => {
if (response.data[0].result === '1') {
this.$message.success('修改采购单成功')
this.searchTable2()
@@ -689,7 +592,7 @@ export default {
})
},
deletePurchaseOrder(row) { // 删除采购单
this.$confirm('确定删除该合同?', '提示', {
this.$confirm('确定删除该备料计划?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
@@ -711,58 +614,6 @@ export default {
})
})
},
searchSupplier() { // 查询创立日期和注册资本大于符合条件的数据
this.supplierName ? this.supplierCheck1 = 1 : (this.supplierCheck1 = 0, this.supplierName = '')
this.enterpriseNature ? this.supplierCheck2 = 1 : (this.supplierCheck2 = 0, this.enterpriseNature = '')
this.createDate ? this.supplierCheck3 = 1 : (this.supplierCheck3 = 0, this.createDate = '')
this.registeredCapital ? this.supplierCheck4 = 1 : (this.supplierCheck4 = 0, this.registeredCapital = '')
this.taxNum ? this.supplierCheck5 = 1 : (this.supplierCheck5 = 0, this.taxNum = '')
this.EMail ? this.supplierCheck6 = 1 : (this.supplierCheck6 = 0, this.EMail = '')
this.address ? this.supplierCheck7 = 1 : (this.supplierCheck7 = 0, this.address = '')
this.account ? this.supplierCheck8 = 1 : (this.supplierCheck8 = 0, this.account = '')
this.openingBank ? this.supplierCheck9 = 1 : (this.supplierCheck9 = 0, this.openingBank = '')
this.phone ? this.supplierCheck10 = 1 : (this.supplierCheck10 = 0, this.phone = '')
this.fax ? this.supplierCheck11 = 1 : (this.supplierCheck11 = 0, this.fax = '')
this.goodTime ? this.supplierCheck12 = 1 : (this.supplierCheck12 = 0, this.goodTime = '')
searchSupplier(this.supplierCheck1, this.supplierName, this.supplierCheck2, this.enterpriseNature, this.supplierCheck3, this.createDate, this.supplierCheck4, this.registeredCapital, this.supplierCheck5, this.taxNum, this.supplierCheck6, this.EMail, this.supplierCheck7, this.address, this.supplierCheck8, this.account, this.supplierCheck9, this.openingBank, this.supplierCheck10, this.phone, this.supplierCheck11, this.fax, this.supplierCheck12, this.goodTime).then(response => {
this.tableData01 = response.data
})
},
showSupplierDetail(row) {
this.form2.供应商流水号 = row.供应商流水号
this.form2.供应商名称 = row.供应商名称
this.supplierValue = row.供应商流水号
this.supplierName = row.供应商名称
this.enterpriseNature = row.企业性质
this.createDate = row.创立日期
this.registeredCapital = row.注册资本
this.taxNum = row.税号
this.EMail = row.电子信箱
this.address = row.地址
this.account = row.帐号
this.openingBank = row.开户行
this.phone = row.电话号码
this.fax = row.传真
this.goodTime = row.货期
},
emptySupplierDetail() {
this.supplierValue = ''
this.supplierName = ''
this.enterpriseNature = ''
this.createDate = ''
this.registeredCapital = ''
this.taxNum = ''
this.EMail = ''
this.address = ''
this.account = ''
this.openingBank = ''
this.phone = ''
this.fax = ''
this.goodTime = ''
},
submitSelectSupplier() { // 确定选择供应商
this.dialogVisible1 = false
},
searchTable3(row) { // 查询采购计划明细
this.purchasingOrderNumber = row.采购计划流水号
this.采购单名称 = row.采购单名称
@@ -851,28 +702,60 @@ export default {
})
})
},
exportExcel() {
this.$confirm('确定导出该合同?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const htmlNode = $('#WGBLD').html()
const body = $('body')
body.children().hide()
const printNode = $(htmlNode)
body.append(printNode)
window.print()
body.removeAttr('style')
body.children().not('script').show()
body.children().not('#app').hide()
printNode.remove()
}).catch(res => {
this.$message({
type: 'info',
message: '已取消操作'
exportExcel(row) {
if (row.采购计划状态 === '0') {
this.$confirm('该采购计划没有保存,是否确定保存并打印?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
saveMateriel1(row.采购计划流水号).then(response => {
if (response.data[0].result === '1') {
this.$message.success('保存成功并打印')
this.searchTable2()
} else {
this.$message.success('保存失败')
}
})
const htmlNode = $('#WGBLD').html()
const body = $('body')
body.children().hide()
const printNode = $(htmlNode)
body.append(printNode)
window.print()
body.removeAttr('style')
body.children().not('script').show()
body.children().not('#app').hide()
printNode.remove()
}).catch(res => {
this.$message({
type: 'info',
message: '已取消操作'
})
})
})
} else {
this.$confirm('确定打印备料计划?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const htmlNode = $('#WGBLD').html()
const body = $('body')
body.children().hide()
const printNode = $(htmlNode)
body.append(printNode)
window.print()
body.removeAttr('style')
body.children().not('script').show()
body.children().not('#app').hide()
printNode.remove()
}).catch(res => {
this.$message({
type: 'info',
message: '已取消操作'
})
})
}
}
}
}