ll
liukangdong
2024-10-14 283cb693086791acca0c10ab428d155d9757f393
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
<template>
  <TableLayout :permissions="['business:platformreason:query']">
    <!-- 搜索表单 -->
    <SearchFormCollapse slot="search-form" :need-more="false">
      <el-form ref="searchForm" :model="searchForm" label-width="100px" inline>
        <el-form-item label="" prop="reason">
          <el-input v-model="searchForm.reason" clearable placeholder="请输入入园原因" @keypress.enter.native="search"></el-input>
        </el-form-item>
        <el-form-item label="" >
          <el-select v-model="searchForm.groupId"     placeholder="请选择月台分组" @change="search" clearable>
            <el-option
                v-for="item in groupList"
                :key="item.id"
                :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>
    </SearchFormCollapse>
    <!-- 表格和分页 -->
    <template v-slot:table-wrap>
      <ul class="toolbar" v-permissions="['business:platformreason:create','business:platformreason:delete']">
        <li><el-button type="primary" @click="$refs.OperaPlatformReasonWindow.open('新建月台入园原因')" icon="el-icon-plus" v-permissions="['business:platformreason:create']">新建</el-button></li>
        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:platformreason:delete']">删除</el-button></li>
      </ul>
      <el-table
        v-loading="isWorking.search"
        :data="tableData.list"
        stripe
        @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" width="55"></el-table-column>
        <el-table-column prop="reason" label="入园原因" fixed min-width="100px"></el-table-column>
        <el-table-column prop="groupName" label="对应作业月台组" fixed min-width="150px"></el-table-column>
        <el-table-column prop="limitNum" label="作业量(万只/天)" min-width="120px"></el-table-column>
        <el-table-column prop="sortnum" label="排序码" fixed min-width="80px"></el-table-column>
        <el-table-column prop="remark" label="说明" fixed min-width="100px"></el-table-column>
        <el-table-column label="禁/启用" min-width="120px" >
          <template slot-scope="{row}">
            <el-switch
                @change="changeStatus($event, row)"
                v-model="row.status"
                active-color="#13ce66"
                inactive-color="#ff4949"
                :active-value="0"
                :inactive-value="1">
            </el-switch>
          </template>
        </el-table-column>
        <el-table-column prop="editDate" label="最近操作时间" min-width="140px"></el-table-column>
        <el-table-column
          v-if="containPermissions(['business:platformreason:update', 'business:platformreason:delete'])"
          label="操作"
          align="center"
          min-width="150"
          fixed="right"
        >
          <template slot-scope="{row}">
            <el-button type="text" @click="$refs.OperaPlatformApproveTemplWindow.open('月台入园原因审批流', row)" icon="el-icon-edit" v-permissions="['business:platformreason:update']">审批流</el-button>
            <el-button type="text" @click="$refs.OperaPlatformReasonWindow.open('编辑月台入园原因', row)" icon="el-icon-edit" v-permissions="['business:platformreason:update']">编辑</el-button>
            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:platformreason:delete']">删除</el-button>
          </template>
        </el-table-column>
      </el-table>
      <pagination
        @size-change="handleSizeChange"
        @current-change="handlePageChange"
        :pagination="tableData.pagination"
      >
      </pagination>
    </template>
    <!-- 新建/修改 -->
    <OperaPlatformReasonWindow ref="OperaPlatformReasonWindow" @success="handlePageChange"/>
    <OperaPlatformApproveTemplWindow ref="OperaPlatformApproveTemplWindow" @success="handlePageChange"/>
  </TableLayout>
</template>
 
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import SearchFormCollapse from '@/components/common/SearchFormCollapse'
import Pagination from '@/components/common/Pagination'
import OperaPlatformReasonWindow from '@/components/business/OperaPlatformReasonWindow'
import OperaPlatformApproveTemplWindow from '@/components/business/OperaPlatformApproveTemplWindow'
import { allList } from '@/api/platform/platformGroup'
export default {
  name: 'Platform',
  extends: BaseTable,
  components: { SearchFormCollapse, TableLayout, Pagination, OperaPlatformReasonWindow, OperaPlatformApproveTemplWindow },
  data () {
    return {
      groupList: [],
      // 搜索
      working: false,
      working1: false,
      searchForm: {
        reason: '',
        groupId: null
      }
    }
  },
  created () {
    this.config({
      module: '月台入园原因信息表',
      api: '/platform/platformReason',
      'field.id': 'id',
      'field.main': 'id'
    })
    this.search()
    this.loadGroupList()
  },
  methods: {
    loadGroupList () {
      allList({})
        .then(res => {
          this.groupList = res || []
        })
    },
    changeStatus (e, row) {
      this.api.updateStatusById({
        id: row.id,
        status: e
      })
    }
  }
}
</script>