huwhois 5 lat temu
rodzic
commit
13c8903582

+ 273 - 0
src/views/modules/admin/attenders-add-or-update.vue

@ -0,0 +1,273 @@
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="memberId">
11
      <el-input v-model="dataForm.memberId" placeholder="会员id"></el-input>
12
    </el-form-item>
13
    <el-form-item label="姓名" prop="name">
14
      <el-input v-model="dataForm.name" 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="职位" prop="positionId">
20
      <el-input v-model="dataForm.positionId" placeholder="职位"></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="邮箱" prop="email">
29
      <el-input v-model="dataForm.email" placeholder="邮箱"></el-input>
30
    </el-form-item>
31
    <el-form-item label="办公电话" prop="officephone">
32
      <el-input v-model="dataForm.officephone" placeholder="办公电话"></el-input>
33
    </el-form-item>
34
    <el-form-item label="参会人员类型id" prop="typeId">
35
      <el-input v-model="dataForm.typeId" placeholder="参会人员类型id"></el-input>
36
    </el-form-item>
37
    <el-form-item label="参会意向" prop="intention">
38
      <el-input v-model="dataForm.intention" placeholder="参会意向"></el-input>
39
    </el-form-item>
40
    <el-form-item label="住宿要求" prop="room">
41
      <el-input v-model="dataForm.room" placeholder="住宿要求"></el-input>
42
    </el-form-item>
43
    <el-form-item label="接送要求" prop="transfer">
44
      <el-input v-model="dataForm.transfer" placeholder="接送要求"></el-input>
45
    </el-form-item>
46
    <el-form-item label="负责人(员工id)" prop="servicer">
47
      <el-input v-model="dataForm.servicer" placeholder="负责人(员工id)"></el-input>
48
    </el-form-item>
49
    <el-form-item label="备注" prop="note">
50
      <el-input v-model="dataForm.note" placeholder="备注"></el-input>
51
    </el-form-item>
52
    <el-form-item label="联系电话" prop="account">
53
      <el-input v-model="dataForm.account" placeholder="联系电话"></el-input>
54
    </el-form-item>
55
    <el-form-item label="联系邮箱" prop="emailLx">
56
      <el-input v-model="dataForm.emailLx" placeholder="联系邮箱"></el-input>
57
    </el-form-item>
58
    <el-form-item label="创建时间" prop="createTime">
59
      <el-input v-model="dataForm.createTime" placeholder="创建时间"></el-input>
60
    </el-form-item>
61
    <el-form-item label="修改时间" prop="modifyTime">
62
      <el-input v-model="dataForm.modifyTime" placeholder="修改时间"></el-input>
63
    </el-form-item>
64
    <el-form-item label="创建者" prop="creater">
65
      <el-input v-model="dataForm.creater" placeholder="创建者"></el-input>
66
    </el-form-item>
67
    <el-form-item label="修改者" prop="modifier">
68
      <el-input v-model="dataForm.modifier" placeholder="修改者"></el-input>
69
    </el-form-item>
70
    <el-form-item label="是否被删除 状态  0:正常   1:删除" prop="isDel">
71
      <el-input v-model="dataForm.isDel" placeholder="是否被删除 状态  0:正常   1:删除"></el-input>
72
    </el-form-item>
73
    </el-form>
74
    <span slot="footer" class="dialog-footer">
75
      <el-button @click="visible = false">取消</el-button>
76
      <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
77
    </span>
78
  </el-dialog>
79
</template>
80
81
<script>
82
  export default {
83
    data () {
84
      return {
85
        visible: false,
86
        dataForm: {
87
          id: 0,
88
          meetingId: '',
89
          memberId: '',
90
          name: '',
91
          organization: '',
92
          positionId: '',
93
          jobTitle: '',
94
          phone: '',
95
          email: '',
96
          officephone: '',
97
          typeId: '',
98
          intention: '',
99
          room: '',
100
          transfer: '',
101
          servicer: '',
102
          note: '',
103
          account: '',
104
          emailLx: '',
105
          createTime: '',
106
          modifyTime: '',
107
          creater: '',
108
          modifier: '',
109
          isDel: ''
110
        },
111
        dataRule: {
112
          meetingId: [
113
            { required: true, message: '会议id不能为空', trigger: 'blur' }
114
          ],
115
          memberId: [
116
            { required: true, message: '会员id不能为空', trigger: 'blur' }
117
          ],
118
          name: [
119
            { required: true, message: '姓名不能为空', trigger: 'blur' }
120
          ],
121
          organization: [
122
            { required: true, message: '所属机构(单位名称、公司名称)不能为空', trigger: 'blur' }
123
          ],
124
          positionId: [
125
            { required: true, message: '职位不能为空', trigger: 'blur' }
126
          ],
127
          jobTitle: [
128
            { required: true, message: '职称不能为空', trigger: 'blur' }
129
          ],
130
          phone: [
131
            { required: true, message: '电话不能为空', trigger: 'blur' }
132
          ],
133
          email: [
134
            { required: true, message: '邮箱不能为空', trigger: 'blur' }
135
          ],
136
          officephone: [
137
            { required: true, message: '办公电话不能为空', trigger: 'blur' }
138
          ],
139
          typeId: [
140
            { required: true, message: '参会人员类型id不能为空', trigger: 'blur' }
141
          ],
142
          intention: [
143
            { required: true, message: '参会意向不能为空', trigger: 'blur' }
144
          ],
145
          room: [
146
            { required: true, message: '住宿要求不能为空', trigger: 'blur' }
147
          ],
148
          transfer: [
149
            { required: true, message: '接送要求不能为空', trigger: 'blur' }
150
          ],
151
          servicer: [
152
            { required: true, message: '负责人(员工id)不能为空', trigger: 'blur' }
153
          ],
154
          note: [
155
            { required: true, message: '备注不能为空', trigger: 'blur' }
156
          ],
157
          account: [
158
            { required: true, message: '联系电话不能为空', trigger: 'blur' }
159
          ],
160
          emailLx: [
161
            { required: true, message: '联系邮箱不能为空', trigger: 'blur' }
162
          ],
163
          createTime: [
164
            { required: true, message: '创建时间不能为空', trigger: 'blur' }
165
          ],
166
          modifyTime: [
167
            { required: true, message: '修改时间不能为空', trigger: 'blur' }
168
          ],
169
          creater: [
170
            { required: true, message: '创建者不能为空', trigger: 'blur' }
171
          ],
172
          modifier: [
173
            { required: true, message: '修改者不能为空', trigger: 'blur' }
174
          ],
175
          isDel: [
176
            { required: true, message: '是否被删除 状态  0:正常   1:删除不能为空', trigger: 'blur' }
177
          ]
178
        }
179
      }
180
    },
181
    methods: {
182
      init (id) {
183
        this.dataForm.id = id || 0
184
        this.visible = true
185
        this.$nextTick(() => {
186
          this.$refs['dataForm'].resetFields()
187
          if (this.dataForm.id) {
188
            this.$http({
189
              url: this.$http.adornUrl(`/generator/attenders/info/${this.dataForm.id}`),
190
              method: 'get',
191
              params: this.$http.adornParams()
192
            }).then(({data}) => {
193
              if (data && data.code === 0) {
194
                this.dataForm.meetingId = data.attenders.meetingId
195
                this.dataForm.memberId = data.attenders.memberId
196
                this.dataForm.name = data.attenders.name
197
                this.dataForm.organization = data.attenders.organization
198
                this.dataForm.positionId = data.attenders.positionId
199
                this.dataForm.jobTitle = data.attenders.jobTitle
200
                this.dataForm.phone = data.attenders.phone
201
                this.dataForm.email = data.attenders.email
202
                this.dataForm.officephone = data.attenders.officephone
203
                this.dataForm.typeId = data.attenders.typeId
204
                this.dataForm.intention = data.attenders.intention
205
                this.dataForm.room = data.attenders.room
206
                this.dataForm.transfer = data.attenders.transfer
207
                this.dataForm.servicer = data.attenders.servicer
208
                this.dataForm.note = data.attenders.note
209
                this.dataForm.account = data.attenders.account
210
                this.dataForm.emailLx = data.attenders.emailLx
211
                this.dataForm.createTime = data.attenders.createTime
212
                this.dataForm.modifyTime = data.attenders.modifyTime
213
                this.dataForm.creater = data.attenders.creater
214
                this.dataForm.modifier = data.attenders.modifier
215
                this.dataForm.isDel = data.attenders.isDel
216
              }
217
            })
218
          }
219
        })
220
      },
221
      // 表单提交
222
      dataFormSubmit () {
223
        this.$refs['dataForm'].validate((valid) => {
224
          if (valid) {
225
            this.$http({
226
              url: this.$http.adornUrl(`/generator/attenders/${!this.dataForm.id ? 'save' : 'update'}`),
227
              method: 'post',
228
              data: this.$http.adornData({
229
                'id': this.dataForm.id || undefined,
230
                'meetingId': this.dataForm.meetingId,
231
                'memberId': this.dataForm.memberId,
232
                'name': this.dataForm.name,
233
                'organization': this.dataForm.organization,
234
                'positionId': this.dataForm.positionId,
235
                'jobTitle': this.dataForm.jobTitle,
236
                'phone': this.dataForm.phone,
237
                'email': this.dataForm.email,
238
                'officephone': this.dataForm.officephone,
239
                'typeId': this.dataForm.typeId,
240
                'intention': this.dataForm.intention,
241
                'room': this.dataForm.room,
242
                'transfer': this.dataForm.transfer,
243
                'servicer': this.dataForm.servicer,
244
                'note': this.dataForm.note,
245
                'account': this.dataForm.account,
246
                'emailLx': this.dataForm.emailLx,
247
                'createTime': this.dataForm.createTime,
248
                'modifyTime': this.dataForm.modifyTime,
249
                'creater': this.dataForm.creater,
250
                'modifier': this.dataForm.modifier,
251
                'isDel': this.dataForm.isDel
252
              })
253
            }).then(({data}) => {
254
              if (data && data.code === 0) {
255
                this.$message({
256
                  message: '操作成功',
257
                  type: 'success',
258
                  duration: 1500,
259
                  onClose: () => {
260
                    this.visible = false
261
                    this.$emit('refreshDataList')
262
                  }
263
                })
264
              } else {
265
                this.$message.error(data.msg)
266
              }
267
            })
268
          }
269
        })
270
      }
271
    }
272
  }
