lyn7568 2 jaren geleden
bovenliggende
commit
b6a5a46b01

+ 1 - 0
.gitignore

@ -18,3 +18,4 @@ selenium-debug.log
18 18
config/index.js
19 19
static/config/index.js
20 20
*.zip
21
dist.zip

+ 3 - 1
src/element-ui/index.js

@ -75,7 +75,8 @@ import {
75 75
  Loading,
76 76
  MessageBox,
77 77
  Message,
78
  Notification
78
  Notification,
79
  Image
79 80
} from 'element-ui'
80 81
81 82
Vue.use(Pagination)
@ -141,6 +142,7 @@ Vue.use(Header)
141 142
Vue.use(Aside)
142 143
Vue.use(Main)
143 144
Vue.use(Footer)
145
Vue.use(Image)
144 146
145 147
Vue.use(Loading.directive)
146 148

+ 174 - 0
src/views/modules/admin/hotal-add-or-update.vue

@ -0,0 +1,174 @@
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="truename">
11
      <el-input v-model="dataForm.truename" placeholder="名字"></el-input>
12
    </el-form-item>
13
    <el-form-item label="电话" prop="phone">
14
      <el-input v-model="dataForm.phone" 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="position">
20
      <el-input v-model="dataForm.position" placeholder="职位"></el-input>
21
    </el-form-item>
22
    <el-form-item label="会员id" prop="memberId">
23
      <el-input v-model="dataForm.memberId" placeholder="会员id"></el-input>
24
    </el-form-item>
25
    <el-form-item label="酒店入住时间" prop="checkInDate">
26
      <el-input v-model="dataForm.checkInDate" placeholder="酒店入住时间"></el-input>
27
    </el-form-item>
28
    <el-form-item label="酒店离店时间" prop="checkOutDate">
29
      <el-input v-model="dataForm.checkOutDate" placeholder="酒店离店时间"></el-input>
30
    </el-form-item>
31
    <el-form-item label="0不合住, 1可合住" prop="isShare">
32
      <el-input v-model="dataForm.isShare" placeholder="0不合住, 1可合住"></el-input>
33
    </el-form-item>
34
    <el-form-item label="房 型" prop="roomType">
35
      <el-input v-model="dataForm.roomType" placeholder="房 型"></el-input>
36
    </el-form-item>
37
    <el-form-item label="酒店 1,会议合作; 2,其他" prop="hotelType">
38
      <el-input v-model="dataForm.hotelType" placeholder="酒店 1,会议合作; 2,其他"></el-input>
39
    </el-form-item>
40
    </el-form>
41
    <span slot="footer" class="dialog-footer">
42
      <el-button @click="visible = false">取消</el-button>
43
      <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
44
    </span>
45
  </el-dialog>
