This commit is contained in:
liushuai
2019-05-22 11:36:05 +08:00
13 changed files with 567 additions and 85 deletions

View File

@@ -16,7 +16,7 @@
"@xkeshi/vue-barcode": "^1.0.0",
"axios": "0.18.0",
"echarts": "^4.2.0-rc.2",
"element-ui": "2.4.6",
"element-ui": "2.8.2",
"file-saver": "^1.3.8",
"html2canvas": "^1.0.0-alpha.12",
"jquery": "^3.3.1",

View File

@@ -0,0 +1,63 @@
import request from '@/utils/request'
// 初始化项目
export function initProject() {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: 'PDM_项目名称_查询数据_按时间排序'
}
})
}
// 机床查询
export function searchMachine(num) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: 'PDM_机床名称_查询数据',
param: '项目流水号_check=1&项目流水号=' + num
}
})
}
// 分组查询
export function searchGroup(num) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: 'PDM_组件名称_查询数据',
param: '机床流水号=' + num
}
})
}
// 查询采购件入库记录
export function searchRecord1(check1, project, check2, machine, check3, group, check4, name, check5, spec, check6, model, pageCurrent, pageSize) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: `库存管理_入库记录_采购件_查询数据`,
param: `项目流水号_check=${check1}&项目流水号=${project}&机床流水号_check=${check2}&机床流水号=${machine}&组件流水号_check=${check3}&组件流水号=${group}&名称_check=${check4}&名称=${name}&规格_check=${check5}&规格=${spec}&图号或型号_check=${check6}&图号或型号=${model}`,
Pagination: pageCurrent + '&' + pageSize
}
})
}
// 查询离线件入库记录
export function searchRecord2(check4, name, check5, spec, check6, model, pageCurrent, pageSize) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: `库存管理_入库记录_离线件_查询数据`,
param: `名称_check=${check4}&名称=${name}&规格_check=${check5}&规格=${spec}&图号或型号_check=${check6}&图号或型号=${model}`,
Pagination: pageCurrent + '&' + pageSize
}
})
}

View File

