浏览代码

CRM—14.0 测试bug修复

hbchen 1 年之前
父节点
当前提交
dd574e3d3d

+ 2 - 0
src/main.js

@@ -35,6 +35,8 @@ require('froala-editor/css/froala_style.min.css');
 // Import Froala Editor css files.
 import 'froala-editor/css/froala_editor.pkgd.min.css';
 import 'froala-editor/css/plugins/quick_insert.css';
+// froala-editor 预览时的样式,如需使用在展示富文本的节点上加上 .fr-view 的类
+import 'froala-editor/css/froala_style.min.css'
 
 // Import and use Vue Froala lib.
 import VueFroala from 'vue-froala-wysiwyg';

+ 0 - 32
src/styles/index.scss

@@ -29,35 +29,3 @@ $color_green:#67C23A;
   color: #3994fb;
   background-color: #dcecfc;
 }
-
-// froala富文本编辑器图片居中、居左、居右样式类
-img.fr-dib {
-  margin: 5px auto;
-  display: block;
-  float: none;
-  vertical-align: top;
-}
-img.fr-dib.fr-fil {
-  margin-left: 0;
-  text-align: left;
-}
-img.fr-dib.fr-fir {
-  margin-right: 0;
-  text-align: right;
-}
-
-// froala富文本编辑器 视频居中、居左、居右样式类
-.fr-video {
-  text-align: center;
-  position: relative;
-}
-.fr-video.fr-dvb {
-  display: block;
-  clear: both;
-}
-.fr-video.fr-dvb.fr-fvl {
-  text-align: left;
-}
-.fr-video.fr-dvb.fr-fvr {
-  text-align: right;
-}

+ 1 - 1
src/views/system_manage/assistance_center/assistanceCenter.vue

@@ -121,7 +121,7 @@ import { assistanceDocInterence } from '../../../api/modules/assistanceDoc';
       },
       pageChange(page_no){
         this.queryParams.CurrentIndex=page_no
-        this.handlSearchClassify()
+        this.getDocumentList()
       },
       goDetail(item){
         this.$router.push({path:"/assistanceDocDetail",query:{DocId:item.Id}})

+ 21 - 11
src/views/system_manage/assistance_center/assistanceDocAdd.vue

@@ -11,9 +11,9 @@
     </div>
     <div class="edit-container-document-options">
       <div class="document-options-button-box">
-        <el-button type="primary" class="document-options-button" @click="previewDocument">预览</el-button>
-        <el-button type="primary" class="document-options-button" @click="saveDocument('保存')">保存</el-button>
-        <el-button type="primary" class="document-options-button" @click="saveDocument('发布')">发布</el-button>
+        <el-button type="primary" class="document-options-button" @click="previewDocument" v-loading="isSubmiting">预览</el-button>
+        <el-button type="primary" class="document-options-button" @click="saveDocument('保存')" v-loading="isSubmiting">保存</el-button>
+        <el-button type="primary" class="document-options-button" @click="saveDocument('发布')" v-loading="isSubmiting">发布</el-button>
       </div>
       <div class="document-options-form">
         <el-form :model="addDocForm" ref="addDocForm" :rules="addDocRules">
@@ -142,7 +142,8 @@ import {createBottomHref} from "./utils/common"
           ClassifyId:{required:true,message:'文章所属分类不能为空',trigger:'change'},
           Author:{required:true,message:'文章作者不能为空',trigger:'blur'}
         },
