admin
2024-07-30 c1da6d36b8133744017a4f1c5e97821b591f02fc
提交 | 用户 | 时间
e57a89 1 <template>
2   <div class="app-container">
c1da6d 3 <!--    <el-card class="box-card">-->
A 4 <!--        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">-->
5 <!--          <el-form-item label="设备编码" prop="equipmentCode">-->
6 <!--            <el-input-->
7 <!--              v-model="queryParams.equipmentCode"-->
8 <!--              placeholder="请输入设备编码"-->
9 <!--              clearable-->
10 <!--              @keyup.enter.native="handleQuery"-->
11 <!--            />-->
12 <!--          </el-form-item>-->
13 <!--          <el-form-item label="设备名称" prop="equipmentName">-->
14 <!--            <el-input-->
15 <!--              v-model="queryParams.equipmentName"-->
16 <!--              placeholder="请输入设备名称"-->
17 <!--              clearable-->
18 <!--              @keyup.enter.native="handleQuery"-->
19 <!--            />-->
20 <!--          </el-form-item>-->
21 <!--          <el-form-item label="状态" prop="status">-->
22 <!--            <el-select v-model="queryParams.status" placeholder="请选择状态" clearable>-->
23 <!--              <el-option-->
24 <!--                v-for="dict in dict.type.sys_normal_disable"-->
25 <!--                :key="dict.value"-->
26 <!--                :label="dict.label"-->
27 <!--                :value="dict.value"-->
28 <!--              />-->
29 <!--            </el-select>-->
30 <!--          </el-form-item>-->
31 <!--          <el-form-item style="float: right">-->
32 <!--            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>-->
33 <!--            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>-->
34 <!--          </el-form-item>-->
35 <!--        </el-form>-->
36 <!--    </el-card>-->
e57a89 37
38     <el-card style="margin-top: 10px" class="box-card">
c1da6d 39 <!--        <el-row :gutter="10" class="mb8">-->
A 40 <!--          <el-col :span="1.5">-->
41 <!--            <el-button-->
42 <!--              type="primary"-->
43 <!--              plain-->
44 <!--              icon="el-icon-plus"-->
45 <!--              size="mini"-->
46 <!--              @click="handleAdd"-->
47 <!--              v-hasPermi="['em:equipmentArchives:add']"-->
48 <!--            >新增</el-button>-->
49 <!--          </el-col>-->
50 <!--          <el-col :span="1.5">-->
51 <!--            <el-button-->
52 <!--              type="success"-->
53 <!--              plain-->
54 <!--              icon="el-icon-edit"-->
55 <!--              size="mini"-->
56 <!--              :disabled="single"-->
57 <!--              @click="handleUpdate"-->
58 <!--              v-hasPermi="['em:equipmentArchives:edit']"-->
59 <!--            >修改</el-button>-->
60 <!--          </el-col>-->
61 <!--          <el-col :span="1.5">-->
62 <!--            <el-button-->
63 <!--              type="danger"-->
64 <!--              plain-->
65 <!--              icon="el-icon-delete"-->
66 <!--              size="mini"-->
67 <!--              :disabled="multiple"-->
68 <!--              @click="handleDelete"-->
69 <!--              v-hasPermi="['em:equipmentArchives:remove']"-->
70 <!--            >删除</el-button>-->
71 <!--          </el-col>-->
72 <!--          <el-col :span="1.5">-->
73 <!--            <el-button-->
74 <!--              type="warning"-->
75 <!--              plain-->
76 <!--              icon="el-icon-download"-->
77 <!--              size="mini"-->
78 <!--              @click="handleExport"-->
79 <!--              v-hasPermi="['em:equipmentArchives:export']"-->
80 <!--            >导出</el-button>-->
81 <!--          </el-col>-->
82 <!--          <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
83 <!--        </el-row>-->
e57a89 84
85         <el-table border v-loading="loading" :data="equipmentArchivesList" @selection-change="handleSelectionChange">
86           <el-table-column type="selection" width="55" align="center" />
c1da6d 87           <el-table-column label="软件版本号" align="center" prop="equipmentCode"/>
A 88           <el-table-column label="硬件版本号" align="center" prop="equipmentName"/>
89 <!--          <el-table-column label="状态" align="center" prop="status" width="80">-->
90 <!--            <template slot-scope="scope">-->
91 <!--              <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>-->
92 <!--            </template>-->
93 <!--          </el-table-column>-->
94 <!--          <el-table-column label="工序编号" align="center" prop="processesCode"/>-->
95           <el-table-column label="型号" align="center" prop="equipmentBrand"/>
96           <el-table-column label="供应商编码" align="center" prop="equipmentSpec"/>
97           <el-table-column label="零部件号" align="center" prop="equipmentTypeName"/>
98 <!--          <el-table-column label="产线编码" align="center" prop="lineCode"/>-->
99 <!--          <el-table-column label="设备状态" align="center" prop="status"/>-->
100 <!--          <el-table-column label="创建时间" width="160" align="center" prop="createTime"/>-->
101           <el-table-column  width="200" label="操作" align="center" class-name="small-padding fixed-width">
e57a89 102             <template slot-scope="scope">
103               <el-button
104                 size="mini"
105                 type="success"
106                 plain
107                 style="width: 72px"
108                 icon="el-icon-edit"
109                 @click="handleUpdate(scope.row)"
110                 v-hasPermi="['em:equipmentArchives:edit']"
111               >修改</el-button>
c1da6d 112 <!--              <el-button-->
A 113 <!--                size="mini"-->
114 <!--                type="danger"-->
115 <!--                plain-->
116 <!--                style="width: 72px"-->
117 <!--                icon="el-icon-delete"-->
118 <!--                @click="handleDelete(scope.row)"-->
119 <!--                v-hasPermi="['em:equipmentArchives:remove']"-->
120 <!--              >删除</el-button>-->
e57a89 121             </template>
122           </el-table-column>
123         </el-table>
124     </el-card>
125
126     <pagination
127       v-show="total>0"
128       :total="total"
129       :page.sync="queryParams.pageNum"
130       :limit.sync="queryParams.pageSize"
131       @pagination="getList"
132     />
133
134     <!-- 添加或修改设备档案对话框 -->
135     <el-dialog v-dialogpop-up :title="title" :visible.sync="open" width="500px" append-to-body>
136       <span slot="title">
137         <i class="el-icon-s-order"></i>
138         {{titleName}}
139       </span>
c1da6d 140       <el-form ref="form" :model="form" :rules="rules" label-width="100px">
A 141         <el-form-item label="软件版本号" prop="equipmentCode">
e57a89 142           <el-input v-model="form.equipmentCode" placeholder="请输入设备编码" />
143         </el-form-item>
c1da6d 144         <el-form-item label="硬件版本号" prop="equipmentName">
e57a89 145           <el-input v-model="form.equipmentName" placeholder="请输入设备名称" />
146         </el-form-item>
c1da6d 147 <!--        <el-form-item label="状态" prop="status">-->
A 148 <!--          <el-radio-group v-model="form.status">-->
149 <!--            <el-radio-->
150 <!--              v-for="dict in dict.type.sys_normal_disable"-->
151 <!--              :key="dict.value"-->
152 <!--              :label="dict.value"-->
153 <!--            >{{dict.label}}</el-radio>-->
154 <!--          </el-radio-group>-->
155 <!--        </el-form-item>-->
156 <!--        <el-form-item label="工序编号" prop="processesCode">-->
157 <!--          <el-select style="width: 100%" @change="handleSelectChangeprocessesCode(form.processesCode)" v-model="form.processesCode" placeholder="请选择工序编号">-->
158 <!--            <el-option-->
159 <!--              v-for="item in processesCodeoptions"-->
160 <!--              :key="item.index"-->
161 <!--              :label="item.processesCode"-->
162 <!--              :value="item.processesCode">-->
163 <!--            </el-option>-->
164 <!--          </el-select>-->
165 <!--        </el-form-item>-->
166         <el-form-item label="型号" prop="equipmentBrand">
e57a89 167           <el-input v-model="form.equipmentBrand" placeholder="请输入品牌" />
168         </el-form-item>
c1da6d 169         <el-form-item label="零部件号" prop="equipmentTypeName">
e57a89 170           <el-input v-model="form.equipmentTypeName" placeholder="请输入设备类型名称" />
171         </el-form-item>
c1da6d 172         <el-form-item label="供应商编码" prop="equipmentSpec">
e57a89 173           <el-input v-model="form.equipmentSpec" placeholder="请输入规格型号" />
174         </el-form-item>
c1da6d 175 <!--        <el-form-item label="车间编号" prop="workshopCode">-->
A 176 <!--          <el-select style="width: 100%" @change="handleSelectChange(form.workshopCode)" v-model="form.workshopCode" placeholder="请选择车间编号">-->
177 <!--            <el-option-->
178 <!--              v-for="item in options"-->
179 <!--              :key="item.workshopCode"-->
180 <!--              :label="item.workshopName"-->
181 <!--              :value="item.workshopCode">-->
182 <!--            </el-option>-->
183 <!--          </el-select>-->
184 <!--        </el-form-item>-->
185 <!--        <el-form-item  label="产线编号" prop="lineCode">-->
186 <!--          <el-select style="width: 100%" v-model="form.lineCode" placeholder="请选择产线编号">-->
187 <!--            <el-option-->
188 <!--              v-for="item in lineOptions"-->
189 <!--              :key="item.lineCode"-->
190 <!--              :label="item.lineName"-->
191 <!--              :value="item.lineCode">-->
192 <!--            </el-option>-->
193 <!--          </el-select>-->
194 <!--        </el-form-item>-->
e57a89 195         <el-form-item label="备注" prop="remark">
196           <el-input v-model="form.remark" placeholder="请输入备注" />
197         </el-form-item>
198       </el-form>
199       <div slot="footer" class="dialog-footer">
200         <el-button type="primary" @click="submitForm">确 定</el-button>
201         <el-button @click="cancel">取 消</el-button>
202       </div>
203     </el-dialog>
204   </div>
205 </template>
206
207 <script>
208 import { listEquipmentArchives, getEquipmentArchives, delEquipmentArchives, addEquipmentArchives, updateEquipmentArchives } from "@/api/main/em/equipmentArchives/equipmentArchives";
209 import {listWorkshop} from "@/api/main/bs/workshop/workshop";
210 import {listLineInfo} from "@/api/main/bs/lineInfo/lineInfo";
211 import ItemSelect  from "@/components/itemSelect/single.vue";
212 import {listProductionOrde} from "@/api/main/om/productionOrde/productionOrde";
213 import {listProcesses} from "@/api/main/bs/processes/processes";
214
215 export default {
216   name: "EquipmentArchives",
217   dicts: ['sys_normal_disable'],
218   components: {
219     ItemSelect ,
220   },
221   data() {
222     return {
223       // 遮罩层
224       lineOptions: [],
225       processesCodeoptions:[],
226       options: [],
227       loading: true,
228       titleName: "",
229       // 选中数组
230       ids: [],
231       // 非单个禁用
232       single: true,
233       // 非多个禁用
234       multiple: true,
235       // 显示搜索条件
236       showSearch: true,
237       // 总条数
238       total: 0,
239       // 设备档案表格数据
240       equipmentArchivesList: [],
241       // 弹出层标题
242       title: "",
243       // 是否显示弹出层
244       open: false,
245       // 查询参数
246       queryParams: {
247         pageNum: 1,
248         pageSize: 10,
249         equipmentCode: null,
250         equipmentName: null,
251         equipmentBrand: null,
252         equipmentSpec: null,
253         equipmentTypeId: null,
254         equipmentTypeCode: null,
255         equipmentTypeName: null,
256         workshopCode: null,
257         lineCode: null,
258         processesCode: null,
259         status: null,
260         createUser: null,
261         updateUser: null,
262         spareField1: null,
263         spareField2: null,
264         spareField3: null,
265         spareField4: null
266       },
267       processesCodeQueryParams:{
268         pageNum: 1,
269         pageSize: 10,
270         processesCodes: null,
271       },
272       // 表单参数
273       form: {},
274       // 表单校验
275       rules: {
276         id: [
277           { required: true, message: "ID不能为空", trigger: "blur" }
278         ],
279         equipmentCode: [
280           { required: true, message: "设备编码不能为空", trigger: "blur" }
281         ],
282         equipmentName: [
283           { required: true, message: "设备名称不能为空", trigger: "blur" }
284         ],
285         equipmentTypeId: [
286           { required: true, message: "设备类型ID不能为空", trigger: "blur" }
287         ],
288       }
289     };
290   },
291   created() {
292     this.getList();
293     this.initWorkshop();
294     this.initProcesses();
295
296   },
297   methods: {
298     /** 查询设备档案列表 */
299     initWorkshop(){
300       listWorkshop().then(response => {
301         this.options = response.rows;
302       });
303     },
304     // 在这里编写处理选中事件的逻辑
305     handleSelectChange(selectedOption) {
306       this.form.lineCode = null;
307       let param = {
308         workshopCode : selectedOption
309       }
310       listLineInfo(param).then(response => {
311         this.lineOptions = response.rows;
312       });
313     },
314     handleSelectChangeprocessesCode(selectedOption) {
315       this.processesCodeQueryParams.processesCodes = selectedOption;
316       listProcesses(this.queryParams).then(response => {
317         this.form.processesName = response.rows[0].processesName;
318       });
319     },
320     initProcesses(){
321       listProcesses(this.queryParams).then(response => {
322         this.processesCodeoptions = response.rows;
323       });
324     },
325     getList() {
326       console.log(this.queryParams)
327       this.loading = true;
328       listEquipmentArchives(this.queryParams).then(response => {
329         this.equipmentArchivesList = response.rows;
330         this.total = response.total;
331         this.loading = false;
332       });
333     },
334     // 取消按钮
335     cancel() {
336       this.open = false;
337       this.reset();
338     },
339     // 表单重置
340     reset() {
341       this.form = {
342         id: null,
343         equipmentCode: null,
344         equipmentName: null,
345         equipmentBrand: null,
346         equipmentSpec: null,
347         equipmentTypeId: null,
348         equipmentTypeCode: null,
349         equipmentTypeName: null,
350         workshopCode: null,
351         lineCode: null,
352         processesCode: null,
353         status: "0",
354         remark: null,
355         createUser: null,
356         createTime: null,
357         updateUser: null,
358         updateTime: null,
359         spareField1: null,
360         spareField2: null,
361         spareField3: null,
362         spareField4: null
363       };
364       this.resetForm("form");
365     },
366     /** 搜索按钮操作 */
367     handleQuery() {
368       this.queryParams.pageNum = 1;
369       this.getList();
370     },
371     /** 重置按钮操作 */
372     resetQuery() {
373       this.resetForm("queryForm");
374       this.handleQuery();
375     },
376     // 多选框选中数据
377     handleSelectionChange(selection) {
378       this.ids = selection.map(item => item.id)
379       this.single = selection.length!==1
380       this.multiple = !selection.length
381     },
382     /** 新增按钮操作 */
383     handleAdd() {
384       this.reset();
385       this.open = true;
386       this.titleName = "添加设备档案";
387     },
388     /** 修改按钮操作 */
389     handleUpdate(row) {
390       this.reset();
391       const id = row.id || this.ids
392       getEquipmentArchives(id).then(response => {
393         this.form = response.data;
394         this.open = true;
395         this.titleName = "修改设备档案";
396       });
397     },
398     /** 提交按钮 */
399     submitForm() {
400       this.$refs["form"].validate(valid => {
401         if (valid) {
402           if (this.form.id != null) {
403             updateEquipmentArchives(this.form).then(response => {
404               this.$modal.msgSuccess("修改成功");
405               this.open = false;
406               this.getList();
407             });
408           } else {
409             addEquipmentArchives(this.form).then(response => {
410               this.$modal.msgSuccess("新增成功");
411               this.open = false;
412               this.getList();
413             });
414           }
415         }
416       });
417     },
418     /** 删除按钮操作 */
419     handleDelete(row) {
420       const ids = row.id || this.ids;
421       this.$modal.confirm('是否确认删除设备档案编号为"' + ids + '"的数据项?').then(function() {
422         return delEquipmentArchives(ids);
423       }).then(() => {
424         this.getList();
425         this.$modal.msgSuccess("删除成功");
426       }).catch(() => {});
427     },
428     /** 导出按钮操作 */
429     handleExport() {
430       this.download('em/equipmentArchives/export', {
431         ...this.queryParams
432       }, `equipmentArchives_${new Date().getTime()}.xlsx`)
433     }
434   }
435 };
436 </script>