From eb706c505406a6a38ca396ad73262f364badea7e Mon Sep 17 00:00:00 2001
From: Admin <978517621@qq.com>
Date: 星期四, 07 七月 2022 18:05:13 +0800
Subject: [PATCH] 添加页面组件
---
src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/hangLoadForm.vue | 160 +++++
src/views/specialWorkSystem/workApplyManagement/workApplyForm/index.vue | 162 +++-
src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/cutLineForm.vue | 210 +++++++
src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/fireWorkForm.vue | 154 +++++
src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/highWorkForm.vue | 143 ++++
src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/tempElectForm.vue | 143 ++++
src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/dirtWorkForm.vue | 212 +++++++
src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/limitedSpaceForm.vue | 166 +++++
src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/blindPanelForm.vue | 337 +++++++++++
9 files changed, 1,640 insertions(+), 47 deletions(-)
diff --git a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/blindPanelForm.vue b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/blindPanelForm.vue
new file mode 100644
index 0000000..39513f7
--- /dev/null
+++ b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/blindPanelForm.vue
@@ -0,0 +1,337 @@
+<template>
+ <div class="comp-container">
+ <el-form :model="bpForm" label-width="180px" :rules="bpFormRules" ref="ruleFormRef">
+ <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="盲板位置图" 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>
+ <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',
+ setup() {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ const state = reactive<stateType>({});
+ const bpForm = reactive({
+ bpDepartment: '',
+ bpApplyName: '',
+ bpTubeName: '',
+ bpMainMatter: '',
+ bpTemperature: '',
+ bpPressure: '',
+ bpMaterial: '',
+ bpFormat: '',
+ bpNum: '',
+ bpLocation: '',
+ fileList: [],
+ bpPrincipals: [],
+ bpInstallTime: '',
+ bpDePrincipals: [],
+ bpUninstallTime: ''
+ })
+ const ruleFormRef = ref<FormInstance>()
+ const bpFormRules = reactive<FormRules>({
+ bpDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
+ bpApplyName:[{required: true,message: '此处不可为空',trigger: 'blur'}],
+ bpTubeName: [{required: true,message: '此处不可为空',trigger: 'blur'}],
+ bpMainMatter: [{required: true,message: '此处不可为空',trigger: 'blur'}],
+ bpTemperature: [{required: true,message: '此处不可为空',trigger: 'blur'}],
+ bpPressure: [{required: true,message: '此处不可为空',trigger: 'blur'}],
+ bpMaterial: [{required: true,message: '此处不可为空',trigger: 'blur'}],
+ bpFormat: [{required: true,message: '此处不可为空',trigger: 'blur'}],
+ bpNum: [{required: true,message: '此处不可为空',trigger: 'blur'}],
+ bpLocation: [{required: true,message: '此处不可为空',trigger: 'blur'}],
+ fileList: [{type: 'array',required: true,message: '此处不可为空',trigger: 'change'}],
+ bpPrincipals: [{type: 'array',required: true,message: '此处不可为空',trigger: 'change'}],
+ bpInstallTime: [{required: true,message: '此处不可为空',trigger: 'blur'}],
+ bpDePrincipals: [{type: 'array',required: true,message: '此处不可为空',trigger: 'change'}],
+ bpUninstallTime: [{required: true,message: '此处不可为空',trigger: 'blur'}]
+ })
+ 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 renderMenu = async (value: string) => {
+ Session.set('projectId',value)
+ userInfos.value.projectId = value
+ await initBackEndControlRoutes();
+ };
+ return {
+ renderMenu,
+ bpForm,
+ bpFormRules,
+ ruleFormRef,
+ fileList,
+ 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/workApplyManagement/workApplyForm/components/cutLineForm.vue b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/cutLineForm.vue
new file mode 100644
index 0000000..49e1f46
--- /dev/null
+++ b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/cutLineForm.vue
@@ -0,0 +1,210 @@
+<template>
+ <div class="comp-container">
+ <el-form :model="clForm" label-width="180px" :rules="clFormRules" ref="ruleFormRef">
+ <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',
+ setup() {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ const state = reactive<stateType>({});
+ const clForm = reactive({
+ clDepartment: '',
+ clApplyName: '',
+ clReason: '',
+ clUnits: [],
+ fileList: []
+ })
+ const ruleFormRef = 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 renderMenu = async (value: string) => {
+ Session.set('projectId',value)
+ userInfos.value.projectId = value
+ await initBackEndControlRoutes();
+ };
+ return {
+ renderMenu,
+ clForm,
+ clFormRules,
+ ruleFormRef,
+ fileList,
+ 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/workApplyManagement/workApplyForm/components/dirtWorkForm.vue b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/dirtWorkForm.vue
new file mode 100644
index 0000000..ceb729f
--- /dev/null
+++ b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/dirtWorkForm.vue
@@ -0,0 +1,212 @@
+<template>
+ <div class="comp-container">
+ <el-form :model="dwForm" label-width="180px" :rules="dwFormRules" ref="ruleFormRef">
+ <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',
+ setup() {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ const state = reactive<stateType>({});
+ const dwForm = reactive({
+ dwDepartment: '',
+ dwApplyName: '',
+ dwRange: '',
+ dwWay: '',
+ fileList: []
+ })
+ const ruleFormRef = 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 renderMenu = async (value: string) => {
+ Session.set('projectId',value)
+ userInfos.value.projectId = value
+ await initBackEndControlRoutes();
+ };
+ return {
+ renderMenu,
+ dwForm,
+ dwFormRules,
+ ruleFormRef,
+ fileList,
+ 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/workApplyManagement/workApplyForm/components/fireWorkForm.vue b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/fireWorkForm.vue
new file mode 100644
index 0000000..313ad5c
--- /dev/null
+++ b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/fireWorkForm.vue
@@ -0,0 +1,154 @@
+<template>
+ <div class="comp-container">
+ <el-form :model="fwForm" label-width="150px" :rules="fwRules" ref="ruleFormRef">
+ <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',
+ setup() {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ const state = reactive<stateType>({});
+ const fwForm = reactive({
+ fwDepartment: '',
+ fwApplyName: '',
+ fwLevel: '',
+ fwRiskIdentify: '',
+ fwWorkWay: ''
+ })
+ const ruleFormRef = ref<FormInstance>()
+ const fwRules = reactive<FormRules>({
+ fwDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
+ fwApplyName:[{required: true,message: '此处不可为空',trigger: 'blur'}],
+ fwLevel: [{required: true,message: '此处不可为空',trigger: 'blur'}],
+ fwRiskIdentify: [{required: true,message: '此处不可为空',trigger: 'blur'}],
+ fwWorkWay: [{required: true,message: '此处不可为空',trigger: 'blur'}]
+ })
+ // 折线图
+ const renderMenu = async (value: string) => {
+ Session.set('projectId',value)
+ userInfos.value.projectId = value
+ await initBackEndControlRoutes();
+ };
+ return {
+ renderMenu,
+ fwForm,
+ ruleFormRef,
+ fwRules,
+ ...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/workApplyManagement/workApplyForm/components/hangLoadForm.vue b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/hangLoadForm.vue
new file mode 100644
index 0000000..858080e
--- /dev/null
+++ b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/hangLoadForm.vue
@@ -0,0 +1,160 @@
+<template>
+ <div class="comp-container">
+ <el-form :model="hlForm" label-width="180px" :rules="hlFormRules" ref="ruleFormRef">
+ <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',
+ setup() {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ const state = reactive<stateType>({});
+ const hlForm = reactive({
+ hlDepartment: '',
+ hlApplyName: '',
+ hlLevel: '',
+ hlWeight: '',
+ hlToolsName: ''
+ })
+ const ruleFormRef = 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 renderMenu = async (value: string) => {
+ Session.set('projectId',value)
+ userInfos.value.projectId = value
+ await initBackEndControlRoutes();
+ };
+ return {
+ renderMenu,
+ hlForm,
+ hlFormRules,
+ ruleFormRef,
+ ...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/workApplyManagement/workApplyForm/components/highWorkForm.vue b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/highWorkForm.vue
new file mode 100644
index 0000000..198b18b
--- /dev/null
+++ b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/highWorkForm.vue
@@ -0,0 +1,143 @@
+<template>
+ <div class="comp-container">
+ <el-form :model="hwForm" label-width="150px" :rules="hwRules" ref="ruleFormRef">
+ <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',
+ setup() {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ const state = reactive<stateType>({});
+ const hwForm = reactive({
+ hwDepartment: '',
+ hwApplyName: '',
+ hwLevel: '',
+ hwHeight: ''
+ })
+ const ruleFormRef = 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 renderMenu = async (value: string) => {
+ Session.set('projectId',value)
+ userInfos.value.projectId = value
+ await initBackEndControlRoutes();
+ };
+ return {
+ renderMenu,
+ hwForm,
+ ruleFormRef,
+ hwRules,
+ ...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/workApplyManagement/workApplyForm/components/limitedSpaceForm.vue b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/limitedSpaceForm.vue
new file mode 100644
index 0000000..e5bcb8d
--- /dev/null
+++ b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/limitedSpaceForm.vue
@@ -0,0 +1,166 @@
+<template>
+ <div class="comp-container">
+ <el-form :model="lsForm" label-width="180px" :rules="lsFormRules" ref="ruleFormRef">
+ <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',
+ setup() {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ const state = reactive<stateType>({});
+ const lsForm = reactive({
+ lsDepartment: '',
+ lsApplyName: '',
+ lsUnitName: '',
+ lsUnit: '',
+ lsUnitMatterName: ''
+ })
+ const ruleFormRef = 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 renderMenu = async (value: string) => {
+ Session.set('projectId',value)
+ userInfos.value.projectId = value
+ await initBackEndControlRoutes();
+ };
+ return {
+ renderMenu,
+ lsForm,
+ lsFormRules,
+ ruleFormRef,
+ ...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/workApplyManagement/workApplyForm/components/tempElectForm.vue b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/tempElectForm.vue
new file mode 100644
index 0000000..296b5a1
--- /dev/null
+++ b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/tempElectForm.vue
@@ -0,0 +1,143 @@
+<template>
+ <div class="comp-container">
+ <el-form :model="teForm" label-width="150px" :rules="teRules" ref="ruleFormRef">
+ <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',
+ setup() {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ const state = reactive<stateType>({});
+ const teForm = reactive({
+ teDepartment: '',
+ teApplyName: '',
+ teLevel: '',
+ teHeight: ''
+ })
+ const ruleFormRef = 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 renderMenu = async (value: string) => {
+ Session.set('projectId',value)
+ userInfos.value.projectId = value
+ await initBackEndControlRoutes();
+ };
+ return {
+ renderMenu,
+ teForm,
+ ruleFormRef,
+ teRules,
+ ...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/workApplyManagement/workApply/index.vue b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/index.vue
similarity index 72%
rename from src/views/specialWorkSystem/workApplyManagement/workApply/index.vue
rename to src/views/specialWorkSystem/workApplyManagement/workApplyForm/index.vue
index 09e11a7..42b3dff 100644
--- a/src/views/specialWorkSystem/workApplyManagement/workApply/index.vue
+++ b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/index.vue
@@ -1,8 +1,9 @@
<template>
<div class="home-container">
<el-scrollbar height="100%">
- <div class="homeCard">
- <el-form :model="form" label-width="150px">
+ <el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef2">
+<!-- <blind-panel-form></blind-panel-form>-->
+ <div class="homeCard">
<el-row>
<el-col :span="8">
<el-form-item label="申请部门">
@@ -54,13 +55,15 @@
</el-form-item>
</el-col>
</el-row>
+ </div>
+ <div class="homeCard">
<el-row>
<el-col :span="3"><el-button type="primary" size="default" @click="dialogAddWorker = true">添加作业人</el-button></el-col>
<el-col :span="21">
<el-table :data="form.workerList" style="width: 100%">
<el-table-column type="index" label="序号" width="100"/>
<el-table-column prop="worker" label="作业人"/>
- <el-table-column prop="role" label="作业人角色" width="180" />
+ <el-table-column prop="role" label="作业人角色" width="180"/>
<el-table-column prop="unit" label="所属单位" width="180" />
<el-table-column prop="certificate" label="证书名称" width="180" />
<el-table-column prop="certificateId" label="证书号" />
@@ -74,7 +77,7 @@
</el-row>
<el-row>
<el-col :span="12">
- <el-form-item label="作业地点">
+ <el-form-item label="作业地点" prop="workLocation">
<el-input
v-model="form.workLocation"
placeholder="请输入"
@@ -87,7 +90,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="作业期限">
+ <el-form-item label="作业期限" prop="workTimeLine">
<el-date-picker
v-model="form.workTimeLine"
type="daterange"
@@ -102,7 +105,7 @@
</el-row>
<el-row>
<el-col :span="12">
- <el-form-item label="作业内容">
+ <el-form-item label="作业内容" prop="workContent">
<el-input
v-model="form.workContent"
placeholder="请输入"
@@ -115,7 +118,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="作业单位">
+ <el-form-item label="作业单位" prop="workUnit">
<el-input
v-model="form.workUnit"
placeholder="请输入"
@@ -128,9 +131,9 @@
</el-row>
<el-row>
<el-col :span="6">
- <el-form-item label="作业负责人">
+ <el-form-item label="作业负责人" prop="responsor">
<el-input
- v-model="form.responser"
+ v-model="form.responsor"
placeholder="请输入"
class="input-with-select"
>
@@ -141,7 +144,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="监护人">
+ <el-form-item label="监护人" prop="monitor">
<el-input
v-model="form.monitor"
placeholder="请输入"
@@ -154,7 +157,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="监护人岗位">
+ <el-form-item label="监护人岗位" prop="monitorStation">
<el-input
v-model="form.monitorStation"
placeholder="请输入"
@@ -169,7 +172,7 @@
</el-row>
<el-row>
<el-col :span="12">
- <el-form-item label="生产车间负责人">
+ <el-form-item label="生产车间负责人" prop="workhouseLeader">
<el-input
v-model="form.workhouseLeader"
placeholder="请输入"
@@ -182,7 +185,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="申请日期">
+ <el-form-item label="申请日期" prop="applyDate">
<el-date-picker
size="large"
v-model="form.applyDate"
@@ -193,10 +196,11 @@
</el-form-item>
</el-col>
</el-row>
- <el-divider />
+ </div>
+ <div class="homeCard">
<el-row>
<el-col :span="24">
- <el-form-item label="涉及的其他特殊作业">
+ <el-form-item label="涉及的其他特殊作业" prop="otherSpecialWorks">
<el-checkbox-group v-model="form.otherSpecialWorks">
<el-checkbox label="动火作业" />
<el-checkbox label="受限空间" />
@@ -213,7 +217,7 @@
</el-row>
<el-row>
<el-col>
- <el-form-item label="防护用品">
+ <el-form-item label="防护用品" prop="protections">
<el-cascader
v-model="form.protections"
:options="protectOption"
@@ -225,25 +229,25 @@
</el-form-item>
</el-col>
</el-row>
- <el-row>
- <el-col :span="6"><el-button type="primary" size="default" @click="dialogAddFile = true">点击添加安全交底和风险告知书</el-button></el-col>
+ <el-row style="justify-content: center">
+ <el-button type="primary" size="default" @click="dialogAddFile = true">点击添加安全交底和风险告知书</el-button>
</el-row>
<el-row>
<el-col :span="12">
- <el-form-item label="实施安全教育人">
+ <el-form-item label="实施安全教育人" prop="safetyMan">
<el-input
v-model="form.safetyMan"
placeholder="请输入"
class="input-with-select"
>
<template #append>
- <el-button :icon="Search" />
+ <el-button :icon="Search"/>
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="被教育人">
+ <el-form-item label="被教育人" prop="educated">
<el-input
v-model="form.educated"
placeholder="请输入"
@@ -256,17 +260,18 @@
</el-form-item>
</el-col>
</el-row>
- <el-divider />
+ </div>
+ <div class="homeCard applyBtn">
<el-row>
<el-col :span="24" class="submitBtn">
- <el-button type="primary" size="large" plain>发起申请</el-button>
+ <el-button type="primary" size="large" plain @click="handleApply(ruleFormRef2)">发起申请</el-button>
</el-col>
</el-row>
+ </div>
</el-form>
- </div>
<el-dialog v-model="dialogAddWorker" title="添加作业人">
- <el-form :model="addWorkerForm" label-width="120px">
- <el-form-item label="作业人">
+ <el-form :model="addWorkerForm" label-width="120px" :rules="addWorkerRules" ref='ruleFormRef3'>
+ <el-form-item label="作业人" prop="worker">
<el-input
v-model="addWorkerForm.worker"
placeholder="请输入"
@@ -277,7 +282,7 @@
</template>
</el-input>
</el-form-item>
- <el-form-item label="作业人角色">
+ <el-form-item label="作业人角色" prop="role">
<el-input
v-model="addWorkerForm.role"
placeholder="请输入"
@@ -288,7 +293,7 @@
</template>
</el-input>
</el-form-item>
- <el-form-item label="作业人角色">
+ <el-form-item label="作业人角色" prop="unit">
<el-input
v-model="addWorkerForm.unit"
placeholder="请输入"
@@ -299,7 +304,7 @@
</template>
</el-input>
</el-form-item>
- <el-form-item label="证书名称">
+ <el-form-item label="证书名称" prop="certificate">
<el-input
v-model="addWorkerForm.certificate"
placeholder="请输入"
@@ -310,7 +315,7 @@
</template>
</el-input>
</el-form-item>
- <el-form-item label="证书号">
+ <el-form-item label="证书号" prop="certificateId">
<el-input
v-model="addWorkerForm.certificateId"
placeholder="请输入"
@@ -385,7 +390,7 @@
</template>
<script lang="ts">
- import { toRefs, reactive, defineComponent, ref } from 'vue';
+ import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue';
import { storeToRefs } from 'pinia';
import { initBackEndControlRoutes } from '/@/router/backEnd';
import {useUserInfo} from "/@/stores/userInfo";
@@ -406,7 +411,17 @@
}
export default defineComponent({
- name: 'workApply',
+ name: 'workApplyForm',
+ components: {
+ fireWorkForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManagement/workApplyForm/components/fireWorkForm.vue')),
+ limitedSpaceForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManagement/workApplyForm/components/limitedSpaceForm.vue')),
+ hangLoadForm: defineAsyncComponent(()=> import('/@/views/specialWorkSystem/workApplyManagement/workApplyForm/components/hangLoadForm.vue')),
+ dirtWorkForm: defineAsyncComponent(()=> import('/@/views/specialWorkSystem/workApplyManagement/workApplyForm/components/dirtWorkForm.vue')),
+ cutLineForm: defineAsyncComponent(()=> import('/@/views/specialWorkSystem/workApplyManagement/workApplyForm/components/cutLineForm.vue')),
+ highWorkForm: defineAsyncComponent(()=> import('/@/views/specialWorkSystem/workApplyManagement/workApplyForm/components/highWorkForm.vue')),
+ tempElectForm: defineAsyncComponent(()=> import('/@/views/specialWorkSystem/workApplyManagement/workApplyForm/components/tempElectForm.vue')),
+ blindPanelForm: defineAsyncComponent(()=> import('/@/views/specialWorkSystem/workApplyManagement/workApplyForm/components/blindPanelForm.vue'))
+ },
setup() {
const userInfo = useUserInfo()
const { userInfos } = storeToRefs(userInfo);
@@ -424,7 +439,7 @@
workTimeLine: '',
workContent: '',
workUnit: '',
- responser: '',
+ responsor: '',
monitor: '',
workMonitor: '',
monitorStation: '',
@@ -514,6 +529,31 @@
}
]
const ruleFormRef = ref<FormInstance>()
+ const ruleFormRef2 = ref<FormInstance>()
+ const ruleFormRef3 = ref<FormInstance>()
+ const applyRules = reactive<FormRules>({
+ workLocation: [{required: true,message: '此处不能为空'}],
+ workTimeLine: [{required: true,message: '此处不能为空'}],
+ workContent: [{required: true,message: '此处不能为空'}],
+ workUnit: [{required: true,message: '此处不能为空'}],
+ responsor: [{required: true,message: '此处不能为空'}],
+ monitor: [{required: true,message: '此处不能为空'}],
+ workMonitor: [{required: true,message: '此处不能为空'}],
+ monitorStation: [{required: true,message: '此处不能为空'}],
+ workhouseLeader: [{required: true,message: '此处不能为空'}],
+ applyDate: [{required: true,message: '此处不能为空'}],
+ otherSpecialWorks: [{required: true,message: '此处不能为空'}],
+ protections: [{required: true,message: '此处不能为空'}],
+ safetyMan: [{required: true,message: '此处不能为空'}],
+ educated: [{required: true,message: '此处不能为空'}]
+ })
+ const addWorkerRules = reactive<FormRules>({
+ worker: [{required: true,message: '此处不能为空'}],
+ role: [{required: true,message: '此处不能为空'}],
+ unit: [{required: true,message: '此处不能为空'}],
+ certificate: [{required: true,message: '此处不能为空'}],
+ certificateId: [{required: true,message: '此处不能为空'}]
+ })
const saftyFileRules = reactive<FormRules>({
surrounding: [{required: true,message: '该选项不能为空'}],
risk: [{required: true,message: '该选项不能为空'}],
@@ -524,16 +564,23 @@
console.log(value)
}
- const onSubmitAddForm = () => {
- form.workerList.push(addWorkerForm.value)
- addWorkerForm.value = {
- worker: '',
- role: '',
- unit: '',
- certificate: '',
- certificateId: ''
- }
- dialogAddWorker.value = false
+ const onSubmitAddForm = async (formEl: FormInstance | undefined) => {
+ if (!formEl) return
+ await formEl.validate((valid, fields) => {
+ if (valid) {
+ form.workerList.push(addWorkerForm.value)
+ addWorkerForm.value = {
+ worker: '',
+ role: '',
+ unit: '',
+ certificate: '',
+ certificateId: ''
+ }
+ dialogAddWorker.value = false
+ } else {
+ console.log('error submit!', fields)
+ }
+ })
}
const onSubmitAddFile = () =>{
@@ -554,6 +601,16 @@
const deleteRow = (index) =>{
form.workerList.splice( index,1)
}
+ const handleApply = async (formEl: FormInstance | undefined) =>{
+ if (!formEl) return
+ await formEl.validate((valid, fields) => {
+ if (valid) {
+ console.log('submit!')
+ } else {
+ console.log('error submit!', fields)
+ }
+ })
+ }
// 折线图
const renderMenu = async (value: string) => {
Session.set('projectId',value)
@@ -571,7 +628,12 @@
addWorkerForm,
saftyFileForm,
ruleFormRef,
+ ruleFormRef2,
+ ruleFormRef3,
+ addWorkerRules,
saftyFileRules,
+ applyRules,
+ handleApply,
cancleAddFile,
deleteRow,
cancleAdd,
@@ -589,21 +651,27 @@
height: 100%;
overflow: hidden;
padding: 20px;
+ position: relative;
.homeCard{
width: 100%;
padding: 20px;
background: #fff;
border-radius: 4px;
+ margin-bottom: 20px;
+ }
+ .applyBtn{
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ margin-bottom: 0;
+ border-radius: 0;
+ box-shadow: 0 -3px 8px rgba(150,150,150,.1);
}
.el-row{
margin-bottom: 20px;
}
.el-row:last-child {
margin-bottom: 0;
- }
- .el-col{
- align-items: center;
- margin-bottom: 10px;
}
.el-input{
width: 100% !important;
--
Gitblit v1.9.2