Admin
2022-07-01 5c35d26c03b49303600b861c39c435c8e9461e4d
添加页面
已修改6个文件
已添加6个文件
已删除1个文件
1169 ■■■■ 文件已修改
package.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/menu/bg_home1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/main.ts 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/homeMenu/homeMenu.vue 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/layoutPage/index.vue 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/approvalProcess/addApproveProcess/index.vue 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/approvalProcess/approveProcessManagement/index.vue 289 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/approvalProcess/approveProcessSetting/index.vue 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/approvalProcess/reportTypeSetting/index.vue 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workApplyManagement/workApply/index.vue 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workPlan/departAppointStatistics/index.vue 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workPlan/workAppointSummary/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workPlan/workReservation/index.vue 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package.json
@@ -10,7 +10,7 @@
        "lint-fix": "eslint --fix --ext .js --ext .jsx --ext .vue src/"
    },
    "dependencies": {
        "@element-plus/icons-vue": "^2.0.3",
        "@element-plus/icons-vue": "^2.0.6",
        "@wangeditor/editor": "^5.1.1",
        "axios": "^0.27.2",
        "countup.js": "^2.2.0",
src/assets/menu/bg_home1.jpg
src/main.ts
@@ -7,13 +7,16 @@
import other from '/@/utils/other';
import ElementPlus from 'element-plus';
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
import 'element-plus/dist/index.css';
import '/@/theme/index.scss';
import mitt from 'mitt';
import VueGridLayout from 'vue-grid-layout';
const app = createApp(App);
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
    app.component(key, component)
}
directive(app);
other.elSvg(app);
src/views/homeMenu/homeMenu.vue
@@ -20,7 +20,7 @@
        <div class="menuGrid">
            <div class="gridCont">
                <el-row :gutter="16">
                <el-row :gutter="20">
                    <el-col :span="6"><div class="grid-content" @click="renderMenu('2')"><div class="itemTit">双重预防系统</div><img class="iconImg" src="../../assets/menu/icon4.png"><img class="bgImg" src="../../assets/menu/card4.png"></div></el-col>
                    <el-col :span="6"><div class="grid-content" @click="renderMenu('3')"><div class="itemTit">特殊作业系统</div><img class="iconImg" src="../../assets/menu/icon7.png"><img class="bgImg" src="../../assets/menu/card7.png"></div></el-col>
                    <el-col :span="6"><div class="grid-content" @click="renderMenu('4')"><div class="itemTit">智能巡检系统</div><img class="iconImg" src="../../assets/menu/icon8.png"><img class="bgImg" src="../../assets/menu/card8.png"></div></el-col>
@@ -34,13 +34,13 @@
                        </div>
                    </el-col>
                </el-row>
                <el-row :gutter="16">
                <el-row :gutter="20">
                    <el-col :span="6"><div class="grid-content grid-content-2" @click="renderMenu('6')"><div class="itemTit">应急管理系统</div><img class="iconImg" src="../../assets/menu/icon5.png"><img class="bgImg" src="../../assets/menu/card5.png"></div></el-col>
                    <el-col :span="6"><div class="grid-content grid-content-2" @click="renderMenu('7')"><div class="itemTit">目标责任管理系统</div><img class="iconImg" src="../../assets/menu/icon2.png"><img class="bgImg" src="../../assets/menu/card2.png"></div></el-col>
                    <el-col :span="6"><div class="grid-content grid-content-2" @click="renderMenu('8')"><div class="itemTit">事故管理系统</div><img class="iconImg" src="../../assets/menu/icon6.png"><img class="bgImg" src="../../assets/menu/card6.png"></div></el-col>
                    <el-col :span="6"><div class="grid-content grid-content-2" @click="renderMenu('9')"><div class="itemTit">设备综合管控系统</div><img class="iconImg" src="../../assets/menu/icon9.png"><img class="bgImg" src="../../assets/menu/card9.png"></div></el-col>
                </el-row>
                <el-row :gutter="16">
                <el-row :gutter="20">
                    <el-col :span="6"><div class="grid-content grid-content-3" @click="renderMenu('10')"><div class="itemTit">安全知识图谱系统</div><img class="iconImg" src="../../assets/menu/icon3.png"><img class="bgImg" src="../../assets/menu/card3.png"></div></el-col>
                    <el-col :span="9"><div class="grid-content grid-content-3" @click="renderMenu('11')"><div class="itemTit">危险化学品全生命周期安全<br>管理系统</div><img class="iconImg" src="../../assets/menu/icon10.png"><img class="bgImg" src="../../assets/menu/card10.png"></div></el-col>
                    <el-col :span="9"><div class="grid-content grid-content-3" @click="renderMenu('1')"><div class="itemTit">基础数据权限管理系统</div><img class="iconImg" src="../../assets/menu/icon11.png"><img class="bgImg" src="../../assets/menu/card11.png"></div></el-col>
