Your Name
2022-07-07 15518c9dd36749e814ab729f92b1256ae0da3ff1
Merge branch 'master' of https://sinanoaq.cn:8888/r/gtqt
已重命名1个文件
已添加8个文件
1687 ■■■■■ 文件已修改
src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/blindPanelForm.vue 337 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/cutLineForm.vue 210 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/dirtWorkForm.vue 212 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/fireWorkForm.vue 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/hangLoadForm.vue 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/highWorkForm.vue 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/limitedSpaceForm.vue 166 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/tempElectForm.vue 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workApplyManagement/workApplyForm/index.vue 162 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>
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>
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>
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>
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>
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>
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>
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>
src/views/specialWorkSystem/workApplyManagement/workApplyForm/index.vue
文件名从 src/views/specialWorkSystem/workApplyManagement/workApply/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;