Эх сурвалжийг харах

林武泰/将MyBatis更换为MyBatis-Plus、新增用户工具类、修改部分后台管理系统“资产信息”搜索表单代码

LinWuTai 2 жил өмнө
parent
commit
0dcfb87099
41 өөрчлөгдсөн 477 нэмэгдсэн , 188 устгасан
  1. 13 0
      lab-admin/pom.xml
  2. 9 0
      lab-admin/src/main/java/com/ruoyi/asset/controller/TbAssetCategoryController.java
  3. 9 0
      lab-admin/src/main/java/com/ruoyi/asset/controller/TbAssetController.java
  4. 10 0
      lab-admin/src/main/java/com/ruoyi/asset/controller/TbPlaceController.java
  5. 23 0
      lab-admin/src/main/java/com/ruoyi/asset/domain/TbAsset.java
  6. 27 0
      lab-admin/src/main/java/com/ruoyi/asset/domain/TbAssetBorrowRecord.java
  7. 21 0
      lab-admin/src/main/java/com/ruoyi/asset/domain/TbAssetCategory.java
  8. 10 0
      lab-admin/src/main/java/com/ruoyi/asset/domain/TbAssetStatusRecord.java
  9. 13 0
      lab-admin/src/main/java/com/ruoyi/asset/domain/TbFaultReport.java
  10. 7 0
      lab-admin/src/main/java/com/ruoyi/asset/domain/TbPlace.java
  11. 5 1
      lab-admin/src/main/java/com/ruoyi/asset/mapper/TbAssetBorrowRecordMapper.java
  12. 5 1
      lab-admin/src/main/java/com/ruoyi/asset/mapper/TbAssetCategoryMapper.java
  13. 5 1
      lab-admin/src/main/java/com/ruoyi/asset/mapper/TbAssetMapper.java
  14. 5 1
      lab-admin/src/main/java/com/ruoyi/asset/mapper/TbAssetStatusRecordMapper.java
  15. 5 1
      lab-admin/src/main/java/com/ruoyi/asset/mapper/TbFaultReportMapper.java
  16. 5 1
      lab-admin/src/main/java/com/ruoyi/asset/mapper/TbPlaceMapper.java
  17. 3 1
      lab-admin/src/main/java/com/ruoyi/asset/service/ITbAssetBorrowRecordService.java
  18. 10 1
      lab-admin/src/main/java/com/ruoyi/asset/service/ITbAssetCategoryService.java
  19. 11 1
      lab-admin/src/main/java/com/ruoyi/asset/service/ITbAssetService.java
  20. 3 1
      lab-admin/src/main/java/com/ruoyi/asset/service/ITbAssetStatusRecordService.java
  21. 3 1
      lab-admin/src/main/java/com/ruoyi/asset/service/ITbFaultReportService.java
  22. 10 1
      lab-admin/src/main/java/com/ruoyi/asset/service/ITbPlaceService.java
  23. 3 1
      lab-admin/src/main/java/com/ruoyi/asset/service/impl/TbAssetBorrowRecordServiceImpl.java
  24. 11 2
      lab-admin/src/main/java/com/ruoyi/asset/service/impl/TbAssetCategoryServiceImpl.java
  25. 20 1
      lab-admin/src/main/java/com/ruoyi/asset/service/impl/TbAssetServiceImpl.java
  26. 3 1
      lab-admin/src/main/java/com/ruoyi/asset/service/impl/TbAssetStatusRecordServiceImpl.java
  27. 3 1
      lab-admin/src/main/java/com/ruoyi/asset/service/impl/TbFaultReportServiceImpl.java
  28. 13 1
      lab-admin/src/main/java/com/ruoyi/asset/service/impl/TbPlaceServiceImpl.java
  29. 34 0
      lab-admin/src/main/java/com/ruoyi/asset/utils/UserUtils.java
  30. 9 9
      lab-admin/src/main/resources/application.yml
  31. 14 0
      lab-common/pom.xml
  32. 9 0
      lab-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java
  33. 0 132
      lab-framework/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java
  34. 61 0
      lab-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
  35. 9 0
      lab-ui/src/api/asset/category.js
  36. 8 0
      lab-ui/src/api/asset/place.js
  37. 64 23
      lab-ui/src/views/asset/asset/index.vue
  38. 1 1
      lab-ui/src/views/asset/borrow/index.vue
  39. 1 2
      lab-ui/src/views/asset/category/index.vue
  40. 1 1
      lab-ui/src/views/asset/fault/index.vue
  41. 1 1
      lab-ui/src/views/asset/record/index.vue

+ 13 - 0
lab-admin/pom.xml

@@ -61,6 +61,19 @@
             <artifactId>lab-generator</artifactId>
         </dependency>
 
+        <!-- Lombok -->
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+
+        <!--huTool-->
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+            <version>5.7.17</version>
+        </dependency>
+
     </dependencies>
 
     <build>

+ 9 - 0
lab-admin/src/main/java/com/ruoyi/asset/controller/TbAssetCategoryController.java

@@ -101,4 +101,13 @@ public class TbAssetCategoryController extends BaseController
     {
         return toAjax(tbAssetCategoryService.deleteTbAssetCategoryByIds(ids));
     }
+
+    /**
+     * 获取全部分类信息
+     */
+    @PreAuthorize("@ss.hasPermi('asset:category:list')")
+    @GetMapping("/all")
+    public AjaxResult selectTbAssetCategoryAll() {
+        return AjaxResult.success(tbAssetCategoryService.selectTbAssetCategoryAll());
+    }
 }

+ 9 - 0
lab-admin/src/main/java/com/ruoyi/asset/controller/TbAssetController.java

@@ -101,4 +101,13 @@ public class TbAssetController extends BaseController
     {
         return toAjax(tbAssetService.deleteTbAssetByIds(ids));
     }
+
+    /**
+     * 根据条形码获取资产信息
+     */
+    @PreAuthorize("@ss.hasPermi('asset:asset:query')")
+    @GetMapping(value = "/barcode/{barCode}")
+    public AjaxResult selectTbAssetByBarCode(@PathVariable("barCode") String barCode) {
+        return AjaxResult.success(tbAssetService.selectTbAssetByBarCode(barCode));
+    }
 }