-        anchorData:[]
+        anchorData:[],
+        isSubmiting:false,
       }
     },
     created() {
@@ -188,8 +189,8 @@ import {createBottomHref} from "./utils/common"
         frontH1Posiiton = this.addDocForm.Content.indexOf('<h1',searchPosition)
         // 右闭合标签
         frontH1RightPosiiton = this.addDocForm.Content.indexOf('>',frontH1Posiiton)
-        // 对应的</h1>的位置
-        backH1Posiiton = this.addDocForm.Content.indexOf('</h1>',frontH1Posiiton)
+        // 对应的</h1>的位置 原本用的</h1>,后来发现> 和 </h1>之间会掺其他标签
+        backH1Posiiton = this.addDocForm.Content.indexOf('<',frontH1RightPosiiton)
 
         if(frontH1Posiiton == -1) return 
 
@@ -215,8 +216,8 @@ import {createBottomHref} from "./utils/common"
         while (!(H2Posiiton==-1 || H2Posiiton>nextH1Posiiton)) {
           // 右闭合标签
           H2RightPosiiton = this.addDocForm.Content.indexOf('>',H2Posiiton)
-          // 对应的</h1>的位置
-          backH2Posiiton = this.addDocForm.Content.indexOf('</h2>',H2Posiiton)
+          // 对应的</h2>的位置  原本用的</h2>,后来发现> 和 </h2>之间会掺其他标签
+          backH2Posiiton = this.addDocForm.Content.indexOf('<',H2RightPosiiton)
           // 找到了,并且位置小于下一个h1的位置 
           let anchorTextH2=`id="doc_anchor_${firstLevel}_${secondLevel}"`
           // console.log(H2Posiiton,secondLevel,'secondLevel');
@@ -247,7 +248,8 @@ import {createBottomHref} from "./utils/common"
       },
       previewDocument(){
         // this.addDocForm.Content=`<p>范德萨发的刚发的</p><p>刚发的g梵蒂冈</p><p>割发代首刚发的</p><hr><h1>1. 个刚发的施工方</h1><p>刚发的刚发的g规范的施工方都是割发代首规范</p><h2>1.1. 规范的三个富士达割发代首</h2><p>个梵蒂冈是梵蒂冈讽德诵功范德萨割发代首个割发代首</p><p>刚分手的割发代首割发代首高富帅d</p><p>刚分手的刚分手的</p><p>割发代首刚分手的</p><p>刚分手的公司发的</p><p>刚发的事故发生的</p><p><br></p><p>割发代首刚分手的刚分手的</p><h2>1.2. 噶规范十多个范德萨刚发的施工方多少公分</h2><p>个讽德诵功范德萨</p><p>割发代首割发代首刚发的s规范的三个</p><h1>2.讽德诵功是反的</h1><p>割发代首割发代首个人的施工方都是</p><p>范德萨个人东方闪电方式</p><p>割发代首割发代首</p><h2>2.1.个梵蒂冈</h2><p>讽德诵功范德萨规范的三个范德萨讽德诵功放大s</p><h2>2.2.刚发的广泛地个</h2><p>刚分手的割发代首</p><p>割发代首割发代首割发代首</p><p><br></p><p>范德萨割发代首</p><h2>2.3.辅导费是的</h2><p>范甘迪个放大割发代首个</p><p>刚发的刚发的</p><h1>3. 个梵蒂冈放大</h1>`
-
+        if(this.isSubmiting) return 
+        
         let bottomLink = createBottomHref(this.addDocForm.RecommendData)
         
         sessionStorage.setItem("documentDoc",this.addDocForm.Content+bottomLink)
@@ -255,13 +257,18 @@ import {createBottomHref} from "./utils/common"
         window.open(href, "_blank");
       },
       saveDocument(type){
-        // 生成锚点
+        if(this.isSubmiting) return 
         this.$refs.addDocForm.validate(valid=>{
           if(valid){
+            if(!this.addDocForm.Content){
+              this.$message.error("文章内容不能为空")
+              return
+            }
+            // console.log(this.addDocForm);
+            this.isSubmiting=true
             if(type=="发布") this.addDocForm.Status=2
 
             this.generateAnchor()
-            this.addDocForm.Content=this.addDocForm.Content
             this.addDocForm.AnchorData = this.anchorData
             //保存
             assistanceDocInterence.addAssistanceDoc(this.addDocForm).then(res=>{
@@ -273,8 +280,11 @@ import {createBottomHref} from "./utils/common"
                 })
                 setTimeout(()=>{
                   this.$router.back()
+                  this.isSubmiting=false
                 },2000)
               }
+            }).catch(()=>{
+              this.isSubmiting=false
             })
           }
         })

