张延森 4 years ago
parent
commit
0207947cf4

+ 7
- 0
src/api/advert.js View File

31
     data
31
     data
32
   }))
32
   }))
33
 }
33
 }
34
+
35
+export function deleteAdvert(id) {
36
+  return pureResponseData(request({
37
+    url: `/api/admin/advert/${id}`,
38
+    method: 'delete'
39
+  }))
40
+}

+ 3
- 2
src/components/MultiUploadImg/index.vue View File

6
       list-type="picture-card"
6
       list-type="picture-card"
7
       :before-upload="beforeUpload"
7
       :before-upload="beforeUpload"
8
       :on-success="handleUploadSuccess"
8
       :on-success="handleUploadSuccess"
9
-      :on-remove="handleRemove">
10
-      <i class="el-icon-plus"></i>
9
+      :on-remove="handleRemove"
10
+    >
11
+      <i class="el-icon-plus" />
11
     </el-upload>
12
     </el-upload>
12
     <el-dialog :visible.sync="dialogVisible">
13
     <el-dialog :visible.sync="dialogVisible">
13
       <img width="100%" :src="dialogImageUrl" alt="">
14
       <img width="100%" :src="dialogImageUrl" alt="">

+ 1
- 1
src/components/UploadImg/index.vue View File

9
   >
9
   >
10
     <img v-if="value" :src="value" class="uploader-preview">
10
     <img v-if="value" :src="value" class="uploader-preview">
11
     <i v-else class="el-icon-plus avatar-uploader-icon" />
11
     <i v-else class="el-icon-plus avatar-uploader-icon" />
12
-    <div class="uploader-tip">{{tip}}</div>
12
+    <div class="uploader-tip">{{ tip }}</div>
13
   </el-upload>
13
   </el-upload>
14
 </template>
14
 </template>
15
 
15
 

+ 8
- 4
src/views/activity/components/Detail.vue View File

22
       <el-form-item label="允许报名" prop="isEnroll">
22
       <el-form-item label="允许报名" prop="isEnroll">
23
         <el-switch v-model="form.isEnroll" />
23
         <el-switch v-model="form.isEnroll" />
24
       </el-form-item>
24
       </el-form-item>
25
-      <el-form-item v-if="form.isEnroll" label="报名时间">
25
+      <!-- <el-form-item v-if="form.isEnroll" label="报名时间">
26
         <el-date-picker
26
         <el-date-picker
27
           v-model="dtRange2"
27
           v-model="dtRange2"
28
           type="daterange"
28
           type="daterange"
30
           end-placeholder="结束日期"
30
           end-placeholder="结束日期"
31
           style="width: 100%;"
31
           style="width: 100%;"
32
         />
32
         />
33
+      </el-form-item> -->
34
+      <el-form-item v-if="form.isEnroll" label="最大报名人数" prop="enrollMax">
35
+        <el-input-number v-model="form.enrollMax" :min="1"></el-input-number>
33
       </el-form-item>
36
       </el-form-item>
34
       <el-form-item v-if="form.isEnroll" label="当前报名">
37
       <el-form-item v-if="form.isEnroll" label="当前报名">
35
         <el-input v-model="form.enrollNum">
38
         <el-input v-model="form.enrollNum">
44
       <el-form-item label="参与投票" prop="isVote">
47
       <el-form-item label="参与投票" prop="isVote">
45
         <el-switch v-model="form.isVote" />
48
         <el-switch v-model="form.isVote" />
46
       </el-form-item>
49
       </el-form-item>
47
-      <el-form-item v-if="form.isVote" label="投票时间">
50
+      <!-- <el-form-item v-if="form.isVote" label="投票时间">
48
         <el-date-picker
51
         <el-date-picker
49
           v-model="dtRange3"
52
           v-model="dtRange3"
50
           type="daterange"
53
           type="daterange"
52
           end-placeholder="结束日期"
55
           end-placeholder="结束日期"
53
           style="width: 100%;"
56
           style="width: 100%;"