@@ -36,36 +36,15 @@ export function searchGroup(num) {
})
}
// 查询记录
export function searchRecord(project, machine, group, name, spec, model) {
let execName = `select PDM_机床名称.项目流水号,PDM_组件名称.机床流水号,出库记录.* from(select 组件流水号,名称,物料规格 as 规格,物料型号 as 图号或型号,出库数量,备注 as 领料人,滞货出库时间 as 出库时间 from 车间装配管理_领料单_领料单明细 where 滞货出库时间 is not null
union
select 组件流水号,物料名称 as 名称,物料规格 as 规格,物料型号 as 图号或型号,出库数量,备注 as 领料人,出库时间 from 库存管理_基础表_离线采购件出库
inner join 库存管理_物料主文件_基本 on 库存管理_物料主文件_基本.物料流水号 = 库存管理_基础表_离线采购件出库.物料流水号
union
select 组件流水号,物料名称 as 名称,物料规格 as 规格,物料型号 as 图号或型号,出库数量,库存管理_基础表_外购件出库.备注 as 领料人,出库时间 from 库存管理_基础表_外购件出库
inner join 采购管理_采购合同明细_采购部 on 采购管理_采购合同明细_采购部.采购合同明细流水号 = 库存管理_基础表_外购件出库.采购合同明细流水号
left join MRP_计划订单_组件零件清单 on MRP_计划订单_组件零件清单.组件零件流水号 = 采购管理_采购合同明细_采购部.组件零件流水号
inner join MRP_计划订单_机床组件清单 on MRP_计划订单_机床组件清单.机床组件流水号 = MRP_计划订单_组件零件清单.机床组件流水号
inner join 库存管理_物料主文件_基本 on 库存管理_物料主文件_基本.物料流水号 = MRP_计划订单_组件零件清单.物料流水号
union
select 组件流水号,'' as 规格,零件图号 as 图号或型号,零件名称 as 名称,出库数量,库存管理_基础表_外购件出库.备注 as 领料人,出库时间 from 库存管理_基础表_外购件出库
inner join 采购管理_采购合同明细_采购部 on 采购管理_采购合同明细_采购部.采购合同明细流水号 = 库存管理_基础表_外购件出库.采购合同明细流水号
left join MRP_计划订单_组件零件清单_基本件_采购 on MRP_计划订单_组件零件清单_基本件_采购.组件零件基本件流水号 = 采购管理_采购合同明细_采购部.组件零件基本件流水号
inner join PDM_零件明细表_基本件 on PDM_零件明细表_基本件.基本件流水号 = MRP_计划订单_组件零件清单_基本件_采购.基本件流水号
) as 出库记录 inner join PDM_组件名称 on PDM_组件名称.组件流水号 = 出库记录.组件流水号 inner join PDM_机床名称 on PDM_机床名称.机床流水号 = PDM_组件名称.机床流水号
where PDM_组件名称.组件流水号 is not null`
if (project) { execName += ` and PDM_机床名称.项目流水号 = ${project} ` }
if (machine) { execName += ` and PDM_组件名称.机床流水号 = ${machine} ` }
if (group) { execName += ` and PDM_组件名称.组件流水号 = ${group} ` }
if (name) { execName += ` and 出库记录.名称 like '%${name}%' ` }
if (spec) { execName += ` and 出库记录.规格 like '%${spec}%' ` }
if (model) { execName += ` and 出库记录.图号或型号 like '%${model}%' ` }
export function searchRecord(check1, project, check2, machine, check3, group, check4, name, check5, spec, check6, model, pageCurrent, pageSize) {
return request({
url: '',
method: 'post',
data: {
type: '3',
name: execName
type: '1',
name: `库存管理_出库记录_查询数据`,
param: `项目流水号_check=${check1}&项目流水号=${project}&机床流水号_check=${check2}&机床流水号=${machine}&组件流水号_check=${check3}&组件流水号=${group}&名称_check=${check4}&名称=${name}&规格_check=${check5}&规格=${spec}&图号或型号_check=${check6}&图号或型号=${model}`,
Pagination: pageCurrent + '&' + pageSize
}
})
}

View File

@@ -1,14 +1,27 @@
import request from '@/utils/request'
// 初始化供应商
export function initSupplier(num) {
return request({
url: '',
method: 'post',
data: {
type: '3',
name: `SELECT distinct 供应商流水号,供应商名称
FROM 采购管理_询价单_视图
where 询价单编号 not in(select 采购合同编号 from 采购管理_采购合同_采购部 where 是否启用 = 1) and 采购员流水号 = ${num}`
}
})
}
// 查询询价单列表 表1
export function searchInquirySheet(check1, value1, check2, value2, check3, id) {
export function searchInquirySheet(check1, value1, check2, value2, check3, id, check4, supplier) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '采购管理_询价单_查询数据',
param: `供应商名称_check=${check1}&供应商名称=${value1}&询价单编号_check=${check2}&询价单编号=${value2}&采购员流水号_check=${check3}&采购员流水号=${id}`
param: `供应商名称_check=${check1}&供应商名称=${value1}&询价单编号_check=${check2}&询价单编号=${value2}&采购员流水号_check=${check3}&采购员流水号=${id}&供应商流水号_check=${check4}&供应商流水号=${supplier}`
}
})
}

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1543302320460" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4601" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M512 1024A512 512 0 1 1 512 0a512 512 0 0 1 0 1024zM512 170.666667a56.888889 56.888889 0 0 0-56.888889 56.888889v341.333333a56.888889 56.888889 0 0 0 113.777778 0V227.555556a56.888889 56.888889 0 0 0-56.888889-56.888889z m0 625.777777a56.888889 56.888889 0 1 0 0-113.777777 56.888889 56.888889 0 0 0 0 113.777777z" p-id="4602"></path></svg>

After

Width:  |  Height:  |  Size: 726 B

View File

