中国算力平台算力登记系统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>
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>
7c91ba 36       <el-form-item label="提交者" prop="createUser">
5cc82f 37         <el-input
Y 38           v-model="queryParams.createUser"
7c91ba 39           placeholder="请输入提交者"
5cc82f 40           clearable
Y 41           @keyup.enter.native="handleQuery"
42         />
43       </el-form-item>
44       <el-form-item>
45         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
46         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
47       </el-form-item>
48     </el-form>
49
50     <el-row :gutter="10" class="mb8">
51       <el-col :span="1.5">
52         <el-button
53           type="primary"
54           plain
55           icon="el-icon-plus"
56           size="mini"
57           @click="handleAdd"
58           v-hasPermi="['bis:useInfrastructure:add']"
59         >新增</el-button>
60       </el-col>
61       <el-col :span="1.5">
62         <el-button
63           type="success"
64           plain
65           icon="el-icon-edit"
66           size="mini"
67           :disabled="single"
68           @click="handleUpdate"
69           v-hasPermi="['bis:useInfrastructure:edit']"
70         >修改</el-button>
71       </el-col>
72       <el-col :span="1.5">
73         <el-button
74           type="danger"
75           plain
76           icon="el-icon-delete"
77           size="mini"
78           :disabled="multiple"
79           @click="handleDelete"
80           v-hasPermi="['bis:useInfrastructure:remove']"
81         >删除</el-button>
82       </el-col>
83       <el-col :span="1.5">
84         <el-button
85           type="warning"
86           plain
87           icon="el-icon-download"
88           size="mini"
89           @click="handleExport"
90           v-hasPermi="['bis:useInfrastructure:export']"
91         >导出</el-button>
92       </el-col>
93       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
94     </el-row>
95
96     <el-table v-loading="loading" :data="useInfrastructureList" @selection-change="handleSelectionChange">
97       <el-table-column type="selection" width="55" align="center" />
98       <el-table-column label="序号" align="center" prop="id" />
99       <el-table-column label="数据中心ID" align="center" prop="baseId" />
100       <el-table-column label="日期节点" align="center" prop="dateNode" />
101       <el-table-column label="填表联系人" align="center" prop="formName" />
102       <el-table-column label="填表电话" align="center" prop="formTel" />
103       <el-table-column label="已完成基础机电配置机架数" align="center" prop="frameCompBase" />
104       <el-table-column label="已完成末端机电配置机架数" align="center" prop="frameCompEnd" />
105       <el-table-column label="已上电机架数" align="center" prop="frameElectricity" />
106       <el-table-column label="云计算技术部署机架占比" align="center" prop="percentageCloud" />
107       <el-table-column label="电价" align="center" prop="electricityPrice" />
108       <el-table-column label="数据中心年度收入(万元)" align="center" prop="annual" />
109       <el-table-column label="数据中心年度运营成本(万元)" align="center" prop="cost" />
110       <el-table-column label="政务业务占比" align="center" prop="bisPercentZhengwu" />
111       <el-table-column label="企业业务占比" align="center" prop="bisPercentQiye" />
112       <el-table-column label="金融业务占比" align="center" prop="bisPercentJinrong" />
113       <el-table-column label="互联网.公有云占比" align="center" prop="bisPercentInternetGongyouyun" />
114       <el-table-column label="互联网.网站占比" align="center" prop="bisPercentInternetWangzhan" />
115       <el-table-column label="互联网.视频占比" align="center" prop="bisPercentInternetShiping" />
116       <el-table-column label="互联网.ai占比" align="center" prop="bisPercentInternetAi" />
117       <el-table-column label="互联网.电商占比" align="center" prop="bisPercentInternetDianshang" />
118       <el-table-column label="互联网.游戏占比" align="center" prop="bisPercentInternetYouxi" />
119       <el-table-column label="互联网.支付占比" align="center" prop="bisPercentInternetZhifu" />
120       <el-table-column label="互联网.其他占比" align="center" prop="bisPercentInternetOther" />
121       <el-table-column label="其他占比" align="center" prop="bisPercentOther" />
122       <el-table-column label="数据中心相关发明专利、软著授权总数" align="center" prop="sumChanquan" />
123       <el-table-column label="运维人员数量" align="center" prop="itOperation" />
124       <el-table-column label="排序" align="center" prop="sort" />
125       <el-table-column label="创建者" align="center" prop="createUser" />
126       <el-table-column label="更新者" align="center" prop="updateUser" />
127       <el-table-column label="管理员备注" align="center" prop="remark" />
128       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
129         <template slot-scope="scope">
130           <el-button
131             size="mini"
132             type="text"
133             icon="el-icon-edit"
134             @click="handleUpdate(scope.row)"
135             v-hasPermi="['bis:useInfrastructure:edit']"
136           >修改</el-button>
137           <el-button
138             size="mini"
139             type="text"
140             icon="el-icon-delete"
141             @click="handleDelete(scope.row)"
142             v-hasPermi="['bis:useInfrastructure:remove']"
143           >删除</el-button>
144         </template>
145       </el-table-column>
146     </el-table>
7c91ba 147
5cc82f 148     <pagination
Y 149       v-show="total>0"
150       :total="total"
151       :page.sync="queryParams.pageNum"
152       :limit.sync="queryParams.pageSize"
153       @pagination="getList"
154     />
155
156     <!-- 添加或修改基础设施信息对话框 -->
157     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
158       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
159         <el-form-item label="数据中心ID" prop="baseId">
160           <el-input v-model="form.baseId" placeholder="请输入数据中心ID" />
161         </el-form-item>
162         <el-form-item label="日期节点" prop="dateNode">
163           <el-input v-model="form.dateNode" placeholder="请输入日期节点" />
164         </el-form-item>
165         <el-form-item label="填表联系人" prop="formName">
166           <el-input v-model="form.formName" placeholder="请输入填表联系人" />
167         </el-form-item>
168         <el-form-item label="填表电话" prop="formTel">
169           <el-input v-model="form.formTel" placeholder="请输入填表电话" />
170         </el-form-item>
171         <el-form-item label="已完成基础机电配置机架数" prop="frameCompBase">
172           <el-input v-model="form.frameCompBase" placeholder="请输入已完成基础机电配置机架数" />
173         </el-form-item>
174         <el-form-item label="已完成末端机电配置机架数" prop="frameCompEnd">
175           <el-input v-model="form.frameCompEnd" placeholder="请输入已完成末端机电配置机架数" />
176         </el-form-item>
177         <el-form-item label="云计算技术部署机架占比" prop="percentageCloud">
178           <el-input v-model="form.percentageCloud" placeholder="请输入云计算技术部署机架占比" />
179         </el-form-item>
180         <el-form-item label="电价" prop="electricityPrice">
181           <el-input v-model="form.electricityPrice" placeholder="请输入电价" />
182         </el-form-item>
183         <el-form-item label="数据中心年度收入(万元)" prop="annual">
184           <el-input v-model="form.annual" placeholder="请输入数据中心年度收入(万元)" />
185         </el-form-item>
186         <el-form-item label="数据中心年度运营成本(万元)" prop="cost">
187           <el-input v-model="form.cost" placeholder="请输入数据中心年度运营成本(万元)" />
188         </el-form-item>
189         <el-form-item label="政务业务占比" prop="bisPercentZhengwu">
190           <el-input v-model="form.bisPercentZhengwu" placeholder="请输入政务业务占比" />
191         </el-form-item>
192         <el-form-item label="企业业务占比" prop="bisPercentQiye">
193           <el-input v-model="form.bisPercentQiye" placeholder="请输入企业业务占比" />
194         </el-form-item>
195         <el-form-item label="金融业务占比" prop="bisPercentJinrong">
196           <el-input v-model="form.bisPercentJinrong" placeholder="请输入金融业务占比" />
197         </el-form-item>
198         <el-form-item label="互联网.公有云占比" prop="bisPercentInternetGongyouyun">
199           <el-input v-model="form.bisPercentInternetGongyouyun" placeholder="请输入互联网.公有云占比" />
200         </el-form-item>
201         <el-form-item label="互联网.网站占比" prop="bisPercentInternetWangzhan">
202           <el-input v-model="form.bisPercentInternetWangzhan" placeholder="请输入互联网.网站占比" />
203         </el-form-item>
204         <el-form-item label="互联网.视频占比" prop="bisPercentInternetShiping">
205           <el-input v-model="form.bisPercentInternetShiping" placeholder="请输入互联网.视频占比" />
206         </el-form-item>
207         <el-form-item label="互联网.ai占比" prop="bisPercentInternetAi">
208           <el-input v-model="form.bisPercentInternetAi" placeholder="请输入互联网.ai占比" />
209         </el-form-item>
210         <el-form-item label="互联网.电商占比" prop="bisPercentInternetDianshang">
211           <el-input v-model="form.bisPercentInternetDianshang" placeholder="请输入互联网.电商占比" />
212         </el-form-item>
213         <el-form-item label="互联网.游戏占比" prop="bisPercentInternetYouxi">
214           <el-input v-model="form.bisPercentInternetYouxi" placeholder="请输入互联网.游戏占比" />
215         </el-form-item>
216         <el-form-item label="互联网.支付占比" prop="bisPercentInternetZhifu">
217           <el-input v-model="form.bisPercentInternetZhifu" placeholder="请输入互联网.支付占比" />
218         </el-form-item>
219         <el-form-item label="互联网.其他占比" prop="bisPercentInternetOther">
220           <el-input v-model="form.bisPercentInternetOther" placeholder="请输入互联网.其他占比" />
221         </el-form-item>
222         <el-form-item label="其他占比" prop="bisPercentOther">
223           <el-input v-model="form.bisPercentOther" placeholder="请输入其他占比" />
224         </el-form-item>
225         <el-form-item label="数据中心相关发明专利、软著授权总数" prop="sumChanquan">
226           <el-input v-model="form.sumChanquan" placeholder="请输入数据中心相关发明专利、软著授权总数" />
227         </el-form-item>
228         <el-form-item label="运维人员数量" prop="itOperation">
229           <el-input v-model="form.itOperation" placeholder="请输入运维人员数量" />
230         </el-form-item>
231         <el-form-item label="排序" prop="sort">
232           <el-input v-model="form.sort" placeholder="请输入排序" />
233         </el-form-item>
234         <el-form-item label="创建者" prop="createUser">
235           <el-input v-model="form.createUser" placeholder="请输入创建者" />
236         </el-form-item>
237         <el-form-item label="更新者" prop="updateUser">
238           <el-input v-model="form.updateUser" placeholder="请输入更新者" />
239         </el-form-item>
240         <el-form-item label="管理员备注" prop="remark">
241           <el-input v-model="form.remark" placeholder="请输入管理员备注" />
242         </el-form-item>
243       </el-form>
244       <div slot="footer" class="dialog-footer">
245         <el-button type="primary" @click="submitForm">确 定</el-button>
246         <el-button @click="cancel">取 消</el-button>
247       </div>
248     </el-dialog>
249   </div>
250 </template>
251
252 <script>
253 import { listUseInfrastructure, getUseInfrastructure, delUseInfrastructure, addUseInfrastructure, updateUseInfrastructure } from "@/api/bis/useInfrastructure";
254
255 export default {
256   name: "UseInfrastructure",
257   data() {
258     return {
259       // 遮罩层
260       loading: true,
261       // 选中数组
262       ids: [],
263       // 非单个禁用
264       single: true,
265       // 非多个禁用
266       multiple: true,
267       // 显示搜索条件
268       showSearch: true,
269       // 总条数
270       total: 0,
271       // 基础设施信息表格数据
272       useInfrastructureList: [],
273       // 弹出层标题
274       title: "",
275       // 是否显示弹出层
276       open: false,
277       // 查询参数
278       queryParams: {
279         pageNum: 1,
280         pageSize: 10,
281         baseId: null,
282         dateNode: null,
283         formName: null,
284         formTel: null,
285         frameCompBase: null,
286         frameCompEnd: null,
287         frameElectricity: null,
288         percentageCloud: null,
289         electricityPrice: null,
290         annual: null,
291         cost: null,
292         bisPercentZhengwu: null,
293         bisPercentQiye: null,
294         bisPercentJinrong: null,
295         bisPercentInternetGongyouyun: null,
296         bisPercentInternetWangzhan: null,
297         bisPercentInternetShiping: null,
298         bisPercentInternetAi: null,
299         bisPercentInternetDianshang: null,
300         bisPercentInternetYouxi: null,
301         bisPercentInternetZhifu: null,
302         bisPercentInternetOther: null,
303         bisPercentOther: null,
304         sumChanquan: null,
305         itOperation: null,
306         sort: null,
307         createUser: null,
308         updateUser: null,
309       },
310       // 表单参数
311       form: {},
312       // 表单校验
313       rules: {
314         createUser: [
315           { required: true, message: "创建者不能为空", trigger: "blur" }
316         ],
317       }
318     };
319   },
320   created() {
321     this.getList();
322   },
323   methods: {
324     /** 查询基础设施信息列表 */
325     getList() {
326       this.loading = true;
327       listUseInfrastructure(this.queryParams).then(response => {
328         this.useInfrastructureList = response.rows;
329         this.total = response.total;
330         this.loading = false;
331       });
332     },
333     // 取消按钮
334     cancel() {
335       this.open = false;
336       this.reset();
337     },
338     // 表单重置
339     reset() {
340       this.form = {
341         id: null,
342         baseId: null,
343         dateNode: null,
344         formName: null,
345         formTel: null,
346         frameCompBase: null,
347         frameCompEnd: null,
348         frameElectricity: null,
349         percentageCloud: null,
350         electricityPrice: null,
351         annual: null,
352         cost: null,
353         bisPercentZhengwu: null,
354         bisPercentQiye: null,
355         bisPercentJinrong: null,
356         bisPercentInternetGongyouyun: null,
357         bisPercentInternetWangzhan: null,
358         bisPercentInternetShiping: null,
359         bisPercentInternetAi: null,
360         bisPercentInternetDianshang: null,
361         bisPercentInternetYouxi: null,
362         bisPercentInternetZhifu: null,
363         bisPercentInternetOther: null,
364         bisPercentOther: null,
365         sumChanquan: null,
366         itOperation: null,
367         sort: null,
368         createTime: null,
369         updateTime: null,
370         createUser: null,
371         updateUser: null,
372         remark: null
373       };
374       this.resetForm("form");
375     },
376     /** 搜索按钮操作 */
377     handleQuery() {
378       this.queryParams.pageNum = 1;
379       this.getList();
380     },
381     /** 重置按钮操作 */
382     resetQuery() {
383       this.resetForm("queryForm");
384       this.handleQuery();
385     },
386     // 多选框选中数据
387     handleSelectionChange(selection) {
388       this.ids = selection.map(item => item.id)
389       this.single = selection.length!==1
390       this.multiple = !selection.length
391     },
392     /** 新增按钮操作 */
393     handleAdd() {
394       this.reset();
395       this.open = true;
396       this.title = "添加基础设施信息";
397     },
398     /** 修改按钮操作 */
399     handleUpdate(row) {
400       this.reset();
401       const id = row.id || this.ids
402       getUseInfrastructure(id).then(response => {
403         this.form = response.data;
404         this.open = true;
405         this.title = "修改基础设施信息";
406       });
407     },
408     /** 提交按钮 */
409     submitForm() {
410       this.$refs["form"].validate(valid => {
411         if (valid) {
412           if (this.form.id != null) {
413             updateUseInfrastructure(this.form).then(response => {
414               this.$modal.msgSuccess("修改成功");
415               this.open = false;
416               this.getList();
417             });
418           } else {
419             addUseInfrastructure(this.form).then(response => {
420               this.$modal.msgSuccess("新增成功");
421               this.open = false;
422               this.getList();
423             });
424           }
425         }
426       });
427     },
428     /** 删除按钮操作 */
429     handleDelete(row) {
430       const ids = row.id || this.ids;
431       this.$modal.confirm('是否确认删除基础设施信息编号为"' + ids + '"的数据项?').then(function() {
432         return delUseInfrastructure(ids);
433       }).then(() => {
434         this.getList();
435         this.$modal.msgSuccess("删除成功");
436       }).catch(() => {});
437     },
438     /** 导出按钮操作 */
439     handleExport() {
440       this.download('bis/useInfrastructure/export', {
441         ...this.queryParams
442       }, `useInfrastructure_${new Date().getTime()}.xlsx`)
443     }
444   }
445 };
446 </script>