54
         />
57
         />
55
-      </el-form-item>
58
+      </el-form-item> -->
56
     </template>
59
     </template>
57
     <el-form-item label="首页推荐" prop="toIndex">
60
     <el-form-item label="首页推荐" prop="toIndex">
58
       <el-switch v-model="form.toIndex" />
61
       <el-switch v-model="form.toIndex" />
224
           const data = {
227
           const data = {
225
             ...this.form,
228
             ...this.form,
226
             typeId: this.typeId,
229
             typeId: this.typeId,
227
-            isWarm: this.isWarm
230
+            isWarm: this.isWarm,
231
+            enrollMax: this.form.enrollMax || 0
228
           }
232
           }
229
 
233
 
230
           const [dt1, dt2] = transferBeginEndDay(data.startDate, data.endDate)
234
           const [dt1, dt2] = transferBeginEndDay(data.startDate, data.endDate)

+ 51
- 5
src/views/advert/index.vue View File

7
       </el-tooltip>
7
       </el-tooltip>
8
     </div>
8
     </div>
9
     <el-table
9
     <el-table
10
-      v-loading="listLoading"
10
+      v-loading="loading.list"
11
       :data="list"
11
       :data="list"
12
       element-loading-text="Loading"
12
       element-loading-text="Loading"
13
       border
13
       border
35
           {{ scope.row.createDate | toDayMini }}
35
           {{ scope.row.createDate | toDayMini }}
36
         </template>
36
         </template>
37
       </el-table-column>
37
       </el-table-column>
38
+      <el-table-column label="状态" align="center" width="200">
39
+        <template slot-scope="scope">
40
+          <el-tag
41
+            :type="scope.row.status | statusTagFormat"
42
+            disable-transitions
43
+          >{{ scope.row.status | statusFormat }}</el-tag>
44
+        </template>
45
+      </el-table-column>
38
       <el-table-column label="操作" align="center" width="200">
46
       <el-table-column label="操作" align="center" width="200">
39
         <template slot-scope="scope">
47
         <template slot-scope="scope">
40
           <el-button size="mini" type="primary" plain @click="handleEdit(scope.row)">编辑</el-button>
48
           <el-button size="mini" type="primary" plain @click="handleEdit(scope.row)">编辑</el-button>
49
+          <el-button size="mini" type="danger" plain @click="handleDelete(scope.row)">删除</el-button>
41
         </template>
50
         </template>
42
       </el-table-column>
51
       </el-table-column>
43
     </el-table>
52
     </el-table>
52
 
61
 
53
 <script>
62
 <script>
54
 import { getSysModules } from '@/api/comm'
63
 import { getSysModules } from '@/api/comm'
55
-import { getAdvertList } from '@/api/advert'
64
+import { getAdvertList, deleteAdvert } from '@/api/advert'
56
 
65
 
57
 export default {
66
 export default {
58
   components: {
67
   components: {
59
     FilterForm: () => import('./components/FilterForm')
68
     FilterForm: () => import('./components/FilterForm')
60
   },
69
   },
70
+  filters: {
71
+    statusFormat(status) {
72
+      if (status === null || status === undefined) {
73
+        return undefined
74
+      }
75
+
76
+      const statusMap = [
77
+        '未发布',
78
+        '已发布'
79
+      ]
80
+      return statusMap[status]
81
+    },
82
+
83
+    statusTagFormat(status) {
84
+      if (status === null || status === undefined) {
85
+        return undefined
86
+      }
87
+
88
+      const statusMap = [
89
+        'warning',
90
+        'success'
91
+      ]
92
+      return statusMap[status]
93
+    }
94
+  },
61
 
95
 
62
   data() {
96
   data() {
63
     return {
97
     return {
64
       list: null,
98
       list: null,
65
-      listLoading: true,
99
+      loading: {
100
+        list: false
101
+      },
66
       sysModules: [],
102
       sysModules: [],
67
       page: {
103
       page: {
68
         total: 0,
104
         total: 0,
87
     },
123
     },
88
 
124
 
89
     fetchData() {
125
     fetchData() {
90
-      this.listLoading = true
126
+      this.loading.list = true
91
       getAdvertList({
127
       getAdvertList({
92
         ...this.filters,
128
         ...this.filters,
93
         pageNum: this.page.current,
129
         pageNum: this.page.current,
95
       }).then(res => {
131
       }).then(res => {
96
         this.list = res.records
132
         this.list = res.records
97
         this.page.total = res.total
133
         this.page.total = res.total
98
-        this.listLoading = false
134
+        this.loading.list = false
99
       })
135
       })
100
     },
136
     },
101
 
137
 
118
       })
154
       })
119
     },
155
     },
