Admin
2022-08-20 d6693c12019548a91d6607fbd633d201125061cb
Default Changelist
已修改32个文件
已添加8个文件
已删除10个文件
4768 ■■■■ 文件已修改
src/api/specialWorkSystem/workApply/index.ts 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/contingencyManagement/panManagement/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/navBars/tagsView/tagsView.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/backEnd.ts 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/panManagement/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/intellectInspect/inspectBigScreen/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/intellectInspect/intelligentLine/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/intellectInspect/intelligentMap/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safeKnowledge/bmgz/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safeKnowledge/df/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safeKnowledge/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safeKnowledge/inner/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safeKnowledge/internationalRules/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safeKnowledge/law/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safeKnowledge/sfjs/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safeKnowledge/xzfg/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workApplyManage/myJobApply/index.vue 751 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workApplyManage/workApplyForm/components/broken.vue 316 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workApplyManage/workApplyForm/components/fire.vue 316 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workApplyManage/workApplyForm/components/ground.vue 328 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workApplyManage/workApplyForm/components/height.vue 362 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workApplyManage/workApplyForm/components/hoist.vue 267 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workApplyManage/workApplyForm/components/plate.vue 432 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workApplyManage/workApplyForm/components/power.vue 271 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workApplyManage/workApplyForm/components/space.vue 327 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workApplyManage/workApplyForm/index.vue 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/myJobApply/components/brokenLog.vue 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/myJobApply/components/fireLog.vue 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/myJobApply/components/groundLog.vue 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/myJobApply/components/heightLog.vue 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/myJobApply/components/hoistLog.vue 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/myJobApply/components/plateLog.vue 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/myJobApply/components/powerLog.vue 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/myJobApply/components/spaceLog.vue 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/myJobApply/index.vue 202 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/workApply/components/broken.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/workApply/components/fire.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/workApply/components/ground.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/workApply/components/height.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/workApply/components/hoist.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/workApply/components/plate.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/workApply/components/power.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/workApply/components/space.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/workApply/index.vue 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/specialWorkSystem/workApply/index.ts
@@ -11,6 +11,14 @@
            });
        },
        // 分页获取申请列表
        getAllUsers: () => {
            return request({
                url: import.meta.env.VITE_API_URL + `/account/list`,
                method: 'get'
            });
        },
        // 动火申请
        postFireApply: (data: object) => {
            return request({
src/components/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue
@@ -231,9 +231,9 @@
  Delete,
  EditPen,
} from '@element-plus/icons-vue'
// import FlowChart from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/flowChart.vue'
// import FlowChart from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/components/flowChart.vue'
import ApprovalProgress from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue';
// import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
// import UpData from '/@/views/contingencyManagement/panManagement/components/upData.vue';
import RectificationDialog from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/rectificationDialog.vue';
import {emergencyDrillEvaluationApi} from '/@/api/contingencyManagement/emergencyDrillEvaluation'
import {emergencyDrillExecuteApi} from "/@/api/contingencyManagement/emergencyDrillExecute";
src/components/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue
@@ -130,7 +130,7 @@
} from '@element-plus/icons-vue'
import {useRouter} from "vue-router"
import OpenAdd from '/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue';
// import FlowChart from '/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/flowChart.vue';
// import FlowChart from '/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/components/flowChart.vue';
import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
import { releaseDrillPlanApi } from '/@/api/contingencyManagement/emergencyDrillPlan';
src/components/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue
@@ -93,10 +93,10 @@
    // FormInstance,
} from 'element-plus';
import { Plus, Search, Delete, Edit, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';
// import OpenSee from '/@/views/contingencyManagement/emergencyPlanStartRecord/component/openSee.vue';
// import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
// import OpenSee from '/@/views/contingencyManagement/emergencyPlanStartRecord/components/openSee.vue';
// import UpData from '/@/views/contingencyManagement/panManagement/components/upData.vue';
// import EmergencySupplies from '/@/components/emergencySupplies/index.vue';
// import OpenAdd from '/@/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/component/openAdd.vue';
// import OpenAdd from '/@/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/components/openAdd.vue';
// import { contingencyApi } from '/@/api/contingency';
// import { emergencySuppliesMaintainApi } from '/@/api/emergencySuppliesMaintain';
src/components/contingencyManagement/panManagement/index.vue
@@ -186,12 +186,12 @@
'element-plus';
import { Plus, Edit, Delete, Upload, Download, Refresh, VideoPause, VideoPlay, EditPen, FullScreen } from '@element-plus/icons-vue';
import OpenAdd from '/@/views/contingencyManagement/panManagement/component/openAdd.vue';
// import StartUp from '/@/views/contingencyManagement/panManagement/component/startUp.vue';
// import StartUp from '/@/views/contingencyManagement/panManagement/components/startUp.vue';
import AbolishLibrary from '/@/views/contingencyManagement/panManagement/component/abolishLibrary.vue';
import ApprovalProcess from '/@/views/contingencyManagement/panManagement/component/approvalProcess.vue';
import InitiateApproval from '/@/views/contingencyManagement/panManagement/component/initiateApproval.vue';
import Approval from '/@/views/contingencyManagement/panManagement/component/approval.vue';
// import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
// import UpData from '/@/views/contingencyManagement/panManagement/components/upData.vue';
import { emergencyPlanApi } from '/@/api/contingencyManagement/emergencyPlan';
import { emergencyPlanLogApi } from '/@/api/contingencyManagement/emergencyPlanLog';
src/layout/navBars/tagsView/tagsView.vue
@@ -198,7 +198,7 @@
                    )
            );
            if (current.length <= 0) {
                // 防止:Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.
                // 防止:Avoid app logic that relies on enumerating keys on a components instance. The keys will be empty in production mode to avoid performance overhead.
                let findItem = state.tagsViewRoutesList.find((v: any) => v.path === isDynamicPath);
                if (!findItem) return false;
                if (findItem.meta.isAffix) return false;
src/router/backEnd.ts
@@ -67,7 +67,7 @@
/**
 * 重新请求后端路由菜单接口
 * @description 用于菜单管理界面刷新菜单(未进行测试)
 * @description 路径:/src/views/system/homeMenu/component/menuDialog.vue
 * @description 路径:/src/views/system/homeMenu/components/menuDialog.vue
 */
export function setBackEndControlRefreshRoutes() {
    getBackEndControlRoutes(Cookies.get('projectId'));
src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue
@@ -231,9 +231,9 @@
  Delete,
  EditPen,
} from '@element-plus/icons-vue'
// import FlowChart from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/flowChart.vue'
// import FlowChart from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/components/flowChart.vue'
import ApprovalProgress from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue';
// import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
// import UpData from '/@/views/contingencyManagement/panManagement/components/upData.vue';
import RectificationDialog from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/rectificationDialog.vue';
import {emergencyDrillEvaluationApi} from '/@/api/contingencyManagement/emergencyDrillEvaluation'
import {emergencyDrillExecuteApi} from "/@/api/contingencyManagement/emergencyDrillExecute";
src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue
@@ -130,7 +130,7 @@
} from '@element-plus/icons-vue'
import {useRouter} from "vue-router"
import OpenAdd from '/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue';
// import FlowChart from '/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/flowChart.vue';
// import FlowChart from '/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/components/flowChart.vue';
import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
import { releaseDrillPlanApi } from '/@/api/contingencyManagement/emergencyDrillPlan';
src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue
@@ -93,10 +93,10 @@
    // FormInstance,
} from 'element-plus';
import { Plus, Search, Delete, Edit, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';
// import OpenSee from '/@/views/contingencyManagement/emergencyPlanStartRecord/component/openSee.vue';
// import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
// import OpenSee from '/@/views/contingencyManagement/emergencyPlanStartRecord/components/openSee.vue';
// import UpData from '/@/views/contingencyManagement/panManagement/components/upData.vue';
// import EmergencySupplies from '/@/components/emergencySupplies/index.vue';
// import OpenAdd from '/@/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/component/openAdd.vue';
// import OpenAdd from '/@/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/components/openAdd.vue';
// import { contingencyApi } from '/@/api/contingency';
// import { emergencySuppliesMaintainApi } from '/@/api/emergencySuppliesMaintain';
src/views/contingencyManagement/panManagement/index.vue
@@ -172,12 +172,12 @@
'element-plus';
import { Plus, Edit, Delete, Upload, Download, Refresh, VideoPause, VideoPlay, EditPen, FullScreen } from '@element-plus/icons-vue';
import OpenAdd from '/@/views/contingencyManagement/panManagement/component/openAdd.vue';
// import StartUp from '/@/views/contingencyManagement/panManagement/component/startUp.vue';
// import StartUp from '/@/views/contingencyManagement/panManagement/components/startUp.vue';
import AbolishLibrary from '/@/views/contingencyManagement/panManagement/component/abolishLibrary.vue';
import ApprovalProcess from '/@/views/contingencyManagement/panManagement/component/approvalProcess.vue';
import InitiateApproval from '/@/views/contingencyManagement/panManagement/component/initiateApproval.vue';
import Approval from '/@/views/contingencyManagement/panManagement/component/approval.vue';
// import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
// import UpData from '/@/views/contingencyManagement/panManagement/components/upData.vue';
import { emergencyPlanApi } from '/@/api/contingencyManagement/emergencyPlan';
import { emergencyPlanLogApi } from '/@/api/contingencyManagement/emergencyPlanLog';
src/views/intellectInspect/inspectBigScreen/index.vue
@@ -259,7 +259,7 @@
};
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<!-- Add "scoped" attribute to limit CSS to this components only -->
<style scoped lang="scss">
@keyframes warn {
    0% {
src/views/intellectInspect/intelligentLine/index.vue
@@ -237,7 +237,7 @@
};
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<!-- Add "scoped" attribute to limit CSS to this components only -->
<style scoped lang="scss">
    @media screen and (min-width: 1366px) {
        .big-title {
src/views/intellectInspect/intelligentMap/index.vue
@@ -325,7 +325,7 @@
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<!-- Add "scoped" attribute to limit CSS to this components only -->
<style scoped lang="scss">
  @keyframes warn {
    0% {
src/views/safeKnowledge/bmgz/index.vue
@@ -16,7 +16,7 @@
};
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<!-- Add "scoped" attribute to limit CSS to this components only -->
<style scoped lang="scss">
.home-container {
    height: calc(100vh - 144px);
src/views/safeKnowledge/df/index.vue
@@ -24,7 +24,7 @@
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<!-- Add "scoped" attribute to limit CSS to this components only -->
<style scoped lang="scss">
  .home-container{
    height: calc(100vh - 144px);
src/views/safeKnowledge/index.vue
@@ -24,7 +24,7 @@
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<!-- Add "scoped" attribute to limit CSS to this components only -->
<style scoped lang="scss">
  .home-container{
    height: calc(100vh - 144px);
src/views/safeKnowledge/inner/index.vue
@@ -24,7 +24,7 @@
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<!-- Add "scoped" attribute to limit CSS to this components only -->
<style scoped lang="scss">
  .home-container{
    height: calc(100vh - 144px);
src/views/safeKnowledge/internationalRules/index.vue
@@ -24,7 +24,7 @@
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<!-- Add "scoped" attribute to limit CSS to this components only -->
<style scoped lang="scss">
  .home-container{
    height: calc(100vh - 144px);
src/views/safeKnowledge/law/index.vue
@@ -24,7 +24,7 @@
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<!-- Add "scoped" attribute to limit CSS to this components only -->
<style scoped lang="scss">
  .home-container{
    height: calc(100vh - 144px);
src/views/safeKnowledge/sfjs/index.vue
@@ -24,7 +24,7 @@
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<!-- Add "scoped" attribute to limit CSS to this components only -->
<style scoped lang="scss">
  .home-container{
    height: calc(100vh - 144px);
src/views/safeKnowledge/xzfg/index.vue
@@ -24,7 +24,7 @@
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<!-- Add "scoped" attribute to limit CSS to this components only -->
<style scoped lang="scss">
  .home-container{
    height: calc(100vh - 144px);
src/views/specialWorkSystem/workApplyManage/myJobApply/index.vue
文件已删除
src/views/specialWorkSystem/workApplyManage/workApplyForm/components/broken.vue
文件已删除
src/views/specialWorkSystem/workApplyManage/workApplyForm/components/fire.vue
文件已删除
src/views/specialWorkSystem/workApplyManage/workApplyForm/components/ground.vue
文件已删除
src/views/specialWorkSystem/workApplyManage/workApplyForm/components/height.vue
文件已删除
src/views/specialWorkSystem/workApplyManage/workApplyForm/components/hoist.vue
文件已删除
src/views/specialWorkSystem/workApplyManage/workApplyForm/components/plate.vue
文件已删除
src/views/specialWorkSystem/workApplyManage/workApplyForm/components/power.vue
文件已删除
src/views/specialWorkSystem/workApplyManage/workApplyForm/components/space.vue
文件已删除
src/views/specialWorkSystem/workApplyManage/workApplyForm/index.vue
文件已删除
src/views/specialWorkSystem/workTicket/myJobApply/components/brokenLog.vue
对比新文件
@@ -0,0 +1,117 @@
<template>
    <div style="height: 100%">
        <el-form :model="details" label-width="120px">
            <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="involvedDepIds">
                <el-input v-model="details.workDetail.involvedDepIds" 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.statusDesc" 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: Object
        },
        setup(props) {
            const userInfo = useUserInfo()
            const { userInfos } = storeToRefs(userInfo);
            const details1 = props.details
            return {
                Search,
                details1
            };
        },
    });
</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>
src/views/specialWorkSystem/workTicket/myJobApply/components/fireLog.vue
对比新文件
@@ -0,0 +1,111 @@
<template>
    <div style="height: 100%">
        <el-form :model="details" label-width="120px">
            <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.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.statusDesc" 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: Object
        },
        setup(props) {
            const userInfo = useUserInfo()
            const { userInfos } = storeToRefs(userInfo);
            const details1 = props.details
            return {
                Search,
                details1
            };
        },
    });
</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>
src/views/specialWorkSystem/workTicket/myJobApply/components/groundLog.vue
对比新文件
@@ -0,0 +1,117 @@
<template>
    <div style="height: 100%">
        <el-form :model="details" label-width="120px">
            <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.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-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.statusDesc" 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: Object
        },
        setup(props) {
            const userInfo = useUserInfo()
            const { userInfos } = storeToRefs(userInfo);
            const details1 = props.details
            return {
                Search,
                details1
            };
        },
    });
</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>
src/views/specialWorkSystem/workTicket/myJobApply/components/heightLog.vue
对比新文件
@@ -0,0 +1,114 @@
<template>
    <div style="height: 100%">
        <el-form :model="details" label-width="120px">
            <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.statusDesc" 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: Object
        },
        setup(props) {
            const userInfo = useUserInfo()
            const { userInfos } = storeToRefs(userInfo);
            const details1 = props.details
            return {
                Search,
                details1
            };
        },
    });
</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>
src/views/specialWorkSystem/workTicket/myJobApply/components/hoistLog.vue
对比新文件
@@ -0,0 +1,114 @@
<template>
    <div style="height: 100%">
        <el-form :model="details" label-width="120px">
            <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.statusDesc" 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: Object
        },
        setup(props) {
            const userInfo = useUserInfo()
            const { userInfos } = storeToRefs(userInfo);
            const details1 = props.details
            return {
                Search,
                details1
            };
        },
    });
</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>
src/views/specialWorkSystem/workTicket/myJobApply/components/plateLog.vue
对比新文件
@@ -0,0 +1,135 @@
<template>
    <div style="height: 100%">
        <el-form :model="details" label-width="120px">
            <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-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.statusDesc" 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: Object
        },
        setup(props) {
            const userInfo = useUserInfo()
            const { userInfos } = storeToRefs(userInfo);
            const details1 = props.details
            return {
                Search,
                details1
            };
        },
    });
</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>
src/views/specialWorkSystem/workTicket/myJobApply/components/powerLog.vue
对比新文件
@@ -0,0 +1,117 @@
<template>
    <div style="height: 100%">
        <el-form :model="details" label-width="120px">
            <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.statusDesc" 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: Object
        },
        setup(props) {
            const userInfo = useUserInfo()
            const { userInfos } = storeToRefs(userInfo);
            const details1 = props.details
            return {
                Search,
                details1
            };
        },
    });
