Переглянути джерело

首页知识库 改为显示资料标题 点击弹框显示附件

zhulu 1 рік тому
батько
коміт
20b815de33
1 змінених файлів з 63 додано та 11 видалено
  1. 63 11
      src/views/index.vue

+ 63 - 11
src/views/index.vue

@@ -84,12 +84,16 @@
             <el-tab-pane label="知识库">
               <span slot="label" class="tab_font">知识库</span>
               <div class="tab-panel">
-                <div v-if="fileList.length > 0">
-                  <div class="file-item" v-for="(v, i) in fileList" :key="i">
-                    <a :href="imageUrl(v.url)" target="_blank">
+                <div v-if="knowledgeList.length > 0">
+                  <div class="msg-item" v-for="(v, i) in knowledgeList" :key="i"  @click="showKnowledgeDialog(v)">
+                    <!-- <a :href="imageUrl(v.url)" target="_blank">
                       <span><i class="el-icon-document"></i>{{ v.name }}</span>
                       <span>{{ v.createTime }}</span>
-                    </a>
+                    </a> -->
+                    <span class="item-title">{{ v.title }}</span>
+                    <span class="item-time">{{dayjs(v.updateTime).format("YYYY-MM-DD")  }}</span>
+                    <!-- <span><i class="el-icon-document"></i>{{ v.title }}</span>
+                    <span>{{ v.createTime }}</span> -->
                   </div>
                 </div>
                 <el-empty v-else description="暂无数据"></el-empty>
@@ -131,6 +135,39 @@
         </div>
       </div>
     </DialogCom>
+
+
+     <!--  新闻详情  -->
+     <DialogCom
+      title="知识库"
+      :visible.sync="showKnowledge"
+      width="800px"
+      append-to-body
+      @close="handleCloseKnowledgeDialog"
+    >
+      <div class="panel-box" v-if="selectKnowledge">
+        <h2>{{ selectKnowledge.title }}</h2>
+        <p>
+          <span>发布机构:{{ selectKnowledge.orgName }}</span
+          ><span style="margin-left: 20px"
+            >发布日期:{{dayjs(selectKnowledge.updateTime).format("YYYY-MM-DD")  }}</span
+          >
+        </p>
+        <div class="content-box">
+          <!-- <p class="text-box"></p> -->
+          <div v-if="selectKnowledge.fileObjectList && selectKnowledge.fileObjectList.length > 0">
+            附件:
+            <ul v-if="selectKnowledge.fileObjectList && selectKnowledge.fileObjectList.length > 0">
+              <li v-for="(v, i) in selectKnowledge.fileObjectList" :key="v.url">
+                <a :href="imageUrl(v.url)" target="_blank">
+                  <span><i class="el-icon-document"></i>{{ v.name }}</span>
+                </a>
+              </li>
+            </ul>
+          </div>
+        </div>
+      </div>
+    </DialogCom>
   </div>
 </template>
 
@@ -196,10 +233,13 @@ export default {
       ],
       iconList: [],
       dataList: [],
-      fileList: [],
+      // fileList: [],
+      knowledgeList: [],
       msgsList: [],
       show: false,
       selectMsg: null,
+      showKnowledge:false,
+      selectKnowledge:null
     };
   },
   mounted() {
@@ -209,6 +249,7 @@ export default {
     ...mapGetters(["roleList", "isAdmin"]),
   },
   methods: {
+    dayjs,
     imageUrl,
     clickNum(item) {
       let page = this.pageList.find((v) => v.name === item.taskTypeText);
@@ -255,10 +296,20 @@ export default {
       this.show = true;
       this.selectMsg = v;
     },
+    
     handleClose() {
       this.show = false;
       this.selectMsg = null;
     },
+    showKnowledgeDialog(v)
+    {
+      this.showKnowledge=true;
+      this.selectKnowledge=v;
+    },
+    handleCloseKnowledgeDialog() {
+      this.showKnowledge = false;
+      this.selectKnowledge = null;
+    },
     getData() {
       console.log(this.roleList, "1213");
       if (this.roleList.length > 0 && this.roleList[0] !== "ROLE_DEFAULT") {
@@ -271,12 +322,13 @@ export default {
             this.msgsList = index1;
           }
           if (!index2) return;
-          this.fileList = index2.map((v) => {
-            return JSON.parse(v);
-          });
-          this.fileList.forEach((v) => {
-            v.createTime = dayjs(v.createTime).format("YYYY-MM-DD");
-          });
+          this.knowledgeList=index2;
+          // this.fileList = index2.map((v) => {
+          //   return JSON.parse(v);
+          // });
+          // this.fileList.forEach((v) => {
+          //   v.createTime = dayjs(v.createTime).format("YYYY-MM-DD");
+          // });
         });
       } else {
         if (!this.isAdmin) {