This commit is contained in:
liushuai
2020-06-01 17:47:46 +08:00
parent 034436b307
commit d30a808bc9
13 changed files with 1145 additions and 81 deletions

View File

@@ -0,0 +1,124 @@
import request from '@/utils/request'
import state from '@/store'
import router from '@/router'
// export function projectSelect() {
// return request({
// url: '',
// method: 'post',
// data: {
// type: '1',
// name: 'PDM_项目名称_查询数据_按时间排序'
// }
// })
// }
export function machineSelect() {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: 'PDM_项目名称_查询数据'
}
})
}
export function groupSelect(machineValue) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: 'PDM_零件明细表_组件流水号_查询数据_根据机床',
param: `机床流水号=${machineValue}`
}
})
}
export function basicPartsData(machine_check, machine, group_check, group, Model_check, ModelValue, pageSize, pageCurrent) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: '零件分配查询_查询',
param: `机床流水号_check=${machine_check}&机床流水号=${machine}&组件流水号_check=${group_check}&组件流水号=${group}&规格_check=${Model_check}&规格=${ModelValue}`,
Pagination: pageCurrent + '&' + pageSize
}
})
}
// 根据机床和组查询规格型号 LLJ 新增
export function searchModel(machine_check, machine, group_check, group) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: '三表查询_根据机床组号查询规格型号',
param: `机床流水号_check=${machine_check}&机床流水号=${machine}&组件流水号_check=${group_check}&组件流水号=${group}`
}
})
}
export function purchasePartsData(machine_check, machine, group_check, group, Model_check, ModelValue, pageSize, pageCurrent) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: '零件分配查询_标准件和外购件_查询',
// param: `组件流水号=${num}`,
param: `机床流水号_check=${machine_check}&机床流水号=${machine}&组件流水号_check=${group_check}&组件流水号=${group}&规格_check=${Model_check}&规格=${ModelValue}`,
pagination: pageCurrent + '&' + pageSize
}
})
}
export function deleteBasicParts(basicNum) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '2',
name: 'PDM_零件明细表_基本件_删除数据',
param: `基本件流水号=${basicNum}`
}
})
}
export function deletePurchaseData(num) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '2',
name: 'PDM_零件明细表_标准件和外购件_删除数据',
param: '标准件和外购件流水号=' + num + '=int'
}
})
}
export function getFileData(MachineDrawValue) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: 'PDM_机床总图_查询数据',
param: `机床流水号=${MachineDrawValue}`
}
})
}

View File

@@ -161,7 +161,8 @@ export function searchDetailed1(num) {
} }
}) })
} }
export function purchaseRequisition(RequisitionList, projectName, projectFloatValue, MachineToolNumber, machineFloatValue, groupName, groupFloatValue, BasicPartsNumber, MaterialName, PartToolNumber, Material, NumberOfParts, PartType, time, MaterialNum, ReMarks) { export function purchaseRequisition(RequisitionList, projectName, projectFloatValue, MachineToolNumber, machineFloatValue, groupName, groupFloatValue, BasicPartsNumber, MaterialName, PartToolNumber, Material, NumberOfParts, PartType, time, MaterialNum, ReMarks, id) {
console.log(id, 9876787)
return request({ return request({
url: '', url: '',
method: 'post', method: 'post',
@@ -170,11 +171,11 @@ export function purchaseRequisition(RequisitionList, projectName, projectFloatVa
ModularID: router.currentRoute.path, ModularID: router.currentRoute.path,
type: '2', type: '2',
name: '车间管理_基本件采购_请购单明细_请购', name: '车间管理_基本件采购_请购单明细_请购',
param: '请购单流水号=' + RequisitionList + '&项目名称=' + projectName + '&项目流水号=' + projectFloatValue + '&机床图号=' + MachineToolNumber + '&机床流水号=' + machineFloatValue + '&组号=' + groupName + '&组件流水号=' + groupFloatValue + '&基本件流水号=' + BasicPartsNumber + '&物料名称=' + MaterialName + '&零件图号=' + PartToolNumber + '&材料=' + Material + '&零件数量=' + NumberOfParts + '&零件类型=' + PartType + '&物料计划到货时间=' + time + '&物料流水号=' + MaterialNum + '&备注=' + ReMarks param: '请购单流水号=' + RequisitionList + '&项目名称=' + projectName + '&项目流水号=' + projectFloatValue + '&机床图号=' + MachineToolNumber + '&机床流水号=' + machineFloatValue + '&组号=' + groupName + '&组件流水号=' + groupFloatValue + '&基本件流水号=' + BasicPartsNumber + '&物料名称=' + MaterialName + '&零件图号=' + PartToolNumber + '&材料=' + Material + '&零件数量=' + NumberOfParts + '&零件类型=' + PartType + '&物料计划到货时间=' + time + '&物料流水号=' + MaterialNum + '&备注=' + ReMarks + '&分配人员=' + id
} }
}) })
} }
export function purchaseRequisition1(RequisitionList, projectName, projectFloatValue, MachineToolNumber, machineFloatValue, groupName, groupFloatValue, StandardPartsAndOutsourcing, MaterialName, MaterialCode, MaterialSpecification, MaterialModel, NumberOfParts, PartType, time, MaterialNum, ReMarks) { export function purchaseRequisition1(RequisitionList, projectName, projectFloatValue, MachineToolNumber, machineFloatValue, groupName, groupFloatValue, StandardPartsAndOutsourcing, MaterialName, MaterialCode, MaterialSpecification, MaterialModel, NumberOfParts, PartType, time, MaterialNum, ReMarks, id) {
return request({ return request({
url: '', url: '',
method: 'post', method: 'post',
@@ -183,11 +184,11 @@ export function purchaseRequisition1(RequisitionList, projectName, projectFloatV
ModularID: router.currentRoute.path, ModularID: router.currentRoute.path,
type: '2', type: '2',
name: '车间管理_基本件采购_请购单明细_请购', name: '车间管理_基本件采购_请购单明细_请购',
param: '请购单流水号=' + RequisitionList + '&项目名称=' + projectName + '&项目流水号=' + projectFloatValue + '&机床图号=' + MachineToolNumber + '&机床流水号=' + machineFloatValue + '&组号=' + groupName + '&组件流水号=' + groupFloatValue + '&标准件和外购件流水号=' + StandardPartsAndOutsourcing + '&物料名称=' + MaterialName + '&物料代码=' + MaterialCode + '&物料规格=' + MaterialSpecification + '&物料型号=' + MaterialModel + '&零件数量=' + NumberOfParts + '&零件类型=' + PartType + '&物料计划到货时间=' + time + '&物料流水号=' + MaterialNum + '&备注=' + ReMarks param: '请购单流水号=' + RequisitionList + '&项目名称=' + projectName + '&项目流水号=' + projectFloatValue + '&机床图号=' + MachineToolNumber + '&机床流水号=' + machineFloatValue + '&组号=' + groupName + '&组件流水号=' + groupFloatValue + '&标准件和外购件流水号=' + StandardPartsAndOutsourcing + '&物料名称=' + MaterialName + '&物料代码=' + MaterialCode + '&物料规格=' + MaterialSpecification + '&物料型号=' + MaterialModel + '&零件数量=' + NumberOfParts + '&零件类型=' + PartType + '&物料计划到货时间=' + time + '&物料流水号=' + MaterialNum + '&备注=' + ReMarks + '&分配人员=' + id
} }
}) })
} }
export function purchaseRequisition2(projectFloatValue, machineFloatValue, groupFloatValue, BasicPartsNumber, NumberOfParts, time) { export function purchaseRequisition2(projectFloatValue, machineFloatValue, groupFloatValue, BasicPartsNumber, NumberOfParts, time, id) {
return request({ return request({
url: '', url: '',
method: 'post', method: 'post',
@@ -196,7 +197,7 @@ export function purchaseRequisition2(projectFloatValue, machineFloatValue, group
ModularID: router.currentRoute.path, ModularID: router.currentRoute.path,
type: '2', type: '2',
name: '车间管理_采购部采购_基本件_传递数据', name: '车间管理_采购部采购_基本件_传递数据',
param: `组件流水号=${groupFloatValue}&基本件流水号组=${BasicPartsNumber}&项目流水号=${projectFloatValue}&机床流水号=${machineFloatValue}&物料计划到货时间=${time}&零件数量组=${NumberOfParts}` param: `组件流水号=${groupFloatValue}&基本件流水号组=${BasicPartsNumber}&项目流水号=${projectFloatValue}&机床流水号=${machineFloatValue}&物料计划到货时间=${time}&零件数量组=${NumberOfParts}&分配人员=${id}`
} }
}) })
} }
@@ -239,7 +240,7 @@ export function MoveOut1(num, num1) {
} }
}) })
} }
export function PurchasingDepartment(num, num1, time, MaterialNum, NumberOfParts, projectFloatValue, machineFloatValue) { export function PurchasingDepartment(num, num1, time, MaterialNum, NumberOfParts, projectFloatValue, machineFloatValue, id) {
return request({ return request({
url: '', url: '',
method: 'post', method: 'post',
@@ -248,7 +249,7 @@ export function PurchasingDepartment(num, num1, time, MaterialNum, NumberOfParts
ModularID: router.currentRoute.path, ModularID: router.currentRoute.path,
type: '2', type: '2',
name: '车间管理_车间采购_标准件和外购件_传递数据', name: '车间管理_车间采购_标准件和外购件_传递数据',
param: `组件流水号=${num}&标准件和外购件流水号组=${num1}&物料计划到货时间=${time}=datetime&物料流水号组=${MaterialNum}&零件数量组=${NumberOfParts}&项目流水号=${projectFloatValue}&机床流水号=${machineFloatValue}` param: `组件流水号=${num}&标准件和外购件流水号组=${num1}&物料计划到货时间=${time}=datetime&物料流水号组=${MaterialNum}&零件数量组=${NumberOfParts}&项目流水号=${projectFloatValue}&机床流水号=${machineFloatValue}&分配人员=${id}`
} }
}) })
} }
@@ -265,7 +266,7 @@ export function PurchasingDepartmentBack(num, num1, MaterialNum, NumberOfParts,
} }
}) })
} }
export function Production(num, MaterialNum, Number, projectFloatValue, machineFloatValue) { export function Production(num, MaterialNum, Number, projectFloatValue, machineFloatValue, id) {
return request({ return request({
url: '', url: '',
method: 'post', method: 'post',
@@ -274,7 +275,7 @@ export function Production(num, MaterialNum, Number, projectFloatValue, machineF
ModularID: router.currentRoute.path, ModularID: router.currentRoute.path,
type: '2', type: '2',
name: '车间管理_车间采购_基本件_传递数据', name: '车间管理_车间采购_基本件_传递数据',
param: `组件流水号=${num}&基本件流水号组=${MaterialNum}&零件数量组=${Number}&项目流水号=${projectFloatValue}&机床流水号=${machineFloatValue}` param: `组件流水号=${num}&基本件流水号组=${MaterialNum}&零件数量组=${Number}&项目流水号=${projectFloatValue}&机床流水号=${machineFloatValue}&分配人员=${id}`
} }
}) })
} }

