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