Files
longdianningxing/lms/nladmin-ui/src/views/wms/pdm/sub/MaterDialog.vue
gongbaoxiong 2cc00c2c06 opt:
1.子卷装箱增加子卷质检生成包装关系,去除临时包装关系;
2.修改最后一个子卷判断方式;
3.恢复装箱毛重推送,优化装箱页面;
2024-07-31 13:53:18 +08:00

256 lines
6.4 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<el-dialog
title="木箱选择"
append-to-body
:visible.sync="dialogVisible"
destroy-on-close
width="1100px"
@close="close"
@open="open"
>
<!-- 搜索 -->
<el-row>
<el-col :span="6">
<el-input
v-model="query.search"
clearable
style="width: 200px"
size="mini"
placeholder="输入关键词搜索"
prefix-icon="el-icon-search"
class="filter-item"
/> </el-col>
<el-col :span="6">
<rrOperation />
</el-col>
</el-row>
<div style="margin-bottom: 10px" />
<!--表格渲染-->
<el-table
ref="table"
v-loading="crud.loading"
:data="crud.data"
style="width: 100%;"
border
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
@select="handleSelectionChange"
@select-all="onSelectAll"
>
<el-table-column type="selection" width="55" />
<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,'物料名称')" />
<el-table-column prop="box_length" label="木箱长度" />
<el-table-column prop="box_width" label="木箱宽度" />
<el-table-column prop="box_high" label="木箱高度" />
<el-table-column prop="ivt_num" label="木箱库存数" />
<el-table-column prop="num" label="最大装卷数" />
</el-table>
<!--分页组件-->
<pagination />
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="submit"> </el-button>
</span>
<el-dialog
:visible.sync="dialogVisible1"
width="35%"
append-to-body
@close="dialogVisible1 = false"
>
<template v-slot:title>
<span class="warning-text1">提醒</span>
</template>
<br>
<br>
<span class="warning-text">
请仔细核对子卷与木箱规格是否匹配
<br>
<br>
<span class="red-text">木箱规格为{{ this.materialName }}</span>
<br>
<br>
<span class="red-text">子卷规格为{{ this.paperTubeDescription }}</span>
<br>
<br>
点击确定后将立即生成空木箱出库任务无法更改
</span>
<br>
<br>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible1 = false">取消</el-button>
<el-button type="primary" @click="confirmSubmit">确定</el-button>
</span>
</el-dialog>
</el-dialog>
</template>
<script>
import CRUD, { header, presenter } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import pagination from '@crud/Pagination'
import crudMaterattr from '@/views/wms/pdm/sub/materattr'
export default {
name: 'MaterDialog',
components: { rrOperation, pagination },
cruds() {
return CRUD({
title: '木箱规格',
optShow: {},
url: 'api/pdmBiSubpackagerelation/queryBoxSpec',
idField: 'box_id',
sort: 'material_name,desc',
query: { material_id: '' },
crudMethod: { ...crudMaterattr }
})
},
mixins: [presenter(), header()],
props: {
dialogShow: {
type: Boolean,
default: false
},
sectProp: {
type: Object
},
paperTubeDescription: {
type: String,
default: ''
},
boxType: {
type: String,
default: ''
}
},
data() {
return {
materialName: '',
classes: [],
dialogVisible: false,
dialogVisible1: false,
sect: {},
checkrow: {},
rows: [],
dialogDis: true,
lock: ''
}
},
watch: {
dialogShow: {
handler(newValue, oldValue) {
this.dialogVisible = newValue
}
},
sectProp: {
handler(newValue, oldValue) {
this.sect = newValue
}
}
},
methods: {
/**
* 接受父组件传值
* @param msg
*/
getMsg(msg) {
this.dialogDis = msg
this.lock = '00'
},
[CRUD.HOOK.beforeRefresh]() {
this.query.lock = this.lock
return true
},
open() {
if (this.sect) {
this.query.sect = this.sect
if (this.sect.length === 1) {
this.query.stor_id = this.sect[0]
this.query.sect_id = ''
}
if (this.sect.length === 0) {
this.query.sect_id = ''
this.query.stor_id = ''
}
if (this.sect.length === 2) {
this.query.stor_id = this.sect[0]
this.query.sect_id = this.sect[1]
}
}
this.query.is_lock = '1'
this.query.lock = this.lock
this.query.is_used = '1'
this.query.search = this.boxType
this.crud.toQuery()
},
handleSelectionChange(val, row) {
if (val.length > 1) {
this.$refs.table.clearSelection()
this.$refs.table.toggleRowSelection(val.pop())
} else {
this.checkrow = row
}
},
sectQueryChange(val) {
if (val.length === 1) {
this.crud.query.stor_id = val[0]
this.crud.query.sect_id = ''
}
if (val.length === 0) {
this.crud.query.sect_id = ''
this.crud.query.stor_id = ''
}
if (val.length === 2) {
this.crud.query.stor_id = val[0]
this.crud.query.sect_id = val[1]
}
},
onSelectAll() {
this.$refs.table.clearSelection()
},
close() {
this.crud.resetQuery()
this.query.sect = null
this.$emit('update:dialogShow', false)
},
submit() {
debugger
this.rows = this.$refs.table.selection
if (this.rows.length <= 0) {
this.crud.notify('请选择木箱信息!', CRUD.NOTIFICATION_TYPE.WARNING)
return
}
this.materialName = this.rows[0].material_name
this.dialogVisible1 = true
},
confirmSubmit() {
debugger
this.dialogVisible1 = false
this.$emit('update:dialogShow', false)
this.$emit('tableChanged', this.checkrow)
}
}
}
</script>
<style scoped>
.warning-text {
color: black;
text-align: left;
font-size: 18px;
display: block;
}
.red-text {
color: red;
text-align: left;
font-size: 17px;
font-weight: bold;
}
.warning-text1 {
color: orange;
text-align: left;
font-size: 19px;
display: block;
font-weight: bold;
}
</style>