Browse Source

修改bug

Jing 1 tháng trước cách đây
mục cha
commit
47bc49feba
1 tập tin đã thay đổi với 77 bổ sung32 xóa
  1. 77 32
      src/views/news/creatNews.vue

+ 77 - 32
src/views/news/creatNews.vue

@@ -17,7 +17,7 @@
             <el-checkbox v-model="form.islink">是否使用外链</el-checkbox>
           </el-form-item>
           <div v-if="form.islink == true">
-            <el-form-item label="站点名称:" prop="cat_arr_id" class="custom-align-right">
+            <el-form-item label="站点名称:" prop="web_site_id" class="custom-align-right">
               <el-cascader :key="parentKey" v-model="form.web_site_id" placeholder="请选择站点名称" popper-class="my_cascader"
                 :options="creatNews_nav_pool_arr" @change="creatNews_nav_pool_change_fun(form.web_site_id)" filterable
                 clearable></el-cascader>
@@ -45,7 +45,7 @@
             </div>
             <div>
               <div v-if="creatNews_user_type == 10000">
-                <el-form-item label="站点名称:" prop="cat_arr_id" class="custom-align-right">
+                <el-form-item label="站点名称:" prop="web_site_id" class="custom-align-right">
                   <el-cascader :key="parentKey" v-model="form.web_site_id" placeholder="请选择站点名称"
                     popper-class="my_cascader" :options="creatNews_nav_pool_arr"
                     @change="creatNews_nav_pool_change_fun(form.web_site_id)" filterable clearable></el-cascader>
@@ -56,10 +56,10 @@
                     clearable></el-cascader>
                 </el-form-item>
               </div>
-              <el-form-item label="行政区划:" class="custom-align-right" prop="">
+              <el-form-item label="行政区划:" class="custom-align-right">
                 <CityCascader v-model="form.city_arr_id" @update-city-id="update_city_arr_id"></CityCascader>
               </el-form-item>
-              <el-form-item label="行政职能:" class="custom-align-right" prop="">
+              <el-form-item label="行政职能:" class="custom-align-right">
                 <el-cascader :key="searchDepartmentKey" v-model="form.department_arr_id" placeholder="请选择行政职能"
                   popper-class="my_cascader" :props="searchDepartmentData" filterable clearable></el-cascader>
               </el-form-item>
@@ -75,15 +75,11 @@
                 </el-form-item>
               </div>
               <el-form-item label="缩略图:" class="custom-align-right" prop="">
-                <div class="uploaderBox">
+                <div class="uploaderBox"  @mouseenter="hovering = true" mouseleave="hovering = false">
                   <el-upload class="avatar-uploader" action="#" :show-file-list="false"
                     :before-upload="beforeAvatarUpload">
-                    <!-- <img v-if="imgUrl" :src="imgUrl" class="avatar">
-                    <i v-else class="el-icon-plus avatar-uploader-icon"></i> -->
                     <!-- 预览图片 -->
                     <img v-if="imgUrl" :src="imgUrl" class="avatar">
-                    <!-- 上传图标 -->
-                    <!-- <i v-else class="el-icon-plus avatar-uploader-icon"></i> -->
                     <div v-else class="chooseImgDiv">
                       <div>
                         <img src="@/assets/public/upload/noImage.png">
@@ -93,6 +89,9 @@
                   </el-upload>
                   <input type="hidden" v-model="form.imgurl">
                   <span class="photo_tips">推荐图片长宽比例为 16:9,大小不能超过 500 K。</span>
+                  <div v-if="hovering && imgUrl" class="delete-button" @click="handleDelete">
+                    <i class="el-icon-delete"></i>
+                  </div>
                 </div>
               </el-form-item>
               <el-form-item label="资讯关键词:" prop="" class="custom-align-right">
@@ -316,9 +315,18 @@ export default {
         callback()
       }
     }
