From 4ac55b3e4ccd35aad6ce395222683fd80b1aab79 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 02 二月 2024 18:05:01 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 company/src/api/business/notices.js                                                          |    8 ++
 server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java |    3 
 company/src/views/index.vue                                                                  |  109 ++++++++++++++++++++++++++---------
 server/service/src/main/java/com/doumee/dao/business/model/Notices.java                      |    3 +
 server/service/src/main/java/com/doumee/service/business/impl/NoticesServiceImpl.java        |   28 +++++++++
 5 files changed, 121 insertions(+), 30 deletions(-)

diff --git a/company/src/api/business/notices.js b/company/src/api/business/notices.js
new file mode 100644
index 0000000..5d8928d
--- /dev/null
+++ b/company/src/api/business/notices.js
@@ -0,0 +1,8 @@
+import request from '../../utils/request'
+
+// 鏌ヨ
+export function fetchList (data) {
+    return request.post('/business/notices/page', data, {
+        trim: true
+    })
+}
diff --git a/company/src/views/index.vue b/company/src/views/index.vue
index 8ba76e3..a04ebf5 100644
--- a/company/src/views/index.vue
+++ b/company/src/views/index.vue
@@ -22,14 +22,14 @@
         </el-tabs>
         <div v-if="activeName === '0'"  v-permissions="['business:notice:insurance']" >
           <div class="home_content_right_list">
-            <div class="list_item" v-for="(item, index) in 1" :key="index">
+            <div class="list_item" v-for="(item, index) in tableData0" :key="index">
               <div class="list_item_left">
-                <span>鎶曚繚鐢宠锛堝緟绛剧讲锛�</span>
-                <span>淇濋櫓鏂规锛堥泧涓昏矗浠婚櫓A锛�</span>
+                <span>{{item.title}}锛坽{ item.typeDetail }}锛�</span>
+                <span>{{item.info}}锛坽{item.content}}锛�</span>
               </div>
               <div class="list_item_center">
-                <span>瀹夊窘骞冲畨浜哄姏璧勬簮鏈夐檺鍏徃</span>
-                <span>鎻愪氦鏃堕棿  2023-09-11 00:00:00</span>
+                <span>{{item.companyName}}</span>
+                <span>鎻愪氦鏃堕棿  {{item.createDate}}</span>
               </div>
               <div class="list_item_right">
                 <span>鏌ョ湅璇︽儏</span>
@@ -38,24 +38,24 @@
           </div>
           <div class="home_content_right_page">
             <el-pagination
-                @current-change="handleCurrentChange"
-                :current-page="page"
+                @current-change="handleCurrentChange0"
+                :current-page="page0"
                 :page-size="5"
                 layout="total, prev, pager, next, jumper"
-                :total="0">
+                :total="totalPage0">
             </el-pagination>
           </div>
         </div>
         <div v-if="activeName === '1'"  v-permissions="['business:notice:tax']">
           <div class="home_content_right_list">
-            <div class="list_item" v-for="(item, index) in 1" :key="index">
+            <div class="list_item" v-for="(item, index) in tableData1" :key="index">
               <div class="list_item_left">
-                <span>鎶曚繚鐢宠锛堝緟绛剧讲1锛�</span>
-                <span>淇濋櫓鏂规锛堥泧涓昏矗浠婚櫓A锛�</span>
+                <span>{{item.title}}锛坽{ item.typeDetail }}锛�</span>
+                <span>{{item.info}}锛坽{item.content}}锛�</span>
               </div>
               <div class="list_item_center">
-                <span>瀹夊窘骞冲畨浜哄姏璧勬簮鏈夐檺鍏徃</span>
-                <span>鎻愪氦鏃堕棿  2023-09-11 00:00:00</span>
+                <span>{{item.companyName}}</span>
+                <span>鎻愪氦鏃堕棿  {{item.createDate}}</span>
               </div>
               <div class="list_item_right">
                 <span>鏌ョ湅璇︽儏</span>
@@ -64,24 +64,24 @@
           </div>
           <div class="home_content_right_page">
             <el-pagination
-                @current-change="handleCurrentChange"
-                :current-page="page"
+                @current-change="handleCurrentChange1"
+                :current-page="page1"
                 :page-size="5"
                 layout="total, prev, pager, next, jumper"
