Files
longdianningxing/lms/nladmin-ui/src/views/wms/pdm/sub/MaterDialog.vue

250 lines
6.1 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="1000px"
@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="box_no" label="木箱号" />
<el-table-column prop="material_code" label="木箱规格" />
<el-table-column prop="material_name" label="物料名称" />
<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="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="28%"
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.boxLength }}</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: ''
}
},
data() {
return {
boxLength: '',
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.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
this.boxLength = this.rows[0].material_code
if (this.rows.length <= 0) {
this.$message('请先选择木箱信息')
return
}
this.dialogVisible1 = true
},
confirmSubmit() {
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>