SanHQin 4 tháng trước cách đây
mục cha
commit
c86b53240d

+ 1 - 1
dist/index.html

@@ -32,7 +32,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.eaa69649628d7861bde673486daeeef6.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.bc3479efe4e7d435ff02.js></script><script type=text/javascript src=./static/js/app.19594d401ef9dcb9e367.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.0a8ca3b4c703b79225c46b533f9e2923.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.cc2818e998cd275024e3.js></script><script type=text/javascript src=./static/js/app.54f2a7dc5357ced16982.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/static/css/app.0a8ca3b4c703b79225c46b533f9e2923.css


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/static/css/app.0a8ca3b4c703b79225c46b533f9e2923.css.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/static/css/app.eaa69649628d7861bde673486daeeef6.css


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/static/css/app.eaa69649628d7861bde673486daeeef6.css.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/static/js/app.19594d401ef9dcb9e367.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/static/js/app.19594d401ef9dcb9e367.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/static/js/app.54f2a7dc5357ced16982.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/static/js/app.54f2a7dc5357ced16982.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/static/js/manifest.3ad1d5771e9b13dbdad2.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/static/js/vendor.bc3479efe4e7d435ff02.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/static/js/vendor.cc2818e998cd275024e3.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/static/js/vendor.cc2818e998cd275024e3.js.map


+ 17 - 0
src/assets/icon/fold.svg

@@ -0,0 +1,17 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1747013458784"
+  class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2636"
+  xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200">
+  <path
+    d="M130.901333 529.493333l149.205334 130.517334a8.533333 8.533333 0 0 0 14.122666-6.4V392.533333a8.533333 8.533333 0 0 0-14.122666-6.4L130.901333 516.608a8.533333 8.533333 0 0 0 0 12.8z"
+    fill="#000" p-id="2637"></path>
+  <path
+    d="M128 213.333333m42.666667 0l682.666666 0q42.666667 0 42.666667 42.666667l0 0q0 42.666667-42.666667 42.666667l-682.666666 0q-42.666667 0-42.666667-42.666667l0 0q0-42.666667 42.666667-42.666667Z"
+    fill="#000" p-id="2638"></path>
+  <path
+    d="M128 725.333333m42.666667 0l682.666666 0q42.666667 0 42.666667 42.666667l0 0q0 42.666667-42.666667 42.666667l-682.666666 0q-42.666667 0-42.666667-42.666667l0 0q0-42.666667 42.666667-42.666667Z"
+    fill="#000" p-id="2639"></path>
+  <path
+    d="M384 469.333333m42.666667 0l426.666666 0q42.666667 0 42.666667 42.666667l0 0q0 42.666667-42.666667 42.666667l-426.666666 0q-42.666667 0-42.666667-42.666667l0 0q0-42.666667 42.666667-42.666667Z"
+    fill="#000" p-id="2640"></path>
+</svg>

+ 1 - 3
src/components/pages/knowledge/components/selectTag.vue

@@ -30,8 +30,6 @@
 </template>
 
 <script>