273
</script>

+ 289 - 0
src/views/modules/admin/attenders.vue

@ -0,0 +1,289 @@
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:attenders:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
10
        <el-button v-if="isAuth('generator:attenders: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="memberId"
39
        header-align="center"
40
        align="center"
41
        label="会员id">
42
      </el-table-column>
43
      <el-table-column
44
        prop="name"
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="positionId"
57
        header-align="center"
58
        align="center"
59
        label="职位">
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="email"
75
        header-align="center"
76
        align="center"
77
        label="邮箱">
78
      </el-table-column>
79
      <el-table-column
80
        prop="officephone"
81
        header-align="center"
82
        align="center"
83
        label="办公电话">
84
      </el-table-column>
85
      <el-table-column
86
        prop="typeId"
87
        header-align="center"
88
        align="center"
89
        label="参会人员类型id">
90
      </el-table-column>
91
      <el-table-column
92
        prop="intention"
93
        header-align="center"
94
        align="center"
95
        label="参会意向">
96
      </el-table-column>
97
      <el-table-column
98
        prop="room"
99
        header-align="center"
100
        align="center"
101
        label="住宿要求">
102
      </el-table-column>
103
      <el-table-column
104
        prop="transfer"
105
        header-align="center"
106
        align="center"
107
        label="接送要求">
108
      </el-table-column>
109
      <el-table-column
110
        prop="servicer"
111
        header-align="center"
112
        align="center"
113
        label="负责人(员工id)">
114
      </el-table-column>
115
      <el-table-column
116
        prop="note"
117
        header-align="center"
118
        align="center"
119
        label="备注">
120
      </el-table-column>
121
      <el-table-column
122
        prop="account"
123
        header-align="center"
124
        align="center"
125
        label="联系电话">
126
      </el-table-column>
127
      <el-table-column
128
        prop="emailLx"
129
        header-align="center"
130
        align="center"
131
        label="联系邮箱">
132
      </el-table-column>
133
      <el-table-column
134
        prop="createTime"
135
        header-align="center"
136
        align="center"
137
        label="创建时间">
138
      </el-table-column>
139
      <el-table-column
140
        prop="modifyTime"
141
        header-align="center"
142
        align="center"
143
        label="修改时间">
144
      </el-table-column>
145
      <el-table-column
146
        prop="creater"
147
        header-align="center"
148
        align="center"
149
        label="创建者">
150
      </el-table-column>
151
      <el-table-column
152
        prop="modifier"
153
        header-align="center"
154
        align="center"
155
        label="修改者">
156
      </el-table-column>
157
      <el-table-column
158
        prop="isDel"
159
        header-align="center"
160
        align="center"
161
        label="是否被删除 状态  0:正常   1:删除">
162
      </el-table-column>
163
      <el-table-column
164
        fixed="right"
165
        header-align="center"
166
        align="center"
167
        width="150"
168
        label="操作">
169
        <template slot-scope="scope">
170
          <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
171
          <el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button>
172
        </template>
173
      </el-table-column>
174
    </el-table>
175
    <el-pagination
176
      @size-change="sizeChangeHandle"
177
      @current-change="currentChangeHandle"
178
      :current-page="pageIndex"
179
      :page-sizes="[10, 20, 50, 100]"
180
      :page-size="pageSize"
181
      :total="totalPage"
182
      layout="total, sizes, prev, pager, next, jumper">
183
    </el-pagination>
184
    <!-- 弹窗, 新增 / 修改 -->
185
    <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
186
  </div>
187
</template>
188
189
<script>
190
  import AddOrUpdate from './attenders-add-or-update'
191
  export default {
192
    data () {
193
      return {
194
        dataForm: {
195
          key: ''
196
        },
197
        dataList: [],
198
        pageIndex: 1,
199
        pageSize: 10,
200
        totalPage: 0,
201
        dataListLoading: false,
202
        dataListSelections: [],
203
        addOrUpdateVisible: false
204
      }
205
    },
206
    components: {
207
      AddOrUpdate
208
    },
209
    activated () {
210
      this.getDataList()
211
    },
212
    methods: {
213
      // 获取数据列表
214
      getDataList () {
215
        this.dataListLoading = true
216
        this.$http({
217
          url: this.$http.adornUrl('/generator/attenders/list'),
218
          method: 'get',
219
          params: this.$http.adornParams({
220
            'page': this.pageIndex,
221
            'limit': this.pageSize,
222
            'key': this.dataForm.key
223
          })
224
        }).then(({data}) => {
225
          if (data && data.code === 0) {
226
            this.dataList = data.page.list
227
            this.totalPage = data.page.totalCount
228
          } else {
229
            this.dataList = []
230
            this.totalPage = 0
231
          }
232
          this.dataListLoading = false
233
        })
234
      },
235
      // 每页数
236
      sizeChangeHandle (val) {
237
        this.pageSize = val
238
        this.pageIndex = 1
239
        this.getDataList()
240
      },
241
      // 当前页
242
      currentChangeHandle (val) {
243
        this.pageIndex = val
244
        this.getDataList()
245
      },
246
      // 多选
247
      selectionChangeHandle (val) {
248
        this.dataListSelections = val
249
      },
250
      // 新增 / 修改
251
      addOrUpdateHandle (id) {
252
        this.addOrUpdateVisible = true
253
        this.$nextTick(() => {
254
          this.$refs.addOrUpdate.init(id)
255
        })
256
      },
257
      // 删除
258
      deleteHandle (id) {
259
        var ids = id ? [id] : this.dataListSelections.map(item => {
260
          return item.id
261
        })
262
        this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
263
          confirmButtonText: '确定',
264
          cancelButtonText: '取消',
265
          type: 'warning'
266
        }).then(() => {
267
          this.$http({
268
            url: this.$http.adornUrl('/generator/attenders/delete'),
269
            method: 'post',
270
            data: this.$http.adornData(ids, false)
271
          }).then(({data}) => {
272
            if (data && data.code === 0) {
273
              this.$message({
274
                message: '操作成功',
275
                type: 'success',
276
                duration: 1500,
277
                onClose: () => {
278
                  this.getDataList()
279
                }
280
              })
281
            } else {
282
              this.$message.error(data.msg)
283
            }
284
          })
285
        })
286
      }