-                :total="0">
+                :total="totalPage1">
             </el-pagination>
           </div>
         </div>
         <div v-if="activeName === '2'"  v-permissions="['business:notice:settle']">
           <div class="home_content_right_list">
-            <div class="list_item" v-for="(item, index) in 1" :key="index">
+            <div class="list_item" v-for="(item, index) in tableData2" :key="index">
               <div class="list_item_left">
-                <span>鎶曚繚鐢宠锛堝緟绛剧讲2锛�</span>
-                <span>淇濋櫓鏂规锛堥泧涓昏矗浠婚櫓A锛�</span>
+                <span>{{item.title}}锛坽{ item.typeDetail }}锛�</span>
+                <span>{{item.info}}锛坽{item.content}}锛�</span>
               </div>
               <div class="list_item_center">
-                <span>瀹夊窘骞冲畨浜哄姏璧勬簮鏈夐檺鍏徃</span>
-                <span>鎻愪氦鏃堕棿  2023-09-11 00:00:00</span>
+                <span>{{item.companyName}}</span>
+                <span>鎻愪氦鏃堕棿  {{item.createDate}}</span>
               </div>
               <div class="list_item_right">
                 <span>鏌ョ湅璇︽儏</span>
@@ -90,11 +90,11 @@
           </div>
           <div class="home_content_right_page">
             <el-pagination
-                @current-change="handleCurrentChange"
-                :current-page="page"
+                @current-change="handleCurrentChange2"
+                :current-page="page2"
                 :page-size="5"
                 layout="total, prev, pager, next, jumper"
-                :total="0">
+                :total="totalPage2">
             </el-pagination>
           </div>
         </div>
@@ -106,14 +106,22 @@
 <script>
 import * as echarts from 'echarts';
 import {mapState} from "vuex";