46
</template>
47
48
<script>
49
  export default {
50
    data () {
51
      return {
52
        visible: false,
53
        dataForm: {
54
          aid: 0,
55
          meetingId: '',
56
          truename: '',
57
          phone: '',
58
          organization: '',
59
          position: '',
60
          memberId: '',
61
          checkInDate: '',
62
          checkOutDate: '',
63
          isShare: '',
64
          roomType: '',
65
          hotelType: ''
66
        },
67
        dataRule: {
68
          meetingId: [
69
            { required: true, message: '会议id不能为空', trigger: 'blur' }
70
          ],
71
          truename: [
72
            { required: true, message: '名字不能为空', trigger: 'blur' }
73
          ],
74
          phone: [
75
            { required: true, message: '电话不能为空', trigger: 'blur' }
76
          ],
77
          organization: [
78
            { required: true, message: '单位名称不能为空', trigger: 'blur' }
79
          ],
80
          position: [
81
            { required: true, message: '职位不能为空', trigger: 'blur' }
82
          ],
83
          memberId: [
84
            { required: true, message: '会员id不能为空', trigger: 'blur' }
85
          ],
86
          checkInDate: [
87
            { required: true, message: '酒店入住时间不能为空', trigger: 'blur' }
88
          ],
89
          checkOutDate: [
90
            { required: true, message: '酒店离店时间不能为空', trigger: 'blur' }
91
          ],
92
          isShare: [
93
            { required: true, message: '0不合住, 1可合住不能为空', trigger: 'blur' }
94
          ],
95
          roomType: [
96
            { required: true, message: '房 型不能为空', trigger: 'blur' }
97
          ],
98
          hotelType: [
99
            { required: true, message: '酒店 1,会议合作; 2,其他不能为空', trigger: 'blur' }
100
          ]
101
        }
102
      }
103
    },
104
    methods: {
105
      init (id) {
106
        this.dataForm.aid = id || 0
107
        this.visible = true
108
        this.$nextTick(() => {
109
          this.$refs['dataForm'].resetFields()
110
          if (this.dataForm.aid) {
111
            this.$http({
112
              url: this.$http.adornUrl(`/admin/hotal/info/${this.dataForm.aid}`),
113
              method: 'get',
114
              params: this.$http.adornParams()
115
            }).then(({data}) => {
116
              if (data && data.code === 0) {
117
                this.dataForm.meetingId = data.hotal.meetingId
118
                this.dataForm.truename = data.hotal.truename
119
                this.dataForm.phone = data.hotal.phone
120
                this.dataForm.organization = data.hotal.organization
121
                this.dataForm.position = data.hotal.position
122
                this.dataForm.memberId = data.hotal.memberId
123
                this.dataForm.checkInDate = data.hotal.checkInDate
124
                this.dataForm.checkOutDate = data.hotal.checkOutDate
125
                this.dataForm.isShare = data.hotal.isShare
126
                this.dataForm.roomType = data.hotal.roomType
127
                this.dataForm.hotelType = data.hotal.hotelType
128
              }
129
            })
130
          }
131
        })
132
      },
133
      // 表单提交
134
      dataFormSubmit () {
135
        this.$refs['dataForm'].validate((valid) => {
136
          if (valid) {
137
            this.$http({
138
              url: this.$http.adornUrl(`/admin/hotal/${!this.dataForm.aid ? 'save' : 'update'}`),
139
              method: 'post',
140
              data: this.$http.adornData({
141
                'aid': this.dataForm.aid || undefined,
142
                'meetingId': this.dataForm.meetingId,
143
                'truename': this.dataForm.truename,
144
                'phone': this.dataForm.phone,
145
                'organization': this.dataForm.organization,
146
                'position': this.dataForm.position,
147
                'memberId': this.dataForm.memberId,
148
                'checkInDate': this.dataForm.checkInDate,
149
                'checkOutDate': this.dataForm.checkOutDate,
150
                'isShare': this.dataForm.isShare,
151
                'roomType': this.dataForm.roomType,
152
                'hotelType': this.dataForm.hotelType
153
              })
154
            }).then(({data}) => {
155
              if (data && data.code === 0) {
156
                this.$message({
157
                  message: '操作成功',
158
                  type: 'success',
159
                  duration: 1500,
160
                  onClose: () => {
161
                    this.visible = false
162
                    this.$emit('refreshDataList')
163
                  }
164
                })
165
              } else {
166
                this.$message.error(data.msg)
167
              }
168
            })
169
          }
170
        })
171
      }
172
    }
173
  }
174
</script>

+ 223 - 0
src/views/modules/admin/hotal.vue

