Merge branch 'master' of ssh://123.56.95.229:29418/高精

This commit is contained in:
liulujia1
2020-04-20 15:12:08 +08:00
13 changed files with 2338 additions and 135 deletions

View File

@@ -19,13 +19,13 @@ const versionRequirements = [
} }
] ]
if (shell.which('npm')) { // if (shell.which('npm')) {
versionRequirements.push({ // versionRequirements.push({
name: 'npm', // name: 'npm',
currentVersion: exec('npm --version'), // currentVersion: exec('npm --version'),
versionRequirement: packageConfig.engines.npm // versionRequirement: packageConfig.engines.npm
}) // })
} // }
module.exports = function() { module.exports = function() {
const warnings = [] const warnings = []

View File

@@ -231,3 +231,18 @@ export function selectleaders(department) {
} }
}) })
} }
// 领料单查询
export function searchList222(pageCurrent, pageSize, listPeople_check) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: '车间装配管理_领料单明细_查询数据_新2',
param: '图号=' + listPeople_check,
Pagination: pageCurrent + '&' + pageSize
}
})
}

View File

@@ -42,7 +42,7 @@ export function searchtable(check1, value1, check3, value3, check5, value5, valu
} }
}) })
} }
export function editSpare(CutCode, number, id) { export function editSpare(CutCode, number, id, Unqualified, remarkGroup, people) {
return request({ return request({
url: '', url: '',
method: 'post', method: 'post',
@@ -51,7 +51,7 @@ export function editSpare(CutCode, number, id) {
ModularID: router.currentRoute.path, ModularID: router.currentRoute.path,
type: '2', type: '2',
name: '报废补投_提交报废_循环执行', name: '报废补投_提交报废_循环执行',
param: '工艺计划流水号组=' + CutCode + '&报废数量组=' + number + '&报废人=' + id param: '工艺计划流水号组=' + CutCode + '&报废数量组=' + number + '&报废人=' + id + '&不合格原因组=' + Unqualified + '&备注组=' + remarkGroup + '&质检人组=' + people
} }
}) })
} }

View File

@@ -73,3 +73,66 @@ export function ExecDatabase(num) {
}) })
} }
// end---> // end--->
// 哈希表
export function HashTable() {
let size = 0
// eslint-disable-next-line no-new-object
let entry = new Object()
this.add = function(key, value) {
if (!this.containsKey(key)) {
size++
}
entry[key] = value
}
this.getValue = function(key) {
return this.containsKey(key) ? entry[key] : null
}
this.remove = function(key) {
if (this.containsKey(key) && (delete entry[key])) {
size--
}
}
this.containsKey = function(key) {
return (key in entry)
}
this.containsValue = function(value) {
for (const prop in entry) {
if (entry[prop] === value) {
return true
}
}
return false
}
this.getValues = function() {
// eslint-disable-next-line no-array-constructor
const values = new Array()
for (const prop in entry) {
values.push(entry[prop])
}
return values
}
// this.getKey = function(value) {
// for (const prop in entry) {
// if (entry[key]) {
// return prop
// }
// }
// }
this.getKeys = function() {
// eslint-disable-next-line no-array-constructor
const keys = new Array()
for (const prop in entry) {
keys.push(prop)
}
return keys
}
this.getSize = function() {
return size
}
this.clear = function() {
size = 0
// eslint-disable-next-line no-new-object
entry = new Object()
}
}

View File

