董国庆
2026-06-11 0aa66dcedffba1073dc51b1a3ab558cd1ffbf197
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
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
 
 
// 定义全局变量
 
// export const BASE_URL = 'http://47.93.28.249:8181'
// export const BASE_URL = 'http://192.168.110.188:8182'; //测试
// export const BASE_URL = 'http://192.168.110.111:8182'; //测试
export const BASE_URL = 'http://47.108.113.190:8182';
// export const SCREEN_URL = 'http://221.182.45.100:8087/#/'; 测试
export const SCREEN_URL = 'http://xllpgzx.com/screen/#/';
 
// export const BASE_URL = 'http://localhost:8080';
 
export const PAGE_SIZE = 10;
 
/**
 * 基础的MapObject类,用于将枚举类转换为前端的下拉框选项
 */
class MapObject {
    constructor(map) {
        Object.assign(this, map);
    }
 
    toOptions() {
        return Object.entries(this).map(([value, label]) => ({ value, label }));
    }
 
    toOptionsWithTitleVal(title, val) {
        // 增加一个空选项
        let options = [{ value: val, label: title || '请选择' }];
        options.push(...Object.entries(this).map(([value, label]) => ({ value, label })));
        return options;
    }
 
    toOptionsWithTitle(title) {
        return this.toOptionsWithTitleVal(title, null);
    }
 
    // 第一个值
    get firstKey() {
        return Object.keys(this)[0];
    }
 
    // [] operator
    [Symbol.iterator]() {
        return Object.entries(this)[Symbol.iterator]();
    }
 
    toOptionsWithTitleValNew() {
        // 增加一个空选项
        let options = [];
        options.push(...Object.entries(this).map(([value, label]) => ({ value, label })));
        return options;
    }
}
 
 
export const userStatusMap = new MapObject({
    NORMAL: '在职',
    DISABLE: '离职',
})
 
// 模糊评价中的风险等级
export const riskLevelMap = new MapObject({
    P0: '拒绝接受风险',
    P1: '不可接受风险',
    P2: '可接受风险',
    P3: '可容忍风险',
    P4: '可忽略风险'
})
 
export const contractStatusMap = new MapObject({
    NOT_STARTED: '未开始',
    IN_PROGRESS: '进行中',
    COMPLETED: '已完成',
    TERMINATED: '已终止'
})
 
export const clientTypeMap = new MapObject({
    ESTATE: '地产',
    DEVELOPER: '开发商',
    INVESTMENT: '投资商',
    GOVERNMENT: '政府',
    CONSULTING: '咨询公司',
    OTHER: '其他'
})
 
export const expertTypeMap = new MapObject({
    FUZZY_MATH: '模糊数学',
    SCORE: '打分',
})
 
export const projectTypeMap = new MapObject({
    HOUSE_CONSTRUCTION: '房建',
    MUNICIPAL_ADMINISTRATION: '市政',
    CONSTRUCTION_WORK: '建筑工程',
    CIVIL_WORKS: '土木工程',
    ELECTRICAL_ENGINEERING: '机电工程',
    SUBSIDIARY: '子公司',
})
 
export const projectUsageTypeMap = new MapObject({
    RESIDENTIAL: '住宅',
    COMMERCIAL: '商业',
    ROAD: '道路',
    BRIDGE: '桥梁',
    CIVIL_WORKS: '民用建筑工程',
    INDUSTRIAL_WORKS: '工业建筑工程',
    STRUCTURE_WORKS: '构筑物工程',
    ROAD_WORKS: '道路工程',
    RAIL_TRANSPORTATION: '轨道交通工程',
    BRIDGE_WORKS: '桥涵工程',
    TUNNEL_WORKS: '隧道工程',
    HYDRAULIC_WORKS: '水工工程',
    MINING_WORKS: '矿山工程',
    CABLE_PIPE_WORKS: '架线与管沟工程',
    MECHANICAL_EQUIPMENT: '机械设备工程',
    STATIC_EQUIPMENT: '静置设备与工艺技术结构工程',
    ELECTRICAL: '电气工程',
    BUILDING_AUTOMATION: '建筑智能化工程',
    PIPELINE: '管道工程',
    FIRE_PROTECTION: '消防工程',
    PURIFICATION: '净化工程',
    VENTILATION_AIR_CONDITIONING: '通风与空调工程',
    EQUIPMENT_PIPE_ANTICORROSION_INSULATION: '设备及管道防腐蚀与绝热工程',
    INDUSTRIAL_FURNACE: '工业炉工程'
})
 
