From cfa8a00451d70915cbf3d9b48969856fc09f76b1 Mon Sep 17 00:00:00 2001
From: Admin <978517621@qq.com>
Date: 星期四, 18 八月 2022 13:50:32 +0800
Subject: [PATCH] Default Changelist

---
 src/assets/warningScreen/riskprocast.jpg                            |    0 
 src/router/route.ts                                                 |    8 
 src/views/doublePrevent/dpIndex/index.vue                           |   28 +-
 src/views/intellectInspect/intelligentLine/index.vue                |   38 +-
 src/views/riskWarningSys/warningBigScreen/index.vue                 |  407 +++++++++++++++++++++++++++++++++++++
 src/views/specialWorkSystem/workApplyManage/workTicket/index.vue    |  113 ++-------
 src/views/specialWorkSystem/workApplyManage/workApplyForm/index.vue |   24 -
 src/api/specialWorkSystem/workApply/fire/index.ts                   |   14 +
 src/assets/warningScreen/logo_dark.png                              |    0 
 9 files changed, 500 insertions(+), 132 deletions(-)

diff --git a/src/api/specialWorkSystem/workApply/fire/index.ts b/src/api/specialWorkSystem/workApply/fire/index.ts
new file mode 100644
index 0000000..ddf2bd3
--- /dev/null
+++ b/src/api/specialWorkSystem/workApply/fire/index.ts
@@ -0,0 +1,14 @@
+import request from '/@/utils/request';
+
+export function fireApplyApi() {
+    return {
+        // 动火申请
+        postFireApply: (data: object) => {
+            return request({
+                url: import.meta.env.VITE_API_URL + `/work/apply/hot`,
+                method: 'post',
+                data: data
+            });
+        }
+    };
+}
diff --git a/src/assets/warningScreen/logo_dark.png b/src/assets/warningScreen/logo_dark.png
new file mode 100644
index 0000000..8d9d810
--- /dev/null
+++ b/src/assets/warningScreen/logo_dark.png
Binary files differ
diff --git a/src/assets/warningScreen/riskprocast.jpg b/src/assets/warningScreen/riskprocast.jpg
new file mode 100644
index 0000000..e2cc4b9
--- /dev/null
+++ b/src/assets/warningScreen/riskprocast.jpg
Binary files differ
diff --git a/src/router/route.ts b/src/router/route.ts
index cbfd47e..5ee3c9e 100644
--- a/src/router/route.ts
+++ b/src/router/route.ts
@@ -103,5 +103,13 @@
         meta: {
             title: '双重预防首页'
         }
+    },
+    {
+        path: '/warningScreen',
+        name: 'warningScreen',
+        component: () => import('/@/views/riskWarningSys/warningBigScreen/index.vue'),
+        meta: {
+            title: '预警预报'
+        }
     }
 ];
diff --git a/src/views/doublePrevent/dpIndex/index.vue b/src/views/doublePrevent/dpIndex/index.vue
index 562af77..14d3936 100644
--- a/src/views/doublePrevent/dpIndex/index.vue
+++ b/src/views/doublePrevent/dpIndex/index.vue
@@ -44,7 +44,7 @@
                 <div class="item-head">
                     <span>隐患整改情况</span>
                 </div>
-                <div id="riskFix"></div>
+                <div class="riskFix" :id="riskFixId"></div>
             </div>
             <div class="table-item">
                 <div class="item-head">
@@ -84,7 +84,7 @@
                 <div class="item-head">
                     <span>隐患等级分布</span>
                 </div>
-                <div id="riskLevel"></div>
+                <div class="riskLevel" :id="riskLevelId"></div>
             </div>
         </div>
         </el-scrollbar>
@@ -146,6 +146,8 @@
                 classGroupList: [],
                 inspectPointAllList: []
             });
