diff --git a/src/api/Inventory/Inboundscanning.js b/src/api/Inventory/Inboundscanning.js index b2e2d786..92e8ae6c 100644 --- a/src/api/Inventory/Inboundscanning.js +++ b/src/api/Inventory/Inboundscanning.js @@ -7,7 +7,7 @@ export function searchTable(partnumber) { data: { type: '1', name: 'MES_机加工MES_库存管理_入库模块_零件基础信息查询_根据零件图号', - param: '工艺计划流水号=' + partnumber + '=string' + param: '工艺计划流水号=' + partnumber } }) } diff --git a/src/api/Inventory/OfflinePartOut.js b/src/api/Inventory/OfflinePartOut.js index 9295448d..ab33de83 100644 --- a/src/api/Inventory/OfflinePartOut.js +++ b/src/api/Inventory/OfflinePartOut.js @@ -61,14 +61,14 @@ export function searchPeople(data1) { }) } // 离线件出库 -export function outlinePartOut(data2, data3, data4, data5, data6, data7, data8, data9, data10) { +export function outlinePartOut(data2, data3, data4, data5, data6, data7, data8, data9, data10, data11) { return request({ url: '', method: 'post', data: { type: '2', name: '库存管理_离线采购件_零件出库', - param: '领用者=' + data2 + '&出库数量=' + data3 + '&货位流水号=' + data4 + '&备注=' + data5 + '&项目流水号=' + data6 + '&机床流水号=' + data7 + '&组件流水号=' + data8 + '&物料流水号=' + data9 + '&出库人员流水号=' + data10 + param: '领用者=' + data2 + '&出库数量=' + data3 + '&货位流水号=' + data4 + '&备注=' + data5 + '&项目流水号=' + data6 + '&机床流水号=' + data7 + '&组件流水号=' + data8 + '&物料流水号=' + data9 + '&出库人员流水号=' + data10 + '&离线合同明细流水号=' + data11 } }) } diff --git a/src/api/ManufacturingCenter/AntonMonitoring.js b/src/api/ManufacturingCenter/AntonMonitoring.js new file mode 100644 index 00000000..d5b48e32 --- /dev/null +++ b/src/api/ManufacturingCenter/AntonMonitoring.js @@ -0,0 +1,25 @@ +import request from '@/utils/request' +// 电子看板_线体上下线数量统计_查询 +export function ANDON_countselect() { + return request({ + url: '', + method: 'post', + data: { + type: '1', + name: 'ANDON_大屏幕显示', + param: 'WorkShopType=A' + } + }) +} +export function ANDON_opselect(opname) { + return request({ + url: '', + method: 'post', + data: { + type: '1', + name: 'ANDON_办公室监控_消息通知', + param: 'WorkShopType=A' + '&工位号=' + opname + '=string' + } + }) +} + diff --git a/src/api/ManufacturingCenter/PartWorkCraftSelect_rdlc.js b/src/api/ManufacturingCenter/PartWorkCraftSelect_rdlc.js index c5abf284..6356cd22 100644 --- a/src/api/ManufacturingCenter/PartWorkCraftSelect_rdlc.js +++ b/src/api/ManufacturingCenter/PartWorkCraftSelect_rdlc.js @@ -1,14 +1,49 @@ import request from '@/utils/request' -// 查询 -export function search(pageCurrent, pageSize, num) { +// 初始化机床项目 +export function initMachineProject() { return request({ url: '', method: 'post', data: { type: '1', - name: '车间生产管理工艺_零件工序_查询数据_已编制工序的全部零件及工序_按零件图号查', - param: '零件图号=' + num, + name: 'PDM_项目名称_查询数据' + } + }) +} +// 组件查询 +export function searchgroup(num) { + return request({ + url: '', + method: 'post', + data: { + type: '1', + name: 'PDM_组件名称_查询数据', + param: '机床流水号=' + num + } + }) +} +// 工艺定额人员查询 +export function initPerson() { + return request({ + url: '', + method: 'post', + data: { + type: '1', + name: '人事档案管理_人员_部门与人员_查询数据_根据部门编号', + param: '考核部门编号=20' + } + }) +} +// 查询 +export function search(pageCurrent, pageSize, check1, val1, check2, val2, check3, val3, check4, val4) { + return request({ + url: '', + method: 'post', + data: { + type: '1', + name: '车间生产管理工艺_零件工序_查询数据_已编制工序的全部零件及工序_按机床分组图号人员查', + param: `机床流水号_check=${check1}&机床流水号=${val1}&组件流水号_check=${check2}&组件流水号=${val2}&零件图号_check=${check3}&零件图号=${val3}&人员编号_check=${check4}&人员编号=${val4}`, Pagination: pageCurrent + '&' + pageSize } }) diff --git a/src/api/ManufacturingCenter/ProcessPlanning.js b/src/api/ManufacturingCenter/ProcessPlanning.js index de2aa8ef..7cf21080 100644 --- a/src/api/ManufacturingCenter/ProcessPlanning.js +++ b/src/api/ManufacturingCenter/ProcessPlanning.js @@ -353,7 +353,7 @@ export function saveApprove(num0, num1, request0, spec, num2, outhelp, num3, num method: 'post', data: { type: '2', - name: ' ', + name: '车间生产管理工艺_零件工序_增加数据_同时修改工艺计划', param: '工艺计划流水号=' + num0 + '&工艺编号=' + num1 + '&工艺要求=' + request0 + '&原材料规格=' + spec + '&工序顺序=' + num2 + '&工序间是否外协=' + outhelp + '&工序流水号=' + num3 + '&材料流水号=' + num4 + '&重量=' + weight + '&面积=' + area + '&工艺人员编号=' + num5 + '&工艺难度等级=' + level } }) diff --git a/src/icons/svg/AntonMonitoring.svg b/src/icons/svg/AntonMonitoring.svg new file mode 100644 index 00000000..9fc12cb7 --- /dev/null +++ b/src/icons/svg/AntonMonitoring.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/OutPartSelect.svg b/src/icons/svg/OutPartSelect.svg new file mode 100644 index 00000000..d599116b --- /dev/null +++ b/src/icons/svg/OutPartSelect.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/OutsourcingStatus.svg b/src/icons/svg/OutsourcingStatus.svg new file mode 100644 index 00000000..b792bda9 --- /dev/null +++ b/src/icons/svg/OutsourcingStatus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/machine.svg b/src/icons/svg/machine.svg new file mode 100644 index 00000000..efcc00d2 --- /dev/null +++ b/src/icons/svg/machine.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/machiningHoursStatistics.svg b/src/icons/svg/machiningHoursStatistics.svg new file mode 100644 index 00000000..759825ae --- /dev/null +++ b/src/icons/svg/machiningHoursStatistics.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/utils/request.js b/src/utils/request.js index 0a45cef9..fc9ff291 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -5,6 +5,7 @@ import axios from 'axios' export const wsuri = `ws://192.168.1.232:61101//WebMoudule//websocket` export const name = `OP8888` +export const name1 = `OP1000` // 创建axios实例 export const readFile = `http://192.168.1.231:8411/webpage/file/` // invoice diff --git a/src/views/Inventory/Inboundscanning/index.vue b/src/views/Inventory/Inboundscanning/index.vue index f4c43c7b..c2502792 100644 --- a/src/views/Inventory/Inboundscanning/index.vue +++ b/src/views/Inventory/Inboundscanning/index.vue @@ -9,7 +9,7 @@ - + @@ -92,7 +92,7 @@ export default { ace: 0, a: '', tableData: [], - partNumber: '', + partNumber: [], listLoading: false, craftplannumber: '', radio2: 3, @@ -101,7 +101,8 @@ export default { inventoryNumber: '', locateName: [], // 货位名称下拉框 locateNumber: '', - Partpaint: '' + Partpaint: '', + tableDataNum: [] } }, computed: { @@ -118,6 +119,7 @@ export default { methods: { // 移除 handleDelete(index, row) { + this.tableDataNum.splice(index, 1) this.tableData.splice(index, 1) }, // 获取人员编号 @@ -153,10 +155,12 @@ export default { }, // 根据图号查流水号并查表1 getCraftNumber() { - this.partNumber = '' + this.partNumber = [] CraftNumber(this.Partpaint).then(response => { - if (response.data.length > 0 && response.data[0].工艺计划流水号) { - this.partNumber = response.data[0].工艺计划流水号 + for (let i = 0; i < response.data.length; i++) { + this.partNumber.push( + response.data[i].工艺计划流水号 + ) } }).then(() => { this.getscantable() @@ -166,50 +170,78 @@ export default { getPaint() { searchPartNumber(this.partNumber).then(response => { this.Partpaint = response.data[0].零件图号 + return this.Partpaint + }).then(() => { + this.getCraftNumber() }) - this.getscantable() + // this.getscantable() }, // 根据流水号查询 getscantable() { - if (this.partNumber === '' || this.partNumber === null) { - this.$message.error('请输入正确零件号') + // this.tableData = [] + if (this.partNumber.length === 0) { + this.$notify({ + title: '警告', + message: '请输入正确的零件图号', + type: 'warning' + }) } else { this.listLoading = true searchTable(this.partNumber).then(response => { - console.log(response.data) if (response.data.length === 0) { this.listLoading = false - this.$message.warning('该零件未加工完成') - } else if (response.data[0].考核状态 === 8) { - this.listLoading = false - this.$message.warning('该零件已入库') - } else if (response.data[0].考核状态 === 9) { - this.listLoading = false - this.$message.warning('该零件已出库') - } else if (response.data[0].考核状态 === 7) { - for (let i = 0; i < this.tableData.length; i++) { - if (response.data[0].工艺计划流水号 === this.tableData[i].工艺计划流水号) { - this.ace = this.ace + 1 + this.$notify({ + title: '警告', + message: '该零件未加工完成', + type: 'warning' + }) + } else { + for (let i = 0; i < response.data.length; i++) { + if (response.data[i].考核状态 === 8) { + this.listLoading = false + this.$notify({ + title: '警告', + message: 'P' + response.data[i].工艺计划流水号 + '已入库', + type: 'warning' + }) + } else if (response.data[i].考核状态 === 9) { + this.listLoading = false + this.$notify({ + title: '警告', + message: 'P' + response.data[i].工艺计划流水号 + '已出库', + type: 'warning' + }) + } else if (response.data[i].考核状态 === 7) { + this.listLoading = false + this.tableData.push({ + plannumber: response.data[i].剩余数量, + innumber: response.data[i].入库数量, + capture: '', + note: '', + 工艺计划流水号: response.data[i].工艺计划流水号, + 项目名称: response.data[i].项目名称, + 机床图号: response.data[i].机床图号, + 零件图号: response.data[i].零件图号 + }) + const hash = {} // 一个新数组,data为你需要去重的数组,newData用于接收去重后的数组, curVal.去重条件 + this.tableDataNum = this.tableData.reduce((preVal, curVal) => { + hash[curVal.工艺计划流水号] ? '' : hash[curVal.工艺计划流水号] = true && preVal.push({ + 工艺计划流水号: curVal.工艺计划流水号, + 项目名称: curVal.项目名称, + 机床图号: curVal.机床图号, + 零件图号: curVal.零件图号, + plannumber: curVal.plannumber, + innumber: curVal.innumber, + capture: '', + note: '' + }) + return preVal + }, []) } } - if (this.ace === 0) { - this.tableData.push({ - plannumber: response.data[0].剩余数量, - innumber: response.data[0].入库数量, - capture: '', - note: '', - 工艺计划流水号: response.data[0].工艺计划流水号, - 项目名称: response.data[0].项目名称, - 机床图号: response.data[0].机床图号, - 零件图号: response.data[0].零件图号 - }) - } else { - this.$message.error('此件已在列表中') - } } }).then(() => { this.listLoading = false - this.ace = 0 }) } }, @@ -223,14 +255,14 @@ export default { if (this.locateNumber === '') { this.$message.error('请选择货位') } else { - for (let i = 0; i < this.tableData.length; i++) { - if (Number(this.tableData[i].innumber) === 0) { + for (let i = 0; i < this.tableDataNum.length; i++) { + if (Number(this.tableDataNum[i].innumber) === 0) { this.$message.error('请输入正确数量') } else { - if (this.tableData[i].innumber > this.tableData[i].plannumber) { - this.tableData[i].innumber = this.tableData[i].plannumber + if (this.tableDataNum[i].innumber > this.tableDataNum[i].plannumber) { + this.tableDataNum[i].innumber = this.tableDataNum[i].plannumber } - insertOne(this.tableData[i].工艺计划流水号, this.tableData[i].innumber, this.PeopleNumber, this.tableData[i].capture, this.inventoryNumber, this.locateNumber, this.tableData[i].note).then(response => { + insertOne(this.tableDataNum[i].工艺计划流水号, this.tableDataNum[i].innumber, this.PeopleNumber, this.tableDataNum[i].capture, this.inventoryNumber, this.locateNumber, this.tableDataNum[i].note).then(response => { if (response.data[0].result === '1') { this.$message({ type: 'success', @@ -257,6 +289,7 @@ export default { // 清空 Empty() { this.tableData = [] + this.tableDataNum = [] this.Partpaint = '' }, // 仓库查询 diff --git a/src/views/Inventory/OfflinePartOut/index.vue b/src/views/Inventory/OfflinePartOut/index.vue index 188496fb..1d5340d0 100644 --- a/src/views/Inventory/OfflinePartOut/index.vue +++ b/src/views/Inventory/OfflinePartOut/index.vue @@ -226,7 +226,8 @@ export default { total2: 0, materialName: '', // 物料名称 materialSpec: '', // 物料规格 - materialModel: '' // 物料型号 + materialModel: '', // 物料型号 + 离线合同明细流水号: '' } }, computed: { @@ -270,7 +271,7 @@ export default { for (let i = 0; i < response.data.length; i++) { this.GroupNum.push({ label: response.data[i].组号, - value: response.data[i].组件流水号 + value: Number(response.data[i].组件流水号) }) } }) @@ -333,13 +334,13 @@ export default { if (this.$refs['form'] !== undefined) { this.$refs['form'].resetFields() } - this.form = {} this.form.MachineValue = '' this.form.GroupNumValue = '' this.dialogFormVisible = true this.locateNumber = row.货位流水号 this.materialNumber = row.物料流水号 this.partnumber = row.货位存量 + this.离线合同明细流水号 = row.离线合同明细流水号 }, // 重置表单 callOff() { @@ -360,13 +361,12 @@ export default { }, // 离线外购件出库 addDirectPartm() { - console.log(this.partnumber, this.form.DirectNumber) if (Number(this.partnumber) < Number(this.form.DirectNumber)) { this.$message.error('请正确输入数量') } else { this.$refs['form'].validate((valid) => { if (valid) { - outlinePartOut(this.form.PeopleValue, this.form.DirectNumber, this.locateNumber, this.form.DirectNote, this.form.ProjectValue, this.form.MachineValue, this.form.GroupNumValue, this.materialNumber, this.PeopleNumber).then(response => { + outlinePartOut(this.form.PeopleValue, this.form.DirectNumber, this.locateNumber, this.form.DirectNote, this.form.ProjectValue, this.form.MachineValue, this.form.GroupNumValue, this.materialNumber, this.PeopleNumber, this.离线合同明细流水号).then(response => { if (response.data[0].result === '1') { this.$message.success('零件出库成功') this.dialogFormVisible = false diff --git a/src/views/ManufacturingCenter/AntonMonitoring/index.vue b/src/views/ManufacturingCenter/AntonMonitoring/index.vue new file mode 100644 index 00000000..f3025d4f --- /dev/null +++ b/src/views/ManufacturingCenter/AntonMonitoring/index.vue @@ -0,0 +1,153 @@ + + + + + diff --git a/src/views/ManufacturingCenter/PartWorkCraftSelect_rdlc/index.vue b/src/views/ManufacturingCenter/PartWorkCraftSelect_rdlc/index.vue index f4b54e5f..a033f54f 100644 --- a/src/views/ManufacturingCenter/PartWorkCraftSelect_rdlc/index.vue +++ b/src/views/ManufacturingCenter/PartWorkCraftSelect_rdlc/index.vue @@ -1,19 +1,55 @@