Эх сурвалжийг харах

修改投诉举报的bug

修改投诉举报的bug
Sean 4 сар өмнө
parent
commit
639b2299ea

+ 2 - 2
src/utils/baseUrl.js

@@ -1,6 +1,6 @@
 const URL = {
-  //baseUrl: 'https://admin.bjzxtw.org.cn/zxtapi',//正式环境
-  baseUrl: 'http://183.131.25.186:9501',//测试环境
+  baseUrl: 'https://admin.bjzxtw.org.cn/zxtapi',//正式环境
+  //baseUrl: 'http://183.131.25.186:9501',//测试环境
   //baseUrl: 'http://192.168.1.201:9501',//刘佳伟本地环境
   //baseUrl:'http://192.168.1.115:9501',//冯蕊的本地环境
   //baseUrl: 'http://192.168.1.127:9501',//刘剑的本地环境

+ 269 - 212
src/views/complaint/complaintList.vue

@@ -10,50 +10,7 @@
               <el-select v-model="getApiData.nature" placeholder="请选择.." @change="getNatureChildren">
                 <el-option
                   v-for="item in natureData"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value">
-                </el-option>
-              </el-select>
-            </div>
-          </el-col>
-          <el-col :span="8">
-            <div class="searchBox">
-              <div class="searchTitle">性质进度:</div>
-              <el-select v-model="getApiData.nature_level" placeholder="请选择">
-                <el-option
-                  v-for="item in netureLevelData"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value">
-                </el-option>
-              </el-select>
-            </div>
-          </el-col>
-          <el-col :span="8">
-            <div class="searchBox">
-              <div class="searchTitle">类型:</div>
-              <el-select v-model="getApiData.type" placeholder="请选择.." @change="getTypeChildren">
-                <el-option
-                  v-for="item in typeData"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value">
-                </el-option>
-              </el-select>
-            </div>
-          </el-col>
-        </el-row>
-      </div>
-      <div class="layerBoxLineTwo">
-        <el-row>
-          <el-col :span="8">
-            <div class="searchBox">
-              <div class="searchTitle">类型进度:</div>
-              <el-select v-model="getApiData.type_level" placeholder="请选择">
-                <el-option
-                  v-for="item in typeLevelData"
-                  :key="item.value"
+                  :key="item.id"
                   :label="item.label"
                   :value="item.value">
                 </el-option>
@@ -93,10 +50,10 @@
           <el-table :data="tableData" style="width: 100%">
             <el-table-column fixed prop="id" label="编号" width="50"></el-table-column>
             <el-table-column prop="title" label="标题"></el-table-column>
-            <el-table-column prop="nature_name" label="性质"></el-table-column>
-            <el-table-column prop="nature_level_name" label="进度"></el-table-column>
+            <el-table-column prop="nature_name" label="类型"></el-table-column>
+            <!-- <el-table-column prop="nature_level_name" label="进度"></el-table-column>
             <el-table-column prop="type_name" label="类型"></el-table-column>
-            <el-table-column prop="type_level_name" label="类型说明"></el-table-column>
+            <el-table-column prop="type_level_name" label="类型说明"></el-table-column> -->
             <el-table-column label="判决书">
               <template slot-scope="scope">
                 {{ scope.row.judgment ? '有' : '无' }}
@@ -156,50 +113,70 @@
           <el-form-item label="标题:" :label-width="formLabelWidth" prop="" class="custom-align-right">
             <el-input v-model="form.title" autocomplete="off" disabled></el-input>
           </el-form-item>
-          <el-form-item label="性质:" :label-width="formLabelWidth" prop="nature" class="custom-align-right">
-            <div class="formLabelFloatBox">
-              <el-select v-model="form.nature" placeholder="请选择.." @change="getWindowNatureChildren">
-                <el-option
-                  v-for="item in windowNatureData"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value">
-                </el-option>
-              </el-select>
-            </div>
-          </el-form-item>
-          <el-form-item label="性质进度:" :label-width="formLabelWidth" prop="nature_level" class="custom-align-right">
-            <el-select v-model="form.nature_level" placeholder="请选择">
-              <el-option
-                v-for="item in windowNetureLevelData"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value">
-              </el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="类型:" :label-width="formLabelWidth" prop="type" class="custom-align-right">
-            <el-select v-model="form.type" placeholder="请选择.." @change="getWindowTypeChildren">
-              <el-option
-                v-for="item in typeData"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value">
-              </el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="类型进度:" :label-width="formLabelWidth" prop="type_level" class="custom-align-right">
-            <el-select v-model="form.type_level" placeholder="请选择">
-              <el-option
-                v-for="item in windowTypeLevelData"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value">
-              </el-option>
-            </el-select>
+          <el-form-item label="类型:" :label-width="formLabelWidth" prop="" class="custom-align-right">
+            <template>
+              <div class="natureRadioBox">
+                <div>
+                  <el-radio-group v-model="form.nature">
+                    <el-radio :label="item.id" v-for="item in windowNatureData" :key="item.id" @change="clearCheck">{{item.type_name}}</el-radio>
+                  </el-radio-group>
+                </div>
+                <!--民事-->
+                <div v-if="form.nature==1" class="natureRadioBoxItem">
+                  <el-radio-group v-model="form.nature_level0">
+                    <el-radio :label="item.id" v-for="item in windowNatureData[0].children[0].children" :key="item.id">{{item.type_name}}</el-radio>
+                  </el-radio-group>
+                </div>
+                <div v-if="form.nature==1" class="natureRadioBoxItem">
+                  <el-radio-group v-model="form.nature_level1">
+                    <el-radio :label="item.id" v-for="item in windowNatureData[0].children[1].children" :key="item.id">{{item.type_name}}</el-radio>
+                  </el-radio-group>
+                </div>
+                <div class="natureRadioBoxItemOther" v-if="form.nature==1&&form.nature_level1==24">
+                  <el-input v-model="form.other" placeholder="请输入"></el-input>
+                </div>
+                <!--刑事-->
+                <div v-if="form.nature==5" class="natureRadioBoxItem">
+                  <el-radio-group v-model="form.nature_level0">
+                    <el-radio :label="item.id" v-for="item in windowNatureData[1].children[0].children" :key="item.id">{{item.type_name}}</el-radio>
+                  </el-radio-group>
+                </div>
+                <div v-if="form.nature==5" class="natureRadioBoxItem">
+                  <el-radio-group v-model="form.nature_level1">
+                    <el-radio :label="item.id" v-for="item in windowNatureData[1].children[1].children" :key="item.id">{{item.type_name}}</el-radio>
+                  </el-radio-group>
+                </div>
+                <div class="natureRadioBoxItemOther" v-if="form.nature==5&&form.nature_level1==29">
+                  <el-input v-model="form.other" placeholder="请输入"></el-input>
+                </div>
+                <div v-if="form.nature_level0==14&&form.nature==5" class="natureRadioBoxItem">
+                  <el-radio-group v-model="form.nature_level3">
+                    <el-radio :label="item.id" v-for="item in windowNatureData[1].children[0].children[2].children" :key="item.id">{{item.type_name}}</el-radio>
+                  </el-radio-group>
+                </div>
+                <!--行政-->
+                <div v-if="form.nature==15" class="natureRadioBoxItem">
+                  <el-radio-group v-model="form.nature_level0">
+                    <el-radio :label="item.id" v-for="item in windowNatureData[2].children[0].children" :key="item.id">{{item.type_name}}</el-radio>
+                  </el-radio-group>
+                </div>
+                <div class="natureRadioBoxItemOther" v-if="form.nature==15&&form.nature_level0==122">
+                  <el-input v-model="form.other" placeholder="请输入"></el-input>
+                </div>
+                <!--非讼-->
+                <div v-if="form.nature==104" class="natureRadioBoxItem">
+                  <el-radio-group v-model="form.nature_level0">
+                    <el-radio :label="item.id" v-for="item in windowNatureData[3].children[0].children" :key="item.id">{{item.type_name}}</el-radio>
+                  </el-radio-group>
+                </div>
+                <div class="natureRadioBoxItemOther" v-if="form.nature==104&&form.nature_level0==36">
+                  <el-input v-model="form.other" placeholder="请输入"></el-input>
+                </div>
+              </div>
+            </template>
           </el-form-item>
           <el-form-item label="详细说明:" :label-width="formLabelWidth" prop="" class="custom-align-right">
-            <el-input type="textarea" v-model="form.describe" class="custom-textarea" disabled placeholder="请输入详细说明"></el-input>
+            <el-input type="textarea" v-model="form.describe" rows="8" class="custom-textarea" disabled placeholder="请输入详细说明"></el-input>
           </el-form-item>
           <el-form-item label="判决书:" :label-width="formLabelWidth" prop="" class="custom-align-right">
             <div v-if="form.judgment" @click="downloadFile(form.judgment)" class="complaintListdownloadBtn">
@@ -235,7 +212,7 @@
           <el-form-item label="姓名:" :label-width="formLabelWidth" prop="" class="custom-align-right">
             <el-input v-model="form.name" autocomplete="off" disabled placeholder="请输入姓名"></el-input>
           </el-form-item>
-          <el-form-item label="身份证号:" :label-width="formLabelWidth" prop="" class="custom-align-right">
+          <el-form-item label="身份证号:" :label-width="formLabelWidth" prop="id_card" class="custom-align-right">
             <el-input v-model="form.id_card" autocomplete="off" disabled placeholder="请输入身份证号"></el-input>
           </el-form-item>
           <el-form-item label="期待学习法律:" :label-width="formLabelWidth" prop="" class="custom-align-right">
@@ -294,6 +271,9 @@ export default {
         callback()
       }
     }
