lsc 7 meses atrás
pai
commit
a841b6639b

+ 1 - 1
dist/index.html

@@ -32,7 +32,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.5ebcbc29d375b890aa2d8390e57137a4.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.114c70b69d26bbdf9624.js></script><script type=text/javascript src=./static/js/app.9f1333e3c0aacee369b1.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.35345f2750bb09ee13a535f3f4da1242.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.114c70b69d26bbdf9624.js></script><script type=text/javascript src=./static/js/app.962baaf3cd0a1e5d1323.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/static/css/app.35345f2750bb09ee13a535f3f4da1242.css


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/static/css/app.35345f2750bb09ee13a535f3f4da1242.css.map


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/static/js/app.962baaf3cd0a1e5d1323.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/static/js/app.962baaf3cd0a1e5d1323.js.map


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/static/js/app.9f1333e3c0aacee369b1.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/static/js/app.9f1333e3c0aacee369b1.js.map


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/static/js/manifest.3ad1d5771e9b13dbdad2.js.map


+ 176 - 0
src/components/pages/knowledge/components/checkDialog.vue

@@ -0,0 +1,176 @@
+<template>
+  <el-dialog
+    title="查看"
+    :visible.sync="dialogVisible"
+    width="700px"
+    class="el-dialogClass"
+    :before-close="handleClose"
+  >
+    <div class="container">
+      <div class="contentBox" v-loading="isLoading">
+        <div class="content rowCloumn">
+          <div class="title">文章摘要:</div>
+          <div class="text">{{ data.summary }}</div>
+        </div>
+        <div class="content">
+          <div class="title">文档名:</div>
+          <div class="text">{{ data.title }}</div>
+        </div>
+        <div class="content">
+          <div class="title">类型:</div>
+          <div class="text">{{ data.type }}</div>
+        </div>
+        <div class="content">
+          <div class="title">上传时间:</div>
+          <div class="text">{{ data.time }}</div>
+        </div>
+        <div class="content">
+          <div class="title">上传状态:</div>
+          <div class="text">{{ getState(data.ingestionStatus) }}</div>
+        </div>
+        <div class="content">
+          <div class="title">提取状态:</div>
+          <div class="text">{{ getState2(data.extractionStatus) }}</div>
+        </div>
+        <div class="content">
+          <div class="title">拥有者:</div>
+          <div class="text">{{ getState2(data.username) }}</div>
+        </div>
+      </div>
+      <!-- <div class="nav">
+        <span>切片</span>
+        <span>实体</span>
+        <span>关系</span>
+      </div> -->
+    </div>
+    <span slot="footer">
+      <el-button @click="dialogVisible = false">关 闭</el-button>
+    </span>
+  </el-dialog>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      dialogVisible: false,
+      data: {},
+      did: "",
+      isLoading: false
+    };
+  },
+  computed: {
+    getState() {
+      return function(item) {
+        if (item == "success") {
+          return "成功";
+        } else if (item == "failed") {
+          return "失败";
+        } else if (item == "augmenting") {
+          return "上传中";
+        } else if (item == "pending") {
+          return "待处理";
+        } else if (item == "enriched") {
+          return "enriched";
+        } else if (!item) {
+          return "上传中";
+        } else {
+          return item;
+        }
+      };
+    },
+    getState2() {
+      return function(item) {
+        if (item == "success") {
+          return "成功";
+        } else if (item == "failed") {
+          return "失败";
+        } else if (item == "pending") {
+          return "待处理";
+        } else if (item == "processing") {
+          return "处理中";
+        } else if (item == "enriched") {
+          return "enriched";
+        } else if (!item) {
+          return "上传中";
+        } else {
+          return item;
+        }
+      };
+    }
+  },
+  methods: {
+    handleClose(done) {
+      done();
+    },
+    openG(did) {
+      this.did = did;
+      this.dialogVisible = true;
+      this.getFileDetail();
+    },
+    getFileDetail() {
+      this.isLoading = true;
+      let params = {
+        documentId: this.did
+      };
+      this.ajax
+        .post(this.$store.state.fileApi + "getFileDetail", [params])
+        .then(res => {
+          this.isLoading = false;
+          console.log(res.data);
+          this.data = res.data.result;
+        })
+        .catch(err => {
+          this.isLoading = false;
+          console.error(err);
+        });
+    }
+  }
+};
+</script>
+
+<style scoped>
+.el-dialogClass >>> .el-dialog {
+    margin: 0 auto !important;
+    height: calc(100% - 200px);
+    transform: translateY(-50%);
+    top: 50%;
+}
+
+.el-dialogClass >>> .el-dialog__body {
+  height: calc(100% - 70px - 55px);
+  overflow-y: auto;
+  overflow-x: hidden;
+  box-sizing: border-box;
+  padding: 0 20px;
+}
+.container{
+    height: 100%;
+    overflow: auto;
+}
+
+.contentBox {
+  width: 100%;
+}
+.rowCloumn {
+  flex-direction: column;
+}
+
+.rowCloumn .text {
+  margin-top: 8px;
+}
+.contentBox > .content {
+  display: flex;
+  justify-content: space-between;
+  font-size: 15px;
+  color: #323232;
+  padding: 10px 0;
+  border-bottom: 1px solid #f3f3f3;
+}
+
+.contentBox > .content > .title {
+}
+
+.contentBox > .content > .text {
+}
+</style>

