Blame view

src/components/role/RoleStaff.vue 3.67 KB
b25b036d   wuxw   v1.9 优化日期
1
  <template>
8fb25d6e   wuxw   优化相关bug
2
3
4
5
6
7
8
9
10
11
12
13
    <div class="role-staff">
      <div class="search-wrapper">
        <el-input v-model="searchForm.staffName" :placeholder="$t('role.staffName')"
          style="width: 200px; margin-right: 10px" />
        <el-button type="primary" @click="queryStaffs">
          <i class="el-icon-search"></i>
          {{ $t('common.search') }}
        </el-button>
        <el-button type="primary" @click="openAddModal">
          <i class="el-icon-plus"></i>
          {{ $t('role.staff') }}
        </el-button>
a42b3256   wuxw   HC小区管理系统前段vue版正在开发中
14
      </div>
8fb25d6e   wuxw   优化相关bug
15
16
17
18
19
20
21
22
  
      <el-table :data="staffs" border style="width: 100%; margin-top: 15px">
        <el-table-column prop="name" :label="$t('role.staffName')" align="center" />
        <el-table-column prop="tel" :label="$t('role.tel')" align="center" />
        <el-table-column prop="email" :label="$t('role.email')" align="center" />
        <el-table-column prop="address" :label="$t('role.address')" align="center" />
        <el-table-column :label="$t('role.sex')" align="center">
          <template slot-scope="scope">
34ac5192   wuxw   v1.9 优化性别不显示bug
23
            {{ scope.row.sex == 0 ? $t('role.male') : $t('role.female') }}
8fb25d6e   wuxw   优化相关bug
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
          </template>
        </el-table-column>
        <el-table-column :label="$t('role.operation')" align="center" width="200">
          <template slot-scope="scope">
            <el-button size="mini" type="danger" @click="openDeleteModal(scope.row)">
              {{ $t('role.delete') }}
            </el-button>
            <el-button size="mini" type="primary" @click="viewDetail(scope.row)">
              {{ $t('role.detail') }}
            </el-button>
          </template>
        </el-table-column>
      </el-table>
  
      <el-pagination :current-page="page.current" :page-sizes="[10, 20, 30, 50]" :page-size="page.size"
        :total="page.total" layout="total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange"
        @current-change="handleCurrentChange" />
  
      <add-role-staff ref="addRoleStaff" :role-id="pgId" @success="loadStaffs" />
      <delete-role-staff ref="deleteRoleStaff" @success="loadStaffs" />
    </div>
  </template>
  
  <script>
  import { listRoleStaff } from '@/api/role/roleApi'
  import AddRoleStaff from './AddRoleStaff'
  import DeleteRoleStaff from './DeleteRoleStaff'
  
  export default {
    name: 'RoleStaff',
    components: {
      AddRoleStaff,
      DeleteRoleStaff
    },
    props: {
      pgId: {
        type: String,
        required: true
      }
    },
    data() {
      return {
        searchForm: {
          staffName: ''
        },
        staffs: [],
        page: {
          current: 1,
          size: 10,
          total: 0
a42b3256   wuxw   HC小区管理系统前段vue版正在开发中
74
        }
8fb25d6e   wuxw   优化相关bug
75
76
77
78
79
80
81
82
83
84
85
86
87
      }
    },
    created() {
      this.loadStaffs()
    },
    methods: {
      async loadStaffs() {
        try {
          const params = {
            page: this.page.current,
            row: this.page.size,
            roleId: this.pgId,
            userName: this.searchForm.staffName
a42b3256   wuxw   HC小区管理系统前段vue版正在开发中
88
          }
8fb25d6e   wuxw   优化相关bug
89
90
91
92
93
          const res = await listRoleStaff(params)
          this.staffs = res.data
          this.page.total = res.total
        } catch (error) {
          this.$message.error(error.message)
a42b3256   wuxw   HC小区管理系统前段vue版正在开发中
94
95
        }
      },
8fb25d6e   wuxw   优化相关bug
96
97
      queryStaffs() {
        this.page.current = 1
a42b3256   wuxw   HC小区管理系统前段vue版正在开发中
98
99
        this.loadStaffs()
      },
8fb25d6e   wuxw   优化相关bug
100
101
102
103
104
105
106
      openAddModal() {
        this.$refs.addRoleStaff.show()
      },
      openDeleteModal(staff) {
        this.$refs.deleteRoleStaff.show(staff, this.pgId)
      },
      viewDetail(staff) {
ab9b555f   wuxw   v1.9 测试组织下相关功能,解决...
107
        this.$router.push(`/views/staff/staffDetail?staffId=${staff.userId}`)
8fb25d6e   wuxw   优化相关bug
108
109
110
111
112
113
114
115
      },
      handleSizeChange(size) {
        this.page.size = size
        this.loadStaffs()
      },
      handleCurrentChange(current) {
        this.page.current = current
        this.loadStaffs()
a42b3256   wuxw   HC小区管理系统前段vue版正在开发中
116
117
      }
    }
8fb25d6e   wuxw   优化相关bug
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
  }
  </script>
  
  <style scoped>
  .role-staff {
    margin: 15px;
  
    .search-wrapper {
      margin-bottom: 15px;
      text-align: right;
    }
  
    .el-pagination {
      margin-top: 15px;
      margin-bottom: 15px;
      text-align: right;
a42b3256   wuxw   HC小区管理系统前段vue版正在开发中
134
    }
8fb25d6e   wuxw   优化相关bug
135
136
  }
  </style>