This commit is contained in:
Vergil
2020-02-03 15:46:37 +08:00
parent 9bdbacdfc4
commit 83b7a28113
24 changed files with 608 additions and 261 deletions

View File

@@ -49,3 +49,15 @@ export function edit2(num1) {
}
})
}
export function getExport(num1, num2, num3, num4) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '车间生产管理工艺_零件工艺计划_编制工艺_备料零件查询',
param: '零件图号_check=' + num1 + '&零件图号=' + num2 + '&备料打印_check=' + num3 + '&备料打印=' + num4 + '&备料到货=0'
}
})
}

View File

@@ -21,25 +21,25 @@ export function fetchDate(month) {
}
})
}
export function saveDate(time, num, partNum, partName, procedure, num1, num2, num3, number, time1) {
export function saveDate(num, partNum, procedure, num3, number, time1) {
return request({
url: '',
method: 'post',
data: {
type: '2',
name: '车间管理_其他数据_增加数据',
param: '加工日期=' + time + '&操作工流水号=' + num + '&零件图号=' + partNum + '&名称=' + partName + '&工序=' + procedure + '&责任人流水号=' + num1 + '&确认人流水号=' + num2 + '&录入人流水号=' + num3 + '&数量=' + number + '&单件工时=' + time1
param: '操作工流水号=' + num + '&零件图号=' + partNum + '&工序=' + procedure + '&录入人流水号=' + num3 + '&数量=' + number + '&单件工时=' + time1
}
})
}
export function editDate(ID, time, num, partNum, partName, procedure, num1, num2, num3, number, time1) {
export function editDate(ID, num, partNum, procedure, num3, number, time1) {
return request({
url: '',
method: 'post',
data: {
type: '2',
name: '车间管理_其他数据_编辑数据',
param: 'ID=' + ID + '&加工日期=' + time + '&操作工流水号=' + num + '&零件图号=' + partNum + '&名称=' + partName + '&工序=' + procedure + '&责任人流水号=' + num1 + '&确认人流水号=' + num2 + '&录入人流水号=' + num3 + '&数量=' + number + '&单件工时=' + time1
param: 'ID=' + ID + '&操作工流水号=' + num + '&零件图号=' + partNum + '&工序=' + procedure + '&录入人流水号=' + num3 + '&数量=' + number + '&单件工时=' + time1
}
})
}

View File

@@ -322,6 +322,18 @@ export function insertOne(num0, num1) {
}
})
}
// 主界面主表插入功能
export function insertOne1(num0, num1) {
return request({
url: '',
method: 'post',
data: {
type: '2',
name: '车间生产管理工艺_零件工序_修改数据_工艺计划流水号和工序流水号_更改',
param: '工艺计划流水号=' + num0 + '=int&工序流水号=' + num1 + '=int'
}
})
}
// 主界面主表删除功能
export function deleteOne(num0, num1) {
return request({
@@ -371,14 +383,14 @@ export function saveMaterial(num0, num1) {
})
}
// 核准保存
export function saveApprove(num0, num1, request0, spec, num2, outhelp, num3, num4, weight, area, num5, level) {
export function saveApprove(num0, num1, request0, spec, num2, outhelp, num3, num4, weight, area, num5, level, num6) {
return request({
url: '',
method: 'post',
data: {
type: '2',
name: '车间生产管理工艺_零件工序_增加数据_同时修改工艺计划',
param: '工艺计划流水号=' + num0 + '&工艺编号=' + num1 + '&工艺要求=' + request0 + '&原材料规格=' + spec + '&工序顺序=' + num2 + '&工序间是否外协=' + outhelp + '&工序流水号=' + num3 + '&材料流水号=' + num4 + '&重量=' + weight + '&面积=' + area + '&工艺人员编号=' + num5 + '&工艺难度等级=' + level
param: '工艺计划流水号=' + num0 + '&工艺编号=' + num1 + '&工艺要求=' + request0 + '&原材料规格=' + spec + '&工序顺序=' + num2 + '&工序间是否外协=' + outhelp + '&工序流水号=' + num3 + '&材料流水号=' + num4 + '&重量=' + weight + '&面积=' + area + '&工艺人员编号=' + num5 + '&工艺难度等级=' + level + '&工艺是否更改=' + num6
}
})
}
@@ -492,14 +504,14 @@ export function TableAddLi1(a, b) {
})
}
// 已编制定额保存
export function TableAddLi(a, b, c, num0, num1) {
export function TableAddLi(a, b, c, num0, num1, num2) {
return request({
url: '',
method: 'post',
data: {
type: '2',
name: '车间生产管理工艺_零件工序_增加数据_修改数据',
param: '单件定额工时=' + a + '=string&准结定额工时=' + b + '=string&零件图号=' + c + '=string&工序流水号=' + num0 + '=int&工艺计划流水号=' + num1 + '=int'
param: '单件定额工时=' + a + '=string&准结定额工时=' + b + '=string&零件图号=' + c + '=string&工序流水号=' + num0 + '=int&工艺计划流水号=' + num1 + '=int&是否加序=' + num2 + '=int'
}
})
}

View File

@@ -23,6 +23,18 @@ export function isExit(projectNum, machineNum) {
}
})
}
// 替换
export function updateNum(num, id) {
return request({
url: '',
method: 'post',
data: {
type: '2',
name: 'PDM_零件明细表_外购件和标准件_数据导入保存_更改物料流水号',
param: `物料流水号=${num}&id=${id}`
}
})
}
export function isExit1(projectNum, machineNum, groupNum) {
return request({
url: '',

View File

@@ -25,3 +25,15 @@ export function searchTable(check, supplierNameValue, check1, partNumber, check2
}
})
}
// 导出
export function searchTablesheet(check, supplierNameValue, check1, partNumber, check2, MaterialsValue, pageSize, pageCurrent) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '备料管理_外购备料_综合查询数据',
param: '供应商流水号_check=' + check + '&供应商流水号=' + supplierNameValue + '&零件图号_check=' + check1 + '&零件图号=' + partNumber + '&备料状态_check=' + check2 + '&备料状态=' + MaterialsValue
}
})
}

View File

