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