+            const riskFixId = ref("eChartFix" + Date.now() + Math.random())
+            const riskLevelId = ref("eChartLe" + Date.now() + Math.random())
 
             // 页面载入时执行方法
             onMounted(() => {
@@ -200,14 +202,14 @@
 
             // 隐患整改情况
             const initRiskFix =()=>{
-                var dom = document.getElementById('riskFix');
-                var myChart = echarts.init(dom, null, {
+                const dom = document.getElementById(riskFixId.value);
+                let myChart = echarts.init(dom, null, {
                     renderer: 'canvas',
                     useDirtyRect: false
                 });
-                var app = {};
+                let app = {};
 
-                var option;
+                let option;
 
                 option = {
                     tooltip: {
@@ -273,14 +275,14 @@
 
             // 隐患整改情况
             const initRiskLevel =()=>{
-                var dom = document.getElementById('riskLevel');
-                var myChart = echarts.init(dom, null, {
+                const dom = document.getElementById(riskLevelId.value);
+                let myChart = echarts.init(dom, null, {
                     renderer: 'canvas',
                     useDirtyRect: false
                 });
-                var app = {};
+                let app = {};
 
-                var option;
+                let option;
 
                 option = {
                     tooltip: {
@@ -369,6 +371,8 @@
                 Refresh,
                 Plus,
                 router,
+                riskFixId,
+                riskLevelId,
                 toRiskEve,
                 toRiskStatus,
                 toRevice,
@@ -515,10 +519,10 @@
                         }
                     }
                 }
-                #riskFix{
+                .riskFix{
                     height: 300px;
                 }
-                #riskLevel{
+                .riskLevel{
                     height: 300px
                 }
                 .deviceTable{
diff --git a/src/views/intellectInspect/intelligentLine/index.vue b/src/views/intellectInspect/intelligentLine/index.vue
index 6fee9ce..bfb9b95 100644
--- a/src/views/intellectInspect/intelligentLine/index.vue
+++ b/src/views/intellectInspect/intelligentLine/index.vue
@@ -317,7 +317,7 @@
                 height: 24px;
                 border-radius: 50%;
                 position: absolute;
-                border: 1px solid rgba(0, 225, 255, 0.6);
+                border: 1px solid rgba(0, 114, 255, 0.6);
                 top: -12px;
                 left: 10px;
 
@@ -331,7 +331,7 @@
                     -moz-border-radius: 50%;
                     border: 1px solid #0072ff;
                     border-radius: 50%;
-                    background-color: #00e1ff;
+                    background-color: #0072ff;
                     z-index: 2;
                 }
                 .pulse {
@@ -340,7 +340,7 @@
                     height: 48px;
                     left: -13px;
                     top: -13px;
-                    border: 1px solid #00e1ff;
+                    border: 1px solid #0072ff;
                     -webkit-border-radius: 50%;
                     -moz-border-radius: 50%;
                     border-radius: 50%;
@@ -352,7 +352,7 @@
                     -webkit-animation-iteration-count: infinite;
                     -moz-animation-iteration-count: infinite;
                     animation-iteration-count: infinite;
-                    box-shadow: 1px 1px 30px #00e1ff;
+                    box-shadow: 1px 1px 30px #0072ff;
                 }
                 .pulse1 {
                     position: absolute;
@@ -360,7 +360,7 @@
                     height: 48px;
                     left: -13px;
                     top: -13px;
-                    border: 1px solid #00e1ff;
+                    border: 1px solid #0072ff;
                     -webkit-border-radius: 50%;
                     -moz-border-radius: 50%;
                     border-radius: 50%;
@@ -372,7 +372,7 @@
                     -webkit-animation-iteration-count: infinite;
                     -moz-animation-iteration-count: infinite;
                     animation-iteration-count: infinite;
-                    box-shadow: 1px 1px 30px #00e1ff;
+                    box-shadow: 1px 1px 30px #0072ff;
                 }
             }
             & > div {
@@ -525,7 +525,7 @@
                 height: 24px;
                 border-radius: 50%;
                 position: absolute;
-                border: 1px solid rgba(0, 225, 255, 0.6);
+                border: 1px solid rgba(0, 114, 255, 0.6);
                 top: -12px;
                 left: 10px;
 
@@ -537,9 +537,9 @@
                     top: 5px;
                     -webkit-border-radius: 50%;
                     -moz-border-radius: 50%;
-                    border: 1px solid #0072ff;
+                    border: 1px solid #0072FF;
                     border-radius: 50%;
-                    background-color: #00e1ff;
+                    background-color: #0072FF;
                     z-index: 2;
                 }
                 .pulse {
@@ -548,7 +548,7 @@
                     height: 48px;
                     left: -13px;
                     top: -13px;
-                    border: 1px solid #00e1ff;
+                    border: 1px solid #0072FF;
                     -webkit-border-radius: 50%;
                     -moz-border-radius: 50%;
                     border-radius: 50%;
@@ -560,7 +560,7 @@
                     -webkit-animation-iteration-count: infinite;
                     -moz-animation-iteration-count: infinite;
                     animation-iteration-count: infinite;
-                    box-shadow: 1px 1px 30px #00e1ff;
+                    box-shadow: 1px 1px 30px #0072FF;
                 }
                 .pulse1 {
                     position: absolute;
@@ -568,7 +568,7 @@
                     height: 48px;
                     left: -13px;
                     top: -13px;
-                    border: 1px solid #00e1ff;
+                    border: 1px solid #0072FF;
                     -webkit-border-radius: 50%;
                     -moz-border-radius: 50%;
                     border-radius: 50%;
@@ -580,7 +580,7 @@
                     -webkit-animation-iteration-count: infinite;
                     -moz-animation-iteration-count: infinite;
                     animation-iteration-count: infinite;
-                    box-shadow: 1px 1px 30px #00e1ff;
+                    box-shadow: 1px 1px 30px #0072FF;
                 }
             }
             & > div {
@@ -734,7 +734,7 @@
                 height: 24px;
                 border-radius: 50%;
                 position: absolute;
-                border: 1px solid rgba(0, 225, 255, 0.6);
+                border: 1px solid rgba(0, 114, 255, 0.6);
                 top: -12px;
                 left: 2px;
 
@@ -748,7 +748,7 @@
                     -moz-border-radius: 50%;
                     border: 1px solid #0072ff;
                     border-radius: 50%;
-                    background-color: #00e1ff;
+                    background-color: #0072ff;
                     z-index: 2;
                 }
                 .pulse {
@@ -757,7 +757,7 @@
                     height: 48px;
                     left: -13px;
                     top: -13px;
-                    border: 1px solid #00e1ff;
+                    border: 1px solid #0072ff;
                     -webkit-border-radius: 50%;
                     -moz-border-radius: 50%;
                     border-radius: 50%;
@@ -769,7 +769,7 @@
                     -webkit-animation-iteration-count: infinite;
                     -moz-animation-iteration-count: infinite;
                     animation-iteration-count: infinite;
-                    box-shadow: 1px 1px 30px #00e1ff;
+                    box-shadow: 1px 1px 30px #0072ff;
                 }
                 .pulse1 {
                     position: absolute;
@@ -777,7 +777,7 @@
                     height: 48px;
                     left: -13px;
                     top: -13px;
-                    border: 1px solid #00e1ff;
+                    border: 1px solid #0072ff;
                     -webkit-border-radius: 50%;
                     -moz-border-radius: 50%;
                     border-radius: 50%;
@@ -789,7 +789,7 @@
                     -webkit-animation-iteration-count: infinite;
                     -moz-animation-iteration-count: infinite;
                     animation-iteration-count: infinite;
-                    box-shadow: 1px 1px 30px #00e1ff;
+                    box-shadow: 1px 1px 30px #0072ff;
                 }
             }
             & > div {
diff --git a/src/views/riskWarningSys/warningBigScreen/index.vue b/src/views/riskWarningSys/warningBigScreen/index.vue
new file mode 100644
index 0000000..14a11d4
--- /dev/null
+++ b/src/views/riskWarningSys/warningBigScreen/index.vue
@@ -0,0 +1,407 @@
+<template>
+    <div class="container">
+        <div class="header-content">
+            <div class="logo">
+                <img src="../../../assets/warningScreen/logo_dark.png" alt="" />
+            </div>
+            <div class="title">风险预警预报平台</div>
+            <div class="title-right">
+<!--                <img src="themeStyle.skinIcon" class="qiehuan" @click="changeTheme" />-->
+                <span class="datetime">{{currentTime}}</span>
+                <div class="btns">
+                    <div class="fullbtn" @click="onScreenfullClick">
+                        <div class="toFull">
+                            <i class="iconfont" :title="isScreenfull ? $t('message.user.title6') : $t('message.user.title5')" :class="!isScreenfull ? 'icon-fullscreen' : 'icon-tuichuquanping'"></i>
+                        </div>
+                        <div>全屏</div>
+                    </div>
+                    <div class="backBtn" @click="goBack()">
+                        <img src="../../../assets/loginPage/back-icon.png"/>
+                        <div>退出</div>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="main-content">
+            <div class="main-left">
+                <div class="left-top">
+
+                </div>
+                <div class="left-mid">
+
+                </div>
+                <div class="left-bottom">
+
+                </div>
+            </div>
+            <div class="main-middle">
+                <div class="mid-top">
+
+                </div>
+                <div class="mid-bottom">
+                    <div class="mid-bot-l">
+
+                    </div>
+                    <div class="mid-bot-m">
+
+                    </div>
+                    <div class="mid-bot-r">
+
+                    </div>
+                </div>
+            </div>
+            <div class="main-right">
+                <div class="right-top">
+
+                </div>
+                <div class="right-mid">
+
+                </div>
+                <div class="right-bottom">
+
+                </div>
+            </div>
+        </div>
+    </div>
+</template>
+
+<script lang="ts">
+    import screenfull from 'screenfull';
+    import { toRefs, reactive, ref, onMounted } from 'vue';
+    import { ElTable } from 'element-plus';
+    import { FormInstance, FormRules, ElMessage } from 'element-plus';
+    import { safetyRiskEventApi } from '/@/api/doublePreventSystem/safetyRiskEvent/index.ts';
+    import { useRouter } from 'vue-router';
+    import {hiddenReportApi} from "/@/api/doublePreventSystem/report";
+    import { productionDeviceApi } from '/@/api/doublePreventSystem/productionDevice/index.ts';
+    import * as echarts from 'echarts/core';
+    import {TooltipComponent, TooltipComponentOption, LegendComponent, LegendComponentOption} from 'echarts/components';
+    import {PieChart, PieSeriesOption} from 'echarts/charts';
+    import {LabelLayout} from 'echarts/features';
+    import {CanvasRenderer} from 'echarts/renderers';
+    echarts.use([TooltipComponent, LegendComponent, PieChart, CanvasRenderer, LabelLayout]);
+    // 定义接口来定义对象的类型
+    interface stateType {
+        isScreenfull: boolean;
+        currentTime: string
+    }
+    export default {
+        name: 'warningScreen',
+        components: {},
+        setup() {
+            const router = useRouter();
+            const state = reactive<stateType>({
+                isScreenfull: false,
+                currentTime: ''
+            });
+
+            // 页面载入时执行方法
+            onMounted(() => {
+                setInterval(() => {
+                    state.currentTime = new Date().toLocaleString();
+                    console.log(state.currentTime)
+                }, 1000);
+            });
+
+            // 全屏
+            const onScreenfullClick = () => {
+                if (!screenfull.isEnabled) {
+                    ElMessage.warning('暂不不支持全屏');
+                    return false;
+                }
+                screenfull.toggle();
+                screenfull.on('change', () => {
+                    if (screenfull.isFullscreen) {
+                        state.isScreenfull = true;
+                    } else {
+                        state.isScreenfull = false;
+                    }
+                });
+            };
+
+            // 返回上一页
+            const goBack = () => {
+                window.history.go(-1);
+            };
+
+            // 隐患状态列表
+            // const getDeviceRecord = async () => {
+            //     const data = { pageSize: state.pageSize, pageIndex: state.pageIndex};
+            //     let res = await productionDeviceApi().getProductionDeviceList(data)
+            //     if (res.data.code === '200'){
+            //         state.deviceData = res.data.data
+            //     } else {
+            //         ElMessage({
+            //             type: 'warning',
+            //             message: res.data.msg
+            //         });
+            //     }
+            // };
+
+            // 隐患整改情况
+            // const initRiskFix =()=>{
+            //     var dom = document.getElementById('riskFix');
+            //     var myChart = echarts.init(dom, null, {
+            //         renderer: 'canvas',
+            //         useDirtyRect: false
+            //     });
+            //     var app = {};
+            //
+            //     var option;
+            //
+            //     option = {
+            //         tooltip: {
+            //             trigger: 'item'
+            //         },
+            //         legend: {
+            //             bottom: '5%',
+            //             left: 'center'
+            //         },
+            //         series: [
+            //             {
+            //                 name: 'Access From',
+            //                 type: 'pie',
+            //                 radius: ['35%', '60%'],
+            //                 avoidLabelOverlap: false,
+            //                 itemStyle: {
+            //                     borderRadius: 6,
+            //                     borderColor: '#fff',
+            //                     borderWidth: 2
+            //                 },
+            //                 label: {
+            //                     alignTo: 'labelLine',
+            //                     formatter: '{name|{b}}\n{value|{c}}',
+            //                     minMargin: 5,
+            //                     edgeDistance: 5,
+            //                     lineHeight: 15,
+            //                     rich: {
+            //                         name: {
+            //                             fontSize: 14,
+            //                             color: '#666'
+            //                         }
+            //                     }
+            //                 },
+            //                 labelLine: {
+            //                     length: 15,
+            //                     maxSurfaceAngle: 80
+            //                 },
+            //                 emphasis: {
+            //                     label: {
+            //                         show: true,
+            //                         fontSize: '40',
+            //                         fontWeight: 'bold'
+            //                     }
+            //                 },
+            //                 data: [
+            //                     { value: 1048, name: '整改中' },
+            //                     { value: 735, name: '待验收' },
+            //                     { value: 580, name: '延期整改' },
+            //                     { value: 484, name: '超期未整改' },
+            //                     { value: 300, name: '已验收' }
+            //                 ],
+            //                 center: ['50%','40%']
+            //             }
+            //         ]
+            //     };
+            //
+            //     if (option && typeof option === 'object') {
+            //         myChart.setOption(option);
+            //     }
+            //
+            //     window.addEventListener('resize', myChart.resize);
+            // }
+
+            return {
+                router,
+                onScreenfullClick,
+                goBack,
+                ...toRefs(state)
+            };
+        }
+    };
+</script>
+
+<style scoped lang="scss">
+    $homeNavLengh: 8;
+
+    @media screen and (min-width: 1366px) {
+
+    }
+
+    @media screen and (min-width: 1024px) and (max-width: 1366px){
+
+    }
+
+    @media screen and (max-width: 1024px) {
+
+    }
+    .container {
+        width: 100%;
+        height: 100%;
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        background: url('../../../assets/warningScreen/riskprocast.jpg') no-repeat center;
+        background-size: 100% 100%;
+        color: #11FEEE;
+
+        .header-content {
+            width: 100%;
+            height: 80px;
+            padding: 0 20px;
+            font-size: 20px;
+            display: flex;
+            align-items: center;
+            justify-content: space-around;
+            z-index: 9;
+
+            .logo {
+                width: 27%;
+                display: flex;
+                align-items: center;
+                justify-content: center;
+                img {
+                    height: 35px;
+                    width: 128px;
+                }
+            }
+            .title {
+                width: 46%;
+                font-size: 26px;
+                font-weight: bolder;
+                line-height: 80px;
+                text-align: center;
+                letter-spacing: 2px;
+            }
+
+            .title-right {
+                width: 27%;
+                height: 90px;
+                display: flex;
+                align-items: center;
+                justify-content: space-around;
+                font-size: 15px;
+                padding-left: 30px;
+
+                .datetime {
+                    color: #11FEEE;
+                }
+                .btns{
+                    display: flex;
+                    align-items: center;
+
+                    &>div{
+                        display: flex;
+                        align-items: center;
+                        align-items: center;
+                        font-size: 15px;
+                        margin-right: 20px;
+
+                        img{
+                            width: 16px;
+                            height: auto;
+                        }
+                        div{
+                            margin-left: 6px;
+                        }
+                    }
+                }
+            }
+        }
+        .main-content{
+            width: 100%;
+            height: 100%;
+            padding: 20px;
+            display: flex;
+            align-items: center;
+            justify-content: space-between;
+
+            .main-left{
+                width: calc(25% - 10px);
+                height: 100%;
+                display: flex;
+                flex-direction: column;
+                justify-content: space-between;
+                align-items: flex-start;
+
+                .left-top{
+                    width: 100%;
+                    height: calc((100%/3) - (40px/3));
+                }
+                .left-mid{
+                    width: 100%;
+                    height: calc((100%/3) - (40px/3));
+                }
+                .left-bottom{
+                    width: 100%;
+                    height: calc((100%/3) - (40px/3));
+                }
+            }
+            .main-middle{
+                width: calc(50% - 20px);
+                height: 100%;
+                display: flex;
+                flex-direction: column;
+                justify-content: space-between;
+                align-items: flex-start;
+
+                .mid-top{
+                    width: 100%;
+                    height: calc((200%/3) - (80px/3) + 20px);
+                }
+
+                .mid-bottom{
+                    display: flex;
+                    width: 100%;
+                    height: calc(100% - (200%/3) + (80px/3) - 40px);
+                    justify-content: space-between;
+
+                    &>div {
+                        position: relative;
+                        width: calc((100% - 40px)/3);
+                        border-radius: 8px;
+                        overflow: hidden;
+
+                        .chart-tit {
+                            position: absolute;
+                            left: 20px;
+                            top: 20px;
+                            font-weight: 700;
+                            z-index: 3;
+                        }
+                    }
+                }
+            }
+            .main-right{
+                width: calc(25% - 10px);
+                height: 100%;
+                display: flex;
+                flex-direction: column;
+                justify-content: space-between;
+                align-items: flex-start;
+
+                .right-top{
+                    width: 100%;
+                    height: calc((100%/3) - (40px/3));
+                }
+                .right-mid{
+                    width: 100%;
+                    height: calc((100%/3) - (40px/3));
+                }
+                .right-bottom{
+                    width: 100%;
+                    height: calc((100%/3) - (40px/3));
+                }
+            }
+        }
+    }
+    .el-input {
+        width: 100% !important;
+    }
+    .el-date-editor::v-deep {
+        width: 100%;
+    }
+    .el-select {
+        width: 100%;
+    }
+</style>
\ No newline at end of file
diff --git a/src/views/specialWorkSystem/workApplyManage/workApplyForm/index.vue b/src/views/specialWorkSystem/workApplyManage/workApplyForm/index.vue
index 466fa00..f73f27d 100644
--- a/src/views/specialWorkSystem/workApplyManage/workApplyForm/index.vue
+++ b/src/views/specialWorkSystem/workApplyManage/workApplyForm/index.vue
@@ -219,9 +219,7 @@
 			</div>
 		</el-form>
 		<div class="applyBtn">
-			<el-col :span="24" class="submitBtn">
-				<el-button type="primary" size="large" plain @click="handleApply(ruleFormRef2)">发起申请</el-button>
-			</el-col>
+			<el-button type="primary" size="large" plain @click="handleApply(ruleFormRef2)">发起申请</el-button>
 		</div>
 		<el-dialog v-model="dialogAddWorker" title="添加作业人">
 			<el-form :model="addWorkerForm" label-width="120px" :rules="addWorkerRules" ref='ruleFormRef3'>
@@ -624,26 +622,20 @@
 		.homeCard{
 			width: 100%;
 			padding: 20px;
+			box-sizing: border-box;
 			background: #fff;
 			border-radius: 4px;
 			margin-bottom: 20px;
-
-			&:last-of-type{
-				margin-bottom: 100px;
-			}
 		}
 		.applyBtn{
-			position: absolute;
 			width: 100%;
-			padding: 20px;
 			background: #fff;
-			bottom: 0;
-			left: 0;
 			height: 80px;
-			z-index: 999;
-			margin-bottom: 0;
-			border-radius: 0;
+			z-index: 5;
 			box-shadow: 0 -3px 8px rgba(150,150,150,.1);
+			display: flex;
+			align-items: center;
+			justify-content: center;
 		}
 		.el-row{
 			margin-bottom: 20px;
@@ -662,10 +654,6 @@
 		}
 		.el-cascader{
 			width: 100% !important;
-		}
-		.submitBtn{
-			display: flex;
-			justify-content: center;
 		}
 	}
 </style>
diff --git a/src/views/specialWorkSystem/workApplyManage/workTicket/index.vue b/src/views/specialWorkSystem/workApplyManage/workTicket/index.vue
index f73f27d..6310e43 100644
--- a/src/views/specialWorkSystem/workApplyManage/workTicket/index.vue
+++ b/src/views/specialWorkSystem/workApplyManage/workTicket/index.vue
@@ -2,32 +2,20 @@
 	<div class="home-container">
 		<div style="height: 100%">
 		<el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef2">
-<!--			<blind-panel-form :bpForm="form.addForm" ref="additionalForm"></blind-panel-form>-->
-<!--			<cut-line-form :clForm="form.addForm" ref="additionalForm"></cut-line-form>-->
-<!--			<dirt-work-form :dwForm="form.addForm" ref="additionalForm"></dirt-work-form>-->
-			<fire-work-form :fwForm="form.addForm" ref="additionalForm"></fire-work-form>
-<!--			<hang-load-form :hlForm="form.addForm" ref="additionalForm"></hang-load-form>-->
-<!--			<high-work-form :hwForm="form.addForm" ref="additionalForm"></high-work-form>-->
-<!--			<limited-space-form :lsForm="form.addForm" ref="additionalForm"></limited-space-form>-->
-<!--			<temp-elect-form :teForm="form.addForm" ref="additionalForm"></temp-elect-form>-->
-			<div>
 			<div class="homeCard">
 			<el-row>
-				<el-col :span="3"><el-button type="primary" size="default" @click="dialogAddWorker = true">添加作业人</el-button></el-col>
-				<el-col :span="21">
-					<el-table :data="form.workerList" style="width: 100%">
-						<el-table-column type="index" label="序号" width="100"/>
-						<el-table-column prop="worker" label="作业人"/>
-						<el-table-column prop="role" label="作业人角色" width="180"/>
-						<el-table-column prop="unit" label="所属单位" width="180" />
-						<el-table-column prop="certificate" label="证书名称" width="180" />
-						<el-table-column prop="certificateId" label="证书号" />
-						<el-table-column fixed="right" label="操作" align="center" width="180">
-							<template #default="scope">
-								<el-button link type="danger" size="small" @click="deleteRow(scope.$index)">删除</el-button>
+				<el-col :span="12">
+					<el-form-item label="作业人" prop="operatorUid">
+						<el-input
+								v-model="form.operatorUid"
+								placeholder="请输入"
+								class="input-with-select"
+						>
+							<template #append>
+								<el-button :icon="Search" />
 							</template>
-						</el-table-column>
-					</el-table>
+						</el-input>
+					</el-form-item>
 				</el-col>
 			</el-row>
 			<el-row>
@@ -216,7 +204,6 @@
 				</el-col>
 			</el-row>
 			</div>
-			</div>
 		</el-form>
 		<div class="applyBtn">
 			<el-button type="primary" size="large" plain @click="handleApply(ruleFormRef2)">发起申请</el-button>
@@ -350,56 +337,34 @@
 	import { Search } from '@element-plus/icons-vue'
 	import { ElMessage } from 'element-plus'
 	import type { FormInstance, FormRules } from 'element-plus'
-	let global: any = {
-		homeChartOne: null,
-		homeChartTwo: null,
-		homeCharThree: null,
-		dispose: [null, '', undefined],
-	};
+	import { fireApplyApi } from '/@/api/specialWorkSystem/workApply/fire';
+
 
 	interface stateType {
-		homeOne: Array <type>
-	}
-	interface type {
-
+		form: Object
 	}
 	export default defineComponent({
-		name: 'workApplyForm',
-		components: {
-			fireWorkForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/fireWorkForm.vue')),
-			limitedSpaceForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/limitedSpaceForm.vue')),
-			hangLoadForm: defineAsyncComponent(()=> import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/hangLoadForm.vue')),
-			dirtWorkForm: defineAsyncComponent(()=> import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/dirtWorkForm.vue')),
-			cutLineForm: defineAsyncComponent(()=> import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/cutLineForm.vue')),
-			highWorkForm: defineAsyncComponent(()=> import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/highWorkForm.vue')),
-			tempElectForm: defineAsyncComponent(()=> import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/tempElectForm.vue')),
-			blindPanelForm: defineAsyncComponent(()=> import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/blindPanelForm.vue'))
-		},
+		name: 'workTicket',
+		components: {},
 		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'}],
+				form: {
+					operatorUid: [],
+					workType: null,
+					workLevel: null,
+					workContent: '',
+					workLocation: '',
+					workDetail:{
+						hotMethod: '',
+						otherSpecialWork: []
+					},
+					expStartTime: '',
+					expEndTime: ''
+				},
+
 			});
-			const form = reactive({
-				addForm: {},
-				workerList: [],
-				workLocation: '',
-				workTimeLine: '',
-				workContent: '',
-				workUnit: '',
-				responsor: '',
-				monitor: '',
-				workMonitor: '',
-				monitorStation: '',
-				workhouseLeader: '',
-				applyDate: '',
-				otherSpecialWorks: [],
-				protections: '',
-				saftyFile: {},
-				safetyMan: '',
-				educated: ''
-			})
 			const dialogAddWorker = ref(false)
 			const dialogAddFile = ref(false)
 			const addWorkerForm = ref({
@@ -480,23 +445,6 @@
 			const ruleFormRef = ref<FormInstance>()
 			const ruleFormRef2 = ref<FormInstance>()
 			const ruleFormRef3 = ref<FormInstance>()
-			const applyRules = reactive<FormRules>({
-				extraForm: [{type: 'object', required: true,message: '此处不能为空'}],
-				workLocation: [{required: true,message: '此处不能为空'}],
-				workTimeLine: [{required: true,message: '此处不能为空'}],
-				workContent: [{required: true,message: '此处不能为空'}],
-				workUnit: [{required: true,message: '此处不能为空'}],
-				responsor: [{required: true,message: '此处不能为空'}],
-				monitor: [{required: true,message: '此处不能为空'}],
-				workMonitor: [{required: true,message: '此处不能为空'}],
-				monitorStation: [{required: true,message: '此处不能为空'}],
-				workhouseLeader: [{required: true,message: '此处不能为空'}],
-				applyDate: [{required: true,message: '此处不能为空'}],
-				otherSpecialWorks: [{type: 'array', required: true,message: '此处不能为空'}],
-				protections: [{required: true,message: '此处不能为空'}],
-				safetyMan: [{required: true,message: '此处不能为空'}],
-				educated: [{required: true,message: '此处不能为空'}]
-			})
 			const addWorkerRules = reactive<FormRules>({
 				worker: [{required: true,message: '此处不能为空'}],
 				role: [{required: true,message: '此处不能为空'}],
@@ -599,7 +547,6 @@
 				additionalForm,
 				addWorkerRules,
 				saftyFileRules,
-				applyRules,
 				isValid,
 				handleApply,
 				cancleAddFile,

--
Gitblit v1.9.2