-import { values } from 'lodash';
-
 export default {
   name: 'select-tags',
   props: {
@@ -74,7 +72,7 @@ export default {
         const filteredVal = val.filter(item => item !== this.selectAllValue);
         const isAllSelected = filteredVal.length === this.options.length;
         console.log(isSelectAll);
-        
+
         if (isSelectAll) {
           this.$emit('input', isAllSelected ? [] : this.options.map(item => item.id)); // 全选或取消全选
         } else {

+ 50 - 34
src/components/pages/knowledge/folder.vue

@@ -6,7 +6,7 @@
           所有文件夹
         </div>
       </div>
-     
+
     </div> -->
     <div class="f_box_top">
       <div class="f_box_top_left">
@@ -106,8 +106,8 @@
         </div>
       </div>
     </div>
-    
-    <div class="none_box" v-if="fileArray.length == 0" 
+
+    <div class="none_box" v-if="fileArray.length == 0"
       v-loading.body="isLoading && showBool"
     >
       {{lang.noFolder}}
@@ -127,12 +127,12 @@
               <img style="width: 28px;height: 28px;" src="../../../assets/listfolder2.svg" alt="">
               <div class="listBlockTitZ" style="margin-left: 5px;color: #111824;">{{ item.name }}</div>
             </div>
-            
+
           </div>
           <div class="listDetail">
             <span v-if="!item.detail">{{lang.noDesc}}~</span>
             <div class="listDetail2" v-else>
-              {{ item.detail }} 
+              {{ item.detail }}
             </div>
           </div>
           <div class="listBlockTit">
@@ -168,14 +168,14 @@
                       @mouseover="isHover = true"
                       @mouseleave="isHover = false"
                       > -->
-                      
-                      <div class="btnBh" 
+
+                      <div class="btnBh"
                        @click="editFile(item.id, item.folderid)"
                         @mouseover="isHover = true"
                         @mouseleave="isHover = false">
-                        <img 
-                          :src="isHover ? look2 : look1" 
-                          
+                        <img
+                          :src="isHover ? look2 : look1"
+
                         >
                         <span :class="isHover ? 'lookHp2' : 'lookHp1'">{{lang.view}}</span>
                       </div>
@@ -187,13 +187,13 @@
                       type="text"
                       v-if="item.isMo == '2'"
                       > -->
-                      <div class="btnBh" 
+                      <div class="btnBh"
                       v-if="item.isMo == '2'"
                        @click="copyFolder(item)"
                         @mouseover="isHover2 = true"
                         @mouseleave="isHover2 = false">
-                        <img 
-                        :src="isHover2 ? copy1 : copy2" 
+                        <img
+                        :src="isHover2 ? copy1 : copy2"
                          alt="">
                         <span :class="isHover2 ? 'lookHp2' : 'lookHp1'">{{lang.copy}}</span>
                       </div>
@@ -212,7 +212,7 @@
                       style="color: #DE4C41;"
                       v-if="item.userid == userid && item.isMo == '2'"
                       > -->
-                      <div class="btnBh2" 
+                      <div class="btnBh2"
                       @click="deleteFile(item.id, item.folderid,1)"
                        v-if="item.userid == userid && item.isMo == '2'">
                         <img src="../../../assets/listdel.svg" alt="">
@@ -228,10 +228,10 @@
               </el-popover>
             </div>
           </div>
-         
-          
+
+
         </div>
-      
+
      </div>
       <div v-else class="list_file_box"
         v-loading.body="isLoading && showBool"
@@ -301,13 +301,13 @@
                   >
                   <div class="BtnHP" >
                     <div class="BtnHPDel">
-                      <div class="btnBh" 
+                      <div class="btnBh"
                         @click="editFile(scope.row.id, scope.row.folderid)"
                         @mouseover="isHover = true"
                         @mouseleave="isHover = false">
-                        <img 
-                          :src="isHover ? look2 : look1" 
-                          
+                        <img
+                          :src="isHover ? look2 : look1"
+
                         >
                         <span :class="isHover ? 'lookHp2' : 'lookHp1'">{{lang.view}}</span>
                       </div>
@@ -318,13 +318,13 @@
                         >查看</el-button
                       > -->
 
-                      <div class="btnBh" 
+                      <div class="btnBh"
                       v-if="scope.row.isMo == '2'"
                         @click="copyFolder(scope.row)"
                         @mouseover="isHover2 = true"
                         @mouseleave="isHover2 = false">
-                        <img 
-                        :src="isHover2 ? copy1 : copy2" 
+                        <img
+                        :src="isHover2 ? copy1 : copy2"
                           alt="">
                         <span :class="isHover2 ? 'lookHp2' : 'lookHp1'">{{lang.copy}}</span>
                       </div>
@@ -340,10 +340,10 @@
                     <div v-if="scope.row.userid == userid && scope.row.isMo == '2'"
                       style="background-color: #e7e7e7;width: 100%;height: .5px;margin: 5px 0;">
                     </div>
-                    
+
 
                     <div class="BtnHPDel1">
-                      <div class="btnBh2" 
+                      <div class="btnBh2"
                         @click="deleteFile(scope.row.id, scope.row.folderid)"
                         v-if="scope.row.userid == userid && scope.row.isMo == '2'">
                           <img src="../../../assets/listdel.svg" alt="">
@@ -358,9 +358,9 @@
                         >删除</el-button
                       > -->
                     </div>
-                    
+
                   </div>
-                  
+
 
                   <el-button slot="reference" class="BtnH" style="border: none;background: none;padding: 5px;">
                     <i class="el-icon-more"></i>
@@ -368,7 +368,7 @@
 
                 </el-popover>
 
-                
+
               </div>
             </template>
           </el-table-column>
@@ -650,7 +650,15 @@ export default {
         .post(this.$store.state.api + "getKnowledgeTag", [params])
         .then(res => {
           tagLoadings[type - 1] = false;
-          this[`tagData${type}`] = res.data[0];
+          let _data = res.data[0];
+          _data.forEach(i=>{
+            if(this.lang.lang == "en" && i.com){
+              i.name = i.com;
+            }else if(this.lang.lang == "hk" && i.hk){
+              i.name = i.hk;
+            }
+          })
+          this[`tagData${type}`] = _data
           const checkKey = `check${type}`;
           // this[checkKey] = this[checkKey].filter(tag =>
           //   this[`tagData${type}`].some(item => item.id === tag)
@@ -671,7 +679,7 @@ export default {
     },
     getData() {
       let type = this.pid.split("/");
-      let id = this.userid;      
+      let id = this.userid;
       this.isLoading = true;
       let params = {
         uid: id,
@@ -687,7 +695,15 @@ export default {
         .then(res => {
           this.isLoading = false;
           this.total = res.data[0].length ? res.data[0][0].num : 0;
-          this.fileArray = res.data[0];
+          let _fileArray = res.data[0];
+          _fileArray.forEach(i=>{
+            if(this.lang.lang == "en" && i.subTagNameCom){
+              i.subTagName = i.subTagNameCom;
+            }else if(this.lang.lang == "hk" && i.subTagNameHk){
+              i.subTagName = i.subTagNameHk;
+            }
+          })
+          this.fileArray = _fileArray;
           if (
             type[0] == "0" && res.data[1].length == 0
           ) {
@@ -724,7 +740,7 @@ export default {
       }));
     },
     deleteFile(id, folderid,val) {
-      
+
       this.$confirm(this.lang.confirmDelete, this.lang.prompt, {
         confirmButtonText: this.lang.confirm,
         cancelButtonText: this.lang.cancel,
@@ -878,7 +894,7 @@ export default {
   justify-content: space-between;
   align-items: center;
   overflow: hidden;
-  
+
 }
 .listBlockTitZ{
   min-width: 100px;

+ 92 - 24
src/components/pages/knowledge/folderDetail.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="f_box">
-    
-    <div class="f_box_top2">
+
+    <div class="f_box_top2" :style="{maxWidth:fold ? 'calc(100% - 10px)' : 'calc(100% - 320px)'}">
       <folderFileBoxVue
         :pid="pid"
         :userid="userid"
@@ -13,13 +13,17 @@
       ></folderFileBoxVue>
     </div>
 
-    <div class="f_box_top" v-loading="isLoading">
-       
+    <div class="f_box_top" v-loading="isLoading" v-show="!fold">
+      <div class="f_b_foldBtn">
+        <div @click="fold = true">
+          <img src="../../../assets/icon/fold.svg">
+        </div>
+      </div>
         <div class="t_title">
           <div class="t_title">
             <img style="width: 20px;margin-right: 5px;" src="../../../assets/listfolder2.svg" alt="">
             <el-tooltip class="item" effect="dark" :content="data.name" placement="top">
-              <div class="perName">{{ data.name }}</div>    
+              <div class="perName">{{ data.name }}</div>
             </el-tooltip>
 
           </div>
@@ -27,7 +31,7 @@
             <img style="width: 11px;" src="../../../assets/xiugai.svg" alt="">
           </div>
         </div>
-        
+
         <div class="t_btn" v-if="userid == data.userid && data.isMo == '2'">
            <div v-if="userid == data.userid && data.isMo == '2'" @click="copyFolder">
             <img style="height: 14px; margin-right: 8px;" src="../../../assets/copyFlieG2.svg" alt="">
@@ -44,12 +48,12 @@
           </div>
         </div>
 
-        <div 
+        <div
         style="height: 1px;border-bottom: 1px #E8EBF0 solid; margin: 16px 0;"
         v-if="check1.length || check2.length || check3.length"
         ></div>
 
-        <div 
+        <div
         style="font-size: 12px;font-family: PingFang;color: #111824;margin-bottom: 12px;font-weight: 600;"
         v-if="check1.length || check2.length || check3.length"
         >{{ lang.tag }}</div>
@@ -69,11 +73,11 @@
                 </div>
               </div>
               <!-- <div class="tags" v-if="check2.length">
-               
+
               </div>
 
               <div class="tags" v-if="check3.length">
-                
+
               </div> -->
 
           </div>
@@ -118,6 +122,12 @@
         </div>
     </div>
 
+    <div class="f_b_foldArea" v-show="fold">
+      <div @click="fold = false">
+          <img src="../../../assets/icon/fold.svg">
+        </div>
+    </div>
+
       <el-dialog
         :visible.sync="canEdit"
         width="30%"
@@ -150,7 +160,7 @@
             style="width: 65%"
           />
           <!-- @change="updateFolder()" -->
-          
+
           <div class="canEditFileName">{{lang.gradeTag}}</div>
           <selectTag
             v-loading="tagLoading2"
@@ -177,7 +187,7 @@
           />
           <!-- @change="handleTagChange" -->
           <div class="canEditFileName" style="margin-bottom: 9px;">{{ lang.permissions }}</div>
-          
+
           <div class="tag" >
               <div class="tag_check">
                 <el-radio-group  v-model="fileDetail.juri" >
@@ -243,7 +253,8 @@ export default {
       tagData3: [],
       check1: [],
       check2: [],
-      check3: []
+      check3: [],
+      fold:false,
     };
   },
   watch: {
@@ -261,7 +272,7 @@ export default {
        if (this.check1.includes(val.id)) {
         for (let index = 0; index < this.check1.length; index++) {
           if (this.check1[index] == val.id) {
-            return val.name
+              return val.name
           }
         }
        }
@@ -330,14 +341,14 @@ export default {
   methods: {
     openCanEdit(){
       this.canEdit = true;
-      
+
       this.fileDetail = JSON.parse(JSON.stringify(this.data))
       this.fileDetailCheck1 = JSON.parse(JSON.stringify(this.check1))
       this.fileDetailCheck2 = JSON.parse(JSON.stringify(this.check2))
       this.fileDetailCheck3 = JSON.parse(JSON.stringify(this.check3))
-      
-      
-      
+
+
+
     },
     modifyDetail(){
       if (!this.fileDetail.name.trim()) {
@@ -429,7 +440,16 @@ export default {
         .post(this.$store.state.api + "getKnowledgeTag", [params])
         .then(res => {
           tagLoadings[type - 1] = false;
-          this[`tagData${type}`] = res.data[0];
+
+          let _data = res.data[0];
+          _data.forEach(i=>{
+            if(this.lang.lang == "en" && i.com){
+              i.name = i.com;
+            }else if(this.lang.lang == "hk" && i.hk){
+              i.name = i.hk;
+            }
+          })
+          this[`tagData${type}`] = _data
 
           const checkKey = `check${type}`;
           if (type == 3) {
@@ -532,7 +552,7 @@ export default {
         folderid: this.folderid
       };
       // return console.log('params',params);
-      
+
       this.ajax
         .post(this.$store.state.fileApi + "updateFolder", [params])
         .then(res => {
@@ -545,7 +565,7 @@ export default {
     },
     handleTagChange(value) {
       // console.log('value',value);
-      
+
       const tagArray = this.tagData3;
       const selectedTags = value.flatMap(tag =>
         tag.split(/[,,]/).map(t => t.trim())
@@ -624,7 +644,7 @@ export default {
 .f_box_top {
   padding: 10px;
   width: 272px;
-  padding: 24px;
+  padding: 16px 24px 24px 24px;
   flex-shrink: 0;
   box-sizing: border-box;
   height: calc(100% - 24px);
@@ -632,6 +652,54 @@ export default {
   background-color: #fff;
   box-sizing: border-box;
 }
+
+.f_b_foldBtn{
+  width: 100%;
+  height: 40px;
+  display: flex;
+  align-items: center;
+  justify-content: flex-end;
+}
+
+.f_b_foldArea{
+  width: auto;
+  height: auto;
+  position: absolute;
+  right: -10px;
+  top: 5px;
+  display: flex;
+}
+
+.f_b_foldArea>div{
+  width: 40px;
+  height: 40px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  border-radius: 15px 0 0 15px;
+  background-color: #fff;
+  cursor: pointer;
+  box-sizing: border-box;
+  border: 1px #E8EBF0 solid;
+  border-right: none;
+}
+
+.f_b_foldArea>div>img{
+  width: 30px;
+  height: 30px;
+}
+
+.f_b_foldBtn>div{
+  width: 30px;
+  height: 30px;
+  cursor: pointer;
+}
+.f_b_foldBtn>div>img{
+  width: 100%;
+  height: 100%;
+  transform: rotate(180deg);
+}
+
 .f_box_top2{
   height: calc(100% - 48px);
   flex: 1;
@@ -696,9 +764,9 @@ export default {
   margin-bottom: 10px;
 }
 .tags >>> span{
-   
+
     height: 24.38px;
-    line-height: 24.38px; 
+    line-height: 24.38px;
     padding: 4px 10px;
     border-radius: 6px;
     border: none;

+ 1 - 0
src/lang/cn.json

@@ -1,4 +1,5 @@
 {
+  "lang":"cn",
   "test":"测试",
   "myKnowledgeBase":"我的知识库",
   "allFolders":"所有文件夹",

+ 1 - 0
src/lang/en.json

@@ -1,4 +1,5 @@
 {
+  "lang":"en",
   "test":"Test",
   "myKnowledgeBase":"My Knowledge Base",
   "allFolders":"All Folders",

+ 1 - 0
src/lang/hk.json

@@ -1,4 +1,5 @@
 {
+  "lang":"hk",
   "test": "测试",
   "myKnowledgeBase": "我的知識庫",
   "allFolders": "所有文件夾",

+ 14 - 0
src/main.js

@@ -23,6 +23,10 @@ import './assets/css/dialog.css'
 import './assets/css/markdownCss.css'
 import './assets/css/markdownCssCopy.css'
 
+import ElementUI from "element-ui";
+import "element-ui/lib/theme-chalk/index.css";
+import locale from 'element-ui/lib/locale/lang/en'
+
 import cn from './lang/cn.json'
 import hk from './lang/hk.json'
 import en from './lang/en.json'
@@ -48,6 +52,16 @@ Vue.use(VideoPlayer).use(VueAudio).use(VueCookies).use(Viewer).use(hevueImgPrevi
 })
 
 Vue.prototype.lang = lang;
+// 全局修改默认配置,点击空白处不能关闭弹窗
+ElementUI.Dialog.props.closeOnClickModal.default = false;
+
+if(lang.lang=='en'){//英文版
+	Vue.use(ElementUI,{locale})
+}else{
+	Vue.use(ElementUI)
+}
+
+
 Vue.config.productionTip = false
 Vue.prototype.$store = store; // 将store实例挂在vue原型上
 Vue.prototype.ajax = ajax

+ 2 - 5
src/router/index.js

@@ -1,12 +1,9 @@
 import Vue from "vue";
 import Router from "vue-router";
-import ElementUI from "element-ui";
-import "element-ui/lib/theme-chalk/index.css";
 import knowledge from "@/components/pages/knowledge/index";
 
-// 全局修改默认配置,点击空白处不能关闭弹窗
-ElementUI.Dialog.props.closeOnClickModal.default = false;
-Vue.use(Router).use(ElementUI);
+
+Vue.use(Router);
 
 export default new Router({
   routes: [

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác