From a01d637e9ff2bf26aa44c65a239413a38bd8b1fe Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 04 六月 2025 09:39:13 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0.1' into 2.0.1

---
 company/src/views/index.vue |  249 +++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 215 insertions(+), 34 deletions(-)

diff --git a/company/src/views/index.vue b/company/src/views/index.vue
index 34ee197..2ee998d 100644
--- a/company/src/views/index.vue
+++ b/company/src/views/index.vue
@@ -1,4 +1,4 @@
-<template>
+  <template>
   <div class="home">
     <div class="home_inlet">
       <div class="home_inlet_label">蹇嵎鍏ュ彛</div>
@@ -22,11 +22,11 @@
         <div class="home_content_left_item" ref="picture3"></div>
       </div>
       <div class="home_content_right">
-        <div class="home_content_right_label" v-if="tabs && tabs.length>0" >浠e姙浜嬮」</div>
+        <div class="home_content_right_label" v-if="tabs && tabs.length>0" >寰呭姙浜嬮」</div>
         <el-tabs v-model="activeName" @tab-click="handleClick" >
           <el-tab-pane v-for="a in tabs" :key="a.path" :name="a.name" >
              <span slot="label" title="鐐瑰嚮鍒锋柊"> {{a.label }}
-                        <el-badge v-if="(a.name==0?totalPage0:(a.name==1?totalPage1:totalPage2))  >0" :value="(a.name==0?totalPage0:(a.name==1?totalPage1:totalPage2)) " class="item"></el-badge>
+                        <el-badge v-if="getTotalNoticeCount(a)  >0" :value="getTotalNoticeCount(a) " class="item"></el-badge>
                     </span>
           </el-tab-pane>
         </el-tabs>
@@ -98,6 +98,9 @@
               <div class="list_item_left">
                 <span>{{item.title}}锛坽{ item.typeDetail }}锛�</span>
                 <span>{{item.info}}锛坽{item.content}}锛�</span>
+<!--
+                <span style="font-size: 12px;color: #8c939d;margin-top: 10px">{{item.createDate}}</span>
+-->
               </div>
               <div class="list_item_center">
                 <span>{{item.companyName}}</span>
@@ -123,10 +126,105 @@
             </el-pagination>
           </div>
         </div>
+
+        <div v-if="activeName === '6'">
+          <div class="home_content_right_list" v-if="tableData6 && tableData6.length">
+            <div class="list_item" v-for="(item, index) in tableData6" :key="index">
+              <div class="list_item_left">
+                <span>{{item.title}}锛坽{ item.typeDetail }}锛�</span>
+                <span>{{item.content}}</span>
+              </div>
+              <div class="list_item_center">
+                <span>{{item.companyName}}</span>
+                <span>鎻愪氦鏃堕棿  {{item.createDate}}</span>
+              </div>
+              <div class="list_item_right">
+                <span @click="jump('/business/contract')">鏌ョ湅</span>
+              </div>
+            </div>
+          </div>
+          <div class="home_content_right_list" v-else>
+            <div class="list_item" style="width: 100%;font-size: 12px;display:block;color: #8c939d;text-align: center; padding: 20px">
+              鏆傛棤娑堟伅
+            </div>
+          </div>
+          <div class="home_content_right_page">
+            <el-pagination
+              @current-change="handleCurrentChange6"
+              :current-page="page6"
+              :page-size="5"
+              layout="total, prev, pager, next, jumper"
+              :total="totalPage6">
+            </el-pagination>
+          </div>
+        </div>
+        <div v-if="activeName === '7'">
+          <div class="home_content_right_list" v-if="tableData7 && tableData7.length">
+            <div class="list_item" v-for="(item, index) in tableData7" :key="index">
+              <div class="list_item_left">
+                <span>{{item.title}}锛坽{ item.typeDetail }}锛�</span>
+                <span>{{item.content}}</span>
+              </div>
+              <div class="list_item_center">
+                <span>{{item.companyName}}</span>
+                <span>鎻愪氦鏃堕棿  {{item.createDate}}</span>
+              </div>
+              <div class="list_item_right">
+                <span @click="jump('/business/solutions')">鏌ョ湅</span>
+              </div>
+            </div>
+          </div>
+          <div class="home_content_right_list" v-else>
+            <div class="list_item" style="width: 100%;font-size: 12px;display:block;color: #8c939d;text-align: center; padding: 20px">
+              鏆傛棤娑堟伅
+            </div>
+          </div>
+          <div class="home_content_right_page">
+            <el-pagination
+              @current-change="handleCurrentChange7"
+              :current-page="page7"
+              :page-size="5"
+              layout="total, prev, pager, next, jumper"
+              :total="totalPage7">
+            </el-pagination>
+          </div>
+        </div>
+        <div v-if="activeName === '8'">
+          <div class="home_content_right_list" v-if="tableData8 && tableData8.length">
+            <div class="list_item" v-for="(item, index) in tableData8" :key="index">
+              <div class="list_item_left">
+                <span>{{item.title}}锛堝緟瀹℃牳锛�</span>
+                <span>{{item.info}}锛坽{item.content}}锛�</span>
+              </div>
+              <div class="list_item_center">
+                <span>{{item.companyName}}</span>
+                <span>鎻愪氦鏃堕棿  {{item.createDate}}</span>
+              </div>
+              <div class="list_item_right">
+                <span @click="jump('/business/companyUserApply')">鏌ョ湅</span>
+              </div>
+            </div>
+          </div>
+          <div class="home_content_right_list" v-else>
+            <div class="list_item" style="width: 100%;font-size: 12px;display:block;color: #8c939d;text-align: center; padding: 20px">
+              鏆傛棤娑堟伅
+            </div>
+          </div>
+          <div class="home_content_right_page">
+            <el-pagination
+              @current-change="handleCurrentChange8"
+              :current-page="page8"
+              :page-size="5"
+              layout="total, prev, pager, next, jumper"
+              :total="totalPage8">
+            </el-pagination>
+          </div>
+        </div>
+
       </div>
     </div>
     <OperaInsuranceApplyWindow ref="operaInsuranceApplyWindow" @success="handleCurrentChange0()"/>
