huwhois 5 anos atrás
pai
commit
70d5d13cda

+ 201 - 0
src/views/modules/admin/signinfo-add-or-update.vue

@ -0,0 +1,201 @@
1
<template>
2
  <el-dialog
3
    :title="!dataForm.id ? '新增' : '修改'"
4
    :close-on-click-modal="false"
5
    :visible.sync="visible">
6
    <el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
7
    <el-form-item label="参会人员id" prop="aId">
8
      <el-input v-model="dataForm.aId" placeholder="参会人员id"></el-input>
9
    </el-form-item>
10
    <el-form-item label="会议id" prop="meetingId">
11
      <el-input v-model="dataForm.meetingId" placeholder="会议id"></el-input>
12
    </el-form-item>
13
    <el-form-item label="姓名" prop="truename">
14
      <el-input v-model="dataForm.truename" placeholder="姓名"></el-input>
15
    </el-form-item>
16
    <el-form-item label="所属机构(单位名称、公司名称" prop="organization">
17
      <el-input v-model="dataForm.organization" placeholder="所属机构(单位名称、公司名称"></el-input>
18
    </el-form-item>
19
    <el-form-item label="职位id" prop="position">
20
      <el-input v-model="dataForm.position" placeholder="职位id"></el-input>
21
    </el-form-item>
22
    <el-form-item label="职称" prop="jobTitle">
23
      <el-input v-model="dataForm.jobTitle" placeholder="职称"></el-input>
24
    </el-form-item>
25
    <el-form-item label="电话" prop="phone">
26
      <el-input v-model="dataForm.phone" placeholder="电话"></el-input>
27
    </el-form-item>
28
    <el-form-item label="参会人员类型id" prop="typeId">
29
      <el-input v-model="dataForm.typeId" placeholder="参会人员类型id"></el-input>
30
    </el-form-item>
31
    <el-form-item label="负责人(员工id)" prop="servicer">
32
      <el-input v-model="dataForm.servicer" placeholder="负责人(员工id)"></el-input>
33
    </el-form-item>
34
    <el-form-item label="" prop="servername">
35
      <el-input v-model="dataForm.servername" placeholder=""></el-input>
36
    </el-form-item>
37
    <el-form-item label="" prop="isPay">
38
      <el-input v-model="dataForm.isPay" placeholder=""></el-input>
39
    </el-form-item>
40
    <el-form-item label="签到状态" prop="status">
41
      <el-input v-model="dataForm.status" placeholder="签到状态"></el-input>
42
    </el-form-item>
43
    <el-form-item label="是否完成胸卡打印" prop="badge">
44
      <el-input v-model="dataForm.badge" placeholder="是否完成胸卡打印"></el-input>
45
    </el-form-item>
46
    <el-form-item label="最后签到时间" prop="lastTime">
47
      <el-input v-model="dataForm.lastTime" placeholder="最后签到时间"></el-input>
48
    </el-form-item>
49
    </el-form>
50
    <span slot="footer" class="dialog-footer">
51
      <el-button @click="visible = false">取消</el-button>
52
      <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
53
    </span>
54
  </el-dialog>