@@ -1,32 +1,32 @@
import axios from 'axios'
export const wsuri = `ws://192.168.1.232:61101//WebMoudule//websocket`
export const wsuri = `ws://123.56.95.229:61101//WebMoudule//websocket`
export const name = `OP8888`
export const name1 = `OP1000`
export const name3 = `OP2000`
export const name4 = `OP9999`
// 创建axios实例
export const readFile = `http://192.168.1.231:8411/webpage/file/` // invoice
export const readImg = `http://192.168.1.231:8411/webpage/img/` // delivery/MS/performancebond
export const upload = `http://192.168.1.231:8411/submit/uploadFile.ashx` // ContractInformationManagement
export const upload2 = `http://192.168.1.231:8411/submit/upload2.ashx` // delivery
export const upload3 = `http://192.168.1.231:8411/submit/upload3.ashx` // performancebond
export const uploadInvoiceScan = `http://192.168.1.231:8411/submit/uploadInvoiceScan.ashx` // invoice
export const uploadInvoiceScan1 = `http://192.168.1.231:8411/submit/uploadInvoiceScan1.ashx` // invoice(workshop)
export const download = `http://192.168.1.231:8411/submit/downloadFile.ashx` // ContractInformationManagement
export const uploadPerson = `http://192.168.1.231:8411/submit/uploadPerson.ashx`
export const uploadOP = `http://192.168.1.231:8411/submit/uploadOP.ashx`
export const url = `http://192.168.1.231:8411/submit/MESCommonBase.ashx` // 采购件入库、离线件入库
export const ExcelDownLoad = 'http://192.168.1.231:8411/submit/downloadFile.ashx' // 导出excel
export const readFile = `http://123.56.95.229:8010/webpage/file/` // invoice
export const readImg = `http://123.56.95.229:8010/webpage/img/` // delivery/MS/performancebond
export const upload = `http://123.56.95.229:8010/submit/uploadFile.ashx` // ContractInformationManagement
export const upload2 = `http://123.56.95.229:8010/submit/upload2.ashx` // delivery
export const upload3 = `http://123.56.95.229:8010/submit/upload3.ashx` // performancebond
export const uploadInvoiceScan = `http://123.56.95.229:8010/submit/uploadInvoiceScan.ashx` // invoice
export const uploadInvoiceScan1 = `http://123.56.95.229:8010/submit/uploadInvoiceScan1.ashx` // invoice(workshop)
export const download = `http://123.56.95.229:8010/submit/downloadFile.ashx` // ContractInformationManagement
export const uploadPerson = `http://123.56.95.229:8010/submit/uploadPerson.ashx`
export const uploadOP = `http://123.56.95.229:8010/submit/uploadOP.ashx`
export const url = `http://123.56.95.229:8010/submit/MESCommonBase.ashx` // 采购件入库、离线件入库
export const ExcelDownLoad = 'http://123.56.95.229:8010/submit/downloadFile.ashx' // 导出excel
// 技术中心程序发布时要更改下面所有的IP到0段
export const ServerIP = `http://192.168.1.231:8411/webpage/file/`
export const uploadFileMachine = `http://192.168.1.231:8411/submit/uploadFileMachine.ashx` // 机床总图 发布时改成0.231
export const downloadFileMachine = `http://192.168.1.231:8411/submit/downloadFileMachine.ashx` // 机床总图 发布时改成0.231
export const MESUploadFile = `http://192.168.1.231:8411/submit/MESUploadFile.ashx`
export const MESDownloadFile = `http://192.168.1.231:8411/submit/MESDownloadFile.ashx`
export const ServerIP = `http://123.56.95.229:8010/webpage/file/`
export const uploadFileMachine = `http://123.56.95.229:8010/submit/uploadFileMachine.ashx` // 机床总图 发布时改成0.231
export const downloadFileMachine = `http://123.56.95.229:8010/submit/downloadFileMachine.ashx` // 机床总图 发布时改成0.231
export const MESUploadFile = `http://123.56.95.229:8010/submit/MESUploadFile.ashx`
export const MESDownloadFile = `http://123.56.95.229:8010/submit/MESDownloadFile.ashx`
const service = axios.create({
baseURL: `http://192.168.1.231:8411/submit/MESCommonBase.ashx`,
baseURL: `http://123.56.95.229:8010/submit/MESCommonBase.ashx`,
timeout: 1500000 // 请求超时时间
})
export default service

View File

@@ -2,27 +2,27 @@
<div class="app-container">
<el-card>
<el-row>
<span>机床编号:</span>
<el-select v-model="machineNumberValue" filterable placeholder="机床编号" size="small" style="margin: 3px 0;width: 130px" clearable @change="machineChange()">
<el-option
v-for="item in machineNumber"
:key="item.value"
:label="item.label"
:value="item.value">
<div style="float: left">{{ item.label }}</div>
<div style="float: right; color: #8492a6; font-size: 13px">{{ item.name }}</div>
</el-option>
</el-select>
<span style="margin-left: 10px">组号:</span>
<el-select v-model="groupNumberValue" filterable placeholder="组号" size="small" style="width: 130px" clearable>
<el-option
v-for="item in groupNumber"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<!--<span>机床编号:</span>-->
<!--<el-select v-model="machineNumberValue" filterable placeholder="机床编号" size="small" style="margin: 3px 0;width: 130px" clearable @change="machineChange()">-->
<!--<el-option-->
<!--v-for="item in machineNumber"-->
<!--:key="item.value"-->
<!--:label="item.label"-->
<!--:value="item.value">-->
<!--<div style="float: left">{{ item.label }}</div>-->
<!--<div style="float: right; color: #8492a6; font-size: 13px">{{ item.name }}</div>-->
<!--</el-option>-->
<!--</el-select>-->
<!--<span style="margin-left: 10px">组号:</span>-->
<!--<el-select v-model="groupNumberValue" filterable placeholder="组号" size="small" style="width: 130px" clearable>-->
<!--<el-option-->
<!--v-for="item in groupNumber"-->
<!--:key="item.value"-->
<!--:label="item.label"-->
<!--:value="item.value"/>-->
<!--</el-select>-->
<span style="margin-left: 10px">零件图号:</span>
<el-input v-model="PartDrawingNumber" filterable placeholder="零件图号" style="width: 130px" size="small" clearable/>
<el-input v-model="PartDrawingNumber" filterable placeholder="零件图号" style="width: 150px" size="small" clearable/>
<span class="demonstration" style="margin-left: 10px">时间区间:</span>
<el-date-picker
v-model="startTime"
@@ -45,30 +45,30 @@
</el-row>
</el-card>
<el-card>
<el-table :data="tableData1" border stripe size="mini" highlight-current-row style="width: 100%;margin-top: 3px" height="550px">
<el-table-column label="项目名称" prop="项目名称" align="center">
<el-table :data="tableData1" border stripe size="mini" highlight-current-row style="width: 840px;margin-top: 3px" height="550px">
<el-table-column label="项目名称" prop="项目名称" align="center" width="150" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.项目名称 }}
</template>
</el-table-column>
<el-table-column label="机床图号" prop="机床图号" align="center">
<el-table-column label="机床图号" prop="机床图号" align="center" width="180" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.机床图号 }}
</template>
</el-table-column>
<el-table-column label="零件图号" prop="零件图号" align="center">
<el-table-column label="零件图号" prop="零件图号" align="center" width="225" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.零件图号 }}
</template>
</el-table-column>
<el-table-column label="零件名称" prop="零件名称" align="center">
<el-table-column label="零件名称" prop="零件名称" align="center" width="150" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.零件名称 }}
</template>
</el-table-column>
<el-table-column label="出库时间" prop="出库时间" align="center">
<el-table-column label="出库时间" prop="出库时间" align="center" width="120" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.出库时间 }}
{{ scope.row.出库时间 | formatTime }}
</template>
</el-table-column>
</el-table>

View File

