From 374c78f1791b7693f7c5c2e6d7e064d946df290e Mon Sep 17 00:00:00 2001
From: Admin <978517621@qq.com>
Date: 星期四, 13 十月 2022 14:41:26 +0800
Subject: [PATCH] Default Changelist

---
 /dev/null                                               |  815 ------------------------------------------------------
 src/views/specialWorkSystem/workTicket/wdsqjl/index.vue |   16 
 src/views/specialWorkSystem/workTicket/wdsq/index.vue   |   16 
 src/views/specialWorkSystem/workTicket/wdsp/index.vue   |   16 
 src/views/specialWorkSystem/workTicket/zysq/index.vue   |   16 
 5 files changed, 32 insertions(+), 847 deletions(-)

diff --git a/src/views/specialWorkSystem/workTicket/apply/components/broken.vue b/src/views/specialWorkSystem/workTicket/apply/components/broken.vue
deleted file mode 100644
index 17a7dcb..0000000
--- a/src/views/specialWorkSystem/workTicket/apply/components/broken.vue
+++ /dev/null
@@ -1,632 +0,0 @@
-<template>
-	<div class="home-container">
-		<div style="height: 100%">
-		<el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef">
-			<div class="homeCard">
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业人" prop="operatorUids">
-						<el-select v-model="form.operatorUids" multiple>
-							<el-option
-									v-for="item in workerList"
-									:key="item.uid"
-									:label="item.username"
-									:value="item.uid"
-							/>
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="作业时间" prop="workTimeLine">
-						<el-date-picker
-								v-model="form.workTimeLine"
-								format="YYYY-MM-DD HH:mm"
-								value-format="YYYY-MM-DD HH:mm:00"
-								type="datetimerange"
-								range-separator="至"
-								start-placeholder="开始时间"
-								end-placeholder="结束时间"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业内容" prop="workContent">
-						<el-input
-								v-model="form.workContent"
-								autosize
-								type="textarea"
-								placeholder="请输入作业内容"
-						/>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="作业地址" prop="workLocation">
-						<el-input
-								v-model="form.workLocation"
-								autosize
-								type="textarea"
-								placeholder="请输入作业地址"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="危害辨识" prop="hazardIdentification">
-						<el-input
-								v-model="form.hazardIdentification"
-								placeholder="请输入危害辨识"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-				<el-divider border-style="dashed"/>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业单位" prop="workDetail.operationDepId">
-<!--						<el-select v-model="form.workDetail.operationDepId">-->
-<!--							<el-option-->
-<!--									v-for="item in csDepList"-->
-<!--									:key="item.value"-->
-<!--									:label="item.label"-->
-<!--									:value="item.value"-->
-<!--							/>-->
-<!--						</el-select>-->
-						<el-cascader v-model="form.workDetail.operationDepId" :options="departList" :props="casProps2" :show-all-levels="false" @change="handleChange2" />
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="断路原因" prop="workDetail.bcReason">
-						<el-input
-								v-model="form.workDetail.bcReason"
-								autosize
-								type="textarea"
-								placeholder="请输入"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="断路地段说明" prop="workDetail.bcExplain">
-						<el-input
-								v-model="form.workDetail.bcExplain"
-								autosize
-								type="textarea"
-								placeholder="请输入"
-						/>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="涉及相关部门" prop="workDetail.involvedDepIds">
-						<el-cascader v-model="form.workDetail.involvedDepIds" :options="departList" :props="casProps" :show-all-levels="false" @change="handleChange" />
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="24">
-					<el-form-item label="图片上传" prop="workDetail.bcPath">
-						<el-upload accept="image/*" :on-exceed="showTip" :on-preview="handlePictureCardPreview" :limit='imgLimit' v-model:file-list="fileList" :http-request="upload" :action="uploadUrl" list-type="picture-card" :on-remove="handleRemove" :before-remove="beforeRemove" :before-upload="getUploadUrl">
-							<el-icon><Plus /></el-icon>
-							<template #tip>
-								<div class="el-upload__tip">上传jpg/png图片尺寸小于500KB,最多可上传3张</div>
-							</template>
-						</el-upload>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="选择关联物资">
-						<el-button type="primary" @click="getMaList">选择物资标准</el-button>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			</div>
-		</el-form>
-		<el-dialog v-model="equipmentDialog" title="关联物资标准" width="40%" center @close="closeMaterial">
-			<el-tabs tab-position="left" class="demo-tabs" type="border-card">
-				<el-tab-pane v-for="(item,index) in materialList" :label="item.materialTypeName" :key="index">
-					<div style="margin-bottom: 20px">
-						<el-form label-width="150px" label-position="top">
-							<div v-if="item.mustList.length>0" style="width: 100%;border-bottom: 1px solid #ccc;padding-bottom: 6px;margin-bottom: 10px;font-weight: bolder">必选</div>
-							<el-form-item v-if="item.mustList.length>0" class="tab-i" v-for="(i,x) in item.mustList" :key="x" :label="item.mustList[x].materialName + ':'" prop="defaultVal" :rules="[{ type: 'defaultVal', required: true, message: '该内容不能为空', trigger: 'blur'}]">
-								<el-input size="default" type="number" v-model="item.mustList[x].value" @change="(val)=>toZero(val,index,'mustList',x)" placeholder="请输入配置数量,空值默认为0">
-									<template #append>{{'库存:' + item.mustList[x].stock}}</template>
-								</el-input>
-							</el-form-item>
-							<div v-if="item.unList.length>0" style="width: 100%;border-bottom: 1px solid #ccc;padding-bottom: 6px;margin-bottom: 10px;font-weight: bolder">其他</div>
-							<el-form-item v-if="item.unList.length>0" class="tab-i" v-for="(i,x) in item.unList" :key="x" :label="item.unList[x].materialName + ':'">
-								<el-input size="default" type="number" v-model="item.unList[x].value" @change="(val)=>toZero(val,index,'unList',x)" placeholder="请输入配置数量,空值默认为0">
-									<template #append>{{'库存:' + item.unList[x].stock}}</template>
-								</el-input>
-							</el-form-item>
-						</el-form>
-					</div>
-				</el-tab-pane>
-			</el-tabs>
-			<template #footer>
-			<span class="dialog-footer">
-				<el-button @click="equipmentDialog = false" size="default">取消</el-button>
-				<el-button type="primary" @click="conFirmDevices" size="default">确认</el-button>
-			</span>
-			</template>
-		</el-dialog>
-		<div class="applyBtn">
-			<el-button type="primary" size="large" plain @click="submitForm(ruleFormRef)">发起申请</el-button>
-		</div>
-	</div>
-	<el-dialog v-model="dialogVisible">
-		<img w-full :src="dialogImageUrl" alt="Preview Image" />
-	</el-dialog>
-	</div>
-</template>
-
-<script lang="ts">
-	import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } 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'
-	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
-	import axios from 'axios';
-
-	interface stateType {
-		equipmentDialog: boolean,
-		form: Object,
-		csDepList: Array<any>,
-		fileList: Array<file>,
-		uploadUrl: string,
-		dialogVisible: Boolean,
-		dialogImageUrl: string | null,
-		imgLimit: number,
-		casProps: {},
-		casProps2: {},
-		isOverSize: boolean,
-		materialList: Array<any>
-	}
-	interface file {
-		url: string;
-	}
-	export default defineComponent({
-		name: 'brokenForm',
-		components: {},
-		props:['workerList','departList'],
-		setup() {
-			const userInfo = useUserInfo()
-			const { userInfos } = storeToRefs(userInfo);
-			const state  = reactive<stateType>({
-				equipmentDialog: false,
-				form: {
-					operatorUids: [],
-					workType: 5,
-					workLevel: 0,
-					workContent: '',
-					workLocation: '',
-					hazardIdentification: '',
-					workDetail:{
-						operationDepId: null,
-						bcReason: '',
-						bcExplain: '',
-						bcPath: [],
-						involvedDepIds: []
-					},
-					wmAddReqDTOList: [],
-					workTimeLine: [],
-					expStartTime: '',
-					expEndTime: ''
-				},
-				materialList: [],
-				isOverSize: false,
-				fileList: [],
-				imgLimit: 3,
-				uploadUrl: '',
-				dialogVisible: false,
-				dialogImageUrl: null,
-				csDepList: [
-					{
-						label: "单位一",
-						value: 1
-					},
-					{
-						label: "单位二",
-						value: 2
-					},
-					{
-						label: "单位三",
-						value: 3
-					},
-					{
-						label: "单位四",
-						value: 4
-					},
-					{
-						label: "单位五",
-						value: 5
-					},
-					{
-						label: "单位六",
-						value: 6
-					}
-				],
-				casProps: {
-					emitPath: false,
-					value: 'depId',
-					label: 'depName',
-					multiple: true
-				},
-				casProps2: {
-					emitPath: false,
-					value: 'depId',
-					label: 'depName',
-					multiple: false,
-					expandTrigger: 'hover',
-					checkStrictly: true
-				}
-			});
-			const ruleFormRef = ref<FormInstance>()
-			const applyRules = reactive<FormRules>({
-				operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.operationDepId": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.bcReason": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.bcExplain": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.bcPath": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.involvedDepIds": [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
-			});
-
-			const toZero = (value: string | number,index: number,name: string,x:number) =>{
-				if(!value){
-					state.materialList[index][name][x].value = 0
-				}
-			}
-
-			const submitForm = async (formEl: FormInstance | undefined) => {
-				if (!formEl) return
-				await formEl.validate(async (valid, fields) => {
-					if (valid) {
-						for(let i in state.materialList){
-							for(let j in state.materialList[i].mustList){
-								if(state.materialList[i].mustList[j].value>state.materialList[i].mustList[j].stock){
-									ElMessage({
-										type: 'warning',
-										message: '部分物资库存不足,请重新配置数量。'
-									});
-									return
-								}
-							}
-							for(let j in state.materialList[i].unList){
-								if(state.materialList[i].unList[j].value>state.materialList[i].unList[j].stock){
-									ElMessage({
-										type: 'warning',
-										message: '部分物资库存不足,请重新配置数量。'
-									});
-									return
-								}
-							}
-							state.materialList[i].mustList = state.materialList[i].mustList.map((item:any)=>{
-								const obj = {
-									defaultVal: item.value,
-									id: item.id
-								}
-								return {...obj}
-							})
-							state.materialList[i].unList = state.materialList[i].unList.map((item:any)=>{
-								const obj = {
-									defaultVal: item.value,
-									id: item.id
-								}
-								return {...obj}
-							})
-							state.materialList[i].postList = [...state.materialList[i].mustList,...state.materialList[i].unList]
-							state.form.wmAddReqDTOList = [...state.form.wmAddReqDTOList,...state.materialList[i].postList]
-						}
-						state.form.expStartTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[0]
-						state.form.expEndTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[1]
-						let { workTimeLine, ...data } = JSON.parse(JSON.stringify(state.form))
-						data.workDetail.involvedDepIds = data.workDetail.involvedDepIds.join(',')
-						data.workDetail.bcPath = data.workDetail.bcPath.join(',')
-						const res = await workApplyApi().postBrokenApply(data)
-						if (res.data.code === '200') {
-								ElMessage({
-									type: 'success',
-									message: '提交成功!'
-								});
-								formEl.resetFields()
-								state.form.workDetail.bcPath = []
-								state.fileList = []
-						} else {
-							ElMessage({
-								type: 'warning',
-								message: res.data.msg
-							});
-						}
-						state.materialList = []
-					} else {
-						console.log('error submit!', fields)
-					}
-				})
-			}
-
-			const handlePreview: UploadProps['onPreview'] = (uploadFile) => {
-				console.log(uploadFile);
-			};
-
-			const handlePictureCardPreview = (uploadFile: { url: string }) => {
-				state.dialogImageUrl = uploadFile.url!;
-				state.dialogVisible = true;
-			};
-
-			const getUploadUrl = async (rawFile: any) => {
-				const fileSize = rawFile.size / 1024 < 500 ? '1' : '0'
-				if(fileSize === '0'){
-					ElMessage({
-						type: 'warning',
-						message: '文件大小不能超过500k。'
-					});
-					state.isOverSize = true
-					return false
-				}else{
-					const res = await workApplyApi().getUploadUrl(rawFile.name);
-					state.form.workDetail.bcPath.push(res.data.data.fileName)
-					state.uploadUrl = res.data.data.uploadUrl;
-					console.log(res.data.data.fileName,'name')
-				}
-			};
-
-			const upload = async (params: any) => {
-				// const formData = new FormData();
-				// formData.append('file', state.fileList[0].raw);
-				let reader = new FileReader();
-				reader.readAsArrayBuffer(params.file);
-				reader.onload = async () => {
-					axios
-							.put(state.uploadUrl, reader.result, {
-								header: { 'Content-Type': 'multipart/form-data' }
-							})
-							.then(() => {
-								// if (state.fileList.length === 2) {
-								// 	state.fileList.splice(0, 1);
-								// }
-								// console.log(state.form.workDetail.bcPath,'bcPath')
-							});
-				};
-			};
-
-			const beforeRemove = (file: {}, fileList: []) => {
-				const result = new Promise((resolve, reject) => {
-					if(!state.isOverSize){
-						ElMessageBox.confirm('此操作将删除该图片, 是否继续?', '提示', {
-							confirmButtonText: '确定',
-							cancelButtonText: '取消',
-							type: 'warning'
-						})
-								.then(() => {
-									// console.log(state.workDetail.bcPath,'path')
-									const list = JSON.parse(JSON.stringify(state.form.workDetail.bcPath))
-									fileList.map((item,index)=>{
-										if(item.uid === file.uid){
-											fileList.splice(index,1)
-											state.form.workDetail.bcPath.splice(index,1)
-											deletePic(false,list[index])
-										}
-									})
-									// 请求删除接口
-								})
-								.catch(() => {
-									reject(false);
-								});
-					}else{
-						const list = JSON.parse(JSON.stringify(state.form.workDetail.bcPath))
-						fileList.map((item,index)=>{
-							if(item.uid === file.uid){
-								fileList.splice(index,1)
-								state.form.workDetail.bcPath.splice(index,1)
-								deletePic(true,list[index])
-							}
-						})
-						state.isOverSize = false
-					}
-				});
-				return result;
-			};
-
-
-			// 删除图片接口
-			const deletePic = async(isOverSize:boolean,fileName:string)=>{
-				console.log(fileName,'fileName')
-				const res = await workApplyApi().deleteFile({fileName: fileName})
-				if (res.data.code === '200') {
-					ElMessage({
-						type: isOverSize ? 'error' : 'success',
-						message: isOverSize ? '上传失败':'删除成功!'
-					});
-				} else {
-					ElMessage({
-						type: 'warning',
-						message: res.data.msg
-					});
-				}
-			}
-
-			const showTip =()=>{
-				ElMessage({
-					type: 'warning',
-					message: '超出文件上传数量'
-				});
-			}
-
-			// 确认物资标准
-			const getMaList = async() =>{
-				if(state.materialList.length == 0){
-					const data = {workType: 5,workLevel: null}
-					const res = await workApplyApi().getMaterial(data)
-					if (res.data.code === '200') {
-						if(res.data.data.materialTypeList && res.data.data.materialTypeList!=null&&res.data.data.materialTypeList.length>0){
-							state.materialList = JSON.parse(JSON.stringify(res.data.data.materialTypeList))
-							for(let i in state.materialList){
-								state.materialList[i].mustList = []
-								state.materialList[i].unList = []
-								state.materialList[i].mdList = state.materialList[i].mdList?.map((item:any) => {
-									if(item.configurationLevel == 0){
-										state.materialList[i].mustList.push(item)
-										return
-									}else{
-										state.materialList[i].unList.push(item)
-										return
-									}
-								})
-								state.materialList[i].mustList = state.materialList[i].mustList.map((item:any)=>{
-									const obj = {
-										value: item.defaultVal,
-										materialName: item.materialName,
-										configurationLevel: item.configurationLevel,
-										id: item.id,
-										stock: item.stock
-									}
-									return {...obj}
-								})
-								state.materialList[i].unList = state.materialList[i].unList.map((item:any)=>{
-									const obj = {
-										value: item.defaultVal,
-										materialName: item.materialName,
-										configurationLevel: item.configurationLevel,
-										id: item.id,
-										stock: item.stock
-									}
-									return {...obj}
-								})
-							}
-							state.equipmentDialog = true
-						}else{
-							ElMessage({
-								type: 'warning',
-								message: '暂时查询不到物资标准信息'
-							});
-						}
-					} else {
-						ElMessage({
-							type: 'warning',
-							message: res.data.msg
-						});
-					}
-				}else{
-					state.materialList = state.materialList
-					state.equipmentDialog = true
-				}
-			}
-			const conFirmDevices = ()=>{
-				for(let i in state.materialList){
-					for(let j in state.materialList[i].mustList){
-						if(state.materialList[i].mustList[j].value>state.materialList[i].mustList[j].stock){
-							ElMessage({
-								type: 'warning',
-								message: '部分物资库存不足,请重新配置数量。'
-							});
-							return
-						}
-					}
-					for(let j in state.materialList[i].unList){
-						if(state.materialList[i].unList[j].value>state.materialList[i].unList[j].stock){
-							ElMessage({
-								type: 'warning',
-								message: '部分物资库存不足,请重新配置数量。'
-							});
-							return
-						}
-					}
-
-				}
-				ElMessageBox.confirm('是否确认物资及数量配置?')
-						.then(() => {
-							state.equipmentDialog = false
-						})
-						.catch(() => {
-							// catch error
-						})
-			}
-
-			const closeMaterial = ()=>{
-
-			}
-
-			// 折线图
-			const renderMenu = async (value: string) => {
-				Session.set('projectId',value)
-				userInfos.value.projectId = value
-				await initBackEndControlRoutes();
-			};
-			return {
-				renderMenu,
-				Search,
-				ruleFormRef,
-				applyRules,
-				toZero,
-				getMaList,
-				conFirmDevices,
-				closeMaterial,
-				handlePreview,
-				getUploadUrl,
-				beforeRemove,
-				upload,
-				showTip,
-				submitForm,
-				handlePictureCardPreview,
-				...toRefs(state),
-			};
-		},
-	});
-</script>
-
-<style scoped lang="scss">
-	.home-container {
-		height: 100%;
-		overflow: hidden;
-		position: relative;
-		.homeCard{
-			width: 100%;
-			padding: 20px;
-			box-sizing: border-box;
-			background: #fff;
-			border-radius: 4px;
-			margin-bottom: 20px;
-		}
-		.applyBtn{
-			width: 100%;
-			background: #fff;
-			padding-top: 15px;
-			z-index: 5;
-			box-shadow: 0 -3px 8px rgba(150,150,150,.1);
-			display: flex;
-			align-items: center;
-			justify-content: center;
-		}
-		.el-row{
-			margin-bottom: 20px;
-		}
-		.el-row:last-child {
-			margin-bottom: 0;
-		}
-		.el-input{
-			width: 100% !important;
-		}
-		.el-date-editor::v-deep{
-			width: 100%;
-		}
-		.el-select{
-			width: 100%;
-		}
-		:deep(.el-cascader){
-			width: 100% !important;
-		}
-	}
-</style>
diff --git a/src/views/specialWorkSystem/workTicket/apply/components/fire.vue b/src/views/specialWorkSystem/workTicket/apply/components/fire.vue
deleted file mode 100644
index a62a7ec..0000000
--- a/src/views/specialWorkSystem/workTicket/apply/components/fire.vue
+++ /dev/null
@@ -1,502 +0,0 @@
-<template>
-	<div class="home-container">
-		<div style="height: 100%">
-		<el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef">
-			<div class="homeCard">
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业人" prop="operatorUids">
-						<el-select v-model="form.operatorUids" multiple>
-							<el-option
-									v-for="item in workerList"
-									:key="item.uid"
-									:label="item.username"
-									:value="item.uid"
-							/>
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="作业时间" prop="workTimeLine">
-						<el-date-picker
-								v-model="form.workTimeLine"
-								format="YYYY-MM-DD HH:mm"
-								value-format="YYYY-MM-DD HH:mm:00"
-								type="datetimerange"
-								range-separator="至"
-								start-placeholder="开始时间"
-								end-placeholder="结束时间"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业等级" prop="workLevel">
-						<el-select v-model="form.workLevel">
-							<el-option
-									v-for="item in workLevelList"
-									:key="item.value"
-									:label="item.label"
-									:value="item.value"
-							/>
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="作业内容" prop="workContent">
-						<el-input
-								v-model="form.workContent"
-								autosize
-								type="textarea"
-								placeholder="请输入作业内容"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业地址" prop="workLocation">
-						<el-input
-								v-model="form.workLocation"
-								autosize
-								type="textarea"
-								placeholder="请输入作业地址"
-						/>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="危害辨识" prop="hazardIdentification">
-						<el-input
-								v-model="form.hazardIdentification"
-								placeholder="请输入危害辨识"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-				<el-divider border-style="dashed"/>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="动火方式" prop="workDetail.hotMethod">
-						<el-input
-								v-model="form.workDetail.hotMethod"
-								autosize
-								type="textarea"
-								placeholder="请输入动火方式"
-						/>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="关联作业" prop="workDetail.otherSpecialWork">
-						<el-select v-model="form.workDetail.otherSpecialWork" multiple>
-							<el-option
-									v-for="item in otherWorkList"
-									:key="item.value"
-									:label="item.label"
-									:value="item.value"
-							/>
-						</el-select>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="选择关联物资">
-						<el-button type="primary" @click="getMaList">选择物资标准</el-button>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			</div>
-		</el-form>
-		<el-dialog v-model="equipmentDialog" title="关联物资标准" width="40%" center @close="closeMaterial">
-			<el-tabs tab-position="left" class="demo-tabs" type="border-card">
-				<el-tab-pane v-for="(item,index) in materialList" :label="item.materialTypeName" :key="index">
-					<div style="margin-bottom: 20px">
-						<el-form label-width="150px" label-position="top">
-							<div v-if="item.mustList.length>0" style="width: 100%;border-bottom: 1px solid #ccc;padding-bottom: 6px;margin-bottom: 10px;font-weight: bolder">必选</div>
-							<el-form-item v-if="item.mustList.length>0" class="tab-i" v-for="(i,x) in item.mustList" :key="x" :label="item.mustList[x].materialName + ':'" prop="defaultVal" :rules="[{ type: 'defaultVal', required: true, message: '该内容不能为空', trigger: 'blur'}]">
-								<el-input size="default" type="number" v-model="item.mustList[x].value" @change="(val)=>toZero(val,index,'mustList',x)" placeholder="请输入配置数量,空值默认为0">
-									<template #append>{{'库存:' + item.mustList[x].stock}}</template>
-								</el-input>
-							</el-form-item>
-							<div v-if="item.unList.length>0" style="width: 100%;border-bottom: 1px solid #ccc;padding-bottom: 6px;margin-bottom: 10px;font-weight: bolder">其他</div>
-							<el-form-item v-if="item.unList.length>0" class="tab-i" v-for="(i,x) in item.unList" :key="x" :label="item.unList[x].materialName + ':'">
-								<el-input size="default" type="number" v-model="item.unList[x].value" @change="(val)=>toZero(val,index,'unList',x)" placeholder="请输入配置数量,空值默认为0">
-									<template #append>{{'库存:' + item.unList[x].stock}}</template>
-								</el-input>
-							</el-form-item>
-						</el-form>
-					</div>
-				</el-tab-pane>
-			</el-tabs>
-			<template #footer>
-				<span class="dialog-footer">
-					<el-button @click="equipmentDialog = false" size="default">取消</el-button>
-					<el-button type="primary" @click="conFirmDevices" size="default">确认</el-button>
-				</span>
-			</template>
-		</el-dialog>
-		<div class="applyBtn">
-			<el-button type="primary" size="large" plain @click="submitForm(ruleFormRef)">发起申请</el-button>
-		</div>
-	</div>
-	</div>
-</template>
-
-<script lang="ts">
-	import { toRefs, reactive, defineComponent, ref, defineAsyncComponent, onMounted } from 'vue';
-	import { storeToRefs } from 'pinia';
-	import { initBackEndControlRoutes } from '/@/router/backEnd';
-	import {useUserInfo} from "/@/stores/userInfo";
-	import { Session } from '/@/utils/storage';
-	import { Search } from '@element-plus/icons-vue'
-	import { ElMessage, ElMessageBox } from 'element-plus'
-	import type { FormInstance, FormRules } from 'element-plus'
-	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
-
-
-	interface stateType {
-		form: Object,
-		workLevelList: Array<any>,
-		otherWorkList: Array<any>,
-		equipmentDialog: boolean,
-		materialList: Array<any>
-	}
-	export default defineComponent({
-		name: 'fireForm',
-		components: {},
-		props:['workerList'],
-		setup() {
-			const userInfo = useUserInfo()
-			const { userInfos } = storeToRefs(userInfo);
-			const state  = reactive<stateType>({
-				equipmentDialog: false,
-				materialList: [],
-				form: {
-					operatorUids: [],
-					workType: 1,
-					workLevel: null,
-					workContent: '',
-					workLocation: '',
-					hazardIdentification: '',
-					workDetail:{
-						hotMethod: '',
-						otherSpecialWork: []
-					},
-					wmAddReqDTOList: [],
-					workTimeLine: [],
-					expStartTime: '',
-					expEndTime: ''
-				},
-				workLevelList: [
-					{
-						label: "一级动火作业",
-						value: 1
-					},
-					{
-						label: "二级动火作业",
-						value: 2
-					},
-					{
-						label: "特级动火作业",
-						value: 3
-					}
-				],
-				otherWorkList: [
-					{
-						label: "动火作业",
-						value: 1
-					},
-					{
-						label: "受限空间作业",
-						value: 2
-					},
-					{
-						label: "吊装作业",
-						value: 3
-					},
-					{
-						label: "动土作业",
-						value: 4
-					},
-					{
-						label: "断路作业",
-						value: 5
-					},
-					{
-						label: "高处作业",
-						value: 6
-					},
-					{
-						label: "临时用电作业",
-						value: 7
-					},
-					{
-						label: "盲板抽堵作业",
-						value: 8
-					}
-				]
-			});
-			const ruleFormRef = ref<FormInstance>()
-			const applyRules = reactive<FormRules>({
-				operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workLevel: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.hotMethod": [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
-			});
-
-			// 页面载入时执行方法
-			onMounted(() => {
-
-			});
-			const toZero = (value: string | number,index: number,name: string,x:number) =>{
-				if(!value){
-					state.materialList[index][name][x].value = 0
-				}
-			}
-			const submitForm = async (formEl: FormInstance | undefined) => {
-				if (!formEl) return
-				await formEl.validate(async (valid, fields) => {
-					if (valid) {
-						if (state.materialList.length == 0){
-							ElMessage({
-								type: 'warning',
-								message: '请确认关联物资的配置'
-							});
-							return
-						}
-						for(let i in state.materialList){
-							for(let j in state.materialList[i].mustList){
-								if(state.materialList[i].mustList[j].value>state.materialList[i].mustList[j].stock){
-									ElMessage({
-										type: 'warning',
-										message: '部分物资库存不足,请重新配置数量。'
-									});
-									return
-								}
-							}
-							for(let j in state.materialList[i].unList){
-								if(state.materialList[i].unList[j].value>state.materialList[i].unList[j].stock){
-									ElMessage({
-										type: 'warning',
-										message: '部分物资库存不足,请重新配置数量。'
-									});
-									return
-								}
-							}
-							state.materialList[i].mustList = state.materialList[i].mustList.map((item:any)=>{
-								const obj = {
-									defaultVal: item.value,
-									id: item.id
-								}
-								return {...obj}
-							})
-							state.materialList[i].unList = state.materialList[i].unList.map((item:any)=>{
-								const obj = {
-									defaultVal: item.value,
-									id: item.id
-								}
-								return {...obj}
-							})
-							state.materialList[i].postList = [...state.materialList[i].mustList,...state.materialList[i].unList]
-							state.form.wmAddReqDTOList = [...state.form.wmAddReqDTOList,...state.materialList[i].postList]
-						}
-						state.form.expStartTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[0]
-						state.form.expEndTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[1]
-						let { workTimeLine, ...data } = JSON.parse(JSON.stringify(state.form))
-						data.workDetail.otherSpecialWork = data.workDetail.otherSpecialWork.join(',')
-						const res = await workApplyApi().postFireApply(data)
-						if (res.data.code === '200') {
-								ElMessage({
-									type: 'success',
-									message: '提交成功!'
-								});
-								formEl.resetFields()
-						} else {
-							ElMessage({
-								type: 'warning',
-								message: res.data.msg
-							});
-						}
-						state.materialList = []
-					} else {
-						console.log('error submit!', fields)
-					}
-				})
-			}
-
-			// 确认物资标准
-			const getMaList = async() =>{
-				if(state.materialList.length == 0){
-					const data = {workType: 1,workLevel: state.form.workLevel}
-					const res = await workApplyApi().getMaterial(data)
-					if (res.data.code === '200') {
-						if(res.data.data.materialTypeList && res.data.data.materialTypeList!=null&&res.data.data.materialTypeList.length>0){
-							state.materialList = JSON.parse(JSON.stringify(res.data.data.materialTypeList))
-							for(let i in state.materialList){
-								state.materialList[i].mustList = []
-								state.materialList[i].unList = []
-								state.materialList[i].mdList = state.materialList[i].mdList?.map((item:any) => {
-									if(item.configurationLevel == 0){
-										state.materialList[i].mustList.push(item)
-										return
-									}else{
-										state.materialList[i].unList.push(item)
-										return
-									}
-								})
-								state.materialList[i].mustList = state.materialList[i].mustList.map((item:any)=>{
-									const obj = {
-										value: item.defaultVal,
-										materialName: item.materialName,
-										configurationLevel: item.configurationLevel,
-										id: item.id,
-										stock: item.stock
-									}
-									return {...obj}
-								})
-								state.materialList[i].unList = state.materialList[i].unList.map((item:any)=>{
-									const obj = {
-										value: item.defaultVal,
-										materialName: item.materialName,
-										configurationLevel: item.configurationLevel,
-										id: item.id,
-										stock: item.stock
-									}
-									return {...obj}
-								})
-							}
-							state.equipmentDialog = true
-						}else{
-							ElMessage({
-								type: 'warning',
-								message: '暂时查询不到物资标准信息'
-							});
-						}
-					} else {
-						ElMessage({
-							type: 'warning',
-							message: res.data.msg
-						});
-					}
-				}else{
-					state.materialList = state.materialList
-					state.equipmentDialog = true
-				}
-			}
-
-			const conFirmDevices = ()=>{
-				for(let i in state.materialList){
-					for(let j in state.materialList[i].mustList){
-						if(state.materialList[i].mustList[j].value>state.materialList[i].mustList[j].stock){
-							ElMessage({
-								type: 'warning',
-								message: '部分物资库存不足,请重新配置数量。'
-							});
-							return
-						}
-					}
-					for(let j in state.materialList[i].unList){
-						if(state.materialList[i].unList[j].value>state.materialList[i].unList[j].stock){
-							ElMessage({
-								type: 'warning',
-								message: '部分物资库存不足,请重新配置数量。'
-							});
-							return
-						}
-					}
-				}
-				ElMessageBox.confirm('是否确认物资及数量配置?')
-					.then(() => {
-						state.equipmentDialog = false
-					})
-					.catch(() => {
-						// catch error
-					})
-			}
-
-			const closeMaterial = ()=>{
-
-			}
-			// 折线图
-			const renderMenu = async (value: string) => {
-				Session.set('projectId',value)
-				userInfos.value.projectId = value
-				await initBackEndControlRoutes();
-			};
-			return {
-				renderMenu,
-				Search,
-				ruleFormRef,
-				applyRules,
-				toZero,
-				getMaList,
-				conFirmDevices,
-				closeMaterial,
-				submitForm,
-				...toRefs(state),
-			};
-		},
-	});
-</script>
-
-<style scoped lang="scss">
-	.home-container {
-		height: 100%;
-		overflow: hidden;
-		position: relative;
-		.homeCard{
-			width: 100%;
-			padding: 20px;
-			box-sizing: border-box;
-			background: #fff;
-			border-radius: 4px;
-			margin-bottom: 20px;
-		}
-		.applyBtn{
-			width: 100%;
-			background: #fff;
-			padding-top: 15px;
-			z-index: 5;
-			box-shadow: 0 -3px 8px rgba(150,150,150,.1);
-			display: flex;
-			align-items: center;
-			justify-content: center;
-		}
-		.el-row{
-			margin-bottom: 20px;
-		}
-		.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;
-		}
-	}
-
-	.tab-i{
-		margin-bottom: 15px;
-
-		&:last-of-type{
-			margin-bottom: 0;
-		}
-		::v-deep(.el-form-item){
-			.el-form-item__label{
-				margin-bottom: 4px;
-			}
-		}
-	}
-</style>
diff --git a/src/views/specialWorkSystem/workTicket/apply/components/ground.vue b/src/views/specialWorkSystem/workTicket/apply/components/ground.vue
deleted file mode 100644
index fa98456..0000000
--- a/src/views/specialWorkSystem/workTicket/apply/components/ground.vue
+++ /dev/null
@@ -1,689 +0,0 @@
- <template>
-	<div class="home-container">
-		<div style="height: 100%">
-		<el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef">
-			<div class="homeCard">
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业人" prop="operatorUids">
-						<el-select v-model="form.operatorUids" multiple>
-							<el-option
-								v-for="item in workerList"
-								:key="item.uid"
-								:label="item.username"
-								:value="item.uid"
-							/>
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="作业时间" prop="workTimeLine">
-						<el-date-picker
-								v-model="form.workTimeLine"
-								format="YYYY-MM-DD HH:mm"
-								value-format="YYYY-MM-DD HH:mm:00"
-								type="datetimerange"
-								range-separator="至"
-								start-placeholder="开始时间"
-								end-placeholder="结束时间"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业内容" prop="workContent">
-						<el-input
-								v-model="form.workContent"
-								autosize
-								type="textarea"
-								placeholder="请输入作业内容"
-						/>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="作业地址" prop="workLocation">
-						<el-input
-								v-model="form.workLocation"
-								autosize
-								type="textarea"
-								placeholder="请输入作业地址"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="危害辨识" prop="hazardIdentification">
-						<el-input
-								v-model="form.hazardIdentification"
-								placeholder="请输入危害辨识"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-				<el-divider border-style="dashed"/>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业单位" prop="workDetail.operationDepId">
-<!--						<el-select v-model="form.workDetail.operationDepId">-->
-<!--							<el-option-->
-<!--									v-for="item in csDepList"-->
-<!--									:key="item.value"-->
-<!--									:label="item.label"-->
-<!--									:value="item.value"-->
-<!--							/>-->
-<!--						</el-select>-->
-						<el-cascader v-model="form.workDetail.operationDepId" :options="departList" :props="casProps" :show-all-levels="false" @change="handleChange" />
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="范围" prop="workDetail.gbScope">
-						<el-input
-								v-model="form.workDetail.gbScope"
-								autosize
-								type="textarea"
-								placeholder="请输入"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="动土方式" prop="workDetail.gbMethod">
-						<el-input
-								v-model="form.workDetail.gbMethod"
-								autosize
-								type="textarea"
-								placeholder="请输入"
-						/>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="关联作业" prop="workDetail.otherSpecialWork">
-						<el-select v-model="form.workDetail.otherSpecialWork" multiple>
-							<el-option v-for="item in otherWorkList" :key="item.value" :label="item.label" :value="item.value" />
-						</el-select>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="24">
-					<el-form-item label="图片上传" prop="workDetail.gbPath">
-						<el-upload accept="image/*" :on-exceed="showTip" :on-preview="handlePictureCardPreview" :limit='imgLimit' v-model:file-list="fileList" :http-request="upload" :action="uploadUrl" list-type="picture-card" :on-remove="handleRemove" :before-remove="beforeRemove" :before-upload="getUploadUrl">
-							<el-icon><Plus /></el-icon>
-							<template #tip>
-								<div class="el-upload__tip">上传jpg/png图片尺寸小于500KB,最多可上传3张</div>
-							</template>
-						</el-upload>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="选择关联物资">
-						<el-button type="primary" @click="getMaList">选择物资标准</el-button>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			</div>
-		</el-form>
-		<el-dialog v-model="equipmentDialog" title="关联物资标准" width="40%" center @close="closeMaterial">
-			<el-tabs tab-position="left" class="demo-tabs" type="border-card">
-				<el-tab-pane v-for="(item,index) in materialList" :label="item.materialTypeName" :key="index">
-					<div style="margin-bottom: 20px">
-						<el-form label-width="150px" label-position="top">
-							<div v-if="item.mustList.length>0" style="width: 100%;border-bottom: 1px solid #ccc;padding-bottom: 6px;margin-bottom: 10px;font-weight: bolder">必选</div>
-							<el-form-item v-if="item.mustList.length>0" class="tab-i" v-for="(i,x) in item.mustList" :key="x" :label="item.mustList[x].materialName + ':'" prop="defaultVal" :rules="[{ type: 'defaultVal', required: true, message: '该内容不能为空', trigger: 'blur'}]">
-								<el-input size="default" type="number" v-model="item.mustList[x].value" @change="(val)=>toZero(val,index,'mustList',x)" placeholder="请输入配置数量,空值默认为0">
-									<template #append>{{'库存:' + item.mustList[x].stock}}</template>
-								</el-input>
-							</el-form-item>
-							<div v-if="item.unList.length>0" style="width: 100%;border-bottom: 1px solid #ccc;padding-bottom: 6px;margin-bottom: 10px;font-weight: bolder">其他</div>
-							<el-form-item v-if="item.unList.length>0" class="tab-i" v-for="(i,x) in item.unList" :key="x" :label="item.unList[x].materialName + ':'">
-								<el-input size="default" type="number" v-model="item.unList[x].value" @change="(val)=>toZero(val,index,'unList',x)" placeholder="请输入配置数量,空值默认为0">
-									<template #append>{{'库存:' + item.unList[x].stock}}</template>
-								</el-input>
-							</el-form-item>
-						</el-form>
-					</div>
-				</el-tab-pane>
-			</el-tabs>
-			<template #footer>
-			<span class="dialog-footer">
-				<el-button @click="equipmentDialog = false" size="default">取消</el-button>
-				<el-button type="primary" @click="conFirmDevices" size="default">确认</el-button>
-			</span>
-			</template>
-		</el-dialog>
-		<div class="applyBtn">
-			<el-button type="primary" size="large" plain @click="submitForm(ruleFormRef)">发起申请</el-button>
-		</div>
-	</div>
-	<el-dialog v-model="dialogVisible">
-		<img w-full :src="dialogImageUrl" alt="Preview Image" />
-	</el-dialog>
-	</div>
-</template>
-
-<script lang="ts">
-	import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue';
-	import { storeToRefs } from 'pinia';
-	import { initBackEndControlRoutes } from '/@/router/backEnd';
-	import {useUserInfo} from "/@/stores/userInfo";
-	import { Session } from '/@/utils/storage';
-	import { Search,Plus } from '@element-plus/icons-vue'
-	import { ElMessage, ElMessageBox } from 'element-plus'
-	import type { FormInstance, FormRules, UploadProps, UploadUserFile } from 'element-plus'
-	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
-	import axios from 'axios';
-
-
-	interface stateType {
-		equipmentDialog: boolean,
-		form: Object,
-		csDepList: Array<any>,
-		otherWorkList: Array<any>,
-		fileList: Array<file>,
-		uploadUrl: string,
-		dialogVisible: Boolean,
-		dialogImageUrl: string | null,
-		imgLimit: number,
-		casProps: {},
-		isOverSize: Boolean,
-		materialList: Array<any>
-	}
-	interface file {
-		url: string;
-	}
-	export default {
-		name: 'groundForm',
-		components: {},
-		props:['workerList','departList'],
-		setup(props: any, context: any) {
-			const userInfo = useUserInfo()
-			const { userInfos } = storeToRefs(userInfo);
-			const state  = reactive<stateType>({
-				equipmentDialog: false,
-				form: {
-					operatorUids: [],
-					workType: 4,
-					workLevel: 0,
-					workContent: '',
-					workLocation: '',
-					hazardIdentification: '',
-					workDetail:{
-						operationDepId: null,
-						gbScope: '',
-						gbMethod: '',
-						gbPath: [],
-						otherSpecialWork: []
-					},
-					wmAddReqDTOList: [],
-					workTimeLine: [],
-					expStartTime: '',
-					expEndTime: ''
-				},
-				isOverSize: false,
-				fileList: [],
-				materialList: [],
-				imgLimit: 3,
-				uploadUrl: '',
-				dialogVisible: false,
-				dialogImageUrl: null,
-				csDepList: [
-					{
-						label: "单位一",
-						value: 1
-					},
-					{
-						label: "单位二",
-						value: 2
-					},
-					{
-						label: "单位三",
-						value: 3
-					},
-					{
-						label: "单位四",
-						value: 4
-					},
-					{
-						label: "单位五",
-						value: 5
-					},
-					{
-						label: "单位六",
-						value: 6
-					}
-				],
-				otherWorkList: [
-					{
-						label: '动火作业',
-						value: 1
-					},
-					{
-						label: '受限空间作业',
-						value: 2
-					},
-					{
-						label: '吊装作业',
-						value: 3
-					},
-					{
-						label: '动土作业',
-						value: 4
-					},
-					{
-						label: '断路作业',
-						value: 5
-					},
-					{
-						label: '高处作业',
-						value: 6
-					},
-					{
-						label: '临时用电作业',
-						value: 7
-					},
-					{
-						label: '盲板抽堵作业',
-						value: 8
-					}
-				],
-				casProps: {
-					emitPath: false,
-					value: 'depId',
-					label: 'depName',
-					multiple: false,
-					expandTrigger: 'hover',
-					checkStrictly: true
-				}
-			});
-			const ruleFormRef = ref<FormInstance>()
-			const applyRules = reactive<FormRules>({
-				operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.operationDepId": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.gbScope": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.gbMethod": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.gbPath": [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
-			});
-			const toZero = (value: string | number,index: number,name: string,x:number) =>{
-				if(!value){
-					state.materialList[index][name][x].value = 0
-				}
-			}
-			const submitForm = async (formEl: FormInstance | undefined) => {
-				if (!formEl) return
-				await formEl.validate(async (valid, fields) => {
-					if (valid) {
-						for(let i in state.materialList){
-							for(let j in state.materialList[i].mustList){
-								if(state.materialList[i].mustList[j].value>state.materialList[i].mustList[j].stock){
-									ElMessage({
-										type: 'warning',
-										message: '部分物资库存不足,请重新配置数量。'
-									});
-									return
-								}
-							}
-							for(let j in state.materialList[i].unList){
-								if(state.materialList[i].unList[j].value>state.materialList[i].unList[j].stock){
-									ElMessage({
-										type: 'warning',
-										message: '部分物资库存不足,请重新配置数量。'
-									});
-									return
-								}
-							}
-							state.materialList[i].mustList = state.materialList[i].mustList.map((item:any)=>{
-								const obj = {
-									defaultVal: item.value,
-									id: item.id
-								}
-								return {...obj}
-							})
-							state.materialList[i].unList = state.materialList[i].unList.map((item:any)=>{
-								const obj = {
-									defaultVal: item.value,
-									id: item.id
-								}
-								return {...obj}
-							})
-							state.materialList[i].postList = [...state.materialList[i].mustList,...state.materialList[i].unList]
-							state.form.wmAddReqDTOList = [...state.form.wmAddReqDTOList,...state.materialList[i].postList]
-						}
-						state.form.expStartTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[0]
-						state.form.expEndTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[1]
-						let { workTimeLine, ...data } = JSON.parse(JSON.stringify(state.form))
-						data.workDetail.otherSpecialWork = data.workDetail.otherSpecialWork.join(',')
-						data.workDetail.gbPath = data.workDetail.gbPath.join(',')
-						const res = await workApplyApi().postGroundApply(data)
-						if (res.data.code === '200') {
-								ElMessage({
-									type: 'success',
-									message: '提交成功!'
-								});
-								formEl.resetFields()
-								state.form.workDetail.gbPath = []
-								state.fileList = []
-						} else {
-							ElMessage({
-								type: 'warning',
-								message: res.data.msg
-							});
-						}
-						state.materialList = []
-					} else {
-						console.log('error submit!', fields)
-					}
-				})
-			}
-
-			const handlePreview: UploadProps['onPreview'] = (uploadFile) => {
-				console.log(uploadFile);
-			};
-
-			const handlePictureCardPreview = (uploadFile: { url: string }) => {
-				state.dialogImageUrl = uploadFile.url!;
-				state.dialogVisible = true;
-			};
-
-			const getUploadUrl = async (rawFile: any) => {
-				const fileSize = rawFile.size / 1024 < 500 ? '1' : '0'
-				if(fileSize === '0'){
-					ElMessage({
-						type: 'warning',
-						message: '文件大小不能超过500k。'
-					});
-					state.isOverSize = true
-					return false
-				}else{
-					const res = await workApplyApi().getUploadUrl(rawFile.name);
-					state.form.workDetail.gbPath.push(res.data.data.fileName)
-					state.uploadUrl = res.data.data.uploadUrl;
-				}
-			};
-
-			const upload = async (params: any) => {
-				// const formData = new FormData();
-				// formData.append('file', state.fileList[0].raw);
-				let reader = new FileReader();
-				reader.readAsArrayBuffer(params.file);
-				reader.onload = async () => {
-					axios
-							.put(state.uploadUrl, reader.result, {
-								header: { 'Content-Type': 'multipart/form-data' }
-							})
-							.then(() => {
-								// if (state.fileList.length === 2) {
-								// 	state.fileList.splice(0, 1);
-								// }
-								// console.log(state.form.workDetail.gbPath,'gbpath')
-							});
-				};
-			};
-
-			const beforeRemove = (file: {}, fileList: []) => {
-				const result = new Promise((resolve, reject) => {
-					if(!state.isOverSize){
-						ElMessageBox.confirm('此操作将删除该图片, 是否继续?', '提示', {
-							confirmButtonText: '确定',
-							cancelButtonText: '取消',
-							type: 'warning'
-						})
-								.then(() => {
-									// console.log(state.workDetail.gbPath,'path')
-									const list = JSON.parse(JSON.stringify(state.form.workDetail.gbPath))
-									fileList.map((item,index)=>{
-										if(item.uid === file.uid){
-											fileList.splice(index,1)
-											state.form.workDetail.gbPath.splice(index,1)
-											// 请求删除接口
-											deletePic(false,list[index])
-										}
-									})
-								})
-								.catch(() => {
-									reject(false);
-								});
-					}else{
-						const list = JSON.parse(JSON.stringify(state.form.workDetail.gbPath))
-						fileList.map((item,index)=>{
-							if(item.uid === file.uid){
-								fileList.splice(index,1)
-								state.form.workDetail.gbPath.splice(index,1)
-								deletePic(true,list[index])
-							}
-						})
-						state.isOverSize = false
-					}
-				});
-				return result;
-			};
-
-
-			// 删除图片接口
-			const deletePic = async(isOverSize:boolean,fileName:string)=>{
-				const res = await workApplyApi().deleteFile({fileName: fileName})
-				if (res.data.code === '200') {
-					ElMessage({
-						type: isOverSize ? 'error' : 'success',
-						message: isOverSize ? '上传失败':'删除成功!'
-					});
-				} else {
-					ElMessage({
-						type: 'warning',
-						message: res.data.msg
-					});
-				}
-			}
-
-			const showTip =()=>{
-				ElMessage({
-					type: 'warning',
-					message: '超出文件上传数量'
-				});
-			}
-
-			// const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => {
-			// 	console.log('2111111111111')
-			// };
-
-			// 确认物资标准
-			const getMaList = async() =>{
-				if(state.materialList.length == 0){
-					const data = {workType: 4,workLevel: null}
-					const res = await workApplyApi().getMaterial(data)
-					if (res.data.code === '200') {
-						if(res.data.data.materialTypeList && res.data.data.materialTypeList!=null&&res.data.data.materialTypeList.length>0){
-							state.materialList = JSON.parse(JSON.stringify(res.data.data.materialTypeList))
-							for(let i in state.materialList){
-								state.materialList[i].mustList = []
-								state.materialList[i].unList = []
-								state.materialList[i].mdList = state.materialList[i].mdList?.map((item:any) => {
-									if(item.configurationLevel == 0){
-										state.materialList[i].mustList.push(item)
-										return
-									}else{
-										state.materialList[i].unList.push(item)
-										return
-									}
-								})
-								state.materialList[i].mustList = state.materialList[i].mustList.map((item:any)=>{
-									const obj = {
-										value: item.defaultVal,
-										materialName: item.materialName,
-										configurationLevel: item.configurationLevel,
-										id: item.id,
-										stock: item.stock
-									}
-									return {...obj}
-								})
-								state.materialList[i].unList = state.materialList[i].unList.map((item:any)=>{
-									const obj = {
-										value: item.defaultVal,
-										materialName: item.materialName,
-										configurationLevel: item.configurationLevel,
-										id: item.id,
-										stock: item.stock
-									}
-									return {...obj}
-								})
-							}
-							state.equipmentDialog = true
-						}else{
-							ElMessage({
-								type: 'warning',
-								message: '暂时查询不到物资标准信息'
-							});
-						}
-					} else {
-						ElMessage({
-							type: 'warning',
-							message: res.data.msg
-						});
-					}
-				}else{
-					state.materialList = state.materialList
-					state.equipmentDialog = true
-				}
-			}
-			const conFirmDevices = ()=>{
-				for(let i in state.materialList){
-					for(let j in state.materialList[i].mustList){
-						if(state.materialList[i].mustList[j].value>state.materialList[i].mustList[j].stock){
-							ElMessage({
-								type: 'warning',
-								message: '部分物资库存不足,请重新配置数量。'
-							});
-							return
-						}
-					}
-					for(let j in state.materialList[i].unList){
-						if(state.materialList[i].unList[j].value>state.materialList[i].unList[j].stock){
-							ElMessage({
-								type: 'warning',
-								message: '部分物资库存不足,请重新配置数量。'
-							});
-							return
-						}
-					}
-
-				}
-				ElMessageBox.confirm('是否确认物资及数量配置?')
-						.then(() => {
-							state.equipmentDialog = false
-						})
-						.catch(() => {
-							// catch error
-						})
-			}
-
-			const closeMaterial = ()=>{
-
-			}
-			// 折线图
-			const renderMenu = async (value: string) => {
-				Session.set('projectId',value)
-				userInfos.value.projectId = value
-				await initBackEndControlRoutes();
-			};
-			return {
-				renderMenu,
-				Search,
-				Plus,
-				ruleFormRef,
-				applyRules,
-				toZero,
-				getMaList,
-				conFirmDevices,
-				closeMaterial,
-				handlePreview,
-				getUploadUrl,
-				beforeRemove,
-				upload,
-				showTip,
-				submitForm,
-				handlePictureCardPreview,
-				...toRefs(state),
-			};
-		},
-	};
-</script>
-
-<style scoped lang="scss">
-	.avatar-uploader .avatar {
-		width: 178px;
-		height: 178px;
-		display: block;
-	}
-	.home-container {
-		height: 100%;
-		overflow: hidden;
-		position: relative;
-		.homeCard{
-			width: 100%;
-			padding: 20px;
-			box-sizing: border-box;
-			background: #fff;
-			border-radius: 4px;
-			margin-bottom: 20px;
-		}
-		.applyBtn{
-			width: 100%;
-			background: #fff;
-			padding-top: 15px;
-			z-index: 5;
-			box-shadow: 0 -3px 8px rgba(150,150,150,.1);
-			display: flex;
-			align-items: center;
-			justify-content: center;
-		}
-		.el-row{
-			margin-bottom: 20px;
-		}
-		.el-row:last-child {
-			margin-bottom: 0;
-		}
-		.el-input{
-			width: 100% !important;
-		}
-		.el-date-editor::v-deep{
-			width: 100%;
-		}
-		.el-select{
-			width: 100%;
-		}
-		:deep(.el-cascader){
-			width: 100% !important;
-		}
-	}
-</style>
-<style>
-	.avatar-uploader .el-upload {
-		border: 1px dashed var(--el-border-color);
-		border-radius: 6px;
-		cursor: pointer;
-		position: relative;
-		overflow: hidden;
-		transition: var(--el-transition-duration-fast);
-	}
-
-	.avatar-uploader .el-upload:hover {
-		border-color: var(--el-color-primary);
-	}
-
-	.el-icon.avatar-uploader-icon {
-		font-size: 28px;
-		color: #8c939d;
-		width: 178px;
-		height: 178px;
-		text-align: center;
-	}
-</style>
diff --git a/src/views/specialWorkSystem/workTicket/apply/components/height.vue b/src/views/specialWorkSystem/workTicket/apply/components/height.vue
deleted file mode 100644
index 9923e25..0000000
--- a/src/views/specialWorkSystem/workTicket/apply/components/height.vue
+++ /dev/null
@@ -1,547 +0,0 @@
-<template>
-	<div class="home-container">
-		<div style="height: 100%">
-		<el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef">
-			<div class="homeCard">
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业人" prop="operatorUids">
-						<el-select v-model="form.operatorUids" multiple>
-							<el-option
-									v-for="item in workerList"
-									:key="item.uid"
-									:label="item.username"
-									:value="item.uid"
-							/>
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="作业时间" prop="workTimeLine">
-						<el-date-picker
-								v-model="form.workTimeLine"
-								format="YYYY-MM-DD HH:mm"
-								value-format="YYYY-MM-DD HH:mm:00"
-								type="datetimerange"
-								range-separator="至"
-								start-placeholder="开始时间"
-								end-placeholder="结束时间"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业等级" prop="workLevel">
-						<el-select v-model="form.workLevel">
-							<el-option
-									v-for="item in workLevelList"
-									:key="item.value"
-									:label="item.label"
-									:value="item.value"
-							/>
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="作业内容" prop="workContent">
-						<el-input
-								v-model="form.workContent"
-								autosize
-								type="textarea"
-								placeholder="请输入作业内容"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业地址" prop="workLocation">
-						<el-input
-								v-model="form.workLocation"
-								autosize
-								type="textarea"
-								placeholder="请输入作业地址"
-						/>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="危害辨识" prop="hazardIdentification">
-						<el-input
-								v-model="form.hazardIdentification"
-								placeholder="请输入危害辨识"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-				<el-divider border-style="dashed"/>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业单位" prop="workDetail.operationDepId">
-						<!--						<el-select v-model="form.workDetail.operationDepId">-->
-						<!--							<el-option-->
-						<!--									v-for="item in heDepList"-->
-						<!--									:key="item.value"-->
-						<!--									:label="item.label"-->
-						<!--									:value="item.value"-->
-						<!--							/>-->
-						<!--						</el-select>-->
-						<el-cascader v-model="form.workDetail.operationDepId" :options="departList" :props="casProps" :show-all-levels="false" @change="handleChange" />
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="作业高度" prop="workDetail.operationHeight">
-						<el-input
-								v-model="form.workDetail.operationHeight"
-								type="number"
-								placeholder="请输入"
-						>
-							<template #append>米(m)</template>
-						</el-input>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="关联作业" prop="workDetail.otherSpecialWork">
-						<el-select v-model="form.workDetail.otherSpecialWork" multiple>
-							<el-option
-									v-for="item in otherWorkList"
-									:key="item.value"
-									:label="item.label"
-									:value="item.value"
-							/>
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="选择关联物资">
-						<el-button type="primary" @click="getMaList">选择物资标准</el-button>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			</div>
-		</el-form>
-		<el-dialog v-model="equipmentDialog" title="关联物资标准" width="40%" center @close="closeMaterial">
-			<el-tabs tab-position="left" class="demo-tabs" type="border-card">
-				<el-tab-pane v-for="(item,index) in materialList" :label="item.materialTypeName" :key="index">
-					<div style="margin-bottom: 20px">
-						<el-form label-width="150px" label-position="top">
-							<div v-if="item.mustList.length>0" style="width: 100%;border-bottom: 1px solid #ccc;padding-bottom: 6px;margin-bottom: 10px;font-weight: bolder">必选</div>
-							<el-form-item v-if="item.mustList.length>0" class="tab-i" v-for="(i,x) in item.mustList" :key="x" :label="item.mustList[x].materialName + ':'" prop="defaultVal" :rules="[{ type: 'defaultVal', required: true, message: '该内容不能为空', trigger: 'blur'}]">
-								<el-input size="default" type="number" v-model="item.mustList[x].value" @change="(val)=>toZero(val,index,'mustList',x)" placeholder="请输入配置数量,空值默认为0">
-									<template #append>{{'库存:' + item.mustList[x].stock}}</template>
-								</el-input>
-							</el-form-item>
-							<div v-if="item.unList.length>0" style="width: 100%;border-bottom: 1px solid #ccc;padding-bottom: 6px;margin-bottom: 10px;font-weight: bolder">其他</div>
-							<el-form-item v-if="item.unList.length>0" class="tab-i" v-for="(i,x) in item.unList" :key="x" :label="item.unList[x].materialName + ':'">
-								<el-input size="default" type="number" v-model="item.unList[x].value" @change="(val)=>toZero(val,index,'unList',x)" placeholder="请输入配置数量,空值默认为0">
-									<template #append>{{'库存:' + item.unList[x].stock}}</template>
-								</el-input>
-							</el-form-item>
-						</el-form>
-					</div>
-				</el-tab-pane>
-			</el-tabs>
-			<template #footer>
-		<span class="dialog-footer">
-			<el-button @click="equipmentDialog = false" size="default">取消</el-button>
-			<el-button type="primary" @click="conFirmDevices" size="default">确认</el-button>
-		</span>
-			</template>
-		</el-dialog>
-		<div class="applyBtn">
-			<el-button type="primary" size="large" plain @click="submitForm(ruleFormRef)">发起申请</el-button>
-		</div>
-	</div>
-	</div>
-</template>
-
-<script lang="ts">
-	import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } 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 } from 'element-plus'
-	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
-
-
-	interface stateType {
-		equipmentDialog: boolean,
-		form: Object,
-		workTypeList: Array<any>,
-		workLevelList: Array<any>,
-		heDepList: Array<any>,
-		otherWorkList: Array<any>,
-		casProps:{},
-		materialList: Array<any>
-	}
-	export default defineComponent({
-		name: 'heightForm',
-		components: {},
-		props:['workerList','departList'],
-		setup() {
-			const userInfo = useUserInfo()
-			const { userInfos } = storeToRefs(userInfo);
-			const state  = reactive<stateType>({
-				equipmentDialog: false,
-				form: {
-					operatorUids: [],
-					workType: 6,
-					workLevel: null,
-					workContent: '',
-					workLocation: '',
-					hazardIdentification: '',
-					workDetail:{
-						operationDepId: '',
-						operationHeight: null,
-						otherSpecialWork: []
-					},
-					wmAddReqDTOList: [],
-					workTimeLine: [],
-					expStartTime: '',
-					expEndTime: ''
-				},
-				heDepList: [
-					{
-						label: "单位一",
-						value: 1
-					},
-					{
-						label: "单位二",
-						value: 2
-					},
-					{
-						label: "单位三",
-						value: 3
-					},
-					{
-						label: "单位四",
-						value: 4
-					},
-					{
-						label: "单位五",
-						value: 5
-					},
-					{
-						label: "单位六",
-						value: 6
-					}
-				],
-				materialList: [],
-				casProps: {
-					emitPath: false,
-					value: 'depId',
-					label: 'depName',
-					multiple: false,
-					expandTrigger: 'hover',
-					checkStrictly: true
-				},
-				workTypeList: [
-					{
-						label: "类型一",
-						value: 1
-					},
-					{
-						label: "类型二",
-						value: 2
-					}
-				],
-				workLevelList: [
-					{
-						label: "一级高处作业",
-						value: 4
-					},
-					{
-						label: "二级高处作业",
-						value: 5
-					},
-					{
-						label: "三级高处作业",
-						value: 6
-					},
-					{
-						label: "特级高处作业",
-						value: 7
-					}
-				],
-				otherWorkList: [
-					{
-						label: "动火作业",
-						value: 1
-					},
-					{
-						label: "受限空间作业",
-						value: 2
-					},
-					{
-						label: "吊装作业",
-						value: 3
-					},
-					{
-						label: "动土作业",
-						value: 4
-					},
-					{
-						label: "断路作业",
-						value: 5
-					},
-					{
-						label: "高处作业",
-						value: 6
-					},
-					{
-						label: "临时用电作业",
-						value: 7
-					},
-					{
-						label: "盲板抽堵作业",
-						value: 8
-					}
-				]
-			});
-			const ruleFormRef = ref<FormInstance>()
-			const applyRules = reactive<FormRules>({
-				operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workLevel: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.operationDepId": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.operationHeight": [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
-			});
-
-			const toZero = (value: string | number,index: number,name: string,x:number) =>{
-				if(!value){
-					state.materialList[index][name][x].value = 0
-				}
-			}
-
-			const submitForm = async (formEl: FormInstance | undefined) => {
-				if (!formEl) return
-				await formEl.validate(async (valid, fields) => {
-					if (valid) {
-						for(let i in state.materialList){
-							for(let j in state.materialList[i].mustList){
-								if(state.materialList[i].mustList[j].value>state.materialList[i].mustList[j].stock){
-									ElMessage({
-										type: 'warning',
-										message: '部分物资库存不足,请重新配置数量。'
-									});
-									return
-								}
-							}
-							for(let j in state.materialList[i].unList){
-								if(state.materialList[i].unList[j].value>state.materialList[i].unList[j].stock){
-									ElMessage({
-										type: 'warning',
-										message: '部分物资库存不足,请重新配置数量。'
-									});
-									return
-								}
-							}
-							state.materialList[i].mustList = state.materialList[i].mustList.map((item:any)=>{
-								const obj = {
-									defaultVal: item.value,
-									id: item.id
-								}
-								return {...obj}
-							})
-							state.materialList[i].unList = state.materialList[i].unList.map((item:any)=>{
-								const obj = {
-									defaultVal: item.value,
-									id: item.id
-								}
-								return {...obj}
-							})
-							state.materialList[i].postList = [...state.materialList[i].mustList,...state.materialList[i].unList]
-							state.form.wmAddReqDTOList = [...state.form.wmAddReqDTOList,...state.materialList[i].postList]
-						}
-						state.form.expStartTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[0]
-						state.form.expEndTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[1]
-						let { workTimeLine, ...data } = JSON.parse(JSON.stringify(state.form))
-						data.workDetail.otherSpecialWork = data.workDetail.otherSpecialWork.join(',')
-						const res = await workApplyApi().postHeightApply(data)
-						if (res.data.code === '200') {
-								ElMessage({
-									type: 'success',
-									message: '提交成功!'
-								});
-								formEl.resetFields()
-						} else {
-							ElMessage({
-								type: 'warning',
-								message: res.data.msg
-							});
-						}
-						state.materialList = []
-					} else {
-						console.log('error submit!', fields)
-					}
-				})
-			}
-
-			// 确认物资标准
-			const getMaList = async() =>{
-				if(state.materialList.length == 0){
-					const data = {workType: 6,workLevel: state.form.workLevel}
-					const res = await workApplyApi().getMaterial(data)
-					if (res.data.code === '200') {
-						if(res.data.data.materialTypeList && res.data.data.materialTypeList!=null&&res.data.data.materialTypeList.length>0){
-							state.materialList = JSON.parse(JSON.stringify(res.data.data.materialTypeList))
-							for(let i in state.materialList){
-								state.materialList[i].mustList = []
-								state.materialList[i].unList = []
-								state.materialList[i].mdList = state.materialList[i].mdList?.map((item:any) => {
-									if(item.configurationLevel == 0){
-										state.materialList[i].mustList.push(item)
-										return
-									}else{
-										state.materialList[i].unList.push(item)
-										return
-									}
-								})
-								state.materialList[i].mustList = state.materialList[i].mustList.map((item:any)=>{
-									const obj = {
-										value: item.defaultVal,
-										materialName: item.materialName,
-										configurationLevel: item.configurationLevel,
-										id: item.id,
-										stock: item.stock
-									}
-									return {...obj}
-								})
-								state.materialList[i].unList = state.materialList[i].unList.map((item:any)=>{
-									const obj = {
-										value: item.defaultVal,
-										materialName: item.materialName,
-										configurationLevel: item.configurationLevel,
-										id: item.id,
-										stock: item.stock
-									}
-									return {...obj}
-								})
-							}
-							state.equipmentDialog = true
-						}else{
-							ElMessage({
-								type: 'warning',
-								message: '暂时查询不到物资标准信息'
-							});
-						}
-					} else {
-						ElMessage({
-							type: 'warning',
-							message: res.data.msg
-						});
-					}
-				}else{
-					state.materialList = state.materialList
-					state.equipmentDialog = true
-				}
-			}
-			const conFirmDevices = ()=>{
-				for(let i in state.materialList){
-					for(let j in state.materialList[i].mustList){
-						if(state.materialList[i].mustList[j].value>state.materialList[i].mustList[j].stock){
-							ElMessage({
-								type: 'warning',
-								message: '部分物资库存不足,请重新配置数量。'
-							});
-							return
-						}
-					}
-					for(let j in state.materialList[i].unList){
-						if(state.materialList[i].unList[j].value>state.materialList[i].unList[j].stock){
-							ElMessage({
-								type: 'warning',
-								message: '部分物资库存不足,请重新配置数量。'
-							});
-							return
-						}
-					}
-
-				}
-				ElMessageBox.confirm('是否确认物资及数量配置?')
-						.then(() => {
-							state.equipmentDialog = false
-						})
-						.catch(() => {
-							// catch error
-						})
-			}
-
-			const closeMaterial = ()=>{
-
-			}
-
-			// 折线图
-			const renderMenu = async (value: string) => {
-				Session.set('projectId',value)
-				userInfos.value.projectId = value
-				await initBackEndControlRoutes();
-			};
-			return {
-				renderMenu,
-				Search,
-				ruleFormRef,
-				applyRules,
-				toZero,
-				getMaList,
-				conFirmDevices,
-				closeMaterial,
-				submitForm,
-				...toRefs(state),
-			};
-		},
-	});
-</script>
-
-<style scoped lang="scss">
-	.home-container {
-		height: 100%;
-		overflow: hidden;
-		position: relative;
-		.homeCard{
-			width: 100%;
-			padding: 20px;
-			box-sizing: border-box;
-			background: #fff;
-			border-radius: 4px;
-			margin-bottom: 20px;
-		}
-		.applyBtn{
-			width: 100%;
-			background: #fff;
-			padding-top: 15px;
-			z-index: 5;
-			box-shadow: 0 -3px 8px rgba(150,150,150,.1);
-			display: flex;
-			align-items: center;
-			justify-content: center;
-		}
-		.el-row{
-			margin-bottom: 20px;
-		}
-		.el-row:last-child {
-			margin-bottom: 0;
-		}
-		.el-input{
-			width: 100% !important;
-		}
-		.el-date-editor::v-deep{
-			width: 100%;
-		}
-		.el-select{
-			width: 100%;
-		}
-		:deep(.el-cascader){
-			width: 100% !important;
-		}
-	}
-</style>
diff --git a/src/views/specialWorkSystem/workTicket/apply/components/hoist.vue b/src/views/specialWorkSystem/workTicket/apply/components/hoist.vue
deleted file mode 100644
index c7cf511..0000000
--- a/src/views/specialWorkSystem/workTicket/apply/components/hoist.vue
+++ /dev/null
@@ -1,445 +0,0 @@
-<template>
-	<div class="home-container">
-		<div style="height: 100%">
-		<el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef">
-			<div class="homeCard">
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业人" prop="operatorUids">
-						<el-select v-model="form.operatorUids" multiple>
-							<el-option
-									v-for="item in workerList"
-									:key="item.uid"
-									:label="item.username"
-									:value="item.uid"
-							/>
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="作业时间" prop="workTimeLine">
-						<el-date-picker
-								v-model="form.workTimeLine"
-								format="YYYY-MM-DD HH:mm"
-								value-format="YYYY-MM-DD HH:mm:00"
-								type="datetimerange"
-								range-separator="至"
-								start-placeholder="开始时间"
-								end-placeholder="结束时间"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业等级" prop="workLevel">
-						<el-select v-model="form.workLevel">
-							<el-option
-									v-for="item in workLevelList"
-									:key="item.value"
-									:label="item.label"
-									:value="item.value"
-							/>
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="作业内容" prop="workContent">
-						<el-input
-								v-model="form.workContent"
-								autosize
-								type="textarea"
-								placeholder="请输入作业内容"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业地址" prop="workLocation">
-						<el-input
-								v-model="form.workLocation"
-								autosize
-								type="textarea"
-								placeholder="请输入作业地址"
-						/>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="危害辨识" prop="hazardIdentification">
-						<el-input
-								v-model="form.hazardIdentification"
-								placeholder="请输入危害辨识"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-				<el-divider border-style="dashed"/>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="吊装工具名称" prop="workDetail.hoistingToolName">
-						<el-input
-								v-model="form.workDetail.hoistingToolName"
-								autosize
-								type="textarea"
-								placeholder="请输入"
-						/>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="起吊物体质量" prop="workDetail.weightMass">
-						<el-input
-								v-model="form.workDetail.weightMass"
-								type="number"
-								placeholder="请输入"
-						>
-							<template #append>吨(t)</template>
-						</el-input>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="选择关联物资">
-						<el-button type="primary" @click="getMaList">选择物资标准</el-button>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			</div>
-		</el-form>
-		<el-dialog v-model="equipmentDialog" title="关联物资标准" width="40%" center @close="closeMaterial">
-			<el-tabs tab-position="left" class="demo-tabs" type="border-card">
-				<el-tab-pane v-for="(item,index) in materialList" :label="item.materialTypeName" :key="index">
-					<div style="margin-bottom: 20px">
-						<el-form label-width="150px" label-position="top">
-							<div v-if="item.mustList.length>0" style="width: 100%;border-bottom: 1px solid #ccc;padding-bottom: 6px;margin-bottom: 10px;font-weight: bolder">必选</div>
-							<el-form-item v-if="item.mustList.length>0" class="tab-i" v-for="(i,x) in item.mustList" :key="x" :label="item.mustList[x].materialName + ':'" prop="defaultVal" :rules="[{ type: 'defaultVal', required: true, message: '该内容不能为空', trigger: 'blur'}]">
-								<el-input size="default" type="number" v-model="item.mustList[x].value" @change="(val)=>toZero(val,index,'mustList',x)" placeholder="请输入配置数量,空值默认为0">
-									<template #append>{{'库存:' + item.mustList[x].stock}}</template>
-								</el-input>
-							</el-form-item>
-							<div v-if="item.unList.length>0" style="width: 100%;border-bottom: 1px solid #ccc;padding-bottom: 6px;margin-bottom: 10px;font-weight: bolder">其他</div>
-							<el-form-item v-if="item.unList.length>0" class="tab-i" v-for="(i,x) in item.unList" :key="x" :label="item.unList[x].materialName + ':'">
-								<el-input size="default" type="number" v-model="item.unList[x].value" @change="(val)=>toZero(val,index,'unList',x)" placeholder="请输入配置数量,空值默认为0">
-									<template #append>{{'库存:' + item.unList[x].stock}}</template>
-								</el-input>
-							</el-form-item>
-						</el-form>
-					</div>
-				</el-tab-pane>
-			</el-tabs>
-			<template #footer>
-			<span class="dialog-footer">
-				<el-button @click="equipmentDialog = false" size="default">取消</el-button>
-				<el-button type="primary" @click="conFirmDevices" size="default">确认</el-button>
-			</span>
-			</template>
-		</el-dialog>
-		<div class="applyBtn">
-			<el-button type="primary" size="large" plain @click="submitForm(ruleFormRef)">发起申请</el-button>
-		</div>
-	</div>
-	</div>
-</template>
-
-<script lang="ts">
-	import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } 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 } from 'element-plus'
-	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
-
-
-	interface stateType {
-		equipmentDialog: boolean,
-		form: Object,
-		workLevelList: Array<any>,
-		materialList: Array<any>
-	}
-	export default defineComponent({
-		name: 'hoistForm',
-		components: {},
-		props:['workerList'],
-		setup() {
-			const userInfo = useUserInfo()
-			const { userInfos } = storeToRefs(userInfo);
-			const state  = reactive<stateType>({
-				equipmentDialog: false,
-				form: {
-					operatorUids: [],
-					workType: 3,
-					workLevel: null,
-					workContent: '',
-					workLocation: '',
-					hazardIdentification: '',
-					workDetail:{
-						hoistingToolName: '',
-						weightMass: null
-					},
-					wmAddReqDTOList: [],
-					workTimeLine: [],
-					expStartTime: '',
-					expEndTime: ''
-				},
-				materialList: [],
-				workLevelList: [
-					{
-						label: "一级吊装作业",
-						value: 8
-					},
-					{
-						label: "二级吊装作业",
-						value: 9
-					},
-					{
-						label: "三级吊装作业",
-						value: 10
-					}
-				]
-			});
-			const ruleFormRef = ref<FormInstance>()
-			const applyRules = reactive<FormRules>({
-				operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workLevel: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.hoistingToolName": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.weightMass": [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
-			});
-
-			const toZero = (value: string | number,index: number,name: string,x:number) =>{
-				if(!value){
-					state.materialList[index][name][x].value = 0
-				}
-			}
-
-			const submitForm = async (formEl: FormInstance | undefined) => {
-				if (!formEl) return
-				await formEl.validate(async (valid, fields) => {
-					if (valid) {
-						for(let i in state.materialList){
-							for(let j in state.materialList[i].mustList){
-								if(state.materialList[i].mustList[j].value>state.materialList[i].mustList[j].stock){
-									ElMessage({
-										type: 'warning',
-										message: '部分物资库存不足,请重新配置数量。'
-									});
-									return
-								}
-							}
-							for(let j in state.materialList[i].unList){
-								if(state.materialList[i].unList[j].value>state.materialList[i].unList[j].stock){
-									ElMessage({
-										type: 'warning',
-										message: '部分物资库存不足,请重新配置数量。'
-									});
-									return
-								}
-							}
-							state.materialList[i].mustList = state.materialList[i].mustList.map((item:any)=>{
-								const obj = {
-									defaultVal: item.value,
-									id: item.id
-								}
-								return {...obj}
-							})
-							state.materialList[i].unList = state.materialList[i].unList.map((item:any)=>{
-								const obj = {
-									defaultVal: item.value,
-									id: item.id
-								}
-								return {...obj}
-							})
-							state.materialList[i].postList = [...state.materialList[i].mustList,...state.materialList[i].unList]
-							state.form.wmAddReqDTOList = [...state.form.wmAddReqDTOList,...state.materialList[i].postList]
-						}
-						state.form.expStartTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[0]
-						state.form.expEndTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[1]
-						let { workTimeLine, ...data } = JSON.parse(JSON.stringify(state.form))
-						data.workDetail.weightMass = Number(data.workDetail.weightMass)
-						const res = await workApplyApi().postHoistApply(data)
-						if (res.data.code === '200') {
-								ElMessage({
-									type: 'success',
-									message: '提交成功!'
-								});
-								formEl.resetFields()
-						} else {
-							ElMessage({
-								type: 'warning',
-								message: res.data.msg
-							});
-						}
-						state.materialList = []
-					} else {
-						console.log('error submit!', fields)
-					}
-				})
-			}
-
-			// 确认物资标准
-			const getMaList = async() =>{
-				if(state.materialList.length == 0){
-					const data = {workType: 3,workLevel: state.form.workLevel}
-					const res = await workApplyApi().getMaterial(data)
-					if (res.data.code === '200') {
-						if(res.data.data.materialTypeList && res.data.data.materialTypeList!=null&&res.data.data.materialTypeList.length>0){
-							state.materialList = JSON.parse(JSON.stringify(res.data.data.materialTypeList))
-							for(let i in state.materialList){
-								state.materialList[i].mustList = []
-								state.materialList[i].unList = []
-								state.materialList[i].mdList = state.materialList[i].mdList?.map((item:any) => {
-									if(item.configurationLevel == 0){
-										state.materialList[i].mustList.push(item)
-										return
-									}else{
-										state.materialList[i].unList.push(item)
-										return
-									}
-								})
-								state.materialList[i].mustList = state.materialList[i].mustList.map((item:any)=>{
-									const obj = {
-										value: item.defaultVal,
-										materialName: item.materialName,
-										configurationLevel: item.configurationLevel,
-										id: item.id,
-										stock: item.stock
-									}
-									return {...obj}
-								})
-								state.materialList[i].unList = state.materialList[i].unList.map((item:any)=>{
-									const obj = {
-										value: item.defaultVal,
-										materialName: item.materialName,
-										configurationLevel: item.configurationLevel,
-										id: item.id,
-										stock: item.stock
-									}
-									return {...obj}
-								})
-							}
-							state.equipmentDialog = true
-						}else{
-							ElMessage({
-								type: 'warning',
-								message: '暂时查询不到物资标准信息'
-							});
-						}
-					} else {
-						ElMessage({
-							type: 'warning',
-							message: res.data.msg
-						});
-					}
-				}else{
-					state.materialList = state.materialList
-					state.equipmentDialog = true
-				}
-			}
-			const conFirmDevices = ()=>{
-				for(let i in state.materialList){
-					for(let j in state.materialList[i].mustList){
-						if(state.materialList[i].mustList[j].value>state.materialList[i].mustList[j].stock){
-							ElMessage({
-								type: 'warning',
-								message: '部分物资库存不足,请重新配置数量。'
-							});
-							return
-						}
-					}
-					for(let j in state.materialList[i].unList){
-						if(state.materialList[i].unList[j].value>state.materialList[i].unList[j].stock){
-							ElMessage({
-								type: 'warning',
-								message: '部分物资库存不足,请重新配置数量。'
-							});
-							return
-						}
-					}
-
-				}
-				ElMessageBox.confirm('是否确认物资及数量配置?')
-						.then(() => {
-							state.equipmentDialog = false
-						})
-						.catch(() => {
-							// catch error
-						})
-			}
-
-			const closeMaterial = ()=>{
-
-			}
-
-			// 折线图
-			const renderMenu = async (value: string) => {
-				Session.set('projectId',value)
-				userInfos.value.projectId = value
-				await initBackEndControlRoutes();
-			};
-			return {
-				renderMenu,
-				Search,
-				ruleFormRef,
-				applyRules,
-				toZero,
-				getMaList,
-				conFirmDevices,
-				closeMaterial,
-				submitForm,
-				...toRefs(state),
-			};
-		},
-	});
-</script>
-
-<style scoped lang="scss">
-	.home-container {
-		height: 100%;
-		overflow: hidden;
-		position: relative;
-		.homeCard{
-			width: 100%;
-			padding: 20px;
-			box-sizing: border-box;
-			background: #fff;
-			border-radius: 4px;
-			margin-bottom: 20px;
-		}
-		.applyBtn{
-			width: 100%;
-			background: #fff;
-			padding-top: 15px;
-			z-index: 5;
-			box-shadow: 0 -3px 8px rgba(150,150,150,.1);
-			display: flex;
-			align-items: center;
-			justify-content: center;
-		}
-		.el-row{
-			margin-bottom: 20px;
-		}
-		.el-row:last-child {
-			margin-bottom: 0;
-		}
-		.el-input{
-			width: 100% !important;
-		}
-		.el-date-editor::v-deep{
-			width: 100%;
-		}
-		.el-select{
-			width: 100%;
-		}
-		.el-cascader{
-			width: 100% !important;
-		}
-	}
-</style>
diff --git a/src/views/specialWorkSystem/workTicket/apply/components/plate.vue b/src/views/specialWorkSystem/workTicket/apply/components/plate.vue
deleted file mode 100644
index 75ec19a..0000000
--- a/src/views/specialWorkSystem/workTicket/apply/components/plate.vue
+++ /dev/null
@@ -1,755 +0,0 @@
-<template>
-	<div class="home-container">
-		<div style="height: 100%">
-		<el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef">
-			<div class="homeCard">
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业人" prop="operatorUids">
-						<el-select v-model="form.operatorUids" multiple>
-							<el-option
-									v-for="item in workerList"
-									:key="item.uid"
-									:label="item.username"
-									:value="item.uid"
-							/>
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="作业时间" prop="workTimeLine">
-						<el-date-picker
-								v-model="form.workTimeLine"
-								format="YYYY-MM-DD HH:mm"
-								value-format="YYYY-MM-DD HH:mm:00"
-								type="datetimerange"
-								range-separator="至"
-								start-placeholder="开始时间"
-								end-placeholder="结束时间"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业等级" prop="workLevel">
-						<el-select v-model="form.workLevel">
-							<el-option
-									v-for="item in workLevelList"
-									:key="item.value"
-									:label="item.label"
-									:value="item.value"
-							/>
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="作业内容" prop="workContent">
-						<el-input
-								v-model="form.workContent"
-								autosize
-								type="textarea"
-								placeholder="请输入作业内容"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业地址" prop="workLocation">
-						<el-input
-								v-model="form.workLocation"
-								autosize
-								type="textarea"
-								placeholder="请输入作业地址"
-						/>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="危害辨识" prop="hazardIdentification">
-						<el-input
-								v-model="form.hazardIdentification"
-								placeholder="请输入危害辨识"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-				<el-divider border-style="dashed"/>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="盲板编号" prop="workDetail.bpCode">
-						<el-input
-								v-model="form.workDetail.bpCode"
-								autosize
-								type="textarea"
-								placeholder="请输入"
-						/>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="主要介质" prop="workDetail.mainMedia">
-						<el-input
-								v-model="form.workDetail.mainMedia"
-								autosize
-								type="textarea"
-								placeholder="请输入"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="温度" prop="workDetail.temperature">
-						<el-input
-								v-model="form.workDetail.temperature"
-								type="number"
-								placeholder="请输入"
-						>
-							<template #append>摄氏度(℃)</template>
-						</el-input>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="压力" prop="workDetail.pressure">
-						<el-input
-								v-model="form.workDetail.pressure"
-								type="number"
-								placeholder="请输入"
-						>
-							<template #append>千帕(kPa)</template>
-						</el-input>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="盲板材质" prop="workDetail.bpMaterialQuality">
-						<el-input
-								v-model="form.workDetail.bpMaterialQuality"
-								autosize
-								type="textarea"
-								placeholder="请输入"
-						/>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="盲板规格" prop="workDetail.bpSpecification">
-						<el-input
-								v-model="form.workDetail.bpSpecification"
-								autosize
-								type="textarea"
-								placeholder="请输入"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="盲板时间" prop="workDetail.installLine">
-						<el-date-picker
-								v-model="form.workDetail.installLine"
-								format="YYYY-MM-DD HH:mm"
-								value-format="YYYY-MM-DD HH:mm:00"
-								type="datetimerange"
-								range-separator="--"
-								start-placeholder="装盲板时间"
-								end-placeholder="拆盲板时间"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="盲板位置" prop="workDetail.bpLocation">
-						<el-input
-								v-model="form.workDetail.bpLocation"
-								autosize
-								type="textarea"
-								placeholder="请输入"
-						/>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="关联作业" prop="workDetail.otherSpecialWork">
-						<el-select v-model="form.workDetail.otherSpecialWork" multiple>
-							<el-option
-									v-for="item in otherWorkList"
-									:key="item.value"
-									:label="item.label"
-									:value="item.value"
-							/>
-						</el-select>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="24">
-					<el-form-item label="盲板位置图" prop="workDetail.bpLocationMapPath">
-						<el-upload accept="image/*" :on-exceed="showTip" :on-preview="handlePictureCardPreview" :limit='imgLimit' v-model:file-list="fileList" :http-request="upload" :action="uploadUrl" list-type="picture-card" :on-remove="handleRemove" :before-remove="beforeRemove" :before-upload="getUploadUrl">
-							<el-icon><Plus /></el-icon>
-							<template #tip>
-								<div class="el-upload__tip">上传jpg/png图片尺寸小于500KB,最多可上传3张</div>
-							</template>
-						</el-upload>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="选择关联物资">
-						<el-button type="primary" @click="getMaList">选择物资标准</el-button>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			</div>
-		</el-form>
-		<el-dialog v-model="equipmentDialog" title="关联物资标准" width="40%" center @close="closeMaterial">
-			<el-tabs tab-position="left" class="demo-tabs" type="border-card">
-				<el-tab-pane v-for="(item,index) in materialList" :label="item.materialTypeName" :key="index">
-					<div style="margin-bottom: 20px">
-						<el-form label-width="150px" label-position="top">
-							<div v-if="item.mustList.length>0" style="width: 100%;border-bottom: 1px solid #ccc;padding-bottom: 6px;margin-bottom: 10px;font-weight: bolder">必选</div>
-							<el-form-item v-if="item.mustList.length>0" class="tab-i" v-for="(i,x) in item.mustList" :key="x" :label="item.mustList[x].materialName + ':'" prop="defaultVal" :rules="[{ type: 'defaultVal', required: true, message: '该内容不能为空', trigger: 'blur'}]">
-								<el-input size="default" type="number" v-model="item.mustList[x].value" @change="(val)=>toZero(val,index,'mustList',x)" placeholder="请输入配置数量,空值默认为0">
-									<template #append>{{'库存:' + item.mustList[x].stock}}</template>
-								</el-input>
-							</el-form-item>
-							<div v-if="item.unList.length>0" style="width: 100%;border-bottom: 1px solid #ccc;padding-bottom: 6px;margin-bottom: 10px;font-weight: bolder">其他</div>
-							<el-form-item v-if="item.unList.length>0" class="tab-i" v-for="(i,x) in item.unList" :key="x" :label="item.unList[x].materialName + ':'">
-								<el-input size="default" type="number" v-model="item.unList[x].value" @change="(val)=>toZero(val,index,'unList',x)" placeholder="请输入配置数量,空值默认为0">
-									<template #append>{{'库存:' + item.unList[x].stock}}</template>
-								</el-input>
-							</el-form-item>
-						</el-form>
-					</div>
-				</el-tab-pane>
-			</el-tabs>
-			<template #footer>
-			<span class="dialog-footer">
-				<el-button @click="equipmentDialog = false" size="default">取消</el-button>
-				<el-button type="primary" @click="conFirmDevices" size="default">确认</el-button>
-			</span>
-			</template>
-		</el-dialog>
-		<div class="applyBtn">
-			<el-button type="primary" size="large" plain @click="submitForm(ruleFormRef)">发起申请</el-button>
-		</div>
-	</div>
-	<el-dialog v-model="dialogVisible">
-		<img w-full :src="dialogImageUrl" alt="Preview Image" />
-	</el-dialog>
-	</div>
-</template>
-
-<script lang="ts">
-	import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } 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'
-	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
-	import axios from 'axios';
-
-	interface stateType {
-		form: Object,
-		csDepList: Array<any>,
-		otherWorkList: Array<any>,
-		workLevelList: Array<any>,
-		fileList: Array<file>,
-		uploadUrl: string,
-		dialogVisible: Boolean,
-		dialogImageUrl: string | null,
-		imgLimit: number,
-		isOverSize: boolean,
-		equipmentDialog: boolean,
-		materialList: Array<any>
-	}
-	interface file {
-		url: string;
-	}
-	export default defineComponent({
-		name: 'plateForm',
-		components: {},
-		props:['workerList'],
-		setup() {
-			const userInfo = useUserInfo()
-			const { userInfos } = storeToRefs(userInfo);
-			const state  = reactive<stateType>({
-				equipmentDialog: false,
-				materialList: [],
-				form: {
-					operatorUids: [],
-					workType: 8,
-					workLevel: null,
-					workContent: '',
-					workLocation: '',
-					hazardIdentification: '',
-					workDetail:{
-						bpCode: '',
-						mainMedia: '',
-						temperature: null,
-						pressure: null,
-						bpMaterialQuality: '',
-						bpSpecification: '',
-						bpLocation: '',
-						bpLocationMapPath: [],
-						installLine: [],
-						installBpTime: '',
-						uninstallBpTime: '',
-						otherSpecialWork: []
-					},
-					wmAddReqDTOList: [],
-					workTimeLine: [],
-					expStartTime: '',
-					expEndTime: ''
-				},
-				isOverSize: false,
-				fileList: [],
-				imgLimit: 3,
-				uploadUrl: '',
-				dialogVisible: false,
-				dialogImageUrl: null,
-				workLevelList: [
-					{
-						label: "抽盲板作业",
-						value: 11
-					},
-					{
-						label: "堵盲板作业",
-						value: 12
-					}
-				],
-				csDepList: [
-					{
-						label: "单位一",
-						value: 1
-					},
-					{
-						label: "单位二",
-						value: 2
-					},
-					{
-						label: "单位三",
-						value: 3
-					},
-					{
-						label: "单位四",
-						value: 4
-					},
-					{
-						label: "单位五",
-						value: 5
-					},
-					{
-						label: "单位六",
-						value: 6
-					}
-				],
-				otherWorkList: [
-					{
-						label: "动火作业",
-						value: 1
-					},
-					{
-						label: "受限空间作业",
-						value: 2
-					},
-					{
-						label: "吊装作业",
-						value: 3
-					},
-					{
-						label: "动土作业",
-						value: 4
-					},
-					{
-						label: "断路作业",
-						value: 5
-					},
-					{
-						label: "高处作业",
-						value: 6
-					},
-					{
-						label: "临时用电作业",
-						value: 7
-					},
-					{
-						label: "盲板抽堵作业",
-						value: 8
-					}
-				]
-			});
-			const ruleFormRef = ref<FormInstance>()
-			const applyRules = reactive<FormRules>({
-				operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workLevel: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.bpCode": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.mainMedia": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.temperature": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.pressure": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.bpMaterialQuality": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.bpSpecification": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.installLine": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.bpLocation": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.bpLocationMapPath": [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
-			});
-
-			const toZero = (value: string | number,index: number,name: string,x:number) =>{
-				if(!value){
-					state.materialList[index][name][x].value = 0
-				}
-			}
-
-			const submitForm = async (formEl: FormInstance | undefined) => {
-				if (!formEl) return
-				await formEl.validate(async (valid, fields) => {
-					if (valid) {
-						for(let i in state.materialList){
-							for(let j in state.materialList[i].mustList){
-								if(state.materialList[i].mustList[j].value>state.materialList[i].mustList[j].stock){
-									ElMessage({
-										type: 'warning',
-										message: '部分物资库存不足,请重新配置数量。'
-									});
-									return
-								}
-							}
-							for(let j in state.materialList[i].unList){
-								if(state.materialList[i].unList[j].value>state.materialList[i].unList[j].stock){
-									ElMessage({
-										type: 'warning',
-										message: '部分物资库存不足,请重新配置数量。'
-									});
-									return
-								}
-							}
-							state.materialList[i].mustList = state.materialList[i].mustList.map((item:any)=>{
-								const obj = {
-									defaultVal: item.value,
-									id: item.id
-								}
-								return {...obj}
-							})
-							state.materialList[i].unList = state.materialList[i].unList.map((item:any)=>{
-								const obj = {
-									defaultVal: item.value,
-									id: item.id
-								}
-								return {...obj}
-							})
-							state.materialList[i].postList = [...state.materialList[i].mustList,...state.materialList[i].unList]
-							state.form.wmAddReqDTOList = [...state.form.wmAddReqDTOList,...state.materialList[i].postList]
-						}
-						state.form.expStartTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[0]
-						state.form.expEndTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[1]
-						state.form.workDetail.installBpTime = JSON.parse(JSON.stringify(state.form.workDetail.installLine))[0]
-						state.form.workDetail.uninstallBpTime = JSON.parse(JSON.stringify(state.form.workDetail.installLine))[1]
-						let { workTimeLine, ...data } = JSON.parse(JSON.stringify(state.form))
-						let { installLine, ...data2 } = JSON.parse(JSON.stringify(state.form.workDetail))
-						data.workDetail = data2
-						data.workDetail.otherSpecialWork = data.workDetail.otherSpecialWork.join(',')
-						data.workDetail.bpLocationMapPath = data.workDetail.bpLocationMapPath.join(',')
-						data.workDetail.temperature = Number(data.workDetail.temperature)
-						data.workDetail.pressure = Number(data.workDetail.pressure)
-						const res = await workApplyApi().postPlateApply(data)
-						if (res.data.code === '200') {
-								ElMessage({
-									type: 'success',
-									message: '提交成功!'
-								});
-								formEl.resetFields()
-								state.form.workDetail.bpLocationMapPath = []
-								state.fileList = []
-						} else {
-							ElMessage({
-								type: 'warning',
-								message: res.data.msg
-							});
-						}
-						state.materialList = []
-					} else {
-						console.log('error submit!', fields)
-					}
-				})
-			}
-			const handlePreview: UploadProps['onPreview'] = (uploadFile) => {
-				console.log(uploadFile);
-			};
-
-			const handlePictureCardPreview = (uploadFile: { url: string }) => {
-				state.dialogImageUrl = uploadFile.url!;
-				state.dialogVisible = true;
-			};
-
-			const getUploadUrl = async (rawFile: any) => {
-				const fileSize = rawFile.size / 1024 < 500 ? '1' : '0'
-				if(fileSize === '0'){
-					ElMessage({
-						type: 'warning',
-						message: '文件大小不能超过500k。'
-					});
-					state.isOverSize = true
-					return false
-				}else{
-					const res = await workApplyApi().getUploadUrl(rawFile.name);
-					state.form.workDetail.bpLocationMapPath.push(res.data.data.fileName)
-					state.uploadUrl = res.data.data.uploadUrl;
-					console.log(res.data.data.fileName,'name')
-				}
-			};
-
-			const upload = async (params: any) => {
-				// const formData = new FormData();
-				// formData.append('file', state.fileList[0].raw);
-				let reader = new FileReader();
-				reader.readAsArrayBuffer(params.file);
-				reader.onload = async () => {
-					axios
-							.put(state.uploadUrl, reader.result, {
-								header: { 'Content-Type': 'multipart/form-data' }
-							})
-							.then(() => {
-								// if (state.fileList.length === 2) {
-								// 	state.fileList.splice(0, 1);
-								// }
-								// console.log(state.form.workDetail.bpLocationMapPath,'bpLocationMapPath')
-							});
-				};
-			};
-
-			const beforeRemove = (file: {}, fileList: []) => {
-				const result = new Promise((resolve, reject) => {
-					if(!state.isOverSize){
-						ElMessageBox.confirm('此操作将删除该图片, 是否继续?', '提示', {
-							confirmButtonText: '确定',
-							cancelButtonText: '取消',
-							type: 'warning'
-						})
-								.then(() => {
-									// console.log(state.workDetail.bpLocationMapPath,'path')
-									const list = JSON.parse(JSON.stringify(state.form.workDetail.bpLocationMapPath))
-									fileList.map((item,index)=>{
-										if(item.uid === file.uid){
-											fileList.splice(index,1)
-											state.form.workDetail.bpLocationMapPath.splice(index,1)
-											deletePic(false,list[index])
-										}
-									})
-									// 请求删除接口
-								})
-								.catch(() => {
-									reject(false);
-								});
-					}else{
-						const list = JSON.parse(JSON.stringify(state.form.workDetail.bpLocationMapPath))
-						fileList.map((item,index)=>{
-							if(item.uid === file.uid){
-								fileList.splice(index,1)
-								state.form.workDetail.bpLocationMapPath.splice(index,1)
-								deletePic(true,list[index])
-							}
-						})
-						state.isOverSize = false
-					}
-				});
-				return result;
-			};
-
-
-			// 删除图片接口
-			const deletePic = async(isOverSize:boolean,fileName:string)=>{
-				console.log(fileName,'fileName')
-				const res = await workApplyApi().deleteFile({fileName: fileName})
-				if (res.data.code === '200') {
-					ElMessage({
-						type: isOverSize ? 'error' : 'success',
-						message: isOverSize ? '上传失败':'删除成功!'
-					});
-				} else {
-					ElMessage({
-						type: 'warning',
-						message: res.data.msg
-					});
-				}
-			}
-			const showTip =()=>{
-				ElMessage({
-					type: 'warning',
-					message: '超出文件上传数量'
-				});
-			}
-
-			// 确认物资标准
-			const getMaList = async() =>{
-				if(state.materialList.length == 0){
-					const data = {workType: 8,workLevel: state.form.workLevel}
-					const res = await workApplyApi().getMaterial(data)
-					if (res.data.code === '200') {
-						if(res.data.data.materialTypeList && res.data.data.materialTypeList!=null&&res.data.data.materialTypeList.length>0){
-							state.materialList = JSON.parse(JSON.stringify(res.data.data.materialTypeList))
-							for(let i in state.materialList){
-								state.materialList[i].mustList = []
-								state.materialList[i].unList = []
-								state.materialList[i].mdList = state.materialList[i].mdList?.map((item:any) => {
-									if(item.configurationLevel == 0){
-										state.materialList[i].mustList.push(item)
-										return
-									}else{
-										state.materialList[i].unList.push(item)
-										return
-									}
-								})
-								state.materialList[i].mustList = state.materialList[i].mustList.map((item:any)=>{
-									const obj = {
-										value: item.defaultVal,
-										materialName: item.materialName,
-										configurationLevel: item.configurationLevel,
-										id: item.id,
-										stock: item.stock
-									}
-									return {...obj}
-								})
-								state.materialList[i].unList = state.materialList[i].unList.map((item:any)=>{
-									const obj = {
-										value: item.defaultVal,
-										materialName: item.materialName,
-										configurationLevel: item.configurationLevel,
-										id: item.id,
-										stock: item.stock
-									}
-									return {...obj}
-								})
-							}
-							state.equipmentDialog = true
-						}else{
-							ElMessage({
-								type: 'warning',
-								message: '暂时查询不到物资标准信息'
-							});
-						}
-					} else {
-						ElMessage({
-							type: 'warning',
-							message: res.data.msg
-						});
-					}
-				}else{
-					state.materialList = state.materialList
-					state.equipmentDialog = true
-				}
-			}
-			const conFirmDevices = ()=>{
-				for(let i in state.materialList){
-					for(let j in state.materialList[i].mustList){
-						if(state.materialList[i].mustList[j].value>state.materialList[i].mustList[j].stock){
-							ElMessage({
-								type: 'warning',
-								message: '部分物资库存不足,请重新配置数量。'
-							});
-							return
-						}
-					}
-					for(let j in state.materialList[i].unList){
-						if(state.materialList[i].unList[j].value>state.materialList[i].unList[j].stock){
-							ElMessage({
-								type: 'warning',
-								message: '部分物资库存不足,请重新配置数量。'
-							});
-							return
-						}
-					}
-
-				}
-				ElMessageBox.confirm('是否确认物资及数量配置?')
-						.then(() => {
-							state.equipmentDialog = false
-						})
-						.catch(() => {
-							// catch error
-						})
-			}
-
-			const closeMaterial = ()=>{
-
-			}
-
-			// 折线图
-			const renderMenu = async (value: string) => {
-				Session.set('projectId',value)
-				userInfos.value.projectId = value
-				await initBackEndControlRoutes();
-			};
-			return {
-				renderMenu,
-				Search,
-				ruleFormRef,
-				applyRules,
-				toZero,
-				getMaList,
-				conFirmDevices,
-				closeMaterial,
-				handlePreview,
-				getUploadUrl,
-				beforeRemove,
-				upload,
-				showTip,
-				submitForm,
-				handlePictureCardPreview,
-				...toRefs(state),
-			};
-		},
-	});
-</script>
-
-<style scoped lang="scss">
-	.home-container {
-		height: 100%;
-		overflow: hidden;
-		position: relative;
-		.homeCard{
-			width: 100%;
-			padding: 20px;
-			box-sizing: border-box;
-			background: #fff;
-			border-radius: 4px;
-			margin-bottom: 20px;
-		}
-		.applyBtn{
-			width: 100%;
-			background: #fff;
-			padding-top: 15px;
-			z-index: 5;
-			box-shadow: 0 -3px 8px rgba(150,150,150,.1);
-			display: flex;
-			align-items: center;
-			justify-content: center;
-		}
-		.el-row{
-			margin-bottom: 20px;
-		}
-		.el-row:last-child {
-			margin-bottom: 0;
-		}
-		.el-input{
-			width: 100% !important;
-		}
-		.el-date-editor::v-deep{
-			width: 100%;
-		}
-		.el-select{
-			width: 100%;
-		}
-		.el-cascader{
-			width: 100% !important;
-		}
-	}
-</style>
diff --git a/src/views/specialWorkSystem/workTicket/apply/components/power.vue b/src/views/specialWorkSystem/workTicket/apply/components/power.vue
deleted file mode 100644
index 8e37b90..0000000
--- a/src/views/specialWorkSystem/workTicket/apply/components/power.vue
+++ /dev/null
@@ -1,443 +0,0 @@
-<template>
-	<div class="home-container">
-		<div style="height: 100%">
-		<el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef">
-			<div class="homeCard">
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业人" prop="operatorUids">
-						<el-select v-model="form.operatorUids" multiple>
-							<el-option
-									v-for="item in workerList"
-									:key="item.uid"
-									:label="item.username"
-									:value="item.uid"
-							/>
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="作业时间" prop="workTimeLine">
-						<el-date-picker
-								v-model="form.workTimeLine"
-								format="YYYY-MM-DD HH:mm"
-								value-format="YYYY-MM-DD HH:mm:00"
-								type="datetimerange"
-								range-separator="至"
-								start-placeholder="开始时间"
-								end-placeholder="结束时间"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业内容" prop="workContent">
-						<el-input
-								v-model="form.workContent"
-								autosize
-								type="textarea"
-								placeholder="请输入作业内容"
-						/>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="作业地址" prop="workLocation">
-						<el-input
-								v-model="form.workLocation"
-								autosize
-								type="textarea"
-								placeholder="请输入作业地址"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="危害辨识" prop="hazardIdentification">
-						<el-input
-								v-model="form.hazardIdentification"
-								placeholder="请输入危害辨识"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-				<el-divider border-style="dashed"/>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="电源接入点" prop="workDetail.powerAccessPoint">
-						<el-input
-								v-model="form.workDetail.powerAccessPoint"
-								autosize
-								type="textarea"
-								placeholder="请输入"
-						/>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="工作电压" prop="workDetail.workingVoltage">
-						<el-input
-								v-model="form.workDetail.workingVoltage"
-								type="number"
-								placeholder="请输入"
-						>
-							<template #append>伏特(v)</template>
-						</el-input>
-					</el-form-item>
-				</el-col>
-			</el-row>
-				<el-row>
-					<el-col :span="12">
-						<el-form-item label="用电设备及功率" prop="workDetail.equipmentAndPower">
-							<el-input
-									v-model="form.workDetail.equipmentAndPower"
-									autosize
-									type="textarea"
-									placeholder="请输入"
-							/>
-						</el-form-item>
-					</el-col>
-					<el-col :span="12">
-						<el-form-item label="选择关联物资">
-							<el-button type="primary" @click="getMaList">选择物资标准</el-button>
-						</el-form-item>
-					</el-col>
-				</el-row>
-			</div>
-		</el-form>
-		<el-dialog v-model="equipmentDialog" title="关联物资标准" width="40%" center @close="closeMaterial">
-			<el-tabs tab-position="left" class="demo-tabs" type="border-card">
-				<el-tab-pane v-for="(item,index) in materialList" :label="item.materialTypeName" :key="index">
-					<div style="margin-bottom: 20px">
-						<el-form label-width="150px" label-position="top">
-							<div v-if="item.mustList.length>0" style="width: 100%;border-bottom: 1px solid #ccc;padding-bottom: 6px;margin-bottom: 10px;font-weight: bolder">必选</div>
-							<el-form-item v-if="item.mustList.length>0" class="tab-i" v-for="(i,x) in item.mustList" :key="x" :label="item.mustList[x].materialName + ':'" prop="defaultVal" :rules="[{ type: 'defaultVal', required: true, message: '该内容不能为空', trigger: 'blur'}]">
-								<el-input size="default" type="number" v-model="item.mustList[x].value" @change="(val)=>toZero(val,index,'mustList',x)" placeholder="请输入配置数量,空值默认为0">
-									<template #append>{{'库存:' + item.mustList[x].stock}}</template>
-								</el-input>
-							</el-form-item>
-							<div v-if="item.unList.length>0" style="width: 100%;border-bottom: 1px solid #ccc;padding-bottom: 6px;margin-bottom: 10px;font-weight: bolder">其他</div>
-							<el-form-item v-if="item.unList.length>0" class="tab-i" v-for="(i,x) in item.unList" :key="x" :label="item.unList[x].materialName + ':'">
-								<el-input size="default" type="number" v-model="item.unList[x].value" @change="(val)=>toZero(val,index,'unList',x)" placeholder="请输入配置数量,空值默认为0">
-									<template #append>{{'库存:' + item.unList[x].stock}}</template>
-								</el-input>
-							</el-form-item>
-						</el-form>
-					</div>
-				</el-tab-pane>
-			</el-tabs>
-			<template #footer>
-			<span class="dialog-footer">
-				<el-button @click="equipmentDialog = false" size="default">取消</el-button>
-				<el-button type="primary" @click="conFirmDevices" size="default">确认</el-button>
-			</span>
-			</template>
-		</el-dialog>
-		<div class="applyBtn">
-			<el-button type="primary" size="large" plain @click="submitForm(ruleFormRef)">发起申请</el-button>
-		</div>
-	</div>
-	</div>
-</template>
-
-<script lang="ts">
-	import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } 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 } from 'element-plus'
-	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
-
-
-	interface stateType {
-		form: Object,
-		workLevelList: Array<any>,
-		equipmentDialog: boolean,
-		materialList: Array<any>
-	}
-	export default defineComponent({
-		name: 'powerForm',
-		components: {},
-		props:['workerList'],
-		setup() {
-			const userInfo = useUserInfo()
-			const { userInfos } = storeToRefs(userInfo);
-			const state  = reactive<stateType>({
-				equipmentDialog: false,
-				materialList: [],
-				form: {
-					operatorUids: [],
-					workType: 7,
-					workLevel: 0,
-					workContent: '',
-					workLocation: '',
-					hazardIdentification: '',
-					workDetail:{
-						powerAccessPoint: '',
-						workingVoltage: null,
-						equipmentAndPower: ''
-					},
-					wmAddReqDTOList: [],
-					workTimeLine: [],
-					expStartTime: '',
-					expEndTime: ''
-				},
-				workLevelList: [
-					{
-						label: "一级吊装作业",
-						value: 8
-					},
-					{
-						label: "二级吊装作业",
-						value: 9
-					},
-					{
-						label: "三级吊装作业",
-						value: 10
-					}
-				]
-			});
-			const ruleFormRef = ref<FormInstance>()
-			const applyRules = reactive<FormRules>({
-				operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workLevel: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.powerAccessPoint": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.workingVoltage": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.equipmentAndPower": [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
-			});
-
-			const toZero = (value: string | number,index: number,name: string,x:number) =>{
-				if(!value){
-					state.materialList[index][name][x].value = 0
-				}
-			}
-
-			const submitForm = async (formEl: FormInstance | undefined) => {
-				if (!formEl) return
-				await formEl.validate(async (valid, fields) => {
-					if (valid) {
-						for(let i in state.materialList){
-							for(let j in state.materialList[i].mustList){
-								if(state.materialList[i].mustList[j].value>state.materialList[i].mustList[j].stock){
-									ElMessage({
-										type: 'warning',
-										message: '部分物资库存不足,请重新配置数量。'
-									});
-									return
-								}
-							}
-							for(let j in state.materialList[i].unList){
-								if(state.materialList[i].unList[j].value>state.materialList[i].unList[j].stock){
-									ElMessage({
-										type: 'warning',
-										message: '部分物资库存不足,请重新配置数量。'
-									});
-									return
-								}
-							}
-							state.materialList[i].mustList = state.materialList[i].mustList.map((item:any)=>{
-								const obj = {
-									defaultVal: item.value,
-									id: item.id
-								}
-								return {...obj}
-							})
-							state.materialList[i].unList = state.materialList[i].unList.map((item:any)=>{
-								const obj = {
-									defaultVal: item.value,
-									id: item.id
-								}
-								return {...obj}
-							})
-							state.materialList[i].postList = [...state.materialList[i].mustList,...state.materialList[i].unList]
-							state.form.wmAddReqDTOList = [...state.form.wmAddReqDTOList,...state.materialList[i].postList]
-						}
-						state.form.expStartTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[0]
-						state.form.expEndTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[1]
-						let { workTimeLine, ...data } = JSON.parse(JSON.stringify(state.form))
-						// data.workDetail.weightMass = Number(data.workDetail.weightMass)
-						const res = await workApplyApi().postPowerApply(data)
-						if (res.data.code === '200') {
-								ElMessage({
-									type: 'success',
-									message: '提交成功!'
-								});
-								formEl.resetFields()
-						} else {
-							ElMessage({
-								type: 'warning',
-								message: res.data.msg
-							});
-						}
-						state.materialList = []
-					} else {
-						console.log('error submit!', fields)
-					}
-				})
-			}
-			// 确认物资标准
-			const getMaList = async() =>{
-				if(state.materialList.length == 0){
-					const data = {workType: 7,workLevel: null}
-					const res = await workApplyApi().getMaterial(data)
-					if (res.data.code === '200') {
-						if(res.data.data.materialTypeList && res.data.data.materialTypeList!=null&&res.data.data.materialTypeList.length>0){
-							state.materialList = JSON.parse(JSON.stringify(res.data.data.materialTypeList))
-							for(let i in state.materialList){
-								state.materialList[i].mustList = []
-								state.materialList[i].unList = []
-								state.materialList[i].mdList = state.materialList[i].mdList?.map((item:any) => {
-									if(item.configurationLevel == 0){
-										state.materialList[i].mustList.push(item)
-										return
-									}else{
-										state.materialList[i].unList.push(item)
-										return
-									}
-								})
-								state.materialList[i].mustList = state.materialList[i].mustList.map((item:any)=>{
-									const obj = {
-										value: item.defaultVal,
-										materialName: item.materialName,
-										configurationLevel: item.configurationLevel,
-										id: item.id,
-										stock: item.stock
-									}
-									return {...obj}
-								})
-								state.materialList[i].unList = state.materialList[i].unList.map((item:any)=>{
-									const obj = {
-										value: item.defaultVal,
-										materialName: item.materialName,
-										configurationLevel: item.configurationLevel,
-										id: item.id,
-										stock: item.stock
-									}
-									return {...obj}
-								})
-							}
-							state.equipmentDialog = true
-						}else{
-							ElMessage({
-								type: 'warning',
-								message: '暂时查询不到物资标准信息'
-							});
-						}
-					} else {
-						ElMessage({
-							type: 'warning',
-							message: res.data.msg
-						});
-					}
-				}else{
-					state.materialList = state.materialList
-					state.equipmentDialog = true
-				}
-			}
-			const conFirmDevices = ()=>{
-				for(let i in state.materialList){
-					for(let j in state.materialList[i].mustList){
-						if(state.materialList[i].mustList[j].value>state.materialList[i].mustList[j].stock){
-							ElMessage({
-								type: 'warning',
-								message: '部分物资库存不足,请重新配置数量。'
-							});
-							return
-						}
-					}
-					for(let j in state.materialList[i].unList){
-						if(state.materialList[i].unList[j].value>state.materialList[i].unList[j].stock){
-							ElMessage({
-								type: 'warning',
-								message: '部分物资库存不足,请重新配置数量。'
-							});
-							return
-						}
-					}
-
-				}
-				ElMessageBox.confirm('是否确认物资及数量配置?')
-						.then(() => {
-							state.equipmentDialog = false
-						})
-						.catch(() => {
-							// catch error
-						})
-			}
-
-			const closeMaterial = ()=>{
-
-			}
-			// 折线图
-			const renderMenu = async (value: string) => {
-				Session.set('projectId',value)
-				userInfos.value.projectId = value
-				await initBackEndControlRoutes();
-			};
-			return {
-				renderMenu,
-				Search,
-				ruleFormRef,
-				applyRules,
-				toZero,
-				getMaList,
-				conFirmDevices,
-				closeMaterial,
-				submitForm,
-				...toRefs(state),
-			};
-		},
-	});
-</script>
-
-<style scoped lang="scss">
-	.home-container {
-		height: 100%;
-		overflow: hidden;
-		position: relative;
-		.homeCard{
-			width: 100%;
-			padding: 20px;
-			box-sizing: border-box;
-			background: #fff;
-			border-radius: 4px;
-			margin-bottom: 20px;
-		}
-		.applyBtn{
-			width: 100%;
-			background: #fff;
-			padding-top: 15px;
-			z-index: 5;
-			box-shadow: 0 -3px 8px rgba(150,150,150,.1);
-			display: flex;
-			align-items: center;
-			justify-content: center;
-		}
-		.el-row{
-			margin-bottom: 20px;
-		}
-		.el-row:last-child {
-			margin-bottom: 0;
-		}
-		.el-input{
-			width: 100% !important;
-		}
-		.el-date-editor::v-deep{
-			width: 100%;
-		}
-		.el-select{
-			width: 100%;
-		}
-		.el-cascader{
-			width: 100% !important;
-		}
-	}
-</style>
diff --git a/src/views/specialWorkSystem/workTicket/apply/components/space.vue b/src/views/specialWorkSystem/workTicket/apply/components/space.vue
deleted file mode 100644
index 5bc5bba..0000000
--- a/src/views/specialWorkSystem/workTicket/apply/components/space.vue
+++ /dev/null
@@ -1,513 +0,0 @@
-<template>
-	<div class="home-container">
-		<div style="height: 100%">
-		<el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef">
-			<div class="homeCard">
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业人" prop="operatorUids">
-						<el-select v-model="form.operatorUids" multiple>
-							<el-option
-									v-for="item in workerList"
-									:key="item.uid"
-									:label="item.username"
-									:value="item.uid"
-							/>
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="作业时间" prop="workTimeLine">
-						<el-date-picker
-								v-model="form.workTimeLine"
-								format="YYYY-MM-DD HH:mm"
-								value-format="YYYY-MM-DD HH:mm:00"
-								type="datetimerange"
-								range-separator="至"
-								start-placeholder="开始时间"
-								end-placeholder="结束时间"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="作业内容" prop="workContent">
-						<el-input
-								v-model="form.workContent"
-								autosize
-								type="textarea"
-								placeholder="请输入作业内容"
-						/>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="作业地址" prop="workLocation">
-						<el-input
-								v-model="form.workLocation"
-								autosize
-								type="textarea"
-								placeholder="请输入作业地址"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="危害辨识" prop="hazardIdentification">
-						<el-input
-								v-model="form.hazardIdentification"
-								placeholder="请输入危害辨识"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-				<el-divider border-style="dashed" />
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="受限空间所属单位" prop="workDetail.csDepId">
-<!--						<el-select v-model="form.workDetail.csDepId">-->
-<!--							<el-option-->
-<!--									v-for="item in csDepList"-->
-<!--									:key="item.value"-->
-<!--									:label="item.label"-->
-<!--									:value="item.value"-->
-<!--							/>-->
-<!--						</el-select>-->
-						<el-cascader v-model="form.workDetail.csDepId" :options="departList" :props="casProps" :show-all-levels="false" @change="handleChange" />
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="受限空间名称" prop="workDetail.csName">
-						<el-input
-								v-model="form.workDetail.csName"
-								autosize
-								type="textarea"
-								placeholder="请输入"
-						/>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="空间内原有介质" prop="workDetail.csOriginalName">
-						<el-input
-								v-model="form.workDetail.csOriginalName"
-								autosize
-								type="textarea"
-								placeholder="请输入"
-						/>
-					</el-form-item>
-				</el-col>
-				<el-col :span="12">
-					<el-form-item label="关联作业" prop="workDetail.otherSpecialWork">
-						<el-select v-model="form.workDetail.otherSpecialWork" multiple>
-							<el-option v-for="item in otherWorkList" :key="item.value" :label="item.label" :value="item.value" />
-						</el-select>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="12">
-					<el-form-item label="选择关联物资">
-						<el-button type="primary" @click="getMaList">选择物资标准</el-button>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			</div>
-		</el-form>
-		<el-dialog v-model="equipmentDialog" title="关联物资标准" width="40%" center @close="closeMaterial">
-			<el-tabs tab-position="left" class="demo-tabs" type="border-card">
-				<el-tab-pane v-for="(item,index) in materialList" :label="item.materialTypeName" :key="index">
-					<div style="margin-bottom: 20px">
-						<el-form label-width="150px" label-position="top">
-							<div v-if="item.mustList.length>0" style="width: 100%;border-bottom: 1px solid #ccc;padding-bottom: 6px;margin-bottom: 10px;font-weight: bolder">必选</div>
-							<el-form-item v-if="item.mustList.length>0" class="tab-i" v-for="(i,x) in item.mustList" :key="x" :label="item.mustList[x].materialName + ':'" prop="defaultVal" :rules="[{ type: 'defaultVal', required: true, message: '该内容不能为空', trigger: 'blur'}]">
-								<el-input size="default" type="number" v-model="item.mustList[x].value" @change="(val)=>toZero(val,index,'mustList',x)" placeholder="请输入配置数量,空值默认为0">
-									<template #append>{{'库存:' + item.mustList[x].stock}}</template>
-								</el-input>
-							</el-form-item>
-							<div v-if="item.unList.length>0" style="width: 100%;border-bottom: 1px solid #ccc;padding-bottom: 6px;margin-bottom: 10px;font-weight: bolder">其他</div>
-							<el-form-item v-if="item.unList.length>0" class="tab-i" v-for="(i,x) in item.unList" :key="x" :label="item.unList[x].materialName + ':'">
-								<el-input size="default" type="number" v-model="item.unList[x].value" @change="(val)=>toZero(val,index,'unList',x)" placeholder="请输入配置数量,空值默认为0">
-									<template #append>{{'库存:' + item.unList[x].stock}}</template>
-								</el-input>
-							</el-form-item>
-						</el-form>
-					</div>
-				</el-tab-pane>
-			</el-tabs>
-			<template #footer>
-			<span class="dialog-footer">
-				<el-button @click="equipmentDialog = false" size="default">取消</el-button>
-				<el-button type="primary" @click="conFirmDevices" size="default">确认</el-button>
-			</span>
-			</template>
-		</el-dialog>
-		<div class="applyBtn">
-			<el-button type="primary" size="large" plain @click="submitForm(ruleFormRef)">发起申请</el-button>
-		</div>
-	</div>
-	</div>
-</template>
-
-<script lang="ts">
-	import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } 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 } from 'element-plus'
-	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
-
-
-	interface stateType {
-		form: Object,
-		csDepList: Array<any>,
-		otherWorkList: Array<any>,
-		casProps: {},
-		equipmentDialog: boolean,
-		materialList: Array<any>
-	}
-	export default defineComponent({
-		name: 'spaceForm',
-		components: {},
-		props:['workerList','departList'],
-		setup() {
-			const userInfo = useUserInfo()
-			const { userInfos } = storeToRefs(userInfo);
-			const state  = reactive<stateType>({
-				equipmentDialog: false,
-				materialList: [],
-				form: {
-					operatorUids: [],
-					workType: 2,
-					workLevel: 0,
-					workContent: '',
-					workLocation: '',
-					hazardIdentification: '',
-					workDetail:{
-						csDepId: null,
-						csName: '',
-						csOriginalName: '',
-						otherSpecialWork: []
-					},
-					wmAddReqDTOList: [],
-					workTimeLine: [],
-					expStartTime: '',
-					expEndTime: ''
-				},
-				csDepList: [
-					{
-						label: "单位一",
-						value: 1
-					},
-					{
-						label: "单位二",
-						value: 2
-					},
-					{
-						label: "单位三",
-						value: 3
-					},
-					{
-						label: "单位四",
-						value: 4
-					},
-					{
-						label: "单位五",
-						value: 5
-					},
-					{
-						label: "单位六",
-						value: 6
-					}
-				],
-				casProps: {
-					emitPath: false,
-					value: 'depId',
-					label: 'depName',
-					multiple: false,
-					expandTrigger: 'hover',
-					checkStrictly: true
-				},
-				otherWorkList: [
-					{
-						label: '动火作业',
-						value: 1
-					},
-					{
-						label: '受限空间作业',
-						value: 2
-					},
-					{
-						label: '吊装作业',
-						value: 3
-					},
-					{
-						label: '动土作业',
-						value: 4
-					},
-					{
-						label: '断路作业',
-						value: 5
-					},
-					{
-						label: '高处作业',
-						value: 6
-					},
-					{
-						label: '临时用电作业',
-						value: 7
-					},
-					{
-						label: '盲板抽堵作业',
-						value: 8
-					}
-				]
-			});
-			const ruleFormRef = ref<FormInstance>()
-			const applyRules = reactive<FormRules>({
-				operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.csDepId": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.csName": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				"workDetail.csOriginalName": [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
-			});
-
-			const toZero = (value: string | number,index: number,name: string,x:number) =>{
-				if(!value){
-					state.materialList[index][name][x].value = 0
-				}
-			}
-
-			const submitForm = async (formEl: FormInstance | undefined) => {
-				if (!formEl) return
-				await formEl.validate(async (valid, fields) => {
-					if (valid) {
-						for(let i in state.materialList){
-							for(let j in state.materialList[i].mustList){
-								if(state.materialList[i].mustList[j].value>state.materialList[i].mustList[j].stock){
-									ElMessage({
-										type: 'warning',
-										message: '部分物资库存不足,请重新配置数量。'
-									});
-									return
-								}
-							}
-							for(let j in state.materialList[i].unList){
-								if(state.materialList[i].unList[j].value>state.materialList[i].unList[j].stock){
-									ElMessage({
-										type: 'warning',
-										message: '部分物资库存不足,请重新配置数量。'
-									});
-									return
-								}
-							}
-							state.materialList[i].mustList = state.materialList[i].mustList.map((item:any)=>{
-								const obj = {
-									defaultVal: item.value,
-									id: item.id
-								}
-								return {...obj}
-							})
-							state.materialList[i].unList = state.materialList[i].unList.map((item:any)=>{
-								const obj = {
-									defaultVal: item.value,
-									id: item.id
-								}
-								return {...obj}
-							})
-							state.materialList[i].postList = [...state.materialList[i].mustList,...state.materialList[i].unList]
-							state.form.wmAddReqDTOList = [...state.form.wmAddReqDTOList,...state.materialList[i].postList]
-						}
-						state.form.expStartTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[0]
-						state.form.expEndTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[1]
-						let { workTimeLine, ...data } = JSON.parse(JSON.stringify(state.form))
-						data.workDetail.otherSpecialWork = data.workDetail.otherSpecialWork.join(',')
-						console.log(data,'data')
-						const res = await workApplyApi().postSpaceApply(data)
-						if (res.data.code === '200') {
-								ElMessage({
-									type: 'success',
-									message: '提交成功!'
-								});
-								formEl.resetFields()
-						} else {
-							ElMessage({
-								type: 'warning',
-								message: res.data.msg
-							});
-						}
-						state.materialList = []
-					} else {
-						console.log('error submit!', fields)
-					}
-				})
-			}
-
-			// 确认物资标准
-			const getMaList = async() =>{
-				if(state.materialList.length == 0){
-					const data = {workType: 2,workLevel: null}
-					const res = await workApplyApi().getMaterial(data)
-					if (res.data.code === '200') {
-						if(res.data.data.materialTypeList && res.data.data.materialTypeList!=null&&res.data.data.materialTypeList.length>0){
-							state.materialList = JSON.parse(JSON.stringify(res.data.data.materialTypeList))
-							for(let i in state.materialList){
-								state.materialList[i].mustList = []
-								state.materialList[i].unList = []
-								state.materialList[i].mdList = state.materialList[i].mdList?.map((item:any) => {
-									if(item.configurationLevel == 0){
-										state.materialList[i].mustList.push(item)
-										return
-									}else{
-										state.materialList[i].unList.push(item)
-										return
-									}
-								})
-								state.materialList[i].mustList = state.materialList[i].mustList.map((item:any)=>{
-									const obj = {
-										value: item.defaultVal,
-										materialName: item.materialName,
-										configurationLevel: item.configurationLevel,
-										id: item.id,
-										stock: item.stock
-									}
-									return {...obj}
-								})
-								state.materialList[i].unList = state.materialList[i].unList.map((item:any)=>{
-									const obj = {
-										value: item.defaultVal,
-										materialName: item.materialName,
-										configurationLevel: item.configurationLevel,
-										id: item.id,
-										stock: item.stock
-									}
-									return {...obj}
-								})
-							}
-							state.equipmentDialog = true
-						}else{
-							ElMessage({
-								type: 'warning',
-								message: '暂时查询不到物资标准信息'
-							});
-						}
-					} else {
-						ElMessage({
-							type: 'warning',
-							message: res.data.msg
-						});
-					}
-				}else{
-					state.materialList = state.materialList
-					state.equipmentDialog = true
-				}
-			}
-			const conFirmDevices = ()=>{
-				for(let i in state.materialList){
-					for(let j in state.materialList[i].mustList){
-						if(state.materialList[i].mustList[j].value>state.materialList[i].mustList[j].stock){
-							ElMessage({
-								type: 'warning',
-								message: '部分物资库存不足,请重新配置数量。'
-							});
-							return
-						}
-					}
-					for(let j in state.materialList[i].unList){
-						if(state.materialList[i].unList[j].value>state.materialList[i].unList[j].stock){
-							ElMessage({
-								type: 'warning',
-								message: '部分物资库存不足,请重新配置数量。'
-							});
-							return
-						}
-					}
-
-				}
-				ElMessageBox.confirm('是否确认物资及数量配置?')
-						.then(() => {
-							state.equipmentDialog = false
-						})
-						.catch(() => {
-							// catch error
-						})
-			}
-
-			const closeMaterial = ()=>{
-
-			}
-
-			// 折线图
-			const renderMenu = async (value: string) => {
-				Session.set('projectId',value)
-				userInfos.value.projectId = value
-				await initBackEndControlRoutes();
-			};
-			return {
-				renderMenu,
-				Search,
-				ruleFormRef,
-				applyRules,
-				toZero,
-				getMaList,
-				conFirmDevices,
-				closeMaterial,
-				submitForm,
-				...toRefs(state),
-			};
-		},
-	});
-</script>
-
-<style scoped lang="scss">
-	.home-container {
-		height: 100%;
-		overflow: hidden;
-		position: relative;
-		.homeCard{
-			width: 100%;
-			padding: 20px;
-			box-sizing: border-box;
-			background: #fff;
-			border-radius: 4px;
-			margin-bottom: 20px;
-		}
-		.applyBtn{
-			width: 100%;
-			background: #fff;
-			padding-top: 15px;
-			z-index: 5;
-			box-shadow: 0 -3px 8px rgba(150,150,150,.1);
-			display: flex;
-			align-items: center;
-			justify-content: center;
-		}
-		.el-row{
-			margin-bottom: 20px;
-		}
-		.el-row:last-child {
-			margin-bottom: 0;
-		}
-		.el-input{
-			width: 100% !important;
-		}
-		.el-date-editor::v-deep{
-			width: 100%;
-		}
-		.el-select{
-			width: 100%;
-		}
-		:deep(.el-cascader){
-			width: 100% !important;
-		}
-	}
-</style>
diff --git a/src/views/specialWorkSystem/workTicket/apply/index.vue b/src/views/specialWorkSystem/workTicket/apply/index.vue
deleted file mode 100644
index fafc906..0000000
--- a/src/views/specialWorkSystem/workTicket/apply/index.vue
+++ /dev/null
@@ -1,149 +0,0 @@
-<template>
-	<div class="home-container">
-		<el-tabs type="border-card">
-			<el-tab-pane label="动火作业">
-				<fire-form :workerList = allWorkers></fire-form>
-			</el-tab-pane>
-			<el-tab-pane label="受限空间作业">
-				<space-form :workerList = allWorkers :departList = departmentList></space-form>
-			</el-tab-pane>
-			<el-tab-pane label="吊装作业">
-				<hoist-form :workerList = allWorkers></hoist-form>
-			</el-tab-pane>
-			<el-tab-pane label="动土作业">
-				<ground-form :workerList = allWorkers :departList = departmentList></ground-form>
-			</el-tab-pane>
-			<el-tab-pane label="断路作业">
-				<broken-form :workerList = allWorkers :departList = departmentList></broken-form>
-			</el-tab-pane>
-			<el-tab-pane label="高处作业">
-				<height-form :workerList = allWorkers :departList = departmentList></height-form>
-			</el-tab-pane>
-			<el-tab-pane label="临时用电作业">
-				<power-form :workerList = allWorkers></power-form>
-			</el-tab-pane>
-			<el-tab-pane label="盲板抽堵作业">
-				<plate-form :workerList = allWorkers></plate-form>
-			</el-tab-pane>
-		</el-tabs>
-	</div>
-</template>
-
-<script lang="ts">
-	import {toRefs, reactive, defineComponent, ref, defineAsyncComponent, onMounted} from 'vue';
-	import { storeToRefs } from 'pinia';
-	import { initBackEndControlRoutes } from '/@/router/backEnd';
-	import {useUserInfo} from "/@/stores/userInfo";
-	import { Session } from '/@/utils/storage';
-	import { Search } from '@element-plus/icons-vue'
-	import { ElMessage } from 'element-plus'
-	import type { FormInstance, FormRules } from 'element-plus'
-	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
-	import {teamManageApi} from "/@/api/systemManage/basicDateManage/personShiftManage/teamManage";
-
-	interface stateType {
-		allWorkers: Array<any>
-		departmentList: Array<any>
-	}
-	export default defineComponent({
-		name: 'apply',
-		components: {
-			fireForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/apply/components/fire.vue')),
-			spaceForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/apply/components/space.vue')),
-			hoistForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/apply/components/hoist.vue')),
-			groundForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/apply/components/ground.vue')),
-			brokenForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/apply/components/broken.vue')),
-			heightForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/apply/components/height.vue')),
-			powerForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/apply/components/power.vue')),
-			plateForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/apply/components/plate.vue'))
-		},
-		setup() {
-			const userInfo = useUserInfo()
-			const { userInfos } = storeToRefs(userInfo);
-			const state  = reactive<stateType>({
-				allWorkers: [],
-				departmentList: []
-			});
-
-			// 获取用户列表
-			const getAll = async ()=>{
-				const res = await workApplyApi().getAllUsers()
-				if (res.data.code === '200') {
-					state.allWorkers = JSON.parse(JSON.stringify(res.data.data))
-				} else {
-					ElMessage({
-						type: 'warning',
-						message: res.data.msg
-					});
-				}
-			};
-
-			// 获取部门列表
-			const getAllDepartment = async () => {
-				let res = await teamManageApi().getAllDepartment();
-				if (res.data.code === '200') {
-					state.departmentList = JSON.parse(JSON.stringify(res.data.data))
-				} else {
-					ElMessage({
-						type: 'warning',
-						message: res.data.msg
-					});
-				}
-			};
-
-			// 页面载入时执行方法
-			onMounted(() => {
-				getAll();
-				getAllDepartment();
-			});
-
-			return {
-				...toRefs(state),
-			};
-		},
-	});
-</script>
-
-<style scoped lang="scss">
-	.home-container {
-		height: 100%;
-		overflow: hidden;
-		position: relative;
-		.homeCard{
-			width: 100%;
-			padding: 20px;
-			box-sizing: border-box;
-			background: #fff;
-			border-radius: 4px;
-			margin-bottom: 20px;
-		}
-		.applyBtn{
-			width: 100%;
-			background: #fff;
-			height: 80px;
-			z-index: 5;
-			box-shadow: 0 -3px 8px rgba(150,150,150,.1);
-			display: flex;
-			align-items: center;
-			justify-content: center;
-		}
-		.el-row{
-			margin-bottom: 20px;
-		}
-		.el-row:last-child {
-			margin-bottom: 0;
-		}
-		.el-input{
-			width: 100% !important;
-		}
-		.el-date-editor::v-deep{
-			width: 100%;
-		}
-		.el-select{
-			width: 100%;
-		}
-		.el-cascader{
-			width: 100% !important;
-		}
-	}
-</style>
diff --git a/src/views/specialWorkSystem/workTicket/approve/components/brokenLog.vue b/src/views/specialWorkSystem/workTicket/approve/components/brokenLog.vue
deleted file mode 100644
index dcb6adc..0000000
--- a/src/views/specialWorkSystem/workTicket/approve/components/brokenLog.vue
+++ /dev/null
@@ -1,152 +0,0 @@
-<template>
-	<div style="height: 100%">
-		<el-form :model="details" label-width="150px">
-			<el-form-item label="作业申请单号">
-				<el-input v-model="details.workPermitNo" readonly />
-			</el-form-item>
-			<el-form-item label="申请人">
-				<el-input v-model="details.applyUname" readonly />
-			</el-form-item>
-			<el-form-item label="部门名称">
-				<el-input v-model="details.depName" readonly />
-			</el-form-item>
-			<el-form-item label="作业人">
-				<el-input v-model="details.operators" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="作业类型">
-				<el-input v-model="details.workTypeDesc" readonly />
-			</el-form-item>
-			<el-form-item label="作业等级">
-				<el-input v-model="details.workLevelDesc" readonly />
-			</el-form-item>
-			<el-form-item label="作业内容">
-				<el-input v-model="details.workContent" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="作业地址">
-				<el-input v-model="details.workLocation" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="作业单位ID">
-				<el-input v-model="details.workDetail.operationDepId" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="断路原因">
-				<el-input v-model="details.workDetail.bcReason" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="断路地段说明">
-				<el-input v-model="details.workDetail.bcExplain" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="涉及相关部门">
-				<el-input v-model="details.workDetail.involvedDepIds" readonly type="textarea"/>
-			</el-form-item>
-			<el-form-item label="图片">
-				<el-image v-for="item in details.workDetail.bcPath" :preview-src-list="details.workDetail.bcPath" style="width: 150px; height: 150px;margin-right: 50px;margin-bottom: 20px" :src="item" fit="cover" />
-			</el-form-item>
-			<el-form-item label="期望开始时间">
-				<el-input v-model="details.expStartTime" readonly />
-			</el-form-item>
-			<el-form-item label="期望结束时间">
-				<el-input v-model="details.expEndTime" readonly />
-			</el-form-item>
-			<el-form-item label="申请时间">
-				<el-input v-model="details.applyTime" readonly />
-			</el-form-item>
-<!--			<el-form-item label="当前层级">-->
-<!--				<el-input v-model="details.stepId" readonly />-->
-<!--			</el-form-item>-->
-<!--			<el-form-item label="上一层级">-->
-<!--				<el-input v-model="details.preStepId" readonly />-->
-<!--			</el-form-item>-->
-<!--			<el-form-item label="下一层级">-->
-<!--				<el-input v-model="details.nextStepId" readonly />-->
-<!--			</el-form-item>-->
-			<el-form-item label="层级审批类型">
-				<el-input v-model="details.stepTypeDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepSerial && details.stepSerial!=null" label="层级排序号">
-				<el-input v-model="details.stepSerial" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepStartApprovalTime && details.stepStartApprovalTime!=null" label="层级预期开始审批时间">
-				<el-input v-model="details.stepStartApprovalTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepFinishApprovalTime && details.stepFinishApprovalTime!=null" label="层级预期结束审批时间">
-				<el-input v-model="details.stepFinishApprovalTime" readonly />
-			</el-form-item>
-			<el-form-item label="审批人姓名">
-				<el-input v-model="details.unitApprovalUname" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitApprovalStartTime && details.unitApprovalStartTime!=null"  label="单元审批开始时间">
-				<el-input v-model="details.unitApprovalStartTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitApprovalEndTime && details.unitApprovalEndTime!=null" label="单元审批结束时间">
-				<el-input v-model="details.unitApprovalEndTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitResultDesc && details.unitResultDesc!=null" label="单元审批结果">
-				<el-input v-model="details.unitResultDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.statusDesc && details.statusDesc!=null" label="当前状态">
-				<el-input v-model="details.statusDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepApprovalResultDesc && details.stepApprovalResultDesc!=null" label="审批结果">
-				<el-input v-model="details.stepApprovalResultDesc" readonly />
-			</el-form-item>
-		</el-form>
-	</div>
-</template>
-
-<script lang="ts">
-	import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue';
-	import { storeToRefs } from 'pinia';
-	import { initBackEndControlRoutes } from '/@/router/backEnd';
-	import {useUserInfo} from "/@/stores/userInfo";
-	import { Session } from '/@/utils/storage';
-	import { Search } from '@element-plus/icons-vue'
-	import { ElMessage } from 'element-plus'
-	import type { FormInstance, FormRules } from 'element-plus'
-	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
-
-
-	interface stateType {
-		form: Object,
-		workerList: Array<any>,
-		workTypeList: Array<any>,
-		workLevelList: Array<any>,
-		otherWorkList: Array<any>
-	}
-	export default defineComponent({
-		name: 'space',
-		components: {},
-		props:['details'],
-		setup() {
-			const userInfo = useUserInfo()
-			const { userInfos } = storeToRefs(userInfo);
-			return {
-				Search
-			};
-		},
-	});
-</script>
-
-<style scoped lang="scss">
-	.home-container {
-		height: 100%;
-		overflow: hidden;
-		position: relative;
-		.el-row{
-			margin-bottom: 20px;
-		}
-		.el-row:last-child {
-			margin-bottom: 0;
-		}
-		.el-input{
-			width: 100% !important;
-		}
-		.el-date-editor::v-deep{
-			width: 100%;
-		}
-		.el-select{
-			width: 100%;
-		}
-		.el-cascader{
-			width: 100% !important;
-		}
-	}
-</style>
diff --git a/src/views/specialWorkSystem/workTicket/approve/components/fireLog.vue b/src/views/specialWorkSystem/workTicket/approve/components/fireLog.vue
deleted file mode 100644
index ed30241..0000000
--- a/src/views/specialWorkSystem/workTicket/approve/components/fireLog.vue
+++ /dev/null
@@ -1,137 +0,0 @@
-<template>
-	<div style="height: 100%">
-		<el-form :model="details" label-width="150px">
-			<el-form-item label="作业申请单号">
-				<el-input v-model="details.workPermitNo" readonly />
-			</el-form-item>
-			<el-form-item label="申请人">
-				<el-input v-model="details.applyUname" readonly />
-			</el-form-item>
-			<el-form-item label="部门名称">
-				<el-input v-model="details.depName" readonly />
-			</el-form-item>
-			<el-form-item label="作业人">
-				<el-input v-model="details.operators" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="作业类型">
-				<el-input v-model="details.workTypeDesc" readonly />
-			</el-form-item>
-			<el-form-item label="作业等级">
-				<el-input v-model="details.workLevelDesc" readonly />
-			</el-form-item>
-			<el-form-item label="作业内容">
-				<el-input v-model="details.workContent" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="作业地址">
-				<el-input v-model="details.workLocation" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="作业方式">
-				<el-input v-model="details.workDetail.hotMethod" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="关联其他作业">
-				<el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="申请时间">
-				<el-input v-model="details.applyTime" readonly />
-			</el-form-item>
-<!--			<el-form-item label="当前层级">-->
-<!--				<el-input v-model="details.stepId" readonly />-->
-<!--			</el-form-item>-->
-<!--			<el-form-item label="上一层级">-->
-<!--				<el-input v-model="details.preStepId" readonly />-->
-<!--			</el-form-item>-->
-<!--			<el-form-item label="下一层级">-->
-<!--				<el-input v-model="details.nextStepId" readonly />-->
-<!--			</el-form-item>-->
-			<el-form-item label="层级审批类型">
-				<el-input v-model="details.stepTypeDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepSerial && details.stepSerial!=null" label="层级排序号">
-				<el-input v-model="details.stepSerial" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepStartApprovalTime && details.stepStartApprovalTime!=null" label="层级预期开始审批时间">
-				<el-input v-model="details.stepStartApprovalTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepFinishApprovalTime && details.stepFinishApprovalTime!=null" label="层级预期结束审批时间">
-				<el-input v-model="details.stepFinishApprovalTime" readonly />
-			</el-form-item>
-			<el-form-item label="审批人姓名">
-				<el-input v-model="details.unitApprovalUname" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitApprovalStartTime && details.unitApprovalStartTime!=null"  label="单元审批开始时间">
-				<el-input v-model="details.unitApprovalStartTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitApprovalEndTime && details.unitApprovalEndTime!=null" label="单元审批结束时间">
-				<el-input v-model="details.unitApprovalEndTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitResultDesc && details.unitResultDesc!=null" label="单元审批结果">
-				<el-input v-model="details.unitResultDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.statusDesc && details.statusDesc!=null" label="当前状态">
-				<el-input v-model="details.statusDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepApprovalResultDesc && details.stepApprovalResultDesc!=null" label="审批结果">
-				<el-input v-model="details.stepApprovalResultDesc" readonly />
-			</el-form-item>
-		</el-form>
-	</div>
-</template>
-
-<script lang="ts">
-	import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue';
-	import { storeToRefs } from 'pinia';
-	import { initBackEndControlRoutes } from '/@/router/backEnd';
-	import {useUserInfo} from "/@/stores/userInfo";
-	import { Session } from '/@/utils/storage';
-	import { Search } from '@element-plus/icons-vue'
-	import { ElMessage } from 'element-plus'
-	import type { FormInstance, FormRules } from 'element-plus'
-	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
-
-
-	interface stateType {
-		form: Object,
-		workerList: Array<any>,
-		workTypeList: Array<any>,
-		workLevelList: Array<any>,
-		otherWorkList: Array<any>
-	}
-	export default defineComponent({
-		name: 'fire',
-		components: {},
-		props:['details'],
-		setup() {
-			const userInfo = useUserInfo()
-			const { userInfos } = storeToRefs(userInfo);
-			return {
-				Search
-			};
-		},
-	});
-</script>
-
-<style scoped lang="scss">
-	.home-container {
-		height: 100%;
-		overflow: hidden;
-		position: relative;
-		.el-row{
-			margin-bottom: 20px;
-		}
-		.el-row:last-child {
-			margin-bottom: 0;
-		}
-		.el-input{
-			width: 100% !important;
-		}
-		.el-date-editor::v-deep{
-			width: 100%;
-		}
-		.el-select{
-			width: 100%;
-		}
-		.el-cascader{
-			width: 100% !important;
-		}
-	}
-</style>
diff --git a/src/views/specialWorkSystem/workTicket/approve/components/groundLog.vue b/src/views/specialWorkSystem/workTicket/approve/components/groundLog.vue
deleted file mode 100644
index 244330e..0000000
--- a/src/views/specialWorkSystem/workTicket/approve/components/groundLog.vue
+++ /dev/null
@@ -1,152 +0,0 @@
-<template>
-	<div style="height: 100%">
-		<el-form :model="details" label-width="150px">
-			<el-form-item label="作业申请单号">
-				<el-input v-model="details.workPermitNo" readonly />
-			</el-form-item>
-			<el-form-item label="申请人">
-				<el-input v-model="details.applyUname" readonly />
-			</el-form-item>
-			<el-form-item label="部门名称">
-				<el-input v-model="details.depName" readonly />
-			</el-form-item>
-			<el-form-item label="作业人">
-				<el-input v-model="details.operators" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="作业类型">
-				<el-input v-model="details.workTypeDesc" readonly />
-			</el-form-item>
-			<el-form-item label="作业等级">
-				<el-input v-model="details.workLevelDesc" readonly />
-			</el-form-item>
-			<el-form-item label="作业内容">
-				<el-input v-model="details.workContent" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="作业地址">
-				<el-input v-model="details.workLocation" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="作业单位">
-				<el-input v-model="details.workDetail.operationDepId" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="范围">
-				<el-input v-model="details.workDetail.gbScope" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="动土方式">
-				<el-input v-model="details.workDetail.gbMethod" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="关联其他作业">
-				<el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea"/>
-			</el-form-item>
-			<el-form-item label="图片">
-				<el-image v-for="item in details.workDetail.gbPath" :preview-src-list="details.workDetail.gbPath" style="width: 150px; height: 150px;margin-right: 50px;margin-bottom: 20px" :src="item" fit="cover" />
-			</el-form-item>
-			<el-form-item label="期望开始时间">
-				<el-input v-model="details.expStartTime" readonly />
-			</el-form-item>
-			<el-form-item label="期望结束时间">
-				<el-input v-model="details.expEndTime" readonly />
-			</el-form-item>
-			<el-form-item label="申请时间">
-				<el-input v-model="details.applyTime" readonly />
-			</el-form-item>
-<!--			<el-form-item label="当前层级">-->
-<!--				<el-input v-model="details.stepId" readonly />-->
-<!--			</el-form-item>-->
-<!--			<el-form-item label="上一层级">-->
-<!--				<el-input v-model="details.preStepId" readonly />-->
-<!--			</el-form-item>-->
-<!--			<el-form-item label="下一层级">-->
-<!--				<el-input v-model="details.nextStepId" readonly />-->
-<!--			</el-form-item>-->
-			<el-form-item label="层级审批类型">
-				<el-input v-model="details.stepTypeDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepSerial && details.stepSerial!=null" label="层级排序号">
-				<el-input v-model="details.stepSerial" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepStartApprovalTime && details.stepStartApprovalTime!=null" label="层级预期开始审批时间">
-				<el-input v-model="details.stepStartApprovalTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepFinishApprovalTime && details.stepFinishApprovalTime!=null" label="层级预期结束审批时间">
-				<el-input v-model="details.stepFinishApprovalTime" readonly />
-			</el-form-item>
-			<el-form-item label="审批人姓名">
-				<el-input v-model="details.unitApprovalUname" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitApprovalStartTime && details.unitApprovalStartTime!=null"  label="单元审批开始时间">
-				<el-input v-model="details.unitApprovalStartTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitApprovalEndTime && details.unitApprovalEndTime!=null" label="单元审批结束时间">
-				<el-input v-model="details.unitApprovalEndTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitResultDesc && details.unitResultDesc!=null" label="单元审批结果">
-				<el-input v-model="details.unitResultDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.statusDesc && details.statusDesc!=null" label="当前状态">
-				<el-input v-model="details.statusDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepApprovalResultDesc && details.stepApprovalResultDesc!=null" label="审批结果">
-				<el-input v-model="details.stepApprovalResultDesc" readonly />
-			</el-form-item>
-		</el-form>
-	</div>
-</template>
-
-<script lang="ts">
-	import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue';
-	import { storeToRefs } from 'pinia';
-	import { initBackEndControlRoutes } from '/@/router/backEnd';
-	import {useUserInfo} from "/@/stores/userInfo";
-	import { Session } from '/@/utils/storage';
-	import { Search } from '@element-plus/icons-vue'
-	import { ElMessage } from 'element-plus'
-	import type { FormInstance, FormRules } from 'element-plus'
-	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
-
-
-	interface stateType {
-		form: Object,
-		workerList: Array<any>,
-		workTypeList: Array<any>,
-		workLevelList: Array<any>,
-		otherWorkList: Array<any>
-	}
-	export default defineComponent({
-		name: 'space',
-		components: {},
-		props:['details'],
-		setup() {
-			const userInfo = useUserInfo()
-			const { userInfos } = storeToRefs(userInfo);
-			return {
-				Search
-			};
-		},
-	});
-</script>
-
-<style scoped lang="scss">
-	.home-container {
-		height: 100%;
-		overflow: hidden;
-		position: relative;
-		.el-row{
-			margin-bottom: 20px;
-		}
-		.el-row:last-child {
-			margin-bottom: 0;
-		}
-		.el-input{
-			width: 100% !important;
-		}
-		.el-date-editor::v-deep{
-			width: 100%;
-		}
-		.el-select{
-			width: 100%;
-		}
-		.el-cascader{
-			width: 100% !important;
-		}
-	}
-</style>
diff --git a/src/views/specialWorkSystem/workTicket/approve/components/heightLog.vue b/src/views/specialWorkSystem/workTicket/approve/components/heightLog.vue
deleted file mode 100644
index 0fb8a7a..0000000
--- a/src/views/specialWorkSystem/workTicket/approve/components/heightLog.vue
+++ /dev/null
@@ -1,146 +0,0 @@
-<template>
-	<div style="height: 100%">
-		<el-form :model="details" label-width="150px">
-			<el-form-item label="作业申请单号">
-				<el-input v-model="details.workPermitNo" readonly />
-			</el-form-item>
-			<el-form-item label="申请人">
-				<el-input v-model="details.applyUname" readonly />
-			</el-form-item>
-			<el-form-item label="部门名称">
-				<el-input v-model="details.depName" readonly />
-			</el-form-item>
-			<el-form-item label="作业人">
-				<el-input v-model="details.operators" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="作业类型">
-				<el-input v-model="details.workTypeDesc" readonly />
-			</el-form-item>
-			<el-form-item label="作业等级">
-				<el-input v-model="details.workLevelDesc" readonly />
-			</el-form-item>
-			<el-form-item label="作业内容">
-				<el-input v-model="details.workContent" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="作业地址">
-				<el-input v-model="details.workLocation" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="作业单位ID">
-				<el-input v-model="details.workDetail.operationDepId" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="作业高度">
-				<el-input v-model="details.workDetail.operationHeight" readonly type="textarea"><template #append>米(m)</template></el-input>
-			</el-form-item>
-			<el-form-item label="关联其他作业">
-				<el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea"/>
-			</el-form-item>
-			<el-form-item label="期望开始时间">
-				<el-input v-model="details.expStartTime" readonly />
-			</el-form-item>
-			<el-form-item label="期望结束时间">
-				<el-input v-model="details.expEndTime" readonly />
-			</el-form-item>
-			<el-form-item label="申请时间">
-				<el-input v-model="details.applyTime" readonly />
-			</el-form-item>
-<!--			<el-form-item label="当前层级">-->
-<!--				<el-input v-model="details.stepId" readonly />-->
-<!--			</el-form-item>-->
-<!--			<el-form-item label="上一层级">-->
-<!--				<el-input v-model="details.preStepId" readonly />-->
-<!--			</el-form-item>-->
-<!--			<el-form-item label="下一层级">-->
-<!--				<el-input v-model="details.nextStepId" readonly />-->
-<!--			</el-form-item>-->
-			<el-form-item label="层级审批类型">
-				<el-input v-model="details.stepTypeDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepSerial && details.stepSerial!=null" label="层级排序号">
-				<el-input v-model="details.stepSerial" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepStartApprovalTime && details.stepStartApprovalTime!=null" label="层级预期开始审批时间">
-				<el-input v-model="details.stepStartApprovalTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepFinishApprovalTime && details.stepFinishApprovalTime!=null" label="层级预期结束审批时间">
-				<el-input v-model="details.stepFinishApprovalTime" readonly />
-			</el-form-item>
-			<el-form-item label="审批人姓名">
-				<el-input v-model="details.unitApprovalUname" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitApprovalStartTime && details.unitApprovalStartTime!=null"  label="单元审批开始时间">
-				<el-input v-model="details.unitApprovalStartTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitApprovalEndTime && details.unitApprovalEndTime!=null" label="单元审批结束时间">
-				<el-input v-model="details.unitApprovalEndTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitResultDesc && details.unitResultDesc!=null" label="单元审批结果">
-				<el-input v-model="details.unitResultDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.statusDesc && details.statusDesc!=null" label="当前状态">
-				<el-input v-model="details.statusDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepApprovalResultDesc && details.stepApprovalResultDesc!=null" label="审批结果">
-				<el-input v-model="details.stepApprovalResultDesc" readonly />
-			</el-form-item>
-		</el-form>
-	</div>
-</template>
-
-<script lang="ts">
-	import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue';
-	import { storeToRefs } from 'pinia';
-	import { initBackEndControlRoutes } from '/@/router/backEnd';
-	import {useUserInfo} from "/@/stores/userInfo";
-	import { Session } from '/@/utils/storage';
-	import { Search } from '@element-plus/icons-vue'
-	import { ElMessage } from 'element-plus'
-	import type { FormInstance, FormRules } from 'element-plus'
-	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
-
-
-	interface stateType {
-		form: Object,
-		workerList: Array<any>,
-		workTypeList: Array<any>,
-		workLevelList: Array<any>,
-		otherWorkList: Array<any>
-	}
-	export default defineComponent({
-		name: 'space',
-		components: {},
-		props:['details'],
-		setup() {
-			const userInfo = useUserInfo()
-			const { userInfos } = storeToRefs(userInfo);
-			return {
-				Search
-			};
-		},
-	});
-</script>
-
-<style scoped lang="scss">
-	.home-container {
-		height: 100%;
-		overflow: hidden;
-		position: relative;
-		.el-row{
-			margin-bottom: 20px;
-		}
-		.el-row:last-child {
-			margin-bottom: 0;
-		}
-		.el-input{
-			width: 100% !important;
-		}
-		.el-date-editor::v-deep{
-			width: 100%;
-		}
-		.el-select{
-			width: 100%;
-		}
-		.el-cascader{
-			width: 100% !important;
-		}
-	}
-</style>
diff --git a/src/views/specialWorkSystem/workTicket/approve/components/hoistLog.vue b/src/views/specialWorkSystem/workTicket/approve/components/hoistLog.vue
deleted file mode 100644
index 3b4dc2a..0000000
--- a/src/views/specialWorkSystem/workTicket/approve/components/hoistLog.vue
+++ /dev/null
@@ -1,146 +0,0 @@
-<template>
-	<div style="height: 100%">
-		<el-form :model="details" label-width="150px">
-			<el-form-item label="作业申请单号">
-				<el-input v-model="details.workPermitNo" readonly />
-			</el-form-item>
-			<el-form-item label="申请人">
-				<el-input v-model="details.applyUname" readonly />
-			</el-form-item>
-			<el-form-item label="部门名称">
-				<el-input v-model="details.depName" readonly />
-			</el-form-item>
-			<el-form-item label="作业人">
-				<el-input v-model="details.operators" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="作业类型">
-				<el-input v-model="details.workTypeDesc" readonly />
-			</el-form-item>
-			<el-form-item label="作业等级">
-				<el-input v-model="details.workLevelDesc" readonly />
-			</el-form-item>
-			<el-form-item label="作业内容">
-				<el-input v-model="details.workContent" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="作业地址">
-				<el-input v-model="details.workLocation" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="吊装工具名称">
-				<el-input v-model="details.workDetail.hoistingToolName" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="起吊物体重量">
-				<el-input v-model="details.workDetail.weightMass" readonly type="textarea"><template #append>吨(t)</template></el-input>
-			</el-form-item>
-			<el-form-item label="关联其他作业">
-				<el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea"/>
-			</el-form-item>
-			<el-form-item label="期望开始时间">
-				<el-input v-model="details.expStartTime" readonly />
-			</el-form-item>
-			<el-form-item label="期望结束时间">
-				<el-input v-model="details.expEndTime" readonly />
-			</el-form-item>
-			<el-form-item label="申请时间">
-				<el-input v-model="details.applyTime" readonly />
-			</el-form-item>
-<!--			<el-form-item label="当前层级">-->
-<!--				<el-input v-model="details.stepId" readonly />-->
-<!--			</el-form-item>-->
-<!--			<el-form-item label="上一层级">-->
-<!--				<el-input v-model="details.preStepId" readonly />-->
-<!--			</el-form-item>-->
-<!--			<el-form-item label="下一层级">-->
-<!--				<el-input v-model="details.nextStepId" readonly />-->
-<!--			</el-form-item>-->
-			<el-form-item label="层级审批类型">
-				<el-input v-model="details.stepTypeDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepSerial && details.stepSerial!=null" label="层级排序号">
-				<el-input v-model="details.stepSerial" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepStartApprovalTime && details.stepStartApprovalTime!=null" label="层级预期开始审批时间">
-				<el-input v-model="details.stepStartApprovalTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepFinishApprovalTime && details.stepFinishApprovalTime!=null" label="层级预期结束审批时间">
-				<el-input v-model="details.stepFinishApprovalTime" readonly />
-			</el-form-item>
-			<el-form-item label="审批人姓名">
-				<el-input v-model="details.unitApprovalUname" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitApprovalStartTime && details.unitApprovalStartTime!=null"  label="单元审批开始时间">
-				<el-input v-model="details.unitApprovalStartTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitApprovalEndTime && details.unitApprovalEndTime!=null" label="单元审批结束时间">
-				<el-input v-model="details.unitApprovalEndTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitResultDesc && details.unitResultDesc!=null" label="单元审批结果">
-				<el-input v-model="details.unitResultDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.statusDesc && details.statusDesc!=null" label="当前状态">
-				<el-input v-model="details.statusDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepApprovalResultDesc && details.stepApprovalResultDesc!=null" label="审批结果">
-				<el-input v-model="details.stepApprovalResultDesc" readonly />
-			</el-form-item>
-		</el-form>
-	</div>
-</template>
-
-<script lang="ts">
-	import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue';
-	import { storeToRefs } from 'pinia';
-	import { initBackEndControlRoutes } from '/@/router/backEnd';
-	import {useUserInfo} from "/@/stores/userInfo";
-	import { Session } from '/@/utils/storage';
-	import { Search } from '@element-plus/icons-vue'
-	import { ElMessage } from 'element-plus'
-	import type { FormInstance, FormRules } from 'element-plus'
-	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
-
-
-	interface stateType {
-		form: Object,
-		workerList: Array<any>,
-		workTypeList: Array<any>,
-		workLevelList: Array<any>,
-		otherWorkList: Array<any>
-	}
-	export default defineComponent({
-		name: 'space',
-		components: {},
-		props:['details'],
-		setup() {
-			const userInfo = useUserInfo()
-			const { userInfos } = storeToRefs(userInfo);
-			return {
-				Search
-			};
-		},
-	});
-</script>
-
-<style scoped lang="scss">
-	.home-container {
-		height: 100%;
-		overflow: hidden;
-		position: relative;
-		.el-row{
-			margin-bottom: 20px;
-		}
-		.el-row:last-child {
-			margin-bottom: 0;
-		}
-		.el-input{
-			width: 100% !important;
-		}
-		.el-date-editor::v-deep{
-			width: 100%;
-		}
-		.el-select{
-			width: 100%;
-		}
-		.el-cascader{
-			width: 100% !important;
-		}
-	}
-</style>
diff --git a/src/views/specialWorkSystem/workTicket/approve/components/plateLog.vue b/src/views/specialWorkSystem/workTicket/approve/components/plateLog.vue
deleted file mode 100644
index f307fc0..0000000
--- a/src/views/specialWorkSystem/workTicket/approve/components/plateLog.vue
+++ /dev/null
@@ -1,170 +0,0 @@
-<template>
-	<div style="height: 100%">
-		<el-form :model="details" label-width="150px">
-			<el-form-item label="作业申请单号">
-				<el-input v-model="details.workPermitNo" readonly />
-			</el-form-item>
-			<el-form-item label="申请人">
-				<el-input v-model="details.applyUname" readonly />
-			</el-form-item>
-			<el-form-item label="部门名称">
-				<el-input v-model="details.depName" readonly />
-			</el-form-item>
-			<el-form-item label="作业人">
-				<el-input v-model="details.operators" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="作业类型">
-				<el-input v-model="details.workTypeDesc" readonly />
-			</el-form-item>
-			<el-form-item label="作业等级">
-				<el-input v-model="details.workLevelDesc" readonly />
-			</el-form-item>
-			<el-form-item label="作业内容">
-				<el-input v-model="details.workContent" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="作业地址">
-				<el-input v-model="details.workLocation" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="盲板编号">
-				<el-input v-model="details.workDetail.bpCode" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="主要介质">
-				<el-input v-model="details.workDetail.mainMedia" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="温度">
-				<el-input v-model="details.workDetail.temperature" readonly type="textarea"><template #append>摄氏度(℃)</template></el-input>
-			</el-form-item>
-			<el-form-item label="压力">
-				<el-input v-model="details.workDetail.pressure" readonly type="textarea"><template #append>千帕(kPa)</template></el-input>
-			</el-form-item>
-			<el-form-item label="盲板材质">
-				<el-input v-model="details.workDetail.bpMaterialQuality" readonly type="textarea"/>
-			</el-form-item>
-			<el-form-item label="盲板规格">
-				<el-input v-model="details.workDetail.bpSpecification" readonly type="textarea"/>
-			</el-form-item>
-			<el-form-item label="盲板位置">
-				<el-input v-model="details.workDetail.bpLocation" readonly type="textarea"/>
-			</el-form-item>
-			<el-form-item label="装盲板时间">
-				<el-input v-model="details.workDetail.installBpTime" readonly/>
-			</el-form-item>
-			<el-form-item label="拆盲板时间">
-				<el-input v-model="details.workDetail.uninstallBpTime" readonly/>
-			</el-form-item>
-			<el-form-item label="关联其他作业">
-				<el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea"/>
-			</el-form-item>
-			<el-form-item label="盲板位置图">
-				<el-image v-for="item in details.workDetail.bpLocationMapPath" :preview-src-list="details.workDetail.bpLocationMapPath" style="width: 150px; height: 150px;margin-right: 50px;margin-bottom: 20px" :src="item" fit="cover" />
-			</el-form-item>
-			<el-form-item label="期望开始时间">
-				<el-input v-model="details.expStartTime" readonly />
-			</el-form-item>
-			<el-form-item label="期望结束时间">
-				<el-input v-model="details.expEndTime" readonly />
-			</el-form-item>
-			<el-form-item label="申请时间">
-				<el-input v-model="details.applyTime" readonly />
-			</el-form-item>
-<!--			<el-form-item label="当前层级">-->
-<!--				<el-input v-model="details.stepId" readonly />-->
-<!--			</el-form-item>-->
-<!--			<el-form-item label="上一层级">-->
-<!--				<el-input v-model="details.preStepId" readonly />-->
-<!--			</el-form-item>-->
-<!--			<el-form-item label="下一层级">-->
-<!--				<el-input v-model="details.nextStepId" readonly />-->
-<!--			</el-form-item>-->
-			<el-form-item label="层级审批类型">
-				<el-input v-model="details.stepTypeDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepSerial && details.stepSerial!=null" label="层级排序号">
-				<el-input v-model="details.stepSerial" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepStartApprovalTime && details.stepStartApprovalTime!=null" label="层级预期开始审批时间">
-				<el-input v-model="details.stepStartApprovalTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepFinishApprovalTime && details.stepFinishApprovalTime!=null" label="层级预期结束审批时间">
-				<el-input v-model="details.stepFinishApprovalTime" readonly />
-			</el-form-item>
-			<el-form-item label="审批人姓名">
-				<el-input v-model="details.unitApprovalUname" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitApprovalStartTime && details.unitApprovalStartTime!=null"  label="单元审批开始时间">
-				<el-input v-model="details.unitApprovalStartTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitApprovalEndTime && details.unitApprovalEndTime!=null" label="单元审批结束时间">
-				<el-input v-model="details.unitApprovalEndTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitResultDesc && details.unitResultDesc!=null" label="单元审批结果">
-				<el-input v-model="details.unitResultDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.statusDesc && details.statusDesc!=null" label="当前状态">
-				<el-input v-model="details.statusDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepApprovalResultDesc && details.stepApprovalResultDesc!=null" label="审批结果">
-				<el-input v-model="details.stepApprovalResultDesc" readonly />
-			</el-form-item>
-		</el-form>
-	</div>
-</template>
-
-<script lang="ts">
-	import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue';
-	import { storeToRefs } from 'pinia';
-	import { initBackEndControlRoutes } from '/@/router/backEnd';
-	import {useUserInfo} from "/@/stores/userInfo";
-	import { Session } from '/@/utils/storage';
-	import { Search } from '@element-plus/icons-vue'
-	import { ElMessage } from 'element-plus'
-	import type { FormInstance, FormRules } from 'element-plus'
-	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
-
-
-	interface stateType {
-		form: Object,
-		workerList: Array<any>,
-		workTypeList: Array<any>,
-		workLevelList: Array<any>,
-		otherWorkList: Array<any>
-	}
-	export default defineComponent({
-		name: 'space',
-		components: {},
-		props:['details'],
-		setup() {
-			const userInfo = useUserInfo()
-			const { userInfos } = storeToRefs(userInfo);
-			return {
-				Search
-			};
-		},
-	});
-</script>
-
-<style scoped lang="scss">
-	.home-container {
-		height: 100%;
-		overflow: hidden;
-		position: relative;
-		.el-row{
-			margin-bottom: 20px;
-		}
-		.el-row:last-child {
-			margin-bottom: 0;
-		}
-		.el-input{
-			width: 100% !important;
-		}
-		.el-date-editor::v-deep{
-			width: 100%;
-		}
-		.el-select{
-			width: 100%;
-		}
-		.el-cascader{
-			width: 100% !important;
-		}
-	}
-</style>
diff --git a/src/views/specialWorkSystem/workTicket/approve/components/powerLog.vue b/src/views/specialWorkSystem/workTicket/approve/components/powerLog.vue
deleted file mode 100644
index f3c893c..0000000
--- a/src/views/specialWorkSystem/workTicket/approve/components/powerLog.vue
+++ /dev/null
@@ -1,149 +0,0 @@
-<template>
-	<div style="height: 100%">
-		<el-form :model="details" label-width="150px">
-			<el-form-item label="作业申请单号">
-				<el-input v-model="details.workPermitNo" readonly />
-			</el-form-item>
-			<el-form-item label="申请人">
-				<el-input v-model="details.applyUname" readonly />
-			</el-form-item>
-			<el-form-item label="部门名称">
-				<el-input v-model="details.depName" readonly />
-			</el-form-item>
-			<el-form-item label="作业人">
-				<el-input v-model="details.operators" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="作业类型">
-				<el-input v-model="details.workTypeDesc" readonly />
-			</el-form-item>
-			<el-form-item label="作业等级">
-				<el-input v-model="details.workLevelDesc" readonly />
-			</el-form-item>
-			<el-form-item label="作业内容">
-				<el-input v-model="details.workContent" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="作业地址">
-				<el-input v-model="details.workLocation" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="电源接入点">
-				<el-input v-model="details.workDetail.powerAccessPoint" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="工作电压">
-				<el-input v-model="details.workDetail.workingVoltage" readonly type="textarea"><template #append>伏特(v)</template></el-input>
-			</el-form-item>
-			<el-form-item label="用电设备及功率">
-				<el-input v-model="details.workDetail.equipmentAndPower" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="关联其他作业">
-				<el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea"/>
-			</el-form-item>
-			<el-form-item label="期望开始时间">
-				<el-input v-model="details.expStartTime" readonly />
-			</el-form-item>
-			<el-form-item label="期望结束时间">
-				<el-input v-model="details.expEndTime" readonly />
-			</el-form-item>
-			<el-form-item label="申请时间">
-				<el-input v-model="details.applyTime" readonly />
-			</el-form-item>
-<!--			<el-form-item label="当前层级">-->
-<!--				<el-input v-model="details.stepId" readonly />-->
-<!--			</el-form-item>-->
-<!--			<el-form-item label="上一层级">-->
-<!--				<el-input v-model="details.preStepId" readonly />-->
-<!--			</el-form-item>-->
-<!--			<el-form-item label="下一层级">-->
-<!--				<el-input v-model="details.nextStepId" readonly />-->
-<!--			</el-form-item>-->
-			<el-form-item label="层级审批类型">
-				<el-input v-model="details.stepTypeDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepSerial && details.stepSerial!=null" label="层级排序号">
-				<el-input v-model="details.stepSerial" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepStartApprovalTime && details.stepStartApprovalTime!=null" label="层级预期开始审批时间">
-				<el-input v-model="details.stepStartApprovalTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepFinishApprovalTime && details.stepFinishApprovalTime!=null" label="层级预期结束审批时间">
-				<el-input v-model="details.stepFinishApprovalTime" readonly />
-			</el-form-item>
-			<el-form-item label="审批人姓名">
-				<el-input v-model="details.unitApprovalUname" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitApprovalStartTime && details.unitApprovalStartTime!=null"  label="单元审批开始时间">
-				<el-input v-model="details.unitApprovalStartTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitApprovalEndTime && details.unitApprovalEndTime!=null" label="单元审批结束时间">
-				<el-input v-model="details.unitApprovalEndTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitResultDesc && details.unitResultDesc!=null" label="单元审批结果">
-				<el-input v-model="details.unitResultDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.statusDesc && details.statusDesc!=null" label="当前状态">
-				<el-input v-model="details.statusDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepApprovalResultDesc && details.stepApprovalResultDesc!=null" label="审批结果">
-				<el-input v-model="details.stepApprovalResultDesc" readonly />
-			</el-form-item>
-		</el-form>
-	</div>
-</template>
-
-<script lang="ts">
-	import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue';
-	import { storeToRefs } from 'pinia';
-	import { initBackEndControlRoutes } from '/@/router/backEnd';
-	import {useUserInfo} from "/@/stores/userInfo";
-	import { Session } from '/@/utils/storage';
-	import { Search } from '@element-plus/icons-vue'
-	import { ElMessage } from 'element-plus'
-	import type { FormInstance, FormRules } from 'element-plus'
-	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
-
-
-	interface stateType {
-		form: Object,
-		workerList: Array<any>,
-		workTypeList: Array<any>,
-		workLevelList: Array<any>,
-		otherWorkList: Array<any>
-	}
-	export default defineComponent({
-		name: 'space',
-		components: {},
-		props:['details'],
-		setup() {
-			const userInfo = useUserInfo()
-			const { userInfos } = storeToRefs(userInfo);
-			return {
-				Search
-			};
-		},
-	});
-</script>
-
-<style scoped lang="scss">
-	.home-container {
-		height: 100%;
-		overflow: hidden;
-		position: relative;
-		.el-row{
-			margin-bottom: 20px;
-		}
-		.el-row:last-child {
-			margin-bottom: 0;
-		}
-		.el-input{
-			width: 100% !important;
-		}
-		.el-date-editor::v-deep{
-			width: 100%;
-		}
-		.el-select{
-			width: 100%;
-		}
-		.el-cascader{
-			width: 100% !important;
-		}
-	}
-</style>
diff --git a/src/views/specialWorkSystem/workTicket/approve/components/spaceLog.vue b/src/views/specialWorkSystem/workTicket/approve/components/spaceLog.vue
deleted file mode 100644
index d9feabc..0000000
--- a/src/views/specialWorkSystem/workTicket/approve/components/spaceLog.vue
+++ /dev/null
@@ -1,149 +0,0 @@
-<template>
-	<div style="height: 100%">
-		<el-form :model="details" label-width="150px">
-			<el-form-item label="作业申请单号">
-				<el-input v-model="details.workPermitNo" readonly />
-			</el-form-item>
-			<el-form-item label="申请人">
-				<el-input v-model="details.applyUname" readonly />
-			</el-form-item>
-			<el-form-item label="部门名称">
-				<el-input v-model="details.depName" readonly />
-			</el-form-item>
-			<el-form-item label="作业人">
-				<el-input v-model="details.operators" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="作业类型">
-				<el-input v-model="details.workTypeDesc" readonly />
-			</el-form-item>
-			<el-form-item label="作业等级">
-				<el-input v-model="details.workLevelDesc" readonly />
-			</el-form-item>
-			<el-form-item label="作业内容">
-				<el-input v-model="details.workContent" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="作业地址">
-				<el-input v-model="details.workLocation" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="受限空间所属单位">
-				<el-input v-model="details.workDetail.csDepId" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="受限空间名称">
-				<el-input v-model="details.workDetail.csName" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="空间原有介质名称">
-				<el-input v-model="details.workDetail.csOriginalName" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="关联其他作业">
-				<el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea" />
-			</el-form-item>
-			<el-form-item label="期望开始时间">
-				<el-input v-model="details.expStartTime" readonly />
-			</el-form-item>
-			<el-form-item label="期望结束时间">
-				<el-input v-model="details.expEndTime" readonly />
-			</el-form-item>
-			<el-form-item label="申请时间">
-				<el-input v-model="details.applyTime" readonly />
-			</el-form-item>
-<!--			<el-form-item label="当前层级">-->
-<!--				<el-input v-model="details.stepId" readonly />-->
-<!--			</el-form-item>-->
-<!--			<el-form-item label="上一层级">-->
-<!--				<el-input v-model="details.preStepId" readonly />-->
-<!--			</el-form-item>-->
-<!--			<el-form-item label="下一层级">-->
-<!--				<el-input v-model="details.nextStepId" readonly />-->
-<!--			</el-form-item>-->
-			<el-form-item label="层级审批类型">
-				<el-input v-model="details.stepTypeDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepSerial && details.stepSerial!=null" label="层级排序号">
-				<el-input v-model="details.stepSerial" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepStartApprovalTime && details.stepStartApprovalTime!=null" label="层级预期开始审批时间">
-				<el-input v-model="details.stepStartApprovalTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepFinishApprovalTime && details.stepFinishApprovalTime!=null" label="层级预期结束审批时间">
-				<el-input v-model="details.stepFinishApprovalTime" readonly />
-			</el-form-item>
-			<el-form-item label="审批人姓名">
-				<el-input v-model="details.unitApprovalUname" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitApprovalStartTime && details.unitApprovalStartTime!=null"  label="单元审批开始时间">
-				<el-input v-model="details.unitApprovalStartTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitApprovalEndTime && details.unitApprovalEndTime!=null" label="单元审批结束时间">
-				<el-input v-model="details.unitApprovalEndTime" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.unitResultDesc && details.unitResultDesc!=null" label="单元审批结果">
-				<el-input v-model="details.unitResultDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.statusDesc && details.statusDesc!=null" label="当前状态">
-				<el-input v-model="details.statusDesc" readonly />
-			</el-form-item>
-			<el-form-item v-if="details.stepApprovalResultDesc && details.stepApprovalResultDesc!=null" label="审批结果">
-				<el-input v-model="details.stepApprovalResultDesc" readonly />
-			</el-form-item>
-		</el-form>
-	</div>
-</template>
-
-<script lang="ts">
-	import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue';
-	import { storeToRefs } from 'pinia';
-	import { initBackEndControlRoutes } from '/@/router/backEnd';
-	import {useUserInfo} from "/@/stores/userInfo";
-	import { Session } from '/@/utils/storage';
-	import { Search } from '@element-plus/icons-vue'
-	import { ElMessage } from 'element-plus'
-	import type { FormInstance, FormRules } from 'element-plus'
-	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
-
-
-	interface stateType {
-		form: Object,
-		workerList: Array<any>,
-		workTypeList: Array<any>,
-		workLevelList: Array<any>,
-		otherWorkList: Array<any>
-	}
-	export default defineComponent({
-		name: 'space',
-		components: {},
-		props:['details'],
-		setup() {
-			const userInfo = useUserInfo()
-			const { userInfos } = storeToRefs(userInfo);
-			return {
-				Search
-			};
-		},
-	});
-</script>
-
-<style scoped lang="scss">
-	.home-container {
-		height: 100%;
-		overflow: hidden;
-		position: relative;
-		.el-row{
-			margin-bottom: 20px;
-		}
-		.el-row:last-child {
-			margin-bottom: 0;
-		}
-		.el-input{
-			width: 100% !important;
-		}
-		.el-date-editor::v-deep{
-			width: 100%;
-		}
-		.el-select{
-			width: 100%;
-		}
-		.el-cascader{
-			width: 100% !important;
-		}
-	}
-</style>
diff --git a/src/views/specialWorkSystem/workTicket/approve/index.vue b/src/views/specialWorkSystem/workTicket/approve/index.vue
deleted file mode 100644
index 13eec8e..0000000
--- a/src/views/specialWorkSystem/workTicket/approve/index.vue
+++ /dev/null
@@ -1,815 +0,0 @@
-<template>
-    <div class="home-container">
-<!--        <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">-->
-<!--            <el-tab-pane label="申请中" name="1">-->
-                <div style="height: 100%">
-                    <el-row class="homeCard">
-                        <span>作业类型:</span>
-                        <el-col :span="10">
-                            <div class="grid-content topInfo">
-                                <el-select v-model="searchWord">
-                                    <el-option
-                                            v-for="item in workType"
-                                            :key="item.id"
-                                            :label="item.name"
-                                            :value="item.id"
-                                    />
-                                </el-select>
-                                <el-button type="primary" @click="searchRecord">查询</el-button>
-                                <el-button plain @click="clearSearch">重置</el-button>
-                            </div>
-                        </el-col>
-                    </el-row>
-                    <div class="homeCard">
-                        <div class="main-card">
-                            <el-row class="cardTop">
-                                <el-col :span="12" class="mainCardBtn">
-                                    <el-button type="primary" :icon="Plus" size="default" @click="toApply()">申请</el-button>
-                                    <!--									<el-button type="danger" :icon="Delete" size="default">删除</el-button>-->
-                                    <!--									<el-button type="success" size="default">设置分类</el-button>-->
-                                </el-col>
-                                <el-button type="primary" :icon="Refresh" size="default" @click="reLoadData()" />
-                            </el-row>
-                            <el-table ref="multipleTableRef" :data="applyData" style="width: 100%" height="calc(100% - 100px)" :header-cell-style="{ background: '#fafafa' }">
-                                <el-table-column property="applyUname" label="申请人" />
-                                <el-table-column property="depName" label="部门名称" />
-                                <el-table-column property="operators" label="作业人" />
-                                <el-table-column property="workTypeDesc" label="作业类型" />
-                                <el-table-column property="workLevelDesc" label="作业等级" />
-                                <el-table-column property="applyTime" label="申请时间" width="180" />
-                                <el-table-column label="审批状态" align="center" width="180">
-                                    <template #default="scope">
-                                        <el-tag :type="scope.row.status==2?'success':(scope.row.status==8||scope.row.status==9)?'warning':'danger'">{{ scope.row.statusDesc }}</el-tag>
-                                    </template>
-                                </el-table-column>
-                                <el-table-column fixed="right" label="操作" align="center" width="250">
-                                    <template #default="scope">
-                                        <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
-                                        <el-button link type="success" size="small" :icon="Finished" @click="viewStatus(scope.row)">进度</el-button>
-<!--                                        <el-button link type="warning" size="small" :icon="Delete" @click="deleteRecordBtn(scope.row)">终止</el-button>-->
-                                    </template>
-                                </el-table-column>
-                            </el-table>
-                            <div class="pageBtn">
-                                <el-pagination v-model:currentPage="pageIndex1" v-model:page-size="pageSize1" :page-sizes="[10, 15]" small="false" background layout="total, sizes, prev, pager, next, jumper" :total="totalSize1" @size-change="handleSizeChange1" @current-change="handleCurrentChange1" />
-                            </div>
-                        </div>
-                    </div>
-                </div>
-                <el-dialog v-model="dialogDetails" title="作业审批详情" center>
-                    <fire v-if="dialogType == 1" :details = details></fire>
-                    <space v-else-if="dialogType == 2" :details = details></space>
-                    <hoist v-else-if="dialogType == 3" :details = details></hoist>
-                    <ground v-else-if="dialogType == 4" :details = details></ground>
-                    <broken v-else-if="dialogType == 5" :details = details></broken>
-                    <height v-else-if="dialogType == 6" :details = details></height>
-                    <power v-else-if="dialogType == 7" :details = details></power>
-                    <plate v-else :details = details></plate>
-                    <template #footer>
-                      <span class="dialog-footer">
-                        <el-button type="primary" @click="dialogDetails = false"
-                        >确认</el-button
-                        >
-                      </span>
-                    </template>
-                </el-dialog>
-                <el-dialog v-model="dialogStatus" title="作业审批进度" center width="60%">
-                    <el-form v-if="approveInfo.operators.length > 0" style="margin-bottom: 40px">
-                        <el-form-item label="申请作业人">
-                            <el-input v-model="approveInfo.operators" readonly type="textarea" />
-                        </el-form-item>
-                    </el-form>
-                    <div style="display: flex; flex-direction: column-reverse">
-                        <div v-for="(item, index) in approveInfo.approvalSteps" class="stepItem">
-                            <div class="stepNum">{{ item.stepSerial }}</div>
-                            <div class="stepCard">
-                                <el-card class="box-card" shadow="always">
-                                    <div class="text">
-                                        审批结果:<span class="bold-text">{{ item.approvalResultDesc }}</span>
-                                    </div>
-                                    <div class="text">
-                                        审批层级:<span class="bold-text">{{ item.typeDesc }}</span>
-                                    </div>
-                                    <div class="text" v-if="item.auditTypeDesc">
-                                        审批类型:<span class="bold-text">{{ item.auditTypeDesc }}</span>
-                                    </div>
-                                    <div class="text" v-show="item.startApprovalTime != null">
-                                        开始时间:<span>{{ item.startApprovalTime }}</span>
-                                    </div>
-                                    <div class="approveUnit">
-                                        <div class="item-tit"><span>审批人</span><span>审批状态</span></div>
-                                        <div class="item-cont" v-for="i in item.stepUnits">
-                                            <span>{{ i.approvalUname }}</span
-                                            ><span>{{ i.resultDesc }}</span>
-                                        </div>
-                                    </div>
-                                    <div class="approveItem">
-                                        <div class="item-tit">
-                                            <span>审批项目</span>
-<!--                                            <span>类型</span>-->
-                                            <div>措施标准</div>
-                                        </div>
-                                        <div class="item-cont" v-for="i in item.stepItems">
-                                            <span>{{ i.itemName }}</span>
-<!--                                            <span>{{ i.typeDesc }}</span>-->
-                                            <div v-if="i.measure !== null">
-                                                <div>
-                                                    <span>作业类型:</span><span>{{ i.measure.workTypeDesc }}</span>
-                                                </div>
-                                                <div>
-                                                    <span>措施内容:</span><span>{{ i.measure.context }}</span>
-                                                </div>
-                                            </div>
-                                            <div v-if="i.stand !== null">
-                                                <div>
-                                                    <span>标题名称:</span><span>{{ i.stand.title }}</span>
-                                                </div>
-                                                <div>
-                                                    <span>标准内容:</span><span>{{ i.stand.typeDesc }}</span>
-                                                </div>
-                                            </div>
-                                        </div>
-                                    </div>
-                                    <div class="text" v-show="item.expFinishApprovalTime != null">
-                                        期望结束时间:<span>{{ item.expFinishApprovalTime }}</span>
-                                    </div>
-                                    <div class="text" v-show="item.finishApprovalTime != null">
-                                        结束时间:<span>{{ item.finishApprovalTime }}</span>
-                                    </div>
-                                </el-card>
-                            </div>
-                        </div>
-                    </div>
-                </el-dialog>
-                <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear">
-                    <span>您确定要终止该条审批吗?</span>
-                    <template #footer>
-                        <span class="dialog-footer">
-                            <el-button @click="deleteDialog = false" size="default">取消</el-button>
-                            <el-button type="primary" @click="conFirmDelete" size="default">确认</el-button>
-                        </span>
-                    </template>
-                </el-dialog>
-<!--            </el-tab-pane>-->
-<!--            <el-tab-pane label="已通过" name="2">-->
-<!--                <div style="height: 100%">-->
-<!--                    <el-row class="homeCard">-->
-<!--                        <el-col :span="8">-->
-<!--                            <div class="grid-content topInfo">-->
-<!--                                <el-input v-model="searchWord" placeholder="作业证名称"></el-input>-->
-<!--                                <el-button type="primary">查询</el-button>-->
-<!--                                <el-button plain>重置</el-button>-->
-<!--                            </div>-->
-<!--                        </el-col>-->
-<!--                    </el-row>-->
-<!--                    <div class="homeCard">-->
-<!--                        <div class="main-card">-->
-<!--                            <el-table ref="multipleTableRef" :data="passedData" style="width: 100%" height="calc(100% - 48px)" :header-cell-style="{ background: '#fafafa' }" @selection-change="handleSelectionChange">-->
-<!--                                <el-table-column type="selection" width="55" />-->
-<!--                                <el-table-column type="index" label="编号" width="200" />-->
-<!--                                <el-table-column property="level" label="作业证等级" width="180" sortable />-->
-<!--                                <el-table-column property="applyDate" label="申请日期" sortable />-->
-<!--                                <el-table-column property="name" label="申请人" width="180" />-->
-<!--                                <el-table-column property="department" label="申请部门" width="180" />-->
-<!--                                <el-table-column label="申请状态" width="180">-->
-<!--                                    <template #default="scope">-->
-<!--                                        <el-tag type="success">{{ scope.row.status }}</el-tag>-->
-<!--                                    </template>-->
-<!--                                </el-table-column>-->
-<!--                            </el-table>-->
-<!--                            <div class="pageBtn">-->
-<!--                                <el-pagination v-model:currentPage="pageIndex2" v-model:page-size="pageSize2" :page-sizes="[10, 15]" small="false" background layout="total, sizes, prev, pager, next, jumper" :total="totalSize2" @size-change="handleSizeChange2" @current-change="handleCurrentChange2" />-->
-<!--                            </div>-->
-<!--                        </div>-->
-<!--                    </div>-->
-<!--                </div>-->
-<!--            </el-tab-pane>-->
-<!--        </el-tabs>-->
-    </div>
-</template>
-
-<script lang="ts">
-import {toRefs, reactive, defineComponent, ref, onMounted, defineAsyncComponent} from 'vue';
-import { storeToRefs } from 'pinia';
-import { initBackEndControlRoutes } from '/@/router/backEnd';
-import { useUserInfo } from '/@/stores/userInfo';
-import { Session } from '/@/utils/storage';
-import { useRouter } from 'vue-router';
-import { Edit, View, Plus, Delete, Refresh, Search, Finished } from '@element-plus/icons-vue';
-import { ElTable } from 'element-plus';
-import { FormInstance, FormRules, ElMessage } from 'element-plus';
-import { workApprovalApi } from '/@/api/specialWorkSystem/workApproval';
-import type { TabsPaneContext } from 'element-plus';
-import {teamManageApi} from "/@/api/systemManage/basicDateManage/personShiftManage/teamManage";
-
-// 定义接口来定义对象的类型
-interface stateType {
-    applyData: Array<string>;
-    workTimeList: Array<string>;
-    multipleSelection: Array<any>;
-    deleteArr: Array<any>;
-    approveInfo: Object;
-    dialogDetails: boolean;
-    dialogStatus: boolean;
-    deleteDialog: boolean;
-    pageIndex1: number;
-    pageSize1: number;
-    chosenIndex: null | number;
-    deleteId: null | number;
-    searchWord: string;
-    totalSize1: number;
-    activeName: string;
-    addRecord: {};
-    details: {};
-    statusInfo: {};
-    workType: Array<type>;
-    dialogType: number | null;
-    departmentList: Array<any>;
-    departmentRecursionList: Array<DepartmentState>;
-}
-interface type {
-    id: number;
-    name: string;
-}
-interface DepartmentState {
-    depId: number;
-    depName: string;
-}
-export default defineComponent({
-    name: 'myApproval',
-    components: {
-        fire: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/fireLog.vue')),
-        space: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/spaceLog.vue')),
-        hoist: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/hoistLog.vue')),
-        ground: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/groundLog.vue')),
-        broken: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/brokenLog.vue')),
-        height: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/heightLog.vue')),
-        power: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/powerLog.vue')),
-        plate: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/plateLog.vue'))
-    },
-    setup() {
-        const userInfo = useUserInfo();
-        const { userInfos } = storeToRefs(userInfo);
-        const router = useRouter();
-        const state = reactive<stateType>({
-            pageIndex1: 1,
-            pageSize1: 10,
-            totalSize1: 0,
-            dialogType: null,
-            activeName: '1',
-            departmentList: [],
-            departmentRecursionList: [],
-            chosenIndex: null,
-            searchWord: '',
-            applyData: [],
-            workTimeList: [],
-            multipleSelection: [],
-            approveInfo: {
-                approvalSteps: [],
-                operators: []
-            },
-            dialogDetails: false,
-            dialogStatus: false,
-            deleteDialog: false,
-            addRecord: {},
-            details: {},
-            statusInfo: {},
-            deleteId: null,
-            deleteArr: [],
-            workType: [
-                { id: 1, name: '动火作业' },
-                { id: 2, name: '受限空间作业' },
-                { id: 3, name: '吊装作业' },
-                { id: 4, name: '动土作业' },
-                { id: 5, name: '断路作业' },
-                { id: 6, name: '高处作业' },
-                { id: 7, name: '临时用电作业' },
-                { id: 8, name: '盲板抽堵作业' }
-            ]
-        });
-        interface User {
-            name: string;
-            list: [];
-            info: string;
-        }
-
-        // 刷新
-        const reLoadData = async () => {
-            getListByPage();
-        };
-
-        // 填写表单
-        const toApply = () => {
-            router.push({
-                path: 'apply'
-            });
-        };
-
-        const handleClick = (tab: TabsPaneContext, event: Event) => {
-            console.log(tab, event);
-        };
-
-        // 获取部门列表
-        const getAllDepartment = async () => {
-            let res = await teamManageApi().getAllDepartment();
-            if (res.data.code === '200') {
-                state.departmentList = JSON.parse(JSON.stringify(res.data.data))
-                recursion(state.departmentList);
-            } else {
-                ElMessage({
-                    type: 'warning',
-                    message: res.data.msg
-                });
-            }
-        };
-
-        // 获取层级审批数据
-        // const getApprovalData = async (id) => {
-        //     let res = await workApprovalApi().getApprovalData({workApplyId: id});
-        //     if (res.data.code === '200') {
-        //         console.log(res.data.data,'层级数据')
-        //         // state.departmentList = JSON.parse(JSON.stringify(res.data.data))
-        //         // recursion(state.departmentList);
-        //     } else {
-        //         ElMessage({
-        //             type: 'warning',
-        //             message: res.data.msg
-        //         });
-        //     }
-        // };
-
-        const recursion = (value: any) => {
-            for (let i of value) {
-                if (i.children.length !== 0) {
-                    state.departmentRecursionList.push(i);
-                    recursion(i.children);
-                } else {
-                    state.departmentRecursionList.push(i);
-                }
-            }
-        };
-
-        // 分页获取工作时间组列表
-        const getListByPage = async () => {
-            const data = { pageSize: state.pageSize1, pageIndex: state.pageIndex1, searchParams: { workType: state.searchWord } };
-            let res = await workApprovalApi().getApprovalListPage(data);
-            if (res.data.code === '200') {
-                state.applyData = JSON.parse(JSON.stringify(res.data.data));
-                state.applyData = state.applyData.map((item) => {
-                    if (item.operators == null || item.operators == []) {
-                        item.operators = [];
-                    } else {
-                        item.operators = Array.from(item.operators, ({ operatorUname }) => operatorUname);
-                    }
-                    return item;
-                });
-                state.totalSize1 = res.data.total;
-            } else {
-                ElMessage({
-                    type: 'warning',
-                    message: res.data.msg
-                });
-            }
-        };
-
-        // 关键词查询记录
-        const searchRecord = async () => {
-            if (state.searchWord == '') {
-                ElMessage({
-                    type: 'warning',
-                    message: '请输入查询关键词'
-                });
-            } else {
-                getListByPage();
-            }
-        };
-        // 重置搜索
-        const clearSearch = async () => {
-            state.searchWord = '';
-            getListByPage();
-        };
-
-        // 查看进度
-        const viewStatus = (row) => {
-            getStatus({ workApplyId: row.workApplyId });
-            state.dialogStatus = true;
-        };
-
-        // 查询进度方法
-        const getStatus = async (data: any) => {
-            let res = await workApprovalApi().getApprovalStatus(data);
-            if (res.data.code === '200') {
-                state.approveInfo = JSON.parse(JSON.stringify(res.data.data));
-                state.approveInfo.operators = Array.from(state.approveInfo.operators, ({ operatorUname }) => operatorUname);
-                console.log(state.approveInfo, '我的审批');
-            } else {
-                ElMessage({
-                    type: 'warning',
-                    message: res.data.msg
-                });
-            }
-        };
-
-        const deleteRecordBtn = (row) => {
-            state.deleteId = row.workApplyId;
-            state.deleteDialog = true;
-        };
-
-        // 取消申请方法
-        const deleteRecord = async (data: any) => {
-            let res = await workApprovalApi().postAbord(data);
-            if (res.data.code === '200') {
-                ElMessage({
-                    type: 'success',
-                    message: '取消成功!'
-                });
-                getListByPage();
-            } else {
-                ElMessage({
-                    type: 'warning',
-                    message: res.data.msg
-                });
-            }
-        };
-
-        const conFirmDelete = () => {
-            deleteRecord({ workApplyId: state.deleteId });
-            state.deleteDialog = false;
-        };
-
-        const handleSizeChange1 = (val: number) => {
-            state.pageSize1 = val;
-            getListByPage();
-        };
-        const handleCurrentChange1 = (val: number) => {
-            state.pageIndex1 = val;
-            getListByPage();
-        };
-
-        // 查看记录
-        const viewRecord = (row: any) => {
-            state.dialogType = row.workType
-            state.details = JSON.parse(JSON.stringify(row));
-            console.log(state.details,'details')
-            // getApprovalData(state.details.workApplyId)
-            if(state.details.workDetail.otherSpecialWork == '' || !state.details.workDetail.otherSpecialWork){
-                state.details.workDetail.otherSpecialWork=[]
-            }
-            else {
-                console.log(state.details.workDetail.otherSpecialWork,'split')
-                const a = state.details.workDetail.otherSpecialWork
-                state.details.workDetail.otherSpecialWork = a.split(',').map((item) => {
-                    return state.workType.find((i: { id: number }) => i.id === Number(item))?.name;
-                });
-            }
-            if(state.details.workDetail.involvedDepIds == '' || !state.details.workDetail.involvedDepIds){
-                state.details.workDetail.involvedDepIds=[]
-            }
-            else {
-                const a = state.details.workDetail.involvedDepIds
-                state.details.workDetail.involvedDepIds = a.split(',').map((item) => {
-                    return state.departmentRecursionList.find((i: { depId: number }) => i.depId === Number(item))?.depName;
-                });
-            }
-            if(state.details.workDetail.csDepId){
-                state.details.workDetail.csDepId = state.departmentRecursionList.find((i: { depId: number }) => i.depId === Number(state.details.workDetail.csDepId))?.depName;
-            }
-            if(state.details.workDetail.operationDepId){
-                state.details.workDetail.operationDepId = state.departmentRecursionList.find((i: { depId: number }) => i.depId === Number(state.details.workDetail.operationDepId))?.depName;
-            }
-            if(state.details.workDetail.gbPath){
-                state.details.workDetail.gbPath = state.details.workDetail.gbPath.split(',')
-            }
-            if(state.details.workDetail.bcPath){
-                state.details.workDetail.bcPath = state.details.workDetail.bcPath.split(',')
-            }
-            if(state.details.workDetail.bpLocationMapPath){
-                state.details.workDetail.bpLocationMapPath = state.details.workDetail.bpLocationMapPath.split(',')
-            }
-            state.dialogDetails = true;
-        };
-
-        // 折线图
-        const renderMenu = async (value: string) => {
-            Session.set('projectId', value);
-            userInfos.value.projectId = value;
-            await initBackEndControlRoutes();
-        };
-
-        // 页面载入时执行方法
-        onMounted(() => {
-            getListByPage();
-            getAllDepartment()
-        });
-
-        return {
-            View,
-            Edit,
-            Delete,
-            Refresh,
-            Plus,
-            Finished,
-            reLoadData,
-            toApply,
-            handleClick,
-            searchRecord,
-            clearSearch,
-            viewRecord,
-            viewStatus,
-            deleteRecordBtn,
-            conFirmDelete,
-            getListByPage,
-            handleSizeChange1,
-            handleCurrentChange1,
-            ...toRefs(state)
-        };
-    }
-});
-</script>
-
-<style scoped lang="scss">
-$homeNavLengh: 8;
-.home-container {
-    height: calc(100vh - 144px);
-    box-sizing: border-box;
-    overflow: hidden;
-    .demo-tabs {
-        width: 100%;
-        height: 100%;
-
-        &::v-deep(.el-tabs__content) {
-            height: calc(100% - 60px);
-        }
-
-        .el-tab-pane {
-            height: 100%;
-        }
-    }
-    .homeCard {
-        width: 100%;
-        padding: 20px;
-        box-sizing: border-box;
-        background: #fff;
-        border-radius: 4px;
-
-        .main-card {
-            width: 100%;
-            height: 100%;
-            .cardTop {
-                display: flex;
-                align-items: center;
-                justify-content: space-between;
-                margin-bottom: 20px;
-                .mainCardBtn {
-                    margin: 0;
-                }
-            }
-            .pageBtn {
-                height: 60px;
-                display: flex;
-                align-items: center;
-                justify-content: right;
-
-                .demo-pagination-block + .demo-pagination-block {
-                    margin-top: 10px;
-                }
-                .demo-pagination-block .demonstration {
-                    margin-bottom: 16px;
-                }
-            }
-        }
-        &:last-of-type {
-            height: calc(100% - 100px);
-        }
-    }
-    .stepItem {
-        display: flex;
-        align-items: flex-start;
-        margin-top: 30px;
-        margin-left: 30px;
-        padding-bottom: 30px;
-        padding-left: 40px;
-        border-left: 1px solid #a0cfff;
-        position: relative;
-        &:first-of-type {
-            margin-top: 30px;
-        }
-        &:first-of-type {
-            margin-bottom: 0;
-            border-left: none;
-        }
-        .stepNum {
-            position: absolute;
-            width: 40px;
-            height: 40px;
-            border-radius: 20px;
-            box-sizing: border-box;
-            font-size: 18px;
-            color: #333;
-            border: 1px solid #a0cfff;
-            line-height: 38px;
-            text-align: center;
-            left: -20px;
-            top: -30px;
-            background: #d9ecff;
-        }
-        .stepCard {
-            width: 100%;
-            margin-top: -30px;
-
-            .box-card {
-                width: 100%;
-
-                .card-header {
-                    display: flex;
-                    justify-content: space-between;
-                    align-items: center;
-
-                    span {
-                        font-weight: bold;
-                        margin-left: 10px;
-                    }
-                }
-
-                .text {
-                    width: 100%;
-                    font-size: 14px;
-                    margin-bottom: 10px;
-                    padding-left: 10px;
-
-                    span {
-                        color: #409eff;
-                    }
-
-                    .bold-text{
-                        font-weight: bolder;
-                    }
-
-                    &:last-of-type {
-                        margin-bottom: 0;
-                    }
-                }
-                .approveUnit {
-                    width: 100%;
-                    font-size: 14px;
-                    margin-bottom: 20px;
-                    padding: 10px 15px;
-                    border: 1px solid #fff;
-                    background: #ecf8ff;
-                    border-radius: 6px;
-                    .item-tit {
-                        width: 100%;
-                        display: flex;
-                        color: #409eff;
-                        align-items: flex-start;
-                        justify-content: space-between;
-                        padding-bottom: 10px;
-                        border-bottom: 1px solid #a0cfff;
-
-                        & > span {
-                            flex: 1;
-                            &:last-of-type{
-                                text-align: center;
-                            }
-                        }
-                        & > div {
-                            flex: 1;
-                            text-align: center;
-                        }
-                    }
-                    .item-cont {
-                        width: 100%;
-                        display: flex;
-                        align-items: center;
-                        justify-content: space-between;
-                        padding: 10px 0;
-                        border-bottom: 1px solid #c6e2ff;
-
-                        & > span {
-                            flex: 1;
-                            &:last-of-type{
-                                text-align: center;
-                            }
-                        }
-                        & > div {
-                            flex: 1;
-                            text-align: center;
-
-                            & > div {
-                                text-align: left;
-                                width: 100%;
-                                display: flex;
-                                justify-content: center;
-                                align-items: center;
-                                span {
-                                    width: 45%;
-                                    &:first-of-type {
-                                        width: 30%;
-                                    }
-                                }
-                            }
-                        }
-                        &:last-of-type {
-                            border-bottom: 0;
-                        }
-                    }
-                }
-                .approveItem {
-                    width: 100%;
-                    font-size: 14px;
-                    margin-bottom: 20px;
-                    padding: 10px 15px;
-                    background: #ecf8ff;
-                    border: 1px solid #fff;
-                    border-radius: 6px;
-                    .item-tit {
-                        width: 100%;
-                        display: flex;
-                        color: #409eff;
-                        align-items: flex-start;
-                        justify-content: space-between;
-                        padding-bottom: 10px;
-                        border-bottom: 1px solid #a0cfff;
-
-                        & > span {
-                            flex: 1;
-                        }
-                        & > div {
-                            flex: 2;
-                            text-align: center;
-                        }
-                    }
-                    .item-cont {
-                        width: 100%;
-                        display: flex;
-                        align-items: center;
-                        justify-content: space-between;
-                        padding: 10px 0;
-                        border-bottom: 1px solid #c6e2ff;
-
-                        & > span {
-                            flex: 1;
-                        }
-                        & > div {
-                            flex: 2;
-                            text-align: center;
-
-                            & > div {
-                                text-align: left;
-                                width: 100%;
-                                display: flex;
-                                justify-content: center;
-                                align-items: flex-start;
-                                margin-bottom: 10px;
-                                span {
-                                    width: 50%;
-                                    &:first-of-type {
-                                        width: 25%;
-                                    }
-                                }
-                            }
-                        }
-                        &:last-of-type {
-                            border-bottom: 0;
-                        }
-                    }
-                }
-            }
-        }
-        &:hover .card-header {
-            color: #0098f5;
-        }
-        &:hover .stepNum {
-            border: 2px solid #0098f5;
-            color: #0098f5;
-        }
-    }
-    .el-row {
-        display: flex;
-        align-items: center;
-        margin-bottom: 20px;
-        &:last-child {
-            margin-bottom: 0;
-        }
-        .grid-content {
-            align-items: center;
-            min-height: 36px;
-        }
-
-        .topInfo {
-            display: flex;
-            align-items: center;
-            font-size: 16px;
-            font-weight: bold;
-
-            & > div {
-                white-space: nowrap;
-                margin-right: 20px;
-            }
-        }
-    }
-    .el-card {
-        border: 0;
-    }
-}
-</style>
diff --git a/src/views/specialWorkSystem/workTicket/wdsp/index.vue b/src/views/specialWorkSystem/workTicket/wdsp/index.vue
index 13eec8e..39b7ba9 100644
--- a/src/views/specialWorkSystem/workTicket/wdsp/index.vue
+++ b/src/views/specialWorkSystem/workTicket/wdsp/index.vue
@@ -238,14 +238,14 @@
 export default defineComponent({
     name: 'myApproval',
     components: {
-        fire: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/fireLog.vue')),
-        space: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/spaceLog.vue')),
-        hoist: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/hoistLog.vue')),
-        ground: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/groundLog.vue')),
-        broken: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/brokenLog.vue')),
-        height: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/heightLog.vue')),
-        power: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/powerLog.vue')),
-        plate: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/plateLog.vue'))
+        fire: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsp/components/fireLog.vue')),
+        space: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsp/components/spaceLog.vue')),
+        hoist: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsp/components/hoistLog.vue')),
+        ground: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsp/components/groundLog.vue')),
+        broken: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsp/components/brokenLog.vue')),
+        height: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsp/components/heightLog.vue')),
+        power: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsp/components/powerLog.vue')),
+        plate: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsp/components/plateLog.vue'))
     },
     setup() {
         const userInfo = useUserInfo();
diff --git a/src/views/specialWorkSystem/workTicket/wdsq/index.vue b/src/views/specialWorkSystem/workTicket/wdsq/index.vue
index 57d399e..25c6286 100644
--- a/src/views/specialWorkSystem/workTicket/wdsq/index.vue
+++ b/src/views/specialWorkSystem/workTicket/wdsq/index.vue
@@ -255,14 +255,14 @@
 export default defineComponent({
     name: 'myApply',
     components: {
-        fire: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/fireLog.vue')),
-        space: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/spaceLog.vue')),
-        hoist: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/hoistLog.vue')),
-        ground: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/groundLog.vue')),
-        broken: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/brokenLog.vue')),
-        height: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/heightLog.vue')),
-        power: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/powerLog.vue')),
-        plate: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/plateLog.vue'))
+        fire: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/fireLog.vue')),
+        space: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/spaceLog.vue')),
+        hoist: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/hoistLog.vue')),
+        ground: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/groundLog.vue')),
+        broken: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/brokenLog.vue')),
+        height: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/heightLog.vue')),
+        power: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/powerLog.vue')),
+        plate: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/plateLog.vue'))
     },
     setup() {
         const userInfo = useUserInfo();
diff --git a/src/views/specialWorkSystem/workTicket/wdsqjl/index.vue b/src/views/specialWorkSystem/workTicket/wdsqjl/index.vue
index 7c5661e..2de816c 100644
--- a/src/views/specialWorkSystem/workTicket/wdsqjl/index.vue
+++ b/src/views/specialWorkSystem/workTicket/wdsqjl/index.vue
@@ -267,14 +267,14 @@
 export default defineComponent({
     name: 'myApply',
     components: {
-        fire: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/fireLog.vue')),
-        space: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/spaceLog.vue')),
-        hoist: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/hoistLog.vue')),
-        ground: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/groundLog.vue')),
-        broken: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/brokenLog.vue')),
-        height: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/heightLog.vue')),
-        power: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/powerLog.vue')),
-        plate: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/plateLog.vue'))
+        fire: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/fireLog.vue')),
+        space: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/spaceLog.vue')),
+        hoist: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/hoistLog.vue')),
+        ground: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/groundLog.vue')),
+        broken: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/brokenLog.vue')),
+        height: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/heightLog.vue')),
+        power: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/powerLog.vue')),
+        plate: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/plateLog.vue'))
     },
     setup() {
         const userInfo = useUserInfo();
diff --git a/src/views/specialWorkSystem/workTicket/zysq/index.vue b/src/views/specialWorkSystem/workTicket/zysq/index.vue
index fafc906..6a6906b 100644
--- a/src/views/specialWorkSystem/workTicket/zysq/index.vue
+++ b/src/views/specialWorkSystem/workTicket/zysq/index.vue
@@ -48,14 +48,14 @@
 	export default defineComponent({
 		name: 'apply',
 		components: {
-			fireForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/apply/components/fire.vue')),
-			spaceForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/apply/components/space.vue')),
-			hoistForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/apply/components/hoist.vue')),
-			groundForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/apply/components/ground.vue')),
-			brokenForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/apply/components/broken.vue')),
-			heightForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/apply/components/height.vue')),
-			powerForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/apply/components/power.vue')),
-			plateForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/apply/components/plate.vue'))
+			fireForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/fire.vue')),
+			spaceForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/space.vue')),
+			hoistForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/hoist.vue')),
+			groundForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/ground.vue')),
+			brokenForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/broken.vue')),
+			heightForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/height.vue')),
+			powerForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/power.vue')),
+			plateForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/plate.vue'))
 		},
 		setup() {
 			const userInfo = useUserInfo()

--
Gitblit v1.9.2