@ -0,0 +1,223 @@
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('admin:hotal:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
10
        <el-button v-if="isAuth('admin:hotal: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="aid"
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="truename"
39
        header-align="center"
40
        align="center"
41
        label="名字">
42
      </el-table-column>
43
      <el-table-column
44
        prop="phone"
45
        header-align="center"
46
        align="center"
47
        label="电话">
48
      </el-table-column>
49
      <el-table-column
50
        prop="organization"
51
        header-align="center"
52
        align="center"
53
        label="单位名称">
54
      </el-table-column>
55
      <el-table-column
56
        prop="position"
57
        header-align="center"
58
        align="center"
59
        label="职位">
60
      </el-table-column>
61
      <el-table-column
62
        prop="memberId"
63
        header-align="center"
64
        align="center"
65
        label="会员id">
66
      </el-table-column>
67
      <el-table-column
68
        prop="checkInDate"
69
        header-align="center"
70
        align="center"
71
        label="酒店入住时间">
72
      </el-table-column>
73
      <el-table-column
74
        prop="checkOutDate"
75
        header-align="center"
76
        align="center"
77
        label="酒店离店时间">
78
      </el-table-column>
79
      <el-table-column
80
        prop="isShare"
81
        header-align="center"
82
        align="center"
83
        label="0不合住, 1可合住">
84
      </el-table-column>
85
      <el-table-column
86
        prop="roomType"
87
        header-align="center"
88
        align="center"
89
        label="房 型">
90
      </el-table-column>
91
      <el-table-column
92
        prop="hotelType"
93
        header-align="center"
94
        align="center"
95
        label="酒店 1,会议合作; 2,其他">
96
      </el-table-column>
97
      <el-table-column
98
        fixed="right"
99
        header-align="center"
100
        align="center"
101
        width="150"
102
        label="操作">
103
        <template slot-scope="scope">
104
          <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.aid)">修改</el-button>
105
          <el-button type="text" size="small" @click="deleteHandle(scope.row.aid)">删除</el-button>
106
        </template>
107
      </el-table-column>
108
    </el-table>
109
    <el-pagination
110
      @size-change="sizeChangeHandle"
111
      @current-change="currentChangeHandle"
112
      :current-page="pageIndex"
113
      :page-sizes="[10, 20, 50, 100]"
114
      :page-size="pageSize"
115
      :total="totalPage"
116
      layout="total, sizes, prev, pager, next, jumper">
117
    </el-pagination>
118
    <!-- 弹窗, 新增 / 修改 -->
119
    <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
120
  </div>
121
</template>
122
123
<script>
124
  import AddOrUpdate from './hotal-add-or-update'
125
  export default {
126
    data () {
127
      return {
128
        dataForm: {
129
          key: ''
130
        },
131
        dataList: [],
132
        pageIndex: 1,
133
        pageSize: 10,
134
        totalPage: 0,
135
        dataListLoading: false,
136
        dataListSelections: [],
137
        addOrUpdateVisible: false
138
      }
139
    },
140
    components: {
141
      AddOrUpdate
142
    },
143
    activated () {
144
      this.getDataList()
145
    },
146
    methods: {
147
      // 获取数据列表
148
      getDataList () {
149
        this.dataListLoading = true
150
        this.$http({
151
          url: this.$http.adornUrl('/admin/hotal/list'),
152
          method: 'get',
153
          params: this.$http.adornParams({
154
            'page': this.pageIndex,
155
            'limit': this.pageSize,
156
            'key': this.dataForm.key
157
          })
158
        }).then(({data}) => {
159
          if (data && data.code === 0) {
160
            this.dataList = data.page.list
161
            this.totalPage = data.page.totalCount
162
          } else {
163
            this.dataList = []
164
            this.totalPage = 0
165
          }
166
          this.dataListLoading = false
167
        })
168
      },
169
      // 每页数
170
      sizeChangeHandle (val) {
171
        this.pageSize = val
172
        this.pageIndex = 1
173
        this.getDataList()
174
      },
175
      // 当前页
176
      currentChangeHandle (val) {
177
        this.pageIndex = val
178
        this.getDataList()
179
      },
180
      // 多选
181
      selectionChangeHandle (val) {
182
        this.dataListSelections = val
183
      },
184
      // 新增 / 修改
185
      addOrUpdateHandle (id) {
186
        this.addOrUpdateVisible = true
187
        this.$nextTick(() => {
188
          this.$refs.addOrUpdate.init(id)
189
        })
190
      },
191
      // 删除
192
      deleteHandle (id) {
193
        var ids = id ? [id] : this.dataListSelections.map(item => {
194
          return item.aid
195
        })
196
        this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
197
          confirmButtonText: '确定',
198
          cancelButtonText: '取消',
199
          type: 'warning'
200
        }).then(() => {
201
          this.$http({
202
            url: this.$http.adornUrl('/admin/hotal/delete'),
203
            method: 'post',
204
            data: this.$http.adornData(ids, false)
205
          }).then(({data}) => {
206
            if (data && data.code === 0) {
207
              this.$message({
208
                message: '操作成功',
209
                type: 'success',
210
                duration: 1500,
211
                onClose: () => {
212
                  this.getDataList()
213
                }
214
              })
215
            } else {
216
              this.$message.error(data.msg)
217
            }
218
          })
219
        })
220
      }