-    <OperaInsuranceApplyShopWindow ref="operaInsuranceApplyShopWindow" @success="handleCurrentChange0()"/>
+    <OperaWtbApplyShopWindow ref="OperaWatbApplyShopWindow" @success="handleCurrentChange0()"/>
     <dispatchUnitDetailsPlat ref="dispatchUnitDetailsPlat" @success="handleCurrentChange0()"/>
     <OperaSettleClaimsWindow ref="operaSettleClaimsWindow" @success="handleCurrentChange2()"/>
     <OperaApplyChangeUnitDetailWindow ref="operaApplyChangeUnitDetailWindow" @success="handleCurrentChange0()"/>
@@ -139,22 +237,23 @@
 import * as echarts from 'echarts'
 import { mapState } from 'vuex'
 import OperaInsuranceApplyWindow from '@/components/business/OperaInsuranceApplyWindow'
-import OperaInsuranceApplyShopWindow from '@/components/business/OperaInsuranceApplyShopWindow'
 import dispatchUnitDetailsPlat from '@/components/business/dispatchUnitDetailsPlat'
 import OperaApplyChangeUnitDetailWindow from '@/components/business/OperaApplyChangeUnitDetailWindow'
 import OperaSettleClaimsWindow from '@/components/business/OperaSettleClaimsWindow'
 import OperaApplyChangeDetailWindow from '@/components/business/OperaApplyChangeDetailWindow'
 import OperaTaxesWindow from '@/components/business/OperaTaxesWindow'
 import { fetchList as noticeList, deleById } from '@/api/business/notices'