287
    }
288
  }
289
</script>

+ 147 - 0
src/views/modules/admin/lecture-add-or-update.vue

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

+ 205 - 0
src/views/modules/admin/lecture.vue

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

+ 255 - 0
src/views/modules/admin/meeting-add-or-update.vue

@ -0,0 +1,255 @@
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="companyId">
8
      <el-input v-model="dataForm.companyId" placeholder="举办单位id"></el-input>
9
    </el-form-item>
10
    <el-form-item label="会议名称(中文)" prop="nameCn">
11
      <el-input v-model="dataForm.nameCn" placeholder="会议名称(中文)"></el-input>
12
    </el-form-item>
13
    <el-form-item label="会议名称(英文)" prop="nameEn">
14
      <el-input v-model="dataForm.nameEn" placeholder="会议名称(英文)"></el-input>
15
    </el-form-item>
16
    <el-form-item label="举办地点" prop="address">
17
      <el-input v-model="dataForm.address" placeholder="举办地点"></el-input>
18
    </el-form-item>
19
    <el-form-item label="开始时间" prop="startTime">
20
      <el-input v-model="dataForm.startTime" placeholder="开始时间"></el-input>
21
    </el-form-item>
22
    <el-form-item label="结束时间" prop="endTime">
23
      <el-input v-model="dataForm.endTime" placeholder="结束时间"></el-input>
24
    </el-form-item>
25
    <el-form-item label="官方网址" prop="officeWebsite">
26
      <el-input v-model="dataForm.officeWebsite" placeholder="官方网址"></el-input>
27
    </el-form-item>
28
    <el-form-item label="会议封面图片地址" prop="titlePicture">
29
      <el-input v-model="dataForm.titlePicture" placeholder="会议封面图片地址"></el-input>
30
    </el-form-item>
31
    <el-form-item label="涉及学科" prop="subjects">
32
      <el-input v-model="dataForm.subjects" placeholder="涉及学科"></el-input>
33
    </el-form-item>
34
    <el-form-item label="涉及行业" prop="industries">
35
      <el-input v-model="dataForm.industries" placeholder="涉及行业"></el-input>
36
    </el-form-item>
37
    <el-form-item label="会议负责人" prop="serviceEmp">
38
      <el-input v-model="dataForm.serviceEmp" placeholder="会议负责人"></el-input>
39
    </el-form-item>
40
    <el-form-item label="线上报名截止时间" prop="onlineRegDeadline">
41
      <el-input v-model="dataForm.onlineRegDeadline" placeholder="线上报名截止时间"></el-input>
42
    </el-form-item>
43
    <el-form-item label="现场报名截止时间" prop="onsiteRegDeadline">
44
      <el-input v-model="dataForm.onsiteRegDeadline" placeholder="现场报名截止时间"></el-input>
45
    </el-form-item>
46
    <el-form-item label="投稿截止时间" prop="subDeadline">
47
      <el-input v-model="dataForm.subDeadline" placeholder="投稿截止时间"></el-input>
48
    </el-form-item>
49
    <el-form-item label="投稿范围及要求" prop="subRequirement">
50
      <el-input v-model="dataForm.subRequirement" placeholder="投稿范围及要求"></el-input>
51
    </el-form-item>
52
    <el-form-item label="会议介绍" prop="introduction">
53
      <el-input v-model="dataForm.introduction" placeholder="会议介绍"></el-input>
54
    </el-form-item>
55
    <el-form-item label="创建时间" prop="createTime">
56
      <el-input v-model="dataForm.createTime" placeholder="创建时间"></el-input>
57
    </el-form-item>
58
    <el-form-item label="修改时间" prop="modifyTime">
59
      <el-input v-model="dataForm.modifyTime" placeholder="修改时间"></el-input>
60
    </el-form-item>
61
    <el-form-item label="是否通过审核 0:未通过 1:通过" prop="isCheck">
62
      <el-input v-model="dataForm.isCheck" placeholder="是否通过审核 0:未通过 1:通过"></el-input>
63
    </el-form-item>
64
    <el-form-item label="是否被删除 状态  0:正常   1:删除" prop="isDel">
65
      <el-input v-model="dataForm.isDel" placeholder="是否被删除 状态  0:正常   1:删除"></el-input>
66
    </el-form-item>
67
    </el-form>
68
    <span slot="footer" class="dialog-footer">
69
      <el-button @click="visible = false">取消</el-button>
70
      <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
71
    </span>
72
  </el-dialog>