@@ -153,7 +153,7 @@
</el-select>
</el-form-item>
<el-form-item label="分组" prop="GroupNumValue" label-width="100px">
<el-select v-model="form.GroupNumValue" filterable clearable size="small" placeholder="分组" style="width: 200px;margin-right:10px">
<el-select v-model="form.GroupNumValue" filterable size="small" placeholder="分组" style="width: 200px;margin-right:10px">
<el-option
v-for="item in GroupNum"
:key="item.value"
@@ -173,8 +173,8 @@
:value="item.value"/>
</el-select>
</el-form-item>
<el-form-item label="备注" label-width="100px">
<el-input v-model="form.DirectNote" size="small" placeholder="请输入备注" style="width: 200px"/>
<el-form-item label="领料人" prop="DirectNote" label-width="100px">
<el-input v-model="form.DirectNote" size="small" placeholder="请输入领料人" style="width: 200px"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@@ -190,6 +190,13 @@ import { initProject, searchmachine, searchTeam, searchPart, searchPeople, outli
import { mapGetters } from 'vuex'
export default {
data() {
const checkNum = (rule, value, callback) => {
if (value <= 0) {
callback(new Error('请输入正整数'))
} else {
callback()
}
}
return {
Project: [],
Machine: [],
@@ -209,7 +216,11 @@ export default {
ProjectValue: [{ required: true, message: '请选择项目', trigger: 'blur' }],
MachineValue: [{ required: true, message: '请选择机床', trigger: 'blur' }],
GroupNumValue: [{ required: true, message: '请选择分组', trigger: 'blur' }],
DirectNumber: [{ required: true, message: '请输入直达件数量', trigger: 'blur' }]
DirectNumber: [
{ required: true, message: '请输入数量', trigger: 'blur' },
{ validator: checkNum, trigger: 'blur' }
],
DirectNote: [{ required: true, message: '请输入领料人', trigger: 'blur' }]
},
locateNumber: '',
materialNumber: '',

View File

@@ -0,0 +1,245 @@
<template>
<div class="app-container">
<el-card>
<div slot="header" class="clearfix">
<span>项目名称:</span>
<el-select v-model="projectValue" style="width:150px" placeholder="请选择" size="small" clearable filterable @change="projectChange">
<el-option
v-for="item in project"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<span>机床图号:</span>
<el-select v-model="machineValue" style="width:150px" placeholder="请选择" size="small" clearable filterable @change="machineChange">
<el-option
v-for="item in machine"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<span>组号:</span>
<el-select v-model="groupValue" style="width:140px" placeholder="请选择" size="small" clearable filterable>
<el-option
v-for="item in group"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<span>名称:</span>
<el-input v-model="name" clearable size="small" style="width:150px" />
<span>规格:</span>
<el-input v-model="spec" clearable size="small" style="width:150px" />
<span>图号或型号:</span>
<el-input v-model="model" clearable size="small" style="width:150px" />
<el-button type="success" icon="el-icon-search" size="small" style="margin-left: 10px" @click="searchRecord()">查询</el-button>
</div>
<h4 style="margin-top: 0">采购合同件</h4>
<el-table :data="tableData1" border size="mini" style="width: 100%;" height="400">
<el-table-column label="名称" align="center" min-width="200">
<template slot-scope="scope">
{{ scope.row.名称 }}
</template>
</el-table-column>
<el-table-column label="图号或型号" align="center" min-width="200">
<template slot-scope="scope">
{{ scope.row.图号或型号 }}
</template>
</el-table-column>
<el-table-column label="规格" align="center" min-width="200">
<template slot-scope="scope">
{{ scope.row.规格 }}
</template>
</el-table-column>
<el-table-column label="入库数量" align="center" min-width="200">
<template slot-scope="scope">
{{ scope.row.入库数量 }}
</template>
</el-table-column>
<el-table-column label="入库人" align="center" min-width="200">
<template slot-scope="scope">
{{ scope.row.入库人 }}
</template>
</el-table-column>
<el-table-column label="入库时间" align="center" min-width="200">
<template slot-scope="scope">
{{ scope.row.入库时间 }}
</template>
</el-table-column>
</el-table>
<div class="block" style="margin-top: 10px;">
<el-pagination
:current-page="pageCurrent1"
:page-sizes="[10, 20, 30, 40]"
:page-size="pageSize1"
:total="total1"
style="display:inline-block;width:50%"
layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange1"
@current-change="handleCurrentChange1"/>
</div>
<h4>离线合同件</h4>
<el-table :data="tableData2" border size="mini" style="width: 100%;" height="400">
<el-table-column label="名称" align="center" min-width="200">
<template slot-scope="scope">
{{ scope.row.名称 }}
</template>
</el-table-column>
<el-table-column label="图号或型号" align="center" min-width="200">
<template slot-scope="scope">
{{ scope.row.图号或型号 }}
</template>
</el-table-column>
<el-table-column label="规格" align="center" min-width="200">
<template slot-scope="scope">
{{ scope.row.规格 }}
</template>
</el-table-column>
<el-table-column label="入库数量" align="center" min-width="200">
<template slot-scope="scope">
{{ scope.row.入库数量 }}
</template>
</el-table-column>
<el-table-column label="入库人" align="center" min-width="200">
<template slot-scope="scope">
{{ scope.row.入库人 }}
</template>
</el-table-column>
<el-table-column label="入库时间" align="center" min-width="200">
<template slot-scope="scope">
{{ scope.row.入库时间 }}
</template>
</el-table-column>
</el-table>
<div class="block" style="margin-top: 10px;">
<el-pagination
:current-page="pageCurrent2"
:page-sizes="[10, 20, 30, 40]"
:page-size="pageSize2"
:total="total2"
style="display:inline-block;width:50%"
layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange2"
@current-change="handleCurrentChange2"/>
</div>
</el-card>
</div>
</template>
<script>
import { initProject, searchMachine, searchGroup, searchRecord1, searchRecord2 } from '@/api/Inventory/PurchaseInRecord'
export default {
name: 'PurchaseInRecord',
data() {
return {
projectValue: '', // 项目名称
project: [],
machineValue: '',
machine: [],
groupValue: '',
group: [],
name: '',
spec: '',
model: '',
tableData1: [],
tableData2: [],
pageSize1: 10,
pageCurrent1: 1,
total1: 0,
pageSize2: 10,
pageCurrent2: 1,
total2: 0
}
},
mounted() {
this.getSelect(initProject, ['项目名称', '项目流水号'], 'project')
this.searchRecord()
},
methods: {
projectChange() {
this.machine = []
this.machineValue = ''
this.group = []
this.groupValue = ''
searchMachine(this.projectValue).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.machine.push({
value: response.data[i].机床流水号,
label: response.data[i].机床图号
})
}
})
},
machineChange() {
this.group = []
this.groupValue = ''
searchGroup(this.machineValue).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.group.push({
value: response.data[i].组件流水号,
label: response.data[i].组号
})
}
})
},
searchRecord() {
this.pageCurrent1 = 1
this.pageSize1 = 10
this.searchRecord1()
this.pageCurrent2 = 1
this.pageSize2 = 10
this.searchRecord2()
},
searchRecord1() {
let check1, check2, check3, check4, check5, check6
this.projectValue ? check1 = 1 : check1 = 0
this.machineValue ? check2 = 1 : check2 = 0
this.groupValue ? check3 = 1 : check3 = 0
this.name ? check4 = 1 : check4 = 0
this.spec ? check5 = 1 : check5 = 0
this.model ? check6 = 1 : check6 = 0
searchRecord1(check1, this.projectValue, check2, this.machineValue, check3, this.groupValue, check4, this.name, check5, this.spec, check6, this.model, this.pageCurrent1, this.pageSize1).then(res => {
this.tableData1 = res.data.rows
this.total1 = res.data.total
})
},
searchRecord2() {
let check4, check5, check6
this.name ? check4 = 1 : check4 = 0
this.spec ? check5 = 1 : check5 = 0
this.model ? check6 = 1 : check6 = 0
searchRecord2(check4, this.name, check5, this.spec, check6, this.model, this.pageCurrent2, this.pageSize2).then(res => {
this.tableData2 = res.data.rows
this.total2 = res.data.total
})
},
handleSizeChange1(val) {
this.pageSize1 = val
this.pageCurrent1 = 1
this.searchRecord1()
},
handleCurrentChange1(val) {
this.pageCurrent1 = val
this.searchRecord1()
},
handleSizeChange2(val) {
this.pageSize2 = val
this.pageCurrent2 = 1
this.searchRecord2()
},
handleCurrentChange2(val) {
this.pageCurrent2 = val
this.searchRecord2()
}
}
}
</script>
<style scoped>
.el-card{
margin-bottom: 15px;
}
span{
margin: 10px 0 10px 10px;
}
</style>

