中国算力平台算力登记系统2.0
yanzhaofeige
3 days ago 5cc82f45d73865489cc39e5ffbf521bf4279ec53
commit | author | age
5cc82f 1 <template>
Y 2   <div class="app-container">
3     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
4       <el-form-item label="规模类型" prop="type">
5         <el-select v-model="queryParams.type" placeholder="请选择规模类型" clearable>
6           <el-option
7             v-for="dict in dict.type.idc_scale_type"
8             :key="dict.value"
9             :label="dict.label"
10             :value="dict.value"
11           />
12         </el-select>
13       </el-form-item>
14       <el-form-item label="业务类型" prop="businessType">
15         <el-select v-model="queryParams.businessType" placeholder="请选择业务类型" clearable>
16           <el-option
17             v-for="dict in dict.type.idc_business_type"
18             :key="dict.value"
19             :label="dict.label"
20             :value="dict.value"
21           />
22         </el-select>
23       </el-form-item>
24       <el-form-item label="设计机架数" prop="frameNum">
25         <el-input
26           v-model="queryParams.frameNum"
27           placeholder="请输入设计机架数"
28           clearable
29           @keyup.enter.native="handleQuery"
30         />
31       </el-form-item>
32       <el-form-item label="设计机架功率" prop="framePower">
33         <el-input
34           v-model="queryParams.framePower"
35           placeholder="请输入设计机架功率"
36           clearable
37           @keyup.enter.native="handleQuery"
38         />
39       </el-form-item>
40       <el-form-item label="名称" prop="name">
41         <el-input
42           v-model="queryParams.name"
43           placeholder="请输入名称"
44           clearable
45           @keyup.enter.native="handleQuery"
46         />
47       </el-form-item>
48       <el-form-item label="省" prop="province">
49         <el-input
50           v-model="queryParams.province"
51           placeholder="请输入省"
52           clearable
53           @keyup.enter.native="handleQuery"
54         />
55       </el-form-item>
56       <el-form-item label="市" prop="city">
57         <el-input
58           v-model="queryParams.city"
59           placeholder="请输入市"
60           clearable
61           @keyup.enter.native="handleQuery"
62         />
63       </el-form-item>
64       <el-form-item label="区、县" prop="area">
65         <el-input
66           v-model="queryParams.area"
67           placeholder="请输入区、县"
68           clearable
69           @keyup.enter.native="handleQuery"
70         />
71       </el-form-item>
72       <el-form-item label="地址" prop="address">
73         <el-input
74           v-model="queryParams.address"
75           placeholder="请输入地址"
76           clearable
77           @keyup.enter.native="handleQuery"
78         />
79       </el-form-item>
80       <el-form-item label="补充地址" prop="addressExt">
81         <el-input
82           v-model="queryParams.addressExt"
83           placeholder="请输入补充地址"
84           clearable
85           @keyup.enter.native="handleQuery"
86         />
87       </el-form-item>
88       <el-form-item label="机楼" prop="building">
89         <el-input
90           v-model="queryParams.building"
91           placeholder="请输入机楼"
92           clearable
93           @keyup.enter.native="handleQuery"
94         />
95       </el-form-item>
96       <el-form-item label="运营主体统一社会信用代码" prop="creditCode">
97         <el-input
98           v-model="queryParams.creditCode"
99           placeholder="请输入运营主体统一社会信用代码"
100           clearable
101           @keyup.enter.native="handleQuery"
102         />
103       </el-form-item>
104       <el-form-item label="运营主体" prop="mainbody">
105         <el-input
106           v-model="queryParams.mainbody"
107           placeholder="请输入运营主体"
108           clearable
109           @keyup.enter.native="handleQuery"
110         />
111       </el-form-item>
112       <el-form-item label="运营公司总公司" prop="mainbodyHeader">
113         <el-select v-model="queryParams.mainbodyHeader" placeholder="请选择运营公司总公司" clearable>
114           <el-option
115             v-for="dict in dict.type.idc_base_mainbody_header"
116             :key="dict.value"
117             :label="dict.label"
118             :value="dict.value"
119           />
120         </el-select>
121       </el-form-item>
122       <el-form-item label="运营主体类型" prop="mainbodyType">
123         <el-select v-model="queryParams.mainbodyType" placeholder="请选择运营主体类型" clearable>
124           <el-option
125             v-for="dict in dict.type.idc_base_mainbody_type"
126             :key="dict.value"
127             :label="dict.label"
128             :value="dict.value"
129           />
130         </el-select>
131       </el-form-item>
132       <el-form-item label="建设初始投资" prop="investment">
133         <el-input
134           v-model="queryParams.investment"
135           placeholder="请输入建设初始投资"
136           clearable
137           @keyup.enter.native="handleQuery"
138         />
139       </el-form-item>
140       <el-form-item label="建设进度" prop="progress">
141         <el-input
142           v-model="queryParams.progress"
143           placeholder="请输入建设进度"
144           clearable
145           @keyup.enter.native="handleQuery"
146         />
147       </el-form-item>
148       <el-form-item label="投产时间" prop="productionTime">
149         <el-date-picker clearable
150           v-model="queryParams.productionTime"
151           type="date"
152           value-format="yyyy-MM-dd"
153           placeholder="请选择投产时间">
154         </el-date-picker>
155       </el-form-item>
156       <el-form-item label="数据中心建设等级或标准" prop="dcBuildingLevel">
157         <el-input
158           v-model="queryParams.dcBuildingLevel"
159           placeholder="请输入数据中心建设等级或标准"
160           clearable
161           @keyup.enter.native="handleQuery"
162         />
163       </el-form-item>
164       <el-form-item label="数据中心总设计面积" prop="dcAllArea">
165         <el-input
166           v-model="queryParams.dcAllArea"
167           placeholder="请输入数据中心总设计面积"
168           clearable
169           @keyup.enter.native="handleQuery"
170         />
171       </el-form-item>
172       <el-form-item label="IT机房面积" prop="dcItArea">
173         <el-input
174           v-model="queryParams.dcItArea"
175           placeholder="请输入IT机房面积"
176           clearable
177           @keyup.enter.native="handleQuery"
178         />
179       </el-form-item>
180       <el-form-item label="建筑形式" prop="buildingType">
181         <el-select v-model="queryParams.buildingType" placeholder="请选择建筑形式" clearable>
182           <el-option
183             v-for="dict in dict.type.idc_base_building_type"
184             :key="dict.value"
185             :label="dict.label"
186             :value="dict.value"
187           />
188         </el-select>
189       </el-form-item>
190       <el-form-item label="抗震级别" prop="seismicLevel">
191         <el-input
192           v-model="queryParams.seismicLevel"
193           placeholder="请输入抗震级别"
194           clearable
195           @keyup.enter.native="handleQuery"
196         />
197       </el-form-item>
198       <el-form-item label="应用类别" prop="useType">
199         <el-select v-model="queryParams.useType" placeholder="请选择应用类别" clearable>
200           <el-option
201             v-for="dict in dict.type.idc_use_type"
202             :key="dict.value"
203             :label="dict.label"
204             :value="dict.value"
205           />
206         </el-select>
207       </el-form-item>
208       <el-form-item label="设计PUE" prop="pueDesign">
209         <el-input
210           v-model="queryParams.pueDesign"
211           placeholder="请输入设计PUE"
212           clearable
213           @keyup.enter.native="handleQuery"
214         />
215       </el-form-item>
216       <el-form-item label="设计耗水量(年)" prop="waterDesign">
217         <el-input
218           v-model="queryParams.waterDesign"
219           placeholder="请输入设计耗水量(年)"
220           clearable
221           @keyup.enter.native="handleQuery"
222         />
223       </el-form-item>
224       <el-form-item label="链接的运营商" prop="netOperator">
225         <el-select v-model="queryParams.netOperator" placeholder="请选择链接的运营商" clearable>
226           <el-option
227             v-for="dict in dict.type.idc_net_operator"
228             :key="dict.value"
229             :label="dict.label"
230             :value="dict.value"
231           />
232         </el-select>
233       </el-form-item>
234       <el-form-item label="链接的运营商_其它" prop="netOperatorOther">
235         <el-input
236           v-model="queryParams.netOperatorOther"
237           placeholder="请输入链接的运营商_其它"
238           clearable
239           @keyup.enter.native="handleQuery"
240         />
241       </el-form-item>
242       <el-form-item label="接入网络级别" prop="netLevel">
243         <el-input
244           v-model="queryParams.netLevel"
245           placeholder="请输入接入网络级别"
246           clearable
247           @keyup.enter.native="handleQuery"
248         />
249       </el-form-item>
250       <el-form-item label="排序" prop="sort">
251         <el-input
252           v-model="queryParams.sort"
253           placeholder="请输入排序"
254           clearable
255           @keyup.enter.native="handleQuery"
256         />
257       </el-form-item>
258       <el-form-item label="状态0: 1   2" prop="state">
259         <el-input
260           v-model="queryParams.state"
261           placeholder="请输入状态0: 1   2"
262           clearable
263           @keyup.enter.native="handleQuery"
264         />
265       </el-form-item>
266       <el-form-item label="是否可用" prop="isEnable">
267         <el-input
268           v-model="queryParams.isEnable"
269           placeholder="请输入是否可用"
270           clearable
271           @keyup.enter.native="handleQuery"
272         />
273       </el-form-item>
274       <el-form-item label="创建者" prop="createUser">
275         <el-input
276           v-model="queryParams.createUser"
277           placeholder="请输入创建者"
278           clearable
279           @keyup.enter.native="handleQuery"
280         />
281       </el-form-item>
282       <el-form-item>
283         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
284         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
285       </el-form-item>
286     </el-form>
287
288     <el-row :gutter="10" class="mb8">
289       <el-col :span="1.5">
290         <el-button
291           type="primary"
292           plain
293           icon="el-icon-plus"
294           size="mini"
295           @click="handleAdd"
296           v-hasPermi="['bis:buildBase:add']"
297         >新增</el-button>
298       </el-col>
299       <el-col :span="1.5">
300         <el-button
301           type="success"
302           plain
303           icon="el-icon-edit"
304           size="mini"
305           :disabled="single"
306           @click="handleUpdate"
307           v-hasPermi="['bis:buildBase:edit']"
308         >修改</el-button>
309       </el-col>
310       <el-col :span="1.5">
311         <el-button
312           type="danger"
313           plain
314           icon="el-icon-delete"
315           size="mini"
316           :disabled="multiple"
317           @click="handleDelete"
318           v-hasPermi="['bis:buildBase:remove']"
319         >删除</el-button>
320       </el-col>
321       <el-col :span="1.5">
322         <el-button
323           type="warning"
324           plain
325           icon="el-icon-download"
326           size="mini"
327           @click="handleExport"
328           v-hasPermi="['bis:buildBase:export']"
329         >导出</el-button>
330       </el-col>
331       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
332     </el-row>
333
334     <el-table v-loading="loading" :data="buildBaseList" @selection-change="handleSelectionChange">
335       <el-table-column type="selection" width="55" align="center" />
336       <el-table-column label="序号" align="center" prop="id" />
337       <el-table-column label="规模类型" align="center" prop="type">
338         <template slot-scope="scope">
339           <dict-tag :options="dict.type.idc_scale_type" :value="scope.row.type"/>
340         </template>
341       </el-table-column>
342       <el-table-column label="业务类型" align="center" prop="businessType">
343         <template slot-scope="scope">
344           <dict-tag :options="dict.type.idc_business_type" :value="scope.row.businessType"/>
345         </template>
346       </el-table-column>
347       <el-table-column label="设计机架数" align="center" prop="frameNum" />
348       <el-table-column label="设计机架功率" align="center" prop="framePower" />
349       <el-table-column label="名称" align="center" prop="name" />
350       <el-table-column label="省" align="center" prop="province" />
351       <el-table-column label="市" align="center" prop="city" />
352       <el-table-column label="区、县" align="center" prop="area" />
353       <el-table-column label="地址" align="center" prop="address" />
354       <el-table-column label="补充地址" align="center" prop="addressExt" />
355       <el-table-column label="机楼" align="center" prop="building" />
356       <el-table-column label="运营主体统一社会信用代码" align="center" prop="creditCode" />
357       <el-table-column label="运营主体" align="center" prop="mainbody" />
358       <el-table-column label="运营公司总公司" align="center" prop="mainbodyHeader">
359         <template slot-scope="scope">
360           <dict-tag :options="dict.type.idc_base_mainbody_header" :value="scope.row.mainbodyHeader"/>
361         </template>
362       </el-table-column>
363       <el-table-column label="运营主体类型" align="center" prop="mainbodyType">
364         <template slot-scope="scope">
365           <dict-tag :options="dict.type.idc_base_mainbody_type" :value="scope.row.mainbodyType"/>
366         </template>
367       </el-table-column>
368       <el-table-column label="建设初始投资" align="center" prop="investment" />
369       <el-table-column label="建设进度" align="center" prop="progress" />
370       <el-table-column label="投产时间" align="center" prop="productionTime" width="180">
371         <template slot-scope="scope">
372           <span>{{ parseTime(scope.row.productionTime, '{y}-{m}-{d}') }}</span>
373         </template>
374       </el-table-column>
375       <el-table-column label="数据中心建设等级或标准" align="center" prop="dcBuildingLevel" />
376       <el-table-column label="数据中心总设计面积" align="center" prop="dcAllArea" />
377       <el-table-column label="IT机房面积" align="center" prop="dcItArea" />
378       <el-table-column label="建筑形式" align="center" prop="buildingType">
379         <template slot-scope="scope">
380           <dict-tag :options="dict.type.idc_base_building_type" :value="scope.row.buildingType"/>
381         </template>
382       </el-table-column>
383       <el-table-column label="抗震级别" align="center" prop="seismicLevel" />
384       <el-table-column label="应用类别" align="center" prop="useType">
385         <template slot-scope="scope">
386           <dict-tag :options="dict.type.idc_use_type" :value="scope.row.useType"/>
387         </template>
388       </el-table-column>
389       <el-table-column label="设计PUE" align="center" prop="pueDesign" />
390       <el-table-column label="设计耗水量(年)" align="center" prop="waterDesign" />
391       <el-table-column label="链接的运营商" align="center" prop="netOperator">
392         <template slot-scope="scope">
393           <dict-tag :options="dict.type.idc_net_operator" :value="scope.row.netOperator"/>
394         </template>
395       </el-table-column>
396       <el-table-column label="链接的运营商_其它" align="center" prop="netOperatorOther" />
397       <el-table-column label="接入网络级别" align="center" prop="netLevel">
398         <template slot-scope="scope">
399           <dict-tag :options="dict.type.idc_net_level" :value="scope.row.netLevel"/>
400         </template>
401       </el-table-column>
402       <el-table-column label="管理员备注及信息反馈" align="center" prop="remark" />
403       <el-table-column label="排序" align="center" prop="sort" />
404       <el-table-column label="管理员反馈信息" align="center" prop="message" />
405       <el-table-column label="状态0: 1   2" align="center" prop="state">
406         <template slot-scope="scope">
407           <dict-tag :options="dict.type.idc_process_status" :value="scope.row.state"/>
408         </template>
409       </el-table-column>
410       <el-table-column label="是否可用" align="center" prop="isEnable">
411         <template slot-scope="scope">
412           <dict-tag :options="dict.type.idc_yes_no" :value="scope.row.isEnable"/>
413         </template>
414       </el-table-column>
415       <el-table-column label="创建者" align="center" prop="createUser" />
416       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
417         <template slot-scope="scope">
418           <el-button
419             size="mini"
420             type="text"
421             icon="el-icon-edit"
422             @click="handleUpdate(scope.row)"
423             v-hasPermi="['bis:buildBase:edit']"
424           >修改</el-button>
425           <el-button
426             size="mini"
427             type="text"
428             icon="el-icon-delete"
429             @click="handleDelete(scope.row)"
430             v-hasPermi="['bis:buildBase:remove']"
431           >删除</el-button>
432         </template>
433       </el-table-column>
434     </el-table>
435     
436     <pagination
437       v-show="total>0"
438       :total="total"
439       :page.sync="queryParams.pageNum"
440       :limit.sync="queryParams.pageSize"
441       @pagination="getList"
442     />
443
444     <!-- 添加或修改在建数据中心对话框 -->
445     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
446       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
447         <el-form-item label="规模类型" prop="type">
448           <el-radio-group v-model="form.type">
449             <el-radio
450               v-for="dict in dict.type.idc_scale_type"
451               :key="dict.value"
452               :label="parseInt(dict.value)"
453             >{{dict.label}}</el-radio>
454           </el-radio-group>
455         </el-form-item>
456         <el-form-item label="业务类型" prop="businessType">
457           <el-radio-group v-model="form.businessType">
458             <el-radio
459               v-for="dict in dict.type.idc_business_type"
460               :key="dict.value"
461               :label="parseInt(dict.value)"
462             >{{dict.label}}</el-radio>
463           </el-radio-group>
464         </el-form-item>
465         <el-form-item label="设计机架数" prop="frameNum">
466           <el-input v-model="form.frameNum" placeholder="请输入设计机架数" />
467         </el-form-item>
468         <el-form-item label="设计机架功率" prop="framePower">
469           <el-input v-model="form.framePower" placeholder="请输入设计机架功率" />
470         </el-form-item>
471         <el-form-item label="名称" prop="name">
472           <el-input v-model="form.name" placeholder="请输入名称" />
473         </el-form-item>
474         <el-form-item label="省" prop="province">
475           <el-input v-model="form.province" placeholder="请输入省" />
476         </el-form-item>
477         <el-form-item label="市" prop="city">
478           <el-input v-model="form.city" placeholder="请输入市" />
479         </el-form-item>
480         <el-form-item label="区、县" prop="area">
481           <el-input v-model="form.area" placeholder="请输入区、县" />
482         </el-form-item>
483         <el-form-item label="地址" prop="address">
484           <el-input v-model="form.address" placeholder="请输入地址" />
485         </el-form-item>
486         <el-form-item label="补充地址" prop="addressExt">
487           <el-input v-model="form.addressExt" placeholder="请输入补充地址" />
488         </el-form-item>
489         <el-form-item label="机楼" prop="building">
490           <el-input v-model="form.building" placeholder="请输入机楼" />
491         </el-form-item>
492         <el-form-item label="运营主体统一社会信用代码" prop="creditCode">
493           <el-input v-model="form.creditCode" placeholder="请输入运营主体统一社会信用代码" />
494         </el-form-item>
495         <el-form-item label="运营主体" prop="mainbody">
496           <el-input v-model="form.mainbody" placeholder="请输入运营主体" />
497         </el-form-item>
498         <el-form-item label="运营公司总公司" prop="mainbodyHeader">
499           <el-select v-model="form.mainbodyHeader" placeholder="请选择运营公司总公司">
500             <el-option
501               v-for="dict in dict.type.idc_base_mainbody_header"
502               :key="dict.value"
503               :label="dict.label"
504               :value="dict.value"
505             ></el-option>
506           </el-select>
507         </el-form-item>
508         <el-form-item label="运营主体类型" prop="mainbodyType">
509           <el-select v-model="form.mainbodyType" placeholder="请选择运营主体类型">
510             <el-option
511               v-for="dict in dict.type.idc_base_mainbody_type"
512               :key="dict.value"
513               :label="dict.label"
514               :value="dict.value"
515             ></el-option>
516           </el-select>
517         </el-form-item>
518         <el-form-item label="建设初始投资" prop="investment">
519           <el-input v-model="form.investment" placeholder="请输入建设初始投资" />
520         </el-form-item>
521         <el-form-item label="建设进度" prop="progress">
522           <el-input v-model="form.progress" placeholder="请输入建设进度" />
523         </el-form-item>
524         <el-form-item label="投产时间" prop="productionTime">
525           <el-date-picker clearable
526             v-model="form.productionTime"
527             type="date"
528             value-format="yyyy-MM-dd"
529             placeholder="请选择投产时间">
530           </el-date-picker>
531         </el-form-item>
532         <el-form-item label="数据中心建设等级或标准" prop="dcBuildingLevel">
533           <el-input v-model="form.dcBuildingLevel" placeholder="请输入数据中心建设等级或标准" />
534         </el-form-item>
535         <el-form-item label="数据中心总设计面积" prop="dcAllArea">
536           <el-input v-model="form.dcAllArea" placeholder="请输入数据中心总设计面积" />
537         </el-form-item>
538         <el-form-item label="IT机房面积" prop="dcItArea">
539           <el-input v-model="form.dcItArea" placeholder="请输入IT机房面积" />
540         </el-form-item>
541         <el-form-item label="建筑形式" prop="buildingType">
542           <el-select v-model="form.buildingType" placeholder="请选择建筑形式">
543             <el-option
544               v-for="dict in dict.type.idc_base_building_type"
545               :key="dict.value"
546               :label="dict.label"
547               :value="dict.value"
548             ></el-option>
549           </el-select>
550         </el-form-item>
551         <el-form-item label="抗震级别" prop="seismicLevel">
552           <el-input v-model="form.seismicLevel" placeholder="请输入抗震级别" />
553         </el-form-item>
554         <el-form-item label="应用类别" prop="useType">
555           <el-select v-model="form.useType" placeholder="请选择应用类别">
556             <el-option
557               v-for="dict in dict.type.idc_use_type"
558               :key="dict.value"
559               :label="dict.label"
560               :value="dict.value"
561             ></el-option>
562           </el-select>
563         </el-form-item>
564         <el-form-item label="设计PUE" prop="pueDesign">
565           <el-input v-model="form.pueDesign" placeholder="请输入设计PUE" />
566         </el-form-item>
567         <el-form-item label="设计耗水量(年)" prop="waterDesign">
568           <el-input v-model="form.waterDesign" placeholder="请输入设计耗水量(年)" />
569         </el-form-item>
570         <el-form-item label="链接的运营商" prop="netOperator">
571           <el-select v-model="form.netOperator" placeholder="请选择链接的运营商">
572             <el-option
573               v-for="dict in dict.type.idc_net_operator"
574               :key="dict.value"
575               :label="dict.label"
576               :value="dict.value"
577             ></el-option>
578           </el-select>
579         </el-form-item>
580         <el-form-item label="链接的运营商_其它" prop="netOperatorOther">
581           <el-input v-model="form.netOperatorOther" placeholder="请输入链接的运营商_其它" />
582         </el-form-item>
583         <el-form-item label="接入网络级别" prop="netLevel">
584           <el-input v-model="form.netLevel" placeholder="请输入接入网络级别" />
585         </el-form-item>
586         <el-form-item label="管理员备注及信息反馈" prop="remark">
587           <el-input v-model="form.remark" placeholder="请输入管理员备注及信息反馈" />
588         </el-form-item>
589         <el-form-item label="排序" prop="sort">
590           <el-input v-model="form.sort" placeholder="请输入排序" />
591         </el-form-item>
592         <el-form-item label="管理员反馈信息" prop="message">
593           <el-input v-model="form.message" type="textarea" placeholder="请输入内容" />
594         </el-form-item>
595         <el-form-item label="状态0: 1   2" prop="state">
596           <el-input v-model="form.state" placeholder="请输入状态0: 1   2" />
597         </el-form-item>
598         <el-form-item label="是否可用" prop="isEnable">
599           <el-input v-model="form.isEnable" placeholder="请输入是否可用" />
600         </el-form-item>
601         <el-form-item label="创建者" prop="createUser">
602           <el-input v-model="form.createUser" placeholder="请输入创建者" />
603         </el-form-item>
604       </el-form>
605       <div slot="footer" class="dialog-footer">
606         <el-button type="primary" @click="submitForm">确 定</el-button>
607         <el-button @click="cancel">取 消</el-button>
608       </div>
609     </el-dialog>
610   </div>
611 </template>
612
613 <script>
614 import { listBuildBase, getBuildBase, delBuildBase, addBuildBase, updateBuildBase } from "@/api/bis/buildBase";
615
616 export default {
617   name: "BuildBase",
618   dicts: ['idc_base_mainbody_header', 'idc_business_type', 'idc_base_mainbody_type', 'idc_scale_type', 'idc_net_operator', 'idc_base_building_type', 'idc_use_type'],
619   data() {
620     return {
621       // 遮罩层
622       loading: true,
623       // 选中数组
624       ids: [],
625       // 非单个禁用
626       single: true,
627       // 非多个禁用
628       multiple: true,
629       // 显示搜索条件
630       showSearch: true,
631       // 总条数
632       total: 0,
633       // 在建数据中心表格数据
634       buildBaseList: [],
635       // 弹出层标题
636       title: "",
637       // 是否显示弹出层
638       open: false,
639       // 查询参数
640       queryParams: {
641         pageNum: 1,
642         pageSize: 10,
643         type: null,
644         businessType: null,
645         frameNum: null,
646         framePower: null,
647         name: null,
648         province: null,
649         city: null,
650         area: null,
651         address: null,
652         addressExt: null,
653         building: null,
654         creditCode: null,
655         mainbody: null,
656         mainbodyHeader: null,
657         mainbodyType: null,
658         investment: null,
659         progress: null,
660         productionTime: null,
661         dcBuildingLevel: null,
662         dcAllArea: null,
663         dcItArea: null,
664         buildingType: null,
665         seismicLevel: null,
666         useType: null,
667         pueDesign: null,
668         waterDesign: null,
669         netOperator: null,
670         netOperatorOther: null,
671         netLevel: null,
672         sort: null,
673         message: null,
674         state: null,
675         isEnable: null,
676         createUser: null
677       },
678       // 表单参数
679       form: {},
680       // 表单校验
681       rules: {
682         type: [
683           { required: true, message: "规模类型不能为空", trigger: "change" }
684         ],
685         businessType: [
686           { required: true, message: "业务类型不能为空", trigger: "change" }
687         ],
688         frameNum: [
689           { required: true, message: "设计机架数不能为空", trigger: "blur" }
690         ],
691         framePower: [
692           { required: true, message: "设计机架功率不能为空", trigger: "blur" }
693         ],
694         name: [
695           { required: true, message: "名称不能为空", trigger: "blur" }
696         ],
697         province: [
698           { required: true, message: "省不能为空", trigger: "blur" }
699         ],
700         city: [
701           { required: true, message: "市不能为空", trigger: "blur" }
702         ],
703         area: [
704           { required: true, message: "区、县不能为空", trigger: "blur" }
705         ],
706         address: [
707           { required: true, message: "地址不能为空", trigger: "blur" }
708         ],
709         building: [
710           { required: true, message: "机楼不能为空", trigger: "blur" }
711         ],
712         creditCode: [
713           { required: true, message: "运营主体统一社会信用代码不能为空", trigger: "blur" }
714         ],
715         mainbody: [
716           { required: true, message: "运营主体不能为空", trigger: "blur" }
717         ],
718         mainbodyHeader: [
719           { required: true, message: "运营公司总公司不能为空", trigger: "change" }
720         ],
721         mainbodyType: [
722           { required: true, message: "运营主体类型不能为空", trigger: "change" }
723         ],
724         progress: [
725           { required: true, message: "建设进度不能为空", trigger: "blur" }
726         ],
727         productionTime: [
728           { required: true, message: "投产时间不能为空", trigger: "blur" }
729         ],
730         dcBuildingLevel: [
731           { required: true, message: "数据中心建设等级或标准不能为空", trigger: "blur" }
732         ],
733         dcAllArea: [
734           { required: true, message: "数据中心总设计面积不能为空", trigger: "blur" }
735         ],
736         dcItArea: [
737           { required: true, message: "IT机房面积不能为空", trigger: "blur" }
738         ],
739         buildingType: [
740           { required: true, message: "建筑形式不能为空", trigger: "change" }
741         ],
742         seismicLevel: [
743           { required: true, message: "抗震级别不能为空", trigger: "blur" }
744         ],
745         useType: [
746           { required: true, message: "应用类别不能为空", trigger: "change" }
747         ],
748         pueDesign: [
749           { required: true, message: "设计PUE不能为空", trigger: "blur" }
750         ],
751         waterDesign: [
752           { required: true, message: "设计耗水量(年)不能为空", trigger: "blur" }
753         ],
754         netOperator: [
755           { required: true, message: "链接的运营商不能为空", trigger: "change" }
756         ],
757         netLevel: [
758           { required: true, message: "接入网络级别不能为空", trigger: "blur" }
759         ],
760         createUser: [
761           { required: true, message: "创建者不能为空", trigger: "blur" }
762         ]
763       }
764     };
765   },
766   created() {
767     this.getList();
768   },
769   methods: {
770     /** 查询在建数据中心列表 */
771     getList() {
772       this.loading = true;
773       listBuildBase(this.queryParams).then(response => {
774         this.buildBaseList = response.rows;
775         this.total = response.total;
776         this.loading = false;
777       });
778     },
779     // 取消按钮
780     cancel() {
781       this.open = false;
782       this.reset();
783     },
784     // 表单重置
785     reset() {
786       this.form = {
787         id: null,
788         type: null,
789         businessType: null,
790         frameNum: null,
791         framePower: null,
792         name: null,
793         province: null,
794         city: null,
795         area: null,
796         address: null,
797         addressExt: null,
798         building: null,
799         creditCode: null,
800         mainbody: null,
801         mainbodyHeader: null,
802         mainbodyType: null,
803         investment: null,
804         progress: null,
805         productionTime: null,
806         dcBuildingLevel: null,
807         dcAllArea: null,
808         dcItArea: null,
809         buildingType: null,
810         seismicLevel: null,
811         useType: null,
812         pueDesign: null,
813         waterDesign: null,
814         netOperator: null,
815         netOperatorOther: null,
816         netLevel: null,
817         remark: null,
818         sort: null,
819         message: null,
820         state: null,
821         isEnable: null,
822         createTime: null,
823         updateTime: null,
824         createUser: null
825       };
826       this.resetForm("form");
827     },
828     /** 搜索按钮操作 */
829     handleQuery() {
830       this.queryParams.pageNum = 1;
831       this.getList();
832     },
833     /** 重置按钮操作 */
834     resetQuery() {
835       this.resetForm("queryForm");
836       this.handleQuery();
837     },
838     // 多选框选中数据
839     handleSelectionChange(selection) {
840       this.ids = selection.map(item => item.id)
841       this.single = selection.length!==1
842       this.multiple = !selection.length
843     },
844     /** 新增按钮操作 */
845     handleAdd() {
846       this.reset();
847       this.open = true;
848       this.title = "添加在建数据中心";
849     },
850     /** 修改按钮操作 */
851     handleUpdate(row) {
852       this.reset();
853       const id = row.id || this.ids
854       getBuildBase(id).then(response => {
855         this.form = response.data;
856         this.open = true;
857         this.title = "修改在建数据中心";
858       });
859     },
860     /** 提交按钮 */
861     submitForm() {
862       this.$refs["form"].validate(valid => {
863         if (valid) {
864           if (this.form.id != null) {
865             updateBuildBase(this.form).then(response => {
866               this.$modal.msgSuccess("修改成功");
867               this.open = false;
868               this.getList();
869             });
870           } else {
871             addBuildBase(this.form).then(response => {
872               this.$modal.msgSuccess("新增成功");
873               this.open = false;
874               this.getList();
875             });
876           }
877         }
878       });
879     },
880     /** 删除按钮操作 */
881     handleDelete(row) {
882       const ids = row.id || this.ids;
883       this.$modal.confirm('是否确认删除在建数据中心编号为"' + ids + '"的数据项?').then(function() {
884         return delBuildBase(ids);
885       }).then(() => {
886         this.getList();
887         this.$modal.msgSuccess("删除成功");
888       }).catch(() => {});
889     },
890     /** 导出按钮操作 */
891     handleExport() {
892       this.download('bis/buildBase/export', {
893         ...this.queryParams
894       }, `buildBase_${new Date().getTime()}.xlsx`)
895     }
896   }
897 };
898 </script>