55
</template>
56
57
<script>
58
  export default {
59
    data () {
60
      return {
61
        visible: false,
62
        dataForm: {
63
          id: 0,
64
          aId: '',
65
          meetingId: '',
66
          truename: '',
67
          organization: '',
68
          position: '',
69
          jobTitle: '',
70
          phone: '',
71
          typeId: '',
72
          servicer: '',
73
          servername: '',
74
          isPay: '',
75
          status: '',
76
          badge: '',
77
          lastTime: ''
78
        },
79
        dataRule: {
80
          aId: [
81
            { required: true, message: '参会人员id不能为空', trigger: 'blur' }
82
          ],
83
          meetingId: [
84
            { required: true, message: '会议id不能为空', trigger: 'blur' }
85
          ],
86
          truename: [
87
            { required: true, message: '姓名不能为空', trigger: 'blur' }
88
          ],
89
          organization: [
90
            { required: true, message: '所属机构(单位名称、公司名称不能为空', trigger: 'blur' }
91
          ],
92
          position: [
93
            { required: true, message: '职位id不能为空', trigger: 'blur' }
94
          ],
95
          jobTitle: [
96
            { required: true, message: '职称不能为空', trigger: 'blur' }
97
          ],
98
          phone: [
99
            { required: true, message: '电话不能为空', trigger: 'blur' }
100
          ],
101
          typeId: [
102
            { required: true, message: '参会人员类型id不能为空', trigger: 'blur' }
103
          ],
104
          servicer: [
105
            { required: true, message: '负责人(员工id)不能为空', trigger: 'blur' }
106
          ],
107
          servername: [
108
            { required: true, message: '不能为空', trigger: 'blur' }
109
          ],
110
          isPay: [
111
            { required: true, message: '不能为空', trigger: 'blur' }
112
          ],
113
          status: [
114
            { required: true, message: '签到状态不能为空', trigger: 'blur' }
115
          ],
116
          badge: [
117
            { required: true, message: '是否完成胸卡打印不能为空', trigger: 'blur' }
118
          ],
119
          lastTime: [
120
            { required: true, message: '最后签到时间不能为空', trigger: 'blur' }
121
          ]
122
        }
123
      }
124
    },
125
    methods: {
126
      init (id) {
127
        this.dataForm.id = id || 0
128
        this.visible = true
129
        this.$nextTick(() => {
130
          this.$refs['dataForm'].resetFields()
131
          if (this.dataForm.id) {
132
            this.$http({
133
              url: this.$http.adornUrl(`/generator/signinfo/info/${this.dataForm.id}`),
134
              method: 'get',
135
              params: this.$http.adornParams()
136
            }).then(({data}) => {
137
              if (data && data.code === 0) {
138
                this.dataForm.aId = data.signInfo.aId
139
                this.dataForm.meetingId = data.signInfo.meetingId
140
                this.dataForm.truename = data.signInfo.truename
141
                this.dataForm.organization = data.signInfo.organization
142
                this.dataForm.position = data.signInfo.position
143
                this.dataForm.jobTitle = data.signInfo.jobTitle
144
                this.dataForm.phone = data.signInfo.phone
145
                this.dataForm.typeId = data.signInfo.typeId
146
                this.dataForm.servicer = data.signInfo.servicer
147
                this.dataForm.servername = data.signInfo.servername
148
                this.dataForm.isPay = data.signInfo.isPay
149
                this.dataForm.status = data.signInfo.status
150
                this.dataForm.badge = data.signInfo.badge
151
                this.dataForm.lastTime = data.signInfo.lastTime
152
              }
153
            })
154
          }
155
        })
156
      },
157
      // 表单提交
158
      dataFormSubmit () {
159
        this.$refs['dataForm'].validate((valid) => {
160
          if (valid) {
161
            this.$http({
162
              url: this.$http.adornUrl(`/generator/signinfo/${!this.dataForm.id ? 'save' : 'update'}`),
163
              method: 'post',
164
              data: this.$http.adornData({
165
                'id': this.dataForm.id || undefined,
166
                'aId': this.dataForm.aId,
167
                'meetingId': this.dataForm.meetingId,
168
                'truename': this.dataForm.truename,
169
                'organization': this.dataForm.organization,
170
                'position': this.dataForm.position,
171
                'jobTitle': this.dataForm.jobTitle,
172
                'phone': this.dataForm.phone,
173
                'typeId': this.dataForm.typeId,
174
                'servicer': this.dataForm.servicer,
175
                'servername': this.dataForm.servername,
176
                'isPay': this.dataForm.isPay,
177
                'status': this.dataForm.status,
178
                'badge': this.dataForm.badge,
179
                'lastTime': this.dataForm.lastTime
180
              })
181
            }).then(({data}) => {
182
              if (data && data.code === 0) {
183
                this.$message({
184
                  message: '操作成功',
185
                  type: 'success',
186
                  duration: 1500,
187
                  onClose: () => {
188
                    this.visible = false
189
                    this.$emit('refreshDataList')
190
                  }
191
                })
192
              } else {
193
                this.$message.error(data.msg)
194
              }
195
            })
196
          }
197
        })
198
      }
199
    }
200
  }
201
</script>

+ 241 - 0
src/views/modules/admin/signinfo.vue

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