View File

@@ -32,7 +32,7 @@
<el-input v-model="spec" clearable size="small" style="width:150px" />
<span>图号或型号:</span>
<el-input v-model="model" clearable size="small" style="width:150px" />
<el-button type="success" icon="el-icon-search" size="small" style="margin-left: 10px" @click="searchRecord()">查询</el-button>
<el-button type="success" icon="el-icon-search" size="small" style="margin-left: 10px" @click="pageCurrent1=1;pageSize1=10;searchRecord()">查询</el-button>
</div>
<el-table :data="tableData" border size="mini" style="width: 100%;" height="600">
<el-table-column label="名称" align="center" min-width="200">
@@ -66,6 +66,17 @@
</template>
</el-table-column>
</el-table>
<div class="block" style="margin-top: 10px;">
<el-pagination
:current-page="pageCurrent1"
:page-sizes="[10, 20, 30, 40]"
:page-size="pageSize1"
:total="total1"
style="display:inline-block;width:50%"
layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange1"
@current-change="handleCurrentChange1"/>
</div>
</el-card>
</div>
</template>
@@ -85,11 +96,15 @@ export default {
name: '',
spec: '',
model: '',
tableData: []
tableData: [],
pageSize1: 10,
pageCurrent1: 1,
total1: 0
}
},
mounted() {
this.getSelect(initProject, ['项目名称', '项目流水号'], 'project')
this.searchRecord()
},
methods: {
projectChange() {
@@ -119,13 +134,26 @@ export default {
})
},
searchRecord() {
if (!this.projectValue) {
this.$message.warning('请选择项目')
return
}
searchRecord(this.projectValue, this.machineValue, this.groupValue, this.name, this.spec, this.model).then(res => {
this.tableData = res.data
let check1, check2, check3, check4, check5, check6
this.projectValue ? check1 = 1 : check1 = 0
this.machineValue ? check2 = 1 : check2 = 0
this.groupValue ? check3 = 1 : check3 = 0
this.name ? check4 = 1 : check4 = 0
this.spec ? check5 = 1 : check5 = 0
this.model ? check6 = 1 : check6 = 0
searchRecord(check1, this.projectValue, check2, this.machineValue, check3, this.groupValue, check4, this.name, check5, this.spec, check6, this.model, this.pageCurrent1, this.pageSize1).then(res => {
this.tableData = res.data.rows
this.total1 = res.data.total
})
},
handleSizeChange1(val) {
this.pageSize1 = val
this.pageCurrent1 = 1
this.searchRecord()
},
handleCurrentChange1(val) {
this.pageCurrent1 = val
this.searchRecord()
}
}
}

View File

@@ -51,6 +51,16 @@
border
highlight-current-row
@row-click="click">
<el-table-column label="机床号" align="center">
<template slot-scope="scope">
{{ scope.row.机床图号 }}
</template>
</el-table-column>
<el-table-column label="组号" align="center">
<template slot-scope="scope">
{{ scope.row.组号 }}
</template>
</el-table-column>
<el-table-column label="零件图号" align="center">
<template slot-scope="scope">
{{ scope.row.零件图号 }}