+ 10 - 0
lab-admin/src/main/java/com/ruoyi/asset/controller/TbPlaceController.java

@@ -101,4 +101,14 @@ public class TbPlaceController extends BaseController
     {
         return toAjax(tbPlaceService.deleteTbPlaceByIds(ids));
     }
+
+    /**
+     * 查询全部地点列表
+     */
+    @PreAuthorize("@ss.hasPermi('asset:place:list')")
+    @GetMapping("/all")
+    public AjaxResult all()
+    {
+        return AjaxResult.success(tbPlaceService.selectTbPlaceAll());
+    }
 }

+ 23 - 0
lab-admin/src/main/java/com/ruoyi/asset/domain/TbAsset.java

@@ -2,6 +2,10 @@ package com.ruoyi.asset.domain;
 
 import java.math.BigDecimal;
 import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
@@ -14,81 +18,100 @@ import com.ruoyi.common.core.domain.BaseEntity;
  * @author 原动力
  * @date 2023-03-27
  */
+@TableName("tb_asset")
 public class TbAsset extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
 
     /** 编号 */
     @Excel(name = "编号")
+    @TableId("id")
     private Long id;
 
     /** 条形码 */
     @Excel(name = "条形码")
+    @TableField("bar_code")
     private String barCode;
 
     /** 资产编号 */
     @Excel(name = "资产编号")
+    @TableField("number")
     private String number;
 
     /** 资产名称 */
     @Excel(name = "资产名称")
+    @TableField("name")
     private String name;
 
     /** 资产种类 */
     @Excel(name = "资产种类")
+    @TableField("kind")
     private String kind;
 
     /** 资产分类编号 */
     @Excel(name = "资产分类编号")
+    @TableField("category_number")
     private String categoryNumber;
 
     /** 资产原值 */
     @Excel(name = "资产原值")
+    @TableField("amount")
     private BigDecimal amount;
 
     /** 数量 */
     @Excel(name = "数量")
+    @TableField("quantity")
     private Long quantity;
 
     /** 取得时间 */
     @JsonFormat(pattern = "yyyy-MM-dd")
     @Excel(name = "取得时间", width = 30, dateFormat = "yyyy-MM-dd")
+    @TableField("build_date")
     private Date buildDate;
 
     /** 存放地点 */
     @Excel(name = "存放地点")
+    @TableField("place_name")
     private String placeName;
 
     /** 资产用途 */
     @Excel(name = "资产用途")
+    @TableField("purpose")
     private String purpose;
 
     /** 使用部门ID */
     @Excel(name = "使用部门ID")
+    @TableField("dept_id")
     private Long deptId;
 
     /** 登记人 */
     @Excel(name = "登记人")
+    @TableField("registrant")
     private String registrant;
 
     /** 规格型号 */
     @Excel(name = "规格型号")
+    @TableField("specifications_model")
     private String specificationsModel;
 
     /** 生产厂商 */
     @Excel(name = "生产厂商")
+    @TableField("manufacturer")
     private String manufacturer;
 
     /** 品牌型号 */
     @Excel(name = "品牌型号")
+    @TableField("brand")
     private String brand;
 
     /** 供应商 */
     @Excel(name = "供应商")
+    @TableField("supplier")
     private String supplier;
 
     /** 状态 */
     @Excel(name = "状态")
+    @TableField("status")
     private Long status;
 
     public void setId(Long id) 

+ 27 - 0
lab-admin/src/main/java/com/ruoyi/asset/domain/TbAssetBorrowRecord.java

@@ -1,6 +1,10 @@
 package com.ruoyi.asset.domain;
 
 import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
@@ -13,44 +17,57 @@ import com.ruoyi.common.core.domain.BaseEntity;
  * @author 原动力
  * @date 2023-03-27
  */
+@TableName("tb_asset_borrow_record")
 public class TbAssetBorrowRecord extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
 
     /** 记录编号 */
     @Excel(name = "记录编号")
+    @TableId("id")
     private Long id;
 
     /** 设备条形码 */
     @Excel(name = "设备条形码")
+    @TableField("asset_bar_code")
     private String assetBarCode;
 
     /** 借用人 */
     @Excel(name = "借用人")
+    @TableField("user_id")
     private Long userId;
 
     /** 借用人电话 */
     @Excel(name = "借用人电话")
+    @TableField("tel")
     private String tel;
 
     /** 是否归还 */
     @Excel(name = "是否归还")
+    @TableField("isReturn")
     private Long isreturn;
 
     /** 借用时间 */
     @JsonFormat(pattern = "yyyy-MM-dd")
+    @TableField("borrow_date")
     @Excel(name = "借用时间", width = 30, dateFormat = "yyyy-MM-dd")
     private Date borrowDate;
 
     /** 归还时间 */
     @JsonFormat(pattern = "yyyy-MM-dd")
+    @TableField("return_date")
     @Excel(name = "归还时间", width = 30, dateFormat = "yyyy-MM-dd")
     private Date returnDate;
 
     /** 借用地点 */
     @Excel(name = "借用地点")
+    @TableField("asset_bar_code")
     private String borrowPlaceName;
 
+    @Excel(name = "备注")
+    @TableField("remark")
+    private String remark;
+
     public void setId(Long id) 
     {
         this.id = id;
@@ -125,6 +142,16 @@ public class TbAssetBorrowRecord extends BaseEntity
     }
 
     @Override
+    public String getRemark() {
+        return remark;
+    }
+
+    @Override
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
             .append("id", getId())

+ 21 - 0
lab-admin/src/main/java/com/ruoyi/asset/domain/TbAssetCategory.java

@@ -1,5 +1,8 @@
 package com.ruoyi.asset.domain;
 
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.common.annotation.Excel;
@@ -11,22 +14,30 @@ import com.ruoyi.common.core.domain.BaseEntity;
  * @author 原动力
  * @date 2023-03-27
  */