+    const validateNull = (rule,value,callback) => {
+      callback()
+    }
     let self = this;
     //0.全局操作 end ------------------------------------------------------------>
 
@@ -337,10 +317,10 @@ export default {
       //3.1 表单收集的数据
       form: {
         title:"",//标题
-        nature:"",//性质
-        nature_level:"",//进度
-        type:"",//类型
-        type_level:"",//类型进度
+        //nature:"",//性质
+        //nature_level:"",//进度
+        //type:"",//类型
+        //type_level:"",//类型进度
         describe:"",//详细说明
         judgment:"",//判决书
         audio_and_video:"",//录音录像
@@ -352,11 +332,22 @@ export default {
         status:"100",//状态
         like_remark:"",//你最想了解的法律知识
         reason:"",//备注信息
+        //编辑性质和数字
+        nature:0,//性质
+        nature_level0:0,//进度
+        nature_level1:0,//性质
+        nature_level3:0,//类型进度
+        //编辑类型和进度文字
+        nature_name:"",//类型
+        nature_name0:"",//进度
+        nature_name1:"",//性质
+        nature_name3:"",//类型进度
+        other:""
       },
-      windowNatureData:[],//所有性质
-      windowNetureLevelData:[],//所有进度
-      windowTypeData:[],//所有类型
-      windowTypeLevelData:[],//所有类型进度
+      windowNatureData:[],//所有性质与进度
+      // windowNetureLevelData:[],//所有进度
+      // windowTypeData:[],//所有类型
+      // windowTypeLevelData:[],//所有类型进度
       windowStatusData:[],//所有状态 
       //3.2表单验证规则
       formRules: {
@@ -370,6 +361,8 @@ export default {
         type_level:[{required:true,trigger:'blur',validator:validateEmpty}],
         //状态不能为空
         status:[{required:true,trigger:'blur',validator:validateEmpty}],
+        //身份证不能为空
+        id_card:[{required:true,trigger:'blur',validator:validateNull}],
       },
       //弹出框中的表单设置 end ------------------------------------------------------------>
     }
@@ -426,29 +419,31 @@ export default {
           //搜索栏
           this.natureData.push(data)
           //弹窗框
-          this.windowNatureData.push(data)
+          //this.windowNatureData.push(data)
         }
         //暂存所有性质进度
         this.allNetureLevelData = res.data;
+        //再窗口里面也存一份
+        this.windowNatureData = res.data;
       })
       //获取类型和类型说明
