<template>
|
<GlobalWindow title="选择物料" :visible.sync="isShowModal" :confirm-working="isLoading" width="900px" @close="close"
|
@confirm="confirm">
|
<el-form ref="searchForm" :model="searchForm" label-width="100px" inline>
|
<el-form-item prop="areaType" label="物料信息">
|
<el-input v-model="searchForm.aaa" placeholder="请输入物料编码/名称" @keypress.enter.native="search"></el-input>
|
</el-form-item>
|
<el-form-item prop="areaIds" label="物料分类">
|
<el-cascader v-model="searchForm.areaIds" @change="changeSel" placeholder="请选择物料分类" clearable
|
:options="cateList" :props="{
|
label: 'name',
|
value: 'id',
|
children: 'childCategoryList'
|
}"></el-cascader>
|
</el-form-item>
|
<span>
|
<el-button type="primary" @click="getList">搜索</el-button>
|
<el-button @click="reset">重置</el-button>
|
</span>
|
</el-form>
|
<!-- -->
|
<el-table @selection-change="handleSelectionChange" :data="list" stripe>
|
<el-table-column type="selection" width="55" />
|
<el-table-column prop="categoryName" label="物料编码" min-width="100px"></el-table-column>
|
<el-table-column prop="creatorName" label="物料名称" min-width="80px"></el-table-column>
|
<el-table-column prop="createDate" label="条码" min-width="100px"></el-table-column>
|
<el-table-column prop="dealUserName" label="品牌" min-width="80px"></el-table-column>
|
<el-table-column prop="dealUserName" label="规格型号" min-width="80px"></el-table-column>
|
<el-table-column prop="dealUserName" label="单位" min-width="80px"></el-table-column>
|
<el-table-column prop="dealUserName" label="库存" min-width="80px"></el-table-column>
|
</el-table>
|
<Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination">
|
</Pagination>
|
</GlobalWindow>
|
</template>
|
|
<script>
|
import BaseOpera from '@/components/base/BaseOpera'
|
import GlobalWindow from '@/components/common/GlobalWindow'
|
import Pagination from '@/components/common/Pagination'
|
import { fetchList as getCateList } from '@/api/business/category.js'
|
export default {
|
name: 'OperaCategoryWindow',
|
components: { GlobalWindow, Pagination },
|
data() {
|
return {
|
// 表单数据
|
searchForm: {},
|
pagination: {
|
pageSize: 10,
|
page: 1,
|
total: 0
|
},
|
list: [],
|
selList: [],
|
cateList: [],
|
isShowModal: false,
|
isLoading: false,
|
// 验证规则
|
rules: {
|
name: [{ required: true, message: '请输入二级分类名称', trigger: 'blur' }],
|
},
|
dataList: []
|
}
|
},
|
created() {
|
this.initData()
|
},
|
methods: {
|
confirm() {
|
this.$emit('change', this.selList)
|
this.close()
|
},
|
handleSelectionChange(val) {
|
this.selList = val
|
},
|
getList(page) {
|
const { pagination, searchForm } = this
|
this.listLoading = true
|
if(page){pagination.page = page}
|
fetchList({
|
capacity: pagination.pageSize,
|
page: pagination.page,
|
model: {...searchForm}
|
}).then((res) => {
|
this.listLoading = false
|
this.list = res.records
|
this.pagination.total = res.total || 0
|
}, () => {
|
this.listLoading = false
|
})
|
},
|
initData() {
|
getCateList({
|
model: { type: 3 },
|
capacity: 1000,
|
page: 1,
|
}).then(res => {
|
this.cateList = res.records || []
|
})
|
},
|
changeSel(e) {
|
if (e && e.length == 2) {
|
this.$set(this.searchForm, 'cateId', e[1])
|
} else {
|
this.$set(this.searchForm, 'cateId', '')
|
}
|
},
|
reset() {
|
this.searchForm = {}
|
this.pagination.pageSize = 10
|
this.pagination.page = 1
|
this.getList()
|
},
|
handleSizeChange(capacity) {
|
this.pagination.pageSize = capacity
|
this.getList()
|
},
|
close() {
|
this.isShowModal = false
|
this.$emit('close')
|
},
|
}
|
}
|
</script>
|