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