马宇豪
2025-01-10 03f0e2a3220106ec2a9dd8f53d3ef5ab824c3ae7
src/views/specialCheck/index.vue
@@ -1,36 +1,35 @@
<template>
    <div class="app-container" style="padding-bottom:40px">
        <div class="menu-area">
            <el-button class="add-btn" type="primary" icon="el-icon-plus" @click="sendJob()">新任务下发</el-button>
<!--            <div class="menu-tit">2023年上半年安全检查</div>-->
            <el-button v-if="unitType==1" class="add-btn" type="primary" icon="el-icon-plus" @click="sendJob()">新任务下发</el-button>
            <el-menu
                default-active="1"
                v-if="taskMenu && taskMenu.length>0"
                default-active="0-1"
                class="el-menu-vertical-demo"
                background-color="#eeeeee"
                background-color="#eee"
                text-color="#333"
                unique-opened
                active-text-color="#034EA2"
                @select="menuSelect">
                <el-submenu index="1">
                <el-submenu v-for="(item,i) in taskMenu" :key="i" :index="item.id + '-' + item.taskName">
                    <template slot="title">
                        <i class="el-icon-s-order"></i>
                        <span>2023年上半年安全检查</span>
                        <span>{{item.taskName}}</span>
                    </template>
                    <el-menu-item index="1">
                        <span slot="title">安全检查反馈情况(批发)</span>
                    </el-menu-item>
                    <el-menu-item index="2">
                        <span slot="title">安全检查反馈情况(零售)</span>
                    </el-menu-item>
                    <el-menu-item index="3">
                        <span slot="title">安全检查情况汇总</span>
                    </el-menu-item>
                    <el-menu-item :index="i + '-' + 1">安全检查反馈情况(批发)</el-menu-item>
                    <el-menu-item :index="i + '-' + 2">安全检查反馈情况(零售)</el-menu-item>
                    <el-menu-item :index="i + '-' + 3" v-if="unitType==0||unitType==1||unitType==2">安全检查情况汇总</el-menu-item>
                </el-submenu>
            </el-menu>
            <div v-else style="background:#eee;color: #333;font-size: 16px;padding: 20px 10px">
                暂无任务
            </div>
        </div>
        <div class="table-area">
            <wholesale-form v-show="curTab == 1"></wholesale-form>
            <retail-form v-show="curTab == 2"></retail-form>
        <div class="table-area" v-if="taskMenu && taskMenu.length>0">
            <wholesale-form v-show="curTab == 1 || curTab == 2" ref="wholesale"></wholesale-form>
            <sum-sheet v-show="curTab == 3" ref="sumSheet"></sum-sheet>
        </div>
        <div v-else class="table-area" style="text-align:center;">暂无任务信息</div>
        <send-work ref="send"></send-work>
    </div>
</template>
@@ -42,23 +41,30 @@
    import {MessageBox} from 'element-ui'
    import { getToken } from '@/utils/auth'
    import wholesaleForm from './components/wholesaleForm'
    import retailForm from "./components/retailForm"
    import sumSheet from "./components/sumSheet"
    import sendWork from "./components/sendWork"
    import { getCheckUnitType, getSpecialCheckTask } from "@/api/specialCheck"
    export default {
        name: "specialCheck",
        components:{
            wholesaleForm,
            retailForm,
            sumSheet,
            sendWork
        },
        data() {
            return {
                curTab: 1
                curTab: 1,
                unitType: null,
                taskMenu: [],
                taskId: null,
                openeds:[]
            }
        },
        created() {
            const t = this
            t.getCheckUnitType()
            t.getSpecialCheckTask()
        },
        mounted() {
@@ -70,9 +76,61 @@
            ])
        },
        methods: {
            menuSelect(key, keyPath) {
                this.curTab = key
            async getCheckUnitType(){
                const t = this
                let res = await getCheckUnitType()
                if(res.data.code === "200"){
                    t.unitType = res.data.result.checkUnitType
                }else{
                    t.$message({
                        type:'warning',
                        message:res.data.message
                    })
                }
            },
            async getSpecialCheckTask(){
                const t = this
                const res = await getSpecialCheckTask()
                if(res.data.code === "200"){
                    t.taskMenu = res.data.result.specialCheckTaskSimplifyInfos
                    t.openeds[0] = t.taskMenu[0].id + '-' + t.taskMenu[0].taskName
                    t.openeds[1] = '1'
                }else{
                    t.$message({
                        type:'warning',
                        message:res.data.message
                    })
                }
            },
            menuSelect(key, keyPath) {
                const t = this
                t.$refs.wholesale.currentPage = 1
                t.$refs.wholesale.pageSize = 10
                if(key.split('-')[1] == '1' || key.split('-')[1] == '2'){
                    console.log(keyPath,'path')
                    t.$refs.wholesale.taskId = Number(keyPath[0].split('-')[0])
                    t.$refs.wholesale.taskName = keyPath[0].split('-').slice(1).join('-')
                    console.log(t.$refs.wholesale.taskName,'name')
                    t.$refs.wholesale.enterpriseType = Number(key.split('-')[1])
                    t.$refs.wholesale.getEnterpriseCompleteInfoList()
                }else{
                    t.$refs.sumSheet.taskId = Number(keyPath[0].split('-')[0])
                    t.$refs.sumSheet.taskName = keyPath[0].split('-')[1]
                    t.$refs.sumSheet.enterpriseCity = ''
                    t.$refs.sumSheet.enterpriseArea = ''
                    if(t.unitType == 0){
                        t.$refs.sumSheet.sheetStatus=1
                    }else{
                        t.$refs.sumSheet.sheetStatus = t.unitType
                    }
                    t.$refs.sumSheet.activeTab = 1
                    t.$refs.sumSheet.getDataStatistics()
                }
                t.curTab = Number(key.split('-')[1])
            },
            sendJob(){
                this.$refs.send.dialogVisible = true
            }
@@ -88,22 +146,38 @@
        align-items: flex-start;
        .menu-area{
            width: 20%;
            width: 18%;
            .el-menu{
                height: 80vh;
                overflow: hidden;
                overflow-y: scroll;
                &::-webkit-scrollbar { width: 0; height: 0; color: transparent }
                &::scrollbar { width: 0; height: 0; color: transparent }
            }
            .add-btn{
                width: 100%;
                margin-bottom: 20px;
                background: #034EA2;
            }
            .menu-tit{
            ::v-deep.el-submenu__title{
                height: auto;
                line-height: 1.5;
                padding: 20px 24px 20px 0;
                white-space: pre-wrap;
            }
            ::v-deep.el-menu-item{
                width: 100%;
                background: #eee;
                padding: 20px 20px 10px;
                font-size: 18px;
                font-weight: bolder;
                box-sizing: border-box;
                height: auto;
                line-height: 1.5;
                padding: 20px 24px 20px 0;
                min-width: 100px;
                white-space: pre-wrap;
            }
        }
        .table-area{
            width: calc(80% - 20px);
            width: calc(82% - 20px);
        }
    }
</style>