</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>
src/views/specialWorkSystem/workTicket/myJobApply/components/spaceLog.vue
对比新文件
@@ -0,0 +1,117 @@
<template>
    <div style="height: 100%">
        <el-form :model="details" label-width="120px">
            <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.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.statusDesc" 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: Object
        },
        setup(props) {
            const userInfo = useUserInfo()
            const { userInfos } = storeToRefs(userInfo);
            const details1 = props.details
            return {
                Search,
                details1
            };
        },
    });
</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>
src/views/specialWorkSystem/workTicket/myJobApply/index.vue
@@ -1,14 +1,21 @@
<template>
    <div class="home-container">
        <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
            <el-tab-pane label="申请中" name="1">
<!--        <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">
                        <el-col :span="8">
                            <div class="grid-content topInfo">
                                <el-input v-model="searchWord" placeholder="作业证名称"></el-input>
                                <el-button type="primary">查询</el-button>
                                <el-button plain>重置</el-button>
                                <el-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>
@@ -49,54 +56,22 @@
                        </div>
                    </div>
                </div>
                <el-dialog v-model="dialogDetails" title="作业申请详情">
                    <el-form :model="details" label-width="120px">
                        <el-form-item label="作业申请单号">
                            <el-input v-model="details.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.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.statusDesc" readonly />
                        </el-form-item>
                        <el-form-item>
                            <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button>
                        </el-form-item>
                    </el-form>
                <el-dialog v-model="dialogDetails" title="作业申请详情" center>
                    <fire v-if="dialogType == 1" :details = details></fire>
                    <space v-if="dialogType == 2" :details = details></space>
                    <hoist v-if="dialogType == 3" :details = details></hoist>
                    <ground v-if="dialogType == 4" :details = details></ground>
                    <broken v-if="dialogType == 5" :details = details></broken>
                    <height v-if="dialogType == 6" :details = details></height>
                    <power v-if="dialogType == 7" :details = details></power>
                    <plate v-if="dialogType == 8" :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="作业申请进度">
                    <el-form v-if="approveInfo.operators.length > 0" style="margin-bottom: 40px">