View File

@@ -1132,7 +1132,7 @@ export default {
if (this.$refs['form3'] !== undefined) { if (this.$refs['form3'] !== undefined) {
this.$refs['form3'].resetFields() this.$refs['form3'].resetFields()
} }
console.log(row.跟单号, row.考核状态, row.状态) console.log(row.跟单号, row.考核状态, row.状态, row.材料流水号)
if (row.基本件流水号 && this.type === 1 && row.跟单号 !== null) { if (row.基本件流水号 && this.type === 1 && row.跟单号 !== null) {
this.$confirm('跟单已打出,是否确定修改?', '提示', { this.$confirm('跟单已打出,是否确定修改?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
@@ -1145,7 +1145,8 @@ export default {
this.form3.数量 = row.零件数量 this.form3.数量 = row.零件数量
this.form3.名称 = row.零件名称 this.form3.名称 = row.零件名称
this.form3.零件图号 = row.零件图号 this.form3.零件图号 = row.零件图号
this.form3.材料 = row.材料流水号 this.form3.材料 = parseInt(row.材料流水号)
console.log(this.form3.材料, 123)
if (row.考核状态 >= 6 && row.状态 === '已加工') { if (row.考核状态 >= 6 && row.状态 === '已加工') {
this.editnumber = true this.editnumber = true
} else { } else {
@@ -1164,7 +1165,7 @@ export default {
this.form3.数量 = row.零件数量 this.form3.数量 = row.零件数量
this.form3.名称 = row.零件名称 this.form3.名称 = row.零件名称
this.form3.零件图号 = row.零件图号 this.form3.零件图号 = row.零件图号
this.form3.材料 = row.材料 this.form3.材料 = parseInt(row.材料流水号)
if (row.考核状态 >= 6 && row.状态 === '已加工') { if (row.考核状态 >= 6 && row.状态 === '已加工') {
this.editnumber = true this.editnumber = true
} else { } else {

View File

@@ -31,7 +31,7 @@
</el-row> </el-row>
</el-card> </el-card>
<el-card> <el-card>
<el-table v-loading="loading" :data="tableData" style="width: 1020px" height="580" stripe size="mini" border @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="tableData" style="width: 1220px" height="580" stripe size="mini" border @selection-change="handleSelectionChange">
<el-table-column <el-table-column
type="selection" type="selection"
width="45"/> width="45"/>

View File

@@ -18,6 +18,7 @@
:label="item.label" :label="item.label"
:value="item.value"/> :value="item.value"/>
</el-select> </el-select>
<el-button type="text" plain style="float: right;margin-right: 20px;margin-top: 5px" @click="turnTo()">成组配套查询</el-button>
</el-card> </el-card>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
@@ -128,11 +129,11 @@ export default {
watch: { watch: {
'$route': { '$route': {
handler(route) { handler(route) {
console.log(this.$route.query.机床流水号, 8765678)
if (this.$route.query.机床流水号) { if (this.$route.query.机床流水号) {
console.log(this.$route.query.机床流水号) console.log(this.$route.query.机床流水号, 9877777777777)
this.getTreeData2(this.$route.query.机床流水号) this.getTreeData2(parseInt(this.$route.query.机床流水号))
} else { } else {
// var that = this
if (!this.MachineValue) { if (!this.MachineValue) {
this.getMachine() this.getMachine()
} }
@@ -145,6 +146,14 @@ export default {
// this.getMachine() // this.getMachine()
}, },
methods: { methods: {
turnTo() {
this.$router.push({
path: '/ManufacturingCenter/GroupMatching',
query: {
机床流水号: this.MachineValue
}
})
},
getTreeData2(num) { getTreeData2(num) {
this.MachineValue = '' this.MachineValue = ''
this.Machine = [] this.Machine = []

View File

@@ -557,8 +557,26 @@ export default {
tableDataPurchase: [] tableDataPurchase: []
} }
}, },
created() { watch: {
'$route': {
handler(route) {
console.log(this.$route.query.机床流水号, 8765678)
if (this.$route.query.机床流水号) {
this.materialName = ''
this.Group = ''
this.Groups = []
this.SearchMachine2(parseInt(this.$route.query.机床流水号))
} else {
if (!this.Machine) {
this.SearchMachine() this.SearchMachine()
}
}
},
immediate: true
}
},
created() {
// this.SearchMachine()
}, },
methods: { methods: {
sortChange(column, prop, order) { sortChange(column, prop, order) {
@@ -732,6 +750,21 @@ export default {
} }
}) })
}, },
// 查询机床2
SearchMachine2(num) {
searchmachine().then(response => {
this.Machines = []
for (let i = 0; i < response.data.length; i++) {
this.Machines.push({
label: response.data[i].机床图号,
value: response.data[i].机床流水号,
value2: response.data[i].装配状态
})
}
}).then(() => {
this.Machine = num
})
},
// 查询组号 // 查询组号
searchGroupList() { searchGroupList() {
this.Group = '' this.Group = ''

View File

@@ -0,0 +1,220 @@
/* eslint-disable */
require('script-loader!file-saver');
import XLSX from 'xlsx'
function generateArray(table) {
var out = [];
var rows = table.querySelectorAll('tr');
var ranges = [];
for (var R = 0; R < rows.length; ++R) {
var outRow = [];
var row = rows[R];
var columns = row.querySelectorAll('td');
for (var C = 0; C < columns.length; ++C) {
var cell = columns[C];
var colspan = cell.getAttribute('colspan');
var rowspan = cell.getAttribute('rowspan');
var cellValue = cell.innerText;
if (cellValue !== "" && cellValue == +cellValue) cellValue = +cellValue;
//Skip ranges
ranges.forEach(function (range) {
if (R >= range.s.r && R <= range.e.r && outRow.length >= range.s.c && outRow.length <= range.e.c) {
for (var i = 0; i <= range.e.c - range.s.c; ++i) outRow.push(null);
}
});
//Handle Row Span
if (rowspan || colspan) {
rowspan = rowspan || 1;
colspan = colspan || 1;
ranges.push({
s: {
r: R,
c: outRow.length
},
e: {
r: R + rowspan - 1,
c: outRow.length + colspan - 1
}
});
};
//Handle Value
outRow.push(cellValue !== "" ? cellValue : null);
//Handle Colspan
if (colspan)
for (var k = 0; k < colspan - 1; ++k) outRow.push(null);
}
out.push(outRow);
}
return [out, ranges];
};
function datenum(v, date1904) {
if (date1904) v += 1462;
var epoch = Date.parse(v);
return (epoch - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000);
}
function sheet_from_array_of_arrays(data, opts) {
var ws = {};
var range = {
s: {
c: 10000000,
r: 10000000
},
e: {
c: 0,
r: 0
}
};
for (var R = 0; R != data.length; ++R) {
for (var C = 0; C != data[R].length; ++C) {
if (range.s.r > R) range.s.r = R;
if (range.s.c > C) range.s.c = C;
if (range.e.r < R) range.e.r = R;
if (range.e.c < C) range.e.c = C;
var cell = {
v: data[R][C]
};
if (cell.v == null) continue;
var cell_ref = XLSX.utils.encode_cell({
c: C,
r: R
});
if (typeof cell.v === 'number') cell.t = 'n';
else if (typeof cell.v === 'boolean') cell.t = 'b';
else if (cell.v instanceof Date) {
cell.t = 'n';
cell.z = XLSX.SSF._table[14];
cell.v = datenum(cell.v);
} else cell.t = 's';
ws[cell_ref] = cell;
}
}
if (range.s.c < 10000000) ws['!ref'] = XLSX.utils.encode_range(range);
return ws;
}
function Workbook() {
if (!(this instanceof Workbook)) return new Workbook();
this.SheetNames = [];
this.Sheets = {};
}
function s2ab(s) {
var buf = new ArrayBuffer(s.length);
var view = new Uint8Array(buf);
for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
return buf;
}
export function export_table_to_excel(id) {
var theTable = document.getElementById(id);
var oo = generateArray(theTable);
var ranges = oo[1];
/* original data */
var data = oo[0];
var ws_name = "SheetJS";
var wb = new Workbook(),
ws = sheet_from_array_of_arrays(data);
/* add ranges to worksheet */
// ws['!cols'] = ['apple', 'banan'];
ws['!merges'] = ranges;
/* add worksheet to workbook */
wb.SheetNames.push(ws_name);
wb.Sheets[ws_name] = ws;
var wbout = XLSX.write(wb, {
bookType: 'xlsx',
bookSST: false,
type: 'binary'
});
saveAs(new Blob([s2ab(wbout)], {
type: "application/octet-stream"
}), "test.xlsx")
}
export function export_json_to_excel({
multiHeader = [],
header,
data,
filename,
merges = [],
autoWidth = true,
bookType= 'xlsx'
} = {}) {
/* original data */
filename = filename || 'excel-list'
data = [...data]
data.unshift(header);
for (let i = multiHeader.length-1; i > -1; i--) {
data.unshift(multiHeader[i])
}
var ws_name = "SheetJS";
var wb = new Workbook(),
ws = sheet_from_array_of_arrays(data);
if (merges.length > 0) {
if (!ws['!merges']) ws['!merges'] = [];
merges.forEach(item => {
ws['!merges'].push(XLSX.utils.decode_range(item))
})
}
if (autoWidth) {
/*设置worksheet每列的最大宽度*/
const colWidth = data.map(row => row.map(val => {
/*先判断是否为null/undefined*/
if (val == null) {
return {
'wch': 10
};
}
/*再判断是否为中文*/
else if (val.toString().charCodeAt(0) > 255) {
return {
'wch': val.toString().length * 2
};
} else {
return {
'wch': val.toString().length
};
}
}))
/*以第一行为初始值*/
let result = colWidth[0];
for (let i = 1; i < colWidth.length; i++) {
for (let j = 0; j < colWidth[i].length; j++) {
if (result[j]['wch'] < colWidth[i][j]['wch']) {
result[j]['wch'] = colWidth[i][j]['wch'];
}
}
}
ws['!cols'] = result;
}
/* add worksheet to workbook */
wb.SheetNames.push(ws_name);
wb.Sheets[ws_name] = ws;
var wbout = XLSX.write(wb, {
bookType: bookType,
bookSST: false,
type: 'binary'
});
saveAs(new Blob([s2ab(wbout)], {
type: "application/octet-stream"
}), `${filename}.${bookType}`);
}

View File

@@ -0,0 +1,594 @@
<template>
<div class="app-container">
<el-card>
<el-select v-model="machineValue" placeholder="机床图号" style="width: 150px" filterable size="small">
<el-option
v-for="item in machine"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<el-select v-model="groupValue" placeholder="组号" style="width: 150px;margin-top: 10px;margin-bottom: 5px" filterable size="small" clearable="">
<el-option
v-for="item in group"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<el-input v-model="ModelValue" placeholder="名称规格型号" style="width: 180px" size="small" clearable/>
<el-button icon="el-icon-search" type="primary" plain size="small" style="margin-left:10px" @click="pageCurrentWB = 1;pageSizeWB = 1000;pageCurrent = 1;pageSize = 1000;getTableData()">查询</el-button>
<!-- <el-tooltip :open-delay="1000" effect="dark" content="导出查询数据" placement="top">
<el-button v-positive="'loading'" type="warning" size="small" icon="el-icon-download" plain style="margin-left:10px" @click="exportExcel()">导出</el-button>
</el-tooltip> -->
</el-card>
<!-- <el-card>
<div v-for="(file, key) in hadFile" :key="key">
<div class="wrapper">
<div class="content">
<div class="action"/>
<div v-if="file.suffix==='pdf'" class="icon"><svg-icon icon-class="pdf" /></div>
<div v-else-if="file.suffix==='docx'|| file.suffix === 'doc'" class="icon"><svg-icon icon-class="doc" /></div>
<div v-else-if="file.suffix==='xlsx' || file.suffix === 'xls'" class="icon"><svg-icon icon-class="excel" /></div>
<div v-else-if="file.suffix==='pptx' || file.suffix === 'ppt'" class="icon"><svg-icon icon-class="ppt" /></div>
<div v-else-if="file.suffix==='jpg' || file.suffix === 'jpeg'|| file.suffix === 'png'" class="icon"><svg-icon icon-class="pic" /></div>
<div v-else class="icon"><svg-icon icon-class="file" /></div>
<a :href="file.url" target="view_window"><div class="info">{{ file.name }}</div></a>
</div>
</div>
</div>
</el-card> -->
<el-card>
<!-- <div style="font-size: 22px;font-weight: bold;margin-top: 5px">自制件</div> -->
<el-table
v-loading="loading"
:data="tableData"
:row-class-name="tableRowClassName1"
highlight-current-row
border
stripe
size="mini"
style="width: 100%;max-height: 600px"
height="600">
<el-table-column
label="序号"
align="center"
type="index"
width="50"/>
<el-table-column align="center" label="零件分配" width="80">
<template slot-scope="scope">
{{ scope.row.零件分配 }}
</template>
</el-table-column>
<el-table-column
label="机床图号"
align="center"
prop="机床图号"
min-width="100px">
<template slot-scope="scope">{{ scope.row.机床图号 }}</template>
</el-table-column>
<el-table-column
label="组号"
align="center"
prop="组号"
min-width="60px">
<template slot-scope="scope">{{ scope.row.组号 }}</template>
</el-table-column>
<el-table-column
label="零件图号"
align="center"
prop="零件图号"
min-width="140px">
<template slot-scope="scope">{{ scope.row.零件图号 }}</template>
</el-table-column>
<el-table-column
label="零件名称"
align="center"
prop="零件名称"
min-width="140px"
show-overflow-tooltip>
<template slot-scope="scope">{{ scope.row.零件名称 }}</template>
</el-table-column>
<el-table-column
label="物料名称"
align="center"
prop="物料名称"
min-width="140px"
show-overflow-tooltip>
<template slot-scope="scope">{{ scope.row.物料名称 }}</template>
</el-table-column>
<el-table-column
label="零件数量"
width="80"
align="center">
<template slot-scope="scope">{{ scope.row.零件数量 }}</template>
</el-table-column>
<el-table-column label="部件数量" align="center" min-width="80">
<template slot-scope="scope">
{{ scope.row.部件数量 }}
</template>
</el-table-column>
<el-table-column label="机床数量" align="center" min-width="80">
<template slot-scope="scope">
{{ scope.row.机床数量 }}
</template>
</el-table-column>
<el-table-column
label="材料"
prop="材料"
align="center"
show-overflow-tooltip>
<template slot-scope="scope">{{ scope.row.材料 }}</template>
</el-table-column>
<el-table-column
label="规格"
prop="规格"
align="center"
show-overflow-tooltip>
<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.零件类型名称 }}</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.分配时间 }}</template>
</el-table-column>
<!-- <el-table-column align="center" label="分类码" width="150">
<template slot-scope="scope">
{{ scope.row.分类码 }}
</template>
</el-table-column>
<el-table-column align="center" label="旧零件图号" width="150">
<template slot-scope="scope">
{{ scope.row.前零件图号 }}
</template>
</el-table-column>
<el-table-column align="center" label="整改类型" width="150">
<template slot-scope="scope">
{{ scope.row.整改类型 }}
</template>
</el-table-column>
<el-table-column align="center" label="导入人" width="100">
<template slot-scope="scope">
{{ scope.row.导入人员 }}
</template>
</el-table-column>
<el-table-column align="center" label="导入时间" width="100">
<template slot-scope="scope">
{{ scope.row.操作日期 | formatTime }}
</template>
</el-table-column> -->
<!--<el-table-column label="操作" fixed="right" align="center" width="100">-->
<!--<template slot-scope="scope">-->
<!--<el-button-->
<!--:disabled="Number(id)!==0"-->
<!--size="mini"-->
<!--type="text"-->
<!--icon="el-icon-delete"-->
<!--@click="handleDelete(scope.row)"/>-->
<!--</template>-->
<!--</el-table-column>-->
</el-table>
<div class="block" style="margin-top: 10px;">
<el-pagination
:current-page="pageCurrent"
:page-sizes="[10, 20, 30, 40, 100]"
:page-size="pageSize"
:total="total"
layout="total"
@size-change="handleSizeChanges"
@current-change="handleCurrentChanges"/>
</div>
</el-card>
<!-- <el-card>
<div style="font-size: 22px;font-weight: bold;margin-top: 5px">
外购件
<el-tooltip :open-delay="1000" effect="dark" content="导出查询数据" placement="top">
<el-button v-positive="'loading'" type="warning" size="small" icon="el-icon-download" plain style="float: right;margin: 3px 150px 5px 0" @click="exportExcel2()">导出</el-button>
</el-tooltip>
</div>
<el-table v-loading="loadingWB" :data="tableDataWB" style="width: 100%;min-height: 600px;" size="mini" stripe height="500" highlight-current-row border>
<el-table-column label="序号" align="center" type="index" width="50" fixed/>
<el-table-column align="center" label="零件分配" width="100" fixed>
<template slot-scope="scope">
{{ scope.row.零件分配 }}
</template>
</el-table-column>
<el-table-column align="center" prop="物料名称" label="物料名称" fixed>
<template slot-scope="scope">
{{ scope.row.物料名称 }}
</template>
</el-table-column>
<el-table-column align="center" prop="物料规格" label="物料规格" fixed>
<template slot-scope="scope">
{{ scope.row.物料规格 }}
</template>
</el-table-column>
<el-table-column align="center" prop="物料型号" label="物料型号" fixed>
<template slot-scope="scope">
{{ scope.row.物料型号 }}
</template>
</el-table-column>
<el-table-column align="center" label="零件数量" fixed>
<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.机床数量 }}
</template>
</el-table-column>
<el-table-column align="center" prop="零件类型" label="零件类型">
<template slot-scope="scope">
{{ scope.row.零件类型 }}
</template>
</el-table-column>
<el-table-column align="center" prop="供货商" label="供货商">
<template slot-scope="scope">
{{ scope.row.供货商 }}
</template>
</el-table-column>
<el-table-column align="center" label="备注" width="100">
<template slot-scope="scope">
{{ scope.row.备注 }}
</template>
</el-table-column>
<el-table-column align="center" label="标记" width="100">
<template slot-scope="scope">
{{ scope.row.标记 }}
</template>
</el-table-column>
<el-table-column align="center" label="分类码" width="150">
<template slot-scope="scope">
{{ scope.row.分类码 }}
</template>
</el-table-column>
<el-table-column align="center" label="整改类型" width="150">
<template slot-scope="scope">
{{ scope.row.整改类型 }}
</template>
</el-table-column>
<el-table-column align="center" label="导入人" width="100">
<template slot-scope="scope">
{{ scope.row.导入人员 }}
</template>
</el-table-column>
<el-table-column align="center" label="导入时间" width="100">
<template slot-scope="scope">
{{ scope.row.操作日期 | formatTime }}
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="150">-->
<!--<template slot-scope="scope">-->
<!--<el-button-->
<!--:disabled="Number(id)!==0"-->
<!--size="mini"-->
<!--type="text"-->
<!--icon="el-icon-delete"-->
<!--@click="handleDelete(scope.row)">删除</el-button>-->
<!--</template>-->
<!--</el-table-column>-->
<!-- </el-table>
<div class="block" style="margin-top: 10px">
<el-pagination
:current-page="pageCurrentWB"
:page-sizes="[10, 20, 30, 40, 100]"
:page-size="pageSizeWB"
:total="totalWB"
layout="total"
@size-change="handleSizeChangeWB"
@current-change="handleCurrentChangeWB"/>
</div>
</el-card> -->
</div>
</template>
<script>
import { machineSelect, groupSelect, basicPartsData, deleteBasicParts, purchasePartsData, deletePurchaseData, getFileData, searchModel } from '@/api/ManufacturingCenter/MaterialAllocation'
import { mapGetters } from 'vuex'
import { ServerIP } from '@/utils/request'
export default {
name: 'Index',
data() {
return {
machineValue: '',
machine: [],
groupValue: '',
group: [],
group1: [],
ModelValue: '', // 规格型号
Model: [], // 规格型号组
loading: false,
loadingWB: false,
dialogFormVisible: false,
total: 0,
tableData: [],
tableDataWB: [],
pageCurrent: 1,
pageSize: 1000,
pageCurrentWB: 1,
pageSizeWB: 1000,
totalWB: 0,
hadFile: []
}
},
computed: {
...mapGetters([
'name',
'id'// 人员编号
]),
groupName() {
for (let i = 0; i < this.group.length; i++) {
if (this.group[i].value === this.groupValue) {
return this.group[i].label
}
}
}
},
watch: {
machineValue(val) {
this.groupValue = ''
this.group = []
if (val) {
this.getGroupSelect(val)
}
},
group(val) {
if (val.length > 0) {
this.groupValue = val[0].value
}
},
groupValue(val) {
if (val) {
this.pageCurrentWB = 1
this.pageSizeWB = 1000
this.pageCurrent = 1
this.pageSize = 1000
this.getTableData()
}
}
},
mounted() {
this.fetchData()
},
methods: {
exportExcel() {
if (this.tableData.length === 0) {
this.$message.warning('请先查询要导出的数据')
} else {
const machine_check = this.machineValue ? 1 : 0
const group_check = this.groupValue ? 1 : 0
const Model_check = this.ModelValue ? 1 : 0
var param = []
param[0] = ['机床流水号_check', machine_check]
param[1] = ['机床流水号', this.machineValue]
param[2] = ['组件流水号_check', group_check]
param[3] = ['组件流水号', this.groupValue]
param[4] = ['规格_check', Model_check]
param[5] = ['规格', this.ModelValue]
var Data = this.CreateData('2001', '报表_零件分配查询_自制件_查询', param)
this.exportExcel_NPOI(Data)
}
},
exportExcel2() {
if (this.tableDataWB.length === 0) {
this.$message.warning('请先查询要导出的数据')
} else {
const machine_check = this.machineValue ? 1 : 0
const group_check = this.groupValue ? 1 : 0
const Model_check = this.ModelValue ? 1 : 0
var param = []
param[0] = ['机床流水号_check', machine_check]
param[1] = ['机床流水号', this.machineValue]
param[2] = ['组件流水号_check', group_check]
param[3] = ['组件流水号', this.groupValue]
param[4] = ['规格_check', Model_check]
param[5] = ['规格', this.ModelValue]
var Data = this.CreateData('2001', '报表_零件分配查询_标准件和外购件_查询', param)
this.exportExcel_NPOI(Data)
}
},
// 在什么情况下需要查询上传的附件调用this.getFileData()即可根据
getFileData(machineValue) {
this.hadFile = []
getFileData(machineValue).then(res => {
if (res.data.length > 0) {
res.data.map(item => {
this.hadFile.push({
url: `${ServerIP}${item.文件标识}.${item.文件后缀}`,
name: `${item.文件名称}.${item.文件后缀}`,
suffix: item.文件后缀,
id: item.文件标识
})
})
}
})
},
fetchData() {
this.getSelect(machineSelect, ['机床图号', '机床流水号'], 'machine')
},
getGroupSelect(val) {
this.getSelect(groupSelect, ['组号', '组件流水号'], 'group', val)
},
getGroupSelect1() {
this.form.组号 = ''
this.getSelect(groupSelect, ['组号', '组件流水号'], 'group1', this.form.机床号)
},
searchModel() {
const machine_check = this.machineValue ? 1 : 0
const group_check = this.groupValue ? 1 : 0
var param = []
param[0] = machine_check
param[1] = this.machineValue
param[2] = group_check
param[3] = this.groupValue
this.getSelect(searchModel, ['规格', '规格'], 'Model', param)
},
getTableData() {
this.getFileData(this.machineValue)
if (this.machineValue) {
const machine_check = this.machineValue ? 1 : 0
const group_check = this.groupValue ? 1 : 0
const Model_check = this.ModelValue ? 1 : 0
this.loading = true
basicPartsData(machine_check, this.machineValue, group_check, this.groupValue, Model_check, this.ModelValue, this.pageSize, this.pageCurrent).then(response => {
this.loading = false
const res = response.data
this.total = res.total
this.tableData = res.rows.map(item => {
if (item.整改类型 === '1') {
item.整改类型 = '新增'
} else if (item.整改类型 === '2') {
item.整改类型 = '替换'
} else if (item.整改类型 === '3') {
item.整改类型 = '补充加工'
}
return item
})
})
} else {
this.$message.warning('请输入查询条件')
}
this.loadingWB = true
const machine_check = this.machineValue ? 1 : 0
const group_check = this.groupValue ? 1 : 0
const Model_check = this.ModelValue ? 1 : 0
purchasePartsData(machine_check, this.machineValue, group_check, this.groupValue, Model_check, this.ModelValue, this.pageSizeWB, this.pageCurrentWB).then(response => {
this.loadingWB = false
const data = response.data
this.totalWB = data.total
this.tableDataWB = data.rows.map(item => {
if (item.整改类型 === '1') {
item.整改类型 = '新增'
} else if (item.整改类型 === '2') {
item.整改类型 = '替换'
} else if (item.整改类型 === '3') {
item.整改类型 = '补充加工'
}
item.零件类型 = item.零件类型 === '2' ? '外购件' : '标准件'
return item
})
})
},
openUrgentItem() {
if (this.$refs['form'] !== undefined) {
this.$refs['form'].resetFields()
}
this.dialogFormVisible = true
},
tableRowClassName1({ row }) {
if (row.是否加急件 === '1') {
return 'isUrgentItem1'
}
},
handleDelete(row) {
if (row.基本件流水号) {
this.deleteRow(deleteBasicParts, row.基本件流水号, function() {
this.getTableData()
})
} else {
this.deleteRow(deletePurchaseData, row.标准件和外购件流水号, function() {
this.getTableData()
})
}
},
handleSizeChanges(val) {
this.pageCurrent = 1
this.pageSize = val
this.getTableData()
},
handleCurrentChanges(val) {
this.pageCurrent = val
this.getTableData()
},
handleSizeChangeWB(val) {
this.pageCurrentWB = 1
this.pageSizeWB = val
this.getTableData()
},
handleCurrentChangeWB(val) {
this.pageCurrentWB = val
this.getTableData()
}
}
}
</script>
<style scoped>
span{
margin: 0px;
}
.wrapper{
width: 225px;
height: 50px;
overflow: hidden;
border: 1px solid #b8c7d9;
float: left;
margin: 0px;
}
.content{
position: relative;
padding: 8px 8px 0 8px;
}
.action{
position: absolute;
top: 4px;
right: 8px;
}
.delete{
padding: 0 5px;
border-radius: 3px;
color: #0f84b0;
font-size: 12px;
}
.delete:hover{
background: -webkit-linear-gradient(top,#0ba9e3,#0099d3);
color: #fff;
}
a{
text-decoration: none;
}
.icon{
width: 30px;
height: 30px;
display: inline-block;
margin-right: 7px;
margin-top: 2px;
font-size: 26px;
}
.info{
position: absolute;
left: 44px;
line-height: 30px;
display: inline-block;
color: #999;
}
.el-card {
padding: 0px !important;
margin: 0px !important;
}
</style>
<style>
.el-table .isUrgentItem1{
background: #ff7575
}
</style>

View File

@@ -626,6 +626,7 @@ export default {
} }
}, },
created() { created() {
console.log(this.id, 99999999)
this.DeliveryTime = '' this.DeliveryTime = ''
this.fetchData() this.fetchData()
this.PartCallbackInformation() this.PartCallbackInformation()
@@ -1270,7 +1271,8 @@ export default {
this.ReMarks[i] = this.multipleSelection_variable[i].零件备注 this.ReMarks[i] = this.multipleSelection_variable[i].零件备注
} }
for (let i = 0; i < this.BasicPartsNumber.length; 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 => { 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], this.id).then(response => {
console.log(this.id, 'id')
this.result += parseInt(response.data[0].result) this.result += parseInt(response.data[0].result)
if (this.result === this.BasicPartsNumber.length) { if (this.result === this.BasicPartsNumber.length) {
this.$message.success('请购成功') this.$message.success('请购成功')
@@ -1317,7 +1319,7 @@ export default {
this.ReMarks[i] = this.multipleSelection_variable[i].备注 this.ReMarks[i] = this.multipleSelection_variable[i].备注
} }
for (let i = 0; i < this.StandardPartsAndOutsourcing.length; 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 => { 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], this.id).then(response => {
this.result += parseInt(response.data[0].result) this.result += parseInt(response.data[0].result)
if (this.result === this.StandardPartsAndOutsourcing.length) { if (this.result === this.StandardPartsAndOutsourcing.length) {
this.$message.success('请购成功') this.$message.success('请购成功')
@@ -1364,7 +1366,7 @@ export default {
this.ReMarks[i] = this.multipleSelection_variable[i].备注 this.ReMarks[i] = this.multipleSelection_variable[i].备注
} }
for (let i = 0; i < this.StandardPartsAndOutsourcing.length; 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 => { 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], this.id).then(response => {
this.result += parseInt(response.data[0].result) this.result += parseInt(response.data[0].result)
if (this.result === this.StandardPartsAndOutsourcing.length) { if (this.result === this.StandardPartsAndOutsourcing.length) {
this.$message.success('请购成功') this.$message.success('请购成功')
@@ -1432,7 +1434,7 @@ export default {
this.NumberOfParts[i] = this.multipleSelection_variable[i].投产总数量 this.NumberOfParts[i] = this.multipleSelection_variable[i].投产总数量
this.ReMarks[i] = this.multipleSelection_variable[i].零件备注 this.ReMarks[i] = this.multipleSelection_variable[i].零件备注
} }
purchaseRequisition2(this.projectFloatValue, this.machineFloatValue, this.groupFloatValue, this.BasicPartsNumber, this.NumberOfParts, this.time).then(response => { purchaseRequisition2(this.projectFloatValue, this.machineFloatValue, this.groupFloatValue, this.BasicPartsNumber, this.NumberOfParts, this.time, this.id).then(response => {
if (response.data[0].result !== '0') { if (response.data[0].result !== '0') {
console.log(response.data[0].result) console.log(response.data[0].result)
this.$message.success('请购成功') this.$message.success('请购成功')
@@ -1461,7 +1463,7 @@ export default {
this.NumberOfParts[i] = this.multipleSelection_variable[i].采购总数量 this.NumberOfParts[i] = this.multipleSelection_variable[i].采购总数量
this.ReMarks[i] = this.multipleSelection_variable[i].备注 this.ReMarks[i] = this.multipleSelection_variable[i].备注
} }
PurchasingDepartment(this.groupFloatValue, this.StandardPartsAndOutsourcing, this.time, this.MaterialNum, this.NumberOfParts, this.projectFloatValue, this.machineFloatValue).then(response => { PurchasingDepartment(this.groupFloatValue, this.StandardPartsAndOutsourcing, this.time, this.MaterialNum, this.NumberOfParts, this.projectFloatValue, this.machineFloatValue, this.id).then(response => {
if (response.data[0].result !== '0') { if (response.data[0].result !== '0') {
this.$message.success('请购成功') this.$message.success('请购成功')
if (this.PartType === '外购件') { if (this.PartType === '外购件') {
@@ -1511,7 +1513,7 @@ export default {
this.NumberOfParts[i] = this.multipleSelection_variable[i].投产总数量 this.NumberOfParts[i] = this.multipleSelection_variable[i].投产总数量
this.ReMarks[i] = this.multipleSelection_variable[i].零件备注 this.ReMarks[i] = this.multipleSelection_variable[i].零件备注
} }
Production(this.groupFloatValue, this.BasicPartsNumber, this.NumberOfParts, this.projectFloatValue, this.machineFloatValue).then(response => { Production(this.groupFloatValue, this.BasicPartsNumber, this.NumberOfParts, this.projectFloatValue, this.machineFloatValue, this.id).then(response => {
if (response.data[0].result !== '0') { if (response.data[0].result !== '0') {
this.$message.success('投产成功') this.$message.success('投产成功')
searchPart(this.groupFloatValue).then(response => { searchPart(this.groupFloatValue).then(response => {

View File

@@ -31,7 +31,7 @@
<el-tooltip :open-delay="1000" effect="dark" content="撤销补投申请" placement="top"> <el-tooltip :open-delay="1000" effect="dark" content="撤销补投申请" placement="top">
<el-switch v-model="switchValue" active-color="#13ce66" inactive-color="#ff4949" style="margin-left: 30px" @change="switchValueChange()"/> <el-switch v-model="switchValue" active-color="#13ce66" inactive-color="#ff4949" style="margin-left: 30px" @change="switchValueChange()"/>
</el-tooltip> </el-tooltip>
<el-button v-positive="'loading'" v-show="switchValue" :disabled="procedureGroup.length === 0" type="distribution" icon="el-icon-top" size="small" plain style="margin-left: 10px" @click="submit()">提交补投</el-button> <el-button v-positive="'loading'" v-show="switchValue" :disabled="procedureGroup.length === 0" type="distribution" icon="el-icon-top" size="small" plain style="margin-left: 10px" @click="dialogVisible = true">提交补投</el-button>
<el-button v-positive="'loading'" v-show="!switchValue" :disabled="procedureGroup.length === 0" type="distribution" icon="el-icon-top" size="small" plain style="margin-left: 10px" @click="reSubmit()">撤销补投</el-button> <el-button v-positive="'loading'" v-show="!switchValue" :disabled="procedureGroup.length === 0" type="distribution" icon="el-icon-top" size="small" plain style="margin-left: 10px" @click="reSubmit()">撤销补投</el-button>
</el-row> </el-row>
</el-card> </el-card>
@@ -39,6 +39,7 @@
<el-table <el-table
v-loading="loading" v-loading="loading"
ref="multipleTable" ref="multipleTable"
:header-cell-class-name="cellClass"
:data="tableData" :data="tableData"
height="590" height="590"
style="width: 1390px; margin: 3px 0" style="width: 1390px; margin: 3px 0"
@@ -48,7 +49,7 @@
highlight-current-row highlight-current-row
element-loading-text="拼命加载中" element-loading-text="拼命加载中"
@selection-change="handleSelectionChange"> @selection-change="handleSelectionChange">
<el-table-column :selectable="selectable" type="selection" align="center" width="45"/> <el-table-column :selectable="selectable" label="选择" type="selection" align="center" width="45"/>
<el-table-column label="进程" align="center" width="80px"> <el-table-column label="进程" align="center" width="80px">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.进程 }} {{ scope.row.进程 }}
@@ -159,8 +160,13 @@
{{ scope.row.操作时间 ? scope.row.操作时间.split(' ')[0] : '' }} {{ scope.row.操作时间 ? scope.row.操作时间.split(' ')[0] : '' }}
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="操作" align="center" width="100px" fixed="right">
<template slot-scope="scope">
<el-button icon="el-icon-top" type="primary" size="small" @click="handleClick(scope.row)">提交</el-button>
</template>
</el-table-column> -->
</el-table> </el-table>
<span style="font-size: 5px">{{ totalnumber }}条信息选择{{ gouxuan }}</span> <!-- <span style="font-size: 5px">{{ totalnumber }}条信息选择{{ gouxuan }}</span> -->
<div class="block"> <div class="block">
<el-pagination <el-pagination
v-if="!loading" v-if="!loading"
@@ -173,6 +179,23 @@
@current-change="handleCurrentChange"/> @current-change="handleCurrentChange"/>
</div> </div>
</el-card> </el-card>
<el-dialog
:visible.sync="dialogVisible"
center
title="提示"
width="30%">
<div style="text-align: center;font-size: 16px;">
是否将零件提交报废?
</div>
<div style="text-align: center;margin-top:20px;font-size: 16px;">
<span>报废数量:</span>
<el-input-number v-model="num" :min="1" :max="nummax" size="small"/>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="submit()"> </el-button>
</span>
</el-dialog>
</div> </div>
</template> </template>
@@ -182,6 +205,10 @@ import { mapGetters } from 'vuex'
export default { export default {
data() { data() {
return { return {
num: 0,
nummax: 0,
nummin: 0,
dialogVisible: false,
switchValue: true, // 报废撤销开关 switchValue: true, // 报废撤销开关
machineNameValue: '', // 机床图号 machineNameValue: '', // 机床图号
machineName: [], machineName: [],
@@ -220,6 +247,11 @@ export default {
this.projectChange() this.projectChange()
}, },
methods: { methods: {
cellClass(row) {
if (row.columnIndex === 0) { // 你需要判断的条件
return 'disabledCheck'
}
},
projectChange() { projectChange() {
this.machineName = [] this.machineName = []
this.machineNameValue = '' this.machineNameValue = ''
@@ -287,11 +319,6 @@ export default {
} }
}, },
submit() { submit() {
this.$confirm('是否将零件提交报废?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.ScrapQuantity = [] this.ScrapQuantity = []
this.ProcessPlanNumber = [] this.ProcessPlanNumber = []
this.Unqualified = [] this.Unqualified = []
@@ -299,15 +326,17 @@ export default {
this.people = [] this.people = []
this.operaPeople = [] this.operaPeople = []
this.procedureGroup1 = [] this.procedureGroup1 = []
for (let i = 0; i < this.procedureGroup.length; i++) { console.log(this.procedureGroup, 89000)
this.ScrapQuantity.push(this.procedureGroup[i].不合格数量) // for (let i = 0; i < this.procedureGroup.length; i++) {
this.ProcessPlanNumber.push(this.procedureGroup[i].工艺计划流水号) // this.ScrapQuantity.push(this.procedureGroup[i].不合格数量)
this.Unqualified.push(this.procedureGroup[i].不合格原因文本) this.ScrapQuantity.push(this.num)
this.remarkGroup.push(this.procedureGroup[i].备注) this.ProcessPlanNumber.push(this.procedureGroup.工艺计划流水号)
this.people.push(this.procedureGroup[i].人员编号) this.Unqualified.push(this.procedureGroup.不合格原因文本)
this.operaPeople.push(this.procedureGroup[i].操作人员编号) this.remarkGroup.push(this.procedureGroup.备注)
this.procedureGroup1.push(this.procedureGroup[i].工序流水) this.people.push(this.procedureGroup.人员编)
} this.operaPeople.push(this.procedureGroup.操作人员编号)
this.procedureGroup1.push(this.procedureGroup.工序流水号)
// }
this.handleEdit_disable = true this.handleEdit_disable = true
editSpare(this.ProcessPlanNumber, this.ScrapQuantity, this.id, this.Unqualified, this.remarkGroup, this.people, this.operaPeople, this.procedureGroup1).then(response => { editSpare(this.ProcessPlanNumber, this.ScrapQuantity, this.id, this.Unqualified, this.remarkGroup, this.people, this.operaPeople, this.procedureGroup1).then(response => {
if (response.data[0].result === '1') { if (response.data[0].result === '1') {
@@ -318,13 +347,7 @@ export default {
this.$message.success('报废失败') this.$message.success('报废失败')
} }
}) })
}).catch((error) => { this.dialogVisible = false
console.log(error)
this.$message({
type: 'info',
message: '已取消报废'
})
})
}, },
// 20200509↓ // 20200509↓
switchValueChange() { switchValueChange() {
@@ -345,9 +368,9 @@ export default {
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
this.ProcessPlanNumber = [] this.ProcessPlanNumber = []
for (let i = 0; i < this.procedureGroup.length; i++) { // for (let i = 0; i < this.procedureGroup.length; i++) {
this.ProcessPlanNumber.push(this.procedureGroup[i].工艺计划流水号) this.ProcessPlanNumber.push(this.procedureGroup.工艺计划流水号)
} // }
reSpare(this.ProcessPlanNumber).then(response => { reSpare(this.ProcessPlanNumber).then(response => {
if (response.data[0].result === '1') { if (response.data[0].result === '1') {
this.$message.success('撤回成功') this.$message.success('撤回成功')
@@ -365,8 +388,21 @@ export default {
}, },
// 20200509↑ // 20200509↑
handleSelectionChange(val) { handleSelectionChange(val) {
this.procedureGroup = val // this.procedureGroup = val
this.gouxuan = val.length // this.gouxuan = val.length
if (val.length > 1) {
this.$refs.multipleTable.clearSelection()
this.$refs.multipleTable.toggleRowSelection(val[val.length - 1])
this.procedureGroup = val[val.length - 1]
this.num = this.procedureGroup.不合格数量
this.nummax = this.procedureGroup.投产数
} else if (val.length === 1) {
this.procedureGroup = val[0]
this.num = this.procedureGroup.不合格数量
this.nummax = this.procedureGroup.投产数
} else {
this.procedureGroup = []
}
}, },
// 分页 // 分页
handleSizeChange(val) { handleSizeChange(val) {
@@ -387,4 +423,22 @@ export default {
.el-table .UrgentItem{ .el-table .UrgentItem{
background: #FF9797; background: #FF9797;
} }
.el-table /deep/.disabledCheck .cell .el-checkbox__inner{
display: none!important;
}
.el-table /deep/.disabledCheck .cell:before{
content: '选择';
position: absolute;
right: 11px;
}
</style>
<style scoped>
.el-table /deep/.disabledCheck .cell .el-checkbox__inner{
display: none!important;
}
.el-table /deep/.disabledCheck .cell:before{
content: '选择';
position: absolute;
right: 11px;
}
</style> </style>

View File

@@ -70,11 +70,11 @@
{{ scope.row.传递时间 }} {{ scope.row.传递时间 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="零件状态" width="550px"> <el-table-column align="center" label="零件状态" width="400px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-steps :active="scope.row.考核状态" finish-status="success" simple> <el-steps :active="scope.row.考核状态" finish-status="success" simple>
<el-step title="投产" /> <el-step title="投产" style="width:10px" />
<el-step title="工艺" /> <el-step title="工艺" style="width:10px" />
<!--<el-step title="定额" />--> <!--<el-step title="定额" />-->
<!--<el-step title="平衡" />--> <!--<el-step title="平衡" />-->
<el-step title="制造" /> <el-step title="制造" />
@@ -247,6 +247,22 @@ export default {
</script> </script>
<style scoped> <style scoped>
>>>.el-step.is-simple .el-step__head {
width: auto;
font-size: 0;
margin-top: 9px;
padding-right: 0px;
}
>>>.el-step__head.is-process {
color: #303133;
border-color: #303133;
margin-top: 8px;
}
>>>.el-step__head.is-wait {
color: #C0C4CC;
border-color: #C0C4CC;
margin-top: 8px;
}
.el-card{ .el-card{
margin-bottom: 15px; margin-bottom: 15px;
} }

View File

@@ -308,6 +308,11 @@
@current-change="handleCurrentChange"/> @current-change="handleCurrentChange"/>
</div> </div>
</el-card> </el-card>
<el-dialog v-el-drag-dialog :visible.sync="dialogFormVisible" title="图片" center style="" width="800px">
<viewer>
<img v-for="url in urls" :key="url" :src="url" lazy style="width: 700px;height: 700px">
</viewer>
</el-dialog>
</div> </div>
</template> </template>

View File

@@ -52,19 +52,30 @@
<el-table-column <el-table-column
label="序号" label="序号"
align="center" align="center"
fixed="left"
type="index" type="index"
width="50"/> width="50"/>
<el-table-column <el-table-column
label="机床图号" label="机床图号"
align="center" align="center"
prop="机床图号" prop="机床图号"
fixed="left"
min-width="150px"> min-width="150px">
<template slot-scope="scope">{{ scope.row.机床图号 }}</template> <template slot-scope="scope">{{ scope.row.机床图号 }}</template>
</el-table-column> </el-table-column>
<el-table-column
label="组号"
align="center"
prop="组号"
fixed="left"
min-width="80px">
<template slot-scope="scope">{{ scope.row.组号 }}</template>
</el-table-column>
<el-table-column <el-table-column
label="零件图号" label="零件图号"
align="center" align="center"
prop="零件图号" prop="零件图号"
fixed="left"
min-width="200px"> min-width="200px">
<template slot-scope="scope">{{ scope.row.零件图号 }}</template> <template slot-scope="scope">{{ scope.row.零件图号 }}</template>
</el-table-column> </el-table-column>
@@ -73,16 +84,10 @@
align="center" align="center"
prop="零件名称" prop="零件名称"
min-width="140px" min-width="140px"
fixed="left"
show-overflow-tooltip> show-overflow-tooltip>
<template slot-scope="scope">{{ scope.row.零件名称 }}</template> <template slot-scope="scope">{{ scope.row.零件名称 }}</template>
</el-table-column> </el-table-column>
<el-table-column
label="组号"
align="center"
prop="组号"
min-width="80px">
<template slot-scope="scope">{{ scope.row.组号 }}</template>
</el-table-column>
<el-table-column <el-table-column
label="零件数量" label="零件数量"
width="80" width="80"
@@ -179,17 +184,17 @@
</div> </div>
<el-table v-loading="loadingWB" :data="tableDataWB" style="width: 100%;min-height: 600px;" size="mini" stripe height="500" highlight-current-row border> <el-table v-loading="loadingWB" :data="tableDataWB" style="width: 100%;min-height: 600px;" size="mini" stripe height="500" highlight-current-row border>
<el-table-column label="序号" align="center" type="index" width="50"/> <el-table-column label="序号" align="center" type="index" width="50"/>
<el-table-column align="center" prop="物料名称" label="物料名称"> <el-table-column align="center" prop="物料名称" fixed="left" label="物料名称">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.物料名称 }} {{ scope.row.物料名称 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="物料规格" label="物料规格"> <el-table-column align="center" prop="物料规格" fixed="left" label="物料规格">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.物料规格 }} {{ scope.row.物料规格 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="物料型号" label="物料型号"> <el-table-column align="center" prop="物料型号" fixed="left" label="物料型号">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.物料型号 }} {{ scope.row.物料型号 }}
</template> </template>