瀏覽代碼

修复bug

pxb 2 天之前
父節點
當前提交
c63400d20a
共有 3 個文件被更改,包括 57 次插入25 次删除
  1. 24 0
      src/api/data.js
  2. 31 24
      src/views/Activity/ActivityReward/index.vue
  3. 2 1
      src/views/Activity/Banner/index.vue

+ 24 - 0
src/api/data.js

@@ -495,6 +495,30 @@ export function levelDelete(params) {
   })
   })
 }
 }
 
 
+export function getActivityRewardList(params) {
+  return request({
+    url: 'ActivityReward',
+    method: 'get',
+    params: params
+  })
+}
+
+export function deleteActivityReward(data) {
+  return request({
+    url: 'ActivityReward/delete',
+    method: 'post',
+    data: data
+  })
+}
+
+export function submitActivityReward(data) {
+  return request({
+    url: 'ActivityReward/submit',
+    method: 'post',
+    data: data
+  })
+}
+
 export function userLoginLog(params) {
 export function userLoginLog(params) {
   return request({
   return request({
     url: 'user/loginLog',
     url: 'user/loginLog',

+ 31 - 24
src/views/Activity/ActivityReward/index.vue

@@ -25,9 +25,12 @@
       </el-table-column>
       </el-table-column>
       <el-table-column label="状态" width="100" align="center">
       <el-table-column label="状态" width="100" align="center">
         <template slot-scope="scope">
         <template slot-scope="scope">
-          <el-tag :type="scope.row.status === 1 ? 'success' : 'info'">
-            {{ scope.row.status === 0 ? '下架' : scope.row.status === 1 ? '上架' : '--' }}
-          </el-tag>
+          <el-switch
+            :value="Number(scope.row.status) === 1"
+            active-color="#13ce66"
+            inactive-color="#dcdfe6"
+            @change="handleStatusChange(scope.row, $event)"
+          />
         </template>
         </template>
       </el-table-column>
       </el-table-column>
       <el-table-column label="类型" width="100" align="center">
       <el-table-column label="类型" width="100" align="center">
@@ -91,10 +94,10 @@
           </el-col>
           </el-col>
           <el-col :span="12">
           <el-col :span="12">
             <el-form-item label="状态" prop="status">
             <el-form-item label="状态" prop="status">
-              <el-select v-model="formData.status" placeholder="请选择" style="width: 100%">
-                <el-option label="上架" :value="1" />
-                <el-option label="下架" :value="0" />
-              </el-select>
+              <el-radio-group v-model="formData.status">
+                <el-radio :label="1">上架</el-radio>
+                <el-radio :label="0">下架</el-radio>
+              </el-radio-group>
             </el-form-item>
             </el-form-item>
           </el-col>
           </el-col>
           <el-col :span="12">
           <el-col :span="12">
@@ -232,8 +235,12 @@ import 'quill/dist/quill.core.css'
 import 'quill/dist/quill.snow.css'
 import 'quill/dist/quill.snow.css'
 import 'quill/dist/quill.bubble.css'
 import 'quill/dist/quill.bubble.css'
 import { quillEditor } from 'vue-quill-editor'
 import { quillEditor } from 'vue-quill-editor'
-import { levelList } from '@/api/data'
-import request from '@/utils/request'
+import {
+  deleteActivityReward,
+  getActivityRewardList,
+  levelList,
+  submitActivityReward
+} from '@/api/data'
 // 新增引入:请根据你项目中实际保存的位置修改此处的路径
 // 新增引入:请根据你项目中实际保存的位置修改此处的路径
 import UploadImage from '@/components/UploadOneImage/index.vue'
 import UploadImage from '@/components/UploadOneImage/index.vue'
 
 
@@ -308,11 +315,7 @@ export default {
     // 获取列表
     // 获取列表
     getList() {
     getList() {
       this.loading = true
       this.loading = true
-      request({
-        url: 'ActivityReward',
-        method: 'get',
-        params: this.queryParams
-      }).then(res => {
+      getActivityRewardList(this.queryParams).then(res => {
         // 遵循原 apis.list.dataParam: 'data.data' 和 resultParam: 'data' 的逻辑
         // 遵循原 apis.list.dataParam: 'data.data' 和 resultParam: 'data' 的逻辑
         this.tableData = res.data.data || []
         this.tableData = res.data.data || []
         this.total = res.data.total || 0
         this.total = res.data.total || 0
@@ -387,16 +390,24 @@ export default {
         cancelButtonText: '取消',
         cancelButtonText: '取消',
         type: 'warning'
         type: 'warning'
       }).then(() => {
       }).then(() => {
-        return request({
-          url: 'ActivityReward/delete',
-          method: 'post',
-          data: { id: row.id }
-        })
+        return deleteActivityReward({ id: row.id })
       }).then(() => {
       }).then(() => {
         this.getList()
         this.getList()
         this.$message.success('删除成功')
         this.$message.success('删除成功')
       })
       })
     },
     },
+    handleStatusChange(row, enabled) {
+      const postData = { ...row, status: enabled ? 1 : 0 }
+      postData.detail_banner = postData.detail_image
+      postData.pc_banner = postData.pc_image
+
+      submitActivityReward(postData).then(() => {
+        row.status = postData.status
+        this.$message.success('状态修改成功')
+      }).catch(() => {
+        this.$message.error('状态修改失败')
+      })
+    },
     // 提交表单
     // 提交表单
     submitForm() {
     submitForm() {
       this.$refs.form.validate(valid => {
       this.$refs.form.validate(valid => {
@@ -432,11 +443,7 @@ export default {
 
 
           postData.params = businessParams
           postData.params = businessParams
 
 
-          request({
-            url: 'ActivityReward/submit',
-            method: 'post',
-            data: postData
-          }).then(() => {
+          submitActivityReward(postData).then(() => {
             this.$message.success('保存成功')
             this.$message.success('保存成功')
             this.dialogVisible = false
             this.dialogVisible = false
             this.getList()
             this.getList()

+ 2 - 1
src/views/Activity/Banner/index.vue

@@ -62,7 +62,8 @@ export default {
         },
         },
         {
         {
           label: '排序',
           label: '排序',
-          prop: 'sort'
+          prop: 'sort',
+          method: (row) => row.sort == null || row.sort === '' ? '--' : row.sort
         },
         },
         {
         {
           label: '类型',
           label: '类型',