From 999cab6fb3fc6d2a288d365da991351c5a396bf0 Mon Sep 17 00:00:00 2001
From: Admin <978517621@qq.com>
Date: 星期三, 21 九月 2022 15:53:18 +0800
Subject: [PATCH] 删除无用页面
---
/dev/null | 357 --------------------------------------------
src/router/route.ts | 2
src/views/riskWarningSys/warningBigScreen/components/SPI.vue | 81 +++------
src/router/index.ts | 2
4 files changed, 31 insertions(+), 411 deletions(-)
diff --git a/src/router/index.ts b/src/router/index.ts
index 16008c7..a99ccfb 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -81,7 +81,7 @@
Session.clear();
NProgress.done();
} else if (token && to.path === '/login') {
- next('/homeMenu');
+ next('/home');
NProgress.done();
} else {
const storesRoutesList = useRoutesList(pinia);
diff --git a/src/router/route.ts b/src/router/route.ts
index a94fd34..00e3f27 100644
--- a/src/router/route.ts
+++ b/src/router/route.ts
@@ -13,7 +13,7 @@
{
path: '/home',
name: 'home',
- component: () => import('/@/views/home/index.vue'),
+ component: () => import('/@/views/newHome/index.vue'),
meta: {
title: '首页',
isLink: '',
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
deleted file mode 100644
index 7e986cd..0000000
--- a/src/views/home/index.vue
+++ /dev/null
@@ -1,193 +0,0 @@
-<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, onMounted } from 'vue';
-import { storeToRefs } from 'pinia';
-import { initBackEndControlRoutes } from '/@/router/backEnd';
-import { useUserInfo } from '/@/stores/userInfo';
-import { Session } from '/@/utils/storage';
-import { NextLoading } from '/@/utils/loading';
-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: 'home',
- 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();
- };
- onMounted(() => {
- // loginBg();
- // loginApp()
- });
- 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>
diff --git a/src/views/newHome/homeMenu.vue b/src/views/newHome/homeMenu.vue
deleted file mode 100644
index 4c3a9a0..0000000
--- a/src/views/newHome/homeMenu.vue
+++ /dev/null
@@ -1,439 +0,0 @@
-<template>
- <div class="login-container" :key="once">
- <div class="topPanel">
- <div class="topPanelCont">
- <div class="topTit">
- <div>新疆国泰新华</div>
- <span></span>
- <div>安全风险预警监测系统</div>
- </div>
- <div class="userInfo">
- <div @click="onScreenfullClick" style="margin-right: 15px;cursor: pointer">
- <i class="iconfont" :title="isScreenfull ? $t('message.user.title6') : $t('message.user.title5')" :class="!isScreenfull ? 'icon-fullscreen' : 'icon-tuichuquanping'"></i>
- </div>
- <div class="avator">
- <img src="../../assets/menu/admin.png" />
- <div>admin</div>
- </div>
- <span></span>
- <div class="loginOut" @click="onLoginOut">退出登录</div>
- </div>
- </div>
- </div>
-
- <div class="menuGrid">
- <div class="gridCont">
- <el-row :gutter="20">
- <el-col :span="6"
- ><div class="grid-content" v-throttle @click="render('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" v-throttle @click="render('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" v-throttle @click="render('4')">
- <div class="itemTit">智能巡检系统</div>
- <img class="iconImg" src="../../assets/menu/icon8.png" /><img class="bgImg" src="../../assets/menu/card8.png" /></div
- ></el-col>
- <el-col :span="6">
- <div class="grid-content" v-throttle @click="toRiskPlatform">
- <div class="itemTit">安全风险综合 <br />预警预报平台</div>
- <img class="iconImg" src="../../assets/menu/icon1.png" />
- <img class="bgImg" src="../../assets/menu/card1.png" />
- </div>
- </el-col>
- </el-row>
- <el-row :gutter="20">
- <el-col :span="6"
- ><div class="grid-content grid-content-2" v-throttle @click="render('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" v-throttle @click="render('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" v-throttle @click="render('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" v-throttle @click="render('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="20">
- <el-col :span="6"
- ><div class="grid-content grid-content-3" v-throttle @click="render('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" v-throttle @click="render('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="render('1')">
- <div class="itemTit">安全基础信息系统</div>
- <img class="iconImg" src="../../assets/menu/icon11.png" /><img class="bgImg" src="../../assets/menu/card11.png" /></div
- ></el-col>
- </el-row>
- </div>
- </div>
- </div>
-</template>
-
-<script lang="ts">
-import { toRefs, reactive, computed, defineComponent, onMounted } from 'vue';
-import { storeToRefs } from 'pinia';
-import { useThemeConfig } from '/@/stores/themeConfig';
-import logoMini from '/@/assets/logo-mini.svg';
-import loginIconTwo from '/@/assets/login-icon-two.svg';
-import { NextLoading } from '/@/utils/loading';
-import { Session } from '/@/utils/storage';
-import { useRoute, useRouter } from 'vue-router';
-import { initBackEndControlRoutes } from '/@/router/backEnd';
-import { useUserInfo } from '/@/stores/userInfo';
-import { useRoutesList } from '/@/stores/routesList';
-import pinia from '/@/stores';
-import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes';
-import { ElMessage } from 'element-plus';
-import { ElMessageBox } from 'element-plus/es';
-import { useLoginApi } from '/@/api/login';
-import { useI18n } from 'vue-i18n';
-import screenfull from 'screenfull';
-import router from '../../router'
-
-// 定义接口来定义对象的类型
-interface LoginState {
- tabsActiveName: string;
- isScan: boolean;
- count: number;
- projectId: string;
- once: number;
-}
-
-export default defineComponent({
- name: 'loginIndex',
- components: {},
- setup() {
- const { t } = useI18n();
- const router = useRouter();
- const userInfo = useUserInfo();
- const { userInfos } = storeToRefs(userInfo);
- const routeToStore = useRoutesList(pinia);
- const { routesList } = storeToRefs(routeToStore);
- const storesThemeConfig = useThemeConfig();
- const { themeConfig } = storeToRefs(storesThemeConfig);
- const state = reactive<LoginState>({
- tabsActiveName: 'account',
- isScan: false,
- count: 0,
- projectId: '1',
- once: 0,
- isScreenfull: false
- });
- // 获取布局配置信息
- const getThemeConfig = computed(() => {
- return themeConfig.value;
- });
- // 下拉菜单点击时
- const onLoginOut = () => {
- ElMessageBox({
- closeOnClickModal: false,
- closeOnPressEscape: false,
- title: t('message.user.logOutTitle'),
- message: t('message.user.logOutMessage'),
- showCancelButton: true,
- confirmButtonText: t('message.user.logOutConfirm'),
- cancelButtonText: t('message.user.logOutCancel'),
- buttonSize: 'default',
- beforeClose: (action, instance, done) => {
- if (action === 'confirm') {
- instance.confirmButtonLoading = true;
- instance.confirmButtonText = t('message.user.logOutExit');
- setTimeout(() => {
- done();
- setTimeout(() => {
- instance.confirmButtonLoading = false;
- }, 300);
- }, 700);
- } else {
- done();
- }
- }
- })
- .then(async () => {
- let res = await useLoginApi().signOut();
- if (res.data.code === '200') {
- Session.clear(); // 清除缓存/token等
- // 使用 reload 时,不需要调用 resetRoute() 重置路由
- window.location.reload();
- } else {
- ElMessage({
- type: 'warning',
- message: res.data.msg
- });
- }
- })
- .catch(() => {});
- };
- //选择菜单
- const render = (value: string) => {
- state.projectId = value;
- renderMenu();
- };
- // 全屏点击时
- 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 toRiskPlatform = ()=>{
- router.push({
- name: "bigDataScreen"
- });
- }
- const throttle = (renderMenu: any, delay: number) => {
- let flag = true;
- let count = 0;
- return function () {
- if (!flag) return;
- flag = false;
- if (count === 0) {
- renderMenu.apply();
- count++;
- flag = true;
- } else {
- setTimeout(() => {
- renderMenu.apply();
- flag = true;
- }, delay);
- }
- };
- };
-
- //调用菜单方法
- const renderMenu = throttle(() => {
- renderFun();
- }, 2000);
-
- //调后台菜单接口
- const renderFun = async () => {
- Session.set('projectId', state.projectId);
- userInfos.value.projectId = state.projectId;
- await initBackEndControlRoutes().then(() => {
- let linkToMenu = [...routesList.value];
- if (linkToMenu && linkToMenu.length > 1) {
- router.push(linkToFirstMenu(JSON.parse(JSON.stringify(linkToMenu))[1]));
- } else {
- ElMessage({ type: 'warning', message: '你没有该子系统的权限' });
- }
- });
- };
-
- const linkToFirstMenu: any = (value: any) => {
- let returnMenu = value;
- if (returnMenu.children?.length > 0) {
- return linkToFirstMenu(returnMenu.children[0]);
- } else {
- return returnMenu.path;
- }
- };
- // //点击进入特殊作业
- // const toSpecialWorkSys = () => {
- // router.push('/layoutPage');
- // };
- // 页面加载时
- onMounted(() => {
- state.once += 1;
- NextLoading.done();
- // loginBg();
- // loginApp()
- });
- return {
- render,
- logoMini,
- onLoginOut,
- toRiskPlatform,
- onScreenfullClick,
- loginIconTwo,
- getThemeConfig,
- ...toRefs(state)
- };
- }
-});
-</script>
-
-<style scoped lang="scss">
-.login-container {
- width: 100%;
- height: 100%;
- position: relative;
- background: url('../../assets/menu/bg_home.jpg') no-repeat center;
- .topPanel {
- position: absolute;
- width: 100%;
- top: -100px;
- left: 0;
- height: 100px;
- background: #fff;
- display: flex;
- justify-content: center;
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
- animation: showDown 0.6s 1 ease forwards;
-
- @keyframes showDown {
- 100% {
- position: absolute;
- top: 0;
- }
- }
- .topPanelCont {
- width: 1200px;
- height: 100%;
- display: flex;
- align-items: center;
- justify-content: space-between;
-
- .topTit {
- font-size: 24px;
- font-weight: bold;
- display: flex;
- align-items: center;
- color: #333;
- line-height: 28px;
-
- & > div:last-of-type {
- color: #006df5;
- }
-
- span {
- width: 1px;
- height: 28px;
- background: #999;
- margin: 0 15px;
- }
- }
-
- .userInfo {
- display: flex;
- align-items: center;
-
- .avator {
- display: flex;
- justify-content: right;
-
- img {
- width: 20px;
- height: 20px;
- border-radius: 10px;
- }
- div {
- font-size: 15px;
- color: #333333;
- line-height: 20px;
- margin-left: 6px;
- }
- }
- span {
- width: 1px;
- height: 20px;
- background: #999;
- margin: 0 15px;
- }
- .loginOut {
- font-size: 15px;
- color: #333;
- line-height: 20px;
- cursor: pointer;
-
- &:hover {
- color: #006df5;
- }
- }
- }
- }
- }
-
- .menuGrid {
- width: 100%;
- position: absolute;
- top: 150px;
- display: flex;
- justify-content: center;
- .gridCont {
- width: 1200px;
- .el-row {
- margin-bottom: 20px;
- }
- .el-row:last-child {
- margin-bottom: 0;
- }
- .el-col {
- border-radius: 8px;
- }
-
- .grid-content {
- border-radius: 10px;
- height: calc((100vh - 240px) / 3);
- padding: 32px;
- position: relative;
- background: #007BE5;
- overflow: hidden;
- cursor: pointer;
- transition: 0.3s;
- border: none;
-
- &:hover {
- box-shadow: 0 8px 32px rgba(20, 97, 234, 0.4);
- }
-
- .itemTit {
- font-size: 24px;
- line-height: 36px;
- height: 40%;
- font-family: 'PingFang SC';
- font-weight: bolder;
- letter-spacing: 1px;
- color: #fff;
- margin-bottom: 25px;
- }
- .iconImg {
- width: 80px;
- height: 80px;
- }
-
- .bgImg {
- position: absolute;
- right: 0;
- bottom: 0;
- }
- }
-
- /*.grid-content-2{*/
- /* background-image: linear-gradient(135deg,#0098F5,#1461EA);*/
- /*}*/
-
- /*.grid-content-3{*/
- /* background-image: linear-gradient(135deg,#006DF5,#1450EA);*/
- /*}*/
- }
- }
-}
-</style>
diff --git a/src/views/riskWarningSys/warningBigScreen/components/SPI.vue b/src/views/riskWarningSys/warningBigScreen/components/SPI.vue
index cb42132..a52fdca 100644
--- a/src/views/riskWarningSys/warningBigScreen/components/SPI.vue
+++ b/src/views/riskWarningSys/warningBigScreen/components/SPI.vue
@@ -5,7 +5,7 @@
class="spiSe"
:teleported="false"
v-model="spiValue"
- :options="spiOptions"
+ :options="departList"
:props="spiProps"
:show-all-levels="false"
@change="handleChange"
@@ -31,11 +31,13 @@
import * as echarts from 'echarts';
import '/@/theme/bigScreen.css'
import {useScreenTheme} from "/@/stores/screenTheme";
+ import {teamManageApi} from "/@/api/systemManage/basicDateManage/personShiftManage/teamManage";
interface stateType {
spiValue: number;
- spiOptions: Array<any>;
- spiChart: string
+ departList: Array<any>;
+ spiChart: string;
+ spiProps: object
}
export default defineComponent({
name: 'SPI',
@@ -51,55 +53,30 @@
const { screenTheme } = storeToRefs(screenThemes);
const spi = ref("eChartSpi" + Date.now() + Math.random())
const state = reactive<stateType>({
- spiValue: 0,
- spiOptions: [
- {
- value: 0,
- label: '公司级别SPI'
- },
- {
- value: 1,
- label: 'A事业部SPI',
- children: [
- {
- value: 11,
- label: 'A车间SPI'
- },
- {
- value: 12,
- label: 'B车间SPI'
- },
- {
- value: 13,
- label: 'C车间SPI'
- }
- ]
- },
- {
- value: 2,
- label: 'B事业部SPI',
- children: [
- {
- value: 21,
- label: 'D车间SPI'
- },
- {
- value: 22,
- label: 'E车间SPI'
- },
- {
- value: 23,
- label: 'F车间SPI'
- }
- ]
- }
- ],
+ spiValue: 1,
+ departList: [],
+ spiProps: {
+ expandTrigger: 'hover',
+ checkStrictly: true,
+ value: 'depId',
+ label: 'depName',
+ },
spiChart: 'spi-dark'
})
- const spiProps = {
- expandTrigger: 'hover',
- checkStrictly: true
- }
+
+ // 获取部门列表
+ const getAllDepartment = async () => {
+ let res = await teamManageApi().getAllDepartment();
+ if (res.data.code === '200') {
+ state.departList = JSON.parse(JSON.stringify(res.data.data))
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+ };
+
type EChartsOption = echarts.EChartsOption
// 隐患整改情况
const initSpi =()=>{
@@ -125,7 +102,7 @@
grid: {
left: '8%',
right: '8%',
- bottom: '4%',
+ bottom: '5%',
},
xAxis: [
{
@@ -312,6 +289,7 @@
// 页面载入时执行方法
onMounted(() => {
+ getAllDepartment();
initSpi();
getTheme();
});
@@ -319,7 +297,6 @@
return {
spi,
Search,
- spiProps,
fontSize,
...toRefs(state)
};
diff --git a/src/views/specialWorkSystem/afterWorkManage/workTicketCheck/index.vue b/src/views/specialWorkSystem/afterWorkManage/workTicketCheck/index.vue
deleted file mode 100644
index 1a5f98e..0000000
--- a/src/views/specialWorkSystem/afterWorkManage/workTicketCheck/index.vue
+++ /dev/null
@@ -1,371 +0,0 @@
-<template>
- <div class="home-container">
- <div style="height: 100%">
- <el-row class="homeCard">
- <el-col :span="8">
- <div class="grid-content topInfo">
- <el-input v-model="searchWord" placeholder="作业证编号"></el-input>
- <el-button type="primary">查询</el-button>
- <el-button plain>重置</el-button>
- <el-button plain :icon="Download"></el-button>
- </div>
- </el-col>
- </el-row>
- <div class="homeCard">
- <div class="main-card">
- <el-row class="cardTop">
- <el-col :span="12" class="mainCardBtn">
- <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord=true">新增</el-button>
-<!-- <el-button type="warning" :icon="Edit" size="default" plain>修改</el-button>-->
- <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button>
- </el-col>
- <el-button type="primary" :icon="Refresh" size="default"/>
- </el-row>
- <el-table
- ref="multipleTableRef"
- :data="tableData"
- style="width: 100%"
- height="calc(100% - 100px)"
- :header-cell-style="{background: '#fafafa'}"
- @selection-change="handleSelectionChange"
- >
- <el-table-column type="selection" width="55" />
- <el-table-column property="id" label="作业证编号" width="200" sortable/>
- <el-table-column property="cardName" label="作业证名称" width="180" />
- <el-table-column property="worker" label="抽检人"/>
- <el-table-column property="checkTime" label="抽检时间" sortable/>
- <el-table-column property="result" label="抽检结果"/>
- <el-table-column property="remark" label="抽检意见"/>
- <el-table-column fixed="right" label="操作" align="center" width="250">
- <template #default="scope">
- <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
- <el-button link type="primary" size="small" :icon="Edit" @click="editRecord(scope.$index ,scope.row)">修改</el-button>
- <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecord(scope.$index)">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- <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>
- </div>
- <el-dialog v-model="dialogDetails" title="作业票抽检">
- <el-form :model="details" label-width="120px">
- <el-form-item label="作业证编号">
- <el-input
- v-model="details.id"
- class="input-with-select"
- readonly
- />
- </el-form-item>
- <el-form-item label="抽检人">
- <el-input
- v-model="details.worker"
- class="input-with-select"
- readonly
- />
- </el-form-item>
- <el-form-item label="抽检结果">
- <el-input
- v-model="details.result"
- class="input-with-select"
- readonly
- />
- </el-form-item>
- <el-form-item label="抽检时间">
- <el-input
- v-model="details.checkTime"
- class="input-with-select"
- readonly
- />
- </el-form-item>
- <el-form-item label="抽检意见">
- <el-input v-model="details.remark" type="textarea" readonly/>
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <el-dialog v-model="dialogAddRecord" title="作业票抽检编辑" @close="closeAdd">
- <el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules">
- <el-form-item label="作业证编号" prop="id">
- <el-input
- v-model="addRecord.id"
- class="input-with-select"
- >
- <template #append>
- <el-button :icon="Search"/>
- </template>
- </el-input>
- </el-form-item>
- <el-form-item label="作业证名称" prop="cardName">
- <el-input
- v-model="addRecord.cardName"
- class="input-with-select"
- >
- <template #append>
- <el-button :icon="Search"/>
- </template>
- </el-input>
- </el-form-item>
- <el-form-item label="抽检人" prop="worker">
- <el-input
- v-model="addRecord.worker"
- class="input-with-select"
- >
- <template #append>
- <el-button :icon="Search"/>
- </template>
- </el-input>
- </el-form-item>
- <el-form-item label="抽检时间" prop="checkTime">
- <el-date-picker v-model="addRecord.checkTime" type="datetime" format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" placeholder="Select date and time"/>
- </el-form-item>
- <el-form-item label="抽检结果" prop="result">
- <el-select v-model="addRecord.result">
- <el-option label="合格" value="合格" />
- <el-option label="不合格" value="不合格" />
- </el-select>
- </el-form-item>
- <el-form-item label="抽检意见">
- <el-input v-model="addRecord.remark" type="textarea"/>
- </el-form-item>
- <el-form-item>
- <el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button>
- <el-button type="primary" @click="confirmAddRecord(addRef)" size="default" v-throttle>确认</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear">
- <span>您确定要删除该条记录吗?</span>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="deleteDialog = false" size="default">取消</el-button>
- <el-button type="primary" @click="conFirmDelete" size="default" v-throttle>确认</el-button>
- </span>
- </template>
- </el-dialog>
- </div>
-</template>
-
-<script lang="ts" setup>
- import { toRefs, reactive, ref } from 'vue';
- import { storeToRefs } from 'pinia';
- import { initBackEndControlRoutes } from '/@/router/backEnd';
- import {useUserInfo} from "/@/stores/userInfo";
- import { Session } from '/@/utils/storage';
- import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue'
- import { ElTable } from 'element-plus'
- import { FormInstance, FormRules } from 'element-plus'
- let global: any = {
- homeChartOne: null,
- homeChartTwo: null,
- homeCharThree: null,
- dispose: [null, '', undefined],
- };
-
- interface stateType {
- homeOne: Array <type>
- }
- interface type {
-
- }
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
-
- // 分页
- const currentPage = ref(1)
- const pageSize = ref(10)
-
- // 判断编辑和新增
- const chosenIndex = ref(-1)
-
- const handleSizeChange = (val: number) => {
- console.log(`${val} items per page`)
- }
- const handleCurrentChange = (val: number) => {
- console.log(`current page: ${val}`)
- }
- const tableData = reactive(
- [
- {
- id: '11011',
- cardName: '动火作业证',
- checkTime: '2021-04-22 15:21:31',
- worker: '吴海涛',
- result: '合格',
- remark: '没意见'
- },
- {
- id: '11012',
- cardName: '动火作业证',
- checkTime: '2021-04-22 15:21:31',
- worker: '吴沈峰',
- result: '合格',
- remark: '有点意见'
- },
- ]
- )
- const addRef = ref<FormInstance>()
- const addRules = reactive<FormRules>({
- id:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- cardName:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- worker:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- result:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- checkTime:[{required: true, message: '该内容不能为空',trigger:'blur'}]
- })
-
- const dialogDetails = ref(false)
- const dialogAddRecord = ref(false)
- const deleteDialog = ref(false)
- const addRecord = ref({})
- const details = ref({})
-
- // 查看记录
- const viewRecord = (row) =>{
- details.value = JSON.parse(JSON.stringify(row))
- dialogDetails.value = true
- }
-
- // 删除记录
- const deleteRecord = (index) =>{
- chosenIndex.value = index
- deleteDialog.value = true
- }
-
- // 弹窗确认删除记录
- const conFirmDelete = ()=> {
- tableData.splice(chosenIndex.value,1)
- deleteDialog.value = false
- }
-
- // 弹窗确认新增记录
- const confirmAddRecord = async (formEl: FormInstance | undefined) =>{
- if (!formEl) return
- await formEl.validate((valid, fields) => {
- if (valid) {
- if(chosenIndex.value == -1){
- tableData.unshift(addRecord.value)
- }else{
- tableData[chosenIndex.value] = addRecord.value
- }
- dialogAddRecord.value =false
- } else {
- console.log('error submit!', fields)
- }
- })
-
- }
- // 新增弹窗关闭时的数据初始化处理
- const closeAdd =()=>{
- addRecord.value={}
- chosenIndex.value = -1
- }
- const indexClear = ()=>{
- chosenIndex.value = -1
- }
-
- // 修改编辑记录
- const editRecord =(index, row)=>{
- dialogAddRecord.value = true
- chosenIndex.value = index
- addRecord.value = JSON.parse(JSON.stringify(row))
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
-</script>
-
-<style scoped lang="scss">
- $homeNavLengh: 8;
- .home-container {
- height: calc(100vh - 144px);
- box-sizing: border-box;
- overflow: hidden;
- .homeCard{
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
-
- .main-card{
- width: 100%;
- height: 100%;
- .cardTop{
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin-bottom: 20px;
- .mainCardBtn{
- margin: 0;
- }
- }
- .pageBtn{
- height: 60px;
- display: flex;
- align-items: center;
- justify-content: right;
-
- .demo-pagination-block + .demo-pagination-block {
- margin-top: 10px;
- }
- .demo-pagination-block .demonstration {
- margin-bottom: 16px;
- }
- }
- }
- &:last-of-type{
- height: calc(100% - 100px);
- }
- }
- .el-row{
- display: flex;
- align-items: center;
- margin-bottom: 20px;
- &:last-child {
- margin-bottom: 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;
- }
- }
- }
- }
- .el-input{
- width: 100% !important;
- }
- .el-date-editor::v-deep{
- width: 100%;
- }
- .el-select{
- width: 100%;
- }
-</style>
diff --git a/src/views/specialWorkSystem/afterWorkManage/workTicketRecord/index.vue b/src/views/specialWorkSystem/afterWorkManage/workTicketRecord/index.vue
deleted file mode 100644
index 0345cbd..0000000
--- a/src/views/specialWorkSystem/afterWorkManage/workTicketRecord/index.vue
+++ /dev/null
@@ -1,319 +0,0 @@
-<template>
- <div class="home-container">
- <div style="height: 100%">
- <el-row class="homeCard">
- <el-col :span="12">
- <div class="grid-content topInfo">
- <el-select v-model="searchType">
- <el-option label="动火作业" value="动火作业" />
- <el-option label="动土作业" value="动土作业" />
- </el-select>
- <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="homeCard">
- <div class="main-card">
- <el-row class="cardTop">
- <el-col :span="12" class="mainCardBtn">
- <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord=true">新增</el-button>
-<!-- <el-button type="warning" :icon="Edit" size="default" plain>修改</el-button>-->
- <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button>
- </el-col>
- <el-button type="primary" :icon="Refresh" size="default"/>
- </el-row>
- <el-table
- ref="multipleTableRef"
- :data="tableData"
- style="width: 100%"
- height="calc(100% - 100px)"
- :header-cell-style="{background: '#fafafa'}"
- @selection-change="handleSelectionChange"
- >
- <el-table-column type="selection" width="55" />
- <el-table-column property="id" label="作业证编号" width="200" sortable/>
- <el-table-column property="cardName" label="作业证名称" width="180" />
- <el-table-column property="name" label="申请人"/>
- <el-table-column property="department" label="申请部门"/>
- <el-table-column property="date" label="归档日期" sortable/>
- <el-table-column fixed="right" label="操作" align="center" width="250">
- <template #default="scope">
- <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
- <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecord(scope.$index)">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- <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>
- </div>
- <el-dialog v-model="dialogDetails" title="作业票查看">
- <el-form :model="details" label-width="120px">
- <el-form-item label="作业证编号">
- <el-input
- v-model="details.id"
- readonly
- />
- </el-form-item>
- <el-form-item label="作业证名称">
- <el-input
- v-model="details.cardName"
- readonly
- />
- </el-form-item>
- <el-form-item label="申请人">
- <el-input
- v-model="details.name"
- readonly
- />
- </el-form-item>
- <el-form-item label="申请部门">
- <el-input
- v-model="details.department"
- class="input-with-select"
- readonly
- />
- </el-form-item>
- <el-form-item label="归档日期">
- <el-input
- v-model="details.date"
- class="input-with-select"
- readonly
- />
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear">
- <span>您确定要删除该条记录吗?</span>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="deleteDialog = false" size="default">取消</el-button>
- <el-button type="primary" @click="conFirmDelete" size="default" v-throttle>确认</el-button>
- </span>
- </template>
- </el-dialog>
- </div>
-</template>
-
-<script lang="ts" setup>
- import { toRefs, reactive, ref } from 'vue';
- import { storeToRefs } from 'pinia';
- import { initBackEndControlRoutes } from '/@/router/backEnd';
- import {useUserInfo} from "/@/stores/userInfo";
- import { Session } from '/@/utils/storage';
- import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue'
- import { ElTable } from 'element-plus'
- import { FormInstance, FormRules } from 'element-plus'
- let global: any = {
- homeChartOne: null,
- homeChartTwo: null,
- homeCharThree: null,
- dispose: [null, '', undefined],
- };
-
- interface stateType {
- homeOne: Array <type>
- }
- interface type {
-
- }
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
-
- // 分页
- const currentPage = ref(1)
- const pageSize = ref(10)
-
- // 顶部查询
- const searchType = ref('')
- const searchWord = ref('')
-
- // 判断编辑和新增
- const chosenIndex = ref(-1)
-
- const handleSizeChange = (val: number) => {
- console.log(`${val} items per page`)
- }
- const handleCurrentChange = (val: number) => {
- console.log(`current page: ${val}`)
- }
- const tableData = reactive(
- [
- {
- id: '11011',
- cardName: '动火作业证',
- name: '吴海涛',
- department: '动火部门',
- date: '2021-04-22 15:21:31'
- },
- {
- id: '11011',
- cardName: '动火作业证',
- name: '吴海涛',
- department: '动火部门',
- date: '2021-04-22 15:21:31'
- }
- ]
- )
- const addRef = ref<FormInstance>()
- const addRules = reactive<FormRules>({
- id:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- cardName:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- name:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- department:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- date:[{required: true, message: '该内容不能为空',trigger:'blur'}]
- })
-
- const dialogDetails = ref(false)
- const dialogAddRecord = ref(false)
- const deleteDialog = ref(false)
- const addRecord = ref({})
- const details = ref({})
-
- // 查看记录
- const viewRecord = (row) =>{
- details.value = JSON.parse(JSON.stringify(row))
- dialogDetails.value = true
- }
-
- // 删除记录
- const deleteRecord = (index) =>{
- chosenIndex.value = index
- deleteDialog.value = true
- }
-
- // 弹窗确认删除记录
- const conFirmDelete = ()=> {
- tableData.splice(chosenIndex.value,1)
- deleteDialog.value = false
- }
-
- // 弹窗确认新增记录
- const confirmAddRecord = async (formEl: FormInstance | undefined) =>{
- if (!formEl) return
- await formEl.validate((valid, fields) => {
- if (valid) {
- if(chosenIndex.value == -1){
- tableData.unshift(addRecord.value)
- }else{
- tableData[chosenIndex.value] = addRecord.value
- }
- dialogAddRecord.value =false
- } else {
- console.log('error submit!', fields)
- }
- })
-
- }
- // 新增弹窗关闭时的数据初始化处理
- const closeAdd =()=>{
- addRecord.value={}
- chosenIndex.value = -1
- }
- const indexClear = ()=>{
- chosenIndex.value = -1
- }
-
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
-</script>
-
-<style scoped lang="scss">
- $homeNavLengh: 8;
- .home-container {
- height: calc(100vh - 144px);
- box-sizing: border-box;
- overflow: hidden;
- .homeCard{
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
-
- .main-card{
- width: 100%;
- height: 100%;
- .cardTop{
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin-bottom: 20px;
- .mainCardBtn{
- margin: 0;
- }
- }
- .pageBtn{
- height: 60px;
- display: flex;
- align-items: center;
- justify-content: right;
-
- .demo-pagination-block + .demo-pagination-block {
- margin-top: 10px;
- }
- .demo-pagination-block .demonstration {
- margin-bottom: 16px;
- }
- }
- }
- &:last-of-type{
- height: calc(100% - 100px);
- }
- }
- .el-row{
- display: flex;
- align-items: center;
- margin-bottom: 20px;
- &:last-child {
- margin-bottom: 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;
- }
- }
- }
- }
- .el-input{
- width: 100% !important;
- }
- .el-date-editor::v-deep{
- width: 100%;
- }
- .el-select{
- width: 100%;
- }
-</style>
diff --git a/src/views/specialWorkSystem/approveProcessManage/approveLinkSettings/approveTypeSetting/index.vue b/src/views/specialWorkSystem/approveProcessManage/approveLinkSettings/approveTypeSetting/index.vue
deleted file mode 100644
index 2dfc9d6..0000000
--- a/src/views/specialWorkSystem/approveProcessManage/approveLinkSettings/approveTypeSetting/index.vue
+++ /dev/null
@@ -1,336 +0,0 @@
-<template>
- <div class="home-container">
- <div style="height: 100%">
- <el-row class="homeCard">
- <el-col :span="8">
- <div class="grid-content topInfo">
- <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="homeCard">
- <div class="main-card">
- <el-row class="cardTop">
- <el-col :span="12" class="mainCardBtn">
- <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord=true">新增</el-button>
-<!-- <el-button type="warning" :icon="Edit" size="default" plain>修改</el-button>-->
- <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button>
- </el-col>
- <el-button type="primary" :icon="Refresh" size="default"/>
- </el-row>
- <el-table
- ref="multipleTableRef"
- :data="tableData"
- style="width: 100%"
- height="calc(100% - 100px)"
- :header-cell-style="{background: '#fafafa'}"
- @selection-change="handleSelectionChange"
- >
- <el-table-column type="selection" width="55" />
- <el-table-column type="index" width="80" label="序号"/>
- <el-table-column property="approveType" label="审批类型名称" width="200" sortable/>
- <el-table-column property="creater" label="创建人" width="180" />
- <el-table-column property="createTime" label="创建时间" sortable/>
- <el-table-column property="updater" label="最后更新人"/>
- <el-table-column property="updateTime" label="最后更新时间" sortable/>
- <el-table-column fixed="right" label="操作" align="center" width="250">
- <template #default="scope">
- <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
- <el-button link type="primary" size="small" :icon="Edit" @click="editRecord(scope.$index ,scope.row)">修改</el-button>
- <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecord(scope.$index)">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- <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>
- </div>
- <el-dialog v-model="dialogDetails" title="审批类型">
- <el-form :model="details" label-width="120px">
- <el-form-item label="审批类型名称">
- <el-input
- v-model="details.approveType"
- readonly
- />
- </el-form-item>
- <el-form-item label="创建人">
- <el-input
- v-model="details.creater"
- readonly
- />
- </el-form-item>
- <el-form-item label="创建时间">
- <el-input
- v-model="details.createTime"
- readonly
- />
- </el-form-item>
- <el-form-item label="最后更新人">
- <el-input
- v-model="details.updater"
- readonly
- />
- </el-form-item>
- <el-form-item label="最后更新时间">
- <el-input v-model="details.updateTime" readonly/>
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <el-dialog v-model="dialogAddRecord" title="审批类型编辑" @close="closeAdd">
- <el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules">
- <el-form-item label="审批类型名称" prop="approveType">
- <el-select v-model="addRecord.approveType">
- <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="addRecord.remark"/>-->
-<!-- </el-form-item>-->
- <el-form-item>
- <el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button>
- <el-button type="primary" @click="confirmAddRecord(addRef)" size="default">确认</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear">
- <span>您确定要删除该条记录吗?</span>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="deleteDialog = false" size="default">取消</el-button>
- <el-button type="primary" @click="conFirmDelete" size="default">确认</el-button>
- </span>
- </template>
- </el-dialog>
- </div>
-</template>
-
-<script lang="ts" setup>
- import { toRefs, reactive, ref } from 'vue';
- import { storeToRefs } from 'pinia';
- import { initBackEndControlRoutes } from '/@/router/backEnd';
- import {useUserInfo} from "/@/stores/userInfo";
- import { Session } from '/@/utils/storage';
- import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue'
- import { ElTable } from 'element-plus'
- import { FormInstance, FormRules } from 'element-plus'
- let global: any = {
- homeChartOne: null,
- homeChartTwo: null,
- homeCharThree: null,
- dispose: [null, '', undefined],
- };
-
- interface stateType {
- homeOne: Array <type>
- }
- interface type {
-
- }
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
-
- // 分页
- const currentPage = ref(1)
- const pageSize = ref(10)
- const chosenIndex = ref(-1)
- const handleSizeChange = (val: number) => {
- console.log(`${val} items per page`)
- }
- const handleCurrentChange = (val: number) => {
- console.log(`current page: ${val}`)
- }
- const tableData = reactive(
- [
- {
- approveType: '单人审批',
- creater: '李四',
- createTime: '2021-04-22 15:21:31',
- updater: '吴海涛',
- updateTime: '2022-04-22 15:21:31',
- },
- {
- approveType: '多人同时审批',
- creater: '李四',
- createTime: '2021-04-22 15:21:31',
- updater: '吴海涛',
- updateTime: '2022-04-22 15:21:31',
- },
- ]
- )
-
- // 时间格式化
- const timeForm = {
- hour12: false,
- year: 'numeric',
- month: '2-digit',
- day: '2-digit',
- hour: '2-digit',
- minute: '2-digit',
- second: '2-digit'
- }
- const addRef = ref<FormInstance>()
- const addRules = reactive<FormRules>({
- approveType:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- })
- const dialogDetails = ref(false)
- const dialogAddRecord = ref(false)
- const deleteDialog = ref(false)
- const addRecord = ref({})
- const details = ref({})
-
- // 查看记录
- const viewRecord = (row) =>{
- details.value = JSON.parse(JSON.stringify(row))
- dialogDetails.value = true
- }
-
- // 删除记录
- const deleteRecord = (index) =>{
- chosenIndex.value = index
- deleteDialog.value = true
- }
- const conFirmDelete = ()=> {
- tableData.splice(chosenIndex.value,1)
- deleteDialog.value = false
- }
-
- // 修改记录
- const editRecord =(index, row)=>{
- dialogAddRecord.value = true
- chosenIndex.value = index
- addRecord.value = JSON.parse(JSON.stringify(row))
- }
-
- // 新增修改记录确认
- const confirmAddRecord = async (formEl: FormInstance | undefined) =>{
- if (!formEl) return
- await formEl.validate((valid, fields) => {
- if (valid) {
- if(chosenIndex.value == -1){
- addRecord.value.createTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
- addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
- tableData.unshift(addRecord.value)
- }else{
- addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
- tableData[chosenIndex.value] = addRecord.value
- }
- dialogAddRecord.value =false
- } else {
- console.log('error submit!', fields)
- }
- })
-
- }
- const closeAdd =()=>{
- addRecord.value={}
- chosenIndex.value = -1
- }
- const indexClear = ()=>{
- chosenIndex.value = -1
- }
-
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
-</script>
-
-<style scoped lang="scss">
- $homeNavLengh: 8;
- .home-container {
- height: calc(100vh - 144px);
- box-sizing: border-box;
- overflow: hidden;
- .homeCard{
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
-
- .main-card{
- width: 100%;
- height: 100%;
- .cardTop{
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin-bottom: 20px;
- .mainCardBtn{
- margin: 0;
- }
- }
- .pageBtn{
- height: 60px;
- display: flex;
- align-items: center;
- justify-content: right;
-
- .demo-pagination-block + .demo-pagination-block {
- margin-top: 10px;
- }
- .demo-pagination-block .demonstration {
- margin-bottom: 16px;
- }
- }
- }
- &:last-of-type{
- height: calc(100% - 100px);
- }
- }
- .el-row{
- display: flex;
- align-items: center;
- margin-bottom: 20px;
- &:last-child {
- margin-bottom: 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;
- }
- }
- }
- }
- .el-input{
- width: 100% !important;
- }
- .el-date-editor::v-deep{
- width: 100%;
- }
- .el-select{
- width: 100%;
- }
-</style>
diff --git a/src/views/specialWorkSystem/approveProcessManage/approveLinkSettings/linkSetting/index.vue b/src/views/specialWorkSystem/approveProcessManage/approveLinkSettings/linkSetting/index.vue
deleted file mode 100644
index 46cbd7a..0000000
--- a/src/views/specialWorkSystem/approveProcessManage/approveLinkSettings/linkSetting/index.vue
+++ /dev/null
@@ -1,342 +0,0 @@
-<template>
- <div class="home-container">
- <div style="height: 100%">
- <div class="homeCard">
- <div class="main-card">
- <el-row class="cardTop">
- <el-col :span="12" class="mainCardBtn">
- <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord=true">新增审批环节</el-button>
- <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button>
- </el-col>
- <el-button type="primary" :icon="Refresh" size="default"/>
- </el-row>
- <el-table
- ref="multipleTableRef"
- :data="tableData"
- style="width: 100%"
- height="calc(100% - 100px)"
- :header-cell-style="{background: '#fafafa'}"
- @selection-change="handleSelectionChange"
- >
- <el-table-column type="selection" width="55" />
- <el-table-column type="index" width="80" label="序号"/>
- <el-table-column property="processName" label="环节名称" width="200" sortable/>
- <el-table-column property="approveType" label="审核类型" width="200" sortable/>
- <el-table-column property="creater" label="创建人" width="180" />
- <el-table-column property="createTime" label="创建时间" sortable/>
- <el-table-column property="updater" label="最后更新人"/>
- <el-table-column property="updateTime" label="最后更新时间" sortable/>
- <el-table-column fixed="right" label="操作" align="center" width="250">
- <template #default="scope">
- <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
- <el-button link type="primary" size="small" :icon="Edit" @click="editRecord(scope.$index ,scope.row)">修改</el-button>
- <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecord(scope.$index)">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- <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>
- </div>
- <el-dialog v-model="dialogDetails" title="审批环节">
- <el-form :model="details" label-width="120px">
- <el-form-item label="环节名称">
- <el-input
- v-model="details.processName"
- readonly
- />
- </el-form-item>
- <el-form-item label="审批类型">
- <el-input
- v-model="details.approveType"
- readonly
- />
- </el-form-item>
- <el-form-item label="创建人">
- <el-input
- v-model="details.creater"
- readonly
- />
- </el-form-item>
- <el-form-item label="创建时间">
- <el-input
- v-model="details.createTime"
- readonly
- />
- </el-form-item>
- <el-form-item label="最后更新人">
- <el-input
- v-model="details.updater"
- readonly
- />
- </el-form-item>
- <el-form-item label="最后更新时间">
- <el-input v-model="details.updateTime" readonly/>
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <el-dialog v-model="dialogAddRecord" title="审批环节编辑" @close="closeAdd">
- <el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules">
- <el-form-item label="环节名称">
- <el-input v-model="addRecord.processName"/>
- </el-form-item>
- <el-form-item label="审批类型" prop="approveType">
- <el-select v-model="addRecord.approveType">
- <el-option label="上报审批意见" value="上报审批意见" />
- <el-option label="上报气体监测数据" value="上报气体监测数据" />
- <el-option label="上报安全措施确认" value="上报安全措施确认" />
- </el-select>
- </el-form-item>
- <el-form-item>
- <el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button>
- <el-button type="primary" @click="confirmAddRecord(addRef)" size="default">确认</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear">
- <span>您确定要删除该条记录吗?</span>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="deleteDialog = false" size="default">取消</el-button>
- <el-button type="primary" @click="conFirmDelete" size="default">确认</el-button>
- </span>
- </template>
- </el-dialog>
- </div>
-</template>
-
-<script lang="ts" setup>
- import { toRefs, reactive, ref } from 'vue';
- import { storeToRefs } from 'pinia';
- import { initBackEndControlRoutes } from '/@/router/backEnd';
- import {useUserInfo} from "/@/stores/userInfo";
- import { Session } from '/@/utils/storage';
- import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue'
- import { ElTable } from 'element-plus'
- import { FormInstance, FormRules } from 'element-plus'
- let global: any = {
- homeChartOne: null,
- homeChartTwo: null,
- homeCharThree: null,
- dispose: [null, '', undefined],
- };
-
- interface stateType {
- homeOne: Array <type>
- }
- interface type {
-
- }
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
-
- // 分页
- 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 chosenIndex = ref(-1)
-
- const tableData = reactive(
- [
- {
- processName: '作业负责人审批',
- approveType: '上报审批意见',
- creater: '李四',
- createTime: '2021-04-22 15:21:31',
- updater: '吴海涛',
- updateTime: '2022-04-22 15:21:31',
- },
- {
- processName: '作业负责人审批',
- approveType: '上报气体检测数据',
- creater: '李四',
- createTime: '2021-04-22 15:21:31',
- updater: '吴海涛',
- updateTime: '2022-04-22 15:21:31',
- },
- ]
- )
-
- // 时间格式化
- const timeForm = {
- hour12: false,
- year: 'numeric',
- month: '2-digit',
- day: '2-digit',
- hour: '2-digit',
- minute: '2-digit',
- second: '2-digit'
- }
-
- const addRef = ref<FormInstance>()
- const addRules = reactive<FormRules>({
- processName:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- approveType:[{required: true, message: '该内容不能为空',trigger:'blur'}]
- })
- const dialogDetails = ref(false)
- const dialogAddRecord = ref(false)
- const deleteDialog = ref(false)
- const addRecord = ref({})
- const details = ref({})
-
- // 查看记录
- const viewRecord = (row) =>{
- details.value = JSON.parse(JSON.stringify(row))
- dialogDetails.value = true
- }
-
- // 删除记录
- const deleteRecord = (index) =>{
- chosenIndex.value = index
- deleteDialog.value = true
- }
- const conFirmDelete = ()=> {
- tableData.splice(chosenIndex.value,1)
- deleteDialog.value = false
- }
-
- // 新增修改记录
- const confirmAddRecord = async (formEl: FormInstance | undefined) =>{
- if (!formEl) return
- await formEl.validate((valid, fields) => {
- if (valid) {
- if(chosenIndex.value == -1){
- addRecord.value.createTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
- addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
- tableData.unshift(addRecord.value)
- }else{
- addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
- tableData[chosenIndex.value] = addRecord.value
- }
- dialogAddRecord.value =false
- } else {
- console.log('error submit!', fields)
- }
- })
-
- }
-
- // 编辑弹窗关闭时数据初始化处理
- const closeAdd =()=>{
- addRecord.value={}
- chosenIndex.value = -1
- }
- const indexClear = ()=>{
- chosenIndex.value = -1
- }
-
- // 修改记录
- const editRecord =(index, row)=>{
- dialogAddRecord.value = true
- chosenIndex.value = index
- addRecord.value = JSON.parse(JSON.stringify(row))
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
-</script>
-
-<style scoped lang="scss">
- $homeNavLengh: 8;
- .home-container {
- height: calc(100vh - 144px);
- box-sizing: border-box;
- overflow: hidden;
-
- .homeCard{
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
-
- .main-card{
- width: 100%;
- height: 100%;
- .cardTop{
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin-bottom: 20px;
- .mainCardBtn{
- margin: 0;
- }
- }
- .pageBtn{
- height: 60px;
- display: flex;
- align-items: center;
- justify-content: right;
-
- .demo-pagination-block + .demo-pagination-block {
- margin-top: 10px;
- }
- .demo-pagination-block .demonstration {
- margin-bottom: 16px;
- }
- }
- }
-
- &:last-of-type{
- height: 100%;
- }
-
- }
- .el-row{
- display: flex;
- align-items: center;
- margin-bottom: 20px;
- &:last-child {
- margin-bottom: 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;
- }
- }
- }
- }
- .el-date-editor::v-deep{
- width: 100%;
- }
- .el-select{
- width: 100%;
- }
-</style>
diff --git a/src/views/specialWorkSystem/approveProcessManage/approveLinkSettings/reportTypeSetting/index.vue b/src/views/specialWorkSystem/approveProcessManage/approveLinkSettings/reportTypeSetting/index.vue
deleted file mode 100644
index 68b22ee..0000000
--- a/src/views/specialWorkSystem/approveProcessManage/approveLinkSettings/reportTypeSetting/index.vue
+++ /dev/null
@@ -1,303 +0,0 @@
-<template>
- <div class="home-container">
- <div style="height: 100%">
- <div class="homeCard">
- <div class="main-card">
- <el-row class="cardTop">
- <el-col :span="12" class="mainCardBtn">
- <el-button type="primary" size="default" @click="addReport">新增上报类型</el-button>
- </el-col>
- </el-row>
- <el-table ref="multipleTableRef"
- :data="tableData"
- style="width: 100%"
- height="calc(100% - 100px)"
- :header-cell-style="{background: '#fafafa'}"
- @selection-change="handleSelectionChange">
- <el-table-column type="index" label="标识" width="100"/>
- <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="editeTime" label="最新编辑时间" />
- <el-table-column fixed="right" label="操作" align="center" width="180">
- <template #default="scope">
- <el-button link type="primary" size="small" :icon="Edit" @click="editeRow(scope.$index,scope.row)">编辑</el-button>
- <el-button link type="danger" size="small" :icon="Delete" @click="deleteRow(scope.$index)">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- <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>
- </div>
- <el-dialog v-model="dialogAddForm" title="新增上报类型" @close="dialogColse">
- <el-form :model="reportForm" label-width="120px" ref="ruleFormRef" :rules="addRules">
- <el-form-item label="上报数据类型" prop="type">
- <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" property="founder" placeholder="选择创建人">
- <el-option label="创建人1" value="创建人1" />
- <el-option label="创建人2" value="创建人2" />
- </el-select>
- </el-form-item>
- <el-form-item label="最新编辑人" prop="editor">
- <el-input v-model="reportForm.editor" />
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="onSubmitAddForm(ruleFormRef)" size="default" v-throttle>确认</el-button>
- <el-button size="default" @click="dialogAddForm = false">取消</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 { Edit, Delete } from '@element-plus/icons-vue'
- import { FormInstance, FormRules } from 'element-plus'
- let global: any = {
- homeChartOne: null,
- homeChartTwo: null,
- homeCharThree: null,
- dispose: [null, '', undefined],
- };
-
- interface stateType {
- homeOne: Array <type>
- }
- interface type {
-
- }
- interface User {
- type: string,
- founder: string,
- editor: string
- }
- export default defineComponent({
- name: 'reportTypeSetting',
- setup() {
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({});
- const tableData =reactive([
- {
- type: '上报审批意见',
- founder: '',
- createTime: '',
- editor: '',
- editeTime: ''
- },
- {
- type: '上报气体检测数据',
- founder: '',
- createTime: '',
- editor: '',
- editeTime: ''
- },
- {
- type: '上报安全措施确认',
- founder: '',
- createTime: '',
- editor: '',
- editeTime: ''
- }
- ])
- const dialogAddForm = ref(false);
-
- // 判断新增修改参数
- const rowIndex = ref(-1)
-
- const reportForm = ref({
- type: '',
- founder: '',
- createTime: '',
- editor: '',
- editeTime: ''
- })
-
- // 时间格式化
- const timeForm = {
- hour12: false,
- year: 'numeric',
- month: '2-digit',
- day: '2-digit',
- hour: '2-digit',
- minute: '2-digit',
- second: '2-digit'
- }
-
- // 新增记录
- const addReport = ()=>{
- dialogAddForm.value = true
- };
-
- const ruleFormRef = ref<FormInstance>()
- const addRules = reactive<FormRules>({
- type:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- founder:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- editor:[{required: true, message: '该内容不能为空',trigger:'blur'}]
- })
-
- // 新增修改记录确认
- const onSubmitAddForm = async (formEl: FormInstance | undefined) => {
- if (!formEl) return
- await formEl.validate((valid, fields) => {
- if (valid) {
- if(rowIndex.value == -1){
- reportForm.value.createTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
- reportForm.value.editeTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
- tableData.unshift(reportForm.value)
- }else{
- reportForm.value.editeTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
- tableData[rowIndex.value] = reportForm.value
- }
- dialogAddForm.value = false
- } else {
- console.log('error submit!', fields)
- }
- })
- }
-
- // 修改记录
- const editeRow = (index: number, row: User) =>{
- dialogAddForm.value = true
- rowIndex.value = index
- reportForm.value = JSON.parse(JSON.stringify(row))
- }
-
- // 删除记录
- const deleteRow = (index)=>{
- tableData.splice( index,1)
- }
-
- // 弹窗关闭数据初始化
- const dialogColse = () =>{
- reportForm.value = {
- type: '',
- founder: '',
- createTime: '',
- editor: '',
- editeTime: ''
- }
- rowIndex.value = -1
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
- return {
- renderMenu,
- tableData,
- dialogAddForm,
- reportForm,
- ruleFormRef,
- addRules,
- timeForm,
- dialogColse,
- editeRow,
- deleteRow,
- addReport,
- onSubmitAddForm,
- ...toRefs(state),
- };
- },
- });
-</script>
-
-<style scoped lang="scss">
- $homeNavLengh: 8;
- .home-container {
- height: calc(100vh - 144px);
- box-sizing: border-box;
- overflow: hidden;
-
- .homeCard{
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
-
- .main-card{
- width: 100%;
- height: 100%;
- .cardTop{
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin-bottom: 20px;
- .mainCardBtn{
- margin: 0;
- }
- }
- .pageBtn{
- height: 60px;
- display: flex;
- align-items: center;
- justify-content: right;
-
- .demo-pagination-block + .demo-pagination-block {
- margin-top: 10px;
- }
- .demo-pagination-block .demonstration {
- margin-bottom: 16px;
- }
- }
- }
-
- &:last-of-type{
- height: 100%;
- }
-
- }
- .el-row{
- display: flex;
- align-items: center;
- margin-bottom: 20px;
- &:last-child {
- margin-bottom: 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;
- }
- }
- }
- }
-</style>
diff --git a/src/views/specialWorkSystem/approveProcessManage/approveProcessList/index.vue b/src/views/specialWorkSystem/approveProcessManage/approveProcessList/index.vue
deleted file mode 100644
index 0f6a0eb..0000000
--- a/src/views/specialWorkSystem/approveProcessManage/approveProcessList/index.vue
+++ /dev/null
@@ -1,400 +0,0 @@
-<template>
- <div class="home-container">
- <div style="height: 100%">
- <el-row class="homeCard">
- <el-col :span="8">
- <div class="grid-content topInfo">
- <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="homeCard">
- <div class="main-card">
- <el-row class="cardTop">
- <el-col :span="12" class="mainCardBtn">
- <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord=true" v-throttle>新增</el-button>
- <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button>
- <el-button type="success" size="default" plain>设置分类</el-button>
- </el-col>
- <el-button type="primary" :icon="Refresh" size="default"/>
- </el-row>
- <el-table
- ref="multipleTableRef"
- :data="tableData"
- style="width: 100%"
- height="calc(100% - 100px)"
- :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="操作" align="center" width="250">
- <template #default="scope">
- <el-button link type="primary" :icon="Edit" size="small" @click="editRecord(scope.$index ,scope.row)" v-throttle>修改</el-button>
- <el-button link type="success" size="small">发布</el-button>
- <el-button link type="danger" :icon="Delete" size="small" @click="deleteRecord(scope.$index)">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- <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>
- </div>
- <el-dialog v-model="dialogAddRecord" title="审批流程编辑" @close="closeAdd">
- <el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules">
- <el-form-item label="流程名称" prop="name">
- <el-input
- v-model="addRecord.name"
- placeholder="流程名称"
- />
- </el-form-item>
- <el-form-item label="流程key" prop="flowKey">
- <el-input
- v-model="addRecord.flowKey"
- placeholder="流程key"
- >
- </el-input>
- </el-form-item>
- <el-form-item label="分类" prop="sort">
- <el-select v-model="addRecord.sort" placeholder="请选择">
- <el-option label="临时用电" value="临时用电" />
- <el-option label="设备检修" value="设备检修" />
- </el-select>
- </el-form-item>
- <el-form-item label="版本" prop="version">
- <el-input
- v-model="addRecord.version"
- placeholder="请选择工种"
- >
- </el-input>
- </el-form-item>
- <el-form-item label="状态" prop="status">
- <el-select v-model="addRecord.status" placeholder="请选择">
- <el-option label="已发布" value="已发布" />
- <el-option label="未发布" value="未发布" />
- </el-select>
- </el-form-item>
- <el-form-item>
- <el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button>
- <el-button type="primary" @click="confirmAddRecord(addRef)" size="default" v-throttle>确认</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear">
- <span>您确定要删除该条记录吗?</span>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="deleteDialog = false" size="default">取消</el-button>
- <el-button type="primary" @click="conFirmDelete" size="default" v-throttle>确认</el-button>
- </span>
- </template>
- </el-dialog>
- </div>
-</template>
-
-<script lang="ts" setup>
- 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, Edit } from '@element-plus/icons-vue'
- import { ElTable, FormInstance, FormRules } 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
- }
- 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 chosenIndex = ref(-1)
- const handleSizeChange = (val: number) => {
- console.log(`${val} items per page`)
- }
- const handleCurrentChange = (val: number) => {
- console.log(`current page: ${val}`)
- }
- const tableData = reactive(
- [
- {
- 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 timeForm = {
- hour12: false,
- year: 'numeric',
- month: '2-digit',
- day: '2-digit',
- hour: '2-digit',
- minute: '2-digit',
- second: '2-digit'
- }
- const addRef = ref<FormInstance>()
- const addRules = reactive<FormRules>({
- name:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- flowKey:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- sort:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- version:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- status:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- updateTime:[{required: true, message: '该内容不能为空',trigger:'blur'}]
- })
- const dialogDetails = ref(false)
- const dialogAddRecord = ref(false)
- const deleteDialog = ref(false)
- const addRecord = ref({})
- const details = ref({})
-
- // 查看记录
- const viewRecord = (row) =>{
- details.value = JSON.parse(JSON.stringify(row))
- dialogDetails.value = true
- }
-
- // 删除记录
- const deleteRecord = (index) =>{
- chosenIndex.value = index
- deleteDialog.value = true
- }
- const conFirmDelete = ()=> {
- tableData.splice(chosenIndex.value,1)
- deleteDialog.value = false
- }
-
- // 修改记录
- const editRecord =(index, row)=>{
- dialogAddRecord.value = true
- chosenIndex.value = index
- addRecord.value = JSON.parse(JSON.stringify(row))
- }
-
- // 新增修改记录确认
- const confirmAddRecord = async (formEl: FormInstance | undefined) =>{
- if (!formEl) return
- await formEl.validate((valid, fields) => {
- if (valid) {
- if(chosenIndex.value == -1){
- addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
- tableData.unshift(addRecord.value)
- }else{
- addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
- tableData[chosenIndex.value] = addRecord.value
- }
- dialogAddRecord.value =false
- } else {
- console.log('error submit!', fields)
- }
- })
-
- }
- const closeAdd =()=>{
- addRecord.value={}
- chosenIndex.value = -1
- }
- const indexClear = ()=>{
- chosenIndex.value = -1
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
-</script>
-
-<style scoped lang="scss">
- $homeNavLengh: 8;
- .home-container {
- height: calc(100vh - 144px);
- box-sizing: border-box;
- overflow: hidden;
- .homeCard{
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
-
- .main-card{
- width: 100%;
- height: 100%;
- .cardTop{
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin-bottom: 20px;
- .mainCardBtn{
- margin: 0;
- }
- }
- .pageBtn{
- height: 60px;
- display: flex;
- align-items: center;
- justify-content: right;
-
- .demo-pagination-block + .demo-pagination-block {
- margin-top: 10px;
- }
- .demo-pagination-block .demonstration {
- margin-bottom: 16px;
- }
- }
- }
- &:last-of-type{
- height: calc(100% - 100px);
- }
- }
- .el-row{
- display: flex;
- align-items: center;
- margin-bottom: 20px;
- &:last-child {
- margin-bottom: 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;
- }
- }
- }
- }
-</style>
diff --git a/src/views/specialWorkSystem/approveProcessManage/approveProcessSetting/index.vue b/src/views/specialWorkSystem/approveProcessManage/approveProcessSetting/index.vue
deleted file mode 100644
index d786f4f..0000000
--- a/src/views/specialWorkSystem/approveProcessManage/approveProcessSetting/index.vue
+++ /dev/null
@@ -1,292 +0,0 @@
-<template>
- <div class="home-container">
- <el-scrollbar height="100%">
- <div class="homeCard">
- <div>
- <div v-for="(item,index) in approveSteps" class="stepItem">
- <div class="stepNum">{{index+1}}</div>
- <div class="stepCard">
- <el-card class="box-card" shadow="hover">
- <template #header>
- <div class="card-header">
- <div>步骤<span>{{index+1}}</span></div>
- <div>
- <el-button type="primary" size="default" @click="addFlow(index)">新增</el-button>
- <el-button type="danger" size="default" @click="deleteFlow(index)">删除</el-button>
- </div>
- </div>
- </template>
- <div class="text item">审批部门:<span>{{item.department}}</span></div>
- <div class="text item">审批人员:<span>{{item.manager}}</span></div>
- <div class="text item">其他参数:<span>{{item.others}}</span></div>
- </el-card>
- </div>
- </div>
- </div>
- <el-row>
- <el-button type="primary" @click="confirmEdit" size="large">确认</el-button>
- <el-button @click="cancelEdit" size="large">取消</el-button>
- </el-row>
- </div>
- <el-drawer v-model="showAdd" direction="rtl" @close="colseDrawer">
- <template #title>
- <h4>新增审批流</h4>
- </template>
- <template #default>
- <el-form :model="addProgress" label-width="120px" ref="ruleFormRef" :rules="ProgressRules">
- <el-form-item label="审批部门" prop="department">
- <el-select v-model="addProgress.department" placeholder="请选择审批部门">
- <el-option label="动土" value="动土" />
- <el-option label="动火" value="动火" />
- </el-select>
- </el-form-item>
- <el-form-item label="审批人员" prop="manager">
- <el-select v-model="addProgress.manager" placeholder="请选择审批人员">
- <el-option label="人员1" value="人员1" />
- <el-option label="人员2" value="人员2" />
- </el-select>
- </el-form-item>
- <el-form-item label="其他参数" prop="others">
- <el-input v-model="addProgress.others" />
- </el-form-item>
- </el-form>
- </template>
- <template #footer>
- <div style="flex: auto">
- <el-button type="primary" @click="confirmClick(ruleFormRef)" size="default">确认</el-button>
- <el-button @click="cancelClick" size="default">取消</el-button>
- </div>
- </template>
- </el-drawer>
- <el-dialog v-model="deleteDialog" title="提示" width="30%" center>
- <span>您确定要删除该审批流吗?</span>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="deleteDialog = false" size="default">取消</el-button>
- <el-button type="primary" @click="conFirmDelete" size="default">确认</el-button>
- </span>
- </template>
- </el-dialog>
- </el-scrollbar>
- </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'
- import type { FormInstance, FormRules } 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: 'approveProcessSetting',
- setup() {
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const approveSteps = [
- {
- department: '动土',
- manager: '',
- others: ''
- },
- {
- department: '动土',
- manager: '',
- others: ''
- },
- {
- department: '动土',
- manager: '',
- others: ''
- }
- ];
- const showAdd = ref(false)
- const deleteDialog = ref(false)
- const chosenIndex = ref('')
- const addProgress = ref({
- department: '',
- manager: '',
- others: ''
- })
- const ruleFormRef = ref<FormInstance>()
- const ProgressRules = reactive<FormRules>({
- department: [{required:true,message: '该选项不能为空',trigger: 'blur'}],
- manager: [{required:true,message: '该选项不能为空',trigger: 'blur'}]
- })
-
- // 确认新增
- const confirmClick = async (formEl: FormInstance | undefined) => {
- if (!formEl) return
- await formEl.validate((valid, fields) => {
- if (valid) {
- approveSteps.splice(chosenIndex.value+1,0,addProgress.value)
- showAdd.value = false
- } else {
- console.log('error submit!', fields)
- }
- })
-
- }
- const cancelClick=()=>{
- showAdd.value = false
- }
-
- // 新增
- const addFlow = (index) => {
- showAdd.value = true
- chosenIndex.value = index
- }
-
- // 删除记录
- const deleteFlow = (index) => {
- if(approveSteps.length>1){
- deleteDialog.value = true
- chosenIndex.value = index
- }else{
- ElMessage({
- message: '抱歉最后一条无法删除',
- type: 'warning',
- })
- }
- }
- const conFirmDelete = () => {
- const i = chosenIndex.value
- approveSteps.splice( i,1)
- deleteDialog.value = false
- }
- const colseDrawer = ()=>{
- addProgress.value = {
- department: '',
- manager: '',
- others: ''
- }
- }
- const cancelEdit = () => {
-
- }
- const confirmEdit = () =>{
-
- }
- const state = reactive<stateType>({});
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
- return {
- renderMenu,
- showAdd,
- approveSteps,
- addProgress,
- ruleFormRef,
- ProgressRules,
- chosenIndex,
- deleteDialog,
- colseDrawer,
- conFirmDelete,
- cancelClick,
- deleteFlow,
- addFlow,
- confirmClick,
- cancelEdit,
- confirmEdit,
- ...toRefs(state),
- };
- },
- });
-</script>
-
-<style scoped lang="scss">
- $homeNavLengh: 8;
- .home-container {
- height: 100%;
- overflow: hidden;
- padding: 20px;
- .homeCard{
- width: 100%;
- padding: 20px;
- background: #fff;
- border-radius: 4px;
- }
- .stepItem{
- display: flex;
- align-items: flex-start;
- margin-bottom: 30px;
- margin-left: 30px;
- padding-bottom: 30px;
- border-left: 2px solid #ccc;
- &:first-of-type{
- margin-top: 30px;
- }
- &:last-of-type{
- margin-bottom: 0;
- border-left: none;
- }
- .stepNum {
- width: 30px;
- height: 30px;
- border-radius: 15px;
- box-sizing: border-box;
- color: #333;
- border: 2px solid #999;
- line-height: 26px;
- text-align: center;
- margin-right: 40px;
- margin-left: -16px;
- margin-top: -30px;
- }
- .stepCard {
- margin-top: -30px;
-
- .box-card {
- width: 480px;
-
- .card-header {
- display: flex;
- justify-content: space-between;
- align-items: center;
-
- span{
- font-weight: bold;
- margin-left: 10px;
- }
- }
-
- .text {
- font-size: 14px;
- }
-
- .item {
- margin-bottom: 18px;
- }
- }
- }
- &:hover .card-header{
- color: #0098F5;
- }
- &:hover .stepNum{
- border: 2px solid #0098F5;
- color: #0098F5;
- }
- }
-
- .el-form{
- padding: 40px 20px;
- }
- }
-</style>
diff --git a/src/views/specialWorkSystem/approveProcessManage/examineTemplate/index.vue b/src/views/specialWorkSystem/approveProcessManage/examineTemplate/index.vue
deleted file mode 100644
index 8c2afdd..0000000
--- a/src/views/specialWorkSystem/approveProcessManage/examineTemplate/index.vue
+++ /dev/null
@@ -1,367 +0,0 @@
-<template>
- <div class="home-container">
- <div style="height: 100%">
- <el-row class="homeCard">
- <el-col :span="8">
- <div class="grid-content topInfo">
- <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="homeCard">
- <div class="main-card">
- <el-row class="cardTop">
- <el-col :span="12" class="mainCardBtn">
- <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord = true" v-throttle>新增</el-button>
- <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button>
- <el-button type="success" size="default" plain>设置分类</el-button>
- </el-col>
- <el-button type="primary" :icon="Refresh" size="default" />
- </el-row>
- <el-table ref="multipleTableRef" :data="tableData" style="width: 100%" height="calc(100% - 100px)" :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="操作" align="center" width="250">
- <template #default="scope">
- <el-button link type="primary" :icon="Edit" size="small" @click="editRecord(scope.$index, scope.row)" v-throttle>修改</el-button>
- <el-button link type="success" size="small">发布</el-button>
- <el-button link type="danger" :icon="Delete" size="small" @click="deleteRecord(scope.$index)">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- <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>
- </div>
- <el-dialog v-model="dialogAddRecord" title="审批流程编辑" @close="closeAdd">
- <el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules">
- <el-form-item label="流程名称" prop="name">
- <el-input v-model="addRecord.name" placeholder="流程名称" />
- </el-form-item>
- <el-form-item label="流程key" prop="flowKey">
- <el-input v-model="addRecord.flowKey" placeholder="流程key"> </el-input>
- </el-form-item>
- <el-form-item label="分类" prop="sort">
- <el-select v-model="addRecord.sort" placeholder="请选择">
- <el-option label="临时用电" value="临时用电" />
- <el-option label="设备检修" value="设备检修" />
- </el-select>
- </el-form-item>
- <el-form-item label="版本" prop="version">
- <el-input v-model="addRecord.version" placeholder="请选择工种"> </el-input>
- </el-form-item>
- <el-form-item label="状态" prop="status">
- <el-select v-model="addRecord.status" placeholder="请选择">
- <el-option label="已发布" value="已发布" />
- <el-option label="未发布" value="未发布" />
- </el-select>
- </el-form-item>
- <el-form-item>
- <el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button>
- <el-button type="primary" @click="confirmAddRecord(addRef)" size="default" v-throttle>确认</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear">
- <span>您确定要删除该条记录吗?</span>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="deleteDialog = false" size="default">取消</el-button>
- <el-button type="primary" @click="conFirmDelete" size="default" v-throttle>确认</el-button>
- </span>
- </template>
- </el-dialog>
- </div>
-</template>
-
-<script lang="ts" setup>
-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, Edit } from '@element-plus/icons-vue';
-import { ElTable, FormInstance, FormRules } 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;
-}
-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 chosenIndex = ref(-1);
-const handleSizeChange = (val: number) => {
- console.log(`${val} items per page`);
-};
-const handleCurrentChange = (val: number) => {
- console.log(`current page: ${val}`);
-};
-const tableData = reactive([
- {
- 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 timeForm = {
- hour12: false,
- year: 'numeric',
- month: '2-digit',
- day: '2-digit',
- hour: '2-digit',
- minute: '2-digit',
- second: '2-digit'
-};
-const addRef = ref<FormInstance>();
-const addRules = reactive<FormRules>({
- name: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- flowKey: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- sort: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- version: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- status: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- updateTime: [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
-});
-const dialogDetails = ref(false);
-const dialogAddRecord = ref(false);
-const deleteDialog = ref(false);
-const addRecord = ref({});
-const details = ref({});
-
-// 查看记录
-const viewRecord = (row) => {
- details.value = JSON.parse(JSON.stringify(row));
- dialogDetails.value = true;
-};
-
-// 删除记录
-const deleteRecord = (index) => {
- chosenIndex.value = index;
- deleteDialog.value = true;
-};
-const conFirmDelete = () => {
- tableData.splice(chosenIndex.value, 1);
- deleteDialog.value = false;
-};
-
-// 修改记录
-const editRecord = (index, row) => {
- dialogAddRecord.value = true;
- chosenIndex.value = index;
- addRecord.value = JSON.parse(JSON.stringify(row));
-};
-
-// 新增修改记录确认
-const confirmAddRecord = async (formEl: FormInstance | undefined) => {
- if (!formEl) return;
- await formEl.validate((valid, fields) => {
- if (valid) {
- if (chosenIndex.value == -1) {
- addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g, '-');
- tableData.unshift(addRecord.value);
- } else {
- addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g, '-');
- tableData[chosenIndex.value] = addRecord.value;
- }
- dialogAddRecord.value = false;
- } else {
- console.log('error submit!', fields);
- }
- });
-};
-const closeAdd = () => {
- addRecord.value = {};
- chosenIndex.value = -1;
-};
-const indexClear = () => {
- chosenIndex.value = -1;
-};
-// 折线图
-const renderMenu = async (value: string) => {
- Session.set('projectId', value);
- userInfos.value.projectId = value;
- await initBackEndControlRoutes();
-};
-</script>
-
-<style scoped lang="scss">
-$homeNavLengh: 8;
-.home-container {
- height: calc(100vh - 144px);
- box-sizing: border-box;
- overflow: hidden;
- .homeCard {
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
-
- .main-card {
- width: 100%;
- height: 100%;
- .cardTop {
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin-bottom: 20px;
- .mainCardBtn {
- margin: 0;
- }
- }
- .pageBtn {
- height: 60px;
- display: flex;
- align-items: center;
- justify-content: right;
-
- .demo-pagination-block + .demo-pagination-block {
- margin-top: 10px;
- }
- .demo-pagination-block .demonstration {
- margin-bottom: 16px;
- }
- }
- }
- &:last-of-type {
- height: calc(100% - 100px);
- }
- }
- .el-row {
- display: flex;
- align-items: center;
- margin-bottom: 20px;
- &:last-child {
- margin-bottom: 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;
- }
- }
- }
-}
-</style>
diff --git a/src/views/specialWorkSystem/approveProcessManage/templateSetting/index.vue b/src/views/specialWorkSystem/approveProcessManage/templateSetting/index.vue
deleted file mode 100644
index a8b85a8..0000000
--- a/src/views/specialWorkSystem/approveProcessManage/templateSetting/index.vue
+++ /dev/null
@@ -1,293 +0,0 @@
-<template>
- <div class="home-container">
- <el-scrollbar height="100%">
- <div class="homeCard">
- <div>
- <div v-for="(item, index) in approveSteps" class="stepItem">
- <div class="stepNum">{{ index + 1 }}</div>
- <div class="stepCard">
- <el-card class="box-card" shadow="hover">
- <template #header>
- <div class="card-header">
- <div>
- 步骤<span>{{ index + 1 }}</span>
- </div>
- <div>
- <el-button type="primary" size="default" @click="addFlow(index)">新增</el-button>
- <el-button type="danger" size="default" @click="deleteFlow(index)">删除</el-button>
- </div>
- </div>
- </template>
- <div class="text item">
- 审批部门:<span>{{ item.department }}</span>
- </div>
- <div class="text item">
- 审批人员:<span>{{ item.manager }}</span>
- </div>
- <div class="text item">
- 其他参数:<span>{{ item.others }}</span>
- </div>
- </el-card>
- </div>
- </div>
- </div>
- <el-row>
- <el-button type="primary" @click="confirmEdit" size="large">确认</el-button>
- <el-button @click="cancelEdit" size="large">取消</el-button>
- </el-row>
- </div>
- <el-drawer v-model="showAdd" direction="rtl" @close="colseDrawer">
- <template #title>
- <h4>新增审批流</h4>
- </template>
- <template #default>
- <el-form :model="addProgress" label-width="120px" ref="ruleFormRef" :rules="ProgressRules">
- <el-form-item label="审批部门" prop="department">
- <el-select v-model="addProgress.department" placeholder="请选择审批部门">
- <el-option label="动土" value="动土" />
- <el-option label="动火" value="动火" />
- </el-select>
- </el-form-item>
- <el-form-item label="审批人员" prop="manager">
- <el-select v-model="addProgress.manager" placeholder="请选择审批人员">
- <el-option label="人员1" value="人员1" />
- <el-option label="人员2" value="人员2" />
- </el-select>
- </el-form-item>
- <el-form-item label="其他参数" prop="others">
- <el-input v-model="addProgress.others" />
- </el-form-item>
- </el-form>
- </template>
- <template #footer>
- <div style="flex: auto">
- <el-button type="primary" @click="confirmClick(ruleFormRef)" size="default">确认</el-button>
- <el-button @click="cancelClick" size="default">取消</el-button>
- </div>
- </template>
- </el-drawer>
- <el-dialog v-model="deleteDialog" title="提示" width="30%" center>
- <span>您确定要删除该审批流吗?</span>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="deleteDialog = false" size="default">取消</el-button>
- <el-button type="primary" @click="conFirmDelete" size="default">确认</el-button>
- </span>
- </template>
- </el-dialog>
- </el-scrollbar>
- </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';
-import type { FormInstance, FormRules } 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: 'approveProcessSetting',
- setup() {
- const userInfo = useUserInfo();
- const { userInfos } = storeToRefs(userInfo);
- const approveSteps = [
- {
- department: '动土',
- manager: '',
- others: ''
- },
- {
- department: '动土',
- manager: '',
- others: ''
- },
- {
- department: '动土',
- manager: '',
- others: ''
- }
- ];
- const showAdd = ref(false);
- const deleteDialog = ref(false);
- const chosenIndex = ref('');
- const addProgress = ref({
- department: '',
- manager: '',
- others: ''
- });
- const ruleFormRef = ref<FormInstance>();
- const ProgressRules = reactive<FormRules>({
- department: [{ required: true, message: '该选项不能为空', trigger: 'blur' }],
- manager: [{ required: true, message: '该选项不能为空', trigger: 'blur' }]
- });
-
- // 确认新增
- const confirmClick = async (formEl: FormInstance | undefined) => {
- if (!formEl) return;
- await formEl.validate((valid, fields) => {
- if (valid) {
- approveSteps.splice(chosenIndex.value + 1, 0, addProgress.value);
- showAdd.value = false;
- } else {
- console.log('error submit!', fields);
- }
- });
- };
- const cancelClick = () => {
- showAdd.value = false;
- };
-
- // 新增
- const addFlow = (index) => {
- showAdd.value = true;
- chosenIndex.value = index;
- };
-
- // 删除记录
- const deleteFlow = (index) => {
- if (approveSteps.length > 1) {
- deleteDialog.value = true;
- chosenIndex.value = index;
- } else {
- ElMessage({
- message: '抱歉最后一条无法删除',
- type: 'warning'
- });
- }
- };
- const conFirmDelete = () => {
- const i = chosenIndex.value;
- approveSteps.splice(i, 1);
- deleteDialog.value = false;
- };
- const colseDrawer = () => {
- addProgress.value = {
- department: '',
- manager: '',
- others: ''
- };
- };
- const cancelEdit = () => {};
- const confirmEdit = () => {};
- const state = reactive<stateType>({});
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId', value);
- userInfos.value.projectId = value;
- await initBackEndControlRoutes();
- };
- return {
- renderMenu,
- showAdd,
- approveSteps,
- addProgress,
- ruleFormRef,
- ProgressRules,
- chosenIndex,
- deleteDialog,
- colseDrawer,
- conFirmDelete,
- cancelClick,
- deleteFlow,
- addFlow,
- confirmClick,
- cancelEdit,
- confirmEdit,
- ...toRefs(state)
- };
- }
-});
-</script>
-
-<style scoped lang="scss">
-$homeNavLengh: 8;
-.home-container {
- height: 100%;
- overflow: hidden;
- padding: 20px;
- .homeCard {
- width: 100%;
- padding: 20px;
- background: #fff;
- border-radius: 4px;
- }
- .stepItem {
- display: flex;
- align-items: flex-start;
- margin-bottom: 30px;
- margin-left: 30px;
- padding-bottom: 30px;
- border-left: 2px solid #ccc;
- &:first-of-type {
- margin-top: 30px;
- }
- &:last-of-type {
- margin-bottom: 0;
- border-left: none;
- }
- .stepNum {
- width: 30px;
- height: 30px;
- border-radius: 15px;
- box-sizing: border-box;
- color: #333;
- border: 2px solid #999;
- line-height: 26px;
- text-align: center;
- margin-right: 40px;
- margin-left: -16px;
- margin-top: -30px;
- }
- .stepCard {
- margin-top: -30px;
-
- .box-card {
- width: 480px;
-
- .card-header {
- display: flex;
- justify-content: space-between;
- align-items: center;
-
- span {
- font-weight: bold;
- margin-left: 10px;
- }
- }
-
- .text {
- font-size: 14px;
- }
-
- .item {
- margin-bottom: 18px;
- }
- }
- }
- &:hover .card-header {
- color: #0098f5;
- }
- &:hover .stepNum {
- border: 2px solid #0098f5;
- color: #0098f5;
- }
- }
-
- .el-form {
- padding: 40px 20px;
- }
-}
-</style>
diff --git a/src/views/specialWorkSystem/workApplyManage/myApply/index.vue b/src/views/specialWorkSystem/workApplyManage/myApply/index.vue
deleted file mode 100644
index 390f236..0000000
--- a/src/views/specialWorkSystem/workApplyManage/myApply/index.vue
+++ /dev/null
@@ -1,362 +0,0 @@
-<template>
- <div class="home-container">
- <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
- <el-tab-pane label="申请中" name="Applying">
- <div style="height: 100%">
- <el-row class="homeCard">
- <el-col :span="8">
- <div class="grid-content topInfo">
- <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="homeCard">
- <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" size="default"/>
- </el-row>
- <el-table
- ref="multipleTableRef"
- :data="applyData"
- style="width: 100%"
- height="calc(100% - 100px)"
- :header-cell-style="{background: '#fafafa'}"
- @selection-change="handleSelectionChange"
- >
- <el-table-column type="selection" width="55" />
- <el-table-column type="index" label="作业证编号" width="200"/>
- <el-table-column property="level" label="作业证等级" width="180" sortable />
- <el-table-column property="applyDate" label="申请日期" sortable />
- <el-table-column property="name" label="申请人" width="180"/>
- <el-table-column property="department" label="申请部门" width="180" />
- <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 fixed="right" label="操作" align="center" width="250">
- <template #default="scope">
- <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
- <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecord(scope.$index)">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- <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>
- </div>
- <el-dialog v-model="dialogDetails" title="作业票查看">
- <el-form :model="details" label-width="120px">
- <el-form-item label="作业证等级">
- <el-input
- v-model="details.level"
- readonly
- />
- </el-form-item>
- <el-form-item label="申请日期">
- <el-input
- v-model="details.applyDate"
- readonly
- />
- </el-form-item>
- <el-form-item label="申请人">
- <el-input
- v-model="details.name"
- readonly
- />
- </el-form-item>
- <el-form-item label="申请部门">
- <el-input
- v-model="details.department"
- readonly
- />
- </el-form-item>
- <el-form-item label="状态">
- <el-input
- v-model="details.status"
- readonly
- />
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear">
- <span>您确定要删除该条记录吗?</span>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="deleteDialog = false" size="default">取消</el-button>
- <el-button type="primary" @click="conFirmDelete" size="default" v-throttle>确认</el-button>
- </span>
- </template>
- </el-dialog>
- </el-tab-pane>
- <el-tab-pane label="已通过" name="passed">
- <div style="height: 100%">
- <el-row class="homeCard">
- <el-col :span="8">
- <div class="grid-content topInfo">
- <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="homeCard">
- <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" size="default" :icon="Refresh" />-->
-<!-- </el-row>-->
- <el-table
- ref="multipleTableRef"
- :data="passedData"
- style="width: 100%"
- height="calc(100% - 48px)"
- :header-cell-style="{background: '#fafafa'}"
- @selection-change="handleSelectionChange"
- >
- <el-table-column type="selection" width="55" />
- <el-table-column type="index" label="编号" width="200"/>
- <el-table-column property="level" label="作业证等级" width="180" sortable />
- <el-table-column property="applyDate" label="申请日期" sortable />
- <el-table-column property="name" label="申请人" width="180"/>
- <el-table-column property="department" label="申请部门" width="180" />
- <el-table-column label="申请状态" width="180">
- <template #default="scope">
- <el-tag type="success">{{ scope.row.status }}</el-tag>
- </template>
- </el-table-column>
- </el-table>
- <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>
- </div>
- </el-tab-pane>
- </el-tabs>
- </div>
-</template>
-
-<script lang="ts" setup>
- 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'
- import type { TabsPaneContext } from 'element-plus'
- let global: any = {
- homeChartOne: null,
- homeChartTwo: null,
- homeCharThree: null,
- dispose: [null, '', undefined],
- };
-
- interface stateType {
- homeOne: Array <type>
- }
- interface type {
-
- }
- interface User {
- num: string
- level: string
- applyDate: string
- name: string
- department: string
- status: string
- }
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const activeName = ref('Applying')
- const handleClick = (tab: TabsPaneContext, event: Event) => {
- console.log(tab, event)
- }
- 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 applyData = reactive([
- {
- level: '等级一',
- applyDate: '2022-07-27 14:19:33',
- name: '张三',
- department: '部门一',
- status: '审核中'
-
- },
- {
- level: '等级一',
- applyDate: '2022-07-27 14:19:33',
- name: '张三',
- department: '部门一',
- status: '审核中'
-
- },
- {
- level: '等级一',
- applyDate: '2022-07-27 14:19:33',
- name: '张三',
- department: '部门一',
- status: '审核中'
-
- }
- ])
- const chosenIndex = ref(-1)
- const passedData: User[] = []
- const dialogDetails = ref(false)
- const details = ref({})
- const deleteDialog = ref(false)
-
- // 查看记录
- const viewRecord = (row) =>{
- details.value = JSON.parse(JSON.stringify(row))
- dialogDetails.value = true
- }
-
- // 删除记录
- const deleteRecord = (index) =>{
- chosenIndex.value = index
- deleteDialog.value = true
- }
-
- // 弹窗确认删除记录
- const conFirmDelete = ()=> {
- applyData.splice(chosenIndex.value,1)
- deleteDialog.value = false
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
-</script>
-
-<style scoped lang="scss">
- $homeNavLengh: 8;
- .home-container {
- height: calc(100vh - 144px);
- box-sizing: border-box;
- overflow: hidden;
- .demo-tabs{
- width: 100%;
- height: 100%;
-
- &::v-deep(.el-tabs__content){
- height: calc(100% - 60px);
- }
-
- .el-tab-pane{
- height: 100%;
- }
- }
- .homeCard{
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
-
- .main-card{
- width: 100%;
- height: 100%;
- .cardTop{
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin-bottom: 20px;
- .mainCardBtn{
- margin: 0;
- }
- }
- .pageBtn{
- height: 60px;
- display: flex;
- align-items: center;
- justify-content: right;
-
- .demo-pagination-block + .demo-pagination-block {
- margin-top: 10px;
- }
- .demo-pagination-block .demonstration {
- margin-bottom: 16px;
- }
- }
- }
- &:last-of-type{
- height: calc(100% - 100px);
- }
- }
- .el-row{
- display: flex;
- align-items: center;
- margin-bottom: 20px;
- &:last-child {
- margin-bottom: 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;
- }
- }
- }
- }
-</style>
diff --git a/src/views/specialWorkSystem/workApplyManage/workTicket/components/blindPanelForm.vue b/src/views/specialWorkSystem/workApplyManage/workTicket/components/blindPanelForm.vue
deleted file mode 100644
index bf26c37..0000000
--- a/src/views/specialWorkSystem/workApplyManage/workTicket/components/blindPanelForm.vue
+++ /dev/null
@@ -1,354 +0,0 @@
-<template>
- <div class="comp-container">
- <el-form :model="bpForm" label-width="180px" :rules="bpFormRules" ref="bpRef">
- <div class="homeCard">
- <el-row>
- <el-col :span="8">
- <el-form-item label="申请部门" prop="bpDepartment">
- <el-select v-model="bpForm.bpDepartment" placeholder="请选择部门">
- <el-option label="机修班" value="机修班" />
- <el-option label="火工班" value="火工班" />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="申请人" prop="bpApplyName">
- <el-input
- v-model="bpForm.bpApplyName"
- placeholder="请输入"
- class="input-with-select"
- >
- <template #append>
- <el-button :icon="Search" />
- </template>
- </el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="设备管道名称" prop="bpTubeName">
- <el-input
- v-model="bpForm.bpTubeName"
- placeholder="请输入"
- class="input-with-select"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="主要介质" prop="bpMainMatter">
- <el-input
- v-model="bpForm.bpMainMatter"
- placeholder="请输入"
- class="input-with-select"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="8">
- <el-form-item label="温度" prop="bpTemperature">
- <el-input
- v-model="bpForm.bpTemperature"
- placeholder="请输入"
- class="input-with-select"
- />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="压力" prop="bpPressure">
- <el-input
- v-model="bpForm.bpPressure"
- placeholder="请输入"
- class="input-with-select"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="盲板材质" prop="bpMaterial">
- <el-input
- v-model="bpForm.bpMaterial"
- placeholder="请输入"
- class="input-with-select"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="盲板规格" prop="bpFormat">
- <el-input
- v-model="bpForm.bpFormat"
- placeholder="请输入"
- class="input-with-select"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="盲板编号" prop="bpNum">
- <el-input
- v-model="bpForm.bpNum"
- placeholder="请输入"
- class="input-with-select"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="盲板位置" prop="bpLocation">
- <el-input
- v-model="bpForm.bpLocation"
- placeholder="请输入"
- class="input-with-select"
- type="textarea"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="盲板位置图">
- <el-upload
- v-model:file-list="bpForm.picList"
- class="upload-demo"
- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
- multiple
- :on-preview="handlePreview"
- :on-remove="handleRemove"
- :before-remove="beforeRemove"
- :limit="3"
- :on-exceed="handleExceed"
- >
- <el-button type="primary">上传附件</el-button>
- <template #tip>
- <div class="el-upload__tip">
- jpg/png 文件大小须在500k以内.
- </div>
- </template>
- </el-upload>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="装盲板负责人" prop="bpPrincipals">
- <el-select v-model="bpForm.bpPrincipals" placeholder="请选择" multiple>
- <el-option label="负责人一" value="负责人一" />
- <el-option label="负责人二" value="负责人二" />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="装盲板时间" prop="bpInstallTime">
- <el-date-picker
- v-model="bpForm.bpInstallTime"
- type="datetime"
- placeholder="请选择"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="拆盲板负责人" prop="bpDePrincipals">
- <el-select v-model="bpForm.bpDePrincipals" placeholder="请选择" multiple>
- <el-option label="负责人一" value="负责人一" />
- <el-option label="负责人二" value="负责人二" />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="拆盲板时间" prop="bpUninstallTime">
- <el-date-picker
- v-model="bpForm.bpUninstallTime"
- type="datetime"
- placeholder="请选择"
- />
- </el-form-item>
- </el-col>
- </el-row>
- </div>
- </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';
- import { Search } from '@element-plus/icons-vue'
- import { ElMessage, ElMessageBox } from 'element-plus'
- import type { FormInstance, FormRules, UploadProps, UploadUserFile } 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: 'blindPanelForm',
- props: {
- bpForm: Object,
- },
- setup(props) {
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({});
- const bpForm1 = reactive(props.bpForm)
- // const bpForm = reactive({
- // bpDepartment: '',
- // bpApplyName: '',
- // bpTubeName: '',
- // bpMainMatter: '',
- // bpTemperature: '',
- // bpPressure: '',
- // bpMaterial: '',
- // bpFormat: '',
- // bpNum: '',
- // bpLocation: '',
- // fileList: [],
- // bpPrincipals: [],
- // bpInstallTime: '',
- // bpDePrincipals: [],
- // bpUninstallTime: ''
- // })
- const bpRef = ref<FormInstance>()
- const bpFormRules = reactive<FormRules>({
- bpDepartment:[{required: true,message: '此处不可为空'}],
- bpApplyName:[{required: true,message: '此处不可为空'}],
- bpTubeName: [{required: true,message: '此处不可为空'}],
- bpMainMatter: [{required: true,message: '此处不可为空'}],
- bpTemperature: [{required: true,message: '此处不可为空'}],
- bpPressure: [{required: true,message: '此处不可为空'}],
- bpMaterial: [{required: true,message: '此处不可为空'}],
- bpFormat: [{required: true,message: '此处不可为空'}],
- bpNum: [{required: true,message: '此处不可为空'}],
- bpLocation: [{required: true,message: '此处不可为空'}],
- bpPrincipals: [{type: 'array',required: true,message: '此处不可为空',trigger:'blur'}],
- bpInstallTime: [{required: true,message: '此处不可为空'}],
- bpDePrincipals: [{type: 'array',required: true,message: '此处不可为空',trigger:'blur'}],
- bpUninstallTime: [{required: true,message: '此处不可为空'}]
- })
- const fileList = ref<UploadUserFile[]>([
- {
- name: 'element-plus-logo.svg',
- url: 'https://element-plus.org/images/element-plus-logo.svg',
- }
- ])
-
- const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {
- console.log(file, uploadFiles)
- }
-
- const handlePreview: UploadProps['onPreview'] = (uploadFile) => {
- console.log(uploadFile)
- }
-
- const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning(
- // `The limit is 3, you selected ${files.length} files this time, add up to ${
- // files.length + uploadFiles.length
- // } totally`
- '文件总数超出限制'
- )
- }
-
- const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `取消上传 ${uploadFile.name} ?`
- ).then(
- () => true,
- () => false
- )
- }
-
- const validateForm = async () => {
- let flag = null
- await bpRef.value.validate(valid=>{
- if(valid){
- flag = true
- }else{
- flag = false
- }
- })
- return flag
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
- return {
- renderMenu,
- bpForm1,
- bpFormRules,
- bpRef,
- fileList,
- Search,
- validateForm,
- handleRemove,
- handlePreview,
- handleExceed,
- beforeRemove,
- ...toRefs(state),
- };
- },
- });
-</script>
-
-<style scoped lang="scss">
- .home-container {
- height: 100%;
- overflow: hidden;
- .homeCard{
- width: 100%;
- padding: 20px;
- background: #fff;
- border-radius: 4px;
- margin-bottom: 20px;
- }
- .el-row{
- margin-bottom: 20px;
- }
- .el-row:last-child {
- margin-bottom: 0;
- }
- .el-input{
- width: 100% !important;
- }
- .el-date-editor::v-deep{
- width: 100%;
- }
- .el-select{
- width: 100%;
- }
- .el-cascader{
- width: 100% !important;
- }
- .submitBtn{
- display: flex;
- justify-content: center;
- }
- }
-</style>
diff --git a/src/views/specialWorkSystem/workApplyManage/workTicket/components/cutLineForm.vue b/src/views/specialWorkSystem/workApplyManage/workTicket/components/cutLineForm.vue
deleted file mode 100644
index 4a0a5be..0000000
--- a/src/views/specialWorkSystem/workApplyManage/workTicket/components/cutLineForm.vue
+++ /dev/null
@@ -1,220 +0,0 @@
-<template>
- <div class="comp-container">
- <el-form :model="clForm" label-width="180px" :rules="clFormRules" ref="clRef">
- <div class="homeCard">
- <el-row>
- <el-col :span="8">
- <el-form-item label="申请部门" prop="clDepartment">
- <el-select v-model="clForm.clDepartment" placeholder="请选择部门">
- <el-option label="机修班" value="机修班" />
- <el-option label="火工班" value="火工班" />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="申请人" prop="clApplyName">
- <el-input
- v-model="clForm.clApplyName"
- placeholder="请输入"
- class="input-with-select"
- >
- <template #append>
- <el-button :icon="Search" />
- </template>
- </el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="断路原因" prop="clReason">
- <el-input
- v-model="clForm.clReason"
- placeholder="请输入"
- class="input-with-select"
- type="textarea"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="涉及相关单位(部门)" prop="clUnits">
- <el-select v-model="clForm.clUnits" placeholder="请选择" multiple>
- <el-option label="单位一" value="单位一" />
- <el-option label="单位二" value="单位二" />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="断路地段示意图" prop="fileList">
- <el-upload
- v-model:file-list="fileList"
- class="upload-demo"
- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
- multiple
- :on-preview="handlePreview"
- :on-remove="handleRemove"
- :before-remove="beforeRemove"
- :limit="3"
- :on-exceed="handleExceed"
- >
- <el-button type="primary">上传附件</el-button>
- <template #tip>
- <div class="el-upload__tip">
- jpg/png 文件大小须在500k以内.
- </div>
- </template>
- </el-upload>
- </el-form-item>
- </el-col>
- </el-row>
- </div>
- </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';
- import { Search } from '@element-plus/icons-vue'
- import { ElMessage, ElMessageBox } from 'element-plus'
- import type { FormInstance, FormRules, UploadProps, UploadUserFile } 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: 'cutLineForm',
- props: {
- clForm: Object
- },
- setup(props) {
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({});
- const clForm1 = reactive(props.clForm)
- const clRef = ref<FormInstance>()
- const clFormRules = reactive<FormRules>({
- clDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
- clApplyName:[{required: true,message: '此处不可为空',trigger: 'blur'}],
- clReason: [{required: true,message: '此处不可为空',trigger: 'blur'}],
- clUnits: [{required: true,message: '此处不可为空',trigger: 'blur'}],
- fileList: [{type: 'array',required: true,message: '此处不可为空',trigger: 'change'}]
- })
- const fileList = ref<UploadUserFile[]>([
- {
- name: 'element-plus-logo.svg',
- url: 'https://element-plus.org/images/element-plus-logo.svg',
- }
- ])
-
- const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {
- console.log(file, uploadFiles)
- }
-
- const handlePreview: UploadProps['onPreview'] = (uploadFile) => {
- console.log(uploadFile)
- }
-
- const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning(
- // `The limit is 3, you selected ${files.length} files this time, add up to ${
- // files.length + uploadFiles.length
- // } totally`
- '文件总数超出限制'
- )
- }
-
- const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `取消上传 ${uploadFile.name} ?`
- ).then(
- () => true,
- () => false
- )
- }
- const validateForm = async () => {
- let flag = null
- await clRef.value.validate(valid=>{
- if(valid){
- flag = true
- }else{
- flag = false
- }
- })
- return flag
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
- return {
- renderMenu,
- clForm1,
- Search,
- clFormRules,
- clRef,
- fileList,
- validateForm,
- handleRemove,
- handlePreview,
- handleExceed,
- beforeRemove,
- ...toRefs(state),
- };
- },
- });
-</script>
-
-<style scoped lang="scss">
- .home-container {
- height: 100%;
- overflow: hidden;
- .homeCard{
- width: 100%;
- padding: 20px;
- background: #fff;
- border-radius: 4px;
- margin-bottom: 20px;
- }
- .el-row{
- margin-bottom: 20px;
- }
- .el-row:last-child {
- margin-bottom: 0;
- }
- .el-input{
- width: 100% !important;
- }
- .el-date-editor::v-deep{
- width: 100%;
- }
- .el-select{
- width: 100%;
- }
- .el-cascader{
- width: 100% !important;
- }
- .submitBtn{
- display: flex;
- justify-content: center;
- }
- }
-</style>
diff --git a/src/views/specialWorkSystem/workApplyManage/workTicket/components/dirtWorkForm.vue b/src/views/specialWorkSystem/workApplyManage/workTicket/components/dirtWorkForm.vue
deleted file mode 100644
index 4bb6e52..0000000
--- a/src/views/specialWorkSystem/workApplyManage/workTicket/components/dirtWorkForm.vue
+++ /dev/null
@@ -1,221 +0,0 @@
-<template>
- <div class="comp-container">
- <el-form :model="dwForm" label-width="180px" :rules="dwFormRules" ref="dwRef">
- <div class="homeCard">
- <el-row>
- <el-col :span="8">
- <el-form-item label="申请部门" prop="dwDepartment">
- <el-select v-model="dwForm.dwDepartment" placeholder="请选择部门">
- <el-option label="机修班" value="机修班" />
- <el-option label="火工班" value="火工班" />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="申请人" prop="dwApplyName">
- <el-input
- v-model="dwForm.dwApplyName"
- placeholder="请输入"
- class="input-with-select"
- >
- <template #append>
- <el-button :icon="Search" />
- </template>
- </el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="动土范围" prop="dwRange">
- <el-input
- v-model="dwForm.dwRange"
- placeholder="请输入"
- class="input-with-select"
- type="textarea"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="动土方式" prop="dwWay">
- <el-input
- v-model="dwForm.dwWay"
- placeholder="请输入"
- class="input-with-select"
- type="textarea"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="动土简图" prop="fileList">
- <el-upload
- v-model:file-list="fileList"
- class="upload-demo"
- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
- multiple
- :on-preview="handlePreview"
- :on-remove="handleRemove"
- :before-remove="beforeRemove"
- :limit="3"
- :on-exceed="handleExceed"
- >
- <el-button type="primary">上传附件</el-button>
- <template #tip>
- <div class="el-upload__tip">
- jpg/png 文件大小须在500k以内.
- </div>
- </template>
- </el-upload>
- </el-form-item>
- </el-col>
- </el-row>
- </div>
- </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';
- import { Search } from '@element-plus/icons-vue'
- import { ElMessage, ElMessageBox } from 'element-plus'
- import type { FormInstance, FormRules, UploadProps, UploadUserFile } 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: 'dirtWorkForm',
- props:{
- dwForm: Object
- },
- setup(props) {
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({});
- const dwForm1 = reactive(props.dwForm)
- const dwRef = ref<FormInstance>()
- const dwFormRules = reactive<FormRules>({
- dwDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
- dwApplyName:[{required: true,message: '此处不可为空',trigger: 'blur'}],
- dwRange: [{required: true,message: '此处不可为空',trigger: 'blur'}],
- dwWay: [{required: true,message: '此处不可为空',trigger: 'blur'}],
- fileList: [{type: 'array',required: true,message: '此处不可为空',trigger: 'change'}]
- })
- const fileList = ref<UploadUserFile[]>([
- {
- name: 'element-plus-logo.svg',
- url: 'https://element-plus.org/images/element-plus-logo.svg',
- }
- ])
-
- const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {
- console.log(file, uploadFiles)
- }
-
- const handlePreview: UploadProps['onPreview'] = (uploadFile) => {
- console.log(uploadFile)
- }
-
- const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
- ElMessage.warning(
- // `The limit is 3, you selected ${files.length} files this time, add up to ${
- // files.length + uploadFiles.length
- // } totally`
- '文件总数超出限制'
- )
- }
-
- const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
- return ElMessageBox.confirm(
- `取消上传 ${uploadFile.name} ?`
- ).then(
- () => true,
- () => false
- )
- }
- const validateForm = async () => {
- let flag = null
- await dwRef.value.validate(valid=>{
- if(valid){
- flag = true
- }else{
- flag = false
- }
- })
- return flag
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
- return {
- renderMenu,
- dwForm1,
- dwFormRules,
- dwRef,
- fileList,
- validateForm,
- handleRemove,
- handlePreview,
- handleExceed,
- beforeRemove,
- ...toRefs(state),
- };
- },
- });
-</script>
-
-<style scoped lang="scss">
- .home-container {
- height: 100%;
- overflow: hidden;
- .homeCard{
- width: 100%;
- padding: 20px;
- background: #fff;
- border-radius: 4px;
- margin-bottom: 20px;
- }
- .el-row{
- margin-bottom: 20px;
- }
- .el-row:last-child {
- margin-bottom: 0;
- }
- .el-input{
- width: 100% !important;
- }
- .el-date-editor::v-deep{
- width: 100%;
- }
- .el-select{
- width: 100%;
- }
- .el-cascader{
- width: 100% !important;
- }
- .submitBtn{
- display: flex;
- justify-content: center;
- }
- }
-</style>
diff --git a/src/views/specialWorkSystem/workApplyManage/workTicket/components/fireWorkForm.vue b/src/views/specialWorkSystem/workApplyManage/workTicket/components/fireWorkForm.vue
deleted file mode 100644
index 084f86c..0000000
--- a/src/views/specialWorkSystem/workApplyManage/workTicket/components/fireWorkForm.vue
+++ /dev/null
@@ -1,164 +0,0 @@
-<template>
- <div class="comp-container">
- <el-form :model="fwForm" label-width="150px" :rules="fwRules" ref="fwRef">
- <div class="homeCard">
- <el-row>
- <el-col :span="8">
- <el-form-item label="申请部门" prop="fwDepartment">
- <el-select v-model="fwForm.fwDepartment" placeholder="请选择部门">
- <el-option label="机修班" value="机修班" />
- <el-option label="火工班" value="火工班" />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="申请人" prop="fwApplyName">
- <el-input
- v-model="fwForm.fwApplyName"
- placeholder="请输入"
- class="input-with-select"
- >
- <template #append>
- <el-button :icon="Search" />
- </template>
- </el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="8">
- <el-form-item label="作业等级" prop="fwLevel">
- <el-select v-model="fwForm.fwLevel" placeholder="请选择">
- <el-option label="一" value="一" />
- <el-option label="二" value="二" />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="危害辨识" prop="fwRiskIdentify">
- <el-select v-model="fwForm.fwRiskIdentify" 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="动火方式" prop="fwWorkWay">
- <el-select v-model="fwForm.fwWorkWay" placeholder="请选择">
- <el-option label="方式一" value="方式一" />
- <el-option label="方式二" value="方式二" />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- </div>
- </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';
- import { Search } from '@element-plus/icons-vue'
- import type { FormInstance, FormRules } 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: 'fireWorkForm',
- props: {
- fwForm: Object
- },
- setup(props) {
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({});
- const fwForm1 = reactive(props.fwForm)
- const fwRef = ref<FormInstance>()
- const fwRules = reactive<FormRules>({
- fwDepartment:[{required: true,message: '此处不可为空'}],
- fwApplyName:[{required: true,message: '此处不可为空'}],
- fwLevel: [{required: true,message: '此处不可为空'}],
- fwRiskIdentify: [{required: true,message: '此处不可为空'}],
- fwWorkWay: [{required: true,message: '此处不可为空'}]
- })
- const validateForm = async () => {
- let flag = null
- await fwRef.value.validate(valid=>{
- if(valid){
- flag = true
- }else{
- flag = false
- }
- })
- return flag
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
- return {
- renderMenu,
- Search,
- fwForm1,
- fwRules,
- fwRef,
- validateForm,
- ...toRefs(state),
- };
- },
- });
-</script>
-
-<style scoped lang="scss">
- .comp-container {
- height: 100%;
- overflow: hidden;
- .homeCard{
- width: 100%;
- padding: 20px;
- background: #fff;
- border-radius: 4px;
- margin-bottom: 20px;
- }
- .el-row{
- margin-bottom: 20px;
- }
- .el-row:last-child {
- margin-bottom: 0;
- }
- .el-input{
- width: 100% !important;
- }
- .el-date-editor::v-deep{
- width: 100%;
- }
- .el-select{
- width: 100%;
- }
- .el-cascader{
- width: 100% !important;
- }
- .submitBtn{
- display: flex;
- justify-content: center;
- }
- }
-</style>
diff --git a/src/views/specialWorkSystem/workApplyManage/workTicket/components/hangLoadForm.vue b/src/views/specialWorkSystem/workApplyManage/workTicket/components/hangLoadForm.vue
deleted file mode 100644
index 6b36361..0000000
--- a/src/views/specialWorkSystem/workApplyManage/workTicket/components/hangLoadForm.vue
+++ /dev/null
@@ -1,169 +0,0 @@
-<template>
- <div class="comp-container">
- <el-form :model="hlForm" label-width="180px" :rules="hlFormRules" ref="hlRef">
- <div class="homeCard">
- <el-row>
- <el-col :span="8">
- <el-form-item label="申请部门" prop="hlDepartment">
- <el-select v-model="hlForm.hlDepartment" placeholder="请选择部门">
- <el-option label="机修班" value="机修班" />
- <el-option label="火工班" value="火工班" />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="申请人" prop="hlApplyName">
- <el-input
- v-model="hlForm.hlApplyName"
- placeholder="请输入"
- class="input-with-select"
- >
- <template #append>
- <el-button :icon="Search" />
- </template>
- </el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="8">
- <el-form-item label="作业等级" prop="hlLevel">
- <el-select v-model="hlForm.hlLevel" placeholder="请选择等级">
- <el-option label="等级一" value="等级一" />
- <el-option label="等级二" value="等级二" />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="起吊重物质量" prop="hlWeight">
- <el-input
- v-model="hlForm.hlWeight"
- placeholder="请输入"
- class="input-with-select"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="吊装工具名称" prop="hlToolsName">
- <el-input
- v-model="hlForm.hlToolsName"
- placeholder="请输入"
- class="input-with-select"
- >
- <template #append>
- <el-button :icon="Search" />
- </template>
- </el-input>
- </el-form-item>
- </el-col>
- </el-row>
- </div>
- </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';
- import { Search } from '@element-plus/icons-vue'
- import type { FormInstance, FormRules } 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: 'hangLoadForm',
- props: {
- hlForm: Object
- },
- setup(props) {
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({});
- const hlForm1 = reactive(props.hlForm)
- const hlRef = ref<FormInstance>()
- const hlFormRules = reactive<FormRules>({
- hlDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
- hlApplyName:[{required: true,message: '此处不可为空',trigger: 'blur'}],
- hlLevel: [{required: true,message: '此处不可为空',trigger: 'blur'}],
- hlWeight: [{required: true,message: '此处不可为空',trigger: 'blur'}],
- hlToolsName: [{required: true,message: '此处不可为空',trigger: 'blur'}]
- })
- const validateForm = async () => {
- let flag = null
- await hlRef.value.validate(valid=>{
- if(valid){
- flag = true
- }else{
- flag = false
- }
- })
- return flag
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
- return {
- renderMenu,
- hlForm1,
- hlFormRules,
- hlRef,
- validateForm,
- ...toRefs(state),
- };
- },
- });
-</script>
-
-<style scoped lang="scss">
- .home-container {
- height: 100%;
- overflow: hidden;
- .homeCard{
- width: 100%;
- padding: 20px;
- background: #fff;
- border-radius: 4px;
- margin-bottom: 20px;
- }
- .el-row{
- margin-bottom: 20px;
- }
- .el-row:last-child {
- margin-bottom: 0;
- }
- .el-input{
- width: 100% !important;
- }
- .el-date-editor::v-deep{
- width: 100%;
- }
- .el-select{
- width: 100%;
- }
- .el-cascader{
- width: 100% !important;
- }
- .submitBtn{
- display: flex;
- justify-content: center;
- }
- }
-</style>
diff --git a/src/views/specialWorkSystem/workApplyManage/workTicket/components/highWorkForm.vue b/src/views/specialWorkSystem/workApplyManage/workTicket/components/highWorkForm.vue
deleted file mode 100644
index 1ae364a..0000000
--- a/src/views/specialWorkSystem/workApplyManage/workTicket/components/highWorkForm.vue
+++ /dev/null
@@ -1,153 +0,0 @@
-<template>
- <div class="comp-container">
- <el-form :model="hwForm" label-width="150px" :rules="hwRules" ref="hwRef">
- <div class="homeCard">
- <el-row>
- <el-col :span="8">
- <el-form-item label="申请部门" prop="hwDepartment">
- <el-select v-model="hwForm.hwDepartment" placeholder="请选择部门">
- <el-option label="机修班" value="机修班" />
- <el-option label="火工班" value="火工班" />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="申请人" prop="hwApplyName">
- <el-input
- v-model="hwForm.hwApplyName"
- placeholder="请输入"
- class="input-with-select"
- >
- <template #append>
- <el-button :icon="Search" />
- </template>
- </el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="8">
- <el-form-item label="作业等级" prop="hwLevel">
- <el-select v-model="hwForm.hwLevel" placeholder="请选择">
- <el-option label="一" value="一" />
- <el-option label="二" value="二" />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="作业高度" prop="hwHeight">
- <el-input
- v-model="hwForm.hwHeight"
- placeholder="请输入"
- class="input-with-select"
- />
- </el-form-item>
- </el-col>
- </el-row>
- </div>
- </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';
- import { Search } from '@element-plus/icons-vue'
- import type { FormInstance, FormRules } 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: 'highWorkForm',
- props:{
- hwForm: Object
- },
- setup(props) {
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({});
- const hwForm1 = reactive(props.hwForm)
- const hwRef = ref<FormInstance>()
- const hwRules = reactive<FormRules>({
- hwDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
- hwApplyName:[{required: true,message: '此处不可为空',trigger: 'blur'}],
- hwLevel: [{required: true,message: '此处不可为空',trigger: 'blur'}],
- hwHeight: [{required: true,message: '此处不可为空',trigger: 'blur'}]
- })
- const validateForm = async () => {
- let flag = null
- await hwRef.value.validate(valid=>{
- if(valid){
- flag = true
- }else{
- flag = false
- }
- })
- return flag
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
- return {
- renderMenu,
- hwForm1,
- hwRef,
- hwRules,
- validateForm,
- ...toRefs(state),
- };
- },
- });
-</script>
-
-<style scoped lang="scss">
- .comp-container {
- height: 100%;
- overflow: hidden;
- .homeCard{
- width: 100%;
- padding: 20px;
- background: #fff;
- border-radius: 4px;
- margin-bottom: 20px;
- }
- .el-row{
- margin-bottom: 20px;
- }
- .el-row:last-child {
- margin-bottom: 0;
- }
- .el-input{
- width: 100% !important;
- }
- .el-date-editor::v-deep{
- width: 100%;
- }
- .el-select{
- width: 100%;
- }
- .el-cascader{
- width: 100% !important;
- }
- .submitBtn{
- display: flex;
- justify-content: center;
- }
- }
-</style>
diff --git a/src/views/specialWorkSystem/workApplyManage/workTicket/components/limitedSpaceForm.vue b/src/views/specialWorkSystem/workApplyManage/workTicket/components/limitedSpaceForm.vue
deleted file mode 100644
index bd92649..0000000
--- a/src/views/specialWorkSystem/workApplyManage/workTicket/components/limitedSpaceForm.vue
+++ /dev/null
@@ -1,175 +0,0 @@
-<template>
- <div class="comp-container">
- <el-form :model="lsForm" label-width="180px" :rules="lsFormRules" ref="lsRef">
- <div class="homeCard">
- <el-row>
- <el-col :span="8">
- <el-form-item label="申请部门" prop="lsDepartment">
- <el-select v-model="lsForm.lsDepartment" placeholder="请选择部门">
- <el-option label="机修班" value="机修班" />
- <el-option label="火工班" value="火工班" />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="申请人" prop="lsApplyName">
- <el-input
- v-model="lsForm.lsApplyName"
- placeholder="请输入"
- class="input-with-select"
- >
- <template #append>
- <el-button :icon="Search" />
- </template>
- </el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="受限空间名称" prop="lsUnitName">
- <el-input
- v-model="lsForm.lsUnitName"
- placeholder="请输入"
- class="input-with-select"
- >
- <template #append>
- <el-button :icon="Search" />
- </template>
- </el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="受限空间所属单位" prop="lsUnit">
- <el-select v-model="lsForm.lsUnit" placeholder="请选择">
- <el-option label="一" value="一" />
- <el-option label="二" value="二" />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="受限空间内原有介质名称" prop="lsUnitName">
- <el-input
- v-model="lsForm.lsUnitMatterName"
- placeholder="请输入"
- class="input-with-select"
- >
- <template #append>
- <el-button :icon="Search" />
- </template>
- </el-input>
- </el-form-item>
- </el-col>
- </el-row>
- </div>
- </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';
- import { Search } from '@element-plus/icons-vue'
- import type { FormInstance, FormRules } 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: 'limitedSpaceForm',
- props: {
- lsForm: Object
- },
- setup(props) {
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({});
- const lsForm1 = reactive(props.lsForm)
- const lsRef = ref<FormInstance>()
- const lsFormRules = reactive<FormRules>({
- lsDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
- lsApplyName:[{required: true,message: '此处不可为空',trigger: 'blur'}],
- lsUnitName: [{required: true,message: '此处不可为空',trigger: 'blur'}],
- lsUnit: [{required: true,message: '此处不可为空',trigger: 'blur'}],
- lsUnitMatterName: [{required: true,message: '此处不可为空',trigger: 'blur'}]
- })
- const validateForm = async () => {
- let flag = null
- await lsRef.value.validate(valid=>{
- if(valid){
- flag = true
- }else{
- flag = false
- }
- })
- return flag
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
- return {
- renderMenu,
- lsForm1,
- lsFormRules,
- lsRef,
- validateForm,
- ...toRefs(state),
- };
- },
- });
-</script>
-
-<style scoped lang="scss">
- .home-container {
- height: 100%;
- overflow: hidden;
- .homeCard{
- width: 100%;
- padding: 20px;
- background: #fff;
- border-radius: 4px;
- margin-bottom: 20px;
- }
- .el-row{
- margin-bottom: 20px;
- }
- .el-row:last-child {
- margin-bottom: 0;
- }
- .el-input{
- width: 100% !important;
- }
- .el-date-editor::v-deep{
- width: 100%;
- }
- .el-select{
- width: 100%;
- }
- .el-cascader{
- width: 100% !important;
- }
- .submitBtn{
- display: flex;
- justify-content: center;
- }
- }
-</style>
diff --git a/src/views/specialWorkSystem/workApplyManage/workTicket/components/tempElectForm.vue b/src/views/specialWorkSystem/workApplyManage/workTicket/components/tempElectForm.vue
deleted file mode 100644
index cc21d11..0000000
--- a/src/views/specialWorkSystem/workApplyManage/workTicket/components/tempElectForm.vue
+++ /dev/null
@@ -1,153 +0,0 @@
-<template>
- <div class="comp-container">
- <el-form :model="teForm" label-width="150px" :rules="teRules" ref="teRef">
- <div class="homeCard">
- <el-row>
- <el-col :span="8">
- <el-form-item label="申请部门" prop="teDepartment">
- <el-select v-model="teForm.teDepartment" placeholder="请选择部门">
- <el-option label="机修班" value="机修班" />
- <el-option label="火工班" value="火工班" />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="申请人" prop="teApplyName">
- <el-input
- v-model="teForm.teApplyName"
- placeholder="请输入"
- class="input-with-select"
- >
- <template #append>
- <el-button :icon="Search" />
- </template>
- </el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="8">
- <el-form-item label="作业等级" prop="teLevel">
- <el-select v-model="teForm.teLevel" placeholder="请选择等级">
- <el-option label="等级一" value="等级一" />
- <el-option label="等级二" value="等级二" />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="作业高度" prop="teHeight">
- <el-input
- v-model="teForm.teHeight"
- placeholder="请输入"
- class="input-with-select"
- />
- </el-form-item>
- </el-col>
- </el-row>
- </div>
- </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';
- import { Search } from '@element-plus/icons-vue'
- import type { FormInstance, FormRules } 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: 'tempElectForm',
- props: {
- teForm: Object
- },
- setup(props) {
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({});
- const teForm1 = reactive(props.teForm)
- const teRef = ref<FormInstance>()
- const teRules = reactive<FormRules>({
- teDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
- teApplyName:[{required: true,message: '此处不可为空',trigger: 'blur'}],
- teLevel: [{required: true,message: '此处不可为空',trigger: 'blur'}],
- teHeight: [{required: true,message: '此处不可为空',trigger: 'blur'}]
- })
- const validateForm = async () => {
- let flag = null
- await teRef.value.validate(valid=>{
- if(valid){
- flag = true
- }else{
- flag = false
- }
- })
- return flag
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
- return {
- renderMenu,
- teForm1,
- teRef,
- teRules,
- validateForm,
- ...toRefs(state),
- };
- },
- });
-</script>
-
-<style scoped lang="scss">
- .comp-container {
- height: 100%;
- overflow: hidden;
- .homeCard{
- width: 100%;
- padding: 20px;
- background: #fff;
- border-radius: 4px;
- margin-bottom: 20px;
- }
- .el-row{
- margin-bottom: 20px;
- }
- .el-row:last-child {
- margin-bottom: 0;
- }
- .el-input{
- width: 100% !important;
- }
- .el-date-editor::v-deep{
- width: 100%;
- }
- .el-select{
- width: 100%;
- }
- .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
deleted file mode 100644
index c57548f..0000000
--- a/src/views/specialWorkSystem/workApplyManage/workTicket/index.vue
+++ /dev/null
@@ -1,279 +0,0 @@
-<template>
- <div class="home-container">
- <div style="height: 100%">
- <el-form :model="form" label-width="120px" :rules="applyRules" ref="ruleFormRef">
- <div class="homeCard">
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业人" prop="operatorUids">
- <el-select v-model="form.operatorUids" multiple>
- <el-option v-for="item in workerList" :key="item.value" :label="item.label" :value="item.value" />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业等级" prop="workLevel">
- <el-select v-model="form.workLevel">
- <el-option v-for="item in workLevelList" :key="item.value" :label="item.label" :value="item.value" />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="作业时间" prop="workTimeLine">
- <el-date-picker v-model="form.workTimeLine" format="YYYY-MM-DD HH:mm" value-format="YYYY-MM-DD HH:mm:00" type="datetimerange" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业内容" prop="workContent">
- <el-input v-model="form.workContent" autosize type="textarea" placeholder="请输入作业内容" />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="作业地址" prop="workLocation">
- <el-input v-model="form.workLocation" autosize type="textarea" placeholder="请输入作业地址" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="动火方式" prop="workDetail.hotMethod">
- <el-input v-model="form.workDetail.hotMethod" autosize type="textarea" placeholder="请输入动火方式" />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="关联作业" prop="workDetail.otherSpecialWork">
- <el-select v-model="form.workDetail.otherSpecialWork" multiple>
- <el-option v-for="item in otherWorkList" :key="item.value" :label="item.label" :value="item.value" />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- </div>
- </el-form>
- <div class="applyBtn">
- <el-button type="primary" size="large" plain @click="submitForm(ruleFormRef)">发起申请</el-button>
- </div>
- </div>
- </div>
-</template>
-
-<script lang="ts">
-import { toRefs, reactive, defineComponent, ref, defineAsyncComponent, onMounted } from 'vue';
-import { storeToRefs } from 'pinia';
-import { initBackEndControlRoutes } from '/@/router/backEnd';
-import { useUserInfo } from '/@/stores/userInfo';
-import { Session } from '/@/utils/storage';
-import { Search } from '@element-plus/icons-vue';
-import { ElMessage } from 'element-plus';
-import type { FormInstance, FormRules } from 'element-plus';
-import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
-
-interface stateType {
- form: Object;
- workerList: Array<any>;
- workTypeList: Array<any>;
- workLevelList: Array<any>;
- otherWorkList: Array<any>;
-}
-export default defineComponent({
- name: 'workTicket',
- components: {},
- setup() {
- const userInfo = useUserInfo();
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({
- form: {
- operatorUids: [],
- workType: 1,
- workLevel: null,
- workContent: '',
- workLocation: '',
- workDetail: {
- hotMethod: '',
- otherSpecialWork: []
- },
- workTimeLine: [],
- expStartTime: '',
- expEndTime: ''
- },
- workerList: [
- {
- label: '张三',
- value: 53
- },
- {
- label: '李四',
- value: 54
- },
- {
- label: '测试一',
- value: 55
- },
- {
- label: '测试二',
- value: 56
- }
- ],
- workTypeList: [
- {
- label: '类型一',
- value: 1
- },
- {
- label: '类型二',
- value: 2
- }
- ],
- workLevelList: [
- {
- label: '一级动火作业',
- value: 1
- },
- {
- label: '二级动火作业',
- value: 2
- },
- {
- label: '特级动火作业',
- value: 3
- }
- ],
- otherWorkList: [
- {
- label: '动火作业',
- value: 1
- },
- {
- label: '受限空间作业',
- value: 2
- },
- {
- label: '吊装作业',
- value: 3
- },
- {
- label: '动土作业',
- value: 4
- },
- {
- label: '断路作业',
- value: 5
- },
- {
- label: '高处作业',
- value: 6
- },
- {
- label: '临时用电作业',
- value: 7
- },
- {
- label: '盲板抽堵作业',
- value: 8
- }
- ]
- });
- const ruleFormRef = ref<FormInstance>();
- const applyRules = reactive<FormRules>({
- operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workLevel: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- 'workDetail.hotMethod': [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- 'workDetail.otherSpecialWork': [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
- });
- const submitForm = async (formEl: FormInstance | undefined) => {
- if (!formEl) return;
- await formEl.validate(async (valid, fields) => {
- if (valid) {
- state.form.expStartTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[0];
- state.form.expEndTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[1];
- let { workTimeLine, ...data } = JSON.parse(JSON.stringify(state.form));
- data.workDetail.otherSpecialWork = data.workDetail.otherSpecialWork.join(',');
- console.log(data, 'data');
- const res = await workApplyApi().postFireApply(data);
- if (res.data.code === '200') {
- ElMessage({
- type: 'success',
- message: '提交成功!'
- });
- formEl.resetFields();
- } else {
- ElMessage({
- type: 'warning',
- message: res.data.msg
- });
- }
- } else {
- console.log('error submit!', fields);
- }
- });
- };
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId', value);
- userInfos.value.projectId = value;
- await initBackEndControlRoutes();
- };
-
- return {
- renderMenu,
- Search,
- ruleFormRef,
- applyRules,
- submitForm,
- ...toRefs(state)
- };
- }
-});
-</script>
-
-<style scoped lang="scss">
-.home-container {
- height: 100%;
- overflow: hidden;
- position: relative;
- .homeCard {
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
- margin-bottom: 20px;
- }
- .applyBtn {
- width: 100%;
- background: #fff;
- height: 80px;
- z-index: 5;
- box-shadow: 0 -3px 8px rgba(150, 150, 150, 0.1);
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .el-row {
- margin-bottom: 20px;
- }
- .el-row:last-child {
- margin-bottom: 0;
- }
- .el-input {
- width: 100% !important;
- }
- .el-date-editor::v-deep {
- width: 100%;
- }
- .el-select {
- width: 100%;
- }
- .el-cascader {
- width: 100% !important;
- }
-}
-</style>
diff --git a/src/views/specialWorkSystem/workBasicManage/certificateFilterSetting/index.vue b/src/views/specialWorkSystem/workBasicManage/certificateFilterSetting/index.vue
deleted file mode 100644
index 5d47070..0000000
--- a/src/views/specialWorkSystem/workBasicManage/certificateFilterSetting/index.vue
+++ /dev/null
@@ -1,306 +0,0 @@
-<template>
- <div class="home-container">
- <div style="height: 100%">
- <el-row class="homeCard">
- <el-col :span="8">
- <div class="grid-content topInfo">
- <el-select v-model="searchType" placeholder="请选择作业类型" style="width: 100%">
- <el-option label="临时用电" value="临时用电" />
- <el-option label="设备检修" value="设备检修" />
- </el-select>
- <el-button type="primary">查询</el-button>
- <el-button plain>重置</el-button>
- </div>
- </el-col>
- </el-row>
- <div class="homeCard">
- <div class="main-card">
- <el-row class="cardTop">
- <el-col :span="12" class="mainCardBtn">
- <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord=true">新增</el-button>
-<!-- <el-button type="warning" :icon="Edit" size="default" plain>修改</el-button>-->
- <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button>
- </el-col>
- <el-button type="primary" :icon="Refresh" size="default"/>
- </el-row>
- <el-table
- ref="multipleTableRef"
- :data="tableData"
- style="width: 100%"
- height="calc(100% - 100px)"
- :header-cell-style="{background: '#fafafa'}"
- @selection-change="handleSelectionChange"
- >
- <el-table-column type="selection" width="55" />
- <el-table-column property="certificate" label="证书名称" />
- <el-table-column property="jobType" label="作业类型" sortable/>
- <el-table-column fixed="right" label="操作" align="center" width="250">
- <template #default="scope">
- <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
- <el-button link type="primary" size="small" :icon="Edit" @click="editRecord(scope.$index ,scope.row)">修改</el-button>
- <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecord(scope.$index)">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- <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>
- </div>
- <el-dialog v-model="dialogDetails" title="证书过滤">
- <el-form :model="details" label-width="120px">
- <el-form-item label="证书名称">
- <el-input
- v-model="details.certificate"
- readonly
- />
- </el-form-item>
- <el-form-item label="作业类型">
- <el-input
- v-model="details.jobType"
- readonly
- />
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <el-dialog v-model="dialogAddRecord" title="证书过滤编辑" @close="closeAdd">
- <el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules">
- <el-form-item label="证书名称" prop="certificate">
- <el-input
- v-model="addRecord.certificate"
- placeholder="请选择工种"
- >
- <template #append>
- <el-button :icon="Search"/>
- </template>
- </el-input>
- </el-form-item>
- <el-form-item label="作业类型" prop="jobType">
- <el-select v-model="addRecord.jobType" placeholder="请选择">
- <el-option label="临时用电" value="临时用电" />
- <el-option label="设备检修" value="设备检修" />
- </el-select>
- </el-form-item>
- <el-form-item>
- <el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button>
- <el-button type="primary" @click="confirmAddRecord(addRef)" size="default">确认</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear">
- <span>您确定要删除该条记录吗?</span>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="deleteDialog = false" size="default">取消</el-button>
- <el-button type="primary" @click="conFirmDelete" size="default">确认</el-button>
- </span>
- </template>
- </el-dialog>
- </div>
-</template>
-
-<script lang="ts" setup>
- import { toRefs, reactive, ref } from 'vue';
- import { storeToRefs } from 'pinia';
- import { initBackEndControlRoutes } from '/@/router/backEnd';
- import {useUserInfo} from "/@/stores/userInfo";
- import { Session } from '/@/utils/storage';
- import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue'
- import { ElTable } from 'element-plus'
- import { FormInstance, FormRules } from 'element-plus'
- let global: any = {
- homeChartOne: null,
- homeChartTwo: null,
- homeCharThree: null,
- dispose: [null, '', undefined],
- };
-
- interface stateType {
- homeOne: Array <type>
- }
- interface type {
-
- }
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({});
- const currentPage = ref(1)
- const pageSize = ref(10)
- const searchType=ref('')
- const chosenIndex = ref(-1)
- const handleSizeChange = (val: number) => {
- console.log(`${val} items per page`)
- }
- const handleCurrentChange = (val: number) => {
- console.log(`current page: ${val}`)
- }
- const tableData = reactive(
- [
- {
- certificate: '登高作业证',
- jobType: '高处作业'
- },
- {
- certificate: '焊接与热切割作业',
- jobType: '动火作业'
- },
- {
- certificate: '低压电工证',
- jobType: '临时用电'
- },
- {
- certificate: '化工自动化控制仪表作业',
- jobType: '设备检修'
- }
- ]
- )
- const addRef = ref<FormInstance>()
- const addRules = reactive<FormRules>({
- certificate:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- jobType:[{required: true, message: '该内容不能为空',trigger:'blur'}]
- })
- const dialogDetails = ref(false)
- const dialogAddRecord = ref(false)
- const deleteDialog = ref(false)
- const addRecord = ref({})
- const details = ref({})
- const viewRecord = (row) =>{
- details.value = JSON.parse(JSON.stringify(row))
- dialogDetails.value = true
- }
- const deleteRecord = (index) =>{
- chosenIndex.value = index
- deleteDialog.value = true
- }
- const conFirmDelete = ()=> {
- tableData.splice(chosenIndex.value,1)
- deleteDialog.value = false
- }
- const confirmAddRecord = async (formEl: FormInstance | undefined) =>{
- if (!formEl) return
- await formEl.validate((valid, fields) => {
- if (valid) {
- if(chosenIndex.value == -1){
- tableData.unshift(addRecord.value)
- }else{
- tableData[chosenIndex.value] = addRecord.value
- }
- dialogAddRecord.value =false
- } else {
- console.log('error submit!', fields)
- }
- })
-
- }
- const closeAdd =()=>{
- addRecord.value={}
- chosenIndex.value = -1
- }
- const indexClear = ()=>{
- chosenIndex.value = -1
- }
- const editRecord =(index, row)=>{
- dialogAddRecord.value = true
- chosenIndex.value = index
- addRecord.value = JSON.parse(JSON.stringify(row))
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
-</script>
-
-<style scoped lang="scss">
- $homeNavLengh: 8;
- .home-container {
- height: calc(100vh - 144px);
- box-sizing: border-box;
- overflow: hidden;
- .homeCard{
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
-
- .main-card{
- width: 100%;
- height: 100%;
- .cardTop{
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin-bottom: 20px;
- .mainCardBtn{
- margin: 0;
- }
- }
- .pageBtn{
- height: 60px;
- display: flex;
- align-items: center;
- justify-content: right;
-
- .demo-pagination-block + .demo-pagination-block {
- margin-top: 10px;
- }
- .demo-pagination-block .demonstration {
- margin-bottom: 16px;
- }
- }
- }
- &:last-of-type{
- height: calc(100% - 100px);
- }
- }
- .el-row{
- display: flex;
- align-items: center;
- margin-bottom: 20px;
- &:last-child {
- margin-bottom: 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;
- }
- }
- }
- }
- .el-input{
- width: 100% !important;
- }
- .el-date-editor::v-deep{
- width: 100%;
- }
- .el-select{
- width: 100%;
- }
-</style>
diff --git a/src/views/specialWorkSystem/workBasicManage/personalProtectDevices/index.vue b/src/views/specialWorkSystem/workBasicManage/personalProtectDevices/index.vue
deleted file mode 100644
index 29c6088..0000000
--- a/src/views/specialWorkSystem/workBasicManage/personalProtectDevices/index.vue
+++ /dev/null
@@ -1,286 +0,0 @@
-<template>
- <div class="home-container">
- <div style="height: 100%">
- <el-row class="homeCard">
- <el-col :span="8">
- <div class="grid-content topInfo">
- <el-input v-model="deviceName" placeholder="防护用品名称"></el-input>
- <el-button type="primary">查询</el-button>
- <el-button plain>重置</el-button>
- </div>
- </el-col>
- </el-row>
- <div class="homeCard">
- <div class="main-card">
- <el-row class="cardTop">
- <el-col :span="12" class="mainCardBtn">
- <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord=true">新增</el-button>
-<!-- <el-button type="warning" :icon="Edit" size="default" plain>修改</el-button>-->
- <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button>
- </el-col>
- <el-button type="primary" :icon="Refresh" size="default"/>
- </el-row>
- <el-table
- ref="multipleTableRef"
- :data="tableData"
- style="width: 100%"
- height="calc(100% - 100px)"
- :header-cell-style="{background: '#fafafa'}"
- @selection-change="handleSelectionChange"
- >
- <el-table-column type="selection" width="55" />
- <el-table-column property="device" label="防护用品名称" />
- <el-table-column fixed="right" label="操作" align="center" width="250">
- <template #default="scope">
- <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
- <el-button link type="primary" size="small" :icon="Edit" @click="editRecord(scope.$index ,scope.row)">修改</el-button>
- <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecord(scope.$index)">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- <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>
- </div>
- <el-dialog v-model="dialogDetails" title="防护用品">
- <el-form :model="details" label-width="120px">
- <el-form-item label="防护用品名称">
- <el-input
- v-model="details.device"
- readonly
- />
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <el-dialog v-model="dialogAddRecord" title="防护用品编辑" @close="closeAdd">
- <el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules">
- <el-form-item label="防护用品名称" prop="device">
- <el-input
- v-model="addRecord.device"
- placeholder="请填写防护用品名称"
- >
- <template #append>
- <el-button :icon="Search"/>
- </template>
- </el-input>
- </el-form-item>
- <el-form-item>
- <el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button>
- <el-button type="primary" @click="confirmAddRecord(addRef)" size="default">确认</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear">
- <span>您确定要删除该条记录吗?</span>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="deleteDialog = false" size="default">取消</el-button>
- <el-button type="primary" @click="conFirmDelete" size="default">确认</el-button>
- </span>
- </template>
- </el-dialog>
- </div>
-</template>
-
-<script lang="ts" setup>
- import { toRefs, reactive, ref } from 'vue';
- import { storeToRefs } from 'pinia';
- import { initBackEndControlRoutes } from '/@/router/backEnd';
- import {useUserInfo} from "/@/stores/userInfo";
- import { Session } from '/@/utils/storage';
- import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue'
- import { ElTable } from 'element-plus'
- import { FormInstance, FormRules } from 'element-plus'
- let global: any = {
- homeChartOne: null,
- homeChartTwo: null,
- homeCharThree: null,
- dispose: [null, '', undefined],
- };
-
- interface stateType {
- homeOne: Array <type>
- }
- interface type {
-
- }
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({});
- const currentPage = ref(1)
- const pageSize = ref(10)
- const searchType=ref('')
- const chosenIndex = ref(-1)
- const deviceName = ref('')
- const handleSizeChange = (val: number) => {
- console.log(`${val} items per page`)
- }
- const handleCurrentChange = (val: number) => {
- console.log(`current page: ${val}`)
- }
- const tableData = reactive(
- [
- {
- device: '送风式长管式呼吸器'
- },
- {
- device: '防静电工作鞋'
- },
- {
- device: '隔绝式呼吸器'
- },
- {
- device: '防爆工具'
- }
- ]
- )
- const addRef = ref<FormInstance>()
- const addRules = reactive<FormRules>({
- device:[{required: true, message: '该内容不能为空',trigger:'blur'}]
- })
- const dialogDetails = ref(false)
- const dialogAddRecord = ref(false)
- const deleteDialog = ref(false)
- const addRecord = ref({})
- const details = ref({})
- const viewRecord = (row) =>{
- details.value = JSON.parse(JSON.stringify(row))
- dialogDetails.value = true
- }
- const deleteRecord = (index) =>{
- chosenIndex.value = index
- deleteDialog.value = true
- }
- const conFirmDelete = ()=> {
- tableData.splice(chosenIndex.value,1)
- deleteDialog.value = false
- }
- const confirmAddRecord = async (formEl: FormInstance | undefined) =>{
- if (!formEl) return
- await formEl.validate((valid, fields) => {
- if (valid) {
- if(chosenIndex.value == -1){
- tableData.unshift(addRecord.value)
- }else{
- tableData[chosenIndex.value] = addRecord.value
- }
- dialogAddRecord.value =false
- } else {
- console.log('error submit!', fields)
- }
- })
-
- }
- const closeAdd =()=>{
- addRecord.value={}
- chosenIndex.value = -1
- }
- const indexClear = ()=>{
- chosenIndex.value = -1
- }
- const editRecord =(index, row)=>{
- dialogAddRecord.value = true
- chosenIndex.value = index
- addRecord.value = JSON.parse(JSON.stringify(row))
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
-</script>
-
-<style scoped lang="scss">
- $homeNavLengh: 8;
- .home-container {
- height: calc(100vh - 144px);
- box-sizing: border-box;
- overflow: hidden;
- .homeCard{
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
-
- .main-card{
- width: 100%;
- height: 100%;
- .cardTop{
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin-bottom: 20px;
- .mainCardBtn{
- margin: 0;
- }
- }
- .pageBtn{
- height: 60px;
- display: flex;
- align-items: center;
- justify-content: right;
-
- .demo-pagination-block + .demo-pagination-block {
- margin-top: 10px;
- }
- .demo-pagination-block .demonstration {
- margin-bottom: 16px;
- }
- }
- }
- &:last-of-type{
- height: calc(100% - 100px);
- }
- }
- .el-row{
- display: flex;
- align-items: center;
- margin-bottom: 20px;
- &:last-child {
- margin-bottom: 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;
- }
- }
- }
- }
- .el-input{
- width: 100% !important;
- }
- .el-date-editor::v-deep{
- width: 100%;
- }
- .el-select{
- width: 100%;
- }
-</style>
diff --git a/src/views/specialWorkSystem/workBasicManage/safeMeasuresManage/index.vue b/src/views/specialWorkSystem/workBasicManage/safeMeasuresManage/index.vue
deleted file mode 100644
index a5abd21..0000000
--- a/src/views/specialWorkSystem/workBasicManage/safeMeasuresManage/index.vue
+++ /dev/null
@@ -1,415 +0,0 @@
-<template>
- <div class="home-container">
- <div style="height: 100%">
- <el-row class="homeCard">
- <el-col :span="16">
- <div class="grid-content topInfo">
- <el-select v-model="searchType" placeholder="请选择作业类型" style="width: 100%">
- <el-option label="临时用电" value="临时用电"/>
- <el-option label="设备检修" value="设备检修"/>
- </el-select>
- <el-select v-model="checkType" placeholder="请选择检查类型" style="width: 100%">
- <el-option label="临时用电" value="临时用电"/>
- <el-option label="设备检修" value="设备检修"/>
- </el-select>
- <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="homeCard">
- <div class="main-card">
- <el-row class="cardTop">
- <el-col :span="12" class="mainCardBtn">
- <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord=true">新增</el-button>
-<!-- <el-button type="warning" :icon="Edit" size="default" plain>修改</el-button>-->
- <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button>
- </el-col>
- <el-button type="primary" :icon="Refresh" size="default"/>
- </el-row>
- <el-table
- ref="multipleTableRef"
- :data="tableData"
- style="width: 100%"
- height="calc(100% - 100px)"
- :header-cell-style="{background: '#fafafa'}"
- @selection-change="handleSelectionChange"
- >
- <el-table-column type="selection" width="55" />
- <el-table-column property="jobType" label="作业类型" width="200" sortable/>
- <el-table-column property="type" label="类型" width="180" />
- <el-table-column property="checkType" label="检查类型"/>
- <el-table-column property="checkContent" label="检查内容" sortable/>
- <el-table-column property="judgement" label="参考判断"/>
- <el-table-column property="sort" label="排序" sortable/>
- <el-table-column property="remark" label="备注"/>
- <el-table-column property="updater" label="更新人"/>
- <el-table-column property="updateTime" label="更新时间" sortable/>
- <el-table-column fixed="right" label="操作" align="center" width="250">
- <template #default="scope">
- <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
- <el-button link type="primary" size="small" :icon="Edit" @click="editRecord(scope.$index ,scope.row)">修改</el-button>
- <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecord(scope.$index)">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- <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>
- </div>
- <el-dialog v-model="dialogDetails" title="安全措施">
- <el-form :model="details" label-width="120px">
- <el-form-item label="作业类型">
- <el-input
- v-model="details.jobType"
- readonly
- />
- </el-form-item>
- <el-form-item label="类型">
- <el-input
- v-model="details.type"
- readonly
- />
- </el-form-item>
- <el-form-item label="检查类型">
- <el-input
- v-model="details.checkType"
- readonly
- />
- </el-form-item>
- <el-form-item label="检查内容">
- <el-input
- v-model="details.checkContent"
- type="textarea"
- readonly
- />
- </el-form-item>
- <el-form-item label="参考判断">
- <el-input v-model="details.judgement" readonly/>
- </el-form-item>
- <el-form-item label="排序">
- <el-input v-model="details.sort" readonly/>
- </el-form-item>
- <el-form-item label="备注">
- <el-input v-model="details.remark" type="textarea" readonly/>
- </el-form-item>
- <el-form-item label="更新人">
- <el-input v-model="details.updater" readonly/>
- </el-form-item>
- <el-form-item label="更新时间">
- <el-input v-model="details.updateTime" readonly/>
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <el-dialog v-model="dialogAddRecord" title="安全措施编辑" @close="closeAdd">
- <el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules">
- <el-form-item label="作业类型" prop="jobType">
- <el-select v-model="addRecord.jobType">
- <el-option label="动火作业" value="动火作业" />
- <el-option label="动土作业" value="动土作业" />
- </el-select>
- </el-form-item>
- <el-form-item label="类型" prop="type">
- <el-select v-model="addRecord.type">
- <el-option label="施工单位负责检查项" value="施工单位负责检查项" />
- <el-option label="施工单位不负责检查项" value="施工单位不负责检查项" />
- </el-select>
- </el-form-item>
- <el-form-item label="检查类型" prop="checkType">
- <el-select v-model="addRecord.checkType">
- <el-option label="判断" value="判断" />
- <el-option label="填空" value="填空" />
- </el-select>
- </el-form-item>
- <el-form-item label="检查内容" prop="checkContent">
- <el-input
- v-model="addRecord.checkContent"
- type="textarea"
- >
- </el-input>
- </el-form-item>
- <el-form-item label="参考判断" prop="judgement">
- <el-radio-group v-model="addRecord.judgement">
- <el-radio label="Y" size="large">Y</el-radio>
- <el-radio label="N" size="large">N</el-radio>
- </el-radio-group>
- </el-form-item>
- <el-form-item label="排序值" prop="sort">
- <el-input-number v-model="addRecord.sort" :min="1" :max="100" @change="handleChange" />
- </el-form-item>
- <el-form-item label="备注">
- <el-input v-model="addRecord.remark" type="textarea"/>
- </el-form-item>
- <el-form-item>
- <el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button>
- <el-button type="primary" @click="confirmAddRecord(addRef)" size="default">确认</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear">
- <span>您确定要删除该条记录吗?</span>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="deleteDialog = false" size="default">取消</el-button>
- <el-button type="primary" @click="conFirmDelete" size="default">确认</el-button>
- </span>
- </template>
- </el-dialog>
- </div>
-</template>
-
-<script lang="ts" setup>
- import { toRefs, reactive, ref } from 'vue';
- import { storeToRefs } from 'pinia';
- import { initBackEndControlRoutes } from '/@/router/backEnd';
- import {useUserInfo} from "/@/stores/userInfo";
- import { Session } from '/@/utils/storage';
- import { Edit, View, Plus, Delete, Refresh, Search, Upload } from '@element-plus/icons-vue'
- import { ElTable } from 'element-plus'
- import { FormInstance, FormRules } 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: 'workCheckinRecord',
- // setup() {
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({});
- const currentPage = ref(1)
- const pageSize = ref(10)
- const chosenIndex = ref(-1)
- const handleSizeChange = (val: number) => {
- console.log(`${val} items per page`)
- }
- const handleCurrentChange = (val: number) => {
- console.log(`current page: ${val}`)
- }
- const tableData = reactive(
- [
- {
- jobType: '动火作业',
- type: '施工单位负责检查项',
- checkType: '判断',
- checkContent: '断开与动火设备相连接的所有管线',
- judgement: 'Y',
- sort: '2',
- remark: '666',
- updater: 'admin',
- updateTime: '2021-04-22 15:21:31'
- },
- {
- jobType: '动火作业',
- type: '施工单位负责检查项',
- checkType: '填空',
- checkContent: '动火点周围易燃物已清除',
- judgement: 'N',
- sort: '4',
- remark: '666',
- updater: 'admin',
- updateTime: '2021-04-22 15:21:31'
- }
- ]
- )
- const addRef = ref<FormInstance>()
- const timeForm = {
- hour12: false,
- year: 'numeric',
- month: '2-digit',
- day: '2-digit',
- hour: '2-digit',
- minute: '2-digit',
- second: '2-digit'
- }
- const addRules = reactive<FormRules>({
- jobType:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- type:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- checkType:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- checkContent:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- judgement:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- sort:[{required: true, message: '该内容不能为空',trigger:'blur'}]
- })
- const dialogDetails = ref(false)
- const dialogAddRecord = ref(false)
- const deleteDialog = ref(false)
- const addRecord = ref({})
- const details = ref({})
- const viewRecord = (row) =>{
- details.value = JSON.parse(JSON.stringify(row))
- dialogDetails.value = true
- }
- const deleteRecord = (index) =>{
- chosenIndex.value = index
- deleteDialog.value = true
- }
- const conFirmDelete = ()=> {
- tableData.splice(chosenIndex.value,1)
- deleteDialog.value = false
- }
- const confirmAddRecord = async (formEl: FormInstance | undefined) =>{
- if (!formEl) return
- await formEl.validate((valid, fields) => {
- if (valid) {
- if(chosenIndex.value == -1){
- addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
- tableData.unshift(addRecord.value)
- }else{
- addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
- tableData[chosenIndex.value] = addRecord.value
- }
- dialogAddRecord.value =false
- } else {
- console.log('error submit!', fields)
- }
- })
-
- }
- const closeAdd =()=>{
- addRecord.value={}
- chosenIndex.value = -1
- }
- const indexClear = ()=>{
- chosenIndex.value = -1
- }
- const editRecord =(index, row)=>{
- dialogAddRecord.value = true
- chosenIndex.value = index
- addRecord.value = JSON.parse(JSON.stringify(row))
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
- // return {
- // renderMenu,
- // multipleTableRef,
- // tableData,
- // currentPage,
- // pageSize,
- // dialogDetails,
- // details,
- // deleteDialog,
- // dialogAddRecord,
- // viewRecord,
- // deleteRecord,
- // handleSizeChange,
- // handleCurrentChange,
- // Plus,
- // Edit,
- // Delete,
- // Search,
- // Download,
- // handleSelectionChange,
- // Refresh,
- // ...toRefs(state),
- // };
- // },
- // });
-</script>
-
-<style scoped lang="scss">
- $homeNavLengh: 8;
- .home-container {
- height: calc(100vh - 144px);
- box-sizing: border-box;
- overflow: hidden;
- .homeCard{
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
-
- .main-card{
- width: 100%;
- height: 100%;
- .cardTop{
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin-bottom: 20px;
- .mainCardBtn{
- margin: 0;
- }
- }
- .pageBtn{
- height: 60px;
- display: flex;
- align-items: center;
- justify-content: right;
-
- .demo-pagination-block + .demo-pagination-block {
- margin-top: 10px;
- }
- .demo-pagination-block .demonstration {
- margin-bottom: 16px;
- }
- }
- }
- &:last-of-type{
- height: calc(100% - 100px);
- }
- }
- .el-row{
- display: flex;
- align-items: center;
- margin-bottom: 20px;
- &:last-child {
- margin-bottom: 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;
- }
- }
- }
- }
- .el-input{
- width: 100% !important;
- }
- .el-date-editor::v-deep{
- width: 100%;
- }
- .el-select{
- width: 100%;
- }
-</style>
diff --git a/src/views/specialWorkSystem/workBasicManage/workTypeSetting/index.vue b/src/views/specialWorkSystem/workBasicManage/workTypeSetting/index.vue
deleted file mode 100644
index 2acbc5e..0000000
--- a/src/views/specialWorkSystem/workBasicManage/workTypeSetting/index.vue
+++ /dev/null
@@ -1,357 +0,0 @@
-<template>
- <div class="home-container">
- <div style="height: 100%">
- <el-row class="homeCard">
- <el-col :span="16">
- <div class="grid-content topInfo">
- <el-select v-model="searchType" placeholder="请选择作业类型" style="width: 100%">
- <el-option label="临时用电" value="临时用电" />
- <el-option label="设备检修" value="设备检修" />
- </el-select>
- <el-input v-model="workTypeId" placeholder="工种编号"></el-input>
- <el-input v-model="workType" placeholder="工种"></el-input>
- <el-button type="primary">查询</el-button>
- <el-button plain>重置</el-button>
- </div>
- </el-col>
- </el-row>
- <div class="homeCard">
- <div class="main-card">
- <el-row class="cardTop">
- <el-col :span="12" class="mainCardBtn">
- <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord=true">新增</el-button>
-<!-- <el-button type="warning" :icon="Edit" size="default" plain>修改</el-button>-->
- <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button>
- </el-col>
- <el-button type="primary" :icon="Refresh" size="default"/>
- </el-row>
- <el-table
- ref="multipleTableRef"
- :data="tableData"
- style="width: 100%"
- height="calc(100% - 100px)"
- :header-cell-style="{background: '#fafafa'}"
- @selection-change="handleSelectionChange"
- >
- <el-table-column type="selection" width="55" />
- <el-table-column property="jobType" label="作业类型" sortable/>
- <el-table-column property="workId" label="工种编号" />
- <el-table-column property="workType" label="工种"/>
- <el-table-column fixed="right" label="操作" align="center" width="250">
- <template #default="scope">
- <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
- <el-button link type="primary" size="small" :icon="Edit" @click="editRecord(scope.$index ,scope.row)">修改</el-button>
- <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecord(scope.$index)">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- <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>
- </div>
- <el-dialog v-model="dialogDetails" title="作业工种">
- <el-form :model="details" label-width="120px">
- <el-form-item label="作业类型">
- <el-input
- v-model="details.jobType"
- class="input-with-select"
- readonly
- />
- </el-form-item>
- <el-form-item label="工种编号">
- <el-input
- v-model="details.workId"
- class="input-with-select"
- readonly
- />
- </el-form-item>
- <el-form-item label="工种">
- <el-input
- v-model="details.workType"
- class="input-with-select"
- readonly
- />
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <el-dialog v-model="dialogAddRecord" title="作业工种编辑" @close="closeAdd">
- <el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules">
- <el-form-item label="作业类型" prop="jobType">
- <el-select v-model="addRecord.jobType" placeholder="请选择">
- <el-option label="临时用电" value="临时用电" />
- <el-option label="设备检修" value="设备检修" />
- </el-select>
- </el-form-item>
- <el-form-item label="工种编号" prop="workId">
- <el-input
- v-model="addRecord.workId"
- placeholder="请填写工种编号"
- >
- </el-input>
- </el-form-item>
- <el-form-item label="工种" prop="workType">
- <el-input
- v-model="addRecord.workType"
- placeholder="请选择工种"
- >
- <template #append>
- <el-button :icon="Search"/>
- </template>
- </el-input>
- </el-form-item>
- <el-form-item>
- <el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button>
- <el-button type="primary" @click="confirmAddRecord(addRef)" size="default">确认</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear">
- <span>您确定要删除该条记录吗?</span>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="deleteDialog = false" size="default">取消</el-button>
- <el-button type="primary" @click="conFirmDelete" size="default">确认</el-button>
- </span>
- </template>
- </el-dialog>
- </div>
-</template>
-
-<script lang="ts" setup>
- import { toRefs, reactive, ref } from 'vue';
- import { storeToRefs } from 'pinia';
- import { initBackEndControlRoutes } from '/@/router/backEnd';
- import {useUserInfo} from "/@/stores/userInfo";
- import { Session } from '/@/utils/storage';
- import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue'
- import { ElTable } from 'element-plus'
- import { FormInstance, FormRules } 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: 'workCheckinRecord',
- // setup() {
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({});
- const currentPage = ref(1)
- const pageSize = ref(10)
- const chosenIndex = ref(-1)
- const handleSizeChange = (val: number) => {
- console.log(`${val} items per page`)
- }
- const handleCurrentChange = (val: number) => {
- console.log(`current page: ${val}`)
- }
- const tableData = reactive(
- [
- {
- jobType: '临时用电',
- workId: 'LD',
- workType: '临时用电作业'
- },
- {
- jobType: '设备检修',
- workId: 'WX',
- workType: '检维修作业'
- },
- {
- jobType: '受限空间',
- workId: 'SX',
- workType: '受限空间作业'
- },
- {
- jobType: '动火作业',
- workId: 'DH',
- workType: '焊接与热切割作业'
- }
- ]
- )
- const addRef = ref<FormInstance>()
- const addRules = reactive<FormRules>({
- jobType:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- workId:[{required: true, message: '该内容不能为空',trigger:'blur'}],
- workType:[{required: true, message: '该内容不能为空',trigger:'blur'}]
- })
- const dialogDetails = ref(false)
- const dialogAddRecord = ref(false)
- const deleteDialog = ref(false)
- const addRecord = ref({})
- const details = ref({})
- const viewRecord = (row) =>{
- details.value = JSON.parse(JSON.stringify(row))
- dialogDetails.value = true
- }
- const deleteRecord = (index) =>{
- chosenIndex.value = index
- deleteDialog.value = true
- }
- const conFirmDelete = ()=> {
- tableData.splice(chosenIndex.value,1)
- deleteDialog.value = false
- }
- const confirmAddRecord = async (formEl: FormInstance | undefined) =>{
- if (!formEl) return
- await formEl.validate((valid, fields) => {
- if (valid) {
- if(chosenIndex.value == -1){
- tableData.unshift(addRecord.value)
- }else{
- tableData[chosenIndex.value] = addRecord.value
- }
- dialogAddRecord.value =false
- } else {
- console.log('error submit!', fields)
- }
- })
-
- }
- const closeAdd =()=>{
- addRecord.value={}
- chosenIndex.value = -1
- }
- const indexClear = ()=>{
- chosenIndex.value = -1
- }
- const editRecord =(index, row)=>{
- dialogAddRecord.value = true
- chosenIndex.value = index
- addRecord.value = JSON.parse(JSON.stringify(row))
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
- // return {
- // renderMenu,
- // multipleTableRef,
- // tableData,
- // currentPage,
- // pageSize,
- // dialogDetails,
- // details,
- // deleteDialog,
- // dialogAddRecord,
- // viewRecord,
- // deleteRecord,
- // handleSizeChange,
- // handleCurrentChange,
- // Plus,
- // Edit,
- // Delete,
- // Search,
- // Download,
- // handleSelectionChange,
- // Refresh,
- // ...toRefs(state),
- // };
- // },
- // });
-</script>
-
-<style scoped lang="scss">
- $homeNavLengh: 8;
- .home-container {
- height: calc(100vh - 144px);
- box-sizing: border-box;
- overflow: hidden;
- .homeCard{
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
-
- .main-card{
- width: 100%;
- height: 100%;
- .cardTop{
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin-bottom: 20px;
- .mainCardBtn{
- margin: 0;
- }
- }
- .pageBtn{
- height: 60px;
- display: flex;
- align-items: center;
- justify-content: right;
-
- .demo-pagination-block + .demo-pagination-block {
- margin-top: 10px;
- }
- .demo-pagination-block .demonstration {
- margin-bottom: 16px;
- }
- }
- }
- &:last-of-type{
- height: calc(100% - 100px);
- }
- }
- .el-row{
- display: flex;
- align-items: center;
- margin-bottom: 20px;
- &:last-child {
- margin-bottom: 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;
- }
- }
- }
- }
- .el-input{
- width: 100% !important;
- }
- .el-date-editor::v-deep{
- width: 100%;
- }
- .el-select{
- width: 100%;
- }
-</style>
--
Gitblit v1.9.2