export const projectTypeRelationMap = new MapObject({
    HOUSE_CONSTRUCTION: ['RESIDENTIAL', 'COMMERCIAL'],
    MUNICIPAL_ADMINISTRATION: ['ROAD', 'BRIDGE'],
    CONSTRUCTION_WORK: ['CIVIL_WORKS', 'INDUSTRIAL_WORKS', 'STRUCTURE_WORKS'],
    CIVIL_WORKS: ['ROAD_WORKS', 'RAIL_TRANSPORTATION', 'BRIDGE_WORKS', 'TUNNEL_WORKS', 'HYDRAULIC_WORKS', 'MINING_WORKS', 'CABLE_PIPE_WORKS'],
    ELECTRICAL_ENGINEERING: ['MECHANICAL_EQUIPMENT', 'STATIC_EQUIPMENT', 'ELECTRICAL', 'BUILDING_AUTOMATION', 'PIPELINE', 'FIRE_PROTECTION', 'PURIFICATION', 'VENTILATION_AIR_CONDITIONING', 'EQUIPMENT_PIPE_ANTICORROSION_INSULATION', 'INDUSTRIAL_FURNACE']
})
 
export function getUsageTypeOptions(projectType) {
    let usageTypes = projectTypeRelationMapNew[projectType];
    if (!usageTypes) {
        return [];
    }
    return usageTypes.map(item => ({ value: item, label: projectUsageTypeMap[item] }))
}
 
export const projectTypeMapNew = new MapObject({
    HOUSE_CONSTRUCTION: '房建工程',
    MUNICIPAL_ADMINISTRATION: '市政工程',
    FIXED_ASSETS: '固定资产',
})
export const projectUsageTypeMapNew = new MapObject({
    RESIDENTIAL: '住宅',
    COMMERCIAL: '商业',
    ROAD: '道路',
    BRIDGE: '桥梁',
    TUNNEL_WORKS: '隧道工程',
    RETAIL: '仓储',
    FOOD: '餐饮',
    EDUCATION: '教育',
    MEDICAL_BEAUTY: '医疗美容',
    ENTERTAINMENT: '娱乐',
    HOTEL: '酒店',
    REFIT: '翻新改造',
    PUBLIC_PLACE: '公共场所',
    ENERGY_STATION: '能源站',
    MULTI_FUNCTION_COMPLEX: '综合体',
})
 
export const projectTypeRelationMapNew = new MapObject({
    HOUSE_CONSTRUCTION: ['RESIDENTIAL', 'COMMERCIAL'],
    MUNICIPAL_ADMINISTRATION: ['ROAD', 'BRIDGE', 'TUNNEL_WORKS'],
    FIXED_ASSETS: ['RETAIL', 'FOOD', 'EDUCATION', 'MEDICAL_BEAUTY', 'ENTERTAINMENT', 'HOTEL', 'REFIT', 'PUBLIC_PLACE', 'ENERGY_STATION', 'MULTI_FUNCTION_COMPLEX'],
})
 
export function getUsageTypeOptionsNew(projectType) {
    let usageTypes = projectTypeRelationMapNew[projectType];
    if (!usageTypes) {
        return [];
    }
    return usageTypes.map(item => ({ value: item, label: projectUsageTypeMapNew[item] }))
}
 