@@ -171,46 +146,46 @@
                        </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>
<!--            </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 } from 'vue';
import {toRefs, reactive, defineComponent, ref, onMounted, defineAsyncComponent} from 'vue';
import { storeToRefs } from 'pinia';
import { initBackEndControlRoutes } from '/@/router/backEnd';
import { useUserInfo } from '/@/stores/userInfo';
@@ -243,6 +218,8 @@
    details: {};
    statusInfo: {};
    workType: Array<type>;
    depType: Array<type>;
    dialogType: number
}
interface type {
    id: number;
@@ -251,7 +228,16 @@
export default defineComponent({
    name: 'myApply',
    components: {},
    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'))
    },
    setup() {
        const userInfo = useUserInfo();
        const { userInfos } = storeToRefs(userInfo);
@@ -260,6 +246,7 @@
            pageIndex1: 1,
            pageSize1: 10,
            totalSize1: 0,
            dialogType: null,
            activeName: '1',
            chosenIndex: null,
            searchWord: '',
@@ -287,6 +274,12 @@
                { id: 6, name: '高处作业' },
                { id: 7, name: '临时用电作业' },
                { id: 8, name: '盲板抽堵作业' }
            ],
            depType: [
                { id: 1, name: '部门一' },
                { id: 2, name: '部门二' },
                { id: 3, name: '部门三' },
                { id: 4, name: '部门四' }
            ]
        });
        interface User {
@@ -313,7 +306,7 @@
        // 分页获取工作时间组列表
        const getListByPage = async () => {
            const data = { pageSize: state.pageSize1, pageIndex: state.pageIndex1, searchParams: { name: state.searchWord } };
            const data = { pageSize: state.pageSize1, pageIndex: state.pageIndex1, searchParams: { workType: state.searchWord } };
            let res = await workApplyApi().getApplyListtPage(data);
            if (res.data.code === '200') {
                state.applyData = JSON.parse(JSON.stringify(res.data.data));
@@ -326,7 +319,7 @@
                    return item;
                });
                state.totalSize1 = res.data.total;
                console.log('0212121');
                console.log( state.applyData,'0212121');
            } else {
                ElMessage({
                    type: 'warning',
@@ -363,7 +356,7 @@
                getListByPage();
            }
        };
        // 重置搜索
        const clearSearch = async () => {
            state.searchWord = '';
            getListByPage();
@@ -428,10 +421,29 @@
        // 查看记录
        const viewRecord = (row: any) => {
            row.workDetail.otherSpecialWork = JSON.parse(JSON.stringify(row.workDetail.otherSpecialWork.split(','))).map((item: Array<string>) => {
            state.dialogType = row.workType
            console.log(state.dialogType,'工作类型')
            state.details = JSON.parse(JSON.stringify(row));
            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;
            });
            state.details = JSON.parse(JSON.stringify(row));
            }
            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.depType.find((i: { id: number }) => i.id === Number(item))?.name;
                });
            }
            console.log(state.details,'details')
            state.dialogDetails = true;
        };