221
    }
222
  }
223
</script>

+ 162 - 0
src/views/modules/admin/meetingimages-add-or-update.vue

@ -0,0 +1,162 @@
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="url">
8
          <el-upload
9
            class="avatar-uploader"
10
            :action="imageUploadUrl"
11
            :show-file-list="false"
12
            :on-success="handlePictureCardPreview"
13
            name="upload_file"
14
            :data="imgData"
15
          >
16
            <img v-if="this.dataForm.thumb" :src="this.dataForm.thumb" class="avatar" />
17
            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
18
          </el-upload>
19
        </el-form-item>
20
      <el-form-item label="图片title" prop="title">
21
        <el-input v-model="dataForm.title" placeholder="图片访问路径"></el-input>
22
      </el-form-item>
23
      <el-form-item label="图片访问路径" prop="url">
24
        <el-input v-model="dataForm.url" placeholder="图片访问路径"></el-input>
25
      </el-form-item>
26
      <el-form-item label="排序, 越大越靠前" prop="sort">
27
        <el-input v-model="dataForm.sort" placeholder="排序, 越大越靠前"></el-input>
28
      </el-form-item>
29
      <el-form-item label="是否显示" prop="status">
30
        <el-radio v-model="dataForm.status" :label="0">不显示</el-radio>
31
        <el-radio v-model="dataForm.status" :label="1">显示</el-radio>
32
      </el-form-item>
33
    </el-form>
34
    <span slot="footer" class="dialog-footer">
35
      <el-button @click="visible = false">取消</el-button>
36
      <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
37
    </span>
38
  </el-dialog>
39
</template>
40
41
<style>
42
  .avatar-uploader .el-upload {
43
    border: 1px dashed #d9d9d9;
44
    border-radius: 6px;
45
    cursor: pointer;
46
    position: relative;
47
    overflow: hidden;
48
  }
49
  .avatar-uploader .el-upload:hover {
50
    border-color: #409EFF;
51
  }
52
  .avatar-uploader-icon {
53
    font-size: 28px;
54
    color: #8c939d;
55
    width: 178px;
56
    height: 178px;
57
    line-height: 178px;
58
    text-align: center;
59
  }
60
  .avatar {
61
    /* width: 178px; */
62
    height: 200px;
63
    display: block;
64
  }
