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