Kaynağa Gözat

编辑器排序修改

zhangli 2 yıl önce
ebeveyn
işleme
f9d6c8b2e2

+ 12 - 0
src/assets/css/commons.css

@@ -1324,4 +1324,16 @@ body .rx-button-edit {
 .noDataText{
   color:#C0C0C0;
   font-size:1.14vw;
+}
+.editorBoxText ul li{
+  list-style: inside;
+}
+.editorBoxText ol li{
+  list-style: decimal;
+}
+.editorBox .w-e-text ul li{
+  list-style: disc;
+}
+.editorBox .w-e-text ol li{
+  list-style: decimal;
 }

+ 1 - 1
src/layouts/MainLayout.vue

@@ -14,7 +14,7 @@
         </div>
       </a-layout-header>
       <a-layout-content class="index-layout-centers">
-        <div class="center">
+        <div class="center" id="index-layout-centers">
           <div class="frontLoading" v-if="openFrontLoading">
             <span style="display: inline-block">
               <a-spin size="large" />

+ 20 - 7
src/views/modules/knowledge/album/detail.vue

@@ -12,7 +12,7 @@
               <a-divider v-if="index!=(detailDataBase.categoryArr.length-1)" class="lineBox" type="vertical" />
             </div>
           </div>
-          <div :class="'approvalBox stateBox'+detailDataBase.versionState">
+          <div :class="'approvalBox stateBox'+detailDataBase.versionState" v-if="detailDataBase.versionStateName!=''&&detailDataBase.versionStateName!=null">
             {{ detailDataBase.versionStateName }}
           </div>
         </div>
@@ -196,7 +196,7 @@
     </div>
     <div class="searchBoxContent" v-show="(tapAction==3)">
       <div class="DataBoxContent" style="padding:0px 2vw">
-        <div class="titleAlbum"  v-if="!isAdd">审批状态:<span style="background: none;" :class="'stateBox'+detailDataBase.versionState">{{ detailDataBase.versionStateName }}</span></div>
+        <div class="titleAlbum"  v-if="!isAdd">审批状态:<span style="background: none;" :class="'stateBox'+detailDataBase.versionState" v-if="detailDataBase.versionStateName!=''&&detailDataBase.versionStateName!=null">{{ detailDataBase.versionStateName }}</span></div>
         <div style="width:100%;margin-top: 1.5625vw;">
           <a-table class="tableBoxAlbum" :columns="approverColumns" :data-source="approverData" :pagination="false">
           </a-table>
@@ -456,10 +456,12 @@ export default {
     //评论列表
     getYelp(){
       let getData = {
-        albumId:this.pkId,
-        type:this.commentType,
-        pageNum:this.yelpPageNum,
-        pageSize:this.yelpPageSize
+        pageNo:this.yelpPageNum,
+        pageSize:this.yelpPageSize,
+        params:{
+          albumId:this.pkId,
+          type:this.commentType,
+        }
       }
       album.yelpQuery(getData).then((res) => {
         /*res.result.data = [
@@ -651,7 +653,7 @@ export default {
         postData.yelpId = yelpId
       }
       album.yelp(postData).then((res) => {
-        
+        this.getYelp()
       })
     },
     //获取详情
@@ -736,6 +738,10 @@ export default {
           }
         })
       }else{
+        
+        knowledgeForm.cover = this.detailDataBase.cover
+        knowledgeForm.categoryId = this.detailDataBase.categoryLevel2Id
+        knowledgeForm.name = this.detailDataBase.name
         knowledgeForm.pkId = this.detailDataBase.pkId
         knowledgeForm.versionId = this.detailDataBase.versionId
         album.edit(knowledgeForm).then((res) => {
@@ -773,6 +779,7 @@ export default {
         return
       }
       if(info.file.status === 'done') {
+        this.loading = false
         this.knowledgeForm.cover = info.file.response.data[0].fileId
       }
     },
@@ -845,6 +852,12 @@ export default {
     },
     addDataOpen(){
       this.addDataShow = true
+      this.addDataForm={
+        type:'1',
+        categoryId:[],
+        pkId:undefined,
+      }
+      this.categoryValue=''
     },
     //增加知识
     handleOkAdd(){

+ 1 - 1
src/views/modules/knowledge/components/albumBox.vue

@@ -11,7 +11,7 @@
       {{item.name}}
     </div>
     <div class="classBox">
-      <div :class="'stateBox'+item.versionState">{{item.versionStateName}}</div>
+      <div v-if="item.versionStateName!=''&&item.versionStateName!=null" :class="'stateBox'+item.versionState">{{item.versionStateName}}</div>
       {{ item.categoryName.split('|')[0] }}
     </div>
     <div class="classUser">

+ 25 - 5
src/views/modules/knowledge/components/albumList.vue

@@ -4,7 +4,7 @@
       <div slot="actions" key="comment-nested-reply-to" >
         <div class="actionBox">
           {{item.createTime}}
-          <div class="albumCallback" @click="showSubmitBox(item.pkId)">
+          <div class="albumCallback" @click="showSubmitBox(item.pkId)" v-if="item.state==1">
             <img src="../../../../image/reply.png" class="btnsty"/>
             回复
           </div>
@@ -21,7 +21,11 @@
           />
         </div>
       </div>
-      <a slot="author">{{item.createName}}</a>
+      <a slot="author">{{item.createName}}
+        <span class="approvalBoxComment" v-if="item.state==0">
+          审核中
+        </span>
+      </a>
       <a-avatar
         slot="avatar"
         :src="'/api/api-system/system/core/sysFile/previewFile?fileId='+item.createPhoto"
@@ -35,7 +39,7 @@
           <div slot="actions" key="comment-nested-reply-to">
             <div class="actionBox">
               {{item0.createTime}}
-              <div class="albumCallback" @click="showSubmitBox(item0.pkId)">
+              <div class="albumCallback" @click="showSubmitBox(item0.pkId)"  v-if="item0.state==1">
                 <img src="../../../../image/reply.png" class="btnsty"/>
                 回复
               </div>
@@ -54,7 +58,11 @@
               </a-input-search>
             </div>
           </div>
-          <a slot="author">{{item0.createName}}</a>
+          <a slot="author">{{item0.createName}}
+            <span class="approvalBoxComment" v-if="item0.state==0">
+              审核中
+            </span>
+          </a>
           <a-avatar
             slot="avatar"
             :src="'/api/api-system/system/core/sysFile/previewFile?fileId='+item0.createPhoto"
@@ -173,7 +181,7 @@ export default {
       }
       let replyData={
         content:content,
-        yelpId:this.replyPkid
+        yelpId:this.item.pkId
       }
       this.$emit('replyYelp',replyData);
     }
@@ -267,4 +275,16 @@ export default {
 .btnsty{
   height: 1vw;
 }
+.approvalBoxComment{
+  border-radius: 0.625vw;
+  height: 1.145833vw;
+  line-height: 1.145833vw;
+  padding: 0px 0.41666vw;
+  font-size: 0.729166vw;
+  margin-left: 0.9375vw;
+  font-weight: normal;
+  margin-top: 0.1vw;
+  background: rgba(255,144,13,0.04);
+  color: #FF900D;
+}
 </style>

+ 1 - 1
src/views/modules/knowledge/components/search.vue

@@ -77,7 +77,7 @@ export default {
       //if(this.content) {
         let data={
           range:this.selectVal,
-          keyword:this.content
+          keyword:encodeURI(this.content)
         }
         this.$emit('searchResult',data)
       //}

+ 13 - 2
src/views/modules/knowledge/home.vue

@@ -1,5 +1,6 @@
 <template>
-  <div class="homePage">
+  <div class="homePage" id="homePage">
+    <a-back-top :target="targetfn"/>
     <a-carousel autoplay>
       <div v-for="(item, index) in bannerArr" :key="index" @click="goKnowledge(item)">
         <!--<img src="../../../image/banner.jpg" class="bannerClass"/>-->
@@ -76,6 +77,10 @@ export default {
    //this.getData()
   },
   methods: {
+    //返回顶部dom
+    targetfn(){
+      return document.getElementById('homePage')
+    },
     // 排序方式
     changeOrder(num){
       this.orderFiled = num
@@ -223,13 +228,19 @@ export default {
 </script>
 
 <style scoped>
+.homePage{
+  height: calc(100% - 0vw);
+  overflow: scroll;
+}
 .ant-carousel >>> .slick-slide {
   text-align: center;
   height: 24vw;
   background-size:100% 100%;
   overflow: hidden;
 }
-
+.homePage /deep/.ant-back-top{
+  top:6vw;
+}
 .ant-carousel >>> .slick-slide h3 {
   color: #fff;
 }

+ 9 - 2
src/views/modules/knowledge/warehouse/contentData.vue

@@ -146,21 +146,25 @@ export default {
       this.categoryName=this.typeName[this.type]
       if(this.type==3){
         this.defaultCascader=['40']
+        this.categoryValue=['40']
       }
       if(this.type==4){
         this.defaultCascader=['50']
+        this.categoryValue=['50']
       }
     }
     if(this.$route.query.categoryId!=undefined){
       this.categoryId=this.$route.query.categoryId
       if(this.$route.query.parentp!=undefined){
         this.defaultCascader=[this.$route.query.parentp,this.$route.query.parent,this.$route.query.categoryId]
+        this.categoryValue=[this.$route.query.parentp,this.$route.query.parent,this.$route.query.categoryId]
       }else if(this.$route.query.parent!=0){
         this.defaultCascader=[this.$route.query.parent,this.$route.query.categoryId]
+        this.categoryValue=[this.$route.query.parent,this.$route.query.categoryId]
       }else{
         this.defaultCascader.push(this.$route.query.categoryId)
+        this.categoryValue.push(this.$route.query.categoryId)
       }
-      console.log(this.defaultCascader)
       this.categoryName=this.$route.query.categoryName
     }
     this.getBaseData()
@@ -199,7 +203,10 @@ export default {
    // 跳转添加
    addData(){
     this.$router.push({
-      name: "knowledgeAddUpdate"
+      name: "knowledgeAddUpdate",
+      query: {
+        categoryId: this.categoryValue.join(',')
+      }
     })
    },
    // 获取数据

+ 29 - 7
src/views/modules/knowledge/warehouse/knowledgeAddUpdate.vue

@@ -30,7 +30,7 @@
             </div>
           </a-input>
         </a-form-model-item>
-        <a-form-model-item class="knowledgeAddUpdateLabel" label="编辑简介:" prop="summary" style="width:calc( 46.04vw );">
+        <a-form-model-item class="knowledgeAddUpdateLabel oneline" label="编辑简介:" prop="summary" style="width:calc( 46.04vw );">
           <a-input @change='summaryChange' class="textareaBox" suffix="100" maxLength="100" v-model="knowledgeForm.summary" type="textarea" :autosize="{minRows: 3, maxRows: 6}" placeholder="请输入" >
           </a-input>
           <div class="rightText">
@@ -38,7 +38,7 @@
           </div>
         </a-form-model-item>
         <a-form-model-item class="knowledgeAddUpdateLabel" label="编辑正文:" prop="content" style="width:calc( 46.04vw );">
-          <editor :value.sync="knowledgeForm.content"></editor>
+          <editor class="editorBox" :value.sync="knowledgeForm.content"></editor>
         </a-form-model-item>
         <a-form-model-item class="knowledgeAddUpdateLabel" label="上传附件:" prop="accessory" style="margin-top: 2.4vw;" v-if="!knowledgeForm.attachment">
           <a-upload-dragger
@@ -109,6 +109,7 @@ import editor from '../components/editor'
 import vabOnlyOffice from '../components/onlyOffice'
 import { getCategoryId } from './aJs/getClassifyTree'
 import api from '@/api/knowledge/warehouseIndex'
+import contentData from '@/api/knowledge/contentData'
 export default {
   name: 'knowledgeAddUpdate',
   components: {
@@ -173,6 +174,9 @@ export default {
         ],
         titles: [
           { required: true, message: '请输入知识标题', trigger: 'blur' }
+        ],
+        summary: [
+          { required: true, message: '请输入编辑简介', trigger: 'blur' }
         ]
       },
       approverColumns: [
@@ -237,6 +241,9 @@ export default {
       this.knowledgeForm.type = this.$route.query.type
       this.knowledgeForm.bastype = this.$route.query.type
     }
+    if(this.$route.query.categoryId) {
+      this.knowledgeForm.categoryId = this.$route.query.categoryId.split(',')
+    }
     let pkId = this.$route.query.pkId
     if(pkId) {
       this.pkId = pkId
@@ -326,10 +333,24 @@ export default {
           }
         }
       })
+    },
+     // 处理分类数据展示
+    categoryData(data){
+      data.forEach(element => {
+        element.label=element.name
+        element.value=element.pkId
+        if(element.children!=null&&element.children.length!=0){
+          this.categoryData(element.children)
+        }
+      })
     },
     //  初始化数据
     async init() {
-      let res = await api.getKnowledgeCategory(0)
+      contentData.getAllKnowledgeCategory().then((res) =>{
+        this.categoryData(res.data)
+        this.classifyList=res.data
+      })
+      /*let res = await api.getKnowledgeCategory(0)
       this.classifyList = res.data.children.map(item => {
          if(!item.hasChild) {
           item.isLeaf = true
@@ -338,7 +359,7 @@ export default {
          }
         delete item.children
         return item
-      })
+      })*/
     },
     //  分类懒加载
     async loadData(selectedOptions) {
@@ -359,9 +380,9 @@ export default {
     },
     //  上传前文件过滤
     beforeUpload(file) {
-      const isLt2M = file.size / 1024 / 1024 < 6;
+      const isLt2M = file.size / 1024 / 1024 < 100;
       if (!isLt2M) {
-        this.$message.error('附件不能超过6M');
+        this.$message.error('附件不能超过100M');
         return false
       }
       const fileName = file.name.split('.')
@@ -407,7 +428,8 @@ export default {
       this.option.isEdit = false
       this.option.lang = 'zh-CN'
       // this.option.url = 'http://10.5.100.64:9900/api-system/system/core/sysFile/previewFile?fileId=1597050108435845121'
-      this.option.url = 'http://10.5.100.101/api/api-system/system/core/sysFile/previewFile?fileId='+ this.knowledgeForm.attachment,
+      //this.option.url = 'http://10.5.100.101/api/api-system/system/core/sysFile/previewFile?fileId='+ this.knowledgeForm.attachment,
+      this.option.url = 'http://www.hkcqjy.com.cn:8088/api/api-system/system/core/sysFile/previewFile?fileId='+ this.knowledgeForm.attachment,
       this.option.title = this.knowledgeForm.attachmentName
       this.option.fileType = this.knowledgeForm.attachmentName.split('.').slice(-1)[0]
       this.option.isPrint = false

+ 7 - 3
src/views/modules/knowledge/warehouse/knowledgeAuditInfo.vue

@@ -1,6 +1,7 @@
 <template>
   <div class="page">
     <div class="content">
+      <div style="margin-left: -6.44vw;" class="btnGoBack" @click="goBack"><a-icon type="left" />返回</div>
       <img :src="(knowledgeForm.approvalStatus==1||knowledgeForm.approvalStatus==3) ? audit : reject" style="width:8.22vw;height:8.22vw;position:absolute;top:2.08vw;right:5vw;" alt="">
       <div class="document-style">文档状态: <span :style="{color: (knowledgeForm.approvalStatus==1||knowledgeForm.approvalStatus==3) ? '#FF900D' : '#F84E4C' }" >{{ (knowledgeForm.approvalStatus==1||knowledgeForm.approvalStatus==3) ? '审批中' : '驳回' }}</span></div>
       <a-divider style="margin:0;background:#eeeeee!important;" />
@@ -17,7 +18,7 @@
         <div class="field-style">{{ knowledgeForm.summary }}</div>
         <div class="title-style">正文</div>
         <template v-if="knowledgeForm.content">
-          <div class='descContentInfo' v-html="knowledgeForm.content"></div>
+          <div class='descContentInfo editorBoxText' v-html="knowledgeForm.content"></div>
         </template>
         <div class='qualityManual-container-office' v-if="showOffice">
           <vab-only-office :option='option' />
@@ -115,6 +116,9 @@ export default {
     this.init()
   },
   methods: {
+    goBack(){
+      this.$router.back()
+    },
     // 初始化数据
     init() {
       api.info({pkId:this.$route.query.pkId,isPc:1}).then(res => {
@@ -140,9 +144,9 @@ export default {
       this.option.canDownload = true
       this.option.canPrint = true
       this.option.lang = 'zh-CN'
-      this.option.url = 'http://10.5.100.101/api/api-system/system/core/sysFile/previewFile?fileId='+this.knowledgeForm.attachment
+      this.option.url = 'http://www.hkcqjy.com.cn:8088/api/api-system/system/core/sysFile/previewFile?fileId='+this.knowledgeForm.attachment
       this.option.title = this.knowledgeForm.attachmentName.split(".")[0]
-      this.option.fileType = this.knowledgeForm.attachmentName.split(".")[1]
+      this.option.fileType = this.knowledgeForm.attachmentName.split(".").pop()
       this.option.isPrint = false
     },
     // 下载文件

+ 3 - 3
src/views/modules/knowledge/warehouse/knowledgeContentInfo.vue

@@ -13,7 +13,7 @@
         <div>浏览数: {{ detailData.views==null?0:detailData.views }}</div>
         <div>类型:{{ detailData.type==1?'文档知识':'维基知识' }}</div>
       </div>
-      <div class="descContentInfo" v-html="detailData.content">
+      <div class="descContentInfo editorBoxText" v-html="detailData.content">
 
       </div>
       <div class='qualityManual-container-office' v-if="showOffice">
@@ -89,9 +89,9 @@ export default {
       this.option.canDownload = true
       this.option.canPrint = true
       this.option.lang = 'zh-CN'
-      this.option.url = 'http://10.5.100.101/api/api-system/system/core/sysFile/previewFile?fileId='+this.detailData.attachment
+      this.option.url = 'http://www.hkcqjy.com.cn:8088/api/api-system/system/core/sysFile/previewFile?fileId='+this.detailData.attachment
       this.option.title = this.detailData.attachmentName.split(".")[0]
-      this.option.fileType = this.detailData.attachmentName.split(".")[1]
+      this.option.fileType = this.detailData.attachmentName.split(".").pop()
       this.option.isPrint = false
     },
     // 下载文件

+ 10 - 1
src/views/modules/knowledge/warehouse/searchData.vue

@@ -1,5 +1,6 @@
 <template>
-  <div class="searchDataMain">
+  <div class="searchDataMain" id="searchDataMain">
+    <a-back-top :target="targetfn"/>
     <div class="searchHead">
       <search :hideSelect="true" style="margin-bottom: 2vw;" ref="searchTop" searchWidth="59.58vw" class="searchbar" @searchResult="searchResult"></search>
       <div class="tabBoxSearch" v-if="showTap">
@@ -79,6 +80,10 @@ export default {
     this.getDataAll(0)
   },
   methods: {
+    //返回顶部dom
+    targetfn(){
+      return document.getElementById('searchDataMain')
+    },
     // 排序方式
     changeOrder(num){
       this.orderFiled = num
@@ -192,6 +197,10 @@ export default {
   width: 100vw;
   overflow-x: hidden;
   height: 100%;
+  overflow-y: scroll;
+}
+.searchDataMain /deep/.ant-back-top{
+  top:6vw;
 }
 .searchHead{
   background: #fff;