shenzhouyu 6 months ago
parent
commit
cec052871d
  1. 2
      src/api/production/production-issue.js
  2. 13
      src/views/modules/outsourcing-issue/PickingIssue.vue
  3. 125
      src/views/modules/production-issue/productionIssuePda.vue

2
src/api/production/production-issue.js

@ -25,4 +25,6 @@ export const getIssueHistory = data => createAPI(`/pda/production/issue/getIssue
export const validateWorkOrder = data => createAPI(`/pda/production/issue/validateWorkOrder`,'post',data)
// 验证申请单状态
export const validateNotify = data => createAPI(`/pda/production/issue/validateNotify`,'post',data)
// 扫描材料是否存在
export const scanMaterialLabel = data => createAPI(`/pda/production/issue/scanMaterialLabel`,'post',data)

13
src/views/modules/outsourcing-issue/PickingIssue.vue

@ -29,11 +29,11 @@
<div class="print-section">
<div class="input-group">
<label>打印机</label>
<select>
<option value="">请选择打印机</option>
<option value="PRINTER_01">打印机01</option>
<option value="PRINTER_02">打印机02</option>
</select>
<el-select v-model="selectedPrinter" placeholder="请选择打印机" style="width: 100%">
<el-option value="">请选择打印机</el-option>
<el-option value="PRINTER_01">打印机01</el-option>
<el-option value="PRINTER_02">打印机02</el-option>
</el-select>
</div>
<button class="print-btn">打印托盘标签</button>
</div>
@ -45,7 +45,8 @@ export default {
data() {
return {
notifyNo: '',
scannedUnit: ''
scannedUnit: '',
selectedPrinter: '',
}
}
}

125
src/views/modules/production-issue/productionIssuePda.vue

@ -245,7 +245,7 @@
<div v-if="processFlag === 3" class="scan-label-page">
<div class="input-section">
<button @click="confirmScanLabelIssue" class="confirm-btn">确认发料</button>
<div class="label-info" v-if="scanLabelData.labelInfo">
<div class="info-row"><span class="label">物料编码:</span><span
class="value">{{ scanLabelData.labelInfo.partNo }}</span></div>
@ -254,7 +254,7 @@
<div class="info-row"><span class="label">可用数量:</span><span
class="value">{{ scanLabelData.labelInfo.availableQty }}</span></div>
</div>
<div class="qty-input" v-if="scanLabelData.labelInfo">
<!-- <div class="qty-input" v-if="scanLabelData.labelInfo">
<div class="input-group">
<label>发料数量</label>
<input v-model="scanLabelData.issueQty" type="number" :max="scanLabelData.labelInfo.availableQty"
@ -264,11 +264,33 @@
<label>备注</label>
<el-input type="textarea" v-model="scanLabelData.remark" placeholder="可选" />
</div>
<button @click="confirmScanLabelIssue" class="confirm-btn" :disabled="!scanLabelData.issueQty">确认发料</button>
</div> -->
<div class="input-group">
<div class="input-with-scan">
<input v-model="scanTableInput" placeholder="请扫描材料编号" @keyup.enter="handleScanTableInput" />
<button @click="handleScanTableInput" class="scan-btn">添加</button>
</div>
</div>
<div class="input-group">
<el-table :data="scanTableData" border highlight-current-row ref="mainTable" style="width: 100%; ">
<el-table-column v-for="(item,index) in columnList" :key="index" :sortable="item.columnSortable"
:prop="item.columnProp" :header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip" :align="item.align"
:fixed="item.fixed==''?false:item.fixed" :min-width="item.columnWidth" :label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px" /></span>
</template>
</el-table-column>
</el-table>
</div>
<div class="message" v-if="scanLabelData.message" :class="scanLabelData.messageType">
{{ scanLabelData.message }}</div>
</div>
</div>
</div>
</div>
@ -285,6 +307,7 @@ import {
bindUnitsToPallet,
printPalletLabel,
getPalletInfo,
scanMaterialLabel,
} from '@/api/production/production-issue'
export default {
@ -345,6 +368,64 @@ export default {
showScanLabel: false,
scanLabelContext: {},
scanLabelData: {},
scanTableInput: '',
scanTableData: [],
columnList: [
{
userId: this.$store.state.user.name,
functionId: 701002,
serialNumber: '701002Table1NotifyNo',
tableId: '701002Table1',
tableName: '生产入库申请主表',
columnProp: 'partNo',
headerAlign: 'center',
align: 'center',
columnLabel: '材料单号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
},
{
userId: this.$store.state.user.name,
functionId: 701002,
serialNumber: '701002Table1WorkShopName',
tableId: '701002Table1',
tableName: '生产入库申请主表',
columnProp: 'desc',
headerAlign: 'center',
align: 'center',
columnLabel: '材料描述',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
},
{
userId: this.$store.state.user.name,
functionId: 701002,
serialNumber: '701002Table1WorkShopName',
tableId: '701002Table1',
tableName: '生产入库申请主表',
columnProp: 'qty',
headerAlign: 'center',
align: 'center',
columnLabel: '数量',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
},
],
}
},
computed: {
@ -783,11 +864,11 @@ export default {
selectedMaterials: [
{
...this.scanLabelContext.material,
issueQty: this.scanLabelData.issueQty
}
issueQty: this.scanLabelData.issueQty,
},
],
scannedLabel: this.scanLabelData.scannedLabel,
remark: this.scanLabelData.remark
remark: this.scanLabelData.remark,
}
const response = await directIssue(issueData)
if (response.data.code === 0) {
@ -809,11 +890,11 @@ export default {
selectedMaterials: [
{
...this.scanLabelContext.material,
issueQty: this.scanLabelData.issueQty
}
issueQty: this.scanLabelData.issueQty,
},
],
scannedLabel: this.scanLabelData.scannedLabel,
remark: this.scanLabelData.remark
remark: this.scanLabelData.remark,
}
const response = await requestIssue(issueData)
if (response.data.code === 0) {
@ -836,6 +917,32 @@ export default {
this.loading = false
}
},
handleScanTableInput() {
if (!this.scanTableInput) return
//
let params = {
scanTableInput: this.scanTableInput,
}
scanMaterialLabel(params).then(({data}) => {
if (data.code === 0) {
let material = {
partNo: data.labelInfo.partNo ,
desc: data.labelInfo.partDesc || '材料描述-' + this.scanTableInput,
qty: 1, // 1
}
this.scanTableData.push(material)
this.scanTableInput = ''
} else {
this.$message.error(data.msg || '扫描失败')
return
}
}).catch(error => {
this.$message.error('扫描异常: ' + error.message)
return
})
},
},
}
</script>

Loading…
Cancel
Save