-      let getType = {
-        type:2
-      }
-      this.$store.dispatch('complaint/getLetterType',getType).then(res=> {
-        for(let item of res.data){
-          let data = {
-            value: item.id,
-            label: item.type_name
-          }
-          //搜索栏
-          this.typeData.push(data)
-          //弹窗框
-          this.windowTypeData.push(data)
-        }
-        //暂存所有类型进度
-        this.allTypeLevelData = res.data;
-      })
+      // let getType = {
+      //   type:2
+      // }
+      // this.$store.dispatch('complaint/getLetterType',getType).then(res=> {
+      //   for(let item of res.data){
+      //     let data = {
+      //       value: item.id,
+      //       label: item.type_name
+      //     }
+      //     //搜索栏
+      //     this.typeData.push(data)
+      //     //弹窗框
+      //     this.windowTypeData.push(data)
+      //   }
+      //   //暂存所有类型进度
+      //   this.allTypeLevelData = res.data;
+      // })
       //获取状态
       let getStatus = {
         type:10
@@ -482,84 +477,84 @@ export default {
           label: item.type_name
         }
         //搜索栏  
-        this.netureLevelData.push(data)
-      }
-    },
-    getTypeChildren(val) {
-      this.getApiData.type_level = "";
-      this.typeLevelData = [];
-      console.log(val);
-      const selectedItem = this.allTypeLevelData.find(item => item.id === val);
-      console.log(selectedItem)
-      for(let item of selectedItem.children){
-        let data = {
-          value: item.id,
-          label: item.type_name
-        }
-        //搜索栏  
-        this.typeLevelData.push(data)
+        //this.netureLevelData.push(data)
       }
     },
