中国算力平台算力登记系统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"
7c91ba 7           placeholder="请输入数据中心"
5cc82f 8           clearable
Y 9           @keyup.enter.native="handleQuery"
10         />
11       </el-form-item>
7c91ba 12       <el-form-item label="用户" prop="createUser">
5cc82f 13         <el-input
Y 14           v-model="queryParams.createUser"
15           placeholder="请输入创建者"
16           clearable
17           @keyup.enter.native="handleQuery"
18         />
19       </el-form-item>
20       <el-form-item>
21         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
22         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
23       </el-form-item>
24     </el-form>
25
26     <el-row :gutter="10" class="mb8">
27       <el-col :span="1.5">
28         <el-button
29           type="primary"
30           plain
31           icon="el-icon-plus"
32           size="mini"
33           @click="handleAdd"
34           v-hasPermi="['bis:useTransport:add']"
35         >新增</el-button>
36       </el-col>
37       <el-col :span="1.5">
38         <el-button
39           type="success"
40           plain
41           icon="el-icon-edit"
42           size="mini"
43           :disabled="single"
44           @click="handleUpdate"
45           v-hasPermi="['bis:useTransport:edit']"
46         >修改</el-button>
47       </el-col>
48       <el-col :span="1.5">
49         <el-button
50           type="danger"
51           plain
52           icon="el-icon-delete"
53           size="mini"
54           :disabled="multiple"
55           @click="handleDelete"
56           v-hasPermi="['bis:useTransport:remove']"
57         >删除</el-button>
58       </el-col>
59       <el-col :span="1.5">
60         <el-button
61           type="warning"
62           plain
63           icon="el-icon-download"
64           size="mini"
65           @click="handleExport"
66           v-hasPermi="['bis:useTransport:export']"
67         >导出</el-button>
68       </el-col>
69       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
70     </el-row>
71
72     <el-table v-loading="loading" :data="useTransportList" @selection-change="handleSelectionChange">
73       <el-table-column type="selection" width="55" align="center" />
74       <el-table-column label="序号" align="center" prop="id" />
75       <el-table-column label="数据中心ID" align="center" prop="baseId" />
76       <el-table-column label="日期节点" align="center" prop="dateNode" />
77       <el-table-column label="算力中心网络出口带宽" align="center" prop="idcBandwidthExport" />
78       <el-table-column label="算力中心内IB技术部署率" align="center" prop="idcIbRate" />
79       <el-table-column label="算力中心内RoCE等技术部署率" align="center" prop="idcRoceRate" />
80       <el-table-column label="算力中心内全光交换技术部署率" align="center" prop="idcOpticalRate" />
7c91ba 81       <el-table-column label="排序" align="center" prop="Sort" v-if="false"/>
Y 82       <el-table-column label="更新者" align="center" prop="updateUser" v-if="false"/>
83       <el-table-column label="提交者" align="center" prop="createUser" />
84       <el-table-column label="管理员备注" align="center" prop="remark" v-if="false" />
5cc82f 85       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
Y 86         <template slot-scope="scope">
87           <el-button
88             size="mini"
89             type="text"
90             icon="el-icon-edit"
91             @click="handleUpdate(scope.row)"
92             v-hasPermi="['bis:useTransport:edit']"
93           >修改</el-button>
94           <el-button
95             size="mini"
96             type="text"
97             icon="el-icon-delete"
98             @click="handleDelete(scope.row)"
99             v-hasPermi="['bis:useTransport:remove']"
100           >删除</el-button>
101         </template>
102       </el-table-column>
103     </el-table>
7c91ba 104
5cc82f 105     <pagination
Y 106       v-show="total>0"
107       :total="total"
108       :page.sync="queryParams.pageNum"
109       :limit.sync="queryParams.pageSize"
110       @pagination="getList"
111     />
112
113     <!-- 添加或修改运力指标信息对话框 -->
114     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
115       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
116         <el-form-item label="数据中心ID" prop="baseId">
117           <el-input v-model="form.baseId" placeholder="请输入数据中心ID" />
118         </el-form-item>
119         <el-form-item label="日期节点" prop="dateNode">
120           <el-input v-model="form.dateNode" placeholder="请输入日期节点" />
121         </el-form-item>
122         <el-form-item label="算力中心网络出口带宽" prop="idcBandwidthExport">
123           <el-input v-model="form.idcBandwidthExport" placeholder="请输入算力中心网络出口带宽" />
124         </el-form-item>
125         <el-form-item label="算力中心内IB技术部署率" prop="idcIbRate">
126           <el-input v-model="form.idcIbRate" placeholder="请输入算力中心内IB技术部署率" />
127         </el-form-item>
128         <el-form-item label="算力中心内RoCE等技术部署率" prop="idcRoceRate">
129           <el-input v-model="form.idcRoceRate" placeholder="请输入算力中心内RoCE等技术部署率" />
130         </el-form-item>
131         <el-form-item label="算力中心内全光交换技术部署率" prop="idcOpticalRate">
132           <el-input v-model="form.idcOpticalRate" placeholder="请输入算力中心内全光交换技术部署率" />
133         </el-form-item>
134         <el-form-item label="排序" prop="Sort">
135           <el-input v-model="form.Sort" placeholder="请输入排序" />
136         </el-form-item>
137         <el-form-item label="更新者" prop="updateUser">
138           <el-input v-model="form.updateUser" placeholder="请输入更新者" />
139         </el-form-item>
140         <el-form-item label="创建者" prop="createUser">
141           <el-input v-model="form.createUser" placeholder="请输入创建者" />
142         </el-form-item>
143         <el-form-item label="管理员备注" prop="remark">
144           <el-input v-model="form.remark" placeholder="请输入管理员备注" />
145         </el-form-item>
146       </el-form>
147       <div slot="footer" class="dialog-footer">
148         <el-button type="primary" @click="submitForm">确 定</el-button>
149         <el-button @click="cancel">取 消</el-button>
150       </div>
151     </el-dialog>
152   </div>
153 </template>
154
155 <script>
156 import { listUseTransport, getUseTransport, delUseTransport, addUseTransport, updateUseTransport } from "@/api/bis/useTransport";
157
158 export default {
159   name: "UseTransport",
160   data() {
161     return {
162       // 遮罩层
163       loading: true,
164       // 选中数组
165       ids: [],
166       // 非单个禁用
167       single: true,
168       // 非多个禁用
169       multiple: true,
170       // 显示搜索条件
171       showSearch: true,
172       // 总条数
173       total: 0,
174       // 运力指标信息表格数据
175       useTransportList: [],
176       // 弹出层标题
177       title: "",
178       // 是否显示弹出层
179       open: false,
180       // 查询参数
181       queryParams: {
182         pageNum: 1,
183         pageSize: 10,
184         baseId: null,
185         dateNode: null,
186         idcBandwidthExport: null,
187         idcIbRate: null,
188         idcRoceRate: null,
189         idcOpticalRate: null,
190         Sort: null,
191         updateUser: null,
192         createUser: null,
193       },
194       // 表单参数
195       form: {},
196       // 表单校验
197       rules: {
198         baseId: [
199           { required: true, message: "数据中心ID不能为空", trigger: "blur" }
200         ],
201         dateNode: [
202           { required: true, message: "日期节点不能为空", trigger: "blur" }
203         ],
204         createUser: [
205           { required: true, message: "创建者不能为空", trigger: "blur" }
206         ],
207       }
208     };
209   },
210   created() {
211     this.getList();
212   },
213   methods: {
214     /** 查询运力指标信息列表 */
215     getList() {
216       this.loading = true;
217       listUseTransport(this.queryParams).then(response => {
218         this.useTransportList = response.rows;
219         this.total = response.total;
220         this.loading = false;
221       });
222     },
223     // 取消按钮
224     cancel() {
225       this.open = false;
226       this.reset();
227     },
228     // 表单重置
229     reset() {
230       this.form = {
231         id: null,
232         baseId: null,
233         dateNode: null,
234         idcBandwidthExport: null,
235         idcIbRate: null,
236         idcRoceRate: null,
237         idcOpticalRate: null,
238         Sort: null,
239         createTime: null,
240         updateTime: null,
241         updateUser: null,
242         createUser: null,
243         remark: null
244       };
245       this.resetForm("form");
246     },
247     /** 搜索按钮操作 */
248     handleQuery() {
249       this.queryParams.pageNum = 1;
250       this.getList();
251     },
252     /** 重置按钮操作 */
253     resetQuery() {
254       this.resetForm("queryForm");
255       this.handleQuery();
256     },
257     // 多选框选中数据
258     handleSelectionChange(selection) {
259       this.ids = selection.map(item => item.id)
260       this.single = selection.length!==1
261       this.multiple = !selection.length
262     },
263     /** 新增按钮操作 */
264     handleAdd() {
265       this.reset();
266       this.open = true;
267       this.title = "添加运力指标信息";
268     },
269     /** 修改按钮操作 */
270     handleUpdate(row) {
271       this.reset();
272       const id = row.id || this.ids
273       getUseTransport(id).then(response => {
274         this.form = response.data;
275         this.open = true;
276         this.title = "修改运力指标信息";
277       });
278     },
279     /** 提交按钮 */
280     submitForm() {
281       this.$refs["form"].validate(valid => {
282         if (valid) {
283           if (this.form.id != null) {
284             updateUseTransport(this.form).then(response => {
285               this.$modal.msgSuccess("修改成功");
286               this.open = false;
287               this.getList();
288             });
289           } else {
290             addUseTransport(this.form).then(response => {
291               this.$modal.msgSuccess("新增成功");
292               this.open = false;
293               this.getList();
294             });
295           }
296         }
297       });
298     },
299     /** 删除按钮操作 */
300     handleDelete(row) {
301       const ids = row.id || this.ids;
302       this.$modal.confirm('是否确认删除运力指标信息编号为"' + ids + '"的数据项?').then(function() {
303         return delUseTransport(ids);
304       }).then(() => {
305         this.getList();
306         this.$modal.msgSuccess("删除成功");
307       }).catch(() => {});
308     },
309     /** 导出按钮操作 */
310     handleExport() {
311       this.download('bis/useTransport/export', {
312         ...this.queryParams
313       }, `useTransport_${new Date().getTime()}.xlsx`)
314     }
315   }
316 };
317 </script>