Mr.Shi
2023-08-11 5a7fb4358eb902ce139096f20ef3c0625adcd7f4
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<template>
  <TableLayout>
    <!-- 搜索表单 -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="单位名称" prop="unitName">
          <el-input v-model="searchForm.unitName" placeholder="请输入单位名称" @keypress.enter.native="search"></el-input>
        </el-form-item>
        <el-form-item label="单位类型" prop="unitType">
          <el-select v-model="searchForm.unitType" filterable clearable placeholder="请选择">
            <el-option
              v-for="(item, index) in unitTypes"
              :key="index"
              :label="item.name"
              :value="item.id">
            </el-option>
          </el-select>
        </el-form-item>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
        <el-button @click="reset">重置</el-button>
      </section>
    </el-form>
    <!-- 表格和分页 -->
    <template v-slot:table-wrap>
      <ul class="toolbar">
        <li><el-button type="primary" @click="$refs.operaUnitDistributeExtWindow.open('新增单位')">新增</el-button></li>
        <li><el-button type="danger" plain @click="unvalidWithArray">失效</el-button></li>
      </ul>
      <el-table
        v-loading="isWorking.search"
        :data="tableData.list"
        stripe
        border
        @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" fixed="left" width="55"></el-table-column>
        <el-table-column prop="name" label="单位名称" min-width="100px"></el-table-column>
        <el-table-column prop="type" label="单位类型" min-width="100px">
          <!-- 0.主单位,1.采购单位,2.库存单位 -->
          <template slot-scope="{row}">
            {{ getTypes(row.type) }}
          </template>
        </el-table-column>
        <el-table-column prop="createTime" label="创建时间" min-width="140px"></el-table-column>
        <el-table-column prop="status" label="状态" min-width="100px">
          <!-- 0禁用 1启用 -->
          <template slot-scope="{row}">
            <el-tag v-if="row.status == 1" type="success">启用</el-tag>
            <el-tag v-if="row.status == 0" type="danger">失效</el-tag>
          </template>
        </el-table-column>
        <el-table-column
          label="操作"
          min-width="120"
          fixed="right"
        >
          <template slot-scope="{row}">
            <div v-if="row.status == 1">
              <el-button type="text" @click="$refs.operaUnitDistributeExtWindow.open('编辑物料单位', row)">编辑</el-button>
              <span style="margin-left:8px">
                <el-button type="text" @click="unvalid(row)">失效</el-button>
              </span>
            </div>
          </template>
        </el-table-column>
      </el-table>
      <pagination
        @size-change="handleSizeChange"
        @current-change="handlePageChange"
        :pagination="tableData.pagination"
      ></pagination>
    </template>
    <!-- 新建/修改 -->
    <OperaUnitDistributeExtWindow ref="operaUnitDistributeExtWindow" @success="handlePageChange"/>
  </TableLayout>
</template>
 
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaUnitDistributeExtWindow from '@/components/ext/OperaUnitDistributeExtWindow'
export default {
  name: 'UnitDistributeExt',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaUnitDistributeExtWindow },
  data () {
    return {
      // 搜索
      searchForm: {
        unitName: '',
        unitType: '',
        organization: ''
      },
      unitTypes: [
        { name: '主单位', id: 1 },
        { name: '采购单位', id: 2 },
        { name: '库存单位', id: 3 },
        { name: '销售单位', id: 4 }
      ],
      list: [
        { name: '个', type: '1', createTime: '2021-12-27 14:00:25', status: '1' },
        { name: '件', type: '2', createTime: '2021-12-27 14:00:25', status: '0' },
        { name: '套', type: '3', createTime: '2021-12-27 14:00:25', status: '1' },
        { name: '吨', type: '4', createTime: '2021-12-27 14:00:25', status: '0' }
      ]
    }
  },
  created () {
    this.config({
      module: '物料单位分配信息',
      api: '/ext/unitDistributeExt',
      'field.id': 'id',
      'field.main': 'name',
      sorts: [{ direction: 'DESC', property: 'CREATE_TIME' }]
    })
    this.search()
  },
  methods: {
    getTypes (v) {
      for (const item of this.unitTypes) {
        if (item.id === v) {
          return item.name
        }
      }
    },
    unvalid (row) {
      print('失效', row)
    },
    unvalidWithArray () {
      print('失效')
    }
  }
}
</script>