View File

@@ -2,7 +2,7 @@
<div class="app-container">
<el-card>
<span>工艺员:</span>
<el-select v-model="CraftmenValue" placeholder="工艺员" size="small" style="width:100px" @change="clearDetail();searchParts()">
<el-select v-model="CraftmenValue" placeholder="工艺员" size="small" style="width:100px" @change="clearDetail();">
<el-option
v-for="item in Craftmen"
:key="item.value"
@@ -10,16 +10,16 @@
:value="item.value"/>
</el-select>
<span>零件号:</span>
<el-select v-model="partNumValue" filterable clearable placeholder="零件号" size="small" @clear="clearDetail" @change="searchDetail()">
<el-input v-model="partNumber" clearable placeholder="零件号" size="small" style="width:200px">
<el-button slot="append" icon="el-icon-right" @click="searchParts();partNumValue=''"/>
</el-input>
<el-select v-model="partNumValue" placeholder="选择零件编制工艺定额" size="small" @clear="clearDetail" @change="searchDetail()">
<el-option
v-for="item in partNum"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<el-button type="success" icon="el-icon-search" style="margin: 10px;" size="small" @click="searchDetail">
查询
</el-button>
<el-checkbox v-model="checked" :disabled="isShow2" size="small" style="margin:10px">是否核准</el-checkbox>
<el-button v-show="isShow2" type="danger" icon="el-icon-edit" size="small" @click="returnEdit">在制零件工艺调整
</el-button>
@@ -554,6 +554,7 @@ export default {
},
data() {
return {
partNumber: '',
options: [],
weight: '',
dialogMateria2: false,
@@ -1080,7 +1081,7 @@ export default {
this.isShow1 = true
this.isShow2 = false
this.checked1 = true
getPartnames1(this.CraftmenValue, this.partNumValue).then(response => {
getPartnames1(this.CraftmenValue, this.partNumber).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.partNum.push({
label: response.data[i].零件图号,

View File

@@ -69,9 +69,9 @@
<el-tag v-if="parseInt(scope.row.询价状态编号)!==1&&parseInt(scope.row.采购状态编号)===3" type="info" size="small">已采购</el-tag>
</template>
</el-table-column>
<el-table-column label="计划到货时间" align="center" min-width="100">
<el-table-column label="任务分配时间" align="center" min-width="100">
<template slot-scope="scope">
{{ scope.row.物料计划到货时间.split(' ')[0] }}
{{ scope.row.任务分配时间.split(' ')[0] }}
</template>
</el-table-column>
<!--<el-table-column label="项目名称" align="center" min-width="100">-->
@@ -144,12 +144,12 @@
{{ Number(scope.row.滞货数量) }}
</template>
</el-table-column>
<el-table-column label="备注" align="center" min-width="100">
<el-table-column :filters="remarkFilters" :filter-method="filterHandler0" label="备注" align="center" min-width="100" prop="备注">
<template slot-scope="scope">
{{ scope.row.备注 }}
</template>
</el-table-column>
<el-table-column :filters="supplierFilters" :filter-method="filterHandler" label="供货商" align="center" min-width="100" prop="supplier">
<el-table-column :filters="supplierFilters" :filter-method="filterHandler" label="供货商" align="center" min-width="100" prop="供货商">
<template slot-scope="scope">
{{ scope.row.供货商 }}
</template>
@@ -159,7 +159,7 @@
<div class="block">
<el-pagination
:current-page="pageCurrent11"
:page-sizes="[10, 20, 30, 40]"
:page-sizes="[10, 50, 100, 150]"
:page-size="pageSize11"
:total="total11"
style="display:inline-block;width:50%"
@@ -236,9 +236,9 @@
<el-tag v-if="parseInt(scope.row.询价状态编号)!==1&&parseInt(scope.row.采购状态编号)===3" type="info" size="small">已采购</el-tag>
</template>
</el-table-column>
<el-table-column label="计划到货时间" align="center" min-width="100">
<el-table-column label="任务分配时间" align="center" min-width="100">
<template slot-scope="scope">
{{ scope.row.物料计划到货时间.split(' ')[0] }}
{{ scope.row.任务分配时间.split(' ')[0] }}
</template>
</el-table-column>
<el-table-column label="项目名称" align="center" min-width="100">
@@ -281,12 +281,12 @@
{{ scope.row.零件数量 }}
</template>
</el-table-column>
<el-table-column label="备注" align="center" min-width="100">
<el-table-column :filters="remarkFilters" :filter-method="filterHandler0" label="备注" align="center" min-width="100" prop="备注">
<template slot-scope="scope">
{{ scope.row.备注 }}
</template>
</el-table-column>
<el-table-column :filters="supplierFilters" :filter-method="filterHandler" label="供货商" align="center" min-width="100" prop="supplier">
<el-table-column :filters="supplierFilters" :filter-method="filterHandler" label="供货商" align="center" min-width="100" prop="供货商">
<template slot-scope="scope">
{{ scope.row.供货商 }}
</template>
@@ -296,7 +296,7 @@
<div class="block">
<el-pagination
:current-page="pageCurrent12"
:page-sizes="[10, 20, 30, 40]"
:page-sizes="[10, 50, 100, 150]"
:page-size="pageSize12"
:total="total12"
style="display:inline-block;width:50%"
@@ -333,7 +333,7 @@
<h3 style="margin-top: 0;display:inline-block;width:50%">询价单</h3>
<el-button :loading="baseInfoLoading" type="success" size="mini" style="float: right" @click="inquirySheetBaseInfoMaintain">询价单基础信息维护</el-button>
<el-table v-loading="" :data="tableData2" border style="max-height: 300px;" height="300px" size="mini" highlight-current-row @row-click="searchTable3">
<el-table-column label="询价单编号" align="center" min-width="150">
<el-table-column label="询价单编号" align="center" min-width="120">
<template slot-scope="scope">
{{ scope.row.询价单编号 }}
</template>
@@ -343,7 +343,7 @@
{{ scope.row.供应商名称 }}
</template>
</el-table-column>
<el-table-column label="电话号码" align="center" min-width="100">
<el-table-column label="电话" align="center" min-width="100">
<template slot-scope="scope">
{{ scope.row.电话号码 }}
</template>
@@ -353,9 +353,34 @@
{{ scope.row.传真 }}
</template>
</el-table-column>
<el-table-column label="电子信箱" align="center" min-width="100">
<el-table-column label="受托人" align="center" min-width="70">
<template slot-scope="scope">
{{ 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-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="70">
<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" width="200">
@@ -381,6 +406,11 @@
</div><hr>
<h3 style="margin-top: 0">询价单明细</h3>
<el-table v-loading="" :data="tableData3" border style="max-height: 500px;" height="500px" size="mini">
<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="100">
<template slot-scope="scope">
{{ scope.row.组件零件流水号 ? scope.row.物料型号 : scope.row.零件图号 }}
@@ -486,19 +516,19 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="企业性质">
<el-form-item label="法人">
<el-input v-model="enterpriseNature" size="small"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="货期">
<el-form-item label="邮编">
<el-input v-model="goodTime" size="small"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="注册资本">
<el-form-item label="受托人">
<el-input v-model="registeredCapital" size="small"/>
</el-form-item>
</el-col>
@@ -569,12 +599,12 @@
{{ scope.row.供应商名称 }}
</template>
</el-table-column>
<el-table-column align="center" label="企业性质" min-width="100">
<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">
<el-table-column align="center" label="受托人" min-width="100">
<template slot-scope="scope">
{{ scope.row.注册资本 }}
</template>
@@ -806,7 +836,8 @@ export default {
total12: 0,
pageCurrent12: 1,
pageSize12: 10,
supplierFilters: [{ text: '', value: '' }],
remarkFilters: [],
supplierFilters: [],
tableData2: [], // 询价单列表
total2: 0,
pageCurrent2: 1,
@@ -1026,6 +1057,9 @@ export default {
selectable(row, index) { // 控制某行是否可选
return (parseInt(row.询价状态编号) === 1 && parseInt(row.采购状态编号) === 1 && parseInt(row.是否确认) === 1) // 未询价&&未采购&&确认物料修改
},
filterHandler0(value, row) { // 筛选备注
return row['备注'] === value
},
filterHandler(value, row) { // 筛选供货商
return row['供货商'] === value
},
@@ -1040,6 +1074,18 @@ export default {
searchMaterial(this.pageCurrent11, this.pageSize11, this.materialStatusValue[this.materialStatusValue.length - 1], check1, this.materialName, check2, this.materialSpec, check3, this.materialModel, this.id, check4, this.projectValue, check5, this.machineValue, check6, this.groupValue).then(response => {
this.tableData11 = response.data.rows
this.total11 = response.data.total
const remark = []
const supplier = []
this.remarkFilters = []
this.supplierFilters = []
response.data.rows.map(v => {
if (!remark.includes(v.备注)) {
remark.push(v.备注)
supplier.push(v.供货商)
this.remarkFilters.push({ text: v.备注, value: v.备注 })
this.supplierFilters.push({ text: v.供货商, value: v.供货商 })
}
})
})
},
handleSizeChange11(val) { // 标准件和外购件列表分页
@@ -1062,6 +1108,18 @@ export default {
searchPart(this.pageCurrent12, this.pageSize12, this.materialStatusValue[this.materialStatusValue.length - 1], check1, this.partNum, check2, this.partName, check3, this.partSpec, this.id, check4, this.projectValue, check5, this.machineValue, check6, this.groupValue).then(response => {
this.tableData12 = response.data.rows
this.total12 = response.data.total
const remark = []
const supplier = []
this.remarkFilters = []
this.supplierFilters = []
response.data.rows.map(v => {
if (!remark.includes(v.备注)) {
remark.push(v.备注)
supplier.push(v.供货商)
this.remarkFilters.push({ text: v.备注, value: v.备注 })
this.supplierFilters.push({ text: v.供货商, value: v.供货商 })
}
})
})
},
handleSizeChange12(val) { // 基本件列表分页

View File

@@ -3,6 +3,17 @@
<el-card>
<el-form label-width="90px" label-position="right">
<el-row>
<el-col :span="6">
<el-form-item label="供应商:">
<el-select v-model="supplierValue" clearable filterable size="small" placeholder="供应商" style="width:100%" @change="supplierChange">
<el-option
v-for="item in supplier"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="合同编号:">
<el-select v-model="contractNumValue" filterable size="small" placeholder="合同编号" style="width:100%" @change="contractChange">
@@ -14,11 +25,6 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="供应商:">
<el-input v-model="supplierName" size="small" readonly/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="合同名称:">
<el-input v-model="contractName" size="small"/>
@@ -129,6 +135,9 @@
</template>
</el-table-column>
</el-table>
<el-tooltip content="一键删除交货期" placement="right">
<el-button type="danger" icon="el-icon-date" size="small" @click="deleteAllDate()"/>
</el-tooltip>
<span>①选择合同模板</span>
<el-radio-group v-model="demoRadio" size="small" @change="demoChange">
<el-radio-button label="模板1"/>
@@ -156,7 +165,7 @@
<script>
import Tinymce from '@/components/Tinymce'
import { searchInquirySheet, searchSheetContract, doneContract, searchBaseInfo } from '@/api/PurchasingCenter/CreatePurchaseContract'
import { initSupplier, searchInquirySheet, searchSheetContract, doneContract, searchBaseInfo } from '@/api/PurchasingCenter/CreatePurchaseContract'
import { convertCurrency } from '@/vendor/int2Chinese'
import { mapGetters } from 'vuex'
import { sleep } from '@/utils/tool'
@@ -167,6 +176,7 @@ export default {
inject: ['reload'],
data() {
return {
supplier: [],
year: '',
month: '',
day: '',
@@ -226,7 +236,21 @@ export default {
this.fetchData()
},
methods: {
deleteAllDate() {
this.tableData1.map(v => {
v.交货期 = ''
})
},
fetchData() {
initSupplier(this.id).then(res => {
this.supplier = []
for (let i = 0; i < res.data.length; i++) {
this.supplier.push({
value: res.data[i].供应商流水号,
label: res.data[i].供应商名称
})
}
})
searchBaseInfo(this.id).then(res => {
this.fax2 = res.data[0] ? res.data[0].传真 : ''
this.postCode2 = '224053'
@@ -235,7 +259,8 @@ export default {
this.account2 = res.data[0] ? res.data[0].帐号 : ''
this.bank2 = res.data[0] ? res.data[0].开户行 : ''
})
searchInquirySheet(0, 0, 0, 0, 1, this.id).then(response => { // 初始化询价单号
searchInquirySheet(0, 0, 0, 0, 1, this.id, 0, 0).then(response => { // 初始化询价单号
this.contractNums = []
for (let i = 0; i < response.data.length; i++) {
this.contractNums.push({
value: response.data[i].询价单流水号,
@@ -263,6 +288,31 @@ export default {
this.contentNew = document.getElementsByClassName('editor-content')[0].innerHTML
this.$refs.tinymce.initTinymce()
},
supplierChange() {
let check
this.supplierValue ? check = 1 : check = 0
searchInquirySheet(0, 0, 0, 0, 1, this.id, check, this.supplierValue).then(response => { // 初始化询价单号
this.contractNums = []
this.contractNumValue = ''
for (let i = 0; i < response.data.length; i++) {
this.contractNums.push({
value: response.data[i].询价单流水号,
label: response.data[i].询价单编号,
supplierName: response.data[i].供应商名称,
supplierValue: response.data[i].供应商流水号,
supplierAddress: response.data[i].地址,
legalPerson: response.data[i].企业性质, // 法人
trustee: response.data[i].注册资本 || '', // 受托人
bank1: response.data[i].开户行 || '', // 开户行
account1: response.data[i].帐号 || '', // 帐号
taxCode1: response.data[i].税号 || '', // 税号
phone1: response.data[i].电话号码 || '', // 电话
fax1: response.data[i].传真 || '', // 传真
postCode1: response.data[i].货期 || '' // 邮编
})
}
})
},
contractChange() { // 选择合同select
for (let i = 0; i < this.contractNums.length; i++) {
if (this.contractNums[i].value === this.contractNumValue) {
@@ -572,7 +622,6 @@ export default {
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
// console.log(this.contractNum, this.contractName, this.deliveryDate, this.payDate, this.payMethod, this.invoiceInfo, this.otherInfo, this.actualTotal, this.id, this.supplierValue, this.单价是否含税, this.组件零件流水号组, this.组件零件基本件流水号组, this.数量组, this.单价组, this.交货期组, this.content)
doneContract(this.contractNum, this.contractName, this.deliveryDate, this.payDate, this.payMethod, this.invoiceInfo, this.otherInfo, this.actualTotal, this.id, this.supplierValue, this.单价是否含税, this.组件零件流水号组, this.组件零件基本件流水号组, this.数量组, this.单价组, this.交货期组, this.content).then(response => {
if (response.data[0].result === '1') {
this.$message.success('合同生成成功')

View File

@@ -46,6 +46,11 @@
<el-tag v-if="parseInt(scope.row.询价状态编号)!==1&&parseInt(scope.row.采购状态编号)===3" type="info" size="small">已采购</el-tag>
</template>
</el-table-column>
<el-table-column label="任务分配时间" align="center" min-width="100">
<template slot-scope="scope">
{{ scope.row.任务分配时间.split(' ')[0] }}
</template>
</el-table-column>
<el-table-column label="机床图号" align="center" min-width="100">
<template slot-scope="scope">
{{ scope.row.机床图号 }}
@@ -96,11 +101,6 @@
{{ scope.row.待采购数量 = Number(scope.row.零件数量) - Number(scope.row.使用滞货数量) }}
</template>
</el-table-column>
<el-table-column label="计划到货时间" align="center" min-width="100">
<template slot-scope="scope">
{{ scope.row.物料计划到货时间.split(' ')[0] }}
</template>
</el-table-column>
<el-table-column label="备注" align="center" min-width="100">
<template slot-scope="scope">
{{ scope.row.备注 }}
@@ -192,6 +192,11 @@
{{ scope.row.供货商 }}
</template>
</el-table-column>
<el-table-column label="参考价格" min-width="150" align="center">
<template slot-scope="scope">
{{ scope.row.参考价格 }}
</template>
</el-table-column>
<el-table-column label="当前库存量" min-width="90" align="center">
<template slot-scope="scope">
{{ scope.row.当前库存量 }}
@@ -396,19 +401,19 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="企业性质">
<el-form-item label="法人">
<el-input v-model="enterpriseNature" size="small"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="货期">
<el-form-item label="邮编">
<el-input v-model="goodTime" size="small"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="注册资本">
<el-form-item label="受托人">
<el-input v-model="registeredCapital" size="small"/>
</el-form-item>
</el-col>
@@ -479,12 +484,12 @@
{{ scope.row.供应商名称 }}
</template>
</el-table-column>
<el-table-column align="center" label="企业性质" min-width="100">
<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">
<el-table-column align="center" label="受托人" min-width="100">
<template slot-scope="scope">
{{ scope.row.注册资本 }}
</template>
@@ -974,6 +979,9 @@ export default {
this.disable = true
searchMateriel(this.offlineContractNum).then(response => {
this.tableData3 = response.data
this.tableData3.map(v => {
!v.单价 ? v.单价 = v.参考价格 : v.单价
})
})
} else { this.$message.error('数据占用,删除失败') }
})
@@ -1041,7 +1049,11 @@ export default {
this.offlineContractNum = row.离线合同流水号
this.离线合同状态 = row.离线合同状态
searchMateriel(this.offlineContractNum).then(response => {
console.log(response.data)
this.tableData3 = response.data
this.tableData3.map(v => {
!v.单价 ? v.单价 = v.参考价格 : v.单价
})
})
Number(row.离线合同状态) !== 1 ? this.disable = true : this.disable = false // 是否为编辑模式
},
@@ -1083,6 +1095,9 @@ export default {
this.$message.success('选入成功')
searchMateriel(this.offlineContractNum).then(response => {
this.tableData3 = response.data
this.tableData3.map(v => {
!v.单价 ? v.单价 = v.参考价格 : v.单价
})
})
} else { this.$message.error('选入失败') }
})
@@ -1099,6 +1114,9 @@ export default {
this.$message.success('移除成功')
searchMateriel(this.offlineContractNum).then(response => {
this.tableData3 = response.data
this.tableData3.map(v => {
!v.单价 ? v.单价 = v.参考价格 : v.单价
})
})
} else { this.$message.error('移除失败') }
})
@@ -1135,6 +1153,9 @@ export default {
this.searchTable2()
searchMateriel(this.offlineContractNum).then(response => {
this.tableData3 = response.data
this.tableData3.map(v => {
!v.单价 ? v.单价 = v.参考价格 : v.单价
})
})
} else { this.$message.error('离线合同保存失败') }
})
@@ -1171,6 +1192,9 @@ export default {
this.searchTable2()
searchMateriel(this.offlineContractNum).then(response => {
this.tableData3 = response.data
this.tableData3.map(v => {
!v.单价 ? v.单价 = v.参考价格 : v.单价
})
this.disable = true // 是否为编辑模式
})
} else { this.$message.error('离线合同生成失败') }