Ver código fonte

Merge branch 'HitSheep' of http://39.105.160.25:10880/post-project-ui/post-ui into HitSheep

zhangxin 2 anos atrás
pai
commit
4b4a3323f4

+ 3 - 0
Dockerfile

@@ -0,0 +1,3 @@
+FROM nginx
+EXPOSE 80
+COPY dist /usr/share/nginx/html

+ 11 - 3
Jenkinsfile

@@ -1,10 +1,17 @@
 pipeline {
-    agent any
-
+    agent {
+        docker {
+            image 'node:16-alpine'  
+        }
+    }
     stages {
         stage('Build') {
             steps {
-                echo 'Building..'
+                sh 'docker-compose stop'
+                sh 'docker-compose rm -sf'
+                sh 'npm install --registry https://registry.npm.taobao.org'
+                sh 'npm run build:prod'
+                sh 'docker build -t HitSheep:0.1 .'
             }
         }
         stage('Test') {
@@ -15,6 +22,7 @@ pipeline {
         stage('Deploy') {
             steps {
                 echo 'Deploying....'
+                sh 'docker-compose up -d'
             }
         }
     }

+ 11 - 0
docker-compose.yml

@@ -0,0 +1,11 @@
+services:
+  post-project-ui-HitSheep:
+    image: HitSheep:0.1
+    container_name: post-ui-HitSheep
+    ports:
+      - 8680:80
+    networks:
+      - local_public
+networks:
+  local_public:
+    external: true

+ 38 - 0
src/api/notice/notice.js

@@ -0,0 +1,38 @@
+// 后端接口版本
+import request from '@/utils/request'
+
+//获取公告列表
+export function getNotice(){
+    return request({
+        url:'/post/bulletin/list',
+        method:'get'
+    })
+}
+//删除公告
+export function deleteNotice(id){
+    return request({
+        url:'/post/bulletin/' + id,
+        method:'delete'
+    })
+}
+//查看详情
+export function moreNotice(id){
+    return request({
+        url:'/post/bulletin/' + id,
+        method:'get'
+    })
+}
+//ID搜索
+export function searchNotice(id){
+    return request({
+        url:'http://localhost:8080/post/bulletin/' + id,
+        method:'get'
+    })
+}
+//标题搜索
+export function searchJNotice(title){
+    return request({
+        url:'/post/bulletin/list?noticeTitle=' + title,
+        method: 'get'
+    })
+}

+ 25 - 9
src/views/notice/noticeDetails.vue

@@ -3,11 +3,11 @@
     <el-button id="returnBtn" @click="returnBtn">返回</el-button>
     <div class="noticeDetails">
       <div class="title">公告详情</div>
-      <h3 id="noticeTitle">数字邮局正式上线,创世版首发!</h3>
+      <h3 id="noticeTil" >{{noticeTil}}</h3>
       <!-- <div class="noticeTitle">数字邮局正式上线,创世版首发!</div> -->
-      <h4 id="noticeTime">2023-01-13 11:46:38</h4>
+      <h4 id="noticeTim">{{noticeTim}}</h4>
       <div class="noticeContent">
-        邮贝数字邮局,是由中国邮政集团有限公司北京市公司设立,同时使用人民日报全国党媒联盟链进行数字邮品和数字产品的登记、认证与确权,服务广大集邮用户和数字收藏爱好者的邮政官方数字邮品和数字产品发行平台。邮贝数字邮局由北京游贝数字科技有限公司负责运营。
+        {{noticeContent}}
       </div>
     </div>
   </div>
@@ -60,21 +60,37 @@
 
 
 <script>
+import {moreNotice}  from "../../api/notice/notice";
 export default {
   data() {
     return {
-      noticeTitle: "",
-      noticeTime: "",
+      noticeTil: "",
+      noticeTim: "",
+      row_ :1 ,
+      noticeContent:"" ,
+      
     };
   },
   mounted() {
     //获取到当前公告的标题和时间
-    this.noticeTitle = document.querySelector("#noticeTitle");
-    this.noticeTime = document.querySelector("#noticeTime");
-    noticeTitle.innerHTML = this.$route.query.title;
-    noticeTime.innerHTML = this.$route.query.publishTime;
+    this.row_ = this.$route.query.id;
+    console.log(this.row_);
+    // this.noticeTil = document.querySelector("#noticeTil");
+    // this.noticeTim = document.querySelector("#noticeTim");
+    // noticeTil.innerHTML = this.$route.query.id;
+    // noticeTim.innerHTML = this.$route.query.noticeTime;
+    this.getmoreNotice()
   },
   methods:{
+    //获取
+    getmoreNotice(){
+      moreNotice(this.row_).then((res)=>{
+        console.log(res);
+        this.noticeContent = res.data.noticeContent 
+        this.noticeTil = res.data.noticeTitle
+        this.noticeTim = res.data.createTime
+      })
+    },
     //返回上一页
     returnBtn(){
         this.$router.go(-1)

+ 59 - 39
src/views/notice/noticeList.vue

@@ -7,8 +7,8 @@
           <i id="search-text" class="el-icon-search"> 筛选搜索</i>
         </div>
         <div class="search-btn">
-          <el-button plain>重置</el-button>
-          <el-button type="primary">查询搜索</el-button>
+          <el-button plain @click="reset">重置</el-button>
+          <el-button type="primary" @click="searchNotice">查询搜索</el-button>
         </div>
       </div>
       <!-- 筛选公告标题 -->
@@ -43,21 +43,25 @@
     <!-- 数据栏 -->
     <div class="data-list">
       <el-table :data="tableData" border style="width: 100%" class="data-table">
-        <el-table-column prop="id" label="ID"> </el-table-column>
-        <el-table-column prop="title" label="公告标题"> </el-table-column>
-        <el-table-column prop="publishTime" label="发布时间"> </el-table-column>
+        <el-table-column prop="noticeId" label="ID"> </el-table-column>
+        <el-table-column prop="noticeTitle" label="公告标题"> </el-table-column>
+        <el-table-column prop="createTime" label="发布时间"> </el-table-column>
         <el-table-column prop="operation" label="操作">
           <template slot-scope="scope">
-            <el-button size="mini" type="text" @click="viewDetails(scope.$index)"
-              >查看详情</el-button
-            >
             <el-button
-              id="deleteBtn"
               size="mini"
               type="text"
-              @click="deleteBtn(scope.$index)"
-              >删除</el-button
+              @click="viewDetails(scope)"
+              >查看详情</el-button
             >
+            <el-popconfirm
+              title="你确定删除本条消息吗?"
+              @confirm="deleteNotice(scope)"
+            >
+              <el-button id="deleteBtn" size="mini" type="text" slot="reference"
+                >删除</el-button
+              >
+            </el-popconfirm>
           </template>
           <!-- <el-button size="mini" type="text" icon="el-icon-delete"
             >删除</el-button
@@ -174,6 +178,8 @@
   
 
 <script>
+import { getNotice, deleteNotice,searchJNotice } from "../../api/notice/notice";
+
 export default {
   data() {
     return {
@@ -184,43 +190,41 @@ export default {
       total: 0,
       pageSize: 5,
       totalNum: "",
+      row_ : "1",
+      noticeTime_: "1"
     };
   },
   mounted() {
     //获取总条目的id
     this.totalNum = document.querySelector("#dataNum");
     this.getMockNoticeList();
-    this.getTableList();
+    // this.getTableList();
   },
 
   methods: {
     getMockNoticeList() {
-      var Mock = require("mockjs");
-      var data = Mock.mock({
-        "list|1-20": [
-          {
-            "id|+1": 1,
-            title: "@cword(3, 5)",
-            publishTime: "@datetime()",
-            // 'operation|1-10': "★",
-          },
-        ],
-      });
-      this.mockNoticeList = data;
-    },
-    //获取数据按钮
-    getTableList() {
-      this.tableData = this.mockNoticeList.list;
-      // console.log(this.tableData)
+      getNotice().then((res) => {
+        //获取数据
+        this.tableData = res.rows;
+        console.log(res);
 
-      //获取数据总数
-      this.totalNum.innerHTML = `共:${this.tableData.length}条`;
-      this.total = this.tableData.length;
-      // console.log(this.total)
+        //获取数据总数
+        this.totalNum.innerHTML = `共:${res.rows.length}条`;
+        this.total = res.rows.length;
+      });
     },
     // 删除按钮
-    deleteBtn(row) {
-      this.tableData.splice(this.tableData[row], 1);
+    deleteNotice(row) {
+      console.log(row);
+      row = row.row.noticeId;
+      deleteNotice(row).then((res) => {
+        console.log(res);
+        this.$message({
+          message: "恭喜你,删除成功!",
+          type: "success",
+        });
+        this.$router.go(0);
+      });
       // console.log(this.tableData[row].title)
       // console.log(this.tableData[row].publishTime)
     },
@@ -230,14 +234,30 @@ export default {
     },
     //查看详情按钮 点击按钮跳转到公告详情页面
     viewDetails(row) {
+      row = row.row.noticeId
+      this.row_ = row
+      console.log(this.row_)
+      // console.log(this.noticeTime_)
       this.$router.push({
         name: "noticeDetails",
-        query:{
-          publishTime:'时间',
-          title:'标题'
-        }
+        query: {
+          id: this.row_,
+        },
       });
     },
+    //搜索
+    searchNotice() {
+      searchJNotice(this.input).then((res) =>{
+        console.log(res);
+        this.tableData = res.rows
+      })
+      this.reset();
+    },
+    //重置
+    reset() {
+      this.input = "";
+      this.value1 = "";
+    },
   },
 };
 </script>