export const checkTaskStateMap = new MapObject({
    Init: '未开始',
    Published: '已发布',
    EXECUTING: '执行中',
    Finished: '已完成',
    Rejected: '已驳回',
    WaitForReview: '待复查',
    Reviewing: '复查中',
    Reviewed: '复查完成'
})
 
 
export const deviceTypeMap = new MapObject({
    TOWER_CRANE: '塔式起重机',
    CONSTRUCTION_LIFT: '施工升降机',
    MATERIAL_HOIST: '物料提升机',
    BRIDGE_CRANE: '桥式起重机',
    SUSPENDED_SCAFFOLDING: '附着式升降脚手架',
    MOBILE_CRANE: '流动式起重机',
    HIGH_ALTITUDE_BASKET: '高处作业吊篮',
    GANTRY_CRANE: '门式起重机',
    GANTRY_TROLLEY_CRANE: '架桥机',
    OTHER: '其他类型'
})
 
export const planTypeMap = new MapObject({
    SECURITY_CHECK: '安全检查',
    QUALITY_CHECK: '质量检查',
    COMPREHENSIVE_CHECK: '综合检查',
    EQUIPMENT_CHECK: '设备检查',
    OPERATION_CHECK: '运营检查'
})
 
export const planStateMap = new MapObject({
    PUBLISHED: '已发布',
    EXECUTING: '执行中',
    COMPLETE: '计划完成'
})
 
export const reportTemplateTypeMap = new MapObject({
    ThirdPartyReport: '第三方评估报告',
    DeviceReport: '设备风险评估报告',
})
 
export const archiveTypeMap = new MapObject({
    THIRD_PARTY_REPORT: '第三方报告',
    TRAINING_MATERIAL: '培训资料',
    STANDARD_SPECIFICATION: '标准规范',
    TECHNICAL_SERVICE_PLAN: '技术服务方案',
    INSPECTION_PHOTO: '检查照片'
})
 
export const projectSuperDangerousTypeMap = new MapObject({
    DEEP_FOUNDATION_PIT: '深基坑工程',
    TOOL_TEMPLATE: '工具式模板工程',
    TEMPLATE_SUPPORT: '模板支撑工程',
    STEEL_STRUCTURE_INSTALLATION: '钢结构安装满堂支撑体系',
    LIFTING_HOISTING: '起重吊装工程',
    CRANE_INSTALLATION_REMOVAL: '起重机械安装和拆卸工程',
    GROUND_STEEL_PIPE_SCAFFOLD: '落地式钢管脚手架工程',
    SUSPENDED_ASCENDING_SCAFFOLD: '附着式升降脚手架工程',
    CANTILEVER_SCAFFOLD: '悬挑式脚手架工程',
    HIGH_ALTITUDE_OPERATION_GONDOLA: '吊篮',
    DEMOLITION: '拆除工程',
    MINING_UNDERGROUND: '矿山法暗挖',
    SHIELD_TUNNELING: '盾构',
    PIPE_ROOFING: '顶管',
    BUILDING_CURTAIN_WALL: '建筑幕墙安装工程',
    STEEL_FRAME_TRUSS_TENSION: '钢结构网架和索膜结构安装工程',
    MANUAL_BORED_PILE: '人工挖孔桩工程',
    LARGE_STRUCTURE_MOVE: '大型结构整体顶升平移转体',
    UNDERWATER_OPERATION: '水下作业工程',
    FOUR_NEW_TECHNOLOGIES: '采用四新技术'
});
 