@@ -839,7 +839,6 @@ export default {
}, },
QualityType() { QualityType() {
QualityType().then(response => { QualityType().then(response => {
console.log(response.data)
for (let i = 0; i < response.data.length; i++) { for (let i = 0; i < response.data.length; i++) {
this.QualityTypeNumber.push({ this.QualityTypeNumber.push({
label: response.data[i].质检类型, label: response.data[i].质检类型,

View File

@@ -1,6 +1,9 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-card> <el-card>
<el-tabs v-model="activeName" type="border-card" @tab-click="Refresh">
<el-tab-pane>
<span slot="label">领料单</span>
<div style="margin-top: 2px;margin-bottom: 2px"> <div style="margin-top: 2px;margin-bottom: 2px">
<!--<span style="margin: 5px">领料单编号:</span>--> <!--<span style="margin: 5px">领料单编号:</span>-->
<el-input v-model="pickingListNumber" placeholder="领料单编号或领料人" clearable size="small" style="width:200px" /> <el-input v-model="pickingListNumber" placeholder="领料单编号或领料人" clearable size="small" style="width:200px" />
@@ -19,7 +22,6 @@
<el-button size="small" type="primary" icon="el-icon-search" style="margin: 0 0 0 10px" plain @click="searchList()">查询</el-button> <el-button size="small" type="primary" icon="el-icon-search" style="margin: 0 0 0 10px" plain @click="searchList()">查询</el-button>
<el-button :disabled="审批未通过===true" size="small" style="margin-left: 100px" type="distribution" @click="inputPassword()">领料确认</el-button> <el-button :disabled="审批未通过===true" size="small" style="margin-left: 100px" type="distribution" @click="inputPassword()">领料确认</el-button>
</div> </div>
</el-card>
<div style="width: 25%;float: left;margin-right: 10px"> <div style="width: 25%;float: left;margin-right: 10px">
<el-card> <el-card>
<el-table :data="pickListTable1" :row-class-name="tableRowClassName" class="shenpi" highlight-current-row border size="mini" width="100%" height="570px" @row-click="clickList"> <el-table :data="pickListTable1" :row-class-name="tableRowClassName" class="shenpi" highlight-current-row border size="mini" width="100%" height="570px" @row-click="clickList">
@@ -120,6 +122,13 @@
</el-table> </el-table>
</el-card> </el-card>
</div> </div>
</el-tab-pane>
<el-tab-pane>
<span slot="label">零件</span>
<OperationGuide ref="fresh1"/>
</el-tab-pane>
</el-tabs>
</el-card>
<el-dialog v-el-drag-dialog :visible.sync="dialogFormVisible1" title="物料出库" center width="380px"> <el-dialog v-el-drag-dialog :visible.sync="dialogFormVisible1" title="物料出库" center width="380px">
<el-form ref="form1" :model="form1" :rules="rules1" label-position="left"> <el-form ref="form1" :model="form1" :rules="rules1" label-position="left">
@@ -261,12 +270,18 @@
<script> <script>
import { sendBack, initPickPerson, initMachineProject, searchgroup, searchList, searchListDetail, submitOutStore, initOutType, selectdepartment, selectleaders } from '@/api/Inventory/MaterialOut' import { sendBack, initPickPerson, initMachineProject, searchgroup, searchList, searchListDetail, submitOutStore, initOutType, selectdepartment, selectleaders } from '@/api/Inventory/MaterialOut'
import OperationGuide from '@/views/Inventory/MaterialOut/index2.vue'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import request from '@/utils/request' import request from '@/utils/request'
export default { export default {
name: 'MaterialOut', name: 'MaterialOut',
components: {
'OperationGuide': OperationGuide
},
data() { data() {
return { return {
activeName: '0',
buttonDisable: false, buttonDisable: false,
dateRange: '', dateRange: '',
multipleSelection1: [], multipleSelection1: [],
@@ -372,6 +387,22 @@ export default {
this.getHouse() this.getHouse()
}, },
methods: { methods: {
Refresh() {
switch (this.activeName) {
case '0': {
this.pickListTable2 = []
this.fetchData()
this.searchList()
this.getHouse()
break
}
// ANDON
case '1': {
this.$refs.fresh1.fetchData(1)
break
}
}
},
// 获取仓库 // 获取仓库
async getHouse() { async getHouse() {
const param = { const param = {

View File

@@ -0,0 +1,131 @@
<template>
<div class="app-container">
<el-card>
<div style="margin-top: 2px;margin-bottom: 2px">
<el-input v-model="pickingListNumber" placeholder="图号或型号" clearable size="small" style="width:200px" />
<el-button size="small" type="primary" icon="el-icon-search" style="margin: 0 0 0 10px" plain @click="searchList()">查询</el-button>
<el-button size="small" style="margin-left: 100px" type="distribution" @click="inputPassword()">领料确认</el-button>
</div>
<el-table :data="pickListTable2" :row-class-name="tableRowClassName1" highlight-current-row border style="width: 1000px" size="mini" height="600" @selection-change="handleSelectionChange">
<el-table-column label="名称" show-overflow-tooltip prop="名称" align="center" width="90">
<template slot-scope="scope">
{{ scope.row.名称 }}
</template>
</el-table-column>
<el-table-column label="图号或型号" prop="图号或型号" align="center" width="110" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.图号或型号 || '—' }}
</template>
</el-table-column>
<el-table-column label="规格" prop="规格" align="center" width="110" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.规格 || '—' }}
</template>
</el-table-column>
<el-table-column label="领用" align="center" width="50">
<template slot-scope="scope">
{{ scope.row.总数量 }}
</template>
</el-table-column>
<el-table-column label="出库" align="center" width="130">
<template slot-scope="scope">
<el-input-number :disabled="Number(scope.row.总数量) <= Number(scope.row.出库数量1) || scope.row.货位存量1 === null" :max="scope.row.货位存量1" v-model="scope.row.出库数量" size="mini" style="width: 100%"/>
</template>
</el-table-column>
<el-table-column label="备件" align="center" width="50">
<template slot-scope="scope">
{{ scope.row.备件数量 }}
</template>
</el-table-column>
<el-table-column label="库存" align="center" width="50">
<template slot-scope="scope">
{{ scope.row.货位存量1 }}
</template>
</el-table-column>
<el-table-column label="已领" align="center" width="50">
<template slot-scope="scope">
{{ scope.row.出库数量1 }}
</template>
</el-table-column>
<!-- <el-table-column v-if="true" label="备料" align="center" width="60">-->
<!-- <template slot-scope="scope">-->
<!-- <el-tag v-if="Number(scope.row.是否备料确认)===1" size="mini" type="success">已备</el-tag>-->
<!-- <el-tag v-else type="warning" size="mini">未备</el-tag>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column v-if="true" label="领料" align="center" width="60">-->
<!-- <template slot-scope="scope">-->
<!-- <el-tag v-if="(Number(scope.row.总数量) <= Number(scope.row.出库数量1)) || Number(scope.row.是否领料确认) === 1" type="success" size="mini">已领</el-tag>-->
<!-- <el-tag v-else-if="Number(scope.row.总数量) > Number(scope.row.出库数量1) && Number(scope.row.出库数量1) > 0" type="primary" size="mini">未完</el-tag>-->
<!-- <el-tag v-else-if="Number(scope.row.出库数量1) === 0" type="warning" size="mini">未领</el-tag>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="机床图号" prop="机床图号" align="center" width="80" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.机床图号 }}
</template>
</el-table-column>
<el-table-column label="组号" align="center" width="50">
<template slot-scope="scope">
{{ scope.row.组号 }}
</template>
</el-table-column>
</el-table>
</el-card>
</div>
</template>
<script>
import { searchList222 } from '@/api/Inventory/MaterialOut'
export default {
data() {
return {
pickingListNumber: '',
pickListTable2: []
}
},
methods: {
// 初始化数据
fetchData() {
console.log(111111)
},
searchList() {
searchList222(this.pickingListNum).then(res => {
console.log(res.data)
for (let i = 0; i < res.data.length; i++) {
if (res.data[i].离线采购件流水号 !== 0) {
res.data[i].货位存量1 = res.data[i].货位存量
}
if (res.data[i].请购单明细流水号 !== 0 && res.data[i].请购单明细流水号 !== '' && res.data[i].请购单明细流水号 !== null) {
res.data[i].货位存量1 = res.data[i].货位存量
}
if (res.data[i].货位存量1 > res.data[i].总数量) {
res.data[i].出库数量 = res.data[i].总数量
}
if (res.data[i].出库数量1 >= res.data[i].总数量) {
res.data[i].出库数量 = 0
}
}
this.pickListTable2 = res.data
})
},
tableRowClassName1({ row }) {
if (parseInt(row.出库数量1) === 0) {
return 'weilingliao-row'
} else if (parseInt(row.总数量) > parseInt(row.出库数量1) && parseInt(row.出库数量1)) {
return 'weilingwan-row'
} else {
return ''
}
},
// 多选
handleSelectionChange(val) {
this.multipleSelection1 = []
val.map(v => {
this.multipleSelection1.push(v.领料单明细流水号)
})
}
}
}
</script>

File diff suppressed because it is too large Load Diff

View File

@@ -84,16 +84,36 @@
{{ scope.row.报废时间 }} {{ scope.row.报废时间 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="报废原因" width="140px" show-overflow-tooltip> <el-table-column align="center" label="报废原因" width="100px" show-overflow-tooltip>
<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" label="报废备注" width="140px" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.备注 }}
</template>
</el-table-column>
<el-table-column align="center" label="质检员" width="85px">
<template slot-scope="scope">
{{ scope.row.质检人 }}
</template>
</el-table-column>
<el-table-column align="center" label="报废工时(分)" width="105px"> <el-table-column align="center" label="报废工时(分)" width="105px">
<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" label="补投时间" width="85px">
<template slot-scope="scope">
{{ scope.row.补投时间 ? scope.row.补投时间.split(' ')[0] : '' }}
</template>
</el-table-column>
<el-table-column align="center" label="补投人" width="85px">
<template slot-scope="scope">
{{ scope.row.补投人 }}
</template>
</el-table-column>
</el-table> </el-table>
<div class="block" style="margin-top: 10px"> <div class="block" style="margin-top: 10px">
<el-pagination <el-pagination

View File

@@ -227,7 +227,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="投产时间"> label="投产时间">
<template slot-scope="scope">{{ scope.row.操作时间 }}</template> <template slot-scope="scope">{{ scope.row.操作时间 ? scope.row.操作时间.split(' ')[0] : '' }}</template>
</el-table-column> </el-table-column>
<!--<el-table-column--> <!--<el-table-column-->
<!--label="是否外协">--> <!--label="是否外协">-->
@@ -239,18 +239,18 @@
<!--</el-table-column>--> <!--</el-table-column>-->
<el-table-column <el-table-column
label="机加工开始时间"> label="机加工开始时间">
<template slot-scope="scope">{{ scope.row.机加工开始时间 }}</template> <template slot-scope="scope">{{ scope.row.机加工开始时间 ? scope.row.机加工开始时间.split(' ')[0] : '' }}</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="机加工结束时间"> label="机加工结束时间">
<template slot-scope="scope">{{ scope.row.机加工结束时间 }}</template> <template slot-scope="scope">{{ scope.row.机加工结束时间 ? scope.row.机加工结束时间.split(' ')[0] : '' }}</template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="200px"> <el-table-column label="操作" width="200px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
fixed="rihgt" fixed="rihgt"
type="primary" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="handleEdit1(tableData1, scope.$index, scope.row, 'form')">编辑</el-button> @click="handleEdit1(tableData1, scope.$index, scope.row, 'form')">编辑</el-button>
</template> </template>

View File

@@ -359,7 +359,7 @@ export default {
if (val[i].进程 !== '编制中') { if (val[i].进程 !== '编制中') {
this.jinyong = true this.jinyong = true
} }
if (val[i].进程 === '编制中') { if (val[i].进程 === '编制中' || val[i].进程 === '未分配') {
this.jinyong1 = true this.jinyong1 = true
} }
} }

View File

@@ -194,6 +194,9 @@ export default {
procedureGroup: [], procedureGroup: [],
ScrapQuantity: [], ScrapQuantity: [],
ProcessPlanNumber: [], ProcessPlanNumber: [],
Unqualified: [],
remarkGroup: [],
people: [],
Data: [], Data: [],
tableData: [], // 表格数据 tableData: [], // 表格数据
total: 0, // 总条数 total: 0, // 总条数
@@ -287,12 +290,18 @@ export default {
}).then(() => { }).then(() => {
this.ScrapQuantity = [] this.ScrapQuantity = []
this.ProcessPlanNumber = [] this.ProcessPlanNumber = []
this.Unqualified = []
this.remarkGroup = []
this.people = []
for (let i = 0; i < this.procedureGroup.length; i++) { for (let i = 0; i < this.procedureGroup.length; i++) {
this.ScrapQuantity.push(this.procedureGroup[i].不合格数量) this.ScrapQuantity.push(this.procedureGroup[i].不合格数量)
this.ProcessPlanNumber.push(this.procedureGroup[i].工艺计划流水号) this.ProcessPlanNumber.push(this.procedureGroup[i].工艺计划流水号)
this.Unqualified.push(this.procedureGroup[i].不合格原因文本)
this.remarkGroup.push(this.procedureGroup[i].备注)
this.people.push(this.procedureGroup[i].人员编号)
} }
this.handleEdit_disable = true this.handleEdit_disable = true
editSpare(this.ProcessPlanNumber, this.ScrapQuantity, this.id).then(response => { editSpare(this.ProcessPlanNumber, this.ScrapQuantity, this.id, this.Unqualified, this.remarkGroup, this.people).then(response => {
if (response.data[0].result === '1') { if (response.data[0].result === '1') {
this.$message.success('报废成功') this.$message.success('报废成功')
this.searchTable() this.searchTable()

View File

@@ -96,6 +96,11 @@ export default {
document.getElementsByClassName('tags-view-wrapper')[0].style.minWidth = '1950px' document.getElementsByClassName('tags-view-wrapper')[0].style.minWidth = '1950px'
document.getElementsByClassName('navbar')[0].style.minWidth = '1950px' document.getElementsByClassName('navbar')[0].style.minWidth = '1950px'
break break
case 'AutomaticScheduling': // 车间排产
document.getElementById('app-main').style.width = '1910px'
document.getElementsByClassName('tags-view-wrapper')[0].style.minWidth = '1910px'
document.getElementsByClassName('navbar')[0].style.minWidth = '1910px'
break
default: default:
document.getElementById('app-main').style.width = '1380px' document.getElementById('app-main').style.width = '1380px'
document.getElementsByClassName('tags-view-wrapper')[0].style.minWidth = '1380px' document.getElementsByClassName('tags-view-wrapper')[0].style.minWidth = '1380px'