rev:烘干出库流程修改

This commit is contained in:
2025-09-16 11:19:10 +08:00
parent ab3b6b4746
commit 657356d17b
17 changed files with 238 additions and 68 deletions

View File

@@ -56,4 +56,12 @@ export function copySave(data) {
})
}
export default { add, edit, del, queryMater, checkVehicle, querySupp, copySave }
export function printDelete(data) {
return request({
url: 'api/group/printDelete',
method: 'post',
data
})
}
export default { add, edit, del, queryMater, checkVehicle, querySupp, copySave, printDelete }

View File

@@ -399,6 +399,10 @@ export default {
},
printTable() {
let row = this.$refs.table.selection[0]
var bake_num = row.bake_num
if (row.out_type === '1004') {
bake_num += 1
}
const LODOP = getLodop()
LODOP.SET_SHOW_MODE('HIDE_DISBUTTIN_SETUP', 1)// 隐藏那些无效按钮
// 打印纸张大小设置https://www.it610.com/article/2094844.html
@@ -419,13 +423,21 @@ export default {
LODOP.ADD_PRINT_TEXT('52mm', '48mm', '80mm', '15mm', '生产日期:' + row.produce_time + '')
LODOP.ADD_PRINT_TEXT('61mm', '48mm', '80mm', '15mm', '供应商名称:' + row.supp_name + '')
LODOP.ADD_PRINT_TEXT('43mm', '5mm', '80mm', '15mm', '烘干次数:' + row.bake_num + '')
LODOP.ADD_PRINT_TEXT('43mm', '5mm', '80mm', '15mm', '烘干次数:' + bake_num + '')
LODOP.ADD_PRINT_TEXT('52mm', '5mm', '80mm', '15mm', '供应商编码:' + row.supp_code + '')
LODOP.ADD_PRINT_TEXT('61mm', '5mm', '80mm', '15mm', '批号:' + row.pcsn + '')
LODOP.ADD_PRINT_TEXT('69mm', '5mm', '80mm', '15mm', '执行标准:' + row.execution_stand + '')
// LODOP.PRINT()// 打印
LODOP.PREVIEW()// 预览
// 调用删除
if (row.out_type === '1004' && row.is_need_delete === '1') {
crudGroup.printDelete(row).then(res => {
})
}
this.crud.notify('操作成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.crud.toQuery()
}
}
}

View File