73
</template>
74
75
<script>
76
  export default {
77
    data () {
78
      return {
79
        visible: false,
80
        dataForm: {
81
          id: 0,
82
          companyId: '',
83
          nameCn: '',
84
          nameEn: '',
85
          address: '',
86
          startTime: '',
87
          endTime: '',
88
          officeWebsite: '',
89
          titlePicture: '',
90
          subjects: '',
91
          industries: '',
92
          serviceEmp: '',
93
          onlineRegDeadline: '',
94
          onsiteRegDeadline: '',
95
          subDeadline: '',
96
          subRequirement: '',
97
          introduction: '',
98
          createTime: '',
99
          modifyTime: '',
100
          isCheck: '',
101
          isDel: ''
102
        },
103
        dataRule: {
104
          companyId: [
105
            { required: true, message: '举办单位id不能为空', trigger: 'blur' }
106
          ],
107
          nameCn: [
108
            { required: true, message: '会议名称(中文)不能为空', trigger: 'blur' }
109
          ],
110
          nameEn: [
111
            { required: true, message: '会议名称(英文)不能为空', trigger: 'blur' }
112
          ],
113
          address: [
114
            { required: true, message: '举办地点不能为空', trigger: 'blur' }
115
          ],
116
          startTime: [
117
            { required: true, message: '开始时间不能为空', trigger: 'blur' }
118
          ],
119
          endTime: [
120
            { required: true, message: '结束时间不能为空', trigger: 'blur' }
121
          ],
122
          officeWebsite: [
123
            { required: true, message: '官方网址不能为空', trigger: 'blur' }
124
          ],
125
          titlePicture: [
126
            { required: true, message: '会议封面图片地址不能为空', trigger: 'blur' }
127
          ],
128
          subjects: [
129
            { required: true, message: '涉及学科不能为空', trigger: 'blur' }
130
          ],
131
          industries: [
132
            { required: true, message: '涉及行业不能为空', trigger: 'blur' }
133
          ],
134
          serviceEmp: [
135
            { required: true, message: '会议负责人不能为空', trigger: 'blur' }
136
          ],
137
          onlineRegDeadline: [
138
            { required: true, message: '线上报名截止时间不能为空', trigger: 'blur' }
139
          ],
140
          onsiteRegDeadline: [
141
            { required: true, message: '现场报名截止时间不能为空', trigger: 'blur' }
142
          ],
143
          subDeadline: [
144
            { required: true, message: '投稿截止时间不能为空', trigger: 'blur' }
145
          ],
146
          subRequirement: [
147
            { required: true, message: '投稿范围及要求不能为空', trigger: 'blur' }
148
          ],
149
          introduction: [
150
            { required: true, message: '会议介绍不能为空', trigger: 'blur' }
151
          ],
152
          createTime: [
153
            { required: true, message: '创建时间不能为空', trigger: 'blur' }
154
          ],
155
          modifyTime: [
156
            { required: true, message: '修改时间不能为空', trigger: 'blur' }
157
          ],
158
          isCheck: [
159
            { required: true, message: '是否通过审核 0:未通过 1:通过不能为空', trigger: 'blur' }
160
          ],
161
          isDel: [
162
            { required: true, message: '是否被删除 状态  0:正常   1:删除不能为空', trigger: 'blur' }
163
          ]
164
        }
165
      }
166
    },
167
    methods: {
168
      init (id) {
169
        this.dataForm.id = id || 0
170
        this.visible = true
171
        this.$nextTick(() => {
172
          this.$refs['dataForm'].resetFields()
173
          if (this.dataForm.id) {
174
            this.$http({
175
              url: this.$http.adornUrl(`/generator/meeting/info/${this.dataForm.id}`),
176
              method: 'get',
177
              params: this.$http.adornParams()
178
            }).then(({data}) => {
179
              if (data && data.code === 0) {
180
                this.dataForm.companyId = data.meeting.companyId
181
                this.dataForm.nameCn = data.meeting.nameCn
182
                this.dataForm.nameEn = data.meeting.nameEn
183
                this.dataForm.address = data.meeting.address
184
                this.dataForm.startTime = data.meeting.startTime
185
                this.dataForm.endTime = data.meeting.endTime
186
                this.dataForm.officeWebsite = data.meeting.officeWebsite
187
                this.dataForm.titlePicture = data.meeting.titlePicture
188
                this.dataForm.subjects = data.meeting.subjects
189
                this.dataForm.industries = data.meeting.industries
190
                this.dataForm.serviceEmp = data.meeting.serviceEmp
191
                this.dataForm.onlineRegDeadline = data.meeting.onlineRegDeadline
192
                this.dataForm.onsiteRegDeadline = data.meeting.onsiteRegDeadline
193
                this.dataForm.subDeadline = data.meeting.subDeadline
194
                this.dataForm.subRequirement = data.meeting.subRequirement
195
                this.dataForm.introduction = data.meeting.introduction
196
                this.dataForm.createTime = data.meeting.createTime
197
                this.dataForm.modifyTime = data.meeting.modifyTime
198
                this.dataForm.isCheck = data.meeting.isCheck
199
                this.dataForm.isDel = data.meeting.isDel
200
              }
201
            })
202
          }
203
        })
204
      },
205
      // 表单提交
206
      dataFormSubmit () {
207
        this.$refs['dataForm'].validate((valid) => {
208
          if (valid) {
209
            this.$http({
210
              url: this.$http.adornUrl(`/generator/meeting/${!this.dataForm.id ? 'save' : 'update'}`),
211
              method: 'post',
212
              data: this.$http.adornData({
213
                'id': this.dataForm.id || undefined,
214
                'companyId': this.dataForm.companyId,
215
                'nameCn': this.dataForm.nameCn,
216
                'nameEn': this.dataForm.nameEn,
217
                'address': this.dataForm.address,
218
                'startTime': this.dataForm.startTime,
219
                'endTime': this.dataForm.endTime,
220
                'officeWebsite': this.dataForm.officeWebsite,
221
                'titlePicture': this.dataForm.titlePicture,
222
                'subjects': this.dataForm.subjects,
223
                'industries': this.dataForm.industries,
224
                'serviceEmp': this.dataForm.serviceEmp,
225
                'onlineRegDeadline': this.dataForm.onlineRegDeadline,
226
                'onsiteRegDeadline': this.dataForm.onsiteRegDeadline,
227
                'subDeadline': this.dataForm.subDeadline,
228
                'subRequirement': this.dataForm.subRequirement,
229
                'introduction': this.dataForm.introduction,
230
                'createTime': this.dataForm.createTime,
231
                'modifyTime': this.dataForm.modifyTime,
232
                'isCheck': this.dataForm.isCheck,
233
                'isDel': this.dataForm.isDel
234
              })
235
            }).then(({data}) => {
236
              if (data && data.code === 0) {
237
                this.$message({
238
                  message: '操作成功',
239
                  type: 'success',
240
                  duration: 1500,
241
                  onClose: () => {
242
                    this.visible = false
243
                    this.$emit('refreshDataList')
244
                  }
245
                })
246
              } else {
247
                this.$message.error(data.msg)
248
              }
249
            })
250
          }
251
        })
252
      }
253
    }
254
  }
255
</script>

+ 277 - 0
src/views/modules/admin/meeting.vue

@ -0,0 +1,277 @@
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:meeting:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
10
        <el-button v-if="isAuth('generator:meeting: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="companyId"
33
        header-align="center"
34
        align="center"
35
        label="举办单位id">
36
      </el-table-column>
37
      <el-table-column
38
        prop="nameCn"
39
        header-align="center"
40
        align="center"
41
        label="会议名称(中文)">
42
      </el-table-column>
43
      <el-table-column
44
        prop="nameEn"
45
        header-align="center"
46
        align="center"
47
        label="会议名称(英文)">
48
      </el-table-column>
49
      <el-table-column
50
        prop="address"
51
        header-align="center"
52
        align="center"
53
        label="举办地点">
54
      </el-table-column>
55
      <el-table-column
56
        prop="startTime"
57
        header-align="center"
58
        align="center"
59
        label="开始时间">
60
      </el-table-column>
61
      <el-table-column
62
        prop="endTime"
63
        header-align="center"
64
        align="center"
65
        label="结束时间">
66
      </el-table-column>
67
      <el-table-column
68
        prop="officeWebsite"
69
        header-align="center"
70
        align="center"
71
        label="官方网址">
72
      </el-table-column>
73
      <el-table-column
74
        prop="titlePicture"
75
        header-align="center"
76
        align="center"
77
        label="会议封面图片地址">
78
      </el-table-column>
79
      <el-table-column
80
        prop="subjects"
81
        header-align="center"
82
        align="center"
83
        label="涉及学科">
84
      </el-table-column>
85
      <el-table-column
86
        prop="industries"
87
        header-align="center"
88
        align="center"
89
        label="涉及行业">
90
      </el-table-column>
91
      <el-table-column
92
        prop="serviceEmp"
93
        header-align="center"
94
        align="center"
95
        label="会议负责人">
96
      </el-table-column>
97
      <el-table-column
98
        prop="onlineRegDeadline"
99
        header-align="center"
100
        align="center"
101
        label="线上报名截止时间">
102
      </el-table-column>
103
      <el-table-column
104
        prop="onsiteRegDeadline"
105
        header-align="center"
106
        align="center"
107
        label="现场报名截止时间">
108
      </el-table-column>
109
      <el-table-column
110
        prop="subDeadline"
111
        header-align="center"
112
        align="center"
113
        label="投稿截止时间">
114
      </el-table-column>
115
      <el-table-column
116
        prop="subRequirement"
117
        header-align="center"
118
        align="center"
119
        label="投稿范围及要求">
120
      </el-table-column>
121
      <el-table-column
122
        prop="introduction"
123
        header-align="center"
124
        align="center"
125
        label="会议介绍">
126
      </el-table-column>
127
      <el-table-column
128
        prop="createTime"
129
        header-align="center"
130
        align="center"
131
        label="创建时间">
132
      </el-table-column>
133
      <el-table-column
134
        prop="modifyTime"
135
        header-align="center"
136
        align="center"
137
        label="修改时间">
138
      </el-table-column>
139
      <el-table-column
140
        prop="isCheck"
141
        header-align="center"
142
        align="center"
143
        label="是否通过审核 0:未通过 1:通过">
144
      </el-table-column>
145
      <el-table-column
146
        prop="isDel"
147
        header-align="center"
148
        align="center"
149
        label="是否被删除 状态  0:正常   1:删除">
150
      </el-table-column>
151
      <el-table-column
152
        fixed="right"
153
        header-align="center"
154
        align="center"
155
        width="150"
156
        label="操作">
157
        <template slot-scope="scope">
158
          <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
159
          <el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button>
160
        </template>
161
      </el-table-column>
162
    </el-table>
163
    <el-pagination
164
      @size-change="sizeChangeHandle"
165
      @current-change="currentChangeHandle"
166
      :current-page="pageIndex"
167
      :page-sizes="[10, 20, 50, 100]"
168
      :page-size="pageSize"
169
      :total="totalPage"
170
      layout="total, sizes, prev, pager, next, jumper">
171
    </el-pagination>
172
    <!-- 弹窗, 新增 / 修改 -->
173
    <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