65
</style>
66
67
<script>
68
  export default {
69
    data () {
70
      return {
71
        imageUploadUrl: this.$http.adornUrl(`/app/filemanager/uploadimg`),
72
        imgData: {
73
          isthumb: 1,
74
          width: 1000
75
        },
76
        visible: false,
77
        dataForm: {
78
          id: 0,
79
          meetingId: 0,
80
          url: '',
81
          thumb: '',
82
          title: '',
83
          sort: 0,
84
          status: 1
85
        },
86
        dataRule: {
87
          url: [
88
            { required: true, message: '图片访问路径不能为空', trigger: 'blur' }
89
          ],
90
        }
91
      }
92
    },
93
    methods: {
94
      init (id) {
95
        this.dataForm.id = id || 0
96
        this.visible = true
97
        this.$nextTick(() => {
98
          this.$refs['dataForm'].resetFields()
99
          if (this.dataForm.id) {
100
            this.$http({
101
              url: this.$http.adornUrl(`/admin/meetingimages/info/${this.dataForm.id}`),
102
              method: 'get',
103
              params: this.$http.adornParams()
104
            }).then(({data}) => {
105
              if (data && data.code === 0) {
106
                this.dataForm.meetingId = data.meetingImages.meetingId
107
                this.dataForm.url = data.meetingImages.url
108
                this.dataForm.thumb = data.meetingImages.thumb
109
                this.dataForm.title = data.meetingImages.title
110
                this.dataForm.sort = data.meetingImages.sort
111
                this.dataForm.status = data.meetingImages.status
112
              }
113
            })
114
          } else {
115
            this.dataForm.meetingId = this.$route.params.id
116
            this.dataForm.thumb = ""
117
          }
118
        })
119
      },
120
      // 表单提交
121
      dataFormSubmit () {
122
        this.$refs['dataForm'].validate((valid) => {
123
          if (valid) {
124
            this.$http({
125
              url: this.$http.adornUrl(`/admin/meetingimages/${!this.dataForm.id ? 'save' : 'update'}`),
126
              method: 'post',
127
              data: this.$http.adornData({
128
                'id': this.dataForm.id || undefined,
129
                'meetingId': this.dataForm.meetingId,
130
                'title': this.dataForm.title,
131
                'url': this.dataForm.url,
132
                'thumb': this.dataForm.thumb,
133
                'sort': this.dataForm.sort,
134
                'status': this.dataForm.status
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
      handlePictureCardPreview(response, file) {
156
        this.dataForm.thumb = response.thumb
157
        this.dataForm.url = response.picname
158
        this.dataForm.title = response.fileOldName
159
      },
160
    }
161
  }
162
</script>

+ 189 - 0
src/views/modules/admin/meetingimages.vue

@ -0,0 +1,189 @@
1
<template>
2
  <div class="mod-config">
3
    <el-form
4
      :inline="true"
5
      :model="dataForm"
6
      @keyup.enter.native="getDataList()"
7
    >
8
      <el-form-item>
9
        <el-input
10
          v-model="dataForm.key"
11
          placeholder="图片名称"
12
          clearable
13
        ></el-input>
14
      </el-form-item>
15
      <el-form-item>
16
        <el-button @click="getDataList()">查询</el-button>
17
        <el-button v-if="isAuth('admin:meetingimages:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
18
      </el-form-item>
19
    </el-form>
20
    <el-row :gutter="20">
21
      <el-col :md="8" style="margin-top: 30px; text-align: center" v-for="(item, index) in dataList" :key="index">
22
        <div class="img-content">
23
          <el-image :src="item.thumb" style="height: 320px" fit="fill" lazy :alt="item.title">
24
            <div slot="placeholder" class="image-slot" style="width: 100%">
25
              <span> 加载中... </span>
26
            </div>
27
          </el-image>
28
          <el-button @click="addOrUpdateHandle(item.id)">修改{{item.title}}</el-button>
29
          <el-button @click="previewSrc(item.url)">查看原图</el-button>
30
          <el-button type="danger" @click="deleteHandle(item.id, item.title)">删除图片</el-button>
31
        </div>
32
      </el-col>
33
    </el-row>
34
    <el-pagination
35
      @size-change="sizeChangeHandle"
36
      @current-change="currentChangeHandle"
37
      :current-page="pageIndex"
38
      :page-sizes="[9, 18, 54, 99]"
39
      :page-size="pageSize"
40
      :total="totalPage"
41
      layout="total, sizes, prev, pager, next, jumper"
42
    >
43
    </el-pagination>
44
    <el-dialog
45
      title="原图"
46
      :visible.sync="imgVisible"
47
      width="60%">
48
      <el-image :src="this.imgUrl" style="height: 600px; text-align: center;" fit="fill">
49
        <div slot="placeholder" class="image-slot" style="width: 100%">
50
          <span> 加载中... </span>
51
        </div>
52
      </el-image>
53
      <span slot="footer" class="dialog-footer">
54
        <el-button type="primary" @click="imgVisible = false">关闭</el-button>
55
      </span>
56
    </el-dialog>
57
58
    <!-- 弹窗, 新增 / 修改 -->
59
    <add-or-update
60
      v-if="addOrUpdateVisible"
61
      ref="addOrUpdate"
62
      @refreshDataList="getDataList"
63
    ></add-or-update>
64
  </div>
65
</template>
66
67
<script>
68
import AddOrUpdate from "./meetingimages-add-or-update";
69
export default {
70
  data() {
71
    return {
72
      dataForm: {
73
        key: "",
74
      },
75
      dataList: [],
76
      pageIndex: 1,
77
      pageSize: 9,
78
      totalPage: 0,
79
      dataListLoading: false,
80
      dataListSelections: [],
81
      addOrUpdateVisible: false,
82
      imgVisible: false,
83
      imgUrl: '',
84
      meetingId: this.$route.params.id
85
    };
86
  },
87
  components: {
88
    AddOrUpdate,
89
  },
90
  activated() {
91
    this.getDataList();
92
  },
93
  methods: {
94
    // 获取数据列表
95
    getDataList() {
96
      this.dataListLoading = true;
97
      this.$http({
98
        url: this.$http.adornUrl("/admin/meetingimages/list"),
99
        method: "get",
100
        params: this.$http.adornParams({
101
          page: this.pageIndex,
102
          limit: this.pageSize,
103
          key: this.dataForm.key,
104
          meetingId: this.meetingId,
105
        }),
106
      }).then(({ data }) => {
107
        if (data && data.code === 0) {
108
          this.dataList = data.page.list;
109
          this.totalPage = data.page.totalCount;
110
        } else {
111
          this.dataList = [];
112
          this.totalPage = 0;
113
        }
114
        this.dataListLoading = false;
115
      });
116
    },
117
    // 每页数
118
    sizeChangeHandle(val) {
119
      this.pageSize = val;
120
      this.pageIndex = 1;
121
      this.getDataList();
122
    },
123
    // 当前页
124
    currentChangeHandle(val) {
125
      this.pageIndex = val;
126
      this.getDataList();
127
    },
128
    // 多选
129
    selectionChangeHandle(val) {
130
      this.dataListSelections = val;
131
    },
132
    // 新增 / 修改
133
    addOrUpdateHandle(id) {
134
      this.addOrUpdateVisible = true;
135
      this.$nextTick(() => {
136
        this.$refs.addOrUpdate.init(id);
137
      });
138
    },
139
    // 删除
140
    deleteHandle(id, title) {
141
      this.$confirm(
142
        `确定对[${title}]进行[删除]操作?`,
143
        "提示",
144
        {
145
          confirmButtonText: "确定",
146
          cancelButtonText: "取消",
147
          type: "warning",
148
        }
149
      ).then(() => {
150
        this.$http({
151
          url: this.$http.adornUrl(`/admin/meetingimages/delete/${id}`),
152
          method: "post",
153
          data: this.$http.adornData(),
154
        }).then(({ data }) => {
155
          if (data && data.code === 0) {
156
            this.$message({
157
              message: "操作成功",
158
              type: "success",
159
              duration: 1500,
160
              onClose: () => {
161
                this.getDataList();
162
              },
163
            });
164
          } else {
165
            this.$message.error(data.msg);
166
          }
167
        });
168
      });
169
    },
170
    previewSrc(url) {
171
      this.imgVisible = true
172
      this.imgUrl = url
173
    },
174
  },
175
};
176
</script>
177
<style>
178
.img-content {
179
  justify-content: space-between;
180
  flex-wrap: wrap;
181
}
182
.el-image {
183
  justify-content: space-between;
184
  flex-wrap: wrap;
185
}
186
.el-image img {
187
  height: 100%;
188
}
189
</style>

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

@ -70,6 +70,17 @@
70 70
        label="电话"
71 71
      ></el-table-column>
72 72
73
      <el-table-column
74
        prop="memberType"
75
        header-align="center"
76
        align="center"
77
        label="用户类型"
78
      >
79
        <template slot-scope="scope">
80
          <div v-if="scope.row.memberType === 0">正常</div>
81
          <div v-else>免注册</div>
82
        </template>
83
      </el-table-column>
73 84
      <el-table-column
74 85
        prop="feeType"
75 86
        header-align="center"