@@ -54,6 +54,23 @@
/>
</el-select>
</el-form-item>
<el-form-item label="工单类型">
<el-select
v-model="query.bom_type"
clearable
size="mini"
placeholder="全部"
class="filter-item"
@change="crud.toQuery"
>
<el-option
v-for="item in dict.BOM_TYPE"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<rrOperation />
</el-form>
</div>
@@ -127,7 +144,27 @@
<el-col :span="8">
<el-form-item label="叫料重量" prop="call_qty">
<el-input-number v-model="form.call_qty" :precision="2" :controls="false" :min="1" style="width: 200px" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="工单类型" prop="bom_type">
<el-select
v-model="form.bom_type"
size="mini"
placeholder="全部"
style="width: 200px"
class="filter-item"
>
<el-option
v-for="item in dict.BOM_TYPE"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
@@ -152,6 +189,7 @@
<el-link type="warning" @click="toView(scope.$index, scope.row)">{{ scope.row.bom_code }}</el-link>
</template>
</el-table-column>
<el-table-column prop="bom_type" label="工单类型" :formatter="formattType" :min-width="flexWidth('bom_type',crud.data,'工单类型')" />
<el-table-column prop="bom_status" label="工单状态" :formatter="formattStatus" :min-width="flexWidth('bom_status',crud.data,'工单状态')" />
<el-table-column prop="material_code" label="物料编码" :min-width="flexWidth('material_code',crud.data,'物料编码')" />
<el-table-column prop="material_name" label="物料名称" :min-width="flexWidth('material_name',crud.data,'物料名称')" />
@@ -222,7 +260,7 @@ export default {
components: { pagination, crudOperation, rrOperation, udOperation, ViewDialog },
mixins: [presenter(), header(), form(defaultForm), crud()],
// 数据字典
dicts: ['BOM_STATUS'],
dicts: ['BOM_STATUS', 'BOM_TYPE'],
cruds() {
return CRUD({
title: '产线叫料',
@@ -251,6 +289,9 @@ export default {
device_code: [
{ required: true, message: '设备编码不能为空', trigger: 'blur' }
],
bom_type: [
{ required: true, message: '工单类型不能为空', trigger: 'blur' }
],
call_qty: [
{ required: true, message: '叫料重量不能为空', trigger: 'blur' }
]
@@ -279,6 +320,9 @@ export default {
formattStatus(row) {
return this.dict.label.BOM_STATUS[row.bom_status]
},
formattType(row) {
return this.dict.label.BOM_TYPE[row.bom_type]
},
toView(index, row) {
this.openParam = row
this.ViewDialog = true

View File

@@ -122,7 +122,8 @@
@selection-change="crud.selectionChangeHandler"
>
<el-table-column type="selection" width="55" />
<el-table-column prop="bom_code" label="叫料单号" :min-width="flexWidth('bom_code',crud.data,'叫料单号')" />
<el-table-column prop="bom_code" label="工单单号" :min-width="flexWidth('bom_code',crud.data,'叫料单号')" />
<el-table-column prop="bom_type" label="工单类型" :formatter="formattType" :min-width="flexWidth('bom_type',crud.data,'工单类型')" />
<el-table-column prop="bom_status" label="状态" :formatter="formattStatus" :min-width="flexWidth('bom_status',crud.data,'工单状态')" />
<el-table-column prop="material_code" label="物料编码" :min-width="flexWidth('material_code',crud.data,'物料编码')" />
<el-table-column prop="material_name" label="物料名称" :min-width="flexWidth('material_name',crud.data,'物料名称')" />
@@ -174,7 +175,7 @@ export default {
components: { pagination, crudOperation, rrOperation, udOperation, WeighDialog },
mixins: [presenter(), header(), form(defaultForm), crud()],
// 数据字典
dicts: ['BOM_DTL_STATUS'],
dicts: ['BOM_DTL_STATUS', 'BOM_TYPE'],
cruds() {
return CRUD({
title: '产线叫料',
@@ -212,6 +213,9 @@ export default {
formattStatus(row) {
return this.dict.label.BOM_DTL_STATUS[row.bom_status]
},
formattType(row) {
return this.dict.label.BOM_TYPE[row.bom_type]
},
openWeigh() {
this.openParamWeigh = this.$refs.table.selection[0]
this.openWeighDialog = true

View File

@@ -128,7 +128,7 @@
size="mini"
@click="queryDtlIos()"
>
添加叫料单据
添加生产工单
</el-button>
</span>
@@ -178,7 +178,7 @@
</el-table>
<AddDtl :dialog-show.sync="dtlShow" :stor-id="storId" @tableChanged="tableChanged" />
<AddDtlIos :dialog-show.sync="dtlIosShow" @tableChanged="tableChanged2" />
<AddDtlIos :dialog-show.sync="dtlIosShow" :bom-type="bom_type" @tableChanged="tableChanged2" />
</el-dialog>
</template>
@@ -228,6 +228,7 @@ export default {
storlist: [],
invtypelist: [],
storId: null,
bom_type: null,
rules: {
stor_id: [
{ required: true, message: '仓库不能为空', trigger: 'blur' }
@@ -331,6 +332,11 @@ export default {
this.crud.notify('请选择仓库!', CRUD.NOTIFICATION_TYPE.INFO)
return
}
if (this.form.bill_type === '1001') {
this.bom_type = '1'
} else if (this.form.bill_type === '1004') {
this.bom_type = '2'
}
this.dtlIosShow = true
},
tableChanged(rows) {

View File

@@ -56,6 +56,7 @@
>
<el-table-column type="selection" width="55" />
<el-table-column prop="bom_code" label="工单单号" :min-width="flexWidth('bom_code',crud.data,'工单单号')" />
<el-table-column prop="bom_type" label="工单类型" :formatter="formattType" :min-width="flexWidth('bom_type',crud.data,'工单类型')" />
<el-table-column prop="bom_status" label="工单状态" :formatter="formattStatus" :min-width="flexWidth('bom_status',crud.data,'工单状态')" />
<el-table-column prop="material_code" label="物料编码" :min-width="flexWidth('material_code',crud.data,'物料编码')" />
<el-table-column prop="material_name" label="物料名称" :min-width="flexWidth('material_name',crud.data,'物料名称')" />
@@ -101,11 +102,15 @@ export default {
})
},
mixins: [presenter(), header()],
dicts: ['BOM_STATUS'],
dicts: ['BOM_STATUS', 'BOM_TYPE'],
props: {
dialogShow: {
type: Boolean,
default: false
},
bomType: {
type: String,
default: null
}
},
data() {
@@ -125,9 +130,16 @@ export default {
formattStatus(row) {
return this.dict.label.BOM_STATUS[row.bom_status]
},
formattType(row) {
return this.dict.label.BOM_TYPE[row.bom_type]
},
close() {
this.$emit('update:dialogShow', false)
},
open() {
this.query.bom_type = this.bomType
this.crud.toQuery()
},
submit() {
this.rows = this.$refs.table.selection
if (this.rows.length <= 0) {