+import { getChangeDetail, getDetail } from '@/api/business/insuranceApply'
+import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow'
 export default {
   components: {
+    OperaWtbApplyShopWindow,
     OperaInsuranceApplyWindow,
     dispatchUnitDetailsPlat,
     OperaTaxesWindow,
     OperaSettleClaimsWindow,
     OperaApplyChangeDetailWindow,
-    OperaApplyChangeUnitDetailWindow,
-    OperaInsuranceApplyShopWindow
+    OperaApplyChangeUnitDetailWindow
   },
   name: 'Index',
   data () {
@@ -164,12 +263,21 @@
       page0: 1,
       page1: 1,
       page2: 1,
+      page6: 1,
+      page7: 1,
+      page8: 1,
+      totalPage8: 0,
+      totalPage7: 0,
+      totalPage6: 0,
       totalPage2: 0,
       totalPage1: 0,
       totalPage0: 0,
       tableData0: [],
       tableData1: [],
       tableData2: [],
+      tableData6: [],
+      tableData7: [],
+      tableData8: [],
       cate: [
         {
           name: '鎶曚繚鐢宠',
@@ -242,32 +350,62 @@
     this.setLoadTimer()
   },
   methods: {
+    getTotalNoticeCount (a) {
+      if (a.name == 0) {
+        return this.totalPage0
+      } else if (a.name == 1) {
+        return this.totalPage1
+      } else if (a.name == 2) {
+        return this.totalPage2
+      } else if (a.name == 6) {
+        return this.totalPage6
+      } else if (a.name == 7) {
+        return this.totalPage7
+      } else if (a.name == 8) {
+        return this.totalPage8
+      }
+
+      return 0
+    },
     detail (obj) {
       if (obj.objType === 0) {
-        if(obj.solutionType == 1){
-          this.$refs.operaInsuranceApplyWindow.open('鎶曚繚鐢宠璇︽儏', { id: obj.objId })
-        }else{
-          this.$refs.operaInsuranceApplyWindow.open('鎶曚繚鐢宠璇︽儏', { id: obj.objId })
-        }
+        getDetail(obj.objId).then(res => {
+          if (res.solutionType == 0) {
+            this.$refs.operaInsuranceApplyWindow.open('鎶曚繚鐢宠璇︽儏', { id: obj.objId })
+          } else {
+            this.$refs.OperaWtbApplyShopWindow.open('濮旀墭鎶曚繚鐢宠璇︽儏', { id: obj.objId })
+          }
+        }).catch(err => {
+        })
       } else if (obj.objType === 1) {
-        this.$refs.operaApplyChangeDetailWindow.open('鍔犲噺淇濊鎯�', { id: obj.objId, applyId: obj.param1 })
+        getChangeDetail(obj.objId).then(res => {
+          this.$refs.operaApplyChangeDetailWindow.open('鍔犲噺淇濊鎯�', { id: obj.objId, applyId: res.applyId })
+        }).catch(err => {
+        })
       } else if (obj.objType === 2) {
-        this.$refs.operaApplyChangeUnitDetailWindow.open('鏇存崲娲鹃仯鍗曚綅鐢宠璇︽儏', { id: obj.objId, applyId: obj.param1 })
+        getChangeDetail(obj.objId).then(res => {
+          this.$refs.operaApplyChangeUnitDetailWindow.open('鏇存崲娲鹃仯鍗曚綅鐢宠璇︽儏', { id: obj.objId, applyId: res.applyId })
+        }).catch(err => {
+        })
       } else if (obj.objType === 3) {
         this.$refs.dispatchUnitDetailsPlat.open('娲鹃仯鍗曡鎯�', { id: obj.objId })
       } else if (obj.objType === 4) {
         this.$refs.OperaTaxesWindow.open('寮�绁ㄧ敵璇疯鎯�', { id: obj.objId })
       } else if (obj.objType === 5) {
-        deleById(obj.id)
-          .then(res => {
-            this.tableData2.forEach((item, index) => {
-              if (item.id === obj.id) {
-                this.tableData2.splice(index, 1)
-                this.totalPage2 = this.totalPage2 - 1
-              }
+        this.$refs.operaSettleClaimsWindow.open('鎶ユ鐞嗚禂璇︽儏', obj.objId)
+        if ([1,4, 7,13, 14, 15, 16, 17, 18].includes(obj.type)) {
+          // 濡傛灉鏄彁閱掔疮娑堟伅锛屽垹闄ら�氱煡
+          deleById(obj.id)
+            .then(res => {
+              this.tableData2.forEach((item, index) => {
+                if (item.id === obj.id) {
+                  this.tableData2.splice(index, 1)
+                  this.totalPage2 = this.totalPage2 - 1
+                }
+              })
+              // this.$refs.operaSettleClaimsWindow.open('鎶ユ鐞嗚禂璇︽儏', obj.objId)
             })
-            this.$refs.operaSettleClaimsWindow.open('鐞嗚禂璇︽儏', { id: obj.objId })
-          })
+        }
       }
     },
     setLoadTimer () {
@@ -277,10 +415,10 @@
         clearInterval(window.timer)
       }
       window.timer = setInterval(() => {
-          that.initLoadData()
+        that.initLoadData()
       }, 60000)
     },
-    initLoadData(){
+    initLoadData () {
       var pemissons = this.userInfo.permissions
       if (pemissons.includes('business:notice:insurance')) {
         this.handleCurrentChange0(0)
@@ -307,9 +445,22 @@
           if (type === 1) {
             this.tableData1 = response.records
             this.totalPage1 = response.total
-          } if (type === 2) {
+          }
+          if (type === 2) {
             this.tableData2 = response.records
             this.totalPage2 = response.total
+          }
+          if (type === 6) {
+            this.tableData6 = response.records
+            this.totalPage6 = response.total
+          }
+          if (type === 7) {
+            this.tableData7 = response.records
+            this.totalPage7 = response.total
+          }
+          if (type === 8) {
+            this.tableData8 = response.records
+            this.totalPage8 = response.total
           }
         })
         .catch(e => {
@@ -320,16 +471,23 @@
       var pemissons = this.userInfo.permissions
 
       if (pemissons.includes('business:notice:insurance')) {
-        this.tabs.push({ name: '0', label: '鎶曚繚浠e姙' })
+        this.tabs.push({ name: '0', label: '鎶曚繚寰呭姙' })
         // this.handleCurrentChange0(0);
       }
       if (pemissons.includes('business:notice:tax') && this.userInfo.type !== 1) {
-        this.tabs.push({ name: '1', label: '鍙戠エ浠e姙' })
+        this.tabs.push({ name: '1', label: '鍙戠エ寰呭姙' })
         // this.handleCurrentChange1(0);
       }
       if (pemissons.includes('business:notice:settle')) {
-        this.tabs.push({ name: '2', label: '鐞嗚禂鎻愰啋' })
+        this.tabs.push({ name: '2', label: '鎶ユ鐞嗚禂' })
         // this.handleCurrentChange2(0);
+      }
+      if (this.userInfo.type === 1) {
+        this.tabs.push({ name: '7', label: '鏂规绛剧讲鎻愰啋' })
+      }
+      this.tabs.push({ name: '6', label: '鍚堝悓绛剧讲鎻愰啋' })
+      if (this.userInfo.type === 0) {
+        this.tabs.push({ name: '8', label: '闆嗗洟鐢宠鎻愰啋' })
       }
       /* if (pemissons.includes('business:notice:insurance')) {
         this.getNoticeList(0, this.page0)
@@ -349,6 +507,12 @@
         this.handleCurrentChange1(0)
       } else if (this.activeName === '2') {
         this.handleCurrentChange2(0)
+      } else if (this.activeName === '6') {
+        this.handleCurrentChange6(0)
+      } else if (this.activeName === '7') {
+        this.handleCurrentChange7(0)
+      } else if (this.activeName === '8') {
+        this.handleCurrentChange8(0)
       }
     },
     handleCurrentChange0 (page) {
@@ -362,6 +526,18 @@
     handleCurrentChange2 (page) {
       this.page2 = page
       this.getNoticeList(2, this.page2)
+    },
+    handleCurrentChange6 (page) {
+      this.page6 = page
+      this.getNoticeList(6, this.page6)
+    },
+    handleCurrentChange7 (page) {
+      this.page7 = page
+      this.getNoticeList(7, this.page7)
+    },
+    handleCurrentChange8 (page) {
+      this.page8 = page
+      this.getNoticeList(8, this.page8)
     },
     jump (url) {
       if (!url) return
@@ -534,22 +710,25 @@
   }
   .home_content {
     width: 100%;
-    height: calc(100% - 170px);
+    /*height: calc(100% - 170px);*/
     margin-top: 10px;
     display: flex;
-    align-items: center;
-    justify-content: space-between;
+    /*align-items: center;*/
+    /*justify-content: space-between;*/
     .home_content_left {
       width: 350px;
-      height: 100%;
+      /*height: 100%;*/
+      height: auto;
       flex-shrink: 0;
       display: flex;
       flex-direction: column;
       justify-content: space-between;
       .home_content_left_item {
         width: 100%;
-        height: 32%;
+        /*height: 32%;*/
+        height: 200px;
         background: #ffffff;
+        margin-bottom: 10px;
       }
     }
     .home_content_right {
@@ -574,6 +753,7 @@
           box-sizing: border-box;
           width: 100%;
           display: flex;
+          align-items: center;
           justify-content: space-between;
           border: 1px solid #ececec;
           margin-bottom: 15px;
@@ -609,6 +789,7 @@
             }
           }
           .list_item_right {
+            flex-shrink: 0;
             height: 100%;
             display: flex;
             align-items: center;

--
Gitblit v1.9.3