Browse Source

修改已知bug

DESKTOP-O04BTUJ\muzen 3 years ago
parent
commit
78bbc06e52
2 changed files with 47 additions and 19 deletions
  1. 46 18
      src/views/ohplay/content/index.vue
  2. 1 1
      src/views/operation/recommend/index.vue

+ 46 - 18
src/views/ohplay/content/index.vue

@@ -69,24 +69,24 @@
     <el-dialog :visible.sync="dialogVisible" :title="title" :before-close="cancel" width="600px">
       <!-- 推荐 -->
       <div v-if="title === '推荐'">
-        <el-form label-width="100px">
-          <el-form-item label="推荐位置:">
+        <el-form :model="dialogForm" ref="dialogForm" :rules="rules" label-width="100px">
+          <el-form-item label="推荐位置:" prop="tagId">
             <el-select v-model="dialogForm.tagId" placeholder="请选择推荐位置">
               <el-option v-for="item in locationOptions" :key="item.value" :label="item.label"
                 :value='item.value' />
             </el-select>
           </el-form-item>
-          <el-form-item label="推荐权重:">
+          <el-form-item label="推荐权重:" prop="weight">
             <el-input-number v-model="dialogForm.weight" :min="0" :max="10" />
           </el-form-item>
-          <el-form-item label="权重唯一:">
+          <el-form-item label="权重唯一:" prop="isOnlyWeight">
             <el-select v-model="dialogForm.isOnlyWeight" placeholder="权重是否唯一">
               <el-option v-for="item in dict.type.hot_yes_no" :key="item.value" :label="item.label"
                 :value="item.value" />
             </el-select>
           </el-form-item>
-          <el-form-item label="推荐日期:">
-            <el-date-picker v-model="dialogDate" type="datetimerange" start-placeholder="开始时间"
+          <el-form-item label="推荐日期:" prop="dialogDate">
+            <el-date-picker v-model="dialogForm.dialogDate" type="datetimerange" start-placeholder="开始时间"
               end-placeholder="结束时间" value-format="yyyy-MM-dd HH:mm:ss" />
           </el-form-item>
         </el-form>
@@ -202,8 +202,12 @@ export default {
       // 弹窗列表
       dialogList: {},
       // 推荐表单
-      dialogForm: {},
-      dialogDate: [],
+      dialogForm: {
+        tagId: '',
+        weight: 0,
+        isOnlyWeight: '',
+        dialogDate: [],
+      },
       // 推荐位置
       locationOptions: [
         { value: 5, label: '推荐' },
@@ -221,7 +225,22 @@ export default {
       statusOptions: [
         { value: 0, label: '显示' },
         { value: 1, label: '隐藏' }
-      ]
+      ],
+      // 校验
+      rules: {
+        tagId: [{
+          required: true, message: '请选择推荐位置', trigger: 'change'
+        }],
+        weight: [{
+          required: true, message: '请选择推荐权重', trigger: 'change'
+        }],
+        isOnlyWeight: [{
+          required: true, message: '请选择是否唯一', trigger: 'change'
+        }],
+        dialogDate: [{
+          required: true, message: '请选择推荐日期', trigger: 'change'
+        }]
+      }
     }
   },
   watch: {
@@ -229,7 +248,7 @@ export default {
       this.form.startDate = val[0]
       this.form.endDate = val[1]
     },
-    dialogDate(val) {
+    'dialogForm.dialogDate'(val) {
       this.dialogForm.startRecommendTime = val[0]
       this.dialogForm.endRecommendTime = val[1]
     }
@@ -249,11 +268,13 @@ export default {
         }
       })
     },
+
     // 搜索
     getSearch() {
       this.form.pageNum = 1
       this.getList()
     },
+
     // 重置
     getRefresh() {
       this.form = {
@@ -263,6 +284,7 @@ export default {
       this.date = []
       this.getList()
     },
+
     // 详情
     getDetail(row) {
       detail(row.id).then(res => {
@@ -271,6 +293,7 @@ export default {
         }
       })
     },
+
     // 隐藏或显示
     getChange(row, type) {
       showOrHide(row.id, type).then(res => {
@@ -284,7 +307,6 @@ export default {
         }
       })
     },
-
     getCommentChange(row, type) {
       commentShowOrHide(row.id, type).then(res => {
         let tip = type === 0 ? '显示' : '隐藏'
@@ -297,19 +319,25 @@ export default {
 
     // 确定
     getSubmit() {
-      recommend(this.dialogForm).then(res => {
-        if (res.code === 0) {
-          this.$message.success('推荐成功!')
-          this.dialogVisible = false
-          this.getList()
+      this.$refs.dialogForm.validate((valid) => {
+        if (valid) {
+          delete this.dialogForm.dialogDate
+          recommend(this.dialogForm).then(res => {
+            if (res.code === 0) {
+              this.$message.success('推荐成功!')
+              this.dialogVisible = false
+              this.getList()
+            }
+          })
+        } else {
+          return false
         }
       })
     },
 
     // 取消
     cancel() {
-      this.dialogForm = {}
-      this.dialogDate = []
+      this.$refs.dialogForm.resetFields();
       this.dialogVisible = false
     }
   }

+ 1 - 1
src/views/operation/recommend/index.vue

@@ -525,7 +525,7 @@ export default {
     // 清空
     getEmpty(item) {
       Object.keys(item).map(key => {
-        if (key !== 'id' && key !== 'moduleId') {
+        if (key !== 'id' && key !== 'moduleId' && key !== 'sort') {
           item[key] = key === 'childList' ? [] : ''
         }
       })