jiangping
2024-02-02 4ac55b3e4ccd35aad6ce395222683fd80b1aab79
company/src/views/index.vue
@@ -16,34 +16,87 @@
        <div class="home_content_left_item" ref="picture3"></div>
      </div>
      <div class="home_content_right">
        <div class="home_content_right_label">代办事项</div>
        <el-tabs v-model="activeName" @tab-click="handleClick">
          <el-tab-pane label="保单代办" name="first"></el-tab-pane>
          <el-tab-pane label="理赔提醒" name="second"></el-tab-pane>
        <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" :label="a.label" :name="a.name"></el-tab-pane>
        </el-tabs>
        <div class="home_content_right_list">
          <div class="list_item" v-for="(item, index) in 1" :key="index">
            <div class="list_item_left">
              <span>投保申请(待签署)</span>
              <span>保险方案(雇主责任险A)</span>
            </div>
            <div class="list_item_center">
              <span>安徽平安人力资源有限公司</span>
              <span>提交时间  2023-09-11 00:00:00</span>
            </div>
            <div class="list_item_right">
              <span>查看详情</span>
        <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 tableData0" :key="index">
              <div class="list_item_left">
                <span>{{item.title}}({{ item.typeDetail }})</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>查看详情</span>
              </div>
            </div>
          </div>
          <div class="home_content_right_page">
            <el-pagination
                @current-change="handleCurrentChange0"
                :current-page="page0"
                :page-size="5"
                layout="total, prev, pager, next, jumper"
                :total="totalPage0">
            </el-pagination>
          </div>
        </div>
        <div class="home_content_right_page">
          <el-pagination
            @current-change="handleCurrentChange"
            :current-page="page"
            :page-size="5"
            layout="total, prev, pager, next, jumper"
            :total="0">
          </el-pagination>
        <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 tableData1" :key="index">
              <div class="list_item_left">
                <span>{{item.title}}({{ item.typeDetail }})</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>查看详情</span>
              </div>
            </div>
          </div>
          <div class="home_content_right_page">
            <el-pagination
                @current-change="handleCurrentChange1"
                :current-page="page1"
                :page-size="5"
                layout="total, prev, pager, next, jumper"
                :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 tableData2" :key="index">
              <div class="list_item_left">
                <span>{{item.title}}({{ item.typeDetail }})</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>查看详情</span>
              </div>
            </div>
          </div>
          <div class="home_content_right_page">
            <el-pagination
                @current-change="handleCurrentChange2"
                :current-page="page2"
                :page-size="5"
                layout="total, prev, pager, next, jumper"
                :total="totalPage2">
            </el-pagination>
          </div>
        </div>
      </div>
    </div>
@@ -52,12 +105,23 @@
<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: 'first',
      page: 1,
      activeName: '0',
      tabs:[],
      page0: 1,
      page1: 1,
      page2: 1,
      totalPage2: 0,
      totalPage1: 0,
      totalPage0: 0,
      tableData0:[],
      tableData1:[],
      tableData2:[],
      cate: [
        {
          name: '投保申请',
@@ -87,17 +151,76 @@
      ]
    }
  },
  computed: {
    ...mapState(['userInfo'])
  },
  mounted() {
    this.setPicture1()
    this.setPicture2()
    this.setPicture3()
    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
      if(pemissons.includes("business:notice:insurance")){
        this.tabs.push( {name:"0",label:"投保代办"})
      }
      if(pemissons.includes("business:notice:tax")){
        this.tabs.push( {name:"1",label:"发票代办"})
      }
      if(pemissons.includes("business:notice:settle")){
        this.tabs.push( {name:"2",label:"理赔代办"})
      }
      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;