中国算力平台算力登记系统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="数据中心 ID" prop="baseId">
5         <el-input
6           v-model="queryParams.baseId"
7           placeholder="请输入数据中心 ID"
8           clearable
9           @keyup.enter.native="handleQuery"
10         />
11       </el-form-item>
12       <el-form-item label="日期节点" prop="dateNode">
13         <el-input
14           v-model="queryParams.dateNode"
15           placeholder="请输入日期节点"
16           clearable
17           @keyup.enter.native="handleQuery"
18         />
19       </el-form-item>
20       <el-form-item label="交付机架数(个)" prop="deliveryScale">
21         <el-input
22           v-model="queryParams.deliveryScale"
23           placeholder="请输入交付机架数(个)"
24           clearable
25           @keyup.enter.native="handleQuery"
26         />
27       </el-form-item>
28       <el-form-item label="下一年交付机架数" prop="deliveryNext">
29         <el-input
30           v-model="queryParams.deliveryNext"
31           placeholder="请输入下一年交付机架数"
32           clearable
33           @keyup.enter.native="handleQuery"
34         />
35       </el-form-item>
36       <el-form-item label="下两年交付机架数" prop="deliverySecond">
37         <el-input
38           v-model="queryParams.deliverySecond"
39           placeholder="请输入下两年交付机架数"
40           clearable
41           @keyup.enter.native="handleQuery"
42         />
43       </el-form-item>
44       <el-form-item label="电价(元/wkh)" prop="electricityPrice">
45         <el-input
46           v-model="queryParams.electricityPrice"
47           placeholder="请输入电价(元/wkh)"
48           clearable
49           @keyup.enter.native="handleQuery"
50         />
51       </el-form-item>
52       <el-form-item label="网络出口带宽(Gbps)" prop="netBandwidth">
53         <el-input
54           v-model="queryParams.netBandwidth"
55           placeholder="请输入网络出口带宽(Gbps)"
56           clearable
57           @keyup.enter.native="handleQuery"
58         />
59       </el-form-item>
60       <el-form-item label="算力规模" prop="computationalScale">
61         <el-input
62           v-model="queryParams.computationalScale"
63           placeholder="请输入算力规模"
64           clearable
65           @keyup.enter.native="handleQuery"
66         />
67       </el-form-item>
68       <el-form-item label="清洁能源利用率  【需要填写%】" prop="cleanEnergy">
69         <el-input
70           v-model="queryParams.cleanEnergy"
71           placeholder="请输入清洁能源利用率  【需要填写%】"
72           clearable
73           @keyup.enter.native="handleQuery"
74         />
75       </el-form-item>
76       <el-form-item label="填报联系人" prop="formName">
77         <el-input
78           v-model="queryParams.formName"
79           placeholder="请输入填报联系人"
80           clearable
81           @keyup.enter.native="handleQuery"
82         />
83       </el-form-item>
84       <el-form-item label="填报联系电话" prop="formTel">
85         <el-input
86           v-model="queryParams.formTel"
87           placeholder="请输入填报联系电话"
88           clearable
89           @keyup.enter.native="handleQuery"
90         />
91       </el-form-item>
92       <el-form-item label="设计耗水量(年)(万吨)" prop="waterYearDesign">
93         <el-input
94           v-model="queryParams.waterYearDesign"
95           placeholder="请输入设计耗水量(年)(万吨)"
96           clearable
97           @keyup.enter.native="handleQuery"
98         />
99       </el-form-item>
100       <el-form-item label="装机服务器总数单位U" prop="sumU">
101         <el-input
102           v-model="queryParams.sumU"
103           placeholder="请输入装机服务器总数单位U"
104           clearable
105           @keyup.enter.native="handleQuery"
106         />
107       </el-form-item>
108       <el-form-item label="排序" prop="sort">
109         <el-input
110           v-model="queryParams.sort"
111           placeholder="请输入排序"
112           clearable
113           @keyup.enter.native="handleQuery"
114         />
115       </el-form-item>
116       <el-form-item label="数据提交状态" prop="state">
117         <el-input
118           v-model="queryParams.state"
119           placeholder="请输入数据提交状态"
120           clearable
121           @keyup.enter.native="handleQuery"
122         />
123       </el-form-item>
124       <el-form-item label="创建者" prop="createUser">
125         <el-input
126           v-model="queryParams.createUser"
127           placeholder="请输入创建者"
128           clearable
129           @keyup.enter.native="handleQuery"
130         />
131       </el-form-item>
132       <el-form-item label="更新者" prop="updateUser">
133         <el-input
134           v-model="queryParams.updateUser"
135           placeholder="请输入更新者"
136           clearable
137           @keyup.enter.native="handleQuery"
138         />
139       </el-form-item>
140       <el-form-item>
141         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
142         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
143       </el-form-item>
144     </el-form>
145
146     <el-row :gutter="10" class="mb8">
147       <el-col :span="1.5">
148         <el-button
149           type="primary"
150           plain
151           icon="el-icon-plus"
152           size="mini"
153           @click="handleAdd"
154           v-hasPermi="['bis:buildExtend:add']"
155         >新增</el-button>
156       </el-col>
157       <el-col :span="1.5">
158         <el-button
159           type="success"
160           plain
161           icon="el-icon-edit"
162           size="mini"
163           :disabled="single"
164           @click="handleUpdate"
165           v-hasPermi="['bis:buildExtend:edit']"
166         >修改</el-button>
167       </el-col>
168       <el-col :span="1.5">
169         <el-button
170           type="danger"
171           plain
172           icon="el-icon-delete"
173           size="mini"
174           :disabled="multiple"
175           @click="handleDelete"
176           v-hasPermi="['bis:buildExtend:remove']"
177         >删除</el-button>
178       </el-col>
179       <el-col :span="1.5">
180         <el-button
181           type="warning"
182           plain
183           icon="el-icon-download"
184           size="mini"
185           @click="handleExport"
186           v-hasPermi="['bis:buildExtend:export']"
187         >导出</el-button>
188       </el-col>
189       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
190     </el-row>
191
192     <el-table v-loading="loading" :data="buildExtendList" @selection-change="handleSelectionChange">
193       <el-table-column type="selection" width="55" align="center" />
194       <el-table-column label="序号" align="center" prop="id" />
195       <el-table-column label="数据中心 ID" align="center" prop="baseId" />
196       <el-table-column label="日期节点" align="center" prop="dateNode" />
197       <el-table-column label="交付机架数(个)" align="center" prop="deliveryScale" />
198       <el-table-column label="下一年交付机架数" align="center" prop="deliveryNext" />
199       <el-table-column label="下两年交付机架数" align="center" prop="deliverySecond" />
200       <el-table-column label="电价(元/wkh)" align="center" prop="electricityPrice" />
201       <el-table-column label="网络出口带宽(Gbps)" align="center" prop="netBandwidth" />
202       <el-table-column label="算力规模" align="center" prop="computationalScale" />
203       <el-table-column label="清洁能源利用率  【需要填写%】" align="center" prop="cleanEnergy" />
204       <el-table-column label="采用清洁能源类型" align="center" prop="cleanEnergyType">
205         <template slot-scope="scope">
206           <dict-tag :options="dict.type.idc_green_clean_energy_type" :value="scope.row.cleanEnergyType ? scope.row.cleanEnergyType.split(',') : []"/>
207         </template>
208       </el-table-column>
209       <el-table-column label="填报联系人" align="center" prop="formName" />
210       <el-table-column label="填报联系电话" align="center" prop="formTel" />
211       <el-table-column label="设计耗水量(年)(万吨)" align="center" prop="waterYearDesign" />
212       <el-table-column label="装机服务器总数单位U" align="center" prop="sumU" />
213       <el-table-column label="排序" align="center" prop="sort" />
214       <el-table-column label="数据提交状态" align="center" prop="state" />
215       <el-table-column label="创建者" align="center" prop="createUser" />
216       <el-table-column label="更新者" align="center" prop="updateUser" />
217       <el-table-column label="管理员备注" align="center" prop="remark" />
218       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
219         <template slot-scope="scope">
220           <el-button
221             size="mini"
222             type="text"
223             icon="el-icon-edit"
224             @click="handleUpdate(scope.row)"
225             v-hasPermi="['bis:buildExtend:edit']"
226           >修改</el-button>
227           <el-button
228             size="mini"
229             type="text"
230             icon="el-icon-delete"
231             @click="handleDelete(scope.row)"
232             v-hasPermi="['bis:buildExtend:remove']"
233           >删除</el-button>
234         </template>
235       </el-table-column>
236     </el-table>
237     
238     <pagination
239       v-show="total>0"
240       :total="total"
241       :page.sync="queryParams.pageNum"
242       :limit.sync="queryParams.pageSize"
243       @pagination="getList"
244     />
245
246     <!-- 添加或修改IDC在建扩展信息对话框 -->
247     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
248       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
249         <el-form-item label="数据中心 ID" prop="baseId">
250           <el-input v-model="form.baseId" placeholder="请输入数据中心 ID" />
251         </el-form-item>
252         <el-form-item label="日期节点" prop="dateNode">
253           <el-input v-model="form.dateNode" placeholder="请输入日期节点" />
254         </el-form-item>
255         <el-form-item label="交付机架数(个)" prop="deliveryScale">
256           <el-input v-model="form.deliveryScale" placeholder="请输入交付机架数(个)" />
257         </el-form-item>
258         <el-form-item label="下一年交付机架数" prop="deliveryNext">
259           <el-input v-model="form.deliveryNext" placeholder="请输入下一年交付机架数" />
260         </el-form-item>
261         <el-form-item label="下两年交付机架数" prop="deliverySecond">
262           <el-input v-model="form.deliverySecond" placeholder="请输入下两年交付机架数" />
263         </el-form-item>
264         <el-form-item label="电价(元/wkh)" prop="electricityPrice">
265           <el-input v-model="form.electricityPrice" placeholder="请输入电价(元/wkh)" />
266         </el-form-item>
267         <el-form-item label="网络出口带宽(Gbps)" prop="netBandwidth">
268           <el-input v-model="form.netBandwidth" placeholder="请输入网络出口带宽(Gbps)" />
269         </el-form-item>
270         <el-form-item label="算力规模" prop="computationalScale">
271           <el-input v-model="form.computationalScale" placeholder="请输入算力规模" />
272         </el-form-item>
273         <el-form-item label="清洁能源利用率  【需要填写%】" prop="cleanEnergy">
274           <el-input v-model="form.cleanEnergy" placeholder="请输入清洁能源利用率  【需要填写%】" />
275         </el-form-item>
276         <el-form-item label="采用清洁能源类型" prop="cleanEnergyType">
277           <el-checkbox-group v-model="form.cleanEnergyType">
278             <el-checkbox
279               v-for="dict in dict.type.idc_green_clean_energy_type"
280               :key="dict.value"
281               :label="dict.value">
282               {{dict.label}}
283             </el-checkbox>
284           </el-checkbox-group>
285         </el-form-item>
286         <el-form-item label="填报联系人" prop="formName">
287           <el-input v-model="form.formName" placeholder="请输入填报联系人" />
288         </el-form-item>
289         <el-form-item label="填报联系电话" prop="formTel">
290           <el-input v-model="form.formTel" placeholder="请输入填报联系电话" />
291         </el-form-item>
292         <el-form-item label="设计耗水量(年)(万吨)" prop="waterYearDesign">
293           <el-input v-model="form.waterYearDesign" placeholder="请输入设计耗水量(年)(万吨)" />
294         </el-form-item>
295         <el-form-item label="装机服务器总数单位U" prop="sumU">
296           <el-input v-model="form.sumU" placeholder="请输入装机服务器总数单位U" />
297         </el-form-item>
298         <el-form-item label="排序" prop="sort">
299           <el-input v-model="form.sort" placeholder="请输入排序" />
300         </el-form-item>
301         <el-form-item label="数据提交状态" prop="state">
302           <el-input v-model="form.state" placeholder="请输入数据提交状态" />
303         </el-form-item>
304         <el-form-item label="创建者" prop="createUser">
305           <el-input v-model="form.createUser" placeholder="请输入创建者" />
306         </el-form-item>
307         <el-form-item label="更新者" prop="updateUser">
308           <el-input v-model="form.updateUser" placeholder="请输入更新者" />
309         </el-form-item>
310         <el-form-item label="管理员备注" prop="remark">
311           <el-input v-model="form.remark" placeholder="请输入管理员备注" />
312         </el-form-item>
313       </el-form>
314       <div slot="footer" class="dialog-footer">
315         <el-button type="primary" @click="submitForm">确 定</el-button>
316         <el-button @click="cancel">取 消</el-button>
317       </div>
318     </el-dialog>
319   </div>
320 </template>
321
322 <script>
323 import { listBuildExtend, getBuildExtend, delBuildExtend, addBuildExtend, updateBuildExtend } from "@/api/bis/buildExtend";
324
325 export default {
326   name: "BuildExtend",
327   dicts: ['idc_green_clean_energy_type'],
328   data() {
329     return {
330       // 遮罩层
331       loading: true,
332       // 选中数组
333       ids: [],
334       // 非单个禁用
335       single: true,
336       // 非多个禁用
337       multiple: true,
338       // 显示搜索条件
339       showSearch: true,
340       // 总条数
341       total: 0,
342       // IDC在建扩展信息表格数据
343       buildExtendList: [],
344       // 弹出层标题
345       title: "",
346       // 是否显示弹出层
347       open: false,
348       // 查询参数
349       queryParams: {
350         pageNum: 1,
351         pageSize: 10,
352         baseId: null,
353         dateNode: null,
354         deliveryScale: null,
355         deliveryNext: null,
356         deliverySecond: null,
357         electricityPrice: null,
358         netBandwidth: null,
359         computationalScale: null,
360         cleanEnergy: null,
361         cleanEnergyType: null,
362         formName: null,
363         formTel: null,
364         waterYearDesign: null,
365         sumU: null,
366         sort: null,
367         state: null,
368         createUser: null,
369         updateUser: null,
370       },
371       // 表单参数
372       form: {},
373       // 表单校验
374       rules: {
375         createUser: [
376           { required: true, message: "创建者不能为空", trigger: "blur" }
377         ],
378       }
379     };
380   },
381   created() {
382     this.getList();
383   },
384   methods: {
385     /** 查询IDC在建扩展信息列表 */
386     getList() {
387       this.loading = true;
388       listBuildExtend(this.queryParams).then(response => {
389         this.buildExtendList = response.rows;
390         this.total = response.total;
391         this.loading = false;
392       });
393     },
394     // 取消按钮
395     cancel() {
396       this.open = false;
397       this.reset();
398     },
399     // 表单重置
400     reset() {
401       this.form = {
402         id: null,
403         baseId: null,
404         dateNode: null,
405         deliveryScale: null,
406         deliveryNext: null,
407         deliverySecond: null,
408         electricityPrice: null,
409         netBandwidth: null,
410         computationalScale: null,
411         cleanEnergy: null,
412         cleanEnergyType: [],
413         formName: null,
414         formTel: null,
415         waterYearDesign: null,
416         sumU: null,
417         sort: null,
418         state: null,
419         createTime: null,
420         createUser: null,
421         updateTime: null,
422         updateUser: null,
423         remark: null
424       };
425       this.resetForm("form");
426     },
427     /** 搜索按钮操作 */
428     handleQuery() {
429       this.queryParams.pageNum = 1;
430       this.getList();
431     },
432     /** 重置按钮操作 */
433     resetQuery() {
434       this.resetForm("queryForm");
435       this.handleQuery();
436     },
437     // 多选框选中数据
438     handleSelectionChange(selection) {
439       this.ids = selection.map(item => item.id)
440       this.single = selection.length!==1
441       this.multiple = !selection.length
442     },
443     /** 新增按钮操作 */
444     handleAdd() {
445       this.reset();
446       this.open = true;
447       this.title = "添加IDC在建扩展信息";
448     },
449     /** 修改按钮操作 */
450     handleUpdate(row) {
451       this.reset();
452       const id = row.id || this.ids
453       getBuildExtend(id).then(response => {
454         this.form = response.data;
455         this.form.cleanEnergyType = this.form.cleanEnergyType.split(",");
456         this.open = true;
457         this.title = "修改IDC在建扩展信息";
458       });
459     },
460     /** 提交按钮 */
461     submitForm() {
462       this.$refs["form"].validate(valid => {
463         if (valid) {
464           this.form.cleanEnergyType = this.form.cleanEnergyType.join(",");
465           if (this.form.id != null) {
466             updateBuildExtend(this.form).then(response => {
467               this.$modal.msgSuccess("修改成功");
468               this.open = false;
469               this.getList();
470             });
471           } else {
472             addBuildExtend(this.form).then(response => {
473               this.$modal.msgSuccess("新增成功");
474               this.open = false;
475               this.getList();
476             });
477           }
478         }
479       });
480     },
481     /** 删除按钮操作 */
482     handleDelete(row) {
483       const ids = row.id || this.ids;
484       this.$modal.confirm('是否确认删除IDC在建扩展信息编号为"' + ids + '"的数据项?').then(function() {
485         return delBuildExtend(ids);
486       }).then(() => {
487         this.getList();
488         this.$modal.msgSuccess("删除成功");
489       }).catch(() => {});
490     },
491     /** 导出按钮操作 */
492     handleExport() {
493       this.download('bis/buildExtend/export', {
494         ...this.queryParams
495       }, `buildExtend_${new Date().getTime()}.xlsx`)
496     }
497   }
498 };
499 </script>