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