sunny 1 tahun lalu
induk
melakukan
dd0e1b5b84
2 mengubah file dengan 81 tambahan dan 75 penghapusan
  1. 37 0
      src/api/festivalManage.js
  2. 44 75
      src/views/festivalManage/festivalList.vue

+ 37 - 0
src/api/festivalManage.js

@@ -0,0 +1,37 @@
+import request from '@/utils/request'
+
+export function createItem(data) {
+  return request({
+    url: '/mall-integral-obtain/festival/add',
+    method: 'post',
+    data
+  })
+}
+
+export function updateItem(data) {
+  return request({
+    url: '/mall-integral-obtain/festival/edit',
+    method: 'post',
+    data
+  })
+}
+
+export function list(query) {
+  return request({
+    url: '/mall-integral-obtain/festival/page',
+    method: 'get',
+    params:query
+  })
+}
+
+export function state(query) {
+  return request({
+    url: '/mall-integral-obtain/festival/modify/status',
+    method: 'post',
+    params:query
+  })
+}
+
+
+
+

+ 44 - 75
src/views/festivalManage/festivalList.vue

@@ -6,7 +6,6 @@
         <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入节日名称" v-model="listQuery.title"></el-input>
         <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入节日名称" v-model="listQuery.title"></el-input>
         <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
         <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
         <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
         <el-button class="filter-item" type="primary" @click="handleCreate" icon="el-icon-edit">添加</el-button>
-        <el-button class="filter-item" type="warning" icon="el-icon-delete" @click="delAll">批量删除</el-button>
   
   
       </div>
       </div>
   
   
@@ -15,21 +14,21 @@
         size="small"
         size="small"
         :data="list"
         :data="list"
         v-loading="listLoading"
         v-loading="listLoading"
-        @selection-change="handleSelectionChange"
         element-loading-text="正在查询中。。。"
         element-loading-text="正在查询中。。。"
         border
         border
         fit
         fit
         highlight-current-row
         highlight-current-row
       >
       >
-        <el-table-column type="selection" width="55px"> </el-table-column>
         <el-table-column type="index" label="序号" header-align="center" align="center">
         <el-table-column type="index" label="序号" header-align="center" align="center">
         </el-table-column>
         </el-table-column>
   
   
         <el-table-column align="center" min-width="100px" label="节日" prop="title">
         <el-table-column align="center" min-width="100px" label="节日" prop="title">
         </el-table-column>
         </el-table-column>
-        <el-table-column align="center" min-width="200px" label="日期" prop="pubDate">
+        <el-table-column align="center" min-width="200px" label="日期" prop="startTimeStr">
         </el-table-column>
         </el-table-column>
-        <el-table-column align="center" min-width="100px" label="积分" prop="subTitle">
+        <el-table-column align="center" min-width="100px" label="积分" prop="integral">
+        </el-table-column>
+        <el-table-column align="center" min-width="100px" label="状态" prop="statusName">
         </el-table-column>
         </el-table-column>
         <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
         <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
           <template slot-scope="scope">
           <template slot-scope="scope">
@@ -39,8 +38,11 @@
               @click="handleUpdate(scope.row, false)"
               @click="handleUpdate(scope.row, false)"
               >编辑</el-button
               >编辑</el-button
             >
             >
-  
-            <el-button type="danger" size="mini"  @click="handleDelete(scope.row)">删除</el-button>
+            <el-button v-if="scope.row.status == 0" type="success" size="small"
+                        @click="changeState(scope.row, 1)">开启</el-button>
+                    <el-button v-if="scope.row.status == 1" type="warning" size="small"
+                        @click="changeState(scope.row, 0)">关闭</el-button>
+            <el-button type="danger" size="mini"  @click="handleDelete(scope.row,-1)">删除</el-button>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
       </el-table>
       </el-table>
@@ -62,20 +64,20 @@
          <el-form-item  label="节日" prop="title">
          <el-form-item  label="节日" prop="title">
               <el-input style="width: 350px" v-model="dataForm.title"></el-input>
               <el-input style="width: 350px" v-model="dataForm.title"></el-input>
             </el-form-item>
             </el-form-item>
-            <el-form-item label="日期" prop="pubDate">
+            <el-form-item label="日期" prop="startTimeStr">
                 <el-date-picker
                 <el-date-picker
-                  v-model="dataForm.pubDate"
+                  v-model="dataForm.startTimeStr"
                   type="date"
                   type="date"
                   value-format="yyyy-MM-dd"
                   value-format="yyyy-MM-dd"
                   placeholder="选择日期"
                   placeholder="选择日期"
                   style="width: 350px"
                   style="width: 350px"
                 ></el-date-picker>
                 ></el-date-picker>
               </el-form-item>
               </el-form-item>
-              <el-form-item label="积分" prop="subTitle">
+              <el-form-item label="积分" prop="integral">
                 <el-input-number
                 <el-input-number
                   :precision="0"
                   :precision="0"
                   :step="1"
                   :step="1"
-                  v-model="dataForm.subTitle"
+                  v-model="dataForm.integral"
                 ></el-input-number>
                 ></el-input-number>
               </el-form-item>
               </el-form-item>
         </el-form>
         </el-form>
@@ -104,7 +106,7 @@
   </style>
   </style>
   
   
   <script>
   <script>
-    import {listNews, createNews, updateNews, deleteNews, deleteAllNews } from "@/api/newsCenter";
+    import {list, createItem, updateItem, state } from "@/api/festivalManage";
     import waves from "@/directive/waves"; // 水波纹指令
     import waves from "@/directive/waves"; // 水波纹指令
     import Tinymce from '@/components/Tinymce'
     import Tinymce from '@/components/Tinymce'
   
   
@@ -116,23 +118,21 @@
         list: [
         list: [
           {
           {
             title:'端午节',
             title:'端午节',
-            pubDate:'2023-6-22',
-            subTitle:'50'
+            startTimeStr:'2023-6-22',
+            integral:'50'
           },
           },
           {
           {
             title:'中秋节',
             title:'中秋节',
-            pubDate:'2023-9-29',
-            subTitle:'100'
+            startTimeStr:'2023-9-29',
+            integral:'100'
           },
           },
           {
           {
             title:'国庆节',
             title:'国庆节',
-            pubDate:'2023-10-1',
-            subTitle:'100'
+            startTimeStr:'2023-10-1',
+            integral:'100'
           },
           },
 
 
         ],
         ],
-        delarr: [],
-        multipleSelection: [],
         total: 0,
         total: 0,
         listLoading: false,
         listLoading: false,
         listQuery: {
         listQuery: {
@@ -142,8 +142,8 @@
         },
         },
         dataForm: {
         dataForm: {
           title: undefined,
           title: undefined,
-          subTitle: undefined,
-          pubDate: undefined,
+          integral: undefined,
+          startTimeStr: undefined,
         },
         },
         dialogFormVisible: false,
         dialogFormVisible: false,
         dialogStatus: '',
         dialogStatus: '',
@@ -151,25 +151,23 @@
           update: "编辑",
           update: "编辑",
           create: "创建",
           create: "创建",
         },
         },
-        imageUrl: undefined,
         rules: {
         rules: {
           title: [{ required: true, message: "节日不能为空", trigger: "blur" }],
           title: [{ required: true, message: "节日不能为空", trigger: "blur" }],
-          pubDate: [{ required: true, message: "请选择日期", trigger: "blur" }],
-          subTitle: [{ required: true, message: "积分不能为空", trigger: "blur" }],
+          startTimeStr: [{ required: true, message: "请选择日期", trigger: "blur" }],
+          integral: [{ required: true, message: "积分不能为空", trigger: "blur" }],
         },
         },
-        fileImgUrl: this.upLoadUrl,
       }
       }
     },
     },
     created() {
     created() {
-        // this.getList();
+        this.getList();
     },
     },
     methods: {
     methods: {
 
 
       resetForm() {
       resetForm() {
         this.dataForm = {
         this.dataForm = {
           title: undefined,
           title: undefined,
-          subTitle: undefined,
-          pubDate: undefined,
+          integral: undefined,
+          startTimeStr: undefined,
         };
         };
       },
       },
       handleCreate() {
       handleCreate() {
@@ -183,7 +181,7 @@
       createData() {
       createData() {
         this.$refs["dataForm"].validate((valid) => {
         this.$refs["dataForm"].validate((valid) => {
           if (valid) {
           if (valid) {
-            createNews(this.dataForm)
+            createItem(this.dataForm)
                   .then(() => {
                   .then(() => {
                     this.getList();
                     this.getList();
                     this.dialogFormVisible = false;
                     this.dialogFormVisible = false;
@@ -201,7 +199,7 @@
       },
       },
       getList() {
       getList() {
         this.listLoading = true
         this.listLoading = true
-        listNews(this.listQuery).then(response => {
+        list(this.listQuery).then(response => {
           this.list = response.data.data.items
           this.list = response.data.data.items
           this.total = response.data.data.total
           this.total = response.data.data.total
           this.listLoading = false
           this.listLoading = false
@@ -239,7 +237,7 @@
       updateData() {
       updateData() {
         this.$refs['dataForm'].validate((valid) => {
         this.$refs['dataForm'].validate((valid) => {
           if (valid) {
           if (valid) {
-            updateNews(this.dataForm).then(() => {
+            updateItem(this.dataForm).then(() => {
                 this.dialogFormVisible = false
                 this.dialogFormVisible = false
                 this.$notify({
                 this.$notify({
                   title: '成功',
                   title: '成功',
@@ -253,67 +251,38 @@
           }
           }
         })
         })
       },
       },
-  
-      handleDelete(row) {
+      changeState(row, index) {
+        state({ id: row.id, status: index }).then(response => {
+                this.$notify({
+                    title: '成功',
+                    message: '状态修改成功',
+                    type: 'success',
+                    duration: 2000
+                })
+                this.getList()
+            })
+        },
+      handleDelete(row, index) {
   
   
         this.$confirm('确认删除吗?', '提示', {
         this.$confirm('确认删除吗?', '提示', {
           confirmButtonText: '确定',
           confirmButtonText: '确定',
           cancelButtonText: '取消',
           cancelButtonText: '取消',
           type: 'warning'
           type: 'warning'
         }).then(() => {
         }).then(() => {
-          deleteNews(row).then(response => {
+          state({ id: row.id, status: index }).then(response => {
             this.$notify({
             this.$notify({
               title: '成功',
               title: '成功',
               message: '删除成功',
               message: '删除成功',
               type: 'success',
               type: 'success',
               duration: 2000
               duration: 2000
             })
             })
-            const index = this.list.indexOf(row)
-            this.list.splice(index, 1)
+            this.getList()
           })
           })
         }).catch(() => {
         }).catch(() => {
   
   
         })
         })
   
   
       },
       },
-      delAll() {
-        this.$confirm("确认删除吗?", "提示", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning",
-        })
-          .then(() => {
-            const length = this.multipleSelection.length;
-  
-            if (length > 0) {
-              for (let i = 0; i < length; i++) {
-                this.delarr.push(this.multipleSelection[i].id);
-              }
-              const newsIds = this.delarr.join(",");
-              deleteAllNews({ newsId: newsIds })
-                .then(() => {
-                  this.$notify({
-                    title: "成功",
-                    message: "删除成功",
-                    type: "success",
-                    duration: 2000,
-                  });
-                  this.getList();
-                })
-                .catch(() => {});
-            } else {
-              this.$notify({
-                title: "警告提示",
-                message: "请选择要删除的信息!",
-                type: "warning",
-              });
-            }
-          })
-          .catch(() => {});
-      },
-      handleSelectionChange(val) {
-        this.multipleSelection = val;
-      },
     }
     }
   }
   }
   </script>
   </script>