Files
longdianningxing/lms/nladmin-ui/src/views/wms/basedata/st/ivt/index.vue
2023-02-21 19:05:20 +08:00

220 lines
7.9 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>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<div v-if="crud.props.searchToggle">
<!-- 搜索 -->
<el-form
:inline="true"
class="demo-form-inline"
label-position="right"
label-width="90px"
label-suffix=":"
>
<el-form-item label="所属库区">
<el-cascader
placeholder="所属库区"
:options="sects"
:props="{ checkStrictly: true }"
clearable
class="filter-item"
style="width: 200px;"
@change="sectQueryChange"
/>
</el-form-item>
<el-form-item label="仓位搜索">
<el-input
v-model="query.struct"
clearable
size="small"
placeholder="仓位编码或名称"
style="width: 200px;"
class="filter-item"
/>
</el-form-item>
<el-form-item label="物料搜索">
<el-input
v-model="query.material"
clearable
size="small"
placeholder="物料编码、名称或规格"
style="width: 200px;"
class="filter-item"
/>
</el-form-item>
<el-form-item label="木箱码">
<el-input
v-model="query.package_box_sn"
clearable
size="small"
placeholder="物料编码、名称或规格"
style="width: 200px;"
class="filter-item"
/>
</el-form-item>
<el-form-item label="子卷号">
<el-input
v-model="query.pcsn"
clearable
size="small"
placeholder="子卷号"
style="width: 200px;"
class="filter-item"
/>
</el-form-item>
<el-form-item label="sap批次">
<el-input
v-model="query.sap_pcsn"
clearable
size="small"
placeholder="sap批次"
style="width: 200px;"
class="filter-item"
/>
</el-form-item>
<el-form-item label="销售订单">
<el-input
v-model="query.sale_order_name"
clearable
size="small"
placeholder="销售订单"
style="width: 200px;"
class="filter-item"
/>
</el-form-item>
<rrOperation :crud="crud" />
</el-form>
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission">
<el-button
slot="right"
class="filter-item"
type="success"
icon="el-icon-check"
size="mini"
@click="downdtl"
>
导出Excel
</el-button>
</crudOperation>
<!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
<el-table-column type="selection" width="55" />
<el-table-column prop="struct_code" label="仓位编码" :min-width="flexWidth('struct_code',crud.data,'仓位编码')" />
<el-table-column prop="struct_name" label="仓位名称" :min-width="flexWidth('struct_name',crud.data,'仓位名称')" />
<el-table-column prop="stor_name" label="仓库" :min-width="flexWidth('stor_name',crud.data,'仓库')" />
<el-table-column prop="sect_name" label="库区" :min-width="flexWidth('sect_name',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,'物料名称')" />
<!-- <el-table-column prop="region_name" label="下料区域" min-width="120" show-overflow-tooltip />-->
<!-- <el-table-column prop="quality_scode" label="品质类型" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
{{ dict.label.ST_QUALITY_SCODE[scope.row.quality_scode] }}
</template>
</el-table-column>-->
<el-table-column prop="package_box_sn" label="木箱码" :min-width="flexWidth('package_box_sn',crud.data,'木箱码')" />
<el-table-column prop="pcsn" label="子卷号" :min-width="flexWidth('pcsn',crud.data,'子卷号')" />
<el-table-column prop="sap_pcsn" label="sap批次" :min-width="flexWidth('sap_pcsn',crud.data,'sap批次')" />
<el-table-column prop="canuse_qty" label="可用数" :formatter="rounding" />
<el-table-column prop="frozen_qty" label="冻结数" :formatter="rounding" />
<el-table-column prop="ivt_qty" label="库存数" :formatter="rounding" />
<el-table-column prop="warehousing_qty" label="待入数" :formatter="rounding" />
<el-table-column prop="unit_name" label="计量单位" />
<el-table-column prop="instorage_time" label="入库时间" min-width="150" />
</el-table>
<!--分页组件-->
<pagination />
</div>
</div>
</template>
<script>
import crudStructivt from '@/views/wms/basedata/st/ivt/structivt'
import CRUD, { presenter, header, form, crud } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
import crudUserStor from '@/views/wms/basedata/st/userStor/userStor'
import { download } from '@/api/data'
import { downloadFile } from '@/utils'
const defaultForm = { stockrecord_id: null, cascader: null, struct_id: null, struct_code: null, struct_name: null, workprocedure_id: null, material_id: null, material_code: null, quality_scode: null, pcsn: null, canuse_qty: null, frozen_qty: null, ivt_qty: null, warehousing_qty: null, qty_unit_id: null, instorage_time: null, sale_id: null }
export default {
name: 'Structivt',
dicts: ['ST_QUALITY_SCODE'],
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({ title: '库存管理', url: 'api/structivt', idField: 'stockrecord_id', sort: 'stockrecord_id,desc',
optShow: {
add: false,
edit: false,
del: false,
download: false,
reset: true
},
crudMethod: { ...crudStructivt }})
},
data() {
return {
sects: [],
permission: {
},
rules: {
}
}
},
created() {
crudUserStor.getSect({ 'stor_id': '' }).then(res => {
this.sects = res.content
})
},
methods: {
// 取两位小数点
rounding(row, column) {
return parseFloat(row[column.property]).toFixed(2)
},
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
},
hand(value) {
this.crud.toQuery()
},
sectQueryChange(val) {
if (val.length === 1) {
this.query.stor_id = val[0]
this.query.sect_id = ''
}
if (val.length === 0) {
this.query.sect_id = ''
this.query.stor_id = ''
}
if (val.length === 2) {
this.query.stor_id = val[0]
this.query.sect_id = val[1]
}
this.crud.toQuery()
},
downdtl() {
if (this.currentRow !== null) {
crud.downloadLoading = true
download('/api/structivt/download', this.crud.query).then(result => {
debugger
downloadFile(result, '成品库存', 'xlsx')
crud.downloadLoading = false
}).catch(() => {
crud.downloadLoading = false
})
}
}
}
}
</script>
<style scoped>
</style>