+ 8 - 43
src/components/pages/knowledge/fileBox.vue

@@ -78,7 +78,7 @@
           <el-table-column label="操作" width="200px">
             <template slot-scope="scope">
               <div>
-                <!-- <el-button type="primary" size="small">查看</el-button> -->
+                <el-button type="primary" size="small" @click="check(scope.row)" :disabled="scope.row.ingestionStatus == 'failed'">查看</el-button>
                 <el-button type="danger" size="small"  v-if="scope.row.userid == userid"  @click="deleteFile(scope.row.id, scope.row.documentid)">删除</el-button>
               </div>
             </template>
@@ -108,6 +108,7 @@
       :dialogVisibleOffice.sync="dialogVisibleOffice"
       :url="wurl"
     ></wOffice>
+    <checkDialog ref="checkDialog"></checkDialog>
   </div>
 </template>
 
@@ -124,53 +125,14 @@ import wpdf from "../test/file/wPdf2.vue";
 import wOffice from "../test/file/wOffice.vue";
 
 import { v4 as uuidv4 } from "uuid";
+import checkDialog from './components/checkDialog'
 
-const getFile = (url) => {
-  return new Promise((resolve, reject) => {
-    var credentials = {
-      accessKeyId: "AKIATLPEDU37QV5CHLMH",
-      secretAccessKey: "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",
-    }; //秘钥形式的登录上传
-    window.AWS.config.update(credentials);
-    window.AWS.config.region = "cn-northwest-1"; //设置区域
-    let url2 = url;
-    let _url2 = "";
-    if (
-      url2.indexOf("https://view.officeapps.live.com/op/view.aspx?src=") != -1
-    ) {
-      _url2 = url2.split(
-        "https://view.officeapps.live.com/op/view.aspx?src="
-      )[1];
-    } else {
-      _url2 = url2;
-    }
-    var s3 = new window.AWS.S3({ params: { Bucket: "ccrb" } });
-    let name = decodeURIComponent(
-      _url2
-        .split("https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/")[1]
-        .replace(/\+/g, " ")
-    );
-    var params = {
-      Bucket: "ccrb",
-      Key: name,
-    };
-    s3.getObject(params, function (err, data) {
-      if (err) {
-        console.log(err, err.stack);
-        resolve({ data: 1 });
-      } else {
-        resolve({ data: data.Body });
-        console.log(data);
-      } // sxuccessful response
-    });
-    // axios({
-  });
-};
 export default {
   components: {
     wVideo,
     wpdf,
     wOffice,
+    checkDialog
   },
   props: {
     userid: {
@@ -283,7 +245,7 @@ export default {
       let params = {
         uid: this.userid,
         folderid: this.checkFolderid,
-        n: this.fileName,
+        n: this.fileName.trim(),
         page: this.page,
         num: this.limit,
       };
@@ -444,6 +406,9 @@ export default {
       let array2 = this.checkArray2.map(item => item.documentid);
       this.deleteFile(array.join(","), array2.join(","))
     },
+    check(row){
+      this.$refs.checkDialog.openG(row.documentid);
+    }
   },
   mounted() {
     this.getData();

+ 1 - 1
src/components/pages/knowledge/folder.vue

@@ -404,7 +404,7 @@ export default {
             this.check2 == ""
           ) {
             this.folderName = "默认文件夹";
-            this.folderDescription = "默认文件夹";
+            this.folderDescription = "该文件夹为系统创设,将自动关联您所有上传的文件";
             this.createFolder(1);
           }
           this.$parent.getData();

+ 18 - 1
src/components/pages/knowledge/folderDetail.vue

@@ -2,7 +2,17 @@
   <div class="f_box">
     <div class="f_box_top" v-loading="isLoading">
       <div class="title">
-        <div class="t_title">{{ data.name }}</div>
+        <textarea
+          rows="1"
+          style="width: 300px;"
+          class="binfo_input binfo_textarea"
+          ref="binfo_textarea"
+          cols
+          v-model="data.name"
+          placeholder="输入文件夹名字"
+          v-if="canEdit"
+        ></textarea>
+        <div class="t_title" v-else>{{ data.name }}</div>
         <div class="t_btn">
           <!-- <div class="btn">复制文件夹</div> -->
           <div
@@ -19,6 +29,7 @@
           v-autoHeight="68"
           rows="2"
           class="binfo_input binfo_textarea"
+          ref="binfo_textarea"
           cols
           v-model="data.detail"
           placeholder="输入文件夹描述"
@@ -320,9 +331,15 @@ export default {
       }
     },
     updateFolder() {
+      if(!this.data.name.trim()){
+        this.$message.error("文件夹名字不能为空");
+        this.canEdit = true;
+        return;
+      }
       let type = this.pid.split("/");
       let params = {
         id: type[1],
+        n: this.data.name,
         d: this.data.detail,
         st: this.check1.join(","),
         ct: this.check2.join(","),

+ 10 - 4
src/components/pages/knowledge/folderFileBox.vue

@@ -77,10 +77,10 @@
           </el-table-column>
           <!-- <el-table-column label="公开状态" show-overflow-tooltip width="80px"></el-table-column> -->
           <el-table-column prop="time" label="上传时间" show-overflow-tooltip min-width="20"></el-table-column>
-          <el-table-column label="操作" width="200px">
+          <el-table-column label="操作" width="250px">
             <template slot-scope="scope">
               <div>
-                <!-- <el-button type="primary" size="small">查看</el-button> -->
+                <el-button type="primary" size="small" @click="check(scope.row)" :disabled="scope.row.ingestionStatus == 'failed'">查看</el-button>
                 <el-button type="primary" size="small" v-if="userid == data.userid && data.isMo == '2'" @click="removeFile(scope.row.id, scope.row.documentid)">移除</el-button>
                 <el-button type="danger" size="small" v-if="userid == scope.row.userid" @click="deleteFile(scope.row.id, scope.row.documentid)">删除</el-button>
               </div>
@@ -112,6 +112,7 @@
       :url="wurl"
     ></wOffice>
     <relateFiles ref="relateFiles"></relateFiles>
+    <checkDialog ref="checkDialog"></checkDialog>
   </div>
 </template>
 
@@ -129,12 +130,14 @@ import wOffice from "../test/file/wOffice.vue";
 
 import { v4 as uuidv4 } from "uuid";
 import relateFiles from './components/relateFiles'
+import checkDialog from './components/checkDialog'
 export default {
   components: {
     wVideo,
     wpdf,
     wOffice,
-    relateFiles
+    relateFiles,
+    checkDialog
   },
   props: {
     userid: {
@@ -248,7 +251,7 @@ export default {
       let params = {
         uid: this.userid,
         folderid: this.folderid,
-        n: this.fileName,
+        n: this.fileName.trim(),
         page: this.page,
         num: this.limit,
       };
@@ -460,6 +463,9 @@ export default {
     },
     openG(){
       this.$refs.relateFiles.openG(this.userid, this.folderid, this.moFolderid)
+    },
+    check(row){
+      this.$refs.checkDialog.openG(row.documentid);
     }
   },
   mounted() {

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff