Ver Fonte

fix: 管理后台任务状态与后端统一

- 搜索、表格、编辑表单状态统一为: 筹备中/上架/下架/已结束
- 使用 statusMap 替代硬编码的状态展示
urban há 2 semanas atrás
pai
commit
7994ac5ad9
1 ficheiros alterados com 16 adições e 6 exclusões
  1. 16 6
      src/views/daytask/task/taskList.vue

+ 16 - 6
src/views/daytask/task/taskList.vue

@@ -12,8 +12,10 @@
         </el-form-item>
         <el-form-item label="状态">
           <el-select v-model="searchForm.status" placeholder="状态" clearable style="width:100px">
-            <el-option label="启用" :value="1" />
-            <el-option label="禁用" :value="0" />
+            <el-option label="筹备中" :value="0" />
+            <el-option label="上架" :value="1" />
+            <el-option label="下架" :value="2" />
+            <el-option label="已结束" :value="3" />
           </el-select>
         </el-form-item>
         <div class="operation">
@@ -68,8 +70,8 @@
         <el-table-column prop="sort" label="排序" align="center" width="70" />
         <el-table-column prop="status" label="状态" align="center" width="80">
           <template #default="{ row }">
-            <el-tag :type="row.status === 1 ? 'success' : 'danger'">
-              {{ row.status === 1 ? '启用' : '禁用' }}
+            <el-tag :type="statusMap[row.status]?.type || 'info'">
+              {{ statusMap[row.status]?.label || '未知' }}
             </el-tag>
           </template>
         </el-table-column>
@@ -171,8 +173,10 @@
       </el-form-item>
       <el-form-item label="状态" prop="status">
         <el-radio-group v-model="formData.status">
-          <el-radio :value="1">启用</el-radio>
-          <el-radio :value="0">禁用</el-radio>
+          <el-radio :value="0">筹备中</el-radio>
+          <el-radio :value="1">上架</el-radio>
+          <el-radio :value="2">下架</el-radio>
+          <el-radio :value="3">已结束</el-radio>
         </el-radio-group>
       </el-form-item>
     </el-form>
@@ -341,6 +345,12 @@ import {
 import { uploadImg } from "@/api/modules/upload.js";
 import WangEditor from "@/components/WangEditor/index.vue";
 
+const statusMap = {
+  0: { label: '筹备中', type: 'warning' },
+  1: { label: '上架', type: 'success' },
+  2: { label: '下架', type: 'danger' },
+  3: { label: '已结束', type: 'info' }
+};
 const searchForm = ref({ title: null, category_id: null, status: null });
 const tableData = ref([]);
 const pageable = reactive({ pageNum: 1, pageSize: 30, total: 0 });