174
  </div>
175
</template>
176
177
<script>
178
  import AddOrUpdate from './meeting-add-or-update'
179
  export default {
180
    data () {
181
      return {
182
        dataForm: {
183
          key: ''
184
        },
185
        dataList: [],
186
        pageIndex: 1,
187
        pageSize: 10,
188
        totalPage: 0,
189
        dataListLoading: false,
190
        dataListSelections: [],
191
        addOrUpdateVisible: false
192
      }
193
    },
194
    components: {
195
      AddOrUpdate
196
    },
197
    activated () {
198
      this.getDataList()
199
    },
200
    methods: {
201
      // 获取数据列表
202
      getDataList () {
203
        this.dataListLoading = true
204
        this.$http({
205
          url: this.$http.adornUrl('/generator/meeting/list'),
206
          method: 'get',
207
          params: this.$http.adornParams({
208
            'page': this.pageIndex,
209
            'limit': this.pageSize,
210
            'key': this.dataForm.key
211
          })
212
        }).then(({data}) => {
213
          if (data && data.code === 0) {
214
            this.dataList = data.page.list
215
            this.totalPage = data.page.totalCount
216
          } else {
217
            this.dataList = []
218
            this.totalPage = 0
219
          }
220
          this.dataListLoading = false
221
        })
222
      },
223
      // 每页数
224
      sizeChangeHandle (val) {
225
        this.pageSize = val
226
        this.pageIndex = 1
227
        this.getDataList()
228
      },
229
      // 当前页
230
      currentChangeHandle (val) {
231
        this.pageIndex = val
232
        this.getDataList()
233
      },
234
      // 多选
235
      selectionChangeHandle (val) {
236
        this.dataListSelections = val
237
      },
238
      // 新增 / 修改
239
      addOrUpdateHandle (id) {
240
        this.addOrUpdateVisible = true
241
        this.$nextTick(() => {
242
          this.$refs.addOrUpdate.init(id)
243
        })
244
      },
245
      // 删除
246
      deleteHandle (id) {
247
        var ids = id ? [id] : this.dataListSelections.map(item => {
248
          return item.id
249
        })
250
        this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
251
          confirmButtonText: '确定',
252
          cancelButtonText: '取消',
253
          type: 'warning'
254
        }).then(() => {
255
          this.$http({
256
            url: this.$http.adornUrl('/generator/meeting/delete'),
257
            method: 'post',
258
            data: this.$http.adornData(ids, false)
259
          }).then(({data}) => {
260
            if (data && data.code === 0) {
261
              this.$message({
262
                message: '操作成功',
263
                type: 'success',
264
                duration: 1500,
265
                onClose: () => {
266
                  this.getDataList()
267
                }
268
              })
269
            } else {
270
              this.$message.error(data.msg)
271
            }
272
          })
273
        })
274
      }
275
    }
276
  }
277
</script>

+ 129 - 0
src/views/modules/admin/moneyaccount-add-or-update.vue

@ -0,0 +1,129 @@
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="账号名称" prop="name">
11
      <el-input v-model="dataForm.name" placeholder="账号名称"></el-input>
12
    </el-form-item>
13
    <el-form-item label="开户银行" prop="bank">
14
      <el-input v-model="dataForm.bank" placeholder="开户银行"></el-input>
15
    </el-form-item>
16
    <el-form-item label="账号" prop="account">
17
      <el-input v-model="dataForm.account" placeholder="账号"></el-input>
18
    </el-form-item>
19
    <el-form-item label="创建时间" prop="createTime">
20
      <el-input v-model="dataForm.createTime" placeholder="创建时间"></el-input>
21
    </el-form-item>
22
    <el-form-item label="是否被删除 状态  0:正常   1:删除" prop="isDel">
23
      <el-input v-model="dataForm.isDel" placeholder="是否被删除 状态  0:正常   1:删除"></el-input>
24
    </el-form-item>
25
    </el-form>
26
    <span slot="footer" class="dialog-footer">
27
      <el-button @click="visible = false">取消</el-button>
28
      <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
29
    </span>
30
  </el-dialog>
31
</template>
32
33
<script>
34
  export default {
35
    data () {
36
      return {
37
        visible: false,
38
        dataForm: {
39
          id: 0,
40
          meetingId: '',
41
          name: '',
42
          bank: '',
43
          account: '',
44
          createTime: '',
45
          isDel: ''
46
        },
47
        dataRule: {
48
          meetingId: [
49
            { required: true, message: '会议id不能为空', trigger: 'blur' }
50
          ],
51
          name: [
52
            { required: true, message: '账号名称不能为空', trigger: 'blur' }
53
          ],
54
          bank: [
55
            { required: true, message: '开户银行不能为空', trigger: 'blur' }
56
          ],
57
          account: [
58
            { required: true, message: '账号不能为空', trigger: 'blur' }
59
          ],
60
          createTime: [
61
            { required: true, message: '创建时间不能为空', trigger: 'blur' }
62
          ],
63
          isDel: [
64
            { required: true, message: '是否被删除 状态  0:正常   1:删除不能为空', trigger: 'blur' }
65
          ]
66
        }
67
      }
68
    },
69
    methods: {
70
      init (id) {
71
        this.dataForm.id = id || 0
72
        this.visible = true
73
        this.$nextTick(() => {
74
          this.$refs['dataForm'].resetFields()
75
          if (this.dataForm.id) {
76
            this.$http({
77
              url: this.$http.adornUrl(`/generator/moneyaccount/info/${this.dataForm.id}`),
78
              method: 'get',
79
              params: this.$http.adornParams()
80
            }).then(({data}) => {
81
              if (data && data.code === 0) {
82
                this.dataForm.meetingId = data.moneyAccount.meetingId
83
                this.dataForm.name = data.moneyAccount.name
84
                this.dataForm.bank = data.moneyAccount.bank
85
                this.dataForm.account = data.moneyAccount.account
86
                this.dataForm.createTime = data.moneyAccount.createTime
87
                this.dataForm.isDel = data.moneyAccount.isDel
88
              }
89
            })
90
          }
91
        })
92
      },
93
      // 表单提交
94
      dataFormSubmit () {
95
        this.$refs['dataForm'].validate((valid) => {
96
          if (valid) {
97
            this.$http({
98
              url: this.$http.adornUrl(`/generator/moneyaccount/${!this.dataForm.id ? 'save' : 'update'}`),
99
              method: 'post',
100
              data: this.$http.adornData({
101
                'id': this.dataForm.id || undefined,
102
                'meetingId': this.dataForm.meetingId,
103
                'name': this.dataForm.name,
104
                'bank': this.dataForm.bank,
105
                'account': this.dataForm.account,
106
                'createTime': this.dataForm.createTime,
107
                'isDel': this.dataForm.isDel
108
              })
109
            }).then(({data}) => {
110
              if (data && data.code === 0) {
111
                this.$message({
112
                  message: '操作成功',
113
                  type: 'success',
114
                  duration: 1500,
115
                  onClose: () => {
116
                    this.visible = false
117
                    this.$emit('refreshDataList')
118
                  }
119
                })
120
              } else {
121
                this.$message.error(data.msg)
122
              }
123
            })
124
          }
125
        })
126
      }
127
    }
128
  }
129
</script>

+ 193 - 0
src/views/modules/admin/moneyaccount.vue

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

+ 129 - 0
src/views/modules/admin/paper-add-or-update.vue

@ -0,0 +1,129 @@
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="title">
14
      <el-input v-model="dataForm.title" placeholder="论文题目"></el-input>
15
    </el-form-item>
16
    <el-form-item label="摘要" prop="summary">
17
      <el-input v-model="dataForm.summary" placeholder="摘要"></el-input>
18
    </el-form-item>
19
    <el-form-item label="创建时间" prop="createTime">
20
      <el-input v-model="dataForm.createTime" placeholder="创建时间"></el-input>
21
    </el-form-item>
22
    <el-form-item label="是否被删除 状态  0:正常   1:删除" prop="isDel">
23
      <el-input v-model="dataForm.isDel" placeholder="是否被删除 状态  0:正常   1:删除"></el-input>