+import { fetchList as noticeList } from '@/api/business/notices'
 export default {
   name: 'Index',
   data () {
     return {
       activeName: '0',
       tabs:[],
-      page: 1,
-      table:null,
+      page0: 1,
+      page1: 1,
+      page2: 1,
+      totalPage2: 0,
+      totalPage1: 0,
+      totalPage0: 0,
+      tableData0:[],
+      tableData1:[],
+      tableData2:[],
       cate: [
         {
           name: '鎶曚繚鐢宠',
@@ -153,8 +161,33 @@
     this.initPanel()
   },
   methods: {
+    getNoticeList(type,page){
+      noticeList({
+            page: page,
+            capacity: 5,
+            model: { queryType:type},
+            sorts: []
+          })
+          .then(response => {
+            if(type ===0){
+              this.tableData0 = response.records
+              this.totalPage0 = response.total
+            }
+            if(type ===1){
+              this.tableData1 = response.records
+              this.totalPage1 = response.total
+            } if(type ===2){
+              this.tableData2 = response.records
+              this.totalPage2 = response.total
+            }
+          })
+          .catch(e => {
+            this.$tip.apiFailed(e)
+          })
+    },
     initPanel(){
-      var pemissons = this.userInfo.permissions;
+      var pemissons = this.userInfo.permissions
+
       if(pemissons.includes("business:notice:insurance")){
         this.tabs.push( {name:"0",label:"鎶曚繚浠e姙"})
       }
@@ -164,12 +197,30 @@
       if(pemissons.includes("business:notice:settle")){
         this.tabs.push( {name:"2",label:"鐞嗚禂浠e姙"})
       }
+      if(pemissons.includes("business:notice:insurance")){
+        this.getNoticeList(0,this.page0 )
+      }
+      if(pemissons.includes("business:notice:tax")){
+        this.getNoticeList(1,this.page1 )
+      }
+      if(pemissons.includes("business:notice:settle")){
+        this.getNoticeList(2,this.page2 )
+      }
     },
     handleClick(e) {
       this.activeName = e.name
     },
-    handleCurrentChange(page) {
-      this.page = page
+    handleCurrentChange0(page) {
+      this.page0 = page
+      this.getNoticeList(0,this.page0 )
+    },
+    handleCurrentChange1(page) {
+      this.page1 = page
+      this.getNoticeList(1,this.page1 )
+    },
+    handleCurrentChange2(page) {
+      this.page2 = page
+      this.getNoticeList(2,this.page2)
     },
     jump(url) {
       if (!url) return;
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/Notices.java b/server/service/src/main/java/com/doumee/dao/business/model/Notices.java
index f19bab1..30d2c8b 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/Notices.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/Notices.java
@@ -130,6 +130,9 @@
     @ApiModelProperty(value = "鏄惁宸茶 0鏈 1宸茶", example = "1")
     @ExcelColumn(name="鏄惁宸茶 0鏈 1宸茶")
     private Integer readed;
+    @ApiModelProperty(value = "鏌ヨ绫诲瀷 0鎶曚繚 1鍙戠エ 2鐞嗚禂", example = "1")
+    @TableField(exist = false)
+    private Integer queryType;
 
     public Notices(){
 
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
index 76c919b..f9c7c8f 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -1099,7 +1099,6 @@
   
     @Override
     public PageData<InsuranceApply> findPage(PageWrap<InsuranceApplyQueryDTO> pageWrap) {
-        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         IPage<InsuranceApply> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         MPJLambdaWrapper<InsuranceApply> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
@@ -1122,6 +1121,8 @@
             queryWrapper.eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey());
             queryWrapper.lt(InsuranceApply::getEndTime, Utils.Date.getStart(new Date()));
         }
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+
         //浼佷笟浜哄憳鏌ョ湅鏈紒涓氭暟鎹�
         if(loginUserInfo.getType().equals(Constants.ONE)){
             queryWrapper.eq(InsuranceApply::getCompanyId, loginUserInfo.getCompanyId());
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/NoticesServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/NoticesServiceImpl.java
index 23965eb..7cda6d4 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/NoticesServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/NoticesServiceImpl.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
@@ -17,6 +18,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import java.util.List;
@@ -94,6 +96,19 @@
         IPage<Notices> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         MPJLambdaWrapper<Notices> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+
+        //浼佷笟浜哄憳鏌ョ湅鏈紒涓氭暟鎹�
+        if(loginUserInfo.getType().equals(Constants.ONE)){
+            queryWrapper.eq(Notices::getCompanyId, loginUserInfo.getCompanyId());
+        }else{
+            if(loginUserInfo.getCompanyIdList()!=null && loginUserInfo.getCompanyIdList().size()>0){
+                queryWrapper.in(Notices::getCompanyId, loginUserInfo.getCompanyIdList());
+            }else{
+                queryWrapper.eq(Notices::getCompanyId, -1);
+            }
+        }
+
         queryWrapper.selectAll(Notices.class);
         queryWrapper.selectAs(Company::getName,Notices::getCompanyName);
         queryWrapper.leftJoin(Company.class,Company::getId,Notices::getCompanyId);
@@ -118,6 +133,19 @@
         if (pageWrap.getModel().getReaded() != null) {
             queryWrapper.eq(Notices::getReaded, pageWrap.getModel().getReaded());
         }
+        if(pageWrap.getModel().getQueryType()!=null){
+            if(pageWrap.getModel().getQueryType().equals(Constants.ZERO)){
+                queryWrapper.in(Notices::getObjType,new Integer[]{Constants.NoticeObjectType.INSURANCE_APPLY.getKey(),
+                        Constants.NoticeObjectType.APPLY_CHANGE.getKey(),
+                        Constants.NoticeObjectType.DISPATCH_UNIT.getKey(),
+                        Constants.NoticeObjectType.CHANGE_FACTORY.getKey()});
+            } else if(pageWrap.getModel().getQueryType().equals(Constants.ONE)){
+                queryWrapper.in(Notices::getObjType,new Integer[]{Constants.NoticeObjectType.TAXES.getKey() });
+            } else if(pageWrap.getModel().getQueryType().equals(Constants.TWO)){
+                queryWrapper.in(Notices::getObjType,new Integer[]{Constants.NoticeObjectType.SETTLE_CLAIMS.getKey() });
+
+            }
+        }
         if(CollectionUtils.isNotEmpty(pageWrap.getSorts())){
             for(PageWrap.SortData sortData: pageWrap.getSorts()) {
                 if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {

--
Gitblit v1.9.3