huwhois 5 ans auparavant
Parent
commit
f6a996dc7a

+ 156 - 0
src/views/modules/generator/sign-add-or-update.vue

@ -0,0 +1,156 @@
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="meetingId">
8
      <el-input v-model="dataForm.meetingId" placeholder="会议id"></el-input>
9
    </el-form-item>
10
    <el-form-item label="签到人id" prop="attenderId">
11
      <el-input v-model="dataForm.attenderId" placeholder="签到人id"></el-input>
12
    </el-form-item>
13
    <el-form-item label="签到状态" prop="status">
14
      <el-input v-model="dataForm.status" placeholder="签到状态"></el-input>
15
    </el-form-item>
16
    <el-form-item label="签到地点(主会场/分会场)" prop="branchId">
17
      <el-input v-model="dataForm.branchId" placeholder="签到地点(主会场/分会场)"></el-input>
18
    </el-form-item>
19
    <el-form-item label="是否完成胸卡打印" prop="badge">
20
      <el-input v-model="dataForm.badge" placeholder="是否完成胸卡打印"></el-input>
21
    </el-form-item>
22
    <el-form-item label="创建时间" prop="createTime">
23
      <el-input v-model="dataForm.createTime" placeholder="创建时间"></el-input>
24
    </el-form-item>
25
    <el-form-item label="最后签到时间" prop="lastTime">
26
      <el-input v-model="dataForm.lastTime" placeholder="最后签到时间"></el-input>
27
    </el-form-item>
28
    <el-form-item label="flag" prop="flag">
29
      <el-input v-model="dataForm.flag" placeholder="flag"></el-input>
30
    </el-form-item>
31
    <el-form-item label="是否被删除 状态  0:正常   1:删除" prop="isDel">
32
      <el-input v-model="dataForm.isDel" placeholder="是否被删除 状态  0:正常   1:删除"></el-input>
33
    </el-form-item>
34
    </el-form>
35
    <span slot="footer" class="dialog-footer">
36
      <el-button @click="visible = false">取消</el-button>
37
      <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
38
    </span>
39
  </el-dialog>
40
</template>
41
42
<script>
43
  export default {
44
    data () {
45
      return {
46
        visible: false,
47
        dataForm: {
48
          id: 0,
49
          meetingId: '',
50
          attenderId: '',
51
          status: '',
52
          branchId: '',
53
          badge: '',
54
          createTime: '',
55
          lastTime: '',
56
          flag: '',
57
          isDel: ''
58
        },
59
        dataRule: {
60
          meetingId: [
61
            { required: true, message: '会议id不能为空', trigger: 'blur' }
62
          ],
63
          attenderId: [
64
            { required: true, message: '签到人id不能为空', trigger: 'blur' }
65
          ],
66
          status: [
67
            { required: true, message: '签到状态不能为空', trigger: 'blur' }
68
          ],
69
          branchId: [
70
            { required: true, message: '签到地点(主会场/分会场)不能为空', trigger: 'blur' }
71
          ],
72
          badge: [
73
            { required: true, message: '是否完成胸卡打印不能为空', trigger: 'blur' }
74
          ],
75
          createTime: [
76
            { required: true, message: '创建时间不能为空', trigger: 'blur' }
77
          ],
78
          lastTime: [
79
            { required: true, message: '最后签到时间不能为空', trigger: 'blur' }
80
          ],
81
          flag: [
82
            { required: true, message: 'flag不能为空', trigger: 'blur' }
83
          ],
84
          isDel: [
85
            { required: true, message: '是否被删除 状态  0:正常   1:删除不能为空', trigger: 'blur' }
86
          ]
87
        }
88
      }
89
    },
90
    methods: {
91
      init (id) {
92
        this.dataForm.id = id || 0
93
        this.visible = true
94
        this.$nextTick(() => {
95
          this.$refs['dataForm'].resetFields()
96
          if (this.dataForm.id) {
97
            this.$http({
98
              url: this.$http.adornUrl(`/generator/sign/info/${this.dataForm.id}`),
99
              method: 'get',
100
              params: this.$http.adornParams()
101
            }).then(({data}) => {
102
              if (data && data.code === 0) {
103
                this.dataForm.meetingId = data.sign.meetingId
104
                this.dataForm.attenderId = data.sign.attenderId
105
                this.dataForm.status = data.sign.status
106
                this.dataForm.branchId = data.sign.branchId
107
                this.dataForm.badge = data.sign.badge
108
                this.dataForm.createTime = data.sign.createTime
109
                this.dataForm.lastTime = data.sign.lastTime
110
                this.dataForm.flag = data.sign.flag
111
                this.dataForm.isDel = data.sign.isDel
112
              }
113
            })
114
          }
115
        })
116
      },
117
      // 表单提交
118
      dataFormSubmit () {
119
        this.$refs['dataForm'].validate((valid) => {
120
          if (valid) {
121
            this.$http({
122
              url: this.$http.adornUrl(`/generator/sign/${!this.dataForm.id ? 'save' : 'update'}`),
123
              method: 'post',
124
              data: this.$http.adornData({
125
                'id': this.dataForm.id || undefined,
126
                'meetingId': this.dataForm.meetingId,
127
                'attenderId': this.dataForm.attenderId,
128
                'status': this.dataForm.status,
129
                'branchId': this.dataForm.branchId,
130
                'badge': this.dataForm.badge,
131
                'createTime': this.dataForm.createTime,
132
                'lastTime': this.dataForm.lastTime,
133
                'flag': this.dataForm.flag,
134
                'isDel': this.dataForm.isDel
135
              })
136
            }).then(({data}) => {
137
              if (data && data.code === 0) {
138
                this.$message({
139
                  message: '操作成功',
140
                  type: 'success',
141
                  duration: 1500,
142
                  onClose: () => {
143
                    this.visible = false
144
                    this.$emit('refreshDataList')
145
                  }
146
                })
147
              } else {
148
                this.$message.error(data.msg)
149
              }
150
            })
151
          }
152
        })
153
      }
154
    }
155
  }