24
    </el-form-item>
25
    </el-form>
26
    <span slot="footer" class="dialog-footer">
27
      <el-button @click="visible = false">取消</el-button>
28
      <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
29
    </span>
30
  </el-dialog>
31
</template>
32
33
<script>
34
  export default {
35
    data () {
36
      return {
37
        visible: false,
38
        dataForm: {
39
          id: 0,
40
          meetingId: '',
41
          attenderId: '',
42
          title: '',
43
          summary: '',
44
          createTime: '',
45
          isDel: ''
46
        },
47
        dataRule: {
48
          meetingId: [
49
            { required: true, message: '会员id不能为空', trigger: 'blur' }
50
          ],
51
          attenderId: [
52
            { required: true, message: '投稿人id不能为空', trigger: 'blur' }
53
          ],
54
          title: [
55
            { required: true, message: '论文题目不能为空', trigger: 'blur' }
56
          ],
57
          summary: [
58
            { required: true, message: '摘要不能为空', trigger: 'blur' }
59
          ],
60
          createTime: [
61
            { required: true, message: '创建时间不能为空', trigger: 'blur' }
62
          ],
63
          isDel: [
64
            { required: true, message: '是否被删除 状态  0:正常   1:删除不能为空', trigger: 'blur' }
65
          ]
66
        }
67
      }
68
    },
69
    methods: {
70
      init (id) {
71
        this.dataForm.id = id || 0
72
        this.visible = true
73
        this.$nextTick(() => {
74
          this.$refs['dataForm'].resetFields()
75
          if (this.dataForm.id) {
76
            this.$http({
77
              url: this.$http.adornUrl(`/generator/paper/info/${this.dataForm.id}`),
78
              method: 'get',
79
              params: this.$http.adornParams()
80
            }).then(({data}) => {
81
              if (data && data.code === 0) {
82
                this.dataForm.meetingId = data.paper.meetingId
83
                this.dataForm.attenderId = data.paper.attenderId
84
                this.dataForm.title = data.paper.title
85
                this.dataForm.summary = data.paper.summary
86
                this.dataForm.createTime = data.paper.createTime
87
                this.dataForm.isDel = data.paper.isDel
88
              }
89
            })
90
          }
91
        })
92
      },
93
      // 表单提交
94
      dataFormSubmit () {
95
        this.$refs['dataForm'].validate((valid) => {
96
          if (valid) {
97
            this.$http({
98
              url: this.$http.adornUrl(`/generator/paper/${!this.dataForm.id ? 'save' : 'update'}`),
99
              method: 'post',
100
              data: this.$http.adornData({
101
                'id': this.dataForm.id || undefined,
102
                'meetingId': this.dataForm.meetingId,
103
                'attenderId': this.dataForm.attenderId,
104
                'title': this.dataForm.title,
105
                'summary': this.dataForm.summary,
106
                'createTime': this.dataForm.createTime,
107
                'isDel': this.dataForm.isDel
108
              })
109
            }).then(({data}) => {
110
              if (data && data.code === 0) {
111
                this.$message({
112
                  message: '操作成功',
113
                  type: 'success',
114
                  duration: 1500,
115
                  onClose: () => {
116
                    this.visible = false
117
                    this.$emit('refreshDataList')
118
                  }
119
                })
120
              } else {
121
                this.$message.error(data.msg)
122
              }
123
            })
124
          }
125
        })
126
      }
127
    }
128
  }
129
</script>

+ 193 - 0
src/views/modules/admin/paper.vue

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

+ 120 - 0
src/views/modules/admin/paperrequire-add-or-update.vue

@ -0,0 +1,120 @@
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="截止时间" prop="deadline">
11
      <el-input v-model="dataForm.deadline" placeholder="截止时间"></el-input>
12
    </el-form-item>
13
    <el-form-item label="要求" prop="name">
14
      <el-input v-model="dataForm.name" placeholder="要求"></el-input>
15
    </el-form-item>
16
    <el-form-item label="创建时间" prop="createTime">
17
      <el-input v-model="dataForm.createTime" placeholder="创建时间"></el-input>
18
    </el-form-item>
19
    <el-form-item label="是否被删除 状态  0:正常   1:删除" prop="isDel">
20
      <el-input v-model="dataForm.isDel" placeholder="是否被删除 状态  0:正常   1:删除"></el-input>
21
    </el-form-item>
22
    </el-form>
23
    <span slot="footer" class="dialog-footer">
24
      <el-button @click="visible = false">取消</el-button>
25
      <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
26
    </span>
27
  </el-dialog>
28
</template>
29
30
<script>
31
  export default {
32
    data () {
33
      return {
34
        visible: false,
35
        dataForm: {
36
          id: 0,
37
          meetingId: '',
38
          deadline: '',
39
          name: '',
40
          createTime: '',
41
          isDel: ''
42
        },
43
        dataRule: {
44
          meetingId: [
45
            { required: true, message: '会议id不能为空', trigger: 'blur' }
46
          ],
47
          deadline: [
48
            { required: true, message: '截止时间不能为空', trigger: 'blur' }
49
          ],
50
          name: [
51
            { required: true, message: '要求不能为空', trigger: 'blur' }
52
          ],
53
          createTime: [
54
            { required: true, message: '创建时间不能为空', trigger: 'blur' }
55
          ],
56
          isDel: [
57
            { required: true, message: '是否被删除 状态  0:正常   1:删除不能为空', trigger: 'blur' }
58
          ]
59
        }
60
      }
61
    },
62
    methods: {
63
      init (id) {
64
        this.dataForm.id = id || 0
65
        this.visible = true
66
        this.$nextTick(() => {
67
          this.$refs['dataForm'].resetFields()
68
          if (this.dataForm.id) {
69
            this.$http({
70
              url: this.$http.adornUrl(`/generator/paperrequire/info/${this.dataForm.id}`),
71
              method: 'get',
72
              params: this.$http.adornParams()
73
            }).then(({data}) => {
74
              if (data && data.code === 0) {
75
                this.dataForm.meetingId = data.paperRequire.meetingId
76
                this.dataForm.deadline = data.paperRequire.deadline
77
                this.dataForm.name = data.paperRequire.name
78
                this.dataForm.createTime = data.paperRequire.createTime
79
                this.dataForm.isDel = data.paperRequire.isDel
80
              }
81
            })
82
          }
83
        })
84
      },
85
      // 表单提交
86
      dataFormSubmit () {
87
        this.$refs['dataForm'].validate((valid) => {
88
          if (valid) {
89
            this.$http({
90
              url: this.$http.adornUrl(`/generator/paperrequire/${!this.dataForm.id ? 'save' : 'update'}`),
91
              method: 'post',
92
              data: this.$http.adornData({
93
                'id': this.dataForm.id || undefined,
94
                'meetingId': this.dataForm.meetingId,
95
                'deadline': this.dataForm.deadline,
96
                'name': this.dataForm.name,
97
                'createTime': this.dataForm.createTime,
98
                'isDel': this.dataForm.isDel
99
              })
100
            }).then(({data}) => {
101
              if (data && data.code === 0) {
102
                this.$message({
103
                  message: '操作成功',
104
                  type: 'success',
105
                  duration: 1500,
106
                  onClose: () => {
107
                    this.visible = false
108
                    this.$emit('refreshDataList')
109
                  }
110
                })
111
              } else {
112
                this.$message.error(data.msg)
113
              }
114
            })
115
          }
116
        })
117
      }
118
    }
119
  }
120
</script>

+ 187 - 0
src/views/modules/admin/paperrequire.vue

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

+ 201 - 0
src/views/modules/admin/payment-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="订单编号" prop="orderId">
8
      <el-input v-model="dataForm.orderId" placeholder="订单编号"></el-input>
9
    </el-form-item>
10
    <el-form-item label="公司id" prop="companyId">
11
      <el-input v-model="dataForm.companyId" placeholder="公司id"></el-input>
12
    </el-form-item>
13
    <el-form-item label="参会人员id" prop="attenders">
14
      <el-input v-model="dataForm.attenders" placeholder="参会人员id"></el-input>