export const projectDangerousTypeMap = new MapObject({
    FOUNDATION_PIT: '基坑工程',
    FORMWORK_SUPPORT: '模板支撑工程',
    STEEL_STRUCTURE_INSTALLATION_SUPPORT_SYSTEM: '钢结构安装满堂支撑体系',
    HOISTING_AND_LIFTING: '起重吊装工程',
    CRANE_INSTALLATION: '起重机械进行安装的工程',
    CRANE_INSTALLATION_AND_DISMANTLING: '起重机械安装和拆卸工程',
    GROUND_PIPE_SCAFFOLD: '落地式钢管脚手架工程',
    SUSPENDED_SCAFFOLD: '附着式升降脚手架工程',
    CANTILEVER_SCAFFOLD: '悬挑式脚手架工程',
    HIGH_ALTITUDE_OPERATION_GONDOLA: '吊篮',
    UNLOADING_PLATFORM_OPERATION_PLATFORM: '卸料平台操作平台工程',
    IRREGULAR_SCAFFOLD: '异型脚手架工程',
    DEMOLITION: '拆除工程',
    BUILDING_CURTAIN_WALL_INSTALLATION: '建筑幕墙安装工程',
    STEEL_STRUCTURE_GRID_AND_MEMBRANE_STRUCTURE_INSTALLATION: '钢结构网架和索膜结构安装工程',
    MANUAL_BORED_PILE: '人工挖孔桩工程',
    PREFABRICATED_COMPONENT_INSTALLATION: '装配式建筑混凝土预制构件安装工程'
});
 
export const majorRiskTypeMap = new MapObject({
    HIGH_ALTITUDE_OPERATION: '高处作业',
    FIRE_OPERATION: '动火作业',
    LARGE_CONCRETE_CONSTRUCTION: '大体积混凝土浇筑',
    LIMITED_SPACE_OPERATION: '有限空间作业',
    OCCUPY_CONSTRUCTION: '占道施工',
    SINGLE_PERSON_OPERATION: '单人操作及作业',
    SPACE_INTERSECTION_OPERATION: '空间交叉作业',
});
 
export const incidentTypeMap = new MapObject({
    DEFAULT: '默认',
    VEHICLE_INJURY: '车辆伤害',
    CRANE_INJURY: '起重伤害',
    ELECTRIC_SHOCK: '触电'
});
 
export const expertFuncMap = new MapObject({
    FUZZY_FUNC: '模糊数学专家',
    SCORE_FUNC: '打分专家'
});
 
export const errorLevelMap = new MapObject({
    P1: '一级隐患',
    P2: '二级隐患',
    P3: '三级隐患',
    P4: '四级隐患',
});
 
export const errorReviewStateMap = new MapObject({
    NOT_REFORMED: '未整改',
    PARTIAL_REFORMED: '部分整改',
    REFORMED: '已整改'
});
 
//
export const inputLongStyle = {
    padding: '1px 10px',
    width: '250px'
}
 
export const provinceArr = [
    { value: '110000', label: '北京' },
    { value: '120000', label: '天津' },
    { value: '130000', label: '河北省' },
    { value: '140000', label: '山西省' },
    { value: '150000', label: '内蒙古自治区' },
    { value: '210000', label: '辽宁省' },
    { value: '220000', label: '吉林省' },
    { value: '230000', label: '黑龙江省' },
    { value: '310000', label: '上海' },
    { value: '320000', label: '江苏省' },
    { value: '330000', label: '浙江省' },
    { value: '340000', label: '安徽省' },
    { value: '350000', label: '福建省' },
    { value: '360000', label: '江西省' },
    { value: '370000', label: '山东省' },
    { value: '410000', label: '河南省' },
    { value: '420000', label: '湖北省' },
    { value: '430000', label: '湖南省' },
    { value: '440000', label: '广东省' },
    { value: '450000', label: '广西壮族自治区' },
    { value: '460000', label: '海南省' },
    { value: '500000', label: '重庆' },
    { value: '510000', label: '四川省' },
    { value: '520000', label: '贵州省' },
    { value: '530000', label: '云南省' },
    { value: '540000', label: '西藏自治区' },
    { value: '610000', label: '陕西省' },
    { value: '620000', label: '甘肃省' },
    { value: '630000', label: '青海省' },
    { value: '640000', label: '宁夏回族自治区' },
    { value: '650000', label: '新疆维吾尔自治区' }
]