+@TableName("tb_asset_category")
 public class TbAssetCategory extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
 
     /** 编号 */
     @Excel(name = "编号")
+    @TableId("id")
     private Long id;
 
     /** 资产分类编号 */
     @Excel(name = "资产分类编号")
+    @TableField("number")
     private String number;
 
     /** 资产分类名称 */
     @Excel(name = "资产分类名称")
+    @TableField("name")
     private String name;
 
+    @Excel(name = "备注")
+    @TableField("remark")
+    private String remark;
+
     public void setId(Long id) 
     {
         this.id = id;
@@ -56,6 +67,16 @@ public class TbAssetCategory extends BaseEntity
     }
 
     @Override
+    public String getRemark() {
+        return remark;
+    }
+
+    @Override
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
             .append("id", getId())

+ 10 - 0
lab-admin/src/main/java/com/ruoyi/asset/domain/TbAssetStatusRecord.java

@@ -1,6 +1,10 @@
 package com.ruoyi.asset.domain;
 
 import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
@@ -13,29 +17,35 @@ import com.ruoyi.common.core.domain.BaseEntity;
  * @author 原动力
  * @date 2023-03-27
  */
+@TableName("tb_asset_status_record")
 public class TbAssetStatusRecord extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
 
     /** 记录编号 */
     @Excel(name = "记录编号")
+    @TableId("id")
     private Long id;
 
     /** 设备条形码 */
     @Excel(name = "设备条形码")
+    @TableField("asset_bar_code")
     private String assetBarCode;
 
     /** 借用次数 */
     @Excel(name = "借用次数")
+    @TableField("borrow_number")
     private Long borrowNumber;
 
     /** 故障次数 */
     @Excel(name = "故障次数")
+    @TableField("fault_number")
     private Long faultNumber;
 
     /** 最近故障时间 */
     @JsonFormat(pattern = "yyyy-MM-dd")
     @Excel(name = "最近故障时间", width = 30, dateFormat = "yyyy-MM-dd")
+    @TableField("last_fault_date")
     private Date lastFaultDate;
 
     public void setId(Long id) 

+ 13 - 0
lab-admin/src/main/java/com/ruoyi/asset/domain/TbFaultReport.java

@@ -1,6 +1,10 @@
 package com.ruoyi.asset.domain;
 
 import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
@@ -13,41 +17,50 @@ import com.ruoyi.common.core.domain.BaseEntity;
  * @author 原动力
  * @date 2023-03-27
  */
+@TableName("tb_fault_report")
 public class TbFaultReport extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
 
     /** 报备编号 */
     @Excel(name = "报备编号")
+    @TableId("id")
     private Long id;
 
     /** 设备条形码 */
     @Excel(name = "设备条形码")
+    @TableField("asset_bar_code")
     private String assetBarCode;
 
     /** 报备人 */
     @Excel(name = "报备人")
+    @TableField("user_id")
     private Long userId;
 
     /** 报备时间 */
     @JsonFormat(pattern = "yyyy-MM-dd")
+    @TableField("report_date")
     @Excel(name = "报备时间", width = 30, dateFormat = "yyyy-MM-dd")
     private Date reportDate;
 
     /** 故障现象 */
     @Excel(name = "故障现象")
+    @TableField("fault_phenomenon")
     private String faultPhenomenon;
 
     /** 报备人电话 */
     @Excel(name = "报备人电话")
+    @TableField("tel")
     private String tel;
 
     /** 处理状态 */
     @Excel(name = "处理状态")
+    @TableField("process_state")
     private Long processState;
 
     /** 处理结果 */
     @Excel(name = "处理结果")
+    @TableField("process_result")
     private String processResult;
 
     public void setId(Long id) 

+ 7 - 0
lab-admin/src/main/java/com/ruoyi/asset/domain/TbPlace.java

@@ -1,5 +1,8 @@
 package com.ruoyi.asset.domain;
 
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.common.annotation.Excel;
@@ -11,20 +14,24 @@ import com.ruoyi.common.core.domain.BaseEntity;
  * @author 原动力
  * @date 2023-03-27
  */
+@TableName("tb_place")
 public class TbPlace extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
 
     /** 编号 */
     @Excel(name = "编号")
+    @TableId("id")
     private Long id;
 
     /** 地点名称 */
     @Excel(name = "地点名称")
+    @TableField("name")
     private String name;
 
     /** 用途 */
     @Excel(name = "用途")
+    @TableField("purpose")
     private String purpose;
 
     public void setId(Long id) 

+ 5 - 1
lab-admin/src/main/java/com/ruoyi/asset/mapper/TbAssetBorrowRecordMapper.java

@@ -1,7 +1,10 @@
 package com.ruoyi.asset.mapper;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.asset.domain.TbAssetBorrowRecord;
+import org.apache.ibatis.annotations.Mapper;
 
 /**
  * 设备借用记录Mapper接口
@@ -9,7 +12,8 @@ import com.ruoyi.asset.domain.TbAssetBorrowRecord;
  * @author 原动力
  * @date 2023-03-27
  */
