Bladeren bron

sign,member-repassword

huwhois 5 jaren geleden
bovenliggende
commit
cb0d707cd3
2 gewijzigde bestanden met toevoegingen van 233 en 1 verwijderingen
  1. 21 1
      src/views/modules/admin/member.vue
  2. 212 0
      src/views/modules/admin/sign.vue

+ 21 - 1
src/views/modules/admin/member.vue

@ -90,10 +90,11 @@
90 90
        fixed="right"
91 91
        header-align="center"
92 92
        align="center"
93
        width="150"
93
        width="200"
94 94
        label="操作">
95 95
        <template slot-scope="scope">
96 96
          <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
97
          <el-button type="text" size="small" @click="repasswordHandle(scope.row.id)">重置密码</el-button>
97 98
          <el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button>
98 99
        </template>
99 100
      </el-table-column>
@ -181,6 +182,25 @@
181 182
          this.$refs.addOrUpdate.init(id)
182 183
        })
183 184
      },
185
      // 重置密码
186
      repasswordHandle (id) {
187
        this.$http({
188
          url: this.$http.adornUrl(`/admin/member/repassword/${id}`),
189
          method: 'post',
190
          data: this.$http.adornParams()
191
        }).then(({data}) => {
192
          if (data && data.code === 0) {
193
            this.$message({
194
              message: '操作成功',
195
              type: 'success',
196
              duration: 1000,
197
              onClose: () => {}
198
            })
199
          } else {
200
            this.$message.error(data.msg)
201
          }
202
        })
203
      },
184 204
      // 删除
185 205
      deleteHandle (id) {
186 206
        var ids = id ? [id] : this.dataListSelections.map(item => {

+ 212 - 0
src/views/modules/admin/sign.vue

@ -0,0 +1,212 @@
1
<template>
2
  <div class="mod-config">
3
    <el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
4
      <el-form-item>
5
        <el-button @click="exportList()">导出名单</el-button>
6
      </el-form-item>
7
      <el-form-item>
8
        <el-input v-model="dataForm.key" placeholder="请输入参数人员/负责人" clearable></el-input>
9
      </el-form-item>
10
      <el-form-item>
11
        <el-button @click="getDataList()">查询</el-button>
12
      </el-form-item>
13
    </el-form>
14
    <el-table
15
      :data="dataList"
16
      border
17
      v-loading="dataListLoading"
18
      @selection-change="selectionChangeHandle"
19
      style="width: 100%;">
20
      <el-table-column
21
        type="selection"
22
        header-align="center"
23
        align="center"
24
        width="50">
25
      </el-table-column>
26
      <el-table-column
27
        prop="id"
28
        header-align="center"
29
        align="center"
30
        label="id">
31
      </el-table-column>
32
      <el-table-column
33
        prop="truename"
34
        header-align="center"
35
        align="center"
36
        label="姓名">
37
      </el-table-column>
38
      <el-table-column
39
        prop="organization"
40
        header-align="center"
41
        align="center"
42
        label="所属机构">
43
      </el-table-column>
44
      <el-table-column
45
        prop="position"
46
        header-align="center"
47
        align="center"
48
        label="职位">
49
      </el-table-column>
50
      <el-table-column
51
        prop="phone"
52
        header-align="center"
53
        align="center"
54
        label="联系电话">
55
      </el-table-column>
56
      <el-table-column
57
        prop="typeAttenders"
58
        header-align="center"
59
        align="center"
60
        label="参会类型">
61
      </el-table-column>
62
      <el-table-column
63
        prop="isPay"
64
        header-align="center"
65
        align="center"
66
        label="是否已缴费">
67
      </el-table-column>
68
      <el-table-column
69
        prop="status"
70
        header-align="center"
71
        align="center"
72
        label="签到状态">
73
      </el-table-column>
74
      <el-table-column
75
        prop="badge"
76
        header-align="center"
77
        align="center"
78
        label="胸卡">
79
      </el-table-column>
80
      <el-table-column
81
        prop="servername"
82
        header-align="center"
83
        align="center"
84
        label="负责人">
85
      </el-table-column>
86
      <el-table-column
87
        prop="lastTime"
88
        header-align="center"
89
        align="center"
90
        label="最后签到时间">
91
      </el-table-column>
92
      <el-table-column
93
        fixed="right"
94
        header-align="center"
95
        align="center"
96
        width="100"
97
        label="操作">
98
        <template slot-scope="scope">
99
          <el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button>
100
        </template>
101
      </el-table-column>
102
    </el-table>
103
    <el-pagination
104
      @size-change="sizeChangeHandle"
105
      @current-change="currentChangeHandle"
106
      :current-page="pageIndex"
107
      :page-sizes="[10, 20, 50, 100]"
108
      :page-size="pageSize"
109
      :total="totalPage"
110
      layout="total, sizes, prev, pager, next, jumper">
111
    </el-pagination>
112
  </div>
113
</template>
114
115
<script>
116
  export default {
117
    data () {
118
      return {
119
        dataForm: {
120
          key: ''
121
        },
122
        dataList: [],
123
        pageIndex: 1,
124
        pageSize: 10,
125
        totalPage: 0,
126
        dataListLoading: false,
127
        dataListSelections: [],
128
        meetingId: 0
129
      }
130
    },
131
    created () {
132
      this.meetingId = this.$route.params.id
133
    },
134
    activated () {
135
      this.getDataList()
136
    },
137
    methods: {
138
      // 导出数据表
139
      exportList () {
140
        window.open(this.$http.adornUrl(`/admin/signinfo/downloadxls?token=${this.$cookie.get('token')}&meetingId=${this.meetingId}`))
141
      },
142
      // 获取数据列表
143
      getDataList () {
144
        this.dataListLoading = true
145
        this.$http({
146
          url: this.$http.adornUrl('/admin/signinfo/list'),
147
          method: 'get',
148
          params: this.$http.adornParams({
149
            'meetingId': this.meetingId,
150
            'page': this.pageIndex,
151
            'limit': this.pageSize,
152
            'key': this.dataForm.key
153
          })
154
        }).then(({data}) => {
155
          if (data && data.code === 0) {
156
            this.dataList = data.page.list
157
            this.totalPage = data.page.totalCount
158
          } else {
159
            this.dataList = []
160
            this.totalPage = 0
161
          }
162
          this.dataListLoading = false
163
        })
164
      },
165
      // 每页数
166
      sizeChangeHandle (val) {
167
        this.pageSize = val
168
        this.pageIndex = 1
169
        this.getDataList()
170
      },
171
      // 当前页
172
      currentChangeHandle (val) {
173
        this.pageIndex = val
174
        this.getDataList()
175
      },
176
      // 多选
177
      selectionChangeHandle (val) {
178
        this.dataListSelections = val
179
      },
180
      // 删除
181
      deleteHandle (id) {
182
        var ids = id ? [id] : this.dataListSelections.map(item => {
183
          return item.id
184
        })
185
        this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
186
          confirmButtonText: '确定',
187
          cancelButtonText: '取消',
188
          type: 'warning'
189
        }).then(() => {
190
          this.$http({
191
            url: this.$http.adornUrl('/admin/signinfo/delete'),
192
            method: 'post',
193
            data: this.$http.adornData(ids, false)
194
          }).then(({data}) => {
195
            if (data && data.code === 0) {
196
              this.$message({
197
                message: '操作成功',
198
                type: 'success',
199
                duration: 1500,
200
                onClose: () => {
201
                  this.getDataList()
202
                }
203
              })
204
            } else {
205
              this.$message.error(data.msg)
206
            }
207
          })
208
        })
209
      }
210
    }
211
  }
212
</script>