src/views/specialWorkSystem/workTicket/workApply/components/broken.vue
@@ -223,8 +223,7 @@
                "workDetail.operationDepId": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                "workDetail.bcReason": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                "workDetail.bcExplain": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                "workDetail.otherSpecialWork": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                "workDetail.involvedDepIds": [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
                "workDetail.otherSpecialWork": [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
            });
            const submitForm = async (formEl: FormInstance | undefined) => {
                if (!formEl) return
@@ -287,7 +286,7 @@
        .applyBtn{
            width: 100%;
            background: #fff;
            height: 80px;
            padding-top: 15px;
            z-index: 5;
            box-shadow: 0 -3px 8px rgba(150,150,150,.1);
            display: flex;
src/views/specialWorkSystem/workTicket/workApply/components/fire.vue
@@ -287,7 +287,7 @@
        .applyBtn{
            width: 100%;
            background: #fff;
            height: 80px;
            padding-top: 15px;
            z-index: 5;
            box-shadow: 0 -3px 8px rgba(150,150,150,.1);
            display: flex;
src/views/specialWorkSystem/workTicket/workApply/components/ground.vue
@@ -299,7 +299,7 @@
        .applyBtn{
            width: 100%;
            background: #fff;
            height: 80px;
            padding-top: 15px;
            z-index: 5;
            box-shadow: 0 -3px 8px rgba(150,150,150,.1);
            display: flex;
src/views/specialWorkSystem/workTicket/workApply/components/height.vue
@@ -85,7 +85,9 @@
                                v-model="form.workDetail.operationHeight"
                                type="number"
                                placeholder="请输入"
                        />
                        >
                            <template #append>米(m)</template>
                        </el-input>
                    </el-form-item>
                </el-col>
            </el-row>
@@ -333,7 +335,7 @@
        .applyBtn{
            width: 100%;
            background: #fff;
            height: 80px;
            padding-top: 15px;
            z-index: 5;
            box-shadow: 0 -3px 8px rgba(150,150,150,.1);
            display: flex;
src/views/specialWorkSystem/workTicket/workApply/components/hoist.vue
@@ -83,7 +83,9 @@
                                v-model="form.workDetail.weightMass"
                                type="number"
                                placeholder="请输入"
                        />
                        >
                            <template #append>吨(t)</template>
                        </el-input>
                    </el-form-item>
                </el-col>
            </el-row>
@@ -238,7 +240,7 @@
        .applyBtn{
            width: 100%;
            background: #fff;
            height: 80px;
            padding-top: 15px;
            z-index: 5;
            box-shadow: 0 -3px 8px rgba(150,150,150,.1);
            display: flex;
src/views/specialWorkSystem/workTicket/workApply/components/plate.vue
@@ -97,7 +97,9 @@
                                v-model="form.workDetail.temperature"
                                type="number"
                                placeholder="请输入"
                        />
                        >
                            <template #append>摄氏度(℃)</template>
                        </el-input>
                    </el-form-item>
                </el-col>
                <el-col :span="12">
@@ -106,7 +108,9 @@
                                v-model="form.workDetail.pressure"
                                type="number"
                                placeholder="请输入"
                        />
                        >
                            <template #append>千帕(kPa)</template>
                        </el-input>
                    </el-form-item>
                </el-col>
            </el-row>
@@ -403,7 +407,7 @@
        .applyBtn{
            width: 100%;
            background: #fff;
            height: 80px;
            padding-top: 15px;
            z-index: 5;
            box-shadow: 0 -3px 8px rgba(150,150,150,.1);
            display: flex;
src/views/specialWorkSystem/workTicket/workApply/components/power.vue
@@ -73,7 +73,9 @@
                                v-model="form.workDetail.workingVoltage"
                                type="number"
                                placeholder="请输入"
                        />
                        >
                            <template #append>伏特(v)</template>
                        </el-input>
                    </el-form-item>
                </el-col>
            </el-row>
@@ -242,7 +244,7 @@
        .applyBtn{
            width: 100%;
            background: #fff;
            height: 80px;
            padding-top: 15px;
            z-index: 5;
            box-shadow: 0 -3px 8px rgba(150,150,150,.1);
            display: flex;
src/views/specialWorkSystem/workTicket/workApply/components/space.vue
@@ -298,7 +298,7 @@
        .applyBtn{
            width: 100%;
            background: #fff;
            height: 80px;
            padding-top: 15px;
            z-index: 5;
            box-shadow: 0 -3px 8px rgba(150,150,150,.1);
            display: flex;
src/views/specialWorkSystem/workTicket/workApply/index.vue
@@ -30,7 +30,7 @@
</template>
<script lang="ts">
    import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue';
    import {toRefs, reactive, defineComponent, ref, defineAsyncComponent, onMounted} from 'vue';
    import { storeToRefs } from 'pinia';
    import { initBackEndControlRoutes } from '/@/router/backEnd';
    import {useUserInfo} from "/@/stores/userInfo";
@@ -47,14 +47,14 @@
    export default defineComponent({
        name: 'workTicket',
        components: {
            fireForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/fire.vue')),
            spaceForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/space.vue')),
            hoistForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/hoist.vue')),
            groundForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/ground.vue')),
            brokenForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/broken.vue')),
            heightForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/height.vue')),
            powerForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/power.vue')),
            plateForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/plate.vue'))
            fireForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/fire.vue')),
            spaceForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/space.vue')),
            hoistForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/hoist.vue')),
            groundForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/ground.vue')),
            brokenForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/broken.vue')),
            heightForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/height.vue')),
            powerForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/power.vue')),
            plateForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/plate.vue'))
        },
        setup() {
            const userInfo = useUserInfo()
@@ -62,6 +62,22 @@
            const state  = reactive<stateType>({
            });
            const getAll = async ()=>{
                const res = await workApplyApi().getAllUsers()
                if (res.data.code === '200') {
                    console.log(res.data.data)
                } else {
                    ElMessage({
                        type: 'warning',
                        message: res.data.msg
                    });
                }
            };
            // 页面载入时执行方法
            onMounted(() => {
                getAll();
            });
            return {
                ...toRefs(state),