Browse Source

feat:故障记录功能修改

Eureka 9 tháng trước cách đây
mục cha
commit
8dd2addb41

+ 9 - 20
fms-admin/src/main/java/com/fms/system/controller/FailureRecordTController.java

@@ -35,8 +35,7 @@ import java.util.Objects;
  */
 @RestController
 @RequestMapping("/system/failureRecord")
-public class FailureRecordTController extends BaseController
-{
+public class FailureRecordTController extends BaseController {
     @Autowired
     private IFailureRecordTService failureRecordTService;
 
@@ -48,8 +47,7 @@ public class FailureRecordTController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('system:failureRecord:list')")
     @GetMapping("/list")
-    public TableDataInfo list(FailureRecordT failureRecordT)
-    {
+    public TableDataInfo list(FailureRecordT failureRecordT) {
         startPage();
         List<FailureRecordT> list = failureRecordTService.selectFailureRecordTList(failureRecordT);
         return getDataTable(list);
@@ -62,15 +60,11 @@ public class FailureRecordTController extends BaseController
     @Log(title = "故障记录总", businessType = BusinessType.IMPORT)
     @PostMapping("/importData")
     @Transactional
-    public AjaxResult AjaxResult(MultipartFile file, boolean updateSupport) throws Exception {
+    public AjaxResult AjaxResult(String batchName, MultipartFile file, boolean updateSupport) throws Exception {
         ExcelUtil<Failure> util = new ExcelUtil<>(Failure.class);
         List<Failure> failureList = util.importExcel(file.getInputStream());
-
-        //  保存导入的故障记录总数据
-        String fileName = Objects.requireNonNull(file.getOriginalFilename()).split("\\.")[0];
-
         FailureRecordT failureRecordT = new FailureRecordT();
-        failureRecordT.setBatchName(fileName);
+        failureRecordT.setBatchName(batchName);
         failureRecordT.setQuantity(failureList.size());
         failureRecordTService.insertFailureRecordT(failureRecordT);
 
@@ -91,8 +85,7 @@ public class FailureRecordTController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('system:failureRecord:query')")
     @GetMapping(value = "/{id}")
-    public AjaxResult getInfo(@PathVariable("id") Long id)
-    {
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
         return success(failureRecordTService.selectFailureRecordTById(id));
     }
 
@@ -102,8 +95,7 @@ public class FailureRecordTController extends BaseController
     @PreAuthorize("@ss.hasPermi('system:failureRecord:add')")
     @Log(title = "故障记录总", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@RequestBody FailureRecordT failureRecordT)
-    {
+    public AjaxResult add(@RequestBody FailureRecordT failureRecordT) {
         return toAjax(failureRecordTService.insertFailureRecordT(failureRecordT));
     }
 
@@ -113,8 +105,7 @@ public class FailureRecordTController extends BaseController
     @PreAuthorize("@ss.hasPermi('system:failureRecord:edit')")
     @Log(title = "故障记录总", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@RequestBody FailureRecordT failureRecordT)
-    {
+    public AjaxResult edit(@RequestBody FailureRecordT failureRecordT) {
         return toAjax(failureRecordTService.updateFailureRecordT(failureRecordT));
     }
 
@@ -123,14 +114,12 @@ public class FailureRecordTController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('system:failureRecord:remove')")
     @Log(title = "故障记录总", businessType = BusinessType.DELETE)
-	@DeleteMapping("/{ids}")
-    public AjaxResult remove(@PathVariable Long[] ids)
-    {
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
         failureService.deleteFailureByRecordIds(ids);
         failureRecordTService.deleteFailureRecordTByIds(ids);
         return success("已删除故障记录批次及关联的故障记录");
     }
 
 
-
 }

+ 47 - 36
fms-ui/src/views/system/failureRecord/index.vue

@@ -20,7 +20,8 @@
 
       <el-col :span="1.5">
         <el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport"
-                   v-hasPermi="['system:failure:import']">导入</el-button>
+                   v-hasPermi="['system:failure:import']">导入
+        </el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -83,18 +84,18 @@
 
     <!-- 导入对话框 -->
     <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
+      <el-input v-model="upload.batchName" placeholder="请输入批次名称"></el-input>
       <el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers"
+                 :data="{ batchName: upload.batchName }"
                  :action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading"
                  :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
         <i class="el-icon-upload"></i>
-
         <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
         <div class="el-upload__tip text-center" slot="tip">
           <div class="el-upload__tip" slot="tip">
             <el-checkbox v-model="upload.updateSupport"/>
             是否更新已经存在的故障数据
           </div>
-          <span>文件名称为故障记录批次名称。</span>
           <span>仅允许导入xls、xlsx格式文件。</span>
           <el-link type="primary" :underline="false" style="font-size: 12px; vertical-align: baseline"
                    @click="importTemplate">下载模板
@@ -103,7 +104,7 @@
       </el-upload>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitFileForm">确 定</el-button>
-        <el-button @click="upload.open = false">取 消</el-button>
+        <el-button @click="closeFile">取 消</el-button>
       </div>
     </el-dialog>
 
@@ -111,33 +112,33 @@
     <!-- 查看故障记录对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="1500px" append-to-body>
       <el-table v-loading="loading" :data="failureList">
-        <el-table-column type="selection" width="55" align="center" />
+        <el-table-column type="selection" width="55" align="center"/>
         <!--<el-table-column label="序号" align="center" prop="id" />-->
-        <el-table-column label="ZQ" align="center" prop="zq" />
-        <el-table-column label="J/JD/XY" align="center" prop="jjdJxy" />
-        <el-table-column label="S" align="center" prop="s" />
-        <el-table-column label="LT" align="center" prop="bdlt" />
+        <el-table-column label="ZQ" align="center" prop="zq"/>
+        <el-table-column label="J/JD/XY" align="center" prop="jjdJxy"/>
+        <el-table-column label="S" align="center" prop="s"/>
+        <el-table-column label="LT" align="center" prop="bdlt"/>
         <el-table-column label="故障日期" align="center" prop="failureDate" width="180">
           <template slot-scope="scope">
             <span>{{ parseTime(scope.row.failureDate, "{y}-{m}-{d}") }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="机型" align="center" prop="aircraftType" />
-        <el-table-column label="发现时机" align="center" prop="discoveryTime" />
-        <el-table-column label="专业" align="center" prop="major" />
-        <el-table-column label="故障描述" align="center" prop="failureDescription" />
-        <el-table-column label="故障原因" align="center" prop="failureCause" />
-        <el-table-column label="故障名称" align="center" prop="failureName" />
-        <el-table-column label="故障件名称" align="center" prop="unserviceableCompName" />
-        <el-table-column label="故障件型别" align="center" prop="unserviceableCompType" />
-        <el-table-column label="故障件号码" align="center" prop="unserviceableCompNum" />
-        <el-table-column label="故障件所属系统" align="center" prop="unserviceableCompSystem" />
-        <el-table-column label="故障后果" align="center" prop="failureConsequence" />
-        <el-table-column label="故障责任" align="center" prop="failureDuty" />
-        <el-table-column label="故换件名称" align="center" prop="replacementCompName" />
-        <el-table-column label="故换件型别" align="center" prop="replacementCompType" />
-        <el-table-column label="故换件号码" align="center" prop="replacementCompNum" />
-        <el-table-column label="排除方法" align="center" prop="eliminationMethods" />
+        <el-table-column label="机型" align="center" prop="aircraftType"/>
+        <el-table-column label="发现时机" align="center" prop="discoveryTime"/>
+        <el-table-column label="专业" align="center" prop="major"/>
+        <el-table-column label="故障描述" align="center" prop="failureDescription"/>
+        <el-table-column label="故障原因" align="center" prop="failureCause"/>
+        <el-table-column label="故障名称" align="center" prop="failureName"/>
+        <el-table-column label="故障件名称" align="center" prop="unserviceableCompName"/>
+        <el-table-column label="故障件型别" align="center" prop="unserviceableCompType"/>
+        <el-table-column label="故障件号码" align="center" prop="unserviceableCompNum"/>
+        <el-table-column label="故障件所属系统" align="center" prop="unserviceableCompSystem"/>
+        <el-table-column label="故障后果" align="center" prop="failureConsequence"/>
+        <el-table-column label="故障责任" align="center" prop="failureDuty"/>
+        <el-table-column label="故换件名称" align="center" prop="replacementCompName"/>
+        <el-table-column label="故换件型别" align="center" prop="replacementCompType"/>
+        <el-table-column label="故换件号码" align="center" prop="replacementCompNum"/>
+        <el-table-column label="排除方法" align="center" prop="eliminationMethods"/>
         <!--<el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
         <!--  <template slot-scope="scope">-->
         <!--    <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"-->
@@ -148,8 +149,9 @@
         <!--</el-table-column>-->
       </el-table>
 
-      <pagination  :total="failureTotal" :page.sync="failureQueryParams.pageNum" :limit.sync="failureQueryParams.pageSize"
-                  @pagination="getFailureList" />
+      <pagination :total="failureTotal" :page.sync="failureQueryParams.pageNum"
+                  :limit.sync="failureQueryParams.pageSize"
+                  @pagination="getFailureList"/>
 
       <div slot="footer" class="dialog-footer">
         <el-button @click="cancel">取 消</el-button>
@@ -180,6 +182,7 @@ export default {
 
       // 导入参数
       upload: {
+        batchName: null,
         // 是否显示弹出层(用户导入)
         open: false,
         // 弹出层标题(用户导入)
@@ -205,7 +208,7 @@ export default {
       showSearch: true,
       // 总条数
       total: 0,
-      failureTotal:0,
+      failureTotal: 0,
       // failureTotal
       failureRecordList: [],
       // 弹出层标题
@@ -236,20 +239,28 @@ export default {
   },
   methods: {
 
-    getFailureList(){
+    getFailureList() {
       /** 查询故障记录列表 */
-        this.loading = true;
+      this.loading = true;
 
-        listFailure(this.failureQueryParams).then((response) => {
-          this.failureList = response.rows;
-          this.failureTotal = response.total;
-          this.loading = false;
-        });
+      listFailure(this.failureQueryParams).then((response) => {
+        this.failureList = response.rows;
+        this.failureTotal = response.total;
+        this.loading = false;
+      });
     },
     // 提交上传文件
     submitFileForm() {
+      if (!this.upload.batchName) {
+        this.$message.error('批次名称不能为空');
+        return;
+      }
       this.$refs.upload.submit();
     },
+    closeFile() {
+      this.upload.open = false;
+      this.upload.batchName = null;
+    },
     /** 导入按钮操作 */
     handleImport() {
       this.upload.title = "导入";
@@ -269,7 +280,7 @@ export default {
         response.msg +
         "</div>",
         "导入结果",
-        { dangerouslyUseHTMLString: true }
+        {dangerouslyUseHTMLString: true}
       );
       this.getList();
     },