@@ -321,7 +321,7 @@ export default {
this.dialogFormVisible2 = true
},
deleteProcess() {
this.$confirm('确定删除该合同?', '提示', {
this.$confirm('确定删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'

View File

@@ -2,7 +2,7 @@
<div class="app-container">
<el-card>
<span>项目名称</span>
<el-select v-model="projectValue" filterable clearable size="small" style="margin-top:10px;width: 220px" placeholder="项目名称" @change="typeChange()">
<el-select v-model="projectValue" filterable clearable size="small" style="margin-right:10px;width: 180px" placeholder="项目名称" @change="typeChange">
<el-option
v-for="item in project"
:key="item.value"
@@ -10,13 +10,107 @@
:value="item.value"/>
</el-select>
<span>机床名称</span>
<el-select v-model="machineValue" clearable filterable size="small" style="margin-bottom:10px;width: 220px" placeholder="机床名称">
<el-select v-model="machineValue" clearable filterable size="small" style="margin-right:10px;width: 150px" placeholder="机床名称">
<el-option
v-for="item in machine"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<span>分组</span>
<el-select v-model="partValue" clearable filterable size="small" style="margin-right:10px;width: 80px" placeholder="分组">
<el-option
v-for="item in part"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<span>规格及型号</span>
<el-input v-model="specificationValue" clearable size="small" style="margin-right:10px;width: 150px" placeholder="规格型号"/>
<span>加工总工时小时:</span>
<el-input v-model="totalProcessingHours" clearable size="small" style="margin-right:10px;width: 100px"/>
<span>计划总工时小时:</span>
<el-input v-model="totalPlannedHours" clearable size="small" style="margin-right:10px;width: 100px"/>
<el-button size="small" type="success" icon="el-icon-search" style="margin: 0 0 0 10px" @click="searchTable()">查询</el-button>
</el-card>
<el-card>
<el-table :data="tableData" highlight-current-row border style="width: 100%;" size="mini" height="300">
<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-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-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>
</el-card>
</div>
</template>
@@ -29,7 +123,13 @@ export default {
project: [],
projectValue: '', // 项目名称
machineValue: '', // 机床名称
machine: []
machine: [],
part: [], // 分組
partValue: '',
specificationValue: '', // 规格型号
totalProcessingHours: '', // 加工总工时
totalPlannedHours: '', // 计划总工时
tableData: [] // 详情表
}
},
created() {

View File

@@ -18,47 +18,51 @@
<el-tooltip :open-delay="1200" effect="dark" content="打印备料单" placement="top">
<el-button type="primary" size="small" icon="el-icon-printer" style="margin-left:10px" @click="exportTable('BL')">打印自家备料单</el-button>
</el-tooltip>
<el-tooltip :open-delay="1000" effect="dark" content="导出备料分配单" placement="top">
<el-button type="warning" class="el-icon-download" size="small" style="margin: 10px 0 0 10px" @click="exportExcel">导出</el-button>
</el-tooltip>
</el-row>
</el-card>
<el-card>
<el-table v-loading="loading" :data="tableData" height="760" style="width: 100%;margin: 3px 0" size="mini" border stripe highlight-current-row element-loading-text="拼命加载中" @selection-change="handleSelectionChange">
<el-table v-loading="loading" :data="tableData" height="760" style="width: 1126px; margin: 3px 0" size="mini" border stripe highlight-current-row element-loading-text="拼命加载中" @selection-change="handleSelectionChange">
<el-table-column
type="selection"
width="55"
width="50"
align="center"/>
<el-table-column label="打印状态" prop="备料打印" align="center">
<el-table-column label="备料分配" prop="备料分配" align="center" width="90">
<template slot-scope="scope">
<el-tag v-if="scope.row.备料打印!=='0'" type="success" size="mini">已导出</el-tag>
<el-tag v-else type="warning" size="mini">未导出</el-tag>
<el-tag v-if="scope.row.备料打印 ==='1' && scope.row.是否外购备料==='0'" type="success" size="mini">自家</el-tag>
<el-tag v-if="scope.row.备料打印 ==='0' && scope.row.是否外购备料==='1'" type="success" size="mini">外购</el-tag>
<el-tag v-if="scope.row.备料打印 ==='0' && scope.row.是否外购备料==='0'" type="warning" size="mini">未分配</el-tag>
</template>
</el-table-column>
<el-table-column label="零件名称" prop="零件名称" align="center" >
<el-table-column label="零件名称" prop="零件名称" align="center" width="250" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.零件名称 }}
</template>
</el-table-column>
<el-table-column label="零件图号" prop="零件图号" align="center" >
<el-table-column label="零件图号" prop="零件图号" align="center" width="180" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.零件图号 }}
</template>
</el-table-column>
<el-table-column label="数量" align="center" >
<el-table-column label="数量" align="center" width="60">
<template slot-scope="scope">
{{ scope.row.批次数量 }}
</template>
</el-table-column>
<el-table-column label="材料" align="center" >
<el-table-column label="材料" align="center" width="120" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.材料 }}
</template>
</el-table-column>
<el-table-column label="重量" align="center" >
<el-table-column label="重量" align="center" width="60" >
<template slot-scope="scope">
{{ scope.row.重量 }}
</template>
</el-table-column>
<el-table-column label="备料" align="center">
<el-table-column label="工艺要求" align="center" width="300" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.工艺要求 }}
</template>
@@ -114,7 +118,7 @@
</template>
<script>
import { searchtable, searchtable2, edit, edit2 } from '@/api/ManufacturingCenter/CreatePreparationBill'
import { searchtable, searchtable2, edit, edit2, getExport } from '@/api/ManufacturingCenter/CreatePreparationBill'
import { exportExcelMethod } from './exportExcel'
import $ from 'jquery'
export default {
@@ -161,6 +165,7 @@ export default {
this.partNamecheck = false
}
searchtable(this.partNamecheck, this.partName, !this.all, 0, this.pageCurrent, this.pageSize).then(response => {
console.log(response)
if (response.data.total === 0) {
this.loading = false
} else {
@@ -178,6 +183,7 @@ export default {
零件名称: this.Data[i].零件名称,
零件图号: this.Data[i].零件图号,
备料打印: this.Data[i].备料打印,
是否外购备料: this.Data[i].是否外购备料,
工艺要求: response.data[0].工艺要求,
材料: this.Data[i].材料,
重量: this.Data[i].重量,
@@ -242,9 +248,38 @@ export default {
handleCurrentChange(val) {
this.pageCurrent = val
this.searchTable()
},
exportExcel() {
if (this.partName !== '' && this.partName !== null) {
this.partNamecheck = true
} else {
this.partNamecheck = false
}
getExport(this.partNamecheck, this.partName, !this.all, 0).then(res => {
console.log(res.data)
import('@/vendor/Export2Excel').then(excel => {
const tHeader = ['备料分配', '零件名称', '零件图号', '数量', '材料', '重量', '工艺要求']
const filterVal = ['分配状态', '零件名称', '零件图号', '批次数量', '材料', '重量', '工艺要求']
const list = res.data
const data = this.formatJson(filterVal, list)
excel.export_json_to_excel({
header: tHeader,
data,
filename: '备料分配表',
autoWidth: true,
bookType: 'xlsx'
})
})
})
},
formatJson(filterVal, jsonData) {
return jsonData.map(v => filterVal.map(j => {
return v[j]
}))
}
}
}
</script>
<style scoped>

View File

@@ -2,16 +2,6 @@
<div class="app-container">
<el-card>
<el-row>
<el-date-picker
v-model="time"
size="small"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="加工日期"
style="width: 140px;margin-top: 10px"
clearable
@change="change"/>
<el-select v-model="Person" style="width:100px" placeholder="操作工" size="small" filterable clearable>
<el-option
v-for="item in Persons"
@@ -19,27 +9,12 @@
:label="item.label"
:value="item.value"/>
</el-select>
<el-input v-model="partNumber" size="small" placeholder="零件图号" style="width: 150px" clearable/>
<el-input v-model="partName" size="small" placeholder="零件名称" style="width: 140px" clearable/>
<el-input v-model="partNumber" size="small" placeholder="零件图号及名称" style="width: 200px" clearable/>
<el-input v-model="procedureName" size="small" placeholder="工序名称" style="width: 100px" clearable/>
<span>数量</span>
<el-input-number v-model="number" :min="0" :step="1" size="small" placeholder="数量" style="width: 120px" clearable/>
<span>单件工时</span>
<el-input-number v-model="workTime" :min="0" :step="1" size="small" placeholder="单件工时" style="width: 120px" clearable/>
<el-select v-model="PersonLiable" style="width:100px" placeholder="责任人" size="small" filterable clearable>
<el-option
v-for="item in Persons"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<el-select v-model="ConfirmingPerson" style="width:100px" placeholder="确认人" size="small" filterable clearable>
<el-option
v-for="item in Persons"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
</el-row>
<el-row>
<el-button type="primary" size="small" icon="el-icon-plus" style="margin-left: 10px" @click="saveDate">保存</el-button>
@@ -66,16 +41,11 @@
{{ scope.row.操作工姓名 }}
</template>
</el-table-column>
<el-table-column label="零件图号" align="center" width="150">
<el-table-column label="零件图号及名称" align="center" width="150">
<template slot-scope="scope">
{{ scope.row.零件图号 }}
</template>
</el-table-column>
<el-table-column label="零件名称" align="center" width="150">
<template slot-scope="scope">
{{ scope.row.名称 }}
</template>
</el-table-column>
<el-table-column label="工序名称" align="center" width="100">
<template slot-scope="scope">
{{ scope.row.工序 }}
@@ -91,16 +61,6 @@
{{ scope.row.单件工时 }}
</template>
</el-table-column>
<el-table-column label="责任人" align="center" width="100">
<template slot-scope="scope">
{{ scope.row.责任人姓名 }}
</template>
</el-table-column>
<el-table-column label="确认人" align="center" width="100">
<template slot-scope="scope">
{{ scope.row.确认人姓名 }}
</template>
</el-table-column>
<el-table-column label="录入人" align="center" width="100">
<template slot-scope="scope">
{{ scope.row.录入人姓名 }}
@@ -116,7 +76,6 @@ import { mapGetters } from 'vuex'
export default {
data() {
return {
time: '',
Person: '',
Persons: [],
partNumber: '',
@@ -124,10 +83,8 @@ export default {
procedureName: '',
number: '',
workTime: '',
PersonLiable: '',
ConfirmingPerson: '',
tableData: [],
monthValue: ''
monthValue: new Date()
}
},
computed: {
@@ -141,11 +98,9 @@ export default {
},
created() {
this.searchPerson()
this.getNowFormatDate()
},
methods: {
change() {
console.log(this.time.slice(0, 7))
},
searchPerson() {
searchPerson().then(response => {
for (let i = 0; i < response.data.length; i++) {
@@ -156,6 +111,14 @@ export default {
}
})
},
getNowFormatDate() {
var year = this.monthValue.getFullYear()
var month = this.monthValue.getMonth() + 1
if (month >= 1 && month <= 9) {
month = '0' + month
}
this.monthValue = year + '-' + month
},
fetchDate() {
if (this.monthValue) {
fetchDate(this.monthValue).then(response => {
@@ -166,11 +129,10 @@ export default {
}
},
saveDate() {
if (this.time && this.Person && this.partNumber && this.partName && this.procedureName && this.number && this.workTime) {
saveDate(this.time, this.Person, this.partNumber, this.partName, this.procedureName, this.PersonLiable, this.ConfirmingPerson, this.id, this.number, this.workTime).then(response => {
if (this.Person && this.partNumber && this.procedureName && this.number && this.workTime) {
saveDate(this.Person, this.partNumber, this.procedureName, this.id, this.number, this.workTime).then(response => {
if (response.data[0].result === '1') {
this.$message.success('增加成功')
this.monthValue = this.time.slice(0, 7)
this.RemoveDate()
this.fetchDate()
} else {
@@ -182,11 +144,10 @@ export default {
}
},
editDate() {
if (this.time && this.Person && this.partNumber && this.partName && this.procedureName && this.number && this.workTime) {
editDate(this.ID, this.time, this.Person, this.partNumber, this.partName, this.procedureName, this.PersonLiable, this.ConfirmingPerson, this.id, this.number, this.workTime).then(response => {
if (this.Person && this.partNumber && this.procedureName && this.number && this.workTime) {
editDate(this.ID, this.Person, this.partNumber, this.procedureName, this.id, this.number, this.workTime).then(response => {
if (response.data[0].result === '1') {
this.$message.success('编辑成功')
this.monthValue = this.time.slice(0, 7)
this.RemoveDate()
this.fetchDate()
} else {
@@ -218,26 +179,18 @@ export default {
})
},
RemoveDate() {
this.time = ''
this.Person = ''
this.partNumber = ''
this.partName = ''
this.number = 0
this.workTime = 0
this.procedureName = ''
this.PersonLiable = ''
this.ConfirmingPerson = ''
},
searchTable(row) {
this.time = row.加工日期
this.Person = row.操作工流水号
this.partNumber = row.零件图号
this.partName = row.名称
this.procedureName = row.工序
this.number = row.数量
this.workTime = row.单件工时
this.PersonLiable = row.责任人流水号
this.ConfirmingPerson = row.确认人流水号
this.ID = row.ID
}
}

View File

@@ -20,7 +20,7 @@
</el-select>
<el-input v-model="Partpaint" placeholder="零件号" clearable size="small" style="width: 180px;margin:0px 10px;"/>
<el-button type="success" class="el-icon-search" size="small" style="margin: 0px 10px;" @click="pageCurrent = 1;pageSize = 50;getTableData()">查询</el-button>
<el-button :disabled="Name===1" type="success" class="el-icon-search" size="small" style="margin-left: 220px;" @click="submit">完成</el-button>
<el-button :disabled="Name===1" type="success" class="el-icon-finished" size="small" style="margin-left: 220px;background-color: green" @click="submit">完成</el-button>
</el-card>
<el-row>
<el-card style="width: 50%; float: left">

View File

@@ -47,7 +47,7 @@
{{ scope.row.修补准结工时 }}
</template>
</el-table-column>
<el-table-column align="center" label="实际工时" width="80px">
<el-table-column align="center" label="加工工时" width="80px">
<template slot-scope="scope">
{{ scope.row.设备工时 }}
</template>
@@ -67,7 +67,7 @@
{{ scope.row.备注 }}
</template>
</el-table-column>
<el-table-column align="center" label="日期" width="100px">
<el-table-column align="center" label="加工日期" width="100px">
<template slot-scope="scope">
{{ scope.row.操作时间 }}
</template>
@@ -132,8 +132,8 @@ export default {
return
}
import('@/vendor/Export2Excel').then(excel => {
const tHeader = ['姓名', '图号', '跟单号', '序号', '工序名称', '录入准结工时', '实际工时', '合格数', '不合格数', '备注', '日期', '计划准结工时', '计划定额工时', '项目名称', '机床图号', '组号', '设计', '材料']
const filterVal = ['姓名', '零件图号_短', '跟单号', '工序顺序', '工艺名称', '修补准结工时', '设备工时', '合格数', '不合格数', '备注', '操作时间', '准结定额工时', '单件定额工时', '项目名称', '机床图号', '组号', '设计者', '材料']
const tHeader = ['日期', '姓名', '图号', '跟单号', '序号', '工序名称', '录入准结工时', '实际工时', '合格数', '不合格数', '备注', '计划准结工时', '计划定额工时', '项目名称', '机床图号', '组号', '设计', '材料']
const filterVal = ['操作时间', '姓名', '零件图号_短', '跟单号', '工序顺序', '工艺名称', '修补准结工时', '设备工时', '合格数', '不合格数', '备注', '准结定额工时', '单件定额工时', '项目名称', '机床图号', '组号', '设计者', '材料']
const list = this.tableData
const data = this.formatJson(filterVal, list)
excel.export_json_to_excel({

View File

@@ -95,6 +95,16 @@
{{ scope.row.机床数量 }}
</template>
</el-table-column>
<el-table-column label="零件总数量" align="center" width="90px">
<template slot-scope="scope">
{{ scope.row.总数量 }}
</template>
</el-table-column>
<el-table-column label="投产总数量" align="center" width="115px">
<template slot-scope="scope">
<el-input-number v-model="scope.row.投产总数量" :min="0" size="mini" style="width: 90px"/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" width="90px">
<template slot-scope="scope">
{{ scope.row.零件备注 }}
@@ -140,6 +150,16 @@
{{ scope.row.机床数量 }}
</template>
</el-table-column>
<el-table-column label="零件总数量" align="center" width="90px">
<template slot-scope="scope">
{{ scope.row.总数量 }}
</template>
</el-table-column>
<el-table-column label="采购总数量" align="center" width="115px">
<template slot-scope="scope">
<el-input-number v-model="scope.row.采购总数量" :min="0" size="mini" style="width: 90px"/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" width="120">
<template slot-scope="scope">
{{ scope.row.备注 }}
@@ -180,6 +200,16 @@
{{ scope.row.机床数量 }}
</template>
</el-table-column>
<el-table-column label="零件总数量" align="center" width="90px">
<template slot-scope="scope">
{{ scope.row.总数量 }}
</template>
</el-table-column>
<el-table-column label="采购总数量" align="center" width="115px">
<template slot-scope="scope">
<el-input-number v-model="scope.row.采购总数量" :min="0" size="mini" style="width: 90px"/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" width="120">
<template slot-scope="scope">
{{ scope.row.备注 }}
@@ -601,6 +631,7 @@ export default {
MaterialSpecification: [],
MaterialModel: [],
NumberOfParts: [],
multipleSelection: [],
ReMarks: [],
projectName: '',
MachineToolNumber: '',
@@ -1113,67 +1144,29 @@ export default {
})
},
handleSelectionChange(val) {
if (this.PartType === '基本件') {
this.MaterialNum = []
this.BasicPartsNumber = []
this.MaterialName = []
this.PartToolNumber = []
this.Material = []
this.NumberOfParts = []
for (let i = 0; i < val.length; i++) {
this.MaterialNum[i] = val[i].物料流水号
this.BasicPartsNumber[i] = val[i].基本件流水号
this.MaterialName[i] = val[i].零件名称
this.PartToolNumber[i] = val[i].零件图号
this.Material[i] = val[i].材料
this.NumberOfParts[i] = val[i].零件数量
this.ReMarks[i] = val[i].零件备注
}
console.log(this.NumberOfParts, 1111)
} else if (this.PartType === '外购件') {
this.MaterialNum = []
this.MaterialCode = []
this.StandardPartsAndOutsourcing = []
this.MaterialName = []
this.MaterialSpecification = []
this.MaterialModel = []
this.NumberOfParts = []
for (let i = 0; i < val.length; i++) {
this.StandardPartsAndOutsourcing[i] = val[i].标准件和外购件流水号
this.MaterialNum[i] = val[i].物料流水号
this.MaterialCode[i] = val[i].物料代码
this.MaterialName[i] = val[i].物料名称
this.MaterialSpecification[i] = val[i].物料规格
this.MaterialModel[i] = val[i].物料型号
this.NumberOfParts[i] = val[i].零件数量
this.ReMarks[i] = val[i].备注
}
} else if (this.PartType === '标准件') {
this.MaterialNum = []
this.MaterialCode = []
this.StandardPartsAndOutsourcing = []
this.MaterialName = []
this.MaterialSpecification = []
this.MaterialModel = []
this.NumberOfParts = []
for (let i = 0; i < val.length; i++) {
this.StandardPartsAndOutsourcing[i] = val[i].标准件和外购件流水号
this.MaterialNum[i] = val[i].物料流水号
this.MaterialCode[i] = val[i].物料代码
this.MaterialName[i] = val[i].物料名称
this.MaterialSpecification[i] = val[i].物料规格
this.MaterialModel[i] = val[i].物料型号
this.NumberOfParts[i] = val[i].零件数量
this.ReMarks[i] = val[i].备注
}
}
this.multipleSelection = val
},
purchaseRequisition() {
if (this.RequisitionList !== '') {
if (this.time !== '' && this.time !== null) {
if (this.BasicPartsNumber.length !== 0 || this.StandardPartsAndOutsourcing.length !== 0) {
if (this.multipleSelection.length !== 0) {
this.result = 0
if (this.PartType === '基本件') {
this.MaterialNum = []
this.BasicPartsNumber = []
this.MaterialName = []
this.PartToolNumber = []
this.Material = []
this.NumberOfParts = []
for (let i = 0; i < this.multipleSelection.length; i++) {
this.MaterialNum[i] = this.multipleSelection[i].物料流水号
this.BasicPartsNumber[i] = this.multipleSelection[i].基本件流水号
this.MaterialName[i] = this.multipleSelection[i].零件名称
this.PartToolNumber[i] = this.multipleSelection[i].零件图号
this.Material[i] = this.multipleSelection[i].材料
this.NumberOfParts[i] = this.multipleSelection[i].投产总数量
this.ReMarks[i] = this.multipleSelection[i].零件备注
}
for (let i = 0; i < this.BasicPartsNumber.length; i++) {
purchaseRequisition(this.RequisitionList, this.projectName, this.projectFloatValue, this.MachineToolNumber, this.machineFloatValue, this.groupName, this.groupFloatValue, this.BasicPartsNumber[i], this.MaterialName[i], this.PartToolNumber[i], this.Material[i], this.NumberOfParts[i], 3, this.time, this.MaterialNum[i], this.ReMarks[i]).then(response => {
this.result += parseInt(response.data[0].result)
@@ -1204,6 +1197,23 @@ export default {
})
}
} else if (this.PartType === '外购件') {
this.MaterialNum = []
this.MaterialCode = []
this.StandardPartsAndOutsourcing = []
this.MaterialName = []
this.MaterialSpecification = []
this.MaterialModel = []
this.NumberOfParts = []
for (let i = 0; i < this.multipleSelection.length; i++) {
this.StandardPartsAndOutsourcing[i] = this.multipleSelection[i].标准件和外购件流水号
this.MaterialNum[i] = this.multipleSelection[i].物料流水号
this.MaterialCode[i] = this.multipleSelection[i].物料代码
this.MaterialName[i] = this.multipleSelection[i].物料名称
this.MaterialSpecification[i] = this.multipleSelection[i].物料规格
this.MaterialModel[i] = this.multipleSelection[i].物料型号
this.NumberOfParts[i] = this.multipleSelection[i].采购总数量
this.ReMarks[i] = this.multipleSelection[i].备注
}
for (let i = 0; i < this.StandardPartsAndOutsourcing.length; i++) {
purchaseRequisition1(this.RequisitionList, this.projectName, this.projectFloatValue, this.MachineToolNumber, this.machineFloatValue, this.groupName, this.groupFloatValue, this.StandardPartsAndOutsourcing[i], this.MaterialName[i], this.MaterialCode[i], this.MaterialSpecification[i], this.MaterialModel[i], this.NumberOfParts[i], 2, this.time, this.MaterialNum[i], this.ReMarks[i]).then(response => {
this.result += parseInt(response.data[0].result)
@@ -1234,6 +1244,23 @@ export default {
})
}
} else if (this.PartType === '标准件') {
this.MaterialNum = []
this.MaterialCode = []
this.StandardPartsAndOutsourcing = []
this.MaterialName = []
this.MaterialSpecification = []
this.MaterialModel = []
this.NumberOfParts = []
for (let i = 0; i < this.multipleSelection.length; i++) {
this.StandardPartsAndOutsourcing[i] = this.multipleSelection[i].标准件和外购件流水号
this.MaterialNum[i] = this.multipleSelection[i].物料流水号
this.MaterialCode[i] = this.multipleSelection[i].物料代码
this.MaterialName[i] = this.multipleSelection[i].物料名称
this.MaterialSpecification[i] = this.multipleSelection[i].物料规格
this.MaterialModel[i] = this.multipleSelection[i].物料型号
this.NumberOfParts[i] = this.multipleSelection[i].采购总数量
this.ReMarks[i] = this.multipleSelection[i].备注
}
for (let i = 0; i < this.StandardPartsAndOutsourcing.length; i++) {
purchaseRequisition1(this.RequisitionList, this.projectName, this.projectFloatValue, this.MachineToolNumber, this.machineFloatValue, this.groupName, this.groupFloatValue, this.StandardPartsAndOutsourcing[i], this.MaterialName[i], this.MaterialCode[i], this.MaterialSpecification[i], this.MaterialModel[i], this.NumberOfParts[i], 1, this.time, this.MaterialNum[i], this.ReMarks[i]).then(response => {
this.result += parseInt(response.data[0].result)
@@ -1276,8 +1303,23 @@ export default {
},
PurchasingDepartment() {
if (this.time !== '' && this.time !== null) {
if (this.BasicPartsNumber.length !== 0 || this.StandardPartsAndOutsourcing.length !== 0) {
if (this.multipleSelection.length !== 0) {
if (this.PartType === '基本件') {
this.MaterialNum = []
this.BasicPartsNumber = []
this.MaterialName = []
this.PartToolNumber = []
this.Material = []
this.NumberOfParts = []
for (let i = 0; i < this.multipleSelection.length; i++) {
this.MaterialNum[i] = this.multipleSelection[i].物料流水号
this.BasicPartsNumber[i] = this.multipleSelection[i].基本件流水号
this.MaterialName[i] = this.multipleSelection[i].零件名称
this.PartToolNumber[i] = this.multipleSelection[i].零件图号
this.Material[i] = this.multipleSelection[i].材料
this.NumberOfParts[i] = this.multipleSelection[i].投产总数量
this.ReMarks[i] = this.multipleSelection[i].零件备注
}
purchaseRequisition2(this.projectFloatValue, this.machineFloatValue, this.groupFloatValue, this.BasicPartsNumber, this.NumberOfParts, this.time).then(response => {
if (response.data[0].result !== '0') {
console.log(response.data[0].result)
@@ -1290,6 +1332,23 @@ export default {
}
})
} else {
this.MaterialNum = []
this.MaterialCode = []
this.StandardPartsAndOutsourcing = []
this.MaterialName = []
this.MaterialSpecification = []
this.MaterialModel = []
this.NumberOfParts = []
for (let i = 0; i < this.multipleSelection.length; i++) {
this.StandardPartsAndOutsourcing[i] = this.multipleSelection[i].标准件和外购件流水号
this.MaterialNum[i] = this.multipleSelection[i].物料流水号
this.MaterialCode[i] = this.multipleSelection[i].物料代码
this.MaterialName[i] = this.multipleSelection[i].物料名称
this.MaterialSpecification[i] = this.multipleSelection[i].物料规格
this.MaterialModel[i] = this.multipleSelection[i].物料型号
this.NumberOfParts[i] = this.multipleSelection[i].采购总数量
this.ReMarks[i] = this.multipleSelection[i].备注
}
PurchasingDepartment(this.groupFloatValue, this.StandardPartsAndOutsourcing, this.time, this.MaterialNum, this.NumberOfParts, this.projectFloatValue, this.machineFloatValue).then(response => {
if (response.data[0].result !== '0') {
this.$message.success('请购成功')
@@ -1315,7 +1374,22 @@ export default {
}
},
Production() {
if (this.PartType === '基本件' && this.BasicPartsNumber.length !== 0) {
if (this.PartType === '基本件' && this.multipleSelection.length !== 0) {
this.MaterialNum = []
this.BasicPartsNumber = []
this.MaterialName = []
this.PartToolNumber = []
this.Material = []
this.NumberOfParts = []
for (let i = 0; i < this.multipleSelection.length; i++) {
this.MaterialNum[i] = this.multipleSelection[i].物料流水号
this.BasicPartsNumber[i] = this.multipleSelection[i].基本件流水号
this.MaterialName[i] = this.multipleSelection[i].零件名称
this.PartToolNumber[i] = this.multipleSelection[i].零件图号
this.Material[i] = this.multipleSelection[i].材料
this.NumberOfParts[i] = this.multipleSelection[i].投产总数量
this.ReMarks[i] = this.multipleSelection[i].零件备注
}
Production(this.groupFloatValue, this.BasicPartsNumber, this.NumberOfParts, this.projectFloatValue, this.machineFloatValue).then(response => {
if (response.data[0].result !== '0') {
this.$message.success('投产成功')

View File

@@ -532,6 +532,7 @@ import {
getPartnames3,
getPartnames4,
modifyRemark,
insertOne1,
detailInfo
} from '@/api/ManufacturingCenter/ProcessPlanningNew'
import elInput from 'element-ui/packages/input'
@@ -697,6 +698,7 @@ export default {
result: 0,
oldNum: '',
newNum: '',
工艺是否更改: '',
// tableRecord: [],
materialName2: '',
material2: ''
@@ -1130,7 +1132,8 @@ export default {
label: response.data[i].零件图号,
value: response.data[i].工艺计划流水号,
machine: response.data[i].机床图号,
group: response.data[i].组号
group: response.data[i].组号,
update: response.data[i].工艺是否更改
})
}
})
@@ -1203,6 +1206,7 @@ export default {
this.material = response.data[0].材料流水号
this.materialName = response.data[0].材料
this.spec = response.data[0].原材料规格
this.工艺是否更改 = response.data[0].工艺是否更改
if (response.data[0].重量 === null) {
this.weight = ''
} else {
@@ -1509,13 +1513,13 @@ export default {
let 零件图号
let flag = 0
for (let i = 0; i < this.tableData.length; i++) {
saveApprove(this.tableData[i].工艺计划流水号, this.tableData[i].工艺编号, this.tableData[i].工艺要求, this.spec, this.tableData[i].工序顺序, this.tableData[i].工序间是否外协, this.tableData[i].工序流水号, this.material, '', '', this.CraftmenValue, this.tableData[i].工艺难度等级).then(() => {
saveApprove(this.tableData[i].工艺计划流水号, this.tableData[i].工艺编号, this.tableData[i].工艺要求, this.spec, this.tableData[i].工序顺序, this.tableData[i].工序间是否外协, this.tableData[i].工序流水号, this.material, '', '', this.CraftmenValue, this.tableData[i].工艺难度等级, this.工艺是否更改).then(() => {
for (let j = 0; j < this.partNum.length; j++) {
if (this.partNum[j].value === this.partNumValue) {
零件图号 = this.partNum[j].label
}
}
TableAddLi(this.tableData[i].单件定额工时, this.tableData[i].准结定额工时, 零件图号, this.tableData[i].工序流水号, this.tableData[i].工艺计划流水号).then(() => {
TableAddLi(this.tableData[i].单件定额工时, this.tableData[i].准结定额工时, 零件图号, this.tableData[i].工序流水号, this.tableData[i].工艺计划流水号, this.tableData[i].是否加序).then(() => {
flag++
if (flag === this.tableData.length) {
TableAddLi1(this.partNumValue, this.CraftmenValue).then(() => {
@@ -1544,9 +1548,15 @@ export default {
if (this.partNumValue === '') {
this.$message.error('请先选择一个零件')
} else {
insertOne(this.partNumValue, row.工序流水号).then(response => {
this.searchDetail()
})
if (this.工艺是否更改 === 1) {
insertOne1(this.partNumValue, row.工序流水号).then(response => {
this.searchDetail()
})
} else {
insertOne(this.partNumValue, row.工序流水号).then(response => {
this.searchDetail()
})
}
}
},
deleteOne(row) { // 删除行

View File

@@ -427,7 +427,7 @@
<!--:value="item.value"/>-->
<!--</el-select>-->
<div style="margin-top: 15px;">
<el-table :data="tableData4" border stripe style="width: 200px; text-align: center;display: inline-block;vertical-align: top;" size="mini" highlight-current-row @row-click="handleChange1">
<el-table :data="tableData4" border style="width: 200px; text-align: center;display: inline-block;vertical-align: top;" size="mini" highlight-current-row @row-click="handleChange1">
<el-table-column label="部门" align="center" >
<template slot-scope="scope">
{{ scope.row.部门名称 }}
@@ -517,40 +517,40 @@
</el-dialog>
<!--客户选择-->
<el-dialog v-el-drag-dialog :visible.sync="dialogCustomerFormVisible" title="客户选择" center width="800px">
<el-dialog v-el-drag-dialog :visible.sync="dialogCustomerFormVisible" title="客户选择" center width="400px">
<el-input v-model="Customer" clearable size="small" style="width:200px" placeholder="请输入客户名称"/>
<el-button type="success" icon="el-icon-search" size="small" style="margin-left: 10px" @click="PageSize1 = 30;PageCurrent1 = 1;fetchCustomerData()">查询</el-button>
<el-table v-loading="loading1" :data="CustomerData" highlight-current-row height="300" stripe border show-overflow-tooltip style="height: 330px; margin-top: 10px" size="mini" @row-click="handleCustomerChange">
<el-table-column label="省份" align="center" width="80">
<template slot-scope="scope">
{{ scope.row.省份 }}
</template>
</el-table-column>
<el-table v-loading="loading1" :data="CustomerData" highlight-current-row height="300" stripe border show-overflow-tooltip style="height: 350px; margin-top: 10px" size="mini" @row-click="handleCustomerChange">
<!-- <el-table-column label="省份" align="center" width="80">-->
<!-- <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" width="80">
<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" width="80">-->
<!-- <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>
<el-pagination
:current-page="PageCurrent1"
:page-sizes="[10, 20, 30, 40]"
:page-size="PageSize1"
:total="total1"
style="margin-top: 10px"
layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange1"
@current-change="handleCurrentChange1"/>
<!-- <el-pagination-->
<!-- :current-page="PageCurrent1"-->
<!-- :page-sizes="[10, 20, 30, 40]"-->
<!-- :page-size="PageSize1"-->
<!-- :total="total1"-->
<!-- style="margin-top: 10px"-->
<!-- layout="total, sizes, prev, pager, next, jumper"-->
<!-- @size-change="handleSizeChange1"-->
<!-- @current-change="handleCurrentChange1"/>-->
<div slot="footer" class="dialog-footer">
<el-button @click="offCustomerChange">取消</el-button>
<el-button type="primary" @click="getCustomerCode"> </el-button>
@@ -659,7 +659,7 @@ export default {
PageSize: 30,
total: null,
PageCurrent1: 1,
PageSize1: 30,
PageSize1: 100000,
total1: null,
infoDisable: true,
hetongID: '',

View File

@@ -179,13 +179,15 @@
</el-table-column>
<el-table-column label="库存(BZ)" align="center" min-width="70" prop="库存">
<template slot-scope="scope">
{{ Number(scope.row.零件类型) === 1 ? scope.row.库存 = Number(scope.row.货位存量 ? scope.row.货位存量 : 0) - Number(scope.row.占用数量) : '-' }}
{{ scope.row.库存 }}
</template>
</el-table-column>
<el-table-column label="使用库存数量" align="center" min-width="105" prop="使用库存数">
<template slot-scope="scope">
<span v-if="Number(scope.row.零件类型) !== 1">-</span>
<el-input-number v-if="Number(scope.row.零件类型) === 1" v-model="scope.row.使用库存数" :min="0" :max="Number(scope.row.零件数量) > (Number(scope.row.货位存量) - Number(scope.row.占用数量)) ? (Number(scope.row.货位存量) - Number(scope.row.占用数量) + Number(scope.row.使用库存数)) : Number(scope.row.零件数量)" :disabled="(Number(scope.row.货位存量) - Number(scope.row.占用数量)) === 0 || parseInt(scope.row.采购状态编号)===3" size="mini" style="width: 90px" @change="changeNumber(scope.row)"/>
<template v-if="scope.row.库存 === '0'">
</template>
<el-input-number v-else v-model="scope.row.使用库存数" :min="0" :max="Number(scope.row.零件数量) > (Number(scope.row.货位存量) - Number(scope.row.占用数量)) ? (Number(scope.row.货位存量) - Number(scope.row.占用数量) + Number(scope.row.使用库存数)) : Number(scope.row.零件数量)" :disabled="(Number(scope.row.货位存量) - Number(scope.row.占用数量)) === 0 || parseInt(scope.row.采购状态编号)===3" size="mini" style="width: 90px" @change="changeNumber(scope.row)"/>
</template>
</el-table-column>
<el-table-column label="已用滞货" align="center" min-width="70">

View File

@@ -341,6 +341,7 @@ export default {
return
} else {
if (this.worksheet[j].M2.v.substring(0, 1) !== '9') {
console.log(this.worksheet[j].P1, 123344)
this.worksheet[j].G1 ? establishment = this.worksheet[j].G1.v : establishment = ''
this.worksheet[j].I1 ? proofread = this.worksheet[j].I1.v : proofread = ''
this.worksheet[j].L1 ? review = this.worksheet[j].L1.v : review = ''

View File

@@ -144,11 +144,6 @@
highlight-current-row
border
stripe>
<el-table-column
label="序号"
align="center"
type="index"
width="50"/>
<el-table-column align="center" label="物料名称" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.物料名称 }}
@@ -169,6 +164,15 @@
{{ scope.row.供货商 }}
</template>
</el-table-column>
<el-table-column label="操作" align="center" fixed="right">
<template slot-scope="scope">
<el-button
size="mini"
type="primary"
@click="handle(scope.row)">替换
</el-button>
</template>
</el-table-column>
</el-table>
</el-card>
</el-col>
@@ -279,7 +283,7 @@
<script>
import { sleep } from '../../../utils/tool'
import { unSpecificationQuery, unSpecificationQueryWB, specificationQueryWB, specificationQuery, deleteBasicParts, deleteBWParts, getMaterial, getMaterialWB, searchMaterialWB, updateRow, updateRowWB, transferMX, transferWG, allDelete, searchMaterial1, getMachineNames } from '../../../api/TechnologyCenter/ImportParts'
import { unSpecificationQuery, unSpecificationQueryWB, specificationQueryWB, specificationQuery, deleteBasicParts, deleteBWParts, getMaterial, getMaterialWB, searchMaterialWB, updateRow, updateRowWB, transferMX, transferWG, allDelete, searchMaterial1, getMachineNames, updateNum } from '../../../api/TechnologyCenter/ImportParts'
export default {
name: 'SpecificationData',
props: {
@@ -316,6 +320,7 @@ export default {
pageSize: 10,
total: 0,
title: '',
NumId: '',
materials: [],
dialogFormVisible: false,
type: 0, // 零件类型 暂定1为基本件2为外购件和标准件
@@ -346,7 +351,8 @@ export default {
pageCurrentMaterial: 1,
pageSizeMaterial: 10,
totalMaterial: 0,
loadingMaterial: false
loadingMaterial: false,
multipleSelection: []
}
},
computed: {
@@ -403,6 +409,28 @@ export default {
return 'rgb196'
}
},
handle(row) {
this.$confirm('是否替换?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
updateNum(row.物料流水号, this.NumId).then(response => {
if (response.data[0].result === '1') {
this.$message.success('替换成功')
this.tableData10 = []
this.fetchData()
} else {
this.$message.error('替换失败')
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消替换'
})
})
},
async fetchData() {
this.pageCurrent = 1
this.tableData10 = []
@@ -519,6 +547,7 @@ export default {
}
},
searchMaterial1(row) {
this.NumId = row.id
searchMaterial1(row.图号或者型号, row.名称, row.规格).then(response => {
this.tableData10 = response.data
})

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>
@@ -96,12 +96,12 @@
{{ 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="230" 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>
@@ -137,7 +137,7 @@
:page-sizes="[10, 20, 30, 40]"
:page-size="pageSize2"
:total="total2"
style="display:inline-block;width:40%;float: right"
style="display:inline-block;width:40%;float: right;margin-right: 60px"
layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange2"
@current-change="handleCurrentChange2"/>
@@ -150,7 +150,7 @@
<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 +185,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>

View File

@@ -83,6 +83,7 @@
</el-card>
<el-card style="width: 54%;float: left;margin-left: 10px">
<span>到货单明细</span>
<!--<el-button type="primary" size="mini" icon="el-icon-download" style="margin-left:10px" @click="downloadExcel()">导出</el-button>-->
<el-table
v-loading=""
:data="tableData5"
@@ -96,7 +97,7 @@
size="mini"
@row-click="searchTable6">
<el-table-column width="60" align="center" type="index" label="序号"/>
<el-table-column label="材料" prop="材料" align="center" width="200">
<el-table-column label="材料" prop="材料" align="center" width="180">
<template slot-scope="scope">
{{ scope.row.材料 }}
</template>
@@ -495,15 +496,15 @@
</el-dialog>
</div>
</template>
<script>
import { searchPurchaseOrder, searchMateriel, addMateriel, searchArriveOrder, addPurchaseOrder, editPurchaseOrder, deletePurchaseOrder, searchTable5,
searchSupplier, deleteArrivalMX, EditArrivalOrderMX, AddArrivalOrderMX, deleteMateriel, searchTable6, searchLxPurchaseOrder, searchLxMateriel } from '@/api/WorkshopProcurement/NewArrivalList.js'
import { mapGetters } from 'vuex'
// import { ExcelWaiGou } from '@/utils/request'
export default {
data() {
return {
excle_row: [],
supplierNameValue: '',
supplierName: [], // 供应商
partNumber: '',
@@ -908,6 +909,7 @@ export default {
})
},
searchTable5(row) {
this.excle_row = row
console.log(this.userId, this.id)
this.disable = row.是否关联
console.log(this.disable)
@@ -1121,9 +1123,57 @@ export default {
message: '已取消操作'
})
})
},
// downloadExcel() {
// const _ExcelWaiGou = ExcelWaiGou
// this.download(`${_ExcelWaiGou}?type=Excel_NewArrivalList&folename=外购单&rec1=${this.excle_row.到货单流水号}&rec2=${this.excle_row.到货单流水号}&rec3=${this.excle_row.到货单流水号}&rec4=${this.excle_row.到货单流水号}`)
// },
/**
* 下载
* @param {String} url 目标文件地址
* @param {String} filename 想要保存的文件名称
*/
download(url) {
this.getBlob(url, function(blob, filename) {
saveAs(blob, filename)
})
},
getBlob(url, cb) {
var xhr = new XMLHttpRequest()
xhr.open('GET', url, true)
xhr.responseType = 'blob'
xhr.onload = function() {
if (xhr.status === 200) {
console.log(xhr, 1111)
const name = xhr.getResponseHeader('content-disposition').split('=')[1]
cb(xhr.response, name)
}
}
xhr.send()
}
}
}
/**
* 保存
* @param {Blob} blob
* @param {String} filename 想要保存的文件名称
*/
function saveAs(blob, filename = '下载文件.xls') {
if (window.navigator.msSaveOrOpenBlob) {
navigator.msSaveBlob(blob, filename)
} else {
var link = document.createElement('a')
var body = document.querySelector('body')
link.href = window.URL.createObjectURL(blob)
link.download = filename
// fix Firefox
link.style.display = 'none'
body.appendChild(link)
link.click()
body.removeChild(link)
window.URL.revokeObjectURL(link.href)
}
}
</script>
<style scoped>

View File

@@ -34,7 +34,7 @@
<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="total1=0;pageCurrent1=1;pageSize1=30;searchTable1()">查询</el-button>
</el-tooltip>
<el-button type="primary" size="small" icon="el-icon-circle-plus-outline" style="margin-left: 10px" @click="addTable1()">新增</el-button>
<el-button type="primary" size="small" icon="el-icon-circle-plus-outline" style="margin-left: 10px" @click="addTable1()">新增</el-button>
</el-row>
</el-card>
<el-card style="width: 58%;float: left">

View File

@@ -21,6 +21,7 @@
:value="item.value"/>
</el-select>
<el-button icon="el-icon-search" type="success" size="small" @click="pageCurrent = 1;pageSize = 100;getTableData()">查询</el-button>
<el-button type="primary" icon="el-icon-download" size="small" @click="exportExcel()">导出</el-button>
</div>
</el-card>
<el-card style="width: 72%">
@@ -116,7 +117,7 @@
</template>
<script>
import { searchSupplier, searchTable } from '@/api/WorkshopProcurement/OutsourcingMaterialsSearch'
import { searchSupplier, searchTable, searchTablesheet } from '@/api/WorkshopProcurement/OutsourcingMaterialsSearch'
export default {
name: 'Index',
data() {
@@ -147,6 +148,37 @@ export default {
this.getTableData()
},
methods: {
formatJson(filterVal, jsonData) {
return jsonData.map(v => filterVal.map(j => {
return v[j]
}))
},
exportExcel() {
let check, check1, check2
this.supplierNameValue ? check = 1 : check = 0
this.partNumber ? check1 = 1 : check1 = 0
if (this.MaterialsValue !== '' && this.MaterialsValue !== null) {
check2 = 1
} else {
check2 = 0
}
searchTablesheet(check, this.supplierNameValue, check1, this.partNumber, check2, this.MaterialsValue).then(res => {
console.log(res.data, 11)
import('@/vendor/Export2Excel').then(excel => {
const tHeader = ['备料状态', '供应商', '物料编码', '物料名称', '材料', '备件件数', '备料时间', '到货件数', '到货时间', '结算时间']
const filterVal = ['是否到货', '供应商名称', '物料编码', '零件名称', '材料', '采购数量', '下单日期', '到货数量', '日期', '开票时间']
const list = res.data
const data = this.formatJson(filterVal, list)
excel.export_json_to_excel({
header: tHeader,
data,
filename: '外购备料',
autoWidth: true,
bookType: 'xlsx'
})
})
})
},
fetchData() {
searchSupplier(0, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0, '').then(response => {
for (let i = 0; i < response.data.length; i++) {

View File

@@ -70,9 +70,9 @@
{{ scope.row.供应商名称 }}
</template>
</el-table-column>
<el-table-column label="请款时间" align="center" min-width="150">
<el-table-column label="请款时间" align="center" min-width="150" prop="date">
<template slot-scope="scope">
{{ scope.row.请款时间 }}
{{ scope.row.请款时间 | formatTime }}
</template>
</el-table-column>
<el-table-column label="请款人" align="center" min-width="80">
@@ -82,7 +82,7 @@
</el-table-column>
<el-table-column label="请款金额" align="center" min-width="90" prop="请款金额">
<template slot-scope="scope">
{{ scope.row.请款金额 }}
{{ parseFloat(scope.row.请款金额).toFixed(2) }}
</template>
</el-table-column>
<el-table-column label="请款付款情况" align="center">
@@ -134,7 +134,7 @@
</div>
</el-card>
<el-dialog v-el-drag-dialog :visible.sync="dialogVisible2" title="采购计划请款" center style="min-height: 300px" width="800px">
<el-dialog v-el-drag-dialog :visible.sync="dialogVisible2" title="外购备料请款" center style="min-height: 300px" width="800px">
<span>供应商:</span>
<el-select v-model="supplierValue" placeholder="供应商" filterable size="small" clearable @change="pageCurrent1=1;pageSize1=10;total1=0;searchTable01()">
<el-option
@@ -150,7 +150,7 @@
{{ scope.row.发票号 }}
</template>
</el-table-column>
<el-table-column label="供应商" align="center" min-width="250">
<el-table-column label="供应商" align="center" min-width="250" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.供应商名称 }}
</template>
@@ -160,6 +160,11 @@
{{ scope.row.开票金额 }}
</template>
</el-table-column>
<el-table-column label="开票时间" align="center" min-width="70">
<template slot-scope="scope">
{{ scope.row.开票时间 | formatTime }}
</template>
</el-table-column>
</el-table>
<span>合计:<el-input v-model="SUM" size="mini" style="width: 80px; margin: 10px 10px 0 10px"/>元</span>
<el-button type="primary" size="small" style="float:right;margin: 10px 10px 0 10px" icon="el-icon-check" @click="submitRequestFund">提交请款审批</el-button>
@@ -237,6 +242,14 @@ export default {
this.searchTable1()
},
methods: {
// dateFormat(row, column) {
// var date = row[column.property]
// console.log(date)
// if (date === undefined) {
// return ''
// }
// return util.formatDate.format(new Date(date), 'yyyy-MM-dd')
// },
fetchData() {
this.supplier = []
searchOfflineContract().then(response => {