+    const validateZero = (rule, value, callback) => {
+      if (value == 0 || value == '' || value == "0") {
+        callback(new Error('该项不能为空!'))
+      } else {
+        callback()
+      }
+    }
     let self = this;
     //0.全局操作 end ------------------------------------------------------------>
     return {
+      logoUrl: '',
+      hovering: false, // 鼠标悬浮状态 悬浮时显示删除
       tags: [],//标签数组
       websiteid: 0,
       creatNews_pid_num: "0",//请求子导航用的pid
@@ -335,7 +343,7 @@ export default {
       creatNews_user_type: 0,//判断用户类型'
       form: {
         user_type: "??",//判断用户类型'
-        cat_arr_id: 0,//导航池名称
+        cat_arr_id: [],//导航池名称
         nav_add_pool_id: [],//导航池子级
         city_arr_id: [],//行政区划
         city_id: "",//区划最后一个数字
@@ -366,7 +374,7 @@ export default {
       //1.2 表单验证规则
       formRules: {
         //导航池名称不能为空
-        cat_arr_id: [{ required: true, trigger: 'blur', validator: validateArray }],
+        web_site_id: [{ required: true, trigger: 'blur', validator: validateZero }],
         //资讯名称不能为空
         title: [{ required: true, trigger: 'blur', validator: validateEmpty }],
         //如果使用了外链,外链地址不能为空
@@ -558,6 +566,11 @@ export default {
 
   },
   methods: {
+
+    handleDelete() {
+      // 删除图片
+      this.imgUrl = ''; // 清空图片 URL
+    },
     //---------------------------
     addInput(index) {
       // 在当前索引后插入一个新的输入框对象
@@ -624,8 +637,8 @@ export default {
           if (this.checked) {
             inputLists.push(allowList);
           }
-          if (inputLists.length <= 1) {
-            this.$message.error('投票答案必须大于1条');
+          if (inputLists.length < 2) {
+            this.$message.error('投票选项不少于2条');
             return;
           }
           this.form.suvey_array = JSON.stringify(inputLists);
@@ -637,26 +650,39 @@ export default {
       } else {
         this.form.islink = 0;
       }
+
+
       //如果推荐等级为空,则设置为0
-      if (this.form.level == "") {
+      if (this.form.level == "" || this.form.level == "[0]") {
         this.form.level = "[0]";
       } else {
         this.form.level = JSON.stringify(this.form.level);
       }
+
       //取出行政职能和行政区划数组的最后一个数字
-      if (JSON.parse(this.form.department_arr_id.length == 0)) {
+      if (this.form.department_arr_id == "[]" || this.form.department_arr_id == null) {
+        this.form.department_arr_id = '[]'
         this.form.department_id = 0;
       } else {
-        this.form.department_id = this.form.department_arr_id[this.form.department_arr_id.length - 1];
+        if (JSON.parse(this.form.department_arr_id.length == 0)) {
+          this.form.department_id = 0;
+        } else {
+          this.form.department_id = this.form.department_arr_id[this.form.department_arr_id.length - 1];
+        }
+        this.form.department_arr_id = JSON.stringify(this.form.department_arr_id);
+
       }
-      if (JSON.parse(this.form.city_arr_id.length == 0)) {
+      if (this.form.city_arr_id == "[]" || this.form.city_arr_id == null) {
+        this.form.city_arr_id = '[]'
         this.form.city_id = 0;
       } else {
-        this.form.city_id = this.form.city_arr_id[this.form.city_arr_id.length - 1];
+        if (JSON.parse(this.form.city_arr_id.length == 0)) {
+          this.form.city_id = 0;
+        } else {
+          this.form.city_id = this.form.city_arr_id[this.form.city_arr_id.length - 1];
+        }
+        this.form.city_arr_id = JSON.stringify(this.form.city_arr_id);
       }
-      //将department_id和city_id转换为字符串  
-      this.form.department_arr_id = JSON.stringify(this.form.department_arr_id);
-      this.form.city_arr_id = JSON.stringify(this.form.city_arr_id);
 
       //判断用户身份
       if (this.creatNews_user_type == 10000) {
@@ -671,6 +697,8 @@ export default {
       }
 
       //先进行验证
+      console.log(this.form);
+
       this.$refs.form.validate(valid => {
         if (valid) {
           //console.log(this.form)
@@ -789,9 +817,9 @@ export default {
           this.form.level = "";
         } else {
           const arr = JSON.parse(res.data.level);
-          const elementToRemove = 0;
-          this.form.level = arr.filter(item => item !== elementToRemove);
-          // this.form.level = JSON.parse(res.data.level);
+          const elementToRemove = [0, 3, 4, 5];
+          let newArr = arr.filter(item => !elementToRemove.includes(item));;
+          this.form.level = newArr;
         }
         //回显站点名称
         //判断web_site_id是否为字符串,如果是转换为数字
@@ -885,8 +913,8 @@ export default {
           if (this.checked) {
             inputLists.push(allowList);
           }
-          if (inputLists.length < 1) {
-            this.$message.error('投票答案必须大于2条');
+          if (inputLists.length < 2) {
+            this.$message.error('投票选项不少于2条');
             return;
           }
           this.form.suvey_array = JSON.stringify(inputLists);
@@ -904,19 +932,33 @@ export default {
       }
 
       //取出行政职能和行政区划数组的最后一个数字
-      if (JSON.parse(this.form.department_arr_id.length == 0)) {
+      if (this.form.department_arr_id == "[]" || this.form.department_arr_id == null) {
+        this.form.department_arr_id = '[]'
         this.form.department_id = 0;
       } else {
-        this.form.department_id = this.form.department_arr_id[this.form.department_arr_id.length - 1];
+        if (JSON.parse(this.form.department_arr_id.length == 0)) {
+          this.form.department_id = 0;
+        } else {
+          this.form.department_id = this.form.department_arr_id[this.form.department_arr_id.length - 1];
+        }
+        this.form.department_arr_id = JSON.stringify(this.form.department_arr_id);
+
       }
-      if (JSON.parse(this.form.city_arr_id.length == 0)) {
+      if (this.form.city_arr_id == "[]" || this.form.city_arr_id == null) {
+        this.form.city_arr_id = '[]'
         this.form.city_id = 0;
       } else {
-        this.form.city_id = this.form.city_arr_id[this.form.city_arr_id.length - 1];
+        if (JSON.parse(this.form.city_arr_id.length == 0)) {
+          this.form.city_id = 0;
+        } else {
+          this.form.city_id = this.form.city_arr_id[this.form.city_arr_id.length - 1];
+        }
+        this.form.city_arr_id = JSON.stringify(this.form.city_arr_id);
       }
+
       //将department_id和city_id转换为字符串  
-      this.form.department_arr_id = JSON.stringify(this.form.department_arr_id);
-      this.form.city_arr_id = JSON.stringify(this.form.city_arr_id);
+      // this.form.department_arr_id = JSON.stringify(this.form.department_arr_id);
+      // this.form.city_arr_id = JSON.stringify(this.form.city_arr_id);
       //添加要修改的id
       this.form.id = this.editId;
 
@@ -951,6 +993,9 @@ export default {
               this.cleatForm(2);
               //返回列表页
               this.returnPage()
+              console.log(this.form);
+
+              // this.form.level=JSON.parse(this.form.level);
             }
           }).catch(() => {
             this.$message({