+    // getTypeChildren(val) {
+    //   this.getApiData.type_level = "";
+    //   this.typeLevelData = [];
+    //   console.log(val);
+    //   const selectedItem = this.allTypeLevelData.find(item => item.id === val);
+    //   console.log(selectedItem)
+    //   for(let item of selectedItem.children){
+    //     let data = {
+    //       value: item.id,
+    //       label: item.type_name
+    //     }
+    //     //搜索栏  
+    //     this.typeLevelData.push(data)
+    //   }
+    // },
 
     //弹出框中的
-    getWindowNatureChildren(val) {
-      this.form.nature_level = "";
-      this.windowNetureLevelData = [];
-      console.log(val);
-      // 从 allNetureLevelData 中找到 id 与 val 相同的对象
-      const selectedItem = this.allNetureLevelData.find(item => item.id === val);
-      console.log(selectedItem)
-      for(let item of selectedItem.children){
-        let data = {
-          value: item.id,
-          label: item.type_name
-        } 
-        this.windowNetureLevelData.push(data)
-      }
-    },
-    getWindowTypeChildren(val) {
-      this.form.type_level = "";
-      this.windowTypeLevelData = [];
-      console.log(val);
-      const selectedItem = this.allTypeLevelData.find(item => item.id === val);
-      console.log(selectedItem)
-      for(let item of selectedItem.children){
-        let data = {
-          value: item.id,
-          label: item.type_name
-        }
-        //搜索栏  
-        this.windowTypeLevelData.push(data)
-      }
-    },
+    // getWindowNatureChildren(val) {
+    //   this.form.nature_level = "";
+    //   this.windowNetureLevelData = [];
+    //   console.log(val);
+    //   // 从 allNetureLevelData 中找到 id 与 val 相同的对象
+    //   const selectedItem = this.allNetureLevelData.find(item => item.id === val);
+    //   console.log(selectedItem)
+    //   for(let item of selectedItem.children){
+    //     let data = {
+    //       value: item.id,
+    //       label: item.type_name
+    //     } 
+    //     this.windowNetureLevelData.push(data)
+    //   }
+    // },
+    // getWindowTypeChildren(val) {
+    //   this.form.type_level = "";
+    //   this.windowTypeLevelData = [];
+    //   console.log(val);
+    //   const selectedItem = this.allTypeLevelData.find(item => item.id === val);
+    //   console.log(selectedItem)
+    //   for(let item of selectedItem.children){
+    //     let data = {
+    //       value: item.id,
+    //       label: item.type_name
+    //     }
+    //     //搜索栏  
+    //     this.windowTypeLevelData.push(data)
+    //   }
+    // },
     //回显数据
-    returnWindowNatureChildren(val) {
-      console.log(val);
-      const selectedItem = this.allNetureLevelData.find(item => item.id === val);
-      console.log(selectedItem)
-      for(let item of selectedItem.children){
-        let data = {
-          value: item.id,
-          label: item.type_name
-        } 
-        this.windowNetureLevelData.push(data)
-      }
-    },
-    returnWindowTypeChildren(val) {
-      this.form.type_level = "";
-      this.windowTypeLevelData = [];
-      console.log(val);
-      const selectedItem = this.allTypeLevelData.find(item => item.id === val);
-      console.log(selectedItem)
-      for(let item of selectedItem.children){
-        let data = {
-          value: item.id,
-          label: item.type_name
-        }
-        //搜索栏  
-        this.windowTypeLevelData.push(data)
-      }
-    },
+    // returnWindowNatureChildren(val) {
+    //   console.log(val);
+    //   const selectedItem = this.allNetureLevelData.find(item => item.id === val);
+    //   console.log(selectedItem)
+    //   for(let item of selectedItem.children){
+    //     let data = {
+    //       value: item.id,
+    //       label: item.type_name
+    //     } 
+    //     this.windowNetureLevelData.push(data)
+    //   }
+    // },
+    // returnWindowTypeChildren(val) {
+    //   this.form.type_level = "";
+    //   this.windowTypeLevelData = [];
+    //   console.log(val);
+    //   const selectedItem = this.allTypeLevelData.find(item => item.id === val);
+    //   console.log(selectedItem)
+    //   for(let item of selectedItem.children){
+    //     let data = {
+    //       value: item.id,
+    //       label: item.type_name
+    //     }
+    //     //搜索栏  
+    //     this.windowTypeLevelData.push(data)
+    //   }
+    // },
     // 获取子进度 可优化 end---------------------------------------->
 
     //1.2 列表内容分页
