马宇豪
2024-07-08 20b0ce2db27b64a60de60aee05dedd448099e330
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
<template>
    <div style="height: 100%">
    <div class="d-container">
      <div class="d-row">
        <div class="d-tit">作业申请单位</div><div class="d-cont">{{details.applyDepName}}</div>
      </div>
      <div class="d-row">
        <div class="d-tit">作业类型</div><div class="d-cont">{{details.workTypeDesc}}</div>
      </div>
      <div class="d-row" v-if="type == 1 || type == 3 || type == 6 || type == 8">
        <div class="d-tit">作业等级</div><div class="d-cont">{{details.workLevelDesc}}</div>
      </div>
 
      <div class="d-row" v-if="type == 1">
        <div class="d-tit">动火方式</div><div class="d-cont">{{details.workDetail.workMethod}}</div>
      </div>
      <div v-if="type == 2">
      <div class="d-row">
        <div class="d-tit">受限空间名称</div><div class="d-cont">{{details.workDetail.csName}}</div>
      </div>
      <div class="d-row">
        <div class="d-tit">受限空间原有介质名称</div><div class="d-cont">{{details.workDetail.csOriginalName}}</div>
      </div>
      </div>
      <div v-if="type == 3">
        <div class="d-row">
          <div class="d-tit">吊具名称</div><div class="d-cont">{{details.workDetail.hoistingToolName}}</div>
        </div>
        <div class="d-row">
          <div class="d-tit">起吊重量(t)</div><div class="d-cont">{{details.workDetail.weightMass}}</div>
        </div>
        <div class="d-row">
          <div class="d-tit">司索人</div><div class="d-cont">{{details.workDetail.solicitorUnames}}</div>
        </div>
      </div>
      <div v-if="type == 4">
        <div class="d-row">
          <div class="d-tit">作业范围、内容、方式</div><div class="d-cont">{{details.workDetail.gbDesc}}</div>
        </div>
        <div class="d-row">
          <div class="d-tit">示意图</div>
          <div class="d-cont">
            <el-image v-for="item in details.workDetail.gbPath?.split(',')" :preview-src-list="[item]" style="width: 150px; height: 150px;margin-right: 50px;margin-bottom: 20px" :src="item" fit="cover" />
          </div>
        </div>
      </div>
      <div v-if="type == 5">
        <div class="d-row">
          <div class="d-tit">断路原因</div><div class="d-cont">{{details.workDetail.bcReason}}</div>
        </div>
        <div class="d-row">
          <div class="d-tit">涉及相关单位</div><div class="d-cont">{{details.workDetail.involvedDepNames}}</div>
        </div>
        <div class="d-row">
          <div class="d-tit">断路地段相关说明</div><div class="d-cont">{{details.workDetail.bcExplain}}</div>
        </div>
        <div class="d-row">
          <div class="d-tit">断路地段示意图</div>
          <div class="d-cont">
            <el-image v-for="(item,index) in details.workDetail.bcPath?.split(',')" :preview-src-list="[item]" style="width: 150px; height: 150px;margin-right: 50px;margin-bottom: 20px" :src="item" fit="cover"/>
          </div>
        </div>
      </div>
      <div v-if="type == 6">
        <div class="d-row">
          <div class="d-tit">作业高度</div><div class="d-cont">{{details.workDetail.hight}}</div>
        </div>
      </div>
      <div v-if="type == 7">
        <div class="d-row">
          <div class="d-tit">电源接入点及许可用电功率</div><div class="d-cont">{{details.workDetail.powerAccessPoint}}</div>
        </div>
        <div class="d-row">
          <div class="d-tit">工作电压</div><div class="d-cont">{{details.workDetail.workingVoltage}}</div>
        </div>
        <div class="d-row">
          <div class="d-tit">用电设备以及功率</div><div class="d-cont">{{details.workDetail.equipmentAndPower}}</div>
        </div>
        <div class="d-row">
          <div class="d-tit">用电人</div><div class="d-cont">{{details.workDetail.electricityUnames}}</div>
        </div>
      </div>
      <div v-if="type == 8">
        <div class="d-row">
          <div class="d-tit">设备管道名称</div><div class="d-cont">{{details.workDetail.pipingName}}</div>
        </div>
        <div class="d-row">
          <div class="d-tit">管道介质</div><div class="d-cont">{{details.workDetail.media}}</div>
        </div>
        <div class="d-row">
          <div class="d-tit">管道温度(℃)</div><div class="d-cont">{{details.workDetail.temperature}}</div>
        </div>
        <div class="d-row">
          <div class="d-tit">管道压力(kPa)</div><div class="d-cont">{{details.workDetail.pressure}}</div>
        </div>
        <div class="d-row">
          <div class="d-tit">盲板材质</div><div class="d-cont">{{details.workDetail.bpMaterialQuality}}</div>
        </div>
        <div class="d-row">
          <div class="d-tit">盲板规格</div><div class="d-cont">{{details.workDetail.bpSpecification}}</div>
        </div>
        <div class="d-row">
          <div class="d-tit">盲板编号</div><div class="d-cont">{{details.workDetail.bpCode}}</div>
        </div>
        <div class="d-row">
          <div class="d-tit">盲板位置相关描述</div><div class="d-cont">{{details.workDetail.bpLocationDesc}}</div>
        </div>
        <div class="d-row">
          <div class="d-tit">盲板位置示意图</div>
          <div class="d-cont">
            <el-image v-for="item in details.workDetail.bpLocationMapPath?.split(',')" :preview-src-list="[item]" style="width: 150px; height: 150px;margin-right: 50px;margin-bottom: 20px" :src="item" fit="cover" />
          </div>
        </div>
      </div>
      <div class="d-row">
        <div class="d-tit">作业内容</div><div class="d-cont">{{details.workContent}}</div>
      </div>
      <div class="d-row">
        <div class="d-tit">作业地址</div><div class="d-cont">{{details.workLocation}}</div>
      </div>
      <div class="d-row">
        <div class="d-tit">作业单位</div>
        <div class="d-cont" v-if="details.workDepList && details.workDepList.length>0">{{details.workDepList.map(i=>i.workDepName).join(',')}}</div>
        <div class="d-cont" v-else>{{details.workDepName}}</div>
      </div>
      <div class="d-row">
        <div class="d-tit">作业人</div><div class="d-cont">{{details.operatorList.map(i=>{return i.userName + '(' + i.phone+ ')' }).join('、')}}</div>
      </div>
      <div class="d-row" v-if="details.involveOtherWork && details.involveOtherWork !== ''">
        <div class="d-tit">关联其他作业</div><div class="d-cont">{{details.involveOtherWork}}</div>
      </div>
 
      <div class="d-row">
        <div class="d-tit">预计(整体)开始时间</div><div class="d-cont">{{details.expStartTime}}</div>
      </div>
      <div class="d-row">
        <div class="d-tit">预计(整体)结束时间</div><div class="d-cont">{{details.expEndTime}}</div>
      </div>
      <div class="d-row">
        <div class="d-tit">作业负责人</div><div class="d-cont">{{details.headList.map(i=>{return i.userName + '(' + i.phone+ ')' }).join('、')}}</div>
      </div>
      <div class="d-row" v-if="type == 1 || type == 2 || type == 7">
        <div class="d-tit">作业分析人</div><div class="d-cont">{{details.analystList.map(i=>{return i.userName + '(' + i.phone+ ')' }).join('、')}}</div>
      </div>
      <div class="d-row">
        <div class="d-tit">作业监护人</div><div class="d-cont">{{details.guardianList.map(i=>{return i.userName + '(' + i.phone+ ')' }).join('、')}}</div>
      </div>
      <div class="d-row">
        <div class="d-tit">绑定执法仪</div><div class="d-cont">{{details.workApprovalDeviceList.map(i=>i.deviceNo).join('、')}}</div>
      </div>
      <div class="d-row">
        <div class="d-tit">安全措施确认人</div><div class="d-cont">{{details.safetyMeasureList.map(i=>{return i.userName + '(' + i.phone+ ')'}).join('、')}}</div>
      </div>
      <div class="d-row">
        <div class="d-tit">完工验收人</div><div class="d-cont">{{details.acceptUser.userName + '(' + details.acceptUser.phone+ ')'}}</div>
      </div>
      <div class="d-row">
        <div class="d-tit">现场开始结束确认人</div><div class="d-cont">{{details.startOrEndList.map(i=>{return i.userName + '(' + i.phone+ ')'}).join('、')}}</div>
      </div>
 
      <div class="d-row">
        <div class="d-tit">风险研判</div><div class="d-cont">{{ statusList.find(i=>i.value === details.status)?.label }}</div>
      </div>
 
      <div class="d-row">
        <div class="d-tit">现场开始结束确认人</div><div class="d-cont">{{details.startOrEndList.map(i=>{return i.userName + '(' + i.phone+ ')'}).join('、')}}</div>
      </div>
    </div>
    </div>
</template>
 
<script lang="ts">
import {toRefs, reactive, defineComponent, ref, defineAsyncComponent, onMounted} from 'vue';
    import { storeToRefs } from 'pinia';
    import { initBackEndControlRoutes } from '/@/router/backEnd';
    import {useUserInfo} from "/@/stores/userInfo";
    import { Session } from '/@/utils/storage';
    import { Search } from '@element-plus/icons-vue'
    import { ElMessage } from 'element-plus'
    import type { FormInstance, FormRules } from 'element-plus'
    import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
 
 
    interface stateType {
        form: Object,
        workerList: Array<any>,
        workTypeList: Array<any>,
        workLevelList: Array<any>,
        otherWorkList: Array<any>
    }
    export default defineComponent({
        name: 'detailLog',
        components: {},
        props:['type','statusList','details'],
        setup() {
            const userInfo = useUserInfo()
            const { userInfos } = storeToRefs(userInfo);
      onMounted(() => {
 
      });
            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;
        }
    }
  .d-container{
    width: 100%;
    .d-row{
      width: 100%;
      display: flex;
      align-items: flex-start;
      .d-tit{
        width: 150px;
        text-align: right;
        padding-right: 12px;
      }
      .d-cont{
        width: calc(100% - 150px);
        border: 1px solid #dcdfe6;
        margin-bottom: 22px;
        border-radius: var(--el-input-border-radius,var(--el-border-radius-base));
        padding: 5px 11px;
      }
    }
  }
</style>