15
    </el-form-item>
16
    <el-form-item label="缴费时间" prop="payTime">
17
      <el-input v-model="dataForm.payTime" placeholder="缴费时间"></el-input>
18
    </el-form-item>
19
    <el-form-item label="缴费方式" prop="payType">
20
      <el-input v-model="dataForm.payType" placeholder="缴费方式"></el-input>
21
    </el-form-item>
22
    <el-form-item label="缴费项目" prop="payOption">
23
      <el-input v-model="dataForm.payOption" placeholder="缴费项目"></el-input>
24
    </el-form-item>
25
    <el-form-item label="金额" prop="money">
26
      <el-input v-model="dataForm.money" placeholder="金额"></el-input>
27
    </el-form-item>
28
    <el-form-item label="发票抬头" prop="taxTitle">
29
      <el-input v-model="dataForm.taxTitle" placeholder="发票抬头"></el-input>
30
    </el-form-item>
31
    <el-form-item label="纳税人税号" prop="taxNumber">
32
      <el-input v-model="dataForm.taxNumber" placeholder="纳税人税号"></el-input>
33
    </el-form-item>
34
    <el-form-item label="地址 电话" prop="addrPhone">
35
      <el-input v-model="dataForm.addrPhone" placeholder="地址 电话"></el-input>
36
    </el-form-item>
37
    <el-form-item label="开户行及账号" prop="bankAddrAccount">
38
      <el-input v-model="dataForm.bankAddrAccount" placeholder="开户行及账号"></el-input>
39
    </el-form-item>
40
    <el-form-item label="邮寄地址" prop="taxAddress">
41
      <el-input v-model="dataForm.taxAddress" placeholder="邮寄地址"></el-input>
42
    </el-form-item>
43
    <el-form-item label="创建时间" prop="createTime">
44
      <el-input v-model="dataForm.createTime" placeholder="创建时间"></el-input>
45
    </el-form-item>
46
    <el-form-item label="是否被删除 状态  0:正常   1:删除" prop="isDel">
47
      <el-input v-model="dataForm.isDel" placeholder="是否被删除 状态  0:正常   1:删除"></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
          orderId: '',
65
          companyId: '',
66
          attenders: '',
67
          payTime: '',
68
          payType: '',
69
          payOption: '',
70
          money: '',
71
          taxTitle: '',
72
          taxNumber: '',
73
          addrPhone: '',
74
          bankAddrAccount: '',
75
          taxAddress: '',
76
          createTime: '',
77
          isDel: ''
78
        },
