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