120
 
156
 
157
+    handleDelete(row) {
158
+      this.$confirm('确认删除当前记录?', { type: 'warning' }).then(() => {
159
+        this.loading.list = true
160
+        deleteAdvert(row.advId).then(() => {
161
+          this.list = this.list.filter(x => x.advId !== row.advId)
162
+          this.loading.list = false
163
+        })
164
+      })
165
+    },
166
+
121
     handlePageChange({ current, size }) {
167
     handlePageChange({ current, size }) {
122
       this.page.current = current
168
       this.page.current = current
123
       this.page.size = size
169
       this.page.size = size

+ 0
- 1
src/views/customer/index.vue View File

25
         </template>
25
         </template>
26
       </el-table-column>
26
       </el-table-column>
27
       <el-table-column label="手机" prop="phone" />
27
       <el-table-column label="手机" prop="phone" />
28
-      <el-table-column label="名称" prop="name" />
29
       <el-table-column label="昵称" prop="nickname" />
28
       <el-table-column label="昵称" prop="nickname" />
30
       <el-table-column label="性别" align="center" width="200">
29
       <el-table-column label="性别" align="center" width="200">
31
         <template slot-scope="scope">
30
         <template slot-scope="scope">

+ 7
- 6
src/views/recommender/index.vue View File

37
       <el-table-column label="备注" width="500">
37
       <el-table-column label="备注" width="500">
38
         <template slot-scope="scope">
38
         <template slot-scope="scope">
39
           <el-tooltip placement="top-start" :content="scope.row.remark">
39
           <el-tooltip placement="top-start" :content="scope.row.remark">
40
-            <div>{{scope.row.remark | limitLen}}</div>
40
+            <div>{{ scope.row.remark | limitLen }}</div>
41
           </el-tooltip>
41
           </el-tooltip>
42
         </template>
42
         </template>
43
       </el-table-column>
43
       </el-table-column>
67
       v-loading="loading.dialog"
67
       v-loading="loading.dialog"
68
       :visible="dialogVisible"
68
       :visible="dialogVisible"
69
       title="状态审核"
69
       title="状态审核"
70
-      @close="hideDialog">
70
+      @close="hideDialog"
71
+    >
71
       <el-form label-width="100px">
72
       <el-form label-width="100px">
72
-        <el-form-item label="姓名">{{current.name}}</el-form-item>
73
-        <el-form-item label="手机">{{current.phone}}</el-form-item>
74
-        <el-form-item label="性别">{{current.sex | sexFormat}}</el-form-item>
75
-        <el-form-item label="备注">{{current.remark}}</el-form-item>
73
+        <el-form-item label="姓名">{{ current.name }}</el-form-item>
74
+        <el-form-item label="手机">{{ current.phone }}</el-form-item>
75
+        <el-form-item label="性别">{{ current.sex | sexFormat }}</el-form-item>
76
+        <el-form-item label="备注">{{ current.remark }}</el-form-item>
76
         <el-form-item label="状态" :required="true">
77
         <el-form-item label="状态" :required="true">
77
           <el-radio-group v-model="current.status">
78
           <el-radio-group v-model="current.status">
78
             <el-radio :label="1">审核通过</el-radio>
79
             <el-radio :label="1">审核通过</el-radio>