1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
| <template>
| <div class="main_app">
| <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear" />
| <div class="mt20">
| <el-button v-permissions="['business:ywpatrolline:create']">导出</el-button>
| </div>
| <el-table v-loading="loading" :data="list" stripe>
| <el-table-column prop="materialId" label="资产编码" min-width="100" show-overflow-tooltip />
| <el-table-column prop="materialName" label="资产名称" min-width="100" show-overflow-tooltip />
| <el-table-column prop="materialQrcode" label="条码" min-width="100" show-overflow-tooltip />
| <el-table-column prop="materialBrand" label="品牌" min-width="100" show-overflow-tooltip />
| <el-table-column prop="materialAttr" label="规格型号" min-width="100" show-overflow-tooltip />
| <el-table-column prop="warehouseName" label="所在仓库" min-width="100" show-overflow-tooltip />
| <el-table-column prop="stock" label="库存" min-width="80" show-overflow-tooltip />
| </el-table>
| <div class="mt20">
| <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" />
| </div>
| </div>
| </template>
|
| <script>
| import Pagination from '@/components/common/Pagination'
| import QueryForm from '@/components/common/QueryForm'
| import dayjs from 'dayjs'
| import duration from 'dayjs/plugin/duration'
| dayjs.extend(duration)
| import { fetchList } from '@/api/ywStock'
| export default {
| components: {
| Pagination,
| QueryForm
| },
| data() {
| return {
| loading: false,
| pagination: {
| pageSize: 10,
| page: 1,
| total: 0
| },
| filters: {},
| list: [],
| total: 0,
| queryFormConfig: {
| formItems: [
| {
| filed: 'warehouseId',
| type: 'select',
| label: '所在仓库',
| options: []
| },
| {
| filed: 'materialId',
| type: 'input',
| label: '物料名称/编码',
| placeholder: '请输入物料名称/编码'
| },
| {
| filed: 'materialAttr',
| type: 'input',
| label: '型号',
| },
| ]
| }
| }
| },
| created() {
| this.getList()
| },
| methods: {
| getList(page) {
| const { pagination, filters } = this
| this.loading = true
| fetchList({
| model: {
| ...filters
| },
| capacity: pagination.pageSize,
| page: page || pagination.page,
| }).then(res => {
| this.loading = false
| this.list = res.records || []
| this.pagination.total = res.total || 0
| }, () => {
| this.loading = false
| })
| },
| clear() {
| this.filters = {}
| this.pagination.pageSize = 10
| this.pagination.page = 1
| this.getList()
| },
| handleSizeChange(capacity) {
| this.pagination.pageSize = capacity
| this.getList()
| }
| }
| }
| </script>
|
| <style></style>
|
|