浏览代码

简化代码,整合重复逻辑

DESKTOP-2S67K1S\31396 2 年之前
父节点
当前提交
aa2beeecc3

+ 4 - 10
src/views/content/banner/index.vue

@@ -12,7 +12,7 @@
       </el-form-item>
       <el-form-item label="当前状态:">
         <el-select v-model="form.status" placeholder="请选择当前状态">
-          <el-option v-for="item in statusOptions" :key="item.value" :label="item.label" :value="item.value" />
+          <el-option v-for="item in currentOptions" :key="item.value" :label="item.label" :value="item.value" />
         </el-select>
       </el-form-item>
       <el-form-item label="上/下架:">
@@ -67,9 +67,9 @@
 
 <script>
 import { page, changeStatus, remove } from '@/api/content/banner'
-import { disabledMixin } from '@/mixin/index'
+import { disabledMixin, currentMixin } from '@/mixin/index'
 export default {
-  mixins: [disabledMixin],
+  mixins: [disabledMixin, currentMixin],
   data() {
     return {
       // 遮罩层
@@ -82,12 +82,6 @@ export default {
       total: 0,
       // 列表
       tableData: [],
-      // 当前状态
-      statusOptions: [
-        { value: 0, label: '进行中' },
-        { value: 1, label: '未开始' },
-        { value: 2, label: '已过期' }
-      ],
       // 展示位置
       locationOptions: [{
         value: 1,
@@ -197,7 +191,7 @@ export default {
       return this.selectDictLabel(this.locationOptions, row.type)
     },
     currentFormatter(row) {
-      return this.selectDictLabel(this.statusOptions, row.currentStatus)
+      return this.selectDictLabel(this.currentOptions, row.currentStatus)
     }
   }
 }

+ 5 - 10
src/views/goods/list/index.vue

@@ -9,7 +9,7 @@
       </el-form-item>
       <el-form-item label="当前状态:">
         <el-select v-model="form.status" placeholder="请选择当前状态" clearable>
-          <el-option v-for="item in statusOptions" :key="item.value" :label="item.label" :value="item.value" />
+          <el-option v-for="item in currentOptions" :key="item.value" :label="item.label" :value="item.value" />
         </el-select>
       </el-form-item>
       <el-form-item label="商品名称:">
@@ -59,8 +59,9 @@
 <script>
 import { list, remove } from '@/api/goods/list'
 import { locMixin } from './mixin'
+import { currentMixin } from '@/mixin/index'
 export default {
-  mixins: [locMixin],
+  mixins: [locMixin, currentMixin],
   data() {
     return {
       // 遮罩层
@@ -72,13 +73,7 @@ export default {
       },
       // 列表
       tableData: [],
-      total: 0,
-      // 当前状态
-      statusOptions: [
-        { value: 0, label: '进行中' },
-        { value: 1, label: '未开始' },
-        { value: 2, label: '已过期' }
-      ]
+      total: 0
     }
   },
   mounted() {
@@ -143,7 +138,7 @@ export default {
     },
 
     statusFormatter(row) {
-      return this.selectDictLabel(this.statusOptions, row.status)
+      return this.selectDictLabel(this.currentOptions, row.status)
     }
   }
 }

+ 3 - 10
src/views/operation/recommend/index.vue

@@ -112,7 +112,7 @@
 
             <el-form-item label="封面模式:" v-if="isCustom(item)">
               <el-select v-model="item.isCustom" placeholder="选择封面模式">
-                <el-option v-for="item in customOptions" :key="item.value" :label="item.label"
+                <el-option v-for="item in coverOptions" :key="item.value" :label="item.label"
                   :value="Number(item.value)" />
               </el-select>
             </el-form-item>
@@ -228,10 +228,10 @@ import {
   removeList
 } from '@/api/operation/recommend'
 import Upload from '@/components/Upload/index'
-import { isFreeMixin, audioMixin, platformMixin, onOrOffMixin } from '@/mixin/index'
+import { isFreeMixin, audioMixin, platformMixin, onOrOffMixin, coverMixin } from '@/mixin/index'
 
 export default {
-  mixins: [isFreeMixin, audioMixin, platformMixin, onOrOffMixin],
+  mixins: [isFreeMixin, audioMixin, platformMixin, onOrOffMixin, coverMixin],
   components: {
     Upload
   },
@@ -376,13 +376,6 @@ export default {
         value: 6,
         label: 'H5外链'
       }],
-      customOptions: [{
-        value: 0,
-        label: '自定义封面'
-      }, {
-        value: 1,
-        label: '内容封面'
-      }],
       contentOptions: [{
         value: 0,
         label: '自动推荐内容'

+ 5 - 10
src/views/operation/startPage/index.vue

@@ -4,13 +4,12 @@
     <el-form inline size="mini">
       <el-form-item label="当前状态:">
         <el-select v-model="form.status" placeholder="请选择当前状态" clearable>
-          <el-option v-for="item in statusOptions" :key="item.value" :label="item.label" :value="item.value" />
+          <el-option v-for="item in currentOptions" :key="item.value" :label="item.label" :value="item.value" />
         </el-select>
       </el-form-item>
       <el-form-item label="跳转页面:">
         <el-select v-model="form.forwardType" placeholder="请选择跳转页面" clearable>
-          <el-option v-for="item in typeOptions" :key="item.value" :label="item.label"
-            :value="item.value" />
+          <el-option v-for="item in typeOptions" :key="item.value" :label="item.label" :value="item.value" />
         </el-select>
       </el-form-item>
       <el-form-item>
@@ -50,7 +49,9 @@
 
 <script>
 import { page, remove } from '@/api/operation/startPage'
+import { currentMixin } from '@/mixin/index'
 export default {
+  mixins: [currentMixin],
   data() {
     return {
       // 遮罩层
@@ -63,12 +64,6 @@ export default {
       // 列表
       tableData: [],
       total: 0,
-      // 当前状态
-      statusOptions: [
-        { value: 0, label: '进行中' },
-        { value: 1, label: '未开始' },
-        { value: 2, label: '已过期' }
-      ],
       // 跳转类型
       typeOptions: [{
         value: 0,
@@ -146,7 +141,7 @@ export default {
       return this.selectDictLabel(this.typeOptions, row.forwardType)
     },
     currentFormatter(row) {
-      return this.selectDictLabel(this.statusOptions, row.currentStatus)
+      return this.selectDictLabel(this.currentOptions, row.currentStatus)
     }
   }
 }