156
</script>

+ 211 - 0
src/views/modules/generator/sign.vue

@ -0,0 +1,211 @@
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:sign:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
10
        <el-button v-if="isAuth('generator:sign: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="meetingId"
33
        header-align="center"
34
        align="center"
35
        label="会议id">
36
      </el-table-column>
37
      <el-table-column
38
        prop="attenderId"
39
        header-align="center"
40
        align="center"
41
        label="签到人id">
42
      </el-table-column>
43
      <el-table-column
44
        prop="status"
45
        header-align="center"
46
        align="center"
47
        label="签到状态">
48
      </el-table-column>
49
      <el-table-column
50
        prop="branchId"
51
        header-align="center"
52
        align="center"
53
        label="签到地点(主会场/分会场)">
54
      </el-table-column>
55
      <el-table-column
56
        prop="badge"
57
        header-align="center"
58
        align="center"
59
        label="是否完成胸卡打印">
60
      </el-table-column>
61
      <el-table-column
62
        prop="createTime"
63
        header-align="center"
64
        align="center"
65
        label="创建时间">
66
      </el-table-column>
67
      <el-table-column
68
        prop="lastTime"
69
        header-align="center"
70
        align="center"
71
        label="最后签到时间">
72
      </el-table-column>
73
      <el-table-column
74
        prop="flag"
75
        header-align="center"
76
        align="center"
77
        label="flag">
78
      </el-table-column>
79
      <el-table-column
80
        prop="isDel"
81
        header-align="center"
82
        align="center"
83
        label="是否被删除 状态  0:正常   1:删除">
84
      </el-table-column>
85
      <el-table-column
86
        fixed="right"
87
        header-align="center"
88
        align="center"
89
        width="150"
90
        label="操作">
91
        <template slot-scope="scope">
92
          <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
93
          <el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button>
94
        </template>
95
      </el-table-column>
96
    </el-table>
97
    <el-pagination
98
      @size-change="sizeChangeHandle"
99
      @current-change="currentChangeHandle"
100
      :current-page="pageIndex"
101
      :page-sizes="[10, 20, 50, 100]"
102
      :page-size="pageSize"
103
      :total="totalPage"
104
      layout="total, sizes, prev, pager, next, jumper">
105
    </el-pagination>
106
    <!-- 弹窗, 新增 / 修改 -->
107
    <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
108
  </div>
109
</template>
110
111
<script>
112
  import AddOrUpdate from './sign-add-or-update'
113
  export default {
114
    data () {
115
      return {
116
        dataForm: {
117
          key: ''
118
        },
119
        dataList: [],
120
        pageIndex: 1,
121
        pageSize: 10,
122
        totalPage: 0,
123
        dataListLoading: false,
124
        dataListSelections: [],
125
        addOrUpdateVisible: false
126
      }
127
    },
128
    components: {
129
      AddOrUpdate
130
    },
131
    activated () {
132
      this.getDataList()
133
    },
134
    methods: {
135
      // 获取数据列表
136
      getDataList () {
137
        this.dataListLoading = true
138
        this.$http({
139
          url: this.$http.adornUrl('/generator/sign/list'),
140
          method: 'get',
141
          params: this.$http.adornParams({
142
            'page': this.pageIndex,
143
            'limit': this.pageSize,
144
            'key': this.dataForm.key
145
          })
146
        }).then(({data}) => {
147
          if (data && data.code === 0) {
148
            this.dataList = data.page.list
149
            this.totalPage = data.page.totalCount
150
          } else {
151
            this.dataList = []
152
            this.totalPage = 0
153
          }
154
          this.dataListLoading = false
155
        })
156
      },
157
      // 每页数
158
      sizeChangeHandle (val) {
159
        this.pageSize = val
160
        this.pageIndex = 1
161
        this.getDataList()
162
      },
163
      // 当前页
164
      currentChangeHandle (val) {
165
        this.pageIndex = val
166
        this.getDataList()
167
      },
168
      // 多选
169
      selectionChangeHandle (val) {
170
        this.dataListSelections = val
171
      },
172
      // 新增 / 修改
173
      addOrUpdateHandle (id) {
174
        this.addOrUpdateVisible = true
175
        this.$nextTick(() => {
176
          this.$refs.addOrUpdate.init(id)
177
        })
178
      },
179
      // 删除
180
      deleteHandle (id) {
181
        var ids = id ? [id] : this.dataListSelections.map(item => {
182
          return item.id
183
        })
184
        this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
185
          confirmButtonText: '确定',
186
          cancelButtonText: '取消',
187
          type: 'warning'
188
        }).then(() => {
189
          this.$http({
190
            url: this.$http.adornUrl('/generator/sign/delete'),
191
            method: 'post',
192
            data: this.$http.adornData(ids, false)
193
          }).then(({data}) => {
194
            if (data && data.code === 0) {
195
              this.$message({
196
                message: '操作成功',
197
                type: 'success',
198
                duration: 1500,
199
                onClose: () => {
200
                  this.getDataList()
201
                }
202
              })
203
            } else {
204
              this.$message.error(data.msg)
205
            }
206
          })
207
        })
208
      }
209
    }
210
  }
211
</script>