@@ -667,14 +662,27 @@ export default {
           console.log(data)
           this.editId = data.id;
           this.form.title = data.title;
+
           //还原性质
-          this.form.nature = data.nature;
-          this.returnWindowNatureChildren(data.nature);
-          this.form.nature_level = data.nature_level;
+          // this.form.nature = data.nature;
+          // this.returnWindowNatureChildren(data.nature);
+          // this.form.nature_level = data.nature_level;
           //还原类型
-          this.form.type = data.type;
-          this.returnWindowTypeChildren(data.type);
-          this.form.type_level = data.type_level;
+          // this.form.type = data.type;
+          // this.returnWindowTypeChildren(data.type);
+          // this.form.type_level = data.type_level;
+
+          this.form.nature = data.nature;
+          this.form.nature_level0 = data.nature_level0;
+          this.form.nature_level1 = data.nature_level1;
+          this.form.nature_level3 = data.nature_level3;
+          //编辑类型和进度文字
+          this.form.nature_name = data.nature_name;
+          this.form.nature_name0 = data.nature_name0;
+          this.form.nature_name1 = data.nature_name1;
+          this.form.nature_name3 = data.nature_name3;
+          this.form.other = data.other;
+
           //详细说明
           this.form.describe = data.describe;
           this.form.judgment = data.judgment;
@@ -732,12 +740,37 @@ export default {
       })
 
     },
+    //清理单选状态
+    clearCheck(){
+      console.log("清理单选状态")
+      this.form.nature_level1 = "";
+      this.form.nature_level3 = "";
+      this.form.nature_name = "";
+      this.form.nature_name0 = "";
+      this.form.nature_name1 = "";
+      this.form.nature_name3 = "";
+      this.form.other = "";
+    },
     //提交编辑
     editData(){
+      //判断什么时候需要需要提交other
+      // if(this.form.nature_level1!=24||this.form.nature_level1!=29||this.form.nature_level0!=122||this.form.nature_level0!=36){
+      //   this.form.other = "";
+      // }
+
       let data = {
         id:this.editId,
+        //提交编辑
         nature:this.form.nature,
-        nature_level:this.form.nature_level,
+        nature_level0:this.form.nature_level0,
+        nature_level1:this.form.nature_level1,
+        nature_level3:this.form.nature_level3,
+        // nature_name:this.form.nature_name,
+        // nature_name0:this.form.nature_name0,
+        // nature_name1:this.form.nature_name1,
+        // nature_name3:this.form.nature_name3,
+        other:this.form.other,
+
         type:this.form.type,
         type_level:this.form.type_level,
         status:this.form.status,
@@ -774,20 +807,44 @@ export default {
 </script>
 
 <style scoped lang="less">
-//表单微调 start------------------------------------------------------------>*/
-::v-deep .custom-form-item > .el-form-item__label {
-  line-height: 140px !important;
-}
-::v-deep .custom-textarea .el-textarea__inner {
-  resize: none; /* 禁止用拖拽调整大小 */
-}
-::v-deep .custom-align-right .el-form-item__label {
-  text-align: right; /* 设置标签文字右对齐 */
-}
-::v-deep .el-select-group__title {
-  color: #909399;
-}
-::v-deep .el-select {
-  width: 100% !important;
-}
+  .natureRadioBox{
+    .natureRadioBoxItem{
+      border: 1px solid #dfe4ed;
+      border-radius: 4px;
+      padding: 10px 10px 0 10px;
+      margin-bottom: 10px;
+      background: #F5F7FA;
+      label {
+        margin-bottom: 10px;
+      }
+    }
+    .natureRadioBoxItemOther{
+      border: 1px solid #dfe4ed;
+      border-radius: 4px;
+      padding: 10px;
+      margin-bottom: 10px;
+      background: #F5F7FA;
+    }
+  }
+
+
+  //表单微调 start------------------------------------------------------------>*/
+  ::v-deep .natureRadioBoxItem .el-radio {
+    margin-bottom: 10px !important;
+  }
+  ::v-deep .custom-form-item > .el-form-item__label {
+    line-height: 140px !important;
+  }
+  ::v-deep .custom-textarea .el-textarea__inner {
+    resize: none; /* 禁止用拖拽调整大小 */
+  }
+  ::v-deep .custom-align-right .el-form-item__label {
+    text-align: right; /* 设置标签文字右对齐 */
+  }
+  ::v-deep .el-select-group__title {
+    color: #909399;
+  }
+  ::v-deep .el-select {
+    width: 100% !important;
+  }
 </style>