-public interface TbAssetBorrowRecordMapper 
+@Mapper
+public interface TbAssetBorrowRecordMapper extends BaseMapper<TbAssetBorrowRecord>
 {
     /**
      * 查询设备借用记录

+ 5 - 1
lab-admin/src/main/java/com/ruoyi/asset/mapper/TbAssetCategoryMapper.java

@@ -1,7 +1,10 @@
 package com.ruoyi.asset.mapper;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.asset.domain.TbAssetCategory;
+import org.apache.ibatis.annotations.Mapper;
 
 /**
  * 资产分类Mapper接口
@@ -9,7 +12,8 @@ import com.ruoyi.asset.domain.TbAssetCategory;
  * @author 原动力
  * @date 2023-03-27
  */
-public interface TbAssetCategoryMapper 
+@Mapper
+public interface TbAssetCategoryMapper extends BaseMapper<TbAssetCategory>
 {
     /**
      * 查询资产分类

+ 5 - 1
lab-admin/src/main/java/com/ruoyi/asset/mapper/TbAssetMapper.java

@@ -1,7 +1,10 @@
 package com.ruoyi.asset.mapper;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.asset.domain.TbAsset;
+import org.apache.ibatis.annotations.Mapper;
 
 /**
  * 资产信息Mapper接口
@@ -9,7 +12,8 @@ import com.ruoyi.asset.domain.TbAsset;
  * @author 原动力
  * @date 2023-03-27
  */
-public interface TbAssetMapper 
+@Mapper
+public interface TbAssetMapper extends BaseMapper<TbAsset>
 {
     /**
      * 查询资产信息

+ 5 - 1
lab-admin/src/main/java/com/ruoyi/asset/mapper/TbAssetStatusRecordMapper.java

@@ -1,7 +1,10 @@
 package com.ruoyi.asset.mapper;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.asset.domain.TbAssetStatusRecord;
+import org.apache.ibatis.annotations.Mapper;
 
 /**
  * 资产设备状态记录Mapper接口
@@ -9,7 +12,8 @@ import com.ruoyi.asset.domain.TbAssetStatusRecord;
  * @author 原动力
  * @date 2023-03-27
  */
-public interface TbAssetStatusRecordMapper 
+@Mapper
+public interface TbAssetStatusRecordMapper extends BaseMapper<TbAssetStatusRecord>
 {
     /**
      * 查询资产设备状态记录

+ 5 - 1
lab-admin/src/main/java/com/ruoyi/asset/mapper/TbFaultReportMapper.java

@@ -1,7 +1,10 @@
 package com.ruoyi.asset.mapper;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.asset.domain.TbFaultReport;
+import org.apache.ibatis.annotations.Mapper;
 
 /**
  * 故障报备Mapper接口
@@ -9,7 +12,8 @@ import com.ruoyi.asset.domain.TbFaultReport;
  * @author 原动力
  * @date 2023-03-27
  */
-public interface TbFaultReportMapper 
+@Mapper
+public interface TbFaultReportMapper extends BaseMapper<TbFaultReport>
 {
     /**
      * 查询故障报备

+ 5 - 1
lab-admin/src/main/java/com/ruoyi/asset/mapper/TbPlaceMapper.java

@@ -1,7 +1,10 @@
 package com.ruoyi.asset.mapper;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.asset.domain.TbPlace;
+import org.apache.ibatis.annotations.Mapper;
 
 /**
  * 地点Mapper接口
@@ -9,7 +12,8 @@ import com.ruoyi.asset.domain.TbPlace;
  * @author 原动力
  * @date 2023-03-27
  */
-public interface TbPlaceMapper 
+@Mapper
+public interface TbPlaceMapper extends BaseMapper<TbPlace>
 {
     /**
      * 查询地点

+ 3 - 1
lab-admin/src/main/java/com/ruoyi/asset/service/ITbAssetBorrowRecordService.java

@@ -1,6 +1,8 @@
 package com.ruoyi.asset.service;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.asset.domain.TbAssetBorrowRecord;
 
 /**
@@ -9,7 +11,7 @@ import com.ruoyi.asset.domain.TbAssetBorrowRecord;
  * @author 原动力
  * @date 2023-03-27
  */
-public interface ITbAssetBorrowRecordService 
+public interface ITbAssetBorrowRecordService extends IService<TbAssetBorrowRecord>
 {
     /**
      * 查询设备借用记录

+ 10 - 1
lab-admin/src/main/java/com/ruoyi/asset/service/ITbAssetCategoryService.java

@@ -1,6 +1,8 @@
 package com.ruoyi.asset.service;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.asset.domain.TbAssetCategory;
 
 /**
@@ -9,7 +11,7 @@ import com.ruoyi.asset.domain.TbAssetCategory;
  * @author 原动力
  * @date 2023-03-27
  */
-public interface ITbAssetCategoryService 
+public interface ITbAssetCategoryService extends IService<TbAssetCategory>
 {
     /**
      * 查询资产分类
@@ -58,4 +60,11 @@ public interface ITbAssetCategoryService
      * @return 结果
      */
     public int deleteTbAssetCategoryById(Long id);
+
+    /**
+     * 获取全部资产分类信息
+     *
+     * @return 资产分类信息集合
+     */
+    public List<TbAssetCategory> selectTbAssetCategoryAll();
 }

+ 11 - 1
lab-admin/src/main/java/com/ruoyi/asset/service/ITbAssetService.java

@@ -1,6 +1,8 @@
 package com.ruoyi.asset.service;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.asset.domain.TbAsset;
 
 /**
@@ -9,7 +11,7 @@ import com.ruoyi.asset.domain.TbAsset;
  * @author 原动力
  * @date 2023-03-27
  */
-public interface ITbAssetService 
+public interface ITbAssetService extends IService<TbAsset>
 {
     /**
      * 查询资产信息
@@ -58,4 +60,12 @@ public interface ITbAssetService
      * @return 结果
      */
     public int deleteTbAssetById(Long id);
+
+    /**
+     * 根据条形码查询资产信息
+     *
+     * @param barCode 资产条形码
+     * @return 资产信息
+     */
+    TbAsset selectTbAssetByBarCode(String barCode);
 }

+ 3 - 1
lab-admin/src/main/java/com/ruoyi/asset/service/ITbAssetStatusRecordService.java

@@ -1,6 +1,8 @@
 package com.ruoyi.asset.service;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.asset.domain.TbAssetStatusRecord;
 
 /**
@@ -9,7 +11,7 @@ import com.ruoyi.asset.domain.TbAssetStatusRecord;
  * @author 原动力
  * @date 2023-03-27
  */
-public interface ITbAssetStatusRecordService 
+public interface ITbAssetStatusRecordService extends IService<TbAssetStatusRecord>
 {
     /**
      * 查询资产设备状态记录

+ 3 - 1
lab-admin/src/main/java/com/ruoyi/asset/service/ITbFaultReportService.java

@@ -1,6 +1,8 @@
 package com.ruoyi.asset.service;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.asset.domain.TbFaultReport;
 
 /**
@@ -9,7 +11,7 @@ import com.ruoyi.asset.domain.TbFaultReport;
  * @author 原动力
  * @date 2023-03-27
  */
-public interface ITbFaultReportService 
+public interface ITbFaultReportService extends IService<TbFaultReport>
 {
     /**
      * 查询故障报备

+ 10 - 1
lab-admin/src/main/java/com/ruoyi/asset/service/ITbPlaceService.java

@@ -1,6 +1,8 @@
 package com.ruoyi.asset.service;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.asset.domain.TbPlace;
 
 /**
@@ -9,7 +11,7 @@ import com.ruoyi.asset.domain.TbPlace;
  * @author 原动力
  * @date 2023-03-27
  */
-public interface ITbPlaceService 
+public interface ITbPlaceService extends IService<TbPlace>
 {
     /**
      * 查询地点
@@ -58,4 +60,11 @@ public interface ITbPlaceService
      * @return 结果
      */
     public int deleteTbPlaceById(Long id);
+
+    /**
+     * 获取全部地点信息
+     *
+     * @return 地点信息集合
+     */
+    public List<TbPlace> selectTbPlaceAll();
 }

+ 3 - 1
lab-admin/src/main/java/com/ruoyi/asset/service/impl/TbAssetBorrowRecordServiceImpl.java

@@ -1,6 +1,8 @@
 package com.ruoyi.asset.service.impl;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.asset.mapper.TbAssetBorrowRecordMapper;
@@ -14,7 +16,7 @@ import com.ruoyi.asset.service.ITbAssetBorrowRecordService;
  * @date 2023-03-27
  */
 @Service
-public class TbAssetBorrowRecordServiceImpl implements ITbAssetBorrowRecordService 
+public class TbAssetBorrowRecordServiceImpl extends ServiceImpl<TbAssetBorrowRecordMapper, TbAssetBorrowRecord> implements ITbAssetBorrowRecordService
 {
     @Autowired
     private TbAssetBorrowRecordMapper tbAssetBorrowRecordMapper;

+ 11 - 2
lab-admin/src/main/java/com/ruoyi/asset/service/impl/TbAssetCategoryServiceImpl.java

@@ -1,6 +1,8 @@
 package com.ruoyi.asset.service.impl;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.asset.mapper.TbAssetCategoryMapper;
@@ -14,7 +16,7 @@ import com.ruoyi.asset.service.ITbAssetCategoryService;
  * @date 2023-03-27
  */
 @Service
-public class TbAssetCategoryServiceImpl implements ITbAssetCategoryService 
+public class TbAssetCategoryServiceImpl extends ServiceImpl<TbAssetCategoryMapper, TbAssetCategory> implements ITbAssetCategoryService
 {
     @Autowired
     private TbAssetCategoryMapper tbAssetCategoryMapper;
@@ -28,7 +30,8 @@ public class TbAssetCategoryServiceImpl implements ITbAssetCategoryService
     @Override
     public TbAssetCategory selectTbAssetCategoryById(Long id)
     {
-        return tbAssetCategoryMapper.selectTbAssetCategoryById(id);
+        return getById(id);
+        // return tbAssetCategoryMapper.selectTbAssetCategoryById(id);
     }
 
     /**
@@ -90,4 +93,10 @@ public class TbAssetCategoryServiceImpl implements ITbAssetCategoryService
     {
         return tbAssetCategoryMapper.deleteTbAssetCategoryById(id);
     }
+
+    @Override
+    public List<TbAssetCategory> selectTbAssetCategoryAll() {
+        // 查询全部资产分类信息
+        return list();
+    }
 }

+ 20 - 1
lab-admin/src/main/java/com/ruoyi/asset/service/impl/TbAssetServiceImpl.java

@@ -1,6 +1,9 @@
 package com.ruoyi.asset.service.impl;
 
 import java.util.List;
+
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.asset.mapper.TbAssetMapper;
@@ -14,7 +17,7 @@ import com.ruoyi.asset.service.ITbAssetService;
  * @date 2023-03-27
  */
 @Service
-public class TbAssetServiceImpl implements ITbAssetService 
+public class TbAssetServiceImpl extends ServiceImpl<TbAssetMapper, TbAsset> implements ITbAssetService
 {
     @Autowired
     private TbAssetMapper tbAssetMapper;
@@ -90,4 +93,20 @@ public class TbAssetServiceImpl implements ITbAssetService
     {
         return tbAssetMapper.deleteTbAssetById(id);
     }
+
+    /**
+     * 根据条形码查询资产信息
+     *
+     * @param barCode 资产条形码
+     * @return 资产信息
+     */
+    @Override
+    public TbAsset selectTbAssetByBarCode(String barCode) {
+        // 判断条形码是否为空
+        if (StrUtil.isBlank(barCode)) {
+            return null;
+        }
+        // 查询资产信息
+        return query().eq("bar_code", barCode).one();
+    }
 }

+ 3 - 1
lab-admin/src/main/java/com/ruoyi/asset/service/impl/TbAssetStatusRecordServiceImpl.java

@@ -1,6 +1,8 @@
 package com.ruoyi.asset.service.impl;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.asset.mapper.TbAssetStatusRecordMapper;
@@ -14,7 +16,7 @@ import com.ruoyi.asset.service.ITbAssetStatusRecordService;
  * @date 2023-03-27
  */
 @Service
-public class TbAssetStatusRecordServiceImpl implements ITbAssetStatusRecordService 
+public class TbAssetStatusRecordServiceImpl extends ServiceImpl<TbAssetStatusRecordMapper, TbAssetStatusRecord> implements ITbAssetStatusRecordService
 {
     @Autowired
     private TbAssetStatusRecordMapper tbAssetStatusRecordMapper;

+ 3 - 1
lab-admin/src/main/java/com/ruoyi/asset/service/impl/TbFaultReportServiceImpl.java

@@ -1,6 +1,8 @@
 package com.ruoyi.asset.service.impl;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.asset.mapper.TbFaultReportMapper;
@@ -14,7 +16,7 @@ import com.ruoyi.asset.service.ITbFaultReportService;
  * @date 2023-03-27
  */
 @Service
-public class TbFaultReportServiceImpl implements ITbFaultReportService 
+public class TbFaultReportServiceImpl extends ServiceImpl<TbFaultReportMapper, TbFaultReport> implements ITbFaultReportService
 {
     @Autowired
     private TbFaultReportMapper tbFaultReportMapper;

+ 13 - 1
lab-admin/src/main/java/com/ruoyi/asset/service/impl/TbPlaceServiceImpl.java

@@ -1,7 +1,14 @@
 package com.ruoyi.asset.service.impl;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.asset.utils.UserUtils;
+import com.ruoyi.common.core.domain.model.LoginUser;
+import com.ruoyi.framework.web.service.TokenService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.stereotype.Service;
 import com.ruoyi.asset.mapper.TbPlaceMapper;
 import com.ruoyi.asset.domain.TbPlace;
@@ -14,7 +21,7 @@ import com.ruoyi.asset.service.ITbPlaceService;
  * @date 2023-03-27
  */
 @Service
-public class TbPlaceServiceImpl implements ITbPlaceService 
+public class TbPlaceServiceImpl extends ServiceImpl<TbPlaceMapper, TbPlace> implements ITbPlaceService
 {
     @Autowired
     private TbPlaceMapper tbPlaceMapper;
@@ -90,4 +97,9 @@ public class TbPlaceServiceImpl implements ITbPlaceService
     {
         return tbPlaceMapper.deleteTbPlaceById(id);
     }
+
+    @Override
+    public List<TbPlace> selectTbPlaceAll() {
+        return list();
+    }
 }

+ 34 - 0
lab-admin/src/main/java/com/ruoyi/asset/utils/UserUtils.java

@@ -0,0 +1,34 @@
+package com.ruoyi.asset.utils;
+
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.model.LoginUser;
+import org.springframework.security.core.context.SecurityContextHolder;
+
+public class UserUtils {
+    /**
+     * 获取登录用户上下文
+     *
+     * @return 登录用户上下文信息
+     */
+    public static LoginUser getLoginContext() {
+        return (LoginUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
+    }
+
+    /**
+     * 获取登录用户ID
+     *
+     * @return 用户ID
+     */
+    public static Long getLoginUserId() {
+        return getLoginContext().getUserId();
+    }
+
+    /**
+     * 获取登录用户信息
+     *
+     * @return 用户信息
+     */
+    public static SysUser getLoginUser() {
+        return getLoginContext().getUser();
+    }
+}

+ 9 - 9
lab-admin/src/main/resources/application.yml

@@ -98,15 +98,15 @@ token:
     secret: abcdefghijklmnopqrstuvwxyz
     # 令牌有效期(默认30分钟)
     expireTime: 30
-  
-# MyBatis配置
-mybatis:
-    # 搜索指定包别名
-    typeAliasesPackage: com.ruoyi.**.domain
-    # 配置mapper的扫描,找到所有的mapper.xml映射文件
-    mapperLocations: classpath*:mapper/**/*Mapper.xml
-    # 加载全局的配置文件
-    configLocation: classpath:mybatis/mybatis-config.xml
+
+# MyBatis Plus配置
+mybatis-plus:
+  # 搜索指定包别名
+  typeAliasesPackage: com.ruoyi.**.domain
+  # 配置mapper的扫描,找到所有的mapper.xml映射文件
+  mapperLocations: classpath*:mapper/**/*Mapper.xml
+  # 加载全局的配置文件
+  configLocation: classpath:mybatis/mybatis-config.xml
 
 # PageHelper分页插件
 pagehelper: 

+ 14 - 0
lab-common/pom.xml

@@ -39,6 +39,13 @@
         <dependency>
             <groupId>com.github.pagehelper</groupId>
             <artifactId>pagehelper-spring-boot-starter</artifactId>
+            <exclusions>
+                <exclusion>
+                    <!--去除mybatis依赖-->
+                    <groupId>org.mybatis</groupId>
+                    <artifactId>mybatis</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <!-- 自定义验证注解 -->
@@ -125,6 +132,13 @@
             <artifactId>javax.servlet-api</artifactId>
         </dependency>
 
+        <!-- mybatis-plus 增强CRUD -->
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+            <version>3.4.2</version>
+        </dependency>
+
     </dependencies>
 
 </project>

+ 9 - 0
lab-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java

@@ -4,6 +4,8 @@ import java.io.Serializable;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
+
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 
 /**
@@ -16,26 +18,33 @@ public class BaseEntity implements Serializable
     private static final long serialVersionUID = 1L;
 
     /** 搜索值 */
+    @TableField(exist = false)
     private String searchValue;
 
     /** 创建者 */
+    @TableField(exist = false)
     private String createBy;
 
     /** 创建时间 */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @TableField(exist = false)
     private Date createTime;
 
     /** 更新者 */
+    @TableField(exist = false)
     private String updateBy;
 
     /** 更新时间 */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @TableField(exist = false)
     private Date updateTime;
 
     /** 备注 */
+    @TableField(exist = false)
     private String remark;
 
     /** 请求参数 */
+    @TableField(exist = false)
     private Map<String, Object> params;
 
     public String getSearchValue()

+ 0 - 132
lab-framework/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java

@@ -1,132 +0,0 @@
-package com.ruoyi.framework.config;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import javax.sql.DataSource;
-import org.apache.ibatis.io.VFS;
-import org.apache.ibatis.session.SqlSessionFactory;
-import org.mybatis.spring.SqlSessionFactoryBean;
-import org.mybatis.spring.boot.autoconfigure.SpringBootVFS;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.env.Environment;
-import org.springframework.core.io.DefaultResourceLoader;
-import org.springframework.core.io.Resource;
-import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
-import org.springframework.core.io.support.ResourcePatternResolver;
-import org.springframework.core.type.classreading.CachingMetadataReaderFactory;
-import org.springframework.core.type.classreading.MetadataReader;
-import org.springframework.core.type.classreading.MetadataReaderFactory;
-import org.springframework.util.ClassUtils;
-import com.ruoyi.common.utils.StringUtils;
-
-/**
- * Mybatis支持*匹配扫描包
- * 
- * @author ruoyi
- */
-@Configuration
-public class MyBatisConfig
-{
-    @Autowired
-    private Environment env;
-
-    static final String DEFAULT_RESOURCE_PATTERN = "**/*.class";
-
-    public static String setTypeAliasesPackage(String typeAliasesPackage)
-    {
-        ResourcePatternResolver resolver = (ResourcePatternResolver) new PathMatchingResourcePatternResolver();
-        MetadataReaderFactory metadataReaderFactory = new CachingMetadataReaderFactory(resolver);
-        List<String> allResult = new ArrayList<String>();
-        try
-        {
-            for (String aliasesPackage : typeAliasesPackage.split(","))
-            {
-                List<String> result = new ArrayList<String>();
-                aliasesPackage = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX
-                        + ClassUtils.convertClassNameToResourcePath(aliasesPackage.trim()) + "/" + DEFAULT_RESOURCE_PATTERN;
-                Resource[] resources = resolver.getResources(aliasesPackage);
-                if (resources != null && resources.length > 0)
-                {
-                    MetadataReader metadataReader = null;
-                    for (Resource resource : resources)
-                    {
-                        if (resource.isReadable())
-                        {
-                            metadataReader = metadataReaderFactory.getMetadataReader(resource);
-                            try
-                            {
-                                result.add(Class.forName(metadataReader.getClassMetadata().getClassName()).getPackage().getName());
-                            }
-                            catch (ClassNotFoundException e)
-                            {
-                                e.printStackTrace();
-                            }
-                        }
-                    }
-                }
-                if (result.size() > 0)
-                {
-                    HashSet<String> hashResult = new HashSet<String>(result);
-                    allResult.addAll(hashResult);
-                }
-            }
-            if (allResult.size() > 0)
-            {
-                typeAliasesPackage = String.join(",", (String[]) allResult.toArray(new String[0]));
-            }
-            else
-            {
-                throw new RuntimeException("mybatis typeAliasesPackage 路径扫描错误,参数typeAliasesPackage:" + typeAliasesPackage + "未找到任何包");
-            }
-        }
-        catch (IOException e)
-        {
-            e.printStackTrace();
-        }
-        return typeAliasesPackage;
-    }
-
-    public Resource[] resolveMapperLocations(String[] mapperLocations)
-    {
-        ResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver();
-        List<Resource> resources = new ArrayList<Resource>();
-        if (mapperLocations != null)
-        {
-            for (String mapperLocation : mapperLocations)
-            {
-                try
-                {
-                    Resource[] mappers = resourceResolver.getResources(mapperLocation);
-                    resources.addAll(Arrays.asList(mappers));
-                }
-                catch (IOException e)
-                {
-                    // ignore
-                }
-            }
-        }
-        return resources.toArray(new Resource[resources.size()]);
-    }
-
-    @Bean
-    public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception
-    {
-        String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage");
-        String mapperLocations = env.getProperty("mybatis.mapperLocations");
-        String configLocation = env.getProperty("mybatis.configLocation");
-        typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage);
-        VFS.addImplClass(SpringBootVFS.class);
-
-        final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
-        sessionFactory.setDataSource(dataSource);
-        sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
-        sessionFactory.setMapperLocations(resolveMapperLocations(StringUtils.split(mapperLocations, ",")));
-        sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation));
-        return sessionFactory.getObject();
-    }
-}

+ 61 - 0
lab-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java

@@ -0,0 +1,61 @@
+package com.ruoyi.framework.config;
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * Mybatis Plus 配置
+ *
+ * @author ruoyi
+ */
+@EnableTransactionManagement(proxyTargetClass = true)
+@Configuration
+public class MybatisPlusConfig
+{
+    @Bean
+    public MybatisPlusInterceptor mybatisPlusInterceptor()
+    {
+        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+        // 分页插件
+        interceptor.addInnerInterceptor(paginationInnerInterceptor());
+        // 乐观锁插件
+        interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
+        // 阻断插件
+        interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
+        return interceptor;
+    }
+
+    /**
+     * 分页插件,自动识别数据库类型 https://baomidou.com/guide/interceptor-pagination.html
+     */
+    public PaginationInnerInterceptor paginationInnerInterceptor()
+    {
+        PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
+        // 设置数据库类型为mysql
+        paginationInnerInterceptor.setDbType(DbType.MYSQL);
+        // 设置最大单页限制数量,默认 500 条,-1 不受限制
+        paginationInnerInterceptor.setMaxLimit(-1L);
+        return paginationInnerInterceptor;
+    }
+
+    /**
+     * 乐观锁插件 https://baomidou.com/guide/interceptor-optimistic-locker.html
+     */
+    public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor()
+    {
+        return new OptimisticLockerInnerInterceptor();
+    }
+
+    /**
+     * 如果是对全表的删除或更新操作,就会终止该操作 https://baomidou.com/guide/interceptor-block-attack.html
+     */
+    public BlockAttackInnerInterceptor blockAttackInnerInterceptor()
+    {
+        return new BlockAttackInnerInterceptor();
+    }
+}

+ 9 - 0
lab-ui/src/api/asset/category.js

@@ -9,6 +9,15 @@ export function listCategory(query) {
   })
 }
 
+// 查询全部资产分类
+export function allCategory() {
+  return request({
+    url: '/asset/category/all',
+    method: 'get'
+  })
+}
+
+
 // 查询资产分类详细
 export function getCategory(id) {
   return request({

+ 8 - 0
lab-ui/src/api/asset/place.js

@@ -9,6 +9,14 @@ export function listPlace(query) {
   })
 }
 
+// 查询全部地点
+export function allPlace() {
+  return request({
+    url: '/asset/place/all',
+    method: 'get'
+  })
+}
+
 // 查询地点详细
 export function getPlace(id) {
   return request({

+ 64 - 23
lab-ui/src/views/asset/asset/index.vue

@@ -35,13 +35,15 @@
           />
         </el-select>
       </el-form-item>
-      <el-form-item label="资产分类编号" prop="categoryNumber">
-        <el-input
-          v-model="queryParams.categoryNumber"
-          placeholder="请输入资产分类编号"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+      <el-form-item label="资产分类" prop="categoryNumber">
+        <el-select v-model="queryParams.categoryNumber" filterable placeholder="请输入资产分类">
+          <el-option
+            v-for="item in assetCategoryList"
+            :key="item.number"
+            :label="item.name"
+            :value="item.number">
+          </el-option>
+        </el-select>
       </el-form-item>
       <el-form-item label="取得时间" prop="buildDate">
         <el-date-picker clearable
@@ -52,12 +54,14 @@
         </el-date-picker>
       </el-form-item>
       <el-form-item label="存放地点" prop="placeName">
-        <el-input
-          v-model="queryParams.placeName"
-          placeholder="请输入存放地点"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-select v-model="queryParams.placeName" filterable placeholder="请输入存放地点">
+          <el-option
+            v-for="item in placeList"
+            :key="item.id"
+            :label="item.name"
+            :value="item.name">
+          </el-option>
+        </el-select>
       </el-form-item>
       <el-form-item label="资产用途" prop="purpose">
         <el-select v-model="queryParams.purpose" placeholder="请选择资产用途" clearable>
@@ -69,13 +73,14 @@
           />
         </el-select>
       </el-form-item>
-      <el-form-item label="使用部门ID" prop="deptId">
-        <el-input
+      <el-form-item label="使用部门" prop="deptId">
+        <el-cascader
           v-model="queryParams.deptId"
-          placeholder="请输入使用部门ID"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+          :options="deptList"
+          :show-all-levels="false"
+          clearable :props="{value: 'id'}"
+          placeholder="请选择使用部门"
+        ></el-cascader>
       </el-form-item>
       <el-form-item label="登记人" prop="registrant">
         <el-input
@@ -190,7 +195,11 @@
           <dict-tag :options="dict.type.asset_kind" :value="scope.row.kind"/>
         </template>
       </el-table-column>
-      <el-table-column label="资产分类编号" align="center" prop="categoryNumber" />
+      <el-table-column label="资产分类" align="center" prop="categoryNumber">
+        <template slot-scope="scope">
+          <span>{{getAssetCategory(scope.row.categoryNumber)}}</span>
+        </template>
+      </el-table-column>
       <el-table-column label="资产原值" align="center" prop="amount" />
       <el-table-column label="数量" align="center" prop="quantity" />
       <el-table-column label="取得时间" align="center" prop="buildDate" width="180">
@@ -292,7 +301,7 @@
               v-for="dict in dict.type.asset_prupose"
               :key="dict.value"
               :label="dict.label"
-:value="dict.value"
+              :value="dict.value"
             ></el-option>
           </el-select>
         </el-form-item>
@@ -323,7 +332,7 @@
               v-for="dict in dict.type.asset_status"
               :key="dict.value"
               :label="dict.label"
-:value="parseInt(dict.value)"
+              :value="parseInt(dict.value)"
             ></el-option>
           </el-select>
         </el-form-item>
@@ -338,6 +347,9 @@
 
 <script>
 import { listAsset, getAsset, delAsset, addAsset, updateAsset } from "@/api/asset/asset";
+import { allCategory } from '@/api/asset/category.js'
+import { treeselect } from '@/api/system/dept.js'
+import { allPlace } from '@/api/asset/place.js'
 
 export default {
   name: "Asset",
@@ -358,6 +370,12 @@ export default {
       total: 0,
       // 资产信息表格数据
       assetList: [],
+      // 资产分类数据
+      assetCategoryList: [],
+      // 部门数据
+      deptList: [],
+      // 地点数据
+      placeList: [],
       // 弹出层标题
       title: "",
       // 是否显示弹出层
@@ -423,9 +441,32 @@ export default {
     };
   },
   created() {
-    this.getList();
+    this.initData();
   },
   methods: {
+    /** 初始化数据 */
+    initData() {
+      this.loading = true;
+      const promice = Promise.all([listAsset(this.queryParams), allCategory(), treeselect(), allPlace()])
+      promice.then(([response, response2, response3, response4]) => {
+        this.assetList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+        this.assetCategoryList = response2.data
+        this.deptList = response3.data
+        this.placeList = response4.data
+      })
+    },
+    /** 获取资产分类 */
+    getAssetCategory(number) {
+      let value = ''
+      this.assetCategoryList.forEach(category => {
+        if (category.number === number) {
+          value = `[${number}]${category.name}`
+        }
+      });
+      return value
+    },
     /** 查询资产信息列表 */
     getList() {
       this.loading = true;

+ 1 - 1
lab-ui/src/views/asset/borrow/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="88px">
       <el-form-item label="设备条形码" prop="assetBarCode">
         <el-input
           v-model="queryParams.assetBarCode"

+ 1 - 2
lab-ui/src/views/asset/category/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="98px">
       <el-form-item label="资产分类编号" prop="number">
         <el-input
           v-model="queryParams.number"
@@ -71,7 +71,6 @@
 
     <el-table v-loading="loading" :data="categoryList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="编号" align="center" prop="id" />
       <el-table-column label="资产分类编号" align="center" prop="number" />
       <el-table-column label="资产分类名称" align="center" prop="name" />
       <el-table-column label="资产分类备注" align="center" prop="remark" />

+ 1 - 1
lab-ui/src/views/asset/fault/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="88px">
       <el-form-item label="设备条形码" prop="assetBarCode">
         <el-input
           v-model="queryParams.assetBarCode"

+ 1 - 1
lab-ui/src/views/asset/record/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="108px">
       <el-form-item label="设备条形码" prop="assetBarCode">
         <el-input
           v-model="queryParams.assetBarCode"