+ 1 - 1
src/views/system_manage/assistance_center/assistanceDocDetail.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="assistance-detail-container">
-    <div class="assistance-detail-box" v-html="content"></div>
+    <div class="assistance-detail-box fr-view" v-html="content"></div>
   </div>
 </template>
 

+ 9 - 7
src/views/system_manage/assistance_center/docClassifyManage.vue

@@ -1,7 +1,7 @@
 <!-- 
     表格树形数据拖拽 本来使用el-table和sortablejs 但是奇怪的判断导致前端无法做跨级拖拽的限制。
   得由后端来限制,固使用drag-tree-table 但是这个插件构造比较简单,不是用table标签实现的
-  如果产品要实现el-table上面的功能,需要自定义,有更好的方法,还麻烦修改一下
+  如果产品要实现el-table上面的功能,需要自定义,有更好的方法,还请通知一声
  -->
 <template>
   <div class="doc-classifyMana-container">
@@ -52,7 +52,7 @@
           <el-form-item label="上级目录" prop="ParentId">
             <el-cascader v-model="classifyForm.ParentId" :options="noLevelThreeList" @change="selectParentId"
               placeholder="请选择上级目录(不选默认添加的是一级分类)" ref="parentIdCascaderRef"
-              :props="{ value:'ClassifyId',label:'ClassifyName',children:'Children',checkStrictly:true,emitPath:false}" 
+              :props="{ value:'ClassifyId',label:'ClassifyName',children:'Children',checkStrictly:true,emitPath:false,disabled:'Disabled'}" 
               class="lastCatalogCascader" :disabled="this.dialogTitle.indexOf('编辑分类')!=-1" />
           </el-form-item>
           <el-form-item label="分类名称" prop="HelpDocClassifyName" :rules="{required:true,message:'分类名称不能为空',trigger:'blur'}">
@@ -73,7 +73,7 @@
         <el-form :model="permissionForm" ref="permissionFormRef" label-width="80px">
           <el-form-item label="可见权限" prop="merchantIds">
             <el-select v-model="permissionForm.merchantIds" placeholder="请选择商家" 
-            multiple style="width: 337px;" collapse-tags clearable >
+            multiple style="width: 337px;" collapse-tags clearable filterable >
               <el-option :label="item.BusinessName" :value="item.EtaBusinessId" 
               v-for="item in merchantList" :key="item.merchantId"></el-option>
             </el-select>
@@ -199,7 +199,7 @@ import dragTreeTable from "drag-tree-table";
         permissionForm:{
           HelpDocClassifyId:0,
           merchantIds:[]
-        }
+        },
       }
     },
     created(){
@@ -222,9 +222,12 @@ import dragTreeTable from "drag-tree-table";
       getclassifyData(){
         assistanceDocInterence.getAssistanceClassifyList(this.queryParams).then(res=>{
           if(res.Ret == 200){
-            console.log(res);
             this.treeData.lists = res.Data?res.Data.AllNodes||[]:[]
             this.noLevelThreeList = res.Data?res.Data.TwoLevelNodes||[]:[]
+            this.treeData.lists.map(list=> {
+              // 一级展开
+              list.open=true
+            })
             // console.log(this.treeData.lists);
           }
         })
@@ -237,7 +240,6 @@ import dragTreeTable from "drag-tree-table";
       //   }
       // },
       beforeDrag(dragItem,effectItem,type){
-        // console.log(arguments,'arguments');
         if(type=='center'){
           // 放里面
           if((dragItem.Level-1)!=effectItem.Level) return false
@@ -248,7 +250,7 @@ import dragTreeTable from "drag-tree-table";
         // return false
       },
       onTreeDataChange(list,dragItem){
-        console.log(list,dragItem,'arguments');
+        // console.log(list,dragItem,'arguments');
         // list - 拖拽后的数据 dragItem-拖拽的项
         let ClassifyId,PrevClassifyId,NextClassifyId,ParentClassifyId=0
         // 在拖拽后的数据中找到拖拽项对应的位置