@@ -94,11 +94,11 @@
            Session.set('projectId',value)
            userInfos.value.projectId = value
            await initBackEndControlRoutes();
            router.push('./')
            router.push('/layoutPage')
        };
        //点击进入特殊作业
        const toSpecialWorkSys = () => {
            router.push('/workReservation');
            router.push('/layoutPage');
        };
        // 页面加载时
        onMounted(() => {
@@ -123,7 +123,7 @@
    width: 100%;
    height: 100%;
    position: relative;
    background: url("../../assets/menu/bg_home.jpg") no-repeat center;
    background: url("../../assets/menu/bg_home1.jpg") no-repeat center;
    .topPanel{
        position: absolute;
        width: 100%;
@@ -218,7 +218,7 @@
        .gridCont{
            width: 1200px;
            .el-row {
                margin-bottom: 16px;
                margin-bottom: 20px;
            }
            .el-row:last-child {
                margin-bottom: 0;
@@ -228,11 +228,11 @@
            }
            .grid-content {
                border-radius: 8px;
                border-radius: 10px;
                height: 234px;
                padding: 32px;
                position: relative;
                background-image: linear-gradient(135deg,#00C0F5,#147AEA);
                background-image: linear-gradient(135deg,#00C0F5,#44b1ff);
                overflow: hidden;
                cursor: pointer;
                transition: .3s;
@@ -263,13 +263,13 @@
                }
            }
            .grid-content-2{
                background-image: linear-gradient(135deg,#0098F5,#1461EA);
            }
            /*.grid-content-2{*/
            /*    background-image: linear-gradient(135deg,#0098F5,#1461EA);*/
            /*}*/
            .grid-content-3{
                background-image: linear-gradient(135deg,#006DF5,#1450EA);
            }
            /*.grid-content-3{*/
            /*    background-image: linear-gradient(135deg,#006DF5,#1450EA);*/
            /*}*/
        }
    }
src/views/layoutPage/index.vue
对比新文件
@@ -0,0 +1,182 @@
<template>
    <div class="home-container">
        <el-row :gutter="15" class="home-card-one mb15">
            <el-col
                :xs="24"
                :sm="12"
                :md="12"
                :lg="4"
                :xl="4"
                v-for="(v, k) in homeOne"
                :key="k"
                :class="{ 'home-media home-media-lg': k > 1, 'home-media-sm': k === 1 }"
            >
                <div class="home-card-item flex" >
                    <el-button @click="renderMenu(v.id)">{{v.name}}</el-button>
                </div>
            </el-col>
        </el-row>
        <el-row :gutter="15" class="home-card-two mb15">
            <el-col :xs="24" :sm="14" :md="14" :lg="16" :xl="16">
                <div class="home-card-item">
                    <div style="height: 100%">
                        <el-button @click="renderMenu('6')">{{'应急管理系统'}}</el-button>
                    </div>
                </div>
            </el-col>
            <el-col :xs="24" :sm="10" :md="10" :lg="8" :xl="8" class="home-media">
                <div class="home-card-item">
                    <div style="height: 100%">
                        <el-button @click="renderMenu('7')">{{'目标责任管理系统'}}</el-button>
                    </div>
                </div>
            </el-col>
        </el-row>
        <el-row :gutter="15" class="home-card-three">
            <el-col :xs="24" :sm="10" :md="10" :lg="8" :xl="8">
                <div class="home-card-item">
                    <el-button @click="renderMenu('8')">{{'事故管理系统'}}</el-button>
                </div>
            </el-col>
            <el-col :xs="24" :sm="14" :md="14" :lg="16" :xl="16" class="home-media">
                <div class="home-card-item">
                    <div style="height: 100%">
                        <el-button @click="renderMenu('9')">{{'设备综合管控系统'}}</el-button>
                    </div>
                </div>
            </el-col>
        </el-row>
    </div>
</template>
<script lang="ts">
import { toRefs, reactive, defineComponent, } from 'vue';
import { storeToRefs } from 'pinia';
import { initBackEndControlRoutes } from '/@/router/backEnd';
import {useUserInfo} from "/@/stores/userInfo";
import { Session } from '/@/utils/storage';
let global: any = {
    homeChartOne: null,
    homeChartTwo: null,
    homeCharThree: null,
    dispose: [null, '', undefined],
};
interface stateType {
    homeOne: Array <type>
}
interface type {
    id:number,
    name: string
}
export default defineComponent({
    name: 'layoutPage',
    setup() {
        const userInfo = useUserInfo()
        const { userInfos } = storeToRefs(userInfo);
        const state  = reactive<stateType>({
            homeOne:[{id:1,name:'基础数据权限管理系统'},{id:2,name:'双重预防系统'},{id:3,name:'系统2'},{id:4,name:'系统3'},{id:5,name:'系统4'}],
        });
        // 折线图
        const renderMenu = async (value: string) => {
            Session.set('projectId',value)
            userInfos.value.projectId = value
            await initBackEndControlRoutes();
        };
        return {
            renderMenu,
            ...toRefs(state),
        };
    },
});
</script>
<style scoped lang="scss">
$homeNavLengh: 8;
.home-container {
    overflow: hidden;
    .home-card-one,
    .home-card-two,
    .home-card-three {
        .home-card-item {
            width: 100%;
            height: 130px;
            border-radius: 4px;
            transition: all ease 0.3s;
            padding: 20px;
            overflow: hidden;
            background: var(--el-color-white);
            color: var(--el-text-color-primary);
            border: 1px solid var(--next-border-color-light);
            &:hover {
                box-shadow: 0 2px 12px var(--next-color-dark-hover);
                transition: all ease 0.3s;
            }
            &-icon {
                width: 70px;
                height: 70px;
                border-radius: 100%;
                flex-shrink: 1;
                i {
                    color: var(--el-text-color-placeholder);
                }
            }
            &-title {
                font-size: 15px;
                font-weight: bold;
                height: 30px;
            }
        }
    }
    .home-card-one {
        @for $i from 0 through 3 {
            .home-one-animation#{$i} {
                opacity: 0;
                animation-name: error-num;
                animation-duration: 0.5s;
                animation-fill-mode: forwards;
                animation-delay: calc($i/10) + s;
            }
        }
    }
    .home-card-two,
    .home-card-three {
        .home-card-item {
            height: 400px;
            width: 100%;
            overflow: hidden;
            .home-monitor {
                height: 100%;
                .flex-warp-item {
                    width: 25%;
                    height: 111px;
                    display: flex;
                    .flex-warp-item-box {
                        margin: auto;
                        text-align: center;
                        color: var(--el-text-color-primary);
                        display: flex;
                        border-radius: 5px;
                        background: var(--next-bg-color);
                        cursor: pointer;
                        transition: all 0.3s ease;
                        &:hover {
                            background: var(--el-color-primary-light-9);
                            transition: all 0.3s ease;
                        }
                    }
                    @for $i from 0 through $homeNavLengh {
                        .home-animation#{$i} {
                            opacity: 0;
                            animation-name: error-num;
                            animation-duration: 0.5s;
                            animation-fill-mode: forwards;
                            animation-delay: calc($i/10) + s;
                        }
                    }
                }
            }
        }
    }
}
</style>
src/views/specialWorkSystem/approvalProcess/addApproveProcess/index.vue
对比新文件
@@ -0,0 +1,148 @@
<template>
    <div class="home-container">
        <el-row>
            <el-button type="primary" size="large" @click="addApprove">新建审批环节</el-button>
        </el-row>
        <el-row>
            <el-table :data="tableData" border style="width: 100%">
                <el-table-column prop="id" label="编号" width="180" />
                <el-table-column prop="step" label="环节名称" width="180" />
                <el-table-column prop="type" label="审核类型"/>
                <el-table-column prop="createTime" label="创建时间" width="180" />
                <el-table-column prop="editor" label="最新编辑人" width="180" />
                <el-table-column prop="editorTime" label="最新编辑时间" />
                <el-table-column fixed="right" label="操作" width="180">
                    <template #default>
                        <el-button link type="primary" size="small">编辑</el-button>
                        <el-button link type="danger" size="small">删除</el-button>
                    </template>
                </el-table-column>
            </el-table>
        </el-row>
        <el-dialog v-model="dialogAddForm" title="新建审批环节">
            <el-form :model="reportForm" label-width="120px">
                <el-form-item label="环节名称">
                    <el-select v-model="reportForm.step" placeholder="选择环节名称">
                        <el-option label="作业负责人审批" value="作业负责人审批" />
                        <el-option label="作业负责人审批2" value="作业负责人审批2" />
                        <el-option label="作业负责人审批3" value="作业负责人审批3" />
                    </el-select>
                </el-form-item>
                <el-form-item label="审核类型">
                    <el-select v-model="reportForm.type" placeholder="选择审核类型">
                        <el-option label="上报审批意见" value="上报审批意见" />
                        <el-option label="上报气体检测数据" value="上报气体检测数据" />
                        <el-option label="上报安全措施确认" value="上报安全措施确认" />
                    </el-select>
                </el-form-item>
                <el-form-item label="最新编辑人">
                    <el-input v-model="reportForm.editor" />
                </el-form-item>
                <el-form-item>
                    <el-button type="primary" @click="onSubmitAddForm" size="default">确认</el-button>
                    <el-button size="default">取消</el-button>
                </el-form-item>
            </el-form>
        </el-dialog>
    </div>
</template>
<script lang="ts">
    import { toRefs, reactive, defineComponent, ref } from 'vue';
    import { storeToRefs } from 'pinia';
    import { initBackEndControlRoutes } from '/@/router/backEnd';
    import {useUserInfo} from "/@/stores/userInfo";
    import { Session } from '/@/utils/storage';
    import { ElMessage } from 'element-plus'
    let global: any = {
        homeChartOne: null,
        homeChartTwo: null,
        homeCharThree: null,
        dispose: [null, '', undefined],
    };
    interface stateType {
        homeOne: Array <type>
    }
    interface type {
    }
    export default defineComponent({
        name: 'reportTypeSetting',
        setup() {
            const userInfo = useUserInfo()
            const { userInfos } = storeToRefs(userInfo);
            const state  = reactive<stateType>({});
            const tableData = [
                {
                    id: '0',
                    step: '作业负责人审批',
                    type: '',
                    createTime: '',
                    editor: '',
                    editorTime: ''
                },
                {
                    id: '1',
                    step: '作业负责人审批',
                    type: '',
                    createTime: '',
                    editor: '',
                    editorTime: ''
                },
                {
                    id: '2',
                    step: '作业负责人审批',
                    type: '',
                    createTime: '',
                    editor: '',
                    editorTime: ''
                }
            ];
            const dialogAddForm = ref(false);
            const reportForm = reactive({
                id: '',
                step: '',
                type: '',
                createTime: '',
                editor: '',
                editorTime: ''
            })
            const addApprove = ()=>{
                dialogAddForm.value = true
            };
            const onSubmitAddForm = () => {
                console.log('submit!')
            }
            // 折线图
            const renderMenu = async (value: string) => {
                Session.set('projectId',value)
                userInfos.value.projectId = value
                await initBackEndControlRoutes();
            };
            return {
                renderMenu,
                tableData,
                dialogAddForm,
                reportForm,
                addApprove,
                onSubmitAddForm,
                ...toRefs(state),
            };
        },
    });
</script>
<style scoped lang="scss">
    $homeNavLengh: 8;
    .home-container {
        overflow: hidden;
        padding: 80px;
        .el-row{
            margin-bottom: 20px;
        }
        .el-row:last-child {
            margin-bottom: 0;
        }
    }
</style>
src/views/specialWorkSystem/approvalProcess/approveProcessManagement/index.vue
对比新文件
@@ -0,0 +1,289 @@
<template>
    <div class="home-container">
        <el-row>
            <el-col :span="12">
                <div class="grid-content topInfo">
                    <div>流程名称</div>
                    <el-input v-model="searchWord" placeholder="请输入关键词"></el-input>
                    <el-button type="primary">查询</el-button>
                    <el-button plain>重置</el-button>
                </div>
            </el-col>
        </el-row>
        <div class="mainPages">
            <div class="main-card">
                <el-row class="cardTop">
                    <el-col :span="12" class="mainCardBtn">
                        <el-button type="primary" :icon="Plus" size="default">新建</el-button>
                        <el-button type="danger" :icon="Delete" size="default">删除</el-button>
                        <el-button type="success" size="default">设置分类</el-button>
                    </el-col>
                    <el-button type="primary" :icon="Refresh" />
                </el-row>
                <el-table
                        ref="multipleTableRef"
                        :data="tableData"
                        style="width: 100%"
                        :header-cell-style="{background: '#fafafa'}"
                        @selection-change="handleSelectionChange"
                >
                    <el-table-column type="selection" width="55" />
                    <el-table-column property="name" label="流程名称" width="200" />
                    <el-table-column property="flowKey" label="流程key" width="180" />
                    <el-table-column property="sort" label="分类"/>
                    <el-table-column label="版本" width="180">
                        <template #default="scope">
                            <el-tag>{{ scope.row.version }}</el-tag>
                        </template>
                    </el-table-column>
                    <el-table-column label="流程状态" width="180">
                        <template #default="scope">
                            <el-tag type="success">{{ scope.row.status }}</el-tag>
                        </template>
                    </el-table-column>
                    <el-table-column property="updateTime" label="更新时间"/>
                    <el-table-column fixed="right" label="操作" width="180">
                        <template #default>
                            <el-button link type="primary" size="small">修改</el-button>
                            <el-button link type="success" size="small">发布</el-button>
                            <el-button link type="danger" size="small">删除</el-button>
                        </template>
                    </el-table-column>
                </el-table>
            </div>
            <div class="pageBtn">
                <el-pagination
                        v-model:currentPage="currentPage"
                        v-model:page-size="pageSize"
                        :page-sizes="[10, 15]"
                        small=false
                        background
                        layout="total, sizes, prev, pager, next, jumper"
                        :total="100"
                        @size-change="handleSizeChange"
                        @current-change="handleCurrentChange"
                />
            </div>
        </div>
    </div>
</template>
<script lang="ts">
    import { toRefs, reactive, defineComponent, ref } from 'vue';
    import { storeToRefs } from 'pinia';
    import { initBackEndControlRoutes } from '/@/router/backEnd';
    import {useUserInfo} from "/@/stores/userInfo";
    import { Session } from '/@/utils/storage';
    import { Plus, Delete, Refresh } from '@element-plus/icons-vue'
    import { ElTable } from 'element-plus'
    let global: any = {
        homeChartOne: null,
        homeChartTwo: null,
        homeCharThree: null,
        dispose: [null, '', undefined],
    };
    interface stateType {
        homeOne: Array <type>
    }
    interface type {
    }
    interface User {
        date: string
        name: string
        address: string
    }
    export default defineComponent({
        name: 'reportTypeSetting',
        setup() {
            const userInfo = useUserInfo()
            const { userInfos } = storeToRefs(userInfo);
            const state  = reactive<stateType>({});
            const multipleTableRef = ref<InstanceType<typeof ElTable>>()
            const multipleSelection = ref<User[]>([])
            const handleSelectionChange = (val: User[]) => {
                multipleSelection.value = val
            }
            const currentPage = ref(1)
            const pageSize = ref(10)
            const handleSizeChange = (val: number) => {
                console.log(`${val} items per page`)
            }
            const handleCurrentChange = (val: number) => {
                console.log(`current page: ${val}`)
            }
            const tableData: User[] = [
                {
                    name: '风险点复评预警',
                    flowKey: 'process111',
                    sort: '未设置',
                    version: 'V:4',
                    status: '已发布',
                    updateTime: '2021-04-22 15:21:31'
                },
                {
                    name: '风险点复评预警',
                    flowKey: 'process111',
                    sort: '未设置',
                    version: 'V:4',
                    status: '已发布',
                    updateTime: '2021-04-22 15:21:31'
                },
                {
                    name: '风险点复评预警',
                    flowKey: 'process111',
                    sort: '未设置',
                    version: 'V:4',
                    status: '已发布',
                    updateTime: '2021-04-22 15:21:31'
                },
                {
                    name: '风险点复评预警',
                    flowKey: 'process111',
                    sort: '未设置',
                    version: 'V:4',
                    status: '已发布',
                    updateTime: '2021-04-22 15:21:31'
                },
                {
                    name: '风险点复评预警',
                    flowKey: 'process111',
                    sort: '未设置',
                    version: 'V:4',
                    status: '已发布',
                    updateTime: '2021-04-22 15:21:31'
                },
                {
                    name: '风险点复评预警',
                    flowKey: 'process111',
                    sort: '未设置',
                    version: 'V:4',
                    status: '已发布',
                    updateTime: '2021-04-22 15:21:31'
                },
                {
                    name: '风险点复评预警',
                    flowKey: 'process111',
                    sort: '未设置',
                    version: 'V:4',
                    status: '已发布',
                    updateTime: '2021-04-22 15:21:31'
                },
                {
                    name: '风险点复评预警',
                    flowKey: 'process111',
                    sort: '未设置',
                    version: 'V:4',
                    status: '已发布',
                    updateTime: '2021-04-22 15:21:31'
                },
                {
                    name: '风险点复评预警',
                    flowKey: 'process111',
                    sort: '未设置',
                    version: 'V:4',
                    status: '已发布',
                    updateTime: '2021-04-22 15:21:31'
                },
                {
                    name: '风险点复评预警',
                    flowKey: 'process111',
                    sort: '未设置',
                    version: 'V:4',
                    status: '已发布',
                    updateTime: '2021-04-22 15:21:31'
                }
            ]
            // 折线图
            const renderMenu = async (value: string) => {
                Session.set('projectId',value)
                userInfos.value.projectId = value
                await initBackEndControlRoutes();
            };
            return {
                renderMenu,
                multipleTableRef,
                tableData,
                currentPage,
                pageSize,
                handleSizeChange,
                handleCurrentChange,
                Plus,
                Delete,
                handleSelectionChange,
                Refresh,
                ...toRefs(state),
            };
        },
    });
</script>
<style scoped lang="scss">
    $homeNavLengh: 8;
    .home-container {
        overflow: hidden;
        padding: 20px 40px;
        .el-row{
            display: flex;
            align-items: center;
            margin-bottom: 20px;
            &:last-child {
                margin-bottom: 0;
            }
            .el-col{
                display: flex;
                align-items: center;
                margin: 20px 0;
            }
            .grid-content{
                align-items: center;
                min-height: 36px;
            }
            .topInfo {
                display: flex;
                align-items: center;
                font-size: 16px;
                font-weight: bold;
                &>div{
                    white-space: nowrap;
                    margin-right: 20px;
                }
            }
        }
        .mainPages{
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }
        .main-card{
            width: 100%;
            padding: 20px;
            background: #fff;
            .cardTop{
                display: flex;
                align-items: center;
                justify-content: space-between;
                .mainCardBtn{
                    margin: 0;
                }
            }
        }
        .pageBtn{
            display: flex;
            align-items: center;
            justify-content: right;
            margin-top: 20px;
            .demo-pagination-block + .demo-pagination-block {
                margin-top: 10px;
            }
            .demo-pagination-block .demonstration {
                margin-bottom: 16px;
            }
        }
    }
</style>
src/views/specialWorkSystem/approvalProcess/approveProcessSetting/index.vue
@@ -19,6 +19,10 @@
                </el-card>
            </div>
        </div>
        <el-row>
            <el-button type="primary" @click="confirmEdit" size="default">确认</el-button>
            <el-button @click="cancelEdit" size="default">取消</el-button>
        </el-row>
        <el-drawer v-model="showAdd" direction="rtl">
            <template #title>
                <h4>新增审批流</h4>
@@ -44,8 +48,8 @@
            </template>
            <template #footer>
                <div style="flex: auto">
                    <el-button @click="cancelClick">取消</el-button>
                    <el-button type="primary" @click="confirmClick(ruleFormRef)">确认</el-button>
                    <el-button type="primary" @click="confirmClick(ruleFormRef)" size="default">确认</el-button>
                    <el-button @click="cancelClick" size="default">取消</el-button>
                </div>
            </template>
        </el-drawer>
@@ -53,8 +57,8 @@
            <span>您确定要删除该审批流吗?</span>
            <template #footer>
              <span class="dialog-footer">
                <el-button @click="deleteDialog = false">取消</el-button>
                <el-button type="primary" @click="conFirmDelete">确认</el-button>
                <el-button type="primary" @click="conFirmDelete" size="default">确认</el-button>
                  <el-button @click="deleteDialog = false" size="default">取消</el-button>
              </span>
            </template>
        </el-dialog>
@@ -140,6 +144,12 @@
                approveSteps.splice( i,1)
                deleteDialog.value = false
            }
            const cancelEdit = () => {
            }
            const confirmEdit = () =>{
            }
            const state  = reactive<stateType>({});
            // 折线图
            const renderMenu = async (value: string) => {
@@ -158,6 +168,8 @@
                deleteFlow,
                addFlow,
                confirmClick,
                cancelEdit,
                confirmEdit,
                ...toRefs(state),
            };
        },
src/views/specialWorkSystem/approvalProcess/reportTypeSetting/index.vue
对比新文件
@@ -0,0 +1,147 @@
<template>
    <div class="home-container">
        <el-row>
            <el-button type="primary" size="large" @click="addReport">新建上报类型</el-button>
        </el-row>
        <el-row>
            <el-table :data="tableData" border style="width: 100%">
                <el-table-column prop="id" label="标识" width="180" />
                <el-table-column prop="type" label="上报数据类型名称" width="180" />
                <el-table-column prop="founder" label="创建人"/>
                <el-table-column prop="createTime" label="创建时间" width="180" />
                <el-table-column prop="editor" label="最新编辑人" width="180" />
                <el-table-column prop="editorTime" label="最新编辑时间" />
                <el-table-column fixed="right" label="操作" width="180">
                    <template #default>
                        <el-button link type="primary" size="small">编辑</el-button>
                        <el-button link type="danger" size="small">删除</el-button>
                    </template>
                </el-table-column>
            </el-table>
        </el-row>
        <el-dialog v-model="dialogAddForm" title="新建上报类型">
            <el-form :model="reportForm" label-width="120px">
                <el-form-item label="上报数据类型">
                    <el-select v-model="reportForm.type" placeholder="选择上报数据类型">
                        <el-option label="上报审批意见" value="上报审批意见" />
                        <el-option label="上报气体监测数据" value="上报气体监测数据" />
                        <el-option label="上报安全措施确认" value="上报安全措施确认" />
                    </el-select>
                </el-form-item>
                <el-form-item label="创建人">
                    <el-select v-model="reportForm.founder" placeholder="选择创建人">
                        <el-option label="创建人1" value="创建人1" />
                        <el-option label="创建人2" value="创建人2" />
                    </el-select>
                </el-form-item>
                <el-form-item label="最新编辑人">
                    <el-input v-model="reportForm.editor" />
                </el-form-item>
                <el-form-item>
                    <el-button type="primary" @click="onSubmitAddForm" size="default">确认</el-button>
                    <el-button size="default">取消</el-button>
                </el-form-item>
            </el-form>
        </el-dialog>
    </div>
</template>
<script lang="ts">
    import { toRefs, reactive, defineComponent, ref } from 'vue';
    import { storeToRefs } from 'pinia';
    import { initBackEndControlRoutes } from '/@/router/backEnd';
    import {useUserInfo} from "/@/stores/userInfo";
    import { Session } from '/@/utils/storage';
    import { ElMessage } from 'element-plus'
    let global: any = {
        homeChartOne: null,
        homeChartTwo: null,
        homeCharThree: null,
        dispose: [null, '', undefined],
    };
    interface stateType {
        homeOne: Array <type>
    }
    interface type {
    }
    export default defineComponent({
        name: 'reportTypeSetting',
        setup() {
            const userInfo = useUserInfo()
            const { userInfos } = storeToRefs(userInfo);
            const state  = reactive<stateType>({});
            const tableData = [
                {
                    id: '0',
                    type: '上报审批意见',
                    founder: '',
                    createTime: '',
                    editor: '',
                    editorTime: ''
                },
                {
                    id: '1',
                    type: '上报气体检测数据',
                    founder: '',
                    createTime: '',
                    editor: '',
                    editorTime: ''
                },
                {
                    id: '2',
                    type: '上报安全措施确认',
                    founder: '',
                    createTime: '',
                    editor: '',
                    editorTime: ''
                }
            ];
            const dialogAddForm = ref(false);
            const reportForm = reactive({
                id: '',
                type: '',
                founder: '',
                createTime: '',
                editor: '',
                editorTime: ''
            })
            const addReport = ()=>{
                dialogAddForm.value = true
            };
            const onSubmitAddForm = () => {
                console.log('submit!')
            }
            // 折线图
            const renderMenu = async (value: string) => {
                Session.set('projectId',value)
                userInfos.value.projectId = value
                await initBackEndControlRoutes();
            };
            return {
                renderMenu,
                tableData,
                dialogAddForm,
                reportForm,
                addReport,
                onSubmitAddForm,
                ...toRefs(state),
            };
        },
    });
</script>
<style scoped lang="scss">
    $homeNavLengh: 8;
    .home-container {
        overflow: hidden;
        padding: 80px;
        .el-row{
            margin-bottom: 20px;
        }
        .el-row:last-child {
            margin-bottom: 0;
        }
    }
</style>
src/views/specialWorkSystem/workApplyManagement/workApply/index.vue
对比新文件
@@ -0,0 +1,130 @@
<template>
    <div class="home-container">
        <el-form :model="form" label-width="120px">
            <el-row>
                <el-col :span="8">
                    <el-form-item label="申请部门">
                        <el-select v-model="form.department" placeholder="请选择部门">
                            <el-option label="机修班" value="机修班" />
                            <el-option label="火工班" value="火工班" />
                        </el-select>
                    </el-form-item>
                </el-col>
                <el-col :span="8">
                    <el-form-item label="申请人">
                        <el-select v-model="form.applyName" placeholder="请选择">
                            <el-option label="胡海涛" value="胡海涛" />
                            <el-option label="其他人" value="其他人" />
                        </el-select>
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="8">
                    <el-form-item label="作业等级">
                        <el-select v-model="form.level" placeholder="请选择">
                            <el-option label="一" value="一" />
                            <el-option label="二" value="二" />
                        </el-select>
                    </el-form-item>
                </el-col>
                <el-col :span="8">
                    <el-form-item label="危害辨识">
                        <el-select v-model="form.riskIdentify" placeholder="请选择">
                            <el-option label="辨识一" value="辨识一" />
                            <el-option label="辨识二" value="辨识二" />
                        </el-select>
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="8">
                    <el-form-item label="动火方式">
                        <el-select v-model="form.workWay" placeholder="请选择">
                            <el-option label="方式一" value="方式一" />
                            <el-option label="方式二" value="方式二" />
                        </el-select>
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="8">
                    <el-button type="primary" size="default">添加作业人</el-button>
                </el-col>
            </el-row>
        </el-form>
    </div>
</template>
<script lang="ts">
    import { toRefs, reactive, defineComponent, ref } from 'vue';
    import { storeToRefs } from 'pinia';
    import { initBackEndControlRoutes } from '/@/router/backEnd';
    import {useUserInfo} from "/@/stores/userInfo";
    import { Session } from '/@/utils/storage';
    let global: any = {
        homeChartOne: null,
        homeChartTwo: null,
        homeCharThree: null,
        dispose: [null, '', undefined],
    };
    interface stateType {
        homeOne: Array <type>
    }
    interface type {
    }
    export default defineComponent({
        name: 'workApply',
        setup() {
            const userInfo = useUserInfo()
            const { userInfos } = storeToRefs(userInfo);
            const state  = reactive<stateType>({
                homeOne:[{id:1,name:'基础数据权限管理系统'},{id:2,name:'双重预防系统'},{id:3,name:'系统2'},{id:4,name:'系统3'},{id:5,name:'系统4'}],
            });
            const form = reactive({
                department: '',
                applyName: '',
                level: '',
                riskIdentify: '',
                workWay: ''
            })
            const onSubmit = () => {
                console.log('submit!')
            }
            // 折线图
            const renderMenu = async (value: string) => {
                Session.set('projectId',value)
                userInfos.value.projectId = value
                await initBackEndControlRoutes();
            };
            return {
                renderMenu,
                form,
                onSubmit,
                ...toRefs(state),
            };
        },
    });
</script>
<style scoped lang="scss">
    $homeNavLengh: 8;
    .home-container {
        overflow: hidden;
        padding: 40px;
        .el-row{
            margin-bottom: 20px;
        }
        .el-row:last-child {
            margin-bottom: 0;
        }
        .el-col{
            display: flex;
            align-items: center;
            margin-bottom: 10px;
        }
    }
</style>
src/views/specialWorkSystem/workPlan/departAppointStatistics/index.vue
文件已删除
src/views/specialWorkSystem/workPlan/workAppointSummary/index.vue
@@ -31,8 +31,8 @@
            </el-col>
            <el-col :span="12" class="topBtns">
                <div class="grid-content topInfo">
                    <div style="margin-right: 20px"><el-button type="primary" plain>查询历史</el-button></div>
                    <div><el-button type="primary" @click="dialogChartsVisible = true">查看统计图表</el-button></div>
                    <div style="margin-right: 20px"><el-button type="primary" plain size="default">查询历史</el-button></div>
                    <div><el-button type="primary" @click="dialogChartsVisible = true" size="default">查看统计图表</el-button></div>
                </div>
            </el-col>
        </el-row>
@@ -49,7 +49,7 @@
                <el-table-column prop="high" label="高处" />
                <el-table-column prop="block" label="盲板抽堵" width="180" />
                <el-table-column prop="tempUse" label="临时用电" width="180" />
                <el-table-column fixed label="操作">
                <el-table-column fixed="right" label="操作">
                    <template #default>
                        <el-button link type="primary" size="small">操作</el-button>
                    </template>
src/views/specialWorkSystem/workPlan/workReservation/index.vue
@@ -44,18 +44,18 @@
        </el-row>
        <el-row>
            <el-table :data="tableData" border style="width: 100%">
                <el-table-column prop="id" label="编号" width="180" />
                <el-table-column prop="time" label="预约时间" width="180" />
                <el-table-column prop="department" label="预约部门" />
                <el-table-column prop="dirtyWork" label="动土作业" width="180" />
                <el-table-column prop="fireWork" label="动火作业" width="180" />
                <el-table-column prop="hangWork" label="吊装作业" />
                <el-table-column prop="spaceWork" label="受限空间作业" width="180" />
                <el-table-column prop="cut" label="断路" width="180" />
                <el-table-column prop="id" label="编号" width="120" />
                <el-table-column prop="time" label="预约时间" width="150" />
                <el-table-column prop="department" label="预约部门" width="180" />
                <el-table-column prop="dirtyWork" label="动土作业" width="100" />
                <el-table-column prop="fireWork" label="动火作业" width="100" />
                <el-table-column prop="hangWork" label="吊装作业" width="100" />
                <el-table-column prop="spaceWork" label="受限空间作业"/>
                <el-table-column prop="cut" label="断路"/>
                <el-table-column prop="high" label="高处" />
                <el-table-column prop="block" label="盲板抽堵" width="180" />
                <el-table-column prop="tempUse" label="临时用电" width="180" />
                <el-table-column fixed label="操作">
                <el-table-column prop="block" label="盲板抽堵"/>
                <el-table-column prop="tempUse" label="临时用电"/>
                <el-table-column fixed="right" label="操作">
                    <template #default>
                        <el-button link type="primary" size="small">操作</el-button>
                    </template>
@@ -87,8 +87,8 @@
            </el-form>
            <template #footer>
              <span class="dialog-footer">
                <el-button @click="dialogFormVisible = false">取消</el-button>
                <el-button type="primary" @click="dialogFormVisible = false">确认</el-button>
                <el-button @click="dialogFormVisible = false" size="default">取消</el-button>
                <el-button type="primary" @click="dialogFormVisible = false" size="default">确认</el-button>
              </span>
            </template>
        </el-dialog>
@@ -230,7 +230,7 @@
        .el-col{
            display: flex;
            align-items: center;
            margin: 40px 0;
            margin: 40px 0 20px;
        }
        .grid-content{
            align-items: center;