79
        dataRule: {
80
          orderId: [
81
            { required: true, message: '订单编号不能为空', trigger: 'blur' }
82
          ],
83
          companyId: [
84
            { required: true, message: '公司id不能为空', trigger: 'blur' }
85
          ],
86
          attenders: [
87
            { required: true, message: '参会人员id不能为空', trigger: 'blur' }
88
          ],
89
          payTime: [
90
            { required: true, message: '缴费时间不能为空', trigger: 'blur' }
91
          ],
92
          payType: [
93
            { required: true, message: '缴费方式不能为空', trigger: 'blur' }
94
          ],
95
          payOption: [
96
            { required: true, message: '缴费项目不能为空', trigger: 'blur' }
97
          ],
98
          money: [
99
            { required: true, message: '金额不能为空', trigger: 'blur' }
100
          ],
101
          taxTitle: [
102
            { required: true, message: '发票抬头不能为空', trigger: 'blur' }
103
          ],
104
          taxNumber: [
105
            { required: true, message: '纳税人税号不能为空', trigger: 'blur' }
106
          ],
107
          addrPhone: [
108
            { required: true, message: '地址 电话不能为空', trigger: 'blur' }
109
          ],
110
          bankAddrAccount: [
111
            { required: true, message: '开户行及账号不能为空', trigger: 'blur' }
112
          ],
113
          taxAddress: [
114
            { required: true, message: '邮寄地址不能为空', trigger: 'blur' }
115
          ],
116
          createTime: [
117
            { required: true, message: '创建时间不能为空', trigger: 'blur' }
118
          ],
119
          isDel: [
120
            { required: true, message: '是否被删除 状态  0:正常   1:删除不能为空', 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/payment/info/${this.dataForm.id}`),
134
              method: 'get',
135
              params: this.$http.adornParams()
136
            }).then(({data}) => {
137
              if (data && data.code === 0) {
138
                this.dataForm.orderId = data.payment.orderId
139
                this.dataForm.companyId = data.payment.companyId
140
                this.dataForm.attenders = data.payment.attenders
141
                this.dataForm.payTime = data.payment.payTime
142
                this.dataForm.payType = data.payment.payType
143
                this.dataForm.payOption = data.payment.payOption
144
                this.dataForm.money = data.payment.money
145
                this.dataForm.taxTitle = data.payment.taxTitle
146
                this.dataForm.taxNumber = data.payment.taxNumber
147
                this.dataForm.addrPhone = data.payment.addrPhone
148
                this.dataForm.bankAddrAccount = data.payment.bankAddrAccount
149
                this.dataForm.taxAddress = data.payment.taxAddress
150
                this.dataForm.createTime = data.payment.createTime
151
                this.dataForm.isDel = data.payment.isDel
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/payment/${!this.dataForm.id ? 'save' : 'update'}`),
163
              method: 'post',
164
              data: this.$http.adornData({
165
                'id': this.dataForm.id || undefined,
166
                'orderId': this.dataForm.orderId,
167
                'companyId': this.dataForm.companyId,
168
                'attenders': this.dataForm.attenders,
169
                'payTime': this.dataForm.payTime,
170
                'payType': this.dataForm.payType,
171
                'payOption': this.dataForm.payOption,
172
                'money': this.dataForm.money,
173
                'taxTitle': this.dataForm.taxTitle,
174
                'taxNumber': this.dataForm.taxNumber,
175
                'addrPhone': this.dataForm.addrPhone,
176
                'bankAddrAccount': this.dataForm.bankAddrAccount,
177
                'taxAddress': this.dataForm.taxAddress,
178
                'createTime': this.dataForm.createTime,
179
                'isDel': this.dataForm.isDel
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/payment.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:payment:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
10
        <el-button v-if="isAuth('generator:payment: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="orderId"
33
        header-align="center"
34
        align="center"
35
        label="订单编号">
36
      </el-table-column>
37
      <el-table-column
38
        prop="companyId"
39
        header-align="center"
40
        align="center"
41
        label="公司id">
42
      </el-table-column>
43
      <el-table-column
44
        prop="attenders"
45
        header-align="center"
46
        align="center"
47
        label="参会人员id">
48
      </el-table-column>
49
      <el-table-column
50
        prop="payTime"
51
        header-align="center"
52
        align="center"
53
        label="缴费时间">
54
      </el-table-column>
55
      <el-table-column
56
        prop="payType"
57
        header-align="center"
58
        align="center"
59
        label="缴费方式">
60
      </el-table-column>
61
      <el-table-column
62
        prop="payOption"
63
        header-align="center"
64
        align="center"
65
        label="缴费项目">
66
      </el-table-column>
67
      <el-table-column
68
        prop="money"
69
        header-align="center"
70
        align="center"
71
        label="金额">
72
      </el-table-column>
73
      <el-table-column
74
        prop="taxTitle"
75
        header-align="center"
76
        align="center"
77
        label="发票抬头">
78
      </el-table-column>
79
      <el-table-column
80
        prop="taxNumber"
81
        header-align="center"
82
        align="center"
83
        label="纳税人税号">
84
      </el-table-column>
85
      <el-table-column
86
        prop="addrPhone"
87
        header-align="center"
88
        align="center"
89
        label="地址 电话">
90
      </el-table-column>
91
      <el-table-column
92
        prop="bankAddrAccount"
93
        header-align="center"
94
        align="center"
95
        label="开户行及账号">
96
      </el-table-column>
97
      <el-table-column
98
        prop="taxAddress"
99
        header-align="center"
100
        align="center"
101
        label="邮寄地址">
102
      </el-table-column>
103
      <el-table-column
104
        prop="createTime"
105
        header-align="center"
106
        align="center"
107
        label="创建时间">
108
      </el-table-column>
109
      <el-table-column
110
        prop="isDel"
111
        header-align="center"
112
        align="center"
113
        label="是否被删除 状态  0:正常   1:删除">
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 './payment-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/payment/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/payment/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>

+ 156 - 0
src/views/modules/admin/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/admin/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>

+ 111 - 0
src/views/modules/admin/typesofattenders-add-or-update.vue

@ -0,0 +1,111 @@
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="类型" prop="type">
11
      <el-input v-model="dataForm.type" placeholder="类型"></el-input>
12
    </el-form-item>
13
    <el-form-item label="创建时间" prop="createTime">
14
      <el-input v-model="dataForm.createTime" placeholder="创建时间"></el-input>
15
    </el-form-item>
16
    <el-form-item label="是否被删除 状态  0:正常   1:删除" prop="isDel">
17
      <el-input v-model="dataForm.isDel" placeholder="是否被删除 状态  0:正常   1:删除"></el-input>
18
    </el-form-item>
19
    </el-form>
20
    <span slot="footer" class="dialog-footer">
21
      <el-button @click="visible = false">取消</el-button>
22
      <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
23
    </span>
24
  </el-dialog>
25
</template>
26
27
<script>
28
  export default {
29
    data () {
30
      return {
31
        visible: false,
32
        dataForm: {
33
          id: 0,
34
          meetingId: '',
35
          type: '',
36
          createTime: '',
37
          isDel: ''
38
        },
39
        dataRule: {
40
          meetingId: [
41
            { required: true, message: '会议id不能为空', trigger: 'blur' }
42
          ],
43
          type: [
44
            { required: true, message: '类型不能为空', trigger: 'blur' }
45
          ],
46
          createTime: [
47
            { required: true, message: '创建时间不能为空', trigger: 'blur' }
48
          ],
49
          isDel: [
50
            { required: true, message: '是否被删除 状态  0:正常   1:删除不能为空', trigger: 'blur' }
51
          ]
52
        }
53
      }
54
    },
55
    methods: {
56
      init (id) {
57
        this.dataForm.id = id || 0
58
        this.visible = true
59
        this.$nextTick(() => {
60
          this.$refs['dataForm'].resetFields()
61
          if (this.dataForm.id) {
62
            this.$http({
63
              url: this.$http.adornUrl(`/generator/typesofattenders/info/${this.dataForm.id}`),
64
              method: 'get',
65
              params: this.$http.adornParams()
66
            }).then(({data}) => {
67
              if (data && data.code === 0) {
68
                this.dataForm.meetingId = data.typesOfAttenders.meetingId
69
                this.dataForm.type = data.typesOfAttenders.type
70
                this.dataForm.createTime = data.typesOfAttenders.createTime
71
                this.dataForm.isDel = data.typesOfAttenders.isDel
72
              }
73
            })
74
          }
75
        })
76
      },
77
      // 表单提交
78
      dataFormSubmit () {
79
        this.$refs['dataForm'].validate((valid) => {
80
          if (valid) {
81
            this.$http({
82
              url: this.$http.adornUrl(`/generator/typesofattenders/${!this.dataForm.id ? 'save' : 'update'}`),
83
              method: 'post',
84
              data: this.$http.adornData({
85
                'id': this.dataForm.id || undefined,
86
                'meetingId': this.dataForm.meetingId,
87
                'type': this.dataForm.type,
88
                'createTime': this.dataForm.createTime,
89
                'isDel': this.dataForm.isDel
90
              })
91
            }).then(({data}) => {
92
              if (data && data.code === 0) {
93
                this.$message({
94
                  message: '操作成功',
95
                  type: 'success',
96
                  duration: 1500,
97
                  onClose: () => {
98
                    this.visible = false
99
                    this.$emit('refreshDataList')
100
                  }
101
                })
102
              } else {
103
                this.$message.error(data.msg)
104
              }
105
            })
106
          }
107
        })
108
      }
109
    }
110
  }
111
</script>

+ 181 - 0
src/views/modules/admin/typesofattenders.vue

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

+ 120 - 0
src/views/modules/admin/typesoffee-add-or-update.vue

@ -0,0 +1,120 @@
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="费用类型" prop="type">
11
      <el-input v-model="dataForm.type" placeholder="费用类型"></el-input>
12
    </el-form-item>
13
    <el-form-item label="金额" prop="money">
14
      <el-input v-model="dataForm.money" placeholder="金额"></el-input>
15
    </el-form-item>
16
    <el-form-item label="创建时间" prop="createTime">
17
      <el-input v-model="dataForm.createTime" placeholder="创建时间"></el-input>
18
    </el-form-item>
19
    <el-form-item label="是否被删除 状态  0:正常   1:删除" prop="isDel">
20
      <el-input v-model="dataForm.isDel" placeholder="是否被删除 状态  0:正常   1:删除"></el-input>
21
    </el-form-item>
22
    </el-form>
23
    <span slot="footer" class="dialog-footer">
24
      <el-button @click="visible = false">取消</el-button>
25
      <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
26
    </span>
27
  </el-dialog>
28
</template>
29
30
<script>
31
  export default {
32
    data () {
33
      return {
34
        visible: false,
35
        dataForm: {
36
          id: 0,
37
          meetingId: '',
38
          type: '',
39
          money: '',
40
          createTime: '',
41
          isDel: ''
42
        },
43
        dataRule: {
44
          meetingId: [
45
            { required: true, message: '会议id不能为空', trigger: 'blur' }
46
          ],
47
          type: [
48
            { required: true, message: '费用类型不能为空', trigger: 'blur' }
49
          ],
50
          money: [
51
            { required: true, message: '金额不能为空', trigger: 'blur' }
52
          ],
53
          createTime: [
54
            { required: true, message: '创建时间不能为空', trigger: 'blur' }
55
          ],
56
          isDel: [
57
            { required: true, message: '是否被删除 状态  0:正常   1:删除不能为空', trigger: 'blur' }
58
          ]
59
        }
60
      }
61
    },
62
    methods: {
63
      init (id) {
64
        this.dataForm.id = id || 0
65
        this.visible = true
66
        this.$nextTick(() => {
67
          this.$refs['dataForm'].resetFields()
68
          if (this.dataForm.id) {
69
            this.$http({
70
              url: this.$http.adornUrl(`/generator/typesoffee/info/${this.dataForm.id}`),
71
              method: 'get',
72
              params: this.$http.adornParams()
73
            }).then(({data}) => {
74
              if (data && data.code === 0) {
75
                this.dataForm.meetingId = data.typesOfFee.meetingId
76
                this.dataForm.type = data.typesOfFee.type
77
                this.dataForm.money = data.typesOfFee.money
78
                this.dataForm.createTime = data.typesOfFee.createTime
79
                this.dataForm.isDel = data.typesOfFee.isDel
80
              }
81
            })
82
          }
83
        })
84
      },
85
      // 表单提交
86
      dataFormSubmit () {
87
        this.$refs['dataForm'].validate((valid) => {
88
          if (valid) {
89
            this.$http({
90
              url: this.$http.adornUrl(`/generator/typesoffee/${!this.dataForm.id ? 'save' : 'update'}`),
91
              method: 'post',
92
              data: this.$http.adornData({
93
                'id': this.dataForm.id || undefined,
94
                'meetingId': this.dataForm.meetingId,
95
                'type': this.dataForm.type,
96
                'money': this.dataForm.money,
97
                'createTime': this.dataForm.createTime,
98
                'isDel': this.dataForm.isDel
99
              })
100
            }).then(({data}) => {
101
              if (data && data.code === 0) {
102
                this.$message({
103
                  message: '操作成功',
104
                  type: 'success',
105
                  duration: 1500,
106
                  onClose: () => {
107
                    this.visible = false
108
                    this.$emit('refreshDataList')
109
                  }
110
                })
111
              } else {
112
                this.$message.error(data.msg)
113
              }
114
            })
115
          }
116
        })
117
      }
118
    }
119
  }
120
</script>

+ 187 - 0
src/views/modules/admin/typesoffee.vue

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