From 91d632135ae13779bddf2ac7cb4da748a667f813 Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期四, 18 八月 2022 19:16:22 +0800
Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/gtqt
---
src/views/intellectInspect/inspectIndex/index.vue | 92 +++++-
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
10 files changed, 575 insertions(+), 149 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/inspectIndex/index.vue b/src/views/intellectInspect/inspectIndex/index.vue
index f80486c..67d5e7f 100644
--- a/src/views/intellectInspect/inspectIndex/index.vue
+++ b/src/views/intellectInspect/inspectIndex/index.vue
@@ -164,6 +164,79 @@
<style scoped lang="scss">
$homeNavLengh: 8;
+@media screen and (min-width: 1366px) {
+ .left-info {
+ width: 65%;
+ display: flex;
+ align-items: center;
+ justify-content: left;
+ font-size: 18px;
+ color: #333;
+ overflow-x: auto;
+ }
+ .mid-info {
+ width: 25%;
+ font-size: 18px;
+ color: #333;
+ }
+ .right-info {
+ width: 10%;
+ display: flex;
+ justify-content: right;
+ align-items: center;
+ font-size: 16px;
+ color: #fff;
+ }
+}
+@media screen and (min-width: 1200px) and (max-width: 1366px) {
+ .left-info {
+ width: 65%;
+ display: flex;
+ align-items: center;
+ justify-content: left;
+ font-size: 15px;
+ color: #333;
+ overflow-x: auto;
+ }
+ .mid-info {
+ width: 25%;
+ font-size: 15px;
+ color: #333;
+ }
+ .right-info {
+ width: 10%;
+ display: flex;
+ justify-content: right;
+ align-items: center;
+ font-size: 13px;
+ color: #fff;
+ }
+}
+@media screen and (max-width: 1200px) {
+ .left-info {
+ width: 65%;
+ display: flex;
+ align-items: center;
+ justify-content: left;
+ font-size: 12px;
+ color: #333;
+ overflow-x: auto;
+ }
+ .mid-info {
+ width: 25%;
+ font-size: 12px;
+ color: #333;
+ }
+ .right-info {
+ width: 10%;
+ display: flex;
+ justify-content: right;
+ align-items: center;
+ font-size: 12px;
+ color: #fff;
+ }
+}
+
.home-container {
height: calc(100vh - 144px);
box-sizing: border-box;
@@ -188,17 +261,10 @@
justify-content: space-between;
margin-bottom: 10px;
background: #daf3ff;
- padding: 20px;
+ padding: 10px 15px;
border-radius: 8px;
.left-info{
- width: 50%;
- display: flex;
- align-items: center;
- justify-content: left;
- font-size: 14px;
- color: #333;
- overflow-x: auto;
.num{
font-weight: bolder;
@@ -219,9 +285,6 @@
}
}
.mid-info{
- width: 35%;
- font-size: 14px;
- color: #333;
span{
font-weight: bolder;
@@ -241,12 +304,7 @@
}
}
.right-info{
- width: 15%;
- display: flex;
- justify-content: right;
- align-items: center;
- font-size: 14px;
- color: #fff;
+
.checkBtn{
padding: 10px 15px;
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